掌握DVB-H廣播網路封包細節 探究PSI/SI技術元件

2007-05-23
【行動電視技術專欄】  

前一期雜誌的專文中所介紹的DVB-IPDC標準,其所包含的主要技術元件,都是運作於 IP通訊協定之上。由於在廣播網路上,IP封包(IP Packet)是透過DVB-H標準所定義的實體層(Physical Layer)與資料鏈結層(Data Link Layer) 來傳送,因此,在DVB-IPDC over DVB-H 這套標準集合內,也包含一分稱作DVB-IPDC節目特定資訊/服務資訊(Program-specific Information/Service Information, PSI/SI)標準,負責描述DVB-IPDC標準在IP層之下的運作細節。  

如圖1所示,因為DVB-H標準是由DVB-T標準所衍生,故在DVB-H的實體層上,跟DVB-T標準皆採用MPEG-2傳輸串流(MPEG-2 Transport Stream, MPEG-2 TS)以作為承載各種服務的一種多工技術。至於DVB-IPDC標準所使用的IP封包,則透過MPEG-2 TS的多重通訊協定封裝(Multi-Protocol Encapsulation, MPE)分段(Section)來傳送。  

PSI/SI表格(PSI/SI Table)原本是傳統的DVB-T數位電視系統於MPEG-2 TS傳送各種後設資料(Metadata)的一種標準格式。但在DVB-IPDC標準中,主角已從傳統DVB-T數位電視系統MPEG-2 TS,轉換為運作於IP層上的各種技術元件,故針對DVB-T數位電視系統所設計的PSI/SI表格,也須經若干修訂,才能適用於DVB-H與DVB- IPDC標準,這亦是制訂DVB-IPDC PSI/SI標準主要目的。  

以IP平台為基礎  

IP平台(IP Platform)是IPDC PSI/SI標準內所定義的一個基礎觀念(圖2),指的是一個經過協調的 (Harmonized)IP位址空間(Address Space),在一個IP平台中,不會發生IP位址碰撞(Address Collision)問題。IP平台所使用的IP位址格式,可以是IPV4或IPV6,但在同一個IP平台內只能使用一種位址格式。在概念上,可把IP Platform比擬成一個在DVB-H廣播網路上的企業網路(Intranet)。於DVB-H廣播網路上,一個IP平台可能會橫跨好幾個MPEG-2 TS;反之,一個MPEG-2 TS也會包含數個IP平台。每一IP平台都有一個相對應的24位元的平台身識別碼(Platform _id),它可再被細分為兩類:第一類是須經註冊、全球獨一的(Globally Unique)Platform_id。第二類是不用註冊,卻只能在同一個DVB網路(DVB Network)中使用的Platform_id。而DVB Network由一個到數個MPEG-2 TS所組成,擁有自己的網路識別碼(Network_id)。  

傳輸層封包流定義元件連續IP封包  

最初DVB-IPDC PSI/SI的標準內IP封包流(IP Flow)在使用上定義不精確,有時只包含IP層的資訊,有時候卻包含傳輸層(Transport Layer)資訊。在2007年4月定案的DVB-IPDC CDP Implementation Guidelines標準中,才明確將IP Flow與Transport Flow區分成兩個不同的名詞。在此,筆者採用CDP Implementation Guidelines裡較精確的新定義分析之。  

一個IP平台通常包含數個Transport Flow,是一群連續的IP封包擁有相同來源IP位址、目的IP位址、通訊埠號碼(Port Number)、以及所使用的高層通訊協定,如即時傳輸協定(Real-time Transport Protocol , RTP)或FLUTE(File Delivery over Unidirectional Transport)。所以Transport Flow係指一個IPDC服務中,某個元件(Component)產生的一群連續IP封包,如行動電視服務的影像元件,透過RTP通訊協定傳送、包含 H.264影像壓縮資料的IP封包,即是一個Transport Flow。  

