处理一种音频视频交互式信号的方法和装置的制作方法

文档序号:7566153阅读:155来源:国知局
专利名称:处理一种音频视频交互式信号的方法和装置的制作方法
技术领域
本发明涉及接收和处理音频视频交互式AVI信号的方法和装置。
已经提出的交互式电视接收系统的方案,其中的电视接收机包括根据广播台并可以响应用户加入的数据而可编程的处理器,产生迭加在广播视频图像上的屏幕上图形显示,产生和广播音频相结合的声音和/或与广播台或其他外部数据处理业务结合的交换数据。在这种系统中,广播地点(location)包括产生交互应用程序信息的计算机系统,并将作为附加成分的交互式应用程序信息与相关的视频和音频电视信号分量相结合。在电视接收机中的处理器从广播台接收交互式应用程序信息,执行由那些信息表示的交互式应用程序,产生将与电视视频与音频相结合的图形和声音,并且处理通过遥控单元接收的用户输入。
在建议的AVI系统中,来自广播台的AVI信号是分组数据流形式的广播,它包含多个时分复用的分组业务。每个分组业务载送AVI信号的不同信号成分。例如,一个业务载送视频成分,另一个载送音频成分,还有一个载送交互式应用程序信息。还可以有载送立体声和SAP音频频道和/或闭合字幕信息等的其他业务。另外,某些分组数据流可以包含载送多于1个AVI程序的分量的分组业务。每个分组业务具有与它相关的独立的业务成分识别符(SCID),并且在该分组业务中每个分组都有业务识别符。请看美国专利申请号234,773,题为“表述一种交互式电视信号的装置和方法”的申请,更详细描述了这种分组数据流是如何形成的。
另外,在提出的AVI系统中,每个分组业务载送程序引导并包括预定的业务识别符。由程序引导分组业务载送的数据使载送这些成分的分组业务的业务识别符与AVI程序的成分有关联。利用这个数据,载送要求的AVI程序成分的分组业务可以从分组数据流中抽取。
在AVI信号分组数据流中的成分由一个或多个传输单元载送,每个单元由多个分组组成。在任意传输单元中的第1个分组是标题分组,在传输单元中的其余的分组是与数据分组有关的。标题分组包含有关随后数据的信息,而且相关的数据分组载送构成成分部分的数据。不同的传输单元可以包含不同数量的数据分组,将模块划分成为传输单元会受到在希望的时间传送全部模块到观看者的地点所必须的时序的影响,或者受到其他的实时因素的影响。
交互式应用程序成分是由一个或多个代码模块(包含可执行的代码)组成,可能是一个或多个数据模块以及包含描述代码的数据和组成交互式应用程序成分的数据模块的目录模块。在应用程序成分流中这些模块连续地重复。这些模块由传输单元载送,正如前所述,在传输单元中标题分组还包含在模块内随后数据分组内的数据所属的位置。
在AVI接收机中的处理器首先从数据流中提取目录模块,而且利用包含在目录中的信息确定哪个代码模块首先被执行。代码模块于是从数据流中被取出并装入到存储器中已知的存储单元,当起始代码模块被全部装入存储器时,处理器开始执行代码模块。在它的执行过程中,代码模块可以从目录模块中识别的数据模块请求数据。这些数据模块于是被取出来并装入到存储器中。当数据模块已经完全装入存储器中时,该请求的代码模块于是被通知,并且执行程序连续地处理这些数据。这还可以使一个代码模块链接到随后的一个。在这种情况下,当前的代码模块发出链接列出在目录模块中新的一个代码模块的请求,而且它的存储空间是空的。被请求的代码模块于是从数据流中被提取出来,并且装入到存储器中。当它完全装入存储器中时,它随后被执行了。其他的功能也是可能的,并且在以下描述。
如果存储器具有足够的容量,那么超过一个的代码模块能同时地存储在存储器相应的部分中。在这种情况下,一个模块链接到另一个使得新模块的开始执行变得简单,从而避免了需要一直等到新的模块从数据流完全被装入。也可能在一个存储器中存储多于1个的数据模块,但是由于数据模块比代码模块更经常发生变化,可以预计当代码模块需要数据模块时,数据模块将从数据流中被抽取。
在建议的AVI接收机中的处理器不需要具有任何大规模的存储器,或者预先装入的AVI程序。而因为在交互式应用程序分组业务中载送的模块是连续不断地重复的,当需要时,任何模块可以从数据流中抽取,而且不需要海量存储器。然而由于这一原因,在AVI接收机中的处理器为了需求的模块而必须连续地监视数据流。为了有效地监视数据流的方法和装置,需要尽可能快地处理需要的模块。
根据本发明的原理,一种音频视频交互式(AVI)接收机接收含有多个模块的分组业务。每个模块有一个名字并包含时分复用的传输单元。每个传输单元包含一个含有模块名字的标题分组。在这种接收机中处理模块的方法包括如下步骤首先,执行用名字识别的模块的处理的请求被接收,而且一个包含接收的模块的名字和请求的处理的条目插入条目的列表。在分组业务中的标题分组于是被检测出来。如果在检测的标题分组中的模块的名字与条目表中的一个名字相符,分组处理电路执行该相符的条目的处理。最后发出一则消息以表明该处理已经被执行了。
根据本发明原理的装置包括一个含有多个模块的分组数据流的信号源,每个分组有一个名字并包含时分复用的传输单元,每个传输单元包括含有模块名字的标题分组。一个存储器存储着请求队列,该队列包含多个条目,每个条目包括处理请求和模块的名字。该存储器还存储包含含有模块名字的存储单元的标题分组缓冲器。请求处理电路接收请求以便执行处理由名字识别的模块以及在包含识别的模块的名字和请求的处理的请求队列中存储一个条目。一个标题分组存储器的存储控制器存储出现在数据流中的标题分组存储缓冲器中的标题分组,并且产生一个标题分组接收的信号。响应标题分组接收的信号的模块处理电路从标题分组缓冲器中读出模块名字,将标题分组中的模块名字与在请求缓冲器中的每个条目中的模块的名字相比较,如果在标题分组中的模块的名字与一个条目名字相符,则执行在相符的请求队列条目中的请求的处理。


