Mask data processing method and apparatus

By parsing and storing the parameter information of the mask data file, the problem of inconvenient mask data format conversion is solved, and efficient and convenient mask data processing is achieved.

CN116542915BActive Publication Date: 2025-11-28DONGFANG JINGYUAN ELECTRON LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310405732.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-04-17
Publication Date
2025-11-28
Estimated Expiration
2043-04-17

AI Technical Summary

Technical Problem

In existing technologies, the various formats of mask data cannot be effectively converted, resulting in inconvenient processing, low efficiency, and low accuracy.

Method used

By parsing mask data files of various formats, the parameter information of all image units on the mask is obtained and stored in the data units in memory, supporting window display, transformation and measurement operations.

Benefits of technology

It enables efficient processing of mask data files in various formats, improves the convenience and accuracy of processing, reduces the amount of data processed, and saves time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116542915B_ABST
    Figure CN116542915B_ABST
Patent Text Reader

Abstract

The application provides a mask data processing method and device, and relates to the field of data processing. The method comprises the following steps: in response to receiving a mask data processing request, obtaining mask data files in multiple formats to be processed; analyzing the mask data files in the multiple formats respectively to determine parameter information of all image units on the mask, wherein the parameter information comprises coordinate point information, resolution and hierarchical information; and storing the parameter information of all the image units on the mask into corresponding data units in the memory. Thus, by analyzing the mask data files in multiple formats, the parameter information of all the image units on the mask can be obtained, which can be then stored into corresponding data units. Subsequently, data can be obtained from the data units for processing, so that the processing of the mask data files in multiple formats is realized, and the efficiency and convenience of the mask data file processing are improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of data processing, and in particular, to a mask data processing method and device. BACKGROUND

[0002] With the development of the semiconductor industry, in the chip manufacturing process, due to the possible optical edge correction, phase shift mask, resolution enhancement and pattern fracturing, etc., the mask data involved in the chip manufacturing process is also increasingly complex.

[0003] In the related art, due to the fact that mask data can have multiple formats, mask data in multiple formats can not be converted, resulting in great inconvenience in processing mask data. Therefore, how to improve the convenience of processing mask data is crucial. SUMMARY

[0004] The present application provides a mask data processing method and device to solve the technical problem of low efficiency and low accuracy in processing and evaluating mask data by manual means in the prior art.

[0005] According to a first aspect of the present application, a mask data processing method is provided, which comprises: in response to receiving a mask data processing request, obtaining mask data files in multiple formats to be processed; parsing the mask data files in multiple formats respectively to determine the parameter information of all image units on the mask, wherein the parameter information includes coordinate point information, resolution and level information; and storing the parameter information of all image units on the mask into the corresponding data unit in the memory.

[0006] In some embodiments, after storing the parameter information of all image units on the mask into the corresponding data unit in the memory, the method further comprises: in response to receiving a window display instruction, determining a window position to be displayed; based on the window position to be displayed and the coordinate point information in the image unit, determining a target image unit having a coincidence relationship with the window position; and displaying the target image unit.

[0007] In some embodiments, the method further comprises: in response to receiving a window display instruction, determining a window position to be displayed; based on the window position to be displayed and the coordinate point information in the image unit, determining a target image unit having a coincidence relationship with the window position; and displaying the target image unit.

[0008] In some embodiments, the determining the target image unit having the overlapping relationship with the window position based on the window position to be displayed and the coordinate point information in the image unit comprises: determining a corresponding scanning region and position information corresponding to each scanning line in the scanning region based on the window position; determining a target image region in the data unit based on the scanning region; and traversing the target image region based on the position information corresponding to each scanning line to determine the target image unit having the overlapping relationship with the position information corresponding to the scanning line.

[0009] In some embodiments, after the determining the target image unit having the overlapping relationship with the window position based on the window position to be displayed and the coordinate point information in the image unit, the method further comprises: in a case where a window transformation instruction is received, transforming the currently displayed window based on the window transformation instruction, wherein the window transformation instruction comprises scaling information, mirroring information, translation information, or rotation information.

[0010] In some embodiments, the displaying the target image unit comprises: obtaining a center point coordinate of the window to be displayed; and displaying the target image unit and the center point coordinate.

[0011] In some embodiments, after the displaying the target image unit, the processing method further comprises: in response to receiving a measurement instruction, determining a measurement line and a first frame corresponding to the measurement line based on measurement parameters contained in the measurement instruction, wherein the measurement parameters comprise a measurement point coordinate and a measurement direction; determining a second frame corresponding to a group of image units based on the image units in the data unit, wherein any group of image units comprises at least one image unit; in a case where the first frame intersects any second frame, determining a third frame corresponding to each image unit in the group of image units corresponding to the any second frame; in a case where the first frame intersects at least one third frame, determining an intersection point between the measurement line and the image unit corresponding to the at least one third frame; determining two intersection points closest to the measurement point and located on both sides of the measurement point as target points; and displaying a target line segment formed by the target points.

[0012] According to a second aspect of the present application, a device for processing mask data is provided, comprising: an acquisition module configured to acquire mask data files in multiple formats to be processed in response to receiving a mask data processing request; a parsing module configured to parse the mask data files in the multiple formats respectively to determine parameter information of all image units on the mask, wherein the parameter information comprises coordinate point information, resolution and level information; and a storage module configured to store the parameter information of all image units on the mask into corresponding data units in a memory.

[0013] In some embodiments, the device further comprises: a first determination module configured to determine a window position to be displayed in response to receiving a window display instruction; a second determination module configured to determine a target image unit having a coincidence relationship with the window position based on the window position to be displayed and coordinate point information in the image units; and a display module configured to display the target image unit.

