CN109618156A - 一种视频编码码率调整方法 - Google Patents

一种视频编码码率调整方法 Download PDF

Info

Publication number
CN109618156A
CN109618156A CN201811342342.6A CN201811342342A CN109618156A CN 109618156 A CN109618156 A CN 109618156A CN 201811342342 A CN201811342342 A CN 201811342342A CN 109618156 A CN109618156 A CN 109618156A
Authority
CN
China
Prior art keywords
frame
quantization parameter
graphic
current graphics
current
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
CN201811342342.6A
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.)
Jianhu Yunfei Data Technology Co Ltd
Original Assignee
Jianhu Yunfei Data Technology 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 Jianhu Yunfei Data Technology Co Ltd filed Critical Jianhu Yunfei Data Technology Co Ltd
Priority to CN201811342342.6A priority Critical patent/CN109618156A/zh
Publication of CN109618156A publication Critical patent/CN109618156A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明涉及一种视频编码码率调整方法,本发明基于在Hierarchical结构中,不同layer层之间采用不同码率比例可提高视频压缩效率,通过获取待编码的当前图形帧以及层级,根据层级得到当前图形帧对应的实际编码量化参数修正值,获取当前图形帧的对照图形帧对应的参考量化参数,根据参考量化参数以及实际编码量化参数修正值得到当前图形帧对应的实际编码量化参数,根据实际编码量化参数对当前图形帧进行码率分配,采用本发明可以提高编码效率。

Description

