摘 要:相比模擬電視,數字電視給用戶帶來了全新的體驗,也方便了有線運營商對用戶進行管理。但是,由于各地運營商的需求各不相同很難統一,因此在數字電視系統集成時,有線運營商和技術廠商都面臨著很多問題,下面就數字電視系統建設中常見的特殊業務的實現方法進行介紹。
關鍵詞:數字電視 系統 功能 實現方法
中圖分類號:TN94文獻標識碼:A文章編號:1674-098x(2011)11(c)-0085-01
相比模擬電視,數字電視給用戶帶來了全新的體驗,也方便了有線運營商對用戶進行管理。但是,由于各地運營商的需求各不相同很難統一,因此在數字電視系統集成時,有線運營商和技術廠商都面臨著很多問題,下面就數字電視系統建設中常見的特殊業務的實現方法進行介紹。
1 節目自動排序
節目自動排序是數字電視的優勢之一。有線數字運營商通過在數字電視前端系統中按照收視率高低和營業需求排列節目順序,不需要用戶手動干預。一般來講,機頂盒軟件根據ServiceID(唯一標識一個服務)進行節目排序,這種方式被運營商廣泛采用,但是該方式要求前端系統在進行節目頻率規劃的時候將排序相鄰的節目放到同一個頻率下傳送。這將導致設備增加、系統配置復雜度提高或者擾亂serviceID的規劃。
在BAT表中定義個一個業務群標識符(即bouquet_id),在其傳輸流(transport_stream_id)中定義一組user_defined_descriptor來描述節目順序。插入私有頻道號描述符語法如下:
channel_number_descriptor ( )
{
descriptor_tag 8bit (值為0x82描述符標識)
descriptor_length 8bit (后續數據長度)
for(i=0;i { service_id16bit (節目的service_id) Channel_Number16bit (邏輯頻道號) } } 其中每套節目需要32bit描述。例如,transport_stream_id=0 x0001的傳輸流下面第一個descriptor_data將中央一臺service_id為110,ChannelNumber(節目臺號)為1,描述為0x00 6e 00 01,中央七臺service_id為130,節目臺號為7,描述為0x00 82 00 07。目前,市場上主流機頂盒基本都支持按照BAT表節目排序。 另外需要注意:(1)ChannelNumber應該從小到大分配,減少用戶按鍵的數量;(2)必須為所有的節目分配唯一的ChannelNumber;(3)當ServiceID變化的時候必須調整ChanneNumber以適應用戶使用習慣;(4)一個ServiceID只能對應一個邏輯頻道號;(5)前端設備必須支持插入channel_number_descriptor( )描述字。 2 音量平衡控制 有線電視前端通過衛星、光纖、微波等多種傳輸方式接收來自各地的電視、廣播節目,這就導致各個節目音量高低不統一。在模擬系統中的可以通過調制器調整A/V值,實現音量平衡,相比而言,在數字電視系統中實現音量均衡相對復雜,一般來講可通過MEPG2編碼器在音頻數據編碼時進行音量調整,但是目前支持音量調節的編碼器種類較少,并且單獨購買大量編碼器成本較高。下面介紹利用BAT表作為載體傳送系數到機頂盒控制輸出音量,從而實現音量均衡方法。 在SI的BAT表中加入用戶特定描述,即在每個傳輸流下定義一個user_defined_descriptor。首先設定頻道音量控制描述符的數據結構,確定各頻道各聲道的音量補償值,然后將各個頻道的頻道標識、聲道標識和音量補償值裝載到頻道音量控制描述符中,生成頻道音量控制描述符數據。在數字電視前端播出系統中,插入并播發上述頻道音量控制描述符,終端接收設備根據找到并解析頻道音量控制描述符,再根據頻道音量控制描述符給出的音量補償值,對各頻道各聲道的音量進行調節。 在BAT表中定義個一個業務群標識符(即bouquet_id),在其傳輸流(transport_stream_id)中定義一組user_defined_descriptor來描述節目順序。插入私有頻道號描述符語法如下: Volume_balance_descriptor ( ) { descriptor_tag 8bit (值為0x83描述符標識) descriptor_length 8bit (后續數據長度) for(i=0;i { service_id16bit (節目的service_id) volume 8bit (音量) audio_channel 8bit (聲道) } } 以永新視博SI播發卡與創維機頂盒組合為例,在BAT表中定義個一個業務群標識符,在其傳輸流中定義一組user_defined_descriptor,為了區別節目排序該業務群標識符定義descriptor_tag= 0x83,descriptor_data作為私有描述各節目的音量屬性。每套節目占用32bit,其中節目service_id占用16bit,音量大小各占用8bit,默認各聲道音量初始值為0x7f,在該值的基礎上增減變化。聲道描述占用8bit,0x00表示不做聲道選擇;0x01表示左聲道;0x02表示右聲道;0x03表示立體聲;0x04~0xFF保留。選擇一套節目的音量作為基準音量,其他節目音量與基準音量的差值作為音量補償值。每套節目都需要進行補償值計算,補償值可以為零。 3 節目隱藏 在數字電視的實際應用中,數字電視運營商會遇到很多特殊用戶,如賓館用戶、擁有自辦節目的集團用戶等等,他們對節目搜索和節目列表的顯示有自己的特殊要求,如賓館酒店用戶希望機頂盒能夠隱藏測試頻道和自辦頻道,或者是隱藏沒有授權的頻道。 在BAT表中添加不同業務群分類對未授權節目包進行過濾從而實現節目隱藏功能。定義bouquet_id號段用作節目過濾,將需要過濾的節目包分別描述在bouquet_id下,要求bouquet_name 值與特殊節目授權包id值相同,每個業務群下描述每個特殊授權包下的所有節目所屬的transport_stream_id和service_id。機頂盒端對比用戶的智能卡中的授權包ID,對有授權的節目則正常顯示節目描述信息,而對于無授權的節目則隱藏節目描述信息。當機頂盒進行節目搜索的時候,搜索BAT表中用作節目過濾bouquet_id號段的有效業務群,將搜索到的有效業務群中的bouquet_name全部取出,定義為要隱藏的授權包,然后查找用戶智能卡中是否具有上述授權包ID,對有授權的節目則正常顯示節目描述信息,而對于無授權的節目則隱藏節目描述信息。