CN112135138A - 视频码流丢包恢复方法、装置、设备及存储介质 - Google Patents

视频码流丢包恢复方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN112135138A
CN112135138A CN201910550578.7A CN201910550578A CN112135138A CN 112135138 A CN112135138 A CN 112135138A CN 201910550578 A CN201910550578 A CN 201910550578A CN 112135138 A CN112135138 A CN 112135138A
Authority
CN
China
Prior art keywords
frame
packet loss
video
slice
check code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910550578.7A
Other languages
English (en)
Inventor
严柯森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Uniview Technologies Co Ltd
Original Assignee
Zhejiang Uniview Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Uniview Technologies Co Ltd filed Critical Zhejiang Uniview Technologies Co Ltd
Priority to CN201910550578.7A priority Critical patent/CN112135138A/zh
Publication of CN112135138A publication Critical patent/CN112135138A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明实施例公开了一种视频码流丢包恢复方法、装置、设备及存储介质,其中,方法包括:获取编码设备发送的帧组视频码流,其中所述帧组视频码流携带有校验码;对所述帧组视频码流携带的校验码进行验证,确定所述帧组视频码流的丢包帧和丢包帧的类型;根据所述丢包类型,采用不同的恢复策略对所述丢包帧进行丢包恢复。本发明实施例实现了对视频码流的丢包恢复,保证视频播放的连续性。

Description

