当前位置: 首页 > news >正文

hevc编码芯片学习-VLSI实现

在Fan等工作中,根据特定算法设计了整像素运动估计引擎,最终的BD-Rate损失非常小,但是硬件开销比较大,搜索算法缺少灵活性,本次设计优化了硬件设计架构,

微代码 取像素

压缩

水平参考像素存储器

寻址控制 转置存储器

垂直参考像素存储器

解压缩 -> 参考像素寄存器阵列 原始像素寄存器阵列

低功耗SAD树

顶层

底层

优化后的硬件架构仍然将使用Fan等提出的4x4块的压缩和解压缩逻辑,水平-垂直参考像素存储器和低功耗32x32大小SAD引擎。本节提出的硬件设计的主要工作如下。

寻址空间逻辑支持微代码可编程

简化了参考像素更新逻辑,减少了该模块的硬件开销。

在转置逻辑中复用了参考像素阵列

引入了像素截位,减少了H-V SRAM,寄存器阵列和SAD引擎的硬件开销。

5.3.1 寻址控制逻辑

在Fan等的工作中,寻址控制逻辑是微特定整像素运动估计算法设计的,相较于其它硬件设计,BD-Rate 的损失较小,但是缺少灵活性,本节提出的IME架构重新设计了寻址控制逻辑,用以支持提出的微代码可编程的功能。支持的配置参考有搜索起始点,参考窗形状和降采样率等。当整像素运动估计的过程开始时,寻址控制模块从微代码存储器中依次读取微代码并执行。而微代码可以根据应用场景的特征提前配置好,或者根据编码过程实时更新。

5.3.2 水平-垂直参考像素存储器

为了支持二维数据复用,本次设计采用了水平-垂直参考像素存储器(H-V SRAM), 该存储器由两个SRAM组成,即水平参考像素存储器 HSRAM和垂直参考像素存储器 V SRAM。如图5-18所示。前者以行的方式存储参考像素,每一行像素存储在H SRAM的同一地址上;后者以列的方式存储参考像素,每一行像素存储在VSRAM 的同一地址上。

图5-18 水平-垂直参考像素存储器

在运动估计的过程中,如果搜索的候选点时垂直移动的,那么却是的参考像素就可以从水平参考像素存储器H SRAM中很方便的获得,相反的,如果搜索的候选点时水平移动的,那么缺失的参考像素就可以从垂直参考像素存储器V SRAM中很方便的获得。

5.3.3 参考像素阵列更新逻辑

在Fan等的设计中,参考像素寄存器阵列可以支持8个更新方向,如图5-19所示。图中的巨星代表参考像素寄存器阵列,灰色部分代表即将更新的像素,由于采用了水平-垂直参考像素存储器,无论搜索的候选点沿哪个方向移动,参考像素都能在一个周期内更新。对于Fan等设计中的参考像素更新逻辑,虽然更新候选点的参考像素时钟周期很少,特别体现在候选点沿对焦线方向移动的时候,但是这种设计会导致大量的硬件开销。

正如前面所述,本次硬件设计仍然采用了水平-垂直参考像素存储器,但是只支持3个候选点更新方向,即向上,向下和向右,如图5-19所示,因此可以大幅减少参考像素阵列更新逻辑的硬件开销。由于减少了支持的更新方向,对于带斜边的参考窗的搜索需要花费更多的时钟周期,但是同时也能搜索更多的候选点,如图5-19和图5-19所示。

5.3.4 转置寄存器

在Fan等的硬件设计中转置功能是基于SRAM实现的,设计转置时不必占用外存宽带,但是该设计仍然存在一些问题。

1 当使用ARM的Memory Compiler生成SRAM的时候,一个8bit,深度为32的SRAM需要2000左右的逻辑门数,而该转置单元需要3个尺寸的SRAM,因此总共的逻辑门数大于64k。

