帧标题的自动检测方法转让专利

申请号 : CN200910160178.1

文献号 : CN101964187B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 连矩锋

申请人 : 晨星软件研发(深圳)有限公司晨星半导体股份有限公司

摘要 :

本发明是一种帧标题的自动检测方法,通过搜寻比较输入帧的实际内容及预设的同步码,来增加系统解码效率及减少程序错误的机率,一旦发生解码错误时即利用本身自我修复的机制来快速恢复正常运作。

权利要求 :

1.一种帧标题的自动检测方法,适用于一接收端装置根据多个标题标记而运作,该自动检测方法包含以下步骤:(a)该接收端装置接收一输入帧,其包含一帧标题及一帧压缩数据块;

(b)当这些标题标记的其中之一等于一第一默认值时,对该输入帧进行相对应的语法分析及音讯解码;以及(c)当该输入帧的前多个位等于多个同步码的至少其中之一时,将一相对应的标题标记设为该第一默认值并对该输入帧进行相对应的语法分析及音讯解码;

(d1):当该语法分析失败时,丢弃该输入帧的前m个位组数据并将这些标题标记设为一第二默认值,其中m为正整数;

(d2):当该音讯解码失败时,丢弃该输入帧的前m个位组数据并将这些标题标记设为一第二默认值,其中,m为正整数;

(d3):当该输入帧的前多个位不等于这些同步码时,丢弃该输入帧的前m个位组数据并将这些标题标记设为一第二默认值,其中,m为正整数。

2.根据权利要求1所述的自动检测方法,其特征在于,还包含步骤(e):重复执行前述所有步骤。

3.根据权利要求1所述的自动检测方法,其特征在于,该步骤(c)是根据一优先顺序,将该相对应的标题标记设为该第一默认值并对该输入帧进行相对应的语法分析及音讯解码。

4.根据权利要求1所述的自动检测方法,其特征在于,该步骤(b)是根据具有该第一默认值的该标题标记,对该帧标题进行相对应的语法分析及对该帧压缩数据块进行相对应的音讯解码。

5.根据权利要求3所述的自动检测方法,其特征在于,该步骤(c)包含:当该输入帧的前多个位等于这些同步码的至少其中之一时,根据该优先顺序,决定一个具有最高优先权的同步码;

根据该具有最高优先权的同步码,将相对应的标题标记设为该第一默认值;以及根据该具有最高优先权的同步码,对该帧标题进行相对应的语法分析及对该帧压缩数据块进行相对应的音讯解码。

6.根据权利要求5所述的自动检测方法,其特征在于,这些标题标记至少包含一第一标题标记及一第二标题标记,这些同步码至少包含一第一同步码及一第二同步码,其中,该第一同步码的优先权高于该第二同步码。

7.根据权利要求6所述的自动检测方法,其特征在于,该第一同步码等于0x287,且该第二同步码等于0xFFF。

8.根据权利要求1所述的自动检测方法,其特征在于,该步骤(d3)中当该输入帧的前多个位不等于这些同步码时,m等于1。

9.根据权利要求1所述的自动检测方法,其特征在于,m大小取决于该接收端装置的处理时间。

10.根据权利要求1所述的自动检测方法,其特征在于,在系统初始化时,各标题标记被设为该第二默认值。

11.根据权利要求1所述的自动检测方法,其特征在于,该帧标题是一AAC帧标题。

说明书 :

帧标题的自动检测方法

技术领域

[0001] 本发明有关进阶音讯编码(advanced audio coding,AAC)技术,尤有关于一种AAC帧标题(frame header)的自动检测方法。

背景技术

