int QccHYPrkltInitialize(QccHYPrklt
*rklt);
int QccHYPrkltAlloc(QccHYPrklt *rklt);
void QccHYPrkltFree(QccHYPrklt
*rklt);
The components of a QccHYPrklt structure are a vector representing the dataset mean and a matrix representing the transform itself, as determined by a singular value decomposition of the dataset's covariance matrix.
typedef struct
{
int num_bands;
QccVectorInt mean;
QccMatrix matrix;
QccMatrix P;
QccMatrix L;
QccMatrix U;
QccMatrix S;
int factored;
} QccHYPrklt;
The fields of QccHYPrklt are as follows:
num_bands: 0
mean: NULL
matrix: NULL
P: NULL
L: NULL
U: NULL
S: NULL
QccHYPrkltAlloc() allocates the mean, matrix, P, L, U, and S fields of the reversible KLT. num_bands must be set prior to calling QccHYPrkltAlloc().
QccHYPrkltFree() frees the mean, matrix, P, L, U, and S fields of rklt.
In Hao and Shi (2001), a square transform matrix A with determinant equal to +1 or -1 is factored as A = P*L*U*S where L and S are lower triangular, U is upper triangular, and P is a reversible permutation matrix. Implementing the U transform using upper-triangular lifting steps and the L and S transforms using corresponding lower-triangular counterparts results in a reversible calculation of A. Since the KLT is an orthonormal transform (i.e., its determinant is 1), this factorization was used in Hao and Shi (2003) to obtain a reversible integer transform that approximates the KLT. Here, we employ the variant using quasi-complete pivoting proposed by Galli and Salzo.
P. Hao and Q. Shi, "Matrix factorization for reversible integer mapping," IEEE Transactions on Signal Processing, vol. 49, no. 10, pp. 2314-2324, October 2001.
P. Hao and Q. Shi, "Reversible integer KLT for progressive-to-lossless compression of multiple component images," in Proceedings of the International Conference on Image Processing, vol. 1, Barcelona, Spain, September 2003, pp. 633-636.
L. Galli and S. Salzo, "Lossless hyperspectral compression using KLT," in Proceedings of the International Geoscience and Remote Sensing Symposium, vol. 1, Anchorage, AK, September 2004, pp. 313-316.