编码原理(七)----回顾

2020-04-10 14:54:52 浏览数 (1)

上一篇我们讲解了熵编码的另一种方式CABAC,熵编码结束之后,那么整个编码过程的核心过程也就结束了,后续的工作就是为了适配网络发送等做一些封装的工作。本篇对整体的编码过程作一个简单的回顾,整体上感知一下一个像素的矩阵快,是如何一步一步被减肥的,哈哈:

DCT变换

1

经过DCT变换,实现了频率的集中。

量化

2

经过量化,我们对DCT变换后的系数进行以QP=28的量化,此时得到了一些左上角集中了非零值的系数矩阵。

ZigZag扫描

3

ZigZag扫描,将二维的系数矩阵转换成一维的序列。

熵编码

4

熵编码输入:

9,0,-1,0,-1,0,0,0,0,0,0,0,0,0,0,0

熵编码输出:

0000 1011 1000 0000 0000 0000 1101 010

用16进制表示为: 0X: 0B 80 00 D 010。

编码之前是一个4 * 4的像素块,每个像素占用一个字节的空间,即16 Bytes * 8 = 128 bit,经过编码之后的大小为3个字节 3个bit = 3 * 8 3 = 27 bit。简单算一算压缩率, 27 / 128 = 0.210 = 20%。

0 人点赞