至於Transport Flow指的是一群連續的IP封包,這些IP封包擁有相同的來源IP位址與目的IP位址。因此,一個IP Flow中,可能會包含數個不同Transport Flow,如前述的影像元件,除可透過RTP通訊協定傳送IP封包,也會透過即時控制協定(Real Time Control Protocol, RTCP)傳送IP封包。因為這兩個通訊協定所傳送的IP封包,其通訊埠號碼與高層通訊協定相異,視為兩個不同的Transport Flow;但RTP與RTCP傳送的IP封包,其來源IP位址與目的IP位址完全相同,所以這兩個Transport Flow可被視為一個IP Flow。  

IP串流辨別方式  

IP串流(IP Stream)意指一個透過MPE分段,於MPEG-2 TS內傳送的IP Flow。要區別(Identify)一個IP Stream,須倚賴兩項辨識資訊。資訊一是在MPEG-2 TS內,負責傳送IP Stream的基本串流(Elementary Stream, ES)的辨識資訊。它包括原始網路識別碼(Original_network _id)、傳輸串流識別碼(Transport_stream _id)、服務識別碼(Service _id)、及元件標籤(Component_tag)。Original_ network_Id與Transport_stream_id的組合,可用來區別不同MPEG-2 TS;而Service_id與Component_tag的組合則用來區別MPEG-2 TS內不同ES。辨識資訊二是IP Stream的來源IP位址與目的IP位址,因為一個ES可用來傳送超過一個以上的IP Stream,此時須使用前述的IP位址以區別不同IP Stream。  

基本上,一個IPDC DVB-H接收裝置(IPDC DVB-H Receiver),如手機可同時連上多少個在DVB-H廣播網路上的IP平台是由IPDC DVB-H接收裝置的實作方式決定。IPDC DVB-H接收裝置啟動時第一個工作,是搜尋可連上的IP平台,並選擇要使用哪個或哪些IP平台。可能是由系統自動選擇IP平台,也可能是由使用者透過電子服務指引導航(ESG Navigator)選擇。當選定IP平台後,ESG Navigator才可讀取ESG啟動資訊(ESG Bootstrap Information)與ESG後設資料(ESG Metadata),之後使用者才能透過ESG Navigator選擇想使用的IPDC服務。  

多重通訊協定封裝傳送規範  

如圖3所示,DVB-IPDC標準的IP封包,是透過定義於DVB資料廣播(DVB Data Broadcasting)標準ETSI EN 301 102的MPE Section傳送。在 DVB Data Broadcasting標準原本設計中,一個IP封包可被分解,之後透過不止一個MPE Section傳送。但在DVB-IPDC PSI/SI標準中,額外限制一個IP封包僅能由一個MPE Section傳送。所以DVB-IPDC標準的IP封包,包含最大為4080個位元組的IP表頭(Header),且一個MPE Section也無法裝載超過一個以上的IP封包。另外,在DVB Data Broadcasting標準原本的設計中,MPE Section的表頭保留了與其他資料鏈結層(Data Link Layer)的通訊協定表頭同樣的6個位元組長度MAC位址。由於IPDC DVB-H接收裝置可跳過MAC位址,用直接過濾IP位址的方式,在一個MPEG-2 TS的ES內,辨識不同的IP Stream的MPE Section。因此,MAC位址並非絕對必要資訊,所以在DVB-IPDC PSI/SI標準裡,限制在MPE Section的表頭裡,只能使用0個位元組長度的MAC位址(MAC_address_6),剩下的5個位元組則移作他用。  

在DVB-H與DVB-IPDC PSI/SI標準規範下,透過同一個ES傳送的MPE Section串流可用分時多工(Time Slicing)方式傳送,以降低IPDC DVB-H接收裝置的射頻模組的功率消耗。如圖4所示,被連續傳送的一群MPE Section,被稱為一個傳輸尖峰(Burst);且在兩個傳輸尖峰間,不會有屬於該ES的MPE Section被傳送。圖4中的相對時間差方法(Delta-t Method)意味在一個傳輸尖峰內,每一個被傳送的MPE Section皆會標示與下一個傳輸尖峰開始時間,兩者間的相對時間差。Delta-t Method只有在一個傳輸尖峰內的所有MPE Section收不到時才會失效,因此可提高分時多工方式運作的可靠度。  