图1是引入的本发明的AVI信号解码器的部分的方框图;
图2是图1所示的处理单元40所执行的软件的软件结构图;
图3是有益于理解从AVI程序中的数据成分中提取模块的流程图和设计图;
图4是有益于理解从AVI程序中的数据成分抽取模块的部分以方框形式和部分以存储器的设计图形式的示图;
图5是表示系统装入程序的初始化功能的流程图;
图6是表示系统装入程序的数据流监视功能的状态转换图。
图1是结合于本发明中的AVI信号解码器的部分的方框图。在图1中示出了在每个观看者场所安装的解码器,在该场所它按照要求参与AVI程序。在图1中,传输机构(未示出)耦合到解码器的输入端5。输入端5耦合到调谐器10的输入端。调谐器10的输出端接到AVI程序成分解码器30的数据输入端。程序成分解码器30的数据输出端接到处理单元40的系统总线416上。处理单元40包含通过系统总线416以公知的方式连接在一起的中央处理单元(CPU)410、读/写存储器(RAM)412和只读存储器(ROM)414。数据流I/O适配器408是以双向的方式连接在系统总线416和程序成分解码器30的控制端之间。
连接到系统总线416的音频处理器418提供音频信号给AVI音频输出端25,而连接到系统总线416的视频处理器420提供视频信号给AVI视频输出端15。此外,通过双向端45由I/O端口422将输入和输出设备连接到配置的本地处理器(未示出)上。用户I/O适配器424用以通过输入端35从用户处接收数据;而且通过双向终端55将调制解调器426连接到外部计算机(未示出),所有这些也是以公知的方式连接到系统总线416上。其他的例如数学处理器、其他的I/O适配器等等以公知的方式连接到系统总线416上。此外,可以还包括总线扩展器用于连接解码器外部的其他设备。
在操作中,例如可以是直接射频(RF)卫星链路、电缆系统馈送或光纤链路的解码器传输机构载送多个AVI信号,任何一个AVI信号可以由观看的用户选择观看。在直接卫星链路中,例如多个AVI数据流可以通过调制各自的RF载波信号在传输机构上做到频分复用。每个RF载波信号可以由卫星中的相应的转发器再广播给观众的所在地。在处理器40的控制下,调谐器10用公知的方法选择需要的RF调制信号。例如,在直接卫星系统中,包含载有所要求的AVI程序信号的成分的分组业务的RF调制信号由公知的RF调谐器调谐。调谐器10的输出是包含这些分组业务的基带数字分组数据流。
通过将希望的业务识别符以及RAM412缓冲器存储单元写入适当的业务成分识别符(SCID),CPU410从程序成分检测器30中请求希望的分组业务,而直接存储器存取(DMA)控制器通过数据流I/O适配器408在程序成分检测器30中寄存希望的分组业务。程序成分检测器30于是监视分组数据流以得到希望的分组业务。当从任意的希望的分组业务中接收到标题分组时,用公知的DMA写技术将它们存入RAM412中的预定的标题分组缓冲器,而且产生标题分组中断。当从任意的希望的分组业务中接收到数据分组时,使用公知的DMA写技术将其存储在RAM412中的先前指定的缓冲器存储单元。当已经接收到了传输单元中的所有数据分组时,产生数据的完全中断。在CPU410的控制下,也可启动也可禁止从分组业务中接收的标题和/或数据分组。由K.E.BridgeWater等人在94年4月22日申请的题为“分组视频信号反向传送处理器存储器选址电路”的美国专利申请No.232,787,更详尽地描述了程序成分检测器30。
例如,当调谐器10调谐新的RF调制信号时,包含程序引导的分组业务通过提供固定程序引导业务识别符给程序成分检测器30中的业务识别符寄存器而由CPU410提出请求。当在程序引导分组中的数据已被接收并存储在存储器中时,该数据允许CPU为所希望的AVI程序请求分组数据业务。
在由程序成分检测器30接收请求的分组业务中的信息分组以后,该分组通过DMA写入RAM412中的先前指定的缓冲器存储单元,使用公知的DMA读技术,在程序成分检测器30的控制下,视频处理器420和音频处理器418从与它们各自的分组业务相关的RAM412缓冲器存储单元读出数据。视频处理器420和音频处理器418于是解码压缩的和编码的数据以便分别在输出端15产生AVI视频信号和在输出端25产生AVI音频信号。在解码过程中CPU40可能与视频处理器420和/或音频处理器418合作,用以下插叙的方法,在CPU410的控制下处理数据成分分组业务的分组信息。
如上所述,每当程序成分检测器30接收到来自被请求的分组业务的标题分组时,它都会被存储在用于分组业务的RAM412中的预定存储单元,并且为CPU410产生标题分组中断信号。响应标题分组中断信号,中断处理程序执行对标题分组内容的分析,以及要么适当地刷新在程序成分检测器30中的DMA寄存器中的RAM412缓冲器存储单元,并启动DMA转换,要么如果传输单元是所不需要的,使DMA不转换。一旦DMA转换可以执行,数据分组中的数据于是在DMA的控制下装入到RAM412中。当这个数据分组装入完成时,程序成分检测器30产生数据完全中断信号。响应数据完全中断信号,执行中断处理程序以进行“清除”功能并准备下一个标题分组。
图2是由图1所示处理单元40执行的软件200的结构图。图2示出了组成AVI处理多重任务操作系统的主要软件成分。在图2中中,除去应用程序外,所有的存储在ROM414中的成分用黑色区表示。由AVI信号的数据成分载送的应用程序从广播位置接收并存储在RAM412中。图2中所示的软件成分表示可执行的代码和相关的常量数据。正象代码执行的一样,它可以产生和存取存储在RAM412中的可变数据。
在建议的AVI广播系统中,不同的解码器可以使用例如来自不同制造商的不同的指令集的CPU。在这个系统中,应用程序是处理器独立的中间码。在每个解码器中的软件包括解释中间应用码的成分。这就可在包含任何型CPU410的解码器中执行广播应用程序。该解释程序将在来自RAM412运算存储器的中间码中读取数据成分指令,并借助应用编程接口(API)通过其他软件成分与硬件交互作用。作为基本上是可利用的应用程序的子例程的列表和必要时要访问的信息的API被公布,并可被应用程序员利用以对解码器单元进行访问。
数学库执行进行整数和浮点算术的所有的功能。流程操作系统控制监视AVI信号的数据成分的所有必要的驱动器,并处理被请求的模块,以下将详细描述。用户接口管理部分处理所有的用户交互作用,并利用图形库,以及一个事件管理器与用户进行通讯。该图形库执行在接收的AVI视频上迭加的所有图象的产生,并且使用数学库划出复杂的曲线。
通过彼此间非同步地传送消息,解码器软件的不同的软件成分间相互通讯。每个程序成分具有消息队列,并且通过从读消息队列读出下一个消息、处理那个消息、可能的话发送信息给另外的程序成分以及如果不再有未定的消息的话,等待下一个消息来重复地工作。通过适当地路由选择这些消息并保持消息队列,事件管理器管理在其他的软件成分中的这些消息的通讯。
每个硬件适配器还包括相关的软件驱动器。该驱动器通过系统总线416执行CPU410和相关的硬件适配器中的寄存器间实际的交互作用。例如有用于调制解调器426、外部I/O端口422、数据流I/O适配器408和用户I/O424的驱动器。另外,分立的驱动器维持软件定时器并操作解码器的前面板。这些驱动器密切依赖于事件管理器。所有以上的成分使用由多重任务核心提供的通用的功能。例如,该核心保持处理优先权、实际任务队列、信号、信号量(semaphores)、优先任务转换时钟信号、中断(硬件和软件)以及处理堆栈存储器。另外,该核心提供硬件预置初始状态和作为系统装入程序的第一系统任务的启动。
在启动时,系统装入程序执行API对流程操作系统的请求,它依次通过数据流I/O适配器408请求数据流驱动器给程序成分检测器30发送适当的数据。这些来自系统装入程序的API请求以后面将详述的方式启动目录模块的数据成分分组业务的扫描。当目录模块被找到,它被装入RAM412,并且查看是否所有的执行程序的需要的资源是可用的。如果是可用的,于是系统装入程序启动第一模块AVI数据成分的扫描,第一模块又称为自动启动模块,该模块启动AVI程序。当自动启动模块被装入,它将从数据成分分组业务中抽取出来并装入RAM412中。这个自动启动模块是中间码的形式,并且由解释程序解释执行。该自动启动模块执行初始状态预置的剩余部分并开始执行AVI程序。这个程序可能装入其他的码和数据块,并且链接到另外的代码模块,所有这些都通过API请求。以此方式,该系统装入程序是以与典型的UNIX相同的方式工作的。
另外,系统装入程序连续地扫描将传输的目录模块与在RAM412中的当前目录模块相比较的数据成分分组业务。如果传输的目录模块不同于RAM412中所存储的,它表示该数据成分分组业务已经改变,例如,观看者改变了频道,或者一个交互式商业节目正在广播。在这种情况下,通过事件管理器使用API将一则消息传送给应用程序。响应这一消息,应用程序重新分配它的所有资源,仅仅保持在处理单元40中的最小的存在。例如,用于存储所有代码和数据模块的存储器可能是空的,仅有应用的执行状态保持在RAM412中。当完成了应用程序最小化时,一个消息传送给系统装入程序。
系统装入程序于是分配执行由新的目录模块表示的AVI程序所必需的资源。在AVI数据成分分组业务中检测到新的目录模块时,搜索先前的最小化了的应用列表,如果出现了由新的目录表示的应用,那么这个应用通过重新从数据成分流中输入必要的代码和数据模块而重新开始,即从先前已经停止处重新开始。这可能发生在插入的交互式商业节目的末尾。这个过程可以是递归的,在这里第2个AVI程序本身可以由第3个AVI程序中断,随后重新启动。
图3示出了流程图和存储器布局图,图4是有助于理解从AVI程序中的数据成分抽取模块的图1所示的程序成分检测器30的更详细的方框图和存储器布局更详尽的示图。在图4中,来自图1所示调谐器10的基带数字分组流分别地连到数据DMA控制器32的数据输入端和程序成分检测器30内的标题分组DMA控制器34的数据输入端。数据DMA控制器32以及标题分组DMA控制器34的各自的数据输出端连接到处理单元40的系统总线416。数据流I/O适配器408连接在系统总线416与各自的数据DMA控制器32和标题分组DMA控制器34的控制输入端之间。在工作中,数据流I/O适配器408提供控制信息,例如缓冲器存储单元开始和结束的地址、读和写地址以及转换计数,并用公知的方式以图1所示的CPU410加给数据DMA控制器32和标题分组DMA控制器34。数据流I/O适配器408于是能使数据DMA控制器32和/或标题分组DMA控制器34分别地以公知的方式在CPU410控制下从分组数据流到缓冲器传送数据或标题分组,或者使这种传送不进行。当数据DMA控制器32完成了数据传输时,它产生一个数据完成中断给CPU40。当标题分组DMA控制器34完成输入标题分组时,它产生一个标题分组中断给CPU410。
仍在图4中,RAM412是由大方框表示的,数据结构是由在大方框内的小方框表示的。图4中的方框仅仅是示意,决不意味RAM412中数据结构分配的绝对和相对位置以及尺寸大小。在412中示出了模块请求队列322、标题分组缓冲器324、目录模块缓冲器326和模块缓冲器328的数据结构。数据结构内的信息字段用水平的条表示,该条包含字段中含有的信息类型的名字。这些在以后将详细讨论。
图3示出了随后的从数据成分分组业务中抽取模块并存储在RAM412中的缓冲器的步骤。用作其他的模块处理的随后的类似步骤将在以后描述。在图3中,应用程序(或系统装入程序)中的动作表示在“标题应用程序(APPLNPROG)”下面的左侧栏中。在方框302中,使用AVI的应用程序可以请求流程操作系统从AVI程序成分分组业务中装入具有识别符ID的模块。如上所述,API请求基本上是对操作系统功能的子例程请求的。该程序执行传送给流程操作系统(FOS)。在FOS中的动作表示在(FOS)流程操作系统标题下面的相邻的右栏中。由于该请求包含模块的装入,在方框312中的FOS请求存储器管理器分配容纳该模块的足够大小的存储空间。例如,如果请求的模块是代码或者数据模块,先前存储的目录模块326(图4)包括含有模块ID的长度(LENGTH)的字段。在这种情形存储器管理器分配具有开始地址START和终止地址END的模块存储器缓冲器328(图4中示出)。然后在方框314中的描述请求的信息,例如是模块的识别符ID、请求REQUEST的类型(在这种情形中请求抽取和装入模块)以及分配的缓冲器开始地址START和终止地址END都存储在请求队列(QUEUE)322的条目处。当他们出现在分组数据流中时,标题分组DMA控制器34就可以被启动以将标题分组装入RAM412中。
如果请求是对于目录模块的,预先不知道其长度。在这种情况下就需要相对大的存储器分配。如果这个分配产生得太小,就要重复请求,直到请求到大的存储器分配,要么目录模块装入,要么确定为没有充分的存储器可以令其装入,在这种情况下运行AVI程序的努力就放弃了。
随后FOS立即返回到调用应用程序。该应用程序于是可以执行其他的处理,例如向其他的模块发出请求、其他的初始状态预置等等。当请求的模块的存取是所需要的,在方框304中的应用程序可以发出API请求给核心中的等待功能。这个功能暂停应用程序的执行,直到由应用程序检测到表示成功装入请求的模块的消息为止。当接收到那个消息时,该应用程序被再次启动以处理那个消息。另外,该应用程序可以保持有效,例如为了响应更快的用户输入,并且周期地询问消息队列表示成功装入请求的模块的消息是否收到,当收到该消息时就处理该消息。
如上所述,标题分组DMA控制器在先前由存储器管理器分配的RAM412中的标题分组(HDRPKT)缓冲器324(见图4)中装入标题分组,并且输出标题分组中断给CPU410。由位于核心的标题中断处理器执行处理的一部分在图3中的标有“HEADERINTR”(标题中断)的栏中示出。在方框332中,在传输单元中载送的,作为标题程序分组的程序分组的识别符,从在标题分组缓冲器324中的公知存储单元、ID处搜索到,请求队列332被检查以确定是否这里有这个模块的未决的请求。
如果有模块未决的请求,则在方框336中,在程序成分检测器30中的数据分组DMA控制器用下列的值预置初始状态来自请求队列322中的开始地址START和终结地址END的模块缓冲器328;作为模块缓冲器328开始地址与传输单元数据偏移OFFSET(即START+OFFSET)的和的写地址;和作为START+OFFSET+SIZE的上一个写地址(换言之,是来自代替上一个写地址的标题分组缓冲器324的尺寸大小SIZE的装入计数)。该数据分组DMA控制器32于是可以工作。
在方框338中,如果这是完成装入请求以后接收的第1个标题分组,存储在请求队列322中的指向第1写地址的指针FIRST被初始化为该第1传输单元的写地址(即FIRST+START+OFFSET)。另外,一个预期的指向下一个写地址的指针也存储在请求队列332中,该指针NEXT对第1个传输单元的写地址(即NEXT=START+OFFSET)预置初始状态。随后其他的处理在方框338中完成,338将在以后详细描述。例如,指向请求队列332中的存储单元的专用指针被当前处理,CURRREQ(即当前请求)存储在RAM412中未示出的预定存储单元中。然后,在方框339中,中断处理器返回(339)。
数据分组DMA控制器32对指向先前接收的写地址(START+OFFSET)的写指针进行预置初始状态,并且将来自AVI程序成分分组业务中的随后的数据分组装入RAM412中模块缓冲器328中的顺序的存储单元。当传输单元中的所有数据已经装入RAM412,就产生数据完全中断。在核心中的数据完全中断处理器执行的处理的部分示于图3中的标有DATACOMPLINTR标题的右侧栏中。
在方框342中执行有关DMA传输的当前状态的清除功能。先前设定在标题分组中的中断处理程序中的当前请求指针(CURRREQ)指向请求队列332中的传输单元刚好已经完成了装入的条目。在当前请求中的预期的下一个写地址指针增加了标题分组缓冲器中的SIZE值,而且现在为下一个传输单元指向预期的写地址。如果预期的下一个写地址指针的新值等于缓冲器328的结束地址END,它将用返转方式对模块缓冲器328的开始地址START复位。
在方框344中,确定是否所有的请求的模块已经装入存储器了。预期的下一个写地址指针NEXT的值与第1个装入地址START比较。如果相同,即整个模块已经装入了。在方框346中,如图3中的破折线所示,消息通过事件管理器传送给请求应用程序以指示请求的模块已完全地搜索。另外,从请求队列322中除去请求。如果预期的下一个写地址NEXT的值和第1个装入地址START不相同,该数据完全中断处理程序返回(349),包含请求模块的数据的下一个传输单元,如上所述,由标题分组中断处理程序处理。在这两种情形下,当前请求指针(CURRREQ)被清除了。
如果程序成分检测器30未能适当地接收传输单元的某些部分,在来自先前的标题分组的数据完全中断信号已由程序成分检测器30中的DMA电路产生出来前,随后的标题分组将被接收到。这就是在先前数据完全中断信号可以产生之前,依次产生随后的标题分组中断信号。在标题分组中断处理程序和数据完全中断处理程序中的处理可以合作以识别这种状态并提供对差错的处理。
在标题分组中断处理程序中,在数据分组DMA控制器可以接收下一个传输单元后,在方框338(图3中示出)进行这种处理。对于每一个接收的标题分组,在由数据完全中断处理程序先前刷新的当前请求队列的条目中预期的下一个写地址NEXT被与新接收的标题分组的写地址(START+OFFSET)相比较。如果他们是相同的,先前的传输单元被成功地接收。然而,如果最后的结束地址和新的偏移不相同,这意味着先前的传输单元的DMA传输完成得不成功。在这种情况下,第1写地址FIRST和预期的下一个写地址NEXT二者被刷新成当前的写地址(START+OFFSET)。这就是说先前装入的传输单元基本上被放弃,而且用当前的传输单元重新启动模块的装入。由于先前成功装入的传输单元当重新装入时可能产生差错,从差错的数据遗漏型恢复的方式可能要用更多的时间。然而,使用这种形式的恢复,由标题分组中断处理程序和数据完全中断处理程序完成的任务被最小化,而且只有两个指针需存入存储器中。
作为模块完整的消息处理的一部分,对接收的模块内事件处理程序执行误差检查。例如,循环冗余校验(CRC)码作为模块嵌入的部分被传输。事件处理程序在RAM412中的模块缓冲器328中的接收的模块内计算CRC,并将其与嵌入的CRC作比较。如果新计算的CRC等于嵌入CRC,则模块被正确地接收,否则则出现差错,如前所述该模块要重新装入。
当请求的模块已经完全装入存储器中时,可以连续进行由应用模块所做的进一步处理,在图3中由API调用的底部到等待功能304的一条虚线表示出。然而,在应用程序中的独立的任务可以被起动以便响应来自应用程序消息队列的消息的接收。
上述的AP1包括借助应用程序、解释程序或系统装入程序而访问数据流的功能。一个应用程序将使用发表了的API说明来提出API请求以访问所希望的数据流功能。第一组功能涉及到模块目录。第1功能DIRNEW是对新的目录的请求。如上所述,为了响应这个API功能,对存储器做出分配,于是请求被排入队列以便将数据流中的下一个目录模块装入,然后API功能返回。当目录已经装入后,发送一个消息给请求程序。另一个功能DIR_FREE释放当前目录所占有的存储器空间。功能DIR_SELECT表示哪一个目录模块将用于随后的API请求。功能DIR_CURRENT将处理返回到当前选择的目录。
功能DIR_SPY和DIR_STOP_SPY类似于DIR_NEW功能。响应DIR_SPYAPI请求,一个请求被排入目录模块请求队列,而不是当它被装入时进行装入目录模块和发送消息,无论何时在数据流中(目录模块未装入)检测到目录模块,该功能都发送一个消息。另外,该请求一直保留在请求队列中直到完成DIR_STOP_SPYAPI请求。当作出DIR_STOP_SPY_API请求时,针对目录窥探请求对请求队列进行搜寻,而且条目被清除。这些功能用于在数据流中窥探当前目录的任何变化。最后,API请求抽取关于当前目录的信息DIR_IDENTIFIER、DIR_REQUIREMENT和DIR_NB_MODULES。
由于在模块中嵌入CRC码,为了装入模块的任何存储器分配请求必须考虑这种码。提供三个API请求用以处理这个(码)。考虑到任何CRC或其他的存储器需求,功能MODULE_ALLOC将模块识别符作为自变量并请求分配适当数量的存储器以装入模块。功能MODULE_FREE释放模块所占有的存储器。MODULE_CHECK执行对装入的模块的CRC校验并返回该结果。由于CRC是在装入存储器时嵌入在模块中的,所以这就可以在任何时候来执行。
另外一组API请求涉及用当前选择的目录去识别模块。API请求抽取的有关的模块的信息为MODULE_REQUIREMENT、MODULE_SIZE和MODULE_FLAGS。这些能够使系统确定模块是否可能被装入和/或执行。功能MODULE_RUN用以装入可执行的模块,如上所述,产生一种新的处理,并且在模块的入口点开始执行该模块。这个功能是由系统装入程序所使用的以便启动AVI程序的执行。功能MODULE_CHAIN用以装入随后的可执行的模块、结束当前模块的执行以及在它的入口端开始执行新的模块装入。在这种情况下没有产生新的处理。功能MODULE_LOAD用以装入模块,但不开始执行。如上所述,当模块装入已经完成时,一个消息就发送给请求程序。功能MODULE_EXEC用以产生新的处理并开始执行模块,该模块由MODULE_LOADAPI请求在它的入口端先已装入。
功能MODULE_LINK使用当前的处理、资源和变量执行新的模块。它允许借用提供的动态链路将模块内的子例程之类的请求接到新的模块。这就允许AVI程序划分成为更小的模块,一旦需要,这些更小的模块可以动态地链接。功能MODULE_LINK保持再定位和转移表。功能MODULE_SPY和MODULE_STOP_SPY的工作与DIRECTORY_SPY和DIRECTORY_STOP_SPY相类似,但与所识别的模块相关。MODULEAPI请求在包含模块的识别符的请求队列中插入一条目。不论何时在数据流中检测到与标题模块相同的识别符,一个消息就发送给请求程序。这要持续到ULE_STOP_SPYAPI请求完成。响应MODULE_STOP_SPYAPI请求,包含对识别的模块作窥探请求的条目被从请求队列中被除掉。在处理中MODULE_STOP_LOAD功能停止任何当前模块装入的请求并从请求队列中除去装入请求的条目。当与数据流相关的具体的信令分组,诸如暂停数据流或结束数据流出现时,FLOW_MESSAGE和FLOW_STOP_MESSGE分别产生和除去对消息的请求。当这种事件发生时,一个消息被发送给请求程序。
如上所述,系统装入程序执行系统的初始状态的预置并监视数据流以确保应用程序的执行与接收的音频和视频成分同步。图5是表示系统装入程序的预置初始状态功能的流程图。在图5中的方框52中,解码器(17)的不同的硬件和软件成分被预置初始状态。另外,分配了RAM412中的存储单元并对不同的数据结构预置初始状态。这些初始状态的预置功能是公知的,并且依赖于解码器中的其他软件成分。系统程序员将明白,硬件和软件需要预置什么样的初始状态、需要什么样的数据结构以及如何执行预置初始状态。因此,这个方框在下面不准备详述了。
在方框54中,如上所述完成DIR_NEWAPI请求。该API请求将出现在AVI程序成分分组业务中的下个目录模块装进RAM412中的分配的缓冲器中。这个API请求立即返回到系统装入程序,甚至直到晚些时候目录才装入RAM412中。系统装入程序执行其他的功能,而且,然后如果必需,等待API请求(未示出)一直到一个消息通过事件管理器被接收到,表示目录模块已经装入。在方框56中,在解码器(图1中)中可利用的资源在目录模块中与表示需要的资源的数据作比较。如果解码器有充足的资源执行AVI程序,则作出一个MODULE_RUNAPI请求以便从如前所述地装入在先前装入的目录中识别出的自动启动代码模块。再者,API请求立即返回,但是直到在稍后一些时间,来自数据流的代码模块才被装入。在自动启动代码模块完全装入后,通过解释程序,使用执行AVI程序的多重任务核心程序以公知的方式产生另一个任务。
在方框58中,系统装入程序开始监视执行信号的AVI程序成分和目录变化,并且如下所述,通过发送消息给AVI程序来控制AVI程序的执行。图6是表示系统装入程序的监视功能以及有利于理解系统装入程序的工作的状态转变图。如果在AVI程序成分分组业务中检测到了目录,则观看者已选择了的节目是一个交互式节目。一旦目录以及由AVI成分分组业务请求的自动启动代码模块已经装入RAM412中,在系统装入程序的控制下,AVI程序进入INACTIVE状态61。在该状态61中,所有的启动的应用的资源已经分配好,而且该应用可以部分地或全部地装入,但是没有与观看者的交互作用。例如,当自动启动模块被装入时,AVI程序保持处在INACTIVE状态61。另外,甚至自动启动模块已经装入,观看者仅仅能通过传送AVI程序的通道改变频道,并且不打算与AVI程序交互作用。或者观看者在作出决定去连接交互作用前恰恰能希望观看AVI节目。在这些情况下重要的是,遥控在一般频道改变方式中起作用,在交互式方式中不起作用。这就是INACTIVE状态61的目的。为了通知观看者正在观看的频道广播的是交互式节目,具体的交互式节目(program)Logo(教学程序)和icon(肖像)迭加在AVI视频图像上。
为了使观看者实际开始与AVI程序(progarm)的交互作用,在下面的一个称之为ACTIVATEKEY的专用键提供用作遥控。当已显示了交互程序(program)Logo或icon时,观看者可以按ACTIVATEKEY键,响应按ACTIVATEKEY键,系统装入程序发送一个ACTIVATE消息给AVI程序,该程序然后进入ACTIVATE状态63。在该状态63中,解释程序实际开始执行先前在它的入口端装入的AVI程序。当AVI程序的自动启动模块开始执行时,它在RAM412中分配和预置它自己的数据结构的初始状态,装入其他的代码和/或数据模块并控制所有来自遥控器和前控制面板的用户的操作。
由于AVI程序控制所有的用户的交互作用,它可以防止用户改变频道或执行其他的通常遥控功能。为了恢复通常的遥控功能,观看者必须首先停止当前的AVI程序。观看者要再按ACTIVATEKEY键,以撤销该程序。响应这个键的按下,系统装入程序发出一个DEACTIVATE(撤销)消息给执行中的AVI程序,该程序于是离开ACTIVATE状态63,并返回到INACTIVATE状态61。再者,具体的交互程序Logo或icon显示出来,表示AVI程序已经装入,但未执行。然后,观看者可以变化频道或操作其他的通常遥控功能,或者可以再按ACTIVATEKEY键来重新开启AVI程序。ACTIVATEKEY键当它按下时,起到了ACTIVE状态63和INACTIVE状态61间的触发器或开关的作用。ACTIVATE和DEACTIVATE消息也可以被认为开启开关的(ACTIVATETOGGLE)作用。当ACTIVATEKEY键按下,它们的意思是(ACTIVATE或DEACTIVATE)依赖于AVI程序的状态。
当在ACTIVE63中执行AVI程序时,当希望暂停它的执行时要重复几次。例如,当非交互式的商业节目被发送,该发送的音频和视频将不再与由解码器10(见图1)产生的音频和视频相适应,它希望允许观看者用正常的方式使用遥控器。然而,系统程序员不能提前知道何时需要这种暂停。因此,在这种情况下,独立于AVI程序的广播台可以重复地包括在AVI程序成分分组业务中的称之为暂停信号分组的专用信号分组(如上面所述)。每个这样的分组包含涉及暂停执行当前执行的AVI程序的数据。
系统装入程序通过FLOW_MESSAGFAPI请求接收每当在AVI程序成分分组业务中识别出那个分组而发出的消息。例如,当接收到暂停的信号分组时,系统装入程序接收暂停的信号消息,并且响应第一个暂停信号消息而发出一个暂停的消息给AVI程序,AVI程序依次暂停执行而进入SUSPENDED暂停状态65。在该状态65中,执行的AVI程序是以这样的方式停止的,即它可以从它暂停的点上再次启动。这就是说,所有执行AVI程序的必要的所有的资源保持分配的状态,AVI程序的执行状态存储在RAM412中的一个存储单元。另外,表示先前执行的交互式程序暂停,而且准备当允许时再次开始的第2个Logo或icon迭加在当前的视频图象上。
当中断(即非交互式商业节目)过去后,广播台停止包含在AVI程序成分分组业务中的信号分组。在没有接收暂停信号消息的时间期间过后,系统装入程序给AVI程序发出CONTINUE(连续)的消息,该AVI程序依次从它先前暂停的状态而重新启动从而进入ACTIVE的活动状态,这正如前面所述过的一样。
如上所述的SUSPEND/CONTINUE信令方案的另一实施例,是当希望暂停执行AVI程序时,为广播台在AVI程序成分分组业务中包括单一的一个暂停的信号分组。当需要重新启动AVI程序时,广播台于是包含在AVI程序成分分组业务中的称之为继续信号分组的另一个具体的信号分组。这个分组包含涉及当前暂停的AVI程序重新启动的数据。系统装入程序识别了该继续信号分组,并发出CONTINUE(继续)的信息给AVI程序,该程序重新开始并进入ACTIVE(有效)状态63,这和以前所述相同。
还可以让观看者停止执行暂停的AVI程序。当暂停的程序的Logo或icon被显示出来,观看者按动ACTIVATEKEY键。响应这个按键,系统装入程序发出DEACTIVATE消息(停用)给暂停的AVI程序,如前面述过的一样,该AVI程序依次进入INACTIVE状态(静止)。从INACTIVE状态61,当观看者按动ACTIVTEKEY键时,程序可以仅重新开始执行,该键的按动使得系统装入程序发出一个ACTIVATE消息给AVI程序,该程序于是进入ACTIVE状态63。如果系统装入程序继续收到暂停信号分组,另一个SUSPEND消息立即发给AVI程序,该程序再次进入SUSPENDED状态(暂停)65。INACTIVE状态61、ACTIVE状态63和SUSPENDED状态65是AVI程序中的三种状态,AVI程序响应发自系统装入程序的消息来转换状态。然而还有两种别的状态,它们在系统装入程序的直接控制下可以进入。
一个AVI程序可以到达它的执行的终点。例如,广播台可以包括称之为终点执行信号分组的另一个具体的信号分组于该AVI程序成分分组业务中。当通过FLOW_MESSAGEAPI请求在AVI程序成分分组业务中识别出一个终点执行信号分组时,系统装入程序接到一个终点执行消息。响应该终点执行消息,系统装入程序发出一个EXIT(退出)的消息给AVI程序。不考虑AVI程序是处在INACTIVE61、ACTIVE63或SUSPENDED65的哪种状态,AVI程序响应EXIT消息解除它的所有资源,并且除掉在解码器10(图1中示出)的它的所有记录。这个程序被认为进入HALTED(停止)状态69,并且从解码器10处消失。在这些情况下,程序本身可以通过用户命令或依靠它自己的执行来识别它的执行是否到达了终点。当AVI程序识别出它的执行已结束,它将主动进行例如收到EXIT消息后使其进入HALTED状态69的相同的处理。
当AVI程序处在SUSPENDED状态时,在AVI程序成分数据流中接收不同的交互式AVI程序是可能的。例如AVI程序可以由于商业节目而暂停,该商业节目本身可以是交互式节目,或者用户可以将频道变到广播不同AVI节目的频道上。在这两种情况下,新的AVI程序将包括目录模块,该目录模块不同于暂停的AVI程序。
每当在AVI程序成分分组业务中检测到目录,系统装入程序通过DIR_SPYAPI请求,接收一个消息。系统装入程序将当前的有效目录与刚检测的目录相比较。当系统装入程序识别出出现在AVI程序成分分组业务中的不同的目录时,它开始装入用这些目录所表示的AVI程序。
首先,一则消息发给当前暂停的AVI程序以表示该程序成分分组业务不再广播它自己的节目,或者该节目“失去流程”(losttheflow)。这个消息是当前执行的程序最小化它自己的请求,即是MINIMIZE消息。为了响应该MINIMIZE消息,当前暂停的AVI程序首先将其当前的执行状态和环境存储在RAM412的一个小存储块之中;RAM412包含AVI程序的识别以及下面要描述的时间的持续。然后暂停的AVI程序开始解除它的资源。最小化AVI程序不包括任何代码,因此,不能响应消息改变状态或重新启动自己。
系统装入程序然后装入新检测的目录和自动启动模块,并且将新的AVI程序放入前面已述过的显示交互式程序Logo或icon的INACTINE状态61。观看者于是可以通过按ACTIVATEKEY键来开始和结束与新的AVI程序的交互作用。而且该程序本身可能被暂停和继续。
该最小化处理是循环处理。例如,这个新AVI程序,如果暂停,如果在AVI程序成分分组业务中检测到另外一个AVI程序,也可以被最小化。在这种情况下,存储器的另一存储块被分配,于是AVI程序的执行状态和环境,根据它的识别符和持续时间存储在这个存储块中。可以同时被最小化的程序的数目仅受到所需存储包括最小化程序的执行状态和环境的所有存储块数量的限制。
如果没有足够的可用的存储空间用以装入新的目录模块,或者执行由先前装入的目录模块所代表的程序,而且如果有表示最小化的程序已分配了的存储器块,系统装入程序可以自动地根据算法重新分配某些或全部的存储器块(例如首先重新分配最早的存储器块,或者首先重新分配标为由最初的应用可扩展的存储器块)以试图派生充分的存储空间。另外,系统装入程序可为观看者表现出最小化应用的列表,以允许观看者选择某些或删除所有的。代表选择的最小化应用的存储块于是被重新分配以导出充分的存储空间。
这时,包含先前最小化AVI程序的执行状态和环境的存储块保持分配在存储器中。如前所述,在每个存储块中有一个持续时间。如在任何块中持续时间超过了,于是先前的最小化AVI程序重复进行。在这种情况下,程序被认作已进入停止状态69,它的包含执行状态和环境的存储块被重新分配,先前的最小化AVI程序的所有记录失掉了。
然而,可以让解码器10再次接收包含先前的最小化的AVI程序的目录、代码和数据模块的AVI程序成分,或让AVI程序回到该流程(regaintheflow)。例如交互式的商业节目可能已经结束,进入HALTED停止状态69,或者观看者可以改变该频道返回到这个频道。系统装入程序开始装入AVI程序成分分组业务中的“新”的目录。每当新的目录装入,应用识别符与包含当前存储在RAM412中的状态和环境的所有存储块的识别符相比较。如果相符合的块找到了,于是代码和数据模块被装入,AVI程序处在INACTIVE状态61,但是它的执行状态在它刚被最小化前被刷新。当观看者按动ACTIVATEKEY键时,AVI程序进入ACTIVE状态63,并且在先前停止处开始执行该程序。用这种方式程序可以暂时停止以进行其他的AVI程序,然而不需同时将二个程序所需的充分资源保留在存储器中,而重新开始程序。
权利要求
1.在接收包含多个模块的分组业务的音频视频交互式(AVI)接收机中,每个模块具有名字并包含时分复用的传输单元,每个传输单元包括含有模块名字的标题分组,处理模块的一种方法其特征在于如下步骤接收请求以便执行处理由名字识别的模块,并且将包含接收的名字和请求的处理的一个条目插入条目的列表之中;检测在分组业务中的标题分组;确定在检测的标题分组中的名字与列表中的一个条目的名字相符与否;如果有一个相符的条目,执行相符条目的处理;和发出一条表示处理已经执行的消息。
2.根据权利要求1的方法,其特征是该接收步骤包括接收处理完全的模块的请求的步骤;和发送步骤包括当完全的模块已经处理,从条目列表中除去相符的条目的步骤。
3.根据权利要求1的方法,其特征在于接收请求以便停止执行处理用名字识别的模块以及从条目列表中除去包含接收的名字的条目和请求的处理的步骤。
4.根据权利要求1的方法,其特征在于每个传输单元还包括与每个标题分组相关的多个数据分组;接收的步骤包括接收请求以便通过将模块装入存储器而处理模块;和分配存储器中的缓冲器以容纳模块;和执行步骤包括在分配的缓冲器中相应的存储单元存储与检测的标题分组相关的每一个数据分组;和当在模块中的每个传输单元中的每个数据分组已经存储在分配的缓冲器中时,除去在条目列表中的相符的条目。
5.根据权利要求4的方法,其特征在于与传输单元中的每个标题分组相关的多个数据分组包含位于从模块的开始处分别偏移位置的模块中的数据;标题分组还包括在相关的多个数据分组中的数据的偏移位置;和存储在偏移位置等于标题分组中的偏移位置的分配的缓冲器中的多个相关的数据分组的存储步骤。
6.根据权利要求5的方法,其特征在于该分组业务连续地和重复地提供由相继的时分复用的传输单元载送的模块,该传输单元包含位于从模块的开始顺序偏移位置的模块数据;该检测步骤还包括将写指针设置为在检测的标题分组中偏移位置的步骤;该执行步骤还包括在装入模块的请求已经接收到以后存储在第1个检测的标题分组中的偏移位置作为开始装入位置的步骤;和存储步骤还包括如下步骤在由写指针指示的位置存储与检测的标题分组相关的每个数据分组;在数据分组已经存储完以后刷新指向在分配的缓冲器中下一个顺序的存储单元的写指针;然后将写指针与存储的开始装入的存储单元相比较,并且当它们相等时执行所述清除的步骤。
7.根据权利要求6的方法,其特征在于在设定步骤以前,检测步骤还包括如下的步骤将写指针与在检测的标题分组中的偏移存储单元相比较;和如果它们不相等,用检测的标题分组中的偏移位置代替开始装入的存储单元。
8.根据权利要求4的方法,其特征在于每个模块还包括一个嵌入的差错检测代码;将嵌入的差错检测代码存储在分配的缓冲器中的存储步骤;和发送步骤还包括如下步骤校验在分配的缓冲器中的数据以使用嵌入的差错检测代码检测差错;如果在校验步骤中检测到差错就发送出一个差错信号;和否则发出一条模块已装入的消息。
9.根据权利要求8的方法,其特征在于所述嵌入的差错检测码是一种嵌入的循环冗余校验(CRC)码;和所述校验步骤计算在分配的缓冲器中的数据的CRC值,将计算的CRC值与嵌入的CRC代码相比较以及如果它们是不同的则检测到一个差错。
10.根据权利要求4的方法,其特征在于每个传输单元还包含多个数据分组;所述接收步骤包括存储与检测的标题分组有关的每个数据分组;确定存储的传输单元的所有数据分组是否无差错;和如果传输单元的所有数据分组不是没有差错就放弃整个的传输单元。
11.根据权利要求1的方法,其特征在于所述接收步骤包括接收对分组业务中的模块进行窥探的请求的步骤;和执行步骤包括每当有一个相符的条目就发出一个消息的步骤。
12.一种音频视频交互式(AVI)接收机,其特征在于包含多个模块的分组数据流的信号源(10),每个模块有名字并包含时分复用的传输单元,每个传输单元包括含有模块名字的标题分组;用以存储包含多个条目的请求队列的存储器(412),每个条目包含处理请求和模块的名字,并且标题分组缓冲器包括含有模块名字的存储单元;连接到存储器上的请求处理电路(410)用以接收对用名字识别的模块执行处理的请求,以及在包含识别的模块的名字和请求的处理的请求队列中存储一个条目;连接在数据流源和存储器间的标题分组存储器存储控制器(408)用以存储出现在数据流中的在标题分组中的标题分组,并产生标题分组接收的信号;和响应标题分组接收的信号的模块处理电路(30)用以从标题分组缓冲器中读出模块的名字,把该模块的名字与请求缓冲器中的每个条目中的模块名字相比较,执行在相符的请求队列条目中的请求的处理,然后发出一条消息。
13.根据权利要求12的接收机,其特征在于模块处理电路包括一个处理器,而且标题分组接收的信号是处理器的一个中断信号。
14.根据权利要求12的接收机,其特征在于标题分组存储器存储控制器是一个直接的存储器存取(DMA)控制器。
15.根据权利要求12的接收机,其特征在于所述请求处理电路接收对完全的模块执行处理的请求;和在对完全的模块请求的处理执行完后模块处理电路清除所述请求队列的条目。
16.根据权利要求15的接收机,其特征是存储器还存储一个模块缓冲器;数据流源产生传输单元,每一个单元还包含多个与包含在传输单元中的标题分组有关的数据分组;所述接收机在包含连接在数据流源和存储器间的模块存储器存储控制器用以有选择地存储来自于模块缓冲器中的传输单元的多个数据分组,一旦它们出现在数据流中就有选择地存储多个数据分组,然后响应启动信号产生数据完全信号;请求处理电路接收装入由名字识别的完全的模块的处理请求,并且存储在包含识别的名字和装入请求的请求队列中的一个条目;和如果模块名字与一条目名字相符,以及完全的模块装入模块的缓冲器以后,对应除去请求队列条目的数据完全信号,模块处理电路产生启动信号。
17.根据权利要求16的接收机,其特征在于数据流源产生包含嵌入差错检测码的各个模块;和在使用嵌入的差错检测码将完全的模块装入模块缓冲器以后,模块处理电路对在模块缓冲器中的数据进行差错校验,而且如果检测到差错就发出一条差错消息,否则就发出模块已装入的消息。
18.根据权利要求17的接收机,其特征在于嵌入的差错检测码是一种循环冗余校验(CRC)码,并且模块处理电路计算该模块缓冲器中的数据的CRC值;并且将计算的CRC值与嵌入的CRC代码相比较,以及如果它们不同则检测到一个差错。
19.根据权利要求16的接收机,其特征在于数据流源产生包含来自模块的开始处的位于顺序的偏移位置的模块数据的相继的传输单元,还产生进而包含在相关数据分组中偏移位置的标题分组;在存储器中的标题分组缓冲器还包括含有偏移位置的存储单元;模块处理电路从标题分组缓冲器中抽取偏移位置,并将其提供给模块存储器存储控制器;和模块存储器存储控制器用来自模块处理电路的偏移位置预置写指针的初始状态,将每个数据分组装入由写指针指出的模块缓冲器中的存储单元,然后刷新指向模块缓冲器中下一个顺序存储单元的写指针,直到在传输单元中所有的数据分组已经被装入,然后产生数据完全信号。
20.根据权利要求19的接收机,其特征在于数据流源连续地重复地产生模块;存储器还包含开始装入地址位置;和在使第一个相符的标题分组装入并保存在开始装入地址位置中的偏移位置以后,模块处理电路从标题分组缓冲器中抽取偏移位置,并且响应来自模块存储器存储控制器的数据完全信号,将来自模块存储器存储控制器的写指针与开始装入地址位置相比较,并且如果它们相同就发出一条消息。
21.根据权利要求20的接收机,其特征在于模块处理电路响应标题分组接收信号将偏移位置与写指针相比较,且如果它们不相同,用偏移位置代替开始地址位置。
22.根据权利要求16的接收机,其特征在于模块处理电路包含处理器,而且数据完全信号是处理器的中断信号。
23.根据权利要求16的接收机,其特征在于模块存储器存储控制器是一个直接存取(DMA)控制器。
24.根据权利要求12的接收机,其特征是请求处理电路还接收停止处理由名字识别的模块的请求,和在包括有识别的模块的名字和请求停止的处理的请求队列中清除所述条目。
25.根据权利要求12的接收机,其特征在于标题分组存储器存储控制器响应一启动信号有选择地储存标题分组;在一个条目存储在请求队列中以后请求处理电路产生启动信号;和在处理已经完成以后,如果在请求队列中没有条目时,模块处理电路再除去启动信号。
全文摘要
一种装置包括含有多个模块的分组数据流的信号源、存储包含多个条目的请求队列的存储器、接收请求以执行对由名字识别的模块的处理和在包括识别的模块的名字和请求的处理的请求队列中存储一个条目的请求处理电路、当标题分组出现在数据流中时在标题分组缓冲器中存储标题分组并产生标题分组接收信号的标题分组存储器存储控制器以及模块处理电路。响应标题分组接收信号,读模块名字并与请求缓冲器条目中的名字作比较,若相同,则执行所请求的处理。
文档编号H04N7/173GK1112334SQ9510473
公开日1995年11月22日 申请日期1995年4月27日 优先权日1994年4月28日
发明者J·-R·曼南德, A·德尔普希 申请人:汤姆森消费电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1