视频编码方法及装置、视频解码方法及装置与流程

未命名 08-22 阅读:91 评论:0


1.本技术涉及通信领域,尤其涉及一种视频编码方法及装置、视频解码方法及装置。


背景技术:

2.在视频编码时,图像块的残差数据的分布通常是不均匀的。直接对这样的残差数据进行变换等技术处理时,处理效果差,编码效率低。
3.在现有技术中,对于分布不均的残差数据,通常通过将残差数据持续不断地、均匀地四等分,直至划分为不能继续划分的小块后,算出最优拓扑结构,从而进行编码。这类方法的计算复杂度非常高,视频压缩所消耗的编码时间较长,编码效率低,对整体性能提升有限。


技术实现要素:

4.为了解决上述技术问题,提出了本技术。本技术实施例提供了一种视频编码方法及装置、视频解码方法及装置。
5.第一方面,本技术一实施例提供了一种视频编码方法,该方法包括:获取视频帧中的目标图像块对应的第一残差矩阵;将第一残差矩阵划分为多个第二残差矩阵;根据多个第二残差矩阵各自包含的元素,确定多个第二残差矩阵各自的第一特征值;根据多个第二残差矩阵各自的第一特征值,对多个第二残差矩阵进行分组,得到与分组数量相同的多个第三残差矩阵;基于多个第三残差矩阵、多个第二残差矩阵与多个第三残差矩阵的对应关系,确定目标图像块的第一编码数据。
6.结合第一方面,在第一方面的某些实现方式中,根据多个第二残差矩阵各自的第一特征值,对多个第二残差矩阵进行分组,得到与分组数量相同的多个第三残差矩阵,包括:按照多个第二残差矩阵各自的第一特征值的大小,对多个第二残差矩阵进行排序;将排序后的多个第二残差矩阵进行分组,得到多个组;分别将多个组各自包含的第二残差矩阵进行融合,得到与分组数量相同的多个第三残差矩阵。
7.结合第一方面,在第一方面的某些实现方式中,根据多个第二残差矩阵各自包含的元素,确定多个第二残差矩阵各自的第一特征值,包括:计算多个第二残差矩阵各自包含的元素的绝对值之和或平方数之和;基于多个第二残差矩阵各自包含的元素的绝对值之和或平方数之和,确定多个第二残差矩阵各自的第一特征值。
8.结合第一方面,在第一方面的某些实现方式中,该方法还包括:将多个第三残差矩阵进行分组,得到多个集合,每个集合包括至少一个第三残差矩阵;针对每个第二残差矩阵,基于各个集合是否包含第二残差矩阵,确定第二残差矩阵的第一判断结果;基于包含第二残差矩阵的集合中的第三残差矩阵是否包含第二残差矩阵,确定第二残差矩阵的第二判断结果;根据多个第二残差矩阵各自的第一判断结果与第二判断结果,确定多个第二残差矩阵与多个第三残差矩阵的对应关系。
9.结合第一方面,在第一方面的某些实现方式中,该方法还包括:根据第一残差矩
阵,确定目标图像块的第二编码数据;确定第一编码数据和第二编码数据各自的编码成本;将第一编码数据和第二编码数据中的编码成本更低的编码数据作为目标图像块的最终编码数据。
10.结合第一方面,在第一方面的某些实现方式中,编码成本是基于编码数据的编码长度、以及编码数据对应的失真数据确定的。
11.结合第一方面,在第一方面的某些实现方式中,第二残差矩阵的数量小于或者等于第一残差矩阵的行数或者列数中较大值的二分之一。
12.第二方面,本技术一实施例提供了一种视频解码方法,该方法包括:获取视频帧中的目标图像块的第一编码数据,其中,第一编码数据是基于第一方面所述的视频编码方法确定的;对第一编码数据进行解析,获取第一编码数据对应的多个第三残差恢复矩阵、以及多个第二残差恢复矩阵与多个第三残差恢复矩阵的对应关系;根据多个第二残差恢复矩阵与多个第三残差恢复矩阵的对应关系,对第三残差恢复矩阵进行拆解,确定视频帧中的目标图像块对应的第一残差恢复矩阵;基于第一残差恢复矩阵,将第一编码数据解码为目标图像块。
13.第三方面,本技术一实施例提供了一种视频编码装置,该装置包括:获取模块,用于获取视频帧中的目标图像块对应的第一残差矩阵;划分模块,用于将第一残差矩阵划分为多个第二残差矩阵;确定模块,用于根据多个第二残差矩阵各自包含的元素,确定多个第二残差矩阵各自的第一特征值;分组模块,用于根据多个第二残差矩阵各自的第一特征值,对多个第二残差矩阵进行分组,得到与分组数量相同的多个第三残差矩阵;编码模块,用于基于多个第三残差矩阵、多个第二残差矩阵与多个第三残差矩阵的对应关系,确定目标图像块的第一编码数据。
14.第四方面,本技术一实施例提供了一种视频解码装置,该装置包括:获取模块,用于获取视频帧中的目标图像块的第一编码数据,其中,第一编码数据是第一方面所述的视频编码方法确定的;解析模块,用于对第一编码数据进行解析,获取第一编码数据对应的多个第三残差恢复矩阵、以及多个第二残差恢复矩阵与多个第三残差恢复矩阵的对应关系;确定模块,用于根据多个第二残差恢复矩阵与多个第三残差恢复矩阵的对应关系,对第三残差恢复矩阵进行拆解,确定视频帧中的目标图像块对应的第一残差恢复矩阵;解码模块,用于基于第一残差恢复矩阵,将第一编码数据解码为目标图像块。
15.第五方面,本技术一实施例提供了一种电子设备,该设备包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,处理器配置为经由执行可执行指令来执行第一方面所述的视频编码方法和/或第二方面所述的视频解码方法。
16.第六方面,本技术一实施例提供了一种计算机可读存储介质,存储有计算机程序,其中,计算机程序被处理器执行时实现第一方面所述的视频编码方法和/或第二方面所述的视频解码方法。
17.本技术实施例提供的视频编码方法,利用残差数据的分布特性,将目标图像块对应的第一残差矩阵进行划分,划分为多个第二残差矩阵,并根据多个第二残差矩阵各自的第一特征值,将多个第二残差矩阵分组组合为多个第三残差矩阵,使得每个第三残差矩阵拥有分布较为均匀的残差数据,并基于多个第三残差矩阵、多个第二残差矩阵与多个第三残差矩阵的对应关系,确定目标图像块的第一编码数据,使得第一残差矩阵的划分更加灵
活,简化了第一残差矩阵的均匀化处理过程,降低了计算复杂度,提升了编码效率及整体编码性能,此外,还有利于降低数据冗余及图像失真幅度,提高压缩效率。
附图说明
18.通过结合附图对本技术实施例进行更详细的描述,本技术的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本技术实施例的进一步理解,并且构成说明书的一部分,与本技术实施例一起用于解释本技术,并不构成对本技术的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
19.图1所示为本技术一实施例提供的残差矩阵中的残差数据的可视化三维分布示意图。
20.图2所示为本技术一实施例提供的视频编码方法的流程示意图。
21.图3所示为本技术一实施例提供的对多个第二残差矩阵进行分组并得到与分组数量相同的多个第三残差矩阵的流程示意图。
22.图4所示为本技术一实施例提供的确定多个第二残差矩阵各自的第一特征值的流程图。
23.图5所示为本技术另一实施例提供的视频编码方法的流程示意图。
24.图6所示为本技术又一实施例提供的视频编码方法的流程示意图。
25.图7所示为本技术一实施例提供的视频解码方法的流程示意图。
26.图8所示为本技术一实施例提供的视频编码装置的结构示意图。
27.图9所示为本技术一实施例提供的视频解码装置的结构示意图。
28.图10所示为本技术一实施例提供的电子设备的结构示意图。
具体实施方式
29.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
30.在视频编码时,图像块的残差数据的分布通常是不均匀的。直接对这样的残差数据进行变换和/或量化等技术处理时,处理效果差,编码效率低。
31.在现有技术中,对于分布不均的残差数据,通常通过将残差数据持续不断地、均匀地四等分,直至划分为不能继续划分的小块后,算出最优拓扑结构,从而进行编码。这类方法的计算复杂度非常高,视频压缩所消耗的编码时间较长,编码效率低,对整体性能提升有限。
32.图1所示为本技术一实施例提供的残差矩阵中的残差数据的可视化三维分布示意图。如图1所示,残差数据明显不是均匀分布的,且变化幅度很大。然而,残差数据具有一定的相关性,即某一个像素的残差数据较大,则它的相邻像素也有很大的概率残差较大。本技术实施例提供一种视频编码方法,利用残差数据的这种分布特性对残差矩阵进行处理,更有效率地将残差数据相近的区域组织在一起,从而提升编码效率,提升整体编码性能。
33.图2所示为本技术一实施例提供的视频编码方法的流程示意图。如图2所示,本申
请实施例提供的视频编码方法包括如下步骤。
34.步骤10,获取视频帧中的目标图像块对应的第一残差矩阵。
35.具体地,目标图像块为视频编码时图像切割后的任意的图像块。第一残差矩阵包含目标图像块对应的残差数据。
36.步骤20,将第一残差矩阵划分为多个第二残差矩阵。
37.示例性地,将32
×
32的第一残差矩阵划分为32个32
×
1的第二残差矩阵,或者划分为16个8
×
8的第二残差矩阵,或者划分为8个8
×
16的第二残差矩阵,划分方式灵活。第二残差矩阵的行数、列数及数量可以根据实际情况进行设置,本实施例对此不做具体限定。在一些实施例中,第二残差矩阵的行数和列数为1或2的正整数次幂。
38.在一些实施例中,为了支持具有多种行数和列数的第二残差矩阵,在当前编码中增加对应的字节,以表明第一残差矩阵进行划分时,使用的第二残差矩阵的行数和列数。这样能够更加灵活地划分第一残差矩阵,以便更好地将第一残差矩阵的具有不同整体特征的区域区分开来。
39.步骤30,根据多个第二残差矩阵各自包含的元素,确定多个第二残差矩阵各自的第一特征值。
40.具体地,每个第二残差矩阵各自的第一特征值基于每个第二残差矩阵自身包含的元素获得,用于表征其对应的第二残差矩阵的残差数据的整体特征。第一特征值可以是任意能够体现对应的第二残差矩阵的残差数据的整体特征的值,可以根据实际情况进行设置,本实施例不做具体限定。
41.步骤40,根据多个第二残差矩阵各自的第一特征值,对多个第二残差矩阵进行分组,得到与分组数量相同的多个第三残差矩阵。
42.示例性地,第二残差矩阵的数量为32个,得到32个第二残差矩阵各自的第一特征值,将第一特征值相近的第二残差矩阵划分为一个组。示例性地,将第二残差矩阵划分为8组,得到8个第三残差矩阵,每个第三残差矩阵包含4个第二残差矩阵。分组方式及分组数量可以根据实际情况进行设置,本实施例对此不作具体限定。在一些实施例中,每个组内的第二残差矩阵数量相同。在一些实施例中,第三残差矩阵的行数与列数相等,或者其行数与列数之比与第二残差矩阵的行数与列数之比相同。
43.步骤50,基于多个第三残差矩阵、多个第二残差矩阵与多个第三残差矩阵的对应关系,确定目标图像块的第一编码数据。
44.具体地,多个第二残差矩阵与多个第三残差矩阵的对应关系指每个第二残差矩阵划分到了对应的哪个第三残差矩阵。示例性地,结合上个示例,基于得到的8个第三残差矩阵,以及32个第二残差矩阵分别划分至8个第三残差矩阵中的哪一个第三残差矩阵,即32个第二残差矩阵与8个第三残差矩阵的对应关系,确定目标图像块的第一编码数据。
45.本技术实施例中的技术方案,利用残差数据的分布特性,将目标图像块对应的第一残差矩阵进行划分,划分为多个第二残差矩阵,并根据多个第二残差矩阵各自的第一特征值,将多个第二残差矩阵分组组合为多个第三残差矩阵,使得每个第三残差矩阵拥有分布较为均匀的残差数据,在此基础上再进行视频编码,确定第一编码数据,能够更灵活地划分第一残差矩阵,简化了第一残差矩阵的均匀化处理过程,降低了计算复杂度,提升了编码效率及整体编码性能,并有利于降低数据冗余及图像失真幅度,提高压缩效率。
46.图3所示为本技术一实施例提供的对多个第二残差矩阵进行分组并得到与分组数量相同的多个第三残差矩阵的流程示意图。在图2所示实施例的基础上延伸出图3所示实施例,下面着重叙述图3所示实施例与图2所示实施例的不同之处,相同之处不再赘述。
47.如图3所示,根据多个第二残差矩阵各自的第一特征值,对多个第二残差矩阵进行分组,得到与分组数量相同的多个第三残差矩阵,包括如下步骤。
48.步骤401,按照多个第二残差矩阵各自的第一特征值的大小,对多个第二残差矩阵进行排序。
49.步骤402,将排序后的多个第二残差矩阵进行分组,得到多个组。
50.步骤403,分别将多个组各自包含的第二残差矩阵进行融合,得到与分组数量相同的多个第三残差矩阵。
51.具体地,是将每个组内的多个第二残差矩阵进行融合,得到每个组对应的第三残差矩阵。在第三残差矩阵内,每个第二残差矩阵的各自的元素仍按每个第二残差矩阵的元素的原来的相对位置排列。示例性地,其中一个组包含2个4
×
4的第二残差矩阵:矩阵矩阵则此组对应的第三残差矩阵的一种形式为:融合时,第二残差矩阵的具体位置和顺序可以根据实际需要进行设置,本实施例不做具体限定。
52.在一些实施例中,第二残差矩阵的数量为16个,获取16个第二残差矩阵各自对应的第一特征值后,按照16个第一特征值从小到大顺序,对16个残差矩阵进行排序,即16个第二残差矩阵按照各自包含的残差数据的整体特征进行排序。将排序后的16个第二残差矩阵进行分组,示例性地,划分后得到4个组,则每组有残差数据整体特征相近的4个第二残差矩阵。将4个组各自的4个第二残差矩阵进行融合,得到4个第三残差矩阵。
53.通过本实施例的技术方案,利用第一特征值的大小,对多个第二残差矩阵进行排序、分组、融合,有效地将残差数据整体特性相近的第二残差矩阵融合在一起,使得每个第三残差矩阵的残差数据具有较为平缓的分布,从而便于进行后续的技术处理,如变换、量化、熵编码等,提升技术处理效果与编码效率。
54.图4所示为本技术一实施例提供的确定多个第二残差矩阵各自的第一特征值的流程图。在图2所示实施例的基础上延伸出图4所示实施例,下面着重叙述图4所示实施例与图2所示实施例的不同之处,相同之处不再赘述。
55.如图4所示,根据多个第二残差矩阵各自包含的元素,确定多个第二残差矩阵各自的第一特征值,包括如下步骤。
56.步骤301,计算多个第二残差矩阵各自包含的元素的绝对值之和或平方数之和。
57.示例性地,第二残差矩阵则上述和为|c
11
|+|c
12
|+|c
21
|+|c
22
|,或者为
58.步骤302,基于多个第二残差矩阵各自包含的元素的绝对值之和或平方数之和,确定多个第二残差矩阵各自的第一特征值。
59.示例性地,结合上述示例,第二残差矩阵c的第一特征值基于|c
11
|+|c
12
|+|c
21
|+|c22
|或者为确定,即第一特征值可以为前述的和,或者为在前述的和的基础上再进行其他运算得到的其他值。
60.通过本实施例的技术方案,对于每个第二残差矩阵,基于其各自包含的元素的绝对值之和或平方数之和确定其各自对应的第一特征值,能够很好地反映每个第二残差矩阵的残差数据的整体特征。示例性地,对于某个第二残差矩阵,其第一特征值在所有第一特征值中为最大,则能够判断相对其他第二残差矩阵,此第二残差矩阵的残差数据整体偏大。
61.图5所示为本技术另一实施例提供的视频编码方法的流程示意图。在图2所示实施例的基础上延伸出图5所示实施例,下面着重叙述图5所示实施例与图2所示实施例的不同之处,相同之处不再赘述。
62.如图5所示,在确定目标图像块的第一编码数据之前,还包括如下步骤。
63.步骤42,将多个第三残差矩阵进行分组,得到多个集合,每个集合包括至少一个第三残差矩阵。
64.多个第三残差矩阵的分组方式以及分组得到的集合数量可以根据实际需要进行设置,本实施例不做具体限定。
65.步骤44,针对每个第二残差矩阵,基于各个集合是否包含第二残差矩阵,确定第二残差矩阵的第一判断结果。
66.具体地,第一判断结果表示某个第二残差矩阵是否包含于某个由至少一个第三残差矩阵组成的集合。第一判断结果具体表示形式可以根据实际情况进行设置,本实施例不做具体限定。示例性地,对于第二残差矩阵d,如果其属于集合set0,则其对应的第一判断结果为“是”,用1个bit“1”表示。如果其不包含于集合set0时,说明第二残差矩阵d包含于其他集合,则其对应的第一判断结果为“否”,用1个bit“0”表示。
67.步骤46,基于包含第二残差矩阵的集合中的第三残差矩阵是否包含第二残差矩阵,确定第二残差矩阵的第二判断结果。
68.具体地,第二判断结果表示包含于某个集合的某个第二残差矩阵是否包含于此集合中的某个第三残差矩阵。第二判断结果的具体表示形式可以根据实际情况进行设置,本实施例不做具体限定。示例性地,结合上述示例,若第二残差矩阵d包含于集合set0,集合set0包含第三残差矩阵e、f,则需要进一步判断其是否包含于集合set0中的第三残差矩阵e。当第二残差矩阵d包含于第三残差矩阵e,则第二判断结果为“是”,可以用1个bit“1”表示。当第二残差矩阵d不包含于第三残差矩阵e,则说明第二残差矩阵d包含与第三残差矩阵f,第二判断结果为“否”,可以用1个bit“0”表示。
69.步骤48,根据多个第二残差矩阵各自的第一判断结果与第二判断结果,确定多个第二残差矩阵与多个第三残差矩阵的对应关系。
70.通过先判断每个第二残差矩阵包含于的第三残差矩阵集合,再判断其包含于的第三残差矩阵集合中的第三残差矩阵,则可以获取第一残差矩阵中的多个第二残差矩阵与多个第三残差矩阵的对应关系。本技术实施例中的技术方案,不需要用遍历的形式依次确定每个第二残差矩阵包含于的第三残差矩阵,可以占用较少的字节即可表示多个第二残差矩阵与多个第三残差矩阵的对应关系,提升了编码效率。
71.图6所示为本技术又一实施例提供的视频编码方法的流程示意图。在图2所示实施例的基础上延伸出图6所示实施例,下面着重叙述图6所示实施例与图2所示实施例的不同
之处,相同之处不再赘述。
72.如图6所示,本实施例提供的视频编码方法还包括如下步骤。
73.步骤60,根据第一残差矩阵,确定目标图像块的第二编码数据。
74.具体地,通过采用任意与第一编码数据对应的处理第一残差矩阵的方式不同的方式,对同一目标图像块的第一残差矩阵进行处理,获得第二编码数据。获取第二编码数据时,处理第一残差矩阵的方式可以根据实际情况进行设置,本实施例不做具体限定。示例性地,第二编码数据对应的处理第一残差矩阵的方式为不对第一残差矩阵进行划分,并直接对第一残差矩阵进行变换等处理,确定第二编码数据。
75.步骤70,确定第一编码数据和第二编码数据各自的编码成本。
76.编码成本为判断两种编码数据哪种较优的标准,可以根据实际情况进行设置,本实施例不做具体限定。示例性地,编码成本为编码数据的编码长度。
77.步骤80,将第一编码数据和第二编码数据中的编码成本更低的编码数据作为目标图像块的最终编码数据。
78.由于存在第一残差矩阵的残差数据分布较为均匀或其他特殊情况,第一残差矩阵可能更适用其他的处理方式进行处理。通过本实施例的方案对视频编码方法进行评估,以编码成本为评估标准,选择编码成本较低的编码数据作为最终编码数据,有利于提升编码效率和整体编码性能。
79.在一些实施例中,用1个字节表示最终编码数据为第一编码数据还是第二编码数据。
80.在一些实施例中,编码成本是基于编码数据的编码长度、以及编码数据对应的失真数据确定的。失真数据可以通过对编码数据模拟解码确定,本实施例对此不做具体限定。编码成本基于编码长度及失真数据确定,可以从整体上对编码方法进行比较全面地性能评估。示例性地,编码成本为权重系数与失真数据之积与编码长度的和。权重系数可以根据实际情况进行设置,本实施例不做具体限定。
81.在一些实施例中,第二残差矩阵的数量小于或者等于第一残差矩阵的行数或者列数中较大值的二分之一。
82.由于第一编码数据基于多个第二残差矩阵与多个第三残差矩阵的对应关系确定,当第二残差矩阵的数量过多时,虽然能提高第一残差矩阵的后续处理的压缩效果,但是,由于对应关系也需要保存在编码数据中,第二残差矩阵的数量过多会降低对应关系信息的压缩效果。因此,需要适度地选择经划分第一残差矩阵获取的第二残差矩阵的数量。当第二残差矩阵的数量小于或者等于第一残差矩阵的行数或者列数中较大值的二分之一时,能够得到较好地平衡第一残差矩阵的后续处理的压缩效果与对应关系信息的压缩效果。
83.示例性地,第一残差矩阵为m
×
n的矩阵,其中,m≥n,则第二残差矩阵的数量小于或者等于
84.图7所示为本技术一实施例提供的视频解码方法的流程示意图。如图7所示,本技术实施例提供的视频解码方法包括如下步骤。
85.步骤71,获取视频帧中的目标图像块的第一编码数据。
86.其中,第一编码数据是基于前文所述的视频编码方法确定的。在一些实施例中,步
骤71还包括对目标图像块的编码数据进行解析,确定此编码数据为第一编码数据。
87.步骤72,对第一编码数据进行解析,获取第一编码数据对应的多个第三残差恢复矩阵、以及多个第二残差恢复矩阵与多个第三残差恢复矩阵的对应关系。
88.第三残差恢复矩阵和第二残差恢复矩阵中的残差数据为编码端的原始残差数据的恢复数据,可能与原始残差数据相同,也可能不同。示例性地,编码端对第三残差矩阵进行变换和量化后,在解码端,解码得到的对应的残差数据便于第三残差矩阵中原始的残差数据不同。
89.步骤73,根据多个第二残差恢复矩阵与多个第三残差恢复矩阵的对应关系,对第三残差恢复矩阵进行拆解,确定视频帧中的目标图像块对应的第一残差恢复矩阵。
90.具体地,根据多个第二残差恢复矩阵与多个第三残差恢复矩阵的对应关系,可以将第三残差恢复矩阵中的残差数据填写到第一残差矩阵中对应的第二残差恢复矩阵的位置,从而完成第三残差恢复矩阵的拆解,还原得到第一残差恢复矩阵。
91.步骤74,基于第一残差恢复矩阵,将第一编码数据解码为目标图像块。
92.本实施例提供的方案,对基于前文所述的视频编码方法确定的第一编码数据进行解码,能够将第三残差恢复矩阵中的残差数据还原,确定视频帧中的目标图像块对应的第一残差恢复矩阵,有利于降低图像失真幅度,获得更高的图像质量。
93.上文结合图2至图6,详细描述了本技术的视频编码方法的实施例,下面结合图8,详细描述本技术的视频编码装置的实施例。应理解,视频编码方法的实施例的描述与视频编码装置的实施例的描述相互对应,因此,未详细描述的部分可以参见前面的方法实施例。
94.图8所示为本技术一实施例提供的视频编码装置的结构示意图。如图8所示,本技术实施例提供的视频编码装置包括:
95.获取模块81,用于获取视频帧中的目标图像块对应的第一残差矩阵;
96.划分模块82,用于将第一残差矩阵划分为多个第二残差矩阵;
97.确定模块83,用于根据多个第二残差矩阵各自包含的元素,确定多个第二残差矩阵各自的第一特征值;
98.分组模块84,用于根据多个第二残差矩阵各自的第一特征值,对多个第二残差矩阵进行分组,得到与分组数量相同的多个第三残差矩阵;
99.编码模块85,用于基于多个第三残差矩阵、多个第二残差矩阵与多个第三残差矩阵的对应关系,确定目标图像块的第一编码数据。
100.在本技术一实施例中,确定模块84还可以用于,获取多个第二残差矩阵与多个第三残差矩阵的对应关系。
101.上文结合图7,详细描述了本技术的视频解码方法的实施例,下面结合图9,详细描述本技术的视频解码装置的实施例。应理解,视频解码方法的实施例的描述与视频解码装置的实施例的描述相互对应,因此,未详细描述的部分可以参见前面的方法实施例。
102.图9所示为本技术一实施例提供的视频解码装置的结构示意图。如图9所示,本技术实施例提供的视频解码装置包括:
103.获取模块91,用于获取视频帧中的目标图像块的第一编码数据,其中,第一编码数据是基于前文所述的视频编码方法确定的;
104.解析模块92,用于对第一编码数据进行解析,获取第一编码数据对应的多个第三
残差恢复矩阵、以及多个第二残差恢复矩阵与多个第三残差恢复矩阵的对应关系;
105.确定模块93,用于根据多个第二残差恢复矩阵与多个第三残差恢复矩阵的对应关系,对第三残差恢复矩阵进行拆解,确定视频帧中的目标图像块对应的第一残差恢复矩阵;
106.解码模块94,用于基于第一残差恢复矩阵,将第一编码数据解码为目标图像块。
107.在一些实施例中,获取模块91还用于,确定获取的编码数据为第一编码数据还是第二编码数据。
108.下面,参考图10来描述根据本技术实施例的电子设备。图10所示为本技术一实施例提供的电子设备的结构示意图。
109.如图10所示,电子设备1000包括一个或多个处理器1001和存储器1002。
110.处理器1001可以是中央处理单元(cpu)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备1000中的其他组件以执行期望的功能。
111.存储器1002可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器1001可以运行所述程序指令,以实现上文所述的本技术的各个实施例的视频编码方法和/或视频解码方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如包括目标图像块、第一特征值、第一残差矩阵、第二残差矩阵、第三残差矩阵、第一残差恢复矩阵、第二残差恢复矩阵、第三残差恢复矩阵等各种内容。
112.在一个示例中,电子设备1000还可以包括:输入装置1003和输出装置1004,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
113.该输入装置1003可以包括例如键盘、鼠标等等。
114.该输出装置1004可以向外部输出各种信息,包括目标图像块、第一特征值、第一残差矩阵、第二残差矩阵、第三残差矩阵、第一残差恢复矩阵、第二残差恢复矩阵、第三残差恢复矩阵等。该输出装置1004可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
115.当然,为了简化,图10中仅示出了该电子设备1000中与本技术有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备1000还可以包括任何其他适当的组件。
116.除了上述方法和设备以外,本技术的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述描述的根据本技术各种实施例的视频编码方法和/或视频解码方法中的步骤。
117.所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本技术实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、c++等,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
118.此外,本技术的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述描述的根据本技术各种实施例的视频编码方法和/或视频解码方法中的步骤。
119.所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
120.以上结合具体实施例描述了本技术的基本原理,但是,需要指出的是,在本技术中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本技术的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本技术为必须采用上述具体的细节来实现。
121.以上结合具体实施例描述了本技术的基本原理,但是,需要指出的是,在本技术中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本技术的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本技术为必须采用上述具体的细节来实现。
122.本技术中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
123.还需要指出的是,在本技术的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本技术的等效方案。
124.提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本技术。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本技术的范围。因此,本技术不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
125.为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本技术的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

