CN106210715B - 一种hevc标准中视频编解码变换方法及装置 - Google Patents
一种hevc标准中视频编解码变换方法及装置 Download PDFInfo
- Publication number
- CN106210715B CN106210715B CN201510226992.4A CN201510226992A CN106210715B CN 106210715 B CN106210715 B CN 106210715B CN 201510226992 A CN201510226992 A CN 201510226992A CN 106210715 B CN106210715 B CN 106210715B
- Authority
- CN
- China
- Prior art keywords
- matrix
- butterfly
- transform
- output
- fundamental
- 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.)
- Active
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明实施例公开了一种HEVC标准中视频编解码变换方法及装置,涉及数字视频信号编解码技术领域,解决了现有技术中随着视频变换单位的不断增大,视频变换的运算复杂度高的缺陷。本发明的HEVC标准中视频编解码变换方法包括:设置基本蝶形运算单元和基本矩阵乘法运算单元;对二维DCT变换的H×L的输入矩阵进行蝶形压缩,并对经过蝶形压缩后的H×L的输入矩阵进行转置,得到相应的转置矩阵,所述转置矩阵由(H/4)个L×4的列输入矩阵,且所述L×4的列输入矩阵不包括冗余块;对所述转置矩阵进行L×H的一维DCT变换;对所述L×H的一维DCT变换的输出矩阵的转置矩阵进行H×L的一维DCT变换;对所述H×L的一维DCT变换的输出矩阵进行零块解压和奇偶重构,得到所述二维DCT变换的输出矩阵。
Description
技术领域
本发明涉及数字视频信号编解码技术领域,尤其涉及一种HEVC标准中视频编解码变换方法及装置。
背景技术
MPEG系列标准、H.264标准、VC-1标准等视频编码标准支持8X8以下大小的变换单元,为了适合超高分辨率视频的编码,HEVC标准引入了16X16和32X32大小的变换单元,而随着变换单元的增大,变换运算的复杂度会以指数倍增加,HEVC标准的制定者显然意识到这点,DCT变换/IDCT变换采用快速蝶形算法来降低运算的复杂度。
但是,DCT变换/IDCT变换的运算复杂度仍然比较高,而运算复杂度直接影响着变换效率和硬件面积之间的平衡,即为了提高变换效率,需要增大变换单元的尺寸,从而使得变换运算的复杂度随之增大,相应地,实现DCT变换/IDCT变换的硬件面积也随之增大,但是这样的硬件对于小尺寸的变换来说却是一种浪费。因此,降低DCT变换/IDCT变换的运算复杂度以平衡变换效率和硬件面积之间的矛盾是一个亟待需要解决的问题。
发明内容
本发明提供一种HEVC标准中视频编解码变换方法及装置,能够降低DCT变换/IDCT变换的运算复杂度。
一方面,本发明提供一种HEVC标准中视频编解码变换方法,所述方法包括:
设置基本蝶形运算单元和基本矩阵乘法运算单元;
对二维DCT变换的H×L的输入矩阵进行蝶形压缩,并对经过蝶形压缩后的H×L的输入矩阵进行转置,得到相应的转置矩阵,所述转置矩阵由(H/4)个L×4的列输入矩阵,且所述L×4的列输入矩阵不包括冗余块;
对所述转置矩阵进行L×H的一维DCT变换L×L*L×H,得到所述L×H的一维DCT变换的输出矩阵;
对所述L×H的一维DCT变换的输出矩阵的转置矩阵进行H×L的一维DCT变换H×H*H×L,得到所述H×L的一维DCT变换的输出矩阵;
对所述H×L的一维DCT变换的输出矩阵进行零块解压和奇偶重构,得到所述二维DCT变换的输出矩阵。
另一方面,本发明提供一种HEVC标准中视频编解码变换装置,所述装置包括包括设置模块、蝶形解压与转置模块、第一变换模块、第二变换模块和零块解压与奇偶重构模块,其中,所述设置模块,用于设置基本蝶形运算单元和基本矩阵乘法运算单元;
所述蝶形解压与转置模块,用于对二维DCT变换的H×L的输入矩阵进行蝶形压缩,并对经过蝶形压缩后的H×L的输入矩阵进行转置,得到相应的转置矩阵,所述转置矩阵由(H/4)个L×4的列输入矩阵,且所述L×4的列输入矩阵不包括冗余块;
所述第一变换模块,用于对所述L×H的一维DCT变换的输出矩阵的转置矩阵进行H×L的一维DCT变换H×H*H×L,得到所述H×L的一维DCT变换的输出矩阵;
所述第二变换模块,用于对所述L×H的一维DCT变换的输出矩阵的转置矩阵进行H×L的一维DCT变换H×H*H×L,得到所述H×L的一维DCT变换的输出矩阵;
所述零块解压与奇偶重构模块,用于对所述H×L的一维DCT变换的输出矩阵进行零块解压和奇偶重构,得到所述二维DCT变换的输出矩阵。
又一方面,本发明提供一种HEVC标准中视频编解码变换方法,所述方法包括:
设置基本蝶形运算单元和基本矩阵乘法运算单元;
对所述二维IDCT变换的H×L的输入矩阵进行奇偶分离,并将奇偶分离后的输入矩阵进行零块压缩,所述零块表示数据为全零的基本矩阵;
对经过零块压缩的输入矩阵进行H×L的一维IDCT变换H×H*H×L,得到H×L的一维IDCT变换的输出矩阵;
对所述H×L的一维IDCT变换的输出矩阵的转置矩阵进行L×H的一维DCT变换L×L*L×H,得到所述L×H的一维IDCT变换的输出矩阵;
对所述L×H的一维IDCT变换的输出矩阵进行转置,并对转置后的输出矩阵进行蝶形解压,得到所述二维IDCT变换的输出矩阵。
再一方面,本发明提供一种HEVC标准中视频编解码变换装置,所述装置包括包括设置模块、奇偶分离与零块压缩模块、第一变换模块、第二变换模块和转置与蝶形解压模块,其中,所述设置模块,用于设置基本蝶形运算单元和基本矩阵乘法运算单元;
所述奇偶分离与零块压缩模块,用于对所述二维IDCT变换的H×L的输入矩阵进行奇偶分离,并将奇偶分离后的输入矩阵进行零块压缩,所述零块表示数据为全零的基本矩阵;
所述第一变换模块,用于对经过零块压缩的输入矩阵进行H×L的一维IDCT变换H×H*H×L,得到H×L的一维IDCT变换的输出矩阵;
所述第二变换模块,用于对所述H×L的一维IDCT变换的输出矩阵的转置矩阵进行L×H的一维DCT变换L×L*L×H,得到所述L×H的一维IDCT变换的输出矩阵;
所述转置与蝶形解压模块,用于对所述L×H的一维IDCT变换的输出矩阵进行转置,并对转置后的输出矩阵进行蝶形解压,得到所述二维IDCT变换的输出矩阵。
本发明提供的HEVC标准中视频编解码变换方法及装置,与现有技术相比,其是通过先进行数据压缩,然后基于基本蝶形运算单元和基本矩阵乘法运算单元对压缩后的数据进行DCT变换/IDCT变换,以减少进行DCT变换/IDCT变换的数据量,从而在蝶形运算的基础上进一步降低DCT变换/IDCT变换的运算复杂度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明HEVC标准中视频编解码变换方法一实施例的流程示意图;
图2为本发明HEVC标准中视频编解码变换方法另一实施例的流程示意图;
图3为上述实施例中所述步骤S241~S244的详细流程示意图,其中,所述L的取值为16;
图4为本发明HEVC标准中视频编解码变换装置的一实施例的结构示意图;
图5为本发明HEVC标准中视频编解码变换方法一实施例的流程示意图;
图6为本发明HEVC标准中视频编解码变换方法另一实施例的流程示意图;
图7为上述实施例中奇偶分离和零块压缩的流程示意图;
图8为上述实施例中所述步骤S641~S644的详细流程示意图,其中,所述H的取值为16;
图9为上述实施例中蝶形解压的流程示意图;
图10为本发明HEVC标准中视频编解码变换装置的一实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例提供一种HEVC标准中视频编解码变换方法,如图1所示,所述方法包括:
S11、设置基本蝶形运算单元和基本矩阵乘法运算单元;
S12、对二维DCT变换的H×L的输入矩阵进行蝶形压缩,并对经过蝶形压缩后的H×L的输入矩阵进行转置,得到相应的转置矩阵,所述转置矩阵由(H/4)个L×4的列输入矩阵,且所述L×4的列输入矩阵不包括冗余块;
S13、对所述转置矩阵进行L×H的一维DCT变换L×L*L×H,得到所述L×H的一维DCT变换的输出矩阵;
S14、对所述L×H的一维DCT变换的输出矩阵的转置矩阵进行H×L的一维DCT变换H×H*H×L,得到所述H×L的一维DCT变换的输出矩阵;
S15、对所述H×L的一维DCT变换的输出矩阵进行零块解压和奇偶重构,得到所述二维DCT变换的输出矩阵。
本发明提供的HEVC标准中视频编解码变换方法,与现有技术相比,其是通过先进行数据压缩,然后基于基本蝶形运算单元和基本矩阵乘法运算单元对压缩后的数据进行DCT变换,以减少进行DCT变换的数据量,从而在蝶形运算的基础上进一步降低DCT变换的运算复杂度。
如图2所示,本发明提供一种HEVC标准中视频编解码变换方法,所述方法包括:
S21、设置基本蝶形运算单元为2×4&2×4,基本矩阵乘法运算单元为2×2*2×4。
其中,所述2×4&2×4表示2×4的基本矩阵与2×4的基本矩阵叠加,所述2×2*2×4表示2×2的系数矩阵与2×4的基本矩阵相乘。
S22、对二维DCT变换的H×L的输入矩阵进行蝶形压缩。
具体为将所述二维DCT变换的H×L的输入矩阵划分成(H/4)个4×L行输入矩阵,并根据蝶形运算的镜像特性对每个4×L行输入矩阵进行反镜像操作以删除对应冗余块。
如表1和2所示,分别表示蝶形压缩的条件和蝶形压缩的规则
表1
表2
S23、对经过蝶形压缩后的H×L的输入矩阵进行转置。
具体为对经过蝶形压缩后的H×L的输入矩阵进行转置,得到相应的转置矩阵,所述转置矩阵由(H/4)个L×4的列输入矩阵,且所述L×4的列输入矩阵不包括冗余块。
S24、对所述转置矩阵进行L×H的一维DCT变换L×L*L×H。
具体为以所述基本蝶形运算单元和基本矩阵乘法运算单元为处理单位,对每个L×4的列输入矩阵进行蝶形递归分解和矩阵乘法递归分解与合并,得到对应的(H/4)个L×4的列输出矩阵,并将所述(H/4)个L×4的列输出矩阵进行合并,得到所述L×H的一维DCT变换的输出矩阵。
S25、对所述L×H的一维DCT变换的输出矩阵的转置矩阵进行H×L的一维DCT变换H×H*H×L。具体为以所述基本蝶形运算单元和基本矩阵乘法运算单元为处理单位,对每个H×4的列输入矩阵进行蝶形递归分解和矩阵乘法递归分解与合并,得到对应的(L/4)个H×4的列输出矩阵,并将所述(L/4)个H×4的列输出矩阵进行合并,得到所述H×L的一维DCT变换的输出矩阵。
S26、对所述H×L的一维DCT变换的输出矩阵进行零块解压和奇偶重构。
具体为以所述2×4的基本矩阵为处理单位,对每个H×4的列输出矩阵进行扫描以添加2×4的零块,所述零块表示数据为全零的基本矩阵;然后对经过零块解压的输出矩阵进行奇偶重构,得到所述二维DCT变换的输出矩阵。
如表3所示,给出了不同大小的变换单元的奇偶重构规则。
表3
其中,在上述实施例中,所述步骤24的具体实现流程包括:
S241、以所述基本蝶形运算单元为处理单位,对第1个L×4的列输入矩阵进行蝶形分解,得到(L/2)×4的奇数行矩阵和(L/2)×4的偶数行矩阵;然后将所述(L/2)×4的奇数行矩阵对应的矩阵乘法运算(L/2)×(L/2)*(L/2)×4分解成多个所述基本矩阵乘法运算单元进行运算,并将各个运算结果依次进行横向与纵向合并得到(L/2)×4的块矩阵。
S242、以所述基本蝶形运算单元为处理单位,对所述(L/2)×4的偶数行矩阵进行蝶形分解,得到(L/4)×4奇数行矩阵和(L/4)×4的偶数行矩阵;然后将所述(L/4)×4奇数行矩阵对应的矩阵乘法运算(L/4)×(L/4)*(L/4)×4分解成多个所述基本矩阵乘法运算单元进行运算,并将各个运算结果依次进行横向与纵向合并得到(L/4)×4的块矩阵。
S243、以此类推,以所述基本蝶形运算单元为处理单位,直至将所述(L/2)×4的偶数行矩阵蝶形分解成2×4的奇数行矩阵和2×4的偶数行矩阵;然后依次对所述2×4的奇数行矩阵对应矩阵乘法运算2×2*2×4和所述2×4的偶数行矩阵对应矩阵乘法运算2×2*2×4进行运算,得到两个2×4的块矩阵。
S244、将所述(L/2)×4的块矩阵、(L/4)×4的块矩阵、…、所述两个2×4的块矩阵进行合并,得到第1个L×4的列输出矩阵。
S245、对第2个~第(H/4)个L×4的列输入矩阵重复步骤S241)~S244),得到第2个~第(H/4)个L×4的列输出矩阵。
S246、将所述(H/4)个L×4的列输出矩阵进行合并,得到所述L×H的一维DCT变换的输出矩阵。
下面将针对上述实施例中步骤S241~S244的详细阐述,如图3所示,其中所述L的取值为16,结合表4和5可知,表4表示蝶形递归分解,表5表示蝶形递归解和矩阵乘法递归分解和合并,步骤S241~S244的详细流程包括:
表4
表5
1)以2×4&2×4的基本蝶形运算单元为处理单位,对16×4的列输入矩阵AD进行蝶形分解,得到8×4的奇数行矩阵D和8×4的偶数行矩阵AC,其中所述16×4列输入矩阵AD由8个2×4的基本矩阵AD0、AD1、AD2、AD3、AD4、AD5、AD6、AD7构成,即AD={AD0,AD1,AD2,AD3,AD4,AD5,AD6,AD7}。
具体地,可以由以下公式表示上述蝶形分解:
AD3&AD4={AC3,D3};
AD2&AD5={AC2,D2};
AD1&AD6={AC1,D1};
AD0&AD7={AC0,D0};
其中,D={D0,D1,D2,D3},AC={AC0,AC1,AC2,AC3}。
然后,以2×2*2×4的基本矩阵乘法运算单元为处理单位,将所述8×4的奇数行矩阵D对应的矩阵乘法运算8×8*8×4分解成16个所述基本矩阵乘法运算单元进行运算,并将各个运算结果依次进行横向与纵向合并得到8×4的块矩阵,所述8×4的块矩阵={I4,I5,I6,I7}。
其中,可以由以下公式表示上述矩阵乘法分解与合并:
d15*D3+d14*D2+d13*D1+d12*D0=I7;
d11*D3+d10*D2+d9*D1+d8*D0=I6;
d7*D3+d6*D2+d5*D1+d4*D0=I5;
d3*D3+d2*D2+d1*D1+d0*D0=I4。
其中,d0~d15均表示2×2的系数矩阵。
2)以2×4&2×4的基本蝶形运算单元为处理单位,对所述8×4的偶数行矩阵AC进行蝶形分解,得到4×4奇数行矩阵C和4×4的偶数行矩阵AB,具体地,可以由以下公式表示上述蝶形分解:
AC1&AC2={AB1,C1};
AC0&AC3={AB0,C0};
其中,AB={AB0,AB1},C={C0,C1}。
然后,以2×2*2×4的基本矩阵乘法运算单元为处理单位,将所述4×4的奇数行矩阵C对应的矩阵乘法运算4×4*4×4分解成4个所述MPE进行运算,并将各个运算结果依次进行横向与纵向合并得到4×4的块矩阵,所述4×4的块矩阵={I2,I3}。
其中,可以由以下公式表示上述矩阵乘法分解与合并:
c3*C1+c2*C2=I3;
c1*C1+c0*C2=I2。
其中,c0~c3均表示2×2的系数矩阵。
3)以2×4&2×4的基本蝶形运算单元为处理单位,对所述4×4的偶数行矩阵AB进行蝶形分解,得到2×4奇数行矩阵B和2×4的偶数行矩阵A,具体地,可以由以下公式表示上述蝶形分解:
AB0&AB1={A0,B0};
其中,A={A0},B={B0}。
然后,对所述2×4奇数行矩阵B对应的矩阵乘法运算2×2*2×4进行运算得到2×4的块矩阵,所述2×4的块矩阵={I1};对所述2×4的偶数行矩阵对应矩阵乘法运算2×2*2×4进行运算得到个2×4的块矩阵,所述2×4的块矩阵={I0}。
其中,可以由以下公式表示上述矩阵乘法分解与合并:
b0*B0=I1;
a0*A0=I0。
其中,b0和a0均表示2×2的系数矩阵。
4)将8×4的块矩阵{I4,I5,I6,I7}、4×4的块矩阵{I2,I3}以及2×4的块矩阵{I1}和{I0}进行合并,得到16×4的列输出矩阵I={I0,I1,I2,I3,I4,I5,I6,I7}。
其中,在上述实施例中,所述步骤25与所述步骤24类似,其具体实现流程包括:
S251、以所述基本蝶形运算单元为处理单位,对第1个H×4的列输入矩阵进行蝶形分解,得到(H/2)×4的奇数行矩阵和(H/2)×4的偶数行矩阵;然后将所述(H/2)×4的奇数行矩阵对应的矩阵乘法运算(H/2)×(H/2)*(H/2)×4分解成多个所述基本矩阵乘法运算单元进行运算,并将各个运算结果依次进行横向与纵向合并得到(H/2)×4的块矩阵。
S252、以所述基本蝶形运算单元为处理单位,对所述(H/2)×4的偶数行矩阵进行蝶形分解,得到(H/4)×4奇数行矩阵和(H/4)×4的偶数行矩阵;然后将所述(H/4)×4奇数行矩阵对应的矩阵乘法运算(H/4)×(H/4)*(H/4)×4分解成多个所述基本矩阵乘法运算单元进行运算,并将各个运算结果依次进行横向与纵向合并得到(H/4)×4的块矩阵。
S253、以此类推,以所述基本蝶形运算单元为处理单位,直至将所述(H/2)×4的偶数行矩阵蝶形分解成2×4的奇数行矩阵和2×4的偶数行矩阵;然后依次对所述2×4的奇数行矩阵对应矩阵乘法运算2×2*2×4和所述2×4的偶数行矩阵对应矩阵乘法运算2×2*2×4进行运算,得到两个2×4的块矩阵。
S254、将所述(H/2)×4的块矩阵、(H/4)×4的块矩阵、…、所述两个2×4的块矩阵进行合并,得到第1个H×4的列输出矩阵。
S255、对第2个~第(L/4)个H×4的列输入矩阵重复步骤S271)~S274),得到第2个~第(L/4)个H×4的列输出矩阵。
S256、将所述(L/4)个H×4的列输出矩阵进行合并,得到所述H×L的一维DCT变换的输出矩阵。
其中,所述H×L的一维DCT变换的输出矩阵即为所述H×L的二维DCT变换的输出矩阵。
本发明提供的HEVC标准中视频编解码变换方法,与现有技术相比,其是通过先进行数据压缩,然后基于基本蝶形运算单元和基本矩阵乘法运算单元对压缩后的数据进行DCT变换,以减少进行DCT变换的数据量,从而在蝶形运算的基础上进一步降低DCT变换的运算复杂度。
如图4所示,本发明提供一种HEVC标准中视频编解码变换装置4,所述装置4包括设置模块41、蝶形解压与转置模块42、第一变换模块43、第二变换模块44和零块解压与奇偶重构模块45。
其中,所述设置模块41,用于设置基本蝶形运算单元和基本矩阵乘法运算单元。
所述蝶形解压与转置模块42,用于对二维DCT变换的H×L的输入矩阵进行蝶形压缩,并对经过蝶形压缩后的H×L的输入矩阵进行转置,得到相应的转置矩阵,所述转置矩阵由(H/4)个L×4的列输入矩阵,且所述L×4的列输入矩阵不包括冗余块;
所述第一变换模块43,用于对所述L×H的一维DCT变换的输出矩阵的转置矩阵进行H×L的一维DCT变换H×H*H×L,得到所述H×L的一维DCT变换的输出矩阵;
所述第二变换模块44,用于对所述L×H的一维DCT变换的输出矩阵的转置矩阵进行H×L的一维DCT变换H×H*H×L,得到所述H×L的一维DCT变换的输出矩阵;
所述零块解压与奇偶重构模块45,用于对所述H×L的一维DCT变换的输出矩阵进行零块解压和奇偶重构,得到所述二维DCT变换的输出矩阵。
下面以基本蝶形运算单元为2×4&2×4,基本矩阵乘法运算单元为2×2*2×4为例,阐述上述HEVC标准中视频编解码变换装置4。
这里,所述设置模块41,用于设置基本蝶形运算单元为2×4&2×4和基本矩阵乘法运算单元2×2*2×4,其中,所述2×4&2×4表示2×4的基本矩阵与2×4的基本矩阵叠加,所述2×2*2×4表示2×2的系数矩阵与2×4的基本矩阵相乘。
所述蝶形解压与转置模块42,用于将所述二维DCT变换的H×L的输入矩阵划分成(H/4)个4×L行输入矩阵,并根据蝶形运算的镜像特性对每个4×L行输入矩阵进行反镜像操作以删除对应冗余块,并对经过蝶形压缩后的H×L的输入矩阵进行转置,得到相应的转置矩阵,所述转置矩阵由(H/4)个L×4的列输入矩阵,且所述L×4的列输入矩阵不包括冗余块。
所述第一变换模块43,用于以所述基本蝶形运算单元和基本矩阵乘法运算单元为处理单位,对每个L×4的列输入矩阵进行蝶形递归分解和矩阵乘法递归分解与合并,得到对应的(H/4)个L×4的列输出矩阵,并将所述(H/4)个L×4的列输出矩阵进行合并,得到所述L×H的一维DCT变换的输出矩阵。
所述第二变换模块44,用于以所述基本蝶形运算单元和基本矩阵乘法运算单元为处理单位,对每个H×4的列输入矩阵进行蝶形递归分解和矩阵乘法递归分解与合并,得到对应的(L/4)个H×4的列输出矩阵,并将所述(L/4)个H×4的列输出矩阵进行合并,得到所述H×L的一维DCT变换的输出矩阵。
所述零块解压与奇偶重构模块45,用于以所述2×4的基本矩阵为处理单位,对每个H×4的列输出矩阵进行扫描以添加2×4的零块,所述零块表示数据为全零的基本矩阵;然后对经过零块解压的输出矩阵进行奇偶重构,得到所述二维DCT变换的输出矩阵。
本发明提供的HEVC标准中视频编解码变换装置,与现有技术相比,其是通过先进行数据压缩,然后基于基本蝶形运算单元和基本矩阵乘法运算单元对压缩后的数据进行DCT变换,以减少进行DCT变换的数据量,从而在蝶形运算的基础上进一步降低DCT变换的运算复杂度。
如图5所示,本发明提供一种HEVC标准中视频编解码变换方法,所述方法包括:
S51、设置基本蝶形运算单元和基本矩阵乘法运算单元;
S52、对所述二维IDCT变换的H×L的输入矩阵进行奇偶分离,并将奇偶分离后的输入矩阵进行零块压缩,所述零块表示数据为全零的基本矩阵;
S53、对经过零块压缩的输入矩阵进行H×L的一维IDCT变换H×H*H×L,得到H×L的一维IDCT变换的输出矩阵;
S54、对所述H×L的一维IDCT变换的输出矩阵的转置矩阵进行L×H的一维DCT变换L×L*L×H,得到所述L×H的一维IDCT变换的输出矩阵;
S55、对所述L×H的一维IDCT变换的输出矩阵进行转置,并对转置后的输出矩阵进行蝶形解压,得到所述二维IDCT变换的输出矩阵。
本发明提供的HEVC标准中视频编解码变换方法,与现有技术相比,其是通过先进行数据压缩,然后基于基本蝶形运算单元和基本矩阵乘法运算单元对压缩后的数据进行IDCT变换,以减少进行IDCT变换的数据量,从而在蝶形运算的基础上进一步降低IDCT变换的运算复杂度。
如图6所示,本发明提供一种HEVC标准中视频编解码变换方法,所述方法包括:
S61、设置基本蝶形运算单元为2×4&2×4,基本矩阵乘法运算单元为2×2*2×4。
其中,所述2×4&2×4表示2×4的基本矩阵与2×4的基本矩阵叠加,所述2×2*2×4表示2×2的系数矩阵与2×4的基本矩阵相乘。
S62、对所述二维IDCT变换的H×L的输入矩阵进行奇偶分离。
S63、将奇偶分离后的输入矩阵进行零块压缩。
具体为将所述奇偶分离后的输入矩阵划分成(L/4)个H×4的列输入矩阵,并以所述2×4的基本矩阵为处理单位,对每个H×4的列输入矩阵进行扫描以删除2×4的零块,所述零块表示数据为全零的基本矩阵。
其中,本实施例中奇偶分离和零块压缩的流程示意图,如图7所示,这里以32×32的矩阵数据为例进行阐述。
其中,表6给出了不同变换单元的奇偶分离规则,表7和表8给出了正常数据的格式和压缩数据的格式。
表6
表7
表8
图7中的右图表示了二维IDCT变换的输入矩阵,所述输入矩阵为32×32的矩阵数据,其中灰色表示1×4的非零数据块,白色表示1×4的零数据块。
左图表示了奇偶分离后的32×32的矩阵数据以及零块压缩的方式,其中,自上而下,分别表示2×4的子矩阵且该子矩阵为偶矩阵,即NS=2×4且NS_ODD=0;2×4的子矩阵且该子矩阵为奇矩阵,即NS=2×4且NS_ODD=1;4×4的子矩阵,即NS=4×4;8×4的子矩阵,即NS=8×4;16×4的子矩阵,即NS=16×4。箭头虚线为零块压缩时的扫描顺序,表示了对第1~8个32×4的列矩阵逐一进行扫描和零块压缩。
S64、对经过零块压缩的输入矩阵进行H×L的一维IDCT变换H×H*H×L。
具体为以所述基本蝶形运算单元和基本矩阵乘法运算单元为处理单位,对所述H×L的一维IDCT变换的输入矩阵的每个H×4的列输入矩阵进行矩阵乘法递归分解与合并和蝶形递归合并,得到对应的(L/4)个H×4的列输出矩阵,并将所述(L/4)个H×4的列输出矩阵进行合并,得到所述H×L的一维IDCT变换的输出矩阵。
S65、对所述H×L的一维IDCT变换的输出矩阵的转置矩阵进行L×H的一维IDCT变换L×L*L×H。具体为以所述基本蝶形运算单元和基本矩阵乘法运算单元为处理单位,对所述L×H的一维IDCT变换的输入矩阵的每个L×4的列输入矩阵进行矩阵乘法递归分解与合并和蝶形递归合并,得到对应的(H/4)个L×4的列输出矩阵,并将所述(H/4)个L×4的列输出矩阵进行合并,得到所述L×H的一维IDCT变换的输出矩阵。S66、对所述L×H的一维IDCT变换的输出矩阵进行转置。
S67、对转置后的输出矩阵进行蝶形解压。
具体为将所述转置后的输出矩阵划分成(H/4)个行矩阵构成,并根据蝶形运算的镜像特性,以每个行矩阵为处理单位进行镜像操作,直至每个行矩阵解压成大小为4×L的行矩阵,得到所述二维IDCT变换的输出矩阵。
其中,在上述实施例中,所述步骤64的具体实现流程包括:
S641、将第1个H×4的列输入矩阵对应的矩阵乘法运算H×H*H×4分解成奇数行矩阵乘法运算(H/2)×(H/2)*(H/2)×4和偶数行矩阵乘法运算(H/2)×(H/2)*(H/2)×4;然后将所述奇数行矩阵乘法运算(H/2)×(H/2)*(H/2)×4分解成多个所述基本矩阵乘法运算单元进行运算,并将各个运算结果依次进行横向与纵向合并得到(H/2)×4的块矩阵。
S642、将所述偶数行矩阵乘法运算(H/2)×(H/2)*(H/2)×4分解成奇数行矩阵乘法运算(H/4)×(H/4)*(H/4)×4和偶数行矩阵乘法运算(H/4)×(H/4)*(H/4)×4;然后将所述奇数行矩阵乘法运算(H/4)×(H/4)*(H/4)×4分解成多个所述基本矩阵乘法运算单元进行运算,并将各个运算结果依次进行横向与纵向合并得到(H/4)×4的块矩阵。
S643、以此类推,直至将所述偶数行矩阵乘法运算(H/2)×(H/2)*(H/2)×4分解成奇数行基本矩阵乘法运算单元和偶数行基本矩阵乘法运算单元;然后,依次对所述奇数行基本矩阵乘法运算单元和所述偶数行基本矩阵乘法运算单元进行运算,得到两个2×4的块矩阵。
S644、对所述两个2×4的块矩阵进行蝶形合并,得到4×4的中间矩阵;将前一次蝶形合并得到的所述4×4的中间矩阵与之前得到的4×4的块矩阵进行蝶形合并,得到8×4的中间矩阵;依次类推,将之前得到的所述(H/4)×4的块矩阵与前一次蝶形合并得到的(H/4)×4的中间矩阵进行蝶形合并,得到(H/2)×4的中间矩阵;将之前得到的所述(H/2)×4的块矩阵与前一次蝶形合并得到的所述(H/2)×4的中间矩阵进行蝶形合并,得到对应的第1个H×4的列输出矩阵。
S645、对第2个~第(L/4)个H×4的列输入矩阵重复步骤741)~744),得到第2个~第(L/4)个H×4的列输出矩阵。
S646、将所述(L/4)个H×4的列输出矩阵进行合并,得到所述H×L的一维IDCT变换的输出矩阵。
下面将针对上述实施例中步骤S641~S644的详细阐述,如图8所示,其中所述H的取值为16,结合表9和10可知,表9表示矩阵乘法递归分解,表10表示矩阵乘法递归分解与合并和蝶形递归合并,步骤S641~S644的详细流程包括:
表9
表10
1)将第1个16×4的列输入矩阵对应的矩阵乘法运算16×16*16×4分解成奇数行矩阵乘法运算8×8*8×4和偶数行矩阵乘法运算8×8*8×4,其中,所述奇数行矩阵乘法运算8×8*8×4表示8×8的系数矩阵d和8×4的块矩阵{I4,I5,I6,I7}相乘;然后将所述奇数行矩阵乘法运算8×8*8×4分解成16个所述基本矩阵乘法运算单元进行运算,并将各个运算结果依次进行横向与纵向合并得到8×4的块矩阵D={D0,D1,D2,D3},所述D0、D1、D2、D3通过以下公式获得:
d0*I4+d1*I5+d2*I6+d3*I7=D0;
d4*I4+d5*I5+d6*I6+d7*I7=D1;
d8*I4+d9*I5+d10*I6+d11*I7=D2;
d12*I4+d13*I5+d14*I6+d15*I7=D3;
其中,d0~d15均表示2×2的系数矩阵。
2)将所述偶数行矩阵乘法运算8×8*8×4分解成奇数行矩阵乘法运算4×4*4×4和偶数行矩阵乘法运算4×4*4×4,其中,所述奇数行矩阵乘法运算4×4*4×4表示4×4系数矩阵c与4×4的块矩阵{I2,I3}相乘;然后将所述奇数行矩阵乘法运算4×4*4×4分解成4所述基本矩阵乘法运算单元进行运算,并将各个运算结果依次进行横向与纵向合并得到4×4的块矩阵C={C0,C1},所述C0、C1通过以下公式获得:
c0*I2+c1*I3=C0;
c2*I2+c3*I3=C1;
其中,c0~c3均表示2×2的系数矩阵。
3)以此类推,将所述偶数行矩阵乘法运算4×4*4×4分解成奇数行矩阵乘法运算2×2*2×4和偶数行矩阵乘法运算2×2*2×4,其中,所述奇数行矩阵乘法运算2×2*2×4表示2×2的系数矩阵b与2×4的块矩阵{I1}相乘,所述偶数行矩阵乘法运算2×2*2×4表示2×2的系数矩阵a与2×4的块矩阵{I0}相乘;然后对所述奇数行矩阵乘法运算2×2*2×4进行运算,得到块矩阵A={A0},对所述偶数行矩阵乘法运算2×2*2×4进行运算,得到块矩阵B={B0},所述A0和B0通过以下公式获得:
a0*I0=A0;
b0*I1=B0;
其中,所述A0的具体计算公式如下:
A00=a00*I00+a01*I10;A01=a00*I01+a01*I11;
A02=a00*I02+a01*I12;A03=a00*I03+a01*I13;
A10=a10*I00+a11*I10;A11=A10*I01+a11*I11;
A12=a10*I02+a11*I12;A13=a10*I03+a11*I13;
与所述A0的计算公式类似,可以获得所述B0。
4)对所述块矩阵A和B进行蝶形合并,得到4×4中间矩阵AB,将前一次蝶形合并得到的所述4×4的中间矩阵AB={AB0,AB1}与之前得到的4×4的块矩阵C进行蝶形合并,得到8×4的中间矩阵AC={AC0,AC1,AC2,AC3};将前一次蝶形合并得到的所述中间矩阵AC与之前得到的8×4的块矩阵D进行蝶形合并,得到对应的第1个16×4的列输出矩阵AD={AD0,AD1,AD2,AD3,AD4,AD5,AD6,AD7}。其中,所述4×4中间矩阵AB可以通过以下公式获得:
A0&B0={AB0,AB1};
其中,其具体计算公式如下:
AB00=A00+B00;AB01=A01+B01;AB02=A02+B02;AB03=A03+B03;
AB10=A10+B10;AB11=A11+B11;AB12=A12+B12;AB13=A13+B13;
AB20=A10-B10;AB21=A11-B11;AB22=A12-B12;AB23=A13-B13;
AB30=A00-B00;AB31=A01-B01;AB32=A02-B02;AB33=A03-B03。
所述8×4的中间矩阵AC可以通过以下公式获得:
C0&AB0={AC0,AC3};
C1&AB1={AC1,AC2}。
所述AD0、AD1、AD2、AD3、AD4、AD5、AD6、AD7具体的计算公式如下:
D0&AC0={AD0,AD7};
D1&AC1={AD1,AD6};
D2&AC2={AD2,AD5};
D3&AC3={AD3,AD4}。
进一步地,步骤S65的具体实现流程与所述步骤64的具体实现流程类似,其具体实现流程如下:
S651、将第1个L×4的列输入矩阵对应的矩阵乘法运算L×L*L×4分解成奇数行矩阵乘法运算(L/2)×(L/2)*(L/2)×4和偶数行矩阵乘法运算(L/2)×(L/2)*(L/2)×4;然后将所述奇数行矩阵乘法运算(L/2)×(L/2)*(L/2)×4分解成多个所述基本矩阵乘法运算单元进行运算,并将各个运算结果依次进行横向与纵向合并得到(L/2)×4的块矩阵。
S652、将所述偶数行矩阵乘法运算(L/2)×(L/2)*(L/2)×4分解成奇数行矩阵乘法运算(L/4)×(L/4)*(L/4)×4和偶数行矩阵乘法运算(L/4)×(L/4)*(L/4)×4;然后将所述奇数行矩阵乘法运算(L/4)×(L/4)*(L/4)×4分解成多个所述基本矩阵乘法运算单元进行运算,并将各个运算结果依次进行横向与纵向合并得到(L/4)×4的块矩阵。
S653、以此类推,直至将所述偶数行矩阵乘法运算(L/2)×(L/2)*(L/2)×4分解成奇数行基本矩阵乘法运算单元和偶数行基本矩阵乘法运算单元;然后,依次对所述奇数行基本矩阵乘法运算单元和所述偶数行基本矩阵乘法运算单元进行运算,得到两个2×4的块矩阵。
S654、对所述两个2×4的块矩阵进行蝶形合并,得到4×4的中间矩阵;将前一次蝶形合并得到的所述4×4的中间矩阵与之前得到的4×4的块矩阵进行蝶形合并,得到8×4的中间矩阵;依次类推,将之前得到的所述(L/4)×4的块矩阵与前一次蝶形合并得到的(L/4)×4的中间矩阵进行蝶形合并,得到(L/2)×4的中间矩阵;将之前得到的所述(L/2)×4的块矩阵与前一次蝶形合并得到的所述(L/2)×4的中间矩阵进行蝶形合并,得到对应的第1个L×4的列输出矩阵。
S655、对第2个~第(H/4)个L×4的列输入矩阵重复步骤741)~744),得到第2个~第(H/4)个L×4的列输出矩阵。
S656、将所述(H/4)个L×4的列输出矩阵进行合并,得到所述L×H的一维IDCT变换的输出矩阵。
如图9所示,为本实施例中的蝶形解压的流程示意图,其中以32×32的矩阵数据为例进行阐述。图9中的右图表示了所述L×H的一维IDCT变换的输出矩阵,所述输出矩阵为压缩的32×32的矩阵数据,其具体的数据格式如表11所示。左图为蝶形解压后的矩阵数据,即二维IDCT变换的输出矩阵的数据,其具体的蝶形解压规则如表12所示。
表11
表12
如图10所示,本发明实施例提供一种HEVC标准中视频编解码变换装置10,所述装置10包括设置模块101、奇偶分离与零块压缩102、第一变换模块103、第二变换模块104和转置与蝶形解压模块105。
其中,所述设置模块101,用于设置基本蝶形运算单元和基本矩阵乘法运算单元。
所述奇偶分离与零块压缩模块102,用于对所述二维IDCT变换的H×L的输入矩阵进行奇偶分离,并将奇偶分离后的输入矩阵进行零块压缩,所述零块表示数据为全零的基本矩阵。
所述第一变换模块103,用于对经过零块压缩的输入矩阵进行H×L的一维IDCT变换H×H*H×L,得到H×L的一维IDCT变换的输出矩阵;
所述第二变换模块104,用于对所述H×L的一维IDCT变换的输出矩阵的转置矩阵进行L×H的一维DCT变换L×L*L×H,得到所述L×H的一维IDCT变换的输出矩阵;
所述转置与蝶形解压模块105,用于对所述L×H的一维IDCT变换的输出矩阵进行转置,并对转置后的输出矩阵进行蝶形解压,得到所述二维IDCT变换的输出矩阵。
下面以基本蝶形运算单元为2×4&2×4,基本矩阵乘法运算单元为2×2*2×4为例,阐述上述HEVC标准中视频编解码变换装置10。
这里,所述设置模块101,用于设置基本蝶形运算单元为2×4&2×4和基本矩阵乘法运算单元2×2*2×4,其中,所述2×4&2×4表示2×4的基本矩阵与2×4的基本矩阵叠加,所述2×2*2×4表示2×2的系数矩阵与2×4的基本矩阵相乘。
所述奇偶分离与零块压缩模块102,用于将所述奇偶分离后的输入矩阵划分成(L/4)个H×4的列输入矩阵,并以所述2×4的基本矩阵为处理单位,对每个H×4的列输入矩阵进行扫描以删除2×4的零块。
所述第一变换模块103,用于以所述基本蝶形运算单元和基本矩阵乘法运算单元为处理单位,对所述H×L的一维IDCT变换的输入矩阵的每个H×4的列输入矩阵进行矩阵乘法递归分解与合并和蝶形递归合并,得到对应的(L/4)个H×4的列输出矩阵,并将所述(L/4)个H×4的列输出矩阵进行合并,得到所述H×L的一维IDCT变换的输出矩阵。
所述第二变换模块104,用于以所述基本蝶形运算单元和基本矩阵乘法运算单元为处理单位,对所述L×H的一维IDCT变换的输入矩阵的每个L×4的列输入矩阵进行矩阵乘法递归分解与合并和蝶形递归合并,得到对应的(H/4)个L×4的列输出矩阵,并将所述(H/4)个L×4的列输出矩阵进行合并,得到所述L×H的一维IDCT变换的输出矩阵。
所述转置与蝶形解压模块105,用于将所述转置后的输出矩阵划分成(H/4)个行矩阵构成,并根据蝶形运算的镜像特性,以每个行矩阵为处理单位进行镜像操作,直至每个行矩阵解压成大小为4×L的行矩阵,得到所述二维IDCT变换的输出矩阵。
本发明提供的HEVC标准中视频编解码变换装置,与现有技术相比,其是通过先进行数据压缩,然后基于基本蝶形运算单元和基本矩阵乘法运算单元对压缩后的数据进行IDCT变换,以减少进行IDCT变换的数据量,从而在蝶形运算的基础上进一步降低IDCT变换的运算复杂度。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (4)
1.一种HEVC标准中视频编解码变换方法,其特征在于,包括:
设置基本蝶形运算单元和基本矩阵乘法运算单元;
对二维DCT变换的H×L的输入矩阵进行蝶形压缩,并对经过蝶形压缩后的H×L的输入矩阵进行转置,得到相应的转置矩阵,所述转置矩阵由(H/4)个L×4的列输入矩阵,且所述L×4的列输入矩阵不包括冗余块;
对所述转置矩阵进行L×H的一维DCT变换L×L*L×H,得到所述L×H的一维DCT变换的输出矩阵;
对所述L×H的一维DCT变换的输出矩阵的转置矩阵进行H×L的一维DCT变换H×H*H×L,得到所述H×L的一维DCT变换的输出矩阵;
对所述H×L的一维DCT变换的输出矩阵进行零块解压和奇偶重构,得到所述二维DCT变换的输出矩阵;
其中,所述设置基本蝶形运算单元和基本矩阵乘法运算单元包括:
设置基本蝶形运算单元为2×4&2×4,基本矩阵乘法运算单元为2×2*2×4,所述2×4&2×4表示2×4的基本矩阵与2×4的基本矩阵叠加,所述2×2*2×4表示2×2的系数矩阵与2×4的基本矩阵相乘;
其中,所述对二维DCT变换的H×L的输入矩阵进行蝶形压缩包括:
将所述二维DCT变换的H×L的输入矩阵划分成(H/4)个4×L行输入矩阵,并根据蝶形运算的镜像特性对每个4×L行输入矩阵进行反镜像操作以删除对应冗余块;
其中,所述对所述转置矩阵进行L×H的一维DCT变换L×L*L×H,得到所述L×H的一维DCT变换的输出矩阵包括:
以所述基本蝶形运算单元和基本矩阵乘法运算单元为处理单位,对每个L×4的列输入矩阵进行蝶形递归分解和矩阵乘法递归分解与合并,得到对应的(H/4)个L×4的列输出矩阵,并将所述(H/4)个L×4的列输出矩阵进行合并,得到所述L×H的一维DCT变换的输出矩阵;
其中,所述对所述L×H的一维DCT变换的输出矩阵的转置矩阵进行H×L的一维DCT变换H×H*H×L,得到所述H×L的一维DCT变换的输出矩阵包括:
以所述基本蝶形运算单元和基本矩阵乘法运算单元为处理单位,对每个H×4的列输入矩阵进行蝶形递归分解和矩阵乘法递归分解与合并,得到对应的(L/4)个H×4的列输出矩阵,并将所述(L/4)个H×4的列输出矩阵进行合并,得到所述H×L的一维DCT变换的输出矩阵;
其中,所述对所述H×L的一维DCT变换的输出矩阵进行零块解压和奇偶重构,得到所述二维DCT变换的输出矩阵包括:
以所述2×4的基本矩阵为处理单位,对每个H×4的列输出矩阵进行扫描以添加2×4的零块,所述零块表示数据为全零的基本矩阵;然后对经过零块解压的输出矩阵进行奇偶重构,得到所述二维DCT变换的输出矩阵。
2.一种HEVC标准中视频编解码变换装置,其特征在于,所述装置包括设置模块、蝶形解压与转置模块、第一变换模块、第二变换模块和零块解压与奇偶重构模块,其中,所述设置模块,用于设置基本蝶形运算单元和基本矩阵乘法运算单元;
所述蝶形解压与转置模块,用于对二维DCT变换的H×L的输入矩阵进行蝶形压缩,并对经过蝶形压缩后的H×L的输入矩阵进行转置,得到相应的转置矩阵,所述转置矩阵由(H/4)个L×4的列输入矩阵,且所述L×4的列输入矩阵不包括冗余块;
所述第一变换模块,用于对所述转置矩阵进行L×H的一维DCT变换L×L*L×H,得到所述L×H的一维DCT变换的输出矩阵;
所述第二变换模块,用于对所述L×H的一维DCT变换的输出矩阵的转置矩阵进行H×L的一维DCT变换H×H*H×L,得到所述H×L的一维DCT变换的输出矩阵;
所述零块解压与奇偶重构模块,用于对所述H×L的一维DCT变换的输出矩阵进行零块解压和奇偶重构,得到所述二维DCT变换的输出矩阵;
其中,所述设置模块,用于设置基本蝶形运算单元为2×4&2×4,基本矩阵乘法运算单元为2×2*2×4,所述2×4&2×4表示2×4的基本矩阵与2×4的基本矩阵叠加,所述2×2*2×4表示2×2的系数矩阵与2×4的基本矩阵相乘;
其中,所述蝶形压缩与转置模块,用于将所述二维DCT变换的H×L的输入矩阵划分成(H/4)个4×L行输入矩阵,并根据蝶形运算的镜像特性对每个4×L行输入矩阵进行反镜像操作以删除对应冗余块;
其中,所述第一变换模块,用于以所述基本蝶形运算单元和基本矩阵乘法运算单元为处理单位,对每个L×4的列输入矩阵进行蝶形递归分解和矩阵乘法递归分解与合并,得到对应的(H/4)个L×4的列输出矩阵,并将所述(H/4)个L×4的列输出矩阵进行合并,得到所述L×H的一维DCT变换的输出矩阵;
其中,所述第二变换模块,用于以所述基本蝶形运算单元和基本矩阵乘法运算单元为处理单位,对每个H×4的列输入矩阵进行蝶形递归分解和矩阵乘法递归分解与合并,得到对应的(L/4)个H×4的列输出矩阵,并将所述(L/4)个H×4的列输出矩阵进行合并,得到所述H×L的一维DCT变换的输出矩阵;
其中,所述零块解压与奇偶重构模块,用于以所述2×4的基本矩阵为处理单位,对每个H×4的列输出矩阵进行扫描以添加2×4的零块,所述零块表示数据为全零的基本矩阵;然后对经过零块解压的输出矩阵进行奇偶重构,得到所述二维DCT变换的输出矩阵。
3.一种HEVC标准中视频编解码变换方法,其特征在于,包括:
设置基本蝶形运算单元和基本矩阵乘法运算单元;
对二维IDCT变换的H×L的输入矩阵进行奇偶分离,并将奇偶分离后的输入矩阵进行零块压缩,所述零块表示数据为全零的基本矩阵;
对经过零块压缩的输入矩阵进行H×L的一维IDCT变换H×H*H×L,得到H×L的一维IDCT变换的输出矩阵;
对所述H×L的一维IDCT变换的输出矩阵的转置矩阵进行L×H的一维DCT变换L×L*L×H,得到所述L×H的一维IDCT变换的输出矩阵;
对所述L×H的一维IDCT变换的输出矩阵进行转置,并对转置后的输出矩阵进行蝶形解压,得到所述二维IDCT变换的输出矩阵;
其中,所述设置基本蝶形运算单元和基本矩阵乘法运算单元包括:
设置基本蝶形运算单元为2×4&2×4,基本矩阵乘法运算单元为2×2*2×4,所述2×4&2×4表示2×4的基本矩阵与2×4的基本矩阵叠加,所述2×2*2×4表示2×2的系数矩阵与2×4的基本矩阵相乘;
其中,所述将奇偶分离后的输入矩阵进行零块压缩包括:将所述奇偶分离后的输入矩阵划分成(L/4)个H×4的列输入矩阵,并以所述2×4的基本矩阵为处理单位,对每个H×4的列输入矩阵进行扫描以删除2×4的零块;
其中,所述对经过零块压缩的输入矩阵进行H×L的一维IDCT变换H×H*H×L,得到H×L的一维IDCT变换的输出矩阵包括:以所述基本蝶形运算单元和基本矩阵乘法运算单元为处理单位,对所述H×L的一维IDCT变换的输入矩阵的每个H×4的列输入矩阵进行矩阵乘法递归分解与合并和蝶形递归合并,得到对应的(L/4)个H×4的列输出矩阵,并将所述(L/4)个H×4的列输出矩阵进行合并,得到所述H×L的一维IDCT变换的输出矩阵;
其中,所述对所述H×L的一维IDCT变换的输出矩阵的转置矩阵进行L×H的一维DCT变换L×L*L×H,得到所述L×H的一维IDCT变换的输出矩阵包括:
以所述基本蝶形运算单元和基本矩阵乘法运算单元为处理单位,对所述L×H的一维IDCT变换的输入矩阵的每个L×4的列输入矩阵进行矩阵乘法递归分解与合并和蝶形递归合并,得到对应的(H/4)个L×4的列输出矩阵,并将所述(H/4)个L×4的列输出矩阵进行合并,得到所述L×H的一维IDCT变换的输出矩阵;
其中,所述对转置后的输出矩阵进行蝶形解压,得到所述二维IDCT变换的输出矩阵包括:
将所述转置后的输出矩阵划分成(H/4)个行矩阵构成,并根据蝶形运算的镜像特性,以每个行矩阵为处理单位进行镜像操作,直至每个行矩阵解压成大小为4×L的行矩阵,得到所述二维IDCT变换的输出矩阵。
4.一种HEVC标准中视频编解码变换装置,其特征在于,所述装置包括设置模块、奇偶分离与零块压缩模块、第一变换模块、第二变换模块和转置与蝶形解压模块,其中,所述设置模块,用于设置基本蝶形运算单元和基本矩阵乘法运算单元;
所述奇偶分离与零块压缩模块,用于对二维IDCT变换的H×L的输入矩阵进行奇偶分离,并将奇偶分离后的输入矩阵进行零块压缩,所述零块表示数据为全零的基本矩阵;
所述第一变换模块,用于对经过零块压缩的输入矩阵进行H×L的一维IDCT变换H×H*H×L,得到H×L的一维IDCT变换的输出矩阵;
所述第二变换模块,用于对所述H×L的一维IDCT变换的输出矩阵的转置矩阵进行L×H的一维DCT变换L×L*L×H,得到所述L×H的一维IDCT变换的输出矩阵;
所述转置与蝶形解压模块,用于对所述L×H的一维IDCT变换的输出矩阵进行转置,并对转置后的输出矩阵进行蝶形解压,得到所述二维IDCT变换的输出矩阵;
其中,所述设置模块,用于设置基本蝶形运算单元为2×4&2×4,基本矩阵乘法运算单元为2×2*2×4,所述2×4&2×4表示2×4的基本矩阵与2×4的基本矩阵叠加,所述2×2*2×4表示2×2的系数矩阵与2×4的基本矩阵相乘;
其中,所述奇偶分离与零块压缩模块,用于将所述奇偶分离后的输入矩阵划分成(L/4)个H×4的列输入矩阵,并以所述2×4的基本矩阵为处理单位,对每个H×4的列输入矩阵进行扫描以删除2×4的零块;
其中,所述第一变换模块,用于以所述基本蝶形运算单元和基本矩阵乘法运算单元为处理单位,对所述H×L的一维IDCT变换的输入矩阵的每个H×4的列输入矩阵进行矩阵乘法递归分解与合并和蝶形递归合并,得到对应的(L/4)个H×4的列输出矩阵,并将所述(L/4)个H×4的列输出矩阵进行合并,得到所述H×L的一维IDCT变换的输出矩阵;
其中,所述第二变换模块,用于以所述基本蝶形运算单元和基本矩阵乘法运算单元为处理单位,对所述L×H的一维IDCT变换的输入矩阵的每个L×4的列输入矩阵进行矩阵乘法递归分解与合并和蝶形递归合并,得到对应的(H/4)个L×4的列输出矩阵,并将所述(H/4)个L×4的列输出矩阵进行合并,得到所述L×H的一维IDCT变换的输出矩阵;
其中,所述奇偶分离与零块压缩模块,用于将所述转置后的输出矩阵划分成(H/4)个行矩阵构成,并根据蝶形运算的镜像特性,以每个行矩阵为处理单位进行镜像操作,直至每个行矩阵解压成大小为4×L的行矩阵,得到所述二维IDCT变换的输出矩阵。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510226992.4A CN106210715B (zh) | 2015-05-06 | 2015-05-06 | 一种hevc标准中视频编解码变换方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510226992.4A CN106210715B (zh) | 2015-05-06 | 2015-05-06 | 一种hevc标准中视频编解码变换方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106210715A CN106210715A (zh) | 2016-12-07 |
CN106210715B true CN106210715B (zh) | 2019-02-15 |
Family
ID=57459557
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510226992.4A Active CN106210715B (zh) | 2015-05-06 | 2015-05-06 | 一种hevc标准中视频编解码变换方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106210715B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114022580B (zh) * | 2022-01-06 | 2022-04-19 | 苏州浪潮智能科技有限公司 | 用于图像压缩的数据处理方法、装置、设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009021802A (ja) * | 2007-07-11 | 2009-01-29 | Toshiba Corp | 動画像符号化装置及び方法 |
CN102387367A (zh) * | 2011-11-08 | 2012-03-21 | 复旦大学 | 适用于多种视频标准、多尺寸二维整数余弦变换的通用方法 |
CN103826136A (zh) * | 2014-02-19 | 2014-05-28 | 华为软件技术有限公司 | 一种快速离散余弦反变换的方法和终端 |
CN104202599A (zh) * | 2014-09-23 | 2014-12-10 | 浙江工商大学 | 一种应用于hevc帧间编码的全零块检测方法 |
CN104581174A (zh) * | 2015-01-22 | 2015-04-29 | 复旦大学 | 一种适用于hevc标准的高吞吐率dct和idct硬件复用结构 |
-
2015
- 2015-05-06 CN CN201510226992.4A patent/CN106210715B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009021802A (ja) * | 2007-07-11 | 2009-01-29 | Toshiba Corp | 動画像符号化装置及び方法 |
CN102387367A (zh) * | 2011-11-08 | 2012-03-21 | 复旦大学 | 适用于多种视频标准、多尺寸二维整数余弦变换的通用方法 |
CN103826136A (zh) * | 2014-02-19 | 2014-05-28 | 华为软件技术有限公司 | 一种快速离散余弦反变换的方法和终端 |
CN104202599A (zh) * | 2014-09-23 | 2014-12-10 | 浙江工商大学 | 一种应用于hevc帧间编码的全零块检测方法 |
CN104581174A (zh) * | 2015-01-22 | 2015-04-29 | 复旦大学 | 一种适用于hevc标准的高吞吐率dct和idct硬件复用结构 |
Also Published As
Publication number | Publication date |
---|---|
CN106210715A (zh) | 2016-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2413983C2 (ru) | Обратимое преобразование для сжатия двумерных данных с потерями и без потерь | |
TWI471013B (zh) | 轉換式數位媒體編解碼器之計算複雜度及精確性控制 | |
KR101362696B1 (ko) | 하이브리드 아키텍쳐가 적용된 신호 변환 장치, 신호 변환 방법 및 기록매체 | |
JPH0373689A (ja) | 画像シーケンスの低速伝送のための、使用コストの低い数学的変換による画像データの圧縮方法及び装置 | |
Bouguezel et al. | A fast 8× 8 transform for image compression | |
CA2608455A1 (en) | Continuous extension of discrete transform for data processing | |
Joshi et al. | Efficient large size transforms for high-performance video coding | |
TWI412281B (zh) | A Method of Calculating Reverse Conversion of Low Complexity | |
CN106210715B (zh) | 一种hevc标准中视频编解码变换方法及装置 | |
CN101605259A (zh) | 对多媒体数据进行变换编、解码的装置及方法 | |
Chang et al. | A fast algorithm-based cost-effective and hardware-efficient unified architecture design of 4× 4, 8× 8, 16× 16, and 32× 32 inverse core transforms for HEVC | |
Divakara et al. | High speed area optimized hybrid da architecture for 2d-dtcwt | |
KR20030057425A (ko) | 역 변환 디바이스 및 역 변환 방법 및 변환 디바이스 및변환 방법 | |
US7756351B2 (en) | Low power, high performance transform coprocessor for video compression | |
CN104581174B (zh) | 一种适用于hevc标准的高吞吐率dct和idct硬件复用结构 | |
Haweel et al. | A fast modified signed discrete cosine transform for image compression | |
KR100754167B1 (ko) | 다양한 크기의 블록에 대한 변환/역변환 방법 및 그 장치 | |
CN105100811A (zh) | 一种视频变换的实现方法及装置 | |
JP4217408B2 (ja) | フィルタ処理装置 | |
KR101711495B1 (ko) | 에이치이브이씨에서 y, u 및 v 변환의 병렬 처리를 위한 재사용 디씨티 아키텍처 | |
KR100584550B1 (ko) | 고속 역 이산 여현 변환 방법 및 장치 | |
Raghunath et al. | High speed area efficient multi-resolution 2-D 9/7 filter DWT processor | |
Amish et al. | A novel hardware accelerator for the HEVC intra prediction | |
KR101423083B1 (ko) | Hevc 복호기용 역변환기 설계 방법 | |
JP2011223518A (ja) | データ変換装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |