一种动作补间动画的自动生成方法及自动生成***
技术领域
本发明涉及界面应用和框架开发领域,具体来说,涉及一种动作补间动画的自动生成方法及自动生成***。
背景技术
动画是界面程序常涉及的一种效果展现方式。帧动画是指按照帧图片的方式制作生成出来的动画。补间动画属于帧动画中的一种。补间动画是指定义若干个关键帧,在帧与帧之间用程序自动计算得到***帧,从而生成完整的帧动画。补间动画包括动作补间动画和形状补间动画。动作补间动画是在一个点定义实例的位置、透明度、缩放比及旋转角度等属性,然后才可以在其他位置改变这些属性,从而由这些属性变化产生动画。它根据同一对象在关键帧中的大小,位置,旋转、倾斜、透明度等属性的差别计算生成,动作补间可用于组、图形元件、按钮、影片剪辑、位图。目前,纯动画效果的展示,集成虽然简单,但是内存消耗大,且用户无法与动画中的物体进行交互。
发明内容
技术问题:本发明所要解决的技术问题是:提供一种动作补间动画的自动生成方法及自动生成***,使得不同的动作补间动画通过同一动作补间动画生成框架,自动化生成代码,减少了开发者的编码工作,且该自动生成方法可实现交互。
技术方案:为解决上述技术问题,一方面,本发明提供一种动作补间动画的自动生成方法,该生成方法包括以下过程:
S10将动作补间动画转化为动作补间动画描述文件;
S20建立动作补间动画生成框架;
S30将动作补间动画描述文件输入动作补间动画生成框架中,生成动作补间动画。
作为一种实施例,所述的步骤S10包括以下过程:
S101将动作补间动画拆解为多张图片,并确定每张图片中包含的属性和关键帧,将图片、属性和关键帧作为输出项;
S102建立动作补间动画描述文件模板,该动作补间动画描述文件模板包含物体、属性和关键帧;
S103将S101的输出项输入S102建立的动作补间动画描述文件模板中,转化为动作补间动画描述文件,其中,物体对应步骤S101中拆解后的图片。
作为一种实施例,所述的步骤S20包括以下过程:
S201生成界面控件实例列表和动画实例列表;
S202根据S201生成的界面控件实例列表,组装出界面;
S203将S202组装的界面添加到应用前台中,将动画实例列表集中绑定一套逻辑起停,建立动作补间动画生成框架。
作为一种实施例,所述的步骤S201中,生成界面控件实例列表的过程为:首先判断是否存在物体的位移和旋转跟随另一个物体而改变,如果是,则被跟随的物体解析为ViewGroup类型,发生跟随的物体解析为ImageView类型,并将ImageView实例通过父子关系添加到ViewGroup实例中;如果否,则将每个物体解析为一ImageView类型;其次,将所有ImageView实例和ViewGroup实例进行集合,生成界面控件实例列表。
作为一种实施例,,所述的步骤S201中,生成动画实例列表的过程为:关键帧生成Keyframe实例,属性和Keyframe实例通过PropertyValuesHolder接口关联,然后将物体和PropertyValuesHolder接口用ObjectAnimator实例关联,最后将所有的ObjectAnimator实例通过AnimatorSet实例集合保存,生成动画实例列表。
作为一种实施例,所述的步骤S202的过程为:首先,判断界面控件实例是否存在父节点,如果是,则将界面控件实例添加到其父节点的ViewGroup实例中;如果否,则将界面控件实例添加进根容器中;其次,将父节点的ViewGroup实例也添加到根容器中,按层次关系组装界面控件实例,生成界面。
作为一种实施例,所述的步骤S202中,界面控件实例添加进根容器中的过程为:先将视觉层次位于下层的界面控件实例添加到根容器中,然后将视觉层次覆盖在上层的界面控件实例添加到根容器中;界面控件实例添加到其父节点的ViewGroup实例中的过程为:先将视觉层次位于下层的界面控件实例添加到ViewGroup实例中,然后将视觉层次覆盖在上层的界面控件实例添加到ViewGroup实例中;父节点的ViewGroup实例添加到根容器的过程为:先将视觉层次位于下层的ViewGroup实例添加到根容器中,然后将视觉层次覆盖在上层的ViewGroup实例添加到根容器中。
作为一种实施例,所述的动作补间动画的自动生成方法,还包括,由应用创建根容器和展现动画且支持触控的物体,并将其先行绑定到界面,根容器用于添加展现动画且支持触控的物体,然后再提供给动作补间动画生成框架,用于添加展现动画的物体。
作为一种实施例,所述的步骤S201还包括以下过程:判断物体是否已由外部应用创建,如果是,则直接将此物体对应的界面控件实例添加到界面控件实例列表中;如果否,则生成界面控件实例,再添加到界面控件实例列表中。
作为一种实施例,所述的动作补间动画的自动生成方法,还包括,应用对框架绑定***,获知动画起停状态变化,从而协同动画与应用之间的工作。
作为一种实施例,所述的动作补间动画的自动生成方法,还包括,将属性中的位置坐标属性按照动画显示区域的长宽与动画固有长宽的比例进行等比例放大或缩小。
另一方面,本发明还提供一种动作补间动画的自动生成***,该自动生成***包括:
转化模块:用于将动作补间动画转化为动作补间动画描述文件;
建立模块:用于建立动作补间动画生成框架;
生成模块:用于将动作补间动画描述文件输入动作补间动画生成框架中,生成动作补间动画。
作为一种实施例,所述的转化模块包括:
拆解子模块:用于将动作补间动画拆解为多张图片,并确定每张图片中包含的属性和关键帧,将图片、属性和关键帧作为输出项;
动作补间动画描述文件模板:动作补间动画描述文件模板包含物体、属性和关键帧;
转化子模块:用于将拆解子模块的输出项输入动作补间动画描述文件模板中,转化为动作补间动画描述文件,其中,物体对应拆解后的图片。
作为一种实施例,所述的建立模块包括:
实例列表生成子模块:用于生成界面控件实例列表和动画实例列表;
组装子模块:用于将界面控件实例列表组装出界面;
框架生成子模块:用于将界面添加到应用前台中,将动画实例列表集中绑定一套逻辑起停,建立动作补间动画生成框架。
作为一种实施例,所述的实例列表生成子模块,还用于判断物体是否已由外部应用创建,如果是,则直接将此物体对应的界面控件实例添加到界面控件实例列表中;如果否,则生成界面控件实例,再添加到界面控件实例列表中。
作为一种实施例,所述的动作补间动画的自动生成***,还包括:
触控模块:用于利用应用创建根容器和展现动画且支持触控的物体,并将其先行绑定到界面,根容器用于添加展现动画且支持触控的物体,然后再提供给动作补间动画生成框架,用于添加展现动画的物体。
作为一种实施例,所述的动作补间动画的自动生成***,还包括监听模块:用于应用对框架绑定***,获知动画起停状态变化,从而协同动画与应用之间的工作。
有益效果:与现有技术相比,本发明具有以下有益效果:本发明通过将动作补间动画转化为动作补间动画描述文件,将动作补间动画描述文件输入动作补间动画生成框架中,实现动作补间动画的自动生成。在这一过程中,无需对不同的动作补间动画编写程序,只需将不同的动作补间动画转化为动作补间动画描述文件,再输入同一个动作补间动画生成框架中,即可用于不同的动作补间动画的生成。本发明的自动化生成框架,可以在多程序内进行复用,一次开发永久使用,减少了开发者的编码工作,提高了开发效率。
附图说明
图1是本发明实施例1的一种流程框图。
图2是本发明实施例1的一种数据流图。
图3是本发明实施例1中步骤S10的流程框图。
图4是本发明实施例1中步骤S20的流程框图。
图5是本发明实施例2的结构框图。
具体实施方式
下面结合附图,通过实施例对本发明进行说明。
本发明涉及动作补间动画。从动作补间动画中可提取物体、属性、关键帧三要素,本发明实施例中的框架是以物体、属性、关键帧三要素的自动化处理为输入和构建前提。
实施例1
如图1所示,本发明的一种动作补间动画的自动生成方法,包括以下过程:
S10将动作补间动画转化为动作补间动画描述文件;
S20建立动作补间动画生成框架;
S30将动作补间动画描述文件输入动作补间动画生成框架中,生成动作补间动画。
本实施例通过上述三个步骤,实现了不同的动作补间动画的自动生成,不需要针对不同的动作补间动画分别编写程序来实现动画的生成。本实施例主要涉及动作补间动画的程序自动化生成。根据程序自动化生成的理念,定义一套解析和生成框架。这样对于视觉设计人员和程序开发人员,只需要商榷动画本身和定义一个描述文件,即能够达到动画程序的自动生成。本实施例建立的框架用于完成从设计人员制作的动作补间动画到触屏手机程序的自动转换。触屏手机可采用android操作***。框架基于该android操作***来实现。
在本实施例中,将动作补间动画转化为动作补间动画描述文件。不同的动作补间动画,对应不同的动作补间动画描述文件。作为一种优选方法,如图3所示,步骤S10包括以下过程:
S101将动作补间动画拆解为多张图片,并确定每张图片中包含的属性和关键帧,将图片、属性和关键帧作为输出项。
S102建立动作补间动画描述文件模板,该动作补间动画描述文件模板包含物体、属性和关键帧。关键帧包括一组由(帧号,值)表示的数据。
S103将S101的输出项输入S102建立的动作补间动画描述文件模板中,转化为动作补间动画描述文件,其中,物体对应步骤S101中拆解后的图片。
通过上述三个步骤,将动作补间动画分别描述为动作补间动画描述文件。动作补间动画描述文件模板包含的要素是固定的,分别为物体、属性和关键帧。这不会因为动作补间动画的不同而改变。动作补间动画描述文件模板可采用结构性的标记语言,例如,XML文件。步骤S101将动作补间动画拆解为多张图片,并确定每张图片中包含的属性和关键帧。步骤S101将动作补间动画分解为图片、属性和关键帧三个要素。步骤S102建立动作补间动画描述文件模板,确定了不同的动作补间动画都将转化为同一模板下的不同文件,使得不同的动作补间动画具有了相同的要素。虽然不同的动作补间动画对应不同的动作补间动画描述文件,但是动作补间动画描述文件包含的内容是一致的,都包含物体、属性和关键帧三个要素。这样,不同的动作补间动画,对应动作补间动画描述文件中三个要素的不同。
下面例举一动作补间动画描述文件示例。该动作补间动画描述文件为XML格式。
上述动作补间动画描述文件示例中,第一行为XML的固定格式标记,第二行表示该节点代表动画本身,用于指定动画自身的属性。第三行表示指定动画的高度,第四行表示动画的宽度,第五行表示物体节点,第六行表示给该物体取个名字,第七行表示该物体的动画结束帧,第八行表示涉及旋转、缩放,要指定操作中心点x坐标,第九行表示操作中心点y坐标,第十行表示指定物体对应的图片,第十一行表示该物体的动画起始帧,第十二行表示物体动画展示的帧速率,该物体是每秒25帧,第十三行表示属性节点,该属性是透明度属性,第十四行表示关键帧节点,第十五行表示第0帧,第十六行表示透明度为0.5,第十七行表示关键帧节点,第十八行表示第60帧,第十九行表示透明度为0.5,第二十行表示关键帧节点,第二十一行表示第79帧,第二十二行表示透明度为0,第二十三行为XML的固定格式标记,表示该节点到此结束,第二十四行为XML的固定格式标记,表示该节点到此结束。第二十五行为XML的固定格式标记,表示该节点到此结束。
作为一种优选方法,如图4所示,所述的步骤S20包括以下过程:
S201生成界面控件实例列表和动画实例列表。
S202根据S201生成的界面控件实例列表,组装出界面。
S203将S202组装的界面添加到应用前台中,将动画实例列表集中绑定一套逻辑起停,建立动作补间动画生成框架。
在步骤201中,生成界面控件实例列表的过程为:首先判断是否存在物体的位移和旋转跟随另一个物体而改变,如果是,则被跟随的物体解析为ViewGroup类型,发生跟随的物体解析为ImageView类型,并将ImageView实例通过父子关系添加到ViewGroup实例中;如果否,则将每个物体解析为一ImageView类型;其次,将所有ImageView实例和ViewGroup实例进行集合,生成界面控件实例列表。例如,设有四个物体[a,b,c,d],当不存在跟随时,控件实例列表中实例的类型分别为[ImageView,ImageView,ImageView,ImageView],界面的父子关系为[无,无,无,无];当c和d的位移和旋转跟随a改变时,控件实例列表中实例的类型分别为[ViewGroup,ImageView,ImageView,ImageView],界面的父子关系为[无,无,a的儿子,a的儿子];当d的位移和旋转跟随a改变,b的位移和旋转跟随c改变时,控件实例列表中实例的类型分别为[ViewGroup,ImageView,ViewGroup,ImageView],界面的父子关系为[无,c的儿子,无,a的儿子]。
生成动画实例列表的过程为:关键帧生成Keyframe实例,属性和Keyframe实例通过PropertyValuesHolder接口关联,然后将物体和PropertyValuesHolder接口用ObjectAnimator实例关联,最后将所有的ObjectAnimator实例通过AnimatorSet实例集合保存,生成动画实例列表。
相对于直接把设计人员开发的动画拿出来播放,本实施例生成动画实例列表,以支持程序生成的动画适配不同的屏幕尺寸,同时在动画播放的过程中,用户可以与动画中的物体直接进行交互,比如进行点击、拖动,能与程序的其他界面展现部分无缝集成。
作为一种优选方案,步骤S202的过程为:首先,判断界面控件实例是否存在父节点,如果是,则将界面控件实例添加到其父节点的ViewGroup实例中;如果否,则将界面控件实例添加进根容器中;其次,将父节点的ViewGroup实例也添加到根容器中,按层次关系组装界面控件实例,生成界面。
界面控件实例添加进根容器中的过程为:先将视觉层次位于下层的界面控件实例添加到根容器中,然后将视觉层次覆盖在上层的界面控件实例添加到根容器中。界面控件实例添加到其父节点的ViewGroup实例中的过程为:先将视觉层次位于下层的界面控件实例添加到ViewGroup实例中,然后将视觉层次覆盖在上层的界面控件实例添加到ViewGroup实例中。父节点的ViewGroup实例添加到根容器的过程为:先将视觉层次位于下层的ViewGroup实例添加到根容器中,然后将视觉层次覆盖在上层的ViewGroup实例添加到根容器中。
针对目前应用开发者对于动画展现,主要使用专门的动画播放插件来解决,但是这种实现方式,让用户无法操作动画中的物体,使得动画播放和物体操控相分离,无法解决应用的一些客观需求。为解决该问题,本实施例优选一种下述方案,所述的动作补间动画的自动生成方法还包括,由应用创建根容器和展现动画且支持触控的物体,并将其先行绑定到界面,根容器用于添加展现动画且支持触控的物体,然后再提供给动作补间动画生成框架,用于添加展现动画的物体。本步骤中,通过设置展现动画且支持触控的物体,使得外界可以对动画中的物体进行控制(包括但不限于点击、长按、拖拽、声光反馈),实现互动。此时,根容器由应用预先创建。将展现动画且支持触控的物体预先添加到根容器中,然后再提供给动作补间动画生成框架,用于添加其他动画物体。当实施例选择此步骤时,步骤S201还包括以下过程:判断物体是否已由外部应用创建,如果是,则直接将此物体对应的界面控件实例添加到界面控件实例列表中;如果否,则生成界面控件实例,再添加到界面控件实例列表中。如上所示,用于展现动画且支持触控的物体由应用预先创建,并绑定到界面上。
图2为本实施例的数据流图。图中,实线方框表示***外部实体(输入、输出);圆形表示对数据进行处理;箭头表示数据处理模块间流动的数据;两条平行线表示固有数据存储实体,如文件、数据库;云表示非固有数据存储实体,如内存。由***外部实体制作动作补间动画,将制成的动作补间动画进行拆解,拆解成物体和对应物体的若干关键帧。由程序员编写XML文件,来描述补间动画,形成补间动画描述文件。补间动画包含三种节点:物体节点、属性节点和关键帧节点。一个物体节点可以包含多个属性,一个属性节点可以包含多个关键帧。自动化解析程序,根据描述文件,自动生成界面控件实例列表和动画实例列表。根据界面控件实例列表自动组装界面,将组装的界面添加到界面绘制程序中,动画实例列表集中绑定一套逻辑起停,形成可运行的动画程序。
作为一种优选方案,所述的动作补间动画的自动生成方法还包括,应用对框架绑定***,获知动画起停状态变化,从而协同动画与应用之间的工作。当动画支持外界对画面中的物体进行触控时,动画一旦启动,即不可对动画物体进行触控,只有在启动前或者停止后才可操作。当动画启动时,应用获知动画启动,即可根据应用自身的需求屏蔽用户对于界面其他部分的触控。当动画播放结束,应用可以立即根据自身需求进行例如界面跳转,弹框提示,数据更新等操作,与动画无缝衔接。被集成的动画能与用户进行交互,是因为通过框架从动画中分解出了物体,并将物体生成了平台相关的控件实例列表,从而可以通过平台自身的机制,能够对控件进行交互。
作为一种优选方案,所述的动作补间动画的自动生成方法还包括,将属性中的位置坐标属性按照动画显示区域的长宽与动画固有长宽的比例进行等比例放大或缩小。由于终端的屏幕尺寸大小是不相同的,所以在不同的终端上播放相同的动作补间动画时,需要将属性中的位置坐标属性按照动画显示区域的长宽与动画固有长宽的比例进行等比例放大或缩小。这样就能够保证相同的动作补间动画,在不同尺寸的动画显示区域得到清晰的播放。同时相对于直接把设计人员开发的动画拿出来播放,程序生成的动画可以适配不同的屏幕尺寸。
实施例2
如图4所示,一种动作补间动画的自动生成***,包括:
转化模块:用于将动作补间动画转化为动作补间动画描述文件;
建立模块:用于建立动作补间动画生成框架;
生成模块:用于将动作补间动画描述文件输入动作补间动画生成框架中,生成动作补间动画。
本实施例中,转化模块将动作补间动画转化为动作补间动画描述文件。动作补间动画采用动作补间动画描述文件的方式进行描述。建立模块建立动作补间动画生成框架。将动作补间动画描述文件输入动作补间动画生成框架中,即可生成动作补间动画。这样,对于不同的动作补间动画,只需要将其变为动作补间动画描述文件,然后输入动作补间动画生成框架中,即可生成动作补间动画。而不需针对不同的动作补间动画分别编写程序来实现动画的生成。通过同一动作补间动画生成框架,输入不同的动作补间动画描述文件,实现不同动作补间动画的生成。
作为一种优选方案,如图5所示,转化模块包括:拆解子模块:用于将动作补间动画拆解为多张图片,并确定每张图片中包含的属性和关键帧,将图片、属性和关键帧作为输出项。动作补间动画描述文件模板:动作补间动画描述文件模板包含物体、属性和关键帧。转化子模块:用于将拆解子模块的输出项输入动作补间动画描述文件模板中,转化为动作补间动画描述文件,其中,物体对应拆解后的图片。
通过上述三个子模块,将动作补间动画分别描述为动作补间动画描述文件。
拆解子模块将各动作补间动画拆解成图片,并确定图片中包含的属性和关键帧两个要素。动作补间动画描述文件模板用于生成动作补间动画描述文件。动作补间动画描述文件模板包含物体、属性和关键帧三个要素。将拆解子模块得到的图片,以及图片中包含的属性和关键帧输入到动作补间动画描述文件模板中,得到动作补间动画描述文件。虽然不同的动作补间动画对应不同的动作补间动画描述文件,但是动作补间动画描述文件包含的内容是一致的,都包含物体、属性和关键帧三个要素。这样,不同的动作补间动画,对应动作补间动画描述文件中三个要素不同。
作为一种优选方案,如图5所示,所述的建立模块包括:实例列表生成子模块:用于生成界面控件实例列表和动画实例列表。组装子模块:用于将界面控件实例列表组装出界面。框架生成子模块:用于将界面添加到应用前台中,将动画实例列表集中绑定一套逻辑起停,建立动作补间动画生成框架。
实例列表生成子模块包括界面控件实例列表生成单元和动画实例列表生成单元。
界面控件实例列表生成单元用于生成界面控件实例列表。具体过程为:首先,判断是否存在物体的位移和旋转跟随另一个物体而改变,如果是,则被跟随的物体解析为ViewGroup类型,发生跟随的物体解析为ImageView类型,并将ImageView实例通过父子关系添加到ViewGroup实例中;如果否,则将每个物体解析为一ImageView类型;其次,将所有ImageView实例和ViewGroup实例进行集合,生成界面控件实例列表。
动画实例列表生成单元用于生成动画实例列表。具体过程为:关键帧生成Keyframe实例,将属性和Keyframe实例通过PropertyValuesHolder接口关联,然后将物体和PropertyValuesHolder接口用ObjectAnimator实例关联,最后将所有的ObjectAnimator实例通过AnimatorSet实例集合保存,生成动画实例列表。
作为一种优选的实施例,所述的组装子模块包括判断单元和添加单元。判断单元:用于判断界面控件实例是否存在父节点,如果是,则将界面控件实例添加到其父节点的ViewGroup实例中;如果否,则将界面控件实例添加进根容器中。添加单元,用于将父节点的ViewGroup实例添加到根容器中,按层次关系组装界面控件实例,生成界面。
作为一种优选的实施例,所述的动作补间动画的自动生成***还包括:触控模块:用于利用应用创建根容器和展现动画且支持触控的物体,并将其先行绑定到界面,根容器用于添加展现动画且支持触控的物体,然后再提供给动作补间动画生成框架,用于添加展现动画的物体。通过设置展现动画且支持触控的物体,使得外界可以对动画中的物体进行控制,实现互动。此时,根容器由应用预先创建。将展现动画且支持触控的物体预先添加到根容器中,然后再提供给动作补间动画生成框架,用于添加其他动画物体。
当实施例此选择触控模块时,上述界面控件实例列表生成单元,还用于判断物体是否已由外部应用创建,如果是,则直接将此物体对应的界面控件实例添加到界面控件实例列表中;如果否,则生成界面控件实例,再添加到界面控件实例列表中。如上所述,用于展现动画且支持触控的物体由应用预先创建,并绑定到界面上,不需要单独生成界面控件实例添加到界面控件实例列表中。
作为一种优选方案,所述的动作补间动画的自动生成***还包括,监听模块:用于应用对框架绑定***,获知动画起停状态变化,从而协同动画与应用之间的工作。当动画支持外界对画面中的物体进行触控时,本实施例在框架绑定***,利用***监听动画的起停状态变化,协同动画与应用之间的工作。动画一旦启动,即不可对动画物体进行触控,只有在启动前或者停止后才可操作。当动画启动时,应用获知动画启动,即可根据应用自身的需求屏蔽用户对于界面其他部分的触控。当动画播放结束,应用可以立即根据自身需求进行例如界面跳转,弹框提示,数据更新等操作,与动画无缝衔接。这样,在动画播放的过程中,用户可以与动画中的物体直接进行交互,比如进行点击、拖动,能与程序的其他界面展现部分无缝集成。
作为一种优选方案,所述的动作补间动画的自动生成***还包括,放缩模块:用于将属性中的位置坐标属性按照动画显示区域的长宽与动画固有长宽的比例进行等比例放大或缩小。由于终端的屏幕尺寸大小是不相同的,所以在不同的终端上播放相同的动作补间动画时,需要将属性中的位置坐标属性按照动画显示区域的长宽与动画固有长宽的比例进行等比例放大或缩小。这样就能够保证相同的动作补间动画,在不同尺寸的动画显示区域得到清晰的播放。如手机上动画显示区域的固有长宽为1280x720,而实际手机需要在1440x1280的全屏幕范围显示动画,则所有位置坐标属性(如移动的位置坐标和物体的中心点坐标),按照放大比例进行等比例放大,其他属性不变。相对于现有技术中直接把视觉开发的动画拿出来播放,本实施例程序生成的动画可以适配不同的屏幕尺寸。
同时,动作补间动画生成框架方便有效的控制动画运行时的内存占比,具有低内存消耗的优点,也方便在动画过程中使用硬件加速提高性能。以一个1024x768屏幕展示的全屏动画为例,按照单像素ARGB表示占4Byte。普通的展示方法,单帧加载的内存消耗为1024x768x4B=3145728B=3MB,带帧缓冲的展示方式运行时内存消耗平均在10MB以上。而该框架将物体分解为控件,通过界面组装的方式展示,Android平台的验证结果,内存消耗在1MB以下。
本领域技术人员应该知晓,实现上述实施例的方法或者***,可以通过计算机程序指令来实现。该计算机程序指令装载到可编程数据处理设备上,例如计算机,从而在可编程数据处理设备上执行相应的指令,用于实现上述实施例的方法或者***实现的功能。
本领域技术人员依据上述实施例,可以对本申请进行非创造性的技术改进,而不脱离本发明的精神实质。这些改进仍应视为在本申请权利要求的保护范围之内。