编码压缩介绍

简介: 压缩编码介绍,JPEG标准,H.264,AVS,预测,变换,量化,熵编码,环路滤波

从前文我们知道,YUV420 已经比 YUV444 数据少了一半,而且体验几乎感受不到差别。如下:

从上图可以看到,虽然数据减少了一般,但是一张 1080p 的图片也有 3038kb 的大小,也就是 3Mb 大小,动画看起来流畅,需要一秒播放 24 张图片,1个小时的电影大小如下:3 *24 * 60 * 60 = 2592003246060=259200因此,1小时的YUV420 的电影,需要 253G 空间来存储,截止 2022 年,一个普通的硬盘,才500G大小,只能存两部电影。所以 即使 YUV420 这种 HVS 技巧,已经让数据量少了一半,但是还是不能满足当前硬件环境的存储跟传输的需求,所以需要进一步压缩。

在音视频领域,压缩被称为 encode(编码),因为 压缩这个术语比较通用,字符串文本也能压缩,其他的二进制文件也能压缩。音视频里面的压缩算法 比较有行业自身的特点,所以叫 编码



常见的压缩标准有以下:

1,JPEG 标准,用于单张图片压缩。标准文档 ISO/IEC 10918-1

2,H.262 标准,用于视频编解码,标准文档 ISO/IEC 13818-2

3,H.263 标准,用于视频编解码。

4,H.264 标准,在 2022年 目前是应用非常广泛的标准。

5,VP9,Google 出的视频编解码标准。

6,AVS,中国的视频压缩标准。


视频编码系统中,用到的主流技术有以下:

1,预测

2,变换

3,量化

4,熵编码

5,环路滤波

上面的术语现在看不懂也没事,这里只是简单介绍一下,有个印象。因为本书的重点是讲解如何使用 FFmpeg 的 API。现在你只需要知道,YUV420 这些数据,进入 编码系统之后,从编码系统出了的数据会少很多,具体少多少,H264 的压缩比 可以是 102:1 ,也就是上面那个 253G 的YUV420电影,压缩之后只需 2.5G 存储空间。多么惊人的压缩比,这就是编码系统的魅力。


FFmpeg 初学者 不太需要 掌握 编解码的具体算法跟优化技巧。如果是小白,想入门音视频开发,首先要学会的是 调 FFmpeg 库的API,怎么调编解码的API。

至于具体的 H264,H265 编解码算法,可以等 FFmpeg 使用熟练了再去深入研究 。


参考文章:

1,JPEG - 维基百科

目录
相关文章
|
2月前
开始压缩
【9月更文挑战第05天】
18 2
|
5月前
|
算法 程序员
程序员必知:字符串压缩(三)之短字符串压缩
程序员必知:字符串压缩(三)之短字符串压缩
132 0
|
6月前
|
存储 编解码 算法
图像的压缩算法--尺寸压缩、格式压缩和品质压缩
图像的压缩算法--尺寸压缩、格式压缩和品质压缩
117 0
|
6月前
|
算法
443.压缩字符串
443.压缩字符串
29 0
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
编码和解码的未来之路
编码和解码的未来之路
|
存储 Java 数据安全/隐私保护
什么是编码和解码
什么是编码和解码
403 0
|
存储 编解码 算法
视音频压缩编码
视音频压缩编码
|
机器学习/深度学习 存储 编解码
Opus从入门到精通(八)Opus编码基础之压缩编码
莫尔斯码就是大家熟悉的电报码,它的发明为人类做出了巨大的贡献.该码采用"."和"-"来表示26个英文字母,这实质上还是二进制码(点为"0",而杠为"1"),但是它没有采用固定字长的编码方式,而是采用了常用字母用短码表示(如E用"."表示,T用"-"表示),不常用字母用长码表示(如Z用"--.."表示,j用"-..-"表示)的变长编码方式.通过对英文单词进行大量统计,找出各字母的概率,最后确定有12个字母出现概率最低,用4bit数字表示,有8个字母出现概率较低,用3bit数字表示;有4个字母出现概率较高,用2bit数字表示;有两个字母出现概率最高,用1bit表示,共26个字母.
586 0
|
API Android开发
Java字符串压缩(两种压缩方式)
第一种,只统计字符出现次数,比如aabcccccaaa,压缩成a5b1c5 思路:利用hashMap键的唯一性
1253 0