前言

H.264标准正式发布于2003年3月,距今已经20多年了,但它仍然是当下最流行的视频编解码标准。

H.265正式发布于2013年4月。虽然H.265标准是围绕着H.264进行制定的,也保留了原来的一些技术,但是在提升压缩率,改善码流质量,降低延时等方面使用了更为先进的技术。

下面我将从编码原理,实际的效果等部分方面对H.264和H.265进行一些比较。

H.264 和 H.265对比

视频本身存在着大量的数据冗余,包括时间冗余,空间冗余,视觉冗余等。所以通过减少冗余,可以有效的降低数据量,实现视频的压缩。视频压缩编码采用预测编码、变换编码和熵编码等技术来降低视频中的冗余数据。在处理数据冗余方面,H.265采用了比H.264更为复杂的技术和算法。

分块

H.265比H.264采用了更先进、更灵活的编码单元。

H.264标准将每个视频帧分解成宏块,H.264的每个宏块大小都是固定的,最大为16x16像素。

H.265使用编码树单元,根据区域信息量来决定编码单元的大小,它们的大小和形状不一定相同,从最小的8x8像素到最大的64x64像素。

帧内预测

H.264的帧内预测有9种模式,而H.265的帧内预测多达35种模式。

更多的帧内预测模式意味着编码器有更多的选项来分析和利用图像中的空间相关性。帧内预测可以利用这种相似性,减少帧内的冗余信息。所以H.265可以拥有比H.264更高的压缩率。

帧间预测

H.264主要使用基于运动矢量的帧间预测。它通过在帧间寻找相似区域,然后使用运动矢量来描述这些区域的运动情况。

由于H.265引入了更多的帧内预测模式,允许更好地捕捉图像中的空间相关性,所以可以进行更复杂的帧间预测,以进一步消除图像的时间冗余,提高压缩率。

传输码率

得益于更复杂先进的技术和算法,画面质量相同的情况下,H.265的数据量比H.264的更小。



(图片来源:Comparison of the Coding Efficiency of Video Coding Standards – Including High Efficiency Video Coding (HEVC))

最大分辨率

  • H.264: 4K (4092x2160)
  • H.265: 8K UHD (8192x4320)

画面质量

从下面的对比图中可以很直观的看出,在码率相近的情况下,H.265的画面质量明显要比H.264更好。当H.265码率为H.264的50%时左右时,画面质量才比较接近。

  • H.265 400kbps vs H.264 400kbps



  • H.265 400kbps vs H.264 750kbps



使用率

《Bitmovin’s 2021 Video Developer Report》中展示了各个编码器使用率的统计结果。

2021年H.264编码器的使用率为83%,虽然同比低于2020年的91%,但是在一众的编码器中仍然处于第一的位置。

2021年H265编码器的使用率为49%,较2020年有所上升。但是和H.264仍然存在着一定的差距。



从统计图中可以看出,时至今日,H.264仍然是使用最广泛,最流行的视频压缩技术。

总结

得益于更复杂先进的技术和算法,H.265能够提供比H.264更高的画面质量和压缩率。这就意味H.265能够在提供给用户更好的视觉体验的同时,降低网络传输的成本。这使其在4K、8K等高清场景下更具优势。

但是由于其更加复杂的算法,在对视频进行编解码时,也需要更高的算力,这也就意味着更高的硬件成本。这也导致目前除了特定领域,H.265的普及度和兼容性远不及H.264。

不过随着时间的推移,当硬件成本下降,硬件算力提升,能够兼容H.265的设备和标准一定会越来越多,H.265的普及度也会逐渐上升。

