×
家电数码 > 数码产品 > 详情

用于便携式多媒体SoC的视频处理方案

发布时间:2020-06-06 发布时间:
|

强烈的消费需求以及与便携式多媒体设备相关的技术进步向制造商提出了诸多挑战,即要求在更小、更便宜和通用性更强的产品中继承更多的功能和业务。为了理解如何设计出真正有价值的和满足这一市场需要的差异化产品,首先必须了解目前典型的多媒体设备所能够实现的各种技术:

1. 多媒体。多种视频、音频和图像编解码标准,如H.264、VC-1、MPEG-4、AAC、MP3、JPEG;

2. 无线。GSM或CDMA、WCDMA、TD-SCDMA、1xEV-DO、WiMAX;

3. 图形。包括用于游戏和高级图形用户界面的二维和三维图形;

4. 语音识别。几乎是市面上任何一台新手机中的标准配置功能;

5. 基于连结和定位的技术。比如包括天线、射频和基带处理在内的蓝牙,以及GPS、Wi-Fi、UWB、WiMAX等。

在为SoC设计视频引擎时,引擎必须支持许多不同的应用和标准,比如:

1. 采用H.264、MPEG-4、VC-1或MPEG-2标准的视频回放/记录(电影、剪辑、Podcasts等);

2. 采用H.263(MPEG-4短报头)或H.264标准的视频会议;

3. 采用H.264或VC-1标准的移动电视。

更进一步,在与目前的便携式多媒体设备相关的各种视频标准中,还存在许多内容类型和文件格式。

1. 文件格式:3gp、m4v、mpg、avi等。

2. 内容类型:

a. 基于文件。当播放或记录存储在设备本地存储器中的剪辑和电影时使用;

b. 视频流。用于播放通过运营商网络传输的剪辑;

c. 广播。用于移动电视;

d. 交互。允许用户与多媒体内容进行交互。

为了在便携式多媒体SoC中支持上述所有的视频标准和内容类型,有三种可用的方案:硬件加速、视频协处理器和通用处理器(DSP/RISC)。

硬件加速——规模小且效率高

硬件加速只执行一个特定标准(通常是单个标准)的单一功能(编码或解码),具有最高的效率和较少的门数。研发时,不同的SoC只有在功能完全相同时才能复用。例如,当加速器支持以VGA分辨率编码的MPEG-4简单格式时,需要大约15万个等效二输入与非门,而当加速器需要同时支持MPEG-4(简单格式)和分辨率为D1的H.264(基线格式)编码时,则需要完全重新设计,需要大约35万门。

图1给出一个SoC的推荐架构,其中包括了视频硬件加速器,用于音视频处理的DSP引擎,还有一个CPU用来实现音视频之间的同步,并执行其它的日常工作和系统任务。


图1:采用硬件加速器的系统架构示意图。

采用硬件加速器具有以下几个优点:

1. 规模。只执行固定的操作,不包括任何指令处理(存取、解码),也没有程序存储器管理。因此门数较少。

2. 功率。由于门数较少、效率高,因此功耗较小。

3. 性能。这是一项效率非常高的实现方案,按执行时间计算该方案运行较快。

但是该方案也有如下一些缺点:

1. 只能处理视频。当采用硬件加速器时,多媒体中的音频和语音部分必须由SoC中的其它部分来处理(通常是CPU或DSP);

2. 音视频之间的同步必须在CPU上进行。在CPU上实现同步增加了研发难度、集成难度和QA;

3. 功率耗散。当采用硬件加速器时,CPU通常执行算法的信息编码(如CAVLC)和后处理(如解锁滤波器),这使得方案耗费的功率极大(在大约150MHz的载荷上,一个ARM11内核消耗的功率就高达120mW);

4. 软件升级和缺陷修复。无法通过软件升级的方法来隔离或修复缺陷,这通常导致重新流片;

5. 新一代的产品。一个在SoC中执行特定任务的硬件加速器似乎不能满足下一代的需求;

6. 存储器。在SoC中,加速器专用存储器不易被其它元件访问,因此从成本和硅片面积的角度上来看效率较低。

一些硬件加速器能够支持多种标准的解码(如H.264基线格式和MPEG-4简单格式)。尽管这些加速器更有用,却丢掉了门数少这个主要优点。[page]

视频协处理器——多标准视频引擎

视频协处理器以可编程的方式支持不同的视频标准,通常执行解码和编码处理。基于视频协处理器的架构规模通常比基于硬件加速器的规模要大(40~50万门用于视频协处理器)。但是,视频协处理器在支持多视频标准时有较大的应变能力。

对于视频协处理器来说,基本上有以下两种不同的模型:

1. 混合模型。由专用的CPU和附加的硬件模块一起构成视频协处理器,实现视频加速功能;

2. 专用视频核。一种多标准视频引擎。该方案比混合模型效率高,不过视频核(与前种模型不同)没有任何CPU的功能,因而只能进行视频处理。