[0014] In some embodiments, the first determination module is specifically configured to determine the window position to be displayed based on received window display instruction information in a case where a control associated with a window is detected to be triggered, wherein the window display instruction information comprises a center point coordinate and a window size value.

[0015] In some embodiments, the second determination module is specifically configured to: determine a corresponding scanning area and position information corresponding to each scanning line in the scanning area based on the window position; determine a target graphic area in the data unit based on the scanning area; and traverse the target graphic area based on the position information corresponding to each scanning line to determine a target image unit having a coincidence relationship with the position information corresponding to the scanning line.

[0016] In some embodiments, the device further comprises a transformation module configured to transform a currently displayed window based on a window transformation instruction in a case where the window transformation instruction is received, wherein the window transformation instruction comprises scaling information, mirroring information, translation information or rotation information.

[0017] In some embodiments, the display module is specifically configured to: acquire a center point coordinate of a window to be displayed; and display the target image unit and the center point coordinate.

[0018] In some embodiments, the first determining module is further configured to, in response to receiving the measurement instruction, determine a measurement line and a first frame corresponding to the measurement line based on measurement parameters contained in the measurement instruction, wherein the measurement parameters include a measurement point coordinate and a measurement direction; the first determining module is further configured to determine a second frame corresponding to a group of image units based on the image units in the data unit, wherein any group of image units contains at least one image unit; the first determining module is further configured to, in a case where the first frame intersects any second frame, determine a third frame corresponding to each image unit in the group of image units corresponding to the any second frame; the first determining module is further configured to, in a case where the first frame intersects at least one third frame, determine an intersection point between the measurement line and image units corresponding to the at least one third frame; the first determining module is further configured to determine two intersection points closest to the measurement point and located on both sides of the measurement point as target points from the intersection points; and the display module is further configured to display a target line segment formed by the target points.

[0019] According to a third aspect of the present application, an electronic device is provided, which comprises a processor and a memory storing computer program instructions; the processor implements any of the above-mentioned mask data processing methods when executing the computer program instructions.

[0020] According to a fourth aspect of the present application, a computer readable storage medium is provided, which stores computer program instructions; the computer program instructions are executed by a processor to implement any of the above-mentioned mask data processing methods.

[0021] In summary, the mask data processing method and device provided by the present application have at least the following beneficial effects:

[0022] The mask data processing method provided by the present application comprises the following steps: in response to receiving a mask data processing request, a plurality of formats of mask data files to be processed are acquired, then the plurality of formats of mask data files are parsed respectively to determine parameter information of all image units on a mask, wherein the parameter information includes coordinate point information, resolution and level information, and then the parameter information of all image units on the mask is stored in corresponding data units in the memory. Thus, by parsing the plurality of formats of mask data files, the parameter information of all image units on the mask can be acquired, which can be stored in corresponding data units, and data can be acquired from the data units for subsequent processing, thereby realizing processing of the plurality of formats of mask data files, and improving the efficiency and convenience of mask data file processing. BRIEF DESCRIPTION OF DRAWINGS

[0023] In order to more clearly illustrate the technical solutions in the specific embodiments or the prior art, the following will briefly introduce the drawings needed to be used in the specific embodiments or the prior art description. Obviously, the drawings in the following description are some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative effort on the basis of these drawings.

[0024] Figure 1 A flow chart of a mask data processing method provided for an embodiment of the present application;

[0025] Figure 2 A flow chart of a mask data processing method provided for an embodiment of the present application;

[0026] Figure 3 An interface schematic diagram of a window provided for an embodiment of the present application;

[0027] Figure 4 A flow chart of a mask data processing method provided for an embodiment of the present application;

[0028] Figure 5 An interface schematic diagram of a window to be displayed provided for an embodiment of the present application;

[0029] Figure 6 An interface schematic diagram of a currently displayed window provided for an embodiment of the present application;

[0030] Figure 7 An interface schematic diagram of a current window provided for an embodiment of the present application;

[0031] Figure 8 An interface schematic diagram of a current window provided for an embodiment of the present application;

[0032] Figure 9 A flow chart of a mask data processing method provided for an embodiment of the present application;

[0033] Figure 10 An interface schematic diagram of a current window provided for an embodiment of the present application;

[0034] Figure 11 A flow chart of a mask data processing process provided for an embodiment of the present application;

[0035] Figure 12 A structural diagram of a mask data processing device provided for an embodiment of the present application;

[0036] Figure 13 A structural diagram of an electronic device provided for an embodiment of the present application. DETAILED DESCRIPTION

[0037] In order to make the above and other features and advantages of the present application more comprehensible, the present application is further described below with reference to the drawings. It should be understood that the specific embodiments given herein are intended for explanatory purposes only and are not intended to limit the present application.

[0038] In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present application. It will be apparent, however, to one skilled in the art that the specific embodiments need not be practiced in the manner described, but rather the principles of the present application can be practiced with other embodiments. In other instances, well-known steps or operations have not been described in detail in order to not unnecessarily obscure the present application.

[0039] The method for processing mask data provided by the embodiments of the present application can be executed by the device for processing mask data provided by the embodiments of the present application, and the device can be configured in an electronic device.

[0040] Reference Figure 1 The present application provides a method for processing mask data, which comprises:

[0041] In step 101, in response to receiving a mask data processing request, a plurality of formats of mask data files to be processed are acquired.

[0042] Generally, mask data can have multiple formats, only specific processing platforms can process mask data in specific formats, and multiple formats of mask data cannot be converted, resulting in great inconvenience in processing mask data. Therefore, in the embodiments of the present application, when a mask data processing request is received, the processing request is analyzed to acquire a plurality of formats of mask data files to be processed, and then processing operations can be performed on the plurality of formats of mask data files.

[0043] It can be understood that the mask data processing request can include a plurality of mask data files, which can be different formats of data files, or some of which can be the same format and some of which can be different formats, etc., or there can be data files processed by graphic fracturing, etc., which are not limited by the present application.

[0044] In addition, the format of the mask data file can be multiple, such as OASIS, GDSII, manufacturing electron beam engraving system MEBES, etc., or any other storable file format, etc., which are not limited by the present application.

[0045] In step 102, the plurality of formats of mask data files are analyzed respectively to determine the parameter information of all image units on the mask, wherein the parameter information includes coordinate point information, resolution and level information.

[0046] The obtained multiple formats of mask data files to be processed can be data files corresponding to the same mask layer, such as data files of different positions in the same mask layer, or can be data files corresponding to different mask layers, and the application does not limit this.

[0047] In addition, the parameter information can be coordinate point information in the image unit, and the resolution and the hierarchical information of the image unit. For example, by analyzing the mask data file 1, it is determined that it corresponds to the mask layer 1; by analyzing the mask data file 2, it is determined that it corresponds to the mask layer 2; by analyzing the mask data file 3, it is determined that it corresponds to the mask layer 3, and the application does not limit this.

[0048] In addition, the coordinate point information in the image unit can include the coordinates of each point, or can include the relationship between each point, such as including the parent node, root node, leaf node, etc. corresponding to a node, or can be the next node having a connection relationship with a node, and the application does not limit this.

[0049] In addition, the resolution is a description of the finest line precision that can be achieved by the lithography process, and the resolution of lithography can be limited by the diffraction of the light source, so it has a certain relationship with the light source, the lithography system, the photoresist and the process, and thus the resolution of the image unit can also be included in the parameter information in the application.

[0050] Step 103, storing the parameter information of all image units on the mask into the corresponding data unit in the memory.

[0051] It can be understood that since the multiple formats of mask data files to be processed belong to the same chip, they can correspond to the same mask layer, or can correspond to different mask layers, and then the multiple mask data files can be analyzed respectively, and then all image units on the mask obtained by analysis can be stored in the corresponding data unit in the memory.

[0052] Optionally, since the formats of the multiple mask data files can not be exactly the same, after analyzing the multiple mask data files and obtaining the parameter information of the image units corresponding to each mask data, the image units can be summarized according to the hierarchical information of each image unit, and then the summarized image units can be stored in a corresponding data unit in the memory according to the coordinate order, and the application does not limit this.

[0053] It can be understood that, since the formats of the mask data files can be different, the parameter information obtained by parsing the mask data files can also be different in format. In order to realize processing of mask data files of various formats, if a parameter corresponds to different formats, the parameter can be unified in format, such as being converted into a parameter format in a mask data file, or a specified parameter format, and the like, which is not limited in the present application.

[0054] For example, by parsing the mask data file 1, it is determined that the corresponding hierarchical division parameter is layer / datatype, by parsing the mask data file 2, it is determined that the corresponding hierarchical division parameter is level, and by parsing the mask data file 3, it is determined that the corresponding hierarchical division parameter is layer / datatype. Then, the "level" part in the mask data file 2 can be converted into "layer / datatype", or the hierarchical representation in the above mask data files 1, 2 and 3 can be replaced by a new parameter, and the like, which is not limited in the present application.

[0055] Optionally, when storing all image units on the mask in the data unit, the image units can be stored in sequence according to the coordinate point information of each image unit. For example, a plurality of sub-units can be divided in the data unit in advance, and a corresponding relationship between each sub-unit and a coordinate region is set. Then, the image units can be stored in different sub-units in the data unit in sequence according to the coordinate point information and the corresponding relationship.

[0056] Therefore, in the embodiment of the present application, after the parameter information of all image units on the mask is parsed, the parameter information of all image units can be processed and stored in the corresponding data unit in the memory. Then, when the image units need to be processed subsequently, the corresponding data can be directly obtained from the data unit, so that processing of mask data files of various formats is realized, and the efficiency and convenience of processing of mask data files are improved.

[0057] The embodiment of the application can acquire the mask data files in multiple formats to be processed in response to receiving the mask data processing request, and then can parse the mask data files in multiple formats respectively to determine the parameter information of all image units on the mask, wherein the parameter information includes coordinate point information, resolution and hierarchical information, and then can store the parameter information of all image units on the mask into the corresponding data units in the memory. Thus, by parsing the mask data files in multiple formats, the parameter information of all image units on the mask can be acquired, and then can be stored into the corresponding data units, and the data can be acquired from the data units for processing subsequently, so that the processing of the mask data files in multiple formats is realized, and the efficiency and convenience of the mask data file processing are improved.

[0058] As shown in Figure 2 The mask data processing method can include the following steps:

[0059] Step 201, in response to receiving a window display instruction, determining the position of the window to be displayed.

[0060] The window display instruction can be any form of instruction, such as control form, voice form, etc., which is not limited by the application.

[0061] It can be understood that the vertex coordinate information can be included in the window display instruction, so that by parsing the window display instruction, the position of the window to be displayed can be determined based on the acquired vertex coordinate, etc., which is not limited by the application.

[0062] Optionally, in the case that the control associated with the window is triggered, the position of the window to be displayed can be determined based on the received window display instruction information, wherein the window display instruction information includes the center point coordinate and the window size value.

