基于Xscale便携式视频终端硬件设备设计
扫描二维码
随时随地手机看文章
关键词: Xscale;OpenGL;便携设备;硬件接口
1 前言
在当今信息社会,以多媒体为特征的信息技术和信息产业的发展及应用对人类社会产生的影响和作用愈来愈明显,愈来愈重要。多媒体能改变信息的包装,实现知识信息数字化,为人们获得知识信息提供极大的方便和无穷的乐趣。友善的人机界面、多种多样的多媒体教学软件、诱人的电子游艺节目、身临其境的多媒体导购系统、五花八门的信息家电和高效方便的网上查询等等,无不渗透着多媒体的作用,它引导人们进入了一个有声有色的世界。同时,多媒体的发展和应用,极大地推动了各行各业的相互渗透和飞速发展,大大改变了人类社会的上作环境和生活方式。可毫不夸张地说,多媒体产业的形成和发展,不仅引起了计算机工业的一次革命,也正在深刻地影响人类社会发生巨大的变革。
全球正兴起的便携式图像处理与显示终端市场,正刺激着对下一代具有复杂图像渲染TOR的手持移动设备的巨大需求。同时,也预示着图像处理终端设备在便携设备中应用的技术挑战,也给开发商带来了市场机遇。仅在两年前,像手机这样的移动设备还仅是提供基本的图像处理作为附加功能,正如可发送短信的手机几年前才出现一样。用户很快便开始希望能在其手持移动设备上实现更复杂的图像功能。手持移动设备制造商们也顺势推出利用高级图像渲染特性、更复杂及互动式设备,诸如高性能游戏终端、实时视频监控设备。随着性能的提高,我国针对图像视频手持移动设备的发展速度比世界任何其他地方的发展速度都要快。尤其是在工业控制、无人监控、机器人技术等等这些方面,都有着巨大的市场需求。
真正的技术竟赛已从第二代具有图像渲染功能的手持移动设备开始。厂商们将在纯技术性能方面展开前所未有的竟争,特别是一旦 API标准完全确立后就将几乎没有什么分歧。一些人认为,制造商应该避免过快地扩展其平台以及制作一些其专有的扩展,产业必须确保OpenGL ES标准API随市场一起发展。事实上,OpenGL ES路线图己经确立,而且人们已经制定了OpenGL ES2.0。虽然目前的API是基于状态机,但对于第三代手持移动设备来说它必须发展成为基于Shader(着色引擎)的标准。现在,API基于固定功能管线(Pipeline), 这种固定功能管线可以根据目前渲染条件来启用或禁用某些功能,它使厂商能根据吞吐量、像素数量及类似功能来制造不同的终端设备。透过OpenGL ES2.0,人们可对绘图管线中的某些元素进行编程,因而使内容开发商能够精确定义如何处理顶点(Vertex)或像素。这能不仅能为供应商提供更大的特性集与性能创新空间以及更大的差异化,尤其在视觉品质及效果方面,而且还能为开发商保留一个公共平台。
2 OpenGL数据处理流程
OpenGL是图形硬件的一个软件接口。它的主要作用是将二维或三维的对象绘入一个帧缓冲区中。对象被描述为一系列的顶点(用来定义儿何对象)或像素(用来定义图像)。OpenGL对数据进行几个步骤的处理从而将其转换成像素,这些像素将在帧缓冲区中形成最终需要的图形。它包括以下两个主要部分:OpenGL基础,其主要解释基本的OpenGL概念,例如什么是几何图元以及OpenGL如何实行客户端——服务器端的执行模式;基本OpenGL 操作,通过一个高层的模块图来说明OpenGL在帧缓冲区中处理数据并生成相应图像的过程。
许多OpenGL命令直接影响诸如点、线、多边形、以及位图等OpenGL对象的绘制。而另一些命令,例如那些用于反走或纹理操作的命令,主要用来控制图像如何生成。还有一些命令则关注帧缓冲区的操作。图一是一幅较为详细的OpenGL处理流程图。从图中我们可以看到,其中有三组箭头穿过了大多数阶段,这三组箭头分别代表了顶点和与其相关的两个主要的数据类型——颜色值和纹理坐标。值得注意的是顶点首先组合成图元,然后是片断,最后成为帧缓冲区中的像素。一个OpenGL命令的效果,将很大程度地依赖于某特定模式是否有效。例如,与光照有关的命令,只有当启动了光照功能才能有效地生成一个适当的光照对象;如果要启动一个特定的模式,可调用glEnalbe()命令,并且要提供一个适当的常量来确定该模式(如GL_LIGHTING)。调用glDisable()可以关闭一个模式。
3 基于Xscale的实现与优化
Xscale核是采用ARMV5TE架构的处理器,是Intel公司的StrongARM的升级换代产品。它具有高性能、低功耗等特点,不过,它以核的形式作为ASSP(Application Specific Standard Productor)的构件。PXA270、PXA250和PXA210应用处理器就是作为便携设备而设计的ASSP。而采用Xscale核的第一个应用处理器是Intel的80200,作为I/O应用。图二是Xscale微结构的系统结构特征图。
图 二 :Xscale微结构的系统结构特征图
Xscale核与StrongARM一样,仍采用ARM架构,因此,在处理器结构上与ARM处理器结构基本相同。并在流水线设计、DSP处理和指令设计中有很大改进。Xscale超级流水线由主流水线、存储器流水线和MAC流水线组成。
其中,主流水线由F1/F2、ID、RF、X1、X2和XWB等7级流水线构成:F1/F2为2级指令提取,ID为指令译码,RF为寄存器文件/操作数移位,X1为ALU执行,X2为状态执行,XWB为写回。
FI/F2指令取级,Xseale为了便于分支指令的动态预测,安排了Fl/F2两级流水线。分支目标缓冲器BTB和指令取单元IFU(Instruction Fetch Unit),在此2级流水线进行操作。ID指令译码级,进行一般指令译码;检测未定义指令井产生异常;以及把复杂指令动态扩展为一系列简单指令,如LDM、STM和SWP 指令。RF寄存器文件移位级,该级主要进行寄存器读、写;对于ARM架构的处理器,在该级后半周期还进行移位操作。通过该级将为ALU执行、MAC操作、存储器写与协处理器接口提供相关的数据源。XI 执行级,在该级中,主要执行ALU计算,条件指令执行和分支目标确定。X2执行级,该级包括了ALU的输出,选择哪些需在下一级(XWB)写回寄存器中,以及程序状态寄存器PSR操作等。XWB写回级,到达该级,即写回寄存器文件部件RFU。在该流水线操作中会产生数据相关等问题,Xscale采用旁路技术,来减少流水线的停顿。
Intel Xscale内核与StrongARM一样,其指令也是有条件执行的。Xscale可以修改条件码,使指令优化。优化主要从以下几个方面进行:首先是优化条件检查,Xscale内核可以有选择性地修改条件码的状态,如果遇到if-else和loop循环,那么就会减少比较指令的使用。其次优化转移结构,转移会降低流水线的使用效率,而转移的预测会提高使用效率。转移预测的数目会受到转移缓冲区数目的限制,因为程序中预测转移指令的数目要远远大于转移缓冲区的数目,所以减少转移指令会有助于优化。再则对复杂的表达式如逻辑指令将会降低指令的使用效率,可以使用带条件码的指令来实现。最后是对立即数和整数的乘除法的使用优化。Xscale内核制定在立即数加载进寄存器时必须使用MOV或者MVN指令,还可以配合使用ORR、BIC和ADD指令设置一组常量。
4 实验结果与分析
对于彩色图像的分割方法,因为既可以通过在颜色空间内划分像素来完成,也可以通过在空间上划分像素来完成,其中基于图像中的空间信息的方法还可以分成两种,一种是利用图像区域(像素)之间的边缘进行图像分割。为了获取边缘信息,人们一般首先使用Sobel、Laplacian、Canny、等算子进行边缘检测。然而,当图像中存在噪声时,用算子得到的边缘常常是孤立的或者分小段连续的,即使采用边缘闭合的方法进行处理,也很难得到区域的精确边缘。另一种是利用区域 (像素)之间的邻接和相似性,进行区域生长和区域合并。区域生长可以看作是区域合并的特例。区域合并的关键问题是要制定合理的合并和停止合并的规则。Jseg在确定了种子区域以后,采用了全局最优化的规则进行区域生长,然后使用了基于阈值的区域合并完成图像分割。K.Haris采用水线分割算法完成图像的初始分割,然后使用快速的区域合并算法将颜色距离最相近的区域进行逐步合并,当图像中的区域达到设定数目时停止合并。
近来的研究表明,融合多种信息更有利于取得合理的分割效果。也就是既要在颜色等特征空间内考虑像素的优化分类,又要考虑图像中区域(像素)之间边缘、邻接关系等空间信息。Milan Sonka通过理论和实验证明了综合使用颜色和边缘信息的分割算法,能够比只使用颜色信息或者边缘信息的方法取得更合理的分割结果。
本文综合了图像的颜色和空间信息,提出了一种新的视频图像分割方法。算法完成颜色量化以后,通过一个增量式的区域增长算法形成了对采集到的静态视频图像的初始分割,此时的分割基本上是在颜色空间内对像素的划分。然后本文融合区域的颜色信息、空间上的边缘和邻接关系信息,定义了区域距离,并根据区域距离进行了分级的区域合并。
鉴于目前的图像视频质量没有统一的评价标准,我们应用了普遍采用的主观视觉评价方式。通过一些图像的分割实验和实验分析对比,本文提出的分割算法对于无显著纹理的视频图像具有良好的分割效果,其中的增量式区域增长有助于发现更多的图像细节,而且停止区域合并的规则也十分有效。其分割结果可以用于基于区域的图像检索、基于对象的图像内容分析等。在未来的工作中,可以将图像的纹理特征融入算法中,图像质量将得到进一步的提高。
5 创新点总结
本文的创新点在于提出了一种基于Xscale的便携式视频终端设备接口设计方案,并设计了一种新的视频图像分割方法,通过试验验证,达到了预期设计目标。但是迄今为止,不但没有一个方法能够对所有图像都可以给出很好的分割结果,而且没有一个方法能够对由不同方法得到的分割结果给出与主观感觉一致的评价,也没有一个理论来指导我们如何根据不同的图像选择合适的分割方法。由于图像分割的研究还缺乏一个统一的理论,因此,在解决一些实际的图像分割问题时,我们往往还是依赖于自己的知识和经验。这一切不但限制了图像分析和理解研究的发展,也限制了机器视觉技术在工农业生产中的应用。
参考文献:
1 马忠梅 马广云 等. ARM嵌入式处理器与应用基础[M].北京航空航天大学出版社,2002
2 陈章龙 唐志强 涂时亮. 嵌入式技术与系统——Intel Xscale结构与开发[M]. 北京航空航天大学出版社,2004
3 叶齐祥 高文 王伟强 黄铁军.一种融合颜色和空间信息的彩色图像分割算法[J]. 中国科学院计算技术研究所,2005
4 谢建平 PDP电视机多制式数字视频信号转换电路的研究[J].微计算机信息,2006, 7-2:p222-224