專利名稱:用于測試應(yīng)用程序的裝置及其方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于測試應(yīng)用程序的裝置及其方法。在為建立、開發(fā)和測試為交互電視系統(tǒng)的應(yīng)用程序中使用的寫作工具中有特別的應(yīng)用。
數(shù)字電視系統(tǒng)以數(shù)字而不是模擬形式給觀眾傳輸電視頻道。數(shù)字頻道在發(fā)射機(jī)端編碼為數(shù)字?jǐn)?shù)據(jù)流,而在接收機(jī)端使用數(shù)字解碼器解碼,數(shù)字解碼器可以在數(shù)字機(jī)頂盒(DSTB)中或在集成的數(shù)字電視中。為允許交互性,可以通過和與提供電視頻道相同的介質(zhì)或者通過不同的介質(zhì)例如電話連接提供一個(gè)上行鏈路。作為這里使用的術(shù)語“數(shù)字電視系統(tǒng)”例如包括任何衛(wèi)星、陸地、電纜和其它系統(tǒng)。
數(shù)字解碼器通常包含一個(gè)處理器,其上可以運(yùn)行稱為應(yīng)用程序的程序。應(yīng)用程序的例子包括節(jié)目指南、遠(yuǎn)程購物、問答比賽、家庭銀行和遠(yuǎn)程投票。這種應(yīng)用程序通常在電視屏幕上顯示一個(gè)菜單,用戶可以從其中選擇一個(gè)特別的選項(xiàng)。選擇的結(jié)果可以通過上行鏈路傳輸以允許采取適當(dāng)?shù)男袆?dòng)。
應(yīng)用程序可以與各種硬件諸如智能卡讀卡機(jī)、圖形卡、紅外遙控電路、鍵盤、輸入/輸出端口或調(diào)制解調(diào)器相互反應(yīng),它們也可以從傳輸電視信號(hào)的介質(zhì)接收數(shù)據(jù)。為提供應(yīng)用程序和硬件之間的接口,提供稱為設(shè)備的軟件模塊。這種設(shè)備包含為管理外部事件和物理接口必需的邏輯資源。在本發(fā)明的說明中詞“設(shè)備”用于指示這種軟件模塊。
隨著提供給用戶的服務(wù)數(shù)目的迅速增加,需要一種寫作工具,它可以允許設(shè)計(jì)、建立、診斷和測試應(yīng)用程序。
已知的寫作工具通常允許在工作站上開發(fā)應(yīng)用程序,例如WindowsNT或UNIX工作站。當(dāng)應(yīng)用程序?yàn)檫M(jìn)行測試準(zhǔn)備好時(shí),它被整體下載到一個(gè)數(shù)字解碼器,諸如一個(gè)DSTB。然后可以使用該數(shù)字解碼器測試應(yīng)用程序的性能。這一測試過程可能十分笨拙。
根據(jù)本發(fā)明,提供一種為接收機(jī)/解碼器測試應(yīng)用程序的裝置,它包括為模擬接收機(jī)/解碼器的功能的設(shè)備。
本發(fā)明提供的優(yōu)點(diǎn)是,不必提供接收機(jī)/解碼器和相關(guān)硬件來測試應(yīng)用程序。本發(fā)明另外提供的優(yōu)點(diǎn)是,應(yīng)用程序的開發(fā)者可以看見在該應(yīng)用程序中的任何改變的結(jié)果而不用下載該應(yīng)用程序到接收機(jī)/解碼器。
這里使用的術(shù)語“接收機(jī)/解碼器”可以意味著一個(gè)用于接收解碼或未解碼信號(hào)的接收機(jī),例如電視和/或無線電信號(hào),這些信號(hào)可以由某些其它設(shè)備廣播或傳輸。該術(shù)語還可以意味著一個(gè)用于解碼接收到的信號(hào)的解碼器。這種接收機(jī)/解碼器的實(shí)現(xiàn)可以包括一個(gè)與接收機(jī)集成在一起的解碼器,用于解碼接收到的信號(hào),例如“機(jī)頂盒”,這種解碼器與物理上分離的接收器結(jié)合作用,或者這種解碼器包括另外的功能,諸如萬維網(wǎng)瀏覽器、視頻記錄器、或電視。
模擬接收機(jī)/解碼器的功能的設(shè)備可以例如是編程接收機(jī)/解碼器功能的處理器。
可以使該裝置適用于運(yùn)行應(yīng)用程序,它可以使應(yīng)用程序開發(fā)者看到如果該應(yīng)用程序運(yùn)行在實(shí)際的接收機(jī)/解碼器上該應(yīng)用程序?qū)⑷绾伪憩F(xiàn)。優(yōu)選,使該裝置適用于在一個(gè)第一進(jìn)程中運(yùn)行應(yīng)用程序和在一個(gè)第二進(jìn)程中模擬接收機(jī)/解碼器的功能。這可以允許在一個(gè)實(shí)際的接收機(jī)/解碼器中發(fā)生的異步事件在第二進(jìn)程中被模擬,而同時(shí)該應(yīng)用程序在第一進(jìn)程中正在運(yùn)行。第一和第二進(jìn)程可以是彼此獨(dú)立的,和可以運(yùn)行在同一處理器上。該裝置可以另外包括一個(gè)分區(qū)的存儲(chǔ)器,用于允許在第一進(jìn)程和第二進(jìn)程之間傳送數(shù)據(jù)。
可以使該裝置適用于在第一線程內(nèi)運(yùn)行應(yīng)用程序,和在第二線程內(nèi)模擬接收機(jī)/解碼器的功能。第一和第二線程可以形成一個(gè)單一進(jìn)程的部分。
該裝置可以另外包括一個(gè)分區(qū)的存儲(chǔ)器,用于允許在第一和第二線程之間傳送數(shù)據(jù)。
接收機(jī)/解碼器的功能至少部分可以用軟件模擬,使得不一定提供在接收機(jī)/解碼器內(nèi)產(chǎn)生該功能的硬件。然而,在該裝置具有相應(yīng)于接收機(jī)/解碼器上的硬件的硬件可用的地方,可以使用該硬件來模擬接收機(jī)/解碼器的功能,因此可以使用相應(yīng)于在接收機(jī)/解碼器中的硬件的硬件來模擬接收機(jī)/解碼器的功能。
該裝置可以包括存儲(chǔ)設(shè)備(諸如存儲(chǔ)器,例如計(jì)算機(jī)存儲(chǔ)器或計(jì)算機(jī)可讀介質(zhì),諸如硬磁盤),用于存儲(chǔ)包含表示由在接收機(jī)/解碼器中的硬件項(xiàng)產(chǎn)生的數(shù)據(jù)的數(shù)據(jù)的文件。這可以允許模擬該項(xiàng)硬件的功能。還可以使該裝置適用于產(chǎn)生模擬接收機(jī)/解碼器輸出的輸出,例如在屏幕上顯示。這可以允許應(yīng)用程序開發(fā)者在屏幕上看到該應(yīng)用程序的輸出,就像它出現(xiàn)在電視屏幕上一樣。還可以使該裝置另外適用于接收作為表示由接收機(jī)/解碼器接收到的數(shù)據(jù)的輸入數(shù)據(jù),例如從一項(xiàng)硬件。這樣一項(xiàng)硬件可以在屏幕窗口內(nèi)表示。例如,在遙控單元的場合,該遙控單元的表示可以在屏幕窗口內(nèi)顯示,用戶可以與該遙控單元交互反應(yīng)以便測試應(yīng)用程序。這樣,可以使該裝置適用于產(chǎn)生一個(gè)為在屏幕上顯示的輸出,它表示接收機(jī)/解碼器可以與之交互反應(yīng)的一項(xiàng)硬件。
本發(fā)明還提供為編輯和測試一個(gè)應(yīng)用程序的裝置,包括為編輯該應(yīng)用程序的編輯器和為如上所述測試該應(yīng)用程序的裝置。應(yīng)該理解,術(shù)語“編輯器”包括為設(shè)計(jì)、建立或改變應(yīng)用程序的程序或其它工具。以這一方式,可以在同一裝置例如一個(gè)工作站上提供用于編輯應(yīng)用程序的編輯器和用于模擬接收機(jī)/解碼器的行為的模擬器以便測試該應(yīng)用程序。
可以使編輯器適用于產(chǎn)生一個(gè)為在屏幕上顯示的輸出,同時(shí)使為模擬接收機(jī)/解碼器的功能的設(shè)備適用于產(chǎn)生為在同一屏幕上顯示的輸出。這可以允許應(yīng)用程序開發(fā)者在用于編輯應(yīng)用程序的同一屏幕上看見該應(yīng)用程序的輸出。處理器可以包括為運(yùn)行編輯器和為模擬接收機(jī)/解碼器功能的設(shè)備兩者的處理器。可以使模擬接收機(jī)/解碼器的功能的設(shè)備適用于運(yùn)行由編輯器已經(jīng)編輯的應(yīng)用程序。
采取上述任何形式的裝置可以是這樣的,使得接收機(jī)/解碼器的功能至少是例如從遙控器、鍵盤或諸如調(diào)制解調(diào)器的通信設(shè)備接收和處理輸入數(shù)據(jù)、解碼視頻數(shù)據(jù)、產(chǎn)生視頻輸出、調(diào)諧到廣播信號(hào)、與智能卡通信之一,和優(yōu)選是至少下述設(shè)備之一的一種功能遙控器(REMOTECONTROL),串口(SERIAL),并口(PARALLEL),總線1394(BUS1394),調(diào)制解調(diào)器(MODEM),網(wǎng)絡(luò)(NETWORK),堆棧(STACK),時(shí)鐘(CLOCK),鍵盤(KEYBOARD),指針(POINTER),圖形設(shè)備(GRAPHIC),圖像設(shè)備(PICTURE),音頻設(shè)備(AUDIO),視頻設(shè)備(VIDEO),服務(wù)設(shè)備(SERVICE),顯示器(DISPLAY),SCTV,SCVCR,SCAUX,電源(POWER),備份設(shè)備(BACKUP),MLOAD,調(diào)諧器(TUNER),和智能卡(SMARTCARD)。
本發(fā)明還提供一個(gè)工作站,它包括一個(gè)用于編輯應(yīng)用程序的編輯器,一個(gè)用于模擬接收機(jī)/解碼器的功能的模擬器,和一個(gè)為顯示編輯器的輸出和模擬器的輸出的顯示器。
可以使工作站的模擬器適用于運(yùn)行已經(jīng)由編輯器編輯的應(yīng)用程序。可以在顯示器的窗口內(nèi)顯示模擬器的輸出??梢栽陲@示器的窗口內(nèi)模擬為給應(yīng)用程序輸入數(shù)據(jù)的輸入設(shè)備。
在本發(fā)明的方法方面,提供一種為接收機(jī)/解碼器測試應(yīng)用程序的方法,包括模擬接收機(jī)/解碼器的功能。
該方法可以另外包括運(yùn)行應(yīng)用程序的步驟??梢栽诘谝贿M(jìn)程中運(yùn)行應(yīng)用程序,在第二進(jìn)程中模擬接收機(jī)/解碼器的功能。第一和第二進(jìn)程可以彼此獨(dú)立。第一和第二進(jìn)程也可以在同一處理器上運(yùn)行??梢允褂梅謪^(qū)存儲(chǔ)器在第一進(jìn)程和第二進(jìn)程之間傳送數(shù)據(jù)。
在該方法中,可以至少部分以軟件模擬接收機(jī)/解碼器的功能??梢允褂孟鄳?yīng)于在接收機(jī)/解碼器中的硬件的硬件模擬接收機(jī)/解碼器的功能。
前述方法還可以包括使用模擬文件表示由在接收機(jī)/解碼器中的一項(xiàng)硬件產(chǎn)生的數(shù)據(jù)的步驟。
前述方法還可以包括產(chǎn)生為在屏幕上顯示模擬接收機(jī)/解碼器的輸出的一個(gè)輸出的步驟。
前述方法還可以包括接收作為表示應(yīng)該由接收機(jī)/解碼器接收的數(shù)據(jù)的輸入數(shù)據(jù)的步驟。
在本發(fā)明的方法方面,可以提供一種編輯和測試應(yīng)用程序的方法,包括編輯應(yīng)用程序和進(jìn)一步包括任何上述測試應(yīng)用程序的方法。
編輯方法可以產(chǎn)生為在屏幕上顯示的輸出,測試方法可以產(chǎn)生為在同一屏幕上顯示的輸出。編輯方法和測試方法可以在同一處理器上運(yùn)行。測試方法可以測試已經(jīng)由編輯方法編輯的應(yīng)用程序。
本發(fā)明還提供一種計(jì)算機(jī)可讀介質(zhì),其上存儲(chǔ)有為執(zhí)行任何上述方法的程序,以及包括為執(zhí)行任何上述方法的計(jì)算機(jī)程序產(chǎn)品。
本發(fā)明還提供一種基本如參考
的和在其中表示的方法和設(shè)備。
一個(gè)方面的特征可以應(yīng)用于另一方面,相似地,方法特征可以應(yīng)用于裝置方面,反之亦然。
現(xiàn)在參考附圖純粹以舉例方式說明本發(fā)明的優(yōu)選特征,附圖中圖1表示一個(gè)典型的數(shù)字電視系統(tǒng)的結(jié)構(gòu);圖2表示圖1的數(shù)字電視系統(tǒng)的交互反應(yīng)系統(tǒng)的結(jié)構(gòu);圖3是圖1系統(tǒng)的接收機(jī)/解碼器的結(jié)構(gòu)的原理示意圖;圖4是接收機(jī)/解碼器的分層結(jié)構(gòu)的功能方框圖;圖5表示為運(yùn)行應(yīng)用程序?qū)懽鞴ぞ叩墓ぷ髡?;圖6表示寫作工具的主要元素;圖7表示按照本發(fā)明的一個(gè)實(shí)施例的模擬器的主要模塊;圖8和9是模擬器操作的原理表示;圖10是模擬器的操作的第二例子的表示;圖11表示如何由接收機(jī)/解碼器產(chǎn)生一個(gè)為輸出的圖像的例子;圖12和13表示在一個(gè)模擬的接收機(jī)/解碼器上運(yùn)行的應(yīng)用程序的例子。
圖1表示數(shù)字電視系統(tǒng)1的一個(gè)概述。本發(fā)明主要包括一個(gè)常規(guī)的數(shù)字電視系統(tǒng)2,它使用公知的MPEG-2壓縮系統(tǒng)傳輸壓縮的數(shù)字信號(hào)。更詳細(xì)地說,在廣播中心的MPEG-2壓縮器3接收數(shù)字信號(hào)流(有代表性的是視頻信號(hào)流)。壓縮器3由鏈接5與多路復(fù)用器和加密器4連接。
多路復(fù)用器4接收多個(gè)另外的輸入信號(hào),組合傳送流和通過鏈路7傳輸壓縮的數(shù)據(jù)信號(hào)給廣播中心的發(fā)射機(jī)6,鏈路當(dāng)然可以使用包括遠(yuǎn)程通信鏈路的多種形式。發(fā)射機(jī)6發(fā)出電磁波信號(hào),通過衛(wèi)星上行鏈路8傳送到衛(wèi)星轉(zhuǎn)發(fā)器9,在那里信號(hào)被電子處理,經(jīng)過空間的衛(wèi)星下行鏈路10發(fā)送到地面的接收機(jī)12,常規(guī)上為由最終用戶擁有或租用的碟形天線。為傳輸數(shù)據(jù)的其它傳輸通道當(dāng)然是可能的,諸如地面廣播、電纜傳輸、組合衛(wèi)星/電纜鏈路、電話網(wǎng)絡(luò)等。
由接收機(jī)12接收的信號(hào)傳送給一個(gè)由最終用戶擁有或租用的集成的接收機(jī)/解碼器13,接收機(jī)/解碼器13與最終用戶的電視機(jī)14連接。接收機(jī)/解碼器13把壓縮的MPEG-2信號(hào)解碼成電視信號(hào),傳送給電視機(jī)14。雖然在圖1中表示的是單獨(dú)的接收機(jī)/解碼器,但是接收機(jī)/解碼器也可以是集成的數(shù)字電視的一部分。如在這里使用的,術(shù)語“接收機(jī)/解碼器”包括單獨(dú)的接收機(jī)/解碼器,諸如機(jī)頂盒,和具有集成在其內(nèi)的接收機(jī)/解碼器的電視機(jī)。
在一個(gè)多信道系統(tǒng)中,多路復(fù)用器4處理從一些并行信源接收的音頻和視頻信息,與發(fā)射機(jī)6反應(yīng)來沿著相應(yīng)數(shù)目的信道廣播信息。除了音頻視頻信息,電報(bào)或應(yīng)用程序或任何其它類型的數(shù)字?jǐn)?shù)據(jù)都可以引入這些信道中的一些或全部,與傳送的數(shù)字音頻和視頻信息交織在一起。
一個(gè)條件訪問系統(tǒng)15與多路復(fù)用器4和接收機(jī)/解碼器13連接,它的一部分位于廣播中心,一部分位于解碼器中。它能夠使最終用戶從一個(gè)或多個(gè)廣播供應(yīng)商訪問數(shù)字電視廣播。一張智能卡能夠插入接收機(jī)/解碼器13,它能夠解讀涉及商品提供的消息(亦即,通過廣播供應(yīng)商出售的一個(gè)或幾個(gè)電視節(jié)目)。用解碼器13和智能卡,最終用戶可以采取預(yù)訂方式或根據(jù)觀看付費(fèi)的方式購買提供的商品。
如上所述,由系統(tǒng)傳輸?shù)墓?jié)目在多路復(fù)用器4被加密編碼,應(yīng)用于一個(gè)給定傳輸?shù)臈l件和加密密鑰由訪問控制系統(tǒng)15確定。用這種方法傳輸加密編碼數(shù)據(jù)是付費(fèi)電視系統(tǒng)領(lǐng)域所公知的。通常,加密編碼數(shù)據(jù)與一個(gè)為解碼該數(shù)據(jù)的控制字一起傳送,控制字本身由所謂的運(yùn)行密鑰加密,用加密形式傳輸。
加密編碼數(shù)據(jù)和加密控制字然后由解碼器13接收,解碼器13已經(jīng)訪問存儲(chǔ)在插入解碼器的智能卡中的相同的運(yùn)行密鑰,來對加密的控制字解密,其后解密傳送的數(shù)據(jù)。已付貨的用戶將例如在每月一次的廣播EMM(權(quán)限管理消息)中接收為解密加密的控制字必需的運(yùn)行密鑰,以便許可觀看傳送的信號(hào)。
一個(gè)交互式系統(tǒng)16,也與多路復(fù)用器4和接收機(jī)/解碼器13連接,也是一部分位于廣播中心,一部分位于編碼器,能夠使最終用戶通過一個(gè)調(diào)制解調(diào)的回送通道17與多種應(yīng)用程序相互作用。調(diào)制解調(diào)的回送通道也可以用來與條件訪問系統(tǒng)15通信。交互式系統(tǒng)可以例如用于能夠使收看者立即與傳送中心通信,要求授權(quán)觀看特定的節(jié)目,下載應(yīng)用程序等。
附圖2表示本發(fā)明的數(shù)字電視系統(tǒng)1的交互電視系統(tǒng)16的一般結(jié)構(gòu)。
例如,交互系統(tǒng)16允許最終用戶從屏幕目錄購買商品,按需閱讀本地新聞和氣象圖和通過他們的電視機(jī)玩游戲。
交互系統(tǒng)4000概括包括4個(gè)主要元件
●位于廣播中心或某處的寫作工具4004,用于允許廣播提供商建立、開發(fā)、診斷和測試應(yīng)用程序;●位于廣播中心、連接到寫作工具4004的應(yīng)用程序和數(shù)據(jù)服務(wù)器4006,用于允許廣播提供商準(zhǔn)備、驗(yàn)證和格式化應(yīng)用程序和數(shù)據(jù),為交付給多路復(fù)用器和加密器4插入到MPEG-2傳輸流中(通常其專用部分),以便給最終用戶廣播;●包括一個(gè)運(yùn)行時(shí)間引擎(RTE)4008的虛擬機(jī),它是一個(gè)安裝在由最終用戶擁有或租用的接收機(jī)/解碼器13內(nèi)的可執(zhí)行代碼,用于允許最終用戶接收、驗(yàn)證、和加載應(yīng)用程序到解碼器13的工作存儲(chǔ)器中以便執(zhí)行。引擎4008還運(yùn)行常駐的通用應(yīng)用程序。引擎4008獨(dú)立于硬件和操作系統(tǒng);●在接收機(jī)/解碼器13和應(yīng)用程序和數(shù)據(jù)服務(wù)器4006之間的調(diào)制解調(diào)的回送通道17允許信號(hào)在最終用戶請求時(shí)指示服務(wù)器4006插入數(shù)據(jù)和應(yīng)用程序到MPEG-2傳輸流中。
交互電視系統(tǒng)使用“應(yīng)用程序”操作,這些應(yīng)用程序控制其內(nèi)包括的接收機(jī)/解碼器和各種設(shè)備的功能。應(yīng)用程序在引擎4008中作為“資源”文件表示?!澳K”是一組資源文件和數(shù)據(jù)。接收機(jī)/解碼器的“存儲(chǔ)器體積”是為模塊的存儲(chǔ)空間。模塊可以從MPEG-2傳輸流下載到接收機(jī)/解碼器13。
參考圖3,現(xiàn)在說明接收機(jī)/解碼器13或機(jī)頂盒的元件。在該圖中表示的元件將根據(jù)功能塊說明。
解碼器13包括一個(gè)中央處理器20,它包括相關(guān)的存儲(chǔ)器元件并適用于從串行接口21、并行接口22、調(diào)制解調(diào)器23(連接到圖1的調(diào)制解調(diào)的回送通道17)接收輸入數(shù)據(jù),和在解碼器的前面板上的開關(guān)觸點(diǎn)24。
另外,解碼器還適用于從一個(gè)紅外線遙控器25經(jīng)過控制單元26接收輸入信號(hào),還有兩個(gè)智能卡讀卡機(jī)27、28,適用于分別讀銀行或訂購智能卡29、30。帶有插入的訂購卡30的訂購智能卡讀卡機(jī)28與一個(gè)條件訪問單元29接合,給多路分配器/解密器30提供必要的控制字,以允許將加密的廣播信號(hào)解密。解碼器還包括一個(gè)常規(guī)的調(diào)諧器31和解調(diào)器32,在衛(wèi)星傳送的信號(hào)由單元30濾波和多路分配之前接收和解調(diào)。
解碼器內(nèi)數(shù)據(jù)的處理一般由中央處理器20來進(jìn)行。附圖4舉例說明了接收機(jī)/編碼器的中央處理器20的軟件結(jié)構(gòu)。參考附圖4,該軟件結(jié)構(gòu)包括一個(gè)運(yùn)行時(shí)間引擎4008,一個(gè)設(shè)備管理器4068和多個(gè)設(shè)備4062和設(shè)備驅(qū)動(dòng)器4066來運(yùn)行一個(gè)或多個(gè)應(yīng)用程序4056。
如在本說明中所使用的,一個(gè)應(yīng)用程序是一塊用于控制優(yōu)選是接收機(jī)/編碼器13的高級(jí)功能的計(jì)算機(jī)代碼。例如,當(dāng)一個(gè)最終用戶將遙控器25聚焦在從電視機(jī)14的屏幕上看到的一個(gè)按鈕目標(biāo)并按下確認(rèn)鍵時(shí),與該按鈕關(guān)聯(lián)的指令序列運(yùn)行。
一個(gè)交互式應(yīng)用程序建議若干菜單并在最終用戶的要求下執(zhí)行命令,提供涉及該應(yīng)用程序目的的數(shù)據(jù)。應(yīng)用程序可以是常駐的應(yīng)用程序,也就是存儲(chǔ)在接收機(jī)/解碼器13中的只讀存儲(chǔ)器(或者閃存儲(chǔ)器或其它非易失存儲(chǔ)器)中的應(yīng)用程序,也可以是廣播或下載到接收機(jī)/解碼器13的隨機(jī)存取存儲(chǔ)器或閃存儲(chǔ)器中的應(yīng)用程序。
應(yīng)用程序存儲(chǔ)在接收機(jī)/解碼器13的存儲(chǔ)器位置中,作為資源文件出現(xiàn)。資源文件包含圖形對象描述單元文件,變量塊單元文件,指令序列文件,應(yīng)用程序文件和數(shù)據(jù)文件,更詳細(xì)的描述在以上提到的專利說明書中。
接收機(jī)/解碼器包含的存儲(chǔ)器分成一個(gè)隨機(jī)存取存儲(chǔ)器部分,一個(gè)閃存儲(chǔ)器部分和一個(gè)只讀存儲(chǔ)器部分,但是這種物理結(jié)構(gòu)與邏輯結(jié)構(gòu)不同。存儲(chǔ)器可以進(jìn)一步分成與各種接口關(guān)聯(lián)的存儲(chǔ)器部分。從一種觀點(diǎn)來看,存儲(chǔ)器可以認(rèn)為是硬件的一部分;從另一種觀點(diǎn)來看,存儲(chǔ)器可以被認(rèn)為是支持和包含表示為與硬件分開的整個(gè)系統(tǒng)。
中央處理器20可以被認(rèn)為位于形成虛擬機(jī)4007的一部分的運(yùn)行時(shí)間引擎4008的中心。它在一邊(“高級(jí)”的一邊)與應(yīng)用程序連接,在另一邊(“低級(jí)”的一邊)經(jīng)過下面要討論的各種中間邏輯單元連接到接收機(jī)/解碼器硬件4061,包括上述各種接口(亦即,例如,串行接口21,并行接口22,調(diào)制解調(diào)器23和控制單元26)。
詳細(xì)參考圖4,各種應(yīng)用程序與虛擬機(jī)4007連接;一些更一般使用的應(yīng)用程序或多或少固定常駐在系統(tǒng)中,如在4057所指示的,而其它的應(yīng)用程序?qū)⑾螺d到系統(tǒng)中,比如從MPEG數(shù)據(jù)流或從要求的其它端口下載。
虛擬機(jī)4007除運(yùn)行時(shí)間引擎4008外還包括一些常駐的庫函數(shù)4006,庫函數(shù)4006包括一個(gè)工具箱4058。程序庫包含用C語言實(shí)現(xiàn)的多種功能,由引擎4008使用。這些包括數(shù)據(jù)操作,比如壓縮、擴(kuò)展或數(shù)據(jù)結(jié)構(gòu)、線圖的比較等。程序庫4006還包括關(guān)于接收機(jī)/解碼器13中的固件的信息,比如硬件和軟件的版本號(hào)和可用隨機(jī)存取存儲(chǔ)器空間,以及當(dāng)下載一個(gè)新的設(shè)備4062時(shí)使用的函數(shù)。函數(shù)可以下載到程序庫中,存儲(chǔ)在閃存儲(chǔ)器或隨機(jī)存取存儲(chǔ)器中。
運(yùn)行時(shí)間引擎4008連接到設(shè)備管理器4068,設(shè)備管理器4068與一組設(shè)備4062連接,設(shè)備4062與設(shè)備驅(qū)動(dòng)器4060連接,4060依次與端口或接口連接。在廣義上,一個(gè)設(shè)備驅(qū)動(dòng)器可以被看作定義一個(gè)邏輯接口,以便兩個(gè)不同的設(shè)備驅(qū)動(dòng)器可以連接到一個(gè)公共的物理端口。一個(gè)設(shè)備通常會(huì)與超過一個(gè)的設(shè)備驅(qū)動(dòng)器相連;如果一個(gè)設(shè)備與單個(gè)設(shè)備驅(qū)動(dòng)器相連,則該設(shè)備通常會(huì)被設(shè)計(jì)成結(jié)合為通信所需要的所有的功能,以便避免需要一個(gè)單獨(dú)的設(shè)備驅(qū)動(dòng)器。一定的設(shè)備可以在它們自身之間通信。
如以下要說明的,有3種通信形式從設(shè)備4064上行到運(yùn)行時(shí)間引擎通過變量、緩沖器和傳送到一組事件隊(duì)列的事件。
接收機(jī)/解碼器13的每一種功能作為接收機(jī)/解碼器13的軟件體系中的一個(gè)設(shè)備4062來表示。設(shè)備可以是本地的或遠(yuǎn)程的。本地設(shè)備包括智能卡,SCART連接器信號(hào),調(diào)制解調(diào)器,串行和并行接口,MPEG視頻和音頻播放器和MPEG部分和桌面提取器。遠(yuǎn)程設(shè)備4066在一個(gè)遠(yuǎn)程位置執(zhí)行,與本地設(shè)備的不同之處在于,端口和程序必須由系統(tǒng)權(quán)威或設(shè)計(jì)者定義,而不是用由接收機(jī)/解碼器的生產(chǎn)者提供和設(shè)計(jì)的設(shè)備和設(shè)備驅(qū)動(dòng)器定義。
運(yùn)行時(shí)間引擎4008在微處理器和一個(gè)公共應(yīng)用程序編程接口的控制下運(yùn)行。它們安裝在每一臺(tái)接收機(jī)/解碼器13中,以便所有的接收機(jī)/解碼器13從應(yīng)用程序的觀點(diǎn)來看都是一樣的。
引擎4008在接收機(jī)/解碼器13上運(yùn)行應(yīng)用程序4056。它執(zhí)行交互應(yīng)用程序4056,從接收機(jī)/解碼器13外部接收事件,顯示圖形和文字,調(diào)用設(shè)備服務(wù)和使用為特定計(jì)算而連接到引擎4008上的程序庫4006的功能。
運(yùn)行時(shí)間引擎4008是安裝在每一接收機(jī)/解碼器13上的可執(zhí)行代碼,包括一個(gè)解釋程序來解釋和運(yùn)行應(yīng)用程序。引擎4008能適用于任何操作系統(tǒng),包括單任務(wù)操作系統(tǒng)(比如MS-DOS)。引擎4008基于處理定序器單元(它采取各種事件,比如按鍵,來執(zhí)行各種動(dòng)作),包括它本身的調(diào)度程序來管理從不同的硬件接口傳來的事件隊(duì)列。它還處理圖形和文本的顯示。一個(gè)處理定序器單元包括一系列動(dòng)作組。每一事件引起處理定序器單元根據(jù)該事件的特征從它當(dāng)前的動(dòng)作組移動(dòng)到另一個(gè)動(dòng)作組,和執(zhí)行新動(dòng)作組的動(dòng)作。
引擎4008包括一個(gè)代碼加載程序來加載和下載應(yīng)用程序4056到接收機(jī)/解碼器的存儲(chǔ)器中。為了保證最佳的使用,只有必要的代碼才加載到隨機(jī)存取存儲(chǔ)器或閃存儲(chǔ)器中。下載的數(shù)據(jù)用驗(yàn)證機(jī)構(gòu)驗(yàn)證,以防止一個(gè)應(yīng)用程序4056的任何修改或者執(zhí)行任何未授權(quán)的應(yīng)用程序。引擎4008進(jìn)一步包括一個(gè)解壓縮器。因?yàn)閼?yīng)用程序代碼(一種中間代碼形式)為了節(jié)省空間和加快從MPEG流或經(jīng)過一個(gè)內(nèi)置的接收機(jī)/解碼器方式下載而被壓縮,因此代碼必須在加載到隨機(jī)存取存儲(chǔ)器中之前被解壓縮。引擎4008還包括一個(gè)解釋程序來解釋應(yīng)用程序代碼,以更新各種變量值和確定狀態(tài)的改變,以及一個(gè)錯(cuò)誤檢驗(yàn)器。
在使用任何設(shè)備4026的服務(wù)之前,一個(gè)程序(比如一個(gè)應(yīng)用程序指令序列)必須作為“客戶程序”被申明,也就是說,到設(shè)備4062或設(shè)備管理器4068的一個(gè)邏輯訪問通路。管理器給客戶程序一個(gè)客戶程序號(hào),它在該設(shè)備的所有訪問中都被引用。設(shè)備4062可以有幾個(gè)客戶程序,對每個(gè)設(shè)備4062的客戶程序號(hào)依靠設(shè)備4062的類型來確定。一個(gè)客戶程序由一個(gè)過程“設(shè)備打開頻道”引入到設(shè)備4062。這一過程給客戶程序分配一個(gè)程序號(hào)。一個(gè)客戶程序可以通過過程“設(shè)備關(guān)閉頻道”從設(shè)備管理器4068客戶程序表中取出。
對由設(shè)備管理器4068提供的設(shè)備4062的訪問可以是同步的或異步的。對同步訪問,使用過程“設(shè)備調(diào)用”。這是一種訪問立即可用的數(shù)據(jù)或不引起等候希望的響應(yīng)的功能的手段。對異步訪問,使用過程“設(shè)備輸入/輸出”。這是一種訪問引起等待響應(yīng)的數(shù)據(jù)的手段,例如掃描調(diào)諧器頻率以找到一個(gè)多路復(fù)用器或從MPEG流獲得返回的表。當(dāng)要求的結(jié)果可用時(shí),一個(gè)事件就輸入到引擎的隊(duì)列中表示它到達(dá)。一個(gè)進(jìn)一步的過程“設(shè)備事件”提供管理不可預(yù)料的事件的一種方法。
運(yùn)行時(shí)間引擎的主回路連接到各種處理定序器單元,并當(dāng)該主回路碰到適當(dāng)?shù)氖录r(shí)控制臨時(shí)轉(zhuǎn)移到一個(gè)處理定序器單元。
如上所述,提供寫作工具4004以允許設(shè)計(jì)、建立、測試和診斷應(yīng)用程序。寫作工具運(yùn)行在工作站(WS)上,諸如運(yùn)行在Windows NT,Windows95或Windows98上的個(gè)人計(jì)算機(jī)(PC),或UNIX機(jī)器,或運(yùn)行任何其它操作系統(tǒng)的工作站,并用于建立和編輯形成該應(yīng)用程序的資源文件和數(shù)據(jù)文件。參考圖5,工作站200包括屏幕210、計(jì)算機(jī)212、鍵盤214和鼠標(biāo)216。計(jì)算機(jī)212包括處理器218、存儲(chǔ)器220、硬盤222、輸入/輸出(I/O)端口224、以及其它在這種計(jì)算機(jī)中常規(guī)的硬件和軟件。
圖6表示出運(yùn)行在工作站200上的一個(gè)寫作工具4004的概述。寫作工具4004包括一個(gè)編輯器410,用于建立和編輯形成應(yīng)用程序的各種文件,程序庫412,用于存儲(chǔ)由編輯器410使用的現(xiàn)有文件,編譯器414,用于編譯由編輯器410產(chǎn)生的文件為可以由虛擬機(jī)例如圖4所示虛擬機(jī)4007理解的中間語言,和模擬器100,用于模擬接收機(jī)/解碼器的行為以便測試和診斷應(yīng)用程序,其在下面說明。
應(yīng)用程序包含資源文件,資源文件包含為一個(gè)虛擬機(jī)用中間語言寫的指令,和可選的數(shù)據(jù)文件,數(shù)據(jù)文件包含要由該應(yīng)用程序使用的數(shù)據(jù)。一個(gè)應(yīng)用程序可以包括下述類型的資源文件中的一個(gè)或多個(gè)●模塊文件-定義應(yīng)用程序的入口點(diǎn)●面板文件-定義屏幕●類文件-定義由應(yīng)用程序使用的數(shù)據(jù)結(jié)構(gòu)●腳本文件-定義應(yīng)用程序的行為●數(shù)據(jù)文件的例子如下●圖標(biāo)庫文件-這些包含每象素4位的位圖的集合直到最大尺寸80×64象素。這些圖標(biāo)可以由面板作為按鈕或作為裝飾使用。
●圖像-這些文件包含任何尺寸的單一位圖,每象素4位,給出16種顏色。這一類型的圖像通常用作面板的背景。
●顏色表-這些用來定義可以在屏幕上顯示模塊的顏色。
●用戶數(shù)據(jù)文件-這些文件由用戶為由應(yīng)用程序使用而定義。它們是ASCII文本文件或二進(jìn)制文件。
在使用中,應(yīng)用程序開發(fā)者使用存儲(chǔ)在程序庫412中的現(xiàn)有文件和使用編輯器410來產(chǎn)生為他的應(yīng)用程序定制的文件。正被編輯的文件在工作站屏幕210上顯示并使用鍵盤214和鼠標(biāo)216輸入改變。可以以各種方式顯示文件,例如,圖形文件可以作為圖形在屏幕上顯示,而對資源文件,可以顯示文件中的代碼,或可以顯示代碼的總結(jié)構(gòu)或結(jié)構(gòu)。
一旦已經(jīng)建立一個(gè)應(yīng)用程序,則使用編譯器414將其轉(zhuǎn)變?yōu)榭捎商摂M機(jī)理解的中間語言。
為測試應(yīng)用程序,提供帶有模擬器100的工作站,模擬器100模擬接收機(jī)/解碼器的行為,以便可以在工作站200上測試該應(yīng)用程序而不需被下載到實(shí)際的接收機(jī)/解碼器。這允許應(yīng)用程序被立即測試,并避免需要提供接收機(jī)/解碼器和相關(guān)硬件。
參考圖7,模擬器100的主模塊是模擬的虛擬機(jī)101,模擬的設(shè)備管理器102,模擬的WS設(shè)備模塊104、106,模擬的非WS設(shè)備模塊108、110,模擬的圖形庫112,模擬的跟蹤端口114(其用于輸出跟蹤消息,其可以用于例如診斷),模擬的遙控模塊116(其模擬工作站屏幕上的遙控單元),模擬的TV窗口118(它通過在工作站屏幕上顯示圖像模擬電視),模擬的跟蹤觀看者120(它也在工作站屏幕上顯示跟蹤消息),WS資源122(它們是屬于工作站的硬件,它們也在數(shù)字解碼器中找到),和模擬文件124、126(它們包含模擬未在工作站中找到的硬件的行為)。應(yīng)用程序腳本128是希望測試的應(yīng)用程序代碼。
模擬的虛擬機(jī)101加載并運(yùn)行應(yīng)用程序代碼128。它變換應(yīng)用程序中間語言的指令為可以由模擬的設(shè)備管理器102和/或WS理解的本地指令。
模擬的設(shè)備管理器102保證為應(yīng)用程序?qū)Σ煌庠O(shè)的一致的訪問方式。它為應(yīng)用程序提供向或從各種模擬的外設(shè)同步和異步傳輸和接收數(shù)據(jù)的方法。設(shè)備管理器102以提供給虛擬機(jī)101的程序庫的形式實(shí)現(xiàn)。它包含接口模塊,存儲(chǔ)器控制模塊,和系統(tǒng)模塊,該系統(tǒng)模塊允許(例如在進(jìn)程間)為給設(shè)備發(fā)送命令和數(shù)據(jù)通信,和為同步接收由一個(gè)設(shè)備發(fā)送的數(shù)據(jù)通信。
設(shè)備模塊104-110模擬接收機(jī)/解碼器中的設(shè)備的行為。在WS設(shè)備模塊104、106的場合,由該設(shè)備管理的硬件在實(shí)際接收機(jī)/解碼器中和在工作站中都存在。這種設(shè)備的例子是時(shí)鐘、串行端口、并行端口、調(diào)制解調(diào)器等。因?yàn)橛布诠ぷ髡旧洗嬖?,因此可以使用?shí)際的工作站硬件而不是模擬一件硬件的行為。不訪問任何硬件的設(shè)備也歸于這一類。非WS設(shè)備108、110模擬不在工作站上存在的硬件的設(shè)備。這種設(shè)備的例子是調(diào)諧器、多路分配器(demux)、智能卡讀卡機(jī),閃存儲(chǔ)器等。因?yàn)橄鄳?yīng)的硬件在工作站上不存在,因此還必須模擬這些硬件的行為。實(shí)現(xiàn)該模擬的方式依賴于設(shè)備的行為;一般說,使用在特定文件例如模擬文件124、126中存儲(chǔ)的數(shù)據(jù)實(shí)現(xiàn)。
現(xiàn)在參考一個(gè)UNIX工作站說明特定的模擬例子,雖然可以理解,可以使用其它類型的環(huán)境,諸如Windows NT,Windows95,Windows98,Windows2000,Solaris,LINUX,BeOS,NextStep等。
參考圖8,模擬的設(shè)備管理器102包括設(shè)備管理器模塊150,它提供與形式為程序庫的模擬的虛擬機(jī)的接口,存儲(chǔ)器控制模塊152,它控制動(dòng)態(tài)存儲(chǔ)器資源,和進(jìn)程間通信(IPC)模塊154,用于給設(shè)備傳輸命令和數(shù)據(jù)并同步接收由一個(gè)設(shè)備發(fā)射的數(shù)據(jù)。為這些數(shù)據(jù)交換必需的存儲(chǔ)器空間的本地化由分區(qū)的存儲(chǔ)器156提供,其由模擬的設(shè)備管理器102配置到特別的區(qū)域。存儲(chǔ)器的一部分可以由設(shè)備管理器102為動(dòng)態(tài)分配和釋放存儲(chǔ)器空間配置。
分區(qū)存儲(chǔ)器156的作用是表示一個(gè)數(shù)字解碼器的實(shí)際存儲(chǔ)器空間以及允許在UNIX環(huán)境中的進(jìn)程之間交換信息。存儲(chǔ)器被分為4個(gè)主要區(qū)域●由設(shè)備管理器為控制存儲(chǔ)器使用的GMP(分區(qū)的存儲(chǔ)器控制)區(qū)域158●由模擬器產(chǎn)生的公共區(qū)域160●獨(dú)立于設(shè)備管理器動(dòng)態(tài)產(chǎn)生的虛擬機(jī)管理的區(qū)域162●也是由虛擬機(jī)產(chǎn)生的其內(nèi)分配專用分區(qū)的靜態(tài)區(qū)域158存儲(chǔ)器分成緩沖器,緩沖器的分配、釋放和封鎖在模擬器的控制下。
參考圖8,說明模擬器操作的第一個(gè)例子。建立運(yùn)行VM線程170、設(shè)備管理器模塊150、存儲(chǔ)器控制模塊和進(jìn)程間通信模塊154的主線程。與模擬的設(shè)備180、182、184的對話通過UNIX套接字186和188以非連接方式發(fā)生。如上面所指出,與設(shè)備同步交換數(shù)據(jù)通過使用“設(shè)備調(diào)用”過程發(fā)生,而異步交換通過使用“設(shè)備I/O”過程發(fā)生。當(dāng)調(diào)用“設(shè)備調(diào)用”或“設(shè)備I/O”過程時(shí),虛擬機(jī)101給模擬的設(shè)備管理器102發(fā)送在分區(qū)的存儲(chǔ)器156為交換數(shù)據(jù)分配的數(shù)據(jù)緩沖器的地址。設(shè)備管理器102接管該地址的控制;如果它在該分區(qū)的存儲(chǔ)器之外,則設(shè)備管理器在分區(qū)的存儲(chǔ)器內(nèi)分配一個(gè)空間并復(fù)制必要的數(shù)據(jù)到這一空間。然后設(shè)備管理器在事件隊(duì)列中放入命令消息,以便給適當(dāng)?shù)哪M的設(shè)備傳送。
模擬的設(shè)備180、182、184在完全獨(dú)立于模擬的虛擬機(jī)100的進(jìn)程中運(yùn)行。一個(gè)設(shè)備進(jìn)程在第一次打開該設(shè)備時(shí)開始,在關(guān)閉最后的客戶程序時(shí)結(jié)束。虛擬機(jī)給一個(gè)設(shè)備傳送數(shù)據(jù)或者通過使用該設(shè)備的專用存儲(chǔ)器空間或者通過分區(qū)的存儲(chǔ)器。設(shè)備可以給虛擬機(jī)傳送數(shù)據(jù)只能通過由設(shè)備管理器分配的存儲(chǔ)器。所有接收到的命令消息,或設(shè)備對它的響應(yīng),以及異步事件,使用兩個(gè)套接字。套接字186專用于與虛擬機(jī)的同步通信,而套接字188專用于設(shè)備的異步響應(yīng)。
模擬的設(shè)備180、182、184包括過程庫,它允許這些設(shè)備被考慮為一個(gè)命令組,每一個(gè)與一個(gè)過程相關(guān)。設(shè)備解碼接收到的命令消息并調(diào)用相關(guān)的過程。這些過程要么訪問工作站中等同于在實(shí)際DSTB中的硬件的硬件,或者包含模擬一個(gè)實(shí)際的DSTB的操作的數(shù)據(jù)的模擬文件。來自硬件的響應(yīng),或在一個(gè)模擬文件中的數(shù)據(jù),然后通過分區(qū)的存儲(chǔ)器回送到虛擬機(jī)。
為模擬異步接收從一個(gè)設(shè)備來的事件,在主線程中建立一個(gè)異步接收線程(線程IO)172。該線程的作用是接收已經(jīng)由各種模擬的設(shè)備響應(yīng)一個(gè)命令發(fā)送的事件和數(shù)據(jù)。接收到的事件以其到達(dá)順序保存在一個(gè)表中,然后在由虛擬機(jī)提供的過程的控制下發(fā)送到虛擬機(jī)101。
圖9原理表示模擬器的軟件布局。虛擬機(jī)101與設(shè)備管理器102交互反應(yīng)。從設(shè)備管理器102向各種設(shè)備190-197的命令傳輸通過過程“設(shè)備調(diào)用”301、“設(shè)備I/O”302和“設(shè)備事件”306、套接字傳輸協(xié)議304、通信管理器305、多客戶管理器306和調(diào)度設(shè)備命令管理器307發(fā)生。存儲(chǔ)器池管理器310管理共享的存儲(chǔ)器312和在共享的存儲(chǔ)器中為配置資源313、客戶資源314、設(shè)備資源315、FIFO(先進(jìn)先出)資源316和公共/專用分配器317分配空間。如上所述,共享的存儲(chǔ)器允許數(shù)據(jù)在主線程和設(shè)備之間傳輸。事件管理器320處理來自設(shè)備190-197的異步事件。
在另一個(gè)優(yōu)選的實(shí)施例中,設(shè)備模擬器在Windows NT環(huán)境中操作。在這一實(shí)施例中,設(shè)備作為動(dòng)態(tài)連接庫實(shí)現(xiàn),而不是像在上述UNIX實(shí)施例中作為單獨(dú)的程序?qū)崿F(xiàn)。在NT環(huán)境中,沒有IPC模塊。在兩個(gè)實(shí)現(xiàn)中,一個(gè)命令管理器負(fù)責(zé)從應(yīng)用程序向模擬的設(shè)備傳輸事件,一個(gè)事件管理器負(fù)責(zé)從模擬的設(shè)備向應(yīng)用程序傳輸事件。
參考圖10,現(xiàn)在提供模擬器操作的第二個(gè)例子。該操作在某種方式類似于第一個(gè)例子,然而,與第一例子比較的不同在于虛擬機(jī)450和模擬的設(shè)備451和452在一個(gè)單一進(jìn)程453中運(yùn)行。單進(jìn)程453可以例如是UNIX進(jìn)程。在單進(jìn)程453內(nèi),建立一個(gè)系統(tǒng)線程454,它運(yùn)行虛擬機(jī)線程450連同模擬的設(shè)備管理器455和模擬的配置模塊456。
與模擬的設(shè)備451(設(shè)備X)的對話在虛擬機(jī)450中通過在458調(diào)用包含在一個(gè)第一程序庫459中的設(shè)備X功能啟動(dòng)。設(shè)備X功能在460為線程457產(chǎn)生模擬設(shè)備X451的請求。以相似方式,與模擬的設(shè)備452(設(shè)備Y)的對話通過在461調(diào)用包含在一個(gè)第二程序庫462中的設(shè)備Y功能啟動(dòng)。設(shè)備Y功能在463為線程464產(chǎn)生模擬設(shè)備Y452的請求。
設(shè)備功能的調(diào)用在虛擬機(jī)線程內(nèi)可以例如如下實(shí)現(xiàn)<pre listing-type="program-listing"><![CDATA[Thread_vm} ... Device_Call0 Get address of Function F of Device D Call the Function F Function F0 Run function code End of function F End of Device_Call ... }]]></pre>設(shè)備451和452的模擬產(chǎn)生為虛擬機(jī)450的事件,其在465和466中傳輸給事件管理器467。
事件管理器467是一個(gè)模塊,它允許●虛擬機(jī)在系統(tǒng)線程454內(nèi)接收由設(shè)備產(chǎn)生的事件,
●設(shè)備線程457和464為虛擬機(jī)450發(fā)射事件,●模擬管理在一個(gè)表中保存的事件的刪除。
等待由虛擬機(jī)450接入線程的事件在一個(gè)鏈接表中管理,也就是說,在該表中的每一事件包括一個(gè)指向下一事件的指針。該表的開始由一個(gè)預(yù)先定義的指針標(biāo)識(shí)。
然后在468把事件遞交給虛擬機(jī)450。取決于配置,這或者可以通過事件管理器467中斷虛擬機(jī)450并登記這些事件實(shí)現(xiàn),或者通過虛擬機(jī)自身在事件管理器467內(nèi)獲得事件實(shí)現(xiàn)。
設(shè)備X和Y功能包含在庫459和462中,它們對所關(guān)心的設(shè)備分別是特定的。功能的調(diào)用借助一個(gè)功能表進(jìn)行。
設(shè)備的模擬可以按照特定設(shè)備的需要定制。例如可以請求多個(gè)線程模擬一個(gè)特定的設(shè)備。在大多數(shù)場合,使用一個(gè)線程模擬一個(gè)設(shè)備,該線程作為一個(gè)背景任務(wù)處理從其它模擬的功能接收到的請求。
為說明模擬器100的操作,圖11表示在一個(gè)實(shí)際的DSTB中怎樣可以產(chǎn)生一個(gè)為在電視屏幕上顯示的圖像的例子。該圖像分為5層背景層350,視頻層352,靜止圖像層354,圖形層356,和指針層358。指針層加在圖形層上,后者加在靜止層上,等等。為允許觀看者看見所有層的混合,而不只是頂層,為每一層設(shè)計(jì)一個(gè)透明因子。當(dāng)透明因子是0時(shí)該層是不透明的,當(dāng)透明因子是1時(shí)該層是透明的。在大多數(shù)場合,為在該層內(nèi)的每一象素分配一個(gè)透明因子,例外是背景層(因?yàn)樗竺鏇]有層),視頻層,對于它們,透明因子對播放視頻的區(qū)域是共用的(該層的其余部分是透明的),和指針層,對它指針是不透明的,該層的其它部分是透明的。
指針、圖形和背景層由應(yīng)用程序360產(chǎn)生,而視頻和靜止圖像層從傳輸?shù)臄?shù)字信號(hào)通過MPEG解碼器362來。各層在混合器364中混合,混合器364是圖3中的圖形處理器的一部分?;旌掀饔捎布酒M成,硬件芯片執(zhí)行這5層的混合。在任何時(shí)間,應(yīng)用程序可以改變?yōu)槊恳粚拥耐该饕蜃?當(dāng)允許時(shí))。為進(jìn)行這一點(diǎn),對于視頻層,應(yīng)用程序調(diào)用一個(gè)視頻設(shè)備命令,對于靜止圖像層,應(yīng)用程序調(diào)用一個(gè)圖像設(shè)備命令,對于圖形層,應(yīng)用程序調(diào)用圖形庫功能?;旌系膱D像在用戶的電視機(jī)366上顯示。
為模擬圖11所示情形,用工作站上的軟件模擬代替應(yīng)用程序與之反應(yīng)的各種設(shè)備和相關(guān)硬件。這樣,類似地,提供一個(gè)混合各圖像層的軟件混合器。這樣混合的圖像然后在工作站的屏幕上顯示,而不是單獨(dú)的電視屏幕。以這種方式,應(yīng)用程序設(shè)計(jì)者可以測試他的應(yīng)用程序的操作而不需下載該應(yīng)用程序到DSTB。
在模擬器100中,上述混合的功能使用一個(gè)稱為LAYERS庫的低級(jí)庫實(shí)現(xiàn)。為模擬各層的混合,不是直接在屏幕上寫,而是每一模塊調(diào)用LAYERS庫。修改屏幕內(nèi)容的每一模塊計(jì)算要改變的區(qū)域的位置、尺寸、內(nèi)容和透明因子,把這些信息提供給LAYERS庫。LAYERS庫管理分別為背景、視頻、靜止圖像、和圖形層的4個(gè)存儲(chǔ)器塊。每次在修改一層中的一個(gè)區(qū)域時(shí),LAYERS庫計(jì)算產(chǎn)生的屏幕區(qū)域,考慮其它層的內(nèi)容和它們的透明因子。當(dāng)顯示視頻序列時(shí),這一工作為每一新圖像重復(fù)(每秒的圖像數(shù)取決于播放的文件)。用以混合層區(qū)域的算法于是盡可能優(yōu)化,以便得到流暢的視頻播放。
每一層借助一個(gè)象素圖管理,在該象素圖中給每一象素分配一組值。在一個(gè)例子中,對于靜止圖像和圖形層,給每一象素分配32位給每一顏色紅、綠和蘭各分配8位,給透明級(jí)分配6位,保留2位,而對背景層,使用24位。取決于要模擬的TV標(biāo)準(zhǔn),這為PAL標(biāo)準(zhǔn)給出720×576×4=1,658,880字節(jié),對NTSC標(biāo)準(zhǔn)給出720×480×4=1,382,400字節(jié)。
因?yàn)橹羔槍邮琼攲樱⑶覍χ羔樜磻?yīng)用透明因子,因此不需給指針層應(yīng)用任何混合。指針形狀可以由系統(tǒng)標(biāo)準(zhǔn)機(jī)構(gòu)管理。
在模擬中,不是使用實(shí)際的MPEG解碼器,而是提供一些包含一個(gè)實(shí)際MPEG解碼器的輸出類型的數(shù)據(jù)的文件。這些文件可以通過存儲(chǔ)來自一個(gè)實(shí)際MPEG解碼器的數(shù)據(jù)產(chǎn)生,或者通過使用模擬文件產(chǎn)生。模擬文件是這樣的文件,它們已經(jīng)產(chǎn)生并具有一定的特征,諸如子標(biāo)題。
圖12表示在一個(gè)模擬的接收器/解碼器上運(yùn)行的應(yīng)用程序怎樣在工作站屏幕上出現(xiàn)的例子。在所示例子中,應(yīng)用程序運(yùn)行一個(gè)視頻設(shè)備的測試。使用工作站屏幕上的TV窗口以它在一個(gè)實(shí)際電視屏幕上出現(xiàn)的同樣方式來顯示該應(yīng)用程序的輸出。在圖12中,該TV窗口收縮到總工作站屏幕的0.75%。
在模擬器上運(yùn)行的一個(gè)應(yīng)用程序的另一個(gè)例子示于圖13。該例表示一個(gè)視頻層,帶有圖形層,包括一個(gè)加在視頻層上的足球員的圖像。圖形層具有一些透明的象素,使得通過足球員的頭看見視頻層。
在Windows NT和UNIX工作站上給出另外的實(shí)現(xiàn)特定設(shè)備模擬的例子。
WS設(shè)備串行串行設(shè)備允許應(yīng)用程序與任何種類的設(shè)備通過一個(gè)串行鏈路通信(例如使用RS232標(biāo)準(zhǔn))。這一設(shè)備使用UNIX/NT系統(tǒng)的標(biāo)準(zhǔn)的API模擬。它允許通過工作站的串行端口通信。
并行并行設(shè)備允許應(yīng)用程序通過一個(gè)并行鏈路通信(例如使用IEEE1284標(biāo)準(zhǔn))。這一設(shè)備使用UNIX/NT系統(tǒng)的標(biāo)準(zhǔn)的API模擬。它允許通過工作站的并行端口通信。
BUS_1394這一設(shè)備允許應(yīng)用程序與任何種類的設(shè)備通過高性能串行總線使用IEC1883標(biāo)準(zhǔn)通信。該設(shè)備使用一個(gè)對1 394總線提供訪問的擴(kuò)展板模擬。
UNIMODEM這一設(shè)備允許應(yīng)用程序控制一個(gè)內(nèi)部的或外部的調(diào)制解調(diào)器(例如使用HAYES標(biāo)準(zhǔn))。這一設(shè)備使用UNIX/NT系統(tǒng)的標(biāo)準(zhǔn)API實(shí)現(xiàn)。它允許通過工作站的一個(gè)實(shí)際串行端口控制一個(gè)外部的調(diào)制解調(diào)器或通過一個(gè)虛擬的串行端口(如果系統(tǒng)允許的話)控制一個(gè)內(nèi)部的調(diào)制解調(diào)器。
網(wǎng)絡(luò)這一設(shè)備允許應(yīng)用程序配置和使用網(wǎng)絡(luò)堆棧。支持幾種協(xié)議TCP,UDP,IP,PPP,等。一旦配置該堆棧,則該設(shè)備給應(yīng)用程序提供一個(gè)類BSD的套接字接口,允許它打開TCP連接,發(fā)送和接收UDP數(shù)據(jù)電報(bào),連接多址通信組,等等。
該設(shè)備可以分成兩部分配置部分和通信部分。配置部分不能在UNIX/NT系統(tǒng)中實(shí)現(xiàn),因?yàn)榕渲弥荒茉谙到y(tǒng)起動(dòng)時(shí)間發(fā)生。這樣,這一部分只是模擬。當(dāng)前,對配置命令的NETWORK設(shè)備響應(yīng)是硬編碼的,但是它們以后可以在“配置”文件中編碼。通信部分使用UNIX/NT系統(tǒng)的API標(biāo)準(zhǔn)實(shí)現(xiàn)。它允許與使用BSD套接字的其它設(shè)備通信。
時(shí)鐘該設(shè)備允許應(yīng)用程序訪問一個(gè)實(shí)時(shí)時(shí)鐘。應(yīng)用程序可以獲得和設(shè)定日期和時(shí)間信息和編程喚醒警報(bào)。該設(shè)備使用UNIX/NT系統(tǒng)的標(biāo)準(zhǔn)API實(shí)現(xiàn)。
鍵盤這一設(shè)備允許應(yīng)用程序配置KEYBOARD設(shè)備(如果可用的話)和接收鍵盤和遙控事件。該設(shè)備使用UNIX/NT系統(tǒng)的標(biāo)準(zhǔn)API實(shí)現(xiàn)。遙控設(shè)備使用遙控軟件模塊模擬,該模塊給KEYBOARD設(shè)備發(fā)送系統(tǒng)消息。雖然它們可能不以同樣的方式通信(對機(jī)頂盒用紅外線,對工作站用電纜),但是解碼器和工作站的KEYBOARD設(shè)備是相似的。
指針這一設(shè)備允許應(yīng)用程序配置指針(鼠標(biāo))設(shè)備(如果可用的話)和接收指針事件(鼠標(biāo)移動(dòng),按鈕按壓等)。該設(shè)備使用X-Windows/Windows系統(tǒng)的標(biāo)準(zhǔn)API實(shí)現(xiàn)。POINTER設(shè)備定義屏幕上指針可以采取不同形狀的區(qū)域。這些區(qū)域?qū)儆谥羔樒聊粚印?br>
圖形這一設(shè)備允許應(yīng)用程序解壓縮來自不同格式的圖像,諸如JPEG,MPEG,GIF和PNG。應(yīng)用程序在一組存儲(chǔ)器緩沖器中提供壓縮的圖像,該設(shè)備在另一組緩沖器中返回解壓縮的圖像。這些圖像可以是固定的或動(dòng)畫的。一般說,圖像緩沖器來自由MLOAD設(shè)備加載的DVB部分。該設(shè)備不訪問硬件。它不需要系統(tǒng)API。
為顯示用該設(shè)備解壓縮的圖像,應(yīng)用程序使用GRAPHICS庫功能。該程序庫只修改圖形屏幕層的內(nèi)容。
非WS設(shè)備圖像這一設(shè)備提供和圖形設(shè)備同樣的解壓縮服務(wù)。然而,為顯示用該設(shè)備解壓縮的圖像,應(yīng)用程序使用圖像設(shè)備自身。該設(shè)備修改背景和MPEG屏幕層的內(nèi)容。
音頻這一設(shè)備允許應(yīng)用程序編程機(jī)頂盒的音頻芯片。該設(shè)備能夠播放音頻流和改變音頻參數(shù)(序曲,立體聲等)。該設(shè)備使用UNIX/Windows系統(tǒng)的標(biāo)準(zhǔn)API實(shí)現(xiàn)。僅當(dāng)目標(biāo)系統(tǒng)允許時(shí)才可以改變系統(tǒng)音頻參數(shù)。
視頻這一設(shè)備允許應(yīng)用程序編程MPEG解壓縮芯片。該設(shè)備能夠改變視頻圖像位置、尺寸、縮放,等等。因?yàn)镸PEG芯片在UNIX/NT工作站中用SERVICE設(shè)備模擬,因此,只有VIDEO設(shè)備的任務(wù)通知給SERVICE設(shè)備新的視頻圖像參考。
服務(wù)這一設(shè)備通過指定它的PID(程序標(biāo)識(shí))例如視頻,音頻,子標(biāo)題或智能用戶電報(bào)PID允許應(yīng)用程序選擇一個(gè)給定的DVB服務(wù)(例如,TV頻道)。然后該設(shè)備指導(dǎo)每一PID數(shù)據(jù)流到正確的硬件芯片以便被處理(解壓縮)和播放。
服務(wù)設(shè)備在UNIX/NT工作站中如下模擬。當(dāng)選擇一個(gè)服務(wù)時(shí),該設(shè)備除視頻PID外忽略所有服務(wù)PID。它使用這一后面的PID作為對一個(gè)預(yù)先配置的存儲(chǔ)有磁盤文件名的表的入口。這些文件包含從給定多媒體格式來的數(shù)據(jù)。該服務(wù)要么自身讀取和播放這些數(shù)據(jù),或者使用系統(tǒng)標(biāo)準(zhǔn)API執(zhí)行該項(xiàng)任務(wù)。SERVICE設(shè)備使用由VIDEO設(shè)備提供的信息以決定顯示的圖像的尺寸、位置和縮放參數(shù)。
該設(shè)備修改視頻屏幕層的內(nèi)容。視頻圖像(內(nèi)容,位置,和尺寸)一個(gè)一個(gè)計(jì)算并在視頻屏幕層內(nèi)顯示每一結(jié)果圖像。
顯示器這一設(shè)備允許應(yīng)用程序使用終端前的顯示器。應(yīng)用程序可以請求顯示當(dāng)前時(shí)間或任何專用消息。在UNIX/NT系統(tǒng)中,這一設(shè)備模擬使用TV窗口的狀態(tài)行顯示請求的消息。
SCTV,SCVCR,SCAUX這些設(shè)備允許應(yīng)用程序分別檢查和配置電視機(jī)、VCR和輔助設(shè)備的SCART出口。對SCTV,SCVCR和SCAUX命令的響應(yīng)可以是硬編碼的,或者它們可以在“配置”文件中編碼。
電源使用該設(shè)備把機(jī)頂盒置于備用方式和檢索電源打開的信息。該設(shè)備模擬允許應(yīng)用程序停止所有設(shè)備和從UNIX/NT進(jìn)程中跳出。
備份這一設(shè)備允許應(yīng)用程序?qū)EPROM和閃存儲(chǔ)器讀或?qū)?。使用這些硬件在非易失存儲(chǔ)器中存儲(chǔ)信息。
在UNIX/Windows系統(tǒng)中,使用映射到磁盤文件的RAM(易失)存儲(chǔ)器塊模擬EEPROM和閃存儲(chǔ)器。這給應(yīng)用程序提供模擬EEPROM和閃存儲(chǔ)器的穩(wěn)定的存儲(chǔ)器。在電源故障時(shí),應(yīng)用程序檢索存儲(chǔ)在磁盤文件中存儲(chǔ)的數(shù)據(jù),好像它們在穩(wěn)定存儲(chǔ)器中存儲(chǔ)的一樣。
MLOAD使用這一設(shè)備從傳輸?shù)臄?shù)據(jù)流下載DVB部分。應(yīng)用程序提供包含要加載部分的PID(程序ID)和過濾以減少加載的部分的數(shù)目為只對應(yīng)用程序感興趣的部分。
在模擬環(huán)境中,在一個(gè)預(yù)配置表中給每一PID分配一個(gè)磁盤文件。當(dāng)應(yīng)用程序開始從一個(gè)給定的PID加載的部分時(shí),該設(shè)備打開相關(guān)的磁盤文件,并周期地讀取它。每次從該文件中加載一部分時(shí),該設(shè)備對它應(yīng)用過濾準(zhǔn)則。如果該部分通過過濾,則把它傳輸給應(yīng)用程序。
從應(yīng)用程序的觀點(diǎn)來看,該設(shè)備的行為好像這些部分從廣播的位流中加載一樣。
調(diào)諧器使用調(diào)諧器設(shè)備來請求關(guān)于機(jī)頂盒調(diào)諧器的信息,讀調(diào)諧器狀態(tài)(AGC,BER等)和設(shè)定和獲得調(diào)諧參數(shù)。該設(shè)備還允許頻率掃描操作。
在模擬環(huán)境中,這一設(shè)備從一個(gè)說明一個(gè)虛擬天線的文件中取它的數(shù)據(jù)??梢杂锰摂M天線檢測到的每一頻率都以其特征(速率符號(hào),卷積碼,AGC,BER等)登記在這一文件中。
對于每一頻率,MLOAD設(shè)備的模擬文件的目錄(PID數(shù)據(jù))也被登記。這樣,如果應(yīng)用程序調(diào)諧到一個(gè)不同的頻率,則像在實(shí)際情況中一樣該組可加載的PID改變。
RCARD使用這一設(shè)備與右智能卡讀卡機(jī)(如果可用的話)通信。該設(shè)備一般用于銀行卡。為安全起見和因?yàn)殂y行卡代碼和數(shù)據(jù)是受保護(hù)的,因此不模擬這一設(shè)備。
LCARD使用這一設(shè)備與左智能卡讀卡機(jī)(如果可用的話)通信。該設(shè)備用于條件訪問系統(tǒng)智能卡。為安全起見和因?yàn)镃A卡代碼和數(shù)據(jù)是受保護(hù)的,因此不模擬這一設(shè)備。
CA(條件訪問)
這一設(shè)備允許應(yīng)用程序獲得關(guān)于條件訪問系統(tǒng)的信息并控制它。為安全起見和因?yàn)镃A機(jī)構(gòu)是受保護(hù)的,因此不模擬這一設(shè)備。
應(yīng)該理解,上面對本發(fā)明的說明純粹僅是舉例,可以在本發(fā)明的范圍內(nèi)對細(xì)節(jié)進(jìn)行修改。
在說明書中公開的每一特征,和(只要合適的話)權(quán)利要求和附圖可以獨(dú)立地或以任何適當(dāng)?shù)慕M合提供。
權(quán)利要求中出現(xiàn)的參考號(hào)碼僅為說明使用,對權(quán)利要求的范圍無限制效果。
權(quán)利要求
1.一種為接收機(jī)/解碼器測試應(yīng)用程序的裝置,包括為模擬接收機(jī)/解碼器的功能的設(shè)備。
2.根據(jù)權(quán)利要求1的裝置,其中,所述裝置適用于運(yùn)行應(yīng)用程序。
3.根據(jù)權(quán)利要求1或2的裝置,其中,所述裝置適用于在第一進(jìn)程中運(yùn)行應(yīng)用程序,和在第二進(jìn)程中模擬接收機(jī)/解碼器的功能。4.根據(jù)權(quán)利要求3的裝置,其中,第一和第二進(jìn)程彼此獨(dú)立。
5.根據(jù)權(quán)利要求3或4的裝置,其中,第一和第二進(jìn)程運(yùn)行在同一處理器上。
6.根據(jù)權(quán)利要求3到5中任何一個(gè)的裝置,另外包括一個(gè)分區(qū)的存儲(chǔ)器,用于允許在第一進(jìn)程和第二進(jìn)程之間傳送數(shù)據(jù)。
7.根據(jù)權(quán)利要求1或2的裝置,其中,所述裝置適用于在第一線程中運(yùn)行應(yīng)用程序,在第二線程中模擬接收機(jī)/解碼器的功能。
8.根據(jù)權(quán)利要求7的裝置,其中,第一和第二線程形成一個(gè)單一進(jìn)程的幾部分。
9.根據(jù)權(quán)利要求7或8的裝置,另外包括一個(gè)分區(qū)的存儲(chǔ)器,用于允許在第一和第二線程之間傳送數(shù)據(jù)。
10.根據(jù)前述權(quán)利要求中任何一個(gè)的裝置,其中,接收機(jī)/解碼器的功能至少部分用軟件模擬。
11.根據(jù)前述權(quán)利要求中任何一個(gè)的裝置,其中,接收機(jī)/解碼器的功能使用硬件模擬,這些硬件相應(yīng)于接收機(jī)/解碼器中的硬件。
12.根據(jù)前述權(quán)利要求中任何一個(gè)的裝置,包括存儲(chǔ)設(shè)備,用于存儲(chǔ)包含表示由在接收機(jī)/解碼器中的一項(xiàng)硬件產(chǎn)生的數(shù)據(jù)的文件。
13.根據(jù)前述權(quán)利要求中任何一個(gè)的裝置,其中,所述裝置適用于產(chǎn)生一個(gè)為在屏幕上顯示的輸出,該輸出模擬接收機(jī)/解碼器的輸出。
14.根據(jù)前述權(quán)利要求中任何一個(gè)的裝置,其中,所述裝置適用于接收表示應(yīng)該由接收機(jī)/解碼器接收的數(shù)據(jù)的輸入數(shù)據(jù)。
15.根據(jù)前述權(quán)利要求中任何一個(gè)的裝置,其中,所述裝置適用于產(chǎn)生一個(gè)為在屏幕上顯示的輸出,該輸出表示一個(gè)接收機(jī)/解碼器可以與之反應(yīng)的硬件。
16.一種用于編輯和測試一個(gè)應(yīng)用程序的裝置,包括一個(gè)用于編輯該應(yīng)用程序的編輯器,和根據(jù)前述權(quán)利要求中任何一個(gè)權(quán)利要求用于測試該應(yīng)用程序的裝置。
17.根據(jù)權(quán)利要求16的裝置,其中,編輯器適用于產(chǎn)生一個(gè)為在屏幕上顯示的輸出,和用于模擬接收機(jī)/解碼器的功能的設(shè)備適用于產(chǎn)生一個(gè)為在同一屏幕上顯示的輸出。
18.根據(jù)權(quán)利要求16或17的裝置,包括一個(gè)處理器,用于運(yùn)行編輯器和用于模擬接收機(jī)/解碼器的功能的設(shè)備兩者。
19.根據(jù)權(quán)利要求16到18中任何一個(gè)的裝置,其中,用于模擬接收機(jī)/解碼器的功能的設(shè)備適用于運(yùn)行已經(jīng)由編輯器編輯的應(yīng)用程序。
20.根據(jù)前述權(quán)利要求中任何一個(gè)的裝置,其中,接收機(jī)/解碼器的功能至少是下述功能之一,例如從遙控器、鍵盤或諸如調(diào)制解調(diào)器的通信設(shè)備接收和處理輸入數(shù)據(jù),解碼視頻數(shù)據(jù),產(chǎn)生視頻輸出,調(diào)諧到廣播信號(hào),與智能卡通信,優(yōu)選至少是下述設(shè)備的一個(gè)功能遙控器,串口,并口,總線1394,調(diào)制解調(diào)器,網(wǎng)絡(luò),堆棧,時(shí)鐘,鍵盤,指針,圖形設(shè)備,圖像設(shè)備,音頻設(shè)備,視頻設(shè)備,服務(wù)設(shè)備,顯示器,SCTV,SCVCR,SCAUX,電源,備份設(shè)備,MLOAD,調(diào)諧器,和智能卡。
21.一種工作站,包括一個(gè)用于編輯應(yīng)用程序的編輯器,一個(gè)用于模擬接收機(jī)/解碼器的功能的模擬器,和一個(gè)用于顯示編輯器的輸出和模擬器的輸出的顯示器。
22.根據(jù)權(quán)利要求21的工作站,其中,模擬器適用于運(yùn)行已經(jīng)由編輯器編輯的應(yīng)用程序。
23.根據(jù)權(quán)利要求21或22的工作站,其中,模擬器的輸出在顯示器的一個(gè)窗口內(nèi)顯示。
24.根據(jù)權(quán)利要求21到23中任何一個(gè)的工作站,其中,在顯示器的一個(gè)窗口中模擬為給應(yīng)用程序輸入數(shù)據(jù)的輸入設(shè)備。
25.一種為接收機(jī)/解碼器測試應(yīng)用程序的方法,包括模擬該接收機(jī)/解碼器的功能。
26.一種編輯和測試應(yīng)用程序的方法,包括編輯應(yīng)用程序和另外包括根據(jù)權(quán)利要求25測試應(yīng)用程序的方法。
27.一種計(jì)算機(jī)可讀介質(zhì),其上存儲(chǔ)有為執(zhí)行權(quán)利要求25或26的方法的程序。
28.一種計(jì)算機(jī)可讀介質(zhì),其上存儲(chǔ)有為執(zhí)行為接收機(jī)/解碼器測試應(yīng)用程序的方法的程序,該方法包括模擬接收機(jī)/解碼器的功能。
29.一種計(jì)算機(jī)程序產(chǎn)品,包括為執(zhí)行權(quán)利要求25或26的方法的程序。
30.一種計(jì)算機(jī)程序產(chǎn)品,包括為執(zhí)行為接收機(jī)/解碼器測試應(yīng)用程序的方法的程序,該方法另外包括模擬接收機(jī)/解碼器的功能。
31.一種為接收機(jī)/解碼器測試應(yīng)用程序的方法,基本如這里參考
并由附圖所表示。
32.為接收機(jī)/解碼器測試應(yīng)用程序的裝置,基本如這里參考
并由附圖所表示。
全文摘要
公開了一種為接收機(jī)/解碼器例如電視系統(tǒng)測試應(yīng)用程序的裝置,該裝置包括用于模擬接收機(jī)/解碼器的功能的設(shè)備。還公開了為編輯和測試應(yīng)用程序的裝置和一個(gè)相關(guān)的工作站。還公開了一種測試應(yīng)用程序的方法,用該方法模擬接收機(jī)/解碼器的功能。
文檔編號(hào)G06F11/28GK1373970SQ00812575
公開日2002年10月9日 申請日期2000年6月12日 優(yōu)先權(quán)日1999年7月9日
發(fā)明者H·廖, B·馬森, J·B·G·M·伯奎 申請人:卡納爾股份有限公司