CN113422983B - 数据处理方法、计算机设备和存储介质 - Google Patents

数据处理方法、计算机设备和存储介质 Download PDF

Info

Publication number
CN113422983B
CN113422983B CN202110974007.3A CN202110974007A CN113422983B CN 113422983 B CN113422983 B CN 113422983B CN 202110974007 A CN202110974007 A CN 202110974007A CN 113422983 B CN113422983 B CN 113422983B
Authority
CN
China
Prior art keywords
picture frame
resolution
adjustment
frame
picture
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
CN202110974007.3A
Other languages
English (en)
Other versions
CN113422983A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202110974007.3A priority Critical patent/CN113422983B/zh
Publication of CN113422983A publication Critical patent/CN113422983A/zh
Application granted granted Critical
Publication of CN113422983B publication Critical patent/CN113422983B/zh
Priority to JP2023569620A priority patent/JP2024517915A/ja
Priority to PCT/CN2022/109380 priority patent/WO2023024832A1/zh
Priority to EP22860178.7A priority patent/EP4294021A1/en
Priority to US18/144,054 priority patent/US20240040147A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • 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/234363Processing 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 spatial resolution, e.g. for clients with a lower screen resolution
    • 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
    • A63F13/35Details of game servers
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an MPEG-stream for transmitting to a mobile phone or a thin client
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4053Super resolution, i.e. output image resolution higher than sensor resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • 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/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • 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/440263Processing 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 spatial resolution, e.g. for displaying on a connected PDA

Abstract

本申请公开了一种数据处理方法、计算机设备和存储介质,该方法包括:当编码得到应用客户端的第一画面帧时,应用服务器检测第一画面帧的数据量;若第一画面帧的数据量大于或等于数据量阈值,则对第一画面帧进行画面缩小调整得到第一调整画面帧;对第一调整画面帧进行编码,得到第一调整画面帧的画面帧码流;将画面帧码流发送给应用客户端,以使应用客户端根据画面帧码流显示第二画面帧;第二画面帧是由应用客户端对画面帧码流进行解码得到第一调整画面帧后,将第一调整画面帧的分辨率调整回第一分辨率后得到。采用本申请,可提高针对第一画面帧的码流传输速度,进而提升画面帧显示的流畅性。

Description

数据处理方法、计算机设备和存储介质
技术领域
本申请涉及数据处理的技术领域,尤其涉及一种数据处理方法、计算机设备和存储介质。
背景技术
应用客户端中所显示的画面帧通常是由应用客户端的应用服务器编码得到。当在应用客户端中发生场景切换(例如从一个应用场景切换到另一个应用场景)时,应用服务器所编码得到的场景切换后的画面帧的数据量通常会很大,若此时应用服务器直接将该画面帧的码流传输给应用客户端,会导致码流传输速度慢,进而导致应用客户端在显示该画面帧时发生卡顿。因此,如何提高码流传输速度进而提升应用客户端显示画面帧时的流畅性成为一个热门问题。
发明内容
本申请提供了一种数据处理方法、计算机设备和存储介质,可减少针对第一画面帧的码流数据传输量,提高针对第一画面帧的码流传输速度,进而提升画面帧显示的流畅性。
本申请一方面提供了一种数据处理方法,该方法可以应用于应用服务器,该方法包括:
当编码得到应用客户端的第一画面帧时,检测第一画面帧的数据量;
若第一画面帧的数据量大于或等于数据量阈值,则对第一画面帧进行画面缩小调整,得到第一调整画面帧;第一画面帧的分辨率为第一分辨率,第一调整画面帧的分辨率为第二分辨率,第二分辨率小于第一分辨率;
对第一调整画面帧进行编码,得到第一调整画面帧的画面帧码流;
将画面帧码流发送给应用客户端,以使应用客户端根据画面帧码流显示第二画面帧;第二画面帧是由应用客户端对画面帧码流进行解码得到第一调整画面帧后,将第一调整画面帧的分辨率调整回第一分辨率后得到。
本申请一方面提供了一种数据处理方法,该方法可以应用于应用客户端,该方法包括:
获取应用服务器发送的画面帧码流;画面帧码流是对第一调整画面帧进行编码得到,第一调整画面帧是对应用客户端的第一画面帧进行画面缩小调整后得到,第一画面帧的数据量大于或等于数据量阈值,第一画面帧的分辨率为第一分辨率,第一调整画面帧的分辨率为第二分辨率,第二分辨率小于第一分辨率;
对画面帧码流进行解码,得到第一调整画面帧;
将第一调整画面帧的分辨率调整回第一分辨率,得到第二画面帧,并显示第二画面帧。
本申请一方面提供了一种数据处理装置,该装置可以应用于应用服务器,该装置包括:
画面编码模块,用于当编码得到应用客户端的第一画面帧时,检测第一画面帧的数据量;
缩小模块,用于若第一画面帧的数据量大于或等于数据量阈值,则对第一画面帧进行画面缩小调整,得到第一调整画面帧;第一画面帧的分辨率为第一分辨率,第一调整画面帧的分辨率为第二分辨率,第二分辨率小于第一分辨率;
码流编码模块,用于对第一调整画面帧进行编码,得到第一调整画面帧的画面帧码流;
发送模块,用于将画面帧码流发送给应用客户端,以使应用客户端根据画面帧码流显示第二画面帧;第二画面帧是由应用客户端对画面帧码流进行解码得到第一调整画面帧后,将第一调整画面帧的分辨率调整回第一分辨率后得到。
可选的,缩小模块对第一画面帧进行画面缩小调整,得到第一调整画面帧的方式,包括:
获取针对第一画面帧的横向缩小比例和纵向缩小比例;
根据横向缩小比例和纵向缩小比例对第一画面帧进行画面缩小调整,得到第一调整画面帧。
可选的,缩小模块根据横向缩小比例和纵向缩小比例对第一画面帧进行画面缩小调整,得到第一调整画面帧的方式,包括:
基于横向缩小比例对第一画面帧中横向的像素值进行采样,得到横向采样像素值;
基于纵向缩小比例对第一画面帧中纵向的像素值进行采样,得到纵向采样像素值;
基于横向采样像素值和纵向采样像素值生成第一调整画面帧。
可选的,码流编码模块对第一调整画面帧进行编码,得到第一调整画面帧的画面帧码流的方式,包括:
对第一调整画面帧进行编码,得到第一调整画面帧的初始画面帧码流;
将横向缩小比例和纵向缩小比例添加到初始画面帧码流中,得到画面帧码流。
可选的,码流编码模块对第一调整画面帧进行编码,得到第一调整画面帧的画面帧码流的方式,包括:
获取分辨率为第一分辨率的空白画面帧;
将第一调整画面帧拷贝到空白画面帧中,得到第一拷贝画面帧;
对第一拷贝画面帧进行编码,得到画面帧码流。
可选的,码流编码模块对第一拷贝画面帧进行编码,得到画面帧码流的方式,包括:
获取应用客户端的第一画面帧的上一个画面帧,作为第一画面帧的参考画面帧;
对第一画面帧的参考画面帧进行画面缩小调整,得到第二调整画面帧;
将第二调整画面帧拷贝到空白画面帧中,得到第二拷贝画面帧;
根据第二拷贝画面帧对第一拷贝画面帧进行编码,得到画面帧码流。
可选的,应用客户端为游戏客户端;若第一画面帧的数据量大于或等于数据量阈值,则缩小模块对第一画面帧进行画面缩小调整,得到第一调整画面帧的方式,包括:
若第一画面帧属于游戏客户端的进行场景切换时的游戏画面帧,且第一画面帧的数据量大于或等于数据量阈值,则对第一画面帧进行画面缩小调整,得到第一调整画面帧。
可选的,上述装置还用于:
获取针对应用客户端的画面帧的单位传输数据量和单位传输帧数;
根据单位传输数据量和单位传输帧数确定平均帧数据量;
根据平均帧数据量确定数据量阈值。
可选的,上述装置还用于:
对第一调整画面帧进行超分辨率调整,得到第二画面帧;
将第二画面帧作为第一画面帧的下一个画面帧的参考画面帧;第一画面帧的下一个画面帧的参考画面帧用于对第一画面帧的下一个画面帧进行编码。
本申请一方面提供了一种数据处理装置,该装置可以应用于应用客户端,该装置包括:
码流获取模块,用于获取应用服务器发送的画面帧码流;画面帧码流是对第一调整画面帧进行编码得到,第一调整画面帧是对应用客户端的第一画面帧进行画面缩小调整后得到,第一画面帧的数据量大于或等于数据量阈值,第一画面帧的分辨率为第一分辨率,第一调整画面帧的分辨率为第二分辨率,第二分辨率小于第一分辨率;
码流解码模块,用于对画面帧码流进行解码,得到第一调整画面帧;
分辨率调整模块,用于将第一调整画面帧的分辨率调整回第一分辨率,得到第二画面帧,并显示第二画面帧。
可选的,画面帧码流包括对第一画面帧进行画面缩小调整时针对第一画面帧的横向缩小比例和纵向缩小比例;
码流解码模块对画面帧码流进行解码,得到第一调整画面帧的方式,包括:
从画面帧码流中解析出横向缩小比例和纵向缩小比例;
对画面帧码流进行解码,得到第一拷贝画面帧;第一拷贝画面帧是由应用服务器通过将第一调整画面帧拷贝到空白画面帧中得到,空白画面帧的分辨率为第一分辨率;
根据横向缩小比例和纵向缩小比例,从第一拷贝画面帧中提取得到第一调整画面帧。
可选的,分辨率调整模块将第一调整画面帧的分辨率调整回第一分辨率,得到第二画面帧的方式,包括:
基于横向缩小比例和纵向缩小比例,对第一调整画面帧进行超分辨率调整;
将进行超分辨率调整后的第一调整画面帧确定为第二画面帧。
可选的,码流解码模块对画面帧码流进行解码,得到第一拷贝画面帧的方式,包括:
获取应用客户端中第一画面帧的上一个画面帧,作为第一画面帧的参考画面帧;
对第一画面帧的参考画面帧进行画面缩小调整,得到第二调整画面帧;
将第二调整画面帧拷贝到空白画面帧中,得到第二拷贝画面帧;
根据第二拷贝画面帧对画面帧码流进行解码,得到第一拷贝画面帧。
本申请一方面提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行本申请中一方面中的方法。
本申请一方面提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令被处理器执行时使该处理器执行上述一方面中的方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述一方面等各种可选方式中提供的方法。
本申请当应用服务器编码得到应用客户端的第一画面帧时,应用服务器可以检测第一画面帧的数据量;若第一画面帧的数据量大于或等于数据量阈值,则对第一画面帧进行画面缩小调整,得到第一调整画面帧;第一画面帧的分辨率为第一分辨率,第一调整画面帧的分辨率为第二分辨率,第二分辨率小于第一分辨率;对第一调整画面帧进行编码,得到第一调整画面帧的画面帧码流;将画面帧码流发送给应用客户端,以使应用客户端根据画面帧码流显示第二画面帧;第二画面帧是由应用客户端对画面帧码流进行解码得到第一调整画面帧后,将第一调整画面帧的分辨率调整回第一分辨率后得到。由此可见,本申请提出的方法应用服务器对于场景切换的画面帧(即数据量大于或者等于数据量阈值的第一画面帧),可以对该画面帧进行画面缩小调整后再编码得到对应的码流发送给应用客户端,应用客户端可以对获取到的码流进行解码并将解码得到的画面帧的分辨率调整回原始的第一分辨率后再进行显示,保证了所显示的画面帧(如第二画面帧)的画质的前提下,降低了所传输的画面帧的码流的数据量,提高了画面帧的码流的传输速度,进而提高了应用客户端在显示场景切换的画面帧时的流畅性。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种网络架构的结构示意图;
图2是本申请提供的一种画面帧编码的场景示意图;
图3是本申请提供的一种数据处理方法的流程示意图;
图4是本申请提供的一种场景切换的画面示意图;
图5是本申请提供的一种画面帧编码的原理示意图;
图6是本申请提供的一种画面帧编码的场景示意图;
图7是本申请提供的一种画面帧编码的场景示意图;
图8是本申请提供的一种画面帧编码的流程示意图;
图9是本申请提供的一种数据处理方法的流程示意图;
图10是本申请提供的一种缩小画面帧的场景示意图;
图11是本申请提供的一种数据处理方法的流程示意图;
图12是本申请提供的一种画面帧解码的场景示意图;
图13是本申请提供的一种画面帧解码的流程示意图;
图14是本申请提供的一种数据处理装置的结构示意图;
图15是本申请提供的一种数据处理装置的结构示意图;
图16是本申请提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参见图1,图1是本申请实施例提供的一种网络架构的结构示意图。如图1所示,网络架构可以包括服务器200和终端设备集群100,终端设备集群100可以包括一个或者多个终端设备,这里将不对终端设备的数量进行限制。如图1所示,终端设备集群100中的各个终端设备均可以与服务器200进行网络连接,以便于每个终端设备均可以通过网络连接与服务器200之间进行数据交互。
如图1所示的服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备可以是:智能手机、平板电脑、笔记本电脑、桌上型电脑、智能电视等智能终端。
其中,服务器200可以是云游戏客户端的后台服务器,因此也可以称服务器200为云游戏服务器,终端设备(可以是终端设备集群中的任意一个终端设备)中可以包括云游戏客户端。服务器200可以在操作系统容器中对游戏进行渲染得到游戏画面帧后,对游戏画面帧进行视频编码,得到游戏画面帧的码流(二进制码)。进而,服务器200可以将编码得到码流通过网络发送给终端设备,进而终端设备可以通过云游戏客户端对该码流进行解码得到游戏画面帧,并可以通过屏幕显示解码得到的游戏画面帧。其中,游戏画面帧是游戏视频中的各个画面帧,对游戏画面帧进行编码和解码也就是对游戏视频进行编码和解码。
请一并参见图2,图2是本申请提供的一种画面帧编码的场景示意图。如图2所示,云游戏服务器(如上述服务器200)在编码得到云游戏客户端的第一画面帧时,可以检测该第一画面帧的数据量,该第一画面帧可以是云游戏客户端中的任意一帧画面,换句话说,云游戏服务器每在编码得到云游戏客户端的一个画面帧时,都可以检测所编码得到的画面帧的数据量。
若云游戏服务器在检测到第一画面帧的数据量小于数据量阈值(可以根据实际应用场景进行设置),则云游戏服务器可以直接对该第一画面帧进行编码,得到该第一画面帧原始的码流(如框100a),云游戏服务器可以将该第一画面帧原始的码流发送给终端设备(可以是上述终端设备集群100中的任意一个终端设备),进而终端设备即可对该码流进行解码得到第一画面帧后,并在前端对该第一画面帧进行显示(如框101a)。
而若云游戏服务器检测到第一画面帧的数据量大于或者等于数据量阈值,通常该第一画面帧为场景切换的画面帧,则云游戏服务器可以对该第一画面帧进行画面缩小调整(如框102a),对画面帧进行画面缩小调整可以是指降低画面帧的分辨率,进而云游戏服务器可以对进行画面缩小调整的第一画面帧进行编码,得到对应的码流(如框103a),该码流的数据量相较于直接对第一画面帧进行编码所得到的码流的数据量要小。云游戏服务器可以将对进行画面缩小调整的第一画面帧进行编码得到的码流发送给终端设备,使得终端设备也可以对获取到的码流进行解码,并得到进行画面缩小调整的第一画面帧,终端设备还可以对该进行画面缩小调整的第一画面帧进行超分辨调整,得到分辨率与第一画面帧相同的画面帧,并在前端显示该画面帧,由于该画面帧的分辨率与第一画面帧的分辨率相同,因此,此时所显示的该画面帧的画质相较于第一画面帧不会有明显的变化。
采用本申请所提供的方法,由于场景切换的画面帧的数据量通常比较大,因此,对于场景切换的数据量比较大的画面帧,可以先对该画面帧进行画面缩小调整后再编码,此时编码得到的码流的数据量会比对原始的画面帧进行编码所得到的码流的数据量要少很多,因此,云游戏服务器将此时编码得到的码流发送给云游戏客户端时其速度也会更快,这使得云游戏客户端可以以更快的速度显示相应的画面帧(如对进行画面缩小调整的第一画面帧进行超分辨调整后的画面帧),进而使得用户感觉不到画面帧显示的卡顿。
请参见图3,图3是本申请提供的一种数据处理方法的流程示意图。如图3所示,该方法可以包括:
步骤S101,当编码得到应用客户端的第一画面帧时,检测第一画面帧的数据量;
可选的,本申请实施例中的执行主体可以是应用服务器(如上述服务器200,该应用服务器可以是上述云游戏服务器),该应用服务器可以是应用客户端的后台服务器,该应用客户端可以是任意一个可以显示画面帧的客户端,该应用客户端可以存在于终端设备(如上述终端设备集群100中的终端设备,该应用客户端可以是上述云游戏客户端)中,该应用客户端可以是终端设备中安装的一个app(应用程序),或者,该应用客户端也可以是终端设备中的网页客户端,对此不作限制。可以理解的是,下述中应用客户端所执行操作可以是通过所在的终端设备来执行的,上述应用服务器的数量可以是1个也可以是多个,若为多个,则多个应用服务器可以构成分布式数据处理系统来分布式地执行本申请实施例所提供的方法。
应用客户端中所显示的每个画面帧都可以是由应用服务器编码得到的,第一画面帧可以是应用服务器编码得到的任意一个画面帧,当应用服务器编码得到第一画面帧时,应用服务器就可以检测该第一画面帧的数据量(单位可以是字节),换句话说,应用服务器每在编码得到应用客户端的一个画面帧时,就可以检测所编码得到的画面帧的数据量。一个画面帧可以是一个图像帧。
其中,可以理解的是,应用客户端中所显示的各个画面帧可以根据用户的用户操作来进行显示,例如用户对应用客户端中的按钮进行点击进而切换显示到对应的画面帧。或者,应用客户端还可以是云游戏客户端(也可以称之为游戏客户端),支持用户在该云游戏客户端中玩云端游戏,因此,应用客户端中各个画面帧还可以是用户在玩云端游戏的过程中根据用户的相关游戏操作所显示的游戏画面,第一画面帧可以是该云游戏客户端中的游戏画面帧。而应用服务器可以获取到用户在应用客户端中的用户操作,进而对用户操作所请求显示的画面帧进行编码,并将编码得到的画面帧以码流的形式给到应用客户端,应用客户端对获取到的码流进行解码后即可得到对应的画面帧进行显示。
步骤S102,若第一画面帧的数据量大于或等于数据量阈值,则对第一画面帧进行画面缩小调整,得到第一调整画面帧;第一画面帧的分辨率为第一分辨率,第一调整画面帧的分辨率为第二分辨率,第二分辨率小于第一分辨率;
可选的,若应用服务器检测到第一画面帧的数据量大于或者等于数据量阈值,则应用服务器可以对第一画面帧进行画面缩小调整。可以理解的是,对于所编码的应用客户端的一些进行场景切换时的画面帧,该画面帧的数据量通常就会大于或者等于该数据量阈值,因此,通过对数据量大于或者等于数据量阈值的画面帧进行画面缩小调整,可以使得后续所获取到的该画面帧对应的码流的数据量更少,进而使得应用服务器将该画面帧对应的码流传输给应用客户端时其传输速度更快,以实现应用客户端可以以更小的延时来显示(具体表现为无卡顿显示)进行场景切换时的画面帧,该画面帧可以是第一画面帧,显示该画面帧可以是指显示该第一画面帧对应的第二画面帧,该第二画面帧具有与第一画面帧相同的画面内容,但是该第二画面帧是对第一画面帧对应的减少数据量后的码流进行解码得到,具体可以参见下述步骤S103中所描述的相关内容。
可选的,上述应用客户端可以是游戏客户端,应用服务器也可以在检测到第一画面帧的数据量大于或者等于数据量阈值,且第一画面帧为游戏客户端中进行场景切换时的画面帧时,对第一画面帧进行画面缩小调整。
其中,当从应用客户端的画面帧a切换到应用客户端的画面帧b时,若画面帧a中的画面内容与画面帧b中的画面内容具有极大的不同(例如画面帧a属于游戏中的游戏对战画面,画面帧b属于游戏结束后的游戏结算画面),则可以认为画面帧b是应用客户端进行场景切换的画面帧,换句话说,场景切换的画面帧可以指相较于该画面帧的前一个画面帧而言,该画面帧的画面内容所属的内容类型(或内容场景)发生了变化。再例如,在游戏客户端中进行场景切换可以指从游戏客户端的游戏登录的场景切换到游戏客户端的游戏登录后的场景,此时切换后的画面帧与切换前的画面帧差异极大,切换后的画面帧就可以是上述第一画面帧,当发生场景切换时,场景切换后的第一画面帧的数据量通常就会很大(如大于数据量阈值)。
请参见图4,图4是本申请提供的一种场景切换的画面示意图。画面帧100b是扫码登录界面的画面帧,画面帧101b是游戏登录界面的画面帧,在从画面帧100b跳转显示到画面帧101b,画面帧101b就属于进行场景切换时的画面帧。
其中,上述数据量阈值可以根据实际应用场景进行设置,对此不作限制。此处提供一种获取数据量阈值的方法,具体如下:
应用服务器可以获取到针对应用客户端的单位传输数据量和单位传输帧数。该单位传输数据量的单位可以是比特,该单位传输数据量表明针对应用客户端的每秒传输比特数,该单位传输数据量可以表示为Mbps。该单位传输帧数的单位可以是帧,该单位传输帧数表明针对应用客户端的每秒传输帧数,该单位传输帧数可以表示为fps。
因此,应用服务器可以通过上述单位传输数据量和单位传输帧数得到平均帧数据量,该平均帧数据量可以表明一般所传输的一个画面帧的数据量,例如,可以用单位传输数据量除以单位传输帧数即可得到平均帧数据量。而一般用户对于一两帧的抖动不会有太明显的感觉,但是如果超过3帧,用户在视觉上就会有一个比较大的卡顿的感觉,因此,数据量阈值可以设置为平均帧数据量的3倍。
举个例子,通常单位传输数据量可以等于3Mbps,单位传输帧数通常可以等于30fps,因此,平均帧数据量通常可以等3Mbps/30fps= 100kbits(即100k比特) =12.5kbytes(即12.5k字节),其中,3M表示3000k,k表示千(即1000),因此,数据量阈值可以等于12.5kbytes*3=37.5kbytes(即37.5k字节)。
因此,若第一画面帧的数据量大于或者等于数据量阈值,应用服务器就可以对第一画面帧进行画面缩小调整,可以将进行画面缩小调整的第一画面帧称之为第一调整画面帧,对画面帧进行缩小调整可以指缩小画面帧的分辨率。例如,可以将第一画面帧的分辨率记为第一分辨率,可以将第一调整画面帧的分辨率记为第二分辨率,第二分辨率小于第一分辨率,例如,第一分辨率可以是1280*720,第二分辨率可以是640*360,第一分辨率是第二分辨率的4倍,第二分辨率是第一分辨率的1/4。其中,对第一画面帧进行画面缩小调整的具体过程可以参见下述图9对应实施例中的描述。
而若第一画面帧的数据量小于上述数据量阈值,则可以不对第一画面帧进行画面缩小调整。
步骤S103,对第一调整画面帧进行编码,得到第一调整画面帧的画面帧码流;
可选的,应用服务器可以对上述第一调整画面帧进行编码,以得到第一调整画面帧的画面帧码流(可以简称为码流),该码流的单位可以是字节或者比特,因此,可以将该码流称之为字节流或者比特流。
其中,在对第一画面帧进行画面缩小调整通常是通过针对第一画面帧的横向缩小比例和纵向缩小比例(具体可以参见下述图9对应实施例中的描述)进行缩小的,第一调整画面帧的画面帧码流中还可以包括该横向缩小比例和纵向缩小比例,此外,该画面帧码流中还可以包括缩小标识(即缩小flag),该缩小标识用于指示第一调整画面帧是进行画面缩小调整后得到,若是未进行画面缩小调整的画面帧的码流中则可以不包含该缩小标识。上述第一调整画面帧的画面帧码流中所包含的横向缩小比例、纵向缩小比例和缩小标识都可以称之为SEI信息(补充增强信息)。
其中,应用服务器对第一调整画面帧进行编码的具体过程可以是:
应用服务器可以获取分辨率为上述第一分辨率(如1280*720)的空白画面帧,应用服务器可以将第一调整画面帧拷贝到该空白画面帧中,例如可以拷贝到该空白画面帧的左上角,可以将拷贝有第一调整画面帧的空白画面帧称之为第一拷贝画面帧。由于第一调整画面帧的第二分辨率(如640*360)小于第一分辨率,因此,将第一调整画面帧拷贝到空白画面帧中之后,第一拷贝画面帧中还包括一部分空白的区域,该部分空白的区域中的像素值可以全部等于0,而第一拷贝画面帧中非空白部分的区域中的像素值则可以是第一调整画面帧中所包含的像素值。
其中,可以理解的是,本申请通过将第一调整画面帧拷贝到空白画面帧中,得到第一拷贝画面帧后,再对该第一拷贝画面帧进行编码以实现对第一调整画面帧的编码的原因是:应用服务器可以通过编码器对画面帧进行编码,以得到画面帧的码流,而对于数据量小于数据量阈值的画面帧(下述可以称之为常规画面帧)而言,其不需要进行画面缩小调整,因此可以通过编码器对数据量小于数据量阈值的常规画面帧直接进行编码,以得到该常规画面帧对应的码流。
而对于数据量大于或者等于数据量阈值的画面帧(如上述第一画面帧)而言,其需要进行画面缩小调整,此时所得到的进行画面缩小调整的画面帧(如上述第一调整画面帧)的尺寸(如第二分辨率的尺寸)不符合编码器的编码规格(该编码规格可以指对第一分辨率的尺寸的画面帧进行编码的规格),因此,通过将第一调整画面帧拷贝到空白画面帧中所得到的第一拷贝画面帧,就可以理解为是将第一调整画面帧的尺寸调整回原本的尺寸(即第一分辨率的尺寸)的画面帧,此时该第一拷贝画面帧的尺寸与常规画面帧的尺寸相同,该第一拷贝画面帧的尺寸就符合编码器的编码规格,因此,通过编码器可以直接对该第一拷贝画面帧进行编码,以实现对第一调整画面帧的编码。可见,通过将第一调整画面帧拷贝到空白画面帧后再编码,可以不用对编码器进行重新改造,避免了对编码器进行重新改造所带来的技术难题和资源消耗。
进而,应用服务器可以对第一拷贝画面帧进行编码,即可得到上述第一调整画面帧的画面帧码流,具体为:
其中,可以理解为,将上述第一画面帧进行画面缩小调整后可以得到第一拷贝画面帧,第一拷贝画面帧相较于第一画面帧而言,第一拷贝画面帧的尺寸大小没有变化(也为第一分辨率),但是第一拷贝画面帧相较于第一画面帧而言,第一拷贝画面帧的数据量就大大减少了,例如若第二分辨率是1/4的第一分辨率,则第一拷贝画面帧中只有1/4的有效数据,其他3/4的数据都是0数据(如等于0的像素值),换句话说,第一拷贝画面帧的数据量是第一画面帧的数据量的1/4。
在得到上述第一拷贝画面帧之后,应用服务器还可以获取到应用客户端的第一画面帧的上一个画面帧,该上一个画面帧都是由应用服务器进行编码得到的,应用服务器只需要从后台而非从应用客户端获取该上一个画面帧,该上一个画面帧是在显示第一画面帧之前在应用客户端中所显示的最后一个画面帧,可以将第一画面帧的上一个画面帧称之为是第一画面帧的参考画面帧,应用服务器可以采用与上述第一画面帧相同的原理对第一画面帧的参考画面帧进行画面缩小调整,可以将进行画面缩小调整的第一画面帧的参考画面帧称之为第二调整画面帧。
同样,应用服务器可以将该第二调整画面帧拷贝到上述空白画面帧中,可以将拷贝有第二调整画面帧的空白画面帧称之为第二拷贝画面帧,应用服务器可以将该第二拷贝画面帧作为第一拷贝画面帧的参考画面帧,进而根据该第二拷贝画面帧对第一拷贝画面帧进行编码,即可得到上述第一调整画面帧的画面帧码流。
可以理解的是,通常在对一个画面帧进行编码时,都是参考该画面帧的前一个画面帧(即参考画面帧)进行编码的。因此,应用服务器可以将该第一拷贝画面帧和第二拷贝画面帧输入编码器(编码器可以根据自身编码的策略选择通过第二拷贝画面帧对第一拷贝画面帧中的某些图像块采取帧内编码,某些图像块采取帧间编码),即可实现通过第二拷贝画面帧对第一拷贝画面帧进行编码,得到第一调整画面帧的画面帧码流(也可以称之为第一拷贝画面帧的画面帧码流),可以理解为,该画面帧码流就可以替代作为对第一画面帧进行编码的码流,该画面帧码流的数据量比直接对第一画面帧进行编码的码流的数据量要少很多。本申请可以采用H264(一种编码标准)或H265(一种编码标准)对画面帧进行编码以得到画面帧的码流,该码流为编码得到的二进制数据。
而若第一画面帧的数据量小于上述数据量阈值,则可以直接对第一画面帧进行编码,以得到第一画面帧的码流。
请参见图5,图5是本申请提供的一种画面帧编码的原理示意图。可以在当前帧(如上述第一拷贝画面帧)的参考帧(如上述第二拷贝画面帧)中搜索与当前帧中各个宏块(即图像块)相匹配的宏块,得到当前帧中的宏块的预测块。
进而应用服务器可以通过当前帧中的各个宏块以及该各个宏块的预测块,得到对应的残差(可以是对一个宏块与其预测块进行相减得到)。进而,可以对该残差进行转换(将信号转换到频域)→量化(丢掉一些不重要的信息)→重排序(将低频部分进行集中,并且对高频部分进行集中)→熵编码(编码为二进制码流),即可得到所编码的码流(如上述第一调整画面帧的画面帧码流)。
应用服务器还可以通过上述预测块、残差以及量化后的结果,来对当前帧进行重建,进而可以将重建的当前帧(重建的画面帧)作为下一帧的参考帧(即参考画面帧)。
步骤S104,将画面帧码流发送给应用客户端,以使应用客户端根据画面帧码流显示第二画面帧;第二画面帧是由应用客户端对画面帧码流进行解码得到第一调整画面帧后,将第一调整画面帧的分辨率调整回第一分辨率后得到;
可选的,应用服务器可以将上述编码得到的第一调整画面帧的画面帧码流发送给应用客户端,进而应用客户端即可根据该画面帧码流显示第二画面帧。例如,应用客户端可以通过解码器对该画面帧码流进行解码,得到上述第一拷贝画面帧,应用客户端可以从该第一拷贝画面帧中提取得到上述第一调整画面帧,进而,应用客户端可以通过超分辨率技术对该第一调整画面帧进行超分辨率处理,即可将该第一调整画面帧的分辨率从第二分辨率调整回第一分辨率,可以将进行超分辨率调整后的第一调整画面帧称之为第二画面帧,应用客户端可以在应用界面显示该第二画面帧。可以理解的是,应用客户端所显示的第二画面帧就为替代显示的第一画面帧,第二画面帧和第一画面帧具有相同的画面内容和分辨率。
请参见图6,图6是本申请提供的一种画面帧编码的场景示意图。如图6所示,当前帧102c可以是上述第一画面帧,上一帧(即参考帧100c)可以是第一画面帧的参考画面帧。若当前帧102c的数据量大于或者等于数据量阈值,则应用服务器可以对参考帧100c进行缩小并拷贝到空白画面帧中,得到上述第二拷贝画面帧101c,应用服务器还可以对当前帧102c进行缩小并拷贝到空白画面帧中,得到上述第一拷贝画面帧103c,进而,应用服务器通过第二拷贝画面帧101c即可实现对第一拷贝画面帧103c的编码,得到第一拷贝画面帧103c的码流(该码流也可以称之为是上述第一调整画面帧的码流)。进而,应用服务器可以将编码得到的第一拷贝画面帧103c的码流通过网络发送给应用客户端,使得应用客户端可以根据获取到的码流显示上述第二画面帧。
更多的,应用服务器也可以采用超分辨率技术对上述第一调整画面帧进行超分辨率调整,得到第二画面帧,应用服务器可以将该第二画面帧作为第一画面帧的下一个画面帧的参考画面帧,该第一画面帧的下一个画面帧的参考画面帧用于对第一画面帧的下一个画面帧进行编码。由于编码和解码要保持一致,应用客户端只能获取到第二画面帧,而获取不到原始的第一画面帧,因此,应用服务器需要通过第二画面帧对第一画面帧的下一个画面帧进行编码,后续应用客户端才能根据第二画面帧对第一画面帧的下一个画面帧的码流进行解码。
请参见图7,图7是本申请提供的一种画面帧编码的场景示意图。应用服务器可以对当前帧进行重建(即对第一调整画面帧100d进行重建),重建的方式可以是对第一调整画面帧100d进行超分辨率处理,得到分辨率恢复到第一分辨率的第二画面帧101d,后续,应用服务器可以通过该第二画面帧101d对第一画面帧的下一个画面帧102d进行编码,进而将编码得到的码流通过网络发送给应用客户端,使得应用客户端在对获取到的码流进行解码后可以显示画面帧102d。
请参见图8,图8是本申请提供的一种画面帧编码的流程示意图。如图8所示,s1,应用服务器可以通过视频编码器编码当前帧画面(即当前帧的画面,也就是当前画面帧),该当前帧画面可以是上述第一画面帧。s2,若所编码的当前帧画面的数据量大小大于(或者也可以是大于或者等于)3倍平均帧大小(该3倍平均帧大小可以指上述数据量阈值),则执行步骤s4,若所编码的当前帧画面的数据量大小小于或者等于(或者也可以是小于)3倍平均帧大小,则执行步骤s3。s3,直接对当前帧画面进行编码,得到当前帧画面的码流通过网络传输给应用客户端(即客户端)。s4,对当前帧画面帧采取降分辨率(即画面缩小调整)后再编码得到对应的码流(如上述第一调整画面帧的码流)传输给应用客户端。
采用本申请提供的方法,当第一画面帧的数据量过大时(如大于数据量阈值时),可以对第一画面帧进行画面缩小调整得到第一调整画面帧后再进行编码,以得到第一调整画面帧的画面帧码流,该画面帧码流比直接对第一画面帧进行编码的码流的数据量要大大减少,因此,应用服务器可以以更快的速度将该画面帧码流传输给应用客户端,进而使得应用客户端可以以更快的速度显示用于替代第一画面帧的第二画面帧,使得画面帧的显示更流畅更快速,让用户感觉不到显示画面帧时的卡顿。
本申请当应用服务器编码得到应用客户端的第一画面帧时,应用服务器可以检测第一画面帧的数据量;若第一画面帧的数据量大于或等于数据量阈值,则对第一画面帧进行画面缩小调整,得到第一调整画面帧;第一画面帧的分辨率为第一分辨率,第一调整画面帧的分辨率为第二分辨率,第二分辨率小于第一分辨率;对第一调整画面帧进行编码,得到第一调整画面帧的画面帧码流;将画面帧码流发送给应用客户端,以使应用客户端根据画面帧码流显示第二画面帧;第二画面帧是由应用客户端对画面帧码流进行解码得到第一调整画面帧后,将第一调整画面帧的分辨率调整回第一分辨率后得到。由此可见,本申请提出的方法应用服务器对于场景切换的画面帧(即数据量大于或者等于数据量阈值的第一画面帧),可以对该画面帧进行画面缩小调整后再编码得到对应的码流发送给应用客户端,应用客户端可以对获取到的码流进行解码并将解码得到的画面帧的分辨率调整回原始的第一分辨率后再进行显示,保证了所显示的画面帧(如第二画面帧)的画质的前提下,降低了所传输的画面帧的码流的数据量,提高了画面帧的码流的传输速度,进而提高了应用客户端在显示场景切换的画面帧时的流畅性。
请参见图9,图9是本申请提供的一种数据处理方法的流程示意图。本申请实施例中的内容可以与上述图3对应实施例中所描述的内容相结合,本申请实施例中的执行主体也可以是上述应用服务器。如图9所示,该方法可以包括:
步骤S201,当编码得到应用客户端的第一画面帧时,检测第一画面帧的数据量。
步骤S202,获取针对第一画面帧的横向缩小比例和纵向缩小比例。
可选的,应用服务器可以获取用于对第一画面帧进行画面缩小调整的横向缩小比例和纵向缩小比例,该横向缩小比例用于对第一画面帧的长进行缩小,该纵向缩小比例用于对第一画面帧的宽进行缩小。该横向缩小比例和纵向缩小比例可以根据实际应用场景决定,对此不做限制。例如,该横向缩小比例可以等于1/2,该纵向缩小比例可以等于1/2。
步骤S203,根据横向缩小比例和纵向缩小比例对第一画面帧进行画面缩小调整,得到第一调整画面帧。
可选的,应用服务器可以根据横向缩小比例和纵向缩小比例对第一画面帧进行画面缩小调整,以得到第一调整画面帧,具体如何:
应用服务器可以通过横向缩小比例对第一画面帧中横向的像素值(如长上的像素值)进行采样,可以将对第一画面帧中横向的像素值进行采样得到的像素值称之为横向采样像素值。例如,若横向缩小比例等于1/2,则应用服务器可以对第一画面帧中横向的像素值进行1/2采样,如应用服务器可以对第一画面帧中横向的像素值进行遍历,从每遍历到的相邻两列像素值中采样得到一列像素值。例如,若遍历到第1列像素值、第2列像素值、第3列像素值、第4列像素值,则可以从第1列像素值和第2列像素值中采样得到一列横向采样像素值,从第3列像素值和第4列像素值中采样得到一列横向采样像素值。
应用服务器可以通过纵向缩小比例对第一画面帧中纵向的像素值(如长上的像素值)进行采样,可以将对第一画面帧中纵向的像素值进行采样得到的像素值称之为纵向采样像素值。例如,若纵向缩小比例等于1/2,则应用服务器可以对第一画面帧中纵向的像素值进行1/2采样,如应用服务器可以对第一画面帧中纵向的像素值进行遍历,从每遍历到的相邻两行像素值中采样得到一行像素值。例如,若遍历到第1行像素值、第2行像素值、第3行像素值、第4行像素值,则可以从第1行像素值和第2行像素值中采样得到一行纵向采样像素值,从第3行像素值和第4行像素值中采样得到一行纵向采样像素值。
进而,应用服务器就可以通过上述采样得到的横向采样像素值和纵向采样像素值生成上述第一调整画面帧。第一调整画面帧中的像素值的个数少于第一画面帧中的像素值的个数,即第一调整画面帧的第二分辨率小于第一画面帧的第一分辨率。
步骤S204,对第一调整画面帧进行编码,得到第一调整画面帧的画面帧码流。
可选的,应用服务器可以对第一调整画面帧进行编码,例如可以通过上述第二拷贝画面帧对第一调整画面帧对应的第一拷贝画面帧进行编码,可以将此时编码得到的码流称之为初始画面帧码流。进而,应用服务器可以在该初始画面帧码流中添加上述横向缩小比例、纵向缩小比例和缩小标识,可以将添加有该横向缩小比例、纵向缩小比例和缩小标识的初始画面帧码流作为最终得到的第一调整画面帧的画面帧码流。
请参见图10,图10是本申请提供的一种缩小画面帧的场景示意图。如图10所示,第一画面帧可以包括8行8列的像素值,该8行8列的像素值具体包括像素值11、像素值12、像素值13、像素值14、像素值15、像素值16、像素值17、像素值18、像素值21、像素值22、像素值23、像素值24、像素值25、像素值26、像素值27、像素值28、像素值31、像素值32、像素值33、像素值34、像素值35、像素值36、像素值37、像素值38、像素值41、像素值42、像素值43、像素值44、像素值45、像素值46、像素值47、像素值48、像素值51、像素值52、像素值53、像素值54、像素值55、像素值56、像素值57、像素值58、像素值61、像素值62、像素值63、像素值64、像素值65、像素值66、像素值67、像素值68、像素值71、像素值72、像素值73、像素值74、像素值75、像素值76、像素值77、像素值78、像素值81、像素值82、像素值83、像素值84、像素值85、像素值86、像素值87、像素值88。
若针对第一画面帧的横向缩小比例和纵向缩小比例都等于1/2,则可以对第一画面帧在横向以及纵向的像素值都采取1/2采样。此处,假设对第一画面帧在横向的像素值进行采样所得到的横向采样像素值为第一画面帧中第1列像素值(具体包括像素值11、像素值21、像素值31、像素值41、像素值51、像素值61、像素值71、像素值81)、第3列像素值(具体包括像素值13、像素值23、像素值33、像素值43、像素值53、像素值63、像素值73、像素值83)、第5列像素值(具体包括像素值15、像素值25、像素值35、像素值45、像素值55、像素值65、像素值75、像素值85)和第7列像素值(具体包括像素值17、像素值27、像素值37、像素值47、像素值57、像素值67、像素值77、像素值87),对第一画面帧在纵向的像素值进行采样所得到的纵向采样像素值为第一画面帧中第1行像素值(具体包括像素值11、像素值12、像素值13、像素值14、像素值15、像素值16、像素值17、像素值18)、第3行像素值(具体包括像素值31、像素值32、像素值33、像素值34、像素值35、像素值36、像素值37、像素值38)、第5行像素值(具体包括像素值51、像素值52、像素值53、像素值54、像素值55、像素值56、像素值57、像素值58)和第7行像素值(具体包括像素值71、像素值72、像素值73、像素值74、像素值75、像素值76、像素值77、像素值78)。
那么,可以通过上述所采样得到的横向采样像素值和纵向采样像素值之间的交集,生成第一调整画面帧,第一调整画面帧中就包括像素值11、像素值13、像素值15、像素值17、像素值31、像素值33、像素值35、像素值37、像素值51、像素值53、像素值55、像素值57、像素值71、像素值73、像素值75、像素值77。进而将第一调整画面帧拷贝到与第一画面帧相同大小的空白画面帧中,即可得到第一拷贝画面帧,此时第一拷贝画面帧中只有1/4的有效数据,3/4的无效数据(即0数据)。
步骤S205,将画面帧码流发送给应用客户端,以使应用客户端根据画面帧码流显示第二画面帧;第二画面帧是由应用客户端对画面帧码流进行解码得到第一调整画面帧后,将第一调整画面帧的分辨率调整回第一分辨率后得到。
再请参见图11,图11是本申请提供的一种数据处理方法的流程示意图。本申请实施例中的内容可以与上述图3对应实施例中所描述的内容相结合。如图11所示,该方法可以包括:
步骤S301,获取应用服务器发送的画面帧码流;画面帧码流是对第一调整画面帧进行编码得到,第一调整画面帧是对应用客户端的第一画面帧进行画面缩小调整后得到,第一画面帧的数据量大于或等于数据量阈值,第一画面帧的分辨率为第一分辨率,第一调整画面帧的分辨率为第二分辨率,第二分辨率小于第一分辨率;
可选的,本申请实施例中的执行主体可以是应用客户端。应用客户端可以获取到应用服务器发送的上述第一调整画面帧的画面帧码流,该画面帧码流是通过上述第二拷贝画面帧对第一调整画面帧所对应的第一拷贝画面帧进行编码得到,该画面帧码流的具体获取方式可以参见上述图3对应实施例中的描述。
步骤S302,对画面帧码流进行解码,得到第一调整画面帧;
可选的,应用客户端获取到的画面帧码流中可以包含对上述第一画面帧进行画面缩小调整的横向缩小比例和纵向缩小比例,应用客户端可以从该画面帧码流中提取得到该横向缩小比例和纵向缩小比例。应用客户端还可以获取到针对第一画面帧的上一个画面帧,该上一个画面帧可以是存在于应用客户端中的,该上一个画面帧可以是应用客户端在此之前所解码显示的画面帧,应用客户端可以将该上一个画面帧作为第一画面帧的参考画面帧。
应用客户端可以以对第一画面帧进行画面缩小调整的相同原理对第一画面帧的参考画面帧进行画面缩小调整(缩小调整的比例同第一画面帧一样),得到上述第二调整画面帧。应用客户端可以将该第二调整画面帧拷贝到分辨率为第一分辨率的空白画面帧中,得到上述第二拷贝画面帧。
进而,应用客户端可以将该第二拷贝画面帧以及获取到的画面帧码流输入解码器,以通过该第二拷贝画面帧对该画面帧码流进行解码,得到上述第一拷贝画面帧。
更多的,应用客户端可以通过从画面帧码流中提取得到的横向缩小比例和纵向缩小比例,从解码得到的第一拷贝画面帧中提取得到上述第一调整画面帧。
步骤S303,将第一调整画面帧的分辨率调整回第一分辨率,得到第二画面帧,并显示第二画面帧;
可选的,应用客户端可以通过横向缩小比例和纵向缩小比例对第一调整画面帧进行超分辨率调整,进而得到第二画面帧,该第二画面帧的分辨率就为上述第一画面帧的第一分辨率。
请参见图12,图12是本申请提供的一种画面帧解码的场景示意图。如图12所示,应用客户端可以通过网络接收应用服务器发送的当前帧的码流(如上述第一调整画面帧的画面帧码流)。应用客户端可以获取到当前帧的上一帧(即第一画面帧的上一个画面帧)作为参考帧102e(即参考画面帧),此时该参考帧102e的分辨率大小为第一分辨率,应用客户端可以对该参考帧进行缩小并拷贝到空白画面帧中,得到上述第二拷贝画面帧103e。进而,应用客户端可以通过第二拷贝画面帧103e对当前帧的码流进行解码,即可得到上述第一拷贝画面帧100e。应用客户端可以对该第一拷贝画面帧100e中第一调整画面帧对应的图像块(也就是第一调整画面帧)进行超分辨率处理,即可得到分辨率为第一分辨率的第二画面帧101c,并可以在应用客户端的客户端界面中显示该第二画面帧101c。
请参见图13,图13是本申请提供的一种画面帧解码的流程示意图。如图13所示,a1,应用客户端可以解析所获取到的码流中的SEI信息(即补充增强信息),并判断所解析出的SEI信息中缩小flag(缩小标识)是否置上,即判断SEI信息中是否包括用于指示画面帧进行了缩小的标识。a2,若SEI信息中包括用于指示画面帧进行了缩小的标识,则表明画面帧进行了缩小,执行步骤a4,若SEI信息中不包括用于指示画面帧进行了缩小的标识,则表明画面帧未进行缩小,执行步骤a3。a3,应用客户端可以直接对获取到的码流进行正常的解码并显示所解码得到的画面帧。a4,应用客户端需要通过同样进行分辨率缩小的参考画面帧(如第二调整画面帧)对码流进行解码,并需要将解码得到的画面帧(如第一调整画面帧)的分辨率恢复回第一分辨率后,再显示对应的画面帧(如上述第二画面帧)。
采用本申请所提供的方法,应用服务器可以用第一调整画面帧的码流作为第一画面帧的码流传输给应用客户端,减少了针对第一画面帧的码流的传输数据量,提高了针对第一画面帧的码流的传输速度,使得应用客户端可以以更小的延迟输出用于替代第一画面帧的第二画面帧,并且,保证了该第二画面帧的分辨率与第一画面帧的分辨率相同,即保证了画面的显示效果(如清晰度)。
本申请当应用服务器编码得到应用客户端的第一画面帧时,应用服务器可以检测第一画面帧的数据量;若第一画面帧的数据量大于或等于数据量阈值,则对第一画面帧进行画面缩小调整,得到第一调整画面帧;第一画面帧的分辨率为第一分辨率,第一调整画面帧的分辨率为第二分辨率,第二分辨率小于第一分辨率;对第一调整画面帧进行编码,得到第一调整画面帧的画面帧码流;将画面帧码流发送给应用客户端,以使应用客户端根据画面帧码流显示第二画面帧;第二画面帧是由应用客户端对画面帧码流进行解码得到第一调整画面帧后,将第一调整画面帧的分辨率调整回第一分辨率后得到。由此可见,本申请提出的方法应用服务器对于场景切换的画面帧(即数据量大于或者等于数据量阈值的第一画面帧),可以对该画面帧进行画面缩小调整后再编码得到对应的码流发送给应用客户端,应用客户端可以对获取到的码流进行解码并将解码得到的画面帧的分辨率调整回原始的第一分辨率后再进行显示,保证了所显示的画面帧(如第二画面帧)的画质的前提下,降低了所传输的画面帧的码流的数据量,提高了画面帧的码流的传输速度,进而提高了应用客户端在显示场景切换的画面帧时的流畅性。
请参见图14,图14是本申请提供的一种数据处理装置的结构示意图。该数据处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该数据处理装置为一个应用软件,该数据处理装置可以用于执行本申请实施例提供的方法中的相应步骤,该数据处理装置可以应用于应用服务器。如图14所示,该数据处理装置1可以包括:画面编码模块11、缩小模块12、码流编码模块13和发送模块14。
画面编码模块11,用于当编码得到应用客户端的第一画面帧时,检测第一画面帧的数据量;
缩小模块12,用于若第一画面帧的数据量大于或等于数据量阈值,则对第一画面帧进行画面缩小调整,得到第一调整画面帧;第一画面帧的分辨率为第一分辨率,第一调整画面帧的分辨率为第二分辨率,第二分辨率小于第一分辨率;
码流编码模块13,用于对第一调整画面帧进行编码,得到第一调整画面帧的画面帧码流;
发送模块14,用于将画面帧码流发送给应用客户端,以使应用客户端根据画面帧码流显示第二画面帧;第二画面帧是由应用客户端对画面帧码流进行解码得到第一调整画面帧后,将第一调整画面帧的分辨率调整回第一分辨率后得到。
可选的,缩小模块12对第一画面帧进行画面缩小调整,得到第一调整画面帧的方式,包括:
获取针对第一画面帧的横向缩小比例和纵向缩小比例;
根据横向缩小比例和纵向缩小比例对第一画面帧进行画面缩小调整,得到第一调整画面帧。
可选的,缩小模块12根据横向缩小比例和纵向缩小比例对第一画面帧进行画面缩小调整,得到第一调整画面帧的方式,包括:
基于横向缩小比例对第一画面帧中横向的像素值进行采样,得到横向采样像素值;
基于纵向缩小比例对第一画面帧中纵向的像素值进行采样,得到纵向采样像素值;
基于横向采样像素值和纵向采样像素值生成第一调整画面帧。
可选的,码流编码模块13对第一调整画面帧进行编码,得到第一调整画面帧的画面帧码流的方式,包括:
对第一调整画面帧进行编码,得到第一调整画面帧的初始画面帧码流;
将横向缩小比例和纵向缩小比例添加到初始画面帧码流中,得到画面帧码流。
可选的,码流编码模块13对第一调整画面帧进行编码,得到第一调整画面帧的画面帧码流的方式,包括:
获取分辨率为第一分辨率的空白画面帧;
将第一调整画面帧拷贝到空白画面帧中,得到第一拷贝画面帧;
对第一拷贝画面帧进行编码,得到画面帧码流。
可选的,码流编码模块13对第一拷贝画面帧进行编码,得到画面帧码流的方式,包括:
获取应用客户端的第一画面帧的上一个画面帧,作为第一画面帧的参考画面帧;
对第一画面帧的参考画面帧进行画面缩小调整,得到第二调整画面帧;
将第二调整画面帧拷贝到空白画面帧中,得到第二拷贝画面帧;
根据第二拷贝画面帧对第一拷贝画面帧进行编码,得到画面帧码流。
可选的,应用客户端为游戏客户端;若第一画面帧的数据量大于或等于数据量阈值,则缩小模块12对第一画面帧进行画面缩小调整,得到第一调整画面帧的方式,包括:
若第一画面帧属于游戏客户端的进行场景切换时的游戏画面帧,且第一画面帧的数据量大于或等于数据量阈值,则对第一画面帧进行画面缩小调整,得到第一调整画面帧。
可选的,上述装置1还用于:
获取针对应用客户端的画面帧的单位传输数据量和单位传输帧数;
根据单位传输数据量和单位传输帧数确定平均帧数据量;
根据平均帧数据量确定数据量阈值。
可选的,上述装置1还用于:
对第一调整画面帧进行超分辨率调整,得到第二画面帧;
将第二画面帧作为第一画面帧的下一个画面帧的参考画面帧;第一画面帧的下一个画面帧的参考画面帧用于对第一画面帧的下一个画面帧进行编码。
根据本申请的一个实施例,图3所示的数据处理方法所涉及的步骤可由图14所示的数据处理装置1中的各个模块来执行。例如,图3中所示的步骤S101可由图14中的画面编码模块11来执行,图3中所示的步骤S102可由图14中的缩小模块12来执行;图3中所示的步骤S103可由图14中的码流编码模块13来执行,图3中所示的步骤S104可由图14中的发送模块14来执行。
本申请当应用服务器编码得到应用客户端的第一画面帧时,应用服务器可以检测第一画面帧的数据量;若第一画面帧的数据量大于或等于数据量阈值,则对第一画面帧进行画面缩小调整,得到第一调整画面帧;第一画面帧的分辨率为第一分辨率,第一调整画面帧的分辨率为第二分辨率,第二分辨率小于第一分辨率;对第一调整画面帧进行编码,得到第一调整画面帧的画面帧码流;将画面帧码流发送给应用客户端,以使应用客户端根据画面帧码流显示第二画面帧;第二画面帧是由应用客户端对画面帧码流进行解码得到第一调整画面帧后,将第一调整画面帧的分辨率调整回第一分辨率后得到。由此可见,本申请提出的装置应用服务器对于场景切换的画面帧(即数据量大于或者等于数据量阈值的第一画面帧),可以对该画面帧进行画面缩小调整后再编码得到对应的码流发送给应用客户端,应用客户端可以对获取到的码流进行解码并将解码得到的画面帧的分辨率调整回原始的第一分辨率后再进行显示,保证了所显示的画面帧(如第二画面帧)的画质的前提下,降低了所传输的画面帧的码流的数据量,提高了画面帧的码流的传输速度,进而提高了应用客户端在显示场景切换的画面帧时的流畅性。
根据本申请的一个实施例,图14所示的数据处理装置1中的各个模块可以分别或全部合并为一个或若干个单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个子单元,可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述模块是基于逻辑功能划分的,在实际应用中,一个模块的功能也可以由多个单元来实现,或者多个模块的功能由一个单元实现。在本申请的其它实施例中,数据处理装置1也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请的一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算机设备上运行能够执行如图3中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图14中所示的数据处理装置1,以及来实现本申请实施例的数据处理方法。上述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
请参见图15,图15是本申请提供的一种数据处理装置的结构示意图。该数据处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该数据处理装置为一个应用软件,该数据处理装置可以用于执行本申请实施例提供的方法中的相应步骤,该数据处理装置可以应用于应用客户端。如图15所示,该数据处理装置2可以包括:码流获取模块21、码流解码模块22和分辨率调整模块23。
码流获取模块21,用于获取应用服务器发送的画面帧码流;画面帧码流是对第一调整画面帧进行编码得到,第一调整画面帧是对应用客户端的第一画面帧进行画面缩小调整后得到,第一画面帧的数据量大于或等于数据量阈值,第一画面帧的分辨率为第一分辨率,第一调整画面帧的分辨率为第二分辨率,第二分辨率小于第一分辨率;
码流解码模块22,用于对画面帧码流进行解码,得到第一调整画面帧;
分辨率调整模块23,用于将第一调整画面帧的分辨率调整回第一分辨率,得到第二画面帧,并显示第二画面帧。
可选的,画面帧码流包括对第一画面帧进行画面缩小调整时针对第一画面帧的横向缩小比例和纵向缩小比例;
码流解码模块22对画面帧码流进行解码,得到第一调整画面帧的方式,包括:
从画面帧码流中解析出横向缩小比例和纵向缩小比例;
对画面帧码流进行解码,得到第一拷贝画面帧;第一拷贝画面帧是由应用服务器通过将第一调整画面帧拷贝到空白画面帧中得到,空白画面帧的分辨率为第一分辨率;
根据横向缩小比例和纵向缩小比例,从第一拷贝画面帧中提取得到第一调整画面帧。
可选的,分辨率调整模块23将第一调整画面帧的分辨率调整回第一分辨率,得到第二画面帧的方式,包括:
基于横向缩小比例和纵向缩小比例,对第一调整画面帧进行超分辨率调整;
将进行超分辨率调整后的第一调整画面帧确定为第二画面帧。
可选的,码流解码模块22对画面帧码流进行解码,得到第一拷贝画面帧的方式,包括:
获取应用客户端中第一画面帧的上一个画面帧,作为第一画面帧的参考画面帧;
对第一画面帧的参考画面帧进行画面缩小调整,得到第二调整画面帧;
将第二调整画面帧拷贝到空白画面帧中,得到第二拷贝画面帧;
根据第二拷贝画面帧对画面帧码流进行解码,得到第一拷贝画面帧。
根据本申请的一个实施例,图11所示的数据处理方法所涉及的步骤可由图15所示的数据处理装置2中的各个模块来执行。例如,图11中所示的步骤S301可由图11中的码流获取模块21来执行,图11中所示的步骤S302可由图11中的码流解码模块22来执行;图11中所示的步骤S303可由图11中的分辨率调整模块23来执行。
本申请当应用服务器编码得到应用客户端的第一画面帧时,应用服务器可以检测第一画面帧的数据量;若第一画面帧的数据量大于或等于数据量阈值,则对第一画面帧进行画面缩小调整,得到第一调整画面帧;第一画面帧的分辨率为第一分辨率,第一调整画面帧的分辨率为第二分辨率,第二分辨率小于第一分辨率;对第一调整画面帧进行编码,得到第一调整画面帧的画面帧码流;将画面帧码流发送给应用客户端,以使应用客户端根据画面帧码流显示第二画面帧;第二画面帧是由应用客户端对画面帧码流进行解码得到第一调整画面帧后,将第一调整画面帧的分辨率调整回第一分辨率后得到。由此可见,本申请提出的装置应用服务器对于场景切换的画面帧(即数据量大于或者等于数据量阈值的第一画面帧),可以对该画面帧进行画面缩小调整后再编码得到对应的码流发送给应用客户端,应用客户端可以对获取到的码流进行解码并将解码得到的画面帧的分辨率调整回原始的第一分辨率后再进行显示,保证了所显示的画面帧(如第二画面帧)的画质的前提下,降低了所传输的画面帧的码流的数据量,提高了画面帧的码流的传输速度,进而提高了应用客户端在显示场景切换的画面帧时的流畅性。
根据本申请的一个实施例,图15所示的数据处理装置2中的各个模块可以分别或全部合并为一个或若干个单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个子单元,可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述模块是基于逻辑功能划分的,在实际应用中,一个模块的功能也可以由多个单元来实现,或者多个模块的功能由一个单元实现。在本申请的其它实施例中,数据处理装置2也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请的一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算机设备上运行能够执行如图11中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图15中所示的数据处理装置2,以及来实现本申请实施例的数据处理方法。上述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
请参见图16,图16是本申请提供的一种计算机设备的结构示意图。如图16所示,计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图16所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图16所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
当编码得到应用客户端的第一画面帧时,检测第一画面帧的数据量;
若第一画面帧的数据量大于或等于数据量阈值,则对第一画面帧进行画面缩小调整,得到第一调整画面帧;第一画面帧的分辨率为第一分辨率,第一调整画面帧的分辨率为第二分辨率,第二分辨率小于第一分辨率;
对第一调整画面帧进行编码,得到第一调整画面帧的画面帧码流;
将画面帧码流发送给应用客户端,以使应用客户端根据画面帧码流显示第二画面帧;第二画面帧是由应用客户端对画面帧码流进行解码得到第一调整画面帧后,将第一调整画面帧的分辨率调整回第一分辨率后得到。
可选的,处理器1001还可以用于调用存储器1005中存储的设备控制应用程序,以实现:
获取应用服务器发送的画面帧码流;画面帧码流是对第一调整画面帧进行编码得到,第一调整画面帧是对应用客户端的第一画面帧进行画面缩小调整后得到,第一画面帧的数据量大于或等于数据量阈值,第一画面帧的分辨率为第一分辨率,第一调整画面帧的分辨率为第二分辨率,第二分辨率小于第一分辨率;
对画面帧码流进行解码,得到第一调整画面帧;
将第一调整画面帧的分辨率调整回第一分辨率,得到第二画面帧,并显示第二画面帧。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文图3或图11对应实施例中对上述数据处理方法的描述,也可执行前文图14所对应实施例中对上述数据处理装置1的描述以及前文图15所对应实施例中对上述数据处理装置2的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有前文提及的数据处理装置1和数据处理装置2所执行的计算机程序,且计算机程序包括程序指令,当处理器执行程序指令时,能够执行前文图3或图11所对应实施例中对数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
作为示例,上述程序指令可被部署在一个计算机设备上执行,或者被部署位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行,分布在多个地点且通过通信网络互连的多个计算机设备可以组成区块链网络。
上述计算机可读存储介质可以是前述任一实施例提供的数据处理装置或者上述计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital, SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本申请提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前文图3或图11对应实施例中对上述数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本申请实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例提供的方法及相关装置是参照本申请实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方框中指定的功能的步骤。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

