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

调整终端功耗的方法、码率的调整方法及相关设备与流程

2022-06-05 17:08:05 来源:中国专利 TAG:


1.本技术实施例涉及数据处理领域,尤其涉及调整终端功耗的方法、码率的调整方法、调整码率的设备以及存储介质。


背景技术:

2.多媒体虚拟场景技术包括虚拟现实(virtual reality,vr)、增强现实(augmented reality,ar)和混合现实(mixed reality,mr)等技术。多媒体虚拟场景技术主要是在服务器产生视频流,发送给终端,终端对该视频流解码播放,实现虚拟场景在终端处的再现。
3.由于某些多媒体虚拟场景的观影技术分辨率高,码率大。在终端播放视频流时,视频解码和渲染等对终端的处理资源消耗大,功耗高。导致终端在长时间使用的状态下容易出现发热发烫、视频卡顿或电量不足导致关机等现象。目前降低终端功耗的方式,主要是通过检测到用户未使用终端时关闭终端,从而实现功耗的降低。但是,当终端处于使用状态时,仍可能出现上述发热发烫、视频卡顿或电量不足导致关机等现象。
4.这种仅通过检测用户是否使用终端决定是否关闭终端,从而实现功耗降低的方式,功耗降低的程度有限,对终端功耗的调整方式单一。


技术实现要素:

