Spatial block aggregation method and apparatus based on packet combination, storage medium, and electronic device

By using a spatial block aggregation method involving grouping and merging, the problem of low computational efficiency caused by blurred and distorted pattern edges during photolithography is solved, achieving efficient and accurate optical rule detection and improving the yield of integrated circuit photolithography.

CN120722647BActive Publication Date: 2025-11-18HUAXINCHENG (HANGZHOU) TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511171115.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-08-21
Publication Date
2025-11-18
Estimated Expiration
2045-08-21

AI Technical Summary

Technical Problem

In the high-end integrated circuit lithography process, existing technologies suffer from blurred and distorted edges due to the lithography exposure wavelength being much larger than the feature size of the mask pattern, which affects the yield. Furthermore, traditional optical regularity detection methods suffer from low computational efficiency due to large-area overlap, making it difficult to meet engineering requirements.

Method used

The spatial block aggregation method of grouping and merging is adopted. The target map is divided into multiple regions, polygon blocks are generated by scanning line method, and a quadtree structure is constructed. The common boundary block set of adjacent regions is extracted, grouping and merging process is performed to generate a new boundary block set, and finally optical rule detection is performed on each polygon block.

Benefits of technology

It improves the efficiency of optical rule detection, avoids redundant calculations caused by large-area overlap in traditional methods, significantly shortens detection time, improves computational efficiency and detection accuracy, and reduces false alarms and missed alarms.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120722647B_ABST
    Figure CN120722647B_ABST
Patent Text Reader

Abstract

The application discloses a spatial block convergence method and device based on grouping and merging, a storage medium and an electronic device. The spatial block convergence method based on grouping and merging comprises the following steps: dividing a target layout into multiple regions; performing horizontal scanning and vertical scanning on a pattern in each region by using a scanning line method, generating a polygon block, and forming a spatial block of each polygon block; constructing a quadtree structure based on each spatial block; for any two adjacent regions, extracting polygon blocks at a common boundary from corresponding quadtree structures respectively, and forming two boundary block sets; performing grouping and merging processing on the two boundary block sets, and generating a new boundary block set; combining the new boundary block set with non-boundary blocks in the two adjacent regions to form a spatial block set; and performing optical rule detection on each polygon block in the spatial block set. The scheme can improve the efficiency of optical rule detection.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of photolithography technology, specifically to a spatial block aggregation method, apparatus, storage medium, and electronic device based on grouping and merging. Background Technology

[0002] As integrated circuit process nodes continue to advance to the nanometer level, such as 7nm and 5nm, the photolithography exposure wavelength (such as DUV 193nm ArF laser) is much larger than the feature size of the mask layout, resulting in blurred and distorted pattern edges, directly affecting yield and even preventing mass production. To improve the reliability of photolithography in high-end integrated circuits, Optical Rule Checking (ORC), through hierarchical spatial block division, quickly locates potential hotspots and has become a key acceleration step.

[0003] In traditional methods, the map is first recursively divided into polygonal blocks by region, and then rule detection is performed based on the size, aspect ratio, and other parameters of the polygonal blocks. To avoid the boundary truncation effect, the overlapping range of regions is usually artificially expanded, but this significantly reduces computational efficiency, especially in unpatterned regions, where a larger overlap radius is required, which is difficult to meet engineering requirements. Summary of the Invention

[0004] This application provides a spatial block aggregation method, apparatus, storage medium, and electronic device based on group merging, which can improve the efficiency of ORC detection.

[0005] In a first aspect, embodiments of this application provide a spatial block aggregation method based on group merging, including:

[0006] The target territory is divided into multiple regions;

[0007] The pattern in each region is scanned horizontally and vertically using a scan line method to generate polygonal blocks, and a spatial block is formed for each polygonal block.

[0008] A quadtree structure is constructed based on each of the aforementioned spatial blocks;

[0009] For any two adjacent regions, extract the polygonal blocks at the common boundary from the corresponding quadtree structure to form two boundary block sets;

[0010] Perform a grouping and merging process on the two sets of boundary blocks to generate a new set of boundary blocks;

[0011] The new set of boundary blocks is combined with the non-boundary blocks in the two adjacent regions to form a spatial block set;

