首页 > 其他 > 详细

编码原理(七) --回顾

时间:2018-02-07 10:15:54      阅读:181      评论:0      收藏:0      [点我收藏+]
上一篇我们讲解了熵编码的另一种方式CABAC,熵编码结束之后,那么整个编码过程的核心过程也就结束了,后续的工作就是为了适配网络发送等做一些封装的工作。本篇对整体的编码过程作一个简单的回顾,整体上感知一下一个像素的矩阵快,是如何一步一步被减肥的,哈哈:

1 DCT变换

技术分享图片

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

2量化

技术分享图片

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

3 ZigZag扫描

技术分享图片

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: B8 00 0D + 010。

    编码之前是一个4 * 4的像素块,每个像素占用一个字节的空间,即16 Bytes * 8 = 128 bit,经过编码之后的大小为3个字节(最前边的0无需占用空间)+3个bit = 3 * 8 + 3 = 27 bit。简单算一算压缩率, 27  / 128 =  0.210 = 20%。压缩率还是可以的哈,编码的主要过程就此分析完毕,希望对你有所帮助。

编码原理(七) --回顾

原文:http://blog.51cto.com/7335580/2069655

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!