DjVu,版式文档领域一颗璀璨的流星

news/2024/10/31 3:31:03/

早上起来看新闻,被一则勒索病毒的报道震惊了:

其中的Read Me.txt文件指出:受害人的文件(照片,文档,数据库和所有其他数据)已被加密成.djvu文件,只能通过购买BigBobRoss提供的特定工具解密。而且据网络犯罪分子称,确切的费用尚不得而知,这取决于与他们联系的速度。受害者必须通过RobSmithMba@protonmail.com电子邮件地址进行联系。

勒索病毒固然可怕,但让笔者震惊的不是这个BigBobRoss勒索病毒,而是“.djvu”这个文件扩展名!什么时候曾经在出版界和电子书领域叱咤风云10余年,一度挑战PDF统治地位的DjVu格式沦落到勒索病毒的帮凶了?

笔者赶紧去查了一下相关资料,发现可能是纯属巧合,BigBobRoss勒索病毒对受害人的文件进行了加密,恰好采用了.djvu的文件扩展名,而不是这些文件真的变成了记忆中的DjVu格式。至于BigBobRoss勒索病毒为什么要采用.djvu的文件扩展名,原因不得而知,笔者猜想可能和DjVu的法语含义有关:念作 "déjà vu",法语“曾经见过,似曾相识”之意。

90后估计已经没怎么听说过DjVu格式了,确实这种格式从2010年之后就逐渐淡出了人们的视野,现在网上去搜索相关介绍性的文档资料,基本上也都是2010年之前的。从DjVu格式1996年诞生之日起到2010年之后逐渐消亡,前后也就15年时间,但在2000年到2010年这10年间曾经也是出版界和电子书领域扛把子的存在,甚至一度可以叫板PDF格式。下面我们就来聊聊DjVu格式这颗曾经璀璨的流星。

初识DjVu格式

笔者有幸接触到DjVu格式是在2006年浙江省档案馆的数字档案馆项目上,其中采用的扫描图像格式为原始Tiff格式,网上利用格式为压缩比非常高的DjVu格式。当时的应用场景比较简单,仅仅是将DjVu作为一种压缩比很高的图像格式,OCR识别之后的文本内容并没有合并到DjVu格式中去,转换过程如下图所示:

但事实上,DjVu格式不仅仅是一种高压缩比的图像格式,它也和PDF格式一样,是一种版式文档格式,既可以固定版面,又可以检索文字,如下图所示(在DjVu阅读器中打开DjVu文件):

DjVu格式发展史

DjVu最早是由美国AT&T实验室在1996年开发的一种图像压缩技术,它的原理是把图像分离成前景层(纸的纹理和图片)和背景层(文本和线条)分别进行压缩。通过将文字和背景分离开来,DjVu可以用高分辨率来还原文字,使锐利边缘得以保留,并最大限度地提高可辨性;同时用较低的分辨率来压缩背景图片,从而使整个图像的质量得到了保证。传统的图像压缩格式对于简单的图片来说,还可以接受,但对于强对比色彩区域之间的色彩反差的表现则大打折扣,这也是为什么它们对于文字的还原难以令人满意的原因。一般来说,要确保文字和线条的清晰度需要较高的分辨率(通常为300dpi),而反映连续色彩图像和纸张的背景机理则不需要那么高的分辨率(通常为100dpi)。因此,要提高清晰度,最好的方法就是将这些元素分为不同的层来进行处理。

2000年前后,随着互联网的逐渐普及和扫描存储设备的成本逐步降低,越来越多的文件开始以数字化的形式在网上处理、传播和保存。人们对于信息的瞬间获取需要使得电脑屏幕成为各种信息的最佳显示媒介。然而世界上90%以上的信息仍然在纸上。大量纸质文件,包括经典书籍、绘画、彩色图片和照片,都拥有十分珍贵的价值,而其中被发布在网络上的却寥寥无几。

制约这些信息在网上发布的一个瓶颈就在于扫描图像的文件大小问题。如果要保证文字和影像的清晰效果,就必须要用较高的分辨率来进行扫描,其所得文件往往十分巨大(通常是几十/上百MB),难以在网上下载。在当时的网络带宽条件下,为了达到差强人意的下载速度就不得不降低分辨率,这也意味着图像质量和可辨性得不到保证。传统的网络图像格式,如JPEG、GIF和PNG等,在普通分辨率下的图像大小都很大。

