分散式视频数据流解码系统与方法

文档序号:7621669阅读:254来源:国知局
专利名称:分散式视频数据流解码系统与方法
技术领域
本发明涉及计算机解码技术,尤其是关于利用辅助解码器分散主要解码器的工作量的一种分散式视频数据流解码系统与方法。
背景技术
图1所示为MPEG(Motion Picture Experts Group)系统解码架构图。MPEG系统数据流输入系统解码器100之后,被分解成三组数据,即视频数据流、音频数据流、以及时序数据。视频数据流被送至视频解码器110,并经由该视频解码器110解压缩成解压缩视频数据。音频数据流被送至音频解码器120,并经由该音频解码器120解压缩成解压缩音频数据。而视频解码器110与音频解码器120是根据时序数据来进行同步控制。
图2显示视频数据流序列的组成架构。视频数据流序列是由多组图像群组所构成,而每个图像群组包含I、P、B、B、P、B、B等数张图像(Picture),其中I为内部图像(Intra-picture)、P为预测的内部图像(Intra-framePredicted picture)、而B为双向预测的图像(Bi-directional Predictedpicture)。每个图像130包含多组区段(slice)140,而每个区段140是由多个巨集区块(Macro-Block)150所组成。且每个巨集区块150由4个8*8像素的区块所构成。根据MPEG规格,若I、P、B图像显示的顺序为I(1)、B(2)、B(3)、P(4)、B(5)、B(6)、P(7),则视频数据流对于I、P、B图像的顺序为I(1)、P(4)、B(2)、B(3)、P(7)、B(5)、B(6)。
由于中央处理单元(Central Processing Unit,CPU)的运算速度正在快速的进步,预计今年CPU的运算速度可超过1.5GHZ。但是,一般硬件(H/W)MPEG的解码速度有限,若只用硬件MPEG执行MPEG的解码工作,则CPU等待(Idle)的比例会越来越高。

发明内容
有鉴于上述问题,本发明的目的是提出一种以中央处理器执行解码软件来支援主要硬件解码器的分散式视频数据流解码系统与方法。
本发明的另一目的是提出一种以辅助硬件处理器来支援主要硬件解码器的分散式视频数据流解码系统与方法。
为达成上述目的,本发明首先提出一种分散式视频数据流解码方法,是以中央处理器执行解码软件构成的辅助解码器来支援由硬件构成的主要解码器的解码动作,借以加速整体的解码效率。该解码方法包含下列步骤读取图像,以软件读取视频数据流的图像;分割图像,以软件将图像分割成多个区段封包;分离区段,以软件将区段封包分离成个别的区段,并在辅助解码器等待时,传送一区段至辅助解码器,且在主要解码器的区段伫列长度小于一预设值时,传送至少一区段至主要解码器;以及,解码步骤,辅助解码器将所接收的区段进行解码以及主要解码器将所接收的区段进行解码。
本发明还提出另一种分散式视频数据流解码系统,其包含一由一中央处理器执行解码软件来进行区段的解码动作的辅助解码器;一由硬件构成来进行区段的解码动作的主要解码器;其中该系统在前述辅助解码器为等待状态时,分配一区段给该辅助解码器。
本发明的分散式视频数据流解码系统与方法,以辅助解码器来支援由硬件构成的主要解码器的解码动作,可以加速整体的解码效率。


