lofter 标示自己使用无损压缩技术,到底目前存不存在 JPEG 无损压缩技术?

2017-01-17 09:15:04 +08:00
 alwayshere

今天看了看网易 LOFTER 首页: http://www.lofter.com,标示自己“使用无损图片压缩技术,上传图片保留高质量细节”,我就很好奇,因为我曾经把 github 翻了个底朝天都没翻出个 JPEG 无损压缩技术出来,都是有损压缩技术,抛开免费开源的,连大名鼎鼎商用的 jpegmini 也是有损压缩技术,难道网易真开发出了无损 JPEG 压缩技术,有开源的轮子吗各位 V 友?

6288 次点击
所在节点    程序员
25 条回复
Famio
2017-01-17 09:20:04 +08:00
我记得 jpg 本身就是一种图像压缩标准。隐约记得图像的未压缩格式是 raw ,音频是 wav ,视频是 mov ……
alwayshere
2017-01-17 09:21:47 +08:00
@Famio 那 LOFTER 这种说法本身就是错误的吧
nlzy
2017-01-17 09:22:16 +08:00
JPEG2000 格式支持无损压缩
轮子 https://github.com/uclouvain/openjpeg
Famio
2017-01-17 09:25:25 +08:00
@alwayshere 我个人觉得是这样没错。但是 wiki 上有这么一段话你应该感兴趣:
“ JPEG 的压缩方式通常是破坏性数据压缩( lossy compression ),意即在压缩过程中图像的质量会遭受到可见的破坏,有一种以 JPEG 为基础的标准 Lossless JPEG 是采用无损的压缩方式,但 Lossless JPEG 并没有受到广泛的支持。”
AsisA
2017-01-17 09:28:35 +08:00
如果是无损,应该就是“上传图片保留一切细节”了吧…不过查了维基,还真有无损 jpg

“ Lossless JPEG 是一種無失真的圖像壓縮標準,在 1993 年由 Joint Photographic Experts Group (聯合圖像專家小組)組織創建和維護,但是現在也可以用來代表 Joint Photographic Experts Group 所創建的無失真壓縮,包含了 JPEG 2000 還有 JPEG-LS 。”
Famio
2017-01-17 09:31:43 +08:00
@alwayshere @AsisA 没错,我无知了。还真有无损 jpg
看说明是无损压缩的 jpg 在压缩后还可以恢复到压缩前的状态,这个有点厉害了。这帖等养肥了再来学习。
ibegyourpardon
2017-01-17 09:36:46 +08:00
其实我一直觉得有损比无损高级……

把重复的数据字节用更短的形式表达,实现体积缩小,并且可以根据该算法逆向推导出原始文件,这个倒好理解。

但是有损是丢弃图像部分细节,却还保证基本的可视,而不是让图像直接崩掉,这个我才觉得更高级……

不过具体实现细节是怎样我也没研究过,坐等养肥了学习。
garipan
2017-01-17 09:37:17 +08:00
我们平常使用的 jpg 全称 JPEG ,是联合图像专家小组 1992 年制订的有损压缩标准
如 ls 所说, jpg2000 同样是联合图像专家小组制订的标准,但是文件后缀并不是 jpg ,而是 jp2 或者 j2c ,支持有损压缩、透明通道等。但是显然大多数浏览器都不支持这个格式
无损压缩的压缩率是极其有限的,不是因为无损压缩不行,是因为 JPEG 有损压缩实在太厉害了,除了离散余弦变换、游程编码、 zigzag 编码、霍夫曼变换算法的牛逼以外,色度抽样压缩法针对人眼设计,可以在人眼几乎察觉不出的范围内压缩 90%以上的体积,但是这一过程,也相当于只保留了小数点后两位
所以你看看他图片体积和格式其实就基本能看出是不是有损了,如果格式是 jpg ,那 100%是有损的。
jianzhiyao020
2017-01-17 09:38:04 +08:00
无损压缩是很正常的,
了解一下相关压缩技术就可以得知,
只是一般用的压缩格式标准为了文件大小的极致追求上,
优先考虑了牺牲可容忍的图片质量误差,
通用的打包 zip 格式就是一个显然的无损压缩例子,
如果说, zip 能实现,其他文件不也是同理了。
garipan
2017-01-17 09:40:18 +08:00
订正一下:并不只是色度抽样一个因素导致了 90%的体积压缩率,但这一步里包含了绝大部分信息的丢失。
enenaaa
2017-01-17 09:57:57 +08:00
楼上说的对,浏览器对 jpeg2000 的支持有限, 如果文件后缀是 jpg ,那 99%是扯淡。剩下 1%是把 png 后缀换成了 jpg
zhidian
2017-01-17 10:09:43 +08:00
人家说无损,又没有说是 jpeg 无损。楼上说的那种直接压缩 zip 确实也算一种方案。(而且, Lofter 可以无损地存下你的图,不代表你浏览的时候都得要用你那张无损的啊。)
zhidian
2017-01-17 10:12:51 +08:00
MIT 的 Linear Algebra 上大致讲了一种有损压缩方法,有点像傅立叶变换。(先找到图像像素最主要得到那个变化趋势,然后再不断设定频率更高的波的相位,来拟合原来的数据)
crs0910
2017-01-17 10:12:57 +08:00
明显说的是上传图片不压缩。。
garipan
2017-01-17 10:17:04 +08:00
@zhidian 1992 年的 jpeg 就运用了傅立叶变换。和你说的一样。
robbielj
2017-01-17 10:20:20 +08:00
dragonszy
2017-01-17 10:33:10 +08:00
Lossy Image Compression with Deep Learning 深度学习压缩 JPEG

The gold standard of compression for JPEGs (JPEG 2000) has been beaten for the first time by an approach using deep learning, built by a team at Twitter. Prepare to see many more iterations on this idea! Read the paper …
JPEG 图片的黄金压缩标准 (JPEG 2000) 这么多年来第一次被打败。

http://upload-images.jianshu.io/upload_images/551828-2d41f57092de2321.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240

http://www.jianshu.com/p/d8ab4b25f2cc
QAPTEAWH
2017-01-17 10:47:57 +08:00
试试就知道了,上传再下载回来,两张图做减法( PS 就行吧)
Vizogood
2017-01-17 11:15:12 +08:00
明明说的是上传文件(or 图片)不压缩而已
dlllcs
2017-01-17 11:24:20 +08:00
原文写的是:`使用无损图片压缩技术,上传图片保留高质量细节,当你手机处于 wifi 网络,将自动加载全高清图片。`

意思是说,在服务器上保留了一份你上传的原件,如果你手机处于 wifi 网络下,就下载原件显示,如果不是,肯定就下载压缩过分辨率的图片喽

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/335065

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX