不支持Flash

用于便携式多媒体 SoC视频处理方案分析(4)

http://www.sina.com.cn 2007年03月29日 14:24 中关村在线

  通用处理器(DSP/RISC)——真正的多任务引擎

  通用处理器是一种可编程的方案,能够在同一个硬件平台上并行支持多种应用。当选择通用处理器时,系统集成商主要有两种选择,即DSP核和RISC核。对于RISC核,由于缺乏运算功能、存储器带宽有限以及缺少面向视频的指令,因而不太适合执行视频处理或其它复杂的数学运算任务。例如,当对以D1分辨率编码的视频(如H.264)进行解码时,对于一个32位的RISC核来说,所需的处理能力可能是一个双MAC DSP(如CEVA-X1620)的10倍。

  就规模来讲,一般通用处理器所需的门数要比前两种多。但是,系统中这样的处理器可以复用,可以在并行执行基带处理任务、定位(GPS)或管理

蓝牙连接的同时,对其它任意数据流进行解码或编码。

图3和图4给出了采用通用处理器的SoC推荐架构。

用于便携式多媒体SoC视频处理方案分析(4)

图3:采用带CPU的通用DSP系统架构示意图
用于便携式多媒体SoC视频处理方案分析(4)

图4:采用不带CPU的通用DSP系统架构示意图。

  在其中一种配置中包括一个通用处理器。图3中包括一个用于多媒体处理的DSP和一个用于日常工作和系统任务的CPU。而图4则只有一个单处理器(带有RISC能力的DSP),该处理器执行多媒体处理和CPU的日常工作。

  通用处理器方案的主要优点如下:

  1. 支持多标准。这些处理器支持各种视频标准,以及各种分辨率和帧率。所有的参数可以通过软件来定义。同一硬件平台可以运行帧率为15fps的QVGA分辨率,也能运行帧率为30fps的D1分辨率;

  2. 音视频同步。DSP能够处理不同种类的音频编码,并能处理音视频间的同步。当同步在DSP上进行时,多媒体任务就可以从CPU上卸载,或者系统中可以根本不用;

  3. 非视频操作的复用。除了视频处理之外,通用处理器还能够执行很多其它工作;

  4. 支持下一代产品。采用同一平台可以支持未来的各代产品,这就使得SoC设计师能够很容易地支持其消费产品路线图。

  该方案同样也具有以下缺点:硅片面积大-可编程性将不可避免地需要较大的裸片面积。由于能够在视频处理之外执行多种其它任务,从而导致了一些并不用于视频处理的功能模块。不过,由于使用通用处理器而增加的面积可以通过从系统中去掉CPU来弥补,或者可以采用只能带低处理载荷的小规模CPU。

  对用于视频处理的通用处理器进行加速

  有以下几种方法可以帮助提高通用处理器的效率(性能):

  1. 采用专用指令来更好地利用DSP引擎;

  2. 从DSP上卸载所有的数据传输操作,使其专门用于视频处理;

  3. 算法加速。利用独特的软件算法来旁路掉常规的详细运算。

  视频指令——DSP中的多媒体建构模块

  专用的多媒体指令能够大大加速纯软件多媒体实现。下面给出了一部分指令和程序结构,他们可以被嵌入到通用DSP中,专用于加速多媒体功能:

  1. 绝对差分。用于运动估计和解锁滤波器;

  2. 四分平均。用于1/2或1/4像素运动补偿;

  3. 分类字节。用于非线性滤波器和预/后处理;

  4. 字节加/减。用于DCT、运动重建、1/4像素滤波器、对称滤波器、运动估计和解锁滤波器;

  5. 排列数据剪辑(对字节或字的动态范围)。用于环内解锁滤波器。

 下面是用于H.264环内解锁滤波器的代码例子,采用了专用的4路SIMD视频指令(CEVA-X1620汇编代码):

用于便携式多媒体SoC视频处理方案分析(4)

  上面的样本代码描述了在视频后处理中将VLIW与SIMD结合在一起的用法。该例中,'4b' SIMD指令用于操作4个不同且相互独立的字节数据。在上面的样本代码中有两个指令数据包都包括有5个并行指令(VLIW),其中4个是4向SIMD指令,可在一个单周期中实现17个并发操作。

[上一页] [1] [2] [3] [4] [5] [下一页]

本文导航:
·前言
·硬件加速
·视频协处理器
·通用处理器
·DSP卸载

发表评论
爱问(iAsk.com)
相关网页共约16,200,000
不支持Flash
 
不支持Flash