用于为帧图像分配对应比特数的参数确定方法及装置

文档序号:1849953 发布日期:2021-11-16 浏览:13次 >En<

阅读说明:本技术 用于为帧图像分配对应比特数的参数确定方法及装置 (Parameter determination method and device for distributing corresponding bit number for frame image ) 是由 邹文欢 于 2021-07-02 设计创作,主要内容包括:本发明公开了一种用于为帧图像分配对应比特数的参数确定方法及装置,该方法通过直接对当前场景的视频的当前帧图像执行编码操作,并根据执行编码操作后的当前帧图像的数据,如:P帧图像的宏块的运动向量、I帧图像的比特数,计算当前帧图像对应的图像复杂度或当前帧图像对应的图像运动强度,以便对当前帧图像的下一帧图像进行比特数的准确分配,即无需对下一帧图像进行额外的预处理操作,也能够对当前场景的下一帧图像准确地进行比特数的分配,能够降低视频传输通路的延迟,提升了视频传输的实时性,以及节约视频通路的计算资源开销和内存开销,降低了应用成本,且本方案具有普遍性,易于推广应用,提升了编码产品的用户体验。(The invention discloses a parameter determining method and a parameter determining device for distributing corresponding bit number for a frame image, wherein the method directly executes coding operation on a current frame image of a video of a current scene, and according to data of the current frame image after executing the coding operation, the method comprises the following steps: the method comprises the steps of calculating the image complexity corresponding to the current frame image or the image motion intensity corresponding to the current frame image by using the motion vector of the macro block of the P frame image and the bit number of the I frame image, so as to accurately distribute the bit number of the next frame image of the current frame image, namely, the next frame image is not required to be subjected to additional preprocessing operation, and the bit number of the next frame image of the current scene can be accurately distributed, so that the delay of a video transmission channel can be reduced, the real-time performance of video transmission is improved, the calculation resource overhead and the memory overhead of the video channel are saved, the application cost is reduced, and the method has universality, is easy to popularize and apply, and improves the user experience of a coding product.)

用于为帧图像分配对应比特数的参数确定方法及装置

技术领域

本发明涉及视频编码技术领域,尤其涉及一种用于为帧图像分配对应比特数的参数确定方法及装置。

背景技术

在实时视频通信(如视频监控、视频会议等)中,如何在有限的带宽中传输清晰的图像,一直是视频编码研究的热点,其中,视频编码码率控制算法是提升传输带宽利用率的关键技术,没有码率控制技术的编码器难以在实时视频通信中得到应用。

实际应用中,传统的码率控制算法有CBR(Constant Bit Rate恒定比特率)和VBR(Variable Bit Rate动态比特率)两种。其中,CBR码率控制技术在任何场景都保持编码器输出的比特数固定不变,但这种码率控制技术一般只适用于固定不变的编码场景,对于实时通信中复杂多变的场景并不适用。VBR编码的码率随着图像复杂度、图像运动强度等场景信息的进行波动,整体平均码率依然保持基本不变,VBR编码在图像简单、图像运动强度较低时适当调小码率,以节省比特数,在图像较为复杂、图像运动强度较高时,适当增大码率以维持图像清晰度,防止图像编码后出现严重马赛克。其中,实现VBR码率控制的一个关键点在于,如何高效准确判断当前图像的场景,使编码器能够根据场景特点给当前图像分配合理的编码比特数。而为了准确地判断当前图像的场景,在对图像进行视频编码之前,需要先对图像进行预处理来得到图像的场景信息,如:使用当前帧与上一帧的绝对误差和来衡量编码复杂度,再根据复杂度计算合适的编码比特数;或者先将图像输入图像场景分类器,得到场景分类之后再计算合适的编码比特数,其中,场景分类器需要保存输入图像近几帧和参考帧作为分类判别缓冲区,以计算图像运动或静止信息,纹理复杂度是采用计算图像梯度幅度方法得到;或者通过特定视频图像处理算法将图像划分为多个不同场景、不同复杂度的区域,分别对这些区域设置不同的编码比特数。然而,实践发现,对图像执行预处理操作,增加了视频传输通路的延迟,降低了视频传输的实时性。

发明内容

本发明所要解决的技术问题在于,提供一种用于为帧图像分配对应比特数的参数确定方法及装置,能够减小视频传输通路的延迟,提高了视频传输的实时性。

为了解决上述技术问题,本发明实施例第一方面公开了一种用于为帧图像分配对应比特数的参数确定方法,所述方法包括:

对采集到的当前场景的当前帧图像执行编码操作,得到所述当前帧图像的数据;

根据所述当前帧图像的数据确定用于为所述当前帧图像的下一帧图像分配对应的比特数的分配参数;

其中,当所述当前帧图像的类型为I帧图像类型时,所述当前帧图像的数据包括所述当前帧图像的比特数,所述当前帧图像对应的分配参数包括所述当前帧图像的图像复杂度;当所述当前帧图像的类型为P帧图像类型时,所述当前帧图像的数据包括所述当前帧图像的所有宏块的数据,所述当前帧图像的每个所述宏块的数据包括每个所述宏块的运动向量,所述当前帧图像对应的分配参数包括所述当前帧图像的图像运动强度。

作为一种可选的实施方式,在本发明第一方面中,当所述当前帧图像的类型为所述I帧图像类型时,所述对采集到的当前场景的当前帧图像执行编码操作,得到所述当前帧图像的数据,包括:

基于确定出的用于检测场景复杂度的第一参数对所述当前帧图像执行编码操作,得到所述当前帧图像的比特数;

其中,所述根据所述当前帧图像的数据确定用于为所述当前帧图像分配对应的比特数的分配参数,包括:

基于所述当前帧图像的比特数与确定出的第二参数计算用于为所述当前帧图像分配对应的比特数的图像复杂度。

作为一种可选的实施方式,在本发明第一方面中,当所述当前帧图像的类型为所述P帧图像类型时,所述根据所述当前帧图像的数据确定用于为所述当前帧图像分配对应的比特数的分配参数,包括:

根据所述当前帧图像的所有所述宏块的数据包括的内容计算用于为所述当前帧图像分配对应的比特数的图像运动强度。

作为一种可选的实施方式,在本发明第一方面中,所述根据所述当前帧图像的所有所述宏块的数据包括的内容计算用于为所述当前帧图像分配对应的比特数的图像运动强度,包括:

根据所述当前帧图像的所有所述宏块的运动向量从所有所述宏块中确定运动向量为零的第一宏块的占比以及运动向量为非零的第二宏块的占比;

根据所述第一宏块的占比与所述第二宏块的占比计算用于为所述当前帧图像分配对应的比特数的图像运动强度。

作为一种可选的实施方式,在本发明第一方面中,所述当前帧图像的每个所述宏块的数据还包括每个所述宏块的预测类型,每个所述宏块的预测类型包括帧间预测类型或者帧内预测类型;

所述方法还包括:

当所有所述宏块的预测类型包括所述帧内预测类型时,从所有所述宏块中确定预测类型为所述帧内预测类型的第三宏块的占比;

其中,所述根据所述第一宏块的占比与所述第二宏块的占比计算用于为所述当前帧图像分配对应的比特数的图像运动强度,包括:

根据所述第一宏块的占比、所述第二宏块的占比以及所述第三宏块的占比计算用于为所述当前帧图像分配对应的比特数的图像运动强度。

作为一种可选的实施方式,在本发明第一方面中,通过确定出的编码器对所述当前帧图像执行编码操作;

以及,所述方法还包括:

在对所述当前场景中的所述当前帧图像执行编码操作的过程中,间隔预设时长向所述编码器插入基准I帧图像,得到所述基准I帧图像对应的比特数,并基于所述基准I帧图像对应的比特数计算所述当前场景的图像复杂度。

作为一种可选的实施方式,在本发明第一方面中,所述方法还包括:

根据所述当前帧图像对应的分配参数与确定出的与所述当前帧图像对应的以往帧图像匹配的分配参数为所述下一帧图像分配对应的帧比特数;

其中,所述根据所述当前帧图像对应的分配参数与确定出的与所述当前帧图像对应的以往帧图像匹配的分配参数为所述下一帧图像分配对应的帧比特数,包括:

根据所述当前帧图像对应的分配参数和与所述当前帧图像对应的以往帧图像匹配的分配参数计算所述下一帧图像的调节系数;

根据所述调节系数与确定出的所述当前帧图像对应的基准比特数为所述下一帧图像分配对应的比特数。

作为一种可选的实施方式,在本发明第一方面中,

所述当前帧图像对应的比特数的计算公式如下:

T=S*T0

S=a*cf+b*mf+c;

式中,所述T为所述下一帧图像分配对应的比特数;所述T0为所述当前帧图像对应的基准比特数;所述S为所述下一帧图像的调节系数;所述a、b、c均为常数,且所述当前帧图像的类型的不同,所述a、b、c也不相同;当所述当前帧图像的类型为所述I帧图像类型时,所述cf为所述当前帧图像分配对应的比特数的图像复杂度,所述mf为与所述当前帧图像对应的以往帧图像匹配的分配参数,且与所述当前帧图像对应的以往帧图像匹配的分配参数为该往帧图像对应的图像运动强度;当所述当前帧图像的类型为所述P帧图像类型时,所述cf为所述当前帧图像分配对应的比特数的图像运动强度,所述mf为与所述当前帧图像对应的以往帧图像匹配的分配参数,且与所述当前帧图像对应的以往帧图像匹配的分配参数为该往帧图像对应的图像复杂度。

本发明实施例第二方面公开了一种用于为帧图像分配对应比特数的参数确定装置,所述参数确定装置包括:

编码模块,用于对采集到的当前场景的当前帧图像执行编码操作,得到所述当前帧图像的数据;

确定模块,用于根据所述当前帧图像的数据确定用于为所述当前帧图像的下一帧图像分配对应的比特数的分配参数;

其中,当所述当前帧图像的类型为I帧图像类型时,所述当前帧图像的数据包括所述当前帧图像的比特数,所述当前帧图像对应的分配参数包括所述当前帧图像的图像复杂度;当所述当前帧图像的类型为P帧图像类型时,所述当前帧图像的数据包括所述当前帧图像的所有宏块的数据,所述当前帧图像的每个所述宏块的数据包括每个所述宏块的运动向量,所述当前帧图像对应的分配参数包括所述当前帧图像的图像运动强度。

作为一种可选的实施方式,在本发明第二方面中,当所述当前帧图像的类型为所述I帧图像类型时,所述编码模块对采集到的当前场景的当前帧图像执行编码操作,得到所述当前帧图像的数据的方式具体为:

基于确定出的用于检测场景复杂度的第一参数对所述当前帧图像执行编码操作,得到所述当前帧图像的比特数;

其中,所述根据所述当前帧图像的数据确定用于为所述当前帧图像分配对应的比特数的分配参数,包括:

基于所述当前帧图像的比特数与确定出的第二参数计算用于为所述当前帧图像分配对应的比特数的图像复杂度。

