CN105407358A - 一种基于hevc的整数dct变换方法 - Google Patents

一种基于hevc的整数dct变换方法 Download PDF

Info

Publication number
CN105407358A
CN105407358A CN201510854214.XA CN201510854214A CN105407358A CN 105407358 A CN105407358 A CN 105407358A CN 201510854214 A CN201510854214 A CN 201510854214A CN 105407358 A CN105407358 A CN 105407358A
Authority
CN
China
Prior art keywords
prime
matrix
integer dct
blocks
transformation
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
CN201510854214.XA
Other languages
English (en)
Other versions
CN105407358B (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.)
SHANGHAI FULHAN MICROELECTRONICS Co Ltd
Original Assignee
SHANGHAI FULHAN MICROELECTRONICS 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 SHANGHAI FULHAN MICROELECTRONICS Co Ltd filed Critical SHANGHAI FULHAN MICROELECTRONICS Co Ltd
Priority to CN201510854214.XA priority Critical patent/CN105407358B/zh
Publication of CN105407358A publication Critical patent/CN105407358A/zh
Application granted granted Critical
Publication of CN105407358B publication Critical patent/CN105407358B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Complex Calculations (AREA)

Abstract

本发明公开了一种基于HEVC的整数DCT变换方法,包括:输入视频信号;提取视频信号中的数字图像;将提取的数字图像转化为8×8矩阵M8;将M8划分为四个4×4块;对四个4×4块分别进行整数DCT变换,得到经整数DCT变换的四个4×4块;将经整数DCT变换的四个4×4块合并得到经整数DCT变换的8×8矩阵C8,完成矩阵M8的整数DCT变换,完成对视频信号的时频转换。本发明以4×4块为最小变换单元逐步构建8×8,16×16,32×32的整数DCT变换单元,充分利用现有的计算单元,缩短计算时间,层次清晰的计算单元有利于流水线的构建,解决了现有整数DCT变换方案中多次重复取数和计算单元利用率低的问题。

Description

一种基于HEVC的整数DCT变换方法
技术领域
本发明涉及视频图像编解码领域,尤其涉及一种基于HEVC的整数DCT变换方法。
背景技术
HEVC(HighEfficiencyVideoCoding)是2010年4月VCEG和MPEG再次组建视频编码联合组(JointCollaborativeTeamonVideoCoding,简称JCT-VC),联手制定的新一代视频编码标准。
HEVC的核心变换沿用了AVC所采用的整数DCT技术,但其相比AVC整数变换有如下特点:
1)HEVC采用4×4,8×8,16×16,32×32四种尺寸的变换矩阵,并且允许根据视频内容自适应的选择变换尺寸;
2)HEVC不同大小的变换矩阵形式较为统一,即不同大小的变换矩阵在整数化时放大的倍数满足一定条件,使得放大后的各个矩阵元素值大小相同。
结合以上特点,目前HEVC整数变换的实现方法主要是通过开发具有统一形式的整数DCT蝶形算法,如图1所示,通过依次循环复用计算单元来实现各个尺寸变换矩阵的自适应过程,但该方法存在如下明显不足:
1)重复取数,计算时间过长。由于采用依次循环复用计算单元的实现,需要重复取数四次,即依次对4×4,8×8,16×16,32×32四种变换尺寸进行计算,而且每次只能完成一种尺寸的变换输出,存在较大的取数延时和计算延时。
2)计算单元的利用率低。在具体的实现方案中,为了简化取数逻辑,提高数据计算的吞吐率,通常在图1的基础上增加额外的并行单元来实现计算的并行,例如采用32点并行计算,需要增加1组16×16,2组8×8,4组4×4的计算单元,然而这样的实现方式在计算过程中计算单元存在不同程度的闲置情况,例如在完成32×32变换过程中,额外增加的1组16×16,2组8×8,4组4×4全部闲置,同理,在完成8×8变化过程中,除4组4×4计算单元闲置外,32×32,16×16计算单元中也有部分功能闲置。
发明内容
本发明所要解决的技术问题是提供一种基于HEVC的整数DCT变换方法,能够有效解决现有方案中多次重复取数和计算单元利用率低的问题,主要以4×4块为最小变换计算单元,逐步构建8×8变换单元,并依此方法构建16×16,32×32变换计算单元,使现有的计算单元得到充分利用,缩短了计算时间,并且层次清晰的计算单元更有利于流水线的构建。
为实现上述技术效果,本发明公开了一种基于HEVC的整数DCT变换方法,包括:
输入视频信号;
提取所述视频信号中的数字图像;
将提取的所述数字图像转化为8×8矩阵M8;
将所述8×8矩阵M8划分为B8{1,1}、B8{1,2}、B8{2,1}和B8{2,2}四个4×4块;
利用4×4矩阵M4作为变换单元对B8{1,1}、B8{1,2}、B8{2,1}和B8{2,2}四个4×4块分别进行整数DCT变换,得到经整数DCT变换的C8{1,1}、C8{1,2}、C8{2,1}和C8{2,2}四个4×4块;以及
将C8{1,1}、C8{1,2}、C8{2,1}和C8{2,2}四个4×4块合并得到经整数DCT变换的8×8矩阵C8,完成所述8×8矩阵M8的整数DCT变换,完成对所述视频信号的时频转换。
本发明进一步的改进在于,通过四叉树法将所述8×8矩阵M8划分为B8{1,1}、B8{1,2}、B8{2,1}和B8{2,2}四个4×4块。
本发明进一步的改进在于,将所述8×8矩阵M8划分为B8{1,1}、B8{1,2}、B8{2,1}和B8{2,2}四个4×4块前还包括:
将所述8×8矩阵M8做如下分解:
M 8 = R 8 11 R 8 12 R 8 21 R 8 22 M 4 0 0 M 8 o d d P 8 11 P 8 12 P 8 21 P 8 22
其中, R = 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 , P = 1 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 - 1 1 0 0 0 0 0 - 1 0 0 1 0 0 0 - 1 0 0 0 0 1 0 - 1 0 0 0 0 0 0 1 ,
M8odd为所述8×8矩阵M8的整数DCT变换单元的ODD分量。
本发明进一步的改进在于,以所述8×8矩阵M8分解得到的M4作为变换单元,对所述B8{1,1}、B8{1,2}、B8{2,1}和B8{2,2}四个4×4块分别采用公式(1)的蝶形算法进行整数DCT变换,将所述B8{1,1}、B8{1,2}、B8{2,1}和B8{2,2}四个4×4块从时域信号转换为频域信号;
Y8=X8*M8'(1)
其中,Y8为频域信号,X8为时域信号,M8’为所述8×8矩阵M8的转置矩阵。
本发明进一步的改进在于,对所述B8{1,1}、B8{1,2}、B8{2,1}和B8{2,2}四个4×4块分别采用公式(1)的蝶形算法进行整数DCT变换后,得到公式(2)的矩阵;
Y 8 = X 8 * ( R 8 11 R 8 12 R 8 21 R 8 22 M 4 0 0 M 8 o d d P 8 11 P 8 12 P 8 21 P 8 22 ) ′ = X 8 11 X 8 12 X 8 21 X 8 22 P 8 11 ′ P 8 21 ′ P 8 12 ′ P 8 22 ′ M 4 ′ 0 0 M 8 o d d ′ R 8 11 ′ R 8 21 ′ R 8 12 ′ R 8 22 ′ = ( X 8 11 P 8 11 ′ M 4 ′ + X 8 12 P 8 12 ′ M 4 ′ ) R 8 11 ′ + ( X 8 11 P 8 21 ′ M 8 o d d ′ + X 8 12 P 8 22 ′ M 8 o d d ′ ) R 8 12 ′ ( X 8 11 P 8 11 ′ M 4 ′ + X 8 12 P 8 12 ′ M 4 ′ ) R 8 21 ′ + ( X 8 11 P 8 21 ′ M 8 o d d ′ + X 8 12 P 8 22 ′ M 8 o d d ′ ) R 8 22 ′ ( X 8 21 P 8 11 ′ M 4 ′ + X 8 22 P 8 12 ′ M 4 ′ ) R 8 11 ′ + ( X 8 21 P 8 21 ′ M 8 o d d ′ + X 8 22 P 8 22 ′ M 8 o d d ′ ) R 8 12 ′ ( X 8 21 P 8 11 ′ M 4 ′ + X 8 22 P 8 12 ′ M 4 ′ ) R 8 21 ′ + ( X 8 21 P 8 21 ′ M 8 o d d ′ + X 8 22 P 8 22 ′ M 8 o d d ′ ) R 8 22 ′ - - - ( 2 )
对公式(2)的矩阵进行简化,得到公式(3)的矩阵;
Y 8 = ( X 8 11 M 4 ′ + X 8 12 M 4 ′ ⊗ E f 8 ) R 8 11 ′ + ( X 8 11 P 8 21 M 8 o d d ′ + X 8 12 M 8 o d d ′ ) R 8 12 ′ ( X 8 11 M 4 ′ + X 8 12 M 4 ′ ⊗ E f 8 ) R 8 21 ′ + ( X 8 11 P 8 21 M 8 o d d ′ + X 8 12 M 8 o d d ′ ) R 8 22 ′ ( X 8 21 M 4 ′ + X 8 22 M 4 ′ ⊗ E f 8 ) R 8 11 ′ + ( X 8 21 P 8 21 M 8 o d d ′ + X 8 22 M 8 o d d ′ ) R 8 12 ′ ( X 8 21 M 4 ′ + X 8 22 M 4 ′ ⊗ E f 8 ) R 8 21 ′ + ( X 8 21 P 8 21 M 8 o d d ′ + X 8 22 M 8 o d d ′ ) R 8 22 ′ - - - ( 3 )
其中, E f 8 = 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 .
本发明进一步的改进在于,将提取的所述数字图像还转化为16×16矩阵M16,通过以下步骤将完成所述16×16矩阵M16的整数DCT变换:
将所述16×16矩阵M16划分为B16{1,1}、B16{1,2}、B16{2,1}和B16{2,2}四个8×8块;
利用经整数DCT变换得到的所述8×8矩阵C8作为变换单元对B16{1,1}、B16{1,2}、B16{2,1}和B16{2,2}四个8×8块分别进行整数DCT变换,得到经整数DCT变换的C16{1,1}、C16{1,2}、C16{2,1}和C16{2,2}四个8×8块;以及
将C16{1,1}、C16{1,2}、C16{2,1}和C16{2,2}四个8×8块合并得到经整数DCT变换的16×16矩阵C16,完成所述16×16矩阵M16的整数DCT变换。
本发明进一步的改进在于,将提取的所述数字图像还转化为32×32矩阵M32,通过以下步骤将完成所述32×32矩阵M32的整数DCT变换:
将所述32×32矩阵M32划分为B32{1,1}、B32{1,2}、B32{2,1}和B32{2,2}四个16×16块;
利用经整数DCT变换得到的所述16×16矩阵C16作为变换单元对B32{1,1}、B32{1,2}、B32{2,1}和B32{2,2}四个16×16块分别进行整数DCT变换,得到经整数DCT变换的C32{1,1}、C32{1,2}、C32{2,1}和C32{2,2}四个16×16块;以及
将C32{1,1}、C32{1,2}、C32{2,1}和C32{2,2}四个16×16块合并得到经整数DCT变换的32×32矩阵C32,完成所述32×32矩阵B32的整数DCT变换。
本发明由于采用了以上技术方案,使其具有以下有益效果:
采用层次化的整数DCT变换过程,以4×4块为最小变换单元逐步构建8×8的整数DCT变换单元,并依此方法构建16×16,32×32的整数DCT变换单元,使现有的计算单元得到充分利用,缩短了计算时间,并且层次清晰的计算单元更有利于流水线的构建。
附图说明
图1是目前基于HEVC的整数DCT(30×32)蝶形变换的结构示意图。
图2是本发明一种基于HEVC的整数DCT变换方法的整数DCT(8×8)变换的结构示意图。
图3是本发明一种基于HEVC的整数DCT变换方法的整数DCT(16×16)变换的结构示意图。
图4是本发明一种基于HEVC的整数DCT变换方法的整数DCT(32×32)变换的结构示意图。
具体实施方式
下面结合附图及具体实施方式对本发明作进一步详细的说明。
本发明一种基于HEVC的整数DCT变换方法的中心思想是:以4×4块为最小变换计算单元,逐步构建8×8变换单元,并依此方法构建16×16,32×32变换计算单元,使现有的计算单元得到充分利用,缩短了计算时间,并且层次清晰的计算单元更有利于流水线的构建,从而解决整数DCT变换方案中多次重复取数和计算单元利用率低的问题。
首先参阅图2~4所示,分别对应本发明中整数DCT(8×8)变换、整数DCT(16×16)变换、整数DCT(32×32)变换三种层次的实现结构。
参阅图2所示,输入单元201为对一个8×8矩阵M8通过四叉树法划分得到的B8{1,1}、B8{1,2}、B8{2,1}和B8{2,2}四个4×4块,其中,四叉树法的划分思想是将空间区域按照四个象限分割,得到的每个象限中的属性数值相同;
4×4整数DCT变换单元(M4)202的输出即是一个4×4块的整数DCT变换结果,具体的设计实现可以采用蝶形算法实现;
滤波模块(Ef8)203是基本的0-1(4×4)矩阵,通过矩阵点乘实现;
8×8整数DCT变换单元的ODD分量(4×4矩阵M8odd)204,采用图1中相同的蝶形算法实现,其中ODD分量实际就是矩阵分组的一个分量,M8odd是8×8矩阵M8分解得到的中间矩阵进行分组后,右下角的一个4×4矩阵;
滤波模块205是基本的0-1(4×4)矩阵,通过矩阵乘实现。
输出单元206为B8{1,1}、B8{1,2}、B8{2,1}和B8{2,2}四个4×4块通过整数DCT变换得到的C8{1,1}、C8{1,2}、C8{2,1}和C8{2,2}四个4×4块,合并后可得到经整数DCT变换的8×8矩阵C8,完成8×8矩阵M8的整数DCT变换。
参阅图3所示,输入单元301为对一个16×16矩阵M16通过四叉树法得到的B16{1,1}、B16{1,2}、B16{2,1}和B16{2,2}四个8×8块;
8×8整数DCT变换单元(M8)302的输出即是一个8×8块的整数DCT变换结果,具体的设计实现可以采用蝶形算法实现;
滤波模块(Ef16)303是基本的0-1(8×8)矩阵,通过矩阵点乘实现;
16×16整数DCT变换单元的ODD分量(8×8矩阵M16odd)304,采用图1中相同的蝶形算法实现,其中,ODD分量实际就是矩阵分组的一个分量,M16odd是16×16矩阵M16分解后的中间矩阵进行分组后,右下角的一个8×8矩阵;
滤波模块305是基本的0-1(8×8)矩阵,通过矩阵乘实现。
输出单元306为B16{1,1}、B16{1,2}、B16{2,1}和B16{2,2}四个8×8块通过整数DCT变换得到的C16{1,1}、C16{1,2}、C16{2,1}和C16{2,2}四个8×8块,合并后可得到经整数DCT变换的16×16矩阵C16,完成16×16矩阵M16的整数DCT变换。
参阅图4所示,输入单元401为对一个32×32矩阵M32通过四叉树法得到的B32{1,1}、B32{1,2}、B32{2,1}和B32{2,2}四个16×16块;
16×16整数DCT变换单元(M16)402的输出即是一个16×16块的整数DCT变换结果,具体的设计实现可以采用蝶形算法实现;
滤波模块(Ef32)403是基本的0-1(16×16)矩阵,通过矩阵点乘实现;
32×32整数DCT变换单元的ODD分量(16×16矩阵M32odd)404,采用图1中相同的蝶形算法实现,其中ODD分量实际就是矩阵分组的一个分量,M32odd是32×32矩阵M32分解得到的中间矩阵进行分组后,右下角的一个16×16矩阵;
滤波模块405是基本的0-1(16×16)矩阵,通过矩阵乘实现。
输出单元406为B32{1,1}、B32{1,2}、B32{2,1}和B32{2,2}四个16×16块通过整数DCT变换得到的C32{1,1}、C32{1,2}、C32{2,1}和C32{2,2}四个16×16块,合并后可得到经整数DCT变换的32×32矩阵C32,完成32×32矩阵M32的整数DCT变换。
本发明采用层次化的整数DCT变换过程,以4×4块为最小变换单元依次构建8×8,16×16,32×32块的整数DCT变换单元,在计算32×32整数变换的过程中同时完成4×4,8×8,16×16整数DCT变换,使得现有计算单元得到了充分利用,并有效缩短了计算时间。
以下结合附图和具体实施实例对本发明做详细说明。
标准的二维整数DCT变换公式如下:
Y=M*X*M'
其中M为变换矩阵。
通过矩阵变换:
Y=M*X*M'=((X*M')'*M')'
于是就得到标准的蝶形运算实现的一维矩阵
Y8=X8*M8'
这里以整数DCT(8×8)变换为例,详细推导图2所示的变换单元结构。
首先,输入视频信号。
提取视频信号中的数字图像。
将提取的数字图像转化为8×8矩阵M8。
接着,将8×8矩阵M8做如下分解:
M 8 = R 8 11 R 8 12 R 8 21 R 8 22 M 4 0 0 M 8 o d d P 8 11 P 8 12 P 8 21 P 8 22
其中, R = 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 , P = 1 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 - 1 1 0 0 0 0 0 - 1 0 0 1 0 0 0 - 1 0 0 0 0 1 0 - 1 0 0 0 0 0 0 1 ,
M8odd为8×8矩阵M8的整数DCT变换单元的ODD分量,ODD分量实际就是矩阵分组的一个分量,M8odd是上式中中间矩阵进行分组后,右下角的一个4×4矩阵。
然后,将8×8矩阵M8通过四叉树法划分为B8{1,1}、B8{1,2}、B8{2,1}和B8{2,2}四个4×4块。
之后,以8×8矩阵M8分解得到的M4作为变换单元,对B8{1,1}、B8{1,2}、B8{2,1}和B8{2,2}四个4×4块分别采用公式(1)的蝶形算法进行整数DCT变换,将B8{1,1}、B8{1,2}、B8{2,1}和B8{2,2}四个4×4块从时域信号转换为频域信号;
Y8=X8*M8'(1)
其中,Y8为频域信号,X8为时域信号,M8’为8×8矩阵M8的转置矩阵。
对B8{1,1}、B8{1,2}、B8{2,1}和B8{2,2}四个4×4块分别采用公式(1)的蝶形算法进行整数DCT变换后,得到公式(2)的矩阵;
Y 8 = X 8 * ( R 8 11 R 8 12 R 8 21 R 8 22 M 4 0 0 M 8 o d d P 8 11 P 8 12 P 8 21 P 8 22 ) ′ = X 8 11 X 8 12 X 8 21 X 8 22 P 8 11 ′ P 8 21 ′ P 8 12 ′ P 8 22 ′ M 4 ′ 0 0 M 8 o d d ′ R 8 11 ′ R 8 21 ′ R 8 12 ′ R 8 22 ′ = ( X 8 11 P 8 11 ′ M 4 ′ + X 8 12 P 8 12 ′ M 4 ′ ) R 8 11 ′ + ( X 8 11 P 8 21 ′ M 8 o d d ′ + X 8 12 P 8 22 ′ M 8 o d d ′ ) R 8 12 ′ ( X 8 11 P 8 11 ′ M 4 ′ + X 8 12 P 8 12 ′ M 4 ′ ) R 8 21 ′ + ( X 8 11 P 8 21 ′ M 8 o d d ′ + X 8 12 P 8 22 ′ M 8 o d d ′ ) R 8 22 ′ ( X 8 21 P 8 11 ′ M 4 ′ + X 8 22 P 8 12 ′ M 4 ′ ) R 8 11 ′ + ( X 8 21 P 8 21 ′ M 8 o d d ′ + X 8 22 P 8 22 ′ M 8 o d d ′ ) R 8 12 ′ ( X 8 21 P 8 11 ′ M 4 ′ + X 8 22 P 8 12 ′ M 4 ′ ) R 8 21 ′ + ( X 8 21 P 8 21 ′ M 8 o d d ′ + X 8 22 P 8 22 ′ M 8 o d d ′ ) R 8 22 ′ - - - ( 2 )
对公式(2)的矩阵进行简化,得到公式(3)的矩阵;
Y 8 = ( X 8 11 M 4 ′ + X 8 12 M 4 ′ ⊗ E f 8 ) R 8 11 ′ + ( X 8 11 P 8 21 M 8 o d d ′ + X 8 12 M 8 o d d ′ ) R 8 12 ′ ( X 8 11 M 4 ′ + X 8 12 M 4 ′ ⊗ E f 8 ) R 8 21 ′ + ( X 8 11 P 8 21 M 8 o d d ′ + X 8 12 M 8 o d d ′ ) R 8 22 ′ ( X 8 21 M 4 ′ + X 8 22 M 4 ′ ⊗ E f 8 ) R 8 11 ′ + ( X 8 21 P 8 21 M 8 o d d ′ + X 8 22 M 8 o d d ′ ) R 8 12 ′ ( X 8 21 M 4 ′ + X 8 22 M 4 ′ ⊗ E f 8 ) R 8 21 ′ + ( X 8 21 P 8 21 M 8 o d d ′ + X 8 22 M 8 o d d ′ ) R 8 22 ′ - - - ( 3 )
其中, E f 8 = 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 .
得到公式(3)中经整数DCT变换的C8{1,1}、C8{1,2}、C8{2,1}和C8{2,2}四个4×4块,由公式(3)可以得到图2所示的整数DCT(8×8)变换结构的示意图。
最后,将C8{1,1}、C8{1,2}、C8{2,1}和C8{2,2}四个4×4块合并得到经整数DCT变换的8×8矩阵C8,完成8×8矩阵M8的整数DCT变换,完成对视频信号的时频转换。
进一步的,当提取的数字图像还转化为16×16矩阵M16时,通过以下步骤将完成16×16矩阵M16的整数DCT变换:
将16×16矩阵M16划分为B16{1,1}、B16{1,2}、B16{2,1}和B16{2,2}四个8×8块;
利用经整数DCT变换得到的8×8矩阵C8作为变换单元对B16{1,1}、B16{1,2}、B16{2,1}和B16{2,2}四个8×8块分别进行整数DCT变换,得到经整数DCT变换的C16{1,1}、C16{1,2}、C16{2,1}和C16{2,2}四个8×8块;以及
将C16{1,1}、C16{1,2}、C16{2,1}和C16{2,2}四个8×8块合并得到经整数DCT变换的16×16矩阵C16,完成16×16矩阵M16的整数DCT变换。
可以推导出整数DCT(16×16)变换的计算式:
Y 16 = ( X 16 11 M 8 ′ + X 16 12 M 8 ′ ⊗ E f 16 ) R 16 11 ′ + ( X 16 11 P 16 21 M 16 o d d ′ + X 16 12 M 16 o d d ′ ) R 16 12 ′ ( X 16 11 M 8 ′ + X 16 12 M 8 ′ ⊗ E f 16 ) R 16 21 ′ + ( X 16 11 P 16 21 M 16 o d d ′ + X 16 12 M 16 o d d ′ ) R 16 22 ′ ( X 16 21 M 8 ′ + X 16 22 M 8 ′ ⊗ E f 16 ) R 16 11 ′ + ( X 16 21 P 16 21 M 16 o d d ′ + X 16 22 M 16 o d d ′ ) R 16 12 ′ ( X 16 21 M 8 ′ + X 16 22 M 8 ′ ⊗ E f 16 ) R 16 21 ′ + ( X 16 21 P 16 21 M 16 o d d ′ + X 16 22 M 16 o d d ′ ) R 16 22 ′
其中, E f 16 = 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1
由该计算式可以得到图3所示的整数DCT(16×16)变换结构的示意图。
再进一步的,当提取的数字图像还转化为32×32矩阵M32时,通过以下步骤将完成32×32矩阵M32的整数DCT变换:
将32×32矩阵M32划分为B32{1,1}、B32{1,2}、B32{2,1}和B32{2,2}四个16×16块;
利用经整数DCT变换得到的16×16矩阵C16作为变换单元对B32{1,1}、B32{1,2}、B32{2,1}和B32{2,2}四个16×16块分别进行整数DCT变换,得到经整数DCT变换的C32{1,1}、C32{1,2}、C32{2,1}和C32{2,2}四个16×16块;以及
将C32{1,1}、C32{1,2}、C32{2,1}和C32{2,2}四个16×16块合并得到经整数DCT变换的32×32矩阵C32,完成32×32矩阵B32的整数DCT变换。
可以推导出整数DCT(32×32)变换的计算式:
Y 32 = ( X 32 11 M 16 ′ + X 32 12 M 16 ′ ⊗ E f 32 ) R 32 11 ′ + ( X 32 11 P 32 21 M 32 o d d ′ + X 32 12 M 32 o d d ′ ) R 32 12 ′ ( X 32 11 M 16 ′ + X 32 12 M 16 ′ ⊗ E f 32 ) R 32 21 ′ + ( X 32 11 P 32 21 M 32 o d d ′ + X 32 12 M 32 o d d ′ ) R 32 22 ′ ( X 32 21 M 16 ′ + X 32 22 M 16 ′ ⊗ E f 32 ) R 32 11 ′ + ( X 32 21 P 32 21 M 32 o d d ′ + X 32 22 M 32 o d d ′ ) R 32 12 ′ ( X 32 21 M 16 ′ + X 32 22 M 16 ′ ⊗ E f 32 ) R 32 21 ′ + ( X 32 21 P 32 21 M 32 o d d ′ + X 32 22 M 32 o d d ′ ) R 32 22 ′
其中, E f 32 = 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1
由该计算式可以得到图4所示的整数DCT(32×32)变换结构的示意图。
本发明一种基于HEVC的整数DCT变换方法采用层次化的整数DCT变换过程,以4×4块为最小变换单元逐步构建8×8的整数DCT变换单元,并依此方法构建16×16,32×32的整数DCT变换单元,使现有的计算单元得到充分利用,缩短了计算时间,并且层次清晰的计算单元更有利于流水线的构建,有效解决了现有整数DCT变换方案中多次重复取数和计算单元利用率低的问题。
以上结合附图及实施例对本发明进行了详细说明,本领域中普通技术人员可根据上述说明对本发明做出种种变化例。因而,实施例中的某些细节不应构成对本发明的限定,本发明将以所附权利要求书界定的范围作为本发明的保护范围。