[0012] Optical rule detection is performed on each polygonal block in the set of spatial blocks.

[0013] In the spatial block aggregation method based on grouping and merging provided in this application embodiment, the step of performing grouping and merging processing on two boundary block sets to generate a new boundary block set includes:

[0014] Each polygon block in the two boundary block sets is sorted according to its corresponding boundary coordinates to form two ordered linked lists;

[0015] Perform coordinate merging on the two ordered linked lists to generate a target coordinate set;

[0016] Based on the target coordinate set, the two boundary block sets are grouped and merged to generate a new boundary block set.

[0017] In the spatial block aggregation method based on grouping and merging provided in this application embodiment, the step of performing grouping and merging processing on two boundary block sets based on the target coordinate set to generate a new boundary block set includes:

[0018] Based on the target coordinate set, several line segments are formed according to adjacent coordinate points;

[0019] Based on the overlap of each line segment with other line segments, the two boundary block sets are grouped and merged to generate a new boundary block set.

[0020] In the spatial block aggregation method based on grouping and merging provided in this application embodiment, the step of performing grouping and merging processing on two boundary block sets according to the overlap of each line segment with other line segments to generate a new boundary block set includes:

[0021] For each of the line segments, when the line segment completely overlaps with another line segment, the corresponding two polygon blocks are merged into a new polygon block;

[0022] When the line segment partially overlaps with another line segment, the overlapping portion of the two corresponding polygon blocks is merged into a new polygon block;

[0023] When the line segment does not overlap with another line segment, no merging process is performed;

[0024] The new polygonal blocks and the unmerged polygonal blocks are combined into a new set of boundary blocks.

[0025] In the spatial block aggregation method based on grouping and merging provided in this application embodiment, the step of using a scan line method to perform horizontal and vertical scanning of the pattern within each region to generate polygonal blocks includes:

[0026] By traversing each row of the region using horizontal scan lines, all horizontally arranged pattern boundaries are identified and extracted, forming several horizontal boundaries.

[0027] By traversing each column of the region with vertical scan lines, all vertically arranged pattern boundaries are identified and extracted, forming several vertical boundaries;

[0028] Polygonal blocks are generated based on the horizontal and vertical boundaries.

[0029] In the spatial block aggregation method based on grouping and merging provided in this application embodiment, the step of generating polygonal blocks according to the horizontal and vertical boundaries includes:

[0030] Based on the intersection of the horizontal and vertical boundaries, the vertices of the polygon block are generated;

[0031] Polygonal blocks are formed based on the vertices.

[0032] In the spatial block aggregation method based on grouping and merging provided in this application embodiment, the spatial block forming each polygonal block includes:

[0033] Calculate the minimum containing rectangle for each polygonal block, which serves as the spatial block for each polygonal block.

[0034] Secondly, embodiments of this application provide a spatial block aggregation device based on group merging, comprising:

[0035] Dividing units are used to divide the target map into multiple regions;

[0036] The scanning unit is used to perform horizontal and vertical scanning of the pattern in each region using a scanning line method to generate polygonal blocks and form a spatial block for each polygonal block;

[0037] Construction unit, used to construct a quadtree structure based on each of the spatial blocks;

[0038] The extraction unit is used to extract polygonal blocks at the common boundary from the corresponding quadtree structure for any two adjacent regions, forming two sets of boundary blocks.

[0039] The merging unit is used to perform group merging processing on the two sets of boundary blocks to generate a new set of boundary blocks;

[0040] A combination unit is used to combine the new set of boundary blocks with non-boundary blocks in two adjacent regions to form a set of spatial blocks;

[0041] The detection unit is used to perform optical rule detection on each polygon block in the set of spatial blocks.

[0042] Thirdly, this application provides a storage medium storing a plurality of instructions adapted for loading by a processor to execute the spatial block aggregation method based on group merging described in any of the preceding claims.

[0043] Fourthly, this application provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor, when executing the computer program, implements the spatial block aggregation method based on group merging described above.

