背景
本文基于NVM介质,设计了新的图片/视频数据压缩方案,降低数据保存量以提高NVM设备下的系统性能,并提高NVM寿命。
动机
现有的一些NVM下数据重用方案(FPC、BDI)对图片以及视频数据并不友好,下图所示基本上没有压缩。
![](https://img.haomeiwen.com/i7862980/edced9913950a918.png)
此外,作者观察到这些图片负载在临近的像素之间有很强的相似性,如下图,如果允许一定的精度损失,那么数据的相似性最高在5%下能达到80%。
![](https://img.haomeiwen.com/i7862980/0147ae8d22011fa8.png)
于是如何设计基于像素层相似性的优化方案成为本文的重点。
方案设计
![](https://img.haomeiwen.com/i7862980/3659dcbfb55d24dc.png)
该方案包括如下步骤:
-
1 进行数据划分:最好是按照像素来划分,但是在运行过程中像素非常难找到,所以这里按照像素大小的倍数划分即可(同样具有规律)。图片中的(a)到(b)
-
2 之后安装RLE的思想进行压缩,如果normDiff小于某个边界值,那么便重用上次的数据,例如(c)中的1代表《8E 76 82》只出现一次,5代表前面的三个数据出现5次。
![](https://img.haomeiwen.com/i7862980/8fb7494922a2b122.png)
-
3 然而这个(c)中的1有时候开销会很大,所以为了降低这个1的开销,使用82的最低位来做方案,如果run的次数为1,则将82处的数据的最低位改为0,代表重复一次;如果不是1次,例如后面的5,则将该位置的LSB设置为1,例如82->83就是稍微改变了一下。为了不影响精度,在run(5)这个地方的最高位MSB处表示原始位置的值
-
4 再进一步优化,为了除去用户的超参数设置,这里也设计了新的动态方案,自动化选择合适的CC以及BPC(CC=1、3、4;BPC=8、16)一共6种选择,这里使用meanDiff来合理的选择方案
![](https://img.haomeiwen.com/i7862980/3b3340190a2b645a.png)
结果
![](https://img.haomeiwen.com/i7862980/524457451f0e0d15.png)
网友评论