CN101646080A - 基于avs并行流水idct快速变换的方法和装置 - Google Patents

基于avs并行流水idct快速变换的方法和装置 Download PDF

Info

Publication number
CN101646080A
CN101646080A CN 200910099557 CN200910099557A CN101646080A CN 101646080 A CN101646080 A CN 101646080A CN 200910099557 CN200910099557 CN 200910099557 CN 200910099557 A CN200910099557 A CN 200910099557A CN 101646080 A CN101646080 A CN 101646080A
Authority
CN
China
Prior art keywords
module
data
output
dimension
parallel
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 200910099557
Other languages
English (en)
Other versions
CN101646080B (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.)
GAOTE INFORMATION TECHNOLOGY Co Ltd HANGZHOU CITY
Original Assignee
GAOTE INFORMATION TECHNOLOGY Co Ltd HANGZHOU CITY
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 GAOTE INFORMATION TECHNOLOGY Co Ltd HANGZHOU CITY filed Critical GAOTE INFORMATION TECHNOLOGY Co Ltd HANGZHOU CITY
Priority to CN 200910099557 priority Critical patent/CN101646080B/zh
Publication of CN101646080A publication Critical patent/CN101646080A/zh
Application granted granted Critical
Publication of CN101646080B publication Critical patent/CN101646080B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明是一种基于AVS并行流水IDCT快速变换的方法和装置。其包括控制模块,一维输入寄存模块,一维蝶形运算模块,一维输出模块,转置及乒乓RAM模块,二维输入模块,二维蝶形运算模块,二维输出模块。本发明采用并行流水蝶形运算的设计思想,可以时时的快速运算IDCT。乘法运算采用移位相加的方法,无乘法器,适合大图像快速AVS视频解码在FPGA上应用。

Description

基于AVS并行流水IDCT快速变换的方法和装置
所属技术领域
本发明涉及一种数字视频编解码技术领域的装置及方法,具体为基于AVS标准中并行流水设计的IDCT(离散余弦反变换)快速变换的方法和装置。
背景技术
随着微电子技术的发展,电子信息类产品的开发复杂程度加深同时产品的上市时限紧迫。因此用于图像信号处理的各类大规模电路的设计也不再时兴采用全定制电路设计方法或者是半定制电路设计方法,而采用现场可编程逻辑器件的系统级设计方法已成为视频技术发展的一种新趋势。二维的DCT/IDCT是信息压缩中的核心技术,因此寻找一种适合于用FPGA来实现的快速DCT/IDCT变换是非常有必要的。
《信息技术先进音视频编码第2部分:视频》(GB/T 2000090.2-2006,以下简称AVS协议)是由我国制定的具有自主知识产权的视频压缩编码标准。AVS标准它采用了许多先进技术,在保证图像质量的情况下提高了视频压缩效率。包括帧内预测,帧间预测,DCT(离散余弦变换),量化和熵编码等。
在对AVS软件解码器进行分析后,得到下表:
  Symbol Name   %   Avg./MB(clk of cpu)
  Idct   24   4,701
  Intra/inter pred   20   3,918
  Deblock   18   3,528
  Decode_golomb_word   11   2,155
  Others   27   5,289
