欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 修正视讯串流流量的方法、机顶盒及计算机可读存储介质独创技术17615字

修正视讯串流流量的方法、机顶盒及计算机可读存储介质

2020-12-01 02:19:22

修正视讯串流流量的方法、机顶盒及计算机可读存储介质

  技术领域

  本发明涉及通信技术领域,尤其涉及一种修正视讯串流流量的方法、机顶盒及计算机可读存储介质。

  背景技术

  自适性串流(Adaptive Bitrate Streaming,ABS)技术提供了一套比特率(Bitrate)的挑选机制,让客户端(Client)依据目前可用带宽挑选最合适的影片。然而,所述技术仅用于一个客户端。当使用于多个客户端需要多串流的环境下,由于不同串流的间无法交流,导致带宽会被部分客户端占用,造成资源利用效率低落。

  已知的一个改善方法(例如,A Method to Manage Multiple Adaptive BitrateStreaming on Client(MMABS))动态计算各个客户端的带宽速度,同时以显示区大小作为缓冲优先权的依据,并以分配带宽的方式来达到多串流的优化管理。这样的做法改善了传统的ABS技术的缺点,但仍然具有以下缺点:

  1.每一个客户端的缓冲大小默认只有3个区域(Chunk),无法真正有效利用资源;

  2.考虑多个客户端的带宽变因增加,造成Bitrate的异动更大,更难掌控;以及

  3.仅靠画面显示窗口的大小来评判用户对影片的需求,不够精确。

  发明内容

  鉴于以上内容,有必要提供一种修正视讯串流流量的方法与使用所述方法的机顶盒,可根据用户行为及屏幕大小调配缓冲区,让重要的串流有更高的缓冲优先权,可更有效利用带宽。

  本发明实施例提供一种修正视讯串流流量的方法,应用于一第一机顶盒中,包括下列步骤:根据收集到的用户行为信息与播放信息分析并产生多个比特率组合;根据所述比特率组合初始化至少一第一串流的一第一流式缓冲区的尺寸与一第二串流的一第二流式缓冲区的尺寸,其中所述第一串流缓冲的区尺寸小于所述第二流式缓冲区的尺寸;根据带宽历史记录与所述比特率组合初始化所述第一串流与所述第二串流的起始比特率;下载并储存所述第一串流的多个第一影像区块在所述第一流式缓冲区,下载并储存所述第二串流的多个第二影像区块在所述第二流式缓冲区,并开始在所述第一显示设备上播放所述第一影像区块与所述第二影像区块;判断所述第一串流与所述第二串流的串流缓冲比例;当所述第一串流与所述第二串流的缓冲比例一样时,挑选所述第二串流来下载后续的第二影像区块;以及当所述第一串流与所述第二串流的缓冲比例不同时,挑选缓冲比例较小的串流来下载后续的影像区块。

  本发明实施例还提供一种机顶盒,其包括一内存、一处理器及储存在所述内存上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时执行以下步骤:根据收集到的用户行为信息与播放信息分析并产生多个比特率组合;根据所述比特率组合初始化至少一第一串流的一第一流式缓冲区的尺寸与一第二串流的一第二流式缓冲区的尺寸,其中所述第一串流缓冲的区尺寸小于所述第二流式缓冲区的尺寸;根据带宽历史记录与所述比特率组合初始化所述第一串流与所述第二串流的起始比特率;下载并储存所述第一串流的多个第一影像区块在所述第一流式缓冲区,下载并储存所述第二串流的多个第二影像区块在所述第二流式缓冲区,并开始在所述第一显示设备上播放所述第一影像区块与所述第二影像区块;判断所述第一串流与所述第二串流的串流缓冲比例;当所述第一串流与所述第二串流的缓冲比例一样时,挑选所述第二串流来下载后续的第二影像区块;以及当所述第一串流与所述第二串流的缓冲比例不同时,挑选缓冲比例较小的串流来下载后续的影像区块。

  本发明实施例的修正视讯串流流量的方法与使用所述方法的机顶盒,可根据用户行为及屏幕大小调配缓冲区,让重要的串流有更高的缓冲优先权,可更有效利用带宽。

  附图说明

  图1是显示本发明实施例的修正视讯串流流量的系统架构图。

  图2是显示本发明实施例的修正视讯串流流量的方法的实施流程图。

  图3是显示本发明实施例的不同时段观看影片所使用的平均带宽与在各时段不同影片类型所累积分钟数的示意图。

  图4是显示本发明实施例的比特率组合的示意图。

  图5是显示本发明实施例的修正视讯串流流量的方法步骤流程图。

  主要元件符号说明

  

  

  如下具体实施方式将结合上述附图进一步说明本发明。

  具体实施方式

  本发明实施例的修正视讯串流流量的方法与使用所述方法的机顶盒具有以下技术特征。记录用户带宽速度来决定串流初始的比特率。收集使用者各类型影片的观看时间,并据以分配不同的缓冲大小,让符合喜好的串流能够获得更高的优先缓冲。参考所有串流的比特率信息并且根据串流画面大小来计算出比特率切换组合。监控各串流的缓冲状况,并且根据串流画面大小实时决定下一个区块(Chunk)的下载。透过所有串流的缓冲状态和单一区块的下载速度来决定比特率的切换。此外,可利用点对点(Point-to-Point,P2P)的方式分享串流缓冲。

  本发明实施例的修正视讯串流流量的方法与使用所述方法的机顶盒具有以下特色,包括:参考现有和过去信息决定各串流的初始比特率,解决一般串流播放时起始总是低比特率问题;考虑整体的串流需求,更有效利用带宽;监控各串流缓冲状态及下载缓冲速度来切换比特率的切换,串流稳定性高且不易中断;根据用户行为及画面大小调配缓冲区,让重要的串流有更高的缓冲优先权;以及透过P2P机制将串流缓冲数据发挥最大效益。

  图1是显示本发明实施例的修正视讯串流流量的系统架构图。

  本发明实施例的修正视讯串流流量的系统10包括一第一机顶盒100、一串流服务器(Streaming Server)200与一播放装置(例如,电视)300。第一机顶盒100又包括一视讯串流流量系统(Video Stream Traffic System)110、一处理器120、一储存媒体130以及播放单元140与150。视讯串流流量系统110又包括一区块缓冲处理模块(Chunk BufferManagement Module)111、一播放单元信息收集模块(Player Information CollectionModule)112、一点对点传送模块(P2PTransmission Module)113与一用户行为收集模块(User Behavior Collection Module)114。在本发明实施例中,播放单元140与150可为爱奇艺、Netflix…等应用程序(Application Program,APP)或是其它类型的播放单元。

  本发明实施例所称的模块或单元是完成一特定功能的计算机程序段。模块111-114与单元140-150被配置成由一个或多个处理器(本实施例为处理器120)执行,以完成本发明实施例。储存媒体130用于储存第一机顶盒100的程序代码。处理器120用于执行第一机顶盒100中存储的程序代码。

  储存媒体130至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、随机访问内存(RAM)、静态随机访问内存(SRAM)、只读存储器(ROM)、电可擦除可程序设计只读存储器(EEPROM)、可程序设计只读存储器(PROM)、磁性内存、磁盘、光盘等。所述处理器530可以是中央处理器(CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于执行软件程序代码运算数据。

  参考图2,本发明实施例的验证封包传送路径的流程,一开始在初始化时,播放单元信息收集模块112搜集播放单元140与播放单元150链接的网址(Uniform Resource Locator,URL)纪录、所提供的比特率以及目前视频大小,并且将收集到的播放信息传送给区块缓冲处理模块111。

  用户行为收集模块114收集用户在观看影片时的行为信息(210),包括在不同时段观看影片所使用的平均带宽与在各时段不同影片类型所累积分钟数,例如,在一个月内。各时段的平均带宽是用来决定初始化策略,而累积分钟数会影响后续的缓冲策略。参考图3,例如,将24小时分成8个时段,分别为T0、T3、…、T21,各时段的平均带宽如表1所示,而每一个时段累积的影片时间如表2所示。用户行为收集模块114将所述用户行为信息传送给区块缓冲处理模块111。

  区块缓冲处理模块111根据取得的所述用户行为信息与所述播放信息分析比特率组合(220)。举例来说,在同一个播放装置(例如,电视300)上播放播放单元140(例如,爱奇艺)的第一视讯源(S1)与播放单元150(例如,Netflix)的第二视讯源(S2)的影像,其中,第一视讯源(S1)的影像以较小分辨率(画面尺寸)来播放,第二视讯源(S2)的影像以较大分辨率(画面尺寸)来播放。

  在本实施例中,第一视讯源(S1)可用的比特率(BS1)包括900K、2M和4M,其影像分辨率设定最大为480P(BMAX2M),而第二视讯源(S2)可用的比特率(BS2)包括1.2M、3M和5M,其影像分辨率设定最大为1080P(BMAX6M)。因此,当同时播放第一视讯源(S1)和第二视讯源(S2),可用的比特率的组合共有9种,如图4的表3所示。将第一视讯源(S1)中超过2M的比特率与第二视讯源(S2)中超过6M的比特率的组合删掉,剩下来的比特率组合有6个,然后为每一个比特率组合设定播放的优先权。如图4所示。由于第二视讯源(S2)的影像设定以较大分辨率(画面尺寸)来播放,因此以第二视讯源(S2)的比特率为依据来设定播放的优先权,故可得到如图4中表3的优先权顺序。也可以根据其他条件来设定播放的比特率组合的优先权,例如,用户自定义,或者由系统参考不同参数来设定。

  区块缓冲处理模块111根据分析后的比特率组合进行初始化配置(230),为第一视讯源(S1)与第二视讯源(S2)的每一个时段配置适当的缓冲区尺寸。例如,为时段T18设定优先权2的缓冲区尺寸,即,第一视讯源(S1)的流式缓冲区尺寸为900K且第二视讯源(S2)的流式缓冲区尺寸为5M。此外,区块缓冲处理模块111为每种类型的影片配置不同的缓冲尺寸(BufferSize),最小单位为6个区块(CMin=6),最大单位为60个区块(CMax=60),每一个区块的时间长度预设为10秒钟。另外,设定目前缓冲等级。若目前缓冲的影片长度达到缓冲区尺寸的70%~100%,则表示为高缓冲等级(BLHigh),若达到30%~70%,则表示为中缓冲等级(BLMid),若达到0%~30%,则表示为低缓冲等级(BLLow)。

  初始化完成后,区块缓冲处理模块111根据串流策略开始播放影片(240),包括下述策略。

  (1)挑选第一视讯源(S1)与第二视讯源(S2)中缓冲比例较差的视讯源下载区块。举例来说,第一视讯源(S1)的缓冲区尺寸设定为36个区块,目前已下载了12个区块,则其缓冲比例表示为14/36(CCurrent/CMax)=39%,因此是中缓冲等级(BLMid)。第二视讯源(S2)的缓冲区尺寸设定为12个区块,目前已下载了3个区块,则其缓冲比例表示为3/12(CCurrent/CMax)=25%,因此是低缓冲等级(BLLow)。由上可知,第二视讯源(S2)的缓冲比例较差,因此选择从第二视讯源(S2)下载区块。

  (2)当缓冲比例差不多时,优先挑选画面较大的串流。第一视讯源(S1)的影像分辨率设定最大为480P,第二视讯源(S2)影像分辨率设定最大为1080P,第二视讯源(S2)的画面尺寸大于第一视讯源(S1),故选择从第二视讯源(S2)下载区块。

  (3)若第一视讯源(S1)与第二视讯源(S2)的缓冲比例都处于低的状态(BLLow),表示网络拥塞,则调降二者的比特率。

  (4)若第一视讯源(S1)与第二视讯源(S2)的缓冲比例都处于高的状态(BLHigh),表示网络顺畅,则调升二者的比特率。

  (5)若第一视讯源(S1)与第二视讯源(S2)的缓冲比例都处于中的状态(BLMid),二者的比特率不变动。

  此外,愈常观看类型的影片与画面愈大的影片,缓冲的优先权就愈高。

  在播放影片时,区块缓冲处理模块111监控串流带宽的状况(250):记录第一视讯源(S1)与第二视讯源(S2)中下载的第一视讯源(S1)与第二视讯源(S2)一个区域的时间;参考一个区块的时间长度以做为缓冲门坎,一般一个区块预设是10秒;倘若第一视讯源(S1)与第二视讯源(S2)的串流缓冲比例皆处于高的状态(BLHigh),且每一个区块的下载时间皆低于10秒,则调升所述第一视讯源(S1)与所述第二视讯源(S2)的比特率;以及第一视讯源(S1)与第二视讯源(S2)的串流缓冲比例皆处于低的状态(BLLow),且每一个区块的下载时间皆多于10秒,则调降所述第一视讯源(S1)与所述第二视讯源(S2)的比特率。

  点对点传输模块113在其缓冲队列(未显示)有多个暂存区块时,可以P2P的方式将所述暂存区块传送给第二机顶盒400,使得所述暂存区块可在另一个显丕装置上播放(260)。暂存区块的数量大于一默认值时,点对点传输模块113才会启动P2P传输的操作。点对点传输模块113包含多个缓冲队列(未显示),每一个缓冲队列对应一种影片类型。

  当影片播放完,区块缓冲处理模块111将第一视讯源(S1)与第二视讯源(S2)的缓冲区中的区块都释放掉(270)。

  图5是显示本发明实施例的修正视讯串流流量的方法步骤流程图,应用于一第一机顶盒。

  步骤S501,根据收集的所述用户行为信息与所述播放信息分析共产生比特率组合。

  步骤S502,根据分析后的比特率组合初始化至少第一视讯源(第一串流)的第一流式缓冲区的尺寸与第二视讯源(第二串流)的第二流式缓冲区的尺寸,其中所述第一流式缓冲区的尺寸小于所述第二流式缓冲区的尺寸。

  步骤S503,根据带宽历史记录与所述分析后的比特率组合初始化所述第一视讯源与所述第二视讯源的起始比特率,下载并储存所述第一视讯源的多个第一影像区块在所述第一流式缓冲区,下载并储存所述第二视讯源的多个第二影像区块在所述第二流式缓冲区,并开始在与所述第一机顶盒连接的所述第一显示设备上播放所述第一影像区块与所述第二影像区块。

  步骤S504,判断所述第一视讯源与所述第二视讯源的串流缓冲比例。

  步骤S505,当所述第一视讯源与所述第二视讯源的串流缓冲比例一样时(A),挑选画面较大的串流下载,即,挑选所述第二视讯源来下载影像区块。

  步骤S506,当所述第一视讯源与所述第二视讯源的串流缓冲比例不同时(B),挑选串流缓冲比例较小的视讯源来下载影像区块。

  步骤S507,判断所述第一视讯源与所述第二视讯源的串流缓冲比例与每一个影像区块的下载时间。倘若所述第一视讯源(S1)与所述第二视讯源(S2)的串流缓冲比例相同(BLMid),则回到步骤S504(C)。

  步骤S508,倘若所述第一视讯源(S1)与所述第二视讯源(S2)的串流缓冲比例皆处于高的状态(BLHigh)(A),且每一个区块的下载时间皆低于10秒,则调升所述第一视讯源(S1)与所述第二视讯源(S2)的比特率。

  步骤S509,倘若所述第一视讯源(S1)与所述第二视讯源(S2)的串流缓冲比例皆处于低的状态(BLLow)(B),且每一个区块的下载时间皆多于10秒,则调降所述第一视讯源(S1)与所述第二视讯源(S2)的比特率。

  步骤S510,判断是否停止播放影片。若不停止播放影片,则回到步骤S504(C)。

  步骤S511,若停止播放影片,接着判断是否要分享目前储存在所述第一流式缓冲区的第一影像区块与目前储存在所述第二流式缓冲区内的第二影像区块。

  步骤S512,若要分享所述第一流式缓冲区与所述第二流式缓冲区内的区块,则将所述区块经由P2P的方式传送到一第二机顶盒,以在与所述第二机顶盒连接的一第二显示设备上播放。

  步骤S513,若不分享所述第一流式缓冲区与所述第二流式缓冲区内的区块,或是已将所述第一流式缓冲区与所述第二流式缓冲区内的区块都传送到所述第二机顶盒,则释放所述第一流式缓冲区与所述第二流式缓冲区以清空所述第一流式缓冲区与所述第二流式缓冲区。

  对本领域的普通技术人员来说,可以根据本发明实施例提供的技术方案和技术构思结合生成的实际需要做出其他相应的改变或调整,而这些改变和调整都应属于本发明权利要求的保护范围。

《修正视讯串流流量的方法、机顶盒及计算机可读存储介质.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)