[0002] 由于音讯压缩技术的持续发展,在MP3掀起一股潮流之后,MPEG就新的音讯压缩技术不断讨论,产生了AAC(MPEG-2)以及最新的HE-AAC(high-efficiency AAC)(MPEG-4)两个重要的音讯压缩标准。其中,HE-AAC结合AAC技术及频段复制(Spectral Band Replication)技术,压缩效率比AAC提升至少30%,也领先目前文献上其它音讯压缩技术。
[0003] 图1是显示传输流(transport stream,TS)、音讯基本封包流(packetized elementarystream,PES)及帧(frame)之间的关系图。AAC串流(bit stream)的核心是帧,每一个帧包含一帧标题及一帧压缩数据块(raw data block)。一般帧压缩数据块包含2048、或1024、或512、或256个时间域取样点。AAC标准为每一个帧定义了一个ADTS(audio data transport stream)标题,而HE-AAC标准则为每一个帧定义了一个LOAS(low-overhead audio stream)标题或LATM(low-overhead MPEG-4 audiotransport multiplex)标题,来记录帧的相关解码信息。另一方面,帧的外层是音讯PES,亦即帧是装载于PES的承载数据部分(PES payload),而在音讯PES的外层则是TS封包,适合噪声干扰较多的使用环境中传输。
[0004] 一般TS串流可能混杂了上述二种音讯标准,接收端装置的信息流语法解析器(stream information parser)接收TS串流后,对每一个TS封包进行语法解析,若发现一TS封包的数据形式(stream_type)字段的值等于0xF时(例如:PMT中的stream_type字段),表示其相对应的音讯PES支持MPEG-2 AAC音讯压缩标准且内含的帧具有一ADTS标题,现有的信息流语法解析器会在后级的音讯解码器(audio decoder)开始解码前将ADTS标题的同步码(sync word)0xFFF填入音讯解码器,以便AAC解码器根据同步码0xFFF在一连串输入帧中,来识别ADTS标题或ADTS帧。反之,若发现TS封包的数据形式字段的值等于0x11时,表示其相对的音讯PES支持MPEG-4 HE-AAC音讯压缩标准且内含的帧具有一LOAS标题或一LATM标题,现有的信息流语法解析器会在后级的音讯解码器开始解码前,将LOAS标题或LATM标题的同步码0x2B7填入AAC解码器,以便音讯解码器根据同步码0x2B7在一连串输入帧中,来识别LOAS帧或LATM帧。
[0005] 然而,在庞大且复杂的软硬件动作流程中,只要其中一个环节的程序出错,例如:若信息流语法解析器或上层应用程序不小心将错误的同步码填入AAC解码器,或者,原先TS封包的数据形式字段与实际音讯标题的同步码不符,都可能使AAC解码器发生解码错误,甚至该频道发不出任何声音,直到使用者切换频道为止,严重影响收讯品质。

发明内容

[0006] 有鉴于上述问题,本发明的一目的是提供一种帧标题的自动检测方法,通过搜寻比较输入帧的实际内容及预设的同步码,来增加系统解码效率及减少程序错误的机率。
[0007] 为达成上述目的,本发明帧标题的自动检测方法适用于一接收端装置,该接收端装置接收一帧串流,每一帧均包含一帧标题及一帧压缩数据块,该自动检测方法包含以下步骤:接收一输入帧;当多个标题标记的其中之一等于一第一默认值时,对该输入帧进行相对应的语法分析及音讯解码;以及,当该输入帧的前多个位等于多个同步码的至少其中之一时,将一相对应的标题标记设为该第一默认值并对该输入帧进行相对应的语法分析及音讯解码。

附图说明

[0008] 以下将配合附图对本发明的较佳实施例进行详细说明,以便更清楚了解本发明的目的、特点和优点,其中:
[0009] 图1是显示传输流、音讯PES及帧之间的关系图。
[0010] 图2A及图2B是根据本发明一具体实施例的帧标题自动检测方法的流程图。

具体实施方式

