# US 10,482,564 B2 · Method and system for improving GPU performance during data-intensive visualization operations

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,482,564 B2
- Document ID: US10482564B2
- Status: Granted
- Kind: B2
- Application number: 15/690,593
- Filed: 2017-08-30
- Published: 2018-03-15
- Granted: 2019-11-19
- Earliest claimed: 2016-09-12
- Assignees: Alibaba Group Holding Limited
- Applicants: Alibaba Group Holding Limited
- Inventors: Ningyi Zhou; Xiao Wen; Ruixian Ma; Ye Zhang
- Web page: https://patentgrep.com/patent/US10482564B2

## CPC

- G06T 1/20: Processor architectures; Processor configuration, e.g. pipelining
- G01C 21/3676: {Overview of the route on the road map}
- G06T 11/10: Texturing; Colouring; Generation of textures or colours (retouching, inpainting or scratch removal G06T5/77)
- G06T 11/23: using straight lines or curves
- G06T 11/26: Drawing of charts or graphs
- G06T 15/005: {General purpose rendering architectures}
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G01C: MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY (measuring liquid level G01F; radio navigation, determining distance or velocity by use of propagation effects, e.g. Doppler effects, propagation time, of radio waves, analogous arrangements using other waves G01S)

## Abstract

Disclosed herein are methods and systems for improving GPU processing during visualization operations. In one embodiment, the method comprises receiving a data frame at a central processing unit (CPU), the data frame including a plurality of pieces of associated data; identifying, by the CPU, feature information corresponding to the plurality of pieces of associated data; generating, by the CPU, overall feature information by combining at least a portion of the feature information; and sending, by the CPU, the overall feature information to a graphics processing unit (GPU).

## Claims

### Claim 1

A method comprising:
receiving a data frame at a central processing unit (CPU), the data frame including a plurality of pieces of associated data, the associated data describing a set of points between a start point and an end point;
identifying, by the CPU, feature information corresponding to the plurality of pieces of associated data, the feature information representing a property of at least one point in the set of points;
generating, by the CPU, overall feature information by combining at least a portion of the feature information; and
sending, by the CPU, the overall feature information to a graphics processing unit (GPU) for visually rendering the overall feature information.

### Claim 2 (depends on 1)

The method of claim 1 wherein feature information comprises a position array and a color array, and wherein combining at least a portion of the feature information comprises:
combining, by the CPU, position arrays of respective pieces of feature information to obtain an overall position array;
combining, by the CPU, color arrays of respective pieces of feature information to obtain an overall color array; and
identifying, by the CPU, the overall position array and the overall color array as the overall feature information.

### Claim 3 (depends on 1)

The method of claim 1 wherein the pieces of associated data are sequentially ordered and wherein the method further comprises:
identifying, by the CPU, adjacent pieces of associated data in the plurality of pieces of associated data based on a start point coordinate of a first piece of associated data and an end point coordinate of a second piece of associated data;
generating, by the CPU using a position function, a position array comprising a plurality of position points connecting the first piece of associated data to the second piece of associated data;
generating, by the CPU, a color array comprising a plurality of color values corresponding to each of the plurality of position points in the position array;
generating, by the CPU, connection information based on the position array and the color array; and
inserting, by the CPU, the connection information between feature information associated with the first piece of associated data and feature information associated with the second piece of associated data.

### Claim 4 (depends on 1)

The method of claim 1 wherein prior to generating overall feature information by combining at least a portion of the feature information the method comprises dividing the plurality of pieces of associated data into a plurality of sets, wherein at least one set comprises two or more pieces of associated data in the plurality of pieces of associated data.

### Claim 5 (depends on 4)

The method of claim 4 wherein generating overall feature information by combining at least a portion of the feature information comprises generating corresponding overall feature information for each of the sets, and wherein sending the overall feature information to the GPU comprises individually sending the corresponding overall feature information corresponding to each set.

### Claim 6 (depends on 1)

The method of claim 1 further comprising:
performing, by the GPU, a rendering operation based on the overall feature information and obtaining rendering data;
performing, by the GPU, a visualization operation using the rendering data; and
obtaining, by the GPU, a visualization result.

### Claim 7 (depends on 1)