Claims (7)

1.一种基于HEVC的整数DCT变换方法,其特征在于,包括:
输入视频信号;
提取所述视频信号中的数字图像;
将提取的所述数字图像转化为8×8矩阵M8;
将所述8×8矩阵M8划分为B8{1,1}、B8{1,2}、B8{2,1}和B8{2,2}四个4×4块;
利用4×4矩阵M4作为变换单元对B8{1,1}、B8{1,2}、B8{2,1}和B8{2,2}四个4×4块分别进行整数DCT变换,得到经整数DCT变换的C8{1,1}、C8{1,2}、C8{2,1}和C8{2,2}四个4×4块;以及
将C8{1,1}、C8{1,2}、C8{2,1}和C8{2,2}四个4×4块合并得到经整数DCT变换的8×8矩阵C8,完成所述8×8矩阵M8的整数DCT变换,完成对所述视频信号的时频转换。
2.如权利要求1所述的基于HEVC的整数DCT变换方法,其特征在于:通过四叉树法将所述8×8矩阵M8划分为B8{1,1}、B8{1,2}、B8{2,1}和B8{2,2}四个4×4块。
3.如权利要求2所述的基于HEVC的整数DCT变换方法,其特征在于,将所述8×8矩阵M8划分为B8{1,1}、B8{1,2}、B8{2,1}和B8{2,2}四个4×4块前还包括:
将所述8×8矩阵M8做如下分解:
M 8 = R 8 11 R 8 12 R 8 21 R 8 22 M 4 0 0 M 8 o d d P 8 11 P 8 12 P 8 21 P 8 22
其中, R = 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 , P = 1 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 - 1 1 0 0 0 0 0 - 1 0 0 1 0 0 0 - 1 0 0 0 0 1 0 - 1 0 0 0 0 0 0 1 ,
M8odd为所述8×8矩阵M8的整数DCT变换单元的ODD分量。
4.如权利要求3所述的基于HEVC的整数DCT变换方法,其特征在于:以所述8×8矩阵M8分解得到的M4作为变换单元,对所述B8{1,1}、B8{1,2}、B8{2,1}和B8{2,2}四个4×4块分别采用公式(1)的蝶形算法进行整数DCT变换,将所述B8{1,1}、B8{1,2}、B8{2,1}和B8{2,2}四个4×4块从时域信号转换为频域信号;
Y8=X8*M8'(1)
其中,Y8为频域信号,X8为时域信号,M8’为所述8×8矩阵M8的转置矩阵。
5.如权利要求4所述的基于HEVC的整数DCT变换方法,其特征在于,对所述B8{1,1}、B8{1,2}、B8{2,1}和B8{2,2}四个4×4块分别采用公式(1)的蝶形算法进行整数DCT变换后,得到公式(2)的矩阵;
Y 8 = X 8 * ( R 8 11 R 8 12 R 8 21 R 8 22 M 4 0 0 M 8 o d d P 8 11 P 8 12 P 8 21 P 8 22 ) ′ = X 8 11 X 8 12 X 8 21 X 8 22 P 8 11 ′ P 8 21 ′ P 8 12 ′ P 8 22 ′ M 4 ′ 0 0 M 8 o d d ′ R 8 11 ′ R 8 21 ′ R 8 12 ′ R 8 22 ′ = ( X 8 11 P 8 11 ′ M 4 ′ + X 8 12 P 8 12 ′ M 4 ′ ) R 8 11 ′ + ( X 8 11 P 8 21 ′ M 8 o d d ′ + X 8 12 P 8 22 ′ M 8 o d d ′ ) R 8 12 ′ ( X 8 11 P 8 11 ′ M 4 ′ + X 8 12 P 8 12 ′ M 4 ′ ) R 8 21 ′ + ( X 8 11 P 8 21 ′ M 8 o d d ′ + X 8 12 P 8 22 ′ M 8 o d d ′ ) R 8 22 ′ ( X 8 21 P 8 11 ′ M 4 ′ + X 8 22 P 8 12 ′ M 4 ′ ) R 8 11 ′ + ( X 8 21 P 8 21 ′ M 8 o d d ′ + X 8 22 P 8 22 ′ M 8 o d d ′ ) R 8 12 ′ ( X 8 21 P 8 11 ′ M 4 ′ + X 8 22 P 8 12 ′ M 4 ′ ) R 8 21 ′ + ( X 8 21 P 8 21 ′ M 8 o d d ′ + X 8 22 P 8 22 ′ M 8 o d d ′ ) R 8 22 ′ - - - ( 2 )
对公式(2)的矩阵进行简化,得到公式(3)的矩阵;
Y 8 = ( X 8 11 M 4 ′ + X 8 12 M 4 ′ ⊗ E f 8 ) R 8 11 ′ + ( X 8 11 P 8 21 M 8 o d d ′ + X 8 12 M 8 o d d ′ ) R 8 12 ′ ( X 8 11 M 4 ′ + X 8 12 M 4 ′ ⊗ E f 8 ) R 8 21 ′ + ( X 8 11 P 8 21 M 8 o d d ′ + X 8 12 M 8 o d d ′ ) R 8 22 ′ ( X 8 21 M 4 ′ + X 8 22 M 4 ′ ⊗ E f 8 ) R 8 11 ′ + ( X 8 21 P 8 21 M 8 o d d ′ + X 8 22 M 8 o d d ′ ) R 8 12 ′ ( X 8 21 M 4 ′ + X 8 22 M 4 ′ ⊗ E f 8 ) R 8 21 ′ + ( X 8 21 P 8 21 M 8 o d d ′ + X 8 22 M 8 o d d ′ ) R 8 22 ′ - - - ( 3 )
其中, E f 8 = 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 1 - 1 .
6.如权利要求1~5中任一项所述的基于HEVC的整数DCT变换方法,其特征在于,将提取的所述数字图像还转化为16×16矩阵M16,通过以下步骤将完成所述16×16矩阵M16的整数DCT变换:
将所述16×16矩阵M16划分为B16{1,1}、B16{1,2}、B16{2,1}和B16{2,2}四个8×8块;
利用经整数DCT变换得到的所述8×8矩阵C8作为变换单元对B16{1,1}、B16{1,2}、B16{2,1}和B16{2,2}四个8×8块分别进行整数DCT变换,得到经整数DCT变换的C16{1,1}、C16{1,2}、C16{2,1}和C16{2,2}四个8×8块;以及
将C16{1,1}、C16{1,2}、C16{2,1}和C16{2,2}四个8×8块合并得到经整数DCT变换的16×16矩阵C16,完成所述16×16矩阵M16的整数DCT变换。
7.如权利要求6所述的基于HEVC的整数DCT变换方法,其特征在于,将提取的所述数字图像还转化为32×32矩阵M32,通过以下步骤将完成所述32×32矩阵M32的整数DCT变换:
将所述32×32矩阵M32划分为B32{1,1}、B32{1,2}、B32{2,1}和B32{2,2}四个16×16块;
利用经整数DCT变换得到的所述16×16矩阵C16作为变换单元对B32{1,1}、B32{1,2}、B32{2,1}和B32{2,2}四个16×16块分别进行整数DCT变换,得到经整数DCT变换的C32{1,1}、C32{1,2}、C32{2,1}和C32{2,2}四个16×16块;以及
将C32{1,1}、C32{1,2}、C32{2,1}和C32{2,2}四个16×16块合并得到经整数DCT变换的32×32矩阵C32,完成所述32×32矩阵B32的整数DCT变换。
CN201510854214.XA 2015-11-27 2015-11-27 一种基于hevc的整数dct变换方法 Active CN105407358B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510854214.XA CN105407358B (zh) 2015-11-27 2015-11-27 一种基于hevc的整数dct变换方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510854214.XA CN105407358B (zh) 2015-11-27 2015-11-27 一种基于hevc的整数dct变换方法

