H.264/AVC视频编解码技术详解系列笔记 是对 H.264/AVC视频编解码技术详解 课程的学习

文章目录

  • 人与世界的交互
  • 视频信号的表示方法
  • 视频压缩编码
    • 视频信息为什么可以被压缩?
    • 视频压缩编码的分类:
    • 视频压缩编码的基本技术

人与世界的交互

从远古时代开始,人类就在不断为适应环境、改造环境而艰苦斗争。
人类通过嗅觉、触觉、听觉、视觉等来适应社会,而视觉尤为重要,后来人们希望用更直观的形式记录所看到的东西,因此有了象形文字到现代文字的演变,以及壁画到绘画、照片、视频的演变。

视频通过每一帧的图像表达信息,视频包含的音频可以提供大量信息,视频通过图像的运动、场景的变换提供信息,视频信息是最接近人的直观体验的信息表达方式,是最高效的信息记录方式。

视频信号的表示方法

在真实的世界中,视频影像处理的是模拟信号,为了适应现在的计算机,模拟的信号必须转换成数字格式,才能进行下一步的传输和处理。

在数字格式的视频信号中,组成视频的基本结构是一帧帧连续而关联的图像。组成每一帧图像的基本结构是成平面紧密排列的像素。每一个像素代表图像中一个彩色的点,由颜色的三基色分别取不同的分量构成:
R:红色分量
G:绿色分量
B:蓝色分量

RGB颜色空间:

  1. RGB颜色空间常用于显示器系统
  2. RGB颜色空间由红绿蓝三基色构成,每一个像素至少有三个颜色分量构成
  3. RGB三个分量每一个分量以1字节表示,则可以表示成256*256*256种不同的颜色,1字节=8bit,2^8=256
  4. 常见的图像格式如位图(bmp)格式以RGB形式保存

YUV颜色空间

  1. 实际的编解码等视频处理中,YUV格式比RGB格式更为常用
  2. YUV格式中,一个像素分别用亮度和色度分量表示,每一个像素由一个亮度分类Y和两个色度分量U、V组成
  3. YUV格式中的亮度与色度分量可以与表示的像素一一对应,也可以对色度分量的数据进行采样,即色度分量少于亮度分量,这样处理的原因是因为人的感官对亮度信息的敏感度远高于对色度信息的敏感度
  4. YUV格式的优势是,可以减少色度分量的采样率,这样既可以不对图像造成太大的影响,又可以减少数据的存储量,还可以兼容黑白和彩色的显示设备。显示设备是黑白:将色度分量去掉,只需要亮度分量即可。
  5. YUV图像的常见色度采样方式有:4:4:4,4:2:2,4:2:0(最常用)

4:4:4

4:2:2:即每两个像素共用一个U分量一个V分量

4:2:0:每四个像素只对应了一个U分量一个V分量

视频压缩编码

编码:将信息按照一定规则使用某种形式的码流表示与传输
常需要编码的信息:文字、语音、视频、控制信息等

视频编码的主要目的:数据压缩

  • 动态图像的RGB/YUV表示,数据量极大
  • 存储空间和传输带宽完全无法满足像素格式视频保存传输的要求

图像的每个像素的三个颜色分量:RGB,每个颜色分量以8bit保存,每像素至少需要3bytes

分辨率1280*720的一帧图像:3byte*1280*720b≈2.64Mb

25frame/sec的视频,所需码率(码率:视频码率就是数据传输时单位时间传送的数据位数,一般单位是kbps即千位每秒):1280*720*8*3*25=553Mb/sec,该码率已经超过传输带宽的极限了,如果是分辨率更大的视频,则其码率会更大

因此,我们需要对视频进行压缩。

视频信息为什么可以被压缩?

  1. 时间冗余:视频相邻的两帧之间内容相似,存在运动关系
  2. 空间冗余:视频的某一帧内部的相邻像素存在相似性
  3. 编码冗余:视频中不同数据出现的概率不同
  4. 视觉冗余:观众的视觉系统对视频中不同的部分敏感度不同

视频压缩编码的分类:

  • 基于波形的编码【方法更主流】
  1. 特点:编码的数据针对每一帧图像包含的像素值,即采样像素的波形
  2. 方法:利用像素之间在时间和空间上的相关性,采用预测编码和变换编码结合的基于块的混合编码方法
  3. 代表:MPEG-1,MPEG-2,H.264,H.265等
  • 基于内容的编码【太复杂】
  1. 特点:将视频帧分成对应不同物体的区域,分别对其编码
  2. 方法:针对不同物体的形状、运动和纹理进行编码
  3. 代表:MPEG-4

视频压缩编码的基本技术

  • 预测编码:传输预测像素值与实际像素值之差,利用时间或空间相邻像素之间较强的相关性
  1. 帧内预测:预测值与实际值位于同一帧内,用于消除图像的空间冗余
  2. 帧间预测:实际值位于当前帧,预测值位于参考帧,用于消除图像的时间冗余,相比帧内预测压缩率更高,由于帧间预测参考了其他帧的数据,因此,不能独立解码,所以只能在获取参考帧数据之后,才能重建当前帧
  • 变换编码:对视频造成有限的可以容忍的损失来获取相对更高的编码效率,造成信息损失的部分,就在其变换量化的部分,在进行量化之前,先将像素由空间域变换到频域,针对变换系数进行编码
  1. 可用于视频变换编码的正交变换:DCT变换、K-L变换
  • 熵编码:熵编码用于消除视频信息中的冗余,由于信源中每一个符号出现的概率并不一致,导致使用同一长度的编码表示符号可能会造成浪费,通过熵编码,利用信源的统计特性进行压缩编码,可消除由于符号概率导致的冗余
  1. 常用方法:变长编码、算数编码

