專利名稱:一種提高移動(dòng)多媒體廣播終端接收性能的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種提高終端接收性能的方法,尤其涉及一種提高移動(dòng)多媒體廣播終端接收性能的方法。
背景技術(shù):
近年來(lái),數(shù)字移動(dòng)多媒體廣播技術(shù)和標(biāo)準(zhǔn)發(fā)展迅速,例如歐洲的DVB-H(Digital Video Broadcast Handheld,數(shù)字視頻廣播手持式接收)、美國(guó)的MediaFLO(Media Forward Link Only,媒體單一前向鏈路)和中國(guó)的CMMB(China Mobile Multimedia Broadcasting,移動(dòng)多媒體廣播)等,為其終端用戶提供許多服務(wù)內(nèi)容,如廣告、天氣預(yù)報(bào)、新聞、體育節(jié)目、綜藝、多媒體廣播劇、電影等節(jié)目。用戶可以根據(jù)自己的愛(ài)好,選擇移動(dòng)多媒體廣播的服務(wù)節(jié)目。
在中國(guó)的CMMB標(biāo)準(zhǔn)中,移動(dòng)多媒體廣播采用時(shí)分方式發(fā)送多媒體廣播服務(wù)。一個(gè)廣播信道幀的持續(xù)時(shí)間為1秒,由40個(gè)25毫秒時(shí)隙組成。一個(gè)或多個(gè)時(shí)隙可以承載一個(gè)復(fù)用幀(Multiplexing Frame,簡(jiǎn)稱MF)封裝的數(shù)據(jù)。在移動(dòng)多媒體廣播的復(fù)用幀結(jié)構(gòu)中,復(fù)用幀分為復(fù)用幀頭、復(fù)用幀凈荷和填充三部分,如圖1所示。
圖2示出了復(fù)用幀和復(fù)用子幀之間的關(guān)系。一個(gè)廣播信道幀,如圖2中的廣播信道幀k,所傳送的信息內(nèi)容分為控制信息和業(yè)務(wù)數(shù)據(jù)。其中的控制信息用復(fù)用幀0傳送,其中的業(yè)務(wù)數(shù)據(jù)用復(fù)用幀1、復(fù)用幀2、...、復(fù)用幀n傳送,其中n小于40。每個(gè)業(yè)務(wù)數(shù)據(jù)復(fù)用幀的復(fù)用幀凈荷均由一個(gè)或多個(gè)復(fù)用子幀組成,如圖所示的復(fù)用子幀1、復(fù)用子幀2、...、復(fù)用子幀p,但最多只可以包括15個(gè)復(fù)用子幀,也即p小于等于15。每個(gè)復(fù)用子幀承載一個(gè)多媒體業(yè)務(wù)。
復(fù)用幀頭的結(jié)構(gòu)如圖3所示,其中包含了復(fù)用子幀的長(zhǎng)度等參數(shù)。其中的“下一幀參數(shù)指示”字段指示復(fù)用幀頭中是否包含有相同復(fù)用幀標(biāo)識(shí)MF_ID的下一個(gè)復(fù)用幀的關(guān)鍵參數(shù),‘0’表示沒(méi)有,‘1’表示有。如果“下一幀參數(shù)指示”字段值為‘1’,則其中的“下一幀參數(shù)”包括了接收終端將在下一次收到的復(fù)用幀中復(fù)用幀頭長(zhǎng)度、復(fù)用子幀1(第一個(gè)復(fù)用子幀)的長(zhǎng)度和復(fù)用子幀1的頭長(zhǎng)度。復(fù)用幀頭采用32比特的CRC(CyclicRedundancy Check,循環(huán)冗余校驗(yàn))進(jìn)行校驗(yàn)。
復(fù)用子幀的結(jié)構(gòu)如圖4所示,由子幀頭、視頻段、音頻段和數(shù)據(jù)段組成。其中子幀頭包括了頭長(zhǎng)度(占用8比特)、起始播放時(shí)間、視頻段長(zhǎng)度、音頻段長(zhǎng)度、數(shù)據(jù)段長(zhǎng)度、擴(kuò)展區(qū)參數(shù)等,也采用32比特CRC校驗(yàn)。
如圖5所示,CMMB系統(tǒng)中移動(dòng)多媒體廣播終端收到復(fù)用幀后,要進(jìn)行如下幾步解復(fù)用處理過(guò)程步驟501解析復(fù)用幀頭,得到復(fù)用幀頭長(zhǎng)度、各種控制信息表更新序號(hào)和各復(fù)用子幀長(zhǎng)度;步驟502根據(jù)復(fù)用幀頭長(zhǎng)度和各復(fù)用子幀長(zhǎng)度從復(fù)用幀凈荷中解析出所需要的復(fù)用子幀,稱之為目標(biāo)復(fù)用子幀;步驟503從目標(biāo)復(fù)用子幀中解析出視頻段、音頻段和數(shù)據(jù)段;步驟504從視頻段、音頻段和數(shù)據(jù)段中分別解析出視頻單元、音頻單元和數(shù)據(jù)單元的凈荷,送給上層應(yīng)用(例如播放器)來(lái)處理。
CMMB系統(tǒng)是通過(guò)空中信道進(jìn)行多媒體廣播的。由于無(wú)線環(huán)境非常復(fù)雜,在廣播時(shí)即便采用了性能優(yōu)異的信道編碼,也無(wú)法避免出現(xiàn)信道誤碼的情況。移動(dòng)多媒體廣播終端在對(duì)接收到的數(shù)據(jù)進(jìn)行解復(fù)用處理時(shí),涉及到復(fù)用幀頭CRC校驗(yàn)。目前一般的做法是對(duì)CRC校驗(yàn)進(jìn)行計(jì)算,如果檢測(cè)到CRC錯(cuò)誤,終端就丟棄這個(gè)復(fù)用幀的所有數(shù)據(jù)。
圖6示出了現(xiàn)有技術(shù)中解復(fù)用處理實(shí)施例的詳細(xì)流程步驟,包括步驟601終端在進(jìn)行復(fù)用幀處理時(shí),首先獲取復(fù)用幀頭長(zhǎng)度;步驟602獲取復(fù)用幀頭的數(shù)據(jù),并進(jìn)行CRC_32校驗(yàn);步驟603判斷復(fù)用幀頭CRC是否正確,如果正確則轉(zhuǎn)步驟604,否則轉(zhuǎn)步驟608;
步驟604對(duì)復(fù)用幀頭內(nèi)的數(shù)據(jù)信息分別進(jìn)行更新、保存等操作,具體包括對(duì)控制信息表更新序號(hào)進(jìn)行處理如緊急廣播指示,保存復(fù)用幀頭長(zhǎng)度,如果有下一幀參數(shù)則緩存該參數(shù);并獲取復(fù)用幀內(nèi)各復(fù)用子幀的長(zhǎng)度;步驟605根據(jù)目標(biāo)復(fù)用子幀的序號(hào),按照偏移值獲取目標(biāo)復(fù)用子幀的起始位置,讀取目標(biāo)復(fù)用子幀數(shù)據(jù),獲取復(fù)用子幀頭的長(zhǎng)度;以字節(jié)為單位,其中的偏移值為復(fù)用幀頭長(zhǎng)度+4字節(jié)CRC_32碼+目標(biāo)子幀之前各子幀長(zhǎng)度之和;步驟606解析目標(biāo)復(fù)用子幀的子幀頭數(shù)據(jù)并進(jìn)行CRC校驗(yàn),得到目標(biāo)復(fù)用子幀的子幀頭長(zhǎng)度以及子幀內(nèi)視頻段、音頻段和數(shù)據(jù)段的長(zhǎng)度及起始播放時(shí)間等信息;步驟607對(duì)目標(biāo)復(fù)用子幀內(nèi)視頻段、音頻段和數(shù)據(jù)段進(jìn)行相應(yīng)的處理;步驟608由于復(fù)用幀頭CRC_32校驗(yàn)沒(méi)有正確地通過(guò),因此丟棄當(dāng)前復(fù)用幀數(shù)據(jù)。
由于復(fù)用幀是以一秒為單位對(duì)業(yè)務(wù)進(jìn)行復(fù)用的,因此檢測(cè)到復(fù)用幀頭CRC錯(cuò)誤,終端就直接丟棄一個(gè)復(fù)用幀的數(shù)據(jù)的操作,這相當(dāng)于將一秒內(nèi)所傳送的所有視頻數(shù)據(jù)和音頻數(shù)據(jù)全部丟棄,直接造成終端的畫(huà)面和聲音出現(xiàn)嚴(yán)重?cái)嗬m(xù)。這樣的處理過(guò)程就導(dǎo)致終端的接收對(duì)信道誤碼率非常敏感,抗誤碼率特性很差,嚴(yán)重降低了數(shù)據(jù)的接收效率,影響了用戶音畫(huà)體驗(yàn)的流暢程度。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題是在于需要提供一種提高移動(dòng)多媒體廣播終端接收性能的方法,應(yīng)用于終端根據(jù)接收到的復(fù)用幀獲取目標(biāo)復(fù)用子幀時(shí)提高終端的接收性能。
為了解決上述技術(shù)問(wèn)題,本發(fā)明提供了一種提高移動(dòng)多媒體廣播終端接收性能的方法,包括如下步驟(1)獲取所述復(fù)用幀的復(fù)用幀頭長(zhǎng)度和復(fù)用幀頭數(shù)據(jù),對(duì)所述復(fù)用幀頭進(jìn)行循環(huán)冗余校驗(yàn),如果正確則對(duì)所述復(fù)用幀頭進(jìn)行解析,保存所述復(fù)用幀的復(fù)用幀頭長(zhǎng)度,并獲取所述復(fù)用幀內(nèi)各復(fù)用子幀的長(zhǎng)度和目標(biāo)復(fù)用子幀的起始位置,進(jìn)而獲取所述目標(biāo)復(fù)用子幀,否則轉(zhuǎn)步驟(2);(2)根據(jù)最近一次正確解析的復(fù)用幀的復(fù)用幀頭長(zhǎng)度,確定所述復(fù)用幀中復(fù)用子幀1的起始位置,并對(duì)所述復(fù)用子幀1的子幀頭進(jìn)行解析,獲取所述復(fù)用子幀1的長(zhǎng)度;(3)根據(jù)所述復(fù)用子幀1的起始位置和長(zhǎng)度,以及所述目標(biāo)復(fù)用子幀的序號(hào),獲得所述目標(biāo)復(fù)用子幀頭的起始位置,進(jìn)而獲取所述目標(biāo)復(fù)用子幀。
根據(jù)上述的一種提高移動(dòng)多媒體廣播終端接收性能的方法,其步驟(1)中所述復(fù)用幀頭循環(huán)冗余校驗(yàn)正確時(shí),可以以字節(jié)為單位,將所述復(fù)用幀頭長(zhǎng)度、循環(huán)冗余校驗(yàn)碼長(zhǎng)度以及所述目標(biāo)復(fù)用子幀之前各復(fù)用子幀長(zhǎng)度相加之和作為偏移值,即可獲得所述目標(biāo)復(fù)用子幀的起始位置。
根據(jù)上述的一種提高移動(dòng)多媒體廣播終端接收性能的方法,其步驟(1)中對(duì)所述復(fù)用幀頭進(jìn)行循環(huán)冗余校驗(yàn)正確時(shí),如果所述復(fù)用幀頭內(nèi)包含下一幀參數(shù),則可以進(jìn)一步保存該下一幀參數(shù)。
進(jìn)一步地,所述下一幀參數(shù)的內(nèi)容可以包括將在下一次接收的復(fù)用幀的復(fù)用幀頭長(zhǎng)度和復(fù)用子幀1的長(zhǎng)度。
而且,所述步驟(2)可以進(jìn)一步包括,判斷是否保存有最近一次正確解析的復(fù)用幀中的下一幀參數(shù),如果有則根據(jù)所述下一幀參數(shù)中的信息,得到本次接收到的復(fù)用幀中的復(fù)用子幀1的起始位置和復(fù)用子幀1的長(zhǎng)度。更進(jìn)一步地,步驟(2)中可以通過(guò)所述下一幀參數(shù)中的所述將在下一次接收的復(fù)用幀的復(fù)用幀頭長(zhǎng)度,加上循環(huán)冗余校驗(yàn)碼的長(zhǎng)度,得到所述復(fù)用子幀1的起始位置。
根據(jù)上述的一種提高移動(dòng)多媒體廣播終端接收性能的方法,其所述步驟(2)可以包括(21)根據(jù)所述最近一次正確解析的復(fù)用幀的復(fù)用幀頭長(zhǎng)度,對(duì)所述復(fù)用幀中復(fù)用子幀1的起始位置進(jìn)行定位;(22)對(duì)所定位的復(fù)用子幀1的起始位置所對(duì)應(yīng)的子幀頭進(jìn)行循環(huán)冗余校驗(yàn),所述循環(huán)冗余校驗(yàn)正確就得到了所述復(fù)用子幀1的起始位置,之后直接執(zhí)行步驟(24),否則轉(zhuǎn)步驟(23);(23)將所述最近一次正確解析的復(fù)用幀的復(fù)用幀頭長(zhǎng)度增加或減少3字節(jié)的整數(shù)倍,再次對(duì)所述復(fù)用幀中復(fù)用子幀1的起始位置進(jìn)行定位,直到對(duì)所定位的復(fù)用子幀1的起始位置所對(duì)應(yīng)的子幀頭進(jìn)行的循環(huán)冗余校驗(yàn)校驗(yàn)正確,獲得所述復(fù)用子幀1的起始位置為止;(24)對(duì)確定了起始位置的所述復(fù)用子幀1進(jìn)行子幀頭解析,獲取所述復(fù)用子幀1的長(zhǎng)度。
根據(jù)上述的一種提高移動(dòng)多媒體廣播終端接收性能的方法,其步驟(2)中所述復(fù)用子幀1的長(zhǎng)度,可以等于所述復(fù)用子幀1子幀頭長(zhǎng)度、循環(huán)冗余校驗(yàn)長(zhǎng)度以及所述復(fù)用子幀1內(nèi)各信息段長(zhǎng)度。
根據(jù)上述的一種提高移動(dòng)多媒體廣播終端接收性能的方法,其步驟(3)可以包括,中根據(jù)所述復(fù)用子幀1的起始位置和長(zhǎng)度,依次確定所述目標(biāo)復(fù)用子幀之前各復(fù)用子幀的起始位置和長(zhǎng)度,最終得到所述目標(biāo)復(fù)用子幀頭的起始位置。
進(jìn)一步地,步驟(3)中可以進(jìn)一步包括,所述目標(biāo)復(fù)用子幀之前各復(fù)用子幀的子幀頭循環(huán)冗余校驗(yàn)錯(cuò)誤,則停止解析本次接收到的復(fù)用幀,并清除緩存區(qū)中所保留的復(fù)用幀頭長(zhǎng)度信息。
本發(fā)明方法在復(fù)用幀頭CRC校驗(yàn)錯(cuò)誤時(shí),充分利用最近一次收到并正確解析的復(fù)用幀的復(fù)用幀頭長(zhǎng)度信息,從當(dāng)前復(fù)用幀中提取目標(biāo)復(fù)用子幀。與現(xiàn)有技術(shù)相比,避免了接收終端因?yàn)閺?fù)用幀頭CRC校驗(yàn)錯(cuò)誤而丟棄整個(gè)復(fù)用幀數(shù)據(jù),明顯提高了誤碼條件下終端的接收性能,有效改善了終端的畫(huà)面和聲音出現(xiàn)嚴(yán)重?cái)嗬m(xù)的情況。
圖1是現(xiàn)有技術(shù)中復(fù)用幀實(shí)施例的結(jié)構(gòu)示意圖;圖2是現(xiàn)有技術(shù)中復(fù)用幀與復(fù)用子幀實(shí)施例的結(jié)構(gòu)示意圖;圖3是現(xiàn)有技術(shù)中復(fù)用幀頭實(shí)施例的結(jié)構(gòu)示意圖;圖4是現(xiàn)有技術(shù)中復(fù)用子幀實(shí)施例的結(jié)構(gòu)示意圖;
圖5是現(xiàn)有技術(shù)中移動(dòng)多媒體廣播終端解復(fù)用處理實(shí)施例流程示意圖;圖6是現(xiàn)有技術(shù)中解復(fù)用處理實(shí)施例詳細(xì)流程示意圖;圖7是本發(fā)明方法實(shí)施例流程示意圖;圖8是本發(fā)明方法的一個(gè)應(yīng)用實(shí)施例流程示意圖。
具體實(shí)施例方式
以下結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說(shuō)明。
對(duì)復(fù)用幀的結(jié)構(gòu)進(jìn)行分析,可以發(fā)現(xiàn)以下特點(diǎn)(A)以字節(jié)為單位,復(fù)用幀的長(zhǎng)度=復(fù)用幀頭長(zhǎng)度+復(fù)用幀內(nèi)各復(fù)用子幀的長(zhǎng)度+填充數(shù)據(jù)長(zhǎng)度+4字節(jié)CRC_32數(shù)據(jù)長(zhǎng)度;(B)不同復(fù)用幀的復(fù)用幀頭長(zhǎng)度只有在這些復(fù)用幀內(nèi)復(fù)用子幀數(shù)量增加或減少時(shí)才會(huì)出現(xiàn)變化。而且變化是有規(guī)律的,每增加或減少一個(gè)復(fù)用子幀,復(fù)用幀的幀頭長(zhǎng)度將增加或減少3個(gè)字節(jié);(C)對(duì)于一個(gè)復(fù)用幀來(lái)說(shuō),復(fù)用幀內(nèi)各復(fù)用子幀的長(zhǎng)度除了從復(fù)用幀頭中獲得外,還有另外一種方法也可以得到當(dāng)復(fù)用子幀的子幀頭解析正確時(shí),以字節(jié)為單位,復(fù)用子幀的長(zhǎng)度=子幀頭長(zhǎng)度+4字節(jié)的CRC_32碼+各信息段長(zhǎng)度。
從上述對(duì)復(fù)用幀結(jié)構(gòu)的分析,我們得出了這樣一個(gè)結(jié)論在終端沒(méi)有切換業(yè)務(wù)的情況下,當(dāng)復(fù)用幀頭出現(xiàn)CRC校驗(yàn)錯(cuò)誤時(shí),如果能夠正確找到復(fù)用幀內(nèi)各復(fù)用子幀的起始位置,接收終端就可以繼續(xù)解析復(fù)用幀內(nèi)的各復(fù)用子幀。
本發(fā)明的思路是終端在檢測(cè)到當(dāng)前復(fù)用幀中復(fù)用幀頭CRC有錯(cuò)誤的情況下,根據(jù)最近一次收到的復(fù)用幀中提供的下一幀參數(shù)信息及其復(fù)用幀頭長(zhǎng)度,進(jìn)行當(dāng)前復(fù)用幀中目標(biāo)復(fù)用子幀的定位和解復(fù)用,盡可能地從當(dāng)前復(fù)用幀中提取出相關(guān)的復(fù)用子幀,提高終端的接收性能。
圖7示出了本發(fā)明提出的提高移動(dòng)多媒體廣播終端接收性能的方法,主要包括以下步驟
步驟701接收終端在進(jìn)行復(fù)用幀處理時(shí),保存最近一次正確解析的復(fù)用幀的復(fù)用幀頭長(zhǎng)度,如果該復(fù)用幀中還包含下一幀參數(shù),則對(duì)該下一幀參數(shù)也進(jìn)行保存;步驟702當(dāng)本次接收到的復(fù)用幀的幀頭CRC校驗(yàn)錯(cuò)誤時(shí),利用最近一次收到并正確解析的復(fù)用幀的幀頭長(zhǎng)度信息直接跳過(guò)一個(gè)偏移值做為復(fù)用子幀1的起始位置,其中的偏移值以字節(jié)為單位,等于緩存的幀頭長(zhǎng)度+4字節(jié)的CRC碼;步驟703根據(jù)所確定的復(fù)用子幀1的起始位置,對(duì)復(fù)用子幀1進(jìn)行子幀頭解析和子幀頭CRC校驗(yàn),如果子幀頭CRC校驗(yàn)錯(cuò)誤,則停止解析本次接收到的復(fù)用幀,并清除緩存區(qū)中所保留的復(fù)用幀頭長(zhǎng)度等信息;否則,即可獲取復(fù)用子幀1的長(zhǎng)度;步驟704根據(jù)復(fù)用子幀1的起始位置和長(zhǎng)度,以及目標(biāo)復(fù)用子幀的序號(hào),即可獲取目標(biāo)復(fù)用子幀的起始位置,進(jìn)而獲取所述目標(biāo)復(fù)用子幀。
在步驟704中,如果目標(biāo)復(fù)用子幀之前某復(fù)用子幀的子幀頭CRC校驗(yàn)錯(cuò)誤,則停止解析本次接收到的復(fù)用幀,并清除緩存區(qū)中所保留的復(fù)用幀頭長(zhǎng)度等信息。
并且,在獲取目標(biāo)復(fù)用子幀的開(kāi)始位置過(guò)程中,對(duì)目標(biāo)復(fù)用子幀前各復(fù)用子幀子幀頭進(jìn)行解析和CRC校驗(yàn),如果CRC校驗(yàn)錯(cuò)誤,則停止解析本次接收到的復(fù)用幀,并清除緩存區(qū)中保留的復(fù)用幀頭長(zhǎng)度等信息。具體就是,根據(jù)復(fù)用子幀1的起始位置和復(fù)用子幀1長(zhǎng)度,獲得復(fù)用子幀2的起始位置;對(duì)復(fù)用子幀2的子幀頭進(jìn)行解析和CRC校驗(yàn),如果子幀頭CRC校驗(yàn)錯(cuò)誤,停止解析本次接收到的復(fù)用幀,并清除緩存區(qū)中保留的復(fù)用幀頭長(zhǎng)度等信息;否則,根據(jù)復(fù)用子幀2的長(zhǎng)度可以得到復(fù)用子幀3的起始位置;與此類似,直到找到目標(biāo)復(fù)用子幀的開(kāi)始位置。
圖8示出了本發(fā)明方法的一個(gè)應(yīng)用實(shí)施例,包括如下步驟步驟801終端在進(jìn)行復(fù)用幀處理時(shí),首先獲取復(fù)用幀頭長(zhǎng)度和復(fù)用幀頭的數(shù)據(jù)。
步驟802對(duì)復(fù)用幀頭進(jìn)行CRC_32校驗(yàn),判斷復(fù)用幀頭CRC是否正確,如果正確轉(zhuǎn)步驟803,否則轉(zhuǎn)步驟804。
步驟803對(duì)復(fù)用幀頭進(jìn)行解析之后,得到了各復(fù)用子幀的長(zhǎng)度,并將復(fù)用幀頭長(zhǎng)度保存到終端的內(nèi)存中;對(duì)復(fù)用幀頭內(nèi)的其余部分信息分別進(jìn)行更新、保存等操作;如果有下一幀參數(shù)則緩存該參數(shù)。其中的對(duì)復(fù)用幀頭內(nèi)的其余部分信息分別進(jìn)行更新、保存等操作,具體包括對(duì)控制信息表更新序號(hào)進(jìn)行處理如緊急廣播指示等。其中的下一幀參數(shù)包括了將在下一次接收的相同MF-ID的復(fù)用幀頭長(zhǎng)度、第一個(gè)復(fù)用子幀(復(fù)用子幀1)的長(zhǎng)度和復(fù)用子幀1的頭長(zhǎng)度。之后轉(zhuǎn)步驟809繼續(xù)執(zhí)行。
步驟804判斷緩存區(qū)中是否保存有最近一次正確解析的復(fù)用幀中的下一幀參數(shù),如果有則轉(zhuǎn)步驟805,否則轉(zhuǎn)步驟806。
步驟805根據(jù)所保存的下一幀參數(shù)中的將在下一次接收的復(fù)用幀頭長(zhǎng)度,從本次接收到的復(fù)用幀中將復(fù)用幀頭剝離,從而得到本次接收到的復(fù)用幀中的復(fù)用子幀1的起始位置。也即根據(jù)最近一次正確解析的下一幀參數(shù)中的將在下一次接收的復(fù)用幀頭長(zhǎng)度加4字節(jié)的CRC_32來(lái)確定復(fù)用子幀1的位置,具體為跳過(guò)下一幀參數(shù)中將在下一次接收的復(fù)用幀頭長(zhǎng)度加4字節(jié)的CRC_32的數(shù)據(jù),即可確定本次接收到的復(fù)用幀中復(fù)用子幀1的起始位置。之后轉(zhuǎn)步驟807繼續(xù)執(zhí)行。
步驟806考慮到在節(jié)目正常播放期間,復(fù)用幀頭的長(zhǎng)度具有比較固定的特性,因此可以參考所保存的最近一次正確解析的復(fù)用幀的復(fù)用幀頭長(zhǎng)度,對(duì)本次接收到的復(fù)用幀中復(fù)用子幀1的起始位置進(jìn)行定位如果所定位的復(fù)用子幀1的起始位置所對(duì)應(yīng)的子幀頭的CRC校驗(yàn)正確,就得到了復(fù)用子幀1的起始位置;如果子幀頭的CRC不正確,就將復(fù)用幀頭長(zhǎng)度增加或減少3個(gè)字節(jié),再次對(duì)復(fù)用子幀1的起始位置進(jìn)行定位,如果還不正確就再增加或減少3個(gè)字節(jié),再次對(duì)復(fù)用子幀1的起始位置進(jìn)行定位,直到CRC校驗(yàn)正確;得到復(fù)用子幀1的正確起始位置和復(fù)用子幀1的長(zhǎng)度(復(fù)用子幀長(zhǎng)度=子幀頭長(zhǎng)度+復(fù)用子幀內(nèi)各信息段長(zhǎng)度+CRC碼的長(zhǎng)度)后轉(zhuǎn)步驟807繼續(xù)執(zhí)行。
步驟807如果目標(biāo)復(fù)用子幀是復(fù)用子幀1,轉(zhuǎn)步驟809,否則轉(zhuǎn)步驟808。
步驟808獲得的復(fù)用子幀1的起始位置后,對(duì)復(fù)用子幀1的子幀頭進(jìn)行解析,得到復(fù)用子幀1的長(zhǎng)度;根據(jù)復(fù)用子幀1的起始位置和長(zhǎng)度,就可以得到復(fù)用子幀2的起始位置,在對(duì)復(fù)用子幀2的子幀頭進(jìn)行解析,得到復(fù)用子幀2的長(zhǎng)度;依此類推,根據(jù)目標(biāo)復(fù)用子幀的序號(hào),對(duì)目標(biāo)復(fù)用子幀之前的各復(fù)用子幀的子幀頭進(jìn)行處理以獲取相應(yīng)復(fù)用子幀的長(zhǎng)度,就可獲取該目標(biāo)復(fù)用子幀頭的起始位置。具體為在復(fù)用子幀1起始位置基礎(chǔ)上加上復(fù)用子幀1的長(zhǎng)度,得到復(fù)用子幀2的起始位置,根據(jù)復(fù)用子幀2的起始位置和復(fù)用子幀2的長(zhǎng)度,得到復(fù)用子幀3的起始位置,依此方式繼續(xù)處理,直到得到目標(biāo)復(fù)用子幀的起始位置;之后轉(zhuǎn)步驟809繼續(xù)執(zhí)行。
步驟809確定目標(biāo)復(fù)用子幀的起始位置后,獲取目標(biāo)復(fù)用子幀的復(fù)用子幀頭,通過(guò)復(fù)用子幀頭解析可以得到目標(biāo)復(fù)用子幀的長(zhǎng)度,以及目標(biāo)復(fù)用子幀內(nèi)各視頻、音頻及數(shù)據(jù)段的長(zhǎng)度和起始播放時(shí)間,從而可以對(duì)目標(biāo)復(fù)用子幀進(jìn)行解析。至此,完成了一個(gè)復(fù)用幀的接收處理過(guò)程。
在步驟808中如果目標(biāo)復(fù)用子幀之前某復(fù)用子幀的子幀頭CRC校驗(yàn)錯(cuò)誤,則停止解析本次接收到的復(fù)用幀,并清除緩存區(qū)中所保留的復(fù)用幀頭長(zhǎng)度等信息。在步驟809中,如果目標(biāo)復(fù)用子幀的子幀頭CRC校驗(yàn)錯(cuò)誤,也停止解析本次接收到的復(fù)用幀,并清除緩存區(qū)中所保留的復(fù)用幀頭長(zhǎng)度等信息。
本發(fā)明方法在目標(biāo)復(fù)用幀頭CRC校驗(yàn)錯(cuò)誤時(shí),充分利用最近一次正確解析的復(fù)用幀中提供的下一幀參數(shù)信息及其復(fù)用幀頭長(zhǎng)度信息對(duì)目標(biāo)復(fù)用子幀進(jìn)行定位和解復(fù)用,從目標(biāo)復(fù)用幀中提取相關(guān)的視頻數(shù)據(jù)和音頻數(shù)據(jù),避免了終端因?yàn)閺?fù)用幀頭和復(fù)用子幀頭CRC錯(cuò)誤而丟棄整個(gè)復(fù)用幀數(shù)據(jù),明顯地提高誤碼條件下終端的接收性能,改善了終端因?yàn)閺?fù)用幀頭CRC校驗(yàn)錯(cuò)誤時(shí)丟棄復(fù)用幀數(shù)據(jù)而導(dǎo)致的畫(huà)面和聲音出現(xiàn)嚴(yán)重?cái)嗬m(xù)的情況。
當(dāng)然,本發(fā)明還可有其他多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,本領(lǐng)域技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種提高移動(dòng)多媒體廣播終端接收性能的方法,其特征在于,包括如下步驟(1)獲取所述復(fù)用幀的復(fù)用幀頭長(zhǎng)度和復(fù)用幀頭數(shù)據(jù),對(duì)所述復(fù)用幀頭進(jìn)行循環(huán)冗余校驗(yàn),如果正確則對(duì)所述復(fù)用幀頭進(jìn)行解析,保存所述復(fù)用幀的復(fù)用幀頭長(zhǎng)度,并獲取所述復(fù)用幀內(nèi)各復(fù)用子幀的長(zhǎng)度和目標(biāo)復(fù)用子幀的起始位置,進(jìn)而獲取所述目標(biāo)復(fù)用子幀,否則轉(zhuǎn)步驟(2);(2)根據(jù)最近一次正確解析的復(fù)用幀的復(fù)用幀頭長(zhǎng)度,確定所述復(fù)用幀中復(fù)用子幀1的起始位置,并對(duì)所述復(fù)用子幀1的子幀頭進(jìn)行解析,獲取所述復(fù)用子幀1的長(zhǎng)度;(3)根據(jù)所述復(fù)用子幀1的起始位置和長(zhǎng)度,以及所述目標(biāo)復(fù)用子幀的序號(hào),獲得所述目標(biāo)復(fù)用子幀頭的起始位置,進(jìn)而獲取所述目標(biāo)復(fù)用子幀。
2.如權(quán)利要求1所述的方法,其特征在于,步驟(1)中所述復(fù)用幀頭循環(huán)冗余校驗(yàn)正確時(shí),以字節(jié)為單位,將所述復(fù)用幀頭長(zhǎng)度、循環(huán)冗余校驗(yàn)碼長(zhǎng)度以及所述目標(biāo)復(fù)用子幀之前各復(fù)用子幀長(zhǎng)度相加之和作為偏移值,即可獲得所述目標(biāo)復(fù)用子幀的起始位置。
3.如權(quán)利要求1所述的方法,其特征在于,步驟(1)中對(duì)所述復(fù)用幀頭進(jìn)行循環(huán)冗余校驗(yàn)正確時(shí),如果所述復(fù)用幀頭內(nèi)包含下一幀參數(shù),則進(jìn)一步保存該下一幀參數(shù)。
4.如權(quán)利要求3所述的方法,其特征在于,所述下一幀參數(shù)的內(nèi)容包括將在下一次接收的復(fù)用幀的復(fù)用幀頭長(zhǎng)度和復(fù)用子幀1的長(zhǎng)度。
5.如權(quán)利要求3所述的方法,其特征在于,所述步驟(2)進(jìn)一步包括,判斷是否保存有最近一次正確解析的復(fù)用幀中的下一幀參數(shù),如果有則根據(jù)所述下一幀參數(shù)中的信息,得到本次接收到的復(fù)用幀中的復(fù)用子幀1的起始位置和復(fù)用子幀1的長(zhǎng)度。
6.如權(quán)利要求5所述的方法,其特征在于,步驟(2)中通過(guò)所述下一幀參數(shù)中的所述將在下一次接收的復(fù)用幀的復(fù)用幀頭長(zhǎng)度,加上循環(huán)冗余校驗(yàn)碼的長(zhǎng)度,得到所述復(fù)用子幀1的起始位置。
7.如權(quán)利要求1所述的方法,其特征在于,所述步驟(2)包括(21)根據(jù)所述最近一次正確解析的復(fù)用幀的復(fù)用幀頭長(zhǎng)度,對(duì)所述復(fù)用幀中復(fù)用子幀1的起始位置進(jìn)行定位;(22)對(duì)所定位的復(fù)用子幀1的起始位置所對(duì)應(yīng)的子幀頭進(jìn)行循環(huán)冗余校驗(yàn),所述循環(huán)冗余校驗(yàn)正確就得到了所述復(fù)用子幀1的起始位置,之后直接執(zhí)行步驟(24),否則轉(zhuǎn)步驟(23);(23)將所述最近一次正確解析的復(fù)用幀的復(fù)用幀頭長(zhǎng)度增加或減少3字節(jié)的整數(shù)倍,再次對(duì)所述復(fù)用幀中復(fù)用子幀1的起始位置進(jìn)行定位,直到對(duì)所定位的復(fù)用子幀1的起始位置所對(duì)應(yīng)的子幀頭進(jìn)行的循環(huán)冗余校驗(yàn)校驗(yàn)正確,獲得所述復(fù)用子幀1的起始位置為止;(24)對(duì)確定了起始位置的所述復(fù)用子幀1進(jìn)行子幀頭解析,獲取所述復(fù)用子幀1的長(zhǎng)度。
8.如權(quán)利要求1所述的方法,其特征在于,步驟(2)中所述復(fù)用子幀1的長(zhǎng)度,等于所述復(fù)用子幀1子幀頭長(zhǎng)度、循環(huán)冗余校驗(yàn)長(zhǎng)度以及所述復(fù)用子幀1內(nèi)各信息段長(zhǎng)度。
9.如權(quán)利要求1所述的方法,其特征在于,步驟(3)包括,中根據(jù)所述復(fù)用子幀1的起始位置和長(zhǎng)度,依次確定所述目標(biāo)復(fù)用子幀之前各復(fù)用子幀的起始位置和長(zhǎng)度,最終得到所述目標(biāo)復(fù)用子幀頭的起始位置。
10.如權(quán)利要求9所述的方法,其特征在于,步驟(3)中進(jìn)一步包括,所述目標(biāo)復(fù)用子幀之前各復(fù)用子幀,包括所述目標(biāo)復(fù)用子幀,如果子幀頭循環(huán)冗余校驗(yàn)錯(cuò)誤,則停止解析本次接收到的復(fù)用幀,并清除緩存區(qū)中所保留的復(fù)用幀頭長(zhǎng)度信息。
全文摘要
本發(fā)明公開(kāi)了一種提高移動(dòng)多媒體廣播終端接收性能的方法,應(yīng)用于所述終端根據(jù)接收到的復(fù)用幀獲取目標(biāo)復(fù)用子幀,包括步驟復(fù)用幀頭進(jìn)行循環(huán)冗余校驗(yàn)錯(cuò)誤時(shí),根據(jù)最近一次正確解析的復(fù)用幀的復(fù)用幀頭長(zhǎng)度,確定所述復(fù)用幀中復(fù)用子幀1的起始位置,并對(duì)所述復(fù)用子幀1的子幀頭進(jìn)行解析,獲取所述復(fù)用子幀1的長(zhǎng)度;根據(jù)所述復(fù)用子幀1的起始位置和長(zhǎng)度,以及所述目標(biāo)復(fù)用子幀的序號(hào),獲得所述目標(biāo)復(fù)用子幀頭的起始位置,進(jìn)而獲取所述目標(biāo)復(fù)用子幀。本發(fā)明方法在復(fù)用幀頭CRC校驗(yàn)錯(cuò)誤時(shí),避免了接收終端因?yàn)閺?fù)用幀頭CRC校驗(yàn)錯(cuò)誤而丟棄整個(gè)復(fù)用幀數(shù)據(jù),提高了誤碼條件下終端的接收性能。
文檔編號(hào)H04H1/00GK101072360SQ20071012342
公開(kāi)日2007年11月14日 申請(qǐng)日期2007年6月22日 優(yōu)先權(quán)日2007年6月22日
發(fā)明者謝大雄, 陳勝利, 王標(biāo), 方源立, 江華, 周建峰 申請(qǐng)人:中興通訊股份有限公司