用于具有超长指令字结构的数字信号处理器的快速离散余弦变换算法的制作方法

文档序号:6569812阅读:254来源:国知局
专利名称:用于具有超长指令字结构的数字信号处理器的快速离散余弦变换算法的制作方法
技术领域
本揭示案大体上涉及使用数字信号处理器的离散余弦变换。更明确地说,本揭示案 涉及一种用于基于VLIW的数字信号处理器的单阶段离散余弦变换的系统和方法。
背景技水
按照惯例,数字信号处理器(DSP)常利用超长指令字(VLIW)结构。基于VUW 的DSP可在单一时钟循环内执行多个运算。举例来说,基于VLIW的DSP可在单一循环 中执行乘法累加(MAC)、算术逻辑单元(ALU)和存储器载入/存储运算。这些DSP的 计算功率使得可能实施基于DSP的多媒体系统,其提供极大的灵活性和成本效用。
离散余弦变换(DCT)是可对信号执行以将所述信号从时域转换到频域以用于进一 步处理的数学运算。DCT在静态图像和视频压縮标准(包括联合图像专家组(JPEG)有 损压缩、动画专家组(MPEG)标准l、 2和4以及类似标准)中均己变为核心技术。
技术进步已产生更小且功能更强大的个人计算装置,其中的许多装置提供图像和/或 视频能力。举例来说,当前存在多种便携式个人计算装置,包括无线计算装置,例如小、 轻型且易于由用户携带的便携式无线电话、个人数字助理(PDA)和寻呼装置。这些便 携式个人计算装置中的许多装置包括数字静态相机、数字视频相机、数字记录机、音频 文件播放器或其任何组合。另外,便携式个人计算装置可包括可用以接入因特网的网络 接口。因此,便携式个人计算装置中的许多装置包括DSP。
为了改进系统性能和节省在其它过程中使用的DSP循环,各种快速算法已被提出以 通过开发DCT的对称性质来更有效率地计算DCT。按照惯例,在乘法在核心处理器中比 加法花费更长时间的假设下,这些快速算法已聚焦于减少乘法的数目。然而,所述假设 对于具有单循环乘法指令的现代DSP结构不再成立。此外,归因于阶段之间的数据相依 性,现有DCT算法常包括抑制DSP能力的开发的多个阶段。
因此,提供一种用于基于VLIW的DSP中的改进的DCT算法将是有利的。