H.264/AVC视频编解码技术详解 第一章 视频信息与压缩编码相关推荐

  1. 【H.264/AVC视频编解码技术详解】一. 视频信息与压缩编码

    <H.264/AVC视频编解码技术详解>视频教程已经在"CSDN学院"上线,视频中详述了H.264的背景.标准协议和实现,并通过一个实战工程的形式对H.264的标准进行 ...

  2. 【H.264/AVC视频编解码技术详解】二. 主流视频编码标准的发展

    <H.264/AVC视频编解码技术详解>视频教程已经在"CSDN学院"上线,视频中详述了H.264的背景.标准协议和实现,并通过一个实战工程的形式对H.264的标准进行 ...

  3. 【H.264/AVC视频编解码技术详解】四. 常见H.264视频编解码器(X264和JM)及参考软件JM的下载与编解码

    <H.264/AVC视频编解码技术详解>视频教程已经在"CSDN学院"上线,视频中详述了H.264的背景.标准协议和实现,并通过一个实战工程的形式对H.264的标准进行 ...

  4. 【H.264/AVC视频编解码技术详解】三. H.264简介

    <H.264/AVC视频编解码技术详解>视频教程已经在"CSDN学院"上线,视频中详述了H.264的背景.标准协议和实现,并通过一个实战工程的形式对H.264的标准进行 ...

  5. 【H.264/AVC视频编解码技术详解】十九:熵编码算法(5)——H.264的CABAC(上):语法元素的二值化方法...

    <H.264/AVC视频编解码技术详解>视频教程已经在"CSDN学院"上线,视频中详述了H.264的背景.标准协议和实现,并通过一个实战工程的形式对H.264的标准进行 ...

  6. 【H.264/AVC视频编解码技术详解】七、 熵编码算法(1):基础知识

    <H.264/AVC视频编解码技术详解>视频教程已经在"CSDN学院"上线,视频中详述了H.264的背景.标准协议和实现,并通过一个实战工程的形式对H.264的标准进行 ...

  7. 【H.264/AVC视频编解码技术详解】二十三、帧间预测编码(1):帧间预测编码的基本原理

    <H.264/AVC视频编解码技术详解>视频教程已经在"CSDN学院"上线,视频中详述了H.264的背景.标准协议和实现,并通过一个实战工程的形式对H.264的标准进行 ...

  8. 【H.264/AVC视频编解码技术详解】八、 熵编码算法(2):H.264中的熵编码基本方法、指数哥伦布编码

    <H.264/AVC视频编解码技术详解>视频教程已经在"CSDN学院"上线,视频中详述了H.264的背景.标准协议和实现,并通过一个实战工程的形式对H.264的标准进行 ...

  9. 【H.264/AVC视频编解码技术详解】十七:帧内预测编码的预测实现方法

    <H.264/AVC视频编解码技术详解>视频教程已经在"CSDN学院"上线,视频中详述了H.264的背景.标准协议和实现,并通过一个实战工程的形式对H.264的标准进行 ...

最新文章

  1. VMware 虚拟化编程(4) — VDDK 安装
  2. C#.NET操作数据库通用类(MS SQL Server篇)
  3. jenkins+svn搭建
  4. C语言指针实现计算平均分等功能
  5. [云炬创业基础笔记]第六章商业模式测试20
  6. qt4.7 字体字号设设置;中文乱码,
  7. 融合趋势下基于 Flink Kylin Hudi 湖仓一体的大数据生态体系
  8. 使用NDK编译VTK
  9. 服务器图片(绝对地址) 客户端显示问题
  10. 2017 到 2018,PWA 技术到底经历了什么
  11. ORACLE 查询所有用户调度作业
  12. 中间凸起_谢娜缺席湖南台跨年,何炅收礼风波后站中间真一哥,汪涵冷漠疏离...
  13. 机器人的核心——运动控制器
  14. 算法导论学习笔记12_动态规划
  15. Android SystemUI之下拉菜单,通知栏,快捷面板(三)
  16. read函数和fread函数的区别
  17. PMP每日一练 | 考试不迷路-10.25(包含敏捷+多选)
  18. linux team方式进行网卡绑定
  19. 自来水公司是如何进行收费的?
  20. 电子商务B2C网站运营策略路线图

热门文章

  1. arcgis公里网格制作
  2. 【转】sharepoint foundation 2013升级sp1补丁后无法使用搜索功能
  3. REVERSE-COMPETITION-GeekChallenge2021
  4. REVERSE-PRACTICE-JarvisOJ-1
  5. egg 编码规范_Egg 框架简述 (仅学习)
  6. 【HDU - 4417】Super Mario(查询区间小于K的数的个数,主席树)
  7. 【51nod - 1174 】区间中最大的数(RMQ问题,ST表,模板)
  8. 【计蒜客 - 蓝桥训练】轻重搭配(贪心,STLset 或 二分)
  9. 【CodeForces - 219D 】Choosing Capital for Treeland (树形dp)
  10. 【POJ - 1463】Strategic game (树上最小点覆盖,树形dp)