视频编解码学习7之视频编码简介

视频编码技术发展历程与主流编码标准详解

视频编码技术是现代数字媒体领域的核心技术之一,它通过高效的压缩算法大幅减少了视频数据的体积,使得视频的存储、传输和播放变得更加高效和经济。从早期的H.261标准到最新的AV1和H.266/VVC,视频编码技术经历了数十年的发展演进,压缩效率提高了数十倍。本文将全面介绍视频编码技术的发展历史、基本原理以及所有主流编码技术的详细特点,包括H.26x系列、MPEG系列以及新兴的AV1等开放标准,帮助读者深入理解这一关键技术领域的发展脉络和技术特点。

视频编码技术概述与发展历程

视频编码技术是指通过特定算法对原始视频数据进行压缩处理,以减少存储空间和传输带宽需求的技术。自20世纪80年代以来,视频编码技术经历了从简单压缩到高效智能编码的演进过程,其发展动力主要来源于对更高压缩效率更好视频质量的不懈追求。

视频编码技术的发展历程可以清晰地划分为几个重要阶段:

  • 1980年代-早期标准诞生:这一时期诞生了H.261标准,它是首个实用的视频编码标准,专为ISDN网络上的视频会议设计,采用了基于运动补偿的帧间预测和DCT变换的混合编码框架,奠定了后续标准的基础架构159。同时期,MPEG组织也开始制定用于存储媒体的压缩标准。

  • 1990年代-标准分化发展:ITU-T推出了H.263标准,针对低码率应用进行了优化;而ISO/IEC的MPEG组织则发布了MPEG-1(用于VCD)、MPEG-2(用于DVD和数字电视)等标准。这一时期的特点是标准分化,针对不同应用场景发展出不同的编码技术16。

  • 2000年代-统一与高效:H.264/AVC标准的出现标志着视频编码技术进入成熟期,它由ITU-T和ISO/IEC联合制定,在压缩效率上实现了重大突破,比H.263提高了约50%的压缩率,成为互联网视频的事实标准236。

  • 2010年代-高清与智能:随着4K/8K视频的普及,H.265/HEVC应运而生,它进一步提高了压缩效率,支持更高分辨率的视频。同时,谷歌主导的VP9和开放媒体联盟的AV1等免版税标准开始挑战传统专利标准23。

  • 2020年代-智能与沉浸:最新的H.266/VVC和AV1等标准开始支持更智能的内容感知编码,为元宇宙、VR/AR等沉浸式应用提供技术基础310。

视频编码技术的基本原理是去除视频数据中的冗余信息,主要包括三种类型的冗余:

  1. 空间冗余:图像相邻像素之间的相关性,可以通过帧内预测和变换编码来消除68。

  2. 时间冗余:视频序列中相邻帧之间的相似性,通过运动估计和运动补偿技术来减少68。

  3. 统计冗余:数据本身的概率分布不均匀性,通过熵编码(如哈夫曼编码、算术编码)来压缩78。

此外,编码技术还利用人类视觉系统(HVS)的特性,去除人眼不敏感的视觉冗余信息,如对色度信息采用比亮度信息更低的采样率8。

表:视频编码技术发展里程碑

年代标准主要特点典型应用
1984-1990H.261首个实用视频编码标准,混合编码框架ISDN视频会议
1990-1995MPEG-1, H.263支持CD-ROM视频,改进低码率性能VCD, 视频电话
1995-2003MPEG-2, MPEG-4支持数字电视,引入基于对象编码DVD, 数字电视
2003-2013H.264/AVC压缩效率提高50%,网络友好互联网视频, HDTV
2013-2020H.265/HEVC, VP9支持4K/8K,压缩效率再提高50%UHDTV, 流媒体
2020-至今H.266/VVC, AV1智能编码,支持VR/AR元宇宙, 沉浸式媒体

随着技术的进步,视频编码标准不仅在压缩效率上持续提升,在功能上也越来越丰富,从单纯的压缩工具发展为支持可伸缩编码错误恢复内容交互等高级特性的多媒体处理平台36。同时,编码标准的制定也从最初的专有技术逐步走向开放协作,AV1等开放标准的出现为行业带来了新的发展机遇2。

早期视频编码标准:H.261与MPEG-1

视频编码技术的标准化进程始于20世纪80年代末,当时数字视频应用开始从专业领域向商业和消费领域扩展。H.261和MPEG-1作为最早的两个重要视频编码标准,奠定了现代视频压缩技术的基础框架,其影响一直延续至今。

