CN113347466B - 一种数据处理方法、装置和存储介质 - Google Patents

一种数据处理方法、装置和存储介质 Download PDF

Info

Publication number
CN113347466B
CN113347466B CN202110540551.7A CN202110540551A CN113347466B CN 113347466 B CN113347466 B CN 113347466B CN 202110540551 A CN202110540551 A CN 202110540551A CN 113347466 B CN113347466 B CN 113347466B
Authority
CN
China
Prior art keywords
target
frame rate
target frame
preset
client
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.)
Active
Application number
CN202110540551.7A
Other languages
English (en)
Other versions
CN113347466A (zh
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.)
Shenzhen Tencent Network Information Technology Co Ltd
Original Assignee
Shenzhen Tencent Network Information Technology 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 Shenzhen Tencent Network Information Technology Co Ltd filed Critical Shenzhen Tencent Network Information Technology Co Ltd
Priority to CN202110540551.7A priority Critical patent/CN113347466B/zh
Publication of CN113347466A publication Critical patent/CN113347466A/zh
Application granted granted Critical
Publication of CN113347466B publication Critical patent/CN113347466B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234381Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2401Monitoring of the client buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440281Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the temporal resolution, e.g. by frame skipping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4781Games

Abstract

本申请实施例公开了一种数据处理方法、装置和存储介质,通过接收目标客户端发送的第一目标帧率和状态信息;根据状态信息对第一目标帧率进行调节,得到第二目标帧率;根据第二目标帧率确定目标垂直同步周期值;将目标线程的休眠时间设定为目标垂直同步周期值,并根据休眠时间进行休眠;当检测到休眠结束时,激活目标线程,以执行垂直同步回调函数生成垂直同步信号;根据垂直同步信号进行图像帧的合成,得到图像帧数据;对图像帧数据进行编码处理,得到帧率为第二目标帧率的目标视频数据流,并将目标视频数据流推送至目标客户端进行显示。以此,实现灵活的调节云游戏的渲染帧率,提高视频数据流输出帧率的准确性。

Description

