專利名稱:可載入壓縮數(shù)據(jù)的芯片卡的制作方法
技術(shù)領(lǐng)域:
本發(fā)明以概括的詞語(yǔ)涉及芯片卡接收數(shù)據(jù)的處理,還涉及微計(jì)算機(jī)或微處理器卡(智能卡)。
管理芯片卡的服務(wù)提供商對(duì)于在包含在芯片卡中的EEPROM或閃速EEPROM固定存儲(chǔ)器中存儲(chǔ)大量數(shù)據(jù)的需求越來越大。由于使用一些以編程語(yǔ)言,如Java,編寫的用于程序哪個(gè)部分,例如applet,的軟件包要下載到卡片中,所以芯片卡存儲(chǔ)容量的需求也日趨增長(zhǎng)。
為了提供一個(gè)概念,如果使用一天工作24小時(shí),一周工作7天,輸出為9600位/秒的一個(gè)終端在一百萬個(gè)卡中的每一個(gè)傳輸5KB,那么將這些數(shù)據(jù)載入到卡中需要兩個(gè)多月的時(shí)間。
在無線電話中,芯片卡集成為移動(dòng)無線電話終端中的SIM(用戶身份模型)。無線電話終端處于激活狀態(tài),因此它的電流消耗和電池壽命就特別依賴于傳輸SIM卡處理的數(shù)據(jù)所花費(fèi)的時(shí)間。
以更為概括的詞語(yǔ)來講,減少傳輸下載到芯片卡中的數(shù)據(jù)所花費(fèi)的時(shí)間對(duì)于終端裝載數(shù)據(jù)到芯片卡中是明白的增加并且對(duì)于卡本身和傳輸要下載的數(shù)據(jù)的傳輸支持或者信道。
此外,在1995年2月24日申請(qǐng)的日本專利申請(qǐng)08235329提出下載壓縮數(shù)據(jù)到存儲(chǔ)卡中,即不處理接收數(shù)據(jù)的“靜態(tài)”卡,對(duì)于生成壓縮數(shù)據(jù)的圖像處理單元其作用是一個(gè)遠(yuǎn)程存儲(chǔ)器。圖像處理單元在存儲(chǔ)卡的前兩個(gè)預(yù)定義的地址分別寫入數(shù)據(jù)壓縮前的長(zhǎng)度和壓縮后的長(zhǎng)度,然后在存儲(chǔ)卡中寫入壓縮數(shù)據(jù)。反過來,當(dāng)壓縮數(shù)據(jù)從存儲(chǔ)卡中載入到圖像處理單元中時(shí),圖像處理單元分別在上述兩個(gè)地址讀取數(shù)據(jù)壓縮前的長(zhǎng)度和壓縮后的長(zhǎng)度,然后讀取壓縮數(shù)據(jù),以便依照安裝在圖像處理單元中的預(yù)定義解壓算法來解壓數(shù)據(jù)。
本發(fā)明的目標(biāo)是通過在芯片卡中載入壓縮數(shù)據(jù),同時(shí)保持芯片卡關(guān)于處理非壓縮數(shù)據(jù)的功能,從而減少下載數(shù)據(jù)到芯片卡,也就是說微處理器或者微計(jì)算機(jī)中所花費(fèi)的時(shí)間。
要達(dá)到這個(gè)目標(biāo),芯片卡能夠接收壓縮的數(shù)據(jù)字段,每個(gè)字段前面指出解壓后數(shù)據(jù)的期望長(zhǎng)度和壓縮數(shù)據(jù)的長(zhǎng)度,其特征在于它包括第一個(gè)裝置,用于根據(jù)各個(gè)壓縮數(shù)據(jù)長(zhǎng)度接收壓縮數(shù)據(jù)字段;第二個(gè)裝置,用于根據(jù)解壓算法解壓每個(gè)字段中的壓縮數(shù)據(jù)和根據(jù)未壓縮數(shù)據(jù)長(zhǎng)度指示,超出長(zhǎng)度的未壓縮數(shù)據(jù);第三個(gè)裝置,用于存儲(chǔ)解壓的數(shù)據(jù)。
由于在根據(jù)本發(fā)明的芯片卡中接收壓縮數(shù)據(jù),根據(jù)前面的示例,載入5KB到一百萬個(gè)此類卡中所花費(fèi)的時(shí)間減少10%到40%,典型是20%,那么大約節(jié)省兩周的時(shí)間。
第二個(gè)存儲(chǔ)裝置最好包括幾個(gè)解壓算法和檢測(cè)每個(gè)所接收壓縮數(shù)據(jù)字段之前的解壓算法標(biāo)號(hào)的方法,這樣數(shù)據(jù)可以使用標(biāo)號(hào)為所檢測(cè)標(biāo)號(hào)的解壓算法來解壓。在另外一種形式中,第二個(gè)存儲(chǔ)裝置可以包含幾個(gè)分別與解壓算法相關(guān)聯(lián)的解壓模型,以及檢測(cè)每個(gè)所接收壓縮數(shù)據(jù)字段之前的解壓模型標(biāo)號(hào)的裝置,這樣數(shù)據(jù)使用標(biāo)號(hào)為所檢測(cè)標(biāo)號(hào)的解壓算法和解壓模型來解壓。安裝在卡中存儲(chǔ)器中的不同解壓算法和解壓模型使得卡能夠?yàn)楣芾斫K端的服務(wù)提供商或根據(jù)算法之一和模型之一壓縮數(shù)據(jù)的服務(wù)商所用。
根據(jù)本發(fā)明的另一個(gè)特征,芯片卡包括第四個(gè)裝置,用于存儲(chǔ)先于接收壓縮數(shù)據(jù)字段接收的解壓模型,解壓裝置檢測(cè)先于該接收壓縮數(shù)據(jù)字段的解壓算法的標(biāo)號(hào),這樣數(shù)據(jù)可以使用標(biāo)號(hào)為所檢測(cè)標(biāo)號(hào)的解壓算法和在第四個(gè)存儲(chǔ)裝置中讀取的解壓模型來解壓。
根據(jù)另一種可能性,解壓模型在卡的RAM存儲(chǔ)器中重建;在這種情況下,第四個(gè)存儲(chǔ)裝置存儲(chǔ)在壓縮數(shù)據(jù)字段寫入第一個(gè)存儲(chǔ)裝置中時(shí)暗中推導(dǎo)出的解壓模型,解壓裝置檢測(cè)在存儲(chǔ)的壓縮數(shù)據(jù)字段前面的解壓算法的標(biāo)號(hào),這樣數(shù)據(jù)可以使用標(biāo)號(hào)為所檢測(cè)標(biāo)號(hào)的解壓算法和在第四個(gè)存儲(chǔ)裝置中讀取到的解壓模型來解壓。
解壓裝置可以檢測(cè)每個(gè)所接收壓縮數(shù)據(jù)字段的壓縮或未壓縮狀態(tài)指示,這樣解壓裝置只解壓前面有壓縮狀態(tài)指示的數(shù)據(jù)字段中的數(shù)據(jù)。
本發(fā)明還涉及由根據(jù)本發(fā)明的芯片卡特別接收的協(xié)議數(shù)據(jù)單元。此單元包括首部和數(shù)據(jù)字段,首部包括數(shù)據(jù)字段的長(zhǎng)度,其特征在于首部包括數(shù)據(jù)字段解壓后期望的解壓數(shù)據(jù)長(zhǎng)度的指示。無論選擇了哪一種解壓算法,這個(gè)特征都有助于準(zhǔn)確進(jìn)行解壓。
期望的解壓數(shù)據(jù)長(zhǎng)度指示是一個(gè)n位的字,等于解壓數(shù)據(jù)期望長(zhǎng)度,模2n,期望長(zhǎng)度以m位的解壓數(shù)據(jù)字表示。整數(shù)n最小為0,舉例來說,根據(jù)協(xié)議單元字段中的解壓參數(shù)的分配,它等于2、3、4位。整數(shù)m最小為1,舉例來說,對(duì)于字節(jié)這種字等于8。
當(dāng)卡是具有多個(gè)服務(wù)提供商的類型時(shí),首部包括解壓數(shù)據(jù)字段中壓縮數(shù)據(jù)所使用的解壓算法的標(biāo)號(hào),還可以包括解壓模型的標(biāo)號(hào),它對(duì)應(yīng)于標(biāo)號(hào)為包含在首部中的標(biāo)號(hào)的解壓算法,用來解壓數(shù)據(jù)字段中的壓縮數(shù)據(jù)。
卡可以接收壓縮數(shù)據(jù)和未壓縮數(shù)據(jù)。
要達(dá)到這個(gè)目標(biāo),首部包括一個(gè)數(shù)據(jù)狀態(tài)指示,當(dāng)數(shù)據(jù)字段中的數(shù)據(jù)沒有壓縮時(shí),它為第一個(gè)狀態(tài);當(dāng)數(shù)據(jù)字段中的數(shù)據(jù)是壓縮的時(shí)候,它為第二個(gè)狀態(tài)。數(shù)據(jù)狀態(tài)指示可以有第三個(gè)狀態(tài),這時(shí)數(shù)據(jù)字段中的數(shù)據(jù)可以根據(jù)卡中缺省選擇的預(yù)定義解壓算法和預(yù)定義的解壓模型來解壓;那么對(duì)于解壓而言,解壓數(shù)據(jù)的期望長(zhǎng)度指示不總是必需的,可以不包含在協(xié)議數(shù)據(jù)單元中。在相反的情況下,當(dāng)數(shù)據(jù)狀態(tài)指示為第二個(gè)狀態(tài)時(shí),首部包括解壓算法的標(biāo)號(hào)、解壓模型的標(biāo)號(hào)和解壓數(shù)據(jù)期望長(zhǎng)度的指示。
最后,本發(fā)明還涉及一種在根據(jù)本發(fā)明的芯片卡中特別實(shí)現(xiàn)的,解壓壓縮數(shù)據(jù)字段的方法。每個(gè)壓縮數(shù)據(jù)字段前面是非壓縮數(shù)據(jù)長(zhǎng)度的指示,它對(duì)應(yīng)于包含在字段中的壓縮數(shù)據(jù),和包含在字段中的壓縮數(shù)據(jù)長(zhǎng)度的指示。該方法的特征在于下列步驟-檢測(cè)壓縮數(shù)據(jù)的長(zhǎng)度,存儲(chǔ)超過所檢測(cè)長(zhǎng)度的壓縮數(shù)據(jù)字段,并-檢測(cè)解壓數(shù)據(jù)將期望長(zhǎng)度指示,解壓數(shù)據(jù),根據(jù)檢測(cè)到的指示停止解壓。
對(duì)于多服務(wù)提供商的應(yīng)用,本方法包括根據(jù)壓縮數(shù)據(jù)字段前面的算法標(biāo)號(hào)來在幾個(gè)解壓算法中選擇解壓算法的步驟,以便于解壓在所選解壓算法后面字段中的壓縮數(shù)據(jù),在可以應(yīng)用的地方還包括一個(gè)根據(jù)壓縮數(shù)據(jù)字段前面的模型標(biāo)號(hào)在幾個(gè)解壓模型中選擇與所選解壓算法相關(guān)聯(lián)的解壓模型的步驟,以便于根據(jù)所選的解壓算法和解壓模型解壓字段中的數(shù)據(jù)。
在選擇解壓模型的步驟中,本方法可以包括一個(gè)存儲(chǔ)先于壓縮數(shù)據(jù)字段接收到的解壓模型的步驟,以便于根據(jù)所選的解壓算法和存儲(chǔ)的解壓模型來解壓字段中的數(shù)據(jù),或者包括一個(gè)存儲(chǔ)由接收到壓縮數(shù)據(jù)字段中暗中得來的解壓模型的步驟,以便于根據(jù)所選的解壓算法和得來并存儲(chǔ)的解壓模型來解壓字段中的數(shù)據(jù)。
本方法還包括一個(gè)檢測(cè)每個(gè)解壓數(shù)據(jù)字段前面的數(shù)據(jù)狀態(tài)指示的步驟,以便只在數(shù)據(jù)狀態(tài)指示不是第一個(gè)預(yù)定義狀態(tài)的時(shí)候解壓字段中的數(shù)據(jù)。
優(yōu)選做法是,只在當(dāng)數(shù)據(jù)狀態(tài)指示為表示壓縮數(shù)據(jù)要根據(jù)卡中缺省選擇的預(yù)定義算法和模型進(jìn)行解壓的預(yù)定義狀態(tài)時(shí),才執(zhí)行檢測(cè)解壓數(shù)據(jù)期望長(zhǎng)度指示這一步驟。
本發(fā)明的其它特征和優(yōu)點(diǎn)在閱讀下列參考相應(yīng)附圖講述的本發(fā)明的優(yōu)選方案時(shí)會(huì)更為清楚的顯現(xiàn)出來,在附圖中-
圖1是用于在根據(jù)本發(fā)明的芯片卡和根據(jù)第一個(gè)實(shí)施方案的帶有數(shù)據(jù)壓縮器的終端之間進(jìn)行傳輸?shù)南到y(tǒng)方框圖。
-圖2是在根據(jù)本發(fā)明的芯片卡和根據(jù)第二個(gè)實(shí)施方案的帶有數(shù)據(jù)壓縮器的服務(wù)器之間的無線電話系統(tǒng)的方框圖。
-圖3是顯示了根據(jù)本發(fā)明的壓縮數(shù)據(jù)幀的圖示。
-圖4是包括在圖3中的幀中的解壓參數(shù)字段的圖示。
-圖5是一種根據(jù)本發(fā)明的數(shù)據(jù)壓縮方法的算法,以及-圖6是一種根據(jù)本發(fā)明的數(shù)據(jù)壓縮方法的算法。
根據(jù)圖1顯示的第一個(gè)實(shí)施方案,讀卡機(jī)終端TE包括一個(gè)數(shù)據(jù)壓縮器COM,不管終端是否是獨(dú)立的,它都用于壓縮已被內(nèi)部處理的數(shù)據(jù),或者壓縮從傳輸線路——如交換電話網(wǎng)STN或綜合服務(wù)數(shù)字網(wǎng)ISDN中由單元自動(dòng)交換局CO提供的用戶電話線LT——接收的數(shù)據(jù)。壓縮數(shù)據(jù)由終端在根據(jù)本發(fā)明的幀TR中通過傳輸介質(zhì)ST傳輸?shù)叫酒–A,舉例來說,其中的傳輸介質(zhì)是電纜傳輸線,或是無線電,或是電、磁、感應(yīng)接觸類型的介質(zhì)。根據(jù)本發(fā)明的芯片卡解壓接收幀TR中所包含的壓縮數(shù)據(jù)。
卡中的芯片概略包括用于存儲(chǔ)接收到的帶有壓縮或未壓縮數(shù)據(jù)幀的RAM存儲(chǔ)器MC,存儲(chǔ)解壓數(shù)據(jù)的RAM存儲(chǔ)器MD,包含卡操作系統(tǒng)OS和特別根據(jù)本發(fā)明的特定應(yīng)用程序的ROM存儲(chǔ)器MS,特別存儲(chǔ)數(shù)據(jù)傳輸/接收協(xié)議、秘密信息及解壓和未解壓數(shù)據(jù)的EEPROM存儲(chǔ)器ME,和通過總線B連接到存儲(chǔ)器的微處理器PR。
根據(jù)圖2顯示的第二個(gè)實(shí)施方案,卡終端是小區(qū)無線電話網(wǎng)RT中的移動(dòng)無線電話終端TM,例如GSM900或DCS1800。存儲(chǔ)卡是SIM卡,即用戶身份模型,結(jié)構(gòu)類似于圖2顯示的卡CA,并根據(jù)本發(fā)明進(jìn)行了充分的修改和補(bǔ)充。為了不使裝有軟件的移動(dòng)終端TM過載,后者沒有壓縮所接收的數(shù)據(jù),以便將它們傳輸?shù)絊IM卡,但接收這些通過基站分配的話務(wù)信道傳輸?shù)囊褖嚎s數(shù)據(jù)。
在圖2顯示的網(wǎng)絡(luò)RT中,只顯示了想要送到SIM卡的數(shù)據(jù)所通過的主體實(shí)體。這些實(shí)體是一個(gè)移動(dòng)服務(wù)中心MSC,連接到交換電話網(wǎng)STN中至少一組交換中心CO,管理用于訪問移動(dòng)終端的信息,包括在指定時(shí)刻位于各自位置區(qū)的終端TM;連接到中心MSC的,包含有此位置區(qū)中移動(dòng)終端(實(shí)際上是SIM卡)特征的訪問者位置登記VLR;基站控制器GSC,特別管理移動(dòng)終端的信道分配,基站功率和用于移動(dòng)站的小區(qū)間轉(zhuǎn)移;以及基站BTS,覆蓋在指定時(shí)刻終端TM所在的無線電小區(qū)。
在這第二個(gè)實(shí)施方案中,數(shù)據(jù)壓縮器COM包含在壓縮服務(wù)器SC中,SC通過傳統(tǒng)的ISDN接口,如帶有30個(gè)B信息通道和一個(gè)64KB/SD通道的2048KB/S的T2,連接到移動(dòng)服務(wù)中心MSC。對(duì)于所有具有網(wǎng)絡(luò)STN中的固定終端或無線電話網(wǎng)RT中的移動(dòng)終端的通訊網(wǎng),所有想要用于該位置區(qū)域內(nèi)移動(dòng)終端的、要被壓縮的輸入數(shù)據(jù)在通過相應(yīng)的控制器BSC、基站BTS和移動(dòng)終端TM之前,在服務(wù)器SC中被壓縮。
在另外一種形式中,服務(wù)器SC沒有連接到移動(dòng)服務(wù)中心MSC,但是為各個(gè)連接到由中心MSC供應(yīng)的基站控制器BSC的壓縮服務(wù)器所替代。
現(xiàn)在講述圖3和圖4,協(xié)議數(shù)據(jù)單元以壓縮數(shù)據(jù)幀TR的形式,從終端TE、TM通過傳輸介質(zhì)S,或根據(jù)圖2從壓縮服務(wù)器SC通過終端TM傳輸?shù)娇–A、SIM,其結(jié)構(gòu)包括首部EN和數(shù)據(jù)字段DATA。幀T與根據(jù)字符的標(biāo)準(zhǔn)輸入數(shù)據(jù)幀相比較進(jìn)行了充分的修改,其中字符是依照字符異步傳輸協(xié)議“T=0”的。幀TR的首部ET不是五個(gè)字節(jié),而是包括如“T=0”幀中的五個(gè)字節(jié)CLA、INS、P1、P2、LC,以及從數(shù)據(jù)字段“獲得”的,根據(jù)本發(fā)明的解壓參數(shù)的第六個(gè)字節(jié)PD。這六個(gè)字節(jié)是十六進(jìn)制代碼。
例如在“T=0”幀中,字節(jié)CLA指定了一個(gè)包含在下一字節(jié)中的結(jié)構(gòu)類,例如字節(jié)INS是一個(gè)涉及芯片卡CA、SIM的操作系統(tǒng)OS命令或涉及數(shù)據(jù)安全的結(jié)構(gòu),字節(jié)P1和P2是說明參數(shù),字節(jié)LC是以字節(jié)表示的“T=0”幀中數(shù)據(jù)字段的長(zhǎng)度,對(duì)于大多數(shù)根據(jù)本發(fā)明的壓縮數(shù)據(jù)幀來說,由于有字節(jié)PD,它等于幀TR的字段DAT的長(zhǎng)度加1。
根據(jù)本發(fā)明,幀TR包括兩個(gè)數(shù)據(jù)狀態(tài)指示位B2和B3,字節(jié)CLA中的第二和第三位,它們?cè)诮K端TE的壓縮器COM或服務(wù)器SC中生成,主要是指示字段DAT中數(shù)據(jù)的壓縮或未壓縮狀態(tài)。數(shù)據(jù)狀態(tài)指示位B2和B3分別具有下列二進(jìn)制狀態(tài)-“00”,這時(shí)接收的數(shù)據(jù)是未壓縮的,那么幀TR是帶有字節(jié)PD為數(shù)據(jù)字節(jié)的“T=0”幀。
-“10”,這時(shí)接收的數(shù)據(jù)是壓縮的,要在卡中根據(jù)芯片卡CA、SIM中缺省選擇的,最常為使用的預(yù)定義解壓算法AL0和模型M00來解壓,那么幀TR是“T=0”幀,這時(shí)解壓不需要解壓數(shù)據(jù)的長(zhǎng)度。
-“11”,這時(shí)接收的數(shù)據(jù)是壓縮的,要在卡中根據(jù)從幾個(gè)解壓算法選出的ALi和從幾個(gè)解壓模型中選出的適合所選算法ALi的Mij來解壓,解壓算法ALi和模型Mij對(duì)應(yīng)于在終端TE或服務(wù)器SC用在數(shù)據(jù)中進(jìn)行初始?jí)嚎s的壓縮算法“ALi”和模型“Mij”。
因此,根據(jù)本發(fā)明,芯片卡的ROM存儲(chǔ)器主要是包含卡的操作系統(tǒng)OS,還包括幾個(gè)涉及解壓算法AL0到ALI的應(yīng)用程序,位于0到整數(shù)I之間的索引i典型情況下不大于3;每個(gè)算法ALi與幾個(gè)壓縮模型Mi0到MiJ相關(guān)聯(lián),位于0到整數(shù)J之間的索引j典型情況下不大于7。解壓模型依靠實(shí)現(xiàn)它的解壓算法提供壓縮符號(hào)與非壓縮符號(hào)間的匹配,例如基于樹、概率表、字典或列表的模型。當(dāng)字段CLA類中的B2和B3位是“11”時(shí),用于解壓數(shù)據(jù)DATA的算法ALi的辨認(rèn)和模型Mij的辨認(rèn)分別由解壓參數(shù)字節(jié)PD開始處的2位的字和3位的字指示給卡CA,如圖4所示。因此本發(fā)明的卡CA、SIM適合分別由負(fù)責(zé)管理終端TE方式或帶有服務(wù)器SC的終端TM方式的不同的服務(wù)提供商所選擇的不同的解壓算法。
如另外一種形式,芯片卡CA(圖1)、SIM還包括一個(gè)連接到總線B的RAM存儲(chǔ)器MM。解壓模型的特征包括在根據(jù)此模型的帶有壓縮數(shù)據(jù)的幀TR前面的輸入命令幀(非壓縮的)中,使用終端TE或服務(wù)器SC通過介質(zhì)ST傳輸,并由處理器PR寫入存儲(chǔ)器MM。接下來為了解壓數(shù)據(jù),進(jìn)入存儲(chǔ)器MM的,實(shí)現(xiàn)這個(gè)模型的算法會(huì)由處理器在存儲(chǔ)器MS中查找。
根據(jù)另外一種不同的形式,AL0到ALi中的一些算法與解壓模型相關(guān)聯(lián),這些模型的特征在于它們沒有事先存儲(chǔ)在卡CA、SIM的ROM存儲(chǔ)器MS中。隨著在存儲(chǔ)器MC中寫入壓縮數(shù)據(jù)幀,這種解壓模型依照對(duì)應(yīng)的解壓算法在處理器中重構(gòu),并寫入RAM存儲(chǔ)器MM以便在解壓壓縮數(shù)據(jù)過程中讀取。根據(jù)這種變化形式,解壓模型被暗中包含在壓縮數(shù)據(jù)幀中。
壓縮數(shù)據(jù)幀中解壓參數(shù)字段PD包含的后n位的字LDD為卡CA、SIM指出解壓數(shù)據(jù)長(zhǎng)度模2n的展開長(zhǎng)度,其中n是一個(gè)大于等于2的整數(shù)。最初在終端TE或服務(wù)器SC中是未壓縮的、與卡CA、SIM中的解壓數(shù)據(jù)一致的數(shù)據(jù)作為m位的數(shù)據(jù)字進(jìn)行處理,m是大于等于1的整數(shù)。數(shù)據(jù)的期望長(zhǎng)度表示為m位的數(shù)據(jù)字,字LDD表示壓縮幀后面字段中不超過2n的數(shù)據(jù)字的長(zhǎng)度。根據(jù)圖4中說明的實(shí)施方案,一般大于等于0的整數(shù)n等于3,m位的字是解壓數(shù)據(jù)的字節(jié)數(shù),m=8,解壓數(shù)據(jù)期望長(zhǎng)度的字LDD有3位,等于解壓數(shù)據(jù)期望長(zhǎng)度除以2n=8的余數(shù)。
使用解壓數(shù)據(jù)長(zhǎng)度參數(shù)LDD,芯片卡CA、SIM中的處理器PR恰好在要解壓的接收數(shù)據(jù)的結(jié)束處停止解壓數(shù)據(jù)。例如,根據(jù)某個(gè)解壓算法,如Huffman算法,幾個(gè)符號(hào)可以在一個(gè)m位的字中編碼,在m=8這種情況下要一個(gè)字節(jié)。符號(hào)的解壓必須要在解壓幀的結(jié)束處停止,這可能在最后一個(gè)字節(jié)開始處的第一個(gè)符號(hào)發(fā)生;這個(gè)字節(jié)后面的位不是數(shù)據(jù),而是填充位,是在精確計(jì)算出解壓數(shù)據(jù)位數(shù)后填入到卡中的,計(jì)算是依照參數(shù)LDD與壓縮數(shù)據(jù)長(zhǎng)度LC同時(shí)指示的精度進(jìn)行的。
根據(jù)另外一種不同的形式,當(dāng)m=1時(shí),解壓數(shù)據(jù)長(zhǎng)度的精度可以達(dá)到一位;例如對(duì)于m=8,參數(shù)LDD指出了包括在幀中最后一個(gè)字節(jié)的期望數(shù)據(jù)位數(shù)。
當(dāng)依照依據(jù)塊異步傳輸協(xié)議(人們已知的應(yīng)用協(xié)議數(shù)據(jù)單元APDU)的“T=1”塊,輸入數(shù)據(jù)的幾個(gè)“T=0”幀或標(biāo)準(zhǔn)幀必須要連接起來以構(gòu)成一個(gè)文件時(shí),參數(shù)LDD也是有作用的。幀開始必須要精確的從上一幀結(jié)束處,即解壓數(shù)據(jù)的最后一個(gè)字節(jié)處繼續(xù)下去。參數(shù)LDD精確的指出在上一幀最后字節(jié)處的這個(gè)文件分段。
除了期望長(zhǎng)度由被2n除后的余數(shù)表示,根據(jù)本發(fā)明它可以完整的加入到幀TR的首部中。但是,這個(gè)添加會(huì)在幀TR的首部ET中增加一個(gè)額外的字,然后期望長(zhǎng)度會(huì)大于28=256個(gè)字節(jié)。另外為了給出所有的情況,類字段CLA中第三位是必需的。
圖5顯示了一種根據(jù)本發(fā)明的壓縮方法。它主要包括五個(gè)步驟C0到C4,在終端TE或服務(wù)器SC中執(zhí)行。
在步驟C0中依照協(xié)議指示,當(dāng)輸入到終端T或服務(wù)器SC中的數(shù)據(jù)不是壓縮的,B2和B3位在起始步驟C0后的步驟C30中設(shè)置為狀態(tài)“00”。
如果輸入數(shù)據(jù)要在步驟C0處壓縮,終端TE或服務(wù)器SC在接下來的步驟C1中使用預(yù)先安裝在終端TE或服務(wù)器SC中的壓縮算法“ALi”和對(duì)應(yīng)的壓縮模型“Mij”來壓縮輸入數(shù)據(jù)。如果算法“ALi”和模型“Mij”是預(yù)定義壓縮算法“AL0”和預(yù)定義壓縮模型“M00”,而且如果只要壓縮停止在整數(shù)的n位數(shù)據(jù)字,在步驟C21中壓縮就不需要知道關(guān)于解壓數(shù)據(jù)長(zhǎng)度LDD的指示,那么B2和B3位在步驟C31分別被設(shè)置為狀態(tài)“10”。在相反的情況下,在步驟C2和C21中,參數(shù)LDD是必需的,B2和B3位在步驟C32被設(shè)置為狀態(tài)“11”。用于壓縮數(shù)據(jù)算法和模型的ALi和Mij標(biāo)號(hào)以及壓縮前數(shù)據(jù)期望長(zhǎng)度,模2n,形成了解壓參數(shù)字段PD。
接下來,在隨后的步驟C4,不管數(shù)據(jù)是壓縮的還是未壓縮的,最終形成要傳輸?shù)膸琓R。在步驟C5可以選擇編碼整個(gè)幀或只編碼數(shù)據(jù)字段DATA。
如圖6所示,卡PC、SIM中的數(shù)據(jù)壓縮包括九個(gè)步驟D0到D10。在起始步驟D0,根據(jù)異步傳輸接收到的幀TR被寫入卡中的RAM緩沖存儲(chǔ)器MC??蛇x的,如果幀TR或該幀中包含的數(shù)據(jù)DATA在終端TE或服務(wù)器SC中被編碼,那么卡處理器PR在步驟D1對(duì)每個(gè)接收幀進(jìn)行解讀,寫入RAM緩沖存儲(chǔ)器。接下來在步驟D2,當(dāng)類CLA字段中最重要的B1位狀態(tài)為“1”時(shí),處理器PR確認(rèn)接收的幀TR為標(biāo)準(zhǔn)幀;否則,當(dāng)接收的幀B1=“0”時(shí),方法由步驟D2跳到步驟D10。在步驟D3,由字段LC中讀取的數(shù)據(jù)字段DATA的長(zhǎng)度確定了在存儲(chǔ)器MC中寫數(shù)據(jù)的中止位置。
在隨后的步驟D4中,讀取接收幀TR的字段CLA中的第二和第三位B2和B3。如果這兩位等于“00”,如步驟D50所示,那么沒有進(jìn)行數(shù)據(jù)壓縮,本方法直接跳到步驟D10。在相反的情況下,必須要解壓數(shù)據(jù)DATA,本方法跳到步驟D51以區(qū)分未帶有和帶有解壓參數(shù)字段PD的幀。
在步驟D51,如果B2和B3位不等于“11”,那么在步驟D52它們等于“10”。操作系統(tǒng)OS在步驟D60自動(dòng)選擇存儲(chǔ)器MS中預(yù)定義的解壓算法和模型AL0和M00,然后執(zhí)行數(shù)據(jù)DATA的解壓,并在步驟D9將解壓的數(shù)據(jù)寫入到存儲(chǔ)器MD。根據(jù)字段DATA的長(zhǎng)度LC來估計(jì)解壓的結(jié)束。
在步驟D51,當(dāng)B2和B3位為“11”時(shí),操作系統(tǒng)OS會(huì)選擇解壓算法和模型。包含在接收幀TR中的解壓參數(shù)字段PD的頭兩位指出了解壓算法ALi,在步驟D6從卡的ROM存儲(chǔ)器MS中選取這個(gè)算法。如果模型Mij的特征在接收幀TR之前接收到的或在接收幀TR起始處暗中推導(dǎo)出的,那么在步驟D7和D71從RAM存儲(chǔ)器MM中讀取對(duì)應(yīng)的解壓模型Mij。在相反的情況下,讀取接收幀的字段PD中的三個(gè)模型位以便在步驟D7和D72從ROM存儲(chǔ)器MS中選擇模型Mij。接下來,步驟D71或D72之后,在步驟D8由操作系統(tǒng)OS讀取解壓參數(shù)字段PD結(jié)束處的n位的字LDD,以便在步驟D9,處理器PR執(zhí)行對(duì)包含在接收幀TR的字段DATA中的數(shù)據(jù)的解壓,根據(jù)前面讀取的字LDD停止此解壓。解壓后的數(shù)據(jù)寫入到RAM存儲(chǔ)器MD中。
根據(jù)包含在字段INS中的指示和在接收幀TR中定義該指示的參數(shù)P1、P2,操作系統(tǒng)OS在步驟D10執(zhí)行指定的命令,例如在指定文件地址將包含在存儲(chǔ)器MD中的解壓后數(shù)據(jù)復(fù)制到卡的EEPROM存儲(chǔ)器中。在此階段,如果根據(jù)本發(fā)明接收的數(shù)據(jù)沒有壓縮,那么卡中的操作系統(tǒng)完全處于它在標(biāo)準(zhǔn)卡中所遇到的情形。
舉例來說,包含在壓縮數(shù)據(jù)幀TR中的首部ET如下CLA=“E8”;INS=“D0”;P1=“03”;P2=“20”;LC=“23”;PD=“B6”。
所有這些字節(jié)都是十六進(jìn)制代碼。
在這個(gè)示例中,字段CLA的第一半為“1110”,即B2=“1”,B3=“1”,這意味著數(shù)據(jù)DATA使用了算法“ALO”和模型“M00”以外的算法和模型進(jìn)行壓縮。根據(jù)字段LC,數(shù)據(jù)DATA壓縮后為(16×2+3)=35個(gè)字節(jié)。根據(jù)算法AL2和對(duì)應(yīng)的模型M26來進(jìn)行解壓,算法和模型的標(biāo)號(hào)是從解壓參數(shù)字段PD前五位“10110”讀出的。解壓數(shù)據(jù)的期望長(zhǎng)度LDD為8個(gè)字節(jié)的整數(shù)倍加上根據(jù)幀TR的字段PD的后三位LDD=“011”得到的三個(gè)字節(jié)。
在其它從卡CA、SIM到終端TE、TM的傳輸方向中,開始時(shí)數(shù)據(jù)沒有壓縮,由卡在標(biāo)準(zhǔn)幀“T=0”或可能在“T=1”中進(jìn)行壓縮。
權(quán)利要求
1.一種能夠接收壓縮數(shù)據(jù)字段(DATA)的芯片卡(CA,SIM),每個(gè)字段前面帶有解壓數(shù)據(jù)期望長(zhǎng)度(LDD)和壓縮數(shù)據(jù)長(zhǎng)度(LC)的指示,其特征在于它包括一第一個(gè)裝置(MC),用于存儲(chǔ)根據(jù)各個(gè)壓縮數(shù)據(jù)長(zhǎng)度(LC)接收的壓縮數(shù)據(jù)字段(DATA,TR),第二個(gè)裝置(MS),用于存儲(chǔ)解壓算法,裝置(PR)用于根據(jù)此解壓算法來解壓每個(gè)字段中的壓縮數(shù)據(jù)以及依靠解壓數(shù)據(jù)長(zhǎng)度(LDD)指示解壓超過長(zhǎng)度的數(shù)據(jù),第三個(gè)裝置(MD),用于存儲(chǔ)解壓數(shù)據(jù)。
2.根據(jù)權(quán)利要求1的芯片卡,其中第二個(gè)存儲(chǔ)裝置(MS)包含幾種分別與解壓算法(AL0到ALi)相聯(lián)系的解壓模型(Mi0-MiJ),解壓裝置(PR)檢測(cè)每個(gè)接收到的壓縮數(shù)據(jù)字段前面的解壓算法的標(biāo)號(hào)(ALi),以便依照標(biāo)號(hào)為檢測(cè)到標(biāo)號(hào)的解壓算法解壓數(shù)據(jù)。
3.根據(jù)權(quán)利要求2的芯片卡,卡中第二個(gè)存儲(chǔ)裝置(MS)包含幾種分別與解壓算法(AL0到ALi)相關(guān)聯(lián)的解壓模型(Mi0到MiJ),解壓裝置(PR)檢測(cè)每個(gè)接收到的壓縮數(shù)據(jù)字段前面的解壓模型的標(biāo)號(hào)(Mij),以便根據(jù)對(duì)應(yīng)的解壓算法和標(biāo)號(hào)已經(jīng)被檢測(cè)到的解壓模型解壓數(shù)據(jù)。
4.根據(jù)權(quán)利要求2的芯片卡,包括第四個(gè)裝置(MM),用于存儲(chǔ)接收壓縮數(shù)據(jù)字段之前接收到的解壓模型,解壓裝置(PR)檢測(cè)所述的接收到的壓縮數(shù)據(jù)字段前面的解壓算法的標(biāo)號(hào)(ALi),以便根據(jù)標(biāo)號(hào)為檢測(cè)到的解壓算法和從第四個(gè)存儲(chǔ)裝置(MM)中讀取的解壓模型解壓數(shù)據(jù)。
5.根據(jù)權(quán)利要求2的芯片卡,包括第四個(gè)裝置(MM),用于存儲(chǔ)在寫入第一個(gè)存儲(chǔ)裝置(MC)的過程中暗中從壓縮數(shù)據(jù)字段推導(dǎo)出的解壓模型,解壓裝置(PR)檢測(cè)位于該已存儲(chǔ)的壓縮數(shù)據(jù)字段前面的解壓算法(ALi)的標(biāo)號(hào),以便根據(jù)標(biāo)號(hào)為檢測(cè)到的解壓算法和從第四個(gè)存儲(chǔ)裝置(MM)中讀取的由推導(dǎo)得來的解壓模型解壓數(shù)據(jù)。
6.根據(jù)權(quán)利要求1到5中任何一個(gè)的芯片卡,其中解壓裝置(PR)檢測(cè)關(guān)于每個(gè)接收壓縮數(shù)據(jù)字段是壓縮的或未壓縮的指示(CLAB2,B3),以便解壓裝置(PR)只在前面有已壓縮狀態(tài)指示的數(shù)據(jù)字段中解壓數(shù)據(jù)。
7.一種協(xié)議數(shù)據(jù)單元,為根據(jù)權(quán)利要求1到6中任何一個(gè)的芯片卡所特別接收,包括首部(ET)和數(shù)據(jù)字段(DATA),首部包括數(shù)據(jù)字段長(zhǎng)度(LC),其特征在于首部(ET)包括關(guān)于數(shù)據(jù)字段(DATA)解壓后期望解壓數(shù)據(jù)長(zhǎng)度的指示(LDD)。
8.根據(jù)權(quán)利要求7的協(xié)議數(shù)據(jù)單元,其中關(guān)于期望解壓數(shù)據(jù)長(zhǎng)度的指示(LDD)是n位的字,等于解壓數(shù)據(jù)模2n的期望長(zhǎng)度,期望長(zhǎng)度以解壓的m位的數(shù)據(jù)字表示,n是最小等于0的整數(shù),m是最小等于1的整數(shù)。
9.根據(jù)權(quán)利要求7或8的協(xié)議數(shù)據(jù)單元,其中首部(ET)包括解壓算法的標(biāo)號(hào)(ALi),數(shù)據(jù)字段(DATA)中的壓縮數(shù)據(jù)依照此算法來解壓。
10.根據(jù)權(quán)利要求9的協(xié)議數(shù)據(jù)單元,其中首部(ET)包括對(duì)應(yīng)于標(biāo)號(hào)(ALi)為包含在首部中的解壓算法的解壓模型標(biāo)號(hào)(Mij),數(shù)據(jù)字段(DATA)中的壓縮數(shù)據(jù)依照此模型來解壓。
11.根據(jù)權(quán)利要求7到10之一的協(xié)議數(shù)據(jù)單元,其中首部(ET)包含一個(gè)數(shù)據(jù)狀態(tài)指示(B1,B2),當(dāng)數(shù)據(jù)字段(DATA)中的數(shù)據(jù)沒有壓縮時(shí),指示為第一個(gè)狀態(tài),當(dāng)數(shù)據(jù)字段(DATA)中的數(shù)據(jù)被壓縮時(shí),為第二個(gè)狀態(tài)。
12.根據(jù)權(quán)利要求11的協(xié)議數(shù)據(jù)單元,其中當(dāng)數(shù)據(jù)字段(DATA)中的數(shù)據(jù)要依照預(yù)定義的解壓算法(AL0)和預(yù)定義的解壓模型(M00)來解壓時(shí),數(shù)據(jù)狀態(tài)指示(B1,B2)為第三個(gè)狀態(tài)。
13.根據(jù)權(quán)利要求11或12的協(xié)議數(shù)據(jù)單元,其中首部(ET)包含解壓算法標(biāo)號(hào)(ALi)、解壓模型標(biāo)號(hào)(MiJ),當(dāng)數(shù)據(jù)狀態(tài)指示(B1,B2)處于第二個(gè)狀態(tài)時(shí),還包含關(guān)于期望解壓數(shù)據(jù)長(zhǎng)度的指示(LDD)。
14.一種在根據(jù)權(quán)利要求1到6之一的芯片卡中特別實(shí)現(xiàn)的解壓壓縮數(shù)據(jù)字段(DATA)的方法,每個(gè)壓縮數(shù)據(jù)字段的前面是對(duì)應(yīng)于包含在字段中的壓縮數(shù)據(jù)的期望解壓數(shù)據(jù)長(zhǎng)度指示(LDD)和包含在字段中的壓縮數(shù)據(jù)的長(zhǎng)度(LC),其特征在于下列步驟-檢測(cè)(D3)壓縮數(shù)據(jù)的長(zhǎng)度(LC),存儲(chǔ)(D0)超過所檢測(cè)長(zhǎng)度的壓縮數(shù)據(jù)字段(DATA),并-檢測(cè)(D8)關(guān)于期望解壓數(shù)據(jù)長(zhǎng)度指示(LDD),和解壓(D9)數(shù)據(jù),根據(jù)所檢測(cè)的指示(LDD)停止解壓。
15.根據(jù)權(quán)利要求14的方法,包括步驟(D6)根據(jù)壓縮數(shù)據(jù)字段前面的算法標(biāo)號(hào)在幾個(gè)解壓算法(AL0到ALI)中選擇解壓算法(ALi),以便依照所選的解壓算法解壓字段中的數(shù)據(jù)。
16.根據(jù)權(quán)利要求15的方法,包括步驟(D7,D72)根據(jù)壓縮數(shù)據(jù)字段前面的模型標(biāo)號(hào)在幾個(gè)解壓模型(Mi0到MiJ)中選擇與所選解壓算法相關(guān)聯(lián)的解壓模型(Mij),以便依照所選的解壓算法和所選的解壓模型解壓字段中的數(shù)據(jù)。
17.根據(jù)權(quán)利要求15的方法,包括步驟(D71)存儲(chǔ)以前接收到壓縮數(shù)據(jù)字段(DATA)中的解壓模型(Mij),以便依照所選的解壓算法和存儲(chǔ)的解壓模型來解壓字段中的數(shù)據(jù)。
18.根據(jù)權(quán)利要求15的方法,包括步驟(D71)存儲(chǔ)暗中從接收到的壓縮數(shù)據(jù)字段(DATA)中推導(dǎo)出的解壓模型(Mij),以便依照所選的解壓算法和推導(dǎo)并存儲(chǔ)的解壓模型來解壓字段中的數(shù)據(jù)。
19.根據(jù)權(quán)利要求14到18之一的方法,包括步驟(D4,D50,D51,D52)檢測(cè)每個(gè)解壓數(shù)據(jù)字段前面的數(shù)據(jù)狀態(tài)指示(B2,B3),以便只在數(shù)據(jù)狀態(tài)指示在沒有處于第一個(gè)預(yù)定義狀態(tài)時(shí)解壓字段中的數(shù)據(jù)。
20.根據(jù)權(quán)利要求19的方法,根據(jù)此方法,當(dāng)數(shù)據(jù)狀態(tài)指示(B2,B3)處于預(yù)定義狀態(tài),其表示壓縮數(shù)據(jù)要依照預(yù)定義的算法和模型(AL0,M00)進(jìn)行解壓時(shí),不執(zhí)行檢測(cè)關(guān)于期望解壓數(shù)據(jù)長(zhǎng)度指示(LDD)的步驟(D8)。
全文摘要
本發(fā)明涉及一個(gè)接收以幀封裝的壓縮數(shù)據(jù)字段的芯片卡(CA),該數(shù)據(jù)含有期望解壓數(shù)據(jù)長(zhǎng)度和壓縮數(shù)據(jù)長(zhǎng)度的指示。該幀被接收到一個(gè)存儲(chǔ)單元(MC)中,并且該卡的處理器(PR)根據(jù)超過基于期望長(zhǎng)度指示的解壓算法解壓每一個(gè)數(shù)據(jù)字段并且將解壓數(shù)據(jù)寫入到另一個(gè)緩沖存儲(chǔ)單元(MD)中。幾個(gè)算法和可選的幾個(gè)解壓模型被安裝在卡存儲(chǔ)單元(MS)中,并且通過在所接收的每一個(gè)幀的首部中讀出的標(biāo)記選擇其中的一對(duì)。
文檔編號(hào)G06F3/08GK1334948SQ9981593
公開日2002年2月6日 申請(qǐng)日期1999年11月4日 優(yōu)先權(quán)日1998年12月1日
發(fā)明者B·布里厄塞 申請(qǐng)人:格姆普拉斯公司