发明内容
在特定实施例中,提供一种用以执行离散余弦变换运算的单阶段计算方法。所述离 散余弦变换运算通过使用数字信号处理器执行多个超长指令字(VLIW)来执行。所述多 个超长指令字包括第一数目的乘法和第二数目的加法,其中乘法的第一数目大于加法的 第二数目。
在一个特定实施例中,针对8点数据集而执行离散余弦变换运算。在另一特定实施 例中,针对8乘8点矩阵数据集而执行离散余弦变换运算。在另一特定实施例中,所述 多个VLIW指令无数据相依性,使得所述离散余弦变换可在单一执行阶段中加以执行。 在又一实施例中,离散余弦变换运算包括对输入矩阵数据集的每一列应用一维8点DCT 变换运算以产生中间矩阵,和对所述中间矩阵的每一行应用一维8点DCT变换以产生经 变换的矩阵数据集。在另一特定实施例中,所述第一数目的乘法包括30个乘法运算且所 述第二数目的加法包括多达12个加法。
在另一特定实施例中,提供一种用以执行离散余弦变换运算的方法。接收输入数据 集。通过执行多个超长指令字以对输入数据集执行单阶段离散余弦变换运算来处理输入 数据集以产生经变换的数据集。在另一特定实施例中,处理输入数据集包括计算关于输 入数据集的多个纯量,将所述多个纯量乘以核心矩阵以产生多个乘积,和对所述多个乘 积求和以产生经变换的数据集。
在又一特定实施例中,多个超长指令字包括第一数目的乘法和第二数目的加法,且 其中第一数目大于第二数目。在另一特定实施例中,输入数据集为8点数据集。在另一 特定实施例中,输入数据集为8乘8矩阵数据集。
在又一实施例中,通信装置包括存储器和数字信号处理器。所述存储器适于存储超 长指令字集以执行单阶段离散余弦变换运算。数字信号处理器适于执行所述超长指令字 集以从输入数据集产生经变换的数据集。
在特定实施例中,数字信号处理器适于在单一时钟循环中执行两个乘法累加运算、 一算术逻辑单元运算和一存储器载入/存储运算。在另一特定实施例中,数字信号处理器 适于处理根据联合图像专家组(JPEG)格式压縮的图像。在另一特定实施例中,数字信 号处理器适于处理根据动画专家组(MPEG)格式压縮的视频。在另一特定实施例中,数 字信号处理器在少于300个时钟循环中执行8x8变换。
在特定实施例中,通信装置为移动电话。在另一特定实施例中,通信装置包含因特 网语音协议(VoIP)电话。
在特定实施例中,数字信号处理器包括超长指令字的指令集和一处理器。超长指令 字(VLIW)的指令集适于执行具有多于加法运算的乘法运算的离散余弦变换(DCT)运
算。所述处理器适于执行指令集而对输入数据集执行DCT运算以产生变换数据集。
在另一特定实施例中,处理器在单一阶段中执行指令集。在另一特定实施例中,DCT 运算包括第一数目的乘法运算和第二数目的加法运算,其中乘法运算的第一数目为加法 运算的第二数目的两倍大。在又一特定实施例中,输入数据集包含8x8矩阵数据集。
在特定实施例中,通信系统包括用于存储指令集的装置,所述指令集包含定义离 散余弦变换(DCT)运算的多个超长指令字(VLIWs);用于接收输入数据集的装置;和 用于通过对输入数据集执行多个超长指令字(VLIW)来执行离散余弦变换运算的装置, 其中所述多个超长指令字包括第一数目的乘法和第二数目的加法,且其中第一数目大于 第二数目。
在另一特定实施例中,提供一种用以执行离散余弦变换运算的单阶段计算方法。将 多个超长指令字(VLIW)分解为多个基础指令以执行离散余弦变换(DCT)运算。同时 执行多个基础指令中的至少两者以在单一阶段中对输入数据集执行离散余弦变换(DCT) 运算。产生关于对输入数据集的DCT运算的性能的变换数据集。
此外,在特定实施例中,多个超长指令字包括第一数目的乘法和第二数目的加法, 其中乘法的第一数目至少为加法的第二数目的两倍大。
本文中所揭示的一个或一个以上实施例的一优势可包括在单一阶段中执行离散余弦 变换(DCT)运算。
本文中所揭示的一个或一个以上实施例的另一优势可包括在少于常规四阶段DCT运 算的时钟循环的一半的时钟循环中在处理器中执行离散余弦变换(DCT)运算。
本文中所揭示的一个或一个以上实施例的又一优势可包括执行离散余弦变换(DCT) 运算而在变换运算的阶段之间无数据相依性。
在阅读整个申请案(包括以下部分


具体实施方式
和权利要求书)之后, 本揭示案的其它方面、优势和特征将变得显而易见。

