H.265/HEVC HM-9.0 和H.264 JM-18.4 的BD-rate 比较:
AllIntra case: 22%
RandomAccess case: 34%
LowDelay case: 37%
3. 各模块技术差异汇总
4. 块划分结构
在H.265中,将宏块的大小从H.264的16×16扩展到了64×64,以便于高分辨率视频的压缩。
同时,采用了更加灵活的编码结构来提高编码效率,
包括编码单元(CodingUnit)、预测单元(PredictUnit)和变换单元(TransformUnit)。
如下图所示:
其中:
编码单元类似于H.264/AVC中的宏块的概念,用于编码的过程。
预测单元是进行预测的基本单元,
变换单元是进行变换和量化的基本单元。
这三个单元的分离,使得变换、预测和编码各个处理环节更加灵活,
也有利于各环节的划分更加符合视频图像的纹理特征,
有利于各个单元更优化的完成各自的功能。
RQT是一种自适应的变换技术,这种思想是对H.264/AVC中ABT(AdaptiveBlock-size Transform)技术的延伸和扩展。
对于帧间编码来说,它允许变换块的大小根据运动补偿块的大小进行自适应的调整;
对于帧内编码来说,它允许变换块的大小根据帧内预测残差的特性进行自适应的调整。
大块的变换相对于小块的变换,一方面能够提供更好的能量集中效果,并能在量化后保存更多的图像细节,但是另一方面在量化后却会带来更多的振铃效应。
因此,根据当前块信号的特性,自适应的选择变换块大小,如下图所示,可以得到能量集中、细节保留程度以及图像的振铃效应三者最优的折中。
Fig. 灵活的块结构示意图
5. 帧内预测模式
本质上H.265是在H.264的预测方向基础上增加了更多的预测方向
H.265:所有尺寸的CU块,亮度有35种预测方向,色度有5种预测方向
H.264:亮度 4x4块9个方向,8x8块9个方向,16x16块4种方向,色度4种方向
H.264的帧内预测方向:
H.265的帧内预测方向:
6. 帧间预测
本质上H.265是在H.264基础上增加插值的抽头系数个数,改变抽头系数值以及增加运动矢量预测值的候选个数,以达到减少预测残差的目的。
H.265与H.264一样插值精度都是亮度到1/4,色度到1/8精度,但插值滤波器抽头长度和系数不同.
H.265的增加了运动矢量预测值候选的个数,而H.264预测值只有一个
H.265的空域候选项:
H.265时域共同位置候选项
7. 去块滤波
本质上H.265的去块滤波与H.264的去块滤波及流程是一致的,做了如下最显著的改变:
Ø 滤波边界: H.264最小到4x4边界滤波;而H.265适应最新的CU、PU和TU划分结构的滤波边缘,最小滤波边界为8x8,
Ø 滤波顺序:H264先宏块内采用垂直边界,再当前宏块内水平边界;而H.265先整帧的垂直边界,再整帧的水平边界
ALF在编解码环路内,位于Deblock和SAO之后,
用于恢复重建图像以达到重建图像与原始图像之间的均方差(MSE)最小。
ALF的系数是在帧级计算和传输的,可以整帧应用ALF,
也可以对于基于块或基于量化树(quadtree)的部分区域进行ALF,
如果是基于部分区域的ALF,还必须传递指示区域信息的附加信息。
8. 采样点自适应偏移(Sample AdaptiveOffset)滤波
SAO(sample adaptive offset)滤波其实就是对去块滤波后的重建像素按照不同的模板进行分类,并对每一种分类像素进行补偿, 分类模板分为BO(Band offset)和EO(Edge offset)。
BO分类:
EO分类模块:
SAO在编解码环路内,位于Deblock之后,通过对重建图像的分类,对每一类图像像素值加减一个偏移,达到减少失真的目的,从而提高压缩率,减少码流。
采用SAO后,平均可以减少2%~6%的码流,而编码器和解码器的性能消耗仅仅增加了约2%。
9. Tile划分
Tile: 将图像分割为矩形区域。
其主要目的是增强并行处理性能。
每个tile区域相当于一幅子图像,可独立的以LCU块为单位进行编解码。
一个Tile块为基本的并行单元,每个Tile为一个子码流
\10. WPP
WPP: 全称为wavefront parallel process,以LCU行为基本的编码单位。
以一行LCU块为基本的并行单元,每一行LCU为一个子码流
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)
题外话
不管怎么样,不论是什么样的大小面试,要想不被面试官虐的不要不要的,只有刷爆面试题题做好全面的准备,当然除了这个还需要在平时把自己的基础打扎实,这样不论面试官怎么样一个知识点里往死里凿,你也能应付如流啊
这里我为大家准备了一些我工作以来以及参与过的大大小小的面试收集总结出来的一套进阶学习的视频及面试专题资料包,主要还是希望大家在如今大环境不好的情况下面试能够顺利一点,希望可以帮助到大家~
欢迎评论区讨论。
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!
进阶学习的视频及面试专题资料包*,主要还是希望大家在如今大环境不好的情况下面试能够顺利一点,希望可以帮助到大家~
[外链图片转存中…(img-Q4gIqFbA-1711991920893)]
欢迎评论区讨论。