高紅民
系統(tǒng)介紹
目前大多數(shù)廣播電視中轉(zhuǎn)臺(tái)站,有線中繼站,衛(wèi)星地球站都肩負(fù)著廣播電視節(jié)目傳輸監(jiān)測(cè)任務(wù),需要同時(shí)監(jiān)測(cè)多路伴音。但是在值班時(shí)只能監(jiān)聽(tīng)一路伴音,而且這些臺(tái)站絕大多數(shù)沒(méi)有配備監(jiān)播系統(tǒng),只是通過(guò)一部電視屏幕來(lái)顯示多路伴音條碼圖像,要想在某路音頻丟失時(shí)立即查覺(jué),是非常不容易的。為了能及時(shí)直觀地多方面判斷出多路音頻是否正常,需要對(duì)多路音頻進(jìn)行監(jiān)測(cè)報(bào)警。
我們傳輸中心各臺(tái)站也存在這樣的問(wèn)題,值班員在值班中只能對(duì)電視伴音做重點(diǎn)監(jiān)看監(jiān)聽(tīng),而對(duì)其他廣播頻道的伴音較少測(cè)聽(tīng),有故障時(shí)不易發(fā)現(xiàn)問(wèn)題。根據(jù)站里提出對(duì)廣播進(jìn)行自動(dòng)監(jiān)測(cè)報(bào)警要求,為此開(kāi)發(fā)出的“伴音監(jiān)測(cè)報(bào)警”軟件,為值班人員增加了一道監(jiān)測(cè)工具,但由于該軟件只能接入單路音頻信號(hào),不能全面掌握上下行伴音情況,為此筆者在站領(lǐng)導(dǎo)指導(dǎo)下進(jìn)一步攻關(guān)突破,把多路伴音按入電腦采集卡,利用多媒體計(jì)算機(jī)實(shí)現(xiàn)了多路音頻報(bào)警功能,更加全面保障了我站廣電節(jié)目的安全播出。
系統(tǒng)框圖與設(shè)計(jì)思路:
總體思路:絕大多數(shù)臺(tái)站都有伴音條碼監(jiān)視,只是通過(guò)一部電視屏幕來(lái)顯示多路伴音條碼圖像,我們只要將伴音條碼監(jiān)視的視頻分支信號(hào)接入電腦的視頻采集卡,就會(huì)在電腦上顯示出多路音頻條碼的圖像,這時(shí)我們?cè)谝纛l條碼報(bào)警門限上進(jìn)行視頻判斷是否達(dá)到報(bào)警要求就可以了,設(shè)計(jì)如下圖所示,這樣就可以利用電腦在僅需添加一塊視頻采集卡的基礎(chǔ)上實(shí)現(xiàn)多路的音頻信號(hào)監(jiān)視與報(bào)警功能。
1.利用DirectShow實(shí)現(xiàn)視頻采集功能
DirectShow是微軟公司提供的一套在Windows平臺(tái)上進(jìn)行流媒體處理的開(kāi)發(fā)包,與DirectX開(kāi)發(fā)包一起發(fā)布DirectShow提供的是一種開(kāi)放式的開(kāi)發(fā)環(huán)境,DirectShow為多媒體的捕捉和回放提供了強(qiáng)有力的支持。運(yùn)用DirectShow我們可以很方便地從支持WDM驅(qū)動(dòng)模型的采集卡上捕獲數(shù)據(jù),并且進(jìn)行相應(yīng)的后期處理乃至存儲(chǔ)到文件中,使得多媒體數(shù)據(jù)的回放變得輕而易舉。另外,DirectShow還集成了DirectX其它部分(比如DirectDraw、DirectSound)的技術(shù),直接支持不同媒介中的數(shù)據(jù)交換。由此我們僅需安裝完視頻采集卡后,在接口程序口選定所要顯示的視集卡名稱,就可以根據(jù)自己的需要定制自己的組件。
利用Filter Graph實(shí)現(xiàn)捕獲視頻功能:DirectShow使用一種叫做Filter Graph的模型來(lái)管理整個(gè)數(shù)據(jù)流的處理過(guò)程,參與數(shù)據(jù)流處理的各個(gè)功能模塊稱做Filter,各個(gè)Filter在Filter Graph中按一定的順序連成一條流水線協(xié)調(diào)工作,完成一些相對(duì)獨(dú)立的功能,如讀文件、 從視頻設(shè)備中獲取視頻、 對(duì)視頻流進(jìn)行解碼、將數(shù)據(jù)送往聲卡或顯卡。每個(gè)Filter都有輸入端和輸出端,例如一個(gè)MPEG-1解碼Filter,它的輸入是MPEG編碼的流數(shù)據(jù),它的輸出端是一解碼過(guò)的流數(shù)據(jù)。DirectShow正是通過(guò)將不同的Filter連接在一起完成特定的功能的,我們將這些Filter的連接叫做Filter Graph,媒體文件Filter從硬盤(pán)讀取采集卡數(shù)據(jù),采集卡數(shù)據(jù)分離Filter將文件分離為音頻流和視頻流, Filter對(duì)視頻流進(jìn)行解碼并送往Video表現(xiàn)Filter,由后者將各幀在顯示器上顯示,默認(rèn)的DirectSound設(shè)備用DirectSound將音頻流輸出。由此我們就捕獲到所需的視頻圖像,并可通過(guò)電腦顯示出采集卡的視頻信號(hào)。
2.利用Tcanvas繪制報(bào)警門限標(biāo)志
要想判斷音頻門限是否達(dá)到報(bào)警門限位置,就要在規(guī)定好的音頻條碼出現(xiàn)位置上判別繪制報(bào)警門限標(biāo)志的圖形與預(yù)存的臺(tái)標(biāo)形狀是否相似。本程序利用Tcanvas來(lái)預(yù)存圖像,作為音頻門限位置參考值。在多媒體程序開(kāi)發(fā)中,專門定義了一組對(duì)象和部件用以繪制圖形,完成一些簡(jiǎn)單的圖像功能。畫(huà)布(Tcanvas)對(duì)象封裝了Windows的大部分圖形輸出功能,這使得我們可以通過(guò)它以更直觀的方式和Windows的屏幕打交道,而不必關(guān)心令人頭疼的WindowsAPI函數(shù)。利用這些對(duì)象、部件的方法,可以方便地繪制各種常用圖形;通過(guò)設(shè)置它們的屬性,能得到不同風(fēng)格的圖形。另外,通過(guò)對(duì)鼠標(biāo)事件的定義,可以方便的設(shè)計(jì)圖形繪制程序。
TCanvas對(duì)象是一個(gè)用于繪圖的表面,在這個(gè)區(qū)域上,程序可實(shí)現(xiàn)各種繪圖功能,很多部件(如TIMage,TMemo)的Canvas屬性就是TCanvas對(duì)象。在部件上繪制圖形就是在部件的畫(huà)布上繪制。
TColor類型用于定義一個(gè)對(duì)象的顏色。很多部件的顏色屬性就是TColor 類型,在Graphics單元中TColor定義如下:TColor = -(COLOR_ENDCOLORS+ 1)..$02FFFFF;這是一個(gè)32位二進(jìn)制數(shù)據(jù)。Graphic單元中還定義了一些常用的顏色常量,這些常量或直接映射成系統(tǒng)調(diào)色板中最相近的顏色,或映射成Wondows 控制面板中顏色部分的系統(tǒng)視頻顏色。
直接映射成系統(tǒng)調(diào)色板中的顏色有:
ClAqua,CLBlack,ClBlue,ClbkGrray,ClFuchsoa......ClYellow
映射程序用4字節(jié)的二進(jìn)制碼來(lái)定義顏色,低3位字節(jié)代表RGB 相應(yīng)的顏色,如$00FF0000表示純藍(lán),$0000FF00表示純綠,$000000FF表示純紅,$00000000表示黑色,$00FFFFFF表示白色。如果最高位字節(jié)是$00,則表示用系統(tǒng)調(diào)色板中最相近的顏色;最高位字節(jié)是$01,則表示用當(dāng)前調(diào)色板中最相近的顏色匹配;最高位字節(jié)是$02,則用當(dāng)前設(shè)備描述表中邏輯調(diào)色板的次相近顏色匹配。
用Windows API的SelectPalette函數(shù)可創(chuàng)建邏輯調(diào)色板,要實(shí)現(xiàn)邏輯調(diào)色板到硬件調(diào)色板的映射,需用函數(shù)RealizePalett。CopyRect CopyRect(Dest : TRect;Canvas : TCanvas; Source TRect);
此方法從另一個(gè)畫(huà)布對(duì)象上復(fù)制部分圖像到該畫(huà)布。Canvas表示源畫(huà)布,Source是源畫(huà)布上要復(fù)制的圖像區(qū)域。Dest表示目標(biāo)畫(huà)布上將接受復(fù)制圖像的區(qū)域。由此我們選擇好所要圖像的左上點(diǎn)與右下點(diǎn),就可以截取臺(tái)標(biāo)的圖像。
3.利用RGB判定來(lái)識(shí)別圖像
我們是把音頻信號(hào)轉(zhuǎn)換成視頻,通過(guò)電腦程序判斷音頻門限是否達(dá)到報(bào)警要求,利用判別所設(shè)報(bào)警門限標(biāo)志處有音量與沒(méi)有音量時(shí)的RGB值的差別進(jìn)行計(jì)算識(shí)別的,在采集每一位圖數(shù)據(jù)中,分析所需像素的RGB數(shù)據(jù),通過(guò)矩陣數(shù)組的運(yùn)算,可以比較圖像是否有變化。同時(shí)考慮到量化誤差,AD轉(zhuǎn)換時(shí)RGB信號(hào)產(chǎn)生失真等因素,以上判斷閥值與理論值有一定的偏差,因此要根據(jù)使用設(shè)定的經(jīng)驗(yàn)值,并增加動(dòng)態(tài)設(shè)置閥值范圍來(lái)達(dá)到準(zhǔn)確監(jiān)測(cè)的目的。為提高系統(tǒng)報(bào)警的準(zhǔn)確率,減少誤報(bào)率,我們對(duì)播出中常出現(xiàn)的信號(hào)故障的現(xiàn)象進(jìn)行分析和總結(jié),設(shè)置了不同的條件和時(shí)間參數(shù),當(dāng)檢測(cè)出信號(hào)異常并在預(yù)先設(shè)定的時(shí)間內(nèi)連續(xù)出現(xiàn)時(shí),系統(tǒng)就發(fā)出提示報(bào)警。當(dāng)檢測(cè)到的信號(hào)符合預(yù)先設(shè)置的條件和時(shí)間時(shí),系統(tǒng)將觸發(fā)提示和報(bào)警模塊,發(fā)出報(bào)警信號(hào),及時(shí)提醒值班人員判斷和處理故障。
4.利用Playsound與播放報(bào)警聲音
電腦聲音報(bào)警是采用Window API 函數(shù)Playsound來(lái)播放Wav格式的文件,可以是單音、和弦、音樂(lè)或真人發(fā)聲音的錄音,使用者可自己編輯Wav文件來(lái)制作報(bào)警聲音,有利于監(jiān)控人員使用。
5.利用Access數(shù)據(jù)庫(kù)存取報(bào)警時(shí)間記錄
Access數(shù)據(jù)庫(kù)是MS Office 程序的一個(gè)主要應(yīng)用程序,由于與Windows同是微軟的產(chǎn)品,所以在Windows中可以免安裝數(shù)據(jù)引擎,是個(gè)綠色的數(shù)據(jù)庫(kù)。目前大多計(jì)算機(jī)都預(yù)裝了該軟件。本系統(tǒng)把報(bào)警開(kāi)始和結(jié)束時(shí)間自動(dòng)記錄在Access數(shù)據(jù)庫(kù)中,當(dāng)系統(tǒng)檢測(cè)到故障信號(hào)時(shí),計(jì)數(shù)器開(kāi)始計(jì)數(shù),當(dāng)計(jì)數(shù)達(dá)到設(shè)定值且信號(hào)恢復(fù)正常時(shí),系統(tǒng)會(huì)自動(dòng)檢測(cè)到并觸發(fā)記錄模塊,將信號(hào)故障類型、時(shí)間和長(zhǎng)度記錄到數(shù)據(jù)庫(kù)文件中保存。操作者可以通過(guò)數(shù)據(jù)庫(kù)對(duì)故障記錄進(jìn)行編輯,并可拷貝到Word、Excel中來(lái)生成報(bào)表。
6.廣播節(jié)目整點(diǎn)定時(shí)錄音
由于廣播新聞綜合等頻道只有在整點(diǎn)時(shí)才有呼號(hào),為了保證上行節(jié)目正確播出,值班員需要花較大精力來(lái)監(jiān)聽(tīng)呼號(hào),為此在廣播進(jìn)行自動(dòng)監(jiān)測(cè)報(bào)警基礎(chǔ)上添加廣播節(jié)目整點(diǎn)錄音回放功能,可以在整點(diǎn)前一分鐘時(shí)進(jìn)行廣播節(jié)目錄制長(zhǎng)度為兩分鐘的錄音,并可隨時(shí)回放,由此作為識(shí)別廣播綜合頻道的標(biāo)識(shí),確保節(jié)目源的安全。
創(chuàng)新點(diǎn)
本系統(tǒng)是國(guó)內(nèi)首創(chuàng)的臺(tái)標(biāo)異常與上下行伴音綜合報(bào)警系統(tǒng),其原理是基于對(duì)接收的模擬圖像臺(tái)標(biāo)區(qū)域進(jìn)行數(shù)字化圖像比對(duì)分析,利用計(jì)算機(jī)預(yù)存的數(shù)字化臺(tái)標(biāo)區(qū)域圖像與接收后的該區(qū)域視頻信號(hào)進(jìn)行前后有效數(shù)據(jù)的比對(duì),并對(duì)捕獲圖像的進(jìn)行分析,即可獲得傳輸信號(hào)是否正常的判斷數(shù)據(jù)。系統(tǒng)能及時(shí)反映電視信號(hào)出錯(cuò)或受干擾情況,及時(shí)幫助值班人員判斷故障處理事故。
主要?jiǎng)?chuàng)新點(diǎn):
1.以較少的投入,實(shí)現(xiàn)視音頻信號(hào)比對(duì)、監(jiān)測(cè)功能,實(shí)現(xiàn)自動(dòng)報(bào)警。經(jīng)過(guò)福建衛(wèi)星上行站兩年多的使用,我們發(fā)現(xiàn),本系統(tǒng)除了能隨時(shí)對(duì)非法攻擊引致的臺(tái)標(biāo)異常等情況進(jìn)行報(bào)警外,還能及時(shí)發(fā)現(xiàn)本站的其他報(bào)警裝置不能發(fā)現(xiàn)的異常情況如播出信號(hào)源無(wú)臺(tái)標(biāo)、信號(hào)源抖動(dòng)、扭曲等,便于及時(shí)反饋到電視播控部門;在節(jié)目源質(zhì)量差時(shí)及時(shí)報(bào)警也是本系統(tǒng)的特色。
2.?dāng)?shù)據(jù)記錄功能,記錄報(bào)警時(shí)間有利于在出現(xiàn)故障、干擾等問(wèn)題時(shí)做出分析。
3.本軟件為綠色軟件,在window系統(tǒng)下可免安裝。
經(jīng)濟(jì)社會(huì)效益
可在各衛(wèi)星上行站、衛(wèi)星接收站、無(wú)線發(fā)射臺(tái)、有線臺(tái)、電視播出機(jī)房使用。
提示與報(bào)警:為提高系統(tǒng)報(bào)警的準(zhǔn)確率,減少誤報(bào)率,基于視頻采集和判斷,我們對(duì)播出中常出現(xiàn)的信號(hào)故障的現(xiàn)象進(jìn)行分析和總結(jié),設(shè)置不同的條件和時(shí)間參數(shù),當(dāng)檢測(cè)出伴音信號(hào)丟失并在預(yù)先設(shè)定的時(shí)間內(nèi)連續(xù)出現(xiàn),我們就發(fā)出提示報(bào)警。當(dāng)檢測(cè)到的信號(hào)符合預(yù)先設(shè)置的條件和時(shí)間時(shí),系統(tǒng)將觸發(fā)提示和報(bào)警模塊,發(fā)出報(bào)警信號(hào),及時(shí)提醒值班人員判斷和處理故障。
事件記錄,為方便事后查詢,本系統(tǒng)還提供了記錄功能。當(dāng)系統(tǒng)檢測(cè)到故障信號(hào),計(jì)數(shù)器開(kāi)始計(jì)數(shù),當(dāng)計(jì)數(shù)達(dá)到設(shè)定值且信號(hào)恢復(fù)正常時(shí),系統(tǒng)會(huì)自動(dòng)檢測(cè)到并觸發(fā)記錄模塊,將信號(hào)故障類型、時(shí)間和長(zhǎng)度記錄到數(shù)據(jù)庫(kù)文件中保存。
系統(tǒng)的界面介紹
本系統(tǒng)是由目前最流行多媒體開(kāi)發(fā)工具之一Delphi編寫(xiě)的??梢赃\(yùn)行在Windows9X,2000, XP下。硬件配置要求:CPU:PIII800M以上 / 硬盤(pán):4G以上 / 內(nèi)存:256M以上,其主要界面如下圖:
1.為視頻信號(hào)顯示窗口,多路伴音采樣平臺(tái)。
2.監(jiān)測(cè)、測(cè)試、參數(shù)設(shè)置頁(yè)面,是本系統(tǒng)主要操作平臺(tái)
3.多路伴音顯示窗口,音頻監(jiān)測(cè)平臺(tái)。
4.各小圓點(diǎn)可拖動(dòng)是音頻監(jiān)測(cè)點(diǎn),可以隨便拖放至某一路伴音信號(hào)上進(jìn)行監(jiān)測(cè)。
5.錄間回放按鈕與窗口。
總結(jié)
本系統(tǒng)在傳輸中心成功使用了兩年多,可以準(zhǔn)確地在伴音丟失時(shí)及時(shí)報(bào)警。對(duì)傳輸臺(tái)站來(lái)說(shuō),僅需較少的硬件設(shè)備投入,可較理想地完成多路伴音自動(dòng)監(jiān)測(cè)任務(wù)。為傳輸中心安全播送節(jié)目提供了更多保障。