1.一种基于限定小波大纲的最大误差图像压缩方法,其特征在于步骤如下:
一.对于由图像像素组成的原始矩阵(1)进行Haar小波分解:
所述原始矩阵(1)如下:
<mrow>
<mtable>
<mtr>
<mtd>
<msub>
<mi>d</mi>
<mn>11</mn>
</msub>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<msub>
<mi>d</mi>
<mrow>
<mn>1</mn>
<mi>j</mi>
</mrow>
</msub>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<msub>
<mi>d</mi>
<mrow>
<mn>1</mn>
<mi>n</mi>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mtable>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
</mtable>
</mtd>
<mtd>
<mtable>
<mtr>
<mtd>
<mrow></mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow></mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow></mrow>
</mtd>
</mtr>
</mtable>
</mtd>
<mtd>
<mtable>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
</mtable>
</mtd>
<mtd>
<mtable>
<mtr>
<mtd>
<mrow></mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow></mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow></mrow>
</mtd>
</mtr>
</mtable>
</mtd>
<mtd>
<mtable>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
</mtable>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>d</mi>
<mrow>
<mi>i</mi>
<mn>1</mn>
</mrow>
</msub>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<msub>
<mi>d</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<msub>
<mi>d</mi>
<mrow>
<mi>i</mi>
<mi>n</mi>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mtable>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
</mtable>
</mtd>
<mtd>
<mtable>
<mtr>
<mtd>
<mrow></mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow></mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow></mrow>
</mtd>
</mtr>
</mtable>
</mtd>
<mtd>
<mtable>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
</mtable>
</mtd>
<mtd>
<mtable>
<mtr>
<mtd>
<mrow></mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow></mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow></mrow>
</mtd>
</mtr>
</mtable>
</mtd>
<mtd>
<mtable>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
</mtable>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>d</mi>
<mrow>
<mi>n</mi>
<mn>1</mn>
</mrow>
</msub>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<msub>
<mi>d</mi>
<mrow>
<mi>n</mi>
<mi>j</mi>
</mrow>
</msub>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<msub>
<mi>d</mi>
<mrow>
<mi>n</mi>
<mi>n</mi>
</mrow>
</msub>
</mtd>
</mtr>
</mtable>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</mrow>
式中n=2k,k=1,2,3……,i为行数,j为列数;
(一)首先对原始矩阵(1)进行行第一级Haar小波分解,存放其近似值,并对生成的细节分量进行过滤,存放过滤后的细节分量:
(1)按照下述公式(2)和公式(3)逐行计算相邻两像素对的近似值M1和细节分量M2,并将计算结果存放在原始矩阵(1)的相应位置上:
M1=(dij+di(j+1))/2 (2)
M2=(dij-di(j+1))/2 (3)
式中j为奇数;
将近似值M1存放在原始矩阵(1)的(i,(j+1)/2)位置上;
(2)对细节分量M2进行过滤,将过滤的细节分量存放在原始矩阵(1)的(i,(j+1+m1)/2)位置上,其中m1为每一行像素的个数:
首先给定一个误差限D,设行第一级Haar小波分解的过滤阈值为D/2,列第一级Haar小波分解的过滤阈值为D/4,以后每进行一级行或列Haar小波分解其过滤阈值为前一次的1/2;
如果该级的细节分量的绝对值不大于该级的过滤阈值,则该细节分量用“0”代替,即:减少了数据量,实现了压缩;
(3)最后,由各近似值M1和各过滤后细节分量组成第一级行分解矩阵;
(二)对第一级行分解矩阵中的近似值所形成的列逐列进行列第一级Haar小波分解,生成第一级列分解矩阵:
(1)按照下述公式(4)和公式(5)逐列计算相邻两像素对的近似值M3和细节分量M4,并将计算结果存放在所述第一级行分解矩阵中相应位置上:
M3=(dij+d(i+1)j)/2 (4)
M4=(dij-d(i+1)j)/2 (5)
式中i为奇数;
将近似值M3存放在第一级行分解矩阵的((i+1)/2,j)位置上;
(2)对上述细节分量M4进行过滤,将过滤后的细节分量存放在第一级行分解矩阵的((i+1+m2)/2,j)位置上,式中m2为第一级行分解矩阵中每一列近似值的个数;
其过滤方法与上述第(一)步中的过滤方法相同;
(3)最后由各近似值M3和过滤后的细节分量组成第一级列分解矩阵;
(三)对所述第一级列分解矩阵中的近似值所形成的行逐行进行第二级Haar小波分解生成第二级行分解矩阵:
其分解方法与上述第(一)步相同,不同的是所述m1的取值为第一级列分解矩阵中的每一行中近似值的个数;
(四)对所述第二级行分解矩阵中近似值所形成的列逐列进行列第二级Haar小波分解,生成第二级列分解矩阵:
其分解方法与上述第(二)步相同,不同的是所述m2为第二级行分解矩阵中的每一列的近似值的个数;
(五)然后对新生成的矩阵交替进行下一级的行、列Haar小波分解,其分解方法与上述第(三)至第(四)步相同,直至只剩下一个近似值为止,此时的矩阵为压缩后的最终矩阵(6),所述最终矩阵(6)中的第一数据d′11为原始矩阵中所有像素的近似值,其它位置存放的是相应的细节分量;
所述最终矩阵(6)如下:
<mrow>
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<msup>
<mi>d</mi>
<mo>&prime;</mo>
</msup>
<mn>11</mn>
</msub>
</mrow>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<mrow>
<msub>
<msup>
<mi>d</mi>
<mo>&prime;</mo>
</msup>
<mrow>
<mn>1</mn>
<mi>j</mi>
</mrow>
</msub>
</mrow>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<mrow>
<msub>
<msup>
<mi>d</mi>
<mo>&prime;</mo>
</msup>
<mrow>
<mn>1</mn>
<mi>n</mi>
</mrow>
</msub>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mtable>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
</mtable>
</mtd>
<mtd>
<mtable>
<mtr>
<mtd>
<mrow></mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow></mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow></mrow>
</mtd>
</mtr>
</mtable>
</mtd>
<mtd>
<mtable>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
</mtable>
</mtd>
<mtd>
<mtable>
<mtr>
<mtd>
<mrow></mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow></mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow></mrow>
</mtd>
</mtr>
</mtable>
</mtd>
<mtd>
<mtable>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
</mtable>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<msup>
<mi>d</mi>
<mo>&prime;</mo>
</msup>
<mrow>
<mi>i</mi>
<mn>1</mn>
</mrow>
</msub>
</mrow>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<mrow>
<msub>
<msup>
<mi>d</mi>
<mo>&prime;</mo>
</msup>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
</mrow>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<mrow>
<msub>
<msup>
<mi>d</mi>
<mo>&prime;</mo>
</msup>
<mrow>
<mi>i</mi>
<mi>n</mi>
</mrow>
</msub>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mtable>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
</mtable>
</mtd>
<mtd>
<mtable>
<mtr>
<mtd>
<mrow></mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow></mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow></mrow>
</mtd>
</mtr>
</mtable>
</mtd>
<mtd>
<mtable>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
</mtable>
</mtd>
<mtd>
<mtable>
<mtr>
<mtd>
<mrow></mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow></mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow></mrow>
</mtd>
</mtr>
</mtable>
</mtd>
<mtd>
<mtable>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
</mtable>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<msup>
<mi>d</mi>
<mo>&prime;</mo>
</msup>
<mrow>
<mi>n</mi>
<mn>1</mn>
</mrow>
</msub>
</mrow>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<mrow>
<msub>
<msup>
<mi>d</mi>
<mo>&prime;</mo>
</msup>
<mrow>
<mi>n</mi>
<mi>j</mi>
</mrow>
</msub>
</mrow>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<mrow>
<msup>
<msub>
<mi>d</mi>
<mrow>
<mi>n</mi>
<mi>n</mi>
</mrow>
</msub>
<mo>&prime;</mo>
</msup>
</mrow>
</mtd>
</mtr>
</mtable>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>6</mn>
<mo>)</mo>
</mrow>
</mrow>
二.数据重构:
每一级列还原的计算重构数据的通式如下:
<mrow>
<msub>
<mover>
<mi>d</mi>
<mo>^</mo>
</mover>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mover>
<mi>d</mi>
<mo>^</mo>
</mover>
<mrow>
<mrow>
<mo>(</mo>
<mfrac>
<mrow>
<mi>i</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
<mn>2</mn>
</mfrac>
<mo>)</mo>
</mrow>
<mi>j</mi>
</mrow>
</msub>
<mo>+</mo>
<msubsup>
<mi>d</mi>
<mrow>
<mrow>
<mo>(</mo>
<mfrac>
<mrow>
<mi>i</mi>
<mo>+</mo>
<mn>1</mn>
<mo>+</mo>
<msub>
<mi>m</mi>
<mn>3</mn>
</msub>
</mrow>
<mn>2</mn>
</mfrac>
<mo>)</mo>
</mrow>
<mi>j</mi>
</mrow>
<mo>&prime;</mo>
</msubsup>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>7</mn>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<msub>
<mover>
<mi>d</mi>
<mo>^</mo>
</mover>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>+</mo>
<mn>1</mn>
<mo>)</mo>
<mi>j</mi>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mover>
<mi>d</mi>
<mo>^</mo>
</mover>
<mrow>
<mrow>
<mo>(</mo>
<mfrac>
<mrow>
<mi>i</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
<mn>2</mn>
</mfrac>
<mo>)</mo>
</mrow>
<mi>j</mi>
</mrow>
</msub>
<mo>-</mo>
<msubsup>
<mi>d</mi>
<mrow>
<mrow>
<mo>(</mo>
<mfrac>
<mrow>
<mi>i</mi>
<mo>+</mo>
<mn>1</mn>
<mo>+</mo>
<msub>
<mi>m</mi>
<mn>3</mn>
</msub>
</mrow>
<mn>2</mn>
</mfrac>
<mo>)</mo>
</mrow>
<mi>j</mi>
</mrow>
<mo>&prime;</mo>
</msubsup>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>8</mn>
<mo>)</mo>
</mrow>
</mrow>
式中,分别为该级列还原矩阵中存放位置为(i,j)、((i+1),j)的重构数据,i为奇数;为在前一级行还原矩阵中存放位置在的重构数据,当进行第一级列还原时,为最终矩阵(6)中存放位置为处的数据 为在前一级行还原矩阵中位置为的数据,当进行第一级列还原时,为在最终矩阵(6)中位置为的数据;m3为前一级行还原矩阵中需要还原的矩阵部分中每一列的数据个数,当进行第一级列还原时,m3为最终矩阵(6)中需要还原的矩阵部分每一列的数据个数;
每一级行还原的计算重构数据的通式如下:
<mrow>
<msub>
<mover>
<mi>d</mi>
<mo>^</mo>
</mover>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mover>
<mi>d</mi>
<mo>^</mo>
</mover>
<mrow>
<mi>i</mi>
<mrow>
<mo>(</mo>
<mfrac>
<mrow>
<mi>j</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
<mn>2</mn>
</mfrac>
<mo>)</mo>
</mrow>
</mrow>
</msub>
<mo>+</mo>
<msub>
<msup>
<mi>d</mi>
<mo>&prime;</mo>
</msup>
<mrow>
<mi>i</mi>
<mrow>
<mo>(</mo>
<mfrac>
<mrow>
<mi>j</mi>
<mo>+</mo>
<mn>1</mn>
<mo>+</mo>
<msub>
<mi>m</mi>
<mn>4</mn>
</msub>
</mrow>
<mn>2</mn>
</mfrac>
<mo>)</mo>
</mrow>
</mrow>
</msub>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>9</mn>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<msub>
<mover>
<mi>d</mi>
<mo>^</mo>
</mover>
<mrow>
<mi>i</mi>
<mrow>
<mo>(</mo>
<mi>j</mi>
<mo>+</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mover>
<mi>d</mi>
<mo>^</mo>
</mover>
<mrow>
<mi>i</mi>
<mrow>
<mo>(</mo>
<mfrac>
<mrow>
<mi>j</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
<mn>2</mn>
</mfrac>
<mo>)</mo>
</mrow>
</mrow>
</msub>
<mo>-</mo>
<msub>
<msup>
<mi>d</mi>
<mo>&prime;</mo>
</msup>
<mrow>
<mi>i</mi>
<mrow>
<mo>(</mo>
<mfrac>
<mrow>
<mi>j</mi>
<mo>+</mo>
<mn>1</mn>
<mo>+</mo>
<msub>
<mi>m</mi>
<mn>4</mn>
</msub>
</mrow>
<mn>2</mn>
</mfrac>
<mo>)</mo>
</mrow>
</mrow>
</msub>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>10</mn>
<mo>)</mo>
</mrow>
</mrow>
式中,分别为在该级行还原矩阵中存放位置为(i,j)、(i,(j+1))的重构数据,j为奇数;为在该级列还原矩阵中存放位置为处的重构数据;为在该级列还原矩阵中存放位置为处的数据;m4为该级列还原矩阵中需要还原的矩阵部分每一行的数据个数;
(一)首先对所述最终矩阵中的2×1矩阵部分进行第一级列还原:
所述2×1矩阵部分为
按照上述式(7)和公式(8)计算所述2×1矩阵部分的重构数据并存放在最终矩阵的相应位置上;
在所述2×1矩阵部分中,所述公式(7)和公式(8)中的i为奇数、m3=2,即该列有两个数据d′11和d′21;
<mrow>
<msub>
<mover>
<mi>d</mi>
<mo>^</mo>
</mover>
<mn>11</mn>
</msub>
<mo>=</mo>
<msub>
<mover>
<mi>d</mi>
<mo>^</mo>
</mover>
<mrow>
<mrow>
<mo>(</mo>
<mfrac>
<mrow>
<mn>1</mn>
<mo>+</mo>
<mn>1</mn>
</mrow>
<mn>2</mn>
</mfrac>
<mo>)</mo>
</mrow>
<mn>1</mn>
</mrow>
</msub>
<mo>+</mo>
<msub>
<msup>
<mi>d</mi>
<mo>&prime;</mo>
</msup>
<mrow>
<mrow>
<mo>(</mo>
<mfrac>
<mrow>
<mn>1</mn>
<mo>+</mo>
<mn>1</mn>
<mo>+</mo>
<mn>2</mn>
</mrow>
<mn>2</mn>
</mfrac>
<mo>)</mo>
</mrow>
<mn>1</mn>
</mrow>
</msub>
<mo>=</mo>
<msub>
<msup>
<mi>d</mi>
<mo>&prime;</mo>
</msup>
<mrow>
<mrow>
<mo>(</mo>
<mfrac>
<mrow>
<mn>1</mn>
<mo>+</mo>
<mn>1</mn>
</mrow>
<mn>2</mn>
</mfrac>
<mo>)</mo>
</mrow>
<mn>1</mn>
</mrow>
</msub>
<mo>+</mo>
<msub>
<msup>
<mi>d</mi>
<mo>&prime;</mo>
</msup>
<mrow>
<mrow>
<mo>(</mo>
<mfrac>
<mrow>
<mn>1</mn>
<mo>+</mo>
<mn>1</mn>
<mo>+</mo>
<mn>2</mn>
</mrow>
<mn>2</mn>
</mfrac>
<mo>)</mo>
</mrow>
<mn>1</mn>
</mrow>
</msub>
<mo>=</mo>
<msubsup>
<mi>d</mi>
<mn>11</mn>
<mo>&prime;</mo>
</msubsup>
<mo>+</mo>
<msubsup>
<mi>d</mi>
<mn>21</mn>
<mo>&prime;</mo>
</msubsup>
</mrow>
<mrow>
<msub>
<mover>
<mi>d</mi>
<mo>^</mo>
</mover>
<mn>21</mn>
</msub>
<mo>=</mo>
<msub>
<mover>
<mi>d</mi>
<mo>^</mo>
</mover>
<mrow>
<mrow>
<mo>(</mo>
<mfrac>
<mrow>
<mn>1</mn>
<mo>+</mo>
<mn>1</mn>
</mrow>
<mn>2</mn>
</mfrac>
<mo>)</mo>
</mrow>
<mn>1</mn>
</mrow>
</msub>
<mo>-</mo>
<msub>
<msup>
<mi>d</mi>
<mo>&prime;</mo>
</msup>
<mrow>
<mrow>
<mo>(</mo>
<mfrac>
<mrow>
<mn>1</mn>
<mo>+</mo>
<mn>1</mn>
<mo>+</mo>
<mn>2</mn>
</mrow>
<mn>2</mn>
</mfrac>
<mo>)</mo>
</mrow>
<mn>1</mn>
</mrow>
</msub>
<mo>=</mo>
<msub>
<msup>
<mi>d</mi>
<mo>&prime;</mo>
</msup>
<mrow>
<mrow>
<mo>(</mo>
<mfrac>
<mrow>
<mn>1</mn>
<mo>+</mo>
<mn>1</mn>
</mrow>
<mn>2</mn>
</mfrac>
<mo>)</mo>
</mrow>
<mn>1</mn>
</mrow>
</msub>
<mo>-</mo>
<msub>
<msup>
<mi>d</mi>
<mo>&prime;</mo>
</msup>
<mrow>
<mrow>
<mo>(</mo>
<mfrac>
<mrow>
<mn>1</mn>
<mo>+</mo>
<mn>1</mn>
<mo>+</mo>
<mn>2</mn>
</mrow>
<mn>2</mn>
</mfrac>
<mo>)</mo>
</mrow>
<mn>1</mn>
</mrow>
</msub>
<mo>=</mo>
<msubsup>
<mi>d</mi>
<mn>11</mn>
<mo>&prime;</mo>
</msubsup>
<mo>-</mo>
<msubsup>
<mi>d</mi>
<mn>21</mn>
<mo>&prime;</mo>
</msubsup>
</mrow>
将和存放在最终矩阵中,最终矩阵中的其余位置的数值不变,得到第一级列还原矩阵;
(二)对所述第一级列还原矩阵中的2×2矩阵部分进行第一级行还原:
所述2×2矩阵部分为
按照上述公式(9)和公式(10)计算所述2×2矩阵部分的重构数据并存放在所述第一级列还原矩阵的相应位置上;
在所述2×2矩阵部分中,j为需要还原的数据的列数,且为奇数;m4为该级需要还原的2×2矩阵部分中每一行的数据个数,此时m4=2;
<mrow>
<msub>
<mover>
<mi>d</mi>
<mo>^</mo>
</mover>
<mn>11</mn>
</msub>
<mo>=</mo>
<msub>
<mover>
<mi>d</mi>
<mo>^</mo>
</mover>
<mrow>
<mn>1</mn>
<mrow>
<mo>(</mo>
<mfrac>
<mrow>
<mn>1</mn>
<mo>+</mo>
<mn>1</mn>
</mrow>
<mn>2</mn>
</mfrac>
<mo>)</mo>
</mrow>
</mrow>
</msub>
<mo>+</mo>
<msub>
<msup>
<mi>d</mi>
<mo>&prime;</mo>
</msup>
<mrow>
<mn>1</mn>
<mrow>
<mo>(</mo>
<mfrac>
<mrow>
<mn>1</mn>
<mo>+</mo>
<mn>1</mn>
<mo>+</mo>
<mn>2</mn>
</mrow>
<mn>2</mn>
</mfrac>
<mo>)</mo>
</mrow>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mover>
<mi>d</mi>
<mo>^</mo>
</mover>
<mn>11</mn>
</msub>
<mo>+</mo>
<msubsup>
<mi>d</mi>
<mn>12</mn>
<mo>&prime;</mo>
</msubsup>
</mrow>
<mrow>
<msub>
<mover>
<mi>d</mi>
<mo>^</mo>
</mover>
<mn>12</mn>
</msub>
<mo>=</mo>
<msub>
<mover>
<mi>d</mi>
<mo>^</mo>
</mover>
<mrow>
<mn>1</mn>
<mrow>
<mo>(</mo>
<mfrac>
<mrow>
<mn>1</mn>
<mo>+</mo>
<mn>1</mn>
</mrow>
<mn>2</mn>
</mfrac>
<mo>)</mo>
</mrow>
</mrow>
</msub>
<mo>-</mo>
<msub>
<msup>
<mi>d</mi>
<mo>&prime;</mo>
</msup>
<mrow>
<mn>1</mn>
<mrow>
<mo>(</mo>
<mfrac>
<mrow>
<mn>1</mn>
<mo>+</mo>
<mn>1</mn>
<mo>+</mo>
<mn>2</mn>
</mrow>
<mn>2</mn>
</mfrac>
<mo>)</mo>
</mrow>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mover>
<mi>d</mi>
<mo>^</mo>
</mover>
<mn>11</mn>
</msub>
<mo>-</mo>
<msubsup>
<mi>d</mi>
<mn>12</mn>
<mo>&prime;</mo>
</msubsup>
</mrow>
3
<mrow>
<msub>
<mover>
<mi>d</mi>
<mo>^</mo>
</mover>
<mn>21</mn>
</msub>
<mo>=</mo>
<msub>
<mover>
<mi>d</mi>
<mo>^</mo>
</mover>
<mrow>
<mn>2</mn>
<mrow>
<mo>(</mo>
<mfrac>
<mrow>
<mn>1</mn>
<mo>+</mo>
<mn>1</mn>
</mrow>
<mn>2</mn>
</mfrac>
<mo>)</mo>
</mrow>
</mrow>
</msub>
<mo>+</mo>
<msub>
<msup>
<mi>d</mi>
<mo>&prime;</mo>
</msup>
<mrow>
<mn>2</mn>
<mrow>
<mo>(</mo>
<mfrac>
<mrow>
<mn>1</mn>
<mo>+</mo>
<mn>1</mn>
<mo>+</mo>
<mn>2</mn>
</mrow>
<mn>2</mn>
</mfrac>
<mo>)</mo>
</mrow>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mover>
<mi>d</mi>
<mo>^</mo>
</mover>
<mn>21</mn>
</msub>
<mo>+</mo>
<msubsup>
<mi>d</mi>
<mn>22</mn>
<mo>&prime;</mo>
</msubsup>
</mrow>
<mrow>
<msub>
<mover>
<mi>d</mi>
<mo>^</mo>
</mover>
<mn>22</mn>
</msub>
<mo>=</mo>
<msub>
<mover>
<mi>d</mi>
<mo>^</mo>
</mover>
<mrow>
<mn>2</mn>
<mrow>
<mo>(</mo>
<mfrac>
<mrow>
<mn>1</mn>
<mo>+</mo>
<mn>1</mn>
</mrow>
<mn>2</mn>
</mfrac>
<mo>)</mo>
</mrow>
</mrow>
</msub>
<mo>-</mo>
<msub>
<msup>
<mi>d</mi>
<mo>&prime;</mo>
</msup>
<mrow>
<mn>2</mn>
<mrow>
<mo>(</mo>
<mfrac>
<mrow>
<mn>1</mn>
<mo>+</mo>
<mn>1</mn>
<mo>+</mo>
<mn>2</mn>
</mrow>
<mn>2</mn>
</mfrac>
<mo>)</mo>
</mrow>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mover>
<mi>d</mi>
<mo>^</mo>
</mover>
<mn>21</mn>
</msub>
<mo>-</mo>
<msubsup>
<mi>d</mi>
<mn>22</mn>
<mo>&prime;</mo>
</msubsup>
</mrow>
将和存放在第一级列还原矩阵中,第一级列还原矩阵中的其余位置上的数据不变,得到第一级行还原矩阵;
(三)再对第一级行还原矩阵中的4×2矩阵部分进行第二级列还原,还原方法同上述第二步中的第(一)步;
如此交替重复,直至对n×n矩阵部分进行行还原后就实现了数据重构。