第六届集创赛——景嘉微杯

景嘉微杯

一、赛题题目:一种应用于图形显示的Upsampling IP

二、参赛组别:A组、B组

三、赛题背景(研究意义及价值):

在GPU图形处理领域,像素性能常常是系统性能的瓶颈,减轻像素引擎的负载对于提升芯片图形性能的意义重大;渲染低分辨率后由算法放大至期望大小已经成为一个被广泛使用的性能优化手段,从NVIDIA的DLSS到AMD的FSR都有广泛的应用。本课题从upsampling的角度,通过减少像素引擎需要处理的数据量来提高图形渲染效率。

四、赛题任务

(赛题内1K图片的分辨率为960*540,4K图片是3840*2160

实现一种对帧存颜色缓冲区图像的超采样处理IP,用于硬件性能不足时将低分辨率图像放大至高分辨率,从而在尽可能贴合高分辨率渲染效果的同时提升帧率、降低功耗。提交分为两部分, 软件实现及verilog仿真代码(cmodel不要求提交),要求软件实现和verilog实现输出一致。

软件实现:

1. 输入:一张由(3840x2160图片下采样至)960x540的电脑生成图片的像素矩阵,格式为rgb,bpp=24(下采样图片由赛事方提供)

2. 输出:一张3840x2160的图片像素矩阵, 格式为rgb, bpp=24

3. 输入输出矩阵内存均由外部申请及销毁, 不用自己负责

4. 算法目标特性描述:

4.1. 与原4K图做对比,保留感知特征

4.2. 禁用神经网络

4.3. [可选]支持并行处理

4.3.1. 图像处理函数可单实例处理图片

4.3.2. 多实例并行处理图片的输出应和单实例处理图片的图片输出一致

4.3.3. 可为并行处理功能封装额外一个调度函数

5. 语言及标准: c99及其标准中的标准库, 支持并行处理的可使用pthread, 需要在Linux环境下编译并运行

6. 参考函数签名:

int upsampling(void *data_in, uint32_t width_in, uint32_t height_in, void *output, uint32_t width_out, uint32 height_out, uint32_t num_instance);

7. 提供的测试图片为rgb 24bpp的bmp文件, 可自行编写程序读取,main不用交。

Verilog实现:

见下文考核指标,如需调用外部IP,加减乘除可以用,其余的计算类IP不允许用。


五、成果形式及考核指标

1. 算法模型及软件实现函数(c99)

1.1. 需要提交源码

2. 并行处理实现(加分项)

2.1. 每个实例需要在最终输出的矩阵中有写入, 僵尸实例视为此项失败

2.2. 灵活并行数实现和固定并行数实现都可被接受, 灵活实现更优

2.3. 每个实例的负载会被检查, 负载均衡更优

3. Verilog实现的IP;

4. 在FPGA上验证通过;

l 推荐FPGA开发板:Xilinx Zynq-7000 SoC ZC702 Evaluation Kit(含UART/ETH/DDR/HDMI/SD/USB,不含PCIE);

l 功能验证:通过通信总线(ETH存储设备SD/USB获取原始图片数据存储到DDR,IP实现将DDR中读取的图片数据(RGBA32bpp)做upsampling后,1)通过通信总线处理后的图片数据传回上位机原始图片数据比较2)通过开发板视频输出接口(HDMI)输出上屏显示受限于输出分辨率<4K,可通过调试接口传入左上角显示坐标,从而能通过调整坐标分时查看图片各部分内容

5. 详细设计文档,包括算法设计说明、实现函数说明寄存器说明,RTL模块设计说明仿真验证环境及说明、性能评估说明、FPGA验证报告;

6. 评分标准

内容

分值

评分要求

1.结果图像考核

60

分赛区决赛和总决赛评审时,参赛团队现场演示(具体演示流程在评审前公布)

考核分为三轮:算法评估,模型评估以及前几名的人工评估。量化指标的测试程序、示例数据集和几种基础算法的分数会提供给参赛者。

1对于所有参赛者, 输出的图像将用SSIM及PSNR作为初筛指标, 两项任意一项在参赛队伍中排到前80%且两项结果均优于简单二次线性插值算法的队伍即可通过,未通过者本项记0分通过计10分

2初筛通过者将图像传至事先训练好的LPIPS模型,以L^2 distance作为模拟感知相似度的评估标准,主办方会给出公开的数据集和程序供选手使用(非实际评估用)此项排名前五(分别计:30、2418、12、6分)的参赛者将进入人工轮;

3第二轮通过者将由不记名的双盲比对,将输出图片和源图片做对比,采取5档打分制,使用Mean Opinion Score (MOS)进行统计,最后得出名次(按名次分别计:20、16、12、8、4分)

分赛区决赛现场演示环节补充说明:点击查看

2.逻辑资源

10

综合后占用逻辑资源少

3.延时要求

10

依据行缓存数量评价小者优。

4.FPGA验证

10

系统运行正确最高运行频率高者优;

5.设计文档和现场答辩

10

文档规范,详细完整,现场答辩清晰。

六、杯赛阶段及提交内容:

1. 中期汇报

1) 中期报告;

2. 初赛和企业技术评分:

1) 详细技术文档及设计数据:算法设计说明、实现函数说明寄存器说明,RTL模块设计说明仿真验证环境及说明、性能评估说明、FPGA验证报告;

3. 分赛区决赛提交内容

1) 汇报PPT:项目介绍、关键技术介绍、性能指标

2) 技术文档及设计数据:同上

3) 现场演示;

4. 总决赛提交内容

1) 汇报PPT:项目介绍、关键技术介绍、性能指标

2) 技术文档及设计数据:同上

3) 现场演示

七、其他注意事项:

1. 杯赛企业和组委会对参赛队提交资料有展示权,同等条件下,杯赛企业对参赛作品知识产权具有优先购买权;

2. 大赛组委会和杯赛企业对参赛作品的提交材料拥有使用权和展示;

3. 参赛项目可以参考现有公开发表的文献和论文内容,但应当在技术论文和答辩PPT中注明来源,且不能将参考的内容作为自己作品的创新部分。

(请参赛团队务必添加所报名杯赛的答疑群中,以便及时获取杯赛最新通知及进展,群号码及入群方式:点击查看