IDCT占用的资源是整个AVS解码中最大。
离散余弦变换(DCT)及离散余弦反变换(IDCT)是常用的图像变换域编解码方法,它采用非均量量化的方法来降低图像中的高频分量,除去观察者察觉不到的冗余信息,同时把图像数据转换成可归一、量化和可变长度编码的频域系数。广泛地用于JPEG编解码方案、MPEG编解码方案中。
二维DCT的定义如下:
X ( k , j ) = 2 MN Σ n = 0 N - 1 Σ m = 0 M - 1 C ( k ) C ( j ) x ( n , m ) cos ( 2 n + 1 ) kπ 2 N cos ( 2 m + 1 ) jπ 2 M - - - ( 1 )
其中,K=0,1,...,N-1;J=0,1,...,M-1;
式中x(n,m)代表待变换矩阵中第n行、第m列的元素,X(K,J)代表变换后的矩阵中第K行、第J列的元素。
二维IDCT的定义如下:
x ( n , m ) = 2 MN [ Σ n = 0 N - 1 Σ m = 0 M - 1 C ( k ) C ( j ) X ( k , j ) cos ( 2 n + 1 ) kπ 2 N cos ( 2 m + 1 ) jπ 2 M ] - - - ( 2 )
其中,K=0,1,...,N-1;J=0,1,...,M-1;
AVS解码协议视频解码中对残差系数的变换解码采用了8x8整数反离散余弦变换。
IDCT运算过程为将8×8变换系数矩阵CoeffMatrix转换为8×8残差样值矩阵ResidueMatrix的过程,步骤如下:
首先,对变换系数矩阵进行如下水平反变换:
H=CoeffMatrix×T8T
其中,T8是8×8反变换矩阵,T8T是T8的转置矩阵,H表示水平反变换后的中间结果。
T 8 = 8 10 10 9 8 6 4 2 8 9 4 - 2 - 8 - 10 - 10 - 6 8 6 - 4 - 10 - 8 2 10 9 8 2 - 10 - 6 8 9 - 4 - 10 8 - 2 - 10 6 8 - 9 - 4 10 8 - 6 - 4 10 - 8 - 2 10 - 9 8 - 9 4 2 - 8 10 - 10 6 8 - 10 10 - 9 8 - 6 4 - 2
第二步,矩阵H的元素hij计算如下:
hij=(Clip3(-215,215-1,(h ij+4)))>>3 i,j=0~7
第三步,对矩阵H进行如下垂直反变换:
H=T8×H
其中,H表示反变换后的8×8矩阵。
第四步,残差样值矩阵ResidueMatrix的元素rij计算如下:
rij=(Clip3(-215,215-1,(hij+26)))>>7 i,j=0~7
其中hij是H矩阵的元素。
每计算一个像素点需要16次乘法和14次加法,运行时间多,占用整个解码器资源比重大,资源利用率低。
发明内容
为了解决上述问题,本发明的目的是提供一种基于AVS并行流水IDCT快速变换的方法和装置,以实现不间断的对8×8子块组成的图像数据进行IDCT运算。
为实现以上设计,该装置包括:
输出控制各个运算流水单元控制信号的控制模块;
串并转换一个时钟接收一个残差数据,8个时钟后把寄存器中的数据并行输出的一维输入寄存模块;
寄存器的并行输出数据通过8级运算做一次蝶形运算,8个时钟输出其运算结果的一维蝶形运算模块;
并串转换蝶形运算的结果为8路并行同时输入,一个时钟输出一个运算结果的一维输出模块;
根据乒乓操作,存储相应RAM,每份RAM为一个块的信息大小,每个时钟存储一个数据,地址偏移8个单元的转置及乒乓RAM模块;
串并转换一个时钟读取一个残差数据,8个时钟后把寄存器中的数据并行输出的二维输入模块;
寄存器的并行输出数据通过8级运算做一次蝶形运算,8个时钟输出其运算结果的二维蝶形运算模块;
并串转换蝶形运算的结果为8路并行同时输入,一个时钟输出一个运算结果二维输出模块。
本发明还要提供一种基于AVS并行流水IDCT快速变换的方法,其特征在于包括以下步骤:
控制模块输出控制各个运算单元流水的控制信号;
一维输入寄存模块串并转换一个时钟接收一个残差数据,8个时钟后把寄存器中的数据并行输出;
一维蝶形运算模块使寄存器的并行输出数据通过8级运算做一次蝶形运算,8个时钟输出其运算结果;
一维输出模块并串转换蝶形运算的结果为8路并行同时输入,一个时钟输出一个运算结果;
转置及乒乓RAM模块根据乒乓操作,存储相应RAM,每份RAM为一个块的信息大小,每个时钟存储一个偏移8个地址的数据;
二维输入模块串并转换一个时钟读取一个残差数据,8个时钟后把串行输入的一行图像数据并行输出;
二维蝶形运算模块使寄存器的并行输出数据通过8级运算做一次蝶形运算,8个时钟输出其运算结果;
二维输出模块并串转换蝶形运算的结果为8路并行同时输入,一个时钟输出一个运算结果。
根据本发明,8路数据通过所述的一维蝶形运算模块和二维蝶形运算模块并行运算。
根据本发明,所述的一维蝶形运算模块和二维蝶形运算模块采用移位和加法运算替代乘法运算。
根据本发明,通过控制模块,及转置及乒乓RAM模块完成整体流水结构。
根据本发明,所述的流水结构时时输入AVS残差系数数据,不间断的IDCT运算。
本发明的IDCT快速运算方法及装置采用并行流水蝶形运算的设计思想,可以时时的快速运算IDCT。乘法运算采用移位相加的方法,无乘法器,适合大图像快速AVS视频解码在FPGA上应用。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1是本发明的系统电路框图。
图2是常用蝶形运算流程图。
图3是本发明的一维行蝶形运算流程图。
图4是本发明的一维列蝶形运算流程图。
具体实施方式
下面结合附图对本发明的实施例的IDCT装置做详细讲解。
AVS标准是以8x8的子块为一个变换单元。图1是本发明的系统电路框图。为了解IDCT变换的具体实现流程,将图1中各种模块具体功能分步骤描述如下:
步骤1,一维输入寄存模块
步骤1.1,一个时钟输入一个残差系数,存入相应寄存器中。
步骤1.2,一个8x8的块数据中第一个数据起,每8个时钟把寄存器中的数据并列输出。
步骤2,一维蝶形运算模块
步骤2.1,8路数据并行运算,中间的数据采用多级寄存器存储。
步骤2.2,所有运算为移位,加减法。
步骤2.3,8个时钟运算完成,新的8路数据输入运算。
步骤3,一维输出模块
步骤3.1,一个时钟输入8个数据,存入寄存器,
步骤3.2,每个时钟输出一个寄存器中的数据。
步骤3.3,8个时钟后,新的8个数据存入寄存器。
步骤4,转置及乒乓RAM模块
步骤4.1,每个时钟输入一个数据。
步骤4.2,乒乓操作,双份RAM。每份RAM为一个块的信息大小。判断当前块存储的RAM空间地址。
步骤4.3,第一行8个数据,每个数据存储地址偏移8个单元。
步骤4.4,每8个数据输入,行存储地址自加1个单元。
步骤4.5,64个数据存储完后,切换RAM。
步骤5,二维输入寄存模块
步骤5.1,判断乒乓操作,确定读取的RAM地址
步骤5.2,一个时钟从RAM中读取一个残差系数,存入相应寄存器中。
步骤5.2,一个8x8的块数据中第一个数据起,每8个时钟把寄存器中的数据并列输出。
步骤6,二维蝶形运算模块
步骤6.1,8路数据并行运算,中间的数据采用多级寄存器存储。
步骤6.2,所有运算为移位,加减法。
步骤6.3,8个时钟运算完成,新的8路数据输入运算。
步骤7,二维输出模块
步骤7.1,一个时钟输入8个数据,存入寄存器,
步骤7.2,每个时钟输出一个寄存器中的数据。
步骤7.3,8个时钟后,新的8个数据存入寄存器。
综上所述,本发明的IDCT快速运算方法及装置采用并行流水蝶形运算的设计思想,可以时时的不间断的快速运算AVS标准8*8块的IDCT。乘法运算采用移位相加的方法,无乘法器,适合大图像快速AVS视频解码在FPGA上应用。
该理解到的是:上述实施例只是对本发明的说明,而不是对本发明的限制,任何不超出本发明实质精神范围内的发明创造,均落入本发明的保护范围之内。

