[发明专利]用于解析多层次数据流的方法、系统和装置无效
申请号: | 200810131789.9 | 申请日: | 2008-06-30 |
公开(公告)号: | CN101621686A | 公开(公告)日: | 2010-01-06 |
发明(设计)人: | 阎蓉;袁昱;徐晟;杨雨东;刘星;李获鼎;邵凌 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | H04N7/26 | 分类号: | H04N7/26;G06T1/60;G06T1/00 |
代理公司: | 北京市金杜律师事务所 | 代理人: | 王茂华 |
地址: | 美国纽*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 解析 多层次 数据流 方法 系统 装置 | ||
技术领域
本发明涉及数据处理领域,更具体地说,涉及用于解析多层次数据流的方法、系统和装置。
背景技术
在对多层次数据流进行解码时,首先需要对该数据流进行解析,然后才能对解析后的数据进行解码。典型的多层次数据流例如H.264视频数据流,其中视频数据流分为如下几个层次:数据流由数据帧组成,数据帧由数据片组成,而数据片由数据宏块组成。在对H.264视频数据流进行解码时,各数据帧需要最终被解析成数据宏块才能进行后续的解码工作。在某些应用中,例如在移动终端上,处理器的处理能力有限,单个的主处理单元(PPU,Primary Processing Unit)无法实现对高比特率数据流的实时解析。在这种情况下,可以考虑用多个协处理单元(SPU,Synergistic Processing Unit)并行地进行解析工作。
一种简单的想法是基于帧进行并行解析;也就是说,PPU将不同的帧分配给不同的SPU作解析。但是,一般来说数据流中前后帧数据在解码时存在一定的依赖关系,即后一帧的解码需要以前一帧为基础;同时由于帧与帧之间的差别,对不同帧进行解析所需的时间也不同。在后帧的解析已经由一个SPU完成而前帧的解析尚未由另一个SPU完成的情况下,由于无法对前帧进行解码,导致无法对后帧进行解码。这一方面降低了解码效率,另一方面由于需要对后帧的已解析数据进行缓存,从而增加了存储要求。此外,在SPU的存储量不足以存储整个数据帧的情况下,需要PPU将一帧数据分成若干份发送给SPU,当SPU的数目很大时,PPU和SPU之间的数据调度和传输会变得相当复杂。
发明内容
有鉴于此,本发明提供了用于解析多层次数据流的方法、系统和装置。所述多层次数据流中,数据帧包括多个数据片,数据片包括多个数据宏块。
根据本发明所提供的技术方案,调度器分配并初始化预解析器和深度解析器,分配并初始化共享存储区;
预解析器将所述数据帧预解析为数据片,并将预解析结果放入所述共享存储区;和
深度解析器从共享存储区中逐个取走所述数据片,并将该数据片深度解析为所述数据宏块。
本发明的技术方案在同一数据帧中的数据片这一水平进行并行处理。从数据帧的水平来看,总是满足先完成对前帧的解析再开始对后帧的解析,因此不会出现后帧已经解析完成而前帧尚未解析完成的情况。存储量方面,只要求缓存一帧的数据,相比基于帧的并行处理大大减少。SPU的存储容量通常足以存储一个数据片,因此调度器和解析器之间,以及预解析器和深度解析器之间的数据调度和传输非常简单。
根据本发明进一步的优选实施例,解析器的数目可以变化。一种情况是,所述调度器可以在开始对一个数据帧进行解析时,调整解析器的数目;调度器还可以在对一个数据帧进行解析的过程中动态地增加或减少解析器的数目。
另一种情况是,解析器的总数不变,但是所述预解析器可以从预解析模式和深度解析模式之间切换;预解析器从预解析模式切换到深度解析模式,相当于增加了深度解析器的数目。特别地,预解析器可以在完成预解析之后,从预解析模式切换到深度解析模式。进一步,预解析器可以根据共享存储区中的数据量,从预解析模式切换到深度解析模式以避免共享存储区溢出,或者从深度解析模式切换到预解析模式以避免深度解析器闲置。
由于解析器的数目可以变化,因此可以在保证解析速度的前提下,提高解析器的使用效率。
附图说明
图1是根据本发明实施例的用于解析多层次数据流的系统的框图。
图2是根据本发明实施例的共享存储区的示意图。
图3是根据本发明实施例的用于解析多层次数据流的方法的整体流程图。
图4是根据本发明实施例的对数据片进行深度解析的详细流程图。
图5是根据本发明实施例的解析多层次数据流的示例。
具体实施方式
以下参照附图说明本发明提供的解析多层次数据流的方法、系统和装置的具体实施方式。需要说明的是,在本申请文件中,采用了数据帧、数据片和数据宏块等名词,但是可以理解,这些名词仅仅是对有包容关系的多个数据层次的称谓。在本发明应用于不同的多层次数据流时,可能会有不同的称谓。
图1是根据本发明实施例的用于解析多层次数据流的系统的框图。
如图1所示,根据本发明实施例的用于解析多层次数据流的系统包括:调度器、预解析器、深度解析器和共享存储区。其中预解析器和深度解析器可以统称为解析器。位于主内存中的共享存储区包括辅助信息存储区和存储队列。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810131789.9/2.html,转载请声明来源钻瓜专利网。