2 由于转置模块是基于SRAM实现的,因此该设计只能提供半双工数据传输。也就是说,从水平参考像素存储器中取像素的过程和向垂直参考像素存储器中写像素的过程是不能同时进行的。

在本节提出的硬件设计中转置模块将复用参考像素阵列,这不仅可以减少硬件代价,还可以提供双工 数据传输,为了简化转置过程的说明,我们用一个4x4块的转置过程来简单说明32x32块的转置过程。如图5-20所示。

图5-20 基于参考像素阵列的转置逻辑

在图5-20中,行序号数字表示,序列号用字母表示,不同块的像素用斜体和下划线标记,这些序号,序列号和块都从0开始计数。举例说明:1A~1D(1A,1B,1C和1D)代表第0个4x4块的第1行;0D ~3D(0D,1D,2D和3D)代表第1个4x4块的第3列;2A~2D (2A,2B,2C,2D)代表第2个4x4块的第2行。

转置的过程如下

(1)在时钟周期0,参考像素寄存器阵列下移动1行,同时i写入0个块的第0行,即像素0A~0D,接着写入第0个块的剩余3行

(2)在时钟周期3,第0个块的所有像素呗写入了寄存器阵列

(3)在时钟周期4,参考像素寄存器阵列右移1行,同时写入第1个块的0像素0A-0D, 接着写入1个块的剩余3

4) 同时01也就是像素0A-3A从寄存器阵列中读出接着读出0剩余3

5)时钟周期7,第一个所有像素都被写入寄存器阵列0所有像素都被转置

6)时钟周期8参考像素寄存器阵列移动1同时写入20像素0A-0D 接着写入2个块剩余3

7)同时11也就是像素0A-3A从寄存器阵列中读出接着是1个块声誉3

8)时钟周期112所有像素都被寄存器阵列并且1个块所有像素都被转置读出

5.3.5 像素截位

一个基于4x4压缩解压缩方案提出来用来减少片上参考像素存储器面积由于采用了技术每个像素相当于截位7bit引入BD-Rate损失非常小

本次设计测试了不同截位比特数对于最终BD-Rate硬编码代价影响

截位比特数

硬件

BD-Rate

0

210k

--

1

166k

-0.1%

2

145k

0.13%

3

124k

-0.01%

4

102k

0.51%

相关文章:

  • aes密钥如何生成固定的16位呢?
  • 大表查询的优化方案
  • 【ComfyUI】蓝耘元生代 | ComfyUI深度解析:高性能AI绘画工作流实践
  • 详细介绍7大排序算法
  • Nginx用途以及好处:
  • Oracle数据库数据编程SQL<9.2 数据库逻辑备份和迁移Data Pump (EXPDP/IMPDP) 导出、导入>
  • 大型语言模型中中医知识的多模态基准数据集
  • HarmonyOS:使用Refresh组件实现页面下拉刷新
  • css中的3d使用:深入理解 CSS Perspective 与 Transform-Style
  • Python Cookbook-6.2 定义常量
  • 数据结构考研复习
  • python蓝桥杯备赛常用算法模板
  • Firewalld服务
  • Spring MVC 请求处理流程详解
  • MySQL联合查询||多表查询
  • Ubuntu安装Docker容器,通过Tomcat部署项目
  • Linux服务之网络共享
  • 深度学习总结(13)
  • 抢票方案推荐(推荐语言)
  • C 语言中经典的数据结构
  • 两部门:推动“青年驿站”为毕业生跨地区求职提供住宿优惠便利
  • 刘非任中共浙江省委常委、杭州市委书记
  • 外卖口水战四天,京东美团市值合计蒸发超千亿港元
  • 第六次“太空会师”,神舟二十号3名航天员顺利进驻中国空间站
  • “两高”发布侵犯知产犯罪司法解释:降低部分犯罪入罪门槛
  • 厚植民营企业家成长土壤是民营经济高质量发展的关键