具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本申请一部分实施方式,而不是全部的实施方式。基于本申请中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都应当属于本申请保护的范围。
本申请提供的视频内容的处理方法,可以应用于视频播放网站的服务器中,或者可以应用于独立的视频处理设备中。请参阅图1和图2,所述方法可以包括以下步骤。
S1:获取待处理的目标视频,并解析所述目标视频中包含的场景片段。
在本实施方式中,所述目标视频可以是存储于视频播放网站服务器中的视频,获取该目标视频的方式可以是从视频播放网站中下载该目标视频。所述目标视频还可以是存储于存储介质中的视频,获取该目标视频的方式可以是从该存储介质中读取该目标视频。
在本实施方式中,一个视频中可以由一个或者多个场景片段构成。针对同一个场景片段中的不同视频帧,人物和环境通常具备较高的相似度。因此,同一个场景片段中的视频帧之间也具备较高的相似度。所述场景片段,例如可以是情感戏的场景片段、动作戏的场景片段以及探险戏的场景片段等。在具备该视频的剧本的情况下,可以按照剧本中对剧情以及剧情时长的设定,将视频划分为多个场景片段。例如,在剧本中,针对一个场景片段可以标注一个场景标识,该场景标识可以对应视频中的起始时间点和终止时间点。这样,该场景标识对应的时间段中的视频内容便可以作为一个场景片段。
在一个实施方式中,在不具备该视频的剧本的情况下,可以通过图像识别的方式来识别目标视频中的场景片段。具体地,所述目标视频中的同一场景可以通过目标视频中的场景切换帧来确定。所述场景切换帧可以作为所述目标视频中相邻的两个不同的场景之间的视频帧。这样,在解析场景片段时,可以在所述目标视频中确定场景切换帧,并将相邻两个场景切换帧之间的视频片段作为所述目标视频中包含的一个场景片段。为了能够获取所述目标视频的各个场景对应的场景切换帧,在本实施方式中可以通过逐帧对比的方式进行提取。具体地,首先可以在所述目标视频中确定基准帧,并依次计算所述基准帧之后的各个视频帧与所述基准帧之间的相似度。
在本实施方式中,所述基准帧可以在一定范围内随机指定的一帧画面。例如,所述基准帧可以是在所述目标视频的开篇2分钟内随机选取的一帧画面。当然,为了不遗漏所述目标视频中的场景,可以将所述目标视频的第一帧作为所述基准帧。
在本实施方式中,当确定了所述基准帧之后,可以从所述基准帧开始,将所述基准帧之后的各帧画面依次与所述基准帧进行对比,以计算后续的各帧画面与所述基准帧之间的相似度。具体地,在计算各个视频帧与所述基准帧之间的相似度时,可以分别提取所述基准帧和当前帧的第一特征向量和第二特征向量。
在本实施方式中,所述第一特征向量和所述第二特征向量可以具备多种形式。其中,可以基于每帧画面中像素点的像素值构建该帧画面的特征向量。每帧画面通常都是由若干的像素点按照一定的顺序排列而成的,像素点对应各自的像素值,从而可以构成色彩斑斓的画面。所述像素值可以是处于指定区间内的数值。例如,所述像素值可以是灰度值,所述灰度值可以是0至255中的任意一个数值,数值的大小可以表示灰度的深浅。当然,所述像素值还可以是其它色系空间中多个色系分量各自的数值。例如,在RGB(Red,Green,Blue,红绿蓝)色系空间中,所述像素值可以包括R分量数值、G分量数值以及B分量数值。
在本实施方式中,可以获取每帧画面中各个像素点的像素值,并通过获取的像素值构成该帧画面的特征向量。例如,对于具备9*9=81个像素点的当前帧而言,可以依次获取其中像素点的像素值,然后根据从左向右从上至下的顺序,将获取的像素值依次排列,从而构成81维的向量。该81维的向量便可以作为所述当前帧的特征向量。
在本实施方式中,所述特征向量还可以是每帧画面的CNN(Convolutional NeuralNetwork,卷积神经网络)特征。具体地,可以将所述基准帧以及所述基准帧之后的各帧画面输入卷积神经网络中,然后该卷积神经网络便可以输出所述基准帧以及其它各帧画面对应的特征向量。
在本实施方式中,为了能够准确地表征所述基准帧和当前帧中所展示的内容,所述第一特征向量和所述第二特征向量还可以分别表示所述基准帧和所述当前帧的尺度不变特征。这样,即使改变图像的旋转角度、图像亮度或拍摄视角,提取出的第一特征向量和所述第二特征向量仍然能够很好地体现所述基准帧和当前帧中的内容。具体地,所述第一特征向量和所述第二特征向量可以是Sift(Scale-invariant feature transform,尺度不变特征转换)特征、surf特征(Speed Up Robust Feature,快速鲁棒性特征)或者颜色直方图特征等。
在本实施方式中,在确定了所述第一特征向量和所述第二特征向量之后,可以计算所述第一特征向量和所述第二特征向量之间的相似度。具体地,所述相似度在向量空间中可以表示为两个向量之间的距离。距离越近,表示两个向量越相似,因此相似度越高。距离越远,表示两个向量差别越大,因此相似度越低。因此,在计算所述基准帧和所述当前帧之间的相似度时,可以计算所述第一特征向量和所述第二特征向量之间的空间距离,并将所述空间距离的倒数作为所述基准帧与所述当前帧之间的相似度。这样,空间距离越小,其对应的相似度越大,表明所述基准帧和所述当前帧之间越相似。相反地,空间距离越大,其对应的相似度越小,表明所述基准帧和所述当前帧之间越不相似。
在本实施方式中,按照上述方式可以依次计算所述基准帧之后的各个视频帧与所述基准帧之间的相似度。相似度较高的两帧画面中所展示的内容也通常是比较相似的,为了确定出目标视频中的不同场景,在本实施方式中,当所述基准帧与当前帧之间的相似度小于或者等于指定阈值时,可以将所述当前帧确定为一个场景切换帧。其中,所述指定阈值可以是预先设定的一个数值,该数值根据实际情况可以灵活地进行调整。例如,当根据该指定阈值筛选出的场景切换帧的数量过多时,可以适当减小该指定阈值的大小。又例如,当根据该指定阈值筛选出的场景切换帧的数量过少时,可以适当增大该指定阈值的大小。在本实施方式中,相似度小于或者等于指定阈值,可以表示两帧画面中的内容已经具备明显的不同,因此可以认为当前帧所展示的场景,与所述基准帧所展示的场景发生了改变。此时,所述当前帧便可以作为场景切换的一帧画面进行保留。
在本实施方式中,在将所述当前帧确定为一个场景切换帧时,可以继续确定后续的其它场景切换帧。具体地,从所述基准帧到所述当前帧,可以视为场景发生了一次改变,因此当前的场景便是所述当前帧所展示的内容。基于此,可以将所述当前帧作为新的基准帧,并依次计算所述新的基准帧之后的各个视频帧与所述新的基准帧之间的相似度,从而根据计算的所述相似度确定下一个场景切换帧。同样地,在确定下一个场景切换帧时,依然可以通过提取特征向量以及计算空间距离的方式确定出两帧画面之间的相似度,并且可以将确定出的相似度依然与所述指定阈值进行对比,从而确定出从新的基准帧之后场景再次发生变化的下一个场景切换帧。
在本实施方式中,通过上述的方式,可以从所述目标视频中依次提取出各个场景切换帧,这样,相邻两个场景切换帧之间的视频帧便可以作为相同场景帧,这些相同场景帧从而构成了所述目标视频中的同一场景片段。
S3:提取所述场景片段中的关键帧,并识别所述目标视频的语音信息,以确定与所述关键帧相适配的文本信息。
在本实施方式中,在从目标视频中识别得到一个或者多个场景片段之后,由于场景片段中包含较多的视频帧,因此可以从所述场景片段中提取出少量的关键帧,从而可以通过少量的关键帧来表示场景片段所展示的内容。
在本实施方式中,在从场景片段中提取关键帧时,可以针对视频帧中的人物和环境进行综合考量。具体地,可以识别所述场景片段的视频帧中包含的场景特征。该场景特征可以包括人物的表情特征、人物的动作特征以及环境特征等。其中,人物的表情特征可以按照当前对情绪的划分规则,划分为开心、悲伤、愤怒、惊恐等多种表情特征。人物的动作特征也可以划分为争斗、亲密等特征。环境特征可以划分为危险、舒适等特征。
在本实施方式中,可以预先设置场景特征集合,该场景特征集合中包含的场景特征都是具备鲜明风格的场景特征。例如,对于表情特征而言,场景特征集合中包含的往往是面部会出现较大波动的表情特征,例如大笑、痛苦、惊恐等表情特征。同样地,对于动作特征和环境特征而言,场景特征集合中包含的也是能够反映夸张的肢体动作或者明显环境特色的特征。在所述场景特征集合中,各个场景特征可以具备特征模板。该特征模板可以是一个数字向量,该数字向量可以是通过当前的数字建模技术,对场景特征建模后得到的。举例来说,对于表情特征而言,可以通过人脸建模技术,对人脸的五官进行分析,从而得到能够体现五官分布位置和五官之间角度的数字向量。此外,针对人物的动作特征以及环境特征而言,场景特征集合中也可以具备这些特征的特征模板,并且这些特征模板也可以通过数字向量的方式来表示。例如,对于人物的动作而言,可以通过识别人物的头部、四肢以及躯干来判断人物当前处于什么动作状态。并且,可以通过数字向量的方式,分别表示头部、躯干以及四肢当前的状态。例如,数字向量中包含6个元素,这6个元素分别对应头部、躯干以及四肢,然后,针对每个元素可以具备多种赋值,每个赋值可以对应一个动作状态。例如,表征头部的元素取值为0时,表征头部直立;表征头部的元素取值为1时,表征头部向左侧倾斜。这样,通过数字向量的方式,可以唯一地表征人物的动作特征,以使得场景特征集合中的各个场景特征,均可以用对应的数字向量来表示,该数字向量便可以作为场景特征的特征模块。
在本实施方式中,场景特征集合中包含的场景特征,均可以作为具备鲜明特色的特征,因此,可以从场景片段的视频帧中识别是否包含该场景特征集合中的场景特征,从而可以判断当前的视频帧是否能够鲜明地体现出场景片段的内容。具体地,在从场景片段的视频帧中识别出包含的场景特征之后,可以将所述视频帧中包含的场景特征与场景特征集合中的特征模板进行比对,若所述视频帧中包含的场景特征存在于所述场景特征集合中,则可以将所述视频帧作为所述场景片段的一个关键帧。具体地,在比对两个场景特征时,可以计算这两个场景特征的数字向量之间的相似度。若计算得到的相似度大于或者等于指定相似度阈值,则可以认为当前的场景特征包含于场景特征集合中。
需要说明的是,针对同一个场景特征,可能会同时出现在连续的多个视频帧中,在这种情况下,只需要从这连续的多个视频帧中随机挑选一个视频帧作为关键帧,而无需将这些视频帧均提取为关键帧。
这样,根据上述的方式,可以从一个场景片段中提取出一个或者多个关键帧。在一个实施方式中,在确定出关键帧之后,还可以对所述关键帧进行后期处理。具体地,可以确定所述视频帧中包含的所述场景特征对应的特效图案,并在所述视频帧的所述场景特征处添加所述特效图案。其中,针对不同的场景特征,可以添加不同的特效图案。例如,对于表情特征而言,可以添加用于表征恼怒、惊讶、害羞等情绪的漫画特效。又例如,对于动作特征而言,可以添加用于表征击打、踉跄、摔倒等动作的漫画特效。在本实施方式中,上述的特效图案可以存储于特效图案库中,这些特效图案可以与图案标识关联存储。该图案标识例如可以是用于表征特效图案内容的词汇,例如“愤怒”、“踉跄”、“大哭”等。当然,这些词汇在特效图案库中还可以通过数字编码来表示,数字编码与词汇语义之间可以建立关联。例如,数字编码“01”表征词汇“大哭”,数字编码“02”表示词汇“微笑”。这样,根据从关键帧中识别出的场景特征,可以在特效图案库中查询到与该场景特征的含义相匹配的特效图案,从而可以在关键帧中的该场景特征处添加对应的特效图案,以增强画面的趣味性和动态效果。
在本实施方式中,在确定出关键帧之后,为了使得用户知晓关键帧中发生的故事情节,还需要为关键帧配上相应的文本信息。因此,可以识别所述目标视频的语音信息,从而根据识别出的语音信息,确定与所述关键帧相适配的文本信息。所述语音信息可以是人物的对话,也可以是背景的音乐等。具体地,在一个实施方式中,可以确定所述关键帧在所述目标视频中所处的目标时间节点,并获取所述目标时间节点对应的语音信息。其中,所述目标时间节点对应的语音信息可以指以所述目标时间节点为中心的一段时长内出现的语音信息。例如,关键帧所处的目标时间节点为第45分26秒,那么可以将第45分23秒至第45分30秒的语音信息作为该目标时间节点对应的语音信息。这样,通过语音识别技术,可以将获取的所述语音信息识别为文本信息。然后,可以将识别得到的所述文本信息作为与所述关键帧相适配的文本信息。在有些情况下,识别得到的文本信息可能过于冗长,无法完全展示于关键帧的有限区域内,因此可以根据所述文本信息提炼生成简练的语句,并将提炼得到的语句作为与所述关键帧相适配的文本信息。所述文本信息可以是人物之间的对话,也可以是用于表征环境特征的旁白,又可以是当前的背景音乐的歌词,还可以是动作特征对应的声音特效。例如,若所述目标视频的语音信息中包括背景音乐,那么在确定与所述关键帧相适配的文本信息时,可以识别所述背景音乐中包含的歌词,并将所述歌词作为与所述关键帧相适配的文本信息。此外,还可以识别所述背景音乐的旋律,并将用于表征所述旋律的文本信息作为与所述关键帧相适配的文本信息。例如,背景音乐的旋律比较舒缓,那么根据预先设定的旋律与文本信息之间的关联关系,可以确定出与当前的背景音乐相适配的文本信息为“悠扬”。
在一个实施方式中,文本信息的展现方式可以多种多样,根据语音信息的不同语音特征,可以采用不同的表现形式来呈现识别得到的文本信息。具体地,在对语音信息进行识别时,可以一并确定所述语音信息的语音特征,该语音特征例如可以包括语速、语调、语气、音量等特征。其中,根据所述语音特征表征的语速,可以确定与所述关键帧相适配的文本信息中文字的间距。例如,语速越慢,文本信息中文字的间距可以越大。根据所述语音特征表征的语调,可以在所述文本信息中确定关键词。具体地,关键词对应的语调通常会区别于其它词汇对应的语调。例如,人物在说一句台词的时候,其中的某个或者某几个词汇会加重发音,或者会出现语调的上扬或者下抑,通过对语调的识别,可以确定出这些语调产生变化的词汇,并将这些词汇作为文本信息中的关键词。在展示这些关键词的时候,可以将所述关键词以区别于所述文本信息中其它文字的展现形式进行展示。此外,根据所述语音特征表征的语气和/或音量,可以确定与所述文本信息相匹配的文本框架。所述文本框架可以是图3中所示的用于容纳文本信息的气泡。当语音信息的音量较高时,可以采用外观比较突出的文本框架。例如,在图3中,人物在说“喂!!”这个台词时,音量达到了指定的阈值,从而认定该台词的音量较高,从而可以选用图3中边缘比较凹凸的气泡外观。又例如,在图3中,人物在说“怎样!”的台词时,语气比较不友善,那么也可以选用边缘比较凹凸的气泡外观。这样,通过不同的文本框架的外观,从而可以在静态的图像中体现出人物语言的特性,进而有助于用户理解图像中人物的情感。
S5:基于所述关键帧中展示的内容以及所述文本信息,确定与所述场景片段相适配的画面版式。
在本实施方式中,在确定出场景片段中的关键帧,以及识别出与该关键帧相匹配的文版信息后,便可以确定与所述场景片段相适配的画面版式。其中,该画面版式可以包括画面的背景色/背景图案、画面中包含的坑位形状等。在实际应用中,可以预先设置画面版式集合,该画面版式集合中的画面版式可以具备各自的主题风格。其中,主题风格可以与情感代表词相关联。该情感代表词例如可以包括“喜悦”、“惊悚”、“浪漫”等词汇。这样,在识别出关键帧中包含的人物表情特征之后,便可以将所述画面版式集合中用于表征所述人物表情特征的情感代表词对应的画面版式作为与所述场景片段相适配的画面版式。例如,该人物表情特征对应的情感代表词为“欢乐”,便可以在画面版式集合中确定出表征欢乐的画面版式,然后从这些画面版式中随机确定一个作为与所述场景片段相适配的画面版式。需要说明的是,有时候根据人物表情特征确定出的情感代表词和画面版式集合中的情感代表词可能并不相同,但表达的语义却是相同的。在这种情况下,在确定出人物表情特征对应的情感代表词之后,可以在画面版式集合中确定出与该情感代表词相同或者语义相近的情感代表词,从而可以进一步地选用适配的画面版式。
在本实施方式中,画面版式中可以包含与关键帧的数量相适配的画面坑位,这些画面坑位可以用于填充关键帧以及对应的文本信息。在实际应用中,对于能够体现视频的主要剧情的关键帧而言,其对应的画面坑位的尺寸应当相对较大。鉴于此,可以确定所述关键帧中包含的场景特征对应的程度值。具体地,该程度值可以通过人物表情特征的夸张程度、人物动作特征的幅度来表示。人物表情越夸张、动作幅度越大,则表明当前的戏剧冲突越强烈,因此对应的程度值也越大。这样,按照不同关键帧的程度值,可以在画面版式中调节各个关键帧对应的画面坑位所占区域的大小。其中,程度值越大,对应的画面坑位也可以越大,以凸显出剧情的重要程度。
S7:将所述关键帧展示的内容以及与所述关键帧相适配的文本信息填充于所述画面版式中,以生成所述场景片段对应的漫画内容。
在本实施方式中,在确定出画面版式以及画面坑位的大小之后,可以将所述关键帧展示的内容以及与所述关键帧相适配的文本信息填充于所述画面版式中,从而生成如图3所示的场景片段对应的漫画内容。在实际应用中,关键帧通常是矩形的,而画面版式中的画面坑位的形状并不一定是矩形。因此,在填充关键帧时,可以将关键帧裁剪为与画面坑位相适配的大小,然后再将关键帧连通文本信息一并填充于画面坑位中。其中,文本信息可以如步骤S3中所述,按照步骤S3中确定出的文字的间距在所述画面版式中展示所述文本信息,还可以将确定出的关键词以区别于所述文本信息中其它文字的展现形式展示于所述画面版式中,此外,还可以在确定出文本框架之后,将所述文本信息填充于所述文本框架中,并将填充有所述文本信息的文本框架展示于所述画面版式内。在实际应用中,还可以根据需要对画面版式中的内容进行灵活调整,例如可以更改关键帧中的特效图案,或者更改文本信息的颜色、透明度、大小等。
由上可见,通过对目标视频的场景片段中关键帧以及文本信息的识别,最终可以将视频的内容通过漫画的形式进行展现,一方面减少了用户了解视频内容所需的时间成本,另一方面提高了趣味性,能够吸引更多的用户观看视频内容。
请参阅图4,本申请还提供一种视频内容的处理装置,所述装置包括:
场景片段解析单元,用于获取待处理的目标视频,并解析所述目标视频中包含的场景片段;
图形文本确定单元,用于提取所述场景片段中的关键帧,并识别所述目标视频的语音信息,以确定与所述关键帧相适配的文本信息;
画面版式确定单元,用于基于所述关键帧中展示的内容以及所述文本信息,确定与所述场景片段相适配的画面版式;
漫画内容生成单元,用于将所述关键帧展示的内容以及与所述关键帧相适配的文本信息填充于所述画面版式中,以生成所述场景片段对应的漫画内容。
在一个实施方式中,所述图形文本确定单元包括:
场景特征识别模块,用于识别所述场景片段的视频帧中包含的场景特征,所述场景包括表情特征、动作特征以及环境特征中的至少一种;
关键帧确定模块,用于将所述视频帧中包含的场景特征与场景特征集合中的特征模板进行比对,若所述视频帧中包含的场景特征存在于所述场景特征集合中,将所述视频帧作为所述场景片段的一个关键帧。
在一个实施方式中,所述装置提供有画面版式集合,所述画面版式集合中的画面版式具备情感代表词;相应地,所述画面版式确定单元包括:
表情识别模块,用于识别所述关键帧中包含的人物表情特征,并将所述画面版式集合中用于表征所述人物表情特征的情感代表词对应的画面版式作为与所述场景片段相适配的画面版式。
在一个实施方式中,与所述场景片段相适配的画面版式中包含多个画面坑位;相应地,所述画面版式确定单元包括:
坑位调节模块,用于确定所述关键帧中包含的场景特征对应的程度值,并按照所述程度值,调节所述关键帧对应的画面坑位在所述画面版式中所占区域的大小。
在一个实施方式中,所述图形文本确定单元包括:
语音特征确定模块,用于确定所述语音信息的语音特征,所述语音特征包括语速、语调、语气、音量中的至少一种;相应地,所述漫画内容生成单元包括:
文字间距确定模块,用于根据所述语音特征表征的语速,确定与所述关键帧相适配的文本信息中文字的间距,并按照所述文字的间距在所述画面版式中展示所述文本信息;
关键词确定模块,用于根据所述语音特征表征的语调,在所述文本信息中确定关键词,并将所述关键词以区别于所述文本信息中其它文字的展现形式展示于所述画面版式中;
文本框架确定模块,用于根据所述语音特征表征的语气和/或音量,确定与所述文本信息相匹配的文本框架,并将所述文本信息填充于所述文本框架中之后,将填充有所述文本信息的文本框架展示于所述画面版式内。
请参阅图5,本申请还提供一种视频内容的处理装置,所述装置包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,可以实现上述的视频内容的处理方法。
在本实施方式中,所述存储器可以包括用于存储信息的物理装置,通常是将信息数字化后再以利用电、磁或者光学等方法的媒体加以存储。本实施方式所述的存储器又可以包括:利用电能方式存储信息的装置,如RAM、ROM等;利用磁能方式存储信息的装置,如硬盘、软盘、磁带、磁芯存储器、磁泡存储器、U盘;利用光学方式存储信息的装置,如CD或DVD。当然,还有其他方式的存储器,例如量子存储器、石墨烯存储器等等。
在本实施方式中,所述处理器可以按任何适当的方式实现。例如,所述处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。
本说明书实施方式提供的装置,其存储器和处理器实现的具体功能,可以与本说明书中的前述实施方式相对照解释,并能够达到前述实施方式的技术效果,这里便不再赘述。
由上可见,本申请提供的技术方案,在获取到待处理的目标视频后,可以解析该目标视频中包含的场景片段。例如,可以将目标视频解析为情感戏、动作戏、探险戏等场景片段。然后,可以提取场景片段中的关键帧,该关键帧可以反映场景片段的环境和人物。然后,可以通过识别目标视频的语音信息,确定出与该关键帧相适配的文本信息。该文本信息例如可以是该关键帧中人物的对话,或者是该关键帧中背景音乐的歌词等。然后,根据关键帧中显示的内容以及识别出的文本信息,可以确定与该场景片段相适配的画面版式。例如,关键帧中显示的内容是两个人物的情感戏,那么选用的画面版式便可以具备明亮鲜艳的颜色。又例如,识别出的文本信息表征了愤怒的情感,那么画面版式中文本框架可以选用尺寸较大并且呈现爆炸特效的文本框架,从而与文本信息表征的情感相匹配。在确定出画面版式之后,便可以将关键帧展示的内容以及对应的文本信息填充于所述画面版式中。这样,通过上述的处理,可以将视频所表达的内容,通过简短的漫画内容来展示。一方面,这样的展现形式可以更容易地引起用户的兴趣,从而提高点击量;另一方面,通过将长视频转换为篇幅较短的漫画,能够减少用户投入的时间成本,进一步提高了长视频的关注度。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现装置以外,完全可以通过将方法步骤进行逻辑编程来使得装置以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种装置可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施方式或者实施方式的某些部分所述的方法。
本说明书中的各个实施方式均采用递进的方式描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。尤其,针对装置的实施方式来说,均可以参照前述方法的实施方式的介绍对照解释。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施方式描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。