一种二维DCT硬件实现方法及装置制造方法及图纸

技术编号:17974664 阅读:32 留言:0更新日期:2018-05-16 14:08
本发明专利技术适用于多媒体数据压缩技术领域,提供了一种二维DCT硬件实现方法及装置,其中,装置包括一个或两个离散余弦变换模块的二维DCT硬件装置,在其包括一个离散余弦变换模块时,通过离散余弦变换模块对输入数据和变换矩阵的乘积进行矩阵转置,再对矩阵转置结果和变换矩阵的乘积进行矩阵转置,得到输入数据的二维离散余弦变换结果;在其包括两个离散余弦变换模块时,通过第一离散余弦变换模块对输入数据和变换矩阵的乘积进行矩阵转置,在通过第二离散余弦变换模块对矩阵转置结果和变换矩阵的乘积进行矩阵转置,得到输入数据的二维离散余弦变换结果;能够实现二维DCT变换的硬件化处理,结构简单、易于实现且不会对系统主频产生负面影响。

【技术实现步骤摘要】
一种二维DCT硬件实现方法及装置
本专利技术属于多媒体数据压缩
,尤其涉及一种二维DCT硬件实现方法及装置。
技术介绍
众所周知,多媒体数据的压缩技术,特别是音视频数据压缩技术,其理论可行性在于被压缩的数据存在冗余。典型的冗余类型有:空间冗余、时间冗余、符号冗余等。但实践发现,在时间域通常难以找出信号的相关性,无法区分出冗余信息。于是,人们开始把目光转向变换域,比如:K-L(Karhunen-LoeveTransform)变换、傅里叶变换、余弦变换和小波变换等。在选取均方差的标准下,K-L变换是信号处理方式中的最佳变换方式。但K-L变换没有快速算法,且计算十分困难,不具实用价值。而离散余弦变换(DiscreteCosineTransform,DCT)最接近K-L变换,因而得到广泛发展。例如MP3、JPEG、MPEG等多媒体数据的压缩算法中,通常都有使用二维DCT。然而,尽管二维DCT已有许多快速实现算法,但基本都是基于软件的算法,而软件实现的二维DCT模块往往是整个压缩算法的速度瓶颈。由于硬件实现与软件实现存在较大差异,适于软件实现的算法并不能照搬移植到硬件实现方案,不然容易带来过度消耗硬件资源或是无法提高系统主频。
技术实现思路
有鉴于此,本专利技术实施例提供了一种二维DCT硬件实现方法及装置,以解决现有技术中尽管二维DCT已有许多快速实现算法,但基本都是基于软件的算法,而软件实现的二维DCT模块往往是整个压缩算法的速度瓶颈。由于硬件实现与软件实现存在较大差异,适于软件实现的算法并不能照搬移植到硬件实现方案,不然容易带来过度消耗硬件资源或是无法提高系统主频的问题。本专利技术实施例的第一方面提供了一种二维DCT硬件装置,其包括一个或两个离散余弦变换模块;所述二维DCT硬件装置包括一个离散余弦变换模块时,所述离散余弦变换模块的输入端口和输出端口连接;所述离散余弦变换模块用于通过所述输入端口接入输入数据,对所述输入数据和变换矩阵的乘积进行矩阵转置,得到矩阵转置结果并通过所述输出端口输出至所述输入端口;对所述矩阵转置结果和所述变换矩阵的乘积进行矩阵转置,得到输出数据并通过所述输出端口输出;所述二维DCT硬件装置包括两个离散余弦变换模块时,第一离散余弦变换模块与第二离散余弦变换模块连接;所述第一离散余弦变换模块用于对输入数据和变换矩阵的乘积进行矩阵转置,得到矩阵转置结果并输出至所述第二离散余弦变换模块;所述第二离散余弦变换模块用于对所述矩阵转置结果和所述变换矩阵的乘积进行矩阵转置,得到输出数据并输出;其中,所述输入数据为多媒体数据的宏块对应的矩阵数据,所述输出数据为所述输入数据的二维离散余弦变换结果。在一个实施例中,所述离散余弦变换模块包括:分布式离散余弦变换单元,用于根据分布式算法,计算所述输入数据和所述变换矩阵的乘积;与所述分布式离散余弦变换单元连接的所述矩阵转置单元,用于对所述输入数据和所述变换矩阵的乘积进行矩阵转置,得到所述矩阵转置结果;所述分布式离散余弦变换单元还用于通过分布式算法,计算所述矩阵转置结果和所述变换矩阵的乘积;所述矩阵转置单元还用于对所述矩阵转置结果和所述变换矩阵的乘积进行矩阵转置,得到所述输出数据;所述第一离散余弦变换模块包括:第一分布式离散余弦变换单元,用于通过分布式算法,计算所述输入数据和所述变换矩阵的乘积;与所述第一分布式离散余弦变换单元连接的第一矩阵转置单元,用于对所述输入数据和所述变换矩阵的乘积进行矩阵转置,得到所述矩阵转置结果;所述第二离散余弦变换模块包括:与所述第一矩阵转置单元连接的第二分布式离散余弦变换单元,用于通过分布式算法,计算所述矩阵转置结果和所述变换矩阵的乘积;与所述第二分布式离散余弦变换单元连接的第二矩阵转置单元,用于对所述矩阵转置结果和所述变换矩阵的乘积进行矩阵转置,得到所述输出数据。在一个实施例中,所述宏块的大小为8×8;所述分布式离散余弦变换单元和所述第一分布式离散余弦变换单元均包括:八个依次级联的D触发器,用于根据所述变换矩阵的对称性,将所述变换矩阵简化为第一子变换矩阵和第二子变换矩阵;四个分别与所述D触发器连接的加法器,用于将所述输入数据首尾对称相加,得到第一子输入数据;四个分别与所述D触发器连接的减法器,用于将所述输入数据首尾对称相减,得到第二子输入数据;至少一个分布式forwardDCT模块,用于通过分布式算法,计算所述第一子变换矩阵和所述第一子输入数据的乘积,并计算所述第二子变换矩阵和所述第二子输入数据的乘积,得到所述输入数据和所述变换矩阵的乘积;其中,所述第一分布式离散余弦变换单元包括一个分布式forwardDCT模块时,所述分布式forwardDCT模块与所述加法器和所述减法器连接;所述第一分布式离散余弦变换单元包括八个分布式forwardDCT模块时,八个分布式forwardDCT模块与四个所述加法器和四个所述减法器一一对应连接。在一个实施例中,所述分布式forwardDCT模块包括寄存器数组。在一个实施例中,所述矩阵转置单元、所述第一矩阵转置单元和所述第二矩阵转置单元均包括双端口随机存取存储器。本专利技术实施例的第二方面提供了一种二维DCT硬件实现方法,其包括:对输入数据和变换矩阵的乘积进行矩阵转置,得到矩阵转置结果;其中,所述输入数据为多媒体数据的宏块对应的矩阵数据;对所述矩阵转置结果和所述变换矩阵的乘积进行矩阵转置,得到输出数据;其中,所述输出数据为所述输入数据的二维离散余弦变换结果。在一个实施例中,对输入数据和变换矩阵的乘积进行矩阵转置,得到矩阵转置结果,包括:通过分布式算法,计算输入数据和变换矩阵的乘积;对所述输入数据和所述变换矩阵的乘积进行矩阵转置,得到矩阵转置结果;对应的,所述对所述矩阵转置结果和所述变换矩阵的乘积进行矩阵转置,得到输出数据,包括:通过分布式算法,计算所述矩阵转置结果和所述变换矩阵的乘积;对所述矩阵转置结果和所述变换矩阵的乘积进行矩阵转置,得到输出数据。在一个实施例中,通过分布式算法,计算输入数据和变换矩阵的乘积,包括:根据所述变换矩阵的对称性,将所述变换矩阵简化为第一子变换矩阵和第二子变换矩阵;将所述输入数据首尾对称相加,得到第一子输入数据;将所述输入数据首尾对称相减,得到第二子输入数据;通过分布式算法,计算所述第一子变换矩阵和所述第一子输入数据的乘积,并计算所述第二子变换矩阵和所述第二子输入数据的乘积,得到所述输入数据和所述变换矩阵的乘积。在一个实施例中,所述宏块的大小为8×8,所述多媒体数据为音频数据、视频数据或音视频数据。本专利技术实施例通过提供一种包括一个或两个离散余弦变换模块的二维DCT硬件装置,在其包括一个离散余弦变换模块时,通过离散余弦变换模块对输入数据和变换矩阵的乘积进行矩阵转置,再对矩阵转置结果和变换矩阵的乘积进行矩阵转置,得到输入数据的二维离散余弦变换结果;在其包括两个离散余弦变换模块时,通过第一离散余弦变换模块对输入数据和变换矩阵的乘积进行矩阵转置,在通过第二离散余弦变换模块对矩阵转置结果和变换矩阵的乘积进行矩阵转置,得到输入数据的二维离散余弦变换结果;能够实现二维DCT变换的硬件化处理,结构简单、易于实现且不会对系统主频产生负面影响。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下本文档来自技高网...
一种二维DCT硬件实现方法及装置