[0044] In summary, the spatial block aggregation method based on grouping and merging provided in this application includes dividing the target map into multiple regions; using a scan line method to perform horizontal and vertical scanning of the pattern in each region to generate polygonal blocks, and forming spatial blocks for each polygonal block; constructing a quadtree structure based on each spatial block; for any two adjacent regions, extracting polygonal blocks at the common boundary from the corresponding quadtree structure to form two boundary block sets; performing grouping and merging processing on the two boundary block sets to generate a new boundary block set; combining the new boundary block set with the non-boundary blocks in the two adjacent regions to form a spatial block set; and performing optical rule detection on each polygonal block in the spatial block set. This solution avoids redundant calculations caused by large-area overlap in traditional methods, greatly improving the efficiency of optical rule detection. Attached Figure Description

[0045] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0046] Figure 1 This is a schematic diagram of an application scenario for the spatial block aggregation method based on group merging provided in the embodiments of this application.

[0047] Figure 2 This is a flowchart illustrating the spatial block aggregation method based on group merging provided in an embodiment of this application.

[0048] Figure 3 This is a schematic diagram of the boundary block distribution of adjacent regions provided in an embodiment of this application.

[0049] Figure 4 This is a schematic diagram of the merging of boundary blocks of adjacent regions provided in an embodiment of this application.

[0050] Figure 5This is a schematic diagram of the spatial block aggregation device based on group merging provided in the embodiments of this application.

[0051] Figure 6 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this application. Detailed Implementation

[0052] 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.

[0053] 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.

[0054] It should be understood that the specific embodiments described herein are merely illustrative of this application and are not intended to limit this application.

[0055] In the following description, the use of suffixes such as "module," "part," or "unit" to denote elements is solely for the purpose of illustrative purposes and has no specific meaning in itself. Therefore, "module," "part," or "unit" may be used interchangeably.

[0056] In the description of this application, it should be noted that the terms "upper," "lower," "left," "right," "inner," and "outer," etc., indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings. They are used only for the convenience of describing this application and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on this application. In addition, terms such as "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance.

[0057] In traditional methods, the map is first recursively divided into polygonal blocks by region, and then rule detection is performed based on the size, aspect ratio, and other parameters of the polygonal blocks. To avoid the boundary truncation effect, the overlapping range of regions is usually artificially expanded, but this significantly reduces computational efficiency, especially in unpatterned regions, where a larger overlap radius is required, which is difficult to meet engineering requirements.

[0058] Based on this, embodiments of this application provide a spatial block aggregation method, apparatus, storage medium, and electronic device based on group merging. Specifically, the spatial block aggregation apparatus based on group merging can be integrated into an electronic device, which can be a server or a terminal, etc. The terminal can include mobile phones, wearable smart devices, tablet computers, laptops, and personal computers (PCs), etc. The server can be a single server or a server cluster composed of multiple servers, and can be a physical server or a virtual server.

[0059] For example, such as Figure 1 As shown, the electronic device can divide the target map into multiple regions; use a scan line method to perform horizontal and vertical scanning of the pattern in each region to generate polygonal blocks, and form spatial blocks for each polygonal block; construct a quadtree structure based on each spatial block; for any two adjacent regions, extract the polygonal blocks at the common boundary from the corresponding quadtree structure to form two boundary block sets; perform grouping and merging processing on the two boundary block sets to generate a new boundary block set; combine the new boundary block set with the non-boundary blocks in the two adjacent regions to form a spatial block set; and perform optical rule detection on each polygonal block in the spatial block set.

[0060] The technical solutions shown in this application will be described in detail below through specific embodiments. It should be noted that the order of description of the following embodiments is not intended to limit the priority of the embodiments.

[0061] Please see Figure 2 , Figure 2 This is a flowchart illustrating the spatial block aggregation method based on group merging provided in an embodiment of this application. The specific flow of this spatial block aggregation method based on group merging can be as follows:

[0062] 101. Divide the target map into multiple regions.

[0063] In some embodiments, the target layout can be divided into multiple regions based on chip design guidelines and optical parameters. For example, the target layout can be divided into several appropriately sized regions based on specific chip design requirements (such as pattern density, process node, etc.). Each region can contain similar design features, thereby reducing complexity and improving the efficiency of subsequent ORC.

[0064] For example, regions can be divided according to different photolithography processes (such as the exposure wavelength used, optical correction techniques, etc.). For different optical parameters, the division of the design region can be refined to ensure that potential optical defects can be accurately simulated and inspected during the photolithography process.

