Hexagon SDK部分模块架构分析

时间:2024-03-16 20:21:53

Hexagon SDK部分模块架构分析

    Hexagon SDK能够帮助用户定制和扩展对aDSP的使用。本文具体讲解SDK中比较有代表的性的模块的架构,以便我们更好的学习、研究和使用。

Audio
    音频框架提供了和音频硬件交互的端口。音频框架主要有三部分组成:encoders/decoders,pre/post processing topologies和 mixer。

    encoders/decoders(编解码器):能够对一个信号或者一个数据流进行变换的设备或者程序。每路流都包含编解码器;

    pre/post processing topologies(预处理/后处理拓扑结构):由一个或者多个后处理模块(PP)组成,根据他们被使用的路径可以分为四类:POPP(Per-Object Post-Processing)、COPP(Common-Object Post-Processing)、POREP(Per-Object Pre-Processing)和COPREP(Common-Object Pre-Processing)。

    mixer(混合器):定义了流如何连接到设备。

    音频结构如下图所示:

Hexagon SDK部分模块架构分析

FastCV
    通过使用优化后的FastCV动态库,允许用户开发DSP加速的计算机视觉应用程序。Hexagon SDK包含以下计算机视觉技术:

    lib/fastcv/fastcv: FastCV API的实现接口;

    lib/fastcv/dspcv: 本库提供用来调试aDSP性能的钩子函数。

    下图给出了用户如何使用FastCV库:

Hexagon SDK部分模块架构分析

    应用程序在init/de-init时需要分别调用dspCV_init和dspCV_deinit API,创建aDSP时钟和线程池。客户端应用程序被分为Apps处理器和aDSP,它们之间是FastRPC接口。

Voice
    声音处理路径是可以定制的,现在是和算法一起包裹在CAPI_V2接口中。它允许客户使用动态模型为Tx和Rx处理链定义动态拓扑结构。声音框架提供了I/O路径和音频硬件交互。声音路径结构详见下图:

Hexagon SDK部分模块架构分析