若希望IPDC DVB-H接收裝置能順利接收,在某個ES內,以分時多工(Time Slicing)方式傳送的MPE Section串流,如圖5所示,除了Delta-t外,還須知道關於該ES的其他分時多工參數,如最大的傳輸尖峰時間(Maximum Burst Duration)、最大傳輸尖峰資料量(Maximum Burst Size)、以及最大平均傳輸頻寬(Maximum Average Bandwidth),即圖5中的固定頻寬(Constant Bandwidth)。欲指定前述三項資訊給某個特定ES,須透過DVB-IPDC PSI/SI標準與DVB Data Broadcasting標準所定義的多時分工與前向糾錯識別描述元件(Time_slice_and_Fec_identifier _descriptor)。透過該描述元件(Descriptor),可針對某個或某些ES,指定關於分時多工與前向糾錯(Forward Error Correction, FEC)的參數。  

前向糾錯技術  

MPE-FEC是DVB-H與DVB-IPDC PSI/SI標準所使用的一種可彌補DVB-H手機因天線較小,或是因較高的移動速度,所導致較高的封包遺失率(Packet Loss Ratio)。DVB Data Broadcasting標準定義名為MPE-FEC分段的格式,以傳送前述的前向糾錯資料。對ES來說,MPE-FEC為一種選擇性開啟此功能的資料欄位,亦是定義於前述的Time_slice_Fec_identifier_descriptor之中。  

圖6中的MPE-FEC框架(MPE-FEC Frame)指定了在一個傳輸尖峰內,如何透過欲傳送的IP封包,計算出相對應的前向糾錯資料的方法。應用程式資料表(Application Data Table)中放置IP封包,會被裝載在MPE Section中傳送;RS資料表(RS Data Table)裡放置里德所羅門碼(Reed-Solomon Code)的前向糾錯資訊,則會被裝載於MPE-FEC Section中傳送。應用程式資料表有191個欄(Column),RS資料表則有64個欄;RS資料表中的Reed-Solomon Code的前向糾錯資訊以列(Row)為單位計算,如RS資料表中第一列的64位元,是經應用程式資料表第一列中的191位元計算得到。至於圖6中的參數 No_of_rows,則是由Time_slice_Fec _identifier_descriptor所指定。  

事實上,一個MPE-FEC框架代表在一個ES的一個傳輸尖峰內會傳輸的全部資料。若ES開啟前向糾錯功能,則RS資料表的MPE-FEC Section會在應用程式資料表的MPE Section後被傳送;相反,若沒有開啟前向糾錯的功能,則只有應用程式資料表的MPE Section會被傳送。圖6的參數No_of_rows會影響到圖5中Maximum Burst Size,其最小值為512K位元,最大值為2048K位元。不過,前述Maximum Burst Size,並無計入MPE-FEC Section的資料量。  

圖7是應用程式資料表的內部結構,包含表頭的IP封包依序從第0欄(Column)開始,一個接一個填入應用程式資料表中。因IP封包可能填不滿全部的 191個欄,所以會有填充欄(Padding Column)存在; RS資料表中的前向糾錯資料,也有可能會填不滿RS資料表,所以也可能會有刪減欄(Punctured Column)存在。且前述的填充欄與刪減欄實際上不會被傳送。在包含所有的MPE-FEC Section的MPE-FEC框架下,填充欄與刪減欄的數目皆被指定在MPE-FEC Section的表頭中。故對一個ES來說,MPE-FEC框架的No_of_rows參數是一個靜態的固定值;對不同的傳輸尖峰的MPE-FEC框架來說固定值亦相同。但MPE-FEC框架的填充欄與刪減欄的數目則會改變,兩種參數值可能不相同。  

最後,在MPE Section與MPE-FEC Section表頭中都包含一個即時參數(Real_time_parameters)的資料結構,此資料結構重要參數如下:  