作为一种可选的实施方式,在本发明第二方面中,当所述当前帧图像的类型为所述P帧图像类型时,所述确定模块包括:

计算子模块,用于根据所述当前帧图像的所有所述宏块的数据包括的内容计算用于为所述当前帧图像分配对应的比特数的图像运动强度。

作为一种可选的实施方式,在本发明第二方面中,所述计算子模块包括:

确定单元,用于根据所述当前帧图像的所有所述宏块的运动向量从所有所述宏块中确定运动向量为零的第一宏块的占比以及运动向量为非零的第二宏块的占比;

计算单元,用于根据所述第一宏块的占比与所述第二宏块的占比计算用于为所述当前帧图像分配对应的比特数的图像运动强度。

作为一种可选的实施方式,在本发明第二方面中,所述当前帧图像的每个所述宏块的数据还包括每个所述宏块的预测类型,每个所述宏块的预测类型包括帧间预测类型或者帧内预测类型;

所述确定单元,还用于当所有所述宏块的预测类型包括所述帧内预测类型时,从所有所述宏块中确定预测类型为所述帧内预测类型的第三宏块的占比;

其中,所述确定单元根据所述第一宏块的占比与所述第二宏块的占比计算用于为所述当前帧图像分配对应的比特数的图像运动强度的方式具体为:

根据所述第一宏块的占比、所述第二宏块的占比以及所述第三宏块的占比计算用于为所述当前帧图像分配对应的比特数的图像运动强度。

作为一种可选的实施方式,在本发明第二方面中,通过确定出的编码器对所述当前帧图像执行编码操作;

以及,所述装置还包括:

插入模块,用于在所述编码模块对所述当前场景中的所述当前帧图像执行编码操作的过程中,间隔预设时长向所述编码器插入基准I帧图像,得到所述基准I帧图像对应的比特数;

计算模块,用于基于所述基准I帧图像对应的比特数计算所述当前场景的图像复杂度。

作为一种可选的实施方式,在本发明第二方面中,所述装置还包括:

分配模块,用于根据所述当前帧图像对应的分配参数与确定出的与所述当前帧图像对应的以往帧图像匹配的分配参数为所述下一帧图像分配对应的帧比特数;

其中,所述分配模块根据所述当前帧图像对应的分配参数与确定出的与所述当前帧图像对应的以往帧图像匹配的分配参数为所述下一帧图像分配对应的帧比特数的方式具体为:

根据所述当前帧图像对应的分配参数和与所述当前帧图像对应的以往帧图像匹配的分配参数计算所述下一帧图像的调节系数;

根据所述调节系数与确定出的所述当前帧图像对应的基准比特数为所述下一帧图像分配对应的比特数。

作为一种可选的实施方式,在本发明第二方面中,所述当前帧图像对应的比特数的计算公式如下:

T=S*T0

S=a*cf+b*mf+c;

式中,所述T为所述下一帧图像分配对应的比特数;所述T0为所述当前帧图像对应的基准比特数;所述S为所述下一帧图像的调节系数;所述a、b、c均为常数,且所述当前帧图像的类型的不同,所述a、b、c也不相同;当所述当前帧图像的类型为所述I帧图像类型时,所述cf为所述当前帧图像分配对应的比特数的图像复杂度,所述mf为与所述当前帧图像对应的以往帧图像匹配的分配参数,且与所述当前帧图像对应的以往帧图像匹配的分配参数为该往帧图像对应的图像运动强度;当所述当前帧图像的类型为所述P帧图像类型时,所述cf为所述当前帧图像分配对应的比特数的图像运动强度,所述mf为与所述当前帧图像对应的以往帧图像匹配的分配参数,且与所述当前帧图像对应的以往帧图像匹配的分配参数为该往帧图像对应的图像复杂度。

本发明第三方面公开了另一种蓝牙开启的控制装置,所述装置包括:

存储有可执行程序代码的存储器;

与所述存储器耦合的处理器;

所述处理器调用所述存储器中存储的所述可执行程序代码,执行本发明第一方面公开的蓝牙开启的控制方法的操作。

本发明第四方面公开了一种计算机可存储介质,所述计算机存储介质存储有计算机指令,所述计算机指令被调用时,用于执行本发明第一方面公开的蓝牙开启的控制方法的操作。

与现有技术相比,本发明实施例具有以下有益效果:

本发明实施例中,公开了一种用于为帧图像分配对应比特数的参数确定方法及装置,该方法通过直接对当前场景的视频的当前帧图像执行编码操作,并根据执行编码操作后的当前帧图像的数据,如:P帧图像的宏块的运动向量、I帧图像的比特数,计算当前帧图像对应的图像复杂度或当前帧图像对应的图像运动强度,以便对当前帧图像的下一帧图像进行比特数的准确分配,即无需对下一帧图像进行额外的预处理操作,也能够对当前场景的下一帧图像准确地进行比特数的分配,能够降低视频传输通路的延迟,提升了视频传输的实时性,以及节约视频通路的计算资源开销和内存开销,降低了应用成本,且本方案具有普遍性,易于推广应用,提升了编码产品的用户体验。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例公开的一种用于为帧图像分配对应比特数的参数确定方法的流程示意图;

图2是本发明实施例公开的另一种用于为帧图像分配对应比特数的参数确定方法的流程示意图;

图3是本发明实施例公开的一种用于为帧图像分配对应比特数的参数确定装置的结构示意图;

图4是本发明实施例公开的另一种用于为帧图像分配对应比特数的参数确定装置的结构示意图;

图5是本发明实施例公开的又一种用于为帧图像分配对应比特数的参数确定装置的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

本发明公开了一种用于为帧图像分配对应比特数的参数确定方法及装置,能够通过直接对当前场景的视频的当前帧图像执行编码操作,并根据执行编码操作后的当前帧图像的数据,如:P帧图像的宏块的运动向量、I帧图像的比特数,计算当前帧图像对应的图像复杂度或当前帧图像对应的图像运动强度,以便对当前帧图像的下一帧图像进行比特数的准确分配,即无需对下一帧图像进行额外的预处理操作,也能够对当前场景的下一帧图像准确地进行比特数的分配,能够降低视频传输通路的延迟,提升了视频传输的实时性,以及节约视频通路的计算资源开销和内存开销,降低了应用成本,且本方案具有普遍性,易于推广应用,提升了编码产品的用户体验。以下分别进行详细说明。

实施例一

请参阅图1,图1是本发明实施例公开的一种用于为帧图像分配对应比特数的参数确定方法的流程示意图。如图1所示,该用于为帧图像分配对应比特数的参数确定方法可以应用于视频监控、视频会议、视频直播等实时视频应用场景,且该用于为帧图像分配对应比特数的参数确定方法可以包括以下操作:

101、对采集到的当前场景的当前帧图像执行编码操作,得到该当前帧图像的数据。

本发明实施例中,可选的,可以采用编码器对采集到的当前帧图像执行编码操作,也可以采用编码算法对采集到的当前帧图像执行编码操作,优先采用编码器对当前帧图像执行编码操作。其中,该编码器可以是其内部参数可以修改的编码器,也可以是其内部参数不可以修改的编码器(如第三方编码器或SOC内部的硬件固化的编码器)。

102、根据当前帧图像的数据确定用于为该当前帧图像的下一帧图像分配对应的比特数的分配参数。

本发明实施例中,若当前帧图像的类型为I帧图像类型时,当前帧图像的数据包括当前帧图像的比特数,当前帧图像对应的分配参数包括当前帧图像的图像复杂度;若当前帧图像的类型为P帧图像类型时,当前帧图像的数据包括当前帧图像的所有宏块的数据,当前帧图像的每个宏块的数据包括每个宏块的运动向量,当前帧图像对应的分配参数包括当前帧图像的图像运动强度。

可见,实施图1所描述的用于为帧图像分配对应比特数的参数确定方法通过直接对当前场景的视频的当前帧图像执行编码操作,并根据执行编码操作后的当前帧图像的数据,如:P帧图像的宏块的运动向量、I帧图像的比特数,计算当前帧图像对应的图像复杂度或当前帧图像对应的图像运动强度,以便对当前帧图像的下一帧图像进行比特数的准确分配,即无需对下一帧图像进行额外的预处理操作,也能够对当前场景的下一帧图像准确地进行比特数的分配,能够降低视频传输通路的延迟,提升了视频传输的实时性,以及节约视频通路的计算资源开销和内存开销,降低了应用成本,且本方案具有普遍性,易于推广应用,提升了编码产品的用户体验。

在一个可选的实施例中,若当前帧图像的类型为I帧图像类型时,对采集到的当前场景的当前帧图像执行编码操作,得到当前帧图像的数据,包括:

基于确定出的用于检测场景复杂度的第一参数对当前帧图像执行编码操作,得到当前帧图像的比特数;

其中,根据当前帧图像的数据确定用于为当前帧图像分配对应的比特数的分配参数,包括:

基于当前帧图像的比特数与确定出的第二参数计算用于为当前帧图像分配对应的比特数的图像复杂度。

该可选的实施例中,可选的,当采用编码器对当前帧图像执行编码操作时,第一参数可以为固定的qp值。将编码器设置为固定qp值编码模式,并将qp值输入给编码器。可选的,在编码的过程中,关闭编码器的码率控制功能,以使得编码过程中的每一个块的qp值均保持一致,这边便于所有块具有相同的比对标准,从而提高比特数的分配准确性。

该可选的实施例中,可选的,当前帧图像对应的图像复杂度的计算公式为:

cf=a0*C+b0

式中,cf为当前帧图像对应的图像复杂度,C为当前帧图像的比特数,a0为第一常数,b0为第二常数。其中,第二参数包括第一常数和第二常数,且第二参数为调制出来的参数。

该可选的实施例中,由于视频的连续性,在一段时长内(如2s)内,图像复杂度不会发生太大变化,因此,可以间隔预设时长(如:5s)计算当前场景的图像复杂度,这样能够进一步减少资源和内存的开销,有利于提高视频通讯的实时性。

可见,该可选的实施例通过将对当前场景的帧图像执行编码操作得到的比特数结合其他参数计算当前帧图像的图像复杂度,能够提高当前帧图像的图像复杂度的计算效率以及准确性,从而提高当前帧图像的比特数的分配准确性以及效率。

在另一个可选的实施例中,若当前帧图像的类型为P帧图像类型时,根据当前帧图像的数据确定用于为当前帧图像分配对应的比特数的分配参数,包括:

根据当前帧图像的所有宏块的数据包括的内容计算用于为当前帧图像分配对应的比特数的图像运动强度。

该可选的实施例中,可选的,根据当前帧图像的所有宏块的数据包括的内容计算用于为当前帧图像分配对应的比特数的图像运动强度,包括:

根据当前帧图像的所有宏块的运动向量从所有宏块中确定运动向量为零的第一宏块的占比以及运动向量为非零的第二宏块的占比;