图2是面向SoC的一个推荐架构,它包括一个执行编解码功能的视频处理器、一个用于音视频处理的DSP引擎和一个实现音视频间同步以及其它常见任务和系统任务的CPU。


图2:采用视频协处理器的系统架构示意图。

采用视频协处理器的主要优点为:

1. 支持多标准。支持多种视频编解码格式而无需硬件扩展;

2. 可升级性。同一平台可支持不同的分辨率和帧率;

3. 规模。该方案的规模通常位于硬件加速和专用处理器之间;

4. 缺陷修复。与硬件加速器不一样,该方案可以通过软件升级来隔离缺陷(不需要重新流片)。

但是,该方案也存在如下缺点:

1. 无语音处理能力。该方案专门用于视频处理,不包括音频处理和音视频同步的硬件支持(例如TDM端口、面向音频的操作等);

2. 存储器专用。视频协处理器所用的存储器不能够用于SoC中除视频处理以外的其它任何操作;

3. 编程复杂。采用混合模型的系统包括两个CPU(不一定是同一类型),因而带来了为使它们一起工作而如何编程的问题(整合、数据流以及通讯协议等);

4. 只能处理视频。视频协处理器不能执行SoC中的其它任何任务;

5. 不支持未来的视频标准。视频协处理器是为特定的视频标准而设计的,新标准需要额外的视频资源。

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

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

就规模来讲,一般通用处理器所需的门数要比前两种多。但是,系统中这样的处理器可以复用,可以在并行执行基带处理任务、定位(GPS)或管理蓝牙连接的同时,对其它任意数据流进行解码或编码。

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


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


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

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

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

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汇编代码):

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

DSP卸载——数据管理引擎

几乎在所有多媒体应用的SoC设计中都有一个DMA引擎,它最重要的任务是执行片内外绝大多数数据的传递,同时访问所有可用的资源,包括存储器、I/O口、外设和总线桥。这样,DMA引擎就能从DSP上卸载部分数据管理任务,从而使得DSP能集中于多媒体处理功能。

二维和三维DMA通道能够收集存在存储器不同位置上的分散数据(来自不同的帧),并将其作为一个单数据块送入DSP进行处理。

在图5中,三维DMA通道在无需DSP任何干预的条件下,可以允许DMA收集宏数据块。


图5:数据管理引擎实例。

通过编程DMA在3个分离维度上的不同步幅和不同单元数量,下面的数据传送可以完全独立于DSP实现。

算法加速

可以通过纯算法来实现额外的加速,这样做可以在视频处理流水线中产生一条“捷径”,并且DSP功耗也较低。这种加速算法的一个例子是来自CEVA公司基于先进图形识别算法的FST专利技术。利用该技术可以避免多媒体编解码构件模块的“强力(brute-force)”软件实现,从而获得更快的编解码实现,而且功耗也较低。

该加速算法能够使视频处理性能大大加速,相对于传统的编解码实现方案来说,性能最大可以提高到十倍。

CEVA Mobile-Media2000——将上述所有优点集于一身

CEVA Mobile-Media2000的方案是一个基于通用处理器的多媒体平台。它利用上述各项技术开发出了一个真正的多媒体引擎,能够在视频处理以外处理多种任务。运行频率为370MHz(在TSMC 90nm G上,最坏的工作和处理条件),Mobile-Media2000能够以低于150MHz的频率解码30帧、D1分辨率的H.264 BP。这是依靠专用的视频指令和CEVA的专利技术——软件加速算法(FST)来实现的。

SoC中其它任务可以复用Mobile-Media2000的能力对用户来说也是极其有益的。相同的内核架构可以被用来研发各类市场上的不同产品,例如具有移动电视功能的个人导航设备,或具有WiMAX连接能力的便携式多媒体播放设备。这些设备都可以在SoC中复用相同的CEVA DSP处理器,来实现多种不同的功能,从而降低成本并平衡研发投资,在不同的市场和应用中获取增量收入。

Mobile-Media2000基于CEVA-X1620 DSP核,并整合了硬件平台,即一整套优化的编解码和应用框架层。CEVA-X1620是一个开放架构DSP,用户只需通过软件就可以方便地差异化或定制他们的移动多媒体方案,不需要任何的硬件升级或重新流片。

本文小结

随着新的和更多标准的引入,在研发带有多媒体功能的SoC时所遇到的挑战正变得更加复杂。有许多方案可以用来处理多媒体。而所有这些方案可以被划分为三大类:硬件加速器类,视频协处理类和通用处理器类。CEVA公司推出的基于通用处理器的Mobile-Media2000方案,具有专用的视频指令和一个功能强大的三维DMA,并利用专用的FST,因而使得这一方案成为能够适应当今视频处理多样性和多任务环境的最佳选择。

 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
法国决议拆除华为设备:曾表示华为不会被法国排除在外