文章转自:https://blog.csdn.net/lin453701006/article/details/52702912
用于HEVC的学习,如有侵权则删。
问题1:帧内/帧间预测的目的是什么?
帧内/帧间预测是利用像素之间的相关性来去除空间冗余和时间冗余。手段是为当前编码块构造尽可能准确的预测块,从而得到能量较小的残差块。目的是能量较小的残差块可以减少传输比特。
问题2: 除了预测残差外,帧内预测还需要传输哪些信息?
预测模式信息。在解码端,根据“预测模式信息”可以构造出预测块,加码流中传输来的预测残差即可得到重建图像。
问题3:帧间预测除了预测残差外,还需要传输哪些信息?
参考图像索引 + 运动矢量。
告诉解码端从哪幅参考图像的哪个位置去找预测块,找到后加预测残差即可得到重建图像。
问题4: 编码端的模式选择是在做什么工作?
通过率失真优化选择最优模式。
比如一个16x16的块,可以有多种预测模式,产生相应残差,产生相应的预测信息。 需要传输的信息(残差,预测信息)是要产生比特R, 残差经过量化反量化会产生失真D, 最后通过J=D+lamada*R 选择各种预测模式中哪个是最优的。
问题5: FVC在帧内和帧间预测上可做的算法有哪些?
帧内预测:
65种方向
4插值滤波器
边缘滤波器应用到了除水平和垂直的别的方向
跨组件线性模型CCLM预测
位置相关的帧内预测结合PDPC
自适应参考样本平滑处理
帧间预测:
Sub-PU水平运动向量预测
本地自适应运动向量分辨率AMVR
1/16像素运动矢量的存储精度
重叠块运动补偿OBMC
本地光照补偿LIC
仿射运动预测
模式匹配的运动矢量推导
双向光流BIO
这些算法的目的就是尽可能的构造准确的预测块