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