操作系统处理多媒体数据的方法

文档序号:6572127阅读:175来源:国知局
专利名称:操作系统处理多媒体数据的方法
操作系统处理多媒体数据的方法
技术领域
本发明是一种操作系统处理多媒体数据的方法,尤指一种应用于多媒体 产品所使用的一操作系统上,通过统一分配、处理所取得的多媒体数据,以 节省数据处理的时间。背景技术
由于当今世界信息科技及通信产业的快速提升, 一个信息科技化、电子 产业蓬勃发展的时代已经来临,各种由计算机所衍生而出的嵌入式多媒体产 品已与我们生活息息相关,随着目前嵌入式多媒体产品(例如多媒体影像 播放器、行动电话、个人数字助理装置及携带式储存装置等等)的普及率与 高使用率,以及市场上的竞争越来越激烈,业界中各家厂商不断研发为争夺 这块大饼的情况下,各家厂商都不断地推陈出新,以新、巧取胜,以吸引许 多使用者的喜爱,且使用者对于嵌入式多媒体产品的需求越来越高,因此, 未来的嵌入式多媒体产品所具有的处理能力及其处理速度的提升将越来越不 容易满足消费大众。
各大电子厂商有鉴于目前的嵌入式多媒体产品多具可携带特性,而均以 轻薄短小轻薄且携带方便的研发方向为重点,而不断地减少产品本身的体积 及重量,这些嵌入式多媒体产品为避免耗电用量及散热方面的限制,因此, 在搭配处理模块的考虑上,会尽量使用低耗电及低运算能力的处理模块,加 上所述嵌入式多媒体产品必须花费相当程度的运算量(如解、编影像码或 解密工作)来应付处理大量的多媒体影音数据,因此,所述嵌入式多媒体产 品便需搭配多个多媒体处理器来弥补该处理模块于不同功能上运算能力的不 足,而且也因为嵌入式多媒体产品本身的操作系统及相对应功能的应用程序 也需要所述多媒体处理器的驱动程序支持,通过各驱动程序来驱使对应的多 媒体处理器,减缓该处理模块于运算下的负担。
再者,习知的应用程序接受到一多媒体数据而欲对该多媒体数据进行处 理时,必须自行呼叫专司相对应功能的多媒体处理器所代表的驱动程序,使 该多媒体处理器对该数据进行解编码等的数据处理,等到该多媒体处理器的 驱动程序对该数据处理完毕后,该多媒体处理器再将处理后的数据回馈至该 应用程序,在一来一往的过程后,该操作系统势必花费相当多的时间及资源 来处理每一笔多媒体数据,造成该处理模块的负担,因此,如何设计出一种 操作系统处理多媒体数据流的方法,使得该嵌入式多媒体产品的软件及硬件发挥出其硬件的最大效能,实是设计及制造嵌入式多媒 体产品的业者,亟待解决与改进的重要课题。
发明内容
本发明的目的在于提供一种操作系统处理多媒体数据的方法,以使得该 嵌入式多媒体产品的软件及硬件可更有效的整合,以发挥出其硬件的最大效 能。
本发明提供一种操作系统处理多媒体数据的方法,其应用于一种多媒体 产品的一操作系统上,其方法首先于取得一多媒体数据,且将该多媒体数据 区分成若干数据区块后,所述数据区块开始于该操作系统内进行排列,并接 受一处理队列单元以先后顺序的排列方法,分别由一分配单元根据各数据区 块的信息表头,而依序将各数据区块指派到至少一处理器,使各处理器可以 对所分配到的数据区块进行数据的排程及处理,嗣,该处理后的数据区块可 被回馈至该操作系统内,接受该处理队列单元的排序,等待该分配单元下一 次的指派,直到该数据区块被处理完成为止,则该处理器将该数据区块送至 该应用程序以供输出。
与现有技术相比较,本发明可节省许多处理多媒体数据的时间及资源, 以节省操作系统的负担,使得该嵌入式多媒体产品的软件及硬件可更有效的 整合,以发挥出其硬件的最大效能。


