用于压缩和解压缩数据的方法与装置制造方法及图纸

技术编号:10375395 阅读:136 留言:0更新日期:2014-08-28 17:53
提供了用于通过产生具有被减小尺寸的图像数据的两个集合、根据所述图像数据生成针对每个基本区域的调制值来压缩和解压缩图像数据的方法和装置,所述调制值对关于如何组合具有被减小尺寸的图像数据的集合的信息进行编码以产生所述图像的近似。在一种安排中,为基本区域群组的每个基本区域生成对应于调制值集的索引值集,并且这些被分配给每个群组,针对每个基本区域的、对应于第一索引值集中的一者的第二索引值集被分配给每个第一基本区域群组。这些索引值之后被存储以在解压缩图像数据时用于更精确地获得调制数据。在另一安排中,选择调制模式,该调制模式包括多个调制值并且调制值之一被分配给所述图像的每个基本区域块中的每个基本区域以用于重组被减小尺寸的图像数据来产生所述图像的近似。调制值用于针对每个基本区域的多个比特的索引数据进行选择。在另一安排中,来自可能调制值集合的调制被分配给基本区域群组中的每个基本区域并且由多个比特的调制数据来表示。该安排通过提供与每个交替基本区域有关的调制值并之后为每个其他基本区域水平地或垂直地插值调制值来进行改变,或者通过一旦具有被减小尺寸的图像数据的集合已经用调制数据重新组合就水平地或垂直地插值图像数据来改变。

