开源H.265/HEVC Encoder IP Core V2.0发布
-
H.265 Video Encoder IP Core V2.0
开源H.265 硬件视频编码器
H.265 Video Encoder IP Core 是开源的H.265硬件视频编码器,实现了H.265(或叫HEVC)的大部分功能。它由复旦大学专用集成电路与系统国家重点实验室(State Key Lab of ASIC & System,Fudan University)视频图像处理实验室(VIP Lab)范益波教授研究团队开发完成,并开放源代码。任何组织个人可以无偿使用上述代码用于研究和生产目的,VIP Lab将会持续更新并维护H.265硬件视频编码器的开发。
基本Feature
- HEVC/H.265 Main Profile
- YUV 4:2:0
- Bitdepth:8
- 4K@30fps, 400MHz
- GOP: I/P
- CTU: 64x64
- CU: 8x8~64x64
- PU: 4x4~64x64
- TU: 4x4/8x8/16x16/32x32
- 1/4 Sub-pixel
- Search range:64
- All 35 Intra prediction mode
- CABAC
- Deblocking Filter
- SAO(Sample Adaptive Offset)
- Rate control: CBR/VBR(Software-based)
- Rate control: CTU level(Hardware-based)
- SKIP/MERGE
- Intra CTU in Inter frame
本次更新内容
- H265ENC V2.0 功能更新内容
- h265enc v2.0
a. 更新I/P帧预测算法、硬件流水线,优化编码效率
b. 修复原有代码中的bug
c. RTL V2.0经过nLint语法检查,fix error及warning等
d. 经过DC综合,满足400MHz,fix critical path,warning
e. IP Core V2.0经过FPGA验证编码正确 - PreI – Intra mode decision
a. 新增CTU-level Rate control,根据CABAC已编码的码流大小,动态调整当前CTU的QP大小 - PosI – Intra partition decision
a. 基于原始像素做预测
b. 基于SATD的distortion,以及简化的rate计算,提升编码效率 - IME – Integer motion estimation
a. IME 参数可配置,通过ime_cfg.dat,配置搜索范围以及搜索中心搜索形状等
b. 搜索范围扩大至±64
c. 通过H-V reference SRAMs,支持45°等倾斜的搜索角度
d. 通过Bits Truncation,将像素值从8bit截到4bit,PSNR损失不到1dB,面积和功耗能大幅度减小 - FME – Fractional motion estimation
a. 新增SKIP/MERGE判决,基于SATD的cost计算判决当前CU块是否SKIP
b. fix插值公式bug - REC – Reconstruction loop
a. 支持Intra CTU in Inter Frame,可通过PosI及FME的cost判断当前CTU是Intra或者Inter编码
b. 支持SKIP,即预测值直接作为重建值
c. 整理DCT代码,并修复其中bug - DBSAO – Deblocking filter & sample adaptive offset
a. 更新DB中滤波顺序,去除原有DB中的转置memory
b. 新增SAO EO模式计算 - CABAC – Entropy coding
a. 更新代码,修复其中bugs
b. 支持SKIP、MERGE、Intra CTU in Inter Frame等
c. 去除ROM
- H265ENC V2.0 完成测试项目
相较于第一版的RTL,我们在第二版中做了更为充分的测试,确认在各种情况下都能正确完成编码。测试序列中,我们采用了六个HEVC官方测试序列,从416x240到3840x2160等不同分辨率的视频序列。
BlowingBubbles: 416x240
BasketballDrill: 832x480
ChinaSpeed: 1024x768
FourPeople: 1280x720
BasketballDrive: 832x480
TouchDownPass: 3840x2160
也在不同QP下完成了上述所有测试序列的测试工作:10, 17, 22, 27, 32, 37, 42, 47, 51。测试过程中发现的各个模块的bug也已修复,并通过了上述所有测试序列以及QP的测试。测试结果如下图所示:
Intra test
Inter test
关于VIP Lab
复旦大学VIP实验室专注于从事下一代视频、图像、AI硬件处理器研究,包括超高清视频、图像编解码器(CODEC IP),图像处理器(ISP IP),神经网络处理器(NN IP)等。
实验室网站 http://viplab.fudan.edu.cn代码下载
http://openasic.org/topic/71/h265-video-encoder-rtl-ip-core-version-2-0
关注我们
微信公众号: OpenASIC
-
This post is deleted!
-
您好,@bo ,我正在進行關於HEVC的研究,我想問一下您是否使用了什麼職能作為頂層實體?我嘗試使用enc_top.v作為頂層實體,但是我不斷收到錯誤,指出Stratix IV的ALUT不足以進行設計。希望您回复,謝謝!
-
@Giljohn 这个代码不包括编码器外围电路(总线接口,地址管理,Buffer缓存等),enc_top仅仅是编码器核心IP的顶层。如果需要在FPGA上运行,需要自行封装AXI总线接口。
-
未来我们会推出开源版的FPGA实例,可以包括AXI总线接口、软件驱动程序,简单的Demo等
-
I'm getting some errors while doing the simulaion.
The parameter 'bs_byte_cnt' isn't matching between f265 and h265
How can it be corrected
I've attached the screenshot..Please tell模拟时出现一些错误。
f265和h265之间的参数'bs_byte_cnt'不匹配
如何纠正
我已附上屏幕截图。.请告诉