首页 >> 计算机科学 >> 文章

数字图像的压缩与恢复Comments>>

发表于 2010-05-15 11:54 | Tags 标签:,

一个图像是如何数字化的呢?不妨从一张玩具鸭子图片说起。

首先要把图片打格子分成若干小块,每块用一个数字来表示一种颜色。如果图像是纯黑白两色的,那每块只用1或0表示即可。若图像是16色的,每块用4位二进数表示,因为2^4=16,即4位二进制有16种组合,每种组合表示一种颜色就行了。真彩色位图的每个小块,都是由不同等级的红绿蓝三种色彩组合的,如图所示,每种颜色有2^8个等级,所以共有2^24种颜色, 因此每小块需要24位二进制数来表示。

可见,数字图像越艳丽,则需要记录的二进制数就越多越长。除此之外,打的格子越密,则一副图的总数据量就越大,此例中鸭子图片分成了11×14=154块,按真彩色位图来计算,则总数据量为154×24=3696比特。这些小格子显然是太大了,不能表现图片的细节,实际中的格子要密得多,例如1024×768,这是大家都熟悉的显示分辩率。

看这张滑雪图,人体的色彩变化比较大,而天空和雪的色彩却非常单调,可以想象,代表每个小格颜色的数值也应该非常接近,图右下的原始数据是8个相邻格子的色彩数据,由于两个相邻格子的数据差异很小,所以可以用第一个格式数据当作第二个格子数据的预测值,经实际测量后,把真实值与预测值的差值求出来,并用这个差值来表示第二个格子的色彩。那么,实际记录下的就是第三行差值。但恢复数据时,用前面一个值加上差值,就是当前的色彩值,只要有第一位的基础值,后面的色彩值就可以滚雪球式的一个个求出来。

用差值来记录色彩,只是简单地进行了很多个减法运算,在还原时再加回来,数据并没有一丁点的损失,因此被称为无损压缩,如果把很少的差值彻底丢弃,在还原时把一个格子的色彩信息代表了周围很多格子的色彩,则压缩率更高,但格子之间的微小差别就丢失了,这种方法属于有损压缩。

位图是每个格子都独立记录的,因此数据量很大,这就是bmp格式,而经过了上述的预测差值运算后,就变成了有损压缩格式,jpg格式就是其中之一。画质基本相同的两幅图,jpg格式的数据量要比bmp小得多。jpg是有损压缩的,但画质的损失非常小。Jpg格式是很智能的,例如对上面有大面积相似色彩的山水照给予较大的压缩率,而对非常热闹的人群照给予较小的压缩率。

上面说的只是静态的图像,而视频图像压缩得更大,一秒钟视频会切换几十张画面,而这些画面的绝大部分都是相同的,采集是每幅都是独立采的,生成的avi格式的数据量是很大的,不仅每幅画面本身可以压缩,更重要的是幅与幅之间也可以压缩,这就形成了数据量小得多的mpeg格式。也可以采用压缩率更高的rm格式,rm格式的画质比mpeg差得不多,但数据量却小了很多倍,更方便在网上传输。

不同的视频,幅与幅之间的相似度是不同的,韩剧的相似度很大,甭说一秒了,甚至几分钟内演员都坐在沙发上聊,除了嘴巴外每幅画面都基本一样,对这种视频可以采用较大的压缩率,而对动感性很强的武打片,则采用较小的压缩率,这种格式就是rmvb。跟rm格式不同的是,它的压缩率是可变的,vb就是可变比特率的意思。rmvb比rm更先进,相同数据量的rmvb视频会比rm视频清晰,而相同清晰度的视频,rmvb格式的数据量会更小。

一旦进行了有损压缩,数据缺失了,画质就很难复原了,但这也并不是不可能,这里面有个关键的概念--先验信息。例如这张民国美女黑白照片的嘴唇,要压缩成这个灰度,右侧的彩色图例中有五种可能,但通过先验信息(先验信息也就是我们以前已经知道了的知识)知道,美女的嘴唇不可能是绿的、蓝的和紫的,只能是右下的红色,把它还原成红色就对了。

