前言:一篇好文章的诞生,需要你不断地搜集资料、整理思路,本站小编为你收集了丰富的计算机并行处理技术主题范文,仅供参考,欢迎阅读并收藏。
关键词:遥感影像;并行计算;密集匹配;快速处理;流程研究
引言
随着遥感影像使用范围越来越广泛,现在已经成为提供空间信息的重要数据源。遥感数据的应用范围扩大到各个社会信息服务领域,发挥着重大作用。经过定向后的遥感影像数据可为测绘、城市基础地理信息动态更新、国土资源调查、生态环境监测、灾害监测、海洋资源、农业监测、快速响应等不同的领域提供相应的地理信息数据。
传统影像处理需要高性能的计算机,并且配备多种影像数据处理软件协同作业,各工序仅对流程负责,数据处理效率低,精度差。现代遥感影像的获取频率越来越快,同时数据量也越来越大,传统的基于串行计算的处理方式已很难满足高效率的生产需求和快速响应,因此必须采用并行计算来快速地对大区域影像进行处理,提高数据处理效率。
1.1 并行技术处理种类
现代计算机并行处理技术主要有基于CPU和基于GPU这两大类处理方法,各有相应的具体处理方案,如通过CPU加速的MPI、OpenMP、PVM等,还有Intel的TBB等;基于GPU的有NVIDIA的CUDA和ATI的Stream技术。本试验根据数据特点和计算机硬件配置情况,采用基于GPU方法的软件系统进行影像的快速纠正试验。
1.2 GPU并行处理优势
1.2.1 高效的并行性
在目前主流的GPU中,配置多达16个片段处理流水线,6个顶点处理流水线。多条流水线可以在单一控制部件的集中控制下运行,也可以独立运行。GPU的顶点处理流水线使用MIMD方式控制,片段处理流水线使用SIMD结构。相对于并行机而言,GPU提供的并行性在十分廉价的基础上,为适合于在GPU上进行处理的应用提供了一个很好的并行方案。
1.2.2 高密集的运算
GPU通常具有128位或256位的内存位宽,因此GPU在计算密集型应用方面具有很好的性能。
1.2.3 超长图形流水线
GPU超长图形流水线的设计以吞吐量的最大化为目标(如NVIDIA GeForce 3流水线有800个阶段),因此GPU作为数据流并行处理机,在对大规模的数据流并行处理方面具有明显的优势。
2. 遥感影像快速处理应用
2.1 应用区简介
试验区内覆盖46景P5影像,布设外业控制点68个、检查点17个,用于区域网平差的解算及精度检查;在立体模型中选取26个检测点,用于检测DEM和DOM成果精度。试验区范围及控制点分布(见图1)。
2.2 使用的软硬件
主要软硬件设备包括集群式影像处理系统PCI GXL软件及可进行图形、图像处理的高配置计算机等。
2.3 应用区生产
2.3.1 稀少控制区域网平差
(1)建立测区工程
建立测区工程,设置工程参数及投影坐标系、控制点文件、DEM格网间距及正射影像分辨率。同时根据影像之间的相互关系设置影像列表,导入卫星影像并建立模型。
(2)区域网平差
首先利用软件对所有影像自动进行连接点的量测,然后对控制点进行预测,人工辅助量测控制点,最后采用“RPC测区绝对定位”解算方法对区域网进行平差解算,剔除掉粗差点,得到满足精度的区域网平差结果,控制点平差结果见表1。
表1 区域网平差结果(单位:m)
[类型\&个数\&平面中误差\&高程中误差\&平面最大误差\&高程最大误差\&控制点\&68\&1.385\&0.836\&2.723\&1.042\&检查点\&17\&4.667\&1.436\&6.679\&1.496\&]
2.3.2 DEM及DOM生产
首先利用区域网平差定向后的影像进行DEM密集匹配,然后利用拟合、平滑、内插、定值等工具对密集匹配结果进行编辑,得到满足精度的DEM数据,最后利用DEM数据采用并行计算的方法对影像进行批量纠正,得到DOM数据。DEM及DOM批量镶嵌结果见图2。
2.3.3 精度统计
利用立体模型量测的检测点对DEM及DOM进行精度检测,检测结果见表2。
2.3.4 效率统计
数据处理整理耗时情况见表3。
3. 结论
通过生产试验表明,利用并行处理技术对大区域遥感影像数据进行区域网平差后制作的DEM与DOM精度能够满足不同比例尺规范的相关要求,同时并行处理技术能够简化生产流程,大幅度提高运算效率并减少运算时间,特别在对大区域遥感影像进行处理时,优势明显。
参考文献:
[1] 郑福海,杨木,宋红艳等.利用IRS―P5影像制作1:500003D产品的试验研究[J].测绘与空间地理信息,2011,34(6):117―120.
[2] 肖汉,张祖勋等.基于GPGPU的并行影像匹配算法[J].测绘学报,2010,39(1):46―51.
[3] O影,郑福海,王铁军等.PixelGrid集群式系统在影像快速纠正中的应用研究[J].测绘与空间地理信息,2014,37(10):221―223.
[4] 李宏宽,杨晓冬,邹珍军.基于MPI并行的遥感影像系统几何校正快速处理技术研究[J].河南工程学院学报・自然科学版,2011,23(1):49―52.
[5] 陈国良,孙广中.并行计算的一体化研究现状与发展趋势[J].科学通报,2009,(8):25―27.
1.1数字处理的应用计算机技术在数字处理中应用的也极为广泛,计算机技术与数字处理技术是相辅相成的。并且计算机技术的应用会涉及到很多的数据、数字处理等功能,因此要与数据处理技术的结合应用才能实现数据、数字处理的功能,数字处理技术也可以说是新时期下计算机技术的基本,两者结合的技术主要还表现在公式分析以及运算的能力。但是,在应用到数字处理技术时,对计算机的硬件技术以及CPU的使用率等结构的运算技术要求都是非常高的,同时这些结构也是计算机的重要组成部分。
1.2半导体技术的应用半导体技术主要是对半导体的集成度进行衡量的技术标准,而在新时期下的计算机技术的发展中,将逐渐的应用到半导体技术对半导体的集成进行衡量,有了计算机技术的加入使半导体的发展更加迅速,尤其是在储存量较大的半导体生产中,表现的更为突出。
1.3移动计算机技术的应用计算机技术在移动计算机领域中也有所突破,与传统的移动不便、受区域限制的计算机相比,现今的计算机不仅打破了区域的限制,在技术上也是传统计算机远远达不到的,新时期计算机技术实现了计算机的微小化、灵活性等特点,是计算机领取发展中不可缺少的重要组成。
1.4并行处理技术的应用并行处理技能在与计算机技术结合之后,可以充分提高计算机的运行效率以及运行速度,可以实现计算机在同一时间内进行多种不同形式的运算。并行处理技术在科技中得到广泛的应用,尤其是分布式计算机系统以及共享存储器的出现,极大的推动了新时期计算机技术的发展。
2新时期计算机技术的改革
2.1教学模式改革从教学角度上讲,新时期计算机技术属于一门新型的学科,不仅要求熟悉掌握相关的理论基础知识,还需要达到相应的实践审核标准,然后才能谈新时期计算机技术的改革和创新的过程。但是,就目前来看,新时期计算机技术的教学模式还处于传统的模式下,依旧存在很多问题,直接阻碍了计算机技术的发展创新与应用。因此,为实现新时期计算机技术的改革,需要从教学模式上进行改革,以理论性知识教学模式为教学基础,在这个基础上结合与互动式学习法进行新时期计算机技术多样化的教学模式,实现最佳的效果。
2.2管理模式改革从管理的角度上讲,新时期计算机管理技术主要包括机房的管理和人员的管理。在引用新时期计算机技术实现管理模式操作的过程中,需要将管理经验摆在重要的位置,管理经验是贯穿整个管理的核心内容是不容忽视的。另外,在机房管理中要对机房的数量、质量以及相关的管理模式等进行严格的监测,需保证各项都达到标准要求才可以。计算机技术的合理操作技术以及相关处理工作是管理模式中的重点,必须要保证有着现今的计算机管理技术的经验,才能提高新时期计算机技术管理运行的效率。
[关键词] 网络,计算机病毒,检测
中图分类号:TP393 文献标识码:A 文章编号:1003-8809(2010)-08-0215-01
1、计算机网络病毒检测机制的原理
首先,位于子网出入口处的探针可以将整个子网的数据报文捕获,其通过特定的协议栈可以正确地还原出子网中每一台主机发送、接受的数据。然后,本报警系统将捕获的数据报文进行包级检测,主要分为特征码检测(已知病毒)、流量检测(未知病毒);对于仍不能确定的数据报文进行连接还原,做文件级检测(已知病毒)、虚拟机检测(病毒变种)。通过这种机制,可以使本报警系统能够以最大的可能检测出病毒并降低病毒的误报率。
2、计算机网络病毒检测体系的框架
网络报警系统整体结构采用分布式检测集中式管理模型,网络报警系统的探针(检测网络病毒的并行处理机)放在监控的网络出入口上,其所检测的网络可以与病毒疫情管理中心(VESPC)异地,并采用专线连接。病毒检测程序的病毒库升级采用被动方式,由VESCP主动向探针提供升级服务。探针需要将检测到的己知病毒通过专线写入数据库,而中央控制台主要可以对病毒库进行升级,对探针进行远程控制。同时可以通过对各地探针写入数据库的日志进行监控,时时生成各地的疫情影响指数,对于可能发生疫情的地区进行及时预警。其分布式拓扑图如图1所示。
图1 分布式拓扑检测图
3、计算机局域网之子网划分模型
传统的网络属于共享式的,在局域网中的任何一个主机可以监听到所有节点机的数据报文。随着网络技术的飞速发展,交换式的网络设备逐渐普及到各个子网,这就造成网络中可能会出现盲点,即处于网络出口的探针监听不到交换式子网之何的通信数据。所以在子网的划分时需要考虑这种所谓的“盲点”的问题,探针监听的子网过大,肯定会造成盲点过多的问题。这种探针监听的子网过小的问题,必然会带来探针探测开销增加的问题。
为了解决这种问题,本报警系统在构造网络拓扑模型时采用根据实际情况动态增加、减少探测点,且不需要改变程序的作法。对于这种情况,典型的网络模型如图2所示,探针A所在的网络出入口为一级检测对象。但由于交换式网络的出现,探针B、C、D所在网络(如市县级网络)内部节点机之间传输的数据报文探针A检测不到,又由于其重要性不可忽视,所以在其出入口也放上了探针,视为二级检测对象。同样选取探针E所在网络作为三级检测对象。
图2 可扩展子网划分模型
这个子网的模型是随着子网在整个网络中重要性增强,可以随时设置该子网的探针;反之亦可。实际应用中不可能将每个盲点都找到,毕竟资金、设备等都是有限制的,可以根据实际情况选择性地添加探针。
4、可扩展的探测模型
网络带宽的高速增长对计算机的处理能力提出了新的挑战。为了解决不同网络带宽情况下的探针适应性问题,本文在网络病毒的报警系统中针对探针提出了具有可扩展性的并行处理体系结构。探针由数据分流器和N节点并行处理机构成。实际环境下,在400M流量以内只用一个节点机就可以正常处理;当大于400M流量的时候就得根据流量添加节点并行处理机和数据分流器了。数据分流器对接收的数据按数据连接进行均衡地划分,这是实现集群式体系结构模型高性能的关键所在。其不仅担负着负载均衡的作用,同时由于病毒预警系统分析的特殊性,需要将同一个传输层的连接数据报文分发到同一台处理机上,从而才能避免并行处理机之间的数据依赖。在TCP/IP中,一些协议分为控制连接和数据连接(如TFP),控制连接和数据连接源目的地址是相同的,端口是不同的,像这样的连接我们称之为具有依赖性的连接。在病毒报警系统中需要正常处理这种情况,从而能够避免节点机之间的数据通信。
总之,随着信息的网络化和全球化,人们日常生活中的许多活动将逐步转移到网络上来。主要原因是由干网络交易的实时性、方便性、快捷性及低成本性。互联网最大的优点是消除了地域上的限制,使得地球上的每一个人均可方便地与另一端的用户通讯。可以说网络在政治、经济、军事甚至是人们的日常生活中发挥的作用越来越大,有时是无可替代。但是随着互联网的广泛应用,计算机病毒问题特别是网络病毒也给人们带来了巨大的损失和困扰,也严重影响着网络的安全。因此,本文将对计算机网络病毒进行研究。
参考文献
[1] 韩杨,网络病毒的特点及其防治策略,计算机工程,2008(1)
[2] 李霞等,基于免疫原理的计算机病毒免疫系统初探,计算机工程与应用,2009(2)
关键词: 海量图像; 检索框架; 并行处理
中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2016)09-0212-04
Designed and Implementation of An Content-based Image Retrieval Framework for Magnanimity Image
LIN Wen-yu,DAI Qing-yun,CAO Jiang-zhong, HE Xiao-ming,LI Neng
(Guangdong University of Technology, Guangzhou 510006, China)
Abstract:With the advantage of the I/O performance of mass data of Hadoop distributed technology and HBase column oriented database, a new retrieval framework is put forword for overcoming the shortage of data storage, processing, real-time retrieval with a very large image database. The retrieval framework is applied to storing and processing the huge amounts of image data. It provides a serializable data type for image data processing, and inputs large image and converts data types by a general input module. Thus the framework can provide a feasible scheme for parallel processing of image processing and feature extraction algorithms.
Key words:magnanimity image; retrieval framework; parallel processing
伴随着计算机与移动电子设备的快速发展与广泛应用,各领域各行业的图像数据也日益增多。如何从海量的数字图像中快速有效地检索出有价值有意义的信息,成为了人们面临的一大难题,也促使了大量学者投身于图像检索技术的研究中。单从图像检索技术的发展而言,从基于文本标注的图像检索到现今各种基于图像内容的检索方法使得对图像特征的处理、特征提取、相似度比对等方面现已出现许多较为成熟的算法[1]。但对于海量图像的检索而言,除了对现有的图像的处理、表达与度量等方面的要求外,还增加了对海量图像数据存储的需求,以及对整个海量图像数据集的处理效率的要求。
传统的基于内容的图像检索,通过在单个计算机上以单线程对图像进行处理、特征提取,再将提取出的图像特征数据存入关系型数据库。在检索请求发起时,通过遍历关系数据库将查询图像的特征与全库特征进行比对并对比对结果进行排序,从而获得检索的结果。依赖单计算机的处理能力对现今图像数据增长的急速形势而言,传统的图像处理技术显然是杯水车薪。即使通过多线程技术来处理海量图像也不能完全解决对海量图像存储与处理效率的问题。随着大数据概念的兴起及其存储与处理技术的成熟,采用Hadoop技术与HBase技术的基于内容的海量图像框架,不仅可以解决海量图像的存储与数据传输的问题,还能将原本设计的图像检索算法直接移植到分布式环境中并行处理,依靠MapReduce集群的并行计算能力,实现对海量图像的检索。
海量图像中,超过八成的图像是容量在数MB以内的小文件,不适合使用HDFS等流式访问的大文件分布式存储技术。而基于HBase的海量图片存储技术方案,实现系统层的小文件合并、全局名字空间、并具有良好的通用性[2]。
1技术背景
1.1 基于内容的图像检索技术
针对图像本身的数据内容的操作与处理是基于内容的图像检索的重要特点。具体处理流程如图1所示。
对于图像特征的提取而言,虽然在实现的算法上各有不同,但处理对象都是图像数据,而算法提取的结果往往是能以文本表示的矩阵或数字。现有计算机的图像处理接口使得对数字图像数据的存储与读取简化为字节流的获取与输出,而基于内容的图像检索技术的研发人员专注于图像处理算法的研究,而不必在存储与读取图像方面耗费过多的精力与资源,这也是现今基于内容的图像检索技术快速发展的重要原因之一。
1.2 基于Hadoop的分布式技术
Hadoop的核心是HDFS分布式文件系统和MapReduce分布式计算框架,它提供了一系列分布式文件系统和通用的I/O的组件和接口,更提供了分布式数据处理的模式和执行环境。
MapReduce是一种用于数据处理的简单编程模型,支持包括Java、C++和Python等多种编程语言。在本质上,MapReduce的程序是并行化的,这意味着对大规模的数据分析能够在足够多的廉价机器上高效的并行执行。并行化处理大型数据集的能力正是MapReduce框架的最大优势。
1.3 HBase数据库
HBase是一个分布式的、持久的、强一致性的数据存储系统,性能优异的读写性能。它是列存储数据库,底层通过HDFS做数据存储,更支持MapReduce的批量式计算和随机查询。
HBase是用Java编写的,提供了原生的操作API,同时也支持用其他编程语音访问HBase。HBase的数据和坐标都是以字节数组的形式存储,这在间接上支持存储任意的数据类型。HBase只存放有内容的表格单元,数据文件的稀疏性非常适合存储文件数据[3]。
1.3常见的分布式图像检索框架
现在常见的分布式图像检索方法是部分分布式实现。部分分布式实现是指,通过借用传统的图像特征提取算法,将图像特征提取后存入关系数据库,再通过MapReduce处理文本化后的图像特征文件[4]。
面对海量的图像数据,没有把对图像的处理过程通过并行化技术来实现这将极大的影响整体的检索效率。不仅如此,面对图像来源的多变与不确定性是很难保证对图像数据的传输与存储,更无法对其进行并行处理与检索。
2框架设计与实现
2.1框架整体架构
Hadoop集群具有硬件成本低廉、集群规模灵活等优势,而其承载的MapReduce应用具有高效的并行计算能力。在框架的设计中也需要借助MapReduce框架的来开发对海量图像、图像特征数据的并行化处理程序,实现对海量图像数据的高效处理,既能以图像的可序列化数据类型将图像在分布式环境中存储、传输和操作,又能移植现有的成熟的图像特征提取等算法。为了对图像数据进行快速的查询与压缩式存储,存储图像的环境需要使用HBase面向列扩展的分布式数据库,图像以字节数组的形式存于其中,以较为出色的读写性能支撑分布式图像检索的运行。因此选择以HBase为数据存储库,以MapReduce程序实现并行处理模块,建立海量分布式图像检索框架。
检索框架主要分为图像输入模块、分布式集群模块和检索结果显示模块。图像输入模块以获取网络图像为基础,承载着采集图像文件并转换为设计的可序列化图像数据类型,随后转为字节数组存入HBase的图像表中等数据输入工作。分布式集群模块以可序列化的图像数据类型为接口,通过移植现有图像预处理、特征提取和相似度比对等算法实现并行化的图像检索。检索结果显示模块主要实现将相似度较高的一系列图像还原为图像文件,并显示或保存到指定计算机硬盘中。
框架整体架构如图2。
2.2可序列化的图像数据类型
2.2.1可序列化图像数据类型的用途和现状
序列化是指将结构化对象转为字节流以便于通过网络进行传输或写入持久存储的过程。可序列化的数据格式是指实现由Hadoop设计的紧凑、快速的接口Writable的类。Writable接口主要定义了一个二进制输入流方法和一个二进制输出流方法,MapReduce程序就是通过它来序列化键值对的值。针对Hadoop的Java基本封装类来说,大多是针对文本和数字数据的,而API中针对二进制数据的封装类BytesWritable由于底层是由int字段实现最长仅能容纳4字节的数据。因此要在Mapreduce程序中处理图像需要自定义序列化数据格式。
针对Hadoop的分布式图像处理,国内研究者大多是通过继承Hadoop的Java API提供的文件输入Fi1eInPutFormat类和文件输出格式FileOutputFormat类,将一个图像作为一个输入分片和输出分片,实现将图像文件转换为自定义的可序列化图像类型[5] -[7]。这样的实现一方面对输入路径和输入的图像文件数量存在限制,另一方面对自定义图像类型的设计不便于对图像进行处理。
2.2.2图像数据类型ImageWritable
对于可序列化的数据类型,除了要能适用分布式环境的传输和存储外,也要便于对数据的处理。因此系统设计的Hadoop API中基本的可序列化类型都有其对应的Java API基本数据类型,如Text类与String类对应。因此实现图像的数据类型若与图像处理常涉及的类相对应就能够便于并行式对图像的处理。在Java API 中BufferedImage类是处理图像最常用的类,而且它能将对象本身转换为字节数组,而字节数组又可以转化为Hadoop API的Text类型。Text类型是通过可变长的int型在字符串编码中存储字节数,最大值为2GB,这足够保存绝大多少的图片数据。此外,BufferedImage类带有图像常用的数据信息。
ImageWritable类的具体实现,如图3。其中ImageWritable的构造方法需由BufferedImage对象作参数;私有函数parseBytes实现将BufferedImage转换为字节数组,再通过字符数组可以转换为Text类型;用第二个Text类型保存图像文件的后缀名;用第三个Text类型保存获取图像的网址。
2.3 HBase的数据库设计
本框架针对的是海量图像的检索,除了要存储海量的图像内容的数据外,针对图像预处理后的图像数据,图像特征等相关数据,采用面向列扩展的HBase数据库进行存储。由于行键除了要求唯一性外还要求定长,因此建议将图像获取的路径或网址通过MD5摘要处理后的定长字段作为行键,而将获取图片的路径或网址作为一个列值存入。
HBase中单元格的默认块大小是64KB,但这是对于HBase的系统文件而言的。HBase对于列值是没有长度限定的。为了索引的性能,HBase仅会对行键的长度做检查,默认应该小于65536。由此可知,对于海量的小图像文件的数据而言,没有必要对图像的字节数组进行分段,这样将影响图片的存储和读取的效率。
对于图像检索的应用而言,HBase除了保存图像数据外,还可以保存预处理后的图像数据、提取后的图像特征等数据。对HBase的数据表设计见表1。
2.4图像输入模块
对于ImageWritable类来说只是MapReduce程序中一种键/值对中的值的数据类型,要将图像文件输入分布式文件系统或HBase数据库中,常规的做法是继承Hadoop API的文件输入格式类(FileInputFormat)。文件输入格式类以一个计算机本地图像文件为一个文件分片,再转换为自定义的可序列化类。
本框架的图像输入模块主要一个Web服务器和一个MapReduce程序。Web服务器具有文件上传和浏览等功能。MapReduce程序是实现图像数据获取和格式转换的工具。本地图像通过Web服务器就能转换为网络图像。再把一个记录网络图片地址的文本文件作为输入,在Map过程中通过获取文件流,生成BufferedImage对象,再将其转换为ImageWritable对象,最后可以通过SequenceFile文件保存到HDFS中。另外,也可以通过ImageWritable类获得对应的字节数组存入HBase的数据库表格中。针对图片输入模块将图像数据存入HDFS的MapReduce数据流如图4。
2.5分布式集群模块
框架中的分布式集群模块主要包括图片的预处理、图像特征提取以及特征相似度计算等MapReduce程序。由于有ImageWritable数据类型的支持,可以从HDFS或HBase中获取需要的图像数据,通过将现有选用的图像预处理的算法在Map过程中实现,将处理后的图像生成的BufferedImage对象构建出新的ImageWritable对象并通过Reduce过程写入HDFS的SequenceFile中或存入HBase数据库中。对于图像特征提取的MapReduce过程,与预处理不同的是MapReduce输出的是文本或数字类型的数据。相似度计算和排序的MapReduce程序的输入输出都是文本或数字的数据类型。分布式集群模块一种的实现见表2。
2.6检索结果的显示模块
检索结果显示模块主要是以某个输入图片为待检图片时,通过图像相似度计算和排序后,将相似度高的图像集合通过MapReduce程序从HBase数据库的表中读取对应的图像数据,并将其转换为BufferedImage对象,通过UI界面显示出来,还可将这些检索结果保存到计算机本地的硬盘上。
3 ImageWritable类的封装与实现
ImageWritable类是实现分布式图像检索框架的核心类。
首先要实现BufferedImage对象和byte[]对象的转换,这需用到图像文件的后缀名,一般可以从图像的网址中截取。代码如下:
private byte[] getBytes(BufferedImage image, String format) {
ByteArrayOutputStream baos
= new ByteArrayOutputStream();
try{
ImageIO.write(image, format, baos);
} catch (Exception e) {
e.printStackTrace();}
return baos.toByteArray();}
其中ImageIO类是Java API中常用的图像工具类,常用于读取或生成图像。
由于通过上面实现的getBytes方法可将BufferedImage对象转换为byte[]对象,而通过byte []对象可以建立Text对象。Text类是HadoopAPI的基础类,对数据的传输和存储由原生的接口保证正确性与可靠性。对于ImageWritable类实现的Writable接口的二进制读写流方法,示意代码如下:
public void readFields(DataInput arg0) throws IOException {
imagedata.readFields(arg0);
imageFormat.readFields(arg0);
imagePath.readFields(arg0);}
public void write(DataOutput arg0) throws IOException {
imagedata.write (arg0);
imageFormat.write (arg0);
imagePath.write (arg0);}
以上对ImageWritable类的封装与实现都是使用Java来编程实现的。
4结束语
本文提出了一种能够存储、处理和检索海量图像数据的图像检索框架。该框架以HBase为数据存储工具,并通过MapReduce程序并行化实现图像检索,解决了趋于成熟的多种图像检索方法无法存储、处理和检索海量图像的问题,具有数据输入灵活、处理数据量大,算法并行化的移植灵活等特点,适合应用于对现有的图像检索系统进行并行处理的重构。
参考文献:
[1] 李向阳, 庄越挺, 潘云鹤. 基于内容的图像检索技术与系统[J]. 计算机研究与发展,2001,38((3): 344-354.
[2] 朱晓丽, 赵志刚. 一种基于HBase的海量图片存储技术[J]. 信息系统工程,2013(8):22-24.
[3] 朱敏, 程佳, 柏文阳. 一种基于HBase的RDF数据存储模型[J]. 计算机研究与发展,2013,50((z1): 23-31.
[4] 王贤伟, 戴青云, 姜文超, 曹江中. 基于MapReduce的外观设计专利图像检索方法[J].小型微型计算机系统,2012,33((3): 626-632.
[5] 郑欣杰, 朱程荣, 熊齐邦. 基于MapReduce 的分布式光线跟踪的设计与实现[J].计算机工程,2007,33((22):83-85.
关键词:云计算;关键技术; 应用
1引言
自1945年第一台电子计算机出现以来,随着集成电路技术的不断发展,计算机的功能越来越强,体积越来越小,这使得计算机在全球范围内得以迅速发展。从那时开始至今以计算机为核心的IT产业已经历了三次革命,云计算则被认为是继大型计算机、个人计算机、互联网之后的第4次IT产业革命。
2 云计算简介
(1)什么是云计算
云计算(Cloud Computing)是由分布式计算(Distributed Computing)、并行处理(Parallel Computing)、网格计算(Grid Computing)等技术渐进演变发展起来的,是一种新兴的商业计算模型。目前国际上尚未对云计算提出一个统一的定义。我国云计算专家刘鹏给出的描述是:“云计算是一种商业计算模型,它将计算任务分布在大量计算机构成的资源池上,使用户能够按需获取计算力、存储空间和信息服务[1]” 。
简单地讲,云计算是以一种简化的方式提供服务,用以满足客户和业务的需求,提供无限伸缩及不同质量的服务来促进快速创新和决策的计算模型[2]。
(2) 云计算的特点
云计算的特点包括超大规模、虑拟化、高可靠性、通用性、可扩展性以及按需服务。
超大规模:“云”里的资源非常庞大,在一个企业“云”可以有几十万甚至上百万台服务器,在一个小型的“私有云”中也可拥有几百台甚至上千台服务器。
虑拟化:云计算允许用户在任何时间和地点使用各种终端获取应用服务。用户不需要了解具体的过程,只要一个终端并通过网络就可以获取“云”中的服务。
高可靠性:为了保证数据安全可靠,云计算采用数据多副本容错、计算节点同构可互换等措施,以保证服务的安全和可靠。
通用性:云计算可根据用户的需求构造出不同的应用,也可实现不同设备间的数据与应用共享。
可扩展性:“云”的规模是可以根据应用和用户增长的需要而动态扩展的。
按需服务:“云”是一个规模庞大的资源库,用户可根据自己的需要像买水、电一样向“云”购买资源并使用。
(3 )云计算的服务模式
云计算的核心是它的服务模式,按照NIST (National Institute of Standards and Technology,美国国家标准技术研究院)的定义,云计算主要分为三种服务模式[3]:
SaaS (Software as a Service 软件即服务):它是指用户获取软件服务的一种形式。云计算提供商将多种应用软件放在一个服务器上供用户下载并收费,用户则通过网络向提供商获取自己需要的软件服务并付费。
PaaS (Platform as a Service 平台即服务):它将开发环境作为一种服务来提供。在这种模式里,客户不需要购买硬件和软件,只需要利用此平台便能进行软件的开发、测试、部署和应用。
IaaS (infrastructure as a Service,基础设施即服务) :将硬件设备等基础资源封装成服务供用户使用。在此环境中,用户相当于在使用裸机和磁盘并可以让它运行不同的操作系统。
(4 )云计算的关键技术
云计算的关键技术一般指数据存储、数据管理、数据安全、虚拟化、并行处理、资源管理和系统管理技术[4]。
数据存储:云计算系统是由大量服务器组成的,当为数量庞大的用户进行服务时会产生海量的数据,要保证这些数据存储的安全和可靠就需要高存储率和高传输率的数据存储技术。云计算采用的分布式存储方式,它把数据存储在服务器集群中,用冗余存储和数据加密技术来保证数据的安全可靠。
数据管理:它是指在云计算中对海量数据进行处理并通过对数据挖掘提取有用的信息。
数据安全:云服务商应避免用户的数据丢失或被窃,无论在哪种服务模式下,数据安全都是十分重要的。数据安全又可分为数据传输安全、数据隔离安全和数据残留等[5]。
虚拟化:虑拟化技术是云计算、云存储服务得以实现的基础和关键。通过虚拟化技术可以把软件应用与底层硬件相隔离。它包括将单个资源划分成多个虚拟资源的裂分模式,也包括将多个资源整合成一个虚拟资源的聚合模式。
并行处理:并行处理是指将被求解的问题分解成若干部分,每部分均由一个独立的处理机来并行计算。在云中利用并行处理来求解问题无疑能提高计算机系统的计算速度和处理能力。
资源管理:云计算中的资源包括计算、存储、网络、基础设施等资源。资源管理就是从逻辑上把这些资源耦合起来作为一个单个的集成资源提供给用户使用。由于云计算的资源在地理上是分布的,在本质上是异构的且有不同的访问代价模型,因此资源管理主要就是处理好边界问题,并需要有安全和容错机制。
系统管理:云计算中的系统管理是云计算的“神经网络”,通过这种技术能够使大量的服务器协同工作,方便地进行业务部署和开通,快速发现和恢复系统故障。
(5 )云计算存在的问题
首先云计算至今没有一个统一标准。由于云计算技术还在发展之中,各大云服务商纷纷推出自己内部的技术标准,这就为云服务商之间进行数据迁移、转换等兼容性问题带来一定的困难。
其次是数据的安全。虽然云存储为用户提供了接近无限的存储空间,但多数用户对自己的数据在云中是否安全仍存在质疑,而且数据在“云”中进行计算时用户也不知道数据到底在什么地方。另外黑客攻击、计算机病毒、木马等传统计算机安全问题依然存在,个人和企业隐私的泄露很有可能发生。所有这些问题不仅需要技术上的改进,也需要在法律上进一步完善。
最后是系统的稳定、可靠性问题。在云中支撑整个系统正常运行的是大型服务器集群。当系统规模持续增加后,系统的可靠性和稳定性就成为最大的问题之一。只有通过有效的系统配置、监控、管理、调度以及虚拟化等技术手段,才能实现一个强大的、动态的、自治的计算存储资源池,才能提供云计算所需要的大容量计算力[6]。
3云计算的应用
近几年来随着谷歌、亚马逊等大公司对云计算技术的不断推进,使得云计算技术在国内外的各个领域都得到了广泛的应用,下面介绍几个典型案例。
电子商务。它是指消费者与商户之间通过电子商务网站进行交易和在线支付的商业活动。云计算的加入可以改善系统的安全性,减少因各种安全问题而导致的数据丢失。可以把企业对网站维护和升级的问题交给“云”处理,这样不仅可以降低成本,还可以改善企业电子商务应用的灵活性和专业性。
气象预测。气象预测实际上就是对采集的大量数据进行科学计算。传统的气象预测要靠大型计算机或巨型计算机来完成,而利用云计算不仅可以提高计算的速度,降低成本,还可以解决海量气象数据存储的问题。
计算机安全。目前计算机安全厂商如瑞星、趋势科技和赛门铁克等都先后提出了“云安全”的概念。用户不必在电脑单机中安装杀毒软件,只需要连接互联网便可实现查毒、杀毒,使病毒防治工作更加安全可靠。
网络应用。在互联网中如迅雷的下载,谷歌的视频分享、搜索引擎、电子邮箱等应用都使用了云计算技术,用户可以更方便快捷的使用这些网络资源。
4 结束语
综上所述,随着云计算在社会中的作用越来越显现,云计算必将利用其技术、业务优势影响人们的工作和生活,进而推动整个社会信息化的发展。
参考文献
[1]刘鹏.云计算(第二版)[M].北京:电子工业出版社,2011.
[2]姚有真. 云计算及其发展趋势[J].通讯管理与技术.2011.8:13-15.[3]De S K, Krishna P R.Clustering web transactions using rough
Approximation [J].Fuzzv Sets and Systems,2004, 148:131-138.
[4]曾剑秋,刘雪娇.云计算探源[J]. 移动通讯,2012.3:11-14.
――获奖感言
莱克斯科技(北京)有限公司 LYX Solutions Inc. 创建于2005年。莱克斯以高速数据通信应用平台(USAP)为基础,辅以技术创新(ECS专家会诊系统、零拷贝技术、DPI/DFI等),打造了高性能数据处理系统。LyxOS是USAP平台的基础,ESC专家会诊系统、虚拟设备管理、DPI、DFI以及零拷贝等是USAP平台的核心技术。
Lyx OS系统
LyxOS是莱克斯科技自主知识产权的操作系统。它是莱克斯高速数据通讯平台(USAP)的核心部分,采用模块化设计和并行数据处理理念,具有高效性、高安全性、高健壮性、扩展性、可移植性、模块化、标准化等特征。
LyxOS在目前X86平台基础上可以高效、稳定地运行,能够支持多种硬件平台,如NP、ASIC、多核等。LyxOS采用了并行数据处理的设计方法,其核心的专家会诊系统(ECS)把传统的串行数据处理方式优化为并行处理模式, 通过系统策略配置各个功能模块,可以实现全方位的需求满足和安全控制,极大地提高了网络安全性和高效性。
ESC专家会诊系统
USAP采用了专家会诊系统,对多个安全处理单元一次并行处理,可以使得数据包分析处理时间大幅度缩减。
ESC专家会诊系统实现上就是一种包处理技术及包处理方式,它改变传统的包处理为并行处理,减少了数据包解析的次数,理论上大大提升了系统对数据包的处理效率。在ESC专家会诊系统中,从数据检测、数据识别、应用及协议匹配到管理策略匹配只对数据进行一次分析处理,与传统数据处理过程对比,明显提高了数据的分析处理效率,提升了系统实际处理能力。
虚拟设备管理
莱克斯在NSG的服务平台上构建多台虚拟的计算机系统,每个操作系统都可以进行虚拟的区分、配置而不影响真实硬盘的数据,也可以通过网卡将多几台虚拟机用网卡连接为一个局域网,极其方便。实现每个虚拟的计算机上安装一个NSG应用程序,并将每个虚拟的NSG提供给不同的公司使用。在每个公司看来,就像是登录到一个真实的NSG一样,可实现对本公司所有网络行为的管控。
DPI与DFI数据流分析引擎
DPI(深度数据包检测)和DFI(深度/动态数据流检测)相结合的技术,对数据包进行2到7层的深入解析,同时对数据流进行流量行为分析,增强了系统对网络流量的智能识别,提高了数控流量监控的准确性。DPI和DFI的结合,使数据识别的准确率可达95%以上。
Cell芯片最初是由IBM、索尼和东芝共同为游戏主机而研制的。但是最近它很不“安分”,近一年来它跳出游戏主机的心脏,积极拓展到医疗图像、高性能计算等领域。而在中国,Cell芯片的应用才刚刚开始。去年10月,中国科学院计算机网络信息中心和IBM启动了为CNGrid提供基于Cell的刀片服务器计算节点的项目,并鼓励开发各种能够充分利用其独特性能的应用。今年4月,国内第一台基于Cell的刀片服务器系统IBM BladeCenter QS20投入运行。目前,中国科学院各院所、多所大学以及一些国内科研和商业机构可以通过CNGrid使用这一位于北京的中国科学院超级计算中心的系统。Cell在中国的首次应用非常顺利。
何以“越界”
从游戏主机到科学甚至商业计算,Cell芯片何以跨越差别如此巨大的应用领域?IBM下一代计算系统和技术杰出工程师Robert Guernsey博士解释说,IBM BladeCenter QS20是一种基于Cell的刀片系统,专为Cell高性能计算力以及图形密集型应用而设计。尤其是Cell突破性的多内核架构和超高速技术能力采用了通常用于IBM最尖端服务器上的并行处理技术,大大提高了实时响应速度,有效地提供了类似超级计算机的性能。因此,医疗图像、金融模拟、多类型建模、航天计算、数字动画和网络通信等领域都是Cell非常适合的拓展方向。
就CNGrid的初步应用来看,BladeCenter QS20将地震应用的计算速度提高了60倍。也就是说,地震预报专家可以在短短几分钟内得到以往需要数小时才能得到的计算结果。国家863计划高效能计算机及网格服务环境重大项目总体组组长钱德沛教授透露,目前,Cell多核并行处理技术的能力和性能已经在地震预报、分子动力学仿真以及MPEG2代码转换机等应用中有了体现。
中国国家网格运营中心主任迟学斌教授表示,地震预测和分子动力学仿真都是计算密集型应用,而且分子动力学仿真还是存储高速访问型应用。从目前CNGrid的应用效果来看,Cell可以适应于这两种应用。可见,当初为游戏而生的Cell现在在科学计算和超级计算领域也开始发挥作用。
困难仍然不小
但是,作为一款专用设备,Cell的体系架构和传统处理器不同,因此在编程方面会有很多新问题。也就是说Cell能否成功“越界”应用,不仅取决于它本身的体系特征,还要有丰富的软件使它可以真正应用。在本次CNGrid的首次应用中,CNGrid和IBM就联合组建了测试团队,通过进行一系列优化软件和Cell的硬件潜力开发来实现Cell的高性能计算应用。钱德沛坦言,Cell现在的应用还很少,其应用移植或应用开发还面临很多问题。
据悉,编译器、并行处理环境等在程序设计上都需要大量工作,尤其是对于一些大型程序所需要的时间较长。在Cell应用于CNGrid不到半年的时间里,已经移植了一些IBM演示程序,并且,双方共同开发了地震预测和分子动力学仿真应用。
IBM中国技术学院院长John J. Turek博士认为,IBM的Cell技术梦想就是将多核芯片不断推进。为了加快Cell应用,IBM将在软件上开发更多通用工具。此外,应用开发商也可以用C++等传统编译语言来编写程序,再编译成Cell可以识别的指令。IBM还为推动Cell的应用在全球举办了一年一度的Cell芯片编程大赛。
据悉,IBM在全球也正在开展多方面的Cell深度合作研究。不过,从网格角度来看,Cell和CNGrid的合作是全球唯一的。在过去的5年中,CNGrid一直由863计划提供支持。与其他国家的网格基础架构一样,CNGrid是一个对各种新信息技术基础架构进行试验并支持各类应用的测试平台。最近它启动了一项名为高生产力计算机和网格服务环境的863重点项目,其主要目标是开发高生产力计算系统以及先进的网格技术。
混合系统是大势所趋
既然Cell的“越界”应用才刚刚开始,软件开发需要大量工作,为何CNGrid还会与IBM合作来第一个吃螃蟹?
“这是CNGrid必然的选择。”钱德沛表示,“因为混合系统是未来的发展趋势。”如何理解这一趋势呢?以CNGrid目前的计算机设备为例,虽然它一直采用不同的平台,比如Intel、Sun和IBM Power,但基本上都是传统的同构系统。而混合系统是未来的方向。这是因为,提高计算机性能不再只有提高主频这一种立竿见影的方法,还有另外两种方式:第一种方式是在芯片中采用多业务并行来处理数据密集型业务,第二种要靠加速器专门发展面向特定问题的硬件。两方面的混合协作,共同处理业务,将使混合系统逐渐普及。由此可见,与Cell的合作一方面可以促进Cell的应用,另一个方面对CNGrid来讲,也需要在这样一个变革时期快速掌握混合系统的技术。
Guernsey也表示,计算机正在发生革命性的改变,硬件的变革包括加速器如何在硬件中扮演关键角色,软件的变革则在于如何让混合系统能够更好地进行应用协作。此外,他还透露了Cell的技术路线图。在今年年底,BladeCenter机箱中将可以放置14个刀片。由于每个刀片仍有两个Cell芯片,因此,同样大小的空间可以有28个Cell芯片,而且内存容量也将扩至两倍,同时I/O也有很大提升。
链 接:Cell芯片一览
Cell芯片凭借专为计算密集和宽带富媒体应用而优化的最新技术,让日常生活享受超级计算。它采用突破性的架构设计;它并非为某个操作系统定制;它是一种多内核芯片;它采用专用电路技术。
Cell是一种多内核架构:包含8个SPU,每个SPU包含128个128位输入寄存器文件和256KB的本地存贮区;包含1个带有VMX的64位Power架构,该内核采用双线程SMT设计,将系统内存当作是一个10路统一线程机器;具有2.5MB的片内内存(512KB L2和8×256KB);采用模块化架构,通过增加或减少SPU数量,可以调整其浮点运算能力。
Cell是一种宽带架构:兼容64位Power架构;其SPU采用SIMD指令和本地存贮区的RISC架构;每个芯片可以处理内存的128个并行任务。
1指导思想和内容组织
“计算机组织与结构”是高等学校计算机科学与技术学科一门重要的专业基础课程,也是IEEE&ACM CC2001/CC2005和我国CCC2002及教育部高等学校计算机科学与技术教学指导委员会制定的《专业规范》中的核心课程。从课程地位上,它在先导课(如“计算机导论”、“数字逻辑”等)和后续课(如“微机原理与接口技术”、“计算机系统结构”等)之间起着承上启下的作用。同时,“计算机组织与结构”课程对学生今后进一步深造学习研究生课程“高性能计算机系统结构”、“分布式计算机系统”等打下一个重要的基础。
从教学内容上讲,“计算机组织与结构”主要讲述单处理机系统的基本硬件组成以及组成计算机各主要部件的逻辑结构、工作原理和设计方法。由于计算机学科发展快、应用广、知识和技术更新快等特点,“计算机组织与结构”课程在教材内容的组织和编写上既要保证传统的知识和理论的完整性,又要不断地进行内容更新,为学生介绍计算机发展的新技术、新知识。
能充分体现课程特点的教材对提高教学水平,使学生更好地掌握所讲授的内容起着十分重要的作用。因此,我们所编写的《计算机组织与结构》教材着重考虑了以下几个方面的要求:
(1) 内容全面,基本涵盖CC2001/ CCC2002及《专业规范》中“CS-AR计算机体系结构与组织”所要求的核心知识单元。各章节涵盖的知识单元主要包括:
AR2 数据的机器级表示(核心学时):第2章;
AR3汇编级机器组织(核心学时):第3章;
AR4存储系统组织与结构(核心学时):第4章;
AR5接口和通信(核心学时): 第5章、第6章;
AR6功能组织(核心学时):第7章;
AR7多处理和体系结构(核心学时):第8章。
(2) 基本概念清晰、准确,一些重要的概念、术语、符号等符合相关国际标准,使学生学习掌握的内容能与国际接轨。
(3) 条理清晰、系统性强,使学生既建立计算机“整机”概念,又能逐级细化,按照从整机到部件自上而下的思想进行课程内容的组织,使学生在每一章节的学习中,都清楚所学章节的内容与整机的关联,让学生更容易掌握组成计算机各功能部件的原理和设计方法。
(4) 有合理的知识结构,为进一步深入学习有关计算机后续课程打下良好基础。考虑到近些年并行处理技术的发展和应用,本教材除了深入讲述单处理机系统的组织与结构外,还专门开辟一章的内容讲述当今流行的并行处理技术,如多处理机系统、群集系统等。
(5) 力图反映新技术、新动向,以适应计算机技术发展的需要,使学生“学以致用”。
本教材的编写从设计者的角度出发,按照组成计算机系统的各功能部件进行章节的划分,全书共分8章,其中:
第1章首先介绍计算机的发展历程;然后介绍按IEEE的分类法的计算机的分类;最后,作为本书的一个“序”,概括性地介绍计算机的硬件组成及计算机的层次结构。
第2章首先介绍二进制等基本的进位计数制;再介绍在计算机中是如何对我们日常处理的数值数据和非数值数据(主要包括字符、汉字等)进行二进制编码表示的;然后介绍数值数据在计算机中的二进制运算方法和实现;最后介绍对计算机中的数据在传递过程中产生的差错进行检测而使用的数据校验码。
第3章首先介绍计算机中汇编级指令的格式、地址结构;然后介绍指令及操作数的寻址方式,以及指令的种类和功能、典型指令系统的组成等;最后对精简指令系统RISC进行介绍。
第4章首先介绍存储器的组织、分类和分层结构;然后介绍计算机主存储器的组成与工作原理;最后介绍提高存储系统性能的交叉存储技术、高速缓冲存储器及虚拟存储器技术等。
第5章首先介绍计算机输入输出系统的组成;然后对计算机输入输出的控制方式进行详细讨论,包括程序控制方式、中断控制方式、DMA控制方式和通道控制方式等;最后介绍计算机存储设备――磁盘系统以及由磁盘阵列组成的RAID技术。
第6章首先讲述计算机内部各部件之间的总线互连结构,介绍总线的基本概念、总线的类别和总线的控制方式等;然后列举几种现代微机中常用的总线标准:ISA、PCI等;最后介绍几种目前在计算机中常用的外部总线接口标准:USB、IEEE 1394和SCSI等。
第7章首先介绍CPU的功能与组成;然后通过一个模型机的例子介绍CPU的指令周期及执行指令的过程;最后介绍CPU控制部件设计的两种主要方法:硬布线设计法和微程序设计法。
第8章首先介绍计算机系统的并行性概念,对计算机中使用的时间重叠、资源重复和资源共享等提高并行性的技术途径进行概要性的介绍;然后分别介绍现代计算机普遍采用的流水线技术和多处理机技术等并行处理技术;最后对近些年发展起来且应用非常广泛的机群系统进行讨论。
2教材的主要特色
一门好的精品课程需要高质量的教材作支撑,高质量的教材既要全面覆盖相关知识领域的内容,又要将这些知识领域的内容很好地融会贯通起来,做到通俗易懂、循序渐进,既便于教师的教学使用,又便于学生的自学。结合计算机学科教育重基础、重发展、重实践、重创新的要求,本教材在编写上,一方面理论与实践相结合,将枯燥理论知识的讲解通过对实际机器系统的解剖,使学生能更好地理解和掌握所学习的内容。例如,为了给学生建立整机的概念,本教材在第1章,通过将学生日常所熟悉的实际PC机与计算机的基本组成部件进行比对的方式,使学生对计算机整机的组成有一个初步的认识,对组成计算机系统的主要部件的基本功能有一个初步的了解。另一方面,围绕各章节的内容,本教材穿插了一些“知识拓展”,介绍一些计算机系统方面相关知识以及计算机发展的新技术、新知识等。如在第1章穿插了知识拓展――摩尔定律、知识拓展――计算机的性能评测,在第4章穿插了知识拓展――新型动态存储器SDRAM和DDR,在第7章穿插了知识拓展――网络存储系统,在第7章穿插了知识拓展――CPU未来微结构发展等等,为学生开拓视野,增长知识。
另外,为了帮助学生更好地学习本课程,专门建设了计算机组织与结构课程教学网站。网站的课程介绍部分介绍了本课程的教学大纲、教学的组织和安排等;课程教学部分提供了按课堂教学单元进行组织的教学内容、重点难点等;教学资源部分为学生提供了本课程的教学课件和参考资料;学习讨论部分提供了一个学生与教师以及学生与学生之间的交流平台等。另外,教学管理部分还进一步为教师提供了一个学生管理、作业管理、考试管理和成绩管理等的平台,教师可以通过本课程网站更好地组织本课程的教学。本教材的课程教学网站地址为:218.64.56.33/coa。
一.虚拟演播室技术与色键技术
色键技术是电视节目制作中常用的技术。站在蓝色幕布前面的演播室主持人由前景摄像机拍摄,在特技机的色键电路中,由主持人的画面产生键信号,在主持人画面与背景画面进行叠加时,由键信号挖去背景中蓝色以外的画面,而把主持人的图像嵌插在背景画面中,形成了主持人置身于背景画面的图像,这种技术俗称为“抠像”,在普通的色键技术中,背景画面往往是已经录制好的节目。
虚拟演播室技术与色键技术十分相像,它也是由前景的主持人为主的画面和背景画面,采用色键的方法构成一体,产生人物置身于背景的组合画面。然而,在真正的虚拟演播室技术中,背景是由计算机产生的,计算机接受摄像机的控制,随着摄像机的推拉摇移,改变俯仰角度,计算机相应改变画面的大小和角度,并且为了正确再现前景与背景的空间透视关系,还需对前景和背景实施空间锁定, 这种空间锁定是通过精确测定摄像机的所有定位参数(包括镜头调整参数)来实现的。
二、虚拟演播室的原理
虚拟演播室的原理如图(1)所示,主持人一般是在呈“U”型或“L”型的蓝箱里做着各种表演,实际的、或“真实”的前景摄像机对其进行拍摄,背景图像(画面装饰、道具和风光布景)大都是三维立体图,由制作人员预先用计算机生成(即预先着色好),前景与背景图像在传输或录制过程中混合。这种合成图像的制作方式即被称为“虚拟”。故此,这种图像摄录系统也被称为“虚拟摄像机”,与传统的蓝幕色键技术截然不同的是,虚拟演播室技术中的真实摄像机(前景图像)与虚拟摄像机(产生背景图像)始终保持同步互锁,为此,必须对真实摄像机的以下参数进行确定:
(1)蓝幕背景的X、Y、Z坐标值。
(2)摄像机的俯仰、摇移以及可旋转角度的数值。
(3)镜头的焦距和聚焦。
然后,真实摄像机的所有上述参数都送入计算机分析,系统对与前景图像相关的虚拟背景图像发出控制指令。最后,录有表演者和真实道具的前景图像与计算机生成的背景图像在色键控制器里合成为一幅画面,传送至视频切换台输出。
由此可见,虚拟演播室系统可分解为三个部分:摄像机跟踪部分、计算机虚拟场景生成部分及视频合成部分。
1.摄像机跟踪部分。
摄像机在拍摄过程中有平移X、纵移Y、高度移Z、水平角、俯仰角、镜头变焦Z00M,聚焦FOCUS等变化,这些参数的改变会引起所摄图像视野与视角的改变,为了模拟人物所在的三维环境,计算机必须根据这些参数不断调整三维视图。而摄像机跟踪部分的作用正是收取摄像机的位置信息和运动数据,实时的跟踪真实摄像机,以保证前景与计算机背景“联动”。由于这种“联动”是以高速计算机运算的结果,而这种运算永远是存在着一个运算时间,所以这种“联动”是有时间差的。只是设计者保证使这种时间差在一个人眼不易察觉的范围之内,因此要求前景摄象机只能在一个有限的速率内改变位置参数。 目前虚拟演播室的摄像机跟踪系统主要有以下几种方式。
(1) 基于传感器的系统。 该系统通过安装在摄像机各部分的机械传感器来获取各种信号参数, 平面X、Y位移传感器,一般有光电式、机械式和导轨式等几种,光电式属非接触型,误码率低,连续性好,且摄像机移动不受限制,但必须在摄像机移动通道地面画上格点,以便识别。机械式属接触型,由一个与地面相摩擦的圆球带动水平、垂直两个方向的光电码盘,光电码盘送出X、Y数据,此方式摄像机移动也不受限制,但使用时间长了易产生误差。导轨式误码率低,且必须铺设轨道,使摄像机的移运受到一定的限制。 高度位移Z传感器,一般安装在升降机上,随升降机的运动检测Z信号。 水平角度和俯仰角度传感器安装在摄像机云台上,并分别与云台的水平转轴和垂直转轴连动。 聚焦Focus和变焦Z00M传感器,则附于镜头的聚焦齿轮和变焦齿轮处。 该系统速度很快,方法较为简便直接,是目前虚拟演播室最常用的摄像机 跟踪方式,但该方式有其固有的缺点,比如得到的摄像机参数精度不高,限制了摄像机的运动,系统的标定很麻烦等等。
(2)基于图形分析系统 该方式需要把一个精确的网络图案以两种不同的蓝色形状绘制于蓝背景上,通过摄像机识别这种图案并与计算机跟踪软件及硬件,预先确定的模型进行对比,以确定物体与虚拟背景的透视关系及距离。 该系统精度较高,无需镜头校准,同时摄像机可以不同轨道进行运动,但该系统在对蓝色网格图案制作色键过程中的阴影很难处理,很难保持良好的键的质量,摄像机拍摄不能垂直于蓝色网格图案,必须偏离30度角以上,否则不能准确定位,而且摄像机必须同时观察4个网格点以保持跟踪,这就不可能对人物进行特写镜头的拍摄,摄像机必须缓慢移动以避免跟踪混淆引起跳帧。还有一点,此系统需要额外的工作站把网格坐标信息转换为摇移,俯仰及变焦坐标信息供图形计算机使用,这样图案辨识的延时有时高达8至12帧。鉴于上述须待解决的若干问题,网格识别方案在目前的虚拟演播室系统中使用的不多。
2.计算机虚拟场景生成部分
虚拟演播室的场景是计算机绘制的图形,计算机绘图有二维和三维之分,因而虚拟场景也有二维和三维之分,二维场景没有厚度,只是一个平面图形,所以二维虚拟场景只能作为背景平面,出现在真实人物的后面,而三维虚拟场景中的景物具有Z方向的厚度,是立体的,以背景中的一个长方体为例,长方体是一种六面体,其底面和背面一般是看不见的。然而随拍摄角度的不同,有可能看见其正面,侧面和顶面。在计算机中应保存其正面、侧面和顶面的图像,实际上,在计算机内,其正面、侧面和顶面的图像都分解为像素的形式,保存在存储器中,当摄像机处于任意的角度位置时,计算机即进行计算,获得相应的画面。同时,三维的场景中,虚拟景物既能作为真实人物的前景出现,也能作为背景出现如图(2)所示: 并且真实人物还能围绕虚拟景物运动如图(3)所示:
这样在视觉效果上更具纵深感,更加真实。显然对于计算机的运算能力、运算速度提出了很高的要求。当然还必然进一步考虑许多细节问题,比如灯光和阴影的问题,当摄像机改变其取向位置时,根据照明条件,阴影部分将发生相应的变化,背景画面应该能够反映出这种变化。
3.视频合成部分
虚拟演播室系统视频合成的基本技术是色键器抠像,摄像机拍摄的蓝幕布前的真实景物:通过色键器进行抠像处理,与计算机生成的虚拟场景合成一个画面。
(1)深度合成技术
虚拟演播室的一个基础就是前景和背景合成的时候,前景的演员可以被背景的内容覆盖,为了做到这一点,一般都采用深度合成技术。所谓深度就是前后关系,这一种技术要考虑两路键信号的深度信息,就可以让背景的内容在演员前面。这不同于二维图像的层技术。因为是三维图像的各像素都带有深度信息,而且各像素还有与摄像机的距离的信息,由这两部分的信息决定前景和背景的像素的可见性。在实时生成的时候,高性能的终端通常使用一个深度缓冲区来贮存像素的深度值,但是在常规演播室里面,实际信号是没有深度信息的。而且也没有一个方法能够实时的赋予前景信号以深度信息,可以采用一个估计值,即估计摄像机与演员之间的距离,前景信号通过色键抠像得到演员部分的信号,先与背景作常规意义上的合成,得到色键序列值,这一部分确定了前景在背景中的位置,再由深度值来进行前后关系的调整,最后输出的深度键值序列就确定了前景和背景的可见性,能够按常规方法合成。
(2)同步技术
要使前景和背景天衣无缝的合成,既要让两个摄像机的参数保持一致,还要让两个摄像机同步,因为当进行实时合成时,前景信号的每一帧是与背景信号的对应帧合成。背景信号因为摄像机跟踪系统和实时生成都要耗费时间,所以要让前景信号延时来保证与背景信号的同步合成。
三、系统的实现
从上面的原理分析可以发现,虚拟演播室每生成一帧图像,就要处理相当多的数据,在实拍时还要求处理速度,达到实时的电视速率,即一秒钟就有25帧图像,如果按常规的处理方法,一切由计算机串行处理,是绝对不可能完成的,这就对虚拟演播室的软硬件设计提出了较高的要求:
1.硬件工作平台
为了使虚拟背景画面与摄像机摄取的前景画面相配合,系统至少要工作在配置有视频处理板的SGI高性能工作站,同时为了完成实时的图像序列生成,必须把这个任务按处理内容分类进行并行处理;实时的完成摄像机跟踪运算,完成人工背景和实际信号深度,支持三维自动建摸的多重处理,对于预处理结果的描述和图像处理的工作,每一个任务要有一个专门的硬件来完成。
2.软件系统
软件系统设计的思想是根据硬件的并行处理的特点,一般采用自适应并行处理的计算。这个处理在实际上就是由一系列的处理器组成的服务器盒,这个服务器盒能完成虚拟演播室所需的各种处理,另外,自适应并行处理模式将运行和编程分开。不需要在编写程序时作并行处理的考虑,因此该种设计方法,因为处理问题较为灵活而成为虚拟演播室软件设计思想的主流。
四、虚拟演播室的现状与未来
自从1994年第一套虚拟演播室在国际广播电视会议上展示以来,世界上有很多厂家推出了自己的虚拟演播室系列,但主要的有四个厂家即:
(1)以色列的ORAD公司以其独有的模式识别技术和图像处理技术开发出高性能Cyberset O及入门级Cyberset Et系列产品。
(2)离散逻辑公司的Vapour是采用高性能终端,全功能的实时虚拟演播室系统。
(3)E S公司的Mindset是基于NT平台,采用Orad公司的摄像机跟踪系统,能够接多个摄像机。
(4)RTSET公司的Larus Otus采用传感器跟踪技术,速度快,提供了灵活的合成能力。
另外还有ACCOM的ELSET自动生成特征,让用户能很方便的根据自己的意愿来建模和灯光设计;Digmedia的Brainstorm Estuio产品是采用模式识别方法定出摄像机的参数,在建模上功能比较强;For-A的Didi Wmp采用了Orad公司的视频处理和延时设备,采用多通道结构,能实时处理等。
因为高性能产品整套系统的价格比较高,难以普及,所以各厂家又推出了入门级产品,如Orad的Cyberset E以满足众多的电视台和影视制作单位,采用性能较低的终端如:SGIO2采用WINDOWS NT作为平台,进行非实时的图像合成,系统采用开放式结构可以扩充到高性能的实时系统。
就目前情况看,虚拟演播室相对于传统演播室的优势是不言而喻的,但就其未来的发展,虚拟演播室还需要解决其自身的若干缺限:
·蓝景区中主持人及演员的活动范围及定位。
·为抑制噪声边缘需要在实施键控时格外小心。
·普遍使用的槽置单调光、柔光。
·演员投在虚拟地面、墙面和人工景物上真实阴影的保存。
·自动Z键(深度信息)控制。
·前后景的同步及延时控制。