Claims (6)

1.一种基于AVS并行流水IDCT快速变换的方法,其特征在于包括以下步骤:
控制模块输出控制各个运算单元流水的控制信号;
一维输入寄存模块串并转换一个时钟接收一个残差数据,8个时钟后把寄存器中的数据并行输出;
一维蝶形运算模块使寄存器的并行输出数据通过8级运算做一次蝶形运算,8个时钟输出其运算结果;
一维输出模块并串转换蝶形运算的结果为8路并行同时输入,一个时钟输出一个运算结果;
转置及乒乓RAM模块根据乒乓操作,存储相应RAM,每份RAM为一个块的信息大小,每个时钟存储一个偏移8个地址的数据;
二维输入模块串并转换一个时钟读取一个残差数据,8个时钟后把串行输入的一行图像数据并行输出;
二维蝶形运算模块使寄存器的并行输出数据通过8级运算做一次蝶形运算,8个时钟输出其运算结果;
二维输出模块并串转换蝶形运算的结果为8路并行同时输入,一个时钟输出一个运算结果。
2.如权利要求1所述的一种基于AVS并行流水IDCT快速变换的方法,其特征是:8路数据通过所述的一维蝶形运算模块和二维蝶形运算模块并行运算。
3.如权利要求2所述的蝶形运算,其特征是:所述的一维蝶形运算模块和二维蝶形运算模块采用移位和加法运算替代乘法运算。
4.如权利要求1所述的一种基于AVS并行流水IDCT快速变换的方法,其特征是:通过控制模块,及转置及乒乓RAM模块完成整体流水结构。
5.如权利要求4所述的一种基于AVS并行流水IDCT快速变换的方法,其特征是:所述的流水结构时时输入AVS残差系数数据,不间断的IDCT运算。
6.一种基于AVS并行流水IDCT快速变换的装置,其特征在于包括:
输出控制各个运算单元流水的控制信号的控制模块;
串并转换一个时钟接收一个残差数据,8个时钟后把寄存器中的数据并行输出的一维输入寄存模块;
寄存器的并行输出数据通过8级运算做一次蝶形运算,8个时钟输出其运算结果的一维蝶形运算模块;
并串转换蝶形运算的结果为8路并行同时输入,一个时钟输出一个运算结果的一维输出模块;
根据乒乓操作,存储相应RAM,每份RAM为一个块的信息大小,每个时钟存储一个偏移8个地址的数据的转置及乒乓RAM模块;
串并转换一个时钟读取一个残差数据,8个时钟后把串行输入的一行图像数据并行输出的二维输入模块;
寄存器的并行输出数据通过8级运算做一次蝶形运算,8个时钟输出其运算结果的二维蝶形运算模块;
并串转换蝶形运算的结果为8路并行同时输入,一个时钟输出一个运算结果的二维输出模块。
CN 200910099557 2009-06-18 2009-06-18 基于avs并行流水idct快速变换的方法和装置 Expired - Fee Related CN101646080B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200910099557 CN101646080B (zh) 2009-06-18 2009-06-18 基于avs并行流水idct快速变换的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910099557 CN101646080B (zh) 2009-06-18 2009-06-18 基于avs并行流水idct快速变换的方法和装置

