[发明专利]一种多媒体播放终端以及播放方法有效
申请号: | 200810192966.4 | 申请日: | 2008-12-31 |
公开(公告)号: | CN101442675A | 公开(公告)日: | 2009-05-27 |
发明(设计)人: | 钟海;苟定勇;斯彦维 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | H04N7/26 | 分类号: | H04N7/26;G10L15/00 |
代理公司: | 北京市浩天知识产权代理事务所 | 代理人: | 许志勇;刘海英 |
地址: | 518057广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 多媒体 播放 终端 以及 方法 | ||
技术领域
本发明涉及嵌入式设备中多媒体处理技术,尤其涉及一种多媒体播放终端以及播放方法。
背景技术
当前的嵌入式系统开发中,由于受到设备硬件条件的限制以及成本控制的需要,会出现无法采用硬件编解码的方式完成对多媒体音视频播放的支持,需要采取对多媒体数据进行软解码的方式实现播放功能,一方面克服硬件限制,另一方面亦可节省成本。
例如多媒体播放终端(例如手机、MP3、MP4播放器、电视手机、GPS导航仪等)上对MP3音频文件进行播放时,通常先从终端上的本地文件中读取得到MP3音频数据;再调用终端自身所支持的MP3编码器将所述MP3音频数据转换为底层设备能播放的音频数据格式(如PCM数据);再将解码后的音频数据放入底层设备进行播放。
通常考虑到终端底层设备的内存空间大小的限制,在从本地文件中读取MP3音频数据时,并不会一次性地将该MP3格式的音频数据全部进行解码处理,而是采取分段读取多次解码的方式完成。通常情况下,应用程序从文件中读取固定大小的数据块DATA_1,然后对所述数据块DATA_1进行解码,在解码完成后,将根据数据块DATA_1解码得到的数据放入音频设备进行播放。在播放数据块DATA_1时,应用程序读取数据块DATA_2,解码所述数据块DATA_2的数据,在播放完数据块DATA_1的数据后,再将数据块DATA_2的数据放入设备进行播放。通过上述这种读取一段、解码一段、播放一段的方式,将前后两段的数据读取、解码与播放并行进行,在嵌入式设备各方面硬件受限的情况下,通过软解码除了能够实现MP3格式的音频播放,类似地也能够实现其它相关多媒体音视频播放的功能。
此外,在一些类似网络流式音频播放的应用中,从实现同步播放、缩短下载等待时间、减小手机等多媒体终端缓存等硬件要求出发,以及提升用户体验的需求方面考虑,大多数实现方案采用了将缓冲区分段、循环使用,达到一边下载一边播放的效果,即采用下载一段播放一段,前后两段的下载解码与播放并行进行,减少了对内存资源的要求。
在上面描述的分段读取播放以及分段下载播放的两种设计方案中,均采用了对多媒体数据分段处理的方案。在嵌入式设备硬件受限的情况下,不失为行之有效的解决方案。但从解码以及播放效果上来分析,该方案尚存不足。例如在分段缓存进行处理的情况下,有可能出现音频数据帧在分段时,被从中间切分为两部分。如图1所示显示了现有技术中对数据进行分段解码的示意图,图1中,给出了连续分段的前、后两段数据,前一段数据包括第1-6帧,后一段数据包括第7-12帧,其中数据块6和7本为同一帧的不同部分,在数据分段时,该帧数据被切分为两块,当将切分出的数据块6和7两部分依次交给解码器解码时,解码器认为所输入的数据为不完整帧而会将其丢弃。当出现丢帧的情况下,音频播放会出现跳跃的情况,很小的一部分被忽略,从而影响到用户的体验感觉。所述多媒体数据可以是音频数据、视频数据或者音视频数据。
因而,针对多媒体数据在进行分段解码播放时出现的上述将被切分帧丢弃的技术问题,需要提供一种完备的解决方案来避免丢帧情况的发生,从而保证播放音视频数据时不会出错,不影响用户的多媒体体验。
发明内容
本发明所要解决的技术问题在于,提供一种多媒体播放终端以及播放方法,用于克服分段解码多媒体数据时因数据分段导致的解码错误,从而提高多媒体数据的解码播放质量,提高用户体验度。
为了解决上述技术问题,本发明提供一种多媒体播放方法,包括:
将多媒体数据分为数据段读入缓存,并对分为数据段缓存中的多媒体数据按帧进行解码,将解码后的数据进行播放;
解码至当前数据段尾部,如果尾部数据不足一帧,则保存该尾部数据,并将该尾部数据与缓存中读入的下一数据段的头部合并为合并数据,预分析合并数据是否为同一帧,若是则对所述合并数据进行解码处理,否则,丢弃所述合并数据。
进一步地,在对分为数据段的多媒体数据开始解码之前,所述方法进一步包括对该分为数据段的多媒体数据进行帧预分析,确定帧长。
进一步地,所述方法进一步包括:
若发生解码错误且当前解码帧非数据段尾部,则丢弃该当前解码帧,继续进行下一帧解码处理。
进一步地,所述方法进一步包括:
在将该尾部数据与缓存中读入的下一数据段的头部合并为合并数据时,进一步包括判断两部分数据是否为同一种数据,若是,则进行合并,否则,丢弃该尾部数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810192966.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种驻极体电容传声器及其制备方法
- 下一篇:一种视频点播方法