一种全景视频处理方法、装置及系统与流程

文档序号:16008588发布日期:2018-11-20 20:22阅读:175来源:国知局

本申请涉及视频处理技术领域,尤其涉及一种全景视频处理方法、装置及系统。



背景技术:

当今对图像传输过程中对分辨率的要求越来越高,尤其是在VR图像传输领域,因为VR需要双目输出,所以在传输上就有双倍大小图像输出的需求,比如一幅4k的图在普通网络传输上就有(3840*2160*4)字节大小的传输量也就有32M的需求,而传输一段每秒24帧的视频图像更是需要每秒32M*24=759M的大量数据,而VR的双目输出就需要759M*2=1518M每秒的数据。

根据目前的可行性方案,如果发送端使用X264编码压缩然后在接收端使用h264解码,可以实时传输压缩后的视频流数据,并能有效降低网络传输数据量。但是网路传输领域还是存在传输高清、特高清视频会导致延迟加重的情况和无法即时性观察的可能性,特别是这种4K或者8K的视频传输压力则更大,况且相对应的视频编码领域压缩率越高则清晰度就越低,无法满足又能即时传输又能让客户观看高清视频的可能性,也无法满足VR的双目输出全景高清图的需求。



技术实现要素:

本说明书实施例提供了一种全景视频处理方法、装置及系统,用以解决能即时传输又能让客户观看高清视频的可能性的问题,采用本申请实施例,不仅能有效减少全景视频数据传输量,还不降低用户浸入式VR体验效果。

为解决上述技术问题,本说明书实施例是这样实现的:

根据本说明书实施例第一方面,提供一种全景视频处理方法。包括:

获取全景视频的视频帧;

使用神经网络算法对每帧图像内的焦点对象进行分类和边框回归,获得每帧图像的焦点区域;

高清输出焦点区域图像数据,并同时压缩输出每帧背景图像数据给视频播放装置。

可选的,获取全景视频的视频帧,包括:全景视频的视频帧是使用全景摄像头,导演用摄影构图技术角度的方法为每个镜头设置焦点对象。

获取全景视频的视频帧,还包括:设置焦点对象即为设置训练样本标签。

可选的,使用神经网络算法对每帧图像内的焦点对象进行分类和边框回归,获得每帧图像的焦点区域,包括:

神经网络算法采用Faster R-CNN算法。

Faster R-CNN算法的训练样本是由导演确定焦点对象类别,并通过分离算法获得的。

分离算法采用OpenCV中提供的FLANN近似K近邻算法。

可选的,高清输出所述焦点区域图像数据,并同时压缩输出每帧背景图像数据给视频播放装置,包括:焦点区域包含焦点对象的类别、位置框及大小等信息。

高清输出所述焦点区域图像数据是将焦点区域图像数据以4K分辨率进行传输。

压缩输出每帧背景图像数据是指将每帧图像缩小成1k的图用于普通传输。

根据本说明书实施例第二方面,提供一种全景视频处理方法。包括:

接收全景视频处理装置输出的焦点区域图像数据和背景图像数据;

融合焦点区域图像数据和背景图像数据;

播放融合后图像数据画面。

可选的,将焦点区域图像数据和背景图像数据融合后播放画面,包括:

融合是指焦点区域图像数据边缘轮廓1和背景图像数据边缘轮廓2之间的过滤带中自动生成线条和形状的一种方法。

根据本说明书实施例第三方面,提供的一种全景视频处理装置。包括:输入模块、分类和边框回归模块、输出模块;

通过输入模块获取全景视频的视频帧;分类和边框回归模块使用神经网络算法对每帧图像内的焦点对象进行分类和边框回归,获得每帧图像的焦点区域;输出模块高清输出焦点区域图像数据,并同时压缩输出每帧背景图像数据给视频播放装置。

可选的,输入模块获取全景视频的视频帧,是使用全景摄像头,导演用摄影构图技术角度的方法为每个镜头设置焦点对象。

输入模块,还包括:

设置焦点对象即为设置训练样本标签。

可选的,分类和边框回归模块包括:

神经网络算法采用Faster R-CNN算法。

的分类和边框回归模块,还包括:

Faster R-CNN算法的训练样本是由导演确定焦点对象类别,并通过分离算法获得的。

分类和边框回归模块,还包括:

