主頁(http://www.130131.com):視頻級聯(lián)模式在混合式DVR(HVR)中的應(yīng)用(2) 圖1)。
圖1 通用HVR的系統(tǒng)結(jié)構(gòu)
圖2 HVR的模擬和數(shù)字的預覽及錄像通道 從圖2可以看出,HVR確實是DVR和NVR的綜合體,圖1左邊的模擬通道是DVR的主通道,而右邊的數(shù)字通道則是NVR的主通道。 HVR架構(gòu)上的難題 對比NVR,HVR增加了模擬視頻接入和編碼的功能;而相對DVR,HVR強化了音視頻解碼和數(shù)字接入部分功能,功能的豐富帶來的是系統(tǒng)復雜性的增加。如果要構(gòu)建一個模擬16路D1+數(shù)字16路D1的HVR,現(xiàn)有的單片芯片基本上都沒有如此強大的編解碼能力,那就要以處理芯片的級聯(lián)來實現(xiàn)。傳統(tǒng)的芯片級聯(lián)的方式通常通過PCI或者PCIE接口來實現(xiàn),而大多媒體處理芯片將編碼和解碼的功能做在一起,如下圖3。而HVR遇到的困惑就是:視頻預覽模塊掛在主控模塊上,所有解碼后的原始數(shù)據(jù)都從PCI給主控,再由主控輸出到監(jiān)視器,這樣給主控模塊造成了很大的壓力。
圖3 多處理器級聯(lián)模式下HVR系統(tǒng)結(jié)構(gòu) 1路D1的原始視頻數(shù)據(jù)(YUV 4∶2∶2)約為20M byte/秒;1路1920×1080P的數(shù)據(jù)大約相當于6個D1。據(jù)此可以讓視頻解碼器將原始視頻縮放到預期的大小,多路拼裝成一個1920×1080的視頻,然后通過PCI傳輸,即便如此,僅僅預覽這個環(huán)節(jié)對PCI的帶寬需求是120M Byte/s;在實際的嵌入式應(yīng)用系統(tǒng)中,仍很難保證PCI工作在120M byte負荷以下的;诔WR可知,PCI的帶寬壓力越小,系統(tǒng)就越穩(wěn)定。 當然,如果不考慮成本和功耗,還有一個解決方案:將視頻解碼器集成在主控芯片中,所有的解碼任務(wù)由主控完成,直接輸出到回放預覽模塊,原始數(shù)據(jù)不走PCI總線,這樣的代價就是需要主控有非常強大的解碼能力,但是具有16路D1 解碼能力的芯片是很少的。而有廠家給出了另外一種解決方案,能完美地解決上述問題,這就是視頻級聯(lián)顯示技術(shù)。 視頻級聯(lián)模式 某品牌的視頻級聯(lián)模式有4個支持標準的BT.656格式的視頻輸入接口,同時支持byte interleaving和frame interleaving格式的多路D1合成的碼流,即每個接口可以支持1路,2路或4路D1;另外,4個輸入接口兩兩組合,可組成2個標準的BT.1120接口,支持高清數(shù)據(jù)的輸入。 該視頻級聯(lián)模式還有一路高清視頻輸出接口,可支持模擬或者數(shù)字輸出(此處用到的是數(shù)字輸出)。此外,其可以將視頻輸入和視頻輸出接口串聯(lián)起來,組成菊花鏈結(jié)構(gòu),從而實現(xiàn)多片視頻數(shù)據(jù)的實時預覽和回放,參考圖4。
圖4 視頻級聯(lián)模式的視頻預覽回放級聯(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首尾串接起來,組成視頻預覽回放的串聯(lián)通路。 先計算一下PCI的負荷:4片Hi3520共享一個PCI總線,主控H1的PCI設(shè)定為主模式,而其他3片Hi3520的PCI則為從模式,通過PCI總線,主控芯片H1可以對從設(shè)備C1?C3進行軟件加載,可以發(fā)送控制命令和接收音視頻碼流,如果以每個D1, 2M bit的碼流來計算,PCI的負荷為24M bit(3M byte),如果加上存儲和回放(通過PCI來擴充PCI轉(zhuǎn)SATA橋),共88M bit(11M byte)的負荷,只有1路D1的原始視頻的1半,這就意味著程序員不必再挖空心思為降低PCI載荷而浪費寶貴的時間。 在DVR和HVR系統(tǒng)中,對錄像和預覽回放的處理方式是不一樣的,比如全D1的錄像機,它的錄像通道就是D1大小,是不變的;而預覽和回放不一樣,需要根據(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子窗口后,整個預覽視頻就完整了,通過MDIN340這顆HDMI驅(qū)動器,將視頻完整地顯示在監(jiān)視器上,如圖5所示。從HVR系統(tǒng)的主要使用方式來分析一下數(shù)據(jù)流向,探究該視頻級聯(lián)模式的視頻預覽回放級聯(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獲取壓縮碼流,直接存入硬盤。 預覽 每片處理器首先從級聯(lián)輸入口獲得前級已經(jīng)填充的視頻(C1除外)。模擬通道:從視頻采集口獲得4路D1的模擬視頻后,根據(jù)layout的要求進行縮放, 然后將圖片按照layout的要求進行填充;數(shù)據(jù)通道:主控CPU將數(shù)據(jù)預覽的任務(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)換成標準的HDMI信號,再由監(jiān)視器顯示出來。
|









