视频编码帧选择方法及装置的制造方法

文档序号:10539282阅读:252来源:国知局
视频编码帧选择方法及装置的制造方法
【专利摘要】本发明实施例提供一种视频编码帧选择方法及装置,所述方法包括:确定长期参考帧;针对任一帧图像帧,计算与所述长期参考帧的图像差异值;在所述图像差异值小于预设值时,确定所述任一帧图像帧作为B帧进行编码;在所述图像差异值大于所述预设值时,确定所述任一帧图像帧作为P帧进行编码。本发明实施例节省了码流,避免了资源浪费。
【专利说明】
视频编码帧选择方法及装置
技术领域
[0001] 本发明实施例涉及视频技术领域,尤其涉及一种视频输出模式选择方法及设备。
【背景技术】
[0002] 视频编码时通常分为三种编码帧,即I帧、P帧以及B帧。I帧为关键帧、P帧为前向预 测帧、B帧为双向预测帧。
[0003]因此在进行编码时,首先需要确定视频序列中的图像帧分别作为哪一种编码帧进 行编码。
[0004] 在现有技术中,视频序列中图像帧作为哪一种编码帧通常都是固定的,任一个视 频序列都是同样的I帧、P帧以及B帧排列模式,但是,发明人在研究中发现,对于相对静态视 频内容而言,采用更多的B帧能够节省更多的码流。对于相对动态视频内容而言,采用更多 的P帧能够节省码流,因此,按照现有的这种选择方式将会导致资源的浪费。

【发明内容】

