CN114363618A - 一种视频编码恒定比特率控制方法、系统和电子设备 - Google Patents

一种视频编码恒定比特率控制方法、系统和电子设备 Download PDF

Info

Publication number
CN114363618A
CN114363618A CN202111624083.8A CN202111624083A CN114363618A CN 114363618 A CN114363618 A CN 114363618A CN 202111624083 A CN202111624083 A CN 202111624083A CN 114363618 A CN114363618 A CN 114363618A
Authority
CN
China
Prior art keywords
video frame
current video
vbv
current
module
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
Application number
CN202111624083.8A
Other languages
English (en)
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.)
Digital Technology Center Of Beijing Mudan Electronics Group Co ltd
National Engineering Laboratory For Digital Tv Beijing Co ltd
Original Assignee
Digital Technology Center Of Beijing Mudan Electronics Group Co ltd
National Engineering Laboratory For Digital Tv Beijing 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 Digital Technology Center Of Beijing Mudan Electronics Group Co ltd, National Engineering Laboratory For Digital Tv Beijing Co ltd filed Critical Digital Technology Center Of Beijing Mudan Electronics Group Co ltd
Priority to CN202111624083.8A priority Critical patent/CN114363618A/zh
Publication of CN114363618A publication Critical patent/CN114363618A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明涉及恒定比特率控制技术领域,尤其涉及一种视频编码恒定比特率控制方法、系统和电子设备,所述方法中,场景检测模块检测生成每个视频帧对应的场景转换标识,所述码率控制模块计算当前视频帧对应的质量级别,视频编码模块根据所述当前视频帧对应的质量级别,对所述当前视频帧进行编码,并将编码后的数据发送至所述VBV缓存模块;VBV缓存模块接收并缓存编码后的数据,并按照恒定比特率输出,不依赖于视频编码器的内部计算,且本申请和编码标准无关,只需要视频编码器报告统计信息并对其进行编码质量控制即可,不影响编码器性能,对硬件配置需求相对较低,适用于低延时应用业务。

Description

