一种检测黑屏图像的方法及装置与流程

文档序号:20010022发布日期:2020-02-22 04:00阅读:775来源:国知局
一种检测黑屏图像的方法及装置与流程

本申请涉及图像处理技术领域,特别涉及一种检测黑屏图像的方法及装置。



背景技术:

随着视频播放技术的不断发展,涌现出大量的视频播放平台。用户客户端可以从视频播放平台中拉取视频流,并对视频流解码之后播放相应的视频内容。然而,解码得到的视频画面中,可能会存在某些视频画面无法显示视频内容的情况,也就是某些视频帧为黑屏图像。

目前,通常是将视频帧转换为灰度图像,然后针对灰度图像中各个像素点的灰度值进行检测。若各个像素点的灰度值均较小,则可以判定该视频帧为黑屏图像。

然而,这样逐点检测的方式,在面对视频帧具备较大分辨率的情况下,会导致需要处理的数据量相当大,从而降低黑屏图像的检测效率。



技术实现要素:

本申请实施方式的目的是提供一种检测黑屏图像的方法及装置,能够提高黑屏图像的检测效率。

为实现上述目的,本申请实施方式提供一种检测黑屏图像的方法,所述方法包括:从当前播放的目标视频中获取参考视频帧和待处理视频帧;根据所述参考视频帧中展示的画面内容,在所述待处理视频帧中确定目标区域;检测所述目标区域中像素点的灰度值,并根据检测结果,判断所述待处理视频帧是否为黑屏图像。

为实现上述目的,本申请实施方式还提供一种检测黑屏图像的装置,所述装置包括:视频帧获取单元,用于从当前播放的目标视频中获取参考视频帧和待处理视频帧;目标区域确定单元,用于根据所述参考视频帧中展示的画面内容,在所述待处理视频帧中确定目标区域;黑屏判断单元,用于检测所述目标区域中像素点的灰度值,并根据检测结果,判断所述待处理视频帧是否为黑屏图像。

为实现上述目的,本申请实施方式还提供一种检测黑屏图像的装置,所述装置包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的方法。

由上可见,本申请提供的技术方案,首先可以从目标视频中确定待处理视频帧以及参考视频帧,该参考视频帧中可以正常显示视频内容。具体地,该参考视频帧的作用在于,可以根据参考视频帧中显示的主要对象,然后确定出该主要对象在参考视频帧中的位置信息。由于目标视频播放的内容通常具备连贯性,因此,在待处理视频帧中,该位置信息限定的区域,也有很大的可能应该显示主要对象。这样,针对显示主要对象的这部分区域进行灰度值的检测,从而可以判断该待处理视频帧是否为黑屏图像。进一步地,如果这部分区域表现为非黑屏区域,那么便可以直接判定该待处理视频帧为非黑屏图像。如果这部分区域表现为黑屏区域,则可以继续对该待处理视频帧中其它的区域进行灰度值检测,如果检测结果表明其它的区域也是黑屏区域,则可以判定该待处理视频帧为黑屏图像。综上,本申请提供的技术方案,首先可以从待处理视频帧中确定出一小部分区域,然后针对这部分区域进行判断便可以初步得到检测结果。按照这样的方式,能够极大地减少需要处理的数据量,从而提高黑屏图像的检测效率。

附图说明

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

图1为本申请实施方式中检测黑屏图像的方法步骤图;

图2为本申请实施方式中检测黑屏图像的方法流程图;

图3为本申请实施方式中检测黑屏图像的装置的功能模块示意图;

图4为本申请实施方式中检测黑屏图像的装置的结构示意图。

具体实施方式

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

本申请提供一种检测黑屏图像的方法,该方法可以应用于视频播放平台的服务器中,也可以应用于独立的具备图像处理功能的设备中。请参阅图1和图2,所述方法可以包括以下步骤。

s1:从当前播放的目标视频中获取参考视频帧和待处理视频帧。

s3:根据所述参考视频帧中展示的画面内容,在所述待处理视频帧中确定目标区域。

在本实施方式中,为了减少黑屏图像检测过程中需要处理的数据量,可以在待处理视频帧中确定目标区域,然后针对目标区域内的像素点进行黑屏检测。其中,在确定目标区域时,需要对目标区域的大小以及位置进行确定。

