CN102281435B - 编码方法、解码方法、编码装置、解码装置及编解码系统 - Google Patents
编码方法、解码方法、编码装置、解码装置及编解码系统 Download PDFInfo
- Publication number
- CN102281435B CN102281435B CN 201010205093 CN201010205093A CN102281435B CN 102281435 B CN102281435 B CN 102281435B CN 201010205093 CN201010205093 CN 201010205093 CN 201010205093 A CN201010205093 A CN 201010205093A CN 102281435 B CN102281435 B CN 102281435B
- Authority
- CN
- China
- Prior art keywords
- coding
- prediction direction
- transcoding
- matrix
- transformation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Abstract
本发明实施例公开了一种编码方法、解码方法、编码装置、解码装置及编解码系统,用于提高编码性能。本发明实施例方法包括:对输入的视频数据进行处理得到残差信号;获取所述残差信号的残差纹理预测方向;根据预置准则从所述视频数据对应的候选变换矩阵中选择编码变换矩阵;若所述残差纹理预测方向与所述编码变换矩阵的方向不一致,则采用所述编码变换矩阵对所述残差信号进行变换得到变换结果;对所述变换结果以及所述编码变换矩阵的索引进行编码得到编码流。本发明实施例还提供一种解码方法、解码装置以及编解码系统。本发明实施例能够有效提高编码性能。
Description
技术领域
本发明涉及通信领域,尤其涉及一种编码方法、解码方法、编码装置、解码装置及编解码系统。
背景技术
视频技术在现代生活中得到了广泛的应用,一般来说,为了提高视频质量或减少视频体积,常常需要对视频进行编解码。
现有的混合编码框架下的编解码流程大致为:
在编码端,视频信号首先会经过预测模块,编码器依照一定的最优化准则从若干种预测模式中选择最佳的一种,然后生成残差信号;残差信号经过变换量化后进入熵编码模块,并最终形成输出码流;
在解码端,首先从码流中解析出预测模式信息,生成与编码端完全一致的预测信号;接着解析出码流中已经量化过的变换系数值,进行反量化与反变换,生成重构残差信号;最后用预测信号与重建残差信号合成出重构视频信号。
在混合编码框架下,引入了变换这一过程,变换的作用是通过对残差块进行某种线性运算,将残差变换为另外一种表达形式,并且在这种表达形式下,数据的能量集中在少数的几个变换系数上,其余大部分的系数的能量很低或者为零,从而提高熵编码的性能。
现有技术中基于变换的一种视频编码方式的大致思想为:
1)通过帧内预测后,在预测方向上依然存在最强的残差,变换应该根据预测方向的不同,针对性地进行设计;
2)对每个预测方向,为了求得其最佳的变换矩阵,首先编码一些标准视频序列,记录每个预测方向的残差数据,然后再根据最优变换的准则,利用这些残差数据训练得到一组最佳的变换矩阵;
3)按照获取得到的最佳的变换矩阵进行编码。
上述技术方案中,对于每个预测方向,都需要求得其最佳的变换矩阵,而每个预测方向都与一个变换矩阵存在绑定的关系,只有当预测方向与变换矩阵的方向一致时,该变换矩阵才是该预测方向的最佳变换矩阵,但是,在实际应用中,预测方向和变换矩阵方向却常常不一致,所以当预测方向和变换矩阵方向不一致时,在某些预测方向无法求得最佳变换矩阵,因此该方案并不能适用于这种情况,从而影响了编码性能。
发明内容
本发明实施例提供了一种编码方法、解码方法、编码装置、解码装置及编解码系统,能够提高编码性能。
本发明实施例提供的编码方法,包括:对输入的视频数据进行处理得到残差信号;获取所述残差信号的残差纹理预测方向;根据预置准则从所述视频数据对应的候选变换矩阵中选择编码变换矩阵;若所述残差纹理预测方向与所述编码变换矩阵的方向不一致,则采用所述编码变换矩阵对所述残差信号进行变换得到变换结果,对所述编码变换矩阵的索引进行编码得到编码结果;对所述变换结果以及所述编码结果进行编码得到编码流。
本发明实施例提供的解码方法,包括:对接收到的编码流进行解析,得到变换结果;若对所述编码流进行解析还得到编码变换矩阵的索引,则根据所述编码变换矩阵的索引从候选变换矩阵中选取解码变换矩阵;采用所述解码变换矩阵对所述变换结果进行反变换得到残差信号,根据所述残差信号重建视频数据。
本发明实施例提供的编码装置,包括:残差处理单元,用于对输入的视频数据进行处理得到残差信号;获取单元,用于获取所述残差信号的残差纹理预测方向;矩阵选取单元,用于根据预置准则从所述视频数据对应的候选变换矩阵中选择编码变换矩阵;方向比较单元,用于判断所述残差纹理预测方向与所述编码变换矩阵的方向是否一致,若不一致,则触发索引编码单元以及变换单元执行相应操作;索引编码单元,用于对所述编码变换矩阵的索引进行编码得到编码结果;变换单元,用于采用所述编码变换矩阵对所述残差信号进行变换得到变换结果;数据编码单元,用于对所述变换结果以及所述编码结果进行编码得到编码流。
本发明实施例提供的解码装置,包括:解析单元,用于对接收到的编码流进行解析,得到变换结果;索引解码单元,用于当所述解析单元对所述编码流进行解析得到编码变换矩阵的索引时,根据所述编码变换矩阵的索引从候选变换矩阵中选取解码变换矩阵;反变换单元,用于采用所述解码变换矩阵对所述变换结果进行反变换得到残差信号;重建单元,用于根据所述残差信号重建视频数据。
本发明实施例提供的编解码系统,包括:编码装置以及解码装置。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例中,在获得残差信号之后,可以根据预置准则从视频数据对应的候选变换矩阵中选择编码变换矩阵,并采用编码变换矩阵对残差信号进行变换,并对编码变换矩阵的索引进行编码,所以无需考虑残差纹理预测方向和变换矩阵的方向之间的关系,本发明实施例的方案均能有效适用,从而提高了编码性能。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中编码方法一个实施例示意图;
图2为本发明实施例中编码方法另一实施例示意图;
图3为本发明实施例中解码方法一个实施例示意图;
图4为本发明实施例中解码方法另一实施例示意图;
图5为本发明实施例中编码过程流程图;
图6为本发明实施例中解码过程流程图;
图7为本发明实施例中的编码装置实施例示意图;
图8为本发明实施例中的解码装置实施例示意图;
图9为本发明实施例中的编解码系统实施例示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种编码方法、解码方法、编码装置、解码装置及编解码系统,能够提高编码性能。
请参阅图1,本发明实施例中编码方法一个实施例包括:
101、对输入的视频数据进行处理得到残差信号;
当需要对视频数据进行编码时,首先会对输入的视频数据进行处理得到残差信号,具体的过程为本领域技术人员的公知常识,此处不作限定。
102、获取残差信号的残差纹理预测方向;
得到残差信号之后,可以获取该残差信号的残差纹理预测方向。
103、根据预置准则从视频数据对应的候选变换矩阵中选择编码变换矩阵;
本实施例中,候选变换矩阵可以在方案执行前就预先设置,具体可以是在视频数据的训练过程中,根据开销均衡的原则确定使用一个候选变换矩阵,或者确定使用若干个候选变换矩阵。
一般来说,候选变换矩阵越多,则编解码开销越大,候选变换矩阵越少,则编解码开销越小。
需要说明的是,本实施例中,步骤102与步骤103之间并没有顺序关系,可以先执行步骤102,也可以先执行步骤103,还可以同时执行步骤102以及步骤103,具体此处不作限定。
104、若残差纹理预测方向与编码变换矩阵的方向不一致,则采用编码变换矩阵对残差信号进行变换得到变换结果,对编码变换矩阵的索引进行编码得到编码结果;
当残差纹理预测方向与编码变换矩阵的方向不一致的时候,可以采用编码变换矩阵对残差信号进行变换得到变换结果,并且需要对编码变换矩阵的索引进行编码得到编码结果。
105、对变换结果以及编码结果进行编码得到编码流。
当完成变换以及编码的操作后,即可对前述得到的变换结果以及编码结果进行编码得到编码流,至此完成视频数据的编码过程。
本发明实施例中,在获得残差信号之后,可以根据预置准则从视频数据对应的候选变换矩阵中选择编码变换矩阵,并采用编码变换矩阵对残差信号进行变换,并对编码变换矩阵的索引进行编码,所以无需考虑残差纹理预测方向和变换矩阵的方向之间的关系,本发明实施例的方案均能有效适用,从而提高了编码性能。
为便于理解,下面以一具体实例对本发明实施例中的编码方法进行详细描述,请参阅图2,本发明实施例中的编码方法另一实施例包括:
201、对输入的视频数据进行处理得到残差信号;
本步骤与前述图1所示的实施例中的步骤101相同,此处不再赘述。
202、获取残差信号的残差纹理预测方向;
得到残差信号之后,可以获取该残差信号的残差纹理预测方向。
具体的获取方式可以包括复用帧内预测方式以及空域预测方式:
复用帧内预测具体可以为:将视频数据的宏块或者宏块内的每一个子块的帧内预测方向作为残差纹理的预测方向。
空域预测具体可以为:在视频数据中的待编码宏块或子块的上块、左块、左上块与右上块中,若没有哪个块的帧内预测方向与其变换矩阵所对应的方向一致,或有两个以上的块的帧内预测方向与其变换矩阵所对应的方向一致,则将帧内预测方向作为残差纹理预测方向;若只有一个块的帧内预测方向与其变换矩阵所对应的方向一致,则以该块的帧内预测方向作为残差纹理预测方向。
需要说明的是,上述仅以两个例子对本实施例中的获取残差信号的残差纹理预测方向的过程进行了描述,可以理解的是,在实际应用中,还可以采用其他的方式获取残差信号的残差纹理预测方向,具体此处不作限定。
203、根据预置准则从视频数据对应的候选变换矩阵中选择编码变换矩阵;
本步骤与前述图1所示的实施例中的步骤103相同,此处不再赘述。
本实施例中的预置准则在实际应用中可以为率失真(RDO,Rate DistortionOptimization)准则,可以理解的是,同样可以为其他的最优化准则,具体此处不作限定。
需要说明的是,本实施例中,步骤202与步骤203之间并没有顺序关系,可以先执行步骤202,也可以先执行步骤203,还可以同时执行步骤202以及步骤203,具体此处不作限定。
204、判断残差纹理预测方向与编码变换矩阵方向是否一致,若是,则执行步骤208,若否,则执行步骤205;
当选择到编码变换矩阵之后,可以判断该编码变换矩阵的方向与步骤202中获取到的残差纹理预测方向是否一致。
205、对编码变换矩阵的索引进行编码得到编码结果;
本实施例中,当确定残差纹理预测方向与编码变换矩阵方向不一致,则需要在最终的编码流中携带对编码变换矩阵的索引编码后的信息。
本实施例中可以采用两种方式对编码变换矩阵的索引进行编码:
一、定长编码:使用定长码对编码变换矩阵的索引进行编码得到编码结果。
二、变长编码:计算编码变换矩阵的索引与残差纹理预测方向的索引在空间域的差值;使用变长码对该差值进行编码得到编码结果。
需要说明的是,本实施例中对编码变换矩阵的索引进行编码的过程可以根据周边重构块的变换选择或帧内预测方向的选择来确定,这样可以达到更好的编码性能,例如在为编码索引建立上下文编码模型的时候,使其以更大的概率选择与周边重构块相同的变换类型。
上述仅以两个例子对本实施例中的对编码变换矩阵的索引进行编码的过程进行了描述,可以理解的是,在实际应用中,还可以采用其他的方式对编码变换矩阵的索引进行编码,具体此处不作限定。
206、采用编码变换矩阵对残差信号进行变换得到变换结果;
本实施例中,具体的变换过程为本领域技术人员的公知常识,此处不作限定。
需要说明的是,本实施例中的步骤205以及206没有先后顺序,可以先执行步骤205,也可以先执行步骤206,还可以同时执行步骤205以及206。
207、对变换结果以及编码结果进行编码得到编码流,并结束流程;
当得到变换结果以及编码结果之后,可以对该变换结果以及编码结果进行编码得到编码流,从而完成视频数据的编码过程。
208、采用编码变换矩阵对残差信号进行变换得到变换结果;
本实施例中,当确定残差纹理预测方向与编码变换矩阵方向一致,则可以采用编码变换矩阵对残差信号进行变换得到变换结果。
本实施例中,具体的变换过程为本领域技术人员的公知常识,此处不作限定。
209、对变换结果进行编码得到编码流。
当得到变换结果之后,可以对该变换结果进行编码得到编码流,从而完成视频数据的编码过程。
本实施例中,在获得残差信号之后,可以根据RDO准则从视频数据对应的候选变换矩阵中选择编码变换矩阵,当残差纹理预测方向与编码变换矩阵的方向不一致时,仍然可以采用编码变换矩阵对残差信号进行变换,并对编码变换矩阵的索引进行编码,所以无需残差纹理预测方向和变换矩阵的方向保持一致,因此,无论残差纹理预测方向与变换矩阵的方向是否一致,本实施例的方案均能有效适用,从而提高了编码性能;
其次,当残差纹理预测方向与变换矩阵的方向一致时,只需要对变换结果进行编码得到编码流,而无需对编码变换矩阵的索引进行编码,所以减少了编码量,进一步提高了编码性能。
上面对本发明实施例中的编码方法实施例进行了描述,相应的,下面对本发明实施例中的解码方法进行描述,请参阅图3,本发明实施例中的解码方法包括:
301、对接收到的编码流进行解析;
本实施例中,当解码装置接收到编码流之后,会对该编码流进行解析得到变换结果。
如果在编码时,残差纹理预测方向与变换矩阵的方向一致,则该编码流中不会包含编码变换矩阵的索引;
如果在编码时,残差纹理预测方向与变换矩阵的方向不一致,则该编码流中会包含编码变换矩阵的索引。
302、根据编码变换矩阵的索引从候选变换矩阵中选取解码变换矩阵;
若在对编码流进行解析时得到了编码变换矩阵的索引,则说明在编码时,残差纹理预测方向与变换矩阵的方向不一致,则可以根据该编码变换矩阵的索引从候选变换矩阵中选取解码变换矩阵。
本实施例中所描述的候选变换矩阵与前述图1以及图2所示的实施例中描述的候选变换矩阵的含义一致,此处不再赘述。
303、采用解码变换矩阵对变换结果进行反变换得到残差信号;
当选取了解码变换矩阵之后,即可采用该解码变换矩阵对步骤301中解析得到的变换结果进行反变换得到残差信号。
304、根据残差信号重建视频数据。
本实施例中,步骤303以及304均为本领域技术人员的公知常识,具体过程此处不作限定。
本实施例中的解码方法能够配合前述图1以及图2所示的实施例中的编码方法,可以完成视频数据的编解码过程,提高在编码过程中的编码性能。
为便于理解,下面以一具体实例对本发明实施例中的解码方法进行详细描述,请参阅图4,本发明实施例中的解码方法另一实施例包括:
401、对接收到的编码流进行解析;
本实施例中,当解码装置接收到编码流之后,会对该编码流进行解析得到变换结果。
如果在编码时,残差纹理预测方向与变换矩阵的方向一致,则该编码流中不会包含编码变换矩阵的索引;
如果在编码时,残差纹理预测方向与变换矩阵的方向不一致,则该编码流中会包含编码变换矩阵的索引。
402、判断残差纹理预测方向与变换矩阵的方向是否一致,若一致,则执行步骤404,若不一致,则执行步骤403;
本实施例中,若编码流中不包含编码变换矩阵的索引,则说明在编码时,残差纹理预测方向与变换矩阵的方向一致,若编码流中包含编码变换矩阵的索引,则说明在编码时,残差纹理预测方向与变换矩阵的方向不一致。
403、根据编码变换矩阵的索引选择解码变换矩阵,之后执行步骤405;
当编码流中包含编码变换矩阵的索引时,可以根据该编码变换矩阵的索引从候选变换矩阵中选取解码变换矩阵。
具体的方式可以包括以下几种情况:
一、定长解码:使用定长码对所述编码变换矩阵的索引进行解码得到解码结果,从候选变换矩阵中选取解码结果对应的解码变换矩阵。
二、变长解码:使用变长码对所述编码变换矩阵的索引与预置的残差纹理预测方向在空间域的差值进行解码得到解码结果,从候选变换矩阵中选取解码结果对应的解码变换矩阵。
需要说明的是,上述仅以两个例子对本实施例中的选择解码变换矩阵的过程进行了描述,可以理解的是,在实际应用中,还可以采用其他的方式选择解码变换矩阵,具体此处不作限定。
404、根据残差纹理预测方向选择解码变换矩阵;
当编码流中不包含编码变换矩阵的索引时,可以根据残差纹理预测方向从候选变换矩阵中选取解码变换矩阵,即选择该残差纹理预测方向对应的解码变换矩阵。
需要说明的是,本实施例中的残差纹理预测方向可以在对编码流进行解析时得到,也可以预置在解码装置本地。
405、采用解码变换矩阵对变换结果进行反变换得到残差信号;
当步骤403或404选取了解码变换矩阵之后,即可采用该解码变换矩阵对步骤401中解析得到的变换结果进行反变换得到残差信号。
406、根据残差信号重建视频数据。
本实施例中,步骤405以及406均为本领域技术人员的公知常识,具体过程此处不作限定。
本实施例中的解码方法能够配合前述图1以及图2所示的实施例中的编码方法,可以完成视频数据的编解码过程,提高在编码过程中的编码性能。
为便于理解,下面以一具体应用场景对本发明实施例中的编码过程以及解码过程进行详细描述,请参阅图5,具体的编码过程包括:
501、编码H.264规定的宏块头信息;
502、编码用于表示候选变换矩阵数目的第一标志位;
本实施例中,该第一标志位用于表明待编码宏块(I16x16)或宏块内各子块(I8x8、I4x4)所使用的候选变换矩阵是一个还是多个,具体的候选变换矩阵的数目与前述图1以及图2中所描述的变换候选矩阵的含义相同,此处不再赘述。
503、判断候选矩阵数目是否为1,若是,则执行步骤511,若否,则执行步骤504;
504、获取帧内预测方向作为残差纹理预测方向;
本实施例中,如果该第一标志位表明使用的候选变换矩阵为多个,则可以通过复用帧内预测或空域预测的方式获取帧内预测方向作为残差纹理预测方向,具体与前述图2所示的实施例中描述的内容相同,此处不再赘述。
505、按照RDO准则从候选变换矩阵中选择编码变换矩阵;
本实施例中以RDO准则为例进行说明,在实际应用中,还可以使用其他的最优化准则,具体此处不作限定。
506、编码用于表示方向是否一致的第二标志位;
该第二标志位用于表明残差纹理预测方向与编码变换矩阵的方向是否一致。
507、判断残差纹理预测方向与编码变换矩阵的方向是否一致,若一致,则执行步骤508,若不一致,则执行步骤509;
508、以编码变换矩阵进行变换,并执行后续编码过程;
若残差纹理预测方向与编码变换矩阵的方向一致,则可以直接以编码变换矩阵进行变换,在变换完成后即可执行后续的编码过程,即对变换结果进行编码得到编码流。
509、对编码变换矩阵的索引进行编码得到编码结果;
510、以编码变换矩阵进行变换,并执行后续编码过程;
若残差纹理预测方向与编码变换矩阵的方向不一致,则可以对编码变换矩阵的索引进行编码得到编码结果,并以编码变换矩阵进行变换,在变换完成后即可执行后续的编码过程,即对变换结果以及索引编码后得到的编码结果进行编码得到编码流。
对索引的编码可以采用定长编码或变长编码,具体可以如前述图2所示的实施例中描述的编码方式,此处不再赘述。
511、以唯一的变换矩阵进行变换,并执行后续编码流程。
若候选变换矩阵为一个,则对于宏块或者宏块内每一个子块选择与残差纹理预测方向相对应的变换矩阵,进行变换操作,并完成后续编码流程,即对变换结果进行编码得到编码流。
请参阅图6,对应的解码过程包括:
601、解析H.264规定的宏块头信息;
602、解析用于表示候选变换矩阵数目的第一标志位;
本实施例中,该第一标志位用于表明待解码宏块(I16x16)或宏块内各子块(I8x8、I4x4)所使用的候选变换矩阵是一个还是多个,具体的候选变换矩阵的数目与前述图3以及图4中所描述的变换候选矩阵的含义相同,此处不再赘述。
603、判断候选矩阵数目是否为1,若是,则执行步骤610,若否,则执行步骤604;
604、获取残差纹理预测方向;
当对编码流进行解析后可以得到变换结果,同时还可能得到残差纹理预测方向,需要说明的是,残差纹理预测方向除了通过对编码流的解析得到之外,还可以从本地预置的信息中得到。
需要说明的是,当从本地预置的信息中得到残差纹理预测方向时,具体可以采用复用帧内预测或空域预测的方式获得,与前述图2所示的实施例中描述的内容相同,此处不再赘述。
605、解析用于表示方向是否一致的第二标志位;
该第二标志位用于表明残差纹理预测方向与编码变换矩阵的方向是否一致。
606、判断残差纹理预测方向与编码变换矩阵的方向是否一致,若是,则执行步骤607,若否,则执行步骤608;
需要说明的是,若在对编码流进行解析时获得了编码变换矩阵的索引,则说明残差纹理预测方向与编码变换矩阵的方向不一致,若在对编码流进行解析时未获得编码变换矩阵的索引,则说明残差纹理预测方向与编码变换矩阵的方向一致。
607、以残差纹理预测方向对应的解码变换矩阵进行反变换,并执行后续解码流程;
若残差纹理预测方向与编码变换矩阵的方向一致,则可以直接根据残差纹理预测方向从候选变换矩阵中查找对应的解码变换矩阵,并用该解码变换矩阵对解析得到的变换结果进行反变换得到残差信号,并通过该残差信号重建视频数据。
608、对编码变换矩阵的索引进行解码得到解码结果;
若残差纹理预测方向与编码变换矩阵的方向不一致,则需要对编码变换矩阵的索引进行解码得到解码结果,可以采用定长解码或变长解码的方式对编码变换矩阵的索引进行解码,具体过程与前述图4所示的实施例中描述的内容相同,此处不再赘述。
609、使用该解码结果对应的解码变换矩阵进行反变换,并执行后续解码流程;
确定了解码结果后,可以根据该解码结果从候选变换矩阵中查找对应的解码变换矩阵,该解码变换矩阵对解析得到的变换结果进行反变换得到残差信号,并通过该残差信号重建视频数据。
610、以唯一的变换矩阵进行反变换,并执行后续解码流程。
若候选变换矩阵为一个,则对于宏块或者宏块内每一个子块选择与残差纹理预测方向相对应的变换矩阵,进行反变换操作得到残差信号,并通过该残差信号重建视频数据。
当编码端采用复用帧内预测的方式获取残差纹理预测方向,且通过定长编码的方式对编码变换矩阵的索引进行编码时,可以对H.264视频编码标准的语法结构进行修改(仅以I8x8MB为例),修改后的语法结构如下表1所示:
表1
mb_type | 2 | ue(v)|ae(v) |
if(mb_type==I_NxN‖MbPartPredMode(mb_type,0)==Intra_16x16) | ||
multi-transform_flag | 2 | f(1)|ae(v) |
if(mb_type==I_PCM){......} | ||
if(CodedBlockPatternLuma>0‖CodedBlockPatternChroma>0‖ |
MbPartPredMode(mb_type,0)==Intra_16x16){ | ||
mb_qp_delta | se(v)|ae(v) | |
If(multi-transform_flag) | ||
{ | ||
If(MbPartPredMode(mb_type,0)==Intra_8x8) | ||
For(luma8x8BlkIdx=0;luma8x8BlkIdx<4;luma8x8BlokIdx++) | ||
{ | ||
transform_mode8x8_is_pred[luma8x8BlkIdx] | 2 | f(1)|ae(v) |
If(!transform_mode8x8_is_pred[luma8x8BlkIdx]) | ||
rem_transform_mode8x8[luma8x8BlkIdx] | 2 | u(3)|ae(v) |
} | ||
......} | ||
residual(0,0,15) | 3|4 | |
} | ||
} | ||
} |
上述表1中程序的含义如下表2所示:
表2
编码宏块类型 | 属于2类语法元素 | 使用上下文自适应算数编码或者无符号哥伦布码编码 |
如果宏块类型为16x16帧内编码块,或者NxN帧内编码块 | ||
编码是否使用多变换基标志 | 属于2类语法元素 | 使用1比特定长码或上下文自适应算数编码编码 |
其它类型帧内编码模式的编码过程(省略) | ||
如果需要编码残差信号或者为16x16帧内编码块{ | ||
编码宏块间量化参数差值 | 使用上下文自适应算数编码或者有符号哥伦布码编码 | |
如果使用多个变换基 | ||
{ | ||
如果编码8x8帧内编码块{ | ||
遍历4个8x8子块{ | ||
编码纹理预测方向与变换方向是否一致标志位 | 属于2类语法元素 | 使用1比特定长码或上下文自适应算数编码编码 |
如果编码纹理预测方向与变换方向不一致{ | ||
编码变换索引 | 属于2类语法元素 | 使用3比特无符号定长码或上下文自适应算数编码编码 |
} | ||
......} | ||
编码残差信号 | 属于3或4类语法元素 | |
} | ||
} |
} |
下面以具体的实验数据对本发明实施例中的编码方法的编码性能进行分析:
实验中使用KTA2.6r1为平台,并采用以下设置:全I帧编码,CABAC,每个序列都测试了4个QP点,分别为22,27,32,37。最后比较采用本方法的变换方案与采用依赖于预测模式的方向性变换(MDDT,Mode-DependentDirectional Transform)的变换方案的编码性能,计算相同峰值信噪比下的码率节省(BD-rate),具体的比较结果如下表3所示:
表3
序列名 | MDDT方案 | 本发明方案 |
ParkScene | -6.4% | -7.9% |
Kimonol | -7.2% | -7.6% |
Cactus | -6.3% | -7.6% |
BQTerrace | -5.1% | -5.9% |
BasketballDrive | -4.6% | -5.4% |
Vidyo1 | -8.0% | -8.4% |
Vidyo3 | -8.7% | -9.4% |
Vidyo4 | -6.9% | -7.4% |
从表3中可以看出,本发明的方案在各序列中,均比MDDT方案取得更好的编码性能。
同时,由于本发明实施例中的编码方案与序列的纹理特性密切相关,所以在高分辨率、中高码率时可以取得更好的性能,例如在1080P的视频数据编码过程中,实验条件同上,QP点分别为22,25,28,31,与MDDT相比,本发明实施例中的编码方法所能进一步带来的编码性能增益如下表4所示:
表4
ParkScene | Kimono | Cactus | BQTerrace | BasketballDrive | Avg |
BD-rate | -2.0% | -0.9% | -1.9% | -1.3% | -1.8% | -1.6% |
由上可知,本发明实施例中的编码方法可以在各种条件下均提高编码性能。
上面对本发明实施例中的编码过程以及解码过程进行了详细的描述,下面对本发明实施例中的相关装置进行描述,请参阅图7,本发明实施例中的编码装置包括:
残差处理单元701,用于对输入的视频数据进行处理得到残差信号;
获取单元702,用于获取所述残差信号的残差纹理预测方向;
矩阵选取单元703,用于根据预置准则从所述视频数据对应的候选变换矩阵中选择编码变换矩阵;
本实施例中的预置准则在实际应用中可以为RDO准则,可以理解的是,同样可以为其他的最优化准则,具体此处不作限定。
方向比较单元704,用于判断所述残差纹理预测方向与所述编码变换矩阵的方向是否一致,若不一致,则触发索引编码单元以及变换单元执行相应操作;
索引编码单元705,用于对所述编码变换矩阵的索引进行编码得到编码结果;
变换单元706,用于采用所述编码变换矩阵对所述残差信号进行变换得到变换结果;
数据编码单元707,用于对所述变换结果以及所述编码结果进行编码得到编码流。
其中,获取单元702获取残差信号的残差纹理预测方向的过程可以采用复用帧内预测的方式或空域预测的方式进行获取,具体过程与前述图2所示的实施例中描述的内容一致,此处不再赘述。
其中,索引编码单元705对编码变换矩阵的索引进行编码得到编码结果的过程可以采用定长编码或变长编码的方式,具体过程与前述图2所示的实施例中描述的内容一致,此处不再赘述。
其中,某些实施方式中,当方向比较单元704确定残差纹理预测方向与编码变换矩阵的方向一致时,变换单元706同样会采用编码变换矩阵对残差信号进行变换得到变换结果,此外,数据编码单元707会直接对该变换结果进行编码得到编码流。
本实施例中,在残差处理单元701获得残差信号之后,矩阵选取单元703可以根据预置准则从视频数据对应的候选变换矩阵中选择编码变换矩阵,当残差纹理预测方向与编码变换矩阵的方向不一致时,变换单元706仍然可以采用编码变换矩阵对残差信号进行变换,索引编码单元705对编码变换矩阵的索引进行编码,所以无需残差纹理预测方向和变换矩阵的方向保持一致,因此,无论残差纹理预测方向与变换矩阵的方向是否一致,本实施例的方案均能有效适用,从而提高了编码性能;
其次,当残差纹理预测方向与变换矩阵的方向一致时,数据编码单元707只需要对变换结果进行编码得到编码流,而无需对编码变换矩阵的索引进行编码,所以减少了编码量,进一步提高了编码性能。
请参阅图8,本发明实施例中的解码装置包括:
解析单元801,用于对接收到的编码流进行解析,得到变换结果;
索引解码单元802,用于当所述解析单元对所述编码流进行解析得到编码变换矩阵的索引时,根据所述编码变换矩阵的索引从候选变换矩阵中选取解码变换矩阵;
反变换单元803,用于采用所述解码变换矩阵对所述变换结果进行反变换得到残差信号;
重建单元804,用于根据所述残差信号重建视频数据。
本实施例中的解码装置还可以进一步包括:
方向解码单元805,用于当所述解析单元对所述编码流进行解析未得到编码变换矩阵的索引时,根据预置的残差纹理预测方向从候选变换矩阵中选取解码变换矩阵。
其中,解析单元801在对接收到的编码流进行解析时,除了可以得到变换结果之外,还可能得到残差纹理预测方向,若解析单元801未解析得到残差纹理预测方向,则该残差纹理预测方向可以从本地获取得到,获取方式可以包括复用帧内预测方式或空域预测方式,具体过程与前述图2所示的实施例中描述的预测方式相同,此处不再赘述。
索引解码单元802对编码变换矩阵的索引进行解码时可以采用定长解码或变长解码,具体过程与前述图4所示的实施例中描述的解码过程相同,此处不再赘述。
本实施例中的解码装置能够配合前述图7所示的实施例中的编码装置,可以完成视频数据的编解码过程,提高在编码过程中的编码性能。
本发明实施例还提供一种编解码系统,请参阅图9,本发明实施例中的编解码系统包括:编码装置901以及解码装置902;
其中,编码装置901可以是如图7所示的编码装置;
解码装置902可以是如图8所示的解码装置。
具体的各装置的内部结构以及功能此处不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上对本发明所提供的一种编码方法、解码方法、编码装置、解码装置及编解码系统进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (14)
1.一种编码方法,其特征在于,包括:
对输入的视频数据进行处理得到残差信号;
获取所述残差信号的残差纹理预测方向;
根据预置准则从所述视频数据对应的候选变换矩阵中选择编码变换矩阵;
若所述残差纹理预测方向与所述编码变换矩阵的方向不一致,则采用所述编码变换矩阵对所述残差信号进行变换得到变换结果,对所述编码变换矩阵的索引进行编码得到编码结果;
对所述变换结果以及所述编码结果进行编码得到编码流;
所述获取残差信号的残差纹理预测方向包括:
在所述视频数据中的待编码宏块或子块的上块、左块、左上块与右上块中,
若没有哪个块的帧内预测方向与其变换矩阵所对应的方向一致,或有两个以上的块的帧内预测方向与其变换矩阵所对应的方向一致,则将帧内预测方向作为残差纹理预测方向;
若只有一个块的帧内预测方向与其变换矩阵所对应的方向一致,则以该块的帧内预测方向作为残差纹理预测方向。
2.根据权利要求1所述的方法,其特征在于,所述对编码变换矩阵的索引进行编码得到编码结果包括:
使用定长码对所述编码变换矩阵的索引进行编码得到编码结果。
3.根据权利要求1所述的方法,其特征在于,所述对编码变换矩阵的索引进行编码得到编码结果包括:
计算所述编码变换矩阵的索引与所述残差纹理预测方向的索引在空间域的差值;
使用变长码对所述差值进行编码得到编码结果。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述残差纹理预测方向与所述编码变换矩阵的方向一致,则采用所述编码变换矩阵对所述残差信号进行变换得到变换结果;
对所述变换结果进行编码得到编码流。
5.一种解码方法,其特征在于,包括:
对接收到的编码流进行解析,得到变换结果;
若对所述编码流进行解析还得到编码变换矩阵的索引,则确定在编码时残差信号的残差纹理预测方向与变换矩阵的方向不一致,根据所述编码变换矩阵的索引从候选变换矩阵中选取解码变换矩阵;
采用所述解码变换矩阵对所述变换结果进行反变换得到残差信号,根据所述残差信号重建视频数据;
所述残差信号的残差纹理预测方向由编码装置通过如下方式获取得到:
在所述视频数据中的待编码宏块或子块的上块、左块、左上块与右上块中,
若没有哪个块的帧内预测方向与其变换矩阵所对应的方向一致,或有两个以上的块的帧内预测方向与其变换矩阵所对应的方向一致,则将帧内预测方向作为残差纹理预测方向;
若只有一个块的帧内预测方向与其变换矩阵所对应的方向一致,则以该块的帧内预测方向作为残差纹理预测方向。
6.根据权利要求5所述的方法,其特征在于,所述根据编码变换矩阵的索引从候选变换矩阵中选取解码变换矩阵包括:
对所述编码变换矩阵的索引进行解码得到解码结果;
从候选变换矩阵中选取所述解码结果对应的解码变换矩阵。
7.根据权利要求6所述的方法,其特征在于,所述对编码变换矩阵的索引进行解码得到解码结果包括:
使用定长码对所述编码变换矩阵的索引进行解码得到解码结果。
8.根据权利要求6所述的方法,其特征在于,所述对编码变换矩阵的索引进行解码得到解码结果包括:
使用变长码对所述编码变换矩阵的索引与预置的残差纹理预测方向在空间域的差值进行解码得到解码结果。
9.根据权利要求5至8中任一项所述的方法,其特征在于,
若对所述编码流进行解析未得到编码变换矩阵的索引,则根据预置的残差纹理预测方向从候选变换矩阵中选取解码变换矩阵;
采用所述解码变换矩阵对所述变换结果进行反变换得到残差信号,根据所述残差信号重建视频数据。
10.一种编码装置,其特征在于,包括:
残差处理单元,用于对输入的视频数据进行处理得到残差信号;
获取单元,用于获取所述残差信号的残差纹理预测方向;
矩阵选取单元,用于根据预置准则从所述视频数据对应的候选变换矩阵中选择编码变换矩阵;
方向比较单元,用于判断所述残差纹理预测方向与所述编码变换矩阵的方向是否一致,若不一致,则触发索引编码单元以及变换单元执行相应操作;
索引编码单元,用于对所述编码变换矩阵的索引进行编码得到编码结果;
变换单元,用于采用所述编码变换矩阵对所述残差信号进行变换得到变换结果;
数据编码单元,用于对所述变换结果以及所述编码结果进行编码得到编码流;
所述残差信号的残差纹理预测方向通过如下方式获取得到:
在所述视频数据中的待编码宏块或子块的上块、左块、左上块与右上块中,
若没有哪个块的帧内预测方向与其变换矩阵所对应的方向一致,或有两个以上的块的帧内预测方向与其变换矩阵所对应的方向一致,则将帧内预测方向作为残差纹理预测方向;
若只有一个块的帧内预测方向与其变换矩阵所对应的方向一致,则以该块的帧内预测方向作为残差纹理预测方向。
11.根据权利要求10所述的编码装置,其特征在于,
所述方向比较单元还用于当所述残差纹理预测方向与所述编码变换矩阵的方向一致时,触发变换单元执行相应操作;
所述数据编码单元还用于对所述变换结果进行编码得到编码流。
12.一种解码装置,其特征在于,包括:
解析单元,用于对接收到的编码流进行解析,得到变换结果;
索引解码单元,用于当所述解析单元对所述编码流进行解析得到编码变换矩阵的索引时,则确定在编码时残差信号的残差纹理预测方向与变换矩阵的方向不一致,根据所述编码变换矩阵的索引从候选变换矩阵中选取解码变换矩阵;
反变换单元,用于采用所述解码变换矩阵对所述变换结果进行反变换得到残差信号;
重建单元,用于根据所述残差信号重建视频数据;
所述残差信号的残差纹理预测方向由编码装置通过如下方式获取得到:
在所述视频数据中的待编码宏块或子块的上块、左块、左上块与右上块中,
若没有哪个块的帧内预测方向与其变换矩阵所对应的方向一致,或有两个以上的块的帧内预测方向与其变换矩阵所对应的方向一致,则将帧内预测方向作为残差纹理预测方向;
若只有一个块的帧内预测方向与其变换矩阵所对应的方向一致,则以该块的帧内预测方向作为残差纹理预测方向。
13.根据权利要求12所述的解码装置,其特征在于,所述解码装置还包括:
方向解码单元,用于当所述解析单元对所述编码流进行解析未得到编码变换矩阵的索引时,根据预置的残差纹理预测方向从候选变换矩阵中选取解码变换矩阵。
14.一种编解码系统,其特征在于,包括:
如权利要求10或11所述的编码装置以及如权利要求12或13所述的解码装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010205093 CN102281435B (zh) | 2010-06-11 | 2010-06-11 | 编码方法、解码方法、编码装置、解码装置及编解码系统 |
PCT/CN2011/073973 WO2011153888A1 (zh) | 2010-06-11 | 2011-05-12 | 编码方法、解码方法、编码装置、解码装置及编解码系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010205093 CN102281435B (zh) | 2010-06-11 | 2010-06-11 | 编码方法、解码方法、编码装置、解码装置及编解码系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102281435A CN102281435A (zh) | 2011-12-14 |
CN102281435B true CN102281435B (zh) | 2013-10-02 |
Family
ID=45097520
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010205093 Active CN102281435B (zh) | 2010-06-11 | 2010-06-11 | 编码方法、解码方法、编码装置、解码装置及编解码系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN102281435B (zh) |
WO (1) | WO2011153888A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019127003A1 (zh) * | 2017-12-26 | 2019-07-04 | 富士通株式会社 | 图像编码方法、装置以及电子设备 |
CN109788286B (zh) * | 2019-02-01 | 2021-06-18 | 北京大学深圳研究生院 | 一种编码、解码变换方法、系统、设备及计算机可读介质 |
JP7302037B2 (ja) * | 2019-06-19 | 2023-07-03 | エルジー エレクトロニクス インコーポレイティド | 画像コーディングにおいて変換カーネルセットを表す情報のシグナリング |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101415151A (zh) * | 2007-10-19 | 2009-04-22 | Lg电子株式会社 | 移动终端及其数据上传方法 |
CN101682770A (zh) * | 2007-06-15 | 2010-03-24 | 高通股份有限公司 | 视频块预测模式的自适应译码 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100479527C (zh) * | 2004-02-26 | 2009-04-15 | 联合信源数字音视频技术(北京)有限公司 | 一种帧内预测模式选取方法 |
WO2008132890A1 (ja) * | 2007-04-16 | 2008-11-06 | Kabushiki Kaisha Toshiba | 画像符号化と画像復号化の方法及び装置 |
EP2046053A1 (en) * | 2007-10-05 | 2009-04-08 | Thomson Licensing | Method and device for adaptively quantizing parameters for image coding |
CN100586184C (zh) * | 2008-01-24 | 2010-01-27 | 北京工业大学 | 帧内预测方法 |
US20110090952A1 (en) * | 2009-10-21 | 2011-04-21 | Cohen Robert A | Directional Transforms for Video and Image Coding |
CN102045560B (zh) * | 2009-10-23 | 2013-08-07 | 华为技术有限公司 | 一种视频编解码方法及设备 |
-
2010
- 2010-06-11 CN CN 201010205093 patent/CN102281435B/zh active Active
-
2011
- 2011-05-12 WO PCT/CN2011/073973 patent/WO2011153888A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101682770A (zh) * | 2007-06-15 | 2010-03-24 | 高通股份有限公司 | 视频块预测模式的自适应译码 |
CN101415151A (zh) * | 2007-10-19 | 2009-04-22 | Lg电子株式会社 | 移动终端及其数据上传方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2011153888A1 (zh) | 2011-12-15 |
CN102281435A (zh) | 2011-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102045560B (zh) | 一种视频编解码方法及设备 | |
KR102453953B1 (ko) | 계층적 가변 블록 변환이 가능한 부호화 방법 및 장치 그리고 복호화 방법 및 장치 | |
KR101622450B1 (ko) | 변환을 이용하는 비디오 인코딩 및 디코딩 | |
CN101653003B (zh) | 用于混合视频编码的量化的编/解码方法和编/解码器 | |
CA2645230C (en) | Method and system for coding and decoding information associated with video compression | |
DK2774374T3 (en) | DEVICE FOR DECODING VIDEO DATA | |
CN103597838B (zh) | 对末位有效系数的位置进行编码和解码的方法和设备 | |
CN108322756B (zh) | 视频编码和解码方法和使用该方法的装置 | |
CN101895756B (zh) | 视频图像块的编码、解码、重构方法及系统 | |
KR102447003B1 (ko) | 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치 | |
CN101563928A (zh) | 使用其它编码模式的信息的编码模式选择 | |
WO2013063245A1 (en) | Non-square transforms in intra-prediction video coding | |
CN104221373A (zh) | 用于采样自适应偏移代码化和/或信号通知的设备和方法 | |
EP2628299A1 (en) | Method and apparatus for improved entropy encoding and decoding | |
KR20130006652A (ko) | 변환 선택을 갖는 비디오 코딩 및 디코딩을 위한 제약 변환 방법 및 장치 | |
CN102281435B (zh) | 编码方法、解码方法、编码装置、解码装置及编解码系统 | |
CN101790096B (zh) | 基于二重预测的编解码方法及装置 | |
CN111669580A (zh) | 进行编码和解码的方法、解码端、编码端和系统 | |
CN111988618B (zh) | 进行解码、编码的方法、解码端和编码端 | |
CN112243123B (zh) | 一种基于无损编码的hevc码率优化方法 | |
CN112135147B (zh) | 编码方法、解码方法及装置 | |
RU2795462C2 (ru) | Способы кодирования и декодирования, кодер и декодер, и носитель данных | |
RU2777923C1 (ru) | Способы кодирования и декодирования, кодер и декодер, и носитель данных | |
KR101436949B1 (ko) | 영상 인코딩 방법 및 장치, 그리고 영상 처리 장치 | |
CN117560500A (zh) | 并行解码方法、编码方法、装置、设备及计算机程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |