IP Library Granted Patent US 9,959,650
Granted Patent B2
US 9,959,650 · App. 15/160,855 · Granted May 1, 2018

Method and device for merging graphic layers

Inventors: Yanjie Wang (Shanghai, CN); Chenyang Zhu (Shanghai, CN)
Assignee: VIA ALLIANCE SEMICONDUCTOR CO., LTD.
G06T11/60G06T15/503
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 9,959,650
App. No.
15/160,855
Granted
May 1, 2018
Kind
B2
Abstract

A method for merging graphic layers is provided. The method includes: receiving a plurality of graphic layers in a current frame; assigning sequence numbers to the graphic layers according to an overlay order; judging whether a first graphic layer and a second graphic layer vary in a period; merging the first graphic layer with the second graphic layer when judging that the first graphic layer and the second graphic layer do not vary in the period; and displaying the graphic layers in order of the sequence numbers according to the sequence numbers, wherein the first graphic layer and the second graphic layer are adjacent graphic layers.

Claims (122)

1. A method for merging graphic layers, comprising:

receiving a plurality of graphic layers in a current frame;

assigning sequence numbers to the graphic layers according to an overlay order;

judging whether a first graphic layer and a second graphic layer vary in a period;

merging the first graphic layer with the second graphic layer when judging that the first graphic layer and the second graphic layer do not vary in the period; and

displaying the graphic layers in order of the sequence numbers,

wherein the first graphic layer and the second graphic layer are adjacent graphic layers;

wherein the step of judging whether the first graphic layer and the second graphic layer vary in the period further comprises:

judging whether receiving a geometric distortion symbol;

judging whether a buffer corresponding to the first graphic layer and a buffer corresponding to the second graphic layer vary when not receiving the geometric distortion symbol; and

judging that the first graphic layer and the second graphic layer do not vary when judging that the buffer corresponding to the first graphic layer and the buffer corresponding to the second graphic layer do not vary.

2. The method for merging graphic layers as claimed in claim 1 , wherein the step of assigning the sequence numbers to the graphic layers according to the overlay order further comprises:

judging whether a current graphic layer overlays any other graphic layer;

assigning an initial sequence number to the current graphic layer when the current graphic layer does not overlay at least one graphic layer, wherein the initial sequence number is a minimum sequence number; and

assigning a first sequence number to the current graphic layer when the current graphic layer overlays the at least one graphic layer, wherein the first sequence number is a next sequence number after a maximum sequence number between sequence numbers of the at least one graphic layer overlaid by the current graphic layer.

3. The method for merging graphic layers as claimed in claim 2 , wherein the sequence numbers are assigned in ascending order.

4. The method for merging graphic layers as claimed in claim 1 , further comprising:

classifying the graphic layers into a plurality of groups according to the sequence numbers; and

generating a respective group list corresponding to the groups.

5. The method for merging graphic layers as claimed in claim 1 , before receiving the graphic layers in the current frame, the method further comprises:

judging whether an update time exceeds a predetermined value; and

triggering to update the current frame when the update time exceeds the predetermined value.

6. A method for merging graphic layers, comprising:

receiving a plurality of graphic layers in a current frame;

assigning sequence numbers to the graphic layers according to an overlay order;

assigning a weight value to each graphic layer according to a manner;

establishing a layer order according to the sequence numbers and the weight values;

judging whether a first graphic layer and a second graphic layer vary in a period; and

merging the first graphic layer with the second graphic layer when judging that the first graphic layer and the second graphic layer do not vary in the period;

wherein the first graphic layer and the second graphic layer are adjacent graphic layers;

wherein the step of judging whether the first graphic layer and the second graphic layer vary in the period further comprises:

judging whether receiving a geometric distortion symbol;

judging whether a buffer corresponding to the first graphic layer and a buffer corresponding to the second graphic layer vary when not receiving the geometric distortion symbol; and

judging that the first graphic layer and the second graphic layer do not vary when judging that the buffer corresponding to the first graphic layer and the buffer corresponding to the second graphic layer do not vary.

7. The method for merging graphic layers as claimed in claim 6 , wherein the step of assigning the sequence numbers to the graphic layers according to the overlay order further comprises:

judging whether a current graphic layer overlays any other graphic layer;

assigning an initial sequence number to the current graphic layer when the current graphic layer does not overlay at least one graphic layer, wherein the initial sequence number is a minimum sequence number; and

