ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

视频编解码——主流视频编码标准的发展(H.261/H.263/MPEG-1/MPEG-2/MPEG-4))

2021-04-28 10:03:32  阅读:239  来源: 互联网

标签:视频 MPEG H.261 编码 编码标准 图像 宏块


目录

制定标准的组织

在这里插入图片描述

这些标准主要由两个组织制定。

  • 国际电信联盟——ITU-T
  • 国际标准化组织——ISO
    目前世界上影响力最强的视频编码标准基本都出自于这两个组织。

在这里插入图片描述
除了这两个组织,还有

  • Google——VP8/VP9
  • Microsoft——VC-1
  • 国产自主标准——AVS/AVS+/AVS2

两种编码方式

基于波形的编码

特点
编码的数据正对每一帧的图像包含的像素值,即采样像素的波形

方法
利用像素之间再时间与空间上的相关性,采用预测编码变换编码结合的基于块的混合编码方法

代表
MPEG-1,MPEG-2,H.264,H.265等

这种编码方式是从编解码开始到现在,最主流的编码框架

基于内容的编码

特点
视频帧分城对立不同物体的区域,分别对其编码

方法
针对不同物体的形状、运动和纹理进行编码

代表
MPEG-4

H.261

诞生于1988年,是视频编码发展以来第一个里程碑。

是第一种采用“块结构的混合编码”方案的编码标准

目的
视频会议、可视电话等低码率视屏图像传输

数据格式
公共中间格式(Common Intermediate Format,CIF)

在H.261产生的时代,由于各国电视制式的不一致,是无法互通的。为了解决数据格式不兼容的问题,H.261定义了一种中间数据格式——CIF。
所以在使用H.261进行编码之前,首先转换为CIF格式然后再编码,接收端接收后再转为各自的格式。

每一帧的分辨率(亮度):

  • CIF——352 x 288
  • QCIF(quater)——176 x 144

系统图

在这里插入图片描述

信源编码器

H.264、H.265格式都是通过以下格式进行改进的
在这里插入图片描述
主要用到的技术如下

  • 帧内编码/帧间编码
    根据帧间相关性判定。相关性高使用帧间编码、相关性低使用帧内编码
  • 帧间编码/运动估计
    使用以宏块为基础的运动补偿预测编码。当前宏块从参考帧中查找最佳匹配宏块,并计算其相对偏移量(Vx,Vy)最为运动矢量;编码器使用DCT、量化编码当前宏块和预测宏块的残差信号
  • 帧内编码
    帧内编码直接使用DCT编码8 x 8像素值
  • 环路滤波器
    实际上是一个数字低通滤波器,滤除不必要的高频信息,以消除方块效应

复合编码器

符合编码器将不同层次的H.261语法元素编码为H.264的码流
在这里插入图片描述

  • 帧层
    由帧首和块组数据构成;帧首包括帧起始码(PSC)、帧计数码(TR)、帧类型(PTYPE)等

  • 块组层
    由块组首和宏块数据组成。块组首包括组七十码(GBSC)、块组编号码(GN)、块组量化步长等

  • 宏块层
    由宏块首和块数据构成;宏块首包括宏块地址码、宏块类型、宏块量化步长、运动矢量数据、编码模式等

  • 块层
    包括每个 8 x 8块的DCT系数按之字形扫描后的熵编码码流,以块结束符结尾

H.263

是相对于H.261的改进标准,相比于H.261有更好的压缩效率。

  • 运动矢量
    H.261的运动矢量是分配到每个宏块中的,即H.261对每一个MB分配一个运动矢量;而H.263支持每一个8 x 8块各自使用一个运动矢量

  • MV精度
    相对于H.261只支持整数像素运动搜索,H.263的精度为1/2像素

  • 双向预测模式
    H.263支持B帧,使用前后双向预测模式

  • 熵编码
    采用算术编码算法,运算复杂度高,可显著降低码率

  • 支持的图像格式

在这里插入图片描述

MPEG-1

ISO下属的移动图像专家组指定的早期视频压缩标准。
主要用于视频信息的存储、广播电视以及网络传输应用

  • 作用
    CD/VCD中存储音视频信息

  • 码率
    1.2~1.5MB/s

  • 图像类型
    支持I、B、P帧。

    • I帧:帧内编码帧,采用帧内编码,可作为P/B帧的参考帧
    • P帧:前向预测帧,采用帧间编码,以I/P帧作为参考帧
    • B帧:双向预测帧,参考前后两个方向的参考帧
  • 图像显示顺序
    在这里插入图片描述

码流结构

总体和H.261类似,采用分层的码流结构
相比于H.261,MPEG-1增加了条带层,每一个宏块所有的编码操作只能在一个条带内实现
条带层可以有效防止编码错误在一帧内扩散
在这里插入图片描述

MPEG-2

码流层次分三层:

  • 基本流
    ES,由视频编码的视频基本流和音频编码的音频基本流构成
  • 打包基本流
    PES (package element stream),为音视频ES分别打包
  • 传输流、节目流
    TS/PS,若干个PES进行服用后输出,分别用与传输和存储

DVD采用的是MPEG-2标准进行压缩的
MPEG-2是兼容MPEG-1的。所以DVD播放机可以播放VCD的光盘

MPEG-2格式支持逐行或隔行扫描视频,使用基于帧或场的编码。

  • 档(profile)和级(level)
    • 按照使用的编码工具定义了5个profile(SP(简单)/MP(主要)/SNP(信噪比可分级)/SSP(空间可分级)/HP(高级))
    • 按照视频分辨率定义了4个级别(LL(低级)/ML(主级)/H440(高1440级)/HL(高级))

码流结构

ES流结构类似MPES-1,也分为图像序列层、图像组、图形、片、宏块和块层:

  • 图像序列层
    包括若干GOP,序列头包含起始码和序列参数等
  • 图像组(GOP)层
    包括若干图像,GOP头包括起始码、GOP标识等
  • 图像层
    包裹若干个Slice,图像头中包括起始码和图像参数等
  • 片(Slice)层
    最小的同步单位,包括若干宏块,Slice头中包括起始码、片地址、量化步长等信息
  • 宏块(Macroblock)层
    由4个亮度块和2个色度块组成,宏块头包括地址、类型、MV等信息

编码的时候会从上到下的进行封装,解码也会从上到下解封装

MPEG-4

ISO在1999年颁布的视频编码标准。
与MPEG-1、MPEG-4相比,MPEG-4更注重多媒体系统的交互性、灵活性和可扩展性

MPEG-4标准采用了基于对象的编码,其中视频对象主要定义为画面中分割出来的不同物体,每个物体由三类信息描述:运动信息、轮廓信息和纹理信息

标签:视频,MPEG,H.261,编码,编码标准,图像,宏块
来源: https://blog.csdn.net/qq_28258885/article/details/116209198

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有