[0011] 本发明揭露帧标题的自动检测方法,AAC解码器是依据实际检测到的帧内容来作解码,不再依赖信息流语法解析器或上层应用程序来作设定,AAC解码器可独立运作且避免受外部的程序与环境的影响,进而减少程序出错的机率,同时,本发明的帧标题自动检测程序具有高度的可移植性(portability)。
[0012] 图2A及图2B显示根据本发明具体实施例的AAC帧标题自动检测方法的流程图,于此实施例中,接收端装置可同时支持AAC(MPEG-2)以及HE-AAC(MPEG-4)二种标准进行说明,但是本发明的应用并不以此为限,现存或将来发展出来的其它音讯压缩标准亦可适用于本发明的概念。以下根据图2A及图2B详细介绍本实施例的所有步骤。
[0013] 假设接收端装置系统初始化之后,LATM标记及ADTS标记的初始值等于0(FALSE)。同时,在整个音讯解码周期中,自动检测机制持续维持在致能(enable)状态。
[0014] 步骤S202:接收一输入帧。
[0015] 步骤S204:检查LATM标记的值是否为1(TRUE)。若是,跳到步骤S216;否则,跳到步骤S206。于此实施例中,优先比较及优先执行最新的HE-AAC标准,在实际应用时本技术领域者可根据需求来调整比较及执行的优先顺序。
[0016] 步骤S206:检查ADTS标记的值是否为1。若是,跳到步骤S220;否则,跳到步骤S208。
[0017] 步骤S208:检查该输入帧的前11个位是否等于0x2B7。若是,跳到步骤S210;否则,跳到步骤S212。本步骤及步骤S212的目的是从输入帧的最前端开始搜寻同步码(sync word),于此实施例中,由于是优先比较及优先执行HE-AAC标准,故从具有最高优先权的HE-AAC同步码0x2B7进行比较。
[0018] 步骤S210:将LATM标记设为1,较佳地,LATM标记及ADTS标记中只有其中之一会被设为1。
[0019] 步骤S212:检查输入帧的前12个位是否等于0xFFF。若是,跳到步骤S214;否则,跳到步骤S228。于此实施例中,当具有最高优先权的HE-AAC同步码0x2B7比较失败之后,才接着比较具有次高优先权的AAC同步码0xFFF。
[0020] 步骤S214:将ADTS标记设为1。
[0021] 步骤S216:对该输入帧的帧标题进行LATM标题的语法分析。在比较同步码时,有可能比较到的0x2B7或0xFFF只是帧压缩数据块中的其中一笔数据,而非真正的帧标题同步码,因此必须进一步确认比较到的0x2B7或0xFFF之后的数据是否真正符合ADTS或LATM标题的逻辑与规范。
[0022] 步骤S218:判断该帧标题是否符合LATM标题的逻辑与规范。若是,跳到步骤S224;否则,跳到步骤S228。
[0023] 步骤S220:对该输入帧的帧标题进行ADTS标题的语法分析。
[0024] 步骤S222:判断该帧标题是否符合ADTS标题的逻辑与规范。若是,跳到步骤S224;否则,跳到步骤S228。
[0025] 步骤S224:对该输入帧的帧压缩数据块进行音讯解码,以确认是否能依照步骤S216或步骤S220解得的帧标题信息来正确解码。
[0026] 步骤S226:判断音讯解码是否成功。若是,跳到步骤S202;否则,跳到步骤S228。
[0027] 步骤S228:丢弃输入帧的最前端的m个位组。其中,m为正整数。
[0028] 步骤S230:将LATM标记及ADTS标记重设为0。再回到步骤S202。
[0029] 在步骤S228中,较佳地,m值大小取决于该接收端装置的处理时间。举例而言,在搜寻比较同步码时,由于接收端装置的处理时间很短,只要目前输入帧的最前端的11或12个位与二个同步码都不符时,随即丢弃输入帧的最前端的一个位组(m=1),下一次再从下一个位组开始比较,通过地毯式的搜寻,顶多比较一个至二个帧的数据,就能搜寻到同步码。熟知此项技术的人士可以了解,实际应用时有其它不同的作法也可达到相同的功效,举例而言,设置一个比较指针(pointer)来当作索引,当比较同步码失败时,将比较指针值加
1。极端的情况会耗费掉接收端装置最多的处理时间,举例而言,比较同步码成功且帧标题亦符合LATM标题或ADTS标题的逻辑与规范、但对该帧压缩数据块进行音讯解码的结果却失败时,通常在接收端装置发现上述情况产生时,其实已经耗费掉一大段时间,而在同一段时间内,TS也源源不绝的馈入接收端装置,由于接收端装置通常不会储存TS,因此当接收端装置发现音讯解码的结果失败时,原先产生音讯解码错误的TS有可能早就被后续的TS覆写了(overwrite),此时,接收端装置只能从新的TS再重新比较搜寻同步码了。
[0030] 于此实施例中,揭露比较LATM标题及ADTS标题的二种同步码,但是本发明的应用并不以此为限。在另一实施例中,可同时比较p个标题的同步码(p≥2)及设定p个标题标记,同时也必须设定一优先顺序,以决定优先比较及优先执行的顺序,较佳地,p个标题标记中只有其中之一会被设为1。换言之,当目前输入帧的最前端的11或12个位与二个(含)以上的同步码相符时,根据前述优先顺序,设定具有最高优先权的的标题标记,并对该帧标题进行相对应的语法分析及对该帧压缩数据块进行相对应的音讯解码。
[0031] 于此实施例中,一旦输入帧的标题同步码被比较出来,且后续的语法分析及音讯解码都成功的话,其相对应的标题标记就会持续地被设定为1。据此,后续的帧就能省去标题同步码比较时间,提升整体系统的解码效率。即使发生语法分析错误或解码错误,通过本发明实施例所揭露的自我修复(recovery)的机制,可以在短时间内搜寻到标题同步码,快速地恢复正常运作,而不会像先前技术一样,从此发不出声音直到切换频道为止。
[0032] 综上所述,本发明揭露一种帧标题的自动检测方法,适用于一接收端装置根据多个标题标记而运作,自动检测方法包含以下步骤:接收端装置接收输入帧,其包含一帧标题及一帧压缩数据块;当这些标题标记的其中的一等于第一默认值时,对输入帧进行相对应的语法分析及音讯解码;以及当输入帧之前多个位等于多个同步码的至少其中之一时,将一相对应的标题标记设为第一默认值并对输入帧进行相对应的语法分析及音讯解码。
[0033] 以上虽以实施例说明本发明,但并不因此限定本发明的范围,只要不脱离本发明的要旨,该行业者可进行各种变形或变更。