一种视频编码码率调整方法
技术领域
本发明涉及视频编码领域,特别是涉及一种视频编码码率调整方法。
背景技术
传统的视频编码技术中,只对帧间预测帧对照图形帧进行码率分配双向帧间预测帧不进行码率控制,且采用最近的帧间预测帧对照图形帧的量化参数进行码率分配,由于其量化参数较为固定,导致其存在较为明显的缺点,视频压缩效率较低。
发明内容
基于此,本发明提供了一种视频编码码率调整方法,
本发明提供的一种视频编码码率调整方法,包括:
获取当前图形帧以及所述当前图形帧的层级;根据所述层级以及预设的量化参数修正值数据库中获得所述当前图形帧对应的实际编码量化参数修正值,其中所述量化参数修正值数据库中维护了视频编码分层结构中每个层级与对应量化参数修正值的对应关系;获取所述当前图形帧对应的对照图形帧的对照帧类型及其实际编码量化参数,其中所述对照图形帧的对照帧类型为双向帧间预测帧B帧,根据所述对照帧类型以及所述实际编码量化参数得到所述对照图形帧对应的参考量化参数;获取所述各个对照图形帧与所述当前图形帧之间的帧间距,根据得到的所述帧间距得到所述当前对照图形帧对应的权重,所述帧间距与权重为负相关关系,根据所述各个对照图形帧对应的权重以及对应的参考量化参数得到所述当前图形帧对应的第一量化参数;根据所述当前图形帧对应的第一量化参数以及所述实际编码量化参数修正值得到所述当前图形帧对应的实际编码量化参数,根据所述实际编码量化参数对所述当前图形帧进行码率分配。
进一步地,所述根据所述实际编码量化参数对所述当前图形帧进行码率分配的步骤包括:
根据所述实际编码量化参数得到所述当前图形帧对应的当前量化步长;根据所述当前量化步长对所述当前图形帧进行码率分配,得到所述当前图形帧对应的当前码率;获取预设的所述层级的图形帧与单向预测帧之间的量化修正参数;根据所述当前图形帧对应的当前码率以及所述量化修正参数得到对应的计算度更新数值;根据所述当前图形帧的前向图形帧对应的图像复杂度参数以及所述计算度更新数值得到更新后的图像复杂度参数;获取所述当前图形帧对应的的编码在后的后向图形帧对应的帧类型;当所述后向图形帧为非双向预测帧时,根据预设的码率控制模型以及所述更新后的图像复杂度参数得到所述后向图形帧对应的量化参数。
本发明提供的上述视频编码码率调整方法,当要对当前图形帧进行码率分配时,获取当前图形帧在所在的图形帧组中所处的层级,然后根据层级得到当前图形帧对应的量化参数修正值,并获取当前图形帧的对照图形帧对应的参考量化参数,根据参考量化参数以及量化参数修正值得到当前图形帧对应的实际编码量化参数,由此根据实际编码量化参数对当前图形帧进行码率分配,由于通过待编码的当前图形帧所处的层次对应的量化参数修正值以及对照图形帧对应的实际编码量化参数得到当前图形帧对应的实际编码量化参数,计算复杂度小,而且适应不同层次图形帧的需要灵活改变量化参数修正值,编码效率高。
附图说明
图1为一个实施例中提供的视频编码码率调整方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例提供的一种视频编码码率调整方法,参考图1所示,主要包括如下步骤:
步骤1、获取当前图形帧以及所述当前图形帧的层级;
步骤2、根据所述层级以及预设的量化参数修正值数据库中获得所述当前图形帧对应的实际编码量化参数修正值,其中所述量化参数修正值数据库中维护了视频编码分层结构中每个层级与对应量化参数修正值的对应关系;
步骤3、获取所述当前图形帧对应的对照图形帧的对照帧类型及其实际编码量化参数,其中所述对照图形帧的对照帧类型为双向帧间预测帧B帧,根据所述对照帧类型以及所述实际编码量化参数得到所述对照图形帧对应的参考量化参数;
步骤4、获取所述各个对照图形帧与所述当前图形帧之间的帧间距,根据得到的所述帧间距得到所述当前对照图形帧对应的权重,所述帧间距与权重为负相关关系,根据所述各个对照图形帧对应的权重以及对应的参考量化参数得到所述当前图形帧对应的第一量化参数;
步骤5、根据所述当前图形帧对应的第一量化参数以及所述实际编码量化参数修正值得到所述当前图形帧对应的实际编码量化参数,根据所述实际编码量化参数对所述当前图形帧进行码率分配。
在进行视频编码时,由于视频图像中每一帧的内容不同,复杂度也不同,因此编码每一帧图像比特数都是不断的变化的,而传输信道也在不断的变化,因此,需要设置编码器缓冲区来平衡编码比特率以及带宽。
在一个具体的实施例中,所述方法具体可以包括以下步骤:
步骤一,获取待编码的当前图形帧。
具体地,视频是由图像序列组成的。每一张图像可以视为一帧。当前图形帧指当前需要进行码率分配的图形帧。当要对视频进行码率分配时,将视频图像序列输入到视频编码器中,视频编码器根据预设的顺序获取待编码的图形帧进行码率分配。
步骤二,获取当前图形帧在所在的图形帧组中所处的层级,图形帧组包括多个图形帧,图形帧组中图形帧的层次根据预设的编码层次结构得到。
图形帧组(Group Of Picture、GOP)是指一组连续的图像,可以将视频图像序列中连续的几幅图形帧组成一个小组,以方便进行随机存取编辑。一个图形帧组中的图形帧的个数具体可以根据实际需要进行设置,例如可以为8。图形帧组中可以包括I帧、P帧和B帧三种类型的帧。其中I帧为帧内预测帧,P帧为单向预测帧,可以采用帧间预测方式进行预测。B帧为双向预测帧,可以参考前面的图形帧也可以参考后面的图形帧进行预测。可伸缩视频编码(Scalable Video Coding,SVC)技术把视频信号进行分层编码,以能够动态地适应网络带宽变化以及满足用户需求。编码层次结构是预先设置的,可以设置编码层次结构中层次的个数、各个层次对应的图形帧以及图形帧之间的参考关系。编码层次结构中,高层次的图形帧可以参考低层次的图形帧进行码率分配。编码层次结构中的层次具体可以根据实际需要设置,例如,图形帧组的层次可以为2层、 3层或者4层。根据编码层次结构得到图形帧组中图形帧的编码顺序,对图形帧组中的图形帧进行码率分配,得到当前图形帧后,可以得到当前图形帧对应的层级。
以预设的编码层次结构为时间分层B帧编码层次结构为例,一个图形帧组包括8个图形帧,图形帧组的B帧分为3层:B0层、B1层以及B2层,其中 B0层为第4个B帧,B1层为第2以及第6个B帧,剩余的为B2层。在分层编码层次结构中,高层次的图形帧可以参考低层次的图形帧进行码率分配,例如, B0层的图形帧的对照图形帧为两端的P帧。B2层的图形帧可以参考B1层的图形帧进行码率分配。可以理解,时间分层B帧编码结构并不限于三层编码结构,例如可以是两层、四层等编码结构。
步骤三,根据层级得到当前图形帧对应的实际编码量化参数修正值。
图形帧进行预测得到的预测残差进行变换后需要进行量化以达到降低数据量的目的,量化时将预测残差进行离散余弦变换后的值映射成较小的数值,例如可以通过除以量化步长得到一个较小的值。量化参数是量化步长的序号,根据量化参数可以查找到对应的量化步长。量化参数小,则图形帧的大部分的细节都会被保留,对应的码率高。量化参数大,则对应的码率低,但图像失真较大、质量不高。即量化参数和码率成负相关的关系,在编码过程中码率控制的基本方法就是通过调整量化参数,控制图像对应的码率。量化参数修正值指编码的图形帧相对于其对照图形帧的量化参数偏移值。可以预先设置每一个层次对应的量化参数修正值,具体可以根据实际需要进行设置。由于在分层编码结构中,高层次的图形帧可以参考低层次的图形帧进行码率分配,故层次较高的图形帧被参考次数较少,层次较低的图形帧被参考次数多,因此可以设置层次高的量化参数对应的量化参数修正值大。即图形帧的层次与量化参数修正值为正相关关系,以提高视频编码的压缩效率。
步骤四,获取当前图形帧的对照图形帧对应的参考量化参数。
对照图形帧用于对编码的图形帧进行预测,对照图形帧的选取方法可以根据实际需要进行设置。对照图形帧是从当前图形帧的候选对照图形帧列表中选取出来的对照图形帧。对照图形帧例如可以基于空间相似度等进行选择。在一个实施例中,以当前图形帧为B帧即双向预测帧为例,每一个B帧有两个候选对照图形帧序列,可以分别取两个候选对照图形帧序列的第一个图形帧作为对照图形帧。参考量化参数可以是对照图形帧进行码率分配时的实际编码量化参数。在一个实施例中,还可以结合对照图形帧对应的实际编码量化参数以及对应的量化参数修正值得到参考量化参数。例如,参考量化参数为对照图形帧对应的实际编码量化参数减去该对照图形帧对应的量化参数修正值。在一个实施例中,若对照图形帧中有多个实际编码量化参数,例如各个编码单元对应一个量化参数,则参考量化参数可以是对照图形帧中量化参数的平均值。
在该步骤四中,获取当前图形帧的对照图形帧对应的参考量化参数的步骤包括:
第一,获取对照图形帧的对照帧类型以及对照图形帧的实际编码量化参数。
对照帧类型可以包括I帧、B帧以及P帧。对照图形帧的类型具体可以根据需要设置或者由不同的视频编码标准设置。例如一些视频编码标准如H26.3中, B帧不能作为对照图形帧。而在一些视频编码标准中,B帧能够作为对照图形帧。对照图形帧的实际编码量化参数是指对对照图形帧进行码率分配时采用的量化参数。
第二,根据对照帧类型以及实际编码量化参数得到对照图形帧对应的参考量化参数。
可以根据对照帧类型的不同,对对照图形帧对应的实际编码量化参数进行调整得到参考量化参数。例如对于I帧以及P帧,可以将对照图形帧对应的实际编码量化参数作为参考量化参数。对于B帧,由于B帧有多个层次,不同层次对应的量化参数修正值不同,因此可以结合量化参数修正值以及实际编码量化参数得到参考量化参数。例如,当对照图形帧为B帧时,将对照图形帧对应的实际编码量化参数减去对照图形帧对应的量化参数修正值得到参考量化参数。
步骤五,根据参考量化参数以及实际编码量化参数修正值得到当前图形帧对应的实际编码量化参数。
结合参考量化参数以及实际编码量化参数修正值得到当前图形帧对应的实际编码量化参数。在一个实施例中,实际编码量化参数可以是参考量化参数与实际编码量化参数修正值的和。在一个实施例中,当当前图形帧是双向预测帧时,由于对照图形帧有两个,因此还可以结合对照图形帧与当前图形帧的帧间距得到实际编码量化参数。例如,设置帧间距对应的权重,根据对照图形帧对应的权重以及对照图形帧的实际编码量化参数得到该对照图形帧对应的影响值,再根据影响值以及实际编码量化参数修正值得到实际编码量化参数。
在该步骤五中,当前图形帧为双向预测帧,根据层级得到当前图形帧对应的实际编码量化参数修正值的步骤包括:
第一、获取预设的层级的图形帧与单向预测帧之间的量化修正参数。可以为各个编码结构的层次设置对应的量化修正参数。量化参数修正值是根据量化修正参数计算得到的。可以根据量化步长与量化参数的对应关系得到由量化修正参数得到量化偏移量的公式,例如对于目前的亮度编码而言,量化步长共有 52个值,为0~51之间的整数,且量化参数与量化步长具有相关性,量化参数随着量化步长的增加而增加,每当量化参数增加6,量化参数便增加一倍而言,量化参数修正值为以2为底的量化修正参数的对数与6的乘积。用公式表示如下: pbOffset_i=6*log2(pbFactor_i)..表示其中,PbOffset_i表示第i层对应的量化参数修正值,PbFactor_i表示第i层对应的量化修正参数。量化修正参数具体数值可以根据需要或者经验预先设置。由于高层次的图形帧被参考的次数少,因此可以量化修正参数与编码层次结构的层次可以成正相关关系。即层次高,对应的量化修正参数大。因此高层次对应的量化参数大,码率也低。在一个实施例中, B0层、B1层以及B2层对应的量化修正参数可以分别为1.05、1.10、以及1.15。
第二、根据量化修正参数得到当前图形帧对应的实际编码量化参数修正值。得到量化修正参数后,可以根据得到的量化修正参数以及对应的计算公式得到当前图形帧对应的实际编码量化参数修正值。
步骤六,根据实际编码量化参数对当前图形帧进行码率分配。
具体包括,根据实际编码量化参数得到当前图形帧对应的当前量化步长,得到实际编码量化参数后,根据量化参数与量化步长的对应关系得到实际编码量化参数对应的量化步长作为当前量化步长。以及根据当前量化步长对当前图形帧进行码率分配,得到当前图形帧对应的当前码率,码率是指单位时间传送的数据位数。当前码率是指以当前量化步长对当前图形帧编码进行码率分配后对应的码率。码率单位可以为每秒传输的比特数,码率越高,传送数据速度越快。根据当前量化步长进行码率分配,得到编码后当前图形帧对应的当前码率。
预先设置有量化参数与量化步长的对应关系,因此可以根据实际编码量化参数获取到对应的量化步长,根据量化步长对当前图形帧进行量化编码。例如,一般而言,量化的原理用公式表示如下:FQ=round(y/Qstep)。其中,y为量化之前图形帧对应的值,Qstep为量化步长,FQ为y的量化值。Round(x)函数指将量化后的值进行四舍五入取偶。量化参数与量化步长的对应关系具体可以根据需要进行设置。例如,在目前的视频编码标准中,对于亮度编码而言,量化步长共有52个值,为0~51之间的整数,对于色度编码,量化步长的取值为0~39 之间的整数,且量化步长随着量化参数的增加而增加,每当量化参数增加6,量化步长便增加一倍。可以理解,当量化参数与量化步长的对应关系中量化参数均为整数时,可以对实际编码量化参数进行取整,取整方法可以是四舍五入取整数。
上述视频编码码率调整方法可以用于视频文件的压缩,例如微信小视频的压缩。当要对当前图形帧进行码率分配时,获取当前图形帧在所在的图形帧组中所处的层级,然后根据层级得到当前图形帧对应的量化参数修正值,并获取当前图形帧的对照图形帧对应的参考量化参数,根据参考量化参数以及量化参数修正值得到当前图形帧对应的实际编码量化参数,由此根据实际编码量化参数对当前图形帧进行码率分配,由于通过待编码的当前图形帧所处的层次对应的量化参数修正值以及对照图形帧对应的实际编码量化参数得到当前图形帧对应的实际编码量化参数,计算复杂度小,而且适应不同层次图形帧的需要灵活改变量化参数修正值,编码效率高。
当当前图形帧为B帧即双向预测帧时,可以采用本发明实施例提供的根据对照图形帧的参考量化参数以及实际编码量化参数修正值得到实际编码量化参数的方法。而当当前图形帧为P帧,则可以根据码率控制模型计算得到当前图形帧对应的实际编码量化参数,以控制码率,避免码率误差大。码率控制模型可以采用RM8(reference mode 8)以及VM8(verification mode 8)等,具体不做限制。而当当前图形帧为I帧时,可以采用码率控制模型计算得到当前图形帧对应的实际编码量化参数,也可以设置P帧相对于I帧的量化参数修正值,然后根据P帧对应的量化参数以及P帧相对于I帧的量化参数修正值得到当前图形帧对应的实际编码量化参数。在一个实施例中,I帧对应的量化参数为P帧对应的实际编码量化参数减去P帧相对于I帧的量化参数修正值,即I帧比P帧对应的量化参数小,I帧对应的编码精度高,图像失真度小。可以选择与I帧最近的P 帧对应的实际编码量化参数减去P帧相对于I帧的量化参数修正值。
当前图形帧为双向预测帧,根据对照帧类型以及实际编码量化参数得到对照图形帧对应的参考量化参数的步骤包括:当对照帧类型为双向预测帧时,获取对照图形帧在所在的图形帧组中所处的层次。根据对照图形帧在图形帧组中所处的层次得到对照图形帧对应的参考量化参数修正值。根据实际编码量化参数以及对照图形帧对应的参考量化参数修正值得到述对照图形帧对应的参考量化参数。
参考量化参数修正值指对照图形帧所在层次对应的量化参数修正值。由于图形帧为双向预测帧时,需要根据图形帧对应的层级得到量化参数修正值,并根据量化参数修正值以及对照图形帧的参考量化参数得到对应的实际编码量化参数,因此,若对照图形帧为双向预测帧时,对照图形帧对应的实际编码量化参数也是利用本身所在的层次对应的量化参数修正值以及其对照图形帧对应的参考量化参数得到的。因此当对照图形帧为双向预测帧时,需要获取对照图形帧在图形帧组所处的层次,并根据对照图形帧在图形帧组中所处的层次得到对照图形帧对应的参考量化参数修正值。然后根据对照图形帧的实际编码量化参数以及对照图形帧对应的参考量化参数修正值得到述对照图形帧对应的参考量化参数。例如,参考量化参数为实际编码量化参数与参考量化参数修正值的差。具体可以根据需要进行设置。
步骤七,获取预设的层级的图形帧与单向预测帧的量化修正参数。
量化参数修正值是根据量化修正参数计算得到的。由于当前图形帧的实际编码量化参数是根据当前图形帧的实际编码量化参数修正值得到的,所以在计算图像复杂度参数时可以根据量化修正参数对当前图形帧对应的码率进行矫正,得到矫正后的码率再计算对应的图像复杂度参数,以提高图像复杂度参数的准确性。
步骤八,根据当前图形帧对应的当前码率以及量化修正参数得到对应的计算度更新数值。
图像复杂度参数用于表示图形帧的复杂程度。图像复杂度参数是码率控制模型中的一个参数,用于计算图形帧的量化步长。图像复杂度参数越大,则说明图像纹理等信息越复杂,需要较高的码率进行传输。计算度更新数值用于对图像复杂度参数进行更新,以能够动态地更新图像的复杂度参数。
步骤九,根据当前图形帧的前向图形帧对应的图像复杂度参数以及计算度更新数值得到更新后的图像复杂度参数。
前向图形帧对应的图像复杂度参数指前向图形帧编码后更新得到的图像复杂度参数。前向图形帧指在当前图形帧之前进行码率分配的图形帧。可以是上一图形帧,以能够及时更新图像复杂度参数,当然也可以是其他前向图形帧,具体可以根据需要进行设置。利用计算度更新数值对前向图形帧对应的图像复杂度参数进行更新,得到更新后的图像复杂度参数,从而对码率控制模型中的图像复杂度参数进行更新。
计算度更新数值根据当前图形帧对应的矫正码率以及当前量化步长得到。更新后的图像复杂度参数可以是当前图形帧的前向图形帧对应的图像复杂度参数与计算度更新数值的和,用公式表示如下:
其中,设当前图形帧的顺序为第j帧,前向的上一帧为j-1帧,编码第j-1图形帧之后的复杂度参数为cplxsumj-1,Bitj是第j帧即当前图形帧对应的码率,Scalej是第j帧对应的当前量化步长,若当前图形帧分为多个编码单元,各个编码单元对应一个量化步长,则Scalej可以是当前图形帧对应的平均量化步长。pbFactor_i表示第i层双向预测帧与单向预测帧的量化修正参数。pre_paramj是第j帧的预分析参数,可以为第j帧即当前图形帧对应的SAD(Sum of AbsoluteDifference,绝对误差和),SAD指当前图形帧的预测值与实际值的绝对误差和。
步骤十,获取当前图形帧对应的的编码在后的后向图形帧对应的帧类型。
前向图形帧指在当前图形帧之后进行码率分配的图形帧。可以是下一图形帧,当然也可以是其他后向图形帧,具体可以根据需要进行设置。帧的类型可以包括包括I帧、B帧以及P帧。
步骤十一,当后向图形帧为非双向预测帧时,根据预设的码率控制模型以及更新后的图像复杂度参数得到后向图形帧对应的量化参数。
非双向预测帧包括I帧和P帧,当然也可以是P帧才根据预设的码率控制模型以及更新后的图像复杂度参数得到后向图形帧对应的量化参数。码率控制模型中图像复杂度参数为模型参数,因此利用更新后的图像复杂度参数更新码率控制模型,根据码率控制模型得到后向图形帧对应的量化参数。码率控制模型具体可以根据需要进行设置。例如可以是TM5(test mode 5)算法。由于在后向图形帧为非双向预测帧时采用码率控制模型计算后向图形帧的量化参数,因此可以使得视频码率的误差不会随着图形帧的增多而过大。
步骤十二,获取各个对照图形帧与当前图形帧之间的帧间距。
具体地,帧间距可以用图形帧与图形帧间隔的帧数表示,也可以用图形帧与图形帧之间的显示时间的时间差表示。图形帧与图形帧间隔的帧数可以用图形帧之间的显示顺序差表示。例如,若对照图形帧为图形帧组的第2帧,当前图形帧为同一个图形帧组的第6帧,则帧间距为4。对照图形帧可以为2个,例如,B帧的对照图形帧为2个。
步骤十三,根据各个对照图形帧与当前图形帧之间的帧间距以及对应的参考量化参数计算得到当前图形帧对应的第一量化参数。
可以设置帧间距对应的比例系数,然后根据比例系数以及对应的参考量化参数得到图形帧对应的第一量化参数。在一个实施例中,可以根据当前对照图形帧与当前图形帧之间的帧间距得到当前对照图形帧对应的权重,然后根据各个对照图形帧对应的权重以及对应的参考量化参数得到当前图形帧对应的第一量化参数。帧间距与权重可以为负相关关系,使得离当前图形帧间距近的对照图形帧对应的量化参数对当前图形帧的量化参数影响大。在一个实施例中,权重可以是帧间距的倒数。
以当前图形帧为双向预测帧,对照图形帧有两个,第一个对照图形帧和当前图形帧间距为n1帧,第一个对照图形帧的参考量化参数等于qp1,第二个对照图形帧和当前图形帧间距为n2帧,第二个对照图形帧的参考量化参数等于qp2。其中n1和n2都是正整数,则第一量化参数等于两个对照图形帧的参考量化参数与权重的加权平均值,其中第一个对照图形帧的量化参数的权重为第二对照图形帧和当前图形帧的帧间距与总的帧间距的比例。第二个对照图形帧的量化参数的权重为第一对照图形帧和当前图形帧的帧间距与总的帧间距的比例,根据各个对照图形帧与当前图形帧之间的帧间距以及对应的参考量化参数计算得到当前图形帧对应的第一量化参数可以如下公式所示。
步骤十四,根据当前图形帧对应的第一量化参数以及实际编码量化参数修正值得到当前图形帧对应的实际编码量化参数。
具体地,结合第一量化参数以及实际编码量化参数修正值得到当前图形帧对应的实际编码量化参数。在一个实施例中,实际编码量化参数可以是第一量化参数与实际编码量化参数修正值的和。
在一个实施例中,当前图形帧为双向预测帧,对照图形帧为两个。步骤S210 即根据参考量化参数以及实际编码量化参数修正值得到当前图形帧对应的实际编码量化参数的步骤还包括判断对照图形帧是否为I帧,在一个实施例中,若对照图形帧中的其中一个对照图形帧为I帧,另一个对照图形帧为P帧,则不执行步骤S802~806,并根据帧类型为P帧的对照图形帧对应的参考量化参数以及实际编码量化参数修正值的和得到当前图形帧对应的实际编码量化参数。在一个实施例中,若对照图形帧中的其中一个对照图形帧为I帧,另一个对照图形帧为 B帧,则不执行步骤S802~806,并根据帧类型为B帧的对照图形帧对应的参考量化参数以及实际编码量化参数修正值的和得到当前图形帧对应的实际编码量化参数。在一个实施例中,若对照图形帧中的两个图形帧均为I帧,则可以根据两个对照图形帧的实际编码量化参数的得到第二量化参数,再根据第二量化参数以及预设数值的和得到实际编码量化参数。第二量化参数可以是两个对照图形帧的实际编码量化参数的均值。预设数值可以根据实际需要进行设置。例如,预设数值可以为P帧相对于I帧的量化参数修正值。
以下以时间分层B帧编码层次结构,图形帧组包括8个图形帧,8个图形帧的类型为前7个为B帧,最后一个为P帧,对本实施例提供的视频编码码率调整方法进行说明。
1、图形帧组中第一个进行码率分配的图形帧为最后一个图形帧,因此获取图形帧组最后一个图形帧,由于当前图形帧为P帧,因此根据设置的码率控制模型以及目标码率计算图形帧组最后一个图形帧的量化参数,根据计算得到的量化参数对该图形帧进行码率分配。
2、获取图形帧组的第4个图形帧,得到第4个图形帧为B帧,且为B0层,因此获取B0层对应的量化参数修正值。
3、获取第4个图形帧的2个对照图形帧,得到这2个对照图形帧对应的实际编码量化参数以及帧类型,若对照图形帧是B帧,则获取对照图形帧所处的层次对应的量化参数修正值,计算对照图形帧对应的实际编码量化参数与量化参数修正值的差值,得到每个对照图形帧对应的参考量化参数。若对照图形帧是I帧或者P帧,将对照图形帧对应的实际编码量化参数作为参考量化参数。
4、若第4个图形帧的2个对照图形帧中有一个是I帧,则将非I帧的对照图形帧的参考量化参数与B0层对应的量化参数修正值相加,得到第4个图形帧对应的实际编码量化参数,即实际编码量化参数。若第4个图形帧的2个对照图形帧中都是I帧,则计算两个对照图形帧对应的参考量化参数的均值,均值与设置的P帧相对于I帧的量化参数修正值相加,再加上与B0层对应的量化参数修正值,得到第4个图形帧对应的实际编码量化参数。若若第4个图形帧的2 个对照图形帧中都不是I帧,则获取这两个对照图形帧分别与第4个图形帧的帧间距,根据帧间距计算得到对照图形帧对应的权重,然后根据各个图形帧对应的权重以及对应的参考量化参数得到加权平均值,将得到的加权平均值与B0层对应的量化参数修正值相加得到第4个图形帧对应的实际编码量化参数。
5、根据第4个图形帧对应的实际编码量化参数对第4个图形帧进行码率分配。
6、获取第4个图形帧对应的码率以及B0层对应的量化修正参数,计算得到第4个图形帧对应的图像复杂度参数,并利用第4个图形帧对应的图像复杂度参数更新码率控制模型中的图像复杂度参数。
7、依次获取第2个图形帧,第6个图形帧、第1个图形帧、第3个图形帧、第5个图形帧、第7个图形帧进行码率分配,编码的流程可以参照第4个图形帧的在步骤2~6所执行的流程,在此不再赘述。
8、根据获取下一图形帧组的最后一个图形帧,即P帧,根据码率控制模型以及第7个图形帧对应的图像复杂度参数计算得到下一图形帧组的最后一个图形帧对应的量化参数。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (2)

