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写出重建像素。

你可能感兴趣的:(音视频)