DjVu正是在这种背景下凭借其赖以成名的超高压缩比技术使几乎所有的传统印刷资料都可在网上得以高速传播,从而迅速奠定其市场地位。2002年,DjVu 和TIFF、PDF格式一道被Internet Archive(互联网档案馆)的百万书籍工程选中,作为公有领域书籍扫描后上线的格式。下面是当时DjVu厂商提供的一张略显夸张的图像压缩比对比图:

不说原始扫描图像格式TIFF,DjVu格式可以在已经压缩过的JPEG或者PDF格式基础上再压缩20倍左右,而且保持图像质量基本不变!其压缩比之高的确令人惊叹。

从技术实现上来看,DjVu格式主要采用了ISO/IEC 16485 MRC(Mixed Raster Content,混合光栅内容)模型的分层压缩方法。对于彩色扫描影像而言,它的各部分内容元素特性是不同的,如果针对这些不同元素采用与其相适应的压缩技术进行处理,就有可能获得更小的文件尺寸。DjVu格式正是遵循这一原理,根据扫描影像的内容特点,将其分离为蒙皮、背景、前景三大层次,并应用JB2压缩、IW44 Wavelet等方法进行处理,从而大大降低了文件大小。不过现在MRC模型已经不是什么新技术,ISO/IEC 16485:2000 Information technology — Mixed Raster Content (MRC)公布了相关的技术内容,据笔者所知,国内部分OFD厂商也已经在自己的OFD工具软件中采用MRC压缩技术,从而获得了比PDF更高的压缩比。

DjVu格式大约在2006年左右达到了应用高峰,经过10年的发展,它已经不仅仅是一种图像压缩技术,逐步发展成为和PDF格式一样的多功能版式文档格式。在清晰显示图像的同时,兼具文本的显示方式;支持文本关键字搜索,可实现全文检索与文本局部复制,能够快速获取文档中的文字内容;支持本地路径和网络路径超链接;等等。这使它在电子图书、印刷品网上发布、出版物共享传播等方面得到了广泛的应用,应用领域覆盖图书档案、古籍数字化,政府单位文档、金融机构单据的电子化管理,加工制造业相关说明书、维修手册、图纸等的电子化,城市建设,地图等等。一度对PDF的市场地位构成威胁,甚至有部分观点认为:“从技术上讲,DjVu在将纸质文档转换成电子文档方面,由于其文件小、质量高、更开放的特点,优于PDF。

DjVu格式衰落

那么,又是什么原因导致DjVu迅速衰落的呢?事实上,DjVu在商业应用上存在严重的先天不足。DjVu诞生于AT&T实验室,AT&T实验室的创新能力和研发能力全球闻名、毋庸置疑,但基本上属于一个实验室性质的非营利性机构。而且DjVu对于AT&T而言,那仅仅是一个副产品,整体投入并不多,这一点从AT&T发布的源代码和SDK就可以看出。2000年时DjVu格式被AT&T倒卖给了LizardTech,一家专注于文档扫描的公司。LizardTech对DjVu文件格式规范、djvulibre的贡献有目共睹,遗憾的是几年后也撑不下去了,2007年被日本的Celertem公司所收购,2010年左右似乎又辗转到了另一家日本公司caminova的手里,现在都已经搞不清楚属于谁了,只有http://www.djvu.org/  网站还能访问,也只能算是先朝孑遗了吧!

一种通用文件格式的推广离不开资本的力量和成功的商业运作,这方面DjVu做得太差,不但无法和PDF和DOC格式(背后分别是世界前十的软件巨头Adobe和Microsoft)相比,即使和国产的WPS和OFD格式(背后分别是国产软件巨头金山软件和工信部电子文件管理推进联盟)相比都不如,迅速衰落也在情理之中了。

