The invention relates to the technical field of image processing, in particular to a self-adaptive image compression method and system based on density clustering.
Disclosure of Invention
The invention aims at providing a self-adaptive image compression method based on density clustering, which has low calculation complexity; and intelligent determination of the type of color after compression is achieved.
The embodiment of the invention provides a self-adaptive image compression method based on density clustering, which comprises the following steps:
preprocessing picture data to be processed to obtain first image data;
calculating Euclidean distance between every two pixel points in the first image data and constructing a first matrix based on the Euclidean distance;
determining a random walk-type Laplace matrix corresponding to the first matrix, decomposing eigenvalues of the random walk-type Laplace matrix, and determining the number of pixel point clusters;
clustering the first image data based on the number of pixel point clusters to obtain a plurality of pixel point clusters;
determining a representative pixel point corresponding to each pixel point cluster;
and determining RGB tristimulus values of other pixel points in the same cluster based on the RGB tristimulus values of the representative pixel points.
Preferably, preprocessing the picture data to be processed to obtain first image data includes:
determining the pixel width and the pixel height of a picture to be processed corresponding to the picture to be processed data;
and reading the values of three color channels of each pixel RGB in the picture to be processed, and carrying out normalization processing on the values of the three color channels of each pixel RGB.
Preferably, the calculation formula of each element in the first matrix is as follows:
in dist m,n Elements representing the mth row and the nth column of the first matrix; dist (dist) n,m Elements representing the nth row and mth column of the first matrix; r is (r) m,n 、g m,n 、b m,n RGB tristimulus values for pixels of an mth row and an nth column in the first image data; r is (r) m,n-1 、g m,n-1 、b m,n-1 RGB tristimulus values for pixels of an nth row and an nth column of the first image data.
Preferably, determining a random walk-type laplace matrix corresponding to the first matrix and performing eigenvalue decomposition on the random walk-type laplace matrix, and determining the number of pixel point clusters includes:
constructing an adjacent matrix corresponding to the first matrix; the adjacency matrix is expressed as
Constructing a degree matrix corresponding to the first matrix; the degree matrix is expressed as
D wh×wh =diag(sum(W wh×wh ));
Determining a random walk-type Laplacian matrix based on the adjacency matrix and the degree matrix; the random walk-type Laplace matrix is denoted as L rw =I-D wh×wh -1 W wh×wh
Performing eigenvalue decomposition on the random walk type Laplace matrix, and sequencing eigenvalues according to ascending order to obtain an eigenvalue sequence;
and determining the clustering number of the pixel points based on the characteristic value sequence.
Preferably, the clustering processing is performed on the first image data based on the number of pixel point clusters to obtain a plurality of pixel point clusters, including:
determining the value of the cluster number of the pixel points as a reference value;
determining a neighborhood radius and a neighborhood threshold;
determining a result queue based on the neighborhood radius and the neighborhood threshold;
drawing an reachable distance graph based on the result queue;
the pixel points in the first image data are divided into pixel point clusters of which the number corresponds to the reference value based on the maximum value points of the front reference value of the reachable distance graph.
Preferably, determining a representative pixel corresponding to each pixel cluster includes:
calculating a distance matrix between every two pixel points in each pixel point cluster;
and determining a pixel point with the smallest sum of the distances between the pixel point and other pixel points in the pixel point clusters from each pixel point cluster as a representative pixel point.
Preferably, determining the neighborhood radius, the neighborhood threshold, includes:
acquiring first parameter data corresponding to the picture data to be processed, second parameter data of shooting equipment corresponding to the picture data to be processed, third parameter data of a transmission path for transmitting the picture data to be processed, and fourth parameter data of a target object for receiving the picture data to be processed;
performing feature extraction on the first parameter data based on a preset first feature extraction template to obtain a plurality of first feature values;
performing feature extraction on the second parameter data based on a preset second feature extraction template to obtain a plurality of second feature values;
performing feature extraction on the third parameter data based on a preset third feature extraction template to obtain a plurality of third feature values;
performing feature extraction on the fourth parameter data based on a preset fourth feature extraction template to obtain a plurality of fourth feature values;
constructing an analysis parameter set based on the first feature value, the second feature value, the third feature value and the fourth feature value;
determining a parameter set based on the analysis parameter set and a preset analysis library;
and analyzing the parameter set, and determining a neighborhood radius and a neighborhood threshold.
Preferably, the adaptive image compression method based on density clustering further comprises:
acquiring compressed second image data;
determining a plurality of evaluation parameters representing the compression effect based on the first image data and the second image data;
correlating the evaluation parameters, parameter sets and analysis parameter sets corresponding to the second image data to form analysis data and storing the analysis data into a database to be analyzed;
classifying and grouping analysis data in the database to be analyzed based on the analysis parameter set;
when the data quantity in the group reaches a preset quantity threshold value, the group is extracted to be used as an analysis data group;
determining the adaptation condition of the parameter set and the analysis parameter set based on the evaluation parameters of each analysis data in the analysis data set;
triggering an update mode when the adaptation condition belongs to a preset update triggering condition;
taking an analysis parameter set corresponding to the analysis data set as an analysis parameter set to be updated;
based on a plurality of preset adjustment parameter sets, adjusting the parameter sets, obtaining a plurality of adjusted parameter sets to be verified, and arranging the parameter sets to be verified to form a list to be called;
when the parameter set corresponding to the analysis parameter set to be updated is called, sequentially calling based on the sequence of the list to be called;
when the parameter set to be verified in the list to be called is called for preset times;
based on a preset evaluation analysis library, analyzing a plurality of evaluation parameters corresponding to the parameter sets to be verified, and determining evaluation values corresponding to the parameter sets to be verified;
and extracting the parameter set to be verified with the highest evaluation value to replace the parameter set corresponding to the analysis parameter set to be updated in the analysis library.
The invention also provides a self-adaptive image compression system based on density clustering, which comprises:
the acquisition module is used for preprocessing the picture data to be processed to acquire first image data;
the construction module is used for calculating Euclidean distance between every two pixel points in the first image data and constructing a first matrix based on the Euclidean distance;
the first determining module is used for determining a random walk type Laplace matrix corresponding to the first matrix, decomposing characteristic values of the random walk type Laplace matrix and determining the number of pixel point clusters;
the clustering module is used for carrying out clustering processing on the first image data based on the number of the pixel point clusters to obtain a plurality of pixel point clusters;
the second determining module is used for determining a representative pixel point corresponding to each pixel point cluster;
and the replacement module is used for determining RGB tristimulus values of other pixel points in the same cluster based on the RGB tristimulus values of the representative pixel points.
Preferably, the obtaining module performs preprocessing on the image data to be processed to obtain first image data, and performs the following operations:
determining the pixel width and the pixel height of a picture to be processed corresponding to the picture to be processed data;
and reading the values of three color channels of each pixel RGB in the picture to be processed, and carrying out normalization processing on the values of the three color channels of each pixel RGB.
Additional features and advantages of the invention 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 invention. The objectives and other advantages of the invention will be realized and attained by the structure particularly pointed out in the written description and claims thereof as well as the appended drawings.
The technical scheme of the invention is further described in detail through the drawings and the embodiments.
Detailed Description
The preferred embodiments of the present invention will be described below with reference to the accompanying drawings, it being understood that the preferred embodiments described herein are for illustration and explanation of the present invention only, and are not intended to limit the present invention.
The embodiment of the invention provides a self-adaptive image compression method based on density clustering, which is shown in fig. 1 and comprises the following steps:
step S1: preprocessing picture data to be processed to obtain first image data;
step S2: calculating Euclidean distance between every two pixel points in the first image data and constructing a first matrix based on the Euclidean distance;
step S3: determining a random walk-type Laplace matrix corresponding to the first matrix, decomposing eigenvalues of the random walk-type Laplace matrix, and determining the number of pixel point clusters;
step S4: clustering the first image data based on the number of pixel point clusters to obtain a plurality of pixel point clusters;
step S5: determining a representative pixel point corresponding to each pixel point cluster;
step S6: and determining RGB tristimulus values of other pixel points in the same cluster based on the RGB tristimulus values of the representative pixel points.
The method for preprocessing the picture data to be processed to obtain first image data comprises the following steps:
determining the pixel width and the pixel height of a picture to be processed corresponding to the picture to be processed data;
and reading the values of three color channels of each pixel RGB in the picture to be processed, and carrying out normalization processing on the values of the three color channels of each pixel RGB.
Wherein, the calculation formula of each element in the first matrix is as follows:
in dist m,n Representing the mth row in the first matrixAn element of column n; dist (dist) n,m Elements representing the nth row and mth column of the first matrix; r is (r) m,n 、g m,n 、b m,n RGB tristimulus values for pixels of an mth row and an nth column in the first image data; r is (r) m,n-1 、g m,n-1 、b m,n-1 RGB tristimulus values for pixels of an nth row and an nth column of the first image data.
The method for determining the pixel cluster number comprises the steps of determining a random walk type Laplacian matrix corresponding to a first matrix, performing eigenvalue decomposition on the random walk type Laplacian matrix, and determining the pixel cluster number, wherein the method comprises the following steps:
constructing an adjacent matrix corresponding to the first matrix; the adjacency matrix is expressed as
Constructing a degree matrix corresponding to the first matrix; the degree matrix is expressed as
D wh×wh =diag(sum(W wh×wh ));
Determining a random walk-type Laplacian matrix based on the adjacency matrix and the degree matrix; the random walk-type Laplace matrix is denoted as L rw =I-D wh×wh -1 W wh×wh
Performing eigenvalue decomposition on the random walk type Laplace matrix, and sequencing eigenvalues according to ascending order to obtain an eigenvalue sequence;
and determining the clustering number of the pixel points based on the characteristic value sequence.
The method for clustering the first image data based on the pixel point cluster number to obtain a plurality of pixel point clusters comprises the following steps:
determining the value of the cluster number of the pixel points as a reference value;
determining a neighborhood radius and a neighborhood threshold;
determining a result queue based on the neighborhood radius and the neighborhood threshold;
drawing an reachable distance graph based on the result queue;
the pixel points in the first image data are divided into pixel point clusters of which the number corresponds to the reference value based on the maximum value points of the front reference value of the reachable distance graph.
Wherein determining the representative pixel point corresponding to each pixel point cluster comprises:
calculating a distance matrix between every two pixel points in each pixel point cluster;
and determining a pixel point with the smallest sum of the distances between the pixel point and other pixel points in the pixel point clusters from each pixel point cluster as a representative pixel point.
The working principle and the beneficial effects of the technical scheme are as follows:
as shown in fig. 2 to 7, firstly, preprocessing the picture data to be processed, and after preprocessing, constructing a matrix DIST (wh order symmetric square matrix) according to the euclidean distance between every two pixel points; performing eigenvalue decomposition on a random walk type Laplace matrix of the DIST, and determining the clustering cluster number k of the pixel points; using OPTICS clustering to gather wh pixel points into k classes; selecting a representative pixel from each pixel cluster; the RGB tristimulus values representing the pixel points are used to replace the RGB tristimulus values of other pixel points in the same cluster. The preprocessing of the picture data mainly comprises the following steps: acquiring a pixel width (w) and a pixel height (h) of a picture; reading the values R of three color channels of each pixel point RGB i,j ,G i,j ,B i,j (i is more than or equal to 1 and less than or equal to h, j is more than or equal to 1 and less than or equal to w); and normalize the RGB tristimulus values i,j =R i,j /255,g i,j =G i,j /(255,b i,j =B i,j 255); secondly, performing eigenvalue decomposition on a random walk-type Laplacian matrix of the DIST, and determining the clustering number k of the pixel points, wherein the steps are as follows: constructing an adjacency matrix (wh-order square matrix):build degree matrix (wh order matrix): d (D) wh×wh =diag(sum(W wh×wh ) A) is provided; calculating a random walk matrix: l (L) rw =I-D wh×wh -1 W wh×wh The method comprises the steps of carrying out a first treatment on the surface of the For L rw Decomposing the characteristic values, and arranging the characteristic values in ascending order to obtain lambda 1 ≤λ 2 ≤…≤λ wh The method comprises the steps of carrying out a first treatment on the surface of the There is a certain value k such thatλ k Strictly greater than lambda k+1 And determining the clustering number of the pixel points as k. And then clustering all the pixel points by using an OPTICS method, wherein the method comprises the following specific steps of: input neighborhood radius e=10/255, neighbor number threshold +.>(rounding off); outputting a result queue by an OPTICS method; drawing an reachable distance graph according to the result queue; dividing pixel points into k classes according to the first k maximum values of the reachable distance graph; finally, selecting a representative pixel from each pixel cluster comprises the following steps: calculating and generating a distance matrix between every two pixel points in k pixel point clusters: DIST (DIST) 1 ,…,DIST k The method comprises the steps of carrying out a first treatment on the surface of the Selecting a pixel point with the smallest Sum of Distances (SDIST) between the pixel point and all other pixel points in the cluster from each pixel point cluster as a representative pixel point, wherein the SDIST i =sum(DIST i ),1≤i≤k。SDIST i For the ith distance matrix DIST i The sum of the values of each column (or each row).
According to the self-adaptive image compression method based on density clustering, the color types are automatically determined according to the input static image; clustering the pixel points with the same and similar colors by using a density clustering method; using the kernel point of the pixel cluster (SDIST i Pixel point corresponding to the minimum value) to replace the colors of other pixel points in the same cluster, thereby completing image compression and having low calculation complexity; and intelligent determination of the type of color after compression is achieved.
In one embodiment, determining a neighborhood radius, a neighborhood threshold, includes:
acquiring first parameter data corresponding to the picture data to be processed, second parameter data of shooting equipment corresponding to the picture data to be processed, third parameter data of a transmission path for transmitting the picture data to be processed, and fourth parameter data of a target object for receiving the picture data to be processed;
performing feature extraction on the first parameter data based on a preset first feature extraction template to obtain a plurality of first feature values;
performing feature extraction on the second parameter data based on a preset second feature extraction template to obtain a plurality of second feature values;
performing feature extraction on the third parameter data based on a preset third feature extraction template to obtain a plurality of third feature values;
performing feature extraction on the fourth parameter data based on a preset fourth feature extraction template to obtain a plurality of fourth feature values;
constructing an analysis parameter set based on the first feature value, the second feature value, the third feature value and the fourth feature value;
determining a parameter set based on the analysis parameter set and a preset analysis library;
and analyzing the parameter set, and determining a neighborhood radius and a neighborhood threshold.
The working principle and the beneficial effects of the technical scheme are as follows:
comprehensively analyzing first parameter data (picture size, resolution, picture type and the like) of the picture data to be processed, second parameter data (shooting parameters, model number, brand and the like) of shooting equipment corresponding to the picture data to be processed, third parameter data (bandwidth, maximum transmission rate, current residual bandwidth and the like) of a transmission path of the picture data to be transmitted, and fourth parameter data (receivable picture size, resolution and the like) of a target object of the picture data to be received; the parameters of the clusters, namely the neighborhood radius and the neighborhood threshold value, are determined through the autonomous analysis of a pre-constructed analysis library, and the adaptive compression is realized through analyzing the compressed scenes and carrying out parameter selection. The first characteristic value is a first quantized value after the first standard quantization corresponding to the first parameter data; the second characteristic value is a second quantized value after second standard quantization corresponding to second parameter data; the third characteristic value is a third quantized value after third standard quantization corresponding to third parameter data; the fourth characteristic value is a fourth quantized value after fourth standard quantization corresponding to the fourth parameter data. The analysis library is constructed by professionals in advance; in an analysis library, analyzing a parameter set and a parameter set in one-to-one correspondence; in the analysis process, based on an analysis parameter set and a preset analysis library, the parameter set is determined, specifically, the analysis parameter set is matched with the analysis parameter set in the library in a one-to-one correspondence manner, the parameter set associated with the analysis parameter set matched with the analysis parameter set is extracted, and the parameter set mainly comprises a neighborhood radius and a neighborhood threshold used for clustering. In addition, in order to improve the compression effect, a multi-time compression mode can be adopted, namely, a parameter set comprises a plurality of groups of neighborhood radii and neighborhood thresholds, and the neighborhood radii and the neighborhood thresholds are sequentially called for multi-time compression.
In one embodiment, the adaptive image compression method based on density clustering further comprises:
acquiring compressed second image data;
determining a plurality of evaluation parameters representing the compression effect based on the first image data and the second image data; the evaluation parameters included: distortion degree, compression ratio, etc.;
correlating the evaluation parameters, parameter sets and analysis parameter sets corresponding to the second image data to form analysis data and storing the analysis data into a database to be analyzed;
classifying and grouping analysis data in the database to be analyzed based on the analysis parameter set; data corresponding to the same analysis parameter set are classified into a group;
when the data quantity in the group reaches a preset quantity threshold (any value above 1000), extracting the group as an analysis data group;
determining the adaptation condition of the parameter set and the analysis parameter set based on the evaluation parameters of each analysis data in the analysis data set;
triggering an update mode when the adaptation condition belongs to a preset update triggering condition;
taking an analysis parameter set corresponding to the analysis data set as an analysis parameter set to be updated;
based on a plurality of preset adjustment parameter sets, adjusting the parameter sets, obtaining a plurality of adjusted parameter sets to be verified, and arranging the parameter sets to be verified to form a list to be called;
when the parameter set corresponding to the analysis parameter set to be updated is called, sequentially calling based on the sequence of the list to be called;
when the parameter set to be verified in the list to be called is called for preset times (for example, 1000 times);
based on a preset evaluation analysis library, analyzing a plurality of evaluation parameters corresponding to the parameter sets to be verified, and determining evaluation values corresponding to the parameter sets to be verified;
and extracting the parameter set to be verified with the highest evaluation value to replace the parameter set corresponding to the analysis parameter set to be updated in the analysis library.
The working principle and the beneficial effects of the technical scheme are as follows:
the compressed effect is analyzed and monitored, the parameter set in the analysis library and the adaptation condition of the analysis parameter set are determined to be verified, when the adaptation condition is not ideal, the update is triggered, the parameter set is adjusted through a plurality of preset adjustment parameter sets, then the parameter sets are respectively evaluated according to the adjusted parameter sets, and the appropriate parameter sets are selected for re-association, so that the update of the analysis library is realized, and the compression effect is ensured. The method comprises the steps of determining the adaptation condition of a parameter set and an analysis parameter set based on evaluation parameters of all analysis data in an analysis data set, wherein the adaptation condition is specifically as follows: firstly, carrying out feature extraction on evaluation parameters based on a preset evaluation feature extraction template to determine a plurality of evaluation features, and then adopting a preset scoring rule corresponding to each evaluation feature to determine a scoring value corresponding to each evaluation feature; and then the sum of the scoring values is referred to as an adaptation condition, and the triggering of the updating mode can be specifically triggered when the sum of the scoring values is smaller than or equal to a preset triggering threshold value. Wherein the evaluation features include: average and variance of compression ratio, average and variance of distortion, and the like. The evaluation analysis library comprises: and the evaluation feature extraction template and the scoring rule corresponding to each evaluation feature.
The invention also provides a self-adaptive image compression system based on density clustering, as shown in fig. 8, comprising:
the acquisition module 1 is used for preprocessing the picture data to be processed to acquire first image data;
the construction module 2 is used for calculating Euclidean distance between every two pixel points in the first image data and constructing a first matrix based on the Euclidean distance;
the first determining module 3 is used for determining a random walk type Laplace matrix corresponding to the first matrix, decomposing characteristic values of the random walk type Laplace matrix and determining the number of pixel point clusters;
the clustering module 4 is used for carrying out clustering processing on the first image data based on the number of the pixel point clusters to obtain a plurality of pixel point clusters;
the second determining module 5 is configured to determine a representative pixel point corresponding to each pixel point cluster;
and the replacing module 6 is used for determining RGB tristimulus values of other pixel points in the same cluster based on the RGB tristimulus values of the representative pixel points.
The obtaining module 1 pre-processes the picture data to be processed to obtain first image data, and performs the following operations:
determining the pixel width and the pixel height of a picture to be processed corresponding to the picture to be processed data;
and reading the values of three color channels of each pixel RGB in the picture to be processed, and carrying out normalization processing on the values of the three color channels of each pixel RGB.
Wherein, the calculation formula of each element in the first matrix is as follows:
in dist m,n Elements representing the mth row and the nth column of the first matrix; dist (dist) n,m Elements representing the nth row and mth column of the first matrix; r is (r) m,n 、g m,n 、b m,n RGB tristimulus values for pixels of an mth row and an nth column in the first image data; r is (r) m,n-1 、g m,n-1 、b m,n-1 RGB tristimulus values for pixels of an nth row and an nth column of the first image data.
The first determining module 3 determines a random walk type laplace matrix corresponding to the first matrix, performs eigenvalue decomposition on the random walk type laplace matrix, determines the number of pixel point clusters, and performs the following operations:
constructing an adjacent matrix corresponding to the first matrix; the adjacency matrix is expressed as
Constructing a degree matrix corresponding to the first matrix; the degree matrix is expressed as
D wh×wh =diag(sum(W wh×wh ));
Determining a random walk-type Laplacian matrix based on the adjacency matrix and the degree matrix; the random walk-type Laplace matrix is denoted as L rw =I-D wh×wh -1 W wh×wh
Performing eigenvalue decomposition on the random walk type Laplace matrix, and sequencing eigenvalues according to ascending order to obtain an eigenvalue sequence;
and determining the clustering number of the pixel points based on the characteristic value sequence.
The clustering module 4 performs clustering processing on the first image data based on the number of pixel point clusters to obtain a plurality of pixel point clusters, and performs the following operations:
determining the value of the cluster number of the pixel points as a reference value;
determining a neighborhood radius and a neighborhood threshold;
determining a result queue based on the neighborhood radius and the neighborhood threshold;
drawing an reachable distance graph based on the result queue;
the pixel points in the first image data are divided into pixel point clusters of which the number corresponds to the reference value based on the maximum value points of the front reference value of the reachable distance graph.
The second determining module 5 determines a representative pixel point corresponding to each pixel point cluster, and performs the following operations:
calculating a distance matrix between every two pixel points in each pixel point cluster;
and determining a pixel point with the smallest sum of the distances between the pixel point and other pixel points in the pixel point clusters from each pixel point cluster as a representative pixel point.
In one embodiment, clustering module 4 determines a neighborhood radius, a neighborhood threshold, and performs the following:
acquiring first parameter data corresponding to the picture data to be processed, second parameter data of shooting equipment corresponding to the picture data to be processed, third parameter data of a transmission path for transmitting the picture data to be processed, and fourth parameter data of a target object for receiving the picture data to be processed;
performing feature extraction on the first parameter data based on a preset first feature extraction template to obtain a plurality of first feature values;
performing feature extraction on the second parameter data based on a preset second feature extraction template to obtain a plurality of second feature values;
performing feature extraction on the third parameter data based on a preset third feature extraction template to obtain a plurality of third feature values;
performing feature extraction on the fourth parameter data based on a preset fourth feature extraction template to obtain a plurality of fourth feature values;
constructing an analysis parameter set based on the first feature value, the second feature value, the third feature value and the fourth feature value;
determining a parameter set based on the analysis parameter set and a preset analysis library;
and analyzing the parameter set, and determining a neighborhood radius and a neighborhood threshold.
In one embodiment, the adaptive image compression system based on density clustering further comprises: a monitoring module and an updating module;
the monitoring module performs the following operations:
acquiring compressed second image data;
determining a plurality of evaluation parameters representing the compression effect based on the first image data and the second image data;
correlating the evaluation parameters, parameter sets and analysis parameter sets corresponding to the second image data to form analysis data and storing the analysis data into a database to be analyzed;
classifying and grouping analysis data in the database to be analyzed based on the analysis parameter set;
when the data quantity in the group reaches a preset quantity threshold value, the group is extracted to be used as an analysis data group;
determining the adaptation condition of the parameter set and the analysis parameter set based on the evaluation parameters of each analysis data in the analysis data set;
triggering an update mode when the adaptation condition belongs to a preset update triggering condition;
after the monitoring module triggers the update mode, the update module executes the following operations:
taking an analysis parameter set corresponding to the analysis data set as an analysis parameter set to be updated;
based on a plurality of preset adjustment parameter sets, adjusting the parameter sets, obtaining a plurality of adjusted parameter sets to be verified, and arranging the parameter sets to be verified to form a list to be called;
when the parameter set corresponding to the analysis parameter set to be updated is called, sequentially calling based on the sequence of the list to be called;
when the parameter set to be verified in the list to be called is called for preset times;
based on a preset evaluation analysis library, analyzing a plurality of evaluation parameters corresponding to the parameter sets to be verified, and determining evaluation values corresponding to the parameter sets to be verified;
and extracting the parameter set to be verified with the highest evaluation value to replace the parameter set corresponding to the analysis parameter set to be updated in the analysis library.
It will be apparent to those skilled in the art that various modifications and variations can be made to the present invention without departing from the spirit or scope of the invention. Thus, it is intended that the present invention also include such modifications and alterations insofar as they come within the scope of the appended claims or the equivalents thereof.