專利名稱:前向糾錯(cuò)解碼器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及操作前向糾錯(cuò)解碼器的方法以及前向糾錯(cuò)解碼器。
提議在地面數(shù)字視頻廣播(DVB-T)廣播系統(tǒng)及其被稱作DVB-H(DVB handheld)的延伸系統(tǒng)中使用MPE級(jí)前向糾錯(cuò)(MPE-FEC)。前向糾錯(cuò)很方便,因?yàn)樗试S接收機(jī)糾正所接收數(shù)字?jǐn)?shù)據(jù)中的差錯(cuò)而不要求重傳任何數(shù)據(jù)。當(dāng)接收機(jī)包含在移動(dòng)終端內(nèi)時(shí),這可能特別重要。
發(fā)射機(jī)側(cè)的MPE-FEC編碼器通常置于IP封裝器(IPE)中。封裝器通常以預(yù)定的大小將數(shù)據(jù)包存儲(chǔ)在編碼表或陣列中。然后為陣列的每一行計(jì)算前向糾錯(cuò)行數(shù)據(jù),并以此形成奇偶校驗(yàn)數(shù)據(jù)。然后此數(shù)據(jù)被輸入到稱作奇偶校驗(yàn)數(shù)據(jù)段,也可稱作RS(里德-索羅蒙)數(shù)據(jù)表的陣列的一部分。
圖1中說明了這樣的一個(gè)實(shí)例。
參照圖1,說明包含1024個(gè)單元行乘以255個(gè)單元列的示范編碼陣列1。陣列的每個(gè)單元存儲(chǔ)一個(gè)字節(jié)的數(shù)據(jù)。前191個(gè)單元列包含應(yīng)用數(shù)據(jù)5和零填充6。應(yīng)用數(shù)據(jù)由多個(gè)數(shù)據(jù)報(bào)組成,它們按順序包含在表中,從左上角開始依次填充列。在此實(shí)例中,第二數(shù)據(jù)報(bào)跟隨著第一數(shù)據(jù)報(bào)2,它包含第一列中包括的部分3a以及第二列中包括的第二部分3b。同樣,第三數(shù)據(jù)報(bào)包含第二列中的部分4a和第三列中的另一部分4b。一旦所有要求的數(shù)據(jù)報(bào)均已包含在編碼陣列中,保留在191列中且未包含應(yīng)用數(shù)據(jù)的單元將以零填充,即用零填充它們。在以應(yīng)用數(shù)據(jù)和零填充來填充前191列后,計(jì)算奇偶校驗(yàn)數(shù)據(jù)。
預(yù)備奇偶校驗(yàn)數(shù)據(jù)的一個(gè)示范方法是使用里德-索羅蒙算法。這是對1024行中的每一行進(jìn)行計(jì)算。對于一行中的191個(gè)應(yīng)用數(shù)據(jù)和零填充單元中的每一個(gè),生成64個(gè)里德-索羅蒙奇偶校驗(yàn)數(shù)據(jù)單元并包含在該行的末尾。對1024行中的每一行重復(fù)此程序,使得編碼陣列1被應(yīng)用數(shù)據(jù)單元、零填充或奇偶校驗(yàn)數(shù)據(jù)單元填滿。奇偶校驗(yàn)數(shù)據(jù)段以7表示。應(yīng)用數(shù)據(jù)報(bào)封裝在MPE段,且RS奇偶校驗(yàn)數(shù)據(jù)的每一列封裝在MPE-FEC段。此外,MPE和MPE-FEC段分割成傳輸流(TS)包以便于傳輸。表中每個(gè)數(shù)據(jù)報(bào)的起始地址被發(fā)送至接收機(jī)。這使編碼陣列1在接收機(jī)中可以輕松地再現(xiàn)。零填充通常不被發(fā)送。
在圖1的實(shí)例中,行數(shù)和列數(shù)統(tǒng)一表示以便理解。
上述FEC程序稱作RS(255,191),表示里德-索羅蒙255列,其中191列為應(yīng)用數(shù)據(jù)和零填充。里德-索羅蒙FEC程序可對一行中的32個(gè)單元進(jìn)行糾錯(cuò)。如果使用擦除信息,可以對一行中的64個(gè)單元進(jìn)行糾錯(cuò)。
擦除信息標(biāo)識(shí)在接收機(jī)中再現(xiàn)的編碼陣列1中帶有差錯(cuò)的單元。因此,可產(chǎn)生具有1024行乘以255列的擦除信息表。雖然編碼陣列1在每個(gè)單元有一個(gè)字節(jié)的數(shù)據(jù),但在擦除信息表中的相應(yīng)單元僅包含一位,在這個(gè)實(shí)例中,如果該單元正確則為“0”,或如果該單元錯(cuò)誤則為“1”。確定已接收單元中的數(shù)據(jù)正確與否所需的信息可從用于因特網(wǎng)協(xié)議(IP)數(shù)據(jù)報(bào)或用于MPE數(shù)據(jù)報(bào)的循環(huán)冗余校驗(yàn)(CRC)獲得,或者從用于傳輸流包的DVB-T里德-索羅蒙解碼器獲得。在確定單元是否正確時(shí),RS奇偶校驗(yàn)數(shù)據(jù)7和應(yīng)用數(shù)據(jù)單元5同等處理。但是,如果填充位置已知,則零填充通常被標(biāo)記為正確。
里德-索羅蒙算法與數(shù)據(jù)報(bào)2至4中應(yīng)用數(shù)據(jù)的性質(zhì)無關(guān)。因此,這個(gè)程序可用于多協(xié)議封裝(MPE)。這看起來對于DVB-T特別重要,因?yàn)閿?shù)據(jù)可能與視聽內(nèi)容、音頻內(nèi)容或文件下載等相關(guān)。
提議通過使用兩種分開的方案,標(biāo)識(shí)在編碼陣列1中的191列中包含的哪些數(shù)據(jù)是應(yīng)用數(shù)據(jù)單元以及哪些是零填充。在第一提議方案中,在MPE或MPE-FEC首標(biāo)中發(fā)送的時(shí)間切片和FEC實(shí)時(shí)參數(shù)中的一位字段被命名為“表_邊界”。對于當(dāng)前MPE-FEC表中的最后一個(gè)IP數(shù)據(jù)報(bào),此字段設(shè)為“1”。若接收機(jī)發(fā)現(xiàn)其中表_邊界標(biāo)志設(shè)為1的MPE段,則接收機(jī)可確定零填充的起始點(diǎn)(假設(shè)CRC校驗(yàn)表明最后一個(gè)IP數(shù)據(jù)報(bào)是正確的)。
IP數(shù)據(jù)報(bào)的起始地址在MPE段首標(biāo)中以信號(hào)通知。通常,零填充的起始點(diǎn)可從最后一個(gè)IP數(shù)據(jù)報(bào)的起始地址和長度來計(jì)算。但是,如果最后一個(gè)IP數(shù)據(jù)報(bào)在傳送過程中丟失,或者如果它已被接收但CRC校驗(yàn)表明它已損壞,則它無法在任何確定性程度上確定零填充在何處開始。在這種情況下,需要將所有零填充都當(dāng)作應(yīng)用數(shù)據(jù)單元來處理,這增大了超出可允許差錯(cuò)最大數(shù)量的可能性。
另一種建議是在FEC段首標(biāo)中包括被稱為“填充_列”的8位字段。建議此字段表示僅包含零填充的列數(shù)。若列同時(shí)包含應(yīng)用數(shù)據(jù)和零填充,則整個(gè)列被當(dāng)作應(yīng)用數(shù)據(jù)來處理。而且,此字段使用并非無關(guān)緊要數(shù)量的信令開銷。
本發(fā)明的目標(biāo)是提供一種適用于完成擦除表的改進(jìn)方案。
根據(jù)本發(fā)明的第一方面,提供一種操作前向糾錯(cuò)解碼器的方法,該方法包括確定包括奇偶校驗(yàn)數(shù)據(jù)單元的碼字中哪些數(shù)據(jù)單元無差錯(cuò),將擦除信息字中對應(yīng)于無差錯(cuò)數(shù)據(jù)單元的單元標(biāo)記為正確,維護(hù)擦除信息字中標(biāo)記為可校正的單元的計(jì)數(shù);當(dāng)標(biāo)記為可校正的單元的計(jì)數(shù)未超過門限并且當(dāng)未標(biāo)記為正確或可校正的單元保留在擦除信息字中時(shí),從對應(yīng)于奇偶校驗(yàn)數(shù)據(jù)單元的單元開始,然后繼續(xù)對于擦除信息字中其它單元,將擦除信息字的未標(biāo)記單元標(biāo)記為可校正。
在所述的實(shí)施例中,最后的標(biāo)記步驟開始相反,并向可能存在零填充的末端移動(dòng)。同樣在實(shí)施例中,本方法還包括確定計(jì)數(shù)已達(dá)到門限且未標(biāo)記單元保留在擦除信息字中,將擦除信息字的未標(biāo)記單元標(biāo)記為正確。但是,技術(shù)人員能夠?qū)С鰣?zhí)行該方法的其它方式。
此方法不要求任何信令用于解碼器來確定何為應(yīng)用數(shù)據(jù),何為零填充。本發(fā)明利用以下事實(shí)只要能標(biāo)識(shí)不正確的單元,可使用奇偶校驗(yàn)數(shù)據(jù)校正任何數(shù)量的不正確單元直到最大量。若一行中差錯(cuò)數(shù)量少于一行中可校正的單元的最大數(shù)量,則本發(fā)明可能導(dǎo)致某些零填充數(shù)據(jù)單元被處理為好象它們包含差錯(cuò),而這不是絕對必要的,不過這通常不會(huì)增加處理量,因?yàn)榻獯a無論如何必須完成并且解碼復(fù)雜性與差錯(cuò)數(shù)量無關(guān)。
根據(jù)本發(fā)明的第二方面,提供一種前向糾錯(cuò)解碼器,它包括一個(gè)或多個(gè)處理器,被安排用于確定包括奇偶校驗(yàn)數(shù)據(jù)單元的碼字中哪些數(shù)據(jù)單元無差錯(cuò),將擦除信息字中對應(yīng)于無差錯(cuò)數(shù)據(jù)單元的單元標(biāo)記為正確,維護(hù)擦除信息字中標(biāo)記為可校正的單元的計(jì)數(shù);以及當(dāng)標(biāo)記為可校正的單元的計(jì)數(shù)未超過門限并且當(dāng)未標(biāo)記為正確或可校正的單元保留在擦除信息字中時(shí),從對應(yīng)于奇偶校驗(yàn)數(shù)據(jù)單元的單元開始,然后繼續(xù)對于擦除信息字中的其它單元,將擦除信息字的未標(biāo)記單元標(biāo)記為可校正。
在所述的實(shí)施例中,一個(gè)或多個(gè)處理器被安排用于當(dāng)標(biāo)記為可校正的單元的計(jì)數(shù)未超過門限并且當(dāng)未標(biāo)記為正確或可校正的單元保留在擦除信息字中時(shí),從對應(yīng)于奇偶校驗(yàn)數(shù)據(jù)單元的單元開始,然后繼續(xù)對于擦除信息字中的其它單元,將擦除信息字的未標(biāo)記單元標(biāo)記為可校正,開始相反并向可能存在零填充的末端移動(dòng)。同樣在實(shí)施例中,一個(gè)或多個(gè)處理器還被安排用于確定計(jì)數(shù)達(dá)到門限且未標(biāo)記單元保留在擦除信息字中,將擦除信息字的未標(biāo)記單元標(biāo)記為正確。但是,技術(shù)人員能夠?qū)С鰳?gòu)造解碼器的備選方式。
在本發(fā)明的一個(gè)實(shí)施例中,一個(gè)或多個(gè)處理器還被安排用于指明輸出中未校正數(shù)據(jù)的存在。這可能出現(xiàn)在一行中不正確單元的數(shù)量超過可校正的單元的最大數(shù)量時(shí),在這些情況下希望識(shí)別未校正應(yīng)用數(shù)據(jù)的存在。
在本發(fā)明的一個(gè)實(shí)施例中,解碼器是具有例如255單元列,其中191列在本發(fā)明的一個(gè)實(shí)施例中為非奇偶校驗(yàn)數(shù)據(jù)單元的里德-索羅蒙解碼器??梢灶A(yù)料,這樣的解碼器特別適合與DVB-T接收機(jī)以及為在類似系統(tǒng)中工作而設(shè)計(jì)的接收機(jī)配合使用。
在本發(fā)明的一個(gè)實(shí)施例中,解碼器被包含在可以是諸如DVB-T、DAB或ATSC接收機(jī)等數(shù)字視頻廣播接收機(jī)的接收機(jī)中。有利的是,接收機(jī)包含在移動(dòng)終端中。
現(xiàn)在將僅通過實(shí)例,參照附圖來描述本發(fā)明的一個(gè)實(shí)施例,其中圖1是用來說明FEC解碼器和接收機(jī)的操作的示范編碼陣列的示意圖;圖2示出本發(fā)明可在其中工作的通信系統(tǒng)的一個(gè)實(shí)施例;圖3示出構(gòu)成圖2系統(tǒng)的一部分的多協(xié)議封裝(MPE)封裝器的一個(gè)實(shí)施例;圖4說明示范的傳輸流包;圖5示意說明包含在圖1系統(tǒng)中且實(shí)現(xiàn)本發(fā)明的一個(gè)實(shí)施例的移動(dòng)終端;圖6示出圖5移動(dòng)終端的某些部件的操作,包括根據(jù)本發(fā)明的一個(gè)實(shí)施例的解碼器;圖7是說明包含在圖6中的解碼器的操作的流程圖;圖8至12示出用于說明圖6中所示解碼器的操作的編碼陣列的示例行以及在適當(dāng)情況下擦除信息表的對應(yīng)行;以及圖13示出其中可校正很少差錯(cuò)的編碼陣列的示例行。
參照圖2,示出了用于將內(nèi)容傳輸至移動(dòng)終端20的通信網(wǎng)絡(luò)21。通信網(wǎng)絡(luò)21包括地面數(shù)字視頻廣播(DVB-T)或DVB-H網(wǎng)絡(luò),它用作廣播接入網(wǎng)以傳輸因特網(wǎng)協(xié)議數(shù)據(jù)廣播(IPDC)服務(wù)的內(nèi)容。但是,可以使用其它的數(shù)字廣播網(wǎng)絡(luò),包括其它類型的DVB網(wǎng)絡(luò),諸如電纜DVB網(wǎng)絡(luò)(DVB-C)或衛(wèi)星DVB(DVB-S)網(wǎng)絡(luò)、數(shù)字音頻廣播(DAB)網(wǎng)絡(luò)、先進(jìn)電視系統(tǒng)委員會(huì)(ATSC)網(wǎng)絡(luò)或綜合業(yè)務(wù)數(shù)字廣播(ISDB)網(wǎng)絡(luò)。
通信網(wǎng)絡(luò)21包括例如視頻、音頻和數(shù)據(jù)文件形式的內(nèi)容的源23-1、23-2,用于檢索、重新格式化和存儲(chǔ)內(nèi)容的內(nèi)容提供者24,用于確定服務(wù)組成的數(shù)據(jù)廣播服務(wù)系統(tǒng)服務(wù)器25,因特網(wǎng)協(xié)議(IP)封裝器(IPE)26和用于調(diào)制和廣播信號(hào)28至包括移動(dòng)終端20的接收者(未示出)的發(fā)射機(jī)27。
參照圖3,IP封裝器26接收數(shù)據(jù)29的一個(gè)或多個(gè)流和服務(wù)數(shù)據(jù)30,并從中生成MPEG節(jié)目特定信息(PSI)和DVB服務(wù)信息(SI),以便包含在包括MPEG-2傳輸流(TS)包32的傳輸流31中,根據(jù)國際標(biāo)準(zhǔn)化組織/國際電工委員會(huì)(ISO/IEC)標(biāo)準(zhǔn)13818-1“信息技術(shù)-活動(dòng)圖像及其伴音信息的通用編碼系統(tǒng)”,MPEG-2傳輸流包32通常長為188字節(jié)。
參照圖4,傳輸流31分為多個(gè)邏輯信道,稱為“基本流”。TS(傳輸流)包32所屬的基本流使用包標(biāo)識(shí)符(PID)34在包首標(biāo)33中定義。包標(biāo)識(shí)符34可用于標(biāo)識(shí)TS包凈荷35的內(nèi)容。
例如,第一TS包32-1的內(nèi)容可通過指定PID=0x0010(作為十六進(jìn)制數(shù))被標(biāo)識(shí)為含有全部或部分網(wǎng)絡(luò)信息表(NIT)。第二TS包32-2的內(nèi)容可通過指定0x0030至0x1FFE(十六進(jìn)制)之間的PID值被標(biāo)識(shí)為視頻、音頻或其它類型的數(shù)據(jù)。
再參照圖2,DVB發(fā)射機(jī)27從封裝器26接收信號(hào),將其調(diào)制、放大和廣播。
可提供其他網(wǎng)絡(luò)單元,諸如用于組合多個(gè)服務(wù)(雖然IPE可提供多個(gè)服務(wù))的復(fù)用器(未示出),以及用于接收和重傳信號(hào)28的填空發(fā)射機(jī)。此外,可提供用于提供從移動(dòng)終端20至通信網(wǎng)絡(luò)21的返回信道的另一個(gè)通信網(wǎng)絡(luò)(未示出),諸如公共陸地移動(dòng)網(wǎng)絡(luò),最好采用分別如GSM或UMTS的第2代或第3代移動(dòng)網(wǎng)絡(luò)的形式??商峁┝硗獾耐ㄐ啪W(wǎng)絡(luò)(未示出),如因特網(wǎng),用于連接通信網(wǎng)絡(luò)21的分布單元,諸如內(nèi)容提供者24和服務(wù)系統(tǒng)服務(wù)器25。
IP封裝器26生成前向糾錯(cuò)(FEC)數(shù)據(jù)包并將其組裝成含有應(yīng)用數(shù)據(jù)的突發(fā),并將傳輸流包復(fù)用到單個(gè)傳輸流中。IP封裝器可在軟件和/或硬件中實(shí)現(xiàn)。
參照圖5,示意說明了結(jié)合的移動(dòng)電話手機(jī)和DVB-T接收機(jī)的形式的移動(dòng)終端20的一個(gè)實(shí)施例。
移動(dòng)終端20包括第一和第二天線40、41,DVB-T接收機(jī)42和移動(dòng)電話收發(fā)信機(jī)43。接收機(jī)42和收發(fā)信機(jī)43均包括用于放大和解調(diào)所接收信號(hào)的RF信號(hào)處理電路(未示出)以及一個(gè)或多個(gè)用于信道解碼和解復(fù)用的處理器(未示出)。
移動(dòng)終端20還包括控制器44、用戶接口45、一個(gè)或多個(gè)存儲(chǔ)器46、編碼器/解碼器(編解碼器)49、帶有相應(yīng)放大器51的揚(yáng)聲器50以及帶有相應(yīng)前置放大器53的麥克風(fēng)52。
用戶接口45包括顯示器53和小鍵盤55。顯示器53適用于顯示圖像和視頻,例如由于它比常規(guī)移動(dòng)電話的顯示器更大和/或分辨率更高并且能夠支持彩色圖像。移動(dòng)終端20還包括例如可充電電池56形式的電源,以提供直流電。
控制器44在存儲(chǔ)器46之一中所存儲(chǔ)的軟件(未示出)的指導(dǎo)下管理移動(dòng)終端20的操作??刂破?4為顯示器53提供輸出信號(hào)并接收和處理來自小鍵盤55的輸入。
移動(dòng)終端20可通過提供單個(gè)適用于從DVB-T網(wǎng)絡(luò)21和移動(dòng)電話網(wǎng)絡(luò)接收信號(hào)的接收機(jī)以及適用于在移動(dòng)電話網(wǎng)絡(luò)(未示出)上發(fā)送信號(hào)的發(fā)射機(jī)來修改?;蛘撸商峁┯糜趦蓚€(gè)通信網(wǎng)絡(luò)的單一收發(fā)信機(jī)。
參照圖6,更詳細(xì)示出DVB-T接收機(jī)42的一部分。接收機(jī)42間歇性打開以從第一通信網(wǎng)絡(luò)21接收時(shí)間切片信號(hào)28。RF接收機(jī)60將信號(hào)28放大、解調(diào)、信道解碼并解復(fù)用為若干傳輸流?;玖靼〝y帶應(yīng)用數(shù)據(jù)突發(fā)的TS包。
RF接收機(jī)60的輸出62與濾波器63相連,濾波器63具有與時(shí)間切片緩沖器65相連的IP數(shù)據(jù)報(bào)輸出64。時(shí)間切片緩沖器65包括IP數(shù)據(jù)報(bào)緩沖器部分66和RS數(shù)據(jù)緩沖器部分67,并且兩者均與濾波器63的輸出相連。時(shí)間切片緩沖器65具有從IP數(shù)據(jù)報(bào)緩沖器部分66和RS數(shù)據(jù)緩沖器部分連接至RS解碼器69的輸入端的輸出端,RS解碼器69在輸出端70上將數(shù)據(jù)提供給時(shí)間切片緩沖器65的IP數(shù)據(jù)報(bào)緩沖器部分66的輸入端。時(shí)間切片緩沖器65也具有輸出端71,它構(gòu)成接收機(jī)42的輸出端。
接收機(jī)60在其輸出端62提供TS包。濾波器63選擇所需的TS包并從中形成MPE和MPE-FEC段。MPE段的凈荷(這里是IP數(shù)據(jù)報(bào))由濾波器63提取,并經(jīng)由輸出端64提供給時(shí)間切片緩沖器65的IP數(shù)據(jù)報(bào)緩沖器部分66和RS數(shù)據(jù)緩沖器部分67中適當(dāng)?shù)囊恍┮员愦鎯?chǔ)。數(shù)據(jù)以表格形式存儲(chǔ)。IP數(shù)據(jù)報(bào)施加于對數(shù)據(jù)解碼的RS解碼器69。從MPE段首標(biāo)中傳送的實(shí)時(shí)參數(shù)中發(fā)現(xiàn)每個(gè)IP數(shù)據(jù)報(bào)的原始位置的地址。每行數(shù)據(jù)從時(shí)間切片緩沖器65中的表格發(fā)送至RS解碼器69,并且解碼結(jié)果經(jīng)由輸出端70寫回該表格。因此構(gòu)成接收機(jī)42的輸出的時(shí)間切片緩沖器65的輸出由來自表格的RS解碼IP數(shù)據(jù)報(bào)組成。
現(xiàn)在參照圖7至13描述移動(dòng)終端的圖5和圖6的解碼器69的操作。參照圖7,操作始于確定編碼表是否準(zhǔn)備好用于解碼的的步驟S1。解碼器69的控制器(未示出)在步驟S2中以任何適當(dāng)方式確定編碼表的哪些單元無差錯(cuò)。此差錯(cuò)信息可例如從CRC校驗(yàn)中獲得,它可為MPE包或在DVB-T級(jí)RS解碼器上計(jì)算。在步驟S3,對于每個(gè)無差錯(cuò)單元,在擦除信息表中的相應(yīng)單元用零填充,從而表明編碼陣列中哪些單元是正確的。存儲(chǔ)器中可以有分開的位置用于擦除信息表,或者,數(shù)據(jù)存儲(chǔ)器可從8位/字節(jié)擴(kuò)展至9位/字節(jié)存儲(chǔ)器,額外的位用于擦除信息。圖7的操作在本發(fā)明的一個(gè)實(shí)施例中在逐行基礎(chǔ)上執(zhí)行,且一行的處理在圖8至圖13中說明。
圖8示出編碼陣列中一行的簡化實(shí)例。在所示實(shí)例中,此行包括20個(gè)單元,以便于理解本發(fā)明。但是,應(yīng)該理解,在本發(fā)明的一個(gè)實(shí)施例中,編碼陣列的行可包含多達(dá)255列,因?yàn)榻獯a器69是RS(255,191),對于它,應(yīng)用數(shù)據(jù)單元的列的最大數(shù)量是191且奇偶校驗(yàn)數(shù)據(jù)單元的列數(shù)是64。在此實(shí)例中,編號(hào)為K=1至K=10的單元為應(yīng)用數(shù)據(jù)單元(D),K=11至K=15的單元為零填充單元(Z),以及K=16至K=20的單元為奇偶校驗(yàn)數(shù)據(jù)單元(P)。當(dāng)然,一行中奇偶校驗(yàn)數(shù)據(jù)單元的數(shù)量是預(yù)定的,因此接收機(jī)在解碼之前即已知。在此實(shí)例中,在圖7的步驟S2中確定五個(gè)應(yīng)用數(shù)據(jù)單元無差錯(cuò)且三個(gè)奇偶校驗(yàn)數(shù)據(jù)單元無差錯(cuò)。這些在圖9中說明,從中將看到單元K=1、4、6、8、9、16、17和20是無差錯(cuò)單元。由于零填充單元中沒有數(shù)據(jù)且由于零填充的開始位置假定未知,因此步驟S2無法將其確定為無差錯(cuò)。使用這個(gè),步驟S3創(chuàng)建相應(yīng)擦除表的一行,其中具有指明無差錯(cuò)單元的數(shù)據(jù)。因此,圖10中在擦除表相應(yīng)行上面示出編碼表的行,從中可以看到,在擦除信息表位于K=1、4、6、8、9、16、17和20的行中包含零。
再參照圖7,在步驟S4中,計(jì)數(shù)器初始化至Nmax。在本發(fā)明的一個(gè)實(shí)施例中,編碼陣列1有255列且使用里德-索羅蒙算法,Nmax等于64。一般來說,Nmax等于編碼表的行中可校正單元的數(shù)量。可是在此簡易說明中,Nmax設(shè)為等于10。在步驟S5中,從第一奇偶校驗(yàn)列(此實(shí)例中K=16)開始掃描擦除信息表的行中是否有空單元,即,未標(biāo)記為正確或不正確的單元。在此實(shí)例中,在K=18處發(fā)現(xiàn)空單元,因此步驟S6提供“是”結(jié)果。此后,擦除信息表行的空單元在步驟S7中通過用“1”填充以標(biāo)記為不正確。然后,在程序再次返回到步驟S5之前,在步驟S8中減小計(jì)數(shù)器。步驟S6確定是否發(fā)現(xiàn)空單元。在此實(shí)例中,步驟S6隨后將確定擦除信息行在K=19處為空,因此在步驟S7中將此單元標(biāo)記為不正確,并在步驟S8中再次減小計(jì)數(shù)器。此后,步驟S6將返回否定結(jié)果,因?yàn)樵谄媾夹r?yàn)列中沒有剩余空單元。在步驟S6的否定結(jié)果之后,擦除信息表行看起來如圖11所示,其中示出的編碼行和擦除行如圖10所示。同樣適用于圖12和圖13。通過這種方式(步驟S5至S8),搜索所有奇偶校驗(yàn)單元中是否有空單元。檢查了所有奇偶校驗(yàn)單元并標(biāo)記所有空單元后,程序繼續(xù)到步驟S9。
在步驟S9中,從對應(yīng)于第一列應(yīng)用數(shù)據(jù)且包括零填充的單元開始,掃描擦除信息表行中對應(yīng)于應(yīng)用數(shù)據(jù)和零填充的單元,看是否有空單元。在此實(shí)例中,在K=2處出現(xiàn)空單元,因此從步驟S10返回肯定結(jié)果。在步驟S11中,此空單元通過用“1”填充以標(biāo)記為不正確。然后在步驟S12中,減小計(jì)數(shù)器。接著,在步驟S13中確定計(jì)數(shù)器是否等于零,這會(huì)表明已發(fā)現(xiàn)所有可校正的差錯(cuò)。若計(jì)數(shù)器不為零,則操作再繼續(xù)到步驟S9,在所示實(shí)例中此時(shí)將是這樣的情況。然后,步驟S10將確定在K=3處發(fā)現(xiàn)空單元,空單元將在步驟S12中減小計(jì)數(shù)器之前在步驟S11中標(biāo)記為不正確。
隨著擦除信息表行中對應(yīng)于含有差錯(cuò)的應(yīng)用數(shù)據(jù)的所有單元被這樣標(biāo)記,步驟S9、S10和S11將使對應(yīng)于零填充的單元標(biāo)記為不正確。這進(jìn)行一直到步驟S10返回擦除信息表行中無空單元剩余或一直到步驟13確定計(jì)數(shù)為零。步驟S10確定無空單元之后,操作繼續(xù)到步驟S15結(jié)束。在此實(shí)例中,雖然在步驟S11標(biāo)記零填充單元K=10為不正確之后,步驟S12將計(jì)數(shù)減至零,這樣步驟S13將返回肯定結(jié)果且操作將繼續(xù)到步驟S14,其中所有剩余的空單元用“0”填充。圖12中說明此時(shí)得出的擦除信息行。這里可以看到,除了所有不正確接收的奇偶校驗(yàn)數(shù)據(jù)和應(yīng)用數(shù)據(jù)單元被如此標(biāo)記,一些零填充數(shù)據(jù)單元也表示為不正確。但是,由于未超出允許差錯(cuò)數(shù)量,這對解碼器不成問題,因?yàn)閼?yīng)用數(shù)據(jù)和奇偶校驗(yàn)數(shù)據(jù)中的所有差錯(cuò)均可校正。此程序?qū)Σ脸龜?shù)據(jù)表中的每一行重復(fù)。
現(xiàn)在描述另一個(gè)實(shí)例。在此實(shí)例中,編碼陣列行的同樣的單元被正確接收,但計(jì)數(shù)器Nmax設(shè)為六,即在解碼器無法正確校正差錯(cuò)之前僅允許六個(gè)差錯(cuò)。在此實(shí)例中,一直到步驟S6返回奇偶校驗(yàn)列中再無空單元,所描述的操作完全相同。然后,步驟S9導(dǎo)致從單元K=1開始掃描擦除信息行是否有空單元,步驟S10隨后發(fā)現(xiàn)的在K=2處。在步驟S12中減小計(jì)數(shù)器之前,此單元在步驟S11被標(biāo)記為不正確。由于計(jì)數(shù)器尚未減至零,步驟S13返回否定結(jié)果,因此操作再次繼續(xù)到步驟S9。在步驟S9至S11的操作將單元K=2、3、5和7標(biāo)記為不正確之后,計(jì)數(shù)器已減至1。在步驟S12減小計(jì)數(shù)器之后,步驟S13則確定計(jì)數(shù)器等于零,因此操作繼續(xù)至步驟S14。這里,通過在空單元K=10至K=15的每一個(gè)中包括“0”,解碼器操作以將擦除信息行中其余的空單元填充為無差錯(cuò)。這些單元之一,K=10,實(shí)際上是錯(cuò)誤接收的應(yīng)用數(shù)據(jù)單元,雖然它被標(biāo)記為正確接收。但是,由于錯(cuò)誤接收的應(yīng)用數(shù)據(jù)和奇偶校驗(yàn)數(shù)據(jù)單元的數(shù)量超過允許校正差錯(cuò)的最大數(shù)量,這是不可避免的。因此,解碼器無法校正行中的任何單元而僅僅是輸出同樣的帶差錯(cuò)行,并給出未校正差錯(cuò)的指示。
在本發(fā)明的一個(gè)實(shí)施例中,在使用擦除信息表之前,通過將“0”或“1”預(yù)寫入表中每個(gè)單元對其進(jìn)行初始化。這樣可減少完成擦除信息行所需的存儲(chǔ)器訪問數(shù)量,因?yàn)橹挥兄蹬c初始值不同的那些單元才需要重新寫入表格。例如,若表格以零初始化,則只有值為1的單元必須寫入表格。如果表格并非按這種方式初始化,則所有單元都必須寫入表格。行以“0”還是“1”預(yù)填充可取決于無差錯(cuò)單元的數(shù)量。若大多數(shù)單元無差錯(cuò),則擦除表可最好以“0”初始化。
應(yīng)該理解,可以對上述實(shí)施例進(jìn)行很多修改。例如,移動(dòng)終端可以是個(gè)人數(shù)字助理(PDA)或至少能夠經(jīng)由第一通信網(wǎng)絡(luò)21接收信號(hào)的其它移動(dòng)終端。移動(dòng)終端也可以是半固定或半便攜式的,如轎車等車輛內(nèi)攜帶的終端。此外,本發(fā)明可應(yīng)用在任何前向糾錯(cuò)系統(tǒng)中,而不僅僅是在所述實(shí)施例中,且適用于不同長度的行。
同樣,“1”表示不正確數(shù)據(jù)以及“0”表示正確數(shù)據(jù)的情況并不重要,因?yàn)楹苋菀资褂孟喾吹囊饬x。
此外,行中奇偶校驗(yàn)數(shù)據(jù)單元的位置不重要。取代位于行的末端,它們可以位于開頭或中間某處。重要的只是知道它們在哪里以及用應(yīng)用數(shù)據(jù)和零填充來填充行時(shí)的方向。
還有,雖然就編碼表的行對處理進(jìn)行了描述,但該表可由離散的“字”替代,而這些字組合在一起可形成編碼表。
再者,取代將計(jì)數(shù)器設(shè)置為Nmax并遞減,可以讓計(jì)數(shù)器從零開始并遞增。在這里,不是測試計(jì)數(shù)器零值,而是測試計(jì)數(shù)器Nmax值。
權(quán)利要求
1.一種操作前向糾錯(cuò)解碼器的方法,所述方法包括確定包括奇偶校驗(yàn)數(shù)據(jù)單元的碼字中哪些數(shù)據(jù)單元無差錯(cuò);將擦除信息字中對應(yīng)于無差錯(cuò)數(shù)據(jù)單元的單元標(biāo)記為正確;維護(hù)擦除信息字中標(biāo)記為可校正的單元的計(jì)數(shù);以及當(dāng)標(biāo)記為可校正的單元的計(jì)數(shù)未超過門限并且當(dāng)未標(biāo)記為正確或可校正的單元保留在擦除信息字中時(shí),從對應(yīng)于奇偶校驗(yàn)數(shù)據(jù)單元的單元開始,然后繼續(xù)對于擦除信息字中的其它單元,將擦除信息字的未標(biāo)記單元標(biāo)記為可校正。
2.如權(quán)利要求1所述的方法,其特征在于,還包括指明在輸出中未校正數(shù)據(jù)的存在。
3.如任一以上權(quán)利要求所述的方法,其特征在于,碼字是編碼表的行。
4.如任一以上權(quán)利要求所述的方法,其特征在于,解碼器是里德-索羅蒙解碼器。
5.一種前向糾錯(cuò)解碼器,包括一個(gè)或多個(gè)處理器,所述處理器被安排用于確定包括奇偶校驗(yàn)數(shù)據(jù)單元的碼字中哪些數(shù)據(jù)單元無差錯(cuò);將擦除信息字中對應(yīng)于無差錯(cuò)數(shù)據(jù)單元的單元標(biāo)記為正確;維護(hù)擦除信息字中標(biāo)記為可校正的單元的計(jì)數(shù);以及當(dāng)標(biāo)記為可校正的單元的計(jì)數(shù)未超過門限并且當(dāng)未標(biāo)記為正確或可校正的單元保留在擦除信息字中時(shí),從對應(yīng)于奇偶校驗(yàn)數(shù)據(jù)單元的單元開始,然后繼續(xù)對于擦除信息字中的其它單元,將擦除信息字的未標(biāo)記單元標(biāo)記為可校正。
6.如權(quán)利要求5所述的解碼器,其特征在于,一個(gè)或多個(gè)處理器還被安排用于指明在解碼器輸出中未校正數(shù)據(jù)的存在。
7.如權(quán)利要求5或6所述的解碼器,其特征在于,碼字是編碼表的行。
8.如權(quán)利要求5至7中任一項(xiàng)所述的解碼器,其特征在于,實(shí)現(xiàn)為里德-索羅蒙解碼器。
9.如權(quán)利要求5至8中任一項(xiàng)所述的解碼器,其特征在于,解碼器具有255個(gè)單元列,其中191列為非奇偶校驗(yàn)數(shù)據(jù)單元列。
10.一種包含如權(quán)利要求5至9中任一項(xiàng)所述的前向糾錯(cuò)解碼器的接收機(jī)。
11.如權(quán)利要求10所述的接收機(jī),其特征在于,實(shí)現(xiàn)為數(shù)字視頻廣播接收機(jī)。
12.一種包含如權(quán)利要求10或權(quán)利要求11所述的接收機(jī)的移動(dòng)終端。
全文摘要
在S2發(fā)現(xiàn)編碼表中無差錯(cuò)的單元。在S3,填充擦除信息表中的相應(yīng)單元,指明編碼陣列中的單元正確。在S4,計(jì)數(shù)器初始化為Nmax,即可校正差錯(cuò)的最大數(shù)量。在S5,從第一奇偶校驗(yàn)列開始掃描擦除信息表行中是否有空單元。在S7,擦除信息表行的每個(gè)空奇偶校驗(yàn)數(shù)據(jù)單元被標(biāo)記為不正確。在S8,對于每個(gè)這樣的單元,減小計(jì)數(shù)器。在S9,從第一列應(yīng)用數(shù)據(jù)和零填充段開始掃描擦除信息表的單元中是否有空單元。在步驟S11,空單元被標(biāo)記為不正確。然后在步驟S12減小計(jì)數(shù)器。在步驟S13確定計(jì)數(shù)器是否等于零。在計(jì)數(shù)器變?yōu)榈扔诹銜r(shí),操作繼續(xù)至步驟S14,解碼器操作以將擦除信息行中其余的空單元填充為正確。這樣,在該行的不正確單元的計(jì)數(shù)未超過最大值且仍有空單元時(shí),從奇偶校驗(yàn)數(shù)據(jù)單元開始,然后從應(yīng)用數(shù)據(jù)末端繼續(xù),將擦除表行的空單元標(biāo)記為不正確。
文檔編號(hào)H03M13/15GK1902943SQ200480039765
公開日2007年1月24日 申請日期2004年10月26日 優(yōu)先權(quán)日2003年11月5日
發(fā)明者J·韋斯馬, H·佩科寧 申請人:諾基亞有限公司