2024年2月21日

医学影像黑科技(2):医学影像的智能压缩技术

      “化繁为简、去芜存菁”,图像压缩需如此,产品研发亦不例外。

        很高兴告诉大家,微云影像的Dodo DICOM HTML5 Viewer 3.6已经正式上线公测了。在这个版本里一是彻底重构了三维重建的底层算法,二则是上线了全新研发的图像内存压缩技术,以便更好的支持在浏览器中进行128排以上的CT图像的超大序列的三维重建        新的MPR三维重建算法还在公测,暂不细讲,今天主要给大家说微云影像笑傲群雄的图像压缩黑科技。这也算给了《微云影像V3.0-互联网医学影像黑科技》中关于图像压缩技术许下的愿。还是那句老话,我们微云影像吹过的牛基本都实现了。事实证明,微云影像是一个靠谱的、值得信赖的影像技术公司。    本文主要分两部分,一是整理并介绍一下微云影像的整体方案的智能图像压缩技术,二是重点介绍一下全新研发的“图像内存压缩技术”

01

医学影像全生命周期的智能压缩技术

    医学影像从CT、MRI等设备上扫描产生之后,再到上传PACS或者云端归档;或者是图像调阅时下载图像到浏览器;又或者是在三维重建时将影像全部加载到内存中以重建整个Volume,在这许多的环节都存在着图像压缩技术的身影。在这医学影像的整个生命周期各个部分,我们都提供了不同的智能图像压缩技术,整理来说如下图所示六个关键环节:

  • DICOM通讯的压缩:我们知道DICOM协议本身包含了很多图像压缩的内容,特别是传输和保存为文件时的Transfer Syntax里定义了许多压缩相关的内容,微云影像在DICOM通信部分的实现已经支持常用的JPEG Lossless、JPEG 2000、RLE Lossless等压缩算法的Transfer Syntax,在DICOM通讯时即可体验到压缩带来的速度提升。上传云端的时的压缩:我们知道DICOM协议是基于TCP的二进制协议,而在互联网上进行数据传输最好的方式还是需要基于HTTP/HTTPS来进行。微云影像的上传接口支持将DICOM文件以无损压缩的方式将影像上传到云端,从而节省流量且提升上传的速度。云存储内的压缩:当影像上传到云端后,对于已经长期不再使用的数据,微云影像支持将影像合并成归档压缩格式,尽最大可能的减小归档文件的大小,减小归档文件的管理及存储成本。活跃影像数据在CDN上的分档压缩:在以前的文档里我们也提到过,用户调阅图像都是通过CDN加速技术下载图像,而我们在CDN上的图像是以图像和数据分开存储且分别压缩的,在提高安全性的基础之上提供更为高效的压缩。图像调阅时的数据下载通道的压缩:且不说http协议里支持的gzip等压缩传输,而现在在公有云的云平台上已经支持以WebP等新锐的图像压缩格式下载图像。微云影像在此处支持无损压缩及有损压缩等压缩方式,提供最高可达20倍的压缩率有损压缩、以及3-5倍压缩率的无损压缩。三维重建的图像压缩:图像在显示及三维重建时都需要将压缩格式还原成原始像素然后在处理显示。然而针对128排以上CT的大图像量的影像进行三维重建时,原始图像的一个序列多达几百甚至上千幅图,如何在浏览器的受限的环境内加载上千幅图的数据到内存,这就是我们今天提到的图像内存压缩技术了。

  • 02

    适用H5浏览器的医学影像内存压缩

        知道286时代甚至更早的编程技术的朋友们,一定对当时精确到bit的内存管理技术记忆犹新。而如今随便一台电脑动不动内存就有16G甚至更多,咋一看似乎内存已然大了许多倍,有用之不竭之感。但是今天的电脑处理的任务的数据量也比当年大了许多倍。就比如当年是在铁杵磨成绣花针,而现在则是用大铁柱锻造成金箍棒。该省的内存还得省,只不过管理单位从bit提高到了K甚至是M而已。    并且在HTML5的环境下,浏览器支持使用的内存大小是有限制的,特别是针对手机或者平板等移动设备上。想要在内存极度受限的HTML5浏览器中处理大数据量的图医学影像数据,这是一个永恒的挑战,同时也是我们产品相比其他产品更上一个台阶的机遇。    从原理上讲,我们知道在HTML5里获取图像像素的办法一个是把图像加载到canvas里,并经过转换后保存到一个数组中(TypedArray)。但是出于性能考虑和浏览器的限制考虑,在浏览器内直接申请一个长度为500M或者1G的超大的数组或TypedArray是一个极度危险的行为,特别针对移动设备来说。        微云影像新的内存压缩技术就是根据图像的位数(常见8位、10、12位),逐位拼接成一个连续的bit数组,并结合考虑LZW、RLE等的压缩算法以实现尽可能少的占用内存。    这个算法理论上看起来是非常容易的,但是知易行难,要在产品中最终实现这个算法却是一个长期而艰巨的过程。从理论上讲,应用此内存压缩算法后,内存占用可以缩小为原来的三分之一到四分之一。而当前阶段,需要在内存占用和展示性能之间进行折中。在应用了内存压缩算法后,微云影像的DICOM HTML5 Viewer在进行MPR三维重建时内存占用相比原来缩小了二分之一,处理速度特别是调窗等操作的处理性能几乎没有损失。内存占用少了,能够处理的图像序列大小也就更大了。启用新的算法之后,在PC浏览器上处理1000幅图的序列,在移动设备上处理500幅图的序列没有任何问题

    总结

    精雕细琢方为器,千锤百炼始成钢

        医学影像的技术已经发展了几十年,从业务上各种高级三维后处理技术层出不穷,而技术上看HTML5等新技术也是日新月异,从硬件上看各类新的GPU和图像处理硬件也是以超越摩尔速度的速度飞快发展着。微云影像现在虽然已经取得了一些成绩,但我们深知我们前面的路还有很多,我们要越过的难关也会越来越大。    我们不敢说现在我们的DICOM HTML5 Viewer已是最好。因为我们深信,未来我们的DICOM HTML5 Viewer必会更美好。    本文是《微云影像V3.0-互联网医学影像黑科技》系列的第二篇,在后面的文章中我们会更多的解密微云影像 V3.0的一系列黑科技,欢迎大家订阅关注我们的公众号“微云影像”,随时掌握微云影像V3.0-互联网医学影像黑科技的最新内容。