【技术实现步骤摘要】
【国外来华专利技术】用于压缩和解压缩数据的方法与装置
本专利技术涉及压缩图像数据的方法和装置以及解压缩图像数据的方法和装置。本专利技术在计算机图形系统,尤其是在使用所存储的压缩纹理数据来在二维显示器上产生三维图像的显示并将纹理图像数据应用于3D图像中的表面的计算机图形系统中是有用的。
技术介绍
在3D计算机图形中,如EdCatmull在1975年首次提出的那样(“ComputerDisplayofCurvedSurfaces”,IEEE计算机图形、模式识别和数据结构会议,1975年5月),对象上的表面细节通常通过使用基于图像的纹理进行添加。例如,可以使用纹理映射将砖墙的2D位图图像应用于代表建筑物的3D模型的多边形集中,以给出外貌是由砖块制成的对象的3D渲染。由于复杂场景可能包含非常多的纹理,所以访问这种数据能够导致两种相关问题。第一种问题仅仅是在存储器中存储这些纹理的成本。特别地,消费者3D系统仅具有能够用于存储纹理的相对少量的存储器,其能够很快被填满,尤其是如果使用每纹元(texel)32比特(红、绿、蓝和阿尔法(半透明度)分量-纹理中的每一者使用8个比特)的话。第二种问题且通常是更关键的问题是带宽。在3D场景的渲染期间,大量的纹理数据必须被访问。在实时系统中,这能够很快成为明显的性能瓶颈。找到这两种问题的解决方案已经导致了特定类别的通常称为纹理压缩的图像压缩技术。一些现有系统的评述能够在“TextureCompressionusingLow-FrequencySignalModulation”(S.Fenney,图形硬件,2003年)或相关专利GB2417384中找到。一些更近来的开发在“iPACKMAN:High-Quality,Low-QualityTextureCompressionforMobilePhones”(和Akenine-图形硬件,2005年)和随后工作“ETC2:TextureCompressionusingInvalidCombinations”(和Pettersson,图形硬件,2007年)中记载。用于压缩和解压缩图像数据且特别适用于纹理数据的一种系统在GB2417384中描述,其内容通过引用合并到本申请中。在GB2417384的系统中,图像数据以包括两种或更多种低分辨率图像和调制数据集的压缩形式进行存储。该调制数据集描述了如何组合低分辨率图像以提供解压缩的图像数据。现在将参照图1来简要描述GB2417384的解压缩过程。该过程通常被应用于彩色数据,但是在这里出于再现的原因用单色进行显示。压缩数据包括两个低分辨率彩色图像100和101以及用于形成调制数据集的全分辨率但低精度的标量图像(scalarimage)102。优选使用双线性、双二次或双三次插值来扩大低分辨率图像的数据规模,以产生两个相应的虚拟图像110和111。注意,被扩大规模后的虚拟图像缺乏最终图像的许多细节。各个虚拟图像110和111的像素112和113以及全分辨率低精度标量数据102的相应标量值120被发送给调配/选择单元130,该调配/选择单元130响应于120而逐纹元地调配/选择来自112、113的数据以产生图像140的解压缩数据141。组合的模式逐区域地进行选择。出于参考的目的,GB2417384的优选实施方式中的数据的存储格式在图2中给出。在64比特块中,以对于4bpp实施方式而言的每4x4纹元群一个64比特块的速率或者针对2bpp实施方式而言的每8x4纹元群一个64比特块的速率来组织数据。两个“基色”201和202对应于两个代表性的颜色,或者等价地对应于图1中低分辨率彩色图像100和101中每一者的单个像素。低分辨率彩色图像的每单个像素对应于解压缩图像中的纹元的(重叠)区域。每个这种区域近似以解压缩图像中的4x4(或8x4)纹元块为中心,但是因扩大规模函数而大于4x4(8x4)。在低分辨率图像中具有恰当数量的邻近像素的情况下,低分辨率图像的规模扩大优选使用双线性、双二次方程、双三次插值来执行。下面的实施方式将假设双线性是主插值方法,因为这需要来自低分辨率图像中的每一者的至少4个样本来产生一个扩大规模后的A或B值,但是也可以采用可替换的扩大规模方法,其可能使用来自A和B图像的潜在的更多样本。单比特标志203之后控制如何针对4x4(或8x4)纹元集来解释调制数据204。图7中示出了由每个标志控制的纹元集。GB2417384的4bpp优选实施方式每区域具有两个调制模式,其中每个区域是4x4纹元集。第一模式允许每个纹元选择以下之一:(a)来自100的纹元的颜色;(b)来自101的纹元的颜色;(c)100和101的3:5调配或者100和101的5:3调配。第二模式用一对1:1调配来替换3:5和5:3调配,这对1:1调配中的一个调配使用调配后的阿尔法值,而另一调配使用相同RGB值但阿尔法分量被设置为0,即全透明。应当指出的是,图1仅仅描述了解压缩过程的概念,而且在实际实施方式中,扩大规模后的虚拟图像110和111不可能整体地被产生和存储。相反地,小部分的虚拟图像,优选2x2像素群,可以“在程序运行期间(onthefly)”被产生和丢弃,以产生所要求的最终纹元。在GB2417384中,基色数据可以是以图2所示的两种可能格式之一。颜色201和202中的每一者可以单独地为全不透明的(在这种情况中使用格式210)或者是局部或全半透明(translucent)的(在这种情况中使用格式211)。被预先发送到颜色201和202中的1比特标志212确定了每个代表性颜色的格式选择。如果该比特是“1”,则选择不透明模式,其中对于基色B而言,分别由5个比特、5个比特和5个比特来表示红色213、绿色214和蓝色215通道,对于基色A而言,分别由5个比特、5个比特和4个比特来表示红色213、绿色214和蓝色215通道。注意,对于基色A而言,比特的减小仅仅是由于空间的原因。可替换地,如果标志212是“0”,则相应的颜色是局部透明的,并且该颜色包含3比特的阿尔法通道216和4比特的红色字段217、4比特的绿色字段218和蓝色字段219,分别对于颜色201或202而言,蓝色字段219是4比特或3比特。由于全不透明颜色由字段212暗示,所以阿尔法字段216不需要对全不透明值进行编码。在我们的国际专利申请公开号WO2009/056815中呈现了对GB2417384中描述的系统的改进。这描述了能够如何改进GB2417384的系统以适应特定类型的图像或者不能由GB2417384很好地进行处理的图像的部分,诸如在某些边界处包括大的不连续性的纹理以及在局部区域中使用若干完全截然不同的颜色的那些纹理。后一申请利用了这样的事实,即如由图2所示的方案GB2417384所提供的灵活性水平超过了大部分情况中所需要的灵活性水平。因此,使得代表性颜色A和B单独地确定他们是全不透明还是局部透明的能力已经被确定将是不需要的,并且所使用的编码方案由图4所示的方案进行替换。这样,数据再次在具有两个代表性颜色B301和A302、调制模式比特303以及调制数据304的64比特单元中进行编码。还被包括两个附加的1比特字段,即阿尔法模式305和硬标志306。为了适应这些附加字段,颜色字段301本文档来自技高网...

【技术保护点】
一种用于压缩电子图像数据块的方法,包括以下步骤:根据所述图像数据生成至少两个具有被减小尺寸的图像数据的集合,具有被减小尺寸的图像数据的每个集合的每个元素代表所述图像数据的多个元素;根据所述图像数据生成针对所述图像的每个基本区域的调制值,所述调制值对关于如何组合所述具有被减小尺寸的图像数据的集合的信息进行编码以生成所述图像的近似;根据多个第一索引值生成第一索引值集合,每个第一索引值对应于针对第一基本区域群组中的各个基本区域中的每个基本区域的可能调制值集合;将来自所述第一索引值集合的第一索引值分配给所述第一基本区域群组中的每个基本区域;生成第二索引值集合,每个第二索引值对应于针对每个第一基本区域群组的所述第一索引值集合中的一者;将第二索引值分配给对应于被分配给第一基本区域群组的第一索引值的每个第一基本区域群组;对于多个第一基本区域群组,存储所述至少两个具有被减小尺寸的图像数据的集合,所述第一索引值集合被分配给所述多个第一基本区域群组中的每一者,以及各个第二索引值被分配给所述多个第一基本区域群组中的每一者。