技术特征:
1.一种视频编码方法,其特征在于,包括:获取视频帧中的目标图像块对应的第一残差矩阵;将所述第一残差矩阵划分为多个第二残差矩阵;根据所述多个第二残差矩阵各自包含的元素,确定所述多个第二残差矩阵各自的第一特征值;根据所述多个第二残差矩阵各自的第一特征值,对所述多个第二残差矩阵进行分组,得到与分组数量相同的多个第三残差矩阵;基于所述多个第三残差矩阵、所述多个第二残差矩阵与所述多个第三残差矩阵的对应关系,确定所述目标图像块的第一编码数据。2.根据权利要求1所述的视频编码方法,其特征在于,所述根据所述多个第二残差矩阵各自的第一特征值,对所述多个第二残差矩阵进行分组,得到与分组数量相同的多个第三残差矩阵,包括:按照所述多个第二残差矩阵各自的第一特征值的大小,对所述多个第二残差矩阵进行排序;将排序后的所述多个第二残差矩阵进行分组,得到多个组;分别将所述多个组各自包含的第二残差矩阵进行融合,得到与分组数量相同的多个第三残差矩阵。3.根据权利要求1所述的视频编码方法,其特征在于,所述根据所述多个第二残差矩阵各自包含的元素,确定所述多个第二残差矩阵各自的第一特征值,包括:计算所述多个第二残差矩阵各自包含的元素的绝对值之和或平方数之和;基于所述多个第二残差矩阵各自包含的元素的绝对值之和或平方数之和,确定所述多个第二残差矩阵各自的第一特征值。4.根据权利要求1所述的视频编码方法,其特征在于,还包括:将所述多个第三残差矩阵进行分组,得到多个集合,每个所述集合包括至少一个第三残差矩阵;针对每个所述第二残差矩阵,基于各个所述集合是否包含所述第二残差矩阵,确定所述第二残差矩阵的第一判断结果;基于包含所述第二残差矩阵的集合中的第三残差矩阵是否包含所述第二残差矩阵,确定所述第二残差矩阵的第二判断结果;根据所述多个第二残差矩阵各自的第一判断结果与第二判断结果,确定所述多个第二残差矩阵与所述多个第三残差矩阵的对应关系。5.根据权利要求1所述的视频编码方法,其特征在于,还包括:根据所述第一残差矩阵,确定所述目标图像块的第二编码数据;确定所述第一编码数据和所述第二编码数据各自的编码成本;将所述第一编码数据和所述第二编码数据中的编码成本更低的编码数据作为所述目标图像块的最终编码数据。6.根据权利要求5所述的视频编码方法,其特征在于,所述编码成本是基于编码数据的编码长度、以及编码数据对应的失真数据确定的。7.根据权利要求1所述的视频编码方法,其特征在于,所述第二残差矩阵的数量小于或
者等于所述第一残差矩阵的行数或者列数中较大值的二分之一。8.一种视频解码方法,其特征在于,包括:获取视频帧中的目标图像块的第一编码数据,其中,所述第一编码数据是基于权利要求1-7的任一项所述的视频编码方法确定的;对所述第一编码数据进行解析,获取所述第一编码数据对应的多个第三残差恢复矩阵、以及多个第二残差恢复矩阵与所述多个第三残差恢复矩阵的对应关系;根据所述多个第二残差恢复矩阵与所述多个第三残差恢复矩阵的对应关系,对所述第三残差恢复矩阵进行拆解,确定所述视频帧中的目标图像块对应的第一残差恢复矩阵;基于所述第一残差恢复矩阵,将所述第一编码数据解码为所述目标图像块。9.一种视频编码装置,其特征在于,包括:获取模块,用于获取视频帧中的目标图像块对应的第一残差矩阵;划分模块,用于将所述第一残差矩阵划分为多个第二残差矩阵;确定模块,用于根据所述多个第二残差矩阵各自包含的元素,确定所述多个第二残差矩阵各自的第一特征值;分组模块,用于根据所述多个第二残差矩阵各自的第一特征值,对所述多个第二残差矩阵进行分组,得到与分组数量相同的多个第三残差矩阵;编码模块,用于基于所述多个第三残差矩阵、所述多个第二残差矩阵与所述多个第三残差矩阵的对应关系,确定所述目标图像块的第一编码数据。10.一种视频解码装置,其特征在于,包括:获取模块,用于获取视频帧中的目标图像块的第一编码数据,其中,所述第一编码数据是基于权利要求1-7的任一项所述的视频编码方法确定的;解析模块,用于对所述第一编码数据进行解析,获取所述第一编码数据对应的多个第三残差恢复矩阵、以及多个第二残差恢复矩阵与所述多个第三残差恢复矩阵的对应关系;确定模块,用于根据所述多个第二残差恢复矩阵与所述多个第三残差恢复矩阵的对应关系,对所述第三残差恢复矩阵进行拆解,确定所述视频帧中的目标图像块对应的第一残差恢复矩阵;解码模块,用于基于所述第一残差恢复矩阵,将所述第一编码数据解码为所述目标图像块。11.一种电子设备,其特征在于,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-8的任一项所述的方法。12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-8的任一项所述的方法。

技术总结
本申请涉及通信领域,尤其涉及一种视频编码方法及装置、视频解码方法及装置。该方法利用残差数据的分布特性,将目标图像块对应的第一残差矩阵进行划分,划分为多个第二残差矩阵,并根据多个第二残差矩阵各自的第一特征值,将多个第二残差矩阵分组组合为多个第三残差矩阵,使得每个第三残差矩阵拥有分布较为均匀的残差数据,并基于多个第三残差矩阵、多个第二残差矩阵与多个第三残差矩阵的对应关系,确定目标图像块的第一编码数据,使得第一残差矩阵的划分更加灵活,简化了第一残差矩阵的均匀化处理过程,降低了计算复杂度,提升了编码效率及整体编码性能,此外,还有利于降低数据冗余及图像失真幅度,提高压缩效率。提高压缩效率。提高压缩效率。


技术研发人员:张韵东 张博 李国新
受保护的技术使用者:中星微技术股份有限公司 中星电子股份有限公司 北京中星微电子有限公司
技术研发日:2023.05.23
技术公布日:2023/8/21
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