著录项信息
专利名称 | 流数据处理装置 |
申请号 | CN03157772.5 | 申请日期 | 2003-08-28 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2004-04-14 | 公开/公告号 | CN1489071 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F13/14 | IPC分类号 | G;0;6;F;1;3;/;1;4;;;G;0;6;F;1;3;/;4;2查看分类表>
|
申请人 | 松下电器产业株式会社 | 申请人地址 | 日本国大阪府门真市
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 松下电器产业株式会社 | 当前权利人 | 松下电器产业株式会社 |
发明人 | 稻见聪;前田茂则;宫崎秋弘;小野正;关根福太郎;J·弗格勒;G·普法伊弗;高木利匡 |
代理机构 | 上海专利商标事务所有限公司 | 代理人 | 钱慰民 |
摘要
在正常操作状态下,连接管理部分(21)将第一个处理部分(13)发送来的数据写入到数据临时存储部分(22),并从数据临时存储部分(22)读取将由第二个处理部分(14)接收的数据。一旦接收到指示改变处理内容的控制信号(31)和(32)时,第一个处理部分(13)和第二个处理部分(14)分别输出一个发送端清除请求(41)和一个接收端清除请求(42)。在接收到发送端清除请求(41)之后及直到接收到接收端清除请求(42)时,连接管理部分(21)从空数据存储部分(23)读数据;在接收到接收端清除请求(42)之后并且直到接收到发送端清除请求(41)时,连接管理部分(21)将数据写入到空数据存储部分(23)。
1.一种用于对流数据进行多步处理的流数据处理装置,所述装置包括:
发送端处理部分(13),用来对流数据中获得的数据进行多步处理中的一步 处理,并发送处理过的数据;
接收端处理部分(14),用来接收从发送端处理部分发送的数据,并对接收 到的数据进行多步处理中的下一步处理;
控制部分(11),用来向发送端处理部分和接收端处理部分指示处理内容的 改变;
数据临时存储部分(22),用来临时存储从发送端处理部分发送的数据;
空数据存储部分(23),用来删除任何写到其上的数据,以响应数据写入操 作,并且返回空数据,以响应数据读取操作;及
连接管理部分(21),用来通过对数据临时存储部分和空数据存储部分进行 数据写入和数据读取从而允许从发送端处理部分发送的数据被接收端处理部 分接收;
其特征在于,
如果控制部分指示处理内容的改变,发送端处理部分(13)和接收端处理部 分(14)分别向连接管理部分输出发送端清除请求(41)和接收端清除请求(42); 及
连接管理部分(21)根据连接管理部分是否处于正常操作状态、在接收到发 送端清除请求并直到接收到接收端清除请求期间的接收端清除等待状态,或在 接收到接收端清除请求并直到接收到发送端清除请求期间的发送端清除等待 状态,来切换从发送端处理部分发送的数据的写入目的地和由接收端处理部分 接收的数据的读取源。
2.如权利要求1所述的流数据处理装置(10),其特征在于,所述连接管 理部分(21)的操作包括:
选择数据临时存储部分作为在正常操作状态下写入操作的目的地和读取 操作的源(S201);
如果在正常操作状态下接收到发送端清除请求或接收端清除请求,则删除 存储在数据临时存储部分中的数据(S211,S221);
选择空数据存储部分作为在接收端清除等待状态下读取操作的源(S212); 及
选择空数据存储部分作为在发送端清除等待状态下写入操作的目的地 (S222)。
3.如权利要求1所述的流数据处理装置(10),其特征在于,所述连接管 理部分(21)的操作包括:
选择数据临时存储部分作为在正常操作状态下写入操作的目的地和读取 操作的源(S201);
如果在正常操作状态下接收到接收端清除请求,则删除存储在数据临时存 储部分中的数据(S221);
选择空数据存储部分作为在发送端清除等待状态下写入操作的目的地 (S222);
在接收端清除等待状态下,当接收到发送端清除请求时将存储在数据临时 存储部分中的任何数据作为旧数据,选择数据临时存储部分中未存储旧数据的 一个区域作为写入操作的目的地,并且当存在旧数据时选择数据临时存储部分 中存储旧数据一个区域作为读取操作的源,并且一旦旧数据不再存在时选择空 数据存储部分作为读取操作的源(S231);及
如果在接收端清除等待状态下接收到接收端清除请求,则删除旧数据 (S233)。
4.如权利要求1所述的流数据处理装置(10),其特征在于,所述发送端 处理部分(13)和接收端处理部分(14)输出发送端清除请求和接收端清除请求 并通过使用具有对连接管理部分访问功能的数据发送/接收部分(24,25)来进 行数据发送和接收。
5.如权利要求1所述的流数据处理装置(10),其特征在于,所述连接管 理部分(21)被构造为能够:
如果从发送端处理部分发送的数据不能写入数据临时存储部分,选择进行 立即向发送端处理部分通知错误的处理或进行等待直到有可能将数据写入到 数据临时存储部分的处理,并通知发送端处理部分将数据写入到数据临时存储 部分的结果。
6.如权利要求1所述的流数据处理装置(10),其特征在于,所述连接管 理部分(21)被构造为能够:
如果不能从数据临时存储部分中读取将由接收端处理部分接收的数据,选 择进行立即向接收端处理部分通知错误的处理,或进行等待直到有可能从数据 临时存储部分中读取数据的处理,并通知接收端处理部分从数据临时存储部分 中读取数据的结果。
7.如权利要求1所述的流数据处理装置(10),其特征在于,进一步包括 通过其输入流数据的数据输入部分(12)。
8.如权利要求7所述的流数据处理装置(10),其特征在于,所述数据输 入部分(12)从可移动记录媒介输入流数据。
9.如权利要求1所述的流数据处理装置(10),其特征在于,进一步包括 用来输出对流数据进行多步处理的结果的数据输出部分(15)。
10.如权利要求9所述的流数据处理装置(10),其特征在于,所述数据 输出部分(15)将对流数据进行多步处理的结果输出到可移动记录媒介。
发明领域\n本发明涉及一种对流数据进行多步处理的流数据处理装置。更特别地,本 发明涉及一种在多个处理部分之间发送或接收数据并且在它们之间实现同步 化的流数据处理装置。\n发明技术背景\n众所周知,流数据处理装置适用于对诸如音频数据或视频数据进行多步处 理。一种典型的流数据处理装置包括输入部分、处理部分和输出部分,使得处 理部分可对输入的流数据进行预定的处理,并输出由此获得的处理结果。在很 多情况下,流数据处理装置对输入的流数据进行包据多个步骤的处理。至此, 流数据处理装置包括多个用于执行相应处理步骤的处理部分,并且在这样的处 理部分之间发送或接收数据。因此,流数据处理装置以流水线方式对输入的流 数据执行多步处理。有时会向流数据处理装置发出指令,如中断处理或定位 (即,从给定的处理数据流中的一个不同的位置开始处理)。为了确保当接收到 这样的指令时的正确操作,流数据处理装置进行数据交换并且在多个处理部分 之间实现同步化。\n日本专利No.3095290揭示了一种方法,在流数据处理装置中进行数据交 换并且在多个处理部分之间实现同步化。根据该方法,每个处理部分都可以通 过通信获取另一与之交换数据的处理部分的状态,并且根据那一处理部分的状 态切换它自己的操作。例如,当向流数据处理装置发出一个定位指令,在数据 接收端的处理部分必须推迟数据的接收,直到在数据发送端的处理部分开始发 送对应于新位置的数据的处理结果。为了实现这样的功能,每个处理部分根据 接收到数据的内容、处理的进程以及另一处理部分的状态来控制它自己的操作 防止读取任何不正确的数据。因此,通过在多个处理部分之间正确交换数据并 且在它们之间实现同步化,流数据处理装置能够以良好的整体完整性运行。\n然而,使用上述方法在多个处理部分之间实现同步化会存在下列问题。由 于每个处理部分都需要根据接收到的数据的内容、处理的进程以及另一处理部 分的状态来控制它自己的操作,所述每个处理部分的结构就变得复杂。当用软 件实现各个处理部分时,构成每个处理部分的软件组件的结构变得特别复杂。 再者,由于没有在上述方法中的相应的处理部分中使用统一的接口,因此就很 难将构成每个处理部分的软件组件移植到另一个系统。\n发明内容\n因此,本发明的一个目标是提供一种在多个处理部分之间发送或接收数据 并且在它们之间实现同步化的流数据处理装置,使得每个处理部分能够进行数 据交换而不用考虑数据的内容、处理的进程以及另一处理部分的状态。本发明 的另一个目标是统一流数据处理装置所包含的处理部分之间的接口,从而简化 每个处理部分的结构并提高每个处理部分的再利用率。\n根据本发明的流数据处理装置包括:发送端处理部分、接收端处理部分、 控制部分、数据临时存储部分、空数据存储部分和连接管理部分,并且对流数 据进行多步处理。发送端处理部分进行多步处理中的一个处理。接收端处理部 分进行多步处理中的另一个处理。连接管理部分使用数据临时存储部分作为允 许从发送端处理部分发送和由接收端处理部分接收的数据缓冲器。如果由于定 位或流数据的改变需要改变处理的内容,每个处理部分响应来自控制部分的指 令向连接管理部分输出一个清除请求。连接管理部分根据它是否处于正常操作 状态,来切换写的目的地和读的源,该操作状态可包括:在接收到发送端清除 请求之后和直到接收到接收端清除请求时存在的接收端清除等待状态,或者在 接收到发送端清除请求之后和直到接收到接收端清除请求时存在的发送端清 除等待状态。当空数据存储部分作为这类切换的目的地时,就响应数据写操作 删除任何写入空数据存储部分的数据并响应数据读操作返回空数据。\n作为切换方法的第一个例子,连接管理部分可以在接收端清除等待状态下 选择空数据存储部分作为读的源,并且在发送端清除等待状态下选择空数据存 储部分作为写的目的地。当采用这种切换方法时,如果在正常操作状态下收到 任何一个清除请求,连接管理部分就删除存储在数据临时存储部分中的数据。\n作为切换方法的第二个例子,连接管理部分可以在发送端清除等待状态选 择空数据存储部分作为写的目的地,并且在接收端清除等待状态下,将在已经 接收到发送端清除请求时存储在数据临时存储部分中的任何数据都当作旧数 据,选择数据临时存储部分中没有存储旧数据的一个区域作为写的目的地,并 且选择在数据临时存储部分中存储旧数据而且存在旧数据(并且当旧数据不再 存在时选择空数据存储部分作为读的源)的一个区域作为读的源。当采用这种 切换方法时,如果在正常存在状态下接收到接收端清除请求,连接管理部分就 删除存储在数据临时存储部分中的数据,并且如果在接收端清除等待状态下接 收到接收端清除请求,连接管理部分就删除旧数据。\n发送端处理部分和接收端处理部分可以输出发送端清除请求和接收端清 除请求并通过使用具有对连接管理部分的访问功能的数据发送/接收部分来进 行数据的发送和接收。\n连接管理部分可以构建成:在发送端处理部分发送的数据不能被写入到数 据临时存储部分时,能够选择是进行立即向发送端处理部分通知错误的处理, 还是等待直到有可能将数据与入到数据临时存储部分并通知发送端处理部分 数据写入到数据临时存储部分的结果。另一种选择是,连接管理部分可以构建 成在不能从数据临时存储部分读取由接收端处理部分接收的数据时,能够选择 是立即向接收端处理部分通知错误的处理,还是等待直到有可能从数据临时存 储部分读取数据并通知接收端处理部分从数据临时存储部分读取数据的结果。\n流数据处理装置可以进一步包括用来输入流数据的数据输入部分和/或用 来输出对流数据进行多步处理的结果的数据输出部分。数据输入部分可以从可 移动记录媒介输入流数据。数据输出部分可以将进行多步处理的结果输出到可 移动记录媒介。\n本发明的这些和其它的目标、特性、方面和优点将通过本发明下面的详细 说明及附图来阐明。\n附图说明\n图1是说明根据本发明的第一和第二实施例的流数据处理装置的结构的方 框图;\n图2是说明根据本发明的第一个和第二实施例的流数据处理装置在处理停 止状态下指示开始处理时的操作的流程图;\n图3是说明根据本发明的第一和第二实施例的流数据处理装置在正常操作 状态下指示改变处理项目时的操作流程图。\n图4是说明根据本发明的第一实施例的流数据处理装置的连接管理部分的 操作的流程图;\n图5是说明根据本发明的第一和第二实施例的流数据处理装置在正常操作 状态下发送或接收数据方式的示意图;\n图6是说明根据本发明的第一实施例的流数据处理装置接收端清除等待状 态下发送或接收数据方式的示意图;\n图7是说明根据本发明的第一和第二实施例的流数据处理装置在发送端清 除等待状态下发送或接收数据方式的示意图;\n图8是说明根据本发明的第一实施例的流数据处理装置的连接管理部分的 操作;\n图9是说明根据本发明的第二实施例的流数据处理装置的连接管理部分的 操作的流程图;\n图10是说明根据本发明的第二实施例的流数据处理装置在接收端清除等 待状态下存在旧数据时发送或接收数据方式的示意图;\n图11是说明根据本发明的第二实施例的流数据处理装置在接收端清除等 待状态下不再存在旧数据时发送或接收数据方式的示意图;\n图12是说明根据本发明的第二实施例的流数据处理装置的连接管理部分 的操作的表格;及\n图13是说明根据本发明的一个变体的流数据处理装置的结构。\n首选实施例说明\n(第一个实施例)\n图1为方框图,用于说明根据本发明的第一实施例的流数据处理装置的结 构。图1所示的流数据处理装置10包括:控制部分11、数据输入部分12、第 一个处理部分13、第二个处理部分14、数据输出部分15、连接管理部分21、 数据临时存储部分22、空数据存储部分23、数据发送部分24及数据接收部分 25。流数据处理装置10对输入的流数据进行两个步骤的处理。在此,“流数 据”指以时间顺序输入/输出或处理的数据,例如,音频数据或视频数据。\n控制部分11是用于控制流数据处理装置10的操作的部件。例如,当用户 输入一个命令或当在装置中发生异常时,控制部分11分别将控制信号31和32 输出到第一个处理部分13和第二个处理部分14。\n数据输入部分12是输入流数据的部件。例如,数据输入部分12可以为如 硬盘驱动器或存储器这样的存储设备。数据输入部分12,当由这样的存储设备 构成时,以预定的格式存储流数据,并以时间顺序输出包含在流数据中的数据。 另一种选择,数据输入部分12可以是诸如与一个通过网络与数据输入部分12 耦联的服务器(未标出)通信的通信控制设备。数据输入部分12,当由这样的通 信控制设备构成时,通过通信以时间顺序接收包含在流数据中的数据,并且以 所接收这些数据的顺序输出它们。\n第一个和第二个处理部分13和14对输入的数据进行两个步骤的处理。更 具体地是,第一个处理部分13对以时间顺序通过数据输入部分12输入的数据 进行第一个步骤的处理,并且发送处理过的数据到第二个处理部分14。第二个 处理部分14接收从第一个处理部分13发送的数据,并对接收到的数据进行第 二个步骤的处理。在图1所示的结构中,第一个处理部分13具有发送端处理 部分的功能,以及第二个处理部分14具有作接收端处理部分的功能。\n由第一个处理部分13和第二个处理部分14所进行的处理的内容可以是任 意的。第一个处理部分13和第二个处理部分14的例子可以为MPEG(运动图像 专家组)编码器、MPEG解码器、用来将数字音频数据转换为模拟音频数据的D/A 转换器、用来从存储器或类似设备获取数据而使用的源滤波器,或用来调整视 频信号输出时间的呈现滤波器。\n数据输出部分15是输出通过对输入的流数据进行两个步骤的处理而获得 的处理结果的输出部件。数据输出部分15为输出设备,如显示设备或扬声器。 另一种选择,数据输出部分15可以为如硬盘驱动器或存储器这样的存储设备。 数据输出部分15,当由这样的存储设备构成时,以预定的格式存储以时间顺序 输出的处理结果。作为另一种选择,数据输出部分15可以为如与一个通过网 络与数据输出部分15耦联的服务器(未标出)通信的通信控制设备。数据输出 部分15,当由这样的通信控制设备构成时,通过通信以输出上述处理结果的顺 序发送它们。\n连接管理部分21利用数据临时存储部分22来允许从第一个处理部分13 发送的数据由第二个处理部分14接收。更具体地说,响应来自第一个处理部 分13的发送请求,连接管理部分21将从第一个处理部分13发送的数据写入 到数据临时存储部分22。响应来自第二个处理部分14的接收请求,连接管理 部分21允许第二个处理部分14接收从数据临时存储部分22读取的数据。数 据临时存储部分22临时地存储从第一个处理部分13发送的数据。数据临时存 储部分22可以由如硬盘驱动器或存储器这样的存储设备构成。为了确保数据 的有效管理和存储,可以对数据临时存储部分22采用缓冲器结构,例如,队 列,双缓冲,或环形缓冲。\n如果不能将从第一个处理部分13发送的数据写入到数据临时存储部分 22(例如,如果数据临时存储部分22已满),连接管理部分21等待直到有可能 将数据写入到数据临时存储部分22,并向第一个处理部分13通知数据写入到 临时存储部分22的结果。如果不能从数据临时存储部分22读取任何将由第二 个处理部分14接收的数据(例如,如果数据临时存储部分22为空),则连接管 理部分21等待直到有可能从数据临时存储部分22读取数据,并且向第二个处 理部分14通知从临时存储部分22读取数据的结果。在包括以这种方式操作的 连接管理部分21的流数据处理装置10中,取决于数据临时存储部分22的状 态,由第一个处理部分13进行的处理可以被中断直到完成数据发送,或由第 二个处理部分14进行的处理可以被中断直到完成数据接收。在这样的情况下, 流数据处理装置10被称为以“块模式”工作。\n在流数据处理装置10中,当访问连接管理部分21时,数据发送部分24 和数据接收部分25都被用到。数据发送部分24提供通过连接管理部分21实 现的数据发送功能。数据接收部分25提供通过连接管理部分21实现的数据接 收功能。由数据发送部分24提供的数据发送功能及由数据接收部分25提供的 数据接收功能都是通过统一的接口来实现的。在流数据处理装置10中,第一 个处理部分13在通过连接管理部分21发送数据到第二个处理部分14时使用 数据发送部分24。第二个处理部分14在通过连接管理部分21接收来自第一个 处理部分13的数据时使用数据接收部分25。\n下面对数据发送部分24和数据接收部分25的具体例子进行说明。例如, 在一种情况下,流数据处理装置10是作为运行在特定操作系统(下面简称为 “OS”)中的多线程系统来实现的。在这种情况下,可将流数据处理装置10设计 成可使用由OS支持的线程间通信功能来设计。注意,通过向流数据处理装置 10的设计者提供可利用OS功能的系统库,流数据处理装置10的设计者可以通 过简单地使用所提供的系统库,而无需了解该OS操作原则的细节设计完成线 程间通信的线程。根据图1,连接管理部分21可对应于OS中支持线程间通信 功能的一部分,并且数据发送部分24和数据接收部分25对应于系统库中和使 用线程间通信功能相关的一部分。因此,通过利用数据发送部分24和数据接 收部分25,流数据处理装置10的设计者能够设计第一个处理部分13和第二个 处理部分14使之能够通过连接管理部分21进行数据交换,而无需了解连接管 理部分21的操作细节。\n在正常操作状态下,流数据处理装置的组成部分以上述方式工作。因此流 数据处理装置10对所输入的流数据进行两个步骤的流水线处理。例如,假设 数据输入部分12为存储MPEG视频流的存储设备;第一个处理部分13为MPEG 视频解码器;第二个处理设备14为呈现滤波器;并且数据输出部分15为显示 设备,流数据处理装置10可通过两个步骤进行解码和显示MPEG视频流的处理。\n在流数据处理装置10中,有时需要改变处理的内容,例如,当用户输入 一个命令,或装置中出现异常时。例如,正如本文所使用的“改变处理的内 容”称之为定位(即,从给定的被处理的数据流中的一个不同的位置开始处理), 或流数据的改变(即,开始处理不同于正在处理的给定数据流的另一数据流)。\n当需要改变处理的内容时,控制部分11将指示改变处理内容的控制信号 31输出到第一个处理部分13,并且与此同时或稍早或稍晚将同样指示的控制 信号32输入到第二个处理部分14。如果从控制部分11接收到控制信号31, 第一个处理部分13通过使用数据发送部分24向连接管理部分21输出发送端 清除请求41,以删除存储在数据临时存储部分22中的数据。类似地,如果从 控制部分11接收到控制信号32,第二个处理部分14通过使用数据接收部分 25向连接管理部分21输出接收端清除请求42。\n基于发送端清除请求41或接收端清除请求42,连接管理部分21以下列方 式工作。连接管理部分21处于正常操作状态直到接收到发送端清除请求41或 接收端清除请求42。在正常操作状态,从第一个处理部分13发送的数据写入 到数据临时存储部分22,并且从数据临时存储部分22中读取将由第二个处理 部分14接收的数据。如果在正常操作状态中接收到发送端清除请求41,连接 管理部分21转换到接收端清除等待状态,其中,从空数据存储部分23中读取 将由第二个处理部分14接收的数据。如果在正常操作状态接收到接收端清除 请求42,连接管理部分21转换到发送端清除等待状态,其中,从第一个处理 部分13发送的数据写入到空数据存储部分23。如果在接收端清除等待状态接 收到接收端清除请求42或在发送端清除等待状态接收到发送端清除请求41, 连接管理部分21转换到正常操作状态。连接管理部分21操作的细节将在后面 说明(参考图4)。\n空数据存储部分23是缓冲器,它可删除任何写到上面的数据,并返回空 数据给任何尝试从其中读取数据的设备。换句话说,任何被写到空数据存储部 分23的数据都不会存储在空数据存储部分23中。即使尝试从空数据存储部分 23中读取数据,也只能从空数据存储部分23中读到空数据(即0字节)。空数 据存储部分23的一个具体例子是由某些OS支持的零设备。\n在此参考图2到图4对流数据处理装置10的操作细节进行说明。图2为 流程图,用于说明流数据处理装置在处理停止状态下指示开始处理时的操作。 图3为流程图,用于说明流数据处理装置在正常操作状态下指示改变处理内容 时的操作。图4为流程图,用于说明连接管理部分的操作。\n如果在处理停止状态下指示开始处理,流数据处理装置10进行图2所示 处理。图2所示处理在用户向流数据处理装置10输入开始处理命令时开始。 如果用户输入开始处理命令,则控制部分11就接收所输入的开始处理命令(步 骤S101)。然后,控制部分11向第一个处理部分13输出指示开始处理的控制 信号31,并与此同时或稍早或稍晚将同样指示的控制信号32输出到第二个处 理部分14(步骤S102)。\n在执行步骤S102后,第一个处理部分13执行步骤S111到S114,并且第 二个处理部分14执行步骤S131到S134。同时,连接管理部分21独立于第一 个处理部分13和第二个处理部分14进行图4所示在下面说明的处理(步骤 S121)。换句话说,在执行步骤S102后,第一个处理部分13进行的处理、第 二个处理部分14进行的处理及连接管理部分21进行的处理在流数据处理装置 10中是并行或并发的。\n第一个处理部分13按如下所述反复执行步骤S111到S114直到它完成对 流数据的处理。第一个处理部分13从数据输入部分12接收包含在流数据中将 被处理的数据作为输入(步骤S111)。然后,第一个处理部分13对输入的数据 进行特定于第一个处理部分13的处理(步骤S112)。然后,通过使用数据发送 部分24,第一个处理部分13发送处理过的数据到连接管理部分21(步骤S113)。 然后,第一个处理部分13确定它对流数据的处理是否已完成(步骤S114)。如 果它确定该处理已完成,第一个处理部分13停止处理。另一方面,如果它确 定该处理还未完成,第一个处理部分13继续步骤S111。\n第二个处理部分14按如下所述反复执行步骤S131到S134直到完成它对 流数据的处理。通过使用数据接收部分25,第二个处理部分14从连接管理部 分21接收从第一个处理部分13发送的数据(步骤S131)。然后,第二个处理部 分14对接收到的数据进行特定于第二个处理部分14的处理(步骤S132)。然 后,第二个处理部分14输出处理过的数据到数据输出部分15(步骤S134)。然 后,第二个处理部分14确定它对流数据的处理是否已完成(步骤S134)。如果 它确定该处理已完成,第二个处理部分14停止处理。另一方面,如果它确定 该处理还未完成,第二个处理部分14继续步骤S131。\n如果在正常操作状态指示改变处理内容,流数据处理装置10进行图3所 示的处理。图3所示处理在用户输入定位命令、流数据改变命令,或类似命令 时开始。如果用户输入定位命令、流数据改变命令,或类似命令,则控制部分 11就接收输入的命令(步骤S141)。然后,控制部分11输出指示开始处理的控 制信号31到第一个处理部分13,并与此同时或稍早或稍晚输出同样指示的控 制信号32到第二个处理部分14(步骤S142)。\n在执行步骤S142后,第一个处理部分13通过使用数据发送部分24向连 接管理部分21输出发送端清除请求41(步骤S110),并且第二个处理部分14 通过使用数据接收部分25向连接管理部分21输出接收端清除请求42(步骤 S130)。此时,发送端清除请求41和接收端清除请求42之中的哪一个先输出 取决于流数据处理装置10的结构或操作状态。\n如在图2中所示的情况,在执行步骤S110后,第一个处理部分13重复执 行步骤S111到S114。同样,如在图2中所示的情况,在执行步骤S130后,第 二个处理部分14重复执行步骤S131到S134。自此之后,如在图2中所示的情 况,在流数据处理装置10中,第一个处理部分13进行的处理、第二个处理部 分14进行的处理及连接管理部分21进行的处理在流数据处理装置10中是并 行或并发的。\n如图4所示,连接管理部分21在正常操作状态执行步骤S201和S202,在 接收端清除等待状态(即,从接收到发送端清除请求41之后直到接收到接收端 清除请求42之时所存在的一状态)执行步骤S211到S213,并且在发送端清除 等待状态(即,接收到接收端清除请求42后并且直到接收到接收端清除请求41 时的存在状态)执行步骤S221到S223。在下面的说明中,从第一个处理部分 13发送的数据被称为“发送数据”,以及由第二个处理部分接收的数据被称 为“将被接收的数据”。\n在正常操作状态,连接管理部分21选择数据临时存储部分22既作为写发 送数据的目的地(以下称为“发送数据的写目的地”)又作为读取将被接收的数 据的源(以下称为“将被接收的数据的读取源”)。因此,在正常操作状态,连 接管理部分21将发送数据写入到数据临时存储部分22,并且从数据临时存储 部分22读取将被接收的数据(步骤S201)。然后,连接管理部分21确定是否从 第一个处理部分13或第二个处理部分14接收到清除请求(步骤S202)。如果已 经接收到发送端清除请求41,连接管理部分21继续步骤S211;如果已经接收 到接收端清除请求42,连接管理部分21继续步骤S221;如果未接收到任何清 除请求,连接管理部分21继续步骤S201。\n图5为示意图,说明了在步骤201发送或接收数据的方式。在图5中,发 送数据的写入目的地和将被接收的数据的读取源都被设为数据临时存储部分 22。所说明的数据临时存储部分22存储着已从第一个处理部分13发送出但尚 未由第二个处理部分14接收到的三块数据。\n参考图4,如果步骤S202发现已经接收到了发送端清除请求41,连接管 理部分21就删除存储在数据临时存储部分22的数据(步骤S211)。然后,连接 管理部分21选择空数据存储部分23作为将被接收的数据的读取源,而且仍然 选择数据临时存储部分22作为发送数据的写目的地。因此,在接收端清除等 待状态,连接管理部分21将发送数据写入到数据临时存储部分22,并且从空 数据存储部分23读取将被接收的数据(步骤S212)。然后,连接管理部分21确 定是否已经接收到来自第二个处理部分14的接收端清除请求42(步骤S213)。 如果,接收到接收端清除请求42,连接管理部分21继续步骤S201;否则,控 制转到步骤S212。\n图6为示意图,说明了在步骤212发送或接收数据的方式。在图6中,发 送数据的写目的地被设为数据临时存储部分22,而将被接收的数据的读取源被 设为空数据存储部分23。存储在数据临时存储部分22中的任何数据都在步骤 S221被删除。在图6中,所说明的数据临时存储部分22存储着已在删除后但 尚未由第二个处理部分14接收到从第一个处理部分13发送出的三块数据。\n当连接管理部分21在接收端清除等待状态,第二个处理部分14将请求连 接管理部分21接收第二个处理部分14正在处理的数据的其余部分,而不管第 一个处理部分13已经改变了它的处理的内容。然而,当连接管理部分21在正 常操作状态时存储在数据临时存储部分22中的“其余的”数据已经由于连接 管理部分21执行了步骤S211而被删除。此外,当连接管理部分21为接收端 清除等待状态,第一个处理部分13请求连接管理部分21发送在改变处理的内 容之后产生的新数据,并且因此连接管理部分21将这样的发送数据写入到数 据临时存储部分22。因此,若不解决这个问题,第二个处理部分14会错误地 接收在改变处理的内容之后产生的从第一个处理部分13发送的新数据,并将 这样的数据作为第二个处理部分14正在处理的数据的其余部分来处理。作为 这个问题的解决方法,如上所述,连接管理部分21在接收端清除等待状态设 置将被接收的数据的读取源为空数据存储部分23。作为结果,当连接管理部分 21为接收端清除等待状态时,第二个处理部分14避免接收任何东西只能接收 到空数据。因此,上述问题得到解决从而流数据处理装置10不会因此出错。\n参考图4,如果步骤S202发现已经接收到接收端清除请求42,连接管理 部分21删除存储在数据临时存储部分22的数据(步骤S221)。然后,连接管理 部分21选择空数据存储部分23作为发送数据的写入目的地,而且仍然选择数 据临时存储部分22作为将被接收的数据的读取源。因此,在发送端清除等待 状态,连接管理部分21将发送数据写入到空数据存储部分23,并且从数据临 时存储部分22读取将被接收的数据(步骤S222)。然后,连接管理部分21确定 是否从第一个处理部分13接收到发送端清除请求41(步骤S223)。如果,已经 接收到发送端清除请求41,连接管理部分21继续步骤S201;否则,控制转到 步骤S222。\n图7为示意图,说明了在步骤222发送或接收数据的方式。在图7中,发 送数据的写入目的地被设为空数据存储部分23,而将接收的数据的读取源被设 为数据临时存储部分22。在步骤S221,存储在数据临时存储部分22中的任何 数据都被删除,并且在数据删除之后从第一个处理部分13发送的任何数据都 被写到空数据存储部分23。作为结果,在图7中,数据临时存储部分22未存 储任何数据。\n当连接管理部分21在发送端清除等待状态,第一个处理部分13将请求连 接管理部分21发送第一个处理部分13正在处理的数据的其余部分,而不管第 二个处理部分14已经改变了它的处理的内容。然而,第二个处理部分14请求 连接管理部分21接收在改变处理的内容之后产生的新数据。因此,若不解决 这个问题,第二个处理部分14会错误地接收在第一个处理部分13正在处理的 数据的其余部分,并将这些数据当作在改变处理的内容之后产生的新数据来处 理。作为这个问题的解决方法,如上所述,连接管理部分21在发送端清除等 待状态设置发送数据的写入目的地为空数据存储部分23。作为结果,当连接管 理部分21为发送端清除等待状态,第二个处理部分14避免接收任何东西只能 接收到空数据。因此,上述问题得到解决从而流数据处理装置10不会因此出 错。\n图8为表格,说明了连接管理部分21的上述操作(图4)。在表8中,在左 上列和右下列中说明的处理为正常操作状态进行的处理(步骤S201);在左下列 中说明的处理为接收端清除等待状态进行的处理(步骤S212);而在右上列中说 明的处理为发送端清除等待状态进行的处理(步骤S222)。\n如上所述,根据本实施例中的流数据处理装置,在正常操作状态,连接管 理部分利用数据临时存储部分作为允许从第一个处理部分(作为发送端处理部 分)发送的数据由第二个处理部分(作为接收端处理部分)接收的缓冲器。如果 由于定位或流数据的改变需要改变处理的内容,第一个处理部分和第二个处理 部分各自输出一个发送端清除请求和一个接收端清除请求,以响应来自控制部 分的指令。当接收到任一种清除请求时,若在正常操作状态,连接管理部分删 除存储在数据临时存储部分上的任何数据,若在接收端清除等待状态则设置将 被接收的数据的读取源为空数据存储部分,若在发送端清除等待状态则设置发 送数据的写目的地为空数据存储部分。\n因此,当改变处理的内容时,第二个处理部分不会错误地接收到任何在改 变处理的内容后产生的新数据并且将这样的数据作为第二个处理部分14正在 处理的数据的其余部分来处理,接收到第一个处理部分过去处理的数据并且将 这样的数据作为在改变处理的内容之后产生的新数据来处理。因此,通过正确 地在多个处理部分之间交换数据而且在它们之间实现同步化,流数据处理装置 能够以良好的整体完整性运行。\n此外,每个处理部分不仅需要通过输出清除请求来响应来自控制部分的改 变处理的内容的指令;而且处理部分还可以通过请求数据发送/接收继续正确 地交换数据。因此,每个处理部分能够正确地进行数据交换而不用关心数据的 内容或与之交换数据的另一处理部分的状态。作为结果,每个处理部分的结构 得到简化。更特别地,当每个处理部分是以软件实现时,每个处理部分的软件 结构可以被简化,从而有利于实现处理部分的软件组件的设计。更简单的软件 结构提供的优点是降低程序代码的数量,从而提高软件质量。\n此外,每个处理部分通过使用统一的接口的方法来实现由数据发送部分的 数据发送和由数据接收部分提供的数据接收功能的交换数据。其结果,每个处 理部分的结构进一步得到简化。当每个处理部分是以软件实现时,每个处理部 分的软件结构可以被进一步简化,并且每个处理部分的再利用率得到提高。因 此,当每个处理部分是以软件实现时,这使得将构成每个处理部分的软件组件 移植到另一个系统更加容易。\n(第二个实施例)\n根据本发明第一个实施例的流数据处理装置是通过在正常操作状态下当 输出了发送端清除请求或接收端清除请求时删除存储在数据临时存储部分的 任何数据来说明的。另一方面,根据本发明第二实施例的流数据处理装置的的 特征是如果在正常操作状态先输出了发送端清除请求,则存储在数据临时存 储部分中的任何数据都不被删除,并且在接收端清除等待状态,新数据和旧数 据都存储在数据临时存储部分,采用新数据和旧数据区分开存储的方式。\n本实施例中的流数据处理装置和第一个实施例中的流数据处理装置有相 同的结构(如图1所示),并且在处理停止状态指示开始处理(图2)或在正常操 作状态指示改变处理内容(图3)时进行与第一个实施例中的流数据处理装置相 同的处理。因此,这些方面的任何说明都在本实施例中略去。本实施例中的流 数据处理装置与第一个实施例中的流数据处理装置不同之处在于连接管理部 分21在接收端清除等待状态下的操作。\n图9为流程图,说明了根据本发明第二个实施例的流数据处理装置的连接 管理部分的操作。如图9所示,连接管理部分21在正常操作状态执行步骤S201 和S202;在接收端清除等待状态执行步骤S231到S233;并且在发送端清除等 待状态执行步骤S221到S223。由于在正常操作状态和发送端清除等待状态进 行的处理与第一个实施例中的流数据处理装置进行的处理相同,这部分说明在 此略去(见图4)。在下面的说明中,在已经输出发送端清除清除41时任何存储 在数据临时存储部分22中的数据将被称为“旧数据”,而从第一个处理部分 13发送的任何数据在连接管理部分21处于接收端清除等待状态时将被称为“新 数据”。在数据临时存储部分22中存储旧数据的区域将被称为“旧数据区域”, 而在数据临时存储部分22中未存储旧数据的区域将被称为“新数据区域”。\n如图9所示,当步骤S202发现已经接收到发送端清除请求41时,连接管 理部分21继续步骤S231而不删除旧数据。在这种情况下,连接管理部分21 选择新数据区域作为发送数据的写入目的地,并且选择旧数据区域作为将被接 收的数据的读取源。然而,值得注意的是,仅当存在任何未读取的旧数据时, 旧数据区域才被选择作为将被接收数据的读取源。一旦不再存在旧数据,空数 据存储部分23就被选择作为将被接收数据的读取源。因此,在接收端清除等 待状态,连接管理部分21在新数据区域中写入发送数据,并且从旧数据区域 读取将被接收的数据(或当不存在旧数据时,从空数据存储部分23中读取)(步 骤S231)。\n接下来,连接管理部分21确定是否接收到来自第二个处理部分14的接收 端清除请求42(步骤S232)。如果已经接收到接收端清除请求42,连接管理部 分21继续步骤S233;否则,控制转移到步骤S231。在步骤233,连接管理部 分21删除任何存在的旧数据(步骤S233),然后继续步骤S201。\n图10和11为示意图,说明了在步骤S231中发送或接收数据的方式。图 10说明了旧数据存在的情况。在图10中,数据临时存储部分22存储两块旧数 据(0LD_DATA5和OLD_DATA6)及一块新数据(NEW_DATA1),这两种数据以它们能 够相互区分开的方式存储。如果第一个处理部分13在如图10所示的状态下请 求发送下一块新数据,连接管理部分21将该数据写入数据临时存储部分22中 的新数据区域(例如,在新数据NEW_DATA1的下一个空档)。如果第二个处理部 分14在如图10所示的状态下请求接收下一块旧数据(0LD_DATA5),连接管理 部分21将从数据临时存储部分22中的旧数据区域中读取该数据并将该数据发 送到第二个处理部分14。\n图11说明了旧数据不存在的情况。如果在如图10所示的状态下第二个处 理部分14请求接收两块旧数据同时第一个处理部分13请求发送一块新的数 据,结果会出现图11所示的状态。在图11中,数据临时存储部分22存储两 块新数据(NEW_DATA1和NEW_DATA2)。如果第一个处理部分13在如图11所示 的状态下请求发送下一块新数据,连接管理部分21将该数据写入到数据临时 存储部分22中的新数据区域(例如,在新数据NEW_DATA2的下一个空档)。如 果第二个处理部分14在如图11所示的状态下请求接收下一块旧数据,连接管 理部分21将从空数据存储部分23中读取空数据。由于流数据处理装置10以 块模式工作,由第二个处理部分14进行的处理将中断直到数据接收完成。\n如在第一个实施例中,当连接管理部分21在接收端清除等待状态,第二 个处理部分14将请求接收旧数据,而不管第一个处理部分13已经改变了它处 理的内容。记得在第一个实施例中,连接管理部分21执行步骤S211,使得旧 数据将被删除。然而在本实施例中,在这一点上旧数据不会被删除。再者,在 接收端清除等待状态,连接管理部分21把发送数据作为新数据写入到数据临 时存储部分22,并且从数据临时存储部分22中读取旧数据作为将被接收的数 据。作为结果,当连接管理部分21在接收端清除等待状态,第二个处理部分 14可以接收任何存在的旧数据,但在旧数据不再存在时只能接收到空数据。因 此,第二个处理部分14可以正确地接收存储在数据临时存储部分22中的旧数 据并将这些数据作为第二个处理部分14正在处理的数据的其余部分来处理。\n图12为表格,说明了连接管理部分21的上述操作(图9)。在表12中,在 左上列和右下列中说明的处理为正常操作状态所进行的处理(步骤S201);在左 下列中说明的处理为接收端清除等待状态所进行的处理(步骤S231);而右上列 中说明的处理为发送端清除等待状态所进行的处理(步骤S222)。\n如上所述,根据本实施例中的流数据处理装置,在正常操作状态或发送端 清除等待状态,连接管理部分进行与第一个实施例中的流数据处理装置相同的 操作。另一方面,在接收端清除等待状态,当已经接收到发送端清除请求时, 连接管理部分保留存储在数据临时存储部分中的任何数据,并设置发送数据的 写入目的地为数据临时存储部分中的新数据区域,以及设置将被接收的数据的 读取源为数据临时存储部分中的旧数据区域(或当旧数据不再存在时为空数据 存储部分)。\n因此,除了第一个实施例的流数据处理装置提供的优点之外,本实施例的 流数据处理装置提供的一个优点是第二个处理部分可以在输出发送端清除请 求之后直到输出接收端清除请求期间对存储在数据临时存储部分中旧数据进 行正确的处理。\n如下所述,根据本发明的每个实施例的流数据处理装置可能有不同的变 体。\n上述每个实施例的流数据处理装置是用包含对输入的流数据进行两个步 骤的处理的两个处理部分来说明的。作为其一种选择,流数据处理装置可以包 括三个或更多的处理部分对输入的流数据进行三个或多个步骤的处理。在这种 情况下,流数据处理装置可以通过连接管理部分在任何以及所有的处理部分之 间实现数据交换。\n图13说明了流数据处理装置的一个变体,对输入的流数据进行三个步骤 的处理。图13所示的流数据处理装置50包括:第一个处理部分53、第二个 处理部分54及第三个处理部分55,用来对通过数据输入部分52输入的流数据 进行三个步骤的处理,并且从数据输出部分56输出处理结果。当用户输入定 位命令或类似的命令,控制部分51分别输出控制信号61、62和63到第一个 处理部分53、第二个处理部分54及第三个处理部分55。第一个处理部分53 使用数据发送部分24a来发送数据到第二个处理部分54。第二个处理部分54 使用数据接收部分25a从第一个处理部分53接收数据。基于发送端清除请求 41a和接收端清除请求42a,连接管理部分21a对数据临时存储部分22a和空 数据存储部分23a进行数据写和数据读,从而允许从第一个处理部分53发送 的数据由第二个处理部分54接收。第二个处理部分54和第三个处理部分55 之间的数据交换以类似的方式进行。\n包含三个或多个处理部分的流数据处理装置并不一定需要通过连接管理 部分来实现在任意和所有的处理部分之间的数据交换。相反,通过连接管理部 分的数据交换可以仅在部分处理部分之间实现。例如,在图13所示的流数据 处理装置50中,可以在第一个处理部分53和第二个处理部分54之间通过连 接管理部分进行数据交换,可以在第二个处理部分54和第三个处理部分55之 间进行不涉及连接管理部分的数据交换。\n虽然上述每个实施例的流数据处理装置都是以工作在块模式来说明的,流 数据处理装置也可以工作在非块模式,如下所述。进一步作为另一种选择,流 数据处理装置可以构建成能够选择块操作模式和非块操作模式。在那种情况 下,可任意地控制由每个处理部分基于该装置的操作状态或类似状态,使得由 每个处理部分所进行的处理可在数据接收/发送等待状态中断或不中断。\n在以非块模式工作的流数据处理装置中,如果发送数据不能写入到数据临 时存储部分,或者不能从数据临时存储部分读取将要被接收的数据,连接管理 部分马上向产生发送数据或等待接收数据的处理部分发出出错的提示。在这种 情况下,在通过连接管理部分请求数据发送或接收之后,每个处理部分通过执 行诸如轮询或选择的数据处理一直等待直到完成数据发送或接收。因此,即使 在等待的过程中,有其它事件发生,处理部分仍能立即进行和该事件相关的处 理。例如,如果用户在等待的过程中向控制部分指示中断处理,处理部分可以 立即停止处理以响应从控制部分输出的处理中断指令。因此,每个处理部分即 使处于数据发送/接收等待状态仍可以进行和另一个事件相关的处理。其结果, 当用户输入了一个指令,流数据处理装置可以立即响应该用户的指令,而无需 新激活一个进程来响应该指令。\n在上述的实施例中,提到数据输入部分12和/或数据输出部分15可以为 硬盘或存储器这样的存储设备。更具体的是,可以构建数据输入部分12和/或 数据输出部分15来对可移动记录媒介如存储器卡写数据或读数据。对包含这 样的数据输入部分12和这样的数据输出部分15的流数据处理装置,可以将第 一个装置获得的处理结果存储到可移动记录媒介,从第一个装置移至该记录媒 介,并加载该记录媒介到第二个装置。采用这种方式,第二个装置能够继续第 一个装置的处理来进行重现流数据、进行定位,或类似的处理。\n根据本发明的流数据处理装置,能够采用一个处理部分不需关心其它处理 部分的状态的方式,在处理部分之间的数据发送或接收。因此,根据本发明的 流数据处理装置可以作为一种处理流数据的设备使用,例如,音频数据或视频 数据的回放设备。\n虽然在此对本发明进行了详细的说明,但上面的说明仅为示意性的而非限 制性的。应理解在不偏离本发明范围的前提下可以设计出大量的其它更改和变 体。
法律信息
- 2011-11-16
未缴年费专利权终止
IPC(主分类): G06F 13/14
专利号: ZL 03157772.5
申请日: 2003.08.28
授权公告日: 2008.07.23
- 2008-07-23
- 2005-05-18
- 2004-04-14
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| | 暂无 |
1994-08-09
| | |
2
| |
2003-07-09
|
2001-12-27
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |