999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

數字電視應急信息廣播系統發送端設計

2023-09-11 03:21:44潘明照賈大偉
西部廣播電視 2023年13期
關鍵詞:信息

潘明照 賈大偉

(作者單位:平度市融媒體中心)

為了實現在突發公共事件中盡快發布群眾所需信息,提升政府在處理突發性危機事件中的指揮調度能力,中國共產黨的十七屆六中全會就提出建立統一聯動、安全可靠的國家應急廣播體系,并致力于推動該體系的建設。隨著數字電視技術、計算機技術在廣播電視行業的普及和推廣,利用數字電視廣播業務發布應急信息成為應急廣播體系建設的重要內容之一,引起相關領域專家與學者的廣泛研究[1-2],如使用數字廣播應急預警系統(DVB-EWS)等。進入數字時代,通過數字電視開展增值業務成為可能。

由于數字壓縮技術的使用,數字電視可以在一個原模擬電視頻道中播出6~8套高質量的標清電視節目(或者2套左右的高清電視節目),隨著傳輸節目套數的增加,用戶如何在眾多電視節目中快速找到想要觀看的電視節目就成為一個問題。為幫助用戶了解相關的節目信息,DVB-C(有線數字視頻廣播)制定了相關的電子節目指南(Electrical Program Guide, EPG),即一種電視節目信息導航系統,我國也制定了相應的EPG標準[3]。通過EPG,用戶可以了解待播或正在播出節目的相關信息,包括節目名稱、時間、內容介紹等。EPG的播發需要在節目播出前端將符合數字視頻廣播(Digital Video Broadcasting, DVB)標準的業務信息(Service Information, SI)插入傳送流(Transport Stream, TS)中。SI不僅攜帶了EPG所需的全部數據,還規定了一些可以由用戶定義的結構。通過這些結構,就可以開發一些基于SI的增值業務。本文設計的應急信息廣播系統就是一個基于SI的自定義結構開發的業務信息系統。

數字電視應急信息廣播系統包括信息編輯、信息發送和信息接收三個部分。信息編輯指信息編輯工作站對各類應急信息進行編輯制作,并將編輯制作好的信息保存到數據庫服務器中。信息發送是指信息播發服務器將編輯好的各種(應急)信息從數據庫服務器中取出,并按照SI的自定義結構的要求進行打包,插入數字電視的播出碼流中,經復用調制后送到數字發射機播出或者送入有線電視系統進行播出。信息接收是指數字電視機頂盒從解碼后的TS流中取出相應的(應急)信息,在用戶的電視機上進行顯示、提醒。本文內容主要針對數字電視應急信息廣播系統的信息發送端展開。

1 系統發送端的基本原理

發送端的任務是把需要播發的各種信息按順序以一定的碼率進行打包,然后發送出去。信息播發服務器能夠定時查看數據庫服務器要發送的信息,并將這些信息打包,借助碼流播發卡輸出,經異步串行接口(Asynchronous Serial Interface, ASI)智能切換器(冗余設計,防止某臺信息播發服務器出現故障)后選擇最優一路進入碼流分配器,將打包的碼流分配,然后送到要插入信息的復用器。各復用器從打包的碼流中取出本復用器要插入的信息,與視音頻節目等其他業務信息進行復用,形成復用的碼流,進入加擾調制等后續處理部分。其基本原理如圖1所示。

圖1 數字電視應急信息廣播系統發送端基本原理

進行發送端設計時,首先要確定需要發送的信息內容,明確這些信息在終端如何顯示,并規劃好這些信息是在全頻點發送還是只在某些頻點發送。確定了要發送的信息和所在的頻點后,還需確定要發送的各類信息的碼率。(有線)數字電視一般采用正交振幅調制(Quadrature Amplitude Modulation, QAM),分為16QAM、64QAM、256QAM等多種調制方式,數字越大,頻帶利用率越高,但抗干擾能力也隨之降低。不同的QAM調制方式能夠傳輸的碼率是不同的,如64QAM的有效數據傳輸速率大約是38 Mb/s。除去音視頻節目和其他業務占用的碼率,剩余的才是可用于應急信息發布的碼率。如果超過這個碼率,就會出現丟包現象,造成音視頻節目的卡頓。為不影響節目的正常播出,碼率應小于該值,并留有一定余量。

確定好各類信息的碼率,就可以進行打包播發了。打好包的數據的發送比較簡單,使用無窮循環就可以實現連續不斷地發送數據。但是,各類信息的播出碼率是不同的,在打包各類信息時的數據量也是不一樣的,因而打包過程比較復雜。

2 應急信息及其處理

2.1 應急信息的播發途徑

應急信息既可以是文字形式也可以是圖片形式,甚至可以是音頻形式或視音頻形式。本文設計的應急信息廣播系統可以在數字電視顯示終端上通過各種方式顯示各種等級的應急信息。當應急信息等級較高時,可在顯示畫面的同時播出聲音信號,甚至可以強制切換到應急頻道進行信息播發。應急信息的播發途徑分為以下幾種:

(1)開機畫面。這是機頂盒加電后顯示的第一幅畫面。在機頂盒加電啟動過程中需要一定的時間,可以利用這段時間的開機畫面進行應急信息的播發。

(2)EPG搭載。在顯示主菜單、頻道列表、頻道導航條時,利用空余版面加載或疊加顯示要播發的應急信息。此外,節目切換時一般會顯示換臺后節目的正播和待播信息,也可以同時加載要播發的應急信息。

(3)音量調整。利用調整音量時電視機上的音量顯示的空余版面顯示應急信息。

(4)游動字幕。這是應急信息播發最靈活、最有效的一種途徑。比如在播發各類預警信息時,如果在每個頻點都插入應急信息,則可以做到顯示全覆蓋,即所有收看電視節目的用戶不論在收看什么節目都可以接收得到應急信息。

(5)基于特殊業務信息加載應急信息。比如利用天氣預報顯示界面加載應急信息,用戶可通過遙控器按鍵,在查詢天氣預報的同時獲取應急信息內容。

(6)其他途徑。比如掛角信息發布,在數字電視終端畫面的某角顯示應急信息。

為了簡單實用,將其做如下簡化:

播發游動字幕時停止其他信息的播發。即游動字幕的播發具有較高的優先級,可用于重大應急信息的即時播發。此外,高級別的緊急信息可以強制在數字電視的所有節目中顯示播出。而其他信息的更新播發只在每天的一個固定時間,比如每天晚上8點重新讀取數據庫服務器的記錄,將查詢更新后的記錄重新打包播發。

由于這樣的簡化,系統需應對正在播發的信息中存在錯誤需要立即更新的情況。針對這種情況,編輯制作端將更正后的信息編輯好并存入數據庫服務器后通知發送端,發送端接收到此信息后重新讀取數據庫服務器的記錄,并重新打包播發。

2.2 應急信息的打包描述

信息的打包發布需要按照DVB-C的SI信息的標準,并最終打包成188字節的TS包。其中包含的信息圖片、文字及與本信息相關的其他結構是其凈負載。

在DVB-C中,所有的SI/節目特定信息(Program Specific Information, PSI)都以表的形式進行傳輸,表中包含了整個節目信息和業務信息,這些表在傳輸時,被封裝在大小固定的被稱為段(section)的數據塊中。本系統的發送端采用私有段結構(見圖2),即ISO/IEC 13818-1:2019規定的私有段結構中將section syntax indicator置為1時的結構[4],它包括段頭(從table id到last section number)、私有數據(N privata data)和一個32位的循環冗余校驗碼(CRC32)。

圖2 私有段結構示意圖

除了封裝要發布信息的私有段外,還有一種私有段表,稱為描述符私有段表。本系統設計了缺省信息版本號描述符、天氣預報描述符、取消描述符、游動字幕屬性描述符等各種描述符。

每一個具體的信息基本上是以圖片的形式進行發布的。在封裝這種私有段時,需在段頭后加入一個描述該圖片的相關描述符,如圖片類型描述符(這個描述符是必有的)、鏈接描述符(這個描述符是可選的)等。圖片類型描述符能夠描述該圖片屬于哪個類型的信息、圖片本身的文件類型(如png、jpg、gif等)信息,以便接收端解碼。在這些描述符之后是該圖片的具體數據。

也就是說,系統發送端會將每一個信息封裝成一個段或多個段。對每一個段都要計算其循環冗余校驗碼CRC32。

將各信息封裝到段后,就可以進入TS打包環節。TS包的大小固定為188字節,TS層分為三個部分:TSHeader(TS包頭)、Adaptation Field(調整字段)、Payload(負載)。其中,包頭結構中的有效凈荷單元開始指示為payload_unit_start_indicator,標志此TS包中帶有SI數據分段的第一個字節,即這個包是一個段的起始包。

在循環播出時,雖然根據業務信息封裝生成的段是不變的,但是在每次定時處理時根據段生成的TS包卻是不同的,這是因為TS包中有連續計數(continuity_conunter)字段。為保證連續計數器的連續,需要在每次播發時將生成的TS包的continuity_conunter字段重新修改,以保證continuity_conunter字段的連續。

