CN100385393C - 信号处理装置,信号处理方法及记录介质 - Google Patents

信号处理装置,信号处理方法及记录介质 Download PDF

Info

Publication number
CN100385393C
CN100385393C CNB2006100059725A CN200610005972A CN100385393C CN 100385393 C CN100385393 C CN 100385393C CN B2006100059725 A CNB2006100059725 A CN B2006100059725A CN 200610005972 A CN200610005972 A CN 200610005972A CN 100385393 C CN100385393 C CN 100385393C
Authority
CN
China
Prior art keywords
signal processing
insert
delay element
backfeed loop
software modules
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.)
Expired - Fee Related
Application number
CNB2006100059725A
Other languages
English (en)
Other versions
CN1808380A (zh
Inventor
山下功诚
宫岛靖
高井基行
佐古曜一郎
寺内俊郎
佐佐木徹
酒井祐布
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Publication of CN1808380A publication Critical patent/CN1808380A/zh
Application granted granted Critical
Publication of CN100385393C publication Critical patent/CN100385393C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/22Microcontrol or microprogram arrangements

Abstract

一种信号处理装置包括下列元件。多个信号处理软件模块利用软件处理进行单元信号处理步骤。指令输入接收单元接收指令。虚拟连接单元响应接收到的指令在信号处理软件模块的输入和输出之间建立虚拟连接。电路结构信息存储和管理单元存储和管理被虚拟连接的信号处理软件模块。路径路由选择单元路由选择信号处理路径以确定在其中被存储的多个信号处理软件模块进行信号处理的顺序。信号处理执行单元通过按确定的顺序顺序地执行信号处理软件模块进行信号处理。路径路由选择单元确定不包括延迟元件的反馈回路是否在由多个信号处理软件模块构成的电路中产生。

Description

信号处理装置,信号处理方法及记录介质
与相关申请的交叉引用
本发明包含与2005年1月20日向日本专利局提出的JP 2005-012256日本专利申请有关的主题,其整个内容通过引用包括在此。
技术领域
本发明涉及用于进行包括依靠软件处理的多个单元信号处理步骤的信号处理装置和方法,以及涉及存储用于该信号处理的程序的记录介质。
背景技术
近来,高性能的计算机已经越来越多地可以从市场上得到,并且电影和音乐已经在这些计算机上可再现,而这在以前是很困难的。特别是,已经有不需要使用诸如数字信号处理器(DSP)的传统专用信号处理设备或专用硬件,通过软件处理能够容易地进行实时信号处理的视频和音频信号处理应用程序。
该信号处理应用程序由各种类型的信号处理中间件支持,诸如DirectShow(从http://msdn.microsoft.com/library/defalt.asp?url=/library/en-us/directx9_c/directX/htm/directshow.asp可在线获得),它是
Figure C20061000597200061
公司的产品;MATLAB(从http://mathworks.com可在线获得),它是
Figure C20061000597200062
公司的产品;以及Max/MSP(从http://www.cycling74.com/products/maxmsp.html可在线获得),它是Cycling’74的产品。
使用这样的中间件,信号处理应用程序能够相当容易地实现复杂的特征。例如,通过信号处理程序应用实现诸如记录和再现、输入和输出、混和和特殊效果的音频特征。也能够获得具有诸如非线性编辑的复杂编辑特征的视频信号处理应用程序。
具有插入式结构的中间件系统在第2001-109628和第7-302195号未经审查的日本专利申请说明书中被揭示。插入式是一种执行模块化特征的软件应用。这篇文件涉及信号处理。因而,插入式是实现信号处理软件模块的软件应用。
插入式允许用户在需要时添加和使用所期望的信号处理软件模块。虽然插入件通常被单独使用,近来已经开发了允许结合插入式的多个特征的新的系统。在将来,这样的多插入式(multiple plugin system)系统将成为新附加值系统的主流。
发明内容
然而,现有的多插入式系统具有以下的一些缺点:
(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是示出根据本发明的实施例的构成用于信号处理装置的路径路由选择算法的一部分的初始路径路由选择算法的示例性搜索结果的示意图;
图18是示出根据本发明的实施例的构成用于信号处理装置的路径路由选择算法的一部分的环路搜索算法的流程图;
图19是示出根据本发明的实施例的构成用于信号处理装置的路径路由选择算法的一部分的环路搜索算法的示意图;
图20是示出根据本发明的实施例的用于动态的改变信号处理装置的电路结构的过程的流程图;
图21是示出根据本发明的实施例用于信号处理装置的实时分配处理的示意图;
图22是根据本发明的第二个实施例的信号处理装置的功能方框图;
图23是示出根据图22中示出的第二个实施例的信号处理装置的示例性主要操作的流程图;
图24是示出根据图22中示出的第二个实施例的信号处理装置的示例性主要操作的流程图;
图25是示出根据图22中示出的第二个实施例的信号处理装置的主要操作的示意图;
图26是示出根据图22中示出的第二个实施例的信号处理装置的主要操作的示意图;以及
图27是示出根据图22中示出的第二个实施例的信号处理装置的主要操作的示意图。
具体实施方式
参照附图下文中将描述根据本发明的实施例的信号处理装置。
第一实施例
根据本发明的一个实施例的信号处理装置作为通用的信号处理中间件被实现。该中间件在下文中被称为“软件信号处理器(SSP)”。在下面的实施例中,在音频信号处理的上下文中讨论信号处理。
如图2中示出的SSP,存在于通用操作系统(OS)和应用软件之间。使用SSP,该应用软件容易实现复杂的信号处理特征。SSP是不需要图形用户界面(GUI)的中间件,从而对用于没有显示器件的嵌入式设备的信号处理引擎是有益的。
实施例的信号处理装置的概述
作为根据本发明的实施例的信号处理装置的一种设备,SSP是具有图形结构的中间件,并且基本上在单个计算机上实现。然而,如下面所讨论的,SSP可以在经由网络连接的多个计算机上实现。
根据本发明的实施例的信号处理装置,作为SSP被实现,它由两个部分构成;由软件实现的图形模块(下文中简称为“图形”)和由软件实现的插入式模块(下文中简称为“插入件”)。
插入式模块是用于执行单位信号处理步骤的信号处理软件模块,诸如过滤器、均衡器或增益控制器。
在这个例子中,插入件具有多个输入端口和多个输出端口。该插入件执行对从输入端口输入的音频信号执行只有插入件才有的信号处理,并从输出端口输出结果信号。
该插入件的输出端口被连接到另一个插入件的输入端口(这个连接是虚拟连接,它意味着来自一个插入件的输出信号被输入另一个插入件,而不是硬件连接。这个虚拟连接在下文中被称作“连接”)。多个插入件能够被连接以实现多个信号处理特征。仅通过将一个插入件的输入端口连接到另一个插入件的输出端口,插入件被连接。不允许插入件的输入端口的连接或插入件输出端口的连接。
图形起到SSP系统的作用,并且适合于包括多个插入件。该图形保持各种信号处理函数。响应来自用户输入的操作,该图形产生或删除插入件,或连接插入件的端口,并保持结果电路结构信息。存储在图形中的信号处理函数包括插入件插入和删除函数。因此,在图形内部,能够建立由多个插入件构成的任意电路。
在图形的信号处理函数被调用时,该图形顺序地将接收到的音频数据和时间信息一起传送给包括在该图形中的插入件。该图形也起到输入和输出音频数据及附加信息到插入件的作用。
此外,图形包含插入件的特性。因此,像插入件,该图形具有输入和输出端口以使该图形能与另一个插入件互连。由于包括多个插入件的图形的能力,通过创建图形,由多个插入件组成的电路部件(图形)能够被作为单个的插入件处理。作为单个插入件处理的图形具有将一组电路处理为单个部件的功能。
示例性图形
图3示出了包括多个内部的插入件的示例性图形。根据本发明的实施例的单个处理装置能够由个人计算机(PC)实现以使来自用户的输入或到用户的输出能够被接收,并且根据用户的指令,图形、插入件及它的连接能够用图形显示在PD的显示单元上。
在图3示出的例子中,用户先创建一个基本的根图形200,并然后在图形200中创建由多个插入件201到204组成的电路。插入件201到204可以从预存储在PC中的插入件选择。预存储的插入件在对象实际产生之前以被称为面向对象等级的模板的形式被存储。
例如,用户从存储在PC的存储单元中的插入件选择插入件201到204,并在图形200中动态地产生(或绘制)所选的插入件201到204。如此产生面向对象的对象。用户指示插入件201到204的输出端口和输入端口连接以及图形200和插入件201及204连接,从而建立图3中示出的电路。
图形200保持内部插入件201到204的电路结构信息。一旦用户调用根图形200的信号处理函数,内部插入件201到204的信号处理函数从根图形200的信号处理函数内被顺序地递归地调用,且与信号处理相关联的计算被相继执行。递归的信号处理函数调用的传播是SSP系统自身的执行过程。
图4示出了包含多个内部插入件的另一示例性图形。如上面讨论的那样,图形也是插入件。因而,图形可以被递归地构建以使图形包括它自身(子图形)和除该图形之外的插入件。像其它插入件一样,图形具有输入和输出端口。图形的内部定义了黑框,从图形的外部看不出黑框。在图形的内部,定义了由多个插入件组成的电路部件。
在图4中,母图形400拥有图形401和插入件405,401是子图形。子图形401拥有插入件402、403和404。从母图形400看不到在子图形401内部的插入件402、403和404,并且母图形401被看成是单个插入件。
首先,用户创建根图形(即母图形400),它是根。一旦用户调用根图形400的插入件产生和删除函数,子图形401和插入件405在根目录的内部产生。
在用户调用产生和删除子图形401的功能的插入件时,插入件402、403和404以相似的方式产生。
为了执行信号处理,首先,用户调用根图形400的信号处理函数。然后,子图形401的信号处理函数被作为插入件处理,在根图形400内的插入件405从根图形400的信号处理函数的内被顺序地循环地调用,且依次执行计算。递归的信号处理函数调用的顺序也由图形确定。
在子图形401中,子图形401的信号处理函数被首先调用。然后,在子图形401内部的插入件403、403和404的信号处理函数从子图形401的信号处理函数内部被顺序地递归地调用,且依次执行计算。
SSP系统的执行过程是上述的图形操作本身。图形或插入件本身处理系统所需的功能,诸如产生和删除插入件,插入件之间的连接,插入件之间的数据传送,对插入件应用的时间信息和音频及视频信息之间的同步,插入件的信号处理函数的顺序调用,以及确定函数调用的顺序。
在下面的说明中,术语系统意味着图形本身或图形的函数。
图5是示出了作为示例性实施的SSP中间件的整个结构的统一建模语言(UML)等级示意图。该示意图以图像式模型表示,其中定义了等级和界面(应用程序界面(APIs))。
插入件等级(CPlugin)继承了插入件界面(IPlugin),且执行插入件独有的(plugin-unique)界面。插入件等级拥有多个输入端口等级(CinputPort)和输出端口等级(CoutputPort)。
根据它们的功能有多种类型的插入件等级。例如,一种求和插入件等级是用于执行加法的插入件等级,且乘法插入件是用于执行乘法的插入件等级。这些等级被分类为用户自己的插入件(CmyPlugin)等级。用户自己的插入件等级继承了该插入件等级。在这个例子中,中间件用户使用插入件模板以容易地创建他/她自己的插入件。
接下来,将描述图形等级。图形等级(CGgraph)包括多个图形等级。像插入件等级,图形等级也继承了插入件界面(IPlugin),并且也是插入件等级。
因此图形等级具有递归的分级的结构,其中一个图形包括另一个图形和一个插入件。这种结构对应于这种结构,称为在普通的面向对象的设计模式中的复合模式。
此外,图形还包括插入件的特性。因而,像其它插入件一样,图形具有输入和输出端口以使该图形能够与另一个插入件相互连接。一旦图形对象被创建,由多个插入件对象组成的电路部件被处理为单个部件对象。
图形等级的界面(APIs)和插入件等级被限定。借助从SSP中间件客户应用程序调用APIs,对象是可控制的。由用户为SSP系统执行的操作是在这两种类型的对象上进行。
插入件结构
图6示出了插入件600的一种示例结构。如上面讨论的那样,插入件600是一个信号处理软件模块,且图6中示出的部件具备软件而不是硬件功能。
如图6中所示,插入件600能够包括信号处理器601,零个或零个以上输入端口602,以及零个或零个以上输出端口603。即,插入件600可不包括输入端口602或不包括输出端口603,或者可以包括一个或多个输入端口602或一个或多个输出端口603。
插入件600能够经由输入端口或端口602以及输出端口或端口603,与另一个插入件或其它多个插入件交换信号,例如,音频数据。在这个例子中,每个端口的每一通道的音频信号被输入和输出。
用户指示插入件600添加或删除输入端口602和输出端口603,从而甚至在信号处理期间,动态地改变插入件600的输入端口602和输出端口603的数量。根据其中被添加的端口的顺序,输入端口602和输出端口603分别地被赋值为0到N的识别号码,其中N为任何自然数,以及0到M,其中M是自然数。用户选择识别号码以指定输入端口602中的一个和输出端口603中的一个。
插入件600还包括用于存储零个或零个以上参数的零个或零个以上参数保持部分(参数缓冲器)604。这些参数是用于设置信号处理的效果的数量的可变值等等,并且由用户输入。例如,当插入件600作为放大器实施时,参数包括放大增益值。插入件600的用户改变插入件600的参数值以改变信号处理的效果。
在这个例子中,参数被赋值为0到K的识别号码,其中K是任何自然数。用户指定任何参数的识别号码以在任意的时限改变缓冲的参数的内容。在插入件600的机构中,由用户给出的参数被存储在插入件内部的参数缓冲器604中。根据与系统(即图形)提供的采样数据同步的时间信息读取参数,然后该参数被发送到信号处理器601用于它的信号处理。
插入件60还包括从SSP系统(即,图形)不断地接收时间信息的时间信息寄存器605。时间信息表示在SSP系统的开始时间(即,图形的信号处理函数的开始时间)开始的音频输入或输出数据采样的累加计数的数量。累加计数的数量是在SSP系统中最主要的时间信息。
在该实施例的SSP系统中,时间信息和音频输入或输出数据是彼此完全同步的。SSP系统将时间信息与音频时间一起供给插入件600。时间信息因此起到输入到插入件600的音频时间的数据采样的时间戳的作用,用于使插入件600自己知道详细的时间信息,诸如经受信号处理的输入数据对应于绝对时域中的哪个采样。在SSP系统内存在的插入件参照该绝对时间而彼此同步,SSP系统中整个电路就能够实现具有采样精度的同步的信号处理。
插入件600包括信号处理器601。从另一个插入件输入的音频数据经由输入端口602被发送到信号处理器601。信号处理器601在参照发送到信号处理器601的时间信息或参数值的同时,对从输入端口602获得的音频数据执行只有插入件600才有的信号处理。由信号处理器601处理的音频数据经由输出端口603被发送到另一个插入件。
在与时间信息的同步中,插入件600中的处理不仅能够在逐个采样的基础上进行,而且能够在逐个单元的基础上进行,其中每一单元由多个采样构成,例如,在逐个包的基础上。在插入件中,信号处理函数在逐个单元的基础上被调用。因而,在逐个包的基础上进行信号处理的情况下,每个包信号处理函数被调用一次,并且在增加信号处理速度的同时功能调用的数量被减少。
图形结构的例子
图7是示出图形700的示例结构的示意图。如上面讨论的那样,插入件700是一个信号处理软件模块,且图7中示出的图形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中的插入件根据依次的计算的顺序被顺序地执行。图形和插入件以依次计算的顺序被存储,并且存储在插入件产生和保持单元706中。
在图形和包括在图形700中的插入件中,计算被依次地执行,由此在图形700中建立的整个电路实现多个信号处理操作。根据插入件之间的连接依次计算的顺序由系统(即图形700)确定。
在根据用户指示修改电路设计的情况下,诸如添加或删除插入件或改变输入端口及输出端口之间的连接,图形700执行如下所述的路径路由选择,为包括在图形700中的插入件和子图形自动地确定最佳依次计算的顺序。包括在子图形中的插入件的最佳依次计算的顺序通过子图形执行路径路由选择而被自动地确定。
作为由图形700执行的路径路由选择的结果,插入件组(包括作为插入件的子图形)以插入件以最佳依次计算的顺序排序的方式,存储在插入件产生和保持单元706中。下面将详细描述图形700的路径路由选择算法。
图形的功能部件示意图
图1是根据本发明的第一个实施例的信号处理装置的功能方框图,示出了其中图形的功能由部件表示的图形结构。图形包括指令输入接收功能单元1、插入件产生和删除功能单元2、插入件互连处理功能单元3、电路结构信息存储和管理功能单元4、路径路由选择功能单元5、信号处理顺序管理功能单元6、信号处理执行功能单元7、信号处理函数存储单元8和错误警告功能单元9。
指令输入接收功能单元1接收用户指令以产生或删除插入件,以连接插入件的输入端口另一个插入件的输出端口,以输入参数等等。指令输入接收功能单元1将插入件产生或删除指令传递给插入件产生和删除功能单元2,以及把输入和输出端口连接指令传送给插入件互连处理功能单元3。响应插入件产生或删除指令或输入和输出端口连接指令,指令输入接收功能单元1起动路径路由选择功能单元5以执行路径路由选择。指令输入接收功能单元1响应参数输入指令,也适于将输入参数保持在参数缓冲器中。
插入件产生和删除功能单元2响应来自指令输入接收功能单元1的插入件产生或删除指令产生或删除插入件。当产生插入件时,产生的插入件被赋值识别号码,且包含识别号码的产生的插入件的信息被传送到电路结构信息存储和管理功能单元4。当插入件被删除,包含被删除插入件的识别号码的删除信息和删除请求的删除信息被传送到电路结构信息存储和管理功能单元4。
响应来自指令输入接收功能单元1的插入件互连指令,插入件互连处理功能单元3将由连接指令指定的插入件的输出端口和输入端口之间的连接信息传送到电路结构信息存储和管理功能单元4。
电路结构信息存储和管理功能单元4根据来自插入件产生和删除功能单元2或插入件互连处理功能单元3的插入件产生信息、删除信息,或连接信息,存储和管理与建立在图形中的电路有关的信息。
如下所述,响应来自指令输入接收功能单元1的插入件产生或删除指令或基于输入和输出端口连接指令的激活指令,路径路由选择功能单元5起动并执行路径路由选择算法。作为路径路由选择算法的结果,路径路由选择功能单元5确定插入件顺序执行计算的顺序(下文中称为“信号处理顺序”),并且将与信号处理顺序有关的信息发送到信号处理顺序管理功能单元6。信号处理顺序管理功能单元6在图7中示出的插入件产生和保持单元706中以信号处理顺序排列插入件的识别信息,并保持插入件。
如图1中所示,信号处理执行功能单元7包括数据传送处理器71、信号处理函数调用器72、信号处理时间管理器73和信号处理同步管理器74。
信号处理执行功能单元7响应经由指令输入接收功能单元1输入的信号处理起始指令,使用建立在图形中的电路开始信号处理。当用户指示调用图形的信号处理函数时,信号处理函数调用器72读取来自信号处理函数存储单元8的所指示的图形的信号处理函数。在信号处理函数调用器72根据用户指令读取图形的信号处理函数的同时,图形中的插入件的信号处理函数从图形的信号处理函数的内被顺序地递归地调用。
信号处理执行功能单元7的数据传送处理器71参照存储在电路结构信息存储和管理功能单元4中的电路信息,并根据电路结构把音频数据顺序地传送给插入件。
信号处理时间管理器73以从数据传送处理器71传送的数据采样为单位管理时间。信号处理同步管理器74在信号处理期间逐包地管理包同步(例如,包报头)或用于使音频数据的处理定时和视频数据的帧同步的AV同步。
甚至在由信号处理执行功能单元7进行信号处理期间,路径路由选择单元5响应来自指令输入接收功能单元1的改变图形中电路结构的请求,在被改变的电路结构上执行路径路由选择,并发送已选择路径到电路结构信息存储和管理功能单元4和信号处理顺序管理功能单元6。然后信号处理执行功能单元7根据基于从改变的电路结构获得的已选择路径确定的信号处理顺序,在改变的电路结构中进行信号处理。
如上所述,有必要在图形中创建信号处理电路以满足数字信号处理的一般原则,也就是说,在信号处理流程图中要求包含在反馈回路中的至少一个或一个以上的延迟元件。
然而,不具备要求在反馈回路中包括延迟元件的知识的用户,能够在图形中创建不能满足这个要求的电路。当在反馈回路中不包括延迟元件的这样的电路在图形中建立时,在如下所述的路径路由选择算法中,路径路由选择功能单元5将此电路检测为错误。在检测这样的错误时,路径路由选择功能单元5将检测到的错误通知误差警告功能单元9。
当响应来自路径路由选择功能单元5的检测到错误的通知,确定在图形中建立了在反馈回路中不包括延迟元件的电路时,错误警告功能单元9用音频和/或视频错误信息,诸如“没有延迟的闭合回路不能够被创建”来警告用户。
响应该警告,用户检查由用户创建的电路的反馈回路并修改电路以使附加的元件在适当的位置被插入。
用图形结构创建电路的过程
在具有图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中示出的用于创建电路的步骤。在图9到图12中,为便于理解,用户指令与根据实施例的信号处理装置的操作相关联被举例说明。虽然未示出,根据实施例的信号处理装置依照用户输入的指令在显示屏上显示图像,因而允许用户在观看显示屏的同时执行输入操作。
首先,用户指示信号处理装置创建图形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使用插入件产生和删除功能以在图形800内部产生子图形803并登记它(步骤S106)。响应插入件产生指令,图形800中的路径路由选择功能单元5执行路径路由选择(步骤S107)。
用户指示图形803的对象创建输入端口0(外部的)(用户指令(5))。然后,在信号处理装置中,作为产生的子图形803的功能,输入端口0(外部的)被产生并且登记在子图形803中(步骤S111)。在子图形803中,对应于输入端口0(外部的)的内部输出端口0(内部的)自动地被产生(步骤S112)。响应端口创建指令,在子图形803中的路径路由选择功能单元5执行路径路由选择(步骤S113)。
用户指示子图形803的对象创建输出端口0(用户指令(6))。然后,在信号处理装置中,作为产生的子图形803的功能,输出端口0(外部的)被产生并且登记在子图形803中(步骤S114)。在子图形803中,对应于输出端口0(外部的)的内部输入端口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的输出端口0和子图形803的输入端口0(外部的)(用户指令(10))。然后,图形800使用插入件互连处理功能单元3以连接插入件801的输出端口0和子图形803的输入端口0(外部的)并把该连接登记在图形800中(步骤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的输出端口1和插入件806的输入端口0并把该连接登记在子图形803中(步骤S143)。响应端口连接指令,子图形803中的路径路由选择功能单元5执行路径路由选择(步骤S144)。
用户指示子图形803的对象连接插入件806的输出端口0和插入件805的输入端口1(用户指令(15))。然后,子图形803使用插入件互连处理功能单元3以连接插入件806的输出端口0和插入件805的输入端口1并把连接登记在子图形803中(步骤S145)。响应端口连接指令,子图形803中的路径路由选择功能单元5执行路径路由选择(步骤S146)。
当插入件806是不包括延迟的插入件,如上所述,检测到一个差错并且该检测到的差错作为路径路由选择功能单元5的路径路由选择的结果被通知,差错警告单元9用差错信息警告用户。响应该警告,用户在反馈回路中在插入件806之前或之后插入延迟元件以解决该差错。
另一方面,当插入件806是包括延迟的插入件,可以预见没有差错被通知或没有差错警告被发布。
最后,用户指示子图形803的对象连接插入件805的输出端口0和子图形803的输入端口0(内部的)(用户指令(16))。然后,子图形803使用插入件互连处理功能单元3以连接插入件805的输出端口0和子图形803的输入端口0(内部的)并把该连接登记在子图形803中(步骤S147)。响应端口连接指令,子图形803中的路径路由选择功能单元5执行路径路由选择(步骤S148)。
根据上述步骤图8中示出的电路在图形800中如此被建立。当用户指示图形800开始信号处理,如上所述,插入件根据由路径路由选择确定的顺序顺序地进行信号处理。
如上所述,在根据本实施例的信号处理装置中,因为在上述步骤中整个16个用户步骤在图形对象上进行,电路的图形结构在每次执行步骤时被改变。因此,路径路由选择算法由系统(图形)对每一步骤自动地执行。当用于创建电路的处理结束时,路径路由选择也结束,且信号处理顺序被确定。
现在将描述在图8中示出的创建的电路上进行信号处理的流程。
在图形800中插入件产生和保持单元拥有用由路径路由选择算法确定的最佳的依次计算顺序分类的插入件。在假定插入件以最佳顺序存储在图8中示出的图形800中的同时,现在将描述进行信号处理的流程。
(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)的信号处理设备中进行信号处理时,DSP中的算术电路单元,诸如算术逻辑单元(ALU),依次进行计算以获得所需的信号处理。这种使用DSP等的依次处理方法也被应用在由根据该实施例的中间件的中央处理单元(CPU)进行的算术运算中。
在这个实施例中,一个给定的电路被认为是信号流程图,从该图中确定依次计算的顺序,且计算以被确定的顺序被依次地执行。作为根据该实施例的设备的中间件的SSP,也以具有独有的路径路由选择算法成为其特征。
路径路由选择算法允许包括反馈回路的任何数字电路被完全仿真。路径路由选择算法也允许电路结构被动态地改变,这在现实硬件电路环境中是困难的。
根据本实施例的路径路由选择算法是用于确定从哪个插入件开始信号处理的依次计算顺序的算法,以便在由连接起来构成图形的插入件组成的电路上执行信号处理。
该路径路由选择算法包含在图形中,并且在图形中的插入件产生和保持单元执行路径路由选择算法。
当用户指示图形改变图形结构时,图形自身自动地进行路径路由选择,并确定新的依次计算顺序。当多个图形存在于电路内部时,各个图形的路径被独立地选择,且路径路由选择仅在改变的图形上进行。这个路径路由选择非常简单并且在较短的时间内被完成。
根据此实施例的路径路由选择算法的细节将下文中描述。
在根据此实施例的路径路由选择算法中,作为构成图形的电路元件的插入件,被看作是节点。在图形理论中节点是构成节点的元件。在此实施例中,电路可以用节点间具有方向的箭头连接线来连接的有向边(directed-edge)图形来表示。指向节点的箭头被定义为向节点的输入,从节点指向外部的箭头被定义为从节点输出。在根据本实施例的连接安排算法中,定义图形的连接节点被向前追踪以确定信号顺序。根据本实施例的路径路由选择算法在下文中被称为“节点扫描算法”。
作为基本的路径路由选择算法,节点扫描算法由初始路径路由选择算法(初级节点扫描算法)和用于根据回路信息进一步选择路径的回路搜查算法组成。
在本实施例中,如图13中所示,在节点扫描算法中,首先,执行初始路径路由选择算法(步骤S151)。然后,确定初始路径路由选择算法是否已经结束(步骤S152)。如果确定初始路径路由选择算法已经正常结束,执行路径搜查算法(步骤S153)。然后,路径路由选择算法结束。
如果在步骤S152中确定初始路径路由选择算法没有结束,如上所述且如下详细讨论那样,确定初始路径路由选择算法是否由于在反馈回路中插入不包含延迟的插入件引起的差错已经中断或终止(步骤S154)。
如果在步骤S154中确定初始路径路由选择算法没有被终止,流程回到步骤S151,并且初始路径路由选择算法继续。如果在步骤S154中确定初始路径路由选择算法已经被终止,路径路由选择算法结束。
初始路径路由选择算法
在设定下面的待解决的命题之后,初始路径路由选择算法在下面描述的搜索条件下被执行。
待解决的命题:
假定连接起来构成图形的节点被向前追踪。在下面的条件下在一个循环中一次通过所有的节点。确定满足这一要求的循环顺序,其中待追踪的节点不必由图形边直接连接且节点可被跳过和追踪。
搜索条件
(a)路径能够无条件地通过没有输入的节点。
(b)路径能够无条件地通过构成延迟元件的插入件的节点。
(c)通过的节点的输出被确定。
(d)一旦确定了连接到节点A的输入的前一节点B,输出节点A的输入被确定。
(e)如果给定节点的所有输入被确定,那么,路径能够通过该给定的节点。
节点被预先按序指定作为标识符的唯一的号码。这些号码在下文中被称为“节点号码(节点Nos.)”。节点号码可以是任意的号码,例如,节点号码可以按其中产生插入件的对象的次序被指定。有两种类型的插入件,即延迟型插入件(LTPs)和非延迟型插入件(NLTPs)。LTPs是使一次或多次采样延迟的延迟元件构成的插入件。NTPs是不导致延迟的门元件构成的插入件。
初始路径路由选择算法在第二次循环、第三次循环等中被重复执行以检查节点直到发现待解决的命题的解决办法。在选择路径的循环中,通过其路径能通过的至少一个节点(下文中称为“可通过节点”)能够被发现。
然而,有一个例外。即,在选择路径的循环中,如果构成延迟元件的插入件LTP没有包含在反馈回路中,则没有可通过的节点被发现。这在电路结构中是不正常的。
在数字信号处理的一般原理中,有必要在反馈回路中包括至少一个或多个延迟元件以满足因果性限制。根据本实施例的初始路径路由选择算法的特征是在用户创建不能满足这一基本原理的电路时发生此例外。
在根据本实施例的初始路径路由选择算法中,该例外的发生被用来警告用户有错误。在用户创建不包含延迟元件的反馈电路时,在初始路径路由选择算法中发生路径路由选择的上述例外。当这一例外被检测到时,系统警告用户以使他/她能够重新配置电路。
上述初始路径路由选择算法能够根据图14中示出的流程图被执行。
首先,检查到第一个节点(步骤S161),并且确定当前的节点是否已经被指定节点顺序号(下文中称作“节点标记”)(步骤S162)。如果该节点标记已经被指定,确定所有节点是否已经被指定节点标记。(步骤S172)。如果确定所有节点已经被指定节点标记,该处理程序结束。
如果在步骤S172中确定所有的节点没有被指定节点标记,检查下一节点(步骤S173)。然后,流程回到步骤S162,并且步骤S162之后的处理被重复执行。
如果在步骤S162中确定当前节点没有被指定节点标记,确定当前节点是否是通过其路径能够无条件地通过的节点,即,当前节点是否是LTP(步骤S163)。
如果在步骤S163中确定当前节点不是通过其路径能够无条件地通过的节点,确定当前节点的所有输入是否被确定(步骤S164)。如果在步骤S164中确定所有输入没有被确定,则确定路径路由选择的循环是否完成(步骤S165)。
如果在步骤S165中确定路径路由选择的循环没有完成,检查下一节点(步骤S173)。然后,流程回到步骤S162,且步骤S162之后的处理被重复执行。
如果在步骤S165中确定路径路由选择的循环完成,确定是否发现可通过节点(步骤S166)。如果在步骤S166中确定发现任何的可通过节点,则确定所有节点是否已经被指定节点标记(步骤S172)。如果确定节点是没有被指定节点标记的任何节点,检查下一节点(步骤S173)。然后,流程回到步骤S162,且步骤S162之后的处理被重复执行。如果在步骤S172中确定所有节点已经被指定节点标记,这一处理程序结束。
如果在步骤S166中确定没有发现可通过的节点,由于没有延迟元件包含在反馈回路中的差错被检测到,并且生成和发布差错通知(步骤S167)。然后,使用初始路径路由选择算法的路径路由选择被终止(步骤S168),并且该处理程序结束。
如果在步骤S163中确定当前的节点是通过其路径能够无条件通过的节点或者在步骤S164中确定当前的节点的所有输入被确定,则路径通过当前节点,且当前节点的输出被确定(步骤S169)。然后,连接当前节点的节点的输入被确定(步骤S170)。然后当前节点被指定节点标记(步骤S171)。
确定所有节点是否已经被指定节点标记(步骤S172)。如果确定有任何节点没有被确定节点标记,则检查下一节点(步骤S173)。然后,流程回到步骤S162,且步骤S162之后的处理被重复执行。如果在步骤S172中确定所有节点已经被指定节点标记,这一处理程序结束。
这样,如上所述,由于没有延迟元件包含在反馈回路中的差错被检测到,且差错通知被发送到错误警告功能单元9。响应该差错通知,错误警告功能单元9用上述的差错信息警告用户。
例如,如图15中所示,如果构成非延迟元件(NLTP)的插入件作为插入件806被意外连接以创建反馈回路,如虚线所示,在图15中示出的警告信息显示在显示屏上。
响应该警告信息,用户修改反馈回路以在反馈回路中插入延迟元件或在反馈回路中用LTP替代NLTPs。在执行路径路由选择算法的下一步骤中,差错信息不出现。
参照图16中示出的标志电路结构将描述基于初始路径路由选择算法的指定节点标记的特定例子。在图16中,七个节点,即,节点0到节点6,是目标节点。节点4到节点6是LTPs。在初始路径路由选择算法中,节点0到节点6被依次检查如下。在节点0到节点6的多个循环中检查被重复执行直到所有节点变成可通过节点。
(1)节点0没有输入,因此是可通过的节点。节点0的输出(0)从而被确定。
(2)因为输入(1)是未定义的,节点1被跳过。
(3)节点2没有输入,因此是可通过的节点。节点2的输出(0)从而被确定。
(4)因为所有输入(0,1和2)是未确定的,节点4被跳过。
(5)节点4是LTP,因此是可通过的节点。节点4的输出(0)从而被确定。
(6)因为输入(0)是未确定的,节点5被跳过。
(7)节点6是LTP,因此是可通过的节点。节点6的输出(0)从而被确定。
路径路由选择的第一个循环完成。然后,路径路由选择的第二个循环如下那样在通过其路径不能通过且其输出是确定的节点上进行。
(1)因为所有输入(0和1)被确定,节点1成为可通过的节点。节点1的输出(0)从而被确定。
(2)因为所有输入(0和1)被确定,节点3成为可通过的节点。节点3的输出(0,1和2)从而被确定。
(3)因为所有输入(0)被确定,节点5成为可通过的节点。节点5从而被确定。
因为路径通过所有节点和输出被确定,路径路由选择操作完成。在此情况下,路径路由选择在第二次循环中完成。
初始路径路由选择算法的路由选择结果
在初始路径路由选择算法的安排步骤中,节点以输出被确定的次序编号,且路由选择结果被确定。这些新的节点的顺序号码是节点标记。图17示出了图16中示出的图形的示例电路结构的选择结果。
在图形中,插入件以节点标记的顺序存储在插入件创建和保持单元中。每次路径路由选择算法被执行,存储在插入件创建和保持单元中的插入件的顺序被更新。在信号处理期间,图形以节点标记的顺序调用插入件的信号处理函数,从而获得所需的信号处理。
在前面的说明中,错误通知在初始路径路由选择算法中发布。然而,错误通知可不在初始路径路由选择算法中发布,当在图13的流程图中所示的初始路径路由选择算法中检测到初始路径路由选择算法的终止时,它可以作为图13中示出的初始路径路由选择算法的一部分发布。
回路搜索算法
接下来,将描述回路搜索算法。回路搜索算法在信号处理期间提供CPU上的负荷的改进。这一技术对维持高程度实时信号处理是重要的。
通过使用在初始路径路由选择算法中确定的路由选择结果,可获得所需的信号处理电路。然而,就速度和性能而言,在初始路径路由选择算法中确定的路由选择结果对包含反馈回路的电路结构未必有利。
包含反馈回路的电路结构需要满足在数字信号处理的原理中的因果性限定,即输出不能被确定除非输入被确定。因此,在包含反馈回路的电路中,需要在逐个采样的基础上依次地对插入件进行信号处理。即,必须在逐个采样的基础上输入和输出关于插入件的音频数据并在音频数据上进行信号处理。
一个问题是每次进行信号处理需要的函数调用的数量。通常,在软件处理中,函数调用导致增加CPU的负荷(因此是该成本的)。在基于软件实时信号处理中,函数调用越少,处理速度和性能越高。用于减少函数调用的数量的方法需要增加处理速度和性能。
减少函数调用的数量的典型方法是在逐个单元的基础上进行信号处理,其中每一单元由多个数据采样组成,例如,在逐个包的基础上。代替在逐个采样的基础上的处理,由预定数量的数据采样组成的数据块被以批量处理。例如,当包尺寸是1024个采样时,音频数据的1024个采样的数据块通过一次函数调用被处理。通过这样做,能够减少函数调用的数量。
然而,如果电路包括反馈回路,如上面讨论的那样,需要在逐个采样的基础上的函数调用。在这种情况下,不执行基于包的处理。
在根据本实施例的路径路由选择算法中,在执行初始的路径路由选择算法之后,通过进行下面描述的回路搜索算法,这个问题被克服。
在包括反馈回路的电路中,形成回路的节点通常是电路的一部分。根据本实施例的回路搜索算法使用这个事实,根据信号处理顺序将形成回路的一组节点(下文中称为“回路节点”)和未形成回路的一组节点(下文中称为“非回路节点”)分开,并在该组非回路节点上进行基于包的处理,从而整体地增加信号处理速度。
例如,在图16中示出的电路结构中,三个节点,即节点3,节点4和节点6,形成一个回路,并且少于全部七个节点的一半。
只有回路节点在逐个采样的基础上被处理,而剩余节点在逐个包的基础上被处理,从而阻止速度变慢。在整个电路结构中,回路节点的比率越小,阻止速度的变慢。
图18是示出回路搜索算法的流程图。首先,一个封闭的路径路由选择算法被用来确定回路节点(步骤S181)。该封闭的路径路由选择算法可以使用在一般的图形理论中的封闭的路径路由选择算法。在一般的图形理论中的封闭的路径路由选择算法是已知的,其详细的说明在此被省略。
确定非回路节点在初始路径路由选择算法中确定的信号处理顺序中是否位于回路节点之间(步骤S182)。
如果确定非回路节点在信号处理顺序中是位于回路节点之间(步骤S183),信号处理顺序被重新安排以使非回路节点放在回路节点之前(步骤S184)。即,节点标记被重新编号。
如果在步骤S183中确定非回路节点在信号处理顺序中不是位于回路节点之间,该回路搜索算法结束。
在图16中示出的电路结构的应用的情况下,将在下文中详细描述该回路搜索算法。
对图16中示出的电路结构执行的初始路径路由选择算法的结果在图17中示出。在图19的左部分中看到的表格示出由封闭的路径路由选择算法确定的回路节点,即节点3、节点4和节点6在图17中示出的安排结果中被画上了阴影。
正如从图19的左部分中的表格清楚看到那样,作为非回路节点的节点1在初始路径路由选择算法的安排结果的信号处理顺序中位于回路节点之间。在这种情况下,尽管并不需要在逐个采样的基础上进行处理,节点1在信号处理顺序中同样要在逐个采样的基础上被处理。
在步骤S184中,在采用回路搜索算法时,信号处理顺序被改变以使非回路节点放在回路节点之前。
当信号处理顺序被改变时,仍需要满足在初始路径路由选择算法中的提议的待解决的命题。在路径搜索算法中,可以确定当信号处理顺序被改变时,在初始路径路由选择算法中的待解决的命题是否满足改变的信号处理顺序。然而,在这个例子中,信号处理顺序被改变以使非回路节点放在第一个回路节点之前,上述的确定是不必要的。这种改变方法在正确地维持信号处理顺序方面是有益的。
在图16中示出的例子的情况下,因节点4和节点6是LTP,如果输入未被确定,则输出本来就被确定。用此固有的特征,节点4和节点6可在节点1之后被处理。
在这个例子中,如在图19的右部分看到的那样,信号处理顺序被改变以使作为非回路节点的节点1被移动到信号处理顺序的第三个位置,在作为第一回路节点的节点4之前。
如由在图19的右部分画上阴影示出的那样,回路节点被形成组。即,该组回路节点在信号处理顺序中被局部化。
在图19的右部分看到的信号处理顺序中,信号处理根据下面的步骤被执行以减少函数调用的数量:
(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-1)数据的一个采样被传送到节点4进行处理(一次函数调用)。
(4-2)数据的一个采样被传送到节点6进行处理(一次函数调用)。
(4-3)数据的一个采样被传送到节点3进行处理(一次函数调用)。
(5)数据的1024个采样被传送到节点5进行处理(一次函数调用)。
在上面描述的信号处理步骤(1)到(5)中,需要总的3076次函数调用以在1024个采样上进行信号处理。
在这个例子中,如果在逐个采样的基础上所有节点被处理,需要总的7168次函数调用。执行根据本实施例的节点扫描算法以局部化一组回路节点,对该组回路节点执行每个采样的函数调用,同时在逐个包的基础上对剩余的非回路节点进行一次函数调用。从而,函数调用的数量能被减少约57%。
根据本实施例的系统可以不固定包的尺寸,而是动态地改变包尺寸。
电路结构的动态改变
如上面讨论的,根据本实施例的信号处理装置甚至在信号处理期间,响应来自用户的图形改变指令,能够动态地改变图形结构。甚至在信号处理期间,根据本实施例的路径路由选择算法(节点扫描算法)被重新执行以支持这种电路结构的改变。
这种办法允许用户,例如,在听到来自根据本实施例的信号处理装置处理和输出的声音的同时,把根据本实施例的信号处理装置改变成新的电路结构。因此,有利地,根据本实施例的信号处理装置能够应用到用于实况演出应用的设备中。
图20是示出这个动态改变处理的流程图。通过图形执行这个流程图。
首先,在时刻t进行信号处理(步骤S191)。然后,确定在信号处理期间是否已经接收到诸如产生或删除插入件的指令、或者产生或连接输入端口和输出端口的指令的图形改变请求(步骤S192)。
如果在步骤S192中确定已经接收到图形改变请求,图形重新执行路径路由选择,并且重新配置图形的电路结构(步骤S193)。然后,执行下一时刻(t+1)信号处理(步骤S194)。如果在步骤S192中确定没有接收到图形改变请求,那么,进行下一时刻(t+1)信号处理(步骤S194)。
在步骤S194之后,类似于步骤S192到S193的处理的处理被重复进行(例如,步骤S195到S196)。
在这个动态的改变处理中,使用图13中示出的流程图的路径路由选择算法在步骤S193、S196等的路径路由选择处理中也被执行。像上面描述的例子,如果不包括延迟的反馈回路被意外添加,将会给用户差错警告。
响应差错警告,通过在反馈回路中插入延迟元件或把插入件从NLTP改变到LTP,用户能够容易地创建正确的电路。
实时分配处理
根据本实施例的上述信号处理装置一般通过单台计算机被实施,且信号处理在该单台计算机上进行。该处理在经由网络连接的多台计算机上被广泛地进行,从而以实时方式分配CPU负荷。
通过利用分配的对象技术,该分配处理是可完成的,分配的对象技术是一般的计算机技术,诸如COM/DCOM(部件对象模型/分布式部件对象模型)或CORBA(部件对象请求代理体系结构)。
分布处理将在主要用于注册商标为Windows的OS中的COM/DCOM技术的情况下描述。首先,在本实施例的中间件中的所有插入件对象被作为COM对象实施。COM对象是面向对象的部件模型,并且用位置透明性构成特征。该位置透明性是允许要在远程计算机上产生的COM对象如同在例如本地计算机上产生的对象。
采用位置透明性,通过执行相同的操作在本地计算机或远程计算机的任一者上产生对象。即,插入件对象,它是COM对象,在不注意网络的情况下在多个计算机上统一地产生。在本地计算机或远程计算机的任一者上,采用统一的操作,也可以实现不同于产生插入件的操作。
例如,音频输入和输出插入件对象可以放在本地计算机上,并且回音插入件对象可以放在远程计算机上。总体上,能够建立单个电路。
图21示出了要经受实时分配处理的示例性图形。在图21中示出的例子中,在本地计算机1000和远程计算机2000经由网络300被连接的环境中,根图形2500被定义且电路被创建。
参照图21将描述创建电路的流程。用户用与仅使用本地计算机1000创建电路相似的方式创建电路。用户仅在一部分处理中对远程计算机2000予以注意。
(1)用户创建图形2500的对象。图形2500的对象在本地计算机1000上被创建。
(2)用户指示图形2500的对象创建插入件2501的对象。
(3)用户指示图形2500的对象创建插入件2502的对象。
(4)用户指示图形2500的对象创建插入件2503的对象。在这种情况下,插入件产生函数被指定为远程计算机的标识符。
(5)用户指示图形2500的对象创建插入件2504的对象。
(6)用户指示图形2500的对象连接插入件2501的输出端口0和插入件2503的输入端口0。
(7)用户指示图形2500的对象将插入件2502的输出端口0连接到插入件2503的输入端口0。
(8)用户指示图形2500的对象连接插入件2503的输出端口0和插入件2504的输入端口0。
(9)用户指示图形2500的对象连接插入件2504的输出端口0和插入件2502的输入端口1。
如此,电路被完成。用户仅在步骤(4)对远程计算机2000予以注意。此外,用户用与仅使用本地计算机1000相似的方式进行信号处理。
第二个实施例
根据本发明的第二个实施例的信号处理装置在结构上基本与根据第一个实施例的装置相似。不同之处在于,在第一个实施例中,当产生不包括延迟的反馈回路时,差错警告被发布给用户,然而,在第二个实施例中,不用发布差错警告或在发布差错警告之后,必要的延迟元件被自动地插入在反馈回路中。
在第二个实施例中,可以预设附加的延迟元件是否被自动地插入,以及,如果附加的延迟元件被自动地插入,附加的延迟元件的延迟量和延迟元件的附加的插入位置可以被预设。
图22是根据第二个实施例的信号处理装置的功能方框图,示出了其中由方框表示图形的功能的图形结构。像第一个实施例,该图形包括指令输入接收功能单元1、插入件产生和删除功能单元2、插入件互连处理功能单元3、电路结构信息存储和管理功能单元4、路径路由选择功能单元5、信号处理顺序管理功能单元6、信号处理执行功能单元7、信号处理函数存储单元8和错误警告功能单元9。该图形还包括预设功能单元10。
如图22中所示,在第二个实施例中的路径路由选择功能单元5包括作为功能装置的自动延迟元件添加处理器51。
预设功能单元10从用户接收关于是否自动地插入附加的延迟元件、要被自动地插入的附加的延迟元件的延迟的预设量和延迟元件的预设附加的插入位置的预设设置,并保持这些预设设置。
当路径路由选择功能单元5检测到不包括延迟的创建的反馈回路时,路径路由选择功能单元5的自动延迟元件添加处理器51在反馈回路中附加的插入位置添加具有被预设和存储在预设功能单元10中的延迟量的延迟元件,上述附加的插入位置被预设和存储在预设功能单元10中。
图23是示出预设功能单元10的示例性预设操作的流程图。当用户选择预设设置功能时,图形起动预设功能单元10。
首先,预设功能单元10将关于在产生不包括延迟元件的反馈回路时是否自动地插入附加的延迟元件的询问信息发送给用户(步骤S201)。响应该询问信息,用户设置关于是否自动地插入附加的延迟元件的预设。
预设功能单元10接收来自用户的预设输入(步骤S202),并确定该预设是否规定了附加的延迟元件被自动地插入(步骤S203)。如果在步骤S203中确定预设没有规定附加的延迟元件被自动地插入,预设功能单元9结束这个预设处理程序。
如果在步骤S203中确定预设规定了附加的延迟元件被自动地插入,提示设置要被插入的延迟元件的延迟量的信息被发送(步骤S204)。然后,该流程等待用户设置延迟量(步骤S205)。如果确定延迟量没有设置和终止该预设流程的操作被执行(步骤S206),该预设处理程序结束。
如果在步骤S205中确定延迟量被设置,预设功能单元10将延迟设置量保持为要被附加插入的延迟元件的延迟量(步骤S207)。
然后,预设功能单元10发送提示选择要被附加插入的延迟元件的插入位置的信息(步骤S208)。两个插入位置选项,例如反馈回路中在插入件(NLTP)前(输出侧)和在插入件(NLTP)后(输入侧)的位置,被呈现给客户。
响应该提示,用户把反馈回路中在插入件之前或之后的任一位置选为在其插入延迟元件的附加的插入位置。预设功能单元10监控用户的选择输入(步骤S209)。
然后,确定没有接收到延迟元件的附加的插入位置的选择输入是否执行终止这个预设流程的操作(步骤S210)。如果确定终止该预设操作的流程的操作被执行,这个预设处理程序结束。如果确定终止该预设操作的流程的操作没有被执行,流程返回步骤S209并等待延迟元件的附加插入位置的选择输入。
如果在步骤S209中接受到延迟元件的附加插入位置的选择输入,预设功能单元10保持由用户设置的该延迟元件的附加插入位置(步骤S211)。然后,预设处理程序结束。
图24是示出根据本发明第二个实施例的重新执行路径路由选择的处理的流程图,诸如在图20中示出的动态改变处理中步骤S193、S196等的处理。
首先,路径路由选择功能单元5执行初始路径路由选择算法(步骤S221)。然后,确定初始路径路由选择算法是否已经结束(步骤S222)。如果确定初始路径路由选择算法已经正常结束,则执行回路搜索算法(步骤S223)。然后,路径路由选择算法结束。
如果在步骤S222中确定初始路径路由选择算法没有结束,如上所述的,确定是否已经发生由产生不包括延迟的反馈回路引起的差错(步骤S224)。
如果在步骤S224中确定没有产生不包括延迟的反馈回路,流程返回步骤S221,并且继续初始路径路由选择算法。如果在步骤S224中确定产生了不包括延迟的反馈回路,确定是否预设了附加的延迟元件被自动地插入(步骤S225)。
如果在步骤S225中确定没有预设附加的延迟元件被自动地插入,则插入件的添加(动态的改变)被取消,且差错信息被发送到用户(步骤S226)。然后,路径路由选择处理程序结束。
在步骤S225中如果确定预设附加的延迟元件被自动地插入,则参照存储在预设功能单元10中的预设设置信息,并确定要被自动插入的附加的延迟元件是否插入在不包括延迟的附加的插入件(NLTP)的前面(步骤S227)。
如果在步骤S227中确定插入位置是在前侧位置,具有预设延迟量的延迟元件被插入在用户添加的插入件的前面以产生反馈回路(步骤S228)。如果在步骤S227中确定插入位置不是在前侧而是在后侧位置,具有预设延迟量的延迟元件被插入在用户添加的插入件的后面以产生反馈回路(步骤S229)。
在步骤S228或S229的处理之后,流程返回步骤S221,且初始路径路由选择算法被重新执行。因为附加的延迟元件在反馈回路中被自动地插入,初始路径路由选择算法正常地结束。
附加的延迟元件的插入现在将被具体地描述。例如,如图25或26中所示,在以级联连接的四个插入件901到904组成的电路中,用户进行动态改变处理在插入件903和902之间连接附加的插入件905以创建反馈回路。
在这种情况下,如上面讨论的,当插入在反馈回路中的附加的插入件905是作为非延迟元件的NLTP插入件时,如果预设附加的延迟元件被自动地插入和延迟元件的插入位置是在前侧,如图25中示出,作为延迟元件的插入件906被插入在插入件905的输出侧上。如上所述,作为延迟元件的插入件906的延迟量被预设。
如果预设延迟元件的插入位置是在后侧,如图26中示出,作为延迟元件的插入件907被插入在插入件905的输入侧上。
不连接附加的插入件建立反馈回路时,例如,如图27中示出,作为延迟元件的插入件908也以图27中示出的方式被自动地插入。
根据第二个实施例,当用户在音频信号处理期间旨在迅速地改变电路设计时,如果用户意外创建了不包括延迟元件的反馈回路,延迟元件被自动地插入,从而实现用户最初的目的。
例如,根据第二个实施例的信号处理工具被用于实况演出应用,有时用户期望在产生声音时与音乐同步的方式快速地改变电路设计。在这种情况下,如果用户意外地创建了不包括延迟元件的反馈回路,通常很难在期望的时限改变电路设计,导致实况演出的问题。该问题由第二个实施例可克服。
特别是,反馈回路电路常用于音响效应器,滤声器等。在实况演出中,用户渴望通过执行单一的附加的操作创建封闭的回路电路。例如,用户期望与乐曲小节断开(music-bar break)相同步地一次改变电路设计。在这样的情况下,用户能够根据第二个实施例迅速地改变在音乐音调方面的电路设计。
虽然第二个实施例被应用到动态的电路改变,第二个实施例像第一个实施例一样也可以应用到电路被初始地创建的情况。
上述的第一和第二个实施例还能获得以下优点。
根据上述实施例,在软件数字信号处理中,如果信号处理电路以多级被连接,有可能创建没有增加的处理延迟的电路。还可能创建包括反馈结构的任何所需的数字信号处理电路。再有可能就是动态地改变数字信号处理电路的电路结构。动态地可更新的电路元件是:
插入件的添加和删除;
插入件之间的连接;
插入件的输入或输出端口的添加和删除;
与信号处理有关的参数,诸如信号处理中的包尺寸和采样频率。
通过将根据前述的实施例的信号处理装置的中间件实施到产品中,能够制造其电路结构为动态地可改变的产品。
此外,如此创建的信号处理电路被存储在文件中,从而允许信号处理电路在以后被恢复。该文件被交换以实现电路的置换或重新使用。
如果信号处理电路具有包括反馈回路的电路结构,信号处理函数的调用的数量能够被减少,导致进行实时信号处理需要的低的CPU负荷。
网络允许实时分配处理。在网络上的多个电路能够被以实时方式被同步地操作。
虽然前述实施例已经在添加插入件或连接时创建没有包括延迟的反馈回路的情况的背景中被描述,本方面的实施例也可以应用到现有的电路被稍微的添加、删除或修改,不包括延迟元件的反馈回路就可最终被创建的情况。
虽然在音频信号处理的情况下已经描述了前述的实施例,不是音频信号的信号也可以被处理。
那些本领域的技术人员应当理解,依靠在附加的权利要求或其等效物的范围内的设计要求和其它因素,可以做出各种修改、组合、辅助组合和变换。

Claims (14)

1.一种用于通过软件处理进行包括多个单元信号处理步骤的信号处理的信号处理装置,该装置包括:
利用软件处理进行单元信号处理步骤的多个信号处理软件模块;
指令输入接收装置,用于接收产生或删除信号处理软件模块的指令和连接所述信号处理软件模块的输入和输出的指令;
虚拟连接装置,用于响应由所述指令输入接收装置接收到的指令在所述多个信号处理软件模块的输入和输出之间建立虚拟的连接;
电路结构信息存储和管理装置,用于存储和管理在所述多个信号处理软件模块的输入和输出之间新建立的虚拟连接;
路径路由选择装置,用于路由选择信号处理路径以确定所述多个信号处理软件模块进行信号处理的信号处理顺序;以及
信号处理执行装置,用于通过以由所述路径路由选择装置基于所述信号处理路径确定的信号处理顺序,顺序地执行所述多个信号处理软件模块,来进行信号处理,
其中,所述路径路由选择装置确定不包括延迟元件的反馈回路是否在由所述多个信号处理软件模块构成的电路中产生。
2.如权利要求1所述的信号处理装置,其特征在于,还包括警告装置,用于当所述路径路由选择装置确定不包括延迟元件的反馈回路在由所述多个信号处理软件模块构成的电路中产生时,发送警告给用户。
3.如权利要求1所述的信号处理装置,其特征在于,当所述路径路由选择装置确定不包括延迟元件的反馈回路在由所述多个信号处理软件模块构成的电路中产生时,所述路径路由选择装置在反馈回路中插入附加的延迟元件。
4.如权利要求3所述的信号处理装置,其特征在于,还包括预设装置,用于当确定不包括延迟元件的反馈回路在由所述多个信号处理软件模块构成的电路中产生时,输入关于附加的延迟元件是否被自动地插入在反馈回路中的预设设置,
其中,当所述路径路由选择装置确定不包括延迟元件的反馈回路在由所述多个信号处理软件模块构成的电路中产生时,所述路径路由选择装置参照由所述预设装置输入的预设设置,并在所述预设设置规定在反馈回路中自动地插入附加的延迟元件时,在反馈回路中插入所述的附加的延迟元件。
5.如权利要求3所述的信号处理装置,其特征在于,还包括保持装置,用于保持指示待插入的附加的延迟元件的延迟量的预设值,
其中,当确定不包括延迟元件的反馈回路产生时,具有存储在所述保持装置中的预设延迟量的附加的延迟元件被插入在所述反馈回路中。
6.如权利要求3所述的信号处理装置,其特征在于,还包括保持装置,用于保持指示待插入的附加的延迟元件的插入位置的预设位置,
其中,当确定不包括延迟元件的反馈回路产生时,附加的延迟元件在存储在所述保持装置中的所述预设位置处被插入在所述反馈回路中。
7.一种用于通过软件处理进行包括多个单元信号处理步骤的信号处理的信号处理方法,该方法包括下列步骤:
接收产生或删除信号处理软件模块的指令和连接多个信号处理软件模块的输入和输出的指令,每个信号处理软件模块通过软件处理进行每个单元信号处理步骤;
响应在所述接收指令的步骤中接收到的指令在所述多个信号处理软件模块的输入和输出之间建立虚拟的连接;
路由选择信号处理路径以确定所述多个被虚拟连接的信号处理软件模块进行信号处理的信号处理顺序;以及
通过按在所述路由选择信号处理路径的步骤中确定的信号处理顺序,顺序地执行所述信号处理软件模块,来进行信号处理,
其中,在所述路由选择信号处理路径的步骤中,确定不包括延迟元件的反馈回路是否在由所述多个信号处理软件模块构成的电路中产生。
8.如权利要求7所述的方法,其特征在于,还包括当在所述路由选择信号处理路径的步骤中确定不包括延迟元件的反馈回路在由所述多个信号处理软件模块构成的电路中产生时发送警告给用户的步骤。
9.如权利要求7所述的方法,其特征在于,当在所述路由选择信号处理路径的步骤中确定不包括延迟元件的反馈回路在由所述多个信号处理软件模块构成的电路中产生时,在反馈回路中插入附加的延迟元件。
10.如权利要求9所述的方法,其特征在于,还包括当确定不包括延迟元件的反馈回路在由所述多个信号处理软件模块构成的电路中产生时,输入关于附加的延迟元件是否被自动地插入在反馈回路中的预设设置的步骤,
其中,当在所述路由选择信号处理路径的步骤中确定不包括延迟元件的反馈回路在由所述多个信号处理软件模块构成的电路中产生时,参照在接收预设设置步骤中输入的预设设置,并在所述预设设置规定在反馈回路中自动地插入附加的延迟元件时,在反馈回路中插入所述的附加的延迟元件。
11.一种用于通过软件处理进行包括多个单元信号处理步骤的信号处理的设备,所述设备包括:
用于接收产生或删除信号处理软件模块的指令和连接多个信号处理软件模块的输入和输出的指令的装置,其中每个信号处理软件模块通过软件处理进行每个单元信号处理步骤;
用于响应由所述用于接收指令的装置接收到的指令在所述多个信号处理软件模块的输入和输出之间建立虚拟的连接的装置;
用于路由选择信号处理路径以确定所述多个被虚拟连接的信号处理软件模块进行信号处理的信号处理顺序的装置;以及
用于通过以由所述用于路由选择信号处理路径的装置确定的信号处理顺序,顺序地执行所述信号处理软件模块来进行信号处理的装置,
其中,所述用于路由选择信号处理路径的装置还用于确定不包括延迟元件的反馈回路是否在由所述多个信号处理软件模块构成的电路中产生。
12.如权利要求11所述的设备,其特征在于,还包括用于当所述用于路由选择信号处理路径的装置确定不包括延迟元件的反馈回路在由所述多个信号处理软件模块构成的电路中产生时发送警告给用户的装置。
13.如权利要求11所述的设备,其特征在于,当所述用于路由选择信号处理路径的装置确定不包括延迟元件的反馈回路在由所述多个信号处理软件模块构成的电路中产生时,在反馈回路中插入附加的延迟元件。
14.如权利要求13所述的设备,还包括用于当确定不包括延迟元件的反馈回路在由所述多个信号处理软件模块构成的电路中产生时,输入关于附加的延迟元件是否被自动地插入在反馈回路中的预设设置的装置,
其中,当所述用于路由选择信号处理路径的装置确定不包括延迟元件的反馈回路在由所述多个信号处理软件模块构成的电路中产生时,参照所述用于接收预设设置的装置输入的预设设置,并在所述预设设置规定在反馈回路中自动地插入附加的延迟元件时,在反馈回路中插入所述的附加的延迟元件。
CNB2006100059725A 2005-01-20 2006-01-20 信号处理装置,信号处理方法及记录介质 Expired - Fee Related CN100385393C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005012256A JP4348546B2 (ja) 2005-01-20 2005-01-20 信号処理装置、信号処理プログラムおよび記録媒体
JP2005012256 2005-01-20

Publications (2)

Publication Number Publication Date
CN1808380A CN1808380A (zh) 2006-07-26
CN100385393C true CN100385393C (zh) 2008-04-30

Family

ID=36816881

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100059725A Expired - Fee Related CN100385393C (zh) 2005-01-20 2006-01-20 信号处理装置,信号处理方法及记录介质

Country Status (4)

Country Link
US (1) US7954113B2 (zh)
JP (1) JP4348546B2 (zh)
KR (1) KR101182262B1 (zh)
CN (1) CN100385393C (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4622611B2 (ja) * 2005-03-24 2011-02-02 ソニー株式会社 信号処理装置
US8132148B2 (en) * 2005-04-29 2012-03-06 Microsoft Corporation XML application framework
US7886269B2 (en) 2005-04-29 2011-02-08 Microsoft Corporation XML application framework
US8640147B2 (en) * 2010-11-11 2014-01-28 International Business Machines Corporation Method and system for virtualizing connection end-points in distributed, component based applications at runtime
US10397064B2 (en) * 2016-04-20 2019-08-27 Servicenow, Inc. System and method for custom graph generation
AT518909A2 (de) * 2016-07-29 2018-02-15 Avl List Gmbh Signalflussbasiertes Computerprogramm mit Direct-Feedthrough-Schleifen
US11327802B2 (en) * 2019-07-31 2022-05-10 Microsoft Technology Licensing, Llc System and method for exporting logical object metadata

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5142625A (en) * 1985-06-12 1992-08-25 Minolta Camera Kabushiki Kaisha One-chip microcomputer including a programmable logic array for interrupt control
EP0801351A2 (en) * 1996-04-11 1997-10-15 International Computers Limited Integrated circuit processor
US5684980A (en) * 1992-07-29 1997-11-04 Virtual Computer Corporation FPGA virtual computer for executing a sequence of program instructions by successively reconfiguring a group of FPGA in response to those instructions
CN1383338A (zh) * 2001-03-23 2002-12-04 株式会社东芝 无线装置以及无线装置的切换控制方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
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
WO1995008147A1 (en) * 1993-09-13 1995-03-23 Taligent, Inc. Object-oriented audio record/playback system
US6937969B1 (en) * 1999-06-10 2005-08-30 Interuniversitair Microelektronica Centrum (Imec) Method for determining signals in mixed signal systems
JP4318013B2 (ja) 2000-08-31 2009-08-19 ソニー株式会社 コンテンツ編集装置、コンテンツ編集方法及びプログラム格納媒体並びにコンテンツ編集システム
US20040045007A1 (en) * 2002-08-30 2004-03-04 Bae Systems Information Electronic Systems Integration, Inc. Object oriented component and framework architecture for signal processing
US20040045009A1 (en) * 2002-08-29 2004-03-04 Bae Systems Information Electronic Systems Integration, Inc. Observation tool for signal processing components
JP2004222040A (ja) 2003-01-16 2004-08-05 Yamaha Corp ディジタルフィルタ
US7587710B2 (en) 2003-02-14 2009-09-08 Siemens Aktiengesellschaft Method for determining the processing sequence of function blocks of an automated system and corresponding automated system
JP4296421B2 (ja) 2004-06-09 2009-07-15 ソニー株式会社 信号処理装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5142625A (en) * 1985-06-12 1992-08-25 Minolta Camera Kabushiki Kaisha One-chip microcomputer including a programmable logic array for interrupt control
US5684980A (en) * 1992-07-29 1997-11-04 Virtual Computer Corporation FPGA virtual computer for executing a sequence of program instructions by successively reconfiguring a group of FPGA in response to those instructions
EP0801351A2 (en) * 1996-04-11 1997-10-15 International Computers Limited Integrated circuit processor
CN1383338A (zh) * 2001-03-23 2002-12-04 株式会社东芝 无线装置以及无线装置的切换控制方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种基于软件无线电技术实现的新型通信电台. 蔡艳,李唐.电声技术,第10期. 2003
一种基于软件无线电技术实现的新型通信电台. 蔡艳,李唐.电声技术,第10期. 2003 *

Also Published As

Publication number Publication date
US20060184597A1 (en) 2006-08-17
JP2006201988A (ja) 2006-08-03
US7954113B2 (en) 2011-05-31
KR20060084791A (ko) 2006-07-25
KR101182262B1 (ko) 2012-09-17
CN1808380A (zh) 2006-07-26
JP4348546B2 (ja) 2009-10-21

Similar Documents

Publication Publication Date Title
CN100385393C (zh) 信号处理装置,信号处理方法及记录介质
CN100444111C (zh) 信号处理装置
CN100383732C (zh) 信号处理装置及其方法
Xie et al. Input-to-state stabilization of switched nonlinear systems
CN110457256A (zh) 数据存储方法、装置、计算机设备及存储介质
JP2000215130A (ja) クラスタ性能監視ユ―ティリティ
JP2009266092A (ja) テストケース生成装置およびその生成方法、ならびにテストケース生成のためのプログラム
CN104796291A (zh) 核心路由区域内路由器转发行为规范的检测方法及系统
CN106982140B (zh) 一种信息流仿真方法及系统
CN113810234A (zh) 微服务链路拓扑处理方法、装置及可读存储介质
CN109710487A (zh) 一种监控方法和装置
CN113176975B (zh) 监控数据的处理方法、装置、存储介质和电子设备
EP1055223B1 (en) Apparatus and method for generating music data
CN114780506A (zh) 一种工艺文件的处理方法及电子设备
CN113747086A (zh) 数字人视频生成方法、装置、电子设备及存储介质
CN114265846A (zh) 一种数据操作方法、装置、电子设备和存储介质
CN112951272B (zh) 音频比对方法和装置、设备
US20080313605A1 (en) Development framework for automated data throughput optimization
CN115580648B (zh) 数据融合系统设计方法、系统、电子设备及储存介质
CN113570333B (zh) 一种适用于集成的流程设计方法
Syfert et al. Signal processing in diaster system for simulation and diagnostic purposes
JP2005258917A (ja) 集積回路の設計支援システムおよび設計支援プログラム
CN113656464A (zh) 实时行情的接入方法、获取方法、接入装置及获取装置
JP3904037B2 (ja) 遠隔手続管理装置及び遠隔手続管理方法
CN117675556A (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: 20080430

Termination date: 20160120

EXPY Termination of patent right or utility model