H.264压缩技术之帧间预测(P Frame)——Matlab源码解析

本文深入解析H.264视频压缩中的帧间预测技术,通过Matlab源码详细阐述了完全预测、对角预测等模式,包括运动向量预测、运动补偿及亚像素搜索等关键步骤,揭示了帧间编码的复杂流程和代价比较的重要性。

前言

今天翻看日历,发现距离上一次的I帧编码的博客已经搁了一个月了…,今天把这个坑填上。
另外注意:这里的子目录,代表进入了函数中。例如:3.main(),那么3.1就是main{ code }

前文回顾:强烈建议回顾一下Overview部分。
H.264压缩技术之总览(Overview)——Matlab源码解析.
H.264压缩技术之视频基础(foundation of learning video)——Matlab源码解析.
H.264压缩技术之帧内预测(I Frame)——Matlab源码解析.

1.环境初始化

这里主要是做了四件事:

  • 拿出参考帧(第一帧是I帧,所以一定是存在参考帧的)
  • 设置初始分块大小 bs
  • 设置运动向量的搜索范围 mr
  • 创建运动向量容器 mvm
    在这里插入图片描述
Seq(:,:,2)=double(VideoSeq_input(:,:,k))  %%k代表是第几帧
X(:,:,2)=Seq(:,:,2);%%注意X(:,:,1)中保留的就是参考帧!!!I帧编码部分已经保存过了
[Seq_r(:,:,2),bits] = encode_p_frame(X,Quant(q),ext,block_size);
%%开始对这一帧进行P帧编码,其实X中包含了要编码的帧和前一个参考帧
%%ext不用管就是一个标志
%Quant代表量化因子
%%当然在前面已经gobal了全局变量 mvm mr bs

2.开始模式决定

进入encode_p_frame函数——>开始模式决定(mode_decision)

mode_decision(bs,mr,i,j);
%%这里出现了i,j就代表已经进行分块处理了

从我们需要操作的帧中,按bs大小开始取块,并进行如下四种预测。

注: 每个块都得经理如下四种模式,但是这里只介绍第一种完全预测,其他的都是类似的,由读者自行探索。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值