闲说视频清晰度和各种格式、编码技术的发展历史

embedded/2024/10/21 3:08:44/

文章目录

      • 引子
      • 清晰度
      • 视频格式:MP4、AVI 、MKV、MOV、WMV、FLV 、RMVB等等
      • 编码技术:MPEG-1、MPEG-2、MPEG-4、RealVideo、DivX、XviD、H.264(AVC)、H.265(HEVC)等等
        • 什么是视频编码技术
        • H.264等的视频编码原理
        • 硬解码和软解码
          • 硬解码(Hardware Decoding)
          • 软解码(Software Decoding)
          • H.264、H.265、AV1 等的实际硬件解码支持情况
        • MPEG-1
        • MPEG-2
        • MPEG-4
        • RealVideo
        • DivX
        • XviD
        • H.264(AVC)
        • H.265(HEVC)
        • H.266(VVC)
        • 其他
      • 闲说历史
        • DivX 和 XviD 的恩怨纠葛
        • 流媒体的时代兴衰
        • MPEG-3 的胎死腹中
        • RMVB 的昙花一现
        • H.264 的卧薪尝胆
        • H.265 的收费陷阱

引子

影视飓风 10 月 8 日发布的视频《清晰度不如 4 年前!视频变糊是你的错觉吗》已经全网下架了,甚至据说所有补档视频也在以极快速度被下架,没吃上瓜的可以在这个回答里去找下备份视频(最高清晰度版本(文件大小841.2MB,3840*2160P分辨率,29.97fps,8.87mbps版本)): https://www.zhihu.com/question/790765906/answer/4598439272

这个事情吧,本质上是ISP流量费太贵,最终造成了这种在盈利和服务上的折中现实。B站现在还没有开头广告、中间插播广告,也算守住了最初免费的承诺。反倒是那些长视频平台(不点名了,反正都知道),本应该对视频观看清晰度更有责任,但不但反其道行之,而且吃相就没好看过。AcFun不知道会不会迎来一波机遇,反正那句梗“还好我们家4K不要钱。因为我们可能会倒闭,但永远不会变质”倒是很讨喜。

顺便说下 YouTube 为啥720p比国内1080p都还清晰(这是真的,高码率就是这么好),为啥敢肆无忌惮地高码率,其本质原因还是受益于 Google (及其旗下的 YouTube) 能够同ISP进行流量交换与对等互联,因此其带宽成本几乎为零。

作为引子,更想聊下视频清晰度,以及视频的各种格式、编码技术发展历史,谈一谈那些年的趣事。

清晰度

简单来讲,人们所提到的清晰度是一个非常主观的感受。就整体过程而言,从原始的数据源到人们看到最终的视频,其过程涉及到数字信号获取、图像处理、显示器/显示设备输出,其中每一步都会影响到最终的清晰度效果。

单说其中图像处理中的视频文件的清晰度,也是有以下几个关键方面的对主观感受影响最大,通俗(但非严格)描述如下:

  1. 提高帧率:让动作更流畅、连贯(也就是主观感受更自然),让动态场景主观感受更清晰。
  2. 提高分辨率:让画面更大,在合适的码率下可以让细节更加丰富,比如纹理更细致,所以主观感受更清晰。
  3. 提高码率:让数据量更大,可以更精准地记录和还原信息,可以让色彩更加准确、展现更为细腻,所以主观感受更清晰。

更详细参见之前文章所述:码率、帧率、分辨率与清晰度的复杂关系。

视频格式:MP4、AVI 、MKV、MOV、WMV、FLV 、RMVB等等

什么是视频格式

视频格式就像是一个“盒子”或“容器”,用来装视频和音频数据。这个“盒子”不仅包含视频画面,还可能包括声音、字幕以及其他信息(比如元数据)。你可以把视频格式想象成一个文件夹,里面可以放各种各样的东西,比如图片、文字说明、音乐等等。

MP4
  • 全称:MPEG-4 Part 14
  • 时间:2001年发布
  • 开发/发布组织:ISO/IEC(国际标准化组织/国际电工委员会)
  • 特点
    • 高度兼容性:几乎所有的现代设备和平台都支持MP4格式。
    • 多编码支持:可以封装多种音频和视频编码,如H.264, H.265, AAC等。
    • 适合网络传输:文件大小适中,适合在线流媒体和移动设备播放。
    • 广泛的应用:用于互联网视频、移动设备播放、社交媒体分享等。
  • 用途:广泛用于互联网视频、移动设备播放、社交媒体分享。
AVI
  • 全称:Audio Video Interleave
  • 时间:1992年发布
  • 开发/发布组织:微软(Microsoft)
  • 特点
    • 较老的格式:是早期的多媒体容器格式之一。
    • 高质量:通常提供较高的视频质量,但文件较大。
    • 广泛的编解码器支持:可以包含多种音频和视频编解码器。
    • 主要用于PC:主要在个人电脑上使用,特别是在Windows系统中。
  • 用途:主要用于个人电脑上的多媒体播放。
MKV
  • 全称:Matroska
  • 时间:2002年发布
  • 开发/发布组织:Matroska开源项目
  • 特点
    • 开放标准:基于开源标准,免费且无版权限制。
    • 多轨支持:可以包含多个音轨、字幕轨道和元数据。
    • 高质量存储:非常适合存储高质量视频,包括高清和超高清内容。
    • 灵活的容器:支持多种编解码器,包括最新的视频编码技术
  • 用途:高清电影、家庭影院系统、高质量视频收藏。
