CN113082703B - 一种光标显示方法、装置及介质 - Google Patents
一种光标显示方法、装置及介质 Download PDFInfo
- Publication number
- CN113082703B CN113082703B CN202110442497.2A CN202110442497A CN113082703B CN 113082703 B CN113082703 B CN 113082703B CN 202110442497 A CN202110442497 A CN 202110442497A CN 113082703 B CN113082703 B CN 113082703B
- Authority
- CN
- China
- Prior art keywords
- cursor
- target
- resolution
- picture
- video frame
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 230000003044 adaptive effect Effects 0.000 claims abstract description 59
- 238000009877 rendering Methods 0.000 claims abstract description 32
- 238000004364 calculation method Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 11
- 238000012545 processing Methods 0.000 description 8
- 230000006978 adaptation Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04812—Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请公开了一种光标显示方法、装置及介质,其中方法包括,获取与目标光标对应的捕获数据,根据捕获数据计算适配于对应视频帧的适配捕获数据,并按照适配捕获数据进行渲染显示。由于在获取到目标光标的捕获数据后,对计算的适配捕获数据进行渲染显示,使得渲染显示的目标光标与对应的视频帧相匹配,避免了光标与视频不匹配导致在客户端光标显示错位的现象,因此提高了云游戏的实用性和使用体验感。
Description
技术领域
本申请涉及云游戏技术领域,特别是涉及一种光标显示方法、装置及介质。
背景技术
随着5G网络、编解码技术以及软硬件技术的发展,云游戏等创新业务逐步进入大众的视野。云游戏不同于传统游戏,是一种以云计算、云控制、渲染及网络传输为基础的游戏实现方式,使游戏运行在云端边缘计算节点的主机端,而非用户本地客户端上,而客户端只需通过接收主机端发送的音频、视频、光标数据进行游戏声音与画面的本地呈现,同时用户将对键鼠操作的控制数据发送到主机端从而实现对游戏进行控制。
目前,主要通过NVIDIA显卡捕获方法(NVFBG)、AMD显卡捕获方法(AMD DisplayCapture)以及快速截屏录屏技术(DXGI)实现抓屏,通过NVFBG、DXGI以及抓取***光标实现抓光标。为了平衡性能、流量和用户使用感,通常采用不同的技术进行抓屏和抓光标(例如:通过NVFBG抓屏和抓光标时,光标刷新频率受限于视频帧的刷新频率,若视频帧的频率过低,则用户会感受到光标飘等不良体验,此时则会避免通过NVFBG抓屏和抓光标),从而导致可能会出现光标与视频不匹配的现象,使得客户端光标显示错位,降低了云游戏的实用性和使用体验感。
由此可见,如何提高云游戏的实用性和使用体验感是本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种光标显示方法,用以提高云游戏的实用性和使用体验感。本申请的目的是还提供一种光标显示装置及介质。
为解决上述技术问题,本申请提供一种光标显示方法,包括:
获取与目标光标对应的捕获数据;
根据所述捕获数据计算适配于对应视频帧的适配捕获数据;
按照所述适配捕获数据进行渲染显示。
优选的,所述捕获数据包括:目标光标图片、目标光标位置、目标图片分辨率、与所述目标光标图片对应的视频帧分辨率以及目标桌面分辨率。
优选的,所述根据所述捕获数据计算适配于对应视频帧的适配捕获数据,具体包括:
根据所述视频帧分辨率和所述目标桌面分辨率计算分辨比;
根据所述分辨比和所述目标光标位置计算适配光标位置;
根据所述分辨比和所述目标图片分辨率计算适配图片分辨率;
选择所述目标光标图片、所述适配光标位置和所述适配图片分辨率作为所述适配捕获数据。
优选的,所述获取与目标光标对应的捕获数据前,还包括:
判断目标光标是否嵌入视频帧;
如果是,则获取目标合成图片,并对所述目标合成图片进行渲染显示,所述目标合成图片具体为包含有所述目标光标和所述视频帧的图片;
如果否,则进入所述获取与目标光标对应的捕获数据的步骤。
优选的,所述判断目标光标是否嵌入视频帧前,还包括:
判断当前鼠标模式是否为本地鼠标模式;
如果是,则获取光标数据,并直接转化为本地光标显示,所述光标数据中不包含所述目标光标位置;
如果否,则进入所述判断目标光标是否嵌入视频帧的步骤。
优选的,获取所述视频帧分辨率,具体为:
获取通过NvFBCToDx9VidGrabFrame接口、DXGI或QueryOutput接口抓取的所述视频帧分辨率。
优选的,获取所述目标光标位置和所述目标图片分辨率,具体为:
获取通过NvFBCToDx9VidGrabFrame接口、DXGI或GetCursorInfo接口与GetIconInfoEx接口抓取的所述目标光标位置和所述目标图片分辨率。
为解决上述技术问题,本申请还提供一种光标显示装置,包括:
获取模块,用于获取与目标光标对应的捕获数据;
第一计算模块,用于根据所述捕获数据计算适配于对应视频帧的适配捕获数据;
第一渲染模块,用于按照所述适配捕获数据进行渲染显示。
为解决上述技术问题,本申请还提供一种光标显示装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上所述的光标显示方法的步骤。
为解决上述技术问题,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的光标显示方法的步骤。
本申请所提供的光标显示方法,获取与目标光标对应的捕获数据,根据捕获数据计算适配于对应视频帧的适配捕获数据,并按照适配捕获数据进行渲染显示。由于在获取到目标光标的捕获数据后,对计算的适配捕获数据进行渲染显示,使得渲染显示的目标光标与对应的视频帧相匹配,避免了光标与视频不匹配导致在客户端光标显示错位的现象,因此提高了云游戏的实用性和使用体验感。
此外,本申请提供的一种光标显示装置及介质,与上述光标显示方法对应,效果同上。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种光标显示方法的流程图;
图2为本申请实施例提供的一种适配捕获数据计算方法的流程图;
图3为本申请实施例提供的一种光标显示装置的结构示意图;
图4为本申请实施例提供的另一种光标显示装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
本申请的核心是提供一种光标显示方法、装置及介质,用以提高云游戏的实用性和使用体验感。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
图1为本申请实施例提供的一种光标显示方法的流程图。如图1所示,该方法包括:
S10:获取与目标光标对应的捕获数据。
作为优选的实施例,捕获数据可以包括:目标光标图片、目标光标位置、目标图片分辨率、与目标光标图片对应的视频帧分辨率以及目标桌面分辨率。
主机端抓屏的分辨率与抓光标的分辨率是不同的,抓屏时抓到的视频帧分辨率为有源信号分辨率,抓光标时则基于桌面分辨率进行抓取,若有源信号分辨率与桌面分辨率相同时,则可以进入下面计算适配光标位置和适配图片分辨率,也可以直接对目标光标图片按目标光标位置进行渲染显示,若有源信号分辨率与桌面分辨率不同,则需要通过计算适配光标位置和适配图片分辨率使得在客户端显示的光标与视频匹配。
需要说明的是,在具体实施中,目标光标位置、目标图片分辨率和/或视频帧分辨率可通过不同种类的抓取方式获得,下面将详细进行说明:
(1)获取通过NvFBCToDx9VidGrabFrame接口抓取的目标图片分辨率和/或视频帧分辨率。其中,重要代码如下所示:
NvFBCFrameGrabInfo frameGrabInfo={0};
NVFBC_TODX9VID_GRAB_FRAME_PARAMS fbcDX9GrabParams={0};
fbcDX9GrabParams.dwVersion=
NVFBC_TODX9VID_GRAB_FRAME_PARAMS_V1_VER;
fbcDX9GrabParams.dwFlags=dwFlags;
fbcDX9GrabParams.eGMode=NVFBC_TODX9VID_SOURCEMODE_SCALE;
fbcDX9GrabParams.dwTargetWidth=width;
fbcDX9GrabParams.dwTargetHeight=height;
fbcDX9GrabParams.pNvFBCFrameGrabInfo=&frameGrabInfo;
fbcDX9GrabParams.dwWaitTime=wait_time;
NVFBCRESULT fbcRes=
nvfbc_dx9_->NvFBCToDx9VidGrabFrame(&fbcDX9GrabParams);
其中,width可以是目标图片分辨率宽或视频帧分辨率的宽,height可以是目标图片分辨率高或视频帧分辨率的高。
(2)获取通过DXGI抓取的目标光标位置、目标图片分辨率和/或视频帧分辨率。其中,重要代码如下所示:
hr=pDXGIOutput1->DuplicateOutput(pDXGIDevice1,&m_pDXGIOutputDuplication);
DXGI_OUTDUPL_DESC outDesc={0};
m_pDXGIOutputDuplication->GetDesc(&m_dxgiOutDuplDesc);
width=m_dxgiOutDuplDesc.ModeDesc.Width;
height=m_dxgiOutDuplDesc.ModeDesc.Height;
PtrInfo->Position.x=FrameInfo->PointerPosition.Position.x;
PtrInfo->Position.y=FrameInfo->PointerPosition.Position.y;
w=cursor_info.w=PtrInfo->ShapeInfo.Width;
h=cursor_info.h=PtrInfo->ShapeInfo.Height;
其中,width是视频帧分辨率的宽,height是视频帧分辨率的高,PointerPosition.Position.x为目标光标的横坐标,PointerPosition.Position.y为目标光标的纵坐标,w为目标图片分辨率的宽,h为目标图片分辨率的高。
(3)获取通过GetCursorInfo接口和GetIconInfoEx接口抓取的目标光标位置和目标图片分辨率。其中,重要代码如下所示:
CURSORINFO pci{};
pci.cbSize=sizeof(pci);
ICONINFOEX piconinfo{};
GetCursorInfo(&pci);
GetIconInfoEx(pci.hCursor,&piconinfo);
cursor.x=piconinfo.xHotspot;
cursor.y=piconinfo.yHotspot;
GetObject(piconinfo.hbmMask,sizeof(BITMAP),&maskInfo);
w=maskInfo.bmWidth;
h=maskInfo.bmHeight;
其中,cursor.x为目标光标的横坐标,cursor.y为目标光标的纵坐标,w为目标图片分辨率的宽,h为目标图片分辨率的高。
(4)获取通过QueryOutput接口抓取的视频帧分辨率。其中,重要代码如下所示:
g_AMFFactory.GetFactory()->CreateComponent(context_,AMFDisplayCapture,
&capture_);
res=capture_->QueryOutput(&pData);
amf::AMFSurfacePtr pSurface(pData);
width=pSurface->GetPlaneAt(0)->GetWidth();
height=pSurface->GetPlaneAt(0)->GetHeight();
其中,width是视频帧分辨率的宽,height是视频帧分辨率的高。
S11:根据捕获数据计算适配于对应视频帧的适配捕获数据。
为了使本技术领域的人员更好地理解本申请方案,下面将具体说明适配捕获数据的计算流程。
图2为本申请实施例提供的一种适配捕获数据计算方法的流程图。如图2所示,S11具体包括:
S20:根据视频帧分辨率和目标桌面分辨率计算分辨比。
可以理解的是,由于抓光标时时基于当前桌面分辨率进行抓取,因此通过与目标光标图片对应的视频帧分辨率和目标桌面分辨率能够计算出光标相对视频的比例,光标相对视频的比例即为分辨比,其中分辨比计算公式如下所示:
其中,ratio表示分辨比,ratiox为分辨比的宽比,ratioy为分辨比的高比,width1为视频帧分辨率的宽,width2为目标桌面分辨率的宽,height1为视频帧分辨率的高,height2为目标桌面分辨率的高。
例如,当视频帧分辨率和目标桌面分辨率相同时,则ratiox=1、ratioy=1,当视频帧分辨率和目标桌面分辨率不相同时,若视频帧分辨率为(2560,1440)、目标桌面分辨率为(1920,1080),则ratiox=2560/1920,ratioy=1440/1080。
S21:根据分辨比和目标光标位置计算适配光标位置。
计算适配光标位置的公式如下所示:
其中,posx表示适配光标横坐标,posy表示适配光标纵坐标,x为目标光标横坐标,y表示目标光标纵坐标。
S22:根据分辨比和目标图片分辨率计算适配图片分辨率。
计算适配图片分辨率的公式如下所示:
其中,width3为适配图片分辨率的宽,height3为适配图片分辨率的高,w为目标图片分辨率的宽,h为目标图片分辨率的高。
S23:选择目标光标图片、适配光标位置和适配图片分辨率作为适配捕获数据。
可以理解的是,S20、S21、S22可以通过客户端的处理器计算得到,也可以由主机端的服务器计算得到,如果由主机端的服务器计算得到,则针对客户端侧,只需获取目标光标图片、适配光标位置和适配图片分辨率后,将目标光标图片按适配光标位置和适配图片分辨率进行渲染显示即可。在具体实施中,是通过客户端的处理器、还是通过主机端的服务器计算与用户需求匹配即可,例如当客户端的处理器当前任务过多时,可以通过主机端的服务器计算,同理当主机端的服务器当期任务过多时,则可以通过客户端的处理器计算。
S12:按照适配捕获数据进行渲染显示。
本申请实施例所提供的光标显示方法,获取与目标光标对应的捕获数据,根据捕获数据计算适配于对应视频帧的适配捕获数据,并按照适配捕获数据进行渲染显示。由于在获取到目标光标的捕获数据后,对计算的适配捕获数据进行渲染显示,使得渲染显示的目标光标与对应的视频帧相匹配,避免了光标与视频不匹配导致在客户端光标显示错位的现象,因此提高了云游戏的实用性和使用体验感。
在上述实施例的基础上,S10前,还包括:
判断目标光标是否嵌入视频帧,如果是,则获取目标合成图片,并对目标合成图片进行渲染显示,目标合成图片具体为包含有目标光标和视频帧的图片,如果否,则进入S10。
具体实施中,可通过判断视频帧中是否包含有目标光标或判断视频帧中是否存在光标标志位进而判断目标光标是否嵌入视频帧,此外当用户设置NVFBC可以抓屏和抓光标时,则通过判断用户是否使用NVFBC判断目标光标是否嵌入视频帧。
可以理解的是,通过判断目标光标是否嵌入视频帧,能够考虑不同种抓屏和抓光标方法的组合结果,除了针对抓屏和抓光标采用不同的抓取方式外,还考虑了抓屏和抓光标采用相同的抓取方法,使得光标显示方法能够适用于不同种抓屏和抓光标的组合方式,提高了光标显示方法的实用性。
在上述实施例的基础上,在判断目标光标是否嵌入视频帧前,还包括:
判断当前鼠标模式是否为本地鼠标模式,如果是,则获取光标数据,并直接转化为本地光标显示,其中光标数据中不包含目标光标位置,如果否,则进入判断目标光标是否嵌入视频帧的步骤。
需要说明的是,由于在本地鼠标模式下,客户端可直接获取目标光标的位置,无需主机端将目标光标位置发送至客户端,因此上述光标数据中不包含目标光标位置,仅包含***光标信息和光标图片信息即可。
可以理解的是,由于使用场景的差异,客户端鼠标模式也分为本地鼠标模式和远程鼠标模式,两种模式下对应的光标显示方式存在差异,因此本申请实施例先判断当前鼠标模式是否为本地鼠标模式,如果否则进入判断目标光标是否嵌入视频帧的步骤,进一步提高了本申请实施例提供的光标显示方法的实用性以及通用性。
在上述实施例中,对于光标显示方法进行了详细描述,本申请还提供光标显示装置对应的实施例。需要说明的是,本申请从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件的角度。
图2为本申请实施例提供的一种光标显示装置的结构示意图。如图2所示,基于功能模块的角度,该装置包括:
获取模块10,用于获取与目标光标对应的捕获数据。
第一计算模块11,用于根据捕获数据计算适配于对应视频帧的适配捕获数据。
第一渲染模块12,用于按照适配捕获数据进行渲染显示。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
作为优选的实施例,获取模块10具体用于获取目标光标图片、目标光标位置、目标图片分辨率、与目标光标图片对应的视频帧分辨率以及目标桌面分辨率。
第一计算模块11包括:
第二计算模块,用于根据视频帧分辨率和目标桌面分辨率计算分辨比。
第三计算模块,用于根据分辨比和目标光标位置计算适配光标位置。
第四计算模块,用于根据分辨比和目标图片分辨率计算适配图片分辨率。
选择模块,用于选择目标光标图片、适配光标位置和适配图片分辨率作为适配捕获数据。
还包括:
第一判断模块,用于判断目标光标是否嵌入视频帧。
第二渲染模块,用于如果是,则获取目标合成图片,并对目标合成图片进行渲染显示,目标合成图片具体为包含有目标光标和视频帧的图片。
第一进入模块,用于如果否,则进入获取目标光标图片、目标光标位置、目标图片分辨率、与目标光标图片对应的视频帧分辨率以及目标桌面分辨率的步骤。
还包括:
第二判断模块,用于判断当前鼠标模式是否为本地鼠标模式。
显示模块,用于如果是,则获取光标数据,并直接转化为本地光标显示,光标数据中不包含目标光标位置。
第二进入模块,用于如果否,则进入判断目标光标是否嵌入视频帧的步骤。
本申请实施例所提供的光标显示装置,获取与目标光标对应的捕获数据,根据捕获数据计算适配于对应视频帧的适配捕获数据,并按照适配捕获数据进行渲染显示。由于在获取到目标光标的捕获数据后,对计算的适配捕获数据进行渲染显示,使得渲染显示的目标光标与对应的视频帧相匹配,避免了光标与视频不匹配导致在客户端光标显示错位的现象,因此提高了云游戏的实用性和使用体验感。
图3为本申请实施例提供的另一种光标显示装置的结构示意图。如图4所示,基于硬件结构的角度,该装置包括:
存储器20,用于存储计算机程序;
处理器21,用于执行计算机程序时实现如上述实施例中光标显示方法的步骤。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(CentralProcessing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有图像处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序201被处理器21加载并执行之后,能够实现前述任一实施例公开的光标显示方法的相关步骤。另外,存储器20所存储的资源还可以包括操作***202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作***202可以包括Windows、Unix、Linux等。数据203可以包括但不限于光标显示方法中涉及的数据等。
在一些实施例中,光标显示装置还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
本领域技术人员可以理解,图3中示出的结构并不构成对光标显示装置的限定,可以包括比图示更多或更少的组件。
本申请实施例提供的光标显示装置,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:获取与目标光标对应的捕获数据,根据捕获数据计算适配于对应视频帧的适配捕获数据,并按照适配捕获数据进行渲染显示。由于在获取到目标光标的捕获数据后,对计算的适配捕获数据进行渲染显示,使得渲染显示的目标光标与对应的视频帧相匹配,避免了光标与视频不匹配导致在客户端光标显示错位的现象,因此提高了云游戏的实用性和使用体验感。
最后,本申请还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上对本申请所提供的一种光标显示方法、装置及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (8)
1.一种光标显示方法,其特征在于,包括:
获取与目标光标对应的捕获数据;
通过与客户端或主机端对应的处理器根据所述捕获数据计算适配于对应视频帧的适配捕获数据;
按照所述适配捕获数据进行渲染显示;
其中,所述捕获数据包括:目标光标图片、目标光标位置、目标图片分辨率、与所述目标光标图片对应的视频帧分辨率以及目标桌面分辨率;
所述获取与目标光标对应的捕获数据前,还包括:
通过判断视频帧中是否包含所述目标光标或是否存在光标标志位,判断目标光标是否嵌入视频帧;
如果是,则获取目标合成图片,并对所述目标合成图片进行渲染显示,所述目标合成图片具体为包含有所述目标光标和所述视频帧的图片;
如果否,则进入所述获取与目标光标对应的捕获数据的步骤。
2.根据权利要求1所述的光标显示方法,其特征在于,所述根据所述捕获数据计算适配于对应视频帧的适配捕获数据,具体包括:
根据所述视频帧分辨率和所述目标桌面分辨率计算分辨比;
根据所述分辨比和所述目标光标位置计算适配光标位置;
根据所述分辨比和所述目标图片分辨率计算适配图片分辨率;
选择所述目标光标图片、所述适配光标位置和所述适配图片分辨率作为所述适配捕获数据。
3.根据权利要求1所述的光标显示方法,其特征在于,所述判断目标光标是否嵌入视频帧前,还包括:
判断当前鼠标模式是否为本地鼠标模式;
如果是,则获取光标数据,并直接转化为本地光标显示,所述光标数据中不包含所述目标光标位置;
如果否,则进入所述判断目标光标是否嵌入视频帧的步骤。
4.根据权利要求1或2所述的光标显示方法,其特征在于,获取所述视频帧分辨率,具体为:
获取通过NvFBCToDx9VidGrabFrame接口、DXGI或QueryOutput接口抓取的所述视频帧分辨率。
5.根据权利要求1或2所述的光标显示方法,其特征在于,获取所述目标光标位置和所述目标图片分辨率,具体为:
获取通过NvFBCToDx9VidGrabFrame接口、DXGI或GetCursorInfo接口与GetIconInfoEx接口抓取的所述目标光标位置和所述目标图片分辨率。
6.一种光标显示装置,其特征在于,包括:
获取模块,用于获取与目标光标对应的捕获数据;
第一计算模块,用于通过与客户端或主机端对应的处理器根据所述捕获数据计算适配于对应视频帧的适配捕获数据;
第一渲染模块,用于按照所述适配捕获数据进行渲染显示;
其中,所述获取模块用于获取目标光标图片、目标光标位置、目标图片分辨率、与所述目标光标图片对应的视频帧分辨率以及目标桌面分辨率;
所述光标显示装置,还包括:
第一判断模块,用于通过判断视频帧中是否包含所述目标光标或是否存在光标标志位,判断目标光标是否嵌入视频帧;
第二渲染模块,用于如果是,则获取目标合成图片,并对所述目标合成图片进行渲染显示,所述目标合成图片具体为包含有所述目标光标和所述视频帧的图片;
第一进入模块,用于如果否,则进入所述获取与目标光标对应的捕获数据的步骤。
7.一种光标显示装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任意一项所述的光标显示方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任意一项所述的光标显示方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110442497.2A CN113082703B (zh) | 2021-04-23 | 2021-04-23 | 一种光标显示方法、装置及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110442497.2A CN113082703B (zh) | 2021-04-23 | 2021-04-23 | 一种光标显示方法、装置及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113082703A CN113082703A (zh) | 2021-07-09 |
CN113082703B true CN113082703B (zh) | 2024-05-31 |
Family
ID=76679775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110442497.2A Active CN113082703B (zh) | 2021-04-23 | 2021-04-23 | 一种光标显示方法、装置及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113082703B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114125013A (zh) * | 2021-11-23 | 2022-03-01 | 网易(杭州)网络有限公司 | 一种鼠标指针渲染方法、装置、电子设备和存储介质 |
CN115185413B (zh) * | 2022-07-25 | 2023-08-15 | 深圳市瑞云科技有限公司 | 一种实现远程桌面鼠标切换的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101064887A (zh) * | 2007-04-24 | 2007-10-31 | 蔡强 | 分体式便携电子设备及用渐进式传输优化数据通讯的方法 |
CN111544886A (zh) * | 2020-04-30 | 2020-08-18 | 腾讯科技(深圳)有限公司 | 一种画面显示的方法以及相关装置 |
CN111603764A (zh) * | 2020-05-28 | 2020-09-01 | 腾讯科技(深圳)有限公司 | 一种云游戏的处理方法及设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11395963B2 (en) * | 2019-10-01 | 2022-07-26 | Sony Interactive Entertainment Inc. | High speed scan-out of server display buffer for cloud gaming applications |
-
2021
- 2021-04-23 CN CN202110442497.2A patent/CN113082703B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101064887A (zh) * | 2007-04-24 | 2007-10-31 | 蔡强 | 分体式便携电子设备及用渐进式传输优化数据通讯的方法 |
CN111544886A (zh) * | 2020-04-30 | 2020-08-18 | 腾讯科技(深圳)有限公司 | 一种画面显示的方法以及相关装置 |
CN111603764A (zh) * | 2020-05-28 | 2020-09-01 | 腾讯科技(深圳)有限公司 | 一种云游戏的处理方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113082703A (zh) | 2021-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220261960A1 (en) | Super-resolution reconstruction method and related apparatus | |
CN107113396B (zh) | 视频通话期间在用户终端处实现的方法、用户终端及计算机可读存储介质 | |
CN113082703B (zh) | 一种光标显示方法、装置及介质 | |
CN107111427B (zh) | 修改视频通话数据 | |
EP2319017B1 (en) | Apparatus and method of viewing electronic documents | |
WO2020056903A1 (zh) | 用于生成信息的方法和装置 | |
CN112288665B (zh) | 图像融合的方法、装置、存储介质及电子设备 | |
US11995781B2 (en) | Messaging system with neural hair rendering | |
US8885208B2 (en) | Progressive refinement of an edited image using secondary high resolution image processing | |
CN114025219B (zh) | 增强现实特效的渲染方法、装置、介质及设备 | |
KR101743764B1 (ko) | 감성 아바타 이모티콘 기반의 초경량 데이터 애니메이션 방식 제공 방법, 그리고 이를 구현하기 위한 감성 아바타 이모티콘 제공 단말장치 | |
JP2019526875A (ja) | 投影画像構築方法及び装置 | |
CN108182097B (zh) | 一种音量条的实现方法及装置 | |
JP2023547616A (ja) | 品質アセスメントのための方法、装置、及びプログラム | |
CN116112761B (zh) | 生成虚拟形象视频的方法及装置、电子设备和存储介质 | |
CN110751026B (zh) | 视频处理方法及相关装置 | |
CN116828215A (zh) | 一种降低本地算力负荷的视频渲染方法及*** | |
CN113810755B (zh) | 全景视频预览的方法、装置、电子设备及存储介质 | |
CN110719415A (zh) | 一种视频图像处理方法、装置、电子设备及计算机可读介质 | |
US20220318566A1 (en) | Neural networks for accompaniment extraction from songs | |
CN110598013B (zh) | 一种数字音乐绘画互动融合方法 | |
JP2000148126A (ja) | 画像表示装置及び方法 | |
WO2015178085A1 (ja) | 画像処理装置、画像処理方法、およびプログラム | |
JP2001051579A (ja) | 映像表示方法、映像表示装置及び映像表示プログラムを記録した記録媒体 | |
US20230069614A1 (en) | High-definition real-time view synthesis |
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 |