动画专家群层与伺服层之间的软件通讯的制作方法

文档序号:6637150阅读:173来源:国知局
专利名称:动画专家群层与伺服层之间的软件通讯的制作方法
技术领域
本发明涉及一种软件通讯,尤其是一种介于动画专家群层与伺服层之间的软件通讯。
背景技术
今日,不同形式的光盘储存了大量的动画,如激光视盘(VCD,VideoCompact Disc)与数字视讯光盘(DVD,Digital Versatile Disc)等。传统的多媒体光盘播放过程牵涉两个主要步骤,首先是自光盘中读取数据,接着对此数据进行译码。读取数据的部分通常是由一伺服芯片所控制,于数据读出后,同时运用一译码芯片进行运算而产生声音与影像的输出。
请参考图1所示,其是为一传统播放架构100之一方块示意图。此播放架构100包含众所周知之一先进科技接取(ATA,Advanced TechnologyAttachment)总线110、连接至此先进科技接取总线110之一伺服芯片120与一动画专家群(MPEG,Motion Picture Expert Group)译码芯片130。作为一光盘读取器140的控制者,伺服芯片120根据所接收的先进科技接取程序接口格式(ATAPI)的命令,并以光盘上的数据作为响应。直接附接于此伺服芯片120之一伺服缓冲区125是作为此光盘之一数据缓冲区。于此播放架构100下,动画专家群译码芯片130亦连接至此先进科技接取总线110。同样地,直接附接于此动画专家群译码芯片130之一动画专家群缓冲区135亦作为一数据缓冲区。
请参考图2所示,其是为根据图1的架构100之一范例流程图。于步骤210中,此动画专家群译码芯片130透过先进科技接取总线110发出一数据要求命令至伺服芯片120。接着,于步骤220,此伺服芯片120即命令光盘读取器140读取所需的数据。自此光盘上读取的数据于步骤230时被存放于伺服缓冲区125中。然后于步骤240中,所要求的数据是透过先进科技接取总线110被复制至动画专家群缓冲区135中。最后,此动画专家群译码芯片130于步骤250对位于动画专家群缓冲区135中的数据进行译码,并且产生影音输出。
于大多数的情况下,因为会有其它装置分享先进科技接取总线110,故数据区块的传递可能因抢用资源之故而被延迟。此外,因数据区块于同一时间内存在于两个不同地方,例如分别位于伺服缓冲区125与动画专家群缓冲区135中,使得复制数据的过程浪费时间与内存空间。再者,由于先进科技接取总线110的传输率是与伺服缓冲区125和动画专家群缓冲区135不同,故于实作中可能更需加入额外的先进先出(FIFO,First-InFirst-Out)队列电路。
再者,若伺服缓冲区125的大小与所要求的数据区块相等,此伺服芯片120必需于读取数据前先等待前一笔数据复制完毕。据此,即代表读取数据与复制数据不能同时进行,换言之,整个流程无法被管线化(pipelined)。所以当发生读取错误或此先进科技接取总线110忙碌时,此光盘播放程序将会停滞一段期间。
综上所述,亟需一种软件通讯架构解决上述问题以增进光盘播放产业的竞争力。