在本实施方式中,考虑到正常的视频帧展示的视频内容中,通常会存在一个或者多个主要对象,该主要对象可以是视频帧中的主要人物、主要道具、主要动物或者主要环境等。视频帧中的主要对象,通常是用户在观看视频时视线聚焦的对象。在这种情况下,在检测待处理视频帧是否为黑屏图像时,可以将主要对象所在的区域作为上述的目标区域,从而可以优先对主要对象所在的区域进行黑屏检测。考虑到视频片段中连续的视频帧之间,显示的视频内容可能具备较大的关联性甚至显示的视频内容十分相似,因此,待处理视频帧中主要对象所在的区域,很可能与前后视频帧或者同一场景片段中的其它视频帧中主要对象所在的区域是相同或者相近的。鉴于此,可以借助于目标视频中其它的视频帧,来确定待处理视频帧中主要对象所在的目标区域。其中,该用于确定所述目标区域的其它的视频帧,便可以作为所述参考视频帧。

在一个实施方式中,在从目标视频中获取参考视频帧时,可以根据待处理视频帧的位置,将所述目标视频中与所述待处理视频帧相邻的前一个视频帧或者后一个视频帧作为所述参考视频帧。当然,在某些极端情况下,与待处理视频帧相邻的视频帧可能会发生内容的跳变,从而使得相邻的视频帧中展示的内容,与待处理视频帧中本应展示的内容之间差别较大。在这种情况下,如果将相邻的视频帧作为参考视频帧,便无法有效地确定出目标区域的位置。

在一个实施方式中,可以从所述目标视频中提取出所述待处理视频帧所在的场景片段,并将所述场景片段中除所述待处理视频帧之外的一个视频帧作为所述参考视频帧。这样处理的原因在于,同一场景片段的各个视频帧中展示的内容,通常都是比较相似的,因此,将同一场景片段中的视频帧作为参考视频帧,能够准确地确定出目标区域的位置。

在本实施方式中,一个视频可以由一个或者多个场景片段构成。针对同一个场景片段中的不同视频帧,人物和环境通常具备较高的相似度。因此,同一个场景片段中的视频帧之间也具备较高的相似度。所述场景片段,例如可以是情感戏的场景片段、动作戏的场景片段以及探险戏的场景片段等。在实际应用中,可以通过图像识别的方式来识别目标视频中的场景片段。具体地,所述目标视频中的同一场景可以通过目标视频中的场景切换帧来确定。所述场景切换帧可以作为所述目标视频中相邻的两个不同的场景之间的视频帧。这样,在解析场景片段时,可以在所述目标视频中确定场景切换帧,并将相邻两个场景切换帧之间的视频片段作为所述目标视频中包含的一个场景片段。为了能够获取所述目标视频的各个场景对应的场景切换帧,在本实施方式中可以通过逐帧对比的方式进行提取。具体地,首先可以在所述目标视频中确定基准帧,并依次计算所述基准帧之后的各个视频帧与所述基准帧之间的相似度。需要说明的是,解码后的目标视频中可能已经存在黑屏图像,因此,为了不影响场景片段的划分,可以针对解码之前的原始的目标视频进行场景片段的划分。

在本实施方式中,所述基准帧可以在一定范围内随机指定的一帧画面。例如,所述基准帧可以是在所述目标视频的开篇2分钟内随机选取的一帧画面。当然,为了不遗漏所述目标视频中的场景,可以将所述目标视频的第一帧作为所述基准帧。

在本实施方式中,当确定了所述基准帧之后,可以从所述基准帧开始,将所述基准帧之后的各帧画面依次与所述基准帧进行对比,以计算后续的各帧画面与所述基准帧之间的相似度。具体地,在计算各个视频帧与所述基准帧之间的相似度时,可以分别提取所述基准帧和当前帧的第一特征向量和第二特征向量。