图l是本发明的构想示意图。
图2是本发明的主流程图。 图3是本发明第一信息表头的示意图。 图4是图2中步骤30的细部流程图。 图5是图2中步骤40的细部流程图。 图6是图2中步骤50的细部流程图。 图7是本发明第二信息表头的示意图。 图8是图2中步骤60的细部流程图。
具体实施方式
本发明是一种操作系统处理多媒体数据的方法,请参阅图1所示,其应 用于一种多媒体产品(如嵌入式多媒体产品,embedded multimedia system) 所使用的一操作系统(operation system)上,该方法包括下列步骤,请参 阅图2所示,并对各步骤加以解释说明
(10)使一应用程序3(application,如音源播放程序)由该媒体产品 内的一内存l (如闪存flash、硬盘HDD等)或由外界的信息来源2 (如 无线网络、外接内存)取得多媒体数据31,该多媒体数据31可为一音源或影像数据流(data stream),该音源或影像数据流经数据处理后,可通过该应 用程序3于该多媒体产品输出;
(20)该应用程序3将该多媒体数据31细分成若干数据区块32(data block),并分别于各数据区块32中制作一第一信息表头320(headerl),该第 一信息表头320可做为代表该数据区块32本身的相关信息(如种类、尺寸), 以供后续处理者进行辨识的依据,复请参阅第l、 3图所示,其内分别设有-
1、 先后信息(entry)字段321,用以纪录该数据区块32的前、后列数 据区块32的位置数据;
2、 程序号码(process ID)字段322,代表此数据区块32所属应用程序 3的程序号码;
3、 处理器代号(process unit ID)字段323,供一处理器6内部使用, 代表对该数据区块32进行下一步处理的处理器6 (如PU1 3);
4、 处理阶段代码(stage)字段324,代表此数据区块32目前所进行的 处理阶段,如0、 1、 2、 3及Done,代码0代表数据区块32尚未被数据处 理,代码1 3代表数据区块32尚需进行数据处理,如数据区块32己被解 密完毕,正等待下一次进行转码作业,而代码Done代表已被处理完毕,可被 送回该应用程序3,以供输出;
5、 完成指标(Flag)字段325, 一记号表示此数据区块32于所位的处理 阶段是否已被处理完毕;及
6、 信息(data)字段326,记录有由该应用程序3所传来的相关数据, 其中可细分有
a. 数据种类字段327,其内记录有此数据区块32本身的数据种类,例如 MP3、 MP4或DES等等;
b. 数据尺寸字段328,其内记录有此数据区块32本身的尺寸大小,通常 为4Kbyte,若此数据区块32的尺寸大小不足4Kbyte,则便以0予以填满;
c. 错误状态区位329,若此数据区块32发生错误,则于其内记录对应的 错误状态代号;及
d. 数据位置字段330,其内记录有此数据区块32本身于传递时,所被放 置于该操作系统内的辨识地址。
(30) 使所述数据区块32于该操作系统内接受至少一处理队列单元4的 排序,而依序地等待进行数据处理,该处理队列单元4为一种先进先出的架 构,由各处理队列单元4依据提供有最新顺位的数据区块32的一顺位变量41, 使该应用程序3送来的所述数据区块32,依先后顺序的顺序进行处理,复请 参阅第l、 4图所示,其细部步骤进行如下
(31) 该处理队列单元4以先进先出的排序方式,将若干数据区块32依序地等待进行数据处理;
(32) 于各数据区块32的先后信息字段321内纪录该数据区块32的前、 后顺位的数据区块32;
(33) 并于每一数据区块32开始接受各处理队列单元4的排序时,更改 原先最后一位排列的数据区块32的先后信息字段321;
(34) 依该顺位变量41内最新顺位可进行数据处理的数据区块32,而提 供予该操作系统的一分配单元5进行分配;及
(35) 当该顺位变量41内最新顺位可进行数据处理的数据区块32被该 分配单元5予以分配后,由该处理队列单元4更改该顺位变量41,使其改变 为最新顺位的另一数据区块32,回步骤(31)。
此外,该处理队列单元4依据该数据种类字段327内所纪录不同种类的 数据区块32 (如影像数据及音源数据)可交叉地先后排列于该处理队列单 元4内,使得所述多媒体数据31的数据区块32可同步地被输出,该处理队 列单元4也可配合多任务的执行命令。
(40) 由该分配单元5根据各数据区块32的第一信息表头320,对最新 顺位的数据区块32的数据种类字段327进行检査,并依据该处理阶段代码字 段324内的代码,及该完成指针字段325的记号而判断该数据区块32的下一 处理阶段(如解密、译码或压縮格式),而对各数据区块32分别地指派到 与其相对应的至少一处理器6,复请参阅第l、 5图所示,其详细步骤如下
(41) 该分配单元5判断该处理阶段代码字段324内的代码是否为0 (代 表数据区块32尚未被数据处理过),若是,则进行步骤(42),否则进行步骤
(43);
(42) 该分配单元5依据该数据种类字段327内所纪录不同种类的数据 型态(如MP3、 MP4或DES等等),将该数据区块32指派至对应的处理器6
(如PU1),以进行该数据区块32的数据排程,其中该处理器6 (如PU1) 被定义为处理此数据区块32的主处理器(通常为处理数据区块32的第一个 处理器),结束步骤(40)的细部步骤。
(43) 该分配单元5判断该完成指针字段325内的记号是否代表该数据 区块32尚未被该处理器6处理完毕,若是,则进行步骤(44),否则进行步 骤(45);及
(44) 该分配单元5依据该处理器代号字段323内所记录的处理器6(如 PU2或3),将该数据区块32指派至对应的处理器6 (如PU2或3),以对该 数据区块32进行数据处理,其中该处理器6 (如PU2或3)被定义为此数据 区块32的程序处理器(通常为第一个处理此数据区块32以后的处理器6), 即结束步骤(40)的细部步骤。
8(45)代表该数据区块32已被对应的处理器6处理完毕,则该分配单元 5再度将该数据区块32指派至该主处理器(如PU1),以便该主处理器对该 处理器代号字段323、处理阶段代码字段324及完成指标字段325径行更改, 即结束步骤(40)的细部步骤。
(50) 当该分配单元5依据该数据种类字段327内所纪录不同种类的数 据型态,将该数据区块32指派至该主处理器后,其中首要处理该数据区块32 的处理器6 —旦成为主处理器,则该主处理器则负责决定且逐次记录该数据 区块32此次处理阶段代码字段324的处理阶段,及决定各处理阶段负责处理 各数据区块32的程序处理器(即该处理器代号字段323内的处理器代号), 故,复请参阅第l、 6图所示,当该分配单元5将该数据区块32指派至该主 处理器后,其详细步骤如下
(51) 该主处理器检查该数据区块32的处理阶段代码字段324的代码, 判断所分配到的数据区块32是否不需再度进行数据处理(如代码为Done), 若是,则进行步骤(56),否则进行步骤(52);
(52) 该主处理器将所分配到的数据区块32的处理阶段代码字段予以修 改,使其处理阶段代码字段324内的代码径行晋级(如代码1修改为代码2 等),以供该分配单元5得知该数据区块32的下一项处理阶段;
(53) 该主处理器将所分配到的数据区块32的处理器代号字段323予以 修改,对该处理器代号字段323内的处理器代号更改为下一项处理阶段的程 序处理器(如PU2修改为PU3),以供该分配单元5得知可对该数据区块32 进行下一项处理阶段的程序处理器;
(54) 该主处理器将所分配到的数据区块32的完成指标字段325予以修 改,使该完成指针字段325内的记号更改为代表该数据区块32尚未被该处理 器6处理完毕;及
(55) 该主处理器将修改后的数据区块32回馈至该操作系统内,接受该 处理队列单元4的排序,以供该分配单元5分配至程序处理器,使得该分配 单元5可再度进行步骤(41)。
(56) 由该主处理器将该数据区块32送至该应用程序3对外输出,即结 束步骤(50)的细部步骤。
在此值得介绍的是,任一处理器6为使该分配单元5得以辨识,并依循 呼叫该处理器6,具有一第二信息表头61 (header2),该第二信息表头61内 包括有以下的数据,以供该分配单元5读取及辨识使用,复请参阅第l、 7图
所示
1、处理器启动程序(pu_init)字段611,纪录有该处理器6的启动程 序,以供该分配单元5依据该启动程序,而于呼叫该启动程序时,以启动该处理器6,该处理器6并于程序正确时,传回0(null)值,或于程序错误时, 而传回负数值;
2、 数据区块处理程序(dispatch)字段612,纪录有此处理器6进行处 理数据区块32的程序,该处理器6并于程序正确时,传回0 (null)值,或 于程序错误时,而传回负数值;及
3、 信息及状态指针(Flags)字段613,拥有32位的空间,并以一信息 来表示此处理器6目前的状态及角色(如主处理器或程序处理器)及记录 有该处理器6的种类,以专门处理不同数据区块32的数据型态,以供该操作 系统于初始化时,可对该分配单元5进行注册,使得该分配单元5得知该处 理器6的功能,使得该信息及状态指针字段613成为该分配单元5指派该数 据区块32至何种处理器6的依据。
(60) 该分配单元5依据该数据区块32被修改后的处理器代号字段323、 处理阶段代码字段324及完成指标字段325,将该数据区块32分配至与其处 理阶段相对应的程序处理器进行数据处理,复请参阅第l、 8图所示,其详细 步骤如下
(61) 该分配单元5依据该处理器6的数据区块处理程序字段612呼叫 该处理器6的数据区块处理程序,以启动该处理器6所对应的一驱动程序7
(处理器6并非必要对应有其驱动程序7);
(62) 该处理器6使该驱动程序7对该数据区块32进行数据处理;及
(63) 该程序处理器并于处理该数据区块32后,使该数据区块32的完 成指标字段内改变为代表该数据区块32已被该处理器6处理完毕的记号。
(70)该处理后的数据区块32被回馈至该操作系统内,接受该处理队列 单元4的排序,等待该分配单元5下一次的指派,回步骤(50),直到该数据 区块32被处理完成为止。
该操作系统利用统一呼叫处理器,来处理一连串繁杂的程序,如此,便 可节省许多处理多媒体数据的时间及资源,以节省操作系统的负担,使得该 嵌入式多媒体产品的软件及硬件可更有效的整合,以发挥出其硬件的最大效 能,本发明极具产业利用性、新颖性及进步性,具有可获得专利的要件。
权利要求
1、一种操作系统处理多媒体数据的方法,其应用于一种多媒体产品的一操作系统上,其特征在于该操作系统处理多媒体数据的方法包括由一应用程序取得多媒体数据,并分解该多媒体数据成若干数据区块;使所述数据区块于该操作系统内接受至少一处理队列单元的排序,而依序地等待进行数据处理;由一分配单元根据各数据区块的一第一信息表头,而对各数据区块分别地指派到至少一处理器;使各处理器对所分配到的数据区块进行数据排程及处理;该处理后的数据区块被回馈至该操作系统内,接受该处理队列单元的排序,等待该分配单元下一次的指派,直到该数据区块被处理完成为止;及由该处理器将该数据区块送至该应用程序对外输出。
2、 根据权利要求1所述的操作系统处理多媒体数据的方法,其特征在于 该第一信息表头包括一先后信息字段,用以纪录该数据区块的前、后列数据区块的位置数据; 一程序号码字段,代表此数据区块所属应用程序的处理程序号码; 一处理器代号字段,供一处理器内部使用,代表对该数据区块进行下一步处理的处理器;一处理阶段代码字段,代表此数据区块目前所进行的处理阶段; 一完成指针字段,以一记号表示此数据区块于所位的处理阶段是否已被处理完毕;及一信息字段,记录有数据种类、数据尺寸、错误状态及被放置于该操作 系统内的数据位置。
3、 根据权利要求2所述的操作系统处理多媒体数据的方法,其特征在于 各处理队列单元依据提供有最新顺位的数据区块的一顺位变量,使该应用程 序送来的所述数据区块,该处理队列单元依如下的步骤进行以先进先出的排序方式,使所述数据区块依序地等待进行数据处理; 于各数据区块的先后信息字段内纪录该数据区块的前、后顺位的数据区块;于每一数据区块开始接受各处理队列单元的排序时,更改原先最后一位 排列的数据区块的先后信息字段;依该顺位变量内最新顺位可进行数据处理的数据区块,而提供予该分配 单元进行分配;及当该数据区块被该分配单元予以分配后,由该处理队列单元更改该顺位变量,使其改变为最新顺位的另一数据区块,再回到使所述数据区块依序地 等待进行数据处理,并进行后续步骤。
4、 根据权利要求3所述的操作系统处理多媒体数据的方法,其特征在于: 该分配单元根据各数据区块的第一信息表头,对最新顺位的数据区块的数据 种类字段进行检査;依据该处理阶段代码字段内的代码,及该完成指针字段的记号而判断该数据区块的下一处理阶段;及将各数据区块分别地指派到与其相对应的至少一处理器。
5、 根据权利要求4所述的操作系统处理多媒体数据的方法,其特征在于: 当该分配单元根据各数据区块的一第一信息表头,而对各数据区块分别地指 派到至少一处理器时,其步骤如下判断该处理阶段代码字段内的代码是否代表数据区块尚未被数据处理过;当该处理阶段代码字段内的代码代表数据区块尚未被数据处理过,则该 分配单元依据该数据种类字段内所纪录不同种类的数据型态,将该数据区块 指派至对应的一处理器,进行对该数据区块的数据排程;及定义该处理器为处理此数据区块的主处理器。
6、 根据权利要求5所述的操作系统处理多媒体数据的方法,其特征在于 当该分配单元判断该完成指针字段内的记号代表数据区块已被数据处理过, 则该分配单元依据该处理器代号字段内所记录的处理器,将该数据区块指派 至对应的处理器,对该数据区块进行数据处理;及定义其余的处理器为此数据区块的程序处理器。
7、 根据权利要求6所述的操作系统处理多媒体数据的方法,其特征在于 当该分配单元判断该完成指针字段的记号代表该数据区块尚未被该处理器处 理时,则该分配单元再度将该数据区块指派至该主处理器。
8、 根据权利要求7所述的操作系统处理多媒体数据的方法,其特征在于 当该处理器被定义为处理此数据区块的主处理器后,该主处理器则负责决定 且逐次记录该数据区块此次处理阶段代码字段的处理阶段,及决定各处理阶 段负责处理各数据区块的程序处理器。
9、 根据权利要求8所述的操作系统处理多媒体数据的方法,其特征在于 当该分配单元将该数据区块指派至该主处理器后,其详细步骤如下该主处理器检查该数据区块的处理阶段代码字段的代码,判断所分配到 的数据区块是否不需再度进行数据处理;当该主处理器判断出该数据区块仍需再度进行数据处理,则该主处理器 将所分配到的数据区块的处理阶段代码字段予以修改,使其处理阶段代码字段内的代码径行晋级;该主处理器将所分配到的数据区块的处理器代号字段予以修改,对该处 理器代号字段内的处理器代号更改为下一项处理阶段的程序处理器;该主处理器将所分配到的数据区块的完成指针字段予以修改,使该完成 指针字段内的记号更改为代表该数据区块尚未被该处理器处理完毕;及嗣,该主处理器将修改后的数据区块送回该分配单元,以供该分配单元 分配至程序处理器。
10、 根据权利要求9所述的操作系统处理多媒体数据的方法,其特征在 于当该主处理器判断出该数据区块不需再度进行数据处理,则该主处理器 将该数据区块送至该应用程序对外输出。
11、 根据权利要求10所述的操作系统处理多媒体数据的方法,其特征在 于任一处理器具有一第二信息表头,以供该分配单元使用,该第二信息表头包括一处理器启动程序字段,纪录有此处理器的启动程序,以供该分配单元 依据该启动程序,而于呼叫该启动程序时,以启动该处理器,该处理器并于程序正确时,传回0值,或于程序错误时,而传回负数值;一数据区块处理程序字段,纪录有此处理器进行处理数据区块的处理程 序,该处理器并于程序正确时,传回0值,或于程序错误时,而传回负数值; 及一信息及状态指针字段,以一信息来表示此处理器目前的状态及角色, 以及记录有该处理器本身的种类,以及可专门处理数据区块的数据型态,以 供该操作系统于初始化时,可对该分配单元进行注册,使得该分配单元得知 该处理器的特性,成为该分配单元指派该数据区块至何种处理器的依据。
12、 根据权利要求9所述的操作系统处理多媒体数据的方法,其特征在 于当该主处理器将修改后的数据区块送回该分配单元后,该分配单元依据 该数据区块被修改后的处理器代号字段、处理阶段代码字段及完成指针字段, 将该数据区块分配至与其处理阶段相对应的程序处理器进行数据处理。
13、 根据权利要求12所述的操作系统处理多媒体数据的方法,其特征在于该分配单元依据该处理器数据区块处理程序字段内的数据区块处理程序, 呼叫该程序处理器,启动该程序处理器所对应的一驱动程序; 该程序处理器使该驱动程序对该数据区块进行数据处理;及 该程序处理器并于处理该数据区块后,使该数据区块的完成指针字段内 改变为代表该数据区块已被该处理器处理完毕的记号。
全文摘要
本发明提供一种操作系统处理多媒体数据的方法,应用于一种多媒体产品的一操作系统上,其方法由一应用程序取得多媒体数据并区分成若干数据区块后,所述数据区块于该操作系统内进行排列,并接受一处理队列单元的排序,以排列的先后顺序依序地由一分配单元根据各数据区块的信息表头,而对各数据区块分别地指派到至少一处理器,使各处理器对所分配到的数据区块进行数据排程及处理,嗣,该处理后的数据区块被回馈至该操作系统内,接受该处理队列单元的排序,等待该分配单元下一次的指派,直到该数据区块被处理完成为止,则该处理器将该数据区块送至该应用程序以供输出。
文档编号G06F9/44GK101441558SQ20071003159
公开日2009年5月27日 申请日期2007年11月23日 优先权日2007年11月23日
发明者罗明远 申请人:佛山市顺德区顺达电脑厂有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1