分离算法采用OpenCV中提供的FLANN近似K近邻算法。

分类和边框回归模块,还包括:

焦点区域包含焦点对象的类别、位置框及大小等信息。

可选的,输出模块高清输出焦点区域图像数据,并同时压缩输出每帧背景图像数据给视频播放装置,包括:

将焦点区域图像数据以4K分辨率进行传输。

输出模块,还包括:

压缩输出每帧背景图像数据是指将每帧图像缩小成1k的图用于普通传输。

根据本说明书实施例第四方面,提供一种视频播放装置,包括:

接收模块、融合模块、播放模块;

接收模块接收全景视频处理装置输出的焦点区域图像数据和背景图像数据;

融合模块将焦点区域图像数据和背景图像数据融合;

播放模块播放融合后的图像数据。

可选的,融合模块将焦点区域图像数据和背景图像数据融合,包括:

融合是指焦点区域图像数据边缘轮廓1和背景图像数据边缘轮廓2之间的过滤带中自动生成线条和形状的一种方法。

根据本说明书实施例第五方面,提供一种视频处理装置,包括:

至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,存储器存储有可被所述至少一个处理器执行的指令,指令被所述至少一个处理器执行,以使所述至少一个处理器能够:

获取全景视频的视频帧;

使用神经网络算法对每帧图像内的焦点对象进行分类和边框回归,获得每帧图像的焦点区域;

高清输出所述焦点区域图像数据,并同时压缩输出每帧背景图像数据给视频播放装置。

根据本说明书实施例第六方面,提供一种视频播放装置,包括:

至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,存储器存储有可被所述至少一个处理器执行的指令,指令被所述至少一个处理器执行,以使所述至少一个处理器能够:

接收全景视频处理装置输出的所述焦点区域图像数据和所述背景图像数据;

融合焦点区域图像数据和背景图像数据;

播放融合后图像数据画面。

根据本说明书实施例的第七方面,提供一种全景视频播放系统,包括:视频处理装置和视频播放装置;

视频处理装置采用上述第三方面所述的视频处理装置;视频播放装置采用上述第四方面所述的视频播放装置。

根据本说明书实施例的第八方面,提供一种非临时性计算机可读存储介质,当存储介质中的指令由装置的处理器执行时,使得装置能够执行一种全景视频处理方法,所述方法包括:

获取全景视频的视频帧;

使用神经网络算法对每帧图像内的焦点对象进行分类和边框回归,获得每帧图像的焦点区域;

高清输出所述焦点区域图像数据,并同时压缩输出每帧背景图像数据给视频播放装置。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。

本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:

通过使用神经网络算法对每帧图像内的焦点对象进行分类和边框回归,获得每帧图像的焦点区域,并将所述焦点区域图像数据和所述背景图像数据输出给视频播放装置,经融合后播放画面,有效减少全景视频数据传输量,还不降低用户浸入式VR体验效果。

附图说明

为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

在附图中:

图1为根据一示例性实施例示出的一全景视频处理方法的流程图;

图2根据一示例性实施例示出的一全景视频处理方法的流程图;

图3为根据一示例性实施例示出的一种全景视频播放系统框图;

图4为根据一示例性实施例示出的一种视频处理装置框图;

图5为根据一示例性实施例示出的一种视频播放装置框图;

图6为根据一示例性实施例示出的一种装置框图。

具体实施方式

本说明书实施例提供一种全景视频处理方法、装置以及系统。

为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

用户体验上在带上VR头盔之后,用户所能观察到的往往是他目前所能见到的有限区域,而视频是一个完整的不限量图像的序列化传输,其他不可见区域的一同传输编解码又带来了巨大的网络带宽传输要求和机器编解码性能的要求。

给予以上种种原因,我们得出通过非可视区域模糊而局部焦点清晰化的思路,将一段视频中需要着重表达清楚的部分清晰化达到4K甚至8K的清晰度比如人物、动物等,而比如场景、建筑、花草等次级图像区域将清晰度降到2k甚至1k的水平,通过人工智能对每个图像中的焦点内容轮廓勾勒出来,比如当一个人作为焦点的时候将主要把人的形状最清晰化,然后逐渐将周围慢慢变得非清晰化辐射扩散。

