视频编码frame层码流大小的控制方法、系统及介质技术方案

技术编号:30137251 阅读:42 留言:0更新日期:2021-09-23 14:50
本发明专利技术公开了视频编码frame层码流大小的控制方法、系统及介质,其中方法包括:量化参数预测和编码步骤,根据前一个I帧的目标比特数、前一个I帧码流大小以及前一个I帧的量化参数预测当前I帧目标比特数所对应的量化参数,并根据所述量化参数对当前I帧进行编码;量化参数调整和重编码步骤,若当前I帧或P帧编码后比特数不在预设范围内,则根据编码出的比特数对量化参数进行调整,并根据调整后的量化参数对当前I帧或P帧进行重编码。本发明专利技术能够兼顾网络带宽和编码质量,进而提高整体用户体验。进而提高整体用户体验。进而提高整体用户体验。

【技术实现步骤摘要】
视频编码frame层码流大小的控制方法、系统及介质


[0001]本专利技术涉及视频编码
,特别涉及一种视频编码frame层码流大小的控制方法、系统及介质。

技术介绍

[0002]在视频编码过程中,码率控制起着至关重要的作用,尤其是在实时视频编码及网络传输场景中,由于网络带宽的限制,会对编码帧码流大小有一定要求。这种场景一般只I帧和P帧两种类型,此时I、P帧的码流分配比例及控制精准度会对网络传输的流畅度及视频的编码质量产生举足轻重的影响。
[0003]在实时视频编码及网络传输场景中,例如网络通话、视频会议及实时监控场景,编码后的数据被逐帧传送给接收端。由于受网络带宽的影响,会对编码后帧级码流大小的最大值有一定的要求,同时考虑到编码质量,也会要求帧级码流大小不能低于一个最小值。这就要求编码后的帧大小在一定的范围内波动,甚至在某些场景下需要在多个范围内波动。例如在无人机拍摄场景下,随着无人机远离接收终端,数据传输能力下降,此时需要降低帧级码流大小,反之可适当增加,这就要求编码器能根据场景的需求做出适当的调整,在保证编码质量的前提下使数据流畅的传输到接受终端。
[0004]针对此场景,行业内大部分的做法是根据网络环境的优劣或是数据传输能力的强弱来调节码率,寄希望于通过码率控制算法来调节帧级码流大小。这种方案在大部分场景下是可行的,但在码率调节的起始阶段或是视频采集噪点较多的场景下,编码后的帧大小控制不稳定,有时会有激增的情况,在网络带宽受限时这些帧数据大多会发生丢包,这样会对接收端用户带来较差的视觉体验

技术实现思路

[0005]本专利技术旨在至少解决现有技术中存在的技术问题之一。为此,本专利技术提出一种视频编码frame层码流大小的控制方法,能够实时监测每一帧编码后的码流大小,当其过大或者过小时,通过此次编码参数预测出一组更加精确的编码参数进行二次编码,编出一个合理大小的视频帧,这样可以兼顾网络带宽和编码质量,进而提高整体用户体验。
[0006]本专利技术还提出一种视频编码frame层码流大小的控制系统。
[0007]本专利技术还提出一种实施上述方法的计算机可读存储介质。
[0008]根据本专利技术的第一方面实施例的视频编码frame层码流大小的控制方法,包括:量化参数预测和编码步骤,根据前一个I帧的目标比特数、前一个I帧码流大小以及前一个I帧的量化参数预测当前I帧目标比特数所对应的量化参数,并根据所述量化参数对当前I帧进行编码;量化参数调整和重编码步骤,若当前I帧或P帧编码后比特数不在预设范围内,则根据编码出的比特数对量化参数进行调整,并根据调整后的量化参数对当前I帧或P帧进行重编码。
[0009]根据本专利技术的一些实施例,所述量化参数预测和编码步骤还包括:确定当前I帧是
否为第一帧,若是则使用默认初始量化参数进行编码。
[0010]根据本专利技术的一些实施例,所述量化参数预测步骤包括:计算当前I帧的量化参数,公式如下:nQP
cur
=nQP
last
+(nItargetBits/nFrameBits
last

1.0)*10;其中,nQP
cur
表示当前I帧的量化参数,nQP
last
表示上一帧最后一次编码的量化参数,nItargetBits表示I帧目标比特数,nFrameBits
last
表示前一个I帧码流大小;更新所述当前I帧的量化参数为qpMin、qpMax以及nQP
cur
的中间值;其中,qpMin、qpMax表示限制量化参数的范围。
[0011]根据本专利技术的一些实施例,所述量化参数调整步骤包括:确定当前I帧码流大小是否在预设范围内,若否,更新当前I帧的量化参数,包括以下步骤:若nFrameBits
cur
>nIMaxBits,则nQP
dif
=(nFrameBits
cur
/nIMaxBits

1.0)*10;若nFrameBits
cur
<nIMinBits,则nQP
dif
=(nFrameBits
cur
/nIMinBits

1.0)*10;其中,nQP
dif
表示中间参数,nFrameBits
cur
表示当前I帧码流大小,nIMaxBits表示I帧最大比特数,nIMintBits表示I帧最小比特数;将所述当前I帧的量化参数与所述中间参数相加,得到第一量化参数;取qpMin、qpMax以及所述第一量化参数的中间值,作为调整后的量化参数;其中,qpMin、qpMax表示限制量化参数的范围。
[0012]根据本专利技术的一些实施例,所述I帧量化参数调整步骤还包括:确定第一次重编后的当前I帧码流大小是否在预设范围内,若不是,进行第二次重编,包括以下步骤:计算量化参数调整参数:nBitsPerQp=(nFrameBits
cur

nFrameBits
last
)/(nQP
cur

nQP
last
);其中nBitsPerQp表示调整参数,nFrameBits
cur
表示第一次重编后当前I帧码流大小,nFrameBits
last
表示当前I帧第一次编码时的码流大小,nQP
cur
表示第一次重编后当前I帧的量化参数,nQP
last
表示当前I帧第一次编码时的量化参数;若nFrameBits
cur
>nIMaxBits则nQP
dif
=((nFrameBits
cur

nIMaxBits)/nBitsPerQp)+1;若nFrameBits
cur
<nIMinBits则nQP
dif
=((nFrameBits
cur

nIMinBits)/nBitsPerQp)

