도 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에 도시된 바와 같이, 사용자는 잘못 인식된 전화 번호를 상실된 숫자를 삽입함으로써는 물론 잘못 인식된 것을 대체함으로써 편집할 수도 있다.