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

视频数据的传输方法、终端及服务器与流程

2022-11-30 08:18:50 来源:中国专利 TAG:


1.本发明涉及数据传输技术领域,具体涉及一种视频数据的传输方法、终端及服务器。


背景技术:

2.近几年来,虚拟现实(virtual reality,vr)、在线游戏、直播等实时视频业务兴起,用户对视频质量的要求越来越高,然而高分辨高质量的视频通常需要大带宽的传输环境,在用户超过一定数量或网络的不稳定性等情况下,视频流数据延迟较大,丢包率高,导致画面经常出现马赛克现象,影响用户的观看体验。
3.因此,亟需一种能够提高实时视频的显示质量的方法。


技术实现要素:

4.本发明的至少一个实施例提供了一种视频数据的传输方法、终端及网络设备,能够提高实时视频的显示质量并改善用户体验。
5.根据本发明的一个方面,至少一个实施例提供了
6.终端检测接收到的实时视频流,确定需要更新的第一视频块,其中,所述实时视频流中携带有:视频画面中的各个视频块编码后的视频数据以及每个视频块的空间位置和时间位置的信息;
7.所述终端向服务器发送更新请求,所述更新请求携带有所述第一视频块的第一空间位置和第一时间位置的信息。
8.此外,根据本发明的至少一个实施例,所述空间位置用于指示视频块在所属视频画面中的位置,所述时间位置用于指示视频块所属的目标视频帧与参考视频帧之间的间隔。
9.此外,根据本发明的至少一个实施例,所述视频块为tile块,所述参考视频帧为所述目标视频帧之前的最近一个i帧,所述实时视频流的编码序列为一个i帧后接多个连续的p帧。
10.此外,根据本发明的至少一个实施例,所述终端检测接收到的实时视频流,确定需要更新的第一视频块,包括:
11.在接收到的实时视频流中检测显示内容存在马赛克的候选视频块;
12.选择出马赛克在对应画面中的占比超过预设比例门限的候选视频块,作为所述第一视频块。
13.此外,根据本发明的至少一个实施例,所述终端检测接收到的实时视频流,确定需要更新的第一视频块,包括:
14.在接收到的实时视频流中检测显示内容存在马赛克的候选视频块;
15.选择出马赛克在对应画面中的占比超过预设比例门限的候选视频块,作为备选视频块;
16.针对每个备选视频块,分别判断在相邻的前一个视频帧中是否存在空间位置相同的其他备选视频块,如果不存在,则将该备选视频块作为第一视频块。
17.此外,根据本发明的至少一个实施例,在发送所述更新请求之后,所述方法还包括:
18.所述终端接收服务器根据所述更新请求发送的更新数据,所述更新数据包括有第二视频块编码后的视频数据以及第二视频块的第二空间位置和第二时间位置的信息,其中,所述第二空间位置与所述第一空间位置相同,且所述第二时间位置位于所述第一时间位置之后;
19.对所述更新数据进行解码,得到所述第二视频块的第二空间位置和第二时间位置;
20.判断所述第二时间位置,是否在所述终端当前刷新的视频帧之前:若是,则等待所述第二时间位置到达时,渲染所述第二视频块,否则,保留所述第二视频块,作为解码后续视频帧的参考帧。
21.根据本发明的另一方面,至少一个实施例提供了一种视频数据的传输方法,包括:
22.服务器向终端发送实时视频流,所述实时视频流中携带有:视频画面中的各个视频块编码后的视频数据以及每个视频块的空间位置和时间位置的信息;
23.所述服务器接收所述终端发送的更新请求,所述更新请求携带有第一视频块的第一空间位置和第一时间位置的信息;
24.所述服务器根据所述更新请求,确定需要更新的第二视频块,并向所述终端发送更新数据,所述更新数据包括有所述第二视频块编码后的视频数据以及第二视频块的第二空间位置和第二时间位置的信息,所述第二空间位置与第一空间位置相同,且所述第二时间位置位于所述第一时间位置之后。
25.此外,根据本发明的至少一个实施例,所述空间位置用于指示视频块在所属视频画面中的位置,所述时间位置用于指示视频块所属的目标视频帧与参考视频帧之间的间隔。
26.此外,根据本发明的至少一个实施例,所述视频块为tile块,所述参考视频帧为所述目标视频帧之前的最近一个i帧,所述实时视频流的编码序列为一个i帧后接多个连续的p帧。
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.图1为实时视频流中包重传的一种示意图;
59.图2为本发明实施例的视频数据的传输方法应用于终端侧时的流程图;
60.图3为本发明实施例的视频数据的传输方法应用于服务器侧时的流程图;
61.图4为本发明实施例的视频数据的传输方法的一种应用场景示意图;
62.图5为本发明实施例的对tile块进行编号的一种示意图;
63.图6为本发明实施例提供的终端的一种结构示意图;
64.图7为本发明实施例提供的终端的另一种结构示意图;
65.图8为本发明实施例提供的服务器的一种结构示意图;
66.图9为本发明实施例提供的服务器的另一种结构示意图。
具体实施方式
67.下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
68.本技术的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。说明书以及权利要求中“和/或”表示所连接对象的至少其中之一。
69.以下描述提供示例而并非限定权利要求中阐述的范围、适用性或者配置。可以对所讨论的要素的功能和布置作出改变而不会脱离本公开的精神和范围。各种示例可恰适地省略、替代、或添加各种规程或组件。例如,可以按不同于所描述的次序来执行所描述的方法,并且可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
70.为了保证实时视频业务在有限的带宽环境下正常传输,在处理较高质量的分辨率时,现有技术通常使用较大画面组(group of pictures,gop)对视频进行编码来提高p帧在视频流中数量的占比,从而降低传输码率,保障用户体验。
71.针对实时视频业务的编码序列通常采用ipp

