串流数据缓冲装置及其存取方法制造方法及图纸

技术编号:3083227 阅读:163 留言:0更新日期:2012-04-11 18:40
本发明专利技术为一种串流数据缓冲装置及其存取方法,所述串流数据缓冲装置,用以提供一处理单元存取一串流数据,包括一存储器缓冲区、一缓冲区代理器以及一先进先出队列。该存储器缓冲区被区分且编号为N个子缓冲区,该缓冲区代理器用以管理该等N个子缓冲区的使用状态,随时提供给处理单元可用的子缓冲区编号以储存数据。当处理单元储存数据于子缓冲区后,缓冲区代理器会更改该子缓冲区的使用状态,并传送该子缓冲区的编号至先进先出队列。该先进先出队列用以管理可供处理单元读取数据的子缓冲区编号,在处理单元读取后,便消除先进先出队列中该子缓冲区编号。本发明专利技术不会占用太多系统存储器,且使得效率更佳。

【技术实现步骤摘要】

本专利技术为一种串流数据(stream data)缓冲装置及其存取方法。
技术介绍
一般串流数据播放装置,如在线实时影音软件mediaplayer、realplayer,皆会利用一缓冲空间来暂时储存所接收的数据,或是先将所接收的数据存放在一暂存的缓冲文件中,等到缓冲空间填满后再播放。图1为一串流数据播放装置使用一现有串流数据缓冲装置的示意图。串流数据播放装置11储存串流数据于缓冲装置12,其内建有两个缓冲空间,缓冲区I 13与缓冲区II 14。串流数据播放装置11在与一提供串流数据的服务器(图上未绘出)连线完成后,透过接收端15开始接收串流数据,并储存在缓冲区I 13中,等到缓冲区I 13填满数据时,此时接收端15将串流数据储存在缓冲区II 14,且串流数据播放装置11读取缓冲区I 13中并播放。当串流数据播放装置11将缓冲区I 13中的数据播放完后,若此时缓冲区II 14已经填满数据,则串流数据播放装置11便播放缓冲区II 14中的数据,若此时缓冲区II 14尚未填满数据,则串流数据播放装置11等待缓冲区II 14填满数据后再播放。现有实现串流缓冲的方式虽可以达到缓冲的目的,但缓冲区I 13与缓冲区II 14的大小则会影响串流数据播放装置11的运作。若缓冲区I 13与缓冲区II 14空间太大,则缓冲区被填满的时间增加,串流数据播放装置11的等待时间就会增加,若缓冲区I 13与缓冲区II 14空间太小,则可能发生缓冲区都填满后,接收端15无法继续写入数据,影响播放数据的完整性及播放速度。此外上述方法并不适用于小型嵌入式系统,因为小型嵌入式系统中并没有太多的系统存储器或是庞大的储存媒体可供缓冲使用,因此我们需要一种不会占用太多系统存储器且效率更佳的缓冲装置供串流数据播放装置使用。
技术实现思路
本专利技术的目的为提供一种串流数据缓冲装置。本专利技术的另一目的为提供一种串流数据缓冲装置的存取方法。本专利技术提供一种串流数据缓冲装置,用以提供一处理单元存取一串流数据,包括一存储器缓冲区、一缓冲区代理器以及一先进先出队列。该存储器缓冲区,具有N个子缓冲区,用以储存该串流数据。该缓冲区代理器,具有一子缓冲区表,用以记录对应的子缓冲区的一工作状态,其中该工作状态包括一第一状态与一第二状态。该先进先出队列,用以记录具有该第一状态的子缓冲区编号。当该处理单元接收该串流数据并储存于该串流数据缓冲装置时,该处理单元向该缓冲区代理器请求具有第二状态的一第一子缓冲区以储存该串流数据,在储存完毕后,该缓冲区代理器将该第一子缓冲区的状态更改为第一状态,并传送该第一子缓冲区的编号至该先进先出队列。当该处理单元侦测到该先进先出队列具有第一状态的一第二子缓冲区编号时,该处理单元读取该第二子缓冲区储存的数据,在读取完毕后,该先进先出队列清除该第二子缓冲区编号,且回报给该缓冲区代理器以更改该子缓冲区表中该第二子缓冲区的状态为该第二状态。本专利技术所述的串流数据缓冲装置,该第一状态为逻辑状态1。本专利技术所述的串流数据缓冲装置,该第二状态为逻辑状态0。本专利技术所述的串流数据缓冲装置,该子缓冲区表为一N位缓存器。本专利技术所述的串流数据缓冲装置,该存储器缓冲区为一静态随机存储器。本专利技术所述的串流数据缓冲装置,该存储器缓冲区为一闪存。本专利技术更提供一种串流数据缓冲装置的存取方法,用以提供一处理单元存取一串流数据,其中该串流数据缓冲装置包括一存储器缓冲区、一缓冲区代理器以及一先进先出队列,包括下列步骤区分该存储器缓冲区为多个子缓冲区。对该串流数据缓冲装置进行初始化。当该处理单元对该串流数据缓冲装置写入数据时向该缓冲区代理器请求具有第二状态的一第一子缓冲区编号;将数据写入该第一子缓冲区;当该子缓冲区被填满或该储存动作结束时,该缓冲区代理器更改该第一子缓冲区的状态为第一状态,并传送该第一子缓冲区的编号至该先进先出队列。当该处理单元对该串流数据缓冲装置读取数据时侦测该先进先出队列是否具有第一状态的一第二子缓冲区编号;读取该第二子缓冲区的数据;当该读取动作结束后,该先进先出队列清除该第二子缓冲区编号,且回报给该缓冲区代理器以更改该第二子缓冲区的状态为第二状态。本专利技术所述的串流数据缓冲装置的存取方法,更包含下列步骤对该串流数据缓冲装置进行初始化。本专利技术所述的串流数据缓冲装置的存取方法,对该串流数据缓冲装置进行初始化的步骤更包含下列步骤重置该缓冲区;建立一子缓冲区表并重置,该子缓冲区表用以记录对应的子缓冲区的一工作状态;以及重置该先进先出队列。本专利技术所述的串流数据缓冲装置的存取方法,该子缓冲区的工作状态包括一第一状态与一第二状态,该第一状态表示该子缓冲区为可读取,该第二状态表示该子缓冲区为可使用。本专利技术所述的串流数据缓冲装置的存取方法,该第一状态为逻辑状态1。本专利技术所述的串流数据缓冲装置的存取方法,该第二状态为逻辑状态0。本专利技术所述,不会占用太多系统存储器,且使得效率更佳。附图说明图1为一串流数据播放装置使用一现有串流数据缓冲装置的示意图;图2为一串流数据处理装置使用本专利技术的一串流数据缓冲装置的示意图;图3为图2中串流数据处理装置21使用串流数据缓冲装置22的流程图;图4为说明图3所示的流程的本专利技术一具体实施例;图5为两个相异的第一串流数据处理装置与第二串流数据处理装置使用相同的串流数据缓冲装置的示意图。具体实施例方式为让本专利技术的上述和其它目的、特征和优点能更明显易懂,下文特举出较佳实施例,并配合所附图式,作详细说明如下图2为一串流数据处理装置使用本专利技术的一串流数据缓冲装置的示意图。串流数据缓冲装置22包括一缓冲区代理器26、一先进先出队列28以及一存储器缓冲区23。存储器缓冲区23被区分为N个子缓冲区24,且每一子缓冲区24具有一对应编号。缓冲区代理器26内建有一子缓冲区表27,用以表示该N个子缓冲区24的使用状态。当子缓冲区24不可被写入数据(亦即表示该子缓冲区存有数据可供串流数据处理装置21读取)时,在子缓冲区表27中其使用状态为逻辑状态1。当该子缓冲区24可供写入数据时,在子缓冲区表27中其使用状态为逻辑状态0。缓冲区代理器26传送子缓冲区表中逻辑状态为1的子缓冲区编号至先进先出队列28中。串流数据处理装置21会侦测先进先出队列28中是否有逻辑状态为1的子缓冲区编号,若侦测到有逻辑状态为1的子缓冲区编号,串流数据处理装置21便透过输出/输入接口25读取该子缓冲区内的数据。当串流数据处理装置21读取数据结束后,先进先出队列28清除该子缓冲区编号,并回报缓冲区代理器26以修改子缓冲区表27中该子缓冲区的使用状态为0。当串流数据处理单元21储存数据至串流数据缓冲装置22时,串流数据处理装置21必须先向缓冲区代理器26索取一逻辑状态为0的子缓冲区编号,再将数据储存在对应的子缓冲区。当该子缓冲区存满数据或该储存动作结束时,缓冲区代理器26更改子缓冲区表27中该子缓冲区的使用状态为逻辑状态1,并传送该子缓冲区的编号至先进先出队列28。图3为图2中串流数据处理装置21使用串流数据缓冲装置22的流程图。步骤S40为对串流数据缓冲装置22初始化,包括重置该存储器缓冲区23、子缓冲区表27以及先进先出队列28。在串流数据缓冲装置22初始化结束后,串流数据处理装置21可依据对串流数据缓冲装本文档来自技高网
...

