HEVC码率控制提案总结

码率控制提案:
JCTVC-M0036(K0103改进版)
JCTVC-M0037(貌似是仿真结果)
JCTVC-M0257(和帧内有关的码率控制)
JCTVC-K0103(R-lamua)
JCTVC-K0229.doc
JCTVC-H0213(和264差别不大)
HEVC白皮书:
JCTVC-L1003
近期看提案总结:
1、在K0103中采用IBBB帧的结构,主要是为了能够进行随机接入 。随机接入主要用在点播系统当中,在用户需要时,可以在视频中随意进行跳转,而不用等待之前的帧全部都解码完全 。而另一种低延时结构则主要使用IPPP帧的结构,主要用在视频会议等对图像要求比较高 , 而又不随意进行跳转的场合中 。
2、在开始编码是,我们会首先将一个GOP序列全部读入,然后开始编码,广义B帧是在list0和list1中个选取一帧作为参考帧,两帧均为前向参考帧,而严格意义B帧是在list0和list1中分别选取一?。?进行双向预测 。
3、当算法中实现了和标准不一样的东西时,比如改变了码流的结构、GOP的长度等 。在代码段都需要有相应的元素来进行表征和标记 。否则 , 形成的二进制流文件将无法正常解码 。
4、代码中的 计算出了层级数,I帧 标记为0.广义B帧标记为1,其他B帧按照正常的层数进行标记 。
5、在写论文时,要用来画矢量图(.emf.eps),excel只能够暂时用来分析结果 。但是当图片放大之后,excel做出的图形会失真,做出的矢量图片则不会 。
6、R-模型由柯西分布推出,二次率失真模型由拉普拉斯分布推出 。模型的准确性不仅仅依靠模型本身,更重要的是,更新模型参数迭代计算的准确 。
7、在K0103中
在低延时环境情况下,我们设置GOP长度为4 。
在随机接入情况下,我们设置GOP长度为8 。
如果都不满足这两种情况,目前在HM12.0中则不能够处理这种特殊的编码结构 。会输出如下信息 。
printf( "\n hierarchical bit allocation is not support for the specified coding structure currently.\n" );
M0036相对于K0103的改进:
1、修正了参数更新的情况
2、帧级的自适应比特分配
3、重新定义基本单元层的比特分配
4、对于帧内编码图像的码率控制
K0103在HM10中实现,而M0036则在HM10.0上进行改进 。
1、M0036根据的权重来分配比特 。
2、第二个改进没有太看明白 。非常希望大家能够留言指导 。
3、原来HM10.0在实现过程中通过估计预测误差来实现基本单元级的比特分配 。改进之后,基本单元级的比特分配和帧级比特分配类似 。

HEVC码率控制提案总结

文章插图
4、帧内比特分配:
扩大了参数alpha的范围
? one line tobasicrate
? the clip range for
–[0.05, 20]
–[0.05, 500]
?
– intra ,
?Basic unit level bit(-M0257)
– LCUsènext four LCUs

?RDOQbug fix (-M0257)
【HEVC码率控制提案总结】?No pre-isintra