CN102982828B - 生成视频文件的预览文件的方法及装置 - Google Patents
生成视频文件的预览文件的方法及装置 Download PDFInfo
- Publication number
- CN102982828B CN102982828B CN201210480465.2A CN201210480465A CN102982828B CN 102982828 B CN102982828 B CN 102982828B CN 201210480465 A CN201210480465 A CN 201210480465A CN 102982828 B CN102982828 B CN 102982828B
- Authority
- CN
- China
- Prior art keywords
- picture frame
- frame
- file
- video file
- preview
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Television Signal Processing For Recording (AREA)
Abstract
本发明提出一种生成视频文件的预览文件的方法和装置,其中所述方法包括以下步骤:对视频文件进行解析以获取视频文件的多个图像帧;在多个图像帧之中选择参考图像帧;判断参考图像帧之后的图像帧相对于参考图像帧是否产生运动;如果判断产生运动,则将参考图像帧之后的图像帧加入至预览图像集中,同时将加入的图像帧作为新的参考图像帧;以及根据预览图像集中的运动图像帧生成预览视频文件。根据本发明实施例的方法,不仅实现了视频文件的快速浏览,使用户能够在短时间内获取视频文件的关键信息,而且算法简单,易于实现,同时节约了大量系统资源,对移动终端性能要求低,用户体验好。
Description
技术领域
本发明涉及互联网技术领域,特别涉及一种生成视频文件的预览文件的方法及装置。
背景技术
随着互联网提供的视频文件的大量增多,通过观看完整视频来了解视频内容耗费了用户大量的时间和精力。目前,用户虽然可以通过切分文件、关键帧提取或对视频内容进行复杂分析来预览视频文件,但是切分文件的方法只是根据时间对视频文件进行划分并不能向用户展示关键信息,关键帧提取对关键帧依赖性过强,对于只有第一帧是关键帧的文件失效,而对视频内容进行复杂分析的算法复杂,需要占用大量的系统资源,一般的移动终端无法实现。因此,对于在移动终端进行视频文件的预览非常不便,不仅造成了流量的浪费,且不具有非常好的预览效果。
发明内容
本发明的目的旨在至少解决所述技术缺陷之一。
为此,本发明的一个目的在于提出一种生成视频文件的预览文件的方法,实现了视频文件的快速浏览,使用户能够在短时间内获取视频关键信息,算法简单,易于实现,同时节约了大量系统资源,对移动终端性能要求低,用户体验好。
本发明的另一个目的在于提出一种生成视频文件的预览文件的装置。
为达到所述目的,本发明一方面的实施例公开了一种生成视频文件的预览文件的方法,包括以下步骤:对视频文件进行解析以获取所述视频文件的多个图像帧;在所述多个图像帧之中选择参考图像帧;判断所述参考图像帧之后的图像帧相对于所述参考图像帧是否产生运动;如果判断产生运动,则将所述参考图像帧之后的图像帧加入至预览图像集中,同时将加入的所述图像帧作为新的参考图像帧;以及根据所述预览图像集中的运动图像帧生成预览视频文件。
根据本发明实施例的生成视频文件的预览文件的方法,通过分析获取视频文件的多个图像帧,判断相邻图像帧的运动状态,并将所有产生运动的图像帧的集合生成视频预览文件,不仅实现了视频文件的快速浏览,使用户能够在短时间内获取视频文件的关键信息,而且算法简单,易于实现,同时节约了大量系统资源,对移动终端性能要求低,用户体验好。此外本发明在降低流量的基础上能够达到非常好的预览效果。
为达到所述目的,本发明另一方面的实施例公开了一种生成视频文件的预览文件的装置,包括:解析模块,用于对视频文件进行解析以获取所述视频文件的多个图像帧;选择模块,用于在所述多个图像帧中选择参考图像帧;判断模块,用于判断所述参考图像帧之后的图像帧相对于所述参考图像帧是否产生运动;缓存模块,用于存储相对于所述参考图像帧产生运动的图像帧;更新模块,用于将所述参考图像帧更新为新存储的图像帧;以及文件生成模块,用于根据所述缓存模块中的运动图像帧生成预览视频文件。
根据本发明实施例的生成视频文件的预览文件的装置,通过解析模块获取视频文件的多个图像帧,判断模块判断相邻图像帧的运动状态,并将所有产生运动的图像帧的集合生成视频预览文件,不仅实现了视频文件的快速浏览,使用户能够在短时间内获取视频文件的关键信息,而且算法简单,易于实现,同时节约了大量系统资源,对移动终端性能要求低,用户体验好。此外本发明在降低流量的基础上能够达到非常好的预览效果。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明所述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本发明一个实施例的生成视频文件的预览文件的方法的流程图;
图2为根据本发明一个具体实施例的生成视频文件的预览文件的方法的流程图;
图3为根据本发明又一个具体实施例的生成视频文件的预览文件的方法的流程图;
图4为根据本发明另一个实施例的生成视频文件的预览文件的方法的流程图;。
图5为根据本发明一个实施例的生成视频文件的预览文件的装置的结构示意图;
图6为根据本发明一个具体实施例的生成视频文件的预览文件的装置的结构示意图;
图7为根据本发明又一个具体实施例的生成视频文件的预览文件的装置的结构示意图;以及
图8为根据本发明再一个具体实施例的生成视频文件的预览文件的装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
下面参考附图描述根据本发明实施例的生成视频文件的预览文件的方法及装置。
本发明实施例提出的一种生成视频文件的预览文件的方法,包括以下步骤:对视频文件进行解析以获取视频文件的多个图像帧;在多个图像帧之中选择参考图像帧;判断参考图像帧之后的图像帧相对于参考图像帧是否产生运动;如果判断产生运动,则将参考图像帧之后的图像帧加入至预览图像集中,同时将加入的图像帧作为新的参考图像帧;以及根据预览图像集中的运动图像帧生成预览视频文件。
图1为根据本发明实施例的生成视频文件的预览文件的方法的流程图。
如图1所示,根据本发明一个实施例的生成视频文件的预览文件的方法包括下述步骤。
步骤S101,对视频文件进行解析以获取视频文件的多个图像帧。
具体地,对视频文件进行解码分析,得到多个解码后的图像帧。在本发明实施例中,解码后的多个图像帧为YUV颜色格式,也可为RGB颜色格式。
步骤S102,在多个图像帧之中选择参考图像帧,并将该参考图像帧加入至预览图像集中。
例如,在初期可选取多个图像帧中的第一图像帧作为初始参考图像帧,并将其加入预览图像集,其中,预览图像集用来存储相对于参考图像帧产生运动的图像帧。之后可不断地更新该参考图像帧。
步骤S103,判断参考图像帧之后的图像帧相对于参考图像帧是否产生运动。
步骤S104,如果判断未产生运动,则忽略该图像帧,并跳转至步骤S103进一步判断该图像帧之后的图像帧相对于参考图像帧来说是否产生运动。
步骤S105,如果判断产生运动,则将参考图像帧之后的图像帧加入至预览图像集中,同时将加入的图像帧作为新的参考图像帧。
具体地,例如在将第一图像帧作为参考图像帧之后,将第二图像帧与第一图像帧进行比较,判断第二图像帧相对于第一图像帧(当前的参考图像帧)是否产生运动。如果判断未产生运动,则忽略该第二图像帧,并继续判断第三图像帧相对于第一图像帧来说是否产生运动。反之,如果判断产生运动,则将第二图像帧加入至预览图像集中,同时将第二图像帧作为新的参考图像帧。并继续执行步骤S103-105,直至对视频文件中的所有图像帧均分析完毕之后,会将运动的图像帧均加入至预览图像集中。
步骤S106,根据预览图像集中的运动图像帧生成预览视频文件。
在本发明中,由于预览图像集中的图像帧均是运动图像帧,因此可以代表该视频文件的主要内容,后续对这些运动图像帧进行压缩编码等处理即可生成针对该视频文件的预览视频文件。
根据本发明实施例的生成视频文件的预览文件的方法,通过分析获取视频文件的多个图像帧,判断相邻图像帧的运动状态,并将所有产生运动的图像帧的集合生成视频预览文件,不仅实现了视频文件的快速浏览,使用户能够在短时间内获取视频文件的关键信息,而且算法简单,易于实现,同时节约了大量系统资源,对移动终端性能要求低,用户体验好。此外本发明在降低流量的基础上能够达到非常好的预览效果。
图2为根据本发明一个具体实施例的生成视频文件的预览文件的方法的流程图。
如图2所示,根据本发明实施例的生成视频文件的预览文件的方法包括下述步骤。
步骤S201,对视频文件进行解析以获取视频文件的多个图像帧。
具体地,对视频文件进行解码分析,得到多个解码后的图像帧。在本发明实施例中,解码后的多个图像帧为YUV颜色格式,也可为RGB颜色格式。
步骤S202,在多个图像帧之中选择参考图像帧,并将该参考图像帧加入至预览图像集中。
例如,在初期可选取多个图像帧中的第一图像帧作为初始参考图像帧,并将其加入预览图像集,其中,预览图像集用来存储相对于参考图像帧产生运动的图像帧。之后可不断地更新该参考图像帧。
步骤S203,将参考图像帧之后的图像帧划分为多个预定尺寸的图像块,其中预定尺寸与视频文件的分辨率有关。
例如,视频文件的分辨率为W×H,则多个图像帧中每个图像帧的尺寸为Psize=W×H,可根据Psize按照如下规则来确定预定尺寸Btype:
若Psize/256≤792,则Btype=8×8,即将图像帧划分成每块尺寸为8×8图像块;
若792<Psize/256≤3600,则Btype=16×16,即将图像帧划分成每块尺寸为16×16图像块;
若3600<Psize/256≤8704,则Btype=32×32,即将图像帧划分成每块尺寸为32×32图像块;
若Psize/256≥8704,则Btype=64×64,即将图像帧划分成每块尺寸为64×64图像块。
步骤S204,分别获取每个图像块在参考图像帧上的绝对误差和最小的块。
具体地,将参考帧为划分多个预定尺寸的参考图像块,其中预定尺寸与参考帧之后的图像帧划分的图像块的尺寸相同,对于每个图像块,计算参考帧上的所有参考图像块与该图像块的绝对误差和,其中最小绝对误差和对应的参考图像块为该图像块在参考图像帧上的绝对误差和最小的块。
步骤S205,分别根据每个图像块的左上角像素点的位移及其相应的绝对误差和最小的块的左上角像素点的位移获取每个图像块的运动指数。
具体地,每个图像块的运动指数Tmv可按照以下公式计算:
其中,(x,y)为每个图像块的左上角像素点的位移,(x',y′)为每个图像块相应的绝对误差和最小的块的左上角像素点的位移。
步骤S206,分别判断每个图像块的运动指数是否小于预定阈值。
其中,预定阈值可根据用户对预览视频文件的内容详细程度的需求进行设定,例如,预定阈值可设为12、10、8等分别对应详细、标准、简要三种模式。
步骤S207,如果图像块的运动指数小于预定阈值,则确定相应的图像块为背景块。
步骤S208,如果图像块的运动指数大于预定阈值,则确定相应的图像块为运动块,并判断图像帧中运动块的比例是否小于预定比例值,且运动块中相邻块的个数是否小于预定个数。
其中,预定比例值和预定个数可根据用户对预览视频文件的内容详细程度的需求进行设定,例如,预定比例值可设为15%、10%、5%等,预定个数可设为5、4、3等,分别对应详细、标准、简要三种模式,用户可根据需要进行选择。
步骤S209,如果是,则确定图像帧不是运动图像帧,忽略该图像帧,并跳转至步骤S203,进一步判断该图像帧之后的图像帧相对于参考图像帧来说是否产生运动。
步骤S210,如果否,则确定图像帧为运动图像帧,将参考图像帧之后的图像帧加入至预览图像集中,同时将加入的图像帧作为新的参考图像帧。
具体地,例如在将第一图像帧作为参考图像帧之后,将第二图像帧与第一图像帧进行比较,判断第二图像帧相对于第一图像帧(当前的参考图像帧)是否产生运动。如果判断未产生运动,则忽略该第二图像帧,并继续判断第三图像帧相对于第一图像帧来说是否产生运动。反之,如果判断产生运动,则将第二图像帧加入至预览图像集中,同时将第二图像帧作为新的参考图像帧。并继续执行步骤S203-210,直至对视频文件中的所有图像帧均分析完毕之后,会将运动的图像帧均加入至预览图像集中。
步骤S211,根据预览图像集中的运动图像帧生成预览视频文件。
在本发明中,由于预览图像集中的图像帧均是运动图像帧,因此可以代表该视频文件的主要内容,后续对这些运动图像帧进行压缩编码等处理即可生成针对该视频文件的预览视频文件。
根据本发明实施例的生成视频文件的预览文件的方法,通过将视频文件的每个图像帧划分为多个图像块,并且以图像块的运动指数、图像帧中运动块个数以及相邻运动快个数为标准来判断图像帧是否为运动图像帧,更加精确,从而确保了视频文件的关键信息完整的存储在预览文件中,方便用户预览,进一步提升了用户体验。
在本发明的一个实施例中,可均衡设置预设阈值、预设比例值及预设个数三个指标的值来界定详细、标准、简要三种模式,用户可根据需要进行选择,预览视频文件默认为标准模式,若用户需要获得视频文件的详尽信息,可选择详细模式,若用户需要获得视频文件的简要信息,可选择简要模式。
图3为根据本发明又一个具体实施例的生成视频文件的预览文件的方法的流程图。
如图3所示,根据本发明实施例的生成视频文件的预览文件的方法包括下述步骤。
步骤S301,对视频文件进行解析以获取视频文件的多个图像帧。
具体地,对视频文件进行解码分析,得到多个解码后的图像帧。在本发明实施例中,解码后的多个图像帧为YUV颜色格式,也可为RGB颜色格式。
步骤S302,在多个图像帧之中选择参考图像帧,并将该参考图像帧加入至预览图像集中。
例如,在初期可选取多个图像帧中的第一图像帧作为初始参考图像帧,并将其加入预览图像集,其中,预览图像集用来存储相对于参考图像帧产生运动的图像帧。之后可不断地更新该参考图像帧。
步骤S303,判断图像帧的尺寸是否为预定尺寸的整数倍。
例如,视频文件的分辨率为W×H,则多个图像帧中每个图像帧的尺寸为Psize=W×H,可根据Psize按照如下规则来确定预定尺寸Btype,并判断Psize是否为Btype的整数倍:
若Psize/256≤792,则Btype=8×8,即将图像帧划分成每块尺寸为8×8图像块;
若792<Psize/256≤3600,则Btype=16×16,即将图像帧划分成每块尺寸为16×16图像块;
若3600<Psize/256≤8704,则Btype=32×32,即将图像帧划分成每块尺寸为32×32图像块;
若Psize/256≥8704,则Btype=64×64,即将图像帧划分成每块尺寸为64×64图像块。
例如,如果图像帧的尺寸Psize=1280×800,则预定尺寸Btype=32×32,可判断Psize是Btype的整数倍。如果图像帧的尺寸Psize=1200×900,则预定尺寸Btype=32×32,可判断Psize不是Btype的整数倍。
步骤S304,如果否,则将图像帧扩展为预定尺寸的整数倍后,再将图像帧划分为多个预定尺寸的图像块。
例如,可将图像帧的尺寸由Psize=1200×900扩展到预定尺寸Btype=32×32的整数倍Psize=1216×928,进而将图像帧划分成尺寸为Btype=32×32的多个图像块。
具体地,扩展图像帧可以使用图像帧的最右边像素点进行横向扩展,以及使用图像帧的最下边像素点进行纵向扩展,也可以使用图像帧的最左边像素点进行横向扩展,以及使用图像帧的最上边像素点进行纵向扩展。
步骤S305,如果是,则直接将图像帧划分为多个预定尺寸的图像块。
步骤S306,分别获取每个图像块在参考图像帧上的绝对误差和最小的块。
具体地,将参考帧为划分多个预定尺寸的参考图像块,其中预定尺寸与参考帧之后的图像帧划分的图像块的尺寸相同,对于每个图像块,计算参考帧上的所有参考图像块与该图像块的绝对误差和,其中最小绝对误差和对应的参考图像块为该图像块在参考图像帧上的绝对误差和最小的块。
步骤S307,分别根据每个图像块的左上角像素点的位移及其相应的MAD值最小块的左上角像素点的位移获取每个图像块的运动指数。
具体地,每个图像块的运动指数Tmv可按照以下公式计算:
其中,(x,y)为每个图像块的左上角像素点的位移,(x',y′)为每个图像块相应的绝对误差和最小的块的左上角像素点的位移。
步骤S308,分别判断每个图像块的运动指数是否小于预定阈值。
其中,预定阈值可根据用户对预览视频文件的内容详细程度的需求进行设定,例如,预定阈值可设为12、10、8等分别对应详细、标准、简要三种模式,用户可根据需要进行选择。
步骤S309,如果图像块的运动指数小于预定阈值,则确定相应的图像块为背景块。
步骤S310,如果图像块的运动指数大于预定阈值,则确定相应的图像块为运动块,并判断图像帧中运动块的比例是否小于预定比例值,且运动块中相邻块的个数是否小于预定个数。
其中,预定比例值和预定个数可根据用户对预览视频文件的内容详细程度的需求进行设定,例如,预定比例值可设为15%、10%、5%等,预定个数可设为5、4、3等,分别对应详细、标准、简要三种模式,用户可根据需要进行选择。
步骤S311,如果是,则确定图像帧不是运动图像帧,忽略该图像帧,并跳转至步骤S303,进一步判断该图像帧之后的图像帧相对于参考图像帧来说是否产生运动。
步骤S312,如果否,则确定图像帧为运动图像帧,将参考图像帧之后的图像帧加入至预览图像集中,同时将加入的图像帧作为新的参考图像帧。
具体地,例如在将第一图像帧作为参考图像帧之后,将第二图像帧与第一图像帧进行比较,判断第二图像帧相对于第一图像帧(当前的参考图像帧)是否产生运动。如果判断未产生运动,则忽略该第二图像帧,并继续判断第三图像帧相对于第一图像帧来说是否产生运动。反之,如果判断产生运动,则将第二图像帧加入至预览图像集中,同时将第二图像帧作为新的参考图像帧。并继续执行步骤S303-312,直至对视频文件中的所有图像帧均分析完毕之后,会将运动的图像帧均加入至预览图像集中。
步骤S313,根据预览图像集中的运动图像帧生成预览视频文件。
在本发明中,由于预览图像集中的图像帧均是运动图像帧,因此可以代表该视频文件的主要内容,后续对这些运动图像帧进行压缩编码等处理即可生成针对该视频文件的预览视频文件。
根据本发明实施例的生成视频文件的预览文件的方法,通过扩展图像帧的尺寸,以便于将图像帧划分为多个预定尺寸的图像块,使得生成预览视频文件的过程更易于实现。
在本发明的一个实施例中,可均衡设置预设阈值、预设比例值及预设个数三个指标的值来界定详细、标准、简要三种模式,用户可根据需要进行选择,预览视频文件默认为标准模式,若用户需要获得视频文件的详尽信息,可选择详细模式,若用户需要获得视频文件的简要信息,可选择简要模式。
图4为根据本发明又一个具体实施例的生成视频文件的预览文件的方法的流程图。
如图4所示,根据本发明实施例的生成视频文件的预览文件的方法包括下述步骤。
步骤S401,对视频文件进行解析以获取视频文件的多个图像帧。
具体地,对视频文件进行解码分析,得到多个解码后的图像帧。在本发明实施例中,解码后的多个图像帧为YUV颜色格式,也可为RGB颜色格式。
步骤S402,在多个图像帧之中选择参考图像帧,并将该参考图像帧加入至预览图像集中。
例如,可选取多个图像帧中的第一图像帧作为初始参考图像帧,并将其加入预览图像集,其中,预览图像集用来存储相对于参考图像帧产生运动的图像帧。之后可不断地更新该参考图像帧。
步骤S403,判断参考图像帧之后的图像帧相对于参考图像帧是否产生运动。
步骤S404,如果判断未产生运动,则忽略该图像帧,并跳转至步骤S103进一步判断该图像帧之后的图像帧相对于参考图像帧来说是否产生运动。
步骤S405,如果判断产生运动,则将参考图像帧之后的图像帧加入至预览图像集中,同时将加入的图像帧作为新的参考图像帧。
具体地,例如在将第一图像帧作为参考图像帧之后,将第二图像帧与第一图像帧进行比较,判断第二图像帧相对于第一图像帧(当前的参考图像帧)是否产生运动。如果判断未产生运动,则忽略该第二图像帧,并继续判断第三图像帧相对于第一图像帧来说是否产生运动。反之,如果判断产生运动,则将第二图像帧加入至预览图像集中,同时将第二图像帧作为新的参考图像帧。并继续执行步骤S403-405,直至对视频文件中的所有图像帧均分析完毕之后,会将运动的图像帧均加入至预览图像集中。
步骤S406,对预览图像集中的运动图像帧进行视频压缩编码以生成压缩图像。
步骤S407,根据压缩图像生成预定的文件格式的预览视频文件。
在本发明中,由于预览图像集中的图像帧均是运动图像帧,因此可以代表该视频文件的主要内容,后续对这些运动图像帧进行压缩编码等处理即可生成针对该视频文件的预览视频文件。
根据本发明实施例的生成视频文件的预览文件的方法,对预览图像集中的运动图像帧进行视频压缩编码生成压缩图像,使得预览视频文件体积进一步缩小,占用空间更少,便于用户预览,节约流量,同时也进一步减轻了移动终端的负荷。
为了实现上述实施例,本发明还提出了一种生成视频文件的预览文件的装置。
本发明提出的一种生成视频文件的预览文件的装置,包括:解析模块,用于对视频文件进行解析以获取视频文件的多个图像帧;选择模块,用于在多个图像帧中选择参考图像帧;判断模块,用于判断参考图像帧之后的图像帧相对于参考图像帧是否产生运动;缓存模块,用于存储相对于参考图像帧产生运动的图像帧;更新模块,用于将参考图像帧更新为新存储的图像帧;以及文件生成模块,用于根据缓存模块中的运动图像帧生成预览视频文件。
图5为根据本发明一个实施例的生成视频文件的预览文件的装置的结构示意图。
如图5所示,根据本发明实施例的生成视频文件的预览文件的装置包括:解析模块100、选择模块200、判断模块300、缓存模块400、更新模块500以及文件生成模块600。
具体地,解析模块100用于对视频文件进行解析以获取视频文件的多个图像帧。更具体地,解析模块100用于对视频文件进行解码分析,得到多个解码后的图像帧。在本发明实施例中,解码后的多个图像帧为YUV颜色格式,也可为RGB颜色格式。
选择模块200用于在多个图像帧中选择参考图像帧,并通过缓存模块400将该参考图像帧存储加入至预览图像集中。例如,选择模块200在初期可选取多个图像帧中的第一图像帧作为初始参考图像帧,并通过存储模块400将其加入预览图像集,其中,预览图像集用来存储相对于参考图像帧产生运动的图像帧。之后可不断地更新该参考图像帧。判断模块300用于判断参考图像帧之后的图像帧相对于参考图像帧是否产生运动。如果判断未产生运动,则忽略该图像帧,并进一步判断该图像帧之后的图像帧相对于参考图像帧来说是否产生运动。如果判断产生运动,则将参考图像帧之后的图像帧通过缓存模块400加入至预览图像集中,同时通过更新模块将参考图像帧更新为该加入的图像帧。
缓存模块400用于存储相对于参考图像帧产生运动的图像帧。
更新模块500用于将参考图像帧更新为新存储的图像帧。
文件生成模块600用于根据缓存模块中的图像帧生成预览视频文件。
例如,在初期选择模块200将第一图像帧选为参考图像帧之后,判断模块300将第二图像帧与第一图像帧进行比较,判断第二图像帧相对于第一图像帧(当前的参考图像帧)是否产生运动。如果判断未产生运动,则忽略该第二图像帧,并继续判断第三图像帧相对于第一图像帧来说是否产生运动。反之,如果判断产生运动,则通过缓存模块400将第二图像帧加入至预览图像集中,同时通过更新模块将参考图像帧更新为第二图像帧,并通过判断模块300继续判断第二图像帧之后的图像帧相对于第二图像帧来说是否产生运动。
根据本发明实施例的生成视频文件的预览文件的装置,通过解析模块获取视频文件的多个图像帧,判断模块判断相邻图像帧的运动状态,并将所有产生运动的图像帧的集合生成视频预览文件,不仅实现了视频文件的快速浏览,使用户能够在短时间内获取视频文件的关键信息,而且算法简单,易于实现,同时节约了大量系统资源,对移动终端性能要求低,用户体验好。
图6为根据本发明一个具体实施例的生成视频文件的预览文件的装置的结构示意图。
如图6所示,在图5的基础上据本发明实施例的生成视频文件的预览文件的装置的判断模块300进一步包括:分割单元310、第一获取单元320、第二获取单元330、第一判断单元340以及第二判断单元350。
具体地,分割单元310用于将参考图像帧之后的图像帧划分为多个预定尺寸的图像块,其中预定尺寸与视频文件的分辨率有关。
例如,视频文件的分辨率为W×H,则多个图像帧中每个图像帧的尺寸为Psize=W×H,可根据Psize按照如下规则来确定预定尺寸Btype:
若Psize/256≤792,则Btype=8×8,即分割单元310将图像帧划分成每块尺寸为8×8图像块;
若792<Psize/256≤3600,则Btype=16×16,即分割单元310将图像帧划分成每块尺寸为16×16图像块;
若3600<Psize/256≤8704,则Btype=32×32,即分割单元310将图像帧划分成每块尺寸为32×32图像块;
若Psize/256≥8704,则Btype=64×64,即分割单元310将图像帧划分成每块尺寸为64×64图像块。
第一获取单元320用于分别获取每个图像块在所述参考图像帧上的绝对误差和最小的块。具体地,将参考帧为划分多个预定尺寸的参考图像块,其中预定尺寸与参考帧之后的图像帧划分的图像块的尺寸相同,对于每个图像块,计算参考帧上的所有参考图像块与该图像块的绝对误差和,其中最小绝对误差和对应的参考图像块为该图像块在参考图像帧上的绝对误差和最小的块。
第二获取单元330用于分别根据每个图像块的左上角像素点的位移及其相应的绝对误差和最小的块的左上角像素点的位移获取每个图像块的运动指数。更具体地,每个图像块的运动指数Tmv可按照以下公式计算:
其中,(x,y)为每个图像块的左上角像素点的位移,(x',y′)为每个图像块相应的绝对误差和最小的块的左上角像素点的位移。
第一判断单元340用于分别判断每个图像块的运动指数是否小于预定阈值,如果小于则为背景块,否则为运动快,并进一步通过第二判断单元判断图像帧中运动块的比例是否小于预定比例值,且运动块中相邻块的个数是否小于预定个数。其中,预定阈值可根据用户对预览视频文件的内容详细程度的需求进行设定,例如,预定阈值可设为12、10、8等分别对应详细、标准、简要三种模式。
第二判断单元350用于判断图像帧中运动块的比例是否小于预定比例值且运动块中相邻块的个数是否小于预定个数,如果是,则确定图像帧不是运动图像帧,忽略该图像帧,并进一步判断该图像帧之后的图像帧相对于参考图像帧来说是否产生运动,如果否,则确定图像帧为运动图像帧,并通过缓存模块400将其入至预览图像集中,同时通过更新模块将参考图像帧更新为该加入的图像帧。其中,预定比例值和预定个数可根据用户对预览视频文件的内容详细程度的需求进行设定,例如,预定比例值可设为15%、10%、5%等,预定个数可设为5、4、3等,分别对应详细、标准、简要三种模式,用户可根据需要进行选择。
根据本发明实施例的生成视频文件的预览文件的装置,通过分割单元将视频文件的每个图像帧划分为多个图像块,通过第一判断单元和第二判断单元来判断图像帧是否为运动图像帧,更加精确,从而确保了视频文件的关键信息完整的存储在预览文件中,方便用户预览,进一步提升了用户体验。
在本发明的一个实施例中,可均衡设置预设阈值、预设比例值及预设个数三个指标的值来界定详细、标准、简要三种模式,用户可根据需要进行选择,预览视频文件默认为标准模式,若用户需要获得视频文件的详尽信息,可选择详细模式,若用户需要获得视频文件的简要信息,可选择简要模式。
图7为根据本发明又一个具体实施例的生成视频文件的预览文件的装置的结构示意图。
如图7所示,在图6的基础上据本发明实施例的生成视频文件的预览文件的装置的判断模块300还包括:第三判断单元360以及扩展单元370。
具体地,第三判断单元360用于判断图像帧的尺寸是否为预定尺寸的整数倍。例如,如果图像帧的尺寸Psize=1280×800,则预定尺寸Btype=32×32,可判断Psize是Btype的整数倍。如果图像帧的尺寸Psize=1200×900,则预定尺寸Btype=32×32,可判断Psize不是Btype的整数倍。
扩展单元370用于在第三判断单元确定图像帧的尺寸不为预定尺寸的整数倍时,对图像帧进行扩展。例如,可将图像帧的尺寸由Psize=1200×900扩展到预定尺寸Btype=32×32的整数倍Psize=1216×928,进而将图像帧划分成尺寸为Btype=32×32的多个图像块。其中,扩展图像帧可以使用图像帧的最右边像素点进行横向扩展,以及使用图像帧的最下边像素点进行纵向扩展,也可以使用图像帧的最左边像素点进行横向扩展,以及使用图像帧的最上边像素点进行纵向扩展。
根据本发明实施例的生成视频文件的预览文件的装置,通过扩展单元扩展图像帧的尺寸,以便于将图像帧划分为多个预定尺寸的图像块,使得生成预览视频文件的过程更易于实现。
图8为根据本发明再一个具体实施例的生成视频文件的预览文件的装置的结构示意图。
如图8所示,在图7的基础上据本发明实施例的生成视频文件的预览文件的装置的文件生成模块600进一步包括:压缩单元610和生成单元620。
具体地,压缩单元610用于对缓存模块中的图像帧进行视频压缩编码以生成压缩图像。
生成单元620用于根据压缩图像生成预定的文件格式的预览视频文件。
在本发明的实施例中,判断模块300中的第一获取单元320、第二获取单元330、第一判断单元340、第二判断单元350、第三判断单元360以及扩展单元370是可选的。
根据本发明实施例的生成视频文件的预览文件的装置,通过压缩单元对预览图像集中的运动图像帧进行视频压缩编码生成压缩图像,使得预览视频文件体积进一步缩小,占用空间更少,便于用户预览,同时也进一步减轻了移动终端的负荷。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对所述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定。
Claims (12)
1.一种生成视频文件的预览文件的方法,其特征在于,包括以下步骤:
a、对视频文件进行解析以获取所述视频文件的多个图像帧;
b、在所述多个图像帧之中选择参考图像帧;
c、判断所述参考图像帧之后的图像帧相对于所述参考图像帧是否产生运动;
d、如果判断产生运动,则将所述参考图像帧之后的图像帧加入至预览图像集中,同时将加入的所述图像帧作为新的参考图像帧;以及
e、根据所述预览图像集中的运动图像帧生成预览视频文件。
2.根据权利要求1所述的生成视频文件的预览文件的方法,其特征在于,选取所述多个图像帧中的第一图像帧作为初始参考图像帧。
3.根据权利要求1所述的生成视频文件的预览文件的方法,其特征在于,所述步骤c具体包括:
c1、将所述参考图像帧之后的图像帧划分为多个预定尺寸的图像块,其中所述预定尺寸与所述视频文件的分辨率有关;
c2、分别获取每个所述图像块在所述参考图像帧上的绝对误差和最小的块;
c3、分别根据每个所述图像块的左上角像素点的位移及其相应的绝对误差和最小的块的左上角像素点的位移获取每个所述图像块的运动指数;
c4、分别判断每个所述图像块的运动指数是否小于预定阈值;
c5、如果小于预定阈值,则确定相应的图像块为背景块,否则为运动块;
c6、判断所述图像帧中运动块的比例是否小于预定比例值,且所述运动块中相邻块的个数是否小于预定个数;
c7、如果否,则确定所述图像帧为运动图像帧。
4.根据权利要求3所述的生成视频文件的预览文件的方法,其特征在于,所述步骤c1具体包括:
判断所述图像帧的尺寸是否为所述预定尺寸的整数倍;
如果是,则直接将所述图像帧划分为多个预定尺寸的图像块;
如果否,则将所述图像帧扩展为所述预定尺寸的整数倍后,再将所述图像帧划分为多个预定尺寸的图像块。
5.根据权利要求4所述的生成视频文件的预览文件的方法,其特征在于,所述扩展所述图像帧包括:使用所述图像帧的最右边像素点进行横向扩展,以及使用所述图像帧的最下边像素点进行纵向扩展。
6.根据权利要求1所述的生成视频文件的预览文件的方法,其特征在于,所述步骤e具体包括:
对所述预览图像集中的运动图像帧进行视频压缩编码以生成压缩图像;以及
根据所述压缩图像生成预定的文件格式的预览视频文件。
7.一种生成视频文件的预览文件的装置,其特征在于,包括:
解析模块,用于对视频文件进行解析以获取所述视频文件的多个图像帧;
选择模块,用于在所述多个图像帧中选择参考图像帧;
判断模块,用于判断所述参考图像帧之后的图像帧相对于所述参考图像帧是否产生运动;
缓存模块,用于存储相对于所述参考图像帧产生运动的图像帧;
更新模块,用于将所述参考图像帧更新为新存储的图像帧;以及
文件生成模块,用于根据所述缓存模块中的运动图像帧生成预览视频文件。
8.根据权利要求7所述的生成视频文件的预览文件的装置,其特征在于,所述选择模块选择所述的多个图像帧中的第一图像帧作为初始参考图像帧。
9.根据权利要求7所述的生成视频文件的预览文件的装置,其特征在于,所述判断模块具体包括:
分割单元,用于将所述参考图像帧之后的图像帧划分为多个预定尺寸的图像块,其中所述预定尺寸与所述视频文件的分辨率有关;
第一获取单元,用于分别获取每个所述图像块在所述参考图像帧上的绝对误差和最小的块;
第二获取单元,用于分别根据每个所述图像块的左上角像素点的位移及其相应的绝对误差和最小的块的左上角像素点的位移获取每个所述图像块的运动指数;
第一判断单元,用于分别判断每个所述图像块的运动指数是否小于预定阈值,如果小于则为背景块,否则为运动快;以及
第二判断单元,用于判断所述图像帧中运动块的比例是否小于预定比例值且所述运动块中相邻块的个数是否小于预定个数,如果否,则确定所述图像帧为运动图像帧。
10.根据权利要求9所述的生成视频文件的预览文件的装置,其特征在于,还包括:
第三判断单元,用于判断所述图像帧的尺寸是否为所述预定尺寸的整数倍;以及
扩展单元,用于在第三判断单元确定所述图像帧的尺寸不为所述预定尺寸的整数倍时,对所述图像帧进行扩展。
11.根据权利要求10所述的生成视频文件的预览文件的装置,其特征在于,所述扩展单元使用所述图像帧的最右边像素点进行横向扩展,使用所述图像帧的最下边像素点进行纵向扩展。
12.根据权利要求7所述的生成视频文件的预览文件的装置,其特征在于,所述文件生成模块具体包括:
压缩单元,用于对所述缓存模块中的图像帧进行视频压缩编码以生成压缩图像;以及
生成单元,用于根据所述压缩图像生成预定的文件格式的预览视频文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210480465.2A CN102982828B (zh) | 2012-11-22 | 2012-11-22 | 生成视频文件的预览文件的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210480465.2A CN102982828B (zh) | 2012-11-22 | 2012-11-22 | 生成视频文件的预览文件的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102982828A CN102982828A (zh) | 2013-03-20 |
CN102982828B true CN102982828B (zh) | 2015-11-25 |
Family
ID=47856730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210480465.2A Active CN102982828B (zh) | 2012-11-22 | 2012-11-22 | 生成视频文件的预览文件的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102982828B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104123306B (zh) * | 2013-04-27 | 2019-06-25 | 厦门雅迅网络股份有限公司 | 一种基于历史分析的无人智能驱动的数据文件生成方法 |
CN103338408A (zh) * | 2013-05-31 | 2013-10-02 | 东莞宇龙通信科技有限公司 | 一种录像视频预览帧的选取方法、系统及移动终端 |
CN104869132A (zh) * | 2014-02-21 | 2015-08-26 | 深圳市云帆世纪科技有限公司 | 基于互联网的媒体资源分享系统、方法及服务器组 |
CN104954889B (zh) * | 2014-03-28 | 2019-06-11 | 宇龙计算机通信科技(深圳)有限公司 | 片头生成方法及生成系统 |
CN105376658B (zh) * | 2014-08-26 | 2019-04-12 | 无锡天脉聚源传媒科技有限公司 | 一种生成视频文件概览的装置和方法 |
US9799376B2 (en) | 2014-09-17 | 2017-10-24 | Xiaomi Inc. | Method and device for video browsing based on keyframe |
CN106961567A (zh) * | 2016-01-12 | 2017-07-18 | 中兴通讯股份有限公司 | 动画图像生成方法及装置 |
CN105721620B (zh) * | 2016-05-09 | 2019-05-10 | 百度在线网络技术(北京)有限公司 | 视频信息推送方法和装置及视频信息展示方法和装置 |
CN107835381B (zh) * | 2017-10-17 | 2019-11-19 | 浙江大华技术股份有限公司 | 一种生成动检录像预览图的方法及装置 |
CN111669638B (zh) * | 2020-02-28 | 2022-07-15 | 海信视像科技股份有限公司 | 一种视频旋转播放方法及显示设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1878229A (zh) * | 2006-07-14 | 2006-12-13 | 杭州国芯科技有限公司 | 生成预览图像的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101427250B (zh) * | 2006-04-20 | 2012-07-04 | Nxp股份有限公司 | 对数据流创建摘要的数据摘要系统和方法 |
-
2012
- 2012-11-22 CN CN201210480465.2A patent/CN102982828B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1878229A (zh) * | 2006-07-14 | 2006-12-13 | 杭州国芯科技有限公司 | 生成预览图像的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102982828A (zh) | 2013-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102982828B (zh) | 生成视频文件的预览文件的方法及装置 | |
CN103024445B (zh) | 云端的视频转码方法和云服务器 | |
CN103823620B (zh) | 一种屏幕适配的方法和装置 | |
EP3985612A1 (en) | Method and device for rendering animation, computer readable storage medium, and computer apparatus | |
US8711152B2 (en) | Animation control apparatus, animation control method, and non-transitory computer readable recording medium | |
US20160044329A1 (en) | Image Predictive Coding Method and Image Encoder | |
EP2871560A1 (en) | Image processing method and apparatus | |
US20090002368A1 (en) | Method, apparatus and a computer program product for utilizing a graphical processing unit to provide depth information for autostereoscopic display | |
TW201028012A (en) | Optimal power usage in encoding data streams | |
CN111552530A (zh) | 用户界面的终端屏幕适配方法、装置及设备 | |
CN101569202A (zh) | 活动图像编码方法和解码方法、其装置、以及其程序和记录有程序的记录介质 | |
CN103181167B (zh) | 用于提供复杂度平衡熵编码的方法和装置 | |
CN112070863A (zh) | 动画文件处理方法、装置、计算机可读存储介质和计算机设备 | |
CN109688407A (zh) | 编码单元的参考块选择方法、装置、电子设备及存储介质 | |
CN109993817B (zh) | 一种动画的实现方法和终端 | |
CN103049908B (zh) | 生成立体视频文件的方法和装置 | |
CN105227873A (zh) | 一种在屏显示数据的测试方法和装置 | |
KR101470505B1 (ko) | 공간 데이터 압축 장치 및 그 방법과, 압축된 공간 데이터 복원 장치 및 그 방법 | |
JP2014204175A (ja) | 画像処理装置及びその制御方法 | |
CN102375649A (zh) | 图像显示方法及移动终端 | |
CN114218421A (zh) | 资源召回方法、装置及网络侧设备 | |
CN104104947B (zh) | 一种视频编码方法和装置 | |
JP2008306330A (ja) | 情報処理装置、動きベクトル生成プログラムおよび補間画像生成プログラム | |
CN103853347A (zh) | 基于移动终端重力感应横屏显示的信息发布方法 | |
JP2007322810A (ja) | フォントデータベース生成プログラム及びフォントデータ構造 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |