为何图像和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动态重构技术和GSM通信技术实现FPGA远程动态重构

提出了一种FPGA远程动态重构的方法,结合FPGA动态重构技术和GSM通信技术来实现。利用GSM技术实现配置数据的无线传输,在单片机控制下将数据存储于CF卡中。在内嵌硬核微处理器PowerPC405控制下,FPGA通过内部配置存取端口读取CF卡中新的配置数据,对可重构区进行配置以实现新的功能。

英特尔产能短缺,在10nm制程上遇到了什么问题?
英特尔产能短缺,在10nm制程上遇到了什么问题?

由于在10nm制程上遇到问题,英特尔正在努力保持14nm晶圆供应,并且采取第一项措施来避免硅短缺。英特尔选择了不同的工艺生产大批量的硅片,首先获得此待遇的是英特尔芯片组芯片。

一种基于FPGA的整数分周比实现方法

电动机是各类数控机床的重要执行部件。要实现对电动机的精确位置控制,转子的位置必须能够被精确的检测出来。光电编码器是目前最常用的检测器件。光电编码器分为增量式、绝对式和混合式。其中,增量式以其构造简单,机械寿命长,易实现高分辨率等优点,已被广泛采用。

先学好PCB技术才能更好学习FPGA

今天的电子技术几乎是数字逻辑的天下,虽然传感器、模拟电路等也非常重要,但从比重上来讲,无疑越来越多的处理、算法都将在数字领域实现。

英特尔、AMD、英伟达的“芯片三国”

芯片巨头的战场从来都不寂寞,在激烈的捉对厮杀中,英特尔、AMD、英伟达这场三国大戏已经延续了数十载。

更多资讯
C++中使用命名空间加作用域解析符::指定该变量

命名空间主要解决命名冲突的问题。命名空间可以存放类、对象、函数、变量、结构体等。假如要使用命名空间中的变量或者对象,那么使用using namespace来指定某个命名空间,释放该命名空间中所有的变量或对象等。

高云半导体新增两款小尺寸集成大容量DRAM的FPGA产品

中国广州,2018年9月17日,广东高云半导体科技股份有限公司(以下简称“高云半导体”)今日宣布,高云半导体小蜜蜂家族新增两款集成大容量DRAM的FPGA芯片,分别是GW1NR-LV4MG81 与 GW1NSR-LX2CQN48,其设计的初衷是实现低功率、小封装尺寸和低成本等特性。

FPGA设计要点大汇总,你都注意到了吗?

FPGA的用处比我们平时想象的用处更广泛,原因在于其中集成的模块种类更多,而不仅仅是原来的简单逻辑单元(LE)。

基于FPGA的简易电压表设计

传统的数字电压表设计通常以大规模ASIC(专用集成电路)为核心器件,并辅以少量中规模集成电路及显示器件构成。这种电压表的设计简单、精确度高,但是由于采用了ASIC器件使得它欠缺灵活性,其系统功能固定,难以更新扩展。

FPGA学习技巧分享

在学习一门技术之前我们往往从它的编程语言入手,比如学习单片机时,我们往往从汇编或者C语言入门。

Moore8直播课堂
电路方案