[0063] The center point coordinate can be the center point coordinate corresponding to the window to be displayed, and the window size value can be used to represent the size of the window to be displayed, etc., which is not limited by the application.

[0064] Optionally, the window display instruction can further include shape attribute of the window to be displayed, such as rectangle, circle, etc. For example, by analyzing the window display instruction, it is determined that the center point coordinate is (100, 100), the window size is 1200, and the shape attribute is circle. Then, the window to be displayed can be a circular window with (100, 100) as the center and 1200 as the size. Alternatively, if it is determined by analyzing the window display instruction that the center point coordinate is (100, 100), the window size is 1100, and the shape attribute is rectangle, then the window to be displayed can be a rectangular window with (100, 100) as the center point and 1100 as the height, etc. The present application does not limit this. Optionally, the width information of the window to be displayed can be set in advance or adjusted as needed, such as 1000 configured in advance, or the entire range of the screen that can be displayed, etc. The present application does not limit this.

[0065] It can be understood that in the embodiment of the present application, after storing the parameter information of all image units on the mask in the corresponding data unit in the memory, if a subsequent operation request for processing the image units is received, the image units stored in the data unit can be directly processed, thereby realizing the processing of mask data in multiple formats and improving the efficiency of mask data processing.

[0066] In step 202, based on the position of the window to be displayed and the coordinate point information in the image unit, the target image unit having the overlapping relationship with the window position is determined.

[0067] Since all image units on the mask are stored in the data unit, the number of image units is large. Therefore, after receiving the window display instruction, only the target image unit having the overlapping relationship with the window position can be displayed based on the window display instruction, thereby reducing the amount of data to be rendered and processed, improving the data processing efficiency, and saving time.

[0068] In addition, the image unit having the overlapping relationship with the window position can be understood as at least one coordinate point in the image unit falling within the window position, i.e., the image unit is considered to have the overlapping relationship with the window position.

[0069] For example, for a certain image unit, if all coordinate points thereof are located inside the window position, it can be considered that the image unit has the overlapping relationship with the window position. Alternatively, if part of the coordinate points in a certain image unit are located inside the window position, it can be considered that the image unit has the overlapping relationship with the window position, etc. The present application does not limit this.

[0070] For example, in a case where the width of the window to be displayed is the width of the screen, if the window to be displayed has a center point of (100, 100) and a height of 1000, at this time, the image units in the data unit can be searched based on the position information corresponding to the window to be displayed, and the image units whose coordinate points fall within the window to be displayed are determined as target image units, and the like, which are not limited in the present application.

[0071] In step 203, the target image unit is displayed.

[0072] It can be understood that, after the target image unit is determined by searching the coordinate points of the image units stored in the data unit based on the position of the window to be displayed, the determined target image unit can be displayed in the window. Since the target image unit to be displayed is only the part of the image units that overlap with the window position, the data involved in the rendering and display is less, and the amount of data to be processed is also less, thereby greatly improving the data processing efficiency and saving time.

[0073] Optionally, the center point coordinate of the window to be displayed can be obtained first, and then the target image unit and the center point coordinate can be displayed.

[0074] The center point coordinate of the window to be displayed can be determined by analyzing the received window display instruction, and then the center point coordinate can be added to the corresponding position when the target image unit is displayed. For example, as shown in part (a) of FIG. 10, the center point coordinate of the window to be displayed is (1000, 1000), and when the target image unit is displayed, the interface of the display window can be as shown in part (b) of FIG. 10. Figure 3 Figure 3

[0075] It should be noted that the above examples are only illustrative and cannot be used as a limitation on the center point coordinate of the window to be displayed and the target image unit in the embodiments of the present application.

[0076] In the embodiments of the present application, after receiving the window display instruction, the position of the window to be displayed can be determined, and then the target image unit having an overlapping relationship with the window position can be determined based on the position of the window to be displayed and the coordinate point information of the image units in the data unit, and then the target image unit can be displayed. Thus, after the position of the window to be displayed is determined, the target image unit can be determined by searching the image units stored in the data unit, and then the target image unit can be displayed, that is, only the target image unit having an overlapping relationship with the window position is rendered and processed, the data involved is less, and the amount of data to be processed is also less, thereby greatly improving the data processing efficiency and saving time.

[0077] As shown in FIG. 11, the window display instruction can be received in step 201, and the position of the window to be displayed can be determined in step 202.​​Figure 4 The method for processing the mask data can include the following steps:

[0078] In step 401, in response to receiving the window display instruction, the position of the window to be displayed is determined.

[0079] In step 402, based on the position of the window to be displayed, the corresponding scanning area and the position information corresponding to each scanning line in the scanning area are determined.

[0080] The position of the window to be displayed can be determined as the corresponding scanning area, and then the scanning area can be divided into a plurality of scanning lines from top to bottom and with a length of the window frame.

[0081] The number of scanning lines can be preset, such as 10, 15, etc., or can be adjusted according to the size of the scanning area, such as a larger number of scanning lines when the size of the scanning area is larger, a smaller number of scanning lines when the size of the window to be displayed is smaller, etc., which is not limited in the present application.

[0082] In step 403, based on the scanning area, the target graphic area in the data unit is determined.

[0083] Optionally, when all image units on the mask are stored in the data unit, they can be stored in sequence according to the coordinate point information of each image unit. For example, a plurality of sub-units can be divided in the data unit in advance, and the corresponding relationship between each sub-unit and the coordinate area is set, and then the image units can be stored in different sub-units in the data unit according to the coordinate point information. Thus, in the present application, after the scanning area is determined, the corresponding target graphic area can be determined by searching in the data unit based on the scanning area and the corresponding relationship.