[0065] For example, when dividing regions, the region size can be dynamically adjusted based on the geometric distribution of patterns in the target layout (such as layout complexity). The region size can also be adaptively adjusted based on the density of patterns to optimize the ORC process and reduce computational resource consumption.

[0066] For example, different region partitioning strategies may be needed for different process nodes (such as 7nm, 5nm, etc.). Smaller nodes may require more fine-grained region partitioning to ensure that every detail in the lithography process can be accurately simulated and detected.

[0067] 102. Use the scan line method to perform horizontal and vertical scanning of the pattern in each region to generate polygonal blocks, and form a spatial block for each polygonal block.

[0068] Specifically, by traversing each row of the region with horizontal scan lines, all horizontally arranged pattern boundaries can be identified and extracted to form several horizontal boundaries; by traversing each column of the region with vertical scan lines, all vertically arranged pattern boundaries can be identified and extracted to form several vertical boundaries; then, polygonal blocks are generated based on the horizontal and vertical boundaries. In some embodiments, the vertices of the polygonal blocks can be generated based on the intersection points of the horizontal and vertical boundaries; and then the polygonal blocks are formed based on the vertices.

[0069] In some embodiments, the minimum containing rectangle of each polygonal block can be calculated as the spatial block of each polygonal block.

[0070] 103. Construct a quadtree structure based on each spatial block.

[0071] A quadtree is a tree-like data structure suitable for processing two-dimensional spatial data. It recursively divides the space into four sub-regions until the size of each region meets a certain threshold.

[0072] Specifically, each region can be used as the root node of a quadtree structure. Then, a binary search method is used to continuously divide the region into four sub-regions until the side length of the sub-region is less than a preset threshold. In each leaf node of the quadtree structure, each polygonal block can be filled into the corresponding leaf node according to the intersection relationship between its corresponding spatial block and the sub-region.

[0073] It should be noted that each polygonal block can be repeatedly placed into multiple leaf nodes of the quadtree structure. The quadtree structure achieves fine-grained spatial management by recursively dividing the region into four sub-regions. This partitioning method can accurately map polygonal blocks to the leaf nodes of the quadtree structure, thereby providing fast spatial query capabilities.

[0074] In subsequent operations (such as hotspot detection and rule checking), the quadtree structure can be used to quickly locate polygonal blocks that intersect with a certain region, thereby significantly reducing the time complexity of queries.

[0075] Furthermore, the quadtree structure helps avoid traversing the entire region for queries. During a query, only the leaf nodes of the relevant region need to be located, thus reducing redundant calculations. Since each polygon block is placed into the corresponding leaf node based on the intersection of its spatial block with the sub-region, repeated calculations of irrelevant regions can be avoided, reducing the waste of computing resources.

[0076] 104. For any two adjacent regions, extract the polygonal blocks at the common boundary from the corresponding quadtree structure to form two boundary block sets.

[0077] The common boundary refers to the boundary where two areas meet or intersect.

[0078] In the implementation process, for each pair of adjacent regions, the common boundary of these adjacent regions can be identified by querying the corresponding quadtree structure. Then, polygonal blocks located on the common boundary are extracted from the quadtree structure of each region. The geometry and position of these polygonal blocks must intersect with the boundary portion. By searching for these qualified polygonal blocks in the leaf nodes of the quadtree structure, the polygonal blocks belonging to the common boundary can be quickly located. Finally, all the polygonal blocks on the common boundary extracted from the two regions are used to form two boundary block sets.

[0079] 105. Perform grouping and merging processing on the two boundary block sets to generate a new boundary block set.

[0080] Specifically, each polygon block in the two boundary block sets can be sorted according to its corresponding boundary coordinates to form two ordered linked lists; the coordinates of the two ordered linked lists can be merged to generate a target coordinate set; and based on the target coordinate set, the two boundary block sets can be grouped and merged to generate a new boundary block set.

[0081] For example, suppose the right boundary of region F overlaps with the left boundary of the adjacent region N. On the common boundary of these two regions, extract the boundary block sets Set1 and Set2 respectively.

