CN103327332B - 一种hevc标准中8×8idct变换的实现方法 - Google Patents
一种hevc标准中8×8idct变换的实现方法 Download PDFInfo
- Publication number
- CN103327332B CN103327332B CN201310241147.5A CN201310241147A CN103327332B CN 103327332 B CN103327332 B CN 103327332B CN 201310241147 A CN201310241147 A CN 201310241147A CN 103327332 B CN103327332 B CN 103327332B
- Authority
- CN
- China
- Prior art keywords
- matrix
- calculating
- carry out
- 8idct
- formula
- 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
- Complex Calculations (AREA)
Abstract
本发明属于数字视频信号编解码技术领域,具体为一种HEVC标准中8×8IDCT变换的实现方法。本发明通过将8×8的变换矩阵分解成稀疏矩阵相乘以及相加的形式,减小8×8IDCT变换中矩阵相乘的计算复杂度,从而大大降低系统的硬件开销。
Description
技术领域
本发明属于数字视频信号编解码技术领域,针对HEVC视频标准,具体涉及一种HEVC(HighEfficiencyVideoCoding)标准中8×8IDCT(inversediscretecosinetransform)变换的实现方法。
背景技术
HEVC(Highefficiencyvideocoding)是由国际电信组织(ITU)和运动图像专家组(MPEG)联合制定而成的最新国际视频编码标准。相对于旧的H.264标准,HEVC具有更高的压缩效率,更适合超高分辨率视频的编码,但其计算量与复杂度也剧增,以标准中的IDCT变换为例,H.264标准采用4×4以及8×8的IDCT变换矩阵,而HEVC则采用4×4、8×8、16×16以及32×32的变换矩阵,这大大增加了硬件实现的复杂度;然而通过对矩阵进行适当分解,可以有效降低计算复杂度,提高计算速度以及减小硬件开销。
发明内容
为了克服现有技术的不足,本发明的目的在于提出一种HEVC标准中8×8IDCT变换的实现方法,其可以有效降低计算复杂度,提高计算速度以及减小硬件开销。
本发明提出的方法具体描述如下:
HEVC中8×8IDCT的变换过程如下式所示:。这是一个二维离散整数余弦变换,其中,F为输入8×8矩阵,f为输出8×8矩阵,A为常数8×8矩阵,A T 为A的转置矩阵。A的具体数值如下:
通过进行两次一维离散整数余弦变换来实现二维离散整数余弦变换,过程如下。
又可以写成另一种形式:,那么可以用如下过程来计算:
(1)
(2)
(3)
(4)
上述计算中,式(1)和式(3)计算过程相同,式(2)和式(4)对矩阵进行了转置操作。图1描述了上述计算过程的整体框图。
对于式(1)和式(3)所述的一维矩阵运算,通过将常数矩阵分解为稀疏矩阵相乘和相加的形式,得到一种实现方法,可以提高一维矩阵运算的计算速度和减低其计算复杂度。
为方便进行说明,现将式(1)、式(3)写成的形式,为8×8矩阵,包含64个元素,记为,,同样,也为8×8矩阵,包含64个元素,记为,。
的计算可以以的列为单位进行,即
(5)
本发明中,可以进行如下分解:
(6)
其中
和还可以进行进一步分解:
(7)
可以分解为
(8)
其中:
(9)(10)
而可以进一步分解,
(11)
本发明的有益效果在于:从而能够以更快的速度,更小的硬件开销来计算HEVC中的8×8二维整数离散余弦反变换。
附图说明
图1.二维离散余弦反变换(IDCT)的整体框图。
图2.式(5)的一种实现流程图。
具体实施方式
图1所示为二维离散余弦反变换(IDCT)的整体框图。
本发明所述的HEVC中8×8IDCT实现方法,具体实施方式如下:
(1)输入8×8矩阵数据,以的每一列为单位,进行(1)式的计算,计算流程如图2所示,进行8次这样的计算后,得到8×8输出矩阵。
(2)对矩阵进行转置操作,得到矩阵。
(3)以的每一列为单位,进行(1)式的计算,计算流程如图2所示,进行8次这样的计算后,得到8×8输出矩阵。
(4)对矩阵进行转置操作,得到最终的8×8输出矩阵。
图2所示为根据上述分解原理所得到的关于式(5)的实现流程图,下面对其进行详细描述:
a)输入为。
b)先进行与的相乘,对应图中步骤1的操作,可以看到,与相乘只是
对输入进行了重新排序而已,并没有任何的计算操作。
c)然后将前一步骤算出的结果分成上下两部分,分别与矩阵M和N进行相
乘。步骤2到步骤5的上半部分对应与M的相乘,步骤2到步骤5的下半部分对应与N的相乘;其中,步骤5的上半部分没有操作,下半部分对应的操作。
d)步骤6对应的操作为将步骤5中得到的结果和相乘。
e)输出为。
本发明的这种实现方法与直接进行矩阵乘法相比,可以有效的减少乘法和加法的次数,乘法次数可以减少66%,加法次数可以减少46%,对比如下:
乘法 | 加法 | |
直接计算 | 64 | 56 |
本发明 | 22 | 30 |
整个实施过程可以方便的用软件或是硬件实现。
用软件实现时,如下:
(1)输入8×8矩阵数据,以的每一列为单位,进行(1)式的计算,计算流程如图2所
示,用相应的软件语言依次描述每一步骤的计算过程,进行8次这样的计算后,得到8×8输出矩阵。
(2)对矩阵进行转置操作,用软件实现时只需在读出时改变相应的行列号即可,得到的转置矩阵。
(3)以的每一列为单位,进行(1)式的计算,计算流程如图2所示,用相应的软件语言依次描述每一步骤的计算过程,进行8次这样的计算后,得到8×8输出矩阵。
(4)对矩阵进行转置操作,用软件实现时只需在读出时改变相应的行列号即可,得到最终的8×8输出矩阵。
用硬件实现时,如下:
(1)输入8×8矩阵数据,以的每一列为单位,进行(1)式的计算,计算流程如图2所示,用硬件实现时,可采用多级流水线的方式实现,流程图中的每一步骤可以对应于一级流水线,流程图中的小圆圈可以看做一个寄存器,用来保存每一级的计算结果。但由于步骤1只是对输入数据的位置进行变换,并没有计算操作,因此可以省去步骤1这级流水线,直接对输入进行相应位置的调整即可,进行8次这样的计算后,得到8×8输出矩阵。
(2)对矩阵进行转置操作,用硬件实现时需要有相应的存储器来存储的数据,对存储器的写操作读操作进行相应处理即可得到的转置矩阵。
(3)以的每一列为单位,进行(1)式的计算,计算流程如图2所示,用硬件实现时,可采用多级流水线的方式实现,流程图中的每一步骤可以对应于一级流水线,流程图中的小圆圈可以看做一个寄存器,用来保存每一级的计算结果。但由于步骤1只是对输入数据的位置进行变换,并没有计算操作,因此可以省去步骤1这级流水线,直接对输入进行相应位置的调整即可,进行8次这样的计算后,得到8×8输出矩阵。
(4)对矩阵进行转置操作,用硬件实现时需要有相应的存储器来存储的数据,对存储器的写操作读操作进行相应处理即可得到最终的8×8输出矩阵。
Claims (1)
1.一种HEVC标准中8×8IDCT变换的实现方法,其采用两次相同的一维矩阵运算和两次转置操作来实现二维矩阵运算,其特征在于具体步骤如下:
(1)输入8×8矩阵数据,以的每一列为单位,进行式(1)的计算,进
行8次这样的计算后,得到8×8输出矩阵:
(1)
其中,为常数8×8矩阵,的具体数值如下:
;
(2)对矩阵进行转置操作,得到矩阵;
(3)以的每一列为单位,进行式(3)的计算,进行8次这样的计算后,得到8×8输出矩阵:
(3)
其中,A为常数8×8矩阵,A T 为A的转置矩阵;
(4)对矩阵进行转置操作,得到最终的8×8输出矩阵;其中:
步骤(1)和步骤(3)中的常数矩阵分解为稀疏矩阵相乘和相加的形式,具体如下:
其中:
和进行进一步分解,分解为:
分解为:
其中:
进一步分解为:
。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310241147.5A CN103327332B (zh) | 2013-06-18 | 2013-06-18 | 一种hevc标准中8×8idct变换的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310241147.5A CN103327332B (zh) | 2013-06-18 | 2013-06-18 | 一种hevc标准中8×8idct变换的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103327332A CN103327332A (zh) | 2013-09-25 |
CN103327332B true CN103327332B (zh) | 2016-04-13 |
Family
ID=49195829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310241147.5A Active CN103327332B (zh) | 2013-06-18 | 2013-06-18 | 一种hevc标准中8×8idct变换的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103327332B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105100811B (zh) * | 2014-05-14 | 2018-04-03 | 北京君正集成电路股份有限公司 | 一种视频变换的实现方法及装置 |
CN110737869B (zh) * | 2019-12-20 | 2020-04-03 | 眸芯科技(上海)有限公司 | Dct/idct乘法器电路优化方法及应用 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1801940A (zh) * | 2005-12-15 | 2006-07-12 | 清华大学 | 整型变换电路和整型变换方法 |
CN102387367B (zh) * | 2011-11-08 | 2014-01-08 | 复旦大学 | 适用于多种视频标准、多尺寸二维整数余弦变换的通用方法 |
CN102404569B (zh) * | 2011-11-08 | 2014-01-08 | 复旦大学 | 可用于多种视频标准、多尺寸二维整数余弦反变换的通用方法 |
-
2013
- 2013-06-18 CN CN201310241147.5A patent/CN103327332B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN103327332A (zh) | 2013-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200151541A1 (en) | Efficient Convolutional Neural Networks | |
CN102387367B (zh) | 适用于多种视频标准、多尺寸二维整数余弦变换的通用方法 | |
CN101188761A (zh) | Avs标准中基于并行处理来优化dct快速算法的方法 | |
CN103473744A (zh) | 基于变权重式压缩感知采样的空域可缩小图像重构方法 | |
CN103369326A (zh) | 适于高性能视频编码标准hevc的变换编码器 | |
CN103327332B (zh) | 一种hevc标准中8×8idct变换的实现方法 | |
CN103473797A (zh) | 基于压缩感知采样数据修正的空域可缩小图像重构方法 | |
CN104244010A (zh) | 提高数字信号变换性能的方法及数字信号变换方法和装置 | |
CN102567282B (zh) | 通用dsp处理器中fft计算实现装置和方法 | |
CN104320668B (zh) | Hevc/h.265的dct变换和反变换的simd优化方法 | |
CN103237219A (zh) | 二维离散余弦变换/逆离散余弦变换电路及方法 | |
CN107146259B (zh) | 一种基于压缩感知理论的新型图像压缩方法 | |
CN103327331B (zh) | 一种hevc标准中8×8dct变换的实现方法 | |
CN102547263A (zh) | 可变复杂度的离散余弦逆变换查表快速算法 | |
CN103327331A (zh) | 一种hevc标准中8×8dct变换的实现方法 | |
CN101957738A (zh) | 基于一阶矩的数字内积计算器 | |
CN203279074U (zh) | 二维离散余弦变换/逆离散余弦变换电路 | |
CN102447898B (zh) | 用fpga实现klt变换的方法 | |
CN105407358B (zh) | 一种基于hevc的整数dct变换方法 | |
CN109255770B (zh) | 一种图像变换域降采样方法 | |
KR101527103B1 (ko) | 이산 코사인 변환 장치 및 방법 | |
Wang et al. | JPEG image compression algorithm analysis and local optimization | |
CN104683817A (zh) | 基于avs的并行变换和反变换方法 | |
CN104661036A (zh) | 用于视频编码的方法和系统 | |
CN102333212B (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 |