KR20010020876A - 음성 제어 디바이스의 활성화를 강화시키는 방법 및 장치 - Google Patents

음성 제어 디바이스의 활성화를 강화시키는 방법 및 장치 Download PDF

Info

Publication number
KR20010020876A
KR20010020876A KR1020000027292A KR20000027292A KR20010020876A KR 20010020876 A KR20010020876 A KR 20010020876A KR 1020000027292 A KR1020000027292 A KR 1020000027292A KR 20000027292 A KR20000027292 A KR 20000027292A KR 20010020876 A KR20010020876 A KR 20010020876A
Authority
KR
South Korea
Prior art keywords
voice control
control device
voice
command
user
Prior art date
Application number
KR1020000027292A
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
Application filed by 팔머 카알 알., 인퍼메이션 스토리지 디바이스 인코퍼레이티드 filed Critical 팔머 카알 알.
Publication of KR20010020876A publication Critical patent/KR20010020876A/ko

Links

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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • 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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

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)
  • Telephonic Communication Services (AREA)
  • Selective Calling Equipment (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

인식 정확도를 향상시키기 위해 음성 제어 전자 디바이스를 활성화시키는 방법. 이 방법은 통신 환경에서 한 주기의 관련 사일런스, 음성 제어 디바이스와 연관된 명칭의 통신, 및 커맨드의 제공을 포함한다. 만약 음성 인식 엔진에 의해 어떤 것도 인식되지 않으면, 음성 제어 디바이스는 활성화되지 않는다. 음성 제어 디바이스는 통신 환경 중의 한 주기의 관련 사일런스, 음성 제어 디바이스와 연관된 명칭의 통신, 및 커맨드를 인식하는 것에 따라 활성화하기 위한 소프트웨어를 포함한다.

Description

음성 제어 디바이스의 활성화를 강화시키는 방법 및 장치{METHOD AND APPARATUS FOR ENHANCING ACTIVATION OF VOICE CONTROLLED DEVICES}
본 발명은 일반적으로 장치 인터페이스에 관한 것이다. 더 상세하게, 본 발명은 디바이스용 음성 유저 인터페이스에 관한 것이다.
컴퓨터용 그래픽 유저 인터페이스(GUIs)는 공지되어 있다. GUIs는 인간이 컴퓨터와 상호작용할 수 있는 직관적이고 견실한 방법을 제공한다. 일반적으로, 일단 특정 GUI를 사용하는 방법을 배운다면, 동일한 또는 유사한 GUI를 사용하여 동작하는 임의의 컴퓨터 또는 디바이스를 동작시킬 수 있다. 인기있는 GUIs의 예로는 애플사의 MAC OS 및 마이크로소프트사의 MS 윈도우가 있다. GUIs는 현재 다른 디바이스에 포트되고 있다. 예를 들면, MS 윈도우 GUI는 많은 상이한 디바이스 산이에 공통적인 GUI가 존재하도록 컴퓨터로부터 팜톱, 개인 오거나이저, 및 기타 디바이스에 포트된다. 그러나, 명칭이 내포하는 바와 같이, GUIs는 적어도 몇 종류의 비주얼 또는 그래픽 디스플레이와 키보드, 마우스, 터치 패드 또는 터치 스크린같은입력 디바이스를 요구한다. 디스플레이 및 입력 디바이스는 디바이스내에 공간을 차지하고 추가 구성요소를 요구하여 디바이스의 비용을 증가시키는 경향이 있다. 따라서, 비용을 절약하기 위해 디바이스에서 디스플레이 및 입력 디바이스를 제거하는 것이 바람직하다.
최근에, 디바이스를 제어하기 위한 음성 인식 방법을 사용하는 음성 유저 인터페이스(VUIs)가 소개되었다. 그러나, 이 종래 VUIs는 모든 디바이스에서 범용적으로 사용되는 것을 금지하는 많은 단점을 가지고 있다. 종래의 VUIs는 일반적으로 사용하기가 어렵다. 종래의 VUIs는 일반적으로 LCD같은 몇종류의 디스플레이 디바이스를 요구하거나, 또는 키패드 또는 버튼같은 수동 입력 디바이스를 요구하거나 또는 디스플레이와 수동 입력 디바이스 모두를 요구한다. 부가적으로, 종래의 VUIs는 일반적으로 소유권이 있기 때문에 사용하는데 있어 단일 메이크 또는 모델의 하드웨어 디바이스 또는 단일 유형의 소프트웨어 애플리케이션으로 제한된다. 이것들은 컴퓨터 운영체제와는 다르게 폭넓게 이용가능하지 않고, 따라서 소프트웨어 프로그래머는 다양한 디바이스 유형에 VUI로 동작하는 애플리케이션을 프로그래밍할 수 없다. 종래의 VUIs와 관련된 커맨드는 일반적으로 단일 유형의 디바이스 또는 소프트웨어 애플리케이션에 대하여 제작된다. 종래의 VUIs는 일반적으로 개성화 및 보안을 조절하는 방법과 같이 많은 유저를 지원하는데 추가적인 제한을 갖는다. 더우기, 종래의 VUIs는 유저가 미리 디바이스의 존재를 인식할 것을 요구한다. 종래의 VUIs는 디바이스의 존재를 결정하는 방법이 제공되지 않는다. 부가적으로, 종래의 VUIs는 일반적으로 유저가 인스트럭션 매뉴얼 또는 스크린에 디스플레이된 커맨드를 읽도록하여 VUIs를 사용하는데 있어서 교육을 받도록 한다. 종래의 VUIs는 통상적으로 유저가 커맨드를 배우는 유저를 위한 가청 방법을 포함하지 않는다. 더우기, 유저는 표준화의 미비에 기인하여 많은 음성 제어 디바이스를 사용할 때는 많은 종래의 VUIs의 사용방법을 배울것을 요구받을 수 있다.
일반적으로, VUIs에 의해 제어된 디바이스는 기능에 있어서 몇 종류의 수동 제어를 계속하여 요구한다. 몇개의 수동 제어가 요구됨에 따라, 버튼, 키패드 또는 한 세트의 버튼 또는 키패드같은 수동 입력 디바이스가 제공된다. 적당한 수동 기입을 확실히하기 위해, LCD, LED같은 디스플레이 디바이스 또는 기타 그래픽 디스플레이 디바이스가 제공된다. 예를 들면, 많은 음성 활성화 전화는 전화 번호를 수동으로 저장하는 것을 요구한다. 이 경우에 숫자 키패드가 수동 기입을 위해 일반적으로 제공된다. LCD가 일반적으로 포함되어 적당한 수동 기입을 확인하고 디바이스의 상태를 디스플레이한다. 음성 합성 또는 음성 피드백 시스템이 이 디바이스에서 없을 수 있다. 추가적인 버튼 및 디스플레이 디바이스는 디바이스의 제조비용을 증가시킨다. 비용을 감소시키기 위해 디바이스에서 모든 수동 입력 및 디스플레이를 제거할 수 있는 것이 바람직하다. 더우기, 특정 버튼 또는 디스플레이를 요구하지 않고 원격으로 디바이스를 제어하는 것이 더 편리하다.
이전에, 소수에 의해 디바이스가 사용되었다. 부가적으로 이것은 음성을 국소적으로 듣도록 근접 필드 마이크로폰에 사용되었다. 많은 종래의 디바이스는 몇가지 방법으로 고정되었거나 또는 쉽사리 휴대할 수 없거나 서버에 근거한 시스템이었다. 포터블 디바이스에 음성 제어 능력을 제공하는 것이 바람직하다. 음성 제어 디바이스에 근접 필드 또는 원거리 필드 마이크로폰 기술을 제공하는 것이 바람직하다. 더 많은 디바이스에 포함될 수 있도록 저 비용 음성 제어 능력을 제공하는 것이 바람직하다. 그러나, 이러한 요구는 많은 음성 제어 디바이스의 많은 유저가 동일 지역에 있을때 문제를 일으킨다. 많은 유저와 많은 음성 제어 디바이스가 서로 가청 범위내에 있음에 따라, 음성 제어 디바이스는 어떤 유저가 커맨드를 수용하고 응답하는지를 식별하기가 어려워진다. 예를 들면, 많은 유저의 환경에 있는 한명의 유저가 가정으로 호출하고자 하는 음성 제어 셀 전화의 경우를 고려해보자. 유저는 음성 활성화 호출 가정 커맨드를 발행한다. 보다 많은 하나의 음성 제어 셀 전화가 호출 가정 커맨드를 들릴만큼 듣는다면, 많은 음성 제어 셀 전화는 응답할 수 있고 가정 전화 번호를 다이얼링하기 시작한다. 이전에 이것은 음성 제어 디바이스가 거의 없었기 때문에 심각한 문제가 아니었다.
몇몇의 음성 제어 디바이스가 화자(speaker)에 의존한다. 화자에 의존하는 것은 유저가 사용하기 전에 특정 유저에 의해 트레이닝을 요구하는 음성 제어 디바이스를 말한다. 화자 의존 음성 제어 디바이스는 어구가 어떻게 말하여지는가에 있어서 음질을 경청한다. 화자 의존 음성 제어 디바이스는 많은 유저 또는 화자가 음성 제어 디바이스를 사용하는 것이 요구되는 애플리케이션에 그 자체가 적합하지 않다. 이것은 유저로부터 트레닝되지 않은 음성을 효율적으로 인식하는데 실패하기 때문이다. 화자 의존 음성 제어 디바이스를 임의의 유저로부터 음성을 인식하기 위해 트레이닝을 거의 또는 전혀요구하지 않는 VUI에 제공하는 것이 바람직하다.
고도로 정확한 음성 인식을 달성하기 위해 음성 제어 디바이스로 직접 지시되지 않은 음성에 음성 제어 디바이스가 응답을 피하는 것이 중요하다. 즉, 음성 제어 디바이스는 이면에서의 대화, 잡음, 또는 기타 음성 제어 디바이스로의 커맨드에 응답하지 않아야 한다. 그러나, 이면 사운드를 필터링 제거하는 것은 효과적이지 못해 음성 제어 디바이스로 직접 지시된 음성 인식을 또한 방해한다. 이면 사운드의 제거와 음성 제어 디바이스로 직접 지시된 음성 인식의 적당한 혼합을 찾는 것이 화자-의존 시스템에서 특히 도전적이다. 화자-독립 시스템에서, 음성 제어 디바이스는 광범위에 걸쳐 응답할 수 있어야 하며, 따라서 이면 사운드용의 높은 저항 필터를 사용할 수 없다. 대조적으로, 화자-의존 시스템은 단지 특정 사람의 음성을 경청하는 것을 필요로 하며, 따라서 이면 사운드용으로 더 엄격한 필터를 채용할 수 있다. 화자 의존 시스템에서의 이러한 이점에도 불구하고, 이면 사운드를 필터링 제거하는 것은 여전히 중요한 도전이다.
종래의 시스템에서, 이면 대화는 음성 인식을 활성화하기 위해 유저가 물리적으로 버튼을 누르게함으로서 필터링 제거되었다. 이러한 접근의 불리한 점은 유저가 완전히 음성에 의한다기보다는 오히려 물리적으로 음성 제어 디바이스와 상호작용하는 것을 요구한다는 점이다. 음성 제어 디바이스의 잠재적인 이점중의 하나는 진정한 핸즈프리 동작의 가망성을 제공한다는 점이다. 음성 인식을 활성화하기 위해 버튼을 누를 필요성을 제거하는 것은 핸즈프리 목적을 달성하게 하는 지루한 방법이 될 것이다.
부가적으로, 많은 사람들이 대화하고 있는 장소에서, 음성 제어 디바이스는 그것에 직접 지시되지 않는다면 모든 음성을 무시해야 한다. 예를 들면, 한 사람이 다른 사람에게 "I'll call John"하고 말한다면, 그의 포켓에 있는 셀 전화기는 커맨드로서 "call John"을 인식해서는 안된다. 만일 한 위치에 많은 음성 제어 디바이스가 있다면, 유저가 어떤 음성 제어 디바이스를 제어하는 것인가를 유일하게 식별하는 것이 중요하다. 예를 들면, 각 사람들에 대해 하나씩의 많은 음성 제어 전화 - 아마도 한 쌍의 데스크탑 전화와 많은 셀 전화가 있는 방을 고려해보자. 누군가가 "call 555-1212"라고 말한다면, 각 전화는 어떤 커맨드를 무시하는 수단이 없다면 전화를 걸려고 시도할 것이다. 음성 제어 디바이스가 많은 유저에 의해 제어되는 경우에, 음성 제어 디바이스가 어떤 유저가 그것을 커맨드하는지를 아는 것이 바람직하다. 예를 들면, 집에 있는 음성 제어 데스크탑 전화는 남편, 아내 및 아이에 의해 사용될 수 있다. 각각은 종종 전화하는 번호의 자신의 폰북을 가질수 있다. 음성 제어 디바이스에 "Call mother"라고 말했을 때, 올바른 사람(즉, 남편의 어머니, 아내의 어머니, 또는 직장에 있는 아이의 어머니)에게 전화할 수 있도록 어떤 유저가 커맨드를 말했는지 아는 것이 필요하다. 부가적으로, 많은 유저가 사용하는 음성 제어 디바이스는 인증받지 않은 사용으로부터 보호하거나 또는 다른사람들에 의해 무심코한 또는 악의로 한 상호행동(세팅에의 추가, 스누핑, 변경, 삭제)으로부터 유저의 개인 세팅을 보호하기 위한 강제적인 보안 방법을 필요로 한다. 더우기, 많은 음성 제어 디바이스가 있는 위치에서, 음성 제어 디바이스의 존재를 식별하기 위한 방법이 있어야 한다. 예를 들면, 새로운 호텔 방에 도착하는 여행자를 고려해보자. 호텔방에 들어서자마자, 여행자는 어떤 음성 제어 디바이스가 있고 어떻게 제어하는지를 알고 싶어한다. 식별 과정이 표준화되어 모든 음성 제어 디바이스가 동일한 방법으로 식별되도록 하는 것이 바람직하다.
음성 제어 디바이스에서, 음성 제어용으로 어구를 저장하는 것이 바람직하다. 어구는 단일 워드로서 정의되거나 또는 유닛으로서 처리된 워드의 한 그룹이다. 이것을 저장하는 것은 옵션을 세팅해야하거나 개인 세팅을 발생하는 것이다. 예를 들면, 음성 제어 전화기에서, 음성 제어용으로 개인 폰북에 전화 번호와 사람들의 명칭을 저장하는 것이 바람직하다. 나중에, 이 폰북은 명칭을 말함으로서(예를 들면, "Cellphone call John Smith", 또는 "Cellphone call Mother") 사람들에 전화를 거는데 사용될 수 있다.
어구("John Smith")을 저장하기 위한 종래의 접근은 실제 사운드를 보존하기 위해 시도하는 변형된 방법, 압축, 또는 압축해제로 어구를 저장함으로써 동작하였다. 커맨드에 있는 어구의 검출(즉, 상기 예에서 John이 호출된다는 것의 검출)은 다음에 저장될 오리지날 음성 사운드와 말해진 사운드와의 사이에 사운드에 기초한 비교에 의존한다. 때때로 저장된 파형은 주파수 도메인으로 변형되고/또는 정합을 용이하게 하기 위해 시간 조정되지만, 어떤 경우에도 수행되는 기본 동작은 실제 사운드를 비교하는 것이다. 저장된 사운드를 표현하고 검출하기 위해 비교하는 것은 많은 불리한점으로 인해 고생을 한다. 화자의 음성이 아마도 감기, 스트레스, 피로, 전화에 의한 왜곡 연결 또는 잡음, 또는 기타 인자들에 기인하여 변한다면, 비교는 전형적으로 성공적이지 못하고 저장된 어구가 인식되지 않는다. 어구가 사운드 표시로서 저장되어 있기 때문에, 어구의 텍스트 기초 표시를 추출할 방법이 없다. 부가적으로, 사운드 표현을 저장하는 것은 결과적으로 화자 의존 시스템의 결과이다. 다른 사람이 커맨드에서 동일한 사운드를 사용하여 동일한 어구를 말하여서 정확하게 인식시킬 수 없을 것 같다. 예를 들면, 비서가 폰북에 엔트리를 저장하고 관리자가 그 엔트리를 사용하여 전화한다는 것은 신뢰성이 없다. 화자 독립 저장 수단을 제공하는 것이 바람직하다. 부가적으로, 어구가 사운드 표현으로서 저장된다면, 저장된 어구는 동일한 파형 처리 알고리즘이 음성 제어 디바이스 모두에 의해 사용되지 않는다면 또 다른 음성 제어 디바이스에 사용될 수 없다. 말한 어구를 인식하고 그것을 표현으로 저장하여, 일단 저장되면, 어구가 화자 의존 인식용으로 사용되고 많은 음성 제어 디바이스에 의해 사용될 수 있도록 하는 것이 바람직하다.
현재 컴퓨터 및 기타 디바이스는 모뎀, 적외선 또는 무선 고주파 전송을 사용하여 커맨드와 데이터를 기타 컴퓨터 또는 디바이스와 통신한다. 전송된 커맨드 및/또는 데이터는 일반적으로 단지 컴퓨터 또는 디바이스가 이해할 수 있는 디지털 형태이다. 인간 유저가 커맨드 또는 데이터를 이해하기 위해 컴퓨터에 의해 디코딩되어야하고 다음에 디스플레이상에 넘버 또는 ASCII 텍스트와 같은 여러종류의 포맷으로 디스플레이된다. 커맨드 및/또는 데이터가 전송될 때 이것들은 일반적으로 컴퓨터 또는 디바이스 또는 전송 장치에 의해 인식되는 몇개의 디지털 포맷으로 인코딩된다. 음성 제어 디바이스가 더 보급됨에 따라, 음성 제어 디바이스들간의 통신용 추가 회로 제공을 피하기 위해 음성 제어 디바이스가 인간형 음성을 사용하여 서로 통신하는 것이 바람직할 것이다. 많은 음성 제어 디바이스가 인간 유저 개입없이 기계 대 기계로 정보를 변경하게 하는 것이 더 바람직할 것이다.
본 발명은 청구범위에서 설명되는 바와 같이 방법, 장치 및 시스템을 포함한다. 간단히, 표준 음성 커맨드를 사용함으로써 다양한 디바이스를 제어하기 위한 표준 음성 유저 인터페이스가 제공된다. 표준 VUI는 한 세트의 표준 VUI 커맨드와 신택스(syntax)를 유저와 음성 제어 디바이스간의 인터페이스에 제공한다. 표준 VUI 커맨드는 음성 제어 디바이스가 환경에서 이용가능한지를 결정하기 위해 식별 어구를 포함한다. 음성 제어 디바이스의 명칭을 결정하고 변경하는 기타 표준 VUI 커맨드를 제공한다.
음성 제어 디바이스가 개시된다. 본 명세서에서의 음성 제어 디바이스는 음성에 의해 제어되는 디바이스로서 정의되는데, 이것은 가청일 수도 있고, 비가청일 수도 있다. 음성 제어 디바이스는 또한 여기에서 어플라이언스, 기계, 음성 제어 어플라이언스, 음성 제어 전자 디바이스, 명칭 활성화 전자 디바이스, 음성 제어 디바이스, 음성 활성화 전자 어플라이언스, 음성 활성화 어플라이언스, 음성 제어 전자 디바이스, 또는 자가 식별 음성 제어 전자 디바이스로서 언급될 수 있다.
음성 제어 디바이스의 기능에 대한 액세스를 얻기 위해, 유저는 음성 제어 디바이스에 한주기의 관련 사일런스 후에 그것과 관련된 어플라이언스 명칭중의 하나를 통신한다. 어플라이언스 명칭은 디폴트 명칭 또는 유저 할당가능 명칭일 수 있다. 음성 제어 디바이스는 각 유저에게 개인 기능을 제공하기 위하여 그것과 관련된 복수의 유저 할당가능 명칭을 가질수 있다.
본 발명의 기타 태양이 상세한 설명에서 설명된다.
본 출원은, 본 명세서에서 충분하고 완전하게 개시되어 있는 것과 동일한 효과를 가지고 있고, "ISD-SR 300, Embedded Speech Recognition Processor"이고 인퍼메이션 스토리지 디바이스 인코퍼레이티드에서 제작한 마이크로 피스 브록을 참고자료로서 포함하고 있으며, 이 마이크로 피시는 본 명세서에는 인쇄되어 있지 않다.
도 1a는 본 발명의 음성 제어 디바이스를 포함하는 환경을 도시하는 도면이다.
도 1b는 도 1a에 설명된 환경에 있는 음성 제어 디바이스와의 원격 통신을 도시하는 도면이다.
도 2는 예시적으로 음성 제어 디바이스를 설명하는 도면이다.
도 3은 본 발명의 음성 제어 디바이스의 상세 블록도이다.
도 4는 음성 통신 칩의 상세 블록도이다.
도 5는 본 발명의 표준 음성 유저 인터페이스의 블록도이다.
도 6a-6c는 본 발명의 표준 음성 유저 인터페이스용 핵심 커맨드 구조의 흐름도이다.
도 6d-6e는 본 발명의 표준 음성 유저 인터페이스용 전화 커맨드 구조의 흐름도이다.
도 7은 본 발명의 표준 음성 유저 인터페이스용 "Store Name" 전화 커맨드 구조의 흐름도이다.
도 8은 본 발명의 표준 음성 유저 인터페이스용 "Delete Name" 전화 커맨드 구조의 흐름도이다.
도 9a-9b는 본 발명의 표준 음성 유저 인터페이스용 "GETYESNO" 기능의 흐름도이다.
도 10a-10c는 본 발명의 표준 음성 유저 인터페이스용 "GETRESPONSE" 기능의 흐름도이다.
도 11은 본 발명의 표준 음성 유저 인터페이스용 "GETRESPONSEPLUS" 기능의 흐름도이다.
도 12는 본 발명의 표준 음성 유저 인터페이스용 "LISTANDSELECT" 기능의 흐름도이다.
도 13은 본 발명의 표준 음성 유저 인터페이스를 사용하여 통신하는 한 쌍의 음성 제어 디바이스의 블록도이다.
도면에서의 유사한 참조 숫자와 지정은 유사한 기능을 제공하는 요소에 동일하게 사용된다.
이어지는 본 발명의 상세한 설명에서, 본 발명의 철저한 이해를 제공하기 위해 많은 특정 상세가 설명된다. 그러나, 본 발명이 이러한 특정 상세없이 실행될 수 있다는 것이 당업자에게는 자명할 것이다. 본 발명의 태양을 불필요하게 모호하게 하지 않게 하기 위하여 기타 예에서 공지된 방법, 과정, 구성요소, 및 회로는 상세하게 설명되지 않는다.
본 발명은 표준 음성 유저 인터페이스와 음성 제어 디바이스용 방법, 장치, 및 시스템을 포함한다. 간단하게, 표준 음성 유저 인터페이스는 표준 음성 커맨드를 사용함으로써 다양한 디바이스 제어에 제공된다. 표준 VUI는 한 세트의 코어 VUI 커맨드와 신택스를 유저와 음성 제어 디바이스간 인터페이스에 제공한다. 코어 VUI 커맨드는 음성 제어 디바이스가 환경에서 이용가능한지를 결정하기 위해 식별 어구를 포함한다. 음성 제어 디바이스의 명칭을 결정하고 변경하기 위해 기타 코어 VUI 커맨드를 제공한다.
음성 제어 디바이스가 개시된다. 여기에서 음성 제어 디바이스는 음성에 의해 제어되고 가청 또는 비가청인 임의의 디바이스로서 정의된다. 가청 또는 비가청은 나중에 정의된다. 음성 제어 디바이스는 또한 어플라이언스, 기계, 음성 제어 어플라이언스, 음성 제어 전자 디바이스, 명칭 활성화 전자 디바이스, 음성 제어 디바이스, 음성 활성화 전자 어플라이언스, 음성 활성화 어플라이언스, 음성 제어 전자 디바이스, 또는 자가 식별 음성 제어 전자 디바이스로서 언급될 수 있다.
본 발명은 가청 및 비가청의 음성에 의해 제어되고 그것을 사용하여 통신한다. 본 명세서에서 정의된 바와 같이 본 발명에 대한 음성은 a) 만일 신호 또는 정보가 적당한 디바이스를 통과하여 대기압에서의 변화로 변환된다면, 그 신호 또는 정보는 인간이 들을 수 있고 언어로서 간주될 수 있는 것과 같은 신호 또는 정보, 그리고 b) 만일 인간이 신호를 듣는다면, 인간이 그 신호를 언어로 간주할 수 있는, 대기압에서의 실제 변화를 포함하는 신호 또는 정보를 포함한다. 가청 음성은 인간이 도움없이 들을수 있는 음성을 말한다. 비가청 음성은 들을수 있는 음성의 정의를 포함하지 않으며 인간의 가청범위 밖과 공기와는 다른 전달매체로 통신될 수 있는 것을 포함하는 음성의 임의의 인코딩 또는 표현을 말한다. 음성의 정의는 음성으로부터 방사되고 기계로부터 방사된 음성을 포함(기계 음성 합성, 프롬프트와 같은 이전에 기록된 인간 음성의 재생, 또는 기타 형태를 포함)한다.
유저에 의해 통신되는 어구과 음성 디바이스에 의해 통신되는 프롬프트는 언어 또는 영어와 다른 특수언어 또는 많은 언어의 조합일 수 있다. 여기에서 어구는 단일 워드로서 또는 유닛으로서 처리된 워드의 그룹으로 정의된다. 여기에서 정의되는 바와 같이, 유저는 음성 활성화 디바이스를 포함하는 디바이스 또는 인간이다. 그러므로 "유저가 구술한 어구", "유저의 커맨드 발행", 및 유저에 의한 모든 기타 액션은 디바이스에 의하고 인간에 의한 액션을 포함한다.
음성 제어 디바이스는 음성에 의해 제어되기 위해 몇 종류의 음성 인식을 포함한다. 음성 인식과 소리 인식은 동일하게 사용되고 동일한 뜻을 같는다. 바람직하게, 화자 독립 음성 인식 시스템은 소리 제어 디바이스의 음성 인식 능력을 제공하기 위해 사용된다. 화자 독립 음성 인식 시스템은 음성의 화자 독립 표현에 응답한다. 바람직한 실시예에서, 음성의 화자 독립 표현은 음성의 음성 표현이다. 그러나, 다른 음성의 화자 의존 표현이 본 발명에 따라 또한 사용될 수 있다.
본 발명으로 소리 제어 디바이스의 완전한 기능에 대한 액세스를 얻기위해, 유저는 소리 제어 디바이스에 그것과 관련된 어플라이언스 명칭중의 하나를 통신해야 한다. 어플라이언스 명칭은 하나 이상의 디폴트 명칭 또는 하나 이상의 유저 할당가능 명칭을 포함할 수 있다. 소리 제어 디바이스는 각 유저에게 개인화된 기능을 제공하기 위해 그것과 관련된 복수의 유저 할당가능 명칭을 갖는다.
부가적으로, 본 발명은 음성 제어 디바이스에 직접 지시되지 않은 음성 또는 이면 잡음에 의해 잘못 트리거 되게하지 않고 진행중인 대화(국부 대화 또는 전화링크상의 대화 포함) 내내 음성 인식 엔진을 남겨놓기 위한 방법을 제공한다. 이것을 달성하기 위해, 본 발명은 본 발명의 표준 VUI에 의해 제공된 음성 제어 디바이스용 명명 스킴을 사용한다. 일반적으로, 음성 제어 디바이스가 그것의 어플라이언스 명칭에 의해 주소지정되지 않는다면, 모든 음성을 무시할 것이다. (다음에 논의될 이 규칙에는 한 쌍의 특정한 예외가 존재한다.) 어떤 경우에 커맨드를 인식하는 기준은 유저에 할당된 어플라이언스 명칭에 의해 주소지정될 음성 제어 디바이스를 요구하면서 더 타이트해질 수 있다. 음성 제어 디바이스는 많은 유저를 가지고, 유저 각각은 본 발명의 표준 VUI의 커맨드를 사용하는 유일한 어플라이언스 명칭을 음성 제어 디바이스에 할당한다. 음성 제어 디바이스가 유저에 할당된 명칭중의 하나에 의해 주소지정될 때, 음성 제어 디바이스는 주소지정된 것과 어떤 유저가 그것을 주소지정하는지 모두를 결정할 수 있다. 이것은 음성 제어 디바이스가 특정 유저에 대한 개인화된 세팅을 사용하게 한다. 예를 들면, 음성 활성화 전화는 네개의 상이한 유저에 할당된 명칭(예를 들면, Aardvark, Platypus, Socrates, 및 Zeus)을 가지며, 각 유저는 어머니에 대한 폰북 엔트리와 관련된 상이한 전화번호를 가질수 있다. 제 1 유저가 "Aardvark call mother"라고 말할 때, 제 1 유저의 어머니가 호출된다. 제 2 유저가 "Platypus Call Mother"라고 말할 때, 제 2 유저의 어머니가 호출된다. 커맨드 "Geronimo call Mother"는 이 음성 제어 디바이스에 의해 활동화되지 않는데, 왜냐하면 Geronimo가 그것의 어플라이언스 명칭중의 하나가 아니기 때문이다.
본 발명의 또 다른 태양은 음성 제어 디바이스의 인식 정확도를 향상시킨다. 본 발명은 음성 제어 디바이스에 직접 지시된 어구에 앞서 제 1 주기의 관련 사일런스, 제 2의 어플라이언스 명칭, 및 제 3의 유효 커맨드를 요구함으로써 전체적으로 인식 정확도를 향상시킨다. 완전한 사일런스가 반드시 필요한 것은 아니지만 관련 사일런스는 필요하며, 여기에서 관련 사일런스는 어구가 말하여지는 동안의 사운드 레벨보다 더 조용한 사운드 레벨로서 정의된다. 요구되는 특정 주기의 관련 사일런스, 그리고 관련 사일런스와 음성 제어 디바이스에 직접 지시된 말해진 어구의 사운드 강도 사이에 허가된 데시벨의 차이는 구축되는 음성 제어 디바이스의 타입, 그것의 의도된 동작 환경, 사용된 음성 인식 시스템의 능력, 및 기타 인자들에 의존한다. 몇몇의 경우에, 요구되는 관련 사일런스의 데시벨 차이 및/또는 듀레이션은 특정 환경에서 얻어진 인식 정확도를 최대화하기 위해 음성 제어 디바이스 또는 관련 회로 또는 소프트웨어에 의해 또한 변경될 수 있다. 표준 VUI에 따라, 각 유저는 음성 제어 디바이스에 유일한 명칭을 할당하거나 또는 디폴트 어플라이언스 명칭을 사용할 수 있다. 음성 제어 디바이스에 어플라이언스 명칭을 통신한 후에, 커맨드가 말해져야 한다. 이 포인트에서 유효 입력은 "Help" 또는 "Cancel" 같은 특정 어구를 포함하며, 이것은 표준 VUI 문법의 부분이다. 유효 커맨드가 인식되지 않는다면, 음성 제어 디바이스는 전체의 시퀀스를 거절하고 사일런스를 위해 기다리는 상태 즉, 다음 커맨드를 대기하는 상태로 복귀한다. 부가적으로, 커맨드에 의존하면서, 전형적으로 커맨드에 수식어구를 나타내는 하나 이상의 추가 어구가 제공되거나 또는 요구된다(예를 들면, 커맨드 시퀀스에서의 전화번호 "<silence> Call 555-1212"). 이 포인트에서 유효 어구는 또한 "Help" 또는 "Cancel" 같은 특정 어구를 포함하며, 표준 VUI 문법의 부분이다. 짧은 주기 시간내의 커맨드후에 유효 어구 검출 실패가 전체 커맨드 시퀀스를 거절하거나 또는 의도를 분명히 하기 위해 유저를 프롬프트하는 기초로서 사용될 수 있다. 어떤 방법이든, 이것은 정확도 검사의 추가 레벨로 작용한다. 대안으로, 어구가 커맨드후의 짧은 주기 시간동안 검출되는 것이 실패한다면, 커맨드가 어떻게든 수행될 수 있다.
음성 제어 디바이스는 비주얼 식별 또는 음향 식별 또는 모두에 의해 식별될 수 있다. 음향 식별은 음성 제어 디바이스와의 가청 및 비가청인 통신 모두를 포함하는 것으로서 정의된다. 가청 및 비가청 통신은 명세서의 다른 곳에서도 정의된다. 비주얼 식별은 표준 로고 또는 기타 비주얼 식별자를 통해 발생할 수 있다. 깜박이는 LED가 비주얼 식별자의 또 다른 예이다. 비주얼 식별은 특히 항상 턴온되어 있는 음성 인식 엔진을 갖고 있지 않은 음성 제어 디바이스에 적당하다. 예를 들면, 배터리 소모를 최소화하기 위해, 배터리로 동작되는 음성 제어 디바이스는 유저가 음성 인식 엔진을 활성화하기 위해서는 스위치(또는 등가적으로 플립형 셀전화의 플립 개방)를 누르도록 요구한다. 음향 식별은 단지 인식가능 커맨드를 경청하는 음성 제어 디바이스에 유효하다. 음향 식별은 유저가 식별어구를 말함으로서 이루어진다. 식별어구의 예로는 "What is out there?"가 있다. 음성 제어 디바이스는 하나 이상의 식별어구를 가질수 있다. 식별어구를 듣는 임의의 음성 제어 디바이스는 그것의 존재를 식별하기 위해 응답한다. 표준 VUI에 따라, 응답은 2초의 사일런스까지의 임의 지연에 뒤따르는 표준 신호(예를 들면, 하나 이상의 음조 또는 경적 또는 기타 소리), 다음에 음성 제어 디바이스의 어플라이언스 명칭들 중의 적어도 하나, 및 임의의 적용가능 기본 동작 커맨드(예를 들면, "<beep> I am Telephone. You can say Telephone help.")이다. 동일한 통신환경에 있는 많은 음성 제어 디바이스로부터의 응답을 조화시키기 위해, 각 음성 제어 디바이스는 사일런스 주기동안 다른 음성 제어 디바이스의 응답, 표준 신호에 의해 마크된 시작을 경청해야한다. 기타 음성 제어 디바이스의 표준 신호의 검출은 음성 인식 시스템, DSP, 마이크로프로세서를 포함하는 편리한 임의의 수단에 의해 이루어질 수 있다. 이 사일런스 주기동안 응답하는 또 다른 음성 제어 디바이스 시작의 경우에, 경청하는 음성 제어 디바이스는 응답하는 음성 제어 디바이스가 종료한 후에 사일런스 타이밍을 재시작해야 한다. 대략 동시에 응답한는 두개의 음성 제어 디바이스 시작의 경우에(예를 들면, 이것들은 시간에 오버랩된 표준신호이다), 그것들 모두 임의적으로 새롭게 선택된 유휴 지연동안 백오프해야 하지만 이 지연 시간은 이전 유휴 지연 길이의 두배까지 되어야 하지만 16초를 초과해서는 안된다.
음성 제어 디바이스가 식별어구에 응답하는 것을 제한하기 위해, 유저는 식별어구에 음성 제어 디바이스의 명칭을 포함할 수 있다. 예를 들면, Socrates라고 명명된 음성 제어 디바이스가 가까이 있는지를 알아보기 위해 "Socrates are you out there?"라고 말할 수 있다. 유사하게, Clock(디폴트 어플라이언스 명칭 또는 유저 어플라이언스 명칭)이라는 어플라이언스 명칭을 갖는 모든 음성 제어 디바이스가 응답하게 하는 "Clock are you out there"라고 말할 수 있다. 가능한 변경은 음성 제어 디바이스가 예를 들면 명칭이 보안상 이유로 필요로 되는 경우 외에는 어떤 응답과 관련하여 응답할 수 있다는 점이다.
음성 제어 디바이스는 비주얼 및 음향 식별 방법 모두를 사용할 수 있다. 예를 들면, 음성 인식 엔진이 연속적으로 온상태 일지라도, 여전히 비주얼 로고 및/또는 기타 비주얼 식별자를 디스플레이할 수 있다. 유사하게, 음성 엔지의 수동 활성화를 요구하는 음성 제어 디바이스에서, 일단 인에이블되면, 엔진은 다음에 커맨드 "What is out there?"에 응답한다.
본 발명의 또 다른 태양에서, 유저의 언급한 어구의 초기 저장(예를 들면, 음성 제어하에 새로운 폰북 엔트리를 만들때)은 화자 독립 음성 제어 디바이스의 음성 인식 엔진에 의해 처리된다. 이 엔진은 어구의 화자 독립 음성 표현에 회답한다. 이 화자 독립 음성 표현이 저장되는 것이다.
커맨드가 유저에 의해 발행될 때, 본 발명의 화자 독립 음성 인식 엔진에 의해 또한 처리된다. 이것은 오리지날 엔트리를 저장하는 동일한 화자 독립 엔진 사용 또는 완전하게 상이한 화자 독립 엔진일 수 있다. 어떤 경우에든, 엔진은 커맨드 시퀀스의 화자 독립 음성 표현을 회답한다. 이 화자 독립 음성 표현은 커맨드가 인식가능한지를 결정하기 위해 이전에 저장된 음성표현과 비교된다.
저장된 언급 엔트리와 화자 독립 음성 표현에 대한 임의의 커맨드를 변환함으로서 많은 이점이 제공된다.
유저의 음성이 아마도 병, 스트레스, 피로, 전송에 걸친 잡음 또는 전화 링크의 왜곡, 또는 인간 유저 또는 기계 유저의 음성을 변경시킬 수 있는 기타 인자에 기인하여 변경될지라도 인식은 신뢰할 만하다. 텍스트 기반 정보가 저장되고 다음에 인식될 수 있다.
몇몇의 기타 유저가 오리지날 음성 어구를 저장했을지라도 인식은 신뢰할 수 있다.
인식은 유저 저장 커맨드 및 어구에 대하여도 화자 독립일 수 있다.
텍스트로부터 그리고 상이한 화자로부터 발생하는 저장된 엔트리는 모두 결합될 수 있고 신뢰할 수 있게 인식될 수 있다.
화자 독립 음성 표현의 사용은 상기 표현이 이용가능해짐에 따라 향상된 인식 엔진으로 갱신하는 것을 용이하게 한다. 향상된 음성 인식 엔진은 신뢰성을 충돌하지 않거나 또는 재저장을 요구하지 않고 존재하는 저장된 정보를 사용할 수 있는데, 모든 저장된 엔트리가 음성 형태로 유지되어 있기 때문이다. 향상된 음성 인식 엔진을 사용하여 저장된 새로운 정보는 구형 인식 엔진을 장착한 장치에 사용될 수 있다. 구세대와 신세대 장치가 음성 표현을 사용함으로써 종래의 조정없이 상호동작할 수 있다. 예를 들면, 이것은 두개의 PDA가 음성이 저장된 폰북 엔트리를 변경가능하게 하고 신뢰할 만한 인식을 상기 정보의 새로운 유저에게 제공한다. 마지막으로, 동일한 유증적 파형 전송을 정확하게 항상 수행할 수 있어야 하는 파형 저장 기반 시스템과는 다르게 음성 표현을 발생할 수 있는 한 화자 독립 인식 엔진의 추가적인 개발을 제한하거나 또는 유지하기 위한 유증적 제한이 없다.
음성 제어 디바이스
도 1a에서, 환경(100)이 도시된다. 환경(100)은 사무실, 회의실, 호텔방, 또는 음성 제어 디바이스가 위치될 수 있는 임의의 위치와 같은 임의의 통신환경일 수 있다. 환경(100)내에서, 원으로 표현된 많은 인간 유저(101A-101H)가 있다. 환경(100)내에는 또한 정사각형과 직사각형으로 표현된 음성 제어 디바이스(102A-102H)가 있는데, 각각은 동작에 있어서 본 발명의 표준 음성 유저 인터페이스(VUI)로 제어된다. 직사각형으로 표현된 음성 제어 디바이스(102A-102E)는 환경(100)내에 고정되어 있다. 정사각형으로 표현된 음성 제어 디바이스(102F-102H)는 인간 유저(101F-101H)와 관련된 이동하는 음성 제어 디바이스이다. 음성 제어 디바이스(102A-102H)는 현존하거나 또는 미래의 디바이스일 수 있다. 음성 제어 디바이스(102A-102E)는 일반적으로 유저의 자동차, 가정, 사무실, 공장, 호텔 또는인간 유저가 발견될 수 있는 기타 위치와 관련될 수 있다. 대안으로, 음성 제어 디바이스(102A-102E)가 비가청 음성에 의해 제어된다면, 음성 제어 디바이스는 임의의 위치에 위치될 수 있다.
본 발명에서, 표준 VUI를 사용하면 유저는 유저가 할당한 명칭을 이 음성 제어 디바이스(102A-102H)와 연관지울 수 있다. 음성 제어 디바이스의 유저 할당가능 명칭은 전화, 시계, 또는 전등과 같이 일반적일 수 있다. 대안으로, 명칭은 John, Jim, 또는 George와 같이 인간에게 일반적으로 주어진 것과 같이 개인화될 수 있다. 어떤 경우라도, 계속해서 경청하고 있는 동안 음성 제어 디바이스(102A-102H)는 명칭(유저에 할당된 또는 디폴트)중의 하나를 인식할 때까지 커맨드에 응답하지 않을 것이다. 임의의 명칭이 음성 제어 디바이스에 할당될 수 있슴에도 불구하고, 음성 제어 디바이스와 실제 사람과의 사이에 혼동을 최소화하기 위해, 유저는 정상적인 대화동안 사용할 것 같지 않은 Aardvark 또는 Socrates와 같은 일반적이지 않은 명칭을 선택할 수 있다. 도 1a에서, 환경(100)이 인간 유저(101A-101H)가 회의하고 있는 회의실이라고 생각하자. 음성 제어 디바이스(102A)는 회의실(100)에서 스피커폰 능력을 갖는 전화이고 어플라이언스 명칭이 Telephone이라고 가정하자. 101a와 같은 인간 유저가 우선 음성 제어 디바이스에 커맨드를 주고 싶어하기 전에 Telephone이라는 명칭을 호출한다. 음성 제어 디바이스에 명칭을 제공함으로써, 음성 제어 디바이스는 주어진 커맨드에 적절하게 응답할 수 있고 많은 유저와 음성 제어 디바이스간에 혼동을 피할 수 있다. 음성 제어 디바이스는 전화, 오거나이저, 계산기, 전등, 스테레오 시스템, 전자레인지, TV 세트, 세탁기, 드라이기, 난방 시스템, 냉방 시스템 또는 실제적인 임의의 시스템일 수 있다. 음성 제어 디바이스(102A-102H)는 인간 유저(101A-101H)로부터 커맨드와 데이터 입력을 경청하고 커맨드 또는 데이터가 적절하게 표현되고 실행되는 지를 유저를 통보하기 위해 가청 통신 인터페이스(ACI)를 포함할 수 있다. 음성 제어 디바이스(102A-102H)는 음성 인식 및 합성 시스템(SRS)를 추가로 포함한다. SRS의 음성 인식은 어떤 유저가 말하는지에 독립적으로, 그리고 유저가 인간 또는 디바이스인지에 독립적으로 다양한 특수언어로 음성을 해석한다. 본 발명의 바람직한 실시예가 화자 독립 음성 인식 시스템을 이용하는 반면, 본 발명은 화자 의존 음성 인식 시스템과 또한 호환 가능하다. SRS는 하나 이상의 언어로 동작할 것이다. SRS의 음성 합성은 음성 응답, 상태 커맨드, 또는 가청으로 통신된 또는 비가청으로 통신된 음성 제어 디바이스에 의한 데이터의 발생을 제공한다. 여기에서 음성 발생으로 또한 언급된 음성 합성은 제한되지 않지만, 음성 기록, 저장 및 재생 시스템, 재생하기 위한 사전 기록된 어휘 시스템, 문자의 조합으로부터 음성을 발생하는 정교한 음성 합성 시스템, 및 상기의 몇가지의 조합을 포함하는 음성으로 응답하는 임의의 방법을 포함하는 것으로 정의된다. 바람직하게 음성 제어 디바이스는 음성 기록, 저장 및 재생 시스템과 재생으로 사전-기록된 어휘 시스템을 포함한다.
음성 제어 디바이스(102A-102H)는 비가청 음성을 사용하는 무선 또는 유선 수단을 통하여 음성 제어 디바이스의 원격제어를 제공하는 통신 인터페이스(ECI)를 선택적으로 포함한다. 도 1a에 도시된 바와 같이, 음성 제어 디바이스(102A)는 전화 시스템에 접속하기 위한 접속부(105)를 가진다. 이 방법에서, 음성 제어 디바이스(102A)는 유저와 원격적으로 통신하여 커맨드를 수용하고 인식할 수 있다. 도 1b에서, 인간 유저(101I)는 전화회사 스위치(116)를 거치고 유선 또는 무선 전송 매체(114)를 거쳐 전화로 통신한다. 전화회사 스위치(116)는 접속부(105)를 통하여 유선 수단 또는 무선 수단에 의해 음성 제어 디바이스(102A)에 접속된다. 전화(112)는 무선 또는 유선전화일 수 있다. 이 방법에서, 인간 유저(101I)는 통신환경(100)내에서 음성 제어 디바이스(102A)에 원격적으로 인터페이스할 수 있다. 대안으로, 음성 제어 디바이스(102E)와 같은 음성 제어 디바이스는 네트워크를 거쳐 원격 컴퓨터(118)에 의해 원격적으로 제어될 수 있다. 이 경우에, 원격 인간 유저(101J)는 음성 커맨드 또는 인스트럭션을 네트워크 접속(120)과 네트워크 접속(106)를 통하여 음성 제어 디바이스(102E)에 접속된 원격 컴퓨터(118)를 통하여 전송한다. 네트워크 접속(120)은 인터넷같은 컴퓨터 네트워크를 통하여 실시간 또는 저장과 전송하는 무선 또는 유선 접속일 수 있다. 원격지 유저가 제한적이지는 않지만 유무선 접속을 사용하여 음성 제어 디바이스에 접속될 수 있는 다양한 방법이 있다. 유선 접속은 제한적이지는 않지만 전화 시스템과 실시간 인터넷 접속과 같은 실시간 통신 시스템, 음성 표현의 이메일과 기타 비실시간 인터넷 프로토콜과 같은 저장-전송 시스템을 포함할 수 있다. 무선 시스템은 제한적이지는 않지만 무선 및 적외선 시스템을 포함할 수 있다. 임의의 이 대안은 회로 기반 시스템 및 패킷 기반 시스템을 포함할 수 있고, 아날로그 및 디지털 시스템을 포함할 수 있다. 임의의 이 대안은 다양한 변조 및/또는 인코딩 및/또는 암호화 기술로 또는 이것들 없이 사용될 수 있다.
도 2는 예시적 음성 제어 디바이스(102I-102M)가 도시된다. 음성 제어 디바이스(102I)는 냉각기, 냉장고, 세탁기, 드라이기, 에어콘, 난방장치, 전자레인지, 오븐, 및 난로와 같은 가정용 기구의 예이다. 음성 제어 디바이스(102J)는 최적의 통신 인터페이스(ECI)를 요구하는 음성 제어 디바이스의 예이다. 이것은 텔레비젼, 비디오 카세트 레코더, 스테레오, 캠코더, 테잎 레코더, 커맨드장치, 알람시계, 및 시계 라디오같은 소모형 전자제품 뿐만 아니라 표준 유선 전화, 자동 응답 전화기, 등 스위치, 알람 시스템, 계산기, 인터넷 액세스 디바이스, 및 서버등과 같은 전화 제품용 음성 제어 디바이스를 포함한다. 음성 제어 디바이스(102K)는 셀룰러 전화기, 워크맨형 시스템, 캠코더, 및 개인 디지털 시스템과 같은 포터블 또는 무선 시스템의 예이다. 음성 제어 디바이스(102I)는 자동차 셀룰러 전화 시스템, 자동차 라디오 시스템, 자동차 항법 시스템, HAV(난방, 에어컨 및 환기)시스템, 및 자동차용 기타 제어 시스템등과 같은 자동차 음성 제어 시스템의 예이다. 음성 제어 디바이스(102M)는 음성메일 시스템과 같은 원격 제어 디바이스의 예이다.
음성 제어 디바이스(102I)는 가청 통신 인터페이스(ACI;202), 음성 인식 및 합성 시스템(SRS;204), 및 어플라이언스 주변장치 및 제어 회로(APCC;206)를 포함한다. ACI(202)는 SRS(204)에 연결되고 SRS(204)는 APCC(206)에 접속된다. 음성 제어 디바이스(102I)에서, ACI(202)는 음성 통신의 주요 수단이다.
음성 제어 디바이스(102J)는 ACI(202), SRS(204), APCC(206), 통신 인터페이스(ECI;207), 및 접속부(208)를 포함한다. ACI(202)는 SRS(204)에 접속된다. APCC(206)는 SRS(204)에 접속된다. ECI(207)는 SRS(204)에 연결하고 접속부(208)은 ECI(207)에 접속한다. 음성 제어 디바이스(102J)는 ACI(202) 또는 ECI(207)를 통하여 음성 또는 음성 통신 신호를 사용하여 대안적으로 통신할 수 있다. 음성 제어 디바이스(102K)는 ACI(202), SRS(204), APCC(206), 및 안테나(209)를 포함한다.
음성 제어 디바이스(102K)는 ACI(202)를 통하여 가청 음성 신호를 사용하거나 또는 ECI(207)를 통하여 인코딩된 음성 신호를 사용하여 통신할 수 있다. ECI(207)은 APCC(206)에 연결한다. ECI(207)는 또한 접속부(212)에 접속한다. 접속부(212)는 예를 들면 안테나 또는 적외선 포트일 수 있다. 음성 제어 디바이스(102L)는 또한 ACI(202), SRS(204), APCC(206), 및 안테나(209)를 포함한다. ACI(202)는 SRS(204)에 연결한다. SRS(204)는 APCC(206)에 접속한다. 안테나(209)는 APCC(206)에 연결한다. 음성 제어 디바이스(102L)는 안테나(209)를 통하여 APCC(206)과 ACI(202)의 수단에 의해 통신할 수 있다.
음성 제어 디바이스(102M)는 APCC(206), SRS(204), ECI(207), 및 접속부(210)를 포함한다. 접속부(210)는 안테나를 포함하는 유선 또는 무선 접속일 수 있다. SRS(204)는 APCC(206)에 연결하고 또한 ECI(207)에 연결한다. 접속부(210)는 ECI(207)에 연결한다. 음성 제어 디바이스(102M)는 접속부(210)를 거쳐 ECI(207)를 경유하여 통신할 수 있다.
APCC(206)는 제어되는 음성 제어 디바이스(102)의 요소를 나타낸다. 예를 들면, 가정용 기구의 경우에, 제어될 아이템은 온도, 시간 세팅, 전력 세팅, 또는 기구에 의존하는 사이클일 수 있다. 전자제품의 경우에, APCC(206)는 정상적으로 버튼, 스위치, 또는 손잡이와 관련된 아이템으로 구성될 수 있다. 전화제품의 경우에, APCC(206)는 버튼, 다이얼, 표시장치, 및 유선 또는 뮤선으로 전화하는 회로 또는 라이오 장치를 나타낼 수 있다. 자동차 시스템의 경우에, APCC(206)는 기계 판넬, 온도조절 손잡이, 항법 시스템, 자동차 라디오 채널, 볼륨, 및 주파수 특성을 나타낼 수 있다.
도 3에서, 음성 제어 디바이스(102)가 도시된다. 도 3에 도시된 음성 제어 디바이스(102)는 여기에 설명된 음성 제어 디바이스내의 기능 블록의 예이다. 음성 제어 디바이스(102)는 ACI(202), APCC(206) 및 SRS(204)를 포함한다. 음성 제어 디바이스(102)는 ECI(207A) 또는 ECI(207B)와 같은 ECI(207)를 또한 가질 수 있다. 도 3에 도시된 ACI(202)는 마이크로폰(303), 스피커(304), 및 증폭기(305)를 포함한다. 도 3에 도시된 바와 같이 SRS(204)는 음성 통신 칩(301), 코더/디코더(CODEC;306,308), 호스트 마이크로컨트롤러(310), 전력 공급장치(314), 전력 온 리셋 회로(316), 수정 발진회로(317), 메모리(318), 및 메모리(328)을 포함한다. SRS(204)는 AC 전력 공급 접속부(315), 선택성 키패드(311) 또는 선택성 디스플레이(312)를 선택적으로 포함한다. 로컬 커맨드, 프롬프트 및 데이터와 같은 가청 음성의 양방향 통신에 대하여, 음성 통신 경로는 VCC(301), CODEC(306) 및 ACI(202)를 통과한다. 원격 커맨드, 프롬프트 및 데이터와 같은 비가청 음성의 양방향 통신에 대하여, 비가청 음성 통신 경로는 VCC(301), CODEC(308), ECI(207A) 또는 VCC(301), 호스트 마이크로컨트롤러(310), APCC(206), 및 ECI(207B)를 통과한다. ECI(207)는 전화 네트워크, 컴퓨터 네트워크, 인터넷, 무선 주파수 링크, 또는 적외선 링크와 같은 무선 또는 유선 링크를 제공할 수 있다.
음성 통신 칩(301)은 본 발명의 표준 음성 유저 인터페이스를 사용하여 음성을 통한 통신의 능력을 음성 제어 디바이스(102)에 제공한다. 마이크로폰(303)은 음성 커맨드와 디바이스의 어플라이언스 명칭과 같은 가청 음성을 경청하는 능력을 음성 제어 디바이스(102)에 제공한다. 마이크로폰(303)은 애플리케이션에 의존하는 근거리 또는 원거리 마이크로폰일 수 있다. 예를 들면, 근거리 마이크로폰은 유저의 입이 가까운 포터블 셀 전화에 바람직한 반면 원거리 마이크로폰은 유저의 입이 멀리 떨어진 자동차 셀 전화에 바람직할 수 있다. 스피커(303)는 음성 제어 디바이스(102)가 명칭 또는 커맨드의 수신 인식과 같은 음성을 사용하여 응답하게 한다. 증폭기(305)는 마이크로폰(303)에 의해 수신된 음성 신호를 증폭시킨다. 부가적으로, 증폭기(305)는 인간 유저(101)가 적절하게 음성 제어 디바이스(102)에 인터페이스할 수 있도록 CODEC(306)으로부터 스피커(303)를 통과하여 나오는 음성신호의 표현을 증폭시킨다.
마이크로폰(303)과 스피커(304)는 각각 가청 음성과 음성의 표현간을 변환하는 변환기이다. CODEC(306)은 ACI(202)로부터의 음성 표현을 인코딩하여 VCC(301)로 인코딩된 음성 신호를 입력하게 한다. 부가하여, CODEC(306)은 VCC(301)로부터의 인코딩된 음성 신호를 디코딩하여 ACI(202)를 통과하여 가청 통신용의 음성을 표현하게 한다.
대안으로, 비가청 음성 신호는 음성 제어 디바이스(102)에 의해 양방향으로 통신될 수 있다. 이 경우에, VCC(301)는 인코딩된 음성 신호를 디코딩하기 위해 CODEC(308)으로 제공한다. CODEC(308)은 인코딩된 음성 신호를 디코딩하여 접속부(105)를 통과하여 통신하기 위해 ECI(207A)에 제공한다. 음성 신호는 접속부(105)를 거쳐 수신되고 ECI(207A)에 제공될 수 있다. ECI(207A)는 음성 신호를 인코딩하기 위해 CODEC(308)으로 접속한다. CODEC(308)은 음성신호를 VCC(301)에 접속된 인코딩된 음성신호로 인코딩한다.
음성 신호는 또한 APCC(206)를 통하여 전기적으로 통신될 수 있다. 전송하기 위한 VCC(301)로부터의 음성 신호는 마이크로컨트롤러(310)로 통과된다. 마이크로컨트롤러(310)는 이것을 APCC(206)로 연결하고, 음성 신호를 ECI(207B)로 전송한다. 음성 제어 디바이스(102)에 의해 수신되는 음성 신호는 ECI(207B)에 의해 수신되고 APCC(206)로 통과된다. APCC(206)는 다음에 이 수신된 음성신호를 마이크로컨트롤러(310)에 연결하고, 이것을 인식하기 위해 VCC(301)로 통과시킨다.
음성 제어 디바이스(102)는 호스트 마이크로컨트롤러(310)로부터의 신호에 의해 APCC(206)를 제어한다. 호스트 마이크로컨트롤러(310)는 APCC(206)에 연결되어 이 제어를 용이하게 한다. 음성 제어 디바이스(102)는 추가 입력 수단으로서 마이크로컨트롤러(310)에 연결된 키패드(310)을 선택적으로 가질 수 있다. 키패드는 전원 버튼, 푸쉬 대화 버튼 또는 보안 코드 입력 수단일 수 있으며, 부가하여 기타 정보를 입력하는데 선택적으로 사용될 수 있다. 음성 제어 디바이스(102)는 가시적으로 상태를 표시하거나 또는 유저가 관심을 갖는 기타 아이템을 표시하기 위해 호스트 마이크로컨트롤러(310)에 연결된 디스플레이(312)를 선택적으로 포함할 수 있다. 그러나, 음성 제어 디바이스는 일반적으로 선택적 키패드(311) 또는 선택적 디스플레이(312)없이 기능을 할 수 있다.
음성 제어 디바이스(102)는 전원 공급(314)을 포함한다. 전원 공급(314)은 DC 공급원 또는 AC 공급원, 또는 두개 모두로부터 전원을 발생시킬 수 있다. DC 공급원은 배터리, 태양 전지, 또는 기타 DC 소스일 수 있다. AC 공급원의 경우에, 임의의 AC 전원 코드(315)가 제공된다. VCA(102)는 전원공급(314)가 턴온될 때 시스템을 리셋하기 위한 전원 온 리셋 회로(316)를 포함한다.
VCC(301)내의 기타 회로와 결합한 수정 발진 회로(317)는 클록 신호의 발생을 위해 정확환 발진 입력을 VCC(301)에 제공한다.
메모리(318)는 VCC(301)에 연결되고 판독 전용 메모리 뿐만 아니라 재기록가능 비휘발성 메모리와 휘발성 메모리를 제공한다. 이것은 전형적으로 ROM, 플래시 RAM, 및 스태틱 RAM이다. 메모리(318)는 사전기록된 그리고 기록된 어구를 저장할 뿐만 아니라 프로그램을 저장하도록 사용된다. 부가적으로, 메모리(318)는 프로그램동작에 스크래치 메모리를 제공한다. 산업에서의 표준으로서, 사용되는 메모리의 유형은 구성되는 특정 음성 제어 디바이스에 의존하여 변경될 수 있다. 본 발명에 대한 프로그램 저장은 ROM으로, 비휘발성이지만 변경가능한 플래시로, 또는 휘발성인 RAM에 비휘발성 메모리로부터 또는 원격 소스로부터 다운로드될 수 있는 프로그램의 경우에 영구적일 수 있다.
메모리(328)는 휘발성 메모리, 비휘발성 메모리, 또는 혼합일 수 있다. 단지 휘발성 메모리가 사용된다면, 그 컨텐츠는 초기화되기 위해 또 다른 위치로부터 다운로드될 수 있다. 메모리(328)의 크기와 성능은 구축되는 음성 제어 디바이스의 유형에 의존할 것이다. 대안으로, 메모리는 마그네틱 유형, 광학 또는 기타 유형의 기록매체로 대체될 수 있다.
음성 제어 디바이스(102)에서, VCC(301)는 단지 하나의 프로세싱 유닛이 음성 제어 디바이스(102)내에 포함되도록 호스트 마이크로컨트롤러(310)의 기능을 추가적으로 포함할 수 있다. 유사하게, APCC(206), CODEC(306 및/또는 308), ECI(207A), ECI(207B), 메모리(318), 메모리(328), 증폭기(305), 또는 기타 소자가 집적의 레벨 증가가 이루어짐에 따라 산업에서 통상적으로 VCC(301)에 집적될 수 있다.
도 4에서, 음성 통신 칩(VCC;301)의 블록도가 도시된다. 음성 통신 칩(301)은 집적회로이고 프로세싱 유닛(402), 메모리 유닛(403), 버스 및 메모리 컨트롤러(BMC;404), 버스 어댑터(405), 및 주변장치(406)를 포함한다. 음성 통신 칩(301)은 Information Storage Devices, Inc.에 의해 제작된 "음성 인식 프로세서가 내장된 ISD-SR 300"이라고 제목이 붙은 마이크로피시 부록에 추가로 설명되어 있다. 프로세싱 유닛(402)은 마이크로프로세서와 디지털 신호 처리 모듈(DSPM)을 포함한다. 메모리 유닛(403)은 DSPM RAM(407), 시스템 RAM(408), 및 ROM(409)을 포함한다. 주변장치(406)은 I/O 포트(420), 인터럽트 제어 유닛(ICU;422), 코더/디코더(CODEC) 인터페이스(424), 펄스폭 변조기(PWM;426), MICROWIRE 컨트롤러(430), 리셋 및 구성 컨트롤러(432), 클록 발생기(434)와 WATCHDOG 타이머(436)를 포함한다. 효과적으로 통신하기 위해, 음성 통신 칩(301)은 도 4에 도시된 구성요소를 상호접속하는 주변장치 버스와 코어 버스(415)를 포함한다.
마이크로프로세서(416)는 RISC 구조를 갖는 일반적 목적의 16 비트 마이크로프로세서 코어이다. 마이크로프로세서(416)는 정수(integer) 연산 논리와 프로그램 제어에 대한 책임이 있다. DSP 모듈(DSPM;418)은 DSP 연산을 수행한다. ROM(409)과 시스템 RAM(408)은 프로그램 및 데이터를 저장하기 위해 사용된다. DSPM RAM(407)은 DSPM(418)에 의해 직접적으로 액세스될 수 있다. DSPM(418)이 유휴상태일 때, 마이크로프로세서(416)은 DSPM RAM(407)을 액세스할 수 있다.
버스 및 메모리 컨트롤러(BMC;404)는 DRAM, 확장 메모리, 오프칩 기반 메모리 및 I/O 확장과 같은 오프칩 디바이스로의 액세스를 제어한다. I/O 포트(420)는 음성 통신 칩(301)에 접속된 디바이스에 인터페이스를 제공한다. I/O 포트(420)는음성 통신 칩(301)의 26개 I/O 핀을 나타낸다. 확장 옵션없이 프로그램 메모리에 대한 내부 ROM(409)를 사용하여, 16개 I/O 핀은 입력 또는 출력용으로 개별적으로 구성될 수 있고, 단지 출력용으로 지정된 8개의 I/O 핀과 단지 입력용으로 지정된 두개의 I/O핀으로 구성된다. ICU(422)는 다섯개의 마스커블 인터럽트(네개의 내부 및 하나의 외부 인터럽트)와 세개의 내부 비마스커블 인터럽트(NMI)를 처리하는 성능을 제공한다. CODEC 인터페이스(424)는 단지 ACI(202)의 경우에는 하나의 CODEC 디바이스(306)에 또는 ACI(202)와 ECI(207A)의 경우에는 두개의 CODEC 디바이스(306,308)에 직접적인 인터페이스를 제공한다. 펄스 폭 변조기(PWM;426)는 고정 주파수와 가변 듀티 사이클을 갖는 사각파를 발생시킨다. MICROWIRE 인터페이스(428)는 호스트 마이크로컨트롤러(310)와 연속적인 통신을 하게 한다. 매스터 MICROWIRE 컨트롤러(430)는 시리얼 플래시 메모리와 기타 주변장치에 인터페이스하게 한다. 리셋 및 구성 블록(432)은 리셋동안 음성 통신 칩(301)의 환경의 한정을 제어하고 구성으로 제어된 소프트웨어를 조절한다. 음성 통신 칩(301)내의 몇몇의 기능은 상호 배타적이다. 리셋 또는 모듈 구성 레지스터를 통하여 대안 사이의 선택이 이루어진다. 클록 발생기(434)는 실시간 타이머를 포함하는 음성 통신 칩의 다양한 블록에 클록을 공급하기 위해 수정 발진 회로(317)에 인터페이스한다. 클록 발생기는 또는 음성 통신 칩(301)을 파워다운 모드로 세팅함으로써 그리고 필요할 때 그것을 정상 동작 모드로 복귀함으로써 전력 소모를 감소하도록 사용될 수 있다. 음성 통신 칩(301)이 파워다운 모드에 있을때, 몇몇의 기능이 디스에이블되고 몇개의 레지스터의 컨텐츠가 변경된다. 감시(watchdog) 타이머(436)는 소프트웨어가 프로세싱 유닛(402)의 제어를 잃을 때마다 그리고 음성 통신 칩(301)이 파워다운 모드에 있을때 타임 주기의 만료시에 비마스커블 인터럽트를 발생시킨다.
표준 음성 유저 인터페이스
GUI를 제공하는 컴퓨터 운영체제와 유사하게, 표준 음성 유저 인터페이스(VUI)는 표준 VUI 동작 시스템 코드에 의해 제공되는 바와 같이 생각될 수 있다. 음성 제어 디바이스의 넓은 어레이에 걸쳐 동작하는 표준 VUI는 유저가 결코 이전에 상호동작하지 않았던 음성 제어 디바이스를 포함하는 음성 제어 디바이스의 임의의 하나를 유저가 인터페이스하게 한다. 유저가 표준 VUI와 친숙하게되면, 유저는 다가가서 즉시 표준 VUI로 동작하는 임의의 음성 제어 디바이스를 사용하여 시작할 수 있다. 표준 VUI 운영 시스템 코드는 음성 제어 디바이스를 동작시키는 특정하게 표준화된 커맨드 및 과정을 갖는다. 이 표준화된 커맨드 및 과정은 표준 VUI 운영 시스템 코드를 실행하는 기계에 범용적이다. 표준 VUI 운영 시스템 코드로 동작하는 음성 제어 애플리케이션 소프트웨어는 음성 제어 디바이스를 특정 애플리케이션에 맞추기 위해 기록될 수 있다. 음성 제어 애플리케이션 소프트웨어는 음성 제어 디바이스가 사용되는 애플리케이션에 특정한 음성 커맨드를 갖는다. 특정 음성 제어 디바이스는 표준 VUI의 핵심 성능을 확장하는 추가적인 특정 특징을 또한 가질수 있다.
핵심 VUI에 있는 몇몇의 표준 VUI 기능은 음성 제어 디바이스의 존재를 발견하기 위한 방법, 모든 음성 제어 디바이스용 커맨드의 핵심 공통 세트, 음성 제어 디바이스가 응답할 커맨드(핵심 커맨드 및 어플라이언스 특정 커맨드 모두)를 배우기 위한 방법, 수동 또는 디스플레이의 사용없이 유저를 지원하기 위한 음성 도움 시스템, 유저 할당가능 세팅으로 유저에 음성 제어 디바이스를 개인화하기 위한 방법, 인증받은 유저에게 음성 제어 디바이스의 사용을 제어하고 기타 유저로부터 정보와 유저 할당가능 세팅을 보호하기 위한 보안 기술, 및 공통적인 동작(예를 들면, 예스 또는 노우를 선택하는 것, 리스팅하는 것과 옵션 리스트로부터 아이템을 선택하는 것, 에러를 조리있게 조절하는 것등)에 대하여 유저가 음성 제어 디바이스와 상호동작하게 하는 표준 방법을 포함한다. 표준 VUI는 표준 VUI로 인터페이스하고 동작하며 음성 제어 커맨드 세트를 확장하는 주문 음성 제어 애플리케이션을 소프트웨어 개발자가 기록하게 하기 위하여 API(애플리케이션 프로그래밍 인터페이스)를 포함한다.
도 5에서, 블록도는 음성 제어 디바이스(102)를 제어하고 표준 VUI 및 기타 기능을 제공하는 소프트웨어(500)를 도시한다. 소프트웨어(500)는 애플리케이션 코드(510), VUI 소프트웨어 모듈(512) 및 어휘(524)를 포함한다. 애플리케이션 코드(510)는 더 주문화된 음성 제어 디바이스(102)를 제공하기 위해 많은 애플리케이션 코드 모듈을 나타내는 하나의 애플리케이션보다 많은 것을 지원하기 위해 추가로 수정될 수 있다. 어휘(524)는 검출될 어구를 포함한다. 어휘내에 있는 어구는 하나 이상이 존재하는 토픽으로 불리는 그룹으로 분리된다. 도 5에서, 어휘(524)는 두개의 토픽, 토픽(551)및 토픽(552)으로 구성된다.
전형적으로, 애플리케이션 코드(510)는 애플리케이션 프로그래밍 인터페이스(API;507)를 통하여 VUI 소프트웨어(512)에 인터페이스한다. VUI 소프트웨어(510)는 특정 서비스를 인식 및 프롬프팅을 포함하는 음성 인터페이스에 관련된 애플리케이션 코드(510)에 제공한다. VUI 소프트웨어(512)와 애플리케이션 코드(510) 사이의 상호관계는 마이크로소프트의 MS 윈도우와 마이크로소프트 워드간 관계와 유사하다. 마이크로소프트 윈도우는 특정 서비스를 아이템을 스크린상에 디스플레이하고 마우스와 키보드 입력을 수신하는 것과 관련된 마이크로소프트 워드에 제공한다.
일반적으로, 애플리케이션 코드(510)는 호스트 메모리에 저장되고 호스트 마이크로컨트롤러(310)에 의해 실행될 수 있다. 그러나, 호스트 마이크로컨트롤러(310)의 기능은 단지 하나의 디바이스 또는 프로세서 그리고 하나의 메모리 또는 기억 디바이스가 소프트웨어(500)와 관련된 코드를 실행시키기 위해 필요로 되도록 VCC(301)에 내장될 수 있다.
핵심 및 애플리케이션 특정 커맨드에 대한 어구를 포함하여 구성된 모든 어구는 어휘(524)에 포함된다. VUI 소프트웨어 모듈(512)은 예를 들면 인식동안 사용하기 위해 어휘 어구를 직접적으로 액세스할 수 있다. VUI 소프트에어 모듈(512)은 또한 토큰을 처리할 수 있다. 토큰은 요약적으로 토픽(551-552)내의 어구에 관련한다. 토큰은 정수이다. 예를 들면, 'dial'에 대한 어구는 '5'의 토큰 값을 가질수 있고, 'hangup'에 대한 어구는 '6'의 토큰 값을 가질수 있다. 토큰 값은 인식될 수 있는 모든 어구에 할당되어 있다. VUI 소프트웨어 모듈(512)이 어휘 파일(512)에 관련된 토큰을 처리할 수 있기 때문에, 직접적으로어휘를 액세하지 않고 어구를 언급할 수 있다.
음성 제어 디바이스로 동작하는 표준 VIU의 코어 성능으로 유저는 음성 제어 디바이스를 지정, 음성 제어 디바이스의 존재를 식별, 기저장된 유저의 개인적인 선택물을 동작, 동작을 취소함으로써 오인식으로부터 복원, 음성 제어 디바이스로 사용될 수 있는 커맨드과 옵션을 식별하는 도움말 기능을 사용, 표준 코어 커맨드 세트를 사용, 및 표준 신택스을 추구한다는 것을 확신할 수 있는 다른 추가 커맨드를 이용할 수 있다. (커맨드의 신택스가 일반적일지라도, 임의의 음성 제어 디바이스상의 특정 커맨드 리스트는 음성 제어 디바이스의 성질에 의존할 것이다.) 표준 VUI는 또한 API에 대한 다음 유저 상호동작에 대한 표준 기능: GETYESNO - 유저로부터의 YES/NO 응답을 수용하는 것; GETRESPONSE - 유저로부터 임의 입력을 수용하는 것; GETRESPONSEPLUS - 개량된 에러 복구 특성과 함께, 유저로부터 임의 입력을 수용하는 것; LISTANDSELECT - 유저에게 선택 리스트를 제공하여, 유저로 하여금 하나를 선택할 수 있게 하는 것; 및 ACOUSTICADDWORD - 그 다음 인식될 수 있는 구문을 추가하는 것을 포함한다.
표준 VUI로 적당히 동작시키기 위해, 음성 제어 디바이스(102)의 SRS(204)는 전원이 켜질 때 언어 표현과 디지트의 연속적인 인식을 제공할 수 있다. 그러나, 특정 시간을 초과한 중지는 커맨드의 종료를 마킹하는 것과 불완전한 커맨드 시퀀스과 수신되었다는 표시를 제공하는 것으로서 SRS(204)에 의해 인식될 수 있다.
명칭
본 발명의 표준 VUI의 주 요소는 각각의 음성 제어 디바이스가 하나이상의 기구 명칭을 가지고 있다는 것이고, 각각의 기구 명칭은 구문이다. 초기 기구 명칭은 공장에서 제조자에 의해 프로그램된 음성 제어 디바이스에 대한 디폴트 명칭이다. 그러나, 유저는 일반적으로 그들 선택의 유저 할당 기구 명칭을 음성 제어 디바이스에 할당할 수 있다. 음성 제어 명칭의 명명은 사람의 명칭을 부르는 것과 같이 명명의 종류에 따라 상이하다. 개인은 서로 이야기하고자 하는 모든 사람에 의해 사용될 수 있는 명칭을 가지고 있다. 반대로, 음성 제어 디바이스의 명칭화와 함께, 음성 제어 디바이스의 모든 유저는 일반적으로 음성 제어 디바이스에 상이하고 독특한 명칭을 부여한다. 따라서, 음성 제어 디바이스는 유저의 명칭과 같이 여러 명칭을 가질 수 있다.
유저가 명칭에 의해 음성 제어 디바이스를 지정할 때, 두 가지 일이 발생한다. 먼저, 음성 제어 디바이스가 그 명칭중 하나를 인식할 때, 음성 제어 디바이스는 지정되고 있고 커맨드에 경청할 필요가 있다는 것이 통지된다. 두 번째로, 각각의 유저는 일반적으로 음성 제어 디바이스에 대해 상이한 명칭을 사용하고 있기 때문에, 유저의 식별기호(화자의 식별자)로 알려진다. 유저가 음성 제어 디바이스의 기능에 관련된 기저장 선택을 가지고 있다면, 음성 제어 디바이스는 그 유저의 기호에 자체적으로 소유될 수 있다.
이러한 명칭의 개념을 설명하기 위해, 탁상용 전화의 다음 예, 두 명의 유저가 사용하는 음성 제어 디바이스를 고려해보자. 유저 1는 전화를 "Aardvark"로 명명하고, 유저 2는 전화를 "Platypus"로 명명한다. 전화가 "Aardvark Call Mom"을 들으면, 전화는 유저 1에 의해 지정되어 있고 유저 1의 전화번호부를 이용할 것이다는 것을 인식할 것이다. 따라서, 유저 1에 의해 프로그램된 "Mom"의 전화번호에 전화할 것이다. 유사하게, 전화가 "Platypus Call Mom"를 들으면, 유저 2는 전화를 지정하고 있다는 것을 인식할 것이고, 유저 2에 의해 프로그램된 "Mom"의 전화번호에 전화할 것이다.
오 인식을 최소화하기 위해, 유저는 보통의 언어표현동안에 일반적으로 말해지지 않는 명칭을 음성 제어 디바이스에 할당하는 것이 바람직하다. 독특한 명칭을 선택하면 서로의 가청 범위내에서 두 개의 음성 제어 디바이스는 동일한 명칭(아마 상이한 유저에 의해 할당된)을 가지고 있지 않을 수 있다. 구문 명칭을 말하는 최대 시간 제한은 음성 제어 디바이스의 메모리 한계로 인해 일부 경우에 필요할 수 있다.
여기서 도 6a-6e를 참조하면, 음성 제어 디바이스(102)에 의한 표준 VUI의 상세한 동작의 흐름도가 설명되어 있다. 도 6a-6e의 흐름도에서, 실선 박스는 유저(인용된) 또는 유저의 동작(미 인용)에 의해 통신되는 구문을 도시하고 있다. 점선 박스는 음성 제어 디바이스(인용) 또는 발생되는 동작(미 인용)에 의해 통신되는 구문을 도시하고 있다. 점선 박스 바로 아래에 있는 실선 박스가 있는 경우에, 점선 박스의 우측에서 나오는 경로는 현재의 점선 박스내의 동작이 보통 완료되는 경우에 발생하고, 점선 박스 아래의 실선 박스로의 경로는 이상 사건이 발생하는 경우에 발생된다. 일반적으로, 점선 박스 바로 아래의 실선 박스는 이상 사건을 표시한다.
표준 VUI 커맨드 신택스
여기서 도 6a를 참조하면, 모든 음성 커맨드에 대한 일반적인 신택스는 <silence><name> <command> <modifiers & variables>이다. <silence>는 배경 잡음에도 불구하고 유저가 말을 안하고 있고 배경 언어 표현이 여전히 존재할 수 있는 동안의 상대적인 침묵 시간이다. <name>는 음성 제어 디바이스(102)와 관련된 기구 명칭이다. <command>는 유저가 수행하고자 하는 동작이다. <modifier & variables>는 일부 커맨드에 의해 필요로 되는 추가 정보로 구성되어 있다. SRS(204)는 유저가 음성 제어 디바이스를 제어하기 위해 그들의 신택스의 요소를 인식한다.
대부분의 음성 제어 디바이스는 연속적으로 음성 커맨드 시퀀스를 경청할 것이다. 음성 제어 디바이스는 <name>를 들을 때, 다음 <command>이 의도된다는 것을 안다. 각각의 유저가 음성 제어 디바이스에 대해 상이한 <name>를 가지고 있기 때문에, <name>는 또한 독특하게 유저를 식별하여, 음성 제어 디바이스는 유저의 개인적인 세팅을 선택할 수 있다. 커맨드는 모든 음성 제어 디바이스에 포함되어 있는 코어 VUI 커맨드와, 주어진 애플리케이션에 특정한 커맨드를 포함하고 있는데, 이것은 모두 어휘(524)내에 저장되어 있다.
<name>의 검출에 앞서 <silence>를 요구하는 것은 보통의 대화형의 언어 표현동안(즉, 유저가 음성 제어 디바이스가 아닌 다른 유저에게 대화형으로 말하고 있을 때의 시간동안) <name>의 오 검출을 방지한다. 모든 경우에, <silence>의 시간은 제조자에 의해 구성될 수 있고 0(필요한 <silence>가 없음)에서 1초이상의 범위가 될 수 있다. 전형적으로, 대략 1/4초가 될 수 있다.
Aardvark로 명명된 전화와 같은 음성 제어 디바이스에 사용될 수 있는 음성 커맨드 시퀀스의 예는 "Aardvark Call The Office", "Aardvark Dial 1-800-55-1212", 및 "Aardvark Hang-up"를 포함한다. (커맨드 예와 제공된 설명에서, 간결성을 위해, <silence>는 종종 도시되어 있지 않고, 도시되고 설명된 곳조차, 옵션은 항상 0의 침묵 시간을 사용하기 위한 제조자의 선택이 존재한다.)
커맨드 신택스이 일반적인 신택스과 다른 것으로 허용되는 두 가지 특수한 경우가 있다. 특수한 첫 번째 경우는 <silence><name>를 연속적으로 경청하지 않는 음성 제어 디바이스내에 있다. 예를 들어, 일부 배터리 동작식 애플리케이션에서, 전력 소비를 제한하기 위해 음성 제어 디바이스내의 VCC가 공전시간동안 전력을 다운시키는 것이 요구된다. 다른 예는 명칭의 오 인식이 불필요한 결과를 가질 수 있는 곳, 예를 들어, 표현동안의 회의실내의 탁상용 전화에 위치된 음성 제어 디바이스이다. 세 번째 예는 오 인식의 높은 위험성이 있는 곳, 예를 들어, 여러 대화가 들릴 수 있는 곳에서의 음성 제어 디바이스이다.
이러한 상황의 타입에 있어서, 대체 커맨드 신택스는 일부 타입의 버튼 또는 스위치와 결합되어 사용된다. 제 1 대체 커맨드 신택스는 <activation of a switch> <silence (optional)> <name> <command> <modifier & variables>이다. 이러한 신택스에서, <activation of a switch>는 인식 능력을 동작시키기 위해 유저가 버튼을 누르거나 일부 다른 기계적인 동작(예, 플립 스타일 셀 폰을 오픈하는 동작)을 수행한다는 것을 의미한다.
특수한 두 번째 경우는 유저가 정상적으로 신속하게 연속으로 커맨드 시퀀스를 입력하는 경우이다. 이러한 경우에 있어서, 유저는 패스워드 검출 방법을 이용하거나, 음성 제어 디바이스의 기구 <name>를 포함하는 커맨드를 유출함으로써, 그 다음 연속적으로 커맨드를 입력함으로써 음성 제어 디바이스에서 그들 자신을 한번 식별할 수 있다. 제 2 대체 커맨드 신택스(이러한 예에서, 3개의 연속적인 커맨드에 대하여)는
<silence> <name> <command> <modifier & variables as needed>
<silence> <name (optional)> <command> <modifier & variables as needed>
<silence> <name (optional)> <command> <modifier & variables as needed>이다. 이러한 신택스로, 유저는 음성 제어 디바이스의 기구 <name>를 일정하게 반복할 필요없이 커맨드 시퀀스를 유출할 수 있다. 그러나, 유저는 커맨드의 시작부에서 <name>를 말하는 것이 허용된다. 이러한 신택스에서, <silence>는 말해진 <name> 또는 <command>를 적당히 인식하는데 요구된다.
제 1 또는 제 2 대체 신택스가 사용될 때, 새로운 유저가 음성 제어 디바이스로 작업하기 시작하면, 적당히 식별된다는 것을 보장하는 것이 바람직하다. 이것은 내부동작 시간후 또는 음성 제어 디바이스 또는 다른 유사 프로토콜의 파워 업 후에 <name>를 분명히 요구함으로써 가능하게 될 수 있다.
표준 코어 VUI 커맨드
표준 VUI를 이용하여 동작하는 음성 제어 디바이스(102)의 어휘(524)에 포함되어 있는 다수의 표준 코어 커맨드가 있다. 도 6a-8는 다음 커맨드의 신택스을 예시하고 있다.
도 6a를 참조하면, 시작부(600)에서, 음성 제어 디바이스의 기구 명칭 <name>는 일반적으로 커맨드에 앞서 말해진다. 음성 제어 디바이스의 기구 명칭중 하나는 음성 제어 디바이스가 커맨드를 경청하고 있는 때마다 말해질 수 있다. <name>이 일부 시간내의 커맨드 다음이 아니라면, 음성 제어 디바이스는 역으로 돌아가 본래의 사일런스 상태의 시작부(600)로 되돌아간다. 이것은 N 초의 실선 박스 silence에 의해 표시된다. 이경우의 N은 일반적인 변수의 프로그램가능한 값이고, 음성 제어 디바이스 제조자에 의해 할당된다. 기구 명칭을 제공한 후에, 유저는 (601)에서 음성 제어 디바이스를 통해 동작하는 표준 VUI의 추가 커맨드으로의 액세스가 승인된다. 도움말 커맨드의 신택스는<name> Help <command (optional)> 또는 Help <command (optional)>이다. 도움말 커맨드는 다른 커맨드가 주어질 수 있는 곳, 또는 음성 제어 디바이스가 응답을 대기하고 있을 때를 포함하여 항상 얻을 수 있다. 도움말 커맨드는 음성 제어 디바이스가 유효 커맨드를 대기하고 있는 동안에 유출되면, 도움말은 음성 제어 디바이스가 다른 커맨드에 앞서 <name>를 필요로 하는 경우에 <name>로 진행되어야 한다. 도움말이 음성 제어 디바이스가 다른 형태의 응답을 대기하고 있는 동안에 요구된다면, <name>는 도움말 커맨드로 진행할 필요가 없다. <name>이 도움말에 앞서 요구되지 않는 모든 경우에, 유저가 "<name> Help"를 말하면, <name>의 사용은 에러를 발생하지 않는다.
도움말 기능은 주변상황에 민감하고, 도움이 요청될 때마다, 음성 제어 디바이스는 주어진 음성 제어 디바이스의 현재의 주변상황하에서 이용가능한 옵션의 설명으로 응답한다. 음성 제어 디바이스가 커맨드에 경청하고 있을 때 도움이 필요하다면, 음성 제어 디바이스는 그 상태와 응답할 수 있는 커맨드의 리스트(예, "At Main menu. You can say... .")에 따라 응답할 수 있고, 특정 커맨드에 대한 추가 상세 설명이 "Help <command>" 구문(예, "Help Dial", "Help Call", 및 "Help Help"조차)과 함께 얻어질 것이다. 음성 제어 디바이스가 일부 타입의 비 커맨드 응답(예, "Say the name")을 대기하고 있는 동안"Help"가 요구된다면, 음성 제어 디바이스는 음성 제어 디바이스의 현재의 상태의 스테이트먼트지에 진술로 응답하고, 다음에 그것이 대기하고 있다 것에 관한 설명(예, "Waiting for user response. Say the name of the person whose phonebook entry you wish to create, or say Nevermind to cancel.")이 후속된다.
취소 커맨드 구문은 <name (optional)> Nevermind 또는 <name (optional)> Cancel이다.
주의 또는 취소 커맨드는 음성 제어 디바이스가 커맨드를 실행하고 있을 때 그리고 유저로부터 응답을 대기하고 있을 때조차 유출될 수 있다. 주의 또는 취소는 음성 제어 디바이스가 현재의 커맨드를 취소할 수 있게 하고 그리고 동작이 취소되었음의 상태(예, "Cancelled")에 따라 응답할 수 있게 한다. 음성 제어 디바이스가 커맨드를 대기하고 있는 동안 주의 또는 취소가 유출되면, 무시될 것이다. 주의 또는 취소와 함께 <name>의 사용은 옵션이고, <name>이 말해졌는지 여부에 이상적으로 작용한다.
메인 메뉴 커맨드으로의 리턴 구문은 <name> Main Menu이다. 서브메뉴 커맨드를 가진 음성 제어 디바이스에 있어서, <name> Main Menu에서 유저는 메인 메뉴로 되돌아가고, "At Main Menu."등의 응답을 유발한다. 이러한 커맨드는 유저에게 공지점에서 임의의 서브메뉴로 되돌아가는 쉬운 방법을 제공한다. 메인 메뉴 커맨드는 하나의 메뉴만을 가진 음성 제어 디바이스에서 인식되지 않아도 되지만, 서브메뉴를 가진 음성 제어 디바이스에서의 위임 커맨드가다.
음성 제어 디바이스의 명칭 변경
일부 경우에, 음성 제어 디바이스의 유저 설정 명칭을 변경하는 것이 바람직하다. 여기서 도 6a-6b를 참조하면, 명칭 변경 커맨드의 구문은 <old name> Change Your Name이다. 이러한 커맨드으로 유저는 음성 제어 디바이스를 명명하거나 재명명할 수 있다. 음성 제어 디바이스가 갱신될 때, 적어도 하나의 디폴트 공장 프로그램 기구 명칭(예, 전화)을 가지고 있다. 대부분의 음성 제어 디바이스는 하나이상의 유저 설정가능 기구 명칭을 지원할 수 있는 능력을 가지고 있다. 유저는 "<factory programmed name> Change your name"(예, "Telephone change your name")을 말함으로써 기구 명칭을 명명할 수 있다. 음성 제어 디바이스는 반복될 새로운 명칭을 요구할 것이고, 그 명칭을 변경할 수 있다. 이러한 과정은 각각의 유저 설정가능 명칭에 대하여 한번 반복될 수 있다. 예를 들어, 네 개의 유저 설정가능 기구 명칭일 수 있는 4개의 유저 전화를 고려해보자. 유저는 명칭을 유저 1는 예를 들어, Aardvark으로 설정하는 대화과 후속되는 커맨드 "Telephone change your name", 명칭을 유저 2는 예를 들어, Barracuda으로 설정하는 대화와 후속되는 커맨드 "Telephone change your name", 명칭을 유저 3는 예를 들어, Coyote으로 설정하는 대화과 후속되는 커맨드 "Telephone change your name" , 명칭을 유저 4는 예를 들어, Doggone으로 설정하는 대화과 후속되는 커맨드 "Telephone change your name"의 4개의 명칭 변경을 실행할 수 있다. 유저가 커맨드("Telephone change your name")의 순서대로 4번째의 유저 설정가능 명칭을 변경하고자 하였다면, 결과적으로 모든 이용가능한 유저 설정가능 기구 명칭이 할당되었기에 에러 메시지가 야기될 것이다. 모든 유저 설정 명칭이 제한되어 있을 지라도, 음성 제어 디바이스는 항상 공장 프로그램 명칭에 응답한다는 것을 주목하자. 따라서, 4번째 시도의 예에서, 음성 제어 디바이스는 여전히 "Telephone" 공장 프로그램 명칭을 인식하고, 새로운 4번째 명칭-설정가능한 기구 명칭을 바로 할당할 수 없다.
현존 유저 설정가능 기구 명칭은 또한 "Change Your Name" 커맨드으로 변경될 수 있다. 상기 예를 연결하면, "Aardvark change your name"는 제 1 유저에 대하여 기구 명칭을 교체할 것이고(예를 들어, Platypus로 변경될 것이다), 나머지 3개의 유저 명칭은 변경되지 않을 것이다. 유사하게, "Telephone"으로 명칭을 설정하는 대화가 후속되는 "Platypus change your name"는 제 1 유저 명칭을 공장 프로그램 디폴트로 재설정할 것이다.
음성 제어 디바이스의 식별
음성 제어 디바이스가 급속히 증가함에 따라, 새로운 환경을 입력할 때 어떤 음성 제어 디바이스가 존재하는지를 쉽게 식별할 수 있게 하는 것이 중요하다. 예를 들어, 유저는 다수의 장치를 가지고 있는 호텔로 걸어들어가고 있다. 그 장치를 이용하기 위해, 유저는 어떤 장치가 음성 제어 디바이스인지를 알 필요가 있다. 추가로, 유저는 적당히 제어하기 위해 기구 명칭을 알 필요가 있다. 둘이서 식별하는 것외에도, 음성 제어 디바이스는 표준 VUI를 이용하는 음성 제어 디바이스를 표시하는 로고를 이용함으로써 시각적으로 식별될 수 있다.
청각적인 식별은 음성 제어 디바이스가 인식가능한 커맨드를 능동적으로 경청할 때 작용한다. 대부분의 경우에, 이것은 음성 제어 디바이스가 일정하게 경청하고 인식을 시도한다는 것을 의미한다. 전형적으로, 연속적인 인식으로부터의 전원 드레인은 대부분의 배터리 작동식 음성 제어 디바이스에서 채택불가능하기 때문에, 이러한 음성 제어 디바이스는 AC 전원이 될 것이다. 도 6a와 6c를 참조하면, 음성 제어 디바이스를 커맨드하는 식별 어구를 통신하는 유저에 의해 청각적인 식별이 가능하다. 식별 구문 "What Is Out There?" 또는 일부 다른 적용가능한 식별 어구가 음성 제어 디바이스가 그들자신을 식별할 수 있게 하는데 사용될 수 있다.
표준 VUI 식별 어구의 구문은 <silence> What Is Out There? 이다. 이러한 질의에 응답하여, 그 질문을 들은 음성 제어 디바이스는 응답하여야 한다. 전형적인 음성 제어 디바이스의 응답은 최대 2초의 상대적인 침묵의 임의 딜레이, 다음에 의성어(표준 신호), 및 응답 "You can call me <name>이고, 여기서, <name>는 음성 제어 디바이스를 설정하는데 사용될 수 있는 공장 프로그램 명칭이다. 상기 전화 음성 제어 디바이스에서, 응답은 "<beep> You can call me Telephone,"일 수 있다.
도 6c를 참조하면, 최대 2초의 임의 딜레이동안에, 각각의 응답 음성 제어 디바이스는 다른 음성 제어 디바이스의 응답(특히, 다른 음성 제어 장칭의 의성어에 대하여)에 경청한다. 다른 음성 제어 디바이스는 이러한 침묵 시간동안에 응답(의성어로 증명)할 수 있는 경우에, 경청하는 음성 제어 디바이스는 응답하는 음성 제어 디바이스가 종료한 후에 침묵 타이밍을 재스타트하여야만 한다. 이 경우에, 두 개의 음성 제어 디바이스는 동시에 응답(겹친 의성어)하는 경우에, 둘다 새로운 임의 선택 침묵 딜레이에 대하여 백 오프하여야 한다. 그러나, 이시간에, 임의 딜레이가 제 1 딜레이보다 이전 침묵 딜레이 길이의 최대 2배정도 클 수 있다. 임의의 경우에, 딜레이는 16초를 초과하지 않아야 한다. 추가의 콘플릭트 리솔루션을 위한 추가 백 오프 시간은 다른 음성 제어 디바이스가 응답한다면 제공된다.
도 6a를 참조하면, 유저 설정가능 명칭 커맨드(Request User-Assignable Names Command)의 구문은 <name> Tell Me Your Name 또는 <name> Tell Me Your Names이다. 보안을 허용하면, 유저 프로그램 <name> 또는 디폴트 <name>이 사용될 수 있다. 요청 유저 설정가능 명칭 커맨드는 음성 제어 디바이스에게 응답할 수 있는 모든 유저 프로그램 <name>를 경청하라는 것을 요구하는데 사용된다. 보안을 허용하면, 음성 제어 디바이스는 리스트 방식으로 각각의 사용 프로그램 명칭을 통신한다. 각각의 유저 할당 명칭사이에서, 잠시 중지한다. 이러한 중지동안에, 유저는 음성 제어 디바이스에 커맨드를 통신할 것이고, 유저 프로그램 <name>으로 주어진 것처럼 실행될 것이다. 예를 들어, 상기 전화 음성 제어 디바이스를 고려하자. 중지후에 제공된 커맨드 "Telephone Tell Me Your Name"으로, 전화는 음성 제어 디바이스가 "Coyote"를 말하는 다음의 중지동안에 "I have been named Aardvark, (중지) Barracuda (중지), Coyote (중지), 및 Doggone (중지)"를 말함으로써 응답할 수 있고, 유저는 전화가 유저에게 Coyote의 Mom(Mom의 전화 번호가 유저 Coyote에 의해 기저장되어 있다고 가정)를 호출하는 경우에 "Call Mom"를 말할 것이다.
보안 고려
유저 설정가능 명칭을 요구하는 커맨드는 음성 제어 디바이스의 보안 유출을 상승시켰다. 책임있는 유저에게 음성 제어 디바이스로의 액세스를 제한하는 것이 필요한 경우에는, 여러 보안 보호 방법이 표준 VUI에 의해 지원되는 음성 제어 디바이스에서 사용될 수 있다.
가장 간단하고 최소의 보안 보호는 VUI의 명명 능력을 통해 제공된다. 이러한 경우에, 모든 유저는 음성 제어 디바이스에 대해 독특한 명칭을 선택하는 것을 요구한다. 유저 설정 기구 명칭은 음성 제어 디바이스내에서 비밀로 유지되고, 유저에 의해서만 변경 또는 삭제된다. 이러한 방식으로, 기구 명칭은 기본 보안을 제공하는데 사용될 수 있다. 그러나, 이러한 접근 방식에는 여러 단점이 있다. 먼저, 유저는 전형적으로 모든 이가 그 명칭을 듣기가 쉽게 만드는 각각의 커맨드를 유출하기 전에 명칭을 반복하여야 하고, 그 결과 보안 손실이 발생한다. 둘째로, 대부분의 음성 제어 디바이스는 그 장치에 대한 유저 명칭을 삭제 또는 변경할 수 있는 능력을 포함할 수 있다. 삭제 및 변경을 쉽게 수행하게 하는 것이 바람직하다. 그 특정 유저외의 다른 사람에 의해 추가 변경이 수행될 필요가 있을 수도 있다. 예를 들어, 유저는 그가 음성 제어 디바이스에 원래 할당했던 명칭을 잊어버릴 수도 있거나, 유저가 그 장치를 이용하는 것을 멈췄을 수도 있고, 그 설정치를 삭제하는 것이 불가능할 수도 있다. 보안으로서 기구 명칭을 이용하는 경우에, 명칭을 변경할 때의 사용의 용이성과 보안의 품질사이에 원칙적인 상충이 있다.
최대 레벨의 보안은 음성 제어 디바이스로의 액세스를 얻기 위해 유저가 일련 번호, 패스워드 또는 어구를 말함으로써 얻을 수 있다. 유저가 내부 동작의 일부 시간후에 음성 제어 디바이스를 이용하거나, 일부 다른 기준을 근거로 하여 시작할 때 로그인이 필요할 수도 있다. 이러한 접근 방식의 단점은 말한 일련 번호 또는 어구가 일반적일 수도 있다는 것이다. 다른 보안 대체 방법은 유저가 옵션 키패드(311)와 같은 키패드를 이용하여 일련 번호, 패스워드, 또는 어구를 입력하는 것이다. 이것은 추가 하드웨어를 내장할지라도, 다른 사람에 의해 일반적일 수 있는 보안 코드의 위험성을 제거한다. 물리적인 키 또는 보안 카드(예, 자기 스트립 또는 스마트카드와 같은) 여러 다른 보안 옵션이 또한 가능하다.
음성 제어 디바이스로의 유저의 액세스를 자동적으로 삭제하거나 종료시킴으로써 추가 보안이 제공된다. 일부 경우에, 모든 커맨드 실행후 액세스가 자동적으로 삭제될 수 있다. 다른 경우에, 자동 액세스 삭제가 일부 내부 동작후에, 파워 다운 또는 리셋, 일부 동작의 종료(예, 전화에서, 호출 종료), 또는 "Cancel Access" 커맨드의 사용에 의한 특정 요청 즉시 발생할 수 있다.
응용 특정 커맨드
표준 VUI는 각각의 음성 제어 디바이스에 다수의 응용 특정 커맨드를 제공한다. 표준 VUI에 의해 제공된 응용 특정 커맨드는 전화 및 응답 기계 애플리케이션과 관련되어 있다. 추가 응용 특정 커맨드가 프로그램될 수 있고 제조자에 의해 어휘에 포함될 수 있다.
표준 VUI에 대한 커맨드를 개발하는 일반적인 가이드라인은 다음과 같다. 서브 메뉴는 숫자로 제한될 수 있고, 논리 그룹의 커맨드를 토대로 구성될 수 있다. 예를 들어, 전화(TAD)는 전화 기능을 포함한 메인 메뉴, 전화번호부 관리에 대한 서브 메뉴, 그리고 TAD 기능에 대한 다른 서브 메뉴를 가지고 있다. 메뉴 또는 서브 메뉴내의 커맨드의 수는 복잡함을 최소화하기 위해 10이하로 제한될 수 있다. 도움말 기능은 이용가능한 커맨드를 상세하게 설명하여야 한다.
복잡한 커맨드는 자화의 소형 단위로 분리될 수 있다. 높은 인식 성공률을 보장하는 커맨드 어구가 선택될 수 있다. 표준 VUI 커맨드는 높은 인식 정확율을 보장하도록 선택되었다. 혼동스런 어구를 이용하는 것을 피하기 위해 커스터머 어휘을 만들 때 조심해야 한다.
파괴 이벤트(삭제 등)에 있어서, 동작의 올바른 입력과 확인의 유저 확신이 필요하다.
전화 어휘
여기서 도 6d-6e, 도 7, 및 도 8를 참조하면, 표준 VUI에 대한 전화 어휘에 대한 흐름도가 설명되어 있다. 전화 어휘는 특히 탁상용 전화, 셀룰러 전화, 셀룰러 전화 카 키드, 및 무선 전화와 같은 음성 제어 디바이스에 대한 것이다. 본 발명의 SRS(204)는 전화 어휘의 커맨드를 인식할 수 있고, 그 커맨드를 전화 음성 제어 디바이스의 제어를 위해 인식 토큰으로 변환할 수 있다. 전화 어휘는 모든 표준 VUI 커맨드와 다음 응용 특정 커맨드를 포함한다.
호출 커맨드의 구문은 <name> Call <voicetag> 또는 <name> Call <digits>이다. 호출 커맨드는 일련의 디지트 또는 전화 번호부 보이스태그(voicetag)등으로서 표현되는 특정 전화 번호에 전화하는데 사용된다. <digits>는 숫자 디지트의 리스트가 될 수 있다. 전화 음성 제어 디바이스는 0에 대한 유사어 "oh", 인에이블되는 0-0에 대한 "hundred"를 고려한다. <digits>의 시퀀스는 삽입된 중지를 포함할 수 있다. 그러나, 중지가 프로그램 시간을 초과하면, 시퀀스는 종료되고 그 커맨드는 시스템 설계자에 의해 설정된 시간을 초과하는 중지의 인식 후에 실행된다. 호출 커맨드로의 전화 음성 제어 디바이스의 응답은 정확한 인식을 확인하도록 음성화된 인식 보이스태그 또는 인식 디지트를 가진 "Calling <digits>" 또는 "Calling <voicetag>"일 수 있다. "Cancel" 커맨드는 오 인식의 경우에 호출 동작을 취소하는데 사용될 수 있다.
다이얼 커맨드의 구문은 <name> Dial <voicetag> 또는 <name> Dial <digits>이다.
다이얼 커맨드는 호출 커맨드와 동일하다.
응답 커맨드의 구문은 <name> Answer이다. 이러한 커맨드는 걸려오는 전화에 응답하는데 사용된다. 응답 프롬프트는 "Go ahead"이다.
행업 커맨드의 구문은 <name> Hangup이다. 이러한 커맨드는 능동적인 호출을 행업하는데 사용된다. 응답 프롬프트는 높은 피치의 의성어이다.
재다이얼 커맨드의 구문은 <name> Redial이다. 이러한 커맨드는 번호를 재다이얼하는데 사용된다. 응답은 이전의 호출 또는 다이얼 커맨드가 <digits> 또는 <voicetag>였는지 여부에 따라 "Redialing <digits>" 또는 "Redialing <voicetag>"이다. 처음에 호출이 없었다면, 응답은 "Nothing to redial"이다.
저장 커맨드의 구문은 <name> Store이다. 저장 커맨드는 전화번호부 서브메뉴이고, 새로운 보이스태그를 추가하는데 사용된다.
삭제 커맨드의 구문은 <name> Delete이다. 삭제 커맨드는 전화번호부 서브메뉴이고, 보이스태그를 삭제하는데 사용된다.
무트(mute) 커맨드의 구문은 <name> Mute이다. 이 커맨드는 마이크로폰을 조용하게 한다. 그 음성 제어 디바이스에 의한 응답은 "Muted"이다.
온 라인 커맨드의 구문은 <name> Online이다. 이 커맨드는 마이크로폰을 재작동시킨다. 응답은 "Online"이다.
프롬프트는 유저로부터의 응답을 요구하기 위해 음성 제어 디바이스에 의해 통신될 수 있다. 프롬프트는 스피치 신시사이저, 이전 기록 스피치의 재생 또는 다른 수단에 의해 통신(즉, 대기상태)될 수 있다. 전화 어휘내의 프롬프트는 다음의 항목 민감성 도움 프롬프트(Contxt-Sensitive help prompts)를 포함한다.
이러한 프롬프트에 추가로, 음성 제어 디바이스는 다수의 다른 톤 또는 의성어를 발생할 수 있다. 이것은 중간 피치의 의성어(예, 200밀리초, 500Hz, 사인파), 낮은 피치의 의성어(예, 부저 소리 또는 250밀리초, 에러 입력을 표시하는 저주파수의 의성어) 및 높은 피치의 의성어(예, 200밀리초, 1200Hz 사인파)를 포함한다. 다른 사운드가 본 발명의 범위내에서 가능하다.
전화 응답 음성 제어 디바이스에 대한 어휘
상술한 것에 추가로, 표준 VUI에 대한 응용 특정 커맨드로 유저는 음성 커맨드를 사용하여 전화 응답 음성 제어 디바이스와 인터페이싱할 수 있다. 유저는 메시지 기능을 관리하고 키패드를 이용하지 않고 전화 응답 음성 제어 디바이스로부터 원격 액세스를 얻을 수 있다. 다음은 전화 응답 음성 제어 디바이스에 대한 어휘(224)에 포함되는 추가 음성 커맨드를 열거하고 있다.
자동차 제어 어휘
표준 VUI에 대한 추가 특정 커맨드로 유저는 음성 제어법을 이용하여 자동차 부속품으로 인터페이싱할 수 있다. 자동차에서의 음성 제어에 대한 두 개의 1차 영역은 내부 부속품의 제어부와 오락 시스템의 제어부를 포함한다. 자동차 부속품은 환경 제어부, 윈도우, 도우어 락, 그리고 실내등을 포함한다. 조향장치, 제동장치, 가속장치 및 외부등과 같은 자동차의 "Mission critical" 구성요소는 오 인식이 발생한다면, 안전성의 문제가 잠재되어 있기 때문에 음성에 의해 제어되지 않는 것이 바람직하다. 오락 제어부는 DC 플레이어/변환기 및 라디오에 대하여 초기에 사용된다.
음성 제어 디바이스에 대한 자동차 제어 어휘(224)는 공기 조절, 팬 속도, 온도, 운전석 윈도우, 승객 윈도우, 좌후방 윈도우, 우후방 윈도우, 윈도우, 도우어 락, 와이퍼, 저(Low), 중(Medium), 고(High), 증가(Increase), 세트(Set), 리셋, 취소(Cancel), 클리어(Clear), 리콜(Recall), 온(On), 오프(Off), 냉각기, 및 온풍기를 포함한다.
API에 대한 표준 유저 인터페이스 기능
본 발명의 표준 VUI는 응용 프로그램 인터페이스(API)에 의해 액세스되는 유저 상호 작동에 대한 표준 기능을 포함한다. API에 대한 이러한 표준 기능은 본 발명의 표준 VUI의 최상부에서 동작하는 응용예를 개발하는 커스터머 소프트웨어 개발자에 의해 사용되는 GETYESON, GETRESPONSE, GETRESPONSEPLUS, 및 LISTANDSELECT를 포함한다. 도 9a-9b, 도 10a-10c, 도 11, 및 도 12는 표준 VUI내의 이러한 표준 유저 인터페이스 기능의 기능성을 설명하는 흐름도이다. 간략하게, GETYESON 기능은 유저로부터 긍정(Yes)과 부정(No) 응답을 대기하고 수용하는 것에 대한 것이다. GETRESPONSE 기능은 기대되는 응답 리스트에 응답하는 유저로부터의 입력을 대기하고 수용하는 것에 대한 것이다. GETRESPONSEPLUS 기능은 GETRESPONSE 기능과 유사하지만 개량된 에러 복구 특성을 포함하는 유저로부터의 입력을 대기 및 수용하는 것에 대한 것이다. LISTANDSELECT 기능은 유저에게 선택 리스트를 제공하고 유저가 하나를 선택할 수 있게 한다. GETYESON, GETRESPONSE, GETRESPONSEPLUS, 및 LISTANDSELECT는 1997년, Speech Technology의 International Jouranl출판, Bruce E. Balentine 외 다수의 "Debouncing the Speech Button: A Sliding Capture Window Device for Synchronizing Turn-Taking"로부터 채택된다. 도 9a는 Yes/No 메뉴의 사용을 설명하고, 거절 또는 나쁜 인식을 해결하는 방법을 설명한다. 도 10a는 GETRESPONSE와 GETRESPONSEPLUS 기능에 대한 초기 또는 시작 윈도우를 설명한다. 도 10b는 GETRESPONSE와 GETRESPONSEPLUS 기능에 대한 스피치 스타트업 또는 오픈 윈도우를 설명한다. 도 10c는 GETRESPONSE와 GETRESPONSEPLUS 기능에 대한 종료 인식 또는 잠금 윈도우 기능을 설명한다. 도 11은 GETRESPONSEPLUS 기능에 대한 이중 캡쳐 윈도우 기능을 설명한다. 도 12은 LISTANDSELECT 기능에 대한 메뉴 리스트 기능을 설명한다.
도 9a-9b를 참조하면, GETYESNO 유저 인터페이스 기능은 유저에게 질문하는데 사용되고, "Yes" 또는 "No"(또는 다른 언어의 등가 어구)와 같은 긍정 또는 부정 응답을 수용하는데 사용된다. GETYESNO와 관련된 파라미터는 QUESTION과 TIMEOUT 시간이다. 질문 파라미터는 "yes" 또는 "no"와 같은 긍정 또는 부정으로 응답될 수 있는 질문을 요청하는 유저로의 음성 프롬프트이다. 타임아웃 파라미터는 응답이 검출되지 않았음을 플래깅하기 전에 응답을 대기하는 초의 단위이다. 음성 제어 디바이스는 응답 또는 출력에 따라서 바이트 값을 리턴한다. "No"가 검출되면 0이 리턴된다. "Yes"가 검출되면 1이 리턴된다. 타임아웃 에러를 표시하는 허용 시간에서 응답이 검출되지 않았다면 17이 리턴된다. 응답이 검출되었지만, 어휘외의 단어 에러를 표시하여 인식할 수 없다면 18로 리턴한다.
도 10a-10c를 참조하면, GETRESPONSE 유저 인터페이스 기능은 응답을 요청하고 응답을 대기하는 유저로의 프롬프트를 실행한다. GETRESPONSE는 토픽리스트(TopicList)로서 공지된 리스트내의 토픽을 일치시키는 말해진 응답을 조사한다. GETRESPONSE는 인식된 토큰 어레이 또는 에러 표시기를 리턴한다. GETRESPONCE는 프롬프트, 타임아웃, STS_Sound, 및 토픽리스트이다. 프롬프트 파라미터는 유저에게 플레이되는 초기 프롬프트이다. 타임아웃 파라미터는 응답이 검출되지 않음을 플래깅하기 전에 응답을 대기하는 밀리초의 단위이다. STS_Sound(Spoke-Too-Soon Sound) 파라미터는 유저가 프롬프트가 플레이하여 종료하기 전에 말한다면 플레이되는 사운드 또는 프롬프트이다. 전형적으로, STS_Sound는 말해진 어구보다는 짧은 톤 또는 의성어일 수 있다. 파라미터(TopicList)는 SRS(204)가 말해진 응답을 식별하기 위해 사용하는 토픽 리스트에 대한 어휘 서브세트이다. 음성 제어 디바이스는 포인터를 정수 어레이로 리턴시킨다. TopicList와 관련된 응답의 인식이 성공적이었다면, 어레이내의 제 1 구성요소는 리턴된 토큰의 수이고, 어레이의 다음 구성 요소는 각각의 식별된 스피치 구성 요소(하나이상의 단어)에 대한 토큰이다. 구성요소1는 리턴된 토큰의 수(n)이다. 구성요소(2 내지 n+1)는 인식된 각각의 스피치 구성 요소의 토큰 값이다. 예를 들어, 어구"Telephone Dial Office"을 고려해보자. "Telephone"에 대한 토큰 값이 7이다면, 스피치 구성요소 "Dial"에 대하여 12이고, 스피치 구성요소 "Office"에 대하여 103이고, 그 다음 모두 성공적으로 인식되었다면, 리턴된 종결 어레이는 값3, 7, 127 103을 가진 4개의 구성요소 장음일 것이다. 응답 인식이 성공적이지 않다면, 어레이는 두 개의 구성요소 장음이다. 제 1 구성 요소는 0으로 설정되고, 제 2 구성요소는 발생되는 에러 유형을 표시한다. 이러한 경우에, 구성 요소(1)는 에러가 검출되었음을 표시하는 0으로 설정된다. 구성 요소(2)는 응답이 허용된 시간(타임아웃 에러)에서 검출되지 않았음을 표시하는 17과, 응답이 검출되었지만 인식불가능함(어휘 단어외의 에러)을 표시하는 18로 설정된다. 타임아웃 에러에 대하여 리턴되는 어레이는 값(0 및 17)을 가진 두 개의 구성 요소 장음이고, 어휘 단어외의 에러에 대하여 리턴되는 어레이는 값(0 및 18)을 가진 두 개의 구성요소 장음이다.
도 11를 참조하면, GETRESPONSEPLUS 유저 인터페이스 기능은 응답을 요청하고 그 응답을 대기하는 유저로의 프롬프트를 작동시킨다. GETRESPONSEPLUS는 유저에 대한 프롬프트를 작동시켜서 말해진 응답을 대기한다는 점에서 GETRESPONSE와 유사하다. 그러나, GETRESPONSEPLUS는 유저가 말하지 않았거나 배경의 지나친 소음이 있을 에러 환경으로부터 복구하기 위해 프롬프트를 작동시킬 수 있는 능력을 포함한다. GETRESPONSEPLUS는 TopicList내의 토픽과 일치하는 말해진 응답을 경청한다. GETRESPONSEPLUS는 인식된 토큰 어레이 또는 에러 표시기를 리턴시킨다. GETRESPONSEPLUS에 대한 파라미터는 Initial_Prompt, Timeout, STS_Sound, TopicList, MaxTries, Intervene_Prompt, Repeat_Prompt, 및 Help_Prompt이다. Initial_Prompt 파라미터는 응답을 요청하는 유저에게 플레이되는 초기 프롬프트이다. TimeOut 파라미터는 응답이 검출되지 않았음을 플래깅하기 전에 응답을 대기하는 밀리초의 단위이다. STS_Sound 프롬프트는 유저가 프롬프트가 플레이를 종료하기 전에 말한다면 플레이되는 사운드 또는 프롬프트이다. 전형적으로, STS_Sound 프롬프트는 말해진 어구보다 짧은 톤이거나 의성어일 수 있다. TopicList 파라미터는 SRS(204)가 말해진 응답을 식별하는데 사용할 수 있는 토픽 리스트에 대한 어휘 서브세트이다. MaxTries 파라미터는 좋은 인식을 얻기 위해 유저에게 GETRESPONSEPLUS를 재프롬프트할 수 있는 최대 시간이다. MaxTries 후에 인식이 일어나지 않는다면, GETRESPONSEPLUS는 리턴하고, 에러를 표시할 것이다. Intervene_ Prompt 파라미터는 자신을 반복하기 위해 유저에게 요청(예, "There was too much noise. Please repeat what you said.")하도록 플레이되는 프롬프트이다. 이러한 프롬프트는 이전의 인식 시도 동안에 너무 많은 소음이 있었을 때 플레이된다. Repeat_Prompt 파라미터는 무엇이 바로 말해졌는지(예, "Please repeat what you said")를 반복하기 위해 유저에게 요청하도록 플레이되는 프롬프트이다. 이러한 프롬프트는 STS 에러가 발생될 때 사용된다. Help_Prompt 파라미터는 유저가 침묵할 때를 포함하여 유저가 추가 커맨드를 필요로 할 것 같을 때 사용된다. 음성 제어 디바이스는 유저 인터페이스 기능의 완료 즉시 포인터를 정수 어레이로 리턴시킨다. TopicList와 관련된 응답의 인식이 성공적이였다면, 어레이내의 제 1 구성 요소는 리턴된 토큰 수이고, 어레이내의 다음 구성 요소는 각각의 식별된 스피치 구성 요소(하나이상의 단어)에 대한 토큰이다. 구성 요소(1)는 리턴된 토큰 수(n)이다. 구성 요소(2 내지 n+1)는 인식된 각각의 스피치 구성 요소에 대한 토큰 값이다. 예를 들어, 어구 "Telephone Dial Office"를 고려해보자. 스피치 구성 요소("Telephone")에 대한 토큰 값이 7이라면, 스피치 구성 요소("Dial")에 대하여 12이고, 스피치 구성 요소("Office")에 대하여 103이고, 모두 성공적으로 인식되었다면, 리턴된 완료 어레이는 값3, 7, 12, 103을 가진 4개의 구성 요소 장음일 것이다. 인식이 성공적이지 않았다면, 어레이는 4개의 구성 요소 장음이다. 제 1 구성 요소는 0이다. 제 2 구성 요소는 발생된 가장 최근의 에러 유형을 표시한다. 제 3 내지 제 4 구성요소는 GETRESPONSEPLUS가 호출될 때와 GETRESPONCEPLUS가 리턴될 때사이에서 각각의 에러 유형이 발생할 때의 수를 표시한다. 이러한 경우에, 구성 요소(1)는 에러가 검출되었음을 표시하는 0의 값을 갖는다. 구성 요소(2)는 응답이 허용 시간(TimeOut 에러)에서 검출되지 않았음을 표시하는 17의 값, 또는 응답이 검출되었지만 인식불가능(어휘 단어외의 에러)함을 표시하는 18의 값, 또는 STS 에러가 검출되었음을 표시하는 19의 값을 갖는다. 구성 요소(3)는 TimeOut 에러가 검출되는 시간을 표시하는 x의 값을 갖는다. 구성 요소(5)는 STS 에러가 검출되는 시간을 표시하는 z의 값을 갖는다.
도 12를 참조하면, LISTANDSELECT 유저 인터페이스 기능은 먼저 프롬프트를 작동시킨다. 그 다음, 어레이 ListOfMenuPrompt내의 각각의 프롬프트를 작동시키고, 중지 시간동안에 각각을 중지시킨다. 이러한 중지동안에, 인식기는 TopicList의 토픽을 일치시키는 말해진 응답에 대하여 경청한다. LISTANDSELECT는 인식된 토큰의 어레이 또는 에러 표시기를 리턴시킨다. LISTANDSELECT에 대한 파라미터는 Initial_Prompt, TimeOut, STS_Sound, TopicList, ListOfMenuPrompt, PauseTime, 및 Help_Prompt를 포함한다. Initial_Prompt 파라미터는 유저에게 플레이되는 초기 프롬프트이다. TimeOut 파라미터는 ListOfMenuPrompt내의 모든 프롬프트를 플레이한 후, 또는 응답이 검출되지 않았음을 플래깅하기 전에, 응답을 대기하기 밀리초의 단위이다. STS_Sound 파라미터는 프롬프트가 플레이를 종료하기 전에 유저가 말한다면 플레이되는 사운드 또는 프롬프트이다. 전형적으로, STS_Sound는 말해진 어구보다 짧은 톤 또는 의성어일 수 있다. 파라미터(TopicList)는 말해진 응답을 식별하기 위해 SRS(204)가 사용하는 토픽 리스트에 대한 어휘 서브세트이다. ListOfMenuPrompt 파라미터는 한번에 플레이될 수 있는 프롬프트 어레이이다. 어레이내의 제 1 구성 요소는 ListOfMenuPrompt내의 프롬프트 수의 카운트이다. PauseTime 파라미터는 ListOfMenuPrompt내의 각각의 프롬프트를 플레이한 후에 중지하는 시간이다. PauseTime 파라미터는 밀리초 단위의 값을 갖는다. Help_Prompt 파라미터는 유저가 침묵하고 있을 때를 포함하여 추가 커맨드를 필요로 할 것같은 시간에 플레이되는 프롬프트이다. 음성 제어 디바이스는 유저 인터페이스 기능의 종료 즉시 정수 어레이로 포인터를 리턴시킨다. 인식이 성공적이였다면, 어레이내의 제 1 구성요소는 리턴된 토큰 수이고, 어레이내의 다음 구성 요소는 각각의 식별된 스피치 구성 요소(하나이상의 단어)에 대한 토큰이다. 구성 요소(1)는 리턴된 토큰 수를 표시하는 값(n)이다. 구성 요소(2 내지 n+1)는 인식된 각각의 스피치 구성 요소에 대한 토큰 값을 표시하는 x의 값을 갖는다. 인식이 성공적이지 않았다면, 어레이는 두 개의 구성 요소 장음이다. 제 1 구성 요소는 0이다. 제 2 구성 요소는 발생된 에러 유형을 표시한다. 이러한 경우에, 구성 요소(1)는 에러가 검출되었음을 표시하는 0의 값을 갖는다. 구성요소(2)는 허용 시간(TimeOut 에러)에서 응답이 검출되지 않았음을 표시하는 17의 값, 또는 응답이 검출되었지만 인식불가능(어휘 단어외의 에러)함을 표시하는 18의 값을 갖는다.
ACOUSTICADDWORD 기능은 유저가 어구(일명 보이스태그)을 음성 제어 디바이스에 부가할 수 있게 하는 응용 소프트웨어에 의해 사용된다. 이러한 어구는 나중에 GETRESPONSE와 GETRESPONSEPLUS 기능을 이용하여 인식될 수 있다. ACOUSTICADDWORD 기능은 예를 들어, 전화에서 상호별 다이얼 엔트리를 만드는데 사용될 수 있다. 개인의 명칭("John Smith") 또는 식별자("Mother") 또는 다른 구별 구문("My office number")을 ACOUSTICADDWORD에 기억시킴으로써, 개인은 나중에 "Call John Smith", "Call Mother", 또는 "Call my office number"를 말함으로써 전화를 할 수 있다.
ACOUSTICADDWORD는 보이스태그를 특정 TopicList로 저장한다. 이러한 동작에서, ACOUSTICADDWORD는 프롬프트를 플레이시키고, 보이스태그를 수신, 기록, 확인, 기억한다. AcousticAddWord는 한번이상 보이스태그를 재체크함으로써 에러를 복구하는 기능을 가지고 있다. AcousticAddWord는 복사의 경우에 유저에게 에러를 체크하고 리턴시킨다. ACOUSTICADDWORD는 Initial_Prompt, Timeout, STS_Sound, TopicList, MaxTries, Repeat_Prompt, Intervene_Prompt, Error_Prompt, Ok_Prompt, 및 Help_Prompt를 포함한다. Initial_Prompt 파라미터는 음성 제어 전화의 전화번호부에 명칭을 저장시키는 예로서 "Say the new name"와 같은 유저에게 플레이되는 초기 프롬프트이다. Timeout 파라미터는 실패가 검출되는 응답을 플래깅하기 전에 대기하는 밀리초이다. STS_Sound 파라미터는 프롬프트가 플레이를 종료하기 전에 유저가 말하는 경우에 플레이되는 사운드 또는 프롬프트이다. 전형적으로, STS_Sound는 실제말 보다는 짧은 톤 또는 의성어일 것이다. 파라미터 TopicList는 SRS(204)가 새로운 보이스태그를 저장하는 어휘 서브세트이다. MaxTries 파라미터는 AcousticAddWord가 좋은 인식을 얻기 위해 유저를 재프롬프트할 수 있는 최대 시간이다. 인식이 MaxTries후에 발생하지 않는다면, AcousticAddWord는 에러 표시를 리턴시킬 것이다. Repeat_Prompt 파라미터는 무엇이 바로 말해졌는지(예, "Please repeat what you said")를 반복하는지를 유저에게 요청하도록 플레이되는 프롬프트이다. 이러한 프롬프트는 STS 에러가 발생할 때 사용된다. Intervene_Prompt 파라미터는 유저에게 자신을 반복할 것(예, "There was too much noise. Please repeat what you said")을 요청하도록 플레이되는 프롬프트이다. 이러한 프롬프터는 이전의 인식 시도동안에 너무 많은 소음이 있었을 때 플레이된다. Error_Prompt 파라미터는 반복된 명칭이 초기 명칭과 일치하지 않을 때, 또는 명칭이 이중일 경우에 플레이되는 프롬프트(예, "Please try again")이다. Ok_Prompt 파라미터는 새로운 명칭이 성공적으로 기록되고 저장(예, "<name>는 주소록에 지금 저장된다")되었을 때 플레이되는 프롬프트이다. Help_Prompt 파라미터는, 유저가 침묵일 때를 포함하여, 유저가 추가 커맨드를 필요로 할 것 같을 때 플레이되는 프롬프트이다. 음성 제어 디바이스는 유저 인터페이스 기능의 완료 즉시 포인터를 정수 어레이로 리턴시킨다. AcousticAddWord와 관련된 응답의 인식이 성공적이였다면, 어레이는 7개의 구성요소 장음이다. 구성 요소(1)는 성공적인 인식을 표시하는 값이다. 구성 요소(2)는 SRS(204)에 의해 할당된 토큰 수를 표시하는 값이고, 저장된 보이스태그에 응답한다. 구성 요소(3)는 보이스태그의 기록 사본으로의 포인터이다. 구성 요소(4)는 발생된 타임아웃 에러의 수를 표시하는 값이다. 구성 요소(5)는 명칭과 일치하는 실패가 있었을 시간을 표시하는 값이다. 구성 요소(6)는 STS가 발생되는 시간을 표시하는 값이다. 구성요소(7)는 도움 프롬프트가 플레이되는 시간을 표시하는 값이다. 인식이 성공적이지 않다면, 어레이는 6개의 구성 요소 장음이다. 제 1 구성 요소는 0이다. 제 2 구성 요소는 발생되는 가장 최근의 에러 유형을 표시한다. 제 3 내지 제 5 구성 요소는 AcousticAddWord이 호출될 때와 AcousticAddWord가 리턴될 때 사이에서, 각각의 에러 유형이 발생되는 시간을 표시한다. 제 6 구성요소는 도움 프롬프트가 플레이되는 시간을 표시한다. 이러한 경우에, 구성요소(1)는 에러가 검출되었음을 표시하는 값이다. 구성 요소(2)는 허용시간(TimeOut 에러)에서 응답이 검출되지 않았음을 표시하는 17의 값; 응답이 검출되었지만 인식불가능(노이즈 에러)임을 표시하는 18; STS 에러가 검출되었음을 표시하는 19; 인식 실패(반복적으로 불일치)를 표시하는 20; 또는 보이스태그가 이미 채워져있음을 표시하는 21을 갖는다. 구성 요소(3)는 TimeOut 에러가 검출되는 시간을 표시하는 x의 값이다. 구성요소(4)는 인식 에러가 검출되는 시간을 표시하는 y의 값이다. 구성요소(5)는 STS 에러가 검출되는 시간을 표시하는 z의 값이다. 구성요소(6)는 도움 프롬프트가 플레이되는 시간을 표시하는 값이다.
음성 제어 디바이스에 대한 에티켓
표준 VUI는 음성 제어 디바이스에 에티켓을 포함한다. 일반적으로, 음성 제어 디바이스(일명, 기계)는 그 자신을 예의 바른 손님처럼 행동할 것이다.
그러나, 음성 제어 디바이스를 사용할 때 수반되는 휴먼팩터와 휴먼이슈는 거의 조사되지 않았다. 음성 제어 디바이스를 설계할 때, 다음 제안이 고려된다.
인간에 대한 기계의 요청
기계는 인간에게 무언가를 요청할 수 있다. 요청이 공손해야 한다. 예를 들어, 음성 동작 셀룰러 전화는 배터리가 방전되었을 경우에 충전기에 배치하도록 요청할 수 있다. 인간은 항상 기계의 요청을 거절하는 옵션을 가지고 있고, 기계는 기계가 인간의 생명과 가치있는 데이터를 위협하는 상황을 고려하지 않는다면, 기계는 공손하게 그것을 수용할 것이고, 이 경우는 그 보호가 더 급할 것이다.
그들 소유의 전화를 이용하는 기계
음성 제어 디바이스가 전화에 응답하거나, 인간인 유저에게 호출한다면, 그것이 인간으로 인식될 위험성이 있다면 그것은 기계로서 명백히 확인되어야 한다.
유저 언어 기록법
현존 인간이 이것이 발생함을 자각하지 않는다면 인간인 유저의 대화를 기록 및 복사하는 기계는 없다.
볼륨 레벨
기계는 인간에 의해 특정하게 지배받지 않는다면, 대기의 소음 레벨에 응답하여 볼륨 레벨을 조절할 것이다. 기계는 인간이 기계가 조용하게 있기를 원할 때(예를 들어, 인간이 잠을 자고 있을 때)센시티브해야할 것이다. 기계는 불필요하게 잡음을 발생하지 않아야 하고, 기계를 조용하게 하는 수단으로서의 유저 참견을 허용하여야 한다.
기계간 통신
도 13은 통신 환경(1300)에서 본 발명의 표준음성 유저 인터페이스(500)를 이용인데 둘 다 아닌, 또는 하나, 또는 둘다와 통신하는 한쌍의 음성 제어 디바이스(102M, 102N)(일명 기계)의 블록도이다. 음성 제어 디바이스는 다른 음성 제어 디바이스가 존재하는가, 그들이 이해하는 어떤 종류의 정보, 그리고 정보를 변경하는 것을 찾기 위해 서로 이야기할 수 있다. 예를 들어, 음성 제어 TV는 음성 제어 VCR에게 그것이 작용하는데 필요한 설정치에 대하여 요청할 수 있다. 음성 제어 디바이스사이에서의 기계간 통신은 가청 그리고 비가청 형태 모두로 발생한다. 필수적으로, 언어를 이용한 기계간 통신은 공기를 통한 사운드파, 종래의 전화 링크, 인터넷 음성 링크, 무선 음성 채널등을 포함한 언어 호환성 매체를 통해 발생할 수 있다. 기계간 통신은 기계중 아무것도, 기계중 일부, 또는 기계 모두가 본 발명의 VUI를 포함하는 곳에서 발생할 수 있다.
표준 VUI를 이용하여, 음성 제어 디바이스는 여러 방식으로 통신 환경내의 다른 음성 제어 디바이스를 배치할 수 있다. 이것은 다른 기계과의 인간의 상호작용을 지나치게 듣는 것, 다른 기계과의 기계의 상호작용을 지나치게 듣는 것, 식별 구문 "<silence> What is out there?"를 이용함으로써 거의 기계가 그들 자신을 식별함을 명백하게 요청하는 것, 명칭 카테고리 "<silence> Clock are you out there?"에 의해 그들을 주소 지정함으로써 기계의 특정 계급(에, 모든 클록)을 명백하게 조사하는 것, 또는 명칭 "<silence. Socrates are you out there?"에 의해 주소 지정함으로써 특정 기계(예, 클록 명명식 Socrates)을 명백하게 조사하는 것을 포함한다.
두 개의 제 1 경우에, 다른 대화를 듣는 과정은 다른 기계의 명칭을 폭로할 수 있다. 다른 3개의 경우에, "are you out there" 커맨드에 응답하는 earshot내의 기계는 그들 명칭으로 응답할 것이다. 나머지 두 경우에, "What is out there?" 커맨드는 특정 계급의 기계로 제한되고 그럼으로써 특정 명칭의 기계는 커맨드에 응답할 수 있는 기계의 수를 제한할 것이다. 목표의 음성 제어 디바이스의 명칭이 일단 공지되면, 초기 음성 제어 디바이스는 다른 커맨드(예, "Socrates what time is it?")를 다른 곳으로 유출할 것이다.
일부 경우에, 음성 제어 디바이스는 다른 음성 제어 디바이스와 이야기할 필요가 있고, 그들중 하나 또는 둘 다 상기 프로토콜을 고수하지는 않을 것이다. 이러한 경우에, 기계는 올바른 커맨드를 유출하고 적절한 응답을 인식하도록 명백하게 프로그램될 수 있다. 이러한 상호 작용의 간단한 예는 음성 인식 가능성을 가진 음성 제어 디바이스와, 시간의 말해진 기록과 같은 음성 계통의 서비스를 다이얼하고 원하는 데이터(시간)를 간단히 캡쳐하는 전화 음성 인터페이스일 수 있다.
표준 음성 유저 인터페이스와 음성 제어 디바이스에 대한 방법 및 장치의 본 발명의 바람직한 실시예가 설명되어 있다. 본 발명의 바람직한 실시예가 화자 독립형 음성 인식 시스템을 이용하였지만, 본 발명은 화자 의존 음성 인식 시스템과 또한 호환가능하다. 본 발명은 특정 실시예로 설명되었지만, 본 발명은 이러한 실시예에 의해서 제한된 것으로 파악되지 않고, 오히려 다음의 청구범위에 따라서 파악된다.
본 발명은 표준 음성 커맨드를 사용함으로써 다양한 디바이스를 제어하기 위한 표준 음성 유저 인터페이스를 제공할 수 있다. 또한 본 발명의 표준 VUI는 한 세트의 표준 VUI 커맨드와 신택스를 유저와 음성 제어 디바이스간의 인터페이스에 제공할 수 있으며, 표준 VUI 커맨드는 음성 제어 디바이스가 환경에서 이용가능한지를 결정하기 위해 식별 어구를 포함한다. 따라서 본 발명은 음성 제어 디바이스의 명칭을 결정하고 변경하는 기타 표준 VUI 커맨드를 제공할 수 있다.

Claims (8)

  1. 인식 정확도를 향상시키기 위해서 음성 제어 전자 디바이스를 활성화시키는 방법에 있어서,
    a) 통신 환경에서 관련 사일런스 동안 대기하는 음성 인식 시스템을 구비한 음성 제어 전자 디바이스를 제공하는 단계;
    b) 통신 환경에서 제 1 주기의 관련 사일런스를 제공하는 단계;
    c) 제 1 주기의 관련 사일런스를 제공한 후에 통신 환경에서 음성 제어 전자 디바이스와 연관된 어플라이언스 명칭을 통신하는 단계;
    d) 통신 환경에서 커맨드 세트의 커맨드를 통신하는 단계; 및
    e) 관련 사일런스, 어플라이언스 명칭, 및 커맨드가 음성 제어 전자 디바이스에 의해 모두 인식되면 음성 제어 디바이스를 활성화시키며, 그렇지 않으면 인식될 때까지 (b) 내지 (e) 단계의 시퀀스를 반복하는 단계;를 포함하는 것을 특징으로 하는 방법.
  2. 제 1 항에 있어서, 음성 제어 전자 디바이스는 화자 독립인 것을 특징으로 하는 방법.
  3. 향상된 인식 정확도를 가지는 음성 제어 전자 디바이스에 있어서,
    프로세서;
    프로세서에 결합된 프로세서 판독가능 저장 매체;
    통신 환경에서 제 1 주기의 관련 사일런스를 인식하도록 프로세서에 의해 연산실행가능한 프로세서 판독가능 저장 매체 내에 기록된 코드;
    통신 환경에서 음성 제어 전자 디바이스로 통신되고 음성 제어 전자 디바이스와 연관된 어플라이언스 명칭을 인식하기 위해 프로세서 판독가능 저장 매체 내에 기록된 코드;
    통신 환경에서 음성 제어 전자 디바이스로 통신되고 프로세서 판독가능 저장 매체 내에 저장된 커맨드 세트의 커맨드를 인식하기 위해 프로세서 판독가능 저장 매체 내에 기록된 코드; 및
    제 1 주기의 관련 사일런스, 어플라이언스 명칭, 및 커맨드를 인식하는 것에 응답하여 음성 제어 전자 디바이스를 제어하기 위해 프로세서 판독가능 저장 매체 내에 기록된 코드;를 포함하는 것을 특징으로 하는 음성 제어 전자 디바이스.
  4. 제 3 항에 있어서, 제 2 주기 내에서 음성 제어 전자 디바이스로 통신된 커맨드와 연관된 어구를 인식하는 것에 응답하여 음성 제어 전자 디바이스를 추가로 제어하기 위해 프로세서 판독가능 저장 매체 내에 기록된 코드;를 추가로 포함하는 것을 특징으로 하는 음성 제어 전자 디바이스.
  5. 제 3 항에 있어서, 어플라이언스 명칭 및 커맨드는 가청 음성을 사용하여 제공되는 것을 특징으로 하는 음성 제어 전자 디바이스.
  6. 제 3 항에 있어서, 어플라이언스 명칭 및 커맨드는 비가청 음성을 사용하여 제공되는 것을 특징으로 하는 음성 제어 전자 디바이스.
  7. 인식 정확도를 향상시키기 위해 음성 제어 전자 디바이스를 활성화시키는 방법에 있어서,
    a) 통신 환경에서 관련 사일런스 동안 대기하는 음성 인식 시스템을 구비한 음성 제어 전자 디바이스를 제공하는 단계;
    b) 통신 환경에서 제 1 주기의 관련 사일런스를 제공하는 단계;
    c) 제 1 주기의 관련 사일런스를 제공한 후에 통신 환경에서 음성 제어 전자 디바이스와 연관된 어플라이언스 명칭을 통신하며는 단계;
    d) 통신 환경에서 커맨드 세트의 커맨드를 통신하는 단계; 및
    e) 제 1 주기의 관련 사일런스, 어플라이언스 명칭, 및 커맨드를 인식하며, 음성 제어 디바이스를 활성화시키기 위해 제 2 주기의 시간, 또는 커맨드와 연관된 어구가 제 2 주기의 시간 만료 전에 통신될 때까지 대기하며, 그렇지 않으면 인식될 때까지 (b) 내지 (e)단계의 시퀀스를 반복하는 단계;를 포함하는 것을 특징으로 하는 방법.
  8. 제 7 항에 있어서, 제 1 주기의 관련 사일런스, 어플라이언스 명칭, 및 커맨드가 인식되고 어구가 인식되지 않으면, 어구가 인식된 경우와 다른 방법으로 응답하는 것을 특징으로 하는 방법.
