一种云手机延时的处理方法、装置及介质与流程

文档序号:29440341发布日期:2022-03-30 10:02阅读:205来源:国知局
一种云手机延时的处理方法、装置及介质与流程

1.本技术涉及云手机技术领域,特别是涉及一种云手机延时的处理方法,装置及介质。


背景技术:

2.随着5g网络、编解码技术以及软硬件技术的不断发展,云手机等创新业务系统逐步进入大众的视野。基于端云一体化技术,云手机通过云网、安全、ai等数字化能力,弹性适配用户个性化需求,释放手机本身硬件资源,随需加载海量云上应用的手机形态。基于5g网络,云手机可以将复杂的计算和大容量数据保存在云端上。用户可以通过视频流的方式远程实时控制云手机,通过gpu硬件加速,最终实现安卓原生应用及手游的云端运行,让中低配手机用户也能流畅运行大型游戏,增加游戏覆盖的用户范围,提供云游戏基础设施和行业解决方案,赋予游戏全新的互动体验方式。
3.但是由于客户端的手机芯片一般在解码时设置了缓冲区,导致从云端传输过来的视频流需要经过缓冲区进行缓冲,等待缓冲区填满后才能进行投递解码上屏,不同的手机缓冲区大小设置不一致,一帧到n帧不等,这导致视频在客户端的显示会出现一到n帧的延时,严重影响用户的游戏体验感。
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.图1为本发明实施例所提供的云手机延时的处理方法的流程图;
34.图2为本发明实施例所提供的ippp视频编码的流程图;
35.图3为本发明实施例所提供的云手机延时的处理装置的结构图;
36.图4为本技术另一实施例提供的云手机延时的处理装置的结构图。
具体实施方式
37.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本技术保护范围。
38.本技术的核心是提供一种云手机延时的处理方法,装置及介质,通过在视频流的真实帧之间插入伪造空帧,以便于填满终端的缓冲区,使得视频流的真实帧能立马解码上屏,将视频呈现在客户端,避免真实帧在缓冲区缓冲导致的视频呈现延时,给用户带来不好的体验。
39.为了使本技术领域的人员更好地理解本技术方案,下面结合附图和具体实施方式对本技术作进一步的详细说明。
40.随着互联网,5g网络、编解码技术以及软硬件技术的不断发展,云手机逐渐出现在大众视野,基于5g网络,云手机可以将复杂的计算和大容量数据保存在云端上,用户可以通过视频流的方式远程实时控制云手机,并通过gpu硬件加速,最终实现安卓原生应用及手游的云端运行,让中低配手机用户也能流畅运行大型游戏,增加游戏覆盖的用户范围,提供云游戏基础设施和行业解决方案,赋予游戏全新的互动体验方式。
41.在实际的应用中,由于客户端的手机芯片对视频进行解码时设置了缓冲区,因此,云端将视频流传输过来时,需要先经过缓冲区,等待缓冲区填满以后才能对视频流进行解码上屏,最终呈现视频在客户端。经过缓冲区缓冲会导致严重的延时现象,给用户的游戏带来极不好的体验。
42.为了解决云手机客户端视频延时的问题,本发明提出了一种云手机延时的处理方法,通过伪造于终端缓冲区能存储的视频帧数量相同的伪造空帧,并将伪造空帧插在真实帧之间,进而填满整个缓冲区,使得视频流的视频帧能立刻解码上屏呈现视频在客户端,避免了缓冲给用户带来的不好体验感。
43.图1为本发明实施例所提供的云手机延时的处理方法的流程图,如图1所示,该方法包括:
44.s10:获取终端缓冲区的大小及视频流。
45.s11:对视频流的各视频帧进行编号以标志各视频帧为真实帧。
46.s12:依据终端缓冲区的大小确定待插入的伪造空帧数量。
47.s13:根据各真实帧编号和伪造空帧数量对真实帧插入伪造空帧,以便于填满终端缓冲区。
48.在具体实施例中,终端获取终端缓冲区的大小以及视频流,通过步骤s10获得视频流后,对视频流的各视频帧进行编号,该编号用于标志视频流真实帧。需要说明的是,对视频的编号可以用阿拉伯数字或罗马数字等,对于真实帧的编号方式本发明不作限定。在获取到终端缓冲区的大小后,依据缓冲区的大小确定待插入的伪造空帧,事实上,缓冲区一般可以存储一帧到n帧不等,其中,n为大于等于2的自然数。而伪造的空帧数量与终端缓冲区能存储帧的总数相等,例如,缓冲区能存储3帧,则需要伪造3帧空帧,若缓冲区能存储5帧,则需要伪造5帧空帧。需要注意的是,在步骤s10获取到视频流和终端缓冲区大小后,执行步骤s11和步骤s12不分先后顺序,可以先执行步骤s11,也可以先执行步骤s12,当然,步骤s11
和步骤s12也可以同时执行,对此本发明不作限定。
49.在确定需要伪造的空帧数量后,在视频流的相邻两个真实帧之间插入相对应的伪造空帧,可以理解的是,为了保证真实帧不受缓冲区影响,能够直接解码上屏,在真实帧之间插入与缓冲区能存储帧最大值相同数量的伪造空帧,使得伪造空帧填满整个缓冲区,将真实帧送至解码器立即进行解码,进而使得客户端呈现视频时不会出现延时的现象。
50.一般云手机系统采用标准的ippp视频编码结构进行视频编码,图2为本发明实施例所提供的ippp视频编码的流程图,如图2所示,每一个p帧都参考前面的i帧或者p帧,在这种编码结构基础上,如果中间有一帧缺失,会导致后面帧无法正常解码。为了使缓冲区能够识别出伪造空帧,还要能够保证不打乱真实帧原有的参考关系,则在构造伪造空帧时,依据相邻两个真实帧中前一个真实帧的属性信息进行构造,其中,属性信息包括标志每各帧的起始地址和各真实帧的头信息。构造伪造空帧时,伪造空帧的起始地址与真实帧的起始地址相同,而伪造空帧的头信息和真实帧的头信息不同,以确保不打乱真实帧的参考关系。需要注意的是,为了不增加解码器的解码压力,解码器不需要对伪造空帧进行解码,因此伪造空帧不需要存储视频数据内容。此外,还需要注意的是,伪造的空帧均为p帧。
51.在相邻真实帧之间插入伪造空帧以终端的缓冲区填满后,终端可以对真实帧进行解码,进而使得客户端呈现的视频没有延时的现象。在实施中,当真实帧进入缓冲区时,立即伪造与缓冲区大小对应数量的伪造空帧插入,使得伪造空帧将真实帧顶出缓冲区,由此,真实帧不会在缓冲区进行缓冲,直接进行解码和渲染,并呈现于终端。
52.本发明实施例所提供的云手机延时的处理方法,包括获取终端缓冲区的大小,同时获取视频流,依据缓冲区的大小确定待插入的伪造空帧数量,并对视频流的各视频帧进行编号以标志各视频帧为真实帧,根据确定的伪造空帧数量对真实帧插入伪造空帧,以便于填满终端缓冲区,进而使终端对真实帧进行解码上屏,以便于终端呈现视频内容。由此可见,本发明提供的技术方案,通过在视频流的各真实帧中插入伪造空帧,以便于占满终端的缓冲区,进而使终端对视频流进行解码上屏以呈现视频内容,避免视频流经过缓冲区进行缓冲,等待缓冲区填满后才能进行投递解码上屏带来的终端显示严重延时,提高用户体验感。
53.在具体实施中,为了使真实帧不在缓冲区进行缓冲,避免视频在客户端呈现出现延时,则需要将伪造空帧插入相邻真实帧之间以填满缓冲区。缓冲区的大小不同,需要伪造的空帧数量也不同,即缓冲区的存储帧的数量决定了伪造空帧的数量,缓冲区可以存储一帧或者多帧,当缓冲区可以存储1帧时,则需要伪造1帧空帧,若缓冲区可以存储3帧时,则需要伪造3帧空帧,由此可知,伪造空帧的数量等于缓冲区能够存储的帧总数。
54.可以理解的是,当伪造空帧数量等于缓冲区存储帧的总数时,当真实帧进入缓冲区时,立即插入空帧,将真实帧送至解码器进行解码,实现了真实帧不在缓冲区进行缓冲,进而使得视频在终端呈现没有延时的现象。
55.本发明实施例提供的云手机延时的处理方法,将真实帧和伪造空帧一起送入缓冲区以填满缓冲区,进而将真实帧立即送至解码器进行解码并上屏,极大优化真实帧因滞留在缓冲区延迟解码上屏而带来延迟感,提高用户体验感。
56.在上述实施例的基础上,依据缓冲区大小确定需要伪造的空帧数量后,将伪造空帧插入相邻真实帧之间,例如,缓冲区能存储3帧视频帧时,则构造3帧伪造空帧,并在每相
邻两个真实帧中间均插入新构造的3帧伪造空帧,以便于填满缓冲区,立即将真实帧送至解码器进行解码,避免真实帧在缓冲区滞留导致的延时现象。
57.本发明实施例提供的云手机延时的处理方法,通过在视频流的各真实帧中插入伪造空帧,以便于占满终端的缓冲区将真实帧送至解码器,进而使终端对视频流进行解码上屏以呈现视频内容,避免视频流经过缓冲区进行缓冲,等待缓冲区填满后才能进行投递解码上屏带来的终端显示严重延时,提高用户体验感。
58.在具体实施中,为了不增加解码器的解码压力,同时不打乱真实帧之间的参考关系,则构造的伪造空帧需要依据前一个真实帧的属性信息进行构造。其中,真实帧的属性信息包括起始地址和头信息,构造的伪造空帧的起始地址与参考真实帧的启示地址相同,事实上,不论是真实帧还是伪造真的起始地址均是相同的,因为帧的起始地址仅用于标志一帧的开始,能够让缓冲区识别出有一帧新的帧出现。头信息用于标识帧与帧之间的参考关系,因此为了不打乱真实帧的参考关系,构造的伪造空帧的头信息与真实帧的头信息不同,例如,如图2所示的ippp视频编码的流程图,当缓冲区能存储1帧时,则在真实帧1和真实帧2之间插入1帧伪造空帧,若该伪造空帧的头信息与真实帧1相同,则真实帧2有可能就参考了伪造空帧,进而打乱了真实帧原有的参考关系,进而导致真实帧无法正常解码。
59.本发明实施例提供的云手机延时的处理方法,在相邻真实帧之间插入伪造空帧,且伪造空帧依据前一个真实帧的属性信息进行构造,构造时起始地址与参考真实帧的相同,头信息与参考真实帧不同,进而在不增加解码器的解码压力的情况下,不打乱真实帧之间的参考关系,确保视频在避免延时的情况下能顺利解码并上屏,提高用户体验。
60.在上述实施例的基础上,客户端在收到网络传输过来的视频帧,先对视频帧进行编号以标志为真实帧,然后根据缓冲区大小决定需要插入伪造空帧的数量,并在相邻真实帧之间插入对应数量的伪造空帧,将真实帧和伪造空帧一起送进缓冲区以填满缓冲区,以便于于将真实帧立即送到解码器进行解码并上屏,进而优化真实帧因为滞留在缓冲区延迟解码上屏而带来延迟感。
61.本发明实施例提供的云手机延时的处理方法,将真实帧和空帧一起送进缓冲区以填满缓冲区,并将真实帧立即送到解码器进行解码并上屏,避免真实帧滞留在缓冲区带来的延迟,有效降低延时性能,改善用户云手机玩游戏的用户体验。
62.最后,为了使本领域技术人员更好的理解本发明的技术方案,下面将结合图2对上述方法作详细描述。
63.如图2所示,云手机系统采用标准的ippp视频编码结构进行视频编码,终端获取到视频帧后对视频帧进行编号以标志视频帧为真实帧,本实施例设定缓冲区能够存储1帧视频帧。则需要在相邻视频帧间插入1帧伪造空帧,即真实帧0和真实帧1之间插入1帧伪造空帧,真实帧1和真实帧2之间插入1帧伪造空帧,以此类推,每两帧视频帧之间插入1帧伪造空帧,需要说明的是,伪造空帧均为p帧。
64.在伪造空帧时,需要依据前一个真实帧的属性信息构造伪造空帧,例如,真实帧1和真实帧2之间伪造一个空帧p,则伪造空帧p依据真实帧1的属性信息进行伪造。一个视频帧中的数据并不包含它的长度信息,因此缓冲区并不知道一个视频帧从哪里结束,另一个视频帧又从哪里开始,因此给视频帧一个起始地址以标志一个新的视频帧的开始,因此,伪造的空帧也要符合这个规则,以便于缓冲区能识别一个伪造空帧的开始。例如,设定真实帧
logic array,简称pla)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(central processing unit,简称cpu);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有图像处理器(graphics processing unit,简称gpu),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括人工智能(artificial intelligence,简称ai)处理器,该ai处理器用于处理有关机器学习的计算操作。
79.存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的云手机延时的处理方法的相关步骤。另外,存储器20所存储的资源还可以包括操作系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包括windows、unix、linux等。数据203可以包括但不限于云手机延时的处理方法涉及的相关数据等。
80.在一些实施例中,云手机延时的处理装置还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
81.本领域技术人员可以理解,图4中示出的结构并不构成对云手机延时的处理装置的限定,可以包括比图示更多或更少的组件。
82.本技术实施例提供的云手机延时的处理装置,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:云手机延时的处理方法。
83.本发明实施例提供的云手机延时的处理装置,将真实帧和空帧一起送进缓冲区以填满缓冲区,并将真实帧立即送到解码器进行解码并上屏,避免真实帧滞留在缓冲区带来的延迟,有效降低延时性能,改善用户云手机玩游戏的用户体验。
84.最后,本技术还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。
85.可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等各种可以存储程序代码的介质。
86.以上对本技术所提供的一种云手机延时的处理方法,装置及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以对本技术进行若干改进和修饰,这些改进和修饰也落入本技术权利要求的保护范围内。
87.还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1