图1是根据一示例性实施例示出的一全景视频处理方法的流程图,如图1所示,全景视频处理方法用于视频处理装置中,该视频处理装置可以是智能眼镜,播放设备,移动电话,计算机,平板设备,个人数字助理等。全景视频处理方法包括以下步骤。

在步骤101中,获取全景视频的视频帧。

在本说明书实施例中,在使用全景摄像头进行视频拍摄时,导演用摄影构图技术角度的方法为每个镜头设置焦点对象,也就是预先设置训练样本标签。

具体的,全景视频是一种用3D摄像机进行全方位360度拍摄的视频,用户在观看全景视频的时候,可以随意调节视频上下左右进行观看。全景视频是将静态的全景图片转化为动态的视频图像,使得用户可以在拍摄角度左右上下的任意角度观看动态视频,产生有一种真正意义上身临其境的感觉。全景视频具有景深、动态图像、声音等,同时具备声画对位、声画同步。例如,航拍的全景视频犹如空中雄鹰俯瞰大地的视角,画面气势磅礴,很有景深感、空旷感,能够让我们一揽无余;而地面上平视拍摄的全景视频能够清楚的表现环境的诸多细节,让我们了解环境的具体位置、具体形状、细节等。

具体的,摄影构图技术角度是指以被摄对象为中心,在同一水平面上围绕被摄对象四周选择摄影点。在拍摄距离和拍摄高度不变的条件下,不同的拍摄方向可展现被摄对象不同的侧面形象,以及主体与陪体、主体与环境的不同组合关系变化。拍摄方向通常分为:正面角度、斜侧角度、侧面角度、反侧角度、背面角度。比如:两个人打斗场景中可能会先播放某个人正面,然后再从侧面播放两个人打斗的过程,这里就产生了两个镜头。拍摄正面就是一个镜头,侧面也是一个镜头;对不同角度的摄影中存在的对象做出统计,如果某一个人物同时出现在所有的摄像机中则这个人物将作为焦点处理。

在步骤102中,使用神经网络算法对每帧图像内的焦点对象进行分类和边框回归,获得每帧图像的焦点区域。

在本说明书实施例中,神经网络算法算法使用Faster R-CNN算法。

具体的,Faster R-CNN模型主要由两个模块组成:RPN候选框提取模块和Fast R-CNN检测模块,又可细分为4个部分:卷积层(Conv Layer),候选框提取层(RPN),池化层(RoI Pooling),分类和边框回归层(Classification and Regression)。

具体的,卷积层包括一系列卷积(Conv+Relu)和池化(Pooling)操作,用于提取图像的特征(feature maps),一般直接使用现有的经典网络模型ZF或者VGG16,而且卷积层的权值参数为RPN和Fast RCNN所共享,这也是能够加快训练过程、提升模型实时性的关键所在。

具体的,RPN网络用于生成区域候选框Proposal,基于网络模型引入的多尺度Anchor,通过Softmax对anchors属于目标(foreground)还是背景(background)进行分类判决,并使用Bounding Box Regression对anchors进行回归预测,获取Proposal的精确位置,并用于后续的目标识别与检测。

具体的,池化层(RoI Pooling)综合卷积层特征feature maps和候选框proposal的信息,将propopal在输入图像中的坐标映射到最后一层feature map(conv5-3)中,对feature map中的对应区域进行池化操作,得到固定大小(7×7)输出的池化结果,并与后面的全连接层相连。

具体的,分类和边框回归层是全连接层后接两个子连接层——分类层(cls)和回归层(reg),分类层用于判断Proposal的类别,回归层则通过bounding box regression预测Proposal的准确位置。

在本说明书实施例中,对于一幅任意大小P×Q的图像,首先缩放至固定大小M×N(要求长边不超过600,短边不超过600),然后将缩放后的图像输入至采用VGG16模型的Conv Layer中,最后一个feature map为conv5-3,特征数(channels)为512。RPN网络在特征图conv5-3上执行3×3卷积操作,后接一个512维的全连接层,全连接层后接两个子连接层,分别用于anchors的分类和边框回归,再通过计算筛选得到proposals。RoIs Pooling层则利用Proposal从feature maps中提取Proposal feature进行池化操作,送入后续的Fast R-CNN网络做分类和边框回归。RPN网络和Fast R-CNN网络中均有分类和边框回归,但两者有所不同,RPN中分类是判断conv5-3中对应的anchors属于目标和背景的概率(score),并通过回归获取anchors的偏移和缩放尺度,根据目标得分值筛选用于后续检测识别的Proposal;Fast R-CNN是对RPN网络提取的Proposal做分类识别,并通过回归参数调整得到目标(Object)的精确位置。

