• 免费注册   
  • 会员登录   
  • 设为首页
  • 加入收藏
  • 咨询热线:1388-225-1054

    在视频处理中,如何快速计算需要多少外部存储器

    * 作者 : admin * 发表时间 : 2018-08-23 * 浏览 :

    经常会有人问,处理21920x1080@60Hz的视频信号,需要挂多少片DDR2/DDR3,这其实是非常笼统的问法,这涉及到两个方面的问题,数据带宽和数据存储空间

    以上为例,假设视频数据格式为24bitRGB,首先确定视频数据的带宽F

    F =1920 x 1080 x 24bit x 60 f/s = 2.985984Gbps

    这是1920 x 1080@60Hz 24bit每秒占用的带宽,那么如何确定DDR2/DDR3的位数呢?我们不妨计算一片16 bit DDR3在时钟为300MHz的情况下数据带宽B

    B = 300Mhz x 16 bit x 2 = 9.6Gbps

    实际上DDR3的效率达不到100%,由于图像是block data,我们按照80%的效率来计算,DDR3实际可用带宽为

    B = 9.6Gbps x 80% = 7.68Gpbs

    视频图像的处理一般需要将视频图像先写进DDR3,再读出来,做 frame buffer,也就是一次读和一次写。于是我们基本上可以得出结论,一片16bit DDR3300MHz的情况下,可以完成1920 x 1080@60MHz (24bit/30bit)(30bit的带宽可以自己推算一下)一次读和一次写,也就是具有处理一通道的1920 x 1080@60MHz(24bit/30bit)的处理能力

    存储空间比较好算,由于DDR3的数据位宽为16bit,为方便处理,我们一般用32bit的空间存储24bit的数据(这样可以兼容30bitRGB)假设图像处理需要做double frame buffer,那么数据空间为P

    P = 1920 x 1080 x 32 bit x2 = 132.7104Mb(126.5625 x 1.024 Mb)

    但是存储器的空间必须是2的指数形式并且数据不是连续存储在DDR3里面的,我们可以用256Mb代替,也就是说一个1920 x 1080(24bit/30bit)的图像我们需要256Mb的空间做double frame buffer


    由此极易推算,21920x1080@60Hz的视频信号,一般需要216bitDDR3@300MHz,存储空间至少要512Mb。从而推理,44K@60Hz的视频信号,需要64bit DDR3 @1200MHz(当然这只是简单地读写,并没有考虑复杂的算法或者对算法以及效率进行优化)

    当我们得知720P的数据带宽约为1080P的一半时,我们很容易推算要处理8720P 需要挂64bit DDR3 @300MHz

    是不是变得很简单啦?










    --Stream Huang