新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 实现离屏视频帧合成与分解的可移植可扩展解决方案

实现离屏视频帧合成与分解的可移植可扩展解决方案

作者:时间:2014-03-18来源:网络收藏

3.0 实现

离屏帧合成器/分解器功能可以有多种实现方式:

3.1 使用独立于平台的算法

这种方法采用可以在CPU上运行的通用算法。虽然这种实现具有很好的可移植性,但会导致CPU负担过重。这是因为帧的合成/分解过程通常包含以下一些操作:

●缩放或重新调整视频帧尺寸(放大或缩小)

●输入视频帧在输出帧中的定位

●输入帧的剪切

●输出帧的剪切

●输入通道的Alpha混合

●输入/输出帧的旋转

在帧速率为30fps的视频流情况下,这些操作必须以1/30s即33.33ms的帧周期执行。如果帧的像素分辨率更高,比如720p、1080p,那么处理这些帧将成为CPU很重的负担。CPU负担的加重将导致不良的用户界面,因为I/O互动少了。如果处理器不能在如此短的帧周期内处理完一帧,那么在帧合成过程中有可能发生丢帧现象。

3.2 使用特殊平台

一些嵌入式处理器提供特殊平台的硬件实现,它们实际上是用硬件方式实现的多相过滤器,可以针对不同缩放比例提供可编程的过滤系数。

为了在应用程序中发挥这种特殊平台功能,CPU芯片供应商将提供定制的设备驱动程序。我们可以通过设备驱动程序使用这种缩放器来实现合成功能。应用程序可以利用不同的输入/输出剪切参数一次调整一个输入帧并合成到输出帧中。一旦缩放器调整好了一个输入帧的大小并将它放到输入帧中,它就会向CPU内核发出中断信号。

针对将N个输入帧合成到一个输出帧的应用而言,它必须在一个帧周期内完成N次尺寸调整操作。这些缩放器非常高效,可以在可接受的时间限制内完成缩放处理。合成帧的输出帧速率取决于单次缩放操作所占用的时间。

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

N代表输入数量

T代表一次缩放操作所花的时间

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

Tn代表将第n个输入通道的帧缩放后放到输出通道所花的时间。其中n:0->N

上述公式同样可以应用于具有一个输入和N个输出通道的分解器。

虽然使用这种方法可以提供高效的解决方案,但它不具有可移植性。这些硬件功能对嵌入式处理器来说是特定的。要么不同的嵌入式处理器不一定有这些功能,要么是以不同的方式实现,具有不同的功能清单。

控制这些定制硬件的设备驱动程序提供的接口和功能在每种嵌入式处理器上是不同的。而且一般来说,像旋转、Alpha混合等功能无法用这种缩放器硬件来实现。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