Navigation

    OpenASIC
    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    1. Home
    2. bo
    3. Best
    B
    • Continue chat with bo
    • Start new chat with bo
    • Flag Profile
    • Block User
    • Profile
    • Following
    • Followers
    • Topics
    • Posts
    • Best
    • Groups

    Best posts made by bo

    • H264 Video Encoder RTL IP Core [Version 2.0]

      H264 Video Encoder RTL IP Core V2.0

      Feature List

      • AVC/H.264 Baseline Profile
      • YUV 4:2:0
      • Bitdepth 8
      • FHD@60fps
      • GOP:I/P
      • MB: 16x16
      • 1/4 Sub-pixel interpolation
      • Search range: 16
      • All Inter Partition mode
      • All 9 Intra prediction mode
      • CAVLC
      • Deblocking Filter

      H264ENC V2.0 Improvements

      1. h264enc v2.0
        a.Fix the bugs in previous version
      2. INTRA – Intra mode decision & partition decision
        a.Modify the mode priority of C model to match RTL
      3. IME – Integer motion estimation
        a.Modify the generation of mv_cost to support P frame
      4. FME– Fractional motion estimation
        a.Fix some bugs in fmv calculation and luma prediction
        b.Redesign the 1/2 interpolator logic
      5. TQ - Transformation & Quantization
        a.Add QPc to quantize chroma residuals
        b.Incease the bitwidth of quant modules and idct module to prevent overflow
      6. CAVLC - Entropy coding
        a.Modify the FSM to encode chroma component properly
        b.Fix a bug in fetching residuals from TQ
      7. FETCH
        a.Fix several bugs in fetching predicted pixels
        b.Modify the logic of reading RAM

      Download

      h264enc_v2.0

      posted in 代码发布 | OpenASIC Code Release
      B
      bo
    • H265 Video Encoder RTL IP Core [Version 2.0]

      H265 Video Encoder RTL IP Core V2.0

      Feature List

      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 interpolation
      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

      Download

      h265enc_v2.0

      posted in 代码发布 | OpenASIC Code Release
      B
      bo
    • H.265 Encoder FPGA Demo System 演示系统架构

      FPGA Demo System 演示系统架构

      系统架构图 System Architecture

      0_1482396184520_h265enc_fpga.jpg

      采用两块FPGA开发板

      • SoCKit开发板:集成ARM CPU、以太网、Linux操作系统,作为主控制器使用
      • TR4开发板:烧录H.265 Encoder硬件代码,并集成DVI图像输入端接口

      上述两块开发板采用HSMC连线连接

      基本工作流程 Basic Working Flow

      1. 视频从DVI口输入(TR4开发板)
        Video input from DVI port (TR4)
      2. H.265 Encoder (TR4开发板)进行视频编码
        H.265 Encoder encoding video (TR4)
      3. ARM CPU(SoCKit开发板)进行Header加载
        Add PPS, SPS, Slice Header by ARM CPU (SoCKit)
      4. ARM CPU(SoCKit开发板)完成RTSP网络打包,并发送给客户端PC主机
        Packing video stream to RTSP by ARM CPU (SoCKit), send it to client PC
      5. 客户端PC主机用VLC播放器进行解码播放
        The client PC decode bitstream and display it by VLC player.
      posted in 新闻文档 | News & Documents
      B
      bo
    • 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 ;
      
      posted in 新闻文档 | News & Documents
      B
      bo
    • 首款开源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
      img

      posted in 新闻文档 | News & Documents
      B
      bo
    • 关于这个开源项目 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
      img

      posted in 新闻文档 | News & Documents
      B
      bo
    • 稍后出FPGA Demo视频

      FPGA相关Demo 视频稍后放出

      posted in 交流讨论 | General Discussion
      B
      bo
    • RE: H.265 Video Encoder IP RTL Simulation 方法

      @tomash 这个是QP值。目前版本代码没有码率控制,需要自行添加一个模块来实时改变QP就行

      posted in 新闻文档 | News & Documents
      B
      bo
    • RE: 请问HEVC的IP CORE和HM比的话性能如何

      硬件编码性能肯定不能跟HM的性能比的。HM穷举起来一定能搜索到最优的模式组合,而硬件为了实时性要求一定是采用快速算法牺牲掉编码性能的。 intel和海思都是大厂,据我了解海思做H.265的都几百人的团队,他们的芯片也仅能做到差30%~50%的话,目前应该不存在差HM10%的硬件编码器。

      posted in 交流讨论 | General Discussion
      B
      bo
    • xkAVC Encoder (K3) Evaluation IP Core Released

      Introduction

      xkAVC Encoder (K3) is a video encoder support H.264/AVC standard. K3 is based on Xilinx FPGA platform (ZCU102 Dev. Board), and it support 1080p60 realtime video encoding. K3 includes a series of subset IP cores, such as K3.ie (Intra-only Encoder),K3.pe(Intra+Inter Encoder),K3.id(Intra-only Decoder),K3.pd(Intra+Inter Decoder) .

      Download
      http://xk.openasic.org/product/3

      posted in 代码发布 | OpenASIC Code Release
      B
      bo
    • RE: H265顶层接口变量代表的意思

      这个我们未来会整理一个更详细的使用说明文档。
      目前你可以参考testbench的接口设计方法来做

      posted in 交流讨论 | General Discussion
      B
      bo
    • 1 / 1