【技术保护点】
一种二维DCT硬件装置,其特征在于,包括一个或两个离散余弦变换模块;所述二维DCT硬件装置包括一个离散余弦变换模块时,所述离散余弦变换模块的输入端口和输出端口连接;所述离散余弦变换模块用于通过所述输入端口接入输入数据,对所述输入数据和变换矩阵的乘积进行矩阵转置,得到矩阵转置结果并通过所述输出端口输出至所述输入端口;对所述矩阵转置结果和所述变换矩阵的乘积进行矩阵转置,得到输出数据并通过所述输出端口输出;所述二维DCT硬件装置包括两个离散余弦变换模块时,第一离散余弦变换模块与第二离散余弦变换模块连接;所述第一离散余弦变换模块用于对输入数据和变换矩阵的乘积进行矩阵转置,得到矩阵转置结果并输出至所述第二离散余弦变换模块;所述第二离散余弦变换模块用于对所述矩阵转置结果和所述变换矩阵的乘积进行矩阵转置,得到输出数据并输出;其中,所述输入数据为多媒体数据的宏块对应的矩阵数据,所述输出数据为所述输入数据的二维离散余弦变换结果。

【技术特征摘要】
1.一种二维DCT硬件装置,其特征在于,包括一个或两个离散余弦变换模块;所述二维DCT硬件装置包括一个离散余弦变换模块时,所述离散余弦变换模块的输入端口和输出端口连接;所述离散余弦变换模块用于通过所述输入端口接入输入数据,对所述输入数据和变换矩阵的乘积进行矩阵转置,得到矩阵转置结果并通过所述输出端口输出至所述输入端口;对所述矩阵转置结果和所述变换矩阵的乘积进行矩阵转置,得到输出数据并通过所述输出端口输出;所述二维DCT硬件装置包括两个离散余弦变换模块时,第一离散余弦变换模块与第二离散余弦变换模块连接;所述第一离散余弦变换模块用于对输入数据和变换矩阵的乘积进行矩阵转置,得到矩阵转置结果并输出至所述第二离散余弦变换模块;所述第二离散余弦变换模块用于对所述矩阵转置结果和所述变换矩阵的乘积进行矩阵转置,得到输出数据并输出;其中,所述输入数据为多媒体数据的宏块对应的矩阵数据,所述输出数据为所述输入数据的二维离散余弦变换结果。2.如权利要求1所述的二维DCT硬件装置,其特征在于,所述离散余弦变换模块包括:分布式离散余弦变换单元,用于根据分布式算法,计算所述输入数据和所述变换矩阵的乘积;与所述分布式离散余弦变换单元连接的所述矩阵转置单元,用于对所述输入数据和所述变换矩阵的乘积进行矩阵转置,得到所述矩阵转置结果;所述分布式离散余弦变换单元还用于通过分布式算法,计算所述矩阵转置结果和所述变换矩阵的乘积;所述矩阵转置单元还用于对所述矩阵转置结果和所述变换矩阵的乘积进行矩阵转置,得到所述输出数据;所述第一离散余弦变换模块包括:第一分布式离散余弦变换单元,用于通过分布式算法,计算所述输入数据和所述变换矩阵的乘积;与所述第一分布式离散余弦变换单元连接的第一矩阵转置单元,用于对所述输入数据和所述变换矩阵的乘积进行矩阵转置,得到所述矩阵转置结果;所述第二离散余弦变换模块包括:与所述第一矩阵转置单元连接的第二分布式离散余弦变换单元,用于通过分布式算法,计算所述矩阵转置结果和所述变换矩阵的乘积;与所述第二分布式离散余弦变换单元连接的第二矩阵转置单元,用于对所述矩阵转置结果和所述变换矩阵的乘积进行矩阵转置,得到所述输出数据。3.如权利要求2所述的二维DCT硬件装置,其特征在于,所述宏块的大小为8×8;所述分布式离散余弦变换单元和所述第一分布式离散余弦变换单元均包括:八个依次级联的D触发器,用于根据所述变换矩阵的对称性,将所述变换矩阵简化为第一子变换矩阵和第二子变换矩阵;四个分别与所述D触发器连接的加法器,用于将所述输入数据首尾对称相加,得到第一子输入数据;四个分别与所述D触发器连接的减法器,用于将所述输入数据首尾对称相减,得到第二子输入...

【专利技术属性】
技术研发人员:阮秋文
申请(专利权)人:深圳市维海德技术股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1