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