结合附图考虑,参考以下具体实施方式
将更加容易了解本文描述的实施例的各方面
和附随优势,附图中
图1是说明适于对信号执行单阶段离散余弦变换(DCT)运算的超长指令字(VLIW) 数字信号处理器(DSP)的框图2是说明使用例如图1中所示的VLIW处理器执行离散余弦变换(DCT)运算的 方法的概括图3是说明使用VLIW处理器执行DCT运算的方法的流程图4是并入有VLIW数字信号处理器(DSP)的通信装置的框图5是说明使用例如图4中所示的VLIW DSP执行1维8x8 DCT运算的方法的流程
图6是并入有数字信号处理器的便携式通信装置的概括图; 图7是并入有数字信号处理器的例示性无线电话的概括图8是并入有数字信号处理器的例示性无线因特网协议电话的概括图;以及
图9是并入有数字信号处理器的例示性便携式数字助理的概括图。
具体实施例方式
图1是说明适于执行单阶段离散余弦变换(DCT)运算的超长指令字(VLIW)数字 信号处理器(DSP) 100的框图。VLIWDSP IOO包括指令高速缓冲存储器102,指令寄 存器104,执行单元106、 108、 110、 112,数据高速缓冲存储器114和寄存器文件116。 指令高速缓冲存储器102连接到指令寄存器104以从高速缓冲存储器102将指令载入到 指令寄存器104。指令寄存器104经由总线120而连接到执行单元106、 108、 110和112。 执行单元106、 108、 110和112经由总线122而连接到数据高速缓冲存储器114并连接 到寄存器文件116。
VLIW DSP 100还包括一包括用于单阶段DCT运算的程序指令集126的存储器124。 虽然存储器124展示为处理器100的一部分,但应了解,存储器124可实施为与VLIWDSP 100分离且经由系统总线耦合到VLIW DSP 100的系统存储器。
VLIW DSP 100适于接收超长指令字,其为含有多个指令的字。VLIW DSP 100可包 括预处理器(未图示),所述预处理器将所接收的VLIW分解为可通过执行单元106、 108、 110和112并行执行的基础运算。
一般地,指令集126实施用于数字信号处理的快速DCT算法。替代于减少乘法的数 目,快速DCT算法利用VLIW DSP 100的功能性以通过使DCT算法适应VLIW DSP 100 的结构而减少时钟循环的数目。虽然DCT算法的常规实施方案利用多个阶段以在具有阶 段之间的数据相依性的情况下从给定的输入向量中计算DCT向量,但指令集126提供允 许在单一阶段中计算DCT向量的快速DCT算法。此单阶段DCT运算消除常规系统的多 个阶段之间的数据相依性。此外,单阶段DCT运算减少VLIW DSP IOO执行DCT运算 所需的时钟循环的数目。
一般来说,在许多图像压縮和视频压縮系统中, 一图像分为8x8数据块。每一 8x8 数据块使用2维8x8DCT变换运算加以处理。所述2维8x8DCT变换运算可分为两个1 维8点DCT变换运算。 一般来说,1维DCT变换运算通常可使用向量乘法处理加以执行。输入向量(;c)乘 以DCT变换核心矩阵(C )以产生DCT变换向量(s)。给定8点向量
J =[义o义! J2义3义4义5义6义7] , 变换向量J = bo Jl J2 J3 J4 : J6巧r可使用等式(J = CX )
加以计算,其中核心矩阵(C)定义如下-
(—cos^~^~ ! = 0, _/= 0, 1,…,7 '8 16
'—cos^~~ z. = l, 2,.,., 7,_/ = 0,1,.."7 '8 16
(等式1)
变量!'表示核心矩阵(C)的行指数"=0,1, ...,7},且变量j表示核心矩阵(C)的 列指数[/ = 0,1, 7}。通过评估!'和_/的值的核心矩阵(C),等式l产生若干可观测的 对称
1. 就矩阵C,.,j"-O且j'-O, 1,...,7}的子集来说,'V8;
2. 就矩阵C,..j = 2,6且y' = 0, 1, ..., 7}的子集来说'C" = C'.(7"),且当j = 0、 1、 2 或3时,C,j = -Cw);
3. 就矩阵<:,..,{!' = 4且_/ = 0, 1,...,7}的子集来说,C"=C"7-",且当_/ = 0、 1、 2或
以及
4. 就矩阵C,"!、l,3,5,7且j、0,l,…,71的子集来说'C"=_<:'''(7-"。 所观测的对称提供用于DCT运算的简化的途径。举例来说,l维8点核心矩阵(C)
可经简化以利用所观测的对称。明确地说,某些计算可在矩阵内重新使用,以减少计算 的总体数目。
核心矩阵(C)可重写如下 <formula>formula see original document page 10</formula>(等式2)
使用上述核心矩阵(C)和观测结果:
DCT算法可设计为一系列矩阵运算。给定
<formula>formula see original document page 10</formula>, DCT变换向量<formula>formula see original document page 10</formula>可通过使向量;c乘以
核心矩阵(c)而计算如下-
<formula>formula see original document page 10</formula>
(等式3) <formula>formula see original document page 10</formula>(等式4)
<formula>formula see original document page 10</formula>
(等式5)
<formula>formula see original document page 10</formula>
(等式6)
应了解,举例来说,上述等式3包括乘法累加运算和算术逻辑单元运算,其中超长 指令字(VLIW)处理器可在单一时钟循环内进行处理。以此计算集合,计算所得变换向 量G)的第一元素"o)。另外,已计算第一组纯量(f。、 "、 b和")以用于计算所得变 换向量(s)的奇数元素(&、 &、 s5、")如下。<formula>formula see original document page 10</formula>
(等式7)
<formula>formula see original document page 10</formula>(等式8)
<formula>formula see original document page 10</formula>
(等式9)
《3+ = C32 +C33 Xt3, ~ =义3 +义4 (等式10)
、=C50 X f0 + C51 X f! ,/8 = f4 - 。 (等式11 )
^+ = C52 X 2 +C53 " = 5 -" (等式12)
y7 = c70 Xf0 + c71 x", 。0 = " + 。 (等式13)
j7 + = c72 x/2 +c73 x^, fu = f5 (等式
以此计算集合,计算所得变换向量")的奇数元素(s;、 &、 j5和")连同另一纯 量集(&、 /j、 &、 ^、 &、 G、 "o和"/)。纯量(&、 〃、 ^和?7)基于输入向量(义)的元 素,而纯量Us、 f9、 f/c和&)基于其它纯量(~到17)。此后一纯量集(fs到&)可用以 计算所得变换向量(s)的剩余偶数元素(&、 ^和")如下。
52 = C20 X" +C2i X" (等式15)
SoX^+C^Xfu (等式16)
& =c60x"+c6xf9 (等式17)
以此计算集合,计算所得DCT向量(s)的剩余偶数元素"2、 ^和化)。 可以看出,上述等式集合可以30个乘法运算和多达12个加法运算加以实施。因此, 代表性VLIW DSP可在297个时钟循环中执行以上等式,所述时钟循环少于传统DCT运 算所需的时钟循环的数目的一半。此外,上述等式无数据相依性,其极适合VLIW DSP 结构。
图2是说明使用例如图1中所示的VLIW处理器执行离散余弦变换(DCT)运算的 方法的框图200。 一般地,可通过执行两个1维8x8 DCT变换运算来实施2维8x8 DCT 变换运算。区块202所指示的输入在区块204处通过对输入矩阵202的每一列(如箭头 210所指示)应用1维8点DCT运算而经处理以产生中间矩阵206。通过对中间矩阵206
的每一行(如箭头212所指示)应用1维8点DCT运算来处理中间矩阵206以产生所得 2维8x8 DCT矩阵208。
图3是说明使用VLIW数字信号处理器(DSP)执行DCT运算的方法的流程图。1 维8点离散余弦变换(DCT)应用到2维8x8矩阵的每一列以产生中间8x8矩阵(区块 300)。1维8点DCT应用到中间8x8矩阵的每一行以产生2维8x8 DCT矩阵(区块302)。
图4是并入有VLIW数字信号处理器(DSP)的通信装置400的框图。通信装置400 包括耦合到显示器404的集成电路402。集成电路402包括调制解调器406、高级RISC 机处理器408、超长指令字(VLIW)数字信号处理器(DSP) 410、 一个或一个以上处理 器412、系统存储器414和显示处理器416。调制解调器406、高级RISC机处理器408、 VLIW DSP 410、处理器412、系统存储器414和显示处理器416经由总线418彼此耦合。 一般地,总线418可耦合到一个或一个以上输入接口,包括小键盘、通用序列总线接口、 麦克风、扬声器和出于简化的目的而省略的各种其它组件。在此例子中,存储器414存 储用于通过VLIW数字信号处理器(DSP)410执行以执行例如在以上图2和3中所描述 的2维8x8 DCT运算的单阶段DCT指令126。
高级RISC机处理器408可用于使用其它处理器412和类似物来控制包括游戏的执 行、图形解码的协调的各种处理。调制解调器406为调制器/解调器,其用于经由连接到 总线418或者耦合到调制解调器406的通信接口 (未图示)与外部装置通信。通信装置 400可视特定实施方案而定为有线或无线的。
一般地,将视频或图像提供到VLIW数字信号处理器410,所述VLIW数字信号处 理器410使用从系统存储器414提供的处理器可读单阶段DCT指令而处理视频或图像。 所得经解码的视频或图像接着由VLIW数字信号处理器410经由总线418提供到显示处 理器416,所述显示处理器416将经解码的视频或图像提供到显示器404,显示器404可 为(例如)液晶显示器(LCD)。在一个实施例中,VLIW DSP410是例如加州圣地亚哥 市的高通公司(Qualcomm, Incorporated of San Diego, California)生产的QDSP-4平台芯 片。
单阶段DCT指令126可经执行以执行上述等式1-17中所描述的算法。所述算法可 易于与具有VLIW结构的其它DSP—起使用。此外,所述算法可易于根据所选DSP中的 资源而定标。举例来说,如果特定DSP每时钟循环能够执行四个乘法累加运算(MAC) 和两个算术逻辑单元运算(ALU),那么单阶段DCT指令126可适于通过合并MAC和 ALU运算来使用此DSP结构。虽然上述等式描述8点DCT运算,但可将所述算法和相 关联的等式定标到包括16点DCT变换的其它DCT变换运算。此外,等式可经扩展以与
逆DCT (IDCT)运算一起使用。 一般地,处理器可适于通过使用数字信号处理器执行多 个超长指令字(VLIW)来执行离散余弦变换(DCT)运算。所述多个VLIW可包括第一 数目的乘法和第二数目的加法,其中所述第一数目大于所述第二数目。
图5是说明使用VLIW DSP执行1维8x8 DCT运算的方法的流程图。接收8点向量
其中x-[x。 x! x2 x3 、 x5 x6 X7〗T (区块500)。向量(义)乘以DCT 8x8核心矩阵 (C)的第一偶数行(c0J)以形成八个乘积(区块502)。所述八个乘积接着加在一起以产 生8点DCT向量("的第一元素(")(区块504)。从向量(;c)的所选元素中计算第 一纯量集(?)(如在上述等式3-6中所展示)(区块506)。应了解,区块502、 504和506 的乘法累加和加法运算可同时发生。或者,区块506可在区块502和504之前发生。
DCT8x8矩阵(C)的奇数行乘以第一纯量集U)的所选纯量以产生关于矩阵(C) 的每一奇数行的乘积集(区块508)。每一行的乘积集加在一起以产生8点DCT向量(s) 的奇数元素(&、 &、 S5和S7)(区块510)。从第一纯量集U)的所选元素中计算第二纯 量集(f2)(如在上述等式7-14中所展示)(区块512)。应了解,区块508、 510和512 的乘法累加和加法运算可同时发生或以不同次序发生。
DCT8x8核心矩阵(C)的剩余偶数行(c2、 q和C6)乘以第二纯量集(f2)的所选 纯量以产生关于剩余偶数行"2、 q和C6)中的每一者的乘积集(区块514)。所述乘积 集针对剩余偶数行(c2、 q和C6)中的每一者而加在一起以产生8点DCT向量(s)的偶 数元素(S2、 ^和")(区块516)。
一般地,上述离散余弦变换(DCT)运算可适于在单阶段DSP中运算。替代于简化 所述算法以包括多于乘法运算的加法运算,所述算法具有30个乘法运算和仅12个加法。 此外,8点DCT运算可将对VLIW DSP的8x8 DCT变换所需的时钟循环的数目从例如 C. Loeffler等人的"Practical Fast 1-D DCT algorithm with 11 multiplications"正EE Transactions on Acoustics, Speech and Signal Processing, ( 1989) ICASSP-89, 第2巻, 第988-991页所描述的常规DCT解码运算所需的599个循环减少为仅297个循环。上述 等式4-17中所描述的单阶段DCT运算在执行DCT运算所需的时钟循环的数目方面提供 多于50%的改进,从而改进JPEG编码/解码等待时间和基于DCT的视频编码/解码性能。
图6说明一般以600指定的便携式通信装置的例示性非限制性实施例。如在图6中 所说明,便携式通信装置包括一包括数字信号处理器610的芯片上系统622。在特定实 施例中,数字信号处理器610是例如在图1中所展示和本文中所描述的VLIW数字信号 处理器。图6还展示耦合到数字信号处理器610和显示器628的显示控制器626。此外, 输入装置630耦合到数字信号处理器610。如所展示,存储器632耦合到数字信号处理 器610。另外,编码器/解码器(CODEC) 634可耦合到数字信号处理器610。扬声器636 和麦克风638可耦合到CODEC 630。
图6还指示无线控制器640可耦合到数字信号处理器610和无线天线642。在特定 实施例中,电源644耦合到芯片上系统622。此外,在特定实施例中,如在图6中所说 明,显示器628、输入装置630、扬声器636、麦克风638、无线天线642和电源644在 芯片上系统622外部。然而,每一者耦合到芯片上系统622的一组件。
在特定实施例中,数字信号处理器610可处理与执行便携式通信装置600的各种组 件所需的功能性和运算所必要的程序相关联的指令。举例来说,当经由无线天线建立无 线通信会话时,用户可对麦克风638说话。表示用户的语音的电子信号可发送到CODEC 634以被编码。数字信号处理器610可执行CODEC 634的数据处理以编码来自麦克风的 电子信号。此外,经由无线天线642接收的传入信号可通过无线控制器640发送到CODEC 634以被解码且发送到扬声器636。当解码经由无线天线642接收的信号时,数字信号处 理器610也可执行CODEC 634的数据处理。
此外,在无线通信会话之前、期间或之后,数字信号处理器610可处理从输入装置 630接收的输入。举例来说,在无线通信会话期间,用户可使用输入装置630和显示器 628以经由嵌入于便携式通信装置600的存储器632内的网页浏览器在因特网上冲浪。 与程序相关联的指令中的许多指令可在一个或一个以上时钟循环期间同时被执行。DSP 610可用以执行单阶段离散余弦变换运算。
参看图7,展示且一般以700指定无线电话的例示性非限制性实施例。如所展示, 无线电话700包括芯片上系统722,所述芯片上系统722包括耦合在一起的数字基带处 理器710和模拟基带处理器726。在特定实施例中,数字基带处理器710是例如在图1 中所展示和本文中所描述的VLIW数字信号处理器。如在图7中所说明,显示控制器728 和触摸屏控制器730耦合到数字基带处理器710。芯片上系统722外部的触摸屏显示器 732又耦合到显示控制器728和触摸屏控制器730。
图7进一步指示视频编码器734 (例如逐行倒相(PAL)编码器、连续色彩记忆 (SECAM)编码器或国家电视系统委员会(NTSC)编码器)耦合到数字基带处理器710。 此外,视频放大器736耦合到视频编码器734和触摸屏显示器732。并且,视频端口738 耦合到视频放大器736。如图7中所描述,通用序列总线(USB)控制器740耦合到数字 基带处理器710。并且,USB端口 742耦合到USB控制器740。存储器744和订户识别 模块(SIM)卡746也可耦合到数字基带处理器710。此外,如图7中所示,数码相机 748可耦合到数字基带处理器710。在例示性实施例中,数码相机748为电荷耦合装置
(CCD)相机或互补金属氧化物半导体(CMOS)相机。
如图7中进一步说明,立体声音频CODEC 780可耦合到模拟基带处理器726。此外, 音频放大器782可耦合到立体声音频CODEC 780。在例示性实施例中,第一立体声扬声 器784和第二立体声扬声器786耦合到音频放大器782。图7展示麦克风放大器788也 可耦合到立体声音频CODEC 780。另外,麦克风760可耦合到麦克风放大器788。在特 定实施例中,调频(FM)无线电调谐器762可耦合到立体声音频CODEC 780。并且, FM天线764耦合到FM无线电调谐器762。此外,立体声头戴式耳机766可耦合到立体 声音频CODEC 780。
图7进一步指示射频(RF)收发器768可耦合到模拟基带处理器726。 RF开关770 可耦合到RF收发器768和RF天线772。如图7中所示,小键盘774可耦合到模拟基带 处理器726。并且,具有麦克风的单声道头戴式耳机776可耦合到模拟基带处理器726。 此外,振动器装置778可耦合到模拟基带处理器726。图7还展示电源780可耦合到芯 片上系统722。在特定实施例中,电源780为直流(DC)电源,其将电力提供到需要电 力的无线电话700的各种组件。此外,在特定实施例中,电源为可再充电DC电池或DC 电源,其源自连接到AC电源的交流(AC)到DC变换器。
在特定实施例中,如图7中所描绘,触摸屏显示器732、视频端口 738、 USB端口 742、相机748、第一立体声扬声器784、第二立体声扬声器786、麦克风760、 FM天线 764、立体声头戴式耳机766、 RF开关770、 RF天线772、小键盘774、单声道头戴式耳 机776、振动器778和电源780在芯片上系统722外部。数字基带处理器(DSP) 710 可用以对信号执行单阶段离散余弦变换运算。
参看图8,展示且一般以800指定无线因特网协议(IP)电话的例示性非限制性实施 例。如所展示,无线IP电话800包括芯片上系统802,所述芯片上系统802包括数字信 号处理器(DSP) 804。在特定实施例中,数字信号处理器804为例如在图1中所展示 和本文中所描述的VLIW数字信号处理器。如图8中所说明,显示控制器806耦合到DSP 804且显示器808耦合到显示控制器806。在例示性实施例中,显示器808为液晶显示器 (LCD)。图8进一步展示小键盘810可耦合到DSP 804。
如图8中进一步描绘,快闪存储器812可耦合到DSP 804。同步动态随机存取存储 器(SDRAM) 814、静态随机存取存储器(SRAM) 816和电可擦除可编程只读存储器 (EEPROM) 818也可耦合到DSP 804。图8还展示发光二极管(LED) 820可耦合到DSP 804。另外,在特定实施例中,语音CODEC 822可耦合到DSP 804。放大器824可耦合 到语音CODEC 822且单声道扬声器826可耦合到放大器824。图8进一步指示单声道头
戴式耳机828也可耦合到语音CODEC 822。在特定实施例中,单声道头戴式耳机828包 括麦克风。
图8还说明无线局域网(WLAN)基带处理器830可耦合到DSP804。 RF收发器832 可耦合到WLAN基带处理器830且RF天线834可耦合到RF收发器832。在特定实施例 中,蓝牙控制器836也可耦合到DSP 804且蓝牙天线838可耦合到控制器836。图8还 展示USB端口 840也可耦合到DSP 804。此外,电源842耦合到芯片上系统802且经由 芯片上系统802将电力提供到无线IP电话800的各种组件。
在特定实施例中,如图8中所指示,显示器808、小键盘810、 LED 820、单声道扬 声器826、单声道头戴式耳机828、 RF天线834、蓝牙天线838、 USB端口 840和电源 842在芯片上系统802外部。然而,这些组件中的每一者耦合到芯片上系统的一个或一 个以上组件。DSP804可用以对信号执行单阶段离散余弦变换运算。
图9说明一般以900指定的便携式数字助理(PDA)的例示性非限制性实施例。如 所展示,PDA900包括芯片上系统902,所述芯片上系统902包括数字信号处理器(DSP) 904。在特定实施例中,数字信号处理器904是例如在图1中所展示和本文中所描述的 VLIW数字信号处理器。如在图9中所描绘,触摸屏控制器906和显示控制器908耦合 到DSP904。此外,触摸屏显示器耦合到触摸屏控制器906并耦合到显示控制器908。图 9还指示小键盘912可耦合到DSP 904。
如图9中进一步描绘,快闪存储器914可耦合到DSP卯4。并且,只读存储器(ROM) 916、动态随机存取存储器(DRAM) 918和电可擦除可编程只读存储器(EEPROM) 920 也可耦合到DSP卯4。图9还展示红外数据协会(IrDA)端口 922可耦合到DSP 904。另 外,在特定实施例中,数码相机924可耦合到DSP904。
如图9中所示,在特定实施例中,立体声音频CODEC 926可耦合到DSP 904。第一 立体声放大器928可耦合到立体声音频CODEC 926且第一立体声扬声器930可耦合到第 一立体声放大器928。另外,麦克风放大器932可耦合到立体声音频CODEC 926且麦克 风934可耦合到麦克风放大器932。图9进一步展示第二立体声放大器936可耦合到立 体声音频CODEC 926且第二立体声扬声器938可耦合到第二立体声放大器936。在特定 实施例中,立体声头戴式耳机940也可耦合到立体声音频CODEC 926。
图9还说明802.11控制器942可耦合到DPS 904且802.11天线944可耦合到802.11 控制器942。此外,蓝牙控制器946可耦合到DSP 904且蓝牙天线948可耦合到蓝牙控 制器946。如图9中所描绘,USB控制器980可耦合到DSP904且USB端口 982可耦合 到USB控制器980。另外,智能卡984 (例如多媒体卡(MMC)或安全数字卡(SD))
可耦合到DSP 904。此外,如图9中所示,电源986可耦合到芯片上系统902且可经由 芯片上系统902将电力提供到PDA 900的各种组件。
在特定实施例中,如图9中所指示,显示器910、小键盘912、 IrDA端口 922、数码 相机924、第一立体声扬声器930、麦克风934、第二立体声扬声器938、立体声头戴式 耳机940、 802.11天线944、蓝牙天线948、 USB端口 982和电源980在芯片上系统902 外部。然而,这些组件中的每一者耦合到芯片上系统上的一个或一个以上组件。DSP904 可用以对信号执行单阶段离散余弦变换运算。
技术人员将进一步了解,结合本文揭示的实施例描述的各种说明性逻辑区块、配置、 模块、电路和算法步骤可实施为电子硬件、计算机软件或其组合。为了清楚地说明硬件 与软件的此可互换性,在上文中已根据其功能性对各种说明性组件、区块、配置、模块、 电路和步骤进行了一般性描述。此功能性实施为硬件还是软件视特定应用和强加于总体 系统的设计约束而定。熟练的技术人员可针对每一特定应用以不同的方式实施所描述的 功能性,但此实施决策不应被解释为引起与本揭示案的范围的偏离。
结合本文所揭示的实施例而描述的方法或算法的步骤可直接实施于硬件中、由处理 器执行的软件模块中或两者的组合中。软件模块可驻留于RAM存储器、快闪存储器、 ROM存储器、PROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移 除式盘、CD-ROM或此项技术中已知的任何其它形式的存储媒体中。例示性存储媒体耦 合到处理器,使得处理器可从存储媒体读取信息且将信息写入到存储媒体。在替代实施 例中,存储媒体可与处理器成一体式。处理器和存储媒体可驻留于ASIC中。所述ASIC 可驻留于计算装置或用户终端机中。在替代实施例中,处理器和存储媒体可作为离散组 件驻留于计算装置或用户终端机中。
提供对所揭示的实施例的先前描述以使所属领域的技术人员能够制作或使用本揭示 案。所属领域的技术人员将易于了解对这些实施例的各种修改,且本文定义的一般原理 可在不偏离本揭示案的精神或范围的情况下应用于其它实施例。因此,本揭示案并不希 望限于本文所展示的实施例,而是应符合与所附权利要求书定义的原理和新颖特征一致 的最广泛范围。
权利要求
1.一种用以执行离散余弦变换运算的单阶段计算方法,所述方法包含通过使用数字信号处理器执行多个超长指令字(VLIW)来执行所述离散余弦变换运算;且其中所述多个超长指令字包括第一数目的乘法和第二数目的加法,且其中所述第一数目大于所述第二数目。
2. 根据权利要求1所述的方法,其中对8点数据集执行所述离散余弦变换运算。
3. 根据权利要求l所述的方法,其中对8乘8点矩阵数据集执行所述离散余弦变换运 算。
4. 根据权利要求1所述的方法,其中所述多个VLIW指令无数据相依性,使得可在单 一执行阶段中执行所述离散余弦变换。
5. 根据权利要求l所述的方法,其中执行所述离散余弦变换运算包含对输入矩阵数据集的每一列应用一维8点DCT变换运算,以产生中间矩阵;以及 对所述中间矩阵的每一行应用所述一维8点DCT变换,以产生经变换的矩阵数据 集。
6. 根据权利要求1所述的方法,其中所述第一数目的乘法包含30个乘法运算,且其 中所述第二数目的加法包含12个加法。
7. —种用以执行离散余弦变换运算的方法,所述方法包含接收输入数据集;通过执行多个超长指令字对所述输入数据集执行单阶段离散余弦变换运算来处 理所述输入数据集,以产生经变换的数据集。
8. 根据权利要求7所述的方法,其中处理所述输入数据集包含计算与所述输入数据集有关的多个纯量; 使所述多个纯量乘以核心矩阵,以产生多个乘积;以及 对所述多个乘积求和,以产生所述经变换的数据集。
9. 根据权利要求7所述的方法,其中所述多个超长指令字包括第一数目的乘法和第二 数目的加法,且其中所述第一数目大于所述第二数目。
10. 根据权利要求7所述的方法,其中接收所述输入数据集包含接收8点数据集。
11. 根据权利要求7所述的方法,其中接收所述输入数据集包含接收8乘8矩阵数据集。
12. —种通信装置,其包含存储器,其用以存储超长指令字集以执行单阶段离散余弦变换运算;以及 数字信号处理器,其适于执行所述超长指令字集,以从输入数据集产生经变换的 数据集。
13. 根据权利要求12所述的通信装置,其中所述数字信号处理器适于在单一时钟循环 中执行两个乘法累加运算、 一算术逻辑单元运算和一存储器载入/存储运算。
14. 根据权利要求12所述的通信装置,其中所述数字信号处理器适于处理根据联合图 像专家组(JPEG)格式压縮的图像。
15. 根据权利要求12所述的通信装置,其中所述数字信号处理器适于处理根据动画专 家组(MPEG)格式压縮的视频。
16. 根据权利要求12所述的通信装置,其中所述数字信号处理器在少于300个时钟循 环中执行8x8变换。
17. 根据权利要求12所述的通信装置,其中所述通信装置包含移动电话。
18. 根据权利要求12所述的通信装置,其中所述通信装置包含因特网语音协议(VoIP) 电话。
19. 一种数字信号处理器,其包含超长指令字(VLIW)指令集,其用以执行具有多于加法运算的乘法运算的离散 余弦变换(DCT)运算;以及处理器,其适于执行所述指令集以对输入数据集执行所述DCT运算,以产生变换 数据集。
20. 根据权利要求19所述的数字信号处理器,其中所述处理器在单一阶段中执行所述 指令集。
21. 根据权利要求19所述的数字信号处理器,其中所述DCT运算包括与加法运算的两 倍一样多的乘法运算。
22. 根据权利要求19所述的数字信号处理器,其中所述输入数据集包含8x8矩阵数据 集。
23. —种通信系统,其包含用于存储指令集的装置,所述指令集包含定义离散余弦变换(DCT)运算的多个 超长指令字(VLIW);用于接收输入数据集的装置; 用于通过对所述输入数据集执行所述多个超长指令字(VLIW)来执行所述离散 余弦变换运算的装置;其中所述多个超长指令字包括第一数目的乘法和第二数目的加法,且其中所述第 一数目大于所述第二数目。
24. —种用以执行离散余弦变换运算的单阶段计算方法,所述方法包含将多个超长指令字(VLIW)分解为多个基础指令,以执行离散余弦变换(DCT) 运算;同时执行所述多个基础指令中的至少两者,以在单一阶段中对所述输入数据集执 行离散余弦变换(DCT)运算;以及产生与对所述输入数据集执行所述DCT运算有关的变换数据集。
25. 根据权利要求24所述的方法,其中所述多个超长指令字包括第一数目的乘法和第 二数目的加法,且其中所述第一数目的乘法至少为所述第二数目的加法的两倍大。
全文摘要
本发明提供一种用以执行离散余弦变换运算的单阶段计算方法。所述离散余弦变换运算通过使用数字信号处理器执行多个超长指令字(VLIW)来执行。所述多个超长指令字包括第一数目的乘法和第二数目的加法,其中所述第一数目的乘法大于所述第二数目的加法。
文档编号G06F17/14GK101351792SQ200680044571
公开日2009年1月21日 申请日期2006年10月5日 优先权日2005年10月5日
发明者刘石忠 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1