在本实施方式中,所述第一特征向量和所述第二特征向量可以具备多种形式。其中,可以基于每帧画面中像素点的像素值构建该帧画面的特征向量。每帧画面通常都是由若干的像素点按照一定的顺序排列而成的,像素点对应各自的像素值,从而可以构成色彩斑斓的画面。所述像素值可以是处于指定区间内的数值。例如,所述像素值可以是灰度值,所述灰度值可以是0至255中的任意一个数值,数值的大小可以表示灰度的深浅。当然,所述像素值还可以是其它色系空间中多个色系分量各自的数值。例如,在rgb(red,green,blue,红绿蓝)色系空间中,所述像素值可以包括r分量数值、g分量数值以及b分量数值。

在本实施方式中,可以获取每帧画面中各个像素点的像素值,并通过获取的像素值构成该帧画面的特征向量。例如,对于具备9*9=81个像素点的当前帧而言,可以依次获取其中像素点的像素值,然后根据从左向右从上至下的顺序,将获取的像素值依次排列,从而构成81维的向量。该81维的向量便可以作为所述当前帧的特征向量。

在本实施方式中,所述特征向量还可以是每帧画面的cnn(convolutionalneuralnetwork,卷积神经网络)特征。具体地,可以将所述基准帧以及所述基准帧之后的各帧画面输入卷积神经网络中,然后该卷积神经网络便可以输出所述基准帧以及其它各帧画面对应的特征向量。

在本实施方式中,为了能够准确地表征所述基准帧和当前帧中所展示的内容,所述第一特征向量和所述第二特征向量还可以分别表示所述基准帧和所述当前帧的尺度不变特征。这样,即使改变图像的旋转角度、图像亮度或拍摄视角,提取出的第一特征向量和所述第二特征向量仍然能够很好地体现所述基准帧和当前帧中的内容。具体地,所述第一特征向量和所述第二特征向量可以是sift(scale-invariantfeaturetransform,尺度不变特征转换)特征、surf特征(speeduprobustfeature,快速鲁棒性特征)或者颜色直方图特征等。

在本实施方式中,在确定了所述第一特征向量和所述第二特征向量之后,可以计算所述第一特征向量和所述第二特征向量之间的相似度。具体地,所述相似度在向量空间中可以表示为两个向量之间的距离。距离越近,表示两个向量越相似,因此相似度越高。距离越远,表示两个向量差别越大,因此相似度越低。因此,在计算所述基准帧和所述当前帧之间的相似度时,可以计算所述第一特征向量和所述第二特征向量之间的空间距离,并将所述空间距离的倒数作为所述基准帧与所述当前帧之间的相似度。这样,空间距离越小,其对应的相似度越大,表明所述基准帧和所述当前帧之间越相似。相反地,空间距离越大,其对应的相似度越小,表明所述基准帧和所述当前帧之间越不相似。

在本实施方式中,按照上述方式可以依次计算所述基准帧之后的各个视频帧与所述基准帧之间的相似度。相似度较高的两帧画面中所展示的内容也通常是比较相似的,为了确定出目标视频中的不同场景,在本实施方式中,当所述基准帧与当前帧之间的相似度小于或者等于指定阈值时,可以将所述当前帧确定为一个场景切换帧。其中,所述指定阈值可以是预先设定的一个数值,该数值根据实际情况可以灵活地进行调整。例如,当根据该指定阈值筛选出的场景切换帧的数量过多时,可以适当减小该指定阈值的大小。又例如,当根据该指定阈值筛选出的场景切换帧的数量过少时,可以适当增大该指定阈值的大小。在本实施方式中,相似度小于或者等于指定阈值,可以表示两帧画面中的内容已经具备明显的不同,因此可以认为当前帧所展示的场景,与所述基准帧所展示的场景发生了改变。此时,所述当前帧便可以作为场景切换的一帧画面进行保留。

在本实施方式中,在将所述当前帧确定为一个场景切换帧时,可以继续确定后续的其它场景切换帧。具体地,从所述基准帧到所述当前帧,可以视为场景发生了一次改变,因此当前的场景便是所述当前帧所展示的内容。基于此,可以将所述当前帧作为新的基准帧,并依次计算所述新的基准帧之后的各个视频帧与所述新的基准帧之间的相似度,从而根据计算的所述相似度确定下一个场景切换帧。同样地,在确定下一个场景切换帧时,依然可以通过提取特征向量以及计算空间距离的方式确定出两帧画面之间的相似度,并且可以将确定出的相似度依然与所述指定阈值进行对比,从而确定出从新的基准帧之后场景再次发生变化的下一个场景切换帧。