The method of claim 1 further comprising:
setting, by the CPU, a feature identifier for each piece of feature information;
assigning, by the CPU, a position point identifier set to each feature identifier, wherein a position point identifier set includes a plurality of position points associated with corresponding feature information;
assigning, by the CPU, a state identifier to each feature identifier, a state identifier indicating a use state of corresponding feature information; and
building, by the CPU, a wake-up feature identifier set and a sleep feature identifier set based on the state identifiers associated with each of the feature identifiers.

### Claim 8 (depends on 7)

The method of claim 7 wherein the state identifier set indicates whether the feature information is in wake-up state or in a sleep state.

### Claim 9 (depends on 7)

The method of claim 7 further comprising updating, by the CPU, a subset of the pieces of feature information based on the state identifiers associated with the feature identifiers.

### Claim 10 (depends on 9)

The method of claim 9 wherein updating a subset of the pieces of feature information based on the state identifiers associated with the feature identifiers comprises:
waiting, by the CPU, a predetermined period of time upon determining that the sleep feature identifier set is a null set;
selecting, by the CPU, a feature identifier from the sleep feature identifier set upon determining that the sleep feature identifier set is not null;
updating, by the CPU, a state identifier associated with the selected feature identifier to a wake-up state;
updating, by the CPU, the overall feature information with new feature information associated with the selected feature identifier; and
sending, by the CPU, the updated feature information to the GPU.

### Claim 11

A system comprising:
a graphics processing unit (GPU); and
a central processing unit (CPU) configured to:
receive a data frame, the data frame including a plurality of pieces of associated data, the associated data describing a set of points between a start point and an end point;
identify feature information corresponding to the plurality of pieces of associated data, the feature information representing a property of at least one point in the set of points;
generate overall feature information by combining at least a portion of the feature information; and
send the overall feature information to the GPU for visually rendering the overall feature information.

### Claim 12 (depends on 11)

The system of claim 11 wherein feature information comprises a position array and a color array, and wherein combining at least a portion of the feature information comprises:
combining position arrays of respective pieces of feature information to obtain an overall position array;
combining color arrays of respective pieces of feature information to obtain an overall color array; and
identifying the overall position array and the overall color array as the overall feature information.

### Claim 13 (depends on 11)

The system of claim 11 wherein the pieces of associated data are sequentially ordered and wherein the CPU is further configured to:
identify adjacent pieces of associated data in the plurality of pieces of associated data based on a start point coordinate of a first piece of associated data and an end point coordinate of a second piece of associated data;
generate, using a position function, a position array comprising a plurality of position points connecting the first piece of associated data to the second piece of associated data;
generate a color array comprising a plurality of color values corresponding to each of the plurality of position points in the position array;
generate connection information based on the position array and the color array; and
insert the connection information between feature information associated with the first piece of associated data and the feature information associated with the second piece of associated data.

### Claim 14 (depends on 11)

The system of claim 11 wherein prior to generating overall feature information by combining at least a portion of the feature information the CPU is further configured to divide the plurality of pieces of associated data into a plurality of sets, wherein at least one set comprises two or more pieces of associated data in the plurality of pieces of associated data.

### Claim 15 (depends on 14)

The system of claim 14 wherein generating overall feature information by combining at least a portion of the feature information comprises generating corresponding overall feature information for each of the sets, and wherein sending the overall feature information to the GPU comprises individually sending the corresponding overall feature information corresponding to each set.

### Claim 16 (depends on 11)

The system of claim 11 wherein the GPU is further configured to:
perform a rendering operation based on the overall feature information and obtaining rendering data;
perform a visualization operation using the rendering data; and
obtain a visualization result.

### Claim 17 (depends on 11)

The system of claim 11 wherein the CPU is further configured to:
set a feature identifier for each piece of feature information;
assign a position point identifier set to each feature identifier, wherein a position point identifier set includes a plurality of position points associated with corresponding feature information;
assign a state identifier to each feature identifier, a state identifier indicating a use state of corresponding feature information; and
build a wake-up feature identifier set and a sleep feature identifier set based on the state identifiers associated with each of the feature identifiers.

### Claim 18 (depends on 17)

The system of claim 17 wherein the state identifier set indicates whether the feature information is in wake-up state or in a sleep state.

### Claim 19 (depends on 17)

The system of claim 17 wherein the CPU is further configured to update a subset of the pieces of feature information based on the state identifiers associated with the feature identifiers.
