Mpeg-4系统一致的体系结构的制作方法

文档序号:7584862阅读:380来源:国知局
专利名称:Mpeg-4系统一致的体系结构的制作方法
技术领域
本发明涉及一种MPEG-4系统一致的体系结构。本发明具有涉及该MPEG-4标准的用于对MPEG-4多媒体数据进行流水化处理的应用。
背景技术
该MPEG-4标准的系统部分定义了访问MPEG多媒体数据(视频,音频,2D和3D图形)的体系结构。在文件“MPEG-4系统”(ISO/IECJTC1/SC29/WG11 N 1901,1997年11月21日)中对MPEG-4系统进行了更精确的描述。这一体系结构是复杂的,因为它提供了对来自大量数据源(网络,广播,存储器…)的任意数量的数据流(诸如音频和视频数据流)的访问。具体地,该标准对于音频和视频的同步规定了一种机制,允许通过时间标记将时序信息引入所述不同的数据流中。
大多数涉及的潜在的产品将使用在比特率方面具有任意类型的稳定性的网络技术(例如,移动网络,因特网)。在这些网络中,比特率是变化的(对于因特网,取决于一天中的时间;对于移动网络,取决于离最近的基站的距离)。由于一个MPEG-4一致的体系结构不得不应付大量的、分别不同具体组织的存储缓冲器,其拓扑结构不得不要处理所谓的结构(该结构可以是固定的,但在该期间通常是动态进化的),一种优化的体系结构的实现必须保证一种适当的缓冲器管理。在这一上下文中要解决的问题涉及在所述体系结构的不同模块之间信息的交换,以避免以下缺点-“流水线”效果的中断,比如在数据流中可导致失去同步的丢失(对于视频流,音频流的中断或音频信号的失去同步终端用户是可察觉的,并且是因此不可接受的);-对于比如视频会议的交互式应用可能太长的处理时间;-如果使用规模过大的缓冲器,造成的存储器资源的浪费。
很难在这些问题的解决方案之间实现折衷,因为减少网络的这种效果的唯一方式是增加缓冲器的大小,而这又增加了延迟和处理的时间,如此等等。还有,在该体系结构实现之前的一个较早阶段预测缓冲器的大小似乎是不现实的,在以前的应用中就是这种情况(比如在TV广播领域中具有MPEG-2标准的例子)。
发明概述因此本发明的一个目的是避免上述这些缺点。
为此,本发明涉及的一种体系结构,其特征在于其被进一步分成多个关键模块,由一个多线程操作系统管理的一个具体任务被分配给所述体系结构的每一部件,以及根据由该多线程操作系统提供的特殊的同步原语优化对缓冲器管理的策略。
MPEG-4系统的实现要能够动态例示一个配置的不同部分,不管这一配置是非常简单的(比如由音频流和视频流组成的电影),或非常复杂的(例如对于具有电讯会议的交互式多用户虚拟现实的应用)。根据本发明的技术方案,其根据具有一个多线程的操作系统的一个或多个微处理器对于MPEG-4系统的每一实现定义了一个通用的体系结构,这也是对这一问题的回答。所建议的体系结构使用在所有多线程环境中提供的基本原语,该体系结构确确实实是标准设计的,灵活的,动态的,可扩展的,以及易于实现和管理。还有,可以针对目标处理器对多线程操作系统进行优化,并且可以被构造成能有效地管理多个任务的同步。
附图的简要描述现在参照下面的描述以及结合附图对本发明的这些以及其他特征进行描述,其中