一种视频编码恒定比特率控制方法、系统和电子设备
技术领域
本发明涉及恒定比特率控制技术领域,尤其涉及一种视频编码恒定比特率控制方法、系统和电子设备。
背景技术
在广播电视领域中,一个重要的问题是如何在固定带宽下稳定传输视频节目,这就要求视频编码设备能实现恒定比特率(Constant BitRate)控制,并且能够提供尽可能高的图像质量。本发明提供了一种视频编码的码率控制方法,此方法通过场景检测模块、视频编码模块、VBV缓存模块和码率控制模块间的协同工作,自适应调整视频编码质量等级,可以保证恒定比特率输出,避免出现VBV上溢和下溢等现象。可以满足广电领域对恒定比特率输入和输出的需求。
为了实现恒定比特率的码率控制,常见的做法是将目标码率设置给视频编码器,由视频编码器根据图像复杂度的分析和计算,得到适合的编码方式以适应目标码率。这种方式的缺点是和视频编码器相关,不同标准的视频编码器(如Mpeg2、H.264、H.265等)需要分别开发适合的码率控制算法,对视频编码器的要求较高;另外,这种方式的计算量较大,特别是某些计算需要使用二次编码的方式实现,存在编码速度慢、对硬件配置的需求较高、不适合低延时应用等缺点。
发明内容
本发明所要解决的技术问题是针对现有技术的不足,提供了一种视频编码恒定比特率控制方法、系统和电子设备。
本发明的一种视频编码恒定比特率控制方法的技术方案如下:
场景检测模块检测输入视频中每相邻两个视频帧是否存在场景转换,生成每个视频帧对应的场景转换标识,并发送至码率控制模块;
视频编码模块判定接收到的当前视频帧的编码类型,并把所述当前视频帧的编码类型发送给所述码率控制模块;
所述码率控制模块根据所述当前视频帧对应的场景转换标识、所述当前视频帧的编码类型以及从VBV缓存模块获得的当前VBV Level信息,计算所述当前视频帧对应的质量级别,并将所述当前视频帧对应的质量级别发送至所述视频编码模块,其中,当前VBVLevel信息表示:VBV缓存模块中的当前缓存数据占总缓存空间的百分比;
所述视频编码模块根据所述当前视频帧对应的质量级别,对所述当前视频帧进行编码,并将编码后的数据发送至所述VBV缓存模块;
所述VBV缓存模块接收并缓存编码后的数据,并按照恒定比特率输出,其中,VBVSizemax=VBVDelay×BitRate,BitRate表示所述恒定比特率,VBVSizemax表示所述VBV缓存模块的总缓存空间的大小。
本发明的一种视频编码恒定比特率控制方法的有益效果如下:
不依赖于视频编码器的内部计算,而是通过增加场景检测模块、VBV缓存模块和码率控制模块等外部模块对视频编码器进行配置,且本申请和编码标准无关,只需要视频编码器报告统计信息并对其进行编码质量控制即可,不影响编码器性能,对硬件配置需求相对较低,适用于低延时应用业务。
本发明的一种视频编码恒定比特率控制系统的技术方案如下:
包括场景检测模块、视频编码模块、码率控制模块和VBV缓存模块;
所述场景检测模块用于:检测输入视频中每相邻两个视频帧是否存在场景转换,生成每个视频帧对应的场景转换标识,并发送至所述码率控制模块;
所述视频编码模块用于:判定接收到的当前视频帧的编码类型,并把所述当前视频帧的编码类型发送给所述码率控制模块;
所述码率控制模块用于:根据所述当前视频帧对应的场景转换标识、所述当前视频帧的编码类型以及从VBV缓存模块获得的当前VBV Level信息,计算所述当前视频帧对应的质量级别,并将所述当前视频帧对应的质量级别发送至所述视频编码模块,其中,当前VBV Level信息表示:VBV缓存模块中的当前缓存数据占总缓存空间的百分比;
所述视频编码模块还用于:根据所述当前视频帧对应的质量级别,对所述当前视频帧进行编码,并将编码后的数据发送至所述VBV缓存模块;
所述VBV缓存模块用于:接收并缓存编码后的数据,并按照恒定比特率输出,其中,VBVSizemax=VBVDelay×BitRate,BitRate表示所述恒定比特率,VBVSizemax表示所述VBV缓存模块的总缓存空间的大小。
本发明的一种视频编码恒定比特率控制系统的有益效果如下:
不依赖于视频编码器的内部计算,而是通过增加场景检测模块、VBV缓存模块和码率控制模块等外部模块对视频编码器进行配置,且本申请和编码标准无关,只需要视频编码器报告统计信息并对其进行编码质量控制即可,不影响编码器性能,对硬件配置需求相对较低,适用于低延时应用业务。
本发明的一种电子设备的技术方案如下:
包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的程序,所述处理器执行所述程序时实现如上述任一项所述的一种视频编码恒定比特率控制方法的步骤。
附图说明
图1为本发明实施例的一种视频编码恒定比特率控制方法的流程示意图之一;
图2为本发明实施例的一种视频编码恒定比特率控制方法的流程示意图之二;
图3为本发明实施例的一种视频编码恒定比特率控制系统的结构示意图;
具体实施方式
如图1和图2所示,本发明实施例的一种视频编码恒定比特率控制方法,包括如下步骤:
S1、场景检测模块210检测输入视频中每相邻两个视频帧是否存在场景转换,生成每个视频帧对应的场景转换标识,并发送至码率控制模块230;
S2、视频编码模块220判定接收到的当前视频帧的编码类型,并把当前视频帧的编码类型发送给码率控制模块230;
S3、码率控制模块230根据当前视频帧对应的场景转换标识、当前视频帧的编码类型以及从VBV缓存模块240获得的当前VBV Level信息,计算当前视频帧对应的质量级别,并将当前视频帧对应的质量级别发送至视频编码模块220,其中,当前VBV Level信息表示:VBV缓存模块240中的当前缓存数据占总缓存空间的百分比;
质量级别(QL)代表了视频编码模块220对当前视频帧进行编码的质量等级,质量等级越高,当前视频帧的图像质量损失越小,相应的编码后的数据就越大。之所以使用质量级别,是因为编码器可能采用不同的编码标准如Mpeg2、H.264或H.265等,质量级别是一个抽象的质量等级,对于不同的编码标准可以对应到不同的编码参数。本发明中质量级别有52个等级(从0~51),定义为:QL=51-QP,其中QP(Quantization Parameter)是编码标准中定义的量化参数。
S4、视频编码模块220根据当前视频帧对应的质量级别,对当前视频帧进行编码,并将编码后的数据发送至VBV缓存模块240;具体地:
视频编码模块220根据当前视频帧对应的质量级别所对应的编码参数,对当前视频帧进行编码并将编码后的数据发送至VBV缓存模块240,也可将编码后的数据称为ES数据。
S5、VBV缓存模块240接收并缓存编码后的数据,并按照恒定比特率输出,其中,VBVSizemax=VBVDelay×BitRate,BitRate表示恒定比特率,VBVSizemax表示VBV缓存模块240的总缓存空间的大小。
其中,也就是说,VBV(Virtual Buffer Verifier)缓存模块负责接收并缓存编码后的视频数据,然后按照恒定比特率(Constant BitRate,CBR)输出,VBVDelay是设定的最大VBV延迟时间,一般在[0.5,1]秒范围内,本申请中VBVDelay设为0.8秒,BitRate是CBR即恒定比特率,单位是比特每秒。
VBV缓存模块240的VBV缓存的重要性在于,保证供以CBR即恒定比特率输出的数据一直存在,如果在某一时刻CBR没有数据输出,或者VBV缓存模块240中的缓存空间中无数据,则视频输出流将中断,从而降低了视频比特率,导致没有有效利用输出带宽。如果VBV缓存的输入数据过快,而输出CBR相对慢,则容易导致VBV缓存溢出,从而导致数据丢失。
本申请的一种视频编码恒定比特率控制方法不依赖于视频编码器的内部计算,而是通过增加场景检测模块、VBV缓存模块和码率控制模块等外部模块对视频编码器进行配置,具体体现在只对当前视频帧编码设置质量级别(QL),而不限制具体编码器的质量级别和编码器内部参数设置之间的关系,各视频编码器可根据自身的编码标准和编码机制设置质量级别对应的参数设置,且本申请和编码标准无关,只需要视频编码器报告统计信息并对其进行编码质量控制即可,不影响编码器性能,对硬件配置需求相对较低,适用于低延时应用业务。
VBV缓存模块240要在每一帧视频帧对应的编码后的数据到达缓存区后,将缓存区的当前数据量占缓存总大小的百分比(VBV Level)即当前VBV Level信息报告给码率控制模块230。
可选地,在上述技术方案中,码率控制模块230计算当前视频帧对应的质量级别的过程,包括:
S30、根据当前视频帧对应的场景转换标识和当前视频帧的编码类型,计算当前视频帧进行编码后的数据大小的估算值;
S31、根据当前视频帧进行编码后的数据大小的估算值以及从VBV缓存模块240获得的当前VBV Level信息,计算当前视频帧对应的质量级别。
可选地,在上述技术方案中,场景检测模块210生成每个视频帧对应的场景转换标识的过程,包括:
S10、对输入视频中的多个视频帧依次设置序号标记,分别为1、2……N-1、N,根据第一公式计算第n个视频帧的场景转换标识Fsc[n],第一公式为:
Figure BDA0003439190790000061
其中,n∈[1,N],
Figure BDA0003439190790000062
S代表第n个视频帧的像素数,Yp[n]表示第n个视频帧中像素序号为p的像素的Y值,Cbp[n]表示第n个视频帧中像素序号为p的像素的Cb值,Crp[n]代表第n个视频帧中像素序号为p的像素的Cr值,k代表第n个视频帧的位深。
可选地,在上述技术方案中,码率控制模块230计算当前视频帧进行编码后的数据大小的估算值的过程,包括:
S300、当当前视频帧的场景转换标识为0时,且当前视频帧不是第1个视频帧时,根据已编码的视频帧的编码后的数据大小,确定当前视频帧进行编码后的数据大小的估算值;
S301、当当前视频帧的场景转换标识为1时,利用第二公式确定当前视频帧进行编码后的数据大小的估算值ECFStype[n′],第二公式为:
Figure BDA0003439190790000063
其中,type表示当前视频帧的编码类型为I帧、P帧或B帧,CFStype[n′-1]表示:当前视频帧的编码类型为I帧、P帧或B帧时,第n′-1个视频帧的编码后的数据大小。
码率控制模块230的调节参数是QL,码流控制模块具体的实现方式如下:
在同一视频编码标准如Mpeg2、H.264或H.265下,在相同编码参数下(视频编码器的配置参数不变、QL相同),在同一种编码类型下(I帧,P帧或B帧),在同一视频场景下(无场景转换时),视频编码的后的帧数据大小(CFS[N])基本保持一致,没有太大的变化,因此可以根据对已编码的视频帧大小的归纳总结,计算出当前帧编码后的可能大小,从而选择合适的QL,进而控制VBV缓存模块240的缓存区内的数据量在安全范围内。那么:
码率控制模块230根据当前视频帧进行编码后的数据大小的估算值以及从VBV缓存模块240获得的当前VBV Level信息,计算当前视频帧对应的质量级别的过程,包括:
S310、当n′=1时或Fsc[n′]=1时,将当前视频帧的质量级别确定为初始质量级别,具体地:
1)当n′=1时,说明当前视频帧为第1个视频帧,编码还未进行,则将当前视频帧的质量级别确定为初始质量级别,QL初值即初始质量级别的获取过程为:
通过线下对编码器在不同码率下的测试,对此码率下正常工作的QL取平均得到,不同的编码标准分别对应一个码率和QL初值即初始质量级别的对应表,在使用中通过码率查表得到QL初值即初始质量级别。
2)当Fsc[n′]=1时,说明当前视频帧与上一视频帧之间发生场景转换,清空码流控制模块所有内部参数和计算结果,重置QL初值,也就说,将当前视频帧的质量级别确定为初始质量级别;
S311、当n′>1且Fsc[n′]=0时,获取第n′-1个视频帧的质量级别,作为当前视频帧的初始质量级别,判断VBV[n′-1]Level×VBVSizemax+ECFStype[n′]是否在Q1×VBVSizemax~Q2×VBVSizemax之间,若是,则将初始质量级别作为当前视频帧的质量级别,若否,则对初始质量级别进行调整,直至使VBV缓存模块240中的当前缓存数据占总缓存空间的百分比是在预设安全占比范围内,将调整后的初始质量级别作为当前视频帧的质量级别,其中,VBV[n′-1]Level表示第n′-1个视频帧的VBV Level值即VBV Level信息,VBVSizemax表示VBV缓存模块240的总缓存空间的大小,Q1表示第一预设百分比,Q2表示第二预设百分比。
码率控制模块230根据从VBV缓存模块240获得的VBV Level信息、从场景检测模块210获得的当前视频帧对应的场景转换标识以及从视频编码模块220获得的当前视频帧对应编码类型如I帧、P帧或B帧,估算对当前视频帧进行编码所应使用的质量级别(QL),并将质量级别(QL)发送给视频编码模块220,指示视频编码模块220按照该QL进行视频编码。视频编码模块220在按照QL级别进行编码后,会将编码后的帧数据大小发送给码率控制模块230,加强对后续视频帧的码率控制的准确度。
码率控制模块230的目标是使VBV缓存内的数据量在视频编码过程中应始终处于安全范围内,本方案定义安全范围为VBV缓存最大大小的[50%,80%]范围是安全范围,即Q1=50%,Q2=80%。
其中,S311体的具体实现形式为:
S3110、当n′>1且Fsc[n′]=0时,获取第n′-1个视频帧的质量级别,作为当前视频帧的初始质量级别;
S3111、如果VBV[n′-1]Level>80%,此时VBV[n′-1]Level×VBVSizemax没有落在50%×VBVSizemax~80%×VBVSizemax之间,且说明VBV缓存模块240中缓存器中的数据过多,故应当降低当前视频帧对应的质量级别,故令QL[n′]=QL[n′]-1;
S3112、将QL[n′]=QL[n′]-1带入第二公式后,如果VBV[n′-1]Level×VBVSizemax+ECFStype[n]>80%×VBVSizemax,则令QL[n′]=QL[n′]-1。重复此过程,直至VBV[n′-1]Level×VBVSizemax+ECFStype[n′]会落在50%×VBVSizemax~80%×VBVSizemax之间,此时,得到最新的QL[n′]的值,即为调整后的初始质量级别,也就是说,将最新的QL[n′]作为当前视频帧的质量级别。
需要说明的是,可能有多个QL[n′]的值均落在50%×VBVSizemax~80%×VBVSizemax,一般选取第一个落入50%×VBVSizemax~80%×VBVSizemax之间的VBV[n′-1]Level×VBVSizemax+ECFStype[n′]所对应的QL[n′]作为调整后的初始质量级别,能在极大程度上保证当前视频帧的图像质量。
S311具体的具体实现形式还可为:
S3113、当n′>1且Fsc[n′]=0时,获取第n′-1个视频帧的质量级别,作为当前视频帧的初始质量级别;
S3114、如果VBV[n′-1]Level<50%,此时VBV[n′-1]Level×VBVSizemax没有落在50%×VBVSizemax~80%×VBVSizemax之间,且说明VBV缓存模块240中缓存器中的数据过少,故应当提高当前视频帧对应的质量级别,故令QL[n′]=QL[n′]+1;
S3115、将QL[n′]=QL[n′]+1带入第二公式后,如果VBV[n′-1]Level×VBVSizemax+ECFStype[n′]<50%×VBVSizemax,则令QL[n′]=QL[n′]+1。重复此过程,直至VBV[n′-1]Level×VBVSizemax+ECFStype[n′]会落在50%×VBVSizemax~80%×VBVSizemax之间,此时,得到最新的QL[n′],即为调整后的初始质量级别,也就是说,将最新的最新的QL[n′]作为当前视频帧的质量级别。
需要说明的是,可能有多个QL[n′]的值均落在50%×VBVSizemax~80%×VBVSizemax,一般选取最后一个落入50%×VBVSizemax~80%×VBVSizemax之间的VBV[n′-1]Level×VBVSizemax+ECFStype[n′]所对应的QL[n′]作为调整后的初始质量级别,能在极大程度上保证当前视频帧的图像质量。
术语解释:
恒定比特率(Constant BitRate,CBR):恒定(固定)比特率,指传输的每秒钟的码率是固定不变的。CBR的特点是码率平稳,可以减少网络抖动的影响,适合对传输带宽要求严格的应用领域。
视频缓存检验器(Video Buffer Verifier,VBV):是一个当输入码流遵从MPEG标准时,既不会上溢出,也不会下溢出的理论上的解码缓冲器模型。
在上述各实施例中,虽然对步骤进行了编号S1、S2等,但只是本申请给出的具体实施例,本领域的技术人员可根据实际情况调整S1、S2等的执行顺序,此也在本发明的保护范围内,可以理解,在一些实施例中,可以包含如上述各实施方式中的部分或全部。
如图3所示,本发明实施例的一种视频编码恒定比特率控制系统,包括场景检测模块210、视频编码模块220、码率控制模块230和VBV缓存模块240;
场景检测模块210用于:检测输入视频中每相邻两个视频帧是否存在场景转换,生成每个视频帧对应的场景转换标识,并发送至码率控制模块230;
视频编码模块220用于:判定接收到的当前视频帧的编码类型,并把当前视频帧的编码类型发送给码率控制模块230;
码率控制模块230用于:根据当前视频帧对应的场景转换标识、当前视频帧的编码类型以及从VBV缓存模块240获得的当前VBV Level信息,计算当前视频帧对应的质量级别,并将当前视频帧对应的质量级别发送至视频编码模块220,其中,当前VBV Level信息表示:VBV缓存模块240中的当前缓存数据占总缓存空间的百分比;
视频编码模块220还用于:根据当前视频帧对应的质量级别,对当前视频帧进行编码,并将编码后的数据发送至VBV缓存模块240;
VBV缓存模块240用于:接收并缓存编码后的数据,并按照恒定比特率输出,其中,VBVSizemax=VBVDelay×BitRate,BitRate表示恒定比特率,VBVSizemax表示VBV缓存模块240的总缓存空间的大小。
可选地,在上述技术方案中,码率控制模块230计算当前视频帧对应的质量级别的过程,包括:
根据当前视频帧对应的场景转换标识和当前视频帧的编码类型,计算当前视频帧进行编码后的数据大小的估算值;
根据当前视频帧进行编码后的数据大小的估算值以及从VBV缓存模块240获得的当前VBV Level信息,计算当前视频帧对应的质量级别。
可选地,在上述技术方案中,场景检测模块210生成每个视频帧对应的场景转换标识的过程,包括:
对输入视频中的多个视频帧依次设置序号标记,分别为1、2……N-1、N,根据第一公式计算第n个视频帧的场景转换标识Fsc[n],第一公式为:
Figure BDA0003439190790000111
其中,n∈[1,N],
Figure BDA0003439190790000112
S代表第n个视频帧的像素数,Yp[n]表示第n个视频帧中像素序号为p的像素的Y值,Cbp[n]表示第n个视频帧中像素序号为p的像素的Cb值,Crp[n]代表第n个视频帧中像素序号为p的像素的Cr值,k代表第n个视频帧的位深。
可选地,在上述技术方案中,码率控制模块230计算当前视频帧进行编码后的数据大小的估算值的过程,包括:
当当前视频帧的场景转换标识为0时,且当前视频帧不是第1个视频帧时,根据已编码的视频帧的编码后的数据大小,确定当前视频帧进行编码后的数据大小的估算值;
当当前视频帧的场景转换标识为1时,利用第二公式确定当前视频帧进行编码后的数据大小的估算值ECFStype[n′],第二公式为:
Figure BDA0003439190790000121
其中,type表示当前视频帧的编码类型为I帧、P帧或B帧,CFStype[n′-1]表示:当前视频帧的编码类型为I帧、P帧或B帧时,第n′-1个视频帧的编码后的数据大小。
可选地,在上述技术方案中,码率控制模块230根据当前视频帧进行编码后的数据大小的估算值以及从VBV缓存模块240获得的当前VBV Level信息,计算当前视频帧对应的质量级别的过程,包括:
当n′=1时或Fsc[n′]=1时,将当前视频帧的质量级别确定为初始质量级别;
当n′>1且Fsc[n′]=0时,获取第n′-1个视频帧的质量级别,作为当前视频帧的初始质量级别,判断VBV[n′-1]Level×VBVSizemax+ECFStype[n′]是否在Q1×VBVSizemax~Q2×VBVSizemax之间,若是,则将初始质量级别作为当前视频帧的质量级别,若否,则对初始质量级别进行调整,直至使VBV缓存模块240中的当前缓存数据占总缓存空间的百分比是在预设安全占比范围内,将调整后的初始质量级别作为当前视频帧的质量级别,其中,VBV[n′-1]Level表示第n′-1个视频帧的VBV Level值即VBV Level信息,VBVSizemax表示VBV缓存模块240的总缓存空间的大小,Q1表示第一预设百分比,Q2表示第二预设百分比。
上述关于本发明的一种视频编码恒定比特率控制系统中的各参数和各个单元模块实现相应功能的步骤,可参考上文中关于一种视频编码恒定比特率控制方法的实施例中的各参数和步骤,在此不做赘述。
本发明实施例的一种电子设备,包括存储器、处理器及存储在存储器上并在处理器上运行的程序,处理器执行程序时实现上述任一实施的一种视频编码恒定比特率控制方法的步骤。
其中,电子设备可以选用电脑、手机等,相对应地,其程序为电脑软件或手机APP等,且上述关于本发明的一种电子设备中的各参数和步骤,可参考上文中一种视频编码恒定比特率控制方法的实施例中的各参数和步骤,在此不做赘述。
所属技术领域的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。
因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是一一但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM),只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (10)

