實現(xiàn)離屏視頻幀合成與分解的可移植可擴展解決方案
用于處理離屏頁面的視頻幀合成與分解模塊是視頻通信、視頻網絡、視頻安防等多媒體應用中最重要的軟件組件之一。離屏頁面是指沒有在屏幕上顯示的那些視頻幀。
視頻幀合成模塊能夠接入多個視頻輸入通道,每個通道可以有各自不同的屬性,如像素格式、像素分辨率等。然后將來自這些通道的幀合成到單個或多個視頻輸出通道(同樣可以有不同的屬性)的輸出幀上。當這種合成幀經編碼并從一臺設備發(fā)送出去時,接收設備中的幀分解模塊將會完成相反的功能,即提取輸入通道的視頻幀中的合成幀。圖1和圖2顯示了這些組件的功能描述。
本文將討論需要使用這些模塊的各種用例,在嵌入式平臺上實現(xiàn)幀合成器/分解器的不同方法以及這些方法各自的優(yōu)缺點,并推薦一種使用OpenGL ES構架和圖形處理單元(GPU)的具有高度可移植性和可擴展性的設計解決方案。
2.0 用例
多媒體系統(tǒng)有許多不同的應用場合需要使用幀合成器/分解器功能性組件。下面的解釋討論了其中的一些使用案例。
2.1 視頻通信系統(tǒng)
在涉及到雙方進行高清視頻呼叫的IP視頻通信系統(tǒng)中(即在點到點視頻呼叫中),要求每臺設備與另外一臺設備交換從各自攝像機捕獲到的視頻幀。每臺設備上可能會使用不同的視頻壓縮技術(如MPEG、H.264等)對捕獲到的攝像機圖像幀進行壓縮/編碼。壓縮后的比特流再使用各種網絡協(xié)議(如RTP、UDP)在網絡上傳送。
在接收端,首先要接收來自發(fā)送端的編過碼的數(shù)據(jù)流,然后使用MPEG、H.264等視頻解壓縮算法進行解碼/解壓縮。最終在接收端顯示解碼后的幀。這樣,呼叫雙方都至少需要具有同時解碼從網絡上收到的幀和編碼自己的攝像機捕獲到的幀的功能。
在智能手機、平板電腦等典型的嵌入式系統(tǒng)中,實現(xiàn)點到點視頻呼叫所需的這些編碼/解碼算法因所用的處理器架構而成為可能。這些算法要么在多內核CPU或低功耗數(shù)字信號處理器(DSP)上實現(xiàn),要么使用硬件視頻加速器實現(xiàn)。
但在視頻會議情況下,會有多臺設備進行視頻呼叫。因此如果一臺設備想要參與視頻會議呼叫,它需要支持一個以上的解碼實例來解碼從多方收到的視頻,還需要一個編碼實例來編碼自己攝像機的內容。
由于設備存在最多一路高清幀的編碼和解碼電路限制,低端平板電腦和智能手機不可能支持涉及多路高清幀解碼和單路高清幀編碼的會議呼叫。為了讓這種系統(tǒng)支持高清視頻會議,它們需要采用所有設備能夠撥入的高端視頻通信橋。圖3顯示了這種視頻橋的功能。
評論