CN114374841A - 视频编码码率控制的优化方法、装置及电子设备 - Google Patents
视频编码码率控制的优化方法、装置及电子设备 Download PDFInfo
- Publication number
- CN114374841A CN114374841A CN202111545826.2A CN202111545826A CN114374841A CN 114374841 A CN114374841 A CN 114374841A CN 202111545826 A CN202111545826 A CN 202111545826A CN 114374841 A CN114374841 A CN 114374841A
- Authority
- CN
- China
- Prior art keywords
- video frame
- quantization parameter
- difference value
- current video
- rate control
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000005457 optimization Methods 0.000 title abstract description 17
- 238000013139 quantization Methods 0.000 claims abstract description 187
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 46
- 230000015654 memory Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 13
- 230000005540 biological transmission Effects 0.000 claims description 9
- 238000005516 engineering process Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/463—Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请公开了一种视频编码码率控制的优化方法、装置及电子设备。其中,该方法包括:根据第一预设视频编码码率控制算法获取当前视频帧的量化参数,以及根据第二预设视频编码码率控制算法获取预测视频帧的量化参数;获取已编码的视频帧的实际输出码率,并确定目标输出码率和实际输出码率之间的差值;获取差值与预设阈值之间的第一差异值,以及已编码的视频帧和预测视频帧二者的平均量化参数与当前视频帧的量化参数之间的第二差异值;根据第一差异值和第二差异值调整当前视频帧的量化参数,以使当前视频帧的量化参数处于目标量化参数范围。本申请解决了相关技术中预测视频帧的量化参数的准确度较低的技术问题。
Description
技术领域
本申请涉及视频编解码领域,具体而言,涉及一种视频编码码率控制的优化方法、装置及电子设备。
背景技术
相关技术中,在宽带受限的网络环境中进行视频传输,就必须对视频信息进行压缩,而压缩的效果和视频内容有很大的关系,对应变化多样的画面,视频编码器输出码流的比特率变化较大,不断变化的码流不适合在恒定的码率信道中传输。对于变化多样的画面,视频编码器输出码流的比特率变化较大,在信道环境不佳的情况下,容易导致视频传输的不稳定。相关技术中通过引入码率控制技术,平均比特率ABR码控算法作为X264中较为常用的码率控制算法,该算法只考虑到已编码帧的部分信息而未考虑未编码帧的信息,因此预测视频帧的量化参数的准确度较低,无法根据不同的网络环境精准输出目标码率。
发明内容
本申请实施例提供了一种视频编码码率控制的优化方法、装置及电子设备,以至少解决相关技术中的预测视频帧的量化参数的准确度较低的技术问题。
根据本申请实施例的一个方面,提供了一种视频编码码率控制的优化方法,包括:根据第一预设视频编码码率控制算法获取当前视频帧的量化参数,以及根据第二预设视频编码码率控制算法获取预测视频帧的量化参数,上述预测视频帧为上述当前视频帧之后的一个或多个未编码的视频帧;获取已编码的视频帧的实际输出码率,并确定目标输出码率和上述实际输出码率之间的差值;获取上述差值与预设阈值之间的第一差异值,以及上述已编码的视频帧和上述预测视频帧二者的平均量化参数与上述当前视频帧的量化参数之间的第二差异值;根据上述第一差异值和上述第二差异值调整当前上述当前视频帧的量化参数,以使上述当前视频帧的量化参数处于目标量化参数范围。
根据本申请实施例的另一方面,还提供了一种视频编码码率控制的优化装置,包括:第一获取单元,用于根据第一预设视频编码码率控制算法获取当前视频帧的量化参数,以及根据第二预设视频编码码率控制算法获取预测视频帧的量化参数,上述预测视频帧为上述当前视频帧之后的一个或多个未编码的视频帧;第二获取单元,用于获取已编码的视频帧的实际输出码率,并确定目标输出码率和上述实际输出码率之间的差值;第三获取单元,用于获取上述差值与预设阈值之间的第一差异值,以及上述已编码的视频帧和上述预测视频帧二者的平均量化参数与上述当前视频帧的量化参数之间的第二差异值;调整单元,用于根据上述第一差异值和上述第二差异值调整当前上述当前视频帧的量化参数,以使上述当前视频帧的量化参数处于目标量化参数范围。
根据本申请实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述的视频编码码率控制的优化方法。
根据本申请实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过上述计算机程序执行上述的视频编码码率控制的优化方法。
在本申请实施例中,通过根据第一预设视频编码码率控制算法获取当前视频帧的量化参数,以及根据第二预设视频编码码率控制算法获取预测视频帧的量化参数,上述预测视频帧为上述当前视频帧之后的一个或多个未编码的视频帧;获取已编码的视频帧的实际输出码率,并确定目标输出码率和上述实际输出码率之间的差值;获取上述差值与预设阈值之间的第一差异值,以及上述已编码的视频帧和上述预测视频帧二者的平均量化参数与上述当前视频帧的量化参数之间的第二差异值;根据上述第一差异值和上述第二差异值调整当前上述当前视频帧的量化参数,以使上述当前视频帧的量化参数处于目标量化参数范围。由于根据已编码的历史帧和预先编码未来帧的平均量化参数和实际比特数据和目标比特数据差值信息将视频帧层的量化参数进行再次调整,以获得更精准的量化参数,因此,本方案不仅提高了预测视频帧的量化参数的准确度,而且能够根据网络环境精准输出目标码率,本申请解决了相关技术中预测视频帧的量化参数的准确度较低的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本发明实施例的一种可选的视频编码码率控制的优化方法的应用环境的示意图;
图2是根据本发明实施例的另一种可选的视频编码码率控制的优化方法的应用环境的示意图;
图3是根据本发明实施例的一种可选的视频编码码率控制的优化方法的流程示意图;
图4是根据本发明实施例的一种可选的视频编码码率控制的优化方法的流程示意图;
图5是根据本发明实施例的另一种可选的视频编码码率控制的优化方法的流程示意图;
图6是根据本发明实施例的一种可选的视频编码码率控制的优化装置的结构示意图;
图7是根据本申请实施例的一种可选的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
这里,对于本发明实施例涉及的技术术语解释如下:
1,图像的残差变换绝对值和(Sum of Absolute Transformed Differences,SATD):将残差经哈达码(Hadamard)变换后累加起来的值,能够体现一定的码流变化。
2,量化参数(Quantization Parameter,QP):QP反映了空间细节的压缩情况,如果QP较小,大部分图像细节都会被保留:当QP增大时,一些图像细节会流失,码率也会随着降低,但同时图像质量会下降。总之,随着量化参数的增加,量化步长的大小也随之增加,但输出的码率却减小。
3,实际输出码率:指的是在具体实施过程中实际输出的码流大小值。
4,目标码率:指的是需要的输出码流大小值,在具体实施过程中指的是网络中实时的网络带带宽。
5,平均量化参数:平均量化参数是一个统计量,它根据己编码的帧动态变化,它的大小即为所有己编码帧的QP之和与己编码帧数的比值。
6,恒定平均目标码率:(Average Bit Rate,ABR),简单场景分配较低bit,复杂场景分配足够bit,使得有限的bit数能够在不同场景下合理分配。同时一定时间内,平均码率又接近设置的目标码率,这样可以控制输出文件的大小。适用场景:ABR在直播和低延时系统用的比较多,因为只编码了一次,所以速度快,同时兼顾了视频质量和带宽,对于转码速度有要求的情况下也可以选择该模式。
根据本发明实施例的一个方面,提供了一种视频编码码率控制的优化方法,作为一种可选的实施方式,上述视频编码码率控制的优化上述方法可以但不限于应用于如图1所示的硬件环境中。该硬件环境中包括:与用户进行人机交互的终端设备102、网络104、服务器106。用户108与终端设备102之间可以进行人机交互,终端设备102中运行有视频编码码率控制的优化应用客户端。上述终端设备102中包括人机交互屏幕1022,处理器1024及存储器1026。人机交互屏幕1022用于呈现视频帧处理的界面;处理器1024用于根据第一预设视频编码码率控制算法获取当前视频帧的量化参数,以及根据第二预设视频编码码率控制算法获取预测视频帧的量化参数。存储器1026用于存储当前视频帧的量化参数和预测视频帧的量化参数。
此外,服务器106中包括数据库1062及处理引擎1064,数据库1062中用于存储当前视频帧的量化参数和预测视频帧的量化参数。处理引擎1064根据第一预设视频编码码率控制算法获取当前视频帧的量化参数,以及根据第二预设视频编码码率控制算法获取预测视频帧的量化参数,上述预测视频帧为上述当前视频帧之后的一个或多个未编码的视频帧;获取已编码的视频帧的实际输出码率,并确定目标输出码率和上述实际输出码率之间的差值;获取上述差值与预设阈值之间的第一差异值,以及上述已编码的视频帧和上述预测视频帧二者的平均量化参数与上述当前视频帧的量化参数之间的第二差异值;根据上述第一差异值和上述第二差异值调整当前上述当前视频帧的量化参数,以使上述当前视频帧的量化参数处于目标量化参数范围。
作为另一种可选的实施方式,本申请上述视频编码码率控制的优化上述方法可以应用于图2中。如图2所示,用户202与用户设备204之间可以进行人机交互。用户设备204中包含有存储器206和处理器208。本实施例中终端设备204可以但不限于参考执行上述终端设备102所执行的操作,以以使上述当前视频帧的量化参数处于目标量化参数范围。
可选地,上述终端设备102和用户设备204可以但不限于为手机、平板电脑、笔记本电脑、PC机等终端,上述网络104可以包括但不限于无线网络或有线网络。其中,该无线网络包括:WIFI及其他实现无线通信的网络。上述有线网络可以包括但不限于:广域网、城域网、局域网。上述服务器106可以包括但不限于任何可以进行计算的硬件设备。上述服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群,或者是云服务器。上述仅是一种示例,本实施例中对此不作任何限定。
可选地,在一个或多个实施例中,如图3所示,上述视频编码码率控制的优化方法包括:
S302,根据第一预设视频编码码率控制算法获取当前视频帧的量化参数,以及根据第二预设视频编码码率控制算法获取预测视频帧的量化参数,上述预测视频帧为上述当前视频帧之后的一个或多个未编码的视频帧。
在本发明实施例中,上述第一预设视频编码码率控制算法包括但不限于已训练好的编码数据和量化参数对应关系的线性模型,上述第二预设视频编码码率控制算法包括但不限于x264标准的ABR码率控制算法。
S304,获取已编码的视频帧的实际输出码率,并确定目标输出码率和上述实际输出码率之间的差值。
具体地,基于包括当前视频帧在内的所有已编码视频帧的编码数据,来得到实际输出码率。
S306,获取上述差值与预设阈值之间的第一差异值,以及上述已编码的视频帧和上述预测视频帧二者的平均量化参数与上述当前视频帧的量化参数之间的第二差异值。
在本发明实施例中,上述第一差异值包括但不限于目标输出码率和上述实际输出码率之间的差值与预设阈值二者之差的绝对值。上述第二差异值为:上述已编码的视频帧和上述预测视频帧二者的平均量化参数与上述当前视频帧的量化参数二者之间的差值,上述仅为示例,本发明实施例对此不作任何限定。
S308,根据上述第一差异值和上述第二差异值调整当前上述当前视频帧的量化参数,以使上述当前视频帧的量化参数处于目标量化参数范围。
在本发明实施例中,根据上述第一差异值和上述第二差异值调整当前上述当前视频帧的量化参数,以获得更加精准的视频帧的量化参数,即目标量化参数范围,进而使得在(Peak Signal to Noise Ratio,PSNR)变化不大的情况下,输出的码率更加接近于目标码率。
在本申请实施例中,通过根据第一预设视频编码码率控制算法获取当前视频帧的量化参数,以及根据第二预设视频编码码率控制算法获取预测视频帧的量化参数,上述预测视频帧为上述当前视频帧之后的一个或多个未编码的视频帧;获取已编码的视频帧的实际输出码率,并确定目标输出码率和上述实际输出码率之间的差值;获取上述差值与预设阈值之间的第一差异值,以及上述已编码的视频帧和上述预测视频帧二者的平均量化参数与上述当前视频帧的量化参数之间的第二差异值;根据上述第一差异值和上述第二差异值调整当前上述当前视频帧的量化参数,以使上述当前视频帧的量化参数处于目标量化参数范围。由于根据已编码的历史帧和预先编码未来帧的平均量化参数和实际比特数据和目标比特数据差值信息将视频帧层的量化参数进行再次调整,以获得更精准的量化参数,因此,本方案不仅提高了预测视频帧的量化参数的准确度,而且能够根据网络环境精准输出目标码率,本申请解决了相关技术中预测视频帧的量化参数的准确度较低的技术问题。
在一个或多个实施例中,上述步骤S304,上述获取已编码的视频帧的实际输出码率,包括:基于传输时间点位于当前视频帧之前的每个视频帧的编码数据,以及当前视频帧的编码数据,获得上述实际输出码率。
在一个或多个实施例中,上述根据上述第一差异值和上述第二差异值调整当前上述当前视频帧的量化参数,以使上述当前视频帧的量化参数处于目标量化参数范围,包括:
当上述第一差异值的绝对值小于预设阈值、且上述已编码的视频帧和上述预测视频帧二者的平均量化参数小于上述当前视频帧的量化参数时,基于预设幅度值增大上述当前视频帧的量化参数。
当上述第一差异值的绝对值大于预设阈值、且上述已编码的视频帧和上述预测视频帧二者的平均量化参数大于上述当前视频帧的量化参数时,基于预设幅度值减小上述当前视频帧的量化参数。
在一个或多个实施例中,上述预设幅度值为2。具体地,当上述第一差异值的绝对值小于预设阈值、且上述已编码的视频帧和上述预测视频帧二者的平均量化参数小于上述当前视频帧的量化参数时,将上述当前视频帧的量化参数增加2个单位;
当上述第一差异值的绝对值大于预设阈值、且上述已编码的视频帧和上述预测视频帧二者的平均量化参数大于上述当前视频帧的量化参数时,将上述当前视频帧的量化参数减小2个单位。
在一个或多个实施例中,上述第一预设视频编码码率控制算法为X264标准的ABR码率控制算法,上述第二预设视频编码码率控制算法为已训练好的编码数据和量化参数对应关系的线性模型。
在本发明实施例中,通过已训练好的编码数据和量化参数对应关系的线性模型,可以预估当前视频帧之后的一个多个视频帧的量化参数,为确定当前视频帧的量化参数提供更全面预测数据,提高预估量化参数预测的准确性。
在一个或多个实施例中,上述预设阈值为上述目标输出码率的1%。在本发明实施例中,通过将上述阈值调整为目标输出码率的1%,能够进一步提高量化参数预测的准确性。
基于上述实施例,在一个或多个实施例中,如图4所示,上述视频编码码率控制的优化方法包括如下步骤:
步骤S402,计算当前帧的复杂度complx,其中残差变换绝对值之和satd是预测重建块与编码块差值经过哈达码变换之后的绝对值之和。
计算当前模糊复杂度的公式如下:
blurred_complexity=short_term_cplxsum/short_term_cplxcount
其中,short_term_cplxsum表示累积加权复杂度,是已编码和当前帧的satd累积加权之和,short_term_cplxcount是已编码帧和当前帧的加权总数;
步骤S404,根据图像的模糊复杂度complx计算量化等级参数qscale;计算公式如下:
qscale=blurred_complexity/ratefactor;
其中,ratefactor为所有已编码帧的目标比特数之和和真实已编码的比特数根据每一帧的qscale/blurred_complexity加权的和的比值;
量化等级参数qscale修正公式为:qscale=qscale*overflow。
步骤S406,通过overflow修正量化等级参数qscale;
overflow=x264_clip3f((total_bits-wanted_bits)/abr_buffer,0.5,2);
其中,total_bits为所有已编码帧的真实比特数之和,wanted_bits为所有目标比特数之和。
步骤S408,根据调整后的qscale计算量化参数qp;计算公式如下:
qp=a+bln(qscale/c);其中:系数a=12、b=6、c=0.85,三者均为经验值。
最后根据计算出的qp对当前帧进行编码。
在一个或多个实施例中,如图5所示,上述视频编码码率控制的优化方法包括如下步骤:
步骤S502,根据X264标准常规的方法得到当前帧和未来几帧的量化参数(curqp),未来帧的量化参数futureqps;其中未来几帧编码中用到的已编码帧真实编码数据可以通过线性模型预测估计。
步骤S504,获取当前帧为止的每帧的真实编码数据bits。
步骤S506,进一步获取已精确编码的实际输出码率(real_bits),计算目标输出码率和实际输出码率的差值;
计算公式为:diff_bits=real_bits-target_bit,其中,diff_bits为差值,target_bit为目标输出码率。
步骤S508,计算已编码帧的trueqps和预编码帧的futureqps平均量化参数(avg_qp)。
步骤S510,判断diff_bits的绝对值是否小于R值,且平均量化参数avg_qp小于curqp;
步骤S512,若diff_bits的绝对值值小于R值,且平均量化参数avg_qp小于curqp,则增大curqp值,将curqp增大,增大的幅度值2,R为阈值,可以选取为目标码率的1%;若不满足条件,则转入步骤S518;
步骤S514,判断diff_bits的绝对值是否大于R值,且平均量化参数avg_qp大于curqp;
步骤S516,若diff_bits的绝对值值大于R值,且平均量化参数avg_qp大于curqp,则减小curqp值,减小的幅度值2,R为阈值,可以选取为目标码率的1%;若不满足条件,则转入步骤S518;
步骤S518,得到当前视频帧调整后的量化参数,根据该调整后的量化参数对当前帧进行编码。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
根据本申请实施例的另一个方面,还提供了一种用于实施上述视频编码码率控制的优化方法的视频编码码率控制的优化装置。如图6所示,该装置包括:
第一获取单元602,用于根据第一预设视频编码码率控制算法获取当前视频帧的量化参数,以及根据第二预设视频编码码率控制算法获取预测视频帧的量化参数,上述预测视频帧为上述当前视频帧之后的一个或多个未编码的视频帧。
在本发明实施例中,上述第一预设视频编码码率控制算法包括但不限于已训练好的编码数据和量化参数对应关系的线性模型,上述第二预设视频编码码率控制算法包括但不限于x264标准的ABR码率控制算法。
第二获取单元604,用于获取已编码的视频帧的实际输出码率,并确定目标输出码率和上述实际输出码率之间的差值。
具体地,基于包括当前视频帧在内的所有已编码视频帧的编码数据,来得到实际输出码率。
在本发明实施例中,上述第一差异值包括但不限于目标输出码率和上述实际输出码率之间的差值与预设阈值二者之差的绝对值。上述第二差异值为:上述已编码的视频帧和上述预测视频帧二者的平均量化参数与上述当前视频帧的量化参数二者之间的差值,上述仅为示例,本发明实施例对此不作任何限定。
第三获取单元606,用于获取上述差值与预设阈值之间的第一差异值,以及上述已编码的视频帧和上述预测视频帧二者的平均量化参数与上述当前视频帧的量化参数之间的第二差异值。
在本发明实施例中,上述第一差异值包括但不限于目标输出码率和上述实际输出码率之间的差值与预设阈值二者之差的绝对值。上述第二差异值为:上述已编码的视频帧和上述预测视频帧二者的平均量化参数与上述当前视频帧的量化参数二者之间的差值,上述仅为示例,本发明实施例对此不作任何限定。
调整单元608,用于根据上述第一差异值和上述第二差异值调整当前上述当前视频帧的量化参数,以使上述当前视频帧的量化参数处于目标量化参数范围。
在本发明实施例中,根据上述第一差异值和上述第二差异值调整当前上述当前视频帧的量化参数,以获得更加精准的视频帧的量化参数,即目标量化参数范围,进而使得在(Peak Signal to Noise Ratio,PSNR)变化不大的情况下,输出的码率更加接近于目标码率。
在本申请实施例中,通过根据第一预设视频编码码率控制算法获取当前视频帧的量化参数,以及根据第二预设视频编码码率控制算法获取预测视频帧的量化参数,上述预测视频帧为上述当前视频帧之后的一个或多个未编码的视频帧;获取已编码的视频帧的实际输出码率,并确定目标输出码率和上述实际输出码率之间的差值;获取上述差值与预设阈值之间的第一差异值,以及上述已编码的视频帧和上述预测视频帧二者的平均量化参数与上述当前视频帧的量化参数之间的第二差异值;根据上述第一差异值和上述第二差异值调整当前上述当前视频帧的量化参数,以使上述当前视频帧的量化参数处于目标量化参数范围。由于根据已编码的历史帧和预先编码未来帧的平均量化参数和实际比特数据和目标比特数据差值信息将视频帧层的量化参数进行再次调整,以获得更精准的量化参数,因此,本方案不仅提高了预测视频帧的量化参数的准确度,而且能够根据网络环境精准输出目标码率,本申请解决了相关技术中预测视频帧的量化参数的准确度较低的技术问题。
在一个或多个实施例中,上述第二获取单元,包括:
第一获取模块,用于基于传输时间点位于当前视频帧之前的每个视频帧的编码数据,以及当前视频帧的编码数据,获得上述实际输出码率。
在一个或多个实施例中,上述调整单元608,具体包括:
第一调整模块,用于当上述第一差异值的绝对值小于预设阈值、且上述已编码的视频帧和上述预测视频帧二者的平均量化参数小于上述当前视频帧的量化参数时,基于预设幅度值增大上述当前视频帧的量化参数;
第二调整模块,用于当上述第一差异值的绝对值大于预设阈值、且上述已编码的视频帧和上述预测视频帧二者的平均量化参数大于上述当前视频帧的量化参数时,基于预设幅度值减小上述当前视频帧的量化参数。
在一个或多个实施例中,上述视频编码码率控制的优化装置中,上述上述预设幅度值为2。
在一个或多个实施例中,上述视频编码码率控制的优化装置中,上述第一预设视频编码码率控制算法为x264标准的ABR码率控制算法,上述第二预设视频编码码率控制算法为已训练好的编码数据和量化参数对应关系的线性模型。
在一个或多个实施例中,上述视频编码码率控制的优化装置中,上述预设阈值为上述目标输出码率的1%。
根据本申请实施例的又一个方面,还提供了一种用于实施上述视频编码码率控制的优化方法的电子设备,该电子设备可以是图1所示的终端设备或服务器。本实施例以该电子设备为服务器为例来说明。如图7所示,该电子设备包括存储器702和处理器704,该存储器702中存储有计算机程序,该处理器704被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,根据第一预设视频编码码率控制算法获取当前视频帧的量化参数,以及根据第二预设视频编码码率控制算法获取预测视频帧的量化参数,上述预测视频帧为上述当前视频帧之后的一个或多个未编码的视频帧;
S2,获取已编码的视频帧的实际输出码率,并确定目标输出码率和上述实际输出码率之间的差值;
S3,获取上述差值与预设阈值之间的第一差异值,以及上述已编码的视频帧和上述预测视频帧二者的平均量化参数与上述当前视频帧的量化参数之间的第二差异值;
S4,根据上述第一差异值和上述第二差异值调整当前上述当前视频帧的量化参数,以使上述当前视频帧的量化参数处于目标量化参数范围。
可选地,本领域普通技术人员可以理解,图7所示的结构仅为示意,电子装置电子设备也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图7其并不对上述电子装置电子设备的结构造成限定。例如,电子装置电子设备还可包括比图7中所示更多或者更少的组件(如网络接口等),或者具有与图7所示不同的配置。
其中,存储器702可用于存储软件程序以及模块,如本申请实施例中的视频编码码率控制的优化方法和装置对应的程序指令/模块,处理器704通过运行存储在存储器702内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的视频编码码率控制的优化方法。存储器702可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器702可进一步包括相对于处理器704远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器702具体可以但不限于用于存储当前视频帧的量化参数和预测视频帧的量化参数。作为一种示例,如图7所示,上述存储器702中可以但不限于包括上述视频编码码率控制的优化装置中的第一获取单元602、第二获取单元604、第三获取单元606及调整单元608。此外,还可以包括但不限于上述视频编码码率控制的优化装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置706用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置706包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置706为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子设备还包括:显示器708,用于显示上述当前视频帧的量化参数和预测视频帧的量化参数;和连接总线710,用于连接上述电子设备中的各个模块部件。
在其他实施例中,上述终端设备或者服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点对点(P2P,Peer To Peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。
在一个或多个实施例中,本申请还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述视频编码码率控制的优化方法。其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,根据第一预设视频编码码率控制算法获取当前视频帧的量化参数,以及根据第二预设视频编码码率控制算法获取预测视频帧的量化参数,上述预测视频帧为上述当前视频帧之后的一个或多个未编码的视频帧;
S2,获取已编码的视频帧的实际输出码率,并确定目标输出码率和上述实际输出码率之间的差值;
S3,获取上述差值与预设阈值之间的第一差异值,以及上述已编码的视频帧和上述预测视频帧二者的平均量化参数与上述当前视频帧的量化参数之间的第二差异值;
S4,根据上述第一差异值和上述第二差异值调整当前上述当前视频帧的量化参数,以使上述当前视频帧的量化参数处于目标量化参数范围。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种视频编码码率控制的优化方法,其特征在于,包括:
根据第一预设视频编码码率控制算法获取当前视频帧的量化参数,以及根据第二预设视频编码码率控制算法获取预测视频帧的量化参数,所述预测视频帧为所述当前视频帧之后的一个或多个未编码的视频帧;
获取已编码的视频帧的实际输出码率,并确定目标输出码率和所述实际输出码率之间的差值;
获取所述差值与预设阈值之间的第一差异值,以及所述已编码的视频帧和所述预测视频帧二者的平均量化参数与所述当前视频帧的量化参数之间的第二差异值;
根据所述第一差异值和所述第二差异值调整当前所述当前视频帧的量化参数,以使所述当前视频帧的量化参数处于目标量化参数范围。
2.根据权利要求1所述的方法,其特征在于,所述获取已编码的视频帧的实际输出码率,包括:
基于传输时间点位于当前视频帧之前的每个视频帧的编码数据,以及当前视频帧的编码数据,获得所述实际输出码率。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第一差异值和所述第二差异值调整当前所述当前视频帧的量化参数,以使所述当前视频帧的量化参数处于目标量化参数范围,包括:
当所述第一差异值的绝对值小于预设阈值、且所述已编码的视频帧和所述预测视频帧二者的平均量化参数小于所述当前视频帧的量化参数时,基于预设幅度值增大所述当前视频帧的量化参数;
当所述第一差异值的绝对值大于预设阈值、且所述已编码的视频帧和所述预测视频帧二者的平均量化参数大于所述当前视频帧的量化参数时,基于预设幅度值减小所述当前视频帧的量化参数。
4.根据权利要求3所述的方法,其特征在于,所述预设幅度值为2。
5.根据权利要求1至4中任一项中所述的方法,其特征在于,所述第一预设视频编码码率控制算法为X264标准的ABR码率控制算法,所述第二预设视频编码码率控制算法为已训练好的编码数据和量化参数对应关系的线性模型。
6.根据权利要求5所述的方法,其特征在于,所述预设阈值为所述目标输出码率的1%。
7.一种视频编码码率控制的优化装置,其特征在于,包括:
第一获取单元,用于根据第一预设视频编码码率控制算法获取当前视频帧的量化参数,以及根据第二预设视频编码码率控制算法获取预测视频帧的量化参数,所述预测视频帧为所述当前视频帧之后的一个或多个未编码的视频帧;
第二获取单元,用于获取已编码的视频帧的实际输出码率,并确定目标输出码率和所述实际输出码率之间的差值;
第三获取单元,用于获取所述差值与预设阈值之间的第一差异值,以及所述已编码的视频帧和所述预测视频帧二者的平均量化参数与所述当前视频帧的量化参数之间的第二差异值;
调整单元,用于根据所述第一差异值和所述第二差异值调整当前所述当前视频帧的量化参数,以使所述当前视频帧的量化参数处于目标量化参数范围。
8.根据权利要求7所述的装置,其特征在于,所述第二获取单元,包括:
第一获取模块,用于基于传输时间点位于当前视频帧之前的每个视频帧的编码数据,以及当前视频帧的编码数据,获得所述实际输出码率。
9.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行所述权利要求1至6任一项中所述的方法。
10.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111545826.2A CN114374841A (zh) | 2021-12-15 | 2021-12-15 | 视频编码码率控制的优化方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111545826.2A CN114374841A (zh) | 2021-12-15 | 2021-12-15 | 视频编码码率控制的优化方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114374841A true CN114374841A (zh) | 2022-04-19 |
Family
ID=81139641
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111545826.2A Pending CN114374841A (zh) | 2021-12-15 | 2021-12-15 | 视频编码码率控制的优化方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114374841A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117278538A (zh) * | 2023-11-22 | 2023-12-22 | 荣耀终端有限公司 | 调整编码器的参数的方法及电子设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110002381A1 (en) * | 2009-07-02 | 2011-01-06 | Dialogic Corporation | Bitrate control algorithm for video transcoding systems |
US20110150077A1 (en) * | 2009-12-23 | 2011-06-23 | Sun Microsystems, Inc. | Quantization parameter prediction |
CN103841418A (zh) * | 2012-11-22 | 2014-06-04 | 中国科学院声学研究所 | 一种3g网络中视频监控器码率控制的优化方法及系统 |
US20140376617A1 (en) * | 2013-06-24 | 2014-12-25 | Kyeong Ho Yang | Rate control algorithm for scalable video encoding with disposable p-frames |
KR20180028876A (ko) * | 2016-09-09 | 2018-03-19 | 한화테크윈 주식회사 | 양자화 파라미터 결정 방법 및 영상 획득 장치 |
CN110198444A (zh) * | 2019-04-16 | 2019-09-03 | 浙江大华技术股份有限公司 | 视频帧编码方法、视频帧编码设备及具有存储功能的装置 |
WO2020042177A1 (zh) * | 2018-08-31 | 2020-03-05 | 深圳大学 | 视频编码质量平滑度的优化方法、装置、设备及存储介质 |
CN111479113A (zh) * | 2020-04-15 | 2020-07-31 | 腾讯科技(深圳)有限公司 | 码率控制方法和装置、存储介质和电子设备 |
US20200260085A1 (en) * | 2018-01-16 | 2020-08-13 | Tencent Technology (Shenzhen) Company Limited | Video encoding method, apparatus, and device, and storage medium |
CN113747154A (zh) * | 2021-08-27 | 2021-12-03 | 杭州当虹科技股份有限公司 | 码率控制方法及编码器 |
-
2021
- 2021-12-15 CN CN202111545826.2A patent/CN114374841A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110002381A1 (en) * | 2009-07-02 | 2011-01-06 | Dialogic Corporation | Bitrate control algorithm for video transcoding systems |
US20110150077A1 (en) * | 2009-12-23 | 2011-06-23 | Sun Microsystems, Inc. | Quantization parameter prediction |
CN103841418A (zh) * | 2012-11-22 | 2014-06-04 | 中国科学院声学研究所 | 一种3g网络中视频监控器码率控制的优化方法及系统 |
US20140376617A1 (en) * | 2013-06-24 | 2014-12-25 | Kyeong Ho Yang | Rate control algorithm for scalable video encoding with disposable p-frames |
KR20180028876A (ko) * | 2016-09-09 | 2018-03-19 | 한화테크윈 주식회사 | 양자화 파라미터 결정 방법 및 영상 획득 장치 |
US20200260085A1 (en) * | 2018-01-16 | 2020-08-13 | Tencent Technology (Shenzhen) Company Limited | Video encoding method, apparatus, and device, and storage medium |
WO2020042177A1 (zh) * | 2018-08-31 | 2020-03-05 | 深圳大学 | 视频编码质量平滑度的优化方法、装置、设备及存储介质 |
CN110198444A (zh) * | 2019-04-16 | 2019-09-03 | 浙江大华技术股份有限公司 | 视频帧编码方法、视频帧编码设备及具有存储功能的装置 |
CN111479113A (zh) * | 2020-04-15 | 2020-07-31 | 腾讯科技(深圳)有限公司 | 码率控制方法和装置、存储介质和电子设备 |
CN113747154A (zh) * | 2021-08-27 | 2021-12-03 | 杭州当虹科技股份有限公司 | 码率控制方法及编码器 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117278538A (zh) * | 2023-11-22 | 2023-12-22 | 荣耀终端有限公司 | 调整编码器的参数的方法及电子设备 |
CN117278538B (zh) * | 2023-11-22 | 2024-04-16 | 荣耀终端有限公司 | 调整编码器的参数的方法及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105163134A (zh) | 直播视频的视频编码参数设置方法、装置及视频编码设备 | |
CN114845106A (zh) | 视频编码方法、装置和存储介质及电子设备 | |
CN104270649A (zh) | 影像编码装置及影像编码方法 | |
CN110636312A (zh) | 视频编解码方法和装置及存储介质 | |
CN111479113B (zh) | 码率控制方法和装置、存储介质和电子设备 | |
US10911785B2 (en) | Intelligent compression of grainy video content | |
WO2021057697A1 (zh) | 视频编解码方法和装置、存储介质及电子装置 | |
CN110545433B (zh) | 视频编解码方法和装置及存储介质 | |
CN110519607B (zh) | 视频解码方法及装置,视频编码方法及装置 | |
CN115868161A (zh) | 基于强化学习的速率控制 | |
CN114374841A (zh) | 视频编码码率控制的优化方法、装置及电子设备 | |
CN111050169B (zh) | 图像编码中量化参数的生成方法、装置及终端 | |
CN112104867B (zh) | 一种视频处理方法、视频处理装置、智能设备及存储介质 | |
WO2021057479A1 (zh) | 视频编解码方法和相关装置 | |
CN110662071B (zh) | 视频解码方法和装置、存储介质及电子装置 | |
Arun Raj et al. | Adaptive video streaming over HTTP through 4G wireless networks based on buffer analysis | |
CN110582022B (zh) | 视频编解码方法和装置及存储介质 | |
CN110677721B (zh) | 视频编解码方法和装置及存储介质 | |
CN110545431B (zh) | 视频解码方法及装置、视频编码方法及装置 | |
Kumar et al. | Double sarsa based machine learning to improve quality of video streaming over HTTP through wireless networks | |
CN114157868A (zh) | 视频帧的编码模式筛选方法、装置及电子设备 | |
CN110572677B (zh) | 视频编解码方法和装置、存储介质及电子装置 | |
WO2012027892A1 (en) | Rho-domain metrics | |
CN110636293A (zh) | 视频编码、解码方法和装置、存储介质及电子装置 | |
CN112040235B (zh) | 视频资源的编码方法和装置,视频资源的解码方法和装置 |
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 |