# QIMP SDK 版本 1.0

Source: [https://docs.qualcomm.com/doc/80-70014-52Y/topic/introduction.html](https://docs.qualcomm.com/doc/80-70014-52Y/topic/introduction.html)

Qualcomm^®^ Intelligent Multimedia Product Software Development Kit (QIMP SDK) 是专为物联网 (IoT) 领域的应用程序开发人员设计的综合解决方案。QIMP SDK 集成了 Qualcomm^®^ Intelligent Multimedia SDK (IM SDK)、TensorFlow Lite SDK、Qualcomm^®^ Neural Processing SDK 和 Qualcomm^®^ AI Engine Direct SDK 的功能，方便部署多媒体和人工智能/机器学习 (AI/ML) 应用程序。QIMP SDK 使用开源多媒体框架 GStreamer，并在多媒体和 AI/ML 领域提供用户友好的 API 和插件。

QIMP SDK 的主要功能包括：
- 用于开发多媒体和 AI 应用程序的 API 和工具。
- 能够使用 TensorFlow Lite SDK、Qualcomm Neural Processing SDK 和 Qualcomm AI Engine Direct SDK 创建用于多媒体开发和 AI 加速的自定义应用程序。
- 基于 Yocto Project 的独立编译。

本发布说明详细介绍了该版本的内容、新功能、限制以及在此版本中编译和刷写的说明。

## 发布信息

Table : 软件版本

| 软件 | 版本 |
| --- | --- |
| Yocto | kirkstone4.0.14 |
| 内核 | 6.6.17 |

Table : 发布标签版本

| 发布标签 | 版本 |
| --- | --- |
| 固件发布标签 | r1.0\_00026.0 |
| 发布标签 | qcom-6.6.17-QLI.1.0-Ver.1.4 |
| meta-qcom-extras 发布标签 | r1.0\_00028.0 |
| QIMP SDK 发布标签 | qcom-6.6.17-QLI.1.0-Ver.1.4\_qim-product-sdk-1.1 |

Table : 支持的平台

| **SoC 平台** | QCS6490 |
| :--- | --- |

## 参考设计套件

Qualcomm^®^ Robotics RB3 Gen 2 开发套件

## 发布内容

QIMP SDK 版本的内容包括：
- 编译单个组件的 recipe：
    - Qualcomm IM SDK
    - TensorFlow Lite
    - Qualcomm Neural Processing SDK
    - Qualcomm AI Engine Direct SDK
- 示例程序演示如何使用 Qualcomm IM SDK 开发基于 AI 边缘的应用程序。

## 新功能

- 摄像头支持：
    - 示例程序
        - gst-camera-single-stream-example，允许单摄像头数据流传输到显示或视频编码器或网络 (RTSP)。
        - gst-multi-camera-example，允许从两个摄像头并发数据流传输。
        - gst-multi-stream-example，允许使用 [tee](https://gstreamer.freedesktop.org/documentation/coreelements/tee.html) 将单摄像头数据复制到两个流中。
        - gst-snapshot-stream-example，允许生成快照以及活动视频录制。
        - gst-activate-deactivate-streams-runtime-example，允许在不重新启动传感器的情况下即时修改摄像头分辨率。
        - gst-appsink-example，这是一个在编码前对摄像头帧进行转换和其他算法处理的应用程序。
        - gst-camera-metadata-example，这是场景模式、白平衡和比特率等元数据。
    - 实时摄像头高达 4K (@30 FPS) 或 1,080p (@60 FPS)
    - 直接从单摄像头进行多流传输
    - 从单个或多个客户端应用程序访问多个摄像头
    - 在可配置分辨率下支持多个快照 (RAW/JPEG)
    - 使用 GStreamer 摄像头插件属性控制的常见摄像头设置，如对比度、国际标准化组织 (ISO)、白平衡等
    - 用于精细控制摄像头配置的摄像头元数据
- 视频支持：
    - 示例程序
        - gst-audio-video-encode，允许对音频和视频数据进行编码，然后将其存储到用户指定的输出文件中。
        - gst-concurrent-videoplay-composition，允许播放在设备上合成的多个视频。
        - gst-videocodec-concurrent-playback，允许同时解码和播放多种格式。
        - gst-audio-video-playback，具有音频和视频播放功能。
        - gst-video-transcode-example，允许 AVC 到 HEVC 或 HEVC 到 AVC 格式的视频转码。
        - gst-video-playback-example，允许解码和播放视频文件。
    - 基于文件的解码和播放功能
    - 基于 Linux 视频接口 (V4L2) 的硬件编码和解码
    - 16 个并行实例，用于编码和解码
    - 编码支持：
        - 编解码器：H.264、H.265
        - 控件：配置文件、电平、比特率控制、最小和最大量化参数 (QP)、图片组 (GOP)、熵编码、切片、Hier-P、旋转、翻转和长帧参考 (LTR)
        - 动态属性控制：LTR、比特率和翻转
        - 4K30 + 720p30 编码
    - 解码支持：
        - 格式：NV12、TP10 通用带宽压缩 (UBWC)
        - 播放控件：播放、暂停、恢复、前进和后退
        - 动态分辨率更改 (Dynamic resolution change)
        - 视频图形阵列（VGA @ 640 x 480），支持 16 个并行实例
        - 720p，支持 8 个并行实例
        - 1,080p，支持 4 个并行实例
        - UHD，支持 2 个并行实例
- 音频支持：
    - 示例程序
        - gst-audio-encode-example，允许录音。
        - gst-audio-decode-example，允许播放音频文件。
        - gst-transform-example，其中包含应转换视频流（旋转、翻转和缩放）的用例。
        - gst-weston-composition-example，允许合成各种源，特别是实时摄像机输入和离线文件。
    - 使用 pulse 插件进行硬件加速的音频采集和播放
- 显卡支持：
    - 用于合成、转化和转换的硬件加速插件
    - 合成：N 个输入到 1 个输出。例如：视频墙、ML 元数据和画中画
    - 转化：裁剪、旋转、缩放（向下/向上）、颜色转换和翻转
    - 拆分：1 个输入到 N 个输出，基于用户输入置信区域 (ROI)
- AI/ML 支持：
    - 示例程序
        - gst-ai-classification，允许对实时摄像头流进行分类。
        - gst-ai-multi-input-output-object-detection，允许对各种输入源进行 AI/ML 推理。
        - gst-ai-object-detection，允许对从摄像头流传输的图像进行目标检测。
        - gst-ai-parallel-inference，允许多个 AI/ML 模型在来自摄像头的单个实时流上并行运行。
        - gst-ai-pose-detection，允许对从摄像头流传输的图像进行姿势检测。
        - gst-ai-segmentation，允许对从摄像头流传输的图像进行目标分段。
    - ML 框架：TensorFlow Lite、Qualcomm Neural Processing SDK 和 Qualcomm AI Engine Direct SDK
    - 模型：分类、检测、姿势估计和分段
    - 基于张量的输入和输出，用于快速处理
    - 基于子模块的后处理，可灵活地添加对新模型的支持
    - 在输入帧上叠加推理结果，以实现完整的 ML 用例
- 其他包括：
    - 容器化参考
    - 套接字源和接收器插件：
        - 在运行自己的 GStreamer pipeline 的两个独立进程之间启用 zero copy 数据路径
        - 单独的进程/应用程序位于本机层或 docker 执行环境中

## 示例程序

示例程序分为两类，每类都针对零售、边缘 AI 盒子、IP 摄像头、无人机和机器人等特定用例量身定制。
- 多媒体应用：这些应用以摄像头、视频、音频和图形功能为中心。
- AI/ML 应用：这些应用主要集中于 AI 和 ML 功能。

有关 QIMP SDK 支持的示例程序列表以及运行这些程序的说明，请参阅[示例程序](https://docs.qualcomm.com/bundle/publicresource/topics/80-70014-50/example-applications.html)。

## 限制

以下是 QIMP SDK 版本中的已知限制：
- qtimlvconverter 的 FastCV 引擎不支持非标准分辨率转换。在此平台上使用面向嵌入式系统的 OpenGL (GLES) 引擎作为转换器。
- 将 qtioverlay 插件与检测模型一起使用时，可能会出现丢帧，尤其是存在许多检测对象时。将 qtivcomposer 用于基于检测的 ML 用例。
- 此版本不支持可调整速度的视频播放。
- 使用三路流的摄像头时，可能会观察到 1-2 FPS 的帧率下降。

Last Published: Aug 22, 2024

[Previous Topic
QIMP SDK 版本 1.1](https://docs.qualcomm.com/bundle/publicresource/80-70014-52Y/topics/ga1_1_release_information.md) [Next Topic
编译和刷写说明](https://docs.qualcomm.com/bundle/publicresource/80-70014-52Y/topics/build_and_flash_instructions.md)