概述
英特尔? 集成性能基元(英特尔? IPP)是一款多核就绪的扩展函数库,其中包含众多针对多媒体、数据处理和通信应用高度优化的软件函数。
作为众多英特尔? 性能库中的一个,英特尔? IPP 可提供优化的软件构建模块,从而对英特尔的优化编译器和性能优化工具进行有益补充。英特尔? IPP 既可作为独立的产品使用,也可与英特尔? 编译器专业版结合使用,构成一个更为完善、经济有效的解决方案。

图 1. 英特尔高性能多媒体函数库(英特尔 IPP)产品组件以及给应用程序开发人员带来的好处
经验证,英特尔 IPP 可与多代英特尔和兼容的 AMD* 处理器结合使用,并享有英特尔? 卓越支持计划提供的一流支持,同时还受到用户论坛的大力支持。
特性
多核处理器支持

英特尔 IPP 5.3 全面支持当今的多核计算平台:
多核优化的线程函数:对 1700 多个针对矩阵和矢量数学、信号/图像过滤和卷积、图像/JPEG 压缩、颜色转换和计算机视觉的重要函数进行内部线程处理,以自动在多核系统上实现最大性能。
多核优化的示例代码:许多英特尔 IPP 示例代码 经过了线程处理,可展示在视频编码和解码等应用程序中有效利用英特尔 IPP 函数的情况。
完全线程安全的函数:所有英特尔 IPP 函数都是完全线程安全的函数,可简化与线程化应用程序的集成过程。
性能优化的函数
英特尔IPP 函数基于单指令多数据流扩展 (SSE、SSE2、SSE3、SSSE3 和 SSE4) 指令集以及其他优化指令集等处理器的可用功能,将函数算法与低级别优化相匹配,以提供仅靠优化的编译器难以实现的性能。
视频编码:用于 DV25/50/100、MPEG-2、MPEG-4、H.263 和 MPEG-4 Part 10 (H.264) 编解码器的关键算法组件。图 3 显示了 H.264 编解码器处理流程中适合使用英特尔 IPP 视频编码组件(用蓝框表示)的地方。这些函数包括:
运动补偿
运动估计
修正离散余弦变换
量子化和反量子化
熵编码
图像和 2D 信号处理:英特尔 IPP 是图像和 2D 信号处理算法的首选库,包含多种可针对图像和图像内区域 (ROI) 执行的算法。

计算机视觉:英特尔 IPP 包含针对多种主要计算机视觉运算进行优化的函数,可用于安全、计算机控制、媒体管理、媒体注释等领域的应用程序。

为了增强实时任务的性能,已经过优化的英特尔 IPP 自动包含在广受欢迎的 OpenCV 开放源代码计算机视觉库中,而英特尔 IPP 正是 2005 年度 DARPA Grand Challenge 冠军得主所采用的关键软件组件。
颜色转换:如今随着多种格式的数字媒体的蓬勃发展,在不同的色彩形式间转换的需求也随之产生。英特尔 IPP 提供了 32/24/16 位/像素格式的丰富颜色转换例程:

字符串处理:使用英特尔 IPP 优化的字符串操作,将优化的文本数据库管理、搜索与检索或文档索引处理功能集成到应用程序中。

JPEG 编码:用于 JPEG、JPEG 2000 和运动 JPEG 编解码器的重要算法组件。图 4 显示了 JPEG 和 JPEG 2000 编解码器处理流程中适合使用英特尔 IPP 的 JPEG 编码组件(用蓝框表示)的地方。

图 4. JPEG 和 JPEG 2000 编解码器处理流程中的英特尔? 高性能多媒体函数库(英特尔 IPP)组件
语音编码:英特尔 IPP 包含一整套支持以下语音编解码器/函数的例程:

信号处理:包括以下用途的信号处理功能:

数据压缩:除了使用编解码器进行的视频、音频和图像压缩之外,英特尔 IPP 还提供了无损压缩法函数,例如应用广泛的“zlib”(inflate 和 deflate)和“libbzip2”库中使用的那些函数。

音频编码:用于 MP3 和 ACC 编解码器的重要算法组件。表 5 显示了 AAC 编解码器处理流程中适合使用英特尔 IPP 的 JPEG 编码组件(用蓝框表示)的地方。这些函数包括:
哈夫曼编码
预量化频谱数据
修正离散余弦变换
块过滤
频域预测
光谱带复制
快速傅立叶转换

图 5. AAC 编解码器处理流程中的英特尔高性能多媒体函数库(英特尔 IPP)组件
语音识别:使用英特尔 IPP 丰富的语音识别功能,在应用程序中集成高级语音识别、IP 语音和语音注解功能:

矢量/矩阵运算:英特尔 IPP 针对多种不同的应用程序提供了丰富的矩阵和矢量运算,其中包括物理建模和 3D 转换/光照计算。

对于要求在大型数据集上进行高性能线性代数运算的应用程序,英特尔? 数学核心函数库可能也有帮助。
密码技术:使用英特尔? IPP 快速建立强大的,高性能的加密模块和应用。以下是英特尔 IPP 的密码技术函数中所包含的众多密码构建模块中的一部分。
英特尔 IPP 的密码函数已根据密码算法验证体系 (CAVP) 进行过验证。

射线跟踪与渲染:在射线跟踪、逼真图像渲染以及物理应用中使用的核心运算:
限定框计算
对象射线交叉
阴影/反射计算
本版本新增内容
扩展的数据压缩功能和示例代码
我们对数据压缩示例代码进行了扩展,现在它包括了一些压缩/解压缩实用程序,这些程序在命令行方面与 gzip 和 bzip2 兼容。脚本编写应用可以使用这些示例应用来加速服务器端的数据管理等应用。此外,英特尔? IPP 5.3 现在还可完全支持“行程编码 (RLE)”数据压缩。
针对 45 纳米英特尔? 酷睿?2 处理器家族而优化
英特尔? IPP 5.3 特别针对 45 纳米英特尔? 酷睿?2 处理器家族进行了性能优化。45 纳米英特尔? 酷睿?2 处理器家族具有英特尔? SIMD 流指令扩展 4(英特尔? SSE4) 等全新特性,还有一个包含 47 个新指令的指令集,这是自 2001 年以来对英特尔? 64 指令集架构的最大改进。
全新操作系统支持 英特尔? IPP 5.3 扩大了操作系统的支持范围,其中包括:
Apple* Mac OS X 10.5
Ubuntu* 和 Debian* Linux 发行版
面向 Microsoft .NET* 的 JPEG 和 JPEG2000 编码/解码器支持
英特尔? IPP 5.3 现已提供了适用于 Microsoft .NET 框架下的 JPEG 和 JPEG2000 编码/解码示例代码。
兼容性
操作系统
英特尔 IPP 5.3 版支持Windows Vista 与 64 位 Mac OS X 应用程序。通过一套针对 Windows、Linux 和 Mac OS 的函数库 API,简化了代码复用与跨平台操作系统的开发。
开发环境
英特尔 IPP 与英特尔提供的其他开发工具完全兼容,如编译器、性能与线程分析器以及其他的英特尔性能库。此外,英特尔 IPP 简单易用,且可轻松集成到主流的开发工具与环境中,如 Microsoft Visual Studio*、Xcode*、Eclipse* 以及 GNU 编译器集 (GCC)。
处理器
多核处理器,包括英特尔? 酷睿?2 四核、英特尔? 酷睿?2 至尊版、英特尔? 酷睿?2 双核、英特尔? 酷睿? 双核、英特尔? 至强? 以及英特尔? 奔腾? D 处理器
基于英特尔? 64 架构的系统,包括英特尔酷睿 2 处理器、英特尔至强处理器、英特尔奔腾 D 处理器以及兼容的 AMD 处理器。
基于 IA-32 架构的处理器,包括英特尔? 酷睿? 处理器,英特尔? 奔腾? 处理器以及兼容的 AMD 处理器。
基于 Intel XScale? 微体系结构的处理器,包括英特尔? IXP4xx 处理器。
系统要求
应用程序目标平台

基于和兼容 32 位 IA-32 架构的平台
(英特尔? 酷睿?2 处理器家族、英特尔? 酷睿? 处理器家族、英特尔? 奔腾? 处理器及兼容的 AMD 处理器)

基于 64 位英特尔 64 架构的平台
(英特尔? 酷睿?2 处理器家族、英特尔? 奔腾? D 处理器、英特尔? 至强? 处理器及与英特尔 64 架构兼容的 AMD 处理器)

基于 64 位 IA-64 架构的平台
英特尔安腾处理器

基于 Intel XScale 微体系结构的平台上的嵌入式应用程序
(英特尔 IXP4xx 网络处理器产品线)

安装要求
