CN110213265A - 图像获取方法、装置、服务器及存储介质 - Google Patents

图像获取方法、装置、服务器及存储介质 Download PDF

Info

Publication number
CN110213265A
CN110213265A CN201910468135.3A CN201910468135A CN110213265A CN 110213265 A CN110213265 A CN 110213265A CN 201910468135 A CN201910468135 A CN 201910468135A CN 110213265 A CN110213265 A CN 110213265A
Authority
CN
China
Prior art keywords
window
image
video
data
user
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
Application number
CN201910468135.3A
Other languages
English (en)
Other versions
CN110213265B (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 CN201910468135.3A priority Critical patent/CN110213265B/zh
Publication of CN110213265A publication Critical patent/CN110213265A/zh
Priority to SG11202105855QA priority patent/SG11202105855QA/en
Priority to EP20813666.3A priority patent/EP3979589A4/en
Priority to KR1020217023112A priority patent/KR102425168B1/ko
Priority to PCT/CN2020/092076 priority patent/WO2020238846A1/zh
Priority to JP2021548678A priority patent/JP7297080B2/ja
Application granted granted Critical
Publication of CN110213265B publication Critical patent/CN110213265B/zh
Priority to US17/443,481 priority patent/US11606436B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • 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 or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4781Games
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/488Data services, e.g. news ticker
    • H04N21/4882Data services, e.g. news ticker for displaying messages, e.g. warnings, reminders
    • 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 encoded video stream for transmitting to a mobile phone or a thin client
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/20Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
    • A63F2300/209Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform characterized by low level software layer, relating to hardware management, e.g. Operating System, Application Programming Interface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/12Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/06Use of more than one graphics processor to process data before displaying to one or more screens
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/02Networking aspects
    • G09G2370/022Centralised management of display operation, e.g. in a server instead of locally
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/02Networking aspects
    • G09G2370/027Arrangements and methods specific for the display of internet documents

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)
  • Digital Computer Display Output (AREA)
  • Image Generation (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明实施例公开了一种图像获取方法、装置、服务器及存储介质,其中方法包括:从应用进程集合中获取用户标识对应的目标应用实例,并调用数据截取模块截取当前生成的窗口图像数据,其中,所述窗口图像数据是在执行所述目标应用实例中的图像渲染函数时得到的;对所述窗口图像数据进行图像合成处理,得到待显示的用户界面图像;将携带所述用户界面图像的通知消息发送给所述用户标识对应的用户终端,所述通知消息用于指示所述用户终端在用户界面上显示所述用户界面图像。本发明实施例,可以节省应用服务器的资源消耗。

Description

图像获取方法、装置、服务器及存储介质
技术领域
本发明涉及互联网技术领域,尤其涉及一种图像获取方法、装置、服务器及存储介质。
背景技术
云游戏是一种在线游戏技术,在云游戏场景中,游戏运行在云端服务器,由云端服务器将游戏场景渲染为游戏画面后实时传输到用户终端,以供用户终端的用户针对游戏画面输入相应操作。由此可见,云游戏可实现在图形处理与数据运算能力相对有限的用户终端上运行高品质游戏。
由于上述优点,云游戏成为近年来游戏领域中的研究热点。在对云游戏的研究中涉及的关键问题之一是云端服务器如何获取到正在运行游戏的游戏画面,目前解决该问题常用的方法是基于虚拟机获取画面,具体地:为每个用户终端布置一个虚拟机,虚拟机对游戏场景渲染得到游戏画面,云端服务器直接截取虚拟机的桌面即可获取到游戏画面。但是该种方法需要大量部署虚拟机,这样会占用大量的服务器资源,从而导致服务器资源的浪费。
发明内容
本发明实施例提供了一种图像获取方法、装置、服务器及存储介质,应用服务器截取目标应用程序运行过程中产生的窗口图像数据,并通过对所述窗口图像数据进行合成处理,便可得到与目标应用程序对应的待显示的用户界面图像,与现有技术中通过虚拟机获取用户界面图像的方式相比,节省了布置虚拟机的资源开销。
一方面,本发明实施例提供了一种图像获取方法,所述方法应用于应用服务器,所述应用服务器用于执行为实现目标应用程序的应用功能提供服务支持的应用进程集合,所述方法包括:
从所述应用进程集合中获取用户标识对应的目标应用进程,并调用数据截取模块截取当前生成的窗口图像数据,其中,所述窗口图像数据是在执行所述目标应用进程中的图像渲染函数时得到的;
对所述窗口图像数据进行图像合成处理,得到待显示的用户界面图像;
将携带所述用户界面图像的通知消息发送给所述用户标识对应的用户终端,所述通知消息用于指示所述用户终端在用户界面上显示所述用户界面图像。
另一方面,本发明实施例提供了一种图像获取装置,所述装置配置于应用服务器中,所述应用服务器用于执行为实现目标应用程序的应用功能提供服务支持的应用进程集合,包括:
获取单元,用于从所述应用进程集合中获取用户标识对应的目标应用进程;
处理单元,用于调用数据截取模块截取当前生成的窗口图像数据,其中,所述窗口图像数据是在执行所述目标应用进程中的图像渲染函数时得到的;
处理单元,还用于对所述窗口图像数据进行图像合成处理,得到待显示的用户界面图像;
发送单元,用于将携带所述用户界面图像的通知消息发送给所述用户标识对应的用户终端,所述通知消息用于指示所述用户终端在用户界面上显示所述用户界面图像。
再一方面,本发明实施例提供了一种服务器,所述服务器包括:
处理器,适于实现一条或多条指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行如下步骤:
从应用进程集合中获取用户标识对应的目标应用进程,并调用数据截取模块截取当前生成的窗口图像数据,其中,所述窗口图像数据是在执行所述目标应用进程中的图像渲染函数时得到的;
对所述窗口图像数据进行图像合成处理,得到待显示的用户界面图像;
将携带所述用户界面图像的通知消息发送给所述用户标识对应的用户终端,所述通知消息用于指示所述用户终端在用户界面上显示所述用户界面图像。
再一方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由处理器加载并执行如下步骤:
从应用进程集合中获取用户标识对应的目标应用进程,并调用数据截取模块截取当前生成的运行所述目标应用进程的过程中,执行所述目标应用进程中的图像渲染函数时得到的;
对所述窗口图像数据进行图像合成处理,得到待显示的用户界面图像;
将携带所述用户界面图像的通知消息发送给所述用户标识对应的用户终端,所述通知消息用于指示所述用户终端在用户界面上显示所述用户界面图像。
本发明实施例中,从应用进程集合中获取用户标识对应的目标应用进程,并调用数据截取模块截取当前生成的窗口图像数据;对所述窗口图像数据进行图像合成处理,得到待显示的用户界面图像;然后将携带用户界面图像的通知消息发送给用户标识对应的用户终端,以指示所述用户终端在用户界面上显示所述用户界面图像。与现有技术中通过部署虚拟机获取用户界面图像的方式相比,本发明实施例中应用服务器拦截执行目标应用程序过程中,调用渲染函数得到的窗口图像数据,然后对窗口图像数据进行图像合成处理得到用户界面图像,可节省应用服务器的资源开销。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种图像获取的架构图;
图2是本发明实施例提供的另一种图像获取的架构图;
图3a是本发明实施例提供的一种云端服务器的桌面视图;
图3b是本发明实施例提供的一种用户界面图像的示意图;
图4是本发明实施例提供的一种的图像获取方法的流程示意图;
图5a是本发明实施例提供的一种获取窗口图像数据的示意图;
图5b是本发明实施例提供的一种窗口图像数据的示意图;
图5c是本发明实施例提供的另一种窗口图像数据的示意图;
图5d是本发明实施例提供的又一种窗口图像数据的示意图;
图6是本发明实施例提供的另一种图像获取方法的流程示意图;
图7a是本发明一种图像多叉树的示意图;
图7b是本发明一种图像二叉树的示意图;
图8是本发明实施例提供的一种数据截取模块的示意图;
图9是本发明实施例提供的一种图像合成处理的示意图;
图10a是本发明实施例提供的一种应用服务器的桌面视图;
图10b是本发明实施例提供的一种用户界面图像的示意图;
图11是本发明实施例提供的一种图像获取装置的结构示意图;
图12是本发明实施例提供的一种服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
在对图像获取的研究过程中发现,图像获取的架构图可以如图1所示。在图1中101表示应用服务器,101中可运行多个应用进程,102表示多个应用进程中与用户标识对应的目标应用进程,103表示登录了所述用户标识的用户终端,104表示与用户终端103对应的虚拟机。应当理解的,为了保证用户终端中的目标应用程序正常运行,应用服务器需要为目标应用程序的运行提供服务支持,或者说应用服务器用于执行为实现目标应用程序的应用功能提供服务支持的应用进程集合,其中,所述目标应用程序可以指任意的应用程序,比如游戏应用程序、即时聊天应用程序以及购物应用程序等。
应用服务器为目标应用程序提供服务支持是基于与目标应用程序有关的服务程序实现的。具体地,应用服务器可通过执行服务程序来支持目标应用程序实现应用功能,在计算机领域中,应用服务器运行服务程序的活动称为应用进程。如果有多个用户终端中同时运行目标应用程序,为了保证各个用户终端中的目标应用程序的运行互不干扰,应用服务器为每一个用户创建一个应用进程来支持各自的目标应用程序的运行。也即应用服务器中可以执行有为实现目标应用程序的应用功能提供服务支持的应用进程集合,应用进程集合中包括多个应用进程,每个应用进程对应一个用户标识。本发明实施例所述的目标应用进程可以指任意一个用户标识对应的应用进程。
例如,在云游戏应用场景中,假设目标应用程序为游戏应用程序,如果用户A和用户B通过不同的用户终端同时启动了游戏应用程序,应用服务器检测到用户A和用户B对游戏应用程序的操作指令后,为用户A和用户B分别创建应用进程A和应用进程B来支持两个用户终端的玩家体验游戏应用程序。
图1所示的图像获取的架构图中,如果应用服务器101接收到用户终端103发送的针对目标应用程序的操作指令时,应用服务器101通知与用户终端103中用户标识对应的虚拟机运行目标应用进程。应用服务器101通过在虚拟机104上运行所述目标应用程序得到与用户标识对应的用户界面图像,可选的,通过虚拟机得到与用户标识对应的用户界面图像的方式可以为:虚拟机104调用目标应用进程的图像渲染函数进行渲染得到渲染后的窗口图像数据;然后虚拟机104对所述窗口图像数据和其他参数进行合成处理,得到待显示的图像;在虚拟机104的用户界面中显示所述待显示的图像;应用服务器101截取虚拟机104当前的用户界面,将截取到的图像作为获取到与用户标识对应的用户界面图像,并将所述用户界面图像发送给用户终端103。这样,用户标识所标识的用户便可通过用户终端103查看到与目标应用进程对应的用户界面图像。
在一个实施例中,图像获取的架构图还可以如图2所示,在图2所示的图像获取的架构图中,201表示应用服务器,所述应用服务器201中运行有为目标应用程序的应用功能提供服务支持的应用进程集合;202表示应用进程集合中与用户标识对应的目标应用进程;203表示登录了所述用户标识的用户终端,也即所述用户标识对应的用户终端。本发明实施例中,应用进程集合中的各个应用进程中还配置有数据截取模块,例如在目标应用进程中配置有数据截取模块2021,在应用进程1中配置的数据截取模块,以及在应用进程2中配置的数据截取模块。
在一个实施例中,在目标应用进程202的运行过程中,应用服务器201可以调用目标应用进程202中的数据截取模块2021截取窗口图像数据,所述窗口图像数据是在执行所述目标应用进程202中的图像渲染函数进行渲染时得到的;再对窗口图像数据进行图像合成处理,得到待显示的用户界面图像。可选的,应用服务器201中可配置有画面合成器,应用服务器201可以将调用数据截取模块截取到窗口图像数据发送给画面合成器,以调用画面合成器对窗口图像数据进行图像合成处理得到待显示用户界面图像。在得到用户界面图像后,应用服务器201将携带用户界面图像的通知消息发送给用户终端203,以便于用户终端203在用户界面上显示所述用户界面图像。
通过比较图1和图2所示的图像获取的架构图发现:在图1中需要为每个用户标识部署对应的虚拟机,以使得每个用户标识对应的应用进程在相应的虚拟机中运行。当大量部署虚拟机时需要消耗较多的资源开销。此外,由于虚拟机中的显卡不能较好的支持多媒体,在部署虚拟机时需要在应用服务器101中单独配置一个高性能显卡给虚拟机使用如图1中1011所示。但是,由于该高性能显卡1011只用来支持虚拟机中的多媒体业务,在其他情况下显卡处于闲置状态,导致显卡使用率不高而造成成本浪费。
另外,为了实现图1中应用服务器101、虚拟机104以及目标应用进程102三者之间的通信,还需要在虚拟机104中部署相应的服务模块如图1中1041所示。一般情况下,通过用户权限控制用户通过服务模块1041对虚拟机的操作权限,这样,容易存在某些恶意用户突破权限控制并且通过服务模块1041进行信息窃取以及破坏,导致图像获取的安全性较差。此外,在图1所示的架构图中各个应用进程分别运行在相应的虚拟机上而不是运行在应用服务器上,导致应用进程的运行效率低。
相比于图1,图2所示的图像获取的架构图中,不进行虚拟机的部署可节省资源消耗;并且,应用服务器201只向用户终端203展示与目标应用进程相关的用户界面图像,提高了应用的安全性;此外,图2所示的图像获取的架构图中应用进程直接运行在应用服务器201上,而不是运行在虚拟机上,提高应用进程的运行效率。综上所述,本发明实施例下面将具体介绍本发明实施例图2所示的图像获取的架构。
基于图2所述的图像获取的架构图,本发明实施例提供了一种图像获取方法,所述图像获取方法可以应用在应用服务器中,所述应用服务器用于执行为实现目标应用程度的应用功能提供服务支持的应用进程集合,采用本发明实施例所述的图像获取方法可以获取到某个用户标识对应的用户界面图像,并将得到的用户界面图像携带在通知消息中发送给所述用户标识对应的用户终端,以指示用户终端在用户界面显示所述用户界面图像。这样,用户标识所标识的用户可通过用户界面图像对目标应用程序进行操作。与现有技术通过虚拟机获取待显示的用户界面图像的方式相比,本发明实施例节省了在应用服务器中布置虚拟机的资源开销。
在一个实施例中,本发明实施例所述的图像获取方法可以应用在云游戏的应用场景中,所谓云游戏是指:多个用户标识对应的游戏运行在云端服务器中,由云端服务器将各个游戏中的游戏场景渲染为游戏动画后实时传输到各个用户标识对应的用户终端,以供各个用户标识所标识的用户针对游戏画面输入相应的操作。本发明实施例应用于云游戏的应用场景时,所述应用服务器相当于云端服务器,所述用户界面图像相当于游戏画面。例如,图3a为本发明实施例提供的一种云端服务器的桌面视图,在图3a中300表示云端服务器的桌面。在图3a中,云端服务器中同时运行了多个支持游戏运行的应用进程,采用本发明实施例所述的图像获取方法,云端服务器可以获取到多个应用进程对应的游戏画面,在云端服务器的桌面视图中可同时展示每个应用进程对应的游戏画面例如301、302以及303。由于一个应用进程对应一个用户标识,所述每个应用进行对应的游戏画面就是指每个用户标识对应的游戏画面。例如,301表示与用户标识A对应的游戏画面,302表示与用户标识B对应的游戏画面,303表示与用户标识C对应的游戏画面。
采用本发明实施例所述的图像获取方法可以实现将各个用户标识对应的游戏画面分别传输给对应的用户终端以进行显示,对于某个用户标识所标识的用户来说,在用户终端的用户界面中看到的游戏画面是云端服务器中与该用户标识对应的游戏画面,不会显示其他用户标识对应的游戏画面。也即各个用户对应的游戏互相之间不会影响。例如,如图3b为多个用户标识中用户标识A对应的用户终端的用户界面图像,可见,用户标识A对应的用户终端的用户界面中只展示了与用户标识A对应的游戏画面301。
基于上述描述,本发明实施例提供了一种图像获取方法的流程示意图,如图4所示。图4所述的图像获取方法可以应用于图2所示的架构图中的应用服务器中,所述应用服务器用于执行为实现目标应用程序的应用功能提供服务支持的应用进程集合,图4所述的图像获取方法可以由应用服务器执行,具体地可由应用服务器的处理器执行。图4所述的图像获取方法可包括如下步骤:
S401、从应用进程集合中获取用户标识对应的目标应用进程,并调用数据截取模块截取当前生成的窗口图像数据。
其中,所述用户标识是用于表示用户的身份,所述用户标识可以包括用户的身份证、用户的手机号以及用户的登录账号中的任意一种或多种;所述当前生成的窗口图像数据是指在运行所述目标应用进程时,执行所述目标应用进程中的图像渲染函数时得到的窗口图像数据。
在一个实施例中,所述获取用户标识对应的目标应用进程可以是应用服务器在接收到用户终端发送的用户操作请求后执行的。其中,所述用户终端是指登录了用户标识的终端设备,所述终端设备可包括手机、平板、台式电脑等任何具备视频解压能力的设备;所述用户操作请求可以包括针对目标应用程序的登录操作、窗口切换操作以及登出操作等操作中的任意一种或多种。
例如,如果用户标识所指示的用户初次在用户终端中登录到目标应用程序时,此时所述用户终端接收的用户发送的用户操作请求可以指登录操作;如果用户终端中目标应用程序中已登录了用户标识,此时用户操作消息可以指登出操作,或者对目标应用程序包括的各个窗口的窗口切换操作,或者对目标应用程序的某个应用功能的运行请求等。
在一个实施例中,步骤S401中所述窗口图像数据是在运行所述目标应用进程的过程中,执行所述目标应用进程中的图像渲染函数时得到的。可选的,调用数据截取模块截取当前生成的窗口图像数据的实施方式可以包括:检测到目标应用进程中的图像渲染函数被调用时,拦截渲染函数;获取渲染函数生成的窗口图像数据,如图5a所示。其中,图像渲染可以指将三维的光能传递处理转换为一个二维图像的过程,图像渲染函数是指可以实现图像渲染功能的函数。在图像渲染函数中常用的图像渲染方式可以包括:开放图像库(OpenGraphics Library,OpenGL)、图形设备接口(Graphics Device Interface,GDI)和编程接口DirectX三种。其中,OpenGL是一个底层3D图形库,只提供渲染功能,可以在不同平台之间进行移植;DirectX主要为GPU设计需要硬件支持,并且DirectX更适合对游戏应用的图像渲染;GDI为广谱设计的,也可以应用在对游戏应用的图像渲染中,但是效果不及DirectX。在一个实施例中,针对不同窗口进行渲染时,目标应用进程的图像渲染函数中包括的渲染方式可不同,例如,对目标应用程序的第一窗口进行渲染时,图像渲染函数中包括的渲染方式可以为GDI;在对目标应用程序的第二窗口进行渲染时,图像渲染函数中包括的渲染方式可以为OpenGL。
在一个实施例中,参考图5b-图5d为本发明实施例提供的一种窗口图像数据的示意图,假设目标应用程序为游戏应用,所述游戏应用可包括三个窗口图像数据,分别为“主页”窗口图像数据、“商店”窗口图像数据和“视频”窗口图像数据;假设“主页”窗口图像数据如图5b所示,“商店”窗口图像数据如图5c所示,“视频”窗口图像数据如图5d所示。
S402、对窗口图像数据进行图像合成处理,得到待显示的用户界面图像。
在一个实施例中,所述图像合成处理可以指按照各个窗口图像数据的合成顺序将各个窗口图像数据依次叠加。所述合成顺序可以指各个窗口图像数据在图像合成处理过程中被处理的顺序,合成顺序越靠前的窗口图像数据,在图像合成处理时越先被处理。所述合成顺序可以是依据各个窗口图像数据对应的窗口层级标识确定的。所述窗口层级标识用于表示窗口的层级高低,窗口层级标识所述指示的层级越高,表明窗口图像数据的合成顺序越靠后。
例如,假设在图5b-图5d中三个窗口图像数据的窗口层级标识由高到低的顺序依次为“视频”,“商店”,“主页”,根据上述窗口层级标识越高的窗口图像数据的合成顺序越靠后,则图5b-图5d中三个窗口图像数据的合成顺序可以为“主页”、“商店”和“视频”;如果按照合成顺序将三个窗口数据进行合成处理,得到的待显示的用户界面图像可如图3b所示。可选的,应用服务器可以调用画面合成器将各个窗口图像数据进行合成处理。
S403、将携带用户界面图像的通知消息发送给用户标识对应的用户终端。
其中,所述通知消息用于指示用户终端在用户界面显示用户界面图像,所述用户终端在用户界面中显示用户界面图像的示意图可图3b所示。
本发明实施例中,从应用服务器执行的应用进程集合中获取用户标识对应的目标应用进程,并调用数据截取模块截取当前生成的窗口图像数据;对所述窗口图像数据进行图像合成处理,得到待显示的用户界面图像;然后将携带用户界面图像的通知消息发送给用户标识对应的用户终端,以指示所述用户终端在用户界面上显示所述用户界面图像。与现有技术中通过部署虚拟机获取用户界面图像的方式相比,本发明实施例中应用服务器拦截执行目标应用程序过程中,调用渲染函数得到的窗口图像数据,然后对窗口图像数据进行图像合成处理得到用户界面图像,可节省应用服务器的资源开销。
请参见图6,是本发明实施例提供的另一种图像获取方法的流程示意图。图6所述的图像获取方法可以应用于图2所示的应用服务器中,所述应用服务器用于执行为实现目标应用程序的应用功能提供服务支持的应用进程集合,图6所述的图像获取方法可以由应用服务器执行,具体地可由应用服务器的处理器执行。图6所述的图像获取方法可包括如下步骤:
S601,从应用进程集合中获取用户标识对应的目标应用进程。
S602,获取为目标应用进程设置的画面显示参数,并根据画面显示参数,确定窗口图像数据中各个窗口图像数据的窗口层级标识。
其中,所述画面显示参数可以包括各个窗口图像数据对应的窗口是否被最小化、最大化、以及各个窗口之间的排布关系中的任意一种或多种,比如所述各个窗口之间的排布关系可以为窗口A放在窗口B之前;窗口C放在窗口B之后等。在一个实施例中,所述画面显示参数可以是存储于沙箱中的,在本发明实施例中所述的沙箱是一种机制,可以使得应用服务器运行的多个应用进程互相隔离。
在一个实施例中,沙箱中存储的为目标应用进程设置的画面显示参数可以是应用服务器为目标应用进程默认设置的参数,例如,假设目标应用程序为游戏应用,应用服务器为用于实现游戏应用的游戏功能提供支持的目标应用进程设置的参数可以包括:“主页”窗口数据对应的窗口放在最前面显示,“商店”窗口图像数据对应的窗口放在“主页”窗口图像数据对应窗口之后,“视频”窗口图像数据对应的窗口放在“商店”图像数据对应的窗口之后;此时画面显示参数可以为:“主页”窗口图像数据放在最前面显示,“商店”窗口图像数据放在“主页”窗口图像数据之后,“视频”窗口图像数据放在“商店”窗口图像数据之后。
在其他实施例中,沙箱中存储的为目标应用进程设置的画面显示参数可以是根据用户终端发送的用户操作请求和应用服务器为目标应用进程默认设置的参数确定的。例如,假设目标应用程序为游戏,为用于实现游戏应用的游戏功能提供服务支持的目标应用进程设置的参数可以包括:“主页”窗口图像数据对应的放在最前面显示,“商店”窗口图像数据对应的窗口放在“主页”窗口图像数据对应的窗口之后,“视频”窗口图像数据对应的窗口放在“商店”窗口图像数据对应的窗口之后;检测到用户操作请求中包括从“主页”窗口图像数据对应的窗口切换到“视频”窗口图像数据对应的窗口,此时根据用户操作请求和应用服务器为应用程序默认设置的参数确定的画面显示参数可以包括:“视频”窗口图像数据对应的创库放在最前面显示,“商店”窗口图像数据对应的窗口放在“主页”窗口图像数据对应的窗口之后,“主页”窗口图像数据对应的窗口放在“视频”窗口图像数据对应的窗口之后。
在获取到为目标应用进程设置的画面显示参数之后,可以根据画面显示参数确定各个窗口图像数据的窗口层级标识,所述窗口层级标识用于唯一表示对应的窗口图像数据,并且所述窗口层级标识指示了窗口图像数据之间的层级关系。所述窗口层级标识可以以一个或多个数字表示,例如1,2,3,或者(1,2),(2,1)、(3,1)等;或者所述窗口层级表示也可以以其他形式表示。在本发明实施例中,如果用数字表示窗口层级标识,如果用于代表各个窗口层级标识的数字的个数不相同,数字个数越多的窗口层级标识越高,例如(1,2)代表的窗口层级标识高于1代表的窗口层级标识;如果用于代表各个窗口层级标识的数字个数相同为N个,且前N-1个数字相同(N为大于1的任意正整数)第N个数字不相同,则各个数字的之和越小的窗口层级标识越高,例如(1,2)代表的窗口层级标识高于(1,5)代表的窗口层级标识。其中,(1,n)(n为大于等于1的任意正整数)代表的窗口层级标识对应的窗口是1代表的窗口层级标识对应的窗口的子窗口;(1,n,m)代表的窗口层级标识对应的窗口是(1,n)代表的窗口层级标识对应的窗口的子窗口。基于上述描述可知,子窗口对应的窗口层级标识高于其父窗口对应的窗口层级标识。
S603,根据各个窗口图像数据的窗口层级标识生成图像二叉树。
为了提高便利性,本发明实施例中根据各个窗口图像数据的窗口层级标识生成一个图像二叉树,依据图像二叉树执行后续步骤S604-步骤S606。所述图像二叉树中可包括多个二叉树节点,每个二叉树节点存储了窗口层级标识。
在一个实施例中,所述根据所述各个窗口图像数据的窗层级标识生成图像二叉树,可包括:根据所述各个窗口图像数据的窗口层级标识构建图像多叉树,所述图像多叉树包括N个层级,每个层级中包括M个节点,其中,N和M都是大于等于1的正整数,所述图像多叉树中相邻两个层级中包括为父子关系的父节点和子节点,所述图像多叉树的同一层级中具有同一父节点的各个节点互为兄弟节点;将所述图像多叉树转换为图像二叉树;其中,是将所述图像多叉树的各个层级中的第一个节点转换为图像二叉树的左节点,将与所述第一个节点互为兄弟节点关系的其他节点转换为图像二叉树的右节点。
例如,假设根据各个窗口图像数据的窗口层级标识构建的图像多叉树如图7a所示,假设图像二叉树中包括3个层级,如701-703所示,各个层级的节点中的数字表示该节点对应的窗口图像数据的窗口层级标识,由图可见,在701层级中包一个节点,701层级包括的节点可以称为根节点,本发明实施例中所述根节点为用户终端的桌面图像数据。所述用户终端的桌面图像数据可以是应用服务器接收到用户终端在接收到的用户输入的桌面图像数据的选择操作后发送的;在702层级中包括三个节点,在703中包括三个节点。
其中,702层级中的窗口层级标识(1,1)和(1,2)代表的窗口图像数据对应的窗口是窗口层级标识1代表的窗口图像数据对应的窗口的子窗口,因此窗口层级标识(1,1)和(1,2)代表的子节点的父节点都是窗口层级标识1代表的节点,所以窗口层级标识(1,1)和(1,2)代表的节点互为兄弟节点。同理可知的,窗口层级标识1,2,3,代表的节点互为兄弟节点。
将图7a所示的图像多叉树转化为图像二叉树是指:将图像多叉树中701-703各个层级中的第一节点转化为图像二叉树的左节点,例如,在701层级中第一个节点为窗口层级标识0代表的节点,将此节点作为图像二叉树的左节点,701层级中不包括其他节点,则继续对702层级进行转换;在702层级中,第一个节点为窗口层级标识1代表的节点,将此节点继续作为图像二叉树的左节点,702层级中还包括窗口层级标识1代表的节点的两个兄弟节点,分别为窗口层级标识2代表的节点和窗口层级标识3代表的子节点,将这两个节点作为图像二叉树的右节点。按照上述过程遍历图像二叉树中所有节点,所有节点遍历结束后便可得到将如图7b所示的图像二叉树。
应当理解的,将窗口层级标识2代表的节点和窗口层级标识3代表的节点作为图像二叉树的右节点可以理解为:窗口层级标识2代表的节点作为窗口层级标识1代表的节点的右节点,窗口层级标识3代表的节点作为窗口层级标识2代表的节点的右节点。
S604,按照预设的二叉树图像获取的遍历顺序对图像二叉树进行遍历,得到窗口图像数据中各个窗口图像数据的图像获取顺序,并按照图像获取顺序,调用数据截取模块截取在执行目标应用进程的图像渲染函数时得到的窗口图像数据。
在一实施例中,所述预设的二叉图像获取的遍历顺序可以指后序遍历,所述后序遍历的遍历顺序为:左节点-右节点-根节点。例如,在图7b中所示的图像二叉树中后序遍历的结果为:(1,2)-(1,2)-(3,1)-3-2-1-0。按照预设的二叉树图像获取的遍历顺序对所述图像二叉树进行遍历,得到窗口图像数据中各个窗口图像数据的图像获取顺序即为(1,2)-(1,2)-(3,1)-3-2-1-0。
在一个实施例中,所述按照所述图像获取顺序,调用数据截取模块截取在执行所述目标应用进程的图像渲染函数时得到的窗口图像数据,包括:确定所述图像渲染函数中包括的渲染方式;根据所述渲染方式,确定所述数据截取模块中与所述渲染方式对应的数据截取子模块;调用所述数据截取子模块截取在执行所述目标应用进程的图像渲染函数时得到的窗口图像数据。窗口图像数据的数量为多个,各个窗口图像数据是执行目标应用程序的各个图像渲染函数得到的,各个图像渲染函数中包括的渲染方式可以为OpenGL、GDI和DirectX中的任意一种。
所述数据截取模块可包括三个截取子模块,所述三个截取子模块的分别于上述三种渲染方式相对应,具体地,数据截取模块包括的是三个截取子模块可以为OpenGL截取子模块、GDI截取子模块以及DirectX截取子模块。可选的,各个截取子模块与渲染方式的对应关系可以为:OpenGL截取子模块对应的渲染方式为OpenGL、GDI截取子模块对应的渲染方式为GDI以及DirectX截取子模块对应的渲染方式为DirectX。应当理解的,调用与渲染方式相对应的截取子模块来获取窗口图像数据可以保证截取到的窗口图像数据的准确性。在一个实施例中,本发明实施例提供的数据截取模块的示意图可如图8所示,图8所示的数据截取模块可包括GDI截取子模块、DirectX截取子模块和OpenGL截取子模块。
S605,按照预设的二叉树图像合成的遍历顺序对图像二叉树进行遍历,得到窗口图像数据中各个窗口图像数据的合成顺序。
在一个实施例中,在获取到窗口图像数据后,可以将窗口图像数据进行图像合成处理,便可得到待显示的用户界面图像。所述将窗口图像数据进行图像合成处理,得到待显示的用户界面图像的实施方式可以包括步骤S605和步骤S606。
在步骤S605中,所述预设的二叉树图像合成的遍历顺序可以指前序遍历,所述前序遍历是指:根节点-左节点-右节点。例如,在图7b所示的图像二叉树中前序遍历的结果为:0-1-(1,1)-(1,2)-2-3-(3,1)。按照预设的二叉树显示遍历顺序对所述图像二叉树进行遍历,得到窗口图像数据中各个窗口图像数据的合成顺序0-1-(1,1)-(1,2)-2-3-(3,1)。
S606,按照合成顺序,对各个窗口图像数据进行图像合成处理,得到待显示的用户界面图像。
S607,将携带用户界面图像的通知消息发送给用户标识对应的用户终端。
在一个实施例中,所述步骤S606的实施方式可以为:为每个窗口图像数据分配一块子画布,将相应的窗口图像数据放在对应的子画布上,按照上述的合成顺序将各个子画布进行组合,得到待显示的用户界面图像。应当理解的,按照上述合成顺序进行组合,以实现窗口层级标识越高的窗口图像数据越后进行组合,这样一来,得到的用户界面图像中窗口层级标识高的窗口图像数据会覆盖掉窗层级标识低的窗口图像数据。
在一个实施例中,在步骤S602之后,还可以执行:根据所述各个窗口图像数据的窗口层级标识生成消息响应二叉树,所述消息响应二叉树中包括多个消息节点,每个消息节点中记录有相应的窗口图像数据对应的窗口位置信息和窗口尺寸信息。其中,为了简化操作,在根据各个窗口图像数据的窗口层级标识生成消息响应二叉树时采用与步骤S603相同的方法,这样一来,消息响应二叉树和图像二叉树具有相同的结构。例如,根据各个窗口图像数据的窗口层级标识生成的消息二叉树也可以如图7b所示。
图像二叉树每个节点存储了窗口图像数据的窗口层级标识,与图像二叉树不同的是,消息响应二叉树中每个节点不仅存储了窗口图像数据的窗口层级标识,还存储有各个窗口图像数据对应的窗口位置信息和窗口尺寸信息。其中,所述窗口位置信息可以包括窗口的坐标,所述窗口的坐标可以是以像素坐标形式表示的例如(3像素,6像素),也可以是以世界坐标形式表示的例如(10,15);所述窗口尺寸信息可以包括窗口的宽度和高度等信息。
在一个实施例中,步骤S606的实施方式还可以包括:基于所述消息响应二叉树确定所述各个窗口图像数据的显示位置信息;根据所述各个窗口图像数据的显示位置信息和所述各个窗口图像数据的合成顺序,对所述窗口图像数据中的各个窗口图像数据进行合成处理,得到待显示的用户界面图像。其中,所述显示位置信息可以包括窗口图像数据的窗口位置信息和窗口尺寸信息中的任意一种或两种。在对各个窗口图像数据进行合成时,在知道了各个窗口图像数据之后,还需要知道各个窗口图像数分别应用位于什么位置,例如,如图5b-图5d所示,在已知了“主页”窗口图像数据以及“商店”窗口图像数据之后,还需要两个窗口图像数据应该以多大尺寸,在什么位置进行组合,才能得到如图3b所示的用户界面图像。因此,在对各个窗口图像数据进行合成时,可以通过消息响应二叉树获取各个窗口图像数据的显示位置信息。
基于上述描述,本发明实施例提供了如图9所示的图像合成处理的示意图,在图9中数据获取模块用于获取目标应用进程中的各个窗口图像数据,应用服务器调用画面合成器根据图像二叉树和消息响应二叉树对各个窗口图像数据进行图像合成处理。
在一个实施例中,所述基于所述消息响应二叉树确定所述各个窗口图像数据的显示位置信息的实施方式可包括:针对各个窗口图像数据中的第一窗口图像数据(所述第一窗口图像数据为各个窗口图像数据中的任意一个窗口图像数据),当检测到当前正在对第一窗口图像数据进行图像合成处理,应用服务器可以根据图像二叉树获取第一窗口图像数据的窗口层级标识;再从消息响应二叉树中查找与第一窗口数据的窗口层级标识对应的窗口位置信息和窗口尺寸信息,将查找到的窗口位置信息和窗口尺寸信息确定为第一窗口图像数据的显示位置信息。
在其他实施例中,消息响应二叉树除了应用于图像合成处理过程中,还可以用于查找与用户操作消息对应的目标窗口图像数据,以便于应用服务器响应于用户操作消息对目标窗口图像数据进行处理。其中,所述用户操作消息是用户通过用户终端输入的与用户界面图像相关的操作。具体地:若接收到所述用户终端发送的用户操作消息,则获取所述用户操作消息中包括的操作位置信息;按照预设的二叉树窗口查找的遍历顺序遍历所述消息响应二叉树,确定出目标消息节点,所述目标消息节点为在所述消息响应二叉树中第一个查找到的满足位置条件的消息节点,其中,所述满足位置条件是指所述操作位置信息在所述目标消息节点记录的窗口位置信息和窗口尺寸信息所限定的范围内;将所述目标消息节点对应的窗口图像数据作为目标窗口图像数据,响应于所述用户操作消息对所述目标窗口图像数据所对应的窗口进行处理。
其中,所述用户操作消息中包括的操作位置信息是指所述用户输入操作的位置处的位置信息,比如用户点击、双击或长按用户界面图像中某个位置,将此位置的位置信息确定为操作位置信息。由于应用服务器中运行多个用户标识对应的应用进程,应用服务器中显示多个用户标识对应的用户界面图像,不同用户标识对应的用户界面图像可能重叠在一起如图10a所示,在图10a中A和B表示不同用户标识对应的用户界面图像;同一用户标识对应的用户界面图像中各个窗口图像数据之间也可能有重叠如图10b所示,在图10b中A和B表示同一用户标识对应的用户界面图像中的两个窗口图像数据。
不同用户标识对应不同的应用进程,不同应用进程对应的画面显示参数不同,由于图像二叉树和消息二叉树是根据画面显示参数确定的窗口层级标识生成的,所以不同应用进程之间的图像二叉树和消息响应二叉树也不相同,因此可以理解为不同用户标识对应的消息响应二叉树不同。
针对图10a的情况,如果用户操作消息中包括的操作位置信息指示的位置位于A和B的重叠区域,应用服务器需要知道用户输入的用户操作消息是针对哪个用户界面图像的。可选的,可以根据不同用户标识对应的消息响应二叉树来确定当前接收到的用户操作消息是针对哪个用户界面图像的。对于图10b的情况,应用服务器需要知道用户操作消息是针对用户界面图像中哪个窗口图像数据的。可选的,可以按照预设的二叉树窗口查找的遍历顺序遍历所述消息响应二叉树,确定出目标消息节点,进而确定出目标节点对应的目标窗口图像数据。其中,所述目标消息节点是指在所述消息响应二叉树中第一个查找到的满足位置条件的消息节点,所述满足位置条件是指所述操作位置信息在所述目标消息节点记录的窗口位置信息和窗口尺寸信息所限定的范围内。
所述预设的二叉树查找遍历顺序可以指中序遍历,所述中序遍历是指按照:左节点-根节点-右节点的顺序对二叉树进行遍历。例如,假设消息响应二叉树如图7b所示,中序遍历结果为:(1,1)-(1,2)-1-2-(3,1)-(3)-0。
本发明实施例中,从应用进程集合中获取用户标识对应的目标应用进程;获取为目标应用进程设置的画面显示参数,并根据画面显示参数确定窗口图像数据中各个窗口图像数据的窗口层级标识;再根据各个窗口图像数据的窗口层级标识生成图像二叉树;然后,按照预设的二叉树显示遍历顺序对所述图像二叉树进行遍历,得到窗口图像数据中各个窗口图像数据的合成顺序,并按照所述各个窗口图像数据的合成顺序,对所述窗口图像数据进行图像合成处理,得到待显示的用户界面图像;最后将携带所述用户界面图像的通知消息发送给所述用户标识对应的用户终端以便于与用户终端在用户界面显示用户界面图像。在上述图像获取过程中,根据各个窗口层级标识构建图像二叉树,并基于图像二叉树对各个窗口图像数据合成,简化了图像合成处理的操作,提高了图像合成的便利性。另外,与现有技术中通过部署虚拟机的方式获取用户界面图像相比,本发明实施例中应用服务器拦截执行目标应用程序的渲染函数时得到的窗口图像数据,然后对窗口图像数据进行图像合成处理得到用户界面图像的方式,可节省资源开销。
基于上述图像获取方法的描述,本发明实施例还公开了一种图像获取装置,所述图像获取装置可以应用于应用服务器中,所述应用服务器用于执行为实现目标应用程序的应用功能提供服务支持的应用进程集合,所述图像获取装置可以执行图4和图6所示的方法。请参见图11,所述图像获取装置可运行如下单元:
获取单元1101,用于从应用进程集合中获取用户标识对应的目标应用进程;
处理单元1102,用于调用数据截取模块截取当前生成的窗口图像数据,其中,所述窗口图像数据是在执行所述目标应用进程中的图像渲染函数时得到的;
所述处理单元1102,还用于对所述窗口图像数据进行图像合成处理,得到待显示的用户界面图像;
发送单元1103,用于将携带所述用户界面图像的通知消息发送给所述用户标识对应的用户终端,所述通知消息用于指示所述用户终端在用户界面上显示所述用户界面图像。
在一个实施例中,所述获取单元1101,还用于获取为所述目标应用进程设置的画面显示参数;
所述处理单元1102,还用于根据所述画面显示参数,确定窗口图像数据中各个窗口图像数据的窗口层级标识;
所述处理单元1102,还用于根据所述各个窗口图像数据的窗口层级标识生成图像二叉树,所述图像二叉树中包括多个二叉树节点,每个二叉树节点存储有窗口层级标识;
其中,所述窗口层级标识用于唯一表示对应的窗口图像数据,并且指示了窗口图像数据之间的层级关系。
在一个实施例中,所述处理单元1102在根据所述各个窗口图像数据的窗口层级标识生成图像二叉树时,执行如下操作:根据所述各个窗口图像数据的窗口层级标识构建图像多叉树,所述图像多叉树包括N个层级,每个层级中包括M个节点,所述图像多叉树中相邻两个层级中包括为父子关系的父节点和子节点,所述图像多叉树的同一层级中具有同一父节点的各个节点互为兄弟节点;将所述图像多叉树转换为图像二叉树;其中,是将所述图像多叉树的各个层级中的第一个节点转换为所述图像二叉树的左节点,将与所述第一个节点互为兄弟节点的其他节点转换为所述图像二叉树的右节点。
在一个实施例中,所述处理单元1102在对所述窗口图像数据进行图像合成处理,得到待显示的用户界面图像时,执行如下操作:按照预设的二叉树图像合成的遍历顺序对所述图像二叉树进行遍历,得到窗口图像数据中各个窗口图像数据的合成顺序;按照所述合成顺序,对所述窗口图像数据进行图像合成处理,得到待显示的用户界面图像。
在一个实施例中,所述处理单元1102在调用数据截取模块截取当前生成的窗口图像数据时,执行如下操作:按照预设的二叉树图像获取的遍历顺序对所述图像二叉树进行遍历,得到窗口图像数据中各个窗口图像数据的图像获取顺序;按照所述图像获取顺序,调用数据截取模块截取在执行所述目标应用进程的图像渲染函数时得到的窗口图像数据。
在一个实施例中,所述处理单元1102在调用数据截取模块截取在执行所述目标应用进程的图像渲染函数时得到的窗口图像数据时,执行如下操作:确定所述图像渲染函数中包括的渲染方式;根据所述渲染方式,确定所述数据截取模块中与所述渲染方式对应的数据截取子模块;调用所述数据截取子模块截取在执行所述目标应用进程的图像渲染函数时得到的窗口图像数据。
在一个实施例中,所述处理单元1102,还用于根据所述各个窗口图像数据的窗口层级标识生成消息响应二叉树,所述消息响应二叉树中包括多个消息节点,每个消息节点中记录有相应的窗口图像数据对应的窗口位置信息和窗口尺寸信息。
在一个实施例中,所述处理单元1102在按照所述合成顺序,对所述窗口图像数据进行图像合成处理,得到待显示的用户界面图像时,执行如下操作:基于所述消息响应二叉树确定所述各个窗口图像数据的显示位置信息;根据所述各个窗口图像数据的显示位置信息和所述各个窗口图像数据的合成顺序,对所述窗口图像数据中的各个窗口图像数据进行合成处理,得到待显示的用户界面图像。
在一个实施例中,所述图像获取装置还包括接收单元1105,所述接收单元1105用于接收用户终端发送的用户操作消息;所述获取单元1104还用于获取所述用户操作消息中包括的操作位置信息;所述处理单元1102,还用于按照预设的二叉树窗口查找的遍历顺序遍历所述消息响应二叉树,确定出目标消息节点,所述目标消息节点为在所述消息响应二叉树中第一个查找到的满足位置条件的消息节点,其中,所述满足位置条件是指所述操作位置信息在所述目标消息节点记录的窗口位置信息和窗口尺寸信息所限定的范围内;所述处理单元1102,还用于将所述目标消息节点对应的窗口图像数据作为目标窗口图像数据,响应于所述用户操作消息对所述目标窗口图像数据所对应的窗口进行处理。
根据本发明的一个实施例,图4或图6所示的方法所涉及的各个步骤均可以是由图11所示的图像获取装置中的各个单元来执行的。例如,图4所示的步骤S401可由图11中所示的获取单元1101来执行,步骤S402所示的步骤可由图11中所示的处理单元1102来执行,步骤S403所示的步骤可由图11所示的发送单元1103来执行;又如,图6中所示的步骤S601-步骤S602可由图11中所示的获取单元1101来执行;步骤S603-S606可由图11中所示的处理单元1102来执行,步骤S607可由图11中所示的发送单元1103来执行。
根据本发明的另一个实施例,图11所示的图像获取装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本发明的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本发明的其它实施例中,基于图像获取装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本发明的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图4或图6中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图11中所示的图像获取装置设备,以及来实现本发明实施例的图像获取方法。所述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
本发明实施例中,运行用户标识对应的目标应用进程,并调用数据截取模块截取当前生成的窗口图像数据;对所述窗口图像数据进行图像合成处理,得到待显示的用户界面图像;然后将携带用户界面图像的通知消息发送给用户标识对应的用户终端,以指示所述用户终端在用户界面上显示所述用户界面图像。与现有技术中通过部署虚拟机获取用户界面图像的方式相比,本发明实施例中应用服务器拦截执行目标应用程序过程中,调用渲染函数得到的窗口图像数据,然后对窗口图像数据进行图像合成处理得到用户界面图像,可节省应用服务器的资源开销。
基于上述方法实施例以及装置实施例的描述,本发明实施例还提供一种服务器,所述服务器对应上述应用服务器,所述服务器用于执行为实现目标应用程序的应用功能提供服务支持的应用进程集合。请参见图12,该服务器至少包括处理器1201、网络接口1202以及计算机存储介质1203。所述网络接口1202在连接网络时用于接收或发送数据。
计算机存储介质1203可以存储在服务器的存储器中,所述计算机存储介质1203用于存储计算机程序,所述计算机程序包括程序指令,所述处理器1201用于执行所述计算机存储介质1203存储的程序指令。处理器1201或称CPU(Central Processing Unit,中央处理器))是终端的计算核心以及控制核心,其适于实现一条或多条指令,具体适于加载并执行一条或多条指令从而实现相应方法流程或相应功能;在一个实施例中,本发明实施例所述的处理器1201可以用于执行:从应用进程集合中获取用户标识对应的目标应用进程,并调用数据截取模块截取当前生成的窗口图像数据,其中,所述窗口图像数据是在执行所述目标应用进程中的图像渲染函数时得到的;对所述窗口图像数据进行图像合成处理,得到待显示的用户界面图像;将携带所述用户界面图像的通知消息发送给所述用户标识对应的用户终端,所述通知消息用于指示所述用户终端在用户界面上显示所述用户界面图像。
本发明实施例还提供了一种计算机存储介质(Memory),所述计算机存储介质是终端中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质既可以包括终端中的内置存储介质,当然也可以包括终端所支持的扩展存储介质。计算机存储介质提供存储空间,该存储空间存储了终端的操作系统。并且,在该存储空间中还存放了适于被处理器1201加载并执行的一条或多条指令,这些指令可以是一个或多个计算机程序(包括程序代码)。需要说明的是,此处的计算机存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机存储介质。
在一个实施例中,可由处理器1201加载并执行计算机存储介质中存放的一条或多条指令,以实现上述有关图像获取方法实施例中的方法的相应步骤;具体实现中,计算机存储介质中的一条或多条指令由处理器1201加载并执行如下步骤:
从应用进程集合中获取用户标识对应的目标应用进程,并调用数据截取模块截取当前生成的窗口图像数据,其中,所述窗口图像数据是在运行所述目标应用进程的过程中,执行所述目标应用进程中的图像渲染函数时得到的;对所述窗口图像数据进行图像合成处理,得到待显示的用户界面图像;将携带所述用户界面图像的通知消息发送给所述用户标识对应的用户终端,所述通知消息用于指示所述用户终端在用户界面上显示所述用户界面图像。
在一个实施例中,计算机存储介质中的一条或多条指令由处理器1201加载还执行如下步骤:获取为所述目标应用进程设置的画面显示参数;根据所述画面显示参数,确定窗口图像数据中各个窗口图像数据的窗口层级标识;根据所述各个窗口图像数据的窗口层级标识生成图像二叉树,所述图像二叉树中包括多个二叉树节点,每个二叉树节点存储有窗口层级标识;其中,所述窗口层级标识用于唯一表示对应的窗口图像数据,并且指示了窗口图像数据之间的层级关系。
在一个实施例中,所述处理器1201在根据所述各个窗口图像数据的窗口层级标识生成图像二叉树时,执行如下操作:
根据所述各个窗口图像数据的窗口层级标识构建图像多叉树,所述图像多叉树包括N个层级,每个层级中包括M个节点,所述图像多叉树中相邻两个层级中包括为父子关系的父节点和子节点,所述图像多叉树的同一层级中具有同一父节点的各个节点互为兄弟节点;将所述图像多叉树转换为图像二叉树;其中,是将所述图像多叉树的各个层级中的第一个节点转换为图像二叉树的左节点,将与所述第一个节点互为兄弟节点的其他节点转换为图像二叉树的右节点。
在一个实施例中,所述处理器1201在对所述窗口图像数据进行图像合成处理,得到待显示的用户界面图像时,执行如下操作:按照预设的二叉树图像合成的遍历顺序对所述图像二叉树进行遍历,得到窗口图像数据中各个窗口图像数据的合成顺序;按照所述合成顺序,对所述窗口图像数据进行图像合成处理,得到待显示的用户界面图像。
在一个实施例中,所述处理器1201在调用数据截取模块截取当前生成的窗口图像数据时,执行如下操作:按照预设的二叉树图像获取的遍历顺序对所述图像二叉树进行遍历,得到窗口图像数据中各个窗口图像数据的图像获取顺序;按照所述图像获取顺序,调用数据截取模块截取在执行所述目标应用进程的图像渲染函数时得到的窗口图像数据。
在一个实施例中,所述处理器1201在所述调用数据截取模块截取在执行所述目标应用进程的图像渲染函数时得到的窗口图像数据时,执行如下操作:确定所述图像渲染函数中包括的渲染方式;根据所述渲染方式,确定所述数据截取模块中与所述渲染方式对应的数据截取子模块;调用所述数据截取子模块截取在执行所述目标应用进程的图像渲染函数时得到的窗口图像数据。
在一个实施例中,计算机存储介质中的一条或多条指令由处理器1201加载还执行如下步骤:根据所述各个窗口图像数据的窗口层级标识生成消息响应二叉树,所述消息响应二叉树中包括多个消息节点,每个消息节点中记录有相应的窗口图像数据对应的窗口位置信息和窗口尺寸信息。
在一个实施例中,所述处理器1201在按照所述合成顺序,对所述窗口图像数据进行图像合成处理,得到待显示的用户界面图像时,执行如下操作:基于所述消息响应二叉树确定所述各个窗口图像数据的显示位置信息;根据所述各个窗口图像数据的显示位置信息和所述各个窗口图像数据的合成顺序,对所述窗口图像数据中的各个窗口图像数据进行合成处理,得到待显示的用户界面图像。
在一个实施例中,计算机存储介质中的一条或多条指令由处理器1201加载还执行如下步骤:若接收到所述用户终端发送的用户操作消息,则获取所述用户操作消息中包括的操作位置信息;按照预设的二叉树窗口查找的遍历顺序遍历所述消息响应二叉树,确定出目标消息节点,所述目标消息节点为在所述消息响应二叉树中第一个查找到的满足位置条件的消息节点,其中,所述满足位置条件是指所述操作位置信息在所述目标消息节点记录的窗口位置信息和窗口尺寸信息所限定的范围内;将所述目标消息节点对应的窗口图像数据作为目标窗口图像数据,响应于所述用户操作消息对所述目标窗口图像数据所对应的窗口进行处理。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (12)

1.一种图像获取方法,其特征在于,所述方法应用于应用服务器,所述应用服务器用于执行为实现目标应用程序的应用功能提供服务支持的应用进程集合,所述方法包括:
从所述应用进程集合中获取用户标识对应的目标应用进程,并调用数据截取模块截取当前生成的窗口图像数据,其中,所述窗口图像数据是在执行所述目标应用进程中的图像渲染函数时得到的;
对所述窗口图像数据进行图像合成处理,得到待显示的用户界面图像;
将携带所述用户界面图像的通知消息发送给所述用户标识对应的用户终端,所述通知消息用于指示所述用户终端在用户界面上显示所述用户界面图像。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
获取为所述目标应用进程设置的画面显示参数;
根据所述画面显示参数,确定所述窗口图像数据中各个窗口图像数据的窗口层级标识;
根据所述各个窗口图像数据的窗口层级标识生成图像二叉树,所述图像二叉树中包括多个二叉树节点,每个二叉树节点存储有窗口层级标识;
其中,所述窗口层级标识用于唯一表示对应的窗口图像数据,并且指示了窗口图像数据之间的层级关系。
3.如权利要求2所述的方法,其特征在于,所述根据所述各个窗口图像数据的窗口层级标识生成图像二叉树,包括:
根据所述各个窗口图像数据的窗口层级标识构建图像多叉树,所述图像多叉树包括N个层级,每个层级中包括M个节点,所述图像多叉树中相邻两个层级中包括为父子关系的父节点和子节点,所述图像多叉树的同一层级中具有同一父节点的各个子节点互为兄弟节点;
将所述图像多叉树转换为图像二叉树;其中,是将所述图像多叉树的各个层级中的第一个节点转换为所述图像二叉树的左节点,将与所述第一个节点互为兄弟节点的其他节点转换为所述图像二叉树的右节点。
4.如权利要求3所述的方法,其特征在于,所述对所述窗口图像数据进行图像合成处理,得到待显示的用户界面图像,包括:
按照预设的二叉树图像合成的遍历顺序对所述图像二叉树进行遍历,得到窗口图像数据中各个窗口图像数据的合成顺序;
按照所述合成顺序,对所述各个窗口图像数据进行图像合成处理,得到待显示的用户界面图像。
5.如权利要求2或3所述的方法,其特征在于,所述调用数据截取模块截取当前生成的窗口图像数据,包括:
按照预设的二叉树图像获取的遍历顺序对所述图像二叉树进行遍历,得到窗口图像数据中各个窗口图像数据的图像获取顺序;
按照所述图像获取顺序,调用数据截取模块截取在执行所述目标应用进程的图像渲染函数时得到的窗口图像数据。
6.如权利要求5所述的方法,其特征在于,所述调用数据截取模块截取在执行所述目标应用进程的图像渲染函数时得到的窗口图像数据,包括:
确定所述图像渲染函数中包括的渲染方式;
根据所述渲染方式,确定所述数据截取模块中与所述渲染方式对应的数据截取子模块;
调用所述数据截取子模块截取在执行所述目标应用进程的图像渲染函数时得到的窗口图像数据。
7.如权利要求4所述的方法,其特征在于,所述方法还包括:
根据所述各个窗口图像数据的窗口层级标识生成消息响应二叉树,所述消息响应二叉树中包括多个消息节点,每个消息节点中记录有相应的窗口图像数据对应的窗口位置信息和窗口尺寸信息。
8.如权利要求7所述的方法,其特征在于,所述按照所述合成顺序,对所述各个窗口图像数据进行图像合成处理,得到待显示的用户界面图像,包括:
基于所述消息响应二叉树确定所述各个窗口图像数据的显示位置信息;
根据所述各个窗口图像数据的显示位置信息和所述合成顺序,对所述各个窗口图像数据进行合成处理,得到待显示的用户界面图像。
9.如权利要求7所述的方法,其特征在于,所述方法还包括:
若接收到所述用户终端发送的用户操作消息,则获取所述用户操作消息中包括的操作位置信息;
按照预设的二叉树窗口查找的遍历顺序遍历所述消息响应二叉树,确定出目标消息节点,所述目标消息节点为在所述消息响应二叉树中第一个查找到的满足位置条件的消息节点,其中,所述满足位置条件是指所述操作位置信息在所述目标消息节点记录的窗口位置信息和窗口尺寸信息所限定的范围内;
将所述目标消息节点对应的窗口图像数据作为目标窗口图像数据,响应于所述用户操作消息对所述目标窗口图像数据所对应的窗口进行处理。
10.一种图像获取装置,其特征在于,所述装置配置于应用服务器中,所述应用服务器用于执行为实现目标应用程序的应用功能提供服务支持的应用进程集合,所述装置包括:
获取单元,用于从应用进程集合中获取用户标识对应的目标应用进程;
处理单元,用于调用数据截取模块截取当前生成的窗口图像数据,其中,所述窗口图像数据是在执行所述目标应用进程中的图像渲染函数时得到的;
所述处理单元,还用于对所述窗口图像数据进行图像合成处理,得到待显示的用户界面图像;
发送单元,用于将携带所述用户界面图像的通知消息发送给所述用户标识对应的用户终端,所述通知消息用于指示所述用户终端在用户界面上显示所述用户界面图像。
11.一种服务器,其特征在于,还包括:
处理器,适于实现一条或多条指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行如权利要求1-9任一项所述的图像获取方法。
12.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有计算机程序指令,所述计算机程序指令被处理器执行时,用于执行如权利要求1-9任一项所述的图像获取方法。
CN201910468135.3A 2019-05-29 2019-05-29 图像获取方法、装置、服务器及存储介质 Active CN110213265B (zh)

