《视频解码方法和视频解码装置.pdf》由会员分享,可在线阅读,更多相关《视频解码方法和视频解码装置.pdf(12页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104053002A43申请公布日20140917CN104053002A21申请号201410247882122申请日20140605H04N19/44201401H04N19/18420140171申请人乐视网信息技术(北京)股份有限公司地址100089北京市海淀区学院南路68号19号楼六层6184号房间72发明人石学会魏征74专利代理机构北京博思佳知识产权代理有限公司11415代理人林祥54发明名称视频解码方法和视频解码装置57摘要本发明提供一种视频解码方法和视频解码装置,应用于终端设备,该视频解码方法包括监测所述终端设备的视频解码速度;当所述视频解码速度小于预设解码速。
2、度时,判断当前待解码画面帧的类型;若所述当前待解码画面帧为非参考类型的画面帧,则丢弃所述当前待解码画面帧。在本发明的技术方案中,通过对非参考类型的画面帧的丢弃,在不影响其他画面帧的解码的基础上,减少了所需解码的画面帧总数量,有助于降低视频解码负担,提升解码速度,从而避免视频卡顿现象。51INTCL权利要求书2页说明书6页附图3页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书6页附图3页10申请公布号CN104053002ACN104053002A1/2页21一种视频解码方法,应用于终端设备,其特征在于,包括监测所述终端设备的视频解码速度;当所述视频解码速度小于预设解码速度。
3、时,判断当前待解码画面帧的类型;若所述当前待解码画面帧为非参考类型的画面帧,则丢弃所述当前待解码画面帧。2根据权利要求1所述的视频解码方法,其特征在于,监测所述终端设备的视频解码速度具体包括获取预设的解码状态参数;其中,当所述解码状态参数的数值不属于预设数值范围时,确定所述视频解码速度小于预设解码速度。3根据权利要求2所述的视频解码方法,其特征在于,所述解码状态参数为所述终端设备中处理器的资源利用率;其中,当所述处理器的资源利用率小于预设利用率时,确定所述解码状态参数的数值不属于预设数值范围。4根据权利要求3所述的视频解码方法,其特征在于,所述处理器的资源利用率小于预设利用率包括处理器的当前运。
4、行核心数小于预设核心数和/或处理器的当前运行主频小于预设运行主频。5根据权利要求2所述的视频解码方法,其特征在于,所述解码状态参数为已解码画面帧缓冲队列中已解码画面帧的数量;其中,当已解码画面帧的数量小于预设数量时,确定所述解码状态参数的数值不属于预设数值范围。6一种视频解码装置,应用于终端设备,其特征在于,包括监测单元,用于监测所述终端设备的视频解码速度;判断单元,用于在所述视频解码速度小于预设解码速度的情况下,判断当前待解码画面帧的类型;丢弃单元,用于在所述当前待解码画面帧为B帧的情况下,丢弃所述当前待解码画面帧。7根据权利要求6所述的视频解码装置,其特征在于,所述监测单元具体用于获取预设。
5、的解码状态参数;以及所述判断单元在所述解码状态参数的数值不属于预设数值范围的情况下,确定所述视频解码速度小于预设解码速度。8根据权利要求7所述的视频解码装置,其特征在于,所述解码状态参数为所述终端设备中处理器的资源利用率;以及所述判断单元在所述处理器的资源利用率小于预设利用率和/或已解码画面帧的数量小于预设数量的情况下,确定所述解码状态参数的数值不属于预设数值范围。9根据权利要求7所述的视频解码装置,其特征在于,所述解码状态参数为已解码画面帧缓冲队列中已解码画面帧的数量;以及所述判断单元在所述处理器的资源利用率小于预设利用率和/或已解码画面帧的数量小于预设数量的情况下,确定所述解码状态参数的数。
6、值不属于预设数值范围。权利要求书CN104053002A2/2页310一种视频解码装置,应用于终端设备,其特征在于,包括处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为监测所述终端设备的视频解码速度;当所述视频解码速度小于预设解码速度时,判断当前待解码画面帧的类型;若所述当前待解码画面帧为非参考类型的画面帧,则丢弃所述当前待解码画面帧。权利要求书CN104053002A1/6页4视频解码方法和视频解码装置技术领域0001本发明涉及视频播放技术领域,尤其涉及一种视频解码方法和一种视频解码装置。背景技术0002随着网络技术的不断发展,有线网络和移动通信网络的数据传输速度越来越快,。
7、使得在视频播放的过程中,设备的视频解码能力成为了目前影响视频播放质量的一大瓶颈。当设备的视频解码能力较弱时,将直接反映为视频播放过程卡顿,影响观看者的体验。发明内容0003有鉴于此,本发明提供一种视频解码方法和一种视频解码装置,能够在不影响视频播放的基础上,减少了所需解码的画面帧总数量,有助于降低视频解码负担,提升解码速度,从而避免视频卡顿现象。0004为实现上述目的,本发明提供技术方案如下0005根据本发明的第一方面,提出了一种视频解码方法,应用于终端设备,包括0006监测所述终端设备的视频解码速度;0007当所述视频解码速度小于预设解码速度时,判断当前待解码画面帧的类型;0008若所述当前。
8、待解码画面帧为非参考类型的画面帧,则丢弃所述当前待解码画面帧。0009根据本发明的第二方面,提出了一种视频解码装置,应用于终端设备,包括0010监测单元,用于监测所述终端设备的视频解码速度;0011判断单元,用于在所述视频解码速度小于预设解码速度的情况下,判断当前待解码画面帧的类型;0012丢弃单元,用于在所述当前待解码画面帧为B帧的情况下,丢弃所述当前待解码画面帧。0013根据本发明的第三方面,提出了一种视频解码装置,应用于终端设备,包括0014处理器;0015用于存储处理器可执行指令的存储器;0016其中,所述处理器被配置为0017监测所述终端设备的视频解码速度;0018当所述视频解码速度。
9、小于预设解码速度时,判断当前待解码画面帧的类型;0019若所述当前待解码画面帧为非参考类型的画面帧,则丢弃所述当前待解码画面帧。0020由以上技术方案可见,本发明通过对非参考类型的画面帧的丢弃,在不影响其他画面帧的解码的基础上,减少了所需解码的画面帧总数量,有助于降低视频解码负担,提升解码速度,从而避免视频卡顿现象。说明书CN104053002A2/6页5附图说明0021图1示出了根据本发明的一个实施例的视频解码方法的流程示意图;0022图2示出了根据本发明的一个实施例的丢弃非参考类型的画面帧的示意图;0023图3示出了根据本发明的一个实施例的根据视频文件进行音视频播放的流程示意图;0024图。
10、4示出了根据本发明的一个实施例的视频解码装置的结构示意图。具体实施方式0025本发明通过对非参考类型的画面帧的丢弃,在不影响其他画面帧的解码的基础上,减少了所需解码的画面帧总数量,有助于降低视频解码负担,提升解码速度,从而避免视频卡顿现象。0026为对本发明进行进一步说明,提供下列实施例0027图1示出了根据本发明的一个实施例的视频解码方法的流程示意图。0028如图1所示,根据本发明的一个实施例的视频解码方法,应用于终端设备,包括0029步骤102,监测所述终端设备的视频解码速度;0030在本实施例中,视频解码速度可以直接反映出终端设备的解码能力和实际解码状况;具体地,可以通过多种手段来确定该。
11、视频解码速度,比如可以通过获取预设的解码状态参数,并当所述解码状态参数的数值不属于预设数值范围时,确定所述视频解码速度小于预设解码速度。0031本领域技术人员应该理解的是,可以根据实际需要确定所采用的解码状态参数,以用于反映出视频解码速度。比如作为一示例性实施例,解码状态参数可以为终端设备中处理器如CPU的资源利用率,如果资源利用率较小比如小于预设利用率,则说明用于视频解码的处理资源较少,并将导致视频解码速度较低;作为另一示例性实施例,解码状态参数也可以为已解码画面帧缓冲队列中已解码画面帧的数量,如果已解码画面帧的数量较小比如小于预设数量,则在视频播放速度一定的情况下,直接表明视频解码速度较低。
12、,可能无法匹配视频播放速度。当然,也可以同时获取处理器的资源利用率和已解码画面帧的数量。0032进一步地,当解码状态参数为处理器的资源利用率时,具体可以参考处理器的当前运行核心数和/或处理器的当前运行主频等参数;其中,当处理器的当前运行核心数小于预设核心数和/或处理器的当前运行主频小于预设运行主频时,判定为处理器的资源利用率较小。0033步骤104,当所述视频解码速度小于预设解码速度时,判断当前待解码画面帧的类型;0034步骤106,若所述当前待解码画面帧为非参考类型的画面帧,则丢弃所述当前待解码画面帧。0035在本实施例中,作为一示例性实施例,可以在解码操作的过程中,执行对非参考类型的画面帧。
13、的丢弃操作。具体地,待解码画面帧都处于待解码画面帧缓冲队列中,并按照排列顺序依次进行解码操作;若当前排列在队首的画面帧为非参考类型,则直接丢弃并继续说明书CN104053002A3/6页6查看下一个画面帧。那么,当视频解码速度恢复正常后,可以通过避免丢弃画面帧,从而尽快恢复对视频的正常解码。或者,作为另一示例性实施例,也可以直接将待解码画面帧缓冲队列中的所有非参考类型的画面帧丢弃。0036由上述实施例可知,若终端设备的视频解码速度正常,则可以正常执行视频解码操作;若视频解码速度较小比如小于预设解码速度,由于终端设备的硬件配置可能存在差异,因而该解码速度可以根据实际情况设置,可能导致视频播放卡顿。
14、时,通过丢弃非参考类型的画面帧,减少实际被解码的画面帧数量,从而相当于提升了视频解码速度,避免播放过程中发生卡顿。0037基于网络传输速度的影响,在视频的编码过程中,存在提高压缩率、减小视频数据量的需求。为此,相关技术中提出了帧间压缩编码技术将视频中包含的画面帧分为两种类型,即“参考类型的画面帧”和“非参考类型的画面帧”。其中,“非参考类型的画面帧”中仅需要记载与相邻画面帧的差异特征数据即可,而无需记载当前画面帧的所有数据,以此降低视频的数据量;而对于“参考类型的画面帧”,即用于作为参考对象的画面帧。当然,“参考类型的画面帧”也可能包括多个子类型第一类型,即包含当前画面帧中的全部特征数据;第二。
15、类型,类似于“非参考类型的画面帧”,即仅包含与相邻画面帧的差异特征数据;因此,第一类型的画面帧可以作为第二类型的画面帧和“非参考类型的画面帧”的参考对象,而第二类型的画面帧也作为“非参考类型的画面帧”的参考对象。0038可见,“参考类型的画面帧”丢失时,会造成被参考对象第二类型的画面帧或“非参考类型的画面帧”无法被正常解码;而“非参考类型的画面帧”的丢弃,则仅与该画面帧自身相关,并不会影响其他画面帧的解码,但却能够降低终端设备的总解码量,提升“参考类型的画面帧”的解码速度,避免视频卡顿。0039作为一示例性实施例,下面结合图2对“参考类型的画面帧”、“非参考类型的画面帧”以及本发明的技术方案进。
16、行详细说明。0040如图2所示,假定终端设备接收到的视频采用了MPEGMOVINGPICTURESEXPERTSGROUP/MOTIONPICTURESEXPERTSGROUP,动态图像专家组格式进行编码,实现了具有运动补偿的帧间压缩编码。0041具体地,该视频中的画面帧可以分为I帧、P帧和B帧。其中,I帧为关键帧,即上述的第一类型的“参考类型的画面帧”,包含当前画面帧中的完整画面数据,可以不依赖其他画面帧而被直接解码;P帧为差别帧,即上述的第二类型的“参考类型的画面帧”,仅包含当前画面帧与前一画面帧之间的差异特征数据,需要将前一画面帧与该P帧包含的差异特征数据进行叠加后,才能生成完整的当前画。
17、面帧;B帧为双向差别帧,即上述的“非参考类型的画面帧”,仅包含当前画面帧与前后画面帧之间的差异特征数据,需要将前一画面帧、后一画面帧与该P帧包含的差异特征数据进行叠加后,才能生成完整的当前画面帧。0042所以在解码过程中,I帧可能被P帧或B帧参考,P帧可能被B帧参考,而B帧则不会被其他画面帧参考。0043假定终端设备所需解码的视频中,其原始画面帧按照如图2所示的“IPBPBP”的方式排列。当监测到终端设备的视频解码速度较小时,通过丢弃B帧不对B帧进行解码来减少所需解码的画面帧总数,相当于原始画面帧被处理为类似“IPPP”的画面帧队列即处理后画面帧。说明书CN104053002A4/6页7004。
18、4为了便于理解,下面结合一典型应用场景,并基于图3来具体描述根据视频文件进行音视频播放的流程。0045如图3所示,播放视频文件的步骤包括0046步骤302,解析视频文件参数。0047步骤304,将视频文件分流为音频数据包和视频数据包,并将音频数据包添加至未解码音频缓冲队列,而将视频数据包添加至未解码画面帧缓冲队列。0048步骤306,对未解码音频缓冲队列中的音频数据进行解码。具体地,可以由终端设备中的CPU或专用的芯片如声卡进行解码。0049步骤308,终端设备的CPU对未解码画面帧缓冲队列中的待解码画面帧进行解码,并将已解码画面帧添加至已解码画面帧缓冲队列中。需要说明的是,虽然以“步骤306。
19、”和“步骤308”进行示意,但正如图3所示,音频解码和视频解码分别处于两个不同的处理流程中,并不表示音频解码和视频解码存在确定的先后顺序。0050步骤310,监测终端设备的视频解码速度,若视频解码速度慢,则避免对未解码画面帧缓冲队列中的B帧进行解码。0051其中,视频解码速度慢的原因有很多00521、由于终端设备的处理器自身的性能较差所致,即其硬件配置较低。此时,可以基于已解码画面帧缓冲队列中包含的已解码画面帧的数量来判断视频解码速度。具体地,当已解码画面帧缓冲队列中包含的已解码画面帧的数量小于预设数量时,判定视频解码速度慢。00532、由于终端设备的处理器发热,触发设备保护机制所致。具体地,。
20、当处理器的性能较差或播放视频的分辨率较高时,会导致处理器发热量较大;为了避免持续发热导致终端设备的损坏,会自动触发设备保护机制,即通过降低处理器的运行主频或减少运行核心的数量,从而降低处理器发热量。0054可见,设备保护机制将导致处理器的运算能力降低,从而影响到对画面帧的解码操作,降低了终端设备对未解码画面帧缓冲队列的解码速度,导致视频播放卡顿。相应地,即可执行对处理器的运算能力的监测,比如处理器的运行主频和/或运行核心的数量,并当运行主频小于预设主频和/或运行核心的数量小于预设数量时,判定视频解码速度慢。0055当然,可以通过同时监测已解码画面帧缓冲队列中包含的已解码画面帧的数量和处理器的运。
21、算能力如处理器的运行主频和/或运行核心的数量,以涵盖上述的所有导致视频解码速度慢的原因。0056或者,可以为监测参数设置优先级别,比如运行核心的数量运行主频已解码画面帧缓冲队列中包含的已解码画面帧的数量,则可以设置为按照优先级顺序,仅依据优先级最高的一项或者前几项参数,判断视频解码速度是否较慢。0057比如此处以仅依据优先级最高的一项例如为运行核心的数量进行判断为例,介绍一具体实施例0058假定终端设备为四核智能手机,其上安装有视频播放器,所使用的视频格式为H265。在视频播放的过程中,通过监测CPU的运行核心数是否小于其最大核心数的一半即运行核心数是否小于2,判断CPU是否触发了设备保护机制。
22、。若判定触发了设备保护机制,则丢弃B帧即避免对未解码画面帧缓冲队列中的B帧进行解码操作。继续检测说明书CN104053002A5/6页8CPU状态,如果CPU的运行核心数不小于其最大核心数的一半或者全部核心恢复运行,则设置视频解码器不再丢弃B帧,视频播放器恢复到正常的解码状态。0059步骤312,根据音频时间戳和画面帧时间戳之间的对应关系,实现音视频同步播放。0060对应于上述的视频解码方法,本发明还提出了视频解码装置。具体地,图4示出了根据本发明的一个实施例的视频解码装置的结构示意图。0061为了方便描述,本申请将构成视频解码装置的终端设备的硬件架构进行了简化抽象,各个安全设备在硬件层面均包。
23、括处理器、内存、非易失性存储器以及网络接口。从业务层面来看,图4中的视频解码装置可理解为对应主机上的处理器将计算机程序读取到内存中然后执行所形成的逻辑装置也称为“虚拟装置”。当然本发明并不排除软件实现以外其他实现方式,比如可编程逻辑器件这样的实现方式等等,也就是说后续描述的各个处理步骤的执行主体可以采用硬件或逻辑器件等方式实现。在本实施方式中,所述视频解码装置可以包括监测单元402、判断单元404和丢弃单元406。0062监测单元402,被配置为监测所述终端设备的视频解码速度;0063判断单元404,被配置为在所述视频解码速度小于预设解码速度的情况下,判断当前待解码画面帧的类型;0064丢弃单。
24、元406,被配置为在所述当前待解码画面帧为B帧的情况下,丢弃所述当前待解码画面帧。0065在上述实施例中,若终端设备的视频解码速度正常,则可以正常执行视频解码操作;若视频解码速度较小比如小于预设解码速度,由于终端设备的硬件配置可能存在差异,因而该解码速度可以根据实际情况设置,可能导致视频播放卡顿时,通过丢弃非参考类型的画面帧,减少实际被解码的画面帧数量,从而相当于提升了视频解码速度,避免播放过程中发生卡顿。0066可选的,所述监测单元402具体用于获取预设的解码状态参数;以及,所述判断单元404在所述解码状态参数的数值不属于预设数值范围的情况下,确定所述视频解码速度小于预设解码速度。0067可。
25、选的,所述解码状态参数为所述终端设备中处理器的资源利用率;以及,所述判断单元404在所述处理器的资源利用率小于预设利用率和/或已解码画面帧的数量小于预设数量的情况下,确定所述解码状态参数的数值不属于预设数值范围。0068可选的,所述处理器的资源利用率小于预设利用率包括处理器的当前运行核心数小于预设核心数和/或处理器的当前运行主频小于预设运行主频。0069可选的,所述解码状态参数为已解码画面帧缓冲队列中已解码画面帧的数量;以及,所述判断单元404在所述处理器的资源利用率小于预设利用率和/或已解码画面帧的数量小于预设数量的情况下,确定所述解码状态参数的数值不属于预设数值范围。0070此外,本发明还。
26、提出了一种视频解码装置,应用于终端设备,包括处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为监测所述终端设备的视频解码速度;当所述视频解码速度小于预设解码速度时,判断当前待解码画面帧的类型;若所述当前待解码画面帧为非参考类型的画面帧,则丢弃所述当前待解码画面帧。0071本发明还提出了一种终端设备,包括处理器;用于存储处理器可执行指令的存说明书CN104053002A6/6页9储器;其中,所述处理器被配置为监测所述终端设备的视频解码速度;当所述视频解码速度小于预设解码速度时,判断当前待解码画面帧的类型;若所述当前待解码画面帧为非参考类型的画面帧,则丢弃所述当前待解码画面帧。00。
27、72具体地,该终端设备可以为移动设备,比如智能手机、平板手机、平板电脑、笔记本电脑、MP4播放器等;或者,终端设备也可以为非移动设备,比如家用台式电脑、车载娱乐系统等。实际上,所有能够执行视频播放的设备,均可以通过使用本发明的技术方案,以解决运算能力不足而导致的视频播放卡顿的问题。0073因此,本发明通过对非参考类型的画面帧的丢弃,在不影响其他画面帧的解码的基础上,减少了所需解码的画面帧总数量,有助于降低视频解码负担,提升解码速度,从而避免视频卡顿现象。0074以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。说明书CN104053002A1/3页10图1图2说明书附图CN104053002A102/3页11图3说明书附图CN104053002A113/3页12图4说明书附图CN104053002A12。