欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 用于图像压缩的几何变换独创技术44610字

用于图像压缩的几何变换

2021-03-16 00:45:51

用于图像压缩的几何变换

  相关申请的交叉引用

  本申请是2019年10月24日提交的标题为“GEOMETRIC TRANSFORMS FOR IMAGECOMPRESSIONS(用于图像压缩的几何变换)”的美国非临时专利申请No.16/662,818的继续并要求其优先权,其要求于2018年10月29日提交的标题为“GEOMETRIC TRANSFORMS FORIMAGE COMPRESSIONS(用于图像压缩的几何变换)”的美国临时专利申请No.62/751,869的优先权,其全部公开内容通过引用整体合并于此。

  本申请还要求于2018年10月29日提交的美国临时专利申请No.62/751,869的优先权,其全部公开内容通过引用整体合并于此。

  背景技术

  图像被压缩以进行高效的存储、检索和传输。通常,存在两种类型的图像压缩:无损压缩和有损压缩。无损压缩涉及在不丢失任何信息的情况下并因此在不丢失任何细节的情况下保存图像。有损压缩允许在压缩期间丢失信息并因此达不到原始图像的完美再现。有损压缩具有较高水平的压缩比,因为表示压缩图像需要较少信息。

  发明内容

  描述了一种压缩具有不平行的纹理特征的图像的示例计算机实现的方法。在一个方面中,该方法包括:由解码器接收几何变换的像素值的块;以及由解码器对几何变换的像素值的块执行逆几何变换以生成像素值的第一块,几何变换的像素值表示图像的与该图像的垂直轴或水平轴不平行的纹理特征,并且像素值的第一块是图像的多个块中的一个块。该方法进一步包括由解码器基于像素值的第一块生成图像的至少一部分。

  另一方面是一种非暂时性计算机可读存储介质,在其上存储有计算机可执行程序代码,该计算机可执行程序代码当在计算机系统上执行时,使计算机系统执行图像压缩。图像压缩包括:对几何变换的像素值的块执行逆几何变换以生成像素值的第一块,几何变换的像素值表示图像的与该图像的水平轴或垂直轴不共对准的纹理特征,并且像素值的第一块是图像的多个块中的一个块;以及对像素值的第一块执行逆颜色空间转换以将第一颜色空间中的像素值的第一块转换到第二颜色空间中的像素值的第二块。该计算机可读存储介质进一步包括用于基于第二颜色空间中的像素值的第二块生成图像的至少一部分的代码。

  另一方面是一种解码器,该解码器包括:逆几何变换组件,该逆几何变换组件被配置成对几何变换的像素值的块执行逆几何变换以生成像素值的块,几何变换的像素值表示图像的与在该图像内对角地对准的纹理特征,并且像素值的块是图像的多个块中的一个块;以及逆颜色空间转换组件,该逆颜色空间转换组件被配置成对像素值的块执行逆颜色空间转换以将像素值的块从第一颜色空间转换到第二颜色空间。

  在一些方面中,一种编码器执行对具有未对准的纹理特征的图像的压缩。压缩可以包括:对像素值的块执行几何变换;以及生成几何变换的像素值和几何变换值。压缩进一步包括:对几何变换的像素值执行DCT以生成DCT系数;量化DCT系数;以及对DCT系数进行熵编码以生成压缩比特流。

  附图说明

  通过下面在此给出的详细描述和附图,示例实施方式将变得更加充分地理解,其中,相似的元件由相似的附图标记表示,其仅以图示的方式给出,并且因此不限制示例实施方式。

  图1A和1B图示根据示例实施方式的具有纹理特征的图像。

  图2A和图2B图示根据示例实施方式的具有旋转的纹理特征的图像。

  图3A和3B图示根据示例实施方式的图像处理系统的框图。

  图4A和图4B图示根据示例实施方式的表示纹理特征块的矩阵。

  图5A和5B图示根据更多示例实施方式的表示纹理特征块的矩阵。

  图6图示根据至少一个示例实施方式的经旋转的纹理特征的矩阵。

  图7图示根据至少一个示例实施方式的编码器系统。

  图8图示根据至少一个示例实施方式的解码器系统。

  图9图示根据至少一个示例实施方式的解压缩方法的流程图。

  图10图示可以与这里描述的技术一起使用的计算机设备和移动计算机设备的示例。

  应该注意的是,这些图旨在图示在某些示例实施方式中利用的方法、结构或材料的一般特性,并且旨在补充在下面提供的撰写描述。然而,这些附图不是按比例的并且可能不精确地反映任何给定实施方式的精确结构或性能特性,并且不应该被解释为限定或者限制由示例实施方式所包含的值或属性的范围。在各个附图中使用类似或相同的附图标记旨在指示存在类似或相同的元件或特征。

  具体实施方式

  在图像压缩期间,图像能够被划分成像素块(例如,8×8像素块或者能够被称为块或像素值的块)。对每个块应用离散余弦变换(DCT)以将块中的信息从空间域转换到频域。在空间域中,图像中像素的值基于图像中像素的位置而改变。频域处理图像中像素的值改变的频率,并且频域中像素的大部分值具有零值,从而导致较高的压缩比。压缩可以进一步包括:在频域中量化信息以去除不必要的信息;以及执行熵编码以生成压缩比特流。

  然而,当压缩具有与正被压缩的图像的轴(例如,水平轴、垂直轴)不对准(例如,未对准、不共对准、不平行等)的纹理特征的图像时,上述压缩机制可能导致技术问题。纹理特征可以包括天然或人造对象,例如电话线、砖墙等。在对具有未对准纹理特征的图像的压缩期间,上述压缩机制生成大部分为非零值从而导致较低的压缩比的DCT系数。换句话说,如果房屋的图像包含横贯图像的电话线使得该电话线与图像的轴(例如,垂直或x轴或水平或y轴)不对准,则所生成的DCT系数大部分为非零值,从而导致较低的(例如,效率低的)压缩比(因为非零需要较高数目的比特来表示它们)。

  对此技术问题的提议解决方案包括在执行DCT之前旋转(或几何变换)与图像的至少一个轴不对准(例如,不平行、未对准、对角地对准等)的纹理特征以与图像的至少一个轴对准。这导致生成具有大部分零值的(块的)DCT系数。旋转也生成旋转(或几何变换)值,这些值被用于在解压缩期间将纹理特征恢复到其原始方位。在执行DCT之前旋转的技术优点包括实现较好的压缩比、较快的传输和/或较高的解码速率。

  能够在编码器和/或解码器中实现的提议解决方案是更高效的,因为旋转纹理特征使得它们与图像的至少一个轴对准生成大部分为零的DCT系数,这实现了较好的压缩比,因为压缩机制依靠在压缩期间减少或去除图像中的冗余信息(例如,零值)。例如,为了让压缩机制有效,数据中的图案(例如,零)被标识和利用。与符号(例如,零)的出现可能性相关联的概率被确定,并且用较少数目的比特表示出现概率高的符号,而用较大数目的比特表示出现概率低的符号。例如,要与图像的至少一个轴对准的纹理特征的旋转导致大部分零的DCT值,其中可以用较少数目的比特表示零值,从而导致较高的压缩比。

  图1A图示具有各种纹理特征的图像100。例如,图1A包括具有可以与图像的y轴(例如,垂直轴)对准的纹理特征112例如栅栏的房屋的模型。因为在纹理特征112的压缩期间生成的大部分DCT系数是零值,所以能够以相对较高的压缩比压缩纹理特征112的对准。

  此外,图1A图示跨越房屋的屋顶的纹理特征116,例如电话线。纹理特征116与图像的x轴(例如,水平轴)或y轴(例如,垂直轴)不对准。这可能导致在图像100的纹理特征116的压缩期间生成具有大部分非零值的DCT系数,从而在图像100的压缩期间导致较低的(或效率低的)压缩比。在图1A中,块118表示与纹理特征116相关联的在图像100的压缩期间被压缩的像素的块。

  图1B是示出表示纹理特征116的电话线156的示例图示150。如图1B中所示,电话线与图像的x轴或y轴不对准,而是被认为相对于图像的水平轴和垂直轴倾斜(例如,对角线的、倾斜的等)。由于电话线与图像的x轴或y轴不对准,所以DCT系数大部分为非零值从而导致较低的压缩比。

  图2A图示根据至少一个示例实现方式的图1A中所示的非对准纹理特征被旋转的图像200。如图2A中所示,图1A的纹理特征116被旋转到由纹理特征216表示的方位,使得纹理特征216与图像的轴(例如,图2A中的x轴)对准。这种旋转能够允许生成具有大部分零值的DCT块,这能够导致相对较高的压缩比。也可以将旋转称为几何变换、几何转换等。

  图2B是示出表示纹理特征216的电话线256的示例表示250。如图2B中所示,电话线256被旋转(或几何变换)了旋转角度222,使得纹理特征与图像的轴对准。旋转(或几何变换)可以涉及使纹理特征绕固定点旋转以生成与图像的轴平行的旋转(或几何变换)的纹理特征。在一些实现方式中,例如,旋转/几何旋转可以涉及使纹理特征116绕固定点(例如,218)旋转以生成纹理特征216,使得纹理特征216与图像的轴(例如,x轴)平行。

  上述旋转生成具有大部分零值的DCT块,这导致较高的压缩比。能够以高压缩比压缩的这种DCT块的示例被示出在至少例如图6中。在压缩期间存储用于行(或列)例如图6的行624的旋转(或几何变换)值,因为行624是在使行524绕x轴旋转时生成的。

  返回参考图2B,在一些实现方式中,旋转基于旋转角度222生成旋转值。例如,旋转角度222可以被确定为使得旋转减少或维持在最低限度以便使纹理特征与图像的轴对准。例如,如果旋转角度222小于用于使纹理特征与y轴对准的旋转角度,则可以执行旋转使得纹理特征116与x轴对准。这能够导致管理用于表示旋转值的比特数(例如,使比特数保持低)。在一些实现方式中,例如,如果绕该y轴的旋转角度小于用于使纹理特征与x轴对准的旋转角度,则可以执行旋转使得纹理特征116与y轴对准。这能够导致管理用于表示旋转值的比特数(例如,使比特数保持低)。此外,在一些实现方式中,例如,如果针对另一轴(例如,z轴或某个其他轴)的旋转角度较小,则可以执行旋转使得纹理特征116与该另一轴对准。

  在一些实现方式中,对图像的像素块(例如,块118)执行几何变换。对和与图像的轴不对准的纹理特征(例如,纹理特征116)相关联的块执行几何变换。例如,在旋转或变换之后的纹理特征116由具有通过222示出的旋转角度的旋转特征216图示。几何变换生成由解码器在逆几何变换期间用于解压缩图像的几何变换值。

  在一些实现方式中,例如,可以使用8个比特的集合来表示旋转(或几何变换)值。这仅仅是一个示例,因为可以使用任何数目的比特来表示旋转(或几何变换)值。旋转(或几何变换)值可以与经旋转的块一起被存储和/或压缩并与解码器共享。旋转可以基于任何类型的几何变换(例如,仿射变换等),并且表示旋转的值在编码过程期间被存储和压缩,因为在解码过程期间要使用它们。几何变换仅仅是一个示例,并且任何类型的变换(例如,仿射变换等)可以被用于旋转纹理特征。

  图3A图示根据至少一个示例实现方式的图像处理系统300的框图。在一些实现方式中,例如,编码器320可以在执行压缩350以压缩图像310以生成压缩比特流357之前对图像310执行预处理330和几何变换340。图3A进一步图示在解压缩370之后执行逆几何变换380和后处理390以解压缩压缩比特流357以生成图像312。图像312是以人眼可见的最小质量损失(或无损失)生成的。

  图3A图示能够被应用于各种压缩和解压缩算法(或格式)例如JPEG、WebP、Pik等的广义压缩和解压缩机制。在一些实现方式中,例如,也可以针对视频实现下述编码/解码机制。在下面参考图3B详细地描述压缩和解压缩机制的更具体示例。

  图3B图示根据至少一个示例实现方式的图像处理系统360的框图。在一些实现方式中,图3B图示由编码器320对图像310进行压缩以生成压缩比特流357。图3B进一步图示由解码器322对压缩比特流357进行解压缩以生成具有最小或无质量损失的图像312。

  如图3B中所示,图像310由编码器320压缩(或编码)。压缩机制包括:预处理330,其可以包括颜色空间转换322;几何变换324;以及压缩350(其可以包括离散余弦变换(DCT)352、量化354和熵编码356中的一个或多个)。压缩机制接收输入图像310并且生成压缩比特流357作为输出。

  在一些实现方式中,例如,编码器320执行颜色空间转换332以将图像310从一个颜色空间(例如,RGB颜色空间)转换到另一颜色空间(例如,YCbCr颜色空间),因为YCbCr颜色空间中的压缩实现较高的压缩比。从RGB颜色空间到YCbCr颜色空间的转换包括将图像310中像素的RGB值转换为亮度(例如,Y)和色度(例如,Cb和Cr)值。亮度值指示像素的亮度并且色度值指示蓝色和红色值。到YCbCr颜色空间的转换仅仅是一个示例,并且可以使用压缩比类似于YCbCr的任何其他颜色空间转换。在一些实现方式中,例如,在颜色空间转换332之前或在颜色空间转换332之后,编码器320可以将图像310中的像素转换成块333(例如,8×8块)作为压缩机制的一部分。这些块可以具有任何大小(例如,在一些示例实现方式中为8×8块)。

  编码器320对块333(例如,对块的像素)执行几何变换324。在一些实现方式中,例如,可以对和与图像(例如,图像200)的任何一个轴不共对准的纹理特征(例如,纹理特征116)相关联的块(例如,块118)执行几何变换324。如图2A和图2B中所图示的,编码器320可以确定允许纹理特征116与图像的任何一个轴共对准的旋转(或变换)。例如,在旋转之后的纹理特征116由具有旋转角度222的纹理特征216图示。执行几何变换340生成旋转值,这些旋转值由解码器322在逆几何变换380期间使用。在一些实现方式中,几何变换值可以作为357的一部分被存储、量化和/或熵编码。

  可以执行旋转以允许与图像的至少一个轴不共对准(例如,不平行)的纹理特征与图像的至少一个轴共对准(例如,平行)以使图像特征的表示变得不太贵(例如,使用更少数目的比特)。旋转可以基于任何类型的几何变换(例如,仿射变换等)并且表示旋转的值在编码过程期间被存储和压缩,因为在解码过程期间例如在逆几何变换380期间要使用它们。

  例如,在一些实现方式中,几何变换可以包括使对象(例如,纹理特征(例如,纹理特征116))通过旋转的中心(例如,218)并通过旋转角度(例如,222)旋转,使得不平行的纹理特征116与图像的x轴或y轴平行。在一些实现方式中,逆几何变换可以包括将几何变换的像素值恢复到其预旋转值,使得解压缩的图像能够准确地描绘解压缩的纹理特征。

  在一些实现方式中,在瓦片(tile)基础上存储旋转值。瓦片可以具有任何大小,并且在一些实现方式中,瓦片的大小是64×64个像素(对(vs)在一些实现方式中可以为8×8个像素的块的大小)。此外,瓦片的四个拐角可以用于在解码过程期间标识图像中瓦片的位置,使得它们被相应地映射。尽管在块基础(例如8×8个像素)上压缩图像中的像素,但是在瓦片基础(例如,64×64个像素)上存储旋转值以减少存储旋转值所需的比特数。

  返回参考图3B,编码器320例如对每个块执行离散余弦变换(DCT)352。如上所述,DCT 352将块中的像素值从空间域变换到频域中的DCT系数,并且进一步连同至少图4A、图4B、图5A、图5B和图6一起详细地描述。

  参考图4A,矩阵420表示与图像(例如,图1A的100或图1B的200)的x轴对准的纹理特征(例如,图1A的纹理特征112)。在图4A中,纹理特征112对应于矩阵420的第4行(424)并且其像素值为100。像素值100表示全像素(而像素值50表示半填充像素)。编码器320对矩阵420执行DCT 352并且生成包括纹理特征112的二维DCT系数的DCT矩阵440。例如,DCT矩阵440在第一列441中具有非零值而在其他列中具有零值。例如,在DCT矩阵440的第2-8列中的零值在下面详细地描述的量化354和熵解码356期间实现较高的压缩比。

  然而,图5A图示表示与图像(例如,图1A的100或图2A的200)的x轴或y轴不对准的纹理特征116的矩阵520。纹理特征116的像素值由在矩阵520中以粗体突出显示的像素值图示。如通过粗体值所图示的,具有非零值的像素遍布矩阵520。编码器320对矩阵520执行DCT352并且生成图5B的包括纹理特征116的二维DCT系数的矩阵540。如图5B的矩阵540中所示,DCT矩阵540主要地包含非零值(例如,相对于与图1A的纹理特征112相关联的图4B的矩阵440)并且全部遍布矩阵540(例如,不限于仅一行或一列)。在DCT矩阵540的多个行/列上散开的非零值导致较低的压缩比。

  在一些实现方式中,由于在压缩之前对关联于与图像100的任何一个轴不共对准的纹理特征(例如,纹理特征116)的块执行旋转,所以基于几何变换340而生成的DCT矩阵由图6的DCT矩阵640示出。如图6中所图示的,DCT矩阵640的第4行(624)具有非零值,而所有其他行具有零值。这实现了较高的压缩比(当与图5B的矩阵540比较时)。尽管必须对旋转值进行编码和/或发送以便解码器适当地对压缩比特流357进行解码并生成图像312,但是较高的压缩比的好处(例如,比特数减少)超过与表示旋转值所需的额外比特数相关联的负担。

  返回参考图3B,编码器320执行量化354以量化DCT系数353并且生成量化DCT系数355。量化过程将相对较大范围内的值映射到相对较小范围内的值,从而减少表示量化DCT系数355所需的数据量。在量化354期间,许多较高的DCT系数被归零以得到较好的压缩比。

  编码器320进一步执行熵编码356以对矩阵进行熵编码。在熵编码期间,在矩阵的左上部中的值被给予相对较高的重要性,而(对DC系数而言)在右部和/或底部中的值被给予相对较低的重要性并且被以之字形图案编码。这导致具有零值的单元出现在Z字形图案末尾并因此被高效地压缩。在对与图像310相对应的所有块进行编码之后,编码器320生成压缩比特流357(例如,压缩或编码图像)。

  解码器322在接收到压缩比特流357时执行解码过程以解压缩压缩比特流357并生成图像312。图像312可以类似于图像310,并且质量损失很小或无损失。解压缩过程包括熵解码372、去量化374、逆离散余弦变换(IDCT)376、逆几何变换380和逆颜色空间变换392中的一个或多个。解压缩过程生成图像312。

  在一些实现方式中,例如,解码器322对压缩比特流357执行熵解码372并生成量化DCT系数373。解码器322进一步对量化DCT系数373执行去量化374并且生成DCT系数375。例如,可以在去量化374时为每个块生成一个DC系数和63个AC系数。解码器322进一步对量化DCT系数375执行逆离散余弦变换(IDCT)376并生成几何变换的像素值377。几何变换的像素值377可以被用于生成图像312。

  从几何变换的像素值377生成的图像312可以包括被旋转的特征。因此,在一些实现方式中,例如,解码器322对几何变换的像素值377执行逆几何变换380并生成像素值381。解码器322使用从编码器接收到的旋转或几何变换值来执行逆几何变换380,使得能够将纹理特征恢复到其原始方位。例如,在一些示例实现方式中,在执行逆几何变换380时,会将纹理特征216恢复到其原始方位116。解码器322执行逆颜色空间转换392以将像素值从第二颜色空间(例如,YCbCr)转换到第一颜色空间(例如,RGB)并且输出RGB颜色空间393中的像素值,解码器使用这些像素值来生成图像312以供显示(例如,在设备上、在浏览器中、在应用中等)。

  如上所述,可以通过旋转/几何变换此类纹理特征以与正被压缩的图像的各轴中的一个对准来改进对包括与正被压缩的图像的任何一个轴不对准的纹理特征的图像的压缩。这实现了较好的压缩比并且/或者能够导致用户体验的改进。

  在一些实现方式中,例如,可以在解码过程期间进一步细化图像312。例如,解码器322可以执行熵解码、去量化、IDCT、逆几何变换、全图像正则化、去块和详细设计、几何变换、DCT,从而约束具有通过去量化、IDCT、逆几何变换和逆颜色空间转换定义的可能值范围的正则化和去块DCT系数以生成解压缩的图像以进一步改进图像312的质量。

  图7图示根据至少一个示例实现方式的编码器系统700的框图。

  可以将编码器系统700理解成包括各种标准组件,这些标准组件可以用于实现本文描述的技术或其不同或将来的版本。如图7中所示,编码器系统700包括至少一个处理器705、至少一个存储器710(例如,计算机可读存储介质)、控制器720和编码器320。至少一个处理器705、至少一个存储器710、控制器720和编码器320经由总线715被通信地耦合。

  至少一个处理器705可以被配置成执行与控制器720和/或编码器320相关联的计算机指令。至少一个处理器605可以是共享资源。例如,编码器系统320可以是较大系统的元件。

  至少一个存储器710可以被配置成存储与编码器系统700相关联的数据和/或信息。例如,至少一个存储器710可以被配置成存储缓冲器,这些缓冲器包括例如存储几何数据、几何数据的各部分、几何数据中数据点的方位、与几何数据的一部分相关联的数据点的数目、几何变换值和/或类似物的缓冲器。例如,至少一个存储器710可以被配置成存储模型、训练算法、参数、数据暂存器等。

  控制器720可以被配置成生成各种控制信号并且将这些控制信号传送到编码器系统700中的各个块。控制器720可以被配置成依照下述方法来生成控制信号。控制器720可以被配置成控制编码器320以根据如本文所描述的示例实施方式使用模型来对几何数据进行编码。例如,控制器720可以生成并传送指示模型和/或与该模型相关联的参数的控制信号。

  图8图示根据至少一个示例实现方式的解码器系统800的框图。

  在图8的示例中,解码器系统800可以是至少一个计算设备并且应该被理解成实际上表示被配置成执行本文描述的方法的任何计算设备。因此,可以将解码器系统800理解成包括各种标准组件,这些标准组件可以用于实现本文描述的技术或其不同或将来的版本。作为示例,解码器系统800被图示为包括至少一个处理器805以及至少一个存储器810(例如,计算机可读存储介质)、控制器820和解码器322。至少一个处理器805、至少一个存储器810、控制器820和解码器825经由总线815被通信地耦合。

  至少一个处理器805可以被配置成执行与控制器820和/或解码器370相关联的计算机指令。至少一个处理器805可以是共享资源。例如,解码器系统800可以是较大系统(例如,移动设备)的元件。因此,至少一个处理器805可以被配置成执行与较大系统内的其他元件(例如,web浏览或无线通信)相关联的计算机指令。

  至少一个存储器810可以被配置成存储与解码器系统800相关联的数据和/或信息。例如,至少一个存储器810可以被配置成存储与几何数据和/或类似物相关联的模型和参数。

  控制器820可以被配置成生成各种控制信号并且将这些控制信号传送到解码器系统800中的各个块。控制器820可以被配置成依照下述方法来生成控制信号。控制器820可以被配置成控制解码器370以根据如上所述的示例实施方式使用模型和参数来对与几何数据相关联的压缩数据进行解码。

  关于图9描述的方法步骤可以作为存储在与编码器和/或解码器系统(例如,如图2-8中所示)相关联的存储器(例如,至少一个存储器710、810)中的软件代码被执行并且由与编码器和/或解码器系统相关联的至少一个处理器(例如,处理器705、805)执行。例如,存储器可以是存储有计算机可执行程序代码的非暂时性计算机可读存储介质,当在计算机系统上执行时,该计算机可执行程序代码使计算机系统执行在下面关于图9描述的步骤。然而,设想了替代实现方式,诸如作为专用处理器体现的编码器或解码器。

  例如,方法步骤可以由专用集成电路或ASIC执行。例如,可以将ASIC配置为编码器320、解码器370和/或控制器720/820。尽管下述步骤被描述为由处理器执行,但是这些步骤不一定由同一处理器执行。换句话说,至少一个处理器可以执行在下面关于图9描述的步骤。

  图9图示根据至少一个示例实现方式的对图像进行解压缩或解码的方法的流程图900。在一些实现方式中,例如,该方法可以由图3A、图3B和图8的解码器执行。

  在框910处,解码器可以接收几何变换的像素值的块。在一些实现方式中,解码器322可以接收几何变换的像素值的块(例如,图3B的377)。

  在框920处,解码器可以对几何变换的像素值的块执行逆几何变换以生成像素值的块。例如,在一些实现方式中,解码器322和/或逆几何变换组件880可以对几何变换的像素值的块377执行逆几何变换380以生成像素值的块381。像素值的块381表示图像200的与图像200的x轴或y轴不共对准的纹理特征(例如,纹理特征116)。解码器322和/或逆几何变换组件880在块基础上执行逆几何变换并且该块是图像200的块中的一个。

  在框930处,解码器可以基于像素值的第一块来生成图像的至少一部分。例如,在一些实现方式中,解码器322可以基于像素值的第一块381来生成图像312的至少一部分。

  因此,能够执行对包括与图像的任何一个轴不共对准的纹理特征的图像的解压缩,使得通过旋转或几何变换纹理特征以与图像的各轴中的一个共对准,所实现的图像的压缩比是较好的。这种机制将使图像的传输变得较快并且在减压缩过程期间改进最终用户体验。

  图10示出可以与这里描述的技术一起使用的计算机设备1000和移动计算机设备1050的示例。计算设备1050旨在表示各种形式的数字计算机,诸如膝上型电脑、台式机、工作站、个人数字助理、服务器、刀片服务器、大型机和其他适当的计算机。计算设备1050旨在表示各种形式的移动设备,诸如个人数字助理、蜂窝电话、智能电话和其他类似的计算设备。这里示出的组件、其连接和关系及其功能仅意在为示例性的,而不意在限制本文档中描述和/或要求保护的发明的实施方式。

  计算设备1000包括处理器1002、存储器1004、存储设备1006、连接到存储器1004和高速扩展端口1010的高速接口1008、以及连接到低速总线1014和存储设备1006的低速接口1012。组件1002、1004、1006、1008、1010和1012中的每一个均使用各种总线来互连,并且可以被安装在公共主板上或者酌情以其他方式安装。处理器1002能够处理用于在计算设备1000内执行的指令,包括存储在存储器1004中或者在存储设备1006上以在诸如耦合到高速接口1008的显示器1016的外部输入或者输出设备上显示用于GUI的图形信息的指令。在一些实施方式中,可以酌情连同多个存储器和多种类型的存储器一起使用多个处理器和/或多个总线。另外,可以连接多个计算设备1000,其中每个设备提供必要操作的部分(例如,作为服务器组、一组刀片服务器或多处理器系统)。

  存储器1004存储计算设备1000内的信息。在一些实施方式中,存储器1004是一个或多个易失性存储器单元。在一些实施方式中,存储器1004是一个或多个非易失性存储器单元。存储器1004还可以是另一形式的计算机可读介质,诸如磁盘或光盘。

  存储设备1006能够为计算设备1000提供大容量存储。在一些实施方式中,存储设备1006可以是或者包含计算机可读介质,诸如软盘设备、硬盘设备、光盘设备或磁带设备、闪速存储器或其他类似的固态存储设备或设备的阵列,包括存储区域网络或其他配置中的设备。计算机程序产品能够被有形地具体实现在信息载体中。计算机程序产品还可以包含指令,该指令当被执行时执行一个或多个方法,诸如上面描述的那些方法。信息载体是计算机可读介质或机器可读介质,诸如存储器1004、存储设备1006、或处理器1002上的存储器。

  高速控制器1008管理计算设备1000的带宽密集运算,而低速控制器1012管理较低带宽密集运算。功能的这种分配仅是示例性的。在一些实施方式中,高速控制器1008耦合到存储器1004、显示器1016(例如,通过图形处理器或加速器),并且耦合到高速扩展端口1010,该高速扩展端口1010可以接受各种扩展卡(未示出)。在该实施方式中,低速控制器1012耦合到存储设备1006和低速扩展端口1014。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口可以例如通过网络适配器耦合到一个或多个输入或者输出设备,诸如键盘、指点设备、扫描仪、或诸如交换机或路由器的联网设备。

  如图中所示,可以以许多不同的形式实现计算设备1000。例如,它可以作为标准服务器1020被实现,或者被多次实现在一组此类服务器中。它还可以作为机架服务器系统1024的一部分被实现。此外,它可以被实现在诸如膝上型计算机1022的个人计算机中。可替选地,来自计算设备1000的组件可以与诸如设备1050的移动设备(未示出)中的其他组件组合。此类设备中的每一个均可以包含计算设备1000、1050中的一个或多个,并且整个系统可以由彼此通信的多个计算设备1000、1050组成。

  计算设备1050包括处理器1052、存储器1064、诸如显示器1054的输入或者输出设备、通信接口1066和收发器1068等其他组件。设备1050还可以被提供有存储设备,诸如微驱动器或其他设备,以提供附加存储。组件1052、1054、1064、1066和1068中的每一个均使用各种总线来互连,并且若干组件可以被安装在公共主板上或者酌情以其他方式安装。

  处理器1052可执行计算设备1050内的指令,包括存储在存储器1064中的指令。处理器可以被实现为芯片的芯片组,该芯片包括单独的和多个模拟和数字处理器。处理器可以例如提供用于设备1050的其他组件的协调,诸如对用户界面、由设备1050运行的应用和由设备1050进行的无线通信的控制。

  处理器1052可以通过耦合到显示器1054的控制接口1058和显示接口1056来与用户进行通信。显示器1054可以是例如TFT LCD(薄膜晶体管液晶显示器)或OLED(有机发光二极管)显示器或其他适当的显示技术。显示接口1056可以包括用于驱动显示器1054以向用户呈现图形和其他信息的适当的电路。控制接口1058可以从用户接收命令并且对它们进行转换以便提交给处理器1052。此外,可以提供与处理器1052通信的外部接口1062,以使得能实现设备1050与其他设备的近区域通信。外部接口1062可以在一些实施方式中例如提供用于有线通信,或者在其他实施方式中用于无线通信,并且还可以使用多个接口。

  存储器1064存储计算设备1050内的信息。存储器1064可作为一个或多个计算机可读介质、一个或多个易失性存储器单元、或者一个或多个非易失性存储器单元中的一种或多种而被实现。还可以提供扩展存储器1074并且通过扩展接口1072将它连接到设备1050,扩展接口1072可以包括例如SIMM(单列直插存储器模块)卡接口。这种扩展存储器1074可以为设备1050提供附加的存储空间,或者还可以为设备1050存储应用或其他信息。具体地,扩展存储器1074可以包括用于执行或者补充上述过程的指令,并且还可以包括安全信息。因此,例如,扩展存储器1074可以作为用于设备1050的安全模块被提供,并且可以被编程有允许安全使用设备1050的指令。此外,可以经由SIMM卡提供安全应用以及附加信息,诸如以不可破解的方式将识别信息放置在SIMM卡上。

  存储器可以包括例如闪速存储器和/或NVRAM存储器,如在下面所讨论的。在一个实施方式中,计算机程序产品被有形地具体实现在信息载体中。计算机程序产品包含指令,该指令当被执行时执行一个或多个方法,诸如上述的那些方法。信息载体是可以例如通过收发器1068或外部接口1062接收的计算机或机器可读介质,诸如存储器1064、扩展存储器1074、或处理器1052上的存储器。

  设备1050可以通过通信接口1066以无线方式通信,该通信接口1066必要时可以包括数字信号处理电路。通信接口1066可以提供用于各种模式或协议下的通信,各种模式或协议诸如GSM语音呼叫、SMS、EMS或MMS消息传送、CDMA、TDMA、PDC、WCDMA、CDMA2000或GPRS等。这种通信可以例如通过射频收发器1068而发生。此外,可以发生短距离通信,诸如使用蓝牙、WiFi或其他这种收发器(未示出)。此外,GPS(全球定位系统)接收器模块1070可以向设备1050提供附加的导航和位置相关无线数据,其可以酌情由在设备1050上运行的应用使用。

  设备1050还可以使用音频编解码器1060可听地通信,该音频编解码器1060可以从用户接收口语信息并且将它转换为可用的数字信息。音频编解码器1060可以同样地诸如通过例如在设备1050的头戴式耳机中的扬声器为用户生成可听声音。这种声音可以包括来自语音电话呼叫的声音,可以包括记录的声音(例如,语音消息、音乐文件等)并且还可以包括由在设备1082上操作的应用所生成的声音。

  如图中所示,可以以许多不同的形式实现计算设备1050。例如,它可以作为蜂窝电话1080被实现。它还可以作为智能电话1082、个人数字助理或其他类似的移动设备的一部分被实现。

  这里描述的系统和技术的各种实施方式可用数字电子电路、集成电路、专门地设计的ASIC(专用集成电路)、计算机硬件、固件、软件、和/或其组合加以实现。这些各种实施方式可以包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实施方式,该可编程系统包括至少一个可编程处理器,其可以是专用的或通用的,耦合以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令,并且以向存储系统、至少一个输入设备和至少一个输出设备发送数据和指令。这里描述的系统和技术的各种实施方式可以作为可组合软件和硬件方面的电路、模块、块或系统被实现和/或一般地在本文中被称为可以组合软件和硬件方面的电路、模块、块或系统。例如,模块可以包括在处理器(例如,形成在硅基底、GaAs基底等上的处理器)或某个其他可编程数据处理装置上执行的功能/行为/计算机程序指令。

  上述示例实施方式中的一些被描述为作为流程图描绘的过程或方法。尽管流程图将操作描述为顺序过程,然而可以并行地、并发地或同时地执行许多操作。此外,可以重新布置操作的次序。这些过程可以在其操作完成时被终止,但是也可以具有未包括在图中的附加步骤。这些过程可以对应于方法、函数、程序、子例程、子程序等。

  上面讨论的方法——其中的一些通过流程图来图示——可以通过硬件、软件、固件、中间件、微码、硬件描述语言或其任何组合来实现。当用软件、固件、中间件或微码实现时,用于执行必要的任务的程序代码或代码段可以被存储在诸如存储介质的机器或计算机可读介质中。处理器可以执行必要的任务。

  本文中公开的具体结构和功能细节仅仅是表示性的以用于描述示例实施方式的目的。然而,示例实施方式被以许多替代形式具体实现,而不应该被解释为限于仅本文中阐述的实施方式。

  应理解的是,尽管可以在本文中使用术语第一、第二等来描述各种元件,然而这些元件不应该受这些术语限制。这些术语仅用于区分一个元件和另一元件。例如,第一元件能被称为第二元件,并且类似地,第二元件能被称为第一元件,而不脱离示例实施方式的范围。如本文中所使用的,术语和/或包括相关列举项目中的一个或多个的任何和所有组合。

  应理解的是,当元件被称为连接或者耦合到另一元件时,它可以直接地连接或者耦合到另一元件或者可以存在中间元件。相比之下,当元件被称为直接地连接或者直接地耦合到另一元件时,不存在中间元件。应该以相似的方式解释用于描述元件之间的关系的其他单词(例如,在…之间对(versus)直接地在…之间、相邻对(versus)直接地相邻等)。

  本文中使用的术语仅用于描述特定实施方式的目的而不旨在限制示例实施方式。如本文中所使用的,除非上下文另外清楚地指示,否则单数形式一(a)、一个(an)和该(the)也旨在包括复数形式。应进一步理解的是,术语含、含有、包括和/或包括有当在本文中使用时,指定存在陈述的特征、整数、步骤、操作、元件和/或组件,但是不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或其组。

  还应该注意的是,在一些替代实施方式中,所指出的功能/行为可以不按图中指出的次序发生。例如,取决于所涉及的功能性或者行为,相继示出的两个图实际上可以被并发地执行或者有时可以以相反的次序被执行。

  除非另外定义,否则本文中使用的所有术语(包括技术和科学术语)具有与由示例实施方式所属的领域的普通技术人员所通常理解的相同的含义。应进一步理解的是,除非在本文中明确地如此定义,否则术语(例如,在常用词典中定义的那些术语)应该被解释为具有与其在相关领域的上下文中的含义一致的含义,而不应在理想化或过于正式的意义上进行解释。

  上述示例实施方式的各部分和相应的详细描述是按软件或算法以及对计算机存储器内的数据比特的操作的符号表示来呈现的。这些描述和表示是本领域的普通技术人员用来有效地将其工作的实质传达给本领域的其他普通技术人员的描述和表示。当在这里使用该术语时,并且当一般地使用它时,算法被认为是导致期望结果的步骤的自相一致序列。这些步骤是要求对物理量物的理操纵的那些步骤。通常,尽管不一定,然而这些量采取能够被存储、转移、组合、比较和以其他方式操纵的光学信号、电信号或磁信号的形式。有时主要由于通用的原因,将这些信号称为比特、值、元素、符号、字符、术语、数字等已证明是方便的。

  在上述说明性实施方式中,对可以作为程序模块或功能过程被实现的操作(例如,以流程图的形式)的行为和符号表示的引用包括执行特定任务或者实现特定抽象数据类型并且可以使用现有结构元件处的现有硬件来描述和/或实现的例程、程序、对象、组件、数据结构等。这种现有硬件可以包括一个或多个中央处理单元(CPU)、数字信号处理器(DSP)、专用集成电路、现场可编程门阵列(FPGA)计算机等。

  然而,应该记住的是,所有这些和类似的术语都将与适当的物理量相关联并且仅仅是应用于这些量的方便标签。除非另外具体地陈述,或者如从讨论中显而易见的,诸如处理或计算或计算出或确定显示等的术语指代计算机系统或类似的电子计算设备的动作和过程,所述计算机系统或类似的电子计算设备将被表示为计算机系统的寄存器和存储器内的物理、电子量的数据操纵并变换成被类似地表示为计算机系统存储器或寄存器或其他此类信息存储、传输或显示设备内的物理量的其他数据。

  另外注意的是,示例实施方式的软件实现的方面通常被编码在某种形式的非暂时性程序存储介质上或者实现在某种类型的传输介质上。程序存储介质可以是磁的(例如,软盘或硬盘驱动器)或光学的(例如,紧致盘只读存储器或CD ROM),并且可以是只读或随机存取的。类似地,传输介质可以是双绞线对、同轴电缆、光纤或为本领域所知的某个其他适合的传输介质。示例实施方式不受任何给定实施方式的这些方面限制。

  最后,还应该注意的是,虽然所附权利要求书陈列本文中描述的特征的特定组合,但是本公开的范围不限于此后要求保护的特定组合,而是替代地扩展到包含本文中公开的特征或实施方式的任何组合,而不管此时是否已在所附权利要求中具体地枚举了该特定组合。

  尽管示例实施方式可以包括各种修改和替代形式,但是其实施方式在附图中以示例的方式示出并且将在本文中详细描述。然而,应理解,无意将示例实施方式限制为所公开的特定形式,而是相反,示例实施方式将覆盖落入权利要求范围内的所有修改、等效物和替代形式。在整个附图的描述中,相同的标号指代相同的元件。

《用于图像压缩的几何变换.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)