Publications (2)

Publication Number Publication Date
CN101646080A true CN101646080A (zh) 2010-02-10
CN101646080B CN101646080B (zh) 2013-09-25

Family

ID=41657760

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910099557 Expired - Fee Related CN101646080B (zh) 2009-06-18 2009-06-18 基于avs并行流水idct快速变换的方法和装置

Country Status (1)

Country Link
CN (1) CN101646080B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101794276A (zh) * 2010-03-30 2010-08-04 无锡致新电子科技有限公司 适用于soc的dct_idct协处理器
CN102857756A (zh) * 2012-07-19 2013-01-02 西安电子科技大学 适于hevc标准的变换编码器
CN103067718A (zh) * 2013-01-30 2013-04-24 上海交通大学 适用于数字视频编解码的一维离散余弦逆变换模块电路
CN103488614A (zh) * 2013-09-22 2014-01-01 浙江大学 数字信号处理中的变换的方法和装置
CN105892988A (zh) * 2016-04-26 2016-08-24 广州致远电子股份有限公司 一种基于fpga的运算电路、示波器和测量仪器

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1018082A1 (en) * 1997-08-25 2000-07-12 QUALCOMM Incorporated Variable block size 2-dimensional inverse discrete cosine transform engine
US6574648B1 (en) * 1998-12-14 2003-06-03 Matsushita Electric Industrial Co., Ltd. Dct arithmetic device
US7020671B1 (en) * 2000-03-21 2006-03-28 Hitachi America, Ltd. Implementation of an inverse discrete cosine transform using single instruction multiple data instructions
CN1326397C (zh) * 2003-06-02 2007-07-11 杭州高特信息技术有限公司 一种dct快速变换结构

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101794276A (zh) * 2010-03-30 2010-08-04 无锡致新电子科技有限公司 适用于soc的dct_idct协处理器
CN101794276B (zh) * 2010-03-30 2012-06-06 无锡致新电子科技有限公司 适用于soc的dct_idct协处理器
CN102857756A (zh) * 2012-07-19 2013-01-02 西安电子科技大学 适于hevc标准的变换编码器
CN102857756B (zh) * 2012-07-19 2015-04-08 西安电子科技大学 适于hevc标准的变换编码器
CN103067718A (zh) * 2013-01-30 2013-04-24 上海交通大学 适用于数字视频编解码的一维离散余弦逆变换模块电路
CN103067718B (zh) * 2013-01-30 2015-10-14 上海交通大学 适用于数字视频编解码的一维离散余弦逆变换模块电路
CN103488614A (zh) * 2013-09-22 2014-01-01 浙江大学 数字信号处理中的变换的方法和装置
CN105892988A (zh) * 2016-04-26 2016-08-24 广州致远电子股份有限公司 一种基于fpga的运算电路、示波器和测量仪器