1;其中,nIMaxBits表示I帧最大比特数,nIMintBits表示I帧最小比特数,nQP
dif
表示中间参数;将所述第一次重编后当前I帧的量化参数与所述中间参数相加,得到第二量化参数;取qpMin、qpMax以及所述第二量化参数的中间值,作为第二次调整后的量化参数;其中,qpMin、qpMax表示限制量化参数的范围。
[0013]根据本专利技术的一些实施例,所述量化参数调整步骤还包括:确定第一次编码后的当前P帧码流大小是否在预设范围内,若不是,更新当前P帧的量化参数,包括以下步骤:若nCurBits
cur
>nPMaxBits则nQP
dif
=(nCurBits
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种视频编码frame层码流大小的控制方法,其特征在于,包括:量化参数预测和编码步骤,根据前一个I帧的目标比特数、前一个I帧码流大小以及前一个I帧的量化参数预测当前I帧目标比特数所对应的量化参数,并根据所述量化参数对当前I帧进行编码;量化参数调整和重编码步骤,若当前I帧或P帧编码后比特数不在预设范围内,则根据编码出的比特数对量化参数进行调整,并根据调整后的量化参数对当前I帧或P帧进行重编码。2.根据权利要求1所述的视频编码frame层码流大小的控制方法,其特征在于,所述量化参数预测和编码步骤还包括:确定当前I帧是否为第一帧,若是则使用默认初始量化参数进行编码。3.根据权利要求1所述的视频编码frame层码流大小的控制方法,其特征在于,所述量化参数预测步骤包括:计算当前I帧的量化参数,公式如下:nQP
cur
=nQP
last
+(nItargetBits/nFrameBits
last

1.0)*10;其中,nQP
cur
表示当前I帧的量化参数,nQP
last
表示上一帧最后一次编码的量化参数,nItargetBits表示I帧目标比特数,nFrameBits
last
表示前一个I帧码流大小;更新所述当前I帧的量化参数为qpMin、qpMax以及nQP
cur
的中间值;其中,qpMin、qpMax表示限制量化参数的范围。4.根据权利要求1所述的视频编码frame层码流大小的控制方法,其特征在于,所述量化参数调整步骤包括:确定当前I帧码流大小是否在预设范围内,若否,更新当前I帧的量化参数,包括以下步骤:若nFrameBits
cur
>nIMaxBits,则nQP
dif
=(nFrameBits
cur
/nIMaxBits

1.0)*10;若nFrameBits
cur
<nIMinBits,则nQP
dif
=(nFrameBits
cur
/nIMinBits

1.0)*10;其中,nQP
dif
表示中间参数,nFrameBits
cur
表示当前I帧码流大小,nIMaxBits表示I帧最大比特数,nIMintBits表示I帧最小比特数;将所述当前I帧的量化参数与所述中间参数相加,得到第一量化参数;取qpMin、qpMax以及所述第一量化参数的中间值,作为调整后的量化参数;其中,qpMin、qpMax表示限制量化参数的范围。5.根据权利要求4所述的视频编码frame层码流大小的控制方法,其特征在于,所述I帧量化参数调整步骤还包括:确定第一次重编后的当前I帧码流大小是否在预设范围内,若不是,进行第二次重编,包括以下步骤:计算量化参数调整参数:nBitsPerQp=(nFrameBits
cur

nFrameBits
last
)/(nQP
cur

nQP
last
);其中nBitsPerQp表示调整参数,nFrameBits
cur
表示第一次重编后当前I帧码流大小,nFrameBits
last
表示当前I帧第一次编码时的码流大小,nQP
...

【专利技术属性】
技术研发人员:周爱斌
申请(专利权)人:珠海全志科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1