Disclosure of Invention
In order to solve the problems in the prior art, a signal orientation method, a signal orientation device and a computer readable storage medium are provided, and the problem of low positioning precision of the signal orientation can be solved by using the method, the device and the computer readable storage medium.
The present invention provides the following.
In a first aspect, a signal orientation method is provided, the method comprising obtaining a plurality of signals to be oriented using a sensor array, the sensor array comprising a plurality of sensors that are centrosymmetric; for each of a plurality of preset directions, performing the steps of determining a first signal characteristic of the multipath signal in each preset direction and a second signal characteristic in each preset direction;
wherein the first signal characteristic and the second signal characteristic are signal strength information.
In one possible implementation, the multi-path signal processing method based on the time delay accumulation algorithm comprises the steps of calculating a plurality of first time delay values corresponding to the multi-path signal respectively based on each preset direction, performing time delay compensation and accumulation on the multi-path signal according to the plurality of first time delay values, determining first signal characteristics according to first signal strength information obtained after accumulation, and/or acquiring a plurality of second time delay values corresponding to the multi-path signal respectively based on the opposite direction of each preset direction, performing time delay compensation and accumulation on the multi-path signal according to the plurality of second time delay values, and determining second signal characteristics according to second signal strength information obtained after accumulation.
In one possible implementation, the plurality of preset directions are centrosymmetric, and the method further comprises acquiring a first signal characteristic corresponding to another preset direction which is centrosymmetric to each preset direction as a second signal characteristic corresponding to the opposite direction of each preset direction.
In one possible implementation, determining the difference value of the first signal feature and the second signal feature includes obtaining a difference value D of the first signal feature and the second signal feature, determining the difference value based at least on the difference value, or obtaining a difference value D of the first signal feature and the second signal feature and an accumulated value S, determining the difference value based at least on a first ratio value=the difference value D/the accumulated value S, or obtaining a coefficient C, obtaining a difference value D of the first signal feature and the second signal feature and the accumulated value S, determining the difference value based at least on a second ratio value, wherein the second ratio value=the difference value D/(the accumulated value s+the coefficient C), and the coefficient C is a positive number.
In one possible implementation, the method further comprises adjusting the value of the coefficient C based on the ambient signal noise.
In one possible embodiment, the multipath signals to be directed are multipath sound signals acquired by the microphone array.
In a second aspect, a signal orientation device is provided, the device comprises an acquisition module, a calculation module and a determination module, wherein the acquisition module is used for acquiring a plurality of paths of signals to be oriented by using a sensor array, the sensor array comprises a plurality of sensors which are symmetrical in center, the calculation module is used for determining a first signal characteristic of the plurality of paths of signals according to each preset direction, determining a second signal characteristic of the plurality of paths of signals according to the opposite direction of each preset direction, determining a difference value of the first signal characteristic and the second signal characteristic, and the determination module is used for comparing the difference value corresponding to the preset directions and determining the preset direction corresponding to the maximum difference value from the preset directions as a target signal direction. In one possible implementation, the computing module is further configured to process the multiple signals based on a delay-and-accumulation algorithm to determine a first signal characteristic and a second signal characteristic of the multiple signals, wherein the first signal characteristic and the second signal characteristic are signal strength information.
In a possible implementation manner, the calculating module is further configured to calculate a plurality of first delay values corresponding to the multiple signals respectively based on each preset direction, perform delay compensation and accumulation on the multiple signals according to the plurality of first delay values, determine first signal features according to the first signal strength information obtained after accumulation, and/or obtain a plurality of second delay values corresponding to the multiple signals respectively based on opposite directions of each preset direction, perform delay compensation and accumulation on the multiple signals according to the plurality of second delay values, and determine second signal features according to the second signal strength information obtained after accumulation.
In a possible embodiment, the plurality of preset directions are centrosymmetric, the computing unit being further adapted to obtain a first signal characteristic corresponding to another preset direction of which each preset direction is centrosymmetric as a second signal characteristic determined on the basis of the opposite direction of each preset direction.
In a possible embodiment the calculation module is further adapted to obtain a difference D between the first signal feature and the second signal feature, to determine a difference value based at least on the difference, or to obtain a difference D between the first signal feature and the second signal feature and an accumulated value S, to determine a difference value based at least on a first ratio, wherein the first ratio = the difference D/the accumulated value S, or to obtain a coefficient C, to obtain a difference D between the first signal feature and the second signal feature and the accumulated value S, to determine a difference value based at least on a second ratio, wherein the second ratio = the difference D/(the accumulated value S + the coefficient C), the coefficient C being a positive number.
In a possible embodiment the calculation module is further adapted to adjust the value of the coefficient C based on the ambient signal noise.
In one possible embodiment, the multipath signals to be directed are multipath sound signals acquired by the microphone array.
In a third aspect, there is provided a signal directing apparatus comprising at least one processor and a memory communicatively coupled to the at least one processor, wherein the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of the first aspect.
In a fourth aspect, there is provided a computer readable storage medium storing a program which, when executed by a multi-core processor, causes the multi-core processor to perform a method as in the first aspect.
The above at least one technical scheme adopted by the embodiment of the application has the advantages that in the embodiment, the difference value of the first signal characteristic formed in each preset direction and the second signal characteristic formed in the opposite direction of each preset direction of the multipath signals to be oriented is used as the judgment value of signal orientation, so that the orientation error caused by the response distortion of the sensor can be reduced, the adaptive anti-noise capability is better, and more accurate signal orientation can be realized.
It should be understood that the foregoing description is only an overview of the technical solutions of the present invention, so that the technical means of the present invention may be more clearly understood and implemented in accordance with the content of the specification. The following specific embodiments of the present invention are described in order to make the above and other objects, features and advantages of the present invention more comprehensible.
Detailed Description
Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
In the present invention, it should be understood that terms such as "comprises" or "comprising," etc., are intended to indicate the presence of features, numbers, steps, acts, components, portions, or combinations thereof disclosed in the specification, and are not intended to exclude the possibility of the presence of one or more other features, numbers, steps, acts, components, portions, or combinations thereof.
In addition, it should be noted that, without conflict, the embodiments of the present invention and the features of the embodiments may be combined with each other. The invention will be described in detail below with reference to the drawings in connection with embodiments.
The embodiment of the invention provides a signal orientation method, and the invention concept of the method is first described below.
Fig. 1 shows a sensor array comprising 16 sensors which are centrally symmetrical, as in the background art, the sensor array may respond differently to signals from different directions during beam forming due to, for example, physical structural features of the sensors, e.g., working components of the sensors are typically mounted in a housing whose physical shape may cause the sensors to respond differently to signals from different directions, and further, the signal strength may be attenuated differently, ultimately causing errors in direction determination.
Based on this, an embodiment of the present invention provides a signal orientation method, for example, firstly, a plurality of signals to be oriented may be obtained through a sensor array shown in fig. 1, where one sensor receives one signal, a plurality of preset directions are preset, each preset direction is assumed to be a signal incident direction in sequence, and the following steps are performed, a first signal feature of the plurality of signals is determined based on each preset direction, a second signal feature of the plurality of signals is determined based on an opposite direction of each preset direction, and a difference value between the first signal feature and the second signal feature is determined, where the first signal feature and the second signal feature may be feature values such as signal intensity information, energy information, and the like. And finally, determining the preset direction corresponding to the maximum difference value from the preset directions as a target signal direction, namely as a final signal orientation result by comparing the difference values corresponding to the preset directions. The invention aims at the characteristics of symmetry of the distortion degree corresponding to the sensor in the central symmetry direction of the sensor array, and utilizes the second signal characteristic corresponding to the opposite direction of each preset direction to offset the distortion factor of the first signal characteristic corresponding to the preset direction, thereby not only having better self-adaptive anti-noise capability, but also realizing more accurate signal orientation.
Those skilled in the art will appreciate that the application scenario described is but one example in which embodiments of the present invention may be implemented. The application scope of the embodiments of the present invention is not limited in any way. Having described the basic principles of the present invention, various non-limiting embodiments of the invention are described in detail below.
Fig. 2 is a schematic flow chart of a signal orientation method 200 according to an embodiment of the present application, for implementing signal orientation, in which, from a device perspective, an executing body may be one or more electronic devices, and from a program perspective, the executing body may be a program loaded on these electronic devices accordingly.
As shown in fig. 2, the method may include:
step 201, acquiring a plurality of paths of signals to be oriented by using a sensor array;
The sensor array comprises a plurality of sensors which are symmetrical in center and are used for receiving signals sent by a signal source. The sensor array comprises a plurality of sensors which are centrosymmetric, and it is understood that there is a central point in space, and that any one sensor in the sensor array has another sensor at a position rotated 180 degrees around the central point. Referring to fig. 1, a schematic diagram of one possible sensor array is shown, which is composed of pairs of sensors that are centrally symmetric with respect to a center point, such as sensor a in the upper left corner and sensor B in the lower right corner, which are centrally symmetric with respect to the center point. The arrangement of the plurality of sensors included in the sensor array may be a three-dimensional space array, a planar array, or a linear array, which is not particularly limited in the present application as long as it is composed of a plurality of pairs of sensors that are center-symmetrical with respect to a center point.
In one possible embodiment, the sensor array is a microphone array, and the multiple signals to be directed are multiple sound signals acquired by the microphone array. Wherein the multiple sound signals may be acquired by a centrally symmetric microphone array. The microphone array may be composed of two or more microphones, and the arrangement mode of the microphones may be any one of a three-dimensional space array, a planar array and a linear array, so long as the microphone array includes a plurality of microphones which are centrosymmetric. The sound signals collected by the microphones in the microphone array are integrated into a plurality of paths of sound signals, and the sound signals are digital sound signals after analog-to-digital conversion.
In the present embodiment, the audio signal obtained through the microphone array is described as an example of the multiple signals, however, it should be understood that the multiple signals to be oriented may also be other types of signals, such as ultrasonic signals, radio frequency signals, and the like, and other types of multiple signals may also be signal oriented through the technical solutions provided in the present disclosure.
Step 202, for each preset direction of the plurality of preset directions, executing the following sub-steps a-c to obtain a difference value corresponding to each preset direction:
The method comprises a substep a, a substep b, a substep c, a step of determining a difference value between a first signal characteristic and a second signal characteristic, wherein the first signal characteristic of a multi-path signal is determined based on each preset direction;
The plurality of preset directions are assumed signal incidence directions. Alternatively, the preset direction may be set to a planar direction or a spatial direction according to actual circumstances. Wherein setting the preset direction as the spatial direction means that the set preset direction is not limited to the same plane. For example, if the preset direction is set to be a spatial direction, the microphone arrangement manner in the microphone array may be not limited to a plane, for example, a plurality of microphones are fixedly disposed on the spherical microphone array chassis. In one possible implementation, the plurality of preset directions may be distributed in a central symmetry manner, so that the opposite direction of each preset direction is also included in the plurality of preset directions, and only the first signal characteristic corresponding to the other preset direction that is central symmetry to each preset direction needs to be obtained as the second signal characteristic of the multipath signal determined based on the opposite direction of each preset direction, without additionally calculating the second signal characteristic. Alternatively, further, when the signal direction has been previously defined within a certain angle range, for example, when the microphone array is placed on the wall surface of a room, only one side direction may transmit the sound signal. At this time, the above-mentioned predetermined direction may be further defined and divided, and only the predetermined direction directed to the microphone array from the side space is set in advance.
For example, as shown in fig. 3, the present embodiment takes a disc-type microphone array as an example, the disc-type microphone includes A, B, C, D, E microphones, and preset directions 1to 8 are equally arranged in the microphone array plane, wherein each preset direction is a presumed sound signal direction, and preset direction groups (1, 5), (2, 6), (3, 7), (4, 8) are mutually opposite direction groups. The direction of the straight arrow in fig. 3 represents the actual direction of incidence of the sound signal, which is incident in parallel into each of the microphones for the plurality of microphones in the microphone array. Here, the shape, the number of microphones, the fixing manner of the microphones, and the fixing position of the microphones are not particularly limited, and in practical application, the microphone array chassis may be any shape such as a straight type, a triangle type, a sphere type, a semicircle type, etc., the number of the microphones is any number greater than 1, and the plurality of microphones may be fixedly mounted or movably mounted in any arrangement other than the overlapping arrangement, and the present invention is exemplified by the microphones in fig. 3, but is not limited thereto. In addition, the setting manner of the preset direction is not particularly limited, and any number of direction combinations greater than 1 in a plane or a space may be used, and the preset directions 1to 8 in fig. 3 are taken as an example, but the setting manner is not limited thereto.
In one possible embodiment, the first signal feature and the second signal feature may be signal strength information. The above sub-steps a and b may further comprise processing the multiplexed signal based on a delay-and-accumulation algorithm to determine the first signal characteristic and the second signal characteristic.
Referring to fig. 3, the above-mentioned processing of multiple signals based on the delay accumulation algorithm is described in detail, and the delay accumulation algorithm may be divided into three steps of delay estimation, delay compensation and signal accumulation. The time delay estimation specifically comprises the steps that a microphone A can be set as a reference microphone, firstly, the preset direction 1 is assumed to be the signal incidence direction, and time delay estimated values of other microphones (B, C, D, E) and the reference microphone A in the preset direction 1 are obtained, wherein the time delay estimated values are theoretical delay time of the signals received by the other microphones (B, C, D, E) relative to the reference microphone A when the signals are incidence from the preset direction 1. In particular, the delay estimate is proportional to the microphone spacing and the sampling frequency and inversely proportional to the propagation velocity of the sound. Further, the time delay compensation specifically comprises that each path of sound signals corresponding to each microphone is included in the received multipath sound signals, when the preset direction 1 is assumed to be the signal incidence direction, based on the time delay estimated values of the other microphones (B, C, D, E) and the reference microphone A in the preset direction 1, a plurality of paths of audio corresponding to the other microphones (B, C, D, E) are offset in the time domain according to the time delay estimated values corresponding to the other microphones, and the time delay compensation is also performed. Further, the signal accumulation specifically comprises that the multipath sound signals after delay compensation are accumulated, and the time domain signal maximum energy value of the accumulated sound signals can be obtained as signal intensity information in a preset direction 1. By analogy, the preset directions 2,3, 8 may be assumed in turn as signal incidence directions, and signal strength information for each preset direction, which may be the energy maximum after time domain signal accumulation, is obtained based on a time delay accumulation algorithm. It can be understood that, under the condition that other factors are the same, the closer the selected preset direction is to the actual audio direction, the more accurate the delay estimation value corresponding to the preset direction is, and further, the higher energy, that is, the highest signal strength, can be obtained after the delay compensation and accumulation of the multipath sound signals in the time domain.
Based on this, for each preset direction, it is possible to determine that the first signal characteristic is signal strength information for each preset direction and the second signal characteristic is signal strength information obtained by time-delay accumulation based on the opposite direction of each preset direction. For example, referring to fig. 3, for the preset direction 1, the corresponding first signal characteristic is the signal strength information for the preset direction 1, and the corresponding second signal characteristic is the signal strength information for the preset direction 5.
Alternatively, the energy may be energy of a preset frequency band, not necessarily energy of a full frequency band. In this embodiment, the selection of the preset frequency domain range is not particularly limited, and different frequency domain ranges may be selected according to the actual application scenario, for example, a specific sound frequency range of a specific animal is selected as the preset frequency domain range in the marine organism detection application scenario, for example, a human voice frequency band is selected as the preset frequency band in the human voice detection application scenario.
In one possible implementation manner, the processing of the multipath signals based on the delay accumulation algorithm may specifically include:
For each preset direction, when calculating the first signal characteristics, calculating a plurality of first delay values corresponding to the multipath signals respectively based on each preset direction; the multi-channel signal is subjected to time delay compensation and accumulation according to a plurality of first time delay values, and a first signal characteristic is determined according to first signal intensity information obtained after accumulation;
When calculating the second signal characteristics for each preset direction, a plurality of second delay values corresponding to the multipath signals respectively can be obtained based on the opposite direction of each preset direction, the multipath signals are subjected to delay compensation and accumulation according to the second delay values, and the second signal characteristics are determined according to the second signal intensity information obtained after accumulation.
For example, it is understood that the plurality of preset directions may not have a combination of directions that are centrosymmetric, for example, the plurality of preset directions may include only preset directions 1,2, 3, 4, 5 shown in fig. 3, where an additional determination of an opposite direction of each preset direction is required, and the second signal characteristic is determined based on the delay-accumulation algorithm as described above.
In one possible implementation, in sub-step c, when determining the difference value of the first signal feature and the second signal feature, the following steps may be performed:
A difference D between the first signal feature and the second signal feature may be obtained, and a difference value may be determined based at least on the difference.
Referring to fig. 4, signal strength information acquired for 8 preset directions shown in fig. 3 is shown, the signal strength obtained when the preset direction 1 is assumed to be the signal incidence direction is E1, the signal strength obtained when the preset direction 2 is assumed to be the signal incidence direction is E2, and so on. According to the above description, it can be known that the first signal characteristic corresponding to the preset direction 1 is E1, the second signal characteristic is E5, the difference d_1=e1-E5 between the first signal characteristic and the second signal characteristic corresponding to the preset direction 1, and so on, the difference d_1-d_8 corresponding to the preset directions 1-8 respectively can be obtained. The difference value corresponding to each preset direction may be further determined based on the difference value, for example, the difference value may be directly used as the difference value.
Further, a difference D between the first signal feature and the second signal feature and an accumulated value S may also be obtained, and a difference value may be determined based on at least the first ratio value, where the first ratio value = the difference D/the accumulated value S.
Referring still to fig. 4, it can be known from the above description that the difference values d_1 to d_8 corresponding to the preset directions 1 to 8 respectively can be obtained, the first signal characteristic for the preset direction 1 is E1, the second signal characteristic for the preset direction 1 is E5, the accumulated values s_1=e1+e5 for the first signal characteristic and the second signal characteristic for the preset direction 1 are respectively obtained, and the accumulated values s_1 to s_8 corresponding to the preset directions 1 to 8 respectively can be obtained by analogy. The difference value corresponding to each preset direction may be further determined based on a first ratio value, wherein the first ratio value = difference value D/accumulated value S. For example, a first ratio corresponding to a preset direction 1And so on.
For the signal, it is assumed that a signal bias parameter, which is simply a difference between the first signal feature and the second signal feature, is used as a difference value, and the difference value may float simultaneously with the volume and the directivity, in other words, the volume has a large influence on the difference value, and the difference value may be inaccurately measured. The influence of the volume can be counteracted by adopting the ratio parameter (namely the first ratio) of the signal bias parameter to the total signal strength.
Still further, a coefficient C may be obtained, a difference D between the first signal feature and the second signal feature and an accumulated value S are obtained, and a difference value is determined based on at least a second ratio, wherein the second ratio = the difference D/(the accumulated value s+the coefficient C), and the coefficient C is a positive number.
Referring still to fig. 4, it can be seen from the above description that the difference values d_1 to d_8 corresponding to the preset directions 1 to 8 respectively can be obtained, and the accumulated values s_1 to s_8 corresponding to the preset directions 1 to 8 respectively. The difference value corresponding to each preset direction may be further determined based on a second ratio value, wherein the second ratio value = difference value D/(accumulated value S + coefficient C). For example, a second ratio corresponding to the preset direction 1And so on.
In the case of sound signals, in an environment where only noise is absent, very small noise also has a large influence on directivity, and this noise influence is unstable and randomly dithered. If only the first ratio is adopted, the difference value for indicating the direction may be randomly dithered along with the change of the noise, and the coefficient C is added in this embodiment, so that the influence of the micro noise can be resisted, and the direction dithering caused by the micro noise is reduced when no real signal exists.
In one possible implementation, the value of coefficient C may be adjusted based on ambient signal noise. It will be appreciated that when the ambient noise is loud, if a smaller value of the coefficient C is used, the random jitter effect caused by noise may not be resisted, so the coefficient C may be adjusted based on the detected noise value, so that the direction jitter caused by the minute noise can be reduced better when there is no real signal.
Step 203, comparing the magnitudes of the difference values corresponding to the preset directions, and determining the preset direction corresponding to the maximum difference value as the target signal direction.
Referring to fig. 4, assuming that the preset direction corresponding to the maximum difference value calculated according to the above embodiment is the preset direction 6, the preset direction 6 may be considered as the target signal direction, that is, the calculated signal incident direction, and the deviation from the actual signal incident direction is small.
Based on the same technical concept, the embodiment of the invention also provides a signal orientation device for executing the signal orientation method provided by any one of the embodiments. Fig. 5 is a schematic structural diagram of a signal orientation device according to an embodiment of the present invention.
As shown in fig. 5, the apparatus 500 includes:
An acquisition module 501, configured to acquire multiple signals to be oriented by using a sensor array, where the sensor array includes a plurality of sensors that are centrosymmetric;
A calculation module 502, configured to determine, for each of a plurality of preset directions, a first signal characteristic of the multi-path signal based on each preset direction, a second signal characteristic of the multi-path signal based on an opposite direction of each preset direction, and a difference value of the first signal characteristic and the second signal characteristic;
A determining module 503, configured to compare magnitudes of the difference values corresponding to the multiple preset directions, and determine, from the multiple preset directions, the preset direction corresponding to the maximum difference value as a target signal direction.
In one possible implementation, the computing module is further configured to process the multiple signals based on a delay-and-accumulation algorithm to determine a first signal characteristic and a second signal characteristic of the multiple signals, wherein the first signal characteristic and the second signal characteristic are signal strength information.
In a possible implementation manner, the calculating module is further configured to calculate a plurality of first delay values corresponding to the multiple signals respectively based on each preset direction, perform delay compensation and accumulation on the multiple signals according to the plurality of first delay values, determine first signal features according to the first signal strength information obtained after accumulation, and/or obtain a plurality of second delay values corresponding to the multiple signals respectively based on opposite directions of each preset direction, perform delay compensation and accumulation on the multiple signals according to the plurality of second delay values, and determine second signal features according to the second signal strength information obtained after accumulation.
In a possible embodiment, the plurality of preset directions are centrosymmetric, the computing unit being further adapted to obtain a first signal characteristic corresponding to another preset direction of which each preset direction is centrosymmetric as a second signal characteristic determined on the basis of the opposite direction of each preset direction.
In a possible embodiment the calculation module is further adapted to obtain a difference D between the first signal feature and the second signal feature, to determine a difference value based at least on the difference, or to obtain a difference D between the first signal feature and the second signal feature and an accumulated value S, to determine a difference value based at least on a first ratio, wherein the first ratio = the difference D/the accumulated value S, or to obtain a coefficient C, to obtain a difference D between the first signal feature and the second signal feature and the accumulated value S, to determine a difference value based at least on a second ratio, wherein the second ratio = the difference D/(the accumulated value S + the coefficient C), the coefficient C being a positive number.
In a possible embodiment the calculation module is further adapted to adjust the value of the coefficient C based on the ambient signal noise.
In one possible embodiment, the multipath signals to be directed are multipath sound signals acquired by the microphone array.
It should be noted that, the signal orientation device in the embodiment of the present application may implement each process of the foregoing embodiment of the signal orientation method, and achieve the same effects and functions, which are not described herein again.
Fig. 6 is a signal directing apparatus according to one embodiment of the present application for performing the signal directing method shown in fig. 2, the apparatus comprising at least one processor, and a memory communicatively coupled to the at least one processor, wherein the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method described in the above embodiments.
According to some embodiments of the present application there is provided a non-volatile computer storage medium having stored thereon computer executable instructions arranged, when executed by a processor, to perform the method of the above embodiments.
The embodiments of the present application are described in a progressive manner, and the same and similar parts of the embodiments are all referred to each other, and each embodiment is mainly described in the differences from the other embodiments. In particular, for apparatus, devices and computer readable storage medium embodiments, the description thereof is simplified as it is substantially similar to the method embodiments, as relevant points may be found in part in the description of the method embodiments.
The apparatus, the device, and the computer readable storage medium provided in the embodiments of the present application are in one-to-one correspondence with the methods, so that the apparatus, the device, and the computer readable storage medium also have similar beneficial technical effects as the corresponding methods, and since the beneficial technical effects of the methods have been described in detail above, the beneficial technical effects of the apparatus, the device, and the computer readable storage medium are not repeated herein.
It will be appreciated by those skilled in the art that embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In one typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include volatile memory in a computer-readable medium, random Access Memory (RAM) and/or nonvolatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of computer-readable media.
Computer readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of storage media for a computer include, but are not limited to, phase change memory (PRAM), static Random Access Memory (SRAM), dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), read Only Memory (ROM), electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium, which can be used to store information that can be accessed by a computing device. Furthermore, although the operations of the methods of the present invention are depicted in the drawings in a particular order, this is not required or suggested that these operations must be performed in this particular order or that all of the illustrated operations must be performed in order to achieve desirable results. Additionally or alternatively, certain steps may be omitted, multiple steps combined into one step to perform, and/or one step decomposed into multiple steps to perform.
While the spirit and principles of the present invention have been described with reference to several particular embodiments, it is to be understood that the invention is not limited to the disclosed embodiments nor does it imply that features of the various aspects are not useful in combination, nor are they useful in any combination, such as for convenience of description. The invention is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims.