K001 ENCP视频编码芯片
K001?ENCP是一款面向FPGA平台的极低代价,极高性能,中下质量的编码器。设计之初,K001?ENCP的面积约束是90%LUT?@ZCU102;?吞吐率约束是4K@30fps?ZCU102
????为了满足上述约束,K001?ENCP?采用了32x32?的LCU?和一条七级深度的LCU级流水线,如图3-4?所示,其中RDO和REC同处一级流水线;DBF?和SAO同处一级流水线,相比于更浅的五级流水线,7级流水线的有点事IME和FME?不需要公用一个LCU的处理周期。RDO,REC和DBF,SAO也不需要公用一个LCU的处理周期,而缺点是必须额外的付出?两份?原始像素的轮转缓存;?一份?参考像素的轮转缓存和一份?重建像素的缓存。另外,在FPGA平台上,像编码器这样的复杂IP,其最高频率一般较为受限,而且ZCU102?并不是一个高端的FPGA开发板,因此。根据经验和试跑的结果,将目标频率设定成140MHZ,而4K@30fps?@140M的吞吐率指标实际上也就意味着,每个LCU?的处理时间只有560个周期,综合考虑该周期约束和前面提及的面积约束后,K001?ENCP?不得不通过降低编码质量的方式来换取编码性能,因此K001?ENCP?只能提供一个中下水平的编码质量。
????????????????????REG??????????????????????????????????????????????????????CTL
EXT_RD??????RMD
??????????????FTH-->IME-->FME??-->(RDO?REC)??(DBF?SAO)??--->DMP?????????EXT_WR
???????????????????????????????????????????????????????????????????????E_C?????????????????????????????????????BS_O
???????????图3-4?K001?ENCP?的层次结构
编码帧内时
(1)第0级LCU流水线唤醒模块FTH?读入原始像素
(2)第1级LCU流水线唤醒模块RMD进行粗略模式估计。
(3)第2级LCU流水线轮空
(4)第3级LCU流水线将依次唤醒模块RDO和REC分别进行码率失真优化和重建。
(5)第4级LCU流水线一次唤醒模块DBF和SAO分别进行去方块滤波和样点自适应补偿优化。
(6)第5级LCU流水线将唤醒模块E_C进行墒编码并写出码流。
(7)第6级LCU流水线将唤醒模块DMP写出重建像素,
在编码帧间帧时。
(0)第0级LCU流水线将唤醒模块FTH读入原始像素和参考像素。
(1)第1级LCU流水线流水线将唤醒模块IME进行整像素运动估计,如果开启了工具Lip?第1级LCU流水线还将唤醒模块RMD进行粗略的模式估计。
(2)第2级LCU流水线将唤醒FME进行分像素预测
(3)第3级LCU流水线将依次唤醒RDO和REC分别进行码率失真优化和重建。
(4)第4级LCU流水线将唤醒DBF和SAO模块进行去块滤波和sao
(5)第5级LCU流水线将唤醒E-C模块进行墒编码并输出码流
(6)第6级LCU流水线将唤醒模块DMP写出重建像素。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!