.Delta_t:指的是該MPE Section或 MPE-FEC Section與下一個傳輸尖峰開始的時間,兩者間的相對時間差。  

.表格界線(Table Boundary):用來標示某個MPE Section,為應用程式資料表的最後一個MPE Section;或是用來標示某個MPE-FEC Section,為RS資料表的最後一個MPE-FEC Section。  

.框架界線(Frame Boundary):當 MPE-FEC框架只有應用程式資料表時,它用來標示某個MPE Section,是此MPE-FEC框架的最後一個MPE Section;反之,若MPE-FEC框架還包含RS資料表時,Frame Boundary則用來標示某個MPE-FEC Section,為該MPE-FEC框架的最後一個 MPE-FEC Section。  

.位址(Address):代表某個MPE Section承載的IP封包,於應用程式資料表中的放置位址;或是意指某個MPE-FEC Section承載的前向糾錯資訊,在RS資料表中的放置位址。  

IP提示表格與IP位址解析  

IP平台內IP Flow的IP封包是裝載在MPE Section內,再透過某個MPEG-2 TS內的ES傳送;IP/MAC提示表格(IP/MAC Notification Table, INT)是一種定義在DVB Data Broadcasting標準內的服務資訊表(Service Information Table),記錄了某個IP平台內部IP Flow與傳送IP Flow的ES間的對應關係。具有某個IP平台的INT,即可在DVB-H廣播網路上,確切找到並接收IP Flow內的IP封包。  

事實上,INT亦是透過MPEG-2 TS內的ES傳送,而包含傳送INT的ES的DVB服務(DVB Service),則被稱為IP/MAC提示服務(IP/MAC Notification Service)。所以,當IPDC DVB-H 接收裝置啟動時的第一個工作,就是在其射頻(RF)模組所支援的載波頻率上,試圖尋找可使用的IP平台的IP/MAC提示服務,以及用來傳送IP平台的 INT之ES。  

最直接搜尋IP/MAC提示服務方法,就是讀取MPEG-2 TS內傳送的NIT,檢查其是否包含型態為0x0B的鏈結描述元件(Linkage Descriptor)。前述的NIT被稱為「提示INT的NIT(INT Notification NIT)」。若在NIT中找到0x0B型態的鏈結描述元件,即可透過它找到在目前的DVB Network內,所有的IP平台的IP/MAC提示服務;反之,若找不到,則要檢查NIT中是否包含0x0C型態的鏈結描述元件。如果有,就可透過它找到目前的DVB Network內某些特定的MPEG-2 TS,這些MPEG-2 TS會傳送包含0x0B鏈結描述元件的NIT。  

IPDC使用PSI/SI表格  

DVB-IPDC PSI/SI在制訂標準時還有一個目的,即描述在DVB-IPDC標準內會用到的PSI/SI表格,以及表格內所包含的Descriptor集合。於這個集合之外,傳統DVB-T數位電視系統才會使用到的部分可忽略,如此簡化IPDC DVB-H接收裝置的設計和測試工作。  

DVB-IPDC標準內用到的PSI/SI表格,包含節目關聯表(Program Association Table, PAT)、節目對應表(Program Map Table)、條件接取表(Conditional Access Table, CAT)、NIT、服務描述表(Service Description Table, SDT)、時間日期表(Time and Date Table, TDT)以及INT。表1是這些PSI/SI表格在DVB-IPDC PSI/SI標準內,被指定的最大重複播送週期(Maximum Repetition Time)。由於這些PSI/SI表格無法同MPE Section般,以分時多工方式被傳送,所以DVB-IPDC PSI/SI標準,將PAT與PMT這類須要動態檢查其內容是否有更新的表格,將其最大重複播送週期縮短至100毫秒。因此,只要一個ES的傳輸尖峰時間大100毫秒,IPDC DVB-H接收裝置的射頻模組於每次開啟時,就可收到PAT與PMT。所以,IPDC DVB-H接收裝置的射頻模組,不必為了接收這些PSI/SI表格而延長其開啟時間。至於NIT被視為是一種靜態表格,只有當IPDC DVB-H接收裝置連上某個DVB Network時,才須讀取其內容。  

DVB-H Cell切換標準待確立  

針對目前DVB-H的DVB-IPDC PSI/SI標準分析,事實上,關於移動(Mobility)與切換(Handover)DVB-H Cell的功能,在最新版的標準文件ETSI TS 102 471 V1.1.1中,尚未被制訂詳盡。DVB-TM-CBMS標準制訂小組「IP Datacast over DVB-H-Implementation Guidelines for Mobility」針對此一功能制訂的新標準內文已大致完成,最終草案應該能在2007年6月底完成,若此份草案通過DVB內部審查,不久後將以DVB藍皮書(DVB Bluebook)的形式公開。  

DVB-IPDC over DVB-H標準是透過MPE Section於MPEG-2 TS上傳送IP封包。由於MPEG-2 TS採用188位元組固定大小的封包,一個IP封包往往須被拆成數個MPEG-2 TS的封包,才可在MPEG-2 TS上傳送。因此,傳輸一個IP封包會浪費不少頻寬,以傳送MPEG-2 TS Packet與MPE Section表頭,因為DVB-H當初沿用已在DVB-T上相關成熟的技術。然而,筆者認為在下一代DVB-H系統--DVB-H2標準中,則不一定會採行同樣作法。  

先在此介紹在DVB-S2系統中採用另一種新方法於廣播網路上傳送IP封包的新方法。DVB-S2定義了一種新傳輸格式,稱基頻框架(Base Band Frame),可用來取代MPEG-2 TS功能。它和傳統MPEG-2 TS最大不同點在於它是一種可變大小的封包格式。在2007年4月通過DVB-TM審查的DVB-GSE(Generic Stream Encapsulation)標準草案,則是使用Base Band Frame上的Data Link Layer通訊協定,來承載各種網路層(Network Layer)通訊協定,如從DVB-S2上傳輸一個IP封包的通訊協定頻寬浪費(Protocol Overhead),若改採用傳統MPE/MPEG-2 TS方法,約是浪費10%;但若採用GSE/Base Band Frame新方法,通訊協定浪費則可降至2~3%。筆者認為,以DVB「不重新發明輪子」觀點來做推論,Base Band Frame與DVB-GSE標準,未來有可能應用在下一代的DVB-T系統DVB-T2中。且依據DVB這一年多來資訊顯示,DVB希望DVB-H2標準是Time-sliced的DVB-T2版本。故筆者認為,對DVB-IPDC標準來說,DVB-GSE標準可能是繼MPE/MPEG-2 TS後,下一代在廣播網路上承載IP Packet之標準。  

DVB-IPDC PSI/SI標準,是DVB-IPDC Phase 1集合中較基礎的一分標準,定義在DVB-H廣播網路上,透過DVB-H的Physical Layer與Data Link Layer傳送IP封包的技術細節。未來若要將DVB-IPDC標準移植到DVB-H外的其他行動多媒體廣播傳輸技術上,僅須修改DVB-IPDC PSI/SI標準,在IP層之上的技術元件則不必更動。當然,這須建立在DVB-IPDC標準的使用案例(Use Case)不變的情況下。如2007年2月定案的DVB-SH(Satellite Services to Handheld)標準,是一種混合衛星與地面波(Terrestrial)的行動多媒體廣播傳輸技術。由於DVB-SH標準在應用上多了關於插入區域性內容(Local Content Insertion)的使用案例,先前原本DVB-IPDC標準並無具備;因此若將DVB-IPDC標準應用於DVB-SH上,須修改目前 DVB-IPDC over DVB-H標準內的PSI/SI標準與Electronic Service Guide(ESG)標準。  

在之後的文章中,筆者會依序介紹DVB-IPDC的內容傳輸協定(Content Delivery Protocol, CDP)標準,以及ESG標準。  

(本文作者任職於工研院資通所)  

(詳細圖表請見新通訊元件雜誌76期6月號)  

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!