[0082] To facilitate subsequent merging operations, the two boundary block sets can be sorted. Specifically, Set1 is sorted by the right boundary coordinates of each polygon block. Set2 is sorted by the left boundary coordinates of each polygon block. The sorted boundary block sets form two ordered linked lists. The right boundary coordinates are the coordinates of the rightmost point of the polygon along the X-axis. The left boundary coordinates are the coordinates of the leftmost point of the polygon along the X-axis.

[0083] Next, the coordinates in Set1 and Set2 are merged to generate the target coordinate set y_set. Specifically, the coordinates in the two ordered linked lists are arranged sequentially and duplicates are removed to generate a unique target coordinate set y_set. The purpose of this process is to extract all coordinate points that may intersect or overlap between the two boundary block sets. By merging all coordinates, a final ordered target coordinate set y_set is obtained, which can represent the intersection region of the two boundary block sets.

[0084] Specifically, the step "perform grouping and merging of two boundary block sets based on the target coordinate set to generate a new boundary block set" can be: based on the target coordinate set, form several line segments according to adjacent coordinate points; and perform grouping and merging of the two boundary block sets according to the overlap of each line segment with other line segments to generate a new boundary block set.

[0085] Each line segment represents the boundary of a boundary block, specifically the projected area of ​​the boundary block along the y-axis. The endpoints of each line segment are two consecutive coordinate points in y_set.

[0086] Specifically, for each line segment, when a line segment completely overlaps with another line segment, the corresponding two polygon blocks are merged into a new polygon block; when a line segment partially overlaps with another line segment, the overlapping parts of the corresponding two polygon blocks are merged into a new polygon block; when a line segment does not overlap with another line segment, no merging process is performed; the new polygon block and the unmerged polygon blocks are combined into a new set of boundary blocks.

[0087] like Figures 3-4 As shown, if the left endpoint of one line segment overlaps with the right endpoint of another line segment, it means that the two line segments completely overlap, and the corresponding two polygon blocks can be merged into a new polygon block. For example, if the right boundary of a polygon block in Set1 completely coincides with the left boundary of a polygon block in Set2, then the two polygon blocks can be merged into a new polygon block.

[0088] If a portion of a line segment overlaps with a portion of another line segment, the overlapping polygon blocks are merged into a new polygon block. If the right boundary of a polygon block in Set1 partially overlaps with the left boundary of a polygon block in Set2, the overlapping portion is merged into a new polygon block, while the non-overlapping portion remains unchanged and is not merged; it remains an independent polygon block.

[0089] If there is no overlap between two line segments, skip this pair of line segments and do not perform any merging operation. In this case, the polygon blocks in Set1 and Set2 will not interfere with each other, so they can be directly retained.

[0090] Understandably, unmerged polygonal blocks include polygonal blocks that retain no overlapping areas, as well as the non-overlapping portions of two partially overlapping polygonal blocks.

[0091] It should be noted that after the merge operation is completed, the quadtree structure needs to be updated for subsequent queries and processing. The new set of boundary blocks will be incorporated into the quadtree structure to ensure that subsequent calculations can quickly locate the new set of boundary blocks, avoiding redundant computations.

[0092] 106. Combine the new set of boundary blocks with the non-boundary blocks in two adjacent regions to form a set of spatial blocks.

[0093] Non-boundary blocks refer to polygonal blocks that exist within a region and are independent of common boundaries. In other words, non-boundary blocks are typically blocks that are entirely located within the region and do not involve overlapping portions of adjacent regions.

[0094] In practice, these non-boundary blocks can be extracted from the quadtree structure of these two regions to ensure that they do not belong to any public boundaries.

[0095] 107. Perform optical rule detection on each polygon block in the spatial block set.

[0096] Specifically, non-boundary blocks within a region can be directly inspected using optical rules. However, for new boundary blocks, rule inspection is required based on factors such as size and aspect ratio. New boundary blocks that do not conform to the rules will be marked as hotspots (areas where defects may occur). This inspection method avoids unnecessary redundant calculations, only inspecting the areas that truly need to be inspected.