pipp

p

的方式,即每个关键帧i帧后接多个预测帧p帧的循环方式编码。在编码每一个p帧数据时都以前一帧的数据为参考。所以无论序列中哪一帧数据出现丢失或错误时,都会影响到后面相关p帧的数据,导致视频质量的恶性循环。现有的解决方案采用前向纠错(forward error correction,fec)等技术将丢失的视频流数据包重传或者重传关键帧,现有的包重传的方法添加了冗余信息增大了带宽,而且,考虑到终端接收实时视频帧会及时刷新,如图1所示,物理信道发现数据错误(如p3帧出现错误),现有方法重传的p3帧数据到达终端时错过了实时视频的显示时间,成为无效数据。
72.为解决以上问题中的至少一种,本发明实施例提供了一种视频数据的传输方法,能够减少或避免重传数据成为无效数据,另外,本发明实施例通过传输部分重传数据,能够在网络不良的情况下优先保证重要内容的完整性,提高用户体验。
73.请参照图2,本发明实施例提供的视频数据的传输方法,在应用于终端侧时,包括:
74.步骤21,终端检测接收到的实时视频流,确定需要更新的第一视频块,其中,所述实时视频流中携带有:视频画面中的各个视频块编码后的视频数据以及每个视频块的空间位置和时间位置的信息。
75.这里,所述空间位置用于指示视频块在所属视频画面中的位置,所述时间位置用于指示视频块所属的目标视频帧与参考视频帧之间的间隔。本发明实施例中,所述视频块具体可以为tile块,所述参考视频帧为所述目标视频帧之前的最近一个i帧,所述实时视频流的编码序列为一个i帧后接多个连续的p帧的循环帧序列方式。
76.步骤22,所述终端向服务器发送更新请求,所述更新请求携带有所述第一视频块的第一空间位置和第一时间位置的信息。
77.通过以上步骤,本发明实施例将需要更新的第一视频块的时空位置信息发送给服务器,服务器可以根据空间位置信息,选择空间位置相同的后续视频块进行更新,一方面能够减少或避免重传数据成为无效数据,另一方面能够减少第一视频块对实时视频播放所造成的不良影响,改善了用户对视频流的观看体验。
78.在实时视频流播放中,马赛克是影响观看体验的典型问题。马赛克问题通常是因为解码失败(数据丢失或错位)等原因造成的。作为一种实现方式,本发明实施例在上述步骤21中,可以在接收到的实时视频流中检测显示内容存在马赛克的候选视频块;然后,选择出马赛克在对应画面中的占比超过预设比例门限的候选视频块,作为所述第一视频块。
79.考虑到ipppp帧编码序列的解码特点,如果某一帧中的某个视频块出现了马赛克,则后续帧的相同空间位置的视频块很可能出现马赛克问题,为了减少不必要的更新请求,减少不必要的信息传输,可以仅针对首个视频块上报更新请求。因此,作为另一种实现方式,在上述步骤21中,本发明实施例可以在接收到的实时视频流中检测显示内容存在马赛克的候选视频块;选择出马赛克在对应画面中的占比超过预设比例门限的候选视频块,作为备选视频块;然后,针对每个备选视频块,分别判断在相邻的前一个视频帧中是否存在空间位置相同的其他备选视频块,如果不存在,则将该备选视频块作为第一视频块。
80.本发明实施例可以采用各种已有的马赛克检测技术来检测马赛克,本文不再赘述。另外,需要说明的是,本发明实施例中需要更新的第一视频块,可以包括但不限于出现马赛克的视频块,例如,还可以是画面卡顿的视频块、画面颜色失真的视频块等,本发明实施例对此不做具体限定。
81.服务器接收到终端发送的更新请求后,根据该更新请求确定需要更新的视频块(为了便于描述,这里称之为第二视频块),然后向终端按时第二视频块。因此,本发明实施例中,在上述步骤22之后,所述终端还可以接收服务器根据所述更新请求发送的更新数据,所述更新数据包括有第二视频块编码后的视频数据以及第二视频块的第二空间位置和第二时间位置的信息,其中,所述第二空间位置与所述第一空间位置相同,且所述第二时间位置位于所述第一时间位置之后。然后,所述终端对所述更新数据进行解码,得到所述第二视频块的第二空间位置和第二时间位置。考虑到传输时延,第二视频块到达终端时有可能已
经过了其播放时间,因此,所述终端可以判断所述第二时间位置,是否在所述终端当前刷新的视频帧之前:若是,则等待所述第二时间位置到达时,渲染所述第二视频块,否则,保留所述第二视频块,作为解码后续视频帧的参考帧。
82.通过以上步骤,本发明实施例针对基于tile编码方式编码的实时视频流,能够预测终端需要更新的视频块,从而提前传输质量恶化的视频块来保障实时视频的显示质量并提高用户体验。另外,本发明实施例还通过定义马赛克的区域以及设计不重传相邻帧的相同位置的有损视频来减少传输的冗余信息,减少重传的传输内容。
83.本发明实施例的终端在第一视频块的播放出现问题时,能够向服务器请求并获得与第一视频块空间位置相同的后续视频块,进而提高后续相同空间位置的视频块的播放质量,改善用户的视频观看体验。
84.请参照图3,本发明实施例提供的视频数据的传输方法,在应用于服务器侧时,包括:
85.步骤31,服务器向终端发送实时视频流,所述实时视频流中携带有:视频画面中的各个视频块编码后的视频数据以及每个视频块的空间位置和时间位置的信息。
86.这里,所述空间位置用于指示视频块在所属视频画面中的位置,所述时间位置用于指示视频块所属的视频帧与参考视频帧之间的间隔。所述视频块具体可以是tile块,所述参考视频帧为所述目标视频帧之前的最近一个i帧,所述实时视频流的编码序列为一个i帧后接多个连续的p帧的循环编码序列。
87.步骤32,所述服务器接收所述终端发送的更新请求,所述更新请求携带有第一视频块的第一空间位置和第一时间位置的信息。
88.步骤33,所述服务器根据所述更新请求,确定需要更新的第二视频块,并向所述终端发送更新数据,所述更新数据包括有所述第二视频块编码后的视频数据以及第二视频块的第二空间位置和第二时间位置的信息,所述第二空间位置与第一空间位置相同,且所述第二时间位置位于所述第一时间位置之后。
89.通过以上步骤,本发明实施例的服务器可以在终端的第一视频块的第一视频块播放出现问题时,向该终端发送与第一视频块空间位置相同的后续视频块,进而提高后续相同空间位置的视频块的播放质量,改善用户的视频观看体验。
90.上述步骤33中,所述服务器根据自身与所述终端之间的传输时延、帧率以及所述第一时间位置,计算第二时间位置;根据所述第一空间位置,确定出第二空间位置,所述第二空间位置与第一空间位置相同。然后,根据所述第二时间位置和第二空间位置,确定需要更新的第二视频块。
91.这里,服务器与所述终端之间的传输时延具体可以是双向传输时延,即数据在服务器和终端之间的往返所需要的时间。本发明实施例可以采用各种已有的时延测量技术(如探针技术)来测量传输时延,本文不再赘述。第二时间位置可以是在第一时间位置的基础上,加上传输时延与帧率的比值所得到的时间。当然,还可以以上相加得到的时间的基础上进行微调,将微调后的时间作为最终的第二时间位置。
92.考虑到服务器与终端之间的带宽传输能力是有限的,在当前的带宽传输能力下能够保证传输性能(如传输延时、误码率等)要求的数据量可能是有限的,当需要更新的视频块的数据量过多时,本发明实施例可以仅传输部分重要的视频块。
93.具体的,在上述步骤33中,本发明实施例可以根据服务器与终端之间的当前带宽传输能力以及视频流的视频码率等参数,确定出一个能够保证传输性能的最大传输数据量。另外,服务器根据自身与所述终端之间的传输时延、帧率以及所述第一时间位置,计算第二时间位置,以及,根据所述第一空间位置,确定出第二空间位置,所述第二空间位置与第一空间位置相同;然后,根据所述第二时间位置和第二空间位置,确定第三视频块(作为候选的更新视频块)。此时,服务器判断当前带宽传输能力是否能够传输全部的第三视频块:若是,则将第三视频块都作为所述第二视频块并向终端发送。而在传输全部的所述第三视频块,超出服务器与终端之间的当前带宽传输能力的情况下,服务器可以根据第三视频块的优先级高低顺序,选择出第一数量的第三视频块,作为需要更新的第二视频块,其中,传输第一数量的第三视频块,未超出所述服务器与终端之间的带宽传输能力。
94.为了优先传输对观看体验更为重要的数据,本发明实施例还按照以下步骤,确定各个第三视频块的优先级:根据第三视频块的空间位置类型,确定空间权重,所述空间位置类型是根据视频块与其他视频块之间的共同边的数量确定,所述空间权重与所述共同边的数量正相关;根据第三视频块的时间位置,确定时间权重,所述时间权重与所述时间位置正相关;对所述空间权重和时间权重加权求和,得到第三视频块的优先级。这里,优先级的数值越大,则优先级越高。
95.通过以上步骤,本发明实施例通过在服务器端定义不同位置视频块的优先级,在网络有限的情况下,优先传输对用户更重要的数据,提高用户体验。
96.以上从终端和服务器侧分别介绍了本发明实施例的方法。下面通过一个更为具体的应用场景的示例对本发明作进一步的描述。
97.图4给出了本发明实施例的一种应用场景,主要包括终端,边缘云侧的服务器和中心云三部分。其中,终端接收到服务器发送的视频流数据并解码后,在应用层进行画质检测,并对检测出恶化的部分更新标记,然后发送携带有标记信息(如恶化部分的时空位置信息)的重传请求到边缘云服务器端,服务器再根据网络情况优先传输对用户体验更重要的视频块。该示例中以vr视频为例,采用了本发明实施例的以上方法的一个具体流程可以包括以下步骤:
98.s1:姿态及指令采集
99.终端的采集模块通过传感器采集终端姿态及指令信息并上传到边缘云。vr视频中服务器将根据终端的姿态和指令信息,生成相应的实时视频数据。
100.s2:渲染并基于tile方式编码实时视频
101.服务器端对实时视频数据进行tile方式编码,把视频分成矩形块,每一块内容独立编码并标记index(m,n),把每块视为小型的ipppp

