新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 實現(xiàn)離屏視頻幀合成與分解的可移植可擴(kuò)展解決方案

實現(xiàn)離屏視頻幀合成與分解的可移植可擴(kuò)展解決方案

作者: 時間:2014-03-18 來源:網(wǎng)絡(luò) 收藏

3.0 實現(xiàn)

離屏幀合成器/分解器功能可以有多種實現(xiàn)方式:

3.1 使用獨立于平臺的算法

這種方法采用可以在CPU上運行的通用算法。雖然這種實現(xiàn)具有很好的可移植性,但會導(dǎo)致CPU負(fù)擔(dān)過重。這是因為幀的合成/分解過程通常包含以下一些操作:

●縮放或重新調(diào)整視頻幀尺寸(放大或縮小)

●輸入視頻幀在輸出幀中的定位

●輸入幀的剪切

●輸出幀的剪切

●輸入通道的Alpha混合

●輸入/輸出幀的旋轉(zhuǎn)

在幀速率為30fps的視頻流情況下,這些操作必須以1/30s即33.33ms的幀周期執(zhí)行。如果幀的像素分辨率更高,比如720p、1080p,那么處理這些幀將成為CPU很重的負(fù)擔(dān)。CPU負(fù)擔(dān)的加重將導(dǎo)致不良的用戶界面,因為I/O互動少了。如果處理器不能在如此短的幀周期內(nèi)處理完一幀,那么在幀合成過程中有可能發(fā)生丟幀現(xiàn)象。

3.2 使用特殊平臺

一些嵌入式處理器提供特殊平臺的硬件實現(xiàn),它們實際上是用硬件方式實現(xiàn)的多相過濾器,可以針對不同縮放比例提供可編程的過濾系數(shù)。

為了在應(yīng)用程序中發(fā)揮這種特殊平臺功能,CPU芯片供應(yīng)商將提供定制的設(shè)備驅(qū)動程序。我們可以通過設(shè)備驅(qū)動程序使用這種縮放器來實現(xiàn)合成功能。應(yīng)用程序可以利用不同的輸入/輸出剪切參數(shù)一次調(diào)整一個輸入幀并合成到輸出幀中。一旦縮放器調(diào)整好了一個輸入幀的大小并將它放到輸入幀中,它就會向CPU內(nèi)核發(fā)出中斷信號。

針對將N個輸入幀合成到一個輸出幀的應(yīng)用而言,它必須在一個幀周期內(nèi)完成N次尺寸調(diào)整操作。這些縮放器非常高效,可以在可接受的時間限制內(nèi)完成縮放處理。合成幀的輸出幀速率取決于單次縮放操作所占用的時間。

如果是N到1的合成、并且輸入/輸出幀具有相同的像素分辨率,那么

N代表輸入數(shù)量

T代表一次縮放操作所花的時間

如果合成中的輸入/輸出幀具有不同的像素分辨率,那么:

Tn代表將第n個輸入通道的幀縮放后放到輸出通道所花的時間。其中n:0->N

上述公式同樣可以應(yīng)用于具有一個輸入和N個輸出通道的分解器。

雖然使用這種方法可以提供高效的解決方案,但它不具有可移植性。這些硬件功能對嵌入式處理器來說是特定的。要么不同的嵌入式處理器不一定有這些功能,要么是以不同的方式實現(xiàn),具有不同的功能清單。

控制這些定制硬件的設(shè)備驅(qū)動程序提供的接口和功能在每種嵌入式處理器上是不同的。而且一般來說,像旋轉(zhuǎn)、Alpha混合等功能無法用這種縮放器硬件來實現(xiàn)。


上一頁 1 2 3 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