Priority Applications (7)

Application Number Priority Date Filing Date Title
CN201910468135.3A CN110213265B (zh) 2019-05-29 2019-05-29 图像获取方法、装置、服务器及存储介质
SG11202105855QA SG11202105855QA (en) 2019-05-29 2020-05-25 Image acquisition method, device, server and storage medium
EP20813666.3A EP3979589A4 (en) 2019-05-29 2020-05-25 IMAGE CAPTURE METHOD, DEVICE, SERVER AND STORAGE MEDIUM
KR1020217023112A KR102425168B1 (ko) 2019-05-29 2020-05-25 이미지 획득 방법, 기기, 서버 및 저장 매체
PCT/CN2020/092076 WO2020238846A1 (zh) 2019-05-29 2020-05-25 图像获取方法、装置、服务器及存储介质
JP2021548678A JP7297080B2 (ja) 2019-05-29 2020-05-25 画像取得方法、画像取得装置、サーバ、及びコンピュータプログラム
US17/443,481 US11606436B2 (en) 2019-05-29 2021-07-27 Image obtaining method and apparatus, server, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910468135.3A CN110213265B (zh) 2019-05-29 2019-05-29 图像获取方法、装置、服务器及存储介质

Publications (2)

Publication Number Publication Date
CN110213265A true CN110213265A (zh) 2019-09-06
CN110213265B CN110213265B (zh) 2021-05-28

