H.266与H.265、AV1、H.264的区别

H系列有MPEG和VCEG推出 ,VPX系列由谷歌推出,H.265有更高的图像质量,而AV1对于流媒体来说更加可靠且完全免费。H.265更大的预测模型实现了边缘可视化,而VP9实施更严格的编码规则,似乎可以让流媒体更加连贯和可靠。其中,H.265其压缩效率比H.264提升50%,VP9略逊于H.265,H.266编码性能最高,AV1比VP9同等质量下减少30%比特率。

一、码流结构

1、H.264:

NAL层(Network Abstraction Layer):网络抽象层,主要用于网络传输。按照一定格式,对视频编码层输出的数据进行打包和封装,并提供包头(header)等信息,以在不同速率的网络上传输或进行存储:

图片

VCL层(Video Coding Layer):视频编码层,主要用于数据编码, NAL提供围绕VCL的一层保护。

2、H265:

在H.265/HEVC中,NAL单元根据是否装载视频编码数据被分为VCLU(Video Coding Layer NAL Unit)和non-VCLU

  • 头信息:H265一个图像序列的组成:VPS+SPS+PPS+SEI+一个I帧+若干个P帧。VPS、SPS、PPS、SEI、一个I帧、一个P帧都可以称 为一个NALU
  • 编解码框架差异:

H.265仍然采用混合编解码,编解码结构与H.264基本一致

H.265经典框架:

图片

块划分结构

H.264是16×16(子块的大小可以是 8X16、 16X8、 8X8、 4X8、 8X4、 4X4非常的灵活)的宏块,

VP9可以以64×32或4×8的块来采样,支持使用 64×64 ,支持将帧分割为具有特定相似性的区域;相比H.265, VP9 支持水平或垂直细分

H.265是采用CU (CodingUnit)、PU(PredictionUnit)和TU(TransformUnit)的递归结构,四叉树划分(预测块亮度64×64-8×8,色度32X32-4X4,变换块32×32->4×4),同时H.265增加了非对称划分模式;具体的分割过程通过两个变量来标记:分割深度(Depth)和分割标记符(Split_flag),H.265/HEVC标准突破了之前标准对预测块、变换块大小关系的限制。由于其PU和TU直接由CU划分得到,因此二者大小没有确定的关系。一个PU可能包含多个TU,一个TU也可能跨越多个PU.

H.266在此基础上除了四叉树划分,增加了三叉树和二叉树划分。

帧内预测

H.264中4×4和8×8块包含9种预测模式,16×16块包含4种预测模式;

VP9有10种帧内预测模式;

H.265有33种帧内角度预测模式+DC(上、左取平均)+planer;与H.264/AVC相比,H.265/HEVC增加使用了左下方块的边界像素作为当前块的参考;

H.266有65种帧内亮度角度预测模式,实际上有65+10+10=85种,根据宽高比再选;增加ISP(对块的进一步划分技术);PDPC技术,结合了未滤波的参考像素和滤波后的参考像素,增加MIP模式;CCLM模式;

注:Planar 模式适用于像素值缓慢变化的区域,它使用水平和垂直方向的两个线性滤波器,并将二者 的平均值作为当前块像素的预测值。DC 模式适用于大面积平坦区域,当前块预测值可由其左侧和上方 参考像素的平均值得到。角度模式主要用于视频内容中不同方向的纹理。

帧间预测

帧类型结构:H.265用了HIERACLE-B结构

mv精度:H.265是  像素精度(色度),并使用了更多的临近像素点进行亚像素精度插值。预测模式:SKIP,DIRECT,MERGE(5个候选MV),AMVP(2个候选MV)。

H.266提高到的像素精度;

VP9 帧间预测使用 ⅛ 像素进行运动补偿,有作为参考帧的不可显示帧,不可显示帧上有平均得来的双向预测。

参考列表:

H.265用两个参考列表,每一个都拥有16个参照项,但是唯一图片的最大数量是8。

H.266中merger模式有6个candidate,相对于H.265增加了TMVP , HMVP改变,

变换

H.264整数DCT 4X4 8X8;哈达玛变换

VP9 和HEVC都支持4×4-32×32的变换块大小。DCT 在帧内编码宏块中,垂直和水平变换路径中的一者或两者会是 DST

HEVC 4X4 DST; Transform_skip模式:transform_skip_flag,该模式对文本桌面视频有较好效果;RQT 技术基于四叉树的自适应变换技术;没有哈达玛变换

HEVC 内部比特深度增加:为了保证中间预测、变换以及量化过程中的内部比特精度,以达到更好的压缩性能

HEVC仅采纳了4点DST7用于帧内预测残差的变换,对于其它尺寸和帧间预测残差仍然采用DCT2;

H.266有不可分离的二次变换lfnst;对预测残差采用多候选变换的方案MTS(Multiple Transform Selection)能够更好地适应预测残差动态变化的统计特性,并且显著地进一步提高变换增益。针对帧间变换技术,子块变换技术(Sub-block Transform,SBT)

熵编码

H.264采用整数离散余弦变换(DCT),CABAC压缩(无损,CABAC也是给高频数据短码,给低频数据长码。同时还会根据上下文相关性进行压缩),两个I帧之间是一个图像序列GOP。

VP9 支持四种变换大小:32×32、16×16、8×8 和 4×4。这些变换与其他大多数编码一样,是 DCT 的近似整数。在帧内编码宏块中,垂直和水平变换路径中的一者或两者会是 DST(离散正弦变换)。

HEVC的熵编码使用了两种算术编码:CABAC和CAVLC。CAVLC主要用于编码SEI、参数集、片头等,剩下的所有数据和语法元素均使用CABAC来编码。

H.265:zigzag扫描:ACS 技术,垂直扫描,水平扫描,对角扫描。

图片

文章参考:https://blog.csdn.net/maryhaocoolcool/article/details/87877244

版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。

(0)

相关推荐

发表回复

登录后才能评论