一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

视频编码方法和装置与流程

2022-12-20 13:57:50 来源:中国专利 TAG:

视频编码方法和装置
1.本技术要求在2022年8月3日提交中国专利局、申请号为202210926773.7、发明名称为“视频编码方法和装置”的中国专利申请的优先权,其全部内容通过引用结合在本技术中。
技术领域
2.本技术涉及视频处理技术领域,具体涉及视频编码方法、装置和系统,视频编码预测模型构建方法和装置,以及电子设备。


背景技术:

3.视频编码器能够提供的视频压缩率和编码复杂度,是影响视频产品(如直播、点播、视频通话等)竞争力的重要指标。
4.一种典型的视频编码方式采用如下过程:用分层编码单元(cu)划分图(hcpm)的形式表示整个编码树单元(ctu)的cu划分结构;通过早期终止的分层cnn(early-terminated hierarchical cnn,eth-cnn)来学习预测hcpm;通过早期终止的长短期记忆lstm网络(eth-lstm)来学习cu划分的时域相关性;结合eth-lstm和eth-cnn网络来预测cu的划分,以提升视频压缩率及降低帧间模式下的编码复杂度。
5.然而,在实现本发明过程中,发明人发现上述方案至少存在如下问题:由于存在不必要的cu划分过程和cu帧内模式决策过程,因此编码复杂度较高。