MOV
  • 全称:QuickTime Movie
  • 时间:1991年发布
  • 开发/发布组织:苹果(Apple)
  • 特点
    • 苹果原生格式:由苹果公司开发,常用于Mac系统和iOS设备。
    • 多编解码器支持:可以包含多种音频和视频编解码器。
    • 编辑友好:广泛用于视频编辑软件输出,便于后期处理。
    • 网页嵌入:可以在网页中嵌入,支持HTML5视频标签。
  • 用途:视频编辑软件输出,iDevices播放,网站视频嵌入。
WMV
  • 全称:Windows Media Video
  • 时间:1999年发布
  • 开发/发布组织:微软(Microsoft)
  • 特点
    • 专为流媒体设计:压缩率高,文件较小,适合低带宽网络传输。
    • 微软生态系统:与Windows Media Player和其他微软产品紧密集成。
    • 企业应用:常用于企业内部培训视频和网络会议。
    • DRM支持:支持数字版权管理(DRM),保护内容不被非法复制。
  • 用途:Windows平台上的媒体播放,企业内部培训视频,网络流媒体。
FLV
  • 全称:Flash Video
  • 时间:2003年发布
  • 开发/发布组织:Adobe Systems
  • 特点
    • 早期主流格式:曾经是在线视频的主要格式,尤其在YouTube早期广泛应用。
    • Sorenson Spark和H.264编码:支持多种编码技术,包括Sorenson Spark和H.264。(F4V 是 Adobe 公司推出继 FLV 格式后的支持 H.264 的流媒体格式)
    • 网页嵌入:可以通过Flash插件在网页中嵌入播放。
    • 逐渐淘汰:随着HTML5的普及,FLV格式正在逐渐被淘汰。
  • 用途:早期YouTube和其他视频分享网站,网页嵌入视频。
RM / RMVB
  • 全称:RealMedia Variable Bitrate
  • 时间:2003年发布
  • 开发/发布组织:RealNetworks
  • 特点
    • 可变比特率:根据视频内容动态调整压缩比,提高效率。
    • 低带宽适应性:适合低带宽网络环境,提供不错的画质。
    • 早期流行:在早期的在线视频服务中非常流行,尤其是在中国。
    • 逐渐减少:随着其他更高效的编码技术的出现,使用逐渐减少。
  • 用途:早期的在线视频服务,特别是下载和共享高质量电影。
其他
  1. WebM

    • 标准:Google主导的开源项目
    • 特点
      • VP8/VP9编码:使用VP8或VP9视频编码技术
      • 免费且无版权限制:完全开源,没有专利费用。
      • 高效压缩:提供高效的压缩比,适合在线流媒体。
      • 网页友好:支持HTML5视频标签,适合网页嵌入。
    • 用途:网页视频、HTML5视频标签。
  2. 3GP/3G2 (3rd Generation Partnership Project)

    • 标准:3GPP
    • 特点
      • 为手机设计:专门为移动电话设计,文件小,适合低带宽网络。
      • 较低质量:由于文件小,画质一般。
      • 广泛应用:在早期的移动电话中广泛使用。
    • 用途:移动电话中的视频录制与分享。
  3. TS/MTS (MPEG-2 Transport Stream)

    • 标准:MPEG
    • 特点
      • 广播标准:广泛用于电视广播和蓝光光盘。
      • 多节目支持:可以包含多个节目流,适用于直播和点播服务。
      • 高清晰度:支持高清电视广播。
      • 实时传输:适合实时视频传输,如卫星和有线电视。
    • 用途:蓝光光盘,高清电视广播。
  4. MPG (MPEG-1, MPEG-2)

    • 标准:ISO/IEC的MPEG、MPEG2
    • 特点
      • VCD和DVD:MPEG-1常用于VCD,MPEG-2常用于DVD。
      • VCD的DAT:VCD中的视频文件通常以.dat扩展名存储,实际上是MPEG-1格式。
      • DVD的VOB:DVD中的视频文件通常以.vob扩展名存储,实际上是MPEG-2格式。
      • 高质量:MPEG-2提供较高的视频质量。
      • 广泛支持:几乎所有DVD播放器和电视机都支持MPEG-2。
    • 用途:VCD制作,DVD视频。
  5. TS/MTS/M2TS (MPEG-2 Transport Stream)

    • 标准:MPEG2
    • 特点
      • MTS:主要用于AVCHD(Advanced Video Coding High Definition)格式,通常由高清摄像机生成。
      • M2TS:与MTS类似,但更常见于蓝光光盘,用于存储高清视频。
      • 高清晰度:支持1080p等高清分辨率。
      • 容器格式:可以包含多种音频和视频流。
    • 用途:高清摄像机录制,蓝光光盘。

编码技术:MPEG-1、MPEG-2、MPEG-4、RealVideo、DivX、XviD、H.264(AVC)、H.265(HEVC)等等

什么是视频编码技术

视频编码技术是一种将原始视频数据压缩的方法,目的是减小文件大小,同时尽可能保持视频的质量。这种技术就像是把一堆杂乱无章的衣物折叠整齐放进一个小行李箱里,这样既节省了空间,又方便携带。

H.264等的视频编码原理

H.264的视频编码原理、编码过程,参见 H.264编码技术