1.一种视频编码码率调整方法,其特征在于,所述方法包括:
获取当前图形帧以及所述当前图形帧的层级;
根据所述层级以及预设的量化参数修正值数据库中获得所述当前图形帧对应的实际编码量化参数修正值,其中所述量化参数修正值数据库中维护了视频编码分层结构中每个层级与对应量化参数修正值的对应关系;
获取所述当前图形帧对应的对照图形帧的对照帧类型及其实际编码量化参数,其中所述对照图形帧的对照帧类型为双向帧间预测帧B帧,根据所述对照帧类型以及所述实际编码量化参数得到所述对照图形帧对应的参考量化参数;
获取所述各个对照图形帧与所述当前图形帧之间的帧间距,根据得到的所述帧间距得到所述当前对照图形帧对应的权重,所述帧间距与权重为负相关关系,根据所述各个对照图形帧对应的权重以及对应的参考量化参数得到所述当前图形帧对应的第一量化参数;
根据所述当前图形帧对应的第一量化参数以及所述实际编码量化参数修正值得到所述当前图形帧对应的实际编码量化参数,根据所述实际编码量化参数对所述当前图形帧进行码率分配。
2.根据权利要求1所述的方法,其特征在于,所述根据所述实际编码量化参数对所述当前图形帧进行码率分配的步骤包括:
根据所述实际编码量化参数得到所述当前图形帧对应的当前量化步长;
根据所述当前量化步长对所述当前图形帧进行码率分配,得到所述当前图形帧对应的当前码率;
获取预设的所述层级的图形帧与单向预测帧之间的量化修正参数;
根据所述当前图形帧对应的当前码率以及所述量化修正参数得到对应的计算度更新数值;
根据所述当前图形帧的前向图形帧对应的图像复杂度参数以及所述计算度更新数值得到更新后的图像复杂度参数;
获取所述当前图形帧对应的的编码在后的后向图形帧对应的帧类型;
当所述后向图形帧为非双向预测帧时,根据预设的码率控制模型以及所述更新后的图像复杂度参数得到所述后向图形帧对应的量化参数。
CN201811342342.6A 2018-11-13 2018-11-13 一种视频编码码率调整方法 Pending CN109618156A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811342342.6A CN109618156A (zh) 2018-11-13 2018-11-13 一种视频编码码率调整方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811342342.6A CN109618156A (zh) 2018-11-13 2018-11-13 一种视频编码码率调整方法

Publications (1)

Publication Number Publication Date
CN109618156A true CN109618156A (zh) 2019-04-12

Family

ID=66003766

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811342342.6A Pending CN109618156A (zh) 2018-11-13 2018-11-13 一种视频编码码率调整方法

Country Status (1)

Country Link
CN (1) CN109618156A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112165620A (zh) * 2020-09-24 2021-01-01 北京金山云网络技术有限公司 视频的编码方法及装置、存储介质、电子设备
CN112165618A (zh) * 2020-09-27 2021-01-01 北京金山云网络技术有限公司 一种视频编码方法、装置、设备和计算机可读存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112165620A (zh) * 2020-09-24 2021-01-01 北京金山云网络技术有限公司 视频的编码方法及装置、存储介质、电子设备
CN112165618A (zh) * 2020-09-27 2021-01-01 北京金山云网络技术有限公司 一种视频编码方法、装置、设备和计算机可读存储介质
CN112165618B (zh) * 2020-09-27 2022-08-16 北京金山云网络技术有限公司 一种视频编码方法、装置、设备和计算机可读存储介质

Similar Documents

Publication Publication Date Title
CN103561266B (zh) 基于对数r-q模型和层次化比特分配的码率控制方法
CN109819253A (zh) 视频编码方法、装置、计算机设备和存储介质
CN103024387B (zh) 一种基于感知的多视点视频码率控制方法
RU2420914C1 (ru) Способ и устройство управления скоростью кодирования и носитель информации, который хранит программу для этого
CN109862359A (zh) 基于分层b帧的码率控制方法、装置和电子设备
CN102186084B (zh) 一种可伸缩视频编码svc的空间增强层码率控制实现方法
CN101572806B (zh) 一种基于h.264的i帧码率控制方法
CN102137258B (zh) 一种立体视频码率控制方法
CN1910934A (zh) 自适应速率控制编码器
CN101795415A (zh) 一种视频编码中的码率控制方法及其装置
CN101159867A (zh) 一种基于片的自适应码率控制方法
CN101917614A (zh) 一种基于h.264分层b帧编码结构的码率控制方法
CN101895758B (zh) 基于帧复杂度的h.264码率控制方法
CN102938840A (zh) 应用于多视点视频编码***的关键帧量化参数选择方法
CN103501438B (zh) 一种基于主成分分析的内容自适应图像压缩方法
CN110225343A (zh) 一种视频编码的码率控制方法及装置
CN104159095B (zh) 一种多视点纹理视频和深度图编码的码率控制方法
CN108200431A (zh) 一种视频编码码率控制帧层比特分配方法
CN106937112A (zh) 基于h.264视频压缩标准的码率控制方法
CN104754335B (zh) 一种视频编码码率控制方法
CN107707918A (zh) 基于hevc/h.265平均码率控制的优化算法
CN101917618B (zh) 多视点视频编码分层b帧预测结构的计算复杂度控制方法
CN109618156A (zh) 一种视频编码码率调整方法
CN100448295C (zh) 一种低复杂度的积分码率控制方法
CN101420601B (zh) 视频编码中码率控制的方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20190412

WD01 Invention patent application deemed withdrawn after publication