一、常见视频编码格式

编码格式有很多,如下图:

目前比较常用的编码有:

  • H26x系列:由ITU(国际电传视讯联盟)主导,侧重网络传输

  • MPEG系列:由ISO(国际标准组织机构)下属的MPEG(运动图象专家组)开发

  • PV8/PV9:VP8 是类似于 H.264 的另一种视频编码,由 On2 公司开发。后来 Google 收购了 On2。主要应用在 webrtc 中,音视频通话一般都是基于 webrtc 实现的

目前在这些众多编码格式中,做音视频开发最关注的应该就是 H.264/AVC 和 H.265/HEVC。其中 H.264 、H.265 是 ITU-T 的命名, AVC、HEVC 是 ISO 的命名,两个其实是一样。

有时候可以看到 H.264 会写成 MPEG-4/AVC。上面讲到 H.26X 系统由 ITU 主导开发,MPEG 系列由 ISO 主导开发。而 H.264 和 H.265 是由 ITU 和 ISO 共同开发的,H.264,H.265 是 ITU 组织对这两种编码格式的命名,MPEG-4/AVC,MPEG-4/HEVC 是 ISO 组织对这两种编码格式的命名。本质是差不多的编码格式,只是命名区别。

二、视频编码发展简史

1984 年 CCITT 第 15 研究组发布了数字基群电视会议编码标准 H.120 建议。 1988 年

CCITT 通过了“p×64Kbps( p= 1,2,3,4,5,,,,30) ”视像编码标准 H.261 建议, 被称为视频压缩

编码的一个里程碑。从此, ISO、ITU- T 等公布的基于波形的一系列视频编码标准的编码方法都是基于 H.261 中的混合编码方法。

1986 年, ISO 和 CCITT 成立了联合图像专家组( JPEG, Joint Photographic Experts Group),研究连续色调静止图像压缩算法国际标准, 1992 年 7 月通过了 JPEG 标准。

1988 年 ISO/IEC 信息技术联合委员会成立了活动图像专家组( MPEG, Moving Picture

Expert Group)。 1991 年公布了 MPEG-1 视频编码标准,码率为 1.5Mbps,主要应用于家用 VCD 的视频压缩; 1994 年 11 月,公布了 MPEG-2 标准, 用于数字视频广播( DVB)、家用 DVD 的视频压缩及高清晰度电视( HDTV)。码率从 4Mbps、15Mbps……直至 100 Mbps 分别用于不同档次和不同级别的视频压缩中。

1995 年, ITU-T 推出 H.263 标准,用于低于 64 Kbps 的低码率视频传输,如 PSTN 信道

中可视会议、多媒体通信等。 1984 年和 2000 年又分别公布了 H.263+、 H.263++ 等标准。

1999 年 12 月份, ISO/IEC 通过了“视听对象的编码标准”——MPEG4,它除了定义视频压缩编码标准外,还强调了多媒体通信的交互性和灵活性。

2003 年 3 月, ITU-T 和 ISO/IEC 正式公布了 H.264 视频压缩标准,不仅显著提高了压缩比,而且具有良好的网络亲和性,加强了对 IP 网、移动网的误码和丢包的处理。有人将 H.264 称为新一代的视频编码标准。

2013 年 2 月,ITU-T 正式批准通过了 H.265/HEVC 标准,标准全称为高效视频编码(High Efficiency Video Coding),相较于之前的 H.264 标准有了相当大的改善。H.265 旨在在有限带宽下传输更高质量的网络视频,仅需原先的一半带宽即可播放相同质量的视频。这也意味着,我们的智能手机、平板机等移动设备将能够直接在线播放 1080p 的全高清视频。H.265标准也同时支持 4K(4096×2160)和 8K(8192×4320)超高清视频。可以说,H.265 标准让网络视频跟上了显示屏“高分辨率化”的脚步。

三、H.264与H.265的关联与区别

关联

H.265 与 H.264 同属于 ITU-T VCEG(国际视频解码专家组)所制定的视频编码标准,都属于目前世界上最重要的视频解码标准,广泛应用于视频储存、广播电视、网络等各类视频传输流中(在 H.265 出现之前,H.264 几乎是最著名的编解码标准 —— 所有蓝光播放器都必须能解码 H.264)。

H.265 是基于 H.264 技术加以优化后的视频编码标准,在保留 H.264 技术特性的同时,进一步改善了码流、编码质量、延时和数据算法之间的关系,性能相对更强。

在 1080P 为极致观影追求的时代,H.264 是最理想的解码方式,而随着 4K 成为行业大趋势,H.265 才是其最理想的搭档。

区别

  • H.265/HEVC 的编码架构与 H.264/AVC 的架构相似,主要也包含帧内预测、帧间预测、转换等。但 H.265/HEVC 包括编码单元(coding unit, CU)、预测单元(predict unit, PU)和转换单元(transform unit, TU)。
  • H.265 在相同的图象质量下,相比于 H.264,通过 H.265 编码的视频大小将减少大约 39-44%。
  • 比起 H.264/AVC,H.265/HEVC 提供了更多不同的工具来降低码率,以编码单位来说,H.264 中每个宏块(macroblock/MB)大小都是固定的 16×16 像素,而 H.265 的编码单位可以选择从最小的 8×8 到最大的 64×64。
  • H.264 由于算法优化,可以低于 1Mbps 的速度实现标清数字图像传送;H.265 则可以实现利用 1~2Mbps 的传输速度传送 720P(分辨率 1280×720)普通高清音视频传送。
  • H.265 的帧内预测模式支持 33 种方向(H.264 只支持 8 种),并且提供了更好的运动补偿处理和矢量预测方法。