H.261:视频编码的奠基者

H.261标准由ITU-T(国际电信联盟电信标准化部门)于1988年制定完成,1990年正式批准,是第一个实用化的视频编码标准。它专为ISDN(综合业务数字网)上的视频会议和可视电话应用设计,目标码率为p×64kbit/s(p=1~30),因此也被称为"p×64"标准159。

H.261的技术创新主要体现在以下几个方面:

  1. 混合编码框架:H.261首次将帧间预测变换编码结合起来,形成了经典的"预测+变换"混合编码架构。这一框架被后续几乎所有视频编码标准所继承17。具体流程包括:运动补偿的帧间预测、DCT变换、量化和熵编码。

  2. 基于块的处理:H.261将图像划分为16×16像素的宏块(Macroblock),这是视频编码中块处理概念的起源。每个宏块可以独立选择使用帧内编码或帧间编码模式59。

  3. 运动补偿技术:为了去除时间冗余,H.261引入了运动估计和运动补偿技术,通过寻找相邻帧中相似块的位置偏移(运动矢量),只编码残差部分79。

  4. DCT变换:对残差数据或帧内块进行8×8离散余弦变换(DCT),将空域信号转换到频域,使能量集中在少数低频系数上,便于后续量化压缩15。

H.261仅支持两种图像格式:QCIF(176×144)和CIF(352×288),且运动估计精度只到整像素级别,没有B帧(双向预测帧)概念,只有I帧(帧内编码帧)和P帧(前向预测帧)69。尽管以今天的标准看,H.261的压缩效率不高,但它确立了视频编码的基本方法论,其技术框架影响深远。

MPEG-1:面向存储媒体的编码标准

MPEG-1是ISO/IEC的运动图像专家组(MPEG)于1993年发布的视频编码标准,主要针对CD-ROM等存储媒体上的视频播放应用,典型码率为1.2Mbit/s左右,能够提供30帧CIF(352×288)质量的图像159。

MPEG-1在H.261的基础上进行了多项重要改进:

  1. 引入B帧:MPEG-1新增了双向预测帧(B帧),可以同时参考前后帧进行预测,显著提高了压缩效率。B帧的使用是MPEG-1相比H.261压缩效率提升的关键因素之一16。

  2. 更灵活的GOP结构:MPEG-1定义了图像组(GOP,Group of Pictures)的概念,允许在I帧和P帧之间插入多个B帧,形成如IBBPBBPBB...的编码结构68。

  3. 半像素运动估计:将运动估计的精度从H.261的整像素提高到半像素级别,使运动补偿更加精确,残差数据更小19。

  4. D帧:MPEG-1还引入了直流帧(D帧),只编码块的DC系数,用于快速预览等特殊应用5。

MPEG-1标准分为系统、视频和音频三部分,其中第二部分是视频编码规范。它最初是为VCD(视频光盘)设计的,但也广泛应用于早期的网络视频。MPEG-1的一个显著特点是编解码复杂度不对称,编码比解码复杂得多,这符合存储应用的特点15。

表:H.261与MPEG-1主要技术参数对比

技术特性H.261MPEG-1
制定组织ITU-TISO/IEC MPEG
发布时间19901993
目标应用视频会议CD-ROM视频
典型码率p×64kbit/s (p=1~30)1.2Mbit/s
图像格式QCIF, CIFCIF
帧类型I帧, P帧I帧, P帧, B帧
运动估计精度整像素半像素
关键技术DCT变换, 运动补偿引入B帧, GOP结构

早期标准的局限性与影响

尽管H.261和MPEG-1取得了巨大成功,但随着应用需求的增长,它们逐渐暴露出一些局限性:

  1. 压缩效率有限:受当时技术条件限制,早期标准的压缩率相对较低,H.261在低码率下图像质量较差,MPEG-1的1.2Mbit/s码率也难以满足更高画质需求15。

  2. 功能单一:这些标准主要针对特定应用设计(H.261用于视频会议,MPEG-1用于存储播放),缺乏灵活性和可扩展性9。

  3. 分辨率支持有限:最高只支持CIF(352×288)分辨率,无法满足后来出现的标准清晰度电视(SDTV)和高清晰度电视(HDTV)需求16。

然而,H.261和MPEG-1确立的混合编码框架——运动补偿预测加变换编码——成为后续所有主流视频编码标准的基础。据估计,现代视频编码标准如H.264/AVC和H.265/HEVC中,约有70%的技术可以追溯到H.261最初的设计理念7。这种技术框架的持久生命力证明了早期标准设计的合理性和前瞻性。

