CN1770864A - 基于avs的4×4离散余弦变换的快速并行装置及其方法 - Google Patents

基于avs的4×4离散余弦变换的快速并行装置及其方法 Download PDF

Info

Publication number
CN1770864A
CN1770864A CN 200510044689 CN200510044689A CN1770864A CN 1770864 A CN1770864 A CN 1770864A CN 200510044689 CN200510044689 CN 200510044689 CN 200510044689 A CN200510044689 A CN 200510044689A CN 1770864 A CN1770864 A CN 1770864A
Authority
CN
China
Prior art keywords
matrix
module
transposed
submatrix
row
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 200510044689
Other languages
English (en)
Other versions
CN100473161C (zh
Inventor
田树民
裴雷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hisense Group Co Ltd
Original Assignee
Hisense Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hisense Group Co Ltd filed Critical Hisense Group Co Ltd
Priority to CN 200510044689 priority Critical patent/CN100473161C/zh
Publication of CN1770864A publication Critical patent/CN1770864A/zh
Application granted granted Critical
Publication of CN100473161C publication Critical patent/CN100473161C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

一种基于AVS的4×4离散余弦变换的快速并行装置及其方法,属于数字音视频编解码技术。装置包括正和反变换,正变换转置包括信号输入、行正变换、列正变换和输出等模块;反变换装置包括信号输入、行反变换、列反变换、系数调整、输出等模块。方法包括正和反变换步骤。正变换步骤包括四个,其输出模块将系数矩阵输出至量化模块进行参数调整、量化及后续编码。反变换步骤包括五个,其输出模块将系数矩阵输出至运动补偿模块进行运动补偿及后续解码。它能减少运算量,使DCT实现无乘法运算,降低装置的复杂程度,并可使DCT进行并行运算,提高编码效率。可广泛应用于基于AVS的数字音视频编解码中。

Description

基于AVS的4×4离散余弦变换的快速并行装置及其方法
                        技术领域
本发明属于数字音视频编解码技术领域,更明确地说涉及基于AVS(数字音视频编解码标准)的4×4离散余弦变换(DCT)的快速并行装置及其方法的设计。
                        背景技术
变换编码是实现视频编解码的关键技术。离散余弦变换是一种正交变换,它有能量集中(变换后的系数集中在左上角的直流系数)和非相关性好(数据块仅用少数系数就可重组)等特点,其性能接近与理想的K-L变换,因此被广泛应用于图像和视频编码中。目前各种视频编解码标准(mpeg、h.26x、avs)均采用离散余弦变换。
但是实现DCT时需要大量的矩阵运算,特别是采用乘法,使硬件实现和应用的复杂程度高、运算速度慢,严重影响了编码效率,因此实际应用中都是采用DCT的快速算法。
AVS音视频编码标准是我国自主开发的国家标准,其编码效率是mpeg2的2~3倍,和h.264相当。对于离散余弦变换,AVS采用4×4块整数变换,并给出了变换矩阵,使DCT的运算速度有很大提高,同时也易于实现。
它给出的变换矩阵为:
T 4 = 2 2 2 2 3 1 - 1 - 3 2 - 2 - 2 2 1 - 3 3 - 1
反变换矩阵为其转置矩阵:
T 4 T = 2 3 2 1 2 1 - 2 - 3 2 - 1 - 2 3 2 - 3 2 - 1
但是,它仍存在需进一步改进的之处,比如它依然存在乘法、运算量可进一步减少、变换的并行处理能力差等等。
                             发明内容
本发明的目的,就在于克服上述缺点和不足,提供一种基于AVS的4×4离散余弦变换的快速并行装置及其方法。它能够减少运算量并使DCT变换真正实现无乘法运算,提高编码效率,降低其实现装置的复杂程度。
本发明的另一个目的在于使DCT可进行并行运算,进一步提高编码效率。
为了达到上述目的,本发明包括以下正变换装置和反变换装置:
正变换转置:用于对帧内预测或帧间预测产生的残差系数矩阵进行4×4离散余弦变换,包括:
信号输入模块:接收帧内预测和帧间预测产生的残差系数矩阵,其输入端连接帧内预测或帧间预测残差系数矩阵输出端,
行正变换模块:对输入的残差系数矩阵作水平方向的4×4离散余弦行正变换,得到中间结果,
列正变换模块:将行变换模块所得中间结果进行竖直方向的4×4离散余弦列正变换,
输出模块:将变换系数矩阵输出至量化模块进行量化和后续编码过程;
反变换装置:用于对反变换所得图像参数矩阵进行4×4离散余弦反变换,包括:
信号输入模块:接收反量化模块产生的系数矩阵,
行反变换模块:对输入的反量化系数矩阵作水平方向的4×4离散余弦行反变换,得到中间结果,
列反变换模块:将行反变换模块所得中间结果进行竖直方向的4×4离散余弦列反变换,
系数调整模块:对反变换后的系数按照AVS标准进行调整,
输出模块:将变换系数矩阵输出至运动补偿模块进行后续解码过程,
反变换模块:对反变换所得图像参数矩阵进行4×4离散余弦反变换,其输入端输入反量化所得图像参数矩阵,输出端输出反变换系数矩阵。
上述快速并行实现装置包含两个公共运算模块:
矩阵变换模块,采用核心矩阵进行离散余弦变换的运算,列正变换模块和行反变换模块采用此模块;
转置矩阵变换模块,采用核心矩阵的转置矩阵进行离散余弦变换的运算,行正变换模块和列反变换采用此模块。
上述公共运算模块都包含并行运算子模块和输出排序子模块:
并行运算子模块用来进行离散余弦变换的矩阵运算,输出排序子模块将输出结果进行排序;
其中矩阵变换模块的并行运算子模块包括第一矩阵模块、第二矩阵子矩阵1模块、第二矩阵子矩阵2模块、第三矩阵子矩阵1模块和第三矩阵子矩阵2模块,其中第二矩阵子矩阵1模块和第三矩阵子矩阵1模块可以与第二矩阵子矩阵2模块和第三矩阵子矩阵2模块并行运算;
转置矩阵变换模块的并行运算子模块用来进行离散余弦变换的矩阵运算,包括第一转置矩阵模块、第二转置矩阵子矩阵1模块、第二转置矩阵子矩阵2模块、第三转置矩阵子矩阵1模块和第三转置矩阵子矩阵2模块,其中第二转置矩阵子矩阵1模块和第三转置矩阵子矩阵1模块可以与第二转置矩阵子矩阵2模块和第三转置矩阵子矩阵2模块并行运算。
所述核心矩阵为:
T 4 = 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 2 0 0 0 0 2 0 0 0 0 2 1 0 0 - 1 2 1 1 0 0 1 - 1 0 0 0 0 1 1 0 0 - 1 1 1 0 0 1 0 1 1 0 0 1 - 1 0 1 0 0 - 1
其转置矩阵为:
T 4 T = 1 0 0 1 0 1 1 0 0 1 - 1 0 1 0 0 - 1 1 1 0 0 1 - 1 0 0 0 0 1 - 1 0 0 1 1 2 0 0 0 0 2 0 0 0 0 2 - 1 0 0 1 2 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1
所述核心矩阵的分解矩阵为:
第一矩阵和转置矩阵 A T = A = 1 0 0 1 0 1 1 0 0 1 - 1 0 1 0 0 - 1 ,
第二矩阵 M 1 = 2 0 0 0 0 2 0 0 0 0 2 1 0 0 - 1 2 , 第二矩阵子矩阵1 M 11 = 2 0 0 2 , 第二矩阵子矩阵2 M 12 = 2 1 - 1 2
第二转置矩阵 M 1 T = 2 0 0 0 0 2 0 0 0 0 2 - 1 0 0 1 2 , 第二转置矩阵子矩阵1 M 11 T = 2 0 0 2 , 第二转置矩阵子矩阵2 M 12 T = 2 - 1 1 2
第三矩阵 M 2 = 1 1 0 0 1 - 1 0 0 0 0 1 1 0 0 - 1 1 , 第三矩阵子矩阵1 M 21 = 1 1 1 - 1 , 第三矩阵子矩阵2 M 22 = 1 1 - 1 1
第三转置矩阵 M 2 T = 1 1 0 0 1 - 1 0 0 0 0 1 - 1 0 0 1 1 , 第三转置矩阵子矩阵1 M T 21 = 1 1 1 - 1 , 第三转置矩阵子矩阵2 M 22 T = 1 - 1 1 1
第四矩阵和转置矩阵: P T = P = 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1
矩阵变换模块的并行运算模块包含的:
第一矩阵模块采用矩阵 A = 1 0 0 1 0 1 1 0 0 1 - 1 0 1 0 0 - 1 ,
第二矩阵子矩阵1模块采用矩阵 M 11 = 2 0 0 2 ,
第二矩阵子矩阵2模块采用矩阵 M 12 = 2 1 - 1 2
第三矩阵子矩阵1模块采用矩阵 M 21 = 1 1 1 - 1 ,
第三矩阵子矩阵2模块采用矩阵 M 22 = 1 1 - 1 1
矩阵变换模块的输出排序模块采用矩阵 P = 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1
转置矩阵变换模块的并行运算模块包含的:
第一转置矩阵模块块采用矩阵 A T = 1 0 0 1 0 1 1 0 0 1 - 1 0 1 0 0 - 1 ,
第二转置矩阵子矩阵1模块采用矩阵 M 11 T = 2 0 0 2 ,
第二转置矩阵子矩阵2模块采用矩阵 M 12 T = 2 - 1 1 2
第三转置矩阵子矩阵1模块采用矩阵 M T 21 = 1 1 1 - 1 ,
第三转置矩阵子矩阵2模块采用矩阵 M 22 T = 1 - 1 1 1
转置矩阵变换模块输出排序模块采用矩阵: P T = 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1
基于AVS的4×4离散余弦变换的快速并行装置的方法包括如下正变换和反变换实现步骤:
正变换步骤:
步骤1:信号输入模块接收帧内预测和帧间预测产生的残差系数矩阵,
步骤2:行正变换模块对输入的残差系数矩阵作水平方向的4×4离散余弦行变换,
步骤3:列正变换模块将行正变换模块所得中间结果进行竖直方向的4×4离散余弦列正变换,
步骤4:输出模块将变换所得系数矩阵输出至量化模块,进行参数调整、量化及后续编码过程;
反变换步骤:
步骤1:信号输入模块接收反量化模块产生的系数矩阵,
步骤2:行反变换模块对输入的反量化系数矩阵作水平方向的4×4离散余弦行反变换,
步骤3:列反变换模块将行反变换模块所得中间结果进行竖直方向的4×4离散余弦列反变换,
步骤4:系数调整模块对反变换后的系数按照AVS标准进行调整,
步骤5:输出模块将变换所得系数矩阵输出至运动补偿模块,进行运动补偿及后续解码过程。
正变换步骤2还包括:
步骤20:将该步骤2中所用核心矩阵的转置矩阵,分解为四个矩阵:第一转置矩阵、第二转置矩阵、第三转置矩阵和第四转置矩阵,其中前三个矩阵对应于并行运算子模块,最后一个矩阵对应于输出排序子模块。
步骤21:将残差系数矩阵依次按行取出左乘第一矩阵,
步骤22:将上一步骤所得系数向量,分为两部分并行处理:将前两个元素作为第一子向量,依次与第二转置矩阵的子矩阵1和第三转置矩阵的子矩阵1左乘,将后两个元素作为第二子向量,依次与第二转置矩阵的子矩阵2和第三转置矩阵的子矩阵2左乘,
步骤23:将计算结果经输出排序模块,按照第四转置矩阵排序输出至暂存区,
步骤24:重复以上步骤21到23直至全部矩阵计算完成;
其正变换步骤3还包括:
步骤30:该步骤3中所用核心变换矩阵,同样分解为四个矩阵:第一矩阵、第二矩阵、第三矩阵和第四矩阵,其中前三个矩阵对应于并行运算子模块,最后一个矩阵对应于输出排序子模块,
步骤31:行变换所得系数矩阵依次按列取出右乘第一矩阵,
步骤32:将上一步骤所得系数向量,分为两部分并行处理:将前两个元素作为第一子向量,依次与第二矩阵的子矩阵1和第三矩阵的子矩阵1右乘,将后两个元素作为第二子向量,依次与第二矩阵的子矩阵2和第三矩阵的子矩阵2右乘,
步骤33:将计算结果经输出排序模块,按照第四矩阵排序输出至暂存区,
步骤34:重复以上步骤31到33直至全部矩阵计算完成;
其反变换步骤2还包括:
步骤20:该步骤2中所用核心变换矩阵,同样分解为四个矩阵:第一矩阵、第二矩阵、第三矩阵和第四矩阵,其中前三个矩阵对应于并行运算子模块,最后一个矩阵对应于输出排序子模块,
步骤21:输入的反量化系数矩阵依次按列取出左乘第一矩阵,
步骤22:将上一步骤所得系数向量,分为两部分并行处理:将前两个元素作为第一子向量,依次与第二矩阵的子矩阵1和第三矩阵的子矩阵1左乘,将后两个元素作为第二子向量,依次与第二矩阵的子矩阵2和第三矩阵的子矩阵2左乘,
步骤23:将计算结果经输出排序模块按照第四矩阵排序输出至暂存区;
步骤24:重复以上步骤21到23直至全部矩阵计算完成;
其反变换步骤3还包括:
步骤30:该步骤3中所用核心变换矩阵的转置,分解为四个矩阵:第一转置矩阵,第二转置矩阵,第三转置矩阵,第四转置矩阵,其中前三个矩阵对应于并行运算子模块,最后一个矩阵对应于输出排序子模块,
步骤31:将行反变换系数矩阵依次按行取出右乘第一矩阵,
步骤32:将上一步骤所得系数向量,分为两部分并行处理,将前两个元素作为第一子向量,依次与第二转置矩阵的子矩阵1和第三转置矩阵的子矩阵1右乘,将后两个元素作为第二子向量,依次与第二转置矩阵的子矩阵2和第三转置矩阵的子矩阵2右乘,
步骤33:将计算结果经输出排序模块,按照第四转置矩阵排序输出至暂存区,
步骤34:重复以上步骤21到23直至全部矩阵计算完成。
本发明采用的总体技术方案是基于AVS的4×4离散余弦变换快速并行装置分为正变换装置和反变换装置,它们分别为AVS编码和解码模块中的实现变换编码的模块,符合AVS标准的定义和规定。
首先有两个公共模块:矩阵变换模块采用核心变换矩阵,内部包含两个子模块:并行运算模块和输出排序模块。前者并行完成变换矩阵运算,后者对由于采用并行运算而打乱的输出结果顺序进行正确排序。
转置矩阵变换模块采用核心变换矩阵的转置矩阵,同样内部包含两个子模块:并行运算模块和输出排序模块。前者并行完成变换矩阵运算,后者对由于采用并行运算而打乱的输出结果顺序进行正确排序。
正变换装置包括:
信号输入模块:接收帧内预测和帧间预测产生的残差系数矩阵。
行正变换模块:对输入的残差系数矩阵作水平方向的4×4离散余弦行正变换,得到中间结果。它采用转置矩阵变换模块。
列正变换模块:将行变换模块所得中间结果进行竖直方向的4×4离散余弦列正变换,它采用矩阵变换模块。
输出模块:将变换系数矩阵输出至量化模块进行量化和后续编码过程。
反变换装置包括:
信号输入模块:接收反量化模块产生的系数矩阵。
行反变换模块:对输入的反量化系数矩阵作水平方向的4×4离散余弦行反变换,得到中间结果。它采用矩阵变换模块。
列反变换模块:将行反变换模块所得中间结果进行竖直方向的4×4离散余弦列反变换,它采用转置矩阵变换模块。
系数调整模块:对反变换后的系数按照AVS标准进行调整。
输出模块:将变换系数矩阵输出至运动补偿模块进行后续解码过程。
快速并行正变换的实现步骤为:
步骤1:信号输入模块接收帧内预测和帧间预测产生的残差系数矩阵。
步骤2:行正变换模块对输入的残差系数矩阵作水平方向的4×4离散余弦行变换。
步骤20:该步骤中所用核心矩阵的转置矩阵T4 T,分解为四个矩阵:第一转置矩阵AT、第二转置矩阵M2 T、第三转置矩阵M1 T和第四转置矩阵PT。其中前三个矩阵对应于并行运算子模块,最后一个矩阵对应于输出排序子模块。
步骤21:将残差系数矩阵依次按行取出左乘第一矩阵;
步骤22:将上一步骤所得系数向量,分为两部分并行处理:
前两个元素作为第一子向量,依次与第二转置矩阵的子矩阵1 M21 T和第三转置矩阵的子矩阵1 M11 T左乘;
后两个元素作为第二子向量,依次与第二转置矩阵的子矩阵2 M22 T和第三转置矩阵的子矩阵2 M12 T左乘;
步骤23:将计算结果经输出排序模块,按照第四转置矩阵排序输出至暂存区;
步骤24:重复以上步骤21到23直至全部矩阵计算完成。
步骤3:列正变换模块将行正变换模块所得中间结果进行竖直方向的列反变换,
步骤30:该步骤中所用核心变换矩阵T4同样分解为四个矩阵:第一矩阵A、第二矩阵M1、第三矩阵M2和第四矩阵P。其中前三个矩阵对应于并行运算子模块,最后一个矩阵对应于输出排序子模块。
步骤31:行变换所得系数矩阵依次按列取出右乘第一矩阵;
步骤32:将上一步骤所得系数向量,分为两部分并行处理:将前两个元素作为第一子向量,依次与第二矩阵的子矩阵1 M11和第三矩阵的子矩阵1 M21右乘;将后两个元素作为第二子向量,依次与第二矩阵的子矩阵2 M12和第三矩阵的子矩阵2 M22右乘;
步骤33:将计算结果经输出排序模块,按照第四矩阵排序输出至暂存区;
步骤34:重复以上步骤31到33直至全部矩阵计算完成。
步骤4:输出模块将变换所得系数矩阵输出至量化模块,进行参数调整、量化及后续编码过程。
基于AVS的4×4离散余弦变换的快速并行算法反变换的步骤是:
步骤1:信号输入模块接收反量化模块产生的系数矩阵。
步骤2:行反变换模块对输入的反量化系数矩阵作水平方向的4×4离散余弦行反变换。
步骤20:该步骤中所用核心变换矩阵T4。同样分解为四个矩阵:第一矩阵A、第二矩阵M1、第三矩阵M2和第四矩阵P。其中前三个矩阵对应于并行运算子模块,最后一个矩阵对应于输出排序子模块。
步骤21:输入的反量化系数矩阵依次按列取出左乘第一矩阵;
步骤22:将上一步骤所得系数向量,分为两部分并行处理:将前两个元素作为第一子向量,依次与第二矩阵的子矩阵1 M11和第三矩阵的子矩阵1 M21左乘;将后两个元素作为第二子向量,依次与第二矩阵的子矩阵2 M12和第三矩阵的子矩阵2 M22左乘;
步骤23:将计算结果经输出排序模块,按照第四矩阵排序输出至暂存区;
步骤24:重复以上步骤21到23直至全部矩阵计算完成。
步骤3:列反变换模块将行反变换模块所得中间结果进行竖直方向的列反变换,
步骤30:该步骤中第二转置矩阵所用核心变换矩阵的转置T4 T分解为四个矩阵:第一转置矩阵AT、第二转置矩阵M2 T、第三转置矩阵M1 T和第四转置矩阵PT。其中前三个矩阵对应于并行运算子模块,最后一个矩阵对应于输出排序子模块。
步骤31:将行反变换系数矩阵依次按行取出右乘第一矩阵;
步骤32:将上一步骤所得系数向量,分为两部分并行处理:将前两个元素作为第一子向量,依次与第二转置矩阵的子矩阵1 M21 T和第三转置矩阵的子矩阵1 M11 T右乘;将后两个元素作为第二子向量,依次与第二转置矩阵的子矩阵2 M22 T和第三转置矩阵的子矩阵2 M12 T右乘;
步骤33:将计算结果经输出排序模块,按照第四转置矩阵排序输出至暂存区;
步骤34:重复以上步骤21到23直至全部矩阵计算完成。
步骤4:系数调整模块对反变换后的系数按照AVS标准进行调整。
步骤5:输出模块将变换所得系数矩阵输出至运动补偿模块,进行运动补偿及后续解码过程。
以上步骤中所用到的核心变换矩阵为:
T 4 = P M 1 M 2 A
= 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 2 0 0 0 0 2 0 0 0 0 2 1 0 0 - 1 2 1 1 0 0 1 - 1 0 0 0 0 1 1 0 0 - 1 1 1 0 0 1 0 1 1 0 0 1 - 1 0 1 0 0 - 1
其转置矩阵为:
T 4 T = A T M 2 T M 1 T P T
= 1 0 0 0 0 1 1 0 0 1 - 1 0 1 0 0 - 1 1 1 0 0 1 - 1 0 0 0 0 1 - 1 0 0 1 1 2 0 0 0 0 2 0 0 0 0 2 - 1 0 0 1 2 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1
分解矩阵为:
第一矩阵和转置矩阵 A T = A = 1 0 0 1 0 1 1 0 0 1 - 1 0 1 0 0 - 1 ,
第二矩阵 M 1 = 2 0 0 0 0 2 0 0 0 0 2 1 0 0 - 1 2 , 第二矩阵子矩阵1 M 11 = 2 0 0 2 , 第二矩阵子矩阵2 M 12 = 2 1 - 1 2
第二转置矩阵 M 1 T = 2 0 0 0 0 2 0 0 0 0 2 - 1 0 0 1 2 , 第二转置矩阵子矩阵1 M 11 T = 2 0 0 2 ,
第二转置矩阵子矩阵2 M 12 T = 2 - 1 1 2
第三矩阵 M 2 = 1 1 0 0 1 - 1 0 0 0 0 1 1 0 0 - 1 1 , 第三矩阵子矩阵1 M 21 = 1 1 1 - 1 , 第三矩阵子矩阵2 M 22 = 1 1 - 1 1
第三转置矩阵 M 2 T = 1 1 0 0 1 - 1 0 0 0 0 1 - 1 0 0 1 1 , 第三转置矩阵子矩阵1 M T 21 = 1 1 1 - 1 , 第三转置矩阵子矩阵2 M 22 T = 1 - 1 1 1
第四矩阵和转置矩阵: P T = P = 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1
从以上步骤和核心矩阵可以看出,本发明有显著的优点和积极的效果:矩阵中的1和-1对应与加减法运算,从核心矩阵中可见系数中出了1、0、-1之外只有2,而它可以通过移位来完成,也就是说,本发明只用加减法和移位就可实现,不用乘法。而且,本发明采用并行运算方式,可使运算速度大为提高,提高了编码效率,而且很适合dsp或MMx的并行指令来实现,也降低了硬件实现的复杂度。而采用并行运算而添加的输出排序模块只是在输出存储时按矩阵P的顺序进行输出,并未增加运算量。
本发明能够减少运算量并使DCT变换真正实现无乘法运算,提高编码效率,降低其实现装置的复杂程度;还可使DCT可进行并行运算,进一步提高编码效率。它可广泛应用于基于AVS的数字音视频编解码中。
                        附图说明
图1为本发明装置的原理方框图。
图2为其矩阵变换模块图。
图3为其转置矩阵变换模块图。
图4为本发明方法的流程图。
                       具体实施方式
实施例1。一种基于AVS的4×4离散余弦变换的快速并行装置,参阅图1~图3。本实施例的离散余弦变换采用的是行列分离算法,即先进行行变换,再进行列变换。
本实施例包括以下正变换装置和反变换装置:
正变换装置:用于对帧内预测或帧间预测产生的残差系数矩阵进行4×4离散余弦变换,包括:
信号输入模块:接收帧内预测和帧间预测产生的残差系数矩阵,其输入端连接帧内预测或帧间预测残差系数矩阵输出端,
行正变换模块:对输入的残差系数矩阵作水平方向的4×4离散余弦行正变换,得到中间结果,
列正变换模块:将行变换模块所得中间结果进行竖直方向的4×4离散余弦列正变换,
输出模块:将变换系数矩阵输出至量化模块进行量化和后续编码过程;
反变换装置:用于对反变换所得图像参数矩阵进行4×4离散余弦反变换,包括:
信号输入模块:接收反量化模块产生的系数矩阵,
行反变换模块:对输入的反量化系数矩阵作水平方向的4×4离散余弦行反变换,得到中间结果,
列反变换模块:将行反变换模块所得中间结果进行竖直方向的4×4离散余弦列反变换,
系数调整模块:对反变换后的系数按照AVS标准进行调整,
输出模块:将变换系数矩阵输出至运动补偿模块进行后续解码过程,
反变换模块:对反变换所得图像参数矩阵进行4×4离散余弦反变换,其输入端输入反量化所得图像参数矩阵,输出端输出反变换系数矩阵。
上述快速并行装置包含两个公共运算模块:
矩阵变换模块,采用核心矩阵进行离散余弦变换的运算,列正变换模块和行反变换模块采用此模块;
转置矩阵变换模块,采用核心矩阵的转置矩阵进行离散余弦变换的运算,行正变换模块和列反变换采用此模块。
上述公共运算模块都包含并行运算子模块和输出排序子模块:
并行运算模块用来进行离散余弦变换的矩阵运算,输出排序模块将输出结果进行排序;
其中矩阵变换模块的并行运算模块包括第一矩阵模块、第二矩阵子矩阵1模块、第二矩阵子矩阵2模块、第三矩阵子矩阵1模块和第三矩阵子矩阵2模块,其中第二矩阵子矩阵1模块和第三矩阵子矩阵1模块可以与第二矩阵子矩阵2模块和第三矩阵子矩阵2模块并行运算;
转置矩阵变换模块的并行运算模块用来进行离散余弦变换的矩阵运算,包括第一转置矩阵模块、第二转置矩阵子矩阵1模块、第二转置矩阵子矩阵2模块、第三转置矩阵子矩阵1模块和第三转置矩阵子矩阵2模块,其中第二转置矩阵子矩阵1模块和第三转置矩阵子矩阵1模块可以与第二转置矩阵子矩阵2模块和第三转置矩阵子矩阵2模块并行运算。
所述核心矩阵为:
T 4 = 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 2 0 0 0 0 2 0 0 0 0 2 1 0 0 - 1 2 1 1 0 0 1 - 1 0 0 0 0 1 1 0 0 - 1 1 1 0 0 1 0 1 1 0 0 1 - 1 0 1 0 0 - 1
其转置矩阵为:
T 4 T = 1 0 0 1 0 1 1 0 0 1 - 1 0 1 0 0 - 1 1 1 0 0 1 - 1 0 0 0 0 1 - 1 0 0 1 1 2 0 0 0 0 2 0 0 0 0 2 - 1 0 0 1 2 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1
所述核心矩阵的分解矩阵为:
第一矩阵和转置矩阵 A T = A = 1 0 0 2 0 1 1 0 0 1 - 1 0 1 0 0 - 1 ,
第二矩阵 M 1 = 2 0 0 0 0 2 0 0 0 0 2 1 0 0 - 1 2 , 第二矩阵子矩阵1 M 11 = 2 0 0 2 , 第二矩阵子矩阵2 M 12 = 2 1 - 1 2
第二转置矩阵 M 1 T = 2 0 0 0 0 2 0 0 0 0 2 - 1 0 0 1 2 , 第二转置矩阵子矩阵1 M 11 T = 2 0 0 2 , 第二转置矩阵子矩阵2 M 12 T = 2 - 1 1 2
第三矩阵 M 2 = 1 1 0 0 1 - 1 0 0 0 0 1 1 0 0 - 1 1 , 第三矩阵子矩阵1 M 21 = 1 1 1 - 1 , 第三矩阵子矩阵2 M 22 = 1 1 - 1 1
第三转置矩阵 M 2 T = 1 1 0 0 1 - 1 0 0 0 0 1 - 1 0 0 1 1 , 第三转置矩阵子矩阵1 M T 21 = 1 1 1 - 1 , 第三转置矩阵子矩阵2 M 22 T = 1 - 1 1 1
第四矩阵和转置矩阵: P T = P = 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1
矩阵变换模块的并行运算模块包含的:
第一矩阵模块采用矩阵 A = 1 0 0 1 0 1 1 0 0 1 - 1 0 1 0 0 - 1 ,
第二矩阵子矩阵1模块采用矩阵 M 11 = 2 0 0 2 ,
第二矩阵子矩阵2模块采用矩阵 M 12 = 2 1 - 1 2
第三矩阵子矩阵1模块采用矩阵 M 21 = 1 1 1 - 1 ,
第三矩阵子矩阵2模块采用矩阵 M 22 = 1 1 - 1 1
矩阵变换模块的输出排序模块采用矩阵 P = 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1
转置矩阵变换模块的并行运算模块包含的:
第一转置矩阵模块块采用矩阵 A T = 1 0 0 1 0 1 1 0 0 1 - 1 0 1 0 0 - 1 ,
第二转置矩阵子矩阵1模块采用矩阵 M 11 T = 2 0 0 2 ,
第二转置矩阵子矩阵2模块采用矩阵 M 12 T = 2 - 1 1 2
第三转置矩阵子矩阵1模块采用矩阵 M T 21 = 1 1 1 - 1 ,
第三转置矩阵子矩阵2模块采用矩阵 M 22 T = 1 - 1 1 1
转置矩阵变换模块输出排序模块采用矩阵: P T = 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1
正变换对于帧内帧间预测残差,进行如下的4×4变换:
[ Y ] = T 4 [ X ] T 4 T
其中[X]为帧内帧间预测残差系数二维矩阵,对应与正变换模块中输入模块输入的矩阵;[Y]为变换后的输出系数二维矩阵,经输出模块输出至量化模块进行系数调整和量化;T4 T对应于行正变换模块,采用转置矩阵变换模块;T4对应于列正变换模块,采用矩阵变换模块。
反变换对于反量化后得系数矩阵,进行如下的4×4反变换:
[ X ] = T 4 [ Y ] T T 4
其中[Y]为反量化所得二维系数矩阵,对应与反变换模块中输入模块输入的矩阵;[X]为变换后的输出二维系数矩阵,经输出模块输出至系数调整模块进行系数调整;T4对应于行反变换模块,将采用矩阵变换模块。T4 T对应于行反变换模块,将采用转置矩阵变换模块。
参阅图2和图3:
核心矩阵的转置矩阵T4 T被分解为四个矩阵,第一转置矩阵AT对应于第一转置矩阵模块;第二转置矩阵M2 T的子矩阵1为M21 T。对应于第二转置矩阵子矩阵1模块,它的子矩阵2为M22 T。对应于第二转置矩阵子矩阵2模块;第三矩阵M1 T的子矩阵1为M11 T。对应于第三转置矩阵子矩阵1模块,它的子矩阵2为M12 T。对应于第三转置矩阵子矩阵2模块;第四矩阵PT对应于输出排序模块。
核心矩阵T4被分解为四个矩阵,第一矩阵A对应于第一矩阵模块;第二矩阵M1的子矩阵1为M11。对应于第二矩阵子矩阵1模块,它的子矩阵2为
                            21M12。对应于第二子矩阵子矩阵2模块;第三矩阵M2的子矩阵1为M21。对应于第三矩阵子矩阵1模块,它的子矩阵2为M22。对应于第三矩阵子矩阵2模块;第四矩阵P对应于输出排序模块。
实施例2。一种基于AVS的4×4离散余弦变换的快速并行装置的方法,参阅图4及图2、图3。
基于AVS的4×4离散余弦变换的快速并行装置的方法采用的是行列分离算法,即先进行行变换,再进行列变换。
正变换对于帧内帧间预测残差,进行如下的4×4变换:
[ Y ] = T 4 [ X ] T 4 T
其中[X]为帧内帧间预测残差系数二维矩阵,[Y]为变换后的输出系数二维矩阵。
反变换对于反量化后得系数矩阵,进行如下的4×4反变换:
[ X ] = T 4 [ Y ] T T 4
其中[Y]为反量化所得二维系数矩阵,[X]为变换后的输出二维系数矩阵
包括如下正变换和反变换实现步骤:
正变换步骤:
步骤1:信号输入模块接收帧内预测和帧间预测产生的残差系数矩阵,
步骤2:行正变换模块对输入的残差系数矩阵作水平方向的4×4离散余弦行变换,
步骤3:列正变换模块将行正变换模块所得中间结果进行竖直方向的4×4离散余弦列正变换,
步骤4:输出模块将变换所得系数矩阵输出至量化模块,进行参数调整、量化及后续编码过程;
反变换步骤:
步骤1:信号输入模块接收反量化模块产生的系数矩阵,
步骤2:行反变换模块对输入的反量化系数矩阵作水平方向的4×4离散余弦行反变换,
步骤3:列反变换模块将行反变换模块所得中间结果进行竖直方向的4×4离散余弦列反变换,
步骤4:系数调整模块对反变换后的系数按照AVS标准进行调整,
步骤5:输出模块将变换所得系数矩阵输出至运动补偿模块,进行运动补偿及后续解码过程。
正变换步骤2还包括:
步骤20:将该步骤2中所用核心矩阵的转置矩阵,分解为四个矩阵:第一转置矩阵、第二转置矩阵、第三转置矩阵和第四转置矩阵,
步骤21:将残差系数矩阵依次按行取出左乘第一矩阵,
步骤22:将上一步骤所得系数向量,分为两部分并行处理:将前两个元素作为第一子向量,依次与第二转置矩阵的子矩阵1和第三转置矩阵的子矩阵1左乘,将后两个元素作为第二子向量,依次与第二转置矩阵的子矩阵2和第三转置矩阵的子矩阵2左乘,
步骤23:将计算结果经输出排序模块,按照第四转置矩阵排序输出至暂存区,
步骤24:重复以上步骤21到23直至全部矩阵计算完成;
其正变换步骤3还包括:
步骤30:该步骤3中所用核心变换矩阵,同样分解为四个矩阵:第一矩阵、第二矩阵、第三矩阵和第四矩阵,其中前三个矩阵对应于并行运算子模块,最后一个矩阵对应于输出排序子模块,
步骤31:行变换所得系数矩阵依次按列取出右乘第一矩阵,
步骤32:将上一步骤所得系数向量,分为两部分并行处理:将前两个元素作为第一子向量,依次与第二矩阵的子矩阵1和第三矩阵的子矩阵1右乘,将后两个元素作为第二子向量,依次与第二矩阵的子矩阵2和第三矩阵的子矩阵2右乘,
步骤33:将计算结果经输出排序模块,按照第四矩阵排序输出至暂存区,
步骤34:重复以上步骤31到33直至全部矩阵计算完成;
其反变换步骤2还包括:
步骤20:该步骤2中所用核心变换矩阵,同样分解为四个矩阵:第一矩阵、第二矩阵、第三矩阵和第四矩阵,其中前三个矩阵对应于并行运算子模块,最后一个矩阵对应于输出排序子模块,
步骤21:输入的反量化系数矩阵依次按列取出左乘第一矩阵,
步骤22:将上一步骤所得系数向量,分为两部分并行处理:将前两个元素作为第一子向量,依次与第二矩阵的子矩阵1和第三矩阵的子矩阵1左乘,将后两个元素作为第二子向量,依次与第二矩阵的子矩阵2和第三矩阵的子矩阵2左乘,
步骤23:将计算结果经输出排序模块,按照第四矩阵排序输出至暂存区,
步骤24:重复以上步骤21到23直至全部矩阵计算完成;
其反变换步骤3还包括:
步骤30:该步骤3中所用核心变换矩阵的转置,分解为四个矩阵:第一转置矩阵,第二转置矩阵,第三转置矩阵,第四转置矩阵,其中前三个矩阵对应于并行运算子模块,最后一个矩阵对应于输出排序子模块,
步骤31:将行反变换系数矩阵依次按行取出右乘第一矩阵,
步骤32:将上一步骤所得系数向量,分为两部分并行处理,将前两个元素作为第一子向量,依次与第二转置矩阵的子矩阵1和第三转置矩阵的子矩阵1右乘,将后两个元素作为第二子向量,依次与第二转置矩阵的子矩阵2和第三转置矩阵的子矩阵2右乘,
步骤33:将计算结果经输出排序模块,按照第四转置矩阵排序输出至暂存区,
步骤34:重复以上步骤21到23直至全部矩阵计算完成。
也就是说,基于AVS 4×4离散余弦变换的快速并行正变换包括以下步骤:
第一步:行正变换模块将输入模块输入的残差系数矩阵作水平方向的4×4离散余弦行正变换。
1.首先按行取帧内预测和帧间预测得出的图像参数为X=[x00,x01,x02,x03];
2.用X左乘第一矩阵AT,得中间结果:T=[t0,t1,t2,t3],t0=x00+x03,t1=x01+x02,t2=x01-x02,t3=x00-x03;
3.并行计算:[t0,t1]乘以第二转置矩阵子矩阵1 M21 T,得中间结果[g0,g1],g0=t0+t1,g1=t0-t1
[t2,t3]乘以第二转置矩阵子矩阵2 M22 T,得中间结果[g2,g3],g2=t2-t3,g3=t2+t3
4.并行计算:[g0,g1]乘以第三转置矩阵子矩阵1 M11 T,得中间结果[v0,v1],v0=2g0,v1=2g1
[g2,g3]乘以第三转置矩阵子矩阵M12 T,得中间结果
[v2,v3],v2=2g2-g3,v3=g2+2g3,其中2g2和2g3用左移1位来实现
5.输出排序模块进行输出排序得:y0=v0,y1=v2,y2=v1,y3=v3
6.输出模块将结果输出得行正变换矩阵行向量Y=[y00,y01,y02,y03]=[y0,y1,y2,y3]
7.重复1到6步直到将所有残差矩阵内向量计算完毕。
第二步,列正变换模块将行正变换所得中间结果矩阵进行竖直方向的4×4离散余弦列正变换。
8.首先按列取帧内预测和帧间预测得出的图像参数为
X=[x00,x10,x20,x30]T
9.用X右乘第一矩阵A,得中间结果:T=[t0,t1,t2,t3]T,t0=x00+X30,t1=x10+x20,t2=x10-x20,t3=x00-x30
10.并行计算:[t0,t1]T乘以第二矩阵子矩阵1 M11,得中间结果[g0,g1]T,g0=t0+t1,g1=t0-t1
[t2,t3]T乘以第二矩阵子矩阵2 M12,得中间结果[g2,g3]T,g2=t3+t2,g3=t3-t2
11.并行计算:[g0,g1]T乘以第三矩阵子矩阵1 M21,得中间结果[v0,v1]T,v0=2g0,v1=2g1
[g2,g3]T乘以第三矩阵子矩阵M22,得中间结果[v2,v3]T,v2=2g2+g3,v3=-g2+2g3;其中2g2和2g3用左移1位来实现
12.输出排序模块进行输出排序得:y0=v0,y1=v2,y2=v1,y3=v3.
13.输出模块将结果输出得DCT反变换矩阵行向量:
Y=[y00,y10,y20,y30]T=[y0,y1,y2,y3]T
14.重复1到6步直到将所有矩阵内向量计算完毕得DCT变换矩阵[Y]。
15.输出模块将DCT变换矩阵[Y]输出到量化模块进行系数调整和量化,并进行后续编码过程。
基于AVS 4×4离散余弦变换的快速并行反变换包括以下步骤:
第一步,行反变换模块将反量化所得矩阵进行水平方向的4×4离散余弦列反变换。
1.先按行取反量化所得矩阵得出的参数为Y=[y00,y01,y02,y03];
2.用X左乘第一矩阵A,得中间结果:T=[t0,t1,t2,t3],t0=y00+y03,t1=y01+y02,t2=y01-y02,t3=y00-y03
3.并行计算:[t0,t1]乘以第二矩阵子矩阵1 M11,得中间结果[g0,g1],g0=t0+t1,g1=t0-t1
[t2,t3]乘以第二矩阵子矩阵2 M12,得中间结果[g2,g3],g2=t3+t2,g3=t3-t2
4.并行计算:[g0,g1]乘以第三矩阵子矩阵1 M21,得中间结果[v0,v1],v0=2g0,v1=2g1
[g2,g3]乘以第三矩阵子矩阵2 M22,得中间结果[v2,v3],v2=2g2+g3,v3=2g3-g2,其中2g2和2g3用左移1位来实现
5.输出排序模块进行输出排序得:y0=v0,y1=v2,y2=v1,y3=v3.
6.输出模块将结果输出得行正变换矩阵行向量
X=[x00,x01,x02,x03]=[y0,y1,y2,y3]
7.重复1到6步直到将所有矩阵内向量计算完毕。
第二步:列反变换模块将行反变换模块所得结果进行竖直方向得4×4反变换:
8.先按列取行反变换所得矩阵得出的参数为
Y=[y00,y10,y20,y30]T
9.用X右乘第一转置矩阵AT,得中间结果:T=[t0,t1,t2,t3]T,t0=y00+y30,t1=y10+y20,t2=y10-y20,t3=y00-y30;
10.并行计算:[t0,t1]T乘以第二转置矩阵子矩阵1 M21 T,得中间结果[g0,g1]T,g0=t0+t1,g1=t0-t1
[t2,t3]T乘以第二转置矩阵子矩阵2 M22 T,得中间结果[g2,g3]T,g2=t2-t3,g3=t2+t3
11.并行计算:[g0,g1]T乘以第三转置矩阵子矩阵1 M11 T,得中间结果[v0,v1]T,v0=2g0,v1=2g1
[g2,g3]T乘以第三转置矩阵子矩阵M12 T,得中间结果[v2,v3]T,v2=2g2-g3,v3=g2+2g3;2g2和2g3用左移1位来实现
12.输出排序模块进行输出排序得:y0=v0,y1=v2,y2=v1,y3=v3.
13.输出模块将结果输出得DCT变换矩阵行向量
x=[x00,x10,x20,x30]T=[y0,y1,y2,y3]T
14.重复1到6步直到将所有矩阵内向量计算完毕得DCT反变换矩阵[X]。
15.系数调整模块将DCT反变换矩阵[X]进行如下调整,
xij=[xij+24]>>5,i,j=0~4
16.输出模块将DCT反变换矩阵[X]输出进行运动补偿以及后续解码过程。
实施例1和实施例2能够减少运算量并使DCT变换真正实现无乘法运算,提高编码效率,降低其实现装置的复杂程度;还可使DCT可进行并行运算,进一步提高编码效率。它可广泛应用于基于AVS的数字音视频编解码中。

Claims (8)

1.一种基于AVS的4×4离散余弦变换的快速并行装置,其特征在于它包括以下正变换装置和反变换装置:
正变换转置:用于对帧内预测或帧间预测产生的残差系数矩阵进行4×4离散余弦变换,包括:
信号输入模块:接收帧内预测和帧间预测产生的残差系数矩阵,其输入端连接帧内预测或帧间预测残差系数矩阵输出端,
行正变换模块:对输入的残差系数矩阵作水平方向的4×4离散余弦行正变换,得到中间结果,
列正变换模块:将行变换模块所得中间结果进行竖直方向的4×4离散余弦列正变换,
输出模块:将变换系数矩阵输出至量化模块进行量化和后续编码过程;
反变换装置:用于对反变换所得图像参数矩阵进行4×4离散余弦反变换,包括:
信号输入模块:接收反量化模块产生的系数矩阵,
行反变换模块:对输入的反量化系数矩阵作水平方向的4×4离散余弦行反变换,得到中间结果,
列反变换模块:将行反变换模块所得中间结果进行竖直方向的4×4离散余弦列反变换,
系数调整模块:对反变换后的系数按照AVS标准进行调整,
输出模块:将变换系数矩阵输出至运动补偿模块进行后续解码过程,
反变换模块:对反变换所得图像参数矩阵进行4×4离散余弦反变换,其输入端输入反量化所得图像参数矩阵,输出端输出反变换系数矩阵。
2.按照权利要求1所述的基于AVS的4×4离散余弦变换的快速并行装置,其特征在于它包含两个公共运算模块:
矩阵变换模块,采用核心矩阵进行离散余弦变换的运算,列正变换模块和行反变换模块采用此模块;
转置矩阵变换模块,采用核心矩阵的转置矩阵进行离散余弦变换的运算,行正变换模块和列反变换采用此模块。
3.按照权利要求2所述的基于AVS的4×4离散余弦变换的快速并行装置,其特征在于所述公共运算模块都包含并行运算子模块和输出排序子模块:
并行运算模块用来进行离散余弦变换的矩阵运算,输出排序模块将输出结果进行排序;
其中矩阵变换模块的并行运算模块包括第一矩阵模块、第二矩阵子矩阵1模块、第二矩阵子矩阵2模块、第三矩阵子矩阵1模块和第三矩阵子矩阵2模块,其中第二矩阵子矩阵1模块和第三矩阵子矩阵1模块可以与第二矩阵子矩阵2模块和第三矩阵子矩阵2模块并行运算;
转置矩阵变换模块的并行运算模块用来进行离散余弦变换的矩阵运算,包括第一转置矩阵模块、第二转置矩阵子矩阵1模块、第二转置矩阵子矩阵2模块、第三转置矩阵子矩阵1模块和第三转置矩阵子矩阵2模块,其中第二转置矩阵子矩阵1模块和第三转置矩阵子矩阵1模块可以与第二转置矩阵子矩阵2模块和第三转置矩阵子矩阵2模块并行运算。
4.按照权利要求3所述的基于AVS的4×4离散余弦变换的快速并行装置,其特征在于所述核心矩阵为:
T 4 = 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 2 0 0 0 0 2 0 0 0 0 2 1 0 0 - 1 2 1 1 0 0 1 - 1 0 0 0 0 1 1 0 0 - 1 1 1 0 0 1 0 1 1 0 0 1 - 1 0 1 0 0 - 1
其转置矩阵为:
T 4 T = 1 0 0 1 0 1 1 0 0 1 - 1 0 1 0 0 - 1 1 1 0 0 1 - 1 0 0 0 0 1 - 1 0 0 1 1 2 0 0 0 0 2 0 0 0 0 2 - 1 0 0 1 2 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1
5.按照权利要求4所述的基于AVS的4×4离散余弦变换的快速并行装置,其特征在于所述核心矩阵的分解矩阵为:
第一矩阵和转置矩阵 A T = A = 1 0 0 1 0 1 1 0 0 1 - 1 0 1 0 0 - 1 ,
第二矩阵 M 1 = 2 0 0 0 0 2 0 0 0 0 2 1 0 0 - 1 2 , 第二矩阵子矩阵1 M 11 = 2 0 0 2 ,
第二矩阵子矩阵2 M 12 = 2 1 - 1 2
第二转置矩阵 M 1 T = 2 0 0 0 0 2 0 0 0 0 2 - 1 0 0 1 2 , 第二转置矩阵子矩阵1 M 11 T = 2 0 2 2 ,
第二转置矩阵子矩阵2 M 12 T = 2 - 1 1 2
第三矩阵 M 2 = 1 1 0 0 1 - 1 0 0 0 0 1 1 0 0 - 1 0 , 第三矩阵子矩阵1 M 21 = 1 1 1 - 1 ,
第三矩阵子矩阵2 M 22 = 1 1 - 1 1
第三转置矩阵 M 2 T = 1 1 0 0 1 - 1 0 0 0 0 1 - 1 0 0 1 1 , 第三转置矩阵子矩阵1 M T 21 = 1 1 1 - 1 ,
第三转置矩阵子矩阵2 M 22 T = 1 - 1 1 1
第四矩阵和转置矩阵: P T = P = 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1
6.按照权利要求5所述的基于AVS的4×4离散余弦变换的快速并行装置,其特征在于矩阵变换模块的并行运算模块包含的:
第一矩阵模块采用矩阵 A = 1 0 0 1 0 1 1 0 0 1 - 1 0 1 0 0 - 1 ,
第二矩阵子矩阵1模块采用矩阵 M 11 = 2 0 0 2 ,
第二矩阵子矩阵2模块采用矩阵 M 12 = 2 1 - 1 2
第三矩阵子矩阵1模块采用矩阵 M 21 = 1 1 1 - 1 ,
第三矩阵子矩阵2模块采用矩阵 M 22 = 1 1 - 1 1
矩阵变换模块的输出排序模块采用矩阵 P = 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1
转置矩阵变换模块的并行运算模块包含的:
第一转置矩阵模块块采用矩阵 A T = 1 0 0 1 0 1 1 0 0 1 - 1 0 1 0 0 - 1 ,
第二转置矩阵子矩阵1模块采用矩阵 M 11 T = 2 0 0 2 ,
第二转置矩阵子矩阵2模块采用矩阵 M 12 T = 2 - 1 1 2
第三转置矩阵子矩阵1模块采用矩阵 M T 21 = 1 1 1 - 1 ,
第三转置矩阵子矩阵2模块采用矩阵 M 22 T = 1 - 1 1 1
转置矩阵变换模块输出排序模块采用矩阵: P T = 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1
7.一种按照权利要求5所述的基于AVS的4×4离散余弦变换的快速并行装置的方法,其特征在于它包括如下正变换和反变换实现步骤:
正变换步骤:
步骤1:信号输入模块接收帧内预测和帧间预测产生的残差系数矩阵,
步骤2:行正变换模块对输入的残差系数矩阵作水平方向的4×4离散余弦行变换,
步骤3:列正变换模块将行正变换模块所得中间结果进行竖直方向的4×4离散余弦列正变换,
步骤4:输出模块将变换所得系数矩阵输出至量化模块,进行参数调整、量化及后续编码过程;
反变换步骤:
步骤1:信号输入模块接收反量化模块产生的系数矩阵,
步骤2:行反变换模块对输入的反量化系数矩阵作水平方向的4×4离散余弦行反变换,
步骤3:列反变换模块将行反变换模块所得中间结果进行竖直方向的4×4离散余弦列反变换,
步骤4:系数调整模块对反变换后的系数按照AVS标准进行调整,
步骤5:输出模块将变换所得系数矩阵输出至运动补偿模块,进行运动补偿及后续解码过程。
8.按照权利要求7所述的基于AVS的4×4离散余弦变换的快速并行方法,其特征在于其正变换步骤2还包括:
步骤20:将该步骤2中所用核心矩阵的转置矩阵,分解为四个矩阵:第一转置矩阵、第二转置矩阵、第三转置矩阵和第四转置矩阵,
步骤21:将残差系数矩阵依次按行取出左乘第一矩阵,
步骤22:将上一步骤所得系数向量,分为两部分并行处理:将前两个元素作为第一子向量,依次与第二转置矩阵的子矩阵1和第三转置矩阵的子矩阵1左乘,将后两个元素作为第二子向量,依次与第二转置矩阵的子矩阵2和第三转置矩阵的子矩阵2左乘,
步骤23:将计算结果经输出排序模块,按照第四转置矩阵排序输出至暂存区,
步骤24:重复以上步骤21到23直至全部矩阵计算完成;
其正变换步骤3还包括:
步骤30:该步骤3中所用核心变换矩阵,同样分解为四个矩阵:第一矩阵、第二矩阵、第三矩阵和第四矩阵,其中前三个矩阵对应于并行运算子模块,最后一个矩阵对应于输出排序子模块,
步骤31:行变换所得系数矩阵依次按列取出右乘第一矩阵,
步骤32:将上一步骤所得系数向量,分为两部分并行处理:将前两个元素作为第一子向量,依次与第二矩阵的子矩阵1和第三矩阵的子矩阵1右乘,将后两个元素作为第二子向量,依次与第二矩阵的子矩阵2和第三矩阵的子矩阵2右乘,
步骤33:将计算结果经输出排序模块,按照第四矩阵排序输出至暂存区,
步骤34:重复以上步骤31到33直至全部矩阵计算完成;
其反变换步骤2还包括:
步骤20:该步骤2中所用核心变换矩阵,同样分解为四个矩阵:第一矩阵、第二矩阵、第三矩阵和第四矩阵,其中前三个矩阵对应于并行运算子模块,最后一个矩阵对应于输出排序子模块,
步骤21:输入的反量化系数矩阵依次按列取出左乘第一矩阵,
步骤22:将上一步骤所得系数向量,分为两部分并行处理:将前两个元素作为第一子向量,依次与第二矩阵的子矩阵1和第三矩阵的子矩阵1左乘,将后两个元素作为第二子向量,依次与第二矩阵的子矩阵2和第三矩阵的子矩阵2左乘,
步骤23:将计算结果经输出排序模块,按照第四矩阵排序输出至暂存区,
步骤24:重复以上步骤21到23直至全部矩阵计算完成;
其反变换步骤3还包括:
步骤30:该步骤3中所用核心变换矩阵的转置,分解为四个矩阵:第一转置矩阵,第二转置矩阵,第三转置矩阵,第四转置矩阵,其中前三个矩阵对应于并行运算子模块,最后一个矩阵对应于输出排序子模块,
步骤31:将行反变换系数矩阵依次按行取出右乘第一矩阵,
步骤32:将上一步骤所得系数向量,分为两部分并行处理,将前两个元素作为第一子向量,依次与第二转置矩阵的子矩阵1和第三转置矩阵的子矩阵1右乘,将后两个元素作为第二子向量,依次与第二转置矩阵的子矩阵2和第三转置矩阵的子矩阵2右乘,
步骤33:将计算结果经输出排序模块,按照第四转置矩阵排序输出至暂存区,
步骤34:重复以上步骤21到23直至全部矩阵计算完成。
CN 200510044689 2005-09-09 2005-09-09 基于avs的4×4离散余弦变换的快速并行装置及其方法 Active CN100473161C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200510044689 CN100473161C (zh) 2005-09-09 2005-09-09 基于avs的4×4离散余弦变换的快速并行装置及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200510044689 CN100473161C (zh) 2005-09-09 2005-09-09 基于avs的4×4离散余弦变换的快速并行装置及其方法

Publications (2)

Publication Number Publication Date
CN1770864A true CN1770864A (zh) 2006-05-10
CN100473161C CN100473161C (zh) 2009-03-25

Family

ID=36751816

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200510044689 Active CN100473161C (zh) 2005-09-09 2005-09-09 基于avs的4×4离散余弦变换的快速并行装置及其方法

Country Status (1)

Country Link
CN (1) CN100473161C (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100452881C (zh) * 2006-08-07 2009-01-14 清华大学 一种基于合并处理的反量化方法及其装置
CN100563337C (zh) * 2007-10-24 2009-11-25 上海广电(集团)有限公司中央研究院 基于avs的整数变换量化和整数反变换反量化方法
CN101222646B (zh) * 2008-01-30 2010-06-02 上海广电(集团)有限公司中央研究院 一种适用于avs编码的帧内预测装置及预测方法
CN101137063B (zh) * 2007-01-30 2010-12-15 海信集团有限公司 离散余弦变换装置及用于图像处理的离散余弦变换方法
CN101977318A (zh) * 2010-10-29 2011-02-16 西安电子科技大学 Dct量化的并行装置及其方法
CN101888556B (zh) * 2008-03-19 2012-04-25 华为技术有限公司 编码、解码方法和编码、解码装置
CN101502120B (zh) * 2006-08-02 2012-08-29 汤姆逊许可公司 用于视频解码的自适应几何分割方法和设备
CN101605259B (zh) * 2009-05-31 2012-11-21 华亚微电子(上海)有限公司 对多媒体数据进行变换编、解码的装置及方法
CN101335893B (zh) * 2007-05-25 2013-05-22 辉达公司 数据帧序列的有效编码/解码
CN103477636A (zh) * 2010-12-23 2013-12-25 英国广播公司 图像的压缩
CN101562744B (zh) * 2008-04-18 2014-04-23 展讯通信(上海)有限公司 二维反变换装置
CN105282556A (zh) * 2014-07-08 2016-01-27 财团法人工业技术研究院 矩阵转置电路
CN111556319A (zh) * 2020-05-14 2020-08-18 电子科技大学 一种基于矩阵分解的视频编码方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101502120B (zh) * 2006-08-02 2012-08-29 汤姆逊许可公司 用于视频解码的自适应几何分割方法和设备
CN100452881C (zh) * 2006-08-07 2009-01-14 清华大学 一种基于合并处理的反量化方法及其装置
CN101137063B (zh) * 2007-01-30 2010-12-15 海信集团有限公司 离散余弦变换装置及用于图像处理的离散余弦变换方法
CN101335893B (zh) * 2007-05-25 2013-05-22 辉达公司 数据帧序列的有效编码/解码
CN100563337C (zh) * 2007-10-24 2009-11-25 上海广电(集团)有限公司中央研究院 基于avs的整数变换量化和整数反变换反量化方法
CN101222646B (zh) * 2008-01-30 2010-06-02 上海广电(集团)有限公司中央研究院 一种适用于avs编码的帧内预测装置及预测方法
CN101888556B (zh) * 2008-03-19 2012-04-25 华为技术有限公司 编码、解码方法和编码、解码装置
CN101562744B (zh) * 2008-04-18 2014-04-23 展讯通信(上海)有限公司 二维反变换装置
CN101605259B (zh) * 2009-05-31 2012-11-21 华亚微电子(上海)有限公司 对多媒体数据进行变换编、解码的装置及方法
CN101977318A (zh) * 2010-10-29 2011-02-16 西安电子科技大学 Dct量化的并行装置及其方法
CN101977318B (zh) * 2010-10-29 2012-02-08 西安电子科技大学 Dct量化的并行装置及其方法
CN103477636A (zh) * 2010-12-23 2013-12-25 英国广播公司 图像的压缩
US10298943B2 (en) 2010-12-23 2019-05-21 British Broadcasting Corporation Compression of pictures
CN105282556A (zh) * 2014-07-08 2016-01-27 财团法人工业技术研究院 矩阵转置电路
CN111556319A (zh) * 2020-05-14 2020-08-18 电子科技大学 一种基于矩阵分解的视频编码方法

Also Published As

Publication number Publication date
CN100473161C (zh) 2009-03-25

Similar Documents

Publication Publication Date Title
CN1770864A (zh) 基于avs的4×4离散余弦变换的快速并行装置及其方法
CN1640142A (zh) 对小波变换系数进行编码的方法和设备
CN1320769C (zh) 编码器、解码器以及数据传送系统
CN1471319A (zh) 结合率失真优化的码率控制的方法及其装置
CN1487748A (zh) B图像的直接模式运动矢量计算方法
CN1217479C (zh) 同步电动机控制器
CN1969559A (zh) 移动图像编码装置和移动图像译码装置、其方法和程序
CN1467919A (zh) 传输电路装置及无线通信装置
CN1993993A (zh) 图像处理设备、其程序、及其方法
CN1801945A (zh) 编码视频序列变换装置和编码视频序列变换方法
CN1873625A (zh) 一种基于功能覆盖率的随机激励的自动产生方法
CN1297063C (zh) 电机控制装置
CN1744720A (zh) 可变长度解码装置
CN1196268C (zh) 并行涡轮编码器实施方案
CN1444408A (zh) 图像处理设备、图像处理程序和图像处理方法
CN1226039A (zh) 指数计算装置和解码装置
CN1764928A (zh) 多等级单色图像显示方法,多等级单色图像显示设备,计算机,单色显示设备,再转换适配器,和视频卡
CN1647524A (zh) 图像变换装置和图像变换方法
CN1838776A (zh) 解码装置、逆量化方法及其程序
CN1662069A (zh) 图像、视频信号的编码/解码方法
CN1229758C (zh) 正交变换图像的分辨率变换装置和方法
CN1925597A (zh) 图像处理设备、图像处理方法及程序
CN1605059A (zh) 蒙哥马利乘法器中的流水线内核
CN1393066A (zh) 无线通信接收装置及接收方法
CN1809170A (zh) 运用于图像编码和视频编码的离散余弦变换的方法与装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant