[go: up one dir, main page]

KR100996212B1 - 음성인식을 위한 방법, 시스템 및 프로그램 - Google Patents

음성인식을 위한 방법, 시스템 및 프로그램 Download PDF

Info

Publication number
KR100996212B1
KR100996212B1 KR1020057003948A KR20057003948A KR100996212B1 KR 100996212 B1 KR100996212 B1 KR 100996212B1 KR 1020057003948 A KR1020057003948 A KR 1020057003948A KR 20057003948 A KR20057003948 A KR 20057003948A KR 100996212 B1 KR100996212 B1 KR 100996212B1
Authority
KR
South Korea
Prior art keywords
delete delete
key
recognition
word
user
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1020057003948A
Other languages
English (en)
Other versions
KR20060037228A (ko
Inventor
다니엘 엘 로스
조던 알 코헨
데이비드 에프 존슨
맨프레드 지 그랩헐
폴 에이 프랜조사
에드워드 더블유 포터
Original Assignee
보이스 시그널 테크놀로지스, 인코포레이티드.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 보이스 시그널 테크놀로지스, 인코포레이티드. filed Critical 보이스 시그널 테크놀로지스, 인코포레이티드.
Priority claimed from PCT/US2002/028590 external-priority patent/WO2004023455A2/en
Publication of KR20060037228A publication Critical patent/KR20060037228A/ko
Application granted granted Critical
Publication of KR100996212B1 publication Critical patent/KR100996212B1/ko
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/28Constructional details of speech recognition systems
    • G10L15/32Multiple recognisers used in sequence or in parallel; Score combination systems therefor, e.g. voting 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/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/28Constructional details of speech recognition systems

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)
  • Telephone Function (AREA)

Abstract

본 발명은 선택가능한 인식 모드를 사용하는 음성 인식에 관한 것으로서, 대어휘 음성 인식에서의 선택항목 리스트를 사용, 사용자가 단어 변형을 선택할 수 있는 것, 음성 인식을 통해 하나 이상의 특정한 방법으로 인식을 자동으로 턴 오프, 대어휘 음성 인식의 폰 키 콘트롤, 폰 키 알파벳 필터링 및 스펠링을 이용한 음성 인식, 사용자가 재발성 인식을 수행할 수 있도록 하는 음성 인식, 음성 인식과 TTS(Text-To-Speech) 발생의 조합, 음성 인식과 수기 및/또는 문자 인식과의 조합, 대형어휘 음성 인식과 오디오 녹음 및 재생의 조합 등의 특징을 갖는다.
누름, 클릭, 재생, 대어휘, 음성 인식, 수기 인식, 문자 인식, 선택항목, 발성, 재발성, TTS, 핸드헬드, 폴리그램

Description

음성인식을 위한 방법, 시스템 및 프로그램{METHODS, SYSTEMS, AND PROGRAMMING FOR PERFORMING SPEECH RECOGNITION}
본 발명은 음성 인식(speech recognition)을 실행하기 위한 방법, 시스템 및 프로그램에 관한 것이다.
본 출원을 작성하는 지금까지 약 10년 동안 불연속적 대어휘(large-vocabulary) 음성 인식 시스템이 데스크 탑 개인용 컴퓨터 상에서 이용가능 하였다. 또한, 지금까지 약 5년 동안 연속적 대어휘 음성 인식 시스템이 이러한 컴퓨터 상에서 이용가능 하였다. 이 음성 인식시스템은 상당한 가치가 있는 것임이 증명되었다. 본 발명의 명세서 내용은 주로 대어휘 연속적 음성 인식 시스템을 위하여 작성된 것이다.
다음의 명세서 및 청구범위에서 사용하는 바와 같이, 대어휘 음성 인식 시스템이라고 칭할 때, 이는 말한 단어(word)에 가장 근접하게 매칭되는, 대응하는 표음 모델(phonetic model)을 갖는 단어에 의존하여, 최소한 2천 이상의 상이한 어휘 단어 중에 어느 하나인 것으로서 소정의 발성(utterance)을 인식하는 능력을 갖는 시스템을 의미한다.
도 1에 표시한 바와 같이, 대어휘 음성 인식은 통상적으로 사용자(100)가 마이크로폰(102)에 말함으로써 기능을 하게 되며, 여기서 마이크로폰(102)이란 도 1의 경우 예를 들면 휴대폰(104)의 마이크로폰을 들 수 있다. 마이크로폰은 단어의 발성에 의해 야기된 시간의 흐름에 따른 공기압의 변화를 전기적 신호로 표현된 대응 파형(106)으로 변환한다. 많은 음성 인식 시스템에서 이 파형 신호는 컴퓨터 프로세서에 의해 또는 특별한 디지털 신호 프로세서(108)에 의해 행해지는 디지털 신호 처리에 의해 시간 도메인 표현으로 변환된다. 때로 이 시간 도메인 표현은 다수의 파라메터 프레임(112)을 가지고 있으며, 이들 각 프레임은 예를 들면 매 100회째의 (시간) 초와 같은 다수의 연속 시간 주기 각각에서 파형(106)으로 표현되는 사운드 특성을 나타낸다.
도 2에 나타낸 바와 같이, 피인식 발성의 시간 도메인 또는 프레임 표현은 이후 대어휘 중에서 다양한 단어에 대응하는 다수의 가능한 표음 모델(200) 시퀀스와 매치시키는 작업을 거친다. 최대어휘 음성 인식 시스템에서, 개별 단어(202)는 각각 대부분의 사전에서 발견되는 표음 스펠링에 유사한 대응 표음 스펠링(204)으로 표현된다. 표음 스펠링에서 각 음소(phoneme)는 이 것과 연관된 하나 이상의 표음 모델(200)을 갖는다. 많은 시스템에서 이 표음 모델(200)은 컨텍스트 내 음소 모델(phoneme-in-context model)로서, 소정의 단어 표음 스펠링에 있어서 컨텍스트 내에서 전후 음소 사이에 걸려 있는 음소를 독자적인 아닌 연관적으로 모델화한 것이다. 표음모델은 공통적으로 하나 이상의 가능한 모델의 시퀀스로 구성되며, 이들 각각의 모델은 피인식 발성의 시간 도메인 표현(110)의 프레임에서 사용되는 각 파라메터를 위해 다양한 파라메터 값의 가능성을 표현한다.
최근 개인용 컴퓨터 작업에서 주요 경향 중 하나로는 컴퓨터 장비의 소형화 및 더욱 간편한 휴대성을 들 수 있다.
원래의 개인용 컴퓨터 작업은 대체로 도 3에 나타낸 바와 같이 데스크 탑 형 컴퓨터로 이루어졌다. 이후 랩탑의 형태로 보다 작아진 개인용 컴퓨터의 사용이 증대하였다. 여기서 랩탑 컴퓨터는 컴퓨터 성능이나 사용자 인터페이스라는 측면에서 데스크 탑 컴퓨터와 대체로 동일한 유형의 연산 능력을 가지므로 도시를 생략한다. 현대 대부분의 대어휘 음성 인식 시스템은 이러한 시스템 상에서 사용되는 것을 전제로 설계된 것이다.
최근, 새로운 타입의 컵퓨터 사용이 늘어나고 있으며, 이 새로운 타입의 컴퓨터로는 도 4의 타블렛 컴퓨터, 도 5의 PDA(Personal Digital Assistant), 도 6의 연산능력을 향상한 셀 폰, 도 7의 폰 컴퓨터, 도 8에서와 같이 헤드착용장비에 설치되는 것으로서, 스크린과 아이트랙킹(eyetracking) 및/또는 오디오 출력과 함께 사용자 인터페이스를 제공하는 착복식 컴퓨터를 들 수 있다.
최근 연산능력의 증대 때문에, 이러한 새로운 타입의 장비는 불연속적 대어휘 인식 시스템이 설치된 첫번째 데스크탑의 연산능력과 대등한 연산능력을 갖추고 있으며, 경우에 따라서는 연속적 대어휘 음성 인식을 운영하는 초기 데스크 탑 컴퓨터의 연산능력과 대등한 능력을 갖고 있을 정도이다. 이러한 소형 및/또는 휴대용 개인용 컴퓨터의 연산능력은 시간이 지남에 따라 계속 성장을 거듭할 뿐이다.
보다 휴대성향이 큰 컴퓨터에서 효과적인 대어휘 음성 인식을 제공하는 데 있어 가장 큰 과제 중 하나는 이러한 장비 상에서 음성 인식을 생성, 편집, 사용하는 것을 보다 쉽고, 보다 빠르게 이룰 수 있는 사용자 인터페이스를 제공하는 것이다.
본 발명의 일측면은 선택가능한 인식모드를 이용하는 음성 인식에 관한 것으로서, 언어 컨텍스트를 이용한 인식 모드와 언어 컨텍스트를 이용하지 않는 인식 모드 사이에서 사용자가 선택을 할 수 있도록 하는 단계와, 연속 대어휘 음성 인식 모드와 불연속 대어휘 음성 인식 모드 사이에서 사용자가 선택을 할 수 있도록 하는 단계와, 최소한 2개 이상의 서로 다른 알파벳 엔트리 음성 인식 모드 사이에서 사용자가 선택을 할 수 있도록 하는 단계와, 텍스트를 생성할 때 대어휘 모드, 문자(letter) 인식모드, 수치 인식 모드, 구두 인식 모드를 포함하는 4개 이상의 모드 중에서 사용자가 선택을 할 수 있도록 하는 단계로 구성된다.
본 발명의 또 다른 측면은 대어휘 음성 인식에서 선택항목 리스트를 이용하는 것에 관한 것으로서, 문자(character) 순차 선택항목 리스트를 제공하는 단계와, 수직으로 스크롤 가능한 선택항목 리스트를 제공하는 단계와, 수평으로 스크롤 가능한 선택항목 리스트를 제공하는 단계와, 인식 후보를 제한하기 위해 사용하는 알파벳 필터에서 문자 상에 선택항목 리스트를 제공하는 단계로 구성된다.
본 발명의 또 다른 측면은 사용자에게 단어 변형(transformation)을 선탤할 수 있게 하는 것에 관한 것으로서, 사용자가 원하는 방법으로 변경할 수 있도록 인식된 단어에 대해 다수의 변형으로부터 하나를 선택할 수 있는 것, 이 변경으로는 예를 들면 단수를 복수로, 단어를 동명사로 변형하는 것 등을 들 수 있다. 또한 사용자는 선택된 단어를 알파벳 형태와 비알파벳 형태 간에 변형하도록 선택할 수도 있다. 또한 사용자는 인식된 단어에 대응하는 변형 단어의 선택항목 리스트를 제시받고 출력으로서 변형된 단어 중 하나를 선택할 수 있다.
본 발명의 또 다른 측면은 하나 이상의 특별한 방법으로 자동으로 인식을 턴 오프(turn off) 하는 음성 인식에 관한 것으로서, 대어휘 음성 인식 명령은 인식을 턴 온(turn on)하고, 다른 명령을 수신하여 인식을 다시 턴 온할 때까지 자동으로 이 인식을 턴 오프한다. 또한 본 발명의 음성 인식에 따르면 버튼을 누르는 시간 길이로 결정되는 지속기간(duration) 동안 인식이 이루어지며, 동일 버튼을 클릭할 경우는 이 클릭 시간의 길이에 상관없이 일정 시간길이 동안 인식이 이루어진다.
본 발명의 또 다른 측면은 대어휘 음성 인식의 폰 키 콘트롤에 관한 것으로서, 폰 키를 이용하여 선택항목 리스트로부터 단어를 선택하고, 폰 키를 사용하여 차후 누를 키에 대한 도움말을 제공하는 헬프 모드를 선택하고, 폰 키를 사용하여 폰 키에 현재 연관된 펑크션 리스트를 선택하는 것들을 포함한다. 또한 본 발명에 따르면 텍스트 내비게이션 모드를 갖는 개선된 음성 인식으로 다중 수치부여 폰키가 동시에 이 폰키와 연관된 다중의 여러 키 맵핑을 가지며, 이러한 키를 누름으로써 수치부여 폰키와 연관된 펑크션이 누른 키와 연관된 맵핑으로 변경하도록 작용한다.
본 발명의 또 다른 측면은 폰키 알파벳 필터링 및 스펠링을 이용하는 음성 인식에 관한 것으로서, 알파벳 필터링이란 문자(letter) 시퀀스, 통상은 사용자 입력에 의해 표시된 문자 시퀀스에 대응하는 초기 문자 시퀀스를 포함하는 단어의 음성 인식을 의미한다. 본 발명의 이러한 측면에 있어서는 필터링 입력으로서 폰 키를 누르는 것을 이용하며, 각 키 누름이 원하는 단어에서의 대응 문자(character) 위치가 이 폰키로 식별된 다수의 문자 중 하나와 대응한다는 점에서 모호(ambiguous)이다. 또한 본 발명에 따르면, 필터링 입력으로서 폰 키 누름 시퀀스를 사용하며, 소정 키의 0번 이상의 반복적 누름 수가 필터에 사용하기 위한 키와 연관된 다수 문자의 비모호(non-ambiguous) 표시를 제공한다. 또한 본 발명에 따르면, 음성 인식으로 생성된 텍스트 이외에 사용될 수 있는 텍스트를 스펠링하기 위해 이와 같은 모호 및 비모호 폰 키 입력을 사용한다.
본 발명의 또 다른 측면은 사용자가 재발성(re-utterance) 인식을 행할 수 있는 음성 인식에 관한 것으로서, 하나 이상의 단어 시퀀스의 두번째 말과, 같은 시퀀스의 초기 말 둘 다에 대해 이 음성 인식이 수행되어, 발성에 대한 하나 이상의 최상의 평가를 받은 텍스트 시퀀스를 보다 양호하게 선택할 수 있도록 지원한다.
삭제
본 발명의 또 다른 측면은 음성 인식과 TTS(Text-To-Speech)발생의 조합에 관한 것으로서, 음성 인식과 TTS 소프트웨어는 표음 스펠링과 문자 대 사운드 룰과 같은 자원을 공유한다. 본 발명에 따르면 하나 이상의 모드를 갖는 대어휘 음성 인식 시스템을 포함하며, 여기서 하나 이상의 모드는 자동으로 TTS를 사용하여 텍스트 인식 이후 그 인식된 텍스트를 말하고, TTS 또는 녹음된 오디오를 이용하여 명령 인식 이후 그 인식된 명령의 이름을 말한다. 또한 본 발명에 따르면 각 발성 이후 TTS를 이용하여 인식된 텍스트를 자동으로 반복하는 대어휘 시스템을 포함한다. 또한 본 발명에 따르면, 사용자는 현재 위치에서 하나 이상의 단어로 인식된 텍스트에서 앞 뒤로 이동할 수 있으며, 이 이동은 상기 각 이동을 TTS가 말한 이후가 된다. 또한 본 발명에 따르면, 음성 인식을 이용하여 선택항목 리스트를 생성하고 이 리스트의 선택항목 중 하나 이상의 TTS 출력을 제공하는 대어휘 시스템을 제공한다.
본 발명의 또 다른 측면은 음성 인식과 수기(handwriting) 및/또는 문자(character) 인식의 조합에 관한 것으로서, 인식될 하나 이상의 단어 시퀀스 수기 및 발성 표현 모두의 인식 펑크션으로서 하나 이상의 최상의 평가를 받은 인식 후보를 선택한다. 본 발명에 따르면, 하나 이상의 문자(letter)의 문자(character) 또는 수기 인식을 이용하여 하나 이상의 단어의 음성 인식을 알파벳 방식으로 필터링한다. 또한 본 발명에 따르면 하나 이상의 문자 식별 단어의 음성 인식을 사용하여 수기 인식을 알파벳 방식으로 필터링하며, 음성 인식을 이용하여 하나 이상의 단어의 수기 인식을 교정한다.
본 발명의 또 다른 측면은 대어휘 음성 인식과 오디오 녹음 및 재생의 조합에 관한 것으로서, 대어휘 음성 인식과 오디오 녹음 둘 다가 되는 핸드헬드 장치를 포함하고, 이 장치에서 사용자는 사운드 입력을 녹음하는 다음 모드들 중 2가지 이상의 모드 사이에서 전환을 할 수 있으며, 하나는 대응 음성 인식 출력이 없는 오디오를 녹음하는 모드이고, 하나는 대응 음성 인식 출력과 같이 오디오를 레코딩하는 모드이고, 하나는 대응 오디오 없이 오디오 음성 인식 출력을 녹음하는 모드이다. 본 발명에 따르면, 핸드헬드 장치는 대어휘 음성 인식과 오디오 녹음 능력 모두를 가지고 있으며, 사용자가 이전에 녹음된 사운드 부분을 선택할 수 있고, 이 부분에 대해 음성 인식을 수행할 수 있다. 본 발명에 따르면, 대어휘 음성 인식 시스템은 사용자가 대어휘 음성 인식을 사용하여 대응 음성 인식 출력 없이 녹음된 사운드 부분에 대해 텍스트 라벨을 제공할 수 있고, 사용자는 라벨의 단어를 발성하고, 이 발성을 인식하고, 이들 단어를 포함한 텍스트를 검색하여 비인식 녹음된 사운드 부분과 관련된 텍스트 라벨을 검색할 수 있다. 본 발명에 따르면, 대어휘 시스템을 통해 사용자는 단일 입력으로 이전에 녹음된 오디오의 재생 동작과 음성 인식을 수행하는 동작 사이에서 전환이 가능하며, 여기서 연속적인 오디오 재생은 자동으로 선행 재생의 종료 약간 앞에서 시작된다. 또한 본 발명은 대어휘 음성 인식과 오디오 녹음 및 재생 능력을 모두 갖는 셀 폰을 포함한다.
본 발명의 그 밖의 특징 및 이점은 다음에 첨부도면과 함께 설명하는 본 발명의 바람직한 실시예를 통해 보다 명백히 이해할 수 있을 것이다.
도 1은 음성 인식 소프트웨어에 의해 사용하기 위해 발성된 사운드가 음향 파라메터 프레임으로 어떻게 변환될 수 있는가를 나타낸 개략도.
도 2는 도 1에 표시한 파라메터 프레임의 시퀀스에 의해 표현되는 단어가 표음 스펠링을 사용하여, 어떻게 음성 인식을 통해 인식되는가를 나타내고, 단어의 표음모델간의 시간 정렬을 이용하여 파라메터 프레임이 도출된 원래의 음향 신호에 대해 이들 단어를 시간 정렬하는 방법을 나타낸 개략도.
도 3 내지 도 8은 본 발명의 여러 특징이 사용되는 다양한 타입의 연산 플랫폼의 진행을 도시하고, 보다 소형이면서 보다 휴대성을 갖는 연산 장치의 경향을 표현한 도면.
도 9는 PDA(Personal Digital Assistant), SIP(Software Input Panel)을 표시하는 터치 스크린을 갖는 장비를 나타낸 것으로서, 이러한 장비에서 운영되는 응용 프로그램으로 음성 인식을 통해 텍스트를 입력하여 본 발명의 여러가지 특징을 구현할 수 있음을 설명한 도면.
도 10은 도 9에 도시한 타입의 PDA에서 발견될 수 있는 여러 하드웨어 및 소프트웨어 성분을 나타낸 개략도.
도 11은 도 9에 도시한 음성 인식 SIP의 여러 특정 요소를 지적하기 위해 사용되는 스크린 이미지의 확대도.
도 12는 음성 인식 SIP에 의해 생성된 교정 창과 여러 그래픽 사용자 인터페이스 요소를 제외하고는 도 11과 유사한 도면.
도 13 내지 도 17은 여러 가지 입력, 특히 그래픽 사용자 인터페이스로부터 수신된 입력으로 음성 인식 SIP가 행하는 반응에 관한 의사코드의 개략 설명도.
도 18은 도 9의 음성 인식 SIP에서 또는 도 59의 시작에서 보여주는 셀 폰의 실시예에서 하나 이상의 사용자 인터페이스 버튼을 누르는 것에 반응하여 음성 인식이 턴온되는 시간길이를 결정하기 위해 사용되는 인식 지속 논리의 의사코드의 개략 설명도.
도 19는 단순 터치에 의해 도 9의 음성 인식 SIP의 각 요소와 연관된 기능설명을 사용자가 볼 수 있도록 허락하는 헬프 모드의 의사코드의 개략 설명도.
도 20 및 도 21은 도 19에서 설명한 헬프 모드에 생성된 스크린 이미지를 나타낸 도면.
도 22는 교정창을 표시하기 위하여 도 9의 음성 인식 SIP와 도 59의 셀폰의 실시예 둘 다에 의해 여러 가지 형태로 사용하는 표시 선택항목 리스트 루틴(display_Choice_List routine)의 의사코드의 개략 설명도.
도 23은 도 22의 표시 선택항목 리스트 루틴에 의해 하나 이상의 선택항목 리스트를 생성하기 위해 음성 인식 SIP와 셀폰 실시예에 의해 여러가지 형태로 사용되는 겟 선택항목 루틴(get_Choice routine)의 의사코드의 개략 설명도.
도 24 및 도 25는 도 23의 겟 선택항목 루틴에 의해 사용되는 발성 리스트 데이터 구조를 나타낸 도면.
도 26은 만약 있다면 사용자에 의해 입력된 필터링 입력을 매치시키도록 교정창 선택항목를 제한하기 위해 겟 선택항목 루틴에 의해 사용된 필터 매치 루틴(filter_Match routine)의 개략 설명도.
도 27은 소정의 단어 또는 선택의 여러 가지 다른 형태를 표시하는 단어 형태 교정 리스트를 생성하기 위해 음성 인식 SIP와 셀폰 실시예에 의해 여러 가지 형태로 사용된 단어 형태 리스트 루틴(word_Form_List routine)의 의사코드 개략설명도.
도 28 및 도 29는 사용자로부터의 알파벳 필터링 정보 입력에 반응하여 도 26의 필터 매치 루틴에 의해 사용된 필터 문자열을 편집하기 위해 음성 인식 SIP와 셀폰 실시예에 의해 여러 가지 형태로 사용되는 필터 편집 루틴(filter_Edit routine)의 의사코드의 개략 설명도.
도 30은 필터 문자열의 개별 문자에 대해 선택항목 리스트를 표시하도록 음성 인식 SIP와 셀폰 실시예에 의해 여러 가지 형태로 사용되는 필터 문자 선택항목 루틴(filter_Character_Choice routine)의 의사코드의 개략 설명도.
도 31 내지 도 35는 한번에 한번씩 유형의 불연속적 음성 인식 방법을 이용하여 사용자가 단어의 인식을 입력 및 교정하는 사용자와 음성 인식 SIP 간의 상호작용 시퀀스를 나타낸 도면.
도 36은 SIP 사용자가 텍스트로 입력하기 전에 원하는 단어를 찾고, 이어서 이것은 대문자 사용 버튼을 통해 대문자화할 때까지 교정창에 제시된 선택항목 리스트를 스크롤하여 도 35의 끝에 표시한 잘못된 인식(mis-recognition)의 교정을 하는 방법을 나타낸 설명도.
도 37은 SIP 사용자가 교정창에서 대체 선택항목의 일부를 선택하고, 이것을 원하는 음성 인식 출력을 선택하기 위한 필터로서 사용하여 이러한 잘못된 인식을 교정하는 방법을 나타낸 설명도.
도 38은 SIP 사용자가 알파벳으로 2개의 선택된 선택항목 사이에 위치하는 문자 시퀀스로 시작하는 출력에 음성 인식 출력을 제한시키도록 교정창에서 2개의 연속 알파벳 순서의 대체 선택항목를 선택할 수 있는 방법을 나타낸 설명도.
도 39는 필터 문자를 입력하기 위해 SIP 사용자가 문자 이름의 음성 인식을 사용하는 방법과, 이러한 필터 문자의 인식에서 에러를 교정하는 데 필터 문자 선택항목 리스트를 사용하는 방법을 나타낸 도면.
도 40은 SIP 사용자가 국제 통신 알파벳을 이용하여 필터 문자열의 하나 이상의 문자를 입력하는 방법과 SIP 인터페이스가 사용자에게 이 알파벳으로부터 단어를 제시하는 방법을 나타낸 도면.
도 41은 사용자가 교정창에서 대체 선택항목으로부터 문자 초기 시퀀스를 선택하고, 이어서 국제 통신 알파벳을 이용하여 이 시퀀스에 문자를 부가하여 원하는 출력 스펠링을 완성하는 방법을 나타낸 도면.
도 42 내지 도 43은 사용자가 연속 음성 인식을 사용하여 텍스트를 SIP로 입력 및 편집하는 사용자 상호작용 시퀀스를 나타낸 도면.
도 45는 연속 문자 이름 인식을 이용하여 원하는 출력의 일부 또는 전부를 모호(또는 다가) 필터로 스펠링하여 사용자가 잘못된 인식을 교정하는 방법과, 사용자가 필터 문자 선택항목 리스트를 이용하여 이러한 연속 문자 이름 인식에 생성된 에러를 신속하게 교정하는 방법을 나타낸 도면.
도 46은 도시된 문자 인식에 의해 음성 인식 SIP가 또한 사용자에게 문자를 입력시키게 할 수 있는 방법을 나타낸 도면.
도 47은 도 46에 도시한 타입의 도시된 문자 인식을 수행할 때 SIP에 의해 사용되는 문자 인식 모드의 의사코드에 관한 개략 설명도.
도 48은 수기인식을 이용하여 음성 인식 SIP가 사용자에게 텍스트를 입력시키는 방법을 나타낸 도면.
도 49는 도 48에 도시한 타입의 수기인식을 수행할 때 SIP에 의해 사용된 수기 인식모드의 의사코드에 관한 개략 설명도.
도 50은 음성 인식시스템이 소프트웨어 키보드로 사용자에게 텍스트를 입력시키게 할 수 있는 방법을 나타낸 도면.
도 51은 음성 인식, 문자 인식, 수기 인식, 및 소프트웨어 키보드 입력 등 필터링 정보를 입력하는 여러가지 방법 중 선택이 가능하게 하는 필터 엔트리 모드 메뉴를 도시한 도면.
도 52 내지 도 54는 문자 인식, 수기 인식 또는 소프트웨어 키보드 입력이 SIP 교정창에서 생성된 음성 인식 선택항목을 필터링하는 데 사용될 수 있는 방법을 나타낸 도면.
도 55 및 도 56은 SIP를 통해 단어 또는 필터 문자가 사용되어 수기 인식 입력을 어떻게 교정하는가를 나타낸 도면.
도 58은 도 22의 표시 선택항목 리스트 루틴의 대체 실시예의 개략도로서, 도 22의 알파벳 순서가 아니라 인식 평가에 의해서만 선택항목 리스트가 순서 선택항목을 생성하는 것을 나타낸 도면.
도 59는 본 발명의 여러가지 특징을 구현한 셀폰을 나타낸 도면.
도 60은 도 59에 도시한 셀폰과 같은 형태의 전형적인 셀폰에 있어 그 주요구성요소를 나타낸 개략구성도.
도 61은 도 59의 셀폰에서 하나 이상의 대량 저장장치에 포함된 여러가지 프로그램 및 데이터 구조를 나타낸 개략 구성도.
도 62는 숫자형 폰 키를 누름으로써 통상의 다이얼링을 행하는 것을 보여주는 도 59의 셀폰을 나타낸 도면.
도 63은 도 62의 상부에 도시한 스크린에 의해 도시한 바와 같이 상부레벨 폰 모드에서 있을 때, 도 59의 셀폰의 통상의 구조를 나타낸 의사코드를 설명하는 개략도.
도 64는 도 59의 셀폰의 사용자가 셀폰 상에서 메뉴키를 누름으로써 메인 메뉴의 명령을 신속하게 액세스 및 볼 수 있는 방법을 나타낸 도면.
도 65 및 도 66은 도 64에 도시한 메인메뉴의 동작에 관한 의사코드를 설명한 개략도.
도 67 내지 도 74는 도 59의 셀폰 상에서 동작하는 음성 인식 텍스트 편집기와 연관된 여러 가지 중요한 모드 및 메뉴 각각에서의 셀폰의 숫자 키의 명령 맵핑을 도시한 도면.
도 75는 도 64에 도시한 타입의 메뉴와 같은 메뉴에서 실질적으로 사용되는 명령 리스트를 통해 메뉴버튼을 누르고 스크롤링하여 비메뉴 모드에서 하나 이상의 키와 연관된 기능을 셀폰의 텍스트 편집 소프트웨어의 사용자가 신속하게 볼 수 있는 방법을 나타낸 도면.
도 76 내지 도 78은 텍스트 창, 편집기 모드 일때 셀폰의 음성 인식 프로그램의 반응에 관한 의사코드을 설명하는 개략도.
도 79 및 도 80은 텍스트를 입력할 수 있는 여러 가지 방법 중에서 선택할 수 있도록 여러 가지 음성 인식 모드로부터 액세스 가능한 엔트리 모드 메뉴의 의사코드를 설명하는 개략도.
도 81 내지 도 83은 교정창을 표시하고, 이러한 교정창이 표시될 때 사용자 입력에 반응하도록 셀폰에 의해 사용되는 교정창 루틴(correction_Window routine)의 의사코드를 설명하기 위한 도면.
도 84는 편집 모드의 텍스트 창이 표시될 때 셀폰의 내비게이션 키로 사용자가 여러가지 내비게이션 방법을 선택하는 것을 가능하게 하는 편집 내비게이션 메뉴의 의사코드를 설명하기 위한 도면.
도 85는 교정창에 있을 때, 셀폰의 내비게이션 키로 여러 가지 방법의 내비게이션을 사용자가 선택할 수 있고, 교정창에서 대체 선택항목의 선택에 교정창이 반응할 수 있는 다양한 방법 중에서 선택할 수 있는 교정창 내비게이션 메뉴의 의사코드를 설명하기 위한 도면.
도 86 내지 도 88은 키 알파모드의 약간 다른 3개의 실시예를 설명하는 의사코드의 개략 설명도로서, 사용자가 한 문자로 시작하는 단어를 말하여 이 문자를 입력하고, 누른 키와 연관된 3개 또는 4개의 문자 중 하나로 시작하는 단어로 인식을 제한하여 폰키의 누름에 반응하는 방법을 나타낸 도면.
도 89 및 도 90은 많은 셀폰 음성 인식 프로그램 모드로부터 액세스 가능한 편집 옵션 메뉴 하에서 유용한 일부 옵션의 의사코드에 관한 개략 설명도.
도 91 및 도 92는 특정 문법형 단어와 같은 특정형 단어에 인식 선택항목을 제한하도록 사용될 수 있는 단어형 메뉴에 관한 개략 설명도.
도 93은 여러 가지 음성 인식 기능을 위한 디폴트 인식 설정을 설정하거나 인식 지속 설정을 설정하는데 사용될 수 있는 엔트리 우선순위 메뉴의 의사코드에 관한 설명도.
도 94는 셀폰 상에서 유용한 음성 재생 동작에 대한 텍스트의 의사코드에 관한 설명도.
도 95는 셀폰의 음성 인식에 의해 또한 이용되는 프로그램 및 데이터 구조를 음성 생성에 대응하는 셀폰의 텍스트가 어떻게 이용하는가를 나타낸 의사코드에 관한 설명도.
도 96은 장비의 음성 인식 능력을 이용하여 셀폰 상에서 기록되는 오디오를 사용자가 보다 쉽게 표기하도록 셀폰의 표기 모드의 의사코드에 관한 설명도.
도 97은 셀폰의 음성 인식 편집기가 셀폰에 제시된 대화 박스에서 텍스트를 입력 및 편집하는데 사용될 수 있고, 이러한 대화 박스에서 리스트 박스, 체크 박스 및 무선 버튼과 같은 제어 상태를 변화시킬 수 있는 프로그램의 의사코드에 관한 간략 설명도.
도 98은 셀폰의 명령구조에서 여러 가지 위치의 설명을 여러 가지 위치의 설 명을 사용자가 신속하게 찾을 수 있도록 하는 셀 폰에서 유용한 헬프 루틴의 의사코드의 간략 설명도.
도 99 및 도 100은 도 98의 프로그램으로 디스플레이되는 타입의 헬프 메뉴의 예를 예시하는 도면.
도 101 및 도 102는 도 98의 헬프 프로그램을 사용자가 이용하여 셀 폰의 명령구조의 여러 가지 부분과 연관된 펑크션을 신속하게 조사하고 그 설명을 수신하는 방법을 설명한 예시도.
도 103 및 도 104는 사용자가 연속 음성 인식을 이용하여 텍스트를 입력하고 교정하는 셀폰의 음성 인식 편집기의 사용자 인터페이스와, 그 사용자 간의 상호작용 시퀀스를 나타낸 예시도.
도 105는 셀폰 상에서 디스플레이되는 교정창에서 수평으로 사용자가 스크롤하는 방법을 설명한 예시도.
도 107은 도 86에 도시한 키 알파 모드의 동작을 나타낸 예시도.
도 108 및 도 109는 셀폰의 음성 인식 편집기를 통해 사용자가 셀폰의 무선 통신 능력으로 송신될 수 있는 e-메일 메시지에서 텍스트를 어드레스, 입력 및 편집하는 방법을 설명한 예시도.
도 110은 셀폰의 음성 인식을 통해 하나 이상의 단어의 불연속 인식으로부터의 평가와 이들 단어의 선행 연속 인식으로부터의 평가를 조합하여 원하는 출력을 생성하는 것을 도울 수 있는 방법을 설명한 예시도.
도 111은 셀폰의 음성 인식 소프트웨어를 통해 셀폰의 무선 통신 능력을 이용하여 월드 와이드 웹(www)사이트를 액세스하기 위해 URL을 입력할 수 있는 방법을 설명한 예시도.
도 112 및 도 113은 셀폰의 음성 인식 사용자 인터페이스의 요소를 통해 사용자가 월드 와이드 웹(www) 페이지를 내비게이션하고 이 웹 페이지 필드에서 아이템을 선택하고, 텍스트를 입력 및 편집하는 방법을 설명한 예시도.
도 114는 셀폰의 음성 인식 사용자 인터페이스의 요소를 통해 사용자가 웹 페이지의 텍스트 필드나 대화 박스와 같이 셀폰의 스크린에 디스플레이되는 텍스트 필드에서 한번에 보기에는 매우 큰 텍스트 문자열을 보다 용이하게 독출할 수 있는 방법을 설명한 예시도.
도 115는 셀폰의 파인드 대화 박스를 통해 사용자가 음성 인식으로 그 대화 박스에 검색 문자열을 입력하는 방법, 이후 발견 펑크션이 입력된 문자열의 검색을 행하는 방법, 그리고 발견된 텍스트를 셀폰에 녹음된 오디오에 라벨을 하기 위한 텍스트로 사용하는 방법을 설명한 예시도.
도 116은 도 97에 도시한 대화 박스 편집기 프로그램을 통해 음성 인식이 리스트 박스와 연관되어 있을 수 있는 값을 선택하는데 사용되는 방법을 설명한 예시도.
도 117은 음성 인식을 통해 이름으로 사람에게 다이얼을 하고, 셀폰의 오디오 재생과 녹음 능력을 이러한 셀폰 호출 중에 이용할 수 있는 방법을 설명한 예시도.
도 118은 셀폰이 오디오를 녹음하면서 텍스트 라벨 또는 텍스트 코멘트를 녹음된 오디오로 삽입할 때 음성 인식이 턴온 및 턴오프되는 방법을 설명한 예시도.
도 119는 셀폰을 통해 사용자가 이전에 녹음된 오디오 부분에 대해 음성 인식을 수행하는 방법을 설명한 예시도.
도 120은 셀폰을 통해 사용자가 사운드의 오디오 녹음으로부터 이 사운드의 소정의 세그멘트에 대해 인식된 텍스트를 스트립하는 방법을 설명하는 예시도.
도 121은 셀폰을 통해 사용자가 텍스트의 선택된 세그멘트 부분이 오디오 녹음과 관련된 것을 표시하는 표시(indication)를 턴온 또는 오프하는 방법을 보여주는 예시도.
도 122 내지 도 125는 셀폰 음성 인식 소프트웨어를 통해 사용자가 음성 인식에 의해 전화번호를 입력하고, 잘못되었을 때 이 번호의 인식을 교정하는 방법을 설명한 예시도.
도 126은 도 59 내지 도 125에 도시한 셀폰 실시예의 여러 특징을 셀폰 실시예의 TTS 및 지속 로직 특징을 포함하는 자동환경에서 이용하는 방법을 설명한 예시도.
도 127 및 도 128은 도 59 내지 도 125에 도시한 셀폰 실시예의 대부분의 특징을 코드리스 폰 또는 랜드라인 폰에서 이용하는 방법을 설명한 예시도.
도 129는 도 117에서 부분적으로 예시한 셀폰 실시예의 이름 다이얼링 프로그램의 의사코드를 개략적으로 설명한 도면.
도 130은 도 122 내지 도 125에 예시한 셀폰의 숫자 다이얼 프로그램의 의사코드를 개략적으로 설명한 도면.
도 9는 본 발명의 여러 특징이 적용될 수 있는 개인용 디지털 어시스턴트(PDA : Personal Digital Assistant)를 도시한다. 도시된 PDA는 현재 시판되고 있는 iPAQ H3650 포켓 PC, 카시오 카시오페아, 휴렛패커드 조르나도 525 와 같은 제품에 상당하는 것이다.
PDA(900)은 상대적으로 고해상도 터치 스크린(902)을 가지고 있어, 스타일러스(904) 또는 손가락 등으로 터치스크린을 터치하여 소프트웨어 버튼 뿐만 아니라 텍스트도 사용자가 선택할 수 있다. PDA는 또한 한 세트(일조)의 입력버튼(906)과 2차원 내비게이션 콘트롤(908)을 포함한다.
본 명세서 및 청구범위에서 하나 이상의 차원에서 이동하는 불연속 유니트를 사용자가 선택할 수 있도록 하는 내비게이션 입력장비는 버튼에 의한 입력과 같은 범주에 포함되는 것으로 간주될 것이다. 이것은 특히 전화 인터페이스에서 실질적으로 적용되며, 이 경우 내비게이션 장비의 상,하 좌,우 입력이 폰키 또는 폰 버튼으로 간주된다.
도 10은 PDA (900)의 개략적 시스템 다이어그램으로서, 터치 스크린(902) 및 입력버튼(906)(내비게이션 입력(908)을 포함한다)을 나타내고 있다. 또한, 도 10은 이 장비가 마이크로프로세서(1002)와 같은 중앙처리장치(CPU)를 포함하는 것을 보여주고 있다. 이 CPU(1002)는 하나 이상의 전기통신버스(1004)를 통해 ROM(1006)(때로는 플래시 ROM), RAM(1008), 하나 이상의 I/O 장치(1010), 터치 스크린(902) 상에서의 디스플레이를 제어하는 비디오 콘트롤러(1012), 마이크로폰(1015)으로부터 입력을 수신하고 스피커(1016)에 오디오 출력을 공급하는 오디오장치(1014)에 접속된다.
PDA는 또한 휴대전원을 갖춘 배터리(1018), 오디오 회로(1014)에 접속된 헤드폰 인, 헤드폰 아웃 잭(1020), PDA와 데스크탑과 같은 다른 컴퓨터 사이에 접속을 제공하는 독킹 커넥터(1022), 부가성 플래시 ROM, 모뎀, 무선 송수신기(1025), 대용량 저장 디바이스와 같이 PDA에 사용자가 회로를 추가할 수 있도록 하는 애드온 커넥터(1024)를 포함한다.
도 10은 대용량 저장 디바이스(1017)를 나타낸다. 실질적으로, 이 대용량 저장 디바이스는 어떠한 형태도 가능하며, 예를 들면 플래쉬 ROM(1006)의 일부나 전부, 또는 소형 하드 디스크를 들 수 있다. 이러한 대용량 저장 디바이스에 있어서, PDA는 통상적으로 디바이스의 기본적 기능성을 최대한으로 제공하기 위한 운영체계(OS)(1026)를 저장한다. 공통적으로 이 대용량 저장 디바이스는 운영체계외에도, 그리고 다음부터 설명하는 음성 인식 관련 기능과, 하나 이상의 응용 프로그램이 포함되며, 응용 프로그램의 예로는 워드 프로세서, 스프레드시트, 웹 브라우저, 또는 개인 정보 관리 시스템을 들 수 있다.
PDA(900)는 본 발명에 적용되는 경우 통상적으로 음성 인식 프로그램(1030)을 포함하게 되며, 이 프로그램은 도 1 및 도 2와 관련하여 위에서 설명한 일반적 타입의 단어 매칭을 행하기 위한 프로그램을 포함한다. 음성 인식 프로그램은 또한 통상 하나 이상의 어휘 또는 어휘군(1032)을 포함하며, 이 어휘 또는 어휘군은 최소한 2천 단어 이상을 포함하는 대어휘가 담겨있다. 많은 대어휘 시스템은 5천에서 수만 단어에 이르는 어휘를 갖는다. 각 어휘 단어에 대하여, 어휘는 통상 텍스트 스펠링(1034)과 하나 이상의 어휘군(1036)을 가지며, 여기에 단어가 포함된다(예를 들면, 텍스트 출력, "·"은 일부 시스템에서 실질적으로 대어휘 인식 어휘, 즉 스펠링 어휘와 구두 어휘군 모두에 존재한다). 각 어휘 단어는 단어가 분류될 수 있는 음성(1038)의 하나 이상의 부분에 대한 표시와, 음성의 이들 부분 각각에 대한 단어를 위한 표음 스펠링(1040)을 가진다.
음성 인식 프로그램은 공통적으로 시스템에 부가되며 미리 정의된 표음 스펠링을 갖지 않는 신규 단어의 발음(pronunciation)을 추정하는 발음 추정자(1042)를 포함한다. 음성 인식 프로그램은 공통적으로 하나 이상의 표음 사전식 트리(phonetic lexical tree)(1044)를 포함한다. 표음 사전식 트리는 트리형 데이터 구조로서 동일 시퀀스의 음소로 시작하는 모든 표음 스펠링을 트리 루트로부터 공통 경로로 함께 그룹화한다. 이러한 사전식 트리의 사용은 인식 성능을 향상시키는데 그 이유는 이것이 동일 초기 표음 스펠링을 공유하는 여러 상이한 단어의 모든 부분이 함께 평가되도록 하기 때문이다.
바람직하게는, 음성 인식 프로그램이 또한 폴리그램 언어 모델(PolyGram language model)(1045)을 포함하며, 이것은 텍스트에서 여러 가지 단어의 발생 가능성을 표시하며, 이 가능성으로는 예를 들면 하나 이상의 선행 및/또는 다음의 단어가 주어지는 텍스트에서 단어가 발생할 가능성을 들 수 있다.
통상, 음성 인식 프로그램은 언어 모델 갱신 데이터(1046)를 저장하며, 이것은 바로 설명한 폴리그램 언어 모델(1045)을 갱신(이하 "업데이트"와 혼용하여 사용함)하기 위해 사용되는 정보를 포함한다. 통상, 이 언어 모델 갱신 데이터는 사용자가 생성하거나 사용자가 발생시키기를 원하는 텍스트와 유사한 것으로 지적하는 텍스트로부터 도출된 통계정보를 포함한다. 도 10에서와 같이, 음성 인식 프로그램은 연락처 정보(1048)를 저장하고 있으며, 이 정보로는 이름, 주소, 폰 번호, e-메일 주소, 이러한 정보의 일부 또는 전부를 위한 표음 스펠링을 들 수 있다. 이 데이터는 음성 인식 프로그램이 이러한 연락처 정보의 스피킹을 인식하는 것을 돕는다. 정보에 관한 여러 실시예에서, 이러한 연락처 정보는 응용 프로그램(1028) 또는 운영체계(1026)에 대한 부속 프로그램과 같은 외부 프로그램에 포함되지만, 이러한 경우에서조차, 음성 인식 프로그램은 통상 이러한 이름, 주소, 폰 번호, e-메일 주소, 이러한 것들의 표음적 표현에 대한 액세스가 필요할 것이다.
음성 인식 프로그램은 또한 통상 도 2에 도시한 표음 모델(200)과 유사할 수 있는 표음 음향 모델(phonetic acoustic model)(1050)을 포함한다. 공통적으로 음성 인식 프로그램은 음향 모델 갱신 데이터(1052)를 포함하며, 이 데이터는 시스템에 의해 이전에 인식되었던 음향 신호로부터의 정보를 포함한다. 공통적으로, 이러한 음향 모델 갱신 데이터는 도 1 및 도 2에 도시한 파라메터 프레임(110)과 같은 형태, 또는 이러한 파라메터 프레임으로부터 발췌된 통계적 데이터 형태로 되어 있다.
도 11은 도 9에 도시한 터치 스크린(902)에 의해 제공된 사용자 인터페이스의 확대도이며, 여기서 PDA는 본 발명의 여러 측면을 구현하는 소프트웨어 입력 패 널(또는 SIP)(1100)을 사용한다.
도 12는 음성 인식 SIP가 교정창(1200)을 디스플레이 할 때 터치 스크린(902)을 나타낸 것을 제외하고는 도 11과 유사하다.
도 13 내지 도 17은 음성 인식 SIP가 그 그래픽 상의 사용자 인터페이스에서 여러 가지 입력에 대해 반응하는 방법의 의사코드 설명에 관한 연속 페이지를 나타낸 것이다. 간단 명료함을 위해, 이 의사코드는 사용자 입력에 반응하는 SIP 프로그램에서는 하나의 메인 이벤트 루프(1300)로서 표현된다.
도 13 내지 도 17에서 이 이벤트 루프는 2개의 주요 전환 상태를 갖는 것으로서 설명하며, 도 13의 전환 상태는 교정창(1200)이 디스플레이되는지의 여부에 상관없이 발생할 수 있는 사용자 인터페이스 상에서의 입력에 반응하고, 도 15의 전환 상태(1542)는 교정창(1200)이 디스플레이될 때만 발생할 수 있는 사용자 입력에 반응하는 것이다.
사용자가 도 11에 도시한 토크 버튼(Talk button)(1102)을 누르면, 도 13의 펑크션(1302)은 펑크션 (1304 - 1308)이 수행되도록 한다. 펑크션(1304)은 도 11에서의 창(1104)에 의해 도시한 SIP 버퍼에 임의 텍스트가 있는지를 검사한다. 도면에 도시한 SIP 실시예에서, SIP버퍼는 상대적으로 작은 개수의 텍스트 라인을 유지하도록 설계되며, 이의 SIP 소프트웨어는 음향 입력을 추적하고, 각 단어의 인식과 연관된 최상의 선택항목, 그리고 이러한 텍스트에 의해 생성된 언어 컨텍스트를 추적한다. 이러한 텍스트 버퍼가 사용되는 이유는 음성 인식 SIP가 도 11의 창(1106)에 도시한 원격 애플리케이션에서 텍스트에 관한 지식을 갖지 않기 때문이며, 도 11의 창(1106)으로 SIP가 애플리케이션에서 현재 커서(1108)의 위치에 텍스트를 출력한다. 본 발명의 다른 실시예에 따라서는, 매우 큰 SIP 버퍼가 사용될 수도 있다. 또 다른 실시예에 따라서, 본 발명의 여러 가지 특징이 독립적인 음성 인식 텍스트 생성 응용분야에 적용될 수 있으며, 이 경우, 텍스트 입력을 위한 SIP가 필요없게 된다. SIP로서 기능하는 음성 인식자를 이용하는 주요 장점은 PDA에서 동작하도록 설계된 대부분의 응용분야에서 입력기능을 제공할 수 있기 때문이다.
도 13으로 돌아가면, 펑크션(1304)은 SIP 버퍼(1104)로부터 임의 텍스트를 클리어하는데 그 이유는 토크 버튼(1102)이 사용자가 새로운 컨텍스트에서의 텍스트를 구술(dictate)하고 있다는 것을 SIP에게 사용자가 표시하는 수단으로 사용되기 때문이다. 따라서, SIP 사용자가 도 11의 응용창(1106)에서 커서(1108)를 이동시키면, 이 사용자는 토크 버튼(1102)을 눌러 다음 구술(dictation)을 시작한다.
도 13의 펑크션(1306)은 음성 인식 시스템이 현재 교정 모드에 있는가를 검사함으로써 토크 버튼을 누르는 것에 반응한다. 그러면, 이 모드를 빠져나와서 도 12에 도시한 타입의 교정창(1200)을 제거한다.
도면에서 도시한 SIP는 교정창이 디스플레이될 때 교정모드에 있지 않지만, 메인 SIP 인터페이스의 대부분의 버튼으로부터의 투입 입력을 수신하도록 선택되지 않았으며, 이 교정창이 디스플레이될 때 교정모드에 있고 이러한 많은 버튼으로부터 입력을 수신하도록 선택된다. 이 차이는 바람직한 것이라 할 수 있으며, 그 이유는 도시한 특정 SIP가 한번에 한번씩 모드(one-at-a-time mode)에서 동작하도록 선택될 수 있기 때문이다. 한번에 한번씩 모드에서는 단어가 불연속적으로 발성 및 인식되고, 사용자가 더욱 신속하게 선택항목 리스트를 보거나 교정 입력을 제공할 수 있도록 단어가 인식됨에 따라 각 단어에 대해 교정창이 디스플레이 된다. 한번에 한번씩 모드에서 특별이 교정을 하는데 관련되지 않은 사용자 입력의 대부분의 형태는 원하는 단어로서 현재 선택항목 리스트에 디스플레이된 제1 선택항목을 확인하는 추가 펑크션을 수행하는데 사용된다. 시스템이 한번에 한번씩 모드에 있지않으면, 사용자가 선행 입력을 교정하기 원한다는 표시의 입력을 제공할 때 통상 교정창이 디스플레이된다. 이러한 경우에 교정창이 교정모드에서 디스플레이되는 이유는 사용자가 교정하는 것을 선택함에 따라 대부분의 입력 형태가 교정창으로 향해야 하기 때문이다.
한번에 한번씩 인식 모드만을 사용하는 시스템에서 또는 이것을 전혀 사용하지 않는 시스템에서 교정 모드의 전환과 관련된 부차적으로 복잡한 문제를 가져야할 필요가 없음을 이해할 수 있을 것이다.
펑크션(1306)으로 돌아가면, 현재 교정창을 모두 제거한다. 그 이유는 토크버튼(1302)의 누름이 구형(old) 구술을 교정하는데 흥미있다기보다 신규(new) 구술을 시작하기 원한다고 표시하기 때문이다.
도 13의 펑크션(1308)은 이전에 선택된 현재 인식 지속 모드에 따라 SIP 버퍼 인식이 시작되도록 하여 토크 버튼을 누르는 것에 반응한다. 이 인식은 제1 단어에 대한 임의의 선행 언어 컨텍스트 없이 일어난다. 바람직한 형태로는 언어 모델 컨텍스트는 토크 버튼을 한번 누른 것에 반응하여 인식되는 단어로부터 도출되며, 이러한 인식에서 제2 단어 그리고 후속 단어의 인식에 대한 언어 컨텍스트를 제공한다.
도 18은 음성 인식을 시작하는데 사용될 수 있는 SIP 인터페이스에서 임의 버튼의 누름 또는 클릭에 반응하여 음성 인식을 활성화하는 여러 모드를 사용자가 선택할 수 있도록 하는 인식 지속 프로그램(1800)의 개략도이다. 도시한 실시예에서, 토크 버튼을 포함하는 다수의 버튼이 있으며, 이들은 각각 음성 인식을 시작하는데 이용될 수 있다. 이러한 구조는 사용자가 소정의 인식 모드를 선택할 수 있고, 이 모드에서 버튼을 1회 누름으로써 인식을 시작할 수 있도록 해준다.
펑크션(1802)은 현재 인식 지속 모드에 따라서 도 18의 어느 펑크션이 수행되는가를 판정하는 것을 돕는다. 이 모드는 여러 가지 다양한 방법으로 설정될 수 있으며, 그 방법으로는 디폴트에 의한 것, 도 46에 도시한 펑크션 메뉴에서 엔트리 우선순위 옵션 하에서의 선택에 의한 것 등을 들 수 있다.
"누르는 동안만 인식 지속 타입(press only recongnition duration type)"이 선택되면, 펑크션(1804)은 평크션(1806 및 1808)이 음성 버튼을 누르는 도중에 발성된 음성 사운드를 인식하도록 작용한다. 이 인식 지속 타입은 간단하면서도 유연성을 가질 수 있는데, 그 이유는 이 타입이 사용자로 하여금 음성 버튼을 누르는 동안에만 인식이 발생한다는 하나의 단순한 룰로 인식 길이를 제어하는 것을 가능하게 하기 때문이다. 바람직하게는 발성 및/또는 발성 끝 검출을 임의 인식 모드 중에 이용하여 배경잡음이 발성으로서 인식될 가능성을 감소시킨다.
현재 인식 지속 타입이 "발성 끝까지 누르고 클릭(Press And Click To Utterance End)" 타입이면, 펑크션(1810)은 음성 버튼을 누르는 동안 음성을 인식함으로써 이 음성 버튼을 누른 것에 펑크션(1812 및 1814)이 반응하도록 작용시킨다. 이 경우, 음성 버튼의 "누름(press)"은 소정의 기간, 예를 들면 1/4초 또는 1/3초보다 더 길게 버튼을 미는 것으로 정의한다. 사용자가 이보다 짧은 시간 동안 음성 버튼을 밀면, 이는 "누르는 것"이 아니라 "클릭(click)"으로 간주되며, 펑크션(1816 및 1818)은 이 클릭 시간부터 시작하여 발성의 다음 끝 검출까지 인식을 개시한다.
"발성 끝까지 누르고 클릭" 인식 지속 타입은 여러 가지 길이 확대 인식을 사용자가 선택할 수 있도록 하는 모드와, 단일 발성만을 인식하는 모드 사이에서 단일 버튼만을 사용하여 신속하고도 용이하게 선택을 할 수 있도록 하는 이점이 있다.
현재 인식 지속 타입이 "발성 끝까지 누르면 연속, 클릭하면 불연속(Press Continuous, Click Discrete To utterances End)" 타입이면, 펑크션(1820)은 평크션(1822 - 1828)이 기능하도록 작용한다. 정의한 바와 같이 음성 버튼이 클릭되면 펑크션(1822 및 1824)은 발성의 다음 끝 검출 때까지 불연속 인식을 수행한다. 한편, 앞서 정의한 바와 같이 음성 버튼을 누르면, 펑크션(1826 및 1828)은 음성 버튼이 눌러진 채로 있는 한, 연속 인식을 수행한다.
이 인식 지속 타입은 소정의 음성 버튼을 누르는 타입을 이용하여 연속 인식과 불연속 인식 사이에서 신속한 전환을 사용자가 용이하게 할 수 있도록 하는 장점이 있다. 도시한 SIP 실시예에서, 다른 인식 지속 타입은 연속 인식과 불연속 인식 사이에서 전환하지 않는다.
현재 인식 지속 타입이 "타임아웃 클릭(Click To Tomeout)" 타입이면, 펑크션(1830)은 펑크션(1832 - 1840)이 수행되도록 작용한다. 음성 버튼이 클릭되면, 기능(1833 - 1836)은 정상적으로 오프와 온 사이에서 인식을 토글한다. 펑크션(1834)은 음성 인식이 현재 온인가의 여부를 검사하여 클릭에 반응한다. 그러하면, 클릭되는 음성 버튼이 어휘를 변경하는 것 이외의 것이면 음성 인식을 턴 오프하여 클릭에 반응한다. 한편, 음성 버튼이 클릭될 때 음성 인식이 오프이면 펑크션(1836)은 타임 아웃 지속기간이 경과할 때까지 음성 인식을 턴온한다. 이 타임 아웃 지속기간의 길이는 도 46에 도시한 펑크션 메뉴(4602)에서 엔트리 우선순위 옵션 하에서 사용자에 의해 설정될 수 있다. 전술한 바와 같이 음성 버튼이 소정의 지속기간보다 길게 눌러지면, 펑크션(1838 및 1840)은 누르는 동안 인식이 온이 되도록 작용하며, 그 끝에서는 턴 오프가 되도록 한다.
이 인식 지속 타입은 사용자가 음성 인식을 온, 오프하는 토글 사이에서 한번의 버튼으로 신속하고도 용이하게 선택할 수 있게 하며, 음성 버튼의 길게 누르는 동안에만 음성 인식이 턴 온되도록 한다.
도 13의 펑크션(1308)으로 돌아가면(리턴하면), 여러 가지 인식 지속 타입의 선택을 통해 사용자가 토크 버튼과 기타 음성 버튼이 어떻게 인식을 개시할지 선택할 수 있도록 한다.
사용자가 도 11에 도시한 클리어 버튼(1112)을 선택하면, 펑크션(1309 - 1314)은 디스플레이된 교정창을 제거하고, 운영체계 텍스트 입력에 어떠한 삭제를 보내지 않고 SIP 버퍼의 콘텐츠를 클리어한다. 상기와 같이, 도시한 음성 SIP에서, 도 11에 도시한 SIP 텍스트 창(1104)은 상대적으로 작은 텍스트 바디를 유지하도록 설계된다. SIP 버퍼에서 텍스트가 입력되거나 편집되면, 문자가 PDA의 운영체계에 공급되고, 도 11에 도시한 응용창(1006)에서의 텍스트에 이에 상응하는 변경사항이 반영된다. 클리어 버튼은 사용자가 SIP버퍼로부터 텍스트를 클리어할 수 있도록 하여 이것이 오버로드되는 것을 방지하는 한편, 응용 창에서의 텍스트에는 이에 상응하는 삭제가 발생하지 않도록 한다.
도 11에 도시한 계속 버튼(Continue button)(1114)은 최후 구술된 텍스트의 계속, 또는 도 11에 도시된 SIP 버퍼창(1104)에서 현재 위치에 삽입될 텍스트의 계속을 사용자가 구술하기 원할 때 사용되기 위한 것이다. 이 버튼을 누르면, 펑크션(1316)은 펑크션(1318 - 1330)이 수행되도록 작용한다. 펑크션(1318)은 임의 교정창을 제거하는데, 그 이유는 계속 버튼을 누름으로써 사용자가 교정창을 사용하는데 흥미가 없다는 것을 표시하기 때문이다. 다음에, 펑크션(1132)은 SIP 버퍼창에서 현재 커서가 선행 언어 컨텍스트를 가지고 있는가의 여부를 검사하며, 여기서 선행 언어 컨텍스트는 계속 버튼을 누른 결과로서 인식된 임의 발성의 제1 단어 또는 이들 단어들의 가능성을 예측하는데 도움을 줄 수 있다. 여기서 선행 언어 컨텍스트가 있으면, 이것을 사용하도록 작용한다. 없다면 그리고 현재 SIP 버퍼에 텍스트가 없다면, 펑크션(1326)은 계속 버튼에 의해 개시된 인식 시작에서 언어 컨텍스트로서 SIP 버퍼에 이전에 입력된 마지막 하나 이상의 단어를 사용한다. 다음에, 펑크션(1330)은 SIP 버퍼 인식 즉, SIP 버퍼에서 커서로 출력될 텍스트의 인식을 현재 인식 지속 모드를 이용하여 시작한다.
사용자가 도 11에 도시한 백스페이스 버튼(Backspace button)(1116)을 선택하면, 펑크션(1132 - 1336)을 수행한다. 펑크션(1134)은 SIP가 현재 교정모드에 있는가의 여부를 검사한다. 그렇다면, 교정창의 필터 편집기로 백스페이스를 입력한다. 도 12에 도시한 교정창(1200)은 제1 선택항목창(1202)을 포함한다. 아래 상세히 설명하는 바와 같이, 교정창 인터페이스는 원하는 인식 단어(들)에 속하는 초기 문자 시퀀스를 식별하는 필터 문자열의 일부로서 제1 선택항목창에서 사용자가 하나 이상의 문자를 선택 또는 편집하는 것을 가능하게 한다. SIP가 교정모드에 있으면, 백스페이스를 누르는 것으로 제1 선택항목창에서 현재 선택된 필터 문자열과 문자로부터 삭제되고, 문자가 선택되지 않으면 필터 커서(1204)의 좌측으로 문자를 삭제한다.
SIP가 현재 교정모드에 있지 않으면, 펑크션(1136)은 SIP 버퍼로 백스페이스 문자를 입력하고 운영체계로 동일 문자를 출력하여 백스페이스의 누름에 반응하며, 동일한 변경을 도 11에 도시한 응용창(1106)에서 대응 텍스트에 반영한다.
사용자가 도 11에 도시한 신규 패러그래프 버튼(New Paragraph button)(1118)을 선택하면, 도 13의 펑크션(1338 -1342)은 교정 모드를 빠져나오며, SIP가 현재 교정 모드에 있으면, SIP 버퍼로 신규 패러그래프 문자를 입력하고 대응 출력을 운영체계에 제공한다.
펑크션(1344 - 1338)으로 표시한 바와 같이, SIP는 백스페이스에 반응하는 것과 실질적으로 동일한 방법으로, 즉, SIP가 교정모드에 있으면 필터 편집기에 진입하고, 그렇지 않으면 SIP버퍼 및 운영체계로 출력하는 것으로 스페이스 버튼(1120)의 사용자 선택에 반응한다.
사용자가 도 11에 도시한 어휘 선택 버튼(Vocabulary Selection button)(1122 - 1132) 중 하나를 선택하면, 도 13의 펑크션(1350 - 1370), 도 14의 펑크션(1402 - 1416)은 적절한 인식 모드의 어휘를 선택된 버튼에 대응하는 어휘로 설정하고 현재 인식 지속 모드와 인식 모드에 대한 기타 설정에 따라서 rm 모드에서 음성 인식을 시작한다.
사용자가 이름 인식 버튼(Name Recognition button)(1122)을 선택하면, 펑크션(1350 및 1356)이 현재 모드의 인식 어휘를 이름 인식 어휘로 설정하고, 현재 인식 지속 설정 및 기타 적절한 음성 설정에 따라서 인식을 시작한다. 이름 및 대어휘 버튼 이외에 모든 어휘 버튼과 함께, 이들 펑크션은 SIP가 교정 모드에 있는가에 따라서 필터 또는 SIP 버퍼 인식으로서 현재 인식 모드를 취급한다. 이것은 이들 기타 어휘버튼이 필터 문자열을 규정하거나 SIP버퍼로 직접 진입하기에 적절한 문자 시퀀스를 입력하는데 사용되는 어휘와 연관이 있기 때문이다. 그러나, 대어휘 및 이름 어휘를 필터 문자열 편집에서는 부적절한 것으로 간주된다. 따라서 개시된 실시예에서 현재 인식 모드는 SIP가 교정 모드에 있는가의 여부에 따라서 재발성 또는 SIP 버퍼 인식으로 간주된다. 다른 실시예에서, 이름 및 대어휘 인식은 다중 단어 필터를 편집하는 데 사용될 수 있다.
어휘 버튼을 누르는 것과 연관된 표준 반응 외에, 알파브라보 어휘 버튼(AlphaBravo Vocabulary button)을 누르면, 도 40에서의 번호 4002에 도시한 바와 같이 펑크션(1404 - 1406)은 ICA(International Communication Alphabet)에 의해 사용되는 모든 단어의 리스트를 디스플레이 하도록 작용한다.
사용자가 도 11에 도시한 연속/불연속 인식 버튼(Continuous/Discrete Recognition button)(1134)을 선택하면, 도 14의 펑크션(1418 - 1422)이 수행되며, 이들 펑크션은 연속 인식 모드와 불연속 인식 모드 사이에서 토글된다. 여기서의 연속 인식 모드는 연속 음성 음향 모델을 이용하여 다중 단어 인식 후보를 소정의 단일 발성과 매칭할 수 있게 하고, 불연속 인식 모드는 불연속 인식 음향 모델을 사용하고, 단일 발성을 위해 단일 단어 인식 후보만을 인식할 수 있는 것이다. 펑크션은 또한 연속/불연속 버튼을 누름으로써 바로 선택된 바와 같이 불연속 또는 연속 인식을 이용하여 음성 인식을 시작한다.
사용자가 누름에 의해 펑크션 키(1110)를 누름으로써 이를 선택하면 펑크션(1424 및 1426)은 도 46에 도시한 펑크션 메뉴(4602)를 호출한다. 이 펑크션 메뉴는 사용자가 도 11 및 도 12에 도시한 버튼으로부터 직접 이용가능한 것 이외에 다른 옵션을 선택할 수 있도록 한다.
사용자가 도 11에 도시한 헬프 버튼(Help button)(1136)을 선택하면 도 14의 펑크션(1432 및 1434)은 헬프 모드를 호출한다.
도 19에 도시한 바와 같이, 헬프 버튼을 초기 누르는 것에 반응하여 헬프 모드에 진입될 때, 펑크션(1902)은 도 20에 도시한 바와 같이 헬프 모드를 이용하는 것에 대한 정보를 제공하는 헬프 창(2000)을 디스플레이 한다. 헬프 모드의 후속 동작 중에 사용자가 SIP 인터페이스 부분을 터치하면, 펑크션(1904 및 1906)은 사용자가 터치를 연속하고 있는 한에서 디스플레이를 연속하는 인터페이스의 터치된 부분에 대한 정보와 함께 헬프창을 디스플레이한다. 이것을 도 21에 도시한다. 여기서 사용자는 스타일러스(904)를 사용하여 교정창의 필터 버튼(Filter button)(1218)을 누른다. 반응으로서, 도시된 헬프창(2100)은 필터 버튼의 펑크션을 설명하고 있다. 헬프 모드 중에 사용자가 디스플레이 부분에서 더블클릭을 하면, 펑크션(1908 및 1910)은 헬프창을 디스플레이하며, 이 헬프창은 사용자가 인터페이스의 다른 부분을 누를 때까지 유지된다. 이것은 사용자가 도 21에 도시한 헬프 창에서 도시한 스크롤 바(2102)를 사용할 수 있도록 하여 이 스크롤 바를 통해 한번에 헬프 창(2102)에서 끼워지기에는 너무 큰 헬프 정보를 읽는 것을 가능하게 한다.
도 19에는 도시하지 않았지만, 헬프창은 유지 버튼(Keep Up button)(2100)을 가지고 있으며, 이것을 통해 사용자는 흥미있는 SIP 사용자 인터페이스의 일부분을 초기 누른 것으로부터 드래그하고 또한 SIP 사용자 인터페이스의 다른 부분의 터치가 있을 때까지 헬프 창을 유지하도록 선택할 수 있다.
헬프 모드의 초기 엔트리 이후, 사용자가 다시 도 11, 20, 21에 도시한 헬프 버튼(1136)을 터치하면, 펑크션(1912 및 1914)은 임의 헬프 창을 제거하면서 헬프 모드에서 빠져나오고, 헬프 버튼의 하이라이트를 턴오프한다.
사용자가 SIP 버퍼에서 단어를 탭하면 도 14의 펑크션(1436 - 1438)은 선택된 단어를 현재 선택으로 하고, 현재 선택으로서의 탭된 단어와, 탭된 단어의 인식과 연관된 음향 데이터, 임의로 현재 선택과 연관된 음향 데이터를 유지하는 발성 리스트에서의 제1 엔트리와 함께 도 22에 도시한 디스플레이 선택항목 리스트 루틴(display_Choice_List routine)을 호출한다.
도 22에 도시한 바와 같이, 디스플레이 선택항목 리스트가 선택 파라메터, 필터 문자열 파라메터, 필터 범위 파라메터, 단어형 파타메터, 비선택항목 리스트 플래그(Not_Choice_List flag) 등으로 호출된다. 선택 파라메터는 루틴이 호출되는 SIP 버퍼에서의 텍스트를 표시한다. 필터 문자열은 하나 이상의 문자 시퀀스를 표시하며, 이것은 원하는 인식 출력이 시작되는 하나 이상의 가능한 스펠링 세트를 규정하는 요소를 지시한다. 필터 범위 파라메터는 2개의 문자 시퀀스를 규정하며, 이들은 원하는 인식 출력이 속하는 알파벳 섹션의 범위를 나타낸다. 단어형 파라메터는 원하는 인식 출력이 원하는 문법 타입과 같이 특정한 타입이라는 것을 표시한다. 비선택항목 리스트 플래그는 사용자 액션이 표시하는 하나 이상의 단어 리스트가 원하는 단어가 아님을 표시한다.
디스플레이 선택항목 리스트 루틴의 펑크션(2202)은 도 23에 도시한 겟 선택항목 루틴(get_Choices routine)을 호출하며, 이와 함께 디스플레이 선택항목 리스트 루틴이 호출되는 필터 문자열 및 필터 범위 파라메터와 선택 파라메터와 연관된 발성 리스트로 동반된다.
도 24 및 도 25에 도시한 바와같이, 발성 리스트(2404)는 하나 이상의 발성에대한 사운드 표현을 저장하며, 여기서의 발성은 현재 선택과 연관된 하나 이상의 단어의 원하는 시퀀스 일부로서 발음된 것을 말한다. 앞에 설명한 바와 같이, 도 22의 펑크션(2202)이 겟 선택항목 루틴을 호출할 때, 도 24에 도시한 바와 같이 사운드(2402)의 그 부분의 표현(representation)(2400)이 나타나며, 이것으로부터 현재 선택의 단어가 인식되었다. 도 2에 지적한 바와 같이, 음성 인식 프로세스는 오디오 신호의 표현에 대해 음향 모델을 시간정렬한다. 바람직한 일실시예로서, 인식시스템이 이 시간정렬을 저장하여 선택된 텍스트의 교정 또는 재생이 요구될 때, 이러한 시간정렬로부터 대응 오디오 표현을 발견할 수 있도록 할 수 있다.
도 24에서, 발성 리스트에서의 제1 엔트리(2004)는 연속 발성(2402)의 일부이다. 본 발명에 따르면 사용자가 하나 이상의 단어로 된 원하는 시퀀스의 추가 발성을 선택한 발성 리스트에 부가할 수 있고, 이들 발성 모두에 대해 인식을 수행하여 원하는 출력을 올바르게 인식할 수 있는 확율을 높일 수 있다. 도 24에 도시한 바와 같이, 이러한 부가 발성은 엔트리(2400A)와 같은 불연속 발성 뿐만 아니라 엔트리(2400B)와 같은 불연속 발성 모두를 포함할 수 있다. 각 부가발성은 참조부호 2406 및 2408로 표시된 바와 같은 정보를 포함하며, 이것은 연속 또는 불연속 발성인가의 여부, 구술된 어휘 모드를 표시한다.
도 24 및 도 25에 있어서는, 발성 리스트에서 발성의 음향 표현이 파형으로서 나타나 있다. 실시예에 따라서, 도 1 및 도 2의 표현(110)과 같은 파라메터 프레임 표현을 포함한 다른 형태의 음향 표현이 사용될 수 있음은 자명한 것이다.
도 25는 원래의 발성 리스트 엔트리가 불연속 발성 시퀀스라는 것 외에는 도 24와 유사하다. 도 25에 있어서는 하나 이상의 불연속 발성의 초기 시퀀스의 인식 교정을 위해 사용되는 부가 발성 엔트리가 불연속 또는 연속 발성(2500A 및 2500B)을 각각 포함할 수도 있음을 나타내고 있다.
도 23에 도시한 바와 같이, 겟분류선택 루틴(2300)은 펑크션(2302)을 포함하며, 이 펑크션(2302)은 상기 루틴을 호출한 선택에 관하여 선행인식이 있는가의 여부를 검사한다. 그리고 이 선행 인식은 현재 발성 리스트와 필터값(즉, 필터 문자열과 필터 범위 값)으로 수행된 것을 말한다. 그래서 선행 인식이 있다면 이 선행인식이 발생된 시간이래로 인식 파라메터에 변화가 없으므로 펑크션(2304)으로 하여금 선행인식으로부터의 분류선택으로 리턴하도록 작용한다.
펑크션(2302)의 검사가 충족되지 않으면, 펑크션(2306)은 필터 범위 파라메터가 널(null)인가의 여부를 검사한다. 널이 아니면 펑크션(2308)은 필터 범위가 현재 필터 문자열보다 더욱 구체적인 것인가를 검사하며, 구체적인 것이면 필터 문자열을 필터 범위의 공통 문자(letter)로 변경한다. 특별하지 않으면 필터 문자열이 행해야할 더욱 상세한 정보를 포함하고 있으므로 펑크션(2312)은 필터 범위를 무효화(null)한다.
이하에서 설명하는 바와 같이, 사용자가 알파벳 순서로 원하는 인식 출력이 속하는 범위의 표시로서 선택항목 리스트에서 2개의 선택항목을 선택할 때 필터 범위가 선택된다. 초기 문자를 공유하는 2개의 선택항목을 사용자가 선택할 때, 펑크션(2310)은 필터 문자열을 이들 공유 문자에 대응시킨다. 이렇게 하여 선택항목 리스트가 디스플레이될 때 공유 문자는 원하는 출력의 초기 문자에 대응하는 것으로 확인된 것으로서 사용자에게 표시된다.
사용자가 신규 필터 범위 또는 필터 문자열을 선택하는 명령을 수행할 때 이들 2개의 파라메터 중 신규로 선택된 것이 다른 것과는 모순되는 값을 가지면 이들 2 파라메터 중 보다 오래된 것의 값을 무효화(null)한다.
현재 발성 리스트 중 선행 인식으로부터 어느 후보가 있으면, 펑크션(2316)은 펑크션(2318 및 2320)이 수행되도록 작용한다. 펑크션(2318)은 후보의 선행 인식 평가와 현재 필터 정의로 각 선행 인식 후보에 대해 도 26의 필터 매치 루틴(filter Match routine)을 호출하고, 펑크션(2320)은 특정 임계값 이하의 평가를 갖는 이러한 호출의 결과로서 리턴된 이들 후보를 삭제한다.
도 26에 도시한 바와 같이, 필터 매치 루틴(2600)은 단어 후보에 대해 필터링을 행한다. 도시한 본 발명의 실시예에서, 이들 필터링 프로세스는 필터 문자열, 필터 범위 또는 단어형으로 필터를 규정하는 것을 가능하게 하므로 매우 유연하다. 또한 이 필터링 프로세스는 단어형, 필터 문자열 또는 필터 범위 사양의 조합을 가능하게 하고, 한편으로 필터 문자열에서의 요소가 그 연관 문자의 값에 대해 모호할 뿐만 아니라 연관 문자 시퀀스에서의 문자 개수에 대해서도 모호한 경우의 모호 필터에 대해서도 모호 필터링을 허용한다는 점에서 유연하다고 할 수 있다.
여기서 필터 문자열 또는 필터 문자열의 일부분이 모호하다고 말할 때, 이 말의 의미는 다수의 가능한 문자 시퀀스가 그것과 매칭되는 것으로 간주된다는 뜻이다. 모호 필터링은 신뢰성있게 인식되지만, 단일 문자를 고유하게 규정하지는 않는 필터 문자열 입력과 함께 사용될 때 효용가치가 있으며, 이것은 본 발명의 여러 특징이 반영된 셀 폰 실시예와 관련하여 이하에서 설명하는 타입의 모호 폰 키 필터링에 경우에도 적용된다.
모호 필터링은 특히 인식이 연속으로 수행될 때 문자 이름의 인식 등과 같이 높은 정도의 특정성을 가지고 인식될 수 없는 필터 문자열 입력에 대해서도 효용가치가 있다. 이러한 경우로는, 문자 시퀀스의 인식에 대한 최상의 선택항목이 하나 이상의 에러를 포함할 수 있는 높은 가능성이 있을 뿐만 아니라, 최상의 평가를 받은 인식 후보에서 인식된 문자의 개수가 발음된 개수와 다를 수 있는 합리적인 가능성이 있을 때를 들 수 있다. 그러나, 비록 이러한 인식으로부터 최상의 선택항목이 때로는 부정확하고, 특히 이러한 부정확성은 열악한 조건하에서 구술이 행해질 때 나타남에도 불구하고, 원하는 출력의 모든 문자 또는 초기 문자를 스펠링하는 것은 필터링 정보를 입력하는 매우 신속하고도 직감적인 방법이라 할 수 있다.
필터 매치 루틴은 각 개별 단어 후보를 위해 호출되며, 이 호출은 만약 있다면 단어 후보의 선행 인식 평가로 또는 1의 평가로 하여 이루어진다. 이 루틴은 후보가 현재 필터 값과 매칭되는 가능성에 의해 증배된 평가와 동일한 인식 평가로 리턴시킨다.
필터 매치 루틴의 펑크션(2602 - 2606)은 단어형 파라메터가 규정(정의)되었나의 여부를 검사하며, 정의되었다면 그리고 단어 후보가 정의된 단어형이 아니라면 평가 0과 함께 필터 매치 펑크션으로부터 리턴하며, 여기서 평가 0은 단어 후보가 현재 필터 값과 명백히 호환할 수 없다는 것을 표시하는 값이다.
펑크션 (2608 - 2614)은 현재 값이 필터 범위를 위해 정의되었나의 여부를 검사한다. 정의되었다면 그리고 현재 단어 후보가 알파벳 순으로 이 필터 범위의 시작과 종료 단어 사이에 위치한다면, 이들 펑크션은 변경없는 평가 값으로 리턴하며, 그렇지 않으면 평가 0의 값으로 리턴한다.
펑크션(2616)은 정의된 필터 문자열이 있는가의 여부를 판정한다. 있다면 펑크션(2618 - 2653)으로 하여금 수행을 하도록 작용한다. 펑크션(2618)은 다음(폴로윙) 루프에서 사용될 변수인 현재 후보 문자를 필터 매치가 호출된 단어 후보에서의 제1 문자로 설정한다. 다음에, 루프(2620)는 그 순환 반복이 필터 문자열의 끝에 도달할 때까지 수행된다. 이 루프는 펑크션(2622 - 2651)을 포함한다.
이 루프의 각 순환반복에서의 제1펑크션은 스텝(2622)에 의한 검사이며, 이 검사를 통해 제1 필터 문자열에서 다음 요소의 특성(nature)을 판정한다. 도시한 실시예에서는 3 타입의 필터 문자열 요소를 허용하며, 그 3가지 타입은 비모호(unambiguous) 문자, 모호(ambiguous) 문자, 길이가 다를 수 있는 모호 문자 시z퀀스 세트를 표현하는 모호 요소를 말한다.
비모호 문자는 모호하지 않게 알파벳 문자나 공간과 같은 다른 문자를 식별하며, 이것은 임의 형태의 알파벳 입력에 대한 비모호 인식으로 생성될 수 있지만 대체로 문자, ICA 단어 인식, 키보드 입력, 또는 폰 동작 중에 비모호 폰키 입력과 관련이 있다. 알파벳 입력의 임의 인식은 비모호 문자 시퀀스로서 인식에 의해 출력된 단일 최상의 평가를 받은 스펠링을 단순이 수용하여 비모호로서 취급(또는 간주)할 수 있다.
모호 문자는 다중 문자값을 가질 수 있지만 일 문자의 정의된 길이를 갖는 것을 말한다. 상술한 바와 같이, 이 모호 문자는 전화 실시예에서 키에 대한 모호 누름에 의해, 또는 음성에 의해 또는 문자의 문자 인식에 의해 발생할 수 있다. 또한 모호 문자는 모든 최상의 평가를 받은 문자 시퀀스가 동일한 문자 길이를 갖는 문자 이름의 연속 인식에 의해서도 생성될 수 있다.
모호 길이 요소는 공통적으로 연속 문자 이름 인식 또는 수기 인식의 출력과 관련이 있다. 모호 길이 요소는 수기 또는 발음된 입력에 대해 다중 최상의 평가를 받은 문자 시퀀스를 표현하며, 이 시퀀스의 일부는 서로 다른 길이를 가질 수 있다.
필터 문자열에서 다음 요소가 비모호 문자이면 펑크션(2644)은 펑크션(2626 - 2606)이 수행되도록 작용한다. 펑크션(2626)은 현재 후보 문자가 현재 비모호 문자와 매치되는가의 여부를 검사한다. 매치되지 않으면 필터 매치에 대한 호출이 현재 단어 후보를 위해 평가 0과 함께 리턴한다. 매치되면 펑크션(2630)은 현재 후보 문자의 위치를 증대시킨다.
필터 문자열에서 다음 요소가 모호 문자이면 펑크션(2632)은 펑크션(2634 - 2636)이 수행되도록 작용한다. 펑크션(2634)은 현재 문자가 모호 문자의 인식 값 중 하나와 매치하는 것에 실패하였나의 여부를 검사한다. 실패하면, 펑크션(2636)은 평가 0과 함께 필터매치에 대한 호출로부터 리턴한다. 실패하지 않으면, 펑크션(2638 - 2642)은 현재 후보 문자의 값을 매치하는 모호 문자의 가능성의 기능으로서 현재 단어 후보의 평가를 변경하고, 현재 후보 문자의 위치를 증대시킨다.
필터 문자열에서 다음 요소가 모호 길이 요소이면 펑크션(2644)은 모호 길이 요소에 의해 표현된 각 문자 시퀀스를 위해 루프(2646)가 수행되도록 작용한다. 이 루프는 펑크션(2648 - 2652)을 포함한다. 펑크션(2648)은 루프(2646)의 현재 문자 시퀀스와 매칭되는 현재 후보 문자 위치에서 시작하는 문자의 매칭 시퀀스가 있는가를 검사한다. 있다면 펑크션(2649)은 모호 길이 요소에 의해 표현된 인식된 매칭 시퀀스의 가능성 펑크션으로서 단어 후보의 평가를 변경하고, 이후 펑크션(2650)은 매칭 모호 길이 요소 시퀀스에서 문자 수만큼 현재 후보 문자의 현재 위치를 증대시킨다. 모호 길이 요소와 관련된 임의 문자 시퀀스와 매치하는 현재 단어 후보의 문자 위치에서 시작하는 문자 시퀀스가 없으면, 펑크션(2651 및 2652)은 평가 0과 함께 필터 매치에 대한 호출로부터 리턴한다.
루프(2620)가 완료되면, 현재 단어 후보는 전체 필터 문자열에 대해서 매치된다. 이 경우, 펑크션(2653)은 루프(2620)에 의해 생성된 현재 단어의 평가와 함께 필터 매치로부터 리턴한다.
스텝(2616)의 검사가 정의된 필터 문자열이 없다는 것을 발견하면 스텝(2654)은 단지 변경되지 않은 현재 단어 후보의 평가와 함께 필터 매치로부터 리턴한다.
도 23의 펑크션(2318)을 참조하면, 각 단어 후보에 대해 필터 매치에 대한 호출이 후보에 대한 평가를 리턴하는 것을 알 수 있다. 이것은 펑크션(2320)에서 어느 단어 후보를 삭제할 것인가를 결정하는데 사용되는 평가이다.
이 삭제가 일어나면, 펑크션(2320)의 임의 삭제가 후보의 원하는 수 이하가 된 이후 선행 인식 후보의 남은 수를 펑크션(2322)이 검사한다. 통상, 이 원하는 수는 선택항목 리스트에서 사용하기 위한 선택항목의 원하는 수를 표현한다. 선행 인식 후보의 수가 이 원하는 수 이하이면 펑크션(2324 - 2336)이 수행된다. 펑크션(2324)은 도 24 및 도 25에 도시한 바와 같이 발성 리스트에서 하나 이상의 엔트리의 매 하나당 음성 인식을 수행한다. 펑크션(2326 및 2328)으로 표시한 바와 같이, 이 인식 프로세스는 발성 리스트에서 연속 및 불연속 엔트리 모두가 있는가를 판정하는 검사를 포함하며, 이 검사에서 모두 있다면 연속 엔트리의 인식에서 있을 수 있는 단어 후보의 수를 하나 이상의 불연속 엔트리에서 검출된 개별 발성 수만큼 제한한다. 펑크션(2324)의 인식은 또한 연속 또는 불연속 인식과 함께 발성 리스트에서 각 엔트리를 인식하는 단계를 포함하며, 이 인식단계는 도 24 및 도 25에 도시한 연속 또는 불연속 인식 표시(2406)에 의해 표시된 바와 같이 각각이 받아들여질 때 유효한 각 모드에 따라 이루어진다. 2332로 표시한 바와 같이, 각 발성 리스트 엔트리의 인식은 또한 앞서 설명한 바와 같이 필터 매치 루틴을 사용하는 단계와, 이러한 각 발성의 인식을 위한 최상의 평가를 받은 수용가능 후보의 리스트를 선택하는데 있어 언어 모델을 사용하는 단계를 포함한다. 필터 매치 루틴에 있어서, 발성 리스트에서 최신 발성을 표시하는 도 24 및 도 25의 어휘 표시자(indicator)(2408)는 단어형 필터로서 사용되어 원하는 단어 시퀀스가 특정 어휘로부터 하나 이상의 단어에 제한된다는 임의 표시를 사용자에 의해 반영한다. 사용된 언어 모델은 비그램(bigram) 또는 트리그램(trigram) 언어 모델과 같은 폴리그램 언어 모델이며, 최상의 평가를 받는 후보 선택을 돕는데 유용한 임의 선행 언어 컨텍스트를 사용한다.
발성 리스트에서 하나 이상의 엔트리 인식을 수행한 후, 발성 리스트에 하나 보다 많은 엔트리가 있으면, 펑크션(2334 및 2336)은 여러가지 인식으로부터의 평가를 조합한 것을 근거로 발성 리스트를 위한 최상의 평가 인식 후보 리스트를 뽑는다. 본 발명의 이러한 특징과 관련한 일부 실시예에서, 평가의 조합이 여러 가지 발성의 인식으로부터 사용될 수 있으며, 그 결과 하나 이상의 발성을 이용하여 인식의 효과를 향상시킬 수 있음을 이해할 수 있다.
펑크션(2314 - 2336)에 의해 생성된 인식 후보의 수가 원하는 수보다 적으면, 그리고 넌 널(non-null) 필터 문자열 필터 범위 정의(디피니션)가 있다면, 펑크션(2338 및 2340) 필터 매치를 사용하여 발성 리스트에서 최근 엔트리와 관련된 어휘로부터, 또는 이 발성 리스트에서 엔트리가 없다면 현재 인식 어휘로부터 부가(추가) 선택항목의 원하는 수를 선택한다.
도 23의 겟 선택항목 루틴이 펑크션(2342)에 도달하는 시간에 인식 또는 현재 어휘로부터 후보가 없으면, 펑크션(2344)은 원하는 개수까지의 선택항목으로서 현재 필터 문자열을 매치하는 최상의 평가를 받는 문자 시퀀스를 사용한다. 필터 문자열이 비모호 문자만을 포함할 때, 이들 비모호 문자를 매치하는 단일 문자 시퀀스를 가능한 선택항목으로서 선택한다. 그러나, 필터 문자열에서 모호 문자 및 모호 길이 요소가 있으면 이러한 문자 시퀀스 선택항목이 다수 있다. 모호 길이 요소를 갖는 모호 문자가 하나 이상의 문자로 된 여러 가지 있을 수 있는 대응 시퀀스와 연관된 여러 가지 가능성을 가지고 있으면, 펑크션(2344)에 의해 생성된 선택항목은 도 26에서와 같이 펑크션(2616 -2606)에서 도시한 것과 같은 평가 매커니즘에 대응하는 평가가 된다.
겟 선택항목에 대한 호출이 리턴되면, 인식에 의해, 또는 필터에 따른 어휘로부터의 선택에 의해, 또는 있을 수 있는 필터의 리스트로부터의 선택에 의해 통상 리턴된다.
도 22를 참조하면, 펑크션(2202)에서 겟 선택항목에 대한 호출이 디스플레이 선택항목 리스트 루틴(display_Choice_List routine)으로 리턴하면, 펑크션(2204)은 필터가 현재 선택을 위해 정의되었는가의 여부, 현재 선택의 발성 리스트에 부가된 임의 발성이 있는가의 여부, 디스플레이 선택항목 리스트가 호출되기 위한 선택이 비선택항목 리스트(not_Choice_List)에 없는가의 여부를 검사한다. 여기서 비선택항목 리스트는 사용자 입력이 표시하는 하나 이상의 단어 리스트로서 인식 후보로서 필요하지 않은 것을 말한다. 이들 조건이 충족되면, 펑크션(2206)은 이 선택을 루틴이 생성하는 교정창에서 디스플레이를 위한 제1 선택항목으로 만든다. 다음에, 펑크션(2210)은 비선택항목 리스트에 포함되는 동시에 겟 선택항목 루틴으로의 호출에 의해 생성된 후보 리스트로부터 기타 다른 후보를 제거한다. 다음에, 제1 선택항목이 이미 펑크션(2206)에 의해 선택되지 않았다면 펑크션(2212)은 겟 선택항목에 대한 호출에 의해 리턴된 최상의 평가를 받은 후보를 차후 교정창 디스플레이를 위한 제1 선택항목으로 만든다. 단일 최상의 평가를 받은 인식 후보가 없으면, 알파벳 순차를 사용하여 제1 선택항목이 될 후보를 선택할 수 있다. 다음에, 펑크션(2218)은 특별 디스플레이를 위해 임의로 필터 문자열에 대응하는 제1선택항목의 이들 문자를 선택한다. 아래 설명하는 바와 같이, 바람직한 실시예에서 비모호 필터에 대응하는 제1선택항목에서의 문자는 한가지 방법으로 표시되며, 모호 필터에 대응하는 제1선택항목에서의 문자는 여러가지 방법으로 표시되며, 사용자는 필터 문자열의 어느 부분이 필터 요소의 어느 타입과 대응하는 가를 이해할 수 있다. 다음에, 펑크션(2220)은 필터 문자열과 대응하지 않는 제1선택항목의 제1문자 앞에 필터 커서를 둔다. 정의된 필터 문자열이 없을 때 이 커서는 제1선택항목의 제1문자 앞에 놓인다.
삭제
다음에, 현재 제1 선택항목 이외의 임의 후보를 겟선택항목 루틴이 리턴하면, 펑크션(2222)은 스텝(2224-2228)을 수행시킨다. 이 경우, 펑크션(2224)은 한번에 교정창에 모두 끼워지는 최상의 평가 후보 세트로부터 제1 문자 순차 선택항목을 생성한다. 그 이상의 다른 인식 후보가 있으면, 펑크션(2226 및 2228)은 나머지 최상의 평가 후보로부터 모드 선택항목을 위한 기설정 개수의 스크린 만큼 제2 문자 순차 선택항목 리스트를 생성한다.
이러한 과정이 모두 이루어지면, 펑크션(2230)은 교정창을 디스플레이하며, 이 교정창에는 현재 제1선택항목, 임의 또는 특정 필터에서 문자를 허용하는 표시, 현재 커서 위치의 표시, 그리고 제1 선택항목 리스트를 함께 담고 있다. 도 12에서 제1 선택항목(1206)은 제1 선택항목창(1202)에 나타나고, 필터 커서(1204)는 제1 선택항목의 제1 문자 앞에 놓이는데 그 이유는 현재 정의된 필터가 없기 때문이다.
현재 선택 뿐만 아니라 관련 발성이 없는 텍스트 선택에 대해서도 널(null)값과 함께 디스플레이 선택항목 리스트 루틴을 호출할 수 있음을 알 수 있다. 이 경우, 펑크션(2338 및 2340)의 동작을 기초로 단어 완성을 행하여 알파벳 입력에 대응한다. 이에따라 필터링이나 재발성을 사용하지 않고 발성 인식을 위한 선택항목을 선택하고, 선행 인식을 교정하는 것을 돕는 필터링 및/또는 재발성을 이용하고, 알파벳 필터링 입력에 따라 단어 완성을 행하며, 필요하다면, 차후 발성의 입력에 의해 이와같은 알파벳 완성 프로세스를 지원하고, 알파벳 입력과 함께 현재 어휘에 있지 않은 단어를 스펠링하고, 문자에 대해 모호 또는 비모호이거나 길이에 대해 모호인 형태를 포함하는 알파벳 입력의 여러가지 형태를 혼합 및 매치할 수 있다.
도 14를 참조하면, 디스플레이 선택항목 리스트 루틴을 호출하여 SIP 버퍼에서 단어를 탭하여 펑크션(1436 및 1438)이 반응하고, 이어서, 결과로서 도 12에 도시한 바와 같은 교정창(1200)이 디스플레이되는 방법을 설명하였다. 단지 한 단어를 탭함으로써 그 연관 선택항목 리스트와 함께 교정창을 디스플레이하는 능력은 사용자가 단일 단어 에러를 교정하도록 하기 위한 신속하고도 편리한 방법을 제공한다.
사용자가 SIP 버퍼에서 선택에 대해 더블 탭을 하면, 펑크션(1440 - 1444)은 디스플레이 되어 있을 임의 현재 교정창으로부터 빠져나오고, 현재 선택의 현재 언어 컨텍스트를 이용하여 현재 인식 지속 모드 및 설정에 따라서 SIP 버퍼 인식을 시작한다. 도 18과 관련하여 위에서 설명한 목적을 위한 누름 또는 클릭이 있는가의 여부에 대해 반응하는가를 판별하는데 있어서, 인식 지속 로직은 이러한 더블 클릭과 연관된 키 누름 지속의 타입에 반응한다. 임의 인식의 출력은 현재 선택을 교체한다. 도면에 도시하지 않았지만, 사용자가 SIP 버퍼에서 한 단어에 대해 더블 탭하면, 이것은 펑크션(1444)의 목적을 위한 현재 선택으로 취급된다.
사용자가 텍스트를 포함하지 않는 SIP 버퍼의 임의 부분, 이를테면 단어 사이, 버퍼에서의 텍스트 전후에 탭을 하면, 펑크션(1446)은 펑크션(1448 - 1452)을 수행하도록 작용한다. 펑크션(1448)은 탭의 위치에 커서를 둔다. SIP 버퍼에서 텍스트의 끝 이후에 있는 SIP 버퍼창의 임의 부분에 탭이 위치하면, 커서는 이 버퍼에서 최후 단어 이후에 놓인다. 탭이 더블 탭이면, 펑크션(1450 및 1452)은 현재 인식 지속 모드 또는 기타 설정에 따라서 신규 커서 위치에서 SIP 버퍼 인식을 시작하며, 이때 누름 또는 클릭에 대해 반응하는가의 여부를 판별하기 위해 더블 탭의 제2 터치 지속을 이용하게 된다.
도 15는 도 13 및 도 14에 관하여 설명한 의사코드의 연속이다.
사용자가 SIP 버퍼에서 하나 이상의 단어 부분을 가로질러 드래그하면, 펑크션(1502 및 1504)은 도 22에 관해 위에 설명한 디스플레이 선택항목 리스트 루틴을 호출하며, 모든 단어는 현재 선택으로서 전체 또는 부분적으로 드래그되며 이들 단어의 인식과 연관된 음향 데이터는 임의로 발성 리스트에서의 제1엔트리로서 함께 표시된다.
SIP 버퍼에서 개별 단어의 초기 부분에 대해 사용자가 드래그하면, 펑크션(1506 및 1508)은 선택으로서 이 단어와 함께 디스플레이 선택항목 리스트 기능을 호출하며, 이 단어는 비선택항목 리스트에 부가되고, 단어의 드래그된 초기부분은 필터 문자열으로서 함께 표시되고, 이 단어와 연관된 음향 데이터는 발성 리스트에서의 제1 엔트리로서 표시된다. 이 진행 프로그램은 단어가 비선택항목 리스트에 부가되었다는 사실에 의해 표시된 바와 같이, 전체 단어가 원하는 선택항목이 아니라는 표시로서, 사용자가 단어의 초기 부분만을 드래그 하였다고 해석한다.
사용자가 SIP 버퍼에서 개별 단어의 끝을 드래그하면 펑크션(1510 및 1512)은 선택으로서 단어와 함께 디스플레이 선택항목 리스트 루틴을 호출하며, 이 선택은 비선택항목 리스트에 부가되고, 단어의 드래그 안된 초기부분을 필터 문자열으로서, 선택된 단어와 연관된 음향데이터는 발성 리스트에서 제1 엔트리로서 표시된다.
SIP 버퍼가 특정량 이상의 텍스트를 가졌다는 표시를 수신하면, 펑크션(1514 및 1516)은 버퍼가 풀 상태에 가깝다는 경고를 사용자에게 디스플레이한다. 본 개시 실시예에서, 이 경고는 추가 문자가 버퍼에 부가되면 버퍼가 자동으로 클리어될 것임을 사용자에게 통보하는 한편 사용자에게 버퍼에서의 현재 텍스트가 올바른가를 검사하도록 하고 올바르면 토크나 계속을 눌러 버퍼를 클리어할 것을 요청한다.
SIP 버퍼가 텍스트 입력을 수신하였다는 표시를 수신하면, 펑크션(1518)은 스텝(1520-1528)을 수행시킨다. 펑크션(1520)은 커서가 현재 SIP 버퍼의 끝에 있는가를 검사한다. 끝에 없으면, 펑크션(1522)은 SIP 버퍼 내에서 이 SIP 버퍼의 최후 문자로부터 현재 커서 위치까지의 간격만큼의 백스페이스의 수를 운영체계 쪽으로 출력한다. 다음에, 펑크션(1526)은 하나 이상의 문자로 구성될 수 있는 텍스트 입력으로 하여금 그 현재 커서 위치에서 SIP 버퍼로 출력되도록 한다. 스텝(1527 및 1528)은 SIP 버퍼에서의 동일한 텍스트 시퀀스 및 임의의 다음 텍스트를 운영체계(OS)의 텍스트 입력으로 출력한다.
인식된 텍스트를 OS에 보내기 전에 OS에 백스페이스를 펑크션(1522)이 공급하였다는 사실과, 수신된 텍스트 이후의 임의 텍스트를 OS에 공급하였다는 사실로 인해 응용창에 미리 공급된 텍스트에 대응하는 SIP 버퍼의 텍스트에서의 임의 변경이 응용창에서 이 텍스트에도 야기되도록 한다.
SIP 프로그램은 신규 SIP 버퍼 텍스트 입력의 표시가 수신될 때 한번에 한번씩 모드(one-at-a-time)에 있으면, 펑크션(1536)은 텍스트 입력이 음성 인식에 따라 발생하였는가의 여부를 검사한다. 그렇다면, 펑크션(1537)은 인식된 텍스트를 위해 디스플레이 선택항목 리스트 루틴을 호출하고, 펑크션(1538)은 교정모드를 턴오프한다. 통상, 디스플레이 선택항목 리스트 루틴의 호출은 시스템을 교정모드로 변환하지만 펑크션(1538)은 한번에 한번씩 모드가 사용될 때와 같은 경우가 되는 것을 방지한다. 전술한 바와 같이, 이렇게 하는 이유는 한번에 한번씩 모드에서 교정창이 단어의 발성에 대해 음성 인식이 수행될 때마다 자동으로 디스플레이되고, 그 결과 교정창으로의 입력 이외의 목적으로 사용되도록 SIP 인터페이스의 비교정창 측에 대해 사용자가 입력을 공급할 의도가 상대적으로 높다. 한편, 교정창은 하나 이상의 단어를 교정하기 원한다는 표시를 하는 특별 사용자 입력의 결과로서 디스플레이 되고 있으며 교정 모드에 진입되어 특정 비교정창 입력은 교정창으로 향하게된다.
펑크션(1539)은 다음의 조건 세트가 충족되는가를 검사한다. 이 조건 세트로는 SIP가 한번에 한번씩 모드에 있고, 교정창이 디스플레이되지만 시스템은 교정모드에 있지 않은 조건을 말한다. 이러한 조건은 통상 한번에 한번씩 모드에서 단어의 각 발성 이후에 존재하는 상태를 말한다. 상기 조건이 존재하면, 펑크션(1540)은 교정창에서 제1 선택항목의 인식을 확인하여 도 13, 도 14 및 도 15에서 상기 임의 입력에 반응하며, 그 이유는 이 선택항목이 텍스트 출력으로서 SIP 버퍼및 OS에 도입될 목적과, 하나 이상의 차후 단어의 인식을 위해 현재 언어 컨텍스트를 갱신할 목적과, 언어 모델을 갱신하는데 사용하기 위한 데이터를 제공할 목적, 음향 모델을 갱신하기 위해 데이터를 제공할 목적 때문이다. 이에 따라 사용자는 많은 입력 중 임의의 하나로 한번에 한번씩 모드에서 단어의 선행 인식을 확인할 수 있으며, 이것은 또한 인식 프로세스를 향상시키는데도 사용될 수 있다.
사용자가 한번에 한번씩 모드에 있고, 선택항목 리스트에서 도시한 단어 교정을 희망하는 표시를 하는 입력을 발생시키면, SIP는 교정모드로 설정되고, 이 모드의 연속 도중에 이어지는 입력이 펑크션(1540)의 동작을 야기하지 않을 것임을 알 수 있다.
도 15의 펑크션(1542)은 SIP 프로그램의 메인 반응 루프 중 일부의 시작을 표시하며, 이 SIP 프로그램은 교정창이 디스플레이될 때 수신되는 입력에 관한 것이다. 이 부분은 도 15의 나머지, 그리고 도 16 및 도 17의 모두를 통해 확대된다.
도 12에 도시한 교정창의 이스케이프 버튼(Escape button)(1210)을 누르면, 펑크션(1544 및 1546)은 SIP 프로그램이 현재 선택의 변경 없이 교정창을 빠져나가도록 한다.
도 12에 도시한 교정창의 삭제 버튼(Delete button)(1212)을 누르면, 펑크션(1548 및 1550)은 SIP 버퍼에서 현재 선택을 삭제하고, 출력을 OS로 보내며, 이것으로 인해 SIP 버퍼에서의 텍스트에 대응하는 응용창에서의 임의 텍스트에 대응하는 변경이 이루어진다.
도 12에 도시한 신규 버튼(New button)(1214)을 누르면, 펑크션(1552)은 펑크션(1553 - 1556)이 수행되도록 한다. 펑크션(1553)이 교정창에 대응하는 SIP 버퍼에서 현재 선택을 삭제하고, 출력을 OS에 보내어 응용창에서의 텍스트에 대응 변경이 일어나도록 한다. 펑크션(1554)은 인식 모드를 신규 발성 디폴트로 설정하며, 이것은 통상 대어휘 인식 모드가 되며, 사용자에 의해 연속 또는 불연속 인식 모드로 설정될 수 있다. 펑크션(1556)은 현재 인식 지속 모드 및 기타 다른 인식 설정을 이용하여 SIP 버퍼 인식을 시작한다. 전술한 바와 같이 SIP 버퍼 인식은 펑크션(1518 - 1538)의 동작에 따라서 SIP 버퍼로 입력을 제공하는 인식이다.
도 16은 교정창의 디스플레이 도중에 수신된 입력에 대해 SIP 프로그램의 메인 루프의 반응을 나타낸 연속도면이다.
도 12의 재발성 버튼(Re-utterance button)(1216)을 누르면, 펑크션(1602)은 펑크션(1603 - 1610)이 수행하도록 작용한다. 펑크션(1603)은 SIP 프로그램이 현재교정 모드에 있지 않다면 그 프로그램을 교정 모드로 설정한다. 이 모드 설정은 한번에 한번씩 모드에서 불연속 단어 인식의 결과로서, 교정창에서 버튼을 누름함에 의한 사용자 반응 결과로서, 교정창이 디스플레이되면 발생되며, 상기 버튼 누름의 경우는 재발성 버튼으로서 교정 목적을 위해 교정창을 사용할 의도를 표시한다. 다음에, 펑크션(1604)은 인식 모드를 재발성 인식과 관련된 현재 인식 모드로 설정한다. 이후 펑크션(1606)은 현재 재발성 인식 지속 모드 및 기타 인식 설정에 따라서 어휘를 포함한 하나 이상의 발성을 수신한다. 다음에 펑크션(1608)은 펑크션(1606)에서 수신된 하나 이상의 발성을 교정창 선택을 위해 발성 리스트에 부가하며, 이와 아울러 이들 발성 시간에 어휘 모드와 연속 또는 불연속 인식이 유효한가의 여부를 표시한다. 이로 인해 도 24에 도시된 발성 리스트(2004)는 추가적인 발성을 갖게 된다.
이후 펑크션(1610)이 상술한 바와 같이 도 22의 디스플레이 선택항목 리스트 루틴을 호출한다. 이것은 차례로 도 23과 관련하여 위에 설명한 겟 선택항목 펑크션을 호출하고, 펑크션(2306 - 2336)이 신규 발성 리스트 엔트리를 이용하여 재발성 인식을 수행하도록 작용한다.
도 12에 도시한 필터 버튼(1218)을 누르면, 도 16의 펑크션(1612)은 펑크션(1613 - 1620)이 수행되도록 작용한다. 펑크션(1613)은 SIP 프로그램이 현재 교정 모드가 아니면 교정모드로 진입하며, 펑크션(1603)과 관련하여 위에 설명한 바와 같이, 펑크션(1614)은 현재 엔트리 모드가 음성 인식 모드인가를 검사하며, 음성모드이면 현재 필터 인식 지속 모드 및 설정에 따라서 펑크션(1616)이 필터 인식을 시작하도록 작용한다. 이 것은 그 인식에 의해 발생된 임의 입력이 현재 필터 문자열의 커서로 향하도록 작용한다. 한편, 현재 필터 엔트리 모드가 비음성 인식엔트리 창 모드이면, 펑크션(1618 및 1620)은 적절한 엔트리 창을 호출한다. 전술한 바와 같이, 도시한 본 발명의 실시예에서 이들 비음성 엔트리 창모드는 문자 인식 엔트리 모드, 수기 인식 엔트리 모드 및 키보드 엔트리 모드에 대응한다.
사용자가 도 12에 도시한 단어 형태 버튼(Word Form button)(1220)을 누르면, 펑크션(1622 - 1624)은 SIP 프로그램이 현재 교정 모드에 있지 않다면 교정모드에 진입하도록 작용하며, 도 27의 단어 형태 리스트 루틴이 현재 제1 선택항목 단어를 위해 호출되도록 작용한다. 사용자가 교정창 재디스플레이를 발생시키는 교정창에 대한 입력을 제공할 때까지 현재 제1 선택항목는 통상 이제까지의 교정창을 호출하기 위한 선택이 된다. 이것은 SIP 버퍼에서 하나 이상의 단어를 선택하는 것으로 그리고, 교정창에서 단어 형태 버튼을 누르는 것으로 사용자가 신속하게 임의의 선택을 위한 대체 형태 리스트를 선택할 수 있다는 것을 의미한다.
도 25는 단어 형태 리스트 루틴의 펑크션을 도시한다. 호출될 때 교정창이 이미 디스플레이되면 펑크션(2702 및 2704)은 현재 최상의 선택항목을 단어 형태 리스트가 디스플레이될 선택으로서 취급한다. 현재 선택이 일 단어가면, 펑크션(2706)은 펑크션(2708-2714)을 수행하도록 작용한다. 현재 선택이 임의 동의어이면, 펑크션(2708)은 단어 형태 선택항목 리스트의 시작에 이들 동의어를 둔다. 다음에 스텝(2710)은 선택된 단어의 루트(root) 형태를 찾고, 펑크션(2712)은 단어를 위한 대체 문법 형태의 리스트를 생성한다. 이후 펑크션(2714)을 알파벳순으로 임의 동의어 이후 선택항목 리스트에서 이들 모든 문법 형태를 정렬하며, 이것을 펑크션(2708)에 의해 리스트에 부가할 수도 있다.
한편, 선택이 다중 단어로 구성되면, 펑크션(2716)은 펑크션(2718 - 2728)이 수행되도록 작용한다. 펑크션(2718)은 선택이 그 단어 간에 임의 공간을 갖는가를 검사한다. 공간을 가지면, 펑크션(2720)은 선택항목 리스트에 선택의 카피를 부가하며, 이것은 단어 간에 상기 공간을 갖지 않는다. 그리고, 펑크션(2222)은 하이픈으로 대체된 공간을 갖는 선택의 카피를 부가한다. 도 27에 도시하지 않았지만, 부가 기능이 수행되어 하이픈을 공간으로 또는 공간이 없는 것으로 할 수도 있다. 선택이 동일 스펠링/비스펠링 변형 펑크션에 작용시키는 다중 요소를 가지면, 변형(2726)은 선택 및 모든 선행 선택항목 변형의 카피를 선택항목 리스트에 부가한다. 이것은 예를들면 일련 번호 이름을 수치 등가물로 변형하는 것, 이를테면 단어 "period" 를 대응 구두점으로 변형하는 등의 작용을 가능하게 한다. 다음에, 펑크션(2728)은 알파벳 순으로 선택항목 리스트를 순차정렬한다.
선택항목 리스트가 단일 단어 또는 다중 단어 선택을 위해 생성되면, 펑크션(2730)은 제1선택항목으로서 선택을 보여주는 교정창을 디스플레이하며, 이 교정창은 또한 제1 선택항목의 시작에서의 필터커서, 스크롤 가능 선택항목 리스트 및 스크롤 가능 리스트를 보여준다. 선택이 단일 단어가고, 그 필터가 모든 문법적 형태에서 발생하는 단일 시퀀스 문자를 갖는 일부 실시예에서, 필터 커서는 비모호 필터 문자열으로 표시된 공통 시퀀스 이후에 놓일 수 있다.
본 발명의 일부 실시예에서, 단어 형태는 옵션 단어 형태의 단일 알파벳 순차 리스트를 제공한다. 다른 실시예에서, 옵션은 사용빈도에 따라 순차정렬될 수도 있고, 제1 및 제2 알파벳 순차 선택항목 리스트가 있을 수 있으며, 이 경우 제1선택항목 리스트는 가장 공통적으로 선택된 옵션 형태로서 한번에 교정창에서 끼워질 수 있는 형태가 되고, 제2리스트는 공통성이 떨어지는 정도의 단어 형태를 포함할 수 있을 것이다.
아래 설명하는 바와 같이, 단어 형태 리스트는 가장 통상적인 타입의 음성 인식 에러, 즉 제1 선택항목가 원하는 단어의 동의어이거나 교체 문법적 형태일 경우의 에러를 교정하는 매우 신속한 방법을 제공한다.
사용자가 도 12의 대문자시작 버튼(Capitalization button)(1222)을 누르면, 펑크션(1626 - 1628)은 시스템이 교정 모드에 없다면 교정 모드로 들어가며 교정창의 현재 제1 선택항목을 위해 대문자시작 싸이클 펑크션을 호출한다. 대문자시작 교정 싸이클은 초기 대문자시작이 되지 않은 하나 이상의 단어 시퀀스가 각 단어가 초기 대문자로 시작되도록 하며, 초기 대문자시작이 된 하나 이상의 단어 시퀀스가 모든 대문자시작 형태로 변경되도록 하고, 또한 모든 대문자시작 형태를 갖는 하나 이상의 단어 시퀀스가 모두 하위 케이스 형태로 변경되도록 작용한다. 대문자시작 버튼을 반복적으로 누르면, 사용자는 신속하게 이들 형태 사이에서 선택을 할 수 있다.
사용자가 도 12에 도시한 플레이 버튼(Play button)(1224)을 선택하면, 제1 엔트리가 있다면 펑크션(1630 및 1632)은 교정창 연관 선택과 관련된 발성 리스트에서 제1엔트리의 오디오 재생을 야기한다. 그 결과, 하나 이상의 단어에 대한 잘못 인식된 시퀀스에 대하여 무엇이 발성되었나를 사용자가 정확하게 들을 수 있게 된다. 도시하지 않았지만, 바람직한 실시예로서 교정창이 먼저 디스플레이될 때 사용자는 오디오가 자동으로 플레이되도록 작용하는 설정을 선택할 수도 있다.
그레이 상태에서 디스플레이되지 않은 경우 도 12에 도시한 단어 추가 버튼(Add Word Button)(1226)을 누르면, 펑크션(1634 및 1636)은 대화 박스를 호출하며, 이 대화 박스는 사용자가 현재 제1 선택항목 단어를 액티브 또는 백업 어휘로 진입할 수 있도록 한다. SIP 인식자의 특정 실시예에서, 시스템은 대어휘모드를 사용하는 정상 인식 도중에 인식에 유용한 액티브 어휘로서 그 전체 어휘의 서브세트를 사용한다. 펑크션(1636)은 사용자가 단어를 만드는 것을 가능하게 하며, 이 단어는 정상상태에서 액티브 어휘의 백업 어휘 일부에 있다. 또한 이 펑크션은 단어를 액티브 또는 백업 어휘에 부가하는 것을 가능하게 하며, 이 부가 단어는 어휘에 속하지는 않지만 알파벳 입력에 의해 제1 선택항목창에 스펠링된 것을 말한다. 보다 큰 하드웨어 자원을 갖는 본 발명의 다른 실시예에 있어서는, 액티브와 백업 어휘 간의 구별이 필요없음을 이해할 수 있을 것이다.
애드 단어 버튼(1226)은 제1선택항목 단어가 액티브 어휘에 현재 있지 않으면 넌 그레이 상태(non-grayed state)에만 있다. 이러한 구조는 사용자가 제1선택항목을 액티브 또는 백업 어휘에 부가하기 원한다는 표시를 그 사용자에게 제공한다.
사용자가 도 12에 도시한 체크 버튼(Check button)(1228)을 선택하면, 펑크션(1638 - 1648)은 현재 교정창을 제거하고, 그 제1 선택항목을 SIP 버퍼에 제공하며, 응용창에서 텍스트에 대응 변경을 주는데 필요한 키스트로크 시퀀스를 OS에 공급한다.
도 12에 도시한 교정창에서의 선택항목 중 하나를 사용자가 탭하면, 펑크션(1650 - 1653)은 현재 교정창을 제거하고, SIP 버퍼에 선택된 선택항목을 출력하며, 응용창에서 대응 변경을 주는데 필요한 키스트로크의 시퀀스를 OS에 공급한다.
도 12에 도시한 선택항목 편집 버튼(Choice Edit button)(1232) 중 하나를 사용자가 탭하면, 펑크션(1654)은 펑크션(1656 - 1658)이 수행되도록 작용한다. 펑크션(1656)은 시스템이 교정모드에 없으면 교정모드로 변경한다. 펑크션(1656)은 탭된 선택항목 편집 버튼과 연관된 선택항목이 제1선택항목이 되고, 현재 필터 문자열이 되도록 한다. 이후 펑크션(1658)은 신규 필터 문자열과 함께 디스플레이 선택항목 리스트를 호출한다. 아래 설명하는 바와 같이, 이 펑크션을 통해 사용자는 현재 필터 문자열으로서 선택항목 단어 또는 단어 시퀀스를 선택하고, 이후 필터 문자열을 편집할 수 있으며, 이 편집은 통상 원하는 단어와 일치하지 않는 문자를 그 끝부분으로부터 삭제하는 것으로 행해진다.
제1 선택항목을 포함하는 임의 선택항목 중 하나 이상의 초기 문자를 사용자가 드래그하면, 펑크션(1664-1666)은 교정모드에 없으면 시스템을 이 교정모드로 변경하고, 드래그된 선택항목을 선택항목 리스트에 부가하고, 필터 문자열으로서 선택항목 중 드래그된 초기부분과 함께 디스플레이 선택항목 리스트를 호출한다. 이들 펑크션은 현재 선택항목이 원하는 제1 선택항목이 아니지만 이 것의 드래그된 초기부분이 원하는 선택항목을 찾는데 도움을 주도록 필터로서 사용되어야 한다는 표시를 사용자가 할 수 있도록 해준다.
도 17은 SIP 인식자가 교정창 입력에 반응하여 만든 펑크션 리스트의 최종 연속물을 보여준다.
사용자가 제1선택항목을 포함하는 선택항목의 끝을 드래그하면, 펑크션(1702 및 1704)은 교정 모드에 없으면 시스템을 교정 모드로 진입시키고 부분 드래그된 선택항목을 비선택항목 리스트에 부가시키고, 선택항목 중 드래그안된 초기부분은 필터 문자열으로 하여 디스플레이 선택항목 리스트를 호출한다.
사용자가 선택항목 리스트에서 2개의 선택항목을 드래그하면, 펑크션(1706 - 1708)은 교정모드에 없으면 시스템을 교정모드로 진입시키고 2개의 선택항목을 비선택항목 리스트에 부가시키고, 이 2개의 선택항목을 현재 필터 범위의 정의에서의 시작과 끝 단어로 하여 디스플레이 선택항목 리스트를 호출한다.
사용자가 제1선택항목에서 문자 사이에서 탭하면, 펑크션(1710 - 1712)은 SIP가 교정모드에 없다면 교정모드에 진입하고 필터 커서를 탭된 위치로 이동시킨다. 이 때 디스플레이 선택항목 리스트에 대한 호출은 없는데, 그 이유는 사용자가 필터에 대해 어떠한 변화도 주지 않기 때문이다.
도 13의 펑크션(1334)에 대하여 위에 설명한 바와 같이, 교정모드에 있을 때 사용자가 백스페이스 버튼(1116)을 눌러 백스페이스를 입력하면, 펑크션(1714)은 펑크션(1718 - 1720)이 수행하도록 작용한다. 펑크션(1718)은 백스페이스가 입력될 때 도 28 및 도 29의 필터 편집 루틴을 호출한다.
도 28에 도시된 바와 같이, 필터 편집 루틴(2800)은 비모호, 모호 및/또는 모호 길이 필터 요소와 함께 필터 편집에 있어서 사용자에게 유연성을 주도록 구성되어 있다.
이 루틴은 펑크션(2802)을 포함하여 필터 커서의 현재 위치 이전에 호출된 선택항목의 임의 문자가 있는가를 검사하고, 있다면, 펑크션(2804)으로 하여금 루틴이 호출된 필터 문자열을 구형 필터 문자열으로서 정의하도록 작용한다. 펑크션(2806)은 필터 커서 위치 앞에서 루틴이 호출된 선택항목에서의 문자를 신규 필터 커서로하여 이 문자열에서 모든 문자를 비모호한 것으로 정의한다. 그 결과 사용자는 제1 선택항목의 임의 부분을 정의할 수 있게 되는데 그 이유는 교정 필터 문자로서 자동 확인된 편집의 위치 때문이다.
다음에, 펑크션(2807)은 필터 편집이 호출되도록 한 입력이 백스페이스인가의 여부를 검사하며, 백스페이스이면 펑크션(2808 - 2812)이 수행되도록 작용한다. 펑크션(2808 및 2810)은 필터 커서가 비선택 커서이면 신규 필터 문자열의 최후 문자를 삭제한다. 필터 커서가 현재 제1 선택항목에서 하나 이상의 문자 선택에 대응하면, 이들 문자는 바로 설명한 펑크션(2806)의 동작에 의해 신규 필터에 이미 포함되지 않은 것이다. 그러면, 구형 필터 문자열을 클리어하게 되는데 그 이유는 필터 편집에 대한 입력이 백스페이스일 때 백스페이스의 위치 우측에 대한 선행 필터 부분이 이 필터에서 장래의 포함을 의도하고 있지 않기 때문이다. 이 작용으로 인해, 필터커서 위치의 우측에 미리 존재할 수 있는 필터 문자열에서 임의 모호 뿐만 아니라 비모호 요소도 삭제된다.
필터 편집 루틴을 호출시키는 입력이 하나 이상의 비모호 문자이면, 펑크션(2814 및 2816)은 하나 이상의 비모호 문자를 신규 필터 문자열의 끝에 부가한다.
필터 편집 루틴에 대한 입력이 고정된 길이를 갖는 하나 이상의 모호 문자 시퀀스이면, 펑크션(2818 및 2820)은 신규 필터의 끝에서 시퀀스에 각 모호 문자를 표현하는 요소를 둔다.
필터 편집 루틴에 대한 입력이 모호 길이 요소이면 펑크션(2822)은 펑크션(2824 - 2832)이 수행되도록 작용한다. 펑크션(2824)은 모호 입력와 연관된 문자의 최상의 평가가 되는 시퀀스를 선택하며, 이것은 필터의 선행 비모호 부분에 부가되면, 어휘 단어의 모두 또는 초기부분에 대응한다. 이 기능이 수행될 때 신규 필터 문자열의 선행 부분 모두가 상기 설명한 펑크션(2806)의 동작에 의해 확인되었음을 이해해야 한다. 다음에, 펑크션(2826)은 특정 최소 평가 이상으로 펑크션(2824)에 의해 선택된 임의 시퀀스가 있는가를 검사하며, 있다면 펑크션(2828)이 어휘와는 무관하게 최상의 평가를 받은 문자 시퀀스를 선택하도록 작용한다. 이와같이 하는 이유는 펑크션(2826)에서 검사(본 명세서에서는 "테스트"와 같은 의미로 사용함)의 조건이 충족되면 어휘 단어를 스펠링하는데, 모호 필터가 사용되는 것을 나타내기 때문이다. 다음에 펑크션(2830 및 2832)은 펑크션(2824 -2828)에 의해 선택된 문자 시퀀스를 신규 모호 필터 요소와 연관시키고, 이 신규 모호 필터 요소를 신규 필터 문자열의 끝에 부가시킨다.
다음에, 구형 필터 문자열에서 루프(2834)가 각 필터 요소에 대해 수행된다. 이 루프는 도 28 나머지에 도시한 펑크션(2836 - 2850)과 도 29에 도시한 펑크션(2900 - 2922)을 포함한다.
루프(2834)의 현재 구형 필터 문자열 요소가 펑크션(2814 - 2820)에 의해 신규 필터 문자열에 부가된 신규 고정 길이 요소를 벗어난 모호 고정 길이 요소이면, 펑크션(2836 및 2838)은 구형 요소가 이들 신규 요소의 범위를 벗어난 것이라면 이 구형 요소를 신규 요소에 부가한다. 이렇게 하는 이유는 백스페이스 버튼을 사용하는 것 이외의 필터 문자열의 편집이 신규 편집의 우측에 대한 선행 필터의 일부에 상당하는 이전에 입력된 필터 정보를 삭제하지 않기 때문이다.
루프(2834)의 현재 구형 요소가 펑크션(2822 - 2832)의 동작에 의해 신규 필터 문자열의 끝에 부가된 신규 모호 길이 요소에서 일부 시퀀스를 벗어나는 모호 고정 길이 요소이면, 펑크션(2840)은 펑크션(2842 - 2850)이 수행하도록 작용한다. 펑크션(2842)은 필터 문자열에 부가되는 신규 모호 길이 요소에 의해 표현된 각 문자 시퀀스에 대해 루프를 실행한다. 신규 모호 길이 요소의 상기 문자 시퀀스 각각에 대해 수행되는 상기 루프는 루프(2834)의 현재 구형 모호 고정 길이 요소와 일치하는 각 문자 시퀀스에 대해 수행되는 루프(2844)를 포함한다. 이 내부 루프(2844)에 포함된 펑크션(2846)은 구형 요소가 매치되는가 그리고 신규 요소에서 현재 시퀀스를 넘어 벗어나는가를 검사(테스트)한다. 벗어나면, 펑크션(2848)은 신규 모호 길이 요소에 의해 표현된 문자 시퀀스 리스트에 신규 문자 시퀀스를 부가하며, 이 신규 문자 시퀀스는 신규 요소로부터 현재 시퀀스를 벗어나는 구형 요소로부터 시퀀스의 일부를 더한 신규 요소로부터 현재 시퀀스에 대응한다.
현재 구형 요소가 신규 필터에 부가된 신규 고정 길이 요소를 넘어 벗어난 임의 문자 시퀀스를 포함하는 모호 길이 요소이면, 도 29의 펑크션(2900)은 펑크션(2902 - 2910)이 수행되도록 작용한다.
펑크션(2902)은 하나의 루프로서 구형 모호 길이 요소로 표현된 각 시퀀스에 대해 수행된다. 이 펑크션은 구형 요소로부터의 현재 시퀀스가 매치되는가의 여부 및 신규 고정 길이 요소를 넘어 벗어나는가를 검사하는 테스트(2904)를 포함한다. 벗어나면, 펑크션(2906)은 신규 요소를 넘어 벗어나는 구형 요소로부터의 그 확대분량에 대응하는 신규 문자 시퀀스를 생성한다. 이 루프가 완료된 후에, 펑크션(2908)은 임의의 신규 시퀀스가 펑크션(2906)에 의해 생성되었나의 여부를 검사하며, 생성되었다면, 펑크션(2910)으로 하여금 이 신규 모호 길이 요소를 신규 요소 이후의 신규 필터의 끝에 부가시키도록 한다. 이 신규 모호 길이 요소는 펑크션(2906)에 의해 생성된 각 시퀀스의 가능성을 표현한다. 바람직하게는 가능성 평가는 현재 신규 고정 길이 요소를 매치시키기 위해 루프(2902)에 의해 발견된 문자 시퀀스 각각의 상대 가능성 평가에 기초하여 상기 신규 시퀀스 각각과 연관시킨다.
현재 구형 요소가 신규 길이 요소에서의 일부 문자 시퀀스를 넘어 벗어난 일부 문자 시퀀스를 갖는 모호 길이 요소이면, 펑크션(2912)은 펑크션(2914 - 2920)을 수행하도록 작용한다. 펑크션(2914)은 신규 모호 길이 요소에서 각 문자 시퀀스에 대해 수행되는 루프이며, 구형 모호 길이 요소에서 각 문자 시퀀스에 대해 수행되는 내부 루프(2916)로 구성된다. 이 내부루프는 펑크션(2918 및 2920)으로 구성되며, 구형 요소로부터의 문자 시퀀스가 매치되면서 신규 요소로부터의 현재 문자 시퀀스를 벗어나는가를 검사하고, 벗어나면, 신규 모호 길이 요소와 신규 문자 시퀀스를 연관시키며, 여기서 신규 문자 시퀀스는 현재 구형 요소 문자 시퀀스로부터 확대된(벗어난) 분량을 더한 신규 요소로부터의 현재 시퀀스에 대응하는 것이다.
루프(2834)에서의 모든 펑크션이 완료되면, 펑크션(2924)은 호츨로부터 필터 편집으로 리턴하며, 이때 상기 호출에 의해 생성된 신규 필터 문자열이 함께 수반된다.
본 발명의 여러 가지 측면(또는 특징)을 갖는 많은 실시예를 통해, 다양하면서도 보다 간단한 구조의 필터 편집 방식을 사용할 수 있음을 알 수 있다. 그러나, 도 28 및 도 29에 도시한 필터 편집 방식의 가장 중요한 이점은 연속 문자 인식에 의해 신속하게 모호 필터에 진입할 수 있도록 하고, 이어서 연속하여 이것을 보다 신뢰성 있는 알파벳 엔트리 모드나 심지어 차후 연속 문자 인식으로도 편집할 수 있다는 점이다. 예를들면, 이 방식은 연속 문자 인식에 의해 진입된 필터를 불연속 문자 인식, ICA 단어 인식, 심지어 수기 인식을 통한 입력으로 모두 또는 부분적으로 대체할 수 있도록 한다. 이 방식 하에서, 사용자가 필터 문자열의 초기 부분을 편집할 때, 필터 문자열의 이후 부분에 포함된 정보는 사용자가 그 의도를 표시하지 않는 한 파괴되지 않으며, 이것은 도시한 실시예서는 백스페이스 문자를 사용하여 이루어진다.
도 17을 참조하면, 펑크션(1718)에서 필터 편집에 대한 호출이 리턴할 때, 펑크션(1724)은 이 호출에 의해 리턴된 신규 필터 문자열과 함께 디스플레이 선택항목 리스트를 호출한다.
필터 입력이 수신될 때마다, 도 16의 펑크션(1612)에 대하여 상기 설명한 필터 키의 누름에 반응하여 수행되는 인식 결과에 의해서, 그리고 그 밖의 다른 수단에 의해서, 펑크션(1722 - 1738)이 수행된다.
펑크션(1724)은 시스템이 한번에 한번씩 인식 모드에 있는가의 여부, 그리고 필터 입력이 음성 인식에 의해 수행되는가의 여부를 검사하며, 그렇다면, 펑크션(1726 - 1730)이 수행되도록 작용한다. 펑크션(1726)은 필터 문자 선택항목 창, 이를테면 도 39에 도시한 창(3906)이 현재 디스플레이되었나를 테스트(검사)하여, 그렇다면 펑크션(1728)은 필터 선택항목 창을 닫고, 펑크션(1730)은 입력으로서 제1 선택항목 필터 문자와 함께 필터 편집을 호출한다. 그 결과, 필터 문자열에서 모든 선행 문자가 비모호로 정의된 필터 시퀀스로서 취급(간주)되도록 한다. 펑크션(1726)의 테스트(검사)의 결과에 관계없이, 펑크션(1732)은 펑크션(1722) 및 그 아래에 리스트된 다른 펑크션의 동작을 촉발하는 신규 필터 입력을 위해 필터 편집을 호출한다. 이후, 펑크션(1734)은 현재 선택과 신규 필터 문자열을 위해 디스플레이 선택항목 리스트를 호출한다. 이후, 시스템이 한번에 한번씩 모드에 있으면, 펑크션(1736 및 1738)은 필터 문자 선택항목 루틴을 호출하며, 이와 아울러 필터 문자열은 필터 편집에 의해 리턴되고, 신규 인식된 필터 입력 문자는 선택된 필터 문자로서 간주된다.
도 30은 필터 문자 선택항목 서브루틴(3000)의 동작을 나타낸다. 이 서브루틴의 펑크션(3002)은 루틴을 호출하는 선택된 필터 문자가 다중 최상의 선택항목 문자를 갖는 현재 필터에서 모호 문자 또는 비모호 문자에 대응하는가를 검사한다. 대응하면, 펑크션(3004)은 이 문자에 연관된 모든 문자로 필터 문자 선택항목 리스트를 설정한다. 문자의 수가 한번에 필터 문자 선택 분류 리스트상에 끼워질 범위 이상이면, 선택항목 리스트는 스크롤 버튼을 가지고 이러한 부가 문자를 사용자가 볼 수 있도록 해준다. 바람직하게는 원하는 문자에 대해 사용자가 더욱 신속하게 스캔하는 것을 용이하게 하기 위해 알파벳 순차로 선택항목 리스트를 디스플레이 한다. 도 30의 필터 문자 선택항목 루틴은 또다른 펑크션(3006)을 포함하며, 이 펑크션은 현재 필터 문자열에서 모호 길이 필터 문자열 요소의 문자에 선택된 필터 문자가 대응하는가를 검사하고, 대응하면, 이 펑크션은 펑크션(3008 - 3014)이 수행하도록 작용한다. 펑크션(3008)은 선택된 필터 문자가 모호 길이 요소의 제1 문자인가의 여부를 검사하고, 그렇다면 펑크션(3010)은 모호 요소의 연관 문자 시퀀스 중 임의의 것에서 모든 제1 문자와 동일하게 필터 문자 선택 분류 리스트를 설정한다. 선택된 필터 문자가 모호 길이 요소의 제1 문자에 대응하지 않으면, 펑크션(3012 및 3014)은 현재 제1 선택항목에서 선택된 필터 문자에서와 같은 동일 문자가 선행하는 모호 요소에 의해 표현되는 임의 문자 시퀀스에 있어 그 모든 문자와 동일하게 필터 문자 선택항목 리스트를 설정한다. 펑크션(3002 및 3004) 또는 펑크션(3006-3014)가 필터 문자 선택항목 리스트를 생성하면 펑크션(3016)은 도 39에 도시한 창(3906)과 같은 창에서 이 선택항목 리스트를 디스플레이한다.
SIP 프로그램이 필터 문자 선택항목 창에서 필터 문자 선택항목의 사용자에 의해 선택을 수신하면, 펑크션(1740)은 펑크션(1742 - 1746)이 수행되도록 작용한다. 펑크션(1742)은 선택이 이루어지는 필터 선택항목 창을 닫는다. 펑크션(1744)이 신규 입력으로서 필터 선택 창에서 선택된 문자와 함께 현재 필터 문자열을 위해 필터 편집 펑크션을 호출한다. 그러면, 펑크션(1746)은 필터 편집에 의해 리턴된 신규 필터 문자열과 함께 디스플레이 선택항목 리스트 루틴을 디스플레이 한다.
도 45의 교정창(4526 및 4538)에 도시한 타입으로 필터 문자열에서 문자로부터 상향 드래그되면, 펑크션(1747)은 펑크션(1748 - 1750)이 수행하도록 작용한다. 펑크션(1748)은 드래그가 이루어진 문자를 위해 필터 문자 선택항목 루틴을 호출하며, 이것은 이 문자에 연관된 임의 다른 문자 선택항목이 있다면 필터 문자 선택항목 창이 생성되도록 한다. 이 창에서 필터 선택항목 문자에 대해 드래그가 해제되면, 펑크션(1749)은 해제가 발생한 필터 문자 선택항목의 선택을 생성한다. 따라서 바로 설명한 펑크션(1740 - 1746)의 동작을 일으킨다. 필터 문자 선택항목 창에서 선택항목 이외에서 드래그가 해제되면 펑크션(1750)은 필터 선택항목 창을 닫는다.
도 13 및 도 14의 펑크션(1350 및 1356)(1414 및 1416)에 대해 각각 상기 설명한 바와 같이, 교정모드 중에 대어휘 버튼이나 이름 어휘 버튼을 누르는 것과 같이, 펑크션(1602 및 1610)에 대하여 상기한 바와 같이, 재발성 버튼을 누르는 것에 의한 것 이외의 것으로 재발성이 수신되면, 도 17의 펑크션(1752)은 펑크션(1754 및 1756)이 수행되도록 작용한다. 펑크션(1754)은 교정창의 선택 발성 리스트에 이러한 신규 발성을 부가한다. 그리고 펑크션(1756)은 선택을 위해 디스플레이 선택항목 리스트 루틴을 호출하여 신규 발성을 이용하여 재인식을 수행한다.
도 31 내지 도 41을 참조하여 바로 설명한 사용자 인터페이스가 텍스트 시퀀스를 구술하는데 사용되는 방법을 설명한다. 이 특정 시퀀스에서 인터페이스는 한번에 한번씩 모드로 예시하며, 이 모드는 불연속 인식 모드로서, 선택항목 리스트를 갖는 교정창이 불연속 발성이 인식될 때마다 디스플레이되도록 한다.
도 31에서, 부호 3100은 신규 언어 컨텍스트에서 시작하는 구술을 개시하도록 사용자가 토크 버튼(1102)을 탭핑하는 것을 보여준다. 대어휘버튼(1132)의 하이라이트로 표시된 바와 같이, SIP 인식자는 대어휘모드에 있다. 연속/불연속 버튼(1134) 상에서의 개별 도트 시퀀스는 인식자가 불연속 인식 모드에 있음을 표시한다. SIP가 도 18의 부호 1810 내지 1816에 대하여 설명한 "발성 끝까지 누르고 클릭" 인식 지속 모드에 있다고 가정한다. 그 결과, 인식이 토크 버튼의 클릭을 통해 다음 발성의 끝까지 발생하게 된다. 부호 3102는 단어 "this"의 사용자에 의해 이 발성을 표현한다. 부호 3104는 SIP 텍스트 창(1104)에 인식된 텍스트(3016)를 두고, "this" 텍스트는 응용창(1106)에 출력시키고, 제1 선택항목 창(1202)과 제1선택항목 리스트(1208)에서 인식된 단어를 포함하는 교정창(1200)을 디스플레이하여 "this" 발성에 반응한 후 PDA의 스크린 이미지(영상)를 표시한다.
도 31의 예에서, 사용자는 부호 3108로 표시한 바와 같이 대문자시작 버튼(1222)을 탭한다. 그 결과 PDA 스크린은 3110으로 표시된 외관을 갖게되며, 여기서 현재 제1 선택항목 및 텍스트가 SIP버퍼에서 출력되고, 응용창이 초기 대문자시작이 되도록 변경된다.
실시예에서 사용자가 부호 3102에 표시한 바와같이 계속 버튼(1104)을 클릭하고, 이어서 단어 "is"를 부호 3114에 표시한 바와 같이 발성한다. 본 예에서, 상기 발성은 "its"로 잘못 인식된 것으로 가정하며 이에 따라 PDA 스크린은 부호 3116으로 표시된 바와 같은 외관을 가지며, 제1선택항목(3118)으로서 그리고, 이 인식(1208)을 위한 신규 선택항목 리스트로서 잘못 인식된 단어를 갖는 신규 교정창(1200)이 디스플레이된다.
도 32는 본 예의 연속을 표현하며, 여기서 사용자는 부호 3202로 표시된 이미지에서 선택항목 단어 "is" (3200)를 클릭한다. 그 결과, PDA 스크린은 부호 3204로 표시된 외관을 가지며, 여기서 교정창이 제거되고, 교정 텍스트가 SIP 버퍼 창과 응용창에 나타난다.
부호 3206으로 표시된 스크린숏에서 사용자는 문자 이름 어휘 버튼(1130)을 탭하며, 그 결과 버튼(1130)의 하이라이트로 표시된 바와 같이 현재 인식 모드가 문자 이름 어휘로 변경된다. 펑크션(1410 및 1412)에 대해 설명한 바와 같이 이 버튼 탭으로 현재 인식 지속 모드에 따라서 음성 인식을 시작하게 한다. 그 결과 시스템은 부호 3208로 표시한 바와 같이 문자 이름 "e"의 차후 발성을 인식하게 된다.
인식오류를 신속하게 교정하는 본 발명의 인터페이스 능력을 강조하기 위해, 본 예에서는 시스템이 교정창에 표시된 바와 같이 "p"(3211)와 같은 문자를 잘못 인식하였다고 가정하며, 여기서의 교정창은 발성(3208)에 반응하여 한번에 한번씩 모드에서 디스플레이된 것이다. 그러나, 부호 3210으로 표시한 교정창에서 볼 수 있는 바와 같이, 올바른 문자 "e"는 교정창에 도시한 선택항목 중 하나이다. 부호 3214에 표시된 교정창을 보면, 사용자는 선택항목(3212)을 탭하며, 이것은 PDA 스크린이 부호 3216에 표시된 외관을 갖도록 하며, 여기서 올바른 문자는 SIP버터와 응용창 모두에 진입한다.
도 33은 본 예의 연속을 도시하며, 여기서 사용자는 버튼(11024)으로 표시한 스크린 숏으로 나타낸 바와 같은 구두 어휘 버튼(Punctuation Vocabulary button)(11024)에 탭한다. 그 결과 부호 3300으로 표시되는 단어 "period"의 발성을 야기하는 발성 인식을 시작하며, 이에 따라 인식 어휘를 하이라이트 부호 3302로 표시한 바와 같은 구두 어휘로 변경하여 부호 3304에 표시한 교정을 행하며, 여기서 구두점 "." 이 제1 선택항목 창에 표시되고, 이어서 구두점 이름이 이어지면서 사용자가 인식을 보다 용이하게 행하도록 한다.
본 예에서는 교정 인식이므로 사용자가 그것을 확인하고 스크린숏 부호 3306으로 도시한 바와 같이 버튼(1130)을 누르고, 문자 "1."의 발성(3308)을 말하여 문자 이름 어휘를 이용하면서 신규 발성의 인식을 시작한다. 주기가 이어지는 문자를 입력하는 이 프로세는 PDA 스크린이 부호 3312로 도시한 외관을 가질 때까지 반복되며, 이 시점에서 스크린 숏(3314)으로 도시한 바와 같이 사용자는 텍스트 "e.l.v.i.s."를 드래그한다고 가정하며, 그 결과 이 텍스트가 선택되고, 도 34의 상부 좌측 핸드 코너 부근의 스크린 숏(3400)에서 교정창(1200)이 디스플레이되도도록 한다. 현재 어휘에 선택된 텍스트 문자열이 없다고 가정하므로, 이 선택항목 리스트에서 디스플레이된 대체 선택항목은 없다. 3402로 표시한 교정창을 보면, 사용자는 단어 형태 버튼(1220)을 탭하며, 이에 따라 도 27에 대하여 전술한 단어 형태 리스트 루틴을 호출하게 된다. 선택된 텍스트 문자열이 스페이스를 포함하므로, 이것은 펑크션(2716 - 2728) 예시한 도 27의 루틴 부분이 수행되도록 하는 다중 단어 선택으로 간주되며, 이것은 교정창의 선택으로부터 공간이 제거되는 선택항목(3406)을 포함하는 3404로 표시되는 선택항목 리스트를 포함한다. 본 예에서, 사용자는 최근접 선택항목(3406) 옆의 편집 버튼(1232)을 탭한다. 부호 3410으로 표시된 교정창에서 보면, 선택항목(3406)은 제1선택항목으로서 선택되며, 이것은 3412로 표시한 교정창에서 표시한 바와 같다. 교정창이 스크린 숏(3414)에 표시한 외관을 갖는 시점으로서 제1 선택항목이 모두 대문자로 시작하게 될 때까지 사용자는 대문자시작 버튼(1222)을 탭한다. 이 시점에서 사용자는 3416으로 표시한 바와 같이 구두 어휘 버튼(1124)을 클릭하고, 3418로 표시된 바와 같이 발성 "comma"라는 말을 한다. 본 예에서 이 발성은 올바르게 인식되어 부호 3420으로 표시된 교정창(1200)이 디스플레이되고, 이전 제1 선택항목 "e.l.v.i.s."가 텍스트로서 출력된다고 가정한다.
도 35는 본 예의 연속이다. 여기서, 사용자는 부호 3500으로 표시된 대어휘 버튼을 클릭하고, 발성 "the"(3502)을 말한다고 가정한다. 그 결과 교정창(3504)이 디스플레이된다. 사용자는 다시 3506으로 표시된 대어휘 버튼을 누름으로써 이 인식을 확인하여 반응하면서 3508로 표시된 발성 "embedded"를 말한다. 본 예에서는 이에 따라 교정창(3510)이 디스플레이되고, 여기서 상기 발성은 단어 "imbedded"로 잘못 인식되고, 또한 여기서 원하는 단어가 제1선택항목 리스트에 도시되지 않는다. 코멘트 3512로 표시한 바와 같이 이 시점부터 시작하여 다수의 여러가지 교정 옵션이 예시된다.
도 36은 잘못 인식된 것과 연관된 제1 및 제2선택항목 리스트를 스크롤하는 교정 옵션을 예시한다. 부호 3604로 표시한 교정창에 있어서, 교정창의 스크롤 바(3602)에서 페이지 다운 스크롤 버튼(3600)을 사용자가 탭하며, 그 결과 교정창(3606)에 표시한 제2선택항목 리스트(3605)의 제1스크릴 풀로 제1선택항목 리스트(3603)가 교체된다. 이 장면에서 볼 수 있는 바와 같이 교정창의 슬라이드 바(3608)는 수평바(3609) 아래에서 하향 이동하며, 이 수평바는 제1 선택항목 리스트의 끝과 연관된 스크롤 바에서 위치를 규정(정의)한다. 본 예에서는 원하는 단어가 3606으로 도시한 알파벳 순차 제2 선택항목 리스트의 부분에 없으며, 이에 따라 사용자는 3610으로 표시한 바와 같이 스크롤 바의 페이지 다운 버튼을 누른다. 그 결과 교정창은 3612로 표시된 외관을 가지며, 여기서 알파벳으로 리스트된 선택항목의 신규 스크린 풀이 표시된다. 본 예에서는 3616으로 표시된 바와 같이, 이 선택항목 리스트 상에 원하는 단어 "embedded"가 도시된다. 본 예에서, 사용자가 3618로 표시된 교정창에서와 같은 원하는 선택항목와 연관된 이 선택항목 버튼(3619)을 클릭한다. 그 결과, 교정창이 3620에 표시된 장면을 갖게 되며, 여기서 이 선택항목은 제1선택항목 창에서 디스플레이된다. 본 예에서 사용자는 부호 3622로 표시된 대문자시작 버튼을 탭하며, 이 버튼은 상기 제1선택항목이 스크린숏(3624)에 도시한 바와 같이 초기 대문자시작이 되도록 한다.
따라서, SIP 사용자 인터페이스는 상대적으로 다수의 인식 선택항목 중에서 사용자가 선택을 행하는 신속한 방법을 제공하는 것을 알 수 있다. 도시한 실시예에서 제1선택항목 리스트는 6개의 선택항목으로 구성되고, 제2선택항목 리스트는 18 개 까지의 추가 선택항목의 3개까지의 추가 스크린을 포함한다. 선택항목이 알파벳으로 정렬되어 있고, 모든 4개의 스크린을 일초 이하에서 볼 수 있으므로 사용자는 24개 까지의 선택항목 중에서 매우 신속하게 선택이 가능하다.
도 37은 선택항목의 초기 부분을 드래그하여 선택항목을 필터링하는 방법을 예시하며, 이것은 도 16의 펑크션(1664 - 1666)에 대하여 전술한 바와 같다. 본 실시예에서, 제1선택항목 리스트는 3700으로 표시한 교정창의 선택항목(3702)을 포함하는 것으로 가정하며, 이 선택항목은 원하는 단어 "embedded"의 제1 6-문자를 포함한다. 교정창(3704)에 예시한 바와같이, 사용자는 이들 초기 6-문자에 대해 드래그하며, 시스템은 인식 후보로 제한된 신규 교정창을 디스플레이하는 것으로 반응을 보이며, 여기서 인식 후보는 스크린숏(3706)에 디스플레이된 바와 같이, 6 문자에 대응하는 비모호 필터와 함께 시작한다. 이 스크린숏에서, 원하는 단어는 제1선택항목이고, 제1선택항목의 제1 6-비모호 확인 문자는 박스(3708)에 표시한 바와 같이 하이라이트되고, 필터 커서(3710)도 또한 예시된다.
도 38은 도 17의 펑크션(1706 - 1708)에 대하여 전술한 선택항목 리스트에서 2개의 선태분류를 드래그하여 선택항목을 필터링하는 방법을 예시한다. 본 예에서, 교정창(3800)은 원하는 선택항목 "embedded"를 디스플레이하며, 이것은 2개의 디스플레이된 부호 3802와 3804 사이에 알파벳 순으로 발생한다. 3806으로 도시한 바와 같이, 이들 2개의 선택항목을 드래그하여 알파벳 상의 이 범위에 원하는 단어가 속하는 것임을 사용자가 표시한다. 그 결과 신규 교정창이 디스플레이되며, 여기서 있을 수 있는 선택항목은 스크린숏(3808)으로 표시한 바와 같이 선택된 알파벳 범위에서 발생하는 단어로 제한된다. 본 예에서 원하는 단어는 제1선택항목으로서, 그리고 3806에 도시한 선택에 의해 야기된 필터링의 결과로서 선택된다고 가정한다. 이 스크린숏에서 3806에서 선택된 2개의 선택항목의 초기부분을 형성하는 제1선택항목의 부분은 필터 문자열(3810)의 비모호 확인 부분으로 표시되며, 필터커서(3812)는 이 확인된 필터부 이후에 위치한다.
도 39는 원하는 단어 선택항목을 선택하는 것을 돕기 위해 한번에 한번씩 모드에서 알파벳 필터링이 사용되는 방법을 예시한다. 본 실시예에서, 사용자는 교정창(3900)에서 표시한 필터 버튼을 누른다. 디폴트 필터 어휘는 문자 이름 어휘로 가정한다. 필터 버튼을 누르면, 다음 발성을 위한 음성 인식을 시작하게 되고, 사용자는 3902로 표시한 문자 "e"를 말한다. 그 결과 교정창(3904)이 표시되며, 여기서는 필터 문자가 "p."로서 잘못 인식된 것으로 가정한다. 도시한 실시예에 있어서는 한번에 한번씩 모드에서 알파벳 입력 또한 그 인식을 위해 디스플레이된 선택항목 리스트를 갖는다. 이 경우, 이 리스트가 도 30의 필터 문자 선택항목 서브루틴에 대하여 전술한 타입의 필터 문자 선택항목 리스트 창(3906)일 수 있다. 본 예에서, 사용자는 원하는 필터링 문자로서 3908에 도시한 문자 "e,"를 선택하며, 이것에 의해 신규 교정창(3900)이 디스플레이 된다. 본 예에서, 사용자는 다시 3912에 도시한 바와같이 필터 버튼을 눌러 부가 필터링 문자를 입력할 것을 결정하고, 발성 "m"(3914)을 말한다. 그 결과 교정창(3916)이 디스플레이되어 필터 문자 선택항목 창(3918)을 디스플레이한다. 이 교정창에서, 필터링 문자는 바르게 인식되고, 사용자는 추가 필터링 문자를 말하거나 창(3916)에 나타낸 바와 같이 교정 문자를 선택하여 이 필터링 문자를 확인할 수 있다. 이러한 원하는 필터링 문자의 확인으로 인해 신규 교정창이 디스플레이되며, 이 창에는 비모호로 확인된 필터의 문자열으로서 간주되는 필터 문자열 "em" 이 표시된다. 스크린 숏(3920)에서 도시한 예에서, 이것으로 인해 원하는 단어가 인식된다.
도 40은 알파브라보 또는 ICA 단어, 알파벳 스펠링과 함께 알파벳 필터링 방법을 예시한다. 스크린숏(4000)에서, 사용자는 알파브라보 버튼(AlphaBravo button)(1128)을 탭한다. 이것으로 인해 알파벳이 ICA 단어 알파벳으로 변경되며, 이것에 대해서는 도 14의 펑크션(1402 - 1408)에 설명한 바와 같다. 본 예에서, 디스플레이_알파_온_더블_클릭(Display_Alpha_On_Double_Click) 변수는 설정되지 않은 것으로 가정한다. 따라서 도 14의 펑크션(1406)은 알파브라보 버튼(1128)의 누름 중에 스크린숏(4004)에서 도시한 ICA 단어(4002)의 리스트를 디스플레이한다. 본예에서, 사용자는 ICA 단어 "에코"를 입력하며, 이것은 문자 "e"를 표현하고, 이어서 4008로 나타낸 알파브라보 키로부터 제2 누름이 이어진다. 그리고 "m"으로 표현되는 제2 ICA 단어 "Mike"의 발성도 이어진다. 본 예에서, 이들 2개의 알파벳 필터링 문자를 연속하여 입력하여 원하는 문자 "em"으로 구성된 비모호 필터 문자열을 생성하고, 원하는 단어 "embedded"의 인식을 생성한다.
도 41은 사용자가 필터로서 선택항목의 일부를 선택하고, 알파브라보 스펠링을 이용하여 시스템의 어휘에 없는 한 단어, 이 경우는 만들어진 단어 "embedded"의 선택을 완성하는 방법을 예시한다.
본 예에서, 사용자에게는 교정창(4100)에 제시되며, 이 교정창은 하나의 선택항목(4100)을 포함하는 동시에 원하는 단어의 제1 6-문자를 포함한다. 교정창(4104)에서 도시한 바와 같이, 사용자는 제1 6-문자를 드래그하여 이들 문자가 현재 필터 문자열의 비모호 확인 문자가 되도록 한다. 그 결과로 교정창(4106)이 생성된다. 스크린숏(4108)은 이 교정창의 디스플레이를 도시하는 것으로서 사용자는 필터 버튼(1218)으로부터 드래그를 행하고 불연속/연속 버튼(1134)상에서 해제를 하면서 스크린 숏(4108)에서 도시한 버튼 상에 연속 라인으로 표시한 바와 같이 불연속 필터 구술 모드로부터 연속 필터 구술 모드로 변경한다. 스크린 숏(4110)에서, 사용자는 알파 버튼을 다시 누르고, "Echo, Delta, Echo, Sierra, Tango"와 같은 ICA 단어를 포함하는 발성을 행한다. 그 결과 현재 필터 문자열은 원하는 단어의 스펠링에 대응한다. 이 필터 문자열에 대응하는 매치하는 어휘에 단어가 없기 때문에 필터 문자열 자체는 교정창(4114)로 표시한 바와 같이 제1 선택항목이 되고, 4116에 도시한 바와 같이, 사용자는 체크 버튼을 탭하여 제1 선택항목의 선택을 표시하는 한편 PDA 스크린은 4108에 도시한 외관을 갖는다.
도 42 내지 도 44는 연속 음성의 구술, 인식 및 교정을 보여준다. 스크린숏(4200)에서, 사용자는 도 13의 펑크션(1310 - 1314)에 대하여 설명한 클리어 버튼(1112)을 클릭한다. 그 결과 SIP 버퍼(1104)에서의 텍스트가 클리어되며, 이때 스크린숏(4204)에 표시한 바와 같이, 응용창(1106)에서 대응 텍스트와 연관된 변화는 전혀 발생하지 않는다. 스크린 숏(4204)에서 사용자는 연속/불연속 버튼(1134)을 클릭하며, 이것으로 스크린숏(4002)에 도트 시퀀스로 버튼 상에 표시한 불연속 인식으로부터 스크린숏(4204)에 도시한 연속라인을 행하는 것으로 변경된다. 그러므로, 현재 인식 지속 모드에 따라서 음성 인식이 시작되고, 사용자는 부호 4206으로 표시한 바와 같이 "large vocabulary interface system from voice signal technologies period"라는 연속 발성을 행하게 된다. 스크린숏(4208)에 표시한 바와 같이 이러한 발성을 인식하고, SIP 버퍼(1004)에 인식된 텍스트를 두는 한편 OS를 통해 응용창(1106)에도 두는 것으로 시스템이 반응한다. 인식된 텍스트가 한번에 SIP창 내에 끼워질 수 있는 분량 보다 다소 크기 때문에 사용자는 부호 4210에 표시한 바와 같이 SIP창에서 스크롤을 하고, 단어 "vocabularies"(4214)에 탭을 하여 도 14의 펑크션(1436 - 1438)이 상기 단어를 선택하고 이것을 위한 교정창을 생성하도록 작용한다. 이에 대한 반응으로 교정창(4216)이 디스플레이된다. 본예에서, 원하는 단어 "vocabulary"(4218)가 상기 교정창의 선택항목 리스트에 있다. 교정창(4220)에서 사용자는 상기 단어에 탭을 하여 이것을 선택하며, 그 결과 SIP버퍼와 응용창 모두에 있는 단어 "vocabularies"가 상기 선택된 단어로 교체된다.
도 43을 참조로 연속설명한다. 상기 교정창은 스크린숏(4300)으로 예시되어 있다. 본 예에서, 사용자는 4302에 표시한 바와 같이 4개의 오류 단어 "enter faces men rum"을 드래그하면서 선택한다. 그 결과 4304로 표시한 바와 같이, 펑크션(1502 및 1504)이 선택으로서 드래그된 단어와 함께 선택항목 창을 디스플레이한다.
도 44는 도 43의 바닥에 도시한 교정창이 선택항목 리스트와 함께 수평, 수직 스크롤의 조합으로 교정되는 방법을 예시한 것이다. 부호 4400은 도 43의 4304에서 도시한 것과 같은 교정창을 나타낸다. 여기에는 디스플레이된 수직 스크롤 바(4602) 뿐만 아니라 수평 스크롤 바(4402)도 있다. 사용자는 수직 스크롤 바에서 페이지 다운 버튼(3006)을 탭하여 디스플레이된 선택항목 리스트 부분이 4400에 도시한 일 페이지 알파벳 순차 제1 선택항목 리스트의 디스플레이로부터 4404에 도시한 제2 알파벳 순차 선택항목 리스트의 제1페이지로 이동하도록 한다. 본 예에서, 제2선택항목 리스트의 상기 부분에서 인식 후보는 "interface system from"이라는 원하는 인식출력과 매치하는 문자 시퀀스와 함께 시작하지 않는다. 따라서 사용자는 다시 부호 4408과 같이 페이지 다운 스크롤 버튼(3600)을 탭한다. 그 결과 교정창이 4410에 도시한 외관을 가지며, 여기서 2개의 디스플레이된 선택항목(4412)가 원하는 인식 출력과 매치하는 문자 시퀀스와 함께 시작한다. 이들 인식 후보의 끝이 원하는 출력과 매치되었다면 사용자는 4414에 도시한 바와 같이 수평 스크롤 바(4402)에서 유사 단어를 스크롤한다. 그러면 사용자는 이 선택항목(4418)이 원하는 출력과 매치하는 것을 볼 수 있다. 4420에 도시한 바와 같이, 사용자는 이 선택항목에서 탭을 하여 4422에 도시한 바와 같이 이 선택항목이 SIP 창(1104)과 응용창(1106) 모두에서 구술된 텍스트에 삽입되도록 한다.
도 45는 연속 발음된 문자 이름의 인식에 의해 생성되고, 필터 문자 선택항목 창에 의해 편집된 모호 필터의 사용으로 에러 구술을 신속하게 교정하는 방법을 예시한 것이다. 본 예에서, 사용자는 4500에 도시한 바와 같은 토크 버튼(1102)을 누르고, 4502에 표시한 바와 같이 단어 "trouble"를 발성한다. 본 예에서, 4504에 단어 "treble"와 같이 상기 발성이 잘못 인식되었다고 가정한다. 본 예에서 사용자는 4506과 같이 단어 "treble"를 탭하며, 이 탭으로 4508의 교정창이 디스플레이된다. 원하는 단어는 임의의 선택항목으로 보여준 것이 아니므로, 사용자는 4510에서와 같이 필터 버튼(1218)을 캡하여 원하는 단어 "trouble"에서 각 문자 이름을 포함하는 연속 발성(4512)을 한다. 본 예에서, 필터 인식 모드는 연속 문자 이름 인식을 포함하는 것으로 설정된다.
본 예에서 선택항목 리스트(4518)를 디스플레이하는 것으로 발성(4512)의 인식에 시스템이 반응한다. 본 예에서는 상기 발성의 인식 결과에 의해 필터 스트레인(strain)이 생성되고, 이 필터 스트레인은 하나의 모호 길이 요소로 구성되는 것으로 가정한다. 펑크션(2644 - 2652)에 대해 전술한 바와 같이, 모호 길이 필터 요소는 초기 문자 시퀀스의 대응 부분에 포함된 임의 후보를 허용하며, 여기서 문자 시퀀스 중 하나는 모호 요소로 표현된다. 교정창(4518)에서, 모호 필터 요소에 대응하는 제1 선택항목 단어(4519) 부분은 모호 필터 표시자(4520)로 표시된다. 필터가 모호 요소를 사용하므로, 디스플레이된 선택항목 리스트는 여러 가지 초기 문자 시퀀스와 함께 시작되는 최상의 평가를 받은 인식 후보를 포함하며, 상기 여러가지 초기 문자 시퀀스는 모호 요소에 의해 표현된 매칭 문자 시퀀스에 대응하는 제1 선택항목 부분 보다 작은 길이의 시퀀스를 포함한다.
본 예에서, 사용자는 제1 선택항목의 제1 문자로부터 상향 드래그를 하며, 그 결과 도 17와 함께 설명한 펑크션(1747 -1750)의 동작을 촉발한다. 또한 이어서 필터 선택항목 창(4526)이 디스플레이된다. 교정창(4524)에 도시한 바와 같이, 사용자는 초기 원하는 문자인 문자 "t,"에 드래그하고 펑크션(1749 및 1740 - 1746)이 수행되는 위치에서 드래그를 해제한다. 이들은 필터 선택항목 창을 닫고, 비모호 교정으로서 선택된 문자와 함께 선행 모호 필터 요소에 부가된 필터를 호출하고, 4528에 표시된 바와 같이 신규 필터와 함께 신규 교정창을 디스플레이한다. 교정창에 도시한 바와 같이, 제1 문자 "t"를 위한 비모호 필터 표시자(4532), 그리고 나머지 문자를 위한 모호 필터 표시자(4534)와 함께 제1선택항목(4530)을 보여준다. 다음에 4536에서와 같은 교정창에서와 같이 사용자는 신규 제1선택항목의 제5번 문자 "p"로부터 업단어(상향) 드래그를 행하여, 신규 교정창(4538)이 디스플레이된다. 사용자가 문자 "p"에서 상기 드래그를 행할 때, 이 문자 그리고 제1선택항목에서 선행하는 모든 문자가 현재 필터 스트레인에서 비모호로 정의될 때, 이러한 것이 신규 교정창(4540)에 표시되며, 이 신규교정창은 제1선택항목(4542)이 원하는 단어가 되는 선택의 결과로서 보여진 것이고, 필터의 비모호 부분은 비모호 필터 표시자(4544)로 표시되고, 모호 필터 요소의 나머지 부분은 도 29의 펑크션(2900 - 2910) 동작으로 필터 문자열에 존재한다.
도 46은 SIP 인식자를 통해 사용자가 문자 인식자를 이용하여 텍스트 및 필터 정보를 입력하는 것을 예시하는 것이며, 여기서 문자 인식자는 위도우 CE 운영체계(Window CE operation system)의 표준규격과 같은 문자 인식자와 유사하다.
도면의 스크린숏(4600)에 도시한 바와 같이, 도 14의 펑크션 키 펑크션(1428 및 1430)을 통해 사용자가 드래그 업을 하면, 펀치 및 메뉴(4602)가 디스플레이되고, 사용자가 메뉴의 문자 인식 엔트리(4604)에서 해제하면 도 47의 문자 인식 모드가 턴온 된다.
도 47에 도시한 바와 같이, 이것은 펑크션(4702)이 도 46에 도시한 문자 인식창(4608)을 디스플레이 하도록 작용하며, 이후 입력 루프(4704)로 진입하는데, 이 입력루프는 사용자가 펑크션 메뉴(4602)에서 다른 입력 옵션을 선택하여 창을 빠져나오는 선택을 할 때까지 반복된다. 이 루프에서, 사용자가 문자 인식창을 터치하면, 펑크션(4906)은 상기 터치의 연속 도중에 "ink"를 녹음하며, 이것으로 문자 인식 창에 대응하는 디스플레이 터치 스크린 부분의 표면 상에서 터치 운동을 녹음한다. 사용자가 이 창에서 터치를 해제하면, 펑크션(4708-4714)이 수행된다. 펑크션(4710)은 창에서 현재 "ink" 에 대한 문자 인식을 수행한다. 펑크션(4712)은 도 46의 부호 4610으로 표시한 바와 같이, 문자 인식 창을 클리어한다. 펑크션(4708)이 대응 인식 문자를 SIP 버퍼 및 OS로 공급한다.
도 48은 사용자가 스크린숏(4600)으로 표시한 펑크션 메뉴에서 수기인식 옵션을 선택하면 수기인식 엔트리 창(4008)이 스크린숏(4802)으로 표시한 바와 같이 SIP와 연관되어 디스플레이되는 것을 예시한다.
수기모드의 동작을 도 49에 제공한다. 이 모드에 진입되면, 펑크션(4902)은 수기인식창을 디스플레이하며, 이후 사용자가 다른 입력옵션을 선택할 때까지 루프(4903)가 반복된다. 이 루프에서 사용자가 도 48에 도시한 삭제 버튼(4804) 이외의 위치에서 수기 인식 창을 터치하면 터치 도중 임의 운동이 펑크션(4904)에 의해 "ink"로서 녹음된다. 사용자가 도 48에 도시한 우측 버튼 영역(4806)에 터치다운하면, 펑크션(4905)은 펑크션(4906 - 4910)이 수행되도록 작용한다. 펑크션(4906)은 수기 인식 창에 이전에 입력된 임의 "ink"에 대해 수기인식을 수행한다. 펑크션(4908)은 SIP 버퍼 및 OS에 인식된 출력을 공급하고, 펑크션(4910)은 인식창을 클리어한다. 사용자가 도 48에 도시한 삭제 버튼(4804)을 누르면, 펑크션(4912 및 4914)은 임의 "ink"의 인식창을 클리어한다.
인식 버튼(4806)을 사용하여 사용자는 수기인식에 미리 존재하는 "ink"를 인식하도록 시스템에 지시할 수도 있고, 신규 단어의 기입에 대해 인식을 시작할 수 도 있다.
도 50은 펑크션 메뉴로부터 선택될 수 있는 키패드(5000)를 도시한다.
음성 인식 SIP의 일부로서 신속하게 이용가능한 문자 인식, 수기 인식 및 키보드 입력 인식 방법은 종종 매우 유리한 이점이 있다고 할 수 있는데, 그 이유는 이 방법을 통해 사용자가 다양한 모드 사이를 전환하면서, 현재 가장 편리한 방법을 그때 그때 마다 선택할 수 있기 때문이다. 그리고, 이러한 모드 모두에 대한 출력이 SIP 버퍼에서 텍스트 편집에 있어서 사용될 수 있다.
도 51에 도시한 바와 같이, SIP 버퍼의 일실시예로서, 사용자가 필터 버튼(1218)으로부터 드래그 업을 하면, 창(5100)이 디스플레이되어 사용자에게 선택가능한 필터 엔트리 모드 옵션을 제시한다. 이 옵션에는 문자 이름 음성 인식, 알파브라보 음성 인식, 문자 인식, 수기 인식, 캐보드 창 등 필터링 스펠링을 입력하는 여러가지 대체 방법이 있다. 또한, 이때 사용자는 음성 인식 모드를 불연속 또는 연속으로 할지의 여부, 문자 이름 인식, 문자 인식, 수기 인식 엔트리가 필터 문자열에서 모호로서 취급(간주)될 것인지의 여부를 선택할 수 있다. 이러한 사용자 인터페이스를 통해 사용자는 신속하게 현재 시간 및 장소에 적합한 필터 엔트리 모드를 선택할 수 있다. 예를들면, 사람 말소리가 방해가 되는 문제 때문에 근심할 필요가 없는 조용한 장소에서는 연속 문자 이름 인식이 매우 유용하다. 그러나, 많은 소음이 있고, 사용자는 이웃에게 말소리가 방해가 되지 않는다고 느끼는 경우, 알파브라보 인식이 보다 적합할 것이다. 말소리가 다른 사람에게 방해가 되는 도서관 같은 장소에서는 문자 인식, 수기 인식, 또는 키보드 인식과 같은 침묵형 필터 엔트리 방법이 보다 적합할 것이다.
도 52는 인식을 필터링하기 위해 문자 인식을 신속하게 선택할 수 있는 방법을 예시하고 있다. 5200은 교정창 부분으로서, 여기서 사용자는 필터 버튼을 누르고 드래그 업하여 도 51의 필터 엔트리 모드 메뉴(5100)가 디스플레이되도록 하고, 이어서 문자 인식 옵션을 선택한다. 스크린숏(5202)에서 도시한 바와 같이 이것은 문자 인식 엔트리 창(4608)이 전체 교정창을 사용자가 볼 수 있는 위치에서 디스플레이되도록 한다. 스크린숏(5202)에서 사용자는 문자 "e"를 드로윙하고, 이 문자의 드로윙으로부터 그 스타일러스를 해제할 때 문자 "e"가 필터 문자열으로 진입하여 교정창(5204)이 예시와 같이 디스플레이된다. 이후 사용자는 추가 문자 "m"을 5206으로 표시한 바와 같이 문자 인식창으로 진입시킨다. 이 문자의 드로윙으로부터 그의 스타일러스를 해제할 때, 문자 "m"의 인식을 통해 필터 문자열이 5208에 도시한 "e"를 포함하게 된다.
도 53은 부분 스크린숏(5300)으로 시작하며, 여기서 사용자는 필터 키(1218)로부터 탭과 드래그 업을 하여 필터 엔트리 모드 메뉴의 디스플레이를 실행시키고, 수기 옵션을 선택한다. 그 결과 교정창의 모습을 막지 않는 위치에 수기 엔트리 창(4800)이 디스플레이되는 동시에 5302와 같은 스크린이 디스플레이된다. 스크린숏(5302)에서 사용자는 연속 흘림체로 문자 "embed"을 쓰고, 이후 "REC" 버튼을 눌러 이들 문자의 인식을 실행한다. 사용자가 이 버튼을 탭하면, 모호 필터 표시자(5304)에 의해 표시된 모호 필터 문자열을 교정창(5306)에 도시한 인식 문자에 대응하는 제1 선택항목창에 디스플레이한다. 도 54는 사용자가 키패드 창(5000)을 사용하여 알파벳 필터링 정보에 진입할 수 있는 방법을 도시한다.
도 55는 음성 인식을 사용하여 수기인식을 수집하는 방법을 예시한다. 스크린숏(5500)은 SIP 버퍼창(1104)으로 텍스트를 진입하기 위한 위치에서 수기 엔트리 창(4800)이 디스플레이되는 것을 보여준다. 이 스크린숏에서, 사용자는 한 단어의 기입을 바로 끝마쳤다. 부호 5502 - 5510은 5개의 추가 단어의 수기를 표시한다. 이들 모습 각각에서의 단어는 "REC" 버튼의 터치다운과 함께 시작하여 선행 기입 단어의 인식을 실행한다. 부호 5512는 수기 인식창을 나타내며, 여기서 사용자는 "REC"버튼에 최종 탭을 하여 최후 수기 단어 "speech"의 인식을 실행한다. 도 55의 예에서, 수기입력의 시퀀스가 인식된 후, 응용창(1106)에서의 SIP 버퍼창(1104)이 5516에 표시한 스크린숏(5514)의 외관을 갖는다. 사용자는 잘못 인식된 단어 "snack shower"를 드래그한다. 그러면 교정창(5518)이 표시된다. 본 예에서, 사용자는 재발성 버튼(1216)을 탭하고 불연속적으로 원하는 단어 "much... slower."를 재발성한다. 도 23과 함께 전술한 바 있는 "겟(get)" 선택항목 펑크션의 약간의 변형 버젼의 동작으로 인해 재발성(5520) 인식을 통한 인식 평가가 부호 5504, 5506으로 표시한 입력에서의 수기 "REC"를 조합한 인식결과와 결합하여 최상의 평가를 받은 인식 후보를 선택하며, 이 후보는 본 예에서 부호 5522로 표시한 원하는 단어가 된다.
부호 5516으로 표시한 바와 같이 선택된 수기출력을 교체하기 위해 발성(5520)이 음성 인식의 출력을 사용하는 재추가 버튼(Re-Add button) 대신에 사용자가 교정창(5518)에서 신규 버튼을 누를 수도 있음을 알 수 있다.
도 56에 표시한 바와 같이, 사용자가 교정창(5518)에서 재발성 버튼 대신에 필터 버튼(1218)을 누르면, 사용자는 도 56의 발성(5600)과 같이 알려진 단어의 음성 인식을 사용하여 알파벳으로 도 55의 5516에 선택된 2개의 단어 중 수기 인식을 필터할 수 있다.
도 57은 SIP 음성 인식 인터페이스의 대체 실시예(5700)를 예시하며, 여기서는 2개의 별도 상위 레벨 버튼(5702 및 5704)이 있어 불연속과 연속 음성 인식을 각각 선택할 수 있다. 음성 인식 사용자 인터페이스의 상위 레벨에 어느 선택항목 버튼이 배치될 것인지는 설계상의 문제일 뿐이다. 그러나, 보다 신속하고, 보다 자연스러운 연속 음성 인식과, 보다 신뢰성을 두는 인식 사이의 신속한 전환 능력은, 보다 정지적이고 느린 불연속 음성 인식 매우 바람직한 것일 수도 있지만, 일부 실시예에서 불연속 선택을 위한 별도의 상위 레벨 키와 연속 인식을 위한 선택의 할당이 적절한 것임을 확인시켜준다.
도 58은 도 22의 디스플레이 선택항목 리스트의 대체 실시예로서, 도 22의 루틴에 의해 생성된 2개의 알파벳 순차 선택항목 리스트가 아니라 단일 스크롤 가능 평가 순차 선택항목 리스트를 생성한다는 점에서 도 22의 것과 다르다. 도 22에 포함된 언어와 다른 부분은 밑줄친 부분 뿐이며, 펑크션(2226 및 2228)이 도 58의 루틴 버젼에서는 삭제되었다는 점은 예외가 된다.
도 67 내지 도 74는 개시된 셀폰 음성 인식 편집기의 여러 가지 모드 또는 메뉴에서 사용되는 펑크션에 대해 베이직(기본) 폰 번호 키패드의 여러가지 맵핑을 디스플레이한 것이다. 편집기 모드에서 메인 번호할당 폰 키 맵핑은 도 67에 도시하고, 도 68은 편집기 모드에 있을 때 사용자가 한 키를 누르면 선택되는 엔트리 모드의 폰 키 부분을 도시한다. 엔트리 모드 메뉴는 시스템 상에서 이용가능한 여러가지 텍스트 및 알파벳 엔트리 모드 중에서 선택을 하기 위해 사용된다. 도 6 9는 "2" 키를 눌러 편집기 모드로부터 열릴 수 있는 교정창을 사용자가 디스플레이할 때 수치 폰 키 패드 상에서 이용가능한 펑크션을 디스플레이 한다. 도 70은 도 67의 편집 모드에 있을 때, "3" 키를 눌러 선택되는 편집 메뉴로부터 이용가능한 수치 폰 키 명령을 디스플레이 한다. 이 메뉴는 폰 키패드의 내비게이션 키를 누름으로써 수행되는 내비게이션 펑크션을 변경하는데 사용된다. 도 71은 "3"키를 눌러 교정창에서 이용가능한 내비게이션 옵션을 디스플레이하는 다소 유사한 교정 내비게이션 메뉴를 예시한다. 교정창에 있는 동안 내비게이션 모드를 변경하는 것 외에도 선택항목이 선택될 때 수행되는 펑크션을 사용자가 변경할 수 있다.
도 72는 키 알파 모드 도중의 수치 폰 키 맵핑을 예시하며, 여기서 연관된 문자를 갖는 폰 키를 누름으로써 프롬프트가 셀 폰 디스플레이 상에 표시되며, 이 표시는 사용자에게 누름 키와 연관된 문자 세트 중 원하는 것과 연관된 ICA 단어를 말할 것을 요구한다. 이 모드는 도 68의 엔트리 모드 메뉴에 있을 때 "3" 폰 키를 더블 클릭하여 선택된다.
도 73은 기본(베이직) 키 메뉴를 도시하며, 이것을 통해 사용자는 텍스트 편집에 사용되는 가장 통상적인 구두 및 펑크션 키 세트 중에서 어느 것을 신속하게 선택하거나 "1"을 눌러 선택함으로써 덜 통상적으로 사용되는 구두점의 선택을 허락하는 메뉴를 보게된다. 기본 키 메뉴는 도 67의 편집기 모드에서 "9"를 누름으로써 선택된다. 도 74는 도 67의 편집기에서 "0"을 눌러 선택되는 편집 옵션 메뉴를 예시한다. 이것은 다른 모드나 메뉴에서 이용가능하지 않은 편집기의 사용과 연관된 기본(베이직) 태스크를 사용자가 수행할 수 있는 메뉴를 포함한다.
도 67 내지 74에 도시한 수치 폰 키 맵핑 각각의 상부(top)에는 타이틀 바가 있으며, 이 타이틀 바는 메뉴 또는 명령 리스트가 보여질 때 셀 폰 디스플레이의 상부에 표시된다. 도면에서 알 수 있는 바와 같이, 도 67, 69 및 72에 예시되며, 문자 "Cmds"와 함께 시작하여 디스플레이된 옵션이 명령 리스트의 일부임을 표시하며, 도 68, 70, 71, 73, 74에서와 같이 타이틀 바는 "메뉴(MENU)"와 함께 시작한다. 이것은 도 67, 69 및 72에 도시한 명령 리스트와 이들 도면 이외의 도면에서 도시한 메뉴 사이를 구별하는 표시로 사용된다. 명령 리스트는 디스플레이가 되지 않은 경우에도 모드에서 유용한 명령을 디스플레이한다. 도 67의 명령 리스트와 연관된 편집기 모드나, 도 72와 연관된 키 알파 모드에 있을 때, 폰 키가 이들 도면에 도시한 기능적 맵핑을 가지고 있음에도 텍스트 편집기 창이 디스플레이 된다. 정상적으로 도 69에 도시한 명령 리스트와 연관된 교정창 모드에 있을 때, 셀폰 디스플레이에 교정창이 도시된다. 이들 모든 모드에서, 사용자는 명령 리스트를 액세스하여 도면에 부호 7500으로 지적한 바와 같이 단지 메뉴 키를 누르는 것으로 도 75에 예시한 현재 폰 키 맵핑을 볼 수 있다. 도 75의 예에서, 디스플레이 스크린(7502)은 메뉴 버튼을 누르기 이전에 편집기 모드의 창을 보여준다. 사용자가 메뉴 버튼을 누르면 편집기 명령 리스트의 제1 페이지가 7504로 도시한 바와 같이 표시되며, 사용자는 이때 명령 리스트에서의 스크롤 업 또는 다운할 수 있는 옵션을 가지고 수치 폰 키로 맵핑된 명령 뿐만 아니라 스크린(7506)의 메뉴 "토크(talk)" 및 "종료(end)" 키, 그리고 스크린(7510)에 의해 부호 7508로 표시한 내비게이션 키 버튼 "OK" 및 "메뉴(MENU)"도 볼 수 있다. 명령 리스트가 엔터될 때 현재 모드와 연관된 추가 옵션이 있으면, 하이라이트(7512)를 스크롤하거나 "OK"키를 사용하여 명령 리스트에서 이것들을 선택할 수 있다. 도 75에 도시한 예에서, 텔레폰 핸드세트의 일반 형상을 갖는 폰 콜 표시자(7514)가 각 타이틀 바의 좌측에 표시되어 셀 폰이 현재 텔레폰 호출 중에 있다는 것을 사용자에게 표시한다. 이 경우, 편집기에서 추가의 펑크션 사용이 가능하며, 이 추가의 펑크션을 통해 발견된 셀의 마이크로폰을 무트(mute)하는 것, 폰 토크의 사용자측으로부터 오디오만을 녹음하는 것, 폰 토크의 사용자 측에게만 재생을 플레이하는 것을 사용자는 신속하게 선택할 수 있다.
도 76 내지 도 78은 도 67 및 도 75에 도시한 단순 명령 리스트 보다 자세한 편집기 모드의 펑크션에 관한 의사코드 설명을 제공한다. 이 의사코드는 편집기가 여러 가지 사용자 입력에 반응하는 한 입력 루프(7602)로서 표현된다.
사용자가 부호 7603에 표시한 내비게이션 명령 중 하나를 내비게이션 키 중 하나를 누르거나 대응 내비게이션 명령을 말하는 것으로 입력하면, 도 76에서와 같이 본 발명의 펑크션이 수행된다.
이 펑크션 중에는 편집기가 현재 단어/라인 내비게이션 모드에 있는가의 여부를 검사하는 펑크션(7604)이 들어있다. 이 것은 편집기에서 내비게이션의 가장 통상적인 모드이며, 편집기에서 "3"키를 2번 누름으로써 신속하게 선택될 수 있다. 제1 누름은 도 70의 내비게이션 모드 메뉴를 선택하고, 제2 누름은 이 메뉴로부터 단어/라인 내비게이션 모드를 선택한다. 편집기가 단어/라인 모드에 있으면 펑크션(7606 - 7624)이 수행된다.
내비게이션 입력이 단어 좌 또는 단어 우 명령이면, 펑크션(7606)은 펑크션(7608-7617)을 수행시킨다. 펑크션(7608 및 7610)은 확대된 선택이 온인가의 여부를 검사하고, 그렇다면 커서를 일 단어 좌측이나 우측으로 각각 이동하고, 선행 선택을 그 단어만큼 확대한다. 확대된 선택이 온이 아니면, 펑크션(7612)은 펑크션(7614 - 7617)이 수행되도록 작용한다. 펑크션(7614 및 7615)은 선행 입력이 현재 명령과는 다른 방향으로 단어 좌/우 명령인가의 여부, 현재 명령이 텍스트 종료의 전후에 커서를 두는 것인가의 여부를 검사한다. 이들 조건중 하나가 진리(true)이면, 커서는 이전에 선택된 단어로부터 좌 또는 우로 이동하여 두고, 상기 이전에 선택된 단어를 불선택으로 한다. 펑크션(7614)의 테스트에서 조건이 충족되지 않으면, 펑크션(7617)은 커서를 현재 위치로부터 일 단어 좌 또는 우로 이동시키고 이동된 단어를 현재 선택으로 한다.
펑크션(7612 - 7617)의 동작은 단어 좌, 단어 우 내비게이션을 통해 사용자가 일 단어 만큼 커서를 이동할 수 있도록 할 뿐만 아니라 필요에 따라 각 이동에대해 현재 단어를 선택하도록 한다. 따라서 선택된 단어에 대응하는 커서와 미리 선택된 단어 전후 삽입 위치를 표현하는 선택된 단어 또는 커서 사이에서 사용자는 신속하게 전환을 할 수 있다.
사용자 입력이 라인 업 또는 라인 다운 명령이며, 펑크션(7620)은 현재 커서 위치로부터 최근접 단어로 라인 업 또는 다운하여 커서를 이동하며, 확대된 선택이 온이면, 펑크션(7624)은 이 신규 현재 단어를 통해 현재 선택을 확대한다.
부호 7626로 나타낸 바와 같이, 도 70의 편집 내비게이션 메뉴로부터 선택될 수 있는 기타 다른 내비게이션 모드에 편집기가 있을 때 내비게이션 입력에 반응하기 위한 프로그램을 편집기는 가지고 있다.
사용자가 버튼을 누르거나 보이스(voice) 명령을 사용하여 "OK"를 선택하면, 펑크션(7630)은 웹 도큐먼트 또는 대화 박스 필드로 텍스트가 진입하는 것과 같이, 텍스트가 다른 프로그램으로 진입하도록 편집기가 호출되었나의 여부를 검사하고, 그렇다면, 펑크션(7632)은 이 다른 프로그램에서 현재 텍스트 엔트리 위치에서 이 다른 프로그램으로 편집기의 현재 컨텍스트를 진입시키고 리턴한다. 검사(테스트)(7630)가 충족되지 않으면, 펑크션(7634)은 있을 수 있는 추후의 사용을 위해 현재 콘텐츠 및 상태를 저장하고 편집기를 빠져나온다.
사용자가 편집기에 있을 때 메뉴키를 사용자가 누르면, 펑크션(7638)은 편집기 명령을 위한 디스플레이 메뉴 루틴을 호출하며, 그 결과 도 75를 참조로 전술한 바와 같이 편집기를 위해 명령 리스트가 디스플레이된다. 전술한 바와 같이, 이 기능을 통해 사용자는 1, 2초 내에 편집기 모드를 위해 모든 현재 명령 맵핑을 스크롤 할 수 있다. 편집기에 있을 때 메뉴 키에 사용자가 더블 클릭을 하면 펑크션(7642 - 7646)은 디스플레이 메뉴를 호출하여 편집기를 위한 명령 리스트를 보여주며, 인식 어휘를 편집기 명령 어휘로 설명하고, 더블 클릭의 최후 누름을 사용하여 음성 인식을 명령하여 이 인식의 지속을 판별한다.
사용자가 메뉴 키를 지속적으로 누르면, 펑크션(7650)은 편집기를 위한 헬프 모드로 진행한다. 헬프 모드에서는 편집기 모드의 펑크션(기능)에 대한 신속한 설명을 제공하며, 키를 누름으로써 편집기의 계층제 명령구조를 사용자가 탐색할 수 있도록 하며, 또한 이러한 키가 각각 눌러지는 결과로서 도달하는 계층제 명령 구조 부분을 위해 간략한 설명도 제시된다.
사용자가 편집기에 있을 때 토크 버튼을 누르면, 펑크션(7654)은 어휘, 인식 지속 모드 등의 현재 인식 설정에 따라서 인식을 턴온한다. 토크 버튼은 셀폰 실시예에서 음성 인식을 초기화 하기 위한 주요 버튼으로서 사용된다.
사용자가 종료 버튼(End button)을 선택하면, 펑크션(7658)은 폰 모드로 가서 예를 들면 신속하게 폰 호출을 하거나 이에 응답한다. 이 기능을 통해 편집기의 현재 상태를 저장하여 폰 호출이 종료되었을 때 사용자가 그 저장한 곳으로 리턴(복귀)할 수 있다.
도 77에 도시한 바와 같이, 사용자가 도 68의 엔트리 모드 메뉴를 선택하면, 펑크션(7702)은 이 메뉴를 디스플레이 한다. 보다 상세히 아래 설명한 바와 같이, 이 메뉴를 통해 사용자는 구술 모드 사이를 신속하게 선택할 수 있으며, 이것은 PDA 실시예에서 도 11에 도시한 버튼(1122 -1134)이 작용하는 것과 같다. 도시한 실시예에서, 엔트리 모드 메뉴는 "1" 키와 관련이 있는데 그 이유는 "1"키가 토크 키와 근사하기 때문이다. 이에 따라 사용자는 신속하게 구술 모드를 전환할 수 있고, 이후 토크 버튼을 이용하여 구술을 계속할 수 있다.
사용자가 "선택항목 리스트"를 선택하면, 펑크션(7706 및 7708)은 교정창 내비게이션 모드를 인식 후보 선택항목을 스크롤 하고 선택하기 위한 최상의 페이지/아이템 내비게이션 모드로 설정한다. 이후 상기 펑크션은 현재 선택을 위한 교정창 루틴을 호출하며, 그 결과 도 12의 교정창(1200)과 다소 유사한 교정창이 셀폰의 스크린에 디스플레이 된다. 현재 커서가 없으면, 빈공간 선택과 함께 교정창이 호출된다. 호출이 되면, 알파벳 입력, 단어 완료(completion), 및/또는 추가 발성의 부가 등을 통해 하나 이상의 단어를 선택할 수 있다. 이하에는 교정창 루틴을 보다 상세히 설명한다.
사용자가 "2"키를 더블 클릭하는 등으로 "필터 선택항목"을 선택하면, 펑크션(7712-7716)은 교정창 내비게이션 모드를 제1선택항목 또는 필터 문자열에서 내비게이션을 위해 사용되는 단어/문자 모드로 설정한다. 그러면, 현재 선택을 위한 교정창을 호출하고, 더블 클릭 중 한 번이 엔터되면, 두번째 누름을 인식 지속 목적을 위한 음성키로서 간주한다.
대부분의 셀 폰에서 "2"키는 통상 내비게이션 키 바로 아래에 위치한다. 이 키를 통해 사용자는 편집기에서 교정이 필요한 원하는 단어를 내비게이션할 수 있고, 이어서 근처 "2"키를 단일 누름으로써 선택을 위한 대체 선택항목과 함께 교정창을 볼 수 있거나, "2"키를 더블클릭하여 즉시 필터링 정보 입력을 시작하고 올바른 선택항목을 인식자가 선택할 수 있도록 도울 수도 있다.
사용자가 도 70에 도시한 내비게이션 모드 메뉴를 선택하면, 펑크션(7720)은 이것을 디스플레이 한다. 아래에 보다 상세히 설명하는 바와 같이, 이 기능을 통해 사용자는 좌, 우 업, 다운 내비게이션 버튼을 누름으로써 수행되는 내비게이션을 변경할 수 있다. 이러한 변경(또는 전환)을 보다 용이하게 하기 위해, 내비게이션 버튼이 수자 배열된 폰 키의 상부열에 배치된다.
사용자가 불연속 인식 입력을 선택하면, 펑크션(7724)은 누름 및 클릭을 이용하여 현재 어휘에 따라서 불연속 인식을 턴온함으로써 현재 인식 지속 설정으로서 지속 모드를 발성 및 전송한다. 이 버튼을 통해 "1"버튼을 누르는 형태로 요구할 때마다 사용자는 신속하게 불연속 발성 인식으로 전환할 수 있다. 전술한 바와 같이, 불연속 인식은 보다 정지성향이 있다고 하여도 실질적으로 연속 인식 보다는 더욱 정밀하다. 이 명령키의 위치는 토크 버튼과 엔트리 모드 메뉴 버튼에 가깝도록 선택된다. 불연속 인식 키의 유용성 때문에 정상적으로는 토크 버튼에 맵핑이 되는 인식모드는 연속성이 된다. 이러한 설정으로 사용자는 토크 버튼과 "4"키 사이에서 누름을 변경하여 연속과 불연속 인식 사이에서 전환할 수 있다.
사용자가 "5" 키를 토글하여 선택 시작과 선택 정지를 선택하면, 펑크션(7728)은 이 모드가 현재 온 또는 오프에 있는가에 따라서 확대된 선택 온, 오프를 토글한다. 이후 펑크션(7730)은 확대된 선택이 턴 오프되었나의 여부를 검사하며, 턴오프 되었다면, 펑크션(7732)은 현재 커서에서 임의로 하나 이외의 임의 선행 선택을 선택해제한다. 본 실시예에서, "5"키는 확대된 선택 명령을 위해 선택되었는데 그 이유는 이것이 내비게이션 콘트롤과, 그리고 교정창을 지지하는데 사용되는 "2"키와 근사하기 때문이다.
사용자가 "5"키에 더블클릭하는 등으로 모든 명령을 선택하면 펑크션(7736)은 현재 문서에서 모든 텍스트를 선택한다.
사용자가 "6"키를 선택하거나, 플레이 시작, 플레이 정지 또는 녹음 정지와 같이 현재 활성 중인 임의의 관련 명령을 선택하면, 펑크션(7740)은 시스템이 현재 오디오를 플레이하는가의 여부를 검사한다. 플레이하면, 펑크션(7742)은 오디오 플레이 모드와 오디오 플레이가 오프되는 모드 사이에서 토글을 한다. 오디오 플레이가 없으면, 펑크션(7742)은 오디오 플레이 모드와 오디오 플레이 오프 사이에서 토글한다. 셀폰이 폴 호출 중에 있고, 도 75에 도시한 플레이 온리 투 미(play only to me) 옵션(7513)이 오프 모드에 설정되어 있으면, 펑크션(7746)은 플레이 오버 폰 라인(play over phone line)으로부터 폰 토크 중인 타측으로 또한 셀폰 자체의 스피커 또는 헤드폰으로 오디오를 송신한다.
한편, "6" 버튼을 누를 때 시스템이 녹음하고 있으면, 펑크션(7750)은 녹음을 오프한다.
사용자가 "6"키를 더블 클릭하거나 녹음 명령으로 들어가면, 펑크션(7754)은 오디오 녹음을 온으로 한다. 이후 펑크션(7756)은 시스템이 현재 폰 호출에 있는가의 여부 및 도 75에 도시한 나만의 녹음 설정(record only me setting)(7511)이 오프 상태인가를 검사한다. 그렇다면, 펑크션(7758)은 폰 라인의 타측으로부터 그리고 폰의 마이크로폰이나 마이크로폰 입력 잭으로부터 오디오를 녹음한다.
사용자가 "7"키를 누르거나 대문자시작 메뉴 명령을 선택하면, 펑크션(7762)은 대문자시작 메뉴를 제공한다. 이 메뉴는 사용자에게 선택항목을 제공하며, 이 선택항목을 통해 모든 일련의 입력된 텍스트를 모두 하위 케이스, 모두 초기 캡 또는 모두 대문자 시작되도록 작용하는 모드들 중에서 선택을 할 수 있게 된다.
사용자가 "7" 키를 더블클릭 하거나 대문자시작 싸이클 키를 선택하면, 대문자시작 싸이클 루틴은 한번 이상 호출될 수 있어 임의로 현재 선택을 모두 캡, 모두 대문자시작, 모두 하위케이스 형태로 변경할 수 있다.
사용자가 "8"키 또는 단어 형태 리스트를 선택하면, 펑크션(7770)은 도 27과 함께 상기 설명한 단어 형태 리스트 루틴을 호출한다.
사용자가 "8"키를 더블클릭 하거나 단어형 명령을 선택하면, 펑크션(7774)은 단어형 메뉴를 디스플레이한다. 이 단어형 메뉴를 통해 사용자는 선택된 단어에 대해 도 26의 필터 매치 루틴과 관련하여 상기 설명한 단어형 제한을 선택한다. 도시한 실시예에서, 이 메뉴는 도 91에 도시한 일반 형태를 갖는 계층적 메뉴이며, 단어 종료 타입, 단어 시작 타입, 단어 텐스(tense) 타입, 음성의 단어부분 타입, 기타 타입으로서, 소유격 또는 비소유격 형태, 단수 또는 복수, 주격 형태, 단수, 복수 동사 형태, 스펠링 또는 비스펠링 형태, 동의어, 기타 존재할 수 있는 단어형 중에서 사용자가 원하는 것을 규정할 수 있도록 해준다.
도 78에 도시한 바와 같이, 사용자가 "9"키를 누르거나 또는 기본 키 메뉴 명령을 누르면, 펑크션(7802)은 도 73에 도시한 기본 키 메뉴를 디스플레이하며, 이것을 통해 사용자는 텍스트 입력으로서 이 메뉴로부터 선택될 수 있는 구두점 또는 입력 문자 중 한 엔트리를 선택할 수 있다.
사용자가 "*"키 또는 이스케이프 명령을 선택하면, 펑크션(7810 - 7824)이 수행된다. 펑크션(7810)은 다른 프로그램에서 텍스트를 입력 또는 편집하도록 편집기가 호출되었나의 여부를 검사하며, 호출되었다면, 펑크션(7812)은 이 프로그램으로의 삽입을 위해 편집된 텍스트와 함께 상기 호출로부터 편집기로 리턴한다. 편집기가 이러한 목적으로 호출되지 않았다면, 펑크션(7820)은 편집기에서 빠져나오도록 선택항목의 제시와 함께 사용자에게 프롬프트하고 그 콘텐츠의 저장 및/또는 이스케이프 취소를 행한다. 사용자가 이스케이프를 선택하면, 펑크션(7822 및 7824)은 도 63과 관련하여 앞서 설명한 폰 모드의 상위 레벨로 이스케이프한다. 사용자가 "*" 키를 더블 클릭하거나 태스크 리스트 펑크션을 선택하면, 펑크션(7828)은 태스크 리스트로 가며, 상기 더블 클릭이 대체로 셀폰에서 이루어 질 경우가 많으므로 이 경우는 동작모드 및 메뉴로 간다.
사용자가 "0"키를 누르고 편집 옵션 메뉴 명령을 선택하면, 펑크션(7832)은 도 74에서 간략하게 설명한 편집된 옵션메뉴이다. 사용자가 "0"키를 더블클릭하거나 불수행 명령을 선택하면 펑크션(7836)은 임의로 편집기에서 최후 명령을 불수행한다.
사용자가 "#"키를 누르거나 백스페이스 명령을 선택하면, 펑크션(7840)은 현재 선택이 있는가를 검사한다. 있다면 펑크션(7842)은 이것을 삭제한다. 현재 선택이 없고, 현재 최소 내비게이션 유니트가 문자, 단어, 또는 아웃라인 아이템이면, 펑크션(7846 및 7848)은 이 최소 현재 내비게이션 유니트로 백단어를 삭제한다.
도 79 및 도 80은 도 68과 관련하여 상기 설명한 엔트리 모드 메뉴에 의해 제공되는 옵션을 예시한다.
이 메뉴에서, 사용자가 "1"키를 누르거나 대어휘 인식을 선택하면, 펑크션(7906 - 7914)가 수행된다. 이 펑크션들은 인식 어휘를 대어휘로 설정한다. 그리고 "1"키의 누름을 인식 지속 목적을 위한 음성 키로서 취급한다. 또한 이들 펑크션은 교정창이 디스플레이되었나의 여부를 검사한다. 디스플레이 되었으면, 교정창에서 사용자가 보다 정밀한 불연속 인식을 원한다는 가정하에서 인식모드를 불연속 인식모드로 설정한다. 이 모드에서 수신된 임의 신규 발성은 상기한 타입의 발성 리스트에 부가하고, 도 22의 선택항목 리스트 루틴의 디스플레이를 호출하여 수신된 임의 재발성을 위한 신규 교정창을 디스플레이한다.
도시한 셀 폰 실시예에서, "1"키가 엔트리 모드 메뉴에서 대어휘를 위해 선택되었는데 그 이유는 이것이 가장 통상적인 인식 어휘이고, 이에 따라 사용자는 "1"키를 2번 클릭하여 편집기로부터 용이하게 선택을 할 수 있기 때문이다. 제1 클릭은 엔트리 모드 메뉴를 선택하고, 제2클릭은 대어휘 인식을 선택한다.
엔트리 모드에 있을 때 사용자가 "2"키를 누르면, 시스템은 전술한 타입의 문자 이름 인식으로 설정된다. 사용자가 고정창에 있고 엔트리 모드 메뉴가 디스플레이 될 때 사용자가 이 키를 더블클릭하면, 펑크션(7926)은 인식어휘를 문자이름 어휘로 설정하고, 이 인식의 출력이 모호 필터로서 취급(간주)됨을 표시한다. 바람직한 실시예에서, 사용자는 이러한 필터가 모호 길이 필터로서 간주되었나의 여부를 메뉴의 "9"키와 관련된 엔트리 우선순위 옵션 하에서 표시하는 능력을 가지고 있다. 디폴트 설정은 이러한 인식이 연속 문자 이름 인식에서 모호 길이 필터로서 취급되고, 불연속 문자 이름 인식에 반응하여서는 고정 길이 모호 필터로서 취급되도록 한다.
사용자가 "3"키를 누름에 따라, 인식은 알파브라보 모드로 설정된다. 사용자가 "3"키에 더블 클릭을 하면, 인식은 도 72와 함께 설명한 키 "알파" 모드로 설정된다. 이 모드는 알파브라보 모드와 유사하며, 다만 다음과 같은 차이점이 서로에게 있다. 즉 알파모드에서는 번호 키 "2" 내지 "9" 중 하나를 누르면 사용자는 누른 키에서의 문자와 연관된 ICA단어 중 하나에 프롬프트되며, 인식은 ICA 단어의 제한된 세트 중 하나의 인식을 선호하게 되고, 그 결과 상대적으로 심한 소음 조건 하에서도 매우 신뢰성 있는 알파벳 엔트리를 제공하게 된다는 점이다.
사용자가 "4"키를 누르면, 어휘가 숫자 어휘로 변경된다. 사용자가 "4"키에 더블클릭하면, 시스템은 편집기 텍스트에 대응 번호를 입력하여 번호부여 폰 키의 누름에 대응한다.
사용자가 "5"키를 누르면, 인식 어휘는 구두 어휘로 제한된다.
사용자가 "6"키를 누르면, 인식 어휘는 전술한 연락처 이름 어휘로 제한된다.
도 86은 도 72의 함께 어느 정도 설명한 바 있는 키 알파 모드를 예시한다. 도 86에 표시한 바와 같이, 이 노트가 입력될 때, 내비게이션 모드가 알파 엔트리와 통상 연관된 단어/문자 내비게이션 모드로 설정된다. 이후 펑크션(8604)은 이 아래에 리스트된 키를 그 키 각각으로 표시된 펑크션에 중첩(오버레이)한다. 이 모드에서, 토크 키를 누르면 현재 인식 설정에 따라서 알파브라보 어휘와 함께 인식을 턴온하고, 현재 인식 지속 설정에 따라서 키 누름에 반응한다. "1"키는 엔트리 편집 모드로서 동작을 지속하여 사용자가 이것을 누름으로써 키 알파 모드를 빠져나올 수 있도록 한다. 수자부여 폰 키"2" 내지 "9"를 누르면, 펑크션(8618 - 8624)이 수행되며, 이 때 동시에 폰키의 누름으로 인해 폰키 문자에 대응하는 ICA 단어의 프롬프트를 디스플레이한다. 그 결과 인식으로 하여금 3개 또는 4개의 ICA 단어 중 하나의 인식을 선호하게 하여, 누름 지속을 위한 인식을 턴온하며, 편집 모드에 있으면 편집기의 텍스트로, 필터 편집 모드에 있으면 필터 문자열으로, 인식된 ICA 단어에 대응하는 문자를 출력한다.
사용자가 제로(0) 버튼을 누르면, 펑크션(8628)이 키 구두 모드로 진입하며, 이 모드는 폰키와 연관된 문자 세트 중 하나와 함께 시작하는 모든 구두 마크 중에서 스크롤 가능 리스트를 디스플레이 함으로써 폰키에 연관된 문자를 갖는 임의 폰키의 누름에 반응하며, 구두 단어 중 하나의 인식을 선호한다.
도 87은 그 밑줄친 의사코드 부분만을 제외하고는 도 86의 것과 동일한 키 알파 모드의 변형 실시예이다. 이 모드에서, 사용자가 상위 버튼을 누르면, 대어휘 인식이 턴온하지만 펑크션(8608A)으로 표시한 바와 같이, 각 인식된 단어의 초기 문자만이 출력된다. 펑크션(8618A 및 8620A)이 표시하는 바와 같이, 사용자가 폰키와 연관된 3 또는 4 문자 세트를 갖는 폰키를 누르면, 사용자에게 프롬프트가 제시되어 원하는 문자와 함께 시작할 단어를 말할 것을 요청한다. 그리고 인식 어휘는 실질적으로 키 연관 문자 중 하나와 시작한 단어로 제한되며, 펑크션(8624A)이 인식된 단어에 대응하는 초기 문자를 출력한다.
본 발명의 일부 실시예에서, 제3의 대체 키 알파 모드를 사용할 수 있는 데 이 경우 단어의 제한 세트가 알파벳의 각 문자와 연관을 가지며, 키를 누르는 도중에 인식이 실질적으로 키 연관 문자와 연관된 단어 세트 중 한 인식으로 제한된다. 일부 실시예에서, 5 이하의 단어 세트가 이러한 각 문자에 연관된다.
도 89 및 도 90은 사고(thought) 편집 옵션에서 유용한 옵션 중 일부를 나타내며, 이 사고 편집 옵션은 편집기 및 교정창 모드에서 0 버튼을 눌러 액세스할 수 있다. 이 메뉴에서, 사용자가 1 키를 누르면, 펑크션(8902)에 표시한 파일 옵션 메뉴를 볼 수 있다. 사용자가 2 키를 누르면, 펑크션(8904)에 표시한 바와 같이 대부분의 편집 프로그램에서 공통인 편집 옵션 메뉴를 볼 수 있다. 사용자가 3 버튼을 누르면, 펑크션(8906)은 도 68 및 도 79와 관련하여 위에서 설명한 엔트리 모드 메뉴에서 키 9를 누름으로써 액세스되는 것과 동일한 엔트리 우선순위 메뉴를 디스플레이한다.
편집 옵션 메뉴에 있을 때, "4"키를 누르면, 텍스트 투 스피치(TTS : Text-To-Speech) 즉 TTS 메뉴를 디스플레이한다. 이 메뉴에서, "4"키는 온 또는 오프로 TTS 플레이를 토글한다. 이 키가 TTS를 온으로 토글하고 현재 선택이 있으면, 펑크션(8916 및 8918)은 TTS에게 선택을 말하도록 작용하며, 바람직하게는 이 선택 보다 TTS가 미리 존재하고 있거나 단어 "selection"이라는 녹음된 말이 미리 존재할 수 도 있다. TTS가 온으로 토클될 때 선택이 없으면, 현재 문서의 끝까지 또는 이 문서 내에서 커서 이동 이외의 입력을 사용자가 제공할 때까지 현재 커서 위치에서 TTS는 현재 텍스트를 말한다. 도 99와 관련하여 아래에 설명하는 바와 같이, TTS 모드가 온이면, 사용자에게 오디오 프롬프트 및 텍스트의 TTS 재생이 제공되어 시스템 기능의 실질적 부분이 사용되면서도 셀폰 스크린을 볼 필요가 없도록 한다.
TTS 서브메뉴는 또한 펑크션(8924 및 8926) 및 펑크션(8928 및 8930)으로 표시한 바와 같이 사용자가 원할 때마다 현재 선택을 플레이할 수 있도록 하는 선택항목을 포함하며, 이들 평크션은 기기가 TTS 온 모드 또는 TTS 오프 모드 중 어디에 있든지 상관없이 사용자가 연속 플레이를 온 또는 오프할 수 있도록 한다. 8932에서 편집 옵션 메뉴로 상위 레벨 선택항목으로 표시한 바와 같이, "4"키의 더블클릭으로 TTS를 온 또는 오프하며, 이것은 마치 사용자가 "4"키를 누르고, 이후 TTS 메뉴가 디스플레이되기를 기다리고, 다시 "4"키를 누른 것과 같다.
편집 옵션 메뉴에서 "5"키는 아웃라인 메뉴를 선택하며, 이 아웃라인 메뉴는 확대 및 수축 헤딩 그리고 아웃라인 모드에서 사용자가 내비게이션을 할 수 있도록 하는 다수의 펑크션을 포함한다. 사용작 "5"키를 더블클릭하면 시스템은 편집기의 커서가 위치하는 현재 아웃라인 요소를 전체적으로 확대 및 전체적으로 수축시키는 기능 사이에서 시스템이 토글하게 된다.
사용자가 "6"키를 선택하고, 오디오 메뉴가 서브메뉴로서 디스플레이될 때, 이들 서브 메뉴 중 일부는 도 89 및 도 90의 조합으로 오디오 메뉴 아이템(8938) 하에서 만입되어 디스플레이된다. 이 오디오 메뉴는 "1"키로 선택되는 아이템을 포함하며, 이 아이템을 통해 도 84 및 도 70에서 상기 설명한 지금 편집 메뉴(edit now menu)에서 "6"버튼을 이용하여 행하는 오디오 내비게이션 속도에 대해 보다 미세한 제어를 사용자가 할 수 있도록 한다. 사용자가 "2"키를 선택하면, 볼륨 및 속도와 같은 오디오 재생 설정의 호출, 인식된 단어와 관계된 오디오가 플레이되는가의 여부 호출, 및 또는 연관된 인식 단어없이 녹음된 오디오 호출을 사용자에게 허용하는 서브메뉴를 볼 수 있다.
도 90은 상기 설명한 오디오 메뉴 하에서 "3", "4", "5", "6", "7" 키로 선택되는 아이템과 함께 그리고 도 89의 부호 8938과 함께 시작한다. 사용자가 "3"키를 누르면, 인식된 오디오 옵션 대화 박스(9002 - 9014)가 디스플레이되며, 이것은 부호 9002 - 9014로 설명한 바와 같이, 사용자에게 옵션을 제공하며, 이 옵션을 통해, 편집기에서 현재 선택에 포함된 임의 오디오에서 속도 인식을 수행하는 선택과, 현재 문서에서 모든 오디오를 인식하는 선택과, 이전에 인식된 오디오가 인식된 것으로 독출되는가의 여부를 결정하는 선택과, 이러한 인식의 품질, 이러한 인식이 요구하는 시간을 판별하는 파라메터를 설정하는 선택을 할 수 있다. 펑크션(9012)에서 표시한 바와 같이, 이 대화 박스는 현재 품질 설정과 함께 현재 선택을 인식하기 위한 추정을 제공하며, 선택을 인식하는 태스크가 현재 진행중이라면, 현재 잡(job)에서의 상태(status)를 제공한다. 백그라운드의 태스크로서, 또는 폰이 다른 목적으로 사용되지 않을 때, 그리고 보조 전원에 플러그가 되어 있을 때 상기 대화 박스를 통해 사용자는 상대적으로 큰 양의 오디오 상에서 인식을 수행할 수 있다.
사용자가 오디오 메뉴에서 "4"키를 선택하면, 사용자에게 현재 선택으로부터 특정 정보를 제거하는 것을 선택할 수 있는 서브메뉴를 제공한다. 이 서브메뉴를 통해 인식된 단어와 관련이 없는 모든 오디오를 제거하거나, 인식된 단어와 함께 선택된 모드 오디오, 원하는 선택으로부터의 텍스트를 선택적으로 삭제할 수 있다. 인식된 텍스트로부터 인식 오디오를 삭제하는 것은 이러한 텍스트의 저장과 관련된 메모리를 크게 줄이게 하고, 때로는 사용자가 텍스트관련 오디오가 필요없다고 결정하면 그 의도한 의미를 결정하는 것을 돕는데 매우 유용하다. 텍스트가 오디오로부터 음성 인식으로 생성되었고 매우 부정확하여 소용이 없는 경우 미디어 부분으로부터의 오디오를 제외한 텍스트를 삭제하는 것은 때로 매우 유용하다.
오디오 메뉴에서 "5"키는 사용자에게 인식 오디오를 연관시키는 텍스트가 마크되었나의 여부를 선택하도록 하며, 이 경우 상기 마크여부는 언더라인을 통해 사용자가 이러한 텍스트가 재생을 가지고 있다는 것을 알리게되며, 여기서의 재생은 텍스트의 이해를 돕거나 일부 실시예에서는 대체 인식 선택항목을 발생시키는 근거가 되는 음향을 가질 수 있다. "6"키는 사용자에게 인식 오디오가 인식된 텍스트를 위해 캡이 되었나의 여부를 선택하도록 한다. 많은 실시예에서 인식 오디오의 녹음이 턴오프되어도, 이러한 오디오가 가장 최근의 인식 단어의 일부 개수를 위해 캡이되어 교정 재생 목적을 위해 유용하게 사용된다.
오디오메뉴에서, "7"키는 표기(transcription) 모드 대화 박스를 선택한다. 이 기능을 통해 대화 박스가 디스플레이되고, 사용자는 도 94와 함께 아래 설명하는 표기 모드에 사용되는 설정을 선택할 수 있다. 이것은 사용자가 음성 인식에 의해 이전에 녹음된 오디오를 표기하는 것을 용이하게 하도록 설계된 모드이다.
사용자가 "8"키를 누르면 펑크션(9036)이 수행되어, 검색 문자열으로서 임의로 현재 선택과 함께 검색 대화 박스를 호출한다. 아래 설명하는 바와 같이, 음성 인식 텍스트 편집기는 필요하다면 여러가지 다른 검색 문자열을 입력할 수 있다. 사용자가 "8"키에 더블 클릭하면 이 키값은 이전에 입력된 검색 문자열에 대해 다시 검색하게 될 "다시 찾기(find again)" 명령으로서 해석된다.
사용자가 편집 옵션 메뉴에서 "9"키를 선택하면, 어휘 메뉴가 디스플레이되어 현재 어휘에 어떤 단어가 있는가를 판별하고, 여러가지 다른 어휘를 선택하고, 단어를 소저의 어휘에 부가하는 것을 사용자가 할 수 있도록 한다. 편집 옵션 메뉴에 있을 때 사용자가 "0"버튼을 누르거나 더블 클릭하면, 불수행 펑크션이 수행된다. 더블클릭으로 인해 편집 옵션 메뉴 내에서 불수행 펑크션을 액세스하게 되며, 이것은 "0"에 대한 더블클릭으로 편집기 또는 교정창으로부터 불수행 펑크션을 액세스하는 것과 유사한 기능을 제공한다. 편집 옵션 메뉴에서 파운드 키는 재개( redo)버튼으로서 작용한다.
도 94는 TTS 플레이 룰을 예시한다. 도 89의 펑크션 8908 내지 8932와 관련하여 상기 설명한 TTS 옵션을 통해 TTS 동작이 선택될 때, TTS 발생의 동작을 지배하는 룰이 있다.
펑크션(1909)로 표시한 바와 같이 TTS에 있을 때 TTS 키 모드가 1 키의 동작으로 턴온이되면, 펑크션(9404)은 펑크션(9406 - 9414)가 수행되도록 작용한다. 이들 펑크션을 통해 사용자는 운전을 하거나 다른 일을 할 때와 같은 경우에 폰 키를 보지 않고도 안전하게 선택을 할 수 있다. 이 모드는 셀폰 동작의 임의 모드에서 사용될 수 있는 음성 인식 편집기에서의 동작에만 한정되지 않는 것이 바람직하다. 임의 폰 키가 눌러지면 펑크션(9408)은 1/4 또는 1/3와 같은 짧은 기간이되는 TTS 키 타임 내에 동일한 키를 눌렀나의 여부를 검사(테스트)한다. 이 테스트 목적을 위해, 동일 키의 최후 키 누름 해제 이후부터의 시간이 측정된다. 이 짧은 시간 내에 동일키를 누르지 않았다면, 펑크션(9410 및 9412)은 텍스트가 발성되도록 하거나, 일부 실시예에서는 녹음된 오디오 재생을 동작시키며, 키의 번호와 그 현재 명령 이름을 말한다. 이 오디오 피드백은 사용자가 키를 누르고 있는 한에서만 지속된다. 키가 더블클릭 명령을 가지면 사용자가 충분히 길게 키를 누르고 있는가의 여부를 알려준다. 펑크션(9408)의 테스트를 통해 동일키의 최후 키 누름 해제 이후의 시간이 TTS 키 타임 펑크션(9414) 이하 인가를 발견하고, 셀폰 소프트웨어가 키누름에 반응하며, 이 키 누름에는 TTS 모드가 온이 아닌 것처럼 작용하는 임의 더블 클릭도 포함되는 개념이다.
따라서, TTS 키모드를 통해 사용자는 터치로 셀폰 키를 발견할 수 있고, 키를 누름으로써 이것이 원하는 키인지의 여부를 판별할 수 있으며, 원하는 키이면 신속하게 한번 이상 다시 누름으로써 키의 원하는 기능을 달성할 수 있다. 펑크션(9410 및 9412)에 의해 반응하는 키의 누름이 그 연관된 기능을 말하는 것외에는 어떠한 반응도 하지 않으므로, 이 모드를 통해 사용자는 원하는 키를 조사할 수 있으면서도 뜻하지 않는 결과를 전혀 야기하지 않을 수 있다.
일부 셀폰 실시예에서, 셀폰 키는 미는 것이 아니라 단지 터치에 의해 펑크션(9412)이 제공하는 것과 유사하게 키가 어떠한 것이고, 현재 펑크션은 무엇인가 등의 오디오 피드백을 제공할 수 있다. 이는 예를 들면 전도 물질로 된 폰키 물질를 갖는것, 이들 키와는 별도로 되어 사용자 몸체를 통해 키에 도전된다면 키와 연결된 회로에 의해 검출될 수 있는 전압을 발생시키는 폰의 별체 부분을 통해 이룰 수 있다. 이러한 시스템은 터치를 통해 사용자가 보다 신속하게 원하는 키를 발견할 수 있도록 하여주는데 그 이유는 사용자가 원하는 키 부근에서 키패드 위에 손가락을 단지 스캐닝하여 터치하는 키가 어떠한 키인가에 대해 피드백을 받을 수 있기 때문이다. 이 기능은 또한 원하는 명령이 발견될 때까지 연속 키위에 사용자가 그 손가락을 스캐닝하는 것에 의해 원하는 명령 이름을 신속하게 스캔할 수 있도록 해준다.
TTS가 온일 때, 시스템이 명령입력을 인식하거나 수신하면, 펑크션(9416 및 9418)은 TTS가 또는 녹음된 오디오 재생이 인식된 명령의 이름을 말하도록 작용한다. 이러한 명령의 확인은 관련된 사운드 품질을 갖는 것이 바람직하며, 그 사운드 품질은 이를테면, 음성의 여러 가지 톤의 형태로, 여러 가지 관련 사운드 형태로 되어 인식된 텍스트의 말과 명령단어의 말을 구별할 수 있도록 한다.
TTS가 온이면 텍스트 발성이 인식될 때 펑크션(9420 - 9424)은 발성의 끝, 그 인식의 완료를 통보할 수 있으며, 이후 TTS를 이용하여 발성을 위해 제1 선택항목으로서 인식된 단어를 말한다.
펑크션(9426 - 9430)으로 표시한 바와 같이, TTS는 유사 방법으로 필터링 발 성의 재인식에 반응한다.
TTS에 있을 때, 사용자가 커서를 이동하여 신규 단어나 문자를 선택하면, 펑크션(9432 -9438)은 TTS를 사용하여 이 새롭게 선택된 단어 또는 문자를 말한다. 신규 단어 또는 문자 위치로의 이러한 커서의 이동이 이미 시작된 선택을 확대하면, 신규 커서 위치를 말한 후, 펑크션(9436 및 9438)은 인식된 텍스트의 일부가 아니라고 표시하는 방법으로 단어 "selection"을 말하고, 이후 현재 선택의 단어를 말하게 된다. 사용자가 커서를 이동시켜 도 76의 펑크션(7614 및 7615)에 설명한 바와 같이 비선택 커서로 하면 도 94의 펑크션(9440 및 9442)가 TTS를 사용하여 2 단어를 발하며 이 2 단어 사이에 커서가 위치하게 된다.
TTS 모드에 있고, 신규 교정창이 디스플레이 되면, 펑크션(9444 및 9446)은 TTS를 사용하여 교정창에서 제1 선택항목을 말하고, 임의로 현재 필터를 쫓아내면서 그 중 어느 부분이 비모호이고, 어느 부분이 모호인가를 표시하며, 이후 TTS를 사용하여 선택항목 리스트의 현재 디스플레이된 부분에서 각 후보를 말한다. 속도를 위해서는 톤과 사운드에 차이를 두어 필터의 어느 부분이 절대적이거나 모호한 것인가를 표시하는 것이 최선이다.
사용자가 교정창에서 아이템을 스크롤하면, 펑크션(9448 및 9450)은 TTS를 사용하여 각 스크롤에 따라서 현재 하이라이트된 선택항목과 그 선택번호를 말한다. 사용자가 교정창에서 페이지를 스크롤하면 펑크션(9452 및 9454)은 TTS를 사용하여 새롭게 디스플레이된 선택항목 뿐만 아니라 현재 하이라이트된 선택항목의 표시를 말한다.
교정 모드에 있을 때에 사용자가 메뉴에 들어가면, 펑크션(9456 및 9458)은 TTS 또는 자유로이 녹음된 오디오를 사용하여 현재 메뉴의 이름 및 그 메뉴 내의 모든 선택항목과 그에 딸린 번호를 말하여 현재 선택 위치를 표시한다. 그것은 말해지고 있는 단어들이 메뉴 옵션임을 사용자에게 표시하는 오디오 큐에 의해 이뤄지는 것이 바람직하다.
사용자가 메뉴에 있는 항목을 상하로 스크롤하면, 펑크션(9460 및 9462)은 TTS 또는 미리 녹음된 오디오를 사용하여 하이라이트된 선택항목을 말하고 나서, 잠시 멈춘 후에 메뉴의 디스플레이된 현재 페이지 상에 있는 임의의 후속 선택을 말한다.
도 95는 TTS 생성에 사용되는 프로그래밍의 몇 가지 양태를 나타낸 것이다. 텍스트-투-스피치(TTS)에 의해 생성하려는 단어가 음성 인식 프로그램의 표음 스펠링된 단어들의 어휘 중에 있으면, 펑크션(9502)은 펑크션(9504 내지 9512)이 실행되게끔 한다. 펑크션(9504)은 그 단어가 음성의 상이한 부분과 연관된 다중 표음 스펠링을 갖는지의 여부와, TTS를 사용하여 설정하려는 단어가 그 현재 음성 부분을 표시하는 통용 언어 컨텍스트를 갖는지의 여부를 알아보기 위한 검사를 한다. 그 양자의 조건이 충족되면, 펑크션(9506)은 음성 인식 프로그래밍의 코드 표시 음성 부분을 사용하여 현재 단어에 대한 TTS 생성에 있어 그 코드 표시 음성 부분에 의해 표음 스펠링로서 찾아질 가능성이 가장 높은 음성 부분과 연관된 표음 스펠링을 선택한다. 한편, 그 단어와 연관된 표음 스펠링이 단 하나만 있거나, 그 단어에 대해 가장 유망한 음성 부분을 식별하는데 충분한 컨텍스트가 없으면, 펑크션(9510)은 그 단어에 대해 단일의 표음 스펠링 또는 그 가장 통상적인 표음 스펠링을 선택한다. 펑크션(9506) 또는 펑크션(9510)에 의해 그 단어에 대해 표음 스펠링이 선택되고 나면, 펑크션(9512)은 그 단어에 대해 표음 스펠링로서 선택된 그 표음 스펠링을 채용하여 TTS 생성에 사용한다. 펑크션(9514)에 나타낸 바와 같이, 텍스트-투-스피치에 의해 생성하려는 단어가 표음 스펠링을 갖지 않으면, 펑크션(9514 및 9516)은 그 단어의 텍스트-투-스피치 생성을 위해 음성 인식기가 사용하는 발음 추정 소프트웨어를 사용하여 이름 및 새로 편입된 단어에 표음 스펠링을 할당한다.
도 96은 도 89 및 도 90에 도시된 편집 옵션 메뉴의 오디오 메뉴 중에서 도 90의 번호 "7"과 연관하여 전술된 편집 옵션 메뉴의 오디오 메뉴 옵션 하에 활성화되는 표기 모드 대화 박스의 동작에 의해 선택될 수 있는 표기 모드의 동작을 나타낸 것이다.
표기 모드에 들어가면, 펑크션(9602)은 통상적으로 내비게이션 모드를 오디오 내비게이션 모드로 바꾸는데, 그러한 오디오 내비게이션 모드는 좌우 내비게이션 키 입력에 응하여 전후 5초를 경과시켜 오디오 녹음을 진행하고, 상하 내비게이션 키 입력에 응하여 전후 1초를 경과시킨다. 그들은 표기 모드 대화 박스로 바뀔 수 있는 디폴트값들이다. 그러한 모드 동안, 사용자가 편집기에 있는 "6"번 키인 플레이 키를 클릭하면, 펑크션(9606 내지 9614)이 실행된다. 펑크션(9607 및 9608)은 플레이를 온/오프 간으로 토글링한다. 펑크션(9610)은 토글링에 의해 플레이가 온으로 켜지면 펑크션(9612)이 실행되게끔 한다. 그 경우, 마지막 사운드가 플레이된 이래로 사운드 내비게이션이 없었으면, 펑크션(9614)은 플레이의 마지막 종료 전의 일정 기간을 재생하기 시작한다. 그것은 사용자가 표기를 실행하고 있을 때에 마지막 것이 종료되기 약간 전에 각각의 순차적 재생이 시작되어 사용자가 선행 재생에서 단지 부분적으로만 말해진 단어를 인식할 수 있게 하고, 사용자가 선행 언어 컨텍스트를 조금 인지할 수 있으면 음성 사운드를 단어로서 보다 잘 번역할 수 있게 하도록 이뤄진다. 사용자가 플레이 키를 1초의 1/3과 같은 정해진 기간보다 더 오래 누르면, 펑크션(9616)은 펑크션(9618 내지 9622)이 실행되게끔 한다. 그들 펑크션은 플레이가 온으로 켜져 있는지의 여부를 알아보기 위한 검사를 하고, 그렇다면 플레이를 오프로 끈다. 또한, 그들 펑크션은 플레이 키를 누르는 동안 현재의 설정에 따라 연속 모드 또는 불연속 모드로 대어휘 인식을 개시한다. 이어서, 그들 펑크션은 표기되는 오디오에 있어 플레이의 마지막 종료가 일어난 위치에서 인식 텍스트를 편집기에 삽입한다. 사용자가 플레이 버튼을 더블 클릭하면, 펑크션(9624 및 9626)은 표기 모드에 오디오 녹음이 가용될 수 없다는 것과 부가 옵션 메뉴 하의 오디오 메뉴에서 표기 모드를 끝낼 수 있음을 사용자에게 일러준다.
그러한 표기 모드는 사용자로 하여금 "6"번 전화 키인 플레이 키를 단지 클릭하는 것과 누른 채로 유지하는 것 사이를 교대함으로써 이전에 녹음된 오디오의 일부를 플레이하는 것과 이어서 음성 인식을 사용하여 그것을 표기하는 것 사이를 오갈 수 있게끔 하는 것을 알 수 있다. 사용자는 편집기의 다른 펑크션을 사용하여 표기 과정 동안 인식에 있어 이뤄진 임의의 오류를 자유롭게 교정하고, 이어서 "6"번 키를 다시 눌러 플레이로 돌아가서 표기하려는 오디오의 다음 분절을 플레이하기만 하면 된다. 물론, 사용자가 오디오로부터 문자 표기를 실행하려 하지 않을 경우도 종종 있다. 예컨대, 사용자는 전화 통화의 일부를 재생하여 좀더 주목할만한 부분의 개요를 표기하기만 하려 할 수 있다.
도 97은 전술된 편집 모드의 다수의 특징을 사용하여 사용자로 하여금 텍스트 및 다른 정보를 셀룰러폰 스크린에 디스플레이된 대화 박스 내에 들여보낼 수 있게끔 하는 대화 박스 편집 프로그래밍의 동작을 나타낸 것이다.
우선, 대화 박스에 들어갔을 때에 펑크션(9702)은 대화 박스의 제1 부분을 보이는 편집기 창을 디스플레이한다. 대화 박스가 너무 커서 단번에 하나의 스크린에 맞춰질 수 없으면, 대화 박스는 스크롤 가능한 창에 디스플레이된다. 펑크션(9704)에 표시된 바와 같이, 대화 박스는 펑크션(9704 내지 9726)에 의해 표시된 바와 같은 것을 제외하고는 도 76 내지 도 78과 관련하여 전술된 편집 모드가 하는 것과 동일하게 모든 입력에 응한다. 펑크션(9707 및 9708)에 표시된 바와 같이, 사용자가 대화 박스에 있을 때에 내비게이션 입력을 제공하면, 커서 이동은 그것이 통상적으로 이동되기만 할 수 있다는 점을 제외하고는 편집기에서 그러한 것과 유사하게 그로 사용자가 입력을 제공할 수 있는 컨트롤에 응한다. 따라서, 사용자가 단어의 좌우로 이동한다면, 커서는 좌우로 다음 대화 박스 컨트롤로 이동하여 그러한 컨트롤을 찾는데 필요한 경우에 라인을 상하로 이동시킨다. 사용자가 라인을 상하로 이동시킨다면, 커서는 현재 커서 위치의 상하로 라인에 가장 가깝게 이동한다. 사용자가 컨트롤을 전혀 담고 있지 않을 수도 있는 텍스트의 확장된 부분을 읽을 수 있도록 하기 위해, 커서는 통상적으로 한 페이지의 간격 내에 컨트롤이 없더라도 한 페이지를 넘게 이동하지는 않는다.
펑크션(9700 내지 9716)에 의해 표시된 바와 같이, 커서가 필드로 이동되고 나서 사용자가 텍스트를 편집기에 입력하는 유형의 어떠한 입력이라도 제공하면, 펑크션(9712)은 그 필드에 대해 별개의 편집 창을 디스플레이하는데, 그 별개의 편집 창은 혹시 있다면 그 필드에 현재 있는 텍스트를 디스플레이한다. 그 필드가 그에 딸린 어떠한 어휘 제한을 갖고 있으면, 펑크션(9714 및 9716)은 편집기에서의 인식을 그 어휘에 한정시킨다. 예컨대, 필드가 상태 이름에 한정되어 있다면, 그 필드에서의 인식은 그와 같이 한정된다. 그러한 필드 편집 창이 디스플레이되어 있는 동안, 펑크션(9718)은 모든 편집 명령을 할애하여 그 필드 편집 창 내의 편집을 실행한다. 사용자는 OK를 선택함으로써 그 필드 편집 창으로부터 나갈 수 있는데, 그에 의해 그 필드 편집 창에 그때 현재 있는 텍스트가 대화 박스 창에 있는 해당 필드로 들어가게 된다.
대화 박스에 있는 커서가 선택항목 리스트로 이동하고 사용자가 텍스트입력 명령을 선택하면, 펑크션(9722)은 리스트 박스 내에 있는 제1 선택항목으로서의 현재 값과 스크롤 가능한 리스트에 나타내진 다른 가용 선택항목으로서 리스트 박스에 제공된 다른 옵션을 보이는 교정 창을 디스플레이한다. 그러한 특정의 선택항목 리스트에서는 스크롤 가능한 옵션이 연관 번호를 선택함으로써 액세스될 수 있을 뿐만 아니라, 그 옵션에 한정된 어휘를 사용하는 음성 인식에 의해서도 가용될 수 있다.
커서가 체크 박스 또는 무선 버튼에 있고 사용자가 임의의 편집 텍스트 명령을 선택하면, 펑크션(9724 및 9726)은 체크 박스 또는 무선 버튼이 선택되었는지의 여부를 토글링함으로써 체크 박스 또는 무선 버튼의 상태를 바꾼다.
도 98은 PDA 실시예에서 도 19와 관련하여 전술된 헬프 모드와 유사한 셀룰러폰 실시예의 헬프 루틴(9800)을 나타낸 것이다. 셀룰러폰이 동작의 주어진 상태 또는 모드에 있을 때에 그러한 헬프 모드가 호출되면, 펑크션(9802)은 헬프 옵션과 모든 상태 명령 중의 선택 가능한 리스트와 함께 그 상태에 관한 설명을 포함하고 있는 그 상태에 대한 스크롤 가능한 헬프 메뉴를 디스플레이한다. 도 99는 도 67 및 도 76 내지 도 78과 관련하여 전술된 편집 모드에 대한 그러한 헬프 메뉴를 나타낸 것이다. 도 100은 도 68, 도 79 및 도 80과 관련하여 전술된 엔트리 모드에 대한 그러한 헬프 메뉴를 나타낸 것이다. 도 99 및 도 100에 도시된 바와 같이, 그러한 각각의 헬프 메뉴는 스크롤 가능한 하이라이트 및 헬프 키의 동작에 의해 선택될 수 있는 헬프 옵션 선택을 포함하고 있는데, 그것은 사용자로 하여금 헬프 메뉴 및 기타의 헬프 관련 펑크션의 여러 부분으로 신속하게 건너뛸 수 있게끔 한다. 또한, 각각의 헬프 메뉴는 그 셀룰러폰이 처해 있는 현재 명령 상태에 관한 약술(9904)을 포함하고 있다. 아울러, 각각의 헬프 메뉴는 폰 키에 의해 액세스될 수 있는 모든 옵션을 망라한 스크롤 가능하고 선택 가능한 메뉴(9906)를 포함하고 있다. 뿐만 아니라, 각각의 헬프 메뉴는 헬프 펑크션을 사용하는 방법에 관한 설명 및 일부의 경우에 현재 모드에서 가용될 수 있는 스크린의 다른 부분의 펑크션에 관한 헬프를 비롯한 다른 헬프 펑크션에 사용자가 액세스할 수 있게끔 하는 펑크션(9908)을 포함하고 있다.
도 101에 도시된 바와 같이, 편집 모드에 있는 사용자가 펑크션(10100)에 표시된 바와 같이 메뉴 키를 누른 채로 유지하고 있으면, 편집 모드를 위한 헬프 모드에 들어가져서 셀룰러폰이 스크린(10102)을 디스플레이하게 된다. 그 스크린(10102)은 선택 가능한 헬프 옵션인 옵션(9902)을 디스플레이하고, 도 99에 도시된 바와 같은 다른 모드(9900)의 동작에 관한 요약 설명의 도입부를 디스플레이한다. 헬프 메뉴에서 내비게이션 모드가 스크린(10102)에 나타내진 문자 "<P^L"로써 표시된 바와 같은 페이지/라인 내비게이션 모드로 된 이래로 사용자가 페이지 라이트 버튼으로서 동작하는 셀룰러폰의 라이트 화살표 키를 누르면, 디스플레이는 스크린(10104)에 의해 표시된 바와 같이 페이지를 스크롤 다운한다. 사용자가 페이지 라이트 키를 다시 누르면, 스크린은 페이지를 다시 스크롤 다운하여 스크린으로 하여금 도면 부호 "10106"에 나타내진 모습을 갖게끔 한다. 본 예에서는 사용자가 페이지 라이트 키를 단 두 번만 클릭함으로써 도 99에 도시된 편집 모드의 펑크션에 관한 요약을 읽을 수 있었다.
사용자가 페이지 라이트 키를 다시 클릭하여 스크린으로 하여금 스크린 샷(10108)에 나타내진 바와 같이 페이지를 스크롤 다운하게끔 하면, 편집 모드와 연관된 명령 리스트의 도입부를 볼 수 있게 된다. 사용자는 그러기를 원한다면 내비게이션 키를 사용하여 헬프 메뉴의 전체의 길이를 스크롤 할 수 있다. 도시된 예에서는 사용자가 엔트리 모드 메뉴에 딸린 키 번호를 찾았을 때에 도면 부호 "10110"에 나타내진 바와 같이 그 키를 눌러 헬프 메뉴로 하여금 스크린(10112)에 나타내진 바와 같은 엔트리 모드 메뉴와 연관된 헬프 메뉴를 디스플레이하게끔 한다.
사용자는 헬프 메뉴에 있을 때마다 도 99에 도시된 "키에 의한 선택" 라인 아래에 리스트된 명령을 즉시 선택할 수 있음을 알아야 할 것이다. 즉, 그 펑크션을 알아보기 위한 명령과 연관된 키를 누르기 위해 명령이 리스트된 헬프 메뉴의 부분을 사용자가 스크롤 다운할 필요가 없다. 실제로, 키와 관련된 펑크션을 이해하고 있다고 생각하는 사용자는 단지 메뉴 키를 누른 채로 유지하고 나서 원하는 키를 타이핑하여 그 펑크션에 관한 요약 설명 및 그 펑크션 하에 가용될 수 있는 명령의 리스트를 알 수 있게 된다.
도 99 및 도 100에 도시된 "OK에 의한 선택" 라인 아래에 리스트된 명령은 메뉴에 있는 명령 라인에 하이라이트를 스크롤하고 OK 명령을 사용하여 선택함으로써 모여져야 한다. 그것은 라인(9912) 아래에 리스트된 명령이 헬프 메뉴 그 자체의 동작에 사용되는 키와 연관되어 있기 때문이다. 그것은 도 75에 도시된 편집 모드 명령의 스크린(7506)에 리스트된 명령과 유사한데, 그러한 명령도 역시 그 명령 리스트에 있는 OK 명령을 선택함으로써만 선택될 수 있는 것이다.
도 101의 예에서는 사용자가 엔트리 모드 메뉴에 있는 "9"번 키를 누름으로써 엔트리 선호 메뉴를 선택할 수 있음을 알고 있음으로 해서 도면 부호 "10114"에 의해 표시된 바와 같이 엔트리 모드 메뉴에 대한 도움말에 들어오자마자 그 키를 누른다고 가정하기로 한다. 그에 의해, 도면 부호 "10116"에 나타내진 바와 같이 엔트리 선호 메뉴에 대한 헬프 메뉴가 보이게 된다.
본 예에서는 사용자가 "1"번 키를 누르고, 뒤따라 이스케이프 키를 누른다고 하기로 한다. 그 "1"번 키는 구술 디폴트 옵션에 대한 헬프 메뉴를 잠시 불러내고, 이스케이프 키는 스크린(10118)에 의해 나타내진 바와 같이 엔트리 선호 메뉴 및 구술 디폴트 옵션이 딸린 메뉴로 되돌린다. 이스케이프가 뒤따르는 그러한 키 옵션의 선택은 사용자가 단지 헬프 메뉴의 명령 리스트 중의 원하는 명령 리스트의 부분에 있는 키 번호를 누르고 뒤따라 이스케이프 키를 누르기만 하면 그 원하는 부분으로 신속하게 내비게이션할 수 있게끔 한다.
본 예에서는 사용자가 도면 부호 "10120"에 나타내진 바와 같은 페이지 라이트 키를 눌러 스크린(10122)에 의해 표시된 바와 같이 명령 리스트에서 페이지를 스크롤 다운한다. 본 예에서는 사용자가 도면 부호 "10124"에 표시된 바와 같이 "5"번 키를 눌러 그 키와 연관된 옵션을 선택하여 발성 옵션으로 계속 누르든지 불연속적으로 클릭하는 것에 관한 설명을 얻는다고 가정하기로 한다. 그에 의해, 스크린(10126)에 나타내진 바와 같이 그 옵션에 대한 도움말이 디스플레이된다. 본 예에서는 사용자가 2개를 넘는 스크린을 스크롤 다운하여 그 옵션의 펑크션에 관한 요약 설명을 읽고 나서 도면 부호 "10128"에 나타내진 바와 같이 이스케이프 키를 눌러 스크린(10130)에 나타내진 바와 같이 엔트리 선호 메뉴에 대한 헬프 메뉴로 돌아간다.
도 102에 도시된 바와 같이, 본 예에서는 사용자가 엔트리 선호 메뉴에 대한 헬프로 돌아갔을 때에 도면 부호 "10200"에 의해 표시된 바와 같이 "4"번 키를 선택하여 스크린(10202)에 나타내진 바와 같이 발성 옵션으로 누르고 클릭하는 동안에 관한 헬프 메뉴가 디스플레이되게끔 한다. 이어서, 사용자는 2개를 넘는 스크린을 스크롤 다운하여 그 모드에 관한 설명을 숙독함으로써 그 펑크션을 이해하고 난 다음에, 도면 부호 "10204"에 나타내진 바와 같이 이스케이프 키를 눌러 스크린 "10206"에 나타내진 바와 같이 엔트리 선호 메뉴에 대한 도움말로 돌아간다. 이어서, 사용자는 이스케이프를 다시 눌러 그로부터 엔트리 선호 메뉴를 불러왔던 헬프 메뉴, 즉 스크린(10210)에 나타내진 바와 같은 엔트리 모드 메뉴에 대한 헬프 메뉴로 돌아간다. 사용자는 이스케이프를 다시 눌러 그로부터 엔트리 모드 메뉴에 대한 도움말을 불러왔던 헬프 메뉴, 즉 스크린(10214)에 나타내진 바와 같은 편집 모드에 헬프 메뉴로 돌아간다.
본 예에서는 사용자가 페이지 라이트 키를 6번 눌러 편집 모드에 대한 헬프 메뉴 중에서 도 99에 도시된 하단 부분(9908)까지 스크롤 다운하는 것으로 가정하기로 한다. 사용자는 그가 원한다면 플레이스 명령을 사용하여 헬프 메뉴의 그 부분에 있는 옵션에 보다 더 신속하게 액세스할 수 있다. 헬프 메뉴의 "다른 도움말" 부분에 있다면, 사용자는 도면 부호 "10220"에 나타내진 바와 같이 다운 라인 버튼을 눌러 스크린(10222)에 나타내진 편집 스크린 옵션(10224)을 선택한다. 그 시점에, 사용자는 OK 버튼을 선택하여 스크린(10228)에 나타내진 바와 같이 편집 스크린 그 자체에 대한 도움말이 디스플레이되게끔 한다. 그러한 스크린이 보이는 모드에서는 폰 키 번호 표시자(10230)를 사용하여 편집 스크린의 부분을 표식한다. 도 102의 예에서는 사용자가 4"번 키를 눌러 편집 스크린 헬프 스크린(10228)의 상단에 나타내어진 내비게이션 모드 표시자 "<W^L"의 펑크션을 설명하는 편집 스크린 헬프 스크린(10234)이 디스플레이되게끔 한다.
본 예에서는 사용자가 도면 부호 "10236"으로 나타내진 바와 같이 이스케이프 키를 세 번 누른다. 그와 같이 이스케이프 키를 누르는 것 중의 첫 번째 누름은 스크린(10234)으로부터 도로 스크린(10228)으로 빠져나와 설명되고 있는 스크린의 번호가 달린 다른 부분의 설명을 선택할 옵션을 사용자에게 제공하는 것이다. 본 예에서는 사용자가 그러한 다른 선택을 하는 것에 관심이 없어 이스케이프 키를 첫 번째로 누른 다음에 바로 연달아 이스케이프 키를 또다시 2번 눌렀는데, 그 중의 첫 번째 누름은 편집 모드에 대한 헬프 메뉴로 도로 빠져나오는 것이고, 두 번째 누름은 편집 모드 그 자체로 도로 빠져나오는 것이다.
도 101 및 도 102에서 알 수 있는 바와 같이, 헬프 메뉴의 그러한 계층적 동작은 사용자로 하여금 셀룰러폰에서의 명령 구조를 신속하게 조사할 수 있게끔 한다. 그것은 원하는 펑크션을 실행하는 명령을 검색하는데 또는 단지 선형적 순서대로 명령 구조를 습득하는데 사용될 수 있다.
도 103 및 도 104는 사용자가 편집 모드에서 몇 가지 음성을 연속적으로 구술하고 나서 그 편집 모드의 인터페이스를 사용하여 결과적으로 나온 텍스트 출력을 교정하는 것의 예를 설명하고 있다.
그러한 시퀀스는 도 103에서 도면 부호 "10300"에 표시된 바와 같이 사용자가 토크 버튼을 누른 채로 유지하는 것으로 시작되는데, 그동안 사용자는 발성(10302)을 말한다. 그 결과, 그 발성이 인식되고, 그것은 본 예에서는 스크린(10304)에 나타내진 텍스트가 편집 모드의 텍스트 창(10305)에 디스플레이되게끔 한다. 도면 부호 "10306"은 그와 같이 인식된 텍스트의 끝에 있는 커서의 위치를 표시하고 있는데, 그것은 연속적인 구술의 종료 시에 생기는 비 선택적 커서이다.
본 시스템이 연속적인 대어휘 음성 인식을 사용하여 발성이 인식되게끔 하는 모드로 설정되어 있다고 가정하기로 한다. 그것은 스크린(10304)에 나타내진 편집 창의 타이틀 바에 문자 "_LV"로 표시되어 있다.
본 예에서는 사용자가 "3"번 키를 눌러 도 70 및 도 84에 도시된 부가 내비게이션 메뉴에 액세스하고 나서 "1"번 버튼을 눌러 그들 도면에 도시된 발성 옵션을 선택한다. 그에 의해, 스크린(10310)에 도면 부호 "10308"에 의해 표시된 바와 같이 커서가 가장 최근의 발성에 대해 인식된 텍스트의 첫 번째 단어에 대응하게 된다. 그런 다음, 사용자는 "7"번 키를 더블 클릭하여 도 77에서 설명된 대문자시작 사이클 펑크션을 선택한다. 그에 의해, 도면 부호 "10312"에 나타내진 바와 같이 선택된 단어가 대문자로 시작되게 된다.
다음으로, 사용자는 내비게이션 모드 표시자에 의해 표시된 현재의 단어/라인 내비게이션 모드에서 단어 라이트 버튼으로서 동작하는 라이트 버튼을 누른다. 그에 의해, 커서가 우측으로 다음 단어로 이동한다. 그런 다음, 사용자는 "5"번 키를 눌러 편집기를 도 77의 펑크션(7728 내지 7732)과 연관하여 전술된 확장 선택 모드로 설정한다. 이어서, 사용자는 단어 라이트 버튼을 다시 눌러 커서로 하여금 단어(10318)로 이동하게끔 하고, 확장 선택(10320)으로 하여금 "got it"이란 텍스트를 담게끔 한다.
다음으로, 사용자는 "2"번 키를 눌러 도 77의 선택항목 리스트 명령을 선택하는데, 그에 의해 제1 선택항목으로서의 선택(10320)에 대해 도면 부호 "10324"에 디스플레이된 것과 같이 나타내지는 알파벳 순서의 제1 선택항목 리스트를 동반한 교정 창이 디스플레이되게 된다. 그러한 선택항목 리스트에서는 각각의 선택항목이 그것을 선택하는데 사용될 수 있는 그에 딸린 폰 키 번호와 함께 나타내진다.
본 예에서는 원하는 선택항목이 제1 선택항목 리스트에 나타내지지 않아서 사용자가 라이트 키를 세 번 눌러 원하는 단어 "product"가 위치되어 있는 도면 부호 "10328"에 나타내진 알파벳 순서의 제2 선택항목 리스트의 세 번째 스크린까지 스크롤 다운한다고 가정하기로 한다.
도 77의 펑크션(7706)에 의해 표시되어 있는 바와 같이, 사용자가 선택항목 리스트 버튼을 한 번 눌러 교정 창에 들어갔을 때에 교정 창의 내비게이션은 스크린(10332)에 나타내진 내비게이션 모드 표시자(10326)에 의해 표시된 바와 같이 페이지/항목 내비게이션 모드로 설정된다.
본 예에서는 사용자가 "6"번 키를 눌러 원하는 선택항목을 선택하고, 그에 의해 그 선택항목이 커서 선택의 위치에 있는 편집기의 텍스트 창 내에 삽입되어 편집 텍스트 창이 도면 부호 "10330"에 나타내진 것과 같은 모습을 갖게끔 한다.
다음으로, 사용자는 단어 라이트 키를 세 번 눌러 커서를 도면 부호 "10332"의 위치에 위치시킨다. 그 경우, 인식된 단어는 "results"이고, 원하는 단어는 그 단어의 단수형 "result"이다. 그 때문에, 사용자는 단어형 리스트 버튼을 눌러 단어형 리스트 교정 창(10334)이 디스플레이되게끔 하는데, 그 리스트 교정 창(10334)은 그 디스플레이된 선택항목 중의 하나로서 원하는 바의 변형된 단어형을 갖는다. 사용자는 그에 딸린 폰 키를 누름으로써 원하는 선택항목을 선택하여 편집 텍스트 창이 도면 부호 "10336"에 나타내진 모습을 갖게끔 한다.
도 104에 도시된 바와 같이, 사용자는 그런 다음에 라인 다운 버튼을 눌러 커서를 아래쪽으로 도면 부호 "10400"의 위치로 이동시킨다. 이어서, 사용자는 "5"번 키를 눌러 확장 선택을 시작하고, 단어 키를 눌러 커서를 "도면 부호 "10402"의 위치까지 우측으로 한 단어 이동시켜 현재 선택(10404)이 우측으로 한 단어만큼 확장되게끔 한다.
다음으로, 사용자는 "2"번 키를 더블 클릭하여도 77에서 펑크션(7712 내지 7716)과 연관하여 전술된 필터 선택항목 옵션을 선택한다. "2"번 키의 두 번째 클릭은 하향 화살표(10406)에 의해 표시된 바와 같이 긴 클릭이다. 그와 같이 길게 누르는 동안, 사용자는 원하는 단어 "painstaking"의 처음 문자인 문자열 "p, a, i, n, s, t"를 발성한다.
본 예에서는 교정 창이 교정(10412)의 타이틀 바에 문자 "_abc로 표시된 바와 같이 연속 문자 이름 인식 모드에 있는 것으로 가정하기로 한다.
본 예에서는 발성(10408)을 필터 입력으로서 인식함으로써 교정 창(10412)으로 하여금 연속적으로 말해진 문자 이름의 문자열을 인식하는 것으로부터의 인식 결과에 해당하는 모호 길이 필터에 대해 필터링된 일련의 선택항목을 나타내게끔 한다. 교정 창은 모호 필터 요소와 연관된 문자 시퀀스 중의 하나로 시작하는 제1 선택항목(10414)을 갖는다. 모호 필터와 연관된 문자 시퀀스에 대응하는 제1 선택항목의 부분은 모호 필터 표시자(10416)에 의해 표시된다. 필터 커서(10418)는 제1 선택항목의 그 부분의 끝 이후에 위치된다.
본 시점에서는 사용자가 단어 라이트 키를 눌러 필터 커서로 하여금 도 81에서의 펑크션(8124 및 8126)의 동작에 의해 현재 단어의 제1 문자(10420)로 이동하여 그를 선택하게끔 한다. 도 81의 펑크션(8151 및 8162)은 필터 문자 선택항목 창(10422)이 디스플레이되게끔 한다. 원하는 문자가 "p"이기 때문에, 사용자는 "7"번 키를 눌러 그것을 선택함으로써 그 문자가 필터 문자열의 비모호 문자로 되게끔 하고, 필터에서의 그러한 변화의 결과로서 새로운 교정 창(10424)이 디스플레이되게끔 한다.
다음으로, 사용자는 문자 다운 버튼을 4번 눌러 필터 커서의 선택이 도 81의 펑크션(8150)의 동작에 의해 제1 선택항목에서 4 문자만큼 우측으로 이동되게끔 하는데, 본 예에서는 그에 해당하는 문자가 문자 "f"(10426)이다. 그 문자는 모호 필터 표시자(10428)에 의해 표시된 바와 같은 필터 문자열의 모호 부분에 해당하는 제1 선택항목의 일부이기 때문에, 도 81의 라인(8152)에 있는 필터 문자 선택항목을 불러내어 도시된 바와 같이 다른 문자 선택항목 창이 디스플레이되게끔 한다.
본 예에서는 원하는 문자인 문자 "s가 선택항목 리스트 중의 "5"번 키에 딸려 있고, 사용자는 그 키를 눌러 도면 부호 "10432"에 의해 표시된 바와 같이 정확한 문자(10430)가 현재 필터 문자열 내에 삽입되게끔 하고, 비모호한 것으로 확인되기 전에 있는 모든 문자가 그처럼 되게끔 한다.
본 시점에서는 정확한 선택항목이 "6"번 키에 딸려 있고, 사용자는 그 폰 키를 눌러 도면 부호 "10434"에 나타내진 바와 같이 원하는 단어가 편집 텍스트 창 내에 삽입되게끔 한다.
다음으로, 본 예에서는 사용자가 라인 다운 및 단어 라이트 키를 눌러 도면 부호 "10436"에 나타내진 텍스트 "period"를 선택하기 위해 커서 선택을 한 라인 아래로, 그리고 우측으로 이동시킨다. 이어서, 사용자는 "8"번 키 또는 단어형 리스트 키를 눌러 단어형 리스트 교정 창(10438)이 디스플레이되게끔 한다. 원하는 출력인 "period" 표시는 "4"번 폰 키에 딸려 있다. 사용자는 그 키를 눌러 도면 부호 "10440"에 나타내진 바와 같이 원하는 단어가 편집 창의 텍스트 내에 삽입되게끔 한다.
도 105는 사용자가 도 81과 연관하여 전술된 펑크션(8132 및 8135)의 동작에 의해 어떻게 선택항목 리스트를 수평으로 스크롤할 수 있는지를 나타낸 것이다.
도 106은 "Key Alpha" 모드가 알파벳 입력을 편집 텍스트 창 내에 들여보내는데 어떻게 사용될 수 있는지를 나타낸 것이다. 스크린(10600)은 그 안에 커서(10602)가 보이는 편집 텍스트 창을 나타낸다. 본 예에서는 사용자가 "1"번 키를 눌러 도 79 및 도 68과 연관하여 전술된 엔트리 모드 메뉴를 열어서 스크린(10604)이 나타나게끔 한다. 그러한 모드에 있으면, 사용자는 "3"번 키를 더블 클릭하여 도 79의 펑크션(7938)과 연관하여 전술된 "Key Alpha" 인식 모드를 선택한다. 그에 의해, 시스템이 도 86과 연관하여 전술된 "Key Alpha" 모드로 설정되고, 편집 창이 도 106에 도시된 프롬프트(prompt)를 디스플레이하게 된다.
본 예에서는 사용자가 도면 부호 "10608"에 표시된 바와 같이 폰 키를 길게 눌러 프롬프트 창(10610)이 눌려진 폰 키 상의 각각의 문자에 딸린 ICA 단어를 디스플레이하게끔 한다. 그에 응하여, 사용자는 "charley"라는 발성(10612)을 낸다. 그에 의해, 해당 문자 "c가 커서의 이전 위치에서 텍스트 창 내에 들어가게 되어 텍스트 창이 스크린(10614)에 나타내진 모습을 갖게 된다.
다음으로, 본 예에서는 사용자가 토크 키를 누르면서 도면 부호 "10616"에 표시된 바와 같이 2개의 ICA 단어 "alpha" 및"bravo"를 연속적으로 발성하는 것으로 가정하기로 한다. 그에 의해, 그 2개의 ICA 단어에 딸린 문자 "a 및 "b"가 스크린(10618)에 의해 표시된 바와 같이 커서에서 텍스트 창 내에 들어가게 된다. 다음으로, 본 예에서는 사용자가 "8"번 키를 눌러 그 키에 딸린 3개의 ICA 단어 중의 하나를 말하도록 프롬프트하고, 그에 따라 "uniform"이란 단어를 발성하여 도면 부호 "10620"에 나타내진 바와 같이 문자 "u"가 편집 텍스트 창 내에 삽입되게끔 한다.
도 107은 알파벳 필터링 입력을 들여보내는데 사용되는 동일한 "key Alpha" 인식 모드를 나타낸 것이다. 그 도면은 교정 창에 있을 때에 도 106에 나타내진 바와 같이 텍스트 편집기로부터 될 수 있는 것과 마찬가지로 "1"키를 누르고 뒤따라 "3"키를 더블 클릭함으로써 "Key Alpha" 모드에 들어갈 수 있음을 나타내고 있다.
도 106 및 도 109는 셀룰러폰 실시예에서 사용자가 전술된 보이스(voice) 인식 텍스트 편집기를 사용하여 어떻게 텍스트 및 이-메일의 주소를 지정하고 그것에 들어가서 그것을 교정하는지를 나타낸 것이다.
도 108에서는 스크린(10800)이 사용자가 도 66에 도시된 바와 같은 메인 메뉴에 있을 때에 "4"키를 더블 클릭함으로써 이-메일 옵션을 선택한 경우에 그가 액세스한 이-메일 옵션 스크린을 나타내고 있다.
도시된 예에서는 사용자가 새로운 이-메일 메시지를 작성하기를 원하여 "1"번 옵션을 선택한 것으로 가정하기로 한다. 그에 의해, 새로운 이-메일 메시지 창(10802)이 그 창에 있는 제1 편집 가능한 위치에 커서가 위치된 채로 디스플레이 되게 된다. 그것은 이-메일 메시지 중에서 메시지의 주소와 연관된 부분에 있는 첫 번째 문자이다. 본 예에서는 사용자가 토크 버튼을 길게 누르면서 도면 부호 "10804"에 의해 표시된 바와 같이 이름 "Dan Roth"를 발성한다.
본 예에서는 그로 인해 도면 부호 "10806"에 나타내진 바와 같이 약간 틀린 이름 "Stan Roth"가 메시지의 주소 라인에 삽입되었다고 하기로 한다. 그에 응하여, 사용자는 "2"번 키를 눌러 선택을 위한 선택항목 리스트(10806)를 선택한다. 본 예에서는 원하는 이름이 선택항목 리스트 상에 나타내지고, 사용자는 "5"번 키를 눌러 그것을 선택하여 도면 부호 "10808"에 나타내진 바와 같이 원하는 이름이 주소 라인에 삽입되게끔 한다.
다음으로, 사용자는 다운 라인 버튼을 두 번 눌러 커서를 아래쪽으로 제목 라인의 시작 부분으로 이동시킨다. 이어서, 사용자는 토크 버튼을 누르면서 "cell phone speech interface"(10812)라는 발성을 말한다. 본 예에서는 그것이 "sell phone speech interface"로서 약간 잘못 인식되고, 그 텍스트가 제목 라인 상의 커서 위치에 삽입되어 이-메일 편집 창이 도면 부호 "10814"에 나타내진 모습을 갖게 된다고 하기로 한다. 그에 응하여, 사용자는 라인 업 버튼 및 단어 레프트 버튼을 눌러 커서 선택을 도면 부호 "10816"의 위치에 위치시킨다. 이어서, 사용자는 "8"번 키를 눌러 단어형 리스트 교정창(10818)이 디스플레이되게끔 한다. 본 예에서는 원하는 출력이 "4"번 키에 딸려 있고, 사용자는 그 키를 선택하여 원하는 출력이 스크린(10820)에 표시된 바와 같은 커서 위치에 놓이게끔 한다.
다음으로, 사용자는 라인 다운 버튼을 두 번 눌러 스크린(10822)에 나타내진 바와 같이 커서를 이-메일 메시지의 본문의 시작 부분에 놓는다. 그것이 이뤄지면, 사용자는 토크 버튼을 누르면서 "the new Elvis interface is working really well"이란 발성을 연속적으로 말한다. 그로 인해, 스크린(10824)에 의해 표시된 바와 같이 다소 잘못 인식된 "he knew elfish interface is working really well"이란 문자열이 커서 위치에 삽입된다고 하기로 한다.
그에 응하여, 사용자는 라인 업 키를 한 번, 그리고 단어 레프트 키를 두 번 눌러 커서를 도 109의 스크린(10900)에 의해 나타내진 위치에 놓는다. 이어서, 사용자는 "5"번 키를 눌러 확장 선택을 시작하고, 단어 레프트 키를 두 번 눌러 커서를 도면 부호 "10902"의 위치에 놓고서 도면 부호 "10904"에 의해 나타내진 바와 같이 선택이 확장되게끔 한다. 본 시점에서는 사용자가 "2"번 키를 더블 클릭하여 현재 선택에 대한 교정 창(10906)에 들어가고, 그 키를 누르는 동안 문자 "t, h, e, 스페이스, n"을 연속적으로 말한다. 그에 의해, 연속적으로 들어간 문자 이름 문자 시퀀스에 해당하는 비모호 필터(10910)와 함께 새로운 교정 창(10908)이 디스플레이되게 된다.
다음으로, 사용자는 단어 라이트 키를 눌러 도면 부호 "10912"에 의해 표시된 바와 같이 필터 커서를 우측으로 다음 단어의 첫 번째 문자로 이동시킨다. 이어서, 사용자는 "1"번 키를 눌러 엔트리 모드 메뉴에 들어가고, "3"번 키를 눌러 "AlphaBravo", 또는 ICA 단어, 입력 어휘를 선택한다. "3"번 키를 계속 누르는 동안, 사용자는 "echo, lima, victor, india, sierra"라는 발성(10914)을 연속적으로 말한다. 그것은 검출 시퀀스 "ELVIS"로서 인식되고, 다시 그것은 선행 필터 커서 위치로부터 시작하여 교정 창의 제1 선택항목 창(10916) 내에 삽입되게 된다. 본 예에서는 "AlphaBravo" 인식이 그 신뢰성으로 인해 비모호인 것로서 다뤄짐으로써, 스크린(10916)에 나타내진 비모호 확인 표시(10918)에 의해 표시된 바와 같이 들어간 문자 및 제1 선택항목 창에 있기 전의 모든 문자를 비모호로 확인된 것으로 다루게끔 하는 것으로 가정하기로 한다.
본 예에서는 사용자가 "OK" 키를 눌러 그것이 원하는 출력이기 때문에 현재 제1 선택항목을 선택한다.
도 110은 재발성이 원하는 인식 출력을 얻는 것을 돕는데 어떻게 사용되는지를 나타낸 것이다. 그것은 도 109의 스크린(10906)에 의해 표시된 것과 동일한 상태에 있는 교정 창으로 시작된다. 그러나, 도 110의 예에서는 사용자가 "1"번 키를 두 번 눌러 엔트리 메뉴 모드에 들어가고, 다시 1초 동안 눌러 대어휘 인식을 선택한다. 도 79의 펑크션(7908 내지 7914)에 의해 표시된 바와 같이, 교정 창이 디스플레이되었을 때에 엔트리 메뉴 모드에서 대어휘 인식이 선택되면, 시스템은 그것을 사용자가 재발성을 실행하고자 하는, 즉 원하는 출력에 대한 새로운 발성을 원하는 출력을 선택하는 것을 돕는데 사용하기 위한 발성 리스트 내에 부가시키고자 하는 표시로서 해석한다. 본 예에서는 사용자가 "1"번 키의 두 번째 누름을 계속하면서 불연속 음성을 사용하여 원하는 출력에 해당하는 3개의 단어 "the", "new", "Elvis"를 말한다. 상기 예에서는 그러한 새로운 발성 리스트 엔트리에 의해 제공되는 부가의 불연속 발성 정보가 시스템으로 하여금 3개의 단어 중의 처음 2개를 정확하게 인식하게끔 하는 것으로 가정하기로 한다. 본 예에서는 3개의 단어 중의 세 번째 것이 현재 어휘에 있지 않아서 사용자가 그 세 번째 단어를 도 109의 발성(10914)에 의해 이뤄졌던 것과 같은 필터링 입력으로 스펠링하는 것이 필요한 것으로 가정하기로 한다.
도 111은 셀룰러폰의 소프트웨어 중의 일부인 웹 브라우저 상에서 원하는 웹 페이지에 액세스하기 위해 편집 기능이 URL 텍스트 문자열에 들어가는데 어떻게 사용될 수 있는지를 나타낸 것이다.
브라우저 옵션 스크린(11100)은 사용자가 도 66에 도시된 바와 같은 메인 메뉴에서 "7"번 키에 딸린 웹 브라우저 옵션을 선택하면 디스플레이되는 스크린을 나타낸다. 본 예에서는 사용자가 원하는 웹 사이트의 URL에 들어가서 "1"번 키를 누름으로써 그 키에 딸린 URL 창 옵션을 선택하고자 하는 것으로 가정하기로 한다. 그에 의해, 스크린(11102)은 사용자에게 표시를 하는 요약 프롬프트를 디스플레이한다. 그에 응하여, 사용자는 토크 버튼을 계속 누르는 동안 연속 문자 이름 스펠링을 사용하여 원하는 웹 사이트의 이름을 스펠링한다. 도시된 예에서는 URL 편집기가 항상 교정 모드로 있어 발성(11103)의 인식에 의해 교정 창(11104)이 디스플레이되게끔 한다. 이어서, 사용자는 전술된 타입의 필터 문자열 편집 기법을 사용하여 스크린(11106)에 표시된 바와 같이 처음에 잘못 인식된 URL을 원하는 스펠링로 교정하는데, 그때에 사용자는 제1 선택항목을 선택하여 시스템으로 하여금 원하는 웹 사이트에 액세스하게끔 한다.
도 112 내지 도 114는 편집 인터페이스가 어떻게 텍스트를 내비게이션하여 그 텍스트를 웹 페이지의 필드 내에 들여보내는지를 나타낸 것이다.
스크린(11200)은 셀룰러폰의 웹 브라우저가 새로운 웹 사이트에 최초로 액세스할 때에 그 웹 브라우저의 모습을 나타내고 있다. 웹 페이지의 상단 이전에 URL 필드(11201)가 나타내져 사용자가 현재 웹 페이지를 식별하는데 도움을 준다. 사용자가 디스플레이된 현재 웹 페이지의 URL을 알고 싶을 때에는 언제라도 도로 그 위치로 스크롤할 수 있다. 웹 페이지에 최초로 들어갔을 때에는 그 웹 페이지가 레프트 키 및 라이트 키를 이동시킴으로써 대부분의 웹 브라우저 상의 페이지 백 및 페이지 포단어 컨트롤과 같이 동작하는 문서/페이지 내비게이션 모드에 있게 된다. 그 경우,"페이지"라는 단어는 다른 내비게이션 모드에서 셀룰러폰 디스플레이 상의 매체로 채워진 스크린을 지칭하는데 사용되기 때문에, "문서"라는 단어가 "페이지"를 대체하게 된다. 사용자가 업 키 또는 다운 키를 누르면, 웹 페이지의 디스플레이는 풀 스크린 페이지(또는 스크린)에 의해 스크롤되게 된다.
도 116은 도시된 셀룰러폰 실시예가 도 115와 연관하여 전술된 타입의 대화 박스를 편집할 때에 어떻게 특수한 형태의 교정 창이 리스트 박스로서 사용될 수 있게끔 하는지를 나타낸 것이다.
도 116의 예는 도 115의 스크린(11504)에 나타내진 상태에 있는 대화 박스를 찾는 것으로부터 시작된다. 그 상태로부터, 사용자는 다운 라인 키를 두 번 눌러 커서를 "In:" 리스트 박스에 놓는데, 그 리스트 박스는 대화 박스를 찾는 것에 응하여 실행되는 검색이 셀룰러폰의 데이터 중의 어느 부분에서 일어나는지를 규정짓는다. 사용자가 커서를 그 창에 위치시킨 채로 토크 버튼을 누르면, 리스트 박스 교정 창(11512)이 디스플레이되어 리스트 박스 내의 현재 선택을 현재 제1 선택항목으로서 나타내고, 다른 리스트 박스 선택항목의 스크롤 가능한 리스트를 제공하는데, 그러한 다른 각각의 선택항목은 그에 딸린 폰 키 번호와 함께 나타내진다. 사용자는 그 리스트를 통해 스크롤하여 폰 키 번호에 의해 또는 하이라이트된 선택을 사용하여 원하는 선택항목을 선택할 수 있다. 본 예에서는 사용자가 토크 키를 계속 누르면서 발성(11514)으로써 원하는 리스트 박스 값을 말한다. 리스트 박스 교정 창에서는 유효한 어휘가 리스트 값에 한정된다. 그러한 한정된 어휘에 있어서는 원하는 리스트 값이 제1 선택항목인 예에서 표시된 바와 같이 인식이 상당히 정확할만하다. 그에 응하여, 사용자는 OK 키를 눌러 도면 부호 "11518"에 표시된 바와 같이 원하는 리스트 값이 대화 박스의 리스트 박스에 놓이게끔 한다.
도 117은 전화를 걸 때에 셀룰러폰 인터페이스가 사용자에게 실행을 허용하는 펑크션 중의 몇 가지를 디스플레이한, 사용자와 셀룰러 폰 인터페이스 사이의 일련의 상호 동작을 나타낸 것이다.
도 117에 나타내진 스크린(6400)은 도 64와 연관하여 전술된 것과 동일한 최상위 레벨의 폰 모드 스크린이다. 그 스크린이 디스플레이되었을 때에 사용자가 이름 다이얼 명령이 되도록 맵핑된 마지막 내비게이션 버튼을 선택하면, 시스템은 이름 다이얼 모드에 들어가게 되는데, 그 모드의 기본 펑크션은 도 119의 의사 코드에 나타내진 것들이다. 그 도면으로부터 알 수 있는 바와 같이, 그 모드는 사용자로 하여금 연락 리스트에 이름을 부가함으로써 그 연락 리스트로부터 이름을 선택할 수 있게끔 하고, 잘못된 인식이 있으면 전술된 것과 유사한 교정 창의 잠재적 스크롤 가능한 선택항목으로부터 선택항목을 선택함으로써 알파벳 필터링에 의해 그것을 교정할 수 있게끔 한다.
셀룰러폰이 이름 다이얼 모드에 들어갔을 때에는 도 117에 표시된 바와 같이 초기 프롬프트 스크린(11700)이 나타내진다. 본 예에서는 사용자가 토크 기를 누르는 동안 이름(11702)을 발성한다. 이름 다이얼에서는 그러한 발성이 자동으로 그 이름 어휘에 한정된 어휘로써 인식되고, 결과적으로 생긴 인식에 의해 교정 창(11704)이 디스플레이되게 된다. 본 예에서는 제1 선택항목이 정확하여 사용자가 "OK" 키를 선택함으로써 폰이 사용자의 연락 리스트에 있는 거명된 당사자에 딸린 전화 번호로 통화를 개시하게끔 한다.
전화 통화가 접속되면, 도 75와 연관하여 전술된 것과 동일한 발신 통화 표시자(7414)를 갖는 스크린(11706)이 디스플레이된다. 발신 통화 동안, 그 스크린의 하단에는 도면 부호 "11708"에 의해 표시된 바와 같이 각각의 내비게이션에 딸린 펑크션에 대한 표시가 주어진다. 본 예에서는 사용자가 도 64와 연관하여 전술된 것과 동일한 노트 펑크션이 딸린 다운 버튼을 선택한다. 그에 응하여, 노트 개요에 대한 편집 창(11710)이 디스플레이되어 현재 통화에 대한 노트 개요에 자동으로 생성된 표제 항목(11712)이 생성되고, 그 통화가 이뤄진 상대방 및 그 시작 시간과 최종적인 종료 시간을 그 노트 개요에 표식하게 된다.
본 예에서는 스크린(11716)에 표시된 바와 같이 발성에 해당하는 인식된 텍스트가 커서에서 노트 개요에 삽입되어야 하기 때문에 사용자가 토크 버튼을 누르는 동안 연속적인 발성(11714)을 말하게 된다. 이어서, 사용자는 "6"번 키를 더블 클릭하여 녹음을 시작하고, 그에 의해 커서의 현재 위치에서 소리의 오디오 그래프 표현이 편집 창으로 노트에 넣어지게 된다. 도면 부호 "11718"에 표시된 바와 같이, 오디오 그래프에서 셀룰러폰 사용자가 전화 통화에서 말한 부분으로부터의 오디오에 밑줄이 그어져 사용자가 그 통화에서 얼마나 오랫동안 이야기했는지를 좀더 용이하게 기억하게끔 해주고, 원한다면 그 전화 통화의 당사자들 중의 일방 또는 상대방이 말한 녹음된 오디오의 부분을 더 잘 검색할 수 있게끔 해준다.
다음으로, 도 117의 예에서는 사용자가 별표 키를 더블 클릭하여 태스크 리스트를 선택한다. 그에 의해, 셀룰러폰에서 현재 열려있는 태스크를 리스트한 스크린(11720)이 나타난다. 본 예에서는 사용자가 "4"번 폰 키에 딸린 태스크를 선택하는데, 그것은 노트 개요에 있는 다른 위치를 디스플레이하는 다른 노트 편빕 창이다. 그에 응하여, 폰 키 디스플레이는 개괄된 노트의 그 부분의 스크린(11722)을 나타낸다.
본 예에서는 사용자가 업 키를 세 번 눌러 커서를 도면 부호 "11724"의 위치로 이동시키고 나서 "6"번 키를 눌러 스크린(11726)과 스크린(11728)의 커서 사이의 이동에 의해 표시된 바와 같이 커서에서의 오디오 그래프 표현과 연관된 사운드를 플레이하기 시작한다.
도 75와 연관하여 전술된 나만의 플레이 옵션(play only to me option)(7513)이 켜져 있지 않으면, 스크린(11728)에서의 오디오 재생은 현재 전화 통화의 양방에 플레이되어 셀룰러폰의 사용자가 셀룰러폰 통화 동안 상대방과 오디오 녹음을 공유할 수 있게끔 한다.
도 118은 편집 창이 도 117의 하단 중앙 부근에서 스크린(11717)에 나타내진 것과 같은 오디오를 녹음할 때에 사용자가 그러한 오디오의 녹음 동안 음성 인식을 켜서 그 부분 동안 녹음된 오디오에 대해서도 역시 음성 인식이 실행되게끔 할 수 있음을 나타낸 것이다. 도시된 본 예에서는 스크린(11717)에 나타내진 녹음 동안 사용자가 토크 버튼을 눌러 발성(11800)을 말한다. 그에 의해, 그 발성에 딸린 텍스트가 편집 창(11806)에 삽입되게 된다. 음성 인식의 지속 시간 후에 녹음된 오디오는 단지 오디오 그래프로만 녹음된다. 통상적으로, 그것은 전술된 발성(11800)과 같은 인식시키려는 발성 동안 사용자가 비모호로 말하려고 애쓰는 방법으로 사용될 것이고, 단지 오디오로만 녹음되는 대화 또는 구술의 부분 동안에는 좀더 일상적으로 말해도 좋을 것이다. 통상적으로, 오디오는 음성 인식과 연계하여 녹음되어 사용자가 녹음 동안 부정확하게 인식된 구술(11802)과 같은 구술로 되돌아가 그것을 듣고 교정할 수 있게끔 한다.
도 119는 시스템이 사용자로 하여금 어떻게 확장 선택 키와 플레이 또는 내비게이션의 조합에 의해 그 도면에 도시된 부분(11900)과 같은 오디오의 부분을 선택하고 나서 선택된 텍스트가 도면 부호 "11902"에 표시된 바와 같이 인식되도록 도 90의 펑크션(9000 내지 9014)과 연관하여 전술된 바와 같은 인식된 오디오 대화 박스를 선택할 수 있게끔 하는지를 나타낸 것이다. 도 119의 예에서는 사용자가 도 90에 나타내진 인식된 오디오 표시 옵션(9026)을 선택했고, 그에 의해 그 인식된 텍스트(11902)에 밑줄이 그어져 그것이 그와 연관된 플레이 가능한 오디오를 가짐을 나타내게 된다.
도 120은 사용자가 어떻게 인식된 텍스트 중에서 녹음된 연관 오디오를 갖는 부분(12000)을 선택하고 나서 편집 옵션 메뉴 하의 서브메뉴에서 도 90에 도시된 옵션(9024)을 선택함으로써 그 인식된 연관 오디오로부터 그 텍스트를 떼어 내지도록 선택할 수 있는지를 나타낸 것이다. 그것은 단지 오디오(12002)와 그에 대응하는 오디오 그래프 표현만이 인식된 텍스트가 이전에 있던 미디어의 부분에 잔존하도록 남겨두는 것이다.
도 121은 편집 옵션 메뉴의 오디오 메뉴 아래로부터 있는 도 90의 펑크션(9020)이 사용자로 하여금 어떻게 도 121의 도면 부호 "12102"에 표시된 바와 같이 텍스트로부터 인식된 텍스트의 부분(12100)과 연관되었던 인식 오디오를 떼어낼 수 있게끔 하는지를 나타낸 것이다.
도 122 내지 도 125는 도 126의 의사 코드에 기재된 숫자 다이얼 모드의 동작을 나타낸 것이다. 사용자가 도 65의 펑크션(6552)에 나타내진 바와 같은 메인 메뉴에 있을 때에 "2"번 폰 키를 누르거나 시스템이 도 64의 스크린(6400)에 나타내진 최상위 레벨 폰 모드에 있을 때에 레프트 내비게이션 버튼을 선택하는 것 등에 의해 숫자 다이얼 모드를 선택하면, 시스템은 도 126에 나타내진 숫자 다이얼 모드에 들어가서 사용자에게 전화 번호를 말할 것을 프롬프트하는 프롬프트 스크린(12202)를 디스플레이하게 된다. 사용자가 도면 부호 "12204"에 표시된 바와 같이 전화 번호의 발성을 말했을 때에 그 발성이 인식되게 된다. 시스템이 전화 번호의 인식이 정확하다고 매우 확신하면, 시스템은 자동으로 도면 부호 "12206"에 표시된 바와 같이 그 인식된 전화 번호로 전화를 건다. 시스템이 전화 번호의 인식에 대해 그러한 확신이 없으면, 시스템은 교정 창(12208)을 디스플레이하게 된다. 교정 창이 도면 부호 "12210"에 표시된 바와 같이 원하는 번호를 제1 선택항목으로서 가지면, 사용자는 단지 OK 키를 누름으로써 그것을 선택할 수 있고, 그에 의해 도면 부호 "12212"에 표시된 바와 같이 시스템이 그 번호로 전화를 걸게 된다. 도면 부호 "12214"에 표시된 바와 같이 정확한 선택항목이 제1 선택항목 리스트 상에 있으면, 사용자는 도면 부호 "12216"에 표시된 바와 같이 시스템이 그 번호에 전화를 걸기 때문에 단지 그 선택항목에 딸린 폰 키 번호만을 누를 수 있다.
도 123의 상단에 나타내진 스크린(12300)에 표시된 바와 같이 정확한 번호가 제1 선택항목에도 없고 제1 선택항목 리스트에도 없으면, 사용자는 원하는 번호가 도면 부호 "12302"에 의해 표시된 바와 같이 페이지 다운 키를 반복해서 누름든지 도면 부호 "12304"에 표시된 바와 같이 항목 다운 키를 반복해서 누름으로써 제2 선택 항복 리스트의 스크린 중의 하나 상에 원하는 번호가 있는지를 찾아내기 위한 체크를 할 수 있다. 사용자가 그러한 방법 중의 하나로 선택항목 리스트를 통해 스크롤함으로써 원하는 번호를 찾아내면, 사용자는 그에 딸린 폰 키를 누르든지 선택항목 하이라이트를 그로 이동시키고 나서 OK 키를 누름으로써 그것을 선택할 수 있다. 그에 의해, 시스템이 스크린(12308)에 표시된 바와 같이 그 번호로 전화를 걸게 된다. 선택항목 리스트에 있는 전화 번호가 숫자 순으로 정리되어 있기 때문에, 사용자는 그 리스트를 통해 스크롤함으로써 신속하게 원하는 번호를 찾을 수 있음을 알아야 할 것이다. 그들 도면에 도시된 실시예에서는 숫자 변동 표시자(12310)가 마련되어 어떠한 선택항목이 리스트 상에서 그에 선행 선택항목과 상이한 가장 뚜렷한 숫자의 숫자열을 표시하게 된다. 그것은 눈으로 원하는 전화 번호를 훑어보는 것을 좀더 용이하게 해준다.
도 124는 숫자 다이얼 모드가 사용자로 하여금 어떻게 제1 선택항목에 있는 숫자 위치로 내비게이션하여 그 안에 존재하는 임의의 오류를 교정할 수 있게끔 하는지를 나타낸 것이다. 도 124에서는 그것이 원하는 숫자를 말함으로써 이뤄지지만, 사용자는 적절한 폰 키를 누름으로써 원하는 번호를 교정할 수도 있다.
도 125에 도시된 바와 같이, 사용자는 잘못 인식된 전화 번호를 상실된 숫자를 삽입함으로써는 물론 잘못 인식된 것을 대체함으로써 편집할 수도 있다.
전술된 본 발명은 도 3 내지 도 8에 도시된 것을 비롯한 여러 다른 타입의 컴퓨팅 플랫폼에서 음성 인식은 물론 기타 유형의 인식에 들어가 그것을 교정하는데 사용될 수 있는 다수의 특징을 갖는다. 도 94와 연관하여 설명된 본 발명의 많은 특징은 사용자가 해당 태스크에 면밀한 시각적 주의를 기울임이 없이 텍스트에 들어가서/들어가거나 그것을 편집하고자 하는 상황에 사용될 수 있다. 예컨대, 그것은 사용자로 하여금 공원을 거닐면서 이-메일을 듣고서 그의 셀룰러폰 또는 다른 구술 장치를 면밀하게 볼 필요가 없이 답신을 구술할 수 있게끔 한다. 그러한 오디오 피드백이 음성 인식 및 폰 다이얼링과 폰 콘트롤와 같은 다른 제어 펑크션에 유용한 한가지 특정의 환경은 도 126에 도시된 것과 같은 자동차 분야에서이다.
도 126에 도시된 실시예에서는 자동차가 셀룰러 무선 통신 시스템(12602)에 접속된 컴퓨터(12600)를 자동차 오디오 시스템(12604) 내에 내장하고 있다. 다수의 실시예에서는 자동차의 전자 시스템이 "Blue Tooth"와 같은 단파 범위의 무선 송수신기 또는 기타의 단파 범위 송수신기(12606)를 구비한다. 그것은 무선 헤드폰(12608) 또는 사용자의 셀룰러폰(12610)과 통신할 수 있어 사용자가 그가 차량을 사용하면서 그의 통상의 셀룰러폰에 저장된 정보에 액세스하는 장점을 누릴 수 있다.
셀룰러폰/무선 송수신기(12602)는 셀룰러폰 통화를 송신 및 수신하는데 사용될 수 있을 뿐만 아니라, 이-메일, 전술된 기능으로 청취하고 편집할 수 있는 것과 같은 디지털 파일, 및 오디오 웹 페이지를 송신 및 수신하는데도 사용될 수 있는 것이 바람직하다.
도시된 셀룰러폰 실시예와 연관하여 전술된 다수의 펑크션을 제어하기 위한 입력 장치에는 자동차의 스티어링 휠 상의 위치와 같은 위치에 배치되는 것이 바람직한 폰 키패드(12212)에 의해 액세스할 수 있고, 그것은 사용자로 하여금 운전 기능으로부터 그의 주의를 과도하게 흩뜨림이 없이 그 키패드에 액세스할 수 있게끔 한다. 실제로, 도 126에 도시된 것과 유사한 위치를 갖는 키패드에 의해, 사용자는 한 손의 집게 손가락 스티어링 휠의 림 둘레에 대고서 같은 손의 엄지로 키패드 버튼을 선택할 수 있다. 그러한 실시예에서는 시스템이 도 94의 펑크션(9404 내지 9414)과 연관하여 전술된 TTS 키 펑크션을 가져서 사용자로 하여금 키패드를 볼 필요가 없이 그가 어떤 키를 누르고 있는지와 그 키의 펑크션을 판단할 수 있게끔 하는 것이 바람직하다. 다른 실시예에서는 단지 그러한 정보를 갖는 그 폰 키를 만지 는 것만으로도 응답하여 사용하기 한층 더 쉽고 더욱 신속한 터치 감지 키패드가 마련될 수도 있다.
도 127 및 도 128은 셀룰러폰 실시예와 연관하여 전술된 대부분의 성능이 도 127에 도시된 무선 전화 또는 도 128에 표시된 지상 통신선 파운드와 같은 다른 타입의 전화에도 사용될 수 있음을 나타낸 것이다.
전술된 설명 및 첨부 도면은 단지 본 발명을 설명하고 예시하기 위해 주어진 것으로, 본 발명은 첨부된 청구의 범위의 해석이 그처럼 한정되지 않은 한에는 그에 한정되는 것이 아님을 알아야 할 것이다. 본 명세서에 직면한 당업자라면 본 발명의 범위를 벗어남이 없이 본 발명에 변경 및 수정을 가할 수 있을 것이다.
폭넓게 청구된 본 출원의 발명은 어떠한 하나의 타입의 운영 시스템, 컴퓨터 하드웨어, 또는 컴퓨터 망과의 사용에 한정되지 않고, 그에 따라 본 발명의 다른 실시예는 상이한 소프트웨어와 하드웨어 시스템을 사용할 수도 있다.
또한, 거의 모든 프로그램 거동과 같은 아래의 청구의 범위에 기재된 프로그램 거동은 상당히 상이한 편제 및 시퀀싱을 사용하는 다수의 상이한 프로그래밍 및 데이터 구조에 의해 실행될 수 있음을 알아야 할 것이다. 그것은 프로그래밍이란 일단 당업자가 이해하게 되면 주어진 어떠한 복잡한 사상이라도 거의 무제한의 수의 방도로 명료화될 수 있는 극히 가변적인 기술이기 때문이다. 따라서, 청구의 범위는 첨부 도면에 기재된 바로 그 펑크션 및/또는 펑크션의 시퀀스에 한정되는 것으로 의도된 것이 아니다. 특히, 그것은 본문 중에 전술된 의사 코드가 극히 단순화되어 당업자에게 불필요한 세부 사항으로 부담을 줌이 없이 당업자가 본 발명의 실시를 아는데 필요로 하는 것에 보다 더 효율적으로 소통하게끔 하기 때문에 그러하다. 그러한 단순화를 위해, 전술된 의사 코드의 구조는 숙련도니 프로그래머가 본 발명을 실시할 때에 사용하는 실제의 코드의 구조와는 종종 상당히 다르게 된다. 아울러, 명세서에서 소프트웨어로 실행되는 것으로 나타내진 프로그램화된 다수의 거동은 다른 실시예에서는 하드웨어로 실행될 수도 있다.
전술된 본 발명의 다수의 실시예에서는 본 발명의 다양한 양태가 본 발명의 그러한 양태의 다른 실시예에서 별도로 일어날 수 있는 사안과 함께 예시되어 있다.
본 발명은 방법, 장치 시스템, 및 기계 판독 가능한 형태로 기록된 프로그래밍으로 확장되고, 그 때문에 본 출원에 기재된 본 발명의 모든 특징 및 양태는 그것의 명세서, 그것의 도면, 및 그것의 최초 청구의 범위를 포함하여 출원되어 있다.

Claims (248)

  1. 대어휘(large vocabulary) 음성 인식을 수행하는 방법에 있어서,
    각각 둘 이상의 문자들을 표시하는 복수의 키(key)들 중 어느 것이 사용자에 의해 선택되었는지를 각각 나타내는 하나 이상의 키-누름(key-press) 신호들의 필터링 시퀀스를 수신하는 단계;
    상기 필터링 시퀀스에서 일정한 키 누름 신호에 관련하여 만들어지는 키-명확화(key-disambiguating) 발성(utterance)의 음향 표시를 수신하는 단계;
    상기 일정한 키 누름 신호에 의해 표시되는 문자들을 식별하는 문자 식별 단어들의 인식을 돕는(favor) 상기 키-명확화 발성의 음향 표시에 대한 음성 인식을 수행하는 단계;
    상기 필터링 시퀀스에서 상기 일정한 키 누름 신호에 의해 표시되는 문자들의 세트가 상기 인식된 문자 식별 단어에 의해 식별되는 문자에 한정되도록 함으로써, 상기 일정한 키 누름 신호에 관련되는 키-명확화 발성의 인식에 대하여 문자 식별 단어로서 응답하는 단계;
    하나 이상의 단어들을 표시하는 단어 발성의 음향 표시를 수신하는 단계;
    단어들의 상기 음향 표시 및 음향 모델들 간의 매칭 기능으로서 단어 후보들을 평가(score)하는 상기 단어 발성의 음향 표시에 대하여 음성 인식을 수행하는 단계;
    상기 키 누름 신호에 관련된 누른 키에 의해 표시되는 각 문자로 시작하는 하나 이상의 문자 식별 단어들의 세트를 사용자가 인지 가능한 형태로 디스플레이함으로써 키 누름 신호에 대하여 응답하는 단계;
    상기 누른 키에 관련된 문자 식별 단어들의 디스플레이 이후에 만들어진 발성이 상기 디스플레이된 단어들 중 어느 하나에 대응한다는 것에 대한 인식을 돕는 단계(favoring); 및
    상기 필터링 시퀀스에서 상기 키 누름 신호에 의해 표시되는 문자들의 세트가 인식되는 디스플레이된 단어에 관련되는 문자에 한정되도록 함으로써, 상기 디스플레이된 단어들 중 어느 하나의 인식에 대해 응답하는 단계
    를 포함하고,
    상기 단어 후보들의 평가는 상기 키-누름 신호들의 필터링 시퀀스에 대응하는 하나 이상의 알파벳 문자들의 시퀀스를 포함하는 단어 후보들을 도우며(favor),
    상기 문자 시퀀스의 순차적인 문자 각각이 이에 대응하는 순차적인 키-누름 신호에 의해 표시되는 문자들 중 어느 하나에 대응할 경우, 후보 단어는 상기 필터링 시퀀스에 대응하는 문자 시퀀스를 포함하는 것으로 간주되는 것인, 음성 인식 수행 방법.
  2. 대어휘(large vocabulary) 음성 인식을 수행하는 방법에 있어서,
    각각 둘 이상의 문자들을 표시하는 복수의 키(key)들 중 어느 것이 사용자에 의해 선택되었는지를 각각 나타내는 하나 이상의 키-누름(key-press) 신호들의 필터링 시퀀스를 수신하는 단계;
    상기 필터링 시퀀스에서 일정한 키 누름 신호에 관련하여 만들어지는 키-명확화(key-disambiguating) 발성(utterance)의 음향 표시를 수신하는 단계;
    상기 일정한 키 누름 신호에 의해 표시되는 문자들을 식별하는 문자 식별 단어들의 인식을 돕는(favor) 상기 키-명확화 발성의 음향 표시에 대한 음성 인식을 수행하는 단계;
    상기 필터링 시퀀스에서 일정한 키 누름 신호에 의해 표시되는 문자들의 세트가 상기 인식된 문자 식별 단어에 의해 식별되는 문자에 한정되도록 함으로써, 상기 일정한 키 누름 신호에 관련되는 키-명확화 발성의 인식에 대하여 문자 식별 단어로서 응답하는 단계; 및
    하나 이상의 단어들을 표시하는 단어 발성의 음향 표시를 수신하는 단계;
    단어들의 상기 음향 표시 및 음향 모델들 간의 매칭 기능으로서 단어 후보들을 평가(score)하는 상기 단어 발성의 음향 표시에 대하여 음성 인식을 수행하는 단계
    를 포함하고,
    상기 단어 후보들의 평가는 상기 키-누름 신호들의 필터링 시퀀스에 대응하는 하나 이상의 알파벳 문자들의 시퀀스를 포함하는 단어 후보들을 도우며(favor),
    상기 문자 시퀀스의 순차적인 문자 각각이 이에 대응하는 순차적인 키-누름 신호에 의해 표시되는 문자들 중 어느 하나에 대응할 경우, 후보 단어는 상기 필터링 시퀀스에 대응하는 문자 시퀀스를 포함하는 것으로 간주되는 것이고,
    상기 필터링 시퀀스의 키 누름 신호 각각은 상기 시퀀스에서 이전의 키 누름 신호 이후에 시작하여 상기 시퀀스에서 후속하는 키 누름 신호에 의해 또는 그 이전에 종료하는 상기 키 누름 신호와 관련된 시간 주기를 갖는 것이고,
    키-명확화 발성이 상기 키 누름에 관련된 발성 지속 기간 동안에 수신되는 경우, 수신된 키-명확화 발성은 일정한 키 누름 신호에 관련되는 것인, 음성 인식 수행 방법.
  3. 제2항에 있어서,
    상기 음성 인식 수행 방법은 전화기 상에서 실행되는 소프트웨어에 의해 수행되는 것이고,
    상기 키들은 전화기 키패드의 키들인 것인, 음성 인식 수행 방법.
  4. 제3항에 있어서,
    상기 전화기는 셀 전화기인 것인, 음성 인식 수행 방법.
  5. 음석 인식을 수행하는 컴퓨터화된(computerized) 방법에 있어서,
    각각 둘 이상의 문자들을 표시하는 복수의 키(key)들 중 어느 것이 사용자에 의해 선택되었는지를 각각 나타내는 하나 이상의 키-누름(key-press) 신호들의 필터링 시퀀스를 수신하는 단계;
    상기 필터링 시퀀스에서 일정한 키 누름 신호에 관련하여 만들어지는 키-명확화(key-disambiguating) 발성(utterance)의 음향 표시를 수신하는 단계;
    상기 일정한 키 누름 신호에 의해 표시되는 문자들을 식별하는 문자 식별 단어들의 인식을 돕는(favor) 상기 키-명확화 발성의 음향 표시에 대한 음성 인식을 수행하는 단계;
    상기 필터링 시퀀스에서 일정한 키 누름 신호에 의해 표시되는 문자들의 세트가 상기 인식된 문자 식별 단어에 의해 식별되는 문자에 한정되도록 함으로써, 상기 일정한 키 누름 신호에 관련되는 키-명확화 발성의 인식에 대하여 문자 식별 단어로서 응답하는 단계;
    하나 이상의 단어들을 표시하는 단어 발성의 음향 표시를 수신하는 단계;
    단어들의 상기 음향 표시 및 음향 모델들 간의 매칭 기능으로서 단어 후보들을 평가(score)하는 상기 단어 발성의 음향 표시에 대하여 음성 인식을 수행하는 단계;
    상기 음성 인식에 의해 생성된 복수의 단어 후보들을 선택 리스트에서 사용자가 인지 가능한 형태로 출력하는 단계; 및
    출력 단어 후보들 중 어느 하나를 상기 인식을 위한 하나 이상의 인식된 단어로 선택함으로써 상기 출력 단어 후보들 중 어느 하나에 대한 사용자의 선택에 대해 응답하는 단계
    를 포함하고,
    상기 단어 후보들의 평가는 상기 키-누름 신호들의 필터링 시퀀스에 대응하는 하나 이상의 알파벳 문자들의 시퀀스를 포함하는 단어 후보들을 도우며(favor),
    상기 문자 시퀀스의 순차적인 문자 각각이 이에 대응하는 순차적인 키-누름 신호에 의해 표시되는 문자들 중 어느 하나에 대응할 경우, 후보 단어는 상기 필터링 시퀀스에 대응하는 문자 시퀀스를 포함하는 것으로 간주되는 것이고,
    상기 필터링 시퀀스의 키 누름 신호 각각은 상기 시퀀스에서 이전의 키 누름 신호 이후에 시작하여 상기 시퀀스에서 후속하는 키 누름 신호에 의해 또는 그 이전에 종료하는 상기 키 누름 신호와 관련된 시간 주기를 갖는 것이고,
    키-명확화 발성이 상기 키 누름에 관련된 발성 지속 기간 동안에 수신되는 경우, 수신된 키-명확화 발성은 일정한 키 누름 신호에 관련되는 것인, 컴퓨터화된 방법.
  6. 제5항에 있어서,
    상기 컴퓨터화된 방법은 전화기 상에서 실행되는 소프트웨어에 의해 수행되는 것이고, 상기 키들은 전화기 키패드의 키들인 것인, 컴퓨터화된 방법.
  7. 제6항에 있어서, 상기 전화기는 셀 전화기인 것인, 컴퓨터화된 방법.
  8. 음성 인식을 수행하는 컴퓨터화된 방법에 있어서,
    각각 둘 이상의 문자들을 표시하는 복수의 키(key)들 중 어느 것이 사용자에 의해 선택되었는지를 각각 나타내는 하나 이상의 키-누름(key-press) 신호들의 필터링 시퀀스를 수신하는 단계;
    상기 필터링 시퀀스에서 일정한 키 누름 신호에 관련하여 만들어지는 키-명확화(key-disambiguating) 발성(utterance)의 음향 표시를 수신하는 단계;
    상기 일정한 키 누름 신호에 의해 표시되는 문자들을 식별하는 문자 식별 단어들의 인식을 돕는(favor) 상기 키-명확화 발성의 음향 표시에 대한 음성 인식을 수행하는 단계;
    상기 필터링 시퀀스에서 일정한 키 누름 신호에 의해 표시되는 문자들의 세트가 상기 인식된 문자 식별 단어에 의해 식별되는 문자에 한정되도록 함으로써, 상기 일정한 키 누름 신호에 관련되는 키-명확화 발성의 인식에 대하여 문자 식별 단어로서 응답하는 단계; 및
    하나 이상의 단어들을 표시하는 단어 발성의 음향 표시를 수신하는 단계;
    단어들의 상기 음향 표시 및 음향 모델들 간의 매칭 기능으로서 단어 후보들을 평가(score)하는 상기 단어 발성의 음향 표시에 대하여 음성 인식을 수행하는 단계
    를 포함하고,
    상기 단어 후보들의 평가는 상기 키-누름 신호들의 필터링 시퀀스에 대응하는 하나 이상의 알파벳 문자들의 시퀀스를 포함하는 단어 후보들을 도우며(favor),
    상기 문자 시퀀스의 순차적인 문자 각각이 이에 대응하는 순차적인 키-누름 신호에 의해 표시되는 문자들 중 어느 하나에 대응할 경우, 후보 단어는 상기 필터링 시퀀스에 대응하는 문자 시퀀스를 포함하는 것으로 간주되는 것이고,
    상기 필터링 시퀀스의 키 누름 신호 각각은 상기 시퀀스에서 이전의 키 누름 신호 이후에 시작하여 상기 시퀀스에서 후속하는 키 누름 신호에 의해 또는 그 이전에 종료하는 상기 키 누름 신호와 관련되는 시간 주기를 갖는 것이고,
    키-명확화 발성이 상기 키 누름에 관련된 발성 지속 기간 동안에 수신되는 경우, 수신된 키-명확화 발성은 일정한 키 누름 신호에 관련되는 것이고,
    상기 필터링 시퀀스에 대응하는 문자들의 시퀀스를 포함하는 후보들을 돕는 음성 인식의 수행은 상기 필터링 시퀀스에서 연속적인 키-누름 신호들의 수신에 응답하여 일정한 음향 단어 발성 표시에 대해 반복적으로 수행되는 것인, 컴퓨터화된 방법.
  9. 제8항에 있어서,
    상기 컴퓨터화된 방법은 전화기 상에서 실행되는 소프트웨어에 의해 수행되는 것이고,
    상기 키들은 전화기 키패드의 키들인 것인, 컴퓨터화된 방법.
  10. 제9항에 있어서, 상기 전화기는 셀 전화기인 것인, 컴퓨터화된 방법.
  11. 음성 인식을 수행하는 컴퓨터화된 방법에 있어서,
    하나 이상의 단어들을 표시하는 단어 발성의 음향 표시를 수신하는 단계;
    단어들의 상기 음향 표시 및 음향 모델들 간의 매칭 기능으로서 단어 후보들을 평가(score)하는 상기 단어 발성의 음향 표시에 대하여 음성 인식을 수행하는 단계;
    상기 단어 발성 표시에 가장 대응하는 것으로 상기 음성 인식에 의해 선택된 상기 단어 후보 중 하나 이상의 단어들을 나타내는 사용자가 인지 가능한 출력을 제공하는 단계;
    상기 발성 표시에 대한 인식을 필터링하기 위해 필터링 시퀀스에 들어감으로써 사용자가 상기 출력에 응답하도록 선택하게 하는 사용자 인터페이스를 제공하는 단계로서, 상기 필터링 시퀀스는 복수의 키들 중 어느 것이 사용자에 의해 선택되었는지를 각각 나타내는 하나 이상의 키-누름 신호들을 포함하고, 상기 키-누름 신호들 각각은 둘 이상의 문자들을 표시하는 것인, 상기 사용자 인터페이스 제공 단계;
    각각 둘 이상의 문자들을 표시하는 복수의 키(key)들 중 어느 것이 사용자에 의해 선택되었는지를 각각 나타내는 하나 이상의 키-누름(key-press) 신호들의 필터링 시퀀스를 수신하는 단계;
    상기 필터링 시퀀스에서 일정한 키 누름 신호에 관련하여 만들어지는 키-명확화(key-disambiguating) 발성(utterance)의 음향 표시를 수신하는 단계;
    상기 일정한 키 누름 신호에 의해 표시되는 문자들을 식별하는 문자 식별 단어들의 인식을 돕는(favor) 상기 키-명확화 발성의 음향 표시에 대한 음성 인식을 수행하는 단계;
    상기 필터링 시퀀스에서 일정한 키 누름 신호에 의해 표시되는 문자들의 세트가 상기 인식된 문자 식별 단어에 의해 식별되는 문자에 한정되도록 함으로써, 상기 일정한 키 누름 신호에 관련되는 키-명확화 발성의 인식에 대하여 문자 식별 단어로서 응답하는 단계;
    단어들의 상기 음향 표시 및 음향 모델들 간의 매칭 기능으로서 단어 후보들을 평가(score)하는 상기 단어 발성의 음향 표시에 대하여 음성 인식을 재수행하는 단계; 및
    상기 단어 발성에 가장 대응하는 것으로서 상기 음성 인식을 재수행하는 단계에 의해 선택된 상기 단어 후보 중 하나 이상의 단어들을 나타내는 사용자가 인지 가능한 출력을 제공하는 단계
    를 포함하고,
    상기 단어 후보들의 평가는 상기 키-누름 신호들의 필터링 시퀀스에 대응하는 하나 이상의 알파벳 문자들의 시퀀스를 포함하는 단어 후보들을 도우며(favor),
    상기 문자 시퀀스의 순차적인 문자 각각이 이에 대응하는 순차적인 키-누름 신호에 의해 표시되는 문자들 중 어느 하나에 대응할 경우, 후보 단어는 상기 필터링 시퀀스에 대응하는 문자 시퀀스를 포함하는 것으로 간주되는 것이고,
    상기 필터링 시퀀스의 키 누름 신호 각각은 상기 시퀀스에서 이전의 키 누름 신호 이후에 시작하여 상기 시퀀스에서 후속하는 키 누름 신호에 의해 또는 그 이전에 종료하는 상기 키 누름 신호와 관련되는 시간 주기를 갖는 것이고,
    키-명확화 발성이 상기 키 누름에 관련된 발성 지속 기간 동안에 수신되는 경우, 수신된 키-명확화 발성은 일정한 키 누름 신호에 관련되는 것인, 컴퓨터화된 방법.
  12. 제11항에 있어서,
    상기 컴퓨터화된 방법은 전화기 상에서 실행되는 소프트웨어에 의해 수행되는 것이고,
    상기 키들은 전화기 키패드의 키들인 것인, 컴퓨터화된 방법.
  13. 제12항에 있어서,
    상기 전화기는 셀 전화기인 것인, 컴퓨터화된 방법.
  14. 컴퓨터 시스템에 하나 이상의 알파벳 문자들의 시퀀스를 입력하는 컴퓨터화된 방법에 있어서, 상기 시퀀스의 각 문자는,
    복수의 키들 중 어느 것이 사용자에 의해 선택되었는지를 나타내는 일정한 키-누름 신호를 수신하는 단계로서,
    - 상기 일정한 키 누름 신호는 상기 일정한 키 누름 신호에 관련되는 둘 이상의 단어들 중 어느 하나가 선택되었다는 것을 나타낸다는 점에서 두 가지 이상의 의미를 갖는 것이고,
    - 상기 키 누름 신호는 입력 시퀀스에서 이전의 키 누름 신호 이후에 시작하여 상기 입력 시퀀스에서 후속하는 키 누름 신호에 의해 또는 그 이전에 종료하는 상기 키 누름 신호에 관련된 시간 주기를 갖는 것인,
    상기 키-누름 신호 수신 단계;
    상기 일정한 키 누름 신호에 관련되는 시간 주기 동안에 발성에 관한 음향 표시의 수신에 대하여 응답하는 단계로서,
    - 상기 발성을 상기 키 누름 신호와 연관시키는 단계; 및
    - 상기 발성에 가장 대응하는 단어를 선택하기 위해 상기 음향 표시에 대하여 음성 인식을 수행하는 단계로서, 상기 인식은 상기 일정한 키 누름 신호에 관련되는 문자들 중 하나를 식별하는 문자 식별 단어에 대한 인식을 돕는 것인(favoring), 상기 음성 인식 수행 단계
    에 의해 수행되는 것인, 상기 응답하는 단계; 및
    상기 가장 대응하는 단어에 의해 식별된 문자를 상기 연관된 키 누름 신호에 관련하여 상기 사용자에 의해 입력된 문자로 간주함으로써, 문자 식별 단어의 선택에 대해 가장 대응하는 단어로서 응답하는 단계
    를 수행하는 것을 포함하는, 컴퓨터화된 방법.
  15. 제14항에 있어서,
    일정한 키 누름 신호는 선택된 키를 누름으로써 생성되는 것이고,
    상기 키를 누르는 것은 상기 음성 인식을 턴 온(turn on)하는 것인, 컴퓨터화된 방법.
  16. 제14항에 있어서,
    상기 누른 키에 의해 표시되는 각 문자를 식별하기 위해 문자 식별 단어들의 세트를 사용자가 인지 가능한 형태로 디스플레이함으로써 키 누름 신호에 대하여 응답하는 단계;
    상기 누른 키에 관련된 문자 식별 단어들의 디스플레이 이후에 만들어진 발성이 상기 디스플레이된 단어들 중 어느 하나에 대응한다는 것에 대한 인식을 돕는 단계(favoring)
    를 더 포함하는, 컴퓨터화된 방법.
  17. 제16항에 있어서,
    상기 컴퓨터화된 방법은 디스플레이를 구비한 전화기 상에서 수행되는 것이고,
    문자 식별 단어들의 서브 세트를 출력하는 단계는 상기 단어들을 상기 전화기의 디스플레이 상에 디스플레이함으로써 수행되는 것이고,
    상기 키 누름 신호들을 생성하는 데에 이용되는 상기 키들은 전화기 키들인 것인, 컴퓨터화된 방법.
  18. 제14항에 있어서,
    상기 컴퓨터화된 방법은 대어휘 음성 인식 시스템에 관련하여 이용되는 것이고,
    상기 대어휘 음성 인식 시스템의 어휘에서 일정한 문자로 시작하는 단어들의 대다수는 상기 일정한 문자에 대한 문자 식별 단어들로서 기능하는 것인, 컴퓨터화된 방법.
  19. 제14항에 있어서,
    일정한 문자로 시작하는 2 내지 5개의 문자 식별 단어들만이 상기 일정한 문자에 대한 문자 식별 단어들로서 기능하는 것이고,
    일정한 키 누름 신호에 관련된 발성의 인식은 상기 발성에 관련된 키 누름 신호에 의해 표시되는 둘 이상의 문자들을 식별하는 문자 식별 단어들 중 어느 하나에 대한 인식을 돕는 것인, 컴퓨터화된 방법.
  20. 제14항에 있어서,
    상기 누른 키에 의해 표시되는 각 문자로 시작하는 하나 이상의 단어들을 포함하는 문자 식별 단어들의 세트를 사용자가 인지 가능한 형태로 디스플레이함으로써 키 누름 신호에 대하여 응답하는 단계;
    상기 누른 키에 관련된 문자 식별 단어들의 디스플레이 이후에 만들어진 발성이 상기 디스플레이된 단어들 중 어느 하나에 대응한다는 것에 대한 인식을 돕는 단계(favoring)
    를 더 포함하는, 컴퓨터화된 방법.
  21. 제20항에 있어서,
    상기 컴퓨터화된 방법은 디스플레이를 구비한 전화기 상에서 수행되는 것이고,
    문자 식별 단어들의 서브 세트를 출력하는 단계는 상기 단어들을 상기 전화기의 디스플레이 상에 디스플레이함으로써 수행되는 것인, 컴퓨터화된 방법.
  22. 사용자가 선택가능한 키들을 이용하여 알파벳 입력을 수행하는 컴퓨터화된 방법에 있어서,
    하나 이상의 키-누름(key-press) 신호들의 시퀀스를 수신하는 단계로서, 상기 키-누름 신호들 각각은 복수의 문자들을 표시하는 복수의 키(key)들 중 어느 것이 상기 시퀀스에서의 키-누름 신호의 위치에 관하여 사용자에 의해 선택되었는지를 나타내는 것인, 상기 수신 단계;
    일정한 키-누름의 키에 의해 표시되는 상기 복수의 문자들 각각에 대한 개별적인 문자 식별 단어를 사용자가 인지 가능한 형태로 디스플레이함으로써 상기 일정한 키-누름 신호에 대하여 응답하는 단계;
    상기 일정한 키-누름 신호에 관련하여 만들어지는 키-명확화(key-disambiguating) 발성(utterance)의 음향 표시를 수신하는 단계;
    상기 키-명확화 발성의 음향 표시에 대한 음성 인식을 수행하는 단계로서, 상기 인식은 상기 일정한 키-누름 신호에 관련하여 디스플레이되는 상기 문자 식별 단어들 중 하나에 대한 인식을 돕는(favor) 것인, 상기 음성 인식 수행 단계;
    상기 일정한 키-누름 신호에 관련하여 출력되는 문자가 인식되는 문자 식별 단어에 관련될 것이라는 가능성을 증가시킴으로써, 상기 일정한 키 누름 신호에 관련된 키-명확화 발성의 인식에 대하여 일정한 문자 식별 단어로서 응답하는 단계; 및
    키-누름 신호들의 시퀀스에 대응하는 하나 이상의 알파벳 문자들의 시퀀스를 출력하는 단계로서, 상기 시퀀스에서의 각 문자는 상기 키-누름 신호들의 시퀀스에서 대응하는 키-누름 신호에 의해 표시되는 문자들의 세트 중 어느 하나에 대응하고, 상기 키-명확화 발성의 인식에 의해 야기되는 매칭 평가 결과의 변화에 의해 영향을 받는 것인, 상기 출력 단계
    를 포함하는 컴퓨터화된 방법.
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
  52. 삭제
  53. 삭제
  54. 삭제
  55. 삭제
  56. 삭제
  57. 삭제
  58. 삭제
  59. 삭제
  60. 삭제
  61. 삭제
  62. 삭제
  63. 삭제
  64. 삭제
  65. 삭제
  66. 삭제
  67. 삭제
  68. 삭제
  69. 삭제
  70. 삭제
  71. 삭제
  72. 삭제
  73. 삭제
  74. 삭제
  75. 삭제
  76. 삭제
  77. 삭제
  78. 삭제
  79. 삭제
  80. 삭제
  81. 삭제
  82. 삭제
  83. 삭제
  84. 삭제
  85. 삭제
  86. 삭제
  87. 삭제
  88. 삭제
  89. 삭제
  90. 삭제
  91. 삭제
  92. 삭제
  93. 삭제
  94. 삭제
  95. 삭제
  96. 삭제
  97. 삭제
  98. 삭제
  99. 삭제
  100. 삭제
  101. 삭제
  102. 삭제
  103. 삭제
  104. 삭제
  105. 삭제
  106. 삭제
  107. 삭제
  108. 삭제
  109. 삭제
  110. 삭제
  111. 삭제
  112. 삭제
  113. 삭제
  114. 삭제
  115. 삭제
  116. 삭제
  117. 삭제
  118. 삭제
  119. 삭제
  120. 삭제
  121. 삭제
  122. 삭제
  123. 삭제
  124. 삭제
  125. 삭제
  126. 삭제
  127. 삭제
  128. 삭제
  129. 삭제
  130. 삭제
  131. 삭제
  132. 삭제
  133. 삭제
  134. 삭제
  135. 삭제
  136. 삭제
  137. 삭제
  138. 삭제
  139. 삭제
  140. 삭제
  141. 삭제
  142. 삭제
  143. 삭제
  144. 삭제
  145. 삭제
  146. 삭제
  147. 삭제
  148. 삭제
  149. 삭제
  150. 삭제
  151. 삭제
  152. 삭제
  153. 삭제
  154. 삭제
  155. 삭제
  156. 삭제
  157. 삭제
  158. 삭제
  159. 삭제
  160. 삭제
  161. 삭제
  162. 삭제
  163. 삭제
  164. 삭제
  165. 삭제
  166. 삭제
  167. 삭제
  168. 삭제
  169. 삭제
  170. 삭제
  171. 삭제
  172. 삭제
  173. 삭제
  174. 삭제
  175. 삭제
  176. 삭제
  177. 삭제
  178. 삭제
  179. 삭제
  180. 삭제
  181. 삭제
  182. 삭제
  183. 삭제
  184. 삭제
  185. 삭제
  186. 삭제
  187. 삭제
  188. 삭제
  189. 삭제
  190. 삭제
  191. 삭제
  192. 삭제
  193. 삭제
  194. 삭제
  195. 삭제
  196. 삭제
  197. 삭제
  198. 삭제
  199. 삭제
  200. 삭제
  201. 삭제
  202. 삭제
  203. 삭제
  204. 삭제
  205. 삭제
  206. 삭제
  207. 삭제
  208. 삭제
  209. 삭제
  210. 삭제
  211. 삭제
  212. 삭제
  213. 삭제
  214. 삭제
  215. 삭제
  216. 삭제
  217. 삭제
  218. 삭제
  219. 삭제
  220. 삭제
  221. 삭제
  222. 삭제
  223. 삭제
  224. 삭제
  225. 삭제
  226. 삭제
  227. 삭제
  228. 삭제
  229. 삭제
  230. 삭제
  231. 삭제
  232. 삭제
  233. 삭제
  234. 삭제
  235. 삭제
  236. 삭제
  237. 삭제
  238. 삭제
  239. 삭제
  240. 삭제
  241. 삭제
  242. 삭제
  243. 삭제
  244. 삭제
  245. 삭제
  246. 삭제
  247. 삭제
  248. 삭제
KR1020057003948A 2002-09-06 2002-09-06 음성인식을 위한 방법, 시스템 및 프로그램 Expired - Fee Related KR100996212B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2002/028590 WO2004023455A2 (en) 2002-09-06 2002-09-06 Methods, systems, and programming for performing speech recognition

Publications (2)

Publication Number Publication Date
KR20060037228A KR20060037228A (ko) 2006-05-03
KR100996212B1 true KR100996212B1 (ko) 2010-11-24

Family

ID=34271640

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057003948A Expired - Fee Related KR100996212B1 (ko) 2002-09-06 2002-09-06 음성인식을 위한 방법, 시스템 및 프로그램

Country Status (5)

Country Link
EP (1) EP1604350A4 (ko)
JP (1) JP2006515073A (ko)
KR (1) KR100996212B1 (ko)
CN (1) CN1864204A (ko)
AU (1) AU2002336458A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022030805A1 (ko) * 2020-08-03 2022-02-10 한양대학교 산학협력단 데이터 라벨을 자동 교정하는 음성 인식 시스템 및 방법

Families Citing this family (148)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7720682B2 (en) * 1998-12-04 2010-05-18 Tegic Communications, Inc. Method and apparatus utilizing voice input to resolve ambiguous manually entered text input
US8645137B2 (en) 2000-03-16 2014-02-04 Apple Inc. Fast, language-independent method for user authentication by voice
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US7697827B2 (en) 2005-10-17 2010-04-13 Konicek Jeffrey C User-friendlier interfaces for a camera
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
JP4672686B2 (ja) * 2007-02-16 2011-04-20 株式会社デンソー 音声認識装置及びナビゲーション装置
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8457946B2 (en) * 2007-04-26 2013-06-04 Microsoft Corporation Recognition architecture for generating Asian characters
JP4862740B2 (ja) * 2007-05-14 2012-01-25 ソニー株式会社 撮像装置、情報表示装置、および表示データ制御方法、並びにコンピュータ・プログラム
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US10496753B2 (en) 2010-01-18 2019-12-03 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
KR100998566B1 (ko) 2008-08-11 2010-12-07 엘지전자 주식회사 음성인식을 이용한 언어 번역 방법 및 장치
WO2010067118A1 (en) 2008-12-11 2010-06-17 Novauris Technologies Limited Speech recognition involving a mobile device
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US10255566B2 (en) 2011-06-03 2019-04-09 Apple Inc. Generating and processing task items that represent tasks to perform
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US9431006B2 (en) 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
US8494852B2 (en) * 2010-01-05 2013-07-23 Google Inc. Word-level correction of speech input
US10553209B2 (en) 2010-01-18 2020-02-04 Apple Inc. Systems and methods for hands-free notification summaries
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US10679605B2 (en) 2010-01-18 2020-06-09 Apple Inc. Hands-free list-reading by intelligent automated assistant
US10705794B2 (en) 2010-01-18 2020-07-07 Apple Inc. Automatically adapting user interfaces for hands-free interaction
DE202011111062U1 (de) 2010-01-25 2019-02-19 Newvaluexchange Ltd. Vorrichtung und System für eine Digitalkonversationsmanagementplattform
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
KR101687614B1 (ko) * 2010-08-04 2016-12-19 엘지전자 주식회사 음성 인식 방법 및 그에 따른 영상 표시 장치
US20120110456A1 (en) * 2010-11-01 2012-05-03 Microsoft Corporation Integrated voice command modal user interface
US10762293B2 (en) 2010-12-22 2020-09-01 Apple Inc. Using parts-of-speech tagging and named entity recognition for spelling correction
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
KR101218332B1 (ko) * 2011-05-23 2013-01-21 휴텍 주식회사 하이브리드 방식의 음성인식을 통한 문자 입력 방법 및 장치, 그리고 이를 위한 하이브리드 방식 음성인식을 통한 문자입력 프로그램을 기록한 컴퓨터로 판독가능한 기록매체
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US8994660B2 (en) 2011-08-29 2015-03-31 Apple Inc. Text correction processing
US8762156B2 (en) * 2011-09-28 2014-06-24 Apple Inc. Speech recognition repair using contextual information
US9256396B2 (en) * 2011-10-10 2016-02-09 Microsoft Technology Licensing, Llc Speech recognition for context switching
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US9483461B2 (en) 2012-03-06 2016-11-01 Apple Inc. Handling speech synthesis of content for multiple languages
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
US9576574B2 (en) 2012-09-10 2017-02-21 Apple Inc. Context-sensitive handling of interruptions by intelligent digital assistant
US9547647B2 (en) 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
KR101330671B1 (ko) 2012-09-28 2013-11-15 삼성전자주식회사 전자장치, 서버 및 그 제어방법
KR102009423B1 (ko) 2012-10-08 2019-08-09 삼성전자주식회사 음성 인식을 이용한 미리 설정된 동작 모드의 수행 방법 및 장치
US8994681B2 (en) * 2012-10-19 2015-03-31 Google Inc. Decoding imprecise gestures for gesture-keyboards
CN103823547B (zh) * 2012-11-16 2017-05-17 中国电信股份有限公司 移动终端及其光标控制方法
US20150348555A1 (en) * 2013-01-08 2015-12-03 Clarion Co., Ltd. Voice Recognition Device, Voice Recognition Program, and Voice Recognition Method
DE212014000045U1 (de) 2013-02-07 2015-09-24 Apple Inc. Sprach-Trigger für einen digitalen Assistenten
US9368114B2 (en) 2013-03-14 2016-06-14 Apple Inc. Context-sensitive handling of interruptions
AU2014233517B2 (en) 2013-03-15 2017-05-25 Apple Inc. Training an at least partial voice command system
WO2014144579A1 (en) 2013-03-15 2014-09-18 Apple Inc. System and method for updating an adaptive speech recognition model
WO2014197336A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
HK1222726A1 (zh) * 2013-06-07 2017-07-07 Apple Inc. 智能自動化助理
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
US9582608B2 (en) 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
EP3008641A1 (en) 2013-06-09 2016-04-20 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
HK1220313A1 (zh) 2013-06-13 2017-04-28 苹果公司 用於由语音命令发起的紧急呼叫的系统和方法
DE112014003653B4 (de) 2013-08-06 2024-04-18 Apple Inc. Automatisch aktivierende intelligente Antworten auf der Grundlage von Aktivitäten von entfernt angeordneten Vorrichtungen
EP2933067B1 (en) * 2014-04-17 2019-09-18 Softbank Robotics Europe Method of performing multi-modal dialogue between a humanoid robot and user, computer program product and humanoid robot for implementing said method
US9620105B2 (en) 2014-05-15 2017-04-11 Apple Inc. Analyzing audio input for efficient speech and music recognition
US10592095B2 (en) 2014-05-23 2020-03-17 Apple Inc. Instantaneous speaking of content on touch devices
US9502031B2 (en) 2014-05-27 2016-11-22 Apple Inc. Method for supporting dynamic grammars in WFST-based ASR
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US9734193B2 (en) 2014-05-30 2017-08-15 Apple Inc. Determining domain salience ranking from ambiguous words in natural speech
US10289433B2 (en) 2014-05-30 2019-05-14 Apple Inc. Domain specific language for encoding assistant dialog
US9842101B2 (en) 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
CN110797019B (zh) 2014-05-30 2023-08-29 苹果公司 多命令单一话语输入方法
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US9760559B2 (en) 2014-05-30 2017-09-12 Apple Inc. Predictive text input
US9785630B2 (en) 2014-05-30 2017-10-10 Apple Inc. Text prediction using combined word N-gram and unigram language models
US10078631B2 (en) 2014-05-30 2018-09-18 Apple Inc. Entropy-guided text prediction using combined word and character n-gram language models
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US10659851B2 (en) 2014-06-30 2020-05-19 Apple Inc. Real-time digital assistant knowledge updates
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10446141B2 (en) 2014-08-28 2019-10-15 Apple Inc. Automatic speech recognition based on user feedback
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10789041B2 (en) 2014-09-12 2020-09-29 Apple Inc. Dynamic thresholds for always listening speech trigger
CN104267922B (zh) * 2014-09-16 2019-05-31 联想(北京)有限公司 一种信息处理方法及电子设备
US9606986B2 (en) 2014-09-29 2017-03-28 Apple Inc. Integrated word N-gram and class M-gram language models
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US9886432B2 (en) 2014-09-30 2018-02-06 Apple Inc. Parsimonious handling of word inflection via categorical stem + suffix N-gram language models
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US9646609B2 (en) 2014-09-30 2017-05-09 Apple Inc. Caching apparatus for serving phonetic pronunciations
US10552013B2 (en) 2014-12-02 2020-02-04 Apple Inc. Data detection
US9711141B2 (en) 2014-12-09 2017-07-18 Apple Inc. Disambiguating heteronyms in speech synthesis
US9865280B2 (en) 2015-03-06 2018-01-09 Apple Inc. Structured dictation using intelligent automated assistants
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9899019B2 (en) 2015-03-18 2018-02-20 Apple Inc. Systems and methods for structured stem and suffix language models
US9842105B2 (en) 2015-04-16 2017-12-12 Apple Inc. Parsimonious continuous-space phrase representations for natural language processing
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10127220B2 (en) 2015-06-04 2018-11-13 Apple Inc. Language identification from short strings
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US10101822B2 (en) 2015-06-05 2018-10-16 Apple Inc. Language input correction
US10255907B2 (en) 2015-06-07 2019-04-09 Apple Inc. Automatic accent detection using acoustic models
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US10186254B2 (en) 2015-06-07 2019-01-22 Apple Inc. Context-based endpoint detection
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US9787819B2 (en) * 2015-09-18 2017-10-10 Microsoft Technology Licensing, Llc Transcription of spoken communications
US9697820B2 (en) 2015-09-24 2017-07-04 Apple Inc. Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
DK179309B1 (en) 2016-06-09 2018-04-23 Apple Inc Intelligent automated assistant in a home environment
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179049B1 (en) 2016-06-11 2017-09-18 Apple Inc Data driven natural language event detection and classification
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK179343B1 (en) 2016-06-11 2018-05-14 Apple Inc Intelligent task discovery
CN106126156B (zh) * 2016-06-13 2019-04-05 北京云知声信息技术有限公司 基于医院信息系统的语音输入方法及装置
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
TWI610294B (zh) * 2016-12-13 2018-01-01 財團法人工業技術研究院 語音辨識系統及其方法、詞彙建立方法與電腦程式產品
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
DK201770439A1 (en) 2017-05-11 2018-12-13 Apple Inc. Offline personal assistant
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK201770432A1 (en) 2017-05-15 2018-12-21 Apple Inc. Hierarchical belief states for digital assistants
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
DK179560B1 (en) 2017-05-16 2019-02-18 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
GB2564668B (en) * 2017-07-18 2022-04-13 Vision Semantics Ltd Target re-identification
CN108899016B (zh) * 2018-08-02 2020-09-11 科大讯飞股份有限公司 一种语音文本规整方法、装置、设备及可读存储介质
JP2020042074A (ja) * 2018-09-06 2020-03-19 トヨタ自動車株式会社 音声対話装置、音声対話方法および音声対話プログラム
JP7159756B2 (ja) * 2018-09-27 2022-10-25 富士通株式会社 音声再生区間の制御方法、音声再生区間の制御プログラムおよび情報処理装置
CN110211576B (zh) * 2019-04-28 2021-07-30 北京蓦然认知科技有限公司 一种语音识别的方法、装置和系统
CN110808035B (zh) * 2019-11-06 2021-11-26 百度在线网络技术(北京)有限公司 用于训练混合语言识别模型的方法和装置
US11455148B2 (en) 2020-07-13 2022-09-27 International Business Machines Corporation Software programming assistant
CN112259100B (zh) * 2020-09-15 2024-04-09 科大讯飞华南人工智能研究院(广州)有限公司 语音识别方法及相关模型的训练方法和相关设备、装置
CN115376506A (zh) * 2021-05-21 2022-11-22 佛山市顺德区美的电子科技有限公司 声纹注册方法、服务器、家电终端设备及可读存储介质
CN114454164B (zh) * 2022-01-14 2024-01-09 纳恩博(北京)科技有限公司 机器人的控制方法和装置
US11880645B2 (en) 2022-06-15 2024-01-23 T-Mobile Usa, Inc. Generating encoded text based on spoken utterances using machine learning systems and methods

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19635754A1 (de) * 1996-09-03 1998-03-05 Siemens Ag Sprachverarbeitungssystem und Verfahren zur Sprachverarbeitung
US6122613A (en) * 1997-01-30 2000-09-19 Dragon Systems, Inc. Speech recognition using multiple recognizers (selectively) applied to the same input sample
US6526380B1 (en) * 1999-03-26 2003-02-25 Koninklijke Philips Electronics N.V. Speech recognition system having parallel large vocabulary recognition engines

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022030805A1 (ko) * 2020-08-03 2022-02-10 한양대학교 산학협력단 데이터 라벨을 자동 교정하는 음성 인식 시스템 및 방법

Also Published As

Publication number Publication date
KR20060037228A (ko) 2006-05-03
AU2002336458A1 (en) 2004-03-29
AU2002336458A8 (en) 2004-03-29
EP1604350A4 (en) 2007-11-21
JP2006515073A (ja) 2006-05-18
CN1864204A (zh) 2006-11-15
EP1604350A2 (en) 2005-12-14

Similar Documents

Publication Publication Date Title
KR100996212B1 (ko) 음성인식을 위한 방법, 시스템 및 프로그램
US7225130B2 (en) Methods, systems, and programming for performing speech recognition
US7809574B2 (en) Word recognition using choice lists
US7505911B2 (en) Combined speech recognition and sound recording
US7577569B2 (en) Combined speech recognition and text-to-speech generation
US7526431B2 (en) Speech recognition using ambiguous or phone key spelling and/or filtering
US7313526B2 (en) Speech recognition using selectable recognition modes
US7444286B2 (en) Speech recognition using re-utterance recognition
US7467089B2 (en) Combined speech and handwriting recognition
US7634403B2 (en) Word recognition using word transformation commands
US7716058B2 (en) Speech recognition using automatic recognition turn off
JP5166255B2 (ja) データ入力システム
JP4829901B2 (ja) マニュアルでエントリされた不確定なテキスト入力を音声入力を使用して確定する方法および装置
TWI266280B (en) Multimodal disambiguation of speech recognition
US6321196B1 (en) Phonetic spelling for speech recognition
US8150699B2 (en) Systems and methods of a structured grammar for a speech recognition command system
US8954329B2 (en) Methods and apparatus for acoustic disambiguation by insertion of disambiguating textual information
US20100031143A1 (en) Multimodal interface for input of text
WO1999063425A1 (fr) Procede et appareil de traitement d&#39;informations et support de fourniture d&#39;informations
JP2001184088A (ja) コンピュータ読取自在の記録媒体、及びバックグランド・オーディオ・リカバリー・システム
JP2002116796A (ja) 音声処理装置、音声処理方法及び記憶媒体
JP3476007B2 (ja) 認識単語登録方法、音声認識方法、音声認識装置、認識単語登録のためのソフトウエア・プロダクトを格納した記憶媒体、音声認識のためのソフトウエア・プロダクトを格納した記憶媒体
JP3762300B2 (ja) テキスト入力処理装置及び方法並びにプログラム
KR101312875B1 (ko) 데이터 입력 시스템
CN1965349A (zh) 多形式的非歧意性语音识别

Legal Events

Date Code Title Description
PA0105 International application

Patent event date: 20050307

Patent event code: PA01051R01D

Comment text: International Patent Application

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20070906

Comment text: Request for Examination of Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20090417

Patent event code: PE09021S01D

E90F Notification of reason for final refusal
PE0902 Notice of grounds for rejection

Comment text: Final Notice of Reason for Refusal

Patent event date: 20091228

Patent event code: PE09021S02D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20100823

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20101117

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20101118

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
FPAY Annual fee payment

Payment date: 20131017

Year of fee payment: 4

PR1001 Payment of annual fee

Payment date: 20131017

Start annual number: 4

End annual number: 4

FPAY Annual fee payment

Payment date: 20141023

Year of fee payment: 5

PR1001 Payment of annual fee

Payment date: 20141023

Start annual number: 5

End annual number: 5

FPAY Annual fee payment

Payment date: 20151016

Year of fee payment: 6

PR1001 Payment of annual fee

Payment date: 20151016

Start annual number: 6

End annual number: 6

FPAY Annual fee payment

Payment date: 20161110

Year of fee payment: 7

PR1001 Payment of annual fee

Payment date: 20161110

Start annual number: 7

End annual number: 7

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

Termination category: Default of registration fee

Termination date: 20180828