使用OpenGL ES实现离屏视频帧合成与分解的可移植可扩展解决方案_第1页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、使用opengl es实现离屏视频帧合成与分解的可移植可扩展解决方案 1.0 引言 用于处理离屏页面的视频帧合成与分解模块是视频通信、视频网络、视频安防等多媒体应用中最重要的软件组件之一。离屏页面是指没有在屏幕上显示的那些视频帧。视频帧合成模块能够接入多个视频输入通道,每个通道可以有各自不同的属性,如像素格式、像素辨别率等。然后未来自这些通道的帧合成到单个或多个视频输出通道(同样可以有不同的属性)的输出帧上。当这种合成帧经编码并从一台设备发送出去时,接收设备中的帧分解模块将会完成相反的功能,即提取输入通道的视频帧中的合成帧。图1和图2显示了这些组件的功能描述。本文将研究需要用法这些模块的各种用

2、例,在平台上实现帧合成器/分解器的不同办法以及这些办法各自的优缺点,并推举一种用法opengl es构架和图形处理单元(gpu)的具有高度可移植性和可扩展性的设计解决计划。【分页导航】第1页:引言第2页:视频通信系统第3页:外部第4页:3d视频会议第5页:用法自立于平台的算法第6页:用法特别平台缩放器2.0 用例多媒体系统有许多不同的应用场合需要用法帧合成器/分解器功能性组件。下面的说明研究了其中的一些用法案例。2.1 视频通信系统在涉及到双方举行高清视频呼叫的ip视频通信系统中(即在点到点视频呼叫中),要求每台设备与另外一台设备交换从各自摄像机捕捉到的视频帧。每台设备上可能会用法不同的视频压

3、缩技术(如mpeg、h.264等)对捕捉到的摄像机图像帧举行压缩/编码。压缩后的比特流再用法各种网络协议(如rtp、udp)在网络上传送。在接收端,首先要接收来自发送端的编过码的数据流,然后用法mpeg、h.264等视频解压缩算法举行解码/解压缩。终于在接收端显示解码后的帧。这样,呼叫双方都起码需要具有同时解码从网络上收到的帧和编码自己的摄像机捕捉到的帧的功能。在智能手机、等典型的嵌入式系统中,实现点到点视频呼叫所需的这些编码/解码算法因所用的处理器架构而成为可能。这些算法要么在多内核cpu或低功耗数字信号处理器()上实现,要么用法硬件视频加速器实现。但在视频会议状况下,会有多台设备举行视频呼

4、叫。因此假如一台设备想要参加视频会议呼叫,它需要支持一个以上的解码实例来解码从多方收到的视频,还需要一个编码实例来编码自己摄像机的内容。因为设备存在最多一路高清帧的编码和解码限制,低端平板电脑和智能手机不行能支持涉及多路高清帧解码和单路高清帧编码的会议呼叫。为了让这种系统支持高清视频会议,它们需要采纳全部设备能够拨入的高端视频通信桥。图3显示了这种视频桥的功能。视频桥接收来自全部设备的多路编码过的输入视频流,然后将它们解码为帧。来自多方的解码帧再合成为单个帧。这种视频桥将为每个衔接的用户设备生成合成帧。视频桥为某个用户设备产生的合成帧包含有除该台设备自己产生的帧以外的全部其它用户设备产生的视频

5、帧。因此为了在全部设备之间建立视频会议,必需起码有一个桥。这种桥可以是一个高端视频卡,也可以是具有更强编码和解码功能的这些设备之一。正如我们在上述例子中看到的那样,饰演视频桥角色的嵌入式设备需要具有离屏视频帧合成组件。【分页导航】第1页:引言第2页:视频通信系统第3页:外部显示器第4页:3d视频会议第5页:用法自立于平台的算法第6页:用法特别平台缩放器2.2 外部显示器对上述视频会议用例中与视频桥衔接的每台设备来说,可能要求从输入的单路视频通道中提取/分解合成视频帧,并将它们显示到各台显示设备,或者出于演示等目的在接收终端的屏幕各窗口上显示。下面的图4就展示了这样的一个用例,其中来自用户a、c

6、和d的帧被显示在用户a的屏幕的各个自立窗口上,而来自用户b的帧显示在诸如电视机等外部显示器上。【分页导航】第1页:引言第2页:视频通信系统第3页:外部显示器第4页:3d视频会议第5页:用法自立于平台的算法第6页:用法特别平台缩放器2.3 3d视频会议在5所示的3d视频会议应用案例中,要求未来自两个摄像的输入帧合成在一起,经编码后在网络上以数据流的形式传输。接收端则要求提取/分解出来自每个摄像传感器的帧,以便将各个通道的帧渲染到显示器的不同通道上,实现立体观察体验。【分页导航】第1页:引言第2页:视频通信系统第3页:外部显示器第4页:3d视频会议第5页:用法自立于平台的算法第6页:用法特别平台缩

7、放器3.0 实现离屏帧合成器/分解器功能可以有多种实现方式:3.1 用法自立于平台的算法这种办法采纳可以在cpu上运行的通用算法。虽然这种实现具有很好的可移植性,但会导致cpu负担过重。这是由于帧的合成/分解过程通常包含以下一些操作:缩放或重新调节视频帧尺寸(放大或缩小)输入视频帧在输出帧中的定位输入帧的剪切输出帧的剪切输入通道的alpha混合输入/输出帧的旋转在帧速率为30fps的视频流状况下,这些操作必需以1/30s即33.33ms的帧周期执行。假如帧的像素辨别率更高,比如720p、1080p,那么处理这些帧将成为cpu很重的负担。cpu负担的加重将导致不良的用户界面,由于i/o互动少了。

8、假如处理器不能在如此短的帧周期内处理完一帧,那么在帧合成过程中有可能发生丢帧现象。【分页导航】第1页:引言第2页:视频通信系统第3页:外部显示器第4页:3d视频会议第5页:用法自立于平台的算法第6页:用法特别平台缩放器3.2 用法特别平台缩放器一些嵌入式处理器提供特别平台缩放器的硬件实现,它们事实上是用硬件方式实现的多相过滤器,可以针对不同缩放比例提供可编程的过滤系数。为了在应用程序中发挥这种特别平台功能,cpu芯片供给商将提供定制的设备驱动程序。我们可以通过缩放器设备驱动程序用法这种缩放器来实现合胜利能。应用程序可以利用不同的输入/输出剪切参数一次调节一个输入帧并合成到输出帧中。一旦缩放器调

9、节好了一个输入帧的大小并将它放到输入帧中,它就会向cpu内核发出中断信号。针对将n个输入帧合成到一个输出帧的应用而言,它必需在一个帧周期内完成n次尺寸调节操作。这些缩放器十分高效,可以在可接受的时光限制内完成缩放处理。合成帧的输出帧速率取决于单次缩放操作所占用的时光。假如是n到1的合成、并且输入/输出帧具有相同的像素辨别率,那么n代表输入数量t代表一次缩放操作所花的时光假如合成中的输入/输出帧具有不同的像素辨别率,那么:tn代表将第n个输入通道的帧缩放后放到输出通道所花的时光。其中n:0->n上述公式同样可以应用于具有一个输入和n个输出通道的分解器。虽然用法这种办法可以提供高效的解决计划,但它不具有可移植性。这些硬件功能

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论