[发明专利]一种预解码高清播放器及播放方法有效
申请号: | 200910223439.X | 申请日: | 2009-11-16 |
公开(公告)号: | CN101710992A | 公开(公告)日: | 2010-05-19 |
发明(设计)人: | 杨永强;李茗;祝晓光 | 申请(专利权)人: | 乐视网信息技术(北京)股份有限公司 |
主分类号: | H04N7/26 | 分类号: | H04N7/26;H04N5/76 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100081 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 解码 播放 方法 | ||
1.一种预解码高清播放器,包括预解码模块、播放模块、缓冲区和系统调度模块,其特征在于:
预解码模块,将解码后的数据放入缓冲区直到缓冲数据达到缓冲区阀值;
播放模块用于播放已解码的源数据,其受控于系统调度模块,等待接收系统调度模块发出的调度消息,该消息包括用于指示播放模块开始播放的消息,收到开始播放的消息后,播放模块从缓冲区中获取已解码的数据,并进行播放;
系统调度模块用于向预解码模块和播放模块发出调度消息以控制预解码模块和播放模块的工作,并用于检测缓冲区的缓冲量,缓冲区阀值的计算,所述缓冲区阀值由以下公式计算得到:
n=len-(lds*pt);
其中n为缓冲区阀值,len为影片大小,lds为降低CPU调度优先级后的解码速度,pt为播放时间;其中,所述控制预解码模块和播放模块的工作包括预解码模块和播放模块的CPU优先级分配工作和状态检测,缓冲区阀值的检测包括定时检测缓冲区是否达到缓冲区阀值:
所述系统调度模块计算缓冲区阀值,并且检测缓冲区缓冲量是否已经达到所述缓冲区阀值,未达到所述缓冲区阀值之前,系统调度模块为预解码模块分配更高的CPU调度优先级;
待缓冲区的缓冲量达到所述缓冲区阀值后,系统调度模块降低预解码模块的CPU调度优先级,而把更多的CPU调度优先级分配给播放模块;
当缓冲区内的预缓存数据量低于所述缓冲区阀值时,系统调度模块把预解码模块的CPU调度优先级设为最高,而暂停播放模块的播放。
2.如权利要求1所述的预解码高清播放器,其特征在于:
预解码模块由数据拆分器和解码器组成,拆分器用于音视频分离,解码器用于将拆分器分离后的音视频数据进行解码,并把解码后的数据存放到缓冲区中,如果全部数据解码完毕则进入休眠状态。
3.如权利要求1所述的预解码高清播放器,其特征在于:
播放模块由播放器和消息处理器组成,播放器的作用是到缓冲区取数据播放,消息处理器负责接收系统调度模块发来的消息,所述消息包括开始播放,暂停播放,并根据接收到消息来控制播放器。
4.如权利要求3所述的预解码高清播放器,其特征在于:
所述播放器还包括一个控制器,用于接收从系统调度模块发送过来的调度消息;
首先,播放器处于休眠状态,而控制器处于等待状态,控制器等待直到系统调度模块的消息指令,当控制器收到消息指令并解析后,让播放器执行,同时控制器再次进入等待状态,等待下一条调度信息的到来,所述调度消息进一步包括停止,快进,倒退,快退;解析得到调度消息后,控制器唤醒播放器执行相关的调度消息。
5.如权利要求1所述的预解码高清播放器,其特征在于:
系统调度模块包括缓冲区阀值计算,消息处理,系统检测和CPU调度四个单元,
其中缓冲区阀值计算单元是根据解码速度和影片长度来计算出来的一个能保证缓冲区始终有足够多的数据供播放模块播放的数据量;
系统检测单元是根据所获得的缓冲区阀值来定时检测缓冲区的缓冲量及其他模块的状态,其中预解码模块的状态包括正在解码和休眠,播放模块的状态包括正在播放和休眠;
消息处理单元根据系统检测的结果来向相应的模块发送消息指令,以及CPU的调度指示,对预解码模块而言,其发送的消息指令是解码指令,对于播放模块而言,其发送的消息指令包括开始播放和暂停播放;
CPU调度单元受系统调度检测单元的控制,实施CPU调度,包括增加CPU调度优先级和降低CPU调度优先级,或者调整解码模块和播放模块的CPU分配比例。
6.如权利要求1所述的预解码高清播放器,其特征在于:
系统调度模块在以下情况触发开始播放消息和降低预解码模块增加播放模块CPU调度的优先级:
(1)当缓冲量达到缓冲区阀值且播放模块还未开始播放;或
(2)当缓冲量还未达到缓冲区阀值但是预解码模块已经开始休眠而且播放模块还未开始播放的时候。
7.一种预解码高清播放方法,其特征在于包括以下步骤:
(1)将编码后的数据分割成为视频数据和音频数据,经解码器解码后放入缓冲区中;
(2)计算一个缓冲区阀值,并增加用于解码器的CPU优先级,同时判断缓冲区的缓冲量是否达到缓冲区阀值;如果达到该缓冲区阀值,则降低用于解码器的CPU的优先级,并为播放器增加CPU优先级;
所述缓冲区阀值的设定采用以下公式:
缓冲区阀值n=len-(lds*pt);
其中len为影片大小,lds为降低CPU调度优先级后的解码速度,pt为播放时间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于乐视网信息技术(北京)股份有限公司,未经乐视网信息技术(北京)股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910223439.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:新型插装缓冲式离合器
- 下一篇:一种保护电路