图1所示为MPEG系统解码架构图;图2显示视频数据流序列的组成架构;
图3为本发明分散式视频数据流解码系统的架构图;图4为区段封包的架构图;图5为本发明分散式视频数据流解码系统的区段分配流程图的第一实施例;图6为本发明分散式视频数据流解码系统的区段分配流程图的第二实施例。
图中元件参数说明10 主要MPEG解码器 20 辅助MPEG解码器30 视频数据流 40 图像解码器50 区段分离器 60 视频帧具体实施方式
图3为本发明分散式视频数据流解码系统的架构图。如该图所示,分散式视频数据流解码系统1具有两个区段解码器Dmaster与Dsec,其中Dmaster为主要MPEG解码器10,并以硬件实施,而Dsec为辅助MPEG解码器20,可以软件或简单的硬件实施。该数据流解码系统1读取视频数据流30后,该视频数据流30经过图像解码器(Picture decoder)40产生区段封包(slicepackage)并传至区段分离器(Slice dispatcher)50。区段分离器50将区段封包的每个区段分离,并根据控制将每个区段传给主要MPEG解码器10或辅助MPEG解码器20。经过主要MPEG解码器10与辅助MPEG解码器20所产生的解压缩视频数据被存储至视频帧存储器60。上述视频数据流30的读取、图像解码器40、以及区段分离器50是由电脑的软件控制,且由电脑的CPU执行。
辅助MPEG解码器20是以CPU执行解码软件来处理解码前置工作,包括以可变长度解码(Variable Length Decoding,VLD)离散(parsing)压缩的视频数据流、执行已解码参数(decoded coefficients)的反向量化(Inverse quantization,IQ)、以及执行反向离散余弦变换(InverseDiscrete Cosine Transform,IDCT),并将结果存储至运动补偿伫列。之后,可借由简单的硬件或是仍由软件执行运动补偿的工作,并将解压缩视频数据存储至视频帧存储器60。而主要MPEG解码器10为一般现有技术的MPEG解码器,亦将解压缩视频数据存储至视频帧存储器60。由于主要MPEG解码器10与辅助MPEG解码器20是以平行方式处理各区段的解码工作,因此可有效利用CPU高速运算的优点来支援主要MPEG解码器10的解码工作。且,辅助MPEG解码器20可利用电脑的CPU资源来达成,或以简单的硬件来实施,故可减轻主要MPEG解码器10的负担,并提高整体解码效率。
图4显示区段封包的架构。如图所示,区段封包由一图像标头(Picturehead)以及多个区段所构成。由于图像标头的数据量较大,若由图像解码器40直接将该图像标头配置在每个区段,将造成处理上的困难,且占用较大的存储器容量。因此,本发明在图像解码器40时以区段封包的架构来配置图像标头,并于区段分离器50时才将图像标头配置于每个区段,并传至区段解码器。
图5显示本发明分散式视频数据流解码系统的区段分配的控制流程图的第一实施例。如图所示,本发明分散式视频数据流解码系统的区段分配的执行步骤如下步骤S502由电脑读取一编码的图像;步骤S504将该编码的图像解码成区段封包;步骤S506从DMA暂存器(DMA shadowed register)读取主要MPEG解码器10的伫列长度L;步骤S508比较伫列长度L是否小于一预设值N,若伫列长度L小于预设值N,则跳至步骤S510,否则跳至步骤S512;步骤S510输入一区段至主要MPEG解码器10的区段伫列,并由该主要MPEG解码器10执行区段伫列的区段封包的解码工作,并跳至步骤S516;
步骤S512检测辅助MPEG解码器20是否为等待状态,若为等待状态,则跳至步骤S514,否则跳至步骤S516;步骤S514输入一区段至辅助MPEG解码器20,并跳至步骤S516;步骤S516检测该图像是否处理完毕,若尚未处理完毕,则跳至步骤S506,若已处理完毕,则结束。
图6显示本发明分散式视频数据流解码系统的区段分配的控制流程图的第二实施例。如该图所示,本发明分散式视频数据流解码系统的区段分配的执行步骤如下步骤S602分别计算主要MPEG解码器10与辅助MPEG解码器20对于I、P、B图像的解码速度比例;步骤S604由电脑读取一编码的图像;步骤S606将该编码的图像解码成区段封包;步骤S608将分离的区段数据,根据主要MPEG解码器10与辅助MPEG解码器20对于I、P、B图像的解码速度比例,分配给主要MPEG解码器10与辅助MPEG解码器20;步骤S610根据辅助MPEG解码器20对于I、P、B图像的解码速度变化,重新计算主要MPEG解码器10与辅助MPEG解码器20对于I、P、B图像的解码速度比例;步骤S616检测该图像是否处理完毕,若尚未处理完毕,则跳至步骤S606,若已处理完毕,则结束。
计算主要MPEG解码器10与辅助MPEG解码器20的解码速度比例的方法分两个阶段。第一是分别计算主要MPEG解码器10与辅助MPEG解码器20对于预先准备的I、P、B图像解码所花费的时间TI1、TI2、TB1、TB2、TP1、TP2。第二计算主要MPEG解码器10与辅助MPEG解码器20的解码速度比例RI=TI1/(TI1+TI2)、RB=TB1/(TB1+TB2)及RP=TP1/(TP1+TP2)。因此,分配区段时,即可根据解码速度比例RI、RB、RP分配不同区段数量给主要MPEG解码器10与辅助MPEG解码器20。由于主机不仅执行该解码工作,亦可能执行其他程序,所以为了避免分配不均,在步骤S610重新计算主要MPEG解码器10与辅助MPEG解码器20对于I、P、B图像的解码速度比例。如此,可动态调整解码速度比例,使区段的分配最佳化。
图5与图6所示的流程图是以软件控制每个图像的区段该分配给主要MPEG解码器10或辅助MPEG解码器20。在分配的同时,主要MPEG解码器10或辅助MPEG解码器20同时持续进行解码的动作。
以上虽以实施例说明本发明,但并不因此限定本发明的范围,只要不脱离本发明的要旨,该行业者可进行各种变形或变更。
权利要求
1.一种分散式视频数据流解码方法,其特征是是以中央处理器执行解码软件构成的辅助解码器来支援由硬件构成的主要解码器的解码动作,借以加速整体的解码效率,该解码方法包含下列步骤读取图像,读取视频数据流的图像;分割图像,将前述图像分割成多个区段封包;分离区段,将前述区段封包分离成个别的区段,并在辅助解码器等待时,传送一区段至前述辅助解码器,且在前述主要解码器的区段伫列长度小于一预设值时,传送至少一区段至前述主要解码器;以及解码步骤,前述辅助解码器将所接收的区段进行解码,以及前述主要解码器将所接收的区段进行解码。
2.根据权利要求1所记载的分散式视频数据流解码方法,其特征是其中前述辅助解码器的解码步骤是执行可变长度解码离散压缩的视频数据流、执行已解码参数的反向量化、以及执行反向离散余弦变换,并将结果存储至一运动补偿伫列。
3.一种分散式视频数据流解码系统,其特征是包含一由一中央处理器执行解码软件来进行区段的解码动作的辅助解码器;一由硬件构成来进行区段的解码动作的主要解码器;其中该系统在前述辅助解码器为等待状态时,分配一区段给该辅助解码器。
4.根据权利要求3所记载的分散式视频数据流解码系统,其特征是其中该系统在主要解码器的区段伫列小于一预设值时,分配一区段给该主要解码器。
全文摘要
本发明提出一种分散式视频数据流解码系统与方法,是以中央处理器执行解码软件构成的辅助解码器来支援由硬件构成的主要解码器的解码动作,借以加速整体的解码效率;该解码方法包含下列步骤读取图像,以软件读取视频数据流的图像;分割图像,以软件将图像分割成多个区段封包;分离区段,以软件将区段封包分离成个别的区段,并在辅助解码器等待时,传送一区段至辅助解码器,且在主要解码器的区段伫列长度小于一预设值时,传送至少一区段至主要解码器;以及,解码步骤,辅助解码器将所接收的区段进行解码,以及主要解码器将所接收的区段进行解码。
文档编号H04N7/26GK1722841SQ200510089109
公开日2006年1月18日 申请日期2001年7月4日 优先权日2001年7月4日
发明者李钊城, 江金原, 吴富政, 邱永丰 申请人:矽统科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1