1.一种视频编码恒定比特率控制方法,其特征在于,包括:
场景检测模块检测输入视频中每相邻两个视频帧是否存在场景转换,生成每个视频帧对应的场景转换标识,并发送至码率控制模块;
视频编码模块判定接收到的当前视频帧的编码类型,并把所述当前视频帧的编码类型发送给所述码率控制模块;
所述码率控制模块根据所述当前视频帧对应的场景转换标识、所述当前视频帧的编码类型以及从VBV缓存模块获得的当前VBV Level信息,计算所述当前视频帧对应的质量级别,并将所述当前视频帧对应的质量级别发送至所述视频编码模块,其中,当前VBV Level信息表示:VBV缓存模块中的当前缓存数据占总缓存空间的百分比;
所述视频编码模块根据所述当前视频帧对应的质量级别,对所述当前视频帧进行编码,并将编码后的数据发送至所述VBV缓存模块;
所述VBV缓存模块接收并缓存编码后的数据,并按照恒定比特率输出,其中,VBVSizemax=VBVDelay×BitRate,BitRate表示所述恒定比特率,VBVSizemax表示所述VBV缓存模块的总缓存空间的大小,VBVDelay表示最大VBV延迟时间。
2.根据权利要求1所述的一种视频编码恒定比特率控制方法,其特征在于,所述码率控制模块计算当前视频帧对应的质量级别的过程,包括:
根据所述当前视频帧对应的场景转换标识和所述当前视频帧的编码类型,计算当前视频帧进行编码后的数据大小的估算值;
根据所述当前视频帧进行编码后的数据大小的估算值以及从VBV缓存模块获得的当前VBV Level信息,计算所述当前视频帧对应的质量级别。
3.根据权利要求1或2所述的一种视频编码恒定比特率控制方法,其特征在于,所述场景检测模块生成每个视频帧对应的场景转换标识的过程,包括:
对输入视频中的多个视频帧依次设置序号标记,分别为1、2……N-1、N,根据第一公式计算第n个视频帧的场景转换标识Fsc[n],所述第一公式为:
Figure FDA0003439190780000021
其中,n∈[1,N],
Figure FDA0003439190780000022
S代表第n个视频帧的像素数,Yp[n]表示第n个视频帧中像素序号为p的像素的Y值,Cbp[n]表示第n个视频帧中像素序号为p的像素的Cb值,Crp[n]代表第n个视频帧中像素序号为p的像素的Cr值,k代表第n个视频帧的位深。
4.根据权利要求3所述的一种视频编码恒定比特率控制方法,其特征在于,所述码率控制模块计算所述当前视频帧进行编码后的数据大小的估算值的过程,包括:
当所述当前视频帧的场景转换标识为0时,且所述当前视频帧不是第1个视频帧时,根据已编码的视频帧的编码后的数据大小,确定所述当前视频帧进行编码后的数据大小的估算值;
当所述当前视频帧的场景转换标识为1时,利用第二公式确定所述当前视频帧进行编码后的数据大小的估算值ECFStype[n],所述第二公式为:
Figure FDA0003439190780000023
Figure FDA0003439190780000024
其中,type表示所述当前视频帧的编码类型为I帧、P帧或B帧,CFStype[n′-1]表示:当前视频帧的编码类型为I帧、P帧或B帧时,第n′-1个视频帧的编码后的数据大小。
5.根据权利要求4所述的一种视频编码恒定比特率控制方法,其特征在于,所述码率控制模块根据所述当前视频帧进行编码后的数据大小的估算值以及从VBV缓存模块获得的当前VBV Level信息,计算所述当前视频帧对应的质量级别的过程,包括:
当n′=1时或Fsc[n′]=1时,将所述当前视频帧的质量级别确定为初始质量级别;
当n′>1且Fsc[n′]=0时,获取第n′-1个视频帧的质量级别,作为当前视频帧的初始质量级别,判断VBV[n′-1]Level×VBVSizemax+ECFStype[n′]是否在Q1×VBVSizemax~Q2×VBVSizemax之间,若是,则将所述初始质量级别作为所述当前视频帧的质量级别,若否,则对所述初始质量级别进行调整,直至使VBV缓存模块中的当前缓存数据占总缓存空间的百分比是在预设安全占比范围内,将调整后的初始质量级别作为所述当前视频帧的质量级别,其中,VBV[n′-1]Level表示第n′-1个视频帧的VBV Level值,VBVSizemax表示所述VBV缓存模块的总缓存空间的大小,Q1表示第一预设百分比,Q2表示第二预设百分比。
6.一种视频编码恒定比特率控制系统,其特征在于,包括场景检测模块、视频编码模块、码率控制模块和VBV缓存模块;
所述场景检测模块用于:检测输入视频中每相邻两个视频帧是否存在场景转换,生成每个视频帧对应的场景转换标识,并发送至所述码率控制模块;
所述视频编码模块用于:判定接收到的当前视频帧的编码类型,并把所述当前视频帧的编码类型发送给所述码率控制模块;
所述码率控制模块用于:根据所述当前视频帧对应的场景转换标识、所述当前视频帧的编码类型以及从VBV缓存模块获得的当前VBV Level信息,计算所述当前视频帧对应的质量级别,并将所述当前视频帧对应的质量级别发送至所述视频编码模块,其中,当前VBVLevel信息表示:VBV缓存模块中的当前缓存数据占总缓存空间的百分比;
所述视频编码模块还用于:根据所述当前视频帧对应的质量级别,对所述当前视频帧进行编码,并将编码后的数据发送至所述VBV缓存模块;
所述VBV缓存模块用于:接收并缓存编码后的数据,并按照恒定比特率输出,其中,VBVSizemax=VBVDelay×BitRate,BitRate表示所述恒定比特率,VBVSizemax表示所述VBV缓存模块的总缓存空间的大小,VBVDelay表示最大VBV延迟时间。
7.根据权利要求6所述的一种视频编码恒定比特率控制系统,其特征在于,所述码率控制模块计算当前视频帧对应的质量级别的过程,包括:
根据所述当前视频帧对应的场景转换标识和所述当前视频帧的编码类型,计算当前视频帧进行编码后的数据大小的估算值;
根据所述当前视频帧进行编码后的数据大小的估算值以及从VBV缓存模块获得的当前VBV Level信息,计算所述当前视频帧对应的质量级别。
8.根据权利要求6或7所述的一种视频编码恒定比特率控制系统,其特征在于,所述场景检测模块生成每个视频帧对应的场景转换标识的过程,包括:
对输入视频中的多个视频帧依次设置序号标记,分别为1、2……N-1、N,根据第一公式计算第n个视频帧的场景转换标识Fsc[n],所述第一公式为:
Figure FDA0003439190780000041
其中,n∈[1,N],
Figure FDA0003439190780000042
S代表第n个视频帧的像素数,Yp[n]表示第n个视频帧中像素序号为p的像素的Y值,Cbp[n]表示第n个视频帧中像素序号为p的像素的Cb值,Crp[n]代表第n个视频帧中像素序号为p的像素的Cr值,k代表第n个视频帧的位深。
9.根据权利要求8所述的一种视频编码恒定比特率控制系统,其特征在于,所述码率控制模块计算所述当前视频帧进行编码后的数据大小的估算值的过程,包括:
当所述当前视频帧的场景转换标识为0时,且所述当前视频帧不是第1个视频帧时,根据已编码的视频帧的编码后的数据大小,确定所述当前视频帧进行编码后的数据大小的估算值;
当所述当前视频帧的场景转换标识为1时,利用第二公式确定所述当前视频帧进行编码后的数据大小的估算值ECFStype[n′],所述第二公式为:
Figure FDA0003439190780000051
Figure FDA0003439190780000052
其中,type表示所述当前视频帧的编码类型为I帧、P帧或B帧,CFStype[n′-1]表示:当前视频帧的编码类型为I帧、P帧或B帧时,第n′-1个视频帧的编码后的数据大小。
10.一种电子设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5任一项所述的一种视频编码恒定比特率控制方法的步骤。
CN202111624083.8A 2021-12-28 2021-12-28 一种视频编码恒定比特率控制方法、系统和电子设备 Pending CN114363618A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111624083.8A CN114363618A (zh) 2021-12-28 2021-12-28 一种视频编码恒定比特率控制方法、系统和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111624083.8A CN114363618A (zh) 2021-12-28 2021-12-28 一种视频编码恒定比特率控制方法、系统和电子设备

