一种视频编解码处理方法与流程

文档序号:17376813发布日期:2019-04-12 23:24阅读:1606来源:国知局
一种视频编解码处理方法与流程

本申请涉及视频处理技术领域,尤其涉及一种视频编解码处理方法。



背景技术:

传统的分层编码结构,采用高时间层的帧参考低时间层的帧,由于相邻帧的时间层不同,从而减少了相邻帧间的参考耦合关系,在视频解码过程中有不错的表现。但分层编码结构编码面对视频帧的丢包情况时,在解码端会出现部分视频帧无法成功解码,从而导致出现视频卡顿的问题。



技术实现要素:

本发明实施例提供了一种视频编解码处理方法,该方法包括编码处理步骤以及解码处理步骤,其中:

所述编码处理步骤包括:

按照分层编码结构,对原始视频数据进行正常编码,得到第一码流,其中,所述第一码流中视频帧的冗余包数量按照视频帧在分层编码结构中所处时间层由低至高的顺序递减;

按照前向纠错编码技术,对所述第一码流进行冗余编码得到第二码流分层编码结构;

将冗余编码处理后得到的第二码流中的视频帧发送给解码装置;

在收到所述解码装置发送的冗余调整消息时,按照设定调整策略,动态调整所述第二码流中后续发送帧的冗余包数量,以及在收到所述解码装置发送的请求帧内编码帧消息时,在所述第二码流中处于发送队列中的视频帧中查找最近一个帧内编码帧,将所述帧内编码帧及其之后的视频帧发送给解码装置;

所述解码处理步骤包括:

接收视频帧,所述视频帧为编码装置按照分层编码结构进行编码后的第二码流中的帧;

在确定所述视频帧为帧间编码帧时,判断视频帧的参考帧是否完整,若所述视频帧的参考帧不完整,将所述视频帧丢弃,以放弃对视频帧进行解码;

根据所述视频帧在分层编码结构中所处位置,确定以所述视频帧为参考帧的目标帧;

将所述目标帧的参考识别符赋值为0。

优选地,所述解码处理步骤还包括:

在确定收到视频帧的最后一个视频包,且所述视频帧为帧内编码帧时,对已缓存的视频帧的视频包的完整性进行检查,并根据检查结果确定所述视频帧是否可解码;

当确定所述视频帧不可解码,将所述视频帧与下一帧内编码帧间的视频帧的参考识别符赋值为0;

将所述视频帧丢弃,向视频编码装置发送请求帧内编码帧消息,以请求所述视频编码装置立即发送下一帧内编码帧;

若所述视频帧为帧内编码帧且确定其可解码时,对所述视频帧进行解码处理。

本申请实施例提供的视频编解码处理方法,在编码端对获取的原始视频数据进行正常编码,得到第一码流,按照前向纠错编码技术对第一码流进行冗余编码得到第二码流,最后将冗余编码处理后得到的第二码流中的视频帧,顺序发送给解码装置。本申请将分层编码结构与冗余编码相结合,对按照分层编码结构编码后的第一码流添加冗余包,并且在添加冗余包时按照分层编码结构中所处时间层越低的帧,其添加的冗余包数量越多,对重要度高的处于低时间层的帧重点进行保护。采用本发明,当出现视频帧丢包,解码装置可以通过冗余包进行丢包恢复,从而可以提高解码成功率,进而避免出现视频卡顿现象。

附图说明

图1为本申请实施例公开的一种视频编解码处理方法流程图。

具体实施方式

参考图1,本发明实施例提供的一种视频编解码处理方法,该方法包括编码处理步骤s10以及解码处理步骤s20,其中:

所述编码处理步骤s10包括:

s101、按照分层编码结构,对原始视频数据进行正常编码,得到第一码流,其中,所述第一码流中视频帧的冗余包数量按照视频帧在分层编码结构中所处时间层由低至高的顺序递减;

s102、按照前向纠错编码技术,对所述第一码流进行冗余编码得到第二码流分层编码结构;

s103、将冗余编码处理后得到的第二码流中的视频帧发送给解码装置;

s104、在收到所述解码装置发送的冗余调整消息时,按照设定调整策略,动态调整所述第二码流中后续发送帧的冗余包数量,以及在收到所述解码装置发送的请求帧内编码帧消息时,在所述第二码流中处于发送队列中的视频帧中查找最近一个帧内编码帧,将所述帧内编码帧及其之后的视频帧发送给解码装置;

所述解码处理步骤s20包括:

s201、接收视频帧,所述视频帧为编码装置按照分层编码结构进行编码后的第二码流中的帧;

s202、在确定所述视频帧为帧间编码帧时,判断视频帧的参考帧是否完整,若所述视频帧的参考帧不完整,将所述视频帧丢弃,以放弃对视频帧进行解码;

s203、根据所述视频帧在分层编码结构中所处位置,确定以所述视频帧为参考帧的目标帧;

s204、将所述目标帧的参考识别符赋值为0,其中,所述参考识别符有两种状态可选,分别为0或1,当所述参考识别符为0时,说明所述目标帧无法成功被解码。

优选地实施方案始终,所述解码处理步骤s20还包括:

s205、在确定收到视频帧的最后一个视频包,且所述视频帧为帧内编码帧时,对已缓存的视频帧的视频包的完整性进行检查,并根据检查结果确定所述视频帧是否可解码;

s206、当确定所述视频帧不可解码,将所述视频帧与下一帧内编码帧间的视频帧的参考识别符赋值为0;

s204、将所述视频帧丢弃,向视频编码装置发送请求帧内编码帧消息,以请求所述视频编码装置立即发送下一帧内编码帧;

s208、若所述视频帧为帧内编码帧且确定其可解码时,对所述视频帧进行解码处理。

本申请的视频数据处理方案中,解码装置接收视频编码装置发送的视频包,进而进行视频数据的处理。其中,视频编码装置采用分层编码结构。视频编码装置采集原始视频裸流,以图像序列的形式进行信源压缩编码,最终生成第一码流。视频编码装置在进行分层编码结构编码时,可以根据编码装置的硬件性能及使用场景配置分层编码结构的最大层数m+1,最大参考距离为l=2^m。

编码装置在信源分层编码结构视频编码的基础上,为了应对丢包,通过前向纠错编码技术对第一码流进行冗余编码,将冗余编码处理后得到的第二码流中的视频帧,顺序发送给解码装置。

在第一码流中增加冗余包的方法包括:

首先对第一码流的每个帧进行分包,每个帧的数据被分为p个视频包。

然后利用前向纠错编码,为该帧增加q个冗余包。

最后将该帧的视频包和冗余包一起向解码装置传输。

该种方法可以抵抗q个视频包的丢包,当有丢包时,就可以利用冗包将丢失的视频包恢复出来。其中,q和p均为正整数。

增加的冗余包的个数的多少,决定了抗丢包能力的强弱。对于重要的,需要多保护的帧,可以增加较多的冗余包。

基于分层编码结构,高时间层的帧参考低时间层的帧,因此时间层越低的帧的重要级别越高,本申请可以设置低时间层帧的冗余包多余高时间层帧的冗余包确定收到视频帧的最后一个视频包的具体实施方式可以是:

根据已收到视频帧的视频包中包头记录的视频帧的总视频包的个数n,在收到第n个视频帧的视频包时确定该视频包为视频帧的最后一个视频包。或者是,在收到下一帧的视频包时,将前一个收到的视频包确定为视频帧的最后一个视频包。

解码装置对于接收当的视频帧,若确定其为p帧(帧间预测帧),则根据分层编码结构可知,p帧需要参考之前的帧,因此本申请可以判断视频帧的参考帧是否完整,在其参考帧不完整时,意味着视频帧无法成功解码,因此直接丢弃视频帧,不对其进行解码处理,节省了解码时间,减少了视频卡顿时间。进一步,本申请在确定视频帧的参考帧不完整时,进一步将以视频帧我参考帧的目标帧的参考识别符赋值为0,后续在接收到目标帧时,可以直接通过目标帧的参考状态来确定其参考帧是否完整,更加方便。

本实施例中,判断视频帧的参考帧是否完整的过程,可以包括:

1、获取所述视频帧的参考状态,所述参考状态用于表示视频帧的参考帧是否完整;

其中,视频帧的参考状态为在先对其参考帧进行检查时所确定,若参考帧成功解码,则可以设置视频帧的参考状态为,参考帧完整,否则,设置参考状态赋值为0。

2、根据所述视频帧的参考状态确定所述视频帧的参考帧是否完整。

所述冗余等级调整请求为所述解码端在对接收的当前帧的视频包进行完整性检查,并根据检查结果确定当前帧不能解码时,由解码端生成的请求。

本实施例中,如果网络状态差,导致解码端接收的各帧的数据包丢失严重,解码端可以向编码端发送冗余等级调整请求,由编码端提高所述hpp码流中后续发送的各帧的冗余包数量。

其中可选的,上述按照设定调整策略,动态调整所述hpp码流中后续发送帧的冗余包数量的过程,具体可以包括:

对所述hpp码流中处于设定时间层的各帧调整冗余包数量,或按照各时间层对应的冗余包调整比例,对所述hpp码流中处于各时间层的各帧调整冗余包数量。

具体地,编码端可以仅对设定时间层的帧提高冗余包数量,如对时间层小于某个阈值的时间层的帧提高冗余包数量。除此之外,还可以按照相同或不同的调整比例,对各时间层的帧提高冗余包数量。

某一时刻视频编码端收到冗余等级调整请求,进而提高冗余包设置数量,将tl0层的帧设置70%冗余包,tl1层的帧设置40%冗余包,tl3层的帧设置20%冗余包。

本申请实施例提供的视频编解码处理方法,编码装置按照分层编码结构,对获取的原始视频数据进行编码,得到第一码流,按照前向纠错编码技术,对第一码流进行冗余编码,其中,第一码流中视频帧的冗余包数量按照视频帧在分层编码结构中所处时间层由低至高的顺序递减,最后将冗余编码处理后得到的第二码流中的视频帧,顺序发送给解码装置。由此可见,本申请将分层编码结构与冗余编码相结合,对按照分层编码结构编码后的第一码流添加冗余包,并且在添加冗余包时按照分层编码结构中所处时间层越低的帧,其添加的冗余包数量越多,对重要度高的处于低时间层的帧重点进行保护。通过这种方式,即便数据传输过程出现部分丢包,解码装置也可以通过冗余包进行丢包恢复,大大提高了解码成功率,减少视频卡顿时间。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1