[0097] In summary, the spatial block aggregation method based on grouping and merging provided in this application includes dividing the target map into multiple regions; using a scan line method to perform horizontal and vertical scanning of the pattern in each region to generate polygonal blocks, and forming spatial blocks for each polygonal block; constructing a quadtree structure based on each spatial block; for any two adjacent regions, extracting polygonal blocks at the common boundary from the corresponding quadtree structures to form two boundary block sets; performing grouping and merging processing on the two boundary block sets to generate a new boundary block set; combining the new boundary block set with the non-boundary blocks in the two adjacent regions to form a spatial block set; and performing optical rule detection on each polygonal block in the spatial block set. This solution, by employing a grouping and merging method, avoids the computational burden caused by large-area overlap in traditional methods, thereby improving overall computational efficiency. The application of the quadtree structure also makes the process of finding and updating polygonal blocks faster, thus significantly shortening the ORC detection time. In other words, this solution avoids redundant computation caused by large-area overlap in traditional methods, greatly improving the efficiency of optical rule detection.

[0098] Furthermore, the refined boundary block merging method in this scheme avoids the accuracy loss caused by simply expanding the region. By accurately merging boundary blocks, the true distribution of the region can be restored more accurately, resulting in more precise detection results and reducing false positives and false negatives. Since excessive region overlap is avoided, this scheme can significantly reduce unnecessary computational and storage resource consumption.

[0099] To facilitate better implementation of the spatial block aggregation method based on group merging provided in this application, this application also provides a spatial block aggregation device based on group merging. The meanings of the terms used are the same as in the aforementioned spatial block aggregation method based on group merging, and specific implementation details can be found in the descriptions within the method embodiments.

[0100] Please see Figure 5 , Figure 5 This is a schematic diagram of the spatial block aggregation device based on grouping and merging provided in an embodiment of this application. The spatial block aggregation device based on grouping and merging may include a partitioning unit 201, a scanning unit 202, a construction unit 203, an extraction unit 204, a merging unit 205, a combination unit 206, and a detection unit 207.

[0101] Dividing unit 201 is used to divide the target map into multiple regions;

[0102] The scanning unit 202 is used to perform horizontal and vertical scanning of the pattern in each region using the scanning line method, generate polygonal blocks, and form a spatial block for each polygonal block;

[0103] Building unit 203 is used to build a quadtree structure based on each spatial block;

[0104] Extraction unit 204 is used to extract polygonal blocks at the common boundary from the corresponding quadtree structure for any two adjacent regions, forming two boundary block sets.

[0105] Merging unit 205 is used to perform group merging processing on two sets of boundary blocks to generate a new set of boundary blocks;

[0106] Combination unit 206 is used to combine a new set of boundary blocks with non-boundary blocks in two adjacent regions to form a set of spatial blocks;

[0107] The detection unit 207 is used to perform optical rule detection on each polygon block in the spatial block set.

[0108] For specific implementation methods of each of the above units, please refer to the above-described embodiments of the spatial block aggregation method based on grouping and merging, which will not be repeated here.

[0109] In summary, the spatial block aggregation device based on grouping and merging provided in this application embodiment can divide the target map into multiple regions by the partitioning unit 201; the scanning unit 202 uses a scanning line method to perform horizontal and vertical scanning on the pattern in each region to generate polygonal blocks, and form spatial blocks for each polygonal block; the construction unit 203 constructs a quadtree structure based on each spatial block; the extraction unit 204 extracts polygonal blocks at the common boundary from the corresponding quadtree structures for any two adjacent regions, forming two boundary block sets; the merging unit 205 performs grouping and merging processing on the two boundary block sets to generate a new boundary block set; the combination unit 206 combines the new boundary block set with the non-boundary blocks in the two adjacent regions to form a spatial block set; and the detection unit 207 performs optical rule detection on each polygonal block in the spatial block set. This solution, by adopting the grouping and merging method, avoids the computational burden caused by large-area overlap in traditional methods, thereby improving overall computational efficiency. The application of the quadtree structure also makes the process of finding and updating polygonal blocks faster, thus significantly shortening the ORC detection time. In other words, this scheme avoids the redundant calculations caused by large-area overlap in traditional methods, greatly improving the efficiency of optical rule detection.

[0110] This application also provides an electronic device that may integrate the spatial block aggregation device based on group merging, as described in this application. Figure 6 As shown, it illustrates a structural schematic diagram of the electronic device involved in the embodiments of this application, specifically:

[0111] The electronic device may include components such as a processor 301 with one or more processing cores and a memory 302 with one or more computer-readable storage media. Those skilled in the art will understand that... Figure 6 The electronic device structure shown does not constitute a limitation on the electronic device and may include more or fewer components than shown, or combine certain components, or have different component arrangements. Wherein:

[0112] The processor 301 is the control center of the electronic device. It connects various parts of the electronic device via various interfaces and lines. By running or executing software programs stored in the memory 302 and / or this application, and by calling data stored in the memory 302, it performs various functions and processes data, thereby providing overall monitoring of the electronic device. Optionally, the processor 301 may include one or more processing cores; preferably, the processor 301 may integrate an application processor and a modem processor, wherein the application processor mainly handles the operation of the storage medium, user interface, and application programs, while the modem processor mainly handles wireless communication. It is understood that the modem processor may not be integrated into the processor 301.

[0113] The memory 302 can be used to store software programs and this application. The processor 301 executes various functional applications and data processing by running the software programs and this application stored in the memory 302. The memory 302 may mainly include a program storage area and a data storage area. The program storage area may store applications required for operating the storage medium and at least one function; the data storage area may store data created based on the use of the electronic device. In addition, the memory 302 may include high-speed random access memory and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device. Accordingly, the memory 302 may also include a memory controller to provide the processor 301 with access to the memory 302.

[0114] Although not shown, the electronic device may also include a display unit, an input unit, and a power supply, etc., which will not be described in detail here. Specifically, in this embodiment, the processor 301 in the electronic device loads the executable files corresponding to the processes of one or more application programs into the memory 302 according to the following instructions, and the processor 301 runs the application programs stored in the memory 302 to realize various functions, as follows:

[0115] The target territory is divided into multiple regions;

[0116] The pattern in each region is scanned horizontally and vertically using a scan line method to generate polygonal blocks, and then spatial blocks are formed for each polygonal block.

[0117] A quadtree structure is constructed based on each spatial block;

[0118] For any two adjacent regions, extract the polygonal blocks at the common boundary from the corresponding quadtree structure to form two sets of boundary blocks;

[0119] Perform a grouping and merging process on the two sets of boundary blocks to generate a new set of boundary blocks;

[0120] Combine the new set of boundary blocks with the non-boundary blocks in two adjacent regions to form a set of spatial blocks;

[0121] Perform optical rule detection on each polygon block in the spatial block set.

[0122] Those skilled in the art will understand that all or part of the steps in the various methods of the above embodiments can be performed by instructions, or by instructions controlling related hardware. These instructions can be stored in a computer-readable storage medium and loaded and executed by a processor.

[0123] Therefore, embodiments of this application provide a storage medium storing a plurality of instructions that can be loaded by a processor to execute steps in any of the methods provided in embodiments of this application. For example, the instructions can execute the following steps:

[0124] The target territory is divided into multiple regions;

[0125] The pattern in each region is scanned horizontally and vertically using a scan line method to generate polygonal blocks, and then spatial blocks are formed for each polygonal block.

[0126] A quadtree structure is constructed based on each spatial block;

[0127] For any two adjacent regions, extract the polygonal blocks at the common boundary from the corresponding quadtree structure to form two sets of boundary blocks;

[0128] Perform a grouping and merging process on the two sets of boundary blocks to generate a new set of boundary blocks;

[0129] Combine the new set of boundary blocks with the non-boundary blocks in two adjacent regions to form a set of spatial blocks;

[0130] Perform optical rule detection on each polygon block in the spatial block set.

[0131] For details on the implementation of each of the above operations, please refer to the previous examples, which will not be repeated here.

[0132] The storage medium may include: read-only memory (ROM), random access memory (RAM), disk or optical disk, etc.

[0133] Since the instructions stored in the storage medium can execute the steps of any method provided in the embodiments of this application, the beneficial effects that any method provided in the embodiments of this application can achieve can be realized. For details, please refer to the previous embodiments, which will not be repeated here.

[0134] The above provides a detailed description of the spatial block aggregation method, apparatus, storage medium, and electronic device based on group merging provided in this application. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the above embodiments are only for the purpose of helping to understand the core ideas of this application. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of this application. Therefore, the content of this specification should not be construed as a limitation of this application.

