转载自:https://bbs.huaweicloud.com/blogs/156199, 作者:山人

【摘要】 HFBC格式是一种数据压缩格式,是VDEC解码后输出的每一帧数据的格式(Hisi Frame Buffer Compress),而对此格式进行解压缩由VPC完成,因VDEC和VPC是两个独立模块,所以用户在使用过程中可以看到HFBC数据。

HFBC格式是一种数据压缩格式,是VDEC解码后输出的每一帧数据的格式(Hisi Frame Buffer Compress),而对此格式进行解压缩由VPC完成,因VDEC和VPC是两个独立模块,所以用户在使用过程中可以看到HFBC数据。

为什么要有HFBC格式呢?

因为VDEC解码每一帧后,将此帧图像进行HFBC压缩之后再写入内存,既可以降低写入内存的数据量,又可以减少输出此帧的耗时,从而获取更高解码性能。

举例:如下图,比如此帧图像分辨率为19201080,正常一帧图像大小为19201080*3/2=3110400‬B,所以需要写入内存的数据量为3110400B,而经过HFBC压缩后(一般压缩率为50%),写入内存数据量仅有1555200B,所以既减少了写入内存的数量,也减少了写入内存的耗时,从而性能更高。

怎么使用HFBC格式更优?

因用户最终需要的是YUV数据,而VDEC输出的是HFBC数据,所以用户需要调用VPC模块对HFBC数据进行解压缩得到YUV数据。而一般场景下,用户最终想要的是送入网络大小的图(比如224x224),并不是原始图像(比如1920x1080),所以当VDEC解码后输出每帧HFBC数据后,用户可以将HFBC数据送入VPC并同时配置好resize/crop参数,驱使VPC直接输出需要的图像数据,即一次性完成【HFBC解压缩+resize/crop】操作,这样是最佳使用方式。

若用户需要原始图像,则VDEC输出HFBC格式相比VDEC直接输出YUV格式并没有优势(因为VDEC输出HFBC后,还需要VPC读入HFBC数据解压缩后再输出YUV数据),但当前芯片VDEC不能直接输出YUV数据,所以只能使用HFBC格式数据给VPC进行处理。

【Atlas500】入门到放弃(六)——【DVPP】浅析HFBC格式数据存在的意义相关推荐

  1. System Generator从入门到放弃(六)-利用Vivado HLS block实现VivadoHLS调用C/C++代码

    System Generator从入门到放弃(六)-利用Vivado HLS block实现Vivado HLS调用C/C++代码 夜未央,流星落,情已殇 文章目录 System Generator从 ...

  2. keras从入门到放弃(六)多层感知器(神经网络)

    多层感知器(神经网络) 从线性回归模型和对数几率回归模型本质上都是单个神经元 计算输入特征的加权 使用一个激活函数计算输出 单个神经元(二分类) 多和神经元(多分类) 但是单层神经元有缺陷 无法拟合& ...

  3. JavaScript从入门到放弃 -(六)正则表达式

    正则表达式 1. 正则表达式概述 1.1 什么是正则表达式 1.2 正则表达式的特点 2. 正则表达式在JavaScript中的使用 2.1 创建正则表达式 2.1.1 通过调用 RegExp 对象的 ...

  4. GPS从入门到放弃(二十六) --- RTKLIB函数解析

    GPS从入门到放弃(二十六) - RTKLIB函数解析 为了贴合这个系列的标题"从入门到放弃",在入门之后现在就要放弃此方向了.虽然感觉遗憾,暂时也没有办法.在此附上此系列最后一篇 ...

  5. GPS从入门到放弃(六) --- 开普勒轨道参数

    GPS从入门到放弃(六) - 开普勒轨道参数 开普勒轨道参数是用于描述卫星轨道的,GPS卫星的无摄椭圆轨道运动就是用开普勒轨道参数来描述.参考GPS导航电文,电文中的星历和历书都是用开普勒轨道参数来描 ...

  6. AutoLisp从入门到放弃(六)

    AutoLisp从入门到放弃(六) 一.获取图元属性信息 二.修改图元属性信息 本章主要讲解如何通过AutoLisp代码查看.修改实体的所有属性信息,即图元信息. 一.获取图元属性信息 如果你是一个C ...

  7. 跳过php学thinkphp,PHP学习-ThinkPHP《从入门到放弃》(六)

    此次学习主要遇到的问题,502问题: 1.在PHPStorm中试图修改PHP解释器的路径(项目下边External Libraries/偏好设置中的-Language & framework- ...

  8. AI从入门到放弃2:CNN的导火索,用MLP做图像分类识别?

    来源 | 腾讯知乎专栏 作者 | AIoys(腾讯员工,后台工程师) 项目文档和代码在此:github项目地址: https://github.com/zsysuper/AI_Notes ▌一.前言 ...

  9. [Eclipse]GEF入门系列(六、添加菜单和工具条)

    我发现一旦稍稍体会到GEF的妙处,就会很自然的被它吸引住.不仅是因为用它做出的图形界面好看,更重要的是,UI中最复杂和细微的问题,在GEF的设计中无不被周到的考虑并以适当的模式解决,当你了解了这些,完 ...

最新文章

  1. Pyserial 实现串口 base on python3
  2. 使用Django1.11创建简单的资产管理平台
  3. 软件工程第一周开课博客
  4. 心电图多少为正常范围_研究:心跳超过70次/分,至少减寿3年!正常心率范围是多少?...
  5. c语言枚举代替双switch,C语言 使用数组代替switch分支语句降低圈复杂度
  6. JSADS-日志对象MyLogger
  7. CollectionBase的使用
  8. jsp可以存放java代码和js代码
  9. 深入解读Linux进程调度系列(1)——调度的初始化
  10. JS获取Audio音频的实时时间
  11. C/C++编程:#pragma once用法总结
  12. CSS样式div和img居中
  13. lilo是什么意思_Lilo
  14. 上古卷轴5 Papyrus的LOG日志分析,科学解决ctd,bug的方法
  15. windows网络排查
  16. 程序员用300行代码,让外婆实现语音搜索购物
  17. sinon.js基础使用教程---单元测试
  18. 模拟两个神经元的连接,突触前神经元分别传递兴奋性和抑制性信号给突触后神经元(神经元模型使用HH方程)
  19. 从零开始开发一个自动抓取教务系统课表等信息并动态显示的安卓课程表APP,原理分析及功能实现完美教程
  20. java蓝桥杯练习 幸运数

热门文章

  1. 泛函分析简列:度量空间之列紧集
  2. live555与rtsp
  3. java 蓝桥杯 奇怪的数列
  4. unity打包游戏后物体的移动速度不一样?
  5. 移动硬盘安装Kali所碰到到问题
  6. VMware Workstation Pro 16 XP home edition安装(ISO文件最底下)
  7. z怎么搭建linux网站,Linux znew初学者命令实例教程
  8. 谷粒商城 高级篇 (七) --------- 性能压测
  9. 某位算法工程师对自己工作的反思
  10. 巴菲特午餐终局谜题何时揭晓,中标者是不是孙宇晨?