H.265 的主要技术提升:

  1. 更大的编码单元

    • 编码树单元 (CTU):最大尺寸可达 64x64 像素,比 H.264 的 16x16 宏块更大,有助于提高压缩效率。
  2. 灵活的块划分

    • 四叉树结构:支持更灵活的块划分方式,可以根据图像内容自适应地选择最佳的块大小,从而提高压缩效率。
  3. 改进的预测技术

    • 帧内预测:增加了更多的预测模式,提高了帧内预测的精度。
    • 帧间预测:引入了多假设预测(Multiple Hypothesis Prediction),利用多个参考帧进行预测,提高了帧间预测的准确性。
    • 仿射运动补偿:能够更好地处理旋转、缩放和平移等复杂运动,提高了运动估计的精度。
  4. 增强的变换编码

    • 多种变换核:除了传统的 DCT 变换外,还引入了 DST(离散正弦变换)和其他类型的变换核,以更好地匹配不同类型的残差信号。
    • 二次变换:在主要变换之后应用二次变换,进一步去除残差信号中的冗余。
  5. 自适应量化

    • 精细的量化参数调整:支持更精细的量化参数调整,可以根据不同的图像内容和区域进行优化,从而在保持视觉质量的同时减少比特率。
  6. 增强的环路滤波

    • 去块效应滤波器 (Deblocking Filter):增强了去块效应滤波器,减少了块效应。
    • 样本自适应偏移 (Sample Adaptive Offset, SAO):通过像素级别的调整,进一步提高了视频质量。
  7. 并行处理

    • 条带 (Tiles):支持更高效的并行处理,提高编码速度。
    • 波前并行处理 (Wavefront Parallel Processing, WPP):进一步优化并行处理,提高编码效率。

H.266 的主要技术提升:

  1. 更灵活的编码单元

    • 更大的编码树单元 (CTU):最大尺寸可达 128x128 像素,比 H.265 的 64x64 更大,进一步提高压缩效率。
    • 多类型树划分 (Multipartitioning):引入了二叉树、三叉树和四叉树等多种块划分方式,使得编码器能够更灵活地选择最佳的块划分方案。
  2. 增强的预测技术

    • 仿射运动补偿 (Affine Motion Compensation):进一步改进了仿射运动模型,更好地处理复杂的运动。
    • 局部光照补偿 (Local Illumination Compensation, LIC):通过补偿局部区域的光照变化,提高帧间预测的准确性。
    • 多假设预测 (Multiple Hypothesis Prediction):利用多个参考帧进行预测,提高预测精度。
    • 三角预测单元 (Triangular Prediction Unit, TPU):允许使用三角形块进行预测,更好地适应图像中的边缘和纹理。
  3. 改进的变换编码

    • 多种变换核 (Multiple Transform Kernels):除了 DCT 和 DST 外,还引入了其他类型的变换核,如 DTT(离散三角变换)。
    • 二次变换 (Secondary Transform):在主要变换之后应用二次变换,进一步去除残差信号中的冗余。
    • 低频非分离变换 (Low-Frequency Non-Separable Secondary Transform, LFNST):针对低频成分进行非分离变换,提高变换效率。
  4. 自适应量化

    • 精细的量化参数调整:支持更精细的量化参数调整,根据不同的图像内容和区域进行优化。
  5. 增强的环路滤波

    • 自适应循环滤波 (Adaptive Loop Filter, ALF):根据图像内容自适应地应用滤波器,减少块效应和其他伪影。
    • 几何自适应循环滤波 (Geometrically Adaptive Loop Filter, G-ALF):进一步优化滤波过程,提高视频质量。
  6. 新的编码工具和技术

    • 联合编码 (Joint Coded Information, JCI):通过共享信息来提高编码效率。
    • 模式决策优化:通过更智能的模式决策算法,选择最优的编码模式,减少不必要的计算开销。
  7. 并行处理和优化

    • 条带 (Tiles) 和子图 (Subpictures):支持更高效的并行处理,提高编码速度。
    • 波前并行处理 (Wavefront Parallel Processing, WPP):进一步优化并行处理,提高编码效率。
硬解码和软解码
硬解码(Hardware Decoding)

硬解码是指使用专门的硬件电路来处理视频解码任务。这种硬件通常集成在显卡、CPU 或专用的视频处理芯片中,能够高效地执行视频解码操作,从而减轻 CPU 的负担,提高系统性能和降低功耗。

优点

  • 低功耗:由于硬件专门设计用于视频解码,因此比软件解码更节能。
  • 高性能:硬件解码可以实时处理高分辨率和高帧率的视频流,而不会显著影响系统性能。
  • 流畅播放:即使在低性能设备上也能实现流畅的视频播放。

缺点

  • 兼容性问题:某些编码格式或特定的编码特性可能不受硬件支持。
  • 更新限制:硬件解码器的固件更新不如软件解码器灵活,可能无法及时支持最新的编码标准。
软解码(Software Decoding)

软解码是指通过软件程序在 CPU 上运行解码算法来处理视频解码任务。这种方式依赖于 CPU 的通用计算能力,不需要专门的硬件支持。

优点

  • 灵活性:软件解码器可以通过更新来支持新的编码标准和特性。
  • 广泛的兼容性:几乎所有编码格式都可以通过软件解码器进行解码。
  • 调试方便:软件解码器更容易调试和优化。

