一种亮度变换域帧内预测编解码方法和系统
技术领域
本发明涉及视频编解码领域领域,尤其涉及一种亮度变换域帧内预测编解码方法和系统。
背景技术
作为后续帧间预测编码帧的参考帧,帧内预测编码帧的压缩质量将影响到后续若干帧间预测编码帧的压缩质量,所以帧内预测编码技术在整个编码技术中占有非常重要的地位。另一方面,帧内信息的冗余度远小于帧间信息的冗余度,使得编码器对帧内预测技术的性能的要求相对也较高。
目前,常规的视频编码技术一般通过空间域帧内预测,来消除帧内信息冗余度。整个帧内预测算方法体系通常包含:适用于平坦区域的大尺寸块(如16x16)亮度帧内预测、适用于复杂区域的小尺寸块(如4x4)亮度帧内预测及适用于色度信息的色度帧内预测。该类空间域帧内预测方法都是利用当前编码块周围已编码的最邻近像素的重构值来进行预测。然而,由于空间域信息的聚能性较差,这就使得基于少量预测模式的该类帧内预测技术的难以达到率失真性能的最优化实现。而采用增加预测模式的优化算法虽然可以达到预测效果的提升。但是,最佳预测模式获取往往需要遍历比较各个编码模式的率失真代价来实现。从而使得此类改进在率失真性能提升上的效果,与其带来的计算量增长相比显得差强人意。在资源有限的平台上,将会更加制约此类算法在实际应用中的实施。
发明内容
本发明实施例的目的在于提出一种亮度变换域帧内预测编码方法和系统,旨在解决现有技术的视频编码技术通过空间域帧内预测消除帧内信息冗余度在改进在率失真性能提升上的效果不明显的问题。
本发明实施例第一目的在于提出一种亮度变换域帧内预测编码方法,所述方法包括以下步骤:
对当前编码块的空间域信息块进行变换,获取当前编码块的变换域信息块;
对当前编码块的变换域信息块进行分类,每一类数据按照第一预测模式组进行变换域帧内预测;
在所述变换域信息块的每一种预测模式组合下,累加当前编码块所有变换域信息块对应的预测误差,作为当前编码块在该种预测模式组合下的帧内预测误差;
对当前编码块进行率失真优化获取最佳帧内预测模式。
本发明实施例第二目的在于提出一种亮度变换域帧内预测解码方法,所述方法包括以下步骤:
对当前解码块的码流先进行熵解码、重排序,然后再进行反量化;
根据当前解码块的帧内预测模式,按第一预测模式组进行变换域帧内预测,获取当前解码块的变换域帧内预测值;
将当前解码块的变换域帧内预测值与对当前解码块反量化的数据累加,获取当前解码块的变换域重构值;
对当前解码块的变换域重构值进行的反变换,获取当前解码块的空间域重构值;
对当前解码块的空间域重构值进行滤波,完成当前解码块的解码。
本发明实施例第三目的在于提出一种亮度变换域帧内预测编码系统,所述系统包括:变换域信息块获取模块、第一变换域帧内预测装置、帧内预测误差计算模块、最佳帧内预测模式获取模块;
变换域信息块获取模块,用于对当前编码块的空间域信息块进行变换,获取当前编码块的变换域信息块;
第一变换域帧内预测装置,用于对当前编码块的变换域信息块进行分类,每一类数据按照第一预测模式组变换域帧内预测;
帧内预测误差计算模块,用于在所述当前编码块的变换域信息块的每一种预测模式组合下,累加当前编码块所有变换域信息块对应的预测误差,作为当前编码块在该种预测模式组合下的帧内预测误差;
最佳帧内预测模式获取模块,用于对当前编码块进行率失真优化获取最佳帧内预测模式。
本发明实施例第四目的在于提出一种亮度变换域帧内预测解码系统,所述系统包括:熵解码模块、重排序模块、反量化模块、第一解码块变换域帧内预测值获取模块、解码块变换域重构值获取模块、解码块空间域重构值获取模块、滤波模块;
熵解码模块,用于对当前解码块的码流进行熵解码;
重排序模块,用于对熵解码后的当前解码块的码流进行重排序;
反量化模块,用于对重排序后当前解码块的码流进行反量化;
第一解码块变换域帧内预测值获取模块,用于根据当前解码块的帧内预测模式,按第一预测模式组进行变换域帧内预测,获取当前解码块的变换域帧内预测值;
解码块变换域重构值获取模块,用于将当前解码块的变换域帧内预测值与反量化模块中反量化后的当前解码块的码流数据累加,获取当前解码块的变换域重构值。
解码块空间域重构值获取模块,用于对当前解码块的变换域重构值进行的反变换,获取当前解码块的空间域重构值;
滤波模块,用于对当前解码块的空间域重构值进行滤波,完成当前解码块的解码。
本发明实施例第五目的在于提出一种亮度变换域帧内预测编码方法,所述方法包括以下步骤,
对当前编码块的空间域信息块进行变换,获取当前编码块的变换域信息块;
对当前编码块的变换域信息块进行量化;
对当前编码块的变换域信息块进行分类,每一类数据按照第二预测模式组进行变换域帧内预测;
在所述变换域信息块的每一种预测模式组合下,累加当前编码块所有变换域信息块对应的预测误差,作为当前编码块在该种预测模式组合下的帧内预测误差;
对当前编码块进行率失真优化,获取最佳帧内预测模式。
本发明实施例第六目的在于提出一种亮度变换域帧内预测解码方法,所述方法包括以下步骤:
对当前解码块的码流先进行熵解码、重排序;
根据当前解码块的帧内预测模式,按第二预测模式组进行变换域帧内预测,获取当前解码块的变换域帧内预测值;
将当前解码块的变换域帧内预测值与重排序后的当前解码块的码流数据累加,获取当前解码块的变换域重构值;
对当前解码块的变换域重构值进行反量化、然后再进行反变换,获取当前解码块的空间域重构值;
对当前解码块的空间域重构值进行滤波,完成当前解码块的解码。
本发明实施例第七目的在于提出一种亮度变换域帧内预测编码系统,其特征在于,所述系统包括:变换域信息块获取模块、量化模块、第二变换域帧内预测装置、帧内预测误差计算模块、最佳帧内预测模式获取模块;
变换域信息块获取模块,用于对当前编码块的空间域信息块进行变换,获取当前编码块的变换域信息块;
量化模块,用于对当前编码块的变换域信息块进行量化;
第二变换域帧内预测装置,用于对当前编码块的变换域信息块进行分类,每一类数据按照第二预测模式组变换域帧内预测;
帧内预测误差计算模块,用于在所述当前编码块的变换域信息块的每一种预测模式组合下,累加当前编码块所有变换域信息块对应的预测误差,作为当前编码块在该种预测模式组合下的帧内预测误差;
最佳帧内预测模式获取模块,用于对当前编码块进行率失真优化获取最佳帧内预测模式。
本发明实施例第八目的在于提出一种亮度变换域帧内预测解码系统,其特征在于,所述系统包括:熵解码模块、重排序模块、第二解码块变换域帧内预测值获取模块、解码块变换域重构值获取模块、解码块空间域重构值获取模块、滤波模块;
熵解码模块,用于对当前解码块的码流进行熵解码;
重排序模块,用于对熵解码后的当前解码块的码流进行重排序;
第二解码块变换域帧内预测值获取模块,用于根据当前解码块的帧内预测模式,按第二预测模式组进行变换域帧内预测,获取当前解码块的变换域帧内预测值;
解码块变换域重构值获取模块,用于将当前解码块的变换域帧内预测值与重排序模块中重排序后的当前解码块的码流数据累加,获取当前解码块的变换域重构值;
解码块空间域重构值获取模块,用于对当前解码块的变换域重构值进行的反量化,再进行反变换,获取当前解码块的空间域重构值;
滤波模块,用于对当前解码块的空间域重构值进行滤波,完成当前解码块的解码。
本发明的有益效果
本发明公开一种亮度变换域帧内预测编解码方法和系统,属于视频编解码领域。本发明方法利用变换域的高聚能性和当前编码块与邻近已编码块的相关性对变换域信息块进行变换域帧内预测,消除帧内信息的冗余度;其中编码流程粗略的可以分为“预测、变换、量化、重排序、熵编码等”模块,所使用的变换正是后续编码流程“变换模块”的变换方法,不额外增加计算量,并且由于变换域相比较于空间域具有高聚能性的特点,本发明可达到在帧内预测性能上的提升。
附图说明
图1是本发明优选实施例1一种亮度变换域帧内预测编码方法流程图;
图2是图1流程图中步骤S102的方法流程图;
图3是当前编码块与预测块的位置关系图;
图4是本发明优选实施例2一种亮度变换域帧内预测解码方法流程图;
图5是本发明优选实施例3一种亮度变换域帧内预测编码系统结构图;
图6是图5编码系统中第一变换域帧内预测装置的详细结构图;
图7是本发明优选实施例4一种亮度变换域帧内预测解码系统结构图;
图8是本发明优选实施例5一种亮度变换域帧内预测编码方法流程图;
图9是图8流程图中步骤S303的方法流程图;
图10是本发明优选实施例6一种亮度变换域帧内预测解码方法流程图;
图11是本发明优选实施例7一种亮度变换域帧内预测编码系统结构图;
图12是图11编码系统中第二变换域帧内预测装置的详细结构图;
图13是本发明优选实施例8一种亮度变换域帧内预测解码系统结构图;
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图和实施例,对本发明进行进一步详细说明,为了便于说明,仅示出了与本发明实施例相关的部分。应当理解,此处所描写的具体实施例,仅仅用于解释本发明,并不用以限制本发明。
本发明公开一种亮度变换域帧内预测编解码方法和系统,属于视频编解码领域。本发明方法利用变换域的高聚能性和当前编码块与邻近已编码块的相关性对变换域信息块进行变换域帧内预测,消除帧内信息的冗余度;其中编码流程粗略的可以分为“预测、变换、量化、重排序、熵编码等”模块,所使用的变换正是后续编码流程“变换模块”的变换方法,不额外增加计算量,并且由于变换域相比较于空间域具有高聚能性的特点,本发明可达到在帧内预测性能上的提升。
实施例1
图1是本发明优选实施例一种亮度变换域帧内预测编码方法流程图;
所述方法包括以下步骤:
S101:对当前编码块的空间域信息块进行变换,获取当前编码块的变换域信息块。
具体为:
其中, 表示变换矩阵,c(ic,jc)为变换矩阵第ic行第jc列的数值,1≤ic≤k,1≤jc≤k,CT表示变换矩阵的转置矩阵;所述变换矩阵可以根据不同编码器的变换模块来选择,例如H.264中的DCT变换矩阵;
表示当前编码块的空间域信息块;y(i,j)表示当前编码块的空间域信息块第i行第j列的亮度值,1≤i≤k、1≤j≤k;
表示当前编码块的变换域信息块;t_y(i,j)表示当前编码块的变换域信息块第i行第j列的亮度值,1≤i≤k、1≤j≤k;t_y(i,j)是y(i,j)经过变换以后,获取的当前编码块的变换域信息块第i行第j列的亮度值。
S102:对当前编码块的变换域信息块进行分类,每一类数据按照第一预测模式组进行变换域帧内预测。
所述“对当前编码块的变换域信息块进行分类,每一类数据按照第一预测模式组进行变换域帧内预测”具体包括以下步骤(图2是图1流程图中步骤S102的方法流程图):
S1021:确定number初始值。
number表示当前编码块的变换域信息块最多进行帧内预测寻优次数,由编码器自行设置,number初始值越大,计算量越大,性能相应提升也越多,一般number≤k*k/2。
S1022:找到当前编码块的变换域信息块中值最大的number个数据。
number个数据,每一个数据为分别为一类数据,余下所有数据为一类数据
S1023:对所述number个数据中的每一个数据利用第一预测模式组分别进行中间帧内预测;然后再对当前编码块的变换域信息块中余下所有数据利用第一预测模式组统一进行中间帧内预测。
其中,所述第一预测模式组具体包括以下五种模式(图3是当前编码块与预测块的位置关系图):
模式一:变换域左侧预测模式
如果(当前编码块的左侧编码块已编码),则
Pred_t_y(i,j)=g_yleft(i,j),1≤i≤k、1≤j≤k;
否则 Pred_t_y(i,j)=t_y128(i,j),1≤i≤k、1≤j≤k;
模式二:变换域上侧预测模式
如果(当前编码块的上侧编码块已编码),则
Pred_t_y(i,j)=g_yup(i,j),1≤i≤k、1≤j≤k;
否则Pred_t_y(i,j)=t_y128(i,j),1≤i≤k、1≤j≤k;
模式三:变换域左上侧预测模式
如果(当前编码块的左上侧编码块已编码),则
Pred_t_y(i,j)=g_yleft_up(i,j),1≤i≤k、1≤j≤k;
否则 Pred_t_y(i,j)=t_y128(i,j),1≤i≤k、1≤j≤k;
模式四:变换域右上侧预测模式
如果(当前编码块的右上侧编码块已编码),则
Pred_t_y(i,j)=g_yright_up(i,j),1≤i≤k、1≤j≤k;
否则Pred_t_y(i,j)=t_y128(i,j),1≤i≤k、1≤j≤k;
模式五:变换域混合预测模式
如果(当前编码块的上侧编码块和左侧编码块都已编码),则
Pred_t_y(i,j)=(g_yleft(i,j)+g_yup(i,j))/2,1≤i≤k、1≤j≤k;
否则,如果(仅当前编码块的左侧编码块已编码),则
Pred_t_y(i,j)=g_yleft(i,j),1≤i≤k、1≤j≤k;
否则,如果(仅当前编码块的上侧编码块已编码),则
Pred_t_y(i,j)=g_yup(i,j),1≤i≤k、1≤j≤k;
否则,Pred_t_y(i,j)=t_y128(i,j),1≤i≤k、1≤j≤k;
其中,Pred_t_y(i,j)表示t_y(i,j)的变换域预测值;g_yleft(i,j)表示当前编码块左侧编码块的变换域信息块第i行第j列的亮度重构值;g_yup(i,j)表示当前编码块上侧编码块的变换域信息块第i行第j列的亮度重构值;g_yleft_up(i,j):表示当前编码块左上侧编码块的变换域信息块第i行第j列的亮度重构值;g_yright_up(i,j):表示当前编码块右上侧编码块的变换域信息块第i行第j列的亮度重构值;所有编码端预测块(当前编码块左侧编码块、当前编码块上侧编码块、当前编码块左上侧编码块、当前编码块右上侧编码块)和当前编码块的尺寸一样,都是(k)x(k); 表示由(k)x(k)个等于128的值构成的矩阵,称为基本空间域信息块;
表示基本变换域信息块;
t_y128(i,j):表示基本变换域信息块第i行第j列的亮度值。
所述“中间帧内预测”具体实现方法为:对当前处理对象,求取用第一预测模式组进行变换域帧内预测的五个误差。
所述“对所述number个数据中的每一个数据利用第一预测模式组分别进行中间帧内预测”具体为:对所述number个数据中每一个数据依次进行一次“中间帧内预测”(此时每一个数据就是一次“中间帧内预测”中的处理对象),求取所述number个数据中每一个数据对应的五个预测误差。
所述“然后再对当前编码块的变换域信息块中余下所有数据利用第一预测模式组统一进行中间帧内预测”具体为:对余下所有数据进行一次“中间帧内预测”(此时余下所有数据就是“中间帧内预测”中的处理对象),求取余下所有数据对应的五个预测误差。
当前编码块的变换域信息块数据包括所述number个数据和所述余下所有数据;
S103:在所述变换域信息块的每一种预测模式组合下(即每一种所述number个数据和所述余下数据预测模式组合),累加当前编码块所有变换域信息块对应的预测误差,作为当前编码块在该种预测模式组合下的帧内预测误差。
所述每一种预测模式组合包括一种number个数据的预测模式和一种余下数据的预测模式;所述“一种number个数据的预测模式”中,所述number个数据中每个数据可采用第一预测模式组五种模式中的任意一种,所述number个数据中每个数据采用的模式可相同也可不同,所述余下数据也可采用第一预测模式组五种模式中的任意一种。
例如:假设number=3,所述number个数据分别为a、b、c,所述余下数据为d;其中一种预测模式组合为:“a在模式一+b在模式三+c在模式四”+d在模式二;a、b、c三个数据可分别采用所述五种模式中的任意一种,d数据也可采用所述五种模式中的任意一种。
S104:对当前编码块进行RDO(率失真优化,Rate DistortionOptimization)获取最佳帧内预测模式,完成当前编码块的变换域帧内预测。
实施例2
图4是本发明优选实施例一种亮度变换域帧内预测解码方法流程图;述解码方法是基于实施例1中的所述编码方法提出的相应的一种亮度变换域帧内预测解码方法。所述解码方法适用于帧内预测编码块的解码,具体包括如下步骤:
S201:对当前解码块的码流先进行熵解码、重排序,然后再进行反量化。
S202:根据当前解码块的帧内预测模式,按第一预测模式组进行变换域帧内预测,获取当前解码块的变换域帧内预测值。
所述第一预测模式组包括以下五种模式:
模式一:变换域左侧预测模式
如果(当前编码块的左侧解码块已解码),则
Pred_t_ydec(i,j)=g_yleft(i,j),1≤i≤k、1≤j≤k;
否则 Pred_t_ydec(i,j)=t_y128(i,j),1≤i≤k、1≤j≤k;
模式二:变换域上侧预测模式
如果(当前解码块的上侧解码块已解码),则
Pred_t_ydec(i,j)=g_yup(i,j),1≤i≤k、1≤j≤k;
否则 Pred_t_ydec(i,j)=t_y128(i,j),1≤i≤k、1≤j≤k;
模式三:变换域左上侧预测模式
如果(当前解码块的左上侧解码块已解码),则
Pred_t_ydec(i,j)=g_yleft_up(i,j),1≤i≤k、1≤j≤k;
否则 Pred_t_ydec(i,j)=t_y128(i,j),1≤i≤k、1≤j≤k;
模式四:变换域右上侧预测模式
如果(当前解码块的右上侧解码块已解码),则
Pred_t_ydec(i,j)=g_yright_up(i,j),1≤i≤k、1≤j≤k;
否则 Pred_t_ydec(i,j)=t_y128(i,j),1≤i≤k、1≤j≤k;
模式五:变换域混合预测模式
如果(当前解码块的上侧解码块和左侧解码块都已解码),则
Pred_t_ydec(i,j)=(g_yleft(i,j)+g_yup(i,j))/2,1≤i≤k、1≤j≤k;
否则,如果(仅当前解码块的左侧解码块已解码),则
Pred_t_ydec(i,j)=g_yleft(i,j),1≤i≤k、1≤j≤k;
否则,如果(仅当前解码块的上侧解码块已解码),则
Pred_t_ydec(i,j)=g_yup(i,j),1≤i≤k、1≤j≤k;
否则,Pred_t_ydec(i,j)=t_y128(i,j),1≤i≤k、1≤j≤k;
其中,Pred_t_ydec(i,j)表示当前解码块的变换域信息块第i行第j列的亮度值的变换域预测值;g_yleft(i,j)表示当前解码块左侧解码块的变换域信息块第i行第j列的亮度重构值;g_yup(i,j)表示当前解码块上侧解码块的变换域信息块第i行第j列的亮度重构值;g_yleft_up(i,j)表示当前解码块左上侧解码块的变换域信息块第i行第j列的亮度重构值;g_yright_up(i,j):表示当前解码块右上侧解码块的变换域信息块第i行第j列的亮度重构值;
所有解码端预测块(当前解码块左侧解码块、当前解码块上侧解码块、当前解码块左上侧解码块、当前解码块右上侧解码块)和当前解码块的尺寸一样,都是(k)x(k);
表示由(k)x(k)个等于128的值构成的矩阵,称为基本空间域信息块;
表示基本变换域信息块;
t_y128(i,j)表示
基本变换域信息块第i行第j列的亮度值。
S203:将当前解码块的变换域帧内预测值与S201中获取的当前解码块反量化的数据累加,获取当前解码块的变换域重构值。
S204:对当前解码块的变换域重构值进行的反变换,获取当前解码块的空间域重构值。
S205:对当前解码块的空间域重构值进行滤波,完成当前解码块的解码。
实施例3
图5是本发明优选实施例一种亮度变换域帧内预测编码系统结构示意图;所述系统包括:变换域信息块获取模块、第一变换域帧内预测装置、帧内预测误差计算模块、最佳帧内预测模式获取模块;
变换域信息块获取模块,用于对当前编码块的空间域信息块进行变换,获取当前编码块的变换域信息块;
第一变换域帧内预测装置,用于对当前编码块的变换域信息块进行分类,每一类数据按照第一预测模式组变换域帧内预测;
帧内预测误差计算模块,用于在所述当前编码块的变换域信息块的每一种预测模式组合下,累加当前编码块所有变换域信息块对应的预测误差,作为当前编码块在该种预测模式组合下的帧内预测误差;
最佳帧内预测模式获取模块,用于对当前编码块进行率失真优化获取最佳帧内预测模式。
进一步地,所述“对当前编码块的空间域信息块进行变换,获取当前编码块的变换域信息块”具体为:
其中, 表示变换矩阵,c(ic,jc)为变换矩阵第ic行第jc列的数值,1≤ic≤k,1≤jc≤k,CT表示变换矩阵的转置矩阵;所述变换矩阵可以根据不同编码器的变换模块来选择,例如H.264中的DCT变换矩阵;
表示当前编码块的空间域信息块;y(i,j)表示当前编码块的空间域信息块第i行第j列的亮度值,1≤i≤k、1≤j≤k;
表示当前编码块的变换域信息块;t_y(i,j)表示当前编码块的变换域信息块第i行第j列的亮度值,1≤i≤k、1≤j≤k;t_y(i,j)是y(i,j)经过变换以后,获取的当前编码块的变换域信息块第i行第j列的亮度值。
进一步地,所述第一变换域帧内预测装置还包括:number初始值模块、查找模块、第一中间帧内预测模块;图6是图5系统中第一变换域帧内预测装置的详细结构图;
number初始值模块,用于确定初始值number;number表示当前编码块的变换域信息块最多进行帧内预测寻优次数,由编码器自行设置,number初始值越大,计算量越大,性能相应提升也越多,一般number≤k*k/2。
查找模块,用于找到当前编码块的变换域信息块中值最大的number个数据;
第一中间帧内预测模块,用于对所述number个数据中的每一个数据利用第一预测模式组分别进行中间帧内预测;然后再对当前编码块的变换域信息块中余下所有数据利用第一预测模式组统一进行中间帧内预测;
其中,第一预测模式组具体包括如下模式:
模式一:变换域左侧预测模式
如果(当前编码块的左侧编码块已编码),则
Pred_t_y(i,j)=g_yleft(i,j),1≤i≤k、1≤j≤k;
否则 Pred_t_y(i,j)=t_y128(i,j),1≤i≤k、1≤j≤k;
模式二:变换域上侧预测模式
如果(当前编码块的上侧编码块已编码),则
Pred_t_y(i,j)=g_yup(i,j),1≤i≤k、1≤j≤k;
否则 Pred_t_y(i,j)=t_y128(i,j),1≤i≤k、1≤j≤k;
模式三:变换域左上侧预测模式
如果(当前编码块的左上侧编码块已编码),则
Pred_t_y(i,j)=g_yleft_up(i,j),1≤i≤k、1≤j≤k;
否则 Pred_t_y(i,j)=t_y128(i,j),1≤i≤k、1≤j≤k;
模式四:变换域右上侧预测模式
如果(当前编码块的右上侧编码块已编码),则
Pred_t_y(i,j)=g_yright_up(i,j),1≤i≤k、1≤j≤k;
否则 Pred_t_y(i,j)=t_y128(i,j),1≤i≤k、1≤j≤k;
模式五:变换域混合预测模式
如果(当前编码块的上侧编码块和左侧编码块都已编码),则
Pred_t_y(i,j)=(g_yleft(i,j)+g_yup(i,j))/2,1≤i≤k、1≤j≤k;
否则,如果(仅当前编码块的左侧编码块已编码),则
Pred_t_y(i,j)=g_yleft(i,j),1≤i≤k、1≤j≤k;
否则,如果(仅当前编码块的上侧编码块已编码),则
Pred_t_y(i,j)=g_yup(i,j),1≤i≤k、1≤j≤k;
否则,Pred_t_y(i,j)=t_y128(i,j),1≤i≤k、1≤j≤k;
其中,Pred_t_y(i,j)表示t_y(i,j)的变换域预测值;g_yleft(i,j)表示当前编码块左侧编码块的变换域信息块第i行第j列的亮度重构值;g_yup(i,j)表示当前编码块上侧编码块的变换域信息块第i行第j列的亮度重构值;g_yleft_up(i,j):表示当前编码块左上侧编码块的变换域信息块第i行第j列的亮度重构值;g_yright_up(i,j):表示当前编码块右上侧编码块的变换域信息块第i行第j列的亮度重构值;所有编码端预测块(当前编码块左侧编码块、当前编码块上侧编码块、当前编码块左上侧编码块、当前编码块右上侧编码块)和当前编码块的尺寸一样,都是(k)x(k); 表示由(k)x(k)个等于128的值构成的矩阵,称为基本空间域信息块;
表示基本变换域信息块;
t_y128(i,j):表示基本变换域信息块第i行第j列的亮度值;
所述“中间帧内预测”具体实现方法为:对当前处理对象,求取用第一预测模式组进行变换域帧内预测的五个误差。
所述“对这number个数据中的每一个数据利用第一预测模式组分别进行中间帧内预测”具体为:对所述number个数据中每一个数据依次进行一次“中间帧内预测”(此时每一个数据就是一次“中间帧内预测”中的处理对象),求取所述number个数据中每一个数据对应的五个预测误差。
所述“然后再对当前编码块的变换域信息块中余下所有数据利用第一预测模式组统一进行中间帧内预测”具体为:对余下所有数据进行一次“中间帧内预测”(此时余下所有数据就是“中间帧内预测”中的处理对象),求取余下所有数据对应的五个预测误差。
当前编码块的变换域信息块数据包括所述number个数据和所述余下所有数据;
进一步地,帧内预测误差计算模块中,所述每一种预测模式组合包括一种number个数据的预测模式和一种余下数据的预测模式;所述“一种number个数据的预测模式”中,所述number个数据中每个数据可采用所述第一预测模式组五种模式中的任意一种,所述number个数据中每个数据采用的模式可相同也可不同,所述余下数据也可采用所述第一预测模式组五种模式中的任意一种。
实施例4
图7是本发明优选实施例一种亮度变换域帧内预测解码系统结构图;所述系统包括:熵解码模块、重排序模块、反量化模块、第一解码块变换域帧内预测值获取模块、解码块变换域重构值获取模块、解码块空间域重构值获取模块、滤波模块。
熵解码模块,用于对当前解码块的码流进行熵解码;
重排序模块,用于对熵解码后的当前解码块的码流进行重排序;
反量化模块,用于对重排序后当前解码块的码流进行反量化;
,用于根据当前解码块的帧内预测模式,按第一预测模式组进行变换域帧内预测,获取当前解码块的变换域帧内预测值;
解码块变换域重构值获取模块,用于将当前解码块的变换域帧内预测值与反量化模块中反量化后的当前解码块的码流数据累加,获取当前解码块的变换域重构值。
解码块空间域重构值获取模块,用于对当前解码块的变换域重构值进行的反变换,获取当前解码块的空间域重构值;
滤波模块,用于对当前解码块的空间域重构值进行滤波,完成当前解码块的解码。
进一步地,所述第一解码块变换域帧内预测值获取模块中,所述第一预测模式组包括以下五种模式:
模式一:变换域左侧预测模式
如果(当前解码块的左侧解码块已解码),则
Pred_t_ydec(i,j)=g_yleft(i,j),1≤i≤k、1≤j≤k;
否则 Pred_t_ydec(i,j)=t_y128(i,j),1≤i≤k、1≤j≤k;
模式二:变换域上侧预测模式
如果(当前解码块的上侧解码块已解码),则
Pred_t_ydec(i,j)=g_yup(i,j),1≤i≤k、1≤j≤k;
否则 Pred_t_ydec(i,j)=t_y128(i,j),1≤i≤k、1≤j≤k;
模式三:变换域左上侧预测模式
如果(当前解码块的左上侧解码块已解码),则
Pred_t_ydec(i,j)=g_yleft_up(i,j),1≤i≤k、1≤j≤k;
否则 Pred_t_ydec(i,j)=t_y128(i,j),1≤i≤k、1≤j≤k;
模式四:变换域右上侧预测模式
如果(当前解码块的右上侧解码块已解码),则
Pred_t_ydec(i,j)=g_yright_up(i,j),1≤i≤k、1≤j≤k;
否则 Pred_t_ydec(i,j)=t_y128(i,j),1≤i≤k、1≤j≤k;
模式五:变换域混合预测模式
如果(当前解码块的上侧解码块和左侧解码块都已解码),则
Pred_t_ydec(i,j)=(g_yleft(i,j)+g_yup(i,j))/2,1≤i≤k、1≤j≤k;
否则,如果(仅当前解码块的左侧解码块已解码),则
Pred_t_ydec(i,j)=g_yleft(i,j),1≤i≤k、1≤j≤k;
否则,如果(仅当前解码块的上侧解码块已解码),则
Pred_t_ydec(i,j)=g_yup(i,j),1≤i≤k、1≤j≤k;
否则,Pred_t_ydec(i,j)=t_y128(i,j),1≤i≤k、1≤j≤k;
其中,Pred_t_ydec(i,j)表示当前解码块的变换域信息块第i行第j列的亮度值的变换域预测值;g_yleft(i,j)表示当前解码块左侧解码块的变换域信息块第i行第j列的亮度重构值;g_yup(i,j)表示当前解码块上侧解码块的变换域信息块第i行第j列的亮度重构值;g_yleft_up(i,j)表示当前解码块左上侧解码块的变换域信息块第i行第j列的亮度重构值;g_yright_up(i,j):表示当前解码块右上侧解码块的变换域信息块第i行第j列的亮度重构值;
所有解码端预测块(当前解码块左侧解码块、当前解码块上侧解码块、当前解码块左上侧解码块、当前解码块右上侧解码块)和当前解码块的尺寸一样,都是(k)x(k);
表示由(k)x(k)个等于128的值构成的矩阵,称为基本空间域信息块;
表示基本变换域信息块;
t_y128(i,j)表示基本变换域信息块第i行第j列的亮度值。
实施例5
图8是本发明优选实施例5一种亮度变换域帧内预测编码方法流程图;所述方法包括:
S301:对当前编码块的空间域信息块进行变换,获取当前编码块的变换域信息块。
其中, 表示变换矩阵,c(ic,jc)为变换矩阵第ic行第jc列的数值,1≤ic≤k,1≤jc≤k,CT表示变换矩阵的转置矩阵;变换矩阵可以根据不同编码器的变换模块来选择,例如H.264中的DCT变换矩阵;
表示当前编码块的空间域信息块;y(i,j)表示当前编码块的空间域信息块第i行第j列的亮度值,1≤i≤k、1≤j≤k;
表示当前编码块的变换域信息块;t_y(i,j)表示当前编码块的变换域信息块第i行第j列的亮度值,1≤i≤k、1≤j≤k;t_y(i,j)是y(i,j)经过变换以后,获取的当前编码块的变换域信息块第i行第j列的亮度值。
S302:对当前编码块的变换域信息块进行量化。
S303:对当前编码块的变换域信息块进行分类,每一类数据按照第二预测模式组进行变换域帧内预测。
所述“对当前编码块的变换域信息块进行分类,每一类数据按照第二预测模式组进行变换域帧内预测”具体包括以下步骤:(图9是图8流程图中步骤S303的方法流程图)
S3031:确定number初始值。
number表示当前编码块的变换域信息块最多进行帧内预测寻优次数,由编码器自行设置,number初始值越大,计算量越大,性能相应提升也越多,一般number≤k*k/2。
S3032:找到当前编码块的变换域信息块中值最大的number个数据。
number个数据,每一个数据为分别为一类数据,余下所有数据为一类数据;
S3033:对所述number个数据中的每一个数据利用第二预测模式组分别进行中间帧内预测;然后再对当前编码块的变换域信息块中余下所有数据利用第二预测模式组统一进行中间帧内预测。其中,第二预测模式组具体包括以下五种模式:(图3是当前编码块与预测块的位置关系图;)
模式一:变换域左侧预测模式
如果(当前编码块的左侧编码块已编码),则
Pred_t_y(i,j)=g_yleft(i,j),1≤i≤k、1≤j≤k;
否则 Pred_t_y(i,j)=g_y128(i,j),1≤i≤k、1≤j≤k;
模式二:变换域上侧预测模式
如果(当前编码块的上侧编码块已编码),则
Pred_t_y(i,j)=g_yup(i,j),1≤i≤k、1≤j≤k;
否则 Pred_t_y(i,j)=g_y128(i,j),1≤i≤k、1≤j≤k;
模式三:变换域左上侧预测模式
如果(当前编码块的左上侧编码块已编码),则
Pred_t_y(i,j)=g_yleft_up(i,j),1≤i≤k、1≤j≤k;
否则 Pred_t_y(i,j)=g_y128(i,j),1≤i≤k、1≤j≤k;
模式四:变换域右上侧预测模式
如果(当前编码块的右上侧编码块已编码),则
Pred_t_y(i,j)=g_yright_up(i,j),1≤i≤k、1≤j≤k;
否则 Pred_t_y(i,j)=g_y128(i,j),1≤i≤k、1≤j≤k;
模式五:变换域混合预测模式
如果(当前编码块的上侧编码块和左侧编码块都已编码),则
Pred_t_y(i,j)=(g_yleft(i,j)+g_yup(i,j))/2,1≤i≤k、1≤j≤k;
否则,如果(仅当前编码块的左侧编码块已编码),则
Pred_t_y(i,j)=g_yleft(i,j),1≤i≤k、1≤j≤k;
否则,如果(仅当前编码块的上侧编码块已编码),则
Pred_t_y(i,j)=g_yup(i,j),1≤i≤k、1≤j≤k;
否则,Pred_t_y(i,j)=g_y128(i,j),1≤i≤k、1≤j≤k;
其中,Pred_t_y(i,j)表示t_y(i,j)的变换域预测值;g_yleft(i,j)表示当前编码块左侧编码块的变换域信息块第i行第j列的亮度重构值;g_yup(i,j)表示当前编码块上侧编码块的变换域信息块第i行第j列的亮度重构值;g_yleft_up(i,j):表示当前编码块左上侧编码块的变换域信息块第i行第j列的亮度重构值;g_yright_up(i,j):表示当前编码块右上侧编码块的变换域信息块第i行第j列的亮度重构值;所有编码端预测块(当前编码块左侧编码块、当前编码块上侧编码块、当前编码块左上侧编码块、当前编码块右上侧编码块)和当前编码块的尺寸一样,都是(k)x(k); 表示由(k)x(k)个等
于128的值构成的矩阵,称为基本空间域信息块;
表示基本变换域信息块;
t_y128(i,j):表示基本变换域信息块第i行第j列的亮度值;
表示基本变换域信息块的重构块;
即对基本变换域信息块进行量化操作,获取的就是基本变换域信息块的重构块;
g_y128(i,j)是对t_y128(i,j)进行量化后获取的基本变换域信息块的重构块第i行第j列的重构值。
所述“中间帧内预测”具体实现方法为:对当前处理对象,求取用第二预测模式组进行变换域帧内预测的五个误差。
所述“对这number个数据中的每一个数据利用第二预测模式组分别进行中间帧内预测”具体为:对number个数据中每一个数据依次进行一次“中间帧内预测”(此时每一个数据就是一次“中间帧内预测”中的处理对象),求取number个数据中每一个数据的对应的五个预测误差。
所述“然后再对当前编码块的变换域信息块中余下所有数据利用第二预测模式组统一进行中间帧内预测”具体为:对余下所有数据进行一次“中间帧内预测”(此时余下所有数据就是“中间帧内预测”中的处理对象),求取余下所有数据对应的五个预测误差。
当前编码块的变换域信息块数据包括所述number个数据和所述余下所有数据;
S304:在所述变换域信息块的每一种预测模式组合下(即每一种所述number个数据和所述余下数据预测模式组合),累加当前编码块所有变换域信息块对应的预测误差,作为当前编码块在该种预测模式组合下的帧内预测误差。
所述每一种预测模式组合包括一种number个数据的预测模式和一种余下数据的预测模式;所述“一种number个数据的预测模式”中,所述number个数据中每个数据可采用所述第二预测模式组五种模式中的任意一种,所述number个数据中每个数据采用的模式可相同也可不同,所述余下数据也可采用所述第二预测模式组五种模式中的任意一种。
例如:假设number=3,所述number个数据分别为a、b、c,所述余下数据为d;其中一种预测模式组合为:“a在模式一+b在模式三+c在模式四”+d在模式二;a、b、c三个数据可分别采用所述五种模式中的任意一种,d数据也可采用所述五种模式中的任意一种。
S305:对当前编码块进行RDO(率失真优化,Rate DistortionOptimization)获取最佳帧内预测模式,完成当前编码块的变换域帧内预测。
实施例6
图10是本发明优选实施例6一种亮度变换域帧内预测解码方法流程图;
基于实施例5的一种亮度变换域帧内预测编码方法,提出相应的一种亮度变换域帧内预测解码方法。该方法适用于帧内预测编码块的解码,所述方法包括以下步骤:
S401:对当前解码块的码流先进行熵解码、重排序。
S402:根据当前解码块的帧内预测模式,按第二预测模式组进行变换域帧内预测,获取当前解码块的变换域帧内预测值。
所述第二预测模式组包括以下五种模式:
模式一:变换域左侧预测模式
如果(当前解码块的左侧解码块已解码),则
Pred_t_ydec(i,j)=g_yleft(i,j),1≤i≤k、1≤j≤k;
否则 Pred_t_ydec(i,j)=g_y128(i,j),1≤i≤k、1≤j≤k;
模式二:变换域上侧预测模式
如果(当前解码块的上侧解码块已解码),则
Pred_t_ydec(i,j)=g_yup(i,j),1≤i≤k、1≤j≤k;
否则 Pred_t_ydec(i,j)=g_y128(i,j),1≤i≤k、1≤j≤k;
模式三:变换域左上侧预测模式
如果(当前解码块的左上侧解码块已解码),则
Pred_t_ydec(i,j)=g_yleft_up(i,j),1≤i≤k、1≤j≤k;
否则 Pred_t_ydec(i,j)=g_y128(i,j),1≤i≤k、1≤j≤k;
模式四:变换域右上侧预测模式
如果(当前解码块的右上侧解码块已解码),则
Pred_t_ydec(i,j)=g_yright_up(i,j),1≤i≤k、1≤j≤k;
否则 Pred_t_ydec(i,j)=g_y128(i,j),1≤i≤k、1≤j≤k;
模式五:变换域混合预测模式
如果(当前解码块的上侧解码块和左侧解码块都已解码),则
Pred_t_ydec(i,j)=(g_yleft(i,j)+g_yup(i,j))/2,1≤i≤k、1≤j≤k;
否则,如果(仅当前解码块的左侧解码块已解码),则
Pred_t_ydec(i,j)=g_yleft(i,j),1≤i≤k、1≤j≤k;
否则,如果(仅当前解码块的上侧解码块已解码),则
Pred_t_ydec(i,j)=g_yup(i,j),1≤i≤k、1≤j≤k;
否则,Pred_t_ydec(i,j)=g_y128(i,j),1≤i≤k、1≤j≤k;
其中,Pred_t_ydec(i,j)表示当前解码块的变换域信息块第i行第j列的亮度值的变换域预测值;g_yleft(i,j)表示当前解码块左侧解码块的变换域信息块第i行第j列的亮度重构值;g_yup(i,j)表示当前解码块上侧解码块的变换域信息块第i行第j列的亮度重构值;g_yleft_up(i,j)表示当前解码块左上侧解码块的变换域信息块第i行第j列的亮度重构值;g_yright_up(i,j):表示当前解码块右上侧解码块的变换域信息块第i行第j列的亮度重构值;所有解码端预测块(当前解码块左侧解码块、当前解码块上侧解码块、当前解码块左上侧解码块、当前解码块右上侧解码块)和当前解码块的尺寸一样,都是(k)x(k);
表示由(k)x(k)个等于128的值构成的矩阵,称为基本空间域信息块;
表示基本变换域信息块;
t_y128(i,j)表示基本变换域信息块第i行第j列的亮度值;
表示基本变换域信息块的重构块;
即对基本变换域信息块进行量化操作,获取的就是基本变换域信息块的重构块;
g_y128(i,j)是对t_y128(i,j)进行量化后获取的基本变换域信息块的重构块第i行第j列的重构值。
S403:将当前解码块的变换域帧内预测值与S401中获取的当前解码块重排序后的数据累加,获取当前解码块的变换域重构值。
S404:对当前解码块的变换域重构值进行反量化、然后再进行反变换,获取当前解码块的空间域重构值。
S405:当前解码块的空间域重构值进行滤波,完成当前解码块的解码。
实施例7
图11是本发明优选实施例7一种亮度变换域帧内预测编码系统结构图;
所述系统包括:变换域信息块获取模块、量化模块、第二变换域帧内预测装置、帧内预测误差计算模块、最佳帧内预测模式获取模块;
变换域信息块获取模块,用于对当前编码块的空间域信息块进行变换,获取当前编码块的变换域信息块;
量化模块,用于对当前编码块的变换域信息块进行量化;
第二变换域帧内预测装置,用于对当前编码块的变换域信息块进行分类,每一类数据按照第二预测模式组变换域帧内预测;
帧内预测误差计算模块,用于在所述当前编码块的变换域信息块的每一种预测模式组合下,累加当前编码块所有变换域信息块对应的预测误差,作为当前编码块在该种预测模式组合下的帧内预测误差;
最佳帧内预测模式获取模块,用于对当前编码块进行率失真优化获取最佳帧内预测模式。
进一步地,所述“对当前编码块的空间域信息块进行变换,获取当前编码块的变换域信息块”具体为:
其中, 表示变换矩阵,c(ic,jc)为变换矩阵第ic行第jc列的数值,1≤ic≤k,1≤jc≤k,CT表示变换矩阵的转置矩阵;变换矩阵可以根据不同编码器的变换模块来选择,例如H.264中的DCT变换矩阵;
表示当前编码块的空间域信息块;y(i,j)表示当前编码块的空间域信息块第i行第j列的亮度值,1≤i≤k、1≤j≤k;
表示当前编码块的变换域信息块;t_y(i,j)表示当前编码块的变换域信息块第i行第j列的亮度值,1≤i≤k、1≤j≤k;t_y(i,j)是y(i,j)经过变换以后,获取的当前编码块的变换域信息块第i行第j列的亮度值。
进一步地,所述第二变换域帧内预测装置还包括:number初始值模块、查找模块、第二中间帧内预测模块;(图12是图11编码系统中第二变换域帧内预测装置的详细结构图)
number初始值模块,用于确定初始值number;number表示当前编码块的变换域信息块最多进行帧内预测寻优次数,由编码器自行设置,number初始值越大,计算量越大,性能相应提升也越多,一般number≤k*k/2。
查找模块,用于找到当前编码块的变换域信息块中值最大的number个数据;
第二中间帧内预测模块,用于对所述number个数据中的每一个数据利用第二预测模式组分别进行中间帧内预测;然后再对当前编码块的变换域信息块中余下所有数据利用第二预测模式组统一进行中间帧内预测;
其中,第二预测模式组具体包括如下模式:
模式一:变换域左侧预测模式
如果(当前编码块的左侧编码块已编码),则
Pred_t_y(i,j)=g_yleft(i,j),1≤i≤k、1≤j≤k;
否则 Pred_t_y(i,j)=g_y128(i,j),1≤i≤k、1≤j≤k;
模式二:变换域上侧预测模式
如果(当前编码块的上侧编码块已编码),则
Pred_t_y(i,j)=g_yup(i,j),1≤i≤k、1≤j≤k;
否则 Pred_t_y(i,j)=g_y128(i,j),1≤i≤k、1≤j≤k;
模式三:变换域左上侧预测模式
如果(当前编码块的左上侧编码块已编码),则
Pred_t_y(i,j)=g_yleft_up(i,j),1≤i≤k、1≤j≤k;
否则 Pred_t_y(i,j)=g_y128(i,j),1≤i≤k、1≤j≤k;
模式四:变换域右上侧预测模式
如果(当前编码块的右上侧编码块已编码),则
Pred_t_y(i,j)=g_yright_up(i,j),1≤i≤k、1≤j≤k;
否则 Pred_t_y(i,j)=g_y128(i,j),1≤i≤k、1≤j≤k;
模式五:变换域混合预测模式
如果(当前编码块的上侧编码块和左侧编码块都已编码),则
Pred_t_y(i,j)=(g_yleft(i,j)+g_yup(i,j))/2,1≤i≤k、1≤j≤k;
否则,如果(仅当前编码块的左侧编码块已编码),则
Pred_t_y(i,j)=g_yleft(i,j),1≤i≤k、1≤j≤k;
否则,如果(仅当前编码块的上侧编码块已编码),则
Pred_t_y(i,j)=g_yup(i,j),1≤i≤k、1≤j≤k;
否则,Pred_t_y(i,j)=g_y128(i,j),1≤i≤k、1≤j≤k;
其中,Pred_t_y(i,j)表示t_y(i,j)的变换域预测值;g_yleft(i,j)表示当前编码块左侧编码块的变换域信息块第i行第j列的亮度重构值;g_yup(i,j)表示当前编码块上侧编码块的变换域信息块第i行第j列的亮度重构值;g_yleft_up(i,j):表示当前编码块左上侧编码块的变换域信息块第i行第j列的亮度重构值;g_yright_up(i,j):表示当前编码块右上侧编码块的变换域信息块第i行第j列的亮度重构值;所有编码端预测块(当前编码块左侧编码块、当前编码块上侧编码块、当前编码块左上侧编码块、当前编码块右上侧编码块)和当前编码块的尺寸一样,都是(k)x(k); 表示由(k)x(k)个等
于128的值构成的矩阵,称为基本空间域信息块;
表示基本变换域信息块;
t_y128(i,j):表示基本变换域信息块第i行第j列的亮度值;
表示基本变换域信息块的重构块;
即对基本变换域信息块进行量化操作,获取的就是基本变换域信息块的重构块;
g_y128(i,j)是对t_y128(i,j)进行量化后获取的基本变换域信息块的重构块第i行第j列的重构值。
所述“中间帧内预测”具体实现方法为:对当前处理对象,求取用第二预测模式组进行变换域帧内预测的五个误差。
所述“对这number个数据中的每一个数据利用第二预测模式组分别进行中间帧内预测”具体为:对number个数据中每一个数据依次进行一次“中间帧内预测”(此时每一个数据就是一次“中间帧内预测”中的处理对象),求取number个数据中每一个数据的对应的五个预测误差。
所述“然后再对当前编码块的变换域信息块中余下所有数据利用第二预测模式组统一进行中间帧内预测”具体为:对余下所有数据进行一次“中间帧内预测”(此时余下所有数据就是“中间帧内预测”中的处理对象),求取余下所有数据对应的五个预测误差。
当前编码块的变换域信息块数据包括所述number个数据和所述余下所有数据;
进一步地,帧内预测误差计算模块中,所述每一种预测模式组合包括一种number个数据的预测模式和一种余下数据的预测模式;所述“一种number个数据的预测模式”中,所述number个数据中每个数据可采用所述第二预测模式组五种模式中的任意一种,所述number个数据中每个数据采用的模式可相同也可不同,所述余下数据也可采用所述第二预测模式组五种模式中的任意一种。
实施例8
图13是本发明优选实施例8一种亮度变换域帧内预测解码系统结构图;所述系统包括:熵解码模块、重排序模块、第二解码块变换域帧内预测值获取模块、解码块变换域重构值获取模块、解码块空间域重构值获取模块、滤波模块。
熵解码模块,用于对当前解码块的码流进行熵解码;
重排序模块,用于对熵解码后的当前解码块的码流进行重排序;
第二解码块变换域帧内预测值获取模块,用于根据当前解码块的帧内预测模式,按第二预测模式组进行变换域帧内预测,获取当前解码块的变换域帧内预测值;
解码块变换域重构值获取模块,用于将当前解码块的变换域帧内预测值与重排序模块中重排序后的当前解码块的码流数据累加,获取当前解码块的变换域重构值。
解码块空间域重构值获取模块,用于对当前解码块的变换域重构值进行反量化,再进行反变换,获取当前解码块的空间域重构值;
滤波模块,用于对当前解码块的空间域重构值进行滤波,完成当前解码块的解码。
进一步地,所述第二预测模式组包括以下模式:
模式一:变换域左侧预测模式
如果(当前解码块的左侧解码块已解码),则
Pred_t_ydec(i,j)=g_yleft(i,j),1≤i≤k、1≤j≤k;
否则 Pred_t_ydec(i,j)=g_y128(i,j),1≤i≤k、1≤j≤k;
模式二:变换域上侧预测模式
如果(当前解码块的上侧解码块已解码),则
Pred_t_ydec(i,j)=g_yup(i,j),1≤i≤k、1≤j≤k;
否则 Pred_t_ydec(i,j)=g_y128(i,j),1≤i≤k、1≤j≤k;
模式三:变换域左上侧预测模式
如果(当前解码块的左上侧解码块已解码),则
Pred_t_ydec(i,j)=g_yleft_up(i,j),1≤i≤k、1≤j≤k;
否则 Pred_t_ydec(i,j)=g_y128(i,j),1≤i≤k、1≤j≤k;
模式四:变换域右上侧预测模式
如果(当前解码块的右上侧解码块已解码),则
Pred_t_ydec(i,j)=g_yright_up(i,j),1≤i≤k、1≤j≤k;
否则 Pred_t_ydec(i,j)=g_y128(i,j),1≤i≤k、1≤j≤k;
模式五:变换域混合预测模式
如果(当前解码块的上侧解码块和左侧解码块都已解码),则
Pred_t_ydec(i,j)=(g_yleft(i,j)+g_yup(i,j))/2,1≤i≤k、1≤j≤k;
否则,如果(仅当前解码块的左侧解码块已解码),则
Pred_t_ydec(i,j)=g_yleft(i,j),1≤i≤k、1≤j≤k;
否则,如果(仅当前解码块的上侧解码块已解码),则
Pred_t_ydec(i,j)=g_yup(i,j),1≤i≤k、1≤j≤k;
否则,Pred_t_ydec(i,j)=g_y128(i,j),1≤i≤k、1≤j≤k;
其中,Pred_t_ydec(i,j)表示当前解码块的变换域信息块第i行第j列的亮度值的变换域预测值;g_yleft(i,j)表示当前解码块左侧解码块的变换域信息块第i行第j列的亮度重构值;g_yup(i,j)表示当前解码块上侧解码块的变换域信息块第i行第j列的亮度重构值;g_yleft_up(i,j)表示当前解码块左上侧解码块的变换域信息块第i行第j列的亮度重构值;g_yright_up(i,j):表示当前解码块右上侧解码块的变换域信息块第i行第j列的亮度重构值;所有解码端预测块(当前解码块左侧解码块、当前解码块上侧解码块、当前解码块左上侧解码块、当前解码块右上侧解码块)和当前解码块的尺寸一样,都是(k)x(k);
表示由(k)x(k)个等于128的值构成的矩阵,称为基本空间域信息块;
表示基本变换域信息块;
t_y128(i,j)表示基本变换域信息块第i行第j列的亮度值;
表示基本变换域信息块的重构块;
即对基本变换域信息块进行量化操作,获取的就是基本变换域信息块的重构块;
g_y128(i,j)是对t_y128(i,j)进行量化后获取的基本变换域信息块的重构块第i行第j列的重构值。
本发明公开一种亮度变换域帧内预测编解码方法和系统,属于视频编解码领域。本发明方法利用变换域的高聚能性和当前编码块与邻近已编码块的相关性对变换域信息块进行变换域帧内预测,消除帧内信息的冗余度;其中编码流程粗略的可以分为“预测、变换、量化、重排序、熵编码等”模块,所使用的变换正是后续编码流程“变换模块”的变换方法,不额外增加计算量,并且由于变换域相比较于空间域具有高聚能性的特点,本发明可达到在帧内预测性能上的提升。
本领域的普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序指令相关硬件来完成的,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质可以为ROM、RAM、磁盘、光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。