Publications (1)

Publication Number Publication Date
CN114363618A true CN114363618A (zh) 2022-04-15

Family

ID=81103069

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111624083.8A Pending CN114363618A (zh) 2021-12-28 2021-12-28 一种视频编码恒定比特率控制方法、系统和电子设备

Country Status (1)

Country Link
CN (1) CN114363618A (zh)

Similar Documents

Publication Publication Date Title
US6704281B1 (en) Bit-rate control in a multimedia device
EP0758509B1 (en) Method and apparatus for preventing overflow and underflow of an encoder buffer in a video compression system
US20110299588A1 (en) Rate control in video communication via virtual transmission buffer
US8760490B2 (en) Techniques for a rate-adaptive video conference bridge
EP3016395B1 (en) Video encoding device and video encoding method
US20150312601A1 (en) Methods and apparatuses including a statistical multiplexer with multiple channel rate control
US20140328384A1 (en) Methods and apparatuses including a statistical multiplexer with global rate control
US20090310672A1 (en) Method and System for Rate Control in a Video Encoder
CN112738516B (zh) 编码方法、装置、存储介质及电子设备
CN102457728A (zh) 一种视频图像编码方法和装置
KR20170106919A (ko) 반도체 장치, 부호화 제어 방법 및 카메라 장치
CN102724502B (zh) 一种视频编码中码率的控制方法及装置
WO2014182389A1 (en) Methods and apparatuses including a statistical multiplexer with bitrate smoothing
US20030007559A1 (en) Apparatus and method for image transmission
JP6089846B2 (ja) 映像配信システム及びデコーダ並びに映像配信方法
CA2524809C (en) Methods and apparatus for improving video quality in statistical multiplexing
CN114363618A (zh) 一种视频编码恒定比特率控制方法、系统和电子设备
KR100498332B1 (ko) 비디오 트랜스코더의 적응적 비트율 제어장치 및 방법
CN116962613A (zh) 数据传输方法及装置、计算机设备、存储介质
US10097609B1 (en) Method and system for dynamically adjusting a data rate of a video stream
WO2015112350A1 (en) Methods and apparatuses for content-adaptive quantization parameter modulation to improve video quality in lossy video coding
WO2012042701A1 (ja) マルチストリーム符号化制御装置及びカメラシステム
CN113422958B (zh) 视频编码frame层码流大小的控制方法、系统及介质
JP4755239B2 (ja) 映像符号量制御方法,映像符号化装置,映像符号量制御プログラムおよびその記録媒体
Pan et al. Content adaptive frame skipping for low bit rate video coding

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