CN101185057A - 处理数字媒体流 - Google Patents
处理数字媒体流 Download PDFInfo
- Publication number
- CN101185057A CN101185057A CNA2005800211266A CN200580021126A CN101185057A CN 101185057 A CN101185057 A CN 101185057A CN A2005800211266 A CNA2005800211266 A CN A2005800211266A CN 200580021126 A CN200580021126 A CN 200580021126A CN 101185057 A CN101185057 A CN 101185057A
- Authority
- CN
- China
- Prior art keywords
- digital sample
- processor
- bus
- sampling
- digital
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims abstract description 92
- 238000000034 method Methods 0.000 claims abstract description 67
- 239000000872 buffer Substances 0.000 claims abstract description 50
- 230000004044 response Effects 0.000 claims abstract description 18
- 238000005070 sampling Methods 0.000 claims description 125
- 238000003860 storage Methods 0.000 claims description 29
- 230000008859 change Effects 0.000 claims description 5
- 239000003550 marker Substances 0.000 claims description 5
- 230000008569 process Effects 0.000 abstract description 18
- 230000000694 effects Effects 0.000 description 29
- 230000005540 biological transmission Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 238000012546 transfer Methods 0.000 description 6
- 125000004122 cyclic group Chemical group 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 230000008676 import Effects 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 239000012536 storage buffer Substances 0.000 description 2
- 230000000153 supplemental effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 241001342895 Chorus Species 0.000 description 1
- 101100166829 Mus musculus Cenpk gene Proteins 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- HAORKNGNJCEJBX-UHFFFAOYSA-N cyprodinil Chemical compound N=1C(C)=CC(C2CC2)=NC=1NC1=CC=CC=C1 HAORKNGNJCEJBX-UHFFFAOYSA-N 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 210000000056 organ Anatomy 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/0091—Means for obtaining special acoustic effects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04S—STEREOPHONIC SYSTEMS
- H04S7/00—Indicating arrangements; Control arrangements, e.g. balance control
- H04S7/30—Control circuits for electronic adaptation of the sound field
- H04S7/305—Electronic adaptation of stereophonic audio signals to reverberation of the listening space
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Acoustics & Sound (AREA)
- Electrophonic Musical Instruments (AREA)
- Microcomputers (AREA)
- Information Transfer Systems (AREA)
- Communication Control (AREA)
- Complex Calculations (AREA)
Abstract
本发明提供了用于处理数字采样的方法和数字处理器。该处理器(20)可以包括用于在时域中处理数字采样的时域处理引擎和用于在频域中处理数字采样的频域处理引擎。在该处理器(20)中设置有共享存储器(34),利用该共享存储器可交换经时域处理的采样和经频域处理的采样。时域处理引擎可以以逐采样的方式处理数据采样,而频域处理引擎以基于块的方式处理数据采样。处理引擎可以被集成在单个DSP芯片中。提供了产生中断的中断发生器,输入缓冲器响响应于中断将输入数据采样传输到处理器,并且输出缓冲器响应于中断将输出数据采样传输到数字采样总线。
Description
技术领域
本发明一般地涉及处理数字媒体流领域。更具体地说,在一个实施例中,本发明涉及在时域和频域中处理数字数据的方法和系统。
背景技术
在对数字媒体流(例如,数字音频流)进行处理时,需要两类算法:1)基于块的(BB)算法,其中音频数据块被累积然后作为一个单元处理,以及2)逐采样(SS)算法,该算法以每次一个采样的方式处理音频数据。频域或者BB算法具有计算灵活性更大的优点,例如,可以实现更长的有限冲激响应或者FIR滤波器,能够实现基于快速傅立叶变换或者FFT的算法,其代价是在可以开始处理之前必须累积数据块,从而添加了等待时间。SS处理具有等待时间和开销非常低、对参数改变基本上立即作出响应的优点,这在例如改变到图形均衡器的参数的应用中可能非常有益。SS处理的低开销极大地简化了音频系统中不同SS软件算法的动态加载和卸载,这使得能够实现响应于实时输入对音频流的效果处理进行快速修改。
现有数字信号处理或者DSP系统被设计为专门充当BB和SS处理器,而不是同时充当二者。因此,标准的现有方法要么在单独的引擎中处理SS和BB算法,要么将SS算法转换成BB算法,并且承受等待时间和开销对SS算法的性能的不利影响。
发明内容
根据本发明,提供了一种用于处理媒体数据(例如,数字音频、视频等)的数字处理设备和方法。
本发明扩展到包含指令序列的机器可读介质,所述指令序列在被机器执行时致使所述机器执行这里所述的任何方法。
从所附附图和下面的详细描述将清楚看出本发明的其他特征。
附图说明
现在参考附图通过示例描述本发明。在附图中,
图1示出了根据本发明一个实施例的示例性数字处理器模块的示意框图,该数字处理器模块用于在单个设备中在时域和频域中处理数据;
图2示出了根据本发明的示例性方法的示意流程图,该方法用于处理时域数据或者逐采样数据;
图3示出了也是根据本发明的示例性时域中断子例程(TDISR)的示意流程图;
图4示出了示例性数字信号处理器(DSP)内的前台和后台处理的示意流程图;
图5示出了也是根据本发明的示例性DSP的示意框图;
图6示出了图5的示例性DSP的进一步细节;
图7示出了用于执行前台例程或处理的示例性基本方法的示意流程图;
图8示出了利用公共存储器或共享存储器的逐采样和基于块的功能之间的示例性交互的示意流程图;
图9示出了根据本发明一个实施例的示例性数字处理系统或子系统的示意流程图,该系统或子系统包括根据本发明的DSP模块;
图10示出了根据本发明实施例的示例性路由控制器或主机接口的示意框图,该路由控制器或主机接口用于在图9的数字处理系统中路由数字数据;以及
图11示出了示例性主机接口与图5和图6的DSP之间的示例性互连的示意框图。
具体实施方式
下面描述用于处理数字媒体数据的方法和设备。在下面的描述中,为了说明目的,阐述了许多具体细节,以便于充分理解本发明。但是,对于本领域的技术人员来说很明显的,没有这些具体细节也可以实施本发明。此外,尽管通过参考处理音频数据的示例描述了本发明,但是应当注意到本发明可以用来处理任何数字数据(包括视频数据)。
参考图1,标号20总地指示数字信号处理器(DSP)模块的体系结构,在一个实施例中,该体系结构给出了用于在同一处理引擎中处理逐采样(SS)或时域处理算法,以及基于块的(BB)或频域算法的统一编程环境。该处理引擎可以是包括用于在SS和BB域之间传递数据的共享存储器接口24(参见图5)的DSP 22。例如,可以在BB或频域处理引擎26和SS或时域处理引擎28之间传递数据。因此,由DSP 22处理的不同效果可以在不同处理或效果引擎之间被链接或传递。在图1所示的处理引擎22中,为了清楚起见,省略了这种引擎中包括的各种标准组件。本领域技术人员将容易地认识到已被省略的标准组件。在一个实施例中,DSP模块20限定或者形成音频处理设备(例如声卡等)的一部分。因此,DSP模块20可以是个人计算机、MP3播放器、便携式数字媒体播放器、个人数字助理(PDA)、蜂窝电话,或者用于对诸如音频和/或视频之类的数字媒体进行处理的任何其他装置或设备的一部分。
DSP 22的示例性体系结构可以将具有本地通用寄存器(GPR)30的标准DSP编程模块和X和Y存储器32组合起来。在一个实施例中,与具有非常大的寄存器空间(例如,通用寄存器30)和用于在其他音频处理引擎(其可能是采样锁定的)之间传递数据的缓冲器(例如,采样速率锁定往复式缓冲器(sample rate locked ping-pong buffers)34,参见图1)的逐采样编程模块一起提供有并行地址产生。BB和SS环境可通过中断(例如,低等待时间采样速率锁定中断36)被链接到一起,该中断对示例采样速率锁定往复式缓冲器34的切换进行同步。在一个实施例中,采样速率锁定中断36是由采样锁定时基(timebase)模块38产生的。在一个实施例中,DSP 22、采样锁定时基模块38和缓冲器34都被集成在单个VLSI芯片或电路上。采样锁定时基模块38和缓冲器34同样也可以被集成在DSP 22的电路内。
在一个示例性实施例中,在共享存储器环境40(参见图5)中提供对多个软件DSP效果(例如,混响、回声、合声、图形均衡、空间化等)的同时动态分配,该共享存储器环境40采用用于DSP 22的线程交织处理器体系结构。例如,每个DSP线程可以对用于SS处理的唯一的或专用的大寄存器组进行处理,但是可以通过可以被映射到特定线程的I/O空间中的采样速率锁定往复式缓冲器34或者通过共享存储器40(在传递数据块用于BB处理时可能有用)通信。从而每个DSP线程能够将采样速率锁定数据发送和接收到/自另一个线程,或者例如经由音频总线42或者DMA接口或控制器44将采样速率锁定数据发送和接收到/自DSP 22外的外部采样速率锁定处理引擎。每个交织线程可以被同一个低等待时间采样锁定中断源(例如中断36)中断,以进行同步SS处理。共享存储器环境40可以被集成在DSP 22内,并且可以被映射到DSP的I/O空间中。
在一个实施例中,往复式缓冲器34在其输入和输出上是双缓冲的。采样速率锁定多路复用器可以对位于音频总线42和DSP 22之间的往复式缓冲器34进行控制,使得在给定的采样周期中DSP 22和音频总线42中只有一个可以访问给定的缓冲器。因此,在一个实施例中,DSP 22和音频总线42同时访问给定的缓冲器是不允许的。在往复式缓冲器34中,当一个缓冲器正接收或发送新数字数据发送时,另一个缓冲器保持对正被操作的数据的先前发送。
图1的示例性DSP模块22可以是线程交织的DSP,其包括嵌套中断控制器46,嵌套中断控制器46接收来自采样锁定时基模块38的采样速率锁定中断36(采样锁定中断通知),采样锁定时基模块38又被与示例采样同步音频总线42的采样速率同步(例如,经由采样时钟参考)。DSP22还被耦合到采样速率锁定往复式缓冲器34,具体而言,耦合到其采样同步输入缓冲器48和其采样同步输出缓冲器50。输入和输出缓冲器48和50是与前述采样锁定中断36同步地切换的往复式缓冲器。每个往复式缓冲器48和50的一侧通过I/O数据路径52和54对DSP 22可见,I/O数据路径52和54可以通过DSP 22的I/O寄存器图56被读取和写入。每个往复式缓冲器48和50的另一侧对采样同步音频数据总线42可见,通过总线42可以在DSP和其他音频处理块或模块(例如,在VLSI芯片中)之间传递采样同步数据。
在一个实施例中,嵌套中断控制器46允许采样锁定中断先占任何其他中断或DSP线程的前台活动,从而导致DSP 22进入时域中断子例程(TDISR),在此期间SS处理被执行。中断控制器46的用于这种时域中断子例程的先占特性可以向每个DSP线程提供有保证的最大中断等待时间。例如,4线程流水线交织DSP体系结构向每个线程提供了非常低的流水线等待时间,可以确保这种最大等待时间相当低,并且是可预测的,这一般要求3-4线程指令周期。
标号70总地指示根据本发明的用于处理时域或逐采样数据的示例方法。方法70可以作为响应于对前台例程的中断而被执行的后台例程。如判决操作72所示,方法70监控中断(例如,采样锁定中断36)发生的时间,并且如果发生了,方法70则前进到操作74。中断36可能先占所有其他DSP中断和任何DSP线程的前台活动(参见操作74)。此后,如76所示,方法70致使DSP进入特定线程的时域中断子例程。
在时域中断子例程中执行的功能可能随效果而不同,并且每个DSP 22可以包括多个不同的子例程,每个子例程专用于不同的效果。例如,可以提供用于回声的时域中断子例程,并且可以提供用于混响的另一个不同的时域中断子例程,等等。每种效果都具有专用的通用寄存器(参见通用寄存器30),用于处理该效果。返回到判决操作72,在没有中断36时,方法70如操作78所示可继续其他前台活动。
时域中断子例程的示例性功能在图3中示出。如操作80所示,一旦接收到中断通知,就可以从输入缓冲器48读入传入采样。可以为每个正被处理的音频流读入一个传入采样。在一个实施例中,音频缓冲器48中的采样数据针对每种效果布置,并且因此可以针对每种效果从输入缓冲器48读入采样数据。此后,利用单独引用DSP 22中的块分配的寄存器位置的指令代码,该采样数据被处理(参见操作82)。块分配寄存器位置可以不需要保存和恢复开销。在一个实施例中,DSP 22中的非常大(一般1000+)的寄存器空间使得这种寄存器的专用分配成为可能。如上所述,块分配寄存器位置可以针对每种效果布置。一旦数据采样被处理,处理后的采样就被写入到音频输出缓冲器50,如操作84所示。将认识到,逐采样处理的数据采样也可以从DMA控制器44接收到和被写到DMA控制器44。DMA控制器44可以将DSP模块20接口到个人计算机等中的主机存储器。但是,应当意识到在DSP模块20中包括DMA控制器44是可选的,数据采样可以仅源自音频总线42。
在一个实施例中,时域中断子例程是中断服务例程,该中断访问例程在每个采样周期中被调用一次,并且被设计为对于每个中断处理每个音频通道的一个音频采样。例如,采样速率可以是48K Hz,但可以意识到其他采样速率也是可以的,并且因此每秒钟时域中断子例程可以被执行48000次。在一个实施例中,为了允许每个采样周期执行有保证的最少数目的DSP线程指令,除了前述有保证的最大中断等待时间之外,时域中断子例程还具有额外的品质,即它是优先级最高的中断,从而不能被任何其他中断先占。在一个实施例中,一旦接收到在数据总线42上提供的每个音频或数据通道的采样,就产生中断36。因此,数据采样进入DSP 22可以与数据采样在音频总线42上传输或传送同步。
在时域中断子例程(例如,每种效果一个)在一个或多个DSP线程的后台中执行的同时,前台程序代码可以专用于等待时间不那么重要的基于块的算法(频域处理)。基于块的代码可以利用标准的DSP结构,例如,循环、调用和跳转,并且还可以对优先级比时域中断子例程低的其他中断作出响应。
时域中断子例程的最高优先级状态在示例性DSP 22的体系结构中可能具有某些微妙的后果。在一个实施例中,DSP 22包括专用硬件程序计数器栈(HCPS)86(参见图5),HCPS 86可以针对每个线程单独地被分配。出于成本原因,在某些实施例中,这些示例性硬件栈86不能如给定的程序所需的那么大。因此,硬件栈84可能变满。在每个线程中可以提供栈接近满指令陷阱(trap),用于检测硬件栈84接近满的时间,并且如果接近满的话,可以调用访问例程将特定硬件栈84部分清空到存储器缓冲器中,以使得可以继续利用特定硬件栈86。这可以允许程序计数器栈86扩展到存储器缓冲器允许的任何大小。在一个实施例中,仅允许时域中断子例程中断栈接近满指令陷阱,以增强时域中断子例程的较低的可预测的等待时间。作为这种情形的必然结果,在一个实施例中,可能不向时域中断子例程提供栈接近满陷阱,并且时域中断子例程不能利用多于固定数目的硬件栈位置,其在栈接近满陷阱被断言时必然小于剩余的可用硬件栈位置的数目。在一个实施例中,时域中断子例程代码的可以加强各自每次处理一个采样的专用寄存器组之间的瞬时切换的性质可以与不要求程序计数器栈空间一致。可以触发栈接近满陷阱的栈水平可由软件(例如,软件指令)设置为可调节的,以允许在不同的实施例中对时域中断子例程可用的栈位置的数目可以不同。
应当意识到,其他方法也可以用于处理较大的栈需求。一种示例性方法是使硬件栈86较大,并且不支持超过硬件栈86大小的栈扩展。然而,在这种示例性实施例中,可能有额外的硬件成本,并且对于某些软件环境硬件栈可能太小。在另一个示例性实施例中,可以不使用栈接近满中断,并且每当硬件栈86变满,示例性DSP控制单元88就可以直接将程序栈值写到存储器和直接从存储器读取它们。然而,在栈水平高时这可能导致CPU性能降低,并且额外的不能预测的等待时间可能被添加到时域中断子例程。
如上所述,采样同步音频缓冲器48和50可以是双向往复式缓冲器,并且可以与用于产生时域中断36的时钟同步地切换。在一个实施例中,缓冲器48和50被实现为随机存取存储器(RAM),其中高位地址可以选择“ping”和“pong”功能。如上所述,DSP 22和采样同步音频数据总线42可能总是访问缓冲器48和55的相对侧。因此,当DSP 22正访问RAM地址空间的上半部分时,采样同步音频数据总线42将正访问RAM地址空间的下半部分。在连续的采样周期中,DSP 22和采样同步音频数据总线42交换地址空间,产生往复式行为。时域中断子例程与对往复式缓冲器48的切换的同步使得DSP 22能够在采样周期(其是时域中断子例程的长度上限)中的任何时刻访问传入采样,而不管时域中断子例程内的正访问缓冲器48的指令的位置如何。类似地,DSP 22可以在时域中断子例程内的任何时刻对输出缓冲器50进行写入。在利用多线程交织DSP的DSP系统中,采样同步缓冲器48和50对于所有线程可以具有全局可见性。
在一个示例性实施例中,采样同步音频总线输入和输出缓冲器48和50可以具有很大数目的位置,例如,256或512个位置,每个位置可以对应于一个音频流。音频总线可以包括多个音频通道和任何下述采样同步音频总线输入或输出通道,所述采样同步音频总线输入或输出通道没有正被用来接收或发送音频数据采样,并且没有正被采样同步音频数据总线更新,并且可用作对所有DSP线程可见的采样锁定线程间数据通道。这种配置可以提供一种机构(例如,主要机构),用于在运行于不同DSP线程中的时域中断子例程之间传递数据。当未使用的输出缓冲器通道被用于线程间数据传递时,被传递的数据在被分配用于该输出缓冲器通道的DSP采样同步音频总线中的采样同步音频总线上可能仍看起来像有效数据。应当意识到,被输出到音频总线42的数据采样可能随后经由音频采样总线42被返回到DSP 22,以便由另一个不同的DSP线程处理。
被写到用于线程间数据传递的可用输入或输出采样同步音频总线缓冲器48和50的数据在其被写的采样周期中的剩余时间中可能立即对所有的线程可见。这种约束可能仅适用于线程间数据传递,而不适用于如上所述正被传递到和传递自采样同步音频总线42的数据。在从采样周期开始到线程向可用缓冲器位置写的时间中,根据所使用的前述双缓冲往复式方案,由另一个不同DSP线程从同一缓冲器位置读出的任何数据的年龄可能是两个采样周期。
因此,在每个DSP线程处理不同效果的实施例中,线程间传递可以被用来在正被处理的不同效果之间传递采样数据。因此,采样数据可以从时域处理或者逐采样效果/算法被传递到频域效果或者基于块的效果/算法。一种示例性的频域效果是音频清空(clean-up)效果,该效果可以消除音频流中的噼啪声,或者增强音频频谱中的某些子带。
当要求对采样单元或块执行基于块的处理时,个体采样可以随后经由音频总线42被接收到,并且被存储在DSP 22的存储器中。当包括该块或单元的所有数据采样都已被接收到时,该数据采样块可被处理。例如,时域DSP线程可以从音频总线42读取个体采样,并且将这些采样每次一个地写到于该线程相关联的循环缓冲器中。当关联的缓冲器已满时,时域线程可以ping或者告知频域例程:数据块可用于频域处理。从而,在一个实施例中,时域线程可以收集用于频域线程的数据。类似地,已被DSP 22处理的数据块可以每次一个采样地被写到音频总线42。此外,频域算法(例如,低音增强)或过程的输出数据采样可以作为输入数据采样被传递到时域算法或过程(例如,混响)。
具体参考图6,该图示出了示例性DSP 22的一个更详细实施例。DSP22包括DSP控制单元88、X和Y存储器32、通用寄存器30、嵌套中断控制器46,以及可选的DMA控制器44。在一个示例性实施例中,通用寄存器30可以是相对较大的寄存器组,用于存储多个音频通道的数据采样。X和Y存储器32可以包括X系数RAM 100和X数据存储器102。类似地,X和Y存储器32也可以包括Y系数RAM 104和Y数据存储器106。例如,X系数RAM 100和Y系数RAM 104可以是32位宽,并且X数据存储器102和Y数据存储器106也可以是32位宽。X和Y存储器32限定由频域和时域引擎26和28用来处理频域线程和时域线程的公共或者共享存储器。因此,X和Y存储器32是共享存储器,并且允许线程彼此传递或交换采样数据。通用寄存器30包括X通用RAM(X-GPRAM)108,X、Y、A、B旋转寄存器阵列110,以及Y通用RAM(Y-GPRAM)112。在一个示例性实施例中,X-GPRAM 108和Y-GPRAM 112是256×32位的。来自X-GPRAM 108,X、Y、A、B旋转寄存器阵列110和Y-GPRAM 112的输出被馈送到操作数多路复用器114中。在一个实施例中,X-GPRAM108,X、Y、A、B旋转寄存器阵列110和Y-GPRAM 112可以针对每个DSP线程布置,并且采样数据被逐采样地馈送到操作数选择多路复用器114中。操作数选择多路复用器114为执行算术和逻辑操作的双路径流水线FPU/整数单元/ALU 116提供馈送,双路径流水线FPU/整数单元/ALU116又为用于结果写回和转发的电路118提供馈送。处理过的采样随后经由I/O数据路径54被写到采样同步音频缓冲器50中的寄存器文件和RAM。
地址发生器120被连接到DSP控制单元88、中断控制器46和间隔定时器122。DSP控制单元88还被连接到全局交织指令存储器124(例如,包括频域和时域算法),并且还通过总线126被连接到所示各个功能单元(例如,效果处理器)。另外,在一个实施例中,DSP控制单元88被连接到DMA控制器44和信号量(semaphore)寄存器128。作为示例,DSP控制单元88被示为包括程序计数器阵列单元或模块130、指令取得和解码单元或模块132、操作数选择控制单元134、分支控制单元136、并发移动单元138、分页(每线程)循环栈140和分页(每线程)程序计数器(PC)栈142。
具体参考图7,标号150总地指示一种根据本发明的示例性方法,用于在DSP 22中执行前台例程或功能。方法150可以首先(如操作152所示)执行检查来确定输入缓冲器48是否填充有要处理的新数据。如果是,则方法然后可以获得指向适当缓冲器的指针(如操作154所示),然后处理该缓冲器中的该数据(见操作156)。此后,如操作158所示,数据被写回音频输出缓冲器50。如上所述,方法150一般用在前台循环中执行频域算法或者基于块的算法。此外,当DSP 22接收到时域中断36时,它退出方法152,并且执行后台时域中断子例程。在一个实施例中,方法150可由DSP 22的线程执行,并且可以运行类似于“微型操作系统”或者OS的微内核程序,从而控制DSP 22的操作。因此,线程可以负责路由传入采样流,将每个流路由到DSP 22的适当的效果引擎以便处理,并且将处理后的采样流写或者传输回音频总线42。
具体参见图8,标号160示出了前台例程162和后台例程164之间的示例性交互(另参见图4)。如上所述,当中断36发生时,进入示例性后台例程。如操作166所示,输入采样数据被读入通用寄存器30,并且在一个实施例中,通用寄存器30是针对每种效果分配的。因此,DSP 22处理的每种效果具有其自己专用的通用寄存器。此后,如操作168和170所示,每种效果随后被单独地处理。例如,效果1可以在操作168中被处理,并且在处理该效果时,用于效果1的通用寄存器30可以被读取,寄存器中的数据采样可以被处理,然后被写到通用寄存器输出。该过程可以继续,直到所有效果都已被处理(参见操作170)。
然而,如上所述,数据采样可以在后台例程164和前台例程162之间被传递。具体而言,数据采样可以从逐采样处理被传送到基于块的处理线程,如箭头172总地指示。类似地,数据采样可以从基于块的处理线程被传送到逐采样处理线程,如箭头174总地指示。
返回到从逐采样到基于块的线程的数据传送(参见箭头172),在操作176中,数据可以从后台例程164被接收到,并且缓冲器收集例程可以读通用寄存器30,并且将它们的寄存器中的数据采样拷贝到所提供的共享存储器中,例如,X和Y存储器32中。在一个示例性实施例中,缓冲器可以是循环缓冲器。此后,如判决操作178所示,确定是否已达到缓冲器的末尾,并且如果是,则数据传送例程可以返回到后台例程,如线180所示。但是,如果否,则如操作182所示,指针可以被交换,并且产生信号指示新缓冲器应当被加载,此后,如操作184所示,数据传送例程可以返回到后台例程164。
类似地,利用传送例程可以实现从基于块的算法到逐采样算法的数据采样传送(参见箭头174)。如操作186所示,缓冲器分派例程可以读共享存储器(例如,X和Y RAM 32),并且例如循环缓冲器可以将数据采样写到通用寄存器30。如判决操作188所示,如果尚未达到缓冲器的末尾,则数据传送例程可以返回到后台例程164。但是,如果已达到缓冲器末尾,则对于给定的DSP体系结构可以以适当的方式处理达到缓冲器末尾的情形(参见操作190)。此后,可以退出前台例程162,并且后台例程164可以再次接手。
DSP模块22的一种示例性实现方式在图9中示出。具体而言,标号200总地指示根据本发明一个方面的示例性数字处理设备的示意性框图。设备200被示为包括多个处理模块,即,数字信号处理(DSP)模块22、延迟模块202、采样速率转换器(SRC)模块204、滤波器模块206和混频器模块208。设备200还包括数字音频输入/输出(I/O)模块210和音频存储器传输模块218。模块22、202-210经由数据路径212串行互连,数据路径212被布置为环形配置,其中数据从任一处理模块顺序被传输到任何其他处理模块。不同于传统数字处理设备,根据本发明的设备200允许每个模块22、202-210与连接到数据路径212的任何其他模块22、202-210进行数据通信,下面将更详细地描述。在本发明的一个实施例中,数据路径212是时分复用的,其中路由控制器控制各个模块22、202-210之间的数据通信。此外,应当意识到,模块22、202-210仅是示例性的模块,并且其他模块(具有相同或不同处理能力)也可以被包括在设备200中,并且/或者这些模块中的任何一个或多个可以被去除,而其功能例如被包括在任何其他模块中。
因此,在一个实施例中,模块22、202-210中的任何一个可以在路由控制器的控制下将数据传输到其他模块22、202-210中的任何一个或多个。因此,正被数字处理设备200处理的数据可以在不同模块22、202-210之间被灵活地路由,并且不需要被限制为像传统设备中那样的预定通路。将意识到,模块22、202-210也可以经由音频总线214将数据传输回其自身。因此,可由同一个处理模块对数据执行重复处理。将数据提供到数据路径212的处理模块22、202-210可以被看作源处理模块,而要对该数据进行处理的特定处理模块22、202-210可以被看作目标或者目的地处理模块。由于处理模块22、202-210可以将处理过的数据返回到其自身,因此在一种操作模式中,处理模块22、202-210可以定义源和目的地处理模块二者。因此,例如,滤波器模块206可以形成级联滤波器布置,其中其输出或者被处理过的数据在被发送到另一个处理模块22、202-210之前可以被发送回其自身以便进行进一步处理。
音频存储器传输模块218经由总线220与接口模块222通信,接口模块222例如可以形成计算机设备(例如,个人计算机或者说PC)的总线的一部分。在一个实施例中,接口模块222包括桥接器224和将桥接器224接口到传统PC总线228的两个PCI-X总线接口226。数字I/O模块210可以接收数字音频输入,并且提供数字音频输出到输出设备。数据路径212将模块22、202-210和218串行互连。
设备200的数据路径212包括采取音频数据路径或音频总线214这一示例性形式的媒体数据路径(在本实施例中其对应于图1中的数据总线42),以及采取参数总线216这一示例性形式的处理控制路径。在一个实施例中,音频总线214和参数总线216都被布置为环形配置,其中数据以时分复用的方式在各个处理模块22、202-210之间被传输。因此,采样数据可由采样同步音频输入缓冲器48顺序接收到,并且被馈送到DSP 22中。类似地,处理后的采样数据可以从采样同步音频输出缓冲器50被输出到音频总线214。采样锁定时基模块38可以监控音频总线214,并且在检测到已从音频环或总线214读出的数据采样的完整循环时输出其中断36。由于各个模块沿音频总线214布置,所以音频数据可以在模块之间路由,而不要求该数据通过中央集线器(例如,DSP 22)被路由。在某些实施例中,设备200包括传输总线215,传输总线215经由音频存储器传输模块218将外部计算机接口到处理模块22、208-210。
为了控制在数据路径212(包括例如音频总线214、参数总线216和传输总线215)上路由数据,在某些实施例中设备200包括主机接口或路由控制器230(参见图10),路由控制器230对沿数据路径212路由数据进行控制。具体而言,如标号232总地指示,在一个实施例中,路由控制器230对经由片选线路236和地址、写数据和写使能线路238将数据路由到每个处理模块22、202-210和218进行控制。每个模块22、202-210和218经由读数据和确认线路240将数据传输到主机接口或路由控制器230。在一个实施例中,路由控制器230限定使用完全同步握手方法并接口到设备200的各个处理模块22、202-210和218的主机接口。例如,路由控制器230可以产生片选信号,该片选信号被保持活动直到从所选中的处理模块22、202-210和218接收到确认信号为止。在一个实施例中,路由控制器230对主机地址的最高有效位进行解码,并且响应于此产生片选信号,该片选信号使能所选中的处理模块22、202-210和218。每个模块22、202-210和218可以在本地对主机地址的有效的剩余最低有效位进行解码,从而标识出数据要被路由到的特定模块22、202-210和218。
在本发明的一个实施例中,DSP模块被以下述方式接口到路由控制器230:该方式使得DSP模块22可以访问在模块22、202-210和218中每一个中设置的寄存器和随机存取存储器(RAM)。具体而言,如图11所示,DSP模块22可以经由数据总线242、地址总线244、确认线路248、写使能线路250、请求线路252和片选线路254与路由控制器230通信。为了访问可能在模块202-210和218中设置的寄存器和RAM,DSP模块22经由线路252传输请求到路由控制器230。路由控制器230随后可以经由确认线路248对该请求作出确认,此后可以利用地址总线244和数据总线242执行所请求的功能。
在在数字音频I/O模块210内设置了采样速率跟踪器的实施例中,其也可以被接口到路由控制器230,从而提供对模块22、202-210和218中的寄存器和/或RAM的访问。在一个实施例中,设备200具有两个基址寄存器,一个映射到I/O,另一个映射到存储器。这两个寄存器可以同时是活动的,并且两个地址寄存器可以允许访问其上设置着设备200的芯片的相同内部寄存器和存储器。
在本发明的一个实施例中,音频总线214提供时分复用的音频通道。每个处理模块22、202-210和218可以具有分配给其的固定输出时隙和可编程或可变输入时隙。因此,在这种实施例中,模块22、202-210和218在路由控制器230控制下,可以始终在相同的预定时隙中输出数据到音频总线214,而在不同的时隙中接收数据。因此,由于与每个模块22、202-210和218相关联的输入时隙是可编程的,所以可以以灵活的方式在各个模块22、202-210和218之间路由数据。通道标识总线可以被提供来标识时隙被关联到的模块22、202-210和218。在一个实施例中,通道标识总线标识源处理模块22、202-210和218,并且目标或目的地处理模块22、202-210和218包括用于标识将要被处理的数据来自的数据源的列表。然而,应当意识到,通道标识也可以标识目标处理模块22、202-210和218。在一个实施例中,通道标识可被采样锁定时基模块38监控,以在来自每个通道的采样被接收到之后产生中断36。因此,在接收到新的采样组或群(对每个通道提供一个采样)之前,已产生了中断36。因此,如上所述,DSP 22随后将利用例如时域中断子例程对采样数据组进行处理。因此,对经由音频总线42接收到的数据采样进行时域处理或着逐采样处理可以与经由音频总线214传输数据同步。就此而言,往复式缓冲器48和50可以在每次产生中断36时翻转。在一个示例性实施例中,图1的音频总线42(例如,对应于图9中的音频总线214)可被视为类似于包括多个数据通道的数据采样的循环缓冲器,并且一旦每个通道的数据采样已被读取,该“循环缓冲器”就卷绕。就此示例而言,可以产生中断36,以提供采样同步数据到DSP 22。
在某些实施例中,设备200允许数字数据(例如,数字音频数据)以不同的采样速率(例如,由DSP模块22设置的采样速率)沿音频总线214被传输。例如,在本发明的一个实施例中,在音频总线214上提供4096个缓冲通道或者时隙。在这种示例性配置中,音频总线214可以通过为48kHz分配一个时隙、为96kHz分配两个时隙、为192kHz分配四个时隙并且为384kHz分配八个时隙,来支持最高达384kHz的采样速率。因此,由于在给定的采样中有总共4096个通道或者时隙,因此仅2048个通道或时隙在96kHz下可用,1024个时隙在192kHz下可用,512个时隙在384kHz下可用。但是,应当意识到,在设备200工作期间,在任何给定时刻用于每种采样速率的时隙数可以不同,并且例如可能发生以下情形:提供3348个48kHz时隙、提供204个96kHz时隙,并且提供85个192kHz时隙。但是,各种配置(例如,比特速率)或者时隙数目可以根据要由设备200执行的功能而变。例如,在其他实施例中,可以提供可编程操作时钟频率。例如,可以提供150MHz、175MHz和200MHz的时钟频率,分别对应于20072、3584和4096个时隙。然而,应当意识到,这些仅是频率和时隙的示例,并且它们可能随实施例不同而改变。因此,在一个实施例,媒体数据路径可能包括用于以多种不同的比特速率传输媒体数据的多个时隙,其中分配给这多种比特速率中每种的时隙数目的总和等于时隙总数。采样锁定时基模块210将产生中断36作为依赖于音频总线214上的采样速率的频率。
在某些实施例中,任意的采样速率(例如,44.1kHz的CD标准)可以利用指示符位(例如,有效位)经由音频总线46被传输或路由,其中指示符位向接收模块22、202-210和218指示新的有效采样将从音频总线214被取得或提取以用于处理。当任意的采样速率(例如,44.1kHz采样速率)经由音频总线214被传输,并且示例性有效位为高时,相应模块22、202-210和218可以将数据作为有效数据接受。反之,当有效位变低时,模块22、202-210和218从而被告知后续采样可以不考虑。
尽管在一个实施例中,可变采样速率可以经由音频总线214被传输,但是参数总线216可以以独立于音频总线214的采样速率的固定采样速率(例如,48kHz)传输控制数据。
在一个实施例中,音频总线214传输将由各个模块22、202-210和218处理的音频数据。然而,参数总线216包括参数或处理数据,该数据由关联模块22、202-210和218用来定义关联模块22、202-210和218的功能(例如,算法)。因此,控制数据从而可以控制特定模块22、202-210和218将如何处理音频总线214上的数据。例如,参数总线214可以用来将滤波器参数传输到滤波器模块206,将采样速率转换器参数传输到采样速率转换器模块204,将延迟数据传输到限定音频数据将被延迟的期间的模块202,等等。因此,逐采样或者基于时间的算法数据和基于块的算法数据可以被传输到DSP 22以执行所选算法。
将意识到,为了减少设备200中的任何处理等待时间,参数数据应当在每个特定处理模块22、202-210和218将输出处理过的音频数据之前被提供给每个处理模块22、202-210和218。因此,参数数据在音频数据经由音频总线214到达特定处理模块22、202-210和218之前经由参数总线216被传输到特定处理模块22、202-210和218。
本发明延伸到包括在被机器(例如,PC、处理器等)执行时致使该机器执行这里所述的任何功能的指令/软件的机器可读介质(例如,RAM)。在本说明书中,术语“机器可读介质”应当被理解为包括能够存储或者编码用于由机器执行并且致使该机器执行本发明的任何方法之一的指令序列的任何介质。因此,术语“机器可读介质”应当被理解为包括但不限于固态存储器、光盘和磁盘以及载波信号。
因此,已描述了用于处理数字媒体流的方法和设备。尽管结合对数字音频流形式的数字媒体流的处理描述了本发明,但是应当意识到本发明可以适用于处理任何其他数字媒体流,例如数字视频流等。此外,尽管已结合特定示例性实施例描述了本发明,但是很明显在不脱离本发明宽广的精神和范围的情况下,可以对这些实施例作出修改和改变。因此,说明书和附图应当被认为是说明性的而非限制性的。
Claims (49)
1.一种用于处理数字采样的数字处理器,该处理器包括:
时域处理引擎,用于在时域中处理数字采样;
频域处理引擎,用于在频域中处理数字采样;
在所述数字处理器中设置的共享存储器,利用所述共享存储器可交换经时域处理的采样和经频域处理的采样。
2.如权利要求1所述的处理器,其中,所述时域处理引擎以逐采样方式处理数据采样,并且所述频域处理引擎以基于块的方式处理数据采样。
3.如权利要求1所述的处理器,其中,所述时域处理引擎和所述频域处理引擎被集成在数字信号处理器(DSP)芯片中。
4.如权利要求3所述的处理器,其中,所述共享存储器是所述DSP芯片上设置的X和Y随机存取存储器(RAM)。
5.如权利要求1所述的处理器,包括将所述处理器接口到数字采样总线的至少一个输入/输出缓冲器,所述数字采样总线将所述数字采样提供给所述处理器并且从所述处理器接收经处理的数字采样。
6.如权利要求5所述的处理器,其中,所述数字采样总线是采样同步的数字音频总线和数字视频总线之一。
7.如权利要求6所述的处理器,其中,所述数字采样总线在多个时隙中传输所述数字采样,所述多个时隙将数据采样提供给所述处理器和从所述处理器接收数据采样。
8.如权利要求5所述的处理器,包括用于从所述数字采样总线接收数据采样的输入缓冲器和用于将数据采样提供给所述数字采样总线的输出缓冲器。
9.如权利要求8所述的处理器,其中,所述输入缓冲器和输出缓冲器是往复式缓冲器。
10.如权利要求9所述的处理器,包括基于所述数字采样总线产生中断的中断发生器,其中所述输入缓冲器响应于所述中断将输入数据采样传输到所述处理器,并且所述输出缓冲器响应于所述中断将输出数据采样传输到所述数字采样总线。
11.如权利要求5所述的处理器,其中,所述数字采样被逐采样地在所述DSP和所述数字采样总线之间交换。
12.如权利要求1所述的处理器,其中,所述处理器是线程交织数字信号处理器(DSP),并且数字采样可经由所述共享存储器在所述时域处理引擎的线程和所述频域处理引擎之间交换。
13.如权利要求1所述的处理器,包括输入缓冲器和输出缓冲器,其中所述处理器:
从数字采样总线有选择地提取数字采样以进行处理,所述数字采样是在分配给所述处理器的所述数字采样总线的至少一个时隙中提供的;
有选择地将经处理的数字采样插入分配给其的时隙中;并且
沿所述数字采样总线不加改变地传递其接收到的并且与其他处理设备相关联的数字采样。
14.如权利要求1所述的处理器,其:
以逐采样方式累积来自数字采样总线的数字采样;
标识已接收到一块数字采样的时间;
在已接收到一个完整的块后在所述频域中处理所述块;并且
将经处理的采样块以逐采样方式传输到所述数字采样总线。
15.如权利要求1所述的处理器,其中,频域处理在前台例程中执行,并且时域处理在后台例程中执行,响应于中断进入所述后台例程。
16.如权利要求15所述的处理器,其中,所述数字采样总线是以环形配置布置的时分复用总线。
17.如权利要求16所述的处理器,其中,所述数字采样总线包括:
由时分复用时隙限定的多个媒体通道;以及
包括用来向所述处理器标识每个媒体通道的通道标识数据的通道标识路径。
18.如权利要求17所述的处理器,包括用来标识所述处理器接收到来自每个通道的数字采样的时间的标识符,其中所述中断响应于所述标识符而被产生。
19.如权利要求1所述的处理器,其中,所述处理器被设置在数字音频处理设备的超大规模集成电路(VLSI)中。
20.一种用于数字处理器中处理数据采样的方法,该方法包括:
在设置在所述数字处理器中的共享存储器中存储数据采样存储;
在时域中对在所述共享存储器中提供的数字采样进行处理;以及
在频域中对在所述共享存储器中提供的数字采样进行处理,其中经时域处理的采样和经频域处理的采样可经由所述共享存储器交换。
21.如权利要求20所述的方法,其中,在时域处理期间,数据采样以逐采样方式被处理,并且在频域中,数据采样以基于块的方式被处理。
22.如权利要求20所述的方法,包括在单个集成数字信号处理器(DSP)芯片中在所述时域和所述频域数据中处理数据采样。
23.如权利要求20所述的方法,其中,所述共享存储器是所述DSP芯片上设置的X和Y随机存取存储器(RAM),该方法包括在所述RAM和时域处理引擎之间以及所述RAM和频域处理引擎之间交换采样数据。
24.如权利要求20所述的方法,包括经由至少一个输入/输出缓冲器将所述处理器接口到数字采样总线,所述输入/输出缓冲器将所述数字采样提供给所述处理器并且从所述处理器接收经处理的数字采样。
25.如权利要求24所述的方法,其中,所述数字采样总线是采样同步的数字音频总线和数字视频总线之一。
26.如权利要求25所述的方法,包括在多个时隙中在所述处理器和所述采样总线之间传输所述数字采样,所述多个时隙将数据采样提供给所述处理器和从所述处理器接收数据采样。
27.如权利要求24所述的方法,包括从所述数字采样总线经由输入缓冲器接收数据采样和经由输出缓冲器将数据采样提供给所述数字采样总线。
28.如权利要求27所述的方法,其中,所述输入缓冲器和输出缓冲器是往复式缓冲器。
29.如权利要求28所述的方法,包括基于所述数字采样总线产生中断,其中所述输入缓冲器响应于所述中断将输入数据采样传输到所述处理器,并且所述输出缓冲器响应于所述中断将输出数据采样传输到所述数字采样总线。
30.如权利要求24所述的方法,其中包括在所述处理器和所述数字采样总线之间逐采样地交换数字采样。
31.如权利要求20所述的方法,其中,所述处理器是线程交织数字信号处理器(DSP),并且该方法包括经由所述共享存储器在时域处理引擎的线程和频域处理引擎之间交换数字采样。
32.如权利要求20所述的方法,其中所述处理器包括输入缓冲器和输出缓冲器,该方法包括:
从数字采样总线有选择地提取数字采样以进行处理,所述数字采样是在分配给所述处理器的所述数字采样总线的至少一个时隙中提供的;
有选择地将经处理的数字采样插入分配给其的时隙中;并且
沿所述数字采样总线不加改变地传递其接收到的并且与其他处理设备相关联的数字采样。
33.如权利要求20所述的方法,包括:
以逐采样方式累积来自数字采样总线的数字采样;
标识已接收到一块数字采样的时间;
在已接收到一个完整的块后在所述频域中处理所述块;并且
将经处理的采样块以逐采样方式传输到所述数字采样总线。
34.如权利要求20所述的方法,包括:
在前台例程中执行频域处理;
在后台例程中执行时域处理;以及
响应于中断进入所述后台例程。
35.如权利要求34所述的方法,包括以环形配置将所述数字采样总线布置为时分复用总线。
36.如权利要求35所述的方法,包括:
在时分复用时隙中提供多个媒体通道;以及
提供包括用来向所述处理器标识每个媒体通道的通道标识数据的通道标识路径。
37.如权利要求36所述的方法,包括标识所述处理器接收到来自每个通道的数字采样的时间,并且响应于所述标识符而产生所述中断。
38.如权利要求20所述的方法,其中,该方法是在数字音频处理设备的超大规模集成电路(VLSI)中执行的。
39.一种机器可读介质,该机器可读介质包含在被所述机器执行时致使所述机器执行以下步骤的指令序列:
在设置在数字处理器中的共享存储器中存储数据采样;
在时域中对在所述共享存储器中提供的数字采样进行处理;以及
在频域中对在所述共享存储器中提供的数字采样进行处理,其中经时域处理的采样和经频域处理的采样可经由所述共享存储器交换。
40.如权利要求39所述的机器可读介质,其中,所示指令致使所述机器在时域处理期间以逐采样方式处理数据采样,并且在频域处理期间以基于块的方式处理数据采样。
41.如权利要求39所述的机器可读介质,其中,所述指令致使所述机器在单个集成数字信号处理器(DSP)芯片中在所述时域和所述频域中处理数据采样。
42.如权利要求39所述的机器可读介质,其中,所述共享存储器是所述DSP芯片上设置的X和Y随机存取存储器(RAM),并且所述指令致使所述机器在所述RAM和时域处理引擎之间以及所述RAM和频域处理引擎之间交换采样数据。
43.如权利要求39所述的机器可读介质,其中,所述指令致使所述机器在多个时隙中在所述处理器和采样总线之间传输所述数字采样,所述多个时隙将数据采样提供给所述处理器和从所述处理器接收数据采样。
44.如权利要求39所述的机器可读介质,其中,所述指令致使所述机器基于数字采样总线产生中断,并且其中输入缓冲器响应于所述中断将输入数据采样传输到所述处理器,输出缓冲器响应于所述中断将输出数据采样传输到所述数字采样总线。
45.如权利要求39所述的机器可读介质,其中,所述指令致使所述机器在所述处理器和所述数字采样总线之间逐采样地交换数字采样。
46.如权利要求39所述的机器可读介质,其中,所述处理器是线程交织数字信号处理器(DSP),并且其中所述指令致使所述机器经由所述共享存储器在时域处理引擎的线程和频域处理引擎之间交换数字采样。
47.如权利要求39所述的机器可读介质,其中,所述指令致使所述机器:
以逐采样方式累积来自数字采样总线的数字采样;
标识已接收到一块数字采样的时间;
在已接收到一个完整的块后在所述频域中处理所述块;并且
将经处理的采样块以逐采样方式传输到所述数字采样总线。
48.如权利要求39所述的机器可读介质,其中,所述指令致使所述机器:
在前台例程中执行频域处理;
在后台例程中执行时域处理;以及
响应于中断进入所述后台例程。
49.如权利要求39所述的机器可读介质,其中,所述指令致使所述机器:
在时分复用时隙中提供多个媒体通道;
提供包括用来向所述处理器标识每个媒体通道的通道标识数据的通道标识路径;以及
标识所述处理器接收到来自每个通道的数字采样的时间,并且响应于所述标识符而产生所述中断。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/875,259 US7457484B2 (en) | 2004-06-23 | 2004-06-23 | Method and device to process digital media streams |
US10/875,259 | 2004-06-23 | ||
PCT/US2005/022014 WO2006002209A2 (en) | 2004-06-23 | 2005-06-22 | Processing digital media streams |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101185057A true CN101185057A (zh) | 2008-05-21 |
CN101185057B CN101185057B (zh) | 2010-11-17 |
Family
ID=35541448
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2005800211266A Active CN101185057B (zh) | 2004-06-23 | 2005-06-22 | 处理数字媒体流 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7457484B2 (zh) |
EP (1) | EP1787191B1 (zh) |
JP (1) | JP4951508B2 (zh) |
CN (1) | CN101185057B (zh) |
AT (1) | ATE520118T1 (zh) |
WO (1) | WO2006002209A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110535619A (zh) * | 2018-05-25 | 2019-12-03 | 哈曼贝克自动系统股份有限公司 | 多速率数字传感器同步 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7457484B2 (en) | 2004-06-23 | 2008-11-25 | Creative Technology Ltd | Method and device to process digital media streams |
US20060129713A1 (en) * | 2004-12-15 | 2006-06-15 | Xie Ian Z | Pipeline architecture for content creation for the portable media player from the internet |
JP4519082B2 (ja) * | 2006-02-15 | 2010-08-04 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理方法、動画サムネイル表示方法、復号化装置、および情報処理装置 |
US7937451B2 (en) | 2007-01-08 | 2011-05-03 | Mspot, Inc. | Method and apparatus for transferring digital content from a computer to a mobile handset |
US7865571B2 (en) | 2007-01-08 | 2011-01-04 | Mspot, Inc. | Method and apparatus for transferring digital content from a personal computer to a mobile handset |
US7865572B2 (en) * | 2007-01-08 | 2011-01-04 | Mspot, Inc. | Method and apparatus for transferring digital content from a personal computer to a mobile handset |
US9317179B2 (en) | 2007-01-08 | 2016-04-19 | Samsung Electronics Co., Ltd. | Method and apparatus for providing recommendations to a user of a cloud computing service |
US8041848B2 (en) * | 2008-08-04 | 2011-10-18 | Apple Inc. | Media processing method and device |
US20110252422A1 (en) | 2010-04-07 | 2011-10-13 | Apple Inc. | Opportunistic Multitasking |
US9336068B2 (en) | 2013-06-07 | 2016-05-10 | Apple Inc. | Throttling of application access to resources |
US10353709B2 (en) | 2017-09-13 | 2019-07-16 | Nextera Video, Inc. | Digital signal processing array using integrated processing elements |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4191919A (en) * | 1978-05-22 | 1980-03-04 | Varian Associates, Inc. | Fast NMR acquisition processor |
JPS6275977A (ja) * | 1985-09-28 | 1987-04-07 | Victor Co Of Japan Ltd | デイジタル・オ−デイオ・デイスク再生装置 |
US5054360A (en) * | 1990-11-01 | 1991-10-08 | International Business Machines Corporation | Method and apparatus for simultaneous output of digital audio and midi synthesized music |
CA2069711C (en) * | 1991-09-18 | 1999-11-30 | Donald Edward Carmon | Multi-media signal processor computer system |
US5572691A (en) * | 1993-04-21 | 1996-11-05 | Gi Corporation | Apparatus and method for providing multiple data streams from stored data using dual memory buffers |
US5740404A (en) * | 1993-09-27 | 1998-04-14 | Hitachi America Limited | Digital signal processor with on-chip select decoder and wait state generator |
JP3579843B2 (ja) * | 1994-10-24 | 2004-10-20 | 日本テキサス・インスツルメンツ株式会社 | ディジタル信号処理装置 |
JPH07182157A (ja) * | 1994-10-24 | 1995-07-21 | Mitsubishi Electric Corp | ディジタル信号処理プロセッサ |
US5883804A (en) * | 1995-06-14 | 1999-03-16 | Telex Communications, Inc. | Modular digital audio system having individualized functional modules |
US6012142A (en) * | 1997-11-14 | 2000-01-04 | Cirrus Logic, Inc. | Methods for booting a multiprocessor system |
US6145007A (en) * | 1997-11-14 | 2000-11-07 | Cirrus Logic, Inc. | Interprocessor communication circuitry and methods |
US6081783A (en) * | 1997-11-14 | 2000-06-27 | Cirrus Logic, Inc. | Dual processor digital audio decoder with shared memory data transfer and task partitioning for decompressing compressed audio data, and systems and methods using the same |
US6029221A (en) * | 1998-06-02 | 2000-02-22 | Ati Technologies, Inc. | System and method for interfacing a digital signal processor (DSP) to an audio bus containing frames with synchronization data |
US6570912B1 (en) * | 1999-03-05 | 2003-05-27 | Pctel, Inc. | Hybrid software/hardware discrete multi-tone transceiver |
US6751641B1 (en) * | 1999-08-17 | 2004-06-15 | Eric Swanson | Time domain data converter with output frequency domain conversion |
US6892339B1 (en) * | 1999-09-20 | 2005-05-10 | Freescale Semiconductor, Inc. | Discrete multi-tone (DMT) system and method that communicates a data pump data stream between a general purpose CPU and a DSP via a buffering scheme |
EP1247195A4 (en) * | 1999-12-22 | 2005-01-05 | Ubicom Inc | SYSTEM AND METHOD FOR MULTITHREADING WORKING ON COMMAND LEVEL IN AN EMBEDDED PROCESSOR WITH ZERO-TIME CONTEXT SWITCHING |
JP4511008B2 (ja) * | 2000-09-29 | 2010-07-28 | 京セラ株式会社 | 画像送信装置 |
JP4292719B2 (ja) * | 2001-01-19 | 2009-07-08 | ソニー株式会社 | 並列演算装置 |
US6885992B2 (en) * | 2001-01-26 | 2005-04-26 | Cirrus Logic, Inc. | Efficient PCM buffer |
US6804655B2 (en) * | 2001-02-06 | 2004-10-12 | Cirrus Logic, Inc. | Systems and methods for transmitting bursty-asnychronous data over a synchronous link |
US6937988B1 (en) * | 2001-08-10 | 2005-08-30 | Cirrus Logic, Inc. | Methods and systems for prefilling a buffer in streaming data applications |
US6492903B1 (en) * | 2001-11-30 | 2002-12-10 | Harris Corporation | Multiple input-type and multiple signal processing-type device and related methods |
US7366659B2 (en) * | 2002-06-07 | 2008-04-29 | Lucent Technologies Inc. | Methods and devices for selectively generating time-scaled sound signals |
US7457484B2 (en) | 2004-06-23 | 2008-11-25 | Creative Technology Ltd | Method and device to process digital media streams |
-
2004
- 2004-06-23 US US10/875,259 patent/US7457484B2/en active Active
-
2005
- 2005-06-22 WO PCT/US2005/022014 patent/WO2006002209A2/en active Application Filing
- 2005-06-22 CN CN2005800211266A patent/CN101185057B/zh active Active
- 2005-06-22 JP JP2007518220A patent/JP4951508B2/ja active Active
- 2005-06-22 EP EP05762719A patent/EP1787191B1/en active Active
- 2005-06-22 AT AT05762719T patent/ATE520118T1/de not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110535619A (zh) * | 2018-05-25 | 2019-12-03 | 哈曼贝克自动系统股份有限公司 | 多速率数字传感器同步 |
CN110535619B (zh) * | 2018-05-25 | 2023-10-03 | 哈曼贝克自动系统股份有限公司 | 多速率数字传感器同步 |
Also Published As
Publication number | Publication date |
---|---|
WO2006002209A2 (en) | 2006-01-05 |
US20060008180A1 (en) | 2006-01-12 |
EP1787191A4 (en) | 2009-05-06 |
US7457484B2 (en) | 2008-11-25 |
JP4951508B2 (ja) | 2012-06-13 |
WO2006002209A3 (en) | 2007-02-22 |
ATE520118T1 (de) | 2011-08-15 |
JP2008504572A (ja) | 2008-02-14 |
EP1787191B1 (en) | 2011-08-10 |
CN101185057B (zh) | 2010-11-17 |
EP1787191A2 (en) | 2007-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101185057B (zh) | 处理数字媒体流 | |
US11829300B2 (en) | Method and apparatus for vector sorting using vector permutation logic | |
KR101540633B1 (ko) | 하이브리드 명령 큐를 갖는 프로세서 | |
KR101643675B1 (ko) | 명령 프로세싱 회로들, 및 관련 프로세서 시스템들, 방법들 및 컴퓨터―판독 가능 매체들에서 반대 컨디션들을 갖는 조건부 기록 명령들의 융합 | |
EP2261815A2 (en) | Multithread processor with efficient processing for convergence device applications | |
CN109643233A (zh) | 具有带读取和读取/前进操作数编码的流引擎的数据处理设备 | |
US11106462B2 (en) | Method and apparatus for vector sorting | |
CN106816152A (zh) | 一种音频混音方法、装置和电子设备 | |
CN106663072A (zh) | 用于配置中断的集合的装置和方法 | |
CN108521817A (zh) | 用于执行反离心操作的指令和逻辑 | |
US8560811B2 (en) | Lane crossing instruction selecting operand data bits conveyed from register via direct path and lane crossing path for execution | |
WO2019094492A1 (en) | System and method of vliw instruction processing using reduced-width vliw processor | |
CN105308557B (zh) | 一种数据处理装置及方法 | |
CN100359506C (zh) | 能够高效处理汇聚设备应用的多线程处理器 | |
US20190220276A1 (en) | Implied fence on stream open | |
CN111984318A (zh) | 伪先进先出(fifo)标签线替换 | |
CN104011674A (zh) | 数字信号处理器 | |
CN112817638A (zh) | 一种数据处理装置及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |