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