一种视频网络传输容错保护方法、系统、装置及存储介质与流程

文档序号:31184491发布日期:2022-08-19 20:24阅读:96来源:国知局
一种视频网络传输容错保护方法、系统、装置及存储介质与流程

1.本技术涉及流媒体技术领域,尤其是一种视频网络传输容错保护方法、系统、装置及存储介质。


背景技术:

2.在流媒体传输系统中,网络波动会引起视频丢包或者视频包传输错误,进而影响接收端的视觉体验。随着互联网直播的普及,在线视频的观看体验越来越受到重视。当前主流视频编码标准仍然采用混合编码架构,仍然存在误码扩散问题。若视频编码的当前帧的某个比特发生错误,其错误就会延续至其后续帧,造成后续帧的解码也出现错误,形成错误累积。
3.目前大部分互联网直播系统主流的解决方案是通过前向纠错(fec)或者后向纠错(bec)加强信道容错能力。其中,常见的后向纠错技术包括采用自动重传请求(arq)技术,通过接收方请求发送方重传出错的数据报文来恢复出错的报文;常见的前向纠错技术采用信道纠错编码技术,发送方通过使用纠错码(ecc)对信息进行冗余编码,冗余部分允许接收方检测可能出现在信息任何地方的有限差错并纠正,无需请求发送方重传。
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.图1为本发明一种视频网络传输容错保护方法具体实施例的流程示意图;
50.图2为本发明一种视频网络传输容错保护方法具体实施例的反馈信息示意图;
51.图3为本发明一种视频网络传输容错保护系统具体实施例的结构示意图;
52.图4为本发明一种视频网络传输容错保护装置具体实施例的结构示意图。
具体实施方式
53.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本技术,而不能理解为对本技术的限制。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
54.本发明的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
55.在本发明中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地
和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
56.在流媒体传输系统中,网络波动会引起视频丢包或者视频包传输错误,进而影响接收端的视觉体验。随着互联网直播的普及,在线视频的观看体验越来越受到重视。当前主流视频编码标准仍然采用混合编码架构,仍然存在误码扩散问题。若视频编码的当前帧的某个比特发生错误,其错误就会延续至其后续帧,造成后续帧的解码也出现错误,形成错误累积。
57.目前大部分互联网直播系统主流的解决方案是通过前向纠错(fec)或者后向纠错(bec)加强信道容错能力。其中,常见的后向纠错技术包括采用自动重传请求(arq)技术,通过接收方请求发送方重传出错的数据报文来恢复出错的报文;常见的前向纠错技术采用信道纠错编码技术,发送方通过使用纠错码(ecc)对信息进行冗余编码,冗余部分允许接收方检测可能出现在信息任何地方的有限差错并纠正,无需请求发送方重传。
58.然而,后向纠错的技术加大了视频网络传输的通信时延,降低了直播视频的实时性,在实时性要求较高的场景适用性差;前向纠错技术只针对信道,未考虑前后数据的相关性,虽然可以保证高实时性,但仍然无法避免误码发生,也无法避免误码扩散。
59.为此,本发明提出了一种视频网络传输容错保护方法和系统,通过对接收到的网络数据进行解码以及错误检测,并将错误数据对应的第一帧号反馈给发送端实时调整参考列表,实现了对错误数据的及时检测与纠错,并减少了错误数据向后续帧的延续,在满足视频网络传输实时性的同时抑制了误码扩散,提升视频的视觉体验。
60.下面参照附图详细描述根据本发明实施例提出的一种视频网络传输容错保护方法和系统,首先将参照附图描述根据本发明实施例提出的一种视频网络传输容错保护方法。
61.参照图1,本发明实施例中提供一种视频网络传输容错保护方法,本发明实施例中的一种视频网络传输容错保护方法,可应用于终端中,也可应用于服务器中,还可以是运行于终端或服务器中的软件等。终端可以是平板电脑、笔记本电脑、台式计算机等,但并不局限于此。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。本发明实施例中的一种视频网络传输容错保护方法主要包括以下步骤:
62.s101、生成第一量化参数和第一参考列表;
63.其中,第一量化参数(qp)反映了视频的空间细节压缩情况,当qp较小时,大部分的细节都会被保留;随着qp的增大,视频的部分细节丢失,码率降低;第一参考列表用于管理参考图像。
64.具体地,在本发明的实施例中,按照设定的初始工作模式输出当前编码帧的第一量化参数和第一参考列表。
65.s102、根据所述第一量化参数和所述第一参考列表进行编码,生成网络数据;
66.s102可以进一步划分为以下步骤s1021-s1022:
67.步骤s1021、对所述第一量化参数和所述第一参考列表进行第一编码,生成第三视频帧;
68.其中,所述第一编码包括视频数据压缩编码。
69.具体地,在本发明的实施例中,采用h264编码,根据所述第一量化参数和所述第一参考列表进行视频数据压缩,生成视频帧,即所述第三视频帧。在本发明的一个实施例中,可采用vcc标准进行视频数据压缩编码,以提升压缩效率和信源容错能力。
70.在本发明的实施例中,结合h264编码中的可伸缩视频编码(svc)技术,输出多层码流,包括基本层和增强层。
71.步骤s1022、对所述第三视频帧进行第二编码,生成所述网络数据。
72.其中,所述第二编码包括前向纠错编码(fec编码)。
73.s103、对所述网络数据进行解码,生成第一视频帧;
74.具体地,通过步骤s101-s102生成网络数据后,通过网络传输将网络数据发送至解码模块。通过解码模块对网络数据进行解码,生成解码后的视频帧,即所述第一视频帧。
75.s103可以进一步划分为以下步骤s1031-s1032:
76.步骤s1031、对所述网络数据进行第一解码,生成解码后数据;
77.其中,所述第一解码包括前向纠错解码。
78.具体地,根据步骤s1022可知,第三视频帧经过fec编码后生成网络数据,因此,在接收到网络数据后,首先需要对所述网络数据进行fec解码。
79.步骤s1032、对所述解码后数据进行第二解码,生成所述第一视频帧。
80.其中,所述第二解码包括视频帧解码。
81.具体地,在本发明的实施例中,采用h264解码对fec解码后的数据进行视频帧解码,生成所述第一视频帧。根据步骤s1021可知,当采用vcc标准进行视频数据压缩编码时,在进行视频帧解码时相应地采用vcc标准进行解码。
82.s104、确认所述第一视频帧中存在错误数据,生成反馈信息;
83.其中,所述反馈信息中包括第一帧号,所述第一帧号为错误数据对应的帧号。
84.具体地,通过对第一视频帧进行错误检测,判断是否存在错误数据,若是,则生成所述反馈信息。根据步骤s1021可知,本发明实施例的第一编码结合了svc技术,因此,在对所述第一视频帧进行错误检测时,若错误数据对应的所述第一帧号的帧处于基本层,则通过使用对应的增强层的帧替换第一帧号的帧进行显示,并生成所述反馈信息;若所述第一帧号的帧处于增强层,则使用对应的基本层的帧替换第一帧号的帧进行显示,无需生成所述反馈信息。
85.s105、根据所述反馈信息获取第二帧号;
86.其中,根据反馈信息中的第一帧号,获取第二帧号,进而根据第二帧号优化后续编码帧编码输出的视频流,防止误码扩散到后续的视频流。
87.具体地,参照图2,在本发明的一个实施例中,通过步骤s101-s102(发送端)生成并发送正常参考关系的前八帧数据,在通过步骤s103-s104(接收端)对前八帧数据进行解码以及错误检测后,发现num=5(第一帧号)的视频帧发生错误。此时,发送端参考num=3(第二帧号)的视频帧的参考关系改变num=9的视频帧的参考关系,而不考虑num=8的视频帧,保证num=9的视频帧能够正常解码。
88.s106、根据所述第二帧号生成第二量化参数和第二参考列表;
89.具体地,根据步骤s105的具体实施例所述,根据所述第二帧号和所述第一参考列
表生成所述第二参考列表,并根据所述第二帧号生成所述第二量化参数。
90.s107、根据所述第二量化参数和所述第二参考列表进行编码,生成第二视频帧并缓存。
91.具体地,根据实时调整后的所述第二量化参数和所述第二参考列表进行编码,生成第二视频帧并缓存至缓存队列中。
92.本发明实施例的一种视频网络传输容错保护方法,通过对接收到的网络数据进行解码以及错误检测,并将错误数据对应的第一帧号反馈给发送端实时调整参考列表,实现了对错误数据的及时检测与纠错,并减少了错误数据向后续帧的延续,在满足视频网络传输实时性的同时抑制了误码扩散,提升视频的视觉体验。
93.其次,参照附图描述根据本技术实施例提出的一种视频网络传输容错保护系统。
94.图3是本技术一个实施例的一种视频网络传输容错保护系统结构示意图。
95.所述系统具体包括:
96.速率控制模块301,用于生成第一量化参数,以及用于根据第二帧号生成第二量化参数;
97.参考列表生成模块302,用于生成第一参考列表,以及用于根据第二帧号生成第二参考列表;
98.编码模块303,用于根据所述第一量化参数和所述第一参考列表进行编码,生成网络数据,以及用于根据所述第二量化参数和所述第二参考列表进行编码,生成第二视频帧并缓存;
99.解码模块304,用于对所述网络数据进行解码,生成第一视频帧;
100.反馈信息生成模块305,用于确认所述第一视频帧中存在错误数据,生成反馈信息;
101.第二帧号获取模块306,用于根据所述反馈信息获取第二帧号。
102.在本发明的实施例中,所述编码模块包括:
103.第一编码模块,用于对所述第一量化参数和所述第一参考列表进行第一编码,生成第三视频帧;
104.第二编码模块,用于对所述第三视频帧进行第二编码,生成所述网络数据。
105.在本发明的实施例中,所述解码模块包括:
106.第一解码模块,用于对所述网络数据进行第一解码,生成解码后数据;
107.第二解码模块,用于对所述解码后数据进行第二解码,生成所述第一视频帧。
108.在本发明的实施例中所述参考列表生成模块用于根据所述第二帧号和所述第一参考列表生成所述第二参考列表。
109.可见,上述方法实施例中的内容均适用于本系统实施例中,本系统实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
110.参照图4,本技术实施例提供了一种视频网络传输容错保护装置,包括:
111.至少一个处理器401;
112.至少一个存储器402,用于存储至少一个程序;
113.当所述至少一个程序被所述至少一个处理器401执行时,使得所述至少一个处理
器401实现所述的一种视频网络传输容错保护方法。
114.同理,上述方法实施例中的内容均适用于本装置实施例中,本装置实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
115.在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本技术的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
116.此外,虽然在功能性模块的背景下描述了本技术,但应当理解的是,除非另有相反说明,功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本技术是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本技术。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本技术的范围,本技术的范围由所附权利要求书及其等同方案的全部范围来决定。
117.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干程序用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
118.在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行程序的定序列表,可以具体实现在任何计算机可读介质中,以供程序执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从程序执行系统、装置或设备取程序并执行程序的系统)使用,或结合这些程序执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供程序执行系统、装置或设备或结合这些程序执行系统、装置或设备而使用的装置。
119.计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
120.应当理解,本技术的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的程序执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
121.在本说明书的上述描述中,参考术语“一个实施方式/实施例”、“另一实施方式/实施例”或“某些实施方式/实施例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
122.尽管已经示出和描述了本技术的实施方式,本领域的普通技术人员可以理解:在不脱离本技术的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本技术的范围由权利要求及其等同物限定。
123.以上是对本技术的较佳实施进行了具体说明,但本技术并不限于所述实施例,熟悉本领域的技术人员在不违背本技术精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本技术权利要求所限定的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1