发明内容
鉴于上述的发明背景,为了符合产业上的需求,本发明目的是提供一种动画专家群层与伺服层之间的软件通讯,用以解决上述传统播放架构未能达成的标的。
本发明较佳实施例是提供一种多层(multiple-tier)架构,其中包含一动画专家群应用程序、复数个信息队列与一伺服软件。由此伺服软件所控制之一光盘读取器是用以读取光盘所载信息,上述的伺服软件与动画专家群应用程序共享至少一数据缓冲区,以作为读出数据之一内存空间。于本发明较佳实施例中,动画专家群应用程序是透过复数个信息队列的桥接,用以接收由伺服软件而来的信息并进行播放。
在本发明较佳实施例中,当需要光盘所载信息时,上述动画专家群应用程序发出一数据要求信息至此复数个信息队列之一。接着,此信息队列进行排序,并且为此伺服软件依序接收。依据此数据要求信息的指示,上述的伺服软件控制此光盘读取器以读取光盘所载信息,并且将其储存于上述的数据缓冲区。于此伺服软件发出一响应信息至另一信息队列后,此响应信息亦经过排序后由动画专家群应用程序所接收。此动画专家群应用程序于解译此响应信息后,可于上述的数据缓冲区中获得所需的数据。
本发明另一较佳实施例是提供一种多层(multiple-tier)架构,其中包含一应用程序层、一中介层与一伺服层。于应用程序层中,包含一加载管理者以至少替一显示引擎与一档案系统发出数据要求命令信息。上述的中介层包含至少一命令队列与一完成队列等两个信息队列,此命令队列与完成队列可为简单的先进先出队列,或可为某种形式的优先队列。由此伺服层所包含之一伺服软件是用以控制一光盘读取器以读取光盘所载信息。上述的伺服层与应用程序层共享至少一数据缓冲区以作为读出数据之一内存空间。上述的复数个信息队列则作为上述的应用程序层与伺服层的桥接通讯。
于上述的本发明另一较佳实施例中,当需要光盘所载信息时,上述的显示引擎或档案系统将首先通知此加载管理者。据此,这些资料要求将由此加载管理者先进行处理、标示优先级与排程。接着,此加载管理者将会发出一命令信息至上述中介层的命令队列。于其后的步骤中,此命令信息将会配送至上述伺服软件。依据此命令信息的指示,伺服软件将控制此光盘读取器读取光盘所载信息,并且将其储存于上述的数据缓冲区。接着,伺服软件发出一完成信息至上述完成队列,以表示光盘所载数据已经被读出并且存入数据缓冲区。此完成信息将由此加载管理者先接收,进而配送至此相关资料要求的来源。一旦显示引擎或档案系统接收此完成信息后,即可于数据缓冲区中获得所需的数据。
本发明利用多任务或软件层同时共享的至少一数据缓冲区,以节省于先前技术中复制数据所消耗的时间与内存空间。此外,本发明亦利用一信息队列中介层作为应用程序层与伺服层之间的通讯桥接方式。由于信息队列中介层可充任管线作业(pipeline)的角色,令前后两端的应用程序层与伺服层可同时提出数据要求信息与其相对应的响应信息。而由于数据缓冲区的大小可超过数据要求信息所要求的数据量,故数据缓冲区可划分内存空间以同时容纳多笔光盘数据;当然,本发明亦可以具有复数个资料缓冲区,用以同时分别储存多笔光盘数据。据此,本发明所提供的软件架构可增进整体数据传输的效率。另外,除了信息队列中介层之外,应用程序层与伺服层亦可以管线作业方式处理。再者,由于本发明若实作于具有多执行绪的操作系统中,则各层亦可以多执行绪的方式达成平行处理数据的效果。例如,动画专家群层可同时发出数据要求信息、提取响应信息以及自数据缓冲区中获得所需的数据。据此,于某一时刻下,动画专家群层与伺服层均处于忙碌状态中,而不像先前技术的伺服芯片与动画专家群译码芯片需等待对方完成动作而闲置。最后,本发明所提供的架构相当适合作为一整合式的多媒体播放芯片系统。


图1是为一传统播放架构之一方块示意图;图2是为根据图1的架构之一范例流程示意图;图3是为根据本发明一实施例之一软件架构之一方块示意图;图4是为图3的实施例之一流程示意图;图5是为根据本发明另一实施例之一软件架构之一方块示意图;图6是为图5的软件架构之一流程示意图;以及图7是为根据本发明另一实施例之一软件架构之一方块示意图。
主要组件符号说明

100传统播放架构110先进科技接取总线120伺服芯片125伺服缓冲区130动画专家群译码芯片135动画专家群缓冲区140光盘读取器210~250传统播放流程300软件架构310动画专家群应用程序320复数个信息队列330伺服软件340光盘读取器350数据缓冲区410~480本发明一实施例的流程500软件架构510加载管理者512显示引擎514档案系统520命令队列525完成队列530伺服软件540光盘读取器550数据缓冲区604~640本发明的另一实施例的流程700软件架构710动画专家群应用程序720复数对信息队列
721命令队列722完成队列730伺服软件740光盘读取器750复数个数据缓冲区具体实施方式
本发明在此所探讨的方向为一种介于动画专家群层与伺服层之间的软件通讯。为了能彻底地了解本发明,将在下列的描述中提出详尽的步骤及其组成。显然地,本发明的施行并未限定于软件通讯的技艺者所熟习的特殊细节。本发明的较佳实施例会详细描述如下,然而除了这些详细描述之外,本发明还可以广泛地施行在其它的实施例中,且本发明的范围不受限定,以的后的专利范围为准。
请参考图3所示,其是为根据本发明一实施例之一软件架构300之一方块示意图。此软件架构300是为一多层(multiple-tier)架构,其中包含一动画专家群层、一中介层与一伺服层,于此软件架构300中,至少包含属于动画专家群层之一动画专家群应用程序310。此动画专家群应用程序310可为一电影播放程序,或可为一软件管理者,其可同时处理来自不同软件间的多个动画专家群数据需求。
如图3所示,中介层包含复数个信息队列320以接收来自动画专家群层与伺服层的信息。同样地,动画专家群层与伺服层亦可取得此复数个信息队列320的信息。此外,复数个信息队列320可为简单的先进先出队列,或可为某种形式的优先队列(priority queue)。当为简单的先进先出队列时,于队列中的信息是以其接收时间作为优先排序的依据;当为某一形式的优先队列时,信息的优先级可于信息内部标示。于此实施例中,复数个信息队列320可为动画专家群层、伺服层或其它软件所订阅(subscribed)。当接收信息后,此信息队列320将会通知其订阅者。因为信息队列软件已广为计算机科学界所习知,故不再讨论那些可应用于本发明的相关信息软件。
如图3所示,伺服层包含至少一伺服软件330,其控制至少一光盘读取器340,通过由此光盘读取器340,伺服软件330可读取光盘所载信息。伺服软件330与动画专家群应用程序310共享至少一数据缓冲区350的内存空间。此外,复数个信息队列320亦可分享此数据缓冲区350作为信息的储存区。于本发明中,数据缓冲区350的实际组成可为一连续的内存区块,或可为不连续的内存区块而以逻辑上的串联形成。事实上,仅需上述的伺服软件330、动画专家群应用程序310与复数个信息队列320可存取此数据缓冲区350的内容即可,本发明并不限定数据缓冲区350的个数。
于本实施例之一范例中,此软件架构300可实作于一多任务实时操作系统中,于此种操作系统中,每一层可实作为可同时执行的至少一工作(task)或一工作群组。于本实施例的另一范例中,此软件架构300可实作于一个具有多执行绪的操作系统中,每一层可实作为可同时执行的至少一执行绪或一执行绪群组。
请参考图4所示,其是为图3实施例的流程示意图。首先,于步骤410时,由动画专家群应用程序310发出之一数据要求信息送往此复数个信息队列320之一。于步骤420,接到此数据要求信息后,此信息队列320将根据此信息的接收时间或其标示的优先度进行排序,亦即其排序的方式将视此信息队列320的形式而订。接着于步骤430,此数据要求信息将为信息订阅者提取,亦即为伺服软件330所提取。同样地,无论此信息队列320是使用提取(polling)或推送(pushing)机制实作,皆可适用于本发明。于接获此数据要求信息后,伺服软件330将于步骤440中,依据此数据要求信息的指示读取光盘所载信息,并且将其储存于数据缓冲区350中。再者,此数据要求信息可包含于数据缓冲区350中预先配置好的空间信息、光盘上的相关区块、读取的重试次数以及其它关于步骤440中有用的参数值。换言之,本发明并不限制此数据要求信息的内容。
如图4所示,于读取和储存数据后,伺服软件330将于步骤450中发出一响应信息至此复数个信息队列320之一。如同上述的数据要求信息,本发明不限制此响应信息的内容,其可包含所读取数据于数据缓冲区350的储存位置、读取数据的长度或任何对动画专家群应用程序310有帮助的其它参数。接着,于步骤460中,此响应信息亦由信息队列320根据其接收时间或优先度标示进行排序。于其后的步骤470中,动画专家群应用程序310由此信息队列320提取此响应信息。最后,此动画专家群应用程序310于解译此响应信息后,可于数据缓冲区350中获得所需的数据。
于本发明较佳实施例中,由于复数个信息队列320可充任管线作业(pipeline)的角色,令前后两端的动画专家群层与伺服层可同时提出数据要求信息与其相对应的响应信息;再者,由于数据缓冲区350的大小可超过数据要求信息所要求的数据量,故数据缓冲区350可同时容纳多笔光盘数据;当然,本发明亦可以具有复数个资料缓冲区,用以同时分别储存多笔光盘数据。因此,本发明所提供的软件架构300可透过管线作业的方式来达成平行处理数据的效果,进而增进整体数据传输的效率。由于本发明若实作于具有多执行绪的操作系统中,则各层亦可以多执行绪的方式达成平行处理数据的效果。例如,动画专家群层可同时发出数据要求信息、提取响应信息以及自数据缓冲区350中获得所需的数据。据此,于某一时刻下,动画专家群层与伺服层均处于工作状态中,而不像先前技术的伺服芯片120与动画专家群译码芯片130需等待对方完成动作而闲置。
请参考图5所示,其是为根据本发明另一实施例之一软件架构500的方块示意图。如同图3的实施例,此软件架构500亦包含一应用程序层、一中介层与一伺服层。于此实施例中,应用程序层包含一加载管理者510、一显示引擎512与一档案系统514,其中,显示引擎512是为显示光盘所载多媒体内容之一多媒体播放程序。为显示光盘所载的多媒体内容,显示引擎512可包含动画专家群与/或其它压缩与解压缩功能,档案系统514亦可用于处理光盘所载的某些信息。除却显示引擎512与档案系统514外,其它应用程序可能亦需要光盘所载的信息,加载管理者510是提供一软件网关以管理所有对光盘信息的要求,由显示引擎512与档案系统514所发出的需求,会经过此加载管理者510进行排序、包装与排程。
如图5所示,中介层包含复数个信息队列以接收来自应用程序层与伺服层的信息。同样地,应用程序层与伺服层亦可取得此复数个信息队列的信息。于此实施例中,中介层包含一命令队列520与一完成队列525,此命令队列520与完成队列525可为简单的先进先出队列,或可为某种形式的优先队列(priority queue)。因为上述的信息队列软件已广为计算机科学界的现有技术,故不再讨论那些可应用于本发明的相关信息软件。
如图5所示,上述的伺服层包含至少一伺服软件530,其控制至少一光盘读取器540,通过由此光盘读取器540,伺服软件530可读取光盘所载信息。伺服软件530与显示引擎512和档案系统514共享一数据缓冲区550的内存空间。此外,复数个信息队列520与525亦可分享此数据缓冲区550作为信息的储存区。
于本实施例之一范例中,此软件架构500可实作于一多任务实时操作系统中,于此种操作系统中,每一层可实作为可同时执行的至少一工作或一工作群组。于本实施例的另一范例中,此软件架构500可实作于一个具有多执行绪的操作系统中,每一层可实作为同时执行的至少一执行绪或一执行绪群组。
请参考图6所示,其是为图5软件架构500的一流程示意图。首先于步骤604,此加载管理者510由显示引擎512或档案系统514接收一数据要求,于此步骤中,上述的加载管理者510可对此数据要求进行优先度排序、排程、转换与/或任何计算,以于次一步骤608中发出一命令信息。接着,于步骤608中,由加载管理者510发出之一命令信息送入命令队列520。于步骤612中,命令队列520中的所有命令信息将根据其接收时间或其它优先度排序的方式进行排序。伺服软件530将于步骤616接收此命令信息。根据此命令信息的指示,于步骤620时,伺服软件530读取光盘所载信息,并且将其储放于上述数据缓冲区550的某处。其中,命令信息可包含此数据缓冲区550的预先配置空间的指针、光盘的区块、读取的重试次数或任何可帮助后续步骤640的其它参数。换言之,本发明无意限定此命令信息的内容。
如图6所示,于读取数据和储存后,伺服软件530将于步骤624发出一完成信息至上述完成队列525,同样的,本发明无意限定此完成信息的内容,其可能包含此数据缓冲区550的储存空间、读取信息的长度或其它可帮助上述显示引擎512或档案系统514接收数据的参数。接着进行步骤628,完成队列525将根据其接收时间或其它优先度排序的方式进行排序。随后进行步骤632,此载入管理者510由完成队列525中取得此完成信息。于步骤636中,此载入管理者510必需将此完成信息传送至发出命令信息的来源。换言之,此完成信息将传送至显示引擎512或档案系统514。最后,步骤640中,显示引擎512或档案系统514解译此完成信息后,即可自此数据缓冲区550取得所要求的数据。
于本发明中,由于命令队列520与完成队列525可充任管线作业(pipeline)的角色,令前后两端的加载管理者510与伺服层可同时提出数据要求信息与其相对应的响应信息;再者,由于数据缓冲区550的大小可超过数据要求信息所要求的数据量,故数据缓冲区550可同时容纳多笔光盘数据;当然,本发明亦可以具有复数个资料缓冲区,用以同时分别储存多笔光盘数据。因此,本发明所提供的软件架构500可增进整体数据传输的效率。再者,由于本发明若实作于具有多执行绪的操作系统中,则各层亦可以多执行绪的方式达成平行处理数据的效果。例如,动画专家群层可同时发出数据要求信息、提取响应信息以及自数据缓冲区550中获得所需的数据。据此,于某一时刻下,动画专家群层与伺服层均处于工作状态中,而不像先前技术的伺服芯片120与动画专家群译码芯片130需等待对方完成动作而闲置。
请参考图7所示,其是为根据本发明另一实施例之一软件架构700之一方块示意图。此软件架构700类似图3标出的软件架构300,其中包含一动画专家群层、一中介层与一伺服层。于此软件架构700,包含属于动画专家群层的至少一动画专家群应用程序710;其中介层包含复数对信息队列720以接收来自动画专家群层与伺服层的信息,每对信息队列720包含一命令队列721与一完成队列722;其伺服层包含至少一伺服软件730,其控制至少一光盘读取器740,通过由此光盘读取器740,伺服软件730可读取光盘所载信息。伺服软件730与动画专家群应用程序710共享复数个数据缓冲区750的内存空间。此外,复数对信息队列720亦可分享此复数个数据缓冲区750作为信息的储存区。
于本实施例之一范例中,此复数对信息队列720与上述的复数个数据缓冲区750具有一对应关系;亦即每一对命令队列721与完成队列722对应至复数个数据缓冲区750其中之一个数据缓冲区750。
此外,于本实施例之一范例中,此软件架构700可实作于一多任务实时操作系统中,于此种操作系统中,每一层可实作为可同时执行的至少一工作或一工作群组。于本实施例的另一范例中,此软件架构700可实作于一个具有多执行绪的操作系统中,每一层可实作为同时执行的至少一执行绪或一执行绪群组。
于某一时刻下,此动画专家群应用程序710送出复数个数据要求信息至复数对信息队列720的复数个命令队列721。于此同时,伺服软件730同时自复数个命令队列721接收先前由动画专家群应用程序710所送出的复数个数据要求信息,并且自光盘读取器740读取所要求的复数笔信息,接着将此复数笔信息存入与上述复数个命令队列721相对应的复数个缓冲区750,最后再送出包含对应至复数个数据要求信息的复数个响应信息至该复数对信息队列720的该复数个完成队列722。而此动画专家群应用程序710于送出复数个数据要求信息的同时接收复数个响应信息,并因应该复数个响应信息读取该复数个数据要求信息所要求的该复数笔信息。
上述仅为本发明的较佳实施例而已,并非用以限定本发明的申请专利范围;凡其它未脱离本发明所揭示的精神下所完成的等效改变或修饰,均应包含在下述申请专利范围内。
权利要求
1.一种应用于多媒体光盘播放系统的动画专家群伺服系统,其特征在于,包含复数个信息队列,其中更包含一第一队列与一第二队列;一动画专家群模块,用以送出一数据要求信息至该第一队列并且自该第二队列接收相对于该数据要求信息之一响应信息;以及一伺服模块,用以自该第一队列接收该数据要求信息,并自该伺服模块所控制之一光盘读取器所负载之一光盘读取该数据要求信息所要求之一要求信息,以及送出对应该数据要求信息的该响应信息至该第二队列。
2.如权利要求1的动画专家群伺服系统,其特征在于,更包含可由该伺服模块与该动画专家群模块所共同存取之一数据缓冲区。
3.如权利要求2的动画专家群伺服系统,其特征在于,所述该伺服模块是将所读取的该要求信息储放于该数据缓冲区,该动画专家群模块是因应于该响应信息以于该数据缓冲区读取该要求信息。
4.如权利要求2的动画专家群伺服系统,其特征在于,所述该复数个信息队列、该动画专家群模块、该伺服模块是分别由可同时执行的执行绪所构筑。
5.一种应用于多媒体光盘播放系统的数据通讯系统,其特征在于,所述该数据通讯系统包含一命令队列;一完成队列;一加载管理者,用以自一要求模块接收一数据要求信息、根据该数据要求信息送出一命令信息至该命令队列以及自该完成队列提取相对应于该命令信息之一完成信息;一伺服模块,用以自该命令队列接收该命令信息、自该伺服模块控制之一光盘读取器所负载之一光盘读取该命令信息所要求之一要求信息,与送出包含对应该命令信息的该完成信息至该完成队列;以及一数据缓冲区,用以储存该伺服模块所读取的复数笔该要求信息,以及该加载管理者因应该完成信息可由该数据缓冲区读取该复数笔要求信息。
6.如权利要求5的数据通讯系统,其特征在于,所述该要求模块包含选自下列群组的集合管理该光盘的档案数据之一档案系统;以及显示该光盘所载的动画专家群数据之一显示引擎。
7.如权利要求5的数据通讯系统,其特征在于,所述该伺服模块与该要求模块可共同存取该数据缓冲区。
8.一种应用于多媒体光盘播放系统的动画专家群与伺服装置之间的数据通讯方法,其特征在于,所述该数据通讯方法包含提供复数对信息队列,其中每一该复数对信息队列皆包含一命令队列与一完成队列;一动画专家群模块送出复数个数据要求信息至该复数对信息队列的该复数个命令队列;一伺服模块自该复数个命令队列接收该复数个数据要求信息、用以自一光盘读取器所负载之一光盘读取该复数个数据要求信息所要求的复数笔信息,并且送出对应该复数个数据要求信息的复数个响应信息至该复数对信息队列的该复数个完成队列;以及该动画专家群模块于送出另外复数个数据要求信息的同时,接收该复数个响应信息,并因应该复数个响应信息读取该复数个数据要求信息所要求的该复数笔信息。
9.如权利要求8的数据通讯方法,其特征在于,所述该动画专家群模块与该伺服模块是分别由可同时执行的执行绪所构筑。
10.如权利要求8的数据通讯方法,其特征在于,更包含该伺服模块将该复数个数据要求信息所要求的该复数笔信息储放于复数个数据缓冲区的步骤,其中该复数个数据缓冲区可由该伺服模块与该动画专家群模块所共同存取。
全文摘要
本发明是提供一种多层(multiple-tier)架构,包含一动画专家群应用程序、复数个信息队列与一伺服软件。伺服软件控制一光盘读取器用以读取光盘所载信息,且伺服软件与动画专家群应用程序共享至少一数据缓冲区以作为读出数据之一内存空间。于本发明较佳实施例中,动画专家群应用程序是透过复数个信息队列的桥接,用以接收由伺服软件而来的信息并进行播放。
文档编号G06F12/00GK1749979SQ20051009150
公开日2006年3月22日 申请日期2005年8月18日 优先权日2004年8月18日
发明者李鸿佳, 简国栋, 沈志承, 黄振铭, 巫震伟, 王祥安 申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1