Publications (2)

Publication Number Publication Date
CN105407358A true CN105407358A (zh) 2016-03-16
CN105407358B CN105407358B (zh) 2018-09-18

Family

ID=55472562

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510854214.XA Active CN105407358B (zh) 2015-11-27 2015-11-27 一种基于hevc的整数dct变换方法

Country Status (1)

Country Link
CN (1) CN105407358B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107027039A (zh) * 2017-04-14 2017-08-08 西安电子科技大学 基于高效视频编码标准的离散余弦变换实现方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102387367A (zh) * 2011-11-08 2012-03-21 复旦大学 适用于多种视频标准、多尺寸二维整数余弦变换的通用方法
CN103067718A (zh) * 2013-01-30 2013-04-24 上海交通大学 适用于数字视频编解码的一维离散余弦逆变换模块电路
CN103327331A (zh) * 2013-06-18 2013-09-25 复旦大学 一种hevc标准中8×8dct变换的实现方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102387367A (zh) * 2011-11-08 2012-03-21 复旦大学 适用于多种视频标准、多尺寸二维整数余弦变换的通用方法
CN103067718A (zh) * 2013-01-30 2013-04-24 上海交通大学 适用于数字视频编解码的一维离散余弦逆变换模块电路
CN103327331A (zh) * 2013-06-18 2013-09-25 复旦大学 一种hevc标准中8×8dct变换的实现方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
马天龙等: "一种适用于HEVC中反向离散余弦变换的快速算法", 《中国科技论文在线》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107027039A (zh) * 2017-04-14 2017-08-08 西安电子科技大学 基于高效视频编码标准的离散余弦变换实现方法
CN107027039B (zh) * 2017-04-14 2019-08-27 西安电子科技大学 基于高效视频编码标准的离散余弦变换实现方法

