为何图像和FPGA更配?揭秘背后的技术要素

2017-11-23 17:27:15 来源:腾云阁
标签:
FPGA   微信   CPU   图像

 

背景
“No PP,No WAY”这是个眼见为实的世界,这是个视觉构成的信息洪流的世界。大脑处理视觉内容的速度比文字内容快6万倍,而随着智能手机的普及,图片、视频的产生和分享已经是人们在社交平台上的基本交流方式。用户通过手机、平板、电脑上传和分享自己的图片,而且这个趋势是每年都在增长(参见图1)。
 
图1. 2016年KPCB统计报告[1]
 
每天QQ相册、微信朋友圈上,用户上传的图片数量有上亿张,这些图片被后台服务器存储下来,再通过网络分发出去。如果每张图片可以进行压缩,使得图片存储和传输分发的数据量越少,既节省了用户带宽,也提高了用户下载图片的速度,用户体验更好。那么图片是可以进行压缩的么?1948年,信息论学说的奠基人香农曾经论证:不论是语音或者图片,由于其信号中包含很多的冗余信息,所以可以对其进行压缩。图像压缩算法有:JPEG、WEBP、H264(帧内压缩)、HEVC(帧内压缩),压缩能力是:JPEG < WEBP/H264(帧内压缩) < HEVC(帧内压缩), 这个压缩能力是通过计算复杂度的提高来实现,其中WEBP、HEVC的计算复杂度是 JPEG 压缩的 10 倍以上。 目前在社交平台上用户上传的大量图片是JPEG格式,通过后台服务器用更加复杂的算法如WEBP、HEVC(帧内压缩),进一步压缩以节省存储和带宽, 所以对图像的压缩,从本质上是通过提高计算算力来降低存储和带宽。同时更加复杂的算法也带来计算算力的大量消耗和处理延时的增加。
 
从业务角度来看,对于离线业务,可以通过业务在波峰和波谷之间闲置的计算算力进行图片转码处理;但对于在线业务,图片转码处理对于处理延时的要求就会有较高要求,为了满足处理延时的要求,有时候会先进行图片转码处理,把转码好的图片存储下来,当用户需要的时候直接传输,这样通过消耗存储资源为代价来解决处理延时的要求。但是这又带来一个新问题,用户查看图片的智能终端屏幕大小不一,如果都传同样大小的图片,显然不是最优。最优处理方法还是能够通过计算算力,实时进行图片转码处理。
 
在数据中心里面,计算算力通常由x86 CPU来提供,以前的x86 CPU性能每18个月就能翻倍(众所周知的“摩尔定律”),但目前工业界的发展方向是摩尔定律已经走到终点。例如,2016年3月24日,英特尔宣布正式停用“工艺年-架构年(Tick-Tock)”处理器研发模式,未来研发周期将从两年周期向三年期转变。而国际半导体技术发展路线图(International Technology Roadmap for Semiconductors,简写 ITRS)在维持了数十年,每两年更新一次,为全世界半导体行业提供建议和规划指南,也在2016年宣布不再做进一步的更新。
 
一方面处理器性能再无法按照摩尔定律进行增长,另一方面数据增长对计算性能要求超过了按“摩尔定律”增长的速度。处理器本身无法满足高性能计算(HPC:High Performance Compute)应用软件的性能需求,导致需求和性能之间出现了缺口(参见图2)。
 
图 2. 计算需求和计算能力的缺口发展形式
 
图像处理解决方案
图片服务支持的能力丰富多样,基础功能包括多种缩略剪裁方式、文字图片水印、格式转换、断点续传、镜像存储、防盗链等。我们结合当前图文时代的用户需求,提供图片的上传、存储、处理、分发的全方位一体化的解决方案。目前,互联网图片服务的解决方案中落地存储和下载大部分图片格式还是JPEG/WEBP,但随着新的编码标准HEVC的出现,在同等图像质量下,HEVC的压缩效率会比JPEG/WEBP好30%~70%,可以节省大量的存储和带宽,但是HEVC的算法复杂度高导致CPU的编码延迟和吞吐在线上环境中无法满足,因此,我们开发了基于FPGA的新的解决方案。FPGA图像处理方案可以很好的解决线上环境的需求,当然,FPGA图像处理解决方案也兼容当前用户线上系统的WEBP等其他图像转码格式,可以很好的适应不同用户的需求,提供低延迟,高吞吐,低成本的解决方案。
 
