Integrated circuit image processing method, electronic equipment and storage medium
By dividing the layer graphics dataset in the integrated circuit graphics data file into multiple groups and performing bitmap conversion and fusion processing, the problem of low efficiency in loading and displaying large batches of integrated circuit graphics data is solved, and fast graphics data loading and display is achieved.
Patent Information
- Application Number
- CN202511443568.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-10-10
- Publication Date
- 2026-02-10
AI Technical Summary
In existing technologies, the loading and display of large amounts of graphic data for integrated circuits is inefficient, resulting in slow processing by electronic design automation software and an inability to view and analyze graphic data in real time.
The layer graphics dataset in the integrated circuit graphics data file is divided into multiple graphics data groups, and each graphics data group is converted into a first bit image. The second bit image is obtained by bitwise operation fusion processing, and finally converted into a pixel image, which reduces the drawing requirements of each pixel.
It enables timely loading and display of large amounts of graphic data from integrated circuits, improving drawing efficiency, reducing memory consumption, and ensuring real-time viewing and analysis of graphic data.
Smart Images

Figure CN121503352A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of integrated circuit image processing technology, and in particular to an integrated circuit image processing method, electronic device, and storage medium. Background Technology
[0002] As the integration level of integrated circuits (ICs) continues to increase, an IC may contain billions or even more transistors. These billions of transistors are interconnected through complex interconnection networks. If parasitic parameters are extracted from the IC, then hundreds of millions of parasitic parameters need to be extracted, resulting in a huge amount of graphic data generated after extraction and a sharp increase in the amount of graphic data to be drawn.
[0003] In related technologies, drawing and rendering graphics on integrated circuits requires traversing the original position information of all graphics. The original position information is the position information of the graphics in the integrated circuit. The original position information is then converted into the interface position information of the display interface. Based on different display needs, such as color and texture, multiple pixels on the screen are drawn and rendered one by one.
[0004] Each refresh of the display interface, and each zooming in, zooming out, or moving of the pixel image on the display interface, requires recalculation and rendering of all the graphic data of the integrated circuit. This results in slow loading of graphic data, excessive memory consumption, and low drawing and rendering efficiency when Electronic Design Automation (EDA) software processes large amounts of graphic data (such as hundreds of millions of data points). Consequently, graphics are difficult to load and display in a timely manner on the display interface, and the graphic data obtained during the extraction of parasitic parameters of the integrated circuit cannot be viewed and analyzed in real time. Summary of the Invention
[0005] This application provides an integrated circuit image processing method, electronic device, and storage medium, aiming to solve the problem of difficulty in loading large amounts of graphic data from display integrated circuits in a timely manner.
[0006] To achieve the above objectives: In a first aspect, embodiments of this application provide an integrated circuit image processing method, the method comprising: Obtain the graphics dataset of the integrated circuit's layers from the integrated circuit's graphics data file, wherein the graphics dataset includes all graphics data in the layers; Based on the total number of graphics determined from the graphics dataset, the graphics dataset is divided into at least one set of graphics data groups corresponding to the layer, wherein the total number of graphics is the number of graphics in the layer, and each set of graphics data includes at least one set of graphics data from the layer; Each of the aforementioned graphic data groups is converted into the first image of the corresponding layer; The first bitmaps corresponding to the same layer are merged to obtain the second bitmap; The second bitmap is converted into a pixel map corresponding to the layer.
[0007] In one embodiment, the step of dividing the graphics dataset into at least one set of graphics data corresponding to the layer based on the total number of graphics determined from the graphics dataset includes: Determine whether the total number of the graphics is greater than the first threshold number of graphics; If the total number of graphics is greater than the first graphics number threshold, the graphics dataset is divided into multiple graphics data groups corresponding to the layer according to the first graphics number threshold. If the total number of graphics is less than or equal to the first graphics number threshold, the graphics dataset is divided into a group of graphics data corresponding to the layer.
[0008] In one embodiment, the step of converting each of the graphic data groups into a first-order image corresponding to the layer includes: Add all the graphics data groups of the integrated circuit to the thread created by the thread pool; Each thread will convert each of the graphics data groups added to the integrated circuit into the first bitmap corresponding to the layer.
[0009] In one embodiment, the step of converting each of the graphic data groups into a first-order image corresponding to the layer includes: First position information is obtained from each of the graphic data groups of the integrated circuit, wherein the first position information is the planar position information of the graphic represented by the graphic data in the corresponding layer; Determine second location information corresponding to each of the first location information, wherein the second location information is the location information of the graphic represented by the graphic data in the first bitmap corresponding to the layer; The first bitmap corresponding to the second position information is assigned a first preset value, and the bits of the first bitmap other than those corresponding to the second position information are assigned a second preset value, wherein the first preset value indicates that the bit has a graphic, and the second preset value indicates that the bit does not have a graphic.
[0010] In one embodiment, the step of merging all the first bitmaps corresponding to the same layer to obtain a second bitmap includes: Based on the position of each first bitmap corresponding to the same layer in the layer, bitwise operations are performed on all first bitmaps corresponding to the same layer, and they are then fused to obtain a second bitmap that records the outlines of all graphics in the same layer.
[0011] In one embodiment, the step of converting the second bitmap into a pixel map corresponding to the layer includes: Create a texture bitmap based on the received texture fill instruction corresponding to the layer; By fusing the texture bitmap and the second bitmap corresponding to the same layer, a texture fusion bitmap is obtained; The texture blending bitmap is converted into a pixel map corresponding to the layer.
[0012] In one embodiment, the step of converting the texture blending bitmap into a pixel map corresponding to the layer includes: Based on the received color configuration instruction corresponding to the layer, the positions with graphics in the texture fusion bitmap are drawn with the colors indicated by the color configuration instruction to obtain the pixel map corresponding to the layer.
[0013] In one embodiment, the method further includes: Based on the received layer display instruction, the pixel image of the layer referred to by the layer display instruction is displayed to obtain the target pixel image.
[0014] The target pixel image is output and displayed on the display interface.
[0015] Secondly, embodiments of this application provide an electronic device including a memory and a processor, wherein the memory stores a computer program and the processor is configured to run the computer program to perform the above-described method.
[0016] Thirdly, embodiments of this application provide a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the above-described method.
[0017] In the integrated circuit image processing method, electronic device, and storage medium provided in this application, by acquiring the graphics data file of the integrated circuit, the graphics dataset of the layers in the integrated circuit recorded in the graphics data file is divided into graphics data groups of the layers. Then, each group of graphics data is converted into a corresponding first bit image. The first bit images of the same layer are merged to obtain the second bit image of the layer. Finally, the second bit image is converted into a pixel image of the layer. In this way, the bit image (first bit image) obtained by converting the graphics data group obtained by grouping is processed to obtain the bit image (second bit image) of the corresponding layer. This realizes that the pixel image corresponding to the layer can be quickly generated by processing the graphics data of the layer at the memory level, without having to draw each pixel in the pixel image as in related technologies. This shortens the computation time required to draw the corresponding layer, thereby enabling timely loading and display of large batches of graphics data of the integrated circuit. Attached Figure Description
[0018] Figure 1 A schematic flowchart of an integrated circuit image processing method provided in an embodiment of this application; Figure 2 A diagram showing the relationship between the first image and the screen is provided as an embodiment of this application; Figure 3 A schematic diagram of a bitwise OR operation between two first-bit images provided for an embodiment of this application; Figure 4 A schematic diagram of a second bitmap obtained by bitwise OR operation of multiple first bitmaps according to an embodiment of this application; Figure 5 Texture bitmaps provided for one embodiment of this application and Figure 4 The fused bitmap obtained by the second bitmap composition operation is shown below; Figure 6 A schematic flowchart of an integrated circuit image processing method provided for another embodiment of this application; Figure 7 A block diagram of an integrated circuit image processing apparatus provided in an embodiment of this application; Figure 8 A schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0019] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.
[0020] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element. Furthermore, components, features, and elements with the same names in different embodiments of this application may have the same meaning or different meanings, the specific meaning of which must be determined by its interpretation in that specific embodiment or further in conjunction with the context of that specific embodiment.
[0021] It should be understood that although the terms first, second, third, etc., may be used herein to describe various information, such information should not be limited to these terms. These terms are used only to distinguish information of the same type from one another. For example, without departing from the scope of this document, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the word "if," as used herein, can be interpreted as "when," "when," or "in response to determination." Furthermore, as used herein, the singular forms "a," "an," and "the" are intended to also include the plural forms unless the context indicates otherwise. It should be further understood that the terms "comprising," "including," indicate the presence of the stated feature, step, operation, element, component, item, kind, and / or group, but do not exclude the presence, occurrence, or addition of one or more other features, steps, operations, elements, components, items, kinds, and / or groups. The terms "or" and "and / or" as used herein are to be interpreted as inclusive, or mean any one or any combination thereof. Therefore, "A, B, or C" or "A, B, and / or C" means "any one of the following: A; B; C; A and B; A and C; B and C; A, B, and C". Exceptions to this definition will only occur if the combination of elements, functions, steps, or operations is inherently mutually exclusive in some way.
[0022] It should be understood that although the steps in the flowcharts of this application's embodiments are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some of the steps in the figures may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times, and their execution order is not necessarily sequential, but can be performed alternately or in turn with other steps or at least a portion of the sub-steps or stages of other steps.
[0023] It should be understood that the specific embodiments described herein are merely illustrative of this application and are not intended to limit this application.
[0024] The following is a brief explanation of the terms that may be used in this application: The graphic data file records the location information of each layer of the integrated circuit layout in the integrated circuit, the type information of each layer, and the graphic data of the graphics contained in each layer. Among them, the graphic data includes the location information of the layout graphics corresponding to each physical structure of the integrated circuit in the layer and the structural type of the graphics.
[0025] A layer is a component in integrated circuit layout design used to differentiate different structures and materials at different manufacturing stages. Layers include layout layers and netlist layers, each with a specific function, such as active areas, polysilicon layers, various metal layers (Metal1, Metal2), and vias.
[0026] Graphics refer to the geometric shapes on the layout corresponding to each layer. They represent the specific structures in an integrated circuit, such as the positions and connections of transistors, interconnects, and contact holes in the layout.
[0027] Bitmap is an image file format, a type of digital image, in which each pixel in a bitmap can have one or more bits as its identifier.
[0028] A pixel map is an image object that contains pixel data. It stores parameter information for each pixel on the screen and can be used to display images on the screen.
[0029] The integrated circuit image processing method provided in this application can be executed by the integrated circuit image processing device provided in this application. The device can be implemented in software and / or hardware. In any embodiment of this application, the terminal device is taken as the executing subject of the method.
[0030] Specifically, such as Figure 1 As shown, the integrated circuit image processing method 100 of this embodiment includes: Step S10: Obtain the graphic dataset of the integrated circuit layers from the graphic data file of the integrated circuit.
[0031] The graphics data file includes a graphics dataset for each layer of the integrated circuit, and each graphics dataset includes graphics data for all graphics corresponding to a layer.
[0032] Specifically, assuming an integrated circuit has p layers, then this integrated circuit has p graphic datasets. Among these p graphic datasets, the q-th graphic dataset includes the graphic data of all graphics in the q-th layer of the p layers, where p is an integer greater than 1 and q is an integer greater than or equal to 1 and less than or equal to p.
[0033] The graphic data includes at least graphic location information and graphic index information. Graphic location information describes the graphic's position within a layer. Graphic index information is used to organize, locate, and reference graphic location information. For any two graphic location information entries of the same integrated circuit, regardless of whether the graphics they refer to are on the same or different layers, the corresponding graphic index information will differ from the individual graphic index information.
[0034] Based on step S10, after determining the graphics dataset for each layer of the integrated circuit, subsequent steps can quickly convert all graphics of a layer into at least one first-order image based on the graphics dataset (described later).
[0035] Step S20: Based on the total number of graphics determined in the graphics dataset, divide the graphics dataset into at least one set of graphics data corresponding to each layer.
[0036] The total number of graphics is the number of graphics in the layer corresponding to the graphics dataset. Each graphics dataset includes at least one graphics data from the same layer. The graphics data in different graphics datasets of the same layer are all different.
[0037] Specifically, in one embodiment, the total number of graphics in the layer corresponding to the graphics dataset is determined based on the total number of graphics index information in the graphics dataset. In another embodiment, the total number of graphics in the layer corresponding to the graphics dataset is determined based on the total number of graphics position information in the graphics dataset.
[0038] In step S20, the graphic dataset is grouped according to the total number of graphics. The number of groups a graphic dataset can be divided into is determined by the number of graphics in the corresponding layer.
[0039] Based on step S20, the graphic data of the layer is grouped to facilitate subsequent steps in performing calculations on the grouped graphic data groups separately. Compared to directly performing calculations on the graphic dataset of the layer, since the graphic data groups of the same layer are calculated separately, the number of calculations is reduced, thus obtaining the first image corresponding to each group of graphic data (described later) and reducing the computation time.
[0040] Step S30: Convert each set of graphic data into the first image of the corresponding layer.
[0041] Taking an integrated circuit with p layers as an example, the graphic dataset of each layer in the p layers is grouped to obtain a total of r groups of graphic data for the integrated circuit. Then, each of the r groups of graphic data is converted into the first image of the corresponding layer of the graphic data group, and finally, a total of r first images of the p layers are obtained.
[0042] Based on step S30, each set of graphic data can be converted into digital information of the first image. Specifically, the planar position information of the graphic data in the corresponding layer is converted into the position information of the graphic represented by the graphic data in the first image. Thus, the outline of the graphic in the first image is determined based on the position information of the graphic in the first image. In other words, the first image records the outlines of all the graphics corresponding to the same set of graphic data.
[0043] Step S40: Merge all the first bitmaps corresponding to the same layer to obtain the second bitmap.
[0044] Processing all first-bit images in the same layer involves processing all graphic data within the same layer directly at the memory level. In contrast, operations between multiple first-bit images are performed directly at the binary level, resulting in faster processing speeds. For processing large volumes of graphic data (such as hundreds of millions of graphic data points), step S40 allows for relatively quick acquisition of the processing results for each layer.
[0045] The second bitmap contains the overall outline of all the graphics in the same layer.
[0046] Step 50: Convert the second bitmap into a pixel map of the corresponding layer.
[0047] The conversion between the second bitmap and the pixel map is performed using the algorithm built into the EDA software. The pixel map records the overall outline of all graphics in the same layer as well as the color attributes of each graphic in the same layer.
[0048] In the integrated circuit image processing method provided in this embodiment, the layer is grouped according to the number of graphics in the layer, and the graphic data groups obtained by grouping the graphic dataset of the layer are converted into first-bit images respectively. Then, all the first-bit images corresponding to the same layer are fused to obtain the second bit image of the layer. This allows the pixel image of the layer to be obtained quickly by processing the graphic data in the layer at the memory level, without having to traverse every pixel in the pixel image and draw each pixel separately as in related technologies. This speeds up the computation time required to draw the layer, thereby enabling timely loading and display of large batches of graphic data of the integrated circuit.
[0049] In one embodiment, step S20 specifically includes: Step S21: Determine whether the total number of graphics is greater than the first threshold number of graphics.
[0050] The first image quantity threshold is data that has been determined and stored before executing step S21. The specific value of the first image quantity threshold is related to the type and integration level of the integrated circuit. For different types or different integration levels of integrated circuits, the specific value of the first threshold may be different and can be determined according to the actual needs of image processing.
[0051] Step S22: If the total number of graphics is greater than the first graphics number threshold, the graphics dataset is divided into multiple graphics data groups corresponding to the layers according to the first graphics number threshold.
[0052] Step S23: If the total number of graphics is less than or equal to the first graphics number threshold, divide the graphics dataset into a set of graphics data groups corresponding to the layers.
[0053] For step S23, for example, taking a first graphic quantity threshold of 100 as an example, when the total number of graphics is 80, the first to the 80th graphic data in the graphic dataset are directly determined as the graphic data of the unique group of graphic data for this layer, without further grouping.
[0054] Based on steps S21 to S23, when the total number of graphics corresponding to a layer is greater than a first threshold for the number of graphics, the graphics dataset of that layer is divided into at least two groups of graphics data. Since the number of graphics in each group is less than the total number of graphics, the computation time required to process one group of graphics data is less than the computation time required to process the entire dataset. Furthermore, the memory space occupied by processing one group of graphics data is reduced. This effectively avoids EDA software crashes and slow operation. Further, in one embodiment, step S22 specifically includes: The first to the m×(i-1)th graphic data of a layer are evenly divided into the first to the i-1th graphic data groups, and the m×(i-1)+1th to the nth graphic data are determined as the i-th graphic data group.
[0055] Where m is the first threshold for the number of graphics, i is the number of groups in a graphics dataset, and n is the total number of graphics.
[0056] For example, assuming a layer has a total of 450 graphics and a first graphics quantity threshold of 100, the graphics dataset corresponding to this layer is divided into 5 groups. The first group contains the first to the 100th graphics in the dataset, the second group contains the 101st to the 200th graphics, the third group contains the 201st to the 300th graphics, the fourth group contains the 301st to the 400th graphics, and the fifth group contains the 401st to the 450th graphics.
[0057] It is worth mentioning that the graphic data in any graphic dataset is sorted according to the value of the graphic index information in ascending or descending order. For example, the 301st to 400th graphic data in the aforementioned 4th group of graphic data refers to the value of the graphic index information from 301 to 400, and the corresponding graphic position information.
[0058] In this way, the total number of graphic data contained in each group of graphic data will not exceed the first graphic number threshold, ensuring that when different groups of graphic data are processed, the memory space occupied by each group of graphic data in the same layer is roughly the same, and the memory space occupied by each group of graphic data in different layers is roughly the same, which can effectively avoid the occurrence of peak memory during the operation.
[0059] In another embodiment, step S22 specifically includes: The first to (k-1)×j graphic data of each layer are equally divided into the first to (k-1)th graphic data groups, and the (k-1)×j+1 to nth graphic data are determined as the kth graphic data group.
[0060] Where n is the total number of graphics, k is the integer value obtained by dividing the total number of graphics by the first threshold number of graphics, and j is the integer value obtained by dividing the total number of graphics by the number of groups.
[0061] For example, assuming a layer contains 452 graphics and a first graphics quantity threshold of 100, the quotient of the total number of graphics divided by the first graphics quantity threshold is 4.52. Rounding 4.52 down to 5, the parameter value k is 5. The quotient of the total number of graphics divided by the parameter value is 90.4. Rounding 90.4 down to 90, j is 90. Thus, this graphics dataset has a total of 5 groups of graphics data. The first to fourth groups each contain 90 graphics data, while the fifth group contains 92 graphics data. Specifically, the fifth group includes graphics data from the 361st to the 452nd in the graphics dataset.
[0062] In one embodiment, step S30 specifically includes: Step S311: Create multiple threads based on all the graphics data groups of the integrated circuit, with each thread corresponding to one graphics data group.
[0063] Step S312: Add each graphic data group of the integrated circuit to the corresponding thread.
[0064] In step S313, each thread converts each graphic data group of the added integrated circuit into the first-bit image of the corresponding layer.
[0065] Compared to creating a single thread for each layer's graphics dataset to perform bitmap conversion, in this embodiment, based on steps S311 to S313, corresponding threads are established according to multiple sets of graphics data of the integrated circuit. This allows for simultaneous conversion of multiple sets of graphics data using multiple threads, resulting in multiple bitmaps. Consequently, multiple sets of graphics data of the same layer can be processed simultaneously within the same time period, shortening the time required to convert bitmaps of the same layer. It also allows for simultaneous processing of multiple sets of data from different layers within the same time period, shortening the time required to convert bitmaps of all layers of an integrated circuit separately. This facilitates the timely loading and display of large batches of graphics data from the integrated circuit.
[0066] It's worth noting that after step S313, i.e., after each thread's task ends, the thread is destroyed, which increases the terminal's system overhead. Frequent thread creation can lead to a decrease in terminal performance, especially when the number of tasks (i.e., the number of graphics data sets) is very large.
[0067] In another embodiment, step S30 specifically includes: Step S321: Add all the graphics data groups of the integrated circuit to the thread created by the thread pool.
[0068] The thread pool consists of k threads, where k is an integer greater than or equal to 1.
[0069] It is worth noting that step S321 differs significantly from step S311 in the aforementioned embodiment. Specifically, the number of threads in the thread pool in step S321 is not determined based on the number of graphics data groups of the integrated circuit, but rather on the hardware performance of the terminal's central processing unit. For example, assuming the central processing unit is quad-core, the thread pool has eight threads.
[0070] In other words, the thread pool pre-creates a certain number of threads that can be reused, reducing the system overhead of frequently creating and destroying threads compared to the previous embodiment. Furthermore, since the threads in the thread pool are pre-created, they can respond to task requests quickly.
[0071] It is important to note that for CPU-intensive systems, the maximum number of threads in the thread pool should be configured according to the CPU-intensive type to achieve optimal performance. The first formula for calculating optimal performance is: Nthread = Ncpu + 1 (1); In the first relation (1), Nthread is the maximum total number of threads in the thread pool, and Ncpu is the number of logical cores of the terminal's central processing unit.
[0072] Taking the terminal's central processing unit as an example, which has four cores and eight threads, the number of logical cores Ncpu is 8, and the maximum total number of threads in the thread pool Nthread is 9.
[0073] In one embodiment, each set of graphics data is added to the thread that is in an idle state. Specifically, multiple sets of graphics data added to the thread pool are first placed in a task queue to await execution. If there are idle threads in the thread pool, the thread pool will retrieve a set of graphics data from the task queue and execute it. If all threads in the thread pool are not idle, then multiple sets of graphics data will enter a task waiting queue. Once the first thread in the thread pool finishes its task, the second thread finishes its task, the first set of graphics data in the task waiting queue is added to the first thread that finishes its task, the second set of graphics data in the task waiting queue is added to the second thread that finishes its task, and so on.
[0074] In step S322, each thread converts each set of graphic data from the integrated circuit into the first-bit image of the corresponding layer.
[0075] In this embodiment, by using a thread pool to process multiple sets of graphics data, a task scheduling strategy for parallel processing of multiple sets of graphics data can be provided based on the number of graphics in each set and the busy status of each thread, thereby achieving load balancing of business processing.
[0076] In some embodiments, step S30 specifically includes: Step S3031: Obtain first position information from each pattern data group of the integrated circuit.
[0077] In one embodiment, according to step S313 or step S322, each thread obtains first position information from each graphics data group of the integrated circuit. The first position information is the planar position information of the graphic represented by the graphics data in the corresponding layer. That is, the first position information is the position information of the graphic recorded in the graphics data file, and the first position information describes the position information of the graphic's border in the layer.
[0078] Step S3032: Determine the second position information corresponding to each first position information.
[0079] The second positional information refers to the position of the graphic represented by the graphic data within the first image of the corresponding layer. In other words, the second positional information refers to the position of the corresponding pixel of the graphic on the display screen. Generally, the position of each pixel on the display screen is specifically described using screen coordinates; therefore, the second positional information refers to the position of the corresponding pixel of the graphic on the display screen.
[0080] The size of each first-digit image is the same as the size of the display screen, such as... Figure 2 As shown, along the length direction d1 of the display screen, if the display screen has m pixels in the length direction d1, then the first image has m grids in the length direction. Similarly, along the width direction d2 of the display screen, if the display screen has n pixels in the width direction d2, then the first image has n grids in the width direction. Thus, the m×n grids in the first image correspond one-to-one with the m×n pixels in the display screen.
[0081] It is important to note that Figure 2 The coordinate value (0,0) shown in the upper left corner of 2(a) is the origin of the coordinate system displayed on the screen. Figure 2 2(b) in the text refers to the display screen and... Figure 2 (a) The border of the corresponding graphic.
[0082] Step S3033: Assign the digits of the first image corresponding to the second position information to a first preset value, and assign the digits of the first image other than those corresponding to the second position information to a second preset value.
[0083] The first preset value indicates that the digital digit has a graphic, and the second preset value indicates that the digital digit has no graphic.
[0084] For example, please continue reading Figure 2 (a) If the second position information of a graphic is {(2, 6), (5, 3)}, then in the first graphic, the values (i.e., digits) in the cells corresponding to the screen coordinates (2, 5), (2, 4), (2, 3), (3, 3), (4, 3), (5, 3), (6, 3), (6, 4), (6, 5), (5, 5), (4, 5), and (3, 5) are assigned a first preset value, and the values in the other cells are assigned a second preset value. Generally, the first preset value is 1, and the second preset value is 0. That is, each cell stores the digit value of whether the pixel at the corresponding screen coordinate has a graphic; 1 indicates presence, and 0 indicates absence.
[0085] In one embodiment, step S40 specifically includes: performing a bitwise OR operation on all the first bit images corresponding to the same layer according to the position of each first bit image in the layer, and fusing them to obtain a second bit image that records the outlines of all the graphics in the same layer.
[0086] In this case, the size of each second bitmap remains consistent with the size of the display screen. For example, as shown... Figure 3 as well as Figure 4 As shown, performing a bitwise OR operation on the same cells in multiple first-level images of the same layer can produce a merged bitmap. In other words, by performing a logical OR operation on the bit information of cells in the same position in different first-level images, taking a first preset value of 1 and a second preset value of 0 as an example, if the bit information of the corresponding cell in one first-level image is 1, then the bit information of the corresponding cell in the second bitmap is 1; otherwise, the bit information of the cell is 0.
[0087] In this embodiment, by performing a logical OR operation on multiple first-bit images, the graphics data is processed directly at the terminal's memory level. This method does not require traversing each pixel for drawing. Furthermore, since the aforementioned operation is performed directly at the binary level, the operation speed is extremely fast, resulting in high efficiency when processing large amounts of graphics data and enabling the rapid acquisition of processing results for large-scale graphics data.
[0088] In one embodiment, step S50 specifically includes: Step S51: Create a texture bitmap based on the received texture fill instruction for the corresponding layer.
[0089] like Figure 5As shown, based on the texture fill settings configured by the user for each layer, a full-screen bitmap (texture bitmap) is generated for each layer.
[0090] Step S52: Merge the texture bitmap and the second bitmap corresponding to the same layer to obtain a texture fusion bitmap.
[0091] Please continue reading. Figure 5 A series of bitwise compound operations are performed on the texture bitmap and the second bitmap on the same layer to obtain a bitmap with a border and texture fill (texture blend bitmap). It is worth mentioning that the bitwise compound operations involved in this step S52 are a series of bitwise AND and bitwise OR operations, which can be set according to actual needs.
[0092] Step S53: Convert the texture blending bitmap into a pixel map of the corresponding layer.
[0093] The conversion between the texture fusion bitmap and the pixel map is performed according to a pre-defined rule, which is not limited in this application.
[0094] Further, in one embodiment, step S53 specifically includes: drawing the position of the graphic in the texture fusion bitmap according to the color configuration instruction received for the corresponding layer, thereby obtaining the pixel map of the corresponding layer.
[0095] In this step, the texture blending bitmap is converted into a colored pixel map based on the user-configured color settings and then drawn and rendered. In other words, the graphic colors in the pixel map of each layer are selected and set by the user.
[0096] Furthermore, in one embodiment, after step S50, the method 100 further includes: Step 60: Based on the received layer display instruction, perform display processing on the pixel image of the layer indicated by the layer display instruction to obtain the target pixel image.
[0097] In this step, the display processing refers to the fusion, drawing, and rendering of multiple colored pixel images based on the user's selection and configuration of at least one layer of the integrated circuit. In other words, the layers in the target pixel image are selected and set by the user, and the colors of each layer in the target pixel image are also selected and set by the user.
[0098] Step S70: Output the target pixel image to the display interface.
[0099] Based on the execution of the aforementioned step S60, the execution step S70 enables users to distinguish multiple texture fusion bitmaps of the same integrated circuit using a single pixel image (i.e., target pixel image), making the images of multiple layers displayed in the final display interface more intuitive and recognizable.
[0100] In a second aspect, this application also provides an integrated circuit image processing apparatus for implementing the above embodiments and preferred embodiments, the details of which will not be repeated hereafter. The term "module" and the like used below can refer to a combination of software and / or hardware that performs a predetermined function. Although the apparatus described in the following embodiments is preferably implemented in software, hardware implementation, or a combination of software and hardware, is also possible and contemplated.
[0101] Specifically, such as Figure 7 As shown, the integrated circuit graphics processing device 200 includes an acquisition module 201, a graphics data group division module 202, a first conversion module 203, a fusion processing module 204, and a second conversion module 205.
[0102] The acquisition module 201 is configured to acquire a graphic dataset of the integrated circuit's layers from the integrated circuit's graphic data file, wherein each graphic dataset includes all graphic data corresponding to a layer.
[0103] The graphic data group partitioning module 202 is configured to partition the graphic dataset into at least one set of graphic data groups corresponding to each layer based on the total number of graphics determined in the graphic dataset. The total number of graphics is the number of graphics in the layer, and each graphic data group includes at least one graphic data from the same layer.
[0104] The first conversion module 203 is configured to convert each set of graphic data into the first image of the corresponding layer.
[0105] The fusion processing module 204 is configured to fuse all the first bitmaps corresponding to the same layer to obtain the second bitmap.
[0106] The second conversion module 205 is configured to convert the second bitmap into a pixel map of the corresponding layer.
[0107] In one embodiment, the graphic data group division module 202 is further configured to determine whether the total number of graphics is greater than a first graphic number threshold. If the total number of graphics is greater than the first graphic number threshold, the graphic dataset is divided into multiple graphic data groups corresponding to the etched graphics according to the first graphic number threshold. If the total number of graphics is less than or equal to the first graphic number threshold, the graphic dataset is divided into a group of graphic data groups corresponding to the layer.
[0108] In one embodiment, the first conversion module 203 is further configured to add all the graphics data groups of the integrated circuit to the threads created by the thread pool, and each thread converts each graphics data group of the integrated circuit into the first image of the corresponding layer.
[0109] Furthermore, in one embodiment, the first conversion module 203 is further configured to obtain first position information from each graphic data group of the integrated circuit, determine second position information corresponding to each first position information, assign a first preset value to the digits of the first image corresponding to the second position information, and assign a second preset value to the digits of the first image other than those corresponding to the second position information.
[0110] The first position information is the planar position information of the graphic represented by the graphic data in the corresponding layer, the second position information is the position information of the graphic represented by the graphic data in the first image of the corresponding layer, the first preset value indicates that there is a graphic in the image, and the second preset value indicates that there is no graphic in the image.
[0111] In one embodiment, the fusion processing module 204 is further configured to perform bitwise operations on all first-bit images corresponding to the same layer according to the position of each first-bit image in the layer, and fuse them to obtain a second bit image that records the outlines of all graphics in the same layer.
[0112] In one embodiment, the second conversion module 205 is further configured to create a texture bitmap according to the received texture fill instruction of the corresponding layer, merge the texture bitmap and the second bitmap corresponding to the same layer to obtain a texture fusion bitmap, and convert the texture fusion bitmap into a pixel map of the corresponding layer.
[0113] Furthermore, in one embodiment, the second conversion module 205 is also configured to draw the position of the graphic in the texture fusion bitmap with the color indicated by the color configuration instruction according to the received color configuration instruction of the corresponding layer, so as to obtain the pixel map of the corresponding layer.
[0114] Specific limitations regarding the integrated circuit image processing device can be found in the limitations of the integrated circuit image processing method described above, and will not be repeated here. Each module in the aforementioned integrated circuit image processing device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in hardware or independently of the processor in a computer device, or stored in software in the memory of a computer device, so that the processor can call and execute the operations corresponding to each module.
[0115] Based on the same inventive concept as the foregoing embodiments, this application provides an electronic device in a third aspect. For example... Figure 8 As shown, the device includes: a processor 310 and a memory 311 storing a computer program; wherein, Figure 8 The processor 310 shown in the diagram does not indicate that there is only one processor 310, but only indicates the positional relationship of the processor 310 relative to other devices. In practical applications, there can be one or more processors 310; similarly, Figure 8The memory 311 illustrated herein has the same meaning, that is, it is only used to indicate the positional relationship of memory 311 relative to other devices. In practical applications, there can be one or more memories 311. When the processor 310 runs the computer program, the method applied to the above-mentioned device is implemented.
[0116] The device may also include at least one network interface 312. The various components of the device are coupled together via a bus system 313. It is understood that the bus system 313 is used to implement communication between these components. In addition to a data bus, the bus system 313 also includes a power bus, a control bus, and a status signal bus. However, for clarity, in... Figure 8 The general designated all buses as Bus System 313.
[0117] The memory 311 can be volatile memory or non-volatile memory, or both. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), ferromagnetic random access memory (FRAM), flash memory, magnetic surface memory, optical disc, or compact disc read-only memory (CD-ROM); the magnetic surface memory can be disk storage or magnetic tape storage. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as Static Random Access Memory (SRAM), Synchronous Static Random Access Memory (SSRAM), Dynamic Random Access Memory (DRAM), Synchronous Dynamic Random Access Memory (SDRAM), Double Data Rate Synchronous Dynamic Random Access Memory (DDRSDRAM), Enhanced Synchronous Dynamic Random Access Memory (ESDRAM), SyncLink Dynamic Random Access Memory (SLDRAM), and Direct Rambus Random Access Memory (DRRAM).The memory 311 described in the embodiments of the present invention is intended to include, but is not limited to, these and any other suitable types of memory.
[0118] The memory 311 in this embodiment of the invention is used to store various types of data to support the operation of the device. Examples of this data include: any computer programs used to operate on the device, such as operating systems and applications; contact data; phonebook data; messages; pictures; videos, etc. The operating system includes various system programs, such as the framework layer, core library layer, driver layer, etc., used to implement various basic services and handle hardware-based tasks. Applications can include various applications, such as media players, browsers, etc., used to implement various application services. Here, the program implementing the method of this embodiment of the invention can be included in the application.
[0119] Based on the same inventive concept as the foregoing embodiments, this embodiment also provides a computer-readable storage medium storing a computer program. The computer-readable storage medium can be a magnetic random access memory (FRAM), a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a flash memory, a magnetic surface memory, an optical disc, or a compact disc read-only memory (CD-ROM), etc.; it can also be various devices including one or any combination of the above-mentioned memories, such as mobile phones, computers, tablet devices, personal digital assistants, etc. When the computer program stored in the computer-readable storage medium is executed by a processor, it implements the above method. For the specific steps implemented when the computer program is executed by the processor, please refer to [link to relevant documentation]. Figure 1 The description of the illustrated embodiments will not be repeated here.
[0120] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0121] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the present invention should be included within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.
Claims
1. An integrated circuit image processing method, characterized in that, include: Obtain the graphics dataset of the integrated circuit's layers from the integrated circuit's graphics data file, wherein the graphics dataset includes all graphics data in the layers; Based on the total number of graphics determined from the graphics dataset, the graphics dataset is divided into at least one set of graphics data groups corresponding to the layer, wherein the total number of graphics is the number of graphics in the layer, and each set of graphics data includes at least one set of graphics data from the layer; Each of the aforementioned graphic data groups is converted into the first image of the corresponding layer; The first bitmaps corresponding to the same layer are merged to obtain the second bitmap; The second bitmap is converted into a pixel map corresponding to the layer.
2. The method according to claim 1, characterized in that, The step of dividing the graphics dataset into at least one set of graphics data corresponding to the layer based on the total number of graphics determined from the graphics dataset includes: Determine whether the total number of the graphics is greater than the first threshold number of graphics; If the total number of graphics is greater than the first graphics number threshold, the graphics dataset is divided into multiple graphics data groups corresponding to the layer according to the first graphics number threshold. If the total number of graphics is less than or equal to the first graphics number threshold, the graphics dataset is divided into a set of graphics data groups corresponding to the layer.
3. The method according to claim 1, characterized in that, The step of converting each of the graphic data groups into the first image corresponding to the layer includes: Add all the graphics data groups of the integrated circuit to the thread created by the thread pool; Each thread will convert each of the graphics data groups added to the integrated circuit into the first bitmap corresponding to the layer.
4. The method according to claim 1, characterized in that, The step of converting each of the graphic data groups into the first image corresponding to the layer includes: First position information is obtained from each of the graphic data groups of the integrated circuit, wherein the first position information is the planar position information of the graphic represented by the graphic data in the corresponding layer; Determine second location information corresponding to each of the first location information, wherein the second location information is the location information of the graphic represented by the graphic data in the first bitmap corresponding to the layer; The first bitmap corresponding to the second position information is assigned a first preset value, and the bits of the first bitmap other than those corresponding to the second position information are assigned a second preset value, wherein the first preset value indicates that the bit has a graphic, and the second preset value indicates that the bit does not have a graphic.
5. The method according to claim 1, characterized in that, The step of merging all the first bitmaps corresponding to the same layer to obtain the second bitmap includes: Based on the position of each first bitmap corresponding to the same layer in the layer, bitwise operations are performed on all first bitmaps corresponding to the same layer to obtain a second bitmap that records the outlines of all graphics in the same layer.
6. The method according to claim 1, characterized in that, The step of converting the second bitmap into a pixel map corresponding to the layer includes: Create a texture bitmap based on the received texture fill instruction corresponding to the layer; By fusing the texture bitmap and the second bitmap corresponding to the same layer, a texture fusion bitmap is obtained; The texture blending bitmap is converted into a pixel map corresponding to the layer.
7. The method according to claim 6, characterized in that, The step of converting the texture blending bitmap into a pixel map corresponding to the layer includes: Based on the received color configuration instruction corresponding to the layer, the positions with graphics in the texture fusion bitmap are drawn with the colors indicated by the color configuration instruction to obtain the pixel map corresponding to the layer.
8. The method according to claim 7, characterized in that, The method further includes: Based on the received layer display instruction, the pixel image of the layer indicated by the layer display instruction is displayed to obtain the target pixel image; The target pixel image is output and displayed on the display interface.
9. An electronic device comprising a memory and a processor, characterized in that, The memory stores a computer program, and the processor is configured to run the computer program to perform the method of any one of claims 1 to 8.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 8.