随着多媒体应用的普及,用户对视频质量的要求不断提高,推动着视频编码技术向更高效率、更多功能的方向发展,直接催生了MPEG-2、H.263等后续标准159。

视频编码技术成熟期:H.263与MPEG-2/4

随着多媒体应用的普及和数字电视的兴起,1990年代中期至2000年代初,视频编码技术进入快速发展阶段。这一时期出现了多个重要标准,包括ITU-T的H.263系列和ISO/IEC的MPEG-2、MPEG-4标准,它们在压缩效率、功能丰富性和应用范围等方面都有显著提升,为现代数字视频产业奠定了基础。

H.263:低码率视频通信标准

H.263是ITU-T于1995年制定的视频编码标准,最初目标是面向极低码率应用(小于64kbit/s),如PSTN网络上的视频电话159。然而随着技术发展,H.263及其后续版本(H.263+、H.263++)逐渐演变为支持全码率应用的通用标准。

H.263在H.261基础上引入了多项技术创新:

  1. 半像素运动补偿:运动矢量精度提高到半像素级别,使预测更加精确,显著减少了预测残差16。

  2. PB帧模式:允许将两个帧(P帧和B帧)编码为一个单元,提高编码效率59。

  3. 更多图像格式:支持Sub-QCIF(128×96)、QCIF(176×144)、CIF(352×288)、4CIF(704×576)甚至16CIF(1408×1152)等多种格式,应用范围更广16。

  4. 非限制运动矢量:允许运动矢量指向图像边界外的参考像素,通过边缘扩展技术实现,提高了边缘宏块的预测效率5。

  5. 高级预测模式:包括重叠块运动补偿(OBMC)和四个运动矢量模式(每个宏块可以使用四个8×8块的运动矢量而非一个16×16矢量)59。

H.263标准设计非常灵活,包含大量可选功能,这使得它能够通过不同的配置适应从极低码率(28.8kbit/s调制解调器)到较高码率(数Mbit/s)的各种应用场景1。然而,过多的选项也导致H.263实现复杂,不同设备间的互操作性成为挑战,这一问题在H.263+和H.263++中更为突出59。

MPEG-2:数字电视的基石

MPEG-2标准于1995年发布,是MPEG-1的扩展和完善,主要针对数字电视高清晰度视频应用16。它保持了与MPEG-1的向后兼容性,同时在多个方面进行了重要增强:

  1. 支持隔行扫描视频:MPEG-2明确区分"帧"(渐进扫描)和"场"(隔行扫描)的概念,在场编码模式下,可以对顶场和底场分别进行运动补偿预测16。

  2. 更高的分辨率支持:MPEG-2支持从低分辨率(352×288)到高清晰度(1920×1080)的多种图像格式,满足从VCD到HDTV的不同需求6。

  3. 可分级编码:引入空间可分级性、时间可分级性和信噪比(SNR)可分级性,允许从一个码流中提取不同质量的子码流,适应不同的网络条件和终端能力15。

  4. 更精细的量化控制:MPEG-2采用更精细的量化步长调整策略,支持非线性量化矩阵,更好地适应人类视觉特性6。

  5. 传输流与节目流:MPEG-2系统层定义了两种复用格式:传输流(TS)用于易错环境如广播,节目流(PS)用于无误码环境如存储媒体,这一设计极大促进了数字电视的发展1。

MPEG-2视频部分(第二部分)的技术规范与ITU-T的H.262标准完全相同,是两大标准化组织合作的成果15。MPEG-2取得了巨大商业成功,广泛应用于数字卫星电视、有线数字电视、DVD视频以及后来的地面数字电视等领域。即使在今天,虽然压缩效率已被新一代标准超越,MPEG-2仍在许多传统广播系统中使用6。

MPEG-4:基于对象的编码革命

MPEG-4(第二部分)标准于1999年发布,代表了视频编码理念的重大转变——从基于帧的编码转向基于对象的编码159。其核心思想是将视频场景视为由多个音频视频对象(AVO,Audio-Visual Object)组成,每个对象可以独立编码、传输和组合,从而实现高度交互性。

