專利名稱:塊編碼器中的分段機(jī)制的制作方法
本申請是申請日為2000年4月14日,申請?zhí)枮?0800593.1,標(biāo)題為“塊編碼器中的分段機(jī)制”的專利申請的分案申請。
本發(fā)明涉及塊編碼器的方法和裝置。眾所周知,塊編碼器往往用于糾錯(cuò)。塊編碼器的一個(gè)例子是如參考文獻(xiàn)1中所公開的所謂快速編碼器。
圖1是快速編碼器TE的框圖,該編碼器通過(傳輸)信道與相應(yīng)的快速解碼器TD連接。典型的快速編碼器將原始信息直接傳送到信道。這些比特被稱為系統(tǒng)比特。另外,快速編碼器還利用簡單編碼器1和2加進(jìn)冗余(奇偶),編碼器2的前面加了一個(gè)交錯(cuò)器P,它置換原始信息的比特。不過,塊編碼器的細(xì)節(jié)對理解本發(fā)明而言無關(guān)緊要,有關(guān)情況可參照相關(guān)文獻(xiàn)。
與流式編碼器不同,塊編碼器可同時(shí)處理一個(gè)或多個(gè)數(shù)據(jù)塊。長度超過塊編碼器的塊長度的輸入數(shù)據(jù)塊必須劃分為更小的段,使得所有的段都不大于塊編碼器的塊長度。因此,塊編碼器特別適合于具有固定輸入塊長度的應(yīng)用。使用塊編碼器的問題在于,它們不適宜于具有可變(動(dòng)態(tài))輸入塊長度的應(yīng)用。換言之,如何處理輸入數(shù)據(jù)塊的最后幾段仍是個(gè)未解決的問題。
本發(fā)明的目的在于,提供一種使塊編碼器適用于具有可變的(動(dòng)態(tài)的)輸入塊長度的應(yīng)用的機(jī)制。該機(jī)制將是通用的,以便能適應(yīng)各種塊編碼器。
利用一種其特征如附屬的獨(dú)立權(quán)利要求中所公開的方法和裝置可達(dá)到這一目的。本發(fā)明的優(yōu)選實(shí)施方式如附屬的從屬權(quán)利要求中所公開。
一種簡單的方案是對輸入數(shù)據(jù)塊的段進(jìn)行填充以達(dá)到塊編碼器的塊長度。假定,塊長度為8千比特(kb),那么14kb輸入數(shù)據(jù)塊可分為8kb的第一段和由6kb的凈長度及2kb的填充(填補(bǔ))比特組成的第二(最未)段。這一簡單的方案的好處在于,塊編碼器不必去適應(yīng)變化的輸入塊長度。
本發(fā)明基于這樣的思想對于長度超過塊編碼器的塊長度的輸入數(shù)據(jù)塊1)在開始編碼前,確定輸入數(shù)據(jù)塊的長度;和2)將輸入數(shù)據(jù)塊分成一些長度大致相等的段,使得所有的段都不大于塊編碼器的塊長度。
根據(jù)本發(fā)明的一種優(yōu)選實(shí)施方式,將輸入數(shù)據(jù)塊分為盡可能少的段數(shù)。換言之,這些段應(yīng)盡可能大。
根據(jù)本發(fā)明的另一實(shí)施方式,將輸入數(shù)據(jù)塊分為2n個(gè)段,其中n為正整數(shù)。
根據(jù)本發(fā)明的又一優(yōu)選實(shí)施方式,如果劃分輸入數(shù)據(jù)塊時(shí)產(chǎn)生的最后一段比其余段短,則用一些填充比特來填補(bǔ)該輸入數(shù)據(jù)塊或最后一段,直到最后一段的長度等于其余段的長度。不過,與簡單方案相比,該最后一段并不是被填補(bǔ)到塊編碼器的滿塊長度(除非其余段碰巧也是這個(gè)長度)。
下面,結(jié)合一些優(yōu)選實(shí)施方式并參照附圖來詳述本發(fā)明,其中圖1是快速編碼器的框圖;和圖2示出了將輸入數(shù)據(jù)塊分為適用于快速編碼器的一些段。
下面,針對一種快速編碼器來描述本發(fā)明的各種實(shí)施方式,這種快速編碼器的一個(gè)例子如參考文獻(xiàn)1中所述。不過,快速編碼器或任何其他編碼器的細(xì)節(jié)對理解本發(fā)明而言無關(guān)緊要。
通過限定編碼塊的長度,可以簡化快速編碼器(和相應(yīng)的解碼器)的實(shí)現(xiàn)。編碼塊的長度其適當(dāng)?shù)闹禐?192比特,其中包括用戶數(shù)據(jù)、可能的檢錯(cuò)字段(CRC)和結(jié)尾。以下是所用的命名協(xié)定NTAIL=結(jié)尾比特?cái)?shù)
TDELAY(秒)=用戶數(shù)據(jù)塊的長度RDATA(比特/秒)=業(yè)務(wù)的用戶數(shù)據(jù)速率NEXTRA=附加到原始用戶數(shù)據(jù)中的其他比特(CRC等)數(shù)LCB=編碼塊的最大長度。
下列條件必須滿足RDATA*TDELAY+NEXTRA+NTAIL≤LCB[1]如果該條件不能滿足,那么,所要編碼的數(shù)據(jù)必須分段,使得各段都滿足該條件。段數(shù)NS必須滿足下列條件上舍入((RDATA*TDELAY+NEXTRA)/NS)+NTAIL≤LCB[2]最好選擇滿足不等式[2]的最小NS??筛鶕?jù)下式計(jì)算NSNS=上舍入((RDATA*TDELAY+NEXTRA)/(LCB-NTAIL))[3]可能碰巧所有編碼塊沒有以相同的長度結(jié)束,即(RDATA*TDELAY+NEXTRA)/NS不是一個(gè)整數(shù)。在這種情況下,至少有兩種可行的解決方案,稱之為算法A和B。在算法A中,允許最后一段有與其他段不同的長度。在算法B中,將NFILL個(gè)填充比特(如“0”)附加到輸入數(shù)據(jù)中,使得,(RDATA*TDELAY+NEXTRA+NFILL)/NS為盡可能小的整數(shù)。(或者說,可將填充比特附加到分段后的最后一段中)算法A算法A允許最后一段比其他段短。算法A采用下列輸入量RDATA=用戶數(shù)據(jù)速率(比特/秒)TDELAY=編碼用戶數(shù)據(jù)塊的長度(秒)NEXTRA=編碼前附加到用戶數(shù)據(jù)中的附加數(shù)據(jù)(比特)NTAIL=附加到編碼塊中的尾比特?cái)?shù)算法A得到下列輸出量NS=段數(shù)NTB=除最后一個(gè)塊外的快速編碼器輸入塊中的比特?cái)?shù)NLAST-TB=最后一個(gè)快速編碼器輸入塊中的比特?cái)?shù)在算法A中,將進(jìn)行以下計(jì)算
設(shè)NS=上舍入((RDATA*TDELAY+NEXTRA)/(LCB-NTAIL))設(shè)NTB=上舍入((RDATA*TDELAY+NEXTRA)/NS)+NTAIL;設(shè)NREM=((RDATA*TDELAY+NEXTRA)/NS)的余數(shù);如果NREM≠0,則NLAST-TB=NTB-NS+NREM,否則NLAST-TB=NTB結(jié)束。
如果采用算法A,那么,由于輸入到快速編碼器的最后輸入段比其他輸入段短,因此需要一種自適應(yīng)快速交錯(cuò)器。編碼器的輸出中的系統(tǒng)的比特?cái)?shù)為RDATA*TDELAY+NEXTRA+NS*NTAIL[4]因此,除了每段的結(jié)尾的比特之外沒有附加比特。
算法B如圖2中所示,在算法B中,輸入到快速編碼器的所有輸入段長度都相等。算法B的輸入量為RDATA=用戶數(shù)據(jù)速率(比特/秒)TDELAY=編碼用戶數(shù)據(jù)塊的長度(秒)NEXTRA=編碼前附加到用戶數(shù)據(jù)中的附加數(shù)據(jù)(比特)NTAIL=附加到編碼塊中的尾比特?cái)?shù)算法B的輸出量為NS=段數(shù)NTB=快速編碼器輸入塊中的比特?cái)?shù)NFILL=最后一個(gè)快速編碼器輸入塊中的填充比特(如“0”)數(shù)在算法B中,將進(jìn)行以下計(jì)算設(shè)NS=上舍入((RDATA*TDELAY+NEXTRA)/(LCB-NTAIL))設(shè)NTB=上舍入((RDATA*TDELAY+NEXTRA)/NS)+NTAIL設(shè)NREM=((RDATA*TDELAY+NEXTRA)/NS)的余數(shù)如果NREM≠0,則將NFILL=(NS-NREM)個(gè)“0”比特插入到輸入數(shù)據(jù)的末端,否則NFILL=0。
輸入到快速編碼器的所有輸入段長度都相等,因此對所有的段而言都可以利用相同的快速交錯(cuò)器。這樣,在快速編碼器的輸出端,整個(gè)信道交換塊上的系統(tǒng)的比特?cái)?shù)為NS*(上舍入((RDATA*TDELAY+NEXTRA)/NS)+NTAIL)[5]因此,除了結(jié)尾比特之外還有一些附加比特。
算法A和B的修改在上述算法A和B中,通過選擇盡可能少的段數(shù)NS,使輸入到快速編碼器的輸入段的長度最大。在某些情況下,可以優(yōu)先采用為2的次方的段數(shù)NS,但這會(huì)使輸入到快速編碼器的輸入段變短。在這種情況下,可用以下三步來取代上述算法A和B中的第一步設(shè)nS=上舍入((RDATA*TDELAY+NEXTRA)/(LCB-NTAIL));設(shè)m=上舍入(log2nS);設(shè)NS=2m。
參考文獻(xiàn)1.C.Berrou,A.Glavieux,P.ThitimajshimaNear Shannon limiterror-correcting coding and decodingTurbo-codes,IEEEInternational Conference on Communications,ICC 1993,Geneva,Switzerland 23-26 May,1993,Vol.2,pp.1064-1070。
所有參考文獻(xiàn)在此作為參考。
權(quán)利要求
1.一種利用塊編碼器(TE)將輸入數(shù)據(jù)塊(IDB)編碼的方法,所述塊編碼器能處理連續(xù)編碼塊(CB),編碼塊的長度有一個(gè)小于輸入數(shù)據(jù)塊(IDB)的長度的上限(LCB);其特征在于,該方法包括以下步驟在利用所述塊編碼器(TE)將輸入數(shù)據(jù)塊(IDB)的數(shù)據(jù)中的任何數(shù)據(jù)編碼前,確定該輸入數(shù)據(jù)塊(IDB)的長度;將輸入數(shù)據(jù)塊(IDB)分成多段(S1...SN),其中,所有的段其長度都基本相等,且所有的段都不大于所述上限(LCB);和利用所述塊編碼器(TE)處理各個(gè)段(S1...SN)。
2.如權(quán)利要求1所述的方法,其特征在于,如果最后一段(SN)比其余段(S1,S2...)短,則將一些填充比特(NFILL)附加到最后一段(SN)中,使得最后一段的長度等于其余段(S1,S2...)的長度。
3.如權(quán)利要求1所述的方法,其特征在于,如果輸入數(shù)據(jù)塊(IDB)的長度不是所述上限(LCB)的整倍數(shù),則將一些填充比特(NFILL)附加到輸入數(shù)據(jù)塊(IDB)中,使得其長度為所述上限(LCB)的整倍數(shù)。
4.如上述權(quán)利要求任一所述的方法,其特征在于,段數(shù)為2n,其中n為正整數(shù)。
5.一種分段裝置,用于將輸入數(shù)據(jù)塊(IDB)分段,以便利用塊編碼器(TE)進(jìn)行處理,所述塊編碼器能處理連續(xù)編碼塊(CB),編碼塊的長度有一個(gè)小于輸入數(shù)據(jù)塊(IDB)的長度的上限(LCB);其特征在于,該分段裝置包括具有以下三個(gè)部分的算法第一部分,用于在將輸入數(shù)據(jù)塊(IDB)的數(shù)據(jù)中的任何數(shù)據(jù)輸入到所述塊編碼器(TE)之前,確定該輸入數(shù)據(jù)塊(IDB)的長度;第二部分,用于將輸入數(shù)據(jù)塊(IDB)分成多個(gè)段(S1...SN),其中,所有的段其長度都基本相等,且所有的段都不大于所述上限(LCB);和第三部分,用于將各個(gè)段(S1...SN)輸入到所述塊編碼器(TE)。
全文摘要
一種利用塊編碼器(TE)將輸入數(shù)據(jù)塊(IDB)編碼的方法。該塊編碼器能處理連續(xù)編碼塊(CB),編碼塊的長度有一個(gè)小于輸入數(shù)據(jù)塊(IDB)的長度的上限(L
文檔編號H03M13/05GK1574649SQ200410057560
公開日2005年2月2日 申請日期2000年4月14日 優(yōu)先權(quán)日1999年4月16日
發(fā)明者艾斯科·尼明寧, 勞里·派爾蒂霍 申請人:諾基亞網(wǎng)絡(luò)有限公司