缺点

  • 高功耗:CPU 在处理视频解码时会消耗更多的电力,尤其是在处理高分辨率视频时。
  • 性能瓶颈:在低性能设备上,软解码可能会导致视频播放不流畅或卡顿。
H.264、H.265、AV1 等的实际硬件解码支持情况

H.264 是目前最广泛使用的视频编码标准之一,几乎所有的现代设备都支持 H.264 的硬件解码。

  • 智能手机和平板电脑:绝大多数 Android 和 iOS 设备都内置了 H.264 硬件解码支持。例如,苹果的 A 系列芯片(从 A11 Bionic 开始)和高通的 Snapdragon 800 系列及以后的处理器都提供了强大的 H.264 硬件解码能力。
  • 个人电脑:大多数现代显卡(如 NVIDIA 的 GeForce 系列、AMD 的 Radeon 系列)和 CPU(如 Intel 的集成显卡)都支持 H.264 硬件解码。Windows 和 macOS 操作系统也内置了对 H.264 硬件解码的支持。
  • 智能电视和机顶盒:大多数智能电视和机顶盒都支持 H.264 硬件解码,使得高清视频流媒体服务(如 Netflix 和 YouTube)能够流畅播放。
  • 游戏机:PlayStation 5、Xbox Series X/S 等游戏机都内置了 H.264 硬件解码支持,以确保流畅的游戏录制和视频播放体验。

H.265 作为 H.264 的继任者,但其硬件支持情况也相对较广泛。

  • 智能手机和平板电脑
    • iPhone:从 iPhone 8 及以后的型号(A11 Bionic 及之后的芯片)支持 H.265 硬件解码。
    • Android 旗舰机型:高通的 Snapdragon 835 及以后的处理器(如 Snapdragon 845, 855, 865, 888, 8 Gen 1 等)支持 H.265 硬件解码。三星的 Exynos 9810 及以后的处理器也支持 H.265 硬件解码。
  • 个人电脑
    • 显卡:NVIDIA 的 Pascal 架构(GeForce 10 系列)及以后的显卡,AMD 的 Polaris 架构(Radeon RX 400 系列)及以后的显卡。
    • CPU:Intel 的第七代酷睿处理器(Kaby Lake)及以后的处理器,AMD 的 Ryzen 2000 系列及以后的处理器。
  • 智能电视和机顶盒:许多新推出的智能电视和机顶盒支持 H.265 硬件解码,尤其是那些支持 4K 视频的设备。
  • 游戏机:PlayStation 5 和 Xbox Series X/S 支持 H.265 硬件解码,为 4K 游戏录制和流媒体提供更好的体验。

AV1 是一种免费且开源的视频编码标准。作为一种新兴的标准,它在硬件支持上还在逐步增加。

  • 智能手机和平板电脑:部分较新的高端设备开始支持 AV1 硬件解码,例如 Google Pixel 6(Tensor 芯片)、三星 Galaxy S21 Ultra(Exynos 2100 和 Snapdragon 888)。
  • 个人电脑:NVIDIA 的 RTX 30 系列显卡和 Intel 的第 11 代及以后的处理器支持 AV1 硬件解码。此外,AMD 的 RDNA 2 架构显卡(如 Radeon RX 6000 系列)也开始支持 AV1 硬件解码。
  • 智能电视和机顶盒:一些新推出的智能电视和机顶盒开始支持 AV1 硬件解码,但普及程度还不高。
  • 浏览器:主流浏览器如 Chrome、Firefox 和 Edge 已经支持 AV1 软件解码,并逐渐增加对硬件解码的支持。
MPEG-1
  • 全称:Moving Picture Experts Group 1
  • 时间:1993年发布
  • 开发/发布组织:ISO/IEC
  • 特点
    • 第一代标准:最早的MPEG标准之一。
    • VCD质量:支持VCD质量的视频。
    • 音频编码:包括MPEG-1 Audio Layer III (MP3)。
    • 广泛支持:在早期数字视频应用中广泛使用。
  • 用途:VCD制作,早期数字视频应用。
MPEG-2
  • 全称:Moving Picture Experts Group 2
  • 时间:1994年发布
  • 开发/发布组织:ISO/IEC
  • 特点
    • 广播电视:广泛应用于DVD和数字电视广播。
    • 隔行扫描和逐行扫描:支持多种扫描方式。
    • 高质量:提供较高的视频质量。
    • 广泛支持:几乎所有DVD播放器和电视机都支持MPEG-2。
  • 用途:传统电视、卫星电视、DVD视频。
MPEG-4
  • 全称:Moving Picture Experts Group 4
  • 时间:1998年发布
  • 开发/发布组织:ISO/IEC
  • 特点
    • 更高的压缩效率:相比MPEG-2提供更高的压缩效率。
    • 多种应用场景:支持移动设备视频、互联网视频、视频会议等多种应用场景。
    • 对象编码:支持基于对象的编码技术,可以对视频中的不同部分进行独立编码。
    • 广泛支持:在移动设备和互联网视频中广泛使用。
  • 用途:移动设备视频、互联网视频、视频会议。
RealVideo
  • 全称:RealVideo
  • 时间:1997年首次推出
  • 开发/发布组织:RealNetworks
  • 特点
    • 可变比特率:根据视频内容动态调整压缩比。
    • 低带宽适应性:适合低带宽网络环境,提供不错的画质。
    • 早期流行:在早期的在线视频服务中非常流行。
    • 逐渐减少:随着其他更高效的编码技术的出现,使用逐渐减少。
  • 用途:早期在线视频服务,尤其是RMVB格式。