在本说明书实施例中,所述Faster R-CNN算法的训练样本是通过分离算法获得的,人工搜集不同的镜头与对象的关系列表,比如找到100个镜头分别指定了哪个是焦点对象,再将这些对象进入分离算法取得样本,训练样本数据越多获得的焦点对象越准确。分离算法使用OpenCV中提供的FLANN近似K近邻算法,将连续帧使用特征点比对方式,前后帧图像特征点越相似则表示同一个镜头的概率更高;通过FLANN近似K近邻算法,分离出所有同一镜头的时间段,从而获得Faster R-CNN算法的带标签训练集;在训练集上执行Faster R-CNN算法即可得到一个训练好的分类和边框回归模型;当视频帧输入训练好的分类和边框回归模型,即可获得每帧图像的焦点区域,焦点区域包括焦点对象的类别、位置框及大小等信息。

在步骤103中,高清输出焦点区域图像数据,并同时压缩输出每帧背景图像数据给视频播放装置。

在本说明书实施例中,高清输出焦点区域图像数据是将焦点区域图像数据以4K分辨率进行传输;压缩输出每帧背景图像数据是指将每帧图像缩小成1k的图用于普通传输。

图2是根据一示例性实施例示出的一全景视频处理方法的流程图,如图2所示,全景视频处理方法用于视频播放装置中,该视频播放装置可以是智能眼镜,播放设备,移动电话,计算机,平板设备,个人数字助理等。全景视频处理方法包括以下步骤。

在步骤201中,接收全景视频处理装置输出的焦点区域图像数据和背景图像数据。

在步骤202中,融合焦点区域图像数据和所述背景图像数据。

在步骤203中,播放融合后图像数据画面。

在本说明书实施例中,所述融合通过焦点区域边缘进行模糊处理并且设置成透明通道,将焦点区域逐渐透明并显示为背景图像,焦点区域图像数据边缘轮廓1和背景图像数据边缘轮廓2之间的过滤带中自动生成线条和形状的一种方法。视频播放装置播放时首先会渲染一张非高清图(背景图像),然后在上面对应的区域渲染一层焦点图,而焦点图直接贴上去会出现断层现象,也就是突然从高清图变成非高清的显示导致的融合边缘异常;所以使用线条从(边缘轮廓1)强烈的(焦点高清图像)到逐渐变成边缘轮廓2的(背景图像)的过程,使整个显示上能感觉到一个比较舒服的类似景深过度的区域(融合区域)。

通过上述实施例,本说明书的全景视频处理方法可适用于视频处理装置和视频播放装置组成的全景视频播放系统,其中视频处理装置和视频播放装置可以是同一播放设备的两个组件,例如,智能眼镜中同时集成了视频处理和视频播放模块,也可以是两个独立的设备,例如,计算机和智能眼镜,计算机进行视频处理,智能眼镜进行视频播放。图3是根据一示例性实施例示出的一种全景视频播放系统框图。参照图3,该全景视频播放系统10包括视频处理装置11和视频播放装置12。所述视频处理装置11,被配置为获取全景视频的视频帧;使用神经网络算法对每帧图像内的焦点对象进行分类和边框回归,获得每帧图像的焦点区域;高清输出所述焦点区域图像数据,并同时压缩输出每帧背景图像数据给视频播放装置。所述视频播放装置12,被配置为接收全景视频处理装置输出的所述焦点区域图像数据和所述背景图像数据;融合所述焦点区域图像数据和所述背景图像数据;播放融合后图像数据画面。

图4是根据一示例性实施例示出的一种视频处理装置框图。参照图4,该视频处理装置20包括视频输入模块21,分类和边框回归模块22和输出模块23。

输入模块21获取全景视频的视频帧;分类和边框回归模块22使用神经网络算法对每帧图像内的焦点对象进行分类和边框回归,获得每帧图像的焦点区域;输出模块23高清输出所述焦点区域图像数据,并同时压缩输出每帧背景图像数据给视频播放装置。