[0005] 本发明实施例提供一种视频编码帧选择方法,用以解决现有技术视频编码帧选择 导致资源浪费的技术问题。
[0006] 本发明实施例提供一种视频编码帧选择方法,包括:
[0007] 确定长期参考帧;
[0008] 针对任一帧图像帧,计算与所述长期参考帧的图像差异值;
[0009] 在所述图像差异值小于预设值时,确定所述任一帧图像帧作为B帧进行编码;
[0010]在所述图像差异值大于所述预设值时,确定所述任一帧图像帧作为P帧进行编码。
[0011] 本发明实施例提供一种视频编码帧选择装置,包括:
[0012] 第一选择模块,用于确定长期参考帧;
[0013]计算模块,用于针对任一帧图像帧,计算与所述长期参考帧的图像差异值;
[0014] 第二选择模块,用于在所述图像差异值小于预设值时,确定所述任一帧图像帧作 为B帧进行编码;
[0015] 第三选择模块,用于在所述图像差异值大于所述预设值时,确定所述任一帧图像 帧作为P帧进行编码。
[0016] 本发明实施例提供的视频编码帧选择方法,通过将任一帧图像帧与长期参考帧进 行比较,在图像差异值大于预设值时,该任一帧图像帧作为P帧进行编码,在图像差值小于 预设值时,该任一帧图像帧作为B帧进行编码,通过自适应选择B帧或P帧,节省了码流,避免 了资源的浪费。
【附图说明】
[0017] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发 明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根 据这些附图获得其他的附图。
[0018] 图1为本发明视频编码帧选择方法一个实施例流程图;
[0019] 图2为本发明视频编码帧选择方法又一个实施例流程图;
[0020] 图3为本发明视频编码帧选择装置实施例结构示意图。
【具体实施方式】
[0021] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员 在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0022] 视频编码时的三种编码帧,即I帧、P帧以及B帧。I帧表示关键帧,解码时只需要本 帧数据就可以完成。P帧表示的是这一帧跟之前的一个关键帧(或P帧)的差别,解码时需要 用之前缓存的画面叠加上本帧定义的差别,生成最终画面。B帧是双向差别帧,也就是B帧记 录的是本帧与前后帧的差别,解码时不仅要取得之前的缓存画面,还要解码之后的画面,通 过前后画面的与本帧数据的叠加取得最终的画面。
[0023] B帧是双向差别帧,压缩率高,对于相对静态视频内容而言,相邻帧之间的差别较 小,因此采用更多的B帧能够节省更多的码流。而对于相对动态视频内容而言,采用双向差 别帧并没有较大优势,因此采用较少的B帧、更多的P帧能够节省码流。
[0024] 因此,发明人基于这一研究发现,提出了本发明的技术方案,在本发明实施例中, 长期参考帧可以预先确定,对于视频序列中不包括长期参考帧的任一帧图像帧,计算与所 述长期参考帧的图像差异值。如果图像差异值小于预设值,表示视频内容平缓,该图像帧即 作为B帧,如果图像差异值大于预设值,表示视频内容波动较大,该图像帧即作为P帧进行编 码,通过自适应选择B帧或P帧,使得可以节省码流,避免资源的浪费,提高编码性能。
[0025]下面结合附图对本发明技术方案进行详细描述。
[0026]图1为本发明实施例提供的一种视频编码帧选择方法一个实施例的流程图,该方 法可以包括以下几个步骤:
[0027] 101:确定长期参考帧。
[0028]长期参考帧可以按照现有的方式进行选择,在此不再赘述。
[0029]长期参考帧为固定位置的一帧编码帧,其可以为I帧或者P帧。
[0030] 102:针对任一帧图像帧,计算与所述长期参考帧的图像差异值。
[0031]对于视频序列中,不包括长期参考帧的其余图像帧中的任一帧图像帧,均可以步 骤102~步骤103进行选择,确定是否为B帧或P帧。
[0032] 首先计算与长期参考帧的图像差异值。
[0033] 无论是B帧或P帧,都会依据长期参考帧进行预测编码,因此可以首先计算与长期 参考帧的图像差异值。
[0034] 103:在所述图像差异值小于预设值时,确定所述任一帧图像帧作为B帧进行编码。
[0035] 104:在所述图像差异值大于所述预设值时,确定所述任一帧图像帧作为P帧进行 编码。
[0036] 其中,在图像差值等于所述预设值时,可以确定所述任一帧图像帧作为B帧或者作 为P帧进行编码。
[0037] 在本实施例中,获取图像差异值之后,可以与预设值比较,如果图像差异值较大, 也即大于预设值,表明所述任一帧图像帧与长期参考帧的视频内容变化较大,内容产生较 大波动,此时该任一帧图像帧即作为P帧进行编码,以节省更多码流。
[0038] 如果图像差值较小,也即小于预设值,表明视频内容变化较小,内容平缓,此时该 任一帧图像即作为B帧进行编码,以节省更多码流。
[0039]本发明实施例中,在确定任一帧图像帧的编码帧类别时,将其与长期参考帧进行 比较,如果图像差异较大,表明视频内容为相对动态内容,此时该任一帧图像帧即作为P帧 进行编码,以节省更多码流。如果图像差异较小,表明视频内容为相对静态内容,此时该任 一帧图像帧即作为B帧进行编码,以节省更多码流。采用本发明实施例的技术方案,可以根 据视频内容自适应选择B帧或P帧进行编码,因此降低了视频码流,提高了编码性能,避免了 资源的浪费。
[0040] 其中,图像差异值的计算可以有多种可能的实现方式,比如可以将与长期参考帧 的像素值差值作为图像差异值。
[0041] 又如,可以将与长期参考帧之间的距离作为图像差异值。在视频序列中,距离长期 参考帧越远,图像差异通常会比较大,因此距离长期参考帧较远的可以作为P帧进行编码, 距离长期参考帧较近的,可以作为B帧进行编码。
[0042] 此外,作为又一个实施例,可以将任一帧图像帧与长期参考帧的预测残差方差,作 为与所述长期参考帧的图像差异值。
[0043] 预测残差也即任一帧图像帧与长期参考帧的像素值差值。
[0044] 因此作为又一个实施例,如图2所示,所述视频编码帧选择方法可以包括以下几个 步骤:
[0045] 201:确定长期参考帧。
[0046] 202:针对任一帧图像帧,计算与所述长期参考帧的预测残差方差。
[0047] 203:判断所述任一帧图像帧与所述长期参考帧的预测残差方差是否大于预设值, 如果否,执行步骤204,如果是,执行步骤205。
[0048] 204:确定所述任一帧图像帧作为B帧进行编码。
[0049] 205:在所述图像差异值大于所述预设值时,确定所述任一帧图像帧作为P帧进行 编码。
[0050] 也即在任一帧图像帧与长期参考帧的预测残差方差大于预设值时,将所述任一帧 图像帧作为P帧进行编码;
[0051] 在任一帧图像帧与长期参考帧的预测残差方差小于预设值时,将所述任一帧图像 帧作为B帧进行编码;
[0052]其中,该预测残差可以按照如下公式计算获得:
[0053] (ξ = .
[0054] 表示任一个图像帧的第i个图像块与所述长期参考帧中对应的预测宏块的预 测残差方差,Σσ^即是指将任一个图像帧中每一个图像块与所述长期参考帧中对应的预测 宏块的预测残差方差进行累加获得的累加和值。
[0055] 也即在计算预测残差方差时是分块进行处理,计算任一个图像帧的第i个图像块 与所述长期参考帧中对应的预测宏块的预测残差方差,再将多个图像块对应的预测残差方 法累加值作为与所述长期参考帧的预测残差方差。
[0056] 因此,所述针对任一帧图像帧,计算与所述长期参考帧的预测残差方差,作为与所 述长期参考帧的图像差异值可以是:
[0057]针对任一个图像帧,按照如下计算方式,计算与所述长期参考帧的预测残差方差, 作为与所述长期参考帧的图像差异值;
[0058] σ(:二
[0059] 其中,表示任一个图像帧的第i个图像块与所述长期参考帧中对应的预测宏块 的预测残差方差。第i个图像块与所述长期参考帧中对应的预测宏块的预测残差也即是指 像素值的差。
[0060] 其中,用于图像差异值比较的预设值,可以预先根据实际情况进行设定。
[0061] 在一种可能的实现方式,该预设值可以为+沒^;
[0062] 其中,所述表示所述长期参考帧之后的第二个图像帧与所述长期参考帧的预 测残差方差;所述表示所述任一个图像帧将与其相邻的前一个图像帧作为参考帧时,与 所述参考帧的预设残差方差。
[0063] 任一个图像帧将与其相邻的前一个图像帧作为参考帧时,也即具体是作为短期参 考帧。任一个图像帧相邻的前一个图像帧是指在视频序列中,时间顺序上,任一个图像帧相 邻的前一个图像帧。
[0064] 所述长期参考帧之后的第二个图像帧也是指在视频序列中,时间顺序上的所述长 期参考帧之后的第二个图像帧。
[0065] 其中,#ε2 =Σ^^;
[0066] (?表示所述长期参考帧之后的第二个图像帧中第i个图像块与所述长期参考帧 中对应的预测宏块的预测残差方差;冗(3^即是将所述长期参考帧之后的第二个图像帧中 每一个图像块与所述长期参考帧中对应的预测宏块的预测残差方差进行累计,获得的累加 和值。
[0067] ?;=Σ?^;
[0068] .(?表示所述任一个图像帧中第i个图像块与其相邻的前一个图像帧中对应的预 测宏块的预测残差方差;乙<3^.即是将任一个图像帧中每一个图像块与其相邻的前一个图 像帧中对应的预测宏块的预测残差方差进行累加获得的累加和值。
[0069] 因此,可以具体是在,将所述任一帧图像帧作为B帧进行编码;
[0070] 在0;2>|(茂| + )时,将所述任一帧图像帧作为P帧进行编码。
[0071] 其中,在Crf时,可以作为B帧,也可以作为P帧进行编码,优选地,可 以作为P帧进行编码。
[0072] 图3为本发明实施例提供的一种视频编码帧选择装置一个实施例的结构示意图, 该装置可以包括:
[0073]第一选择模块301,用于确定长期参考帧。
[0074] 长期参考帧可以按照现有的方式进行选择,在此不再赘述。
[0075] 长期参考帧为固定位置的一帧编码帧,其可以为I帧或者P帧。
[0076] 计算模块302,用于针对任一帧图像帧,计算与所述长期参考帧的图像差异值。
[0077] 无论是B帧或P帧,都会依据长期参考帧进行预测编码,因此可以首先计算与长期 参考帧的图像差异值。
[0078] 第二选择模块303,用于在所述图像差异值小于预设值时,确定所述任一帧图像帧 作为B帧进行编码;
[0079] 第三选择模块304,用于在所述图像差异值大于所述预设值时,确定所述任一帧图 像帧作为P帧进行编码。
[0080] 其中,在图像差值等于所述预设值时,可以确定所述任一帧图像帧作为B帧或者作 为P帧进行编码。
[0081] 在本实施例中,如果图像差异值较大,表明所述任一帧图像帧与长期参考帧的视 频内容变化较大,内容产生较大波动,此时该任一帧图像帧即作为P帧进行编码,以节省更 多码流。
[0082] 如果图像差值较小,表明视频内容变化较小,内容平缓,此时该任一帧图像即作为 B帧进行编码,以节省更多码流。
[0083]本发明实施例中,在确定任一帧图像帧的编码帧类别时,将其与长期参考帧进行 比较,如果图像差异较大,表明视频内容为相对动态内容,此时该任一帧图像帧即作为P帧 进行编码,以节省更多码流。如果图像差异较小,表明视频内容为相对静态内容,此时该任 一帧图像帧即作为B帧进行编码,以节省更多码流。采用本发明实施例的技术方案,可以根 据视频内容自适应选择B帧或P帧进行编码,因此降低了视频码流,提高了编码性能,避免了 资源的浪费。
[0084]其中,图像差异值的计算可以有多种可能的实现方式,比如可以通过比较两帧图 像帧的像素值差值的和值、均值等作为图像差异值。
[0085]又如,可以将与长期参考帧之间的距离作为图像差异值。在视频序列中,距离长期 参考帧越远,图像差异通常会比较大,因此距离长期参考帧较远的可以作为P帧进行编码, 距离长期参考帧较近的,可以作为B帧进行编码。
[0086] 此外,作为又一个实施例,可以将任一帧图像帧与长期参考帧的预测残差方差,作 为与所述长期参考帧的图像差异值。
[0087] 预测残差也即任一帧图像帧与长期参考帧的像素值之差。
[0088]因此,所述计算模块302可以具体用于:
[0089]针对任一帧图像帧,计算与所述长期参考帧的预测残差方差,作为与所述长期参 考帧的图像差异值。
[0090] 第二选择模块303可以是在任一帧图像帧与长期参考帧的预测残差方差大于预设 值时,将所述任一帧图像帧作为P帧进行编码;
[0091] 第三选择模块304可以是在任一帧图像帧与长期参考帧的预测残差方差小于预设 值时,将所述任一帧图像帧作为B帧进行编码。
[0092] 其中,该预测残差可以按照如下公式计算获得:
[0093]
[0094] ^表示任一个图像帧的第i个图像块与所述长期参考帧中对应的预测宏块的预 测残差方差。
[0095] 也即在计算预测残差方差时是分块进行处理,计算任一个图像帧的第i个图像块 与所述长期参考帧中对应的预测宏块的预测残差方差,再将多个图像块对应的预测残差方 法累加值作为与所述长期参考帧的预测残差方差。
[0096]因此,作为又一个实施例,所述计算模块202可以具体用于:
[0097]针对任一个图像帧,按照如下计算方式,计算与所述长期参考帧的预测残差方差, 作为与所述长期参考帧的图像差异值;
[0098]
[0099] 其中,表示任一个图像帧的第i个图像块与所述长期参考帧中对应的预测宏 块的预测残差方差。第i个图像块与所述长期参考帧中对应的预测宏块的预测残差也即是 指像素值的差。
[0100] 其中,用于图像差异值比较的预设值,可以预先根据实际情况进行设定。
[0101] 在一种可能的实现方式,该预设值可以为+?^2> ;
[0102] 其中,所述(?表示所述长期参考帧之后的第二个图像帧与所述长期参考帧的预 测残差方差;所述表示所述任一个图像帧将与其相邻的前一个图像帧作为参考帧时,与 所述参考帧的预设残差方差。
[0103] 任一个图像帧将与其相邻的前一个图像帧作为参考帧时,也即具体是作为短期参 考帧。任一个图像帧相邻的前一个图像帧是指在视频序列中,时间顺序上,任一个图像帧相 邻的前一个图像帧。
[0104] 所述长期参考帧之后的第二个图像帧也是指在视频序列中,时间顺序上的所述长 期参考帧之后的第二个图像帧。
[0105] 其中,
[0106] €表示所述长期参考帧之后的第二个图像帧中第i个图像块与所述长期参考帧 中对应的预测宏块的预测残差方差。
[0107] #e2 =1? ;
[0108] 表示所述任一个图像帧中第i个图像块与其相邻的前一个图像帧中对应的预 测宏块的预测残差方差。
[0109] 因此,作为又一个实施例,所述第二选择模块203可以具体用于:
[0110] 在+(?)时,将所述任一帧图像帧作为B帧进行编码; 所述第三选择模块204可以具体用于:
[0112] 在£^>^<^2+斤^时,将所述任一帧图像帧作为P帧进行编码。
[0113] 通过本发明实施例,可以自适应的选择B帧或P帧,以使得对于相对静态视频内容 而言,可以采用更多的B帧,较少的P帧进行编码,以能够节省更多的码流。对于相对动态视 频内容而言,可以采用较少的B帧、更多的P帧进行编码,以能够节省更多的码流。
[0114] 静态视频内容与动态视频内容的判断可以依据每一帧图像帧与长期参考帧之间 的图像差异进行判断。
[0115] 如果一帧图像帧与长期参考帧的图像差异较大,则该帧图像帧即作为P帧,如果一 帧图像帧与长期参考帧的图像差异较小,则该帧图像帧即作为B帧。
[0116] 通过本发明实施例,即节省了码流,避免了资源的浪费,且提高了编码性能,复杂 度低,可以快速实现编码帧的选择。
[0117] 以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可 以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单 元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其 中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性 的劳动的情况下,即可以理解并实施。
[0118] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可 借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上 述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该 计算机软件产品可以存储在计算机可读存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指 令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施 例或者实施例的某些部分所述的方法。
[0119] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管 参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可 以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换; 而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和 范围。
【主权项】
1. 一种视频编码帧选择方法,其特征在于,包括: 确定长期参考帧; 针对任一帧图像帧,计算与所述长期参考帧的图像差异值; 在所述图像差异值小于预设值时,确定所述任一帧图像帧作为B帧进行编码; 在所述图像差异值大于所述预设值时,确定所述任一帧图像帧作为P帧进行编码。2. 根据权利要求1所述的方法,其特征在于,所述针对任一帧图像帧,计算与所述长期 参考帧的图像差异包括: 针对任一帧图像帧,计算与所述长期参考帧的预测残差方差,作为与所述长期参考帧 的图像差异值。3. 根据权利要求2所述方法,其特征在于,所述针对任一帧图像帧,计算与所述长期参 考帧的预测残差方差,作为与所述长期参考帧的图像差异值包括: 针对任一个图像帧,按照如下计算方式,计算与所述长期参考帧的预测残差方差,作为 与所述长期参考帧的图像差异值;其中表示任一个图像帧的第i个图像块与所述长期参考帧中对应的预测宏块的预 测残差方差。4. 根据权利要求1~3任一项所述的方法,其特征在于,所述预设值为其中,所述??;2表示所述长期参考帧之后的第二个图像帧与所述长期参考帧的预测残差 方差;所述??;2表示所述任一个图像帧将与其相邻的前一个图像帧作为参考帧时,与所述参 考帧的预设残差方差。5. 根据权利要求4所述的方法,所述在所述图像差异值小于预设值时,将所述任一帧图 像帧作为B帧进行编码包括: 在吋,将所述任一帧图像帧作为B帧进行编码; 所述在所述图像差异值大于所述预设值时,确定所述任一帧图像帧作为P帧进行编码 包括:>时,将所述任一帧图像帧作为P帧进行编码。6. -种视频编码帧选择装置,其特征在碍于,包括: 第一选择模块,用于确定长期参考帧; 计算模块,用于针对任一帧图像帧,计算与所述长期参考帧的图像差异值; 第二选择模块,用于在所述图像差异值小于预设值时,确定所述任一帧图像帧作为B帧 进行编码; 第三选择模块,用于在所述图像差异值大于所述预设值时,确定所述任一帧图像帧作 为P帧进行编码。7. 根据权利要求6所述的装置,其特征在于,所述计算模块具体用于: 针对任一帧图像帧,计算与所述长期参考帧的预测残差方差,作为与所述长期参考帧 的图像差异值。8. 根据权利要求7所述的装置,其特征在于,所述计算模块具体用于: 针对任一个图像帧,按照如下计算方式,计算与所述长期参考帧的预测残差方差,作为 与所述长期参考帧的图像差异值;其中_示任一个图像帧的第i个图像块与所述长期参考帧中对应的预测宏块的预测残差方差。9. 根据权利要求6~8任一项所述的装置,其特征在于,所述预设值彡 . 其中,所述表示所述长期参考帧之后的第二个图像帧与所述长期参考帧的预测残差 方差;所述< 表示所述任一个图像帧将与其相邻的前一个图像帧作为参考帧时,与所述参 考帧的预设残差方差。10. 根据权利要求9所述的装置,其特征在于,所述第二选择模块具体用于: ?时,将所述任一帧图像帧作为B帧进行编码; 所述第三选择模块具体用于: 在t将所述任一帧图像帧作为P帧进行编码。
【文档编号】H04N19/172GK105898296SQ201510990210
【公开日】2016年8月24日
【申请日】2015年12月24日
【发明人】边智, 魏伟, 祁海, 白茂生
【申请人】乐视云计算有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1