一种解码方法、解码器、电子设备及存储介质技术

技术编号:23088539 阅读:31 留言:0更新日期:2020-01-11 02:22
本公开是关于一种解码方法、解码器、电子设备及存储介质,该方法包括:响应于接收到播放器发送的调用指令,创建编码数据缓存队列;响应于编码数据缓存队列中包含的编码数据的数量首次达到数量阈值,对编码数据缓存队列中的编码数据进行解码,其中,解码器每一次接收到播放器发送的一个视频帧的编码数据,将接收到的视频帧的编码数据加入到编码数据缓存队列中,播放器在编码数据缓存队列未满的情况下每间隔预设时长向解码器发送一个视频帧的编码数据。该方案避免了解码器在完成一个编码数据的解码之后需要等待下一个编码数据,而造成的解码器处于空闲状态的问题,可提升解码器的解码效率。

A decoding method, decoder, electronic equipment and storage medium

【技术实现步骤摘要】
一种解码方法、解码器、电子设备及存储介质
本公开涉及计算机领域,具体涉及解码方法、解码器、电子设备及存储介质。
技术介绍
在播放视频时,需要由解码器对视频中的视频帧的编码数据进行解码,得到视频帧,将可视频帧加入到显示队列,播放器从显示队列中获取视频帧,对视频帧进行显示。在相关技术中,采用播放器主动调用解码器的方式对编码数据进行解码。播放器主动调用解码器的方式为:播放器每间隔预设时长调用解码器并且向解码器发送一个视频帧的编码数据,解码器每一次在一个时长为预设时长的解码周期内对一个视频帧的编码数据进行解码。然而,一方面,对于解码时长远小于的解码周期的时长的编码数据,解码器在一个解码周期内完成对解码时长远小于的解码周期的时长的编码数据的解码之后,解码器需要等到下一个解码周期才能从播放器接收到下一个编码数据并且对下一个编码数据进行解码,解码器在解码周期的大部分时间处于空闲状态。当解码时长远小于的解码周期的时长的编码数据较多时,解码器在多个在多个解码周期的大部分时间均处于空闲状态,导致解码效率低。另一方面,对于解码时长大于解码周期的时长的编码数据,在一个解码周期未完成对解码时长大于解码周期的时长的编码数据并且已经接收到下一个编码数据的情况下,必须停止对解码时长大于解码周期的时长的编码数据的解码,开始对下一个编码数据进行解码。相应的,无法得到解码时长大于解码周期的时长的编码数据所属的视频帧,导致在播放视频时丢失该视频帧,降低视频的播放流畅度。
技术实现思路
为克服相关技术中存在的问题,本公开提供一种解码方法、解码器、电子设备及存储介质。根据本公开实施例的第一方面,提供一种解码方法,包括:响应于接收到播放器发送的调用指令,创建编码数据缓存队列;响应于编码数据缓存队列中包含包括的编码数据的数量首次达到数量阈值,对编码数据缓存队列中的编码数据进行解码,其中,解码器每一次接收到播放器发送的一个视频帧的编码数据,将接收到的视频帧的编码数据加入到编码数据缓存队列中,播放器在编码数据缓存队列未满的情况下每间隔预设时长向解码器发送一个视频帧的编码数据。根据本公开实施例的第二方面,提供一种解码器,包括:响应模块,被配置为响应于接收到播放器发送的调用指令,创建编码数据缓存队列;解码模块,被配置为响应于编码数据缓存队列中包含的编码数据的数量首次达到数量阈值,对编码数据缓存队列中的编码数据进行解码,其中,解码器每一次接收到播放器发送的一个视频帧的编码数据,将接收到的视频帧的编码数据加入到编码数据缓存队列中,播放器在编码数据缓存队列未满的情况下每间隔预设时长向解码器发送一个视频帧的编码数据。本公开的实施例提供的技术方案可以包括以下有益效果:播放器在编码数据缓存队列未满的情况下每间隔预设时长向解码器发送一个视频帧的编码数据,利用编码数据缓存队列对接收到的播放器发送的编码数据进行缓存,当编码数据缓存队列中的编码数据达到一定数量时,解码器才开始对数据缓存队列中的编码数据进行解码。一方面,避免了解码器在解码器在完成一个编码数据的解码之后等待下一个编码数据而造成的解码器处于空闲状态的问题,提升解码器的解码效率,另一方面,避免在播放视频时丢失视频帧的问题,提升视频的播放流畅度。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。图1是根据一示例性实施例示出的一种解码方法的一个实施例的流程图;图2是根据一示例性实施例示出的一种解码器的结构框图;图3是根据一示例性实施例示出的一种电子设备的结构框图。具体实施方式下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关专利技术,而非对该专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关专利技术相关的部分。需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。图1是根据一示例性实施例示出的解码方法的一个实施例的流程图。该方法的各个步骤可以由解码器执行,该方法包括以下步骤:步骤101,响应于接收到播放器发送的调用指令,创建编码数据缓存队列。在本公开中,解码器可以为具有视频播放功能的应用例如短视频APP中的用于对视频帧的编码数据进行解码以得到视频帧的单元。播放器可以为具有视频播放功能的应用例如短视频APP中的用于显示视频帧的单元。视频中的图像可以称之为视频帧。在播放视频之前,可以由播放器从本地或服务器获取视频的视频流数据。视频的视频流数据包括:视频中的每一个视频帧的编码数据。视频中的每一个视频帧的编码数据通过预先对视频中的每一个视频帧分别进行编码得到。视频中的每一个视频帧分别具有一个编码数据,当播放视频时,需要由解码器对视频中的每一个视频帧的编码数据进行解码,得到每一个视频帧。解码器每一次完成对一个视频帧的编码数据的解码之后,将得到的一个视频帧加入到显示队列。播放器每一次从显示队列获取一个视频帧,显示获取到的视频帧。在本公开中,当用户进行指示开始播放视频的操作时,例如,点击播放界面中的指示开始播放视频的按钮,播放器可以向解码发送调用指令。解码器可以响应于接收到播放器发送的调用指令,创建编码数据缓存队列。编码数据缓存队列的结构参考数据结构中的队列这一结构。在本公开中,编码数据缓存队列用于在解码器对视频中的视频帧的编码数据进行解码之前,对视频中的视频帧的编码数据进行缓存。在本公开中,编码数据缓存队列具有一个长度,编码数据缓存队列的长度为编码数据缓存队列包括的编码数据的数量的最大值。换言之,编码数据缓存队列最多可包括编码数据缓存队列的长度个视频帧的编码数据。步骤102,响应于编码数据缓存队列包括的编码数据的数量首次达到数量阈值,对编码数据缓存队列中的编码数据进行解码。在本公开中,播放器可以在编码数据缓存队列未满的情况下每间隔预设时长向解码器发送一个视频帧的编码数据。例如,播放器可以在编码数据缓存队列未满的情况下每间隔30ms向解码器发送视频中的一个视频帧的编码数据。在本公开中,当编码数据缓存队列中的编码数据的数量小于编码数据缓存队列的长度时,则编码数据缓存队列未满。当编码数据缓存队列中的编码数据的数量等于编码数据缓存队列的长度时,则编码数据缓存队列满。在本公开中,当编码数据缓存队列满时,播放器暂停向解码器发送视频帧的编码数据,直到编码数据缓存队列中的至少一个编码数据在被解码之后,被解码的至少一个编码数据被删除。在本公开中,编码数据缓存队列满时,解码器可以向播放器发送指示编码数据缓存队列满的标识,以使得播放器可以根据指示编码数据缓存队列满的标识,确定编码数据缓存队列满,暂时停止向解码器发送视频帧的编码数据。播放器可以在编码数据缓存队列未满的情况下每间隔预设时长向解码器发送一个视频帧的本文档来自技高网...

