CN101442675B - 一种多媒体播放方法 - Google Patents

一种多媒体播放方法 Download PDF

Info

Publication number
CN101442675B
CN101442675B CN2008101929664A CN200810192966A CN101442675B CN 101442675 B CN101442675 B CN 101442675B CN 2008101929664 A CN2008101929664 A CN 2008101929664A CN 200810192966 A CN200810192966 A CN 200810192966A CN 101442675 B CN101442675 B CN 101442675B
Authority
CN
China
Prior art keywords
data
frame
segment
merging
decoding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2008101929664A
Other languages
English (en)
Other versions
CN101442675A (zh
Inventor
钟海
苟定勇
斯彦维
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN2008101929664A priority Critical patent/CN101442675B/zh
Publication of CN101442675A publication Critical patent/CN101442675A/zh
Application granted granted Critical
Publication of CN101442675B publication Critical patent/CN101442675B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开了一种多媒体播放方法及播放终端,该播放方法包括:将多媒体数据分段读入缓存,并对分段缓存中的多媒体数据按帧进行解码,将解码后的数据进行播放;当解码至当前数据段尾部,如果尾部数据块不足一帧,则保存该尾部数据块,并将该尾部数据块与缓存中读入的下一数据段的头部合并为合并数据块,预分析合并数据块是否为同一帧,若是则对所述合并数据块进行解码处理,否则,丢弃所述合并数据块。所述播放方法及播放终端在对多媒体数据分段解码播放过程中,将前一段不足一帧的尾部数据与下一段的头部数据合并,从而可以避免因分段切割造成的直接丢弃尾部数据块的结果出现,尽可能减小播放中断,从而提高了用户体验度。

Description

一种多媒体播放方法
技术领域
本发明涉及嵌入式设备中多媒体处理技术,尤其涉及一种多媒体播放终端以及播放方法。 
背景技术
当前的嵌入式系统开发中,由于受到设备硬件条件的限制以及成本控制的需要,会出现无法采用硬件编解码的方式完成对多媒体音视频播放的支持,需要采取对多媒体数据进行软解码的方式实现播放功能,一方面克服硬件限制,另一方面亦可节省成本。 
例如多媒体播放终端(例如手机、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两部分依次交给解码器解码时,解码器认为所输入的数据为不完整帧而会将其丢弃。当出现丢帧的情况下,音频播放会出现跳跃的情况,很小的一部分被忽略,从而影响到用户的体验感觉。所述多媒体数据可以是音频数据、视频数据或者音视频数据。 
因而,针对多媒体数据在进行分段解码播放时出现的上述将被切分帧丢弃的技术问题,需要提供一种完备的解决方案来避免丢帧情况的发生,从而保证播放音视频数据时不会出错,不影响用户的多媒体体验。 
发明内容
本发明所要解决的技术问题在于,提供一种多媒体播放终端以及播放方法,用于克服分段解码多媒体数据时因数据分段导致的解码错误,从而提高多媒体数据的解码播放质量,提高用户体验度。 
为了解决上述技术问题,本发明提供一种多媒体播放方法,包括: 
将多媒体数据分为数据段读入缓存,并对分为数据段缓存中的多媒体数据按帧进行解码,将解码后的数据进行播放; 
解码至当前数据段尾部,如果尾部数据不足一帧,则保存该尾部数据,并将该尾部数据与缓存中读入的下一数据段的头部合并为合并数据,预分析合并数据是否为同一帧,若是则对所述合并数据进行解码处理,否则,丢弃所述合并数据。 
进一步地,在对分为数据段的多媒体数据开始解码之前,所述方法进一步包括对该分为数据段的多媒体数据进行帧预分析,确定帧长。 
进一步地,所述方法进一步包括: 
若发生解码错误且当前解码帧非数据段尾部,则丢弃该当前解码帧,继续进行下一帧解码处理。 
进一步地,所述方法进一步包括: 
在将该尾部数据与缓存中读入的下一数据段的头部合并为合并数据时,进一步包括判断两部分数据是否为同一种数据,若是,则进行合并,否则,丢弃该尾部数据。 
进一步地,所述预分析合并内容是否为同一帧的步骤包括: 
根据数据格式,判断该合并数据块以及其后的N个连续帧均满足帧完整性,若该合并数据块符合相关帧格式要求,则分析后续N帧是否也为完整帧格式,若是,则判定该合并数据块为同一帧。 
进一步地,所述多媒体数据为视频数据、音频数据中的一种或者两种。 
为了解决上述技术问题,本发明还提供一种多媒体播放终端,包括:缓存器、解码器、底层播放设备,该播放终端进一步包括播放控制器,其中: 
缓存器用于缓存从文件存储器分段读取或从网络上分段下载的多媒体数据; 
解码器,用于对缓存器中的媒体数据进行逐帧解码; 
底层播放设备,用于对解码后的数据进行播放; 
播放控制器,用于控制将媒体数据分为数据段读入到缓存器,控制解码器在解码至当前数据段尾部数据且该尾部数据为非完整帧时,保存该尾部数据并将该尾部数据与下一数据段的头部合并为合并数据,若合并数据为同一帧数据,则继续进行解码播放,否则丢弃该合并数据。 
进一步地,所述播放控制器在将该尾部数据与缓存中读入的下一数据段的头部合并为合并数据时,进一步包括判断两部分数据是否为同一种数据,若是,则进行合并,否则,丢弃该尾部数据。 
进一步地,所述播放控制器是根据数据格式判断该合并数据以及其后的N个连续帧均满足帧完整性,若该合并数据符合相关帧格式要求,则分析后续N帧是否也为完整帧格式,若是,则判定该合并数据为同一帧。 
本发明提供的媒体播放方法及播放终端,通过在对媒体数据分段解码播放过程中,将前一段不足一帧的尾部数据与下一段的头部数据合并,进而当合并数据满足同一帧格式要求时,可以实现解码播放该两个数据块,从而可以避免现有技术中,因分段切割造成的直接丢弃尾部数据块的结果出现,尽可能的减小了因丢弃数据而造成的视频中断或音频中断,从而提高了用户体验度。 
附图说明
图1是现有的分段缓存解码示意图; 
图2是本发明在解码过程中位于数据块中间位置的帧数据出错处理示意图; 
图3是本发明一种减小多媒体数据分段解码错误处理方式的流程图; 
图4是本发明另一种减小多媒体数据分段解码错误处理方式的流程图; 
图5是本发明实施例中在手机上进行对MP3中的CBR格式音频文件进行分段解码的流程图; 
图6是本发明实施例中播放终端的结构示意图。 
具体实施方式 
为使本发明的目的、技术方案和优点更加清楚,以下结合附图及具体实施例,对本发明作进一步地详细说明。 
本发明的核心思想主要在于,在对分段读取或下载的多媒体数据进行解码播放过程中,保留前一数据段尾部的不完整帧数据,并将其与下一数据段头部进行合并,在判断合并得到的数据内容为同一帧时,则从该合并帧开始对下一数据段进行解码播放,否则丢弃所述合并内容后,对下一数据段中剩余数据进行解码播放。 
本发明中实现分段解码的方法,包括如下步骤: 
步骤1,将分段缓存中的多媒体数据以帧为单位进行解码,若当前帧解码成功转入步骤2,否则转入步骤3; 
步骤2,继续帧为单位进行解码,直至当前数据块中数据全部解码完成; 
步骤3,如当前解码错误,判断该帧多媒体数据内容是否为数据块处于数据块最后位置,如不是处于最后位置,继续以帧为单位进行解码,直至当前数据块中数据全部解码完成,否则转入步骤4; 
步骤4,如数据处于数据段最后位置,保存当前数据,同下一数据块合并,分析前后合并数据是否为同一帧,如符合相关帧格式要求,则分析后续两帧是否也为完整帧格式,若是,则将合并后的数据继续进行解码操作。重复之前的操作步骤,直至多媒体数据全部解码完成。 
本发明中,通过保留前一段数据结束前的不完整的一帧数据,和下一个同类型数据段的头部进行合并,预分析合并内容是否为同一帧,如连续几帧数据正确,则认为这两段数据是同一个音频数据的连续两个片段。 
如图2所示,显示了本发明中对一个数据段中若干帧的解码处理示意图,图中给出了第1至6帧组成的数据段,针对中间帧出错情况则直接丢弃该帧。解码器依次对各帧数据进行解码,并将解码正确得到的数据发送至底层设备进行播放,若中间的第3帧数据出现解码错误,则直接将第3帧丢弃,然后继续进行后面的4至5帧的解码处理。 
如图3所示,针对尾部数据帧出错时的情况,显示了本发明中对一个数据段中若干帧的解码处理示意图。图中给出了第1至6帧组成的数据段,以 及紧接其后的由第7至12帧组成的下一数据段。解码器对分段缓存中的第1至6帧依次进行解码,第1至5帧均解码正确,则将解码数据送至底层设备进行播放,解码第6帧时解码错误,且判断该帧处于该数据段尾部并且其长度小于正常帧长,则保留该第6帧数据,此时读入下一段数据至缓存,将尾部的第6帧数据与下一段数据中的头部即第7帧数据进行合并,分析前后合并数据(6+7)是否为同一帧,如符合相关帧格式要求,分析后续两帧(即第8、9帧)是否也为完整帧格式,若是则将合并后的数据继续进行解码操作,否则将合并后的数据丢弃,直接从后续帧开始解码操作。 
如图4所示,显示了将前段的尾部数据与后段的头部数据合并解码的示意图。可以看到,前一段的尾部数据即第6帧数据与下一数据段的头部帧即第7帧进行合并,分析第6、7帧数据合并后的后合并数据是否为同一完整帧,如符合相关帧格式要求,则分析后续两帧即第8帧、第9帧是否也为完整帧格式,若后续两帧均满足完整性要求,则将合并后的数据继续进行解码操作;若第8帧不满足,则可直接判定将合并数据帧丢弃。重复之前的操作步骤,直至多媒体数据全部解码完成。 
如图5所示,本发明实施例是在手机上进行对MP3中的CBR格式音频文件进行分段解码的过程,包括如下步骤: 
步骤501,从手机本地存储的MP3文件按顺序获取固定大小的音频数据,放入分配好的的缓存中,预分析出该文件中每一帧的长度大小; 
步骤502,从缓存里以计算出的帧长为单位取出数据进行解码操作; 
步骤503,如解码成功则将数据写入底层设备进行播放。同时继续进行后续帧数据的解码操作,直至当前缓存中数据全部完成解码; 
步骤504,在步骤502中若解码出错,则判断该帧位置是否位于数据段尾部,如位于数据段中间数据,可视为音频文件数据本身问题,直接丢弃该帧数据,继续后续帧的解码操作; 
步骤505,如出错帧在数据段尾端出现,且帧实际长度小于帧正常长度,则保存该出错帧,从MP3文件中读取下一段数据到缓存中; 
步骤506,将出错帧与缓存数据头部数据段合并,按帧格式预分析合并 帧以及后续几帧的完整性(本例选择3帧,可视情况决定); 
步骤507,如检查的连续几帧均存在错误,可断定所保留的错误帧与当前数据段头的数据不为同一帧,将其丢弃,继续当前数据段中的帧解码操作; 
步骤508,连续几帧数据正确,因此出错帧与缓存数据为同一段数据,将合并后的数据按照步骤502进行解码操作,直至数据全部完成解码工作。 
本发明基于上述播放方法,进一步还提供一种用于实现分段多媒体播放的播放终端,如图6所示,该播放终端包括:播放控制器605、缓存器602、解码器603、底层播放设备604,其中,缓存器602用于缓存从文件存储器601中分段读取或从网络上分段下载的多媒体数据例如音频或视频数据;所述解码器603,用于对缓存器中的媒体数据进行逐帧解码;所述底层播放设备,用于对解码后的数据进行播放;所述播放控制器,用于控制将媒体数据分段读入到缓存器602,控制解码器603在解码至尾部数据块且该数据块为非完整帧时,保存该数据块并将该数据块与下一段数据的头部合并,若为同一帧数据,则继续进行解码播放,否则丢弃该数据块。 
所述播放终端具体播放方式可参见上述图3至图5所示的具体解码方式,此处不再赘述。 
以上所述仅为本发明的实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。 

Claims (6)

1.一种多媒体播放方法,其特征在于,包括:
将多媒体数据分为数据段读入缓存,并对分为数据段缓存中的多媒体数据按帧进行解码,将解码后的数据进行播放;
解码至当前数据段尾部,如果尾部数据不足一帧,则保存该尾部数据,并将该尾部数据与缓存中读入的下一数据段的头部合并为合并数据,预分析合并数据是否为同一帧,若是则对所述合并数据进行解码处理,否则,丢弃所述合并数据。
2.如权利要求1所述的方法,其特征在于,
在对分为数据段的多媒体数据开始解码之前,所述方法进一步包括对该分为数据段的多媒体数据进行帧预分析,确定帧长。
3.如权利要求1所述的方法,其特征在于,所述方法进一步包括:
若发生解码错误且当前解码帧非数据段尾部,则丢弃该当前解码帧,继续进行下一帧解码处理。
4.如权利要求1所述的方法,其特征在于,所述方法进一步包括:
在将该尾部数据与缓存中读入的下一数据段的头部合并为合并数据时,进一步包括判断两部分数据是否为同一种数据,若是,则进行合并,否则,丢弃该尾部数据。
5.如权利要求1至4任意一项所述的方法,其特征在于,所述预分析合并数据是否为同一帧的步骤包括:
根据数据格式,判断该合并数据以及其后的N个连续帧均满足帧完整性,若该合并数据符合相关帧格式要求,则分析后续N帧是否也为完整帧格式,若是,则判定该合并数据为同一帧。
6.如权利要求5所述的方法,其特征在于,
所述多媒体数据为视频数据、音频数据中的一种或者两种。
CN2008101929664A 2008-12-31 2008-12-31 一种多媒体播放方法 Expired - Fee Related CN101442675B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101929664A CN101442675B (zh) 2008-12-31 2008-12-31 一种多媒体播放方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101929664A CN101442675B (zh) 2008-12-31 2008-12-31 一种多媒体播放方法

Publications (2)

Publication Number Publication Date
CN101442675A CN101442675A (zh) 2009-05-27
CN101442675B true CN101442675B (zh) 2012-01-11

Family

ID=40726892

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101929664A Expired - Fee Related CN101442675B (zh) 2008-12-31 2008-12-31 一种多媒体播放方法

Country Status (1)

Country Link
CN (1) CN101442675B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101859582A (zh) * 2010-04-29 2010-10-13 北京中星微电子有限公司 一种多个窗口播放音视频的方法和装置
CN102684976B (zh) * 2011-03-10 2015-07-22 中兴通讯股份有限公司 一种基于ddr sdram进行数据读写的方法、装置及系统
CN102917242A (zh) * 2012-09-10 2013-02-06 福州瑞芯微电子有限公司 一种多格式视频解码器的测试系统和测试方法
WO2015094369A1 (en) * 2013-12-20 2015-06-25 Intel Corporation Transition from low power always listening mode to high power speech recognition mode
CN105187370B (zh) * 2015-06-05 2019-11-12 北京奇虎科技有限公司 数据处理方法和系统
CN105530534B (zh) * 2015-12-18 2018-12-21 无锡天脉聚源传媒科技有限公司 一种视频剪辑的方法和装置
CN106993016B (zh) * 2016-07-20 2019-04-02 平安科技(深圳)有限公司 网络请求及响应的处理方法和装置
CN107680605A (zh) * 2017-09-29 2018-02-09 湖南国科微电子股份有限公司 一种ape格式错误数据处理方法及系统
CN107958036B (zh) * 2017-11-20 2020-09-11 广州小鹏汽车科技有限公司 一种音乐边缓存边播放方法、系统及装置
CN108304358A (zh) * 2017-12-21 2018-07-20 中国船舶重工集团公司第七0七研究所 基于陆用捷联惯导产品SDCard存储装置的数据解析方法
CN108966000B (zh) * 2018-07-17 2021-01-29 北京世纪好未来教育科技有限公司 播放方法及其装置、介质、终端
CN111147942A (zh) * 2019-12-17 2020-05-12 北京达佳互联信息技术有限公司 视频播放方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN101442675A (zh) 2009-05-27

Similar Documents

Publication Publication Date Title
CN101442675B (zh) 一种多媒体播放方法
US9332050B2 (en) Media streaming with adaptation
CN103024603B (zh) 一种用于解决播放网络视频时短时停顿的装置及方法
CN107517400B (zh) 流媒体播放方法及流媒体播放器
JP2007295038A (ja) 動画再生装置及び方法
US11869542B2 (en) Methods and apparatus to perform speed-enhanced playback of recorded media
CN101267545A (zh) 一种节目的切换方法及装置
CN101272493A (zh) 多重解码器及方法
JP2004524776A (ja) Mp3のトリック再生
CN100379291C (zh) 用于对广播/备用内容编码/解码的装置和方法
EP2279510B1 (en) Optimizing seek functionality in media content
US20190327425A1 (en) Image processing device, method and program
US8369456B2 (en) Data processing apparatus and method and encoding device
CN106878290A (zh) 音视频的播放方法及装置
EP2509305A1 (en) Method and apparatus for transcribing multimedia broadcasting program
US8185815B1 (en) Live preview
JP6269734B2 (ja) 動画データ編集装置、動画データ編集方法、再生装置、及びプログラム
CN111866542B (zh) 音频信号处理方法、多媒体信息处理方法、装置及电子设备
TW571588B (en) Modifying video signals by converting non-intra pictures
CN111741376B (zh) 一种多媒体文件拼接音视频唇音同步的方法
CN113409801A (zh) 用于实时音频流播放的噪音处理方法、系统、介质和装置
US20070230897A1 (en) Decoder for fast feed and rewind
JP4750759B2 (ja) 映像音声再生装置
CN102387177A (zh) 影音文件的下载方法及装置
JP5751406B2 (ja) ビデオサーバ装置、およびビデオサーバにおける素材連続再生方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120111

Termination date: 20161231