5.本技术实施例提供了一种调整终端功耗的方法,用于在终端处于使用状态时调整终端功耗。
6.本技术实施例第一方面提供了一种调整终端功耗的方法,该方法包括:服务器以第一码率向终端发送视频流。在发送视频流之后,服务器接收来自终端的第一功耗相关信息,第一功耗相关信息用于表示终端的功耗,终端的功耗与视频流的播放相关。服务器根据第一功耗相关信息,确定终端的功耗满足第一预设条件。确定终端的功耗满足第一预设条件之后,服务器以低于第一码率的第二码率向终端发送视频流。
7.在本技术实施例中,服务器以第一码率向终端发送视频流,在终端接收并播放视频流时,服务器接收终端发送的第一功耗相关信息,在服务器根据第一功耗相关信息终端的功耗满足第一预设条件,确定需要调整视频流的码率,以小于第一码率的第二码率向终端发送视频流。由于视频流的码率降低,终端播放视频流产生的功耗就会降低,从而实现对终端功耗的降低。因此可以避免终端在长时间使用的状态下出现的发热发烫、视频卡顿或电量不足导致关机等现象。相比于现有技术只能在终端未被用户使用的状态下降低功耗,实现了终端在使用状态下对终端功耗的降低。
8.结合第一方面,本技术实施例第一方面的第一种实施方式中,第一功耗相关信息包括终端的中央处理器(central processing unit,cpu)占用率,服务器根据第一功耗相关信息确定终端的功耗满足第一预设条件,包括:服务器根据接收到的终端的cpu占用率,确定终端的cpu占用率大于或等于第一预设值。
9.在本技术实施例中,终端的功耗满足第一预设条件,意味着终端处于功耗过高的
状态,需要降低终端的功耗。具体的,在本实施方式中,第一预设条件可以包括终端的cpu占用率大于或等于第一预设值。除了终端的cpu占用率,其他的终端功耗信息也可以满足第一预设条件,例如终端的剩余电量小于或等于第二预设值等,此处不作限定。
10.在本技术实施例中,服务器根据接收到的终端的cpu占用率,确定终端的cpu占用率过高,降低视频流的码率,从而实现对终端cpu占用率的降低。实现了对终端的cpu占用率的调节。
11.结合第一方面或第一方面的第一种实施方式,本技术实施例第一方面的第二种实施方式中,第一功耗相关信息包括终端的cpu占用率,终端可以上报多个第一功耗相关信息,多个第一功耗相关信息表示终端在不同时刻的功耗,服务器根据第一功耗相关信息确定终端的功耗满足第一预设条件,包括:服务器根据接收到的多个不同时刻的cpu占用率,确定终端的cpu占用率在第一时段内的平均值大于或等于第一预设值。
12.在本技术实施例中,根据第一时段内多个cpu占用率的平均值,调整视频流的码率。可以防止因cpu占用率异常波动导致的,对视频流码率的不当调节。例如终端当前的cpu资源足以处理接收到的视频流,但cpu占用率因偶发事件出现瞬间增高,又马上恢复正常。这种情况下并不需要调整对终端的cpu资源的占用,也就不需要调整视频流的码率。根据cpu占用率的平均值调整视频流的码率,可以避免因瞬间增高的cpu占用率导致的,对视频流码率的不当调节。
13.结合第一方面、第一方面的第一种实施方式或第二种实施方式,本技术实施例第一方面的第三种实施方式中,第一功耗相关信息包括终端的剩余电量,服务器根据第一功耗相关信息确定终端的功耗满足第一预设条件,包括:服务器根据接收到的终端的剩余电量,确定终端的剩余电量小于或等于第二预设值。
14.在本技术实施例中,服务器根据接收到的终端的剩余电量,确定终端的剩余电量过低,降低视频流的码率,从而实现根据终端的剩余电量对视频流的调节,以延长终端的使用时间。
15.结合第一方面的第三种实施方式,本技术实施例第一方面的第四种实施方式中,第一功耗相关信息包括终端在第一时刻的剩余电量和第二时刻的剩余电量,第一时刻早于第二时刻,服务器根据第一功耗相关信息确定终端的功耗满足第一预设条件,还包括:服务器确定终端的剩余电量处于不变或下降趋势,即后一时刻的剩余电量的值,大于或等于前一时刻的剩余电量的值,具体的:服务器可以根据接收到的终端的剩余电量,确定终端在第一时刻的剩余电量大于或等于第二时刻的剩余电量。
16.在本技术实施例中,在确定终端剩余电量小于或等于第二预设值的情况下,确定终端的剩余电量是否处于不变或下降趋势,处于不变或下降趋势则表明终端的电量可能正在减小,据此确定需要降低视频流的码率从而降低终端的功耗。因此就能保证在终端处于充电的状态下,还能以高码率,即第一码率接收视频流,保证了终端向用户输出的播放数据的视频质量。
17.结合第一方面、第一方面的第一种实施方式至第四种实施方式中的任一种,本技术实施例第一方面的第五种实施方式中,服务器以低于第一码率的第二码率向终端发送视频流之前,还包括:服务器减小视场(field of view,fov)角度大小。
18.在本技术实施例中,减小fov角度大小,即可减少视频流中所包括的高清数据的
量,从而降低终端对视频流进行解码、渲染等处理时消耗或占用的功耗。
19.结合第一方面、第一方面的第一种实施方式至第五种实施方式中的任一种,本技术实施例第一方面的第六种实施方式中,服务器以低于第一码率的第二码率向终端发送视频流之前,还包括:服务器降低视频流的码率,并根据该码率获取视频流。此处的码率为获取视频流的一个预设值,也称为预设码率。当服务器确定终端功耗过大,可以通过降低预设码率,实现对视频流码率的降低。
20.结合第一方面、第一方面的第一种实施方式至第六种实施方式中的任一种,本技术实施例第一方面的第七种实施方式中,服务器以低于第一码率的第二码率向终端发送视频流之前,还包括:服务器降低峰均比、关键帧(intra picture,i)与参考帧(predictive picture,p)的比值、帧率、分辨率中的至少一项。降低这些参数中的任一项,都可导致视频流码率的减小。
21.结合第一方面、第一方面的第一种实施方式至第七种实施方式中的任一种,本技术实施例第一方面的第八种实施方式中,服务器以低于第一码率的第二码率向终端发送视频流之前,还包括:还包括:服务器增大量化参数(quantitative parameters,qp)或关键帧周期(group of pictures,gop)中的至少一项。增大这些参数中的任一项,都可导致视频流码率的降低。
22.结合第一方面、第一方面的第一种实施方式至第八种实施方式中的任一种,本技术实施例第一方面的第九种实施方式中,服务器接收来自终端的第二功耗相关信息,第二功耗相关信息用于表示终端的功耗。在服务器根据第二功耗相关信息确定终端的功耗满足第二预设条件的情况下,服务器以高于第二码率的第三码率向终端发送视频流。
23.在本技术实施例中,根据第一功耗相关信息降低了视频流的码率,再根据第二功耗相关信息提升视频流的码率。在资源不够时对视频流码率降低之后,实现了当资源回到充足的状态的情况下,即终端的功耗满足第二预设条件的情况下,对视频流码率的提升,从而提升了向用户输出的播放数据的视频质量。
24.结合第一方面的第九种实施方式,本技术实施例第一方面的第十种实施方式中,第二功耗相关信息包括终端的cpu占用率,服务器根据第二功耗相关信息确定终端的功耗满足第二预设条件,包括:服务器根据接收到的终端的cpu占用率,确定终端的cpu占用率小于或等于第三预设值。
25.在本技术实施例中,终端的功耗满足第二预设条件,表示终端不处于功耗过高的状态,可以提升终端的功耗。具体的,在本实施方式中,第二预设条件可以包括终端的cpu占用率小于或等于第三预设值。除了终端的cpu占用率,其他的终端功耗信息也可以满足第二预设条件,例如终端的剩余电量大于或等于第四预设值等,此处不作限定。
26.结合第一方面的第九种实施方式,本技术实施例第一方面的第十一种实施方式中,第二功耗相关信息包括终端的cpu占用率,终端可以上报多个第二功耗相关信息,多个第二功耗相关信息表示终端在不同时刻的功耗,服务器根据第二功耗相关信息确定终端的功耗满足第二预设条件,包括:服务器根据接收到的多个不同时刻的cpu占用率,确定终端的cpu占用率在第二时段内的平均值小于或等于第三预设值。
27.结合第一方面的第九种实施方式,本技术实施例第一方面的第十二种实施方式中,第二功耗相关信息包括终端的剩余电量,服务器根据第二功耗相关信息确定终端的功
耗满足第二预设条件,包括:服务器根据接收到的终端的剩余电量,确定终端的剩余电量大于或等于第四预设值。在本技术实施例中,第四预设值为终端的剩余电量的一个阈值,当终端的剩余电量不低于该阈值时,表示终端的剩余电量不处于过低的状态,可以提升终端的功耗。
28.结合第一方面的第九种实施方式,本技术实施例第一方面的第十三种实施方式中,终端可以发送多个第二功耗相关信息,多个第二功耗相关信息表示终端在不同时刻的剩余电量,服务器根据第二功耗相关信息确定终端的功耗满足第二预设条件,包括:服务器确定终端的剩余电量不再减小,即剩余电量处于不变或上升的趋势。具体的,服务器根据接收到的终端在不同时刻的剩余电量,确定终端在第四时刻的剩余电量大于或等于第三时刻的剩余电量,第三时刻早于第四时刻。
29.在本技术实施例中,当确定终端的剩余电量不再减小时,例如终端处于充电状态,确定终端可以继续播放高码率的视频流,从而提升视频流的码率。可以在剩余电量不减小的情况下,保证终端向用户输出的播放数据的视频质量。
30.结合第一方面的第九种实施方式至第十三种实施方式中的任一种,本技术实施例第一方面的第十四种实施方式中,服务器以高于第二码率的第三码率向终端发送视频流之前,还包括:服务器增大视场fov角度大小。
31.在本技术实施例中,增大fov角度大小,即可增加视频流中所包括的高清数据的量,提升向用户输出的播放数据的视频质量。
32.结合第一方面的第九种实施方式至第十四种实施方式中的任一种,本技术实施例第一方面的第十五种实施方式中,服务器以高于第二码率的第三码率向终端发送视频流之前,还包括:服务器提升视频流的预设码率,并根据该码率获取视频流。此处的码率为获取视频流的一个预设值,也称为预设码率。服务器可以通过增大预设码率,实现对视频流码率的提升。
33.结合第一方面的第九种实施方式至第十五种实施方式中的任一种,本技术实施例第一方面的第十六种实施方式中,服务器以高于第二码率的第三码率向终端发送视频流之前,还包括:服务器增大峰均比、关键帧(intra picture,i)与参考帧(predictive picture,p)的比值、帧率、分辨率中的至少一项。增大这些参数中的任一项,都可导致视频流码率的升高。
34.结合第一方面的第九种实施方式至第十六种实施方式中的任一种,本技术实施例第一方面的第十三种实施方式中,服务器以高于第二码率的第三码率向终端发送视频流之前,还包括:服务器减小量化参数(quantitative parameters,qp)或关键帧周期(group of pictures,gop)中的至少一项。减小这些参数中的任一项,都可导致视频流码率的升高。
35.本技术实施例第二方面提供了一种调整终端功耗的方法,该方法包括:终端以第一码率接收来自服务器的视频流。终端向所述服务器发送第一功耗相关信息,第一功耗相关信息用于表示终端的功耗,终端的功耗与视频流的播放相关。在服务器根据第一功耗相关信息确定终端的功耗满足第一预设条件的情况下,终端以第二码率接收来自服务器的视频流,第二码率低于第一码率。
36.第二方面的有益效果参见第一方面,此处不再赘述。
37.结合第二方面,本技术实施例第二方面的第一种实施方式中,第一功耗相关信息
包括终端的cpu占用率,终端的功耗满足第一预设条件包括:终端的cpu占用率大于或等于第一预设值;或者,终端的cpu占用率在第一时段内的平均值大于或等于第一预设值。
38.结合第二方面,本技术实施例第二方面的第二种实施方式中,第一功耗相关信息包括终端的剩余电量,终端的功耗满足第一预设条件包括:终端的剩余电量小于或等于第二预设值;或者,终端的剩余电量在下降,具体的,终端在第一时刻的剩余电量大于第二时刻的剩余电量,第一时刻早于第二时刻。
39.结合第二方面、第二方面的第一种实施方式至第二种实施方式中的任一种,本技术实施例第二方面的第三种实施方式中,服务器以低于所述第一码率的第二码率向终端发送视频流之后,还包括:终端向服务器发送第二功耗相关信息,第二功耗相关信息用于表示终端的功耗,终端的功耗与视频流的播放相关。在服务器根据第二功耗相关信息确定终端的功耗满足第二预设条件的情况下,终端以第三码率接收来自服务器的视频流,视频流具有第三码率,第三码率高于第一码率。
40.结合第二方面的第三种实施方式,本技术实施例第二方面的第四种实施方式中,第二功耗相关信息包括终端的cpu占用率,第二预设条件包括:终端的cpu占用率小于或等于第三预设值;或者,终端的cpu占用率在第二时段内的平均值小于或等于第三预设值。
41.结合第二方面、第二方面的第一种实施方式至第四种实施方式中的任一种,本技术实施例第二方面的第五种实施方式中,第二功耗相关信息包括终端的剩余电量,第二预设条件包括:终端的剩余电量大于或等于第四预设值;或者,终端在第三时刻的剩余电量小于或等于第四时刻的剩余电量,第三时刻早于第四时刻。
42.本技术实施例还提供了一种码率的调整方法,用于根据网络带宽调整视频流的码率。
43.本技术实施例第三方面提供了一种码率的调整方法,该方法包括:服务器以第一码率向终端发送视频流。服务器接收来自终端的第一带宽信息,第一带宽信息用于表示终端的网络带宽。服务器根据第一带宽信息确定终端的网络带宽满足第三预设条件。服务器以低于第一码率的第二码率向终端发送视频流。
44.在本技术实施例中,在终端接收并播放具有第一码率的视频流时,服务器接收终端发送的第一带宽信息,在服务器根据第一带宽信息确定当前的网络带宽不足以承载视频流的传输时,确定需要调整视频流的码率,以小于第一码率的第二码率向终端发送视频流。由于视频流的码率降低,当前的网络带宽就可以承载当前视频流的传输。因此可以避免网络带宽不足的状态下出现的卡顿、视频流丢包或视频流传输不及时等现象。
45.结合第三方面,本技术实施例第三方面的第一种实施方式中,第一带宽信息包括终端的网络带宽,服务器根据第一带宽信息确定终端的网络带宽满足第三预设条件,包括:服务器根据接收到的终端的网络带宽,确定终端的网络带宽小于或等于第五预设值;或者,服务器根据接收到的终端的网络带宽,确定终端的网络带宽在第三时段内的平均值小于或等于第五预设值。
46.在本技术实施例中,终端的网络带宽满足第三预设条件,表示视频流的传输可能大于终端的网络的承载能力,因此可能需要降低视频流的码率。具体的,在本实施方式中,第三预设条件可以包括终端的网络带宽小于或等于第五预设值。除了终端的网络带宽,其他的带宽信息也可以满足第三预设条件,例如终端的网络带宽在一定时段内的平均值小于
或等于第五预设值等,此处不作限定。
47.在本技术实施例中,根据第三时段内多个网络带宽的平均值,调整视频流的码率。可以防止因网络带宽异常波动导致的,对视频流码率的不当调节。例如网络带宽因偶发事件出现瞬间降低,又马上恢复正常。这种情况下并不需要调整视频流的码率。根据网络带宽的平均值调整视频流的码率,可以避免因瞬间降低的网络带宽导致的,对视频流码率的不当调节。
48.结合第三方面或第三方面的第一种实施方式,本技术实施例第三方面的第二种实施方式中,服务器以低于第一码率的第二码率向终端发送视频流之前,还包括:服务器减小视场(field of view,fov)角度大小;或者服务器降低视频流的码率。此处的码率为获取视频流的一个预设值,也称为预设码率。当服务器确定视频流的码率过大,可以通过降低预设码率,实现对视频流码率的降低。
49.结合第三方面、第三方面的第一种实施方式至第二种实施方式中的任一种,本技术实施例第三方面的第三种实施方式中,服务器以低于第一码率的第二码率向终端发送视频流之前,还包括:服务器降低峰均比、关键帧(intra picture,i)与参考帧(predictive picture,p)的比值、帧率、分辨率中的至少一项。
50.结合第三方面、第三方面的第一种实施方式至第三种实施方式中的任一种,本技术实施例第三方面的第四种实施方式中,服务器以低于第一码率的第二码率向终端发送视频流之前,还包括:服务器增大量化参数(quantitative parameters,qp)或关键帧周期(group of pictures,gop)中的至少一项。
51.结合第三方面、第三方面的第一种实施方式至第四种实施方式中的任一种,本技术实施例第三方面的第五种实施方式中,服务器以低于第一码率的第二码率向终端发送视频流之前,还包括:服务器根据第一带宽信息确定第一目标码率,第一目标码率为第一带宽信息与预设比率的乘积。服务器根据第一目标码率降低视频流的预设码率。
52.在本技术实施例中,根据第一带宽信息降低视频流的码率,从而确定与当前网络最合适的码率。可以避免视频流的码率大于网络带宽导致的,卡顿、视频流丢包或视频流传输不及时等问题。
53.结合第三方面、第三方面的第一种实施方式至第四种实施方式中的任一种,本技术实施例第三方面的第六种实施方式中,服务器可以接收多个第一带宽信息,多个第一带宽信息表示不同时刻终端的带宽信息。服务器以低于第一码率的第二码率向终端发送视频流之前,还包括:服务器根据多个第一带宽信息,确定第四时段内终端的网络带宽的平均值,该平均值称为第一带宽平均值。服务器根据第一带宽平均值确定第一目标码率,第一目标码率为第一带宽平均值与预设比率的乘积。服务器根据第一目标码率降低视频流的预设码率。
54.在本技术实施例中,通过第一带宽平均值来减小网络波动造成的,对视频流码率的过于频繁的调整。
55.结合第三方面、第三方面的第一种实施方式至第六种实施方式中的任一种,本技术实施例第三方面的第七种实施方式中,服务器以低于第一码率的第二码率向终端发送视频流之后,还包括:服务器接收来自终端的第二带宽信息,第二带宽信息用于表示终端的网络带宽。服务器根据第二带宽信息确定第二目标码率,第二目标码率为第二带宽信息与预
设比率的乘积。服务器根据第二目标码率增大视频流的码率,并以高于第二码率的第三码率向终端发送视频流。此处的码率为获取视频流的一个预设值,也称为预设码率。当服务器确定终端的网络带宽可以承载更高码率的视频流,可以通过增大预设码率,实现对视频流码率的提升。
56.在本技术实施例中,第二视频流的码率根据第二带宽信息与预设比率的乘积来确定,可以根据网络带宽的变化精确调整视频流的码率,选取合适的预设比率,即可最大化的利用网络带宽。
57.结合第三方面、第三方面的第一种实施方式至第六种实施方式中的任一种,本技术实施例第三方面的第八种实施方式中,服务器以低于第一码率的第二码率向终端发送视频流之后,还包括:服务器接收来自终端的第二带宽信息,第二带宽信息用于表示终端的网络带宽。服务器可以接收多个第二带宽信息,多个第二带宽信息表示不同时刻终端的带宽信息。服务器根据多个第二带宽信息,确定第五时段内终端的网络带宽的平均值,该平均值称为第二带宽平均值。服务器根据第二带宽平均值确定第二目标码率,第二目标码率为第二带宽平均值与预设比率的乘积。服务器根据第二目标码率增大视频流的预设码率,并以高于第二码率的第三码率向终端发送视频流。
58.本技术实施例第四方面提供了一种码率的调整方法,该方法包括:终端以第一码率接收来自服务器的视频流。终端向服务器发送第一带宽信息,第一带宽信息用于表示终端的网络带宽。在终端的网络带宽满足第三预设条件的情况下,终端以第二码率接收来自服务器的视频流,第二码率低于第一码率。
59.本技术实施例第四方面的有益效果参见第三方面,此处不再赘述。
60.结合第四方面,本技术实施例第四方面的第一种实施方式中,第一带宽信息包括终端的网络带宽,终端的网络带宽满足第三预设条件包括:终端的网络带宽小于或等于第五预设值;或者,终端的网络带宽在第三时段内的平均值小于或等于第五预设值。
61.结合第四方面或第四方面的第一种实施方式,本技术实施例第四方面的第二种实施方式中,终端以第二码率接收来自服务器的视频流之后,还包括:终端向服务器发送第二带宽信息,第二带宽信息用于表示终端的网络带宽;终端以第三码率接收来自服务器的视频流,第三码率高于第二码率。
62.本技术实施例第五方面提供了一种调整码率的设备,该设备包括:处理器和与处理器耦合的存储器。存储器用于存储可执行指令,可执行指令用于指示处理器执行前述第一方面的方法。
63.本技术实施例第六方面提供了一种调整码率的设备,该设备包括:处理器和与处理器耦合的存储器。存储器用于存储可执行指令,可执行指令用于指示处理器执行前述第二方面的方法。
64.本技术实施例第七方面提供了一种调整码率的设备,该设备包括:处理器和与处理器耦合的存储器。存储器用于存储可执行指令,可执行指令用于指示处理器执行前述第三方面的方法。
65.本技术实施例第八方面提供了一种调整码率的设备,该设备包括:处理器和与处理器耦合的存储器。存储器用于存储可执行指令,可执行指令用于指示处理器执行前述第四方面的方法。
66.本技术实施例第九方面提供了一种计算机可读存储介质,该计算机可读存储介质中保存有程序,当所述计算机执行所述程序时,执行前述第一方面或第三方面所述的方法。
67.本技术实施例第十方面提供了一种计算机可读存储介质,该计算机可读存储介质中保存有程序,当所述计算机执行所述程序时,执行前述第二方面或第四方面所述的方法。
68.本技术实施例第十一方面提供了一种计算机程序产品,当该计算机程序产品在计算机上执行时,所述计算机执行前述第一方面或第三方面所述的方法。
69.本技术实施例第十二方面提供了一种计算机程序产品,当该计算机程序产品在计算机上执行时,所述计算机执行前述第二方面或第四方面所述的方法。
附图说明
70.图1为服务器提供视频流的场景示意图;
71.图2为本技术实施例中调整终端功耗的方法一个流程图;
72.图3为本技术实施例中调整终端功耗的方法另一流程图;
73.图4为本技术实施例中调整终端功耗的方法另一流程图;
74.图5为本技术实施例中调整终端功耗的方法另一流程图;
75.图6为本技术实施例中调整终端功耗的方法另一流程图;
76.图7为本技术实施例中调整终端功耗的方法另一流程图;
77.图8为本技术实施例中调整终端功耗的方法另一流程图;
78.图9为本技术实施例中调整终端功耗的方法另一流程图;
79.图10为本技术实施例中调整终端功耗的方法另一流程图;
80.图11为本技术实施例中调整终端功耗的方法另一流程图;
81.图12为本技术实施例中调整终端功耗的方法另一流程图;
82.图13为本技术实施例中调整终端功耗的方法另一流程图;
83.图14为本技术实施例中码率的调整方法一个流程图;
84.图15为本技术实施例中码率的调整方法另一流程图;
85.图16为本技术实施例中码率的调整方法另一流程图;
86.图17为本技术实施例中码率的调整方法另一流程图;
87.图18为本技术实施例中服务器一个结构示意图;
88.图19为本技术实施例中终端一个结构示意图。
具体实施方式
89.本技术实施例提供了一种调整终端功耗的方法,在终端处于使用状态时调整终端功耗。
90.在本技术实施例中,终端的功耗表示终端功率或能量的消耗,是对接收到的数据进行处理所需要的或产生的资源,具体可以包括剩余电量或cpu占用率等。
91.请参阅图1,图1为服务器提供向终端提供视频流的场景示意图。基于该场景,终端可将来自服务器的视频流处理后向用户播放。
92.接下来对本技术实施例中出现的一些数据进行说明。片源数据为服务器获取的数据,视频流为服务器向终端发送的数据,播放数据为终端向用户输出的数据。
93.具体的,服务器获取片源数据,根据片源数据获取视频流,再向终端发送视频流。终端接收到视频流后对该视频流进行解码等处理,得到用于向用户输出的播放数据。
94.在本技术实施例中,终端也称为用户设备(user equipment,ue)。
95.在本技术实施例中,除了解码,服务器还可以有其他对视频流的处理方法,例如渲染等,具体此处不做限定。
96.终端处理视频流会产生功耗,为了防止终端功耗过高,在一个示例中,调整终端功耗的方式为检测终端的使用状态,当检测到未被用户使用时关闭终端。但该方法只能实现在终端处于未使用状态时降低终端功耗,当终端处于使用状态时,无法调整终端功耗。本技术实施例将提供一种数据处理方法,实现终端处于使用状态时,对终端功耗的调整。
97.本技术实施例中调整终端功耗的方式为:终端向服务器上报第一功耗相关信息,第一功耗相关信息用于表示终端的功耗,终端的功耗与终端对视频流的播放相关。服务器根据第一功耗相关信息确定并实现对码率大小的调整,码率为发送给终端的视频流的码率,使得调整后的视频流与调整前的视频流的码率不同。通过对视频流码率的调整实现对终端功耗的调整。
98.在本技术实施例中,服务器根据第一功耗相关信息确定终端的功耗信息,当终端功耗信息满足第一预设条件时,触发调整视频流的码率。
99.第一功耗相关信息用于表示终端的功耗。除了以cpu占用率为代表的,表示终端处理视频流所消耗资源的信息,第一功耗相关信息还可以是其他信息,此处不作限定。例如,第一功耗相关信息还可以是表示终端当前可用于处理视频流的资源,该资源可以是剩余电量。除了剩余电量,该资源还可以是网络带宽等其他资源,此处不作限定。接下来将对不同的第一功耗相关信息分别举例说明。
100.一、第一功耗相关信息为cpu占用率。
101.在本技术实施例中,可以通过调整处理参数,实现对视频流码率的调整。
102.在本技术实施例中,服务器在接收第一状态信息前发送的视频流称为第一视频流,服务器在调整处理参数后获取的视频流称为第二视频流。第一视频流的码率大于第二视频流的码率,也就是说,本技术实施例通过对处理参数的调整,实现对视频流码率的调整,将视频流的码率调小,从而降低终端的功耗。
103.在本技术实施例中,处理参数可分为初始处理参数和第一目标处理参数,初始处理参数为接收第一功耗相关信息前的处理参数,第一目标处理参数为调小后的处理参数。根据初始处理参数可获取第一视频流,根据第一目标处理参数可获取第二视频流。
104.在本技术实施例中,处理参数可以是视场(field of view,fov)角度大小。除了fov角度大小,处理参数还有多种可能,例如、预设码率、峰均比、关键帧i与参考帧p的比值、帧率、分辨率、量化参数(quantization parameter,qp)或关键帧周期(group of pictures,gop)等,具体此处不作限定。接下来将对不同的处理参数进行举例说明。
105.在本技术实施例中,作为处理参数的码率,为获取视频流的一个预设值,也称为预设码率。服务器可以通过调整预设码率,实现对视频流码率的调整。
106.1、处理参数为fov角度大小和预设码率。
107.请参阅图2,图2为本技术实施例中调整终端功耗的方法的一个流程图。当第一状态信息为cpu占用率,调整的处理参数为fov角度大小和预设码率时,本技术实施例提供的
一种调整终端功耗的方法的流程包括:
108.201、服务器获取片源数据。
109.在服务器接收到来自终端的播放指令的情况下,服务器可以获取片源数据。播放指令表示终端需要获取用于播放的视频流。
110.在本技术实施例中,获取片源数据还可以由其他条件触发,例如,触发条件还可以是服务器接收到来自终端的数据标识等,数据标识用于指示片源数据,具体此处不作限定。
111.202、服务器生成第一视频流,并向终端发送第一视频流。
112.服务器根据初始处理参数,对片源数据进行编码处理,以获取第一视频流。
113.具体的,可以采用h264标准进行编码,除了h264,也可以采用h265等其他标准进行编码,此处不作限定。
114.在本技术实施例中,初始处理参数的具体数值是:fov角度大小为120
×
120,预设码率为30mbps。
115.值得注意的是,初始处理参数的具体数值仅是对初始处理参数的举例,并不造成对初始处理参数的类型和数值的限定。初始处理参数也可以是其他类型和数值,例如,处理参数的类型为帧率,具体数值为每秒120帧等,此处不做限定。
116.在本技术实施例中,除了编码,服务器还可以有其他获取视频流的处理方法,例如采样等,此处不做限定。
117.在本技术实施例中,初始处理参数是服务器预设的处理参数,初始处理参数也可以有其他来源,具体此处不作限定。例如,初始处理参数可以是上一次的播放任务中,服务器获取视频流所依据的处理参数。
118.获取第一视频流后,服务器向终端发送第一视频流。
119.具体的,服务器可以通过box协议封装第一视频流后,通过基于http的动态自适应流(dynamic adaptive streaming over http,dash)协议进行封包。在本技术实施例中,除了box协议,还可以通过其他协议封装视频流,例如传输流(transport stream,ts)协议等,此处不作限定。除了dash协议,还可以通过其他协议进行封包,例如超文本传输协议实时流媒体(http live streaming,hls)协议等,此处不作限定。
120.具体的,服务器可以通过以超文本传输协议(hypertext transfer protocol,http)为代表的网络协议发送视频流。除了http,服务器也可通过其他协议发送,例如快速udp网络连接(quick udp internet connection,quic)协议等,此处不作限定。
121.203、终端解码第一视频流,并向用户输出播放数据。
122.接收到第一视频流后,终端对第一视频流解码得到播放数据,并向用户输出播放数据。
123.输出播放数据具体可以是将播放数据显示在终端的屏幕上,屏幕用于用户接收来自终端的播放数据。终端还可以通过其他方式输出播放数据,例如将播放数据传输至用于向用户显示播放数据的模块或单元中,具体此处不作限定。
124.在本技术实施例中,除了解码,终端还可以通过其他方式处理第一视频流以获取播放数据,例如渲染等,具体此处不作限定。
125.204、终端向服务器上报cpu占用率。
126.处理接收到的视频流,会占用终端的cpu运行资源。此时终端获取cpu的占用率,
cpu占用率表示终端处理接收到的视频流所消耗的资源。在本技术实施例中,此时上报的cpu占用率,即为第一功耗相关信息。
127.具体的,终端可以采集多个cpu的平均占用率,当单个cpu占用过多时,可协调其他cpu核的处理资源来分担该cpu核的工作量,采集平均值可保证对多个cpu核的处理资源的合理使用,防止过度调节。
128.具体的,终端可以周期上报第一功耗相关信息,例如每5秒上报一次。除了周期上报,也可以通过其他方式上报,例如满足某上报条件时上报等,此处不作限定。
129.具体的,5秒仅是对上报周期的举例,上报周期还可以是10秒或12秒等,此处不作限定。
130.具体的,上报条件可以是终端确定cpu占用率超过40%,也可以是其他形式的条件,例如终端确定剩余电量小于20%等,此处不作限定。
131.具体的,此处上报的cpu占用率,可能是终端处理第一视频流所产生的cpu占用率。也可能是处理在第一视频流之前或之后接收的视频流所产生的cpu占用率,只要处理的视频流是根据初始处理参数获取的即可,此处不做限定。对于终端来说,这些视频流的共同点体现在码率相同。
132.具体的,终端可以通过以http为代表的网络协议上报第一功耗相关信息。除了http,终端也可通过其他协议上报,例如传输控制协议(transmission control protocol,tcp)等,此处不作限定。
133.205、服务器根据终端上报的cpu占用率确定终端的功耗满足第一预设条件。
134.接收到终端上报的cpu占用率后,服务器可以根据cpu占用率确定终端的功耗,并在确定cpu占用率满足第一预设条件时,调整处理参数,以获取码率小于第一视频流的视频流。
135.在本技术实施例中,终端的功耗满足第一预设条件,表示终端处于功耗过高的状态,需要降低终端的功耗。具体的,在本实施例中,第一预设条件可以包括终端的cpu占用率大于或等于第一预设值。除了终端的cpu占用率,其他的终端功耗信息也可以满足第一预设条件,例如终端的剩余电量小于或等于第二预设值等,此处不作限定。
136.具体的,在本实施例中,由于第一功耗相关信息为cpu占用率,服务器可以根据接收到的cpu占用率确定终端的cpu占用率,并在确定cpu占用率大于或等于40%时开始计时。在从计时开始的30秒内记录终端的cpu占用率。当服务器确定30秒内的平均值大于或等于40%时,调整处理参数。也就是说,本实施例中的终端功耗为终端的cpu占用率。
137.在本技术实施例中,终端的cpu占用率在30秒内的平均值大于或等于40%,40%称为第一预设值。在本技术实施例中,第一预设值为终端的cpu占用率的一个阈值,当终端的cpu占用率超过该阈值时,表示终端的cpu占用率过高,需要降低终端的cpu占用率。除了40%,第一预设值也可以是其他数值,例如30%、50%、60%、70%、80%或90%等,此处不作限定。
138.在本技术实施例中,终端的cpu占用率在30秒内的平均值大于或等于40%,是第一预设条件。终端功耗满足第一预设条件表示当前终端用于处理视频流的资源不足以处理当前的视频流,或依据当前的资源处理当前的视频流,效果不好,此时调整处理参数以减小视频流的码率大小。除了cpu占用率在30秒内的平均值大于或等于40%,第一预设条件还可以
是其他的条件,例如终端的剩余电量小于某一阈值且处于下降趋势等,具体此处不作限定。
139.206、服务器减小fov角度大小和预设码率,得到第二视频流。
140.服务器确定终端功耗满足第一预设条件时,确定终端功耗过高,需要调小终端的功耗。
141.具体的,服务器通过调小视频流的码率实现对终端功耗的降低,并通过调整处理参数实现对视频流码率的调整。
142.具体的,服务器减小fov角度大小,同时降低预设码率,并根据调整后的fov角度大小和预设码率处理片源数据,得到第二视频流。第二视频流的码率小于第一视频流的码率。处理方式参见步骤202,此处不再赘述。
143.减小后的fov角度和降低后的预设码率,称为第一目标处理参数。
144.具体的,可以将fov角度大小定为90
×
*90,将预设码率定为20mbps。即本实施例中,第一目标处理参数为90
×
90的fov角度大小和20mbps的预设码率。服务器对vr球形高清图片进行90
×
90的截取,再将截取后的图片根据20mbps的预设码率进行编码,获取第二视频流。
145.由于第一目标处理参数的fov角度大小,小于初始处理参数的fov角度大小,第二视频流所包含的高清数据就少于第一视频流。且第一目标处理参数的预设码率,小于初始处理参数的预设码率,则第二视频流的码率小于第一视频流的码率。
146.在本技术实施例中,除了fov角度大小和预设码率,还可以调整其他的处理参数来调整视频流的码率,例如峰均比、关键帧(intra picture,i)与参考帧(predictive picture,p)的比值、帧率、分辨率、量化参数(quantization parameter,qp)或关键帧周期(group of pictures,gop)等,此处不作限定。p帧也称为前后预测编码帧,此处不作限定。例如,当初始处理参数为每秒120帧的帧率时,步骤206可以为服务器减小帧率,第一目标处理参数可以是每秒100帧的帧率,此处不做限定。
147.207、服务器向终端发送第二视频流。
148.服务器获取第二视频流后,就可以向终端发送第二视频流。
149.对于第二视频流的编码、封装和传输方式,参见步骤202,此处不再赘述。
150.208、终端解码第二视频流,并向用户输出播放数据。
151.终端解码第二视频流并向用户输出播放数据的过程,参见步骤203中终端解码第一视频流并向用户输出播放数据的过程,此处不再赘述。
152.由于第二视频流的fov角度大小比第一视频流的小,第二视频流比第一视频流包含更少的高清数据。终端对第二视频流进行渲染处理所产生的功耗,小于对第一视频流进行渲染处理所产生的功耗。并且,由于第二视频流的码率小于第一视频流,终端处理第二视频流产生的功耗小于处理第一视频流产生的功耗。
153.本技术实施例通过服务器与终端交互,在服务器侧减小向终端发送的视频流的码率,从而降低终端处理视频流的功耗。
154.2、处理参数为fov角度大小:
155.接下来说明第一状态信息为终端的cpu占用率。调整的处理参数为fov角度大小时,本技术实施例提供的一种数据处理方法。请参阅图3,图3为本技术实施例提供的调整终端功耗的方法的一个流程示意图,该调整终端功耗的方法的流程包括:
156.301-305。
157.步骤301至步骤305参见图2所示实施例的步骤201至步骤205,此处不再赘述。
158.306、服务器减小fov角度大小,得到第二视频流。
159.当满足第一预设条件时,服务器可以通过减小fov角度大小,降低视频流的码率。在本实施例中,减小后的fov角度,称为第一目标处理参数。
160.具体的,可以将fov角度大小定为90
×
90。即本实施例中,第一目标处理参数为90
×
90的fov角度大小。服务器对vr球形高清图片进行90
×
90的截取,再经过相应的处理,获取第二视频流。第二视频流的码率小于第一视频流的码率。
161.由于第一目标处理参数的fov角度大小,小于初始处理参数的fov角度大小,第二视频流所包含的高清数据就少于第一视频流。
162.在本技术实施例中,除了fov角度大小,还可以调整其他的处理参数来调整视频流的码率,例如预设码率、峰均比、关键帧i与参考帧p的比值、帧率、分辨率、量化参数qp或关键帧周期gop等,此处不作限定。
163.对第一预设条件的说明,参见图2所实施示例的步骤205,此处不再赘述。
164.307、服务器向终端发送第二视频流。
165.服务器获取第二视频流后,就向终端发送第二视频流。
166.对于第二视频流的编码、封装和传输方式,参见图2所示实施例的步骤202,此处不再赘述。
167.308、终端解码第二视频流,并向用户输出播放数据。
168.该步骤参见图2所示实施例的步骤208,此处不再赘述。
169.由于第二视频流的fov角度大小比第一视频流的小,第二视频流比第一视频流包含更少的高清数据。终端对第二视频流进行渲染处理所产生的功耗,小于对第一视频流进行渲染处理所产生的功耗。并且,由于第二视频流的fov角度大小小于第一视频流,在预设码率相同的情况下,第二视频流的码率也会小于第一视频流的码率。
170.3、处理参数为预设码率:
171.接下来说明第一功耗相关信息为终端的cpu占用率。调整的处理参数为预设码率时,本技术实施例提供的一种数据处理方法。请参阅图4,图4为本技术实施例提供的调整终端功耗的方法的一个流程示意图,该调整终端功耗的方法的流程包括:
172.401-405。
173.步骤401至步骤405参见图2所示实施例的步骤201至步骤205,此处不再赘述。
174.406、服务器减小预设码率,得到第二视频流。
175.当满足第一预设条件时,服务器可以通过减小预设码率,降低视频流的码率。在本实施例中,减小后的预设码率,称为第一目标处理参数。
176.具体的,可以将预设码率定为20mbps。即本实施例中,第一目标处理参数为20mbps的预设码率。服务器对片源数据以20mbps的预设码率进行编码,获取第二视频流。
177.由于第一目标处理参数的预设码率,小于初始处理参数的预设码率,第二视频流的码率就小于第一视频流的码率。
178.在本技术实施例中,除了fov角度大小,还可以调整其他的处理参数来调整视频流的码率,例如fov角度大小、峰均比、关键帧i与参考帧p的比值、帧率、分辨率、量化参数qp或
关键帧周期gop等,此处不作限定。
179.对第一预设条件的说明,参见图2所实施示例的步骤205,此处不再赘述。
180.407、服务器向终端发送第二视频流。
181.服务器获取第二视频流后,就向终端发送第二视频流。
182.对于第二视频流的编码、封装和传输方式,参见图2所示实施例的步骤202,此处不再赘述。
183.408、终端解码第二视频流,并向用户输出播放数据。
184.该步骤参见图2所示实施例的步骤208,此处不再赘述。
185.由于第二视频流的预设码率比第一视频流的小,第二视频流的码率小于第一视频流的码率。终端处理第二视频流比处理第一视频流消耗,所需或产生的功耗更少。
186.在本技术实施例中,除了能实现对终端功耗的降低,也能实现在资源允许的情况下,提升视频流的码率,以提升播放数据的视频质量。
187.4、处理参数为fov角度大小和预设码率,降功耗后提升视频质量。
188.请参阅图5,图5为本技术实施例中调整终端功耗的方法的一个流程图。基于图2的流程,即第一功耗相关信息为cpu占用率,调整的处理参数为fov角度大小和预设码率时,本技术实施例提供的一种调整终端功耗的方法的流程包括:
189.501-508。
190.步骤501至步骤508参见图2所实施示例的步骤201至步骤208,此处不再赘述。
191.509、终端向服务器上报cpu占用率。
192.处理接收到的视频流,会占用终端的cpu运行资源。此时终端获取cpu的占用率,cpu占用率表示终端处理接收到的视频流所消耗的资源。在本技术实施例中,此时上报的cpu占用率,即为第二功耗相关信息。
193.具体的,终端可以采集多个cpu的平均占用率,当单个cpu占用过多时,可协调其他cpu核的处理资源来分担该cpu核的工作量,采集平均值可保证对多个cpu核的处理资源的合理使用,防止过度调节。
194.具体的,终端可以周期上报第二功耗相关信息,例如每5秒上报一次。除了周期上报,也可以通过其他方式上报,例如满足某上报条件时上报等,此处不作限定。
195.具体的,5秒仅是对上报周期的举例,上报周期还可以是10秒或12秒等,此处不作限定。
196.具体的,上报条件可以是终端确定cpu占用率小于40%,也可以是其他形式的条件,例如终端确定剩余电量大于20%等,此处不作限定。
197.具体的,此处上报的cpu占用率,可能是终端处理第二视频流所产生的cpu占用率。也可能是处理在第二视频流之前或之后接收的视频流所产生的cpu占用率,只要处理的视频流是根据第一目标处理参数获取的即可,此处不做限定。对于终端来说,这些视频流的共同点体现在码率相同。
198.具体的,终端可以通过以http为代表的网络协议上报第二功耗相关信息。除了http,终端也可通过其他协议上报,例如tcp等,此处不作限定。
199.510、服务器根据终端上报的cpu占用率确定终端的功耗满足第二预设条件。
200.接收到终端上报的cpu占用率后,服务器可以根据cpu占用率确定终端的功耗,并
在确定cpu占用率满足第二预设条件时,调整处理参数,以获取码率大于第二视频流的视频流。
201.在本技术实施例中,终端的功耗满足第二预设条件,表示终端不处于功耗过高的状态,可以提升终端的功耗。具体的,在本实施例中,第二预设条件可以包括终端的cpu占用率小于或等于第三预设值。除了终端的cpu占用率,其他的终端功耗信息也可以满足第二预设条件,例如终端的剩余电量大于或等于第二预设值等,此处不作限定。
202.具体的,在本实施例中,由于第二功耗相关信息为cpu占用率,服务器可以根据接收到的cpu占用率确定终端的cpu占用率。当距离初始处理参数调整为第一目标处理参数超过一分钟,且确定cpu占用率小于或等于40%时开始计时。在从计时开始的30秒内记录终端的cpu占用率。当服务器确定30秒内的平均值小于或等于40%时,调整处理参数。也就是说,本实施例中的终端功耗为终端的cpu占用率。
203.在本技术实施例中,终端的cpu占用率在30秒内的平均值小于或等于40%,40%称为第三预设值。在本技术实施例中,第三预设值为终端的cpu占用率的一个阈值,当终端的cpu占用率小于该阈值时,表示终端的cpu处于未被过度占用的状态,可以提升终端的cpu占用率。除了40%,第三预设值也可以是其他数值,例如30%、50%、60%、70%、80%或90%等,此处不作限定。
204.在本技术实施例中,计时的30秒仅是对计时时间的举例,并不造成对计时时间的限定。
205.在本技术实施例中,终端的cpu占用率在30秒内的平均值小于或等于40%,是第二预设条件。当满足第二预设条件时调整处理参数以增大视频流的码率大小。除了cpu占用率在30秒内的平均值小于或等于40%,第二预设条件还可以是其他的条件,例如终端的剩余电量大于某一阈值或处于上升趋势等,具体此处不作限定。
206.511、服务器增大fov角度大小和预设码率,得到第三视频流。
207.服务器确定30秒内cpu占用率的平均值小于或等于40%时,确定终端的资源足以支持对更高码率的视频流的播放,即可以提升播放数据的视频质量。
208.具体的,服务器通过提升fov角度大小和预设码率提升视频流的码率,从而提升播放数据的视频质量。
209.具体的,服务器增大fov角度大小,同时增大预设码率,并根据调整后的fov角度大小和预设码率处理片源数据,得到第三视频流。第三视频流的码率大于第二视频流的码率。处理方式参见图2所示实施例的步骤202,此处不再赘述。
210.增大后的fov角度和预设码率,称为第二目标处理参数。
211.具体的,可以将fov角度大小定为120
×
120,将预设码率定为30mbps。即本实施例中,第二目标处理参数为120
×
120的fov角度大小和30mbps的预设码率。服务器对vr球形高清图片进行120
×
120的截取,再将截取后的图片根据30mbps的预设码率进行编码,获取第三视频流。
212.由于第二目标处理参数的fov角度大小,大于第一目标处理参数的fov角度大小,第三视频流所包含的高清数据就多于第二视频流。且第二目标处理参数的预设码率,大于第一目标处理参数的预设码率,则第三视频流的码率大于第二视频流的码率,且根据第三视频流获取的播放数据,比根据第二视频流获取的播放数据,具有更好的视频质量。
213.在本技术实施例中,除了fov角度大小和预设码率,还可以调整其他的处理参数来调整播放数据的质量,例如峰均比、关键帧i与参考帧p的比值、帧率、分辨率、量化参数qp或关键帧周期gop等,此处不作限定。例如,当第一目标处理参数为每秒100帧的帧率时,步骤511可以为服务器增大帧率,第二目标处理参数可以是每秒120帧的帧率,此处不做限定。
214.512、服务器向终端发送第三视频流。
215.服务器获取第三视频流后,就可以向终端发送第三视频流。
216.对于第三视频流的编码、封装和传输方式,参见图2所示实施例的步骤202,此处不再赘述。
217.513、终端解码第三视频流,并向用户输出播放数据。
218.终端解码第三视频流并向用户输出播放数据的过程,参见步骤203中终端解码第一视频流并向用户输出播放数据的过程,此处不再赘述。
219.由于第三视频流的fov角度大小比第二视频流的大,第三视频流比第二视频流包含更多的高清数据。并且第三视频流的预设码率比第二视频流的大,第三视频流的码率就大于第二视频流的码率。
220.由于第三视频流具有比第二视频流更大的fov角度大小和预设码率,因此对第三视频流处理得到的播放数据,比对第二视频流处理得到的播放数据,具有更好的视频质量。
221.在本技术实施例中,不仅实现了在资源不足时对终端功耗的降低,还实现了当资源充足时,对播放数据的视频质量的提升。
222.5、处理参数为fov角度大小,降功耗后提升视频质量。
223.请参阅图6,图6为本技术实施例中调整终端功耗的方法的一个流程图。基于图3的流程,即第一功耗相关信息为cpu占用率,调整的处理参数为fov角度大小时,本技术实施例提供的一种调整终端功耗的方法的流程包括:
224.601-608。
225.步骤601至步骤608参见图3所实施示例的步骤301至步骤308,此处不再赘述。
226.609、终端向服务器上报cpu占用率。
227.610、服务器根据终端上报的cpu占用率确定终端的功耗满足第二预设条件。
228.步骤609-610参见图5所示实施例的步骤509-510,此处不再赘述。
229.611、服务器增大fov角度大小,得到第三视频流。
230.服务器确定30秒内cpu占用率的平均值小于或等于40%时,确定终端的资源足以支持对更高码率的视频流的播放,即可以提升播放数据的视频质量。
231.具体的,服务器通过提升fov角度大小提升视频流的码率,从而提升播放数据的视频质量。
232.具体的,服务器增大fov角度大小,并根据调整后的fov角度大小处理片源数据,得到第三视频流。第三视频流的码率大于第二视频流的码率。处理方式参见图2所示实施例的步骤202,此处不再赘述。
233.增大后的fov角度,称为第二目标处理参数。
234.具体的,可以将fov角度大小定为120
×
120。即本实施例中,第二目标处理参数为120
×
120的fov角度大小。服务器对vr球形高清图片进行120
×
120的截取,再对截取后的图片进行相应的处理,获取第三视频流。
235.由于第二目标处理参数的fov角度大小,大于第一目标处理参数的fov角度大小,第三视频流所包含的高清数据就多于第二视频流。即使第三视频流和第二视频流是依据相同的预设码率获取的,第三视频流的码率也会大于第二视频流的码率,且根据第三视频流获取的播放数据,比根据第二视频流获取的播放数据,具有更好的视频质量。
236.在本技术实施例中,除了fov角度大小,还可以调整其他的处理参数来调整播放数据的质量,例如预设码率、峰均比、关键帧i与参考帧p的比值、帧率、分辨率、量化参数qp或关键帧周期gop等,此处不作限定。例如,当第一目标处理参数为每秒100帧的帧率时,步骤611可以为服务器增大帧率,第二目标处理参数可以是每秒120帧的帧率,此处不做限定。
237.612、服务器向终端发送第三视频流。
238.613、终端解码第三视频流,并向用户输出播放数据。
239.步骤612-613参见图5所示实施例的步骤512-513,此处不再赘述。
240.由于第三视频流的fov角度大小比第二视频流的大,第三视频流比第二视频流包含更多的高清数据,且第三视频流与第二视频流的其他处理参数并没有变化,因此第三视频流的码率大于第二视频流的码率。
241.由于第三视频流具有比第二视频流更大的fov角度大小,因此对第三视频流处理得到的播放数据,比对第二视频流处理得到的播放数据,具有更好的视频质量。
242.在本技术实施例中,不仅实现了在资源不足时对终端功耗的降低,还实现了当资源充足时,对播放数据的视频质量的提升。
243.6、处理参数为预设码率,降功耗后提升视频质量。
244.请参阅图7,图7为本技术实施例中调整终端功耗的方法的一个流程图。基于图4的流程,即第一状态信息为cpu占用率,调整的处理参数为预设码率时,本技术实施例提供的一种调整终端功耗的方法的流程包括:
245.701-708。
246.步骤701至步骤708参见图4所实施示例的步骤401至步骤408,此处不再赘述。
247.709、终端向服务器上报cpu占用率。
248.710、服务器根据终端上报的cpu占用率确定终端的功耗满足第二预设条件。
249.步骤709-710参见图5所实施示例的步骤509-510,此处不再赘述。
250.711、服务器增大预设码率,得到第三视频流。
251.服务器确定30秒内cpu占用率的平均值小于或等于40%时,确定终端的资源足以支持对更高码率的视频流的播放,即可以提升播放数据的视频质量。
252.具体的,服务器通过增大预设码率提升视频流的码率,从而提升播放数据的视频质量。
253.具体的,服务器增大预设码率,并根据调整后的预设码率处理片源数据,得到第三视频流。第三视频流的码率大于第二视频流的码率。处理方式参见图2所示实施例的步骤202,此处不再赘述。
254.增大后的预设码率,称为第二目标处理参数。
255.具体的,可以将预设码率定为30mbps。即本实施例中,第二目标处理参数为30mbps的预设码率。服务器根据30mbps的预设码率对片源数据进行编码,获取第三视频流。
256.由于第二目标处理参数的预设码率,大于第一目标处理参数的预设码率,第三视
频流的码率就大于第二视频流。根据第三视频流获取的播放数据,比根据第二视频流获取的播放数据,具有更好的视频质量。
257.在本技术实施例中,除了fov角度大小,还可以调整其他的处理参数来调整播放数据的质量,例如fov角度大小、峰均比、关键帧i与参考帧p的比值、帧率、分辨率、量化参数qp或关键帧周期gop等,此处不作限定。例如,当第一目标处理参数为每秒100帧的帧率时,步骤711可以为服务器增大帧率,第二目标处理参数可以是每秒120帧的帧率,此处不做限定。
258.712、服务器向终端发送第三视频流。
259.713、终端解码第三视频流,并向用户输出播放数据。
260.步骤712-713参见图5所示实施例的步骤512-513,此处不再赘述。
261.由于第三视频流的预设码率比第二视频流的大,因此第三视频流的码率大于第二视频流的码率。
262.由于第三视频流具有比第二视频流更大的预设码率,因此对第三视频流处理得到的播放数据,比对第二视频流处理得到的播放数据,具有更好的视频质量。
263.在本技术实施例中,不仅实现了在资源不足时对终端功耗的降低,还实现了当资源充足时,对播放数据的视频质量的提升。
264.接下来将对第一状态信息为剩余电量时,本技术实施例提供的数据处理方法进行说明:
265.二、状态信息为剩余电量:
266.1、处理参数为fov角度大小和预设码率:
267.请参阅图8,图8为本技术实施例中的一种调整终端功耗的方法的流程图。当第一功耗相关信息为剩余电量,处理参数为fov角度大小和预设码率时,本技术实施例提供的一种调整终端功耗的方法的流程包括:
268.801、服务器获取片源数据。
269.802、服务器生成第一视频流,并向终端发送第一视频流。
270.803、终端解码第一视频流,并向用户输出播放数据。
271.步骤801-803参见图2所示实施例的步骤201-203,此处不再赘述。
272.804、终端向服务器上报剩余电量。
273.处理接收到的视频流,会消耗终端的电量。此时终端获取终端的剩余电量,剩余电量表示终端用于处理接收到的视频流的资源。在本技术实施例中,此时上报的剩余电量,即为第一功耗相关信息。
274.具体的,终端可以周期上报第一功耗相关信息,例如每5秒上报一次。除了周期上报,也可以通过其他方式上报,例如满足某上报条件时上报等,此处不作限定。
275.具体的,5秒仅是对上报周期的举例,上报周期还可以是10秒或12秒等,此处不作限定。
276.可选的,上报条件可以是终端确定剩余电量小于或等于20%,也可以是其他形式的条件,例如终端确定cpu占用率大于或等于40%等,此处不作限定。
277.具体的,终端可以通过以http为代表的网络协议上报第一功耗相关信息。除了http,终端也可通过其他协议上报,例如tcp等,此处不作限定。
278.805、服务器根据终端上报的剩余电量确定终端的功耗满足第一预设条件。
279.接收到终端上报的剩余电量后,服务器可以根据剩余电量确定终端的功耗,并在确定剩余电量满足第一预设条件时,调整处理参数,以获取码率小于第一视频流的视频流。
280.具体的,在本实施例中,由于第一功耗相关信息为剩余电量,服务器可以根据接收到的剩余电量确定终端的剩余电量,并在确定剩余电量小或等于20%时开始计时。在从计时开始的2分钟后,每隔1分钟记录终端的剩余电量。第一时刻早于第二时刻,当服务器确定第二时刻的剩余电量小于第一时刻的剩余电量时,即电量在下降时,调整处理参数。也就是说,本实施例中的终端功耗为终端的剩余电量。
281.在本技术实施例中,终端的剩余电量小于或等于20%,20%称为第二预设值。在本技术实施例中,第二预设值为终端的剩余电量的一个阈值,当终端的剩余电量等于或低于该阈值时,表示终端的剩余电量过低,需要降低终端的功耗。除了20%,第二预设值也可以是其他数值,例如10%、15%、25%或30%等,此处不作限定。
282.在本技术实施例中,计时的2分钟和每相隔一分钟记录,2分钟与1分钟都是对时间的举例,并不造成对计时时间和相隔时间的限定。
283.在本技术实施例中,终端的剩余电量小于或等于20%且正在下降,是第一预设条件。终端功耗满足第一预设条件表示当前终端用于处理视频流的资源不足以处理当前的视频流,或依据当前的资源处理当前的视频流,效果不好,此时调整处理参数以减小视频流的码率大小。除了剩余电量小于或等于20%且正在下降,第一预设条件还可以是其他的条件,例如终端的cpu占用率大于或等于某一阈值等,具体此处不作限定。
284.806、服务器减小fov角度大小和预设码率,得到第二视频流。
285.807、服务器向终端发送第二视频流。
286.808、终端解码第二视频流,并向用户输出播放数据。
287.806-808参见图2所示实施例的步骤206-208,此处不再赘述。
288.由于第二视频流的fov角度大小比第一视频流的小,第二视频流比第一视频流包含更少的高清数据。终端对第二视频流进行渲染处理所产生的功耗,小于对第一视频流进行渲染处理所产生的功耗。并且,由于第二视频流的码率小于第一视频流,终端处理第二视频流产生的功耗小于处理第一视频流产生的功耗。在剩余电量相同的情况下,终端处理第二视频流比处理第一视频流,可以保持终端运行更长的时间,从而保证观影时间。
289.本技术实施例通过服务器与终端交互,在服务器侧减小向终端发送的视频流的码率,从而降低终端处理视频流的功耗。
290.2、处理参数为fov角度大小:
291.请参阅图9,图9为本技术实施例中的一种调整终端功耗的方法的流程图。当第一功耗相关信息为剩余电量,处理参数为fov角度大小时,本技术实施例提供的一种调整终端功耗的方法的流程包括:
292.901-905。
293.步骤901-905参见图8所示实施例的步骤801-805,此处不再赘述。
294.906、服务器减小fov角度大小,得到第二视频流。
295.907、服务器向终端发送第二视频流。
296.908、终端解码第二视频流,并向用户输出播放数据。
297.步骤906-908参见图3所示实施例的步骤306-308,此处不再赘述。
298.由于第二视频流的fov角度大小比第一视频流的小,第二视频流比第一视频流包含更少的高清数据。终端对第二视频流进行渲染处理所产生的功耗,小于对第一视频流进行渲染处理所产生的功耗。并且,由于第二视频流的fov角度大小小于第一视频流,在预设码率相同的情况下,第二视频流的码率也会小于第一视频流的码率。终端处理第二视频流比处理第一视频流消耗,所需或产生的功耗更少。
299.3、处理参数为预设码率:
300.请参阅图10,图10为本技术实施例中的一种调整终端功耗的方法的流程图。当第一功耗相关信息为剩余电量,处理参数为预设码率时,本技术实施例提供的一种调整终端功耗的方法的流程包括:
301.1001-1005。
302.步骤1001-1005参见图8所示实施例的步骤801-805,此处不再赘述。
303.1006、服务器减小预设码率,得到第二视频流。
304.1007、服务器向终端发送第二视频流。
305.1008、终端解码第二视频流,并向用户输出播放数据。
306.步骤1006-1008参见图4所示实施例的步骤406-408,此处不再赘述。
307.由于第二视频流的预设码率比第一视频流的小,第二视频流的码率小于第一视频流的码率。终端处理第二视频流比处理第一视频流消耗,所需或产生的功耗更少。
308.在本技术实施例中,除了能实现对终端功耗的降低,也能实现在资源允许的情况下,提升视频流的码率,以提升播放数据的视频质量。
309.4、处理参数为fov角度大小和预设码率,降功耗后提升视频质量。
310.请参阅图11,图11为本技术实施例中调整终端功耗的方法的一个流程图。基于图8的流程,即第一功耗相关信息为cpu占用率,调整的处理参数为fov角度大小和预设码率时,本技术实施例提供的一种调整终端功耗的方法的流程包括:
311.1101-1108。
312.步骤1101至步骤1108参见图8所实施示例的步骤801至步骤808,此处不再赘述。
313.1109、终端向服务器上报剩余电量。
314.处理接收到的视频流,会消耗终端的电量。此时终端获取终端的剩余电量,剩余电量表示终端用于处理接收到的视频流的资源。在本技术实施例中,此时上报的剩余电量,即为第二功耗相关信息。
315.具体的,终端可以周期上报第二功耗相关信息,例如每5秒上报一次。除了周期上报,也可以通过其他方式上报,例如满足某上报条件时上报等,此处不作限定。
316.具体的,5秒仅是对上报周期的举例,上报周期还可以是10秒或12秒等,此处不作限定。
317.可选的,上报条件可以是终端确定剩余电量大于或等于20%,也可以是其他形式的条件,例如终端确定cpu占用率小于或等于40%等,此处不作限定。
318.具体的,终端可以通过以http为代表的网络协议上报第二功耗相关信息。除了http,终端也可通过其他协议上报,例如tcp等,此处不作限定。
319.1110、服务器根据终端上报的剩余电量确定终端的功耗满足第二预设条件。
320.接收到终端上报的剩余电量后,服务器可以根据剩余电量确定终端的功耗,并在
确定剩余电量满足第二预设条件时,调整处理参数,以获取码率大于第二视频流的视频流。
321.具体的,在本实施例中,由于第二功耗相关信息为剩余电量,服务器可以根据接收到的剩余电量确定终端的剩余电量。当确定剩余电量大于或等于20%时,调整处理参数。也就是说,本实施例中的终端功耗为终端的剩余电量。
322.在本技术实施例中,终端的剩余电量大于或等于20%,20%称为第四预设值。在本技术实施例中,第四预设值为终端的剩余电量的一个阈值,当终端的剩余电量不低于该阈值时,表示终端的剩余电量不处于过低的状态,可以提升终端的功耗。除了20%,第四预设值也可以是其他数值,例如10%、15%、25%或30%等,此处不作限定。
323.在本技术实施例中,终端的剩余电量大于或等于20%,是第二预设条件。当满足第二预设条件时调整处理参数以增大视频流的码率大小。除了剩余电量大于或等于20%,第二预设条件还可以是其他的条件,例如终端的剩余电量不变或处于上升趋势等,具体此处不作限定。
324.1111、服务器增大fov角度大小和预设码率,得到第三视频流。
325.1112、服务器向终端发送第三视频流。
326.1113、终端解码第三视频流,并向用户输出播放数据。
327.步骤1111-1113参见图5所示实施例的步骤511-513,此处不再赘述。
328.由于第三视频流的fov角度大小比第二视频流的大,第三视频流比第二视频流包含更多的高清数据。并且第三视频流的预设码率比第二视频流的大,第三视频流的码率就大于第二视频流的码率。
329.由于第三视频流具有比第二视频流更大的fov角度大小和预设码率,因此对第三视频流处理得到的播放数据,比对第二视频流处理得到的播放数据,具有更好的视频质量。
330.在本技术实施例中,不仅实现了在资源不足时对终端功耗的降低,还实现了当资源充足时,对播放数据的视频质量的提升。
331.5、处理参数为fov角度大小,降功耗后提升视频质量。
332.请参阅图12,图12为本技术实施例中调整终端功耗的方法的一个流程图。基于图9的流程,即第一功耗相关信息为cpu占用率,调整的处理参数为fov角度大小时,本技术实施例提供的一种调整终端功耗的方法的流程包括:
333.1201-1208。
334.步骤1101至步骤1108参见图9所实施示例的步骤901至步骤908,此处不再赘述。
335.1209、终端向服务器上报剩余电量。
336.1210、服务器根据终端上报的剩余电量确定终端的功耗满足第二预设条件。
337.步骤1209-1210参见图11所示实施例的步骤1109-1110,此处不再赘述。
338.1211、服务器增大fov角度大小,得到第三视频流。
339.1212、服务器向终端发送第三视频流。
340.1213、终端解码第三视频流,并向用户输出播放数据。
341.步骤1211-1213参见图6所示实施例的步骤611-613,此处不再赘述。
342.由于第三视频流具有比第二视频流更大的fov角度大小,因此对第三视频流处理得到的播放数据,比对第二视频流处理得到的播放数据,具有更好的视频质量。
343.在本技术实施例中,不仅实现了在资源不足时对终端功耗的降低,还实现了当资
源充足时,对播放数据的视频质量的提升。
344.6、处理参数为预设码率,降功耗后提升视频质量。
345.请参阅图13,图13为本技术实施例中调整终端功耗的方法的一个流程图。基于图10的流程,即第一状态信息为cpu占用率,调整的处理参数为预设码率时,本技术实施例提供的一种调整终端功耗的方法的流程包括:
346.1301-1308。
347.步骤1301至步骤1308参见图10所实施示例的步骤1001至步骤1008,此处不再赘述。
348.1309、终端向服务器上报剩余电量。
349.1310、服务器根据终端上报的剩余电量确定终端的功耗满足第二预设条件。
350.步骤1309-1310参见图11所示实施例的步骤1109-1110,此处不再赘述。
351.1311、服务器增大预设码率,得到第三视频流。
352.1312、服务器向终端发送第三视频流。
353.1313、终端解码第三视频流,并向用户输出播放数据。
354.步骤1311-1313参见图7所示实施例的步骤711-713,此处不再赘述。
355.由于第三视频流具有比第二视频流更大的预设码率,因此对第三视频流处理得到的播放数据,比对第二视频流处理得到的播放数据,具有更好的视频质量。
356.在本技术实施例中,不仅实现了在资源不足时对终端功耗的降低,还实现了当资源充足时,对播放数据的视频质量的提升。
357.三、根据网络带宽调整视频流的码率:
358.视频流需要占用网络带宽实现从服务器向终端的传输,当网络带宽不足以承载视频流的传输时,会出现卡顿等现象。本技术实施例提供了一种数据处理方法,根据网络带宽调整视频流的码率,从而避免视频流的码率过大导致的卡顿现象。
359.在本技术实施例中,服务器根据带宽信息确定网络带宽,当网络带宽满足第三预设条件时,触发调整视频流的码率。第一带宽信息用于表示网络带宽。
360.在本技术实施例中,终端的网络带宽满足第三预设条件,表示视频流的传输可能大于终端的网络的承载能力,因此可能需要降低视频流的码率。具体的,在本技术实施例中,第三预设条件可以包括终端的网络带宽小于或等于第五预设值。除了终端的网络带宽,其他的带宽信息也可以满足第三预设条件,例如终端的网络带宽在一定时段内的平均值小于或等于第五预设值等,此处不作限定。
361.1、处理参数为fov角度大小和预设码率:
362.请参阅图14,图14为本技术实施例中的一种码率的调整方法的流程图。当处理参数为fov角度大小和预设码率时,本技术实施例提供的一种码率的调整方法的流程包括:
363.1401、服务器获取片源数据。
364.1402、服务器生成第一视频流,并向终端发送第一视频流。
365.1403、终端解码第一视频流,并向用户输出播放数据。
366.步骤1401-1403参见图2所实施示例的步骤201-203,此处不再赘述。
367.1404、终端向服务器上报网络带宽。
368.传输视频流将会占用网络带宽,此时终端获取终端的网络带宽,终端的网络带宽
表示终端的网络资源。在本技术实施例中,此时上报的网络带宽,即为第一带宽信息。
369.具体的,终端可以周期上报第一带宽信息,例如每5秒上报一次。除了周期上报,也可以通过其他方式上报,例如满足某上报条件时上报等,此处不作限定。
370.具体的,5秒仅是对上报周期的举例,上报周期还可以是10秒或12秒等,此处不作限定。
371.具体的,上报条件可以是终端确定网络带宽小于或等于30mbps,也可以是其他形式的条件,例如终端确定网络带宽波动较大等,此处不作限定。
372.具体的,终端可以通过以http为代表的网络协议上报第一带宽信息。除了http,终端也可通过其他协议上报,例如tcp等,此处不作限定。
373.1405、服务器根据终端上报的网络带宽确定终端的网络带宽满足第三预设条件。
374.接收到终端上报的网络带宽后,服务器可以根据接收到的网络带宽确定终端的网络带宽,并在确定终端的网络带宽满足第三预设条件时,调整处理参数,以获取码率小于第一视频流的视频流。
375.具体的,在本实施例中,服务器可以根据接收到的网络带宽确定终端的网络带宽,并在确定终端的网络带宽小于或等于30mbps记录终端的网络带宽。当服务器确定10秒内的网络带宽平均值小于或等于30mbps时,调整处理参数。
376.在本技术实施例中,终端的网络带宽在10秒内的平均值小于或等于30mbps,30mbps称为第五预设值。除了30mbps,第五预设值也可以是其他数值,例如20mbps、25mbps、35mbps或40mbps等,此处不作限定。
377.在本技术实施例中,终端的网络带宽在10秒内的平均值小于或等于30mbps,是第三预设条件。终端功耗满足第三预设条件表示当前终端当前的网络资源不足以传输当前的视频流,或依据当前的网络资源传输当前的视频流,效果不好,此时调整处理参数以减小视频流的码率大小。除了终端的网络带宽在10秒内的平均值小于或等于30mbps,第三预设条件还可以是其他的条件,例如终端的网络带宽小于或等于30mbps等,具体此处不作限定。
378.在本技术实施例中,终端的网络带宽在10秒内的平均值小于或等于30mbps,或网络带宽小于或等于30mbps,30mbps称为第五预设值。在本技术实施例中,第五预设值为终端的网络带宽的一个阈值,当终端的网络带宽不高于该阈值时,表示终端的网络带宽处于过低的状态,可能需要降低视频流的码率。
379.1406、服务器减小fov角度大小和预设码率,得到第二视频流。
380.服务器确定终端功耗满足第三预设条件时,确定终端的网络带宽不足以承担当前视频流的传输,需要调小视频流的码率以匹配当前的网络。
381.具体的,服务器减小fov角度大小,同时降低预设码率,并根据调整后的fov角度大小和预设码率处理片源数据,得到第二视频流。第二视频流的码率小于第一视频流的码率。处理方式参见图2所实施示例的步骤202,此处不再赘述。
382.减小后的fov角度和降低后的预设码率,称为第一目标处理参数。
383.具体的,可以将fov角度大小定为90
×
90,将预设码率定为第一目标码率,第一目标码率的大小等于第一带宽信息与预设比率的乘积。即本实施例中,第一目标处理参数为90
×
90的fov角度大小和大小为第一目标码率的预设码率。服务器对vr球形高清图片进行90
×
90的截取,再将截取后的图片根据第一目标码率进行编码,获取第二视频流。
384.或者,也可以取第一带宽信息在10秒内的平均值,将该平均值与预设比率的乘积,作为第一目标码率。
385.在本技术实施例中,第一带宽信息10秒内的平均值,10秒称为第四时段,除了10秒,第四时段也可以具有其他时长,例如5秒、8秒、12秒或15秒等,此处不作限定。
386.在本技术实施例中,第一带宽信息在第四时段内的平均值,称为第一带宽平均值。
387.具体的,预设比率可以为0至100%内的任一数值,例如50%、40%或60&,此处不作限定。
388.具体的,第一目标码率也可以为一固定值,例如20mbps、25mbps或30mbps等,此处不作限定。
389.由于第一目标处理参数的fov角度大小,小于初始处理参数的fov角度大小,第二视频流所包含的高清数据就少于第一视频流。且第一目标处理参数的预设码率,小于初始处理参数的预设码率,则第二视频流的码率小于第一视频流的码率。
390.在本技术实施例中,除了fov角度大小和预设码率,还可以调整其他的处理参数来调整视频流的码率,例如峰均比、关键帧(intra picture,i)与参考帧(predictive picture,p)的比值、帧率、分辨率、量化参数(quantization parameter,qp)或关键帧周期(group of pictures,gop)等,此处不作限定。p帧也称为前后预测编码帧,此处不作限定。例如,当初始处理参数为每秒120帧的帧率时,步骤1406可以为服务器减小帧率,第一目标处理参数可以是每秒100帧的帧率,此处不做限定。
391.1407、服务器向终端发送第二视频流。
392.1408、终端解码第二视频流,并向用户输出播放数据。
393.步骤1407-1408参见图2所示实施例的步骤207-208,此处不再赘述。
394.由于第二视频流的fov角度大小比第一视频流的小,第二视频流比第一视频流包含更少的高清数据。且第二视频流的预设码率小于第一视频流,第二视频流比第一视频流具有更小的码率。
395.本技术实施例通过服务器与终端交互,在服务器侧减小向终端发送的视频流的码率,从而实现对当前网络带宽的适配。
396.2、处理参数为fov角度大小:
397.请参阅图15,图15为本技术实施例中的一种码率的调整方法的流程图。当处理参数为fov角度大小时,本技术实施例提供的一种码率的调整方法的流程包括:
398.1501-1505。
399.步骤1501-1505参见图14所实施示例的步骤1401-1405,此处不再赘述。
400.1506、服务器减小fov角度大小,得到第二视频流。
401.当满足第三预设条件时,服务器可以通过减小fov角度大小,降低视频流的码率。在本实施例中,减小后的fov角度,称为第一目标处理参数。
402.具体的,可以将fov角度大小定为90
×
90。即本实施例中,第一目标处理参数为90
×
90的fov角度大小。服务器对vr球形高清图片进行90
×
90的截取,再经过相应的处理,获取第二视频流。第二视频流的码率小于第一视频流的码率。
403.在本技术实施例中,除了fov角度大小,还可以调整其他的处理参数来调整视频流的码率,例如预设码率、峰均比、关键帧i与参考帧p的比值、帧率、分辨率、量化参数qp或关
键帧周期gop等,此处不作限定。
404.对第一预设条件的说明,参见图2所实施示例的步骤205,此处不再赘述。
405.1507、服务器向终端发送第二视频流。
406.1508、终端解码第二视频流,并向用户输出播放数据。
407.步骤1507-1508参见图2所示实施例的步骤207-208,此处不再赘述。
408.由于第二视频流的fov角度大小比第一视频流的小,第二视频流比第一视频流包含更少的高清数据。在其他条件相同的情况下,第二视频流的码率会小于第一视频流的码率。
409.3、处理参数为预设码率:
410.请参阅图16,图16为本技术实施例中的一种码率的调整方法的流程图。当处理参数为预设码率时,本技术实施例提供的一种码率的调整方法的流程包括:
411.1601-1605。
412.步骤1601-1605参见图14所实施示例的步骤1401-1405,此处不再赘述。
413.1606、服务器减小预设码率,得到第二视频流。
414.当满足第一预设条件时,服务器可以通过减小预设码率,降低视频流的码率。在本实施例中,减小后的预设码率,称为第一目标处理参数。
415.具体的,可以将预设码率定为第一目标码率,第一目标码率的大小等于第一带宽信息与预设比率的乘积。即本实施例中,第一目标处理参数为大小为第一目标码率的预设码率。服务器根据第一目标码率对片源数据进行编码,获取第二视频流。
416.或者,也可以取第一带宽信息在10秒内的平均值,将该平均值与预设比率的乘积,作为第一目标码率。
417.在本技术实施例中,第一带宽信息10秒内的平均值,10秒称为第四时段,除了10秒,第四时段也可以具有其他时长,例如5秒、8秒、12秒或15秒等,此处不作限定。
418.在本技术实施例中,第一带宽信息在第四时段内的平均值,称为第一带宽平均值。
419.具体的,预设比率可以为0至100%内的任一数值,例如50%、40%或60&,此处不作限定。
420.具体的,第一目标码率也可以为一固定值,例如20mbps、25mbps或30mbps等,此处不作限定。
421.由于第一目标处理参数的预设码率,小于初始处理参数的预设码率,第二视频流的码率就小于第一视频流的码率。
422.在本技术实施例中,除了fov角度大小,还可以调整其他的处理参数来调整视频流的码率,例如fov角度大小、峰均比、关键帧i与参考帧p的比值、帧率、分辨率、量化参数qp或关键帧周期gop等,此处不作限定。
423.1607、服务器向终端发送第二视频流。
424.1608、终端解码第二视频流,并向用户输出播放数据。
425.步骤1607-1608参见图2所示实施例的步骤207-208,此处不再赘述。
426.由于第二视频流的预设码率比第一视频流的小,在其他条件相同的情况下,第二视频流的码率会小于第一视频流的码率。
427.4、将视频流的码率与网络带宽实时匹配:
428.请参阅图17,图17为本技术实施例中的一种码率的调整方法的流程图,本技术实施例提供的一种码率的调整方法的流程包括:
429.1701-1705。
430.步骤1701-1705参见图14所示实施例的步骤1401-1405,此处不再赘述。
431.1706、服务器根据第一带宽信息得到第二视频流。
432.服务器可以根据第一带宽信息确定第一目标码率,第一目标码率的大小等于第一带宽信息与预设比率的乘积。
433.当第一目标码率小于或等于30mbps时,以第一目标码率作为预设码率;当第一目标码率大于30mbps时,以30mbps作为预设码率。服务器根据该预设码率对片源数据进行编码,获取第二视频流。
434.在本技术实施例中,30mbps作为确定预设码率的一个阈值。当第一目标码率超过该阈值时,预设码率即为该阈值;当第一目标码率低于该阈值时,预设码率即为第一目标码率。30mbps仅是对该阈值的举例,并不造成限定没该阈值也可以是25mbps、35mbps等,此处不做限定。
435.或者,也可以取第一带宽信息在10秒内的平均值,将该平均值与预设比率的乘积,作为第一目标码率。
436.在本技术实施例中,第一带宽信息10秒内的平均值,10秒称为第四时段,除了10秒,第四时段也可以具有其他时长,例如5秒、8秒、12秒或15秒等,此处不作限定。
437.在本技术实施例中,第一带宽信息在第四时段内的平均值,称为第一带宽平均值。
438.具体的,预设比率可以为0至100%内的任一数值,例如50%、40%或60&,此处不作限定。
439.1707、服务器向终端发送第二视频流。
440.1708、终端解码第二视频流,并向用户输出播放数据。
441.步骤1407-1408参见图2所示实施例的步骤207-208,此处不再赘述。
442.1709、终端向服务器上报第二带宽信息。
443.终端获取终端的网络带宽,终端的网络带宽表示终端的网络资源。在本技术实施例中,此时上报的网络带宽,即为第二带宽信息。
444.具体的,终端可以周期上报第二带宽信息,例如每5秒上报一次。除了周期上报,也可以通过其他方式上报,例如满足某上报条件时上报等,此处不作限定。
445.具体的,5秒仅是对上报周期的举例,上报周期还可以是10秒或12秒等,此处不作限定。
446.具体的,终端可以通过以http为代表的网络协议上报第二带宽信息。除了http,终端也可通过其他协议上报,例如tcp等,此处不作限定。
447.1710、终端根据第二带宽信息,确定第二目标码率。
448.服务器可以根据第二带宽信息确定第二目标码率,第二目标码率的大小等于第二带宽信息与预设比率的乘积。
449.或者,也可以取第二带宽信息在10秒内的平均值,将该平均值与预设比率的乘积,作为第二目标码率。
450.在本技术实施例中,第二带宽信息10秒内的平均值,10秒称为第五时段,除了10
秒,第五时段也可以具有其他时长,例如5秒、8秒、12秒或15秒等,此处不作限定。
451.在本技术实施例中,第二带宽信息在第五时段内的平均值,称为第二带宽平均值。
452.具体的,预设比率可以为0至100%内的任一数值,例如50%、40%或60&,此处不作限定。
453.1711、终端根据第二目标码率,得到第三视频流。
454.当第二目标码率小于或等于30mbps时,以第二目标码率作为预设码率;当第二目标码率大于30mbps时,以30mbps作为预设码率。服务器根据该预设码率对片源数据进行编码,获取第二视频流。
455.在本技术实施例中,30mbps作为确定预设码率的一个阈值。当第二目标码率超过该阈值时,预设码率即为该阈值;当第二目标码率低于该阈值时,预设码率即为第二目标码率。30mbps仅是对该阈值的举例,并不造成限定没该阈值也可以是25mbps、35mbps等,此处不做限定。
456.1712、服务器向终端发送第三视频流。
457.1713、终端解码第三视频流,并向用户输出播放数据。
458.步骤1712-1713参见图5所述实施例的步骤512-513,此处不再赘述。
459.在本技术实施例中,目标码率可以根据变化的网络带宽,实时调整视频流的带宽,实现了视频流码率大小对网络带宽的实时匹配,在保证视频流传输不卡顿的前期下充分利用了网络带宽。
460.下面对本技术实施例中的服务器进行描述。图18是本技术实施例提供的一种服务器结构示意图。该服务器1800可以包括一个或一个以上中央处理器(central processing units,cpu)1801和存储器1805。该存储器1805中存储有一个或一个以上的应用程序或数据。
461.其中,存储器1805可以是易失性存储或持久存储。存储在存储器1805的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1801可以设置为与存储器1805通信,在服务器1800上执行存储器1805中的一系列指令操作。
462.服务器1800还可以包括一个或一个以上电源1802,一个或一个以上有线或无线网络接口1803,一个或一个以上收发器接口1804,和/或,一个或一个以上操作系统,例如windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm等。
463.该服务器1800可以执行前述图2至图17所示实施例中服务器所执行的操作,具体此处不再赘述。
464.下面对本技术实施例中的终端进行描述。图19是本技术实施例提供的一种终端结构示意图。该终端1900可以包括一个或一个以上中央处理器(central processing units,cpu)1601和存储器1905。该存储器1905中存储有一个或一个以上的应用程序或数据。
465.其中,存储器1905可以是易失性存储或持久存储。存储在存储器1905的程序可以包括一个或一个以上模块,每个模块可以包括对终端中的一系列指令操作。更进一步地,中央处理器1901可以设置为与存储器1905通信,在服务器1900上执行存储器1905中的一系列指令操作。
466.终端1900还可以包括一个或一个以上电源1902,一个或一个以上有线或无线网络
接口1903,一个或一个以上收发器接口1904,和/或,一个或一个以上操作系统,例如windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm等。
467.该终端1900可以执行前述图2至图17所示实施例中终端所执行的操作,具体此处不再赘述。
468.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
469.在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
470.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
471.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
472.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
再多了解一些

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

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

相关文献