钢琴和弦的每一小组乐音都是由不超过五个纯音符的组合,这些排列组合的总数还是不少的,但好在根据先验信息我们知道,只有极少数的组合是经常出现的,绝大多数的组合是基本不会出现的,如果我们得到了一组模糊不清的组合,它跟经常出现的某个组合与基本不会出现的某个组合的相似度一样,那我们就毫不犹豫地认定它就是那个经常出现的组合。

当然,实际上它不是那个经常出现的组合,而是那个基本不会出现的组合,这种可能性也是不能排除的,就好比那个民国美女真的长了一副蓝嘴唇一样,我们依靠先验信息做的判断就杯具了,但这是没办法的事。
现在的核磁共振技术在短时间内只能获得比较粗糙的图像,但我们知道被照器官的每一小块部分与相邻部分的相关性是很强的,而且我们对这些器官也具有很多先验信息,这就可以帮助我们像还原民国美女图那样,在粗糙的图像上还原出高画质的图像,可信度还可以做得非常高。

0
为您推荐

81 Responses to “数字图像的压缩与恢复”

  1. 祭小司说道:

    图片都没有,你把它压没了吗……

  2. 千与千城说道:

    图都X了,我网络的问题?

  3. 千与千城说道:

    “数字图像越艳丽,则需要记录的二进制数就越多越长。”

    艳丽的图颜色多,但颜色多的不一定都艳丽。我不是在钻牛角尖。

  4. 说道:

    ?

  5. 说道:

    现在时刻北京时间12:24 后面写的时间怎么不对

  6. zuodd说道:

    gif png 王道!

  7. Thyme说道:

    看不到图啊~~~

  8. MarsV说道:

    将大叉叉的数据压缩到小叉叉

  9. 伊藤博文说道:

    H.264算法忠实拥护者飘过~

    剃刀大叔终于从良鸟~撒花~

    其实篇中关于色彩插值的部分可以顺势点出最小二进制编码(minimal binary code)思想的,差值如果是连续的一个闭区间,采用其中间数做基准,能再压缩1位,剃刀老师是不想涉及太多术语咩?

    嗯嗯~

    叭啦,占场子帮剃刀老师插播几条八卦~

    1,本文开头介绍了连续色调图像的无损压缩的思想,用这个术语可以做一些搜索,那些资料都比较容易看懂,有助于进一步理解图像压缩~还有很多可爱而强悍的预测算法哈~

    2,楼上同学提到了GIF和PNG,它们都是鼎鼎大名的无损压缩算法

    GIF=(graphics interchange format)

    PNG=(portable network graphics)

    1995年时,握有GIF核心的LZW算法专利的优利系统公司(Unisys)放话要收专利费,于是改进过的PNG横空出世,断鸟人家GIF的财路,嘻嘻~

    八卦完毕,大家可以用这些关键词搜到更多有趣的内容

    占场子完毕,等待剃刀老师的怪蜀黍时间~

    不能抽烟~不能喝酒~恶灵退散~

    • 奥卡姆剃刀说道:

      其实还没想从良呢,信息安全系列的还没有写完,这篇编码系列的被提前放出来了。从你的回复看,你对专业很门清,敢问下你的学术经历吗?

      • 伊藤博文说道:

        哪有“门清”!

        我区区高中生一个,提前读了几本大学的专业导论而已,根本就是属于纸老虎~看到剃刀老师的科普觉得内容很熟悉,就是这样………剃刀老师是博士啊,怎么会被我这个纸老虎给唬住~(不过私底下好开心,嘻嘻~)

        论坛上向您求教过DES算法,ID huangpobu,请继续多多指教:)

      • 猛犸说道:

        哈,这就是论坛的破布同学呀,大好少年一枚。

        • 伊藤博文说道:

          切,还“大好少年”,猛犸应该夸FWJMATH,才比我大两岁,人家和DAS帝的数学争论,受过本科教育的网友居然插不上嘴!我更是连一个字都没看懂T.T,符号是啥都木有见过…还有苏椰,那就,嗯,仰望到脖子酸的我也只能当没看见过…免得我自尊被莫明其妙地打击…

          • Metaverse说道:

            以前有段时间对有损音频压缩很感兴趣,同样CBR码率的不同格式音质差异可以很明显,压缩算法和心理声学模型的领域,剃刀兄不知有无研究?期待写篇东东介绍下?

          • zxx说道:

            能不能给个你说的数学辩论的链接啊, 小弟对数学十分痴迷啊

        • 奥卡姆剃刀说道:

          原来是松鼠会论坛的热心网友破布啊,果然是有为青年一枚。

  10. SomeOne说道:

    学习了, 媒体的压缩原来是这么回事

  11. xiaociyu说道:

    图片呢图片~~~无图无真相!!!

  12. Sheldon说道:

    颜色的差值信息是不是要经过傅里叶变换的?我记得google 的图片都是先出来模糊一团,然后逐渐显示细节

    • maxaxia说道:

      这个是数据渐进传输的结果,刚开始数据量小,所以就模糊。但是我们老师好像说过,用jpeg压缩好像是无法实现这样的效果,jpeg是分块压缩的吧。这种算是自适应收缩?小波实现的吧?

    • 伊藤博文说道:

      这个“渐进传输”分成光栅化(Raster order)和递增传输(progressive transmission),光栅就是按部就班地从上到下把整个图片显示出来,电视啦打印机啦都这样,但如果传输速度慢,你就等着整张图慢慢由上而下BLABLABLA,传输30的数据只能看到前30%的图像,递增传输呢就是属于模糊渐变,传30%就有整张图像出来,但是分辨率不高,很模糊,随着数据越收越多就越来越清晰,这种方式有很多好处,比如只要很少的数据就能窥知图像全貌~

      如果我手上的资料没错,JPEG是可以做到递增传输的,参考JPEG频谱选择(spectral selection)还有连续逼近(successive approximation)

      确实应用了分块压缩思想,有请鼎鼎有名的离散余弦转换同学(discrete cosine transform),先切块,再处理~

      MG上有句话说,JPEG在极低比特率的场合下,特别是有尖锐边的情况下,会输给子带(subband)和小波(wavelet),这个需要的数学水平我是远远不行的,谁来补上T.T

      • 马夏夏说道:

        话说周五才学习了小波收缩去噪,今天就看到有关于图像压缩的文章,真好啊

  13. nlv说道:

    反对提都不提一下H.264……

    • 伊藤博文说道:

      就是!MPEG都有了,没有H.264!

      RM都有了,没有RMVB!

      声讨剃刀大叔!要戒烟戒酒一个星期谢罪~

      • 伊藤博文说道:

        啊!有RMVB~奇怪中午怎么没看见呢?

        自掴耳光谢罪…

        PIA!

        哇,好痛……

  14. CyberJonny说道:

    无图~杯具~~

  15. c2blog说道:

    图片显不出来

  16. zing说道:

    关于那个“先验信息”
    灰度的红色和绿色可能看起来一模一样啊

    • 贝雅特丽齐的但丁说道:

      人的嘴唇不太可能是绿的吧?
      这就是先验的力量

  17. Zephyr说道:

    "韩剧的相似度很大,甭说一秒了,甚至几分钟内演员都坐在沙发上聊,除了嘴巴外每幅画面都基本一样"

    哈哈~剃刀大叔很幽默,我喜欢!

  18. 奥卡姆剃刀说道:

    自己搞了半天,图好像是挂上去了,如果大家还看不到,那就只能等编辑了。其实这篇文章是下一个“编码系列”的,现在的“信息安全系列”还没有写完,上周出差了,没能跟群博编辑沟通,是我的疏忽了。

    2-6图的URL:

    2:http://t.douban.com/view/photo/photo/public/p450375322.jpg

    3:http://img3.douban.com/view/photo/photo/public/p450375451.jpg

    4:http://img2.douban.com/view/photo/photo/public/p450375705.jpg

    5:http://img2.douban.com/view/photo/photo/public/p450376398.jpg

    6:http://t.douban.com/view/photo/photo/public/p450375562.jpg

  19. wangel说道:

    学习鸟~~

    ps:不小心看了一下大家的回复时间,很是纠结,为什么我所有能看到的时间是16点34左右 最近回复却是16点49。

  20. 奥卡姆剃刀说道:

    自己又搞了下,图好像搞上去了,就是尺寸小了点,不太清楚了。

  21. 沈觅仁说道:

    图像压缩似乎重点涉及到频谱分析,那才是神器啊

    另外,求民国美女的大图!!真是太美了~~~(很像门口超市里一MM)

  22. 依山居说道:

    测试时间17:42 2010-5-15

  23. 依山居说道:

    -_-服务器时间不对啊
    17:43 2010-5-15

  24. 打破的管道说道:

    http://v.youku.com/v_show/id_XMTYwNzI2MjUy.html
    这个视频上演示的也是先验信息做的吗?要是能再深入说一下就好了:)

  25. 雷昊说道:

    图像处理和视频处理还是不太一样的,图像处理可以用小波变换,比如JPEG2000,也有更多的无损编码技术,比如jbig。
    没有提到H.264,我也有点不爽,呵呵。rmvb和rm相对于H.264来说,码率是极其低的,一般来说比H.264要低不少,rmvb的关键在于通过去块效应滤波(deblocking)把画质提上来,没有deblocking的rmvb,那是惨不忍睹的,rmvb的滤波算法也是我见过的实用视频编解码算法里最复杂的,比H.264还复杂

  26. 奥卡姆剃刀说道:

    这篇科普对知道H.264的网友来说帮助不大,这些人更应该去读专业论文,呵呵~

    在松鼠会接受过科普写作的训练,学习到很多注意事项,例如一次只说清一件事、尽量不要使用术语等等,此篇中连“像素”这个概念都没敢提,而是用“格子”来代替,更不要说H.264了,这个真的不合适在科普里去讲。

    • xiaociyu说道:

      哦,您的格子就是像素啊~~~俺文科生还真没联系起来 ^_^``

  27. 雷昊说道:

    我错了~~~
    支持剃刀多写好科普,呵呵

  28. 红泥小火炉说道:

    奥卡姆剃刀 说: 2010-05-15于20:35这篇科普对知道H.264的网友来说帮助不大,这些人更应该去读专业论文,呵呵~

    在松鼠会接受过科普写作的训练,学习到很多注意事项,例如一次只说清一件事、尽量不要使用术语等等,此篇中连“像素”这个概念都没敢提,而是用“格子”来代替,更不要说H.264了,这个真的不合适在科普里去讲。

    我觉得像素概念对大部分网友都不是问题的

  29. Sheldon说道:

    对了,看不同格式的视频,模糊程度是不一样的。
    有的是一块一块的模糊,有的是一条一条的模糊,有的是有噪点的模糊

  30. 贝雅特丽齐的但丁说道:

    H.264也能进行无损编码,不过压缩率就差得多了。
    提问:为何有损编码引入的噪音往往只有负几十分贝,但是能比无损编码省下数倍甚至数十倍的空间?

    • Sputnik说道:

      相关性啊,就像嘴唇总是红的,和弦总是固定的组合,
      压缩就是以嘴唇与颜色色的组合或者不同音符的组合为单位,代替原来的以像素或者音符为单位,来代表原始的信息。
      因为嘴唇总是红的,和弦总是固定的组合,所以能用很少几个组合还原原来的信息

  31. 松鼠迷说道:

    还原那个很赞~

  32. 泡泡说道:

    很好啊~又学习了,谢谢了。对我们这种计算机外行来说,这样的程度就够了,既能有所了解,又不会太深看不懂,也影响阅读的兴趣。其实对非专业人来说也没有必要知道太多,脑资源也是资源不是,反对浪费~

  33. 静夜听雨说道:

    这个“先验信息”的算法MS不属于压缩算法了吧?还有,电脑如何知道那是美女的嘴呢?

    • 打破的管道说道:

      是嗳,而且连新民网的水印都给还原没了,腻害~

      • wanfeng说道:

        作者用这两幅图说明黑白图片还原成彩色图片需要先验信息,不代表那幅彩色图就一定是有黑白图还原而来的.我觉得这两幅图实际上是先有彩色图,然后转换成黑白图,最后打上水印.

  34. 茵陈说道:

    学平面设计专业的,整天跟各式图片,图像软件打交道,却从来没想过这里面的学问,大致看明白了,谢谢!

  35. 安庆法律人说道:

    没有介绍矢量格式哪

  36. 凯凯说道:

    今天才发现这个网站,剃刀老师你写得真棒啊,我觉得科普性文章就是要这种风格!生动有趣通俗易懂!真赞!

  37. 白左说道:

    确实说得很浅显哪

  38. 七月的烟火说道:

    确实说的很浅显易懂了,尤其是对“先验信息”的描述,哈哈,觉得很好玩

  39. Oldtiger说道:

    我很乖,我不插嘴
    我收藏,可以吗?

  40. 笑老板说道:

    众大仙 小生有一事不明 前几日我去放大一张我爷爷的母亲的民国级黑白照片 为什么放大后 背景有倾斜的网格呢?

  41. 拼图者说道:

    除了说写的好,其他的就不会说了。没有破布那样的知识,无法做更深的交流。

  42. DigitalJoy说道:

    现在有了各色口红把嘴唇涂成任何觉得另类的颜色,把头发染成孔雀翅膀色。先验信息会不会被新新人类打败?

  43. 茄子炒番茄说道:

    不同的视频,幅与幅之间的相似度是不同的,韩剧的相似度很大,甭说一秒了,甚至几分钟内演员都坐在沙发上聊,除了嘴巴外每幅画面都基本一样
    ——————————————————
    剃刀大叔还看韩剧啊

    • 奥卡姆剃刀说道:

      被老婆胁迫着看过一些,印象最深的是《看了又看》,特别喜欢银珠,希望老婆也能像银珠一样在先生下班进门时,站在门口对先生鞠躬说“您回来了~~”

  44. delectate说道:

    h264控路过

    rmvb真的是渣……

  45. blindlf说道:

    希望不要再提rm或rmvb,它是低画质和私有版权。文章开头太基础的东西,写的还挺详细,后面稍微有些深度的东西写的太简单了。

  46. CT说道:

    我很乖,我不插嘴!

  47. Lias说道:

    说成格子会让给你更多人懂得,要普及的话就得这样,最好在文章的最后加一些注。

  48. lili说道:

    剃刀大叔,
    我也是热爱科学的松鼠一只,尤其崇拜像您这样的计算机专家
    ~O(∩_∩)O~想请问一下,关于数字图像方面的问题哈。。如果要做一个像挂在松鼠会网站上的松鼠分布这样的地图,要用什么软件好呢?

  49. wookong说道:

    最近正好在做一个图形处理工具

  50. radiogalaxy说道:

    科学松鼠会上将数学物理化学生物医药的文章居多。作为一名通信工程的学生,看到这篇文章很亲切啊,看回复电子信息的松鼠还真不少。楼主辛苦了

  51. 多多说道:

    剃刀讲讲DES中S盒是怎么设计出来的吧,到底有没有留后门,这个我很有兴趣,尤其是这种八卦式的消息...

  52. KonW说道:

    avi不是压缩方式,最多算一个容器和mpeg等根本不能并列
    说rm的等的时候也该说RV多少多少等的压缩方式,,,,作者貌似以为扩展名就等于编码方式了一个avi可以是H264可以是别的更raw的,,压缩率大不相同

  53. [...] 扩展阅读:数字图像的压缩与恢复/奥卡姆剃刀 [...]

  54. [...] 剃刀最近高产且飙红,好文连连,看这篇《数字图像的压缩与恢复 》引起了饶有风趣的讨论。 [...]

  55. Milo说道:

    這段關於JPEG的描述有誤導成分:

    "位图是每个格子都独立记录的,因此数据量很大,这就是bmp格式,而经过了上述的预测差值运算后,就变成了有损压缩格式,jpg格式就是其中之一。"

    JPEG是在DCT後的frequency domain數據中做quantization,才形成lossy的。並不是在spatial domain進行"预测差值运算"。

  56. 8 percent in the fiscal year through June, the slowest in at least a decade.

  57. bennet说道:

    写篇文讲讲H.264的SVC拓展和最新发布的H.265呗。。

Leave a Reply