MPEG-4的主要技术创新包括:

  1. 基于对象的编码:支持对场景中的不同对象(如前景人物和背景)分别编码,用户可以选择性地解码和操作特定对象14。

  2. 形状编码:为每个视频对象定义透明度形状信息,并对其进行高效编码,这是实现对象分离的基础45。

  3. 精灵编码:针对背景等静态或准静态对象,采用精灵(Sprite)编码技术,将整个背景作为一张大图传输,然后只传送相机运动参数5。

  4. 可伸缩性增强:提供比MPEG-2更灵活的可分级编码方式,支持精细粒度可伸缩性(FGS)编码1。

  5. 人脸与身体动画:定义参数化的人脸和身体动画模型,可以用极低的码率驱动虚拟人物5。

尽管MPEG-4的基于对象编码理念极具前瞻性,但由于技术复杂度和实现难度较高,这部分功能在实际应用中并未广泛普及19。相反,MPEG-4的简单档次(Simple Profile)和高级简单档次(Advanced Simple Profile)等基于传统帧编码的部分得到了广泛应用,特别是在网络视频和移动视频领域56。

MPEG-4还引入了DRM支持交互性等特性,使其成为第一个真正意义上的多媒体框架标准,而不仅仅是视频编码标准5。然而,MPEG-4的专利授权政策较为复杂且费用较高,这在一定程度上限制了它的普及6。

表:H.263、MPEG-2与MPEG-4主要特性对比

特性H.263系列MPEG-2MPEG-4(第二部分)
主要目标低码率视频通信数字电视与存储多媒体交互与低码率
核心技术半像素运动估计,PB帧隔行扫描处理,可分级编码基于对象的编码,形状编码
典型应用视频会议,可视电话DVD,数字电视网络视频,移动视频
压缩效率比H.261提高30-50%与MPEG-1相当(同质量下码率减半)比MPEG-1提高约50%
创新特点灵活选项多,适应性强传输流,广播友好

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/905237.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用Stable Diffusion(SD)中,步数(Steps)指的是什么?该如何使用?

Ⅰ定义: 在Stable Diffusion(SD)中,步数(Steps) 指的是采样过程中的迭代次数,也就是模型从纯噪声一步步“清晰化”图像的次数。你可以理解为模型在画这张图时“润色”的轮数。 Ⅱ步数的具体作…

消息队列如何保证消息可靠性(kafka以及RabbitMQ)

目录 RabbitMQ保证消息可靠性 生产者丢失消息 MQ丢失消息 消费端丢失了数据 Kakfa的消息可靠性 生产者的消息可靠性 Kakfa的消息可靠性 消费者的消息可靠性 RabbitMQ保证消息可靠性 生产者丢失消息 1.事务消息保证 生产者在发送消息之前,开启事务消息随后生…

如何查看项目是否支持最新 Android 16K Page Size 一文汇总

前几天刚聊过 《Google 开始正式强制 Android 适配 16 K Page Size》 之后,被问到最多的问题是「怎么查看项目是否支持 16K Page Size」 ?其实有很多直接的方式,但是最难的是当你的项目有很多依赖时,怎么知道这个「不支持的动态库…

HttpServletResponse的理解

