CN100378695C - Animation expert group servo system, data communication system and method between animation expert group and servo device - Google Patents
Animation expert group servo system, data communication system and method between animation expert group and servo device Download PDFInfo
- Publication number
- CN100378695C CN100378695C CNB2005100915016A CN200510091501A CN100378695C CN 100378695 C CN100378695 C CN 100378695C CN B2005100915016 A CNB2005100915016 A CN B2005100915016A CN 200510091501 A CN200510091501 A CN 200510091501A CN 100378695 C CN100378695 C CN 100378695C
- Authority
- CN
- China
- Prior art keywords
- data
- information
- expert group
- servo
- animation expert
- 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 - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/84—Television signal recording using optical recording
- H04N5/85—Television signal recording using optical recording on discs or drums
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
- G11B2020/1062—Data buffering arrangements, e.g. recording or playback buffers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
- G11B2020/1062—Data buffering arrangements, e.g. recording or playback buffers
- G11B2020/10629—Data buffering arrangements, e.g. recording or playback buffers the buffer having a specific structure
- G11B2020/10638—First-in-first-out memories [FIFO] buffers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
- G11B2020/1062—Data buffering arrangements, e.g. recording or playback buffers
- G11B2020/10675—Data buffering arrangements, e.g. recording or playback buffers aspects of buffer control
- G11B2020/10694—Data buffering arrangements, e.g. recording or playback buffers aspects of buffer control output interface, i.e. the way data leave the buffer, e.g. by adjusting the clock rate
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
- G11B2220/25—Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
- G11B2220/2537—Optical discs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/80—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N9/804—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
- H04N9/8042—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明是提供一种多层(multiple-tier)架构,包含一动画专家群应用程序、多个信息队列与一伺服软件。伺服软件控制一光盘读取器用以读取光盘所载信息,且伺服软件与动画专家群应用程序共享至少一数据缓冲区以作为读出数据之一内存空间。于本发明较佳实施例中,动画专家群应用程序是透过多个信息队列的桥接,用以接收由伺服软件而来的信息并进行播放。
The present invention provides a multiple-tier architecture, including an animation expert group application program, multiple message queues and a servo software. The servo software controls an optical disc reader to read the information contained in the optical disc, and the servo software and the animation expert group application program share at least one data buffer as a memory space for reading data. In a preferred embodiment of the present invention, the application program of the animation expert group is used to receive and play the information from the server software through the bridge of multiple information queues.
Description
技术领域 technical field
本发明涉及一种软件通讯,尤其是一种介于动画专家群层与伺服层之间的软件通讯。The invention relates to a software communication, in particular to a software communication between an animation expert group layer and a servo layer.
背景技术 Background technique
今日,不同形式的光盘储存了大量的动画,如激光视盘(VCD,VideoCompact Disc)与数字视讯光盘(DVD,Digital Versatile Disc)等。传统的多媒体光盘播放过程牵涉两个主要步骤,首先是自光盘中读取数据,接着对此数据进行译码。读取数据的部分通常是由一伺服芯片所控制,于数据读出后,同时运用一译码芯片进行运算而产生声音与影像的输出。Today, a large number of animations are stored in different forms of optical discs, such as Laser Video Disc (VCD, VideoCompact Disc) and Digital Video Disc (DVD, Digital Versatile Disc). The traditional multimedia disc playback process involves two main steps, first reading data from the disc, and then decoding the data. The part of reading data is usually controlled by a servo chip. After the data is read out, a decoding chip is used to perform calculations to generate audio and video output.
请参考图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亦作为一数据缓冲区。Please refer to FIG. 1 , which is a schematic block diagram of a traditional playback architecture 100 . This playback framework 100 comprises a well-known Advanced Technology Attachment (ATA, Advanced Technology Attachment) bus 110, a servo chip 120 connected to the Advanced Technology Attachment bus 110, and an animation expert group (MPEG, Motion Picture Expert Group) decoding chip 130. As the controller of the optical disc reader 140, the servo chip 120 responds with the data on the optical disc according to the received Advanced Technology Access Programming Interface (ATAPI) command. A servo buffer 125 directly attached to the servo chip 120 serves as a data buffer for the optical disc. Under the playback structure 100 , the animation expert group decoding chip 130 is also connected to the advanced technology access bus 110 . Similarly, the animation expert group buffer 135 directly attached to the animation expert group decoding chip 130 also serves as a data buffer.
请参考图2所示,其是为根据图1的架构100之一范例流程图。于步骤210中,此动画专家群译码芯片130透过先进科技接取总线110发出一数据要求命令至伺服芯片120。接着,于步骤220,此伺服芯片120即命令光盘读取器140读取所需的数据。自此光盘上读取的数据于步骤230时被存放于伺服缓冲区125中。然后于步骤240中,所要求的数据是透过先进科技接取总线110被复制至动画专家群缓冲区135中。最后,此动画专家群译码芯片130于步骤250对位于动画专家群缓冲区135中的数据进行译码,并且产生影音输出。Please refer to FIG. 2 , which is an exemplary flowchart of the architecture 100 according to FIG. 1 . In
于大多数的情况下,因为会有其它装置分享先进科技接取总线110,故数据区块的传递可能因抢用资源之故而被延迟。此外,因数据区块于同一时间内存在于两个不同地方,例如分别位于伺服缓冲区125与动画专家群缓冲区135中,使得复制数据的过程浪费时间与内存空间。再者,由于先进科技接取总线110的传输率是与伺服缓冲区125和动画专家群缓冲区135不同,故于实作中可能更需加入额外的先进先出(FIFO,First-InFirst-Out)队列电路。In most cases, since other devices share the ATS bus 110, the transfer of data blocks may be delayed due to resource grabbing. In addition, because the data blocks exist in two different places at the same time, such as in the servo buffer 125 and the animation expert group buffer 135 respectively, the process of copying data wastes time and memory space. Furthermore, since the transfer rate of the advanced technology access bus 110 is different from that of the servo buffer 125 and the animation expert group buffer 135, it may be necessary to add an additional FIFO (First-InFirst-Out) buffer in practice. ) queue circuit.
再者,若伺服缓冲区125的大小与所要求的数据区块相等,此伺服芯片120必需于读取数据前先等待前一笔数据复制完毕。据此,即代表读取数据与复制数据不能同时进行,换言之,整个流程无法被管线化(pipelined)。所以当发生读取错误或此先进科技接取总线110忙碌时,此光盘播放程序将会停滞一段期间。Furthermore, if the size of the servo buffer 125 is equal to the required data block, the servo chip 120 must wait for the copying of the previous data before reading the data. Accordingly, it means that reading data and copying data cannot be performed at the same time, in other words, the entire process cannot be pipelined. Therefore, when a reading error occurs or the advanced technology access bus 110 is busy, the disc playing process will stall for a period of time.
综上所述,亟需一种软件通讯架构解决上述问题以增进光盘播放产业的竞争力。To sum up, there is an urgent need for a software communication architecture to solve the above problems so as to enhance the competitiveness of the optical disc player industry.
发明内容 Contents of the invention
鉴于上述的发明背景,为了符合产业上的需求,本发明目的是提供一种动画专家群层与伺服层之间的软件通讯,用以解决上述传统播放架构未能达成的标的。In view of the above-mentioned background of the invention, in order to meet the needs of the industry, the purpose of the present invention is to provide a software communication between the animation expert group layer and the servo layer, so as to solve the above-mentioned goals that cannot be achieved by the traditional playback architecture.
本发明较佳实施例是提供一种多层(multiple-tier)架构,其中包含一动画专家群应用程序、多个信息队列与一伺服软件。由此伺服软件所控制之一光盘读取器是用以读取光盘所载信息,上述的伺服软件与动画专家群应用程序共享至少一数据缓冲区,以作为读出数据之一内存空间。于本发明较佳实施例中,动画专家群应用程序是透过多个信息队列的桥接,用以接收由伺服软件而来的信息并进行播放。A preferred embodiment of the present invention provides a multiple-tier architecture, which includes an animation expert group application program, multiple message queues and a server software. An optical disc reader controlled by the servo software is used to read the information contained in the optical disc. The above-mentioned servo software shares at least one data buffer with the animation expert group application program as a memory space for reading data. In a preferred embodiment of the present invention, the animation expert group application program is used to receive and play the information from the server software through the bridge of multiple information queues.
在本发明较佳实施例中,当需要光盘所载信息时,上述动画专家群应用程序发出一数据要求信息至此多个信息队列之一。接着,此信息队列进行排序,并且为此伺服软件依序接收。依据此数据要求信息的指示,上述的伺服软件控制此光盘读取器以读取光盘所载信息,并且将其储存于上述的数据缓冲区。于此伺服软件发出一响应信息至另一信息队列后,此响应信息亦经过排序后由动画专家群应用程序所接收。此动画专家群应用程序于解译此响应信息后,可于上述的数据缓冲区中获得所需的数据。In a preferred embodiment of the present invention, when the information contained in the optical disc is needed, the animation expert group application program sends a data request message to one of the plurality of message queues. Next, the queue of messages is sorted and received sequentially for this server software. According to the instruction of the data request information, the above-mentioned servo software controls the optical disk reader to read the information contained in the optical disk and store it in the above-mentioned data buffer. After the server software sends a response message to another message queue, the response message is also sorted and received by the animation expert group application program. After the animation expert group application program interprets the response information, it can obtain the required data in the above-mentioned data buffer.
本发明另一较佳实施例是提供一种多层(multiple-tier)架构,其中包含一应用程序层、一中介层与一伺服层。于应用程序层中,包含一加载管理者以至少替一显示引擎与一档案系统发出数据要求命令信息。上述的中介层包含至少一命令队列与一完成队列等两个信息队列,此命令队列与完成队列可为简单的先进先出队列,或可为某种形式的优先队列。由此伺服层所包含之一伺服软件是用以控制一光盘读取器以读取光盘所载信息。上述的伺服层与应用程序层共享至少一数据缓冲区以作为读出数据之一内存空间。上述的多个信息队列则作为上述的应用程序层与伺服层的桥接通讯。Another preferred embodiment of the present invention provides a multi-tier architecture, which includes an application layer, an intermediary layer and a server layer. In the application program layer, a loading manager is included to issue data request command information for at least one display engine and one file system. The above intermediary layer includes at least two information queues such as a command queue and a completion queue. The command queue and the completion queue can be simple first-in-first-out queues, or some form of priority queues. Therefore, a servo software included in the servo layer is used to control an optical disc reader to read information contained in the optical disc. The above-mentioned servo layer and the application layer share at least one data buffer as a memory space for reading data. The above-mentioned multiple information queues serve as bridge communication between the above-mentioned application program layer and the server layer.
于上述的本发明另一较佳实施例中,当需要光盘所载信息时,上述的显示引擎或档案系统将首先通知此加载管理者。据此,这些资料要求将由此加载管理者先进行处理、标示优先级与排程。接着,此加载管理者将会发出一命令信息至上述中介层的命令队列。于其后的步骤中,此命令信息将会配送至上述伺服软件。依据此命令信息的指示,伺服软件将控制此光盘读取器读取光盘所载信息,并且将其储存于上述的数据缓冲区。接着,伺服软件发出一完成信息至上述完成队列,以表示光盘所载数据已经被读出并且存入数据缓冲区。此完成信息将由此加载管理者先接收,进而配送至此相关资料要求的来源。一旦显示引擎或档案系统接收此完成信息后,即可于数据缓冲区中获得所需的数据。In another preferred embodiment of the present invention, when the information contained in the optical disc is required, the display engine or the file system will first notify the loading manager. Accordingly, these data requests will be uploaded to the manager for processing, prioritization and scheduling. Then, the load manager will send a command message to the command queue of the intermediary layer. In subsequent steps, the command information will be sent to the above-mentioned server software. According to the instruction of the command information, the servo software will control the optical disc reader to read the information contained in the optical disc and store it in the above-mentioned data buffer. Then, the servo software sends a completion message to the completion queue, indicating that the data contained in the optical disk has been read and stored in the data buffer. The completion information will be received by the loading manager first, and then delivered to the source of the related data request. Once the display engine or file system receives the completion message, the required data can be obtained in the data buffer.
本发明利用多任务或软件层同时共享的至少一数据缓冲区,以节省于先前技术中复制数据所消耗的时间与内存空间。此外,本发明亦利用一信息队列中介层作为应用程序层与伺服层之间的通讯桥接方式。由于信息队列中介层可充任管线作业(pipeline)的角色,令前后两端的应用程序层与伺服层可同时提出数据要求信息与其相对应的响应信息。而由于数据缓冲区的大小可超过数据要求信息所要求的数据量,故数据缓冲区可划分内存空间以同时容纳多笔光盘数据;当然,本发明亦可以具有多个资料缓冲区,用以同时分别储存多笔光盘数据。据此,本发明所提供的软件架构可增进整体数据传输的效率。另外,除了信息队列中介层之外,应用程序层与伺服层亦可以管线作业方式处理。再者,由于本发明若实作于具有多执行绪的操作系统中,则各层亦可以多执行绪的方式达成平行处理数据的效果。例如,动画专家群层可同时发出数据要求信息、提取响应信息以及自数据缓冲区中获得所需的数据。据此,于某一时刻下,动画专家群层与伺服层均处于忙碌状态中,而不像先前技术的伺服芯片与动画专家群译码芯片需等待对方完成动作而闲置。最后,本发明所提供的架构相当适合作为一整合式的多媒体播放芯片系统。The present invention utilizes at least one data buffer shared by multiple tasks or software layers at the same time, so as to save the time and memory space consumed by copying data in the prior art. In addition, the present invention also uses a message queue intermediary layer as a communication bridge between the application program layer and the server layer. Since the message queue intermediary layer can act as a pipeline, the application layer and the server layer at the front and rear ends can simultaneously submit data request information and corresponding response information. And because the size of the data buffer can exceed the amount of data required by the data request information, the memory space can be divided into the data buffer to accommodate multiple disc data at the same time; certainly, the present invention can also have a plurality of data buffers for simultaneously Store multiple disc data separately. Accordingly, the software architecture provided by the present invention can improve the efficiency of overall data transmission. In addition, in addition to the message queue intermediary layer, the application program layer and the server layer can also be processed by pipeline operation. Furthermore, if the present invention is implemented in an operating system with multi-threads, each layer can also achieve the effect of parallel processing of data in a multi-threaded manner. For example, the animation expert group layer can simultaneously send out data request information, extract response information, and obtain required data from the data buffer. Accordingly, at a certain moment, both the animation expert group layer and the servo layer are in a busy state, unlike the prior art servo chip and animation expert group decoding chip which need to wait for each other to complete the action and then idle. Finally, the framework provided by the present invention is quite suitable as an integrated multimedia playback chip system.
附图说明 Description of drawings
图1是为一传统播放架构之一方块示意图;FIG. 1 is a schematic block diagram of a traditional playback architecture;
图2是为根据图1的架构之一范例流程示意图;FIG. 2 is a schematic flowchart of an example of the architecture according to FIG. 1;
图3是为根据本发明一实施例之一软件架构之一方块示意图;FIG. 3 is a schematic block diagram of a software architecture according to an embodiment of the present invention;
图4是为图3的实施例之一流程示意图;Fig. 4 is a schematic flow chart of one embodiment of Fig. 3;
图5是为根据本发明另一实施例之一软件架构之一方块示意图;FIG. 5 is a schematic block diagram of a software architecture according to another embodiment of the present invention;
图6是为图5的软件架构之一流程示意图;以及Fig. 6 is a schematic flow chart of one of the software architectures of Fig. 5; and
图7是为根据本发明另一实施例之一软件架构之一方块示意图。FIG. 7 is a block diagram of a software architecture according to another embodiment of the present invention.
【主要组件符号说明】[Description of main component symbols]
100传统播放架构100 Traditional Playback Architecture
110先进科技接取总线110 advanced technology access bus
120伺服芯片120 servo chip
125伺服缓冲区125 servo buffers
130动画专家群译码芯片130 animation expert group decoding chip
135动画专家群缓冲区135 animation expert group buffer
140光盘读取器140 disc reader
210~250传统播放流程210~250 traditional playback process
300软件架构300 software architecture
310动画专家群应用程序310 animation expert group app
320多个信息队列More than 320 message queues
330伺服软件330 servo software
340光盘读取器340 disc reader
350数据缓冲区350 data buffer
410~480本发明一实施例的流程410~480 The process of an embodiment of the present invention
500软件架构500 software architecture
510加载管理者510 load manager
512显示引擎512 display engine
514档案系统514 file system
520命令队列520 command queue
525完成队列525 complete queue
530伺服软件530 servo software
540光盘读取器540 CD Reader
550数据缓冲区550 data buffer
604~640本发明的另一实施例的流程604~640 Flowchart of another embodiment of the present invention
700软件架构700 software architecture
710动画专家群应用程序710 animation expert group app
720复数对信息队列720 plural pairs of message queues
721命令队列721 command queue
722完成队列722 complete queue
730伺服软件730 Servo Software
740光盘读取器740 CD Reader
750多个数据缓冲区More than 750 data buffers
具体实施方式 Detailed ways
本发明在此所探讨的方向为一种介于动画专家群层与伺服层之间的软件通讯。为了能彻底地了解本发明,将在下列的描述中提出详尽的步骤及其组成。显然地,本发明的施行并未限定于软件通讯的技艺者所熟习的特殊细节。本发明的较佳实施例会详细描述如下,然而除了这些详细描述之外,本发明还可以广泛地施行在其它的实施例中,且本发明的范围不受限定,以的后的专利范围为准。The direction that the present invention discusses here is a software communication between the animation expert group layer and the servo layer. In order to provide a thorough understanding of the present invention, detailed steps and components thereof will be set forth in the following description. Obviously, the practice of the present invention is not limited to specific details familiar to those skilled in software communication. The preferred embodiments of the present invention will be described in detail as follows, but in addition to these detailed descriptions, the present invention can also be widely implemented in other embodiments, and the scope of the present invention is not limited, subject to the following patent scope .
请参考图3所示,其是为根据本发明一实施例之一软件架构300之一方块示意图。此软件架构300是为一多层(multiple-tier)架构,其中包含一动画专家群层、一中介层与一伺服层,于此软件架构300中,至少包含属于动画专家群层之一动画专家群应用程序310。此动画专家群应用程序310可为一电影播放程序,或可为一软件管理者,其可同时处理来自不同软件间的多个动画专家群数据需求。Please refer to FIG. 3 , which is a block diagram of a
如图3所示,中介层包含多个信息队列320以接收来自动画专家群层与伺服层的信息。同样地,动画专家群层与伺服层亦可取得此多个信息队列320的信息。此外,多个信息队列320可为简单的先进先出队列,或可为某种形式的优先队列(priority queue)。当为简单的先进先出队列时,于队列中的信息是以其接收时间作为优先排序的依据;当为某一形式的优先队列时,信息的优先级可于信息内部标示。于此实施例中,多个信息队列320可为动画专家群层、伺服层或其它软件所订阅(subscribed)。当接收信息后,此信息队列320将会通知其订阅者。因为信息队列软件已广为计算机科学界所习知,故不再讨论那些可应用于本发明的相关信息软件。As shown in FIG. 3 , the intermediary layer includes a plurality of
如图3所示,伺服层包含至少一伺服软件330,其控制至少一光盘读取器340,通过由此光盘读取器340,伺服软件330可读取光盘所载信息。伺服软件330与动画专家群应用程序310共享至少一数据缓冲区350的内存空间。此外,多个信息队列320亦可分享此数据缓冲区350作为信息的储存区。于本发明中,数据缓冲区350的实际组成可为一连续的内存区块,或可为不连续的内存区块而以逻辑上的串联形成。事实上,仅需上述的伺服软件330、动画专家群应用程序310与多个信息队列320可存取此数据缓冲区350的内容即可,本发明并不限定数据缓冲区350的个数。As shown in FIG. 3 , the servo layer includes at least one
于本实施例之一范例中,此软件架构300可实作于一多任务实时操作系统中,于此种操作系统中,每一层可实作为可同时执行的至少一工作(task)或一工作群组。于本实施例的另一范例中,此软件架构300可实作于一个具有多执行绪的操作系统中,每一层可实作为可同时执行的至少一执行绪或一执行绪群组。In an example of this embodiment, the
请参考图4所示,其是为图3实施例的流程示意图。首先,于步骤410时,由动画专家群应用程序310发出之一数据要求信息送往此多个信息队列320之一。于步骤420,接到此数据要求信息后,此信息队列320将根据此信息的接收时间或其标示的优先度进行排序,亦即其排序的方式将视此信息队列320的形式而订。接着于步骤430,此数据要求信息将为信息订阅者提取,亦即为伺服软件330所提取。同样地,无论此信息队列320是使用提取(polling)或推送(pushing)机制实作,皆可适用于本发明。于接获此数据要求信息后,伺服软件330将于步骤440中,依据此数据要求信息的指示读取光盘所载信息,并且将其储存于数据缓冲区350中。再者,此数据要求信息可包含于数据缓冲区350中预先配置好的空间信息、光盘上的相关区块、读取的重试次数以及其它关于步骤440中有用的参数值。换言之,本发明并不限制此数据要求信息的内容。Please refer to FIG. 4 , which is a schematic flowchart of the embodiment in FIG. 3 . First, at
如图4所示,于读取和储存数据后,伺服软件330将于步骤450中发出一响应信息至此多个信息队列320之一。如同上述的数据要求信息,本发明不限制此响应信息的内容,其可包含所读取数据于数据缓冲区350的储存位置、读取数据的长度或任何对动画专家群应用程序310有帮助的其它参数。接着,于步骤460中,此响应信息亦由信息队列320根据其接收时间或优先度标示进行排序。于其后的步骤470中,动画专家群应用程序310由此信息队列320提取此响应信息。最后,此动画专家群应用程序310于解译此响应信息后,可于数据缓冲区350中获得所需的数据。As shown in FIG. 4 , after reading and storing the data, the
于本发明较佳实施例中,由于多个信息队列320可充任管线作业(pipeline)的角色,令前后两端的动画专家群层与伺服层可同时提出数据要求信息与其相对应的响应信息;再者,由于数据缓冲区350的大小可超过数据要求信息所要求的数据量,故数据缓冲区350可同时容纳多笔光盘数据;当然,本发明亦可以具有多个资料缓冲区,用以同时分别储存多笔光盘数据。因此,本发明所提供的软件架构300可透过管线作业的方式来达成平行处理数据的效果,进而增进整体数据传输的效率。由于本发明若实作于具有多执行绪的操作系统中,则各层亦可以多执行绪的方式达成平行处理数据的效果。例如,动画专家群层可同时发出数据要求信息、提取响应信息以及自数据缓冲区350中获得所需的数据。据此,于某一时刻下,动画专家群层与伺服层均处于工作状态中,而不像先前技术的伺服芯片120与动画专家群译码芯片130需等待对方完成动作而闲置。In a preferred embodiment of the present invention, since a plurality of
请参考图5所示,其是为根据本发明另一实施例之一软件架构500的方块示意图。如同图3的实施例,此软件架构500亦包含一应用程序层、一中介层与一伺服层。于此实施例中,应用程序层包含一加载管理者510、一显示引擎512与一档案系统514,其中,显示引擎512是为显示光盘所载多媒体内容之一多媒体播放程序。为显示光盘所载的多媒体内容,显示引擎512可包含动画专家群与/或其它压缩与解压缩功能,档案系统514亦可用于处理光盘所载的某些信息。除却显示引擎512与档案系统514外,其它应用程序可能亦需要光盘所载的信息,加载管理者510是提供一软件网关以管理所有对光盘信息的要求,由显示引擎512与档案系统514所发出的需求,会经过此加载管理者510进行排序、包装与排程。Please refer to FIG. 5 , which is a schematic block diagram of a software architecture 500 according to another embodiment of the present invention. Like the embodiment of FIG. 3 , the software architecture 500 also includes an application layer, an intermediary layer and a server layer. In this embodiment, the application layer includes a
如图5所示,中介层包含多个信息队列以接收来自应用程序层与伺服层的信息。同样地,应用程序层与伺服层亦可取得此多个信息队列的信息。于此实施例中,中介层包含一命令队列520与一完成队列525,此命令队列520与完成队列525可为简单的先进先出队列,或可为某种形式的优先队列(priority queue)。因为上述的信息队列软件已广为计算机科学界的现有技术,故不再讨论那些可应用于本发明的相关信息软件。As shown in FIG. 5, the intermediary layer includes multiple message queues to receive messages from the application layer and the server layer. Similarly, the application program layer and the server layer can also obtain the information of the multiple message queues. In this embodiment, the intermediary layer includes a
如图5所示,上述的伺服层包含至少一伺服软件530,其控制至少一光盘读取器540,通过由此光盘读取器540,伺服软件530可读取光盘所载信息。伺服软件530与显示引擎512和档案系统514共享一数据缓冲区550的内存空间。此外,多个信息队列520与525亦可分享此数据缓冲区550作为信息的储存区。As shown in FIG. 5 , the above-mentioned servo layer includes at least one
于本实施例之一范例中,此软件架构500可实作于一多任务实时操作系统中,于此种操作系统中,每一层可实作为可同时执行的至少一工作或一工作群组。于本实施例的另一范例中,此软件架构500可实作于一个具有多执行绪的操作系统中,每一层可实作为同时执行的至少一执行绪或一执行绪群组。In an example of this embodiment, the software architecture 500 can be implemented in a multi-tasking real-time operating system, in which each layer can be implemented as at least one job or a group of jobs that can be executed simultaneously . In another example of this embodiment, the software architecture 500 can be implemented in an operating system with multiple threads, and each layer can be implemented as at least one thread or a group of threads executing simultaneously.
请参考图6所示,其是为图5软件架构500的一流程示意图。首先于步骤604,此加载管理者510由显示引擎512或档案系统514接收一数据要求,于此步骤中,上述的加载管理者510可对此数据要求进行优先度排序、排程、转换与/或任何计算,以于次一步骤608中发出一命令信息。接着,于步骤608中,由加载管理者510发出之一命令信息送入命令队列520。于步骤612中,命令队列520中的所有命令信息将根据其接收时间或其它优先度排序的方式进行排序。伺服软件530将于步骤616接收此命令信息。根据此命令信息的指示,于步骤620时,伺服软件530读取光盘所载信息,并且将其储放于上述数据缓冲区550的某处。其中,命令信息可包含此数据缓冲区550的预先配置空间的指针、光盘的区块、读取的重试次数或任何可帮助后续步骤640的其它参数。换言之,本发明无意限定此命令信息的内容。Please refer to FIG. 6 , which is a schematic flowchart of the software architecture 500 shown in FIG. 5 . First at step 604, the
如图6所示,于读取数据和储存后,伺服软件530将于步骤624发出一完成信息至上述完成队列525,同样的,本发明无意限定此完成信息的内容,其可能包含此数据缓冲区550的储存空间、读取信息的长度或其它可帮助上述显示引擎512或档案系统514接收数据的参数。接着进行步骤628,完成队列525将根据其接收时间或其它优先度排序的方式进行排序。随后进行步骤632,此载入管理者510由完成队列525中取得此完成信息。于步骤636中,此载入管理者510必需将此完成信息传送至发出命令信息的来源。换言之,此完成信息将传送至显示引擎512或档案系统514。最后,步骤640中,显示引擎512或档案系统514解译此完成信息后,即可自此数据缓冲区550取得所要求的数据。As shown in Figure 6, after reading data and storing, the
于本发明中,由于命令队列520与完成队列525可充任管线作业(pipeline)的角色,令前后两端的加载管理者510与伺服层可同时提出数据要求信息与其相对应的响应信息;再者,由于数据缓冲区550的大小可超过数据要求信息所要求的数据量,故数据缓冲区550可同时容纳多笔光盘数据;当然,本发明亦可以具有多个资料缓冲区,用以同时分别储存多笔光盘数据。因此,本发明所提供的软件架构500可增进整体数据传输的效率。再者,由于本发明若实作于具有多执行绪的操作系统中,则各层亦可以多执行绪的方式达成平行处理数据的效果。例如,动画专家群层可同时发出数据要求信息、提取响应信息以及自数据缓冲区550中获得所需的数据。据此,于某一时刻下,动画专家群层与伺服层均处于工作状态中,而不像先前技术的伺服芯片120与动画专家群译码芯片130需等待对方完成动作而闲置。In the present invention, since the
请参考图7所示,其是为根据本发明另一实施例之一软件架构700之一方块示意图。此软件架构700类似图3标出的软件架构300,其中包含一动画专家群层、一中介层与一伺服层。于此软件架构700,包含属于动画专家群层的至少一动画专家群应用程序710;其中介层包含复数对信息队列720以接收来自动画专家群层与伺服层的信息,每对信息队列720包含一命令队列721与一完成队列722;其伺服层包含至少一伺服软件730,其控制至少一光盘读取器740,通过由此光盘读取器740,伺服软件730可读取光盘所载信息。伺服软件730与动画专家群应用程序710共享多个数据缓冲区750的内存空间。此外,复数对信息队列720亦可分享此多个数据缓冲区750作为信息的储存区。Please refer to FIG. 7 , which is a block diagram of a software architecture 700 according to another embodiment of the present invention. The software architecture 700 is similar to the
于本实施例之一范例中,此复数对信息队列720与上述的多个数据缓冲区750具有一对应关系;亦即每一对命令队列721与完成队列722对应至多个数据缓冲区750其中之一个数据缓冲区750。In one example of this embodiment, the plurality of pairs of message queues 720 have a corresponding relationship with the above-mentioned
此外,于本实施例之一范例中,此软件架构700可实作于一多任务实时操作系统中,于此种操作系统中,每一层可实作为可同时执行的至少一工作或一工作群组。于本实施例的另一范例中,此软件架构700可实作于一个具有多执行绪的操作系统中,每一层可实作为同时执行的至少一执行绪或一执行绪群组。In addition, in an example of this embodiment, the software architecture 700 can be implemented in a multi-tasking real-time operating system, in which each layer can be implemented as at least one task or a task that can be executed simultaneously group. In another example of this embodiment, the software architecture 700 can be implemented in an operating system with multiple threads, and each layer can be implemented as at least one thread or a group of threads executing simultaneously.
于某一时刻下,此动画专家群应用程序710送出多个数据要求信息至复数对信息队列720的多个命令队列721。于此同时,伺服软件730同时自多个命令队列721接收先前由动画专家群应用程序710所送出的多个数据要求信息,并且自光盘读取器740读取所要求的复数笔信息,接着将此复数笔信息存入与上述多个命令队列721相对应的多个缓冲区750,最后再送出包含对应至多个数据要求信息的多个响应信息至该复数对信息队列720的该多个完成队列722。而此动画专家群应用程序710于送出多个数据要求信息的同时接收多个响应信息,并根据该多个响应信息读取该多个数据要求信息所要求的该复数笔信息。At a certain moment, the animation
上述仅为本发明的较佳实施例而已,并非用以限定本发明的申请专利范围;凡其它未脱离本发明所揭示的精神下所完成的等效改变或修饰,均应包含在下述申请专利范围内。The above are only preferred embodiments of the present invention, and are not intended to limit the scope of the patent application of the present invention; all other equivalent changes or modifications that do not deviate from the spirit disclosed in the present invention should be included in the following patent applications within range.
Claims (10)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US60232204P | 2004-08-18 | 2004-08-18 | |
| US60/602,322 | 2004-08-18 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN1749979A CN1749979A (en) | 2006-03-22 |
| CN100378695C true CN100378695C (en) | 2008-04-02 |
Family
ID=36605435
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CNB2005100915016A Expired - Lifetime CN100378695C (en) | 2004-08-18 | 2005-08-18 | Animation expert group servo system, data communication system and method between animation expert group and servo device |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20060041690A1 (en) |
| CN (1) | CN100378695C (en) |
| TW (1) | TWI284810B (en) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100881275B1 (en) * | 2006-12-08 | 2009-02-05 | 한국전자통신연구원 | Priority Control Apparatus and Method in SCA Multi-Component and Multi-Port Environments |
| TW201032535A (en) * | 2008-10-14 | 2010-09-01 | Ibm | A method of handling a message |
| CN102541773A (en) * | 2011-12-31 | 2012-07-04 | 曙光信息产业股份有限公司 | Method and device for implementing data access |
| US10885583B2 (en) * | 2013-12-19 | 2021-01-05 | Chicago Mercantile Exchange Inc. | Deterministic and efficient message packet management |
| CN115542820A (en) * | 2022-11-04 | 2022-12-30 | 上海安浦鸣志自动化设备有限公司 | CANopen communication method and device applied to motor driver and motor driver |
| CN119025298A (en) * | 2024-08-20 | 2024-11-26 | 北京火山引擎科技有限公司 | Data processing method and device based on multi-message queue system |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH11328842A (en) * | 1998-05-14 | 1999-11-30 | Hongyou Science & Technol Co Ltd | ATAPI interface control circuit and DVD player using the circuit |
| US6061308A (en) * | 1997-04-23 | 2000-05-09 | Nec Corporation | Optical disk reproducing apparatus and optical disk reproducing method capable of reproducing information recorded on head portion of each track |
| CN1303566A (en) * | 1998-03-27 | 2001-07-11 | 卡纳尔股份有限公司 | Memory Management in Receiver/Decoder |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1994024823A1 (en) * | 1993-04-16 | 1994-10-27 | Data Translation, Inc. | Adaptive video compression using variable quantization |
| KR0135848B1 (en) * | 1993-11-20 | 1998-06-15 | 김광호 | Compact Disc-ROM Drive Interface Circuitry |
| US6502159B1 (en) * | 1996-06-21 | 2002-12-31 | Acer Incorporated | Method and apparatus for increasing data throughput in a computer system |
| US6370323B1 (en) * | 1997-04-03 | 2002-04-09 | Lsi Logic Corporation | Digital video disc decoder including command buffer and command status pointers |
| US6128674A (en) * | 1997-08-08 | 2000-10-03 | International Business Machines Corporation | Method of minimizing host CPU utilization in driving an adapter by residing in system memory a command/status block a soft interrupt block and a status block queue |
| US20020010817A1 (en) * | 1999-01-29 | 2002-01-24 | Han-Chung Yeh | Host signal processing modem with a signal processing accelerator |
| US6871011B1 (en) * | 2000-09-28 | 2005-03-22 | Matsushita Electric Industrial Co., Ltd. | Providing quality of service for disks I/O sub-system with simultaneous deadlines and priority |
| US7054972B2 (en) * | 2002-12-13 | 2006-05-30 | Lsi Logic Corporation | Apparatus and method for dynamically enabling and disabling interrupt coalescing in data processing system |
| US7043518B2 (en) * | 2003-07-31 | 2006-05-09 | Cradle Technologies, Inc. | Method and system for performing parallel integer multiply accumulate operations on packed data |
| US7337248B1 (en) * | 2004-03-19 | 2008-02-26 | Sun Microsystems, Inc. | Adaptive synchronization method for communication in storage systems |
-
2005
- 2005-08-16 TW TW094127861A patent/TWI284810B/en active
- 2005-08-18 CN CNB2005100915016A patent/CN100378695C/en not_active Expired - Lifetime
- 2005-08-18 US US11/206,062 patent/US20060041690A1/en not_active Abandoned
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6061308A (en) * | 1997-04-23 | 2000-05-09 | Nec Corporation | Optical disk reproducing apparatus and optical disk reproducing method capable of reproducing information recorded on head portion of each track |
| CN1303566A (en) * | 1998-03-27 | 2001-07-11 | 卡纳尔股份有限公司 | Memory Management in Receiver/Decoder |
| JPH11328842A (en) * | 1998-05-14 | 1999-11-30 | Hongyou Science & Technol Co Ltd | ATAPI interface control circuit and DVD player using the circuit |
Also Published As
| Publication number | Publication date |
|---|---|
| TW200608216A (en) | 2006-03-01 |
| US20060041690A1 (en) | 2006-02-23 |
| TWI284810B (en) | 2007-08-01 |
| CN1749979A (en) | 2006-03-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP2353079B1 (en) | File input/output scheduler using immediate data chunking | |
| KR101086514B1 (en) | Continuous Media Priority Aware Storage Scheduler | |
| KR100943446B1 (en) | At least one data stream, data processing method and method of using the data storage system | |
| US8036474B2 (en) | Information processing apparatus enabling an efficient parallel processing | |
| JP5097251B2 (en) | Method for reducing energy consumption in buffered applications using simultaneous multithreading processors | |
| US8539176B2 (en) | Data storage devices accepting queued commands having deadlines | |
| JP2009502050A (en) | GPU timeline with rendered queue | |
| US8743131B2 (en) | Course grain command buffer | |
| CN101625629A (en) | Techniques for scheduling requests for accessing storage devices using sliding windows | |
| US20110317763A1 (en) | Information processing apparatus and information processing method | |
| CN113568731B (en) | Task scheduling method, chip and electronic equipment | |
| CN102402401A (en) | Method for scheduling IO (input/output) request queue of disk | |
| CN103226448B (en) | The driving method of solid state hard disc and device | |
| CN100378695C (en) | Animation expert group servo system, data communication system and method between animation expert group and servo device | |
| TW202107408A (en) | Methods and apparatus for wave slot management | |
| JP4754531B2 (en) | Device access control method and processing apparatus | |
| CN116107635B (en) | Command dispatcher, command dispatch method, scheduler, chip, board, device | |
| CN100392741C (en) | Method for checking decision of loading candidate in multimedia player | |
| US8819363B2 (en) | Data copying method | |
| CN112114967B (en) | GPU resource reservation method based on service priority | |
| US7437489B2 (en) | Data packet queue handling method and system | |
| Li et al. | A scalable HDD video recording solution using a real-time file system | |
| CN118057316A (en) | Method and device for scheduling disk resources, electronic equipment and storage medium | |
| US20080313622A1 (en) | Low-Level Connectivity Admission Control for Networked Consumer Storage Devices | |
| CN100382187C (en) | Integrated digital disc player and its internal data transmission method |
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 | ||
| CX01 | Expiry of patent term | ||
| CX01 | Expiry of patent term |
Granted publication date: 20080402 |