CN1707431A - 信号处理装置及其方法 - Google Patents
信号处理装置及其方法 Download PDFInfo
- Publication number
- CN1707431A CN1707431A CNA2005100765907A CN200510076590A CN1707431A CN 1707431 A CN1707431 A CN 1707431A CN A2005100765907 A CNA2005100765907 A CN A2005100765907A CN 200510076590 A CN200510076590 A CN 200510076590A CN 1707431 A CN1707431 A CN 1707431A
- Authority
- CN
- China
- Prior art keywords
- signal processing
- unit
- processing module
- input
- plug
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/445—Exploiting fine grain parallelism, i.e. parallelism at instruction level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Logic Circuits (AREA)
Abstract
一种信号处理设备,用于以软件方式执行由多个信号处理单元组成的信号处理过程,包括多个信号处理模块、信号处理模块互连单元、电路布置信息存储与管理单元、信号处理顺序确定单元和信号处理执行单元。
Description
对相关申请的交叉引用
本发明包含相关于2004年6月9日向日本专利局提交的日本专利申请JP2004-170692的主题,其完整内容通过引用包括在此。
技术领域
本发明涉及一种以软件方式执行由多个信号处理单元组成的信号处理的信号处理装置。
背景技术
有了越来越高的性能,计算机现在可以播放活动图像和音乐,而这种播放在以前是很难的。活动图像和音频信号目前已易于实时处理,而不用专用的信号处理设备和专用的硬件,诸如数字信号处理器(DSP)。
各种各样的信号处理中间件技术支持信号处理应用。例如,DirectShow可从微软(R)获得(参见http://msdn.microsoft.com/library/default.asp?url=/library/en-us/directx9_c/directX/htm/directshow.asp),MATLAB可从MathWork(R)获得(参见http://www.mathworks.com),以及Max/MSP可从Cycling’74获得(参见http://www.cycling74.com/products/maxmsp.html)。
使用这类中间件技术执行信号处理应用的功能相对容易。例如,使用信号处理应用对音频信号进行录制、重播、输入和输出、混合、附加特效等。对于活动图像,提供了具有诸如非线性编辑等复杂编辑功能的信号处理应用。
具有插件结构的应用被建议为这种类型的中间件(参见日本未审查的专利申请公开文献号2001-109628和7-392195)。插件这里指模块化功能,并且是软件应用程序。贯穿本说明书,插件指构成信号处理模块的软件应用程序。
有了插件,用户可按需以外接附件(add-on)方式使用所需的信号处理模块。插件一般用作单元。当前可得到的若干新系统通过组合多个插件提供复杂功能。这样的复杂插件系统有望成为创造新价值的系统主流。
发明内容
当前可得到的复杂插件具有如下所讨论的缺点。
(a)如果插件是串联的,处理延迟(等待时间)相应增加。
(b)插件之间连接上的限制不允许反馈回路连接。
(c)插件之间的连接状态不能在信号处理的中间修改。
(d)由于低处理速度,无法在实时基础上完成多个功能。
(e)控制样本精度级别不能在音频和图像同步以及参数更新中进行。
(f)信号处理只在封闭环境中的单个计算机上完成。
目前可获得若干克服了某些以上缺点的中间件。但是,得不到任何没有所有这些缺点的中间件。因为某些缺点是彼此矛盾的(如果克服了一个缺点,就不利地影响了另一个)。例如,同时克服缺点(b)和(d)是非常困难的。
某些缺点在将插件结合进常规中间件产品时引起巨大障碍。
希望提供一种没有以上所指缺点的信号处理装置。
依照本发明的一个实施例,一种信号处理装置,用于以软件方式执行由多个信号处理单元组成的信号处理过程,信号处理装置包括多个信号处理模块,用于以软件方式处理多个信号处理单元,一输入命令接收单元,用于从用户接收产生或删除信号处理模块的命令以及连接信号处理模块的输入和输出的命令,一信号处理模块互连单元,用于设置多个信号处理模块每一个的输入和输出的虚拟连接状态,以响应通过输入命令接收单元从用户收到的命令,一电路布置信息存储与管理单元,用于存储和管理多个设置的信号处理模块每一个的输入和输出的虚拟连接状态,信号处理顺序确定单元,用于通过初始路径搜索和回路搜索确定存储在电路布置信息存储与管理单元中的多个信号处理模块的信号处理顺序,以及一信号处理执行单元,用于连续地使信号处理模块按照由信号处理顺序确定单元确定的信号处理顺序执行信号处理过程。信号处理顺序确定单元,通过初始路径搜索,搜索存储在电路布置信息存储与管理单元中的多个信号处理模块的信号处理顺序,通过回路搜索,搜索在存储在电路布置信息存储与管理单元的多个信号处理模块的电路布置中构成封闭回路的信号处理模块,以及更新通过初始路径搜索确定的信号处理顺序,因而如果在回路搜索期间检测到构成封闭回路的信号处理模块以及如果在初始路径搜索期间检测到包含在封闭回路前端的信号处理模块与在封闭回路后端的信号处理模块之间的处理顺序中的不构成封闭回路的信号处理模块,不构成封闭回路的信号处理模块在处理顺序中处于封闭回路前端的信号处理模块之前。
由于多个信号处理模块连续地执行具有固定的信号处理顺序的软件信号处理,因此每个信号处理模块没有了在存入异步缓冲器之后处理信号时所引起的不必要的处理延迟。
排列信号处理顺序以从信号处理模块到信号处理模块或信号处理分组到信号处理分组各不相同。更明确地说,构成封闭回路的信号处理模块根据信号处理顺序处理成一个分组。
即使不构成封闭回路的信号处理模块分组每次将信号处理成前馈电路,信号处理中的因果关系也是确保的。更明确地说,由于功能调用或计算处理过程由数据包单元或样本分组单元执行,所以加快了信号处理速度。
按照本发明的另一实施例,一种信号处理装置,用于以软件方式执行由多个信号处理单元组成的信号处理过程,信号处理装置包括多个信号处理模块,用于以软件方式处理多个信号处理单元,一输入命令接收单元,用于从用户接收产生或删除信号处理模块的命令以及连接信号处理模块的输入和输出的命令,一信号处理模块互连单元,用于设置多个信号处理模块每一个的输入和输出的虚拟连接状态,以响应通过输入命令接收单元从用户收到的命令,一电路布置信息存储与管理单元,用于存储和管理所述多个设置的信号处理模块每一个的输入和输出的虚拟连接状态,一信号处理顺序确定单元,用于确定存储在电路布置信息存储与管理单元中的所述多个信号处理模块的信号处理顺序,以及一信号处理执行单元,用于连续地使信号处理模块按照由信号处理顺序确定单元确定的信号处理顺序执行所述信号处理过程。如果来自用户的产生或删除信号处理模块的命令和/或来自用户的根据多个信号处理模块每一个的输入和输出的连接命令更新多个电路的电路布置更新请求,在由信号处理执行装置执行的信号处理的中间发出,则信号处理顺序确定单元搜索一个新的信号处理顺序,且信号处理执行装置按照新信号处理顺序执行所述信号处理过程。
当电路布置更新请求从用户发出时,信号处理顺序确定单元工作以搜索新的信号处理顺序,且信号处理执行单元按照新信号处理顺序执行信号处理过程。
即使在信号处理当中,也可更新电路布置,且信号处理过程连续地由经更新电路布置执行。
即使信号处理模块是串联的,信号处理装置也没有信号处理延迟。带有封闭回路的信号处理以软件方式执行。可以动态更新电路布置。
附图说明
图1是一功能方框图,例示依照本发明一个实施例的信号处理装置的主要部分;
图2例示依照本发明实施例的信号处理装置;
图3例示依照本发明实施例的信号处理装置;
图4例示依照本发明实施例的信号处理装置;
图5例示依照本发明实施例的信号处理装置;
图6例示依照本发明实施例的信号处理装置的插件的结构;
图7例示依照本发明实施例的信号处理装置的图的结构;
图8例示依照本发明实施例的信号处理装置的电路布置的结构;
图9例示依照本发明实施例的信号处理装置的电路布置过程的结构;
图10例示依照本发明实施例的信号处理装置的电路布置过程的结构;
图11例示依照本发明实施例的信号处理装置的电路布置过程的结构;
图12例示依照本发明实施例的信号处理装置的电路布置过程的结构;
图13是一流程图,例示依照本发明实施例的信号处理装置的路径搜索算法;
图14是一流程图,例示依照本发明实施例的信号处理装置的路径搜索算法的一部分,即初始路径搜索算法;
图15是一流程图,例示依照本发明实施例的信号处理装置的初始路径搜索算法;
图16是一流程图,例示依照本发明实施例的信号处理装置的初始路径搜索算法;
图17是一流程图,例示依照本发明实施例的信号处理装置的构成路径搜索算法一部分的回路搜索算法;
图18A和18B例示依照本发明实施例的信号处理装置的回路搜索算法;
图19是一流程图,例示依照本发明实施例的信号处理装置的AV同步处理过程;
图20是一流程图,例示依照本发明实施例的信号处理装置的电路布置的动态更新过程;
图21例示依照本发明实施例的信号处理装置的参数设置方法;
图22例示依照本发明实施例的信号处理装置的另一参数设置方法;
图23是一流程图,例示图22的参数设置方法的另一个例子;
图24是一流程图,例示图22的参数设置方法的又一例子;以及
图25例示依照本发明实施例的信号处理装置的实时分布式过程。
详细说明
下面参考附图描述本发明实施例的信号处理装置。
信号处理装置的通用信号处理中间件是软件信号处理器(SSP)。在以下实施例讨论中,信号处理装置处理音频信号。
如图2所示,SSP布置在通用操作系统(OS)和应用软件程序之间。应用软件程序使用SSP方便地执行复杂的信号处理功能。SSP,不需要图形用户界面(GUI),用作没有显示器的外接附件设备的信号处理引擎。
按照本发明一个实施例的信号处理装置的SSP是具有图结构的中间件。SSP基本上由单个计算机构成,并且也可由通过网络连接的多个计算机构成。
如按照本发明实施例SSP的信号处理装置包括两个主要元件,包括以软件方式实现的图模块(下文简称为图)以及以软件方式实现的插件模块(下文简称为插件)。
插件是用于执行诸如过滤、补偿、增益控制等信号处理单元的信号处理模块(软件)。
插件可包括多个输入端口和多个输出端口。插件通过输入端口在音频信号输入上执行只有它才有的信号处理过程,并从输出端口输出经处理音频信号。
多个插件可通过连接插件的输出端口到另一插件的输入端口(建立虚拟连接状态而不是建立硬件连接状态)来连接,并且因而完成复杂信号处理功能。在插件连接中,一个插件的输出连接到另一插件的输入,但输入不能彼此连接,且输出不能彼此连接。
图用作SSP系统,它包括多个插件。响应于来自用户的操作输入,图产生或删除插件,并执行端口到端口连接,存储得到的电路布置信息。图构造由插件组成的任何电路。
当调用图的信号处理功能时,图中继带有时间信息的所接收的音频数据给插件,并且从而输入或输出到或来自插件的音频数据和附加信息。
图还具有插件特性。图与插件一样具有输入和输出端口,并可以连接到另一插件。图可包括多个插件。通过产生图,由多个插件组成的电路块(图)作为单个插件处理。
图3例示其中包含多个插件的图。本发明实施例的信号处理装置由个人计算机实现。响应于用户命令,个人计算机在其显示器上以图形方式显示图、插件和插件的连接状态。
如图3所示,用户首先生成根图200,然后生成由多个插件201-204组成的电路。每个插件201-204可从存储在个人计算机中的插件中选取。在其存储状态中的插件是面向对象类中的模板,而实际对象尚未生成。
例如,用户从存储在个人计算机存储器中的插件选取了插件201-204的每一个,并在根图200中动态生成(安装)插件201-204。现在产生了面向对象中的对象。然后用户命令个人计算机连接插件201-204的输出端口和输入端口,并连接根图200到每个插件201和204。这样图3的电路就建立好了。
根图200保存内部插件201-204的电路布置信息。当用户调用根图200的信号处理功能时,所包含的插件的信号处理功能递归地由根图200的信号处理功能调用。连续地执行相关于信号处理过程的计算过程。递归信号处理功能调用的转移是SSP系统本身。
图4例示其中包含多个插件的另一个图。如前所述,该图也用作插件。该图具有包含一个不同于该图的插件和该图(分支图)的递归结构。如同另一个插件,该图具有输入和输出端口。如果从外部观察,该图看上去象个盒子。该图包括由多个插件组成的电路块。
如图4中所示,图400是根图。根图400包括分支图401和插件405。分支图401包括插件402、插件403和插件404。分支图401中的插件402、插件403和插件404保持从根图400不可见,且分支图401看起来就象单个插件。
用户首先生成根图(根图400)作为一个根。通过调用根图400的插件生成和删除功能,用户在根图内生成分支图401和插件405。
通过在分支图401中调用插件生成和删除功能,用户生成插件402、插件403和插件404。
为执行信号处理过程,用户首先调用根图400的信号处理功能。从根图400的信号处理功能递归调用分支图401和插件405(作为所包含的插件)的信号处理功能。连续地执行计算过程。该图具有确定递归信号处理功能调用顺序的功能。
在分支图401中,调用分支图401的信号处理功能。要包含的插件402、插件403和插件404的信号处理功能,从分支图401的信号处理功能递归调用。
SSP系统是上面提到的图的功能本身。调用图的插件,执行系统的功能,包括插件的生成和删除过程、插件到插件的连接过程、数据从插件到插件的中继、时间信息和每个音频信息和视频信息之间插件的同步建立过程、每个插件的信号处理功能的连续调用过程以及确定调用顺序的确定过程。
在以下讨论中,术语“系统”指图本身或图的功能。
图5是类图的统一建模语言(UML),例示SSP中间件的完整结构作为例子。SSP中间件用面向对象语言表示,且定义了类和应用编程接口(API)。
插件类(CPlugin)继承自插件接口(IPlugin),并实现只有插件才有的接口。插件类拥有多个输入端口类(CInputPort)和多个输出端口类(COutputPort)。
取决于功能,多种类型的插件类是可用的。例如,用于执行加法的插件类是加法器插件类(加法器插件),而用于执行乘法的插件类是乘法器插件类。这些类分类成自有插件(CMyPlugin)。自有插件类继承自插件类。中间件用户可使用插件模板方便地生成自有插件。
下面描述图类。图类(CGraph)包括多个插件类。与插件类一样,图类从插件接口(IPlugin)继承,并且图类本身是一个单一插件类。
图类有一个递归的层结构,其中一个图在其中包含另一个图和插件。这个结构相应于作为一种典型的面向对象设计技术的“设计模式”的复合模式。
图,也用作为一个插件,具有输入和输出端口,并且与另一个插件互连。通过产生一个图对象,由多个插件对象组成的电路块作为一个单一组件对象来处理。
接口(API)也在图类和插件类两者中定义。用作SSP中间件的客户机的应用可以通过控制API来控制对象。用户在SSP系统上执行的操作意味着对这两个对象的操作。
图6例示插件的结构。如前所述,插件是一个软件信号处理模块,并且图6的每个元素是用软件而不是硬件实现的。
如图6所示,插件600包括信号处理器601。而且,插件600可以具有零或多个输入端口602和零或多个输出端口603。插件600与另一个插件通过输入端口602和输出端口603交换信号(本例中音频数据)。一个信道的音频信号在每端口基础上输入或输出。
通过命令插件600添加或者删除输入端口602和输出端口603到插件600,插件600的输入端口602和输出端口603的数量被动态地改变,甚至在信号处理的中间。输入端口602是按照添加的顺序用从0至N(N是任何自然数)的标识号编号的,以及输出端口603是按照添加的顺序用从0至N(N是任何自然数)的标识号编号的。用户可以通过指定标识号来选择输入端口602之一和输出端口603之一。
插件600包括零或多个参数存储单元(参数缓冲器)604。参数存储单元604可以具有零或多个参数。参数指在信号处理过程中设置作用量的变量。例如,如果插件600是放大器,则参数是放大增益。使用插件600的用户可以通过修改插件600的参数值改变信号处理过程的效果。
这里在本例中,参数是用从0至K(K是任何自然数)的标识号编号的。通过指定任何标识号,用户可以在任何定时处修改参数缓冲器的内容。用户的参数输入临时存储在插件600的参数存储单元604中。参数从参数缓冲器604读出,基于与供给系统(图)的样本数据同步的信息,并且随后传送到信号处理器601。信号处理器601在其信号处理过程中使用参数。
插件600包括一个时间信息寄存器605。时间信息寄存器605连续地从SSP系统(图)接收时间信息。时间信息是从SSP系统的起点起(在图的信号处理功能开始时)音频输入和输出样本的累积计数。累积计数是SSP系统的最基本时间信息。
在本发明的实施例的SSP系统中,时间信息完全与音频输入和输出数据同步。更明确地说,SSP系统并发地为插件600提供音频数据和时间信息。时间信息用作提供给插件600的音频数据的数据样本的时间标记。插件600可以获悉关于要处理的目标输入数据的绝对时间处的一个样本的顺序的详细时间信息。由于所有在SSP系统中出现的插件参考并与绝对时间同步,因此同步的信号处理过程以样本精度级别作为SSP系统中的整个电路执行。
插件600包括信号处理器601。来自另一个插件的音频数据输入通过输入端口602传送到信号处理器601。信号处理601对通过输入端口602的音频数据输入执行对该插件唯一的信号处理过程,同时参考时间信息和送到信号处理器601的参数值。由信号处理器601处理的音频数据通过输出端口603发送到另一个插件。
在与时间信息同步时,信号处理器601不仅按照样本单元而且还按照数据包单元来执行处理过程,数据包单元由多个样本单元组成。在插件中,信号处理功能在每处理过程单元基础上调用。当信号处理过程按数据包单元执行,信号处理功能的调用每个数据包执行一次。信号处理速度随着功能调用的数量变小而增加更大。
当在这个实施例中与音频数据一起处理视频数据时,音频数据的处理与音频数据的视频帧同步(在音视频(AV)同步中)。音视频同步处理过程将在后面描述。如果音频数据的处理与视频数据的视频帧同步,则从系统连同时间信息一起提供视频数据的垂直同步信息Vs给插件600。
插件600检查与来自系统的时间信息同步的垂直同步信号Vs。如果插件600确定它是垂直同步信号Vs的定时,则插件600执行用与音频同步的视频执行的处理过程,包括一个参数的更新处理过程,该参数以垂直同步信号Vs的定时从参数缓冲器604送到信号处理器601。这样,在图中布置的电路的所有插件中的所有参数在与垂直同步信号Vs同步时更新,并且因而执行AV同步。
图7例示一个图。如前所述,该图是一个信号处理模块。在图7的图700中的元素是用软件而不是用硬件实现的。
图700具有如前所述的插件的特征。图700包括信号处理器701,输入端口702,输出端口703,参数缓冲器704和时间信息寄存器705。信号处理器701读包含在图700中的插件。输入端口702、输出端口703、参数缓冲器704和时间信息寄存器705的功能与参考图6讨论的插件600的对等物相同,这里不讨论了。参数缓冲器704的参数是图700的参数。
下面描述只有图700才有的功能。
图700包括一个插件产生器和存储单元706。分组700可以包含零或多个插件。通过命令图700添加和删除插件,用户动态地产生或删除插件,甚至在信号处理的中间。在信号处理期间的插件的动态产生和删除后面将详细地讨论。
在图700中,添加的插件是按照添加的顺序用标识号0-J(J是整数)编号的。用户用标识号标识每个插件。图700不必按照标识号的顺序将插件存储在插件产生器和存储单元706中。图700中的插件,以其一种按照后面要讨论的顺序计算的顺序而排序的状态,存储在插件产生器和存储单元706中。
用户可以命令图700在图700内将一个插件连接到另一个。甚至在信号处理的中间,用户可以动态地修改一个插件的输出端口到另一个插件的输入端口的连接状态。用户可以通过指定一个插件的标识号和到图700的一个端口的标识号来修改连接状态。响应于来自用户的连接更新请求,图700更新插件的连接状态。
用户命令图700启动信号处理过程。当用户调用图700的信号处理功能时,包含在图700的插件的信号处理功能,从图700的信号处理功能之中,被递归地调用。图700中的图或插件的信号处理器(以其按照顺序计算的顺序而排序的状态存储的),按照该顺序执行计算处理过程。包含在图700中的图和插件的计算处理过程顺序地执行,因而执行在图700中建立的整个电路的复杂信号处理过程。顺序计算的顺序是由系统(图700)按照插件之间的连接结构确定的。
如果电路布置的更新诸如插件的添加和删除以及输入端口和输出端口的连接状态的更新响应于用户命令而执行,则图700执行路径搜索,如后面将讨论的。图700自动确定包含在其中的插件和图的顺序计算的最优顺序。分支图在其路径搜索中自动地确定包含在分支图中的插件的顺序计算的最优顺序。
作为由图执行的路径搜索的结果,一个插件分组(包括一个分支图作为一个插件)以按照顺序计算的最优顺序而排序的状态存储在插件产生器和存储单元706中。一种图的路径搜索的算法将在后面讨论。
图1是图的功能框图,例示图的功能。图包括一个插件产生器和删除器2,一个插件连接处理器3,一个电路布置信息存储和管理器4,一个路径搜索器5,一个信号处理器和顺序管理器6,一个信号处理执行单元7和一个信号处理功能存储单元8。
在从用户接收插件产生和删除命令、输入和输出端口连接命令和参数输入命令时,命令输入接收器1将插件产生和删除命令中继到插件产生器和删除器2,并将输入和输出端口连接命令中继到插件连接处理器3。响应于插件产生和删除命令和输入和输出端口连接命令,命令输入接收器1激活路径搜索器5来执行路径搜索。在接收参数输入命令时,命令输入接收器1将参数输入存储到其参数缓冲器。
响应于来自命令输入接收器1的插件产生和删除命令,插件产生器和删除器2产生或删除一个插件。当产生一个插件时,插件产生器和删除器2用一个标识号标记产生的插件,并且将包含该标识号的插件产生信息传送到电路布置信息存储和管理器4。在插件删除过程中,插件产生器和删除器2传送包含一个被删除的插件的标识号的删除信息和一个对该插件的删除请求到电路布置信息存储和管理器4。
在从命令输入接收器1接收插件连接命令时,插件连接处理器3将关于由连接命令指定的一个插件的输出端口和输入端口的连接信息传送到电路布置信息存储和管理器4。
电路布置信息存储和管理器4基于来自插件产生器和删除器2和插件连接处理器3的产生信息、删除信息和连接信息,存储和管理在图中创建的电路的信息。
在从命令输入接收器1接收到一个响应于插件产生和删除命令或者输入和输出端口连接命令的激活请求时,路径搜索5激活和执行要在后面讨论的一种路径搜索算法。关于插件的顺序计算的顺序(信号处理顺序)的信息(作为执行路径搜索算法的结果确定的),随后被传送到信号处理器和顺序管理器6。如前所述,信号处理器和顺序管理器6在插件产生器和存储单元706中存储按照如前所述的信号处理顺序安排的插件的标识信息。
信号处理执行单元7包括一个数据中继71,一个信号处理功能调用程序72,一个信号处理时间管理器73和一个信号处理同步管理器74,如图1所示。
信号处理执行单元7按照经由命令输入接收器1的信号处理启动命令输入,用图中建立的电路启动信号处理过程。当用户发出图700的信号处理功能的调用时,信号处理功能调用程序72读从信号处理功能存储单元8发出的图的信号处理功能。响应于该用户命令,信号处理功能调用程序72按照图中信号处理功能的顺序递归地读图中的插件的信号处理功能。
信号处理执行单元7中的数据中继71参考存储在电路布置信息存储和管理器4中的电路信息,并且在本例中按照电路布置将音频数据传送到插件。
信号处理时间管理器73管理来自数据中继71的数据取样单元的时间。信号处理同步管理器74在一个数据包单元的信号处理(诸如一个数据包的前面的管理)时和用于将音频数据的处理定时与视频数据帧同步的AV同步时管理数据包同步处理过程。
路径搜索器5从命令输入接收器1接收一个对图中电路布置进行更新的更新请求,甚至在信号处理执行单元7的信号处理的中间。按照被更新的电路布置,路径搜索器5执行路径搜索,并且发送搜索结果到电路布置信息存储和管理器4和信号处理器和顺序管理器6。信号处理执行单元7基于被更新的路径搜索结果按照信号处理顺序在被更新的电路布置中执行信号处理过程。
参考图8讨论按照本发明的一个实施例的一个信号处理电路的产生过程流程。如图8所示,信号处理电路在图中形成。在后面的讨论中,每一个图和插件称为对象。因而对象指一个面向对象的实例,以及图和插件本身。
在对象产生过程中图和插件的输入和输出端口的默认数量在下面列出。在对象产生之后,允许用户添加和删除输入端口和/或输出端口。
根图800:0个输入端口,和0个输出端口
插件801:0个输入端口,和1个输出端口
插件802:1个输入端口,和0个输出端口
插件803:1个输入端口,和1个输出端口
插件804:1个输入端口,和1个输出端口
插件805:2个输入端口,和2个输出端口
插件806:1个输入端口,和1个输出端口
在后面的讨论中,在输入端口和输出端口之后的数字是相应端口的端口号,并且可以是0、1和2。
下面参考图9-12描述信号处理功能存储单元8的电路的产生过程。为简化说明,信号处理装置的用户命令和处理步骤被示为彼此对应。信号处理装置在显示器上显示一个相应于用户命令输入的屏幕,并且用户在观看显示屏幕的同时输入操作输入。
用户发出一个命令以产生一个对象作为图(根图)800(用户命令(1))。信号处理装置产生和注册根图800(步骤S101)。
用户命令作为图800的对象产生一个对象作为插件801(用户命令(2))。信号处理装置用所产生的图800的插件产生和删除功能在图800中产生插件801(步骤S102)。图800中的路径搜索器5响应于插件产生命令执行路径搜索(步骤S103)。
用户命令作为图800的对象产生插件802对象(用户命令(3))。信号处理装置使用图800的插件产生和删除功能在图800中产生和注册插件802(步骤S104)。图800中的路径搜索器5响应于插件产生命令执行路径搜索(步骤S105)。
用户命令作为图800的对象产生图(分支图)803对象(用户命令(4))。图800使用其插件产生和删除功能在其中产生和注册分支图803(步骤S106)。图800中路径搜索器5响应于插件产生命令执行路径搜索(步骤S107)。
用户命令作为图803的对象产生一个输入端口0(外部)(用户命令(5))。在响应时,信号处理装置作为所产生的分支图803的功能在分支图8032中产生和注册一个输入端口0(外部)(步骤S111)。在分支图803中,一个相应于该输入端口0(外部)的输出端口0(内部)自动产生(步骤S112)。图803中的路径搜索器5响应于端口产生命令执行路径搜索(步骤S113)。
用户命令作为图803的对象产生一个输出端口0(外部)(用户命令(6))。在响应时,信号处理装置作为所产生的分支图803的功能在分支图803中产生和注册一个输出端口0(外部)(步骤S114)。在分支图803中,一个相应于该输出端口(外部)的内部输入端口0(内部)自动产生(步骤S115)。分支图803中的路径搜索5响应于端口产生命令执行路径搜索(步骤S116)。
用户命令作为分支图803的对象产生一个对象作为插件804(用户命令(7))。分支图803随后使用其插件产生和删除功能在分支图803中产生和注册插件804(步骤S117)。分支图803中的路径搜索器5响应于插件产生命令执行路径搜索(步骤S118)。
用户命令作为分支图803的对象产生一个对象作为插件805(用户命令(8))。分支图803使用其插件产生和删除功能在分支图803中产生和注册插件805(步骤S119)。分支图803中的路径搜索器5响应于插件产生命令执行路径搜索(步骤S120)。
用户命令作为分支图803的对象产生一个对象作为插件806(用户命令(9))。分支图803使用其插件产生和删除功能在分支图803中产生和注册插件806(步骤S131)。分支图803中的路径搜索器5响应于插件产生命令执行路径搜索(步骤S132)。
用户命令作为图800的对象将插件801的输出端口连接到分支图803的输入端口0(外部)(用户命令(10))。图800中的插件连接处理器3将插件801的输出端口0连接到分支图803的输入端口0(外部),并且注册该连接(步骤S133)。图800中的路径搜索器5响应于端口连接命令执行路径搜索(步骤S134)。
用户命令作为图800的对象将分支图803的输出端口0(外部)连接到插件802的输入端口0(用户命令(11))。图800中的插件连接处理器3将分支图803的输出端口0(外部)连接到插件802的输入端口0并且在图800中注册该连接(步骤S135)。图800中的路径搜索器5响应于端口连接命令执行路径搜索(步骤S136)。
用户命令作为分支图803的对象将分组803的输出端口0(内部)连接到插件804的输入端口0(用户命令(12))。分支图803中的插件连接处理器3将分支图803的输出端口0(内部)连接到插件804的输入端口0并且在分支图803中注册该连接(步骤S137)。分支图803中的路径搜索5响应于端口连接命令执行路径搜索(步骤S138)。
用户命令作为分支图803的对象将插件804的输出端口0连接到插件805的输入端口0(用户命令(13))。分支图803中的插件连接处理器3将插件804的输出端口0连接到插件805的输入端口0并且在分支图803中注册该连接(步骤S141)。分支图803中的路径搜索器5响应于端口连接命令执行路径搜索(步骤S142)。
用户命令作为分支图803的对象将插件805的输出端口1连接到插件806的输入端口0(用户命令(14))。分支图803中的插件连接处理器3将插件805的输出端口连接到插件806的输入端口0并且在分支图803中注册该连接(步骤S143)。分支图803中的路径搜索器5响应于端口连接命令执行路径搜索(步骤S144)。
用户命令作为分支图803的对象将插件806的输出端口0连接到插件805的输入端口1(用户命令(15))。分支图803中的插件连接处理器3将插件806的输出端口0连接到插件805的输入端口1并且在分支图803中注册该连接(步骤S145)。分支图803中的路径搜索器5响应于端口连接命令执行路径搜索(步骤S146)。
用户命令作为分支图803的对象将插件805的输出端口0连接到插件803的输入端口0(内部)(用户命令(16))。分支图803中的插件连接处理器3将插件803的输出端口0连接到插件803的输入端口0并且在分支图803中注册该连接(步骤S147)。分支图803中的路径搜索器5响应于端口连接命令执行路径搜索(步骤S148)。
图8的电路因而在图800中通过上面的过程产生。当用户命令图800启动信号处理过程时,信号处理过程按照路径搜索确定的信号处理顺序由插件顺序地执行。
本实施例的信号处理装置在图对象上一共执行了16个用户命令。图结构每当响应于每个用户命令的过程被执行时改变。系统(图)自动在每个过程上执行路径搜索算法。当电路布置的产生处理过程完成时,路径搜索也完成,并且确定信号处理顺序。
如图8所示形成的电路的信号处理过程执行的流程下面描述。
图800中的插件产生器和存储单元800以其按照路径搜索算法的顺序计算的最优顺序排序的状态存储插件。如图8所示,在插件已经按最优顺序存储的假定下讨论信号处理过程执行的流程。
(1)用户命令图800启动信号处理过程。
(2)图800起动其信号处理功能。
(3)执行从图800的信号处理功能中的插件801的信号处理功能。
(4)执行从图800的信号处理功能之中的分支图803的信号处理功能。
(4-1)执行从分支图803的信号处理功能之中的插件806的信号处理功能。
(4-2)执行从分支图803的信号处理功能之中的插件804的信号处理功能。
(4-3)执行从分支图803的信号处理功能之中的插件805的信号处理功能。
(5)执行从分支图800的信号处理功能之中的插件802的信号处理功能。
在上面的过程中,只有命令图800启动信号处理过程的步骤(1)是由用户发出的。其它步骤(2)-(5)自动地由图800和分支图803执行。
下列操作在每个插件的信号处理功能内执行。
(1)从输入端口接收输入数据
(2)在输入数据上执行信号处理过程
(3)将被处理的数据输出到输出端口
作为按照本实施例的图的处理功能的路径搜索算法下面描述。
路径搜索算法形成本实施例的系统的主要部分。包含在图中的插件按照最优顺序使用路径搜索算法排序。在信号处理过程期间,按照在排序中应用的顺序调用和执行对相应插件唯一的信号处理功能。
如果信号处理过程由信号处理设备诸如数字信号处理器(DSP)执行,则在数字信号处理器中的一个计算电路诸如算术逻辑单元(ALU)一般执行顺序计算以执行想要的信号处理过程。由DSP执行的顺序处理过程也可应用于由本实施例的中间件的中央处理单元(CPU)执行的计算。
更明确地说,按照本实施例将一个给定的电路视为信号流程图。在图中搜索顺序计算的顺序。按照作为搜索的结果的顺序执行顺序计算。作为本实施例中间件的SSP具有对它唯一的路径搜索算法。
使用路径搜索算法,任何包含反馈回路的数字电路布置可以完全被仿真。SSP因而执行动态电路布置更新,这是当前可用的硬件电路不能执行的。
按照本实施例,路径搜索算法确定顺序计算的顺序,关于在由图中连接的插件组成的信号处理电路的信号处理过程中从哪一个插件开始。电路,在图中建立的,作为路径搜索的目标,可包含一个反馈回路电路。
路径搜索算法由图保存,并且图中的插件产生器和存储单元执行路径搜索算法。
当用户在图上执行一个操作以修改图结构时,图自动执行路径搜索并且确定顺序计算的新顺序。如果多个图包含在图中,任何要更新的图独立于其它图执行路径搜索。路径搜索非常简单并且在一段短时间内完成。
本实施例的路径搜索算法下面详细描述。
在本实施例的路径搜索算法中,一个在图中布置的作为电路的元素的插件被视为一个节点。节点是图论中的一个元素。在本实施例中,电路用将一个节点连接到另一个的有箭头的有向边。指向一个节点的箭头定义该节点的输入,并且从一个节点出来的箭头定义为来自该节点的输出。本实施例的路径搜索算法扫描图中连接的节点,从而确定信号处理顺序。本实施例的路径搜索算法也称为节点扫描算法。
节点扫描算法是由用作路径搜索的基础的初始路径搜索算法(主节点扫描算法)和用于执行搜索并且还注意路径的回路信息的回路搜索算法组成。
按照图13所示的本实施例,在节点扫描算法中首先执行初始路径搜索算法(步骤S151)。在完成初始路径搜索算法之后(步骤S152),执行回路搜索算法(步骤S153)。
初始路径搜索算法设置“要解决的命题(propositions to be solved)”,并且在下面的“搜索条件(search conditions)”之下解决这些命题。
要解决的命题
在一个图中布置的节点被顺序地扫描。所想要的是满足在下面的条件之下用单个循环扫描所有节点的扫描顺序。要扫描的节点直接相互连接是没必要的,并且在有些节点被跳过的情况下扫描节点是完全可接受的。
搜索条件
(a)无条件地扫描没有输入的任何节点。
(b)无条件地搜索用作延迟元件的插件节点。
(c)任何被扫描的节点被固定在其输出中。
(d)如果节点B的输出(连接到节点A的输入)被固定,则该节点A的输入被固定。
(e)如果到一个节点的所有输入被固定,则扫描该节点。
按顺序为节点分配唯一的编号作为标识符。标识号称为节点号。节点号不是任一编号而仅仅是按照作为插件的对象产生的顺序分配的编号。插件被划分成等待时间类型插件(LTP)和非等待延时类型插件(NLTP)。LTP是延迟元件,并且使至少一个样本延迟。NTLP是门元件,并且不引起延迟。
初始路径搜索算法按照图14的流程图执行。
检查第一个节点(步骤S161),并且在步骤S162中判定是否为第一个节点分配了节点序列号(在下文称为节点索引)。如果确定为第一个节点分配了节点索引,则在步骤S169中还要判定是否为所有节点分配了节点索引。如果确定为所有节点分配了相应的节点索引,则处理例程结束。
如果在步骤S169中确定还没有为所有节点分配了相应的节点索引,则检查下一个节点(步骤S165)。过程例程返回到步骤S162,以重复步骤S162及后续步骤。
如果在步骤S162确定第一个节点没有分配节点索引,则在步骤S163确定是否要无条件地扫描第一个节点,换言之,作为插件的第一个节点是否为LTP。
如果在步骤S163判定不是无条件地扫描第一个节点,则在步骤S164中确定该节点的所有输入是否都是固定的。如果在步骤S164中判定所有输入不是固定的,则检查下一个节点(步骤S165)。过程例程返回到步骤S162以重复步骤S162及后续步骤。
如果在步骤S163中确定节点要被无条件地扫描,或者如果在步骤S164中确定节点的所有输入是被固定的,则在扫描该节点之后固定该节点的输出(步骤S166)。一个连接到该节点的节点的输入被固定(步骤S167)。该节点随后被分配一个节点索引(步骤S168)。
在步骤S169确定所有节点是否被分配相应的节点索引。如果判定所有节点分配了相应的节点索引,则处理例程结束。
按照初始路径搜索算法的节点索引分配的一个特定例子在下面参考图15描述。图15例示图的一个电路布置。如所示的,目标节点是七个,即,节点0号-6号。节点4号和6号是LTP。初始路径搜索算法功能在下面描述。按顺序检查节点0号至6号。在一个循环中检查节点0号至6号并且重复检查循环直到所有节点被扫描。
(1)成功地扫描没有输入的节点1号,并且节点1号的输出(0)因而被固定。
(2)节点1号被跳过,因为节点1号的输入(1)未被固定。
(3)成功扫描没有输入的节点2号,并且节点2号的输出(0)被固定。
(4)节点3号被跳过,因为没有输入(0,1和2)被固定。
(5)节点4号是LTP,并且被成功描述。节点4号的输出(0)被固定。
(6)节点5号被跳过,因为其输入(0)未被固定。
(7)节点6号是LTP,并且被成功扫描。节点6号的输出(0)被固定。
节点的一个检查循环因而完成了。在还没有被成功扫描的、不带有任何固定输出的节点上执行第二个检查循环,如下所述。
(1)成功扫描节点1号,因为所有输入(0和1)被固定。节点1号的输出(0)因而被固定。
(2)成功扫描节点3号,因为所有输入(0,1和2)被固定。节点3号的输出(0,1和2)被固定。
(3)成功扫描节点5号,因为其输入(0)被固定。节点5号的输出因而被固定。
所有节点因而被扫描,其所有输出被固定。搜索操作因而完成了。在本例中,搜索操作在两个检查循环之后完成。
如果按照在初始路径搜索算法的搜索过程中固定的顺序为节点分配编号,则路径搜索结果被确定。每个新节点的序列号是节点索引。图16列出图15的图的电路布置的搜索结果。
图中的插件按照节点索引的顺序存储在插件产生器和存储单元中。每当执行路径搜索算法时,更新在插件产生器和存储单元中插件的存储顺序。在信号处理过程中,图按照节点索引的顺序调用每个插件的信号处理功能,从而执行想要的信号处理过程。
在初始路径搜索算法中,节点被检查至第二至第三循环,直到对命题的解被确定。在第一个搜索循环中,找到至少一个可以扫描的节点。
存在一个例外。如果在反馈中不包含作为延迟元件的LTP,则在第一个搜索循环中不能找到任何可以扫描的节点。这是在电路布置中的一个异常情况。
数字信号处理理论要求在一个反馈回路中包含至少一个延迟元件以满足因果性原则。按照本实施例的初始路径搜索算法,如果用户在不遵循上述基本要求的情况下产生一个电路,则上述例外发生。
按照本实施例的初始路径搜索算法,例外情况的发生用于触发一个错误消息。更明确地说,如果用户产生一个不包含延迟元件的反馈电路,则上述路径搜索的例外情况在初始路径搜索算法中发生。如果检测到例外情况,则系统向用户告警,以重新构造电路。
下面描述回路搜索算法。回路搜索算法在信号处理期间减轻CPU上的工作负载。在信号处理中保证实时性是一个重要技术。
在初始路径搜索算法中获得的搜索结果提供一个想要的电路用于信号处理。然而,按照速度性能,在初始路径搜索算法中从一个包括反馈回路的电路布置获得的搜索结果不是很有利的。
包括反馈回路的电路布置必须满足数字信号处理理论的因果性原则,即“输出不能被固定在输入保持未固定的状态中”。为此,插件的信号处理过程必须在包括反馈回路的电路中在每样本单元基础上连续地执行。更明确地说,在每样本单元基础上,到和从插件的音频数据输入和输出以及对插件的信号处理过程必须被执行。
这里,要在每个信号处理过程中执行的功能调用变成一个问题。在软件过程中,功能调用一般在CPU上增加工作负载,从而费用变大。在实时软件信号处理中,功能调用的数量越小,处理性能速率变得越高。需求一种减少功能调用的数量的方法来提高速度性能。
一个作为一个单元提交多个数据样本例如一个数据包单元的过程,可用作减少功能调用的典型方法。不是一个样本接一个样本处理数据,而是按系统块接块地处理数据,每个块包含预定数量的数据样本。如果数据包大小是1024个样本,则1024个样本的音频数据合并成一个块,并且响应于一个功能调用而被处理。如此,功能调用的数量被减少。
如果电路包括反馈回路,则必须在每样本单元基础上执行功能调用。不能执行数据包处理过程。
这个缺点是通过在初始路径搜索算法之后执行回路搜索算法来克服的。
在包括反馈回路的电路中形成回路的节点一般是整个电路的一部分。利用这个事实,在本实施例的回路搜索算法中,将形成回路的节点分组与不形成回路的分组分开。在不形成回路的节点分组中允许数据包处理过程,以在整个信号处理中实现高速度性能。
在图15的电路中,形成回路的节点是三个,即节点3号、节点4号和节点6号,并且比节点总数即7的一半少。
在每样本单元基础上处理形成回路的节点,同时在每数据包单元基础上处理剩余的节点。因而将在速度性能方面的减少限制在最小。在整个电路中形成回路的节点的比例越小,对在速度性能方面减少的控制就越有效。
图17是回路搜索算法的流程图。形成回路的节点是使用回路搜索算法确定的(步骤S171)。回路搜索算法是可从图论得到的典型回路搜索算法。在图论中的典型回路搜索算法是众所周知的,并且不在这里详述。
在步骤S172中确定在初始路径搜索算法中确定的信号处理顺序中一个不形成回路的节点是否被插入在形成回路的节点之间。
如果在步骤S173中确定在信号处理顺序中一个不形成回路的节点被插入在形成回路的节点之间,则在步骤S174中修改信号处理顺序,使得不形成回路的节点在形成回路的节点之前。换言之,为节点重新分配节点索引。
如果在步骤S173确定在信号处理顺序中一个不形成回路的节点没有被插入在形成回路的节点之间,则回路搜索算法结束。
应用于图15的电路布置在下面明确地描述。
图16例示回路搜索算法对图15的电路布置的执行结果。图18A例示确定的节点,如图16所示,如在回路搜索算法中形成回路的节点,即在阴影区域中的节点3号、节点4号和节点5号。
图18A示出在信号处理顺序中将不形成任何回路的节点1号插入形成回路的节点之间。在现在的信号处理装置中,节点1号,它本来不需要在每样本基础上处理,现在必须在每样本基础上处理。
如果执行回路搜索算法,则在步骤S174中修改信号处理顺序,使得不形成回路的节点在形成回路的节点之前。
甚至对于修改过的信号处理顺序,初始路径搜索算法的命题必须满足。可接受的是,在回路搜索算法中信号处理顺序的修改之后检查初始路径搜索算法的命题是否满足。可供替换地,这样一个检查操作是通过在信号处理顺序中的回路前端的节点之前放置不形成回路的节点来消除的。上面提到的顺序修改将信号处理的顺序保持在正确状态中。
如图15所示,节点4号和节点6号是LTP,并且具有这样的特征,即使其输入保持不固定也固定其输出。利用这个特征,在节点1号之后可处理节点4号和节点6号。
如图18B所示,在回路搜索算法中修改信号处理顺序,使得在信号处理顺序中不形成回路的节点1号是第三个,在作为形成回路的前端节点的节点4号之前。
形成回路的节点被分组为图18B的阴影部分。形成回路的节点分组因而局部化在信号处理顺序中。
功能调用的数量因而通过在图18B的信号处理顺序中执行信号处理过程而被最小化,如下所述。
(1)具有节点索引1至3的节点在回路之外,并且在每数据包单元基础上处理。
(2)具有节点索引4至6的节点在回路内,并且在每样本单元基础上处理。
(3)具有标识号7的节点在回路之外,并且因而在每样本单元基础上处理。
如果如上所述地执行信号处理过程,则减少功能调用的数量,并且避免在信号处理过程中速度性能下降。例如,具有1024个样本的数据包尺寸的信号处理过程在下面描述。
(1)1024个样本的数据中继到节点0号(一个功能调用)。
(2)1024个样本数据中继到节点2号(一个功能调用)。
(3)1024个样本的数据中继到节点1号(一个功能调用)。
(4)步骤(4-1)至(4-3)中继1024次(3*1024个功能调用)。
(4-2)一个样本数据中继到节点6号(一个功能调用)。
(4-3)一个样本数据中继到节点3号(一个功能调用)。
(5)1024个样本数据中继到节点5号(一个功能调用)。
在上述引用的(1)到(5)的信号处理步骤中,需要总共3076次功能调用以处理1024个样本信号。
如果所有节点在每样本单元基础上处理,则功能调用的总数变成7168。执行本实施例的节点扫描算法以将形成回路的节点分组局部化。仅在节点分组中在每样本单元基础上执行功能调用。在每数据包单元基础上在不形成任何回路的节点中执行一个功能。在上述例子中,大百分之57的功能调用因而被消除。
按照本实施例的系统,数据包大小可以动态地修改,而不是固定的。
如前所述,本实施例的信号处理装置可以计算样本精度,并且可以以这个样本精度执行AV同步。如果多个插件是串联连接的,已知的中间件经受正比于连接数量的延迟,并且不能同步地处理所有插件。
相反,按照本实施例,没有引起任何连接中延迟的增加,并且插件能以样本精度同步操作。AV同步因而以样本精度执行。
对于AV同步,系统(图)附上一个V同步标志作为音频数据对于时间信息的垂直同步信号Vs。由于时间信息在每样本单元基础上更新,因此将V同步标志附于所有样本。V同步标志在前端的帧的安排时间中变成“0”而在其它时间变成“1”。
V标志同步脉冲信息,用于将视频的帧与音频数据的样本相关联。例如,如果视频信息是30帧/秒,并且音频数据的取样频率是48kHz,则每视频信息帧的音频数据的样本数量是48000/30=1600(样本/帧)。为处理每数据包单元的音频数据,如果每数据包的样本数是1024,则数据包未能与帧匹配。AV同步是使用V同步标志来执行的。
系统(图)事先计算每视频信息帆的音频数据样本数量。当音频数据输入到系统(图)的插件时,V同步标志也与音频数据的样本时间信息一起输入插件。V同步标志指示出样本时间是否在视频帧的前端。
在从V同步标志检测到输入音频数据是在视频信息的一个帧的前端时,在与视频帧的前端同步时每个插件通过更新内部存储的参数执行AV同步处理过程。
作为AV同步的前提,来自系统(图)样本单元的时间信息必须用任何方法与视频帧的V同步标志相关联。在本实施例的信号处理装置中,信号处理过程的起动时间定义为视频帧的前端,并且使用由系统(图)预先计算的每视频信息的一个帧的音频数据样本数将在起动时间之后的时间信息与V同步标志相关联。
图19是由插件执行AV同步的流程图。
在将音频数据样本与插件的输入同步时,获得绝对时间计数t作为从系统到插件的时间信息输入(步骤S181)。系统在每样本单元基础上写时间信息。附于时间信息的V同步标志也从系统获得。
取决于在每样本单元基础上的V同步标志是否为“1”,插件检查V同步标志V同步标志是否为“真(true)”,换言之,它是否在视频帧的前端(步骤S182)。如果判定V同步标志为“真”,则在AV同步处理过程中更新参数(步骤S183)。信号处理过程因而在时间t执行(步骤S184)。
如果判定V同步标志不是“真”,则因而在时间t在不更新参数的情况下执行信号处理过程。
在与插件的下一个音频样本输入同步时获得下一个绝对时间计数(t+1)(步骤S185)。重复如步骤S182-S184的相同处理过程。在与样本输入同步时,重复上面的处理过程。
按照本实施例的信号处理装置,响应于来自在用户的图更新命令而修改图结构,甚至在信号处理的中间。由于路径搜索算法(节点扫描算法)甚至在信号处理过程的中间执行,因此电路布置被修改。
用户因而可以将本实施例的信号处理装置的电路布置修改一个新的,同时听由信号处理装置处理和输出的声音。本实施例的信号处理装置在实况播放装置中找到应用。
图20是电路布置的动态修改方案的流程图。流程图的过程主要由图执行。
在时间t执行信号处理过程(步骤S191)。甚至在信号处理过程的中间,图确定是否发出插件产生和删除命令、输入和输出端口产生和连接命令以及图修改命令之一(步骤S192)。
如果在步骤S192确定发出图修改命令,则图执行路径搜索,同时重新构造图的电路布置(步骤S193)。执行在时间(t+1)的信号处理过程(步骤S194)。如果在步骤S192中确定没有发出图修改命令,则在时间(t+1)处理继续到信号处理过程(步骤S194)。
在之后的步骤S194中,重复与步骤S192-S193中相同的处理过程(步骤S195-S196)。
如前所述,可在本实施例的信号处理装置的信号处理过程中输入参数属性。这里的参数指在放大器情况下放大系数。
普通的中间件允许响应于来自用户的参数设置功能而间歇地修改参数。这个实施例的信号处理装置具有与图21所示的已知装置相同的结构。更明确地说,插件600包括如图6所示的参数存储单元604。参数存储单元604设计为允许响应于来自用户的参数设置功能而间歇地修改设置。如图21所示,信号处理6010是一个增益控制放大器,并且信号处理器6010的增益是由存储在参数存储单元604中的一个参数控制的。
在图21的布置中,参数不能在每样本单元基础上连接准确地改变。广泛可用的操作系统(OS)在保证实时特征到音频数据样本的一个样本时间(大约20毫秒)方面有困难,并且在功能调用之间的时间间隔变成长达几十秒毫秒。即使在普通OS上保证实时特征,几毫秒到几十毫秒的准确性级别是可达到的最大级别。因为在软件中的时间变化,所以不能在几毫秒数量级的样本准确性级别内执行参数修改功能的定时控制。
按照本实施例,改进参数设置方法以准确地在一个样本精度内改变参数。更具体地说,存储在插件中的参数不是响应于来自用户的功能调用而被设置为图提供将功能调用分配给插件的输入端口的功能。一种新的参数设置方法被实现。新的参数设置方法称为参数绑定。
图22例示一个参数绑定的例子。在插件上布置一个新的输入端口1,并且连接到参数存储单元604。将音频数据值分配给输入端口1。
不响应于来自用户的设置功能调用但响应于对输入端口1的音频数据值输入而更新插件中的参数。现在的音频数据值变成一个参数值,并且由样本单元更新。
在这种情况下,在参数和音频数据之间没有特殊区别。由于以样本精度按照本实施例彼此同步音频数据,因此保持参数更新与音频数据之间的同步。例如,用户产生与音频数据同步的参数信号,并且将参数信号输入到连接到一个想要的插件的参数存储单元的输入端口。在以样本精度级别同步音频数据时执行参数修改。
图23例示参数绑定图的注册过程。用于参数绑定的输入端口添加到一个要被参数绑定的插件(步骤S201)。在步骤S201添加的输入端口连接到要存储一个指定参数的参数存储单元(步骤S202)。
用作参数的音频数据输入到添加的输入端口(步骤S203)。参数绑定的注册已经完成了。
图24例示一个解除经注册的参数绑定的过程。为添加到预定插件的参数绑定暂停数据输入到输入端口(步骤S211)。具有被暂停的向其输入数据的输入端口与存储参数的参数存储单元断开(步骤S212)。具有被暂停向其输入数据的输入端口因而被删除(步骤S213)。用于从图解除经注册的参数绑定的解除过程因而完成了。
参数绑定的注册和解除可以在任何定时处执行,甚至在信号处理的中间。
本实施例的信号处理装置是由单个计算机实现的,并且在单个计算机上执行单个处理过程。通过在经由网络连接的多个计算机之中共享信号处理过程,CPU工作负载在实时基础上被散布。
分布式处理是使用分布式对象技术作为一个广泛可用的计算技术来实现的。例如,称为COM/DCOM(组件对象模型/分布式组件对象模型)的技术和CORBA(公用对象请求代理程序体系结构)就是这样的技术。
下面描述主要在基于Windows的OS上使用的COM/DCOM技术的例子。在本实施例的中间件中插件的对象是作为COM对象实现的。COM对象是一个面向对象的组件模型,并且具有位置透明的特征。位置透明指在远程计算机上产生COM对象,就好象在本地计算机上产生COM对象一样。
有了位置透明,使用相同的操作产生对象,不管是本地计算机还是远程计算机。作为COM对象的插件对象一致地在多个不了解网络的计算机上产生。不仅插件的产生而且其它处理过程都是使用一致的操作执行,不管是本地计算机还是远程计算机。
例如,音频输入和输出插件对象布置在本地计算机上,同时在远程计算机上布置回声(echo)插件对象,并且整个电路由两个对象构成。
图25例示执行实时分布式处理过程的图的结构。如图25所示,根图2500包括一个本地计算机1000和一个远程计算机2000,后者通过电路3000连接到本地计算机1000。因而形成一个电路。
参考图25,讨论电路产生的流程。用户在本地计算机1000上产生一个电路,好象只使用本地计算机1000。用户知道远程计算机2000,它只是整个处理过程的一部分。
(1)用户产生一个对象作为根图2500。作为根图2500的对象在本地计算机1000上产生。
(2)用户命令作为根图2500的对象产生一个对象作为插件2501。
(3)用户命令作为根图2500的对象产生一个对象作为插件2502。
(4)用户命令作为根图2500的对象产生一个对象作为插件2503。将远程计算机2000的标识符附于插件产生功能。
(5)用户命令作为根图2500的对象产生一个对象作为插件2504。
(6)用户命令作为根图2500的对象将插件2501的输出端口0连接到插件2502的输入端口0。
(7)用户命令作为根图2500的对象将插件2502的输出端口0连接到插件2503的输入端口0。
(8)用户命令作为根图2500的对象将插件2503的输出端口0连接到插件2504的输入端口0。
(9)用户命令作为根图2500的对象将插件2504的输出端口0连接到插件2502的输入端口1。
电路完成了。用户只在步骤(4)知道远程计算机2000。上述信号处理的执行与仅由本地计算机1000执行的不同。
上面提到的实施例提供下列优点。
在串接的信号处理级的情况下,提供一种在软件信号处理过程中不增加处理过程延时的电路。产生任何包含反馈结构的数字信号处理电路。
数字信号处理电路的电路布置是动态更新的。在这种情况下,可动态更新的电路元件包括插件的添加和删除,插件之间的连接状态,插件的输入和输出端口的添加和删除,插件的参数修改和参数绑定,以及与信号处理过程相关的参数,诸如数据包大小和在信号处理过程期间的取样频率。
包含可动态更新电路的产品是通过实现本实施例的信号处理装置的中间件实现来产生的。
所产生的信号处理电路存储在文件中供以后使用。通过交换这样一个文件,交换或重用该电路。
即使信号处理电路包括一个具有反馈回路的电路布置,信号处理功能调用的数量也是最小化的。结果,执行实时信号处理过程所需要的CPU工作负载减少了。
在电路参数的更新与音频数据之间的同步被控制在样本精度内。使用音频数据更新参数值(参数绑定功能)。
使用网络执行实时分布式处理过程。通过网络的多个电路在实时基础上同步地操作。
本领域熟练技术人员应当理解,取决于设计要求和其它因素,可产生各种修改、组合、子组合和改变方案,只要它们在所附的权利要求书或其等价方案的范围内。
Claims (14)
1.一种信号处理装置,用于以软件方式执行由多个信号处理单元组成的信号处理过程,所述信号处理装置包括:
多个信号处理模块,用于以软件方式处理所述多个信号处理单元;
输入命令接收装置,用于从用户接收产生或删除所述信号处理模块的命令以及连接所述信号处理模块的输入和输出的命令;
信号处理模块互连装置,用于设置所述多个信号处理模块每一个的输入和输出的虚拟连接状态,以响应通过所述输入命令接收装置从用户收到的命令;
电路布置信息存储与管理装置,用于存储和管理所述多个设置的信号处理模块的每一个的输入和输出的虚拟连接状态;
信号处理顺序确定装置,用于通过初始路径搜索和回路搜索确定存储在所述电路布置信息存储与管理装置中的所述多个信号处理模块的信号处理顺序;以及
信号处理执行装置,用于连续地使所述信号处理模块按照由所述信号处理顺序确定装置确定的所述信号处理顺序执行所述信号处理过程,
其中所述信号处理顺序确定装置,通过所述初始路径搜索,搜索存储在所述电路布置信息存储与管理装置中的所述多个信号处理模块的信号处理顺序,
通过所述回路搜索,搜索在存储在所述电路布置信息存储与管理装置中的所述多个信号处理模块的电路布置中构成封闭回路的信号处理模块,以及
更新通过所述初始路径搜索确定的信号处理顺序,使得如果在所述回路搜索期间检测到构成所述封闭回路的信号处理模块以及如果在所述初始路径搜索期间检测到包含在所述封闭回路前端的信号处理模块与在所述封闭回路后端的信号处理模块之间的处理顺序中的不构成所述封闭回路的信号处理模块,不构成所述封闭回路的信号处理模块在处理顺序中处于所述封闭回路前端的信号处理模块之前。
2.如权利要求1所述的信号处理装置,其特征在于,如果来自用户的产生或删除所述信号处理模块的命令和/或来自用户的根据所述多个信号处理模块每一个的输入和输出的连接命令更新多个电路的电路布置更新请求,由所述信号处理执行装置执行的所述信号处理的中间发出,所述信号处理顺序确定装置搜索一个新的信号处理顺序,且所述信号处理执行装置按照所述新信号处理顺序执行所述信号处理过程。
3.如权利要求1所述的信号处理装置,其特征在于,形成所述封闭回路的所述信号处理模块由样本单元处理一信号,以及
其中,不形成所述封闭回路的所述信号处理模块由块单元处理所述信号,所述块单元包含多个所述信号的样本。
4.如权利要求1所述的信号处理装置,还包括通过网络连接的多个信号处理器,其特征在于,所述多个信号处理模块分布于所述多个信号处理器之间。
5.一种信号处理设备,用于以软件方式执行由多个信号处理单元组成的信号处理过程,所述信号处理设备包括:
多个信号处理模块,用于以软件方式处理所述多个信号处理单元;
输入命令接收装置,用于从用户接收产生或删除所述信号处理模块的命令以及连接所述信号处理模块的输入和输出的命令;
信号处理模块互连装置,用于设置所述多个信号处理模块每一个的输入和输出的虚拟连接状态,以响应通过所述输入命令接收装置从用户收到的命令;
电路布置信息存储与管理装置,用于存储和管理所述多个设置的信号处理模块的每一个的输入和输出的虚拟连接状态;
信号处理顺序确定装置,用于确定存储在所述电路布置信息存储与管理设备中的所述多个信号处理模块的信号处理顺序;以及
信号处理执行装置,用于连续地使所述信号处理模块按照由所述信号处理顺序确定装置确定的所述信号处理顺序执行所述信号处理过程,
其中如果来自用户的产生或删除所述信号处理模块的命令和/或来自用户的根据所述多个信号处理模块的每一个的输入和输出的连接命令更新多个电路的电路布置更新请求,在由所述信号处理执行装置执行的所述信号处理的中间发出,则所述信号处理顺序确定装置搜索一个新的信号处理顺序,且所述信号处理执行装置按照所述新信号处理顺序执行所述信号处理过程。
6.如权利要求5所述的信号处理设备,还包括通过网络连接的多个信号处理器,其特征在于,所述多个信号处理模块分布于所述多个信号处理器之间。
7.一种信号处理设备,用于以软件方式执行由多个信号处理单元组成的信号处理过程,所述信号处理装置包括:
多个信号处理模块,用于以软件方式处理所述多个信号处理单元;
输入命令接收装置,用于从用户接收产生或删除所述信号处理模块的命令以及连接所述信号处理模块的输入和输出的命令;
信号处理模块互连装置,用于设置所述多个信号处理模块的每一个的输入和输出的虚拟连接状态,以响应通过所述输入命令接收装置从用户收到的命令;
电路布置信息存储与管理装置,用于存储和管理所述多个设置的信号处理模块的每一个的输入和输出的虚拟连接状态;
信号处理顺序确定装置,用于确定存储在所述电路布置信息存储与管理装置中的所述多个信号处理模块的信号处理顺序;以及
信号处理执行装置,用于连续地使所述信号处理模块按照由所述信号处理顺序确定装置确定的所述信号处理顺序执行所述信号处理过程,
其中所述信号处理模块包括存储由用户设置的信号处理参数的参数存储单元,从所述参数存储单元的所述信号处理参数的读取与目标信号的样本同步。
8.如权利要求7所述的信号处理设备,还包括通过网络连接的多个信号处理器,其特征在于,所述多个信号处理模块分布于所述多个信号处理器之中。
9.一种信号处理设备,用于以软件方式执行由多个信号处理单元组成的信号处理过程,所述信号处理设备包括:
多个信号处理模块,用于以软件方式处理所述多个信号处理单元;
输入命令接收装置,用于从用户接收产生或删除所述信号处理模块的命令以及连接所述信号处理模块的输入和输出的命令;
信号处理模块互连装置,用于设置所述多个信号处理模块每一个的输入和输出的虚拟连接状态,以响应通过所述输入命令接收装置从用户收到的命令;
电路布置信息存储与管理装置,用于存储和管理所述多个设置的信号处理模块的每一个的输入和输出的虚拟连接状态;
信号处理顺序确定装置,用于确定存储在所述电路布置信息存储与管理装置中的所述多个信号处理模块的信号处理顺序;
信号处理执行装置,用于连续地使所述信号处理模块按照由所述信号处理顺序确定装置确定的所述信号处理顺序执行所述信号处理过程;以及
用于为所述信号处理模块提供信号处理参数作为信号输入的装置,其中所述信号处理参数的输入与目标信号的一个样本同步。
10.如权利要求9所述的信号处理设备,还包括通过网络连接的多个信号处理器,其特征在于,所述多个信号处理模块分布于所述多个信号处理器之中。
11.一种信号处理设备,用于以软件方式执行由多个信号处理单元组成的信号处理过程,所述信号处理设备包括:
多个信号处理模块,用于以软件方式处理所述多个信号处理单元;
输入命令接收单元,用于从用户接收产生或删除所述信号处理模块的命令以及连接所述信号处理模块的输入和输出的命令;
信号处理模块互连单元,用于设置所述多个信号处理模块的每一个的输入和输出的虚拟连接状态,以响应通过所述输入命令接收单元从用户收到的命令;
电路布置信息存储与管理单元,用于存储和管理所述多个设置的信号处理模块的每一个的输入和输出的虚拟连接状态;
信号处理顺序确定单元,用于通过初始路径搜索和回路搜索确定存储在所述电路布置信息存储与管理单元中的所述多个信号处理模块的信号处理顺序;以及
信号处理执行单元,用于连续地使所述信号处理模块按照由所述信号处理顺序确定单元确定的所述信号处理顺序执行所述信号处理过程,
其中所述信号处理顺序确定单元,通过所述初始路径搜索,搜索存储在所述电路布置信息存储与管理单元中的所述多个信号处理模块的信号处理顺序,
通过所述回路搜索,搜索在存储在所述电路布置信息存储与管理单元的所述多个信号处理模块的电路布置中构成封闭回路的信号处理模块,以及
更新通过所述初始路径搜索确定的信号处理顺序,使得如果在所述回路搜索期间检测到构成所述封闭回路的信号处理模块以及如果在所述初始路径搜索期间检测到包含在所述封闭回路前端的信号处理模块与在所述封闭回路后端的信号处理模块之间的处理顺序中的不构成所述封闭回路的信号处理模块,不构成所述封闭回路的信号处理模块在处理顺序中处于所述封闭回路前端的信号处理模块之前。
12.一种信号处理设备,用于以软件方式执行由多个信号处理单元组成的信号处理过程,所述信号处理设备包括:
多个信号处理模块,用于以软件方式处理所述多个信号处理单元;
输入命令接收单元,用于从用户接收产生或删除所述信号处理模块的命令以及连接所述信号处理模块的输入和输出的命令;
信号处理模块互连单元,用于设置所述多个信号处理模块的每一个的输入和输出的虚拟连接状态,以响应通过所述输入命令接收单元从用户收到的命令;
电路布置信息存储与管理单元,用于存储和管理所述多个设置的信号处理模块的每一个的输入和输出的虚拟连接状态;
信号处理顺序确定单元,用于确定存储在所述电路布置信息存储与管理单元中的所述多个信号处理模块的信号处理顺序;以及
信号处理执行单元,用于连续地使所述信号处理模块按照由所述信号处理顺序确定单元确定的所述信号处理顺序执行所述信号处理过程,
其中如果来自用户的产生或删除所述信号处理模块的命令和/或来自用户的根据所述多个信号处理模块每一个的输入和输出的连接命令更新多个电路的电路布置更新请求,在由所述信号处理执行装置执行的所述信号处理的中间发出,则所述信号处理顺序确定单元搜索一个新的信号处理顺序,且所述信号处理执行装置按照所述新信号处理顺序执行所述信号处理过程。
13.一种信号处理设备,用于以软件方式执行由多个信号处理单元组成的信号处理过程,所述信号处理设备包括:
多个信号处理模块,用于以软件方式处理所述多个信号处理单元;
输入命令接收单元,用于从用户接收产生或删除所述信号处理模块的命令以及连接所述信号处理模块的输入和输出的命令;
信号处理模块互连单元,用于设置所述多个信号处理模块的每一个的输入和输出的虚拟连接状态,以响应通过所述输入命令接收单元从用户收到的命令;
电路布置信息存储与管理单元,用于存储和管理所述多个设置的信号处理模块的每一个的输入和输出的虚拟连接状态;
信号处理顺序确定单元,用于确定存储在所述电路布置信息存储与管理单元中的所述多个信号处理模块的信号处理顺序;以及
信号处理执行单元,用于连续地使所述信号处理模块按照由所述信号处理顺序确定单元确定的所述信号处理顺序执行所述信号处理过程,
其中所述信号处理模块包括存储由用户设置的信号处理参数的参数存储单元,从所述参数存储单元的所述信号处理参数的读取与目标信号的样本同步。
14.一种信号处理设备,用于以软件方式执行由多个信号处理单元组成的信号处理过程,所述信号处理设备包括:
多个信号处理模块,用于以软件方式处理所述多个信号处理单元;
输入命令接收单元,用于从用户接收产生或删除所述信号处理模块的命令以及连接所述信号处理模块的输入和输出的命令;
信号处理模块互连单元,用于设置所述多个信号处理模块的每一个的输入和输出的虚拟连接状态,以响应通过所述输入命令接收单元从用户收到的命令;
电路布置信息存储与管理单元,用于存储和管理所述多个设置的信号处理模块的每一个的输入和输出的虚拟连接状态;
信号处理顺序确定单元,用于确定存储在所述电路布置信息存储与管理单元中的所述多个信号处理模块的信号处理顺序;
信号处理执行单元,用于连续地使所述信号处理模块按照由所述信号处理顺序确定单元确定的所述信号处理顺序执行所述信号处理过程;以及
用于为所述信号处理模块提供信号处理参数作为信号输入的单元,其中所述信号处理参数的输入与一个目标信号的样本同步。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004170692A JP4296421B2 (ja) | 2004-06-09 | 2004-06-09 | 信号処理装置 |
JP2004170692 | 2004-06-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1707431A true CN1707431A (zh) | 2005-12-14 |
CN100383732C CN100383732C (zh) | 2008-04-23 |
Family
ID=34981373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100765907A Expired - Fee Related CN100383732C (zh) | 2004-06-09 | 2005-06-09 | 信号处理装置及其方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7752189B2 (zh) |
EP (1) | EP1605350A3 (zh) |
JP (1) | JP4296421B2 (zh) |
KR (1) | KR101126255B1 (zh) |
CN (1) | CN100383732C (zh) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4273973B2 (ja) * | 2004-01-15 | 2009-06-03 | ソニー株式会社 | 情報通信システム、送信装置及び送信方法、並びにコンピュータ・プログラム |
JP4348546B2 (ja) | 2005-01-20 | 2009-10-21 | ソニー株式会社 | 信号処理装置、信号処理プログラムおよび記録媒体 |
JP4622611B2 (ja) * | 2005-03-24 | 2011-02-02 | ソニー株式会社 | 信号処理装置 |
US7870562B1 (en) * | 2005-06-24 | 2011-01-11 | Apple Inc. | Media rendering hierarchy |
JP2008097498A (ja) * | 2006-10-16 | 2008-04-24 | Olympus Corp | プロセッシング・エレメント、コントロール・ユニット、及びこれらを備える処理システム、分散処理方法 |
US20080218470A1 (en) * | 2007-03-09 | 2008-09-11 | Citizen Electronics Co., Ltd. | Display apparatus |
TWI334569B (en) * | 2007-05-15 | 2010-12-11 | Ind Tech Res Inst | System and method of dual-screen interactive digital television |
JP2010033555A (ja) * | 2008-06-30 | 2010-02-12 | Olympus Corp | コントロール・ユニット、分散処理システム及び分散処理方法 |
US8161074B2 (en) | 2009-09-15 | 2012-04-17 | Oracle International Corporation | Operationally complete hierarchical repository in a relational database |
CN102752533B (zh) * | 2011-11-15 | 2017-09-12 | 新奥特(北京)视频技术有限公司 | 一种基于图方式的特效节点的编辑方法 |
US20140282019A1 (en) * | 2013-03-14 | 2014-09-18 | thePlatform Media, Inc. | Systems And Methods For Generating Software Components |
US9413854B1 (en) * | 2013-07-15 | 2016-08-09 | Amazon Technologies, Inc. | Network-accessible signal processing service |
US9421382B2 (en) | 2013-12-13 | 2016-08-23 | Medtronic, Inc. | Method and apparatus for monitoring of patient medication compliance |
US10133827B2 (en) | 2015-05-12 | 2018-11-20 | Oracle International Corporation | Automatic generation of multi-source breadth-first search from high-level graph language |
US10614126B2 (en) | 2015-05-21 | 2020-04-07 | Oracle International Corporation | Textual query editor for graph databases that performs semantic analysis using extracted information |
US10127025B2 (en) | 2015-07-22 | 2018-11-13 | Oracle International Corporation | Optimization techniques for high-level graph language compilers |
US9575736B2 (en) * | 2015-07-22 | 2017-02-21 | Oracle International Corporation | Advanced interactive command-line front-end for graph analysis systems |
US10810257B2 (en) | 2015-08-27 | 2020-10-20 | Oracle International Corporation | Fast processing of path-finding queries in large graph databases |
US9971570B2 (en) | 2015-12-15 | 2018-05-15 | Oracle International Corporation | Automated generation of memory consumption aware code |
US10540398B2 (en) | 2017-04-24 | 2020-01-21 | Oracle International Corporation | Multi-source breadth-first search (MS-BFS) technique and graph processing system that applies it |
US10585945B2 (en) | 2017-08-01 | 2020-03-10 | Oracle International Corporation | Methods of graph-type specialization and optimization in graph algorithm DSL compilation |
JP6975866B2 (ja) * | 2018-01-29 | 2021-12-01 | ルビクラウド テクノロジーズ インコーポレイテッド | フレキシブル・パイプライン生成のための方法及びシステム |
US10795672B2 (en) | 2018-10-31 | 2020-10-06 | Oracle International Corporation | Automatic generation of multi-source breadth-first search from high-level graph language for distributed graph processing systems |
US11327802B2 (en) * | 2019-07-31 | 2022-05-10 | Microsoft Technology Licensing, Llc | System and method for exporting logical object metadata |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4796179A (en) | 1986-08-20 | 1989-01-03 | Integrated Systems, Inc. | Multirate real time control system code generator |
US5331111A (en) | 1992-10-27 | 1994-07-19 | Korg, Inc. | Sound model generator and synthesizer with graphical programming engine |
US5999906A (en) | 1997-09-24 | 1999-12-07 | Sony Corporation | Sample accurate audio state update |
US6370682B1 (en) | 1999-09-15 | 2002-04-09 | Siemens Atkiengesellschaft | System and method for developing reusable flexible and platform independent software using components |
US6829290B1 (en) * | 1999-09-28 | 2004-12-07 | Texas Instruments Incorporated | Wireless communications system with combining of multiple paths selected from correlation to the primary synchronization channel |
EP1317109B1 (en) | 2001-11-29 | 2009-12-23 | Sony Deutschland GmbH | System and method for controlling the adaptation of adaptive distributed multimedia applications |
AU2003256938A1 (en) | 2002-07-31 | 2004-02-16 | Thomson Licensing S.A. | Packet processing architecture |
-
2004
- 2004-06-09 JP JP2004170692A patent/JP4296421B2/ja not_active Expired - Fee Related
-
2005
- 2005-05-23 US US11/135,259 patent/US7752189B2/en not_active Expired - Fee Related
- 2005-05-31 KR KR1020050046374A patent/KR101126255B1/ko not_active IP Right Cessation
- 2005-06-09 CN CNB2005100765907A patent/CN100383732C/zh not_active Expired - Fee Related
- 2005-06-09 EP EP05253549A patent/EP1605350A3/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
EP1605350A2 (en) | 2005-12-14 |
EP1605350A3 (en) | 2007-05-16 |
US7752189B2 (en) | 2010-07-06 |
KR101126255B1 (ko) | 2012-06-12 |
CN100383732C (zh) | 2008-04-23 |
JP4296421B2 (ja) | 2009-07-15 |
KR20060046338A (ko) | 2006-05-17 |
JP2005352618A (ja) | 2005-12-22 |
US20050278451A1 (en) | 2005-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1707431A (zh) | 信号处理装置及其方法 | |
CN1862490A (zh) | 信号处理装置 | |
CN1284095C (zh) | 多处理器系统中的任务分配方法和多处理器系统 | |
CN1253790C (zh) | 指令调度方法和指令调度设备 | |
CN1601483A (zh) | 一种基于脚本解释工具的自动化软件测试系统 | |
CN1841376A (zh) | 对网络表单的数据驱动动作 | |
CN1734438A (zh) | 信息处理设备、信息处理方法和程序 | |
CN100351750C (zh) | 信息处理设备,信息处理方法,记录介质,以及程序 | |
CN1200514A (zh) | 信息处理方法和装置及存储服务器控制程序的存储器媒体 | |
CN1568458A (zh) | 无需修改现有代码即可增加新软件特征的方法 | |
CN1558348A (zh) | 将基于模式的分级数据结构转换成平面数据结构的方法以及系统 | |
CN101044498A (zh) | 工作流服务体系结构 | |
CN1908892A (zh) | 测试用例设计方法和系统 | |
CN1319210A (zh) | 可配置的硬件块的配置方法 | |
CN101031918A (zh) | 节点设备、共享信息更新方法、共享信息存储方法以及程序 | |
CN1172239C (zh) | 执行移动对象的方法 | |
CN1801183A (zh) | 信息处理装置和方法以及程序 | |
CN1276575A (zh) | 数据库存取系统 | |
CN1795434A (zh) | 程序执行控制设备,程序执行控制方法,控制程序和记录介质 | |
CN1783012A (zh) | 程序转换器件及方法、程序转换执行器件及转换执行方法 | |
CN1700652A (zh) | 一种基于协同模板的协同设计方法 | |
CN1098501C (zh) | 用于sql关系数据库的仿真器及方法 | |
CN1758222A (zh) | 程序处理装置 | |
CN1601543A (zh) | 工作流管理设备及方法 | |
CN1808380A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080423 Termination date: 20150609 |
|
EXPY | Termination of patent right or utility model |