DivX
  • 全称:DivX
  • 时间:1999年首次发布
  • 开发/发布组织:DivX, LLC
  • 特点
    • 商业版本:基于MPEG-4 Part 2的商业版本。
    • 高压缩比:提供较好的压缩比,文件相对较小。
    • 广泛支持:在互联网视频分发中广泛使用。
    • DRM支持:支持数字版权管理(DRM),保护内容不被非法复制。
  • 用途:互联网上的视频分发,特别是通过CD或DVD进行传播。
XviD
  • 全称:XviD
  • 时间:2001年推出
  • 开发/发布组织:XviD开源项目
  • 特点
    • 开源项目:与DivX类似但免费且开放源代码。
    • 高压缩比:提供较好的压缩比,文件相对较小。
    • 广泛支持:在网络视频分享中广泛使用,尤其是在P2P网络中。
    • 灵活性:支持多种分辨率和帧率。
  • 用途:网络视频分享,尤其是早期的P2P网络。
H.264(AVC)
  • 全称:Advanced Video Coding
  • 时间:2003年正式成为国际标准
  • 开发/发布组织:ITU-T VCEG(国际电信联盟视频编码专家组)和ISO/IEC MPEG(运动图像专家组)
  • 特点
    • 高效压缩:提供比以前标准更高的压缩效率。
    • 广泛支持:几乎所有的现代设备和平台都支持H.264。
    • 多分辨率支持:支持从标清到高清的各种分辨率。
    • 低延迟:适合实时视频传输和流媒体应用。
  • 用途:蓝光光盘、高清电视、移动设备、网络流媒体服务(如YouTube)。
H.265(HEVC)
  • 全称:High Efficiency Video Coding
  • 时间:2013年批准为国际标准
  • 开发/发布组织:ITU-T VCEG和ISO/IEC MPEG
  • 特点
    • 更高压缩效率:相比H.264提供约50%的比特率节省。
    • 高分辨率支持:特别适合4K UHD视频。
    • 广泛支持:越来越多的设备和平台开始支持H.265。
    • 低延迟:适合实时视频传输和流媒体应用。
    • 收费:其专利池和许可模式导致了复杂的收费问题。
  • 用途:4K UHD视频、直播、在线流媒体服务(Netflix, Amazon Prime Video等)。
H.266(VVC)
  • 全称:Versatile Video Coding
  • 时间:2020年批准为国际标准
  • 开发/发布组织:ITU-T VCEG和ISO/IEC MPEG
  • 特点
    • 更高压缩效率:进一步提高了压缩效率,比H.265再节省约50%的比特率。
    • 高分辨率支持:特别适合8K视频。
    • 未来技术:面向未来的视频编码标准,支持虚拟现实(VR)和增强现实(AR)应用。
    • 低延迟:适合实时视频传输和流媒体应用。
    • 收费:其专利池和许可模式导致了复杂的收费问题。
  • 用途:未来的8K视频、虚拟现实(VR)和增强现实(AR)应用。
其他
  1. VP8 / VP9

    • 时间:VP8于2010年发布,VP9于2013年发布
    • 特点:Google开发的开源编码技术,VP9在压缩效率上接近HEVC。
    • 用途:主要用于Web视频,如YouTube、Vimeo等网站。
  2. AV1 (AOMedia Video 1)

    • 时间:2018年最终确定
    • 特点:由开放媒体联盟(AOMedia)开发,旨在提供比现有标准更好的压缩效率。
    • 用途:正在逐渐被各大流媒体平台采用,以降低带宽成本并提高画质。
  3. Theora

    • 时间:2004年首次发布
    • 特点:Xiph.Org基金会开发的开源视频压缩格式。
    • 用途:虽然不如其他标准流行,但曾经也在一些开源社区中使用。

闲说历史

DivX 和 XviD 的恩怨纠葛

微软是最早实现MPEG-4 Part 2标准的公司之一,并开发了一个闭源的编码器。这个编码器在当时提供了高效的压缩技术,使得高质量视频能够在有限的带宽和存储条件下进行传输。然而,由于它是闭源的,用户无法自由地修改或分发该编码器。

1999年,DivXNetworks 公司发布了第一个版本的 DivX 编码器。DivX 最初是从微软的 MPEG-4 编码器中逆向工程而来的。DivXNetworks 通过解码微软的实现,开发了自己的编码器,并在此基础上进行了改进。所以,DivX 是完全兼容MPEG-4格式的。DivX 在发布之初就迅速获得了用户的欢迎,因为它提供了高效的压缩比和良好的视频质量。

然而,随着时间的推移,DivXNetworks 开始将 DivX 商业化。他们引入了数字版权管理(DRM)功能,并对编码器进行了封闭,不再提供免费的、无版权限制的版本。这种做法引起了广大用户的不满,尤其是那些依赖于开放共享的社区成员。

面对 DivX 的商业化转变,一些开发者和用户决定创建一个完全开源且免费的替代方案。2001年,一个名为“Project Mayo”的开源项目启动了,该项目后来更名为 XviD。XviD 的目标是创建一个与 DivX 兼容但完全免费且开源的编码器。所以,XviD 也是完全兼容MPEG-4格式的。

