新四季網

Web啟用的識別體系結構的製作方法

2023-06-25 18:55:56 1

專利名稱:Web啟用的識別體系結構的製作方法
背景技術:
本發明涉及對在諸如Internet的廣域網上的信息的訪問。具體地說,本發明涉及WEB啟用的識別,該識別將允許使用各種方法輸入在客戶端上的信息和控制。
在人們的日常生活中越來越頻繁地使用諸如個人信息管理器(PIM)、設備以及可攜式電話的小型計算設備。伴隨著現在可以得到用於運行這些設備的微處理器的處理能力的增加,這些設備的功能也正在增加,並且在某些情況下正在集成在一起。例如,當前的很多可攜式電話能夠被用於訪問和瀏覽Internet以及能夠被用於存儲諸如地址、電話號等的個人信息。
鑑於這些計算設備一直被用於瀏覽Internet,或者被用於其他伺服器/客戶機結構,因此,必須輸入信息到所述計算設備中。遺憾的是為了讓這些設備容易攜帶而保持他們儘可能地小,所以,由於在所述計算設備的殼體上可以得到的表面區域有限,因此具有所有字母表字符作為孤立按鈕的傳統鍵盤通常是不可能的。
最近,諸如藉助於使用VoiceXML(聲音可擴展的標記語言)的聲音入口已經發展到允許僅僅使用電話對所述Internet的內容進行訪問。在這種結構中,文檔伺服器(例如,網絡伺服器)經過VoiceXML翻譯機對來自一個客戶機的請求進行處理。作為應答,所述網絡伺服器能夠產生由所述VoiceXML翻譯機處理、並且能夠可聽地發送給所述用戶的VoiceXML文檔。使用經過聲音識別的聲音命令,所述用戶能夠導航所述Web。
VoiceXML是一種具有流控標記的標記語言;但是,所述流控不能遵循包括事件和單獨腳本在內的HTML(超級文本標記語言)流控模型。相反,VoiceXML通常包括一種特別適用於僅僅基於電話的語音交互、和從所述用戶獲得的信息在所述系統或應用程式控制之下的場合的格式解釋算法。將voiceXML直接插入到其中也提供了圖形用戶接口的客戶機-伺服器關係中可以得到的應用程式中,將需要開發器精通兩種格式的Web創作,一種用於VoiceXML,另一種使用HTML(或與其類似的),每一種都遵循不同的流控模型。
由此,需要改善用於在諸如Internet的伺服器/客戶機結構中提供語音識別的結構或者部分結構和方法。用於語音識別的所述創作工具能夠很容易地適用於諸如PIM以及電話等的小型計算設備。特別需要致力於解決一個、多個或全部上述缺點的Web創作的結構或方法。
發明概述一種用於處理數據的伺服器/客戶機系統,包括具有一個網絡伺服器的網絡,該網絡伺服器的信息可被遠程訪問。一個客戶機設備包括話筒和諸如揚聲器或顯示器這樣的再現組件。該客戶機設備被配置為從網絡伺服器獲取信息並且記錄與在信息中包含的欄位相關的輸入數據。該客戶機設備適於把輸入數據和用於識別的語法的一個指示發送至遠程地點。識別伺服器接收該輸入數據和該語法指示。該識別伺服器將指示輸入了什麼的數據返回給客戶機和網絡伺服器中的至少一個。
附圖簡述

