專利名稱:一種移動多媒體廣播中恢復(fù)并播放音頻段的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及移動多媒體廣播領(lǐng)域,尤其涉及一種移動多媒體廣播中恢復(fù)并播放音頻的方法和系統(tǒng)。
背景技術(shù):
隨著通信技術(shù)的發(fā)展,移動多媒體廣播技術(shù)的應(yīng)用越來越廣泛。目前,中國移動多媒體廣播系統(tǒng)(CMMB)標(biāo)準(zhǔn)中規(guī)定了在廣播業(yè)務(wù)頻率范圍內(nèi),移動多媒體廣播系統(tǒng)廣播信道傳輸信號的幀結(jié)構(gòu)、信道編碼和調(diào)制等內(nèi)容。CMMB標(biāo)準(zhǔn)《移動多媒體廣播第2部分復(fù)用》 中規(guī)定了采用復(fù)用子幀來封裝視頻、音頻等流媒體數(shù)據(jù),并進(jìn)行傳送。圖1所示為復(fù)用幀和復(fù)用子幀在移動多媒體廣播前端系統(tǒng)中的結(jié)構(gòu)示意圖,其中,一個廣播信道幀k中包含n+1 個復(fù)用幀,復(fù)用幀0中包含復(fù)用幀頭、控制信息等信息;復(fù)用幀1中包含復(fù)用幀頭和多個復(fù)用子幀,每個復(fù)用子幀還包括子幀頭、視頻段、音頻段和數(shù)據(jù)段;復(fù)用幀2到復(fù)用幀η的結(jié)構(gòu)均與復(fù)用幀1相同。移動多媒體廣播系統(tǒng)在進(jìn)行無線數(shù)據(jù)傳輸過程中,由于噪聲的干擾將引起信號的變形和失真。CMMB標(biāo)準(zhǔn)中在物理層采用信道編碼來改善系統(tǒng)性能,但在強(qiáng)干擾和低信噪比的情況下,由于糾錯能力的限制,不可能恢復(fù)所有錯誤碼元,這種情況下,復(fù)用層接收到的數(shù)據(jù)就可能含有錯誤。所以需要對傳輸?shù)臄?shù)據(jù)采取一些額外的保護(hù)措施,例如前向糾錯編碼(FECJorward-Error-Correction)等,這些保護(hù)措施必然產(chǎn)生一些額外的冗余數(shù)據(jù)。但是,由于帶寬限制,不能對所有的數(shù)據(jù)都進(jìn)行前向糾錯編碼保護(hù)?,F(xiàn)有的誤碼恢復(fù)技術(shù)中,每個視音頻業(yè)務(wù)所占的時隙持續(xù)時間通常在IOOms左右,當(dāng)遇到持續(xù)時間較長的干擾時,某個復(fù)用幀內(nèi)(以下簡稱幀內(nèi))的誤碼率往往比較高, 現(xiàn)有的幀內(nèi)前向糾錯算法是高斯信道下算法,在高誤碼的情況下,例如復(fù)用子幀的高誤碼或者丟失,以下將高誤碼或者丟失復(fù)用子幀的情況簡稱為刪除,現(xiàn)有的幀內(nèi)前向糾錯算法無法正確恢復(fù)復(fù)用子幀中的音頻數(shù)據(jù),上述錯誤會嚴(yán)重影響移動多媒體廣播系統(tǒng)的傳輸效率以及容錯性。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種移動多媒體廣播中恢復(fù)并播放音頻的方法和系統(tǒng),能夠恢復(fù)復(fù)用子幀中的音頻數(shù)據(jù),提高移動多媒體廣播系統(tǒng)的傳輸效率以及容錯性。為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的本發(fā)明提供了一種移動多媒體廣播中恢復(fù)并播放音頻的方法,所述方法包括發(fā)送端將連續(xù)的需要保護(hù)的復(fù)用子幀編為一組,并分配組號;對同組的復(fù)用子幀的音頻數(shù)據(jù)進(jìn)行前向糾錯編碼操作,得到冗余數(shù)據(jù)塊,將冗余數(shù)據(jù)塊分配給復(fù)用子幀并添加輔助信息,重構(gòu)復(fù)用子幀并發(fā)送;接收端根據(jù)分組內(nèi)完整的復(fù)用子幀中的冗余數(shù)據(jù)塊進(jìn)行前向糾錯解碼操作,恢復(fù)出刪除的復(fù)用子幀中的音頻數(shù)據(jù);根據(jù)刪除的復(fù)用子幀前后完整的復(fù)用子幀計算出的必要的播放信息,配合恢復(fù)出的音頻數(shù)據(jù)輸出到播放庫進(jìn)行播放。其中,接收端在進(jìn)行前向糾錯解碼操作之前,所述方法還包括接收端根據(jù)幀序號計算出組號,根據(jù)組號將重構(gòu)的復(fù)用子幀放入對應(yīng)的前向糾錯解碼組,完成一組復(fù)用子幀的接收后,進(jìn)行前向糾錯解碼操作。其中,所述重構(gòu)的復(fù)用子幀包括包含兩個音頻塊的音頻段、復(fù)用子幀序號、FEC 冗余數(shù)據(jù)塊大小、音頻段CRC、冗余段CRC和FEC冗余數(shù)據(jù)塊。其中,所述前向糾錯編碼操作為根據(jù)復(fù)用子幀中拆分成兩個源數(shù)據(jù)塊的音頻數(shù)據(jù),進(jìn)行前向糾錯編碼,生成冗余數(shù)據(jù)塊。其中,所述前向糾錯解碼操作還包括根據(jù)前向糾錯編碼的各項(xiàng)參數(shù)和同一分組中完整的復(fù)用子幀攜帶的冗余數(shù)據(jù)塊,進(jìn)行前向糾錯解碼計算。本發(fā)明還提供了一種移動多媒體廣播中恢復(fù)并播放音頻的系統(tǒng),所述系統(tǒng)包括 復(fù)用子幀分組模塊、前向糾錯編碼模塊、重構(gòu)及發(fā)送模塊、前向糾錯解碼模塊和播放信息計算輸出模塊;其中,所述復(fù)用子幀分組模塊,位于發(fā)送端,用于將連續(xù)的需要保護(hù)的復(fù)用子幀編為一組,并分配組號,將分組后的復(fù)用子幀數(shù)據(jù)傳遞給所述前向糾錯編碼模塊;所述前向糾錯編碼模塊,位于發(fā)送端,用于對同組的復(fù)用子幀的音頻數(shù)據(jù)進(jìn)行前向糾錯編碼操作,得到冗余數(shù)據(jù)塊,并將冗余數(shù)據(jù)塊傳輸給所述重構(gòu)及發(fā)送模塊;所述重構(gòu)及發(fā)送模塊,位于發(fā)送端,用于將各個冗余數(shù)據(jù)塊分配給對應(yīng)的復(fù)用子幀,并添加輔助信息,重構(gòu)復(fù)用子幀,并發(fā)送給接收端;所述前向糾錯解碼模塊,位于接收端,用于當(dāng)同一組號內(nèi)有刪除的復(fù)用子幀,根據(jù)分組內(nèi)完整的復(fù)用子幀中的冗余數(shù)據(jù)塊進(jìn)行前向糾錯解碼操作,恢復(fù)出刪除的復(fù)用子幀的音頻數(shù)據(jù),并傳遞給所述播放信息計算輸出模塊;所述播放信息計算輸出模塊,位于接收端,用于通過前后完整的復(fù)用子幀計算出刪除的音頻段數(shù)據(jù)必要的播放信息,將恢復(fù)的復(fù)用子幀數(shù)據(jù)輸出給播放庫進(jìn)行播放。其中,所述系統(tǒng)還包括接收及存儲模塊,位于接收端,用于接收發(fā)送端發(fā)送的重構(gòu)的復(fù)用子幀,讀取幀序號,根據(jù)幀序號計算出組號,如果是當(dāng)前組號,將接收到的重構(gòu)的復(fù)用子幀放入對應(yīng)的前向糾錯解碼緩沖區(qū),如果收到下一個組號的復(fù)用子幀時,將已經(jīng)接收完的前一組復(fù)用子幀傳遞給前向糾錯解碼模塊。本發(fā)明所提供的移動多媒體廣播中恢復(fù)并播放音頻的方法和系統(tǒng),通過對復(fù)用子幀進(jìn)行分組,對分組內(nèi)復(fù)用子幀的音頻數(shù)據(jù)進(jìn)行刪除信道下的幀間前向糾錯編碼,得到冗余數(shù)據(jù)塊,當(dāng)復(fù)用子幀出現(xiàn)刪除情況時,根據(jù)分組內(nèi)前后完整的復(fù)用子幀中的源數(shù)據(jù)和冗余數(shù)據(jù),進(jìn)行前向糾錯解碼,能夠恢復(fù)出刪除復(fù)用子幀中的音頻數(shù)據(jù),之后不依賴丟失的幀頭信息、視頻段信息、數(shù)據(jù)段信息,來播放丟失復(fù)用幀的音頻數(shù)據(jù),從而提升多媒體廣播系統(tǒng)的傳輸效率以及容錯性,更符合實(shí)際應(yīng)用的需要,能夠很好的提高用戶體驗(yàn)。
圖1為復(fù)用幀和復(fù)用子幀在移動多媒體廣播前端系統(tǒng)中的結(jié)構(gòu)示意5
圖2為本發(fā)明針對復(fù)用幀中三個需要保護(hù)的復(fù)用子幀進(jìn)行幀間FEC保護(hù)的方法流程圖;圖3為本發(fā)明重構(gòu)的復(fù)用子幀結(jié)構(gòu)示意圖;圖4為本發(fā)明恢復(fù)刪除的復(fù)用子幀的示意圖;圖5為本發(fā)明在移動多媒體廣播中恢復(fù)并播放音頻的系統(tǒng)結(jié)構(gòu)示意圖。
具體實(shí)施例方式本發(fā)明的基本思想是在廣播傳輸數(shù)據(jù)中采取模擬刪除信道,幀間前向糾錯算法來保護(hù)容易丟失和高誤碼的重要數(shù)據(jù)。具體的,發(fā)送端將連續(xù)的需要保護(hù)的復(fù)用子幀編為一組,并分配組號;對分組內(nèi)復(fù)用子幀的音頻數(shù)據(jù)進(jìn)行前向糾錯編碼,得到冗余數(shù)據(jù)塊后, 重構(gòu)復(fù)用子幀并發(fā)送;接收端根據(jù)分組內(nèi)完整的復(fù)用子幀中的冗余數(shù)據(jù)塊進(jìn)行前向糾錯解碼操作,恢復(fù)出刪除的復(fù)用子幀中的音頻數(shù)據(jù);根據(jù)前后完整的復(fù)用子幀計算出的必要的播放信息,配合恢復(fù)出的音頻數(shù)據(jù)輸出到播放庫進(jìn)行播放。下面結(jié)合附圖和具體實(shí)施例本發(fā)明的技術(shù)方案進(jìn)一步詳細(xì)闡述。圖2為本發(fā)明針對復(fù)用幀中三個需要保護(hù)的復(fù)用子幀進(jìn)行幀間FEC保護(hù)的方法流程圖,如圖2所示,具體步驟為步驟201、發(fā)送端選取三個需要保護(hù)的復(fù)用子幀分為一組;具體的,發(fā)送端將三個連續(xù)的需要保護(hù)的復(fù)用子幀,例如復(fù)用子幀0、復(fù)用子幀1 和復(fù)用子幀2,編為一組并分配組號,上述分組得到的,既是前向糾錯編碼組,也是前向糾錯解碼組。步驟202、對復(fù)用子幀中的音頻數(shù)據(jù)進(jìn)行刪除信道下的前向糾錯編碼操作,得到三個冗余數(shù)據(jù)塊;具體的,本發(fā)明只對復(fù)用子幀的音頻數(shù)據(jù)進(jìn)行保護(hù),音頻數(shù)據(jù)是復(fù)用子幀中相對容易保護(hù),而且比較重要的數(shù)據(jù)。每個復(fù)用子幀的音頻段拆分為兩個源數(shù)據(jù)塊,源數(shù)據(jù)塊的大小按照三個復(fù)用子幀中音頻段最大的長度MAXLEN來計算,每個源數(shù)據(jù)塊的大小是 MAXLEN/2,長度不足的填0補(bǔ)充。利用上述源數(shù)據(jù)塊進(jìn)行前向糾錯編碼運(yùn)算,前向糾錯編碼算法各項(xiàng)參數(shù)的選取可以經(jīng)過發(fā)送端和接收端協(xié)商決定,本實(shí)施例中選取(6,3)的RS范德蒙碼作為前向糾錯編碼算法。最后,根據(jù)若干個需要保護(hù)的復(fù)用子幀的音頻段數(shù)據(jù)生成相應(yīng)個數(shù)的冗余數(shù)據(jù)塊。例如復(fù)用子幀0中包含F(xiàn)EC源數(shù)據(jù)塊0和FEC源數(shù)據(jù)塊1 ;復(fù)用子幀1中包含F(xiàn)EC源數(shù)據(jù)塊 2和FEC源數(shù)據(jù)塊3 ;復(fù)用子幀2中包含F(xiàn)EC源數(shù)據(jù)塊4和FEC源數(shù)據(jù)塊5。源數(shù)據(jù)塊0至 5總共六個塊,通過(6,3)的RS范德蒙碼計算后,得到冗余塊0、冗余塊1、冗余塊2共三個冗余數(shù)據(jù)塊。步驟203、將三個冗余數(shù)據(jù)塊分配給三個復(fù)用子幀,并添加輔助信息,重構(gòu)復(fù)用子幀,并發(fā)送;具體的,將生成的相應(yīng)個數(shù)的冗余數(shù)據(jù)塊,分別放置于各個復(fù)用子幀中傳輸。所述輔助信息可以包括復(fù)用子幀序號、冗余數(shù)據(jù)塊大小、冗余數(shù)據(jù)塊的CRC校驗(yàn)和前向糾錯編碼算法各項(xiàng)參數(shù)等信息;其中,復(fù)用子幀序號可以是0-59之間的數(shù)字,添加時依照循環(huán)方式進(jìn)行;CRC校驗(yàn)包括兩個部分音頻段CRC用于校驗(yàn)復(fù)用子幀的音頻段,冗余段CRC用于校驗(yàn)生成的冗余數(shù)據(jù)塊。重構(gòu)的復(fù)用子幀結(jié)構(gòu)如圖3所示,重構(gòu)的復(fù)用子幀中,包括子幀頭、視頻段、音頻段和數(shù)據(jù)段;音頻段中包含兩個拆分開的用于生成冗余數(shù)據(jù)塊的源數(shù)據(jù)塊,即,音頻塊1和音頻塊2 ;數(shù)據(jù)段中包含的信息是復(fù)用子幀序號,F(xiàn)EC冗余數(shù)據(jù)塊大小、CRC校驗(yàn)數(shù)據(jù)和 FEC冗余數(shù)據(jù)塊,其中,復(fù)用子幀序號,F(xiàn)EC冗余數(shù)據(jù)塊大小和CRC校驗(yàn)數(shù)據(jù)是前向糾錯解碼的輔助信息;CRC校驗(yàn)數(shù)據(jù)包括兩個部分音頻段CRC和冗余段CRC,音頻段CRC用于校驗(yàn)復(fù)用子幀的音頻段;冗余段CRC用于校驗(yàn)生成的冗余數(shù)據(jù)塊。步驟204,接收端接收到重構(gòu)的復(fù)用子幀后,讀取幀序號,根據(jù)幀序號計算出組號,如果是當(dāng)前組號,則將接收到的重構(gòu)的復(fù)用子幀按組放入對應(yīng)的前向糾錯解碼緩沖區(qū), 并返回本步驟接收下一個重構(gòu)的復(fù)用子幀,如果收到下一個組號的復(fù)用子幀,則執(zhí)行步驟 205 ;具體的,由于復(fù)用子幀序號是0-59循環(huán)添加的,并且選定三個復(fù)用子幀為一組, 因此計算組號的方法可以是,幀序號整除3來確定。例如幀序號為0、1和2為第一組;幀序號為3、4和5為第二組,以此類推。步驟205,當(dāng)同一組號內(nèi)有刪除的復(fù)用子幀,根據(jù)分組內(nèi)完整的復(fù)用子幀中的冗余數(shù)據(jù)進(jìn)行刪除信道下的前向糾錯解碼操作,恢復(fù)出刪除的復(fù)用子幀的音頻數(shù)據(jù);具體的,對接收完同組的放入對應(yīng)前向糾錯解碼緩沖區(qū)的復(fù)用子幀,根據(jù)復(fù)用子幀序號可以判斷出丟失的復(fù)用子幀,或者根據(jù)CRC校驗(yàn)數(shù)據(jù)中的音頻段CRC部分也可以判斷出音頻數(shù)據(jù)出現(xiàn)高誤碼情況。在組中找出刪除的復(fù)用子幀,如果刪除超過一個復(fù)用子幀或者沒有刪除,直接將復(fù)用子幀數(shù)據(jù)輸出給播放庫播放,若刪除了一個復(fù)用子幀,則進(jìn)行前向糾錯解碼操作。前向糾錯解碼操作中,根據(jù)前向糾錯編碼的各項(xiàng)參數(shù)和同一分組中完整的復(fù)用子幀攜帶的冗余數(shù)據(jù)塊,進(jìn)行前向糾錯解碼計算。組中任意一個復(fù)用子幀是刪除的狀態(tài),都可以通過其他的復(fù)用子幀恢復(fù)出刪除的復(fù)用子幀的音頻數(shù)據(jù)。步驟206,通過前后完整的復(fù)用子幀計算出刪除的音頻段數(shù)據(jù)必要的播放信息,將恢復(fù)的復(fù)用子幀數(shù)據(jù)輸出給播放庫進(jìn)行播放。具體的,判斷前后完整的復(fù)用子幀也可以利用復(fù)用子幀序號來區(qū)分。必要的播放信息是指刪除的復(fù)用子幀的幀序號和起始播放時間等信息。例如可以通過前后完整的復(fù)用子幀的起始播放時間,來估算刪除的復(fù)用子幀中音頻數(shù)據(jù)的起始播放時間信息,這在不依賴幀頭、視頻段、數(shù)據(jù)段來播放純音頻段的情況下是必要的。圖4所示為本發(fā)明恢復(fù)刪除的復(fù)用子幀的示意圖,如圖4所示復(fù)用子幀0、復(fù)用子幀1和復(fù)用子幀2為一組。FEC源數(shù)據(jù)塊相當(dāng)于前述實(shí)施例中步驟302所述的每個復(fù)用子幀的音頻段分成的兩個源數(shù)據(jù)塊。復(fù)用子幀1為刪除的復(fù)用子幀。因此,F(xiàn)EC源數(shù)據(jù)塊 2、FEC源數(shù)據(jù)塊3和FEC冗余數(shù)據(jù)塊1都不可用。首先,利用復(fù)用子幀0中的FEC冗余數(shù)據(jù)塊0和復(fù)用子幀2中的FEC冗余數(shù)據(jù)塊2分別替換刪除的FEC源數(shù)據(jù)塊2和FEC源數(shù)據(jù)塊3。然后配合前向糾錯編碼的各項(xiàng)參數(shù)對FEC冗余數(shù)據(jù)塊0和FEC冗余數(shù)據(jù)塊2進(jìn)行前向糾錯解碼,得到恢復(fù)的FEC源數(shù)據(jù)塊2和FEC源數(shù)據(jù)塊3。根據(jù)恢復(fù)得到的FEC源數(shù)據(jù)塊 2和FEC源數(shù)據(jù)塊3獲得刪除的復(fù)用子幀1的音頻段1。最后,通過前一個完整的復(fù)用子幀 0和后一個完整的復(fù)用子幀2計算出音頻段1必要的播放信息,例如刪除的復(fù)用子幀的幀序號1和起始播放時間等信息,將恢復(fù)出的復(fù)用子幀數(shù)據(jù)輸出給播放庫進(jìn)行播放。
本實(shí)例中,可以恢復(fù)33%的丟失復(fù)用子幀的音頻段并播放,使得用戶在觀看移動廣播音視頻節(jié)目的時候,可以聽到連續(xù)的音頻聲音,提高了用戶體驗(yàn)。圖5為本發(fā)明在移動多媒體廣播中恢復(fù)并播放音頻的系統(tǒng)結(jié)構(gòu)示意圖,該系統(tǒng)包括復(fù)用子幀分組模塊51、前向糾錯編碼模塊52、重構(gòu)及發(fā)送模塊53、接收及存儲模塊M、 前向糾錯解碼模塊陽和播放信息計算輸出模塊56,其中,復(fù)用子幀分組模塊51,位于發(fā)送端,用于將連續(xù)的需要保護(hù)的復(fù)用子幀編為一組, 并分配組號,將分組后的復(fù)用子幀數(shù)據(jù)傳遞給前向糾錯編碼模塊52 ;具體為,復(fù)用子幀分組模塊51將連續(xù)的需要保護(hù)的復(fù)用子幀,例如以3個復(fù)用子幀為一組復(fù)用子幀0、復(fù)用子幀1和復(fù)用子幀2,編為一組,并分配組號。上述分組得到的, 既是前向糾錯編碼組,也是前向糾錯解碼組。前向糾錯編碼模塊52,位于發(fā)送端,用于對同組的復(fù)用子幀的音頻數(shù)據(jù)進(jìn)行刪除信道下的前向糾錯編碼操作,得到冗余數(shù)據(jù)塊,將數(shù)據(jù)傳輸給重構(gòu)及發(fā)送模塊53 ;具體為,本發(fā)明只對復(fù)用子幀的音頻數(shù)據(jù)進(jìn)行保護(hù),音頻數(shù)據(jù)是復(fù)用子幀中相對容易保護(hù),而且比較重要的數(shù)據(jù)。每個復(fù)用子幀的音頻段拆分為兩個源數(shù)據(jù)塊,源數(shù)據(jù)塊的大小按照三個復(fù)用子幀中音頻段最大的長度MAXLEN來計算,每個源數(shù)據(jù)塊的大小是 MAXLEN/2,長度不足的填0補(bǔ)充,利用上述源數(shù)據(jù)塊進(jìn)行前向糾錯編碼運(yùn)算,前向糾錯編碼算法各項(xiàng)參數(shù)的選取可以經(jīng)過發(fā)送端和接收端協(xié)商決定,本實(shí)施例中選取(6,3)的RS范德蒙碼作為前向糾錯編碼算法。最后,根據(jù)若干個需要保護(hù)的復(fù)用子幀的音頻段數(shù)據(jù)生成相應(yīng)個數(shù)的冗余數(shù)據(jù)塊。例如復(fù)用子幀0中包含F(xiàn)EC源數(shù)據(jù)塊0和FEC源數(shù)據(jù)塊1 ;復(fù)用子幀1中包含 FEC源數(shù)據(jù)塊2和FEC源數(shù)據(jù)塊3 ;復(fù)用子幀2中包含F(xiàn)EC源數(shù)據(jù)塊4和FEC源數(shù)據(jù)塊5。 源數(shù)據(jù)塊0至5總共六個塊,通過(6,;3)的RS范德蒙碼計算后,得到冗余塊0、冗余塊1、冗余塊2共三個冗余數(shù)據(jù)塊。重構(gòu)及發(fā)送模塊53,位于發(fā)送端,用于將各個冗余數(shù)據(jù)塊分配給對應(yīng)的復(fù)用子幀, 并添加輔助信息,重構(gòu)復(fù)用子幀,并發(fā)送給接收及存儲模塊M ;具體的,將生成的相應(yīng)個數(shù)的冗余數(shù)據(jù)塊,分別放置于各個復(fù)用子幀中傳輸。所述輔助信息可以包括復(fù)用子幀序號、冗余數(shù)據(jù)塊大小、冗余數(shù)據(jù)塊的CRC校驗(yàn)和前向糾錯編碼算法各項(xiàng)參數(shù)等信息;其中,復(fù)用子幀序號可以是0-59之間的數(shù)字,添加時依照循環(huán)方式進(jìn)行;CRC校驗(yàn)包括兩個部分音頻段CRC用于校驗(yàn)復(fù)用子幀的音頻段,冗余段CRC用于校驗(yàn)生成的冗余數(shù)據(jù)塊。接收及存儲模塊M,位于接收端,用于接收重構(gòu)的復(fù)用子幀,讀取幀序號,根據(jù)幀序號計算出組號,如果是當(dāng)前組號,則將接收到的重構(gòu)的復(fù)用子幀按組放入對應(yīng)的前向糾錯解碼緩沖區(qū),并接收下一個重構(gòu)的復(fù)用子幀,如果收到下一個組號的復(fù)用子幀時,則將已經(jīng)接收完的前一組復(fù)用子幀傳遞給前向糾錯解碼模塊陽;具體的,由于復(fù)用子幀序號是0-59循環(huán)添加的,并且選定三個復(fù)用子幀為一組, 因此計算組號的方法可以是,幀序號整除3來確定。例如幀序號為0、1和2為第一組;幀序號為3、4和5為第二組,以此類推。前向糾錯解碼模塊55,位于接收端,用于當(dāng)同一組號內(nèi)有刪除的復(fù)用子幀,根據(jù)分組內(nèi)完整的復(fù)用子幀中的冗余數(shù)據(jù)進(jìn)行刪除信道下的前向糾錯解碼操作,恢復(fù)出刪除的復(fù)用子幀的音頻數(shù)據(jù),并傳遞給播放信息計算輸出模塊56 ;具體的,對于接收及存儲模塊M傳遞來的每一組復(fù)用子幀,根據(jù)復(fù)用子幀序號可以判斷出丟失的復(fù)用子幀,或者根據(jù)CRC校驗(yàn)數(shù)據(jù)中的音頻段CRC部分也可以判斷出音頻數(shù)據(jù)出現(xiàn)高誤碼情況。在組中找出刪除的復(fù)用子幀,如果刪除超過一個復(fù)用子幀或者沒有刪除,直接將復(fù)用子幀數(shù)據(jù)輸出給播放庫播放,若刪除了一個復(fù)用子幀,則進(jìn)行前向糾錯解碼操作。前向糾錯解碼操作中,根據(jù)前向糾錯編碼的各項(xiàng)參數(shù)和同一分組中完整的復(fù)用子幀攜帶的冗余數(shù)據(jù)塊,進(jìn)行前向糾錯解碼計算。組中任意一個復(fù)用子幀是刪除的狀態(tài),都可以通過其他的復(fù)用子幀恢復(fù)出刪除的復(fù)用子幀的音頻數(shù)據(jù)。播放信息計算輸出模塊56,位于接收端,用于通過前后完整的復(fù)用子幀計算出刪除的音頻段數(shù)據(jù)必要的播放信息,將恢復(fù)的復(fù)用子幀數(shù)據(jù)輸出給播放庫進(jìn)行播放。具體的,判斷前后完整的復(fù)用子幀也可以利用復(fù)用子幀序號來區(qū)分。必要的播放信息是指刪除的復(fù)用子幀的幀序號和起始播放時間等信息。例如可以通過前后完整的復(fù)用子幀的起始播放時間來估算刪除的復(fù)用子幀中音頻數(shù)據(jù)的起始播放時間信息,這在不依賴幀頭、視頻段、數(shù)據(jù)段來播放純音頻段的情況下是必要的。以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種移動多媒體廣播中恢復(fù)并播放音頻的方法,其特征在于,所述方法包括 發(fā)送端將連續(xù)的需要保護(hù)的復(fù)用子幀編為一組,并分配組號;對同組的復(fù)用子幀的音頻數(shù)據(jù)進(jìn)行前向糾錯編碼操作,得到冗余數(shù)據(jù)塊,將冗余數(shù)據(jù)塊分配給復(fù)用子幀并添加輔助信息,重構(gòu)復(fù)用子幀并發(fā)送;接收端根據(jù)分組內(nèi)完整的復(fù)用子幀中的冗余數(shù)據(jù)塊進(jìn)行前向糾錯解碼操作,恢復(fù)出刪除的復(fù)用子幀中的音頻數(shù)據(jù);根據(jù)刪除的復(fù)用子幀前后完整的復(fù)用子幀計算出的必要的播放信息,配合恢復(fù)出的音頻數(shù)據(jù)輸出到播放庫進(jìn)行播放。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,接收端在進(jìn)行前向糾錯解碼操作之前,所述方法還包括接收端根據(jù)幀序號計算出組號,根據(jù)組號將重構(gòu)的復(fù)用子幀放入對應(yīng)的前向糾錯解碼組,完成一組復(fù)用子幀的接收后,進(jìn)行前向糾錯解碼操作。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述重構(gòu)的復(fù)用子幀包括包含兩個音頻塊的音頻段、復(fù)用子幀序號、FEC冗余數(shù)據(jù)塊大小、音頻段CRC、冗余段CRC和FEC冗余數(shù)據(jù)塊。
4.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述前向糾錯編碼操作為根據(jù)復(fù)用子幀中拆分成兩個源數(shù)據(jù)塊的音頻數(shù)據(jù),進(jìn)行前向糾錯編碼,生成冗余數(shù)據(jù)塊。
5.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述前向糾錯解碼操作還包括根據(jù)前向糾錯編碼的各項(xiàng)參數(shù)和同一分組中完整的復(fù)用子幀攜帶的冗余數(shù)據(jù)塊,進(jìn)行前向糾錯解碼計算。
6.一種移動多媒體廣播中恢復(fù)并播放音頻的系統(tǒng),其特征在于,所述系統(tǒng)包括復(fù)用子幀分組模塊、前向糾錯編碼模塊、重構(gòu)及發(fā)送模塊、前向糾錯解碼模塊和播放信息計算輸出模塊;其中,所述復(fù)用子幀分組模塊,位于發(fā)送端,用于將連續(xù)的需要保護(hù)的復(fù)用子幀編為一組,并分配組號,將分組后的復(fù)用子幀數(shù)據(jù)傳遞給所述前向糾錯編碼模塊;所述前向糾錯編碼模塊,位于發(fā)送端,用于對同組的復(fù)用子幀的音頻數(shù)據(jù)進(jìn)行前向糾錯編碼操作,得到冗余數(shù)據(jù)塊,并將冗余數(shù)據(jù)塊傳輸給所述重構(gòu)及發(fā)送模塊;所述重構(gòu)及發(fā)送模塊,位于發(fā)送端,用于將各個冗余數(shù)據(jù)塊分配給對應(yīng)的復(fù)用子幀,并添加輔助信息,重構(gòu)復(fù)用子幀,并發(fā)送給接收端;所述前向糾錯解碼模塊,位于接收端,用于當(dāng)同一組號內(nèi)有刪除的復(fù)用子幀,根據(jù)分組內(nèi)完整的復(fù)用子幀中的冗余數(shù)據(jù)塊進(jìn)行前向糾錯解碼操作,恢復(fù)出刪除的復(fù)用子幀的音頻數(shù)據(jù),并傳遞給所述播放信息計算輸出模塊;所述播放信息計算輸出模塊,位于接收端,用于通過前后完整的復(fù)用子幀計算出刪除的音頻段數(shù)據(jù)必要的播放信息,將恢復(fù)的復(fù)用子幀數(shù)據(jù)輸出給播放庫進(jìn)行播放。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括接收及存儲模塊,位于接收端,用于接收發(fā)送端發(fā)送的重構(gòu)的復(fù)用子幀,讀取幀序號, 根據(jù)幀序號計算出組號,如果是當(dāng)前組號,將接收到的重構(gòu)的復(fù)用子幀放入對應(yīng)的前向糾錯解碼緩沖區(qū),如果收到下一個組號的復(fù)用子幀時,將已經(jīng)接收完的前一組復(fù)用子幀傳遞給前向糾錯解碼模塊。
8.根據(jù)權(quán)利要求6或7所述的系統(tǒng),其特征在于,所述重構(gòu)的復(fù)用子幀包括包含兩個音頻塊的音頻段、復(fù)用子幀序號、FEC冗余數(shù)據(jù)塊大小、音頻段CRC、冗余段CRC和FEC冗余數(shù)據(jù)塊。
9.根據(jù)權(quán)利要求6或7所述的系統(tǒng),其特征在于,所述前向糾錯編碼操作為根據(jù)復(fù)用子幀中拆分成兩個源數(shù)據(jù)塊的音頻數(shù)據(jù),進(jìn)行前向糾錯編碼,生成冗余數(shù)據(jù)塊。
10.根據(jù)權(quán)利要求6或7所述的系統(tǒng),其特征在于,所述前向糾錯解碼操作還包括根據(jù)前向糾錯編碼的各項(xiàng)參數(shù)和同一分組中完整的復(fù)用子幀攜帶的冗余數(shù)據(jù)塊,進(jìn)行前向糾錯解碼計算。
全文摘要
本發(fā)明公開了一種移動多媒體廣播中恢復(fù)并播放音頻的方法,包括對復(fù)用子幀的音頻數(shù)據(jù)進(jìn)行幀間前向糾錯編碼,得到冗余數(shù)據(jù)塊,將冗余數(shù)據(jù)塊分配給復(fù)用子幀并添加輔助信息,重構(gòu)復(fù)用子幀并發(fā)送;接收端根據(jù)完整的復(fù)用子幀中的冗余數(shù)據(jù)塊進(jìn)行前向糾錯解碼操作,恢復(fù)出刪除的復(fù)用子幀中的音頻數(shù)據(jù);根據(jù)前后完整的復(fù)用子幀計算出的必要的播放信息,配合恢復(fù)出的音頻數(shù)據(jù)輸出到播放庫進(jìn)行播放。本發(fā)明還公開了一種移動多媒體廣播中恢復(fù)并播放音頻的系統(tǒng),基于本發(fā)明的方法和系統(tǒng),能恢復(fù)丟失或高誤碼的復(fù)用子幀中的音頻數(shù)據(jù),不依賴丟失的幀頭等數(shù)據(jù)播放,從而提升多媒體廣播系統(tǒng)的傳輸效率以及容錯性,更符合實(shí)際應(yīng)用的需要,并很好的提高用戶體驗(yàn)。
文檔編號H04N21/236GK102170583SQ201010122209
公開日2011年8月31日 申請日期2010年2月26日 優(yōu)先權(quán)日2010年2月26日
發(fā)明者張建強(qiáng), 楊文鼎, 童登金 申請人:中興通訊股份有限公司