一种音频码流拼接的方法

文档序号:6739076阅读:119来源:国知局
专利名称:一种音频码流拼接的方法
技术领域
本发明涉及视音频剪辑领域,尤其涉及一种音频码流拼接的方法。
背景技术
随着计算机处理能力的增强,视音频处理技术也有了长足的发展。视音频处理的过程中,视音频剪辑是最常用到的技术。现有技术的视音频剪辑一般是基于视频帧和音频帧,先进行解码,进行剪辑之后,在重新进行编码,之后再输出。编解码的过程是个很复杂的过程,因而剪辑的效率很低。然而,音频编码都是以ー个Audio Frame为单位的,比如AAC格式音频编码一般一 个Audio Frame包含有1024个Samples。AC3格式音频编码一般一个Audio Frame包含有1536个Samples。Mpeg Audio格式音频编码一般一个Audio Frame包含有384、576或者1152个Samples三种情況。既然如此,音频码流在剪切处的重构就不需要重新解码、编码。而只需要设计ー套合理的机制,确认丢弃或者保留多余的Audio Frames,确认丢弃多少,保留多少Audio Frames,而且要保证与视频内容的声画同步。

发明内容
为解决上述问题,本发明提供一种音频码流拼接的方法,只对剪切处所在的音频单元进行可能需要的音频重构,而其它的大部分音频单元仅需复制,大大提高了合成的效率,減少了音频质量的损失,保持了原音频的质量。本发明实施例提供了一种音频码流拼接的方法,包括以下步骤读取音频片段的音频数据參数;根据所述音频数据參数判断所述音频片段是否需要重构;若是,则对所述音频片段进行重构,若否,则复制所述音频片段。本发明实施例的技术方案带来的有益效果如下通过读取音频片段的音频数据參数;根据所述音频数据參数判断所述音频片段是否需要重构;若是,则对所述音频片段进行重构,若否,则复制所述音频片段,进而完成音频码流的拼接,实现了只对剪切处所在的音频单元进行可能需要的音频重构,而其它的大部分音频单元仅需复制,大大提高了合成的效率,減少了音频质量的损失,保持了原音频的质量。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图I是本发明实施例一种音频码流拼接的方法流程图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。实施例一本发明实施例提供了一种音频码流拼接的方法,如图1,包括以下步骤步骤101,读取音频片段的音频数据参数;所述音频数据参数包括剪切入点Trimln、剪切出点TrimOut、音频数据块起始位置、音频数据块结束位 置、每个音频单元AudioFrame包含的样本数AudioFrameSampleCount以及历史音频同步补偿数 AudioSyncOffset ;其中,所述音频片段包含至少一个音频数据块,所述音频数据块包含至少一个音频单兀AudioFrame,所述音频单兀AudioFrame包含至少一个样本。步骤102,根据所述音频数据参数判断所述音频片段是否需要重构;若是,则进入步骤103,若否,则进入步骤104 ;具体包括比较所述剪切入点TrimIn与所述音频数据块起始位置以及所述剪切出点TrimOut与所述音频数据块结束位置;若所述剪切入点TrimIn在所述音频数据块起始位置之后或所述剪切出点TrimOut在所述音频数据块结束位置之前,则所述音频片段需要重构,若否,则不需要重构。步骤103,对所述音频片段进行重构;具体包括对所述音频片段的头部进行重构;对所述音频片段的尾部进行重构。其中,对所述音频片段的头部进行重构具体包括以下步骤删除所述剪切入点TrimIn所在的音频单元AudioFrame之前的音频单元AudioFrame ; 保留所述剪切入点TrimIn所在的音频单元AudioFrame之后的音频单元AudioFrame ;根据所述每个音频单兀AudioFrame包含的样本数AudioFrameSampleCount以及所述剪切入点TrimIn获取所述剪切入点TrimIn所在的音频单元AudioFrame中位于所述剪切入点TrimIn之前的样本数HAudioSampleAdded以及位于所述切入点TrimIn之后的样本数 HAudioSampleLost ;比较所述位于剪切入点TrimIn后的样本数HAudioSampleLost是否大于所述历史音频同步补偿数AudioSyncOffset ;若否,丢弃所述剪切入点TrimIn所在的音频单元AudioFrame,并将所述历史音频同步补偿数AudioSyncOffset更新为AudioSyncOffset = AudioSyncOffset-HAudioSampIeLost ;
若是,保留所述剪切入点TrimIn所在的音频单元AudioFrame,并将所述历史音频同步补偿数AudioSyncOffset更新为AudioSyncOffset = AudioSyncOffset+HAudioSampIeAdded0其中,对所述音频片段的尾部进行重构具体包括以下步骤删除所述剪切出点TrimOut所在的音频单元AudioFrame之后的音频单元AudioFrame ;保留所述剪切出点TrimOut所在的音频单元AudioFrame之前的音频单元AudioFrame ;根据所述姆个音频单兀AudioFrame包含的样本数AudioFrameSampleCount以及所述剪切出点TrimOut获取所述剪切出点TrimOut所在的音频单元AudioFrame中位于所述剪切出点TrimOut之后的样本数TAudioSampleAdded以及位于所述切出点TrimOut之前 的样本数 TAudioSampleLost ;比较所述位于剪切出点TrimOut前的样本数TAudioSampleLost是否大于所述历史音频同步补偿数AudioSyncOffset ;若否,丢弃所述剪切入点TrimIn所在的音频单元AudioFrame,并将所述历史音频同步补偿数AudioSyncOffset更新为AudioSyncOffset = AudioSyncOffset-TAudioSampIeLost ;若是,保留所述剪切出点TrimOut所在的音频单元AudioFrame,并将所述历史音频同步补偿数AudioSyncOffset更新为AudioSyncOffset = AudioSyncOffset+TAudioSampIeAdded0步骤104,复制音频片段。本发明实施例的技术方案带来的有益效果如下通过读取音频片段的音频数据參数;根据所述音频数据參数判断所述音频片段是否需要重构;若是,则对所述音频片段进行重构,若否,则复制所述音频片段,进而完成音频码流的拼接,实现了只对剪切处所在的音频单元进行可能需要的音频重构,而其它的大部分音频单元仅需复制,大大提高了合成的效率,減少了音频质量的损失,保持了原音频的质量。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以可借助软件加必要的通用硬件平台的方式来实现,基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是⑶-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。总之,以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种音频码流拼接的方法,其特征在于,包括以下步骤 读取音频片段的音频数据参数; 根据所述音频数据参数判断所述音频片段是否需要重构; 若是,则对所述音频片段进行重构,复制重构后的音频片段,若否,则复制所述音频片段。
2.如权利要求I所述方法,其特征在于,所述音频数据参数包括 剪切入点Trimln、剪切出点TrimOut、音频数据块起始位置、音频数据块结束位置、每个音频单元AudioFrame包含的样本数AudioFrameSampleCount以及历史音频同步补偿数AudioSyncOffset ; 其中,所述音频片段包含至少一个音频数据块,所述音频数据块包含至少一个音频单兀AudioFrame,所述音频单兀AudioFrame包含至少一个样本。
3.如权利要求I或2所述方法,其特征在于,所述根据所述音频数据参数判断所述音频片段是否需要重构,具体包括 比较所述剪切入点TrimIn与所述音频数据块起始位置以及所述剪切出点TrimOut与所述音频数据块结束位置; 若所述剪切入点TrimIn在所述音频数据块起始位置之后或所述剪切出点TrimOut在所述音频数据块结束位置之前,则所述音频片段需要重构,若否,则不需要重构。
4.如权利要求2所述方法,其特征在于,所述对所述音频片段进行重构具体包括 对所述音频片段的头部进行重构; 对所述音频片段的尾部进行重构。
5.如权利要求4所述方法,其特征在于,所述对所述音频片段的头部进行重构具体包括以下步骤删除所述剪切入点TrimIn所在的音频单元AudioFrame之前的音频单元AudioFrame ;保留所述剪切入点TrimIn所在的音频单元AudioFrame之后的音频单元AudioFrame ;根据所述每个音频单兀AudioFrame包含的样本数AudioFrameSampleCount以及所述剪切入点TrimIn获取所述剪切入点TrimIn所在的音频单元AudioFrame中位于所述剪切入点TrimIn之前的样本数HAudioSampleAdded以及位于所述切入点TrimIn之后的样本数HAudioSampleLost ; 比较所述位于剪切入点TrimIn后的样本数HAudioSampleLost是否大于所述历史音频同步补偿数 AudioSyncOffset ; 若否,丢弃所述剪切入点TrimIn所在的音频单元AudioFrame,并将所述历史音频同步补偿数AudioSyncOffset更新为AudioSyncOffset = AudioSyncOffset-HAudioSampIeLost ; 若是,保留所述剪切入点TrimIn所在的音频单元AudioFrame,并将所述历史音频同步补偿数AudioSyncOffset更新为AudioSyncOffset = AudioSyncOffset+HAudioSampleAddecL
6.如权利要求4所述方法,其特征在于,所述对所述音频片段的尾部进行重构具体包括以下步骤 删除所述剪切出点TrimOut所在的音频单元AudioFrame之后的音频单元AudioFrame ; 保留所述剪切出点TrimOut所在的音频单元AudioFrame之前的音频单元AudioFrame ; 根据所述每个音频单兀AudioFrame包含的样本数AudioFrameSampleCount以及所述剪切出点TrimOut获取所述剪切出点TrimOut所在的音频单元AudioFrame中位于所述剪切出点TrimOut之后的样本数TAudioSampleAdded以及位于所述切出点TrimOut之前的样本数 TAudioSampleLost ; 比较所述位于剪切出点TrimOut前的样本数TAudioSampleLost是否大于所述历史音频同步补偿数AudioSyncOffset ; 若否,丢弃所述剪切入点TrimIn所在的音频单元AudioFrame,并将所述历史音频同步补偿数AudioSyncOffset更新为AudioSyncOffset = AudioSyncOffset-TAudioSampIeLost ; 若是,保留所述剪切出点TrimOut所在的音频单元AudioFrame,并将所述历史音频同步补偿数AudioSyncOffset更新为 AudioSyncOffset = AudioSyncOffset+TAudioSampleAdded。
全文摘要
本发明公开了一种音频码流拼接的方法,通过读取音频片段的音频数据参数;根据所述音频数据参数判断所述音频片段是否需要重构;若是,则对所述音频片段进行重构,若否,则复制所述音频片段,进而完成音频码流的拼接,实现了只对剪切处所在的音频单元进行可能需要的音频重构,而其它的大部分音频单元仅需复制,大大提高了合成的效率,减少了音频质量的损失,保持了原音频的质量。
文档编号G11B27/031GK102768844SQ20121009347
公开日2012年11月7日 申请日期2012年3月31日 优先权日2012年3月31日
发明者夏永宏 申请人:新奥特(北京)视频技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1