分段图像数据的无损压缩的制作方法_2

文档序号:8386257阅读:来源:国知局
,在一些实施例中,算法使用量化方法来对数值分组。每个数值由两个分量 规定:水平和值位。在一些实施例中,水平规定高阶位并且值规定低阶位。后来,在一些实 施例中,算法计算序列中的水平的频率并且该用于设计可变长度码用于对水平编码。在一 些实施例中,在没有编码的情况下逐字表示值位。
[0034] 图5图示将像素值映射成(水平,值)形式的实施例。在给出示例中,水平是2i,并 且图示对于7和13的水平和值的计算。
[0035] 在一些实施例中,方案采用下列方式实现W允许将值分区成水平和值分量的灵活 性和适应于不同数据源特性的能力。
[003引挑选阔值序列 在一些实施例中,选择阔值序列;0=ta<ti<t2<t3<wti<tw<''',并且将非负整数分区成 不相交区间的集合;[t。,t2)、[t2,ts)…[t。tw)…。在各种实施例中,水平分 量规定值位于哪个区间[t。tw),并且值分量规定区间中的特定整数。此特殊情况是选择 阔值使得(tw-ti)对于所有i都是2的幕的时候。在该情况下,数值V通过指示V位于的 区间[t。tw)(由水平规定)并且进一步指示差v-ti而编码。更具体地,为了规定非负值 V,要找到唯一i,使得W。认为V在水平i处。现在假设^~仁=/。则对于V的值位通过将v-ti表示为b位整数而获得。注意v-ti是在范围[0,2b-l]中的整数。该 方案的另外的特殊情况是连续阔值具有it.lf和1;.,^=巧+/j:f的形式的时候。在该 情况下,对于区间[t。tw)中的数字的值位简单地是b个最低有效位。注意在该特殊情况 下,不一定是该样的;b的相同值适用于所有连续阔值。取下列示例;tu=0,ti=l,t2=2,t3=3, t4=4,ts=6,te=8,t7=12...。考虑连续阔值ts,t4:t3=3. 2°,t4=4. 2°;在该里b=0。考虑连续阔 值t"ts:t4=2. 21,ts=3. 2S在该里b=l。考虑连续阔值 15,te:t5=3. 21,te=4. 2S在该里b=l。 考虑连续阔值te,t7:te=2. 22,t尸3. 22;在该里b=2。
[0037] 阔值序列;0=te<ti<t2<t3<wti<tw<…适应于数据。我们可W确定对于特定种类 的图像或传感器数据的该些阔值并且将该预定序列应用于该种类的所有数据(数据型自适 应),或我们可W自适应地确定对于我们所必须压缩的每个图像片段的阔值序列(数据实例 自适应)。在前面的情况下,在样本数据上应用阔值确定算法来获得固定序列,其用于该种 类的所有数据。在后面的情况下,阔值确定算法独立应用于每个片段来产生阔值W供在对 该特定片段编码中使用。在该里,还必须表示为每个片段挑选的阔值序列连同片段的编码。 [003引在一些实施例中,阔值确定算法选择阔值使得(i)每个区间扣,tw)中值的观察 分布大致上是均匀的,并且(ii)每个区间[t。tw)中值的总观察频率是至少某一规定最 小值。后面的性质确保所选的阔值的数量是相对小的,该进而控制编码成本。注意可不可 能同时实现该些目标,因此可使用一些松弛。
[0039]图6图示阔值选择算法的实施例。该算法另外确保连续阔值具有形式I,.=仁方叫口 心,^ =巧+ "/。到阔值选择算法中的输入包括数值序列、深度d和频率阔值ft。算法W所有阔值设置成2的幕而开始。接着,考虑区间巧1,2"1)。每个区间分成具有相等长度的 两个"子"区间(也是2的幕),其对应于在阔值2i、2"i的中间添加新的阔值。产生的新区间 将是巧*2^,3*2h)和巧*2^,4*2^)。该些区间每个进一步分成两个子区间。实施该样 的划分的次数由深度d(到算法的输入)指示或直到获得具有长度1的区间。典型地,深度 设置成3或4。注意如果深度太高,区间变得越来越小,并且将落入每个区间的输入序列中 的数值的数量将逐步变得更小。接着,分析数值序列的样本并且对落入每个区间内的值的 数量计数,从而在区间上产生频率分布。在一些情况下,期望每个区间的频率大致上相同并 且此外每个区间内的元素分布大致上均匀。因为计算对于所有较小区间的频率分布,对于 所有较大区间(从其创建较小区间)的频率可W通过简单地对频率求和而容易计算。消除具 有非常低频率的区间可是可取的(因为它是低效的)。如果指定区间的频率低于某一阔值ft (到算法的另一个输入),则区间与它的兄弟区间合并,使得所得的区间是它们的父代。在图 6的示例中,我们W区间巧i,2"1)开始。该父代区间分成两个子代。第一子代W再次被划 分而结束,但第二子代被划分并且合并回去使得最后示出的所有区间的频率大致上相同。
[0040] 输入序列的(无符号)元素使用由上文的算法确定的阔值而转换成水平。今后,描 述的编码方案规定对于水平的编码。独立传送值位(通常没有编码)。
[0041] 用于序列压缩的基本算法 图7图示压缩过程700的实施例。让X成为对应于特定片段中的变换信道(通过数据 变换步骤获得,例如在702处)的值的序列。在704处执行阔值选择算法来为压缩算法选择 阔值。X中的条目的绝对值如上文描述的那样在706处转换成水平,来产生序列而。将独 立传送变换数组中的条目的符号。在708处使用霍夫曼码来执行而的编码。
[0042] 对于霍夫曼码的创建存在多个可能性。一个示例技术是具有1阶码,其是使用该 特定序列中的水平频率的水平上的最佳霍夫曼码。图8图示1阶霍夫曼码的实施例。
[0043]另一个方法是创建2阶霍夫曼码,其由该样的码组成,其中每个水平使用关于序 列中之前的水平的信息来表示。该必须仔细进行来确保代表额外统计信息(解码器重建2 阶霍夫曼码所需要的)所需要的空间未掩盖通过使用该样的码所实现的空间效益。为了 在表示空间开销与改进的码的编码大小之间实现平滑权衡(W及便于找到对于该权衡的甜 点),在一些实施例中,水平的集分成少量组并且对该些组中的每个创建独立霍夫曼码。进 行水平的分组使得每个组中的元素的总频率大致上相等。图9图示执行2阶霍夫曼码的过 程的实施例。对于前面提到的权衡的甜点通过对组数量的若干不同选择计算总编码成本 (其包括表示空间开销)而找到。在一些实施例中,对于组数量的最佳值可基于要编码的值 的特定序列而确定或可基于输入的代表性样本而确定。
[0044] 对水平的序列编码 传送对于变换序列的水平信息所需要的编码位基于霍夫曼码而确定。
[0045] 对值的序列编码 一旦已经对水平编码,在一些实施例中,逐字传送值位本身。也就是说,未对该些位进 行额外编码,并且可直接传送它们(因为假设该些低阶位是随机的,该是合理的)。
[0046] 对位编码来代表符号 元素的符号可必须根据变换的选择而传送。在一些实施例中,符号可W通过使它们与 水平(在该情况下,如果A是可能水平,则-A也将是可能水平)组合或使用每非零符号元素 一个位地独立传送它们而传送。
[0047] 应用 下面是对于公开的压缩技术的应用的示例。然而,在该情景中没有什么应解释为对上 文描述的实施例的限制。
[004引存储系统 存储系统可W通过压缩它们的数据段或块而减少它们的存储占用空间。例如,文件系 统典型地将具有多个数据段或数据块的每个文件存储在存储介质上W便便于存储分配和 回收来减少存储分段。为了在相同物理存储容量上存储更多的数据,一些文件系统在将数 据段存储在存储介质上之前压缩它们。例如GZIP或LZ等无损压缩算法可在将数据段存储 到存储介质之前在它们上应用并且在从存储介质检索数据段后应用对应的解压算法。
[0049] 本文描述的压缩技术可在任何存储层(例如,主、辅、备份和归档)中采用。图10图 示利用该样的压缩的归档存储系统的实施例。
[0050] 硬件加速器 硬件加速器(有时叫作知识产权(IP)核)指用于实现软件算法的特殊硬件支持。硬件 加速器与在通用中央处理单元(CPU)上运行它们的算法相比可W实现高得多的性能和更低 功耗。
[0051] 对于硬件加速器的理想算法是简单且并行的,并且需要相对小的缓冲器或存储。 因为每个片段需要小的数据缓冲器(例如,几千字节),描述的用于压缩的技术可高效地在 硬件加速器中实现,即使图像可W很大(数百万或数十亿字节)也如此。
[0052] 硬件加速器可设计成并行压缩多个片段。设计者具有在加速器中或在主CPU上运 行的软件中实现多个片段的并行压缩的协调的选项。
[0053] 图11图示在硬件中实现的片段压缩算法的实施例。
[0054] 媒体和娱乐 在媒体和娱乐行业中,高分辨率拍摄装置用于捕捉静止和运动图片。对于在该行业中 编辑、生产和撞染软件中的许多的共同设置高速缓存来自胆存(其中所有峽在个体文件中) 的个体峽(在工作站中多达几千)。每个峽被有效地视为静止
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1