一种图像数据压缩和解压缩方法、装置制造方法
【专利摘要】本发明实施例提供一种数据压缩和解压缩方法、装置,以提升编码效率和压缩效率。所述数据压缩方法包括:将图像块像素最小值和像素最大值分别量化为第一量化值和第二量化值,所述像素最小值和像素最大值分别对应于第一量化阶的量化阶编号和第二量化阶的量化阶编号;将所述图像块每个像素的值映射为第三量化阶的量化阶编号;对所述像素最小值对应的第一量化阶的量化阶编号、所述像素最大值对应的第二量化阶的量化阶编号和所述图像块每个像素的值映射所得量化阶编号进行编码并写入码流。本发明实施例提供的方法显著减少了编码使用的比特数,大大提升了编码效率和压缩效率。
【专利说明】一种图像数据压缩和解压缩方法、装置
【技术领域】
[0001]本发明涉及图像处理领域,尤其涉及一种图像数据压缩和解压缩方法、装置。
【背景技术】
[0002]随着信息产业的不断发展,流程工业中的信息量也急剧膨胀。在整个流程工业中所集成的数据采集点数通常有几千到十几万,数据采集间隔要达到秒级,数据量很大。为了确保高效的数据存储,在一定的精度指标下,应尽量减少数据的存储,这就需要对数据进行压缩处理。为了使工业数据库系统快速、有效地管理数据,提高磁盘存储效率,需要保证系统具有较高的压缩率和快速的、高精度的数据解压,必须进行有效的数据压缩。
[0003]根据不同的编码对原始文件数据产生不同的损失效果,可以将数据压缩技术分为有损压缩和无损压缩两大类,其中,有损压缩是一种在压缩损失过程中以损失一定的信息来换取较高压缩比的压缩方法。有损压缩虽然不能完全恢复原始数据,但是这种数据压缩技术是在损失数据对理解原始数据信息的影响不大的前提下获取较大的压缩比。因此,有损压缩大部分应用于影音、图像和视频数据的压缩,也应用于海量过程数据的压缩。
[0004]现有的一种应用于图像压缩的有损压缩方法是:将图像被分成若干图像数据块,其中,每个图像数据块包含若干像素点;搜索待处理图像块像素的最大值和最小值;对于图像数据块的每一个像素点,减去最小像素点的值,并且根据量化范围对应关系,取得差值的量化值;分别对最大值、最小值和每一个像素点的差值的量化值进行编码。
[0005]本案发明人发现,上述现有技术提供的有损压缩方法对最大值和最小值没有进行压缩,因此,压缩率仍然较低。
【发明内容】
[0006]本发明实施例提供一种数据压缩和解压缩方法、装置,以提升编码效率和压缩效率。
[0007]本发明实施例提供一种图像数据压缩方法,所述方法包括:将图像块像素最小值和像素最大值分别量化为第一量化值和第二量化值,所述像素最小值和像素最大值分别对应于第一量化阶的量化阶编号和第二量化阶的量化阶编号;将所述图像块每个像素的值映射为第三量化阶的量化阶编号,所述第三量化阶是以所述第一量化值和第二量化值为端值的量化区间被均匀划分的若干量化阶中一个量化阶;对所述像素最小值对应的第一量化阶的量化阶编号、所述像素最大值对应的第二量化阶的量化阶编号和所述图像块每个像素的值映射所得量化阶编号进行编码并写入码流。
[0008]本发明实施例提供一种图像数据解压缩方法,所述方法包括:根据码流中图像块像素最小值和像素最大值对应的量化阶编号,解码得到图像块像素最小值和像素最大值分别对应的第一量化值和第二量化值;根据码流中图像块每个像素的值映射为第三量化阶的量化阶编号时所用量化阶次、所述第一量化值和第二量化值,获取以所述第一量化值和第二量化值为端值的量化区间被均匀划分的若干所述第三量化阶;根据码流中图像块每个像素的值映射为第三量化阶的量化阶编号和所述每一第三量化阶的边界值,重构所述图像块每个像素以获取所述图像块每个像素的值。
[0009]本发明实施例提供一种图像数据压缩装置,所述装置包括:量化模块,用于将图像块像素最小值和像素最大值分别量化为第一量化值和第二量化值,所述像素最小值和像素最大值分别对应于第一量化阶的量化阶编号和第二量化阶的量化阶编号;映射模块,用于将所述图像块每个像素的值映射为第三量化阶的量化阶编号,所述第三量化阶是以所述第一量化值和第二量化值为端值的量化区间被均匀划分的若干量化阶中一个量化阶;编码模块,用于对所述像素最小值对应的第一量化阶的量化阶编号、所述像素最大值对应的第二量化阶的量化阶编号和所述图像块每个像素的值映射所得量化阶编号进行编码并写入码流。
[0010]本发明实施例提供一种图像数据解压缩装置,所述装置包括:解码模块,用于根据码流中图像块像素最小值和像素最大值对应的量化阶编号,解码得到图像块像素最小值和像素最大值分别对应的第一量化值和第二量化值;获取模块,用于根据码流中图像块每个像素的值映射为第三量化阶的量化阶编号时所用量化阶次、所述第一量化值和第二量化值,获取以所述第一量化值和第二量化值为端值的量化区间被均匀划分的若干所述第三量化阶;重构模块,用于根据码流中图像块每个像素的值映射为第三量化阶的量化阶编号和所述每一第三量化阶的边界值,重构所述图像块每个像素以获取所述图像块每个像素的值。
[0011]从上述本发明实施例可知,由于对图像块像素最小值和像素最大值分别进行了量化,而图像块每个像素的值也映射为了某种量化阶的量化阶编号,最后的编码对象是像素最小值对应的第一量化阶的量化阶编号、像素最大值对应的第二量化阶的量化阶编号和图像块每个像素的值映射所得量化阶编号。与现有技术提供的不对最大值和最小值进行压缩的有损压缩方法相比,本发明实施例提供的方法显著减少了编码使用的比特数,大大提升了编码效率和压缩效率。
【专利附图】
【附图说明】
[0012]为了更清楚地说明本发明实施例的技术方案,下面将对现有技术或实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,还可以如这些附图获得其他的附图。
[0013]图1是本发明实施例提供的图像数据压缩方法流程示意图;
[0014]图2a是本发明实施例提供的图像块包含的像素示意图;
[0015]图2b是本发明实施例提供的将以0和255为端值的量化区间划分为16个量化阶的不意图;
[0016]图2c是本发明实施例提供的将以第一量化值80和第二量化值192为端值的量化区间均匀划分8个量化阶的示意图;
[0017]图2d是本发明实施例提供的将像素的值映射为量化阶编号的示意图;
[0018]图3是本发明实施例提供的图像数据解压缩方法流程示意图;
[0019]图4a是本发明实施例提供的在解码端解码得到图像块像素最小值和像素最大值分别对应的第一量化值和第二量化值的示意图;[0020]图4b是本发明实施例提供的重构图像块每个像素的值的示意图;
[0021]图4c是本发明实施例提供的压缩前的像素的值和重构的像素的值对比示意图;
[0022]图5是本发明实施例提供的图像数据压缩装置结构示意图;
[0023]图6是本发明另一实施例提供的图像数据压缩装置结构示意图;
[0024]图7是本发明另一实施例提供的图像数据压缩装置结构示意图;
[0025]图8是本发明另一实施例提供的图像数据压缩装置结构示意图;
[0026]图9a是本发明另一实施例提供的图像数据压缩装置结构示意图;
[0027]图9b是本发明另一实施例提供的图像数据压缩装置结构示意图;
[0028]图9c是本发明另一实施例提供的图像数据压缩装置结构示意图;
[0029]图10是本发明实施例提供的图像数据解压缩装置结构示意图;
[0030]图11是本发明另一实施例提供的图像数据解压缩装置结构示意图;
[0031]图12a是本发明另一实施例提供的图像数据解压缩装置结构示意图;
[0032]图12b是本发明另一实施例提供的图像数据解压缩装置结构示意图。
【具体实施方式】
[0033]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员所获得的所有其他实施例,都属于本发明保护的范围。
[0034]请参阅附图1,是本发明实施例提供的图像数据压缩方法流程示意图,主要包括步骤S101、步骤S102和步骤S103:
[0035]S101,将图像块像素最小值和像素最大值分别量化为第一量化值和第二量化值,所述像素最小值和像素最大值分别对应于第一量化阶的量化阶编号和第二量化阶的量化阶编号。
[0036]与现有技术不对图像中具有最小值的像素和最大值的像素进行压缩不同,在本发明实施例中,可以将待压缩的图像划分为包含若干像素的独立处理单元,然后,搜索该独立处理单元内像素最小值和像素最大值,将像素最小值和像素最大值分别量化为第一量化值和第二量化值。
[0037]作为本发明一个实施例,在将图像块像素最小值和像素最大值分别量化为第一量化值和第二量化值时,可以是将图像块像素最小值量化为M个量化阶(levelsofquantization)中第一量化阶的边界值,将图像块像素最大值量化为所述M个量化阶中第二量化阶的边界值,其中,M为大于I的自然数。
[0038]以像素使用Sbit (位)表示为例,由于像素使用Sbit表示时,图像块像素最小值和像素最大值不会超过2 5 5 (=28 -1),因此,作为本发明一个实施例,在将图像块像素最小值量化为M个量化阶(levels of quantization)中第一量化阶的边界值,将图像块像素最大值量化为所述M个量化阶中第二量化阶的边界值时,可以先将以0和255为端值的量化区间均匀划分为16个量化阶,然后,将图像块像素最小值量化为这16个量化阶中某个量化阶的边界值,该边界值为第一量化值,将图像块像素最大值量化为这16个量化阶中另一量化阶的边界值,该边界值为第二量化值。为了区别和描述的方便,在以下的说明中,将图像块像素最小值量化为若干量化阶中某个量化阶的边界值所对应的量化阶称为第一量化阶,将图像块像素最大值量化为若干量化阶中另一量化阶的边界值所对应的量化阶称为第二量化阶,以下以图像块包含4X2个像素为例进行说明。
[0039]如附图2a所示,图像块包含的8个像素的像素值分别为167、154、141、133、181、152、122和86,经搜索,像素最小值为86,像素最大值为181。不妨将以0和255为端值的量化区间划分为16个量化阶,如附图2b所示,这里,以0和255为端值的量化区间划分为的16个量化阶,量化阶的个数16也可以被称为量化阶次。附图2b示例的16个量化阶的编号依次为0、1、2、3、4、5、6、7、8、9、10、11、12、13、14和15,其中,第0个量化阶的边界值(包括左边界值和右边界值)分别为0和16,第I个量化阶的边界值(包括左边界值和右边界值)分别为16和32,第2个量化阶的边界值(包括左边界值和右边界值)分别为32和48,第3个量化阶的边界值(包括左边界值和右边界值)分别为48和64,第4个量化阶的边界值(包括左边界值和右边界值)分别为64和80,第5个量化阶的边界值(包括左边界值和右边界值)分别为80和96,第6个量化阶的边界值(包括左边界值和右边界值)分别为96和112,第7个量化阶的边界值(包括左边界值和右边界值)分别为112和128,第8个量化阶的边界值(包括左边界值和右边界值)分别为128和144,第9个量化阶的边界值(包括左边界值和右边界值)分别为144和160,第10个量化阶的边界值(包括左边界值和右边界值)分别为160和176,第11个量化阶的边界值(包括左边界值和右边界值)分别为176和192,第12个量化阶的边界值(包括左边界值和右边界值)分别为192和208,第13个量化阶的边界值(包括左边界值和右边界值)分别为208和224,第14个量化阶的边界值(包括左边界值和右边界值)分别为224和240,第15个量化阶的边界值(包括左边界值和右边界值)分别为240和255。由于附图2a示例的图像块像素最小值为86,在以左边界值80和右边界值96为端值的对应量化阶之内,因此,图像块像素最小值对应的第一量化阶的量化阶编号为5 ;同理,附图2a示例的图像块像素最大值为181,在以左边界值176和右边界值192为端值的对应量化阶之内,因此,图像块像素最大值对应的第二量化阶的量化阶编号为U。
[0040]进一步,可以将附图2a示例的图像块像素最小值量化为第5个量化阶的左边界值80,将附图2a示例的图像块像素最大值量化为第11个量化阶的右边界值192,即附图2a示例的图像块像素最小值所量化成的第一量化值为80,附图2a示例的图像块像素最大值所量化成的第二量化值为192。
[0041]S102,将所述图像块每个像素的值映射为第三量化阶的量化阶编号,所述第三量化阶是以所述第一量化值和第二量化值为端值的量化区间被均匀划分的若干量化阶中一个量化阶。
[0042]以第一量化值和第二量化值为端值的量化区间被均匀划分若干量化阶时,所划分的量化阶的数量可以根据图像数据压缩的精度要求而定,一般地,如果精度要求越高,即压缩时损失的信息越少,则划分的量化阶的数量可以划分得越多,反之,如果精度要求越小,即压缩时损失的信息越大,则划分的量化阶的数量可以划分得越少。在本发明实施例中,以第一量化值和第二量化值为端值的量化区间被均匀划分若干量化阶时,所划分的量化阶的数量可以与图像块包含的像素数量相等。
[0043]以附图2a所示的图像块和附图2b所示的第一量化值、第二量化值为例,可以将以第一量化值80和第二量化值192为端值的量化区间均匀划分8个量化阶,8个量化阶的量化阶编号依次为0、1、2、3、4、5、6和7,如附图2c所示。这里,以第一量化值80和第二量化值192为端值的量化区间划分为的8个量化阶,量化阶的个数8也可以被称为量化阶次。附图2c示例的量化阶中,第O个量化阶的边界值(包括左边界值和右边界值)分别为O和94,第I个量化阶的边界值(包括左边界值和右边界值)分别为94和108,第2个量化阶的边界值(包括左边界值和右边界值)分别为108和122,第3个量化阶的边界值(包括左边界值和右边界值)分别为122和136,第4个量化阶的边界值(包括左边界值和右边界值)分别为136和150,第5个量化阶的边界值(包括左边界值和右边界值)分别为150和164,第6个量化阶的边界值(包括左边界值和右边界值)分别为164和178,第7个量化阶的边界值(包括左边界值和右边界值)分别为178和192。具体地,在将图像块每个像素的值映射为第三量化阶的量化阶编号时,若该像素的值落入某个第三量化阶的左边界值和右边界值界定的范围之内,则该像素的值就映射为该第三量化阶的量化阶编号,如附图2d所示,由于像素值为141的像素的值落入附图2c示例的8个第三量化阶中第4个第三量化阶的左边界值136和右边界值150界定的范围之内,因此,像素值为141的像素的值所映射的第三量化阶的量化阶编号为4,同理,像素值为167的像素的值所映射的第三量化阶的量化阶编号为6,像素值为154的像素的值所映射的第三量化阶的量化阶编号为5,像素值为133的像素的值所映射的第三量化阶的量化阶编号为3,像素值为181的像素的值所映射的第三量化阶的量化阶编号为7,像素值为152的像素的值所映射的第三量化阶的量化阶编号为5,像素值为122的像素的值所映射的第三量化阶的量化阶编号为3,像素值为86的像素的值所映射的第三量化阶的量化阶编号为0,如附图2d所示。
[0044]S103,对所述像素最小值对应的第一量化阶的量化阶编号、所述像素最大值对应的第二量化阶的量化阶编号和所述图像块每个像素的值映射所得量化阶编号进行编码并写入码流。
[0045]经过步骤SlOl和步骤S102,相对于现有技术,编码像素最小值对应的第一量化阶的量化阶编号所使用的比特数明显要少于编码像素最小值所使用的比特数,编码像素最大值对应的第一量化阶的量化阶编号所使用的比特数明显要少于编码像素最大值所使用的比特数,编码图像块每个像素的值映射所得量化阶编号所使用的比特数也要明显少于编码每个像素与最小像素的差值所使用的比特数。以附图2a至附图2d为例,使用本发明的方法,对像素最小值86对应的第一量化阶的量化阶编号5进行编码只需要4比特(5=0100),对像素最大值171对应的第一量化阶的量化阶编号11进行编码也只需要4比特(11=1011);由于附图2a示例的图像块每个像素的值映射所得量化阶编号最大值为7。因此,对附图2a示例的图像块每个像素的值映射所得量化阶编号进行编码只需要3比特,对附图2a示例的图像块所有像素的值映射所得量化阶编号进行编码总共需要的比特数为8X3即24比特,换言之,对附图2a示例的图像块像素最小值对应的第一量化阶的量化阶编号、像素最大值对应的第二量化阶的量化阶编号和所述图像块每个像素的值映射所得量化阶编号进行编码使用的比特数为4+4+24即32比特。而使用现有技术,则对附图2a示例的图像块编码使用的比特数为8+8+24即40比特,两者相比,本发明实施例提供的方法显著减少了编码使用的比特数,大大提升了编码效率。
[0046]从上述本发明实施例提供的图像数据压缩方法可知,由于对图像块像素最小值和像素最大值分别进行了量化,而图像块每个像素的值也映射为了某种量化阶的量化阶编号,最后的编码对象是像素最小值对应的第一量化阶的量化阶编号、像素最大值对应的第二量化阶的量化阶编号和图像块每个像素的值映射所得量化阶编号。与现有技术提供的不对最大值和最小值进行压缩的有损压缩方法相比,本发明实施例提供的方法显著减少了编码使用的比特数,大大提升了编码效率和压缩效率。
[0047]在前述实施例中,将图像块像素最小值和像素最大值分别量化为第一量化值和第二量化值时,第一量化阶和第二量化阶同属于包含若干量化阶的多个量化阶中的两个量化阶,例如,第一量化阶和第二量化阶都属于包含16个量化阶的多个量化阶中的两个量化阶。在本发明实施例中,第一量化阶和第二量化阶也可以属于不同的多个量化阶中的两个量化阶,例如,第一量化阶属于包含J个量化阶的多个量化阶中的一个量化阶,第二量化阶属于包含K个量化阶的多个量化阶中的一个量化阶,这里,所述J与所述K为大于I且不相等的自然数。
[0048]作为将图像块像素最小值和像素最大值分别量化为第一量化值和第二量化值的另一实施例,可以将图像块像素最小值量化为J个量化阶中第一量化阶的边界值,将图像块像素最大值量化为K个量化阶中第二量化阶的边界值。例如,以附图2a所示的包含4X2个像素的图像块为例,将图像块像素最小值86量化为以0和255为端值的量化区间被均匀划分的32个第一量化阶中一个第一量化阶的边界值,将图像块像素最大值181量化为以0和255为端值的量化区间被均匀划分的16个第二量化阶中一个第二量化阶的边界值,这里,以0和255为端值的量化区间划分为的32个第一量化阶或16个第二量化阶,量化阶的个数16或32也可以被称为量化阶次。在本实施例中,像素最小值86量化为第一量化值时可以是80,其对应于32个第一量化阶的量化阶编号为10,像素最大值181量化为第二量化值时可以是192,其对应于16个第二量化阶的量化阶编号为11。在将所述图像块每个像素的值映射为第三量化阶的量化阶编号之前,进一步,判断图像块像素最小值被量化成的边界值对应的二进制数右移一位后与所述图像块像素最大值被量化成的边界值对应的二进制数是否相等,或者,判断图像块像素最大值被量化成的边界值对应的二进制数右移一位后与所述图像块像素最小值被量化成的边界值对应的二进制数是否相等。
[0049]若图像块中像素最小值被量化成的边界值对应的二进制数右移一位后与所述图像块像素最大值被量化成的边界值对应的二进制数不相等,则在上述实施例中,将所述像素最小值对应的第一量化阶的量化阶编号、所述像素最大值对应的第二量化阶的量化阶编号和所述图像块每个像素的值映射所得量化阶编号写入码流包括:
[0050]判断图像块像素最小值被量化成的边界值对应的二进制数进行右移一位移除的是“I”还是“0”;若图像块像素最小值被量化成的边界值对应的二进制数进行右移一位移除的是“1”,则对所述像素最小值被量化成的边界值的二进制数进行右移一位后所得值对应的量化阶编号、所述像素最大值被量化成的边界值对应的量化阶编号和所述图像块每个像素的值映射所得量化阶编号进行编码并依次写入码流;若图像块像素最小值被量化成的边界值对应的二进制数进行右移一位移除的是“0”,则对所述像素最大值被量化成的边界值对应的量化阶编号、将像素最小值被量化成的边界值的二进制数进行右移一位后所得值对应的量化阶编号和所述图像块每个像素的值映射所得量化阶编号进行编码并依次写入码流。
[0051]在上述实施例中,也可以对编码后的量化阶编号写入码流的顺序不做限定,例如,若图像块像素最小值被量化成的边界值对应的二进制数进行右移一位移除的是“1”,也可以是对所述像素最大值被量化成的边界值对应的量化阶编号、所述像素最小值被量化成的边界值的二进制数进行右移一位后所得值对应的量化阶编号和所述图像块每个像素的值映射所得量化阶编号进行编码并依次写入码流;若图像块像素最小值被量化成的边界值对应的二进制数进行右移一位移除的是“O”,也可以对像素最小值被量化成的边界值的二进制数进行右移一位后所得值对应的量化阶编号、所述像素最大值被量化成的边界值对应的量化阶编号和所述图像块每个像素的值映射所得量化阶编号进行编码并依次写入码流。
[0052]若判断图像块像素最大值被量化成的边界值对应的二进制数右移一位后与所述图像块像素最小值被量化成的边界值对应的二进制数不相等,则所述将所述像素最小值对应的第一量化阶的量化阶编号、所述像素最大值对应的第二量化阶的量化阶编号和所述图像块每个像素的值映射所得量化阶编号写入码流包括:判断图像块像素最大值被量化成的边界值对应的二进制数进行右移一位移除的是“I”还是“0”;若图像块像素最大值被量化成的边界值对应的二进制数进行右移一位移除的是“1”,则对所述像素最大值被量化成的边界值的二进制数进行右移一位后所得值对应的量化阶编号、所述像素最小值被量化成的边界值对应的量化阶编号和所述图像块每个像素的值映射所得量化阶编号进行编码并依次写入码流;若图像块像素最大值被量化成的边界值对应的二进制数进行右移一位移除的是“0”,则对所述像素最小值被量化成的边界值对应的量化阶编号、将像素最大值被量化成的边界值的二进制数进行右移一位后所得值对应的量化阶编号和所述图像块每个像素的值映射所得量化阶编号进行编码并依次写入码流。
[0053]类似地,也可以对编码后的量化阶编号写入码流的顺序不做限定,例如,若图像块像素最大值被量化成的边界值对应的二进制数进行右移一位移除的是“ 1”,则也可以对所述像素最小值被量化成的边界值对应的量化阶编号、所述像素最大值被量化成的边界值的二进制数进行右移一位后所得值对应的量化阶编号和所述图像块每个像素的值映射所得量化阶编号进行编码并依次写入码流;若图像块像素最大值被量化成的边界值对应的二进制数进行右移一位移除的是“0”,也可以对像素最大值被量化成的边界值的二进制数进行右移一位后所得值对应的量化阶编号、所述像素最小值被量化成的边界值对应的量化阶编号和所述图像块每个像素的值映射所得量化阶编号进行编码并依次写入码流。
[0054]在上述实施例中,实际上是通过数据隐藏技术,提高了像素最大值和像素最小值的量化精度,并提升了编码效率。
[0055]在上述实施例中,判断图像块中像素最小值被量化成的边界值对应的二进制数右移一位后与所述图像块像素最大值被量化成的边界值对应的二进制数相等,或者判断图像块像素最大值被量化成的边界值对应的二进制数右移一位后与所述图像块像素最小值被量化成的边界值对应的二进制数相等,则这种情况下图像数据压缩方法与附图1示例的相同,即将图像块像素最小值和像素最大值分别量化为第一量化值和第二量化值包括:将图像块像素最小值量化为M个量化阶中第一量化阶的边界值,将图像块像素最大值量化为所述M个量化阶中第二量化阶的边界值,所述M为大于I的自然数。后续进一步的处理过程与附图1示例的步骤S102和步骤S 103包含的内容相同,这里不做赘述,可参阅前文。
[0056]对应于附图1示例的图像数据压缩方法,附图3是本发明实施例提供的图像数据解压缩方法流程示意图,主要包括步骤S301、步骤S302和步骤S303:
[0057]S301,根据码流中图像块像素最小值和像素最大值对应的量化阶编号,解码得到图像块像素最小值和像素最大值分别对应的第一量化值和第二量化值。
[0058]由于编码端和解码端约定了图像块像素最小值和像素最大值分别量化为第一量化值和第二量化值时使用的量化阶次,因此,在解码端,可以根据码流中图像块像素最小值和像素最大值对应的量化阶编号,解码得到图像块像素最小值和像素最大值分别对应的第一量化值和第二量化值。以附图2a所示的图像块为例,像素最小值86和像素最大值181对应的量化阶编号分别为5和11,由于量化阶次为16,故在解码端可以解码得到图像块像素最小值和像素最大值分别对应的第一量化值80和第二量化值192,如附图4a所示。
[0059]S302,根据码流中图像块每个像素的值映射为第三量化阶的量化阶编号时所用量化阶次、图像块像素最小值对应的第一量化值和图像块像素最大值对应的第二量化值,获取以所述第一量化值和第二量化值为端值的量化区间被均匀划分的若干所述第三量化阶。
[0060]由于编码端和解码端约定了图像块每个像素的值映射为第三量化阶的量化阶编号时所用量化阶次,因此,在解码端,可以根据码流中图像块每个像素的值映射为第三量化阶的量化阶编号时所用量化阶次、所述第一量化值和第二量化值。以附图2a所示的图像块为例,像素最小值86对应的第一量化值为80,像素最大值181对应的第二量化值为192,图像块每个像素的值映射为第三量化阶的量化阶编号时所用量化阶次为8,则以所述第一量化值80和第二量化值192为端值的量化区间被均匀划分8个第三量化阶,如附图4b所示。
[0061]相应于将图像块像素最小值和像素最大值分别量化为第一量化值和第二量化值时,第一量化阶和第二量化阶属于不同的多个量化阶中的两个量化阶这一实施例,在解码端,在根据码流中图像块每个像素的值映射为第三量化阶的量化阶编号时所用量化阶次、所述第一量化值和第二量化值,获取以所述第一量化值和第二量化值为端值的量化区间被均匀划分的若干所述第三量化阶之前,需要判断所述第一量化值和第二量化值是否相等;若所述第一量化值和第二量化值不相等并且先收到码流中图像块像素最小值对应的量化阶编号后收到码流中图像块像素最大值对应的量化阶编号,则将所述第一量化值对应的二进制数左移一位并且在末位补“ I ”,若所述第一量化值和第二量化值不相等并且先收到码流中图像块像素最大值对应的量化阶编号后收到码流中图像块像素最小值对应的量化阶编号,则将所述第一量化值对应的二进制数左移一位并且在末位补“O”。此时,根据码流中图像块每个像素的值映射为第三量化阶的量化阶编号时所用量化阶次、所述第一量化值和第二量化值,获取以所述第一量化值和第二量化值为端值的量化区间被均匀划分的若干所述第三量化阶可以是:根据码流中图像块每个像素的值映射为第三量化阶的量化阶编号时所用量化阶次、所述第二量化值和所述第一量化值对应的二进制数左移一位并且在末位补“0”或“I”后对应的十进制数,获取以所述所述第一量化值对应的二进制数左移一位并且在末位补“0”或“I”后对应的十进制数和第二量化值为端值的量化区间被均匀划分的若干所述第三量化阶,具体方法与附图4b及其对应的文字说明类似,不做赘述。
[0062]若所述第一量化值和第二量化值不相等并且先收到码流中图像块像素最大值对应的量化阶编号后收到码流中图像块像素最小值对应的量化阶编号,则将所述第二量化值对应的二进制数左移一位并且在末位补“ I ”,若所述第一量化值和第二量化值不相等并且先收到码流中图像块像素最小值对应的量化阶编号后收到码流中图像块像素最大值对应的量化阶编号,则将所述第二量化值对应的二进制数左移一位并且在末位补“O”。此时,根据码流中图像块每个像素的值映射为第三量化阶的量化阶编号时所用量化阶次、所述第一量化值和第二量化值,获取以所述第一量化值和第二量化值为端值的量化区间被均匀划分的若干所述第三量化阶可以是:根据码流中图像块每个像素的值映射为第三量化阶的量化阶编号时所用量化阶次、所述第一量化值和所述第二量化值对应的二进制数左移一位并且在末位补“0”或“ I ”后对应的十进制数,获取以所述第二量化值对应的二进制数左移一位并且在末位补“0”或“I”后对应的十进制数和第一量化值为端值的量化区间被均匀划分的若干所述第三量化阶,具体方法与附图4b及其对应的文字说明类似,不做赘述。
[0063]S303,根据码流中图像块每个像素的值映射为第三量化阶的量化阶编号和所述每一第三量化阶的边界值,重构所述图像块每个像素以获取所述图像块每个像素的值。
[0064]具体地,可以取每一个量化阶编号所对应第三量化阶的左边界值或右边界值作为所述每一个量化阶编号所对应像素的值。为了进一步提高重构所述图像块每个像素时获取所述图像块每个像素的值的精度,也可以取每一个量化阶编号所对应第三量化阶的两个边界值,对所述两个边界值的平均值取整,以取整所得的值作为所述每一个量化阶编号所对应像素的值。以附图2d所示为例,像素值为141的像素的值所映射的第三量化阶的量化阶编号为4,像素值为167的像素的值所映射的第三量化阶的量化阶编号为6,像素值为154的像素的值所映射的第三量化阶的量化阶编号为5,像素值为133的像素的值所映射的第三量化阶的量化阶编号为3,像素值为181的像素的值所映射的第三量化阶的量化阶编号为7,像素值为152的像素的值所映射的第三量化阶的量化阶编号为5,像素值为122的像素的值所映射的第三量化阶的量化阶编号为3,像素值为86的像素的值所映射的第三量化阶的量化阶编号为0,那么,在附图4b示例的8个第三量化阶中,量化阶编号为4的第三量化阶,其两个边界值(左边界值和右边界值)分别为136和150,则该两个边界值的平均值取整为(136+150)/2=143,即在编码端进行压缩时,像素值为141的像素在解码端进行解压缩时,重构后的像素的值为143,与压缩前的像素值相差2 ;同理,量化阶编号为6的第三量化阶,其两个边界值(左边界值和右边界值)分别为164和178,则该两个边界值的平均值取整为(164+178)/2=171,即在编码端进行压缩时,像素值为167的像素在解码端进行解压缩时,重构后的像素的值为171,与压缩前的像素值相差2 ;量化阶编号为5的第三量化阶,其两个边界值(左边界值和右边界值)分别为150和164,则该两个边界值的平均值取整为(150+164) /2=157,即在编码端进行压缩时,像素值为154的像素在解码端进行解压缩时,重构后的像素的值为157,与压缩前的像素值相差3 ;量化阶编号为3的第三量化阶,其两个边界值(左边界值和右边界值)分别为122和136,则该两个边界值的平均值取整为(122+136)/2=129,即在编码端进行压缩时,像素值为133的像素在解码端进行解压缩时,重构后的像素的值为129,与压缩前的像素值相差4 ;量化阶编号为7的第三量化阶,其两个边界值(左边界值和右边界值)分别为178和192,则该两个边界值的平均值取整为(178+192)/2=185,即在编码端进行压缩时,像素值为181的像素在解码端进行解压缩时,重构后的像素的值为185,与压缩前的像素值相差4 ;量化阶编号为5的第三量化阶,其两个边界值(左边界值和右边界值)分别为150和164,则该两个边界值的平均值取整为(150+164)/2=157,即在编码端进行压缩时,像素值为152的像素在解码端进行解压缩时,重构后的像素的值为157,与压缩前的像素值相差5 ;量化阶编号为3的第三量化阶,其两个边界值(左边界值和右边界值)分别为178和192,则该两个边界值的平均值取整为(122+136)/2=129,即在编码端进行压缩时,像素值为122的像素在解码端进行解压缩时,重构后的像素的值为129,与压缩前的像素值相差7 ;量化阶编号为O的第三量化阶,其两个边界值(左边界值和右边界值)分别为80和94,则该两个边界值的平均值取整为(80+94)/2=87,即在编码端进行压缩时,像素值为86的像素在解码端进行解压缩时,重构后的像素的值为87,与压缩前的像素值相差1,如附图4c所示,是附图2a所示图像块在解压缩后对应像素的值示意图。对于图像数据的有损压缩而言,这些差值是可以接受的。
[0065]请参阅附图5,是本发明实施例提供的图像数据压缩装置结构示意图。为了便于说明,仅仅示出了与本发明实施例相关的部分。附图5示例的图像数据压缩装置包括量化模块501、映射模块502和编码模块503,其中:
[0066]量化模块501,用于将图像块像素最小值和像素最大值分别量化为第一量化值和第二量化值,所述像素最小值和像素最大值分别对应于第一量化阶的量化阶编号和第二量化阶的量化阶编号。
[0067]映射模块502,用于将所述图像块每个像素的值映射为第三量化阶的量化阶编号,所述第三量化阶是以所述第一量化值和第二量化值为端值的量化区间被均匀划分的若干量化阶中一个量化阶。
[0068]编码模块503,用于对所述像素最小值对应的第一量化阶的量化阶编号、所述像素最大值对应的第二量化阶的量化阶编号和所述图像块每个像素的值映射所得量化阶编号进行编码并写入码流。
[0069]需要说明的是,以上图像数据压缩装置的实施方式中,各功能模块的划分仅是举例说明,实际应用中可以根据需要,例如相应硬件的配置要求或者软件的实现的便利考虑,而将上述功能分配由不同的功能模块完成,即将所述图像数据压缩装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。而且,实际应用中,本实施例中的相应的功能模块可以是由相应的硬件实现,也可以由相应的硬件执行相应的软件完成,例如,前述的量化模块,可以是具有执行前述将图像块像素最小值和像素最大值分别量化为第一量化值和第二量化值的硬件,例如量化器,也可以是能够执行相应计算机程序从而完成前述功能的一般处理器或者其他硬件设备;再如前述的映射模块,可以是具有执行前述将所述图像块每个像素的值映射为第三量化阶的量化阶编号功能的硬件,例如映射器,也可以是能够执行相应计算机程序从而完成前述功能的一般处理器或者其他硬件设备(本说明书提供的各个实施例都可应用上述描述原则)。
[0070]附图5示例的量化模块501可以包括第一量化单元601,如附图6所示本发明另一实施例提供的图像数据压缩装置。第一量化单元601用于将图像块像素最小值量化为M个量化阶中第一量化阶的边界值,将图像块像素最大值量化为所述M个量化阶中第二量化阶的边界值,所述M为大于I的自然数。
[0071]附图5示例的量化模块501也可以包括第二量化单元701,如附图7所示本发明另一实施例提供的图像数据压缩装置。第二量化单元701用于将图像块像素最小值量化为J个量化阶中第一量化阶的边界值,将图像块像素最大值量化为K个量化阶中第二量化阶的边界值,所述J与所述K为大于I且不相等的自然数。
[0072]附图7示例的图像数据压缩装置还可以包括第一判断模块801或第二判断模块802,如附图8所示本发明另一实施例提供的图像数据压缩装置,其中:
[0073]第一判断模块801,用于判断图像块像素最小值被量化成的边界值对应的二进制数右移一位后与所述图像块像素最大值被量化成的边界值对应的二进制数是否相等。
[0074]第二判断模块802,用于判断图像块像素最大值被量化成的边界值对应的二进制数右移一位后与所述图像块像素最小值被量化成的边界值对应的二进制数是否相等。
[0075]若附图8示例的第一判断模块801判断图像块中像素最小值被量化成的边界值对应的二进制数右移一位后与所述图像块像素最大值被量化成的边界值对应的二进制数不相等,则附图8示例的编码模块503可以包括第一判断单元901、第一编码单元902和第二编码单元903,如附图9a所示本发明另一实施例提供的图像数据压缩装置,其中:
[0076]第一判断单元901,用于判断图像块像素最小值被量化成的边界值对应的二进制数进行右移一位移除的是“ I”还是“0” ;
[0077]第一编码单元902,用于若所述判断单元901判断图像块像素最小值被量化成的边界值对应的二进制数进行右移一位移除的是“1”,则对像素最小值被量化成的边界值的二进制数进行右移一位后所得值对应的量化阶编号、所述像素最大值被量化成的边界值对应的量化阶编号和所述图像块每个像素的值映射所得量化阶编号进行编码并依次写入码流,或者,对所述像素最大值被量化成的边界值对应的量化阶编号、所述像素最小值被量化成的边界值的二进制数进行右移一位后所得值对应的量化阶编号和所述图像块每个像素的值映射所得量化阶编号进行编码并依次写入码流;
[0078]第二编码单元903,用于若所述判断单元901判断图像块像素最小值被量化成的边界值对应的二进制数进行右移一位移除的是“0”,则对所述像素最大值被量化成的边界值对应的量化阶编号、将像素最小值被量化成的边界值的二进制数进行右移一位后所得值对应的量化阶编号和所述图像块每个像素的值映射所得量化阶编号进行编码并依次写入码流,或者,对像素最小值被量化成的边界值的二进制数进行右移一位后所得值对应的量化阶编号、所述像素最大值被量化成的边界值对应的量化阶编号和所述图像块每个像素的值映射所得量化阶编号进行编码并依次写入码流。
[0079]若附图8示例的第二判断模块802判断图像块像素最大值被量化成的边界值对应的二进制数右移一位后与所述图像块像素最小值被量化成的边界值对应的二进制数不相等,则附图8示例的编码模块503可以包括第二判断单元904、第三编码单元905和第四编码单元906,如附图9b所示本发明另一实施例提供的图像数据压缩装置,其中:
[0080]第二判断单元904,用于判断图像块像素最大值被量化成的边界值对应的二进制数进行右移一位移除的是“ I”还是“0” ;
[0081]第三编码单元905,用于若所述第二判断单元904判断图像块像素最大值被量化成的边界值对应的二进制数进行右移一位移除的是“1”,则对所述像素最大值被量化成的边界值的二进制数进行右移一位后所得值对应的量化阶编号、所述像素最小值被量化成的边界值对应的量化阶编号和所述图像块每个像素的值映射所得量化阶编号进行编码并依次写入码流,或者,对所述像素最小值被量化成的边界值对应的量化阶编号、所述像素最大值被量化成的边界值的二进制数进行右移一位后所得值对应的量化阶编号和所述图像块每个像素的值映射所得量化阶编号进行编码并依次写入码流;
[0082]第四编码单元906,用于若所述第二判断单元904判断图像块像素最大值被量化成的边界值对应的二进制数进行右移一位移除的是“0”,则对所述像素最小值被量化成的边界值对应的量化阶编号、将像素最大值被量化成的边界值的二进制数进行右移一位后所得值对应的量化阶编号和所述图像块每个像素的值映射所得量化阶编号进行编码并依次写入码流,或者,对像素最大值被量化成的边界值的二进制数进行右移一位后所得值对应的量化阶编号、所述像素最小值被量化成的边界值对应的量化阶编号和所述图像块每个像素的值映射所得量化阶编号进行编码并依次写入码流。
[0083]若附图8示例的第一判断模块801判断图像块中像素最小值被量化成的边界值对应的二进制数右移一位后与所述图像块像素最大值被量化成的边界值对应的二进制数相等,或者,第二判断模块802判断图像块像素最大值被量化成的边界值对应的二进制数右移一位后与所述图像块像素最小值被量化成的边界值对应的二进制数相等,则附图8示例的量化模块501可以包括第一量化单元601,如附图9c所示本发明另一实施例提供的图像数据压缩装置。第一量化单元601用于将图像块像素最小值量化为M个量化阶中第一量化阶的边界值,将图像块像素最大值量化为所述M个量化阶中第二量化阶的边界值,所述M为大于I的自然数。
[0084]请参阅附图10,是本发明实施例提供的图像数据解压缩装置结构示意图。为了便于说明,仅仅示出了与本发明实施例相关的部分。附图10示例的图像数据解压缩装置包括解码模块1001、获取模块1002和重构模块1003,其中:
[0085]解码模块1001,用于根据码流中图像块像素最小值和像素最大值对应的量化阶编号,解码得到图像块像素最小值和像素最大值分别对应的第一量化值和第二量化值。
[0086]获取模块1002,用于根据码流中图像块每个像素的值映射为第三量化阶的量化阶编号时所用量化阶次、所述第一量化值和第二量化值,获取以所述第一量化值和第二量化值为端值的量化区间被均匀划分的若干所述第三量化阶,具体方法与附图4b及其对应的文字说明类似,不做赘述。
[0087]重构模块1003,用于根据码流中图像块每个像素的值映射为第三量化阶的量化阶编号和所述每一第三量化阶的边界值,重构所述图像块每个像素以获取所述图像块每个像素的值。
[0088]需要说明的是,以上图像数据解压缩装置的实施方式中,各功能模块的划分仅是举例说明,实际应用中可以根据需要,例如相应硬件的配置要求或者软件的实现的便利考虑,而将上述功能分配由不同的功能模块完成,即将所述图像数据解压缩装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。而且,实际应用中,本实施例中的相应的功能模块可以是由相应的硬件实现,也可以由相应的硬件执行相应的软件完成,例如,前述的解码模块,可以是具有执行前述根据码流中图像块像素最小值和像素最大值对应的量化阶编号,解码得到图像块像素最小值和像素最大值分别对应的第一量化值和第二量化值的硬件,例如解码器,也可以是能够执行相应计算机程序从而完成前述功能的一般处理器或者其他硬件设备;再如前述的获取模块,可以是具有执行前述根据码流中图像块每个像素的值映射为第三量化阶的量化阶编号时所用量化阶次、所述第一量化值和第二量化值,获取以所述第一量化值和第二量化值为端值的量化区间被均匀划分的若干所述第三量化阶功能的硬件,例如获取器,也可以是能够执行相应计算机程序从而完成前述功能的一般处理器或者其他硬件设备(本说明书提供的各个实施例都可应用上述描述原则)。
[0089]附图10示例的重构模块1003可以包括第一取值单元1101或第二取值单元1102,如附图11所示本发明另一实施例提供的图像数据解压缩装置,其中:[0090]第一取值单元1101,用于取每一个量化阶编号所对应第三量化阶的两个边界值,对所述两个边界值的平均值取整,以取整所得的值作为所述每一个量化阶编号所对应像素的值;
[0091]第二取值单元1102,用于取每一个量化阶编号所对应第三量化阶的左边界值或右边界值作为所述每一个量化阶编号所对应像素的值。
[0092]附图11示例的图像数据解压缩装置还可以包括判断模块1201、第一补位模块1202和第二补位模块1203,获取模块1002可以包括第一获取单元1204,如附图12a所示本发明另一实施例提供的图像数据解压缩装置,其中:
[0093]判断模块1201,用于判断所述第一量化值和第二量化值是否相等。
[0094]第一补位模块1202,用于若先收到码流中图像块像素最小值对应的量化阶编号后收到码流中图像块像素最大值对应的量化阶编号并且所述判断模块1201判断所述第一量化值和第二量化值不相等时,将所述第一量化值对应的二进制数左移一位并且在末位补“I”。
[0095]第二补位模块1203,用于若先收到码流中图像块像素最大值对应的量化阶编号后收到码流中图像块像素最小值对应的量化阶编号并且并且所述判断模块1201判断所述第一量化值和第二量化值不相等时,将所述第一量化值对应的二进制数左移一位并且在末位补 “O,,。
[0096]第一获取单元1204,用于根据码流中图像块每个像素的值映射为第三量化阶的量化阶编号时所用量化阶次、所述第二量化值和所述第一量化值对应的二进制数左移一位并且在末位补“0”或“ I ”后对应的十进制数,获取以所述所述第一量化值对应的二进制数左移一位并且在末位补“0”或“ I”后对应的十进制数和第二量化值为端值的量化区间被均匀划分的若干所述第三量化阶,具体方法与附图4b及其对应的文字说明类似,不做赘述。
[0097]附图11示例的图像数据解压缩装置还可以包括判断模块1201、第三补位模块1205和第四补位模块1206,获取模块1002可以包括第二获取单元1207,如附图12b所示本发明另一实施例提供的图像数据解压缩装置,其中:
[0098]第三补位模块1205,用于若先收到码流中图像块像素最大值对应的量化阶编号后收到码流中图像块像素最小值对应的量化阶编号并且所述判断模块1201判断所述第一量化值和第二量化值不相等时,将所述第二量化值对应的二进制数左移一位并且在末位补“I”;
[0099]第四补位模块1206,用于若先收到码流中图像块像素最小值对应的量化阶编号后收到码流中图像块像素最大值对应的量化阶编号并且并且所述判断模块1201判断所述第一量化值和第二量化值不相等时,将所述第二量化值对应的二进制数左移一位并且在末位补 “O,,;
[0100]第二获取单元1207,用于根据码流中图像块每个像素的值映射为第三量化阶的量化阶编号时所用量化阶次、所述第一量化值和所述第二量化值对应的二进制数左移一位并且在末位补“0”或“ I”后对应的十进制数,获取以所述第二量化值对应的二进制数左移一位并且在末位补“0”或“I”后对应的十进制数和第一量化值为端值的量化区间被均匀划分的若干所述第三量化阶,具体方法与附图4b及其对应的文字说明类似,不做赘述。
[0101]需要说明的是,上述装置各模块/单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,其带来的技术效果与本发明方法实施例相同,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
[0102]本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,比如以下各种方法的一种或多种或全部:
[0103]方法一:将图像块像素最小值和像素最大值分别量化为第一量化值和第二量化值,所述像素最小值和像素最大值分别对应于第一量化阶的量化阶编号和第二量化阶的量化阶编号;将所述图像块每个像素的值映射为第三量化阶的量化阶编号,所述第三量化阶是以所述第一量化值和第二量化值为端值的量化区间被均匀划分的若干量化阶中一个量化阶;对所述像素最小值对应的第一量化阶的量化阶编号、所述像素最大值对应的第二量化阶的量化阶编号和所述图像块每个像素的值映射所得量化阶编号进行编码并写入码流。
[0104]方法二:根据码流中图像块像素最小值和像素最大值对应的量化阶编号,解码得到图像块像素最小值和像素最大值分别对应的第一量化值和第二量化值;根据码流中图像块每个像素的值映射为第三量化阶的量化阶编号时所用量化阶次、所述第一量化值和第二量化值,获取以所述第一量化值和第二量化值为端值的量化区间被均匀划分的若干所述第三量化阶;根据码流中图像块每个像素的值映射为第三量化阶的量化阶编号和所述每一第三量化阶的边界值,重构所述图像块每个像素以获取所述图像块每个像素的值。
[0105]本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁盘或光盘等。
[0106]以上对本发明实施例提供的一种图像数据压缩和解压缩方法、装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
【权利要求】
1.一种图像数据压缩方法,其特征在于,所述方法包括: 将图像块像素最小值和像素最大值分别量化为第一量化值和第二量化值,所述像素最小值和像素最大值分别对应于第一量化阶的量化阶编号和第二量化阶的量化阶编号; 将所述图像块每个像素的值映射为第三量化阶的量化阶编号,所述第三量化阶是以所述第一量化值和第二量化值为端值的量化区间被均匀划分的若干量化阶中一个量化阶; 对所述像素最小值对应的第一量化阶的量化阶编号、所述像素最大值对应的第二量化阶的量化阶编号和所述图像块每个像素的值映射所得量化阶编号进行编码并写入码流。
2.如权利要求1所述的方法,其特征在于,所述将图像块像素最小值和像素最大值分别量化为第一量化值和第二量化值包括: 将图像块像素最小值量化为M个量化阶中第一量化阶的边界值,将图像块像素最大值量化为所述M个量化阶中第二量化阶的边界值,所述M为大于I的自然数。
3.如权利要求1所述的方法,其特征在于,所述将图像块像素最小值和像素最大值分别量化为第一量化值和第二量化值包括: 将图像块像素最小值量化为J个量化阶中第一量化阶的边界值,将图像块像素最大值量化为K个量化阶中第二量化阶的边界值,所述J与所述K为大于I且不相等的自然数。
4.如权利要求3所述的方法,其特征在于,所述将所述图像块每个像素的值映射为第三量化阶的量化阶编号之前还包括: 判断图像块像素最小值被量化成的边界值对应的二进制数右移一位后与所述图像块像素最大值被量化成的边界值对应的二进制数是否相等;或者 判断图像块像素最大值被量化成的边界值对应的二进制数右移一位后与所述图像块像素最小值被量化成的边界值对应的二进制数是否相等。
5.如权利要求4所述的方法,其特征在于,若判断图像块中像素最小值被量化成的边界值对应的二进制数右移一位后与所述图像块像素最大值被量化成的边界值对应的二进制数不相等,则所述将所述像素最小值对应的第一量化阶的量化阶编号、所述像素最大值对应的第二量化阶的量化阶编号和所述图像块每个像素的值映射所得量化阶编号写入码流包括:判断图像块像素最小值被量化成的边界值对应的二进制数进行右移一位移除的是“I”还是“0”;若图像块像素最小值被量化成的边界值对应的二进制数进行右移一位移除的是“1”,则对所述像素最小值被量化成的边界值的二进制数进行右移一位后所得值对应的量化阶编号、所述像素最大值被量化成的边界值对应的量化阶编号和所述图像块每个像素的值映射所得量化阶编号进行编码并依次写入码流,或者,对所述像素最大值被量化成的边界值对应的量化阶编号、所述像素最小值被量化成的边界值的二进制数进行右移一位后所得值对应的量化阶编号和所述图像块每个像素的值映射所得量化阶编号进行编码并依次写入码流;若图像块像素最小值被量化成的边界值对应的二进制数进行右移一位移除的是“0”,则对所述像素最大值被量化成的边界值对应的量化阶编号、将像素最小值被量化成的边界值的二进制数进行右移一位后所得值对应的量化阶编号和所述图像块每个像素的值映射所得量化阶编号进行编码并依次写入码流,或者,对像素最小值被量化成的边界值的二进制数进行右移一位后所得值对应的量化阶编号、所述像素最大值被量化成的边界值对应的量化阶编号和所述图像块每个像素的值映射所得量化阶编号进行编码并依次写入码流;若判断图像块像素最大值被量化成的边界值对应的二进制数右移一位后与所述图像块像素最小值被量化成的边界值对应的二进制数不相等,则所述将所述像素最小值对应的第一量化阶的量化阶编号、所述像素最大值对应的第二量化阶的量化阶编号和所述图像块每个像素的值映射所得量化阶编号写入码流包括:判断图像块像素最大值被量化成的边界值对应的二进制数进行右移一位移除的是“I”还是“0”;若图像块像素最大值被量化成的边界值对应的二进制数进行右移一位移除的是“1”,则对所述像素最大值被量化成的边界值的二进制数进行右移一位后所得值对应的量化阶编号、所述像素最小值被量化成的边界值对应的量化阶编号和所述图像块每个像素的值映射所得量化阶编号进行编码并依次写入码流,或者,对所述像素最小值被量化成的边界值对应的量化阶编号、所述像素最大值被量化成的边界值的二进制数进行右移一位后所得值对应的量化阶编号和所述图像块每个像素的值映射所得量化阶编号进行编码并依次写入码流;若图像块像素最大值被量化成的边界值对应的二进制数进行右移一位移除的是“0”,则对所述像素最小值被量化成的边界值对应的量化阶编号、将像素最大值被量化成的边界值的二进制数进行右移一位后所得值对应的量化阶编号和所述图像块每个像素的值映射所得量化阶编号进行编码并依次写入码流,或者,对像素最大值被量化成的边界值的二进制数进行右移一位后所得值对应的量化阶编号、所述像素最小值被量化成的边界值对应的量化阶编号和所述图像块每个像素的值映射所得量化阶编号进行编码并依次写入码流。
6.如权利要求4所述的方法,其特征在于,若判断图像块中像素最小值被量化成的边界值对应的二进制数右移一位后与所述图像块像素最大值被量化成的边界值对应的二进制数相等,或者判断图像块像素最大值被量化成的边界值对应的二进制数右移一位后与所述图像块像素最小值被量化成的边界值对应的二进制数相等,则所述将图像块像素最小值和像素最大值分别量化为第一量化值和第二量化值包括: 将图像块像素最小值量化为M个量化阶中第一量化阶的边界值,将图像块像素最大值量化为所述M个量化阶中第二量化阶的边界值,所述M为大于I的自然数。
7.一种图像数据解压缩方法,其特征在于,所述方法包括: 根据码流中图像块像素最小值和像素最大值对应的量化阶编号,解码得到图像块像素最小值和像素最大值分别对应的第一量化值和第二量化值; 根据码流中图像块每个像素的值映射为第三量化阶的量化阶编号时所用量化阶次、所述第一量化值和第二量化值,获取以所述第一量化值和第二量化值为端值的量化区间被均匀划分的若干所述第三量化阶; 根据码流中图像块每个像素的值映射为第三量化阶的量化阶编号和所述每一第三量化阶的边界值,重构所述图像块每个像素以获取所述图像块每个像素的值。
8.如权利要求7所述的方法,其特征在于,所述根据码流中图像块每个像素的值映射为第三量化阶的量化阶编号和所述每一第三量化阶的边界值,重构所述图像块每个像素以获取所述图像块每个像素的值包括: 取每一个量化阶编号所对应第三量化阶的两个边界值,对所述两个边界值的平均值取整,以取整所得的值作为所述每一个量化阶编号所对应像素的值;或者取每一个量化阶编号所对应第三量化阶的左边界值或右边界值作为所述每一个量化阶编号所对应像素的值。
9.如权利要求7所述的方法,其特征在于,所述根据码流中图像块每个像素的值映射为第三量化阶的量化阶编号时所用量化阶次、所述第一量化值和第二量化值,获取以所述第一量化值和第二量化值为端值的量化区间被均匀划分的若干所述第三量化阶之前包括:判断所述第一量化值和第二量化值是否相等;若所述第一量化值和第二量化值不相等并且先收到码流中图像块像素最小值对应的量化阶编号后收到码流中图像块像素最大值对应的量化阶编号,则将所述第一量化值对应的二进制数左移一位并且在末位补“ I ”,若所述第一量化值和第二量化值不相等并且先收到码流中图像块像素最大值对应的量化阶编号后收到码流中图像块像素最小值对应的量化阶编号,则将所述第一量化值对应的二进制数左移一位并且在末位补“0” ;或者 所述根据码流中图像块每个像素的值映射为第三量化阶的量化阶编号时所用量化阶次、所述第一量化值和第二量化值,获取以所述第一量化值和第二量化值为端值的量化区间被均匀划分的若干所述第三量化阶之前包括:判断所述第一量化值和第二量化值是否相等;若所述第一量化值和第二量化值不相等并且先收到码流中图像块像素最大值对应的量化阶编号后收到码流中图像块像素最小值对应的量化阶编号,则将所述第二量化值对应的二进制数左移一位并且在末位补“ I ”,若所述第一量化值和第二量化值不相等并且先收到码流中图像块像素最小值对应的量化阶编号后收到码流中图像块像素最大值对应的量化阶编号,则将所述第二量化值对应的二进制数左移一位并且在末位补“0” ; 所述根据码流中图像块每个像素的值映射为第三量化阶的量化阶编号时所用量化阶次、所述第一量化值和第二量化值,获取以所述第一量化值和第二量化值为端值的量化区间被均匀划分的若干所述第三量化阶包括: 根据码流中图像块每个像素的值映射为第三量化阶的量化阶编号时所用量化阶次、所述第二量化值和所述第一量化值对应的二进制数左移一位并且在末位补“0”或“ I ”后对应的十进制数,获取以所述第一量化值对应的二进制数左移一位并且在末位补“0”或“ I”后对应的十进制数和第二量化值为端值的量化区间被均匀划分的若干所述第三量化阶;或者 根据码流中图像块每个像素的值映射为第三量化阶的量化阶编号时所用量化阶次、所述第一量化值和所述第二量化值对应的二进制数左移一位并且在末位补“0”或“ I ”后对应的十进制数,获取以所述第二量化值对应的二进制数左移一位并且在末位补“0”或“I”后对应的十进制数和第一量化值为端值的量化区间被均匀划分的若干所述第三量化阶。
10.一种图像数据压缩装置,其特征在于,所述装置包括: 量化模块,用于将图像块像素最小值和像素最大值分别量化为第一量化值和第二量化值,所述像素最小值和像素最大值分别对应于第一量化阶的量化阶编号和第二量化阶的量化阶编号; 映射模块,用于将所述图像块每个像素的值映射为第三量化阶的量化阶编号,所述第三量化阶是以所述第一量化值和第二量化值为端值的量化区间被均匀划分的若干量化阶中一个量化阶; 编码模块,用于对所述像素最小值对应的第一量化阶的量化阶编号、所述像素最大值对应的第二量化阶的量化阶编号和所述图像块每个像素的值映射所得量化阶编号进行编码并写入码流。
11.如权利要求10所述的装置,其特征在于,所述量化模块包括:第一量化单元,用于将图像块像素最小值量化为M个量化阶中第一量化阶的边界值,将图像块像素最大值量化为所述M个量化阶中第二量化阶的边界值,所述M为大于I的自然数。
12.如权利要求10所述的装置,其特征在于,所述量化模块包括: 第二量化单元,用于将图像块像素最小值量化为J个量化阶中第一量化阶的边界值,将图像块像素最大值量化为K个量化阶中第二量化阶的边界值,所述J与所述K为大于I且不相等的自然数。
13.如权利要求12所述的装置,其特征在于,所述装置还包括: 第一判断模块,用于判断图像块像素最小值被量化成的边界值对应的二进制数右移一位后与所述图像块像素最大值被量化成的边界值对应的二进制数是否相等;或者 第二判断模块,用于判断图像块像素最大值被量化成的边界值对应的二进制数右移一位后与所述图像块像素最小值被量化成的边界值对应的二进制数是否相等。
14.如权利要求12所述的装置,其特征在于,若所述第一判断模块判断图像块中像素最小值被量化成的边界值对应的二进制数右移一位后与所述图像块像素最大值被量化成的边界值对应的二进制数不相等,则所述编码模块包括第一判断单元、第一编码单元和第二编码单元; 所述第一判断单元,用于判断图像块像素最小值被量化成的边界值对应的二进制数进行右移一位移除的是“ I”还是“0” ; 所述第一编码单元,用于若所述第一判断单元判断图像块像素最小值被量化成的边界值对应的二进制数进行右移一位移除的是“ 1”,则对像素最小值被量化成的边界值的二进制数进行右移一位后所得值`对应的量化阶编号、所述像素最大值被量化成的边界值对应的量化阶编号和所述图像块每个像素的值映射所得量化阶编号进行编码并依次写入码流,或者,对所述像素最大值被量化成的边界值对应的量化阶编号、所述像素最小值被量化成的边界值的二进制数进行右移一位后所得值对应的量化阶编号和所述图像块每个像素的值映射所得量化阶编号进行编码并依次写入码流; 所述第二编码单元,用于若所述第一判断单元判断图像块像素最小值被量化成的边界值对应的二进制数进行右移一位移除的是“0”,则对所述像素最大值被量化成的边界值对应的量化阶编号、将像素最小值被量化成的边界值的二进制数进行右移一位后所得值对应的量化阶编号和所述图像块每个像素的值映射所得量化阶编号进行编码并依次写入码流,或者,对像素最小值被量化成的边界值的二进制数进行右移一位后所得值对应的量化阶编号、所述像素最大值被量化成的边界值对应的量化阶编号和所述图像块每个像素的值映射所得量化阶编号进行编码并依次写入码流;或者 若所述第二判断模块判断图像块像素最大值被量化成的边界值对应的二进制数右移一位后与所述图像块像素最小值被量化成的边界值对应的二进制数不相等,则所述编码模块包括第二判断单元、第三编码单元和第四编码单元; 所述第二判断单元,用于判断图像块像素最大值被量化成的边界值对应的二进制数进行右移一位移除的是“ I ”还是“ 0 ” ; 所述第三编码单元,用于若所述第二判断单元判断图像块像素最大值被量化成的边界值对应的二进制数进行右移一位移除的是“1”,则对所述像素最大值被量化成的边界值的二进制数进行右移一位后所得值对应的量化阶编号、所述像素最小值被量化成的边界值对应的量化阶编号和所述图像块每个像素的值映射所得量化阶编号进行编码并依次写入码流,或者,对所述像素最小值被量化成的边界值对应的量化阶编号、所述像素最大值被量化成的边界值的二进制数进行右移一位后所得值对应的量化阶编号和所述图像块每个像素的值映射所得量化阶编号进行编码并依次写入码流; 所述第四编码单元,用于若所述第二判断单元判断图像块像素最大值被量化成的边界值对应的二进制数进行右移一位移除的是“O”,则对所述像素最小值被量化成的边界值对应的量化阶编号、将像素最大值被量化成的边界值的二进制数进行右移一位后所得值对应的量化阶编号和所述图像块每个像素的值映射所得量化阶编号进行编码并依次写入码流,或者,对像素最大值被量化成的边界值的二进制数进行右移一位后所得值对应的量化阶编号、所述像素最小值被量化成的边界值对应的量化阶编号和所述图像块每个像素的值映射所得量化阶编号进行编码并依次写入码流。
15.如权利要求12所述的装置,其特征在于,若所述第一判断模块判断图像块中像素最小值被量化成的边界值对应的二进制数右移一位后与所述图像块像素最大值被量化成的边界值对应的二进制数相等,或者所述第二判断模块判断图像块像素最大值被量化成的边界值对应的二进制数右移一位后与所述图像块像素最小值被量化成的边界值对应的二进制数相等,所述量化模块包括: 第一量化单元,用于将图像块像素最小值量化为M个量化阶中第一量化阶的边界值,将图像块像素最大值量化为所述M个量化阶中第二量化阶的边界值,所述M为大于I的自然数。
16.一种图像数据解压缩装置,其特征在于,所述装置包括: 解码模块,用于根据码流中图像块像素最小值和像素最大值对应的量化阶编号,解码得到图像块像素最小值和像素最大值分别对应的第一量化值和第二量化值; 获取模块,用于根据码流中图像块每个像素的值映射为第三量化阶的量化阶编号时所用量化阶次、所述第一量化值`和第二量化值,获取以所述第一量化值和第二量化值为端值的量化区间被均匀划分的若干所述第三量化阶; 重构模块,用于根据码流中图像块每个像素的值映射为第三量化阶的量化阶编号和所述每一第三量化阶的边界值,重构所述图像块每个像素以获取所述图像块每个像素的值。
17.如权利要求16所述的装置,其特征在于,所述重构模块包括: 第一取值单元,用于取每一个量化阶编号所对应第三量化阶的两个边界值,对所述两个边界值的平均值取整,以取整所得的值作为所述每一个量化阶编号所对应像素的值;或者 第二取值单元,用于取每一个量化阶编号所对应第三量化阶的左边界值或右边界值作为所述每一个量化阶编号所对应像素的值。
18.如权利要求17所述的装置,其特征在于,所述装置还包括判断模块、第一补位模块和第二补位模块,或者,所述装置还包括判断模块、第三补位模块和第四补位模块; 所述判断模块,用于判断所述第一量化值和第二量化值是否相等; 所述第一补位模块,用于若先收到码流中图像块像素最小值对应的量化阶编号后收到码流中图像块像素最大值对应的量化阶编号并且所述判断模块判断所述第一量化值和第二量化值不相等时,将所述第一量化值对应的二进制数左移一位并且在末位补“ I” ; 所述第二补位模块,用于若先收到码流中图像块像素最大值对应的量化阶编号后收到码流中图像块像素最小值对应的量化阶编号并且并且所述判断模块判断所述第一量化值和第二量化值不相等时,将所述第一量化值对应的二进制数左移一位并且在末位补“0”;所述第三补位模块,用于若先收到码流中图像块像素最大值对应的量化阶编号后收到码流中图像块像素最小值对应的量化阶编号并且所述判断模块判断所述第一量化值和第二量化值不相等时,将所述第二量化值对应的二进制数左移一位并且在末位补“ I” ; 所述第四补位模块,用于若先收到码流中图像块像素最小值对应的量化阶编号后收到码流中图像块像素最大值对应的量化阶编号并且并且所述判断模块判断所述第一量化值和第二量化值不相等时,将所述第二量化值对应的二进制数左移一位并且在末位补“0” ; 所述获取模块包括第一获取单元或者第二获取单元; 所述第一获取单元,用于根据码流中图像块每个像素的值映射为第三量化阶的量化阶编号时所用量化阶次、所述第二量化值和所述第一量化值对应的二进制数左移一位并且在末位补“0”或“ I ”后对应的十进制数,获取以所述第一量化值对应的二进制数左移一位并且在末位补“0”或“I”后对应的十进制数和第二量化值为端值的量化区间被均匀划分的若干所述第三量化阶; 所述第二获取单元,用于根据码流中图像块每个像素的值映射为第三量化阶的量化阶编号时所用量化阶次、所述第一量化值和所述第二量化值对应的二进制数左移一位并且在末位补“0”或“ I ”后对应的十进制数,获取以所述第二量化值对应的二进制数左移一位并且在末位补“0”或“I”后对应的十进制数和第一量化值为端值的量化区间被均匀划分的若干所述第三量化阶。
【文档编号】H04N5/917GK103517022SQ201210222516
【公开日】2014年1月15日 申请日期:2012年6月29日 优先权日:2012年6月29日
【发明者】柯瑞金·康斯坦丁, 宋锦 申请人:华为技术有限公司