在本实施方式中,通过上述的方式,可以从所述目标视频中依次提取出各个场景切换帧,这样,相邻两个场景切换帧之间的视频帧便可以作为相同场景帧,这些相同场景帧从而构成了所述目标视频中的同一场景片段。当然,在实际应用中,场景片段也可以是上传目标视频的管理人员按照目标视频的剧本,进行人工划分的。例如,可以将某个时间段内的视频片段,作为一个场景片段。

在本实施方式中,在确定出各个场景片段之后,便可以判断当前的场景片段中是否存在所述待处理视频帧,若存在,则可以将所述当前的场景片段作为所述待处理视频帧所在的场景片段。具体地,目标视频中各个视频帧可以按照在目标视频中出现的顺序,被依次进行编号。这样,一个场景片段则可以对应一个编号序列,该编号序列中的编号便可以是该场景片段中各个视频帧的编号。这样,根据待处理视频帧的编号,从而可以确定待处理视频帧所在的场景片段。

在本实施方式中,在获取了上述的参考视频帧之后,可以对参考视频帧中的目标对象进行识别。具体地,所述参考视频帧中可以展示多个对象,在一些情况下,参考视频帧中的主要对象会具备较高的清晰度,而其它的对象则会进行虚化处理,具备较低的清晰度,这样,参考视频帧可以针对主要对象进行聚焦。在这种情况下,在识别出所述参考视频帧中的各个对象之后,可以将聚焦的对象作为所述目标对象。此外,如果识别出的多个对象均具备较高的清晰度,则可以将在所述参考视频帧中尺寸占比最高的对象作为所述目标对象。

在本实施方式中,在确定出目标对象之后,可以确定所述目标对象在所述参考视频帧中的位置信息。具体地,可以将所述目标对象通过一个矩形框来限定,并将该矩形框的位置信息作为所述目标对象的位置信息。在实际应用中,矩形框的位置信息可以通过四个顶点的像素点的位置来表示。像素点的位置可以是该像素点在参考视频帧中的坐标值。该坐标值可以包括横坐标和纵坐标,其中,横坐标可以是该像素点所处的列数,纵坐标可以是该像素点所处的行数。这样,通过四个坐标值,便可以表示目标对象的位置信息。

在本实施方式中,可以在所述待处理视频帧中,将所述位置信息表征的区域作为所述目标区域。具体地,根据上述的四个坐标值,可以在待处理视频帧中确定出相同大小和相同位置的矩形框,该矩形框中的内容便可以作为待处理视频帧中目标区域中的内容。

s5:检测所述目标区域中像素点的灰度值,并根据检测结果,判断所述待处理视频帧是否为黑屏图像。

在本实施方式中,在待处理视频帧中确定出目标区域之后,可以检测该目标区域中像素点的灰度值。在实际应用中,目标视频中的视频帧通常是彩色的,因此,可以预先对待处理视频进行灰度处理,从而转换为灰度图像。这样,确定出目标区域之后,便可以直接读取其中像素点的灰度值。此外,在视频播放领域,目标视频解码后的视频帧的图像格式可以是yuv图像格式。yuv图像格式中的像素点可以具备三个分量,其中,y分量表示亮度值(luminance或luma),y分量表征的实际就是灰度值;而u分量和v分量可以表示色度值(chrominance或chroma),这两个分量的作用是描述图像的色彩及饱和度,用于指定像素点的颜色。在实际应用中,yuv图像格式可以具备多种数据采集方式,这些数据采集方式例如可以包括yuv444格式,yuv422格式以及yuv420格式等。这些不同的数据采集方式,限定了三个分量不同的采样率。针对类似yuv这种原本就存在表征亮度值的颜色分量的图像格式而言,可以直接从待处理视频帧中提取出表征亮度值的颜色分量对应的图像。例如,可以从待处理视频帧中提取出y分量图像。提取出的该图像中,像素点的像素值均通过亮度值表示,因此可以无需进行灰度处理的过程,从而提高了整体的检测效率。

