登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

面包会有的

... ...

 
 
 

日志

 
 

帧内预测模式的选择  

2011-08-06 10:20:34|  分类: H264 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

一个宏块是16*16像素

宏块亮度块的帧内预测有两种模式,4*4 亮度预测和16*16亮度预测,该用哪种?

当然可以强制用4*4 或用 16*16,但我们搞这么复杂不就是为了压缩吗,所以,不能强制用哪种,而是哪个有利于压缩就用哪种。

 

所以,要选择最佳帧内预测模式,或叫最优帧内预测模式。

 

毕的书上说的选择最优的方法,是用到了一个拉格朗日率失真优化策略(RDO),名字很唬人,不过其实是个纸老虎,但是那一段确实很难看,当时费了老大劲,后来看明白了,才发现是作者描述的有问题,这本书本身就看起来很费劲,该详细的老是简单说一下就过了。

 

第一步,对每个宏块的16个4*4块,计算9种帧内模式下的率失真值(套公式即可),16*9=144 个

第二步,在每个4*4块的9个率失真值中,最小值对应的帧内预测模式,作为最佳4*4帧内预测模式。当然16个4*4亮度块可能采用不同的帧内预测(0、1、2、3、4、5、6、7、8中选择)

第三步,16个最小率失真值相加,得到当前宏块的4*4帧内预测率失真值

把这个值与16*16亮度块的率失真值比较,如果这个小,就用4*4帧内预测,如果16*16时率失真小,就用后者。

 

16*16率失真值的计算同上,16*16亮度块有4种预测方式(0、1、2、3),所以可以得到4个率失真值,最小率失真值对应的预测模式就是最佳16*16帧内预测模式。

 

至于那个公式,也就是求率失真值的公式,就是为了标志或者反映某个模式的效率,比如评价一个人,外表、才能、品德都占一定的比重,然后综合计算得出一个综合分,类似于这个。至于这样评价人是不是合适,鬼才知道,反正总得有个数字比较吧。

 

公式中用到“4*4块和它的重建块之间的”差值平方和,这个差值平方和,就是表示两者之差的,还用到了编码的比特率。

要知道编码的比特率,只有实际的进行一次编码才知道,就像要进行一次实际的解码才能得到重建块,这就是耗时的地方,但不得不这样。

看看,考虑到了差别,也考虑到了码率,那个拉格朗日乘数,是不是就没什么可考虑的了,就一数字罢了,或者说纯粹一经验性的系数。其实没它也照样可以,但人家用了,咱也用吧。

 

要考虑一下的,倒是差值平方和是怎么算的。

4*4块,对于亮度块来说,1个4*4块有16个亮度值,重建块也有16个亮度值,对应位置的亮度值相减,取二次方,相加,估计是这样。

怎么求编码的比特率?

这个应该不需要计算到NAL那个程度,只要各种模式下都用同一个标准就行了,这样可以减小运算量,而且也不影响效果,能分出大小来就可以了。

  评论这张
 
阅读(1557)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018