Family

ID=67789895

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910468135.3A Active CN110213265B (zh) 2019-05-29 2019-05-29 图像获取方法、装置、服务器及存储介质

Country Status (7)

Country Link
US (1) US11606436B2 (zh)
EP (1) EP3979589A4 (zh)
JP (1) JP7297080B2 (zh)
KR (1) KR102425168B1 (zh)
CN (1) CN110213265B (zh)
SG (1) SG11202105855QA (zh)
WO (1) WO2020238846A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020238846A1 (zh) * 2019-05-29 2020-12-03 腾讯科技(深圳)有限公司 图像获取方法、装置、服务器及存储介质
CN112099884A (zh) * 2020-08-11 2020-12-18 西安万像电子科技有限公司 一种图像渲染方法及装置
CN112650899A (zh) * 2020-12-30 2021-04-13 中国平安人寿保险股份有限公司 数据可视化渲染方法、装置、计算机设备及存储介质
CN114820882A (zh) * 2022-04-19 2022-07-29 北京百度网讯科技有限公司 一种图像获取方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106371824A (zh) * 2016-08-23 2017-02-01 广州优视网络科技有限公司 便携式设备及应用程序弹出消息显示控制方法和装置
WO2019049140A1 (en) * 2017-09-06 2019-03-14 Xmpie (Israel) Ltd. SYSTEMS AND METHODS FOR PRINTING VARIABLE DATA
CN109792564A (zh) * 2016-07-21 2019-05-21 索尼互动娱乐美国有限责任公司 用于通过在游戏云系统上执行的视频记录访问先前所存储游戏情节的方法和系统

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6687335B1 (en) * 1997-03-31 2004-02-03 Southwestern Bell Telephone Company User interface and system to facilitate telephone circuit maintenance and testing
JP2003190640A (ja) 2001-12-27 2003-07-08 Koei:Kk 描画コマンド制御方法、記録媒体、描画コマンド制御装置及びプログラム
US7486294B2 (en) 2003-03-27 2009-02-03 Microsoft Corporation Vector graphics element-based model, application programming interface, and markup language
US7260784B2 (en) * 2003-05-07 2007-08-21 International Business Machines Corporation Display data mapping method, system, and program product
US8079037B2 (en) 2005-10-11 2011-12-13 Knoa Software, Inc. Generic, multi-instance method and GUI detection system for tracking and monitoring computer applications
US20070300179A1 (en) * 2006-06-27 2007-12-27 Observe It Ltd. User-application interaction recording
US20110289117A1 (en) * 2010-05-19 2011-11-24 International Business Machines Corporation Systems and methods for user controllable, automated recording and searching of computer activity
US9361464B2 (en) * 2012-04-24 2016-06-07 Jianqing Wu Versatile log system
CN103455234A (zh) 2012-06-01 2013-12-18 腾讯科技(深圳)有限公司 显示应用程序界面的方法及装置
US9069608B2 (en) * 2013-03-06 2015-06-30 Vmware, Inc. Method and system for providing a roaming remote desktop
US10387546B1 (en) * 2013-06-07 2019-08-20 United Services Automobile Association Web browsing
WO2015104848A1 (en) 2014-01-09 2015-07-16 Square Enix Holdings Co., Ltd. Methods and systems for efficient rendering of game screens for multi-player video game
US20160379400A1 (en) * 2015-06-23 2016-12-29 Intel Corporation Three-Dimensional Renderer
KR102455232B1 (ko) * 2015-06-23 2022-10-17 삼성전자 주식회사 콘텍스트 기반 탭 관리를 위한 방법 및 전자 장치
CN106843897B (zh) 2017-02-09 2021-02-12 腾讯科技(深圳)有限公司 一种截取游戏画面的方法和装置
CN107071331B (zh) * 2017-03-08 2019-05-24 西安万像电子科技有限公司 图像显示方法、装置和系统、存储介质及处理器
CN108939556B (zh) * 2018-07-27 2021-08-20 珠海金山网络游戏科技有限公司 一种基于游戏平台的截图方法及装置
CN109582425B (zh) * 2018-12-04 2020-04-14 中山大学 一种基于云端与终端gpu融合的gpu服务重定向系统及方法
CN110213265B (zh) * 2019-05-29 2021-05-28 腾讯科技(深圳)有限公司 图像获取方法、装置、服务器及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109792564A (zh) * 2016-07-21 2019-05-21 索尼互动娱乐美国有限责任公司 用于通过在游戏云系统上执行的视频记录访问先前所存储游戏情节的方法和系统
CN106371824A (zh) * 2016-08-23 2017-02-01 广州优视网络科技有限公司 便携式设备及应用程序弹出消息显示控制方法和装置
WO2019049140A1 (en) * 2017-09-06 2019-03-14 Xmpie (Israel) Ltd. SYSTEMS AND METHODS FOR PRINTING VARIABLE DATA

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020238846A1 (zh) * 2019-05-29 2020-12-03 腾讯科技(深圳)有限公司 图像获取方法、装置、服务器及存储介质
US11606436B2 (en) 2019-05-29 2023-03-14 Tencent Technology (Shenzhen) Company Limited Image obtaining method and apparatus, server, and storage medium
CN112099884A (zh) * 2020-08-11 2020-12-18 西安万像电子科技有限公司 一种图像渲染方法及装置
CN112650899A (zh) * 2020-12-30 2021-04-13 中国平安人寿保险股份有限公司 数据可视化渲染方法、装置、计算机设备及存储介质
CN112650899B (zh) * 2020-12-30 2023-10-03 中国平安人寿保险股份有限公司 数据可视化渲染方法、装置、计算机设备及存储介质
CN114820882A (zh) * 2022-04-19 2022-07-29 北京百度网讯科技有限公司 一种图像获取方法、装置、设备及存储介质