技术实现要素:

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.本技术实施例提供的视频编码方法,通过分层cu划分图(hcpm)表示编码树单元(ctu)的划分结构,通过分层cu模式图(hcmm)表示ctu中各cu的编码模式类型,将多任务学习用于同时加速视频编码器的多个模块的编码过程,包括cu的深度决策过程和cu的模式决策过程,多任务学习模型以hcpm和hcmm作为学习目标,基于该模型对cu深度和编码模式预测的结果,确定编码树单元的划分模式和编码模式。采用这种处理方式,使得用一个深度模型来预测多个目标,能够快速跳过不必要的cu划分过程和cu帧内模式决策过程;因此,可以有效降低较高编码质量下的编码复杂度。
附图说明
71.图1本技术提供的视频编码方法的实施例的流程示意图;
72.图2本技术提供的视频编码方法的实施例的编码流程示意图;
73.图3本技术提供的视频编码方法的实施例的hcpm结构样例示意图;
74.图4本技术提供的视频编码方法的实施例的hcmm结构样例示意图;
75.图5本技术提供的视频编码方法的实施例的mtl-cnn模型结构示意图;
76.图6本技术提供的视频编码方法的实施例的commonnet_x网络结构示意图;
77.图7本技术提供的视频编码方法的实施例的task0_net网络结构示意图;
78.图8本技术提供的视频编码方法的实施例的task1_net网络结构示意图;
79.图9本技术提供的视频编码方法的实施例的训练样本生成示例图;
80.图10本技术提供的视频编码方法的实施例的具体流程图。
具体实施方式
81.在下面的描述中阐述了很多具体细节以便于充分理解本技术。但是本技术能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本技术内涵的情况下做类似推广,因此本技术不受下面公开的具体实施的限制。
82.在本技术中,提供了视频编码方法和装置,以及电子设备。在下面的实施例中逐一对各种方案进行详细说明。
83.视频编码是指通过压缩技术,将原始视频格式的文件转换成另一种视频格式文件。视频编码包括帧内编码和帧间编码。一幅图像里面的物体往往具有空间上的相关性,相邻图像里面的物体往往具有时间上的相关性。帧内编码是利用图像的空间冗余进行压缩,帧间编码是利用视频信息前后帧之间的关联进行压缩。帧间编码的压缩率通常高于帧内编码的压缩率。
84.视频编码要将视频帧的图像划分为编码树单元(coding tree units,ctu),编码树单元是基本编码单位,可向下分成编码单元(coding unit,cu),如图2所示,每个编码树单元可利用四叉树结构被递归分割。
85.在现有编码框架中,编码器为了寻找适合当前ctu所在视频内容的cu大小,会递归的尝试不同cu深度的编码。例如,ctu大小为64,编码器会尝试depth 0到depth 4(64x64到4x4的cu)共5种不同深度的编码。除了depth 4不做四叉划分模式的尝试外,所有深度的cu
都会做帧间模式、帧内模式和四叉划分模式的编码,并且会计算不同模式的率失真代价(rd0cost),最后根据率失真代价选择优化的编码模式和cu深度。
86.本技术的发明人发现现有编码方式存在多余的cu深度决策编码过程,编码复杂度较高。比如在图像平缓、基本上没有纹理特征的区域,优化的编码块一般属于大块的cu,但是为了找到这个cu尺寸,编码器做了许多多余小cu的编码尝试,通过求解不同cu尺寸率失真代价(rdo cost)并对比,才能得到优化的cu深度,这个过程称之为“cu深度的搜索过程”。
87.本技术的发明人通过实验对现有编码过程做了复杂度和可优化空间的分析。为了了解帧间编码在总编码复杂度的占比和在不同划分深度的情况下帧间编码复杂度占比,发明人首先将编码模块分为“帧间模块”(inter module),“b帧帧内模块”(intra module(b frame)),“i帧帧内模块”intra module(i frame),“其它模块”(other)四类,分别统计各个模块在总编码时间中的占比。接着,按照帧间和帧内两大类,在不同的深度统计两类编码模式的时间占比。其中,帧间模块是指采用帧间编码方式进行编码的编码单元,b帧帧内模块是指采用b帧帧内编码方式进行编码的编码单元,i帧帧内模块是指采用i帧帧内编码方式进行编码的编码单元,采用其它编码模式的编码单元为其它模块。
88.cu深度搜索过程的优化空间是指为了寻找更合适的优化深度而浪费的计算资源和时间成本,这些浪费的计算资源和时间成本实际可以通过其他算法来避免。为了解cu划分过程中可以优化的空间,发明人把cu分为“恶性不划分”cu(malignant_nonsplit”cu)和“恶性划分”cu(“malignant_split”cu)两类。其中,“恶性不划分”cu代表当前cu就是最优的cu深度或者cu尺寸,但是编码器为了得到这个结果,对当前cu做四叉划分,并对划分得到的子cu(sub-cu)也做了帧内/帧间模式的编码;而“恶性划分”cu则表示当前cu不是最优的cu尺寸,但是编码器为了寻找最优cu深度对当前cu做了帧内/帧间模式的编码。在实验过程中,发明人统计了在实际编码过程中,这两类cu在不同深度cu里的占比,用它们的占比来衡量cu深度搜索过程中的优化空间,这两类cu的占比越高则表示当前深度cu的优化空间越大。
89.为了寻找适合当前cu的编码模式,编码器会按照顺序逐个尝试所有编码模式,对每个模式做编码并计算rd cost,最终选出一个最小rd cost对应的编码模式作为当前cu的最优编码模式。
90.为了了解cu模式选择过程的优化空间,发明人将编码模式简化为帧间编码和帧内编码。并将cu分为“恶意帧内”cu(“malignant_intra”cu)和“恶意帧间”cu(“malignant_inter”cu)。其中,“恶意帧内”cu是指最优编码模式为帧内编码模式,但做了帧间编码模式尝试的cu;而“恶意帧间”cu是指最优编码模式为帧间编码模式,但做了帧内编码模式尝试的cu。这两类cu的占比越高则表示cu模式选择过程的优化空间越大,即这两类cu的占比可以代表模式选择过程的优化空间。
91.实验数据表明,在现有编码方式中,帧间模式的决策占据了高达51.54%的编码时间,i帧和b帧的帧内模式决策各占据了不到10%的时间,而帧间模式决策和b帧的帧内模式决策属于帧间cu深度决策过程的主体部分,因此,帧间的cu深度决策过程几乎占据了现有编码过程60%以上的时间复杂度。在复杂度分布方面,从平均结果看,除了深度为4(depth 4)的cu仅1.99%的复杂度外,其他深度的编码复杂度基本相近(13%~15%),说明大部分的cu不会选择depth 4,编码加速算法在深度为4的cu上会很难发挥效果。此外还发现,在每
个cu深度上,相比帧内模式占据了大部分模式选择的复杂度。
92.实验数据还表明,小qp(编码量化参数)下的优化空间会比qp下更大一些,小块cu依旧还有很大的优化空间。从平均结果看,有大量的cu存在着计算资源浪费的情况,“malignant_nonsplit”cu和“malignant_split”cu分别在d0~d2深度上占比100%,88.05%,85.18%和82.63%,78.99%,61.60%。qp值越小,量化步长越小,量化的精度越高,在同样画质的情况下,产生的数据量更大。从不同的qp来看,较小的qp因为会对图像质量编码更加精细、更加严格,所以很难有较好的算法准确地预测cu的深度,因此从结果来看,小qp下的优化空间会比qp下更大一些。从不同cu深度来看,更大块的cu会比小块的cu拥有更大的优化空间,因为在做小块cu的深度预测时,会比大块拥有更多的参考信息,所以现有编码加速算法已经利用这些信息做了一部分小块cu的深度预测算法,但是从统计结果来看,小块cu依旧还有很大的优化空间。
93.实验数据又表明,帧内帧间模式搜索过程依旧有优化空间。不同深度下(depth 0~depth 4)模式选择的优化空间虽有所不同,但是总体上“malignant_intra”cu的优化空间会高于“malignant_inter”cu的优化空间,说明现有编码器中已经有一些算法用于跳过某些cu的帧内模式搜索过程。除了depth3外,其他深度下,“malignant_intra”cu占比都是100%,说明vvenc已有的快速跳过cu帧间模式搜索算法仅在depth 3有效。因此,现有编码框架的帧内帧间模式搜索过程依旧有优化空间。
94.第一实施例
95.请参考图1,其为本技术的视频编码方法的实施例的流程示意图。在本实施例中,所述方法可包括如下步骤:
96.步骤s101:获取视频帧的编码树单元。
97.视频编码是基于块进行的,将一帧视频划分成不同的块,然后对每个块再分别进行编码处理。在本实施例中,将一帧图像划分为多个编码树单元(coding tree units,ctu),例如对于高清视频,每帧图像分辨率为1920x1080,若划分为64x64大小的ctu,则每行有30个ctu,整帧图像可划分为30x17个ctu。
98.编码树单元是基本编码单位,可向下分成编码单元(coding unit,cu),每个树编码块可利用四叉树嵌套多类型树的结构递归划分。
99.步骤s103:获取所述编码树单元的预测残差图像和预测重建图像。
100.在模型推断阶段当前视频帧还未开始编码,因此无法获得ctu的真实预测残差(resi)和真实重建图像(rec)。本技术实施例提供的方法,在通过步骤s105开始编码当前视频帧前,先通过步骤s103对当前视频帧中的每个ctu做一个简单粗略的编码,称为预编码,得到预编码产生的预测残差图像和预测重建图像。
101.在一个示例中,视频编码器对时间性能有着严格的要求,为了尽量减少预编码上产生的时间开销,步骤s103可采用如下方式实施:将对所述编码树单元进行帧间编码产生的重建图像作为所述预测重建图像,根据预测残差图像确定所述预测残差图像。采用这种处理方式,使得仅对深度为0的cu(最大的cu)做帧间模式(inter_me)的编码,省去了实际编码中耗时的cu深度搜索和模式搜索过程。经实验表明,采用该预编码方式仅增加了约3%的时间,而用预编码产生的残差图像作为输入数据,在接下来训练出的模型上也表现出了较好的效果。
102.在一个示例中,本技术实施例提供的方法用于采用多用途视频编码标准(versatile video coding,vvc,如h.266)的视频编码系统。相比传统编码标准而言,vvc更强调编码标准的多用途性,但是编码复杂度也极大增加了,因此可采用本技术实施例提供的方法降低编码复杂度。在这种情况下,可采用复杂度较低的视频编码方式,获取所述编码树单元的预测残差图像和预测重建图像。例如,采用高效视频编码标准(high efficiency video coding,h.265/hevc)、高级视频编码标准(advanced video coding,h.264/avc)或者更低标准的编码器进行预编码。
103.步骤s105:通过多任务学习的预测模型,根据所述预测残差图像和预测重建图像,获取所述编码树单元的分层编码单元划分图和分层编码单元模式图。
104.在本实施例中,用分层cu划分图(hcpm)的形式表示整个编码树单元(ctu)的cu划分结构,用分层cu模式图(hcmm)表示ctu中各cu的编码模式类型。所述分层编码单元划分图包括各编码单元的划分概率,所述分层编码单元模式图包括各编码单元的编码模式概率,如帧间编码概率或者帧内编码概率等。通过多任务学习的预测模型,以预编码过程产生的预测残差图像和编码后的预测重建图像作为输入,预测两个任务:1)当前cu是否需要划分为小块编码;2)当前cu最优编码模式是否是帧间编码模式,这样可优化cu划分的决策方式和cu编码模式的选择方式,从而降低帧间模式下的编码复杂度。
105.本步骤用预编码产生的预测残差图像和预测重建图像近似代替真实的预测残差和重建图像,将预编码产生的预测残差和预编码后的重建图像作为预测模型(也称为多任务学习模型)的输入数据,通过预测模型输出所述编码树单元的分层编码单元划分图和分层编码单元模式图。预测模型输出的分层编码单元划分图包括各深度cu的划分概率(probability_split,hcpm的预测值),预测模型输出的分层编码单元模式图包括各cu选择帧间模式作为最优模式的概率(probability
inter_mode
),将其作为预测模型输出的编码单元的编码模式概率。
106.分层cu划分图(hcpm)可代表ctu的划分结构,该结构用来作为预测模型的输出结构,目的是使得模型只需要预测对应的hcpm就能得到对整个ctu划分结构,无需对每个cu单独调用模型,因此可以有效降低时间开销。
107.hcpm结构如图3所示,图中(a)表示hcpm的真实标签,(b)表示模型预测的hcpm预测值。hcpm结构会用y1(u)代表一级(深度为0)cu是否划分,y1(u)=1代表划分,y1(u)=0代表不划分;y2(ui)i={1,2,3,4}代表二级的4个cu是否划分,同理,y3(u
i,j
)i,j={1,2,3,4}代表三级中的16个cu是否划分。表示模型预测出来的hcpm值,分别代表各层cu需要做划分编码的概率。此外,在hcpm结构中,一旦上一层的父cu不划分,则下一层的4个子cu的划分标签将无效,如图(a)部分hcpm标注数据(ground-truth of hcpm),二级的y2(u2)=0(代表该cu不划分),则该cu所对应的4个子cu在三级中将是无效的,在模型训练计算损失阶段将不考虑这些无效cu的损失。
108.根据多任务模型的需要,本技术实施例提供的方法在hcpm结构基础上提出了分层cu模式图(hierarchical cu mode map,hcmm)。如图4所示,hcmm采用了与hcpm类似的结构,相比hcpm,hcmm可对四级(深度为3)的cu也做了决策,并且hcmm中的m1(u)、m2(ui)i={1,2,3,4}、m3(u
i,j
)i,j={1,2,3,4}、m4(u
i,j,k
)i,j,k={1,2,3,4}分别代表了各深度cu的优化模式,取值为1代表cu优化模式为帧间模式,取值为0代表优化模式为帧内模式。由于cu划分结
构与模式决策有着不可分离的关系,即如果当前cu不做划分,那么对应位置不存在更小块cu,也就不会存在相应的帧内/帧间模式决策过程。因此,hcpm结构中无效的cu在hcmm中也将无效,无效的cu最终将不计入损失(loss)的计算中。本技术实施例提出的所述预测模型(如mtl-cnn模型)旨在预测hcpm和hcmm,与预测的hcpm类似,预测的hcmm中,cnn模型)旨在预测hcpm和hcmm,与预测的hcpm类似,预测的hcmm中,可分别代表各层cu选择帧间编码为优化模式的概率。
109.所述预测模型可以是深度模型,其网络结构可以是多任务学习卷积神经网络(multi-tasking learning cnn,mtl-cnn),也可以是多任务学习循环神经网络等。
110.在一个示例中,步骤s105可包括如下步骤:根据所述预测残差图像和预测重建图像,获取共享特征;根据所述共享特征,获取所述分层编码单元划分图;根据所述共享特征,获取所述分层编码单元模式图。
111.具体实施时,所述预测模型可包括:共享特征提取单元,第一预测单元,第二预测单元;步骤s105可采用如下方式:通过所述共享特征提取单元,根据所述预测残差图像和预测重建图像,获取共享特征;通过所述第一预测单元,根据所述共享特征,获取所述分层编码单元划分图;通过所述第二预测单元,根据所述共享特征,获取所述分层编码单元模式图。所述共享特征是指获取分层编码单元划分图和分层编码单元模式图共同基于的特征,也就是说,根据共享特征即可获取分层编码单元划分图,又可获取分层编码单元模式图。
112.在本实施例中,所述预测模型为多任务学习卷积神经网络(multi-tasking learning cnn,mtl-cnn)的模型。mtl-cnn模型的主干可采用多任务学习中常用的共享底部多任务(shared-bottom multi-task)dnn结构。该网络结构是在输入层之后用一个共享层学习不同任务在浅层的相同特征,然后每个任务在底部相同特征学习的基础上,用一个单独的网络学习各自的深层特征,再输出各自的目标任务结果。
113.图5展示了mtl-cnn模型的基本结构,包括三个层:输入层(input layer)、共享层(share layer)和多任务层(multi-task layer)。在输入层中,resi ctu和rec ctu是对ctu进行预编码得到的残差图像和重建图像,两者的大小都可以是64x64,通道数可以为1。
114.在一个示例中,步骤s105还可包括如下步骤:根据所述预测残差图像和预测重建图像,获取所述预测残差图像和预测重建图像的归一化数据。由于预测残差图像和预测重建图像的数据分布差异较大,为了加快模型的收敛速度,提高模型在多任务上的性能,输入层可采用标准化方法对resi ctu(残差图像)和rec ctu(重建图像)进行数据标准化,使得它们服从标准正太分布。
115.具体实施时,所述预测模型可包括数据标准化单元,用于根据所述预测残差图像和预测重建图像,获取所述预测残差图像和预测重建图像的归一化数据。
116.具体实施时,标准化方法可以是标准分数(z-score,z分数)法,采用标准分数法对残差图像和重建图像进行数据标准化,如采用如下公式:在该公式中,x
*
代表标准化后的数据,x代表标准化前的数据,μ代表多个数据样本的均值,σ代表所有数据的标准差。其中,数据样本又称为训练样本,数据样本包括预测残差图像和预测重建图像,多个数据样本的均值包括多个预测残差图像的均值和多个预测重建图像的均值,也可以是多个预测残差图像和多个预测重建图像的均值。
117.共享层负责提取多任务数据浅层的公共特征或者共享特征。在一个示例中,所述根据所述预测残差图像和预测重建图像,获取共享特征,包括:根据所述预测残差图像和预测重建图像,获取多个层次的共享特征,不同层次对应不同的编码单元划分深度;所述根据所述共享特征,获取所述分层编码单元划分图,包括:根据多个层次的共享特征,获取所述分层编码单元划分图;所述根据所述共享特征,获取所述分层编码单元模式图,包括:根据多个层次的共享特征,获取所述分层编码单元模式图。
118.在本实施例中,所述共享特征提取单元包括:多个层次的共享特征提取单元,不同层次对应不同的编码单元划分深度;通过所述第一预测单元,根据多个层次的共享特征,获取所述分层编码单元划分图;通过所述第二预测单元,根据多个层次的共享特征,获取所述分层编码单元模式图。
119.在一个示例中,根据第一层次、第二层次和第三层次分别对应的共享特征,获取所述分层编码单元划分图;根据第一层次、第二层次、第三层次和第四层次分别对应的共享特征,获取所述分层编码单元模式图。
120.具体实施时,可通过所述第一预测单元,根据第一层次、第二层次和第三层次分别对应的共享特征,获取所述分层编码单元划分图;通过所述第二预测单元,根据第一层次、第二层次、第三层次和第四层次分别对应的共享特征,获取所述分层编码单元模式图。
121.如图5所示,输入层输出的标准化残差图像和重建图像,经过4个并行的公共网络(commonnet_x,x=0,1,2,3)分别提取不同层次的共享特征,它们可分别对应hcpm的3个级别和hcmm的4个级别。
122.在一个示例中,根据所述预测残差图像和预测重建图像,获取不同层次的共享特征,可包括如下步骤:根据所述预测残差图像和不同的编码量化参数,获取预测残差图像的总体特征;根据所述预测重建图像和不同的编码量化参数,获取预测重建图像的总体特征;根据所述预测残差图像的总体特征和预测重建图像的总体特征,获取第一总体特征;根据所述第一总体特征,获取第二总体特征;根据所述第二总体特征,获取所述共享特征。
123.具体实施时,不同层次的共享特征提取单元包括:第一池化层,第二池化层,特征融合层,第一共享特征提取层,输出层;通过所述第一池化层,根据所述预测残差图像,获取预测残差图像的总体特征;通过所述第二池化层,根据所述预测重建图像,获取预测重建图像的总体特征;通过所述特征融合层,根据所述预测残差图像的总体特征和预测重建图像的总体特征,获取第一总体特征;通过所述第一共享特征提取层,根据所述第一总体特征,获取第二总体特征;通过所述输出层,根据所述第二总体特征,获取所述共享特征。
124.图6展示了commonnet_x网络结构,残差图像和重建图像分别经过平均池化(avgpool)提取数据总体特征,然后拼接在一起,最后经过核大小为3
×
3的卷积神经网络(cnn)提取它们的浅层共享特征,共享特征经过归一化层(batch normalization,bn)和激活函数(relu后)传向下一层。
125.在一个示例中,不同层次的池化层对应不同的池化层参数,池化层参数可以是内核大小,还可以是步长。为了提取不同粒度或层次的特征,对不同commonnet_x网络的平均池化层使用不一样的池化层参数,下表1展示了本实施例中具体参数的设置情况。
126.表1 commonnet_x网络的平均池化层参数设置
[0127][0128]
在本实施例中,多任务层包括两个不同任务各自的网络task0_net和task1_net,用于从共享特征中进一步学习各自任务间不同的特征,并分别预测hcpm和hcmm。
[0129]
图7和8展示了task0_net和task1_net的网络结构。在本实施例中,两个网络的基本结构相同,都是以共享层的共享特征作为输出,经过卷积神经网络层(cnn)提取各自更深层次的特征。其中,cnn可包括3个非重叠cnn(4
×
4cnn的步长为4
×
4,2
×
2cnn的步长为2
×
2)。然后,将深层次的特征拉平(flatten)为一维向量,再将各分支的一维向量(包括全局和局部的特征)都拼接起来得到向量vector,以便后续的全连接层(fc layer)能够从全局和局部特征中选择合适的特征。全连接层包括2个隐藏层(f
x-1
,f
x-2
)和输出层,目的是为了通过2个隐藏层整合任务层(cnn)提取的特征vector,并最终经过输出层预测得到hcpm或hcmm。
[0130]
在本实施例中,task0_net和task1_net网络结构不同之处在于task1_net包含了4个分支,而task0_net仅有3个分支,这是因为task0_net网络的输出是预测hcpm,而hcpm结构只有3个级别(图4所示),每个分支负责预测一个级别,不同分支输出的1、2
×
2和4
×
4的预测结果分别对应hcpm的和它们分别代表各层cu需要做划分模式的概率。而hcmm包含4个级别,相应的task1_net网络的4个分支输出的1、2
×
2、4
×
4和8
×
8的预测结果分别对应hcmm的8的预测结果分别对应hcmm的和它们分别代表了各层cu选择帧间编码为优化模式的概率。
[0131]
为了训练多任务预测模型,将111个yuv测试序列作为建立数据集的数据库,包括了不同分辨率的测试序列,分别是:sif(352
×
240),cif(352
×
288),ntsc(720
×
486),4cif(704
×
576),240p(416
×
240),480p(832
×
480),720p(1280
×
720),1080p(1920
×
1080),wqxga(2560
×
1600),4k(4096
×
2160)。将111个序列分为3个不重叠的数据库,分别作为训练集数据库、验证集数据库和测试集数据库,其中训练集数据库包含了83个序列,用于构建训练集,验证集数据库包含10个序列用于构建验证集,测试集包含18个jct-vc提供的标准测试序列用于构建测试集。
[0132]
在一个示例中,获取所述预测模型的训练数据集,可采用如下方式:获取多个编码树单元和多个编码量化参数;根据多个编码量化参数,获取多个编码树单元的残差图像和重建图像。
[0133]
例如,可采用4个编码量化参数qp{22,27,32,37},在编码器的随机访问random access(ra)(使用random_access.cfg配置)快速挡位下对所有数据库中的序列做编码,编码完之后生成对应数据库下不同序列ctu的预测残差(resi)、编码后的重建图像(rec)和cu
的二进制标签(对应hcpm结构)和(对应hcmm结构),d表示当前cu的深度,i表示ctu中深度为d的cu标号。其中用于标识d深度下第i个cu是否需要做划分,标签为1代表需要划分为小块,反之,标签为0代表不需要划分为小块;用于标识最优编码模式的类别,标签为1代表的最优编码模式为帧间模式,标签为0则最优模式为帧内模式。
[0134]
多任务预测模型的训练数据包括:残差图像和重建图像与分层编码单元划分图的标注数据和分层编码单元模式图的标注数据之间的对应关系。
[0135]
图9展示了一个训练样本的生成示例,编码器将ctu的预测残差resi、编码后的重建图像rec、hcpm的标注数据(图9中的{ls0,ls1,ls2})和hcmm的标注数据(图9中的{lm0,lm1,lm2,lm3}),即resi、rec、21个cu划分的标注数据 85个cu编码模式的标注数据作为一个训练样本。经过对视频序列数据库编码,共得到上百万个训练样本,上百万个验证样本和上百万个测试样本。
[0136]
需要说明的是,在模型训练阶段和模型推断阶段可采用不同的方式获取模型的输入数据(残差图像和重建图像),也可采用相同的方式获取模型的输入数据。例如,在模型训练阶段可对多个深度的cu进行编码,获取编码树单元的真实残差图像和真实重建图像;而在模型训练阶段仅对深度为0的cu(最大的cu)做inter_me模式的编码,获取编码树单元的精度稍低的残差图像和重建图像,这样可省去实际编码中耗时的cu深度搜索和模式搜索过程,以满足编码器对时间性能的较高需求。在实际应用中,可根据编码器对时间性能的需求,确定采用何种方式获取模型的输入数据。
[0137]
步骤s107:根据所述划分概率、所述编码模式概率,确定所述编码树单元的划分模式及编码模式。
[0138]
本步骤根据所述划分概率确定所述编码树单元的划分模式,根据所述编码模式概率确定所述编码树单元的编码模式。所述划分模式包括编码树单元被划分为编码单元的方式,所述编码模式包括各编码单元的编码模式。
[0139]
在本实施例中,步骤s107可包括如下步骤:
[0140]
步骤s1071:根据所述划分概率,判断是否跳过编码单元在当前深度的编码过程和/或跳过编码单元划分模式编码过程。
[0141]
根据所述划分概率,可判断是否跳过编码单元在当前深度的编码过程,或者判断是否跳过编码单元划分模式编码过程,再或者判断是否跳过编码单元在当前深度的编码过程和编码单元划分模式编码过程。
[0142]
在一个示例中,步骤s1071可采用如下方式实现:根据所述划分概率和第一划分概率范围(如70%至96%),判断是否跳过编码单元在当前深度的编码过程;根据所述划分概率和第二划分概率范围(如5%至30%),判断是否跳过编码单元划分模式编码过程。采用这种处理方式,使得可根据提前设置的第一划分概率范围,决定是否需要跳过cu在当前深度的编码过程,即仅对cu做划分模式;根据提前设置的第二划分概率范围,决定是否需要跳过cu在当前深度的编码过程编码单元划分模式编码过程,即不对当前cu做更深层的子块编
码。
[0143]
在另一个示例中,步骤s1071可采用如下方式实现:根据所述划分概率和第一划分概率阈值,判断是否跳过编码单元在当前深度的编码过程;根据所述划分概率和第二划分概率阈值,判断是否跳过编码单元划分模式编码过程。
[0144]
本技术实施例提供的方法,可根据多任务学习模型预测各深度cu做划分的概率(probability_split,hcpm的预测值),以及提前设置的第一划分概率阈值(th_up),决定是否需要跳过cu在当前深度的编码过程(即仅对cu做划分模式)。此外,还可根据probability_split和第二划分概率阈值(th_down),决定是否需要跳过cu划分模式编码过程(即不对当前cu做更深层的子块编码)。
[0145]
在本实施例中,可根据当前cu在ctu中的深度和位置信息,从hcpm中读取当前cu对应的划分概率(probability
split
)。如图10所示,在本实施例中,如果所述划分概率大于第一划分概率阈值(th_up),则判定跳过cu在当前深度的编码过程,仅对cu做划分模式编码,称之为“提前跳过cu编码策略”。如果所述划分概率小于或者等于第一划分概率阈值,则判定不能跳过cu在当前深度的编码过程,需要执行cu在当前深度的编码过程,对cu进行帧间编码。具体实施时,如果当前cu部分位置超出图像边界,则判定跳过cu在当前深度的编码过程。
[0146]
如图10所示,在本实施例中,如果所述划分概率小于或者等于第二划分概率阈值(th_down),则判定跳过cu划分模式编码过程,即不对当前cu做更深层的子块编码,称之为“提前跳过cu划分策略”。如果所述划分概率大于第二划分概率阈值,则判定不能跳过cu划分模式编码过程,需要对当前cu做更深层的子块编码,如做四叉树编码。
[0147]
本技术实施例提供的方法,通过步骤s1071,使得可根据cu划分概率,判断是否跳过cu在当前深度的编码过程,跳过编码单元划分模式编码过程;因此,可以快速跳过不必要的cu编码过程和不必要的编码单元划分模式编码过程,从而降低编码复杂度。
[0148]
步骤s1073:根据编码模式概率,判断是否跳过编码单元的帧内编码过程或者帧间编码过程。
[0149]
在一个示例中,步骤s1073可采用如下方式实现:根据所述编码模式概率和编码模式概率范围,判断是否跳过编码单元的帧内编码过程或者帧间编码过程。采用这种处理方式,使得可根据提前设置的编码模式概率范围(如56-78%),决定是否需要跳过cu帧内编码过程或者帧间编码过程。
[0150]
在另一个示例中,所述编码模式概率包括:帧间模式概率;步骤s1073可包括如下步骤:根据所述帧间模式概率和帧间模式概率阈值,判断是否跳过cu帧内编码过程。
[0151]
在本实施例中,可根据当前cu在ctu中的深度和位置信息,从hcmm中读取当前cu选择帧间模式作为最优模式的概率(probability
inter_mode
)。如图10所示,在本实施例中,如果所述帧间模式概率大于帧间模式概率阈值,则判定跳过cu帧内编码过程,仅对cu做帧间编码,称之为“提前跳过cu帧内编码策略”。如果所述划分概率小于或者等于帧间模式概率阈值,则判定不能跳过cu帧内编码过程,需要对cu进行帧内编码。具体实施时,如果当前cu部分位置超出图像边界,则判定跳过cu在当前深度的编码过程。
[0152]
本技术实施例提供的方法,通过根据所述帧间模式概率和帧间模式概率阈值,判断是否跳过cu帧内编码过程,使得可根据cu帧间模式概率和帧间模式概率阈值,判断是否
跳过cu帧内编码过程;因此,可以快速跳过不必要的cu帧内编码过程,从而降低编码复杂度。
[0153]
具体实施时,所述编码模式概率也可包括:帧内模式概率;步骤s1073可包括如下步骤:根据所述帧内模式概率和帧内模式概率阈值,判断是否跳过cu帧间编码过程。采用这种处理方式,使得可根据cu帧内模式概率和帧内模式概率阈值,判断是否跳过cu帧间编码过程;因此,可以快速跳过不必要的cu帧间编码过程,从而降低编码复杂度。
[0154]
如图10所示,在一个示例中,确定编码树单元的划分模式和编码模式时,步骤s107可包括如下步骤:
[0155]
步骤s1101:根据所述分层编码单元划分图和所述分层编码单元模式图,获取编码单元的划分概率和帧间模式概率。
[0156]
步骤s1102:根据所述划分概率和第一划分概率阈值,判断是否跳过cu在当前深度的编码过程。
[0157]
步骤s1103:根据所述划分概率和第二划分概率阈值,判断是否跳过cu划分模式编码过程。
[0158]
步骤s1104:根据所述帧间模式概率和编码模式概率阈值,判断是否跳过cu帧内编码过程。
[0159]
本技术实施例提供的方法,通过步骤s1101至s1104,可以快速跳过不必要的cu在当前深度的编码过程、cu划分模式编码过程、cu帧内编码过程,从而降低编码复杂度。
[0160]
具体实施时,步骤s107还可包括如下步骤:根据编码质量评估参数,确定编码模式。所述编码质量评估参数包括但不限于:率失真损失(rd cost)等。
[0161]
在处理完当前编码单元后,可判断是否存在同深度下的其它编码单元,若存在同深度下的其它编码单元,则获取下一个同深度的编码单元,通过上述步骤s1101至s1104处理下一个同深度的编码单元,直至处理完分层编码单元划分图内的所有编码单元。
[0162]
在一个示例中,所述方法还可包括如下步骤:根据编码单元的深度和编码量化参数,确定与编码单元对应的第一划分概率阈值、第二划分概率阈值和/或编码模式概率阈值。
[0163]
第一划分概率阈值和第二划分概率阈值的设定与编码量化参数(qp)及cu的深度都有较强的相关性,为了对不同的编码qp和不同的cu深度设置更合理的双阈值,发明人进行了测试实验。例如,采用4个不同的qp{22,27,32,37},分别对第一划分概率阈值和第二划分概率阈值设置不同的值,在随机访问ra(random_access.cfg)快速挡位下编码测试序列,并统计在不同qp、不同cu深度及不同阈值下,上述“提前跳过cu编码策略”和“提前跳过cu划分策略”各自的准确率(precision)和召回率(recall),这两个指标反映了算法决策的准确性和降低编码复杂度的有效性。具体实验配置如表2所示。
[0164][0165]
第一划分概率阈值(th_up)的变化将影响“提前跳过cu编码策略”的准确率(precision)和召回率(recall),precision和recall通过式(2)计算得到。在跳过当前cu编码的决策上,式2中a代表经过编码器传统的搜索方法决策,当前cu需要被划分为小块做编
码,b代表当前cu满足第一划分概率阈值条件(即所述划分概率大于第一划分概率阈值),将执行跳过当前cu编码策略,prob(a|b)和prob(b|a)代表条件概率,n(*)代表对应事件的cu总数,recall越大,代表执行跳过当前cu编码的事件比重越大,降低编码器复杂度也就越多,而precision越大,代表执行跳过当前cu编码的算法策略正确性越高,编码器的压缩性能下降就越少。经实验验证,为了保障编码压缩性能的同时,达到更好的降低编码复杂度效果,采用上述方式设置第一划分概率阈值th_up,可保障视频编码在各qp和各深度下,precision高于90%以上,recall 30%~70%。
[0166]
第二划分概率阈值(th_down)的变化将影响“提前跳过cu划分策略”的准确率(precision)和召回率(recall),precision和recall通过式(2)计算得到。在跳过当前cu划分的决策上,式2中a代表经过编码器传统的搜索方法决策,当前cu不需要被划分为小块做编码,b代表当前cu满足第二划分概率阈值条件(即所述划分概率小于或者等于第一划分概率阈值),将执行跳过当前cu的划分编码,prob(a|b)和prob(b|a)代表条件概率,n(*)代表对应事件的cu总数,recall越大,代表执行跳过当前cu划分事件的占比越大,降低编码器复杂度也就越多,而precision越大,代表执行跳过当前cu划分的算法策略正确性越高,编码器的压缩性能下降就越少。根据实验验证,为了保障编码压缩性能的同时,达到更好的降低编码复杂度效果,采用上述方式设置第二划分概率阈值,可保障视频编码在各qp和各深度下,precision高于90%以上,recall最高达77%。
[0167]
为了选择优化的编码模式概率阈值(th_skip_intra),可在4个不同qp{22,27,32,37}下,分别测试在不同的编码模式概率阈值(th_skip_intra)取值情况下“跳过帧内预测模式策略”的准确率(precision)和召回率(recall),其中precision和recall通过式(2)计算得到。在测试中,式中事件a代表经过编码器传统搜索方法决策,得到当前cu的最优模式为帧间模式,事件b代表当前cu满足跳过帧内编码的阈值条件,并执跳过帧内模式编码,prob(a|b)和prob(b|a)代表条件概率,n(*)代表对应事件的cu总数。recall越大,代表执行“跳过帧内预测模式策略”的cu占比越大,降低编码器复杂度也就越多,而precision越大,代表“跳过帧内预测模式策略”的正确性越高,编码器的压缩性能下降就越少。根据实验验证,为了保障编码压缩性能的同时,达到最好的降低编码复杂度效果,采用上述方式编码模式概率阈值th_skip_intra,可保障在各qp和各深度下,precision高于97%以上,recall最高可达86%。
[0168]
从上述实施例可见,本技术实施例提供的视频编码方法,通过分层cu划分图(hcpm)表示编码树单元(ctu)的划分结构,通过分层cu模式图(hcmm)表示ctu中各cu的编码模式类型,将多任务学习用于同时加速视频编码器的多个模块的编码过程,包括cu的深度决策过程和cu的模式决策过程,多任务学习模型以hcpm和hcmm作为学习目标,基于该模型对cu深度和编码模式预测的结果,确定编码树单元的划分模式及编码模式。采用这种处理方式,使得用一个深度模型来预测多个目标,能够快速跳过不必要的cu划分过程和cu帧内模式决策过程;因此,可以有效降低较高编码质量下的编码复杂度。
[0169]
第二实施例
[0170]
在上述的实施例中,提供了一种视频编码方法,与之相对应的,本技术还提供一种视频编码装置。该装置是与上述方法的实施例相对应。本实施例与第一实施例内容相同的部分不再赘述,请参见实施例一中的相应部分。
[0171]
本技术提供的一种视频编码装置包括:编码树单元获取单元,第一编码单元,预测单元,第二编码单元。
[0172]
编码树单元获取单元,用于获取视频帧的编码树单元;第一编码单元,用于获取所述编码树单元的预测残差图像和预测重建图像;预测单元,用于通过多任务学习的预测模型,根据所述预测残差图像和预测重建图像,获取所述编码树单元的分层编码单元划分图和分层编码单元模式图,所述分层编码单元划分图包括编码单元的划分概率,所述分层编码单元模式图包括编码单元的编码模式概率;第二编码单元,用于根据所述划分概率、所述编码模式概率,确定所述编码树单元的划分模式及编码模式。
[0173]
在一个示例中,所述预测单元包括:共享特征提取单元,用于通过所述预测模型,根据所述预测残差图像和预测重建图像,获取共享特征;第一预测单元,用于根据所述共享特征,获取所述分层编码单元划分图;第二预测单元,用于根据所述共享特征,获取所述分层编码单元模式图。
[0174]
在一个示例中,所述共享特征提取单元,具体用于通过所述预测模型,根据所述预测残差图像和预测重建图像,获取多个层次的共享特征;所述第一预测单元,具体用于根据多个层次的共享特征,获取所述分层编码单元划分图;所述第二预测单元,具体用于根据多个层次的共享特征,获取所述分层编码单元模式图。
[0175]
在一个示例中,所述第一预测单元,具体用于根据第一层次、第二层次和第三层次分别对应的共享特征,获取所述分层编码单元划分图;所述第二预测单元,具体用于根据第一层次、第二层次、第三层次和第四层次分别对应的共享特征,获取所述分层编码单元模式图。
[0176]
在一个示例中,所述共享特征提取单元包括:第一总体特征提取单元,第二总体特征提取单元,第三总体特征提取单元,第四总体特征提取单元,共享特征获取单元。
[0177]
第一总体特征提取单元,用于根据所述预测残差图像和不同的编码量化参数,获取预测残差图像的总体特征;第二总体特征提取单元,用于根据所述预测重建图像和不同的编码量化参数,获取预测重建图像的总体特征;第三总体特征提取单元,用于根据所述预测残差图像的总体特征和预测重建图像的总体特征,获取第一总体特征;第四总体特征提取单元,用于根据所述第一总体特征,获取第二总体特征;共享特征获取单元,用于根据所述第二总体特征,获取所述共享特征。
[0178]
在一个示例中,所述预测单元,具体用于根据所述预测残差图像和预测重建图像,获取所述预测残差图像和预测重建图像的归一化数据;根据所述归一化数据,获取所述分层编码单元划分图和分层编码单元模式图。
[0179]
在一个示例中,所述第一编码单元,具体用于将对所述编码树单元进行帧间编码产生的重建图像作为所述预测重建图像;根据预测重建图像确定所述预测残差图像。
[0180]
在一个示例中,第二编码单元,具体用于根据所述划分概率,判断是否跳过编码单元在当前深度的编码过程和/或跳过编码单元划分模式编码过程;根据编码模式概率,判断是否跳过编码单元的帧内编码过程或者帧间编码过程。
[0181]
在一个示例中,所述装置还包括:根据编码单元的深度和编码量化参数,确定与编码单元对应的第一划分概率阈值、第二划分概率阈值和/或编码模式概率阈值。
[0182]
第三实施例
[0183]
在上述的实施例中,提供了一种视频编码方法,与之相对应的,本技术还提供一种视频编码预测模型处理方法。该方法是与上述方法的实施例相对应。本实施例与第一实施例内容相同的部分不再赘述,请参见实施例一中的相应部分。
[0184]
本技术提供的一种视频编码预测模型处理方法包括:
[0185]
步骤1:获取训练数据集。
[0186]
所述训练数据包括:残差图像和重建图像与分层编码单元划分图的标注数据和分层编码单元模式图的标注数据之间的对应关系。
[0187]
关于训练数据集的准备方法,已在实施例一中给出了详细说明,请参考实施例一中的相关部分,此处不再赘述。
[0188]
步骤2:构建多任务学习的预测模型。
[0189]
关于预测模型的输入数据、输出数据、基本网络结构和优化网络结构,已在实施例一中给出了详细说明,请参考实施例一中的相关部分,此处不再赘述。
[0190]
步骤3:根据所述训练数据集,训练所述预测模型的模型参数。
[0191]
本步骤是通过机器学习方式,从训练数据集内学习得到所述预测模型的模型参数,将模型参数存储,在预测阶段根据模型参数进行相关预测。
[0192]
从上述实施例可见,本技术实施例提供的视频编码预测模型处理方法,通过构建多任务学习的预测模型,使得该模型用于根据视频帧的编码树单元的预测残差图像和预测重建图像,获取所述编码树单元的分层编码单元划分图和分层编码单元模式图,所述分层编码单元划分图包括编码单元的划分概率,所述分层编码单元模式图包括编码单元的编码模式概率;根据所述划分概率、所述编码模式概率,确定所述编码树单元的划分模式及编码模式。采用这种处理方式,使得用一个深度模型来预测多个目标,能够快速跳过不必要的cu划分过程和cu帧内模式决策过程;因此,可以有效降低较高编码质量下的编码复杂度。
[0193]
第四实施例
[0194]
在上述的实施例中,提供了一种视频编码预测模型处理方法,与之相对应的,本技术还提供一种视频编码预测模型处理装置。该装置是与上述方法的实施例相对应。本实施例与第一实施例内容相同的部分不再赘述,请参见实施例一中的相应部分。
[0195]
本技术提供的一种视频编码预测模型处理装置包括:训练数据获取单元,模型构建单元,模型训练单元。
[0196]
训练数据获取单元,用于获取训练数据集;训练数据包括:残差图像和重建图像与分层编码单元划分图的标注数据和分层编码单元模式图的标注数据之间的对应关系;模型构建单元,用于构建多任务学习的预测模型;模型训练单元,用于根据所述训练数据集,训练所述预测模型的模型参数。
[0197]
第五实施例
[0198]
本技术还提供一种电子设备。由于设备实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的设备实施例仅仅是示意性的。
[0199]
本实施例的一种电子设备,该电子设备包括:处理器和存储器;存储器,用于存储实现上述视频编码方法或者视频编码预测模型处理方法的程序,该设备通电并通过所述处理器运行该方法的程序。
[0200]
第六实施例
[0201]
在上述的实施例中,提供了一种视频编码方法,与之相对应的,本技术还提供一种视频编码系统。该系统是与上述方法的实施例相对应。本实施例与第一实施例内容相同的部分不再赘述,请参见实施例一中的相应部分。
[0202]
本技术提供的一种视频编码系统包括:上述任一种视频编码装置,视频解码装置。所述视频解码装置属于现有技术范畴,可采用较为成熟的视频解码技术,此处不再赘述。所述视频编码系统可用于直播场景、点播场景、视频会议场景等。
[0203]
第七实施例
[0204]
在上述的实施例中,提供了一种视频编码方法,与之相对应的,本技术还提供一种用于直播场景的视频直播方法。该方法是与上述方法的实施例相对应。本实施例与第一实施例内容相同的部分不再赘述,请参见实施例一中的相应部分。
[0205]
本技术提供的一种视频直播方法包括如下步骤:
[0206]
步骤201:获取直播视频包括的视频帧的编码树单元。
[0207]
直播视频也包括多个视频帧,对视频帧的处理方式如实施例一所述,此处不再赘述。
[0208]
步骤203:获取所述编码树单元的预测残差图像和预测重建图像。
[0209]
步骤205:通过多任务学习的预测模型,根据所述预测残差图像和预测重建图像,获取所述编码树单元的分层编码单元划分图和分层编码单元模式图,所述分层编码单元划分图包括编码单元的划分概率,所述分层编码单元模式图包括编码单元的编码模式概率。
[0210]
步骤207:根据所述划分概率、所述编码模式概率,确定所述编码树单元的划分模式及编码模式,以根据所述编码树单元的划分模式及编码模式生成编码数据。
[0211]
采用这种处理方式,能够快速跳过不必要的cu划分过程和cu帧内模式决策过程;因此,可以有效降低较高编码质量下的编码复杂度,从而提升较高画面质量下的直播视频流畅度。
[0212]
第八实施例
[0213]
在上述的实施例中,提供了一种视频编码方法,与之相对应的,本技术还提供一种用于视频点播的视频编码方法。该方法是与上述方法的实施例相对应。本实施例与第一实施例内容相同的部分不再赘述,请参见实施例一中的相应部分。
[0214]
本技术提供的一种用于视频点播的视频编码方法包括如下步骤:
[0215]
步骤301:获取点播视频包括的视频帧的编码树单元。
[0216]
点播视频也包括多个视频帧,对视频帧的处理方式如实施例一所述,此处不再赘述。
[0217]
步骤303:获取所述编码树单元的预测残差图像和预测重建图像。
[0218]
步骤305:通过多任务学习的预测模型,根据所述预测残差图像和预测重建图像,获取所述编码树单元的分层编码单元划分图和分层编码单元模式图,所述分层编码单元划分图包括编码单元的划分概率,所述分层编码单元模式图包括编码单元的编码模式概率。
[0219]
步骤307:根据所述划分概率、所述编码模式概率,确定所述编码树单元的划分模式及编码模式,以根据所述编码树单元的划分模式及编码模式生成编码数据。
[0220]
采用这种处理方式,能够快速跳过不必要的cu划分过程和cu帧内模式决策过程;
因此,可以有效降低较高编码质量下的编码复杂度,从而提升较高画面质量下的点播视频流畅度。
[0221]
第九实施例
[0222]
在上述的实施例中,提供了一种视频编码方法,与之相对应的,本技术还提供一种用于视频通话的视频编码方法。该方法是与上述方法的实施例相对应。本实施例与第一实施例内容相同的部分不再赘述,请参见实施例一中的相应部分。
[0223]
本技术提供的一种用于视频通话的视频编码方法包括如下步骤:
[0224]
步骤401:获取视频通话包括的视频帧的编码树单元。
[0225]
通话视频也包括多个视频帧,对视频帧的处理方式如实施例一所述,此处不再赘述。
[0226]
步骤403:获取所述编码树单元的预测残差图像和预测重建图像。
[0227]
步骤405:通过多任务学习的预测模型,根据所述预测残差图像和预测重建图像,获取所述编码树单元的分层编码单元划分图和分层编码单元模式图,所述分层编码单元划分图包括编码单元的划分概率,所述分层编码单元模式图包括编码单元的编码模式概率。
[0228]
步骤407:根据所述划分概率、所述编码模式概率,确定所述编码树单元的划分模式及编码模式,以根据所述编码树单元的划分模式及编码模式生成编码数据。
[0229]
采用这种处理方式,能够快速跳过不必要的cu划分过程和cu帧内模式决策过程;因此,可以有效降低较高编码质量下的编码复杂度,从而提升较高画面质量下的视频通话画面的流畅度。
[0230]
第十实施例
[0231]
在上述的实施例中,提供了一种视频编码方法,与之相对应的,本技术还提供一种用于视频会议的视频编码方法。该方法是与上述方法的实施例相对应。本实施例与第一实施例内容相同的部分不再赘述,请参见实施例一中的相应部分。
[0232]
本技术提供的一种用于视频会议的视频编码方法包括如下步骤:
[0233]
步骤501:获取视频会议包括的视频帧的编码树单元。
[0234]
通话视频也包括多个视频帧,对视频帧的处理方式如实施例一所述,此处不再赘述。
[0235]
步骤503:获取所述编码树单元的预测残差图像和预测重建图像。
[0236]
步骤505:通过多任务学习的预测模型,根据所述预测残差图像和预测重建图像,获取所述编码树单元的分层编码单元划分图和分层编码单元模式图,所述分层编码单元划分图包括编码单元的划分概率,所述分层编码单元模式图包括编码单元的编码模式概率。
[0237]
步骤507:根据所述划分概率、所述编码模式概率,确定所述编码树单元的划分模式及编码模式,以根据所述编码树单元的划分模式及编码模式生成编码数据。
[0238]
采用这种处理方式,能够快速跳过不必要的cu划分过程和cu帧内模式决策过程;因此,可以有效降低较高编码质量下的编码复杂度,从而提升较高画面质量下的视频通话画面的流畅度。
[0239]
本技术虽然以较佳实施例公开如上,但其并不是用来限定本技术,任何本领域技术人员在不脱离本技术的精神和范围内,都可以做出可能的变动和修改,因此本技术的保护范围应当以本技术权利要求所界定的范围为准。
[0240]
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0241]
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
[0242]
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0243]
2、本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献