帧序列,如图5所示,提供了将视频画面分成8、12分和18份tile块的示例,并对每个tile块进行编号,不同帧中的相同编号的tile块的空间位置是相同的。另外需要说明的是,本发明实施例不限于这几种。这里,每一个tile块设置一个索引信息index(m,n),index包含空间位置和时间位置信息。空间位置信息m是指对应tile块在视频画面中的编号,时间位置信息n指从该tile之前的最近一个i帧开始计数,到当前tile块是第几个p帧。将两个信息以及编码后的视频内容封装打包,并通过通信网络发送到终端。
102.s3:终端检测含马赛克的视频块,发送更新请求,所述更新请求信息携带含马赛克
的视频块的index(m,n)。
103.对终端当前显示的画面进行质量检测,即对每一帧的每一块检测画面是否产生马赛克,以及马赛克图像面积在每一块的占比。这里可以预设于一个阈值,例如50%,大于这个阈值则判断有是马赛克的块,会影响用户体验。如果连续监测两个p帧含有马赛克以及空间位置信息相同,则除了首个p帧外的其他帧不再发送更新请求。避免发送重复信息。
104.s4:服务器获取网络情况,并发送需要更新的视频块。
105.服务器定时监测网络的时延和带宽信息。服务器接收到s3中终端发送的更新请求以及index(m,n)进行下面处理:
106.1)根据传输时延以及帧率,计算需要更新的帧的位置。需要更新的帧位置=时间位置信息(n) 时延/帧率。
107.2)预先设置马赛克空间位置信息的优先级,优先级由index值对应的空间权重和时间权重加权得出,其中,空间权重m'反映了视频块的空间位置的重要程度,例如,可以有三种空间位置类型,分别是:视频块的四个边都有相邻像素(视频块与其他视频块之间的共同边的数量为4),三个边都有相邻像素(视频块与其他视频块之间的共同边的数量为3),两个边有相邻像素(视频块与其他视频块之间的共同边的数量为2),上述各个类型的空间权重依次降低。时间权重n'反映了视频块所属视频帧与该视频帧之间的最近一个i帧之间的距离,例如,可以直接使用n作为该时间权重,距离的数值越大,时间权重越大。优先级的一种计算方式为a*m' b*n',a和b为两个预设的权值,通常都为正数,且两者之和为1。
108.3)判断带宽情况,在网络带宽较好情况下,对所有需要更新的视频块进行帧内编码并发送给终端,在网络带宽有限的情况下,按照优先级高低顺序,选择部分需要更新的视频块并帧内编码后发送给终端。另外,在向终端发送某个视频块时,将该视频块的索引信息中的n重置为0,该视频块的下一个p帧编码时n值为1。也就是说,本发明实施例在发送更新的视频块时,是将更新的视频块作为i帧进行编码和发送的。
109.s5:发送需要更新的视频数据到终端
110.终端接收s4中的视频块数据然后进行解码操作,检测当前终端所需要刷新的帧的序列位置,如果接收到的更新的数据所在的图像尚未刷新,则等待刷新时刻到达时进行刷新;若已刷新,则保留数据,并为下面帧的解码提供参考。
111.从以上示例可以看出,本发明实施例提供了一种终端和边缘云服务器双向交互机制的实时视频更新方案,预测终端刷新的数据,提前传输质量恶化的视频块,从而能够改善实时视频的显示性能。另外,本发明实施例在服务器端还通过设置视频块的优先级,并根据网络带宽情况优先传输对用户更重要的视频块,从而有效的利用了有限带宽使用户获得更好的视频体验。另外,本发明实施例中,视频块的优先级的值由视频块的空间位置信息和时间位置信息加权决定。更进一步的,本发明实施例还可以在相邻两帧含有相同空间位置的问题视频块的情况下,仅传输首个视频块的相关信息,避免了传输冗余信息。另外,本发明实施例还通过设置一个阈值,在马赛克区域超过视频画面的占比大于这个阈值则定义此视频块含有马赛克,影响用户体验,针对此类型的视频块进行更新,减少了需要更新的数据量。
112.以上介绍了本发明实施例的各种方法。下面将进一步提供实施上述方法的装置。
113.请参照图6,本发明实施例提供了一种终端,包括:
114.处理器61,用于检测接收到的实时视频流,确定需要更新的第一视频块,其中,所述实时视频流中携带有:视频画面中的各个视频块编码后的视频数据以及每个视频块的空间位置和时间位置的信息;
115.收发机62,用于向服务器发送更新请求,所述更新请求携带有所述第一视频块的第一空间位置和第一时间位置的信息。
116.可选的,所述空间位置用于指示视频块在所属视频画面中的位置,所述时间位置用于指示视频块所属的目标视频帧与参考视频帧之间的间隔。
117.可选的,所述视频块为tile块,所述参考视频帧为所述目标视频帧之前的最近一个i帧,所述实时视频流的编码序列为一个i帧后接多个连续的p帧。
118.可选的,所述处理器,还用于在接收到的实时视频流中检测显示内容存在马赛克的候选视频块;选择出马赛克在对应画面中的占比超过预设比例门限的候选视频块,作为所述第一视频块。
119.可选的,所述处理器,还用于在接收到的实时视频流中检测显示内容存在马赛克的候选视频块;选择出马赛克在对应画面中的占比超过预设比例门限的候选视频块,作为备选视频块;针对每个备选视频块,分别判断在相邻的前一个视频帧中是否存在空间位置相同的其他备选视频块,如果不存在,则将该备选视频块作为第一视频块。
120.可选的,所述收发机,还用于在发送所述更新请求之后,接收服务器根据所述更新请求发送的更新数据,所述更新数据包括有第二视频块编码后的视频数据以及第二视频块的第二空间位置和第二时间位置的信息,其中,所述第二空间位置与所述第一空间位置相同,且所述第二时间位置位于所述第一时间位置之后;
121.所述处理器,还用于对所述更新数据进行解码,得到所述第二视频块的第二空间位置和第二时间位置;判断所述第二时间位置,是否在所述终端当前刷新的视频帧之前:若是,则等待所述第二时间位置到达时,渲染所述第二视频块,否则,保留所述第二视频块,作为解码后续视频帧的参考帧。
122.需要说明的是,该实施例中的设备是与上述图2所示的方法对应的设备,上述各实施例中的实现方式均适用于该设备的实施例中,也能达到相同的技术效果。本发明实施例提供的上述设备,能够实现上述方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
123.请参照图7,本发明实施例提供的终端的一种结构示意图,该终端包括:处理器701、收发机702、存储器703、用户接口704和总线接口。
124.在本发明实施例中,终端还包括:存储在存储器上703并可在处理器701上运行的程序。
125.所述处理器701执行所述程序时实现以下步骤:
126.检测接收到的实时视频流,确定需要更新的第一视频块,其中,所述实时视频流中携带有:视频画面中的各个视频块编码后的视频数据以及每个视频块的空间位置和时间位置的信息;
127.向服务器发送更新请求,所述更新请求携带有所述第一视频块的第一空间位置和第一时间位置的信息。
128.可选的,所述空间位置用于指示视频块在所属视频画面中的位置,所述时间位置
用于指示视频块所属的视频帧与参考视频帧之间的间隔。
129.可选的,所述视频块为tile块,所述参考视频帧为所述目标视频帧之前的最近一个i帧,所述实时视频流的编码序列为一个i帧后接多个连续的p帧。
130.可选的,所述处理器执行所述程序时还实现以下步骤:在接收到的实时视频流中检测显示内容存在马赛克的候选视频块;
131.选择出马赛克在对应画面中的占比超过预设比例门限的候选视频块,作为所述第一视频块。
132.可选的,所述处理器执行所述程序时还实现以下步骤:
133.在接收到的实时视频流中检测显示内容存在马赛克的候选视频块;
134.选择出马赛克在对应画面中的占比超过预设比例门限的候选视频块,作为备选视频块;
135.针对每个备选视频块,分别判断在相邻的前一个视频帧中是否存在空间位置相同的其他备选视频块,如果不存在,则将该备选视频块作为第一视频块。
136.可选的,所述处理器执行所述程序时还实现以下步骤:
137.在发送所述更新请求之后,接收服务器根据所述更新请求发送的更新数据,所述更新数据包括有第二视频块编码后的视频数据以及第二视频块的第二空间位置和第二时间位置的信息,其中,所述第二空间位置与所述第一空间位置相同,且所述第二时间位置位于所述第一时间位置之后;
138.对所述更新数据进行解码,得到所述第二视频块的第二空间位置和第二时间位置;
139.判断所述第二时间位置,是否在所述终端当前刷新的视频帧之前:若是,则等待所述第二时间位置到达时,渲染所述第二视频块,否则,保留所述第二视频块,作为解码后续视频帧的参考帧。
140.可理解的,本发明实施例中,所述计算机程序被处理器701执行时可实现上述图2所示的方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
141.在图7中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器701代表的一个或多个处理器和存储器703代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机702可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。针对不同的用户设备,用户接口704还可以是能够外接内接需要设备的接口,连接的设备包括但不限于小键盘、显示器、扬声器、麦克风、操纵杆等。
142.处理器701负责管理总线架构和通常的处理,存储器703可以存储处理器701在执行操作时所使用的数据。
143.需要说明的是,该实施例中的设备是与上述图2所示的方法对应的设备,上述各实施例中的实现方式均适用于该设备的实施例中,也能达到相同的技术效果。该设备中,收发机702与存储器703,以及收发机702与处理器701均可以通过总线接口通讯连接,处理器701的功能也可以由收发机702实现,收发机702的功能也可以由处理器701实现。在此需要说明的是,本发明实施例提供的上述设备,能够实现上述方法实施例所实现的所有方法步骤,且
能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
144.在本发明的一些实施例中,还提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现以下步骤:
145.检测接收到的实时视频流,确定需要更新的第一视频块,其中,所述实时视频流中携带有:视频画面中的各个视频块编码后的视频数据以及每个视频块的空间位置和时间位置的信息;
146.向服务器发送更新请求,所述更新请求携带有所述第一视频块的第一空间位置和第一时间位置的信息。
147.该程序被处理器执行时能实现上述应用于终端侧的视频数据的传输方法中的所有实现方式,且能达到相同的技术效果,为避免重复,此处不再赘述。
148.本发明实施例提供了图8所示的一种服务器,包括:
149.收发机82,用于向终端发送实时视频流,所述实时视频流中携带有:视频画面中的各个视频块编码后的视频数据以及每个视频块的空间位置和时间位置的信息;以及,接收所述终端发送的更新请求,所述更新请求携带有第一视频块的第一空间位置和第一时间位置的信息;
150.处理器81,用于根据所述更新请求,确定需要更新的第二视频块,并向所述终端发送更新数据,所述更新数据包括有所述第二视频块编码后的视频数据以及第二视频块的第二空间位置和第二时间位置的信息,所述第二空间位置与第一空间位置相同,且所述第二时间位置位于所述第一时间位置之后。
151.可选的,所述空间位置用于指示视频块在所属视频画面中的位置,所述时间位置用于指示视频块所属的视频帧与参考视频帧之间的间隔。
152.可选的,所述视频块为tile块,所述参考视频帧为所述目标视频帧之前的最近一个i帧,所述实时视频流的编码序列为一个i帧后接多个连续的p帧。
153.可选的,所述处理器,还用于根据自身与所述终端之间的传输时延、帧率以及所述第一时间位置,计算第二时间位置,以及,根据所述第一空间位置,确定出第二空间位置,所述第二空间位置与第一空间位置相同;
154.根据所述第二时间位置和第二空间位置,确定需要更新的第二视频块。
155.可选的,所述处理器,还用于根据自身与所述终端之间的传输时延、帧率以及所述第一时间位置,计算第二时间位置,以及,根据所述第一空间位置,确定出第二空间位置,所述第二空间位置与第一空间位置相同;根据所述第二时间位置和第二空间位置,确定第三视频块;在传输全部的所述第三视频块,超出服务器与终端之间的当前带宽传输能力的情况下,根据第三视频块的优先级高低顺序,选择出第一数量的第三视频块,作为需要更新的第二视频块,其中,传输第一数量的第三视频块,未超出所述服务器与终端之间的带宽传输能力。
156.可选的,所述处理器,还用于按照以下步骤,确定各个第三视频块的优先级:根据第三视频块的空间位置类型,确定空间权重,所述空间位置类型是根据视频块与其他视频块之间的共同边的数量确定,所述空间权重与所述共同边的数量正相关;根据第三视频块的时间位置,确定时间权重,所述时间权重与所述时间位置正相关;对所述空间权重和时间
权重加权求和,得到第三视频块的优先级。
157.需要说明的是,该实施例中的装置是与上述图3所示的方法对应的设备,上述各实施例中的实现方式均适用于该设备的实施例中,也能达到相同的技术效果。在此需要说明的是,本发明实施例提供的上述设备,能够实现上述方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
158.请参考图9,本发明实施例提供了网络侧设备的一结构示意图,包括:处理器901、收发机902、存储器903和总线接口,其中:
159.在本发明实施例中,网络侧设备还包括:存储在存储器上903并可在处理器901上运行的程序,所述程序被处理器901执行时实现如下步骤:
160.向终端发送实时视频流,所述实时视频流中携带有:视频画面中的各个视频块编码后的视频数据以及每个视频块的空间位置和时间位置的信息;
161.接收所述终端发送的更新请求,所述更新请求携带有第一视频块的第一空间位置和第一时间位置的信息;
162.根据所述更新请求,确定需要更新的第二视频块,并向所述终端发送更新数据,所述更新数据包括有所述第二视频块编码后的视频数据以及第二视频块的第二空间位置和第二时间位置的信息,所述第二空间位置与第一空间位置相同,且所述第二时间位置位于所述第一时间位置之后。
163.可选的,所述空间位置用于指示视频块在所属视频画面中的位置,所述时间位置用于指示视频块所属的视频帧与参考视频帧之间的间隔。
164.可选的,所述视频块为tile块,所述参考视频帧为所述目标视频帧之前的最近一个i帧,所述实时视频流的编码序列为一个i帧后接多个连续的p帧。
165.可选的,可选的,所述处理器执行所述程序时还实现以下步骤:
166.根据自身与所述终端之间的传输时延、帧率以及所述第一时间位置,计算第二时间位置,以及,根据所述第一空间位置,确定出第二空间位置,所述第二空间位置与第一空间位置相同;
167.根据所述第二时间位置和第二空间位置,确定需要更新的第二视频块。
168.可选的,所述处理器执行所述程序时还实现以下步骤:
169.根据自身与所述终端之间的传输时延、帧率以及所述第一时间位置,计算第二时间位置,以及,根据所述第一空间位置,确定出第二空间位置,所述第二空间位置与第一空间位置相同;
170.根据所述第二时间位置和第二空间位置,确定第三视频块;
171.在传输全部的所述第三视频块,超出服务器与终端之间的当前带宽传输能力的情况下,根据第三视频块的优先级高低顺序,选择出第一数量的第三视频块,作为需要更新的第二视频块,其中,传输第一数量的第三视频块,未超出所述服务器与终端之间的带宽传输能力。
172.可选的,所述处理器执行所述程序时还实现以下步骤:
173.按照以下步骤,确定各个第三视频块的优先级:
174.根据第三视频块的空间位置类型,确定空间权重,所述空间位置类型是根据视频
块与其他视频块之间的共同边的数量确定,所述空间权重与所述共同边的数量正相关;
175.根据第三视频块的时间位置,确定时间权重,所述时间权重与所述时间位置正相关;
176.对所述空间权重和时间权重加权求和,得到第三视频块的优先级。
177.可理解的,本发明实施例中,所述计算机程序被处理器901执行时可实现上述图3所示的方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
178.在图9中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器901代表的一个或多个处理器和存储器903代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机902可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。
179.处理器901负责管理总线架构和通常的处理,存储器903可以存储处理器901在执行操作时所使用的数据。
180.需要说明的是,该实施例中的终端是与上述图3所示的方法对应的设备,上述各实施例中的实现方式均适用于该终端的实施例中,也能达到相同的技术效果。该设备中,收发机902与存储器903,以及收发机902与处理器901均可以通过总线接口通讯连接,处理器901的功能也可以由收发机902实现,收发机902的功能也可以由处理器901实现。在此需要说明的是,本发明实施例提供的上述设备,能够实现上述方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
181.在本发明的一些实施例中,还提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现以下步骤:
182.向终端发送实时视频流,所述实时视频流中携带有:视频画面中的各个视频块编码后的视频数据以及每个视频块的空间位置和时间位置的信息;
183.接收所述终端发送的更新请求,所述更新请求携带有第一视频块的第一空间位置和第一时间位置的信息;
184.根据所述更新请求,确定需要更新的第二视频块,并向所述终端发送更新数据,所述更新数据包括有所述第二视频块编码后的视频数据以及第二视频块的第二空间位置和第二时间位置的信息,所述第二空间位置与第一空间位置相同,且所述第二时间位置位于所述第一时间位置之后。
185.该程序被处理器执行时能实现上述应用于服务器侧的视频数据的传输方法中的所有实现方式,且能达到相同的技术效果,为避免重复,此处不再赘述。
186.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
187.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
188.在本技术所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
189.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
190.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
191.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
192.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
再多了解一些

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

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

相关文献