根据第一宏块的占比与第二宏块的占比计算用于为当前帧图像分配对应的比特数的图像运动强度。

该可选的实施例中,第一宏块的占比的计算公式如下:

zr=z0/n0

式中,zr为第一宏块的占比,z0为当前帧图像的所有宏块中运动向量的水平分量且垂直分量均为零的宏块的数量,n0为当前帧图像的所有宏块的数量。

第二宏块的占比的计算公式如下:

mv=(sx+sy)/n1

式中,mv为第二宏块的占比,sx为当前帧图像的所有宏块中运动向量的水平分量为非零的宏块的数量,sy为当前帧图像的所有宏块中运动向量的垂直分量为非零的宏块的数量,n1为当前帧图像的所有宏块中运动向量的水平分量为非零或者垂直分量为非零的宏块的数量。

该可选的实施例中,在对当前帧图像执行编码的过程中,当编码当前帧图像的当前宏块时,在当前帧图像的参考帧图像(如:前面一帧I帧图像或者前面三帧图像)中搜索与当前宏块所在位置相同位置匹配的区域,并确定该区域中相似度大于等于预设相似度阈值的块作为当前宏块的参考块,以便于消除帧间冗余进行编码压缩。其中,每个宏块的运动向量的大小用于表示每个宏块与该宏块的参考块之间的空间距离的大小,且宏块的运动向量的大小绝对值越大,表示其与参考块之间距离越远,表征的是这个宏块包含的图像运动幅度越大,即运动越剧烈,也即图像运动强度就越大。

可见,该可选的实施例通过分别确定运动向量为零的宏块的占比运动向量为非零的宏块的占比,并进一步基于这两个占比计算当前帧图像的图像运动强度,能够提高图像运动强度的计算准确性以及可靠性。

在又一个可选的实施例中,可选的,当前帧图像的每个宏块的数据还包括每个宏块的预测类型,每个宏块的预测类型包括帧间预测类型或者帧内预测类型。可选的,该方法还包括以下步骤:

当所有宏块的预测类型包括帧内预测类型时,从所有宏块中确定预测类型为帧内预测类型的第三宏块的占比;

其中,根据第一宏块的占比与第二宏块的占比计算用于为当前帧图像分配对应的比特数的图像运动强度,包括:

根据第一宏块的占比、第二宏块的占比以及第三宏块的占比计算用于为当前帧图像分配对应的比特数的图像运动强度。

该可选的实施例中,第三宏块的占比用于表示当前帧图像中图像的运动强度,其中,当第三宏块的占比越大,表示当前帧图像中图像运动强度越大。

该可选的实施例中,可选的,该方法还包括以下步骤:

确定当前帧图像的当前块所在区域的第一像素值,并在当前帧图像的参考帧图像上确定与当前帧图像的当前块所在区域由运动向量指向区域的第二像素值;

计算第一像素值与第二像素值之间的像素差值,并判断像素差值是否大于等于确定出的像素差值阈值,当判断结果为是时,确定当前帧图像的当前块的预测类型为帧内预测类型;当判断结果为否时,确定当前帧图像的当前块的预测类型为帧间预测类型。这样通过像素值的比较,能够将图像中原来处于被物体遮挡的背景或者出现在当前场景中的新物体确定为预测类型为帧内预测类型的宏块,能够提高预测类型为帧内预测类型的宏块的确定全面性以及准确性。

该可选的实施例中,第三宏块的占比的计算公式如下:

ir=ib/nb

式中,ir为第三宏块的占比,ib为当前帧图像的所有宏块中预测类型为帧内预测类型且大小为N×N(N=4、8或16等)的宏块的数量,nb为当前帧图像的所有宏块大小为N×N的宏块的数量。

该可选的实施例中,当前帧图像对应的图像运动强度的计算公式如下:

mf=a1*mv+b1*ir-c1*zr+d1

式中,mf为当前帧图像对应图像运动强度,a1、b1、c1、d1均为常数,且这些常数均是编码器调制出来的。

该可选的实施例中,当前帧图像的参考帧图像为上一帧图像或者前面若干帧图像。

可见,该可选的实施例通过结合当前帧图像的所有宏块中预测类型为帧内预测类型的宏块的比例计算当前帧图像的图像运动强度,能够将当前场景中的背景发生变化和/或有移动物体经过拍摄装置考虑进行,提高当前帧图像的图像运动强度的计算精准性,从而有利于提高当前帧图像对应的比特数的分配精准性。

实施例二

请参阅图2,图2是本发明实施例公开的另一种用于为帧图像分配对应比特数的参数确定方法的流程示意图。如图2所示,该用于为帧图像分配对应比特数的参数确定方法可以应用于视频监控、视频会议、视频直播等实时视频应用场景,且该用于为帧图像分配对应比特数的参数确定方法可以包括以下操作:

201、对采集到的当前场景的当前帧图像执行编码操作,得到该当前帧图像的数据。

202、根据当前帧图像的数据确定用于为该当前帧图像的下一帧图像分配对应的比特数的分配参数。

203、根据当前帧图像对应的分配参数与确定出的与当前帧图像对应的以往帧图像匹配的分配参数为下一帧图像分配对应的帧比特数。

本发明实施例中,可选的,根据当前帧图像对应的分配参数与确定出的与当前帧图像对应的以往帧图像匹配的分配参数为下一帧图像分配对应的帧比特数,包括:

根据当前帧图像对应的分配参数和与当前帧图像对应的以往帧图像匹配的分配参数计算下一帧图像的调节系数;