assigning a first sequence number to the current graphic layer when the current graphic layer overlays the at least one graphic layer, wherein the first sequence number is a next sequence number after a maximum sequence number between sequence numbers of the at least one graphic layer overlaid by the current graphic layer.

8. The method for merging graphic layers as claimed in claim 7 , wherein the sequence numbers are assigned in ascending order.

9. The method for merging graphic layers as claimed in claim 8 , before receiving the graphic layers in the current frame, the method further comprises:

judging whether an update time exceeds a predetermined value; and

triggering to update the current frame when the update time exceeds the predetermined value.

10. The method for merging graphic layers as claimed in claim 7 , further comprising:

classifying the graphic layers into a plurality of groups according to the sequence numbers; and

generating a group list corresponding to each group,

wherein graphic layers of each group list are ranged in the z-axis direction in ascending order.

11. The method for merging graphic layers as claimed in claim 10 , wherein the step of establishing the layer order according to the sequence numbers and the weight values further comprises:

reordering graphic layers in an initial group corresponding to an initial sequence number according to the weight values in descending order;

judging whether a weight value of a last graphic layer of a first group list in remaining groups is greater than a weight threshold;

reordering the graphic layers of the first group list according to the weight values in descending order when the weight value of the last graphic layer is greater than the weight threshold; and

reordering the graphic layers of the first group list according to the weight values in ascending order when the weight value of the last graphic layer is not greater than the weight threshold.

12. The method for merging graphic layers as claimed in claim 11 , further comprising:

judging whether a layer number of the graphic layers is greater than a number of streams;

finding at least one pair of adjacent graphic layers according to the weight values and the layer order when the layer number of the graphic layers is greater than the number of streams; and

merging the pair of adjacent graphic layers.

13. The method for merging graphic layers as claimed in claim 6 , wherein the manner is a bit-block transfer (BLIT) performance.

14. The method for merging graphic layers as claimed in claim 6 , wherein the manner is to judge whether the first graphic layer and the second graphic layer are undirty graphic layers.

15. A device for merging graphic layers, comprising:

a control circuit;

a processor installed in the control circuit; and

a memory installed in the control circuit and operatively coupled to the processor;

wherein the processor is configured to execute a program code stored in the memory to instruct a hardware composer to:

receive a plurality of graphic layers in a current frame;

assign sequence numbers to the graphic layers according to an overlay order;

judge whether a first graphic layer and a second graphic layer vary in a period;

merge the first graphic layer with the second graphic layer when judging that the first graphic layer and the second graphic layer do not vary in the period; and

display the graphic layers in order of the sequence numbers according to the sequence numbers,

wherein the first graphic layer and the second graphic layer are adjacent graphic layers;

wherein the step that the hardware composer judges whether the first graphic layer and the second graphic layer vary in the period further comprises:

judging whether receiving a geometric distortion symbol;

judging whether a buffer corresponding to the first graphic layer and a buffer corresponding to the second graphic layer vary when not receiving the geometric distortion symbol; and

judging that the first graphic layer and the second graphic layer do not vary when judging that the buffer corresponding to the first graphic layer and the buffer corresponding to the second graphic layer do not vary.

16. The device for merging graphic layers as claimed in claim 15 , wherein the step that the hardware composer assigns the sequence numbers to the graphic layers according to the overlay order further comprises:

judging whether a current graphic layer overlays any other graphic layer;

assigning an initial sequence number to the current graphic layer when the current graphic layer does not overlay at least one graphic layer, wherein the initial sequence number is a minimum sequence number; and

assigning a first sequence number to the current graphic layer when the current graphic layer overlays the at least one graphic layer, wherein the first sequence number is a next sequence number after a maximum sequence number between sequence numbers of the at least one graphic layer overlaid by the current graphic layer.

17. The device for merging graphic layers as claimed in claim 16 , wherein the sequence numbers are assigned in ascending order.

18. The device for merging graphic layers as claimed in claim 16 , wherein the processor further executes the program code to instruct the hardware composer to:

classify the graphic layers into a plurality of groups according to the sequence numbers; and

generate a respective group list corresponding to the groups.

19. The device for merging graphic layers as claimed in claim 16 , before receiving the graphic layers in the current frame, the processor further executes the program code to instruct the hardware composer to:

judge whether an update time exceeds a predetermined value; and

