一种基于HLS构建HEVC编码芯片的方法技术

技术编号:28478196 阅读:20 留言:0更新日期:2021-05-15 21:47
本发明专利技术提供了一种基于HLS构建HEVC编码芯片的方法,主要面向对HEVC中DCT模块,提出矩阵乘法实现方式和蝶形运算两种实现方式,进一步通过HLS的方法,快速生成出DCT硬件模块的HDL代码;其中,对于片内乘法器资源紧张,使用基于蝶形运算的DCT架构,其内部由逐次二分的蝶形变换结构实现;对于乘法器运算资源充裕,使用矩阵乘法的DCT架构,其内部由脉动阵列组织模式下的硬件乘法与累加器实现。本发明专利技术可应用于FPGA的视频编解码硬件加速设计领域,可显著缩短DCT模块的设计与验证周期,设计输出的HDL结果可保证高效与可综合特性,使得仅掌握软件开发语言的算法人员能够直接参与到从算法到硬件的设计迭代工作中。件的设计迭代工作中。件的设计迭代工作中。

【技术实现步骤摘要】
Transform)硬件模块进行设计和验证时,无法快速高效地做多次迭代的问题,以及在面向不同型号、不同片内资源规模的FPGA平台,开发者为了尽快寻找最优的DCT模块设计策略,需要根据其片内的硬件乘法器资源数量,对DCT的硬件设计架构做合理调整,本专利技术针对不同的硬件乘法器资源场景,提供了两种具体的实现策略;本专利技术提供一种基于HLS构建编码芯片的方法,包括以下步骤:1a、对于乘法器资源充裕的器件平台,选择矩阵乘法的DCT变换结构,设输入数据的向量n的数据宽度为M个点,经过线性一维DCT变换后的K个元素的输出向量N为: ;1b、所述线性一维DCT变换后的输出向量N的矩阵形式如下: ;其中,所述矩阵形式中的C为M个点DCT变换系数矩阵,C内部各系数值为: ;基于正交变换的特质,将所述矩阵形式进行反变换以完成第一次一维DCT变换:
ꢀꢀ
;1c、在所述第一次一维DCT变换结束后,将所述第一次一维DCT变换后的矩阵转置进行第二次一维DCT变换,设对一个N
×
N的矩阵X进行二维DCT变换,其结果为:
ꢀꢀ
;其中,C为N
×
N的DCT变换系数矩阵;构建HEVC编码的二维DCT变换运算,对时域的图像残差值进行第一次一维DCT变换和第二次一维DCT变换,输出变换系数矩阵,推导为输入残差数据矩阵与变换系数矩阵的相乘,实现DCT架构;所述1C步骤中的实现DCT架构的硬件核心是乘法运算器与累加器组合的处理单元PE,在PE内部对应输入图像残差数据和变换矩阵数据相乘,经单时钟周期延迟后与下一组数据相乘的结果累加
[0007]进一步地,在所述步骤1a之前还包括对所述器件平台提供HLS源文件,所述构建HEVC编码的HLS源文件的设计方法包括以下步骤:A1. 初始化控制逻辑状态机;A2. 获取输入数据,并根据应用需求调整数据宽度与数据格式;A3. HLS遍历所述调整数据宽度与数据格式后的输入数据的矩阵的所有数据项,包括:通过循环方式描述,辅以循环展开HLS约束指令,使得HLS描述的算法最终映射为并行的矩阵相乘结构;A4. 对A3步骤计算得出的数据结果进行规范化整理,并以相关接口标准执行输出动作。
[0008]进一步地,所述基于HLS构建HEVC编码芯片的方法,包括以下步骤:2a.对于乘法器资源减少,和/或由于其他模块的必要占用导致资源紧张的器件平台,选择蝶形变换的DCT变换结构,将输入数据的向量n的M个点的任何偶数点进行DCT变换,
转换为M/2点的DCT子变换与移位相加的组合,将所述DCT子变换的点数逐步二分;2b.所述逐步二分降低至可映射为4点DCT变换运算时,使用简单的DCT变换单元,通过蝶形变换结构对所述简单的变换单元与移位单元进行组合,实现DCT架构;所述2b步骤中的所述实现DCT架构是基于蝶形运算单元,通过结合普通加法器和移位器进行等效替换。
[0009]进一步地,在所述步骤2a之前还包括对所述器件平台提供HLS源文件,所述构建HEVC编码的HLS源文件的设计方法包括以下步骤:B1. 初始化控制逻辑状态机;B2. 获取输入数据,并根据应用需求调整数据宽度与数据格式;B3. HLS调用嵌套子处理函数,对所述调整数据宽度与数据格式后的输入数据的多点的DCT变换运算逐步二分直至可映射为4点DCT变换运算,同时调用嵌套的HLS约束指令使得HLS描述的算法迭代计算出偶数下标的系数数据;B4.HLS对所有所述调整数据宽度与数据格式后的输入数据的矩阵的所有数据项执行循环遍历,确保HLS描述的算法最终可映射为蝶形变换的硬件结构;B5. 对B4步骤计算得出的数据结果进行规范化整理,并以相关接口标准执行输出动作。
[0010]进一步地,在选择所述DCT变换结构的实现架构后,分别可生成出矩阵乘法和蝶形变换两种结构的HDL代码,配合HLS实战策略约束指令得到RTL级的封装模块,配合Testbench进行多次设计迭代与优化,最终结合HDL物理与时序约束,生成可综合的高效设计网表结果。
[0011]与现有技术相比,本专利技术的有益效果是:本专利技术针对不同的硬件乘法器资源场景,提供了两种具体的实现策略;应用于FPGA(现场可编程门阵列,Field Programmable Gate Array)的视频编解码硬件加速设计领域,可显著缩短DCT模块的设计与验证周期,同时最终生成输出的HDL(硬件描述语言,Hardware Description Language)结果依然保证高效与可综合特性,可提升HEVC编解码开发人员的工作效率,同时也使得仅掌握软件开发语言的算法人员能够直接参与到从算法到硬件的设计迭代工作中,具有一定的实用意义。
附图说明
[0012]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。
[0013]在附图中:图1为本专利技术实施例的HLS高层次综合工作过程框图;图2为本专利技术实施例的基于矩阵乘法实现的DCT实现架构;图3为本专利技术实施例的基于蝶形变换和基于矩阵乘法两种不同类型的DCT模块HLS实现架构;图4为本专利技术一种基于HLS构建HEVC编码芯片的方法的对于乘法器资源充裕的流程图;
图5为本专利技术一种基于HLS构建HEVC编码芯片的方法的对于乘法器资源紧张的流程图;图6为本专利技术对于乘法器资源充裕的构建HEVC编码的HLS源文件的设计方法的流程图;图7为本专利技术对于乘法器资源紧张的构建HEVC编码的HLS源文件的设计方法的流程图。
具体实施方式
[0014]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
[0015]在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0016]应当理解,尽管在本公开可能采用术语第一、第二、第三来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
[0017]本专利技术实施例一种基于HLS(高层次综合,High

Level Synthesis)构建HEVC编码芯片的方法,参见图4所示,包括以下步骤:1a、对于乘法器资源充裕的器件平台,选择矩阵乘法的DCT变换结本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于HLS构建HEVC编码芯片的方法,其特征在于,包括以下步骤:1a、对于乘法器资源充裕的器件平台,选择矩阵乘法的DCT变换结构,设输入数据的向量n的数据宽度为M个点,经过线性一维DCT变换后的K个元素的输出向量N为: ;1b、所述线性一维DCT变换后的输出向量N的矩阵形式如下: ;其中,所述矩阵形式中的C为M个点DCT变换系数矩阵,C内部各系数值为:;基于正交变换的特质,将所述矩阵形式进行反变换以完成第一次一维DCT变换: ;1c、在所述第一次一维DCT变换结束后,将所述第一次一维DCT变换后的矩阵转置进行第二次一维DCT变换,设对一个N
×
N的矩阵X进行二维DCT变换,其结果为: ;其中,C为N
×
N的DCT变换系数矩阵;构建HEVC编码的二维DCT变换运算,对时域的图像残差值进行第一次一维DCT变换和第二次一维DCT变换,输出变换系数矩阵,推导为输入残差数据矩阵与变换系数矩阵的相乘,实现DCT架构。2.根据权利要求1所述的基于HLS构建HEVC编码芯片的方法,其特征在于,包括以下步骤:2a.对于乘法器资源减少,和/或由于其他模块的必要占用导致资源紧张的器件平台,选择蝶形变换的DCT变换结构,将输入数据的向量n的M个点的任何偶数点进行DCT变换,转换为M/2点的DCT子变换与移位相加的组合,将所述DCT子变换的点数逐步二分;2b.所述逐步二分降低至可映射为4点DCT变换运算时,使用简单的DCT变换单元,通过蝶形变换结构对所述简单的变换单元与移位单元进行组合,实现DCT架构。3.根据权利要求1所述的基于HLS构建HEVC编码芯片的方法,其特征在于,在所述步骤1a之前还包括对所述器件平台提供HLS源文件,所述构建HEVC编码的HLS源文件的设计方法包括以下步骤:A1. 初始化控制逻辑状态机;A2. 获取输入数据,并根据应用需求调整数据宽度与数据格式;A3. HLS遍历所述调整数据宽度与数据格式后的输入数据...

【专利技术属性】
技术研发人员:沈玉勤周鹏兵王帅
申请(专利权)人:北京电信易通信息技术股份有限公司
类型:发明
国别省市:

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

1