王寧強 龍為
【摘要】 隨著電視客戶的發(fā)展,如何管理好各區(qū)域內的電視客戶以便對各區(qū)域客戶提供區(qū)域化和個性化服務成為當前所必須解決的問題。
【關鍵詞】 數(shù)字電視 智能卡區(qū)域管理
貴州省在幾年前完成了全省廣播電視網(wǎng)絡整合,組建了貴州省廣播電視信息網(wǎng)絡股份有限公司,隨著數(shù)字電視的普及,全省已經(jīng)完成了模擬電視向數(shù)字電視的整體轉換,目前正在由標清電視向高清電視的整體轉換工作。隨著電視客戶的發(fā)展,如何管理好各區(qū)域內的電視客戶以便對各區(qū)域客戶提供區(qū)域化和個性化服務。本文提出了相應的解決方法。
一、分區(qū)管理
通過前端SI信息中NIT表加入的一個或多個區(qū)域控制私有數(shù)據(jù)描述符來(簡稱區(qū)域描述符)實現(xiàn)區(qū)域識別(本規(guī)范定義區(qū)域信息描述符最多帶5個地區(qū)代碼),機頂盒開機過程中通過下載主頻點中區(qū)域描述符的region_id值,并與智能卡所攜帶的區(qū)域碼(region code,簡稱智能卡區(qū)域碼)信息進行比較,來確定智能卡是否用于規(guī)定的區(qū)域,在區(qū)域描述碼和智能卡區(qū)域碼對應時方可正常解擾播放節(jié)目,否則提示用戶使用區(qū)域錯誤,并掛起系統(tǒng)。
分區(qū)管理支持地級和縣級2級管理模式。
區(qū)域信息描述符包含2字節(jié)的區(qū)位信息,被稱為region_id,按16進制編碼格式發(fā)送。其中高字節(jié)表示地級代碼,低字節(jié)表示縣級代碼。若地級地區(qū)代碼為OxFF,則表示忽略區(qū)域控制功能;若縣級地區(qū)代碼為Ox00,則表示只使用地級地區(qū)代碼進行區(qū)域控制,忽略縣級地區(qū)代碼。
智能卡區(qū)域碼包含9個bit位的區(qū)位信息,其中高4位對應于區(qū)域描述符中包含的地級代碼,如果為h1111,則表示該智能卡可使用于貴州省全網(wǎng);低5位對應于區(qū)域描述符中包含的縣級代碼,如果為h00000,則表示該智能卡可用于該地市下的所有縣級地區(qū)。
二、區(qū)域描述符的定義
復用下載鏈接描述符(Linkage_Descriptor)來定義區(qū)域描述符的定義。在主頻點(355 MHz和411MHz)的NIT表中會加入一個鏈接描述(Linkage_Descriptor),作為區(qū)域控制的私有數(shù)據(jù)區(qū)域描述符,使此區(qū)域描述符的region_id值與智能卡所攜帶的智能卡區(qū)域碼信息相對應。
其中以廠家代號(Manufacturer_code)為102的硬件版本號作為區(qū)域描述符的標識。
這兩個主頻點下包含的區(qū)域描述符相同,其定義如下:
其中:
descriptor_tag:描述子標記符,Ox87。
descriptoLlength:描述子長度。
transport_stream_id:下載數(shù)據(jù)流的transport_stream_id(暫時不用以00代替位數(shù))。
original_network_id:下載數(shù)據(jù)流的original_network_id(暫時不用以00代替位數(shù))。
service_id:下載數(shù)據(jù)流的service_id(暫時不用以00代替位數(shù))。
linkage_type:鏈接類型,用于標識描述子的類型,Oxa0。
manufacturer_code:8位寬度,表示廠家代號,需要設置Ox66,十進制就是102。
region_id: 80位寬度,每16位存放1個region_id的2個字節(jié),共可存放5組region_id。如果實際使用的組少于5組,沒有用到的Region_id每組用OxFEFF填充。
三、智能卡區(qū)域碼的讀取、保存及顯示:
機頂盒軟件獲取智能卡區(qū)域碼的方法如下:
1.調用API函數(shù)CaApi_ReadRegionBytes0,以獲取第0個region block的數(shù)據(jù);
2.檢查該函數(shù)的返回值:
-如果返回的狀態(tài)為CARD_ERROR,則智能卡區(qū)域碼返回值為b 0000 00000
-如果返回的狀態(tài)為OK,則進入第3步
-否則將智能卡區(qū)域碼返回值為b1110 00000
3.在返回的這第0個Regionblock中共有32個字節(jié),編號為31-0。把第29個字節(jié)做為高字節(jié)而把第28個字節(jié)作為低字節(jié),組成一個16-bit的數(shù),取其中的位11~3返回作為智能卡的區(qū)域碼。要求在診斷菜單中能正確地顯示出機頂盒本地保存的智能卡區(qū)域碼,按二進制格式顯示,顯示位置位于智能卡卡號的下一行。
四、區(qū)域控制判斷方法
機頂盒:更改機頂盒處理流程,使機頂盒在開機和插入智能卡時,必須讀取傳輸流中主頻點NIT區(qū)域控制描述符中的5組region_id,并逐組與本地保存的智能卡區(qū)域碼進行比對,如果智能卡區(qū)域碼落在其中某1組region_id所指定的區(qū)域,則機頂盒應繼續(xù)正常流程解出視音頻數(shù)據(jù),否則彈出錯誤提示,并掛起系統(tǒng)。
注:1)如果同時需要從智能卡上讀取區(qū)域碼來更新本地的存儲單元和從NIT表中讀取區(qū)域控制描述符(比如在插入新卡或開機時),在處理完前者后再處理后者。2)如出現(xiàn)主頻點(355MHz和411MHz)節(jié)目信號無法接收時,機頂盒10秒內應跳過區(qū)域控制流程進入正常接收狀態(tài)。
3)所謂“掛起系統(tǒng)”,指的是機頂盒:a)停止解復用操作;b)停止音視頻的解碼,關閉音頻輸出,視頻輸出僅顯示掛起時的OSD錯誤提示。c)除了待機鍵,前面板和遙控器不再響應其他按鍵操作d)停留在主頻點(355MHz)。e)后臺應繼續(xù)監(jiān)控、解析和更新SI/PSI相關信息,包括對NIT表中的區(qū)域描述子、schedule、EMM等信息的解析和處理。f)支持自動恢復功能:一旦發(fā)現(xiàn)區(qū)域控制信息再次匹配,立刻回到掛起前的正常狀態(tài)。
4)掛起時的OSD錯誤提示為:
非本地有效卡,請與客服聯(lián)系,電話:96789
智能卡區(qū)位碼:aaaa bbbbb
其中aaaa bbbbb代表二進制格式的智能卡區(qū)位碼,顯示格式和診斷菜單中相同。
智能卡:在SMS發(fā)送開卡命令時,會將在智能卡上寫入對應于各地區(qū)的智能卡區(qū)域碼。