Disclosure of Invention
The embodiment of the application provides a substrate detection method, a substrate detection device, electronic equipment and a storage medium, and aims to rapidly and accurately detect substrate swelling and shrinking information.
In a first aspect, an embodiment of the present application provides a substrate detection method, including:
Acquiring position information of each first bonding pad of a substrate to be detected;
Respectively carrying out offset calculation on the positions and compensation values of the first bonding pads of the substrate to be detected and each standard substrate in a standard substrate library to obtain a plurality of offset groups, wherein the compensation values are used for compensating flow errors of the bonding pads after solder paste is coated;
Selecting a target offset group satisfying a first condition from among a plurality of offset groups;
Determining a target standard substrate according to the target offset group;
and determining the expansion and contraction proportion of each first bonding pad and the offset distance of each first bonding pad based on the target standard substrate.
According to the substrate detection method provided by the first aspect of the application, the substrates to be detected are respectively compared with each standard substrate in the standard substrate library, the closest target standard bonding pad is determined through the offset of the first bonding pad, the expansion and contraction ratio and the offset distance of each first bonding pad of the substrates to be detected are determined based on the target standard bonding pad, the expansion and contraction information of the substrates to be detected can be rapidly detected through first matching to obtain the target standard substrates, and then the expansion and contraction ratio and the offset distance are determined, and the detection accuracy is improved. By setting the compensation value in the process of performing offset calculation, errors after substrate processing are also taken into consideration in advance in the offset calculation, and the accuracy of the offset is improved, so that the accuracy of the whole substrate detection is improved.
The obtaining the position information of each first bonding pad of the substrate to be detected includes:
extracting a plurality of brightest areas on the substrate to be detected through an image recognition algorithm;
determining the circumscribed rectangle corresponding to each brightest area;
and determining the position and the size of each first bonding pad according to the position and the size of each circumscribed rectangle.
The obtaining the position information of each first bonding pad of the substrate to be detected includes:
and acquiring the position and the size of each first bonding pad on the substrate to be detected through an optimal template matching algorithm.
Wherein, the offset calculation is carried out on the positions and compensation values of the first bonding pads of the substrate to be detected and the standard substrates in the standard substrate library respectively, before deriving the plurality of offset groups, the method further comprises:
Acquiring second datum points of a plurality of standard substrates, position information of each second bonding pad and identification signals, wherein the identification signals are used for marking the corresponding standard substrates;
Binding each identification signal with the corresponding second datum point of the standard substrate and the position information of each second bonding pad respectively, and constructing the standard substrate library.
Wherein, the offset calculation is carried out on the positions and compensation values of the first bonding pads of the substrate to be detected and the standard substrates in the standard substrate library respectively, before deriving the plurality of offset groups, the method further comprises:
acquiring a first datum point of the substrate to be detected;
determining a second datum point corresponding to the first datum point in each standard substrate;
and aligning the first datum point with the second datum point for each standard substrate, and unifying coordinate systems of the substrate to be detected and the standard substrate.
The offset group comprises offsets between each second bonding pad and each first bonding pad of the standard substrate corresponding to the offset group;
The selecting a target offset group satisfying a first condition from a plurality of offset groups includes:
calculating the sum of the offset of each offset group;
and selecting the offset group with the smallest offset sum as the target offset group.
Wherein the determining the target standard substrate according to the target offset group includes:
determining a standard substrate corresponding to the target offset group;
Acquiring offset of each second bonding pad of the standard substrate and each first bonding pad of the substrate to be detected;
determining the number of offset values larger than a preset offset range;
and when the number of the offset amounts larger than the preset offset range is smaller than a preset threshold value, determining that the standard substrate is the target standard substrate.
In a second aspect, an embodiment of the present application provides a substrate detection apparatus, including:
The position acquisition module is used for acquiring the position information of each first bonding pad of the substrate to be detected;
The substrate comparison module is used for respectively carrying out offset calculation on the positions and compensation values of the first bonding pads of the substrate to be detected and the standard substrates in the standard substrate library to obtain a plurality of offset groups, wherein the compensation values are used for compensating flow errors of the bonding pads after solder paste is coated;
a selection module for selecting a target offset group satisfying a first condition from a plurality of offset groups;
the substrate determining module is used for determining a target standard substrate according to the target offset group;
and the detection output module is used for determining the expansion and contraction proportion of each first bonding pad and the offset distance of each first bonding pad based on the target standard substrate.
In a third aspect, an embodiment of the present application provides an electronic device, which is characterized by comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, wherein the processor implements the substrate detection method according to the first aspect when executing the computer program.
In a fourth aspect, an embodiment of the present application provides a computer readable storage medium storing a computer program, which when executed by a processor, implements the substrate detection method according to the first aspect.
According to the substrate detection method, the device, the electronic equipment and the storage medium, the substrate to be detected is respectively compared with each standard substrate in the standard substrate library, the closest target standard bonding pad is determined through the offset of the first bonding pad, the expansion and contraction ratio and the offset distance of each first bonding pad of the substrate to be detected are determined based on the target standard bonding pad, the target standard substrate is obtained through matching, the expansion and contraction ratio and the offset distance are determined, the expansion and contraction information of the substrate to be detected can be detected rapidly, and the detection accuracy is improved.
Additional features and advantages of the application will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by practice of the application. The objectives and other advantages of the application will be realized and attained by the structure particularly pointed out in the written description and claims hereof as well as the appended drawings.
Detailed Description
The present application will be described in further detail with reference to the drawings and examples, in order to make the objects, technical solutions and advantages of the present application more apparent. It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the scope of the application.
It should be noted that although functional block division is performed in a device diagram and a logic sequence is shown in a flowchart, in some cases, the steps shown or described may be performed in a different order than the block division in the device, or in the flowchart. The terms first, second and the like in the description and in the claims and in the above-described figures, are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order.
In the description of the embodiments of the present application, unless explicitly defined otherwise, terms such as arrangement, installation, connection, etc. should be construed broadly, and those skilled in the art may reasonably determine the specific meaning of the terms in the embodiments of the present application in combination with the specific contents of the technical solutions.
In embodiments of the application, the words "further," "exemplary," or "optionally," etc. are used to indicate by way of example, illustration, or description, and should not be construed as preferred or advantageous over other embodiments or designs. The use of the words "further," "exemplary," or "optionally" and the like is intended to present the relevant concepts in a concrete fashion.
In related technologies, in industry markets such as SMT (Surface Mounted Technology, surface mount technology), SMD (Surface Mounted Devices, surface mount devices), COB (chip-on-board), etc., as devices become smaller and smaller, devices become more and more precise, requirements on substrates become higher and higher, substrate types are diversified, and different types of substrates have different swelling and shrinking properties, so that batch differences cannot be guaranteed in production lines, and production yield cannot be guaranteed. At present, a chip mounter, a die bonder and the like carry out chip mounting or die bonding according to imported theoretical Gerber data, but each substrate actually has expansion and contraction of different programs, and certain deviation exists between a physical object and the theory, so that a plurality of problems such as chip mounting deviation and the like can be caused, and the yield is reduced, so that the substrate needs to be detected before the substrate is processed. How to detect the substrate swelling and shrinking information rapidly and accurately is a problem to be discussed and solved.
The embodiment of the application provides a substrate detection method, a device, electronic equipment and a storage medium, which are characterized in that a substrate to be detected is respectively compared with standard substrates in a standard substrate library, the closest target standard bonding pad is determined through the offset of the first bonding pad, the expansion and contraction ratio and the offset distance of each first bonding pad of the substrate to be detected are determined based on the target standard bonding pad, the target standard substrate is obtained through matching, the expansion and contraction ratio and the offset distance are determined, the expansion and contraction information of the substrate to be detected can be detected rapidly, and the detection accuracy is improved. By setting the compensation value in the process of performing offset calculation, errors after substrate processing are also taken into consideration in advance in the offset calculation, and the accuracy of the offset is improved, so that the accuracy of the whole substrate detection is improved. The embodiment of the application also determines that the corresponding standard steel mesh is used for solder paste printing on the substrate through the detected target standard substrate, thereby improving the production yield. The embodiment of the application also compensates during subsequent packaging by utilizing the detected swelling and shrinking information and offset distance of the substrate to be detected, calibrates the processing position and improves the production yield.
Embodiments of the present application will be further described with reference to the accompanying drawings.
Fig. 1 is a flowchart of a substrate detection method according to an embodiment of the application. As shown in fig. 1, in the embodiment of fig. 1, the substrate detection method may include, but is not limited to, steps S110 to S150.
Step S110, acquiring position information of each first bonding pad of a substrate to be detected;
step S120, respectively carrying out offset calculation on each first bonding pad position and compensation value of the substrate to be detected and each standard substrate in the standard substrate library to obtain a plurality of offset groups, wherein the compensation values are used for compensating flow errors of the bonding pads after solder paste is coated;
Step S130, selecting a target offset group meeting a first condition from a plurality of offset groups;
step S140, determining a target standard substrate according to the target offset group;
and step S150, determining the expansion and contraction proportion of each first bonding pad and the offset distance of each first bonding pad based on the target standard substrate.
In step S110, the substrate to be inspected refers to a substrate ready for performing a substrate bonding process or a die bonding process, and the first bonding pad refers to a bonding pad on the substrate to be inspected for performing the bonding process or the die bonding process. The position information of the first pad includes, but is not limited to, at least coordinates of the first pad and a size of the first pad, and illustratively, the coordinates of the first pad may be coordinates of a center point of the first pad or coordinates of respective sides of the first pad.
In step S120, the position of the first pad refers to the coordinate used to represent the position of the first pad, and the coordinate may be, for example, the coordinate of the center position of the first pad, or the coordinate of the datum point of the first pad, or the coordinate of the position where the solder paste is applied to the first pad, where the position of the first pad is the coordinate of the center position of the first pad for convenience of explanation. The compensation value is used for compensating errors generated by the fluidity of the solder paste in the solder paste coating process, and the solder paste flows far along the direction of the scraper due to certain fluidity, so that a compensation value needs to be set, and under the condition that the solder paste does not deviate, the position coordinate of the first solder paste is added with the corresponding compensation value to be equal to the position coordinate of the second solder paste corresponding to the matched standard substrate.
The offset calculation means that each first bonding pad of the substrate to be detected is compared with each standard substrate in the standard substrate library, the offset condition of each first bonding pad of the substrate to be detected relative to each second bonding pad of the standard substrate is determined, and a group of offset groups can be obtained between the substrate to be detected and each standard substrate. Each offset group comprises the offset of each first bonding pad of the substrate to be detected relative to the corresponding second bonding pad of the standard substrate.
The standard substrate library refers to a database storing a plurality of substrate templates, and can be generated according to historical substrate data in an summarizing way or can be designed according to actual production requirements based on expert experience and then stored.
In step S130, the target offset group refers to an offset group closest to the substrate to be detected after being screened, and is generally the smallest offset among the plurality of offset groups.
In step S140, the target standard substrate refers to a standard substrate corresponding to the target offset group. The target offset group is the smallest offset among the offset groups, and thus, the corresponding standard substrate is also the closest standard substrate to the substrate to be inspected.
In step S150, the expansion/contraction ratio refers to a ratio of the size of the first pad to the size of the second pad corresponding to the standard substrate. The offset distance refers to a distance difference between the first pad and the corresponding second pad of the standard substrate.
In the embodiment, the to-be-detected substrate is respectively compared with each standard substrate in the standard substrate library, the closest target standard bonding pad is determined through the offset of the first bonding pad, the expansion and contraction proportion and the offset distance of each first bonding pad of the to-be-detected substrate are determined based on the target standard bonding pad, the target standard substrate is obtained through matching, the expansion and contraction proportion and the offset distance are determined, the expansion and contraction information of the to-be-detected substrate can be rapidly detected, and the detection accuracy is improved. By setting the compensation value in the process of performing offset calculation, errors after substrate processing are also taken into consideration in advance in the offset calculation, and the accuracy of the offset is improved, so that the accuracy of the whole substrate detection is improved.
In some embodiments, the offset is the offset distance of the first pad relative to the corresponding pad of the standard substrate, and the calculation formula is as follows, offset distance = v-2+ (actual coordinate x+compensation x-standard x) 2+ (actual coordinate y+compensation y-standard y)
The actual coordinate x refers to the abscissa of the first bonding pad position, the compensation x refers to the abscissa of the compensation value, the standard x refers to the abscissa of the bonding pad corresponding to the standard substrate, the actual coordinate y refers to the ordinate of the first bonding pad position, the compensation y refers to the ordinate of the compensation value, and the standard y refers to the ordinate of the bonding pad corresponding to the standard substrate.
The offset may also be an offset X and an offset Y, respectively, where the offset X refers to a lateral offset of the first pad relative to the pad corresponding to the standard substrate, and the offset Y refers to a longitudinal offset of the first pad relative to the pad corresponding to the standard substrate, specifically, an offset x= (actual coordinate x+compensation value X) -standard coordinate X, and an offset y= (actual coordinate y+compensation value Y) -standard coordinate Y.
In some embodiments, the step S110 at least includes, but is not limited to, extracting a plurality of brightest regions on the substrate to be detected through an image recognition algorithm, determining circumscribed rectangles corresponding to the brightest regions, and determining a position and a size of each first bonding pad according to a position and a size of each circumscribed rectangle. For example, the bonding pad is made of metal, and is brighter than other positions of the substrate, image information of the substrate to be detected can be collected through an AOI (Automated Optical Inspection, automatic optical detection) device or the like, the brightest area in the image of the substrate to be detected is extracted through an algorithm, and each brightest area is calculated to correspond to an external rectangle, and the external rectangle corresponds to the first bonding pad. The central position coordinates and the sizes of the first bonding pads can be obtained by calculating the central position coordinates of the external rectangles and calculating the width and the height of the external rectangles. And the coordinate and the size of the circumscribed rectangle are calculated, so that the calculated amount is less, and the position and the size information of each first bonding pad can be obtained more quickly.
In some embodiments, step S110 includes, but is not limited to, obtaining the position and size of each first pad on the substrate to be inspected by an optimal template matching algorithm. The optimal template matching algorithm is exemplified by performing image recognition on a substrate to be detected through a preset pad template, obtaining a pattern matched with the pad template on the substrate to be detected, determining the pattern as a first pad, simply and quickly matching the positions of the first pads on the substrate to be detected through template matching, and calculating the distance between the edges through positioning four edges of the matched first pads so as to measure the size of each first pad.
In some embodiments, before step S120, the substrate detection method further includes obtaining second reference points of the plurality of standard substrates, position information of each second bonding pad, and identification signals, where the identification signals are used for marking the corresponding standard substrate, and binding each identification signal with the second reference points of the corresponding standard substrate and the position information of each second bonding pad, respectively, to construct a standard substrate library. In this embodiment, the second fiducial point refers to a mark point of a standard pad. Illustratively, mark points are anchor points for surface mount technology in circuit board design, the shape of Mark points is typically a solid circle with a diameter of 1mm (+ -0.2 mm), and the material may be bare copper, tin or nickel plating. Mark points should be located in the diagonal direction of the substrate to improve recognition effect. The second pad refers to a pad on a standard substrate. By constructing the standard substrate library, the second datum point of the standard substrate corresponding to the identification signal, the position of each second bonding pad and other information can be quickly acquired from the library by utilizing the identification signal.
In some embodiments, the substrate inspection method further includes, before step S120, acquiring a first datum point of the substrate to be inspected, determining a second datum point corresponding to the first datum point in each standard substrate, aligning the first datum point with the second datum point for each standard substrate, and unifying coordinate systems of the substrate to be inspected and the standard substrate. The first reference point refers to a mark point of the pad to be detected, and the first reference point of the pad to be detected can be obtained through an image recognition algorithm or an optimal template matching algorithm by way of example. As shown in fig. 3, fig. 3 is a schematic diagram of alignment of reference points provided in an example of the present application, taking a substrate to be detected and any standard as a basic example, a first reference point of the substrate to be detected and a second reference point of the standard substrate are aligned in an overlapping manner, and at this time, the offset and the expansion and contraction conditions before the substrate to be detected and the standard substrate can be quickly compared in a unified coordinate system.
In some embodiments, the offset group includes an offset between each second pad and each first pad of the standard substrate to which the offset group corresponds. Step S130 includes, but is not limited to, calculating a sum of the offsets of the respective offset groups, and selecting an offset group having the smallest sum of the offsets as the target offset group. For example, it is assumed that the substrate to be inspected is completely free of swelling and deviation, and the sum of the deviation groups calculated by the substrate to be inspected and the standard substrate should be 0. Therefore, the matching degree between the substrate to be detected and the standard substrate corresponding to the offset group can be judged by comparing the sum of the offsets of the offset groups, wherein the smaller the offset sum is, the higher the matching degree between the corresponding standard substrate and the substrate to be detected is.
In other embodiments, the target offset group that best matches the substrate to be inspected may also be determined by calculating the average offset of the individual offset groups and selecting the offset group with the smallest average offset as the target offset group.
In some embodiments, the target offset group may also be determined by calculating the offset sum of the individual offset groups, selecting a number of pre-selected offset groups having offset sums less than the offset sum threshold, determining for each pre-selected offset group whether there is an offset in the pre-selected offset group that exceeds the upper allowable offset limit, if so, removing the pre-selected offset group, and selecting the pre-selected offset group having the smallest offset sum from the remaining pre-selected offset groups as the target offset group.
In some embodiments, the step S140 at least includes, but is not limited to, determining a standard substrate corresponding to the target offset group, obtaining offsets of each second pad of the standard substrate and each first pad of the substrate to be detected, determining the number of offsets greater than a preset offset range, and determining the standard substrate as the target standard substrate when the number of offsets greater than the preset offset range is less than a preset threshold.
In an example, as shown in fig. 2, when the number of offset amounts greater than the preset offset range is greater than the preset threshold, an NG signal is output, where the NG signal is used to indicate that the substrate to be detected cannot be matched with the target standard substrate meeting the requirement. At this time, the serious swelling and shrinking offset of the substrate to be detected can be determined, and the substrate cannot be used for subsequent production. In another example, if NG signals are output from a plurality of substrates to be inspected, it may be that a standard substrate template is absent from the standard substrate library, and the standard substrate library needs to be updated.
In some embodiments, when the number of offsets greater than the preset offset range is greater than the preset threshold, the set of offsets satisfying the condition is reselected to update the set of target offsets in the other standard substrates than the current target standard substrate. And when the number of the offset larger than the preset offset range is smaller than a preset threshold value, determining the standard substrate corresponding to the updated target offset group as the target standard substrate.
In some embodiments, as shown in fig. 2, after determining a target standard substrate, an identification signal corresponding to the target standard substrate is obtained, and the identification signal of the target standard substrate is sent to a downstream receiving machine, so that the downstream receiving machine uses a standard steel mesh corresponding to the target standard substrate to perform solder paste printing according to the identification signal, and improves the production yield by using the standard steel mesh which is most matched according to a matching result, and if the target standard substrate cannot be matched, an NG signal is sent, and the bad substrate to be detected is analyzed.
In some embodiments, step 150 includes, but is not limited to, obtaining position coordinates and dimensions of each second pad of the target standard substrate, obtaining position coordinates and dimensions of each first pad of the substrate to be inspected, calculating an offset distance of each first pad according to the position coordinates of each pair of the first pad and the second pad, and calculating a swelling-shrinking ratio of each first pad according to the dimensions of each pair of the first pad and the second pad.
In some embodiments, after detecting the expansion and contraction ratio and the offset distance of each first bonding pad of the substrate to be detected, because the expansion and contraction of the substrate to be detected is not equal-ratio expansion and contraction, the offset information can be respectively output in a form of supporting different areas (such as four grids and nine grids) through scattered points. Exemplary, as shown in fig. 4, fig. 4 is a schematic diagram showing the first pad offset information provided in an example of the present application, and as shown in fig. 4, the pad area is divided into four blocks in an equally divided manner by four squares. Taking a region as an example, taking the center point of the region as (0, 0), the transverse direction as X, the longitudinal direction as Y, and the coordinates of each point as the specific offset of each pad, highlighting the coordinates beyond the offset range (such as the coordinate points selected by the circular frame in fig. 4), and carrying out low-saturation color display on the coordinates not beyond the range. By means of the practical mode of the embodiment, the offset distribution condition of the first bonding pads in each area can be conveniently checked.
In other embodiments, fig. 5 is a schematic diagram showing the display of the first pad offset information provided by another example of the present application, as shown in fig. 5, after the expansion and contraction ratio and the offset distance of each first pad of the substrate to be detected are detected, the actual positions (as shown by the solid line box in fig. 5) and the sizes of all the first pads and the position and size comparison of the second pads (as shown by the broken line box in fig. 5) can be output at the same time, so that the difference between the substrate and the standard can be more intuitively seen.
In some embodiments, as shown in fig. 2, after the expansion and contraction ratio and the offset distance of each first bonding pad of the substrate to be detected are detected, the actual bonding pad position and bonding pad size of the substrate to be detected are obtained according to the expansion and contraction ratio and the offset distance obtained by testing, and a steel mesh capable of being matched with the substrate to be detected is prepared, so that the production yield is improved.
In some embodiments, as shown in fig. 2, after the expansion and contraction ratio and the offset distance of each first bonding pad of the substrate to be detected are detected, offset information such as the expansion and contraction ratio and the offset distance of the substrate to be detected is sent to upstream production equipment such as an upper chip mounter or a die bonder, and when the upstream production equipment such as the chip mounter or the die bonder is packaged, the position of the actual first bonding pad is obtained according to the expansion and contraction ratio and the offset distance of the substrate to be detected, and the actual position is operated, so that the production yield is improved.
Fig. 6 is a schematic structural diagram of a substrate detection apparatus according to an embodiment of the application. As shown in fig. 6, the substrate detection apparatus at least includes, but is not limited to:
The position acquisition module is used for acquiring the position information of each first bonding pad of the substrate to be detected;
The substrate comparison module is used for respectively carrying out offset calculation with each standard substrate in the standard substrate library according to the positions and the compensation values of each first bonding pad of the substrate to be detected to obtain a plurality of offset groups, wherein the compensation values are used for compensating the flow errors of the bonding pads after solder paste is coated;
a selection module for selecting a target offset group satisfying a first condition from a plurality of offset groups;
The substrate determining module is used for determining a target standard substrate according to the target offset group;
And the detection output module is used for determining the expansion and contraction proportion of each first bonding pad and the offset distance of each first bonding pad based on the target standard substrate.
It should be noted that, the specific implementation and the beneficial effects of the substrate detection apparatus in the embodiments of the present application correspond to those of the substrate detection method provided in any of the embodiments described above, and are not repeated herein.
Fig. 7 is a schematic structural diagram of an electronic device according to an embodiment of the present application. As shown in fig. 7, the electronic device 2000 includes a memory 2100 and a processor 2200. The number of memories 2100, 2200 may be one or more, one memory 2101 and one processor 2201 are illustrated in fig. 7, and the memory 2101 and the processor 2201 in the network device may be connected by a bus or other means, illustrated in fig. 7 by a bus connection.
The memory 2101 is used as a computer readable storage medium for storing a software program, a computer executable program, and modules, such as program instructions/modules corresponding to the methods provided in any of the embodiments of the present application. The processor 2201 implements the substrate detection method provided in any of the above embodiments by running software programs, instructions, and modules stored in the memory 2101.
The memory 2101 may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, at least one application program required for functions. In addition, memory 2101 may include high-speed random access memory and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other non-volatile solid state storage device. In some examples, memory 2101 further includes memory located remotely from processor 2201, which may be connected to the device via a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
An embodiment of the present application also provides a computer-readable storage medium storing computer-executable instructions for performing the substrate detection method as provided in any embodiment of the present application.
An embodiment of the present application also provides a computer program product, including a computer program or computer instructions, where the computer program or computer instructions are stored in a computer readable storage medium, and a processor of the computer device reads the computer program or computer instructions from the computer readable storage medium, and the processor executes the computer program or computer instructions, so that the computer device performs the substrate detection method as provided in any embodiment of the present application.
The system architecture and the application scenario described in the embodiments of the present application are for more clearly describing the technical solution of the embodiments of the present application, and do not constitute a limitation on the technical solution provided by the embodiments of the present application, and those skilled in the art can know that, with the evolution of the system architecture and the appearance of the new application scenario, the technical solution provided by the embodiments of the present application is applicable to similar technical problems.
Those of ordinary skill in the art will appreciate that all or some of the steps of the methods, systems, functional modules/units in the devices disclosed above may be implemented as software, firmware, hardware, and suitable combinations thereof.
In a hardware implementation, the division between functional modules/units mentioned in the above description does not necessarily correspond to the division of physical components, for example, one physical component may have a plurality of functions, or one function or step may be cooperatively performed by several physical components. Some or all of the physical components may be implemented as software executed by a processor, such as a central processing unit, digital signal processor, or microprocessor, or as hardware, or as an integrated circuit, such as an application specific integrated circuit. Such software may be distributed on computer readable media, which may include computer storage media [ or non-transitory media ] and communication media [ or transitory media ]. The term computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data, as known to those skilled in the art. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks [ DVD ] or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by a computer. Furthermore, as is well known to those of ordinary skill in the art, communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media.
As used in this specification, the terms "component," "module," "system," and the like are intended to refer to a computer-related entity, either hardware, firmware, a combination of hardware and software, or software in execution. For example, a component may be, but is not limited to being, a process running on a processor, an object, an executable, a thread of execution, a program, or a computer. By way of illustration, both an application running on a computing device and the computing device can be a component. One or more components may reside within a process or thread of execution and a component may be localized on one computer or distributed between 2 or more computers. Furthermore, these components can execute from various computer readable media having various data structures stored thereon. The components may communicate by way of local or remote processes such as in accordance with a signal having one or more data packets (e.g., data from two components interacting with one another in a local system, distributed system, or across a network such as the internet with other systems by way of the signal).
Some embodiments of the application are described above with reference to the accompanying drawings, which do not limit the scope of the claims. Any modifications, equivalent substitutions and improvements made by those skilled in the art without departing from the scope and spirit of the present application shall fall within the scope of the appended claims.