也就是說,打包有兩個層次:第一個層次是先把凈負載封裝成多個段,第二個層次是將生成的段打包成一個個的TS包。

將所有的業務信息都打包成連續的TS包后,還需要生成一個具有一定時間間隔(如0.5 s)的總的數據包,按照各業務信息設定的發送速率,計算在這個時間間隔內各業務信息需要發送的TS包的數目,并按一定順序將其插入緩沖區(TS Buffer)中,利用定時函數將此緩沖區的內容通過播發卡發送出去。

2.3 應急信息數據和輔助信息的讀取加密及打包成段

制作完成的應急信息或者從上級部門傳送過來的應急信息通過制作端上傳到服務器的數據庫中,發送端定時讀取要播出的應急信息。

應急廣播信息事關人民生命財產的安全,因此必須采取措施保證信息內容的真實性、完整性、權威性[5]。為保證應急信息的安全,需要對業務(應急)信息進行加密、數字簽名等處理,實現應急廣播消息和指令的安全。假定這些處理已經在編輯制作端完成,發送端負責這些已經完成處理的信息的發送。本系統應急信息的存取采用ADO編程方式。通過數據庫,選出要播發的數據記錄,對每一條這樣的記錄,通過其組ID找出其組ID此時對應的版本號gidvernum,并更新其下一個數據記錄對應的版本號。再根據這條記錄的包ID找到對應的連續記數(continuity_conunter)信息。有了這些信息就可以生成一個針對此記錄的InfoGroupDataRecord對象。根據InfoGroupDataRecord中的一個類InfoContentSectionTable的指針對象pinfopicture,在類InfoContentSectionTable中封裝各種與段生成相關的函數和信息,在makeupsections函數中將本數據記錄的應急信息封裝成段。

需注意正確設置最后一個段的大小。在生成段時,要設置段頭信息。如果段表有描述符,則要首先封裝描述符,描述符之后才是含有加密后的業務圖片的信息結構數據。在每個段的最后計算其CRC32。生成段表之后就可以進行TS包的打包了。

2.4 打包信息的發送

以一定速率重復發送這些信息的基本方法是利用定時器。只需要注意發送的速率不要太高使得復用器的碼率超載,定時器的精度倒不是特別重要。當然作為系統來說,應盡可能地讓碼率精確一些。對本文設計的系統來說,可以考慮使用多媒體定時器。即用timeSetEvent函數,該函數可以達到1 ms的分辨率。

本系統假定游動字幕形式的應急信息在一個固定的時間點(如每晚8∶00)進行播發(不太緊急的應急信息的播出,如天氣災害預報等),需在定時器的回調函數中設置一個變量m_loop,在每次調用時其值增加1,以此模擬回調函數調用的次數。通過監視這個變量,看是否到達預定的時間,到時間后即啟動游動信息的播發。如果沒有到達預定的時間,則回調函數更新將要播發的數據的continuity_conunter字段,并將此數據發至播發卡播出。

用比較m_loop的次數來判斷是否到達定時時間,是因為定時間隔是一個常數(如0.5 s一次)。通過當前時間與下次定時時間的差就可以知道要循環多少次能夠到達下次定時時間,該方式可能不太精確,但對于本文設計的系統來說是足夠的,因為不太緊急的應急信息并不一定需要太精確的定時播出。

游動字幕的播出與其他應急信息的播出不同,它不需要一直循環播出,其在顯示端的游動一般只需要兩次即可。也就是說,發送端的一條游動字幕信息只需播發2~3次即可(多播發幾次可以保證接收端軟件能夠完整收到此信息)。在所有游動字幕信息播發完成后就可以重新讀取其他應急信息進行播發了。

2.5 緊急信息的播發

除上述應急信息的播發外,對某些緊急消息必須實現即時播發。這意味著對緊急信息需要立即響應。為此,在發送端和編輯制作端需使用網絡編程。在編輯制作端將需要即時播發的信息編輯好后通知發送端,發送端接收到有緊急信息需要播出的消息后,停止當前信息的播發,轉為播發此緊急信息。緊急信息既可以設定播出次數或到期時間,也可以設置為無窮(即一直播出)。若為一直播出,則需要通過制作端發送停止緊急信息播發的消息以停止此緊急信息的播發。

3 調試

調試是編程開發重要的一個方面,通過調試找出并改正編程錯誤是開發人員的一項基本技能。本系統需要通過網絡傳輸,因此要注意字節序問題。字節序錯誤,就會產生錯誤的結果。所以,如果接收到的數據有問題,就要查看字節序是否存在問題。另外,系統對每一個段都要計算循環冗余校驗碼CRC32,在計算CRC32時需注意段長的計算問題。

