视频并行处理系统分析与设计
上述的处理过程只是一个基本视频数据并行处理方法,它的一个关键在于整个图像处理步骤时间的合理安排,要求每个操作步骤的划分合理。如果前级操作时间恰好等于后级的操作时间,则最为简单,前级的输出直接汇入后级的输入即可;如果前级操作时间大于后级的操作时间,则需要对前级的输出数据适当缓存才能汇入到后级输入端;如果前级操作时间恰好小于后级的操作时间,则必须通过复制逻辑,将数据流分流,或者在前级对数据采用存储、后处理方式,否则会造成后级数据溢出。
本文引用地址:https://www.eepw.com.cn/article/277710.htm4 同步机制与异常处理
为了解决数据溢出问题,本文在对图像处理步骤进行划分时,尽量使得每个步骤的处理时间都相同,这样可以很大程度上缓解前后级之间处理时间不一致造成的矛盾;同时引入同步机制[6],在多个视频处理系统之间建立一个同步信息传递机制,每个视频数据包被处理后往同步处理模块发送一个值,当在一个时间周期内所有的处理步骤往同步处理模块发送了处理完毕的值后,由同步处理模块发送视频数据流统一下传的命令。
图4为同步模块处理流程,每次进入一个新的视频图像处理流程后,同步模块开始计数;在同步模块计数器件,图像处理的每个步骤处理完毕后,视频处理系统均会发出处理完毕命令;同步模块接收该命令,并对此进行判断在该图像处理周期中所有的处理步骤是否处理完毕;如果处理完毕则发出下个处理步骤的同步信号;若没有处理完毕则通过计数器判断该次处理周期时间是否达到T,如果达到时间T则强制完成该处理周期,发出下一个处理步骤的同步信号,如果没有达到时间T则转入判断所有步骤是否处理完毕的流程中。
当强制同步信号到来时,由于某种特殊情况,视频处理系统对于本系统的图像处理步骤无法完成,如图5所示,在T3周期,视频处理系统3处理出错。此时,为了不影响整个处理流程的时间,将数据包继续往下一级发送,并且执行相同的处理步骤。在T3时间周期,本来由视频处理系统3完成的处理步骤C,出错后,在T4时间周期,由视频处理系统4完成。上述提到图像处理步骤A、B、C、D可以根据不同的应用来定义,处理步骤的粒度可大可小。对于一些比较大粒度的功能分工,如3D处理和GIS等,也可以采用上述提到的并行处理方法完成。如图3所示,可以用步骤A表示3D处理,步骤B表示GIS处理,由两个视频处理系统分别完成,同时在视频输出进行叠加显示;并采用方法中提到的同步机制使得两个系统处理后的图像能同时显示。
5 结果与分析
本文根据目前一些海量数据并行处理的应用限制,提出了通过非透明桥连接的多CPU并行出现系统架构,并提出了一种并行处理的方法。该并行处理方法在笔者设计的系统平台中得到了实际应用和验证,运行效果良好,突破了单个高性能CPU计算能力,大大提高了海量视频信号的处理能力;而且该处理方法不会单纯地依靠硬件技术如CPU处理速度等的发展,可以通过合理调节视频处理步骤来实现快速视频处理的功能,具有很高的产品推广价值。
参考文献:
[1]李才华.PCI_Express非透明桥在智能系统中的应用设计[J];电子元器件应用.2009(8)
[2]樊博,王延杰,孙宏海,基于PCIe的高速图像注入式仿真系统[J];计算机工程与设计. 2014(3)
[3]薛军涛,贺怀清,张宇翔,等,典型纹理映射实现方法的研究[J].计算机工程, 2005(3)
[4]易勇,分布式并行视频服务器设计技术[J].贵州科学, 2000(12)
[5]谷国太,肖汉,并行计算与并行处理技术的应用研究[J].河南理工大学学报, 2009(10)
[6]宋军,顾冠群. 多媒体通信媒体间同步技术综述[J]. 电信科学,1996(9)
评论