根据调节系数与确定出的当前帧图像对应的基准比特数为下一帧图像分配对应的比特数。

该可选的实施例中,可选的,当前帧图像对应的以往帧图像可以是前面第一帧图像,也可以是前面第三帧图像,不做限定。

该可选的实施例中,可选的,当前帧图像对应的基准比特数可以是预先设置的,也可以是根据确定出的参考基准比特数与确定出的帧率计算的。其中,若当前帧图像对应的基准比特数通过确定出的参考基准比特数与确定出的帧率计算出的且当前帧图像的类型为I帧图像类型时,当前帧图像对应的基准比特数的计算公式为:

Is=(Ss*a3)/(a3+m-1);

式中,Is为当前帧图像对应的基准比特数,Ss为参考基准比特数,a3为常数,m为帧率。

若当前帧图像的类型为P帧图像类型时,当前帧图像对应的基准比特数的计算公式为:

Ps=(Ss)/(a3+m-1)

式中,Ps为当前帧图像对应的基准比特数。

本发明实施例中,可选的,下一帧图像对应的比特数的计算公式如下:

T=S*T0

S=a*cf+b*mf+c;

式中,T为下一帧图像分配对应的比特数;T0为当前帧图像对应的基准比特数;S为下一帧图像的调节系数;a、b、c均为常数,且当前帧图像的类型的不同,a、b、c也不相同;若当前帧图像的类型为I帧图像类型时,cf为当前帧图像分配对应的比特数的图像复杂度,mf为与当前帧图像对应的以往帧图像匹配的分配参数,且与当前帧图像对应的以往帧图像匹配的分配参数为该往帧图像对应的图像运动强度;若当前帧图像的类型为P帧图像类型时,cf为当前帧图像分配对应的比特数的图像运动强度,mf为与当前帧图像对应的以往帧图像匹配的分配参数,且与当前帧图像对应的以往帧图像匹配的分配参数为该往帧图像对应的图像复杂度。

本发明实施例中,针对步骤201、步骤202的相关描述请参照实施例一中针对步骤101-步骤102的详细描述,本发明实施例不再赘述。

可见,本发明实施例在获取到当前帧图像的图像复杂度或者图像运动强度之后,还能够进一步结合以往帧图像匹配的分配参数(如上一帧图像的图像运动强度或者图像复杂度)计算下一帧图像的比特数调节系数,并将该比特数调节系数结合当前帧图像的基准比特数为下一帧图像分配对应的比特数,能够提高当前帧图像的下一帧图像分配对应的比特数的分配准确性以及效率,从而适应多变复杂的场景,即对于拍摄设备的视野范围内的背景发生较大变化或复杂场景(如:夜晚的星空),通过给场景中的I帧图像分配较多的比特数和/或给场景中的P帧图像分配较少的比特数,以保证编码效果的清晰;对于比较静止的场景(即图像运动强度较小的场景),由于当前帧图像与参考帧的相似度很高,绝大部分图像内容与参考帧保持一致,通过给场景中的P帧图像分配较少的比特数以及通过保持I帧图像的比特数稳定,在保证图像编码之后得到清晰的视频效果之外,能够节省比特数,减少资源和内存的开销;对于运动的场景(尤其是剧烈运动的场景),通过给场景中的P帧图像分配较多的比特数以及给I帧图像分配较少的比特数,同样能够确保复杂的图像在编码之后也能够获取到清晰的视频效果且节省资源和内存的开销,即使在多变的场景也能够节约资源和内存的开销,以及降低视频通讯的延迟,提高视频通讯的实时性。

可见,实施图2所描述的用于为帧图像分配对应比特数的参数确定方法通过直接对当前场景的视频的当前帧图像执行编码操作,并根据执行编码操作后的当前帧图像的数据,如:P帧图像的宏块的运动向量、I帧图像的比特数,计算当前帧图像对应的图像复杂度或当前帧图像对应的图像运动强度,以便对当前帧图像的下一帧图像进行比特数的准确分配,即无需对下一帧图像进行额外的预处理操作,也能够对当前场景的下一帧图像准确地进行比特数的分配,能够降低视频传输通路的延迟,提升了视频传输的实时性,以及节约视频通路的计算资源开销和内存开销,降低了应用成本,且本方案具有普遍性,易于推广应用,提升了编码产品的用户体验,还能够在多变的场景也能够节约资源和内存的开销,以及降低视频通讯的延迟,提高视频通讯的实时性。

在一个可选的实施例中,该方法还可以包括以下步骤:

在对当前场景中的当前帧图像执行编码操作的过程中,间隔预设时长(如:10s)向编码器插入基准I帧图像,得到该基准I帧图像对应的比特数,并基于该基准I帧图像对应的比特数计算当前场景的图像复杂度。

该可选的实施例中,可选的,预设时长可以是动态变化的,如:可以间隔10s插入基准I帧图像,也可以间隔5s插入基准I帧图像,还可以是在接收到当前场景的图像复杂度的检测请求时,插入基准I帧图像。

该可选的实施例中,可选的,该方法还可以包括以下步骤:

确定编码器的实时性能情况;

当编码器的实时性能情况用于表示编码器的性能处于富余状态时,在计算得到当前场景的图像复杂度之后,删除基准I帧图像的数据,并执行上述的对当前场景中的当前帧图像执行编码操作,其中,当前帧图像的类型包括I帧图像类型;

当编码器的实时性能情况用于表示编码器的性能不处于富余状态或者当前场景的实时性要求大于等于确定出的实时性要求时,将基准I帧图像确定为当前场景的当前I帧图像,以及执行上述的根据当前帧图像的数据确定用于为该当前帧图像分配对应的比特数的分配参数的操作。

可见,该可选的实施例在通过定期插入基准I帧图像检测当前场景的图像复杂度,能够充分利用编码器的资源对当前场景(尤其是场景复杂度较低,如:白墙等)的图像复杂度进行检测,以便于若当前场景发生变化时能够及时为帧图像分配对应的比特数,从而编码之后得到清晰的视频效果;进一步的,在编码器的性能存在富余时,删除基准I帧图像,能够减少资源和内存的开销且不会影响整体通路的实时性;在编码器的性能不存在富余时或者当前场景的实时性要求较高时,在基于基准I帧图像检测完毕当前场景的图像复杂度之后,直接将其作为正常I帧图像继续进行后续的操作,同样能够实现比特数的准确性分配,保证视频通讯的实时性。

实施例三

请参阅图3,图3是本发明实施例公开的一种用于为帧图像分配对应比特数的参数确定装置的结构示意图。如图3所示,该用于为帧图像分配对应比特数的参数确定装置可以应用于视频监控、视频会议、视频直播等实时视频应用场景,且该用于为帧图像分配对应比特数的参数确定装置可以包括编码模块301以及确定模块302,其中:

编码模块301,用于对采集到的当前场景的当前帧图像执行编码操作,得到该当前帧图像的数据。

确定模块302,用于根据当前帧图像的数据确定用于为该当前帧图像的下一帧图像分配对应的比特数的分配参数。

其中,本发明实施例中,若当前帧图像的类型为I帧图像类型时,当前帧图像的数据包括当前帧图像的比特数,当前帧图像对应的分配参数包括当前帧图像的图像复杂度;若当前帧图像的类型为P帧图像类型时,当前帧图像的数据包括当前帧图像的所有宏块的数据,当前帧图像的每个宏块的数据包括每个宏块的运动向量,当前帧图像对应的分配参数包括当前帧图像的图像运动强度。

可见,实施图3所描述的用于为帧图像分配对应比特数的参数确定装置通过直接对当前场景的视频的当前帧图像执行编码操作,并根据执行编码操作后的当前帧图像的数据,如:P帧图像的宏块的运动向量、I帧图像的比特数,计算当前帧图像对应的图像复杂度或当前帧图像对应的图像运动强度,以便对当前帧图像的下一帧图像进行比特数的准确分配,即无需对下一帧图像进行额外的预处理操作,也能够对当前场景的下一帧图像准确地进行比特数的分配,能够降低视频传输通路的延迟,提升了视频传输的实时性,以及节约视频通路的计算资源开销和内存开销,降低了应用成本,且本方案具有普遍性,易于推广应用,提升了编码产品的用户体验。

在另一个可选的实施例中,如图3所示,若当前帧图像的类型为I帧图像类型时,编码模块301对采集到的当前场景的当前帧图像执行编码操作,得到当前帧图像的数据的方式具体为:

基于确定出的用于检测场景复杂度的第一参数对当前帧图像执行编码操作,得到当前帧图像的比特数;

其中,根据当前帧图像的数据确定用于为当前帧图像分配对应的比特数的分配参数,包括:

基于当前帧图像的比特数与确定出的第二参数计算用于为当前帧图像分配对应的比特数的图像复杂度。

可见,实施图3所描述的用于为帧图像分配对应比特数的参数确定装置能够通过将对当前场景的帧图像执行编码操作得到的比特数结合其他参数计算当前帧图像的图像复杂度,能够提高当前帧图像的图像复杂度的计算效率以及准确性,从而提高当前帧图像的比特数的分配准确性以及效率。

在另一个可选的实施例中,如图4所示,若当前帧图像的类型为P帧图像类型时,确定模块302包括:

计算子模块3021,用于根据当前帧图像的所有宏块的数据包括的内容计算用于为当前帧图像分配对应的比特数的图像运动强度。

该可选的实施例中,如图4所示,计算子模块3021包括:

确定单元30211,用于根据当前帧图像的所有宏块的运动向量从所有宏块中确定运动向量为零的第一宏块的占比以及运动向量为非零的第二宏块的占比。

计算单元30212,用于根据第一宏块的占比与第二宏块的占比计算用于为当前帧图像分配对应的比特数的图像运动强度。

可见,实施图4所描述的用于为帧图像分配对应比特数的参数确定装置能够通过分别确定运动向量为零的宏块的占比运动向量为非零的宏块的占比,并进一步基于这两个占比计算当前帧图像的图像运动强度,能够提高图像运动强度的计算准确性以及可靠性。

在又一个可选的实施例中,如图4所示,当前帧图像的每个宏块的数据还包括每个宏块的预测类型,每个宏块的预测类型包括帧间预测类型或者帧内预测类型;

确定单元30211,还用于当所有宏块的预测类型包括帧内预测类型时,从所有宏块中确定预测类型为帧内预测类型的第三宏块的占比。

其中,确定单元30211根据第一宏块的占比与第二宏块的占比计算用于为当前帧图像分配对应的比特数的图像运动强度的方式具体为:

根据第一宏块的占比、第二宏块的占比以及第三宏块的占比计算用于为帧图像分配对应的比特数的图像运动强度。

可见,实施图4所描述的用于为帧图像分配对应比特数的参数确定装置能够通过结合当前帧图像的所有宏块中预测类型为帧内预测类型的宏块的比例计算当前帧图像的图像运动强度,能够将当前场景中的背景发生变化和/或有移动物体经过拍摄装置考虑进行,提高当前帧图像的图像运动强度的计算精准性,从而有利于提高当前帧图像对应的比特数的分配精准性。

在又一个可选的实施例中,如图4所示,该装置还包括:

分配模块303,用于根据当前帧图像对应的分配参数与确定出的与当前帧图像对应的以往帧图像匹配的分配参数为下一帧图像分配对应的帧比特数。

其中,分配模块303根据当前帧图像对应的分配参数与确定出的与当前帧图像对应的以往帧图像匹配的分配参数为下一帧图像分配对应的帧比特数的方式具体为:

根据下一帧图像对应的分配参数和与当前帧图像对应的以往帧图像匹配的分配参数计算下一帧图像的调节系数;

根据调节系数与确定出的当前帧图像对应的基准比特数为下一帧图像分配对应的比特数。

该可选的实施例中,当前帧图像对应的比特数的计算公式如下:

T=S*T0

S=a*cf+b*mf+c;

式中,T为下一帧图像分配对应的比特数;T0为当前帧图像对应的基准比特数;S为下一帧图像的调节系数;a、b、c均为常数,且当前帧图像的类型的不同,a、b、c也不相同;当当前帧图像的类型为I帧图像类型时,cf为当前帧图像分配对应的比特数的图像复杂度,mf为与当前帧图像对应的以往帧图像匹配的分配参数,且与当前帧图像对应的以往帧图像匹配的分配参数为该往帧图像对应的图像运动强度;当当前帧图像的类型为P帧图像类型时,cf为当前帧图像分配对应的比特数的图像运动强度,mf为与当前帧图像对应的以往帧图像匹配的分配参数,且与当前帧图像对应的以往帧图像匹配的分配参数为该往帧图像对应的图像复杂度。

可见,实施图4所描述的用于为帧图像分配对应比特数的参数确定装置能够在获取到当前帧图像的图像复杂度或者图像运动强度之后,还能够进一步结合以往帧图像匹配的分配参数(如上一帧图像的图像运动强度或者图像复杂度)计算下一帧图像的比特数调节系数,并将该比特数调节系数结合当前帧图像的基准比特数为下一帧图像分配对应的比特数,能够提高当前帧图像的下一帧图像分配对应的比特数的分配准确性以及效率,从而适应多变复杂的场景,即对于拍摄设备的视野范围内的背景发生较大变化或复杂场景(如:夜晚的星空),通过对场景中的I帧图像分配较多的比特数和/或对场景中的P帧图像分配较少的比特数,以保证编码效果的清晰;对于比较静止的场景(即图像运动强度较小的场景),由于当前帧图像与参考帧的相似度很高,绝大部分图像内容与参考帧保持一致,通过对场景中的P帧图像分配较少的比特数以及通过保持I帧图像的比特数稳定,在保证图像编码之后得到清晰的视频效果之外,能够节省比特数,减少资源和内存的开销;对于运动的场景(尤其是剧烈运动的场景),通过对场景中的P帧图像分配较多的比特数以及对I帧图像分配较少的比特数,同样能够确保复杂的图像在编码之后也能够获取到清晰的视频效果且节省资源和内存的开销,即使在多变的场景也能够节约资源和内存的开销,以及降低视频通讯的延迟,提高视频通讯的实时性。

在又一个可选的实施例中,通过确定出的编码器对当前帧图像执行编码操作。以及,如图4所示,该装置还包括:

插入模块305,用于在编码模块301对当前场景中的当前帧图像执行编码操作的过程中,间隔预设时长(如:10s)向编码器插入基准I帧图像,得到基准I帧图像对应的比特数。

计算模块306,用于基于基准I帧图像对应的比特数计算当前场景的图像复杂度。

可见,实施图4所描述的用于为帧图像分配对应比特数的参数确定装置能够在通过定期插入基准I帧图像检测当前场景的图像复杂度,能够充分利用编码器的资源对当前场景(尤其是场景复杂度较低,如:白墙等)的图像复杂度进行检测,以便于若当前场景发生变化时能够及时为帧图像分配对应的比特数,从而编码之后得到清晰的视频效果。

实施例五

请参阅图5,图5是本发明实施例公开的又一种用于为帧图像分配对应比特数的参数确定装置。如图5所示,该用于为帧图像分配对应比特数的参数确定装置可以包括:

存储有可执行程序代码的存储器501;

与存储器501耦合的处理器502;

进一步的,还可以包括与处理器502耦合的输入接口503和输出接口504;

其中,处理器502调用存储器501中存储的可执行程序代码,用于执行实施例一或实施例二所描述的用于为帧图像分配对应比特数的参数确定方法的步骤。

实施例六

本发明实施例公开了一种计算机读存储介质,其存储用于电子数据交换的计算机程序,其中,该计算机程序使得计算机执行实施例一或实施例二所描述的用于为帧图像分配对应比特数的参数确定方法的步骤。

实施例七

本发明实施例公开了一种计算机程序产品,该计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,且该计算机程序可操作来使计算机执行实施例一或实施例二所描述的用于为帧图像分配对应比特数的参数确定方法的步骤。

以上所描述的装置实施例仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施例的具体描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(ErasableProgrammable Read Only Memory,EPROM)、一次可编程只读存储器(One-timeProgrammable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。

最后应说明的是:本发明实施例公开的一种用于为帧图像分配对应比特数的参数确定方法及装置所揭露的仅为本发明较佳实施例而已,仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各项实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应的技术方案的本质脱离本发明各项实施例技术方案的精神和范围。

22页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:对多媒体数据进行流控及流控模型训练方法、以及装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类