发明名称 图像或视频编码的六角变换快速处理方法
摘要 本发明涉及一种图像或视频编码的六角变换快速处理方法。包括在图像或视频编码端,将图像或视频数据进行正向六角变换处理,变换到以正向六角变换矩阵表达的向量空间中;在图像或视频解码端,将正向六角变换后的数据进行逆向六角变换处理,恢复得到原始的图像或视频数据,其中将图像或视频数据进行正向变换处理的方法是基于正向六角变换<img file="2012100040283100004DEST_PATH_IMAGE002.GIF" wi="74" he="18" />的快速处理方法;将正向六角变换后的数据进行逆向变换处理的方法是基于逆向六角变换<img file="DEST_PATH_IMAGE004.GIF" wi="70" he="18" />的快速处理方法。本发明降低了六角变换的运算复杂度,减少处理时间,有利于加快图像或视频数据的压缩或分析。
申请公布号 CN102547285B 申请公布日期 2014.05.14
申请号 CN201210004028.3 申请日期 2012.01.09
申请人 上海大学 发明人 王国中;程武;赵海武;李国平;滕国伟;朱洪波
分类号 H04N19/60(2014.01)I 主分类号 H04N19/60(2014.01)I
代理机构 上海上大专利事务所(普通合伙) 31205 代理人 何文欣
主权项 1.一种图像或视频编码的六角变换快速处理方法,包括在图像或视频编码端,将图像或视频数据进行正向六角变换处理,变换到以正向六角变换矩阵表达的向量空间中;在图像或视频解码端,将正向六角变换后的数据进行逆向六角变换处理,恢复得到原始的图像或视频数据;其特征在于:所述将图像或视频数据进行正向变换处理的方法是基于正向六角变换<img file="647778DEST_PATH_IMAGE001.GIF" wi="74" he="18" />的快速处理方法,其中,X表示输入的8×8数据块矩阵,Y表示8×8输出数据块矩阵,T表示变换矩阵,T′表示矩阵T的转置;所述将正向六角变换后的数据进行逆向变换处理的方法是基于逆向六角变换<img file="231206DEST_PATH_IMAGE002.GIF" wi="70" he="18" />的快速处理方法,其中,Y表示输入的8×8数据块矩阵,X表示8×8输出数据块矩阵,T表示变换矩阵,T′表示矩阵T的转置;具体方法为:(1)所述正向变换<img file="403879DEST_PATH_IMAGE004.GIF" wi="73" he="18" />处理过程中,采用<img file="651321DEST_PATH_IMAGE005.GIF" wi="69" he="24" />以方便计算;则正向变换可用<img file="722045DEST_PATH_IMAGE006.GIF" wi="91" he="20" />来代替,其中,<img file="775451DEST_PATH_IMAGE007.GIF" wi="57" he="20" />的快速处理方法可用如下方法实现:设X<sub>i</sub>=(x0,x1,x2,x3,x4,x5,x6,x7)是X的第i行,Z<sub>i</sub>=(z0,z1,z2,z3,z4,z5,z6,z7)是Z的第i行;用a[*]表示计算的中间结果: a[0] = x0 + x7;a[7] = x0 - x7;a[1] = x1 + x6;a[6] = x1 - x6;a[2] = x2 + x5;a[5] = x2 - x5;a[3] = x3 + x4;a[4] = x3 - x4;a[10] = C * a[0] + D * a[3];a[13] = D * a[0] - C * a[3];a[11] = E * a[1] + F * a[2];a[12] = F * a[1] - E * a[2];a[ 8] = H * a[6] - G * a[5];a[ 9] = G * a[6] + H * a[5];a[14] = H * a[4] + G * a[8];a[15] = G * a[4] - H * a[8];a[16] = D * a[7] - C * a[9];a[17] = C * a[7] + D * a[9];则Z<sub>i</sub>用如下处理方法得到:z0 = G * a[10] + H * a[11];z4 = H * a[10] - G * a[11];z2 = J * a[13] + I * a[12];z6 = I * a[13] - J * a[12];z1 = L * a[17] + K * a[14];z7 = K * a[17] - L * a[14];z5 = N * a[16] + M * a[15];z3 = M * a[16] - N * a[15];(2) 正向六角变换需要进行两次矩阵相乘运算,而且矩阵中的元素都是浮点数,计算量较大,每次矩阵相乘,需要进行8×8×8=512次浮点数相乘和8×8×7=448次浮点数相加;正向六角变换快速处理方法,需要的运算次数为36×8=288次浮点数乘法,18×8=144次浮点数加减法,8×8=64次整数加减法,明显降低了六角变换的运算量;所述的变换矩阵T按如下方法得到:设<i>α</i><sub><i>1</i></sub>、<i>α</i><sub><i>2</i></sub>、<i>α</i><sub><i>3</i></sub>、<i>α</i><sub><i>4</i></sub>、<i>α</i><sub><i>5</i></sub>、<i>α</i><sub><i>6</i></sub>是所选取的六个角度,令<i>C</i>=cos<i>α</i><sub><i>1</i></sub>,<i>D</i>=sin<i>α</i><sub><i>1</i></sub>,<i>E</i>=cos<i>α</i><sub><i>2</i></sub>,<i>F</i>=sin<i>α</i><sub><i>2</i></sub>,<i>G</i>=cos<i>α</i><sub><i>3</i></sub>,<i>H</i>=sin<i>α</i><sub><i>3</i></sub>,<i>I</i>=cos<i>α</i><sub><i>4</i></sub>,<i>J</i>=sin<i>α</i><sub><i>4</i></sub>,<i>K</i>=cos<i>α</i><sub><i>5</i></sub>,<i>L</i>=sin<i>α</i><sub><i>5</i></sub>,<i>M</i>=cos<i>α</i><sub><i>6</i></sub>,<i>N</i>=sin<i>α</i><sub><i>6</i></sub>;<img file="418605DEST_PATH_IMAGE003.GIF" wi="457" he="132" />。
地址 200444 上海市宝山区上大路99号