参考:

H264系列--简单的视频编码历史介绍

HEVC(H.265)与AVC(H.264)的区别与联系

【H264】视频编码发展简史的更多相关文章

  1. H264视频编码成MP4文件

    firehood的专栏 Wince嵌入式开发       目录视图 摘要视图 订阅 赠书 | AI专栏(AI圣经!<深度学习>中文版)      每周荐书:Kotlin.分布式.Keras ...

  2. 【转】H264视频编码级别说明profile level Encoder

    版权声明:本文为博主原创文章,未经博主允许不得转载. 首先要阐明所谓的AVC其实就是H.264标准,是由ITU-T和ISO/IEC组成的联合视频组(JVT,Joint Video Team)一起开发的 ...

  3. 利用OpenCV进行H264视频编码的简易方式

    在Python下,利用pip安装预编译的opencv库,并实现h264格式的视频编码. 1. 安装OpenCV $ pip install opencv-python 建议在python虚拟环境下安装 ...

  4. 【转载】视频编码(H264概述)

    一视频编码介绍 1.1 视频压缩编码的目标 1)保证压缩比例 2)保证恢复的质量 3)易实现,低成本,可靠性 1.2 压缩的出发点(可行性) 1)时间相关性 在一组视频序列中,相邻相邻两帧只有极少的不 ...

  5. 使用ffmpeg将BMP图片编码为x264视频文件,将H264视频保存为BMP图片,yuv视频文件保存为图片的代码

    ffmpeg开源库,实现将bmp格式的图片编码成x264文件,并将编码好的H264文件解码保存为BMP文件. 实现将视频文件yuv格式保存的图片格式的測试,图像格式png,jpg, gif等等測试均O ...

  6. 嵌入式 视频编码(H264)

    这几天在编写视频录制模块,所以,闲暇之余,又粗粗的整理了一下,主要是API,以备不时之用    摄像头获取的模拟信号通过经芯片处理(我们使用的是CX25825),将模拟信号转成数字信号,产生标准的IT ...

  7. 嵌入式 视频编码(H264)hi3518

    这几天在编写视频录制模块,所以,闲暇之余,又粗粗的整理了一下,主要是API,以备不时之用    摄像头获取的模拟信号通过经芯片处理(我们使用的是CX25825),将模拟信号转成数字信号,产生标准的IT ...

  8. Mediacodec编码后的h264视频出现马赛克问题

    问题:在视频采集后,通过Mediacodec编码生成h264视频文件,播放时出现马赛克较多,无论调整帧率.码率.还是分辨率都不能解决问题 出现问题的原因:编码时传入的时间戳不对.时间戳是视频播放的标准 ...

  9. HTTP发展简史

    HTTP发展简史 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的 ...

随机推荐

  1. VMware虚拟化与Kubernetes(K8s)类比阐述-适合VMware用户

    概述 容器技术是最近几年非常热门的技术,它似乎就是为云端的应用量身定制的,所以它也被贴上了云原生应用 (Cloud Native Application) 技术的标签.目前最为流行的容器管理调度平台是 ...

  2. win10安装CUDA CUDNN tensorflow-gpu 1.14

    #1 安装anaconda 官网下载安装即可.python3.7版本 #2 安装CUDA CUDNN   tensorflowgpu1.14 对应CUDNN 7.6.1 CUDA 10.0 注意ten ...

  3. 2019牛客多校第二场E MAZE(线段树 + 矩阵)题解

    题意: n * m的矩阵,为0表示可以走,1不可以走.规定每走一步只能向下.向左.向右走.现给定两种操作: 一.1 x y表示翻转坐标(x,y)的0.1. 二.2 x y表示从(1,x)走到(n,y) ...

  4. 【情人节选帽子】TCS34725颜色传感器和Python图形界面编程(STM32 HAL库)

    截图 描述: l  STM32 HAL库编程 l  使用模拟IIC通信,方便程序移植 l  Python界面编写,蘑菇头的帽子是什么颜色 l  STM32 HAL库串口通信 l  Python界面使用 ...

  5. 恕我直言!!!对于Maven,菜鸟玩dependency,神仙玩plugin

    打包是一项神圣.而庄严的工作.package意味着我们离生产已经非常近了.它会把我们之前的大量工作浓缩成为一个.或者多个文件.接下来,运维的同学就可以拿着这些个打包文件在生产上纵横四海了. 这么一项庄 ...

  6. vue & this.$copyText

    vue & this.$copyText click copy https://www.npmjs.com/package/vue-clipboard2 <p>{{message2 ...

  7. text image & 思维脑图 & xmind

    text image & 思维脑图 text-image 图片读 rgb 值->灰度值->字符; rgb->灰度值的公式 google 一下就有,灰度值传字符部分,从灰度值从 ...

  8. where is the storage location of the browser's HTTP cache? disk or memory

    where is the storage location of the browser's HTTP cache? disk or memory HTTP cache & storage l ...

  9. PM2 in depth

    PM2 in depth ecosystem.config.js module.exports = { apps : [{ name: "app", script: ". ...

  10. ubuntu无法连接有线网

    问题描述: ubuntu下仅能连接无线网,不能连接有线网,在有线网的下面是没有选项可供连接. 解决方法: 编辑 /etc/network/interfaces 这个文件 将里面仅仅写两句话 auto ...