一種傳送流解復(fù)用的方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及電視機(jī)頂盒信號傳輸領(lǐng)域,尤其涉及一種傳送流解復(fù)用的方法和裝置。
【背景技術(shù)】
[0002]數(shù)字電視機(jī)頂盒是一種將數(shù)字電視信號轉(zhuǎn)換成模擬信號的設(shè)備,它對經(jīng)過數(shù)字化壓縮的圖像和聲音信號進(jìn)行解碼還原,通過電視顯示器和音響設(shè)備給觀眾提供高質(zhì)量的電視節(jié)目。在運動圖像專家組-2 (Mot1n pictures expert group-2,MPEG-2)中定義了兩種模式的碼流,即傳送流(Transport Stream,TS流)和程序流(Program Stream,PS流),其中,程序流用于相對無錯的環(huán)境如交互式多媒體業(yè)務(wù),TS流用于有錯的環(huán)境如數(shù)字電視的地面廣播傳輸。
[0003]現(xiàn)有的TS流解復(fù)用裝置分為兩種:硬件處理模式和軟件處理模式。圖1 (a)為現(xiàn)有技術(shù)中提供的一種硬件處理模式的TS流解復(fù)用裝置的示意圖。該TS流解復(fù)用裝置的工作過程為:將傳送流接口(TSI) 10接收到的TS流進(jìn)行標(biāo)準(zhǔn)化處理,以轉(zhuǎn)換為統(tǒng)一形式TS流并發(fā)送至解密器11 ;解密器11將每個TS包的字段值標(biāo)識(Transport Packet ID,PID)發(fā)送至PID過濾器12 ;PID過濾器12獲取TS包的PID,并將加密處理信息及加密參數(shù)傳送給解密器11 ;解密器11對統(tǒng)一形式后的TS流的每個TS包進(jìn)行解密或放行,并將處理結(jié)束的TS流發(fā)送至傳送流包頭解析器13 ;傳送流包頭解析器13憑借每個TS包的PID從PID過濾器12中獲取包頭處理信息及解析參數(shù),以對TS流中的TS包進(jìn)行包頭解析;調(diào)整字段解析器14對TS包中的調(diào)整字段(Adaptat1n Field,AF)進(jìn)行解析,得到TS包信息及基本碼流分組包(Packetised Elementary Streams,PES)的包頭位置信息;PES解析器15對TS包中的PES包頭數(shù)據(jù)進(jìn)行解析,將解析后的音視頻基本碼流(Elementary Streams, ES)通過基本碼流直接內(nèi)存訪問模塊18存儲到動態(tài)隨機(jī)存取存儲器(Dynamic Random Access Memory,DRAM) 20中;將其他PES數(shù)據(jù)通過直接內(nèi)存訪問模塊(Direct Memory Access,DMA) 19存儲到 DRAM20 中;程序特殊信息(Program Specific Informat1n,PSI)解析器 16 對 TS 包中的PSI表項進(jìn)行解析;段信息過濾器17幫助PSI解析器16進(jìn)行表項信息過濾;段信息過濾器17中循環(huán)冗余校驗碼(Cyclic Redundancy Check, CRC)校驗器幫助PSI解析器16對PSI的分段數(shù)據(jù)進(jìn)行CRC校驗;解析后的PSI數(shù)據(jù)通過DMA19,存儲到DRAM20中。圖1 (b)為現(xiàn)有技術(shù)中提供的一種軟件處理模式的TS流解復(fù)用裝置的示意圖。該TS流解復(fù)用裝置的工作過程為:將TSI30接收到的TS流進(jìn)行標(biāo)準(zhǔn)化處理以轉(zhuǎn)換為統(tǒng)一形式TS流,并通過DMA31存儲到DRAM32中的TS包緩存區(qū)中,由處理器(CPU)控制軟件完成TS包緩存區(qū)中的整個TS包的解析(包含TS包包頭、AF、PES、PSI的解析)。
[0004]上述TS流解復(fù)用裝置存在以下不足:(I)硬件處理模式:實現(xiàn)TS流解復(fù)用具有較高的工作效率,但碼流處理的靈活性差,遇到不兼容的碼流容易導(dǎo)致系統(tǒng)崩潰;(2)軟件處理模式:實現(xiàn)TS流解復(fù)用具有較強(qiáng)的碼流處理靈活性,但占用了較大的系統(tǒng)資源,系統(tǒng)工作效率低;如果采用單獨CPU或者數(shù)字信號處理器(DSP)去完成該工作,系統(tǒng)成本較高。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供一種傳送流解復(fù)用的方法和裝置,以解決現(xiàn)有技術(shù)中的不足,并提高傳送流解復(fù)用處理過程的靈活性,降低硬件成本。
[0006]第一方面,本發(fā)明提供的一種傳送流解復(fù)用的方法,包括:
[0007]將標(biāo)準(zhǔn)化處理后的統(tǒng)一形式的傳送流進(jìn)行解析以獲得所有傳送包,從所有所述傳送包中獲取包含所需數(shù)據(jù)信息的至少一個特定傳送包,并存儲在傳送包緩存區(qū)中;
[0008]解析該傳送包緩存區(qū)中的特定傳送包,從該特定傳送包中讀取所述數(shù)據(jù)信息的參數(shù),其中,該參數(shù)中至少包含數(shù)據(jù)信息的索引參數(shù),根據(jù)該索引參數(shù)設(shè)置處理所述特定傳送包的指令;
[0009]根據(jù)所述指令,對所述特定傳送包進(jìn)行指令所需的處理。
[0010]第二方面,本發(fā)明提供的一種傳送流解復(fù)用的裝置,包括:
[0011]初步解析模塊,用于將通過傳送流接口接收的傳送流進(jìn)行標(biāo)準(zhǔn)化處理,形成統(tǒng)一形式的傳送流,通過傳送流包頭解析器、解密器解析以獲得所有傳送包,并通過包標(biāo)識過濾器從所有所述傳送包中獲取包含所需的數(shù)據(jù)信息的至少一個特定傳送包,并存儲在傳送包緩存區(qū)中;
[0012]主控處理模塊,用于通過處理器解析該傳送包緩存區(qū)中的特定傳送包,從該特定傳送包中讀取所述數(shù)據(jù)信息的參數(shù),其中,該參數(shù)中至少包含數(shù)據(jù)信息的索引參數(shù),并根據(jù)該索引參數(shù)設(shè)置處理所述特定傳送包的指令;
[0013]通用功能模塊,用于通用直接內(nèi)存訪問模塊根據(jù)所述指令,對所述特定傳送包進(jìn)行指令所需的處理。
[0014]本發(fā)明提供的一種傳送流解復(fù)用方法和裝置,通過傳送流接口接收傳送流,并通過標(biāo)準(zhǔn)化處理以形成統(tǒng)一形式的傳送流,傳送流包頭解析器、解密器解析統(tǒng)一形式的傳送流,通過包標(biāo)識過濾器從所有傳送包中獲取包含所需的數(shù)據(jù)信息的至少一個特定傳送包,處理器解析傳送包緩存區(qū)中的特定傳送包,并從中讀取數(shù)據(jù)信息的多種參數(shù),根據(jù)參數(shù)設(shè)置處理特定傳送包的指令,通用直接內(nèi)存訪問模塊根據(jù)指令對特定傳送包進(jìn)行指令所需的處理。本發(fā)明以TS包頭解析模塊(包含標(biāo)準(zhǔn)化模塊、傳送流包頭解析器、包標(biāo)識過濾器、解密器等)、通用直接內(nèi)存訪問模塊和處理器配合做基礎(chǔ),對傳送流進(jìn)行解析處理工作,提高了碼流處理的靈活性,以及提高了裝置對于不同碼流環(huán)境的兼容性,同時降低硬件成本,此外采用通用直接內(nèi)存訪問模塊以節(jié)省多個專用直接內(nèi)存訪問模塊資源,降低了多個專用直接內(nèi)存訪問模塊繁重的調(diào)試工作量,增加了接口透明度與可測性,從而提升了裝置穩(wěn)定性。
【附圖說明】
[0015]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖做一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0016]圖1 (a)為現(xiàn)有技術(shù)提供的一種硬件處理模式傳送流解復(fù)用裝置的示意圖;
[0017]圖1 (b)為現(xiàn)有技術(shù)提供的一種軟件處理模式傳送流解復(fù)用裝置的示意圖;
[0018]圖2是本發(fā)明中提供的一種傳送流解復(fù)用的方法的流程圖;
[0019]圖3是本發(fā)明實施例一中提供的第一傳送流解復(fù)用裝置的示意圖;
[0020]圖4是本發(fā)明實施例二中提供的第二傳送流解復(fù)用裝置的示意圖;
[0021]圖5是本發(fā)明實施例三中提供的第三傳送流解復(fù)用裝置的示意圖;
[0022]圖6是本發(fā)明實施例四中提供的一種傳送流解復(fù)用裝置的結(jié)構(gòu)框圖。
【具體實施方式】
[0023]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,以下將參照本發(fā)明實施例中的附圖,通過實施方式清楚、完整地描述本發(fā)明的技術(shù)方案,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
[0024]實施例一:
[0025]參考圖2所示,為本發(fā)明中提供的一種傳送流解復(fù)用的方法的流程圖。本發(fā)明的技術(shù)方案適用于基于軟硬件結(jié)合的方式對實時傳送流進(jìn)行解復(fù)用的情況。該方法可以由第一傳送流解復(fù)用裝置來執(zhí)行,該裝置采用軟件和硬件協(xié)同工作的方式實現(xiàn),配置在機(jī)頂盒中執(zhí)行。為了更加詳盡的說明圖2所示的傳送流解復(fù)用的方法,在此結(jié)合圖3對圖2進(jìn)行說明,如圖3所示,為本發(fā)明實施例一中提供的第一傳送流解復(fù)用裝置的示意圖。
[0026]本發(fā)明提供的一種傳送流解復(fù)用的方法,具體包括以下步驟:
[0027]步驟110、將標(biāo)準(zhǔn)化處理后的統(tǒng)一形式的傳送流進(jìn)行解析以獲得所有傳送包,從所有傳送包中獲取包含所需數(shù)據(jù)信息的至少一個特定傳送包,并存儲在傳送包緩存區(qū)中;
[0028]步驟120、解析該傳送包緩存區(qū)中的特定傳送包,從該特定傳送包中讀取數(shù)據(jù)信息的參數(shù),其中,該參數(shù)中至少包含數(shù)據(jù)信息的索引參數(shù),根據(jù)該索引參數(shù)設(shè)置處理特定傳送包的指令;
[0029]步驟130、根據(jù)指令,對特定傳送包進(jìn)行指令所需的處理。
[0030]如上所述,TS流由多個TS包組成,在此該TS流中包含多種類型數(shù)據(jù),如視頻、音頻、碼流信息、信道信息、節(jié)目信息、自定義信息等。TS包通常為固定長度188字節(jié),其中包含了 4字節(jié)包頭和184字節(jié)有效負(fù)載,TS包的有效負(fù)載中通常包含了表項信息或基本碼流信息,在此最常見的基本碼流信息為包含經(jīng)編碼壓縮過的ES,最常見的表項信息為PSI,其中,ES被分組打包為PES,并封裝在TS包中,PSI中的節(jié)目關(guān)聯(lián)表(Program Associat1nTable, PAT)定義了 TS流中的所有業(yè)務(wù),包含有TS流中所有業(yè)務(wù)的完整列表,根據(jù)PAT中提供的PID可以找到節(jié)目映射表(Program Map Table,PMT),根據(jù)PMT中提供的PID可以得到當(dāng)前TS流中的ES所在的TS包包頭中包含的PID。
[0031]當(dāng)所需的數(shù)據(jù)信息為不同的表項時,TS流的解復(fù)用過程基本類似,當(dāng)所需的數(shù)據(jù)信息為不同的基本碼流時,TS流的解復(fù)用過程也基本類似,因此在本實施例中以所需數(shù)據(jù)信息為最常見的ES為例,對TS流進(jìn)行解復(fù)用過程的描述。已知PMT中的PID可以得到ES所在的TS包的PID,PAT中的PID可以找到PMT,因此可選的,在本實施例中,設(shè)置所需的數(shù)據(jù)信息主要包含表項和基本碼流,其中以PAT、PMT、ES為例,其中,PAT和PMT為表項信息,ES為基本碼流信息。
[0032]對于任意一個信道而言,不同的信道解調(diào)器輸出多