特德姜讲了一个堪比他写的科幻小说般的故事。
“这个事情我是从一个计算机科学家朋友大卫·克里赛尔那里听到的,他接到锝国一家建筑公司的求助,说他们公司的施乐复印机出现了一些奇怪的问题。当他们在复印一个房子的平面图时,副本和原件之间总是会存在微小但无法忽视的差异。原件中,每栋房子的三个房间都有个矩形来说明它们的面积,房间分别是14.13平方米、21.11平方米和17.42平方米。然而在复印件中,所有三个房间都被标记成14.13平方米。”
刘玉琨听过这个故事,露出神秘的微笑。
李睿和妲露拉却觉得不可思议,复印机不就是应该把原件原原本本的复印下来吗,为什么复印件会和原件之间出现如此奇怪的差异呢?
如果不是内部程序出了问题,就只能是复印机成精了?
特德姜继续道:“那家公司对复印机进行了全方位的检查,没有发现任何问题,最后只能求助于大卫。大卫去看了一下,发现这是一台采用了数字扫描文档然后打印生成图像文件的现代复印机,而在扫描和打印的过程之间,复印机内部程序会把每个数字图像文件进行压缩,问题就出现在压缩环节中。”
“我们都知道,压缩分为两种,一种是无损压缩,另外一种是有损压缩。无损压缩恢复的文件和原始文件相同,而有损压缩恢复的文件只是原始文件的近似值。这台施乐复印机使用了一种被称为jbig2的有损压缩格式,是一种专为黑白图像而设计的,非常节省空间的技术格式,复印机会识别图像中看起来相似的区域,并将所有这类区域存储成一份副本。当文件被解压时,复印机会重复使用该副本来重建映像。结果就是,复印机判断出指定房间面积的标签非常相似,所以它只需要存储其中那个14.13平方米的房间,并且在打印时,对所有三个房间都重复使用这一个标签。”
“原来如此。”李睿和妲露拉明白了。
看来不是复印机成精了,还是内部程序的设计有问题。