圖1的平面視圖示出了一個計算設備操作環境的第一實施例。
圖2的框圖示出了圖1的計算設備。
圖3是一個電話的平面視圖。
圖4的框圖示出了一個通用計算機。
圖5的框圖示出了一個用於客戶機/伺服器系統的結構。
圖6示出了一個用於獲得信用卡信息的顯示。
圖7示出了可在客戶機上執行的標記語言的一個頁。
圖8示出了可在具有顯示和語音識別能力的一個客戶機上執行的標記語言的一個範例頁。
圖9A和9B示出了可以在僅僅具有可聽播放和系統啟動的客戶機上執行的標記語言的範例頁。
圖10A和10B示出了可在僅僅具有可聽播放和混合啟動的客戶機上執行的標記語言的範例頁。
圖11示出了可由伺服器側插件模塊執行的腳本。
圖12示出了識別伺服器的第一運行模式。
圖13示出了所述識別伺服器的第二運行模式。
圖14示出了所述識別伺服器的第三運行模式。
圖15A和15B示出了可在沒有腳本的客戶機上執行的說明標記語言的範例頁。
所述實施例的詳細描述在描述一個基於Web的識別結構和用於實現同一個結構的方法之前,描述能夠在所述結構中起作用的通用計算設備可能是有用的。參看圖1,標號30示出了一個數據管理設備(PIM、PDA等)的範例格式。但是,可以預期本發明也能夠使用下述的其他計算設備、特別是那些具有有限表面面積用於輸入按鈕等的計算設備實現。例如,電話和/或數據管理設備也將從本發明中獲得益處。與現存的可攜式個人信息管理設備和其它可攜式電子設備比較,這種設備將具有增強的實用性,這種設備的功能和緊湊尺寸將很可能鼓勵所述用戶隨時攜帶所述設備。因此,這裡所描述的所述結構範圍並不受這裡所描述的範例數據管理或PIM設備、電話或計算機的限制。
圖1中示出了一種數據管理行動裝置30的一個示範形式。行動裝置30包括殼體32並具有一個用戶界面,該用戶界面包括一個結合指示筆33使用的觸敏顯示屏的顯示器34。所述指示筆33被用於在指定坐標處按壓或接觸顯示器34以選擇一個欄位、選擇性地移動光標的起始位置,或反之提供諸如通過手勢或手寫的命令信息。作為替換或者添加,可以在設備30上包括一個或多個用於導航的按鈕35。另外,也可以提供諸如旋轉輪和滾柱等的其他輸入機制。但是,應當說明,這些輸入機制的形式並不對本發明構成限制。例如,其他形式的輸入能夠包括諸如通過計算機視覺的虛擬輸入。
現在參看圖2,其框圖示出了一個包括行動裝置30的功能組件。中央處理單元(CPU)50執行軟體控制功能。CPU50被連接到顯示器34上,從而使依據控制軟體產生的文本和圖形圖標顯示在顯示器34上。揚聲器43能夠被連接到通常具有數/模轉換器59的CPU50上以提供可聽輸出。由用戶下載或輸入到行動裝置30中的數據被存儲在一個被雙向連接到CPU50上的非易失性讀/寫隨機存取存儲器54中。隨機存取存儲器(RAM)54對由CPU50執行的指令提供易失存儲,並存儲諸如寄存器值的暫存數據。用於配置選項和其他變量的預設值存儲在只讀存儲器(ROM)58中。ROM58也能夠用於為設備存儲控制行動裝置30基本功能性和其他作業系統的核心程序功能的作業系統軟體(例如將軟體組件下載到RAM54中)。
RAM54還可以用做一個存儲器,用於以和在PC機上用於存儲應用程式的硬體驅動的功能類似的方式存儲代碼。應當注意,雖然非易失性存儲器被用於存儲所述代碼,所述代碼也可以存儲在不用於執行所述代碼的易失性存儲器中。
利用行動裝置經過連接到CPU50上的無線收發信機52可以發送/接收無線信號。也可以提供一個可選的通信接口60,用於如果需要的話從一個計算機(例如臺式計算機)或從一個有線網絡直接下載數據。因此,接口60可以包括各種形式的通信設備,例如,紅外線連結、數據機、網卡等等。
行動裝置30包括話筒29、模/數(A/D)轉換器37和存儲在存儲器54中的可選識別程序(語音、DTMF、手寫、手勢或計算機視覺)。藉助於舉例,響應來自設備30的用戶的可聽信息、指令或命令,話筒29提供被A/D轉換器37數位化的多個語音信號。該語音識別程序可以在數位化的信號上執行正規化和/或特徵提取功能,以便獲得中間語音識別結果。使用無線收發信機52或通信接口60,語音數據被發送給下面將要討論並示於圖5結構中的一個遠程識別伺服器204。然後,識別結果被返回到行動裝置30用於在其上面實現(例如,可視或者可聽地),並最終發送給網絡伺服器202(圖5),其中,網絡伺服器202和行動裝置30以客戶機/伺服器的關係運行。類似的處理可以用於其他形式的輸入。例如,可以在設備30上進行或不進行預處理的情況下數位化手寫輸入。與語音數據類似,這種形式的輸入能夠被發送給識別伺服器204用於識別,其中所述識別結果被返回到設備30和/或網絡伺服器202中的至少一個。同樣,DTMF數據、手勢數據和可視數據也能夠被進行類似的處理。取決於輸入的形式,設備30(和下面將要討論的其他形式的客戶機)應當包括諸如用於可視輸入的攝象機的必要硬體。
圖3是一個平面圖,它示出了可攜式電話80的一個示例實施例。電話80包括顯示器82和鍵盤84。儘管可能需要執行其他功能的附加電路,但是通常圖2的框圖可應用到圖3所示的電話中。例如,圖2所示的實施例將被要求作為電話運行所需要的一個收發信機。但是,這種電路與本發明不相關。
應當理解,除了上述便攜或移動計算設備以外,本發明能夠和諸如通用臺式計算機的多種其他計算設備一起使用。例如,當諸如全字母-數字鍵盤的其它傳統輸入設備操作太困難時,本發明允許具有有限物理能力的用戶將文本輸入或鍵入到計算機或其他計算設備中。
本發明還可以和多種其他通用或專用計算系統、環境或結構共同操作。適於和本發明一起使用但不作為限制的公知計算系統、環境和/或結構的例子包括常用的電話(沒有任何屏幕)、個人計算機、伺服器計算機、手持或膝上型設備、多處理器系統、基於微處理器的系統、機頂盒、可編程的消費電子、網絡PC、小型計算機、巨型計算機和包括任意上述系統或設備的分布式計算環境等。
下面簡要描述圖4所示的通用計算機120。但是,計算機120僅僅是適當計算環境的一個例子,並不對本發明的使用或者功能範圍作出限定。計算機120將不會被解釋為相對於這裡所述組件的任何一個或組合具有相關性或要求。
本發明可以在諸如正由一臺計算機執行的程序模塊的計算機可執行指令的一般上下文中進行描述。通常,程序模塊包括執行特定任務或實現特定抽象數據類型的例程、程序、對象、組件、數據結構等。本發明還可以用於分布式計算環境中,在這種環境中,使用經過通信網絡連結的遠程處理設備執行任務。在一個分布式計算環境中,程序模塊可以被定位於包含存儲器存儲設備的本地和遠程計算機存儲介質中。下面結合附圖描述由所述程序和模塊執行的任務。本領域的普通技術人員可以把這些描述和附圖實現為處理器可執行指令,所述處理器可執行指令能被寫入到以任何形式的計算機可讀介質上。
參看圖4,計算機120的組件可以包含但不局限於處理單元140、系統存儲器150、將包括所述系統存儲器的各種系統組件連接到處理單元140的系統總線141。系統總線141可以是包括存儲器總線或存儲器控制器、外圍總線和使用各種總線結構中任何一種的局部總線中的任何一種。藉助於舉例但不作為限制,這樣的結構包括工業標準結構(ISA)總線、通用串行總線(USB)、微信道結構(MCA)總線、增強的ISA(EISA)總線、視頻電子標準關聯(VESA)局部總線和也被公稱為Mezzanine總線的外設部件互聯(PCI)總線。計算機120通常包括各種計算機可讀的介質。計算機可讀介質可以是能夠被計算機120訪問並包括易失和非易失介質、可拆卸和不可拆卸介質的任何介質。藉助於舉例但不作為限制,所述計算機可讀介質可以包括計算機存儲介質和通信介質。計算機存儲介質包括易失和非易失、可拆卸和不可拆卸的介質,其以任一方法或技術實現用於存儲諸如計算機可讀指令、數據結構、程序模塊或其他數據的信息。計算機存儲介質包含但不局限於RAM、ROM、EEPROM、閃速存儲器或其他存儲器技術、CD-ROM、數字通用盤(DVD)或其他光碟存儲器、卡式磁帶、磁帶、磁碟存儲器或其他磁存儲設備、或其他任何能夠用於存儲所需要的信息和能夠被計算機120訪問的介質。
通信介質通常包含以諸如載波或其他傳輸機制的調製數據信號形式的計算機可讀指令、數據結構、程序模塊或其他數據並包括任一信息傳送介質。術語「已調製數據信號」的意思是指具有一個或多個特徵集或者以這樣的方式進行改變、對信號中的信息進行編碼的信號。藉助於不作為限制的舉例,通信介質包括諸如有線網絡或直接有線連接的有線介質和諸如聲學、FR、紅外和其他無線介質的無線介質。上述任意的組合也可以包括在計算機可讀介質的範圍之內。
系統存儲器150包括以諸如只讀存儲器(ROM)151和隨機存取存儲器(RAM)152的易失和/或非易失存儲器形式出現的計算機存儲介質。包含諸如在啟動期間,幫助在計算機120內的元件之間傳輸信息的基本例程的基本輸入/輸出系統153(BIOS)通常被存儲在ROM151中。RAM152通常包含可以被處理單元140直接訪問和/或當前正在操作的數據和/或程序模塊。藉助於不作為限制的舉例,圖4示出了作業系統54、應用程式155、其他的程序模塊156和程序數據157。
計算機120還可以包括其它可拆卸/不可拆卸、易失/非易失計算機存儲介質。僅僅作為例子,圖4示出了一個從或向不可拆卸非易失磁存儲介質讀出或寫入的硬碟驅動161、從或向可拆卸非易失磁碟172讀出或寫入的磁碟驅動171、以及從或向諸如CD ROM或其他光介質的可拆卸、非易失光碟176讀出或寫入的光碟驅動175。能夠在範例操作環境中使用的其它可拆卸/不可拆卸、易失/非易失計算機存儲介質包含但不局限於,卡式磁帶、閃速存儲器卡、數字通用盤、數字視頻磁帶、固態RAM和固態RAM等。硬碟驅動161通常經過一個諸如接口160的不可拆卸的存儲器接口連接到系統總線141上,磁碟驅動器171和光碟驅動器175通常經過一個諸如接口170的可拆卸存儲器接口連接到系統總線141上。
上述圖4所示的設備及其相關的計算機存儲介質提供計算機可讀指令、數據結構、程序模塊和用於計算機120的其他數據的存儲。在圖4中,例如,硬碟驅動161被表示為存儲作業系統164、應用程式165、其他的程序模塊166和程序數據167。注意,這些組件既可以相同於也可以不同於作業系統154、應用程式155、其他的程序模塊156和程序數據157。作業系統164、應用程式165、其他的程序模塊166和程序數據167在這裡被給予不同的號碼以至少表示它們是不同的拷貝。
用戶可以經過諸如鍵盤182、話筒183的輸入設備和諸如滑鼠、跟蹤球或觸摸板的定點設備181將命令和信息輸入到計算機120中。其它的輸入設備(未示出)可以包括遊戲杆、遊戲操縱杆、衛星盤、掃描器等。這些和其他的輸入設備經常經過連接到所述系統總線上的用戶輸入接口180連接到處理單元140上,但是也可以由諸如並行埠、遊戲埠或通用串形總線(USB)的其他接口和總線結構連接。監視器184或其他類型的顯示設備也經過諸如視頻接口185的一個接口連接到系統總線141上。除了所述監視器以外,所述計算機還可以包括諸如揚聲器187和印表機186的外圍輸出設備,它們可以經過輸出外設接口188進行連接。
計算機120可以使用到一個或多個諸如遠程計算機194的遠程計算機的邏輯連接在一個網絡環境中進行操作。遠程計算機194可以是個人計算機、手持設備、伺服器、路由器、網絡PC、對等設備或其他公共網絡節點,通常包括很多或全部上述與計算機120相關的元素。在圖4中描述的邏輯連接包括區域網(LAN)191和廣域網(WAN)193,但是也可以包括其它的網絡。這種聯網環境在辦公室、企業範圍的計算機網絡、內部網絡和Internet中是普遍的。
當在LAN聯網環境中使用時,計算機120經過網絡接口或適配器190連接到LAN191上。當在WAN聯網環境中使用時,計算機120通常包括數據機192或其他用於在諸如Internet的WAN193上建立通信的裝置。可以是內部或外部的數據機192可以經過用戶輸入接口180或其他的適當機制連接到系統總線141上。在一個網絡環境中,相對於計算機120描述的程序模塊或它的一部分可以被存儲在遠程存儲器設備中。藉助於不作為限制的舉例,圖4示出了作為駐留在遠程計算機194中的遠程應用程式195。很明顯,所示網絡連接是範例性的而且也可以使用在計算機之間建立通信連結的其它裝置。
圖5示出了能夠在本發明中實施的用於基於Web的識別的體系結構200。通常,存儲在網絡伺服器202中的信息能夠經過行動裝置30(這裡也表示具有顯示屏幕、話筒、攝象機、觸敏面板等其它形式的計算設備,如基於這種輸入形式所需要的那樣)、或者經過其中信息被可聽地請求的電話80、或者經過響應被按壓的鍵由電話80產生的音調進行訪問,並且其中來自網絡伺服器202的信息僅僅是可聽地提供回到所述用戶。
更加重要的是,體系結構200是統一的,是因為信息是經過設備30或經過電話80使用語音識別獲得的,單個的識別伺服器204可以支持其中的每一種操作模式。另外,體系結構200使用一個公知標記語言(例如,HTML、XHTML、cHTML、XML、WML等)的擴展進行工作。由此,存儲在網絡伺服器202中的信息也能夠使用在這些標記語言中獲得的公知GUI方法進行訪問。通過使用公知標記語言的擴展,在網絡伺服器202上的創作將變得容易,和當前存在的傳統應用程式能夠容易地進行修改以包括聲音識別。
通常,設備30執行由網絡伺服器202提供的HTML頁、腳本等。舉例來說,當需要聲音識別時,能夠被數位化成音頻信號或其中音頻信號已經被設備30如上所述預處理過的語音特徵的語音數據,被提供給具有語法指示或語言模塊以在語音識別期間使用的識別伺服器204。識別伺服器204的實現可以有多種形式,只示出了其中的一種,但是它們通常包括識別器211。如果需要並且適當的話,識別的結果被返回提供給設備30,以便進行本地顯示。在經過識別並且如果使用了任一圖形用戶界面對信息進行編譯的基礎上,設備30將所述信息傳送給網絡伺服器202以便做進一步的處理,而且如果需要則進一步接收HTML頁/腳本。
如圖5所示,設備30、網絡伺服器202和識別伺服器204經過網絡205被共同連接,而且可單獨尋址,這裡,網絡205是諸如Internet的廣域網。因此,不需要使這些設備彼此位置物理相鄰。特別是,所述網絡伺服器不需要包括識別伺服器204。以這種方式,在網絡伺服器202處的創作可以被集中到想要的應用程式上而創作者不需要了解複雜的識別伺服器204。此外,識別伺服器可以被獨立地設計和連接到網絡205上,並藉此可以在不要求網絡伺服器202處的進一步改變時請求就可得到更新和改善。如下面將要描述的,網絡伺服器202也能夠包括一個創作機制,該創作機制能夠動態地產生客戶機端的標記和腳本。在另一個實施例中,網絡伺服器202、識別伺服器204和客戶機30可以根據實施機制的能力相互組合。例如,如果所述客戶機包括一個例如個人計算機的通用計算機,那麼,所述客戶機可以包括識別伺服器204。類似的,如果需要的話,網絡伺服器202和識別伺服器204可以被包含在一個單機中。
對於客戶機設備,一種用於對客戶機/伺服器系統中的輸入數據進行處理的方法,包括從一個伺服器中接收具有被配置為從一個客戶機設備的用戶中獲得輸入數據的擴展的標記語言頁;在所述客戶機設備上執行所述標記語言頁;將輸入數據(指示了從所述用戶處獲得的語音、DTMF、手寫、手勢和圖象)和相關語法發送給遠離該客戶機的一個伺服器;在所述客戶機處接收來自所述識別伺服器的識別結果。可以提供一種計算機可讀介質,該介質具有用於在一個客戶機/伺服器系統中的客戶機上執行的標記語言,該標記語言具有用於指出與通過所述客戶機設備輸入的輸入數據相關的一個語法的指令。
經過電話80對網絡伺服器202的訪問包括將電話80連接到有線或無線電話網絡208上,然後將電話80連接到第三方網關210上。網關210將電話80連接到電話聲音瀏覽器212上。電話聲音瀏覽器212包括用於提供電話接口的媒體伺服器214和聲音瀏覽器216。與設備30相似,電話聲音瀏覽器212從web伺服器202接收HTML頁/腳本或類似信息。更重要的是,所述HTML頁/腳本與提供給設備30的HTML腳本具有類似的格式。以這種方式,網絡伺服器202不需要單獨地支持設備30和電話80,或者甚至單獨地支持標準的GUI客戶機。而且能夠使用公用的標記語言。此外,與設備30類似,從聲音瀏覽器216經過網絡205或專線207、例如使用TCP/IP,向識別伺服器204提供對由電話80傳輸的可聽信號的聲音識別。網絡伺服器202、識別伺服器204和電話聲音瀏覽器212能夠在任何適當的計算環境、諸如圖4所示的通用臺式計算機中體現。
但是,應當注意,如果使用DTMF識別,這種形式的識別通常應當在媒體伺服器214中執行,而不是在識別伺服器204中進行。換言之,所述DTMF語法應當由所述媒體伺服器使用。
諸如HTML、XHTML、cHTML、XML、WML的標記語言或具有任何其它從SGML導出的標記的標記語言,可以包括用於在客戶機/伺服器體系結構中提供識別的控制和/或對象。以這種方式,創作者可以運用在這些標記語言中的、是在這種結構中使用的主要web開發平臺的所有工具和專門知識。
通常,控制和/或對象可以包括一個或多個下述功能用於識別器配置、識別器執行和/或後處理的的識別器控制和/或對象;用於合成器配置和提示播放的合成器控制和/或對象;用於規定輸入語法資源的語法控制和/或對象;和/或用於處理識別結果的連接控制和/或對象。所述擴展被設計成輕型標記層,它將可聽、可視和手寫等接口的功能添加到現有的標記語言中。如此,所述擴展能夠保持獨立於它們被包含在內的高級頁,例如HTML;低級格式,使用該擴展來參考例如文本-語音和語法格式的語言資源;和在識別伺服器204中使用的識別和語音合成平臺的獨特特徵。
在描述具有適用於識別的控制和/或對象的標記語言之前,解釋一下用HTML標記語言實現的簡單GUI的例子是有用的。參看圖6,一個簡單的GUI接口包括將信用卡信息提交給所述網絡伺服器以便完成在線銷售。在這個例子中,所述信用卡信息包括用於輸入正在使用的信用卡的類型的欄位250,所述信用卡例如是Visa、MasterCard、或者American Express。第二欄位252允許輸入信用卡號;而第三欄位254允許輸入失效日期。提供提交(Submit)按鈕264來傳輸在欄位250、252和254中輸入的信息。
圖7示出了用於從所述客戶機獲得前述信用卡信息的HTML代碼。通常,如在這些形式的標記語言中普遍使用的那樣,所述代碼包括主體部分260和腳本部分262。主體部分260包括指出將被執行的動作類型、使用的表單、各種欄位的信息250、252和254的多行代碼,以及一個用於提交按鈕264的代碼(圖6)。這個例子也示出了事件支持和嵌入式腳本宿主,其中,一旦啟動了提交按鈕264,就在腳本部分262中調用或執行函數「verify」。所述「verify」函數確定用於每個信用卡(Visa、MasterCard、或者American Express)的卡號長度是否具有適當的長度。
圖8示出了用於產生與圖6所示相同GUI的客戶機標記,用於使用語音識別獲得將被提供給網絡伺服器204的信用卡信息。雖然語音識別將在下面結合附圖8-14予以討論,但是,應當理解,所述技術也能夠應用於手寫識別、手勢識別和圖象識別。
通常,擴展(也被公稱為「標籤(tag)」)是XML元素的一個小集,具有相關的屬性和DOM對象特徵、事件和方法,這可以與源標記文本結合使用以便將識別接口、DTMF或調用控制應用於一個源頁上。擴展的正式格式和語義與所述源文本的特徵獨立,所以,所述擴展實際上可以被等效地應用在HTML、XHTML、cHTML、XML、WML中或者與任何其他從SGML導出的標記一起使用。所述擴展遵循文檔對象模型,其中提供了可以被分層的有新功能的對象或元素。每個元素都將在附錄中詳細討論,但是通常所述元素可以包括屬性、特徵、方法、事件和/或其他「子(child)」元素。
關於這一點,還應當注意,根據正在其上執行瀏覽器的設備的能力,所述擴展可以用兩種不同的「模式」加以解釋。在第一種模式、即對象模式中,可以使用全部的能力。通過一個應用程式對擴展的編程操作是由任何在所述設備上的瀏覽器啟動的機制執行的,例如在XHTML瀏覽器中的JScript解釋程序或在WML瀏覽器中的WMLScript解釋程序。為此,只需要定義一個小集合的所述擴展核心特徵和方法,而且這些由存在於所述設備或客戶機端的任何編程機制處理。所述對象模式提供事件發生和腳本編寫,並能夠提供更強的功能性,以便在語音的交互方面給對話創作者提供更好的客戶機端控制。如這裡所使用的,支持所有事件和腳本的瀏覽器被稱之為「上層瀏覽器(uplevel browser)」。這種形式的瀏覽器將支持所述擴展的所有屬性、特徵、方法和事件。通常可以在具有較大處理能力的設備中找到所述上層瀏覽器。
所述擴展也可以在「說明模式」中得到支持。如在這裡所使用的,以說明模式操作的瀏覽器被稱之為「下層瀏覽器(downlevel browser)」,其並不支持所有的事件發生和腳本編寫性能。而且,這種形式的瀏覽器將支持給定擴展的說明方面(即核心元素和屬性),但不可能是所有的DOM(文檔對象模型)對象特徵、方法和事件。這種模式使用專門的說明語法,並可以進一步與諸如SMIL2.0(同步的多媒體集成語言)的說明性多媒體同步和協作機制(同步的標記語言)結合使用。下層瀏覽器通常會在具有有限處理能力的設備中找到。
關於這一點,應當討論一種入口的特定模式。具體地說,結合至少一個顯示器和在進一步實施例中的一個定點設備一起使用語音識別來指示與數據入口相關的欄位,是特別有用的。特別是,在這種數據入口的模式下,所述用戶通常是在什麼時間選擇一個欄位和提供相應信息的控制之下。例如,在圖6所示的例子中,用戶應當首先決定在欄位252中輸入所述信用卡號,然後在欄位250中輸入所述信用卡的類型,接著是在欄位254中輸入截止日期。類似的,如果需要,所述用戶可以返回到欄位252並糾正錯誤的輸入。當與如下所述的語音識別相結合時,可以提供一種很容易和自然的導航形式。如這裡所使用的,這種同時使用了一個允許無需選擇欄位的屏幕顯示器和語音識別的形式被稱之為「多重模式(multi-modal)」。
回過來參看圖8,這裡示出了HTML標記語言代碼的一個例子。與圖7所示的代碼相似,這個代碼也包括主體部分270和腳本部分272。另外與圖7所示的代碼相似,圖8所示的代碼包括關於將執行的動作類型以及所述表單的位置的指示。由代碼部分280、282和284分別控制或執行在欄位250、252和254每一個中的信息輸入。首先參考代碼部分280,在例如使用設備30中的指示筆33選擇欄位250時,事件「onClick」就被啟動,它調用或執行在腳本部分272中的「talk」函數。這個動作激活用於語音識別的語法,所述語音識別與通常在欄位250中希望的數據類型相關。這種包括一項以上輸入技術(例如聲音和筆點擊/滾柱)的交互類型被稱之為「多重模式」。
應當說明,由於對很多應用程式來說,都假設所述創作者將使用所述源頁中的應用說明圖形機制對所述頁中的各種組件的語音啟動發出信號,所以,圖8中所例舉的語音識別擴展並不試圖在所述客戶機的瀏覽器上具有預設的可視表示。然而,如果需要所述可視表示,則所述擴展也可以進行修改。
下面反過來參看所述語法,所述語法是一種諸如但不局限於上下文無關語法、N-語法或混合語法的一種句法語法(Syntactic grammar)。(當然,當使用相應形式的識別時,可以使用DTMF語法、手寫語法、手勢語法和圖象語法。如這裡所使用的那樣,「語法」包括用於執行識別的信息,並且在進一步的實施例中,例如在一個規定欄位中對應於所期望輸入的信息)。包括所述標記語言第一擴展的的一個新控制290(這裡被標識為「reco」)包括各種元素,示出了其中的兩個,即語法元素「grammar」和「bind」元素。通常,與從網絡伺服器下載到客戶機上的代碼相似,所述語法可以在網絡伺服器202生成,並被下載到所述客戶機上和/或提供給一個遠程伺服器用於語音處理。然後,所述語法可以被本地存儲在一個高速緩存中。最後,所述語法被提供給識別伺服器204以便在識別過程中使用。所述語法元素被用於使用一個屬性指定聯機的(inline)或被參考的(referenced)語法。
一旦從識別伺服器204接收了與所識別的語音、手寫、手勢和圖象等對應的識別結果,就提供reco控制290的文法以接收相應的結果,並使其與能夠包括在顯示器34上顯示的,文本的對應欄位關聯。在所示的實施例中,一旦利用返回給所述客戶機的結果完成了語音識別,就去激活所述reco對象並使所識別的文本與對應的欄位關聯。部分282和284的操作類似,其中,調用唯一的Reco對象和語法用於欄位252和254中的每一個,並在接收所識別文本時與欄位252和254中的每一個相關聯。關於接收信用卡號欄位252,函數「handle」以和上述結合圖7所示類似的方式相對於所述卡類型檢查所述卡號的長度。
通常,結合體系結構200以及客戶機端標記語言的語音識別的使用是如下進行的首先,指出與將給定的語音相關的欄位。在所示的實施例中,使用了指示筆33,然而應當理解,本發明並不局限於所述指示筆33,其中,可以使用諸如按鈕、滑鼠指示器和旋轉輪等任何形式的指示。如在可視標記語言使用中所周知的,可以提供諸如「onClick」的相應事件。應當理解,本發明並不局限於使用「onClick」事件去指示聲音、手寫和手勢等命令的開始。任何一種可用的GUI事件、諸如「onSelect」,也都可以被用於相同的目的。在一個實施例中,對於其指出所述相應語音的開始和/或結束作用來講,這種事件是非常有用的。還應當說明,引導所述語音的欄位可以由所述用戶以及在保持跟蹤用戶交互作用的瀏覽器上運行的程序指出。
關於這一點,應當說明,語音識別的不同方案需要來自識別伺服器204的不同行為和/或輸出。雖然,在所有情況下所述識別處理的開始是標準的--來自上層瀏覽器中顯式start調用或在下層瀏覽器中的說明性reco元素--但是用於停止語音識別的裝置是不同的。
在上述的例子中,多重模式應用程式中的用戶將通過例如壓敏顯示器上的敲擊和保持來控制對所述設備的輸入。然後所述瀏覽器使用例如「pen-up」的GUI事件控制識別應當停止的時間並返回相應的結果。但是,在諸如電話應用(後述)或在免提應用中的只有聲音的方案中,所述用戶不能在所述瀏覽器上直接進行控制,並且識別伺服器204或客戶機30必須負責決定停止識別和返回所述結果的時間(通常,當通過所述語法的路徑已經被識別出時)。另外,其中需要在識別停止之前返回中間結果的口述和其他方案(也稱為「開放話筒」)不僅要求顯式停止功能,而且還需要在所述識別被停止之前將多個識別結果返回給客戶機30和/或網絡伺服器202。
在一個實施例中,所述Reco元素可以包括一個「mode」屬性,用於區分下述三種用於指示識別伺服器204如何以及何時返回所述結果的識別模式。結果的返回意味著視情況提供「onReco」事件或激活所述「bind」元素。在一個實施例中,如果沒有規定所述模式,則預設識別模式為「automatic(自動)」。
圖12示出了用於語音識別的「automatic」模式的操作(類似的模式、事件等可以用於其他形式的識別)。時間線281在283處指示識別伺服器204何時將被開始識別,在285處指出識別伺服器204檢測語音的位置,以及在287處確定所述語音已經結束。
Reco元素的各種屬性控制識別伺服器204的行為。「initialTimeout」(啟動超時)屬性289是在識別的開始283和語音檢測285之間的時間。如果這個時間周期被超過了,則將從識別伺服器204提供一個「onSlience」事件291,從而發出一個信號通知那個識別已經結束了。如果識別伺服器204發現所述發言是不可識別的,則將發出一個「onNoReco」事件293,它也將指出識別已經停止。
可以停止和取消識別的其他屬性包括「babbleTimeout」(串音超時)屬性295,該屬性295是一個時間周期,在該時間周期中,識別伺服器204必須在285處語音檢測之後返回一個結果。如果被超過了,則根據是否發生了誤差發布不同的事件。如果識別伺服器204仍然在處理音頻,例如在特長發言的情況下,則發布「onNoReco」屬性293。但是,如果由於任何其它原因使「babbleTimeout」屬性295被超出,則更大可能是產生了識別器誤差,並發布「onTimeout」事件297。類似的,也可以提供「maxTimeout」(最大超時)屬性299,它是在識別開始283和返回到客戶機30的所述結果之間的一個時間周期。如果這個時間周期被超過了,則發出「onTimeout」事件297。
但是,如果一個大於「endSilence」(結束靜默)屬性301的時間周期被超過了,則意味著所述識別已經完成。識別伺服器204將自動地停止識別並返回它的結果。應當說明,識別伺服器204能夠執行一個置信度測量以確定所述識別結果是否應被返回。如果所述置信度測量低於一個閾值,則發布「onNoReco」事件293,而如果所述可信度測量高於所述閾值,則發布「onNoReco」屬性303和識別結果。圖12藉此示出了在「自動模式」中沒有進行顯式stop調用。
圖13示出了識別伺服器204的「單模式」的操作。上述針對「自動模式」的屬性和事件仍可用,並因此使用相同的標號表示。但是,在這種模式的操作中,stop調用305在時間線281上被指出。Stop調用305與諸如由用戶提供的「pen-up」的事件對應。在這種操作模式中,識別結果的返回是在顯式stop調用305的控制下執行的。如同所有的操作模式一樣,如果在「initialTimeout」周期289內沒有檢測到語音,則發布「onSilence」事件291,但對於這種操作模式識別不被停止。類似的,在stop調用305之前的由不可識別的發言產生的「onNoReco」事件293並不停止識別。但是,如果與「babbleTimeout」屬性295或「maxTimeout」屬性299相關的時間周期被超過了,則識別將停止。
圖14示出了識別伺服器204的「multiple mode」(多重模式)操作。如上所述,這種操作模式被用於「開放話筒」或口述方案。通常,在這種操作模式下,以一定的間隔返回所述結果直到接收到顯式stop調用305或與「babbleTimeout」屬性295或「maxTimeout」屬性299相關的時間周期被超過為止。但是應當注意,在任何一個不停止識別的「onSilience」事件291、「onReco」事件303或「onNoReco」事件293之後,用於「babbleTimeout」和「maxTimeout」的定時器將被復位。
通常,在這種操作模式下,對於每個被識別的短語,發布「onReco」事件303並返回所述結果,直到stop調用305被接收為止。如果由於一個不可識別的發言而發出了「onSilence」事件291,則這些事件將被報告但識別將繼續。
如上所述,用於所述欄位的相關Reco對象被激活,包括向所述識別伺服器204提供至少一個使用哪種語法的指示。這個信息可以伴隨有記錄在客戶機30上、並被傳送給識別伺服器204的語音數據。如上所述,語音數據可以包括與由用戶輸入的所述語音相關的流式數據,或者可以包括指出在語音識別期間所使用的語音特徵的預處理的語音數據。在進一步的實施例中,客戶機端的處理還可以包括所述語音數據的正規化,從而使由識別伺服器204接收的語音數據從客戶機到客戶機相對一致。由於所述識別伺服器可以與客戶機和通信信道的類型無關(stateless),所以這簡化了識別伺服器204的語音處理,藉此,允許所述識別伺服器更容易的可伸縮性。
一旦從識別伺服器204接收了所述識別結果,所述識別結果就與對應的欄位相關聯,如果需要,可以執行客戶機端的驗證或檢查。一旦完成所有欄位與所述客戶機當前提供的代碼的關聯後,信息被傳送給網絡伺服器202以用於應用程式的處理。從前面的描述來看,很清楚,雖然網絡伺服器202已經向客戶機30提供了適於識別的代碼或頁/腳本,但是,所述識別服務不是由網絡伺服器202執行的,而是由識別伺服器204執行的。但是,本發明並不排除這樣一種實現方法,其中,識別伺服器204和網絡伺服器202在同一位置,即識別伺服器204是客戶機30的一部分。換言之,即使當識別伺服器204和網絡伺服器202或客戶機30相互結合,但是由於擴展在這些組件之間提供了一個簡單和方便的接口,所以,這裡所提供的擴展是非常有利的。
儘管在圖8所示實施例中沒有示出,但所述reco控制還可以包括一個遠程音頻對象(RAO),用於將適當的語音數據傳送給識別伺服器204。由於聲音接口可能是不同的,所以將RAO製成插接型對象的益處在於允許用於每個不同設備的不同的一個。另外,所述遠程音頻對象可以允許在相同時間處被激活的多個識別元素。
圖9A和9B示出了這裡作為具有頁/腳本的HTML實施的只有聲音的標記語言。如所清楚示出的,所述代碼還可以包括一個主體部分300和一個腳本部分302。標記語言還有另一種擴展-包括屬性相象bargein(attyibutes like bargein)的提示控制303。但是在圖9A和9B的只有聲音的實施例中語音識別的執行是不同的。利用所述的腳本功能「checkFilled」整個地控制所述處理,該腳本功能確定沒有填滿的欄位並激活相應的提示和新對象。然而,使用與上述結合圖8所述相同的上下文激活所述語法,其中,語音數據和關於使用語法的指示被提供給識別伺服器204。類似的,從識別伺服器204接收的輸出與所述客戶機(這裡是電話聲音瀏覽器212)的欄位相關聯。
通常對於只有聲音的應用程式來講是唯一的其他特徵是當語音沒有被識別出時對所述用戶的一個指示。在諸如圖8所示的多重模式的應用程式中,「onNoReco」簡單地將一個零值放入到所顯示的欄位中以指示沒有識別,由此也不需要進一步的動作。在所述只有聲音的實施例中,「onNoReco」305調用或執行函數「mumble」,該函數將一個字短語傳送給識別伺服器204,接下來使用適當的文本-語音系統307將其轉換成語音(圖5)。識別伺服器204把一個音頻流返回給電話聲音瀏覽器212,接下來傳送給將被用戶收聽的電話80。類似的,在只有聲音的應用中的其他波形提示在需要時也被識別伺服器204轉換成音頻流。
應當說明,在這個例子中,在經過函數「welcome」播放歡迎提示之後,函數「checkFilled」向用戶提示每個欄位並激活適當的語法,包括重複已經輸入的欄位和確認所述信息是正確的,這包括激活「confirmation」語法。注意,在這個實施例中,每個reco控制都是從腳本部分302啟動的,而不是從先前所述例子中的主體部分啟動的。
該標記語言在不同類型客戶機設備(例如諸如電話的、基於多重模式和無顯示的聲音輸入的客戶機設備)上可執行統一用於與所述每一個客戶機設備交互的網絡伺服器的與語音相關的事件、GUI事件和電話事件中的至少一個。這特別有好處,因為這允許網絡伺服器應用程式中的重要部分可以被屬類相關的寫入或者是獨立於客戶設備。一個例子在圖8和9A、9B中用」handle」函數示出。
雖然在圖9中沒有示出,但是,對於所述標記語言還存在兩種以上用於支持電話功能性的擴展,DTMF(雙音調製頻率)控制和呼叫控制元素或對象。DTMF的工作情況類似於reco控制。它規定了一個從鍵盤字符串到文本輸入的簡單語法映像。例如,「1」意味著食品雜貨店,「2」表示藥店等。而另一方面,調用對象涉及電話功能、例如呼叫轉移和第三方呼叫。下面將在附錄中詳細討論屬性、特徵、方法和事件。
而圖10A和10B示出了適用於僅有聲音的操作模式的標記語言的另一個實施例。在這個實施例中,所述用戶被允許對整個信息輸入和講話期間具有某些控制。換言之,雖然所述系統可以啟動或指示所述用戶開始講話,但是該用戶也可以提供比最初被要求更多的信息。這是「混合啟動」的一個例子。通常,在這種對話交互的形式下,所述用戶被允許與所述系統共享對話主動權。除在上面指出和下面將要詳細討論的、其中用戶提供比提示所要求信息更多的信息的例子之外,當沒有提示時,所述用戶也可以切換任務。
在圖10A和10B所示的例子中,標識作為「do_field」的語法包括與「g_card_type」、「g_card_num」和「g_expiry_date」語法相關的信息。在這個例子中,電話聲音瀏覽器212一旦接收由「onReco」指示的經過識別的語音,就把將從電話80接收的語音數據和一個使用「do_field」語法的指示傳送給識別伺服器204,調用或執行函數「handle」,它包括將這些值與從所述語音數據識別出的任一或全部欄位相關聯。換言之,從識別伺服器204獲得的結果也包括用於每個欄位的指示。根據在405中規定的連接規則對該信息進行語法分析並與相應的欄位關聯。如圖5指出的,識別伺服器204可以包括語法分析程序309。
從圖7、8、9A、9B、10A和10B可以看出,使用了非常類似的web開發框架。在這些情況每一個中的數據表示也非常類似。另外,數據表示和流程控制的分開允許不同程序(系統啟動和混合啟動)之間、或不同形式(基於GUI的web、僅有聲音的和多重模式)之間最大的可重複使用率。當電話包括顯示器和與設備30類似的功能時,這也允許從僅有聲音的操作經過電話到多重模式操作的自然擴展。附錄A進一步提供了上面討論的控制和對象進一步的細節。
如上面所指出的,上層瀏覽器可以使用腳本編寫以便執行諸如在上面例子中包括的調用函數「handle」的各種需要去分配所述識別結果。在上面所討論和在附錄A第2.1.2節描述的實施例中,「bind」元素將對所述識別結果進行語法分析並分配所述值,其中,「bind」元素是「reco」的子元素(subelement)或子系元素(child element)。
雖然腳本編寫是有用的,但例如由於安全關係,很多人並不認為它總是瀏覽器的最佳形式。在本發明的另一個實施例或方面中,所述「bind」元素是一種高級元素(與「reco」類似)並被提供有其他更豐富的特徵,這實際上可以模擬腳本化而無需進行腳本化本身。
在不使用腳本或不使用下面將要討論的本發明所述方面的情況下,下面將要討論的某些諸如複雜對話效果的能力僅僅通過將一個頁發送回網絡伺服器202、執行在上面的應用程式邏輯從而產生一個新的頁、將所述頁傳送回給客戶機設備來完成。本發明的該方面允許一個程式設計師對該頁中的對象調用方法而不會引起伺服器往返行程(rotndtrip)。。
在上面討論的實施例中,「bind」元素僅僅具有用於以web頁形式向欄位分配識別結果的屬性「TargetElment」和「TargetAttribute」。在進一步的實施例中,「bind」元素還包括一個被添加以用於對象方法調用的「TargetMethod」。「TargetMethod」的使用和性能是用於模擬腳本編寫的原理技術。例如,下述語法可以被用於調用對象「OBJl」的「X」方法bind TargetElement=「OBJ1」TargetMethod=「X」...。
注意,雖然這裡所示的例子遵循HTML/XHTML事件語法,但是,本領域內普通技術人員應當發現將bind用途推廣到其他事件發生機制中是很容易的,這些機制包括但不局限於W3C文檔對象模型層2或層3事件標準、ECMA公共語言信息基礎設施(CLI)事件模型、Java程式語言事件模型、W3C同步多媒體集成語言(SMIL)和突發W3CXML事件標準協議。
圖15A和15B示出了可在一個客戶機、特別是在一個下層瀏覽器上執行的標記語言頁。在這個例子中,所述用戶經過音頻提示要求一杯飲料。然後,所述系統確認點了什麼樣的飲料。在識別結果的基礎上「bind」元素使用說明邏輯引導執行。當所述飲料被確認時,表單被發送回給網絡伺服器202,所有這一切都無需腳本編寫。
通常,圖15A和15B所示的標記示例包括一個數據部分350、一個語音部分352和用戶接口部分354、356和358。部分354從一般查詢中接收關於用戶喜歡什麼飲料的識別結果並將交互識別流程導向查詢是否需要奶油和糖的再提示、或確認所述飲料被訂購。特別是,當奶油或糖也已經被訂購時,部分356接收一個識別結果。部分358接收用於確認所述飲料的識別結果。部分360是一個使用新消息對象「SMEX」的調用控制部分,這將在後面進一步討論。
如上面所指出的,本發明這個方面的「bind」元素包括對象方法調用,當在361處執行「welcome」對象上的「start」方法時,它利用播放「welcome」提示啟動圖15A和15B所示的用戶交互。
然後,在362處通過執行「asked」對象的「start」方法,詢問用戶「是希望得到可樂、咖啡還是橙汁?」。然後通過在363處調用識別「reco_drink」對象上的「start」方法執行識別。
然後執行部分354中的標記,其中識別伺服器204使用的語法由Xpath語句「./drink types」提供。注意,儘管這個例子使用了W3C Xpath語言,但是本領域內的普通技術人員可以發現它也可以被用於其他的標準語言,這些語言包括但局限於W3C XML查詢語言(XQL)。如「bind」元素364所規定的,如果從識別伺服器204接收的識別結果具有小於10的置信分,則在366處執行提示對象「reprompt」,後面跟著執行提示對象「ask」368,在這一點,在370處重新啟動識別對象「reco_drink」。如果所返回的識別結果是具有大於10的置信分的「coffee」,則欄位「drink」被分配有在372處識別結果的值,且在374處通過提示對象「craem_sugar」向用戶提示他/她是否喜歡奶油或糖。然後在376調用部分356中的識別對象「reco_cream_sugar」。否則,如果所述識別結果的置信分大於10但不是咖啡,則在378處再次分配欄位飲料。在380處通過執行提示對象「confirm」提供所述識別結果的確認,後面跟隨在382處在部分358中識別對象「reco_yesno」的調用。如果用戶利用大於10的置信分回答「yes」,則在384處顯示提示對象「thanks」,然後在386處發送表單。反之,如果用戶回答「no」或識別結果的置信分低於10,則在390處執行提示對象「retry」,後面再次跟隨有在392處正在執行的提示對象「ask」和在394處的「reco_drink」識別對象的調用。
從前面的例子可以看出,如在部分354、356或358中所指出的,「bind」元素允許方法的多重調用。如果需要,能夠說明識別結果的多重分配。在所示的實施例中,當所述多重分配和方法調用被說明時,他們是按照文檔順序被執行的。
在另一個實施例中,還提供了用於傳遞方法參數的標準。換言之,某些方法需要一個參數列表。這是使用「arg」子元素實現的。例如,給出下述標記
bind TargetElement=「OBJ」TargetMethod=「F」argX/argargY/arg/bind
等效於「OBJ.F(X,Y)」,或「OBJ」是一個具有參數「X」和「Y」的方法「F」的對象。
所述「bind」元素還能夠包括一個「event」屬性,用於說明所述連接元素被試圖用於哪個事件。例如,標記bind event=「onNoReco」=TargetElement=「promptl」TargetMethod=「start」/
意味著當「onNoReco」事件被傳送時,對象「pyomptl」的方法「start」將被調用。考慮使用「bind」元素作為例如結合圖8所述的上述「Reco」元素的子元素,用於「bind」元素的預設屬性是「onReco」。
作為一個高級元素,所述「bind」元素可以包括在所述附錄的部分2.4中規定的任一事件。另外,所述「bind」元素還可以包括具有能夠被訪問和用於指示程序流程的「status」屬性的「onError」事件。在這個方面所述「bind」元素的其他事件具有「status」屬性,這些都是能夠被訪問的。
除了檢查識別結果的狀態以外,也可以檢查正在執行的當前文本或頁本身。具體地說,「test」和「value」兩個屬性可以被擴展成包括一個被稱為包含文檔的根節點的「host」基元。例如,回過來參看圖15A和15B,其中所包含的例子具有在部分354處的附加邏輯,用於詢問當用戶希望得到咖啡時是否需要奶油或糖。當利用標記「host/get_drink/drink=『coffee』」進行規定時,如果所述飲料欄位僅僅是「coffee」,則用於添加奶油或糖的標記和隨後部分356的調用將被返回。
應當說明,「bind」元素不僅可以被應用於來自語音伺服器204的識別結果和在所述文檔中接收或分配值,還可以被應用到消息對象(這裡由「smex」表示),所述消息對象例如來自在所述客戶機設備上運行的應用程式。在圖15A和15B所示的例子中,當在所述客戶機設備上運行的電話應用程式檢測到一個調用時執行所述頁。在部分360中,當接收到「/Call_connected」消息時,「bind」元素通過執行「reco_drink」對象來執行或播放「welcome」提示並開始識別。與從語音伺服器204接收的識別結果相似,所接收的消息也非常大。某些消息被很好地定義,以便啟動所希望的程序流程。其他的可以被接收和處理(例如,正如接收的所述識別伺服器的識別結果那樣被分析語法)。例如,這允許標記語言與從鍵盤輸入的自然語言分析程序相似被使用。附錄A中的reco元素包括與執行這個功能相關的特徵。類似的,所述提示元素通過使用特徵「innertext」可以被用來提供用於動態內容或音頻波文件的文本消息並在附錄A中給予解釋。事件發布可以與用於識別結果的事件發布類似。例如,所述事件發布可以包括當所述消息源(例如運行於所述客戶機設備上的應用程式)具有可用於所述瀏覽器的消息時得到傳送的「onReceived」。
然後,「smex」或消息對象允許這裡所討論的標記語言標記被擴展到運行於所述客戶機設備上的其它組件或應用程式。作為另外一個例子,所述消息對象可以被用來與用於在所述客戶機上運行受到損害的聽取的TTY組件進行通信。所述TTY組件將不使用語音識別提供用戶已經鍵入的消息。這個消息然後被使用就象已經從所述識別伺服器中接收了一個識別結果一樣,其中,所述消息能夠被語法分析和分配給所述表單的欄位,或使用上面討論的「reco」、「grammar」或「bind」元素進行其他處理。在附錄A中提供了消息或「smex」對象的進一步討論。
所述「bind」元素還可以包括一個「for」屬性,該屬性允許它的作用被附加到所述頁的其它對象上。例如,當對象「prompt 1」傳送事件「onComplete」時,諸如bind for=「prompt 1」event=「onComplet targetElement」=「prompt2」=targetMethod=「start」/的標記將調用對象「prompt 2」的start方法。
回過來參看圖5,網絡伺服器202能夠包括一個伺服器端的插接說明創作工具或模塊320(例如,Microsoft Corporation的ASP或ASP+,或JSP等)。伺服器端插接模塊320可以動態地產生客戶機端的標記,甚至是用於訪問網絡伺服器202的客戶機類型的特殊形式的標記。在最初建立客戶機/伺服器關係的基礎上,所述客戶機信息可以被提供給網絡伺服器202,或網絡伺服器202可以包括多個模塊或例行程序以檢測所述客戶機的性能。利用這種方式,伺服器端插接模塊320可以為每個聲音識別方案產生客戶機端標記,即僅僅通過電話80的聲音或用於設備30的多重模塊。通過使用一致的客戶機端的模塊(能夠在每個應用程式中使用的reco和prompt控制),用於多個不同客戶機的創作更加容易。
除了動態產生客戶機端的標記以外,與使用圖8、9A和9B中的標記例子獲得圖6所示的信用卡信息類似,上層對話模塊被實現為伺服器端的控制並被存儲在存儲器324中,以便由開發者在應用程式創作中使用。通常,上層對話模塊324將在由開發者規定的參數基礎上在只有聲音的和多重模式的方案中動態地產生客戶機端的標記和腳本。所述上層對話模塊能夠包括多個參數,用於產生客戶機端的標記,以適應開發者的需要。例如,信用卡信息模塊可以包括一個用於指出客戶機端標記腳本能夠允許的信用卡的類型的參數。在伺服器端插接模塊320中使用的簡單的ASP+頁被示於圖11。
雖然已經結合最佳實施例對本發明進行了描述,但是本領域普通技術人員將認識到在形式和細節上可以作出很多變化而不脫離本發明的精神和範圍。
附錄A1引言下面的標籤(tag)是一組標記元素,它們允許文檔使用語音作為輸入或輸出媒體。所述標籤被設計成自包含的XML,它們能夠被放入諸如HTML、XHTML、CHTML、SMIL、WML等任何一種從SGML導出的標記語言中。這裡所使用的標籤與可從Washington Redmond微軟公司得到的已知方法SAPI5.0類似。所述標籤、元素、事件、屬性、特徵、返回值等僅僅都是範例,並不作為限制。雖然這裡解釋了語音和DTMF識別,但是,也可以提供類似的標籤用於其他形式的識別。
這裡所討論的主要元素是prompt...... 用於語音合成配置和提示播放reco....... 用於識別器配置和識別執行和後處理grammar......用於規定輸入語法資源bind...... 用於識別結果的處理dtmf...... 用於DTMF的配置和控制2RecoReco元素被用於規定可能的用戶輸入和用於處理輸入結果的裝置。其主要元素可以是grammar和bind,且它包含用於配置識別器特徵的資源。
Reco元素是在上層瀏覽器中經過Start和Stop方法、或在SMIL啟用的瀏覽器中使用SMIL命令被編程激活的。它們被認為在下層瀏覽器(即不支持腳本的瀏覽器)中通過它們在所述頁上的出現起說明作用。為了允許並行激活多種語法,可以考慮同時使多個Reco元素活動。
Reco還可以採用一種特定的模式-『automatic』,『single』或『multiple』-以區分它們允許的識別方案的種類和識別平臺的行為。
2.1 Reco內容Reco元素包含一個或多個語法和可選的一組(bind)連接元素,它檢查識別的結果並將相關部分拷貝到所述包含頁的值上。
在上層瀏覽器中,Reco支持按程序設計的各個語法規則的激活和去激活。還要說明,通過用於識別環境的預設值激活一個語法中所有的頂層規則。
2.1.1gramma(語法)元素所述語法元素被用於使用src屬性規定聯機或被參考的語法。通常至少規定一種語法(聯機或被參考)。聯機語法可以是基於文本的語法格式,被參考的語法可以是基於文本或二進位類型的。可以規定多個語法元素。如果規定了一個以上的語法元素,則所述語法內的規則被添加作為在相同語法中的額外規則。具有相同名稱的任何規則將被重寫。
屬性(Attributes)·src如果規定了聯機語法,則該項是可選的。包括所述語法的URI。注意,通過用於識別環境的預設值激活一個語法中的所有頂層規則。
·langID可選。用於指出語音引擎將使用哪種語言的字符串。所述字符串格式遵循xmllang定義。例如,lang ID=「en-us」表示美國英語。這個屬性只有在所述langID不在語法URI中規定時才有效。如果沒有規定,則預設值為美國英語。
如果在多個地方規定了所述langID,那麼,langID遵循來自最低範圍的先前順序-遠程語法文件(即,在該語法文件內規定的語言標識(id)),所述遠程語法文件後面跟隨有一個語法元素,而該語法元素後面跟隨有reco元素。

如果規定了一種參考src的語法和一種聯機語法,則所述聯機規則被添加到所述被參考的規則中,並且任一具有相同名稱的規則都將被重寫。
2.1.2bind(連接)元素所述連接元素被用於把來自識別結果的值連接到所述頁中。
由所述連接元素使用的識別結果可以是包含用於規定識別結果的語義標記語言(SML)的XML文檔。它的內容包括語義值、所說的實際字和置信分。SML也可以包括可替換的識別選擇(像在N個最佳識別結果中一樣)。下面示出了「I』dlike to travel from Seattle to Boston」這一發言的示範XML文本sml confidenc=「40」
travel text=「I』d like to travel from Seattle to Boston」
origin_city confidence=「15」Seattle/origin_city
dest_city confidence=「35」Boston/dest_city
/travel
/sml
由於假設語法內的識別產生一個XML文檔,所以,在語義標記語言即SML中,使用Xpath查詢參考將從所述SML文檔連接的值。並且由於在所述值被連接進入的頁中的所述元素應被唯一地識別(它們可能將被形成控制),所以,這些目標元素被直接參考。
屬性·targetElement必須。將分配來自於SML的值內容的元素(如在W3CSMIL2.0中)。
·targetAttribute可選。將分配來自於SML值內容的目標元素的屬性(如在SMIL2.0中的attributeName屬性一樣)。如果未規定,默認為「value」。
·test可選。一個用於指出條件的XML Pattern字符串,在所述條件下將分配所述識別結果。預設條件是真。
·value必須。用於規定將被分配給所述目標元素的、來自於識別結果文檔的值的XPATH字符串(如在所述W3C XML DOM說明中規定的)。
例子
如此給出上述SML返回,隨後的reco元素使用bind將origin_city和dest_city中的值傳輸到所述目標頁元素txtBoxOrigin和txtBoxDestinput name=「txtBoxOrigin」type=「text」/
input name=「txtBoxDest」type=「text」/
reco id=「travel」
grammar src=「./city.xml」/
bind targetElement=「txtBoxOrigin」value=「orogin_city」/
bind TargetElement=「txtBoxDest」value=「//dest_city」/
/reco
如在下面的例子中所描述的,這個連接是有條件的,其中,在作為一個預定條件加給所述連接操作的所述dest_city結果的語義屬性上執行一個測試bind targetElement=「txtBoxDest」value=「//dest_city」test=「/sml/「dest_city[@confidence$gt$40]」/
所述連接元素是一個在下層瀏覽器或上層瀏覽器上處理識別結果的簡單說明性裝置。對於更複雜的處理來講,由上層瀏覽器所支持的recoDOM對象實現了onReco事件處理程序以執行編程的腳本分析和所述識別返回的後處理。
2.2屬性和特徵下述屬性被所有瀏覽器所支持,所述特徵被上層瀏覽器所支持。
2.2.1屬性下述Reco屬性用來配置用於一個對話回合的語音識別器。
·initialTimeout可選。在識別開始和語音檢測之間微秒級的時間。這個值被傳送給識別平臺,如果被超過,則將從所述識別平臺提供一個onSilence事件(見2.4.2)。如果未規定,則所述語音平臺將使用預設值。
·babbleTimeout可選。微秒級的時間周期,在該周期中,在檢測語音之後所述識別器必須返回一個結果。就在autormatic(自動)和single(單)模式情況下的reco來說,這適於在語音檢測和停止調用之間的所述周期。就在『multiple(多重)』模式下的reco來說,這個超時應用於在語音檢測和每次識別返回之間的所述周期上,即在每次結果返回或其他事件之後重新開始所述周期。如果被超過,則根據是否發生了誤差產生不同的事件。如果所述識別器仍然在處理音頻,即處於特別長發言情況下,則利用狀態代碼13(見2.4.4)產生onNoReco事件。但是,如果由於任何原因所述超時被超過,則將產生一個識別器誤差,並產生onTimeout事件。如果未規定,則所述語音平臺將默認一個初始植。
·maxTimeout可選。在識別開始和返回到所述瀏覽器的結果之間的微秒級時間周期。如果被超過,則通過所述瀏覽器產生onTimeout事件-這為分布式環境中的網絡和識別器故障提供了必要的條件。就在『多重』模式下的reco來說,和babbleTimeout一樣,在每次識別返回或其他事件之後重新開始所述周期。注意,maxTimeout屬性應當大於或等於initialTimeout和babbleTimeout的總和。如果未規定,則該值將是瀏覽器默認值。
·endSilence可選。就在自動模式下的reco來說,是在所述識別返回以後可能沒有語音的一次發言結束後微秒級的靜默周期。忽略除自動模式外的其他模式的reco。如果未規定,預設值默認為平臺內部值。
·reject可選。識別拒絕閾值,低於該閾值,所述平臺將產生『no reco』事件。如果未規定,所述語音平臺將使用預設值。置信分範圍為從0到100(整數)。拒絕值位於其間。
·server可選。語音平臺的URI(當標籤解釋程序和識別平臺沒有位於一起時使用)。舉例值可以是server=protocol//yourspeechplatform。應用程式寫入器也能夠通過將一個查詢字符串添加到URI字符串上以向語音平臺提供特定設置,例如protocol//yourspeechplatform?bargeinEnergyThreshold=0.5·langID可選。字符串,用於指出語音引擎應使用哪一種語言。該字符串格式遵循所述xmllang規定。例如,langID=『en-us』表示美國英語。只有當langID在所述語法元素(見2.1.2)中沒有規定時這個屬性才有效。
·mode可選。用於規定將被遵循的識別模式。如果未規定,默認為『automatic』模式。
2.2.2特徵下述特徵包含由所述識別處理返回的結果(這些由所述上層瀏覽器支持)。
·recoResult只讀。識別結果,如2.1.2所述,保持在包含語義標記語言(SML)的XML DOM節點對象中。在沒有識別的情況下,所述特徵返回空值。
·text讀/寫。用於保持被識別的字的文本的字符串(即,在讀模式下在recoResult的SML識別返回中的最高層元素的文本屬性內容的簡寫。在寫模式下,可以分配一個字符串,然後對該字符串進行語法分析,如同該字符串與識別結果相對應一樣。所述寫模式允許標記語言標籤的擴展,並允許對所述客戶機設備的其他組件和應用程式進行處理。可以從「smex」消息對象中獲得所述字符串)。
·status只讀。從識別平臺返回的狀態代碼。對於成功識別來說可能的值是0,或者錯誤值是-1到-4(如在Start方法(2.3.1部分)、Activate方法(2.3.4部分)上可能的異常中規定的那樣),在識別器事件的接收(見2.4)中被設置為-11到-15。
2.3Object method(對象方法)使用在Reco的DOM對象中的下述方法可以控制Reco激活和語法激活。利用這些方法,上層瀏覽器能夠開始和停止Reco對象,取消進行中的識別,激活和去激活個別的語法頂層規則(僅僅是上層瀏覽器)。
2.3.1 Start(開始)所述Start方法開始識別處理,將所有的用於沒有被明確去激活的識別環境的頂層規則作為有效語法使用,。
Syntax(語法)Object.StartRetum value(返回值)無。
Exception(例外)所述方法設置非零狀態代碼,當錯誤時激活一個onNoReco事件。可能的錯誤包括沒有語法(reco狀態=-1),未能加載語法,該錯誤可能是與不能編譯語法、不存在URI(reco狀態=-2)或語音平臺誤差(reco狀態=-3)類似的各種原因引起的。
2.3.2 stop(停止)述Stop方法是一個調用,用於結束識別處理。所述Reco對象停止記錄音頻,而且所述識別器將所接收音頻的識別結果返回到記錄被停止的點。釋放由所述Reco使用的所有識別資源,而且它的語法被去激活。(注意,由於識別器本身在識別一個完全語句之後將停止,所以,在自動模式的典型識別中不需要使用這種方法。)如果所述Reco還沒有開始,那麼,所述調用不起作用。
Syntax(語法)Object.StopRetum value(返回值)無。
Exception(例外)無。
2.3.3 Cancel(取消)所述Cancel方法停止將所述音頻反饋給所述識別器、去激活所述語法和釋放所述識別器,並丟棄任何識別結果。所述瀏覽器將忽略用於被取消的識別的識別結果。如果所述識別器沒有被開始,則所述調用無效。
Syntax(語法)Object.concelReturn value(返回值)無。
Exception(例外)無。
2.3.4 Activate(激活)所述Activate方法激活上下文無關語法(CFG)中的頂層規則。由於在『Started(開始的)』識別處理期間它將無效,所以,在開始識別之前必須調用激活。注意,用於還沒有被明顯去激活的識別上下文的所有語法頂層規則已經被處理為激活。
Syntax(語法)Object.Activate(strName);Parameters(參數)StrName必須的。將被去激活的規則名稱。一個空字符串將去激活所有規則。
Return value(返回值)無。
Exception(例外)無。
2.3.5 Deactivate(去激活)該方法去激活在語法中的頂層規則。如果該規則不存在,則該方法不起作用。
Syntax(語法)Object.Activate(strName);Parameters(參數)strName必需的。要被去激活的規則名稱。一個空字符串去激活所有規則。
Return value(返回值)無Exception(例外)無2.4 Reco事件所述Reco DOM對象支持下述事件,這些事件的處理程序可以被規定為所述Reco元素的屬性。
2.4.1 onReco當所述識別器具有所述瀏覽器可用的一個識別結果時,這個事件獲得激活。對於在自動模式中的Reco,這個事件自動停止識別處理並清除資源(見2.3.2)。OnReco通常被用於對所述識別結果的程序分析和將所述結果處理為所述頁。
Syntax(語法)
Event object Info(事件對象信息) Event Properties(事件特徵)雖然所述事件處理程序沒有直接接收所述特徵,但該處理程序能查詢與數據相關的事件對象(見在下面例子中的事件對象的使用)舉例下面的XHTML段落使用onReco調用一個腳本去分析識別結果並將所述值分配給適當的欄位。
onSilence用於在所述Reco上的initialTimeout屬性(見2.2.1)中規定的持續時間周期之前對由所述識別平臺檢測的無語音事件進行處理。這個事件自動取消了與自動識別模式相關的識別處理。 Event object Info(事件對象信息) Event Properties(事件特徵)雖然所述事件處理程序沒有直接接收特徵,但是,所述處理程序可以查詢與數據相關的事件對象。
2.4.3 onTimeoutonTimeout處理兩類通常反映了來自所述語音平臺的誤差的事件。
·它處理由所述標籤解釋程序發出的事件,所述標籤解釋程序發信號通知在所述識別被完成之前在maxtime屬性(見2.2.1)中規定的周期到期了。這個事件通常反映在分布式結構中可能發生的問題。
·當識別已經開始、但處理已經停止,而且在由babbleTimeout規定的所述周期中沒有識別時它還處理(ii)由所述語音識別平臺發出的事件(見2.2.1)。
這個事件自動取消所述識別處理。
Syntax(語法)
Event object Info(事件對象信息) Event Properties(事件特徵)雖然所述事件處理程序沒有直接接收特徵,但是,所述處理程序可以查詢與數據相關的事件對象。
2.4.4 onNoRecoonNoReco是一個當它不能返回有效識別結果時用於由所述語音識別平臺發出的事件的處理程序。其中這可能發生的不同情況由狀態代碼區分。該事件自動停止識別處理。
Syntax(語法) Event object Info(事件對象信息)
Event Properties(事件特徵)雖然所述事件處理程序沒有直接接收特徵,但是,所述處理程序可以查詢與數據相關的事件對象。
3Prompt(提示)所述提示元素被用於規定系統輸出。它的內容包括下述中的一個或多個·聯機的或被參考的文本,它可以利用韻律學或其他語音輸出信息進行標記;·從所包含的文本中隨機提取的可變值;·連結到音頻文件。
提示元素可以由下層瀏覽器(或被SMIL命令激活的)或由在上層瀏覽器上的對象方法進行說明性的解釋。
3.1 Prompt content(提示內容)所述提示元素包含用於系統輸出的資源,所述系統輸出可以是文本、對音頻文件的參考或兩者。
簡單的提示僅僅需要規定輸出所需要的文本,例如,promptid=「Welcome」
Thank you for calling ACME weather report.
/prompt
這個簡單的文本還可以進一步包含下述類型之一的標記。
3.1.1語音合成標記(Speech Synthesis markup)在提示元素中可以使用任何格式的語音合成標記語言。(這個格式在3.2.1中描述的『tts』屬性中規定)下述的例子示出了具有用於強調其中某些字的指令的文本promptid=「giveBalance」
you haveemphfive dollars/emphleft in your accont/prompt
3.1.2動態內容可能是恰恰在輸出所述提示之前需要在所述客戶機上計算所述提示的實際內容。為了確認一個特定值,例如在一個變量中需要解除參考所述值。所述值元素可以被用於這個目的。
value元素value可選。在文檔中檢索一個元素的值。
屬性·targetElement可選。必須規定href或targetElement。該元素的id包含將要被檢索的值。
·targetAttribute可選。所述元素的屬性,將從中檢索所述值。
·href可選。一個音頻段的URI。如果兩個都存在,那麼,href將取代targetElement。
所述targetElement屬性被用於參考位於包含文檔中的一個元素。其id由targetElement規定的元素的內容被插入到將被合成的文本中。如果所希望的內容被保持在所述元素的一個屬性中,則所述tagetAttribute屬性可以被用於規定在targetElement上所需的屬性。對於在HTML格式控制中解除參考所述值時是有用的。例如,在下面的表述中,「txtBoxOrigin」和「txtBoxDest」的「value」屬性在輸出所示提示之前被插入到所述文本中promptid=「Confirm」
do you want to travel fromvalue targetElement=「txtBoxOrigin」targetAttribute=「value」/
?/prompt
3.1.3 Audio files(音頻文件)所述值元素也可以被用於引用一個代替一個合成提示或者在該合成提示內的用於播放的預先記錄的音頻文件。下面的例子在所述提示結束處播放一個蜂鳴prompt
after the beep,please record your message.
value href=「/way/beep.wav/」
/prompt
3.1.4 Referenced prompt(被參考的提示)
不是規定內容聯機,而是所述src屬性可以經過URI利用一個空元素去參考外部內容,如下promptid=「welcome」src=「/ACMEWeatherPrompts#Welcome」/
所述src屬性的目標可以保持規定用於聯機提示的任何一個或所有的上述內容。
3.2 Attributes和Properties(屬性和特徵)所述提示元素保持下述屬性(下層瀏覽器)和特徵(下層和上層瀏覽器)。
3.2.1 Attributes(屬性)·tts可選。用於文本-語音合成的標記語言類型。預設值為「SAPI5」。
·src如果規定了聯機提示,則可選。一個被參考提示的URI(見3.1.4)。
·bargein可選。整數。從提示開始到提示所述重放可能被聽眾中斷時的一個微秒級的時間周期。預設值是無限大,即,不允許任何bargein(bargein)。Bargein=0允許直接的bargein。它被用於判斷哪種bargein受到平臺的支持。根據在所述reco開始時哪一種被允許,這樣可以配置關鍵字或基於引擎的bargein次數。
·prefetch可選。布爾標記,用於當加載所述頁時指出所述提示是否應當被立即合成並被高速緩存在瀏覽器處。默認值為假3.2.2 Properties(特徵)上層瀏覽器支持下述所述提示的DOM對象中的特徵。
·bookmark只讀。字符串對象,用於記錄所遇到的最後一個合成書籤的文本。
·status只讀。從所述語音平臺返回的狀態代碼。
·Innertext只讀。這個特徵將提供所述提示的文本轉錄,該文本轉錄將被傳送給所述合成器。例如,如果一個提示包括播放音頻波文件,那麼,這個特徵提供那個提示(通常是作為所述音頻波文件存儲的)的文本版本,然後它將被顯示,或者例如通過將所述提示的文本版本提供給運行於所述客戶機設備上的一個組件或應用程式加以使用。該innertext特徵還能夠被用於提供包含動態內容的提示的文本版本。
3.3 Prompt methods(提示方法)
在所述提示的DOM對象中可以使用下述方法控制提示播放。利用這種方式,上層瀏覽器可以開始和停止提示對象。在進行中暫停和恢復所述提示,以及改變被合成語音的速度和音量。
3.3.1 Start(開始)開始重放所述提示。除非給定一個參數,否則所述方法播放所述對象的內容。在一個給定時間,僅僅有一個單一的提示對象被認為是『開始』,因此,如果連續調用Start,所有的重放都將被按順序進行。
Syntax(語法)Objects.Start([strText]);Parameters(參數)o strText將被傳送給所述合成器的文本。如果存在,這個參數將取代所述對象的內容。
Return value(返回值)無。
Exception(例外)如果伺服器已經釋放了音頻緩衝器,則將狀態設置為-1,並激活onComplete事件。
3.3.2 Pause(暫停)不用刷新所述音頻緩存器的情況下暫停重放。如果重放被暫停或停止了,則這種方法不起作用。
Syntax(語法)Object.Pause;Return value(返回值)無。
例外無。
3.3.3 Resume(恢復)不用刷新所述緩存器的情況下恢復重放。如果所述重放並沒有被暫停,則這種方法不起作用。
Syntax(語法)
Object.Resume;Retum value(返回值)無。
Exception(例外)當恢復失敗時產生一個例外。
3.3.4 Stop(停止)如果沒有準備好,則停止重放,並刷新所述音頻緩存器。如果重放已經被停止,則該方法簡單地刷新所述音頻緩存器。
Syntax(語法)Object.Stop;Return value(返回值)無。
Exception(例外)無。
3.3.5 Change(改變)改變重放的速度和/或音量。所述改變可以在播放期間被調用。
Syntax(語法)Object.Change(speed,volume);Parameters(參數)o Speed(速度)必須。用於改變的因數。Speed=2.0表示當前速率的兩倍,Speed=0.5表示當前速率的一半,Speed=0表示恢復所述預設值。
o volume(音量)必須。用於改變的因數。Volume=2.0表示當前音量的兩倍,volume=0.5表示當前音量的一半,volume=0表示恢復所述預設值。
Return value(返回值)無。
Exception(例外)無。
3.3.6提示控制的例子下述的例子示出了使用上述方法的所述提示控制如何被創作以用於不支持關鍵字bargein機制的一個平臺。
3.4提示事件所述提示DOM對象支持下述事件,它們的處理程序可以被規定為所述提示元素的屬性。
3.4.1 onBookmark當遇到一個合成書籤時激活。所述事件不暫停重放。
Syntax(語法)

