視頻級聯(lián)模式在混合式DVR(HVR)中的應(yīng)用
1路D1的原始視頻數(shù)據(jù)(YUV 4∶2∶2)約為20M byte/秒;1路1920×1080P的數(shù)據(jù)大約相當(dāng)于6個D1。據(jù)此可以讓視頻解碼器將原始視頻縮放到預(yù)期的大小,多路拼裝成一個1920×1080的視頻,然后通過PCI傳輸,即便如此,僅僅預(yù)覽這個環(huán)節(jié)對PCI的帶寬需求是120M Byte/s;在實際的嵌入式應(yīng)用系統(tǒng)中,仍很難保證PCI工作在120M byte負(fù)荷以下的?;诔WR可知,PCI的帶寬壓力越小,系統(tǒng)就越穩(wěn)定。
當(dāng)然,如果不考慮成本和功耗,還有一個解決方案:將視頻解碼器集成在主控芯片中,所有的解碼任務(wù)由主控完成,直接輸出到回放預(yù)覽模塊,原始數(shù)據(jù)不走PCI總線,這樣的代價就是需要主控有非常強大的解碼能力,但是具有16路D1 解碼能力的芯片是很少的。而有廠家給出了另外一種解決方案,能完美地解決上述問題,這就是視頻級聯(lián)顯示技術(shù)。
視頻級聯(lián)模式
某品牌的視頻級聯(lián)模式有4個支持標(biāo)準(zhǔn)的BT.656格式的視頻輸入接口,同時支持byte interleaving和frame interleaving格式的多路D1合成的碼流,即每個接口可以支持1路,2路或4路D1;另外,4個輸入接口兩兩組合,可組成2個標(biāo)準(zhǔn)的BT.1120接口,支持高清數(shù)據(jù)的輸入。
該視頻級聯(lián)模式還有一路高清視頻輸出接口,可支持模擬或者數(shù)字輸出(此處用到的是數(shù)字輸出)。此外,其可以將視頻輸入和視頻輸出接口串聯(lián)起來,組成菊花鏈結(jié)構(gòu),從而實現(xiàn)多片視頻數(shù)據(jù)的實時預(yù)覽和回放,參考圖4。
圖4 視頻級聯(lián)模式的視頻預(yù)覽回放級聯(lián)模式
該視頻級聯(lián)模式是一個多核處理器,包括一個600M Hz的ARM11和一個300MHz ARM9,以及硬件加速的H.264編碼解碼器,可以支持到8個D1的H.264的實時編碼或者解碼。
視頻級聯(lián)模式內(nèi)部的ARM11可以做系統(tǒng)的主控制器,ARM9用來控制H.264的流程和音頻處理,一般不供外部使用。可以用4片3520構(gòu)成一個16 D1模擬接入(16 D1編碼)和16 D1的網(wǎng)絡(luò)接入(16 D1解碼)的HVR系統(tǒng)(圖4):16路模擬通道首先經(jīng)過4片TW2866做模擬/數(shù)字變換,然后用byte interleaving模式合成在2路BT.656鏈路中,傳輸給Hi3520,Hi3520剩下的2個BT.656接口并接成1個16 bit的BT.1120的接口,用來做視頻串聯(lián),將4片Hi3520首尾串接起來,組成視頻預(yù)覽回放的串聯(lián)通路。
先計算一下PCI的負(fù)荷:4片Hi3520共享一個PCI總線,主控H1的PCI設(shè)定為主模式,而其他3片Hi3520的PCI則為從模式,通過PCI總線,主控芯片H1可以對從設(shè)備C1?C3進行軟件加載,可以發(fā)送控制命令和接收音視頻碼流,如果以每個D1, 2M bit的碼流來計算,PCI的負(fù)荷為24M bit(3M byte),如果加上存儲和回放(通過PCI來擴充PCI轉(zhuǎn)SATA橋),共88M bit(11M byte)的負(fù)荷,只有1路D1的原始視頻的1半,這就意味著程序員不必再挖空心思為降低PCI載荷而浪費寶貴的時間。
在DVR和HVR系統(tǒng)中,對錄像和預(yù)覽回放的處理方式是不一樣的,比如全D1的錄像機,它的錄像通道就是D1大小,是不變的;而預(yù)覽和回放不一樣,需要根據(jù)用戶的設(shè)定來改變,比如在一個1920×1080的顯示器上,用戶可以將屏幕劃分成多個子窗口,一般有36、25、16、9、8、4、1等劃分方法,也稱之為layout方式。首先,主控芯片H1根據(jù)客戶規(guī)定的layout方式發(fā)給每片處理器。每片處理器將采集或者解碼得到的視頻數(shù)據(jù)進行縮放,再放到規(guī)定的layout子窗口內(nèi)。然后,將合成的視頻從級聯(lián)輸出口輸出,隨著視頻從C1傳到C2、C3,最后傳到H1。H1貼好自己的layout子窗口后,整個預(yù)覽視頻就完整了,通過MDIN340這顆HDMI驅(qū)動器,將視頻完整地顯示在監(jiān)視器上,如圖5所示。從HVR系統(tǒng)的主要使用方式來分析一下數(shù)據(jù)流向,探究該視頻級聯(lián)模式的視頻預(yù)覽回放級聯(lián)模式的具體運作。
圖5 視頻級聯(lián)模式下的layout填充
錄像
模擬通道:每片處理器從視頻口采集4路D1的模擬視頻,經(jīng)過數(shù)據(jù)轉(zhuǎn)換和視頻編碼后,通過PCI發(fā)送給主控H1,H1將數(shù)據(jù)存入硬盤;數(shù)字通道:通過H1的千兆以太網(wǎng)接口,從前端IPC獲取壓縮碼流,直接存入硬盤。
預(yù)覽
每片處理器首先從級聯(lián)輸入口獲得前級已經(jīng)填充的視頻(C1除外)。模擬通道:從視頻采集口獲得4路D1的模擬視頻后,根據(jù)layout的要求進行縮放, 然后將圖片按照layout的要求進行填充;數(shù)據(jù)通道:主控CPU將數(shù)據(jù)預(yù)覽的任務(wù)根據(jù)各CPU占用情況,將解碼任務(wù)和相應(yīng)的layout分配給較為空閑的處理器。分配完成后,H1將從網(wǎng)口接收到的視頻流源源不斷地轉(zhuǎn)發(fā)給處理器。該處理器對此視頻流進行解碼,縮放,并填充到對應(yīng)的layout子窗口中。模擬和數(shù)字的填充完成后,處理器將視頻從級聯(lián)口發(fā)送給下一級的CPU。直到H1,通過顯示驅(qū)動芯片將視頻轉(zhuǎn)換成標(biāo)準(zhǔn)的HDMI信號,再由監(jiān)視器顯示出來。
錄像回放
錄像回放對于模擬和數(shù)字通道是相同的,主控CPU H1從硬盤讀取視頻流,將layout和碼流分配給各個處理器,各個處理器進行解碼、縮放和貼圖,通過級聯(lián)口將視頻播放出來。
報警處理
本地的報警源由本地的設(shè)備捕獲:例如IO報警、視頻移動報警等,均由本地設(shè)備驅(qū)動程序捕獲;數(shù)字通道的報警則根據(jù)接入?yún)f(xié)議,由前端產(chǎn)生,通過信令傳輸?shù)街骺豀1,有H1解析并聯(lián)動。
云鏡控制
本地通道的云鏡控制,有主控芯片H1執(zhí)行,將控制協(xié)議的命令字從本地的RS485口送出;數(shù)字通道的PTZ則按照接入?yún)f(xié)議的定義,有H1發(fā)出相應(yīng)的命令給IPC設(shè)備。
關(guān)于負(fù)載均衡
由此可見,有關(guān)于解碼任務(wù),可由主控芯片H1根據(jù)系統(tǒng)的負(fù)荷狀況進行動態(tài)的分配,從而能充分發(fā)揮系統(tǒng)中多個芯片的性能,避免多處理器系統(tǒng)出現(xiàn)負(fù)荷不均的現(xiàn)象,其對系統(tǒng)的可靠性具有重大意義。
按照廠商說明書,可以在配置參數(shù)里設(shè)定視頻級聯(lián)模式的最大能力級。能力的種類包括視頻編碼能力、視頻解碼能力、音頻編碼能力、音頻解碼能力、DMA資源、總線帶寬等。通過統(tǒng)計,每顆處理器的實際運行狀況,對照額定值進行評估,就可以從各個方面得到系統(tǒng)各處理器的負(fù)荷狀況,從而做出最合理的調(diào)度。
負(fù)載均衡對于HVR系統(tǒng)來說至關(guān)重要,傳統(tǒng)的HVR系統(tǒng)架構(gòu)(如圖3)雖然也可以將解碼任務(wù)分配給從CPU執(zhí)行,但是因為解碼完成后的視頻數(shù)據(jù)量太大,無法通過PCI實時傳輸給主控去顯示,從而產(chǎn)生傳輸上的瓶頸,影響系統(tǒng)的可靠性。上述的視頻級聯(lián)模式的級聯(lián)架構(gòu),解碼后的數(shù)據(jù)直接送往級聯(lián)口,不經(jīng)過PCI,因而主控芯片H1可以最大限度地去利用每個從設(shè)備的解碼能力。
評論