劉威
[摘 要]介紹DVB和MPEG-2的數(shù)字電視系統(tǒng)的標(biāo)準(zhǔn)節(jié)目流,針對視頻服務(wù)器的相關(guān)功能以及相對應(yīng)的應(yīng)用,來完成由MPEG-2節(jié)目流生成符合其DVB標(biāo)準(zhǔn)的傳輸流,并對其進(jìn)行多路節(jié)目的復(fù)用。
[關(guān)鍵詞]數(shù)字電視;節(jié)目、生成流;復(fù)用
中圖分類號:TN948.64 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-914X(2016)16-0382-01
數(shù)字電視,是從電視節(jié)目的錄制、播出到發(fā)射、接收全部采用數(shù)字編碼與數(shù)字技術(shù)傳輸?shù)男乱淮碾娨暋纳鲜兰o(jì)80年代以來,經(jīng)過了30多年的發(fā)展及演變,使其各方個面的技術(shù)有了進(jìn)步與提高。與其傳統(tǒng)的模擬電視相比,數(shù)字電視在這一領(lǐng)域占據(jù)著很大的優(yōu)越性,可以說,信息量大、業(yè)務(wù)種類繁多、功能的多樣化等是數(shù)字電視的表現(xiàn)出來的總體的特征。
數(shù)字電視傳輸系統(tǒng)是全數(shù)字的通信系統(tǒng)中的其中一種,其信源編碼和再復(fù)用后生成的節(jié)目傳送數(shù)據(jù)流,在被接收端接收以前都會在無線的傳輸環(huán)境中進(jìn)行傳輸,對其進(jìn)行編碼后如果直接進(jìn)行傳輸,那么在到達(dá)接收端時(shí)將會發(fā)生很大的變化,因此,必須在數(shù)據(jù)進(jìn)入傳輸信道之前就對數(shù)據(jù)進(jìn)行信道編碼的處理。在這個過程中可分為兩個方面:1、負(fù)責(zé)傳輸誤碼的檢驗(yàn)、檢測和校正方面的稱之為信道編譯碼;2、負(fù)責(zé)信號變換和頻道搬移方面的稱之為調(diào)制解調(diào)。
目前,在美國、歐洲和日本其各自形成三種不同標(biāo)準(zhǔn)的數(shù)字電視。美國的標(biāo)準(zhǔn)是ATSC;歐洲的標(biāo)準(zhǔn)是DVB;日本的標(biāo)準(zhǔn)是ISDB。DVB數(shù)字廣播傳輸系統(tǒng)利用了包括衛(wèi)星、有線、無線、地面等所有可用于電視廣播傳輸?shù)拿襟w。它們分別對應(yīng)的DVB標(biāo)準(zhǔn)為DVB-S、DVB-C、DVB-T。2001年國家廣電總局已頒布了其行業(yè)的實(shí)行標(biāo)準(zhǔn)《有線數(shù)字電視廣播信道編碼和調(diào)制規(guī)范》,該標(biāo)準(zhǔn)地DVB-C標(biāo)準(zhǔn)要意義上是等同的。其中傳輸流的生成和復(fù)用是該視頻服務(wù)器的主要功能之一。
DVB標(biāo)準(zhǔn)提供了一套完整的、適用于不同媒介的數(shù)字電視廣播系統(tǒng)規(guī)范。DVB選定MPEG-2標(biāo)準(zhǔn)作為音頻及視頻的編碼壓縮方式,統(tǒng)一了該編碼后,對MPEG-2碼流進(jìn)行打包形成傳輸流,進(jìn)行多個傳輸流的復(fù)用,最后通過衛(wèi)星、有線電視及開路電視等不同媒體介入傳輸?shù)姆绞竭M(jìn)行傳輸。
DVB(Digital Video Broadcast)是現(xiàn)存的一種數(shù)字電視廣播標(biāo)準(zhǔn)。DVB 系列標(biāo)準(zhǔn)中包含
三種傳輸系統(tǒng);第一類是通過高頻信道進(jìn)行廣播,適用于廣播信道的 DVB-S、DVB-C、DVB-T、DVB-CS、DVB-MC、DVB-MS 等,這種傳輸系統(tǒng)包含了信道編譯碼和調(diào)制解調(diào)兩個部分;第二類適用于準(zhǔn)同步數(shù)字系列的電信網(wǎng)絡(luò),如 DVB-PDH,這一類系統(tǒng)通過基帶進(jìn)行相互之間的傳輸,傳輸系統(tǒng)只包含了信道編譯碼環(huán)節(jié);第三類適用于同步數(shù)字系列的電信網(wǎng)絡(luò),如 DVB-SDH,這一類系統(tǒng)雖然也通過基帶傳輸,但在通常情況下該系統(tǒng)則不是必須的。
隨著衛(wèi)星電視數(shù)字視頻廣播和有線電視數(shù)字視頻廣播從發(fā)射到接收技術(shù)的基本成熟,接收方式及區(qū)域、頻率規(guī)劃等問題中受到的影響,地面數(shù)字電視廣播還有很大的發(fā)展?jié)摿?,尤其是在提高固定和移動接收性能方面。隨著數(shù)字電視地面廣播被越來越多的國家采用,為未來高清晰度電視的發(fā)展提供了更多機(jī)會和空間,所以對數(shù)字電視地面廣播標(biāo)準(zhǔn)進(jìn)行研究有著及其重大而深遠(yuǎn)的意義。
1、格式轉(zhuǎn)換
MPEG-2國際標(biāo)準(zhǔn)分為系統(tǒng)、視頻和音頻三部分,分別系統(tǒng)的定義了其視頻、音頻數(shù)據(jù)的壓縮編碼和解碼算法和數(shù)據(jù)流的結(jié)構(gòu)、語法。其中標(biāo)準(zhǔn)的系統(tǒng)就著眼于如何將一個或多個音、視頻流或其他的基本數(shù)據(jù)流合成單個或多個數(shù)據(jù)流,以滿足便于存儲和方便傳輸?shù)囊蟆0凑諛?biāo)準(zhǔn)中的句法和語法進(jìn)行系統(tǒng)的編碼,這樣就可以不必拘束在一定范圍的條件下進(jìn)行對這種數(shù)據(jù)流的同步譯碼。
MPEG-2定義了兩種傳輸規(guī)范:對于不容易發(fā)生錯誤的環(huán)境所制定的規(guī)范稱為MPEG-2節(jié)目流,適用于交互式多媒體這樣一些涉及軟件處理的應(yīng)用;對于比較容易發(fā)生錯誤的環(huán)境所制定的規(guī)范稱為MPEG-2傳輸流(例如衛(wèi)星信道等容易引入噪音干擾以及容易丟失數(shù)據(jù)的存儲傳輸環(huán)境)。然而這兩種傳輸規(guī)范這間可以進(jìn)行相互轉(zhuǎn)換的。
本文實(shí)現(xiàn)視頻服務(wù)器的關(guān)鍵功能,就是要按照節(jié)目單的播出要求或點(diǎn)播的要求進(jìn)行調(diào)度,選擇存儲在磁盤上的若干路節(jié)目生成DVB的傳輸流,復(fù)用后送入信道傳輸。存儲在磁盤上的節(jié)目一般是以節(jié)目流格式存儲的,所以,DVB標(biāo)準(zhǔn)要求的傳輸流需要在兩種格式間進(jìn)行對其的相互轉(zhuǎn)換后才能夠生成。
2、播出復(fù)用
傳輸流所傳送的是雙方獨(dú)立的原始流數(shù)據(jù),還有就是把這一數(shù)據(jù)組合成一個節(jié)目中特定的數(shù)據(jù)信息,傳輸流并不是在傳送一個不可分割的節(jié)目,這就保證了對這一數(shù)據(jù)進(jìn)行復(fù)用的可行性。由于實(shí)際的傳輸頻道帶寬經(jīng)常大于一路數(shù)字電視節(jié)目信號的帶寬,為了更好的對這一資源進(jìn)行有效的利用,這就需要將多路節(jié)目復(fù)用在一起后再對其進(jìn)行傳輸。視頻播出服務(wù)器另一個主要功能是接收節(jié)目單的調(diào)度,混合多路TS流數(shù)據(jù)輸出為一路流。同時(shí)生成PAT、NIT、EIT和SDT表,以及相關(guān)的描述。其中PAT為節(jié)目表,包含了多路節(jié)目復(fù)用的有關(guān)控制信息;NIT是網(wǎng)絡(luò)信息表,是傳送本網(wǎng)絡(luò)以及與此網(wǎng)絡(luò)相關(guān)的其他網(wǎng)絡(luò)的一些信息;EIT是指節(jié)目段的信息表,按照時(shí)間的順序提供每一個節(jié)目中包含的節(jié)目段信息;SDT是節(jié)目業(yè)務(wù)的描述表,每一個子表都對一個特定傳輸流中的節(jié)目業(yè)務(wù)進(jìn)行了具體細(xì)致的描述。PAT的傳送也如PMT一樣,作為一個在數(shù)據(jù)中獨(dú)立存在的碼流,被其裝載在TS包的凈荷中進(jìn)行傳輸,并且被分配了一個唯一的PID值。所不同的是,傳送PAT的碼流的PID值被定義為固定的數(shù)值“0”,即PID= 0。
復(fù)用系統(tǒng)中的每一個輸入傳輸流都有一個TS對象與其相對應(yīng)。TS對象包含的輸入函數(shù)負(fù)責(zé)向TS對象的處理函數(shù)提供傳輸流數(shù)據(jù)。輸出函數(shù)是笞一個供其所有TS對象使用的全局函數(shù),每個TS對象獲得輸出函數(shù)的控制權(quán),向輸出函數(shù)發(fā)送傳輸流分組數(shù)據(jù)。全局變量區(qū)存儲所有傳輸流的結(jié)構(gòu)信息,以及所生成傳輸流的所有的相關(guān)信息。
1)輸入函數(shù)
在復(fù)用程序的結(jié)構(gòu)中,輸入函數(shù)是TS流其中的一個函數(shù),它負(fù)責(zé)從存儲的相關(guān)文件中輸入傳輸流數(shù)據(jù)。當(dāng)處理該傳輸流的程序終止時(shí),該系統(tǒng)會對傳輸流的描述對象、輸入函數(shù)進(jìn)行刪除,并相應(yīng)的釋放系統(tǒng)所分配的空間。
2)輸出函數(shù)
在邏輯上是相對應(yīng)的輸出函數(shù)與輸入函數(shù),輸出函數(shù)所提供的成員函數(shù)是要負(fù)責(zé)把傳輸流處理程序所生成的比特流輸出,生成與輸入函數(shù)所提供的成員函數(shù)相反的功能。
3)處理函數(shù)
定義傳輸流TS對象,以便更好的描述和封裝輸入的傳輸流。每當(dāng)一個新的傳輸流加入到復(fù)用程序中時(shí),復(fù)用系統(tǒng)都會為該傳輸流創(chuàng)建一個更為適合的TS流對象,使用這個對象能夠更好地對輸入傳輸流的結(jié)構(gòu)信息進(jìn)行更加全面而系統(tǒng)的描述,并提供函數(shù)實(shí)現(xiàn)對傳輸流的各種操作。把傳輸流的硬盤上的某一個文件,作為參數(shù)傳送到輸入函數(shù)中去,完成輸入函數(shù)的建立。這也為自身創(chuàng)建一個TS流對象,在全局?jǐn)?shù)據(jù)結(jié)構(gòu)鏈表中插入該記錄,并且填充該對象到傳輸流的結(jié)構(gòu)信息中,還要為該傳輸流中的節(jié)目分配新的節(jié)目號,為組成該節(jié)目的原始流分配新的PID,以此琮完成在全局變量中的注冊。因?yàn)樵搨鬏斄鞯牟迦?,輸出傳輸流的結(jié)構(gòu)將發(fā)生變化,所以要傳送更新版本的PAT表,還要輸出新插入的節(jié)目的PMT表,讓解碼器對新插入的節(jié)目進(jìn)行相應(yīng)的處理。更要輸出新插入的節(jié)目的節(jié)目段信息表EIT,并且刪除舊的節(jié)目的信息表EIT。要為該對象創(chuàng)建一個處理線程。并傳送給線程該對象所對應(yīng)的指針作為參數(shù)。設(shè)定該線程的級別。這樣一個傳輸流就加入到了復(fù)用系統(tǒng)中。
在通常情況下,處理各個傳輸流的線程擁有平等的優(yōu)先級,而該優(yōu)先級可以由緩沖區(qū)的狀態(tài)來控制;當(dāng)緩沖區(qū)快滿時(shí),應(yīng)用程序適當(dāng)提高該線程的級別,從而該程序?qū)@得更多的CPU時(shí)間片,處理更多的傳輸流分組;同樣,當(dāng)緩沖區(qū)快空的時(shí)候,應(yīng)用程序可以適當(dāng)降低該線程的級別,以防止緩沖區(qū)出現(xiàn)下溢。
結(jié)語
本文提出了傳輸流的產(chǎn)生和傳輸復(fù)用的方案,在分布式的視頻服務(wù)器中能夠得到更好的適用,現(xiàn)可以將視頻播出器分成兩部分:廣播格式的轉(zhuǎn)換、廣播復(fù)用的調(diào)度。這兩項(xiàng)可以在不同的服務(wù)器當(dāng)中進(jìn)行運(yùn)用,也可以采用轉(zhuǎn)換離線的方式運(yùn)行播出對其調(diào)度的運(yùn)行。因此,可以將批量廉價(jià)的服務(wù)器組合起來,通過較為合理的控制及調(diào)度,從而實(shí)現(xiàn)高性能視頻服務(wù)器的轉(zhuǎn)換。
參考文獻(xiàn)
[1] DVB數(shù)字電視傳輸流的生成和復(fù)用技術(shù)及實(shí)現(xiàn)李寶軍[J]中國傳媒科技2013.12
[2] DVB數(shù)字電視傳輸流的生成和復(fù)用技術(shù)及實(shí)現(xiàn)袁玉良劉玉貴[J]計(jì)算機(jī)應(yīng)用2015.01
[3] 基于FPGA的DVB-T發(fā)射機(jī)的設(shè)計(jì)與實(shí)現(xiàn)王偉[J]南京郵電大學(xué)2013.03