【技术特征摘要】
【国外来华专利技术】2011.12.20 GB 1122022.51.一种用于压缩电子图像数据块的方法,每个块包括所述电子图像数据的多个元素,该方法包括以下步骤:针对图像数据的所述多个元素中的每个元素生成调制值;根据所述电子图像数据生成至少两个具有被减小分辨率的图像数据的集合,具有被减小分辨率的图像数据的每个集合的每个元素代表所述电子图像数据的多个元素,其中所述具有被减小分辨率的图像数据的集合能够使用所述调制值被组合以提供所述电子图像数据的表示;对于每个块:对于针对所述块中的所述图像数据的元素生成的调制值的多个群组中的每个群组,分配一个调制数据的比特的集合,其中所述调制数据的比特的集合被分配以编码一个调制值群组,包括:(i)针对所述群组中各个多个调制值的多个调制标志,其中针对所述群组中相应的调制值的所述调制标志指示一个或多个候选调制值的集合中的哪个候选调制值将被使用以代表所述群组中的调制值;以及(ii)多个调制值选择比特,指示针对所述群组的所述一个或多个候选调制值的集合;以及存储所述具有被减小分辨率的图像数据的集合,以及针对每个所述电子图像数据的元素块存储针对所述调制值群组的调制数据的比特的集合。2.根据权利要求1所述的方法,其中如果群组的调制标志都具有第一值,则使用相同的候选调制值来表示所述群组中的所有调制值。3.根据权利要求1所述的方法,其中所述群组是2x2的调制值群组,其中每个块包括32个调制值,并且其中6比特的调制数据被分配到调制值群组的每个群组。4.根据权利要求1所述的方法,其中针对每个图像数据的元素块存储调制数据字,每个调制数据字包括调制数据的比特的多个集合,以及其中所述针对多个调制值群组的每个群组分配调制数据的比特的集合包括:基于特定元素的位置,确定特定群组的调制数据的比特的多个可用集合作为存储在调制数据字中的调制数据的比特的集合的子集,该调制数据字针对包含所述特定元素的元素块和针对相邻元素块而被存储,其中针对所述特定元素的位置生成特定群组的调制值;以及分配索引值到所述群组的每一个以指示所述调制数据的比特的多个可用集合中的哪个可用集合被分配到所述群组。5.根据权利要求4所述的方法,还包括存储被分配到每个调制值群组的索引值。6.根据权利要求4所述的方法,其中所述群组是2x2的调制值群组,以及其中每个块是8x8的元素块,并且其中6比特的调制数据被分配到调制值群组的每个群组。7.一种用于压缩电子图像数据块的方法,每个块包括所述电子图像数据的多个元素,该方法包括以下步骤:针对图像数据的所述多个元素中的每个元素生成调制值;根据所述电子图像数据生成至少两个具有被减小分辨率的图像数据的集合,具有被减小分辨率的图像数据的每个集合的每个元素代表所述电子图像数据的多个元素,其中所述具有被减小分辨率的图像数据的集合能够使用所述调制值被组合以提供所述电子图像数据的表示;对于每个块:对于针对所述块中的所述图像数据的元素生成的调制值的多个群组中的每个群组,分配一个调制数据的比特的集合,其中所述调制数据的比特的集合被分配以编码一个调制值群组,包括:(i)针对所述群组中各个多个调制值的多个调制标志,其中针对所述群组中相应的调制值的所述调制标志指示一个或多个候选调制值的集合中的哪个候选调制值将被使用以代表所述群组中的调制值;(ii)多个调制值选择比特;以及(iii)翻转命令比特,与所述调制值选择比特一起指示针对所述群组的所述候选调制值的集合;存储所述具有被减小分辨率的图像数据的集合,以及针对每个所述电子图像数据的元素块存储针对所述调制值群组的调制数据的比特的集合。8.根据权利要求7所述的方法,其中如果群组的调制标志都具有第一值,则使用相同的候选调制值来表示所述群组中的所有调制值。9.根据权利要求7所述的方法,其中调制标志的数量比每个所述群组中的调制值的数量少1个,其中每个所述群组中的调制值中的一个调制值使用由所述调制值选择比特和所述翻转命令比特指示的候选调制值中的预定的一个候选调制值。10.根据权利要求7所述的方法,其中所述群组是2x2的调制值群组,其中每个块包括32个调制值,并且其中6比特的调制数据被分配到调制值群组的每个群组。11.根据权利要求7所述的方法,其中针对每个图像数据的元素块存储调制数据字,每个调制数据字包括调制数据的比特的多个集合,以及其中所述针对多个调制值群组的每个群组分配调制数据的比特的集合包括:基于特定元素的位置,确定特定群组的调制数据的比特的多个可用集合作为存储在调制数据字中的调制数据的比特的集合的子集,该调制数据字针对包含所述特定元素的元素块和针对相邻元素块而被存储,其中针对所述特定元素的位置生成特定群组的调制值;以及分配索引值到所述群组的每一个以指示所述调制数据的比特的多个可用集合中的哪个可用集合被分配到所述群组。12.根据权利要求11所述的方法,还包括存储被分配到每个调制值群组的索引值。13.根据权利要求11所述的方法,其中所述群组是2x2的调制值群组,以及其中每个块是8x8的元素块,并且其中6比特的调制数据被分配到调制值群组的每个群组。14.一种用于解压缩被压缩的图像数据以产生电子图像数据块的方法,每个块包括所述电子图像数据的多个元素,该方法包括以下步骤:接收调制数据,该调制数据编码针对图像数据的所述多个元素中的每个元素的调制值;接收至少两个具有被减小分辨率的图像数据的集合,具有被减小分辨率的图像数据的每个集合的每个元素代表所述电子图像数据的多个元素,其中所述具有被减小分辨率的图像数据的集合能够使用所述调制值被组合以提供所述电子图像数据的表示,其中对于每个块,所接收的调制数据的比特的集合被针对所述块中的所述图像数据的元素的调制值的多个群组中的每个群组分配,其中所述调制数据的集合被分配以编码一个调制值群组,包括:(i)针对所述群组中各个多个调制值的多个调制标志,其中针对所述群组中相应的调制值的所述调制标志指示一个或多个候选调制值的集合中的哪个候选调制值将被使用以代表所述群组中的调制值;以及(ii)多个调制值选择比特,指示针对所述群组的所述一个或多个候选调制值的集合;扩大所述至少两个具有被减小分辨率的图像数据的集合的规模;使用针对每个所述群组的调制数据的比特的各个集合来确定针对调制值群组的调制值;以及使用所确定的调制值组合已扩大规模的所述至少两个具有被减小分辨率的图像数据的集合以产生解压缩的电子图像数据块。15.根据权利要求14所述的方法,其中所述接收调制数据包括接收:(i)图像数据的元素块的每个块的调制数据字,每个调制数据字包括调制数据的比特的多个集合,以及(ii)索引值,其中该方法还包括:基于特定元素的位置,确定特定群组的调制数据的比特的多个可用集合作为存储在调制数据字中的调制数据的比特的集合的子集,该调制数据字针对包含所述特定元素的元素块和针对相邻元素块而被存储,其中所述特定群组的调制值针对所述特定元素的位置而被编码;以及使用所接收的索引值来选择所述特定群组的调制数据的比特的可用集合中的其中一个可用集合以分配到所述特定群组。16.一种用于解压缩被压缩的图像数据以产生电子图像数据块的方法,每个块包括所述电子图像数据的多个元素,该方法包括以下步骤:接收调制数据,该调制数据编码针对图像数据的所述多个元素中的每个元素的调制值;接收至少两个具有被减小分辨率的图像数据的集合,具有被减小分辨率的图像数据的每个集合的每个元素代表所述电子图像数据的多个元素,其中所述具有被减小分辨率的图像数据的集合能够使用所述调制值被组合以提供所述电子图像数据的表示,其中对于每个块,所接收的调制数据的比特的集合被针对所述块中的所述图像数据的元素的调制值的多个群组中的每个群组分配,其中所述调制数据的集合被分配以编码一个调制值群组,包括:(i)针对所述群组中各个多个调制值的多个调制标志,其中针对所述群组中相应的调制值的所述调制标志指示一个或多个候选调制值的集合中的哪个候选调制值将被使用以代表所述群组中的调制值;(ii)多个调制值选择比特;以及(iii)翻转命令比特,与所述调制值选择比特一起指示针对所述群组的所述候选调制值的集合;扩大所述至少两个具有被减小分辨率的图像数据的集合的规模;使用针对每个所述群组的调制数据的比特的各个集合来确定针对调制值群组的调制值;以及使用所确定的调制值组合已扩大规模的所述至少两个具有被减小分辨率的图像数据的集合以产生解压缩的电子图像数据块。17.根据权利要求16所述的方法,其中所述接收调制数据包括接收:(i)图像数据的元素块的每个块的调制数...

【专利技术属性】
技术研发人员:S·菲尼
申请(专利权)人:想象技术有限公司
类型:发明
国别省市:英国;GB

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1