IP Library Granted Patent US 10,354,430
Granted Patent B2
US 10,354,430 · App. 15/791,055 · Granted Jul 16, 2019

Image update method, system, and apparatus

Inventor: Chuyue Ai (Shenzhen, CN)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
G06T15/005G06F3/1454G06F8/65G06F9/45558G06F9/50G06F2009/45579G09G2370/022
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,354,430
App. No.
15/791,055
Granted
Jul 16, 2019
Kind
B2
Abstract

An image update method executed by a render server, includes: acquiring a graphics instruction of a virtual machine, determining a type of the graphics instruction of the virtual machine, if the type of the graphics instruction of the virtual machine is a three-dimensional graphics instruction, sending a drawing instruction to a graphics processing unit to perform rendering processing, acquiring a rendering image corresponding to the graphics instruction of the virtual machine, sending a graphics update instruction to a primary surface management unit of the render server, acquiring an original primary surface of the virtual machine, synthesizing a new primary surface according to the original primary surface of the virtual machine, the first graphics update area, and the rendering image, sending an image corresponding to the new primary surface to a client of the virtual machine.

Claims (48)

1. An image update method performed by a render server, the method comprising:

acquiring multiple graphics instructions of a virtual machine;

placing the multiple graphics instructions in an instruction queue to perform subsequent processing in a sequential manner, wherein a first graphics instruction in the multiple graphics instructions carries a first graphics update area and graphics update content;

determining a type of the first graphics instruction is a two-dimensional graphics instruction;

determining whether an execution result of the first graphics instruction changes an image of a primary surface of the virtual machine;

allocating an execution sequence number to the first graphics instruction when the execution result of the first graphics instruction changes the image, wherein the first graphics update instruction carries the execution sequence number, and wherein the execution sequence number is allocated according to a time sequence of each of the multiple graphics instructions in a sequential order;

generating a graphics update instruction according to the first graphics instruction without sending the first graphics instruction to a graphics processing unit (GPU) for rendering, wherein the graphics update instruction carries the first graphics instruction and the first graphics update area;

acquiring, in response to the graphics update instruction, an original primary surface of the virtual machine;

synthesizing a new primary surface corresponding to the graphics update instruction according to the original primary surface, the first graphics update area, the execution sequence number, and the first graphics instruction; and

sending an image corresponding to the new primary surface to a client of the virtual machine.

2. The method of claim 1 , wherein synthesizing the new primary surface further according to the execution sequence number comprises:

acquiring a first execution sequence number for execution of synthesizing the new primary surface at a previous time; and

synthesizing the new primary surface according to the first graphics update area in response to a first time sequence of the execution sequence number being later than a second time sequence of the first execution sequence number.

3. The method of claim 1 , wherein synthesizing the new primary surface further according to the execution sequence number comprises:

acquiring a first execution sequence number for execution of synthesizing the new primary surface at a previous time;

modifying the first graphics update area when a first time sequence of the execution sequence number carried in the graphics update instruction is earlier than a second time sequence of the first execution sequence number; and

synthesizing the new primary surface according to the modified first graphics update area.

4. An image update apparatus comprising:

an acquiring interface configured to acquire multiple graphics instructions of a virtual machine and place the multiple graphics instructions in an instruction queue to perform subsequent processing in a sequential manner, wherein a first graphics instruction in the multiple graphics instructions carries a first graphics update area and graphics update content;

a processor coupled to the acquiring interface and configured to:

determine a type of the first graphics instruction is a two-dimensional graphics instruction;

determine whether an execution result of the first graphics instruction changes an image of a primary surface of the virtual machine;

allocate an execution sequence number to the first graphics instruction when the execution result of the first graphics instruction changes the image, wherein the execution sequence number is allocated according to a time sequence of each of the multiple graphics instructions in a sequential order;

acquire an original primary surface of the virtual machine and a graphics update instruction carrying the first graphics instruction, the execution sequence number, and the first graphics update area; and

synthesize, in response to the graphics update instruction, a new primary surface corresponding to the graphics update instruction according to the original primary surface, the first graphics update area, the execution sequence number, and the first graphics instruction; and

a sending interface coupled to the processor and configured to send an image corresponding to the new primary surface to a client of the virtual machine.

5. The apparatus of claim 4 , wherein the processor is further configured to:

acquire a first execution sequence number for execution of synthesizing the new primary surface at a previous time; and

synthesize the new primary surface according to the first graphics update area in response to a first time sequence of the execution sequence number being later than a second time sequence of the first execution sequence number.

6. The apparatus of claim 4 , wherein the processor is further configured to:

acquire a first execution sequence number for execution of synthesizing the new primary surface at a previous time;

modify the first graphics update area when a first time sequence of the execution sequence number carried in the graphics update instruction is earlier than a second time sequence of the first execution sequence number; and

synthesize the new primary surface according to the modified first graphics update area.

7. A non-transitory storage medium configured to store image update instructions that when executed by a processor of a render server causes the processor to:

acquire multiple graphics instructions of a virtual machine and place the multiple graphics instructions in an instruction queue to perform subsequent processing in a sequential manner, wherein a first graphics instruction in the multiple graphics instructions carries a first graphics update area and graphics update content;

determine a type of the first graphics instruction of the virtual machine is a two-dimensional graphics instruction;

determine an execution result of the first graphics instruction changes an image of a primary surface of the virtual machine;

allocate an execution sequence number to the first graphics instruction, wherein the execution sequence number is allocated according to a time sequence of each of the multiple graphics instructions in a sequential order;

acquire an original primary surface of the virtual machine and a graphics update instruction carrying the first graphics instruction, the execution sequence number, and the first graphics update area;

synthesize, in response to the graphics update instruction, a new primary surface corresponding to the graphics update instruction according to the original primary surface, the first graphics update area, the execution sequence number, and the first graphics instruction; and

send an image corresponding to the new primary surface to a client of the virtual machine.

8. The non-transitory storage medium of claim 7 , wherein the image update instructions further cause the processor to:

acquire a first execution sequence number for execution of synthesizing the new primary surface at a previous time; and

synthesize the new primary surface according to the first graphics update area in response to a first time sequence of the execution sequence number being later than a second time sequence of the first execution sequence number.

9. The non-transitory storage medium of claim 7 , wherein the image update instructions further causes the processor to:

acquire a first execution sequence number for execution of synthesizing the new primary surface at a previous time;

modify the first graphics update area when a first time sequence of the execution sequence number carried in the graphics update instruction is earlier than a second time sequence of the first execution sequence number; and

synthesize the new primary surface according to the modified first graphics update area.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 1, 2022
From: HUAWEI TECHNOLOGIES CO., LTD.
To: HUAWEI CLOUD COMPUTING TECHNOLOGIES CO., LTD.
Reel/Frame 059267/0088 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2018
From: AI, CHUYUE
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 044581/0617 →
Priority Claims (1)
CN 2013 1 0269616 · Jun 28, 2013 · national
Continuity (3)
Continuation 14980524 · Dec 28, 2015
Continuation PCTCN2014072057 · Feb 13, 2014
Related Publication 20180047205A1 · Feb 15, 2018