Also Published As

Publication number Publication date
CN105407358B (zh) 2018-09-18

Similar Documents

Publication Publication Date Title
US8170334B2 (en) Image processing systems employing image compression and accelerated image decompression
US20210281842A1 (en) Method and apparatus for processing video
US8170333B2 (en) Image processing systems employing image compression
CN108200439B (zh) 提高数字信号变换性能的方法及数字信号变换方法和装置
CN106254883B (zh) 一种视频解码中的反变换方法和装置
CN103473744A (zh) 基于变权重式压缩感知采样的空域可缩小图像重构方法
CN103763566B (zh) 基于三维矩阵wdct变换的彩色半调图像压缩方法
CN108259919B (zh) 一种快速实现8x8DCT变换的硬件系统
US8170335B2 (en) Image processing systems employing image compression and accelerated decompression
CN105407358B (zh) 一种基于hevc的整数dct变换方法
CN107146259B (zh) 一种基于压缩感知理论的新型图像压缩方法
KR20200022386A (ko) 정보 처리 장치 및 정보 처리 방법
CN104270643A (zh) 基于single-port SRAM的转置矩阵的地址映射算法
CN108184127A (zh) 一种可配置的多尺寸dct变换硬件复用架构
CN103327332B (zh) 一种hevc标准中8×8idct变换的实现方法
Silveira et al. Multiple transform selection hardware design for 4k@ 60fps real-time versatile video coding
Viitamäki et al. High-level synthesized 2-D IDCT/IDST implementation for HEVC codecs on FPGA
CN109255770B (zh) 一种图像变换域降采样方法
CN110365990A (zh) 一种窄带准无损视频编码系统
Usha Bhanu et al. High-speed systolic VLSI architecture for 2-D forward lifting-based DWT
Teja et al. Verilog implementation of fully pipelined and multiplierless 2D DCT/IDCT JPEG architecture
KR101423083B1 (ko) Hevc 복호기용 역변환기 설계 방법
KR20150050680A (ko) 이산 코사인 변환 장치 및 방법
CN116916033B (zh) 一种基于随机自适应傅里叶分解的联合时空视频压缩方法
CN109451307B (zh) 一种基于近似系数的一维dct运算方法和dct变换装置

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