CN116886744A - 一种串流分辨率的动态调整方法、装置、设备及存储介质 - Google Patents
一种串流分辨率的动态调整方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116886744A CN116886744A CN202311155879.2A CN202311155879A CN116886744A CN 116886744 A CN116886744 A CN 116886744A CN 202311155879 A CN202311155879 A CN 202311155879A CN 116886744 A CN116886744 A CN 116886744A
- Authority
- CN
- China
- Prior art keywords
- resolution
- window
- cloud game
- rendering
- expected
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000003860 storage Methods 0.000 title claims description 10
- 238000009877 rendering Methods 0.000 claims abstract description 169
- 238000005520 cutting process Methods 0.000 claims abstract description 19
- 238000004590 computer program Methods 0.000 claims description 13
- 238000012545 processing Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/131—Protocols for games, networked simulations or virtual reality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
- H04L65/1108—Web based protocols, e.g. webRTC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明涉及云视频技术领域,尤其涉及一种串流分辨率的动态调整方法,该方法包括:在接收到终端设备的云游戏的启动指令后,获取终端设备的云游戏窗口的窗口期望分辨率和云游戏的窗口渲染分辨率,其中,窗口渲染分辨率为经渲染且在模拟器的窗口合成的云游戏的画面内容的分辨率;若窗口期望分辨率的宽高比小于窗口渲染分辨率的宽高比,则根据窗口期望分辨率的宽高比和窗口渲染分辨率的宽高比,得到宽度黑边值;按照宽度黑边值,对窗口渲染分辨率进行裁剪处理,得到目标分辨率,并将目标分辨率串流至终端设备。该方法动态调整适应于不同屏幕尺寸终端设备的云游戏显示画面,提高显示画面的质量和准确性,提升用户的体验度。
Description
技术领域
本发明涉及云视频技术领域,尤其涉及一种串流分辨率的动态调整方法、装置、设备及存储介质。
背景技术
云视频由于对终端设备的硬件要求较低,越来越多地出现在人们的生活中。云游戏作为云视频商业化应用最具体的案例,成为近年来技术研究的新兴方向,具有“云端运行、超高清、零延时、即点即玩”等众多特性。
通常,云游戏预启动画面为固定比例的画面,例如云游戏的预启动画面按照固定比例画面1080*1920启动。由于运行云游戏的终端设备尺寸比例皆不相同,则不同尺寸的终端设备在运行云游戏时显示画面会出现黑边或非全屏的情况,导致终端设备存在显示画面质量低的情况。而且,终端设备在运行游戏的过程中存在屏幕旋转或横竖屏切换的情形,在此情形下,显示画面仅显示出一部分,引发显示画面卡主的问题,进一步导致终端设备存在显示画面质量低的情况。
发明内容
本申请实施例通过提供一种串流分辨率的动态调整方法、装置、设备及存储介质,解决了现有技术中不同尺寸的终端设备在运行云游戏时显示画面质量低的技术问题,实现了根据不同尺寸的终端设备,动态调整适应于终端设备屏幕尺寸的云游戏显示画面,提高显示画面的质量和准确性,提升用户的体验度,优化云游戏的显示操作等技术效果。
第一方面,本发明实施例提供一种串流分辨率的动态调整方法,包括:
在接收到终端设备的云游戏的启动指令后,获取所述终端设备的云游戏窗口的窗口期望分辨率和所述云游戏的窗口渲染分辨率,其中,所述窗口渲染分辨率为经渲染且在模拟器的窗口合成的所述云游戏的画面内容的分辨率;
若所述窗口期望分辨率的宽高比小于所述窗口渲染分辨率的宽高比,则根据所述窗口期望分辨率的宽高比和所述窗口渲染分辨率的宽高比,得到宽度黑边值;
按照所述宽度黑边值,对所述窗口渲染分辨率进行裁剪处理,得到裁剪宽度后的窗口渲染分辨率,并将所述裁剪宽度后的窗口渲染分辨率作为目标分辨率串流至所述终端设备。
优选的,在获取所述终端设备的云游戏窗口的窗口期望分辨率和所述云游戏的窗口渲染分辨率之后,还包括:
若所述窗口期望分辨率的宽高比大于所述窗口渲染分辨率的宽高比,则根据所述窗口期望分辨率的宽高比和所述窗口渲染分辨率的宽高比,得到高度黑边值;
按照所述高度黑边值,对所述窗口渲染分辨率进行裁剪处理,得到裁剪高度后的窗口渲染分辨率,并将所述裁剪高度后的窗口渲染分辨率作为所述目标分辨率串流至所述终端设备。
优选的,在获取所述终端设备的云游戏窗口的窗口期望分辨率和所述云游戏的窗口渲染分辨率之后,还包括:
若所述窗口期望分辨率的宽高比等于所述窗口渲染分辨率的宽高比,则将所述窗口渲染分辨率作为所述目标分辨率串流至所述终端设备。
优选的,在获取所述终端设备的云游戏窗口的窗口期望分辨率之后,还包括:
若所述窗口期望分辨率大于所述终端设备的硬件的设定编码分辨率,则根据所述窗口期望分辨率和所述设定编码分辨率,得到目标编码分辨率,并根据所述目标编码分辨率进行编码;
若所述窗口期望分辨率不大于所述设定编码分辨率,则根据所述目标分辨率进行编码。
优选的,所述根据所述窗口期望分辨率和所述设定编码分辨率,得到目标编码分辨率,包括:
根据所述窗口期望分辨率和所述设定编码分辨率,得到所述目标编码分辨率的高度,如下公式所示:
encHeight=;
其中,encHeight为所述目标编码分辨率额高度,maxEncodePixelSize为设定编码分辨率,desiredWidth为所述窗口期望分辨率的宽度,desiredHeight为所述窗口期望分辨率的高度;
再根据所述目标编码分辨率的高度和所述窗口期望分辨率,得到目标编码分辨率的宽度,如下公式所示:
encWidth=desiredWidth×encHeight / desiredHeight;
其中,encWidth为所述目标编码分辨率的宽度。
优选的,所述获取所述终端设备的云游戏窗口的窗口期望分辨率,包括:
获取所述终端设备的屏幕分辨率;
根据所述屏幕分辨率和所述屏幕分辨率对应的分辨率等级,得到所述云游戏窗口的窗口分辨率;
根据所述窗口分辨率,得到所述窗口期望分辨率。
优选的,在将所述目标分辨率串流至所述终端设备后,还包括:
若检测到所述云游戏窗口的调整指令,则获取所述窗口期望分辨率和所述窗口渲染分辨率,再根据所述窗口期望分辨率和所述窗口渲染分辨率,得到所述目标分辨率,并将所述目标分辨率串流至所述终端设备。
基于同一发明构思,第二方面,本发明还提供一种串流分辨率的动态调整装置,包括:
获取模块,用于在接收到终端设备的云游戏的启动指令后,获取所述终端设备的云游戏窗口的窗口期望分辨率和所述云游戏的窗口渲染分辨率,其中,所述窗口渲染分辨率为经渲染且在模拟器的窗口合成的所述云游戏的画面内容的分辨率;
判断模块,用于若所述窗口期望分辨率的宽高比小于所述窗口渲染分辨率的宽高比,则根据所述窗口期望分辨率的宽高比和所述窗口渲染分辨率的宽高比,得到宽度黑边值;
裁剪模块,用于按照所述宽度黑边值,对所述窗口渲染分辨率进行裁剪处理,得到裁剪宽度后的窗口渲染分辨率,并将所述裁剪宽度后的窗口渲染分辨率作为目标分辨率串流至所述终端设备。
基于同一发明构思,第三方面,本发明提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现串流分辨率的动态调整方法的步骤。
基于同一发明构思,第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现串流分辨率的动态调整方法的步骤。
本发明实施例中的一个或多个技术方案,至少具有如下技术效果或优点:
在本发明实施例中,在接收到终端设备的云游戏的启动指令后,获取终端设备的云游戏窗口的窗口期望分辨率和云游戏的窗口渲染分辨率。其中,窗口渲染分辨率为经渲染且在模拟器的窗口合成的云游戏的画面内容的分辨率。这里,快速获取准确度高的窗口期望分辨率和窗口渲染分辨率,为后续调整窗口渲染分辨率作出基础,从而快速实现准确地调整窗口渲染分辨率,以适应不同屏幕尺寸的终端设备的云游戏显示画面。
若窗口期望分辨率的宽高比小于窗口渲染分辨率的宽高比,则根据窗口期望分辨率的宽高比和窗口渲染分辨率的宽高比,得到宽度黑边值。再按照宽度黑边值,对窗口渲染分辨率进行裁剪处理,得到裁剪宽度后的窗口渲染分辨率,并将裁剪宽度后的窗口渲染分辨率作为目标分辨率串流至终端设备。基于窗口期望分辨率和窗口渲染分辨率,高效便捷地判断出窗口渲染分辨率在宽度方向上存在黑边,快速准确地在窗口渲染分辨率上裁掉宽度黑边值,得到终端设备的目标分辨率。通过裁剪宽度黑边值处理,动态调整适应于不同屏幕尺寸的终端设备的云游戏显示画面,提高显示画面的质量和准确性,提升用户的体验度。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考图形表示相同的部件。在附图中:
图1示出了本发明实施例中的串流分辨率的动态调整方法的步骤流程示意图;
图2示出了本发明实施例中的串流分辨率的动态调整装置的模块示意图;
图3示出了本发明实施例中的一种计算机设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
实施例一:本发明第一实施例提供了一种串流分辨率的动态调整方法,如图1所示,包括:
S101,在接收到终端设备的云游戏的启动指令后,获取终端设备的云游戏窗口的窗口期望分辨率和云游戏的窗口渲染分辨率,其中,窗口渲染分辨率为经渲染且在模拟器的窗口合成的云游戏的画面内容的分辨率;
S102,若窗口期望分辨率的宽高比小于窗口渲染分辨率的宽高比,则根据窗口期望分辨率的宽高比和窗口渲染分辨率的宽高比,得到宽度黑边值;
S103,按照宽度黑边值,对窗口渲染分辨率进行裁剪处理,得到裁剪宽度后的窗口渲染分辨率,并将裁剪宽度后的窗口渲染分辨率作为目标分辨率串流至终端设备。
本实施例的串流分辨率的动态调整方法应用于云服务器。在接收到终端设备的云游戏的启动指令后,获取终端设备的云游戏窗口的窗口期望分辨率和云游戏的窗口渲染分辨率,再根据窗口期望分辨率和窗口渲染分辨率,判断是否需要对窗口渲染分辨率进行裁剪处理。如果根据窗口期望分辨率和窗口渲染分辨率,判断出对窗口渲染分辨率进行裁剪处理,得到裁剪后的窗口渲染分辨率,并将裁剪后的窗口渲染分辨率作为目标分辨率串流至终端设备,以使终端设备按照窗口渲染分辨率启动运行云游戏。通过本实施例的串流分辨率的动态调整方法,快速且准确地输出终端设备的云游戏显示画面,还能动态调整适应于终端设备屏幕尺寸的云游戏显示画面,提高显示画面的质量和准确性,提升用户的体验度,优化云游戏的显示操作。
下面,结合图1来详细介绍本实施例提供的串流分辨率的动态调整方法的具体实施步骤:
首先,执行步骤S101,在接收到终端设备的云游戏的启动指令后,获取终端设备的云游戏窗口的窗口期望分辨率和云游戏的窗口渲染分辨率,其中,窗口渲染分辨率为经渲染且在模拟器的窗口合成的云游戏的画面内容的分辨率。
具体来讲,在云游戏在终端设备启动的过程中,终端设备的用户通过点击终端设备的云游戏的图标启动云游戏,终端设备将云游戏的启动指令发送至云服务器。在接收到终端设备的云游戏的启动指令后,获取终端设备的云游戏窗口的窗口期望分辨率和云游戏的窗口渲染分辨率。云游戏窗口为云游戏在终端设备中的显示窗口。
获取窗口期望分辨率的过程是,先获取终端设备的屏幕分辨率。再根据屏幕分辨率和屏幕分辨率对应的分辨率等级,得到云游戏窗口的窗口分辨率。然后,根据窗口分辨率,得到窗口期望分辨率。
具体地,SDK(Software Development Kit,软件开发工具包)在获取到屏幕分辨率后,根据云游戏的响应画面的等级,得到窗口分辨率的高度,并根据窗口分辨率的高度和屏幕分辨率,得到窗口分辨率的宽度,即根据窗口分辨率的宽高比与屏幕分辨率的宽高比相等,得到窗口分辨率的宽度。再根据窗口分辨率的高度和宽度,得到窗口分辨率。窗口分辨率为SDK的分辨率。
其中,云游戏的响应画面的等级为根据常规的屏幕分辨率的等级所设置的,如云游戏的响应画面的等级从低到高分别设置为720、1080、1440和2160。这里,为了保证目标分辨率越高的视频串流的流畅性,避免出现卡顿,目标分辨率对应的传输码率越高,网速要求就越大。因此需确定确定出SDK的分辨率,使SDK的分辨率与目标分辨率做匹配,保障传输码率。
然后,根据窗口分辨率,从预存的多个设置分辨率中确定出窗口期望分辨率。预存的多个分辨率可根据实际需求而设置,窗口期望分辨率为通过GSM(Global System forMobile Communications,即全球移动通信***) launch接口接受到的终端设备为启动运行云游戏所需的分辨率。确定窗口期望分辨率的具体方法是,如果窗口分辨率为全屏模式分辨率,则根据窗口分辨率的宽高比,从预存的多个设置分辨率筛选出与窗口分辨率的宽高比一致的目标设置分辨率,并将目标设置分辨率作为窗口期望分辨率。全屏模式分辨率为云游戏是以全屏模式启动运行的分辨率。如果窗口分辨率为窗口模式分辨率,则根据窗口分辨率的高度,从预存的多个设置分辨率中筛选出与窗口分辨率的高度一致的目标设置分辨率,并将目标设置分辨率作为窗口期望分辨率。其中,窗口模式分辨率为云游戏是以窗口模式启动运行的分辨率。当然,全屏模式可看作窗口模式的一种,这两种确定窗口期望分辨率的具体方法可不限制于窗口分辨率为何种模式分辨率。
举例说明,预存的多个设置分辨率分辨(以宽度×高度表示)为1280×720、1920×1080、2560×1440和3840×2160。窗口分辨率为2160×1080,根据窗口分辨率的高度,确定出窗口期望分辨率为1920×1080。
还需要说明的是,窗口期望分辨率也可直接视为终端设备为正常启动运行云游戏所需的分辨率。例如,终端设备启动运行云游戏所需的分辨率为2160×1080,则直接获取窗口期望分辨率2160×1080。
在本实施例中,获取窗口期望分辨率过程能快速精准得到终端设备为启动运行云游戏所需要的分辨率,为适配终端设备的窗口期望分辨率,作出夯实的基础。
获取云游戏的窗口渲染分辨率的具体过程是,通过XComposite采集方式,得到窗口渲染分辨率。窗口渲染分辨率会随AVD窗口改变而改变,与AVD窗口分辨率一致。窗口渲染分辨率可根据实际需求而设置设定,通常设置的数值为能设置成的最大分辨率数值。其中,云游戏的画面内容经过渲染和AVD的窗口合成后,得到合成后的画面内容,合成后的画面内容的分辨率为窗口渲染分辨率。XComposite采集方式为一种Linux下的视频采集方式。
在实际设置窗口渲染分辨率的过程中,将云服务器显示屏幕设置到2560×1440,这样能放下整个AVD(Android Virtual Device,Android运行的模拟器)窗口,不会因为云服务器显示屏幕太小,AVD自动修改云服务器显示屏幕的显示分辨率。将AVD的窗口分辨率设置为2400×1080,表示窗口渲染分辨率为2400×1080,2400×1080的宽高比为2.22是目前看到最大的宽高比,且小于2560×1440的分辨率。
在本实施例中,快速获取准确度高的窗口期望分辨率和窗口渲染分辨率,为后续调整窗口渲染分辨率作出基础,从而快速实现准确地调整窗口渲染分辨率,以适应不同屏幕尺寸的终端设备的云游戏显示画面。
在得到窗口期望分辨率和窗口渲染分辨率之后,需要根据窗口期望分辨率和窗口渲染分辨率,判断是否需要对窗口渲染分辨率进行裁剪处理。根据判断结果,执行步骤S102和步骤S103。
执行步骤S102,若窗口期望分辨率的宽高比小于窗口渲染分辨率的宽高比,则根据窗口期望分辨率的宽高比和窗口渲染分辨率的宽高比,得到宽度黑边值。
具体来讲,在得到窗口期望分辨率之后,窗口期望分辨率对应的画面会显示在模拟器AVD的窗口中。在窗口期望分辨率的宽高比小于窗口渲染分辨率的宽高比的情形下,即desiredWidth / desiredHeight<texttureWidth/texttureHeight, desiredWidth为窗口期望分辨率的宽度,desiredHeight为窗口期望分辨率的高度,texttureWidth为窗口渲染分辨率的宽度,texttureHeight为窗口渲染分辨率的高度。在此情形下表示在窗口期望分辨率显示在模拟器的窗口中时,模拟器的窗口在宽度方向存在黑边。那么,为了使窗口期望分辨率的宽高比和窗口渲染分辨率的宽高比一致,则根据窗口期望分辨率的宽高比和窗口渲染分辨率的宽高比,得到宽度黑边值,宽度黑边值如下公式所示。
在desiredWidth/desiredHeight<texttureWidth/texttureHeight的情形下,(texttureWidth-2×x)/texttureHeight=desiredWidth/desiredHeight,x为宽度黑边值。
举例说明,假设窗口期望分辨率为2160×1080,AVD的窗口分辨率为2400×1080,则窗口渲染分辨率为2400×1080。通过公式(texttureWidth-2×x)/texttureHeight=desiredWidth/desiredHeight,计算得到crop显示区域为:crop_x= 120,crop_y = 0,crop_w = 2160,crop_h = 1080。AVD的窗口分辨率为2400×1080,AVD的窗口分辨率宽高比2400/1080 = 2.22。
执行步骤S103,按照宽度黑边值,对窗口渲染分辨率进行裁剪处理,得到裁剪宽度后的窗口渲染分辨率,并将裁剪宽度后的窗口渲染分辨率作为目标分辨率串流至终端设备。
具体来讲,在窗口期望分辨率的宽高比小于窗口渲染分辨率的宽高比的情形下,按照宽度黑边值,对窗口渲染分辨率的左右两侧进行裁剪处理,得到裁剪宽度后的窗口渲染分辨率,并将裁剪宽度后的窗口渲染分辨率作为目标分辨率串流至终端设备。
在本实施例中,在窗口期望分辨率的宽高比小于窗口渲染分辨率的宽高比的情形下,判断出窗口渲染分辨率的宽度方向上存在宽度黑边。并根据窗口期望分辨率的宽高比小于窗口渲染分辨率的宽高比,得到宽度黑边值。按照宽度黑边值,对窗口渲染分辨率的左右两侧进行裁剪处理,得到裁剪宽度后的窗口渲染分辨率。这样,基于窗口期望分辨率和窗口渲染分辨率,高效便捷地判断出窗口渲染分辨率在宽度方向上存在黑边,快速准确地在窗口渲染分辨率上裁掉宽度黑边值,得到终端设备的目标分辨率。通过裁剪宽度黑边值处理,动态调整适应于不同屏幕尺寸的终端设备的云游戏显示画面,提高显示画面的质量和准确性,提升用户的体验度。
在得到窗口期望分辨率和窗口渲染分辨率之后,若窗口期望分辨率的宽高比大于窗口渲染分辨率的宽高比,即desiredWidth / desiredHeight<texttureWidth/texttureHeight,表示窗口期望分辨率显示在模拟器的窗口中时,模拟器的窗口在高度方向存在黑边,则根据窗口期望分辨率的宽高比和窗口渲染分辨率的宽高比,得到高度黑边值,高度黑边值如下公式所示。
在desiredWidth/desiredHeight>texttureWidth/texttureHeight的情形下,texttureWidth/(texttureHeight-2×y)=desiredWidth/desiredHeight,y为高度黑边值。
在窗口期望分辨率的宽高比大于窗口渲染分辨率的宽高比的情形下,按照高度黑边值,对窗口渲染分辨率的上下两侧进行裁剪处理,得到裁剪高度后的窗口渲染分辨率,并将裁剪高度后的窗口渲染分辨率作为目标分辨率串流至终端设备。这样,基于窗口期望分辨率和窗口渲染分辨率,高效便捷地判断出窗口渲染分辨率在高度方向上存在黑边,快速准确地在窗口渲染分辨率上裁掉高度黑边值,得到终端设备的目标分辨率。通过裁剪高度黑边值处理,动态调整适应于不同屏幕尺寸的终端设备的云游戏显示画面,提高显示画面的质量和准确性,提升用户的体验度。
在得到窗口期望分辨率和窗口渲染分辨率之后,若窗口期望分辨率的宽高比等于窗口渲染分辨率的宽高比,即desiredWidth / desiredHeight=texttureWidth/texttureHeight,表示窗口期望分辨率显示在模拟器的窗口中时,窗口期望分辨率和窗口渲染分辨率是相同的,则将窗口渲染分辨率作为目标分辨率串流至终端设备。
在得到窗口期望分辨率和窗口渲染分辨率之后,若窗口期望分辨率大于终端设备的硬件的设定编码分辨率,表示窗口期望分辨率的编码能力已超过终端设备的硬件能执行的编码能力,则根据窗口期望分辨率和设定编码分辨率,得到目标编码分辨率,并根据目标编码分辨率进行编码。其中,设定编码分辨率可根据实际需求而设置,设定编码分辨率优选为终端设备的硬件的最大编码分辨率,即终端设备的最大硬件编码能力。
根据窗口期望分辨率和设定编码分辨率,得到目标编码分辨率的具体过程是,根据窗口期望分辨率和设定编码分辨率,得到目标编码分辨率的高度,即目标编码分辨率的高度encHeight=,maxEncodePixelSize为设定编码分辨率。再根据目标编码分辨率的高度和窗口期望分辨率,得到目标编码分辨率的宽度,目标编码分辨率的宽度encWidth=desiredWidth×encHeight / desiredHeight。根据目标编码分辨率的高度和宽度,得到目标编码分辨率。
若窗口期望分辨率不大于终端设备的硬件的设定编码分辨率,表示窗口期望分辨率的编码能力未超过终端设备的硬件能执行的编码能力,则根据目标分辨率进行编码。
需要说明的是,在设定编码分辨率设置为终端设备的硬件的最大编码分辨率,且最大编码分辨率为终端设备的屏幕分辨率的条件下,如果窗口期望分辨率大于终端设备的硬件的最大编码分辨率,则根据窗口期望分辨率和设定编码分辨率,得到目标编码分辨率,并根据目标编码分辨率进行编码,以使终端设备的云游戏显示画面以全屏模式显示,保证目标编码分辨率的宽高比与窗口期望分辨率的宽高比一致。如果窗口期望分辨率与终端设备的硬件的设定编码分辨率一致,则在将目标分辨率串流至终端设备的过程中,根据目标分辨率进行编码,以使终端设备的云游戏显示画面以全屏模式显示。
这里,考虑到了终端设备的硬件的编码能力,通过该编码能力高效率实现编码处理。在得到目标分辨率后,需要对目标分辨率进行编码。再根据确定出的终端设备的硬件的编码能力,对目标分辨率进行编码,从而确定出码率,高效快速的将裁剪后的窗口渲染分辨率显示在终端设备的云游戏窗口中。并且,还能提高显示画面的质量和准确性,提升用户的体验度,优化云游戏的显示操作。
在将目标分辨率串流至终端设备之后,还会实时监测终端设备是否存在调整云游戏窗口的操作。若检测到云游戏窗口的调整指令,表示终端设备的云游戏窗口存在调整操作,如横竖屏切换调整操作或将云游戏窗口调整为全屏操作或将云游戏窗口调整为小窗口或调整云游戏窗口的其他操作,则获取窗口期望分辨率和窗口渲染分辨率,再根据窗口期望分辨率和窗口渲染分辨率,得到目标分辨率,并将目标分辨率串流至终端设备,即再次执行本实施例的串流分辨率的动态调整方法。这样,不仅能动态调整适应于不同屏幕尺寸终端设备的云游戏显示画面,还能动态调整适应于同一终端设备的不同尺寸的云游戏显示窗口,进一步提高显示画面的质量和准确性,提升用户的体验度,优化云游戏的显示操作。
本发明实施例中的一个或多个技术方案,至少具有如下技术效果或优点:
在本发明实施例中,在接收到终端设备的云游戏的启动指令后,获取终端设备的云游戏窗口的窗口期望分辨率和云游戏的窗口渲染分辨率。其中,窗口渲染分辨率为经渲染且在模拟器的窗口合成的云游戏的画面内容的分辨率。这里,快速获取准确度高的窗口期望分辨率和窗口渲染分辨率,为后续调整窗口渲染分辨率作出基础,从而快速实现准确地调整窗口渲染分辨率,以适应不同屏幕尺寸的终端设备的云游戏显示画面。
若窗口期望分辨率的宽高比小于窗口渲染分辨率的宽高比,则根据窗口期望分辨率的宽高比和窗口渲染分辨率的宽高比,得到宽度黑边值。再按照宽度黑边值,对窗口渲染分辨率进行裁剪处理,得到裁剪宽度后的窗口渲染分辨率,并将裁剪宽度后的窗口渲染分辨率作为目标分辨率串流至终端设备。基于窗口期望分辨率和窗口渲染分辨率,高效便捷地判断出窗口渲染分辨率在宽度方向上存在黑边,快速准确地在窗口渲染分辨率上裁掉宽度黑边值,得到终端设备的目标分辨率。通过裁剪宽度黑边值处理,动态调整适应于不同屏幕尺寸的终端设备的云游戏显示画面,提高显示画面的质量和准确性,提升用户的体验度。
实施例二:基于相同的发明构思,本发明第二实施例还提供了一种串流分辨率的动态调整装置,如图2所示,包括:
获取模块201,用于在接收到终端设备的云游戏的启动指令后,获取所述终端设备的云游戏窗口的窗口期望分辨率和所述云游戏的窗口渲染分辨率,其中,所述窗口渲染分辨率为经渲染且在模拟器的窗口合成的所述云游戏的画面内容的分辨率;
判断模块202,用于若所述窗口期望分辨率的宽高比小于所述窗口渲染分辨率的宽高比,则根据所述窗口期望分辨率的宽高比和所述窗口渲染分辨率的宽高比,得到宽度黑边值;
裁剪模块203,用于按照所述宽度黑边值,对所述窗口渲染分辨率进行裁剪处理,得到裁剪宽度后的窗口渲染分辨率,并将所述裁剪宽度后的窗口渲染分辨率作为目标分辨率串流至所述终端设备。
作为一种可选的实施例,判断模块202,用于:
若所述窗口期望分辨率的宽高比大于所述窗口渲染分辨率的宽高比,则根据所述窗口期望分辨率的宽高比和所述窗口渲染分辨率的宽高比,得到高度黑边值;
裁剪模块203,用于按照所述高度黑边值,对所述窗口渲染分辨率进行裁剪处理,得到裁剪高度后的窗口渲染分辨率,并将所述裁剪高度后的窗口渲染分辨率作为所述目标分辨率串流至所述终端设备。
作为一种可选的实施例,判断模块202,用于:
若所述窗口期望分辨率的宽高比等于所述窗口渲染分辨率的宽高比,则将所述窗口渲染分辨率作为所述目标分辨率串流至所述终端设备。
作为一种可选的实施例,判断模块202,用于在获取所述终端设备的云游戏窗口的窗口期望分辨率之后,还包括:
若所述窗口期望分辨率大于所述终端设备的硬件的设定编码分辨率,则根据所述窗口期望分辨率和所述设定编码分辨率,得到目标编码分辨率,并根据所述目标编码分辨率进行编码;
若所述窗口期望分辨率不大于所述设定编码分辨率,则根据所述目标分辨率进行编码。
作为一种可选的实施例,所述根据所述窗口期望分辨率和所述设定编码分辨率,得到目标编码分辨率,包括:
根据所述窗口期望分辨率和所述设定编码分辨率,得到所述目标编码分辨率的高度,如下公式所示:
encHeight=;
其中,encHeight为所述目标编码分辨率额高度,maxEncodePixelSize为设定编码分辨率,desiredWidth为所述窗口期望分辨率的宽度,desiredHeight为所述窗口期望分辨率的高度;
再根据所述目标编码分辨率的高度和所述窗口期望分辨率,得到目标编码分辨率的宽度,如下公式所示:
encWidth=desiredWidth×encHeight / desiredHeight;
其中,encWidth为所述目标编码分辨率的宽度。
作为一种可选的实施例,所述获取所述终端设备的云游戏窗口的窗口期望分辨率,包括:
获取所述终端设备的屏幕分辨率;
根据所述屏幕分辨率和所述屏幕分辨率对应的分辨率等级,得到所述云游戏窗口的窗口分辨率;
根据所述窗口分辨率,得到所述窗口期望分辨率。
作为一种可选的实施例,在将所述目标分辨率串流至所述终端设备后,还包括:
若检测到所述云游戏窗口的调整指令,则获取所述窗口期望分辨率和所述窗口渲染分辨率,再根据所述窗口期望分辨率和所述窗口渲染分辨率,得到所述目标分辨率,并将所述目标分辨率串流至所述终端设备。
由于本实施例所介绍的串流分辨率的动态调整装置为实施本申请实施例一中串流分辨率的动态调整方法所采用的装置,故而基于本申请实施例一中所介绍的串流分辨率的动态调整方法,本领域所属技术人员能够了解本实施例的串流分辨率的动态调整装置的具体实施方式以及其各种变化形式,所以在此对于该串流分辨率的动态调整装置如何实现本申请实施例一中的方法不再详细介绍。只要本领域所属技术人员实施本申请实施例一中串流分辨率的动态调整方法所采用的装置,都属于本申请所欲保护的范围。
实施例三:基于相同的发明构思,本发明第三实施例还提供了一种计算机设备,如图3所示,包括存储器304、处理器302及存储在存储器304上并可在处理器302上运行的计算机程序,所述处理器302执行所述程序时实现上述串流分辨率的动态调整方法中的任一方法的步骤。
其中,在图3中,总线架构(用总线300来代表),总线300可以包括任意数量的互联的总线和桥,总线300将包括由处理器302代表的一个或多个处理器和存储器304代表的存储器的各种电路链接在一起。总线300还可以将诸如***设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口306在总线300和接收器301和发送器303之间提供接口。接收器301和发送器303可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器302负责管理总线300和通常的处理,而存储器304可以被用于存储处理器302在执行操作时所使用的数据。
实施例四:基于相同的发明构思,本发明第四实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文实施例一所述...方法的任一方法的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种串流分辨率的动态调整方法,其特征在于,包括:
在接收到终端设备的云游戏的启动指令后,获取所述终端设备的云游戏窗口的窗口期望分辨率和所述云游戏的窗口渲染分辨率,其中,所述窗口渲染分辨率为经渲染且在模拟器的窗口合成的所述云游戏的画面内容的分辨率;
若所述窗口期望分辨率的宽高比小于所述窗口渲染分辨率的宽高比,则根据所述窗口期望分辨率的宽高比和所述窗口渲染分辨率的宽高比,得到宽度黑边值;
按照所述宽度黑边值,对所述窗口渲染分辨率进行裁剪处理,得到裁剪宽度后的窗口渲染分辨率,并将所述裁剪宽度后的窗口渲染分辨率作为目标分辨率串流至所述终端设备。
2.如权利要求1所述的方法,其特征在于,在获取所述终端设备的云游戏窗口的窗口期望分辨率和所述云游戏的窗口渲染分辨率之后,还包括:
若所述窗口期望分辨率的宽高比大于所述窗口渲染分辨率的宽高比,则根据所述窗口期望分辨率的宽高比和所述窗口渲染分辨率的宽高比,得到高度黑边值;
按照所述高度黑边值,对所述窗口渲染分辨率进行裁剪处理,得到裁剪高度后的窗口渲染分辨率,并将所述裁剪高度后的窗口渲染分辨率作为所述目标分辨率串流至所述终端设备。
3.如权利要求1所述的方法,其特征在于,在获取所述终端设备的云游戏窗口的窗口期望分辨率和所述云游戏的窗口渲染分辨率之后,还包括:
若所述窗口期望分辨率的宽高比等于所述窗口渲染分辨率的宽高比,则将所述窗口渲染分辨率作为所述目标分辨率串流至所述终端设备。
4.如权利要求1-3任一项所述的方法,其特征在于,在获取所述终端设备的云游戏窗口的窗口期望分辨率之后,还包括:
若所述窗口期望分辨率大于所述终端设备的硬件的设定编码分辨率,则根据所述窗口期望分辨率和所述设定编码分辨率,得到目标编码分辨率,并根据所述目标编码分辨率进行编码;
若所述窗口期望分辨率不大于所述设定编码分辨率,则根据所述目标分辨率进行编码。
5.如权利要求4所述的方法,其特征在于,所述根据所述窗口期望分辨率和所述设定编码分辨率,得到目标编码分辨率,包括:
根据所述窗口期望分辨率和所述设定编码分辨率,得到所述目标编码分辨率的高度,如下公式所示:
encHeight=;
其中,encHeight为所述目标编码分辨率额高度,maxEncodePixelSize为设定编码分辨率,desiredWidth为所述窗口期望分辨率的宽度,desiredHeight为所述窗口期望分辨率的高度;
再根据所述目标编码分辨率的高度和所述窗口期望分辨率,得到目标编码分辨率的宽度,如下公式所示:
encWidth=desiredWidth×encHeight / desiredHeight;
其中,encWidth为所述目标编码分辨率的宽度。
6.如权利要求1所述的方法,其特征在于,所述获取所述终端设备的云游戏窗口的窗口期望分辨率,包括:
获取所述终端设备的屏幕分辨率;
根据所述屏幕分辨率和所述屏幕分辨率对应的分辨率等级,得到所述云游戏窗口的窗口分辨率;
根据所述窗口分辨率,得到所述窗口期望分辨率。
7.如权利要求1-3任一项所述的方法,其特征在于,在将所述目标分辨率串流至所述终端设备后,还包括:
若检测到所述云游戏窗口的调整指令,则获取所述窗口期望分辨率和所述窗口渲染分辨率,再根据所述窗口期望分辨率和所述窗口渲染分辨率,得到所述目标分辨率,并将所述目标分辨率串流至所述终端设备。
8.一种串流分辨率的动态调整装置,其特征在于,包括:
获取模块,用于在接收到终端设备的云游戏的启动指令后,获取所述终端设备的云游戏窗口的窗口期望分辨率和所述云游戏的窗口渲染分辨率,其中,所述窗口渲染分辨率为经渲染且在模拟器的窗口合成的所述云游戏的画面内容的分辨率;
判断模块,用于若所述窗口期望分辨率的宽高比小于所述窗口渲染分辨率的宽高比,则根据所述窗口期望分辨率的宽高比和所述窗口渲染分辨率的宽高比,得到宽度黑边值;
裁剪模块,用于按照所述宽度黑边值,对所述窗口渲染分辨率进行裁剪处理,得到裁剪宽度后的窗口渲染分辨率,并将所述裁剪宽度后的窗口渲染分辨率作为目标分辨率串流至所述终端设备。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-7中任一权利要求所述的方法步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一权利要求所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311155879.2A CN116886744B (zh) | 2023-09-08 | 2023-09-08 | 一种串流分辨率的动态调整方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311155879.2A CN116886744B (zh) | 2023-09-08 | 2023-09-08 | 一种串流分辨率的动态调整方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116886744A true CN116886744A (zh) | 2023-10-13 |
CN116886744B CN116886744B (zh) | 2023-12-29 |
Family
ID=88270300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311155879.2A Active CN116886744B (zh) | 2023-09-08 | 2023-09-08 | 一种串流分辨率的动态调整方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116886744B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2053592A2 (en) * | 2007-10-26 | 2009-04-29 | Mitel Networks Corporation | Method and apparatus for maintaining a visual appearance of at least one window when a resolution of the screen changes |
CN111544886A (zh) * | 2020-04-30 | 2020-08-18 | 腾讯科技(深圳)有限公司 | 一种画面显示的方法以及相关装置 |
US20200275021A1 (en) * | 2018-08-27 | 2020-08-27 | SZ DJI Technology Co., Ltd. | Image processing and presentation |
KR20210051903A (ko) * | 2019-10-31 | 2021-05-10 | 삼성에스디에스 주식회사 | 게임 스트리밍 방법 및 장치 |
CN112791399A (zh) * | 2021-02-08 | 2021-05-14 | 腾讯科技(深圳)有限公司 | 云游戏画面的显示方法及装置、***、介质、电子设备 |
CN113101654A (zh) * | 2021-05-11 | 2021-07-13 | 江苏视博云信息技术有限公司 | 一种云游戏画面的显示方法、装置及存储介质 |
CN113778589A (zh) * | 2021-08-20 | 2021-12-10 | 广州虎牙科技有限公司 | 屏幕适配方法、服务器、智能终端、电子设备及存储介质 |
CN115731108A (zh) * | 2022-11-29 | 2023-03-03 | 北京蔚领时代科技有限公司 | 一种自适应分辨率确定方法、装置、服务端及存储介质 |
US20230260084A1 (en) * | 2021-09-26 | 2023-08-17 | Tencent Technology (Shenzhen) Company Limited | Video frame playing method and apparatus, device, storage medium, and program product |
-
2023
- 2023-09-08 CN CN202311155879.2A patent/CN116886744B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2053592A2 (en) * | 2007-10-26 | 2009-04-29 | Mitel Networks Corporation | Method and apparatus for maintaining a visual appearance of at least one window when a resolution of the screen changes |
US20200275021A1 (en) * | 2018-08-27 | 2020-08-27 | SZ DJI Technology Co., Ltd. | Image processing and presentation |
KR20210051903A (ko) * | 2019-10-31 | 2021-05-10 | 삼성에스디에스 주식회사 | 게임 스트리밍 방법 및 장치 |
CN111544886A (zh) * | 2020-04-30 | 2020-08-18 | 腾讯科技(深圳)有限公司 | 一种画面显示的方法以及相关装置 |
CN112791399A (zh) * | 2021-02-08 | 2021-05-14 | 腾讯科技(深圳)有限公司 | 云游戏画面的显示方法及装置、***、介质、电子设备 |
CN113101654A (zh) * | 2021-05-11 | 2021-07-13 | 江苏视博云信息技术有限公司 | 一种云游戏画面的显示方法、装置及存储介质 |
CN113778589A (zh) * | 2021-08-20 | 2021-12-10 | 广州虎牙科技有限公司 | 屏幕适配方法、服务器、智能终端、电子设备及存储介质 |
US20230260084A1 (en) * | 2021-09-26 | 2023-08-17 | Tencent Technology (Shenzhen) Company Limited | Video frame playing method and apparatus, device, storage medium, and program product |
CN115731108A (zh) * | 2022-11-29 | 2023-03-03 | 北京蔚领时代科技有限公司 | 一种自适应分辨率确定方法、装置、服务端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116886744B (zh) | 2023-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11303881B2 (en) | Method and client for playing back panoramic video | |
CN108211352B (zh) | 一种调节画质的方法及终端 | |
US10037070B2 (en) | Image display method and display system | |
US20180308225A1 (en) | Systems and techniques for automatic image haze removal across multiple video frames | |
US11589102B2 (en) | Screen projection method and system | |
CN110795056B (zh) | 调节显示参数的方法、装置、终端及存储介质 | |
CN113329252B (zh) | 一种基于直播的人脸处理方法、装置、设备和存储介质 | |
CN112114928B (zh) | 显示页面的处理方法和装置 | |
CN102186067A (zh) | 一种图像帧的传输方法和装置、显示方法和*** | |
CN103366391A (zh) | 动态图像的画面渲染方法及画面渲染装置 | |
US9327199B2 (en) | Multi-tenancy for cloud gaming servers | |
US20160285939A1 (en) | Determining initial bit rate for adaptive bit rate video playback | |
CN113015007B (zh) | 视频插帧方法、装置及电子设备 | |
CN107682535B (zh) | 基于智能手机平台远程控制计算机的方法 | |
CN109218817B (zh) | 一种显示虚拟礼物提示消息的方法和装置 | |
CN116091672A (zh) | 图像渲染方法、计算机设备及其介质 | |
CN116886744B (zh) | 一种串流分辨率的动态调整方法、装置、设备及存储介质 | |
CN105678688B (zh) | 一种图片处理方法及装置 | |
CN110604921B (zh) | 一种显示内容切换方法、服务器和可存储介质 | |
CN111372009A (zh) | 一种图像处理方法和处理设备 | |
CN111327863A (zh) | 一种视频通话处理方法及装置 | |
CN110941413B (zh) | 显示画面的生成方法及相关装置 | |
CN113810755A (zh) | 全景视频预览的方法、装置、电子设备及存储介质 | |
CN112399196B (zh) | 图像处理方法及装置 | |
CN112118473A (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 |