[0084] In step 404, based on the position information corresponding to each scanning line, the target image unit with overlapping position information corresponding to the scanning line is determined by traversing the target graphic area.

[0085] It can be understood that after the target graphic area is determined in the data unit, the target image unit can be determined by traversing only the target graphic area based on the position information corresponding to each scanning line, without traversing all graphic areas in the data unit, thereby greatly reducing the amount of data to be processed, improving the data processing efficiency, and saving time.

[0086] In step 405, the target image unit is displayed.

[0087] Optionally, when the target image unit is displayed, the corresponding scanning line, the coordinates of each vertex in the target image unit, etc. can also be displayed, which is not limited in the present application.

[0088] For example, the window interface to be displayed can be as shown in Figure 5 It can be seen that there are 9 scanning lines in total and 6 vertices, and the coordinates of the vertices can also be shown in the diagram, and the present application does not limit this. Figure 5

[0089] It should be noted that Figure 5 The window picture in (a) is only illustrative and cannot be used as a limitation on the number of scanning lines, coordinates, size and position of the image unit, etc. in the present application.

[0090] Optionally, upon receiving a window transformation instruction, the currently displayed window can be transformed based on window change instruction information, wherein the window transformation instruction information includes scaling information, mirroring information, translation information or rotation information.

[0091] For example, if the currently displayed window is as shown in (a) of Figure 6 If the received window transformation instruction is analyzed and it is determined that the current transformation instruction is "scaling to 0.5 times the original", the transformed window can be as shown in (b) of Figure 6 Alternatively, if the received window transformation instruction is analyzed and it is determined that the current transformation instruction is "translation of 2 units in the positive direction of the X axis", the transformed window can be as shown in (c) of Figure 6 Alternatively, if the received window transformation instruction is analyzed and it is determined that the current transformation instruction is "clockwise rotation of 90°", the transformed window can be as shown in (d) of Figure 6 .

[0092] It should be noted that the above examples are only illustrative and cannot be used as a limitation on the specific style, display content, etc. of the window transformation instruction and the display window in the embodiments of the present application.

[0093] Optionally, the image unit in the display window can also be operated according to the received image unit transformation instruction.

[0094] The image unit transformation instruction can be an operation instruction triggered by the user, and the transformation parameters contained therein can be determined by analyzing the received image unit transformation instruction, and then the image unit in the display window can be operated according to the transformation parameters.

[0095] It can be understood that the transformation operation on the image unit can be one of mirroring, rotation, scaling and translation, or multiple operations, etc. and the present application does not limit this.

[0096] ​For example, when receiving the image unit transformation instruction, if the display interface is as shown in Figure 7 , it can be determined by parsing that the current transformation parameter is R90, i.e., "counterclockwise rotation by 90°". If the image unit currently displayed by the window is as shown in Figure 8 (a), after "counterclockwise rotation by 90°", the image unit displayed by the window can be as shown in Figure 8 (b).

[0097] It can be understood that, for the sake of convenience, "R0" can also be used to represent keeping original, "R90" can be used to represent counterclockwise rotation by 90°, "R180" can be used to represent counterclockwise rotation by 180°, and "R270" can be used to represent counterclockwise rotation by 270°. "m0" can be used to represent flipping based on the X axis, "m45" can be used to represent flipping based on the Y axis after counterclockwise rotation by 90°, "m90" can be used to represent flipping based on the X axis after counterclockwise rotation by 180°, and "m90" can be used to represent flipping based on the Y axis after counterclockwise rotation by 90°, and the like, which are not limited in the present application.

[0098] In the embodiments of the present application, the window position to be displayed can be determined in response to receiving the window display instruction, and then the corresponding scanning area and the position information corresponding to each scanning line in the scanning area can be determined based on the window position to be displayed. Then, the target graphic area in the data unit can be determined based on the scanning area, and then the target image unit with the position information corresponding to the scanning line is determined by traversing the target graphic area based on the position information corresponding to each scanning line, and the target image unit is displayed. Thus, after the window position to be displayed is determined, the corresponding scanning area and the corresponding position of the scanning line are determined first, and then the target graphic area is determined based on the scanning area. By traversing the image unit in the target graphic area, the target image unit can be determined and displayed, i.e., only the target image unit in the target graphic area that overlaps with the scanning line is rendered and processed, the data involved is less, and the amount of data to be processed is also less, thereby greatly improving the data processing efficiency and saving time.

[0099] As shown in Figure 9 , the method for processing mask data can include the following steps:

[0100] Step 901, in response to receiving a measurement instruction, determining a measurement line and a first frame corresponding to the measurement line based on measurement parameters contained in the measurement instruction.

[0101] The measurement parameter can include measurement point coordinates and measurement direction. The measurement parameter can be user input data. The measurement point coordinates and measurement direction contained in the measurement instruction can be obtained by analyzing the received measurement instruction. Then, a measurement line can be formed by emitting a ray from the measurement point to the measurement direction. Then, a matrix can be constructed with the measurement line as a diagonal line, and a corresponding first frame can be obtained. The length of the measurement line can be preset or input by the user, and the present application does not limit this.

[0102] In addition, the measurement point can be one or multiple. If there are multiple measurement points, the measurement direction corresponding to each measurement point can be the same or different, and the present application does not limit this.

[0103] Step 902, determining a second frame corresponding to an image unit group based on the image units in the data unit, wherein any image unit group contains at least one image unit.