【技术保护点】
一种串流数据缓冲装置,用以提供一处理单元储存或读取一串流数据,其特征在于所述串流数据缓冲装置包括:一存储器缓冲区,具有N个子缓冲区,用以储存该串流数据;一缓冲区代理器,具有一子缓冲区表,用以记录对应的子缓冲区的一工作状态,其 中该工作状态包括一第一状态与一第二状态;以及一先进先出队列,用以记录具有该第一状态的子缓冲区编号;当该处理单元接收该串流数据并储存于该串流数据缓冲装置时,该处理单元向该缓冲区代理器请求具有第二状态的一第一子缓冲区以储存该串流 数据,在储存完毕后,该缓冲区代理器将该第一子缓冲区的状态更改为第一状态,并传送该第一子缓冲区的编号至该先进先出队列;当该处理单元侦测到该先进先出队列具有第一状态的一第二子缓冲区编号时,该处理单元读取该第二子缓冲区储存的数据,在读取完 毕后,该先进先出队列清除该第二子缓冲区编号,且回报给该缓冲区代理器以更改该子缓冲区表中该第二子缓冲区的状态为一第二状态。

【技术特征摘要】
1.一种串流数据缓冲装置,用以提供一处理单元储存或读取一串流数据,其特征在于所述串流数据缓冲装置包括一存储器缓冲区,具有N个子缓冲区,用以储存该串流数据;一缓冲区代理器,具有一子缓冲区表,用以记录对应的子缓冲区的一工作状态,其中该工作状态包括一第一状态与一第二状态;以及一先进先出队列,用以记录具有该第一状态的子缓冲区编号;当该处理单元接收该串流数据并储存于该串流数据缓冲装置时,该处理单元向该缓冲区代理器请求具有第二状态的一第一子缓冲区以储存该串流数据,在储存完毕后,该缓冲区代理器将该第一子缓冲区的状态更改为第一状态,并传送该第一子缓冲区的编号至该先进先出队列;当该处理单元侦测到该先进先出队列具有第一状态的一第二子缓冲区编号时,该处理单元读取该第二子缓冲区储存的数据,在读取完毕后,该先进先出队列清除该第二子缓冲区编号,且回报给该缓冲区代理器以更改该子缓冲区表中该第二子缓冲区的状态为一第二状态。2.根据权利要求1所述的串流数据缓冲装置,其特征在于该第一状态为逻辑状态1。3.根据权利要求1所述的串流数据缓冲装置,其特征在于该第二状态为逻辑状态O。4.根据权利要求1所述的串流数据缓冲装置,其特征在于该子缓冲区表为一N位缓存器。5.根据权利要求1所述的串流数据缓冲装置,其特征在于该存储器缓冲区为一静态随机存储器。6.根据权利要求1所述的串流数据缓冲装置,其特征在于该存储器缓冲区为一闪存。7.一种串流数据缓冲装置的存取方法,用以提供一处理单元存取一串流数据,其中该串流数据缓冲装置包括一存储器缓冲区...

【专利技术属性】
技术研发人员:刘志伟
申请(专利权)人:光宝科技股份有限公司
类型:发明
国别省市:71[中国|台湾]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利