
英特尔® 集成性能基元(英特尔® IPP)是一款多核就绪的扩展函数库,其中包含众多针对多媒体、数据处理和通信应用高度优化的软件函数。
全新的 5.3 版现已发布!英特尔® IPP 5.3 实现了在数据压缩、图像处理等方面的功能扩展。如欲了解更多详细信息,请参阅以下
新版本信息。
作为众多英特尔® 性能库中的一个,英特尔® IPP 可提供优化的软件构建模块,从而对英特尔的优化编译器和性能优化工具进行有益补充。英特尔® IPP 既可作为独立的产品使用,也可与
英特尔® 编译器专业版结合使用,构成一个更为完善、经济有效的解决方案。
英特尔® IPP 的上千个函数涵盖了以下领域中一些重要的基础算法:
| |
英特尔® IPP Flash 演示
 
|
英特尔 IPP 产品简介
[PDF 579KB]
图 1. 英特尔高性能多媒体函数库(英特尔 IPP)产品组件以及给应用程序开发人员带来的好处
经验证,英特尔 IPP 可与多代英特尔和兼容的 AMD* 处理器结合使用,并享有英特尔® 卓越支持计划提供的一流支持,同时还受到用户论坛的大力支持。
多核处理器支持图 2. 多核处理器真正实现了多线程软件应用程序的并行执行
观看简要介绍英特尔 IPP 和多线程应用程序的视频。
英特尔 IPP 5.3 全面支持当今的多核计算平台:
- 多核优化的线程函数:对 1700 多个针对矩阵和矢量数学、信号/图像过滤和卷积、图像/JPEG 压缩、颜色转换和计算机视觉的重要函数进行内部线程处理,以自动在多核系统上实现最大性能。
- 多核优化的示例代码:许多英特尔 IPP 示例代码
经过了线程处理,可展示在视频编码和解码等应用程序中有效利用英特尔 IPP 函数的情况。 - 完全线程安全的函数:所有英特尔 IPP 函数都是完全线程安全的函数,可简化与线程化应用程序的集成过程。
如欲了解有关线程处理和英特尔 IPP 函数的更多信息,请访问我们的线程处理
常见问题解答 (FAQ)
网页。
返回页首性能优化的函数英特尔 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 视频编码组件(用蓝框表示)的地方。这些函数包括:
- 运动补偿
- 运动估计
- 修正离散余弦变换
- 量子化和反量子化
- 熵编码
图 3. H.264 编解码器处理流程中的英特尔高性能多媒体函数库(英特尔 IPP)组件
视频和音频示例代码
展示了使用英特尔 IPP 函数实现的示例编解码器。
返回到函数领域列表图像和 2D 信号处理:英特尔 IPP 是图像和 2D 信号处理算法的首选库,包含多种可针对图像和图像内区域 (ROI) 执行的算法。
变换:
子波变换
傅立叶变换(FFT/DFT,实数/复数)
分屏 (Hamming,Bartlett)
离散余弦 (DCT)
过滤函数:
一般线性过滤
卷积/解卷积(LR 和 FFT)
框、最小值、最大值、中值
维纳滤波器
固定过滤器(Prewitt、Sobel、Laplace、Gauss、Scharr、Roberts)
锐化/高通/低通过滤器
几何变换:
调整大小、镜像、旋转、修剪
仿射变换
透视变换
双线性变形
坐标重新映射
| 图像统计:
和、积分、倾斜积分
平均值、最小值、最大值、直方图、标准偏差
图像矩
图像范数(L1、L2、无穷大)
图像质量因子计算
近邻测量(交叉相关、平方距离)
阈值/比较运算
图像算术/逻辑运算:
Alpha 构图
算术运算(加/减/乘/除/平方根/平方/自然对数/幂/绝对值)
逻辑运算(与、或、异或、移位、非)
图象数据交换/初始化:
复制/设置/转置矩阵
信道交换
Jaehne/Ramp/Z 形初始化
多个图像类型的内存分配
|
返回到函数领域列表计算机视觉:英特尔 IPP 包含针对多种主要计算机视觉运算进行优化的函数,可用于安全、计算机控制、媒体管理、媒体注释等领域的应用程序。
特征检测(角、Canny 边缘检测)
距离变换
图像梯度
填注
运动模板生成
光流计算 (Lucas-Kanade)
| 模式识别(Haar 分类器)
棱锥函数(高斯/拉普拉斯金字塔)
通用金字塔函数
相机校准
3D 重构
|
为了增强实时任务的性能,已经过优化的英特尔 IPP 自动包含在广受欢迎的 OpenCV 开放源代码计算机视觉库中,而英特尔 IPP 正是 2005 年度 DARPA Grand Challenge 冠军得主所采用的关键软件组件。
返回到函数领域列表颜色转换:如今随着多种格式的数字媒体的蓬勃发展,在不同的色彩形式间转换的需求也随之产生。英特尔 IPP 提供了 32/24/16 位/像素格式的丰富颜色转换例程:
颜色模型转换:
RGB、YUV、YCbCr、BGR、CbYCr、HSV、
LUV、Lab、YCC、HLS、SBGR、YCoCg、
YCCK、XYZ、CMYK
颜色格式转换:
YCbCr422、YCbCr420、YCbCr411、CbYCr422、BGR565、BGR555、BGR565Dither
| 查询表转换(线性/立方/调色板)
彩色到灰度转换(固定/自定义系数)
图像位分辨率降低
颜色扭曲转换(整数/浮动像素值)
伽玛校正(向前/向后)
|
返回到函数领域列表字符串处理:使用英特尔 IPP 优化的字符串操作,将优化的文本数据库管理、搜索与检索或文档索引处理功能集成到应用程序中。
子字符串替换/插入
字符串串联/拆分
大小写转换
| 字符串/子字符串匹配
正则表达式匹配
散列值计算
|
返回到函数领域列表JPEG 编码:用于 JPEG、JPEG 2000 和运动 JPEG 编解码器的重要算法组件。图 4 显示了 JPEG 和 JPEG 2000 编解码器处理流程中适合使用英特尔 IPP 的 JPEG 编码组件(用蓝框表示)的地方。
图 4. JPEG 和 JPEG 2000 编解码器处理流程中的英特尔® 高性能多媒体函数库(英特尔 IPP)组件
返回到函数领域列表语音编码:英特尔 IPP 包含一整套支持以下语音编解码器/函数的例程:
G.722.1
G.722 子带 ADPCM
G.723.1
G.726
G.728
回声消除
| G.729
GSM-AMR
AMR-宽带
GSM 全速率
压缩扩展
|
可免费下载的英特尔 IPP
通用语音类 (USC) 示例代码
)展示了如何使用低级别的英特尔 IPP 函数构建语音编解码器。
返回到函数领域列表信号处理:包括以下用途的信号处理功能:
过滤和卷积:
有限脉冲响应 (FIR)
无限脉冲响应 (IIR)
中值过滤
循环卷积
自动/交叉相关
变换:
傅里叶变换(FFT、DFT、Goertzel)
离散余弦变换 (DCT)
希耳伯特变换
子波变换(固定/自定义过滤器)
功率谱计算
分屏/采样:
上采样/下采样
分屏 (Bartlett/Blackman/Hamming/Hann/Kaiser)
| 数组/信号初始化/处理:
移动/复制/设置/归零
色调/三角/Ramp/Jaehne 生成
随机矢量生成(均匀/高斯)
数组分配
实数/复数转换
极坐标/笛卡尔坐标转换
数组/信号统计:
和/最大值/最小值/平均值/标准偏差/范数
点积
设置阈值
维特比解码
数组算术/逻辑运算:
算术运算(加/减/乘/除/平方根/平方/自然对数/幂/绝对值)
逻辑运算(与、或、异或、移位、非)
数组排序
幅/相
|
返回到函数领域列表数据压缩:除了使用编解码器进行的视频、音频和图像压缩之外,英特尔 IPP 还提供了无损压缩法函数,例如应用广泛的“zlib”(inflate 和 deflate)和“libbzip2”库中使用的那些函数。
Burrows-Wheeler 变换技术:
Burrow-Wheeler 变换 (BWT)
广义区间变换
前移 (MTF)
行程编码 (RLE)
| 熵编码:
哈夫曼编码
变长编码 (VLC)
基于字典的压缩:
LZSS 编码/解码
LZ77 编码/解码
|
返回到函数领域列表音频编码:用于 MP3 和 ACC 编解码器的重要算法组件。表 5 显示了 AAC 编解码器处理流程中适合使用英特尔 IPP 的 JPEG 编码组件(用蓝框表示)的地方。这些函数包括:
- 哈夫曼编码
- 预量化频谱数据
- 修正离散余弦变换
- 块过滤
- 频域预测
- 光谱带复制
- 快速傅立叶转换
图 5. AAC 编解码器处理流程中的英特尔高性能多媒体函数库(英特尔 IPP)组件
视频和音频示例代码展示了使用英特尔 IPP 函数实现的示例编解码器。
返回到函数领域列表语音识别:使用英特尔 IPP 丰富的语音识别功能,在应用程序中集成高级语音识别、IP 语音和语音注解功能:
特征处理
模型评估
模型估计
模型适配
矢量量化
| 声学回声消除 (AEC)
多相重采样
高级 Aurora 函数
Ephraim-Malah 噪声抑制
语音活动检测
|
返回到函数领域列表矢量/矩阵运算:英特尔 IPP 针对多种不同的应用程序提供了丰富的矩阵和矢量运算,其中包括物理建模和 3D 转换/光照计算。
矩阵代数:
特征值/特征向量计算
最小平方(QR 分解/back-sub)
线性方程组 (LU/Cholesky)
关注区域 (ROI) 提取
矢量/矩阵的快速复制
| 矢量代数:
点积
L2 范数计算
“saxpy”(ax + y) 运算
线性组合 (ax + by)
幂/根函数
指数/对数/误差/余误差函数
三角/双曲线函数
极坐标/笛卡尔坐标转换
|
对于要求在大型数据集上进行高性能线性代数运算的应用程序,
英特尔® 数学核心函数库可能也有帮助。
返回到函数领域列表密码技术:使用英特尔® IPP 快速建立强大的,高性能的加密模块和应用。以下是英特尔 IPP 的密码技术函数中所包含的众多密码构建模块中的一部分。
对称密码:
分组密码(AES/Rijndael、DES、Triple DES、Blowfish、Twofish)
流密码 (ARCFour)
单向散列:
广义散列(MD5、SHA1-512)
掩码生成(MD5、SHA1-512)
数据验证:
密钥散列(HMAC-MD5、HMAC-SHA1-512)
数据验证函数(DES、TDES、Rijndael、Blowfish、Twofish)
| 不对称密码技术:
椭圆曲线密码 (GF(p) 与 GF(2m)
RSA 算法(RSA-OAEP、RSA-SSA)
离散对数密码技术
大数算术
蒙哥马利缩减
伪随机数生成
质数生成
|
英特尔 IPP 的密码函数已根据
密码算法验证体系 (CAVP)
进行过验证。
| 名称 | 标准/证书 |
| 离散对数 (数字信号标准)
| FIPS 186-2 / Cert 190
|
| 整数因数分解 (数字信号标准)
| FIPS 186-2, ANSI X9.31-1998 / Cert 181
|
| 椭圆曲线数字信号算法(ECDSA)
| FIPS 186-2, ANSI X9.62-1998 / Cert 40
|
| 随机数生成器
| FIPS 186-2 / Cert 245
|
注意:要访问密码库,必须
向英特尔申请访问权限。
返回到函数领域列表射线跟踪与渲染:在射线跟踪、逼真图像渲染以及物理应用中使用的核心运算:
返回到函数领域列表返回页首 扩展的数据压缩功能和示例代码
我们对数据压缩示例代码进行了扩展,现在它包括了一些压缩/解压缩实用程序,这些程序在命令行方面与 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 位英特尔® 架构平台 | | 英特尔® 酷睿™2 处理器家族 | | 英特尔® 酷睿™ 处理器家族 | | 英特尔® 奔腾® M 处理器 | | 英特尔奔腾 D 处理器 | | 英特尔® 奔腾® 4 处理器 | | 英特尔至强处理器 | | 其他兼容的处理器,如 AMD Athlon* 和 Opteron* 处理器 |
|
| 基于 64 位英特尔 64 架构的平台 | | 英特尔® 酷睿™2 处理器家族 | | 英特尔® 奔腾® D 处理器 | | 英特尔® 奔腾® 4 处理器 | | 英特尔® 至强® 处理器 | | 其他兼容的处理器,如 AMD Athlon 和 Opteron 处理器 |
|
| 基于 64 位 IA-64 架构的平台 | |
| 基于 Intel XScale 微体系结构的平台 | | 含 Intel XScale 技术的英特尔 IXP4xx 处理器 |
|
基于和兼容 32 位 IA-32 架构的平台
(英特尔® 酷睿™2 处理器家族、英特尔® 酷睿™ 处理器家族、英特尔® 奔腾® 处理器及兼容的 AMD 处理器)
| 操作系统版本 | 支持的编译器 |
| Microsoft Windows |
Windows XP,SP1 或 SP2
Windows Vista
Windows Server* 2003
Windows CE 5.0 | 英特尔® C++ 编译器 10.1、10.0 和 9.1 Windows 版
Microsoft Visual C++* 2003 和 2005
Microsoft Visual Studio* 6.0
Microsoft eMbedded Visual C++ 4.0 Service Pack 4 |
| Linux | Ubuntu 6.10 或 7.10
Debian 3.1r5 或 4.0
Red Hat Enterprise Linux* 3、4 和 5
Red Hat Fedora Core 4 或 5
SUSE Linux Enterprise Server* 9 或 10
Red Flag DC Server 5.0
Mandriva 10.1
MontaVista 3.1 或 4.0
Linux Standard Base 3.1 | 英特尔 C++ 编译器 9.0 Linux 版或更高版本
安装了 Linux 开发工具组件,包括 gcc、g++ 以及相关工具 |
| Mac OS X | Mac OS X 10.4.3 或更高版本 | 英特尔 C++ 编译器 10.1 Mac OS X 版,包括专业版
GNU 编译器集 4.0 或更高版本 |
基于 64 位英特尔 64 架构的平台
(英特尔® 酷睿™2 处理器家族、英特尔® 奔腾® D 处理器、英特尔® 至强® 处理器及与英特尔 64 架构兼容的 AMD 处理器)
| 操作系统版本 | 支持的编译器 |
| Microsoft Windows | Windows XP 64 位版
Windows Vista | 英特尔 C++ 编译器 10.1、10.0 Windows 版
Windows Server 2003 Service Pack 1 SDK |
| Linux | Ubuntu* 6.10、7.10
Debian* 3.1r5、4.0
Red Hat Enterprise Linux* 3、4 和 5
Red Hat Fedora Core 4、5
SUSE Linux Enterprise Server* 9 或 10
Red Flag Linux DC Server 5.0
Mandriva 10.1
Linux Standard Base 3.1 |
英特尔 C++ 编译器 10.1、10.0、9.1 Linux 版
安装了 Linux 开发工具组件,包括 GCC、g++ 以及相关工具 |
| Mac OS x | Mac OS X 10.4.3 或更高版本 |
英特尔 C++ 编译器 10.1 和 10.0 Mac OS X 版
GNU 编译器集 4.0 或更高版本
|
基于 64 位 IA-64 架构的平台英特尔安腾处理器
| 操作系统版本 | 支持的编译器 |
| Microsoft Windows | Windows Server 2003 | 英特尔 C++ 编译器 10.1、10.0 和 9.1 Windows 版
微软平台软件开发工具包(SDK)2003 年 2 月
|
| Linux | Ubuntu* 6.10、7.10
Debian* 3.1r5、4.0
Red Hat Enterprise Linux 3、4 和 5
SUSE Linux Enterprise Server 9 或 10
Mandriva 10.1
SGI Propack 4.0、5.0
Linux Standard Base 3.1 | 英特尔 C++ 编译器 10.1、10.0 和 9.1 Linux 版
安装了 Linux 开发工具组件,包括 gcc、g++ 以及相关工具 |
基于 Intel XScale 微体系结构的平台上的嵌入式应用程序
(英特尔 IXP4xx 网络处理器产品线)
| 操作系统版本 | 支持的编译器 |
| Microsoft Windows | Windows CE 6.0 | Microsoft eMbedded Visual C++* 4.0 Service Pack 4 |
| Linux | MontaVista Linux* 4.0 CEE LE
MontaVista Linux 3.1 Pro BE | 用于 LE 应用的 iwmmxt_le-gcc (MontaVista)
用于 BE 应用的 xscale_be-gcc (MontaVista) |
安装要求 | 支持的软件/硬件 |
| 操作系统 | Microsoft Windows:- Windows Vista
- Windows XP,SP1 或 SP2
- Windows Server 2003,SP1 或 SP2
Linux:- Ubuntu 6.10、7.10
- Debian 3.1r5、4.0
- Red Hat Enterprise Linux* 3 、4 和 5
- Red Hat Fedora Core 4、5
- SUSE Linux Enterprise Server* 9 或 10
- Red Flag DC Server 5.0
- Mandriva 10.1
Mac OS X:- 针对英特尔处理器 10.4.3 到10.4.6 版
- 针对英特尔处理器的 10.5 版
|
|
| 处理器要求 | 基于和兼容 IA-32 架构的平台: - 英特尔® 奔腾® III 或更高级的处理器,400MHz 或更高主频
- 英特尔酷睿家族的任何处理器
- 任何英特尔至强处理器
- 兼容的 AMD 处理器
基于和兼容英特尔 64 架构的平台: - 英特尔酷睿家族的任何处理器
- 任何英特尔至强处理器
- 任何英特尔奔腾 D 处理器
- 兼容的 AMD 处理器
基于英特尔® 安腾® 处理器的平台: |
| 安装所需的最低磁盘空间 | 每个应用目标平台 400 MB |