Event Obiect Info(事件對象信息)

Event Properties(事件特徵)雖然所述事件處理程序沒有直接接收特徵,但是,所述處理程序能夠查詢與數據相關的所述事件對象。
3.4.2 onBargein當檢測到一個用戶的bargein事件時激活。(注意,對什麼構成了例如能量檢測或關鍵字識別的一個bargein事件的確定被傳送到所述平臺。)這個事件處理程序的說明不會自動地打開所述bargein。
Syntax(語法) Event Object Info(事件對象信息) Event Properties(事件特徵)雖然事件處理程序沒有直接接收特徵,但所述事件處理程序可以查詢與數據相關的所述事件的對象。
3.4.3 onComplete當所述提示重放達到終點或遇到例外時(如上面所定義的)激活。
Syntax(語法) Event Object Info(事件對象信息) Event Properties(事件特徵)雖然所述事件處理程序沒有直接接收特徵,但是,所述處理程序可以查詢與數據相關的事件對象。
3.4.4使用bookmarks(書籤)和events(事件)下面的例子示出了書籤事件如何能夠被用於確定用戶響應的語義—對出發城市的校正或對目標城市的提供—按照何時在所述提示輸出期間發生bargein。所述onBargein處理程序調用一個將全局『mark』變量設置為在所述提示中遇到的最後一個書籤的腳本,並且這個『mark』的值被用在所述reco的後處理函數(「heard」)中以設置正確的值。
  <input name=「txtBoxOrigin」value=「Seattle」  type=「text」/>  <input name=「txtBoxDest」type=「text」/>  <promptid=「confirm」onBargein=「interrupt」  bargein=「0」>  From<bookmark mark=「mark_origin_city」/>  <value targetElement=「origin」  targetAttribute=「value」/>  please say<bookmark mark=「mark_dest-city」/>the  destination city you want to trayel to.</prompt>  <reco onReco=「ProcessCityConfirm」>  <grammar src=「/grm/l033/cities.xml」/>  </reco>  ......  </body>  4DTMF]]>創建一個DTMF識別對象。所述對象可以使用聯機標記語言語法或通過腳本編寫被實例化。當被激活時,DTMF能夠使得提示對象激活一個bargein對象。應當注意,下面結合在第五部分中討論的DTMF識別和調用控制所討論的所述標籤和事件通常適用於在聲音瀏覽器216和媒體伺服器214之間的交互作用。
4.1 Content(內容)·dtmfgrammar用於聯機語法。
·bind將DTMF轉換結果分配給適當的欄位。
Attributes(屬性)·targetElement必須。將向其分配部分識別結果的元素(與W3C SMIL 2.0相同)。
·targetAttribute將向其分配所述識別結果的所述目標元素的屬性(與SMIL2.0相同)。預設值是「value」。
·test與所述分配相關的條件。預設值是真。
例1將多個鍵映像到文本上。
MDTF id=「city_choice」timeout=「2000」numDigits=「1」
dtmfgrammar
key value=「1」Seattle/key
key value=「2」Boston/key
/dtmfgrammar
bind targetElement=「city」targetAttribute=「value」
/
/DTMF
當「city_choice」被激活時,如果用戶按壓l,則「Seattle」將被分配給輸入欄位,如果用戶按壓2,則「Boston」將被分配給輸入欄位,其它情況則什麼也不做。
例2DTMF如何與多個欄位一起使用。
input type=「text」name=「area_code」/
input type=「text」name=「phone_number」/
DTMF id=「area_code」numDigits=「3」onReco=「extension.Actuvate」
bind targetElement=「area_code」/
/DTMF
DTMF id=「extension」numDigits=「7」
bind targetElement=「phone_number」/
DTMF
這個例子表明了如何允許用戶輸入到多個欄位。
例3當用戶開始DTMF時如何允許語音和DTMF輸入以及禁止所述語音。
4.2屬性和特徵
4.2.1屬性·dtmfgrammar必須。DTMF語法的URI。
4.2.2特徵·DTMFgrammar讀-寫。
一個XML DOM節點對象,用於將DTMF表示到字符串轉換矩陣(也被稱之為DEMF語法)。預設語法是dtmGrammar
key value=「0」0/key
key value=「1」l/key
key value=「9」9/key
key value=「*」*/key
key value=「#」#/key
/dtmfgrammar
·flush讀/寫,布爾標記,用於指出在激活之前是否自動刷新在基礎電話接口卡上的DTMF緩存器。預設值是假,用於啟用超前鍵入。
·escape讀-寫。該escape鍵用於結束所述DRMF讀對話。Escape鍵是一個鍵。
·numDigits讀-寫。用於結束所述DTMF讀對話的擊鍵數量。如果同時規定了所述escape和length,那麼,當滿足其中任何一個條件時,所述DTMF對話結束。
·dtmfResult只讀字符串。用於存儲用戶已經輸入的DTMF鍵。如果擊鍵了,則結果中包括所述escape。
·text只讀字符串,用於存儲空白間隔的符號串,其中根據DTMF語法轉換每個符號。
·initialTimeout讀-寫。用於接收第一次DTMF擊鍵的微秒級的超時周期。如果未規定,則預設值為所述電話平臺的內部設置。
·interdigitTimeout讀-寫。用於相鄰DTMF擊鍵的微秒級的超時周期。如果未規定,預設值為所述電話平臺的內部設置。
4.3 Object methods(對象方法)4.3.1 Start允許DTMF中斷和開始一次DTMF讀取對話。
Syntax(語法);Object.Start;Return(返回值)無Exception(例外)無4.3.2 Stop禁止DTMF。然而由所述用戶輸入的擊鍵,仍保留在所述緩存器中。
Syntax(語法)Object.Stop;Return(返回值)無Exception(例外)無4.3.3 Flush刷新所述DTMF緩存器。在DTMF對話期間不可以調用所述Flush。
Syntax(語法)object.Flush;Return(返回值)無Exception(例外)無4.4事件
4.4.1 onkeypress當按壓DTMF鍵時激活。這取代遺傳自所述HTMF控制的預設事件。當用戶擊打所述escape鍵時,是onReco事件、而不是onKeypress事件被激活。
語法 事件對象信息 事件特徵雖然所屬事件處理程序沒有直接接收特徵,但是,所述處理程序可以查詢與數據相關的事件對象。
4.4.2 onReco當一次DTMF對話結束時激活。所述事件自動禁止當前DTMF對象。
語法 事件對象信息 事件特徵雖然所述事件處理程序沒有直接接收特徵,但是,所述處理程序可以查詢與數據相關的事件對象。
4.4.3 onTimeout當在超時之前沒有接收到短語完成事件時激活。該事件自動停止識別處理過程。
語法 事件特徵信息; 事件特徵雖然所述事件處理程序沒有直接接收到特徵,但是,所述處理程序能查詢與數據相關的時間對象。
5 CallControl object(呼叫控制)對象表示電話聲音瀏覽器的電話接口(呼叫、終端和連接)。該對象在GUI瀏覽器中與窗口對象一樣。因此,所述電話對象的壽命與所述瀏覽器示例本身相同。用於所述電話的聲音瀏覽器用具體例子將所述電話對象實例化,一個對應每個呼叫。用戶不能實例化或處理所述對象。
關於這一點,只有和第一方呼叫控制相關的特性經過這個對象顯露出來。
5.1特徵·address(地址)只讀。XML DOM節點對象。實施專用。這是呼叫者的地址。對於PSTN,可以是ANI和ALI的一個組合。對於VOIP,可以是所述呼叫者的IP位址。
·ringsBeforeAnswer在對輸入呼叫應答之前震鈴的數量。預設無限制,這意味著開發者必須使用下面的Answer方法回答所述電話呼叫。當呼叫中心使用ACD查詢所輸入的電話呼叫時,這個數量可以被設置為0。
5.2 Methods(方法)注意這裡所有的方法都是同步的。
5.2.1 transfer(轉移)轉移所述呼叫。對於盲區轉移,所述系統可以終止原始呼叫,並且一旦所述轉移完成,則釋放系統資源。
語法telephone.Transfer(strText);參數o strText必須。想要的接收器地址。
返回值無例外當所述呼叫轉移失敗時例如當終端方正在忙、沒有這個號碼、傳真或應答機制應答時產生一個例外。
5.2.2 Bridge第三方轉移。在所述呼叫被轉移之後,所述瀏覽器可以釋放分配給所述呼叫的資源。當該被轉移的呼叫使用strUID返回時,它一直持續到所述應用程式恢復所述對話狀態為止。基礎電話平臺可以將返回的呼叫傳送給不同的瀏覽器。只有當接收者終止所述呼叫時才可以返回所述呼叫。
語法telephone.Bridge(strText,strUID,[imaxTime]);參數o strText必須。想要的接收器的地址。
o strUID必須。專用於識別當前呼叫的對話ID。當所轉移的呼叫被傳送回來時,在地址屬性中將出現所述srtUID。
o imaxTime可選。被轉移呼叫的秒級最大持續時間。如果未規定,預設值為平臺內部值。
返回值無。
例外無。
5.2.3 Answer(應答)應答所述電話呼叫。
語法telephone.Answer;返回值無。
例外當不存在連接時產生一個例外。在這種情況下將不激活onAnswer事件。
5.2.4 Hangup(掛機)結束電話呼叫。如果當前沒有呼叫在進行,則不起作用。
語法telephone.Hangup;返回值無。
例外無。
5.2.5 Connect(連接)開始第一方向外訪問的電話喊叫。
語法telephone.Connect(strText,[iTimeout]);參數o strText必須。希望的接收器的地址。
o iTimeout可選。在放棄嘗試之前微秒級的時間。如果未規定,預設值為平臺內部值。
返回值無。
例外當所述呼叫不能被完成、包括遇到忙信號或到達一個FAX或應答機制時產生一個例外(注意硬體可能不支持這個特性)。
5.2.6 Record(記錄)將用戶的音頻記錄到文件中。
語法telephone.Record(uel,endSilence,[maxTimeout],[initialTimeout]);參數o url必須。所述記錄結果的url。
o endSilence必須。微秒級的時間,用於在檢測到靜默之後停止所述記錄。
o maxTimeout可選。用於記錄的秒級最大時間。預設值為平臺規定。
o initialTimeout可選。在記錄開始時允許的靜默最大時間(微秒級)。
返回值無。
例外當所述記錄不能被寫入所述url時產生一個例外。
5.3事件處理程序使用電話聲音瀏覽器的APP開發者可以執行下述事件處理程序。
5.3.1 onIncoming當聲音瀏覽器接收到一個輸入電話呼叫時被調用。所有的開發者都能夠使用這個處理程序去讀取呼叫者的地址和在應答所述電話呼叫之前調用定製的特性。
5.3.2 onAnswer當所述聲音瀏覽器應答所輸入的電話呼叫時被調用。
5.3.3 onhangup當用戶掛斷電話時被調用。當所述程序調用Hungup或Transfer方法時,這個事件不能被自動激活。
5.4例子這個例子示出了腳本編制,用於連結到所述呼叫控制事件以操縱所述電話對話。
6控制對話流程
6.1使用HTML和腳本實現對話流程這個例子示出了如何實現一個簡單的對話流程,所述流程查找與輸入框相關的值並提供用於所述輸入的與上下文敏感的幫助。它使用在所述HTML輸入機制(在一可視瀏覽器中作為「tooltip」(工具觸點)機制使用的)上的標題屬性幫助形成所述幫助提示的內容。
<![CDATA[  <html>  <title>Contex Sensitive help</title>  <head>  <script>var focus;  function RunSpeech{  if(trade.stock.value=」」){  focus=「trade.stock」;  p_stock,Start;  return;  }  if(trade.op.value=「」){  focus=「trade.op」;  p_op.Start;  return;  }  //..repeat above for all fields  trade.submit;  }  function handl{  res=event.srcElement.recoResult;  if(res.text=「help」){  text=「please just say」;  text+=document.all[focus].title;  p_help.Start(text);  }else{//proceed with value assignments  }  }    <peompt id-「p_op」onComplete=「g_op」.Start>Do you want to buy orsell</prompt>  <prompt id=「p_quantity」onComplete=「g_quantity.Start」>how  many shares?</prompt>  <prompt ie=「p_peice」onComplete=「g_price.Start」>What’s the price</prompt>  <reco id=「gz-stock」onReco=「handle;checkFields」>  <grammar src=「g_stock.xml」/>  </reco>  <reco id=「g_op」onReco=「handle」;checkFields/>  <grammar src=「./g_op.xml」/>  </reco>  <reco id=「g-quantity」onReco=「handle;checkFields」/>  <grammar src=「./g_quant.sml」/>  </reco>  <reco id=「g_price」onReco=「handle;checkFields」/>  <geammar src=「./guant.xml」/>  </reco>  <form id=「trade」>  <input name=「op」title=「stock name」/>  <select name=「op」title=「buy or sell」><option value=「buy」/>  <option value=「sell」/>  </select>  <input name=「quantity」title=「numeber of shares」/>  <input name=「price」title=「price」/>  </form>  </body>  </html>]]>6.2使用SMIL下面的例子示出了使用SMIL機制激活提示和reco元素。
7 SMEX(消息)元素/對象作為簡單消息交換/擴展的簡稱,SMEX是一個與外部組件或客戶機設備平臺上的應用程式進行通信的對象。它可以被嵌入到XML或類似的基於標記的文檔中作為具有標籤名smex的元素。該消息對象的範例用途可以包括登錄和電話控制。該對象表示當它允許一個新的功能性通過發消息被添加時基於標記的識別和提示的可擴展性。
在舉例說明的基礎上,所述對象被用於利用平臺組件或應用程式經過它自己的配置參數或屬性說明建立一個異步消息交換信道。它具有一個字符串特性,每當所述特性是分配操作的接收者(即1值)時,該特性的內容被傳送給所述平臺組件或應用程式。類似的,它還具有SML DOM節點類型的特性,用於保持從所述平臺組件或應用程式中接收的所述消息。所述消息對象每當接收一個平臺消息時都要傳送一個事件。由於它的基礎操作是異步的,所以,該對象還具有內置時鐘,供應用程式的開發者操縱超時設置。
對於所述通信裝置來講,所述消息或smex對象是不可知的。但是,在一個實施例中,所述smex對象與原始XML或標記元素具有相同的壽命,即,當它的主機文檔沒有被加載時,所述smex對象將被破壞。而在很多情況下(例如呼叫控制),當它未被加載時,所述smex對象能夠執行自動清除並釋放通信資源,可以有很多使用情況,在這些情況下,期望遍布標記頁的持久的通信連結。對於那些情況,所述結構將把放棄分配資源(例如關閉插座)的責任付諸於所述應用程式的開發者。
所述smex對象在消息格式(方案)方面是中性的。在某些實施例中,可能希望要求執行者利用對現存標準消息格式(例如在SIP或CCXML中使用的)的強烈偏愛支持少量的基本方案。實質上,所述結構允許所述平臺和應用程式開發者採用XML或類似標記的標準化可擴展性的所有優點以便引入其他的特性而不損失平均時間的相互可操作性。
例l使用smex作為登錄對象這個例子說明了如何使用一個具有它的類id和接口id的com對象來實現一個登錄機制。語音開發者把一個指示用於登錄的興趣級別的屬性「log」加到相關的SML節點上。在上述實施例中,app開發者通過使用單個連接指示選擇登錄值大於或等於3的所有節點登錄。該例子在上層和下層瀏覽器中都可使用。
這個例子還試圖說明只要不出現smex對象對返回到所述識別文檔的所述平臺消息的傳送響應的混淆,一個頁就可以包含與相同平臺組件通信的多個smex對象。上述例子說明一個組件可以實現多個接口,其中的每一個接口都具有它自己的smex或消息導管。相同的參數應用到TCP伺服器上以聽取多個埠。
例2讀取與輸入呼叫相關的地址這個例子示出了所述連接指示是如何能夠被用於處理所接收的消息的。這個例子假設用於輸入呼叫的消息具有多個子元素remote_addr、transfer_addr和local_addr,它們的內容分別表示所輸入呼叫的遠程、轉移和本地地址。
在這個例子中,以HTTP為基礎的無連接協議被用於與所述電話伺服器通信。這裡所述電話伺服器被設計成與一個以上的瀏覽器通信,因此,當app開始時,每個客戶機都必須使用由所述伺服器指定的專用id識別它本身。在這個例子中,它是通過由所述伺服器傳送「start_listening」消息實現的。在這個例子中,雖然其他技術(例如客戶機端COOKIE)也可以被用於管理對話狀態,但是,對話id被存儲在可以被傳送回給所述網絡伺服器並且被傳送給所述應用程式的下一頁的隱藏欄位中。與用於Reco的情況相同,對於每個平臺消息來講並不是每個連接指示都被執行。上述例子並不意味著當存在一個輸入電話呼叫時僅僅接收所述專用id。
7.1特徵由於只有所述讀/寫特徵被作為與初始值規定相關的屬性允許進行服務,所以,所述smex對象可以具有下述特徵。
·Sent讀/寫。與將被傳送給所述平臺組件的消息對應的一個字符串。每當所述傳送被作為1值(lvalue)使用時,它的內容被發送。當所述特徵被用做r值(rvalue)或當一個空對象被指定給這個特徵時,它不起作用。
·received只讀,用於指出所接收消息的SML DOM節點數據。在下一個onRecieve事件被準備好傳送之前所述消息將可以得到作為所述r值(rvalue)。
·timer讀/寫,微秒級的、用於指出在觸發一個超時事件之前過去時間的數量。當所述特徵被分配給一個正值時,所述時鐘開始啟動。當正在進行向下計數時,所述值可以變化。在不觸發所述超時事件的情況下,0或負值停止所述時鐘。預設值為0。意味著沒有超時。
·status只讀,用於指出所述對象最新狀態的一個整數。可能的值是0、-l和-2,他們分別意味著正常、超時期滿和不能建立與所述平臺的通信或已經中斷。通過所接收的特徵傳送平臺專用誤差消息。對於連續傳送所述誤差消息的情況下,所述狀態代碼為0。
7.2 Event(事件)所述對象具有下述特徵·onRecieve當得到所述平臺消息時傳送這個事件。如果具有通過bind元素傳送的任何命令,那麼,在所述事件被啟動之前首先評估這些命令。在傳送之前,所述received特徵將被更新。
·onError當所述超時期滿或遇到一個通信連結誤差時傳送這個事件。當傳送該事件時,如上所述將利用一個相應的誤差碼來更新所述status特徵。
7.3 Child Elements(子元素)當假設一個元素形成時,smex可以具有下述子元素·bind除了所述指令工作於所接收的消息以外,與在reco中的情況相同。
·param與在reco中情況相同,用於提供與所述smex對象相關的平臺專用參數。可以使用「name」屬性,並且param元素的內容是該參數的值。在一個實施例中,所述參數應當被理解為與名稱空間和XML數據類型傳送相關的標準XML屬性。
7.4 Other Comments(其它命令)一種用於擴充與登錄功能相關的SMEX的理想方式是smex id=「logSerwer」....../smex
scriptfunction logMessage(logClass,message){logSerwer.sent=logClass+「|」+message;}/script
實際上,這利用其性能可以被定製的(全局)功能擴展了所述對象。在上述的例子中,所述登錄功能被編程以便在所述id和所述消息之間插入欄位分割符「|」。
對於那些不喜歡全局功能的人來講,作為一種對象方法,他們可以使用ECMAScript的「prototype」屬性。例如
可以以多種面向對象的方式應用所述函數logSerwer.logMessage(RECO_LOG_ERROR,「My message」);應當注意,為了在上述例子中進行擴展,雖然所有必須的結構都已經被很好地建立了標準結構,但是,還需要來自所述smex對象構成中的多項工作。
權利要求
1.一種用於處理數據的伺服器/客戶機系統,該系統包括一個網絡,它包括一個網絡伺服器,具有可遠程訪問的信息;一個客戶機設備,具有一個用於指示將被輸入的欄位的再現設備,該客戶機設備被配置為根據一個該用戶想要哪一種欄位順序輸入的指示,記錄與所述欄位中的每一個相關的輸入數據,其中該客戶機適於將輸入數據發送給一個遠程位置;以及一個識別伺服器,被配置為接收輸入數據並將指示什麼被識別出來的數據返回給該客戶機和該網絡伺服器中的至少一個。
2.根據權利要求1所述的系統,其特徵在於從該網絡伺服器接收到的、並被提供給該客戶機設備的所述信息是一種標記語言。
3.根據權利要求2所述的系統,其特徵在於從該客戶機設備接收到的所述標記語言包括一個或若干個標記部分以及一個或若干個腳本部分。
4.根據權利要求3所述的系統,其特徵在於所述標記語言包括一個將一個語法與一個欄位相關聯的指示。
5.根據權利要求4所述的系統,其特徵在於所述識別伺服器接收該輸入數據以及該語法的指示。
6.根據權利要求1所述的系統,其特徵在於所述客戶機適於在將所述輸入數據發送給所述遠程伺服器之前對所述輸入數據進行標準化。
7.根據權利要求2述的系統,其特徵在於所述網絡伺服器包括一個伺服器端插件模塊,用於為該客戶機設備動態產生一個標記語言頁。
8.根據權利要求1所述的系統,進一步包括一個具有話筒和揚聲器的第二客戶機設備,所述第二客戶機設備被配置為響應於給客戶的提示,記錄與一組欄位中的每一個相關聯的語音數據,其中所述第二客戶機設備適於將該語音數據發送給所述識別伺服器。
9.根據權利要求8所述的系統,其特徵在於所述第二客戶機設備包括一個能夠再現來自所述網絡伺服器的內容的電話和聲音瀏覽器。
10.根據權利要求9所述的系統,其特徵在於自所述網絡伺服器接收的、並提供給每一個客戶機設備的所述信息是一種標記語言。
11.根據權利要求8所述的系統,其特徵在於所述網絡伺服器包括一個伺服器端插件模塊,用於為所述客戶機設備動態產生標記語言。
12.根據權利要求11所述的系統,其特徵在於所述伺服器端插件模塊作為該客戶機設備類型的一個函數來動態產生標記語言。
13.根據權利要求12所述的系統,其特徵在於所述伺服器端插件模塊檢測所述客戶機設備的類型。
14.根據權利要求11所述的系統,其特徵在於所述網絡伺服器包括若干可由所述伺服器端插件模塊訪問的對話模塊,每一對話模塊適於使用語音識別獲得數據,所述伺服器端插件模塊作為一個對話模塊的一個函數生成所述標記語言。
15.根據權利要求1所述的系統,其特徵在於所述網絡伺服器和所述識別伺服器位於單個機器中。
16.一種用於處理數據的伺服器/客戶機系統,該系統包括一個網絡,它包括一個網絡伺服器,具有可遠程訪問的信息;一個客戶機設備,具有一個話筒和一個再現組件,該客戶機設備被配置為從該網絡伺服器獲得信息,所述信息具有相應的欄位,所述客戶機設備進一步被配置為記錄與所述欄位中的每一個相關的輸入數據,並且其中該客戶機適於將輸入數據以及一個用於輸入識別的語法的指示發送給一個遠程位置;以及一個識別伺服器,被配置為接收所述輸入數據和所述語法指示,所述識別伺服器將指示什麼被識別出來的數據返回給該客戶機和該網絡伺服器中的至少一個。
17.根據權利要求16所述的系統,其特徵在於從該網絡伺服器接收到的、並被提供給該客戶機設備的所述信息是一種標記語言。
18.根據權利要求16所述的系統,其特徵在於所述客戶機設備包括一個電話,而該再現組件包括一個揚聲器。
19.根據權利要求16所述的系統,其特徵在於所述再現組件包括一個顯示所述欄位的顯示器。
20.根據權利要求16所述的系統,其特徵在於所述客戶機和所述識別伺服器位於單個機器中。
21.一種用於在一個客戶機/伺服器系統中處理聲音識別的方法,該方法包括從一個網絡伺服器向一個客戶機設備傳輸一個標記語言頁,該頁具有被配置為從該客戶機設備的一個用戶獲得輸入數據的擴展;在所述客戶機設備上再現所述標記語言頁;獲得作為從所述用戶輸入的一個函數的輸入數據;將所述輸入數據以及一個相關語法的指示傳輸給遠離所述客戶機設備的一個識別伺服器;在所述客戶機和所述網絡伺服器中的至少一個上接收來自所述識別伺服器的、指示什麼被輸入的識別結果。
22.根據權利要求21所述的方法,其特徵在於再現所述標記語言包括為數據入口顯示欄位,其中獲得輸入數據包括從所述用戶接收一個關於後續輸入與哪一欄位相關聯的指示。
23.根據權利要求21所述的方法,其特徵在於再現所述標記語言包括可聽的提示所述用戶。
24.根據權利要求21所述的方法,其特徵在於所述標記語言模擬腳本編寫。
全文摘要
一種用於處理數據的伺服器/客戶機系統包括一個網絡,所述網絡具有一個帶有可遠程訪問的信息的網絡伺服器。一個客戶機設備包括一個話筒和一個再現組件,例如一個揚聲器或顯示器。所述客戶機設備被配置為從該網絡伺服器獲得信息,並記錄與該信息中包含的欄位相關的輸入數據。所述客戶機設備適於將輸入數據以及一個用於識別的語法的指示發送給一個遠程位置。一個識別伺服器接收所述輸入數據和所述語法指示。所述識別伺服器將指示了什麼被識別出來的數據返回給該客戶機和該網絡伺服器中的至少一個。
文檔編號G10L15/30GK1420447SQ0213180
公開日2003年5月28日 申請日期2002年4月30日 優先權日2001年5月4日
發明者王冠三, 洪小文 申請人:微軟公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