图1显示了(在所谓的Win32操作系统上)一个MPEG-4系统的缓冲器划分模型的一个实现;图2显示了利用用来保持不同的线程的效率的信号量的控制管理。
本发明的描述所提出的解决方案针对以下问题。首先,定义用于一个优化缓冲器管理的关键模块,其隐含着对MPEG-4系统的具体的普通的划分。这些模块的每一个然后作为一个任务实现,由一个多线程操作系统管理(为了以一种优化的方式管理该缓冲器的填充,要使用由该所述多线程操作系统提供的特定的同步原语)。最后,定义用于该缓冲器管理的策略。
为了定义该MPEG-4系统的关键模块,建议将所述多路分解器分成三个不同的级,以将一个特定的任务分配给该MPEG-4多路分解器的每一部分,如图1所示TransMux,FlexMux,Elementary Stream(基本流)。也定义一个(音频,视频,…)译码器缓冲器,并且在图1中示出,以读取访问单元(AU)和产生可被播放的帧(图象,声音),但是这一任务不是由该多路分解器执行的任务的一部分。
图1的方案作为例子实现在Win32操作系统(=Windows 95)上,该操作系统提供多线程功能。将每一个进程分配给一个线程-一个TransMux线程(TMX),用于读取盘DK上的数据或者在网络NW上的数据,以及存储N个FlexMux分组数据单元(=FM-PDU);-一个FlexMux线程(FMX),用于读取在一个FM-PDU缓冲器中的这些FM-PDU,存储N个访问单元层分组数据单元(=AL-PDU)以及重构N个访问单元,FlexMux FMX和基本流ELS在该实现中被组织在一个单一的线程中。
-一个译码器线程(DEC),用于利用该译码器的访问单元(AU)建立N个帧。
这些线程中的每一个彼此相互独立。如图1所示,将该缓冲器实现为没有任何固定长度的队列,即作为FIFO(先进先出)存储器(因此推荐控制这些缓冲器的状态以避免使得缓冲器过大或使得任务没有缓冲器可用)。
然而,这些任务必须使用所谓的同步原语相互监视,这是通过信号量(或计数器)而进行的,使得不同的线程具有较高的效率。由操作系统提供的这些信号量的每一个控制该多路分解器中的每个相应的缓冲器(FM-PDU,AL-PDU,AU)。对于每个译码器,也有一个控制该译码器缓冲器的信号量,以及在该AU缓冲器变得太大时通知该TransMux必须停止下来的另外一个信号量。
这些动作描述在图2中,图2示出了利用信号量的控制管理。步骤(1)和(2)对应于下列测试(1)“如果N大于0,则工作”,以及(2)“如果N大于Max,则停止”。
根据该操作系统的同步功能,根据下列的缓冲器管理策略执行这一控制功能(a)在运行时由TransMux TMX进行读取在本地磁盘DK中的数据或者在网络NW上的数据,这是第一操作;(b)该FlexMux FMX监视TransMux TMX;(c)该基本流ELS监视FlexMux FMX;(d)在AU出现在AU缓冲器中时该实时译码进程启动;(e)该TransMux TMX的调节由控制该AU缓冲器不在临界状态的AU反馈信号量进行。
该缓冲器管理策略的原则是使该缓冲器的规模尽可能地小。在AL-PDU的数量足以重构一个AU时,就要立即进行这种重构。从而总是有用于译码的数据。
另外,一个重要之处是考虑所使用的TransMux的类型。可以区别两类TransMux一种是较慢的(网络访问),一种是快速的(磁盘访问)。磁盘的访问快速,并且在延迟方面是稳定的,采用这种访问,就不需要在不同的缓冲器中存储许多数据,因为不会出现丢失,并且该最大临界值可以相当低。相反,网络访问引入许多延迟(例如因特网),因此在缓冲器中存储较多的数据以便不使该译码器处于等待状态是重要的。
然而在有多于一个译码器的情况下,必须指出的是只有在所有AU缓冲器已到达该临界最大值时才停止该TransMux,以便不使译码线程处于等待状态(因此假定该多路复用策略已经为该目的在发送侧进行了改造)。
权利要求
1.一种MPEG-4系统一致的体系结构,其特征在于其被进一步分成多个关键模块,由一个多线程操作系统管理的一个具体任务被分配给所述体系结构的每一部件,以及根据由该多线程操作系统提供的特殊的同步原语优化对缓冲器管理的策略。
2.根据权利要求1的体系结构,其特征在于该MPEG-4多路分解器被分成三级不同的进程第一级是TransMux,其用于读取在一个本地磁盘上的数据或者在一个网络上的数据,并且按照分组数据单元存储该数据;第二级是FlexMux,其用于读取所述分组数据单元,以及存储访问单元层分组数据单元;以及第三级,用于重构访问单元。
3.根据权利要求2的体系结构,其特征在于每个进程彼此相互独立,为了彼此相互监视,通过控制每个缓冲器的信号量由所述操作系统提供同步原语,以使得该缓冲器的大小被保持得尽可能地小的。
全文摘要
本发明涉及一种MPEG-4系统一致的体系结构,该体系结构被分成多个关键模块,所述关键模块具有的特定的任务由一个多线程操作系统管理。该MPEG-4多路分解器被分成三级进程。每一进程之间相互独立,但由操作系统以控制缓冲器的信号量的形式提供同步原语,以将缓冲器的规模保持得尽可能地小。该发明可应用于所有种类的工业MPEG-4设备(桌面设备,机顶盒)。
文档编号H04N7/50GK1256047SQ99800066
公开日2000年6月7日 申请日期1999年1月14日 优先权日1998年1月27日
发明者P·根特里克, L·赫尔曼恩 申请人:皇家菲利浦电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1