我们以HEVC FPGA 图像处理为例,来说明在互联网业务中图片上传,存储,处理和下载的架构。
 
图3. HEVC FPGA 图片上传存储,处理,下载解决方案
 
如图3所示,图片HEVC FPGA转码的部署主要是落地存储前以及下载前的转码服务器,使用FPGA做转码主要有以下优势:
 
FPGA转码落地存储HEVC,可有效节省存储成本。 
 
1. FPGA转码服务器和CPU转码相比可以降低服务器成本。
 
FPGA转码HEVC图片和CPU相比吞吐量可以大大提高。
 
在下载时实时生成HEVC图片,使用FPGA进行图片转码加速,会大大降低转码延迟,提高用户体验。
 
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
 

 

继续阅读
通过单片机控制数据流对FPGA进行编程配置

基于FPGA基本数据流的下载控制方式,利用遗传算法,通过单片机控制数据流的方式对FPGA进行编程配置,实现自身重构,使系统具有自适应、自组织和自修复的特性。

ARM Cortex-A76的野心,要与英特尔争夺CPU江湖?

在连续创造惊人的数字之后,ARM的目光更为长远。据最新数据显示,截止2017年底基于Arm的芯片出货量已达1200亿片,约占整体市场四成份额。

Digi-Key 推出微信反馈送礼品卡活动

全球电子元器件分销商 Digi-Key Electronics 向试用 Digi-Key 微信官方帐号零件搜索功能并提供评价的用户赠送星巴克礼品卡。

升级固件写FLASH如何避免让FPGA发生意外?
升级固件写FLASH如何避免让FPGA发生意外?

FPGA配置两种模式:主动配置和被动配置方式,采用主动配置下,我们就需要一片FLASH来存储FPGA固件,那么我们在升级固件写FLASH的过程中如何避免因意外情况发生导致升级失败而使FPGA变砖呢?下面就由笔者带领大家来挖山掘石、一探究竟。

微信在中国越成功越进不去美国市场

部分在美国呼风唤雨的公司已经进入中国市场,但是一到中国,他们的超能力就消失不见了。Uber、Amazon、Apple 只是其中的几例代表。

更多资讯
搞懂数据分析中因变量和自变量之间的关系

回归模型有多种,一般在数据分析中用的比较常用的有线性回归和逻辑回归。其描述的是一组因变量和自变量之间的关系,通过特定的方程来模拟。这么做的目的也是为了预测,但有时也不是全部为了预测,只是为了解释一种现象,因果关系。

树莓派 3B 接MPU6050方法 以及ROS应用
树莓派 3B 接MPU6050方法 以及ROS应用

主要是ROS应用,不多说了,可能要你自己重新编译工作空间的话,可以选择性的只编译这个包就行了。

典型的SDSoC设计开发的几个步骤
典型的SDSoC设计开发的几个步骤

类比到FPGA SoC的应用开发中,用户最关注的部分往往是算法的最终实现和算法模块的优化——包括IP或是软件功能块——SDSoC的设计理念正是让用户能够更加专注于这些核心问题,其他问题SDSoC帮你搞掂。从这个意义上看,SDSoC在“简单”的背后确实不简单。

HDL仿真器基于事件的仿真算法
HDL仿真器基于事件的仿真算法

目前,HDL仿真器主要有三种实现算法(机制):基于时间的算法(Time-Based)、基于事件的算法(Event-Based,EBS)和基于周期的算法(Cycle-Based,CBS)。

当FPGA越来越像SoC,FPGA跟ASIC还有啥区别
当FPGA越来越像SoC,FPGA跟ASIC还有啥区别

随着处理器被添加到传统FPGA中,可编程性被添加到ASIC中,FPGA和ASIC的分界线日益模糊。

Moore8直播课堂
电路方案