[0104] The image unit group can contain one image unit or multiple image units. The image unit group to which each image unit belongs can be determined by analyzing the image units in the data unit. Alternatively, the image unit groups can be determined by analyzing the parameters at specific positions in the data unit, and the present application does not limit this.

[0105] In addition, the second frame corresponding to the image unit group can be understood as a regular polygon frame in which all image units in the image unit group fall, such as a rectangular frame, and the present application does not limit this.

[0106] Step 903, determining a third frame corresponding to each image unit in the image unit group corresponding to any second frame when the first frame intersects with any second frame.

[0107] For example, there are three image unit groups, and the first frame corresponding to the measurement line intersects with the second image unit group. Then, the third frame corresponding to each image unit in the second image unit group can be further determined. The third frame can include a rectangular frame containing the image unit, and the image unit can fall within the rectangular frame, and the present application does not limit this.

[0108] Step 904, determining the intersection point between the measurement line and at least one image unit when the first frame intersects with at least one third frame.

[0109] Step 905, determining the two intersection points closest to the measurement point and located on both sides of the measurement point as target points.

[0110] The first border can intersect with a third border or can intersect with multiple third borders, and then the intersection image units corresponding to the third borders intersecting with the first border can be determined, and then the intersection points between the measuring line and the intersection image units can be determined. Since there can be multiple intersection points, the positional relationship between the intersection points and the measuring point can be further determined, such as determining the distance between the intersection points and the measuring point by comparing the difference between the coordinates of the intersection points and the coordinates of the measuring point. Then, the two intersection points closest to the measuring point and located on both sides of the measuring point can be determined as the target points.

[0111] Therefore, in the embodiment of the present application, when measuring, the intersecting second border can be determined by using the positional relationship between the first border corresponding to the measuring line and the second border corresponding to each image unit group, thereby narrowing the range. Then the intersecting third border can be determined from the second border, and the intersection points between the measuring line and each image unit are further determined. Based on the positional relationship between the intersection points and the measuring point, the target points can be quickly determined, that is, the target points can be quickly determined from the intersecting borders by the border intersection principle, avoiding the repeated recursive process of the measuring line in the large-scale mask layout, thereby greatly improving the speed of data processing and saving time.

[0112] Step 906, the target line segment formed by the target points is displayed.

[0113] It can be understood that after the target points are determined, the two target points can be connected to form a target line segment, that is, the distance between the two target points and the two image units is measured, and then the target line segment can be displayed, that is, the measurement result is displayed on the interface, so that the display of the measurement result is more concise and clear, and then the user can clearly and clearly know the measurement result.

[0114] For example, in the case of measuring direction X axis, the display interface after determining the target line segment can be as shown in (a) part of Figure 10 , and the dashed line part is the target line segment. In the case of measuring direction 135°, the display interface after determining the target line segment can be as shown in (b) part of Figure 10 , and the dashed line part is the target line segment.

[0115] Optionally, if the measuring direction is the coordinate axis, the corresponding first border can also be itself, and the present application does not limit this.

[0116] It should be noted that Figure 10 the measuring point, the measuring direction, the number, size and position of the image unit are only illustrative and cannot be used as a limitation on the determination and display of the target line segment in the embodiment of the present application.

[0117] Therefore, in the embodiment of the present application, when measuring, the target point can be quickly determined through the frame intersection principle, and the measurement is realized based on the target line segment formed by the target point, thereby avoiding the repeated recursive process of the measurement line in the large-scale mask layout, greatly improving the speed of data processing, saving time, and improving the efficiency of mask data measurement.

[0118] It can be understood that the mask data processing method provided by the present application can be applied to any format of mask data file. The following will be described in combination with Figure 11 The mask data processing process provided by the present application will be described in detail.

[0119] It can be understood that the mask data processing method provided by the present application can be applied to any format of mask data file. The following will be described in combination with Figure 11 It can be understood that the mask data processing method provided by the present application can be applied to any format of mask data file. The following will be described in combination with

[0120] If the first frame intersects with the current second frame, it can be further determined whether there is a smaller image unit group in the image unit group corresponding to the second frame. If there is a smaller image unit group, it can be switched to the smaller image unit group.

[0121] If there is no smaller image unit group in the image unit group corresponding to the second frame, each image unit in the second frame can be traversed, and the third frame of each image unit can be determined. Then the first frame and each third frame can be matched to determine whether each third frame intersects with the first frame. If there is a third frame that intersects with the first frame, the intersection points between the measurement line and each image unit can be further obtained, and the intersection points can be stored in the container R. If there are two or more intersection points in the container and distributed on both sides of the measurement point, the two intersection points closest to the measurement point and located on both sides of the measurement point can be determined as the target point, and then the target point can be output to the automatic measurement dialog box. If there are no two or more intersection points in the container and distributed on both sides of the measurement point, the current measurement is ended.

[0122] It should be noted that the above examples are only illustrative and cannot be used as a limitation on the process and method of processing mask data in the embodiment of the present application.

[0123] In the embodiments of the present application, in response to receiving a measurement instruction, a measurement line and a first frame corresponding to the measurement line can be determined based on measurement parameters contained in the measurement instruction. Then, a second frame corresponding to an image unit group can be determined based on an image unit in a data unit, wherein any image unit group contains at least one image unit. In the case where the first frame intersects with any second frame, a third frame corresponding to each image unit in the image unit group corresponding to any second frame can be determined. In the case where the first frame intersects with at least one third frame, an intersection point between the measurement line and the image unit corresponding to at least one intersecting third frame can be determined. Then, two intersection points closest to a measurement point and located on both sides of the measurement point can be determined as target points, and a target line segment formed by the target points can be displayed. Thus, when measuring, the intersecting second frame can be determined by using the positional relationship between the first frame corresponding to the measurement line and the second frame corresponding to each image unit group. Then, the intersecting third frame can be determined from the intersecting second frame. The target points can be determined based on the positional relationship between the intersection points and the measurement point. That is, the target points can be determined relatively quickly by the frame intersection principle, and the process of repeatedly and recursively measuring the measurement line in a large mask layout is avoided, thereby greatly improving the speed of data processing, saving time, and improving the efficiency of mask data measurement.