除開發環境提供的調試手段外,程序開發人員還可以將打包數據寫入文件進行分析,看數據是否正確及哪里出了問題。同時,還可以寫出相應的解析程序,對打包的數據進行分析。解析程序既可以用于打包數據的測試,也可以直接用于接收端軟件,或者使用接收端的解析軟件對打包的數據進行解析,兩者可互相驗證。

然而,打包數據正確、接收解析正確也并不意味著所有都正常。在測試調試過程中發現,如果每個PID(Packet ID,包ID)只在有應急信息圖片數據的時候才發送數據,反之不發送數據,則如果某個PID不存在應急信息數據,在剛沒有數據時,接收到的碼流中其他PID的碼流也會出現錯誤,TS計數不連續,即會出現丟TS包的情況,一般每個PID會丟一個包。出現這種現象的原因沒有得到解釋,但估計很大程度上與復用器有關。所以讓每個PID在沒有數據時發送缺省的應急信息數據,以免引起丟包。以上是在播出碼流中隨時添加、刪除應急信息時可能發生的情況,如果規定播發時不在播出的碼流中添加、刪除應急信息則不會存在上述問題。

4 結語

發送端軟件是一個打包程序,它將打包的數據通過播發卡發送出去。這是一個循環播發的系統,應急信息播發完一遍后從頭繼續重新播發。發送端對定時精度要求并不嚴格,只需注意發送的速率不要超過其上限即可。如果某個頻點的總碼率超過了上限,則有可能引起該頻點的節目出現馬賽克的現象。一般說來,開機畫面、節目指南附加信息等在主頻點播發時使用的碼率較大,所以電視系統在主頻點的節目安排應該使其碼流有較大的余量。

猜你喜歡
信息
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
信息超市
大眾創業(2009年10期)2009-10-08 04:52:00
展會信息
展會信息
展會信息
展會信息
展會信息
信息
建筑創作(2001年3期)2001-08-22 18:48:14
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 日日噜噜夜夜狠狠视频| 国产又色又爽又黄| av大片在线无码免费| 毛片基地视频| 精品国产免费观看| 老司机精品一区在线视频| 国产成人AV综合久久| 日韩在线播放中文字幕| 日韩黄色精品| 国产91无码福利在线| av一区二区三区在线观看| 欧美日韩国产精品综合| 9丨情侣偷在线精品国产| 国国产a国产片免费麻豆| 亚洲无码91视频| 国产肉感大码AV无码| 国产情侣一区二区三区| 国产凹凸视频在线观看| 黄色网站不卡无码| 亚洲欧洲日产无码AV| 日韩AV手机在线观看蜜芽| 国内精品视频在线| 综合亚洲色图| 欧美激情二区三区| 国内精品小视频在线| 久久伊人操| 亚洲色图另类| 亚洲国产成人精品无码区性色| 一级爱做片免费观看久久| 一本一道波多野结衣av黑人在线| 久久9966精品国产免费| 精品国产网| 91久久精品日日躁夜夜躁欧美| 97免费在线观看视频| 色成人亚洲| 国产成人精品一区二区| 亚洲第一成网站| 91精品国产无线乱码在线| 色丁丁毛片在线观看| 99热6这里只有精品| 好紧太爽了视频免费无码| 亚洲制服丝袜第一页| igao国产精品| 国产成人h在线观看网站站| 国产91精品久久| 99精品国产自在现线观看| 国产亚洲精| 欧美另类图片视频无弹跳第一页| 欧日韩在线不卡视频| 99国产精品一区二区| 亚洲女同一区二区| 国产91久久久久久| 亚洲国产精品一区二区第一页免 | 国产成人亚洲精品蜜芽影院| 国产国语一级毛片| 国产sm重味一区二区三区| 国产在线欧美| 国产精品美人久久久久久AV| 亚洲性视频网站| 九九久久99精品| 四虎影视8848永久精品| 综合天天色| 亚洲成av人无码综合在线观看| 在线播放国产99re| 日韩欧美91| 一级看片免费视频| 国产乱肥老妇精品视频| 日本www色视频| 中文字幕中文字字幕码一二区| vvvv98国产成人综合青青| 免费人成在线观看成人片| 亚洲第一色网站| 国产成人a毛片在线| 2022国产91精品久久久久久| 亚洲欧美成aⅴ人在线观看| 亚洲第一国产综合| 中文字幕天无码久久精品视频免费| 国产特一级毛片| 亚洲二区视频| 亚洲无码精品在线播放| 国产成人精品一区二区不卡| 在线国产欧美|