HttpServletResponse 是 Java Servlet API 提供的一个接口 常用方法 方法用途setContentType(String type)设置响应内容类型(如 "application/json"、"text/html")setStatus(int sc)设置响应状态码(如 200、404&#x…

可灵 AI:开启 AI 视频创作新时代

在当今数字化浪潮中,人工智能(AI)技术正以前所未有的速度渗透到各个领域,尤其是在内容创作领域,AI 的应用正引发一场革命性的变革。可灵 AI 作为快手团队精心打造的一款前沿 AI 视频生成工具,宛如一颗璀璨的…

用 AltSnap 解锁 Windows 窗口管理的“魔法”

你有没有遇到过这样的场景:电脑屏幕上堆满了窗口,想快速调整它们的大小和位置,却只能拖来拖去,费时又费力?或者你是个多任务狂魔,喜欢一边写代码、一边看文档、一边刷视频,却发现 Windows 自带的…

深度策略梯度算法PPO

一、策略梯度核心思想和原理 从时序差分算法Q学习到深度Q网络,这些算法都侧重于学习和优化价值函数,属于基于价值的强化学习算法(Value-based)。 1. 基于策略方法的主要思想(Policy-based) 基于价值类方…

【LaTeX】Word插入LaTeX行间公式如何编号和对齐

在 Word 文档中插入公式,需要用到 LaTeX \LaTeX LATE​X 。但遗憾的是,Word 只支持部分 LaTeX \LaTeX LATE​X 语法,这就导致很多在 Markdown 能正常渲染的公式在 Word 中无法正常显示。 “内嵌”和“显示” 首先介绍一下 Word 的“内嵌”…

互联网大厂Java面试实战:Spring Boot到微服务的技术问答解析

💪🏻 1. Python基础专栏,基础知识一网打尽,9.9元买不了吃亏,买不了上当。 Python从入门到精通 😁 2. 毕业设计专栏,毕业季咱们不慌忙,几百款毕业设计等你选。 ❤️ 3. Python爬虫专栏…

spring boot3.0自定义校验注解:文章状态校验示例

文章目录 Spring Boot 自定义校验注解:状态校验示例一、创建 State 注解步骤:1. 创建自定义注解:2. 实现校验逻辑: 二、 实现自定义校验步骤:1. 在实体类中使用自定义校验注解 State:2. 添加 State 注解: 总…

无侵入式弹窗体验_探索 Chrome 的 Close Watcher API

1. 引言 在网页开发中,弹窗(Popup)是一种常见的交互方式,用于提示用户进行操作、确认信息或展示关键内容。然而,传统的 JavaScript 弹窗方法如 alert()、confirm() 和 prompt() 存在诸多问题,包括阻塞主线程、样式不可定制等。 为了解决这些问题,Chrome 浏览器引入了 …

调出事件查看器界面的4种方法

方法1. 方法2. 方法3. 方法4.

Ubuntu 安装远程桌面连接RDP方式

1. 安装 XFCE4 桌面环境 如果你的 Ubuntu 系统默认使用 GNOME 或其它桌面环境,可以安装轻量级的 XFCE4: sudo apt update sudo apt install xfce4 xfce4-goodies 说明:xfce4-goodies 包含额外的插件和工具(如面板插件、终端等&a…

LWIP传输层协议笔记

传输协议简介 文件/图片/视频 都是一堆二进制数据 经过传输层来传输 这两种协议有什么区别呢? 传输层的TCP/UDP三个步骤 TCP使用传输流程 1、三次握手 作用:三次握手就是建立连接的过程 2、传输数据 作用:建立连接完成之后&#xff…

数据分析与逻辑思维:六步解决业务难题;参考书籍《数据分析原理:6步解决业务分析难题 (周文全, 黄怡媛, 马炯雄)》

文章目录 一、懂业务:业务背景与逻辑前提1.1 明确业务目标与问题定义1.2 培养批判性思维与高于业务视角 二、定指标:构建科学的指标体系2.1 指标拆解与维度分析2.2 典型指标体系案例:用户与业务视角 三、选方法:匹配业务需求的分析…

开启WSL的镜像网络模式

开启WSL的镜像网络模式 前提 Windows主机系统版本高于Windows 11 22H2。WLS版本>2.0。 可输入wsl --version查看当前系统wsl版本。 修改设置 图形界面修改 在开始菜单中搜索:wsl settings,结果如下图所示: 点击“打开”&#xff0…

Python爬虫第20节-使用 Selenium 爬取小米商城空调商品

目录 前言 一、 本文目标 二、环境准备 2.1 安装依赖 2.2 配置 ChromeDriver 三、小米商城页面结构分析 3.1 商品列表结构 3.2 分页结构 四、Selenium 自动化爬虫实现 4.1 脚本整体结构 4.2 代码实现 五、关键技术详解 5.1 Selenium 启动与配置 5.2 页面等待与异…

聚类分析的原理、常用算法及其应用

聚类分析的原理、常用算法及其应用 一、聚类分析的基本原理 (一)什么是聚类分析 聚类分析是一种无监督学习方法,其目标是将数据集中的样本划分为若干个簇,每个簇包含相似的样本。聚类分析的核心思想是通过某种相似性度量&#…

Aware和InitializingBean接口以及@Autowired注解失效分析

Aware 接口用于注入一些与容器相关信息,例如: ​ a. BeanNameAware 注入 Bean 的名字 ​ b. BeanFactoryAware 注入 BeanFactory 容器 ​ c. ApplicationContextAware 注入 ApplicationContext 容器 ​ d. EmbeddedValueResolverAware 注入 解析器&a…

JDK 安装与配置

JDK 全称是 Java SE Development Kit,翻译成中文就是:Java 标准版开发包,是 Sun 公司(后被 Oracle 公司收购)专门外 Java 开发人员提供的一套用于开发 Java 应用程序的工具包。 JDK 提供了用于编译和运行 Java 应用程序…