trigger to update the current frame when the update time exceeds the predetermined value.

20. A device for merging graphic layers, comprising:

a control circuit;

a processor installed in the control circuit; and

a memory installed in the control circuit and operatively coupled to the processor;

wherein the processor is configured to execute a program code stored in the memory to instruct a hardware composer to:

receive a plurality of graphic layers in a current frame;

assign sequence numbers to the graphic layers according to an overlay order;

assign a weight value to each graphic layer according to a manner;

establish a layer order according to the sequence numbers and the weight values;

judge whether a first graphic layer and a second graphic layer vary in a period; and

merge the first graphic layer with the second graphic layer when judging that the first graphic layer and the second graphic layer do not vary in the period;

wherein the first graphic layer and the second graphic layer are adjacent graphic layers;

wherein the step that the hardware composer judges whether the first graphic layer and the second graphic layer vary in the period further comprises:

judging whether receiving a geometric distortion symbol;

judging whether a buffer corresponding to the first graphic layer and a buffer corresponding to the second graphic layer vary when not receiving the geometric distortion symbol; and

judging that the first graphic layer and the second graphic layer do not vary when judging that the buffer corresponding to the first graphic layer and the buffer corresponding to the second graphic layer do not vary.

21. The device for merging graphic layers as claimed in claim 20 , wherein the step that the hardware composer assigns sequence numbers to the graphic layers according to the overlay order further comprises:

judging whether a current graphic layer overlays any other graphic layer;

assigning an initial sequence number to the current graphic layer when the current graphic layer does not overlay at least one graphic layer, wherein the initial sequence number is a minimum sequence number; and

assigning a first sequence number to the current graphic layer when the current graphic layer overlays the at least one graphic layer, wherein the first sequence number is a next sequence number after a maximum sequence number between sequence numbers of the at least one graphic layer overlaid by the current graphic layer.

22. The device for merging graphic layers as claimed in claim 21 , wherein the sequence numbers are assigned in ascending order.

23. The device for merging graphic layers as claimed in claim 21 , wherein the processor further executes the program code to instruct the hardware composer to:

classify the graphic layers into a plurality of groups according to the sequence numbers; and

generate a group list corresponding to each group,

wherein graphic layers of each group list are ranged in the z-axis direction in ascending order.

24. The device for merging graphic layers as claimed in claim 23 , wherein the step that the hardware composer establishes the layer order according to the sequence numbers and the weight values further comprises:

reordering graphic layers in an initial group corresponding to the initial sequence number according to the weight values in descending order;

judging whether a weight value of a last graphic layer of a first group list in remaining groups is greater than a weight threshold;

reordering the graphic layers of the first group list according to the weight values in descending order when the weight value of the last graphic layer is greater than the weight threshold; and

reordering the graphic layers of the first group list according to the weight values in ascending order when the weight value of the last graphic layer is not greater than the weight threshold.

25. The device for merging graphic layers as claimed in claim 24 , wherein the processor further executes the program code to instruct the hardware composer to:

judge whether a layer number of the graphic layers is greater than a number of streams;

find at least one pair of adjacent graphic layers according to the weight values and the layer order when the layer number of the graphic layers is greater than the number of streams; and

merge the pair of adjacent graphic layers.

26. The device for merging graphic layers as claimed in claim 20 , wherein the manner is a bit-block transfer (BLIT) performance.

27. The device for merging graphic layers as claimed in claim 20 , wherein the manner is to judge whether the first graphic layer and the second graphic layer are undirty graphic layers.

28. The device for merging graphic layers as claimed in claim 20 , before receiving the graphic layers in the current frame, the processor further executes the program code to instruct the hardware composer to:

judge whether an update time exceeds a predetermined value; and

trigger to update the current frame when the update time exceeds the predetermined value.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2021
From: SHANGHAI ZHAOXIN SEMICONDUCTOR CO., LTD.
To: GLENFLY TECH CO., LTD.
Reel/Frame 058965/0042 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 20, 2016
From: WANG, YANJIE; ZHU, CHENYANG
To: VIA ALLIANCE SEMICONDUCTOR CO., LTD.
Reel/Frame 038661/0544 →
Priority Claims (1)
CN 2015 1 0869063 · Dec 1, 2015 · national
Continuity (1)
Related Publication 20170154447A1 · Jun 1, 2017