1.码控目的:
码率控制,就是通过选择一系列编码参数,使得视频编码后的比特率满足所需要的码率限制,并且使得编码失真尽量小。码率控制属于率失真优化的范畴,码率控制算法的重点是确定与码率相关的量化参数(Quantization Parameter,QP).
2.码率控制过程:
H.265/HEVC的码率控制算法仍然可以采用传统的两步骤方式:目标比特分配和量化参数确定。码率控制不属于 H265/HEVC标准化的内容。但由于码率控制是视频编码器中必备的关键模块,因此随着 H265/HEVC标准关键技术的确定,相应的码率控制算法也不断出现。JCTVC-K0103是H265/HEVC测试模型HM10.0的码率控制算法本节将对其进行详细介绍。该码率控制算法主要分为两个步骤:
(1)根据目标码率为不同编码单元分配日标比特数;
(2)根据R与λ,λ与QP的关系模型确定不同编码单元的量化参数;
目标比特分配算法仍采用分级策略(GOP级、图像级、CTU级)依次为不同编码单元分配目标比特。
2.1.GOP级比特分配:
首先计算每幅图片的目标比特数Rpicture,f为帧率,Rtar为目标码率(kb/s,代码实控中会乘以1000)
设视频序列已经编码的帧数为Ncoded,这些帧数用掉的比特数为Rcoded,当前GOP中的图片数量为NGOP ,
SW是平滑比特分配的滑动窗口的大小,用于使得比特消耗变化和编码图片的质量更加平缓,在这里设为40,则GOP级别的比特分配为:
上面第一个式子可以理解成SW窗所有帧数的目标比特数加上剩余或减去超载部分比特数,然后除以SW获得均值;
希望能在SW帧之后达到目标码率,如果SW帧图片可以正好做到每一帧消耗TAvgPic 比特,则上式可以改写为:(与H265书本中相同)