电子文章 | 电子资料下载 | 家电维修 | 维修资料下载 | 加入收藏 | 全站地图
您现在所在位置:电子爱好者维修技术维修教程知识电子制作基于Xscale便携式视频终端硬件设备设计

基于Xscale便携式视频终端硬件设备设计

09-08 12:13:43 | http://www.5idzw.com | 电子制作 | 人气:132
标签:电子小制作,http://www.5idzw.com 基于Xscale便携式视频终端硬件设备设计,http://www.5idzw.com
摘要: 本文提出了一种基于Xscale芯片的便携式视频终端硬件设备的设计方法,首先介绍了便携式视频终端的特点以及在此基础上发展起来的OpenGL技术及标准。在此基础上,提出了采用Xscale芯片的实现方案,并详细介绍了Xscale芯片的功能特点。最后对视频图像的处理关键技术进行了适当改进,以便更适合在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采用水线分割算法完成图像的初始分割,然后使用快速的区域合并算法将颜色距离最相近的区域进行逐步合并,当图像中的区域达到设定数目时停止合并。

[1] [2]  下一页

,基于Xscale便携式视频终端硬件设备设计
关于《基于Xscale便携式视频终端硬件设备设计》的更多文章