[0124] According to the present application, a mask data processing device is provided, as shown in Figure 12 The device includes an acquisition module 1210, an analysis module 1220, and a storage module 1230.

[0125] The acquisition module 1210 is configured to acquire a plurality of mask data files in different formats to be processed in response to receiving a mask data processing request. The analysis module 1220 is configured to analyze the plurality of mask data files in different formats to determine parameter information of all image units on the mask, wherein the parameter information includes coordinate point information, resolution, and level information. The storage module 1230 is configured to store the parameter information of all image units on the mask in corresponding data units in the memory.

[0126] In some embodiments, the device further includes a first determination module configured to determine a window position to be displayed in response to receiving a window display instruction, a second determination module configured to determine a target image unit having a coincidence relationship with the window position based on the window position to be displayed and the coordinate point information in the image unit, and a display module configured to display the target image unit.

[0127] In some embodiments, the first determining module is specifically configured to determine the position of the window to be displayed based on the received window display instruction information in a case where it is detected that the control associated with the window is triggered, wherein the window display instruction information comprises a center point coordinate and a window size value.

[0128] In some embodiments, the second determining module is specifically configured to determine a corresponding scanning area and position information corresponding to each scanning line in the scanning area based on the position of the window, determine a target image area in the data unit based on the scanning area, and traverse the target image area based on the position information corresponding to each scanning line to determine a target image unit that overlaps with the position information corresponding to the scanning line.

[0129] In some embodiments, the apparatus further comprises a transforming module configured to transform a currently displayed window based on a window transforming instruction in a case where the window transforming instruction is received, wherein the window transforming instruction comprises scaling information, mirror information, translation information or rotation information.

[0130] In some embodiments, the displaying module is specifically configured to obtain a center point coordinate of the window to be displayed, and display the target image unit and the center point coordinate.

[0131] In some embodiments, the first determining module is further configured to determine a measurement line and a first border corresponding to the measurement line based on measurement parameters contained in a measurement instruction in response to receiving the measurement instruction, wherein the measurement parameters comprise a measurement point coordinate and a measurement direction, determine a second border corresponding to an image unit group based on image units in the data unit, wherein any image unit group comprises at least one image unit, determine a third border corresponding to each image unit in the image unit group corresponding to any second border in a case where the first border intersects with the any second border, determine an intersection point between the measurement line and an image unit corresponding to at least one third border in a case where the first border intersects with the at least one third border, determine two intersection points closest to the measurement point and located on both sides of the measurement point from the intersection points as target points, and the displaying module is further configured to display a target line segment formed by the target points.

[0132] The mask data processing apparatus provided in the application can acquire mask data files in multiple formats to be processed in response to receiving a mask data processing request, and then can parse the mask data files in multiple formats respectively to determine parameter information of all image units on the mask, wherein the parameter information includes coordinate point information, resolution and hierarchical information, and then can store the parameter information of all image units on the mask into corresponding data units in the memory. Thus, by parsing the mask data files in multiple formats, the parameter information of all image units on the mask can be acquired, and then can be stored into corresponding data units, and subsequently data can be acquired from the data units for processing, so that the processing of mask data files in multiple formats is realized, and the efficiency and convenience of mask data file processing are improved.

[0133] It should be understood that the specific features, operations and details described above with respect to the method of the application can be similarly applied to the device and system of the application, or vice versa. In addition, each step of the method of the application described above can be performed by the corresponding components or units of the device or system of the application.

[0134] It should be understood that each module / unit of the device of the application can be realized by software, hardware, firmware or a combination thereof, in whole or in part. Each module / unit can be embedded in a processor of an electronic device in hardware or firmware form, or independent of the processor, or in software form stored in a memory of the electronic device for calling by the processor to perform the operations of each module / unit. Each module / unit can be realized as an independent component or module, or two or more modules / units can be realized as a single component or module.

[0135] As shown in Figure 13 The application provides an electronic device 1300, which includes a processor 1301 and a memory 1302 storing computer program instructions. When the processor 1301 executes the computer program instructions, each step of the mask data processing method described above is implemented. The electronic device 1300 can be a server, a terminal or any other electronic device with necessary computing and / or processing capabilities.

[0136] In one embodiment, the electronic device 1300 can include a processor, a memory, a network interface, a communication interface, etc. connected by a system bus. The processor of the electronic device 1300 can be configured to provide necessary computing, processing and / or control capabilities. The memory of the electronic device 1300 can include a non-volatile storage medium and an internal memory. The non-volatile storage medium can store an operating system, a computer program, etc. The internal memory can provide an environment for running of the operating system and the computer program in the non-volatile storage medium. The network interface and the communication interface of the electronic device 1300 can be configured to connect and communicate with external devices through a network. The computer program, when executed by the processor, performs the steps of the method of the present application.

[0137] The present application provides a computer readable storage medium, and the computer readable storage medium stores computer program instructions, and the computer program instructions, when executed by a processor, implement the above-mentioned mask data processing method.

