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

视频编码方法、装置及电子设备与流程

2022-05-17 23:42:45 来源:中国专利 TAG:


1.本发明涉及一种视频处理技术领域,更具体的,涉及视频编码方法、视频编码装置、电子设备及计算机可读存储介质。


背景技术:

2.由于4k/8k超高清、虚拟现实(virtual reality,vr)等高新视频内容的发展,视频数据量爆发式增长,在传输过程中会受到网络传输带宽等外界条件的限制,因此,需要高效的视频编码技术,在节省带宽的同时保障解码端的重建质量或智能分析任务。
3.随着人工智能技术在图像增强、自编解码器、物体识别、物体分割、人脸识别等任务的广泛探索、研究和应用,对于视频内容场景切换不频繁的应用场景,使用编码后特征流全部或者部分替代视频码流的编码方式可以有效降低传输带宽,并且在解码端重建图像之前,借助特征流解析结果实施相关智能任务。综合考虑标清、高清、超高清视频内容和显示终端并存的市场现状,如何设计出一种新的视频编码方法,以在节省带宽的同时,灵活适配相关应用场景中的图像重建和智能分析需求,成为一个关键问题。


技术实现要素:

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.图1是根据本发明实施例的视频编码系统的硬件结构示意图;
38.图2是根据本发明实施例的视频编码方法的流程示意图;
39.图3是根据本发明另一实施例的视频编码方法的流程示意图;
40.图4a-4c是根据本发明实施例的一个例子的视频编码方法的流程示意图;
41.图5是根据本发明实施例的视频编码装置的原理框图;
42.图6是根据本发明另一例子的视频编码方法的流程示意图;
43.图7是根据本发明实施例的电子设备的原理框图;
44.图8是根据本发明实施例的电子设备的硬件结构示意图。
具体实施方式
45.现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
46.以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
47.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
48.在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
49.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
50.《硬件配置》
51.图1是本发明实施例提供的可用于实现视频编码方法的视频编码系统的硬件配置的原理框图。
52.如图1所示,视频编码系统1000包括服务器1100、终端设备1200以及网络1300。
53.服务器1100例如可以是刀片服务器、机架式服务器等,服务器1100也可以是部署在云端的服务器集群,在此不做限定。
54.如图1所示,服务器1100可以包括处理器1110、存储器1120、接口装置1130、通信装置1140、显示装置1150和输入装置1160。处理器1110例如可以是中央处理器cpu等。存储器1120例如包括rom(只读存储器)、ram(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1130例如包括usb接口、串行接口等。通信装置1140例如能够进行有线或无线通信。显示装置1150例如是液晶显示屏。输入装置1160例如可以包括触摸屏、键盘等。
55.本实施例中,服务器1100可用于参与实现根据本公开任意实施例的方法。
56.应用于本公开实施例中,服务器1100的存储器1120用于存储指令,所述指令用于控制所述处理器1110进行操作以支持实现根据本发明任意实施例的方法。技术人员可以根据本发明所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。
57.本领域技术人员应当理解,尽管在图1中示出了服务器1100的多个装置,但是,本公开实施例的服务器1100可以仅涉及其中的部分装置,例如,只涉及处理器1110和存储器1120。
58.如图1所示,终端设备1200可以包括处理器1210、存储器1220、接口装置1230、通信装置1240、显示装置1250、输入装置1260、音频输出装置1270、音频输入装置1280,等等。其
中,处理器1210可以是中央处理器cpu、微处理器mcu等。存储器1220例如包括rom(只读存储器)、ram(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1230例如包括usb接口、耳机接口等。通信装置1240例如能够进行有线或无线通信。显示装置1250例如是液晶显示屏、触摸显示屏等。输入装置1260例如可以包括触摸屏、键盘等。终端设备1200可以通过音频输出装置1270输出音频信息,该音频输出装置1270例如包括扬声器。终端设备1200可以通过音频拾取装置1280拾取用户输入的语音信息,该音频拾取装置1280例如包括麦克风。
59.终端设备1200可以是智能手机、便携式电脑、台式计算机、平板电脑等,此处不做特殊限定。
60.本领域技术人员应当理解,尽管在图1中示出了终端设备1200的多个装置,但是,本公开实施例的终端设备1200可以仅涉及其中的部分装置,例如,只涉及处理器1210、存储器1220等。
61.通信网络1300可以是无线网络也可以是有线网络,可以是局域网也可以是广域网。终端设备1200可以通过通信网络1300与服务器1100进行通信。
62.需要说明的是,图1所示的视频编码系统1000仅是解释性的,并且决不是为了要限制本公开、其应用或用途。例如,尽管图1仅示出一个服务器1100和一个终端设备1200,但不意味着限制各自的数量,该系统1000中可以包含多个服务器1100和/或多个终端设备1200。
63.《方法实施例》
64.图2为根据一个实施例的视频编码方法的示意性流程图。
65.根据图2所示,本实施例的视频编码方法由视频编码装置5000实施。
66.步骤s2100,获取视频的当前组帧图像。
67.视频可以为通过显示终端中的任意视频类应用进行播放的视频,也可以为通过监控终端播放的监控视频。
68.本实施例中,视频编码是以组为单位进行的,其中,n 1帧图像可以为一组帧图像,n可以是根据实际应用场景和实际应用需求设置的常量,n可以是16,也可以是32,当然,还可以是其他数值,本实施例在此不做限定。在此,视频中的第i组帧图像xi可以表示为{x
t
,x
t 1
,x
t 2
,x
t 3
,x
t 4
,...,x
t n
},其中,x
t
表示视频的第t帧图像,i和t均为大于0的整数。
69.示例性地,n为16,则视频中的每17帧图像可以为一组帧图像,例如{x1,x2,x3,x4,x5,x6,x7,x8,x9,x
10
,x
11
,x
12
,x
13
,x
14
,x
15
,x
16
,x
17
}为第一组帧图像,{x
18
,x
19
,x
20
,x
21
,x
22
,x
23
,x
24
,x
25
,x
26
,x
27
,x
28
,x
29
,x
30
,x
31
,x
32
,x
33
,x
34
}为第二组帧图像,在此,第i组帧图像组xi可以表示为{x
t
,x
t 1
,x
t 2
,x
t 3
,x
t 4
,...,x
t 16
},其中,第i组帧图像组xi中包括17帧图像。
70.步骤s2200,判断当前组帧图像中是否存在关键帧图像。
71.关键帧图像可以是视频中的初始帧图像,也可以是视频中进行场景切换的帧图像,可以理解的是,对于视频内容场景切换不频繁的应用场景,其关键帧图像是比较少的。
72.本实施例中,本步骤s2200判断当前组帧图像中是否存在关键帧图像可以进一步包括如下步骤s2210~s2220:
73.步骤s2210,判断当前组帧图像是否为视频的第一组帧图像。
74.本步骤s2210中,在获得视频的当前组帧图像后,可以先判断当前组帧图像是否为视频的第一组帧图像,在为视频的第一组帧图像的情况下,执行步骤s2220,反之,执行步骤
s2230。
75.以当前组帧图像x1={x1,x2,x3,x4,x5,x6,x7,x8,x9,x
10
,x
11
,x
12
,x
13
,x
14
,x
15
,x
16
,x
17
}为例(其中,n=16),即,当前组帧图像为视频的第一组帧图像,其包括17帧图像。
76.以当前组帧图像x2={x
18
,x
19
,x
20
,x
21
,x
22
,x
23
,x
24
,x
25
,x
26
,x
27
,x
28
,x
29
,x
30
,x
31
,x
32
,x
33
,x
34
}为例(其中,n=16),即,当前组帧图像为视频的第二组帧图像,其包括17帧图像。
77.以当前组帧图像xi={x
t
,x
t 1
,x
t 2
,x
t 3
,x
t 4
,...,x
t n
}为例,即,当前组帧图像为视频的第i组帧图像,其包括n 1帧图像。
78.步骤s2220,在为视频的第一组帧图像的情况下,确定当前组帧图像中存在关键帧图像。
79.本步骤s2220中,在根据步骤s2210判断出当前组帧图像为视频的第一组帧图像的情况下,可以直接确定该当前组图像帧存在关键帧图像。
80.本步骤s2220中,在根据步骤s2210判断出当前组帧图像为视频的第一组帧图像的情况下,也可以直接确定该当前组帧图像中的第一帧图像为关键帧图像。
81.以当前组帧图像x1={x1,x2,x3,x4,x5,x6,x7,x8,x9,x
10
,x
11
,x
12
,x
13
,x
14
,x
15
,x
16
,x
17
}为例,由于其为视频的第一组帧图像x1,在此,可以直接确定该第一组帧图像x1存在关键帧图像,并且,该第一组帧图像x1中的第一个帧图像x1为关键帧图像。
82.步骤s2230,在不为视频的第一组帧图像的情况下,接续判断当前组帧图像是否存在场景切换。
83.本步骤s2230中,其在当前组帧图像不为视频的第一组帧图像的情况下,会继续判断当前组帧图像是否存在场景切换,并在存在场景切换的情况下,执行步骤s2240,反之,执行步骤s2250。
84.以当前组帧图像x2={x
18
,x
19
,x
20
,x
21
,x
22
,x
23
,x
24
,x
25
,x
26
,x
27
,x
28
,x
29
,x
30
,x
31
,x
32
,x
33
,x
34
}为例,由于其为视频的第二组帧图像x2,在此,继续判断该第二组帧图像x2中是否存在场景切换。
85.以当前组帧图像xi={x
t
,x
t 1
,x
t 2
,x
t 3
,x
t 4
,...,x
t n
}为例,由于其为视频的第i组帧图像xi,在此,继续判断该第i组帧图像xi中是否存在场景切换。
86.步骤s2240,在存在场景切换的情况下,确定当前组帧图像中存在关键帧图像。
87.本步骤s2240中,在根据步骤s2230判断出当前组帧图像存在场景切换的情况下,可以直接确定该当前组图像帧存在关键帧图像。
88.本步骤s2240中,在根据步骤s2230判断出当前组帧图像存在场景切换的情况下,也可以直接确定该当前组帧图像中进行场景切换的帧图像为关键帧图像,在此,可以是先获取进行场景切换的帧图像,并确定进行场景切换的帧图像为关键帧图像。
89.继续上述步骤s2230中的示例,如果根据以上步骤s2230判断出当前组帧图像x2存在场景切换,在此,可以直接确定该第二组帧图像x2存在关键帧图像,并且,获取到的进行场景切换的帧图像为视频中的第20帧图像x
20
和第28帧图像x
28
,则可以确定帧图像x
20
和帧图像x
28
为关键帧图像。
90.继续上述步骤s2230中的示例,如果根据以上步骤s2230判断出当前组帧图像xi存在场景切换,在此,可以直接确定该第i组帧图像xi存在关键帧图像,并且,获取到的进行场景切换的帧图像为视频中的第t帧图像x
t
,则可以确定帧图像x
t
为关键帧图像。
91.根据以上步骤s2210~s2240可知,在存在关键帧图像的情况下,可以结合后续步骤关键帧图像叠加特征流的混合编码方式,不仅显著提高编码码流的表达效率,同时节省带宽。
92.步骤s2250,在不存在场景切换的情况下,确定当前组帧图像中不存在关键帧图像。
93.本步骤s2250中,在当前组帧图像不存在场景切换的情况下,可以直接确定当前组帧图像中不存在关键帧图像。
94.步骤s2300,在存在关键帧图像的情况下,对关键帧图像进行第一处理获得第一处理结果,以及,对当前组帧图像中的每一帧图像进行第二处理获得第二处理结果。
95.在一个例子中,在根据以上步骤s2200判断出当前组帧图像中存在关键帧图像的情况下,可以根据本步骤s2300对关键帧图像进行第一处理获得第一处理结果,以及,对当前组帧图像中的每一帧图像进行第二处理获得第二处理结果,进而结合后续步骤对第一处理结果和第二处理结果进行编码,获得编码后的编码码流,即,在存在关键帧图像的情况下,可以结合后续步骤关键帧图像叠加特征流的混合编码方式,不仅显著提高编码码流的表达效率,同时节省带宽。
96.在一个例子中,在根据以上步骤s2200判断出当前组帧图像中不存在关键帧图像的情况下,可以根据仅对当前组帧图像中的每一帧图像进行第二处理获得第二处理结果,进而结合后续步骤对第二处理结果进行编码,获得编码后的编码码流,即,在不存在关键帧图像的情况下,仅对特征流进行编码。
97.本实施例中,本步骤s2300中对关键帧图像进行第一处理获得第一处理结果可以进一步包括如下步骤s2310:
98.步骤s2310,在存在关键帧图像的情况下,对关键帧图像进行编码获得第一处理结果。
99.如图4a所示,以当前组帧图像xi={x
t
,x
t 1
,x
t 2
,x
t 3
,x
t 4
,...,x
t n
}为例,由于其关键帧图像为帧图像x
t
,在此,可以对帧图像x
t
进行编码获得encoder{x
t
}作为第一处理结果。
100.本实施例中,本步骤s2300中对当前组帧图像中的每一帧图像进行第二处理获得第二处理结果可以进一步包括如下步骤s2320~s2330:
101.步骤s2320,对每一帧图像进行特征提取,分别生成对应于每一帧图像的第一特征流。
102.如图4a所示,以当前组帧图像xi={x
t
,x
t 1
,x
t 2
,x
t 3
,x
t 4
,...,x
t n
}为例,可以根据本步骤s2320从第i组帧图像xi中的每一帧图像提取有效信息分别生成对应于每一帧图像的特征流,例如生成的帧图像x
t
的第一特征流为f
t
,生成的帧图像x
t 1
的第一特征流为f
t 1
,生成的帧图像x
t 2
的第一特征流为f
t 2
,以及,生成的帧图像x
t n
的第一特征流为f
t n
,为将这里的对帧图像直接进行特征提取得到的特征流和后面的对该特征流继续进行特征编码得到的特征流进行区分,将这里的特征流称之为第一特征流。
103.步骤s2330,对每一第一特征流进行特征编码,生成对应于每一第一特征流的第二特征流作为第二处理结果。
104.在一个例子中,本步骤s2330中可以直接对第一特征流进行特征编码,生成对应于每一第一特征流的第二特征流作为第二处理结果。
105.如图4a所示,以当前组帧图像xi={x
t
,x
t 1
,x
t 2
,x
t 3
,x
t 4
,...,x
t n
}为例,可以直接对当前组帧图像xi中的每一帧图像对应的第一特征流进行特征编码,例如对第一特征流f
t
进行特征编码,得到第二特征流c(f
t
),对第一特征流f
t 1
进行特征编码,得到第二特征流c(f
t 1
),对第一特征流f
t 2
进行特征编码,得到第二特征流c(f
t 2
),对第一特征流f
t n
进行特征编码,得到第二特征流c(f
t n
)等。
106.在一个例子中,在执行步骤s2330之前,还可以是对对应于每一帧图像的第一特征流进行特征去冗余处理,去除相邻两帧图像间的冗余信息,再根据本步骤s2330对进行特征去冗余处理后得到的第一特征流进行特征编码。
107.本例子中,对于当前组帧图像xi={x
t
,x
t 1
,x
t 2
,x
t 3
,x
t 4
,...,x
t n
},可以利用如下公式对帧图像x
t j
的第一特征流f
t j
进行特征去冗余处理:
108.δf
t j
=f(f
t j
,f
t j-1
)
ꢀꢀꢀ
(1)
109.其中,δf
t j
表示去除第一特征流f
t j
和与其相邻的前一帧图像x
t j-1
的第一特征流f
t j-1
之间的冗余信息后的第一特征流f
t j
,f函数表示能够去除两帧图像间的冗余信息的任意函数,本实施例在此不做限定。
110.如图4b所示,以当前组帧图像xi={x
t
,x
t 1
,x
t 2
,x
t 3
,x
t 4
,...,x
t n
}为例,其中,f
t
为帧图像x
t
的第一特征流(由于其为当前组帧图像xi的第一帧图像,所以不存在进行特征去冗余处理的步骤),δf
t 1
为对帧图像x
t 1
的第一特征流f
t 1
进行特征去冗余处理后的特征流,δf
t 2
为对帧图像x
t 2
的第一特征流f
t 2
进行特征去冗余处理后的特征流,δf
t 3
为对帧图像x
t 3
的第一特征流f
t 3
进行特征去冗余处理后的特征流,δf
t n
为对帧图像x
t n
的第一特征流f
t n
进行特征区域冗余处理后的特征流,在经过特征去冗余处理后,对经过特征去冗余处理的第一特征流进行特征编码,从而分别生成对应于每一帧图像的第二特征流,图4b中,c(f
t
)为对第一特征流f
t
进行特征编码后的第二特征流,c(δf
t 1
)为对进行特征去冗余处理后的第一特征流δf
t 1
进行特征编码后的第二特征流,c(δf
t 2
)为对进行特征去冗余处理后的第一特征流δf
t 2
进行特征编码后的第二特征流,c(δf
t n
)为对进行特征去冗余处理后的第一特征流δf
t n
进行特征编码后的第二特征流。
111.在一个例子中,也可以是在执行步骤s2330之后,先对对应于每一第一特征流的第二特征流进行特征去冗余处理,去除相邻两帧图像间的冗余信息,并将进行特征去冗余处理后得到的第二特征流作为第二处理结果。
112.本例子中,对于当前帧图像组xi={x
t
,x
t 1
,x
t 2
,x
t 3
,x
t 4
,...,x
t n
},可以利用如下公式对帧图像x
t j
的第二特征流c(f
t i
)进行特征去冗余处理:
113.δc(f
t j
)=g(c(f
t j
),c(f
t j-1
))
ꢀꢀꢀ
(2)
114.其中,δc(f
t j
)表示去除第二特征流c(f
t j
)和与其相邻的前一第二特征流c(f
t j-1
)之间的冗余信息后的第二特征流c(f
t j
),g函数表示能够去除两帧图像间的冗余信息的任意函数,本实施例在此不做限定。
115.如图4c所示,以当前组帧图像xi={x
t
,x
t 1
,x
t 2
,x
t 3
,x
t 4
,...,x
t n
}为例,其中,c(f
t
)为对第一特征流f
t
进行特征编码后的第二特征流,c(f
t 1
)为对第一特征流f
t 1
进行特征编码后的第二特征流,c(f
t 2
)为对第一特征流f
t 2
进行特征编码后的第二特征流,c(f
t 3
)为对第一特征流f
t n
进行特征编码后的第二特征流,δc(f
t 1
)为对第二特征流c(f
t 1
)进行特征去冗余处理后的特征流,δc(f
t 2
)为对第二特征流c(f
t 2
)进行特征去冗余处理后的特征
流,δc(f
t n
)为对第二特征流c(f
t n
)进行特征去冗余处理后的特征流,并将进行特征去冗余处理后的各个特征流作为第二处理结果。
116.步骤s2400,对第一处理结果和第二处理结果进行编码,获得编码后的编码码流。
117.本实施例中,在根据以上步骤s2300对第一处理结果和第二处理结果之后,可以根据本步骤s2400对第一处理结果和第二处理结果进行熵编码,进而获得编码后的编码码流。
118.如图4a所示,其可以对第一处理结果encoder{x
t
}和第二处理结果c(f
t
)、c(f
t 1
)、c(f
t 2
)

c(f
t n
)进行熵编码,进而获得编码后的编码码流。
119.如图4b所示,其也可以对第一处理结果encoder{x
t
}和第二处理结果c(f
t
)、c(δf
t 1
)、c(δf
t 2
)

c(δf
t n
)进行熵编码,进而获得编码后的编码码流。
120.如图4c所示,其还可以对第一处理结果encoder{x
t
}和第二处理结果c(f
t
)、δc(f
t 1
)、δc(f
t 2
)

δc(f
t n
)进行熵编码,进而获得编码后的编码码流。
121.可以理解的是,在当前组帧图像中不存在关键帧图像的情况下,其是仅对当前组帧图像中的每一帧图像进行第二处理获得第二处理结果,在此,可以仅对第二处理结果仅熵编码,获得编码后的编码码流。
122.例如,其可以仅对图4a所示的第二处理结果c(f
t
)、c(f
t 1
)、c(f
t 2
)

c(f
t n
)进行熵编码,进而获得编码后的编码码流。
123.又例如,其也可以仅对图4b所示的第二处理结果c(f
t
)、c(δf
t 1
)、c(δf
t 2
)

c(δf
t n
)进行熵编码,进而获得编码后的编码码流。
124.再例如,其还可以仅对图4c所示的第二处理结果c(f
t
)、δc(f
t 1
)、δc(f
t 2
)

δc(f
t n
)进行熵编码,进而获得编码后的编码码流。
125.根据本实施例的方法,其在当前组帧图像中存在关键帧图像的情况下,会对关键帧图像和当前组帧图像中的每一帧图像进行编码,即,其提出了一种关键帧叠加特征流的混合编码方式,对于视频内容场景切换不频繁的应用场景,该种关键帧叠加特征流的混合编码方式,可显著提高编码码流的表达效率,节省带宽。同时,特征流解码后可独立重建图像获得视频内容或结合关键帧重建图像获得视频内容,能够自适应的提升终端侧的视频显示质量,而且,特征流解码后也可直接用于其他智能分析任务,无需重建图像。
126.《装置实施例》
127.在本实施例中,还提供一种视频编码装置5000,如图5所示,视频编码装置5000包括获取模块5100、判断模块5200、处理模块5300和编码模块5400,用于实施本实施例中提供的视频编码方法,该视频编码装置5000的各模块可以由软件实现,也可以由硬件实现,在此不做限定。
128.获取模块5100,用于获取所述视频的当前组帧图像。
129.判断模块5200,用于判断所述当前组帧图像中是否存在关键帧图像。
130.处理模块5300,用于在存在关键帧图像的情况下,对所述关键帧图像进行第一处理获得第一处理结果,以及,对所述当前组帧图像中的每一所述帧图像进行第二处理获得第二处理结果。
131.编码模块5400,用于对所述第一处理结果和所述第二处理结果进行编码,获得编码后的编码码流。
132.在一个实施例中,该判断模块5200,还用于判断所述当前组帧图像是否为所述视
频的第一组帧图像;在为所述视频的第一组帧图像的情况下,确定所述当前组帧图像中存在关键帧图像。
133.在一个实施例中,该判断模块5200,还用于在为所述视频的第一组帧图像的情况下,所述当前组帧图像中的第一帧图像为所述关键帧图像。
134.在一个实施例中,该判断模块5200,还用于在不为所述视频的第一组帧图像的情况下,接续判断所述当前组帧图像是否存在场景切换;在存在场景切换的情况下,确定所述当前组帧图像中存在关键帧图像。。
135.在一个实施例中,该判断模块5200,还用于在存在场景切换的情况下,获取所述当前组帧图像中进行所述场景切换的帧图像;确定进行所述场景切换的帧图像为所述关键帧图像。
136.在一个实施例中,该处理模块5300,还用于对所述关键帧图像进行编码获得第一处理结果。
137.在一个实施例中,该处理模块5300,还用于对所述帧图像进行特征提取,生成对应于所述帧图像的第一特征流;对所述第一特征流进行特征编码,生成对应于所述第一特征流的第二特征流作为第二处理结果。
138.在一个实施例中,该处理模块5300,还用于对所述第一特征流进行特征去冗余处理,并将进行所述特征去冗余处理后得到的第一特征流进行所述特征编码;或,对所述第二特征流进行所述特征去冗余处理,并将进行所述特征去冗余处理后得到的第二特征流作为第二处理结果。
139.《例子》
140.图6以图4b为例,示出了一个例子的视频编码方法的示意图。
141.在本例中,可以通过图4b所示的关键帧判断模块实现视频编码装置5000中的获取模块5100和判断模块5200对应的功能,通过编码器、特征提取模块、帧间特征去冗余模块和特征编码模块实现视频编码装置5000中的处理模块5300对应的功能,通过熵编码模块实现视频编码装置5000中的编码模块5400对应的功能,参照图4b和图6所示,该视频编码方法可以如下步骤:
142.步骤s6010,{x
t
,x
t 1
,x
t 2
,x
t 3
,x
t 4
,...,x
t n
}为一组帧图像,输入至关键帧判断模块。
143.本步骤s6010中,该组帧图像中包括n 1帧图像。
144.步骤s6020,关键帧判断模块判断{x
t
,x
t 1
,x
t 2
,x
t 3
,x
t 4
,...,x
t n
}是否为视频的第一组帧图像,如是,执行步骤s6030,反之,执行步骤s6040。
145.步骤s6030,在为视频的第一组帧图像的情况下,确定第一组帧图像中的第一帧图像为关键帧图像,并将关键帧图像输入至编码器,即,执行步骤s6070;以及,将当前组帧图像{x
t
,x
t 1
,x
t 2
,x
t 3
,x
t 4
,...,x
t n
}中的帧图像输入至特征提取模块,即,执行步骤s6080。
146.步骤s6040,在不为视频的第一组帧图像的情况下,判断{x
t
,x
t 1
,x
t 2
,x
t 3
,x
t 4
,...,x
t n
}是否存在场景切换,在存在场景切换的情况下,执行步骤s6050,反之,执行步骤s6060。
147.步骤s6050,在存在场景切换的情况下,确定{x
t
,x
t 1
,x
t 2
,x
t 3
,x
t 4
,...,x
t n
}中进行场景切换的帧图像x
t
为关键帧图像,并将关键帧图像x
t
输入至编码器,即,执行步骤
s6070;以及,将当前组帧图像{x
t
,x
t 1
,x
t 2
,x
t 3
,x
t 4
,...,x
t n
}中的帧图像输入至特征提取模块,即,执行步骤s6080。
148.本步骤s6050中,当前组帧图像{x
t
,x
t 1
,x
t 2
,x
t 3
,x
t 4
,...,x
t n
}不为视频的第一组帧图像,但是存在场景切换,且当前组帧图像{x
t
,x
t 1
,x
t 2
,x
t 3
,x
t 4
,...,x
t n
}中进行场景切换的帧图像为x
t
,则x
t
为关键帧图像。
149.步骤s6060,在不存在场景切换的情况下,确定当前组帧图像中不存在关键帧图像,则直接将当前组帧图像{x
t
,x
t 1
,x
t 2
,x
t 3
,x
t 4
,...,x
t n
}中的帧图像输入至特征提取模块,即,执行步骤s6080。
150.步骤s6070,编码器对关键帧图像进行编码获得第一处理结果,并输入至熵编码模块,即,执行步骤s6200。
151.如图4b所示,编码器对关键帧图像x
t
进行编码,获得编码结果encoder(x
t
)。
152.步骤s6080,特征提取模块提取{x
t
,x
t 1
,x
t 2
,x
t 3
,x
t 4
,...,x
t n
}中每一帧图像的有效信息,生成对应于每一帧图像的第一特征流,并输入至帧间特征去冗余模块。
153.步骤s6090,帧间特征去冗余模块去除相邻帧之间的冗余信息,去冗余后的特征流输出到特征编码模块。
154.步骤s6100,特征编码模块对经过冗余处理后的特征流进行编码获得第二处理结果输入至熵编码模块,即,执行步骤s6200或步骤s6300。
155.步骤s6200,熵编码模块对第一处理结果和第二处理结果进行熵编码,获得编码后的编码码流,流程结束。
156.步骤s6300,熵编码模块对第二处理结果进行熵编码,获得编码后的编码码流,流程结束。
157.可以理解的是,在当前组帧图像中存在关键帧图像的情况下,会对关键帧图像和当前组帧图像中的每一帧图像进行编码,即,其提出了一种关键帧叠加特征流的混合编码方式,对于视频内容场景切换不频繁的应用场景,该种关键帧叠加特征流的混合编码方式,可显著提高编码码流的表达效率,节省带宽。同时,特征流解码后可独立重建图像获得视频内容或结合关键帧重建图像获得视频内容,能够自适应的提升终端侧的视频显示质量,而且,特征流解码后也可直接用于其他智能分析任务,无需重建图像。
158.《设备实施例》
159.与上述方法实施例相对应,在本实施例中,还提供一种电子设备,如图7所示,其可以包括根据本发明任意实施例的视频编码装置5000,用于实施本发明任意实施例的视频编码方法。
160.如图8所示,该电子设备8000还可以包括处理器8200和存储器8000,该存储器8100用于存储可执行的指令;该处理器8200用于根据指令的控制运行电子设备以执行根据本公开任意实施例的视频编码方法。
161.以上装置5000的各个模块可以由处理器8200运行该指令以执行根据本公开任意实施例的方法来实现。
162.本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
163.计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形
设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
164.这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
165.用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c 等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
166.这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
167.这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
168.也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产
生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
169.附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
170.以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献