H264-帧内预测

H264-帧内预测

帧内预测分为两步走,分别是推导预测模式和获取预测数据。

1推导预测模式

根据相邻块的预测模式推导当前块的预测模式。
现在我们已经获得的信息有:

  • 左方相邻块A的预测模式;
  • 上方相邻块B的预测模式;
  • 码流中读取的语法元素prev_intra4x4_pred_mode_flag;
    从上述数据中获取当前块的预测模式的方式在文档8.3.1.1中如下表示:
predIntra4x4PredMode = Min( intraMxMPredModeA, intraMxMPredModeB )
if( prev_intra4x4_pred_mode_flag[ luma4x4BlkIdx ] )
    Intra4x4PredMode[ luma4x4BlkIdx ] = predIntra4x4PredMode
else
    if( rem_intra4x4_pred_mode[ luma4x4BlkIdx ] < predIntra4x4PredMode )
        Intra4x4PredMode[ luma4x4BlkIdx ] = rem_intra4x4_pred_mode[ luma4x4BlkIdx ]
else
    Intra4x4PredMode[ luma4x4BlkIdx ] = rem_intra4x4_pred_mode[ luma4x4BlkIdx ] 
  1. 从左侧和上方相邻块的预测模式中选取较小的一个作为预先定义模式。
  2. 判断码流中读取的标志位prev_intra4x4_pred_mode_flag,如果该标志位为1,则预先定义模式就是当前块的预测模式;
  3. 如果标志位prev_intra4x4_pred_mode_flag为0,则根据码流中解析出的语法元素 rem_intra4x4_pred_mode判断。如果rem_intra4x4_pred_mode的值小于预定义模式的值则选用rem_intra4x4_pred_mode;如果大于等于预定义模式,则当前块的预测模式设为rem_intra4x4_pred_mode + 1。

2 获取预测数据

通过相邻块的数据和当前块的预测模式,计算出当前块的预测数据。再将当前块的预测数据减去码流中的残差数据,即可计算出当前块的实际数据。
首先获取相邻像素的数据,并判断是否可用。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值