另外,从格式本身的功能丰富性上而言,DjVu除了唯一的杀手锏(高压缩比)之外,其他版式文档所需要的功能与PDF格式相比,欠缺的东西还是太多,包括多格式文本、矢量图、3D、多媒体、脚本、交互表单、权限控制、安全鉴别等等,所以更适合表示扫描图像,将其作为版式文档还是有一定的争议,比较勉强。而恰恰在2010年之后,随着百兆以上互联网带宽的全面推广以及4G智能手机的普及应用,高压缩比已经没有像2000年前后显得那么至关重要了,这也是DjVu迅速败亡的重要原因。

DjVu就像一颗流星划过天际,曾经迸发出绚烂的色彩和耀眼的光芒,虽然短暂但毕竟辉煌。放眼全球,目前版式文档格式依然是PDF的天下,但谁知道呢,说不定再过10年国产OFD格式就会撼动PDF格式在当前的绝对统治地位!

最后,我们以复古的DjVu网站首页(http://www.djvu.org/)作为本文的结束(页面底部的Copyright显示是2002年),以此纪念这颗曾经璀璨的流星!

忽然想起来,BigBobRoss勒索病毒为什么要采用.djvu的文件扩展名,不会也带有致敬传奇的意思吧?

数字罗塞塔计划致力于作为中立的第三方客观公正地表达自己对于档案信息化领域的看法和观点。真理越辩越明,我们也衷心欢迎越来越多的人投身到档案数字资源管理和保存这一领域的研究中来并发表真知灼见,共同为人类文明的传承而努力奋斗!


http://www.ppmy.cn/news/523521.html

相关文章

无线洗地机好用吗?旗舰洗地机品牌实测体验分享

近年来清洁类智能家电非常流行,面对脏乱的室内地面,扫地机器人、无线吸尘器、家用洗地机都是很好的帮手。本人有幸都使用过,但如果要我挑选出最喜欢的清洁家电,那我肯定会毫不犹豫的选择家用洗地机。因为它拥有着强大的清洁能力&a…

开源:基于迪文T5L智能屏的PID温控器方案

——来自迪文开发者论坛用户 该温控器方案基于 DMG80480C043_02W 智能屏设计,通过 DS18B20、MLX90614 分别采集设备入、出口温度值给到 T5L 芯片处理,并将温度值实时显示在屏幕上。同时采用了 PID 控温算法控制加热装置,使出口温度稳定在设定…

涉密信息系统服务器管理制度

第一条 为加强对涉密信息系统服务器的保密管理,特制定本管 理制度。 第二条 本制度适用于内网服务器的保密管理。 第三条 本制度所指服务器包括连入涉密内网并提供网络服务 的工作站、服务器、台式 PC 机等。 第四条 所有服务器的设备管理,包括…

讲二重、三重缓冲的

https://www.anandtech.com/show/2794

20220519_缓冲字符流

txt内容 Line1: !#$%^&*()-[]\;./,ABCD1234abcdLine2: !#$%^&*()-[]\;./,ABCD1234abcdLine3: !#$%^&*()-[]\;./,ABCD1234abcdLine4: !#$%^&*()-[]\;./,ABCD1234abcdLine5: !#$%^&*()-[]\;./,ABCD1234abcdLine6: !#$%^&*()-[]\;./,ABCD1234abcdLine7: …

java:实现三重缓冲区(附完整源码)

java:实现三重缓冲 三重缓冲区是指在多线程环境下,保证缓冲区安全性的一种缓存机制。Java中可以通过使用同步锁和wait/notify来实现三重缓冲区。下面是一个简单的例子: public class TripleBuffer {private final Object lock = new Object();private String[] buffers =

C语言:实现三重缓冲区(附完整源码)

C语言:实现三重缓冲区 三重缓冲区是一种常用的技术,用于解决生产者消费者问题中的数据同步和互斥问题。其基本思想是在生产者和消费者之间设置三个缓冲区,生产者往其中一个缓冲区写入数据,消费者从另一个缓冲区读取数据,而第三个缓冲区则用于同步二者之间的操作。 下面是一…

DirectX12交换链、深度缓冲

DirectX12交换链 用IDXGISwapChain接口表示交换链 这个接口不仅存储了前台缓冲区和后台缓冲区两种纹理,而且还提供了修改缓冲区大小(IDXGISwapChain::ResizeBuffers)和呈现缓冲区内容(IDXGISwapChain::Present)的方法…