图像编码方法及图像解码方法

文档序号:7979277阅读:185来源:国知局
图像编码方法及图像解码方法
【专利摘要】本发明公开图像编码方法和图像解码方法。一种图像编码方法,包括:将图像划分成多个区段,每个区段包含多个像素;针对所述多个区段的每个区段,执行编码处理,其中,所述编码处理包括:确定用于将区段内的多个像素划分成群组的划分模式;基于确定结果,将区段内的多个像素划分成与所确定的划分模式中所指示的群组数目相应的多个群组;将表示所确定的划分模式的比特值以及每个群组内的像素的值的平均值写入码流的起始端;并且将表示该区段的每个像素所属的群组的比特值按照顺序写入所述码流。
【专利说明】图像编码方法及图像解码方法
【技术领域】
[0001]本发明涉及图像处理领域,并且更具体地涉及图像编码方法及图像解码方法。
【背景技术】
[0002]在现有技术中,存在各种各样的图像编码和解码方法。然而,随着图像或视频大小变得越来越大,这些图像编码和解码方法在对图像或视频的处理中所需的内存访问的带宽也变得越来越大,从而内存的速度未能被显著提高。然而,高速内存的价格很贵并且功耗很大。
[0003]更具体地,现有技术中的图像编码方法大都通过首先利用DCT (离散余弦变换)/DffT (离散小波变换)将图像或视频帧从时域变化到频域,然后再通过量化手段去除一些信息来实现图像压缩。并且,在相应的图像或视频的解压缩处理中,首先进行逆量化,然后进行逆变换来进行解码以重构图像或视频帧。然而,现有技术中的这些处理导致编码器和解码器实现起来复杂并且尺寸较大,从而系统本身的开销很大,所以不适合于低功耗的应用。此外,在现有技术的这些处理中,压缩率不是固定的,因此难以实现随机访问。
[0004]因此,希望提供一种适合于超低功耗并且在极低的运算复杂度和芯片面积开销下可以对图像或视频帧进行高效实时压缩和解压缩的图像编码方法和解码方法。

【发明内容】

[0005]根据本发明的一方面,一种图像编码方法,包括:将图像分割成多个区段,每个区段具有多个像素;针对所述多个区段的每个区段,执行编码处理,其中,所述编码处理包括:确定用于将区段内的多个像素划分成群组的划分模式;基于确定结果,将区段内的多个像素划分成与所确定的划分模式中所指示的群组数目相应的多个群组;将表示所确定的划分模式的比特值以及每个群组内的像素的值的平均值写入码流的起始端;将表示该区段的每个像素所属的群组的比特值按照顺序写入所述码流。
[0006]在一个实施例中,确定所述划分模式包括:初始地将根据该区段的像素的值的平均值把该区段的多个像素划分为两个群组;在所述两个群组的基础上,判断第一条件是否满足,如果满足,则确定该区段的多个像素将被划分到所述两个群组,如果不满足,则确定该区段的多个像素将根据所述两个群组的各群组的像素的值的平均值被划分到三个群组,在所述三个群组的基础上,判断第二条件是否满足,如果满足,则确定该区段的多个像素将被划分到所述三个群组,如果不满足,则确定该区段的多个像素根据该区段的像素的值的平均值以及所述两个群组的各群组的像素的值的平均值被划分到四个群组。
[0007]在一个实施例中,所述第一条件和所述第二条件各自为该区段的每个像素的值与该像素所属群组内的像素的值的平均值的绝对差值总和或方差小于第一预定阈值。在另一个实施例中,所述第一条件和所述第二条件各自为该区段的每个像素的值与该像素所属群组内的像素的值的平均值的绝对差值总和或方差小于第一预定阈值并且该区段的每个像素的像素值与该像素所属群组内的像素的值的平均值的绝对差值小于第二预定阈值。[0008]在一个实施例中,所述三个群组包括第三群组、第四群组和第五群组,属于所述第三群组的像素的像素值大于等于所述第一群组内的像素的像素值的平均值,属于所述第四群组的像素的像素值小于第一群组内的像素的像素值的平均值但大于等于所述第二群组内的像素的像素值的平均值,属于所述第五群组的像素的像素值小于所述第二群组内的像素的像素值的平均值。所述四个群组包括第六群组、第七群组第八群组和第九群组,其中,属于第六群组的像素的像素值大于等于所述第一群组内的像素的像素值的平均值,属于第群组段的像素的像素值小于所述第一群组内的像素的像素值的平均值但大于等于所述该区段的像素的值的平均值,属于第八群组的像素的像素值小于所述该区段的像素的值的平均值但大于等于所述第二群组内的像素的像素值的平均值,属于第九群组的像素的像素值小于所述第二群组内的像素的像素值的平均值。
[0009]在一个实施例中,表示将区段内的多个像素划分为两个群组、三个群组和四个群组的划分模式的比特值分别为两比特的10、两比特的11和一比特的O。
[0010]在本发明中,所述多个区段是通过基于像素行或像素块的分割而得到的。
[0011]根据本发明的另一方面,提供一种图像解码方法,包括:从所接收的按照权利要求1所述的图像编码方法编码的码流的起始端获得表示区段内的多个像素被划分为群组所依据的划分模式的比特值以及各群组的像素的值的平均值;获得表示像素所属群组的比特值;根据所获得的表示像素所属群组的比特值,识别出各个像素所属的群组,并且将所识别出的群组内的像素的值的平均值作为相应像素的解码像素值。
[0012]利用本发明的图像编码方法和解码方法,能够实现对图像或视频帧的高效实时压缩和解压缩,同时功率消耗和运算复杂度都很低,因此相应编码器和解码器所需的芯片面积开销可被降低。
【专利附图】