Claims

1. A spatial block aggregation method based on grouping and merging, characterized in that, include: The target territory is divided into multiple regions; The pattern in each region is scanned horizontally and vertically using a scan line method to generate polygonal blocks, and a spatial block is formed for each polygonal block. A quadtree structure is constructed based on each of the aforementioned spatial blocks; For any two adjacent regions, extract the polygonal blocks at the common boundary from the corresponding quadtree structure to form two boundary block sets; Each polygon block in the two boundary block sets is sorted according to its corresponding boundary coordinates to form two ordered linked lists; Perform coordinate merging on the two ordered linked lists to generate a target coordinate set; Based on the target coordinate set, several line segments are formed according to adjacent coordinate points; Based on the overlap between each line segment and other line segments, the two boundary block sets are grouped and merged to generate a new boundary block set; The new set of boundary blocks is combined with the non-boundary blocks in the two adjacent regions to form a spatial block set; Optical rule detection is performed on each polygonal block in the set of spatial blocks.

2. The spatial block aggregation method based on group merging as described in claim 1, characterized in that, The step of performing a grouping and merging process on the two boundary block sets based on the overlap of each line segment with other line segments to generate a new boundary block set includes: For each of the line segments, when the line segment completely overlaps with another line segment, the corresponding two polygon blocks are merged into a new polygon block; When the line segment partially overlaps with another line segment, the overlapping portion of the two corresponding polygon blocks is merged into a new polygon block; When the line segment does not overlap with another line segment, no merging process is performed; The new polygonal blocks and the unmerged polygonal blocks are combined into a new set of boundary blocks.

3. The spatial block aggregation method based on group merging as described in claim 1, characterized in that, The step of using a scan line method to perform horizontal and vertical scanning of the pattern within each region to generate polygonal blocks includes: By traversing each row of the region using horizontal scan lines, all horizontally arranged pattern boundaries are identified and extracted, forming several horizontal boundaries. By traversing each column of the region with vertical scan lines, all vertically arranged pattern boundaries are identified and extracted, forming several vertical boundaries; Polygonal blocks are generated based on the horizontal and vertical boundaries.

4. The spatial block aggregation method based on group merging as described in claim 3, characterized in that, The step of generating polygonal blocks based on the horizontal and vertical boundaries includes: Based on the intersection of the horizontal and vertical boundaries, the vertices of the polygon block are generated; Polygonal blocks are formed based on the vertices.

5. The spatial block aggregation method based on group merging as described in claim 1, characterized in that, The spatial blocks forming each of the polygonal blocks include: Calculate the minimum containing rectangle for each polygonal block, which serves as the spatial block for each polygonal block.

6. A spatial block aggregation device based on grouping and merging, characterized in that, include: Dividing units are used to divide the target map into multiple regions; The scanning unit is used to perform horizontal and vertical scanning of the pattern in each region using a scanning line method to generate polygonal blocks and form a spatial block for each polygonal block; Construction unit, used to construct a quadtree structure based on each of the spatial blocks; The extraction unit is used to extract polygonal blocks at the common boundary from the corresponding quadtree structure for any two adjacent regions, forming two sets of boundary blocks. The merging unit is used to sort each polygon block in the two boundary block sets according to its corresponding boundary coordinates to form two ordered linked lists; perform coordinate merging processing on the two ordered linked lists to generate a target coordinate set; form several line segments based on the target coordinate set according to adjacent coordinate points; and perform group merging processing on the two boundary block sets according to the overlap of each line segment with other line segments to generate a new boundary block set. A combination unit is used to combine the new set of boundary blocks with non-boundary blocks in two adjacent regions to form a set of spatial blocks; The detection unit is used to perform optical rule detection on each polygon block in the set of spatial blocks.

7. A storage medium, characterized in that, The storage medium stores multiple instructions adapted for loading by a processor to execute the spatial block aggregation method based on group merging as described in any one of claims 1-5.

8. An electronic device, characterized in that, It includes a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the spatial block aggregation method based on group merging as described in any one of claims 1-5.

Citation Information

Patent Citations

  • Method and system for accelerating layout processing

    CN111458974A

  • Acquisition method for division area size of drawing data, and acquisition device for division area size of drawing data

    JP2010050187A