【技术保护点】
1.一种解码方法,其特征在于,所述方法包括:/n响应于接收到播放器发送的调用指令,创建编码数据缓存队列;/n响应于编码数据缓存队列中包含的编码数据的数量首次达到数量阈值,对编码数据缓存队列中的编码数据进行解码,其中,解码器每一次接收到播放器发送的一个视频帧的编码数据,将接收到的视频帧的编码数据加入到编码数据缓存队列中,播放器在编码数据缓存队列未满的情况下每间隔预设时长向解码器发送一个视频帧的编码数据。/n

【技术特征摘要】
1.一种解码方法,其特征在于,所述方法包括:
响应于接收到播放器发送的调用指令,创建编码数据缓存队列;
响应于编码数据缓存队列中包含的编码数据的数量首次达到数量阈值,对编码数据缓存队列中的编码数据进行解码,其中,解码器每一次接收到播放器发送的一个视频帧的编码数据,将接收到的视频帧的编码数据加入到编码数据缓存队列中,播放器在编码数据缓存队列未满的情况下每间隔预设时长向解码器发送一个视频帧的编码数据。


2.根据权利要求1所述的方法,其特征在于,所述数量阈值为所述编码数据缓存队列的长度。


3.根据权利要求1所述的方法,其特征在于,在完成首次缓存的所有编码数据的解码之后,所述方法还包括:
当编码数据缓存队列包括至少一个编码数据时,对编码数据缓存队列中的编码数据进行解码,其中,首次缓存的所有编码数据为当编码数据缓存队列包括的编码数据的数量首次等于数量阈值时编码数据缓存队列中的所有编码数据。


4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于编码数据缓存队列为空,执行等待操作;
响应于编码数据缓存队列包括至少一个编码数据,对编码数据缓存队列中的编码数据进行解码。


5.一种解码器,其特征在于,所述解码器包括:
响应模块,被配置为响应于接收到播放器发送的调用指令,创建编码数据缓存队列;
解码模块,被配置为响应于编码数据缓存队列中包含的编码数...

【专利技术属性】
技术研发人员:陈宇聪郑云飞闻兴陈敏黄跃王晓楠赵明菲于冰
申请(专利权)人:北京达佳互联信息技术有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1