基于KeyStone DSP的多核视频处理技术
QCIF 通道。但是,以如此数量级实现的可扩展性是一大挑战。 为了符合高可扩展性要求,必须采用可编程的硬件解决方案。部分视频应用要求处理器具有极高比特率的信号输入与输出,因此,基于处理器的解决方案必须拥有可支持足够外部接口的理想外设。这种处理器必须具备足够的处理能力,可处理实时的高清高质量视频,同时还需配备足够的本机资源,如快速存储器、内部总线和 DMA 支持等,以使处理器的处理能力获得高效利用。 单内核 DSP 具有高度的灵活,能够高效执行各种算法。DSP 不仅能够处理话音、音频、视频,还可以执行其他功能。但是,由于单内核 DSP 的计算能力不足,因而不能自由地处理任何分辨率的实时视频,而只能处理 SQCIF、QCIF 以及公用中分辨率格式 (CIF) 等较低分辨率的视频;而且,单内核 DSP 的功耗也使其无法应用在高密度视频处理系统中。 新型的多内核 DSP 具备非常高的处理能力,且其每次运行的功耗也比单内核 DSP 低。为了确定多内核处理器对于通信基础局端而言是否能够成为有效的硬件解决方案,需要对其接口、处理性能、存储器要求以及多内核合作与同步机制针对各种不同的使用案例进行符合性验证。 2.1 外部 I/O 接口 典型转码应用的比特流是以 IP 数据包形式进行打包。转码应用所需的带宽与分辨率以及用户所需网络的可用带宽相关。以下针对单通道消费类质量 H.264 编码视频流作为分辨率函数时列出的公用带宽要求: 转码应用所需的总外部接口是输入媒体流与输出媒体流所需带宽的总和。为了支持多个 HD 分辨率通道或大量较低分辨率通道,至少需要一个串行千兆位介质独立接口 (SGMII)。 非转码视频应用涉及从 YUV(或同等)域对原始视频媒体流进行编码或解码。原始视频流具有较高的比特率,且通常通过 PCI、PCI Express 或串行快速输入/输出 (SRIO) 等高比特率的快速多通道总线直接从处理器输入或输出信号。 以下列出了使用 8 位像素数据和 4:2:0 或 4:1:1 配色方案传输 YUV 域中单通道原始视频流所需的带宽: 因此,可对 4 个 1080i60 H.264 通道进行解码的处理器要求能够支持超过 4 Gbps 速率的总线,从而可假定总线的利用率为 60%。 2.2 处理性能 在可编程处理器的 H.264 通道上进行视频处理所需的处理性能取决于众多参数,其中包括分辨率、比特率、影像质量以及视频剪辑内容等。本章不仅将讨论影响周期消耗的因素,而且还将给出普通应用实例平均周期消耗的经验法则。 与其他视频标准一样,H.264 仅定义解码器算法。对于既定编码媒体流而言,所有的解码器都可生成相同的 YUV 视频域数据。 因此,解码器不决定影像质量,而由编码器决定。不过,编码器质量能影响解码器的周期消耗。 熵解码器的周期消耗取决于熵解码器的类型和比特率。H.264 MP/HP 为熵解码器定义了两种无损算法,即上下文环境自适应二进制算术编码 (CABAC) 和上下文环境自适应可变长度编码 (CAVLC)。CABAC 能提供更高的压缩比,因此,比特数相同时影像质量会更佳,但相比 CAVLC 在每个媒体流比特上约多消耗 25% 的周期。用于解码 CABAC 或者 CAVLC 媒体流所需的周期量是比特数的一个非线性单调函数。 所有其他解码器功能的处理负载均是分辨率的函数。更高分辨率需要更多的周期,几乎与宏模块的总数量呈线性关系。视频流内容、编码器算法与工具能在一定程度上影响解码器的周期消耗。附录 A – 解码器性能依赖性 (Decoder Performance Dependency) 列举了可能会影响解码器周期消耗的编码器算法和工具。 在可编程器件上实施既定比特率的编码器需要在质量与处理负载之间进行权衡。附录 B – 运动估算与比特率控制 分析了可能影响编码器质量并消耗大量周期的两种编码器算法。 对于典型的运动消费类电子设备的高质量视频流而言,以下列表给出的经验法则,可用以判断常见使用案例中 H.264 编码器消耗的周期数。
- HyperLink编程和性能考量(01-15)
- 基于KeyStone 器件建立鲁棒性系统(10-29)
- 在KeyStone 器件实现IEEE1588 时钟方案(10-15)
- 基于多核处理器的弹载嵌入式系统设计研究(02-18)
- Navigator Runtime 最大限度提高多内核效率(05-08)
- KeyStone多核SoC工具套件: 单个平台满足所有需求(09-07)