[0138] Those skilled in the art can understand that the steps of the method of the present application can be instructed by a computer program to complete the relevant hardware such as the electronic device 1300 or the processor, and the computer program can be stored in a non-transitory computer readable storage medium, and the computer program, when executed, causes the steps of the present application to be executed. According to the circumstances, any reference to memory, storage or other medium herein can include non-volatile or volatile memory. Examples of non-volatile memory include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, magnetic tape, floppy disk, magneto-optical data storage device, optical data storage device, hard disk, solid state disk, etc. Examples of volatile memory include random access memory (RAM), external cache memory, etc.

[0139] The technical features described above can be combined arbitrarily. Although all possible combinations of the technical features are not described, any combination of the technical features should be considered to be covered by the present description, as long as such a combination does not result in a contradiction.

[0140] Finally, it should be noted that: the above embodiments are only used to illustrate the technical solutions of the present application, and not to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that they can still modify the technical solutions recorded in the foregoing embodiments, or make equivalent replacement for part or all of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the scope of the technical solutions of the embodiments of the present application.

Claims

1. A method for processing mask data, characterized in that, include: In response to receiving a mask data processing request, obtain mask data files in various formats to be processed; The mask data files in various formats are parsed to determine the parameter information of all image units on the mask, wherein the parameter information includes coordinate point information, resolution and layer information; The parameter information of all image units on the mask is stored in the corresponding data units in memory; The method further includes, after storing the parameter information of all image units on the mask into the corresponding data units in memory: In response to receiving a window display command, determine the position of the window to be displayed; Based on the position of the window to be displayed and the coordinate point information in the image unit, a target image unit that overlaps with the position of the window is determined; The target image unit is displayed; The processing method further includes, after displaying the target image unit: In response to receiving a measurement command, a measurement line and a first border corresponding to the measurement line are determined based on the measurement parameters contained in the measurement command, wherein the measurement parameters include the coordinates of the measurement point and the measurement direction; Based on the image units in the data unit, a second border corresponding to the image unit group is determined, wherein any image unit group contains at least one image unit; When the first border intersects with any second border, determine the third border corresponding to each image unit in the image unit group corresponding to any second border; When the first border intersects with at least one third border, the intersection point between the measurement line and the image unit corresponding to the at least one third border is determined; The two intersection points that are closest to the measurement point and located on both sides of the measurement point are identified as target points; The target line segment formed by the target points is displayed.

2. The mask data processing method as described in claim 1, characterized in that, The step of determining the position of the window to be displayed in response to receiving a window display instruction includes: When a control associated with a window is detected to be triggered, the position of the window to be displayed is determined based on the received window display instruction information, wherein the window display instruction information includes the center point coordinates and the window size value.

3. The mask data processing method as described in claim 1, characterized in that, The step of determining the target image unit that overlaps with the window position based on the position of the window to be displayed and the coordinate point information in the image unit includes: Based on the window position, determine the corresponding scanning area and the position information of each scan line in the scanning area; Based on the scanned area, a target graphic region is determined in the data unit; Based on the position information corresponding to each scan line, the target graphic region is traversed to determine target image units that overlap with the position information corresponding to the scan line.

4. The mask data processing method as described in claim 1, characterized in that, After determining the target image unit that overlaps with the window position based on the position of the window to be displayed and the coordinate point information in the image unit, the method further includes: Upon receiving a window transformation instruction, the currently displayed window is transformed based on the window transformation instruction, wherein the window transformation instruction includes scaling information, mirroring information, translation information, or rotation information.

5. The mask data processing method as described in claim 1, characterized in that, The step of displaying the target image unit includes: Get the coordinates of the center point of the window to be displayed; The target image unit and the coordinates of the center point are displayed.

6. A mask data processing apparatus, characterized in that, The device includes: The acquisition module is used to acquire mask data files in various formats to be processed in response to a received mask data processing request. The parsing module is used to parse the mask data files of the various formats respectively to determine the parameter information of all image units on the mask, wherein the parameter information includes coordinate point information, resolution and layer information; The storage module is used to store the parameter information of all image units on the mask into the corresponding data units in memory; The device further includes: a first determining module for determining the position of a window to be displayed in response to receiving a window display instruction; a second determining module for determining a target image unit that overlaps with the window position based on the position of the window to be displayed and the coordinate point information in the image unit; and a display module for displaying the target image unit. The first determining module is further configured to, in response to receiving a measurement command, determine a measurement line and a first border corresponding to the measurement line based on measurement parameters included in the measurement command, wherein the measurement parameters include the coordinates of the measurement point and the measurement direction; the first determining module is further configured to, based on the image units in the data unit, determine a second border corresponding to an image unit group, wherein any image unit group contains at least one image unit; the first determining module is further configured to, when the first border intersects with any second border, determine a third border corresponding to each image unit in the image unit group corresponding to any second border; the first determining module is further configured to, when the first border intersects with at least one third border, determine the intersection point between the measurement line and the image unit corresponding to the at least one third border; the first determining module is further configured to, determine the two intersection points closest to the measurement point and located on both sides of the measurement point as target points; and the display module is further configured to, display the target line segment formed by the target points.

7. An electronic device, characterized in that, The electronic device includes: a processor and a memory storing computer program instructions; When the processor executes the computer program instructions, it implements the mask data processing method as described in any one of claims 1-5.

8. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer program instructions, which, when executed by a processor, implement the mask data processing method as described in any one of claims 1-5.

Citation Information

Patent Citations

  • Access method and device for fingerprint mask image

    CN105718214A

  • Method and system for accelerating layout processing

    CN111458974A