CN101477820A - 文件播放方法和装置 - Google Patents
文件播放方法和装置 Download PDFInfo
- Publication number
- CN101477820A CN101477820A CNA2008102475902A CN200810247590A CN101477820A CN 101477820 A CN101477820 A CN 101477820A CN A2008102475902 A CNA2008102475902 A CN A2008102475902A CN 200810247590 A CN200810247590 A CN 200810247590A CN 101477820 A CN101477820 A CN 101477820A
- Authority
- CN
- China
- Prior art keywords
- file
- play
- frame
- broadcast
- waiting
- 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.)
- Pending
Links
Images
Landscapes
- Television Signal Processing For Recording (AREA)
Abstract
本发明实施例涉及一种文件播放方法和装置,其中该文件播放方法包括:获取***负荷信息;根据所述***负荷信息获取对应的***支持的文件播放能力;选取待播文件中与所述文件播放能力对应的数据进行播放。本发明实施例采用在播放文件之前检测***,获取***负荷信息对应的文件播放能力,选取待播文件中与播放装置当前的文件播放能力对应的数据进行播放,保证了文件的流畅播放,提高多业务并存时的服务质量。
Description
技术领域
本发明实施例涉及通信技术领域,特别是一种文件播放方法和装置。
背景技术
随着科技的发展和用户需求的变化,手机朝着功能手机/智能手机(Fea ture Phone/SmartPhone)的方向发展。功能手机/智能手机的娱乐和通信功能越来越强大,除了具备通话功能外,还具备诸如游戏、MP3、MP4、上网、视频通话等功能。因此用户使用手机时,可能会存在多个任务同时工作的情况,出现如下的工作场景:
场景一、用户在下载FTP的文件的同时玩游戏,游戏采用乐器数字接口(Musical Instrument Digital Interface;以下简称:MIDI)文件伴音。
场景二、用户在下载FTP的文件的同时有来电,来电采用MIDI方式振铃。
场景三、用户在下载FTP的文件的同时播放MP4等视频文件。
场景四、用户在下载FTP的文件的同时有视频电话的邀请。
由于手机等设备中的嵌入式***是个资源受限的***,对于场景一,假设用户采用64和弦的MIDI文件进行游戏伴音,平时是能够较好的工作。若在下载FTP数据(如下载2M的数据)的同时玩游戏,由于下载FTP数据占用***资源,使***剩余资源(CPU/DSP资源、总线带宽、内存或存储资源等)有限,若采用64和弦播放游戏的MIDI伴音,CPU会出现不能及时处理MIDI伴音的情况,致使用户听到声音断断续续。对于场景二,同样存在上述的情况,由于FTP下载占用资源,若同时收到来电,会建立一个电路交换(CircleSwitch;以下简称:CS)电路,则使得有限的***资源更加有限,CPU不能及时处理MIDI振铃,使来电时的振铃音变得断断续续。对于场景三,假设用户采用常用的标准化图像格式(Quarter Common Intermediate Format;以下简称:QCIF)25帧率的MP4视频文件进行播放,正常时能够较好的工作,但若播放视频文件的同时进行FTP数据下载,由于FTP数据下载占用***资源,使***剩余资源有限,如果采用QCIF 25的帧率进行播放,由于CPU来不及处理,则用户会看到图像断断续续。对于场景四,同样存在上述的情况。由于下载FTP数据很消耗资源,***的剩余资源有限,如果下载FTP数据的同时收到可视电话,需要建立一个CS电路,有限的***资源更加有限,产生视频抖动,使得原本联贯的图像变得断断续续。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:当嵌入式***多业务并存时,由于***负荷较重,导致音频或者视频等多文件的播放不连续,影响服务质量。
发明内容
本发明实施例提供一种文件播放方法和装置,用以解决现有技术中的***中多业务并存导致文件播放不连续等问题,以保证文件的流畅播放、提高服务质量。
本发明实施例提供一种文件播放方法,包括:
获取***负荷信息;
根据所述***负荷信息获取对应的***支持的文件播放能力;
选取待播文件中与所述文件播放能力对应的数据进行播放。
本发明实施例又提供一种文件播放装置,包括:
第一获取模块,用于获取***负荷信息;
第二获取模块,用于根据所述***负荷信息获取对应的***支持的文件播放能力;
选取模块,用于选取待播文件中与所述文件播放能力对应的数据进行播放。
本发明实施例提供一种文件播放方法和装置,在播放文件之前,选取待播文件中与播放装置当前的文件播放能力对应的数据进行播放,保证了文件的流畅播放,提高多业务并存时的服务质量。
附图说明
图1为本发明文件播放方法第一实施例的流程图;
图2为本发明文件播放方法第二实施例的流程图;
图3为本发明文件播放方法中***负荷信息与文件播放能力的对照图;
图4为本发明包括I帧、P帧、B帧的图像序列的示意图;
图5为本发明视频编码过程的流程示意图;
图6为本发明文件播放方法第三实施例的流程图;
图7为本发明文件播放装置第一实施例的结构示意图;
图8为本发明文件播放装置第二实施例的结构示意图。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
图1为本发明文件播放方法第一实施例的流程图,如图1所示,该文件播放方法包括以下步骤:
步骤101、获取***负荷信息。
在手机等设备的嵌入式***中存在多业务并存的情况,例如:***接收到新业务请求时有可能正在执行其他的业务。为了使音频、视频等文件播放的效果流畅,***在调用程序对文件进行播放前,可以先检测当前的***状态,获取***负荷信息。其中***负荷信息包括:中央处理器(CentralProcess Unit;以下简称:CPU)负荷信息、总线负荷信息、内存负荷信息等,或者这几项信息的组合。其中,检测并获取CPU负荷信息的方法可以是:分析一段时间内CPU进入空闲(IDLE)任务的频率和时间,例如:设定一个低优先级的任务A,利用公式 统计当前的***负荷信息,其中,Lcpu为当前的CPU负载即CPU负荷信息,T2为统计***负荷信息的时间,Tidle为***的CPU在T2内进入任务A的时间。检测并获取总线的负荷信息的方法例如:利用公式 统计在单位时间T1内、总线所发起的读写操作所占据的时间Tload,其中Lbus为当前的总线负载即总线负荷信息。
不同的***负荷信息与文件播放能力的对应关系可以预先设置。文件播放能力可以为合成、解码、同步、播放等能力,根据不同的待播文件的属性可以有所不同。其中设置***负荷信息与所述文件播放能力的方法可以有多种,例如:待播音频文件的属性为MIDI时,对应的文件播放能力可以为合成能力即***支持的和弦数目等。待播视频文件的属性不同也可以对应不同的文件播放能力,该文件播放能力可以为与待播视频文件的属性对应的***当前支持的最大解码帧数、视频编码能力等。
步骤102、根据该***负荷信息获取对应的***支持的文件播放能力。
待播文件可以是音频、视频等多文件。获取***负荷信息后,若待播文件为待播音频文件,则可以根据该***负荷信息获取与该待播音频文件的属性对应的***支持的最大和弦数目等信息;若待播文件为待播视频文件,则可以根据该***负荷信息获取与该待播音频文件的属性对应的***支持的最大解码帧数等信息。
步骤103、选取待播文件中与该文件播放能力对应的数据进行播放。
若待播文件为待播音频文件,获取***当前支持的最大和弦数目后,选取该待播音频文件中与最大和弦数目对应的音频数据进行播放。例如:判断待播音频文件的和弦数目T是否大于***当前支持的最大和弦数目S,如果是,则播放待播音频文件时,会出现断续现象,通过对该待播音频文件进行解析、解码和合成等处理从T和弦中选取S和弦的音频数据进行播放;否则可以直接播放待播音频文件中T个和弦的音频数据。***播放待播音频文件时,根据当前的文件播放能力,选取合适的播放参数,就可以保证流畅的播放音频文件例如MIDI铃声。
若待播文件为待播视频文件,获取与待播视频文件的播放条件对应的***当前支持的最大解码帧数后,选择所述待播视频文件中与所述最大解码帧数对应的视频数据进行播放。当***当前支持的最大解码帧数小于该待播视频文件帧数时,播放该待播视频文件可能会出现播放不连续的情况,这时可以选择丢弃部分增量帧,丢弃增量帧的含义是在码流的***层中识别出当前帧的类别,如果是可以丢弃的增量帧,则不对该增量帧进行解码和播放处置,直接跳过该增量帧,在码流中读取下一帧数据。其中丢弃增量帧的顺序一般是先丢弃B帧、再丢弃参考P帧、然后丢弃非参考P帧,具体地,若所述待播视频文件的帧数与所述最大解码帧数的差值为K,判断所述待播视频文件中B帧的数目M是否大于或等于K,是则跳过K个B帧、对剩余的视频数据进行播放;否则,若K与M的差值为E,判断所述待播视频文件中参考P帧的数目N是否大于或等于E,是则跳过E个参考P帧、对剩余的视频数据进行播放;否则,若E与N的差值为F,判断所述待播视频文件中非参考P帧的数目L是否大于或等于F,是则跳过F个非参考P帧、对剩余的视频数据进行播放;否则,返回所述待播视频文件的状态,其中M、N、L、E、F为整数。其中跳过B帧、参考P帧或非参考P帧时可以是随机跳过、也可以是按照一定准则跳过。当***当前支持的最大解码帧数大于或等于该待播视频文件帧数时,则可以直接对待播视频文件进行解码和播放。
本实施例在播放文件之前,检测获取播放装置的***负荷信息,并获取与该***负荷信息对应的***的文件播放能力,选取待播文件中与***当前的文件播放能力对应的数据进行播放,可以保证文件的流畅播放,提高多业务并发时的服务质量。
音频文件有许多种,其中的MIDI文件是指计算机中记录的MIDI信息的数据。MIDI文件不是直接记录乐器的发音,而是记录了演奏乐器的各种信息或指令,如:用哪一种乐器,什么时候按某个键,力度怎样等,而播放时发出的声音,则通过播放软件或者音源的转换而成,因此MIDI文件通常比声音文件小得多,一首MIDI文件格式的乐曲只有十几K或几十K,只有声音文件的千分之一左右,便于储存和携带。
软件在播放MIDI音乐时,可以选择不同的音源(波表)播放方式,以获得最佳的播放效果等。在早期的MIDI方案中,采用外接MIDI芯片的方案,由外接MIDI芯片负责合成特定的MIDI音乐。但由于MIDI芯片成本较高,约4-5美元,且随着嵌入式处理器,例如:CPU/数字信号处理器(Digital SignalProcessor;以下简称:DSP)性能的提升,目前主流的MIDI是基于软件的实现方案,可以减少外置MIDI芯片,以降低成本,并保证用户体验较好。MIDI常用作游戏伴音,来电铃声,闹铃等场景。
现有的手机,例如功能手机/智能手机,为了体现较好地***性能,往往支持较高的和弦数目,如64/72/128和弦等。和弦数目越高,播放该音频文件所需的***的资源消耗越高。表1为一个典型的音频处理器的资源消耗表,表中的Mono为单声道,Stereo为立体声,每个激活的语音消耗的每秒处理的百万级的机器语言指令数(Million Instructions Per Second;以下简称:MIPS)为播放一个单声道/立体声和弦需要消耗的MIPS。表1中是采用内置重采样方法时的资源消耗情况,如果采用外部硬件重采样模块,则可以优先考虑外部的重采样模块,在软件内部则可以输出较低码率的文件,例如:***输出Stereo-44.1kHz模式时,若仅采用内置重采样的方法消耗1.98MIPS的***资源,但若采用外部硬件重采样模块后则只需消耗0.60MIPS就可以实现,则可以通过外部硬件重采样模块以及Stereo-11kHz模式结合来实现。
表1
模式 | 每个激活的语音消耗的MIPS |
Mono-11kHz | 0.50 |
Stereo-11kHz | 0.60 |
Mono-22kHz | 0.68 |
Stereo-22kHz | 1.03 |
Mono-44.1kHz | 1.21 |
Stereo-44.1kHz | 1.98 |
根据表1可知,对一个40和弦双声道的MIDI文件,采用44.1kHz的输出,需要CPU资源为40*1.98=79.2MIPS;同理64和弦采用44.1kHz的输出,所需的CPU资源为64*1.98=126.72MIPS,72和弦采用44.1kHz的输出,所需的CPU资源为72*1.98=142.56MIPS,128和弦采用44.1kHz的输出,所需的CPU资源为128*1.98=253.44MIPS。
图2为本发明文件播放方法第二实施例的流程图,如图2所示,在本发明文件播放方法第一实施例的基础上,以多任务时手机播放MIDI振铃文件为例,该文件播放方法可以包括以下步骤:
步骤201、调用MIDI振铃播放程序。
步骤202、检测当前的***负荷信息。
其中,***负荷信息可以为CPU、总线或内存等负荷信息或者这几项的组合。例如:检测CPU负荷信息的方法可以是分析一段时间内CPU进入空闲(IDLE)任务的频率和时间,获取CPU的使用率。不同的***负荷信息对应的文件播放能力可以预先设置。MIDI文件的属性对应的文件播放能力可以为***支持的和弦数目。图3是本发明文件播放方法中***负荷信息与文件播放能力的对照图,如图3所示,当***负荷信息在区间[0,a]时,对应文件播放能力A;当***负荷在区间[a,b]时,对应文件播放能力B;当***负荷在区间[b,c]时,对应文件播放能力C;当***负荷在区间[c,1]时,对应文件播放能力D。此时的文件播放能力为***当前支持的最大和弦数目。其中a、b和c的取值可以根据***的具体播放能力和要求进行设置。例如取a=30%,b=50%,c=70%。而当***负荷信息在[0,a]时,对应文件播放能力A为最大支持72和弦播放;当***负荷信息在[a,b]时,对应文件播放能力B为最大支持64和弦播放;当***负荷信息在[b,c]时,对应文件播放能力C为最大支持40和弦播放;当***负荷信息在[c,1]时,对应文件播放能力D为最大支持32和弦播放。
步骤203、获取***当前最大支持的MIDI和弦数目S。
具体实现过程中,若用户下载文件时占用大量***资源时,需要播放一个MIDI振铃文件即待播的MIDI振铃文件的伴音,先检测此时的***,获取此时的***负荷信息假设为60%,则从图3中可以得出:***负荷信息60%对应的文件播放能力C为最大支持40和弦播放,即***当前最大支持的MIDI和弦数目S=40。
步骤204、解析待播的MIDI振铃文件,获取该待播的MIDI振铃文件的和弦数目T。
解析获待播的MIDI振铃文件的和弦数目T,例如:若T=64,即待播的MIDI振铃文件为64和弦,若T=32,即待播的MIDI振铃文件为32和弦。其中步骤203和步骤204在时序上可以不分先后。
步骤205、比较***当前最大支持的MIDI和弦数目S与该待播的MIDI振铃文件的和弦数目T,若T>S,则执行步骤206,否则执行步骤207。
步骤206、从待播的MIDI振铃文件的T个和弦中选取S个和弦的音频数据,执行步骤207。
由于***此时最大支持40和弦播放,若待播的MIDI振铃文件为64和弦的文件,此时直接播放会出现播放不连续的情况。可以对该待播的64和弦的MIDI振铃文件进行预处理,从该64和弦的MIDI振铃文件中按照一定的规则进行解析、解码和合成等处理后,选取其中的40和弦。
步骤207、播放当前的MIDI振铃数据。
***根据当前支持的文件播放能力,选取合适的播放参数例如播放40和弦MIDI文件所需的播放参数,对当前的40和弦MIDI振铃数据进行播放。即若待播音频文件为64和弦MIDI振铃文件,实际上***播放的是40和弦的MIDI振铃数据。若待播音频文件为32和弦MIDI振铃文件,则***选取合适的播放参数直接播放该32和弦的MIDI振铃数据。
本实施例在播放音频文件之前,检测获取***当前最大支持的和弦数目,选取待播音频文件中与当前的最大支持的和弦数目对应的和弦进行播放,在多业务并存时保证了音频文件的流畅播放,提高了服务质量。
视频文件与音频文件不同,在面向对象的MPEG4技术中,对于每个对象的帧编码方式采用的帧包括多个视频对象,而对于具体视频对象的编码方式在视频编码中分为下列帧类型:I帧、P帧、B帧。其中P帧进一步分为作为参考帧的P帧即参考P帧(作为其他P帧或B帧的参考帧)和不作为参考帧的P帧即非参考P帧。图4为本发明包括I帧、P帧、B帧的图像序列的示意图,如图4所示,I帧表示不采用参考图像的编码而产生的图像。P帧表示采用前一I帧或前一P帧进行运动补偿预测而产生的视频帧。B帧表示同时采用前一和后一的I帧或P帧作基准,进行运动补偿预测编码而产生的视频帧,B帧、参考P帧和非参考P帧都是增量帧。
传统的I、P、B帧编码使用PB帧模式可以在不大量增加数据量的前提下,增加图像的帧率。图5为本发明视频编码过程的流程示意图,如图5所示,运动估计涉及到三种帧结构:I帧、P帧和B帧。只包含帧内编码的帧称为I帧,对I帧或P帧进行前行预测得到的帧称为P帧,对I帧或P帧进行前后双向预测得到的帧称为B帧。运动估计时,P帧图像使用前面最近解码的I帧或P帧作为参考帧称为前向预测;而B帧图像使用两帧图像作为预测参考称为双向预测。其中一个参考帧在显示顺序上先于编码帧(前向预测),另一帧在显示顺序上晚于编码帧(后向预测)。B帧的参考帧在任何情况下都是I帧或P帧。B帧图像不仅压缩比高,而且由于B帧本身不用于参考预测的基准,故误差不会传递。
图6为本发明文件播放方法第三实施例的流程图,如图6所示,在本发明文件播放方法第一实施例的基础上,以多任务时手机播放MP4等视频文件为例,该文件播放方法可以包括以下步骤:
步骤301、调用视频解码程序。
步骤302、检测当前的***,获取***负荷信息。
步骤303、获取***当前支持的最大解码帧数。
其中***中可以通过视频解码器对待播视频文件进行解码,然后通过媒体播放器进行播放,其中与该***负荷信息对应的视频解码器当前的文件播放能力可以为该视频解码器与待播视频文件的属性对应的***当前支持的最大解码帧数。例如:在多任务并存时,获取手机的视频解码器在待播视频文件的属性Profile X和Level Y下、对应的***当前支持的最大解码帧数。下面以MPEG4视频编码标准为例,对Profile和Level的含义进行简单介绍。视频编码标准是一个分等级的系列:按所使用的编码工具的集合分成不同的“类(Profiles)”,表示控制计算的复杂度;同时又划分成不同的“级(Levels)”,主要和编码图像的分辩率和码率等比特流相关参数。“级”与”类”的若干组合构成MPEG-4视频编码标准在某种特定应用下的子集,例如:对某一输入格式的图像、采用特定集合的压缩编码工具、产生规定速率范围内的编码码流等。表2为典型的MPEG4的Profile和Level的关系表。
表2
MPEG4标准中的Profile包括Simple Profile、Simple ScalableProfile、Advanced Simple Profile、Core Profile和Main Profile等几类。如表2所示,每一种待播视频文件的属性Profile X和Level Y在***负荷信息不同时可以对应不同的预先设置的最大解码帧数。
步骤304、获取该待播视频文件的帧数。
分析待解码的视频码流,获取当前的需要解析的待播视频文件的参数,例如:该获取属性为Profile X和Level Y的待播视频文件的帧数。且可以获取视频码流中的B帧数目为M,参考P帧数目为N,非参考P帧数目L。其中步骤303和304在时序上可以不分先后。
步骤305、若待播视频文件大于最大解码帧数,则执行步骤310,否则执行步骤306。
步骤306、若M≥K,则执行步骤310,否则执行步骤307。
其中K为待播视频文件与***支持的最大解码帧数的差值。丢弃K个增量帧后可以满足***当前支持的最大解码帧数。判断可以丢弃的B帧的数目M是否满足需要丢弃的帧数K。若M≥K,即丢弃K个B帧该视频文件可以满足:该视频解码器在Profile X和Level Y条件下当前支持的最大解码帧数,此时可以随机丢弃K个B帧后执行步骤310。若B1<K,即丢弃所有的M个B帧后该视频文件仍不能满足***当前支持的最大解码帧数,可以计算出还需要丢弃的帧数为E,即E=K-M,则此时丢弃所有的M个B帧后执行步骤307。其中丢弃B帧的意思是:在码流的***层中识别此帧为B帧后,不对该B帧进行解码和播放处理,直接跳过该B帧,在码流中取下一帧数据继续解码和播放。
步骤307、若N≥E,则执行步骤310,否则执行步骤308。
判断可以丢弃的参考P帧的数目N是否满足还需要丢弃的帧的数目为E。若N≥E即随机丢弃E个参考P帧后该视频文件可以满足***当前支持的最大解码帧数,则丢弃E个参考P帧后执行步骤310;若N<E即随机丢弃E个参考P帧后该视频文件后仍不能满足***当前支持的最大解码帧数,还需要丢弃的帧数为F,即F=N-E,则丢弃所有的L个参考P帧后执行步骤308。其中丢弃参考P帧的意思是:在码流的***层中识别此帧为参考P帧后,不对该参考P帧进行解码和播放处理,直接跳过该参考P帧,在码流中取下一帧数据继续解码和播放。
步骤308、若L≥F则执行步骤310,否则执行步骤309。
若可以丢弃的非参考P帧的数目L是否小于还需要丢弃的帧的数目F。若L≥F即随机丢弃F个非参考P帧后该视频文件可以满足***当前支持的最大解码帧数,则丢弃F个非参考P帧后执行步骤310;若L<F即丢弃所有的L个非参考P帧后该视频文件后仍不能满足***当前支持的最大解码帧数,则丢弃所有的L个参考P帧后执行步骤309。其中丢弃非参考P帧的意思是:在码流的***层中识别此帧为非参考P帧后,不对该非参考P帧进行解码和播放处理,直接跳过该非参考P帧,在码流中取下一帧数据继续解码和播放。
步骤309、记录并返回当前状态。
此时丢弃待播视频文件中的所有的B帧、参考P帧、非参考P帧都不能满足该视频解码器当前支持的最大解码帧数的要求,可以通过调用函数通知上层软件例如视频播放器当前的待播视频文件的状态,由视频播放器对该待播视频文件进行处理,或者通过调用函数通知用户该待播视频文件的状态,例如通过对话框告知用户“该视频可能会出现抖动,是否需要停止文件下载后播放”等,然后根据用户的选择进行下一步操作。
步骤310、对当前的视频文件进行解码和播放。
视频解码器对当前的视频文件进行解码后,媒体播放器对解码后的视频文件进行播放,其中当前的视频文件可以是没有丢帧的待播视频文件,也可以是丢掉一部分增量帧后的剩余的视频数据。
本实施例在播放视频文件之前,检测获取***当前支持的最大解码帧数,选取与当前支持的最大解码帧数对应的视频数据进行解码与播放,在多业务并存时,保证了视频文件的流畅播放,且提高了服务质量。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图7为本发明文件播放装置第一实施例的结构示意图,如图7所示,该文件播放装置包括:第一获取模块1、第二获取模块2和选取模块3。其中第一获取模块1用于获取***负荷信息;第二获取模块2用于根据所述***负荷信息获取对应的***支持的文件播放能力;选取模块3用于选取待播文件中与所述文件播放能力对应的数据进行播放。
具体地,***在调用播放程序对文件进行播放时,可以先检测当前的***,并获取***当前的***负荷信息,并根据该***负荷信息获取对应的***支持的文件播放能力,其中***负荷信息包括:CPU、总线或内存等负荷信息,或者这几项的组合。不同的***负荷信息对应的文件播放能力可以预先设置。其中***负荷信息与文件播放能力之间对应关系的设置方法可以有多种,例如:根据***当前支持的最大和弦数目设置,或根据***当前支持的最大解码帧数、视频编码能力等设置。因此,文件播放装置还可以包括设置模块,用于设置所述***负荷信息与所述文件播放能力的对应关系。待播文件可以是音频、视频等多文件。若待播文件为待播音频文件,则第二获取模块2获取该***当前支持的最大和弦数目,然后选取模块3选取待播音频文件中与当前支持的最大和弦数目对应的音频数据进行播放。若待播文件为待播视频文件,则第二获取模块2获取***当前支持的最大解码帧数,然后选取模块3选取待播视频文件中与***当前支持的最大解码帧数对应的视频数据进行播放。
本实施例在播放文件之前,检测并通过获取模块获取播放装置的文件播放能力,选取模块选取待播文件中与播放装置当前的文件播放能力对应的数据进行播放,保证了在多业务并存时多文件等的流畅播放,提高了服务质量。
图8为本发明文件播放装置第二实施例的结构示意图,如图8所示,在本发明文件播放装置第一实施例的基础上,该文件播放装置的第二获取模块2可以包括第一获取子模块21和/或第二获取子模块22。其中第一获取子模块21用于根据所述***负荷信息获取与待播音频文件的属性对应的***支持的最大和弦数目;第二获取子模块22用于根据所述***负荷信息获取与待播视频文件的属性对应的***支持的最大解码帧数。选取模块3可以包括:音频选取子模块31和/或视频选取子模块32。其中音频选取子模块31用于若待播音频文件的和弦数目大于***支持的最大和弦数目,则选取待播音频文件中与***支持的最大和弦数目对应的音频数据进行播放;视频选取子模块32用于若待播视频文件的帧数大于***支持的最大解码帧数,则选择待播视频文件中与***支持的最大解码帧数对应的视频数据进行播放。进一步地,视频选取子模块32可以包括第一处理单元321、第二处理单元322、第三处理单元323和第四处理单元324。其中第一处理单元321用于若所述待播视频文件的帧数与***支持的最大解码帧数的差值为K,判断该待播视频文件中B帧的数目M是否大于或等于K,是则跳过K个B帧、对剩余的视频数据进行播放;第二处理单元322用于若该待播视频文件中B帧的数目M小于K、且K与M的差值为E,判断该待播视频文件中参考P帧的数目N是否大于或等于E,是则跳过E个参考P帧、对剩余的视频数据进行播放;第三处理单元323用于若待播视频文件中B帧的数目M小于K、参考P帧的数目N小于E、且E与N的差值为F,判断该待播视频文件中非参考P帧的数目L是否大于或等于F,是则跳过F个非参考P帧、对剩余的视频数据进行播放;第四处理单元324用于若待播视频文件中B帧的数目M小于K、参考P帧的数目N小于E、且非参考P帧的数目L小于F,则返回该待播视频文件的状态,其中M、N、L、E、F为整数。
具体地,待播文件可以为待播音频文件和待播视频文件,文件播放能力可以为合成、解码、同步、播放等能力。在待播文件为待播音频文件时,第一获取子模块21根据***负荷信息获取***当前的文件播放能力。不同文件可以对应不同的文件播放能力,例如:若该***当前的文件播放能力为与待播音频文件的属性对应的***当前支持的最大和弦数目,则音频选取子模块31选取待播音频文件中与***当前支持的最大和弦数目对应的音频数据进行播放。例如:若待播音频文件的和弦数目T大于所述***当前支持的最大和弦数目S,则音频选取子模块31选取所述待播音频文件中S个和弦的音频数据进行播放;若所述待播音频文件的和弦数目T小于所述***当前支持的最大和弦数目S,则音频选取子模块31可以直接播放所述待播音频文件中T个和弦的音频数据。本实施例中待播音频文件播放的方法可以参照本发明文件播放方法第二实施例中的描述,在此不再赘述。
在待播文件为待播视频文件时,第二获取子模块22根据***负荷信息获取***当前的文件播放能力。若***当前的文件播放能力为与待播视频文件的属性对应的***当前支持的最大解码帧数,且待播视频文件的帧数大于最大解码帧数,若二者的差值为K,则第一处理单元321判断待播视频文件中B帧的数目M是否大于或等于K,是则跳过K个B帧、对剩余的视频数据进行播放;否则若K与M的差值为E,则第二处理单元322判断所述待播视频文件中参考P帧的数目N是否大于或等于E,是则跳过E个参考P帧、对剩余的视频数据进行播放;否则若E与N的差值为F,则第三处理单元323判断所述待播视频文件中非参考P帧的数目L是否大于或等于F,是则跳过F个非参考P帧、对剩余的视频数据进行播放;否则若非参考P帧的数目L小于F,则第四处理单元324返回所述待播视频文件的状态。本实施例中待播视频文件播放的方法可以参照本发明文件播放方法第三实施例中的描述,在此不再赘述。
本实施例通过第一获取子模块检测获取***的文件播放能力后,音频选取子模块选取待播文件中与***当前的文件播放能力对应的音频数据进行播放;通过第二获取子模块检测获取***的文件播放能力后,视频选取子模块选取待播文件中与***当前的文件播放能力对应的视频数据进行播放;保证了多业务并存时***对音频、视频等多文件的流畅播放,提高了多媒体等业务的服务质量。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (12)
1、一种文件播放方法,其特征在于,包括:
获取***负荷信息;
根据所述***负荷信息获取对应的***支持的文件播放能力;
选取待播文件中与所述文件播放能力对应的数据进行播放。
2、根据权利要求1所述的文件播放方法,其特征在于,所述根据所述***负荷信息获取对应的***支持的文件播放能力,包括:
根据所述***负荷信息获取与待播音频文件的属性对应的***支持的最大和弦数目;和/或
根据所述***负荷信息获取与待播视频文件的属性对应的***支持的最大解码帧数。
3、根据权利要求2所述的文件播放方法,其特征在于,所述选取待播文件中与所述文件播放能力对应的数据进行播放,包括:
若所述待播音频文件的和弦数目大于所述最大和弦数目,则选取所述待播音频文件中与所述最大和弦数目对应的音频数据进行播放;或
若所述待播视频文件的帧数大于所述最大解码帧数,则选择所述待播视频文件中与所述最大解码帧数对应的视频数据进行播放。
4、根据权利要求3所述的文件播放方法,其特征在于,所述若待播视频文件的帧数大于所述最大解码帧数,则选择所述待播视频文件中与所述最大解码帧数对应的视频数据进行播放,包括:
若所述待播视频文件的帧数与所述最大解码帧数的差值为K,判断所述待播视频文件中B帧的数目M是否大于或等于K,是则跳过K个B帧、对剩余的视频数据进行播放;
否则,若K与M的差值为E,判断所述待播视频文件中参考P帧的数目N是否大于或等于E,是则跳过E个参考P帧、对剩余的视频数据进行播放;
否则,若E与N的差值为F,判断所述待播视频文件中非参考P帧的数目L是否大于或等于F,是则跳过F个非参考P帧、对剩余的视频数据进行播放;
否则,返回所述待播视频文件的状态,其中M、N、L、E、F为整数。
5、根据权利要求1-4任意一项所述的文件播放方法,其特征在于,还包括:设置所述***负荷信息与所述文件播放能力的对应关系。
6、根据权利要求1-4任意一项所述的文件播放方法,其特征在于,所述***负荷信息包括CPU负荷信息、总线负荷信息和内存负荷信息中的任意一个或其组合。
7、一种文件播放装置,其特征在于,包括:
第一获取模块,用于获取***负荷信息;
第二获取模块,用于根据所述***负荷信息获取对应的***支持的文件播放能力;
选取模块,用于选取待播文件中与所述文件播放能力对应的数据进行播放。
8、根据权利要求7所述的文件播放装置,其特征在于,所述第二获取模块包括:
第一获取子模块,用于根据所述***负荷信息获取与待播音频文件的属性对应的***支持的最大和弦数目;和/或
第二获取子模块,用于根据所述***负荷信息获取与待播视频文件的属性对应的***支持的最大解码帧数。
9、根据权利要求8所述的文件播放装置,其特征在于,所述选取模块包括:
音频选取子模块,用于若所述待播音频文件的和弦数目大于所述最大和弦数目,则选取所述待播音频文件中与所述最大和弦数目对应的音频数据进行播放;和/或
视频选取子模块,用于若所述待播视频文件的帧数大于所述最大解码帧数,则选择所述待播视频文件中与所述最大解码帧数对应的视频数据进行播放。
10、根据权利要求9所述的文件播放装置,其特征在于,所述视频选取子模块包括以下单元的任意一项或其组合:
第一处理单元,用于若所述待播视频文件的帧数与所述最大解码帧数的差值为K,判断所述待播视频文件中B帧的数目M是否大于或等于K,是则跳过K个B帧、对剩余的视频数据进行播放;
第二处理单元,用于若所述待播视频文件中B帧的数目M小于K、且K与M的差值为E,判断所述待播视频文件中参考P帧的数目N是否大于或等于E,是则跳过E个参考P帧、对剩余的视频数据进行播放;
第三处理单元,用于若所述待播视频文件中B帧的数目M小于K、参考P帧的数目N小于E、且E与N的差值为F,判断所述待播视频文件中非参考P帧的数目L是否大于或等于F,是则跳过F个非参考P帧、对剩余的视频数据进行播放;
第四处理单元,用于若所述待播视频文件中B帧的数目M小于K、参考P帧的数目N小于E、且非参考P帧的数目L小于F,则返回所述待播视频文件的状态,其中M、N、L、E、F为整数。
11、根据权利要求7-10任意一项所述的文件播放装置,其特征在于,还包括:
设置模块,用于设置所述***负荷信息与所述文件播放能力的对应关系。
12、根据权利要求7-10任意一项所述的文件播放装置,其特征在于,所述***负荷信息包括CPU负荷信息、总线负荷信息和内存负荷信息中的任意一个或其组合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008102475902A CN101477820A (zh) | 2008-12-30 | 2008-12-30 | 文件播放方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008102475902A CN101477820A (zh) | 2008-12-30 | 2008-12-30 | 文件播放方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101477820A true CN101477820A (zh) | 2009-07-08 |
Family
ID=40838511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008102475902A Pending CN101477820A (zh) | 2008-12-30 | 2008-12-30 | 文件播放方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101477820A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102196272A (zh) * | 2010-03-11 | 2011-09-21 | 中国科学院微电子研究所 | 一种p帧编码方法及装置 |
CN102984587A (zh) * | 2011-09-05 | 2013-03-20 | 深圳市快播科技有限公司 | 一种视频播放的优化方法、装置及点播终端 |
CN105491448A (zh) * | 2015-12-07 | 2016-04-13 | 广州华多网络科技有限公司 | 一种动画数据播放方法以及装置 |
CN105764166A (zh) * | 2014-12-17 | 2016-07-13 | 联芯科技有限公司 | 多通终端及其***mips控制方法和模块 |
CN108282696A (zh) * | 2018-02-07 | 2018-07-13 | 北京易讯理想科技有限公司 | 一种序列帧图像播放的硬件资源分配方法 |
-
2008
- 2008-12-30 CN CNA2008102475902A patent/CN101477820A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102196272A (zh) * | 2010-03-11 | 2011-09-21 | 中国科学院微电子研究所 | 一种p帧编码方法及装置 |
CN102984587A (zh) * | 2011-09-05 | 2013-03-20 | 深圳市快播科技有限公司 | 一种视频播放的优化方法、装置及点播终端 |
CN102984587B (zh) * | 2011-09-05 | 2016-05-25 | 深圳市快播科技有限公司 | 一种视频播放的优化方法、装置及点播终端 |
CN105764166A (zh) * | 2014-12-17 | 2016-07-13 | 联芯科技有限公司 | 多通终端及其***mips控制方法和模块 |
CN105491448A (zh) * | 2015-12-07 | 2016-04-13 | 广州华多网络科技有限公司 | 一种动画数据播放方法以及装置 |
CN105491448B (zh) * | 2015-12-07 | 2018-11-23 | 广州华多网络科技有限公司 | 一种动画数据播放方法以及装置 |
CN108282696A (zh) * | 2018-02-07 | 2018-07-13 | 北京易讯理想科技有限公司 | 一种序列帧图像播放的硬件资源分配方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102474659B (zh) | 发送装置、接收装置、发送方法、接收方法以及传输*** | |
JP6335845B2 (ja) | 動的ビデオスイッチング | |
CN105933724A (zh) | 视频制作方法、装置及*** | |
CN101131816B (zh) | 一种音频文件生成方法、装置及数码播放器 | |
CN103475927B (zh) | 在线视频实时变速播放方法及*** | |
CN102143382A (zh) | 用于提供终端中的广播流的暂停功能的装置和方法 | |
CN104063056A (zh) | 用于增强的触觉效果的***和方法 | |
CN101477820A (zh) | 文件播放方法和装置 | |
CN101102326A (zh) | 信息处理装置、信息处理方法、信息处理程序和记录介质 | |
CN1770646A (zh) | 使用静止图像生成动画的无线通信终端及其方法 | |
KR20070091962A (ko) | 애니메이션을 이용한 디엠비 데이터 방송의 나레이션 제공방법 및 이를 구현하기 위한 프로그램이 저장된 컴퓨터로판독 가능한 기록매체 | |
JP2007221323A (ja) | 情報処理方法、動画サムネイル表示方法、復号化装置、および情報処理装置 | |
CN104871132A (zh) | 介质硬件资源分配 | |
CN105992005A (zh) | 视频解码方法、装置及终端设备 | |
CN106101766A (zh) | 一种视频广告的播放控制方法、装置及电子设备 | |
CN101350924A (zh) | 编码多媒体信号 | |
CN104956683A (zh) | 用于流式传输视频的自适应降噪引擎 | |
CN103139638A (zh) | 再现设备、再现方法和程序 | |
CN100520946C (zh) | 存储不同数据格式的存储器件 | |
KR101569502B1 (ko) | 트랜스코딩 작업 할당 장치, 방법 및 컴퓨터 판독 가능한 기록 매체 | |
US20120177348A1 (en) | Media processing method and media processing program | |
CN104363491A (zh) | 再现多声道内容的电子装置和方法 | |
US20080058973A1 (en) | Music playback system and music playback machine | |
CN104094219A (zh) | 片上***平台上的用于音频分布的音频管线 | |
CN107783866A (zh) | 一种多媒体设备的测试方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20090708 |