在一个实施方式中,在检测所述目标区域中像素点的灰度值时,为了减少需要处理的数据量,可以无需检测目标区域中的每个像素点,而是可以按照指定采样率,从所述目标区域的像素点中确定采样像素点。例如,该指定采样率可以限定每隔n列以及每隔m行确定一个采样像素点,其中,n和m可以作为正整数。这样,确定出的采样像素点的数量可以少于所述目标区域中像素点的总数量。在确定出采样像素点之后,可以读取所述采样像素点的灰度值。然后,可以根据读取的灰度值,来判断该目标区域中的内容是否是黑屏图像。具体地,该灰度值的大小,可以表征灰色的明显程度。灰度值越大,表示灰色越明显。灰度值越小,表示灰色越不明显,越接近黑色。因此,若所述目标区域中存在灰度值大于或者等于指定灰度阈值的像素点,则表明目标区域中存在非黑色的像素点,从而可以判定所述待处理视频帧不是黑屏图像。而若所述目标区域中像素点的灰度值均小于所述指定灰度阈值,则表示目标区域中的像素点均接近黑色,此时,为了提高检测精度,可以进一步检测所述待处理视频帧的其它区域中像素点的灰度值,若所述其它区域中像素点的灰度值同样均小于所述指定灰度阈值,则可以判定所述待处理视频帧为黑屏图像。其中,所述指定灰度阈值可以是按照实际情况进行灵活设置的灰度值。

需要说明的是,在实际应用中,如果读取的是采样像素点的灰度值,则可以仅针对采样像素点的灰度值进行上述的判定,而无需针对目标区域中每个像素点的灰度值来判定。

在一个实施方式中,在判定所述目标图像为黑屏图像之后,还可以采集所述目标视频的播放信息,并将所述播放信息上传至分析服务器,从而使得分析服务器基于采集的播放信息有针对地进行调整。其中,所述目标视频的播放信息包括播放所述目标视频的终端设备的设备信息、播放所述目标视频的播放器的版本信息以及所述目标视频的视频标识中的至少一种。所述设备信息例如可以是终端设备的型号,该版本信息例如可以是播放器对应的软件版本序列号,视频标识例如可以是目标视频的名称或者目标视频在视频播放平台中的数字编号等。通过对播放信息的分析,可以确定是否在特定型号的终端设备中,或者在特定版本的播放器中,会存在黑屏的问题。此时可以针对终端设备或者播放器的解码模块进行调整。通过对视频标识进行分析,可以对该视频标识指向的目标视频的内容进行解析,从而判断是否是因为视频格式的问题导致的黑屏画面的出现。

需要说明的是,在实际应用中,也可以简化确定目标区域的过程。例如,可以直接将待处理视频帧中预设比例的中心区域,作为所述目标区域。这样,可以快速地对待处理视频帧进行黑屏检测。

请参阅图3,本申请还提供一种检测黑屏图像的装置,所述装置包括:

视频帧获取单元,用于从当前播放的目标视频中获取参考视频帧和待处理视频帧;

目标区域确定单元,用于根据所述参考视频帧中展示的画面内容,在所述待处理视频帧中确定目标区域;

黑屏判断单元,用于检测所述目标区域中像素点的灰度值,并根据检测结果,判断所述待处理视频帧是否为黑屏图像。

在一个实施方式中,所述视频帧获取单元还用于将所述目标视频中与所述待处理视频帧相邻的一个视频帧作为所述参考视频帧;或者从所述目标视频中提取出所述待处理视频帧所在的场景片段,并将所述场景片段中除所述待处理视频帧之外的一个视频帧作为所述参考视频帧。

在一个实施方式中,所述视频帧获取单元包括:

场景片段确定模块,用于在所述目标视频中确定场景切换帧,并将相邻两个场景切换帧之间的视频片段作为一个场景片段;

待处理视频帧判断模块,用于判断当前的场景片段中是否存在所述待处理视频帧,若存在,将所述当前的场景片段作为所述待处理视频帧所在的场景片段。

在一个实施方式中,所述场景片段确定模块包括:

