图像块编码中的变换方法、解码中的反变换方法及装置与流程

文档序号:24347342发布日期:2021-03-19 12:31阅读:93来源:国知局
图像块编码中的变换方法、解码中的反变换方法及装置与流程
本发明实施例涉及多媒体
技术领域
,尤其涉及一种图像块编码中的变换方法、解码中的反变换方法及装置。
背景技术
:在多媒体
技术领域
,通过视频压缩技术(包括视频数据编码和视频数据解码)可以实现视频数据的高效传输和存储。目前,在视频数据编码的过程中,可以将视频帧划分为多个编码树单元(codingtreeunit,ctu),如图1所示,对于每一个ctu可以按照一定的划分方式(包括四叉树划分、二叉树划分或者三叉树划分等等),将该ctu划分为多个编码单元(codingunit,cu),然后视频编码设备可以根据多核变换技术对多个cu进行变换,完成视频数据的编码。示例性的,以视频帧中的一个cu为例,对该cu进行编码时,采用多核变换技术对该编码块进行变换(以下对cu进行变换均指的是对该cu的残差块进行变换),具体的,可以根据变换候选集中的多个变换对分别对该cu进行变换,得到该cu的多个变换结果,然后视频编码设备确定多个变换结果对应的率失真代价,并且选择率失真代价最小的一个变换对作为cu的最终变换对,并将根据该变换对得到的编码结果确定为该cu的最终编码结果。然而,在上述方法中,一方面,由于视频编码设备需要确定多个变换结果对应的率失真代价,并根据率失真代价确定cu的最终变换对,因此,可能导致视频数据编码的复杂度比较高;另一方面,视频编码设备需要在码流中添加用于指示选择上述变换候选集中的哪一个变换对的指示信息,使得视频数据编码所需的开销比较大,并且对于纹理信息比较丰富的cu,上述编码方法不能最大化视频数据的编解码效率。技术实现要素:本申请提供一种图像块编码中的变换方法、解码中的反变换方法及装置,能够降低视频数据的编解码的复杂度,从而提高视频数据的编解码效率。为达到上述目的,本申请采用如下技术方案:第一方面,提供一种图像块解码中的反变换方法,应用于视频解码设备,该方法包括:从目标变换集中为组成待解码当前块的至少两个区域中每一个区域确定各自对应的变换对,该至少两个区域不相互重叠;该目标变换集包括变换对与区域在当前块中的位置之间的对应关系,该变换对包括水平变换核和竖直变换核;并且根据每一个区域各自对应的变换对,对每一个区域分别进行反变换,以得到每一个区域的反变换结果;以及根据每一个区域的反变换结果以及每一个区域在当前块中的位置,得到当前块的反变换结果。本申请提供的图像块解码中的反变换方法,由于视频解码设备可以从目标变换集中为组成待解码当前块的至少两个区域中每一个区域确定各自对应的变换对,并且可以根据每一个区域各自对应的变换对,对每一个区域分别进行反变换,以得到每一个区域的反变换结果,从而根据每一个区域的反变换结果以及每一个区域在当前块中的位置,得到当前块的反变换结果,与现有技术中,直接对当前块进行反变换的方法相比,能够提高视频数据的解码效率,从而改善视频数据中图像的重建质量。在第一方面的第一种可选的实现方式中,上述至少两个区域通过如下方式获得:根据预设分区模式,对当前块进行n层分区,以得到至少两个区域,其中,1≤n≤n1,n1为最大分区层数;预设分区模式包括下述分区模式中的至少一种:四叉树分区模式、二叉树分区模式或三叉树分区模式。本申请中,视频解码设备可以采用上述多种分区模式中的一种或者几种分区模式,灵活地对当前块进行分区,如此,可以使得区域大小多样化。在第一方面的第二种可选的实现方式中,上述从目标变换集中为组成待解码当前块的至少两个区域中每一个区域确定各自对应的变换对之前,本发明实施例提供的图像块解码中的反变换方法还包括:根据当前块的分区模式和和分区层数n,从多个预设变换集中确定目标变换集。本申请中,通过不同的分区模式和不同的分区层数对当前块进行分区,得到至少两个区域时,该当前块可能对应不同的变换集,即对于当前块可能存在多个预设变换集,视频编码设备需要根据该当前块的分区模式和分区层数n,从多个预设变换集中确定目标变换集,然后再根据目标变换集中每一个区域对应的变换对,对每一个区域进行变换。在第一方面的第三种可选的实现方式中,在从目标变换集中为组成待解码当前块的至少两个区域中每一个区域确定各自对应的变换对之前,本发明实施例提供的图像块解码中的反变换方法还包括:根据当前块的预测模式、当前块的分区模式以及分区层数n,从多个预设变换集中确定目标变换集。本申请中,一个待编码块可以通过不同的预测模式进行编码,并且可以通过不同的分区模式和不同的分区层数分为至少两个区域,不同预测模式,不同的分区模式和不同分区层数,该待编码块可能对应不同的变换集,如此,对于当前块,可能存在多个预设变换集,视频编码设备需要根据该当前块的预测模式、分区模式,分区层数n,从多个预设变换集中确定目标变换集,然后再根据目标变换集中每一个区域对应的变换对,对每一个区域进行变换。在第一方面的第四种可选的实现方式中,上述根据预设分区模式,对当前块进行n层分区,以得到至少两个区域的方法可以包括:确定当前块是否满足分区条件,该分区条件为当前块的宽度大于预设宽度阈值,或者当前块的高度大于预设高度阈值;在确定当前块满足分区条件时,根据预设分区模式,对当前块进行n层分区,以得到至少两个区域。在第一方面的第五种可选的实现方式中,上述根据预设分区模式,对当前块进行n层分区,以得到至少两个区域的方法可以包括:解析当前块所在的码流层次对应的码流,得到第一变换指示信息,该第一变换指示信息用于指示当前块是否需要分区域进行反变换;并且在第一变换指示信息指示当前块需要分区域进行反变换时,根据预设分区模式,对当前块进行n层分区,以得到至少两个区域。在第一方面的第六种可选的实现方式中,上述解析当前块所在的码流层次对应的码流,得到第一变换指示信息的方法可以包括:解析当前块所在的序列层、图像层或者条带层对应的码流,得到第二变换指示信息,该第二变换指示信息用于指示序列层、图像层或者条带层中是否存在需要分区域进行反变换的待解码块;并且在第二变换指示信息指示序列层、图像层或者条带层存在需要分区域进行反变换的待解码块时,解析当前块所在的码流层次对应的码流,得到第一变换指示信息。第二方面,提供一种图像块编码中的变换方法,应用于视频编码设备,该方法包括:从目标变换集中为组成待编码当前块的至少两个区域中每一个区域确定各自对应的变换对,该至少两个区域不相互重叠;该目标变换集包括变换对与区域在当前块(第二方面以及各种可选的实现方式中,该当前块均指的是待编码当前块)中的位置之间的对应关系,该变换对包括水平变换核和竖直变换核;并且根据每一个区域各自对应的变换对,对每一个区域分别进行变换,以得到每一个区域的变换结果;以及根据每一个区域的变换结果以及每一个区域在当前块中的位置,得到当前块的变换结果。本申请提供的图像块编码中的变换方法,由于视频编码设备从目标变换集中为组成待编码当前块的至少两个区域中每一个区域确定各自对应的变换对,并且可以根据每一个区域各自对应的变换对,对每一个区域分别进行变换,以得到每一个区域的变换结果,从而根据每一个区域的变换结果以及每一个区域在当前块中的位置,得到当前块的变换结果,与现有的多核变换技术相比,视频编码设备无需再通过率失真代价确定当前块的最终的变换方式,因此,能够降低视频数据编码的复杂度,提高视频数据的编码效率。进一步的,与多核变换技术相比,视频编码设备无需再在码流中写入指示选取变换候选集中的哪一个变换对的指示信息,如此,可以节省视频数据编码花费的开销。进一步的,视频编码设备将对当前块进行分区,得到多个区域,并根据与每一个区域的位置对应的变换对,对每一个区域进行变换的方式实现当前块的变换,可以更加适应图像纹理信息的分布特征,能够提高视频数据的压缩效果。在第二方面的第一种可选的实现方式中,上述至少两个区域通过如下方式获得:根据预设分区模式,对当前块进行n层分区,以得到至少两个区域,其中,1≤n≤n1,n1为最大分区层数;该预设分区模式包括下述分区模式中的至少一种:四叉树分区模式、二叉树分区模式或三叉树分区模式。在第二方面的第二种可选的实现方式中,在从目标变换集中为组成待编码当前块的至少两个区域中每一个区域确定各自对应的变换对之前,本发明实施例提供的图像块编码中的变换方法还包括:根据当前块的分区模式和和分区层数n,从多个预设变换集中确定目标变换集。在第二方面的第三种可选的实现方式中,在从目标变换集中为组成待解码当前块的至少两个区域中每一个区域确定各自对应的变换对之前,本发明实施例提供的图像块编码中的变换方法还包括:根据当前块的预测模式、当前块的分区模式以及分区层数n,从多个预设变换集中确定目标变换集。在第二方面的第四种可选的实现方式中,上述根据预设分区模式,对当前块进行n层分区,以得到至少两个区域的方法可以包括:确定当前块是否满足分区条件,该分区条件为当前块的宽度大于预设宽度阈值,或者当前块的高度大于预设高度阈值;并且在确定当前块满足分区条件时,根据预设分区模式,对当前块进行n层分区,以得到至少两个区域。在第二方面的第五种可选的实现方式中,本发明实施例提供的图像块编码中的变换方法还包括:确定第一率失真代价和第二率失真代价,该第一率失真代价为对当前块分区域进行变换,得到当前块的变换结果时该当前块的率失真代价,该第二率失真代价为对当前块直接进行变换,得到当前块的变换结果时该当前块的率失真代价;并且在第一率失真代价小于或者等于第二率失真代价时,确定变换指示信息,该变换指示信息用于指示视频解码设备当前块需要分区域进行反变换。本申请中,若第一率失真代价小于或者等于第二率失真代价,视频编设备可以在当前块所在的码流层次对应的码流中写入第一变换指示信息,以指示视频解码设备当前块需要分区域进行反变换,从而视频解码设备可以根据该变换指示信息对当前块进分区域进行反变换。一种可选的实现方式中,视频编码设备对视频数据进行编码时,还可以在视频数据的序列层、图像层或者条带层对应的码流中写入第二变换指示信息,该第二变换指示信息用于指示视频解码设备视频数据的序列层、图像层或者条带层中是否存在需要分区域进行变换的待编码块。以一个视频帧为例,上述视频编码设备确定视频帧包括的所有待编码块均不需要分区域进行变换时,视频编码设备在视频帧对应的图像层的图像头中写入第二变换指示信息,以指示图像层中不存在需要分区域进行变换的待编码块,在这种情况下,视频编码设备无需再在每一个待编码块所在的码流层次对应的码流中写入变换指示信息了,如此,能够节省视频数据编码所需的开销。关于第二方面的各种可选的实现方式的技术效果的描述,可以参见上述对第一方方面的各种可选的实现方式的技术效果的描述,此处不再赘述。第三方面,提供一种视频解码设备,该视频解码设备包括确定模块和反变换模块。其中,确定模块,用于从目标变换集中为组成待解码当前块的至少两个区域中每一个区域确定各自对应的变换对,该至少两个区域不相互重叠;该目标变换集包括变换对与区域在当前块中的位置之间的对应关系,该变换对包括水平变换核和竖直变换核;反变换模块,用于根据每一个区域各自对应的变换对,对每一个区域分别进行反变换,以得到每一个区域的反变换结果;并且根据每一个区域的反变换结果以及每一个区域在当前块中的位置,得到当前块的反变换结果。在第三方面的第一种可选的实现方式中,本发明实施例提供的视频解码设备还包括分区模块。该分区模块,用于根据预设分区模式,对当前块进行n层分区,以得到至少两个区域,其中,1≤n≤n1,n1为最大分区层数;该预设分区模式包括下述分区模式中的至少一种:四叉树分区模式、二叉树分区模式或三叉树分区模式。在第三方面的第二种可选的实现方式中,上述确定模块,还用于在从目标变换集中为组成待解码当前块的至少两个区域中每一个区域确定各自对应的变换对之前,根据当前块的分区模式和和分区层数n,从多个预设变换集中确定目标变换集。在第三方面的第三种可选的实现方式中,上述确定模块,还用于在从目标变换集中为组成待解码当前块的至少两个区域中每一个区域确定各自对应的变换对之前,根据当前块的预测模式、当前块的分区模式以及分区层数n,从多个预设变换集中确定目标变换集。在第三方面的第四种可选的实现方式中,上述确定模块,还用于确定当前块是否满足分区条件,该分区条件为当前块的宽度大于预设宽度阈值,或者当前块的高度大于预设高度阈值;上述分区模块,具体用于在确定当前块满足分区条件时,根据预设分区模式,对当前块进行n层分区,以得到至少两个区域。在第三方面的第五种可选的实现方式中,本发明实施例提供的视频解码设备还包括解析模块。该解析模块,用于解析当前块所在的码流层次对应的码流,得到第一变换指示信息,该第一变换指示信息用于指示当前块是否需要分区域进行反变换;上述分区模块,具体用于在第一变换指示信息指示当前块需要分区域进行反变换时,根据预设分区模式,对当前块进行n层分区,以得到至少两个区域。在第三方面的第六种可选的实现方式中,上述解析模块,具体用于解析当前块所在的序列层、图像层或者条带层对应的码流,得到第二变换指示信息,该第二变换指示信息用于指示序列层、图像层或者条带层中是否存在需要分区域进行反变换的待解码块;并且在第二变换指示信息指示序列层、图像层或者条带层存在需要分区域进行反变换的待解码块时,解析当前块所在的码流层次对应的码流,得到第一变换指示信息。在第一方面和第三方面中,当前块的分区模式为四叉树分区模式,当前块的分区层数n为1,上述至少两个区域具体为:左上角区域,右上角区域,左下角区域和右下角区域;相应地,目标变换集包括的左上角区域对应的变换对包括:水平变换核dct-viii和竖直变换核dct-viii;目标变换集包括的右上角区域对应的变换对包括:水平变换核dst-vii和竖直变换核dct-viii;目标变换集包括的左下角区域对应的变换对包括:水平变换核dct-viii和竖直变换核dst-vii;目标变换集包括的右下角区域对应的变换对包括:水平变换核dst-vii和竖直变换核dst-vii。第四方面,提供一种视频编码设备,该视频编码设备包括:确定模块和变换模块。其中,确定模块,用于从目标变换集中为组成待编码当前块的至少两个区域中每一个区域确定各自对应的变换对,该至少两个区域不相互重叠;该目标变换集包括变换对与区域在当前块中的位置之间的对应关系,该变换对包括水平变换核和竖直变换核;变换模块,用于根据每一个区域各自对应的变换对,对每一个区域分别进行变换,以得到每一个区域的变换结果;并且根据每一个区域的变换结果以及每一个区域在当前块中的位置,得到当前块的变换结果。在第四方面的第一种可选的实现方式中,本发明实施例提供的视频编码设备还包括分区模块。该分区模块,用于根据预设分区模式,对当前块进行n层分区,以得到至少两个区域,其中,1≤n≤n1,n1为最大分区层数;该预设分区模式包括下述分区模式中的至少一种:四叉树分区模式、二叉树分区模式或三叉树分区模式。在第四方面的第二种可选的实现方式中,上述确定模块,还用于在从目标变换集中为组成待编码当前块的至少两个区域中每一个区域确定各自对应的变换对之前,根据当前块的分区模式和和分区层数n,从多个预设变换集中确定目标变换集。在第四方面的第三种可选的实现方式中,上述确定模块,还用于在从目标变换集中为组成待编码当前块的至少两个区域中每一个区域确定各自对应的变换对之前,根据当前块的预测模式、当前块的分区模式以及分区层数n,从多个预设变换集中确定目标变换集。在第四方面的第四种可选的实现方式中,上述确定模块,还用于确定当前块是否满足分区条件,该分区条件为当前块的宽度大于预设宽度阈值,或者当前块的高度大于预设高度阈值;上述分区模块,具体用于在确定当前块满足分区条件时,根据预设分区模式,对当前块进行n层分区,以得到至少两个区域。在第四方面的第五种可选的实现方式中,上述确定模块,还用于确定第一率失真代价和第二率失真代价,该第一率失真代价为对当前块分区域进行变换,得到当前块的变换结果时该当前块的率失真代价,该第二率失真代价为对当前块直接进行变换,得到当前块的变换结果时该当前块的率失真代价;并且在第一率失真代价小于或者等于第二率失真代价时,确定变换指示信息,该变换指示信息用于指示视频解码设备当前块需要分区域进行反变换。在第二方面和第四方面中,当前块的分区模式为四叉树分区模式,当前块的分区层数n为1,上述至少两个区域具体为:左上角区域,右上角区域,左下角区域和右下角区域;相应地,目标变换集包括的左上角区域对应的变换对包括:水平变换核dct-viii和竖直变换核dct-viii;目标变换集包括的右上角区域对应的变换对包括:水平变换核dst-vii和竖直变换核dct-viii;目标变换集包括的左下角区域对应的变换对包括:水平变换核dct-viii和竖直变换核dst-vii;目标变换集包括的右下角区域对应的变换对包括:水平变换核dst-vii和竖直变换核dst-vii。在第二方面和第四方面中,在第一率失真代价大于第二率失真代价时,该变换指示信息用于指示视频解码设备当前块不需要分区域进行反变换。第五方面,本申请提供一种视频解码设备,该视频解码设备可以包括处理器和与该处理器耦合连接的存储器。该存储器用于存储计算机指令,当该视频解码设备运行时,处理器执行该存储器存储的计算机指令,以使得该视频解码设备执行上述第一方面及其各种可选的实现方式中任意之一所述图像块解码中的反变换方法。第六方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质中包括计算机指令,当该计算机指令在计算机上运行时,使得该计算机执行第一方面及其各种可选的实现方式中任意之一所述的图像块解码中的反变换方法。第七方面,本申请提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得该计算机执行第一方面及其各种可选的实现方式中任意之一所述的图像块解码中的反变换方法。第五方面至第七方面的相关内容和技术效果的描述可以参见上述对第一方面及其各种可选的实现方式的相关内容和技术效果的相关描述,此处不再赘述。第八方面,本申请提供一种视频编码设备,该视频编码设备可以包括处理器和与该处理器耦合连接的存储器。该存储器用于存储计算机指令,当该视频编码设备运行时,处理器执行该存储器存储的计算机指令,以使得该视频编码设备执行上述第二方面及其各种可选的实现方式中任意之一所述图像块编码中的变换方法。第九方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质中包括计算机指令,当该计算机指令在计算机上运行时,使得该计算机执行第二方面及其各种可选的实现方式中任意之一所述的图像块编码中的变换方法。第十方面,本申请提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得该计算机执行第二方面及其各种可选的实现方式中任意之一所述的图像块编码中的变换方法。第八方面至第十方面的相关内容和技术效果的描述可以参见上述对第二方面及其各种可选的实现方式的相关内容和技术效果的相关描述,此处不再赘述。附图说明图1为本发明实施例提供的一种ctu的划分结果示意图一;图2为本发明实施例提供的一种cu的分区结果示意图;图3为本发明实施例提供的一种视频数据的编码和解码的过程示意图;图4为本发明实施例提供的一种视频编码设备的硬件示意图;图5为本发明实施例提供的一种视频解码设备的硬件示意图;图6为本发明实施例提供的一种图像块编码中的变换方法示意图一;图7为本发明实施例提供的一种ctu的划分结果示意图二;图8为本发明实施例提供的一种当前块的分区示意图;图9为本发明实施例提供的一种图像块编码中的变换方法示意图二;图10为本发明实施例提供的一种图像块编码中的变换方法示意图三;图11为本发明实施例提供的一种图像块编码中的变换方法示意图四;图12为本发明实施例提供的一种图像块解码中的反变换方法示意图一;图13为本发明实施例提供的一种图像块解码中的反变换方法示意图二;图14为本发明实施例提供的一种图像块解码中的反变换方法示意图二;图15为本发明实施例提供的一种视频编码设备的结构示意图一;图16为本发明实施例提供的一种视频编码设备的结构示意图二;图17为本发明实施例提供的一种视频解码设备的结构示意图一;图18为本发明实施例提供的一种视频解码设备的结构示意图二。具体实施方式本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。本发明实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一变换指示信息和第二变换指示信息等是用于区别不同的指示信息,而不是用于描述指示信息的特定顺序。在本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。在本发明实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个变换集是指两个或两个以上的变换集;多个处理单元是指两个或两个以上的处理单元。首先对本发明实施例提供的一种图像块编码中的变换方法、解码中的反变换方法及装置中涉及的一些概念做解释说明。通常,在视频编码过程中,以视频数据的一个视频帧(也可以称为一幅图像)为例,视频编码设备以编码单元cu(对应一个编码块)为编码单位,按照一定的编码规则完成一个编码树单元ctu包括的所有cu的编码(包括预测、变换、量化以及熵编码等编码处理),进而完成一幅图像包括的多个ctu的编码,得到该图像对应的编码信息;在视频数据解码的过程中,解码设备按照与编码过程中对应的解码规则,完成一个ctu包括的多个cu的重建(包括预测、反量化、反变换等解码处理),进而完成一幅图像的多个ctu的重建,得到重建后的图像。ctu和cu都是编码树上的节点,ctu为根节点,ctu经过划分得到一定数量的节点,进一步,ctu经过一次划分得到的节点中的部分或者全部节点还可以继续划分为尺寸更小的节点,以此类推,直至所有的节点都不需要再划分,将最终不需要再划分的节点称为叶节点,即叶节点为编码树末端不需要再划分的节点,在h.266中,一个叶节点对应一个cu。需要说明的是,本发明实施例中,上述在对cu编码或者解码的过程中,还可以考虑是否对cu进行分区得到多个区域,分别对每一个区域进行变换或者反变换,从而根据多个区域的变换结果或者反变换结果,得到该cu的变换结果或者反变换结果。在视频数据的编码和解码领域,对一个cu进行分区得到多个区域的方法包括四叉树分区、二叉树分区或三叉树分区等等。示例性的,以一个cu分为多个区域为例,四叉树分区指的是将cu分为尺寸相等的四个区域,如图2中的(a)为四叉树分区的示意图;二叉树分区指的是将一个cu分为两个尺寸相等的区域,具体的,可以采用水平二叉树分区或者竖直二叉树分区,例如图2中的(b)为水平二叉树分区的示意图,图2中的(c)为竖直二叉树分区的示意图;三叉树分区指的是将一个cu分为三个区域,具体的,可以采用水平三叉树分区或者竖直三叉树分区,其中,对于水平三叉树分区,对应上、中、下的三个区域的高度占当前cu高度的比例可以为1/4,1/2,1/4,相应地,对于竖直三叉树分区,对应左、中、右的三个区域的宽度占当前cu宽度的比例可以为1/4,1/2,1/4,如图2中的(d)为水平三叉树分区的示意图,图2中的(e)为竖直三叉树分区的示意图。可选的,对cu进行分区时,可以选择四叉树分区、三叉树分区和二叉树分区中的任意一种或多种。例如,在一种实施方式中,可以采用四叉树和二叉树级联的分区方法,即一个cu先进行四叉树分区获得四个区域,若该四个区域中的一个或多个区域还可以继续分区,则采用二叉树分区的方法将需要继续分区的区域分为更小的区域。基于
背景技术
中存在的问题,本发明实施例提供一种图像块编码中的变换方法、解码中的反变换方法及装置,在视频数据的编码过程中,视频编码设备可以将待编码的当前块(待编码的当前块为一个cu)进行分区,得到至少两个区域,并且从目标变换集中为组成该待编码当前块的至少两个区域中每一个区域确定各自对应的变换对,以及根据每一个区域各自对应的变换对,对每一个区域分别进行变换,最后根据每一个区域的变换结果以及每一个区域在待编码当前块中的位置,得到该带编码当前块的变换结果,从而完成待编码当前块的编码。在视频数据的解码过程中,视频解码设备可以将待解码当前块进行分区,得到至少两个区域,并且从目标变换集中为组成该待解码当前块的至少两个区域中每一个区域确定各自对应的变换对,以及根据每一个区域各自对应的变换对,对每一个区域分别进行反变换,最后根据每一个区域的反变换结果以及每一个区域在待编码当前块中的位置,得到该带编码当前块的反变换结果,从而完成待解码当前块的解码,能够降低视频数据编码和解码的复杂度,提高视频数据编码和解码的效率。本发明实施例提供的图像块编码中的变换方法、解码中的反变换方法可以应用于具有编码和\或解码功能的设备,本发明实施例中,将对视频数据编码的设备称为视频编码设备,将对视频数据解码的设备称为视频解码设备。视频编码设备获取到视频数据之后,视频编码设备对该视频数据编码,可以将该视频数据压缩为码流(即编码后的视频数据),然后将该视频数据发送给其他设备(例如视频解码设备);视频解码设备获取到编码后的视频数据,该视频编码设备可以对该视频数据解码,恢复该视频数据的完整信息。下面,如图3所示,以视频数据的一个视频帧中的一个图像块(可以为一个cu)为例,说明视频数据编码和视频数据解码的简要过程。在编码过程中,将该图像块称为待编码块,在解码过程中,将该图像块称为待解码块,视频编码设备对该待编码块编码包括预测、变换、量化、熵编码等处理过程,视频编码设备经预测得到当前编码块的预测块之后,获取残差块(残差块为原始块与预测块之间的差值),然后编码设备可以根据变换对(变换对包括水平变换核和竖直变换核)对残差块做变换,再对变换后的残差块进行量化,最后完成熵编码(即对语法元素等参数的编码),从而完成该待编码块的编码,其中,上述编码的过程中,变换核可以为基于离散余弦变换(discretecosinetransform,dct)的各种类型的变换核(例如dct-ii、dct-viii等),或者可以为基于离散正弦变换(discretesinetransform,dst)的各种类型的变换核(例如dst-vii等),此外,视频编码过程还包括对语法元素(例如划分标志位、划分模式)进行相应的编码,该编码后的语法元素和编码后的图像块组成编码信息(即码流)。即视频数据的编码信息包含了编码后的图像数据及编码后的语法元素。视频解码设备对待解码块的解码包括熵解码、预测、反变换、反量化等处理过程,视频解码过程是视频编码过程的反过程,视频解码设备基于从编码信息提取的语法元素来重建该图像块(即待解码块),即视频解码设备基于与该图像块相关联的语法元素和编码后的图像块,得到该图像块的重构像素块,完成待解码块的解码。本发明实施例提供的图像块编码中的变换方法、解码中的反变换方法可以应用于视频编码设备或视频解码设备中,视频编码设备和视频解码设备均可以为台式计算机、移动计算装置、笔记本(例如膝上型)计算机、平板计算机、机顶盒、智能电话等手持机、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机、虚拟现实设备、增强现实设备,或其他类似的设备。下面结合图4具体介绍本发明实施例提供的视频编码设备的各个构成部件。如图4所示,本发明实施例提供的视频编码设备包括:视频俘获装置10、视频存储器11、视频编码器12和输出接口13等部件。本领域技术人员可以理解,图4中示出的视频编码设备的结构并不构成对视频编码设备的限定,其可以包括比如图4所示的部件更多或更少的部件,或者可以组合如图4所示的部件中的某些部件,或者可以与如图4所示的部件布置不同。视频俘获装置10:即获取视频数据的装置,视频俘获装置可以为视频相机。视频存储器11:可以存储由视频俘获装置俘获的视频数据,也可以由视频编码器12对视频数据编码后的码流。视频编码器12:可以根据编码标准(例如h.264)将视频俘获装置获取的视频数据经过编码后转化为机器可以识别的代码,以将视频数据压缩,有利于视频数据的传输和存储。视频编码器12可以为中央处理器(centralprocessingunit,cpu),通用处理器,数字信号处理器(digitalsignalprocessor,dsp),专用集成电路(application-specificintegratedcircuit,asic),现场可编程门阵列(fieldprogrammablegatearray,fpga)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合,其可以实现或执行本发明实施例公开的内容所描述的各种示例性的逻辑方框,模块和电路;视频编码器12也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。输出接口13:用于向其他设备发送数据的接口电路,输出接口13可以为收发器、收发电路等具有收发功能的结构,包括调制器/解调器(调制解调器)及/或发射器,在视频编解码系统中,输出接口13可以将编码后的视频数据发送给视频解码设备。可选的,如图4所示的视频编码设备还可以包括无线保真(wirelessfidelity,wifi)模块、蓝牙模块等,在此不再赘述。下面结合图5具体介绍本发明实施例提供的视频解码设备的各个构成部件。如图5所示,本发明实施例提供的视频解码设备包括:输入接口20、视频解码器21和显示装置22等部件。本领域技术人员可以理解,图5中示出的视频解码设备的结构并不构成对视频解码设备的限定,其可以包括比如图5所示的部件更多或更少的部件,或者可以组合如图5所示的部件中的某些部件,或者可以与如图5所示的部件布置不同。输入接口20用于接收其他设备(例如视频编码设备)发送的数据,输入接口20可以为接收器及/或调制解调器。在视频编解码系统中,输入接口20可以接收编码设备发送的编码后的视频数据。视频解码器21可以将其接收的编码后的视频数据还原解码,即解压缩,从而可以使得解码后的视频数据在显示装置中播放。视频解码器21可以为cpu,通用处理器,dsp,asic,fpga或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合,其可以实现或执行本发明实施例公开的内容所描述的各种示例性的逻辑方框,模块和电路;视频解码器21也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。显示装置22用于显示解码后的视频数据,显示装置可以包括多种显示装置,例如液晶显示器(liquidcrystaldisplay,lcd)、等离子体显示器、有机发光二极管(organiclight-emittingdiode,oled)显示器或其它类型的显示装置。可选的,显示装置22可以整合在视频解码设备中,显示装置22也可以与视频解码设备独立,设置于视频解码设备外部。本发明实施例提供的图像块编码中的变换方法,可以应用于视频数据编码场景中,实现对待编码块的变换,本发明实施例提供的图像块解码中的反变换方法也可以应用于视频数据解码的场景中,实现对待解码块的反变换,以下分别从这两个不同的应用场景的角度介绍本发明实施例提供的图像块编码中的变换方法、解码中的反变换方法。需要说明的是,视频数据的编码预测模式为跳过(skip)模式(即待编码块的预测信息与原始信息之间的误差很小)时,无需对该待编码块的残差进行变换操作,如此,在解码的过程中,也无需对待解码块对应的码流进行反变换操作。可以理解的是,本发明实施例提供的图像块编码中的变换方法、解码中的反变换方法应用于视频数据的预测模式不为跳过模式的编码或者解码过程。对于视频数据编码的场景,以待编码当前块为例说明本发明实施例提供的图像块编码中的变换方法,如图6所示,该方法可以包括s101-s103:s101、视频编码设备从目标变换集中为组成待编码当前块的至少两个区域中每一个区域确定各自对应的变换对。其中,该至少两个区域不相互重叠,该目标变换集包括变换对与区域在当前块(以下在视频数据编码过程中,当前块均指的是待编码当前块)中的位置之间的对应关系,该变换对包括水平变换核和竖直变换核。本发明实施例中,上述待编码当前块为一个cu,上述组成待编码当前块的至少两个区域可以通过如下方式获得:视频编码设备根据预设分区模式,对当前块进行n层分区,以得到至少两个区域。其中,1≤n≤n1,n1为最大分区层数;该预设分区模式包括下述分区模式中的至少一种:四叉树分区模式、二叉树分区模式或三叉树分区模式。需要说明的是,以下实施例中涉及的对当前块进行分区指的是对当前块对应的图像的预测残差块进行分区。本发明实施例中,对于一个视频帧,在对该视频帧进行编码的过程中,可以将该视频帧划分为多个ctu,每一个ctu可以采用可以划分为多个cu,上述s101中的当前块可以为多个cu中的一个。示例性的,以一个ctu被划分为多个cu为例,若ctu的尺寸为64*64(该ctu为由64列、64行像素组成的矩形像素点阵),采用四叉树与二叉树级联的划分方法,将ctu划分为多个cu,首先采用四叉树的划分方法将该ctu划分为4个32*32的子节点,其中,左上角的32*32子节点再经过竖直二叉树划分,得到2个16*32(其中,宽度为16,高度为32)的子节点,并且位于左侧的16*32的子节点再经过竖直二叉树划分,得到2个8*32的cu,位于右侧的16*32的子节点不再划分;右上角的32*32的子节点,经过水平二叉树划分,得到两个32*16的子节点,这2个32*16不再划分;左下角和右下角的2个32*32的子节点不再划分。综上,如图7所示,该ctu被划分7个cu,其中,一部分cu为方形,另一部分cu为矩形,该7个cu依次编号为cu0-cu6。可选的,本发明实施例中,上述视频编码设备根据预设分区模式,对当前块进行n层分区,以得到至少两个区域的方法具体可以为:视频编码设备确定当前块否满足分区条件,该分区条件为当前块的宽度大于预设宽度阈值,或者当前块的高度大于预设高度阈值。本发明实施例中,可以根据预设宽度阈值和预设高度阈值,确定当前块是否需要分区域进行变换,在当前块的宽度大于预设宽度阈值时,可以对当前块进行竖直分区,当前块的高度大于预设高度阈值时,可以对当前块进行水平分区。上述预设宽度阈值和预设高度阈值可以相同,也可以不同,预设宽度阈值可以为16、32、64、128、256等等,预设高度阈值也可以为16、32、64、128、256等等。需要说明的是,本发明实施例中,上述s101中,当前块的最大分区层数n1与当前块的尺寸,预设宽度阈值以及预设高度阈值相关。示例性的,若当前块的尺寸为64*64,预设宽度阈值与预设高度阈值均为16,当前块的分区模式为四叉树分区模式,则当前块的最大分区层数为2。具体的,由于当前块的宽度大于预设宽度阈值,并且当前块的高度大于预设高度阈值,因此可以进行先对当前块进行四叉树分区,得到4个32*32的区域;然后对于每一个32*32的区域,由于该32*32的区域的宽度仍大于预设宽度阈值,并且该区域的高度仍大于预设高度阈值,因此,可以对每一个32*32的区域再进行四叉树分区,如此,得到16个16*16的区域;对于每一个16*16的区域,由于该16*16的区域不满足分区条件,因此不再继续分区,可见,当前块的最大分区层数为2。本发明实施例中,对于不同尺寸的cu,视频编码设备还可以对该cu进行分区,得到至少两个区域。示例性的,如果当前块为上述图7中的cu5,可知当前块的尺寸为32*32,若分区模式为四叉树分区模式,分区层数n为1,对当前块进行1层分区,得到4个16*16的区域,如图8中的(a)所示,这4个区域的位置索引依次为0,1,2,3;若分区模式四叉树分区模式,分区层数n为2,对当前块进行2层分区,即对一层分区后的4个16*16的区域中的每一个区域,再采用四叉树分区模式进行一层分区,如此,对当前块进行2层分区可以得到16个区域,如图8中的(b)所示,这16个区域的位置索引依次为0-15。如果当前块为上述图7中的cu5,若分区模式二叉树分区(包括水平二叉树分区或者竖直二叉树分区)模式,分区层数n为1,对当前块进行1层分区,得到2个区域。具体的,采用水平二叉树分区模式,可以得到2个32*16的区域,如图8中的(c)所示,从上到下的2个区域的位置索引依次为0,1;采用竖直二叉树分区模式,可以得到2个16*32的区域,如图8中的(d)所示,从左到右的2个区域的位置索引依次为0,1。若分区模式二叉树分区模式,分区层数n为2,对当前块进行2层分区(即对一层二叉树分区后的2个区域中的每一个区域,再采用二叉树分区模式,进行一层分区),得到4个区域。具体的,采用水平二叉树分区模式,可以得到4个32*8的区域,如图8中的(e)所示,从上到下的4个区域位置索引依次为0,1,2,3;采用竖直二叉树分区模式,可以得到4个8*32的区域,如图8中的(f)所示,从左到右的4个区域的位置索引依次为0,1,2,3。可选的,根据三叉树分区模式对当前块进行分区时,假设当前块的尺寸为64*64,若分区模式三叉树分区(包括水平三叉树分区或者竖直三叉树分区)模式,分区层数n为1,对当前块进行1层分区,得到3个区域。具体的,采用水平三叉树分区模式,可以得到2个64*16的区域和1个64*32的区域,如图8中的(g)所示,从上到下的3个区域的位置索引依次为0,1,2;采用竖直三叉树分区模式,可以得到2个16*64的区域和1个32*64的区域,如图8中的(h)所示,从左到右的3个区域的位置索引依次为0,1,3。若分区模式为三叉树分区模式,分区层数n为2,对当前块进行2层分区,得到9个区域,具体的,结合图8中的(g),对于当前块进行水平三叉树分区之后的3个区域中的每一个区域,再进行水平三叉分区,如图8中的(i)所示,从上到下的9个区域位置索引依次为0-8;结合图8中的(h),对于当前块进行竖直三叉树分区之后的3个区域中的每一个区域,再进行竖直三叉树分区,如图8中的(j)所示,从左到右的9个区域的位置索引依次为0-8。本发明实施例中,视频解码设备可以采用上述多种分区模式中的一种或者几种分区模式,灵活地对当前块进行分区,如此,可以使得区域大小多样化。需要说明的是,本发明实施例中,一个待编码块可以通过不同的分区模式和不同的分区层数分为至少两个区域,并且对于不同的分区模式和不同分区层数,该待编码块可能对应不同的变换集,变换集中包括变换对与区域在待编码块中的位置之间的对应关系,关于变换对与区域在待编码块中的位置之间的对应关系将在下述实施例中进行详细描述。s102、视频编码设备根据每一个区域各自对应的变换对,对每一个区域分别进行变换,以得到每一个区域的变换结果。本发明实施例中,视频编码设备确定出当前块的至少两个区域中每一个区域各自对应的变换对之后,视频编码设备根据与每一个区域的位置对应的变换对,对每一个区域,采用变换对中的水平变换核进行水平变换,并且采用变换对中的竖直变换核进行竖直变换。示例性的,以当前块的一个区域为例,该区域对应的残差块记为r,若该区域对应的变换对中水平变换核为dst-vii,竖直变换核为dct-viii。其中,dst-vii对应的变换矩阵为x,dct-viii对应的变换矩阵为y,则对该区域r进行变换结果b为:b=yrxs103、视频编码设备根据每一个区域的变换结果以及每一个区域在当前块中的位置,得到当前块的变换结果。本发明实施例中,视频编码设备得到当前块的每一个区域的变换结果之后,该视频编码设备可以根据按照每一个区域在当前块中的位置,将当前块的所有区域的变换结果拼接起来,得到当前块的变换结果,然后视频编码设备可以对当前块的变换结果进行量化以及熵编码,得到当前块的编码码流,该编码码流可以被保存或传输至视频解码设备进行解码,从而在解码侧恢复当前块对应的图像。可选的,在上述s101之前,本发明实施例提供的图像块编码中的变换方法还可以包括s104或者s105。具体的,结合图6,如图9所示,在上述s101之前,本发明实施例提供的图像块编码中的变换方法还可以包括:s104、视频编码设备根据当前块的分区模式和分区层数n,从多个预设变换集中确定目标变换集。本发明实施例中,由于通过不同的分区模式和不同的分区层数对当前块进行分区,得到至少两个区域时,该当前块可能对应不同的变换集,即对于当前块可能存在多个预设变换集,视频编码设备需要根据该当前块的分区模式和分区层数n,从多个预设变换集中确定目标变换集,然后再根据目标变换集中每一个区域对应的变换对,对每一个区域进行变换。示例性的,下面介绍几种不同分区模式和不同分区层数对应的变换集。(1)分区模式为四叉树分区分模式,分区层数n为1可选的,当前块的分区模式为四叉树分区模式,当前块的分区层数n为1,上述至少两个区域具体为:左上角区域,右上角区域,左下角区域和右下角区域这四个区域;相应地,上述目标变换集包括的左上角区域对应的变换对包括:水平变换核dct-viii和竖直变换核dct-viii;目标变换集包括的右上角区域对应的变换对包括:水平变换核dst-vii和竖直变换核dct-viii;目标变换集包括的左下角区域对应的变换对包括:水平变换核dct-viii和竖直变换核dst-vii;目标变换集包括的右下角区域对应的变换对包括:水平变换核dst-vii和竖直变换核dst-vii。可选的,上述当前块的分区模式为四叉树分区模式,当前块的分区层数n为1,对当前块分区得到的四个区域,可以设置这4个区域的位置索引,每一个位置索引对应一个变换对,结合图8中的(a),例如,左上角区域的位置索引设置为0,右上角区域的位置索引设置为1,左下角区域的位置索引设置为2,右下角区域的位置索引设置为3。一种实现方式中,变换对与区域在当前块中的位置之间的对应关系(即预设变换集)可以为如下表1所示的对应关系。表1区域的位置索引水平变换核竖直变换核0dct-viiidct-viii1dst-viidct-viii2dct-viiidst-vii3dst-viidst-vii(2)分区模式为四叉树分区分模式,分区层数n为2同理,结合上述图8中的(b),当前块的分区模式为四叉树分区模式,当前块的分区层数n为1,变换对与区域在当前块中的位置之间的对应关系可以为如下表2所示的对应关系。表2区域的位置索引水平变换核竖直变换核0dct-viiidct-viii1dct-iidct-viii2dct-iidct-viii3dst-viidct-viii4dct-viiidct-ii5dct-iidct-ii6dct-iidct-ii7dst-viidct-ii8dct-viiidct-ii9dct-iidct-ii10dct-iidct-ii11dst-viidct-ii12dct-viiidst-vii13dct-iidst-vii14dct-iidst-vii15dst-viidst-vii(3)分区模式为二叉树分区分模式,分区层数n为1本发明实施例中,二叉树分区包括水平二叉树分区和竖直二叉树分区,结合上述图8中的(c),对当前块进行水平二叉树分区时,变换对与区域在当前块中的位置之间的对应关系可以为如下表3所示的对应关系。表3区域的位置索引水平变换核竖直变换核0dct-iidct-viii1dct-iidst-vii结合上述图8中的(d),对当前编码块进行竖直二叉树分区时,变换对与区域在当前块中的位置之间的对应关系可以为如下表4所示的对应关系。表4区域的位置索引水平变换核竖直变换核0dct-viiidct-ii1dst-viidct-ii(4)分区模式为二叉树分区分模式,分区层数n为2结合上述图8中的(e),对当前块进行水平二叉树分区时,变换对与区域在当前块中的位置之间的对应关系可以为如下表5或表6所示的对应关系。表5区域的位置索引水平变换核竖直变换核0dct-iidct-viii1dct-iidct-viii2dct-iidst-vii3dct-iidst-vii表6区域的位置索引水平变换核竖直变换核0dct-iidct-viii1dct-iidct-ii2dct-iidct-ii3dct-iidst-vii需要说明的是,本发明实施例中,上述对当前块进行二层水平二叉树分区后,可以根据上述表5所示的变换对,对每一个区域进行变换,或者根据上述表6所示的变换对,对每一个区域进行变换,具体可以根据实际使用需求选择,本发明实施例不作具体限定。结合上述图8中的(f),对当前块进行竖直二叉树分区时,变换对与区域在当前块中的位置之间的对应关系可以为如下表7所示的对应关系。表7区域的位置索引水平变换核竖直变换核0dct-viiidct-ii1dct-iidct-ii2dct-iidct-ii3dst-viidct-ii(5)分区模式为三叉树分区分模式,分区层数n为1本发明实施例中,三叉树分区也包括水平三叉树分区和竖直三叉树分区,结合上述图8中的(g),对当前块进行水平三叉树分区时,变换对与区域在当前块中的位置之间的对应关系可以为如下表8所示的对应关系。表8区域的位置索引水平变换核竖直变换核0dct-iidct-viii1dct-iidct-ii2dct-iidst-vii结合上述图8中的(h),对当前块进行竖直三叉树分区时,变换对与区域在当前块中的位置之间的对应关系可以为如下表9所示的对应关系。表9区域的位置索引水平变换核竖直变换核0dct-viiidct-ii1dct-iidct-ii2dst-viidct-ii(6)分区模式为三叉树分区分模式,分区层数n为2结合上述图8中的(i),对当前块进行水平三叉树分区时,变换对与区域在当前块中的位置之间的对应关系可以为如下表10所示的对应关系。表10区域的位置索引水平变换核竖直变换核0dct-iidct-viii1dct-iidct-viii2dct-iidct-viii3dct-iidct-ii4dct-iidct-ii5dct-iidct-ii6dct-iidst-vii7dct-iidst-vii8dct-iidst-vii结合上述图8中的(j),对当前块进行竖直三叉树分区时,变换对与区域在当前块中的位置之间的对应关系可以为如下表11所示的对应关系。表11区域的位置索引水平变换核竖直变换核0dct-viiidct-ii1dct-viiidct-ii2dct-viiidct-ii3dct-iidct-ii4dct-iidct-ii5dct-iidct-ii6dst-viidct-ii7dst-viidct-ii8dst-viidct-ii结合图6,如图10所示,在上述s101之前,本发明实施例提供的图像块编码中的变换方法还可以包括:s105、视频编码设备根据当前块的预测模式、当前块的分区模式以及分区层数n,从多个预设变换集中确定目标变换集。本发明实施例中,一个待编码块可以通过不同的预测模式进行编码,并且可以通过不同的分区模式和不同的分区层数分为至少两个区域,不同预测模式,不同的分区模式和不同分区层数,该待编码块可能对应不同的变换集,如此,对于当前块,可能存在多个预设变换集,视频编码设备需要根据该当前块的预测模式、分区模式,分区层数n,从多个预设变换集中确定目标变换集,然后再根据目标变换集中每一个区域对应的变换对,对每一个区域进行变换。可选的,本发明实施例中,当前块的预测模式可以包括运动矢量预测模式、合并(merge)模式等等,其中,merge模式为选取当前块的相邻位置的参考块作为当前块的预测块,相邻位置可以包括当前块的左侧、上侧,右上侧、左上侧和左下侧,如此,参考块的位置不同,对应不同的merge模式,例如选取当前块的左侧的参考块,则当前块的预测模式为mergeleft模式;选取当前块的上侧的参考块作为当前块的预测块,则当前块的预测模式为mergeabove模式。示例性的,当前块的预测模式为mergeleft模式时,并且该当前块的分区模式为二叉树分区模式,具体为水平二叉树分区模式,当前块的分区层数n为1,变换对与区域在当前块中的位置之间的对应关系可以为如下表11所示的对应关系。表11区域的位置索引水平变换核竖直变换核0dst-viidct-viii1dst-viidst-vii当前块的预测模式为mergeabove模式时,并且该当前块的分区模式为二叉树分区模式,具体为竖直二叉树分区模式,当前块的分区层数n为1,变换对与区域在当前块中的位置之间的对应关系可以为如下表13所示的对应关系。表13区域的位置索引水平变换核竖直变换核0dct-viiidct-viii1dct-viiidst-vii可以理解的是,离散预先变换(即dct)变换有8种类型,离散正弦变换也有8种类型。示例性的,若上述待变换的向量为x=[x0,x1,...,xn-1]t,该待变换向量经变换后的结果为y=[y0,y1,...,yn-1]t。下面介绍上述实施例涉及到的dct-ii、dct-viii以及dst-vii的变换公式:(1)dct-ii若采用dct-ii对待变换向量进行变换时,可以采用下述公式进行变换:其中,k=0,1,2,…,n-1。(2)dct-viii若采用dct-viii对待变换向量进行变换时,可以采用下述公式进行计算:其中,k=0,1,2,…,n-1。(3)dst-vii若采用dst-vii对待变换向量进行变换时,可以采用下述公式进行计算:其中,k=0,1,2,…,n-1。本发明实施例提供的图像块编码中的变换方法,由于视频编码设备从目标变换集中为组成待编码当前块的至少两个区域中每一个区域确定各自对应的变换对,并且可以根据每一个区域各自对应的变换对,对每一个区域分别进行变换,以得到每一个区域的变换结果,从而根据每一个区域的变换结果以及每一个区域在当前块中的位置,得到当前块的变换结果,与现有的多核变换技术相比,视频编码设备无需再通过率失真代价确定当前块的最终的变换方式,因此,能够降低视频数据编码的复杂度,提高视频数据的编码效率。进一步的,与多核变换技术相比,视频编码设备无需再在码流中写入指示选取变换候选集中的哪一个变换对的指示信息,如此,可以节省视频数据编码花费的开销。进一步的,视频编码设备将对当前块进行分区,得到多个区域,并根据与每一个区域的位置对应的变换对,对每一个区域进行变换的方式实现当前块的变换,可以更加适应图像纹理信息的分布特征,能够提高视频数据的压缩效果。可选的,在视频数据编码的过程中,视频编码设备可以根据上述方法(上述s101-s105描述的方法)对当前块分进行分区的方式得到当前块的变换结果;视频编码设备还可以不对当前块分区,直接对当前块进行变换,得到当前块的变换结果;然后视频编码设备可以根据上述两种变换方法的编码结果(即编码信息),确定两种编码结果分别对应的率失真代价,从而根据率失真代价确定将哪种变换方法得到编码信息作为最终的编码信息。具体的,如图11所示,本发明实施例提供的图像块编码中的变换方法包括可以s201-s206:s201、视频编码设备从目标变换集中为组成待编码当前块的至少两个区域中每一个区域确定各自对应的变换对。s202、视频编码设备根据每一个区域各自对应的变换对,对每一个区域分别进行变换,以得到每一个区域的变换结果。s203、视频编码设备根据每一个区域的变换结果以及每一个区域在当前块中的位置,得到当前块的变换结果。对于s201-s203的具体描述,可以参见上述实施例中对于s101-s103的相关描述,此处不再赘述。s204、视频编码设备根据预设编码方式,直接对当前块进行变换。本发明实施例中,视频编码设备根据预设编码方式,直接对当前块进行变换指的是视频编码设备不对当前块进行分区而直接对当前块进行变换,该预设编码方式可以包括单核变换技术和多核变换技术,其中,单核变换技术指的是当前块的变换对的包括1个,例如,变换对中的水平变换核和竖直变换核均可以为dct-ii;多核变换技术指的是当前块的变换对包括多个,例如变换对包括4个,这4个变换对的水平变换核和竖直变换核分别为:(dct-viii,dct-viii);(dst-vii,dct-viii);(dct-viii,dst-vii);(dst-vii,dst-vii),视频编码设备可以根据多个变换对分别对当前块进行变换,然后通过率失真代价,选择最优的变换对,并将该变换对指示给视频解码设备。需要说明的是,本发明实施例可以不限定上述s201-s203与s204的执行顺序,即可以先执行s201-s203,再执行s204,或者可以先执行s204,再执行s201-s203,也可以同时执行s201-s203与s204。s205、视频编码设备确定第一率失真代价和第二率失真代价。其中,第一率失真代价为对当前块分区域进行变换,得到当前块的变换结果时该当前块的率失真代价,第二率失真代价为对当前块直接进行变换,得到当前块的变换结果时该当前块的率失真代价。本发明实施例中,视频编码设备通过上述s201-s203得到当前块的变换结果,从而可以得到当前块的编码信息,视频编码设备根据当前块的编码信息,计算当前块的第一率失真代价;并且通过上述s204得到的当前块的变换结果,从而可以得到当前块的编码信息,视频编码设备根据当前块的编码信息,计算当前块的第二率失真代价。具体的,可以采用下面的公式,计算率失真代价:j=d+λ*r其中,j表示率失真代价,d为衡量重建图像块与原始图像块之间差异的参数,λ表示拉格朗日乘子(λ可以为预设的常量),r为衡量使用当前编码模式时编码代价的参数(编码代价指的是当前块的编码码流所占的估计比特数)。s206、第一率失真代价小于或者等于第二率失真代价时,视频编码设备确定第一变换指示信息。该第一变换指示信息用于指示视频解码设备当前块需要分区域进行反变换。本发明实施例中,在第一率失真代价大于第二率失真代价时,上述第一变换指示信息用于指示视频解码设备当前块不需要分区域进行反变换。可选的,本发明实施例中,可以采用“0”表示当前块需要分区域进行反变换,也可以采用“1”表示当前块需要分区域进行反变换,具体可以根据实际情况选择合适的标识用来表示当前块需要分区域进行反变换,本发明实施例不作限定。同理,可以采用“0”表示当前块不需要分区域进行反变换,也可以采用“1”表示当前块不需要分区域进行反变换,具体可以根据实际情况选择合适的标识用来表示当前块不需要分区域进行反变换,本发明实施例不作限定。需要说明的是,本发明实施例中,如果采用“1”表示当前块需要分区域进行反变换,那么可以采用“0”表示当前块不需要分区域进行反变换。本发明实施例中,视频编码设备确定第一变换指示信息之后,视频编设备可以在当前块所在的码流层次对应的码流中写入第一变换指示信息,以指示视频解码设备当前块是否需要分区域进行反变换。本发明实施例中,视频编码设备通过上述s201-s203所述的方法实现对当前块的变换,并且通过s204所述的方法实现对当前块的变换,然后视频编码设备可以根据两种方法中各自对应的率失真代价,确定哪一种方法的编码效果较好,具体的,率失真代价越小,编码效果越好。综上,结合对当前块分区域进行变换方法和不分区域进行变换的方法,实现视频数据的编码,可以在整体上提高视频数据的编码效率。可选的,结合s201-s206的相关描述,视频编码设备对视频数据进行编码时,还可以在视频数据的序列层、图像层或者条带层对应的码流中写入第二变换指示信息,该第二变换指示信息用于指示视频解码设备视频数据的序列层、图像层或者条带层中是否存在需要分区域进行变换的待编码块。示例性的,对于视频数据的一个视频帧,若视频编码设备确定该视频帧包括的所有待编码块中有一部分待编码块需要分区域进行变换,则视频编码设备在视频帧对应的图像层的图像头中写入第二变换指示信息,该第二变换指示用于信息指示图像层中存在需要分区域进行变换的待编码块。若视频编码设备确定该视频帧包括的所有待编码块均不需要分区域进行变换,则视频编码设备在视频帧对应的图像层的图像头中写入第二变换指示信息,该第二变换指示信息用于指示图像层中不存在需要分区域进行变换的待编码块。上述视频编码设备确定视频帧包括的所有待编码块均不需要分区域进行变换时,视频编码设备在视频帧对应的图像层的图像头中写入第二变换指示信息,以指示图像层中不存在需要分区域进行变换的待编码块,在这种情况下,视频编码设备无需再在每一个待编码块所在的码流层次对应的码流中写入变换指示信息了,如此,能够节省视频数据编码所需的开销。对于视频数据解码的场景,以一个待解码当前块(与上述待编码当前块对应的图像块)为例说明本发明实施例提供的图像块解码中的反变换方法,如图12所示,该方法可以包括s301-303:s301、视频解码设备从目标变换集中为组成待解码当前块的至少两个区域中每一个区域确定各自对应的变换对。其中,该至少两个区域不相互重叠;该目标变换集包括变换对与区域在当前块(以下在视频数据解码过程中,当前块均指的是待解码当前块)中的位置之间的对应关系,该变换对包括水平变换核和竖直变换核。可选的,本发明实施例中,上述目标变换集中包括的至少两个变换对可以相同或者不同。上述组成待解码当前块的至少两个区域可以通过如下方式获得:视频解码设备根据预设分区模式,对当前块进行n层分区,以得到至少两个区域。其中,1≤n≤n1,n1为最大分区层数;该预设分区模式包括下述分区模式中的至少一种:四叉树分区模式、二叉树分区模式或三叉树分区模式。可选的,上述视频解码设备根据预设分区模式,对当前块进行n层分区,以得到至少两个区域的方法可以包括:视频解码设备确定当前块是否满足分区条件,该分区条件为当前块的宽度大于预设宽度阈值,或者当前块的高度大于预设高度阈值;在确定当前块满足分区条件时,视频解码设备根据预设分区模式,对当前块进行n层分区,以得到至少两个区域。可选的,上述视频解码设备根据预设分区模式,对当前块进行n层分区,以得到至少两个区域的方法还可以包括:视频解码设备解析当前块所在的码流层次对应的码流,得到第一变换指示信息,该第一变换指示信息用于指示当前块是否需要分区域进行反变换;并且在该第一变换指示信息指示当前块需要分区域进行反变换时,视频解码设备根据预设分区模式,对当前块进行n层分区,以得到至少两个区域。可选的,上述视视频解码设备解析当前块所在的码流层次对应的码流,得到第一变换指示信息的方法可以包括:视频解码设备解析当前块所在的序列层、图像层或者条带层对应的码流,得到第二变换指示信息,该第二变换指示信息用于指示序列层、图像层或者条带层中是否存在需要分区域进行反变换的待解码块;在第二变换指示信息指示序列层、图像层或者条带层存在需要分区域进行反变换的待解码块时,解析当前块所在的码流层次对应的码流,得到第一变换指示信息。s302、视频解码设备根据每一个区域各自对应的变换对,对每一个区域分别进行反变换,以得到每一个区域的反变换结果。本发明实施例中,视频解码设备确定出当前块的至少两个区域中每一个区域各自对应的变换对之后,视频解码设备根据与每一个区域的位置对应的变换对,对每一个区域,采用变换对中的水平变换核进行水平反变换,并且采用变换对中的竖直变换核进行竖直反变换。示例性的,以当前块的一个区域为例,该区域对应的残差块(经过反量化后的残差块)记为b,若该区域对应的变换对中水平变换核为dst-vii,竖直变换核为dct-viii。其中,dst-vii对应的变换矩阵为x,dct-viii对应的变换矩阵为y,则对该区域b进行反变换结果r'为:r'=ytbxt其中,yt为y的转置,xt为x的转置。s303、视频解码设备根据每一个区域的反变换结果以及每一个区域在当前块中的位置,得到当前块的反变换结果。其中,当前块的反变换结果可以为当前块的预测残差。本发明实施例中,视频解码设备得到当前块的每一个区域的反变换结果之后,该视频解码设备可以根据按照每一个区域在当前块中的位置,将当前块的所有区域的反变换结果拼接起来,得到当前块的反变换结果,然后视频解码设备可以根据当前块的反变换结果(即重建残差块)和预测块,得到当前块对应的重建图像块。需要说明的是,视频数据解码过程是视频数据编码过程的反过程,上述视频编码设备通过s101-s103的方法对视频数据进行编码,则视频解码设备通过s301-s303对视频数据进行解码。对于s301-s303的具体描述,可以参考对于s101-s103的描述,此处不再赘述。需要说明的是,上述视频解码设备解析当前块所在的码流层次对应的码流,得到第一变换指示信息,若该第一变换指示信息指示当前块不需要分区域进行反变换,则视频解码设备采用与视频编码设备对待编码当前块进行变换时所使用的变换对,直接对该当前块进行反变换。上述视频解码设备解析当前块所在的序列层、图像层或者条带层对应的码流,得到第二变换指示信息,若该第二变换指示信息指示序列层、图像层或者条带层中不存在需要分区域进行反变换的待解码块,则视频解码设备对直接序列层、图像层或者条带层中所有待解码块进行反变换。本发明实施例提供的图像块解码中的反变换方法,应用于视频数据解码的场景,由于视频解码设备可以从目标变换集中为组成待解码当前块的至少两个区域中每一个区域确定各自对应的变换对,并且可以根据每一个区域各自对应的变换对,对每一个区域分别进行反变换,以得到每一个区域的反变换结果,从而根据每一个区域的反变换结果以及每一个区域在当前块中的位置,得到当前块的反变换结果,与现有技术中,直接对当前块进行反变换的方法相比,能够提高视频数据的解码效率,从而改善视频数据中图像的重建质量。可选的,在上述s301之前,本发明实施例提供的图像块解码中的反变换方法还可以包括s304或s305。具体的,结合图12,如图13所示,在上述s301之前,本发明实施例提供的图像块解码中的反变换方法还可以包括:s304、视频解码设备根据当前块的分区模式和和分区层数n,从多个预设变换集中确定目标变换集。本发明实施例中,当前块的分区模式为四叉树分区模式,当前块的分区层数n为1,上述至少两个区域具体为:左上角区域,右上角区域,左下角区域和右下角区域四个区域;相应地,目标变换集包括的左上角区域对应的变换对包括:水平变换核dct-viii和竖直变换核dct-viii;目标变换集包括的右上角区域对应的变换对包括:水平变换核dst-vii和竖直变换核dct-viii;目标变换集包括的左下角区域对应的变换对包括:水平变换核dct-viii和竖直变换核dst-vii;目标变换集包括的右下角区域对应的变换对包括:水平变换核dst-vii和竖直变换核dst-vii。结合图12,如图14所示,在上述s301之前,本发明实施例提供的图像块解码中的反变换方法还可以包括:s305、视频解码设备根据当前块的预测模式、当前块的分区模式以及分区层数n,从多个预设变换集中确定目标变换集。对于s304和s305的具体描述,可以参见上述实施例中对于s104和s105(即视频编码设备确定目标变换集)的相关描述,此处不再赘述。上述主要从各个网元的角度对本发明实施例提供的方案进行了介绍。可以理解的是,各个网元,例如视频编码设备、视频解码设备等为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本发明实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。本发明实施例可以根据上述方法示例对视频编码设备和视频解码设备等进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在采用对应各个功能划分各个功能模块的情况下,图15示出了上述实施例中所涉及的视频编码设备的一种可能的结构示意图,如图15所示,该视频编码设备可以包括:确定模块30和变换模块31。确定模块30可以用于支持视频编码设备执行上述方法实施例中的s101、s104、s105、s201、s205以及s206;变换模块31可以用于支持视频编码设备执行上述方法实施例中的s102、s103、s202、s203以及s204;可选的,如图15所示,该视频编码设备还可以包括分区模块32,该分区模块32可以支持视频编码设备对当前块进行分区,得到组成该当前块的至少两个区域。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。在采用集成的单元的情况下,图16示出了上述实施例中所涉及的视频编码设备的一种可能的结构示意图。如图16所示,该视频编码设备可以包括:处理模块40和通信模块41。处理模块40可以用于对视频编码设备的动作进行控制管理,处理模块40可以用于支持视频编码设备执行上述方法实施例中的s101-s105和s201-206,和/或用于本文所描述的技术的其它过程。通信模块41可以用于支持视频编码设备与其他网络实体的通信。可选的,如图16所示,该视频编码设备还可以包括存储模块42,用于存储视频编码设备的程序代码和数据。其中,处理模块40可以是处理器或控制器(例如可以是上述如图4所示的视频编码器12),例如可以是cpu、通用处理器、dsp、asic、fpga或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明实施例公开内容所描述的各种示例性的逻辑方框、模块和电路。上述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等等。通信模块41可以是收发器、收发电路或通信接口等(例如可以是上述如图4所示的输出接口13)。存储模块42可以是存储器(例如可以是上述如图4所示的存储器11)。当处理模块40为处理器,通信模块41为收发器,存储模块42为存储器时,处理器、收发器和存储器可以通过总线连接。总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。在采用对应各个功能划分各个功能模块的情况下,图17示出了上述实施例中所涉及的视频解码设备的一种可能的结构示意图,如图17所示,该视频解码设备可以包括:确定模块50和反变换模块51。确定模块50可以用于支持视频解码设备执行上述方法实施例中的s301、s304以及s305;反变换模块51可以用于支持视频解码设备执行上述方法实施例中的s302;可选的,如图17所示,该视频解码设备还可以包括分区模块52和解析模块53,该分区模块52可以用于支持视频解码设备对当前块进行分区,得到组成该当前块的至少两个区域;该解析模块53可以用于支持视频解码设备解析当前块所在的码流层次对应的码流,得到第一变换指示信息,或者支持视频解码设备解析当前块所在的序列层、图像层或者条带层对应的码流,得到第二变换指示信息。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。在采用集成的单元的情况下,图18示出了上述实施例中所涉及的视频解码设备的一种可能的结构示意图。如图18所示,该视频解码设备可以包括:处理模块60和通信模块61。处理模块60可以用于对视频解码设备的动作进行控制管理,处理模块60可以用于支持视频解码设备执行上述方法实施例中的s301-s305,和/或用于本文所描述的技术的其它过程。通信模块61可以用于支持视频解码设备与其他网络实体的通信。可选的,如图18所示,该视频解码设备还可以包括存储模块62,用于存储视频解码设备的程序代码和数据。其中,处理模块60可以是处理器或控制器(例如可以是上述如图5所示的视频解码器21),例如可以是cpu、通用处理器、dsp、asic、fpga或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明实施例公开内容所描述的各种示例性的逻辑方框、模块和电路。上述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等等。通信模块61可以是收发器、收发电路或通信接口等(例如可以是上述如图5所示的输入接口20),存储模块62可以是存储器。当处理模块60为处理器,通信模块61为收发器,存储模块62为存储器时,处理器、收发器和存储器可以通过总线连接。总线可以是pci总线或eisa总线等。总线可以分为地址总线、数据总线、控制总线等。在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机指令时,全部或部分地产生按照本发明实施例中的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digitalsubscriberline,dsl))方式或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、磁盘、磁带)、光介质(例如,数字视频光盘(digitalvideodisc,dvd))、或者半导体介质(例如固态硬盘(solidstatedrives,ssd))等。通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1