XviD 的开发团队利用了 DivX 的开源代码作为起点,并在此基础上进行了大量的改进和优化。由于 XviD 与 DivX 同源,其技术基础和功能上几乎没有差别。XviD 提供了类似的压缩效率和视频质量,同时保持了开源和免费的特点。

XviD 迅速获得了开源社区的支持,并在 P2P 网络和其他在线视频分享平台上变得非常流行。许多用户从 DivX 转向了 XviD,因为 XviD 不仅提供了相同的技术优势,还避免了 DivX 的商业限制和 DRM 问题。

DivXNetworks 曾试图通过法律手段阻止 XviD 的传播,声称 XviD 侵犯了他们的专利权。这一举动引发了广泛的争议,开源社区强烈反对这种做法,认为 DivX 的做法是在扼杀创新和自由软件的发展。尽管如此,XviD 依然继续发展,并逐渐成为广泛接受的标准。

因为 XviD 是完全兼容MPEG-4格式的,在当时的辉煌时期,几乎就是MP4的代名词。

但是,后来因为更先进的编码标准如 H.264 和 H.265 提供了更高的压缩效率和更好的视频质量,满足了高清和超高清视频的需求,DivX 和 XviD 逐渐失去了市场主导地位,并最终先后退出了历史舞台。

流媒体的时代兴衰

在20世纪90年代末至21世纪初,随着互联网带宽的逐渐增加,流媒体开始成为在线视频传播的重要方式。这一时期,微软的 Windows Media Video (WMV) 和 RealNetworks 的 RealMedia (RM) 成为了主流的流媒体格式。

微软推出的 WMV 格式以其高效的压缩率和良好的画质迅速获得了广泛的应用。它不仅用于个人电脑上的视频播放,还被许多企业和教育机构用于内部培训和教学视频。WMV 与 Windows Media Player 紧密集成,使得用户可以在 Windows 操作系统上轻松地播放和管理视频内容。此外,WMV 还支持数字版权管理(DRM),这使得它在商业应用中非常受欢迎。

与此同时,RealNetworks 的 RealMedia 格式是最早的流媒体格式之一,尤其适合低带宽环境下的视频传输。RM 格式包括 RealAudio 和 RealVideo 两个部分,能够提供流畅的视频播放体验。RealPlayer 是当时最流行的媒体播放器之一,支持多种格式,并且在早期的互联网视频服务中占据主导地位。尽管后来其他格式逐渐兴起,RM 在某些常规视频应用中仍然有一定的使用。

到了2000年代中期,Adobe 的 Flash Video (FLV) 格式开始崛起,尤其是在 YouTube 等视频分享平台的推动下,FLV 迅速成为了新的主流流媒体格式。FLV 格式基于 Adobe Flash 技术,提供了跨平台的支持,并且在网页嵌入方面表现出色。YouTube、Vimeo 等视频分享网站广泛采用了 FLV 格式,因为它可以通过 Flash 插件在浏览器中无缝播放。FLV 的普及导致了 WMV 的市场份额逐渐下降,因为越来越多的内容提供商和用户转向了更加便捷和兼容性更强的 FLV 格式。

然而,随着移动设备和智能手机的普及,以及对更高效、更安全的视频播放技术的需求,HTML5 标准应运而生。HTML5 引入了 <video><audio> 标签,使得浏览器可以直接支持多种视频格式,而无需依赖插件。HTML5 支持 H.264/AVC、WebM (VP8/VP9) 和 Ogg Theora 等多种编码格式,这些格式在压缩效率、画质和安全性方面都优于 FLV。

在这个过程中,Chrome 浏览器等现代浏览器起到了关键的助攻作用。2010年,Google 宣布将在 Chrome 中逐步移除对 Flash 的支持,并积极推动 HTML5 的发展。随后,其他主要浏览器如 Firefox、Safari 和 Edge 也纷纷跟进,宣布不再支持 Flash。这一系列举措加速了 FLV 格式的衰落。由于 Flash 插件存在安全隐患、性能问题和移动设备不支持等问题,各大浏览器厂商最终决定完全停止对 Flash 的支持。2020年底,Adobe 官方正式停止了 Flash Player 的更新和支持,标志着 Flash 和 FLV 格式的彻底退出历史舞台。

MPEG-3 的胎死腹中

MPEG-3 是一个鲜为人知且常常被误解的视频编码标准。实际上,MPEG-3 从未真正成为一个独立的标准,它在开发过程中就被放弃了。这个名称现在通常与音频编码技术 MP3 联系在一起,但实际上两者是完全不同的。

在 MPEG 标准的发展历程中,MPEG-1 和 MPEG-2 分别于 1993 年和 1994 年发布,并迅速成为视频编码领域的主流标准。MPEG-1 主要用于 VCD 和早期的数字视频应用,而 MPEG-2 则广泛应用于 DVD 和数字电视广播。

最初,MPEG 组织计划开发一个名为 MPEG-3 的新标准,旨在处理高清晰度视频(HDTV)。然而,在 MPEG-2 的开发过程中,研究人员发现通过扩展和改进 MPEG-2,可以满足高清晰度视频的需求,而不需要一个新的标准。因此,MPEG-3 的开发工作被取消,其功能和目标被整合到了 MPEG-2 中。