KR1020000027292A 1999-05-21 2000-05-20 음성 제어 디바이스의 활성화를 강화시키는 방법 및 장치 KR20010020876A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US31660499A 1999-05-21 1999-05-21
US9/316,604 1999-05-21

Publications (1)

Publication Number Publication Date
KR20010020876A true KR20010020876A (ko) 2001-03-15

Family

ID=23229766

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000027292A KR20010020876A (ko) 1999-05-21 2000-05-20 음성 제어 디바이스의 활성화를 강화시키는 방법 및 장치

Country Status (3)

Country Link
EP (1) EP1054387A3 (ko)
JP (1) JP2001005485A (ko)
KR (1) KR20010020876A (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7610547B2 (en) * 2001-05-04 2009-10-27 Microsoft Corporation Markup language extensions for web enabled recognition
CN100337268C (zh) * 2004-02-23 2007-09-12 宏碁股份有限公司 语音互动的方法及其系统
US7826945B2 (en) 2005-07-01 2010-11-02 You Zhang Automobile speech-recognition interface
US7697827B2 (en) 2005-10-17 2010-04-13 Konicek Jeffrey C User-friendlier interfaces for a camera
JP4971908B2 (ja) 2007-08-24 2012-07-11 任天堂株式会社 情報処理プログラムおよび情報処理装置
US10088853B2 (en) 2012-05-02 2018-10-02 Honeywell International Inc. Devices and methods for interacting with an HVAC controller
US9536528B2 (en) * 2012-07-03 2017-01-03 Google Inc. Determining hotword suitability
US10145579B2 (en) 2013-05-01 2018-12-04 Honeywell International Inc. Devices and methods for interacting with a control system that is connected to a network
WO2015026933A2 (en) 2013-08-21 2015-02-26 Honeywell International Inc. Devices and methods for interacting with an hvac controller
US10030878B2 (en) 2013-08-21 2018-07-24 Honeywell International Inc. User interaction with building controller device using a remote server and a duplex connection
US9295086B2 (en) 2013-08-30 2016-03-22 Motorola Solutions, Inc. Method for operating a radio communication device in a multi-watch mode
US10514677B2 (en) 2014-04-11 2019-12-24 Honeywell International Inc. Frameworks and methodologies configured to assist configuring devices supported by a building management system
CN104135619A (zh) * 2014-08-12 2014-11-05 广东欧珀移动通信有限公司 一种摄像头控制方法及装置
US10504511B2 (en) * 2017-07-24 2019-12-10 Midea Group Co., Ltd. Customizable wake-up voice commands
US10887125B2 (en) 2017-09-15 2021-01-05 Kohler Co. Bathroom speaker
US11099540B2 (en) 2017-09-15 2021-08-24 Kohler Co. User identity in household appliances
US11314214B2 (en) 2017-09-15 2022-04-26 Kohler Co. Geographic analysis of water conditions
US10448762B2 (en) 2017-09-15 2019-10-22 Kohler Co. Mirror
US11093554B2 (en) 2017-09-15 2021-08-17 Kohler Co. Feedback for water consuming appliance
US10524046B2 (en) 2017-12-06 2019-12-31 Ademco Inc. Systems and methods for automatic speech recognition
US20190390866A1 (en) 2018-06-22 2019-12-26 Honeywell International Inc. Building management system with natural language interface
CN110491387B (zh) * 2019-08-23 2022-03-29 三星电子(中国)研发中心 一种基于多个终端的交互服务实现方法和系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0810502A1 (de) * 1996-05-30 1997-12-03 DIEHL GMBH &amp; CO. Steuereinheit für eine Heizungsanlage
US5926090A (en) * 1996-08-26 1999-07-20 Sharper Image Corporation Lost article detector unit with adaptive actuation signal recognition and visual and/or audible locating signal
AU8213098A (en) * 1997-06-06 1998-12-21 Bsh Bosch Und Siemens Hausgerate Gmbh Household appliance, specially an electrically operated household appliance

Also Published As

Publication number Publication date
EP1054387A2 (en) 2000-11-22
JP2001005485A (ja) 2001-01-12
EP1054387A3 (en) 2001-11-14

Similar Documents

Publication Publication Date Title
US6584439B1 (en) Method and apparatus for controlling voice controlled devices
EP1054388A2 (en) Method and apparatus for determining the state of voice controlled devices
EP1054389A2 (en) Method and apparatus for machine to machine communication using speech recognition
KR20010020876A (ko) 음성 제어 디바이스의 활성화를 강화시키는 방법 및 장치
KR20010020874A (ko) 표준 음성 유저 인터페이스 및 음성 제어 디바이스용 방법및 장치
US20060074658A1 (en) Systems and methods for hands-free voice-activated devices
US6449496B1 (en) Voice recognition user interface for telephone handsets
US6813341B1 (en) Voice activated/voice responsive item locator
JP3168033B2 (ja) 音声テレフォン・ダイヤリング
US20100332236A1 (en) Voice-triggered operation of electronic devices
EP0653701B1 (en) Method and system for location dependent verbal command execution in a computer based control system
EP1562180A1 (en) Speech dialogue system and method for controlling an electronic device
GB2114401A (en) Radio transceivers
JP2002215181A (ja) 乗り物内会話認識用途のための進歩した音声認識電話インターフェース
US7920696B2 (en) Method and device for changing to a speakerphone mode
US8223961B2 (en) Method and device for answering an incoming call
WO2001008384A1 (fr) Telephone cellulaire
JP2000151760A (ja) 携帯型情報端末
CN111429917B (zh) 一种设备唤醒方法及终端设备
JP2002132292A (ja) 音声によるホームオートメーションシステム
KR100467593B1 (ko) 음성인식 키 입력 무선 단말장치, 무선 단말장치에서키입력 대신 음성을 이용하는 방법 및 그 기록매체
JP2003255987A (ja) 音声認識を利用した機器の制御方法、制御装置及び制御プログラム
KR20060085381A (ko) 텔레매틱스 시스템의 음성인식 장치 및 방법
JPH04177400A (ja) 音声起動方式
CN1758683A (zh) 无声接收来电呼叫

Legal Events

Date Code Title Description
N231 Notification of change of applicant
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid