码迷,mamicode.com
首页 > 其他好文 > 详细

编码原理(七) --回顾

时间:2018-02-07 10:21:07      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:str   工作   方式   ffffff   roc   src   cab   com   像素   

上一篇我们讲解了熵编码的另一种方式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%。压缩率还是可以的哈,编码的主要过程就此分析完毕,希望对你有所帮助。

编码原理(七) --回顾

标签:str   工作   方式   ffffff   roc   src   cab   com   像素   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!