简单了解JPEG

学习自

https://m.baidu.com/from=1000539d/bd_page_type=1/ssid=0/uid=0/pu=usm%401%2Csz%401320_2001%2Cta%40iphone_1_11.2_3_604/baiduid=305108A9860EB1D73675D1E0653B0601/w=0_10_/t=iphone/l=3/tc?ref=www_iphone&lid=7526033857184657127&order=3&fm=alop&tj=www_normal_3_0_10_title&vit=osres&m=8&srd=1&cltj=cloud_title&asres=1&nt=wnor&title=%C6%D5%BC%B0%D2%BB%CF%C2%B9%D8%D3%DA%CD%BC%CF%F1%B8%F1%CA%BDJPG%BA%CDJPEG%C7%F8%B1%F0_win7%D6%AE%BC%D2&dict=32&wd=&eqid=6871d7eb210df000100000025b28c391&w_qd=IlPT2AEptyoA_yivDEKanOvXO6sRt92BoU2V&tcplug=1&sec=30632&di=c44a41d0556bcac3&bdenc=1&tch=124.417.330.650.1.347&nsrc=IlPT2AEptyoA_yixCFOxXnANedT62v3IEQGG_zdR0G7opUSxgfGlHdFuJ7HNOGuQIICb9jHRsRkPaDD7Qq&clk_info=%7B%22srcid%22%3A1599%2C%22tplname%22%3A%22www_normal%22%2C%22t%22%3A1529398168107%2C%22xpath%22%3A%22div-a-h3%22%7D&sfOpen=1


Android内存中的图片其实可以采用JPEG的YCbCr格式,自带的BitmapFactory压缩又比如IOS效果好,所以可以考虑用libjpeg-turbo库来进行压缩,使得项目的内存表现更好,本文主要介绍JPEG


人眼其实对亮度更敏感,对颜色的敏感度稍弱一点


JPEG就是利用人的这种特征,Y,亮度;Cb蓝度;Cr,红度。

可以发现Y图保真较多,CbCr占用了同样的内存,却带不给我们什么清晰度上的更具性价比的体验

所以JPEG一般的压缩比是4:2:0


因为8*8像素相近,所以可以做离散余弦变换



但是不一定所有的都相近,对于高频区还可以做一定的简化,因为人对这一部份识别能力也不行,最终可以得出类似这样的矩阵


有许多0,这对压缩就很有利了


再采用熵编码技术


可以得出这样的矩阵


最后的0也简化成EOB


这就是JPEG可以压缩几十倍的奥秘了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值