一种数据处理方法、装置和存储介质
技术领域
本申请涉及计算机技术领域,具体涉及一种数据处理方法、装置和存储介质。
背景技术
云游戏(Cloud gaming)又可称为游戏点播(gaming on demand),是一种以云计算技术为基础的在线游戏技术,摆脱了对硬件的依赖。随着云技术的发展,云游戏也在不断发展。云游戏在某些情况下,如网络波动,终端解码不及时而导致帧堆积时,需要动态的调节游戏视频流的帧率,以解决游戏画面卡顿的问题。
在传统的计算机设备中,由于渲染帧率是固定的,在卡顿时,一般都是通过抽帧的方式来调节帧率,然而,抽帧的方式使得输出的视频流的帧间隔时间变得不均匀,进而在需要显示的终端上会出现画面抖动以及不流畅的问题,此外,抽帧的方式无法输出比默认帧率更高的帧率,用户难以体验高帧率的游戏,帧率调节效率低,影响视频显示的流畅性。
发明内容
本申请实施例提供一种数据处理方法、装置和存储介质。可以实现灵活的调节云游戏的渲染帧率,提高视频数据流输出帧率的准确性。
一种数据处理方法,包括:
接收目标客户端发送的第一目标帧率和状态信息,所述第一目标帧率根据所述目标客户端中缓存的视频帧的数量确定;
根据所述状态信息对所述第一目标帧率进行调节,得到第二目标帧率;
根据所述第二目标帧率确定目标垂直同步周期值;
将目标线程的休眠时间设定为所述目标垂直同步周期值,并根据所述休眠时间进行休眠;
当检测到休眠结束时,激活所述目标线程,以执行垂直同步回调函数生成垂直同步信号;
根据所述垂直同步信号进行图像帧的合成,得到图像帧数据;
对所述图像帧数据进行编码处理,得到帧率为所述第二目标帧率的目标视频数据流,并将所述目标视频数据流推送至所述目标客户端进行显示。
相应的,本申请实施例还提供一种数据处理方法,包括:
根据视频缓冲区中缓存的视频帧的数量确定第一目标帧率;
获取状态信息;
将所述第一目标帧率和所述状态信息发送至服务器;
接收所述服务器传输过来的目标视频数据流并进行显示,所述目标视频数据流为所述服务器根据接收到的第一目标帧率和状态信息确定得到第二目标帧率,并根据所述第二目标帧率进行图像帧的合成和编码得到,所述目标视频数据流的帧率为所述第二目标帧率。
相应的,本申请实施例提供一种数据处理装置,包括:
接收单元,用于接收目标客户端发送的第一目标帧率和状态信息,所述第一目标帧率根据所述目标客户端中缓存的视频帧的数量确定;
调节单元,用于根据所述状态信息对所述第一目标帧率进行调节,得到第二目标帧率;
第一确定单元,用于根据所述第二目标帧率确定目标垂直同步周期值;
调用单元,用于将目标线程的休眠时间设定为所述目标垂直同步周期值,并根据所述休眠时间进行休眠;
生成单元,用于当检测到休眠结束时,激活所述目标线程,以执行垂直同步回调函数生成垂直同步信号;
合成单元,用于根据所述垂直同步信号进行图像帧的合成,得到图像帧数据;
编码单元,用于对所述图像帧数据进行编码处理,得到帧率为所述第二目标帧率的目标视频数据流,并将所述目标视频数据流推送至所述目标客户端进行显示。
在一实施例中,所述调节单元,包括:
确定子单元,用于根据所述状态信息确定目标预设权重;
第一加权子单元,用于根据所述目标预设权重对所述第一目标帧率进行加权处理,得到初始目标帧率;
第一获取子单元,用于获取所述目标客户端对应的目标终端的电量信息;
第二加权子单元,用于当所述电量信息满足预设条件时,根据预设权重对所述初始目标帧率进行加权处理,得到第二目标帧率。
在一实施例中,所述第二加权子单元,用于:
当所述电量信息中的电量值大于第一预设阈值时,根据第一预设权重对所述初始目标帧率进行加权处理,得到第二目标帧率;
当所述电量信息中的电量值不大于所述第一预设阈值时,根据第二预设权重对所述初始目标帧率进行加权处理,得到第二目标帧率,所述第二预设权重小于所述第一预设权重。
在一实施例中,所述调节单元,包括:
第一调节子单元,用于根据所述状态信息对所述第一目标帧率进行调节,得到第一初始目标帧率;
检测子单元,用于检测所述目标客户端对应的目标终端是否处于联机状态;
第二获取子单元,用于当检测到所述目标终端处于联机状态时,获取和所述目标终端进行联机的至少一个联机终端的第一初始目标帧率;
平均子单元,用于对所述目标客户端的第一初始目标帧率和所述联机终端的第一初始目标帧率进行平均处理,得到第二目标帧率。
在一实施例中,所述调节单元中的状态信息,包括客户端对应的目标终端的中央处理器利用率、内存占用率和电量信息中的至少一种。
相应的,本申请实施例还提供一种数据处理装置,包括:
第二确定单元,用于根据视频缓冲区中缓存的视频帧的数量确定第一目标帧率;
获取单元,用于获取状态信息;
发送单元,用于将所述第一目标帧率和所述状态信息发送至服务器;
显示单元,用于接收所述服务器传输过来的目标视频数据流并进行显示,所述目标视频数据流为所述服务器根据接收到的第一目标帧率和状态信息确定得到第二目标帧率,并根据所述第二目标帧率进行图像帧的合成和编码得到,所述目标视频数据流的帧率为所述第二目标帧率。
在一实施例中,所述第二确定单元,包括:
监测子单元,用于监测视频缓冲区中缓存的视频帧的数量;
发送子单元,用于当监测到所述视频帧的数量大于第二预设阈值时,将当前帧率降低预设调节帧率值,得到第一目标帧率,将所述第一目标帧率发送至服务器。
在一实施例中,所述第二确定单元,包括:
设定子单元,用于设定预设采样频率;
采样子单元,用于根据所述预设采样频率对所述视频帧缓冲区中缓存的视频帧进行采样,得到所述视频帧缓冲区中缓存的视频帧的数量;
第二调节子单元,用于若连续第一预设次数监测到所述视频帧的数量为零,则将当前帧率增加第一预设调节帧率值,得到第一目标帧率;
第三调节子单元,用于若连续第二预设次数监测到所述视频帧的数量为单调递增,则将当前帧率减去第二预设调节帧率值,得到第一目标帧率。
此外,本申请实施例还提供一种存储介质,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本申请实施例所提供的任一种数据处理方法中的步骤。
此外,本申请实施例还提供一种数据处理系统,所述系统包括:服务器和终端;
所述服务器包括上述数据处理装置;
所述终端包括上述数据处理装置。
此外,本申请实施例还提供一种计算机设备,包括处理器和存储器,所述存储器存储有应用程序,所述处理器用于运行所述存储器内的应用程序实现本申请实施例提供的数据处理方法。
本申请实施例还提供一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在存储介质中。计算机设备的处理器从存储介质读取所述计算机指令,处理器执行所述计算机指令,使得所述计算机设备执行本申请实施例提供的数据处理方法中的步骤。
本申请实施例通过接收目标客户端发送的第一目标帧率和状态信息;根据状态信息对第一目标帧率进行调节,得到第二目标帧率;根据第二目标帧率确定目标垂直同步周期值;将目标线程的休眠时间设定为目标垂直同步周期值,并根据休眠时间进行休眠;当检测到休眠结束时,激活目标线程,以执行垂直同步回调函数生成垂直同步信号;根据垂直同步信号进行图像帧的合成,得到图像帧数据;对图像帧数据进行编码处理,得到帧率为第二目标帧率的目标视频数据流,并将目标视频数据流推送至目标客户端进行显示。以此,通过接收目标客户端发送的第一目标帧率以及状态信息,进而根据状态信息对第一目标帧率进行调节得到第二目标帧率,根据第二目标帧率确定垂直同步周期值并根据该垂直同步周期值生成垂直同步信号,进而根据垂直同步信号进行图像帧的合成和编码,得到帧率为第二目标帧率的目标视频数据流,以此实现灵活的调节云游戏的渲染帧率,提高视频数据流输出帧率的准确性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种数据处理方法实施场景示意图;
图2是本申请实施例提供的一种数据处理方法的流程示意图;
图3是本申请实施例提供的一种数据处理方法的总体框架示意图;
图4是本申请实施例提供的一种数据处理方法的另一流程示意图;
图5是本申请实施例提供的一种数据处理方法的时序示意图;
图6是本申请实施例提供的数据处理装置的结构示意图;
图7是本申请实施例提供的数据处理装置的另一结构示意图;
图8是本申请实施例提供的数据处理系统的结构示意图;
图9是本申请实施例提供的计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种数据处理方法、装置和存储介质。其中,该数据处理装置可以集成在计算机设备中,该计算机设备可以是服务器,也可以是终端等设备。
为了更好的说明本申请实施例,请参照以下名词进行参考:
云游戏:云游戏(Cloud gaming),又可称为游戏点播(gaming on demand),是一种以云计算技术为基础的在线游戏技术。云游戏技术使图形处理与数据运算能力相对有限的轻端设备(thin client)能运行高品质游戏。在云游戏场景下,游戏并不在玩家游戏终端,而是在云端服务器中运行,并由云端服务器将游戏场景渲染为视频音频流,通过网络传输给玩家游戏终端。玩家游戏终端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力与获取玩家输入指令并发送给云端服务器的能力即可。
帧:数据在网络上是以很小的称为帧(Frame)的单位传输的,帧由几部分组成,不同的部分执行不同的功能。视频和游戏是由无数张画面组成,每一张画面就是一帧。
帧率:用于测量显示帧数的量度,测量单位为“每秒显示帧数”(Frame PerSecond,简称FPS)。是以帧称为单位的位图图像连续出现在显示器上的频率(速率)。
刷新率:刷新率是指电子束对屏幕上的图像重复扫描的次数。刷新率越高,所显示的图象(画面)稳定性就越好。刷新率高低将直接决定其价格,但是由于刷新率与分辨率两者相互制约,因此只有在高分辨率下达到高刷新率这样的显示器才能称其为性能优秀。
垂直同步(Vertical Synchronization,简称Vsync):从阴极射线管显示器的显示原理来看,单个像素组成了水平扫描线,水平扫描线在垂直方向的堆积形成了完整的画面。显示器的刷新率受显卡数模转换器(DAC)控制,显卡DAC完成一帧的扫描后就会产生一个垂直同步信号。
垂直同步周期(Vsync Period):显示器屏幕每秒刷新几帧,就会有多少个Vsync信号,也就是屏幕的刷新率是多少。例如,目前大部分手机屏幕的刷新率是60Hz,也就意味着它们每秒钟产生60个Vsync信号。对于60Hz刷新率的屏幕来说,Vsync Period就是1000/60=16.6ms。
Docker:Docker容器是一个开源的应用容器引擎,让开发者可以以统一的方式打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何安装了docker引擎的服务器上(包括流行的Linux机器、windows机器),也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。几乎没有性能开销,可以很容易地在机器和数据中心中运行。
SurfaceFlinger:是一个独立的系统服务(Service),实现了界面(Surface)的建立、控制、管理等功能,提供系统范围内的界面显示合成(Surface Composer)的功能。
回调函数:回调函数就是一个被作为参数传递的函数,是一个通过函数指针调用的函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。
请参阅图1,以数据处理装置集成在计算机设备中为例,图1为本申请实施例所提供的数据处理方法的实施环境场景示意图,包括服务器A以及终端B,其中,服务器A可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、网络加速服务(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。如本申请所公开的数据处理方法或装置,其中多个服务器可组成为一区块链,而服务器为区块链上的节点。其中,服务器A可以接收目标客户端发送的第一目标帧率和状态信息;根据状态信息对第一目标帧率进行调节,得到第二目标帧率;根据第二目标帧率确定目标垂直同步周期值;将目标线程的休眠时间设定为目标垂直同步周期值,并根据休眠时间进行休眠;当检测到休眠结束时,激活目标线程,以执行垂直同步回调函数生成垂直同步信号;根据垂直同步信号进行图像帧的合成,得到图像帧数据;对图像帧数据进行编码处理,得到帧率为第二目标帧率的目标视频数据流,并将目标视频数据流推送至目标客户端进行显示。
终端B可以是智能手机、平板电脑、笔记本电脑、台式计算机等各种可以进行图像显示的计算机设备,但并不局限于此。终端B以及服务器A可以通过有线或无线通信方式进行直接或间接地连接,服务器A可以接收终端B上传的数据以执行相应的数据处理操作,本申请在此不做限制。其中,终端B可以根据视频缓冲区中缓存的视频帧的数量确定第一目标帧率,获取状态信息,将第一目标帧率和状态信息发送至服务器;接收服务器传输过来的目标视频数据流并进行显示,该目标视频数据流为服务器根据接收到的第一目标帧率和状态信息确定得到第二目标帧率,并根据第二目标帧率进行图像帧的合成和编码得到。
需要说明的是,图1所示的数据处理方法的实施环境场景示意图仅仅是一个示例,本申请实施例描述的数据处理方法的实施环境场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定。本领域普通技术人员可知,随着数据处理的演变和新业务场景的出现,本申请提供的技术方案对于类似的技术问题,同样适用。
以下分别进行详细说明。需要说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
本实施例将从数据处理装置的角度进行描述,该数据处理装置具体可以集成在服务器中。
请参阅图2,图2是本申请实施例提供的数据处理方法的流程示意图。该数据处理方法包括:
在步骤101中,接收终端发送的第一目标帧率和状态信息。
随着云技术的发展,云游戏也在不断发展。在云游戏场景下,游戏并不在玩家游戏终端,而是在云端服务器中运行,并由云端服务器将游戏场景渲染为视频音频流,通过网络传输给玩家游戏终端,因此,云游戏场景对网络要求比较高。玩家游戏终端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力与获取玩家输入指令并发送给云端服务器的能力即可。然而,云游戏在某些情况下,如网络波动,终端解码不及时等情况导致终端出现帧堆积时,容易出现游戏画面卡顿的现象,此时,需要动态的调节游戏视频流的帧率,以解决游戏画面发生卡顿的问题。
在传统的计算机设备中,由于渲染帧率是固定的,在画面发生卡顿时,一般都是通过抽帧的方式来调节帧率,然而,抽帧的方式容易使得输出的视频流的帧间隔时间变得不均匀,尤其是在网络不稳定的情况下,抽帧的方式会使得输出的视频流的帧间隔时间更加不均匀,进而导致在需要显示的终端上出现画面抖动以及不流畅的问题,此外,抽帧的方式无法输出比默认帧率更高的帧率,用户难以体验高帧率的游戏,帧率调节效率低,影响输出的视频的流畅性。
对此,为了解决以上的问题,本申请实施例提供了一种数据处理方法,通过在云游戏的过程中,获取目标客户端发送的第一目标帧率以及状态信息,该第一目标帧率为根据目标客户端中缓存的视频帧的数量确定得到,该状态信息为目标客户端对应的目标终端的状态信息,该状态信息可以包括目标终端的内存占用率、中央处理器的利用率和电量信息等信息中的至少一种信息,其中,该电量信息可以包括目标终端当前的电量值,也可以包括目标终端当前是否处于充电状态等信息。以此实时监测目标客户端中缓存的视频帧的数量来灵活的调节第一目标帧率的大小,进而在此基础上根据目标终端的状态信息来对第一目标帧率进行调节来确定得到第二目标帧率,进而根据该第二目标帧率对云游戏的图像帧进行渲染合成,得到帧率为第二目标帧率的视频流并同步输出到需要进行显示的目标客户端中,以此实现动态调节云游戏进行图像渲染的帧率,提高视频数据流输出帧率的准确性,提高视频数据流在目标客户端中进行显示的流畅性。
具体的,请参考图3,图3为本申请实施例提供的一种数据处理方法的总体框架示意图,为了可以根据目标客户端的状态确定渲染帧率,也即是第二目标帧率,以此提高客户端显示视频画面的流畅性,服务器可以接收目标客户端发送的第一目标帧率和状态信息,该第一目标帧率根据该目标客户端中缓存的视频帧的数量确定,其中,当网络波动或者当前帧率较高等原因导致目标终端解码不及时时,目标客户端对应的视频缓冲区中将会存在视频帧的堆积,而在当前帧率较低的时候,由于目标终端的解码速率大于目标视频数据流的渲染帧率,此时目标客户端对应的视频缓冲区中将不存在缓存的视频帧,因此,可以通过目标终端监测目标客户端的视频缓冲区中缓存的视频帧的数量来判断是否需要对当前帧率进行调节,进而根据监测到的视频缓冲区中缓存的视频帧的数量来调节当前帧率,从而得到第一目标帧率。
在一实施例中,当终端监测到该视频帧的数量大于预设阈值时,将当前帧率降低预设调节帧率值,得到第一目标帧率,该预设阈值可以为任意值,例如为1帧、2帧、5帧,也可以为8帧等等,该预设调节帧率值可以为任意值,例如5FPS(即5帧每秒),也可以为2FPS、7FPS等等,具体取值可以根据实际情况进行确定,在此不做限制,例如,可以假设该预设阈值可以为5帧,该预设调节帧率值可以为5FPS,当前帧率为70FPS,当监测到该视频帧的数量大于5帧时,将当前帧率70FPS降低5FPS,以此得到第一目标帧率65FPS。
在一实施例中,可以设定预设采样频率,该预设采样频率可以根据实际情况进行设置,例如可以为每500毫秒进行采样一次,也可以为每200毫秒采样一次,还可以为每1秒采样一次,具体取值可以根据实际情况确定,具体不做限制;终端根据该预设采样频率对该视频帧缓冲区中缓存的视频帧进行采样,得到该视频帧缓冲区中缓存的视频帧的数量,例如,当预设采样频率为每500毫秒采样一次,则也为每隔500毫秒对该视频帧缓冲区中缓存的视频帧的数量采样一次,从而得到该视频帧缓冲区中缓存的视频帧的数量。
其中,若终端连续第一预设次数监测到该视频帧的数量为零,则将当前帧率增加第一预设调节帧率值,得到第一目标帧率,该第一预设次数可以为1次、2次、3次等等,该第一预设调节帧率值可以为1FPS、2FPS、3FPS、4FPS等,具体取值可以根据实际情况确定,在此不做限定。例如,该第一预设次数可以为5次,该第一预设调节帧率值可以为4FPS,并假设当前帧率为70FPS,若连续5次的采样监测到该视频帧的数量都为零,则此时将当前帧率70FPS增加4FPS,得到第一目标帧率74FPS。
若终端连续第二预设次数监测到该视频帧的数量为单调递增,则将当前帧率减去第二预设调节帧率值,得到第一目标帧率,例如,该第二预设次数可以为5次,该第二预设调节帧率值可以为5FPS,假设当前帧率为70FPS,若连续5次监测到该视频帧的数量为单调递增时,例如,第一次采样到该视频帧的数量为2帧,第二次采样到该视频帧的数量为3帧,第三次采样到该视频帧的数量为5帧,第四次采样到该视频帧的数量为6帧,第五次采样到该视频帧的数量为7帧,此时满足连续5次监测到该视频帧的数量为单调递增的条件,则将当前帧率70FPS减去5FPS,得到第一目标帧率65FPS。其中,该第二预设次数可以为任意数值,例如,可以为4次,也可以为5次等,该第二预设次数可以与第一预设次数相同,也可以不同,该第二预设调节帧率值可以为3FPS,也可以为4FPS等,该第二预设调节帧率值可以与第一预设调节帧率值相同,也可以不同,在此不做限定。
在一实施例中,该第一目标帧率也可以由用户进行设置,例如通过客户端界面进行设置。
在步骤102中,根据该状态信息对该第一目标帧率进行调节,得到第二目标帧率。
由于目标客户端对应的目标终端的状态信息会影响客户端对服务器传输过来的视频数据流进行解码显示的效率,因此,为了得到较合适的渲染帧率,以更好的提高在客户端中显示视频画面的流畅性,可以根据目标客户端对应的目标终端的状态信息对该第一目标帧率进行调节,以此得到第二目标帧率。
在一实施例中,可以根据目标终端的状态信息,检测目标终端的状态信息是否满足预设条件,当满足预设条件时,确定预设权重,从而根据该预设权重对该第一目标帧率进行加权,以此实现对第一目标帧率的调节。
其中,在一实施例中,该状态信息为目标终端的中央处理器的利用率,则可以根据目标终端的中央处理器的利用率来对第一目标帧率进行调节,具体的,可以检测该目标终端的中央处理器的利用率,根据中央处理器的利用率的数值范围确定第一状态预设权重,例如,当中央处理器的利用率在50%到60%之间时,确定预设权重为0.9,假设第一目标帧率为70FPS(Frame per Second,简称FPS)时,从而根据该预设权重对该第一目标帧率进行加权,得到第二目标帧率为70×0.9=63FPS,当中央处理器的利用率在70%到80%之间时,可以确定预设权重为0.7,等等,具体的中央处理器的利用率的区间和对应的预设权重可以根据实际的使用情况进行科学的选取,在此不做限定。
在一实施例中,该状态信息可以为目标终端的内存占用率,则可以根据目标终端的内存占用率的状态信息来对第一目标帧率进行调节,具体的,当检测到目标终端的内存占用率大于预设阈值时,例如大于60%时,可以确定第二状态预设权重,根据第二状态预设权重,例如0.95或者0.9等,对第一目标帧率进行加权,得到第二目标帧率。
在一实施例中,该状态信息可以为目标终端的电量信息,具体的,可以通过该电量信息判断目标终端是否处于充电状态,当目标终端处于充电状态时,由于此时电量充足,可以确定一个较大的第三状态预设权重来调高第一目标帧率,该第三状态预设权重可以为1.1,也可以为1.2等等,进而根据第三状态预设权重对第一目标帧率进行加权处理,得到第二目标帧率。当目标终端不处于充电状态时,该第三状态预设权重可以为1。
在一实施例中,可以根据目标终端的多个状态信息对第一目标帧率进行调节,例如,可以同时根据中央处理器的利用率和内存占用率的大小和电量信息对第一目标帧率进行调节,进而通过目标终端的中央处理器的利用率确定第一状态预设权重,根据目标终端的内存占用率确定第二状态预设权重,根据目标终端的电量信息确定第三状态预设权重,从而根据第一状态预设权重、第二状态预设权重和第三状态预设权重来对第一目标帧率进行加权处理,得到第二目标帧率。
为了保证目标终端在处于低电量状态时可以保持较长的待机时间,可以在目标终端处于低电量状态时,适当的减少云游戏的渲染帧率,因此,在一实施例中,该根据该状态信息对该第一目标帧率进行调节,得到第二目标帧率的步骤可以包括:
(1)根据该状态信息确定目标预设权重;
(2)根据该目标预设权重对该第一目标帧率进行加权处理,得到初始目标帧率;
(3)获取该目标客户端对应的目标终端的电量信息;
(4)当该电量信息满足预设条件时,根据预设权重对该初始目标帧率进行加权处理,得到第二目标帧率。
其中,根据该状态信息确定目标预设权重,该状态信息可以为目标客户端对应的目标终端的中央处理器、内存利用率和电量信息等状态信息中的至少一种,通过检测该状态信息是否满足预设条件,当该目标终端的状态信息满足预设条件时,确定目标预设权重,进而根据该目标预设权重对该第一目标帧率进行加权处理,得到初始目标帧率,例如,假设该状态信息为目标客户端的中央处理器的利用率,并且假设第一目标帧率为60FPS,当中央处理器的利用率在50%到60%之间时,确定预设权重为0.9,进而得到初始目标帧率为60×0.9=54FPS。同时,获取该目标客户端对应的目标终端的电量信息,该电量信息包括目标终端当前的电量值,当该电量信息满足预设条件时,根据预设权重对该初始目标帧率进行加权处理,得到第二目标帧率。
在一实施例中,该当该电量信息满足预设条件时,根据预设权重对该初始目标帧率进行加权处理,得到第二目标帧率步骤,可以包括:
(1.1)当该电量信息中的电量值大于第一预设阈值时,根据第一预设权重对该初始目标帧率进行加权处理,得到第二目标帧率;
(1.2)当该电量信息中的电量值不大于该第一预设阈值时,根据第二预设权重对该初始目标帧率进行加权处理,得到第二目标帧率,该第二预设权重小于该第一预设权重。
其中,可以假设该第一预设阈值为50%,假设初始目标帧率为54FPS,当该电量信息中的电量值大于50%时,根据第一预设权重对该初始目标帧率进行加权处理,得到第二目标帧率;当该电量信息中的电量值不大于50%时,可以根据第二预设权重对该初始目标帧率进行加权处理,得到第二目标帧率,该第一预设阈值也可以为40%,还可以为60%等等,该第二预设权重小于该第一预设权重,例如,该第一预设权重可以为1,也可以为1.1,该第二预设权重可以为0.9,也可以为0.8,具体取值可以根据实际情况决定,在此不做限制。
当目标客户端对应的终端处于联机状态时,为了实现多个联机终端在进行联机过程中的同步,在一实施方式中,该根据该状态信息对该第一目标帧率进行调节,得到第二目标帧率的步骤可以包括:
(1)根据该状态信息对该第一目标帧率进行调节,得到第一初始目标帧率;
(2)检测该目标客户端对应的目标终端是否处于联机状态;
(3)当检测到该目标终端处于联机状态时,获取和该目标终端进行联机的至少一个联机终端的第一初始目标帧率;
(4)对该目标客户端的第一初始目标帧率和该联机终端的第一初始目标帧率进行平均处理,得到第二目标帧率。
其中,根据目标客户端对应的目标终端的状态信息对第一目标帧率进行调节,例如,判断目标终端的状态信息是否满足预设条件,当状态信息满足预设条件时,确定预设权重,根据该预设权重对第一目标帧率进行加权处理,得到第一初始目标帧率。检测该目标客户端对应的目标终端是否处于联机状态,也即是检测目标终端是否与其他终端进行网络连接,从而实现目标客户端与其他客户端进行联机游戏。当检测到该目标终端处于联机状态时,获取与该目标终端进行联机的联机终端的第一初始目标帧率,与该目标终端进行联机的联机终端可以有多个,该联机终端的第一初始目标帧率为联机终端对应的服务器根据联机终端的状态信息对联机终端的第一目标帧率进行调节得到。对该目标客户端的第一初始目标帧率和该联机终端的第一初始目标帧率进行平均处理,得到第二目标帧率,例如,假设与目标客户端进行联机的终端有3个,目标客户端的第一初始目标帧率为63FPS,3个联机终端对应的客户端的第一初始目标帧率分别为60FPS、62FPS和65FPS,从而对目标终端与联机终端对应的客户端的第一初始目标帧率进行平均处理,可以得到第二目标帧率为(63+60+62+65)/4=62.5FPS。从而,可以对进行联机的多个不同终端对应的客户端的渲染帧率进行同步,避免了在联机游戏过程中不同终端之间发生互动的延时,以此,在增强联机过程中的游戏体验的同时,保障了联机游戏的公平性。
在步骤103中,根据该第二目标帧率确定目标垂直同步周期值。
为了服务器可以以第二目标帧率为渲染帧率对游戏画面的图像帧进行渲染,并输出帧率为第二目标帧率的视频数据流,以此提升云游戏过程中画面显示的流畅性,可以通过产生一个垂直同步信号,通过这个垂直同步信号调节服务器进行图像帧的渲染与合成的时间,进而编码得到帧率为第二目标帧率的视频数据流,以此提升云游戏过程中画面显示的流畅性,其中,请继续参考图3,可以根据状态信息对第一目标帧率进行调节得到第二目标帧率确定目标垂直同步周期值,服务器根据该目标垂直同步周期值进行系统属性的设置,进而可以通过目标垂直同步周期值得到垂直同步信号,具体的实现过程请继续参阅以下步骤。在一实施例中,假设第二目标帧率为70FPS,则相应的服务器的显示器屏幕每秒钟会刷新70帧,相应的每秒钟会产生70个垂直同步信号,则垂直同步周期值为1000/70=14.3ms。
在步骤104中,将目标线程的休眠时间设定为目标垂直同步周期值,并根据休眠时间进行休眠。
在大多数的安卓(Android)设备中,垂直同步信号是由设备的屏幕根据刷新率产生,但是在云游戏中,Android系统是以Docker容器的形式存在于服务器中,并不存在物理屏幕,因此需要通过实现一个硬件抽象层模块(Hardware Composer,简称Hwcomposer)来抽象显示设备,Hwcomposer是Android系统中进行窗口(Layer)合成和显示的硬件抽象层模块,其实现是特定于设备的,通常是由设备制造商(Original Equipment Manufacturer,简称OEM)完成,为SurfaceFlinger服务提供硬件支持。因此,为了产生垂直同步信号,以根据该垂直同步进行图像帧的渲染和合成,进而编码得到帧率为第二目标帧率的视频数据流并显示在目标客户端中,可以通过硬件抽象层模块来产生垂直同步信号。
其中,可以通过构建硬件抽象层模块的数据结构,并构建该硬件抽象层模块的入口函数,通过该入口函数初始化该数据结构中的目标指针,以使得该目标指针记录垂直同步回调函数的地址信息,创建目标线程,通过目标线程读取系统属性,获取垂直同步周期值,为了防止目标线程在无需执行时占用中央处理器资源,可以调用线程休眠函数,通过该线程休眠函数将目标线程进行休眠,同时,为了可以实现以第二目标帧率进行图像的渲染和合成,可以将目标线程的休眠时间值设定为与目标垂直同步周期值对应的时长相同的时间值。
在步骤105中,当检测到休眠结束时,激活该目标线程,以执行垂直同步回调函数生成垂直同步信号。
其中,当检测到目标线程休眠结束时,根据硬件抽象层模块提供的事件控制(Event Control)接口,判断当前是否启用了Vsync,当启用了该Vsync接口时,激活该目标线程,通过该目标线程执行垂直同步回调函数生成垂直同步信号,从而,该目标线程每休眠一段与目标垂直同步周期值对应的时长相等的时间,便通过调用垂直同步回调函数生成一个垂直同步信号,以此通过循环的休眠来生成多个垂直同步信号并控制后续图像帧的渲染和合成,以得到帧率为第二目标帧率的视频数据流。
在步骤106中,根据该垂直同步信号进行图像帧的合成,得到图像帧数据。
在一实施例中,垂直同步信号把应用程序(App)渲染绘制和界面合成模块(SurfaceFlinger)合成的时间点都规范了起来,减少了掉帧,增强了渲染的流畅度。但是由于垂直同步信号是由硬件产生的,一旦产生就必须开始执行,不灵活。因此,为了协调应用程序渲染绘制和界面合成模块进行图像合成的时间,引入软件模型来对垂直同步信号进行相位偏移,以此得到两个时钟信号来控制应用程序渲染绘制和界面合成模块进行图像合成的时间,该软件模型可以是锁相回路模块(DispSync)。DispSync类似于一个锁相回路(Phase Lock Loop,简称PLL),它通过接收硬件抽象层模块产生的垂直同步信号,然后传输给其他关心垂直同步信号的组件,例如界面合成模块和需要渲染的应用程序。
请继续参考图3,硬件抽象层模块生成的垂直同步信号通知到锁相回路模块,进而通过时间戳反馈将该垂直同步信号进行相位偏移,生成渲染信号(App-Vsync)和合成信号(SF-Vsync),其中,该合成信号延迟于该渲染信号;通过该渲染信号唤醒目标应用程序进行图像帧的渲染,得到渲染后的图像帧;通过该合成信号唤醒界面合成模块对该渲染后的图像帧进行合成,进而生成多个图像帧的图像帧数据。
在步骤107中,对该图像帧数据进行编码处理,得到帧率为该第二目标帧率的目标视频数据流,并将该目标视频数据流推送至该目标客户端进行显示。
其中,服务器每得到界面合成模块合成的一帧图像帧数据,便可以对该帧图像帧数据进行编码处理,以此得到帧率为该第二目标帧率的目标视频数据流,并将该目标视频数据流推送至该目标客户端中进行显示。
由以上可知,本申请实施例通过接收目标客户端发送的第一目标帧率和状态信息;根据状态信息对第一目标帧率进行调节,得到第二目标帧率;根据第二目标帧率确定目标垂直同步周期值;将目标线程的休眠时间设定为目标垂直同步周期值,并根据休眠时间进行休眠;当检测到休眠结束时,激活目标线程,以执行垂直同步回调函数生成垂直同步信号;根据垂直同步信号进行图像帧的合成,得到图像帧数据;对图像帧数据进行编码处理,得到帧率为第二目标帧率的目标视频数据流,并将目标视频数据流推送至目标客户端进行显示。以此,通过接收目标客户端发送的第一目标帧率以及状态信息,进而根据状态信息对第一目标帧率进行调节得到第二目标帧率,根据第二目标帧率确定垂直同步周期值并根据该垂直同步周期值生成垂直同步信号,进而根据垂直同步信号进行图像帧的合成和编码,得到帧率为第二目标帧率的目标视频数据流,以此实现灵活的调节云游戏的渲染帧率,提高视频数据流输出帧率的准确性。
根据上面实施例所描述的方法,以下将举例作进一步详细说明。
在本实施例中,将以该数据处理装置具体集成在计算机设备为例进行说明。其中,该数据处理方法以终端为执行主体,并以在终端上安装客户端为例进行具体的说明。
如图4所示,图4为本申请实施例提供的数据处理方法的另一流程示意图。具体流程如下:
在步骤201中,根据视频缓冲区中缓存的视频帧的数量确定第一目标帧率。
其中,终端在启动云游戏时,通过服务器获取默认帧率,该默认帧率为服务器根据终端的性能和版本号等信息确定的,进而终端通过将该默认帧率作为启动云游戏的请求参数发送到服务器中,从而接收服务器返回的启动结果,进行启动云游戏,在云游戏过程中,当网络波动或者当前帧率较高等原因导致终端解码不及时时,目标客户端对应的视频缓冲区中将会存在视频帧的堆积,而在当前帧率较低的时候,由于目标终端的解码速率大于目标视频数据流的渲染帧率,此时目标客户端对应的视频缓冲区中将不存在缓存的视频帧,因此,可以通过监测目标客户端的视频缓冲区中缓存的视频帧的数量来判断是否需要对当前帧率进行调节,进而根据监测到的视频缓冲区中缓存的视频帧的数量来调节当前帧率,从而得到第一目标帧率。
在一实施例中,当监测到该视频帧的数量大于第二预设阈值时,将当前帧率降低预设调节帧率值,得到第一目标帧率,该第二预设阈值可以为任意值,例如为1帧、2帧、5帧,也可以为8帧等等,该预设调节帧率值可以为任意值,例如5FPS(即5帧每秒),也可以为2FPS、7FPS等等,具体取值可以根据实际情况进行确定,在此不做限制,例如,可以假设该第二预设阈值可以为5帧,该预设调节帧率值可以为5FPS,当前帧率为70FPS,当监测到该视频帧的数量大于5帧时,将当前帧率70FPS降低5FPS,以此得到第一目标帧率65FPS。
在一实施例中,可以设定预设采样频率,该预设采样频率可以根据实际情况进行设置,例如可以为每500毫秒进行采样一次,也可以为每200毫秒采样一次,还可以为每1秒采样一次,具体不做限制;根据该预设采样频率对该视频帧缓冲区中缓存的视频帧进行采样,得到该视频帧缓冲区中缓存的视频帧的数量,例如,当预设采样频率为每500毫秒采样一次,则也为每隔500毫秒对该视频帧缓冲区中缓存的视频帧的数量采样一次,从而得到该视频帧缓冲区中缓存的视频帧的数量。
若连续第一预设次数监测到该视频帧的数量为零,则将当前帧率增加第一预设调节帧率值,得到第一目标帧率,该第一预设次数可以为1次、2次、3次等等,该第一预设调节帧率值可以为1FPS、2FPS、3FPS、4FPS等,具体取值可以根据实际情况确定,在此不做限定,例如,该第一预设次数可以为5次,该第一预设调节帧率值可以为4FPS,并假设当前帧率为70FPS,若连续5次的采样监测到该视频帧的数量都为零,则此时将当前帧率70FPS增加4FPS,得到第一目标帧率74FPS。
若连续第二预设次数监测到该视频帧的数量为单调递增,则将当前帧率减去第二预设调节帧率值,得到第一目标帧率,例如,该第二预设次数可以为5次,该第二预设调节帧率值可以为5FPS,假设当前帧率为70FPS,若连续5次监测到该视频帧的数量为单调递增时,例如,第一次采样到该视频帧的数量为2帧,第二次采样到该视频帧的数量为3帧,第三次采样到该视频帧的数量为5帧,第四次采样到该视频帧的数量为6帧,第五次采样到该视频帧的数量为7帧,此时满足连续5次监测到该视频帧的数量为单调递增的条件,则将当前帧率70FPS减去5FPS,得到第一目标帧率65FPS。其中,该第二预设次数可以为任意数值,例如,可以为4次,也可以为5次等,该第二预设次数可以与第一预设次数相同,也可以不同,该第二预设调节帧率值可以为3FPS,也可以为4FPS等,该第二预设调节帧率值可以与第一预设调节帧率值相同,也可以不同,在此不做限定。
在一实施例中,该第一目标帧率也可以由用户通过客户端进行设置,用户根据使用需求对当前帧率进行增加或者减少,进而得到第一目标帧率。
在步骤202中,获取状态信息。
获取当前的状态信息,该状态信息可以包括终端的中央处理器的利用率、内存占用率和电量信息中的至少一种信息。
在步骤203中,将该第一目标帧率和该状态信息发送至服务器。
当客户端检测到需要对当前帧率进行调节时,触发将第一目标帧率和该状态信息发送到服务器的指令,从而将该第一目标帧率和该状态信息发送至服务器。
在步骤204中,接收该服务器传输过来的目标视频数据流并进行显示。
在服务器根据第一目标帧率以及状态信息对当前帧率进行调节得到第二目标帧率后,终端接收该服务器传输过来的目标视频数据流,并进行目标视频数据流的解码,将解码后的视频帧在目标客户端中进行渲染并显示,其中,该目标视频数据流为该服务器根据接收到的第一目标帧率和状态信息确定得到第二目标帧率,并根据该第二目标帧率进行图像帧的合成和编码得到,该目标视频数据流的帧率为该第二目标帧率。
由以上可知,本申请实施例通过根据视频缓冲区中缓存的视频帧的数量确定第一目标帧率;获取状态信息;将该第一目标帧率和该状态信息发送至服务器;接收该服务器传输过来的目标视频数据流并进行显示。以此,通过监测视频缓冲区中缓存的视频帧的数量确定第一目标帧率,进而实现对当前帧率的动态调节,提高将目标视频数据流进行显示的流畅性。
根据上述实施例所描述的方法,以下将举例作进一步详细说明。
请参阅图5,图5为本发明实施例提供的数据处理方法的时序示意图。该方法流程可以包括:
在步骤S1中,终端根据视频缓冲区中缓存的视频帧的数量确定第一目标帧率,并获取状态信息。
终端通过监测视频帧缓冲区中缓存的视频帧的数量来调节当前帧率,从而确定第一目标帧率,并获取终端当前的状态信息。
在步骤S2中,终端将该第一目标帧率和该状态信息发送至服务器。
在步骤S3中,服务器接收终端发送的第一目标帧率和状态信息。
在步骤S4中,服务器根据该状态信息对该第一目标帧率进行调节,得到第二目标帧率。
例如,服务器检测该状态信息是否满足预设条件,当该状态信息满足预设条件时,确定预设权重,根据该预设权重对该第一目标帧率进行加权处理,得到第二目标帧率。
在步骤S5中,服务器根据该第二目标帧率确定目标垂直同步周期值。
在步骤S6中,服务器将目标线程的休眠时间设定为目标垂直同步周期值,并根据休眠时间进行休眠。
例如,可以通过构建硬件抽象层模块的数据结构,并构建该硬件抽象层模块的入口函数,通过该入口函数初始化该数据结构中的目标指针,以使得该目标指针记录垂直同步回调函数的地址信息,创建目标线程,通过目标线程读取系统属性,获取垂直同步周期值,为了防止目标线程在无需执行时占用中央处理器资源,可以调用线程休眠函数,通过该线程休眠函数将目标线程进行休眠,同时,为了可以实现以第二目标帧率进行图像的渲染和合成,可以将目标线程的休眠时间值设定为与目标垂直同步周期值对应的时长相同的时间值。
在步骤S7中,服务器当检测到休眠结束时,激活该目标线程,以执行垂直同步回调函数生成垂直同步信号。
在步骤S8中,服务器根据该垂直同步信号进行图像帧的合成,得到图像帧数据。
在步骤S9中,服务器对该图像帧数据进行编码处理,得到帧率为该第二目标帧率的目标视频数据流,并将该目标视频数据流推送至该目标客户端进行显示。
其中,服务器每得到一帧图像帧,便可以对该帧图像帧数据进行编码处理,以此得到帧率为该第二目标帧率的目标视频数据流,并将该目标视频数据流推送至该目标客户端中。
在步骤S10中,终端接收该服务器传输过来的目标视频数据流并进行显示。
终端接收该服务器传输过来的目标视频数据流,并进行目标视频数据流的解码,将解码后的视频帧在目标客户端中进行渲染并显示。
为便于更好的实施本申请实施例提供的数据处理方法,本申请实施例还提供一种基于上述数据处理方法的装置,该装置具体可以集成在服务器中。其中名词的含义与上述数据处理方法中相同,具体实现细节可以参考方法实施例中的说明。
例如,如图6所示,为本申请实施例提供的数据处理装置的结构示意图,该数据处理装置可以包括接收单元301、调节单元302、第一确定单元303、调用单元304、生成单元305、合成单元306和编码单元307,如下:
接收单元301,用于接收目标客户端发送的第一目标帧率和状态信息,该第一目标帧率根据该目标客户端中缓存的视频帧的数量确定;
调节单元302,用于根据该状态信息对该第一目标帧率进行调节,得到第二目标帧率;
第一确定单元303,用于根据该第二目标帧率确定目标垂直同步周期值;
调用单元304,用于将目标线程的休眠时间设定为目标垂直同步周期值,并根据休眠时间进行休眠;
生成单元305,用于当检测到休眠结束时,激活该目标线程,以执行垂直同步回调函数生成垂直同步信号;
合成单元306,用于根据该垂直同步信号进行图像帧的合成,得到图像帧数据;
编码单元307,用于对该图像帧数据进行编码处理,得到帧率为该第二目标帧率的目标视频数据流,并将该目标视频数据流推送至该目标客户端进行显示。
在一实施例中,该调节单元302,包括:
确定子单元,用于根据该状态信息确定目标预设权重;
第一加权子单元,用于根据该目标预设权重对该第一目标帧率进行加权处理,得到初始目标帧率;
第一获取子单元,用于获取该目标客户端对应的目标终端的电量信息;
第二加权子单元,用于当该电量信息满足预设条件时,根据预设权重对该初始目标帧率进行加权处理,得到第二目标帧率。
在一实施例中,该第二加权子单元,用于:
当该电量信息中的电量值大于第一预设阈值时,根据第一预设权重对该初始目标帧率进行加权处理,得到第二目标帧率;
当该电量信息中的电量值不大于该第一预设阈值时,根据第二预设权重对该初始目标帧率进行加权处理,得到第二目标帧率,该第二预设权重小于该第一预设权重。
在一实施例中,该调节单元302,包括:
第一调节子单元,用于根据该状态信息对该第一目标帧率进行调节,得到第一初始目标帧率;
检测子单元,用于检测该目标客户端对应的目标终端是否处于联机状态;
第二获取子单元,用于当检测到该目标终端处于联机状态时,获取和该目标终端进行联机的至少一个联机终端的第一初始目标帧率;
平均子单元,用于对该目标客户端的第一初始目标帧率和该联机终端的第一初始目标帧率进行平均处理,得到第二目标帧率。
在一实施例中,该调节单元中的状态信息,包括客户端对应的目标终端的中央处理器利用率、内存占用率和电量信息中的至少一种。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
由以上可知,本申请实施例通过接收单元301接收目标客户端发送的第一目标帧率和状态信息;调节单元302根据状态信息对第一目标帧率进行调节,得到第二目标帧率;第一确定单元303根据第二目标帧率确定目标垂直同步周期值;调用单元304将目标线程的休眠时间设定为目标垂直同步周期值,并根据休眠时间进行休眠;生成单元305当检测到休眠结束时,激活目标线程,以执行垂直同步回调函数生成垂直同步信号;合成单元306根据垂直同步信号进行图像帧的合成,得到图像帧数据;编码单元307对图像帧数据进行编码处理,得到帧率为第二目标帧率的目标视频数据流,并将目标视频数据流推送至目标客户端进行显示。以此,通过接收目标客户端发送的第一目标帧率以及状态信息,进而根据状态信息对第一目标帧率进行调节得到第二目标帧率,根据第二目标帧率确定垂直同步周期值并根据该垂直同步周期值生成垂直同步信号,进而根据垂直同步信号进行图像帧的合成和编码,得到帧率为第二目标帧率的目标视频数据流,以此实现灵活的调节云游戏的渲染帧率,提高视频数据流输出帧率的准确性。
为便于更好的实施本申请实施例提供的数据处理方法,本申请实施例还提供一种基于上述数据处理方法的装置,该装置具体可以集成在终端中。其中名词的含义与上述数据处理方法中相同,具体实现细节可以参考方法实施例中的说明。
例如,如图7所示,为本申请实施例提供的数据处理装置的结构示意图,该数据处理装置可以包括第二确定单元401、获取单元402、发送单元403和显示单元404,如下:
第二确定单元401,用于根据视频缓冲区中缓存的视频帧的数量确定第一目标帧率;
获取单元402,用于获取状态信息;
发送单元403,用于将该第一目标帧率和该状态信息发送至服务器;
显示单元404,用于接收该服务器传输过来的目标视频数据流并进行显示,该目标视频数据流为该服务器根据接收到的第一目标帧率和状态信息确定得到第二目标帧率,并根据该第二目标帧率进行图像帧的合成和编码得到,该目标视频数据流的帧率为该第二目标帧率。
在一实施例中,该第二确定单元401,包括:
监测子单元,用于监测视频缓冲区中缓存的视频帧的数量;
发送子单元,用于当监测到该视频帧的数量大于第二预设阈值时,将当前帧率降低预设调节帧率值,得到第一目标帧率,将该第一目标帧率发送至服务器。
在一实施例中,该第二确定单元401,包括:
设定子单元,用于设定预设采样频率;
采样子单元,用于根据该预设采样频率对该视频帧缓冲区中缓存的视频帧进行采样,得到该视频帧缓冲区中缓存的视频帧的数量;
第二调节子单元,用于若连续第一预设次数监测到该视频帧的数量为零,则将当前帧率增加第一预设调节帧率值,得到第一目标帧率;
第三调节子单元,用于若连续第二预设次数监测到该视频帧的数量为单调递增,则将当前帧率减去第二预设调节帧率值,得到第一目标帧率。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
相应的,请参阅图8,本发明实施例还提供一种数据处理系统,包括服务器501与终端502,该数据处理装置可以集成在服务器501中,该数据处理装置为本发明实施例所提供的任一种数据处理装置,具体可参见上述装置的实施例的说明。例如,以该数据处理装置具体集成在服务器501中为例,则:
服务器,用于接收目标客户端发送的第一目标帧率和状态信息;根据状态信息对第一目标帧率进行调节,得到第二目标帧率;根据第二目标帧率确定目标垂直同步周期值;将目标线程的休眠时间设定为目标垂直同步周期值,并根据休眠时间进行休眠;当检测到休眠结束时,激活目标线程,以执行垂直同步回调函数生成垂直同步信号;根据垂直同步信号进行图像帧的合成,得到图像帧数据;对图像帧数据进行编码处理,得到帧率为第二目标帧率的目标视频数据流,并将目标视频数据流推送至目标客户端进行显示。
该数据处理装置还可以集成在终端502中,具体可参见上述装置的实施例的说明。例如,以该数据处理装置具体集成在终端中为例,则:
该终端,用于根据视频缓冲区中缓存的视频帧的数量确定第一目标帧率,获取状态信息,将第一目标帧率和状态信息发送至服务器;接收服务器传输过来的目标视频数据流并进行显示,其中,该目标视频数据流为服务器根据接收到的第一目标帧率和状态信息确定得到第二目标帧率,并根据第二目标帧率进行图像帧的合成和编码得到,该目标视频数据流的帧率为第二目标帧率。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
由于该数据处理系统可以包括本发明实施例所提供的任一种数据处理装置,因此,可以实现本发明实施例所提供的任一种数据处理装置所能实现的有益效果,详见前面的实施例,在此不再赘述。
本申请实施例还提供一种计算机设备,如图9所示,其示出了本申请实施例所涉及的计算机设备的结构示意图,该计算机设备可以是服务器,具体来讲:
该计算机设备可以包括一个或者一个以上处理核心的处理器601、一个或一个以上计算机可读存储介质的存储器602、电源603和输入单元604等部件。本领域技术人员可以理解,图9中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器601是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器602内的软件程序和/或模块,以及调用存储在存储器602内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监测。可选的,处理器601可包括一个或多个处理核心;优选的,处理器601可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器601中。
存储器602可用于存储软件程序以及模块,处理器601通过运行存储在存储器602的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器602可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器602还可以包括存储器控制器,以提供处理器601对存储器602的访问。
计算机设备还包括给各个部件供电的电源603,优选的,电源603可以通过电源管理系统与处理器601逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源603还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该计算机设备还可包括输入单元604,该输入单元604可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器601会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器602中,并由处理器601来运行存储在存储器602中的应用程序,从而实现各种功能,如下:
接收目标客户端发送的第一目标帧率和状态信息;根据状态信息对第一目标帧率进行调节,得到第二目标帧率;根据第二目标帧率确定目标垂直同步周期值;将目标线程的休眠时间设定为目标垂直同步周期值,并根据休眠时间进行休眠;当检测到休眠结束时,激活目标线程,以执行垂直同步回调函数生成垂直同步信号;根据垂直同步信号进行图像帧的合成,得到图像帧数据;对图像帧数据进行编码处理,得到帧率为第二目标帧率的目标视频数据流,并将目标视频数据流推送至目标客户端进行显示。
以上各个操作的具体实施可参见前面的实施例,在此不作赘述。应当说明的是,本申请实施例提供的计算机设备与上文实施例中的适用于数据处理方法属于同一构思,其具体实现过程详见以上方法实施例,此处不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种数据处理方法中的步骤。例如,该指令可以执行如下步骤:
接收目标客户端发送的第一目标帧率和状态信息;根据状态信息对第一目标帧率进行调节,得到第二目标帧率;根据第二目标帧率确定目标垂直同步周期值;将目标线程的休眠时间设定为目标垂直同步周期值,并根据休眠时间进行休眠;当检测到休眠结束时,激活目标线程,以执行垂直同步回调函数生成垂直同步信号;根据垂直同步信号进行图像帧的合成,得到图像帧数据;对图像帧数据进行编码处理,得到帧率为第二目标帧率的目标视频数据流,并将目标视频数据流推送至目标客户端进行显示。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本申请实施例所提供的任一种数据处理方法中的步骤,因此,可以实现本申请实施例所提供的任一种数据处理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
其中,根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例提供的各种可选实现方式中提供的方法。
以上对本申请实施例所提供的一种数据处理方法、装置和存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (9)

1.一种数据处理方法,应用于服务器,其特征在于,包括:
接收目标客户端发送的第一目标帧率和状态信息,所述第一目标帧率根据所述目标客户端中缓存的视频帧的数量确定;
根据所述状态信息确定目标预设权重,所述状态信息包括目标客户端对应的目标终端的中央处理器利用率和内存占用率中的至少一种,所述目标预设权重为根据所述状态信息确定的用于调节所述第一目标帧率的权重,其中,所述目标客户端安装在所述目标终端上;
根据所述目标预设权重对所述第一目标帧率进行加权处理,得到初始目标帧率,所述初始目标帧率为基于所述状态信息对所述第一目标帧率进行调节后的帧率;
获取所述目标客户端对应的目标终端的电量信息;
当所述电量信息满足预设条件时,根据预设权重对所述初始目标帧率进行加权处理,得到第二目标帧率;
根据所述第二目标帧率确定目标垂直同步周期值;
将目标线程的休眠时间设定为所述目标垂直同步周期值,并根据所述休眠时间进行休眠;
当检测到休眠结束时,激活所述目标线程,以执行垂直同步回调函数生成垂直同步信号;
根据所述垂直同步信号进行图像帧的合成,得到图像帧数据;
对所述图像帧数据进行编码处理,得到帧率为所述第二目标帧率的目标视频数据流,并将所述目标视频数据流推送至所述目标客户端进行显示。
2.如权利要求1所述的数据处理方法,其特征在于,所述当所述电量信息满足预设条件时,根据预设权重对所述初始目标帧率进行加权处理,得到第二目标帧率,包括:
当所述电量信息中的电量值大于第一预设阈值时,根据第一预设权重对所述初始目标帧率进行加权处理,得到第二目标帧率;
当所述电量信息中的电量值不大于所述第一预设阈值时,根据第二预设权重对所述初始目标帧率进行加权处理,得到第二目标帧率,所述第二预设权重小于所述第一预设权重。
3.如权利要求1所述的数据处理方法,其特征在于,所述根据预设权重对所述初始目标帧率进行加权处理,得到第二目标帧率,包括:
根据预设权重对所述初始目标帧率进行加权处理,得到第一初始目标帧率;
检测所述目标客户端对应的目标终端是否处于联机状态;
当检测到所述目标终端处于联机状态时,获取和所述目标终端进行联机的至少一个联机终端的第一初始目标帧率;
对所述目标客户端的第一初始目标帧率和所述联机终端的第一初始目标帧率进行平均处理,得到第二目标帧率。
4.一种数据处理方法,应用于目标终端,其特征在于,包括:
根据安装在所述目标终端的目标客户端的视频缓冲区中缓存的视频帧的数量确定第一目标帧率;
获取状态信息,所述状态信息包括目标客户端对应的目标终端的中央处理器利用率和内存占用率中的至少一种;
将所述第一目标帧率和所述状态信息发送至服务器;
接收所述服务器传输过来的目标视频数据流并进行显示,所述目标视频数据流为所述服务器根据接收到的状态信息确定目标预设权重,根据所述目标预设权重对所述第一目标帧率进行加权处理,得到初始目标帧率,获取所述目标终端的电量信息,当所述电量信息满足预设条件时,根据预设权重对所述初始目标帧率进行加权处理,得到第二目标帧率,并根据所述第二目标帧率进行图像帧的合成和编码得到,所述目标视频数据流的帧率为所述第二目标帧率。
5.如权利要求4所述的数据处理方法,其特征在于,所述根据安装在所述目标终端的目标客户端的视频缓冲区中缓存的视频帧的数量确定第一目标帧率,包括:
监测安装在所述目标终端的目标客户端的视频缓冲区中缓存的视频帧的数量;
当监测到所述视频帧的数量大于第二预设阈值时,将当前帧率降低预设调节帧率值,得到第一目标帧率。
6.如权利要求4所述的数据处理方法,其特征在于,所述根据安装在所述目标终端的目标客户端的视频缓冲区中缓存的视频帧的数量确定第一目标帧率,包括:
设定预设采样频率;
根据所述预设采样频率对安装在所述目标终端的目标客户端的视频帧缓冲区中缓存的视频帧进行采样,得到所述视频帧缓冲区中缓存的视频帧的数量;
若连续第一预设次数监测到所述视频帧的数量为零,则将当前帧率增加第一预设调节帧率值,得到第一目标帧率;
若连续第二预设次数监测到所述视频帧的数量为单调递增,则将当前帧率减去第二预设调节帧率值,得到第一目标帧率。
7.一种数据处理装置,其特征在于,包括:
接收单元,用于接收目标客户端发送的第一目标帧率和状态信息,所述第一目标帧率根据所述目标客户端中缓存的视频帧的数量确定;
调节单元,用于根据所述状态信息确定目标预设权重,所述状态信息包括目标客户端对应的目标终端的中央处理器利用率和内存占用率中的至少一种,所述目标预设权重为根据所述状态信息确定的用于调节所述第一目标帧率的权重,其中,所述目标客户端安装在所述目标终端上,根据所述目标预设权重对所述第一目标帧率进行加权处理,得到初始目标帧率,所述初始目标帧率为基于所述状态信息对所述第一目标帧率进行调节后的帧率,获取所述目标客户端对应的目标终端的电量信息,当所述电量信息满足预设条件时,根据预设权重对所述初始目标帧率进行加权处理,得到第二目标帧率;
第一确定单元,用于根据所述第二目标帧率确定目标垂直同步周期值;
调用单元,用于将目标线程的休眠时间设定为所述目标垂直同步周期值,并根据所述休眠时间进行休眠;
生成单元,用于当检测到休眠结束时,激活所述目标线程,以执行垂直同步回调函数生成垂直同步信号;
合成单元,用于根据所述垂直同步信号进行图像帧的合成,得到图像帧数据;
编码单元,用于对所述图像帧数据进行编码处理,得到帧率为所述第二目标帧率的目标视频数据流,并将所述目标视频数据流推送至所述目标客户端进行显示。
8.一种存储介质,其特征在于,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至3任一项或权利要求4至6任一项所述的数据处理方法中的步骤。
9.一种计算机设备,其特征在于,包括存储器、处理器以及存储在所述存储器中并可以在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1至3任一项或权利要求4至6中任一项所述的数据处理方法。
CN202110540551.7A 2021-05-18 2021-05-18 一种数据处理方法、装置和存储介质 Active CN113347466B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110540551.7A CN113347466B (zh) 2021-05-18 2021-05-18 一种数据处理方法、装置和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110540551.7A CN113347466B (zh) 2021-05-18 2021-05-18 一种数据处理方法、装置和存储介质

Publications (2)

Publication Number Publication Date
CN113347466A CN113347466A (zh) 2021-09-03
CN113347466B true CN113347466B (zh) 2022-12-20

Family

ID=77470900

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110540551.7A Active CN113347466B (zh) 2021-05-18 2021-05-18 一种数据处理方法、装置和存储介质

Country Status (1)

Country Link
CN (1) CN113347466B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116157186A (zh) * 2021-09-23 2023-05-23 谷歌有限责任公司 基于游戏交互状态的自动化帧调步
CN114338949B (zh) * 2021-12-15 2023-07-11 深圳市洲明科技股份有限公司 接收卡装置及显示设备
CN116521115A (zh) * 2022-01-30 2023-08-01 荣耀终端有限公司 数据处理方法和相关装置
CN114245197B (zh) * 2022-02-24 2022-05-17 广州市保伦电子有限公司 一种音视频互动低延迟传输方法及后台服务器
CN115273763B (zh) * 2022-06-16 2024-02-06 北京小米移动软件有限公司 画面合成帧率调整方法及装置、显示设备及存储介质
CN115168056B (zh) * 2022-09-02 2022-12-02 深圳华锐分布式技术股份有限公司 基于资源配置的信息处理方法、装置、设备及介质
CN115278366B (zh) * 2022-09-28 2023-03-24 天津卓朗昆仑云软件技术有限公司 虚拟机视频流的数据处理方法、装置以及电子设备
CN115883899A (zh) * 2022-11-24 2023-03-31 重庆紫光华山智安科技有限公司 图像同屏播放方法、系统、电子设备及可读存储介质
CN117156300B (zh) * 2023-10-30 2024-02-02 北原科技(深圳)有限公司 基于图像传感器的视频流合成方法和装置、设备、介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101552909A (zh) * 2009-04-28 2009-10-07 山东大学 基于无线视频监控的帧率控制方法
CN108733193A (zh) * 2018-03-27 2018-11-02 广东欧珀移动通信有限公司 智能调整帧率的方法、装置、存储介质及智能终端
CN109600666A (zh) * 2018-12-12 2019-04-09 网易(杭州)网络有限公司 游戏场景中的视频播放方法、装置、介质以及电子设备
CN111882626A (zh) * 2020-08-06 2020-11-03 腾讯科技(深圳)有限公司 图像处理方法、装置、服务器及介质
CN112104879A (zh) * 2020-11-13 2020-12-18 腾讯科技(深圳)有限公司 一种视频编码方法、装置、电子设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101552909A (zh) * 2009-04-28 2009-10-07 山东大学 基于无线视频监控的帧率控制方法
CN108733193A (zh) * 2018-03-27 2018-11-02 广东欧珀移动通信有限公司 智能调整帧率的方法、装置、存储介质及智能终端
CN109600666A (zh) * 2018-12-12 2019-04-09 网易(杭州)网络有限公司 游戏场景中的视频播放方法、装置、介质以及电子设备
CN111882626A (zh) * 2020-08-06 2020-11-03 腾讯科技(深圳)有限公司 图像处理方法、装置、服务器及介质
CN112104879A (zh) * 2020-11-13 2020-12-18 腾讯科技(深圳)有限公司 一种视频编码方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN113347466A (zh) 2021-09-03

Similar Documents

Publication Publication Date Title
CN113347466B (zh) 一种数据处理方法、装置和存储介质
CN111882626B (zh) 图像处理方法、装置、服务器及介质
US11909984B2 (en) Video encoding and decoding for cloud gaming
US20180199041A1 (en) Altering streaming video encoding based on user attention
US20230215076A1 (en) Image frame display method, apparatus, device, storage medium, and program product
CN111654720B (zh) 视频编码方法、装置、设备及可读存储介质
US20110141123A1 (en) Push Pull Adaptive Capture
US20230362430A1 (en) Techniques for managing generation and rendering of user interfaces on client devices
US20060227141A1 (en) System for efficient remote projection of rich interactive user interfaces
CN106303674B (zh) 数据传输方法、装置和智能电视系统
CN112422873A (zh) 插帧方法、装置、电子设备及存储介质
CN111314741A (zh) 视频超分处理方法、装置、电子设备及存储介质
CN108769816B (zh) 一种视频播放方法、装置及存储介质
CN112843676B (zh) 数据处理方法、装置、终端、服务器及存储介质
WO2016202201A1 (zh) 一种资源分配方法、装置和智能电视系统
CN103795973A (zh) 用于非实时操作系统中的音频/视频同步的抖动取消
CN113973224A (zh) 媒体信息的传输方法、计算设备及存储介质
KR20170100079A (ko) 네트워크 환경 적응형 클라우드 스트리밍 서비스 제공시스템 및 그 방법
CN114095769A (zh) 一种应用级播放器的直播低延迟处理方法及显示设备
CN114265648B (zh) 编码调度方法、服务器及客户端和获取远程桌面的系统
CN114554277B (zh) 多媒体的处理方法、装置、服务器及计算机可读存储介质
Chandra et al. Understanding screen contents for building a high performance, real time screen sharing system
CN115278278B (zh) 一种页面显示方法、装置、电子设备及存储介质
CN116980682A (zh) 动图播放方法、装置及存储介质
CN117714777A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40052346

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant