@brucezhan Not FPGA, If you use 65nm, it can reach 400MHz
Posts made by bo
-
RE: 首款开源H.265 Video Encoder IP Core发布
-
RE: 是否有版本库?
目前还没有公开的版本库,我们只是在实验室内部有个版本库。
欢迎参与开发,方便的话,我们可以先联系一下。我正在考虑以什么样的一个形式来组织大家一起开发。 保持联系! -
RE: 首款开源H.265 Video Encoder IP Core发布
@Timmy 最简单的方法是自己跑个dc综合,或者FPGA综合。
-
RE: H.265 Encoder FPGA Demo System 演示系统架构
目前只能放2块,一块放不下。
争取后面放到一块xilinx板子上 -
关于这个开源项目 from VIP Lab
关于H.265硬件IP
很多人搞不清楚本项目和x265等软件开源H.265编码器区别
简单的讲,x265是运行在CPU、DSP平台上,它是个软件,而本次开源项目是用于制作芯片、可运行于FPGA平台上的硬件。本项目采用Verilog HDL语言编写,是可综合的RTL代码,代码表述的是电路,是硬件。开源的软件H.265编码器很多,最著名的是x265,而开源的硬件H.265编码器没有。据我孤陋寡闻,这个项目是第一个。大概是硬件开发人员太少了的缘故吧,一般人不会接触芯片开发。
关于本次开源
开源就是好玩,让更多的人有个更好玩的玩具而已,并且是免费的。
随着FPGA的普及,越来越多高性能应用需要用FPGA这种硬件平台,而不是CPU/DSP软件平台,对于视频编码这种需要极大计算能力的应用,软件是无法实时的,大家平时使用的手机芯片内部都有专门的硬件视频编解码器。没有硬件编码支持,估计现在手机还停留在只能拍照不能拍视频的阶段吧。
另外,看过代码的同学应该好奇为什么代码内部最后注释更新的都是2015年?
其实,这个项目2015年就已经完成,相关FPGA Demo也于1年多前就已经完成。
为什么迟迟不发,到现在才发?
一方面本人一直觉得代码不够好,架构还不完善,远达不到完美,过不了自己这关,觉得拿不出手,另一方面也欠缺跟其他的商业版本对比(我们也没用过商业版本,买不起),指标太差,岂不自取其辱,最后还有点拖延症因素,拖一天是一天。
那为什么现在发出来了?
直白点是拖不下去了,事情总得有个交代。算是对我本人从学术角度从事视频编码芯片研究这么多年的一个交代吧,搞了这么些年,总得有点东西拿出来反馈社会吧,碰巧今年是我的自然基金结题年,拿了纳税人的钱研究了这么些年,不出点东西怪不好意思,哪怕东西不够好 。况且确实目前的FPGA还不够好玩,大大小小的IP很多都是收费的,不像软件领域开源项目多如牛毛,硬件开源的项目确实很少,并且大多欠缺维护。代码
开源代码只包含了核心的H.265编码器代码,懂得同学应该很容易集成总线模块和SoC系统。本实验室开发的Demo系统受限于采用了一些第三方IP,不能开源SoC总线集成的代码。相信能玩转FPGA、芯片设计的同学,应该不是问题啦。
为什么不托管到Github
首先,Github是一个软件开发者常用的分享代码网站,本项目是一个硬件IP项目,放到Github上意义不大(放个链接告诉大家有这么个东西就行)。其次,因为本项目开发团队都在一个房间里,没有外援参与,同步代码吼一声就行,如果后期有外援加入,可以考虑用一个更好的方式分享代码。后记
这个项目本实验室一直有同学在做,东西虽然拿不出手,但本人不敢懈怠,还在努力改进中,将作为一个长期维护项目,逐步更新功能、架构。包括BitDepth扩展、集成MCU进行编码控制、更好的流水线架构、更准确的预测算法、B帧等。
感谢
这个项目陆陆续续做了好几年了,从2010年做H.264编码器、解码器开始,好多同学参与到这个项目中来,也毕业了很多优秀的毕业生,也完成了整一个自然基金的研发过程,中间还夹带了一个上海市基金的研发过程。
名单很长,但是值得回味(满满的都是美好回忆啊~~)
- 按照毕业时间先后排序
姜英
刘家良
任怀鲁
赵晋
钟慧波
余磊
袁兴
沈沙
郭勇
马天龙
刘聪
尚青
范奕舒
谢峥
白宇峰
沈蔚炜
程魏
陆彦珩
黄磊磊
江亲炜
感谢这些优秀的复旦学生以及外校交流学生的多年努力,你们是真正的实验室中坚力量,也是接下来支撑中国IC产业的栋梁。
邀请
对于这么个一般公司开发需要很多人力物力投入的项目,作为一个大学实验室很显心有余而力不足,希望有更多富有工作经验、充满学习兴趣、热爱奉献、不求金钱回报的有志青年、中年、老年码农们参与,帮助本项目改进。
让我们一起造一个大玩具
关注我们
微信公众号:OpenASIC
- 按照毕业时间先后排序
-
网站smtp发送有问题,导致用户无法收到注册邮件
目前网站用的是126免费邮箱发送注册确认邮件,结果发现126对每天发送邮件数目有限制,导致很多注册用户无法收到确认邮件,请见谅。
后期将寻找其他邮件发送替代方案。
-
H.265 Encoder FPGA Demo System 演示系统架构
FPGA Demo System 演示系统架构
系统架构图 System Architecture
采用两块FPGA开发板
- SoCKit开发板:集成ARM CPU、以太网、Linux操作系统,作为主控制器使用
- TR4开发板:烧录H.265 Encoder硬件代码,并集成DVI图像输入端接口
上述两块开发板采用HSMC连线连接
基本工作流程 Basic Working Flow
- 视频从DVI口输入(TR4开发板)
Video input from DVI port (TR4) - H.265 Encoder (TR4开发板)进行视频编码
H.265 Encoder encoding video (TR4) - ARM CPU(SoCKit开发板)进行Header加载
Add PPS, SPS, Slice Header by ARM CPU (SoCKit) - ARM CPU(SoCKit开发板)完成RTSP网络打包,并发送给客户端PC主机
Packing video stream to RTSP by ARM CPU (SoCKit), send it to client PC - 客户端PC主机用VLC播放器进行解码播放
The client PC decode bitstream and display it by VLC player.
-
H.265/HEVC Encoder IP Architecture 系统架构
H265enc V1.0 System Architecture 系统架构
系统架构框图
模块
- TPU: 一个外置的主控制器,可做码率控制,Header添加等(目前1.0版本代码未包括)
- Coarse Motion Estimation: 粗粒度运动估计(软硬件实现方案皆可)
- Fine Motion Estimation: 细粒度运动估计,包括IME(Full Search),FME(Full Search)
- Pre Intra Prediction;粗粒度Intra预测(软硬件实现方案皆可)
- Post Intra Prediction: 细粒度Intra预测(支持All Intra Mode)
- Transform&Quantization: 4/8/16/32全模式DCT/IDCT,量化计算
- CABAC:熵编码
- SAO:SAO
- DB:块滤波
接口
目前的代码顶层是h265core,需要自行封装AXI, APB接口
码率控制
可集成一个轻量级的MCU,比如MIPS、ARM M0进来即可
Slice Header,SPS,PPS
由主处理器或者内置集成轻量级MCU用软件方法产生,目前的H265core仅仅产生每个LCU的bitstream,方便用户根据自己需求来选择加入Header方案。
-
VIP Lab (Video Image Processing Lab) @ Fudan University
VIP 实验室
复旦大学VIP实验室由范益波教授(Prof. Yibo Fan)创建,实验室专注于从事下一代视频、图像硬件处器研究,包括超高清视频编码器(H.264/H.265 Video Encoder IP),图像去雾(Dehazing)处理器,双目视觉处理器(Stereo Matching)等。
关注我们
微信公众号: OpenASIC
-
H.265 Video Encoder IP RTL Simulation 方法
RTL Simulation 方法
文件结构
. |-- rtl | |-- cabac | |-- db | |-- enc_defines.v | |-- fetch | |-- fme | |-- h265core.v | |-- ime | |-- intra | |-- mc | |-- mem | |-- pre_i | |-- top | `-- tq `-- sim `-- h265core
Modelsim
# go to simulation directory cd ./sim/h265core # run simulation ./vsim.run
NCsim
# go to simulation directory cd ./sim/h265core # run simulation ./make ncsim
Simulation result
*** CHECK TOP ! *** fime auto check is on fme auto check is on mvd auto check is on db auto check is on fetch auto check is on bs auto check is on *** TEST P FRAMES ! *** at 00000600, Frame Number = 00, mb_x_first = 00, mb_y_first = 00 at 00050065, Frame Number = 00, mb_x_first = 01, mb_y_first = 00 at 00091015, Frame Number = 00, mb_x_first = 02, mb_y_first = 00 ... ... ... at 10594605, Frame Number = 07, mb_x_first = 01, mb_y_first = 00 at 10637335, Frame Number = 07, mb_x_first = 02, mb_y_first = 00 at 10649965, Frame Number = 07, mb_x_first = 00, mb_y_first = 00 *** TEST I FRAMES ! *** at 10660075, Frame Number = 00, mb_x_first = 00, mb_y_first = 00 at 10778975, Frame Number = 00, mb_x_first = 01, mb_y_first = 00 at 10876295, Frame Number = 00, mb_x_first = 02, mb_y_first = 00 ... ... ... at 40551735, Frame Number = 09, mb_x_first = 06, mb_y_first = 03 at 40638475, Frame Number = 09, mb_x_first = 00, mb_y_first = 00 at 40680215, Frame Number = 10, mb_x_first = 00, mb_y_first = 00 *** CHECK FNISHED ! *** Simulation complete via $finish(1) at time 40682215 NS + 0 ./tb_top.v:578 $finish ;
-
H265 Video Encoder RTL IP Core [Version 1.0]
H265 Video Encoder RTL IP Core V1.0
Feature List
HEVC/H.265 Main Profile
YUV 4:2:0
Bitdepth 8
4K@30fps, 400MHz
GOP: I/P
CU: 8x8~64x64
PU: 4x4~64x64
TU: 4x4/8x8/16x16/32x32
1/4 Sub-pixel
Search range 32
All 35 Intra prediction mode
CABAC
Deblocking Filter
SAO
Rate control: CBR/VBR (Software)Download
-
首款开源H.265 Video Encoder IP Core发布
H.265 Video Encoder IP Core
开源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
- CU: 8x8~64x64
- PU: 4x4~64x64
- TU: 4x4/8x8/16x16/32x32
- 1/4 Sub-pixel
- Search range 32
- All 35 Intra prediction mode
- CABAC
- Deblocking Filter
- SAO
- Rate control: CBR/VBR (Software)
关于VIP Lab
复旦大学VIP实验室专注于从事下一代视频、图像硬件处器研究,包括超高清视频编码器(H.264/H.265 Video Encoder IP),图像去雾(Dehazing)处理器,双目视觉处理器(Stereo Matching)等。
实验室网站 http://viplab.fudan.edu.cn代码下载
http://www.openasic.org/topic/6/h265-video-encoder-rtl-ip-core-version-1-0
关注我们
微信公众号: OpenASIC