图像解码更新方法、装置、设备及存储介质与流程
未命名
08-05
阅读:140
评论:0
1.本公开涉及计算机领域,尤其涉及一种图像解码更新方法、装置、设备及存储介质。
背景技术:
2.多功能视频编码(h.266/vvc)的广泛应用将大幅度节省存储及带宽成本,为超高清视频应用提供新的可能性。在解码vvc码流过程中,基于上下文的自适应二进制算术熵编码模块(cabac模块)一直是解码复杂度比较大的模块,因此,为了提升解码器的效率,对cabac模块进行优化显得格外重要。
3.图1是相关技术中的cabac模块的解码示意图,如图1所示,cabac模块以4x4的小块为单元,在解码过程中,图中黑色点的状态是由所有灰色点的状态相加之后更新而得来,解码计算顺序由左上至右下,因此在计算当前解码块(即图1中黑色点)的状态时,需将每个相邻解码块(即图1中的灰色点)的状态计算出来并加起来之后,然后再更新当前解码块的状态。然而相关技术在计算每个当前解码块的过程中,均需要把周围的相邻解码块都重新计算一遍,存在重复计算的问题,增加了解码复杂度以及解码过程对系统资源的消耗。
技术实现要素:
4.本公开提供一种图像解码更新方法、装置、设备及存储介质,以至少解决相关技术中在计算每个当前解码块的过程中,均需要把周围的邻域解码块都重新计算以便,存在重复计算的缺陷,增加了解码复杂度以及解码过程对系统资源的消耗的问题。本公开的技术方案如下:
5.根据本公开实施例的第一方面,提供一种图像解码更新方法,包括:
6.获取待解码图像;所述待解码图像包括图像变换单元;所述图像变换单元包括多个待解码图像块;每个所述待解码图像块对应有各自的变换系数;
7.对所述图像变换单元中的第一待解码图像块的变换系数进行解码,得到所述第一待解码图像块对应的第一系数解码结果;所述第一待解码图像块为所述图像变换单元中的任意一个待解码图像块;
8.获取在解码过程依赖所述第一系数解码结果的第二待解码图像块;所述第二待解码图像块为所述图像变换单元中位于所述第一待解码图像块的左上方区域的待解码图像块;
9.基于所述第一系数解码结果,更新所述第二待解码图像块在解码过程中所使用到的目标数据,得到所述第二待解码图像块对应的更新系数解码结果;
10.其中,所述第二待解码图像块对应的更新系数解码结果用于对所述第二待解码图像块的变换系数进行解码;所述目标数据基于候选待解码图像块在解码过程中得到的系数解码结果而确定;所述候选待解码图像块为所述图像变换单元中位于所述第二待解码图像块的右下方区域的待解码图像块,所述候选待解码图像块包括所述第一待解码图像块。
11.在一个可选的实施例中,所述获取在解码过程依赖所述第一系数解码结果的第二待解码图像块,包括:
12.获取所述图像变换单元中位于所述第一待解码图像块的上方的待解码图像块、位于所述第一待解码图像块的左方的待解码图像块、位于所述第一待解码图像块的左上角的待解码图像块,得到所述第二待解码图像块。
13.在一个可选的实施例中,所述候选待解码图像块为至少一个,所述第二待解码图像块中存储有所述目标数据,所述目标数据基于各个所述候选待解码图像块在解码过程中得到的系数解码结果的绝对值的和而确定;
14.所述基于所述第一系数解码结果,更新所述第二待解码图像块在解码过程中所使用到的目标数据,得到所述第二待解码图像块对应的更新系数解码结果,包括:
15.使用所述第一系数解码结果更新所述绝对值的和,得到所述第二待解码图像块对应的更新系数解码结果。
16.在一个可选的实施例中,所述候选待解码图像块的获取过程,包括:
17.获取所述图像变换单元中位于所述第二待解码图像块的右方的待解码图像块、位于所述第二待解码图像块的下方的待解码图像块和位于所述第二待解码图像块的右下角的待解码图像块,得到所述候选待解码图像块。
18.在一个可选的实施例中,在所述得到所述第二待解码图像块对应的更新系数解码结果之后,所述方法还包括:
19.从所述第二待解码图像块中获取所述第二待解码图像块对应的更新系数解码结果;
20.基于所述第二待解码图像块对应的更新系数解码结果,对所述第二待解码图像块的变换系数进行解码,得到所述第二待解码图像块的第二系数解码结果;
21.其中,在所述第二待解码图像块为非位于所述图像变换单元中的左上角的待解码图像块的情况下,所述第二系数解码结果用于更新目标待解码图像块在解码过程中所使用到的数据;所述依目标待解码图像块为所述图像变换单元中位于所述第二待解码图像块的左上方区域的待解码图像块。
22.在一个可选的实施例中,所述对所述图像变换单元中的第一待解码图像块的变换系数进行解码,得到所述第一待解码图像块对应的第一系数解码结果,包括:
23.在所述第一待解码图像块为非位于所述图像变换单元的右下角的待解码图像块的情况下,获取所述第一待解码图像块对应的更新系数解码结果;所述第一待解码图像块对应的更新系数解码结果基于目标系数解码结果对所述第一待解码图像块在解码过程中所使用到的数据进行更新得到,所述目标系数解码结果为位于所述第一待解码图像块的右下方区域的待解码图像块在解码过程中得到的系数解码结果;
24.基于所述第一待解码图像块对应的更新系数解码结果,对所述第一待解码图像块的变换系数进行解码,得到所述第一系数解码结果。
25.在一个可选的实施例中,所述对所述图像变换单元中的第一待解码图像块的变换系数进行解码,得到所述第一待解码图像块对应的第一系数解码结果;获取在解码过程依赖所述第一系数解码结果的第二待解码图像块;基于所述第一系数解码结果,更新所述第二待解码图像块在解码过程中所使用到的目标数据,得到所述第二待解码图像块对应的更
新系数解码结果,包括:
26.在所述第一待解码图像块为非位于所述图像变换单元的右下角的待解码图像块的情况下,以所述第一待解码图像块为当前待解码图像块、以所述第一待解码图像块对应的更新系数解码结果为当前更新系数解码结果,对所述当前待解码图像块的变换系数进行解码,得到所述当前待解码图像块对应的当前系数解码结果;
27.获取在解码过程依赖所述当前系数解码结果的第二待解码图像块;
28.基于所述当前系数解码结果,更新第二待解码图像块在解码过程中所使用到的目标数据,得到第二待解码图像块对应的更新系数解码结果;
29.以所述第二待解码图像块为所述当前待解码图像块、以第二待解码图像块对应的更新系数解码结果为所述当前更新系数解码结果,重复所述对所述当前待解码图像块的变换系数进行解码,至所述得到第二待解码图像块对应的更新系数解码结果的操作,直至得到所述图像变换单元中的左上角的待解码图像块的更新系数解码结果。
30.在一个可选的实施例中,每个所述待解码图像块对应的系数解码结果包括每个所述待解码图像块对应的变化系数量化结果和每个所述待解码图像块对应的编解码模式信息,所述方法还包括:
31.反变换和反量化处理每个所述待解码图像块对应的变化系数量化结果,得到每个所述待解码图像块的残差数据;
32.根据每个所述待解码图像块对应的编解码模式信息,获取每个所述待解码图像块的预测数据;
33.计算每个所述待解码图像块的残差数据以及每个所述待解码图像块的预测数据的和,得到每个所述待解码图像块的重建数据;
34.对每个所述待解码图像块的重建数据进行环路滤波处理,得到所述待解码图像的解码结果。
35.根据本公开实施例的第二方面,提供一种图像解码更新装置,包括:
36.第一图像获取模块,被配置为执行获取待解码图像;所述待解码图像包括图像变换单元;所述图像变换单元包括多个待解码图像块;每个所述待解码图像块对应有各自的变换系数;
37.解码模块,被配置为执行对所述图像变换单元中的第一待解码图像块的变换系数进行解码,得到所述第一待解码图像块对应的第一系数解码结果;所述第一待解码图像块为所述图像变换单元中的任意一个待解码图像块;
38.第二图像获取模块,被配置为执行获取在解码过程依赖所述第一系数解码结果的第二待解码图像块;所述第二待解码图像块为所述图像变换单元中位于所述第一待解码图像块的左上方区域的待解码图像块;
39.更新模块,被配置为执行基于所述第一系数解码结果,更新所述第二待解码图像块在解码过程中所使用到的目标数据,得到所述第二待解码图像块对应的更新系数解码结果;
40.其中,所述第二待解码图像块对应的更新系数解码结果用于对所述第二待解码图像块的变换系数进行解码;所述目标数据基于候选待解码图像块在解码过程中得到的系数解码结果而确定;所述候选待解码图像块为所述图像变换单元中位于所述第二待解码图像
块的右下方区域的待解码图像块,所述候选待解码图像块包括所述第一待解码图像块。
41.在一个可选的实施例中,所述第二图像获取模块,包括:
42.第二待解码图像块获取单元,被配置为执行获取所述图像变换单元中位于所述第一待解码图像块的上方的待解码图像块、位于所述第一待解码图像块的左方的待解码图像块、位于所述第一待解码图像块的左上角的待解码图像块,得到所述第二待解码图像块。
43.在一个可选的实施例中,所述候选待解码图像块为至少一个,所述第二待解码图像块中存储有所述目标数据,所述目标数据基于各个所述候选待解码图像块在解码过程中得到的系数解码结果的绝对值的和而确定;
44.所述更新模块,包括:
45.绝对值更新单元,被配置为执行使用所述第一系数解码结果更新所述绝对值的和,得到所述第二待解码图像块对应的更新系数解码结果。
46.在一个可选的实施例中,所述装置还包括:
47.候选待解码图像块获取单元,被配置为执行获取所述图像变换单元中位于所述第二待解码图像块的右方的待解码图像块、位于所述第二待解码图像块的下方的待解码图像块和位于所述第二待解码图像块的右下角的待解码图像块,得到所述候选待解码图像块。
48.在一个可选的实施例中,所述装置还包括:
49.更新系数解码结果获取单元,被配置为执行从所述第二待解码图像块中获取所述第二待解码图像块对应的更新系数解码结果;
50.第二系数解码结果生成单元,被配置为执行基于所述第二待解码图像块对应的更新系数解码结果,对所述第二待解码图像块的变换系数进行解码,得到所述第二待解码图像块的第二系数解码结果;
51.其中,在所述第二待解码图像块为非位于所述图像变换单元中的左上角的待解码图像块的情况下,所述第二系数解码结果用于更新目标待解码图像块在解码过程中所使用到的数据;所述目标待解码图像块为所述图像变换单元中位于所述第二待解码图像块的左上方区域的待解码图像块。
52.在一个可选的实施例中,所述解码模块,包括:
53.系数解码结果获取单元,被配置为执行在所述第一待解码图像块为非位于所述图像变换单元的右下角的待解码图像块的情况下,获取所述第一待解码图像块对应的更新系数解码结果;所述第一待解码图像块对应的更新系数解码结果基于目标系数解码结果对所述第一待解码图像块在解码过程中所使用到的数据进行更新得到,所述目标系数解码结果为位于所述第一待解码图像块的右下方区域的待解码图像块在解码过程中得到的系数解码结;
54.第一系数解码结果生成单元,被配置为执行基于所述第一待解码图像块对应的更新系数解码结果,对所述第一待解码图像块的变换系数进行解码,得到所述第一系数解码结果。
55.在一个可选的实施例中,所述解码模块、第二图像获取模块、更新模块,包括:
56.当前系数解码结果生成模块,被配置为执行在所述第一待解码图像块为非位于所述图像变换单元的右下角的待解码图像块的情况下,以所述第一待解码图像块为当前待解码图像块、以所述第一待解码图像块对应的更新系数解码结果为当前更新系数解码结果,
对所述当前待解码图像块的变换系数进行解码,得到所述当前待解码图像块对应的当前系数解码结果;
57.第二待解码图像块获取模块,被配置为执行获取在解码过程依赖所述当前系数解码结果的第二待解码图像块;
58.目标数据更新模块,被配置为执行基于所述当前系数解码结果,更新第二待解码图像块在解码过程中所使用到的目标数据,得到第二待解码图像块对应的更新系数解码结果;
59.执行模块,被配置为执行以所述第二待解码图像块为所述当前待解码图像块、以所述第二待解码图像块对应的更新系数解码结果为所述当前更新系数解码结果,重复所述对所述当前待解码图像块的变换系数进行解码,至所述得到第二待解码图像块对应的更新系数解码结果的操作,直至得到所述图像变换单元中的左上角的待解码图像块的更新系数解码结果。
60.在一个可选的实施例中,每个所述待解码图像块对应的系数解码结果包括每个所述待解码图像块对应的变化系数量化结果和每个所述待解码图像块对应的编解码模式信息,所述装置还包括:
61.变换量化模块,被配置为执行反变换和反量化处理每个所述待解码图像块对应的变化系数量化结果,得到每个所述待解码图像块的残差数据;
62.预测数据生成模块,被配置为执行根据每个所述待解码图像块对应的编解码模式信息,获取每个所述待解码图像块的预测数据;
63.重建数据生成模块,被配置为执行计算每个所述待解码图像块的残差数据以及每个所述待解码图像块的预测数据的和,得到每个所述待解码图像块的重建数据;
64.环路滤波模块,被配置为执行对每个所述待解码图像块的重建数据进行环路滤波处理,得到所述待解码图像的解码结果。
65.根据本公开实施例的第三方面,提供一种电子设备,包括:
66.处理器;
67.用于存储所述处理器可执行指令的存储器;
68.其中,所述处理器被配置为执行所述指令,以实现如上述任一实施方式所述的图像解码更新方法。
69.根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备执行如上述任一实施方式所述的图像解码更新方法。
70.根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述任一实施方式所述的图像解码更新方法。
71.本公开的实施例提供的技术方案至少带来以下有益效果:
72.本公开实施例,通过获取待解码图像,该待解码图像包括图像变换单元;对图像变换单元中的第一待解码图像块的变换系数进行解码,得到第一待解码图像块对应的第一系数解码结果;获取在解码过程依赖第一系数解码结果的第二待解码图像块,第二待解码图像块为所述图像变换单元中位于所述第一待解码图像块的左上方区域的待解码图像块;基于第一系数解码结果,更新第二待解码图像块在解码过程中所使用到的目标数据,得到第
二待解码图像块对应的更新系数解码结果,实现了从图像变换单元的右下至左上的方向,依次对图像变换单元中的待解码图像块的变化系数进行解码,反向更新在解码过程依赖第一系数解码结果的第二待解码图像块在解码过程中所使用到的目标数据,得到第二待解码图像块对应的更新系数解码结果;由于在第一待解码图像块解码的时候,已经反向对第二待解码图像块的状态进行更新,在解码到第二待解码图像块的时候,由于其在解码过程中所使用到的目标数据已经被更新了,直接使用更新系数解码结果对第二待解码图像块的变换系数进行解码即可,不需要再获取第二待解码图像块的周围的相邻待解码图像块,并对相邻待解码图像块进行计算以得到更新系数解码结果,减少了解码过程的复杂度,提升了解码效率,降低了解码过程对系统资源的消耗。
73.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
74.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
75.图1是相关技术中的cabac模块的解码示意图。
76.图2是根据一示例性实施例示出的一种图像解码更新方法的应用环境图。
77.图3是根据一示例性实施例示出的一种图像解码更新方法的流程图一。
78.图4是根据一示例性实施例示出的一种图像变换单元的示意图。
79.图5是根据一示例性实施例示出的一种图像解码更新方法的流程图二。
80.图6是根据一示例性实施例示出的一种图像解码更新装置框图。
81.图7是根据一示例性实施例示出的一种用于图像解码更新的电子设备的框图。
具体实施方式
82.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
83.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
84.请参阅图2,图2是根据一示例性实施例示出的一种图像解码更新方法的应用环境图。该应用环境可以包括客户端01和服务器02。该服务器02可以通过有线或无线的方式与客户端01进行通信,本公开对此不做限定。
85.其中,该服务器02可以用于对图像解码进行更新。选地,服务器02可以是包括独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等
基础云计算服务的云服务器。
86.其中,该客户端01可以为用于采集待解码图像并展示待解码图像的解码结果。可选地,该客户端可以包括智能手机、台式电脑、平板电脑、笔记本电脑等。
87.需要说明的是,图2仅仅是本公开提供的图像解码更新方法的一种应用环境,在实际应用中,还可以包括其他应用环境。
88.为了便于理解,首先对本技术提供的vvc编解码进行简单介绍。
89.一、关于vcc编码:
90.vvc的基本假设遵循了基于块的混合视频编码的概念。对视频图像进行分块,并利用图像内预测或运动补偿预测对每个块进行预测。用变换系数编码对预测残差块进行编码,变换系数编码由正交分块变换、变换系数量量化和量化指标的熵编码组成。上述对预测残差块进行编码的过程可以认为残差编码。
91.vvc编码主要包括以下几个过程:1)块划分,2)帧内预测和帧间预测,3)变换和量化(transform&quantization),4)熵编码,5)环路滤波(loop filtering)等。
92.1)块划分:
93.在vvc编码框架读取到待解码图像后,将待解码图像划分成为块数据,并基于块数据进行编码。例如,该编码框架读取到待解码图像后,可将待解码图像划分成若干个编码树单元(coding tree unit,ctu),一个编码树单元又可以继续被划分成若干个编码单元块(coding unit,cu),cu可以为矩形块也可以为方形块。一个cu又可以进一步划分为若干个4x4的图像变换单元(transform unit,tu),其中,tu存储cu的变换量化的信息。编码框架可基于ctu或cu或tu进行编码。
94.此外,vvc中还增加了四叉树分块之外的新分块方法,称之为多类型树(multiple-typetree,mtt),也就是说,vvc采用了四叉树加多类型树(qt+mtt)的分块法。在qt+mtt分块中,一个方块可以均匀分成左右或上下两个矩形块,也称为二叉树划分(binary-treesplit,bt);或者也可以从左到右或从上到下按1:2:1的比例分成三个矩形块,也称为三叉树划分(ternary-tree spli,tt)。
95.2)帧内预测和帧间预测:
96.帧内预测包括帧内估计单元和帧内预测单元,帧间预测包括运动补偿单元和运动估计单元。
97.帧内估计单元和帧内预测单元可参考待编码图像的相邻图像块对目标图像块进行预测,以输出预测块。或者,运动补偿单元和运动估计单元可参考待编码图像帧的相邻图像块对目标图像块进行预测,以输出预测块。接着可基于预测块与待编码的目标图像块计算残差块,即预测块和待编码的目标图像块的差值,该残差块也可称为残差信息。该残差块经由变换量化单元变换与量化等过程,可以去除人眼不敏感的信息,以消除视觉冗余。可选的,经过变换量化单元变换与量化之前的残差块可称为时域残差块,经过变换量化单元变换与量化之后的时域残差块可称为频率残差块或频域残差块。头信息编码单元或熵编码单元接收到变化量化单元输出的量化后的变化系数后,可基于该量化后的变化系数和帧内估计单元和帧内预测单元输出的帧内预测数据或运动补偿单元和运动估计单元输出的运动数据,输出目标码流。例如,头信息编码单元或熵编码单元可根据目标上下文模型以及二进制码流的概率信息消除字符冗余。例如,头信息编码单元或熵编码单元可以用于基于上下
文的自适应二进制算术熵编码(cabac)。
98.3)变换和量化
99.残差信号经过离散傅里叶变换(discrete fourier transform,dft)、离散余弦变换(discrete cosine transform,dct)等变换操作后,将信号转换到变换域中,称之为变换系数。变换系数进一步进行有损的量化操作,丢失掉一定的信息,使得量化后的信号有利于压缩表达。量化的精细程度通常由量化参数(quantization parameter,qp)来决定,qp取值较大,表示更大取值范围的系数将被量化为同一个输出,因此通常会带来更大的失真及较低的码率;相反,qp取值较小,表示较小取值范围的系数将被量化为同一个输出,因此通常会带来较小的失真,同时对应较高的码率。
100.在变换方面,vvc引入了非正方形变换、多变换(主变换)选择、低频不可分变换和子块变换。vcc另外,vvc中的最大变换维度提高到了64最大变)。非正方形变换用于对非正方形的分块进行变换操作。这种变换在水平方向和垂直方向使用不同长度的变换内核。
101.vvc在量化方面引入了三个编码工具:自适应色度量化参数偏差,依赖量化和量化残差联合编码。采用自适应色度量化参数偏差这个工具时,对于特定的量化组,色度量化参数不直接编码,而是通过亮度量化参数和预定义并传输的查找表推导得出。在依赖量化中,一个变换系数的重建值范围依赖于扫描顺序在它前面的几个变换系数的重建值,从而减少输入向量和最接近的重建向量之间的平均失真。量化残差联合编码指的是对两个色度分量的残差一起编码,而不是分别编码,这样当两个色度分量的残差相似时编码效率会更高。
102.4)熵编码
103.量化后的变换域信号将根据各个值出现的频率进行统计压缩编码,最后输出二值化(0或者1)的压缩码流。同时,编码产生其他信息,例如选择的编码模式、运动矢量数据等,也需要进行熵编码以降低码率。统计编码是一种无损的编码方式,可以有效的降低表达同样信号所需要的码率,常见的统计编码方式有变长编码(variable length coding,vlc)或者cabac。
104.cabac主要包含3个步骤:二进制化上下文建模和二进制算术编码。在对输入的语法元素进行二值化后,可以通过常规编码模式和旁路编码模式(bypass)对二元数据进行编码。旁路编码模式(bypass coding mode),它无须为每个二元位分配特定的概率模型,输入的二元位bin值直接用一个简单的旁路编码器进行编码,以加快整个编码以及解码的速度。一般情况下,不同的语法元素之间并不是完全独立的,且相同语法元素自身也具有一定的记忆性。因此,根据条件熵理论,利用其他已编码的语法元素进行条件编码,相对于独立编码或者无记忆编码能够进一步提高编码性能。这些用来作为条件的已编码符号信息称为上下文。在常规编码模式中,语法元素的二元位顺序地进入上下文模型器。编码器根据先前编码过的语法元素或二元位的值,为每一个输入的二元位分配合适的概率模型,该过程即为上下文建模。通过上下文索引增量(contextindex increment,ctxidxinc)和上下文起始索引(context index start,ctxidxstart)即可定位到语法元素所对应的上下文模型。将bin值和分配的概率模型一起送入二元算术编码器进行编码后,需要根据bin值更新上下文模型,也就是编码中的自适应过程。
105.vvc对cabac引擎和变换系数编码做了改进。在cabac引擎方面的改进是多重假设概率更新模型和上下文模型绑定的自适应率(即概率更新速度依赖于上下文模型),其中采
用了和每个上下文模型耦合的两个概率估计p0和p1,而p0和p1相互独立地根据各自的自适应率进行更新。用于二进制算术编码器中进行区间细分的概率估计p设为p0和p1的均值。在变换系数编码两方面,除了4均值的系数组之外,vvc还允许1允许组、16许组、26许、86许、26许和46许这六种系数组。此外,还增加了一个标志位用于依赖量化的状态过渡,以及一个改进的概率模型选择机制用于和变换系数绝对值相关的语法元素的编码。
106.其中,变换系数熵编码指的是对量化后的变换系数进行熵编码,量化后的变换系数进行熵编码包括两部分:一是对量化后变换系数扫描;二是对非零的变换系数位置。
107.变换系数扫描就是将二维变换系数变成一维变换系数。扫描时尽量使幅值相近的数排列在一起。对变换系数的扫描是基于4x4块的,所以对于大于4x4的tu要先将其分为若干个4x4的子块,子块内部和子块间按同样方式进行扫描。每个4x4子块扫描后得到的16个连续的系数称为系数组(coefficient group,cg)。一个tu经过上面扫描后得到一个一维的变换系数数组,由于变换系数经过量化后大部分值都为0,如果直接按顺序对每个系数进行熵编码效率不高,因此可以对每个非零系数的位置和幅值进行cabac编码。
108.5)环路滤波
109.经过变化及量化的信号会通过反量化、反变换及预测补偿的操作获得重建图像。重建图像与原始图像相比由于存在量化的影响,部分信息与原始图像有所不同,即重建图像会产生失真(distortion)。因此,可以对重建图像进行滤波操作,例如去块效应滤波(deblocking filter,db)、自适应像素补偿(sample adaptive offset,sao)或者自适应环路滤波(adaptive loop filter,alf)等滤波器,可以有效降低量化所产生的失真程度。由于这些经过滤波后的重建图像将作为后续编码图像的参考来对将来的图像信号进行预测,因此上述的滤波操作也被称为环路滤波,即在编码环路内的滤波操作。
110.二、关于vvc解码:
111.解码框架接收并解析码流后,经过反变换与反量化等步骤得到时域残差块,将解码端预测得到的预测块叠加时域残差块后,即可得到重建块,该解码过程可以认为是残差解码过程。
112.该解码框架可包括头信息解码单元或熵解码单元、反变换反量单元、残差单元、运动补偿单元、帧内预测单元、环路滤波单元、解码图像缓存单元。头信息解码单元或熵解码单元接收并解析码流后,进行熵解码获取变换系数、运动矢量、图片分割信息和其他编解码信息,以获取预测块和频域残差块。针对频域残差块,通过反变换反量化单元进行反变换与反量化等步骤,可获取时域残差块,残差单元将运动补偿单元或帧内预测单元预测得到的预测块叠加至,经过通过反变换反量化单元进行反变换与反量化之后的时域残差块,可得到重建块。即一方面,可以对码流进行熵解码以获取变换系数、运动矢量、图片分割信息和其他编解码信息,然后变换系数经过反量化及反变换处理得到残差信号。另一方面,根据已知的编码模式信息,可获得该cu对应的预测信号,然后将残差信号与预测信号相加之后即可得到重建信号,重建信号再经过环路滤波等操作,产生最终的输出信号。
113.图3是根据一示例性实施例示出的一种图像解码更新方法的流程图一,如图3所示,包括以下步骤。
114.在步骤s11中,获取待解码图像;待解码图像包括图像变换单元;图像变换单元包括多个待解码图像块;每个待解码图像块对应有各自的变换系数。
115.该实施例中的待解码图像为通过vcc熵编码对待编码图像进行编码得到的。参见上述对vcc编码的介绍,待编码图像经过帧内预测和帧间预测之后,可以输出预测块,计算预存块与待编码图像之间的差值,得到残差信号。在变换和量化过程中,残差信号经过dft、dct等变换操作后,将残差信号转换到变换域中,得到变化系数。变化系数进一步进行有损的量化操作,丢失掉一定的信息,得到量化后的变化系数。在vcc熵编码中的变化系数编码过程中,对量化后的变换系数的扫描是基于4x4块的,即服务器会将待编码图像划分为tu,每个tu按照4x4的cg划分,得到16个连续的系数,即每个cg包含4x4块的变换系数。
116.因此,待解码图像也包括图像变换单元(tu),该图像变换单元包括多个cg,每个cg包括4x4的子块(即待解码图像块),每个待解码图像块对应有各自的变化系数(该变化系数为将残差信号转换到变换域中得到),每个待解码图像块表征该待解码图像中的一个像素点。
117.需要说明是的,除了按照4x4的cg对tu进行划分之外,还可以根据实际业务需要,按照1x16、2x8、8x2、2x4、4x2和16x1等的cg,对tu进行划分。
118.图4是根据一示例性实施例示出的一种图像变换单元的示意图,如图4所示,图像变换单元按照4x4的cg划分,得到四个cg,即得到四个4x4的子块,图像变换单元中的每一个方块指的是一个待解码图像块,每一个待解码图像块表征的是该待解码图像中的一个像素。
119.在步骤s13中,对图像变换单元中的第一待解码图像块的变换系数进行解码,得到第一待解码图像块对应的第一系数解码结果;第一待解码图像块为图像变换单元中的任意一个待解码图像块。
120.本公开实施例中,对于变换单元中的任意一个待解码图像块,即第一待解码图像块,服务器可以对该第一待解码图像块的变换系数进行解码,得到第一待解码图像块对应的第一系数解码结果。该解码过程可以认为是上述的残差解码过程。可选地,该第一系数解码结果可以包括但不限于:变化系数量化结果、编解码模式信息、运动矢量、图像分割信息等。
121.需要说明的是,变换系数编码的时候是按照4x4的cg进行扫描的,解码的时候,也是按照4x4的cg进行扫描解码的,则该第一待解码块可以为当前扫描的cg中的任意一个待解码图像块。
122.在步骤s15中,获取在解码过程依赖第一系数解码结果的第二待解码图像块;第二待解码图像块为图像变换单元中位于第一待解码图像块的左上方区域的待解码图像块。
123.本公开实施例中采用的解码顺序是从图像变换单元的右下角至左上角的解码顺序,因此,在得到第一待解码图像块对应的第一系数解码结果之后,可以获取在解码过程依赖第一系数解码结果的第二待解码图像块,即在图像变换单元中,位于第一待解码图像块的左上方区域的待解码图像块。其中,依赖第一系数解码结果的第二待解码图像块,指的是在变换系数的解码过程中,需要使用第一系数解码结果的待解码图像块。需要说明的是,如果第一待解码块位于该变换单元的左上角,则该第一待解码块不存在对应的第二待解码块。
124.可选地,对于每个cg来说,解码顺序是按照每个cg的右下角至左上角的解码顺序,第一待解码图像块和第二待解码图像块可以位于同一个cg内,该第二待解码图像块为位于
某个cg中的第一待解码图像块的左上方区域的待解码图像块。
125.在步骤s17中,基于第一系数解码结果,更新第二待解码图像块在解码过程中所使用到的目标数据,得到第二待解码图像块对应的更新系数解码结果;其中,第二待解码图像块对应的更新系数解码结果用于对第二待解码图像块的变换系数进行解码;目标数据基于候选待解码图像块在解码过程中得到的系数解码结果而确定;候选待解码图像块为位于第二待解码图像块的右下方区域的待解码图像块,候选待解码图像块包括第一待解码图像块。
126.本公开实施例中,每个待解码图像块在残差过程中所使用到的数据,由位于该待解码图像块的右下方区域的待解码图像块在解码过程中得到的系数解码结果而确定。对于第二待解码图像块,其在解码过程中所使用到的目标数据,可以为位于第二待解码图像块的右下方区域的候选待解码图像块在解码过程中得到的系数解码结果而确定。其中,由于第二待解码图像块位于该第一待解码图像块的左上方区域,则该第一待解码图像块位于该第二待解码图像块的右下方区域,即该候选待解码图像块包括第一待解码图像块。
127.可选地,对于每个cg来说,该第二待解码图像块和候选待解码图像块可以位于同一个cg内,该候选待解码图像块为位于某个cg中的第二待解码图像块的右上方区域的待解码图像块。
128.该实施例中的第二待解码图像块对应的更新系数解码结果用于对第二待解码图像块的变换系数进行解码。由于在第一待解码图像块进行解码的时候,已经反向(从右下至左上的顺序)对位于第一待解码图像块的左上方的第二待解码图像块,在解码过程中所使用到的目标数据进行更新,得到第二待解码图像块对应的更新系数解码结果,在解码到第二待解码图像块的时候,由于其在解码过程中所使用到的目标数据已经被更新了,服务器可以直接使用更新系数解码结果对第二待解码图像块的变换系数进行解码即可,不需要再获取第二待解码图像块的周围的相邻待解码图像块,并对相邻待解码图像块进行计算以得到更新系数解码结果,减少了解码过程的复杂度,提升了解码效率,降低了解码过程对系统资源的消耗。
129.在一个可选的实施例中,在上述步骤s15中,上述获取在解码过程依赖第一系数解码结果的第二待解码图像块,可以包括:
130.获取图像变换单元中位于第一待解码图像块的上方的待解码图像块、位于第一待解码图像块的左方的待解码图像块、位于第一待解码图像块的左上方的待解码图像块,得到第二待解码图像块。
131.本公开实施例采用的解码顺序是按照图像变换单元的右下角至左上角的解码顺序,可以将位于第一待解码图像块的上方的待解码图像块、位于第一待解码图像块的左方的待解码图像块、位于第一待解码图像块的左上方的待解码图像块,作为该第二待解码图像块。可选地,对于每个cg来说,解码顺序是按照每个cg的右下角至左上角的解码顺序,第一待解码图像块和第二待解码图像块可以位于同一个cg内,可以找到第一待解码图像块所在的cg,将该cg中位于第一待解码图像块的上方的待解码图像块、位于第一待解码图像块的左方的待解码图像块、位于第一待解码图像块的左上角的待解码图像块。
132.作为一种示例,可以将位于该第一待解码图像块的上方的相邻两个待解码图像块、位于第一待解码图像块的左方的相邻两个待解码图像块、位于第一待解码图像块的左
上方的一个待解码图像块,作为该第二待解码图像块。继续如图4所示,该黑色块为第一待解码图像块(待解码图像块8),可以将位于该黑色块上方的相邻两个灰色块(待解码图像块7和待解码图像块12)、位于第一待解码图像块的左方的相邻两个灰色块(待解码图像块14和待解码图像块15)、第一待解码图像块的左上角的一个灰色块(待解码图像块13),作为该第二待解码图像块。
133.需要说明的是,如果在同一个cg中,某个第一待解码图像块位于该cg的边缘或靠近边缘的位置,则该第一待解码图像块的上方的相邻两个待解码图像块、左方的相邻两个待解码图像块、左上方的一个待解码图像块可能部分存在或不存在,则将部分存在的待解码图像块作为该第一待解码图像块对应的第二待解码图像块。例如,对于图4中的待解码图像块14,其对应的第二待解码图像块为位于其上方的两个待解码图像块、位于其左方的一个待解码图像块、位于其左上角的一个待解码图像块。
134.本公开实施例中,将图像变换单元中位于第一待解码图像块的上方的待解码图像块、位于第一待解码图像块的左方的待解码图像块、位于第一待解码图像块的左上角的待解码图像块,作为第二待解码图像块,使得本公开实施例的解码顺序可以按照图像变换单元的右下角至左上角的解码顺序进行解码,从而减少了解码过程的复杂度,提升了解码效率,降低了解码过程对系统资源的消耗。
135.可选地,上述步骤s17可以通过多种方式实现,在此不做具体限定。
136.在一种实施方式中,服务器可以预先在每个待解码图像块中存储各自在解码过程中所使用到的数据。每个待解码图像块中存储各自在解码过程中所使用到的数据基于位于每个待解码图像块的右下方的待解码图像块在解码过程中得到的系数解码结果的绝对值的和,以及位于每个待解码图像块的右下方的候选待解码图像块的数量而确定。对于第二待解码图像块,其中可以存储有目标数据,目标数据为基于各个候选待解码图像块在解码过程中得到的系数解码结果的绝对值的和,以及候选待解码图像块的数量而确定。例如,目标数据=各个候选待解码图像块在解码过程中得到的系数解码结果的绝对值的和+候选待解码图像块的数量。
137.其中,该候选待解码图像块,可以为该图像变换单元中位于第二待解码图像块的右方的待解码图像块、位于第二待解码图像块的下方的待解码图像块和位于第二待解码图像块的右下角的待解码图像块。作为一种示例,可以将位于该第二待解码图像块的下方的相邻两个待解码图像块、位于第二待解码图像块的右方的相邻两个待解码图像块、第二待解码图像块的右上角的一个待解码图像块,作为该候选待解码图像块,能够实现根据已解码的待解码数据的系数解码结果对当前待解码图像块进行解码,提高解码的准确率。
138.继续如图4所示,该第二待解码图像块为待解码图像块1,可以将位于该待解码图像块1下方的相邻两个灰色块(待解码图像块4和待解码图像块5)、位于待解码图像块1的右方的相邻两个灰色块(待解码图像块2和待解码图像块3)、第二待解码图像块的右下角的一个灰色块(待解码图像块6),作为该待解码图像块1的候选待解码图像块。则待解码图像块1的目标数据=待解码图像块2在解码过程中得到的系数解码结果的绝对值+待解码图像块3在解码过程中得到的系数解码结果的绝对值+待解码图像块4在解码过程中得到的系数解码结果的绝对值+待解码图像块5在解码过程中得到的系数解码结果的绝对值+待解码图像块6在解码过程中得到的系数解码结果的绝对值+候选待解码图像块的数量。需要说明的
width]指的是将第一系数解码结果更新至待解码图像块13中、sum[-2*width]指的是将第一系数解码结果更新至待解码图像块12中。
[0151]
继续如图4所示,假设第一待解码图像块为待解码图像块8,第一待解码图像块为待解码图像块7,由于第二待解码图像块中或服务器中存储有目标数据,且待解码图像块7的目标数据=待解码图像块9在解码过程中得到的系数解码结果的绝对值+待解码图像块8在解码过程中得到的系数解码结果的绝对值+待解码图像块10在解码过程中得到的系数解码结果的绝对值+待解码图像块11在解码过程中得到的系数解码结果的绝对值+候选待解码图像块的数量。在得到第一系数解码结果之后,由于该待解码图像块8为位于该第二待解码图像块的右下方,即该待解码图像块8包含在第二待解码图像块的候选待解码图像块中,则使用待解码图像块8的第一系数解码结果,更新该目标数据中的“第待解码图像块8在解码过程中得到的系数解码结果的绝对值”,得到待解码图像块7对应的更新系数解码结果。
[0152]
由于待解码图像块8还是待解码图像块12、待解码图像块13、待解码图像块14、待解码图像块15的候选待解码图像块,待解码图像块12、待解码图像块13、待解码图像块14、待解码图像块15的状态更新过程与待解码图像块7的状态更新过程相似,在此不再赘述。
[0153]
本公开实施例中,通过在第二待解码图像块中存储目标数据,该目标数据为各个候选待解码图像块,在解码过程中得到的系数解码结果的绝对值的和,并使用第一系数解码结果,更新该绝对值的和,得到第二待解码图像块对应的更新系数解码结果,使得本公开实施例的解码顺序可以按照图像变换单元的右下角至左上角的解码顺序进行解码,从而实现反向对第二待解码图像块的cabac状态进行更新,由于在对第二待解码图像块中存储的目标数据进行更新的时候,更新后的更新系数解码结果依然存储在第二待解码图像块中,在解码到第二待解码图像块的时候,由于其中存储的目标数据已经被更新了,直接使用该已经存在的更新系数解码结果对第二待解码图像块的变换系数进行解码即可,不需要再获取第二待解码图像块的周围的相邻待解码图像块,并对相邻待解码图像块进行计算以得到更新系数解码结果,减少了解码过程的复杂度,提升了解码效率,降低了解码过程对系统资源的消耗。
[0154]
本公开实施例中,在得到第二待解码图像块对应的更新系数解码结果之后,上述方法还可以包括:
[0155]
从第二待解码图像块中获取第二待解码图像块对应的更新系数解码结果。
[0156]
基于第二待解码图像块对应的更新系数解码结果,对第二待解码图像块的变换系数进行解码,得到第二待解码图像块的第二系数解码结果;
[0157]
其中,在第二待解码图像块为非位于图像变换单元中的左上角的待解码图像块的情况下,第二系数解码结果用于更新目标待解码图像块在解码过程中所使用到的数据;目标待解码图像块为图像变换单元中位于第二待解码图像块的左上方区域的待解码图像块。
[0158]
该实施例中,在得到第二待解码图像块对应的更新系数解码结果之后,即可使用第二待解码图像块对应的更新系数解码结果,对第二待解码图像块的变换系数进行解码,得到第二待解码图像块的第二系数解码结果。该第二系数解码结果可以包括但不限于:变化系数量化结果、编解码模式信息、运动矢量、图像分割信息等。
[0159]
该实施例中,如果在第二待解码图像块为非图像变换单元中的左上角的待解码图像块的情况下,表明该图像变换单元中还存在依赖第二待解码图像块的第二系数解码结果
的待解码图像块,依赖第二待解码图像块的第二系数解码结果的待解码图像块可以认为是目标待解码图像块,该目标待解码图像块为图像变换单元中位于第二待解码图像块的左上方区域的待解码图像块。服务器可以使用第二系数解码结果更新该目标待解码图像块在解码过程中所使用到的数据。继续如图4所示,假设第二待解码图像块为图4中的待解码图像块14,依赖待解码图像块14的第二系数解码结果的目标待解码图像块为待解码图像块13、待解码图像块16、待解码图像块15和待解码图像块17,则使用赖待解码图像块14的第二系数解码结果更新解码图像块13、待解码图像块16、待解码图像块15、待解码图像块17各自存储的、在解码过程中所使用到的数据。
[0160]
可选地,对于每个cg来说,解码顺序是按照每个cg的右下角至左上角的解码顺序,在第二待解码图像块为某个cg中的左上角的待解码图像块的情况下,第二系数解码结果用于更新,该cg中依赖第二系数解码结果的待解码图像块,在解码过程中所使用到的数据。
[0161]
由于在第一待解码图像块解码的过程中,已经反向更新第二待解码图像块在解码过程中所使用到的目标数据,得到第二待解码图像块对应的更新系数解码结果,即在第一待解码图像块解码的时候,已经反向对第二待解码图像块的状态进行更新,在解码到第二待解码图像块的时候,由于其在解码过程中所使用到的目标数据已经被更新了,直接使用更新系数解码结果对第二待解码图像块的变换系数进行解码即可,不需要再获取第二待解码图像块的周围的相邻待解码图像块,并对相邻待解码图像块进行计算以得到更新系数解码结果,减少了解码过程的复杂度,提升了解码效率,降低了解码过程对系统资源的消耗。
[0162]
可选地,在步骤s13中,上述对图像变换单元中的第一待解码图像块的变换系数进行解码,得到第一待解码图像块对应的第一系数解码结果,可以通过多种方式实现。
[0163]
在一种实施方式中,上述步骤s13可以包括:
[0164]
在第一待解码图像块为非位于图像变换单元的右下角的待解码图像块的情况下,获取第一待解码图像块对应的更新系数解码结果;第一待解码图像块对应的更新系数解码结果基于目标系数解码结果对第一待解码图像块在解码过程中所使用到的数据进行更新得到,该目标系数解码结果为位于第一待解码图像块的右下方区域的待解码图像块在解码过程中得到的系数解码结果;基于第一待解码图像块对应的更新系数解码结果,对第一待解码图像块的变换系数进行解码,得到第一系数解码结果。
[0165]
该实施例中,在第一待解码图像块为非位于图像变换单元的右下角的待解码图像块的情况下,说明第一待解码图像块的解码过程,是需要使用到位于第一待解码图像块的右下方区域的待解码图像块在解码过程中得到的目标系数解码结果的,服务器可以在第一待解码图像块中或服务器中存储第一待解码图像块在解码过程中所使用到的数据,该所使用的数据=第一待解码图像块的右下方区域的待解码图像块在解码过程中得到的目标系数解码结果的绝对值的和+第一待解码图像块的右下方区域的待解码图像块的数量。在解码到第一待解码图像块的右下方区域的待解码图像块的目标系数解码结果的时候,可以使用第一待解码图像块的右下方区域的待解码图像块的目标系数解码结果,更新服务器或该第一待解码图像块中存储的数据,得到该第一待解码图像块对应的更新系数解码结果。服务器使用该第一待解码图像块对应的更新系数解码结果,对第一待解码图像块的变换系数进行解码,得到第一系数解码结果。
[0166]
可选地,对于每个cg来说,解码顺序是按照每个cg的右下角至左上角的解码顺序,
在第一待解码图像块为某个cg中的非右下角的待解码图像块的情况下,第二系数解码结果用于更新,该cg中依赖第二系数解码结果的待解码图像块在解码过程中所使用到的数据。
[0167]
该实施例中,在第一待解码图像块为非位于图像变换单元的右下角的待解码图像块的情况下,服务器使用第一待解码图像块的右下方区域的待解码图像块在解码过程中得到的目标系数解码结果,更新第一待解码图像块在解码过程中所使用到的数据,得到第一待解码图像块对应的更新系数解码结果,由于在第一待解码图像块解码之前,其在解码过程中所使用到的数据已经被第一待解码图像块的右下方区域的待解码图像块在解码过程中得到的系数解码结果进行反向更新,在解码到第一待解码图像块的时候,由于其在解码过程中所使用到的目标数据已经被更新了,直接使用更新系数解码结果对第一待解码图像块的变换系数进行解码即可,不需要再获取第一待解码图像块的周围的相邻待解码图像块,并对周围的相邻待解码图像块进行计算以得到对应的更新系数解码结果,减少了解码过程的复杂度,提升了解码效率,降低了解码过程对系统资源的消耗。
[0168]
在另一种实施方式中,上述步骤s13还可以包括:在第一待解码图像块为位于图像变换单元的右下角的待解码图像块的情况下,由于第一待解码图像块的右下方区域没有其他的待解码图像块,则可以对图像变换单元中的第一待解码图像块的变换系数进行解码,得到第一待解码图像块对应的第一系数解码结果。
[0169]
图5是根据一示例性实施例示出的一种图像解码更新方法的流程图二,如图5所示,上述步骤s11、步骤s13、步骤s15、步骤s17可以包括:
[0170]
在步骤s21中,获取待解码图像;待解码图像包括图像变换单元;图像变换单元包括多个待解码图像块;每个待解码图像块对应有各自的变换系数。
[0171]
在步骤s23中,在第一待解码图像块为非位于图像变换单元的右下角的待解码图像块的情况下,以第一待解码图像块为当前待解码图像块、以第一待解码图像块对应的更新系数解码结果为当前更新系数解码结果,对当前待解码图像块的变换系数进行解码,得到当前待解码图像块对应的当前系数解码结果。
[0172]
在步骤s25中,获取在解码过程依赖当前系数解码结果的第二待解码图像块。
[0173]
在步骤s27中,基于当前系数解码结果,更新第二待解码图像块在解码过程中所使用到的目标数据,得到第二待解码图像块对应的更新系数解码结果。
[0174]
在步骤s29中,以第二待解码图像块为当前待解码图像块、以第二待解码图像块对应的更新系数解码结果为当前更新系数解码结果,重复对当前待解码图像块的变换系数进行解码,至得到第二待解码图像块对应的更新系数解码结果的操作,直至得到图像变换单元中的左上角的待解码图像块的更新系数解码结果。
[0175]
可选地,在上述步骤s23中,在第一待解码图像块为非位于图像变换单元的右下角的待解码图像块的情况下,确定第一待解码图像块为当前待解码图像块,并确定第一待解码图像块对应的更新系数解码结果为当前更新系数解码结果。该第一待解码图像块对应的更新系数解码结果基于第一待解码图像块的右下方区域的待解码图像块在解码过程中得到的系数解码结果,更新第一待解码图像块在解码过程中所使用到的数据而得到。服务器可以以第一待解码图像块为当前待解码图像块、以第一待解码图像块对应的更新系数解码结果为当前更新系数解码结果,对当前待解码图像块的变换系数进行解码,以对当前待解码图像块的cabac状态进行更新,得到当前待解码图像块对应的当前系数解码结果。例如,
可以将当前更新系数解码结果直接作为该当前待解码图像块对应的当前系数解码结果。
[0176]
可选地,在上述步骤s25中,服务器可以获取在解码过程依赖当前系数解码结果的第二待解码图像块。该第二待解码图像块为图像变换单元中,位于当前待解码图像块的左上方区域的待解码图像块。
[0177]
可选地,在步骤s27中,服务器可以基于当前系数解码结果,更新第二待解码图像块或服务器中存储的,第二待解码图像块在解码过程中所使用到的目标数据,得到第二待解码图像块对应的更新系数解码结果。
[0178]
可选地,在上述步骤s29中,服务器可以以第二待解码图像块为当前待解码图像块,以第二待解码图像块对应的更新系数解码结果为当前更新系数解码结果,
[0179]
重复上述步骤s23-s27,直至得到图像变换单元中的左上角的待解码图像块的更新系数解码结果。
[0180]
可选地,可对于每个cg来说,解码顺序是按照每个cg的右下角至左上角的解码顺序,上述当前待解码图像块、第二待解码图像块可以位于同一个cg中。继续如图4所示,可以先将图4中的待解码图像块8作为当前待解码图像块,将待解码图像块8对应的更新系数解码结果作为当前系数解码结果。待解码图像块8对应的第二待解码图像块为待解码图像块7、待解码图像块12、待解码图像块13、待解码图像块14和待解码图像块15,则可以使用当前系数解码结果更新待解码图像块7、待解码图像块12、待解码图像块13、待解码图像块14和待解码图像块15在解码过程中所使用到的目标数据,得到待解码图像块7、待解码图像块12、待解码图像块13、待解码图像块14和待解码图像块15各自对应的更新系数解码结果。
[0181]
接着可以将待解码图像块7、待解码图像块12、待解码图像块13、待解码图像块14和待解码图像块15依次分别作为当前待解码图像块,并将其对应的更新系数解码结果作为当前更新系数解码结果。基于当前更新系数解码结果对当前待解码图像块的变换系数进行解码,分别得到待解码图像块7、待解码图像块12、待解码图像块13、待解码图像块14、待解码图像块15各自对应的更新系数解码结果。于此同时,还可以获取待解码图像块7、待解码图像块12、待解码图像块13、待解码图像块14、待解码图像块15各自对应的第二待解码图像块,并按照上述方式进行cabac状态更新,直至得到待解码图像块18的更新系数解码结果。
[0182]
该实施例中,基于当前系数解码结果,反向更新更新第二待解码图像块在解码过程中所使用到的目标数据,得到第二待解码图像块对应的更新系数解码结果。由于在当前待解码图像块解码的时候,已经反向对第二待解码图像块的状态进行更新,在解码到第二待解码图像块的时候,由于其在解码过程中所使用到的目标数据已经被更新了,直接使用更新系数解码结果对第二待解码图像块的变换系数进行解码即可,不需要再获取第二待解码图像块的周围的相邻待解码图像块,并对相邻待解码图像块进行计算以得到对应的更新系数解码结果,减少了解码过程的复杂度,提升了解码效率,降低了解码过程对系统资源的消耗。此外,在第二待解码图像块解码的时候,第二待解码图像块变为当前待解码图像块,服务器又可以使用第二待解码图像块的更新系数解码结,反向更新依赖该更新系数解码结的待解码图像块,依次类推,直至得到图像变换单元中的左上角的待解码图像块的更新系数解码结果,从而实现按照解码顺序为从图像变换单元的右下至左上的顺序,依次对图像变换单元中的当前待解码图像块的变化系数进行解码,不仅进一步减少了解码过程的复杂度,提升了解码效率,降低了解码过程对系统资源的消耗,而且该编解码方式不会大幅影响
cabac模块的整体结构,适应范围较广。
[0183]
在一个可选的实施例中,每个待解码图像块对应的系数解码结果包括每个待解码图像块对应的变化系数量化结果和每个待解码图像块对应的编解码模式信息,上述方法还包括:
[0184]
反变换和反量化处理每个待解码图像块对应的变化系数量化结果,得到每个待解码图像块的残差数据。
[0185]
根据每个待解码图像块对应的编解码模式信息,获取每个待解码图像块的预测数据。
[0186]
计算每个待解码图像块的残差数据以及每个待解码图像块的预测数据的和,得到每个待解码图像块的重建数据。
[0187]
对每个待解码图像块的重建数据进行环路滤波处理,得到待解码图像的解码结果。
[0188]
该实施例中,每个待解码图像块对应的系数解码结果包括每个待解码图像块对应的变化系数量化结果、每个待解码图像块对应的编解码模式信息、每个待解码图像块对应的图像缝分割信息、每个待解码图像块对应的运动矢量等。服务器在得到每个待解码图像块对应的系数解码结果之后,一方面,可以对变化系数量化结果进行反量化和反变换处理,得到残差数据,另一方面,可以根据编解码模式信息,获取每个待解码图像块的预测数据,接着将残差数据以及预测数据相加,得到每个待解码图像块的重建数据,重建信号再经过环路滤波等操作,产生最终的输出信号,即得到待解码图像的解码结果。由于每个待解码图像块对应的系数解码结果,是按照图像变换单元从右下角至左上角的解码顺序解码得到的,能够减少了解码过程的复杂度,提升了解码效率,降低了解码过程对系统资源的消耗,例如,使用本公开实施例的解码方式使得解码器整体速度提升1.5%左右,cabac模块速度提升20%左右。
[0189]
图6是根据一示例性实施例示出的一种图像解码更新装置框图。参照图6,该装置包括:
[0190]
第一图像获取模块31,被配置为执行获取待解码图像;待解码图像包括图像变换单元;图像变换单元包括多个待解码图像块;每个待解码图像块对应有各自的变换系数;
[0191]
解码模块33,被配置为执行对图像变换单元中的第一待解码图像块的变换系数进行解码,得到第一待解码图像块对应的第一系数解码结果;第一待解码图像块为图像变换单元中的任意一个待解码图像块;
[0192]
第二图像获取模块35,被配置为执行获取在解码过程依赖第一系数解码结果的第二待解码图像块;第二待解码图像块为图像变换单元中位于第一待解码图像块的左上方区域的待解码图像块;
[0193]
更新模块37,被配置为执行基于第一系数解码结果,更新第二待解码图像块在解码过程中所使用到的目标数据,得到第二待解码图像块对应的更新系数解码结果;
[0194]
其中,第二待解码图像块对应的更新系数解码结果用于对第二待解码图像块的变换系数进行解码;目标数据基于候选待解码图像块在解码过程中得到的系数解码结果而确定;候选待解码图像块为图像变换单元中位于第二待解码图像块的右下方区域的待解码图像块,候选待解码图像块包括第一待解码图像块。
[0195]
在一个可选的实施例中,上述第二图像获取模块35,包括:
[0196]
第二待解码图像块获取单元,被配置为执行获取图像变换单元中位于第一待解码图像块的上方的待解码图像块、位于第一待解码图像块的左方的待解码图像块、位于第一待解码图像块的左上角的待解码图像块,得到第二待解码图像块。
[0197]
在一个可选的实施例中,候选待解码图像块为至少一个,第二待解码图像块中存储有目标数据,目标数据基于各个候选待解码图像块在解码过程中得到的系数解码结果的绝对值的和而确定;
[0198]
上述更新模块,包括:
[0199]
绝对值更新单元,被配置为执行使用第一系数解码结果更新绝对值的和,得到第二待解码图像块对应的更新系数解码结果。
[0200]
在一个可选的实施例中,上述装置还包括:
[0201]
候选待解码图像块获取单元,被配置为执行获取图像变换单元中位于第二待解码图像块的右方的待解码图像块、位于第二待解码图像块的下方的待解码图像块和位于第二待解码图像块的右下角的待解码图像块,得到候选待解码图像块。
[0202]
在一个可选的实施例中,上述装置还包括:
[0203]
更新系数解码结果获取单元,被配置为执行从第二待解码图像块中获取第二待解码图像块对应的更新系数解码结果;
[0204]
第二系数解码结果生成单元,被配置为执行基于第二待解码图像块对应的更新系数解码结果,对第二待解码图像块的变换系数进行解码,得到第二待解码图像块的第二系数解码结果;
[0205]
其中,在第二待解码图像块为非位于图像变换单元中的左上角的待解码图像块的情况下,第二系数解码结果用于更新目标待解码图像块在解码过程中所使用到的数据;目标待解码图像块为图像变换单元中位于第二待解码图像块的左上方区域的待解码图像块。
[0206]
在一个可选的实施例中,上述解码模块33,包括:
[0207]
系数解码结果获取单元,被配置为执行在第一待解码图像块为非位于图像变换单元的右下角的待解码图像块的情况下,获取第一待解码图像块对应的更新系数解码结果;第一待解码图像块对应的更新系数解码结果基于目标系数解码结果对第一待解码图像块在解码过程中所使用到的数据进行更新得到,目标系数解码结果为位于第一待解码图像块的右下方区域的待解码图像块在解码过程中得到的系数解码结果;
[0208]
第一系数解码结果生成单元,被配置为执行基于第一待解码图像块对应的更新系数解码结果,对第一待解码图像块的变换系数进行解码,得到第一系数解码结果。
[0209]
在一个可选的实施例中,上述解码模块、第二图像获取模块、更新模块,包括:
[0210]
当前系数解码结果生成模块,被配置为执行在第一待解码图像块为非位于图像变换单元的右下角的待解码图像块的情况下,以第一待解码图像块为当前待解码图像块,以第一待解码图像块对应的更新系数解码结果为当前更新系数解码结果,
[0211]
对当前待解码图像块的变换系数进行解码,得到当前待解码图像块对应的当前系数解码结果;
[0212]
第二待解码图像块获取模块,被配置为执行获取在解码过程依赖当前系数解码结果的第二待解码图像块;
frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
[0225]
本领域普通技术人员可以理解,图7所示的结构仅为示意,其并不对上述电子设备的结构造成限定。例如,电子设备40还可包括比图7中所示更多或者更少的组件,或者具有与图7所示不同的配置。
[0226]
在示例性实施例中,还提供了一种计算机可读存储介质,当计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述实施例中任一图像解码更新方法的步骤。
[0227]
在示例性实施例中,还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述任一种实施方式中提供的图像解码更新方法。
[0228]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本公开所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0229]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
[0230]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
技术特征:
1.一种图像解码更新方法,其特征在于,包括:获取待解码图像;所述待解码图像包括图像变换单元;所述图像变换单元包括多个待解码图像块;每个所述待解码图像块对应有各自的变换系数;对所述图像变换单元中的第一待解码图像块的变换系数进行解码,得到所述第一待解码图像块对应的第一系数解码结果;所述第一待解码图像块为所述图像变换单元中的任意一个待解码图像块;获取在解码过程依赖所述第一系数解码结果的第二待解码图像块;所述第二待解码图像块为所述图像变换单元中位于所述第一待解码图像块的左上方区域的待解码图像块;基于所述第一系数解码结果,更新所述第二待解码图像块在解码过程中所使用到的目标数据,得到所述第二待解码图像块对应的更新系数解码结果;其中,所述第二待解码图像块对应的更新系数解码结果用于对所述第二待解码图像块的变换系数进行解码;所述目标数据基于候选待解码图像块在解码过程中得到的系数解码结果而确定;所述候选待解码图像块为所述图像变换单元中位于所述第二待解码图像块的右下方区域的待解码图像块,所述候选待解码图像块包括所述第一待解码图像块。2.根据权利要求1所述的方法,其特征在于,所述获取在解码过程依赖所述第一系数解码结果的第二待解码图像块,包括:获取所述图像变换单元中位于所述第一待解码图像块的上方的待解码图像块、位于所述第一待解码图像块的左方的待解码图像块、位于所述第一待解码图像块的左上角的待解码图像块,得到所述第二待解码图像块。3.根据权利要求1所述的方法,其特征在于,所述候选待解码图像块为至少一个,所述第二待解码图像块中存储有所述目标数据,所述目标数据基于各个所述候选待解码图像块在解码过程中得到的系数解码结果的绝对值的和而确定;所述基于所述第一系数解码结果,更新所述第二待解码图像块在解码过程中所使用到的目标数据,得到所述第二待解码图像块对应的更新系数解码结果,包括:使用所述第一系数解码结果更新所述绝对值的和,得到所述第二待解码图像块对应的更新系数解码结果。4.根据权利要求3所述的方法,其特征在于,所述候选待解码图像块的获取过程,包括:获取所述图像变换单元中位于所述第二待解码图像块的右方的待解码图像块、位于所述第二待解码图像块的下方的待解码图像块和位于所述第二待解码图像块的右下角的待解码图像块,得到所述候选待解码图像块。5.根据权利要3所述的方法,其特征在于,在所述得到所述第二待解码图像块对应的更新系数解码结果之后,所述方法还包括:从所述第二待解码图像块中获取所述第二待解码图像块对应的更新系数解码结果;基于所述第二待解码图像块对应的更新系数解码结果,对所述第二待解码图像块的变换系数进行解码,得到所述第二待解码图像块的第二系数解码结果;其中,在所述第二待解码图像块为非位于所述图像变换单元中的左上角的待解码图像块的情况下,所述第二系数解码结果用于更新目标待解码图像块在解码过程中所使用到的数据;所述目标待解码图像块为所述图像变换单元中位于所述第二待解码图像块的左上方区域的待解码图像块。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述对所述图像变换单元中的第一待解码图像块的变换系数进行解码,得到所述第一待解码图像块对应的第一系数解码结果,包括:在所述第一待解码图像块为非位于所述图像变换单元的右下角的待解码图像块的情况下,获取所述第一待解码图像块对应的更新系数解码结果;所述第一待解码图像块对应的更新系数解码结果基于目标系数解码结果对所述第一待解码图像块在解码过程中所使用到的数据进行更新得到,所述目标系数解码结果为位于所述第一待解码图像块的右下方区域的待解码图像块在解码过程中得到的系数解码结果;基于所述第一待解码图像块对应的更新系数解码结果,对所述第一待解码图像块的变换系数进行解码,得到所述第一系数解码结果。7.根据权利要6所述的方法,其特征在于,所述对所述图像变换单元中的第一待解码图像块的变换系数进行解码,得到所述第一待解码图像块对应的第一系数解码结果;获取在解码过程依赖所述第一系数解码结果的第二待解码图像块;基于所述第一系数解码结果,更新所述第二待解码图像块在解码过程中所使用到的目标数据,得到所述第二待解码图像块对应的更新系数解码结果,包括:在所述第一待解码图像块为非位于所述图像变换单元的右下角的待解码图像块的情况下,以所述第一待解码图像块为当前待解码图像块、以所述第一待解码图像块对应的更新系数解码结果为当前更新系数解码结果,对所述当前待解码图像块的变换系数进行解码,得到所述当前待解码图像块对应的当前系数解码结果;获取在解码过程依赖所述当前系数解码结果的第二待解码图像块;基于所述当前系数解码结果,更新第二待解码图像块在解码过程中所使用到的目标数据,得到第二待解码图像块对应的更新系数解码结果;以所述第二待解码图像块为所述当前待解码图像块、以第二待解码图像块对应的更新系数解码结果为所述当前更新系数解码结果,重复所述对所述当前待解码图像块的变换系数进行解码,至所述得到第二待解码图像块对应的更新系数解码结果的操作,直至得到所述图像变换单元中的左上角的待解码图像块的更新系数解码结果。8.根据权利要求7所述的方法,其特征在于,每个所述待解码图像块对应的系数解码结果包括每个所述待解码图像块对应的变化系数量化结果和每个所述待解码图像块对应的编解码模式信息,所述方法还包括:反变换和反量化处理每个所述待解码图像块对应的变化系数量化结果,得到每个所述待解码图像块的残差数据;根据每个所述待解码图像块对应的编解码模式信息,获取每个所述待解码图像块的预测数据;计算每个所述待解码图像块的残差数据以及每个所述待解码图像块的预测数据的和,得到每个所述待解码图像块的重建数据;对每个所述待解码图像块的重建数据进行环路滤波处理,得到所述待解码图像的解码结果。9.一种图像解码更新装置,其特征在于,包括:第一图像获取模块,被配置为执行获取待解码图像;所述待解码图像包括图像变换单
元;所述图像变换单元包括多个待解码图像块;每个所述待解码图像块对应有各自的变换系数;解码模块,被配置为执行对所述图像变换单元中的第一待解码图像块的变换系数进行解码,得到所述第一待解码图像块对应的第一系数解码结果;所述第一待解码图像块为所述图像变换单元中的任意一个待解码图像块;第二图像获取模块,被配置为执行获取在解码过程依赖所述第一系数解码结果的第二待解码图像块;所述第二待解码图像块为所述图像变换单元中位于所述第一待解码图像块的左上方区域的待解码图像块;更新模块,被配置为执行基于所述第一系数解码结果,更新所述第二待解码图像块在解码过程中所使用到的目标数据,得到所述第二待解码图像块对应的更新系数解码结果;其中,所述第二待解码图像块对应的更新系数解码结果用于对所述第二待解码图像块的变换系数进行解码;所述目标数据基于候选待解码图像块在解码过程中得到的系数解码结果而确定;所述候选待解码图像块为所述图像变换单元中位于所述第二待解码图像块的右下方区域的待解码图像块,所述候选待解码图像块包括所述第一待解码图像块。10.一种电子设备,其特征在于,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如权利要求1至8中任一项所述的图像解码更新方法。11.一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备执行如权利要求1至8中任一项所述的图像解码更新方法。
技术总结
本公开关于一种图像解码更新方法、装置、设备及存储介质,该方法包括:获取待解码图像;所述待解码图像包括图像变换单元;对所述图像变换单元中的第一待解码图像块的变换系数进行解码,得到所述第一待解码图像块对应的第一系数解码结果;获取在解码过程依赖所述第一系数解码结果的第二待解码图像块;所述第二待解码图像块为所述图像变换单元中位于所述第一待解码图像块的左上方区域的待解码图像块;基于所述第一系数解码结果,更新所述第二待解码图像块在解码过程中所使用到的目标数据,得到所述第二待解码图像块对应的更新系数解码结果。本公开实施例能够减少解码过程的复杂度,提升解码效率。提升解码效率。提升解码效率。
技术研发人员:郑羽珊
受保护的技术使用者:北京达佳互联信息技术有限公司
技术研发日:2023.04.04
技术公布日:2023/8/4
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