可选的,输入模块21获取全景视频的视频帧,是使用全景摄像头,导演用摄影构图技术角度的方法为每个镜头设置焦点对象。

输入模块21,还包括:

所述设置焦点对象即为设置训练样本标签。

可选的,分类和边框回归模块22,包括:

所述神经网络算法采用Faster R-CNN算法。

分类和边框回归模块22,还包括:

所述Faster R-CNN算法的训练样本是由导演确定焦点对象类别,并通过分离算法获得的。

分类和边框回归模块22,还包括:

所述分离算法采用OpenCV中提供的FLANN近似K近邻算法。

分类和边框回归模块22,还包括:

所述焦点区域包含焦点对象的类别、位置框及大小等信息。

可选的,输出模块23高清输出所述焦点区域图像数据,并同时压缩输出每帧背景图像数据给视频播放装置,包括:

将所述焦点区域图像数据以4K分辨率进行传输。

输出模块23,还包括:

所述压缩输出每帧背景图像数据是指将每帧图像缩小成1k的图用于普通传输。

图5是根据一示例性实施例示出的一种视频播放装置框图。参照图5,该视频播放装置30包括接收模块31、融合模块32和播放模块33。

接收模块31接收全景视频处理装置输出的所述焦点区域图像数据和所述背景图像数据;

融合模块32将所述焦点区域图像数据和所述背景图像数据融合;

播放模块33播放融合后的图像数据。

可选的,融合模块32将所述焦点区域图像数据和所述背景图像数据融合,包括:

所述融合是指所述焦点区域图像数据边缘轮廓1和所述背景图像数据边缘轮廓2之间的过滤带中自动生成线条和形状的一种方法。

图6是根据一示例性实施例示出的一种装置的框图。例如,装置600可以是移动电话,计算机,平板设备,个人数字助理等。本实施例的装置600可以用作上述实施例中的视频处理装置,也可以用作上述实施例中的视频播放装置。

参照图6,装置600可以包括以下一个或多个组件:处理组件602,存储器604,电力组件606,多媒体组件608,音频组件610,输入/输出(I/O)的接口612,传感器组件614,以及通信组件616。

处理组件602通常控制装置600的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件602可以包括一个或多个处理器620来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件602可以包括一个或多个模块,便于处理组件602和其他组件之间的交互。例如,处理组件602可以包括多媒体模块,以方便多媒体组件608和处理组件602之间的交互。

存储器604被配置为存储各种类型的数据以支持在装置600的操作。这些数据的示例包括用于在装置600上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器604可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。

电力组件1006为装置600的各种组件提供电力。电力组件1006可以包括电源管理系统,一个或多个电源,及其他与为装置600生成、管理和分配电力相关联的组件。

多媒体组件608包括在所述装置600和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件608包括一个前置摄像头和/或后置摄像头。当装置600处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。

音频组件610被配置为输出和/或输入音频信号。例如,音频组件610包括一个麦克风(MIC),当装置600处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器604或经由通信组件616发送。在一些实施例中,音频组件610还包括一个扬声器,用于输出音频信号。

I/O接口612为处理组件602和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。

传感器组件614包括一个或多个传感器,用于为装置600提供各个方面的状态评估。例如,传感器组件614可以检测到装置600的打开/关闭状态,组件的相对定位,例如所述组件为装置600的显示器和小键盘,传感器组件614还可以检测装置600或装置600一个组件的位置改变,用户与装置600接触的存在或不存在,装置600方位或加速/减速和装置600的温度变化。传感器组件614可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件614还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件614还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。

通信组件616被配置为便于装置600和其他设备之间有线或无线方式的通信。装置600可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件616经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件616还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。

在示例性实施例中,装置600可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器604,上述指令可由装置600的处理器620执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、非易失性计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable LogicDevice,PLD)(例如现场可编程门阵列(Field Programmable Gate Array,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware DescriptionLanguage)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。

控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

本领域内的技术人员应明白,本说明书实施例可提供为方法、系统、或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。

计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、

数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

尽管已描述了本说明书的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。显然,本领域的技术人员可以对本说明书进行各种改动和变型而不脱离本说明书的精神和范围。这样,倘若本说明书的这些修改和变型属于本说明书权利要求及其等同技术的范围之内,则本说明书也意图包含这些改动和变型在内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1