相似度计算模块,用于在所述目标视频中确定基准帧,并依次计算所述基准帧之后的视频帧与所述基准帧之间的相似度;

场景切换帧确定模块,用于若所述目标视频中的当前视频帧与所述基准帧之间的相似度小于或者等于指定阈值,将所述当前视频帧确定为一个场景切换帧;

基准帧重新确定模块,用于将所述当前视频帧作为新的基准帧,并依次计算所述新的基准帧之后的视频帧与所述新的基准帧之间的相似度,以根据计算的结果确定下一个场景切换帧。

在一个实施方式中,所述目标区域确定单元包括:

位置信息确定模块,用于识别所述参考视频帧中的目标对象,并确定所述目标对象在所述参考视频帧中的位置信息;

区域确定模块,用于在所述待处理视频帧中,将所述位置信息表征的区域作为所述目标区域。

在一个实施方式中,所述黑屏判断单元包括:

第一判断模块,用于若所述目标区域中存在灰度值大于或者等于指定灰度阈值的像素点,判定所述待处理视频帧不是黑屏图像;

第二判断模块,用于若所述目标区域中像素点的灰度值均小于所述指定灰度阈值,检测所述待处理视频帧的其它区域中像素点的灰度值,若所述其它区域中像素点的灰度值均小于所述指定灰度阈值,判定所述待处理视频帧为黑屏图像。

请参阅图4,本申请还提供一种检测黑屏图像的装置,所述装置包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,可以实现上述的检测黑屏图像的方法。

在本实施方式中,所述存储器可以包括用于存储信息的物理装置,通常是将信息数字化后再以利用电、磁或者光学等方法的媒体加以存储。本实施方式所述的存储器又可以包括:利用电能方式存储信息的装置,如ram、rom等;利用磁能方式存储信息的装置,如硬盘、软盘、磁带、磁芯存储器、磁泡存储器、u盘;利用光学方式存储信息的装置,如cd或dvd。当然,还有其他方式的存储器,例如量子存储器、石墨烯存储器等等。

在本实施方式中,所述处理器可以按任何适当的方式实现。例如,所述处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程逻辑控制器和嵌入微控制器的形式等等。

本说明书实施方式提供的装置,其存储器和处理器实现的具体功能,可以与本说明书中的前述实施方式相对照解释,并能够达到前述实施方式的技术效果,这里便不再赘述。

由上可见,本申请提供的技术方案,首先可以从目标视频中确定待处理视频帧以及参考视频帧,该参考视频帧中可以正常显示视频内容。具体地,该参考视频帧的作用在于,可以根据参考视频帧中显示的主要对象,然后确定出该主要对象在参考视频帧中的位置信息。由于目标视频播放的内容通常具备连贯性,因此,在待处理视频帧中,该位置信息限定的区域,也有很大的可能应该显示主要对象。这样,针对显示主要对象的这部分区域进行灰度值的检测,从而可以判断该待处理视频帧是否为黑屏图像。进一步地,如果这部分区域表现为非黑屏区域,那么便可以直接判定该待处理视频帧为非黑屏图像。如果这部分区域表现为黑屏区域,则可以继续对该待处理视频帧中其它的区域进行灰度值检测,如果检测结果表明其它的区域也是黑屏区域,则可以判定该待处理视频帧为黑屏图像。综上,本申请提供的技术方案,首先可以从待处理视频帧中确定出一小部分区域,然后针对这部分区域进行判断便可以初步得到检测结果。按照这样的方式,能够极大地减少需要处理的数据量,从而提高黑屏图像的检测效率。

在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmablelogicdevice,pld)(例如现场可编程门阵列(fieldprogrammablegatearray,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logiccompiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardwaredescriptionlanguage,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescriptionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescriptionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescriptionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescriptionlanguage)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。

本领域技术人员也知道,除了以纯计算机可读程序代码方式实现装置以外,完全可以通过将方法步骤进行逻辑编程来使得装置以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种装置可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施方式或者实施方式的某些部分所述的方法。

本说明书中的各个实施方式均采用递进的方式描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。尤其,针对装置的实施方式来说,均可以参照前述方法的实施方式的介绍对照解释。

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

虽然通过实施方式描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。

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