尽管 MPEG-3 没有成为现实,但它的名字却以另一种形式流传了下来。现在的 MP3 实际上是指 MPEG-1 Audio Layer III,这是一种高效的音频压缩格式,它是 MPEG-1 视频编码标准中的配套音频编码部分。MPEG-1 标准包括三个层次的音频编码:Layer I 提供基本的音频压缩;Layer II 提供更高的压缩效率和更好的音质;Layer III 即 MP3,提供了最高的压缩效率和最佳的音质。

MP3 的成功在于它能够在保持良好音质的同时显著减小文件大小,这使得它非常适合在带宽有限的互联网上传播。随着 MP3 的普及,它逐渐脱离了 MPEG-1 视频编码的背景,成为了一个独立的音频格式。MP3 作为一种音频编码技术,从 MPEG-1 标准中分离出来,迅速成为了互联网时代最流行的音频格式之一,广泛用于音乐文件的存储和传输。

RMVB 的昙花一现

RMVB格式在2000年代初期曾是互联网上非常流行的视频格式,尤其是在中国。它由 RealNetworks 公司开发,最初以其高效的压缩率和对低带宽环境的良好适应性而受到用户的青睐。RMVB 格式能够在有限的带宽下提供相对较高的视频质量,这使得它在早期的在线视频分享和 P2P 网络中广受欢迎。

如今,已很难再听到 RMVB 这个词了。

首先,RealNetworks 改变了其商业模式,从最初的免费使用转向收费模式。起初,用户可以轻松地下载和使用 RMVB 编码器,但随着公司开始对编码器收取费用,并加强了对版权的保护,许多用户开始寻找其他免费或开源的替代方案,如 XviD 和后来的 H.264。这种收费模式的变化导致 RMVB 的用户基础逐渐流失。

为了进一步保护其知识产权,RealNetworks 甚至雇佣了专门的律师团队,对未经授权使用 RMVB 编码器的行为进行起诉。这些法律行动不仅增加了用户的成本,还带来了法律风险,进一步削弱了 RMVB 的吸引力。一些用户和内容提供商为了避免潜在的法律问题,在之后几个版本的升级中,纷纷转向了其他更安全且无版权限制的编码技术

除了商业策略的变化,RMVB 在技术上的局限也是其没落的重要原因。RMVB 在处理动态场景时,其质量明显下降。特别是在高运动场景中,RMVB 容易出现色块、模糊和其他视觉伪影。这些问题在高清视频时代尤为突出,因为用户对视频质量的要求越来越高。相比之下,H.264 和后来的 H.265/HEVC 等更先进的编码标准提供了更高的压缩效率和更好的画质,特别是在处理复杂的动态场景时。这些新标准迅速成为主流,取代了 RMVB 在高质量视频领域的地位。

最终,MP4 格式的崛起对所有其他视频格式都实行了降维打击。MP4 作为一种容器格式,支持多种编解码器,包括 H.264 和 AAC,广泛应用于各种硬件平台,尤其是手机。几乎所有现代移动设备、智能电视、游戏机和计算机都内置了对 MP4 的支持,这使得 MP4 成为了事实上的标准。由于其广泛的兼容性和强大的生态系统,MP4 迅速成为用户和内容提供商的首选格式,进一步挤压了 RMVB 及其他老旧格式的生存空间。

H.264 的卧薪尝胆

H.264,也称为 MPEG-4 Part 10 或 AVC(Advanced Video Coding),在二十多年前的 2003 年就已经正式发布了。它却经历了从默默无闻到成为事实上的视频编码标准的漫长历程。

H.264 由 ITU-T 视频编码专家组(VCEG)和 ISO/IEC 动态图像专家组(MPEG)联合开发,旨在提供比当时流行的视频编码标准(如 MPEG-2 和 MPEG-4 Part 2)更高的压缩效率和更好的视频质量。然而,在 H.264 刚推出时,硬件支持是其面临的主要障碍之一。当时的处理器性能有限,无法高效地处理 H.264 编码和解码所需的复杂计算。此外,初期的硬件设备(如手机、便携式媒体播放器和电视)很少内置对 H.264 的支持,这使得该格式在消费者市场上的普及受到了限制。

尽管如此,H.264 仍然在一些专业领域得到了应用,例如广播行业和蓝光光盘。这些领域的高端设备能够提供足够的计算资源来处理 H.264 编码,从而利用其高效的压缩率和高质量的视频输出。随着技术的进步,特别是多核处理器和专用硬件加速器的发展,H.264 的编解码效率得到了显著提升,逐渐降低了对硬件性能的要求。

进入 2000 年代中期,智能手机和平板电脑开始兴起,这些移动设备的硬件性能不断提升,为 H.264 的广泛应用创造了条件。苹果公司在 2007 年推出的 iPhone 和后来的 iPad 都内置了对 H.264 的支持,这不仅提升了用户体验,还推动了其他厂商跟进。随后,Android 设备也开始广泛支持 H.264,进一步扩大了该格式的用户基础。

与此同时,流媒体服务如 YouTube、Netflix 和 Hulu 等也开始采用 H.264 作为主要的编码格式。这些平台需要一种能够在不同带宽条件下提供良好画质的编码标准,而 H.264 正好满足了这一需求。随着互联网带宽的增加和流媒体服务的普及,H.264 成为了在线视频传输的标准选择。

最终,H.264 凭借其卓越的技术性能和广泛的硬件支持,逐步取代了其他视频编码格式,成为了事实上的标准。如今,几乎所有的现代设备——从智能手机、平板电脑、智能电视到游戏机和计算机——都内置了对 H.264 的支持。H.264 不仅在消费电子领域占据主导地位,还在许多专业应用中发挥着重要作用,包括视频会议、远程教育和监控系统等。