【附图说明】
[0013]图1示出根据本发明的图像编码方法的流程图;
[0014]图2示出图1的步骤S104中用于确定将区段内的像素被划分成群组的划分模式的流程图;
[0015]图3示出根据本发明的图像解码方法的流程图;
[0016]图4示出原始像素值与根据本发明的图像编码和解码方法对原始像素值进行处理后的像素值的对比图。
【具体实施方式】
[0017]下面,将参考附图详细描述本发明的实施例。
[0018]图1示出了根据本发明的图像编码方法的流程图。如图1所示,在步骤S102中,将要被编码的图像或视频帧分割成多个区段,每个区段包含多个像素,其中,区段的分割可基于像素行或像素块或者任何其他分割方法。
[0019]接着,针对分割得到的多个区段,逐区段地执行编码处理直到所有区段的像素都经处理为止。具体地,如图1所示,针对每个区段,执行包括步骤S104、S106、S108和SllO的编码处理。
[0020]具体地,在步骤S104中,确定用于将区段内的像素划分成群组的划分模式,即确定将区段内的像素划分成几个群组。图2示出此步骤S104中用于确定将区段内的像素被划分成群组的划分模式的流程图。如图2中所示,首先,在步骤S1401中,计算区段内的像素的值的平均值作为第一平均值VI,并根据该第一平均值Vl将区段内的像素划分为两个群组,即第一区段Gl和第二群组G2,其中,属于第一群组Gl的像素的值大于等于第一平均值VI,属于第二群组G2的像素的值小于第一平均值Vl。
[0021]接着,在步骤S1402中,计算区段内的各像素的值与其所属群组内的像素的值的平均值之间的差并将这些差的绝对值加和以得到一加和值suml。接着,在步骤S1403中,判断在步骤S1402中计算得到的加和值suml是否小于第一预定阈值Thl。如果判定加和值suml小于预定阈值Thl,则该处理进行到步骤S1047,确定根据第一平均值将区段内的像素划分为上述第一群组Gl和第二群组G2。
[0022]另一方面,如果在步骤S1403中判定加和值suml不小于预定阈值Thl,则该处理进行到步骤S1044。在步骤S1044中,分别计算第一群组Gl和第二群组G2内的像素的值的平均值作为第二平均值V2和第三平均值V3,并利用第二平均值V2和第三平均值V3重新将区段内的像素划分为三个群组,即第三群组G3、第四群组G4和第五群组G5,其中,属于第三群组G3的像素的值大于等于第二平均值V2,属于第四群组G4的像素的值小于第二平均值V2但大于等于第三平均值V3,属于第五群组G5的像素的值小于第三平均值V3。
[0023]接着,在步骤S1405中,计算区段内的各像素的值与其所属群组内的像素的值的平均值之间的差并将这些差的绝对值加和以得到一加和值sum2。接着,在步骤S1406中,判断在步骤S1405中计算得到的加和值sum2是否小于第二预定阈值Th2。如果判定加和值sum2小于第二预定阈值Th2,则该处理进行到步骤S1049,确定根据第二平均值V2和第三平均值V3将区段内的像素划分为上述第三群组G3、第四群组G4和第五群组G5。
[0024]另一方面,如果在步骤S1406中判定加和值sum2不小于第二预定阈值Th2,则确定根据第一平均值V1、第二平均值V2和第三平均值V3将区段内的像素重新划分为四个群组,即第六群组G6、第七群组G7、第八群组G8和第九群组G9,其中,属于第六群组G6的像素的值大于等第二平均值V2,属于第七群组G7的像素的值小于第二平均值V2但大于等于第一平均值VI,属于第八群组G8的像素的值小于第一平均值Vl但大于等于第三平均值V3,属于第九群组G9的像素的像素值小于第三平均值V3。
[0025]按照上述方式,确定出了将区段内的像素划分为群组的划分模式,即确定出将区段内的像素划分为两个群组,或者划分为三个群组,或者划分为四个群组。
[0026]在定出将区段内的像素划分为群组的划分模式之后,本发明的图像编码方法进行到步骤S106。在步骤S106中,将区段内的像素划分成与所确定的划分模式中所指示的群组数目相应的多个群组。
[0027]之后,在步骤S108中,将表示划分模式的比特值、每个群组内的像素的值的平均值写入码流起始端。例如,表示将区段内的像素划分为两个群组、三个群组和四个群组的划分模式的比特值可分别为两比特的10、两比特的11和一比特的O。即,码流起始端为两比特的10时,表示区段内的像素被划分为两个群组。替代地,码流起始端为两比特的11,表示区段内的像素被划分为三个群组。替代地,码流起始端为一比特的O时,表示区段内的像素被划分为四个群组。这些比特值表示仅仅作为示例,利用其他比特值的表示方式也是可以的,只要他们能够对划分模式做出区分而不会被混淆即可。此外,每个群组内的像素的值的平均值可以按照任何顺序被写入。例如,在区段内的像素被划分为两个群组的情况中,第一群组Gl和第二群组G2的平均值V2和V3被写入。然而,写入的顺序可以是任何顺序。对于编码端和解码端来说,群组的约定是一致的,因此编码端所使用的这种顺序在解码端处是已知的。即,在解码端能够分辨出所写入的平均值分别对应于哪个群组。
[0028]之后,在步骤SllO中,将表示区段内的每个像素所属的群组的比特值按照顺序写入码流。具体地,将区段内的每个像素的值与划分群组所使用的值进行比较以判断每个像素所属的群组,并将所确定群组内的像素的值的平均值写入码流。例如,在区段内的像素被划分为两个群组的情况中,分别以一比特O和一比特I来表示第一群组Gl和第二群组G2的平均值。替代地,第一群组Gl和第二群组G2的平均值可以分别用一比特I和一比特O来表示。在区段内的像素被划分为三个群组的情况中,例如分别以两比特00、01、10来表示第三群组G3、第四群组G4和第五群组G5的平均值。在区段内的像素被划分为四个群组的情况中,例如分别以两比特值00、01、10、11来表示第六群组G6、第七群组G7、第八群组G8和第九群组G9的平均值。应理解,这些比特值仅仅作为示例,本发明并不限于此,这些群组的平均值可用两比特00、O1、IO、11中的任何一个来表示,只要他们对应于不同的两比特即可。
[0029]如上所述,在本发明中,针对每个区段,在划分模式被确定了时,每个像素可用预定的一比特或两比特被编入码流。例如,在区段内的像素被划分为两个群组的情况中,相同区段内的每个像素分别以一比特值被编入码流。在区段内的像素被划分为三个或四个群组的情况中,相同区段内的每个像素分别以两比特值被编入码流。如此,针对每个区段可实现定长压缩。
[0030]替代地,本发明针可针对每个区段实现不定长压缩。在区段内的像素被划分为三个或四个群组的情况中,例如分别比特00、1、01或11、0、10来表示第三群组G3、第四群组G4和第五群组G5的平均值。应理解,这些比特值仅仅作为示例,本发明并不限于此,本领域技术人可在本说明书的教导下想到其他替代实现方式,只要遵循一般可变长编码的普遍规律即可。也就是,所有的码字必须是前缀码,任何不同码字在被解码时不会有歧义。例如,11 一定是一个两比特的11,而00 —定是两个一比特的0,而不会被解码端误解为其他什么含义。如上所述,在本发明该实施例中,针对每个区段,不仅可实现定长压缩,还可实现不定长压缩,这样可进一步提高压缩率。
[0031]接着,在步骤S112中,判断是否所有区段的像素都经过处理。如果还有区段未经处理,则该方法返回以针对下一区段重复步骤S104至S110,直到所有区段都经过编码为止。当所有区段的像素都经过处理时,该方法结束。
[0032]上面参考图1和图2描述了根据本发明的图像编码方法,下面参考图3来论述与上述图像编码方法相对应的图像解码方法。
[0033]如图3所示,在步骤S302中,该图像解码方法从所接收的按照上述图像编码方法编码的码流的起始端获得表示区段内的像素被划分为群组所依据的划分模式的比特值以及各群组的像素的值的平均值。例如,在图像编码方法中表示将区段内的像素划分为两个群组、三个群组和四个群组的划分模式的比特值分别为两比特的10、两比特的11和一比特的O时,在该图像解码方法中如果读出10,则表示区段内的像素划分为两个群组,如果读出11,则表示区段内的像素划分为三个群组,并且如果读出0,则表示区段内的像素划分为四个群组。另外,例如,在图像编码方法中区段内的像素被划分为两个群组(即第一群组Gl和第二群组G2)的情况中,在图像解码方法中可获得第一群组Gl和第二群组G2的平均值V2和V3。
[0034]然后,在步骤S304中,按顺序获得表示各像素所属群组的比特值。
[0035]然后,在步骤S306中,根据所获得的表示像素所属群组的比特值识别出各个像素所属的群组。例如,在图像编码方法中区段内的像素被划分为两个群组并且分别用一比特的O和一比特的I表示第一群组Gl和第二群组G2的情况中,如果读出0,则表示当前像素属于第一群组G1,如果读出1,则表示当前像素属于第二群组G2。
[0036]然后,在步骤S308中,将所识别出的群组内的像素的值的平均值作为相应像素的解码像素值。在前述情况中,在读出O的情况下,表示当前像素属于第一群组Gl,因此,第一群组Gl内的像素的值的平均值被作为当前像素的解码像素值。
[0037]然后,在步骤S310中,判断是否码流中的所有比特代码都经处理。如果仍有比特代码未经处理,则该方法返回到步骤S302以解码下一区段的像素的像素值。如果码流中的所有比特代码都经处理,则该方法结束。
[0038]上面根据本发明的优选实施例描述了区段内的像素被划分为两个或三个或四个群组的实施例。当区段内的像素的数目较大并且单个像素的比特数较多(例如10比特或者12比特的情况)时,也可以考虑将区段内的像素划分为更多的群组。例如,在所述四个群组的基础上,判断第三条件是否满足,如果满足,则确定区段内的多个像素将被划分到所述四个群组,如果不满足,则确定区段内的多个像素根据所述四个群组的各群组的像素的值的平均值被划分到五个群组。这里的第三条件也类似于上述第一和第二条件。在区段内的多个像素将被划分到五个群组的情况中,可以用比特值001、11、10、01、000来表示这五个群组。应理解,这些比特值仅作为示例,本发明并不限于此。本领域技术人员在阅读了本说明之后可容易地想到其他更多群组的划分。此外,在上述实施例中,使用了群组内的像素的值的平均值来表示解码的像素值, 然而,本发明也可采用其他的表示群组内像素的值的平均特性的值,诸如均方值等等。
[0039]下面以一具体示例来说明本发明的图像编码和图像解码方法。在本示例中,例如,基于像素行将要被编码的图像分割成多个区段,其中一个区段中包括16个像素,他们的值如下表I所示。在表I中,上面一行为原始像素值,下面一行为相应的解码值。
[0040]表I
[0041]
【权利要求】
1.一种图像编码方法,包括: 将图像分割成多个区段,每个区段具有多个像素; 针对所述多个区段的每个区段,执行编码处理, 其中,所述编码处理包括: 确定用于将区段内的多个像素划分成群组的划分模式; 基于确定结果,将区段内的多个像素划分成与所确定的划分模式中所指示的群组数目相应的多个群组; 将表示所确定的划分模式的比特值以及每个群组内的像素的值的平均值写入码流的起始端; 将表示该区段的每个像素所属的群组的比特值按照顺序写入所述码流。
2.根据权利要求1所述的图像编码方法,其中,确定所述划分模式包括: 初始地将根据该区段的像素的值的平均值把该区段的多个像素划分为两个群组; 在所述两个群组的基础上,判断第一条件是否满足,如果满足,则确定该区段的多个像素将被划分到所述两个群组,如果不满足,则确定该区段的多个像素将根据所述两个群组的各群组的像素的值的平均值被划分到三个群组, 在所述三个群组的基础上,判断第二条件是否满足,如果满足,则确定该区段的多个像素将被划分到所述三个群组,如果不满足,则确定该区段的多个像素根据该区段的像素的值的平均值以及所述两个群组的各群组的像素的值的平均值被划分到四个群组。
3.根据权利要求2所述的图像编码方法,其中,所述第一条件和所述第二条件各自为该区段的每个像素的值与该像素所属群组内的像素的值的平均值的绝对差值总和或方差小于第一预定阈值。
4.根据权利要求2所述的图像编码方法,其中,所述第一条件和所述第二条件各自为该区段的每个像素的值与该像素所属群组内的像素的值的平均值的绝对差值总和或方差小于第一预定阈值并且该区段的每个像素的像素值与该像素所属群组内的像素的值的平均值的绝对差值小于第二预定阈值。
5.根据权利要求2所述的图像编码方法,其中,所述两个群组包括第一群组段和第二群组,属于所述第一群组的像素的值大于等于该区段的像素的值的平均值,并且属于所述第二群组的像素的像素值小于该区段内的像素的值的平均值。
6.根据权利要求5所述的图像编码方法,其中,所述三个群组包括第三群组、第四群组和第五群组,属于所述第三群组的像素的像素值大于等于所述第一群组内的像素的像素值的平均值,属于所述第四群组的像素的像素值小于第一群组内的像素的像素值的平均值但大于等于所述第二群组内的像素的像素值的平均值,属于所述第五群组的像素的像素值小于所述第二群组内的像素的像素值的平均值。
7.根据权利要求6所述的图像编码方法,其中,所述四个群组包括第六群组、第七群组第八群组和第九群组,其中,属于第六群组的像素的像素值大于等于所述第一群组内的像素的像素值的平均值,属于第群组段的像素的像素值小于所述第一群组内的像素的像素值的平均值但大于等于所述该区段的像素的值的平均值,属于第八群组的像素的像素值小于所述该区段的像素的值的平均值但大于等于所述第二群组内的像素的像素值的平均值,属于第九群组的像素的像素值小于所述第二群组内的像素的像素值的平均值。
8.根据权利要求2所述的图像编码方法,其中,表示将区段内的多个像素划分为两个群组、三个群组和四个群组的划分模式的比特值分别为两比特的10、两比特的11和一比特的O。
9.根据权利要求1所述的图像编码方法,其中,所述多个区段是通过基于像素行或像素块的分割而得到的。
10.一种图像解码方法,包括: 从所接收的按照权利要求1所述的图像编码方法编码的码流的起始端获得表示区段内的多个像素被划分为群组所依据的划分模式的比特值以及各群组的像素的值的平均值; 获得表示像素所属群组的比特值; 根据所获得的表示像素所属群组的比特值,识别出各个像素所属的群组,并且 将所识别出的群组内 的像素的值的平均值作为相应像素的解码像素值。
【文档编号】H04N7/26GK103428485SQ201210165780
【公开日】2013年12月4日 申请日期:2012年5月24日 优先权日:2012年5月24日
【发明者】付轩 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1