Claims (13)

1.一种数据处理方法,其特征在于,所述方法应用于应用服务器,所述方法包括:
当编码得到应用客户端的第一画面帧时,检测所述第一画面帧的数据量;
若所述第一画面帧的数据量大于或等于数据量阈值,则对所述第一画面帧进行画面缩小调整,得到第一调整画面帧;所述第一画面帧的分辨率为第一分辨率,所述第一调整画面帧的分辨率为第二分辨率,所述第二分辨率小于所述第一分辨率;
获取分辨率为所述第一分辨率的空白画面帧,并将所述第一调整画面帧拷贝到所述空白画面帧中,得到第一拷贝画面帧;
获取所述第一画面帧的上一个画面帧,作为所述第一画面帧的参考画面帧;
对所述第一画面帧的参考画面帧进行画面缩小调整,得到第二调整画面帧;
将所述第二调整画面帧拷贝到所述空白画面帧中,得到第二拷贝画面帧;
根据所述第二拷贝画面帧对所述第一拷贝画面帧进行编码,得到画面帧码流;
将所述画面帧码流发送给所述应用客户端,以使所述应用客户端根据所述画面帧码流显示第二画面帧;所述第二画面帧是由所述应用客户端根据所述第二拷贝画面帧对所述画面帧码流进行解码得到所述第一拷贝画面帧,并从所述第一拷贝画面帧中提取得到所述第一调整画面帧后,将所述第一调整画面帧的分辨率调整回所述第一分辨率后得到。
2.根据权利要求1所述的方法,其特征在于,所述对所述第一画面帧进行画面缩小调整,得到第一调整画面帧,包括:
获取针对所述第一画面帧的横向缩小比例和纵向缩小比例;
根据所述横向缩小比例和所述纵向缩小比例对所述第一画面帧进行画面缩小调整,得到所述第一调整画面帧。
3.根据权利要求2所述的方法,其特征在于,所述根据所述横向缩小比例和所述纵向缩小比例对所述第一画面帧进行画面缩小调整,得到所述第一调整画面帧,包括:
基于所述横向缩小比例对所述第一画面帧中横向的像素值进行采样,得到横向采样像素值;
基于所述纵向缩小比例对所述第一画面帧中纵向的像素值进行采样,得到纵向采样像素值;
基于所述横向采样像素值和所述纵向采样像素值生成所述第一调整画面帧。
4.根据权利要求2所述的方法,其特征在于,所述根据所述第二拷贝画面帧对所述第一拷贝画面帧进行编码,得到画面帧码流,包括:
根据所述第二拷贝画面帧对所述第一拷贝画面帧进行编码,得到初始画面帧码流;
将所述横向缩小比例和所述纵向缩小比例添加到所述初始画面帧码流中,得到所述画面帧码流。
5.根据权利要求1所述的方法,其特征在于,所述应用客户端为游戏客户端;所述若所述第一画面帧的数据量大于或等于数据量阈值,则对所述第一画面帧进行画面缩小调整,得到第一调整画面帧,包括:
若所述第一画面帧属于所述游戏客户端的进行场景切换时的游戏画面帧,且所述第一画面帧的数据量大于或等于所述数据量阈值,则对所述第一画面帧进行画面缩小调整,得到所述第一调整画面帧。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取针对所述应用客户端的画面帧的单位传输数据量和单位传输帧数;
根据所述单位传输数据量和所述单位传输帧数确定平均帧数据量;
根据所述平均帧数据量确定所述数据量阈值。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述第一调整画面帧进行超分辨率调整,得到所述第二画面帧;
将所述第二画面帧作为所述第一画面帧的下一个画面帧的参考画面帧;所述第一画面帧的下一个画面帧的参考画面帧用于对所述第一画面帧的下一个画面帧进行编码。
8.一种数据处理方法,其特征在于,所述方法应用于应用客户端,所述方法包括:
获取应用服务器发送的画面帧码流;所述画面帧码流是根据第二拷贝画面帧对第一拷贝画面帧进行编码得到,所述第一拷贝画面帧是将第一调整画面帧拷贝到分辨率为第一分辨率的空白画面帧中得到,所述第一调整画面帧是对所述应用客户端的第一画面帧进行画面缩小调整后得到,所述第一画面帧的数据量大于或等于数据量阈值,所述第一画面帧的分辨率为所述第一分辨率,所述第一调整画面帧的分辨率为第二分辨率,所述第二分辨率小于所述第一分辨率;所述第二拷贝画面帧是将第二调整画面帧拷贝到所述空白画面帧中得到,所述第二调整画面帧是对所述第一画面帧的上一个画面帧进行画面缩小调整后得到;
根据所述第二拷贝画面帧对所述画面帧码流进行解码,得到所述第一拷贝画面帧,并从所述第一拷贝画面帧中提取得到所述第一调整画面帧;
将所述第一调整画面帧的分辨率调整回所述第一分辨率,得到第二画面帧,并显示所述第二画面帧。
9.根据权利要求8所述的方法,其特征在于,所述画面帧码流包括对所述第一画面帧进行画面缩小调整时针对所述第一画面帧的横向缩小比例和纵向缩小比例;
所述对所述画面帧码流进行解码,得到所述第一拷贝画面帧,并从所述第一拷贝画面帧中提取得到所述第一调整画面帧,包括:
从所述画面帧码流中解析出所述横向缩小比例和所述纵向缩小比例;
对所述画面帧码流进行解码,得到所述第一拷贝画面帧;
根据所述横向缩小比例和所述纵向缩小比例,从所述第一拷贝画面帧中提取得到所述第一调整画面帧。
10.根据权利要求9所述的方法,其特征在于,所述将所述第一调整画面帧的分辨率调整回所述第一分辨率,得到第二画面帧,包括:
基于所述横向缩小比例和所述纵向缩小比例,对所述第一调整画面帧进行超分辨率调整;
将进行超分辨率调整后的所述第一调整画面帧确定为所述第二画面帧。
11.根据权利要求8所述的方法,其特征在于,所述根据所述第二拷贝画面帧对所述画面帧码流进行解码,得到所述第一拷贝画面帧,包括:
获取所述应用客户端中所述第一画面帧的上一个画面帧,作为所述第一画面帧的参考画面帧;
对所述第一画面帧的参考画面帧进行画面缩小调整,得到所述第二调整画面帧;
将所述第二调整画面帧拷贝到所述空白画面帧中,得到所述第二拷贝画面帧;
根据所述第二拷贝画面帧对所述画面帧码流进行解码,得到所述第一拷贝画面帧。
12.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1-11中任一项所述方法的步骤。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序适用于由处理器加载并执行权利要求1-11任一项所述的方法。
CN202110974007.3A 2021-08-24 2021-08-24 数据处理方法、计算机设备和存储介质 Active CN113422983B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN202110974007.3A CN113422983B (zh) 2021-08-24 2021-08-24 数据处理方法、计算机设备和存储介质
JP2023569620A JP2024517915A (ja) 2021-08-24 2022-08-01 データ処理方法、装置、コンピュータ機器及びコンピュータプログラム
PCT/CN2022/109380 WO2023024832A1 (zh) 2021-08-24 2022-08-01 数据处理方法、装置、计算机设备和存储介质
EP22860178.7A EP4294021A1 (en) 2021-08-24 2022-08-01 Data processing method and apparatus, computer device and storage medium
US18/144,054 US20240040147A1 (en) 2021-08-24 2023-05-05 Data processing method and apparatus, computer device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110974007.3A CN113422983B (zh) 2021-08-24 2021-08-24 数据处理方法、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN113422983A CN113422983A (zh) 2021-09-21
CN113422983B true CN113422983B (zh) 2021-11-23

Family

ID=77719343

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110974007.3A Active CN113422983B (zh) 2021-08-24 2021-08-24 数据处理方法、计算机设备和存储介质

Country Status (5)

Country Link
US (1) US20240040147A1 (zh)
EP (1) EP4294021A1 (zh)
JP (1) JP2024517915A (zh)
CN (1) CN113422983B (zh)
WO (1) WO2023024832A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113422983B (zh) * 2021-08-24 2021-11-23 腾讯科技(深圳)有限公司 数据处理方法、计算机设备和存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013155880A1 (zh) * 2012-04-17 2013-10-24 华为终端有限公司 图像压缩方法和装置
CN103796013A (zh) * 2014-01-17 2014-05-14 五八同城信息技术有限公司 一种移动端即时通讯中的图片压缩方法
CN105306773A (zh) * 2015-09-30 2016-02-03 北京恒华伟业科技股份有限公司 一种图片传输方法和装置
CN110149555A (zh) * 2018-08-14 2019-08-20 腾讯科技(深圳)有限公司 视频处理方法和视频接收装置
CN111135569A (zh) * 2019-12-20 2020-05-12 RealMe重庆移动通信有限公司 云游戏处理方法、装置、存储介质与电子设备
CN111681291A (zh) * 2020-04-27 2020-09-18 中国平安财产保险股份有限公司 图像处理方法、装置、设备及计算机可读存储介质
CN112601068A (zh) * 2020-12-15 2021-04-02 济南浪潮高新科技投资发展有限公司 视频数据增广方法、装置及计算机可读介质
CN112839184A (zh) * 2020-12-31 2021-05-25 深圳追一科技有限公司 图像处理方法、装置、电子设备及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100464585C (zh) * 2006-05-16 2009-02-25 华为技术有限公司 一种视频压缩方法
CN101533474B (zh) * 2008-03-12 2014-06-04 三星电子株式会社 基于视频图像的字符和图像识别系统和方法
JP4957825B2 (ja) * 2010-03-25 2012-06-20 カシオ計算機株式会社 撮像装置、及びプログラム
JP2015189058A (ja) * 2014-03-28 2015-11-02 理想科学工業株式会社 画像処理装置
EP3777170A4 (en) * 2019-03-01 2021-11-10 Alibaba Group Holding Limited ADAPTIVE RESOLUTION VIDEO CODING
CN111681167B (zh) * 2020-06-03 2021-03-12 腾讯科技(深圳)有限公司 画质调整方法和装置、存储介质及电子设备
CN112468855B (zh) * 2020-11-11 2023-01-24 西安万像电子科技有限公司 数据传输方法及装置、非易失性存储介质
CN113422983B (zh) * 2021-08-24 2021-11-23 腾讯科技(深圳)有限公司 数据处理方法、计算机设备和存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013155880A1 (zh) * 2012-04-17 2013-10-24 华为终端有限公司 图像压缩方法和装置
CN103796013A (zh) * 2014-01-17 2014-05-14 五八同城信息技术有限公司 一种移动端即时通讯中的图片压缩方法
CN105306773A (zh) * 2015-09-30 2016-02-03 北京恒华伟业科技股份有限公司 一种图片传输方法和装置
CN110149555A (zh) * 2018-08-14 2019-08-20 腾讯科技(深圳)有限公司 视频处理方法和视频接收装置
CN111135569A (zh) * 2019-12-20 2020-05-12 RealMe重庆移动通信有限公司 云游戏处理方法、装置、存储介质与电子设备
CN111681291A (zh) * 2020-04-27 2020-09-18 中国平安财产保险股份有限公司 图像处理方法、装置、设备及计算机可读存储介质
CN112601068A (zh) * 2020-12-15 2021-04-02 济南浪潮高新科技投资发展有限公司 视频数据增广方法、装置及计算机可读介质
CN112839184A (zh) * 2020-12-31 2021-05-25 深圳追一科技有限公司 图像处理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN113422983A (zh) 2021-09-21
US20240040147A1 (en) 2024-02-01
EP4294021A1 (en) 2023-12-20
JP2024517915A (ja) 2024-04-23
WO2023024832A1 (zh) 2023-03-02

Similar Documents

Publication Publication Date Title
KR102144881B1 (ko) 비디오 처리를 위한 송신 장치 및 방법
CN100568970C (zh) 用于发信号通知和解码视频流中的有效入口点的方法
EP3668104B1 (en) Video scrambling method and device with adaptive mode selection, network camera and readable storage medium
CN112533059B (zh) 图像渲染方法、装置、电子设备以及存储介质
KR20140085492A (ko) 디코딩된 픽쳐 버퍼 및 참조 픽쳐 목록들에 관한 상태 정보의 시그널링
US11949853B2 (en) Data decoding method and apparatus, and data coding method and apparatus
GB2560548A (en) Video data processing system
KR20120082994A (ko) 움직임 벡터 부호화/복호화 방법 및 장치
CN113422983B (zh) 数据处理方法、计算机设备和存储介质
CN115134629B (zh) 视频传输方法、系统、设备及存储介质
JP2007507128A (ja) 参照ピクチャのリフレッシュを遅延させて行うビデオ画像の符号化および復号化
WO2024078066A1 (zh) 视频解码方法、视频编码方法、装置、存储介质及设备
CN106412588A (zh) 影像帧处理方法
CN111245879A (zh) 一种虚拟桌面的桌面内容传输方法、系统及相关组件
CN106358042A (zh) 使用视频图像的帧间预测的并行解码器
CN103733615B (zh) 用于端到端编码的视频传输系统的按需内部更新
CN111093082A (zh) 一种流媒体直播的方法及系统
CN111182310A (zh) 视频处理方法、装置、计算机可读介质及电子设备
CN110798705A (zh) 一种视频图像传输方法、装置及设备
CN114827669A (zh) 一种视频数据的传输方法、装置、介质及设备
CN113852816A (zh) 视频帧处理方法、装置、计算机设备和可读存储介质
KR101251879B1 (ko) 멀티미디어 클라우드 시스템에서 화면변화에 따른 광고영상 출력 장치 및 방법
CN114270329A (zh) 清单内更新事件
CN109672889A (zh) 约束的序列数据头的方法及装置
CN114584786B (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
GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40051313

Country of ref document: HK