视频码流丢包恢复方法、装置、设备及存储介质
技术领域
本发明实施例涉及监控技术领域,尤其涉及一种视频码流丢包恢复方法、装置、设备及存储介质。
背景技术
随着监控领域各项技术的快速发展,人们追求更加人们追求更加高质量的视觉体验,使得图像的清晰度得到全面的提升,这增加了网络的负担丢包率随之上升。视频流在网络因素影响下时,会造成数据包丢失,特别是I帧(I frame,关键帧)部分数据包丢失,导致I帧无法解码,进而影响整个帧组无法解码显示。
目前,针对视频码流丢包问题,常采用如下两种方法解决:(1)在编码后的码流中添加冗余包,当出现视频帧丢包,解码装置可以通过冗余包进行丢包恢复。(2)在网络拥塞导致视频帧丢包时,禁止丢包编码数据帧的图像输出,并快速清除缓存队列中容易导致花屏扩大化的相关联编码帧,从而快速保证正常编码帧的图像输出。
然而这两种方式均存在一定的不足。方法(1)中增加冗余包使得码流会增加,增加的码率可能会导致冗余包也存在丢包,导致无法根据冗余包恢复丢包数据。方法(2)中直接将丢包的数据丢弃,会导致画面不连续。
发明内容
本发明实施例提供了一种视频码流丢包恢复方法、装置、设备及存储介质,以解决利用现有技术处理丢包数据时存在的无法通过冗余包进行丢包恢复、视频播放不连续的技术问题。
第一方面,本发明实施例提供了一种视频码流丢包恢复方法,应用于解码设备,包括:
获取编码设备发送的帧组视频码流,其中所述帧组视频码流携带有校验码;
对所述帧组视频码流携带的校验码进行验证,确定所述帧组视频码流的丢包帧和丢包帧的类型;
根据所述丢包类型,采用不同的恢复策略对所述丢包帧进行丢包恢复。
第二方面,本发明实施例提供了一种视频码流丢包恢复方法,应用于编码设备,包括:
获取待编码处理的视频帧组;
在对所述视频帧组进行编码过程中,为所述视频帧组中的每一帧加入校验码,其中所述校验码用于在视频帧解码时确定所述视频帧是否丢包;
将编码后的且带有校验码的视频帧组传输给解码设备。
第三方面,本发明实施例提供了一种视频码流丢包恢复装置,配置于解码设备,包括:
第一获取模块,用于获取编码设备发送的帧组视频码流,其中所述帧组视频码流携带有校验码;
验证模块,用于对所述帧组视频码流携带的校验码进行验证,确定所述帧组视频码流的丢包帧和丢包帧的类型;
恢复模块,用于根据所述丢包类型,采用不同的恢复策略对所述丢包帧进行丢包恢复。
第四方面,本发明实施例提供了一种视频码流丢包恢复装置,配置于编码设备,包括:
第二获取模块,用于获取待编码处理的视频帧组;
校验码添加模块,在对所述视频帧组进行编码过程中,为所述视频帧组中的每一帧加入校验码,其中所述校验码用于在视频帧解码时确定所述视频帧是否丢包;
发送模块,用于将编码后的且带有校验码的视频帧组传输给解码设备。
第五方面,本发明实施例还提供了一种解码设备,所述解码设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明实施例中的任一种应用于解码设备的视频码流丢包恢复方法。
第六方面,本发明实施例还提供了一种编码设备,所述编码设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明实施例中的任一种应用于编码设备的视频码流丢包恢复方法。
第七方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例中的任一种由解码设备执行的视频码流丢包恢复方法。
第八方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例中的任一种由编码设备执行的视频码流丢包恢复方法。
本发明实施例提供了一种视频码流丢包恢复方法、装置、设备及存储介质,在视频帧组编码过程中,为帧组内的视频帧添加校验码,并在解码过程中,根据校验码确定丢包的视频帧和丢包帧类型,进而根据丢包帧类型采用不同的恢复策略进行丢包恢复。由此通过对丢包帧采用丢包策略进行恢复,保证视频播放的连续性。
附图说明
图1是本发明实施例一提供的一种编码设备的视频码流丢包恢复方法的流程示意图;
图2是本发明实施例二提供的一种应用于解码设备的视频码流丢包恢复方法的流程示意图;
图3是本发明实施例三提供的一种配置于编码设备的视频码流丢包恢复装置的结构示意图;
图4是本发明实施例四提供的一种配置于编码设备的视频码流丢包恢复装置的结构示意图;
图5是本发明实施例五提供的一种解码设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1是本发明实施例一提供的一种应用于编码设备的视频码流丢包恢复方法的流程图,本实施例可适用于视频码流在网络传输过程中存在丢包的情况,该方法可以由视频码流丢包恢复装置执行,该装置可配置在编码设备上,例如相机或监控器。
如图1所示,本发明实施例中提供的应用于编码设备的视频码流丢包恢复方法可以包括:
S101、获取待编码处理的视频帧组。
对于编码设备采集的视频,通常是以帧组为单位不断的传输到编码设备的编码器进行编码,例如每间隔40ms传输一个帧组到编码器,其中,每一视频帧组包括多个视频帧。
示例性的,视频帧组的结构为IPPP结构,则该视频帧组包括一个I帧和多个P帧。由于I帧为关键帧,如果I帧部分数据包丢失,导致I帧无法解码,进而影响整个帧组无法解码。因此对I帧进行分层编码,也即是在对I帧编码前,对I帧进行划分,例如对I帧进行slice(片)划分,得到多个slice,然后分别对各个slice进行编码。在本发明实施例中,优选的,根据I帧所包括的特征(例如人或车辆)对I帧进行slice划分,得到特征slice和非特征slice。其中针对特征slice,具体的,可通过预先训练的特征识别模型,识别I帧中包括的特征(例如人或车),该特征是由多个特征宏块组成,将包括多个特征宏块的slice作为特征slice,将不包括特征宏块的slice作为非特征slice。
S102、在对所述视频帧组进行编码过程中,为所述视频帧组中的每一帧加入校验码。
其中,所述校验码用于在视频帧解码时确定所述视频帧是否丢包,因此要保证在解码时能够准确判断是否有视频帧丢包,只需在对视频帧组进行编码过程中,为所述视频帧组中的每一帧加入校验码即可。
可选的,由于视频帧组包括I帧和多个P帧,且I帧被划分为特征slice和非特征slice,因此在对视频帧组进行过程中,为所述特征slice、非特征slice、 P帧添加校验码。优选的,校验码为CRC校验码,也即是在编码后的二进制的视频帧数据之后附加一个二进制校验码,使得该校验码与其对应的视频帧数据存在特定关系,后续只需检查该特定关系是否存在,即可确定该视频帧数据是否丢包。在此需要说明的是,校验码也可以为其他任意一种能实现丢包数据校验的验证码,在此不做具体限定。
进一步的,在对所述视频帧组进行编码过程中,为所述I帧中的特征slice、非特征slice、P帧添加校验码,包括:
针对所述特征slice,为所述特征slice中包括的宏块进行编码,且每个宏块编码完为其添加宏块校验码,直到所述特征slice包括的所有宏块编码完成,为所述特征slice添加I帧slice级校验码;
在对所述非特征slice编码结束时,为所述非特征slice添加I帧slice级校验码;
在对所述P帧编码结束后,为所述P帧添加P帧帧级校验码。
S103、将编码后的且带有校验码的视频帧组传输给解码设备。
当视频帧组编码结束后,将带有校验码的视频帧组传输给解码设备,例如通过网络传输给服务器,以便服务器对该帧组的视频码流进行解码,以便进行播放。
本发明实施例中,通过对I帧进行分层划分,以分层编码,并在编码过程中,为特征slice、非特征slice、P帧分别添加校验码,用于标记丢包情况。使得后续解码时可根据校验码有针对性的进行丢包恢复。
实施例二
图2为本发明实施例二提供的一种应用于解码设备的视频码流丢包恢复方法的流程示意图。本实施例可适用于视频码流在网络传输过程中存在丢包的情况,该方法可以由视频码流丢包恢复装置执行,该装置可配置在解码设备上,例如配置在服务器上。
S201、获取编码设备发送的帧组视频码流。
其中,所述帧组视频码流携带有校验码,所述校验码包括P帧帧级校验码、 I帧slice级校验码、宏块级校验码。优选的,所述校验码为CRC校验码。
S202、对所述帧组视频码流携带的校验码进行验证,确定所述帧组视频码流的丢包帧和丢包帧的类型。
示例性的,在解码帧组视频码流时,检测帧组视频码流中某视频帧数据与其对应的校验码之间的特定关系是否存在,若不存在,则确定该视频帧数据丢包,也即为丢包帧,并根据该丢包帧对应的校验码确定丢包类型。其中,丢包帧的类型包括P帧丢包和I帧丢包。
S203、根据所述丢包类型,采用不同的恢复策略对所述丢包帧进行丢包恢复。
通常于网络的原因导致视频数据丢包,现有的解码端的策略是丢弃已丢包的帧,由此使得如果I帧丢包,需要丢弃整个帧组。故帧组中I帧的重要性大于 P帧,因此对I帧和P帧按如下步骤分等级处理。
S1.若当前丢包帧的类型为P帧丢包,则通过全帧帧间skip模式对所述当前丢包帧进行恢复。
其中,全帧帧间skip模式是将前一帧作为参考帧,并将参考帧对应像素点拷贝到丢包帧,以达到恢复丢包帧的目的。
S2.若当前丢包帧的类型为I帧丢包,根据所述当前丢包帧中的I帧slice级校验码确定丢包slice。
其中,所述当前丢包帧包括特征slice和非特征slice;
S3.判断所述丢包slice是否为特征slice;
S4.若否,则在对所述丢包slice解码时,通过类帧间skip模式对所述丢包 slice进行恢复。
若丢包slice为非特征slice,则表明丢包slice中不包括关键信息,在对所述丢包slice解码时,通过类帧间skip模式对所述丢包slice进行恢复。由于I 帧不存在skip模式,因此,类帧间skip模式为参考P帧skip模式,以前一帧为参考帧,进行skip模式恢复,即将参考帧对应像素点拷贝到丢包帧,以恢复丢包数据。
S5.若是,则根据宏块级校验码,确定所述特征slice中的丢包宏块,并在对所述丢包宏块进行解码时,通过矢量外推方式对所述丢包宏块进行恢复。
若丢包slice为特征slice,则表明丢包slice中包括关键信息,因此需要进一步的确定是哪一个宏块丢包。具体的,可则根据宏块级校验码,顺序进行正确宏块解码,确定所述特征slice中的丢包宏块,并在对所述丢包宏块进行解码时,通过矢量外推方式对所述丢包宏块进行恢复。其中矢量外推方式是利用前一帧(参考帧)的运动矢量预测当前丢包帧,并将前一帧中的宏块按其运动矢量反向外推到当前丢包帧的位置,而运动矢量是运动估计后外推得到的。
进一步的,完成丢包恢复后,可将丢包信息反馈给编码设备,以便所述编码设备调整编码策略。示例性的,如果解码设备有私有协议,则通过私有协议可将丢包信息反馈给编码设备,则编码设备可根据丢包信息调整编码策略;若解码设备无对应协议,则由编码设备自行获取发送状态,缓存信息来估算网络情况,进而调整编码策略。其中,调整编码策略优选的为:降低整体P帧对应码率,针对I帧,降低非特征slice的码率,以适应网络情况。由此可降低丢包情况,保证视频连续性。
本发明实施例中,在解码过程中,根据校验码确定丢包的视频帧和丢包帧类型,进而根据丢包帧类型采用不同的恢复策略进行丢包恢复。由此通过对丢包帧采用丢包策略进行恢复,保证视频播放的连续性。而且通过将丢包情况反馈给编码设备,以便编码设备调整编码策略,使得编码设备自适应网络,以达到降低视频丢包的目的。
实施例三
图3是本发明实施例三提供的一种视频码流丢包恢复装置的结构示意图。该装置配置于编码设备,如图3所示,该装置包括:
第二获取模块301,用于获取待编码处理的视频帧组;
校验码添加模块302,在对所述视频帧组进行编码过程中,为所述视频帧组中的每一帧加入校验码,其中所述校验码用于在视频帧解码时确定所述视频帧是否丢包;
发送模块303,用于将编码后的且带有校验码的视频帧组传输给解码设备。
在上述实施例的基础上,所述视频帧组包括一个I帧和多个P帧;
基于特征识别模型,对所述I帧进行slice划分,得到特征slice和非特征slice;
相应的,校验码添加模块具体用于:
在对所述视频帧组进行编码过程中,为所述特征slice、非特征slice、P帧添加校验码。
在上述实施例的基础上,校验码添加模块,包括:
第一校验码添加单元,用于针对所述特征slice,为所述特征slice中包括的宏块进行编码,且每个宏块编码完为其添加宏块校验码,直到所述特征slice包括的所有宏块编码完成,为所述特征slice添加I帧slice级校验码;
第二校验码添加单元,用于在对所述非特征slice编码结束时,为所述非特征slice添加I帧slice级校验码;
第三校验码添加单元,用于在对所述P帧编码结束后,为所述P帧添加P 帧帧级校验码。
在上述实施例的基础上,所述装置还包括:
编码策略调整模块,用于接收解码设备反馈的丢包信息或者自行获取丢包信息,并根据所述丢包信息调整编码策略。
本发明实施例所提供的视频码流丢包恢复装置可执行本发明任意实施例所提供的存应用于编码设备的视频码流丢包恢复方法,具备执行方法相应的功能模块和有益效果。
实施例四
图4是本发明实施例四提供的一种视频码流丢包恢复装置的结构示意图。该装置配置于解码设备,如图4所示,该装置包括:
第一获取模块401,用于获取编码设备发送的帧组视频码流,其中所述帧组视频码流携带有校验码;
验证模块402,用于对所述帧组视频码流携带的校验码进行验证,确定所述帧组视频码流的丢包帧和丢包帧的类型;
恢复模块403,用于根据所述丢包类型,采用不同的恢复策略对所述丢包帧进行丢包恢复。
在上述实施例的基础上,所述校验码包括P帧帧级校验码、I帧slice级校验码、宏块级校验码;
相应的,所述丢包帧的类型包括P帧丢包和I帧丢包。
在上述实施例的基础上,恢复模块包括:
第一恢复单元,用于若当前丢包帧的类型为P帧丢包,则通过全帧帧间skip 模式对所述当前丢包帧进行恢复。
在上述实施例的基础上,恢复模块还包括:
丢包slice确定单元,用于若当前丢包帧的类型为I帧丢包,根据所述当前丢包帧中的I帧slice级校验码确定丢包slice,其中,所述当前丢包帧包括特征 slice和非特征slice;
判断单元,用于判断所述丢包slice是否为特征slice;
第二恢复单元,用于所述判断单元的判断结果为否,则在对所述丢包slice 解码时,通过类帧间skip模式对所述丢包slice进行恢复;
第三恢复单元,用于所述判断单元的判断结果为是,则根据宏块级校验码,确定所述特征slice中的丢包宏块,并在对所述丢包宏块进行解码时,通过矢量外推方式对所述丢包宏块进行恢复。
本发明实施例所提供的视频码流丢包恢复装置可执行本发明任意实施例所提供的存应用于解码设备的视频码流丢包恢复方法,具备执行方法相应的功能模块和有益效果。
实施例五
图5为本发明实施例五提供的解码设备的结构示意图。图5示出了适于用来实现本发明实施方式的示例性解码设备12的框图。图5显示的解码设备12 仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,解码设备12以通用计算设备的形式表现。解码设备12的组件可以包括但不限于:一个或者多个处理器或者处理器16,存储器28,连接不同系统组件(包括存储器28和处理器16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA) 总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA) 局域总线以及外围组件互连(PCI)总线。
解码设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被解码设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。解码设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图5未显示,通常称为“硬盘驱动器”)。尽管图5中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM, DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/ 或方法。
解码设备12也可以与一个或多个外部设备14通信,还可与一个或者多个使得用户能与该解码设备12交互的设备通信,和/或与使得该解码设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等) 通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,解码设备12 还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网 (WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与解码设备12的其它模块通信。应当明白,尽管图中未示出,可以结合解码设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理器16通过运行存储在存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的应用于解码设备的视频码流丢包恢复方法,该方法包括:
获取编码设备发送的帧组视频码流,其中所述帧组视频码流携带有校验码;
对所述帧组视频码流携带的校验码进行验证,确定所述帧组视频码流的丢包帧和丢包帧的类型;
根据所述丢包类型,采用不同的恢复策略对所述丢包帧进行丢包恢复。
本发明实施例还提供了一种编码设备,其包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例所提供的应用于编码设备的视频码流丢包恢复方法,包括:
获取待编码处理的视频帧组;
在对所述视频帧组进行编码过程中,为所述视频帧组中的每一帧加入校验码,其中所述校验码用于在视频帧解码时确定所述视频帧是否丢包;
将编码后的且带有校验码的视频帧组传输给解码设备。
当然,本领域技术人员可以理解,处理器还可以实现本发明任意实施例所提供的应用于编码设备的视频码流丢包恢复方法的技术方案。该编码设备的硬件结构以及功能可参见实施例五的内容解释。
实施例六
本发明实施例中提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种应用于解码设备视频码流丢包恢复方法,该方法包括:
获取编码设备发送的帧组视频码流,其中所述帧组视频码流携带有校验码;
对所述帧组视频码流携带的校验码进行验证,确定所述帧组视频码流的丢包帧和丢包帧的类型;
根据所述丢包类型,采用不同的恢复策略对所述丢包帧进行丢包恢复。
当然,本发明实施例中所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例中所提供的视频码流丢包恢复方法中的相关操作。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器 (CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、 Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN) —连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
本发明实施例还提供了另一种计算机可读存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种应用于编码设备视频码流丢包恢复方法,该方法包括:
获取待编码处理的视频帧组;
在对所述视频帧组进行编码过程中,为所述视频帧组中的每一帧加入校验码,其中所述校验码用于在视频帧解码时确定所述视频帧是否丢包;
将编码后的且带有校验码的视频帧组传输给解码设备。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的应用于编码设备的视频码流丢包恢复方法中的相关操作。对存储介质的介绍可参见实施例六中的内容解释。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (14)

1.一种视频码流丢包恢复方法,应用于解码设备,其特征在于,所述方法包括:
获取编码设备发送的帧组视频码流,其中所述帧组视频码流携带有校验码;
对所述帧组视频码流携带的校验码进行验证,确定所述帧组视频码流的丢包帧和丢包帧的类型;
根据所述丢包类型,采用不同的恢复策略对所述丢包帧进行丢包恢复。
2.根据权利要求1所述的方法,其特征在于,所述校验码包括P帧帧级校验码、I帧slice级校验码、宏块级校验码;
相应的,所述丢包帧的类型包括P帧丢包和I帧丢包。
3.根据权利要求2所述的方法,其特征在于,根据所述丢包类型,采用不同的恢复策略对所述丢包帧进行丢包恢复,包括:
若当前丢包帧的类型为P帧丢包,则通过全帧帧间skip模式对所述当前丢包帧进行恢复。
4.根据权利要求2所述的方法,其特征在于,根据所述丢包类型,采用不同的恢复策略对所述丢包帧进行丢包恢复,包括:
若当前丢包帧的类型为I帧丢包,根据所述当前丢包帧中的I帧slice级校验码确定丢包slice,其中,所述当前丢包帧包括特征slice和非特征slice;
判断所述丢包slice是否为特征slice;
若否,则在对所述丢包slice解码时,通过类帧间skip模式对所述丢包slice进行恢复;
若是,则根据宏块级校验码,确定所述特征slice中的丢包宏块,并在对所述丢包宏块进行解码时,通过矢量外推方式对所述丢包宏块进行恢复。
5.一种视频码流丢包恢复方法,应用于编码设备,其特征在于,所述方法包括:
获取待编码处理的视频帧组;
在对所述视频帧组进行编码过程中,为所述视频帧组中的每一帧加入校验码,其中所述校验码用于在视频帧解码时确定所述视频帧是否丢包;
将编码后的且带有校验码的视频帧组传输给解码设备。
6.根据权利要求5所述的方法,其特征在于,所述视频帧组包括一个I帧和多个P帧;
基于特征识别模型,对所述I帧进行slice划分,得到特征slice和非特征slice;
相应的,在对所述视频帧组进行编码过程中,为所述视频帧组中的每一帧加入校验码,包括:
在对所述视频帧组进行编码过程中,为所述特征slice、非特征slice、P帧添加校验码。
7.根据权利要求6所述的方法,其特征在于,在对所述视频帧组进行编码过程中,为所述I帧中的特征slice、非特征slice、P帧添加校验码,包括:
针对所述特征slice,为所述特征slice中包括的宏块进行编码,且每个宏块编码完为其添加宏块校验码,直到所述特征slice包括的所有宏块编码完成,为所述特征slice添加I帧slice级校验码;
在对所述非特征slice编码结束时,为所述非特征slice添加I帧slice级校验码;
在对所述P帧编码结束后,为所述P帧添加P帧帧级校验码。
8.根据权利要求5所述的方法,其特征在于,所述方法还包括:
接收解码设备反馈的丢包信息或者自行获取丢包信息,并根据所述丢包信息调整编码策略。
9.一种视频码流丢包恢复装置,配置于解码设备,其特征在于,所述装置包括:
第一获取模块,用于获取编码设备发送的帧组视频码流,其中所述帧组视频码流携带有校验码;
验证模块,用于对所述帧组视频码流携带的校验码进行验证,确定所述帧组视频码流的丢包帧和丢包帧的类型;
恢复模块,用于根据所述丢包类型,采用不同的恢复策略对所述丢包帧进行丢包恢复。
10.一种视频码流丢包恢复装置,配置于编码设备,其特征在于,所述装置包括:
第二获取模块,用于获取待编码处理的视频帧组;
校验码添加模块,在对所述视频帧组进行编码过程中,为所述视频帧组中的每一帧加入校验码,其中所述校验码用于在视频帧解码时确定所述视频帧是否丢包;
发送模块,用于将编码后的且带有校验码的视频帧组传输给解码设备。
11.一种解码设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-4中任一所述的视频码流丢包恢复方法。
12.一种编码设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求5-8中任一所述的视频码流丢包恢复方法。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-4中任一所述的视频码流丢包恢复方法。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求5-8中任一所述的视频码流丢包恢复方法。
CN201910550578.7A 2019-06-24 2019-06-24 视频码流丢包恢复方法、装置、设备及存储介质 Pending CN112135138A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910550578.7A CN112135138A (zh) 2019-06-24 2019-06-24 视频码流丢包恢复方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910550578.7A CN112135138A (zh) 2019-06-24 2019-06-24 视频码流丢包恢复方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN112135138A true CN112135138A (zh) 2020-12-25

Family

ID=73849078

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910550578.7A Pending CN112135138A (zh) 2019-06-24 2019-06-24 视频码流丢包恢复方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112135138A (zh)

Similar Documents

Publication Publication Date Title
JP6207116B2 (ja) 監視ビデオをエンコードするための方法及び装置
US11527068B2 (en) Methods and systems for video processing
CN108141581B (zh) 视频编码
CN110784740A (zh) 视频处理方法、装置、服务器及可读存储介质
US20090097555A1 (en) Video encoding method and device
CN111093083B (zh) 数据传输方法及装置
US8418038B2 (en) Error correcting method and device
CN112423140A (zh) 视频播放方法、装置、电子设备和存储介质
WO2020237466A1 (zh) 视频传输方法、装置、飞行器、播放设备及存储介质
CN111385576B (zh) 视频编码方法、装置、移动终端及存储介质
JP5197238B2 (ja) 映像送信装置、その制御方法、および制御方法を実行するプログラム
US10542283B2 (en) Distributed video encoding/decoding apparatus and method to achieve improved rate distortion performance
CN113038178A (zh) 一种视频帧的传输控制方法及装置
CN112135138A (zh) 视频码流丢包恢复方法、装置、设备及存储介质
CN116668741A (zh) 云桌面的显示方法、图像显示方法、设备和存储介质
WO2023024832A1 (zh) 数据处理方法、装置、计算机设备和存储介质
CN110891195A (zh) 花屏图像的生成方法、装置、设备和存储介质
CN106937168B (zh) 一种利用长期参考帧的视频编码方法、电子设备及系统
US20130339482A1 (en) Data transmitting system, and transmitting apparatus and receiving apparatus and program in data transmitting system
CN112911299B (zh) 一种视频码率控制方法、装置、电子设备和存储介质
JP2004254195A (ja) 動画像符号化装置及び動画像符号化方法並びに動画像伝送システム及び動画像符号化プログラム
CN112839227B (zh) 一种图像编码方法、装置、设备和介质
TWI700918B (zh) 具有初始化片段之視訊及音訊之寫碼
US10708596B2 (en) Forcing real static images
CN112055174A (zh) 一种视频传输方法、装置及计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination