发明内容
本发明实施例提供一种块模式编码方法及装置,用于实现对4:1:0采样模式的块模式编码。
一种块模式编码方法,包括以下步骤:
采用4:1:0采样模式对图像分块进行采样;
根据规定的亮度预测模式和色度预测模式,对采样的图像分块进行亮度预测和色度预测,并得到预测残差;
对预测残差进行变换和量化,并得到残差系数;
根据得到的残差系数,产生5位块模式CBP码样本;
根据5位CBP码样本的取值的出现次数,对所有取值进行排序;
对排序后的取值标记码号,并且,对出现次数越多的CBP码的取值标记越小的码号。
本发明实施例提供一种图像编码方法,用于实现关于4:1:0采样模式的图像编码。
一种图像编码方法,包括以下步骤:
对一帧图像进行分块,并采用4:1:0采样模式对图像分块进行采样;
对采样得到的图像分块进行亮度预测和色度预测;
对预测后得到的预测残差进行变换和量化,并得到残差系数;
根据得到的残差系数确定5位CBP码;
在5位CBP编码表中查找与5位CBP码对应的码号;
根据获得的码号得到对应的变长码。
本发明实施例提供一种图像解码方法,用于实现关于4:1:0采样模式的图像解码。
获得图像分块的码号;
在5位CBP编码表中查找与码号对应的5位CBP码;
根据5位CBP码确定亮度块和色度块有残差系数时,对残差系数进行反量化和反变换并得到残差;
根据得到的残差、亮度预测和色度预测得到图像分块的亮度分量和色度分量;
根据色度分量和亮度分量得到重建的图像。
一种用于块模式编码的装置,包括:
采样模块,用于采用4:1:0采样模式对图像进行采样;
预测模块,用于根据规定的亮度预测模式和色度预测模式,对采样的图像分块进行亮度预测和色度预测。
变化/量化模块,用于对预测后得到的预测残差进行变换和量化,并得到残差系数。
CBP码产生模块,用于根据得到的残差系数,产生5位块模式CBP码样本;
排序模块,用于根据5位CBP码样本的取值的出现次数,对所有取值进行排序;
标记模块,用于对排序后的取值标记码号,并且,对出现次数越多的CBP码的取值标记越小的码号。
一种用于图像编码的装置,包括:
分块模块,用于对一帧图像进行分块;
采样模块,用于采用4:1:0采样模式对图像分块进行采样;
预测模块,用于对采样得到的图像分块进行亮度预测和色度冉预测;
变化/量化模块,用于对预测后得到的预测残差进行变换和量化,并得到残差系数;
CBP码产生模块,用于根据得到的残差系数确定5位CBP码;
查找模块,用于在5位CBP编码表中查找与5位CBP码对应的码号;
编码模块,用于根据获得的码号得到对应的变长码。
一种用于图像解码的装置,包括:
接口模块,用于获得图像分块的码号;
查找模块,用于在5位CBP编码表中查找与码号对应的5位CBP码;
残差模块,用于根据5位CBP码确定亮度块和色度块有残差系数时,对残差系数进行反量化和反变换并得到残差;
分量模块,用于根据得到的残差、亮度预测和色度预测得到图像分块的亮度分量和色度分量;
处理模块,用于根据色度分量和亮度分量得到重建的图像。
本发明实施例将一定数量的帧图像作为样本,对每个样本进行分块和4:1:0模式采样,并得到该样本的CBP码。然后将CBP码的所有取值的出现次数进行排序,按照出现次数从大到小的顺序标记从小到大的码号,从而得到5位的CBP编码表。同时,可实现应用该5位的CBP编码表进行关于4:1:0采样模式的图像编码和图像解码。
具体实施方式
本发明实施例将一定数量的帧图像作为样本,对每个样本进行分块和4:1:0模式采样,并得到该样本的CBP码。然后将CBP码的所有取值的出现次数进行排序,按照出现次数从大到小的顺序标记从小到大的码号,从而得到5位的CBP编码表。同时,可实现应用该5位的CBP编码表进行关于4:1:0采样模式的图像编码。
参见图1,本实施例中块模式编码的主要方法流程如下:
步骤101:采用4:1:0采样模式对图像分块进行采样。
步骤102:根据规定的亮度预测模式和色度预测模式,对采样的图像分块进行亮度预测和色度预测,并得到预测残差。亮度预测模式和色度预测模式可采用现有的预测模式,也可选用多种预测模式中的一种或多种。
步骤103:对预测残差进行变换和量化,并得到残差系数。
步骤104:根据得到的残差系数,产生5位CBP码样本。其中4位为亮度CBP码,1位为色度CBP码。
步骤105:根据5位CBP码的取值的出现次数,对所有取值进行排序。
步骤106:对排序后的取值标记码号,并且,对出现次数越多的CBP码的取值标记越小的码号。
参见图2,本实施例中块模式编码的详细方法流程如下:
步骤201:对一帧图像进行分块。
步骤202:采用4:1:0采样模式对图像分块进行采样。
步骤203:根据规定的亮度预测模式和色度预测模式,对采样的图像分块进行亮度预测和色度预测。亮度预测包括亮度帧内预测或亮度帧间预测,对应宏块帧内编码模式或宏块帧间编码模式;色度预测包括色度帧内预测或色度帧间预测,对应宏块帧内编码模式或宏块帧间编码模式。
步骤204:对预测残差进行变换和量化,得到残差系数。具体的,对预测残差进行离散余弦变换(DCT),然后对变换后的系数采用所有允许的量化参数进行量化,计算每个分块的不同量化参数下的残差系数。
步骤205:根据残差系数确定4位亮度CBP码和1位色度CBP码,即得到5位CBP码。如果一个亮度块的系数全为0,则对应的比特位为0,否则为1;如果两个色度块的系数全为0,则对应的比特位为0,否则为1。
重复步骤201-205,直到对所有的图像样本均得到5位CBP码,继续步骤206。
步骤206:统计图像样本中,5位CBP码各种取值的出现次数。即,把大量分块的所有5位CBP码的取值作为样本,统计不同取值的出现次数(相当于出现概率)。计算出现次数所用的样本数的最小值应以能覆盖所有CBP码的取值为准。
步骤207:对5位CBP码按出现次数进行排序,并给出现次数越大的5位CBP码标记越小的码号。
经过上述步骤,可得到5位CBP编码表,一个5位CBP编码表的实例如下:
表1
还可以进一步将得到的CBP编码表与需要的编码表进行比较,若相同的块模式对应的码号相差较大(如相差5以上),则可增大样本量并重复上述流程,可能得到更为适用的CBP编码表。
确定了5位CBP编码表,即可用于4:1:0采样模式的图像编码。
参见图3,本实施例中图像编码的方法流程如下:
步骤301:对一帧图像进行分块。
步骤302:采用4:1:0采样模式对图像分块进行采样。
步骤303:根据规定的亮度预测模式和色度预测模式,对采样的图像分块进行亮度预测和色度预测。
步骤304:对预测残差进行变换和量化,得到残差系数。
步骤305:根据残差系数确定4位亮度CBP码和1位色度CBP码,即得到5位CBP码。
步骤306:在5位CBP编码表中查找与5位CBP码对应的码号。
步骤307:根据获得的码号得到对应的变长码。从而实现了对一帧图像所有分块的编码。
本实施例提供了关于4:1:0采样模式的图像编码方法,相应的,需要介绍关于4:1:0采样模式的图像解码方法。
参见图4,本实施例中图像解码的方法流程如下:
步骤401:获得图像分块的码号。
步骤402:在5位CBP编码表中查找与码号对应的5位CBP码。
步骤403:根据5位CBP码确定亮度块和色度块是否有残差系数,如果有,则继续步骤404,否则确定残差为0,继续步骤405。
步骤404:对残差系数进行反量化和反变换并得到残差。
步骤405:根据得到的残差、亮度预测和色度预测得到图像分块的亮度分量和色度分量。
步骤406:根据色度分量和亮度分量得到重建的图像分块。
步骤407:将各图像分块组合,得到重建的一帧图像。
本实施例还提供用于实现各方法的装置,下面首先介绍用于块模式编码的块模式编码装置。
参见图5,本实施例中块模式编码装置包括采样模块501、CBP码产生模块502、排序模块503和标记模块504。
采样模块501用于采用4:1:0采样模式对图像进行采样。采样模块501对每个图像样本的分块进行采样。
CBP码产生模块502用于根据得到的每个图像分块的残差系数,产生5位CBP码样本。
排序模块503用于根据5位CBP码的取值的出现次数,对所有取值进行排序。
标记模块504用于对排序后的取值标记码号,并且,对出现次数越多的CBP码的取值标记越小的码号。
块模式编码装置还包括分块模块505、预测模块506、变化/量化模块507、统计模块508。
分块模块505用于对一帧图像进行分块。
预测模块506用于根据规定的亮度预测模式和色度预测模式,对采样的图像分块进行亮度预测和色度预测。
变化/量化模块507用于对预测残差进行变换和量化,得到残差系数。
统计模块508用于统计图像样本中,5位CBP码各种取值的出现次数。
参见图6,本实施例中图像编码装置包括分块模块601、采样模块602、预测模块603、CBP码模块604、查找模块605、编码模块606和变化/量化模块607。
分块模块601用于对一帧图像进行分块。
采样模块602用于采用4:1:0采样模式对图像分块进行采样。
预测模块603用于进行亮度预测和色度预测。
变化/量化模块607用于对预测后得到的预测残差进行变换和量化,并得到残差系数。
CBP码模块604用于根据预测后得到的残差系数确定5位CBP码。
查找模块605用于在5位CBP编码表中查找与5位CBP码对应的码号。
编码模块606用于根据获得的码号得到对应的变长码。
参见图7,本实施例中图像解码装置包括接口模块701、查找模块702、残差模块703、分量模块704和处理模块705。
接口模块701用于获得图像分块的码号。
查找模块702用于在5位CBP编码表中查找与码号对应的5位CBP码。
残差模块703用于根据5位CBP码确定亮度块和色度块是否有残差系数,如果有,则对残差系数进行反量化和反变换并得到残差;否则确定残差为0。
分量模块704用于根据得到的残差、亮度预测和色度预测得到图像分块的亮度分量和色度分量。
处理模块705用于根据色度分量和亮度分量得到重建的图像。
用于实现本发明实施例的软件可以存储于软盘、硬盘、光盘和闪存等存储介质。
本发明实施例将一定数量的帧图像作为样本,对每个样本进行分块和4:1:0模式采样,并得到该样本的CBP码。然后将CBP码的所有取值的出现次数进行排序,按照出现次数从大到小的顺序标记从小到大的码号,从而得到5位的CBP编码表。同时,可实现应用该5位的CBP编码表进行关于4:1:0采样模式的图像编码和图像解码。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若对本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。