H.265 的收费陷阱

H.264 是一个完全免费的视频编码标准,由 ITU-T 视频编码专家组(VCEG)和 ISO/IEC 动态图像专家组(MPEG)联合开发,并且已经广泛应用于各种设备和平台。许多硬件和软件都已经内置了对 H.264 的支持,无需额外的费用。相比之下,H.265 也是由 ITU-T VCEG 和 ISO/IEC MPEG 联合开发的国际标准,但它在实际应用中却面临着复杂的专利许可模式和高昂的费用问题。

首先,H.265 标准涉及多个专利持有者,这些专利持有者通常会联合起来形成专利池,以便集中管理和授权这些专利。主要的专利池包括 HEVC Advance 和 MPEG LA。专利池的存在虽然简化了授权过程,但其收费标准和结构却非常复杂且不透明。不同的设备类型(如智能手机、平板电脑、电视、监控摄像头等)可能有不同的收费标准,而对于内容提供商和流媒体服务,根据内容分发的方式(如按次付费、订阅服务等)可能会有不同的费用结构。某些情况下,费用是基于终端用户的数量来计算的,这使得成本难以预测和控制。

除了初始的一次性费用外,许多专利池还要求支付持续的年度费用或其他形式的计费方式,这增加了长期使用的成本。特别是对于大规模的内容提供商和硬件制造商,专利费用可能非常高昂。

即使支付了专利费用,如果某个实现中包含了未授权的专利技术,使用者仍可能面临法律风险。不同国家和地区对专利保护的法律规定有所不同,这也增加了跨国企业的合规难度和法律风险。

由于专利费用的问题,一些硬件制造商在提供 H.265 硬件加速支持方面较为滞后,导致在某些设备上使用 H.265 需要更多的 CPU 资源,影响用户体验。开源社区在开发 H.265 编解码器时需要避开已知的专利技术,这限制了开源实现的功能和性能。开源项目如 x265 虽然提供了免费的 H.265 编解码器实现,但仍需谨慎处理潜在的专利问题。

相比之下,H.264 作为完全免费的标准,已经被广泛接受和采用,拥有成熟的生态系统和技术支持。同时,免费且开源的视频编码标准如 AV1 和 VP9 提供了类似的压缩效率,并且没有专利费用。这些标准逐渐获得更多的支持,成为 H.265 的有力竞争者,不过,相较而言,H.265 目前在实际中仍有不可撼动的地位。


http://www.ppmy.cn/embedded/129165.html

相关文章

【博士每天一篇文献-算法】持续学习之GEM算法:Gradient Episodic Memory for Continual Learning

1 介绍 年份&#xff1a;2017 期刊&#xff1a; Advances in neural information processing systems 引用量&#xff1a;2829 Lopez-Paz D, Ranzato M A. Gradient episodic memory for continual learning[J]. Advances in neural information processing systems, 2017…

python中堆的用法

Python 堆&#xff08;Headp&#xff09; Python中堆是一种基于二叉树存储的数据结构。 主要应用场景&#xff1a; 对一个序列数据的操作基于排序的操作场景&#xff0c;例如序列数据基于最大值最小值进行的操作。 堆的数据结构&#xff1a; Python 中堆是一颗平衡二叉树&am…

K8s高级调度--CronJob与污点容忍及亲和力

文章目录 CronJobCronJob 的核心概念Job调度时间表并发策略启动历史保留 CronJob YAML 配置示例Cron 表达式 CronJob 实际应用场景定期数据备份日志清理任务 污点和容忍污点的概念污点的三种效应污点和容忍的工作流程设置污点和容忍1. 给节点添加污点2. 给 Pod 添加容忍 实际应…

LeetCode搜索插入位置

题目描述 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例 1: 输入: nums [1,3,5,6], target 5 输出: 2 …

六、存储过程和触发器及视图和临时表

一. 存储过程和触发器是数据库中用于实现复杂业务逻辑和自动化操作的重要工具。 下面是对存储过程和触发器的详细讲解和示例说明&#xff1a;存储过程&#xff1a; 存储过程是一组预定义的SQL语句&#xff0c;封装在数据库中并可通过名称调用。存储过程可以接受输入参数和输出…

Win10+Python3.8+GPU版tensorflow2.x环境搭建最简流程(转载学习用)

在开始之前&#xff0c;请确保你的计算机已经安装了Windows 10操作系统&#xff0c;并且具备一个支持CUDA的NVIDIA显卡。 步骤1&#xff1a;安装Python 3.8 你可以选择从Python官网下载Python 3.8的安装包。在下载过程中&#xff0c;请确保勾选“Add Python to PATH”选项&…

gc cr/current block 2-way

官方文档描述 14.9.4 Analyzing Cache Fusion Transfer Impact Using GCS Statistics Describes how to monitor GCS performance by identifying objects read and modified frequently and the service times imposed by the remote access. Waiting for blocks to arrive ma…

java通过模板实现导出

/*** 导出作业票角度统计*/Log(title "导出作业票角度统计", businessType BusinessType.EXPORT)PostMapping("/export")public void export(HttpServletResponse response, PlanWiDto dto) throws IOException {try {ExcelUtil.createExcel(response, &…