Also Published As

Publication number Publication date
CN101646080B (zh) 2013-09-25

Similar Documents

Publication Publication Date Title
CN102460425B (zh) 计算偶数尺寸的离散余弦变换
Mert et al. High performance 2D transform hardware for future video coding
CN101796506B (zh) 具有比例缩放式和非比例缩放式接口的变换设计
CN103026705B (zh) 用于对视频信号进行编码的方法和设备以及用于对视频信号进行解码的方法和设备
CN101330616B (zh) 视频解码过程中反离散余弦变换的硬件实现装置及方法
CN101646080B (zh) 基于avs并行流水idct快速变换的方法和装置
JP2009512075A (ja) 信号およびデータ処理のための効率的な無乗算計算
CN101188761A (zh) Avs标准中基于并行处理来优化dct快速算法的方法
Hsia et al. Improved low-complexity algorithm for 2-D integer lifting-based discrete wavelet transform using symmetric mask-based scheme
CN108200439B (zh) 提高数字信号变换性能的方法及数字信号变换方法和装置
Kalali et al. Approximate HEVC fractional interpolation filters and their hardware implementations
Martisius et al. A 2-D DCT hardware codec based on Loeffler algorithm
CN106254883B (zh) 一种视频解码中的反变换方法和装置
CN101640791A (zh) 一种解码方法、装置和解码器
WO2020060832A1 (en) Fast implementation of odd one dimensional transforms
Zhou et al. Effective hardware accelerator for 2d dct/idct using improved loeffler architecture
Abdelrasoul et al. Real‐time unified architecture for forward/inverse discrete cosine transform in high efficiency video coding
KR101601864B1 (ko) 동영상 코덱의 역변환 방법 및 그 장치
Agostini et al. A FPGA based design of a multiplierless and fully pipelined JPEG compressor
CN101546560B (zh) 音频编解码装置及编解码方法
CN100388316C (zh) 高精度的无乘法器的数字余弦变换电路及其变换方法
Deepthi et al. Design and Implementation of JPEG Image Compression and Decompression
CN104811738A (zh) 基于资源共享的低开销多标准8×8一维离散余弦变换电路
Mamatha et al. Hybrid architecture for sinusoidal and non-sinusoidal transforms
CN113286150B (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130925

Termination date: 20140618

EXPY Termination of patent right or utility model