CN116033224A - 一种实时云渲染系统中视频动态索引操控方法 - Google Patents
一种实时云渲染系统中视频动态索引操控方法 Download PDFInfo
- Publication number
- CN116033224A CN116033224A CN202310129333.3A CN202310129333A CN116033224A CN 116033224 A CN116033224 A CN 116033224A CN 202310129333 A CN202310129333 A CN 202310129333A CN 116033224 A CN116033224 A CN 116033224A
- Authority
- CN
- China
- Prior art keywords
- picture
- index
- cloud rendering
- width
- screen application
- 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
- 238000009877 rendering Methods 0.000 title claims abstract description 66
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000005516 engineering process Methods 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 11
- 238000004422 calculation algorithm Methods 0.000 claims description 2
- 238000013507 mapping Methods 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract description 4
- 230000005540 biological transmission Effects 0.000 description 7
- 240000004050 Pentaglottis sempervirens Species 0.000 description 2
- 235000004522 Pentaglottis sempervirens Nutrition 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明提供一种实时云渲染系统中视频动态索引操控方法包括基于云渲染服务端对完整的宽屏应用画面生成一张整体鸟瞰图;根据获取的宽屏应用画面计算其宽度、高度以及索引画面的宽度;将鸟瞰图的图像参数以及索引画面宽度返回至客户端;基于云渲染客户端根据获取的鸟瞰图以及索引画面在宽屏应用画面的占比,得到当前索引位置矩形所处位置的相对父窗口的x偏移,基于云渲染客户端,解码显示。通过视频动态索引的方法,只局部加载和实时渲染宽屏应用中被终端显示器观看到的部分画面,达到仅对部分画面进行局部实时渲染处理的效果。
Description
技术领域
本发明涉及视频动态索引操控技术领域,具体为一种实时云渲染系统中视频动态索引操控方法。
背景技术
近年来,智慧城市、数字孪生、虚拟仿真等应用逐步兴起,由于这些往往都是大型3D应用,依赖于高性能显卡硬件。故而,为降低大型内容对终端的要求,一般使用实时云渲染技术(也称为实时云流化技术)进行云端部署。
实时云渲染技术的原理是:将大型3D应用运行在云端服务器,基于画面抓取、视频编码、指令传输等相关技术,将云端应用的画面形成低延迟视频流传输到用户终端,并实时传递终端指令给云端应用,对云端应用实时操控。这样终端机器就只需要能够流畅播放视频即可,不再需要专业显卡和大量运算资源,在手机、平板等轻量终端设备下也能流畅体验,实时云渲染技术的产生大大加速了智慧城市、数字孪生、虚拟仿真、元宇宙等应用推广的进程。
在实时云渲染类型的业务系统中,像智慧城市等应用,一般是为超宽屏幕的展示设计,这些画面往往是宽度明显超过高度,一般宽高比16:9是高清晰电视的国际标准,但这些宽屏应用的比例甚至可以超过160:9。
目前,通过实时云渲染技术,在常规电脑屏幕上浏览此应用时,有个突出的问题就是:由于传输的是给客户端的是160:9的超宽画面,16:9的常规电脑屏幕若按适应高度显示,只能显示一部分画面,另外一部分则不会显示出来,但对这不需要显示的这部分画面,服务端仍然需要进行编码、网络传输等操作,无疑是浪费了服务器的编码资源与带宽资源。
发明内容
针对现有技术存在的不足,本发明目的是提供一种实时云渲染系统中视频动态索引操控方法,通过视频动态索引的方法,只局部加载和实时渲染宽屏应用中被终端显示器观看到的部分画面,达到仅对部分画面进行局部实时渲染处理的效果;并且通过实现只对该局部区域的画面进行云端的指令响应,从而实现节约服务器算力资源的目的。以解决上述背景技术中提出的问题。
为了实现上述目的,本发明是通过如下的技术方案来实现:一种实时云渲染系统中视频动态索引操控方法,包括
基于云渲染服务端
S1,对完整的宽屏应用画面生成一张整体鸟瞰图,其中,所述鸟瞰图为表征宽屏应用画面的一缩略图;
S2,根据获取的宽屏应用画面计算其宽度appWidth、高度appHeight以及索引画面的宽度slidingWidth;
S3,将所述鸟瞰图的图像参数以及所述索引画面宽度slidingWidth返回至客户端;
基于云渲染客户端
S4,根据获取的所述鸟瞰图以及索引画面在宽屏应用画面的占比,绘制得到表征索引画面的索引位置矩形;
S5,滑动所述索引位置矩形以得到当前索引位置矩形所处位置的相对父窗口的x偏移slidingOffset,返回云渲染服务端;
S6,裁剪所述索引画面并进行编码后,返回云渲染客户端;
S7,基于所述云渲染客户端,解码显示。
与现有技术相比,本发明的有益效果:
本发明通过视频动态索引的方法,只局部加载和实时渲染宽屏应用中被终端显示器观看到的部分画面,达到仅对部分画面进行局部实时渲染处理的效果;
通过实现只对该局部区域的画面进行云端的指令响应,使得客户端可以按正常比例清晰,不受影响的预览并操控宽屏画面中的部分画面,服务端仅需要对小部分画面进行编码传输即可,从而实现节约服务器算力资源的目的。
附图说明
参照附图来说明本发明的公开内容。应当了解,附图仅仅用于说明目的,而并非意在对本发明的保护范围构成限制,在附图中,相同的附图标记用于指代相同的部件。其中:
图1为本发明一实施例中所提出的实时云渲染系统中视频动态索引操控方法的整体流程示意图;
图2为本发明一实施例中所提出的在步骤S4中绘制得到表征索引画面的索引位置矩形的示意图。
具体实施方式
容易理解,根据本发明的技术方案,在不变更本发明实质精神下,本领域的一般技术人员可以提出可相互替换的多种结构方式以及实现方式。因此,以下具体实施方式以及附图仅是对本发明的技术方案的示例性说明,而不应当视为本发明的全部或者视为对本发明技术方案的限定或限制。
以下结合附图对本发明做进一步详细说明,但不作为对本发明的限定。
作为对本发明技术构思以及实现原理的理解,
举例来说,现有传输的给客户端的是160:9的超宽画面,由于目前16:9的常规电脑屏幕若按适应高度显示,因此,此超宽画面只能显示一部分画面,另外一部分则不会显示出来,但对这不需要显示的这部分画面,服务端仍然需要进行编码、网络传输等操作,无疑是浪费了服务器的编码资源与带宽资源。
为此,本发明提出的是,针对宽屏应用(超宽画面)实时云渲染时,通过视频动态索引的方法,只局部加载和实时渲染宽屏应用(超宽画面)中被终端显示器观看到的部分画面,达到仅对部分画面进行局部实时渲染处理的效果,从而实现节约服务器算力资源的目的。同时再通过客户端绘制的鸟瞰缩略图,使客户端的用户实现全貌预览,以及拖动鸟瞰图滑动条来浏览想看的位置(这部分实时的被渲染)。
如图1所示,作为本发明的一实施例,提出一种实时云渲染系统中视频动态索引操控方法,包括:
在开始前,首先是实时云渲染端客户端:具体使用时,基于QT的UI程序,渲染客户端窗口使用QWidget来显示,同时,调用QWidget类中成员函数width(),height()来分别获取到客户端目前所显示的渲染画面的宽度和高度,标记为 clientWidth与 clientHeight,完成后,上报至云渲染服务端保存。
基于上述技术构思,需要说明的是,获取到客户端目前所显示的渲染画面的宽度和高度的方式至少包括QT,在实际使用时,任意客户端实现,都是可以自己获取自己画面的宽和高。当客户端的参数上传至服务端保存完善后,接下来,
需要基于云渲染服务端
S1,对完整的宽屏应用画面(本发明以160:9的宽屏应用比例举例)生成一张整体鸟瞰图,可以理解的是,鸟瞰图为表征宽屏应用画面的一缩略图。
在具体实施时,云渲染服务端生成一整体鸟瞰图的具体方法包括:
首先,云渲染服务端使用微软D3D11 API Hook技术捕捉到宽屏应用画面的每一帧的画面,其中,将画面的描述类型设置为ID3DTexture2D,描述的目的在于表示引用的显存中的一张图片;
其次,调用微软D3D11 API Hook技术中Map函数,将ID3DTexture2D描述的显存图片映射到云渲染服务端内存中;需要说明的是,此时内存中图片的格式为原始的RGB图像,原始图像传输需要巨额带宽,不适宜网络传输,为此,需要转为一种压缩的图像格式,格式可选为jpeg,即本发明继续提出,
最后,基于JPEG算法将云渲染服务端内存中RGB原始图像转为jpeg图像,完成鸟瞰图的生成。
S2,在云渲染服务端获取到宽屏应用画面(本发明以160:9的宽屏应用比例举例)的ID3DTexture2D对象时,调用成员函数GetDesc来计算其宽度appWidth、高度appHeight,并通过
slidingWidth = min(clientWidth * appHeight / clientHeight,appWidth)(1)
计算索引画面的宽度slidingWidth,式中,clientWidth表示为云渲染客户端窗口的宽度; clientHeight表示为云渲染客户端窗口的高度;min表示为取括号中两个数值的最小值。
S3,将鸟瞰图的图像参数(得到的jpeg图像)以及索引画面宽度slidingWidth返回至客户端;
基于云渲染客户端
S4,云渲染客户端收到上述生成好的jpeg图片后,具体实施时,直接构造一个QT中的QPixmap对象,此对象表示一张图片,然后图片可在QT的paintEvent中通过调用drawPixmap函数即可绘制上述鸟瞰图,接下来,根据slidingWidth/appWidth计算出索引画面在整个应用画面中所占的比例。
如图2所示,基于上述技术构思,可以理解的是,比如160:9在16:9上索引显示时,索引画面占比为10%,此时需要绘制一个(如图2的)索引位置矩形来表示当前浏览的索引位置,且索引位置矩形区域应该占鸟瞰图宽度的10%,矩形可通过QT中drawRect函数绘制,绘制在鸟瞰图背景之上,此时,客户端可通过鼠标拖动索引位置矩形来控制画面索引位置,比如索引位置矩形在最左侧时,则云渲染服务端会渲染应用最左侧10%的画面。
S5,滑动索引位置矩形以得到当前索引位置矩形所处位置的相对父窗口的x偏移slidingOffset,返回云渲染服务端;
举例来说,当鼠标拖动索引位置矩形区域时,获取索引位置矩形当前所处位置的相对父窗口的x偏移,比如索引位置矩形在可滑动区域的最左边时,x偏移值为0,当索引位置矩形区域在可滑动区域的最右边时,x偏移值则为父窗口的宽度减去索引位置矩形块的宽度,同时,为方便计算,除以一个可滑动的总距离,再乘以100,形成一个[0,100]的百分比区间,标记为 slidingOffset,然后将此数值上报给服务端。
S6,此时,服务端根据slidingWidth参数作为裁剪矩形画面的宽度,appHeight作为裁剪矩形画面的高度,可形成一个具有宽高的矩形,再加上slidingOffset以及appWidth可以计算出一个矩形的偏移位置,然后基于微软Direct3D 11中CopySubresourceRegion函数传入上述宽高以及偏移等参数即可裁剪所需的部分画面到新的画面缓冲区中,此时,新缓冲区画面为黄色矩形所在位置的部分画面。接下来就是进行编码:对新的画面缓冲区的部分画面进行视频的编码,编码接口使用NvdiaEnc API硬件编码,内部主要编码逻辑在显卡编码芯片中执行,具体实施时,选为H.264或H.265编码方式。
编码完成后,服务端通过网络将数据传给客户端;
S7,基于云渲染客户端,对上述步骤得到新的画面缓冲区解码显示。基于上述技术构思,需要说明的是,在步骤S5中,当鼠标拖动索引位置矩形区域时,针对客户端的鼠标指令操作,由于客户端是局部窗口坐标系,为此还需要在服务端叠加相对位置的偏移量,进行坐标系转换,当转换为应用全部画面的坐标系后,才可以正确响应鼠标等指令。
至此,经上述S1-S7步骤后,客户端即可任意通过滑动矩形框来预览想要看的位置,并能正确的响应部分画面中的鼠标指令操作,从而使客户端可以按正常比例清晰,不受影响的预览并操控宽屏画面中的部分画面,同时服务端仅需要对小部分画面进行编码传输即可,大大节约了服务端算力与公共网络资源,举例说明:原始应用画面为160:9的画面,实际显示器宽高比如果为16:9,则实际传输只需要使用原来1/10的带宽即可,可以在同等清晰度情况下,减少90%的带宽消耗。如果用原来相同的带宽消耗,那么清晰度可提升10倍,从而取得非常显著的改善。
本发明的技术范围不仅仅局限于上述说明中的内容,本领域技术人员可以在不脱离本发明技术思想的前提下,对上述实施例进行多种变形和修改,而这些变形和修改均应当属于本发明的保护范围内。
Claims (6)
1. 一种实时云渲染系统中视频动态索引操控方法,其特征在于:包括:
基于云渲染服务端
S1,对完整的宽屏应用画面生成一张整体鸟瞰图,其中,所述鸟瞰图为表征宽屏应用画面的一缩略图;
S2,根据获取的宽屏应用画面计算其宽度appWidth、高度appHeight以及索引画面的宽度slidingWidth;
S3,将所述鸟瞰图的图像参数以及所述索引画面宽度slidingWidth返回至客户端;
基于云渲染客户端
S4,根据获取的所述鸟瞰图以及索引画面在宽屏应用画面的占比,绘制得到表征索引画面的索引位置矩形;
S5,滑动所述索引位置矩形以得到当前索引位置矩形所处位置的相对父窗口的x偏移slidingOffset,返回云渲染服务端;
S6,裁剪所述索引画面并进行编码后,返回云渲染客户端;
S7,基于所述云渲染客户端,解码显示。
2.根据权利要求1所述的一种实时云渲染系统中视频动态索引操控方法,其特征在于:步骤S1中,云渲染服务端生成一整体鸟瞰图的具体方法包括:
首先,云渲染服务端使用微软D3D11 API Hook技术捕捉到宽屏应用画面的每一帧的画面,同时将画面的描述类型设置为ID3DTexture2D;
其次,调用微软D3D11 API Hook技术中Map函数,将所述ID3DTexture2D描述的显存图片映射到云渲染服务端内存中;
最后,基于JPEG算法将云渲染服务端内存中RGB原始图像转为jpeg图像,完成鸟瞰图的生成。
3.根据权利要求1所述的一种实时云渲染系统中视频动态索引操控方法,其特征在于:步骤S2中,在云渲染服务端获取到宽屏应用画面的ID3DTexture2D对象时,需要调用成员函数GetDesc以获取宽屏应用画面的宽度appWidth、高度appHeight;同时,索引画面的高度与宽屏应用画面的高度appHeight一致,索引画面的宽度slidingWidth的计算方式为:
slidingWidth = min(clientWidth * appHeight / clientHeight,appWidth)
式中,clientWidth表示为云渲染客户端窗口的宽度; clientHeight表示为云渲染客户端窗口的高度;min表示为取括号中两个数值的最小值。
4.根据权利要求1所述的一种实时云渲染系统中视频动态索引操控方法,其特征在于:基于云渲染客户端
绘制得到表征索引画面的索引位置矩形的具体方式为:
S4-1,调用drawPixmap函数首先基于云渲染客户端,绘制所述鸟瞰图;
S4-2,根据索引画面的宽度slidingWidth以及宽屏应用画面宽度appWidth计算索引画面在宽屏应用画面的占比。
5.根据权利要求1所述的一种实时云渲染系统中视频动态索引操控方法,其特征在于:步骤S6中,裁剪所述索引画面的具体方式为:
首先,云渲染服务端根据索引画面宽度slidingWidth参数作为裁剪矩形画面的宽度,以宽屏应用画面高度appHeight作为裁剪矩形画面的高度,形成一个具有宽高的矩形;
其次,基于S5中获得的slidingOffset以及宽屏应用画面宽度appWidth 计算出一个矩形的偏移位置;
再次,基于微软D3D11 API Hook技术,调用CopySubresourceRegion函数传入上述宽高以及偏移位置参数,裁剪所需的部分画面到新的画面缓冲区中,形成新画面缓存区,此时,新画面缓存区为索引位置矩形所在位置的部分画面。
6.根据权利要求5所述的一种实时云渲染系统中视频动态索引操控方法,其特征在于:当所述索引画面裁剪后,还需要对新画面缓存区的部分画面进行视频编码,其中,所述编码接口使用NvdiaEnc API硬件编码,内部主要编码逻辑在显卡编码芯片中执行,编码方式为H.264或H.265。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310129333.3A CN116033224B (zh) | 2023-02-17 | 2023-02-17 | 一种实时云渲染系统中视频动态索引操控方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310129333.3A CN116033224B (zh) | 2023-02-17 | 2023-02-17 | 一种实时云渲染系统中视频动态索引操控方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116033224A true CN116033224A (zh) | 2023-04-28 |
CN116033224B CN116033224B (zh) | 2024-02-06 |
Family
ID=86091544
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310129333.3A Active CN116033224B (zh) | 2023-02-17 | 2023-02-17 | 一种实时云渲染系统中视频动态索引操控方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116033224B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1732690A (zh) * | 2002-12-31 | 2006-02-08 | 英国电讯有限公司 | 视频流传输 |
CN113082693A (zh) * | 2021-03-29 | 2021-07-09 | 阿里巴巴新加坡控股有限公司 | 渲染方法、云游戏渲染方法、服务端及计算设备 |
CN113099245A (zh) * | 2021-03-04 | 2021-07-09 | 广州方硅信息技术有限公司 | 全景视频直播方法、系统和计算机可读存储介质 |
CN115657893A (zh) * | 2022-11-11 | 2023-01-31 | 杭州联吉技术有限公司 | 一种显示控制方法、显示控制装置及智能设备 |
CN115989522A (zh) * | 2020-08-11 | 2023-04-18 | 佩治人工智能公司 | 处理电子图像以提供组织病理学切片的改进的可视化和渲染的系统和方法 |
-
2023
- 2023-02-17 CN CN202310129333.3A patent/CN116033224B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1732690A (zh) * | 2002-12-31 | 2006-02-08 | 英国电讯有限公司 | 视频流传输 |
CN115989522A (zh) * | 2020-08-11 | 2023-04-18 | 佩治人工智能公司 | 处理电子图像以提供组织病理学切片的改进的可视化和渲染的系统和方法 |
CN113099245A (zh) * | 2021-03-04 | 2021-07-09 | 广州方硅信息技术有限公司 | 全景视频直播方法、系统和计算机可读存储介质 |
CN113082693A (zh) * | 2021-03-29 | 2021-07-09 | 阿里巴巴新加坡控股有限公司 | 渲染方法、云游戏渲染方法、服务端及计算设备 |
CN115657893A (zh) * | 2022-11-11 | 2023-01-31 | 杭州联吉技术有限公司 | 一种显示控制方法、显示控制装置及智能设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116033224B (zh) | 2024-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111681167B (zh) | 画质调整方法和装置、存储介质及电子设备 | |
CN102164167B (zh) | 一种用于远程控制的分类传输方法和系统 | |
CN1856819B (zh) | 通过分布式应用程序的图形数据的网络传输的系统和方法 | |
CN102595242B (zh) | 动态调整视频的系统、终端和方法 | |
US20100134494A1 (en) | Remote shading-based 3d streaming apparatus and method | |
US20230215076A1 (en) | Image frame display method, apparatus, device, storage medium, and program product | |
JP2015525530A (ja) | ビデオ通信方法、ビデオ通信装置、プログラム及び記録媒体 | |
CN103092552A (zh) | 一种实现多屏显示的方法及系统 | |
CN104869346A (zh) | 一种视频通话中的图像处理方法及电子设备 | |
CN110262765B (zh) | 直立影像全屏显示方法、相关设备及系统 | |
CN110675465A (zh) | 用于生成图像的方法和装置 | |
CN112764853A (zh) | 一种投屏方法、设备及系统 | |
CN114040246A (zh) | 图形处理器的图像格式转换方法、装置、设备及存储介质 | |
CN110740352B (zh) | 显卡透传环境下基于spice协议的差异图像显示方法 | |
WO2012109582A1 (en) | System and method for multistage optimized jpeg output | |
CN116033224B (zh) | 一种实时云渲染系统中视频动态索引操控方法 | |
CN117676241A (zh) | 基于服务器三维渲染的数字化工厂大场景显示方法及系统 | |
CN113973224A (zh) | 媒体信息的传输方法、计算设备及存储介质 | |
CN107318021B (zh) | 一种远程显示的数据处理方法及系统 | |
CN115988265A (zh) | 一种显示画面的渲染方法、装置和终端设备 | |
CN113836455B (zh) | 特效渲染方法、装置、设备、存储介质及计算机程序产品 | |
CN110990109B (zh) | 一种拼接屏回显方法、终端、系统及存储介质 | |
CN112165631B (zh) | 媒体资源处理方法和装置、存储介质及电子设备 | |
CN104284077A (zh) | 一种图像处理方法和装置 | |
CN107318020B (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 |