Also Published As

Publication number Publication date
JP7297080B2 (ja) 2023-06-23
US20210360086A1 (en) 2021-11-18
SG11202105855QA (en) 2021-07-29
JP2022534346A (ja) 2022-07-29
WO2020238846A1 (zh) 2020-12-03
US11606436B2 (en) 2023-03-14
EP3979589A4 (en) 2022-08-10
CN110213265B (zh) 2021-05-28
EP3979589A1 (en) 2022-04-06
KR102425168B1 (ko) 2022-07-25
KR20210104143A (ko) 2021-08-24

Similar Documents

Publication Publication Date Title
CN110213265A (zh) 图像获取方法、装置、服务器及存储介质
CN101266633B (zh) 无缝超大规模虚拟游戏世界平台
Ren et al. Edge ar x5: An edge-assisted multi-user collaborative framework for mobile web augmented reality in 5g and beyond
CN103460253B (zh) 用于图形处理的像素值精简
CN105338358B (zh) 对图像进行解码的方法及装置
CN105979007A (zh) 加速资源处理方法、装置及网络功能虚拟化系统
CN107066631A (zh) 页面的显示方法、装置及电子设备
JP3403335B2 (ja) 仮想地理空間オブジェクト生成システム及び記録媒体
CN113457160B (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
CN110533755A (zh) 一种场景渲染的方法以及相关装置
CN104461862B (zh) 数据处理系统以及线程崩溃后的资源恢复方法和装置
CN107566474A (zh) 基于移动平台的三维虚拟地球多源异构数据下载和集成方法
Räisänen A framework for capability provisioning in B5G
KR100843545B1 (ko) 비 멤버 장치로 컴퓨터 그리드에 액세스하는 방법 및 시스템과 컴퓨터 판독 가능 기록매체
CN116310232A (zh) 数字藏品的数据处理方法、设备、存储介质及程序产品
CN110089076B (zh) 实现信息互动的方法和装置
US20200001178A1 (en) Server device, and storage medium used in same
CN114745280B (zh) 资产信息管理方法、装置、设备及可读存储介质
CN115965736A (zh) 图像处理方法、装置、设备及存储介质
Ooi et al. Sense the physical, walkthrough the virtual, manage the co (existing) spaces: a database perspective
US10715846B1 (en) State-based image data stream provisioning
CN115480934A (zh) 一种分布式数据处理的方法、装置、设备及储存介质
CN115396500A (zh) 基于专网的服务平台切换方法、系统及电子设备
CN114513512A (zh) 界面渲染的方法及装置
CN111782333B (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