CN113747159A - 一种生成可变帧率视频媒体文件的方法、装置及相关组件 - Google Patents

一种生成可变帧率视频媒体文件的方法、装置及相关组件 Download PDF

Info

Publication number
CN113747159A
CN113747159A CN202111038023.8A CN202111038023A CN113747159A CN 113747159 A CN113747159 A CN 113747159A CN 202111038023 A CN202111038023 A CN 202111038023A CN 113747159 A CN113747159 A CN 113747159A
Authority
CN
China
Prior art keywords
frame
image frame
static
current image
threshold
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.)
Granted
Application number
CN202111038023.8A
Other languages
English (en)
Other versions
CN113747159B (zh
Inventor
杜春华
李盛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Ruan Niu Technology Group Co ltd
Original Assignee
Afirstsoft Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Afirstsoft Co Ltd filed Critical Afirstsoft Co Ltd
Priority to CN202111038023.8A priority Critical patent/CN113747159B/zh
Publication of CN113747159A publication Critical patent/CN113747159A/zh
Application granted granted Critical
Publication of CN113747159B publication Critical patent/CN113747159B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种生成可变帧率视频媒体文件的方法、装置及相关组件。该方法包括对输入的视频数据按照预设采样率进行采样,其中,所述输入的视频数据中每一图像帧均带有时间戳;对输入的视频数据中的当前图像帧与上一帧图像帧进行对比,根据对比结果判断当前图像帧是否是静止图像帧,若是则将所述当前图像帧进行丢弃并继续接收下一图像帧,若不是则将所述当前图像帧输入编码器进行编码;将编码后的视频数据写入复用器中,以生成可变帧率的媒体文件。该方法一方面减少了媒体文件的码率,另一方面减少了编码器的压力,提高了编码性能;同时该方法也适用于通用的编码器和硬件编码器,而不需要对编码器进行修改。

Description

一种生成可变帧率视频媒体文件的方法、装置及相关组件
技术领域
本发明涉及视频编码领域,尤其涉及一种生成可变帧率视频媒体文件的方法、装置及相关组件。
背景技术
在视频录制中,未压缩的视频是以一帧帧图像显示出来的,然后经过编码器进行压缩;为了减少视频的数据量,现有技术中开发了多种压缩方案,例如h264、h265等等编码器。帧图像是以序列的方式来表达,在每秒帧数固定的是恒定帧率模式,不固定的是可变帧率模式。
在实际使用过程中,录制的数据会占用大量的存储空间并且在网络中需要大量带宽,对于长时间的录制视频更是如此。在视频录制过程中通常都是按恒定帧率模式进行图像的采样,再输入编码器中进行编码,输出恒定的帧率视频流,造成了存储和计算资源的浪费。
发明内容
本发明的目的是提供一种生成可变帧率视频媒体文件的方法、装置及相关组件,旨在解决现有视频录制过程中造成存储和计算资源的浪费的问题。
为解决上述技术问题,本发明的目的是通过以下技术方案实现的:提供一种生成可变帧率视频媒体文件的方法,其包括:
对输入的视频数据按照预设采样率进行采样,其中,所述输入的视频数据中每一图像帧均带有时间戳;
对输入的视频数据中的当前图像帧与上一帧图像帧进行对比,根据对比结果判断当前图像帧是否是静止图像帧,若是则将所述当前图像帧进行丢弃并继续接收下一图像帧,若不是则将所述当前图像帧输入编码器进行编码;
将编码后的视频数据写入复用器中,以生成可变帧率的媒体文件。
另外,本发明要解决的技术问题是还在于提供一种生成可变帧率视频媒体文件的装置,其包括:
采样单元,用于对输入的视频数据按照预设采样率进行采样,其中,所述输入的视频数据中每一图像帧均带有时间戳;
对比判断单元,用于对输入的视频数据中的当前图像帧与上一帧图像帧进行对比,根据对比结果判断当前图像帧是否是静止图像帧,若是则将所述当前图像帧进行丢弃并继续接收下一图像帧,若不是则将所述当前图像帧输入编码器进行编码;
输出单元,用于将编码后的视频数据写入复用器中,以生成可变帧率的媒体文件。
另外,本发明实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的生成可变帧率视频媒体文件的方法。
另外,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的生成可变帧率视频媒体文件的方法。
本发明实施例公开了一种生成可变帧率视频媒体文件的方法、装置及相关组件,其中,方法包括:对输入的视频数据按照预设采样率进行采样,其中,所述输入的视频数据中每一图像帧均带有时间戳;对输入的视频数据中的当前图像帧与上一帧图像帧进行对比,根据对比结果判断当前图像帧是否是静止图像帧,若是则将所述当前图像帧进行丢弃并继续接收下一图像帧,若不是则将所述当前图像帧输入编码器进行编码;将编码后的视频数据写入复用器中,以生成可变帧率的媒体文件。该方法一方面减少了媒体文件的码率,另一方面减少了编码器的压力,提高了编码性能;同时该方法也适用于通用的编码器和硬件编码器,而不需要对编码器进行修改。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的生成可变帧率视频媒体文件的方法的流程示意图;
图2为本发明实施例提供的生成可变帧率视频媒体文件的装置的示意性框图;
图3为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
在现有技术中,视频录制过程中通常都是按恒定帧率模式进行图像的采样,再输入编码器中进行编码,以输出恒定的帧率视频流,这种方式造成了存储和计算资源的浪费,现有技术中还有通过修改编码器,生成可变帧率的媒体文件的方式,该种方式不适用于通用的GPU等硬件编码设备,适用性和实用性较差。
请参阅图1,图1为本发明实施例提供的生成可变帧率视频媒体文件的方法的流程示意图;
如图1所示,该方法包括步骤S101~S103。
S101、对输入的视频数据按照预设采样率进行采样,其中,所述输入的视频数据中每一图像帧均带有时间戳;
S102、对输入的视频数据中的当前图像帧与上一帧图像帧进行对比,根据对比结果判断当前图像帧是否是静止图像帧,若是则将所述当前图像帧进行丢弃并继续接收下一图像帧,若不是则将所述当前图像帧输入编码器进行编码;
S103、将编码后的视频数据写入复用器中,以生成可变帧率的媒体文件。
在步骤S101中,采样过程就是对视频源进行相当于抽帧的过程,比如摄像头一秒输出60张图像,在录制中可以按一秒30张的采样率进行采样,并按照采样率计算得出每一图像帧的时间戳。
在步骤S102中,通过将当前图像帧和上一帧图像帧进行对比,若当前图像帧与上一帧图像帧的图像内容有较明显的变化,则说明当前图像帧是非静止图像帧而需要被保留下来,否则会导致最终输出的视频画面出现过渡卡顿的现象,若当前图像帧与上一帧图像帧的图像内容的变化较细微,例如肉眼完全无法识别的情况下,则将当前视频帧判定为静止图片帧而对其进行丢弃,通过这种方式减少静止图片帧的帧数,即减少了编码器的压力,提高了编码性能,同时减少媒体文件的存储资源的浪费。在本实施例中,若所述当前图像帧为输入的视频数据中的第一帧图像帧,则直接将第一帧图像帧输入编码器进行编码,因为第一帧图像帧是关键帧,后面的图像帧要参考这个关键帧。
在步骤S103中,编码后的视频数据通过复用器复用成mp4,avi等等这类的格式,然后生成可变帧率的媒体文件,并输出到文件夹或者网络中。
在本申请实施例中,通过对输入的当前图像帧与前一图像帧进行对比,判断是否是静止图像帧,如果是静止图像帧,则对静止图像帧进行丢弃,通过这样方式减少了媒体文件的码率,同时减少了编码器的压力,提高了编码性能。同时,该方法适用于通用的编码器和硬件编码器,而不需要对编码器进行修改,适用性和实用性较好。
在一实施例中,所述步骤S102包括:
S1021、对所述输入的视频数据中的当前图像帧与上一帧图像帧进行减法操作,计算得出两个图像帧之间残差的绝对误差和的值,判断所述绝对误差和的值是否小于预设的静止帧阈值,若是则判定当前图像帧为静止图像帧。
通过对比两个图像帧之间残差的绝对误差和的值和静止帧阈值,可以快速的判定当前图像是否为静止图像帧,若当前图像帧为静止图像帧,则将当前图像帧进行丢弃,进而提高编码性能。
在另一实施例中,所述步骤S102包括:
S1022、对输入的视频数据中的当前图像帧与上一帧图像帧分别进行图像区域划分,并依次计算两两对应的图像区域之间残差的绝对误差和的值,判断所述绝对误差和的值是否小于预设的静止帧阈值,若是则返回计算两两对应的下一图像区域之间残差的绝对误差和的值,并进行静止图像帧的判断,若否则判定当前图像帧为非静止图像帧,并停止对剩余的图像区域进行计算。
在本实施例中,在视频源为PC桌面录制时,PC桌面的视频变化内容可能只占据桌面的一部分,若是直接将当前整个桌面的图像与上一整个桌面的图像进行对比,会使得对比计算的时间变长,浪费计算资源,而通过将图像帧划分成多个区域,并对连续的两个图像帧中两两对应的图像区域进行计算,通过计算的绝对误差和的值判断当前图像帧是否是静止图像帧的方式,能有效的提高计算效率。其中,在步骤S1021中的静止帧阈值和步骤S1022中的静止帧阈值可以相同也不可以不同。
在一实施例中,所述步骤S102之前,包括:
S201、预先设置连续丢弃的最大帧数以及连续丢弃帧数之间的时间间隔。
通过预先设置连续丢弃的最大帧数以及连续丢弃帧数之间的时间间隔,减少对视频解码和显示播放造成不良影响。
具体一实施例中,所述步骤S201包括:
若所述当前图像帧是静止图像帧,则判断所述当前图像帧的帧数是否超过所述连续丢弃的最大帧数,若超过所述连续丢弃的最大帧数则将当前图像帧输入编码器,若未超过所述连续丢弃的最大帧数则继续判断所述当前图像帧是否超过连续丢弃帧数之间的时间间隔,若超过连续丢弃帧数之间的时间间隔则将所述当前图像帧输入编码器,若未超过连续丢弃帧数之间的时间间隔则将当前图像帧丢弃并继续接收下一图像帧。
预先设置连续丢弃的最大帧数以及连续丢弃帧数之间的时间间隔,在连续丢弃静止图像帧,且当前图像帧依旧判定为静止图像帧后,以当前图像帧之前的非静止图像帧后接收的第一帧图像帧开始,记录该第一帧图像帧与当前图像帧之间连续丢弃的静止图像帧的次数,若该丢弃的次数超过预先设置连续丢弃的最大帧数,则保留当前图像帧并输入至编码器,若该丢弃的次数未超过预先设置连续丢弃的最大帧数,则继续以当前图像帧之前的非静止图像帧后接收的第一帧图像帧开始,记录当前图像帧与第一帧图像帧时间戳的差值,判断该时间戳的差值是否大于连续丢弃帧数之间的时间间隔,若该时间戳的差值大于连续丢弃帧数之间的时间间隔,则保留当前图像帧并输入至编码器,若该时间戳的差值小于等于连续丢弃帧数之间的时间间隔,则将当前图像帧进行丢弃。
具体一实施例中,例如设置连续丢弃的最大帧数为10帧,当一个非静止图像帧被输入编码器进行编码后,继续接收的图像帧被判定为静止图像帧,则将该静止图像帧作为第一图像帧,之后接收到的图像帧依次为第二图像帧、第三图像帧、…,若第二图像帧、第三图像帧、…、第十一图像帧均被判定为静止图像帧,此时连续丢弃的帧数为11帧,超过预设的连续丢弃的最大帧数10,所以第十一图像帧会被保留,并输入至编码器进行编码。
仍然设置连续丢弃的最大帧数为10帧,同时将连续丢弃帧数之间的时间间隔设置为0.2s,当一个非静止图像帧被输入编码器进行编码后,继续接收的图像帧若被判定为静止图像帧,则该静止图像帧作为第一图像帧,之后接收到的图像帧依次为第二图像帧、第三图像帧、…,从丢弃第一图像帧开始,记录第一图像帧的时间戳,若第二图像帧被判定为静止图像帧,且第二图像帧与第一图像帧的时间戳的差值小于0.2s,则丢弃第二图像帧,若第三图像帧被判定为静止图像帧,且第三图像帧与第一图像帧的时间戳的差值小于0.2s,则丢弃第三图像帧,以此类推,当连续丢弃到第六帧图像帧后,判定第七帧图像帧仍为静止图像帧,此时计算出第七帧图像帧与第一图像帧的时间戳的差值大于0.2s,此时虽然连续丢弃的最大帧数未超过10帧,但由于当前图像帧(第七帧图像帧)超过连续丢弃帧数之间的时间间隔,依旧会将第七帧图像帧进行保留并输入至编码器进行编码,以保证视频的显示效果。
在一实施例中,还包括以下步骤:
S301、按照自适应方式对所述静止帧阈值进行调整,使所述静止帧阈值的大小随丢弃帧数自动变化。
具体一实施例中,所述步骤S301包括:
在判定第x帧图像帧为静止图像帧时,按下式更新所述静止帧阈值,并将更新后的所述静止帧阈值作为第x+1帧图像帧的静止帧阈值:
Threshold(x+1)=a×SAD(x,x-1);
其中,Threshold(x+1)表示第x+1帧图像帧的静止帧阈值,x表示当前图像帧,SAD(x,x-1)表示当前图像帧和上一帧图像帧之间的绝对误差和的值,a为系数且小于1;
当基于所述第x+1帧图像帧的静止帧阈值,判定第x+1帧图像帧为静止图像帧时,按下式更新所述静止帧阈值,并将更新后的所述静止帧阈值作为第x+2帧图像帧的静止帧阈值:Threshold(x+2)=a×SAD(x+1,x);
以此类推,直至判定第n帧图像帧为非静止图像帧,且将第n+1帧图像帧的静止帧阈值还原为初始的静止帧阈值,或者,连续更新超过d次静止帧阈值后保持静止帧阈值不变。
在本实施例中,在连续判定图像帧为静止图像帧的过程中,每一次判定会相应的修改静止帧阈值,使得对连续丢弃的静止图像帧越来越严格,减少对静止图像帧丢弃的误判断。例如预先设置一个初始的静止帧阈值,以接收到第一帧图像帧为例,首先第一帧图像帧保留并输入值编码器,然后接收第二帧图像帧,计算第二帧图像帧与第一帧图像帧之间的绝对误差和SAD(2,1)的值,并将第二帧图像帧与第一帧图像帧之间的绝对误差和SAD(2,1)的值与初始的静止帧阈值进行对比,若第二帧图像帧与第一帧图像帧之间的绝对误差和SAD(2,1)的值大于初始的静止帧阈值,则判定第二帧图像帧为非静止图像帧,并将第二帧图像帧的静止帧阈值还原为初始静止帧阈值,若第二帧图像帧与第一帧图像帧之间的绝对误差和SAD(2,1)的值小于初始的静止帧阈值,则判定第二帧图像帧为静止图像帧,按照Threshold(3)=a×SAD(2,1)公式计算得到第二帧图像帧的静止帧阈值。
在第二帧图像帧被判定为静止图像帧后,继续接收第三帧图像帧,并计算第三帧图像帧与第二帧图像帧之间的绝对误差和SAD(3,2)的值,再将第三帧图像帧与第二帧图像帧之间的绝对误差和SAD(3,2)的值与第二帧图像帧的静止帧阈值进行对比,若第三帧图像帧与第二帧图像帧之间的绝对误差和SAD(3,2)的值大于第二帧图像帧的静止帧阈值,则判定第三帧图像帧为非静止图像帧,并将第三帧图像帧的静止帧阈值还原为初始静止帧阈值,若第三帧图像帧与第二帧图像帧之间的绝对误差和SAD(3,2)的值小于第二帧图像帧的静止帧阈值,则判定第三帧图像帧为静止图像帧,按照Threshold(4)=a×SAD(3,2)公式计算得到第三帧图像帧的静止帧阈值,以此类推,直到判定第n帧图像帧为非静止图像帧,且将第n+1帧图像帧的静止帧阈值还原为初始的静止帧阈值,或者,连续更新超过d次静止帧阈值后保持静止帧阈值不变。由上述可知,SAD(2,1)小于初始的静止帧阈值,SAD(3,2)小于SAD(2,1),即在系数a保持不变的情况下,若图像帧连续被判定为静止帧阈值,计算得到的Threshold(x)的值逐渐减少。
在一具体实施例中,例如将d设为4,在连续丢弃第二帧图像帧、第三帧图像帧、第四帧图像帧、第五帧图像帧后,即使第六帧图像帧被判定为静止图像帧,也不会对第六帧图像帧的静止帧阈值进行更新,通过这种方式减少计算资源的浪费。
在本实施例中,根据录制场景的不同,预先设定不同的初始静止帧阈值,例如在录制PC桌面的场景下,可以将初始静止帧阈值设置的较低,这样才能检测出一些细微的变化,从而保留一些变化较小的图像帧,避免丢弃帧数较多,导致视频细节损失过大,而在录制摄像头的场景下,可以将初始静止帧阈值设置的较高,这样可以适当丢弃一些变化较小的图像帧,避免保留帧数过多,导致存储和计算资源浪费,具体一实施例中,可以为PC桌面的场景预设PC桌面初始静止帧阈值以及为录制摄像头预设摄像头初始静止帧阈值,其中,PC桌面初始静止帧阈值小于摄像头初始静止帧阈值。
本实施例中,提供了自动判断当前场景的方法,如判定为PC桌面的场景,则自动将初始静止帧阈值设置为PC桌面初始静止帧阈值,如判定为录制摄像头的场景,则自动将初始静止帧阈值设置为摄像头初始静止帧阈值。其中,自动判断当前场景的方法如下:
首先对输入的视频数据中的第一帧图像帧和连续的第二帧图像帧进行区域划分,例如按照网格划分成n×n图像区域,并将第一帧图像帧的每一图像区域与第二帧图像帧相应的每一图像区域关联,例如可以将n设为5,以第一帧图像帧为例,其被划分成5行5列,得到第一行第一列(1,1)格,第二行第一列(2,1)格,第三行第一列(3,1)格,第四行第一列(4,1)格,第五行第一列(5,1)格,共5格图像区域,同理其余4行均得到5各图像区域,共25格图像区域,然后计算第一帧图像帧(5,1)格与第二帧图像帧(5,1)格之间残差的绝对误差和的值以及相应的第一图像区域静止帧阈值,若计算得到的第一图像区域静止帧阈值小于等于PC桌面初始静止帧阈值,则判定当前输入的视频数据源为PC桌面录制,并选用PC桌面初始静止帧阈值为初始静止帧阈值,由于PC桌面左下角固定为“开始”按钮图标,在录制过程中“开始”按钮图标保持不变;若计算得到的第一图像区域静止帧阈值大于PC桌面初始静止帧阈值,则判定当前输入的视频数据源为摄像头录制,并选用摄像头初始静止帧阈值为初始静止帧阈值,因为摄像头在录制过程中,画面全景的变动幅度较大,导致计算得到的第一图像区域静止帧阈值较大。
更优的,可以对计算得到的前y帧图像帧中的第一图像区域的静止帧阈值求均值,通过计算得到的静止帧阈值的均值与PC桌面初始静止帧阈值进行对比,若静止帧阈值的均值小于PC桌面初始静止帧阈值,则判定当前输入的视频数据源为PC桌面录制,并选用PC桌面初始静止帧阈值为初始静止帧阈值,若静止帧阈值的均值大于PC桌面初始静止帧阈值,则判定当前输入的视频数据源为摄像头录制,并选用摄像头初始静止帧阈值为初始静止帧阈值,例如可以将y设为3。
具体一实施例中,在选定初始静止帧阈值后,以第4帧图像帧为例,首先接收第4帧图像帧,并对第4帧图像帧进行网格划分,形成5×5图像区域,然后计算第4帧图像帧(3,3)格与第3帧图像帧(3,3)格之间残差的绝对误差和的值,并基于绝对误差和的值计算得到第4帧图像帧(3,3)格的静止帧阈值,再将得到的第4帧图像帧(3,3)格的静止帧阈值与第3帧图像帧(3,3)格静止帧阈值进行对比,若第4帧图像帧(3,3)格的静止帧阈值大于第3帧图像帧(3,3)格的静止帧阈值,则判定第4帧图像帧为非静止图像帧并输入至编码器进行编码;若第4帧图像帧(3,3)格的静止帧阈值小于等于第3帧图像帧(3,3)格的静止帧阈值,则继续将第4帧图像帧(3,2)格的静止帧阈值与第3帧图像帧(3,2)格的静止帧阈值进行对比,若第4帧图像帧(3,2)格的静止帧阈值依旧小于第3帧图像帧(3,2)格的静止帧阈值,则继续将第4帧图像帧(2,2)格的静止帧阈值与第3帧图像帧(2,2)格的静止帧阈值进行对比,若是遍历第4帧图像帧所有的图像区域均比第3帧图像帧相应的图像区域的静止帧阈值小,则判定第3帧为静止图像帧并进行丢弃。
在实际使用过程中,图像区域不一定必须按照等面积划分,也可以将位于图像帧中间位置的图像区域面积变大,因为对视频的录制,一般会将动态的人或物放置于图像的中间区域。由于将每一帧图像帧的画面进行分割,使得对图像区域的计算量变少,进而使得编码效率增加,减少存储和计算资源的浪费。
本发明实施例还提供一种生成可变帧率视频媒体文件的装置,该生成可变帧率视频媒体文件的装置用于执行前述生成可变帧率视频媒体文件的方法的任一实施例。具体地,请参阅图2,图2是本发明实施例提供的生成可变帧率视频媒体文件的装置的示意性框图。
如图2所示,生成可变帧率视频媒体文件的装置500,包括:
采样单元501,用于对输入的视频数据按照预设采样率进行采样,其中,所述输入的视频数据中每一图像帧均带有时间戳;
对比判断单元502,用于对输入的视频数据中的当前图像帧与上一帧图像帧进行对比,根据对比结果判断当前图像帧是否是静止图像帧,若是则将所述当前图像帧进行丢弃并继续接收下一图像帧,若不是则将所述当前图像帧输入编码器进行编码;
输出单元503,用于将编码后的视频数据写入复用器中,以生成可变帧率的媒体文件。
该装置通过对输入的当前图像帧与前一图像帧进行对比,判断是否是静止图像帧,如果是静止图像帧,则不进行编码,通过这样方式减少了媒体文件的码率,同时减少了编码器的压力,提高了编码性能。同时,该装置适用于通用的编码器和硬件编码器,而不需要对编码器进行修改,适用性和实用性较好。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
上述生成可变帧率视频媒体文件的装置可以实现为计算机程序的形式,该计算机程序可以在如图3所示的计算机设备上运行。
请参阅图3,图3是本发明实施例提供的计算机设备的示意性框图。该计算机设备1100是服务器,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
参阅图3,该计算机设备1100包括通过系统总线1101连接的处理器1102、存储器和网络接口1105,其中,存储器可以包括非易失性存储介质1103和内存储器1104。
该非易失性存储介质1103可存储操作系统11031和计算机程序11032。该计算机程序11032被执行时,可使得处理器1102执行生成可变帧率视频媒体文件的方法。
该处理器1102用于提供计算和控制能力,支撑整个计算机设备1100的运行。
该内存储器1104为非易失性存储介质1103中的计算机程序11032的运行提供环境,该计算机程序11032被处理器1102执行时,可使得处理器1102执行生成可变帧率视频媒体文件的方法。
该网络接口1105用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图3中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备1100的限定,具体的计算机设备1100可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本领域技术人员可以理解,图3中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图3所示实施例一致,在此不再赘述。
应当理解,在本发明实施例中,处理器1102可以是中央处理单元(CentralProcessing Unit,CPU),该处理器1102还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本发明的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现本发明实施例的生成可变帧率视频媒体文件的方法。
所述存储介质为实体的、非瞬时性的存储介质,例如可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的实体存储介质。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种生成可变帧率视频媒体文件的方法,其特征在于,包括:
对输入的视频数据按照预设采样率进行采样,其中,所述输入的视频数据中每一图像帧均带有时间戳;
对输入的视频数据中的当前图像帧与上一帧图像帧进行对比,根据对比结果判断当前图像帧是否是静止图像帧,若是则将所述当前图像帧进行丢弃并继续接收下一图像帧,若不是则将所述当前图像帧输入编码器进行编码;
将编码后的视频数据写入复用器中,以生成可变帧率的媒体文件。
2.根据权利要求1所述的生成可变帧率视频媒体文件的方法,其特征在于,所述对输入的视频数据中的当前图像帧与上一帧图像帧进行对比,根据对比结果判断当前图像帧是否是静止图像帧,包括:
对所述输入的视频数据中的当前图像帧与上一帧图像帧进行减法操作,计算得出两个图像帧之间残差的绝对误差和的值,判断所述绝对误差和的值是否小于预设的静止帧阈值,若是则判定当前图像帧为静止图像帧。
3.根据权利要求1所述的生成可变帧率视频媒体文件的方法,其特征在于,所述对输入的视频数据中的当前图像帧与上一帧图像帧进行对比,根据对比结果判断当前图像帧是否是静止图像帧,包括:
对输入的视频数据中的当前图像帧与上一帧图像帧分别进行图像区域划分,并依次计算两两对应的图像区域之间残差的绝对误差和的值,判断所述绝对误差和的值是否小于预设的静止帧阈值,若是则返回计算两两对应的下一图像区域之间残差的绝对误差和的值,并进行静止图像帧的判断,若否则判定当前图像帧为非静止图像帧,并停止对剩余的图像区域进行计算。
4.根据权利要求2-3任一项所述的生成可变帧率视频媒体文件的方法,其特征在于,所述对输入的视频数据中的当前图像帧与上一帧图像帧进行对比,判断是否是静止图像帧之前,包括:
预先设置连续丢弃的最大帧数以及连续丢弃帧数之间的时间间隔。
5.根据权利要求4所述的生成可变帧率视频媒体文件的方法,其特征在于,所述若是则将当前图像帧进行丢弃并继续接收下一图像帧,包括:
若所述当前图像帧是静止图像帧,则判断所述当前图像帧的帧数是否超过所述连续丢弃的最大帧数,若超过所述连续丢弃的最大帧数则将当前图像帧输入编码器,若未超过所述连续丢弃的最大帧数则继续判断所述当前图像帧是否超过连续丢弃帧数之间的时间间隔,若超过连续丢弃帧数之间的时间间隔则将所述当前图像帧输入编码器,若未超过连续丢弃帧数之间的时间间隔则将当前图像帧丢弃并继续接收下一图像帧。
6.根据权利要求2-3任一项所述的生成可变帧率视频媒体文件的方法,其特征在于,还包括:按照自适应方式对所述静止帧阈值进行调整,使所述静止帧阈值的大小随丢弃帧数自动变化。
7.根据权利要求6所述的生成可变帧率视频媒体文件的方法,其特征在于,所述按照自适应方式对所述静止帧阈值进行调整,使所述静止帧阈值的大小随丢弃帧数自动变化,包括:
在判定第x帧图像帧为静止图像帧时,按下式更新所述静止帧阈值,并将更新后的所述静止帧阈值作为第x+1帧图像帧的静止帧阈值:
Threshold(x+1)=a×SAD(x,x-1);
其中,Threshold(x+1)表示第x+1帧图像帧的静止帧阈值,x表示当前图像帧,SAD(x,x-1)表示当前图像帧和上一帧图像帧之间的绝对误差和的值,a为系数且小于1;
当基于所述第x+1帧图像帧的静止帧阈值,判定第x+1帧图像帧为静止图像帧时,按下式更新所述静止帧阈值,并将更新后的所述静止帧阈值作为第x+2帧图像帧的静止帧阈值:Threshold(x+2)=a×SAD(x+1,x);
以此类推,直至判定第n帧图像帧为非静止图像帧,且将第n+1帧图像帧的静止帧阈值还原为初始的静止帧阈值,或者,连续更新超过d次静止帧阈值后保持静止帧阈值不变。
8.一种生成可变帧率视频媒体文件的装置,其特征在于,包括:
采样单元,用于对输入的视频数据按照预设采样率进行采样,其中,所述输入的视频数据中每一图像帧均带有时间戳;
对比判断单元,用于对输入的视频数据中的当前图像帧与上一帧图像帧进行对比,根据对比结果判断当前图像帧是否是静止图像帧,若是则将所述当前图像帧进行丢弃并继续接收下一图像帧,若不是则将所述当前图像帧输入编码器进行编码;
输出单元,用于将编码后的视频数据写入复用器中,以生成可变帧率的媒体文件。
9.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的生成可变帧率视频媒体文件的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行如权利要求1至7任一项所述的生成可变帧率视频媒体文件的方法。
CN202111038023.8A 2021-09-06 2021-09-06 一种生成可变帧率视频媒体文件的方法、装置及相关组件 Active CN113747159B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111038023.8A CN113747159B (zh) 2021-09-06 2021-09-06 一种生成可变帧率视频媒体文件的方法、装置及相关组件

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111038023.8A CN113747159B (zh) 2021-09-06 2021-09-06 一种生成可变帧率视频媒体文件的方法、装置及相关组件

Publications (2)

Publication Number Publication Date
CN113747159A true CN113747159A (zh) 2021-12-03
CN113747159B CN113747159B (zh) 2023-10-13

Family

ID=78735964

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111038023.8A Active CN113747159B (zh) 2021-09-06 2021-09-06 一种生成可变帧率视频媒体文件的方法、装置及相关组件

Country Status (1)

Country Link
CN (1) CN113747159B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114390314A (zh) * 2021-12-30 2022-04-22 咪咕文化科技有限公司 可变帧率音视频处理方法、设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060109353A1 (en) * 2004-11-25 2006-05-25 Fuji Photo Film Co., Ltd. Image photographing and recording device and method
CN103024348A (zh) * 2012-11-06 2013-04-03 前卫视讯(北京)科技发展有限公司 视频监控的运维管理系统
JP2014060497A (ja) * 2012-09-14 2014-04-03 Canon Inc 画像処理装置、画像処理方法、プログラム
US20170078767A1 (en) * 2015-09-14 2017-03-16 Logitech Europe S.A. Video searching for filtered and tagged motion
KR20170095047A (ko) * 2016-02-12 2017-08-22 엔쓰리엔 주식회사 동적 프레임 삭제 장치 및 방법
US20170272755A1 (en) * 2016-03-18 2017-09-21 Microsoft Technology Licensing, Llc Opportunistic frame dropping for variable-frame-rate encoding
WO2017162015A1 (zh) * 2016-03-24 2017-09-28 中兴通讯股份有限公司 一种数据处理方法及装置、存储介质
CN109151469A (zh) * 2017-06-15 2019-01-04 腾讯科技(深圳)有限公司 视频编码方法、装置及设备

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060109353A1 (en) * 2004-11-25 2006-05-25 Fuji Photo Film Co., Ltd. Image photographing and recording device and method
JP2014060497A (ja) * 2012-09-14 2014-04-03 Canon Inc 画像処理装置、画像処理方法、プログラム
CN103024348A (zh) * 2012-11-06 2013-04-03 前卫视讯(北京)科技发展有限公司 视频监控的运维管理系统
US20170078767A1 (en) * 2015-09-14 2017-03-16 Logitech Europe S.A. Video searching for filtered and tagged motion
KR20170095047A (ko) * 2016-02-12 2017-08-22 엔쓰리엔 주식회사 동적 프레임 삭제 장치 및 방법
US20170272755A1 (en) * 2016-03-18 2017-09-21 Microsoft Technology Licensing, Llc Opportunistic frame dropping for variable-frame-rate encoding
WO2017162015A1 (zh) * 2016-03-24 2017-09-28 中兴通讯股份有限公司 一种数据处理方法及装置、存储介质
CN109151469A (zh) * 2017-06-15 2019-01-04 腾讯科技(深圳)有限公司 视频编码方法、装置及设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
闫科: "快速视频编码器控制算法研究及应用", 《中国优秀硕士学位论文全文集》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114390314A (zh) * 2021-12-30 2022-04-22 咪咕文化科技有限公司 可变帧率音视频处理方法、设备及存储介质

Also Published As

Publication number Publication date
CN113747159B (zh) 2023-10-13

Similar Documents

Publication Publication Date Title
CN110166771B (zh) 视频编码方法、装置、计算机设备和存储介质
US8660191B2 (en) Software video decoder display buffer underflow prediction and recovery
US8032719B2 (en) Method and apparatus for improved memory management in data analysis
US11955994B2 (en) Data processing apparatuses, methods, computer programs and computer-readable media
US7916363B2 (en) Bitstream format for compressed image data
CN110896483A (zh) 压缩和解压缩图像数据的方法
JP4801778B2 (ja) 映像圧縮符号化装置、映像復元装置、映像圧縮プログラム、及び、映像復元プログラム
US9472240B2 (en) Video editing method and video editing device
CN113747159A (zh) 一种生成可变帧率视频媒体文件的方法、装置及相关组件
US20240040147A1 (en) Data processing method and apparatus, computer device, and storage medium
CN112804579B (zh) 视频播放方法、装置、计算机设备和可读存储介质
US8594194B2 (en) Compression method using adaptive field data selection
JP6168020B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
CN115022670B (zh) 视频文件存储方法、还原方法、装置、设备及存储介质
CN113228665A (zh) 用于处理配置数据的方法、设备、计算机程序和计算机可读介质
CN114501029B (zh) 图像编码、图像解码方法、装置、计算机设备和存储介质
RU2270530C2 (ru) Способ и устройство для запоминания и обработки видеоинформации следующих по времени друг за другом изображений
CN113766319A (zh) 图像信息处理方法及装置、存储介质
CN116132719A (zh) 视频处理方法、装置、电子设备及可读存储介质
CN111836051B (zh) 一种桌面图像编码、解码方法及相关装置
CN114051144A (zh) 视频的压缩方法、装置、计算机设备及存储介质
KR100728918B1 (ko) 이진영상을 고속 압축하는 방법 및 장치, 이진영상을 고속 복원하는 방법 및 장치, 이진영상을 고속 압축 및 복원하는 시스템 그리고 그 방법
CN112422974A (zh) 视频编码方法、装置、计算机设备及存储介质
JP2011109216A (ja) 符号化方法、および符号化プログラム
JP2004080181A (ja) データ埋め込み装置,データ取り出し装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 1301-1310, building 2, jinlitong financial center building, 1100 Xingye Road, Haiwang community, Xin'an street, Bao'an District, Shenzhen, Guangdong 518000

Patentee after: Shenzhen Ruan Niu Technology Group Co.,Ltd.

Address before: 1301-1310, building 2, jinlitong financial center building, 1100 Xingye Road, Haiwang community, Xin'an street, Bao'an District, Shenzhen, Guangdong 518000

Patentee before: AFIRSTSOFT CO.,LTD.

CP01 Change in the name or title of a patent holder