主頁(http://m.by236.com):視頻級聯模式在混合式DVR(HVR)中的應用(2) 圖1)。
圖1 通用HVR的系統結構
圖2 HVR的模擬和數字的預覽及錄像通道 從圖2可以看出,HVR確實是DVR和NVR的綜合體,圖1左邊的模擬通道是DVR的主通道,而右邊的數字通道則是NVR的主通道。 HVR架構上的難題 對比NVR,HVR增加了模擬視頻接入和編碼的功能;而相對DVR,HVR強化了音視頻解碼和數字接入部分功能,功能的豐富帶來的是系統復雜性的增加。如果要構建一個模擬16路D1+數字16路D1的HVR,現有的單片芯片基本上都沒有如此強大的編解碼能力,那就要以處理芯片的級聯來實現。傳統的芯片級聯的方式通常通過PCI或者PCIE接口來實現,而大多媒體處理芯片將編碼和解碼的功能做在一起,如下圖3。而HVR遇到的困惑就是:視頻預覽模塊掛在主控模塊上,所有解碼后的原始數據都從PCI給主控,再由主控輸出到監視器,這樣給主控模塊造成了很大的壓力。
圖3 多處理器級聯模式下HVR系統結構 1路D1的原始視頻數據(YUV 4∶2∶2)約為20M byte/秒;1路1920×1080P的數據大約相當于6個D1。據此可以讓視頻解碼器將原始視頻縮放到預期的大小,多路拼裝成一個1920×1080的視頻,然后通過PCI傳輸,即便如此,僅僅預覽這個環節對PCI的帶寬需求是120M Byte/s;在實際的嵌入式應用系統中,仍很難保證PCI工作在120M byte負荷以下的。基于常識可知,PCI的帶寬壓力越小,系統就越穩定。 當然,如果不考慮成本和功耗,還有一個解決方案:將視頻解碼器集成在主控芯片中,所有的解碼任務由主控完成,直接輸出到回放預覽模塊,原始數據不走PCI總線,這樣的代價就是需要主控有非常強大的解碼能力,但是具有16路D1 解碼能力的芯片是很少的。而有廠家給出了另外一種解決方案,能完美地解決上述問題,這就是視頻級聯顯示技術。 視頻級聯模式 某品牌的視頻級聯模式有4個支持標準的BT.656格式的視頻輸入接口,同時支持byte interleaving和frame interleaving格式的多路D1合成的碼流,即每個接口可以支持1路,2路或4路D1;另外,4個輸入接口兩兩組合,可組成2個標準的BT.1120接口,支持高清數據的輸入。 該視頻級聯模式還有一路高清視頻輸出接口,可支持模擬或者數字輸出(此處用到的是數字輸出)。此外,其可以將視頻輸入和視頻輸出接口串聯起來,組成菊花鏈結構,從而實現多片視頻數據的實時預覽和回放,參考圖4。
圖4 視頻級聯模式的視頻預覽回放級聯模式 該視頻級聯模式是一個多核處理器,包括一個600M Hz的ARM11和一個300MHz ARM9,以及硬件加速的H.264編碼解碼器,可以支持到8個D1的H.264的實時編碼或者解碼。 視頻級聯模式內部的ARM11可以做系統的主控制器,ARM9用來控制H.264的流程和音頻處理,一般不供外部使用。可以用4片3520構成一個16 D1模擬接入(16 D1編碼)和16 D1的網絡接入(16 D1解碼)的HVR系統(圖4):16路模擬通道首先經過4片TW2866做模擬/數字變換,然后用byte interleaving模式合成在2路BT.656鏈路中,傳輸給Hi3520,Hi3520剩下的2個BT.656接口并接成1個16 bit的BT.1120的接口,用來做視頻串聯,將4片Hi3520首尾串接起來,組成視頻預覽回放的串聯通路。 先計算一下PCI的負荷:4片Hi3520共享一個PCI總線,主控H1的PCI設定為主模式,而其他3片Hi3520的PCI則為從模式,通過PCI總線,主控芯片H1可以對從設備C1?C3進行軟件加載,可以發送控制命令和接收音視頻碼流,如果以每個D1, 2M bit的碼流來計算,PCI的負荷為24M bit(3M byte),如果加上存儲和回放(通過PCI來擴充PCI轉SATA橋),共88M bit(11M byte)的負荷,只有1路D1的原始視頻的1半,這就意味著程序員不必再挖空心思為降低PCI載荷而浪費寶貴的時間。 在DVR和HVR系統中,對錄像和預覽回放的處理方式是不一樣的,比如全D1的錄像機,它的錄像通道就是D1大小,是不變的;而預覽和回放不一樣,需要根據用戶的設定來改變,比如在一個1920×1080的顯示器上,用戶可以將屏幕劃分成多個子窗口,一般有36、25、16、9、8、4、1等劃分方法,也稱之為layout方式。首先,主控芯片H1根據客戶規定的layout方式發給每片處理器。每片處理器將采集或者解碼得到的視頻數據進行縮放,再放到規定的layout子窗口內。然后,將合成的視頻從級聯輸出口輸出,隨著視頻從C1傳到C2、C3,最后傳到H1。H1貼好自己的layout子窗口后,整個預覽視頻就完整了,通過MDIN340這顆HDMI驅動器,將視頻完整地顯示在監視器上,如圖5所示。從HVR系統的主要使用方式來分析一下數據流向,探究該視頻級聯模式的視頻預覽回放級聯模式的具體運作。
圖5 視頻級聯模式下的layout填充 錄像 模擬通道:每片處理器從視頻口采集4路D1的模擬視頻,經過數據轉換和視頻編碼后,通過PCI發送給主控H1,H1將數據存入硬盤;數字通道:通過H1的千兆以太網接口,從前端IPC獲取壓縮碼流,直接存入硬盤。 預覽 每片處理器首先從級聯輸入口獲得前級已經填充的視頻(C1除外)。模擬通道:從視頻采集口獲得4路D1的模擬視頻后,根據layout的要求進行縮放, 然后將圖片按照layout的要求進行填充;數據通道:主控CPU將數據預覽的任務根據各CPU占用情況,將解碼任務和相應的layout分配給較為空閑的處理器。分配完成后,H1將從網口接收到的視頻流源源不斷地轉發給處理器。該處理器對此視頻流進行解碼,縮放,并填充到對應的layout子窗口中。模擬和數字的填充完成后,處理器將視頻從級聯口發送給下一級的CPU。直到H1,通過顯示驅動芯片將視頻轉換成標準的HDMI信號,再由監視器顯示出來。
|