H.264 和 H.265对比的更多相关文章

  1. 最简单的基于librtmp的示例:发布H.264(H.264通过RTMP发布)

    ===================================================== 最简单的基于libRTMP的示例系列文章列表: 最简单的基于librtmp的示例:接收(RT ...

  2. H.264与H.265视频压缩编码参考码率

  3. 我们解决了如何将视频转换为HEVC / H.265和AVC / H.264

    LEADTOOLS Recognition Imaging SDK是精选的LEADTOOLS SDK功能集,旨在在企业级文档自动化解决方案中构建端到端文档成像应用程序,这些解决方案需要OCR,MICR ...

  4. H.265 & H.264

    H.265 & H.264 HEVC (H.265) vs. AVC (H.264) https://en.wikipedia.org/wiki/High_Efficiency_Video_C ...

  5. 直播一:H.264编码基础知识详解

    一.编码基础概念 1.为什么要进行视频编码? 视频是由一帧帧图像组成,就如常见的gif图片,如果打开一张gif图片,可以发现里面是由很多张图片组成.一般视频为了不让观众感觉到卡顿,一秒钟至少需要16帧 ...

  6. MPEG-4与H.264的区别 , 编码 以及 应用

    MPEG4是适用于监控领域的压缩技术 MPEG4于1998年11月公布,原预计1999 年1月投入使用的国际标准MPEG4不仅是针对一定比特率下的视频.音频编码,更加注重多媒体系统的交互性和灵活性.M ...

  7. H.264的优势和主要特点

    H.264,同时也是MPEG-4第十部分,是由ITU-T视频编码专家组(VCEG)和ISO/IEC动态图像专家组(MPEG)联合组成的联合视频组(JVT,Joint Video Team)提出的高度压 ...

  8. 使用VideoToolbox硬编码H.264<转>

    文/落影loyinglin(简书作者)原文链接:http://www.jianshu.com/p/37784e363b8a著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. ======= ...

  9. H.264码流结构解析

    from:http://wenku.baidu.com/link?url=hYQHJcAWUIS-8C7nSBbf-8lGagYGXKb5msVwQKWyXFAcPLU5gR4BKOVLrFOw4bX ...

  10. H.264 Profile、Level、Encoder三张简图 (fps = AVCodecContext->time_base.den / AVCodecContext->time_base.num)

    H.264 Profiles Profiles are sets of capabilities. If your black box only supports the Baseline profi ...

随机推荐

  1. Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-4_w0c665/PyQt5/

    错误: 解决方式:输入一下命令 1 pip3 install --upgrade setuptools 2 python3 -m pip install --upgrade pip 输入命令: 1 p ...

  2. zabbix6.4 邮件告警配置

    1.注意事项 QQ邮箱不支持zabbix6以上邮件配置,报拒绝登录 建议使用163.com网易邮箱地址 2.添加媒介 创建媒介类型-> 3.添加用户 一般情况下,无需创建用户,编辑admin即可 ...

  3. Docker本地搭建个人企业私有云盘seafile搭建(完美解决ONLYOFFICE无法预览的情况)

    seafile搭建 #创建存放路径 mkdir -p /media/megrez/data/seafile/seafile-mysql/db mkdir -p /media/megrez/data/s ...

  4. 20款VS Code实用插件推荐

    前言 VS Code是一个轻量级但功能强大的源代码编辑器,轻量级指的是下载下来的VS Code其实就是一个简单的编辑器,强大指的是支持多种语言的环境插件拓展,也正是因为这种支持插件式安装环境开发让VS ...

  5. 6、Mybatis之高级查询

    6.1.创建接口.映射文件和测试类 ++++++++++++++++++++++++++分割线++++++++++++++++++++++++++ 注意namespace属性值为对应接口的全限定类名 ...

  6. Linux虚拟机报错Job for network.service failed because the control process exited with error codeLinux虚拟机报错的解决方法

    发布于 2 天前  3 次阅读 Linux虚拟机设置静态ip后,突然发现联网连不上了,ssh也无法使用,重启network后仍旧无法使用.按照网络上的方法发现没有效果后,右键如下位置将nat模式转换为 ...

  7. 《CTFshow-Web入门》03. Web 21~30

    @ 目录 web21 题解 原理 web22 题解 原理 web23 题解 原理 web24 题解 原理 web25 题解 原理 web26 题解 web27 题解 web28 题解 web29 题解 ...

  8. TDD、BDD、ATDD都是什么、有什么区别?(上)

    软件开发是一个迭代过程,包括编写.测试和改进代码,直到满足需求.测试驱动开发(TDD).行为驱动开发(BDD)和验收测试驱动开发(ATDD)是支持该过程的三种方法.TDD.BDD和ATDD都是软件开发 ...

  9. 微服务架构|go-zero 的自适应熔断器

    原文链接: go-zero 的自适应熔断器 上篇文章我们介绍了微服务的限流,详细分析了计数器限流和令牌桶限流算法,这篇文章来说说熔断. 熔断和限流还不太一样,限流是控制请求速率,只要还能承受,那么都会 ...

  10. mysql启动失败,报没有pid错误

    mysql启动失败,报没有pid错误 安装完Mysql后,启动mysqld失败,花了很长时间才找到原因,现在根据网友提供的解决方法汇总一下,方便遇到时可以参考排查 现象:service mysql s ...