CN105847942A - 媒体数据缓冲方法、媒体数据缓冲装置及智能电视 - Google Patents
媒体数据缓冲方法、媒体数据缓冲装置及智能电视 Download PDFInfo
- Publication number
- CN105847942A CN105847942A CN201610206276.4A CN201610206276A CN105847942A CN 105847942 A CN105847942 A CN 105847942A CN 201610206276 A CN201610206276 A CN 201610206276A CN 105847942 A CN105847942 A CN 105847942A
- Authority
- CN
- China
- Prior art keywords
- time
- buffer zone
- media data
- data buffer
- media
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4331—Caching operations, e.g. of an advertisement for later insertion during playback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明提供一种媒体数据缓冲方法、媒体数据缓冲装置及智能电视。本发明的媒体数据缓冲方法包括获取第一播放时间信息和第二播放时间信息,所述第一播放时间信息用于表示当前进行解码的媒体数据对应的播放时间点,所述第二播放时间信息用于表示刚进入数据缓冲区的媒体数据对应的播放时间点;根据所述第一播放时间信息与所述第二播放时间信息得到所述数据缓冲区内所缓存的媒体数据的可播放时间;根据所述可播放时间控制媒体播放及缓冲过程。本发明能够根据数据缓冲区中所缓存的媒体数据的可播放时间进行媒体缓冲及播放。
Description
技术领域
本发明涉及多媒体技术,尤其涉及一种媒体数据缓冲方法、媒体数据缓冲装置及智能电视。
背景技术
随着科技水平的进步,电视以及机顶盒产品在实现播放本地媒体功能的同时,还具有播放网络流媒体的在线播放功能,从而加强用户体验。
目前,因为在进行在线播放时,媒体数据的供给会受到即时网络速率的制约,为了避免不稳定的网络速率影响到媒体数据的正常播放,一般会在供给媒体数据的媒体源和对媒体数据进行解码的解码器之间建立一个数据缓冲区。其具体做法为,分配一块固定大小的内存区域作为数据缓冲区,从媒体源所读取的媒体数据预先存入该数据缓冲区中,解码器再从数据缓冲区中获取媒体数据。这样,解码器所读取到的是来自于数据缓冲区的媒体数据,即使当前媒体数据暂停供给,数据缓冲区也可以保证解码器的播放消耗。采用数据缓冲区进行媒体数据播放时,需要建立上溢门限与下溢门限,且通常采用媒体数据占用的空间相对于数据缓冲区大小的比率作为判断上溢或下溢的标准。当解码器消耗较快,数据缓冲区中媒体数据占用的空间相对于数据缓冲区大小的比率小于下溢门限时,解码器暂停解码播放并进行数据缓冲;而当数据缓冲区中数据占用空间超过了上溢门限,而解码器的播放速度又较慢时,会暂停媒体数据读取,从而使媒体数据供给和解码器的播放消耗之间达到一个动态平衡。
然而,现在流媒体数据的清晰度与码率均有较大差异,对于高码率、高清晰度的媒体数据,数据缓冲区所缓存的媒体数据,其能够支持的播放时间较短,难以达到缓冲效果;而对于低清晰度、低码率的媒体数据,其能够缓存的数据播放时间又过长,造成内存空间的浪费。
发明内容
本发明提供一种媒体数据缓冲方法、媒体数据缓冲装置及智能电视,能够针对不同清晰度及码率的媒体数据,提供良好的播放缓冲效果。
第一方面,本发明提供一种媒体数据缓冲方法,包括:
获取第一播放时间信息和第二播放时间信息,第一播放时间信息用于表示当前进行解码的媒体数据对应的播放时间点,第二播放时间信息用于表示刚进入数据缓冲区的媒体数据对应的播放时间点;
根据第一播放时间信息与第二播放时间信息得到数据缓冲区内所缓存的媒体数据的可播放时间;
根据可播放时间控制媒体播放及缓冲过程。
第二方面,本发明还提供的一种媒体数据缓冲装置,包括:
获取模块,用于获取第一播放时间信息和第二播放时间信息,第一播放时间信息用于表示当前进行解码的媒体数据对应的播放时间点,第二播放时间信息用于表示刚进入数据缓冲区的媒体数据对应的播放时间点;
时间运算模块,用于根据第一播放时间信息与第二播放时间信息得到数据缓冲区内所缓存的媒体数据的可播放时间;
缓冲模块,用于根据可播放时间控制媒体播放及缓冲过程。
第三方面,本发明还提供一种媒体数据缓冲装置,包括:
通信接口,用于获取第一播放时间信息和第二播放时间信息,第一播放时间信息用于表示当前进行解码的媒体数据对应的播放时间点,第二播放时间信息用于表示刚进入数据缓冲区的媒体数据对应的播放时间点;
存储器,用于存储程序;
处理器,用于执行存储器所存储的程序,以根据第一播放时间信息与第二播放时间信息得到数据缓冲区内所缓存的媒体数据的可播放时间;
处理器还用于:根据可播放时间控制媒体播放及缓冲过程。
第四方面,本发明还提供一种智能电视,包括内存、解码器和媒体数据缓冲装置,内存中具有数据缓冲区,媒体数据缓冲装置分别和内存以及解码器连接,以使数据缓冲区内所缓存的媒体数据传送至解码器。
本发明的媒体数据缓冲方法,首先获取第一播放时间信息和第二播放时间信息,其中第一播放时间信息用于表示当前进行解码的媒体数据在播放时对应的时间,第二播放时间信息用于表示进入数据缓冲区的媒体数据在播放时对应的时间;然后根据第一播放时间信息与第二播放时间信息得到数据缓冲区内所缓存的媒体数据的可播放时间;最后根据可播放时间进行媒体播放及媒体缓冲。这样可以根据被缓存的媒体数据所能支持的播放时间,决定是否需要进行媒体缓冲或者继续维持媒体播放,这样无论媒体数据的分辨率和码率有多大差异,均可使媒体数据得到足够的缓冲,保证媒体数据的播放效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1A是本发明实施例一提供的一种媒体数据缓冲方法的流程示意图;
图1B为本发明实施例一提供的另一种媒体数据缓冲方法的流程示意图;
图1C是本发明实施例一提供的第三种媒体数据缓冲方法的流程示意图;
图1D是本发明实施例一提供的第四种媒体数据缓冲方法的流程示意图;
图1E为本发明实施例一提供的第五种媒体数据缓冲方法的流程示意图;
图2A为本发明实施例二提供的一种媒体数据缓冲装置的结构示意图;
图2B是本发明实施例二提供的另一种媒体数据缓冲装置的结构示意图;
图2C是本发明实施例二提供的第三种媒体数据缓冲装置的结构示意图;
图3是本发明实施例三提供的一种媒体数据缓冲装置的结构示意图;
图4是本发明实施例四提供的一种智能电视的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在进行本地或在线媒体数据的播放时,为了避免网络速率影响到媒体数据的正常播放,数据缓冲区建立在供给媒体数据的媒体源和对媒体数据进行解码的解码器之间。在进行媒体缓冲及播放时,媒体数据先进入数据缓冲区中,当数据缓冲区中缓存了一定量的媒体数据后,解码器再从数据缓冲区中提取媒体数据,并进行解码播放。
图1A是本发明实施例一提供的一种媒体数据缓冲方法的流程示意图。如图1A所示,本实施例提供的媒体数据缓冲方法包括:
S101、获取第一播放时间信息和第二播放时间信息,第一播放时间信息用于表示当前进行解码的媒体数据对应的播放时间点,第二播放时间信息用于表示进入数据缓冲区的媒体数据对应的播放时间点;
S102、根据第一播放时间信息与第二播放时间信息得到数据缓冲区内所缓存的媒体数据的可播放时间;
S103、根据可播放时间控制媒体播放及缓冲过程。
具体的,在进行媒体数据的缓存与解码播放之前,可以先对媒体数据进行解析操作,以获取媒体数据的播放时间信息。媒体数据的播放信息可以表示该段媒体数据在播放时所对应的播放时间点,即该段媒体数据在播放时位于什么时间位置上。此时,可以获取当前进行解码的媒体数据的第一播放时间信息,和刚进入数据缓冲区的媒体数据的第二播放时间信息。当前进行解码的媒体数据为解码器最新从数据缓冲区获取到的媒体数据,刚进入数据缓冲区的媒体数据为最新进入数据缓冲区的媒体数据,位于这两者之间的媒体数据均暂时缓存在数据缓冲区中。
其中,用于表示媒体数据在播放时所对应时间的时间信息可以为时间戳等多种形式,例如可以是媒体数据的数据帧所包含的显示时间戳(Presentation Time Stamp,简称PTS)等。显示时间戳可以在进行媒体文件的播放及显示时,唯一地表示显示时间戳所在的数据帧出现或显示时的时刻。因而根据媒体数据的时间戳信息,即可获取该段媒体数据何时进行显示。因而可选的,获取第一播放时间信息和第二播放时间信息具体可以为根据当前进行解码的媒体数据的显示时间戳得到第一播放时间信息,并根据刚进入数据缓冲区的媒体数据的显示时间戳得到第二播放时间信息。得到第一播放时间信息和第二播放时间信息后,即可进行后续处理,以对数据缓冲区进行调整。
例如,当前进行解码的媒体数据,其显示时间戳上所标识的时间为00:53:59;而刚进入数据缓冲区的媒体数据,其显示时间戳上所标识的时间为01:02:01,则数据缓存区中所缓冲的媒体数据即为媒体播放时间在00:53:59—01:02:01之间的数据。
得到了用于表征媒体数据在播放时对应时间的第一播放时间信息和第二播放时间信息后,即可进一步进行处理,以获得数据缓冲区内所缓存的所有媒体数据的总的可播放时间。因为位于数据缓冲区内的媒体数据均位于当前正在进行解码的媒体数据与刚进入数据缓冲区的媒体数据之间,且媒体数据的播放时间信息均按时序排列,所以正在进行解码的媒体数据所对应的播放时间点是最早的,即该媒体数据最先播出,而刚进入数据缓冲区内的媒体数据,其对应的播放时间点最晚,即这一段媒体数据相对于所有位于数据缓冲区内的媒体数据为最后播出。由上述可知,因为媒体数据均按照播放时间信息所表示的顺序进行播放,所以可根据最早播出的媒体数据与最晚播出的媒体数据的播放时间的差值,得到数据缓冲区内所有媒体数据能够支持播放的时间。
获得数据缓冲区内所缓存的所有媒体数据能够支持播放的时间之后,即可根据可播放时间控制媒体播放及缓冲过程。此时,是否进行媒体播放和媒体缓冲,可以具体为根据可播放时间的大小判断是否进行媒体播放或媒体缓冲。例如,可以根据可播放时间是否达到数据缓冲区的时间上溢门限值或时间下溢门限值来判断是否进行媒体播放或媒体缓冲过程。数据缓冲区的时间上溢门限值为数据缓冲区内所缓存媒体数据的最大可播放时间,数据缓冲区的时间下溢门限值为数据缓冲区内所缓存媒体数据的最小可播放时间。当数据缓冲区内所缓存的媒体数据的可播放时间高于时间上溢门限值时,则为防止媒体数据溢出,需要暂停媒体数据继续进入数据缓冲区;当数据缓冲区内所缓存的数据的可播放时间在时间下溢门限值之上,能够支持继续播放预定时间时,则不需要中断媒体播放;而当数据缓冲区内媒体数据的可播放时间过少,低于时间下溢门限值时,则需要进行媒体缓冲。因而可以根据数据缓冲区内媒体数据所能够支持播放的时间,即时对媒体播放及媒体缓冲进行调整。
其中,数据缓冲区的时间上溢门限值和时间下溢门限值都采用播放时间为基准,例如表示达到该门限值的媒体数据能够支持播放多长时间等。此时,时间上溢门限值和时间下溢门限值并不是指媒体数据的大小,而是至媒体数据所能支持播放的时间。因而相同播放时间的媒体文件,其大小会随分辨率和码率而实时发生变化。所以,相同的时间上溢门限值和时间下溢门限值所对应的数据缓冲区大小并不一定相同,而是能够保证数据缓冲区内媒体数据所能支持的播放时间为一定值即可。
本实施例所示的媒体数据缓冲方法,首先获取第一播放时间信息和第二播放时间信息,其中第一播放时间信息用于表示当前进行解码的媒体数据对应的播放时间点,第二播放时间信息用于表示进入数据缓冲区的媒体数据对应的播放时间点;然后根据第一播放时间信息与第二播放时间信息得到数据缓冲区内所缓存的媒体数据的可播放时间;最后根据可播放时间控制媒体播放及缓冲过程。这样可以根据被缓存的媒体数据所能支持的播放时间,决定是否需要进行媒体缓冲或者继续维持媒体播放,这样无论媒体数据的分辨率和码率有多大差异,均可使媒体数据得到足够的缓冲,保证媒体数据的播放效果。
在前述实施例的基础上,以下分别提供几种进行媒体数据缓冲的具体实施方式。作为一种可选的实施方式,可以通过计算差值的方式,获得数据缓冲区内所有媒体数据能够支持播放的时间。相应的具体流程如图1B所示,图1B为本发明实施例一提供的另一种媒体数据缓冲方法的流程示意图,在图1A所示的实施方式的基础上,步骤S102具体可以包括如下内容:
S104、根据第一播放时间信息与第二播放时间信息,获取第二播放时间信息与第一播放时间信息之间的时间差值;
S105、根据时间差值,获得数据缓冲区内所缓存的媒体数据的可播放时间。
因为在数据缓冲区中的媒体数据均按照时序进行存储,所以可根据其中播放时间最晚的媒体数据与播放时间最早的媒体数据的播放时间点之间的差值,判断数据缓冲区中所缓存的媒体数据能够支持多长的播放时间。具体的,可直接取第二播放时间信息与第一播放时间信息之间的差值,并根据该时间差值得到数据缓冲区内媒体数据的可播放时间。
例如,当媒体数据是以PES包的格式进行缓存与播放的,则当前解码器所处理的PES包的表示时间戳为T2,而此时将要进入数据缓冲区队列的PES包的表示时间戳为T1,根据它们之间的时间差值T2-T1即可估计在数据缓冲区内所缓存的媒体数据的可播放时间。
可选的,因为媒体数据的时间戳一般是以计数值的方式表示,所以在得到表示时间戳之间的时间差值后,还需要将时间差值进行变换,以得到真正的可播放时间。具体的,根据时间差值,获得数据缓冲区内所缓存的媒体数据的可播放时间具体包括:计算时间差值与时基的乘积,并将计算结果作为数据缓冲区内所缓存的媒体数据的可播放时间。
其中,时基(Timebase)是进行时间显示的基本单位,因为时间戳通常是在时基的基础上进行计数,所以在计算真正的可播放时间时,可将时间戳所显示的时间差值乘以媒体数据的时基,以得到数据缓冲区内所缓存的媒体数据的实际可播放时间。例如仍旧以PES包的处理为例,当前解码器所处理的PES包的表示时间戳为T2,将要进入数据缓冲区队列的PES包的表示时间戳为T1,时基为Timebase,可得到:
实际可播放时间为(T2-T1)×Timebase。
此外,当播出的媒体数据为其它格式时,其播放时间信息与真实播放时间之间的对应关系会根据其具体的数据格式、解码器的设置等而产生不同,此时数据缓冲区中媒体数据的可播放时间的计算方式可根据实际情况进行调整,此处不再赘述。
在实际应用中,可根据可播放时间的大小判断是否进行媒体播放或缓冲过程,具体的,可以借助可播放时间与数据缓冲区的时间上溢门限值或时间下溢门限值之间的相对关系,具体控制媒体播放与媒体缓冲的过程。相应的,根据可播放时间进行媒体播放与媒体缓冲可以分如下几种不同情况进行处理:
(1)当可播放时间大于数据缓冲区的时间上溢门限值时,数据缓冲区中暂停进入新的媒体数据,数据缓冲区中的媒体数据保持播放,其中,数据缓冲区的时间上溢门限值为数据缓冲区内所缓存媒体数据的最大可播放时间。
此时,因为数据缓冲区中缓存的媒体数据过多,需要暂停缓存新的媒体数据,而已缓存的媒体数据则维持正常播放状态。
(2)当可播放时间小于数据缓冲区的时间下溢门限值时,数据缓冲区中维持进入新的媒体数据,数据缓冲区中的媒体数据暂停播放,其中,数据缓冲区的时间下溢门限值为数据缓冲区内所缓存媒体数据的最小可播放时间。
该情况可能是因为网络环境发生改变、网络接收速率过低而引起的,此时数据缓冲区中所缓存的媒体数据已不足以支持正常的媒体播放过程,所以数据缓冲区中要持续接收新的媒体数据,但位于数据缓冲区中的媒体数据则暂停播放,直至数据缓冲区内所缓存的媒体数据的可播放时间提高到能够恢复播放的门限值。
(3)当可播放时间在时间下溢门限值与时间上溢门限值之间时,数据缓冲区中维持进入新的媒体数据,且数据缓冲区中的媒体数据保持播放。
此时,数据缓冲区中所缓存的媒体数据保持正常状态,可以维持正常的媒体缓冲及媒体播放。
此外,还可以根据具体情况的不同而将数据缓冲区的门限值设定为最大门限值、暂停播放门限值和恢复播放门限值等。上述门限值的设定均与时间上溢门限值和时间下溢门限值类似,此处不再赘述。
可选的,在根据数据缓冲区中媒体数据的可播放时间控制媒体播放及媒体缓冲时,因为数据缓冲区的时间上溢门限值和时间下溢门限值是与媒体数据的可播放时间有关的值,而相同播放时间下,不同码率及分辨率的媒体数据所占的空间并不相同,所以数据缓冲区的内部空间也可以为可调整的大小。
具体的,可以根据要缓存的媒体数据所占的空间大小对数据缓冲区的空间进行调整。此时,媒体数据缓冲方法还包括以下步骤:
若将要进入数据缓冲区的媒体数据所占的空间大于数据缓冲区的剩余空间,则将数据缓冲区中的媒体数据迁移至新的存储空间中,并将新的存储空间作为更新后的数据缓冲区;其中,新的存储空间的大小大于媒体数据迁移前的数据缓冲区的大小。
其中,数据缓冲区是从系统内存中划分出来,且媒体数据通常采用先进先出(First Input First Output,简称FIFO)方式进行数据存取,因而数据缓冲区可以为环形缓冲区。数据缓冲区的大小根据新的媒体数据的大小而呈动态分配。将要进入数据缓冲区的媒体数据所占的空间大于该数据缓冲区的剩余缓存空间时,则重新分配一块新的存储空间,该存储空间的大小大于该数据缓冲区现在的大小,以容纳将要进入的新的媒体数据。新的存储空间分配完成后,原数据缓冲区中的媒体数据都会迁移并同步至新的存储空间内,而该新的存储空间成为更新后的数据缓冲区,而旧的数据缓冲区被释放出来,以进行别的用途。当播放的媒体类型较为恒定,例如为同一节目时,媒体播放码率较为稳定,这样维持播放一段时间后,数据缓冲区的大小将趋于稳定,不再发生变化。
作为另一种可能的实施方式,在通过第一播放时间信息与第二播放时间信息得到数据缓冲区内所缓存的媒体数据的可播放时间,再根据可播放时间进行媒体播放及媒体缓冲时,还可以根据其它影响媒体缓存的参数,对数据缓冲区进行设置。图1C是本发明实施例一提供的第三种媒体数据缓冲方法的流程示意图。如图1C所示,在图1A和图1B所示的实施方式基础上,在进行媒体播放和媒体缓冲过程中,因为媒体播放会受网络接收速率的影响,所以媒体数据缓冲方法还可以包括以下步骤:
S106、根据网络接收速率调整数据缓冲区的时间上溢门限值和数据缓冲区的时间下溢门限值。
具体的,网络接收速率为整个媒体播放系统经由网络接收媒体源的速率,也相当于媒体数据进入数据缓冲区的速率。当网络接收速率发生波动,例如网络突然变差而导致网络接收速率过低时,就可以提高数据缓冲区的时间上溢门限值和时间下溢门限值,而不因数据缓冲区中缓存的媒体数据过少而影响媒体的正常播放。
具体的,在上述图1A和图1B所示实施方式的基础上,因为网络接收速率的波动可以较为平稳,也可以是波动幅度较为剧烈的突变,所以可以根据网络接收速率的变化程度而采用不同的方法进行调整。当网络接收速率的变化不大时,可以采用平均网络接收速率进行判断。如图1D所示,图1D是本发明实施例一提供的第四种媒体数据缓冲方法的流程示意图,在图1A至图1C所示的实施方式基础上,为了保证正常的媒体播放,根据网络接收速率调整数据缓冲区的时间上溢门限值和数据缓冲区的时间下溢门限值这一步骤具体还可以包括:
S107、根据预设时间段内的等间隔的多个时间点的网络接收速率,获得预设时间段内的平均网络接收速率。
此时,可以设置一个预设的时间段,并统计该预设时间段中的N个时间点S1、S2、……Sn的网络接收速率,该N个时间点均保持相等的时间间隔,
这N个时间点的平均网络接收速率Sm=(S1+S2+……+Sn)/N;
由此可计算出该预设时间段内平均网络接收速率Sm。
S108、根据平均网络接收速率与缓存消耗速率的差值,调整数据缓冲区的时间上溢门限值和数据缓冲区的时间下溢门限值,其中,缓存消耗速率为预设时间段内数据缓冲区中缓存的媒体数据消耗的速率。
在该预设时间段内,数据缓冲区所消耗的媒体数据所占的空间大小与该预设时间段的比值,即为数据缓冲区的缓存消耗速率S0。该预设时间段内的平均网络接收速率Sm大于缓存消耗速率S0时,说明网络良好,数据缓冲区所消耗的媒体数据能够及时得到新的数据补充,此时,可以适当降低数据缓冲区的时间上溢门限值和时间下溢门限值,让数据缓冲区中缓存较少的数据;而当该预设时间段内的平均网络接收速率Sm小于缓存消耗速率S0时,代表此时网络变差,数据缓冲区中需要缓冲较多的媒体数据,以增加所缓冲数据的可播放时间,从而减少缓冲次数,此时,为了在数据缓冲区中缓冲可支持较长播放时间的媒体数据,应适当提高数据缓冲区的时间上溢门限值和时间下溢门限值,让数据缓冲区内缓冲的媒体数据可支持更长播放时间,从而让数据缓冲区有足够的时间缓存新的媒体数据。例如,当平均网络接收速率Sm为1M/s时,数据缓冲区的上溢时间门限值和下溢时间门限值分别为10s和3s,而当平均网络接收速率降低至500K/s时,数据缓冲区的上溢时间门限值和下溢时间门限值如果还是维持上述值,则可能在数据缓冲区内媒体数据量的可支持播放时间较短,而经常因所缓冲的数据不够而停止解码和播放,并进行数据缓冲过程,影响用户体验。而如果将上溢时间门限值和下溢时间门限值提高至15s和5s时,数据缓冲区内缓存有最大可播放时间达到15s的媒体数据,可以支持更长的播放时间,减少缓冲次数,提高了用户的观看体验。此外,当数据缓冲区的门限值具体设定为最大门限值、暂停播放门限值和恢复播放门限值等直接用于控制播放的门限值时,上述门限值也可以根据平均网络接收速率Sm和缓存消耗速率S0之间的大小关系而提高或降低。
经过上述两个步骤后,即可在网络波动较为平缓的情况下,根据网络接收速率对数据缓冲区的时间上溢门限值和时间下溢门限值进行调整,以保证媒体的正常播放。
作为另一种可能的实施方式,还可以利用网络接收速率的变化情况调整数据缓冲区的时间上溢门限值和数据缓冲区的时间下溢门限值。相应的具体流程如图1E所示,图1E为本发明实施例一提供的第五种媒体数据缓冲方法的流程示意图,在图1A至图1D所示的实施方式的基础上,当网络信号较差,网络接收速率的波动较为剧烈时,可以根据即时的网络接收速率的突变调整数据缓冲区的各个门限值。此时,根据网络接收速率调整数据缓冲区的时间上溢门限值和数据缓冲区的时间下溢门限值具体包括:
S109、根据预设时间段内等间隔的多个时间点的网络接收速率获得每个时间点的速率差值,每个时间点的速率差值为该时间点的网络接收速率与前一时间点的网络接收速率的差值;
在预设时间段内,若等时间间隔的时间点有N个,则每个时间点与前一个时间点的网络接收速率的差值分别为Y1、Y2、……Yn-1,该差值可衡量出每个时间点的网络接收速率是否与其它时间点的网络接收速率存在显著不同,即网络接收速率是否发生突变。
S110、当时间点的速率差值超过预设的差值门限时,根据时间点的速率差值调整数据缓冲区的时间上溢门限值和数据缓冲区的时间下溢门限值。
当有时间点的速率差值超过了预设的差值门限,则该时间点的网络接收速率发生了突变,此时,可根据速率差值调整数据缓冲区的时间上溢门限值和时间下溢门限值,以防止因为网络接收速率突变而影响到媒体的正常播出。具体的,当时间点的速率差值没有超过预设差值门限,则说明该时间点的网络接收速率平稳,此时网络良好,数据缓冲区所消耗的媒体数据能够及时得到新的数据补充,此时,可以适当降低数据缓冲区的时间上溢门限值和时间下溢门限值,让数据缓冲区中缓存较少的数据;而当该预设时间段内的速率差值超过预设差值门限时,代表此时网络变差,数据缓冲区中需要缓冲较多的媒体数据,以增加所缓冲数据的可播放时间,从而减少缓冲次数,此时,为了在数据缓冲区中缓冲可支持较长播放时间的媒体数据,应适当提高数据缓冲区的时间上溢门限值和时间下溢门限值,让数据缓冲区内缓冲的媒体数据可支持更长播放时间,从而让数据缓冲区有足够的时间缓存新的媒体数据。
可选的,该预设的差值门限可以与该预设时间段内所有时间点的速率差值的平均值有关,例如是预设的差值门限可以为预设时间段内所有时间点的速率差值的平均值的两倍。此时,预设时间段内所有时间点的速率差值平均值为Y=(Y1+Y2+……+Yn-1)/(N-1),当存在时间点的速率差值Yi大于Y的两倍时,则该时间点上网络接收速率存在突变,此时,应上调数据缓冲区的时间上溢门限值与时间下溢门限值,提高数据缓冲区内所缓存的媒体数据量。采用速率差值的平均值的倍数作为预设的差值门限,能够利用速率差值的平均值作为基准,如实地反映出网络接收速率的即时变化程度。
需要说明的是,上述根据网络接收速率对门限值进行调整的步骤,也能够应用于根据媒体数据占用的空间设定上溢门限值和下溢门限值的情况,其具体过程和上述步骤类似,此处不再赘述。
基于上述实施例的方案,可以在网络环境不好时,根据网络接收速率的即时情况,对数据缓冲区的时间上溢门限值和时间下溢门限值等进行适当调整,保证数据缓冲区中所缓存的媒体数据足以支持一定的播放时间,以防止因为网络接收速率的改变而影响到媒体正常播出。
图2A为本发明实施例二提供的一种媒体数据缓冲装置的结构示意图。本实施例所提供的媒体数据缓冲装置,可以执行如前述实施例一种的媒体数据缓冲方法。如图2A所示,本实施例提供的媒体数据缓冲装置100包括:
获取模块21,用于获取第一播放时间信息和第二播放时间信息,第一播放时间信息用于表示当前进行解码的媒体数据对应的播放时间点,第二播放时间信息用于表示刚进入数据缓冲区的媒体数据对应的播放时间点;
时间运算模块22,用于根据第一播放时间信息与第二播放时间信息得到数据缓冲区内所缓存的媒体数据的可播放时间;
缓冲模块23,用于根据可播放时间控制媒体播放及缓冲过程。
具体的,媒体数据缓冲装置100既可以为一个独立的装置存在,也可以集成于智能电视等播放终端之上。智能电视是具有全开放平台,并自身搭载有操作系统的电视,可以实现电视信号接收、第三方程序应用以及上网冲浪等多种功能。因而,智能电视同样可以利用自身的处理能力,实现媒体数据缓冲装置的功能和执行步骤。其中,进行播放的媒体数据既可以为智能电视接收到的数字高清电视信号,也可以为智能电视通过网络连接所获取的在线音视频媒体数据,或者是来自于本地的音视频文件等。
当具有媒体数据缓冲装置100的播放终端播放媒体数据时,可以将媒体数据先缓存至数据缓冲区中,再从数据缓冲区中提取被缓存的媒体数据,并进行解码播放功能。此时,可以在将媒体数据缓存至数据缓冲区前,先对媒体数据进行解析,以获取媒体数据的播放时间信息等必要信息,以控制随后的媒体数据缓冲过程。
当获取模块21获取第一播放时间信息和第二播放时间信息时,可以获取不同形式及类别的信息,只要该信息能够用于表征媒体数据在播放时对应的时间即可。而在实际执行过程中,具体的操作手段可以根据当时的使用场景进行选择。
可选的,作为一种可实施的方式,获取模块21具体用于:根据当前进行解码的媒体数据的显示时间戳得到第一播放时间信息,并根据刚进入数据缓冲区的媒体数据的显示时间戳得到第二播放时间信息。
这样,可以通过媒体数据自身所具有的显示时间戳而得到当前进行解码的媒体数据的播放时间点,以及刚进入数据缓冲区的媒体数据的播放时间点,并根据上述两个播放时间点进行后续处理。
可选的,作为一种可实施的方式,时间运算模块22具体用于:根据第一播放时间信息与第二播放时间信息,获取第二播放时间信息与第一播放时间信息之间的时间差值,再根据时间差值,获得数据缓冲区内所缓存的媒体数据的可播放时间。
因为位于数据缓冲区内的媒体数据均位于当前正在进行解码的媒体数据与刚进入数据缓冲区的媒体数据之间,且媒体数据的播放时间信息均按时序排列,所以正在进行解码的媒体数据所对应的播放时间点是最早的,即该媒体数据最先播出,而刚进入数据缓冲区内的媒体数据,其对应的播放时间点最晚,即这一段媒体数据相对于所有位于数据缓冲区内的媒体数据为最后播出。所以这样可以通过第一播放时间信息与第二播放时间进行求差操作,而直接得到数据缓冲区内所缓存的媒体数据的可播放时间。
可选的,作为另一种可实施的方式,在图2A所示的实施例基础上,媒体数据缓冲装置还可以包括用于调整数据缓冲区所占空间大小的迁移模块。图2B是本发明实施例二提供的另一种媒体数据缓冲装置的结构示意图。如图2B所示,媒体数据缓冲装置200还包括有迁移模块24,该迁移模块24用于当将要进入数据缓冲区的媒体数据所占的空间大于数据缓冲区的剩余空间时,将数据缓冲区中的媒体数据迁移至新的存储空间中,并将新的存储空间作为更新后的数据缓冲区;其中,新的存储空间的大小大于媒体数据迁移前的数据缓冲区的大小。
图2B所示的媒体数据缓冲装置200在工作时,可以预先在系统内存中开辟出一定大小的存储空间,以当作用于进行缓存的数据缓冲区。而当数据缓冲区的空间大小不足以容纳新进入数据缓冲区的媒体数据时,迁移模块24再通过在系统内存中另外开辟更大的存储空间,并将这一新的存储空间作为更新后的数据缓冲区。此时,原先的数据缓冲区内所缓存的媒体数据均复制至更新后的数据缓冲区中,且数据指针等均指向复制后的媒体数据,这样,数据缓存操作便可在新的数据缓冲区中进行,而原先的数据缓冲区则回收至系统内存中。
可选的,作为另一种可实施的方式,缓冲模块23具体用于:
当可播放时间大于数据缓冲区的时间上溢门限值时,数据缓冲区中暂停进入新的媒体数据,数据缓冲区中的媒体数据保持播放,其中,数据缓冲区的时间上溢门限值为数据缓冲区内所缓存媒体数据的最大可播放时间;
当可播放时间小于数据缓冲区的时间下溢门限值时,数据缓冲区中维持进入新的媒体数据,数据缓冲区中的媒体数据暂停播放,其中,数据缓冲区的时间下溢门限值为数据缓冲区内所缓存媒体数据的最小可播放时间;
当可播放时间在时间下溢门限值与时间上溢门限值之间时,数据缓冲区中维持进入新的媒体数据,且数据缓冲区中的媒体数据保持播放。
缓冲模块23按照上述不同情况处理,可以分别在数据缓冲区中媒体数据的可播放时间过长、过少及正常情况时,分别对媒体数据的缓冲及播放过程进行控制。
可选的,作为另一种可实施的方式,在图2A和图2B所示的实施例基础上,媒体数据缓冲装置还可以包括用于调整数据缓冲区所占空间大小的的迁移模块。图2C是本发明实施例二提供的第三种媒体数据缓冲装置的结构示意图。如图2C所示,媒体数据缓冲装置300还包括:
调节模块25,用于根据网络接收速率调整数据缓冲区的时间上溢门限值和数据缓冲区的时间下溢门限值。
具体的,当网络接收速率发生波动,例如网络突然变差而导致网络接收速率过低时,就可以提高数据缓冲区的时间上溢门限值和时间下溢门限值,以获得稳定的播放效果。根据网络波动是否剧烈,调节模块25可以采取不同方式进行调节。
可选的,作为一种可能的实施方式,当网络速率的波动比较平缓时,调节模块25可以按照如下步骤进行调节,此时,调节模块25具体用于:
根据预设时间段内的等间隔的多个时间点的网络接收速率,获得预设时间段内的平均网络接收速率;
根据平均网络接收速率与缓存消耗速率的差值,调整数据缓冲区的时间上溢门限值和数据缓冲区的时间下溢门限值,其中,缓存消耗速率为预设时间段内数据缓冲区中缓存的媒体数据消耗的速率。
可选的,作为另一种可能的实施方式,在网络速率波动较为剧烈的情况下,调节模块25还可以采用另一种方式进行调节,此时,调节模块25具体用于:
根据预设时间段内等间隔的多个时间点的网络接收速率获得每个时间点的速率差值,每个时间点的速率差值为该时间点的网络接收速率与前一时间点的网络接收速率的差值;
当时间点的速率差值超过预设的差值门限时,根据时间点的速率差值调整数据缓冲区的时间上溢门限值和数据缓冲区的时间下溢门限值。
具体的,预设的差值门限可以为多种数值,例如差值门限可设置为预设时间段内所有时间点的速率差值的平均值的两倍。此时如时间点的速率差值超过该差值门限,则说明该时间点的网络接收速率波动过大,网络环境较差,需要提高数据缓冲区的各个门限值。
需要说明的是,上述迁移模块24和调节模块25均为独立的功能性模块,因而可以以择一的方式存在于媒体数据缓冲装置中,也可以共同存在于媒体数据缓冲装置中,本实施例对此并不加以限制。
基于上述实施例的方案,当智能电视或者其他播放终端播放媒体数据时,可以获得数据缓冲区中所缓存的媒体数据所能支持的播放时间,并根据该播放时间的大小控制媒体数据的播放与缓冲过程。这样在在播放媒体数据时,可以避免媒体数据的码率和分辨率的差异而造成的缓存过多或过少的情况,而直接根据媒体数据所支持的播放时间进行缓存,控制媒体播放及媒体缓存过程。
本实施例所提供的媒体数据缓冲装置,包括获取模块,时间运算模块和缓冲模块;获取模块先获取第一播放时间信息和第二播放时间信息,其中第一播放时间信息用于表示当前进行解码的媒体数据对应的播放时间点,第二播放时间信息用于表示刚进入数据缓冲区的媒体数据对应的播放时间点;然后时间运算模块根据第一播放时间信息与第二播放时间信息得到数据缓冲区内所缓存的媒体数据的可播放时间;最后缓冲模块根据可播放时间控制媒体播放及缓冲过程。这样可以根据被缓存的媒体数据所能支持的播放时间,决定是否需要进行媒体缓冲或者继续维持媒体播放,无论媒体数据的分辨率和码率有多大差异,均可使媒体数据得到足够的缓冲,保证媒体数据的播放效果。
图3是本发明实施例三提供的一种媒体数据缓冲装置的结构示意图。本实施例所提供的媒体数据缓冲装置,可以执行如前述实施例一种的媒体数据缓冲方法。如图3所示,本实施例提供的媒体数据缓冲装置包括:
通信接口31,用于获取第一播放时间信息和第二播放时间信息,第一播放时间信息用于表示当前进行解码的媒体数据对应的播放时间点,第二播放时间信息用于表示刚进入数据缓冲区的媒体数据对应的播放时间点;
存储器32,用于存储程序;具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。
处理器33,用于执行存储器32所存储的程序,具体包括用于根据第一播放时间信息与第二播放时间信息得到数据缓冲区内所缓存的媒体数据的可播放时间;
处理器33还用于根据可播放时间控制媒体播放及缓冲过程。
其中,通信接口31和智能电视或者其他播放终端进行连接,用于获取及输出各种数据及指令。存储器32可以包含各种RAM存储器或者非易失性存储器(non-volatile memory)。而处理器33的形式可能为中央处理器(CentralProcessing Unit,简称为CPU),或者是特定集成电路(Application SpecificIntegrated Circuit,简称为ASIC),再或者是被配置成实施本发明实施例的一个或多个集成电路。处理器33是媒体数据缓冲装置的控制中心,利用各种接口和线路连接整个装置的各个部分,通过运行或执行存储在存储器32内的软件程序和/或模块,以及调用存储在存储器32内的数据,执行装置的各种功能和处理数据,从而实现媒体数据缓冲功能。
具体的,媒体数据缓冲装置既可以为一个独立的装置存在,也可以集成于智能电视等播放终端之上。智能电视是具有全开放平台,并自身搭载有操作系统的电视,可以实现电视信号接收、第三方程序应用以及上网冲浪等多种功能。因而,智能电视同样可以利用自身的处理能力,实现媒体数据缓冲装置的功能和执行步骤。其中,进行播放的媒体数据既可以为智能电视接收到的数字高清电视信号,也可以为智能电视通过网络连接所获取的在线音视频,或者是来自于本地的音视频文件等。
可选的,作为一种可实施的方式,通信接口31具体用于:根据当前进行解码的媒体数据的显示时间戳得到第一播放时间信息,并根据刚进入数据缓冲区的媒体数据的显示时间戳得到第二播放时间信息。
可选的,作为另一种可实施的方式,处理器33具体用于:根据第一播放时间信息与第二播放时间信息,获取第二播放时间信息与第一播放时间信息之间的时间差值,再根据时间差值,获得数据缓冲区内所缓存的媒体数据的可播放时间。
可选的,作为另一种可实施的方式,处理器33具体还用于当将要进入数据缓冲区的媒体数据所占的空间大于数据缓冲区的剩余空间时,将数据缓冲区中的媒体数据迁移至新的存储空间中,并将新的存储空间作为更新后的数据缓冲区;其中,新的存储空间的大小大于媒体数据迁移前的数据缓冲区的大小。
可选的,作为另一种可实施的方式,处理器33具体用于:
当可播放时间大于数据缓冲区的时间上溢门限值时,数据缓冲区中暂停进入新的媒体数据,数据缓冲区中的媒体数据保持播放;
当可播放时间小于数据缓冲区的时间下溢门限值时,数据缓冲区中维持进入新的媒体数据,数据缓冲区中的媒体数据暂停播放;
当可播放时间在时间下溢门限值与时间上溢门限值之间时,数据缓冲区中维持进入新的媒体数据,且数据缓冲区中的媒体数据保持播放。
可选的,作为另一种可实施的方式,处理器33还用于根据网络接收速率调整数据缓冲区的时间上溢门限值和数据缓冲区的时间下溢门限值。
具体的,当网络速率的波动比较平缓时,作为一种可能的实施方式,处理器33可以按照如下步骤进行调节,此时,处理器33具体用于:
根据预设时间段内的等间隔的多个时间点的网络接收速率,获得预设时间段内的平均网络接收速率;
根据平均网络接收速率与缓存消耗速率的差值,调整数据缓冲区的时间上溢门限值和数据缓冲区的时间下溢门限值,其中,缓存消耗速率为预设时间段内数据缓冲区中缓存的媒体数据消耗的速率。
可选的,作为另一种可能的实施方式,在网络速率波动较为剧烈的情况下,处理器33还可以采用另一种方式进行调节,此时,处理器33具体用于:
根据预设时间段内等间隔的多个时间点的网络接收速率获得每个时间点的速率差值,每个时间点的速率差值为该时间点的网络接收速率与前一时间点的网络接收速率的差值;
当时间点的速率差值超过预设的差值门限时,根据时间点的速率差值调整数据缓冲区的时间上溢门限值和数据缓冲区的时间下溢门限值。
具体的,预设的差值门限可以为多种数值,例如差值门限可设置为预设时间段内所有时间点的速率差值的平均值的两倍。
在具体实现上,如果通信接口31、处理器33和存储器32独立实现,则通信接口31、处理器33和存储器32可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称为EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
基于上述实施例的方案,当智能电视或者其他播放终端播放媒体数据时,可以获得数据缓冲区中所缓存的媒体数据所能支持的播放时间,并根据该播放时间的大小控制媒体数据的播放与缓冲过程。这样在在播放媒体数据时,可以避免媒体数据的码率或分辨率不一而造成的缓存过多或者缓存过少的情况,而直接根据媒体数据所能播放的时间进行缓存,以控制整个媒体播放及媒体缓存过程。
本实施例所提供的媒体数据缓冲装置,先获取第一播放时间信息和第二播放时间信息,其中第一播放时间信息用于表示当前进行解码的媒体数据对应的播放时间点,第二播放时间信息用于表示刚进入数据缓冲区的媒体数据对应的播放时间点;然后根据第一播放时间信息与第二播放时间信息得到数据缓冲区内所缓存的媒体数据的可播放时间;最后根据可播放时间控制媒体播放及缓冲过程。这样可以根据被缓存的媒体数据所能支持的播放时间,决定是否需要进行媒体缓冲或者继续维持媒体播放,无论媒体数据的分辨率和码率有多大差异,均可使媒体数据得到足够的缓冲,保证媒体数据的播放效果。
图4是本发明实施例四提供的一种智能电视的结构示意图。如图4所示,智能电视400包括内存41、解码器42和如前述实施例中所述的媒体数据缓冲装置43,内存41中具有数据缓冲区,媒体数据缓冲装置43分别和内存41以及解码器42连接,以使数据缓冲区内所缓存的媒体数据传送至解码器42,解码器42再对媒体数据进行解码播放。
其中,媒体数据缓冲装置43的结构与功能与前述实施例中类似,且能够执行前述实施例一中所提供的所有媒体数据缓冲方法,故此处不再赘述。同时,智能电视的内存41和解码器42等部件的结构与功能也均与现有的智能电视类似,故本领域技术人员可以将媒体数据缓冲装置应用于现有的智能电视上,以实现根据媒体数据所能支持的播放时间进行媒体缓冲的功能。
本实施例所提供的智能电视,先获取第一播放时间信息和第二播放时间信息,其中第一播放时间信息用于表示当前进行解码的媒体数据对应的播放时间点,第二播放时间信息用于表示刚进入数据缓冲区的媒体数据对应的播放时间点;然后根据第一播放时间信息与第二播放时间信息得到数据缓冲区内所缓存的媒体数据的可播放时间;最后根据可播放时间控制媒体播放及缓冲过程。这样可以根据被缓存的媒体数据所能支持的播放时间,决定是否需要进行媒体缓冲或者继续维持媒体播放,无论媒体数据的分辨率和码率有多大差异,均可使媒体数据得到足够的缓冲,保证媒体数据的播放效果。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (13)
1.一种媒体数据缓冲方法,其特征在于,包括:
获取第一播放时间信息和第二播放时间信息,所述第一播放时间信息用于表示当前进行解码的媒体数据对应的播放时间点,所述第二播放时间信息用于表示刚进入数据缓冲区的媒体数据对应的播放时间点;
根据所述第一播放时间信息与所述第二播放时间信息得到所述数据缓冲区内所缓存的媒体数据的可播放时间;
根据所述可播放时间控制媒体播放及缓冲过程。
2.根据权利要求1所述的媒体数据缓冲方法,其特征在于,所述获取第一播放时间信息和第二播放时间信息具体包括:
根据所述当前进行解码的媒体数据的显示时间戳得到所述第一播放时间信息,并根据所述刚进入所述数据缓冲区的媒体数据的显示时间戳得到所述第二播放时间信息。
3.根据权利要求2所述的媒体数据缓冲方法,其特征在于,所述根据所述第一播放时间信息与所述第二播放时间信息得到所述数据缓冲区内所缓存的媒体数据的可播放时间具体包括:
根据所述第一播放时间信息与所述第二播放时间信息,获取所述第二播放时间信息与所述第一播放时间信息之间的时间差值;
根据所述时间差值,获得所述数据缓冲区内所缓存的媒体数据的可播放时间。
4.根据权利要求3所述的媒体数据缓冲方法,其特征在于,所述根据所述时间差值,获得所述数据缓冲区内所缓存的媒体数据的可播放时间具体包括:
计算所述时间差值与时基的乘积,并将计算结果作为所述数据缓冲区内所缓存的媒体数据的可播放时间。
5.根据权利要求1-4任一项所述的媒体数据缓冲方法,其特征在于,所述方法还包括:
若将要进入所述数据缓冲区的媒体数据所占的空间大于所述数据缓冲区的剩余空间,则将所述数据缓冲区中的媒体数据迁移至新的存储空间中,并将所述新的存储空间作为更新后的数据缓冲区;其中,所述新的存储空间的大小大于媒体数据迁移前的数据缓冲区的大小。
6.根据权利要求1-4任一项所述的媒体数据缓冲方法,其特征在于,所述根据所述可播放时间控制媒体播放及缓冲过程具体包括:
根据所述可播放时间的大小判断是否进行媒体播放或媒体缓冲。
7.根据权利要求6所述的媒体数据缓冲方法,其特征在于,所述根据所述可播放时间的大小判断是否进行媒体播放或媒体缓冲具体包括:
当所述可播放时间大于所述数据缓冲区的时间上溢门限值时,所述数据缓冲区中暂停进入新的媒体数据,所述数据缓冲区中的媒体数据保持播放,其中,所述数据缓冲区的时间上溢门限值为所述数据缓冲区内所缓存媒体数据的最大可播放时间;
当所述可播放时间小于所述数据缓冲区的时间下溢门限值时,所述数据缓冲区中维持进入新的媒体数据,所述数据缓冲区中的媒体数据暂停播放,其中,所述数据缓冲区的时间下溢门限值为所述数据缓冲区内所缓存媒体数据的最小可播放时间;
当所述可播放时间在所述时间下溢门限值与所述时间上溢门限值之间时,所述数据缓冲区中维持进入新的媒体数据,且所述数据缓冲区中的媒体数据保持播放。
8.根据权利要求7所述的媒体数据缓冲方法,其特征在于,所述方法还包括:
根据网络接收速率调整所述数据缓冲区的时间上溢门限值和所述数据缓冲区的时间下溢门限值。
9.根据权利要求8所述的媒体数据缓冲方法,其特征在于,所述根据网络接收速率调整所述数据缓冲区的时间上溢门限值和所述数据缓冲区的时间下溢门限值具体包括:
根据预设时间段内的等间隔的多个时间点的网络接收速率,获得所述预设时间段内的平均网络接收速率;
根据所述平均网络接收速率与缓存消耗速率的差值,调整所述数据缓冲区的时间上溢门限值和所述数据缓冲区的时间下溢门限值,其中,所述缓存消耗速率为所述预设时间段内所述数据缓冲区中缓存的媒体数据消耗的速率。
10.根据权利要求8所述的媒体数据缓冲方法,其特征在于,所述根据网络接收速率调整所述数据缓冲区的时间上溢门限值和所述数据缓冲区的时间下溢门限值具体包括:
根据预设时间段内等间隔的多个时间点的网络接收速率获得每个时间点的速率差值,每个所述时间点的速率差值为该时间点的网络接收速率与前一时间点的网络接收速率的差值;
当所述时间点的速率差值超过预设的差值门限时,根据所述时间点的速率差值调整所述数据缓冲区的时间上溢门限值和所述数据缓冲区的时间下溢门限值。
11.一种媒体数据缓冲装置,其特征在于,包括:
获取模块,用于获取第一播放时间信息和第二播放时间信息,所述第一播放时间信息用于表示当前进行解码的媒体数据对应的播放时间点,所述第二播放时间信息用于表示刚进入数据缓冲区的媒体数据对应的播放时间点;
时间运算模块,用于根据所述第一播放时间信息与所述第二播放时间信息得到所述数据缓冲区内所缓存的媒体数据的可播放时间;
缓冲模块,用于根据所述可播放时间控制媒体播放及缓冲过程。
12.一种媒体数据缓冲装置,其特征在于,包括:
通信接口,用于获取第一播放时间信息和第二播放时间信息,所述第一播放时间信息用于表示当前进行解码的媒体数据对应的播放时间点,所述第二播放时间信息用于表示刚进入数据缓冲区的媒体数据对应的播放时间点;
存储器,用于存储程序;
处理器,用于执行所述存储器所存储的程序,以根据所述第一播放时间信息与所述第二播放时间信息得到所述数据缓冲区内所缓存的媒体数据的可播放时间;
处理器还用于:根据所述可播放时间控制媒体播放及缓冲过程。
13.一种智能电视,其特征在于,包括内存、解码器和如权利要求12所述的媒体数据缓冲装置,所述内存中具有数据缓冲区,所述媒体数据缓冲装置分别和所述内存以及所述解码器连接,以使所述数据缓冲区内所缓存的媒体数据传送至所述解码器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610206276.4A CN105847942A (zh) | 2016-04-01 | 2016-04-01 | 媒体数据缓冲方法、媒体数据缓冲装置及智能电视 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610206276.4A CN105847942A (zh) | 2016-04-01 | 2016-04-01 | 媒体数据缓冲方法、媒体数据缓冲装置及智能电视 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105847942A true CN105847942A (zh) | 2016-08-10 |
Family
ID=56596684
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610206276.4A Pending CN105847942A (zh) | 2016-04-01 | 2016-04-01 | 媒体数据缓冲方法、媒体数据缓冲装置及智能电视 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105847942A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106341714A (zh) * | 2016-10-08 | 2017-01-18 | 广东欧珀移动通信有限公司 | 一种多媒体数据的同步播放方法、装置及终端 |
CN107087210A (zh) * | 2017-03-30 | 2017-08-22 | 青岛海信电器股份有限公司 | 基于缓存时间判断视频播放状态的方法及终端 |
CN109168036A (zh) * | 2018-10-08 | 2019-01-08 | 联想(北京)有限公司 | 播放方法、系统和电子设备 |
CN109634877A (zh) * | 2018-12-07 | 2019-04-16 | 广州市百果园信息技术有限公司 | 流操作的实现方法、装置、设备及存储介质 |
CN110324700A (zh) * | 2018-03-28 | 2019-10-11 | 晨星半导体股份有限公司 | 应用于显示设备的电路及相关的控制方法 |
CN110493164A (zh) * | 2018-05-15 | 2019-11-22 | 视联动力信息技术股份有限公司 | 一种媒体包的处理方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1614953A (zh) * | 2003-11-06 | 2005-05-11 | 明基电通股份有限公司 | 媒体播放系统的数据控制的方法 |
JP2006148789A (ja) * | 2004-11-24 | 2006-06-08 | Matsushita Electric Ind Co Ltd | ストリーミング受信装置及び配信サーバ装置 |
CN102547449A (zh) * | 2011-12-22 | 2012-07-04 | 华为技术有限公司 | 一种控制终端缓冲媒体流数据的方法、机顶盒及媒体服务器 |
CN103402136A (zh) * | 2013-07-29 | 2013-11-20 | 重庆大学 | 自适应调整缓存的控制方法、装置及自适应播放器 |
CN103731720A (zh) * | 2013-11-25 | 2014-04-16 | 乐视致新电子科技(天津)有限公司 | 一种智能电视的多媒体数据缓存方法及装置 |
-
2016
- 2016-04-01 CN CN201610206276.4A patent/CN105847942A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1614953A (zh) * | 2003-11-06 | 2005-05-11 | 明基电通股份有限公司 | 媒体播放系统的数据控制的方法 |
JP2006148789A (ja) * | 2004-11-24 | 2006-06-08 | Matsushita Electric Ind Co Ltd | ストリーミング受信装置及び配信サーバ装置 |
CN102547449A (zh) * | 2011-12-22 | 2012-07-04 | 华为技术有限公司 | 一种控制终端缓冲媒体流数据的方法、机顶盒及媒体服务器 |
CN103402136A (zh) * | 2013-07-29 | 2013-11-20 | 重庆大学 | 自适应调整缓存的控制方法、装置及自适应播放器 |
CN103731720A (zh) * | 2013-11-25 | 2014-04-16 | 乐视致新电子科技(天津)有限公司 | 一种智能电视的多媒体数据缓存方法及装置 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106341714A (zh) * | 2016-10-08 | 2017-01-18 | 广东欧珀移动通信有限公司 | 一种多媒体数据的同步播放方法、装置及终端 |
CN106341714B (zh) * | 2016-10-08 | 2017-08-01 | 广东欧珀移动通信有限公司 | 一种多媒体数据的同步播放方法、装置及终端 |
CN107087210A (zh) * | 2017-03-30 | 2017-08-22 | 青岛海信电器股份有限公司 | 基于缓存时间判断视频播放状态的方法及终端 |
CN107087210B (zh) * | 2017-03-30 | 2020-04-14 | 青岛海信电器股份有限公司 | 基于缓存时间判断视频播放状态的方法及终端 |
CN110324700A (zh) * | 2018-03-28 | 2019-10-11 | 晨星半导体股份有限公司 | 应用于显示设备的电路及相关的控制方法 |
CN110493164A (zh) * | 2018-05-15 | 2019-11-22 | 视联动力信息技术股份有限公司 | 一种媒体包的处理方法和装置 |
CN109168036A (zh) * | 2018-10-08 | 2019-01-08 | 联想(北京)有限公司 | 播放方法、系统和电子设备 |
CN109634877A (zh) * | 2018-12-07 | 2019-04-16 | 广州市百果园信息技术有限公司 | 流操作的实现方法、装置、设备及存储介质 |
CN109634877B (zh) * | 2018-12-07 | 2023-07-21 | 广州市百果园信息技术有限公司 | 流操作的实现方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105847942A (zh) | 媒体数据缓冲方法、媒体数据缓冲装置及智能电视 | |
CN111918093A (zh) | 直播数据处理方法、装置、计算机设备和存储介质 | |
CN102291599A (zh) | 网络视频播放方法及网络视频播放装置 | |
CN103957431A (zh) | 一种流媒体传输控制方法及流媒体服务器 | |
CN102271280A (zh) | 一种数字音视频变速播放的方法和装置 | |
US8195829B2 (en) | Streaming media player and method | |
CN109218847A (zh) | 一种下载控制方法、装置以及多媒体终端 | |
CN103167320A (zh) | 音视频同步方法、系统及手机直播客户端 | |
CN101001362A (zh) | 在线播放流媒体的方法及终端 | |
CN103475927B (zh) | 在线视频实时变速播放方法及系统 | |
CN104113777A (zh) | 一种音频流解码方法及装置 | |
CN1980377A (zh) | 一种智能插播素材的方法 | |
CN102547449A (zh) | 一种控制终端缓冲媒体流数据的方法、机顶盒及媒体服务器 | |
CN105119755A (zh) | 一种抖动缓冲区调整方法及装置 | |
CN105578266B (zh) | 音视频播放方法和多媒体播放器 | |
MX2011005782A (es) | Metodo y aparato para controlar la reproduccion de datos de video-audio. | |
CN108259964A (zh) | 一种视频播放速率调整方法及系统 | |
CN103442307A (zh) | 播放视频流媒体的方法和装置 | |
US20170238044A1 (en) | Content output device and program | |
CN105791735A (zh) | 用于视频通话码流动态调整的方法和系统 | |
CN102340640A (zh) | 电子产品睡眠关机的实现方法及电子产品 | |
KR100490403B1 (ko) | 오디오 스트림의 버퍼링 제어 방법 및 그 장치 | |
CN101217615B (zh) | 一种压缩图像比特率控制的方法及装置 | |
CN104065834A (zh) | 降低终端功耗的方法、装置和终端 | |
CN106851337A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160810 |