首页> 中国专利> 用于网状点对点串流系统的播放延迟时间调整方法及装置

用于网状点对点串流系统的播放延迟时间调整方法及装置

摘要

本发明牵涉一种应用于网状点对点串流系统的播放延迟时间的调整方法及其装置。所述调整方法包括下列步骤:根据一网络节点的一数据交换缓冲区所存封包,动态决定及更新所述数据交换缓冲区所存封包的一完整度;若所述完整度较更新前的完整度高,则减少所述网络节点的一播放延迟时间;以及若所述完整度较更新前的完整度低,则增加所述播放延迟时间。

著录项

  • 公开/公告号CN101729375A

    专利类型发明专利

  • 公开/公告日2010-06-09

    原文格式PDF

  • 申请/专利权人 财团法人工业技术研究院;

    申请/专利号CN200810174941.1

  • 发明设计人 吴奕纬;黄思贤;谢春勇;

    申请日2008-10-24

  • 分类号H04L12/56;H04L1/00;H04L29/08;

  • 代理机构北京三友知识产权代理有限公司;

  • 代理人任默闻

  • 地址 中国台湾新竹县

  • 入库时间 2023-12-18 00:10:00

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-11-14

    授权

    授权

  • 2010-08-11

    实质审查的生效 IPC(主分类):H04L12/56 申请日:20081024

    实质审查的生效

  • 2010-06-09

    公开

    公开

说明书

技术领域

本发明是关于一种应用于网状点对点串流系统(mesh-based P2P streamingsystem)的播放延迟时间的调整方法及装置。

背景技术

过去使用者欲观看网络上所提供的视频内容时,需先储存所述视频内容于计算机上,因而需耗费动辄数小时的下载时间。然而随着网际网络的蓬勃发展以及网络带宽的不断增加,一种新的串流服务便应运而生。视频串流服务能让使用者同时观看及下载视频内容,其中从下载至观看时间差距仅数十秒至数分钟,真正达到实时观看(real time)的目的。此外,由于串流服务不需完全下载便能观看内容,故其所需的储存空间大幅降低,且其实时观看的特性能让使用者如同电视般可自行选择欲观看的频道。

最初网络串流系统多采用客户端/服务器(client/server)的架构。如图1所示,在所述架构下,网络封包是由一串流服务器11单向传输至多个客户端节点12-15。然而所述架构的缺点在于所有客户端节点的封包数据皆是从单一或单一群串流服务器11下载而来,故所述串流服务器11至负载能力和网络带宽将会影响所述网络串流服务的品质。换言之,在主从式架构下,所述串流系统所能提供的服务能力是固定的。一旦使用者的数目超过所述串流系统所能提供的服务能力时,轻则某些使用者无法取得服务,重则所述串流服务器11会当机而造成整个串流服务的瘫痪。

为克服主从式架构的问题,一种点对点架构(pear-to-pear,或简称P2P)便应运而生。如图2所示,在所述架构下,每一网络节点会同时担任服务器21和客户端22-25的角色,亦即每一网络节点不只从其他网络节点取得所需服务,其亦提供服务给其他网络节点。因此,在点对点架构下,所述串流系统所能提供的服务能力将不再局限于特定网络节点的负载能力或网络带宽。故,此一特性使点对点架构相当适合用以提供串流服务。

一般点对点串流系统可分为三种架构:树型(tree)、森林型(forest)和网状型(mesh)。然而由于网状型架构的点对点串流系统在错误容忍率和实作上皆较其他两者具有优势,故目前常见的点对点串流系统皆采用网状型架构。在网状型架构下,每一网络节点皆会分配一缓冲区,称之为数据交换缓冲区(exchanging buffer)32,以储存来自其他网络节点的封包和提供其他网络节点所需的封包。此外,每一网络节点另包括一位图(bitmap)31和一播放缓冲器(playout buffer)41。所述位图31是用以表示对应的数据交换缓冲区32是否有储存封包。如图3和图4所示,所述位图31的其中一位为1时,表示其对应的数据交换缓冲区32在对应的位置上有储存封包,反之亦然。此外,各网络节点会定时互相交换彼此位图31的信息以得知应从何网络节点撷取所需的封包。所述播放缓冲器41是用以储存欲播放的封包。当一封包储存至一播放缓冲器41时,需延迟一段时间才会播出,此延迟时间即为播放延迟时间(playout delay)。图4显示播放缓冲器41和数据交换缓冲区32的关系。如图4所示,封包通常并非依照其播放次序到达数据交换缓冲区32,故数据交换缓冲区32所存的封包会有不连续的现象。待数据交换缓冲区32收集一定数量且符合播放次序的封包后,即将其存入所述播放缓冲器41。因此,播放缓冲器41的封包皆依照其播放次序储存。在目前设计中,数据交换缓冲区32的容量通常远大于播放缓冲器41的容量。

然而,点对点串流系统会有频道切换时间过长(约为40秒)以及实时播放延迟时间过长的问题(约为60-120秒)。此两者发生的主因皆为播放延迟时间过长。一般而言,播放延迟时间代表当播放缓冲器41全满时,播放缓冲器41播放所有储存封包所需的时间。因此,播放缓冲器41的容量会正比于播放延迟时间的长短。由于点对点网络架构相较于主从式网络架构更难预测网络状况,而网状点对点网络架构又是点对点网络架构中最难预测其网络状况的架构。换言之,在网状点对点网络架构下,一网络节点的加入和离开是相当频繁而不可预期的,故也难以预测所需的封包何时到达及来自何方。因此,一般网状点对点网络架构多会安排一较大的播放缓冲器41或是较长的播放延迟时间以避免封包遗失而造成视频影音中断。然而,较大的播放缓冲器41却又产生上述两种问题。

据此,实有必要设计一应用于网状点对点串流系统的播放延迟时间的调整方法,其可根据网络状况动态调整所需的播放延迟时间,进而达到缩短频道切换时间及实时播放的目的。

发明内容

本发明利用动态调整一网状点对点串流系统的播放延迟时间达到缩短频道切换时间及实时播放延迟时间的目的。

本发明的应用于网状点对点串流系统的播放延迟时间的调整方法包括下列步骤:根据一网络节点的一数据交换缓冲区所存封包,动态决定及更新所述数据交换缓冲区所存封包的一完整度;若所述完整度较更新前的完整度高,则减少所述网络节点的一播放延迟时间;以及若所述完整度较更新前的完整度低,则增加所述播放延迟时间。

本发明的有益效果在于:本发明提供的应用于网状点对点串流系统的播放延迟时间的调整方法及装置,可根据网络状况动态调整所需的播放延迟时间,进而达到缩短频道切换时间及实时播放。

附图说明

图1显示一已知的主从式架构的网络系统;

图2显示一已知的点对点架构的网络系统;

图3显示一已知的点对点网络系统架构下一网络节点的位图;

图4显示一已知的点对点网络系统架构下一网络节点的播放缓冲器和数据交换缓冲区的关系;

图5显示本发明的一实施例的应用于网状点对点串流系统的播放延迟时间的调整方法;

图6显示本发明的一实施例的封包对应其权重值的关系;及

图7显示本发明的一实施例的一点对点网络系统架构下一网络节点的位图;

图8显示本发明的一实施例的完整度对应其播放延迟时间调整值的关系。

附图标号

11      串流服务器            12-15    客户端节点

21      服务器                22-25    客户端

31      位图                  32       数据交换缓冲区

41      播放缓冲器

71      位图                  72       数据交换缓冲区

501-506 步骤

具体实施方式

图5显示本发明的一实施例的应用于网状点对点串流系统的播放延迟时间的调整方法。在步骤501时,依照一网络节点所连接的其他网络节点的初始网络状态决定一播放延迟时间的初始值,并进入步骤502。在步骤502时,动态决定及更新所述网络节点的一数据交换缓冲区所存封包的完整度,并进入步骤503。在步骤503时,判断是否所述更新的完整度和更新前的完整度的差值超过一临界值。若步骤503的结果为是,则进入步骤504,否则回到步骤502。在步骤504时,判断是否所述更新后的完整度高于更新前的完整度。若步骤504的结果为是,则进入步骤505,否则进入步骤506。在步骤505时,减少所述网络节点的播放延迟时间,并回到步骤502。在步骤506时,增加所述网络节点的播放延迟时间,并回到步骤502。

在步骤501中,所述初始值的设定为所述这些其他网络节点的最大传递延迟时间和最小传递延迟时间的差值乘上一常数,并可由下列式子表示:

初始播放延迟时间=α*(max{PD_V_S}-min{PD_V_S})

其中PD_V_S为所述这些其他网络节点的传递延迟时间的集合。较佳的,所述常数α为1。

在步骤502中,本实施例提供三种计算数据交换缓冲区所存封包的完整度的方法。第一种决定完整度的方法是根据所述数据交换缓冲区所存封包的个数。易言之,每一储存的封包皆具有一权重值,而播放次序越优先的封包其权重值越高。所述完整度便为所有储存封包的权重值总和,并可由下列式子表示:

完整度1=∑数据交换缓冲区储存封包的权重值

其中∑代表所含元素的累加,而所述数据交换缓冲区所存封包的权重值和其播放次序呈线性、阶梯性或指数性的关系,如图6所示。

第二种决定完整度的方法是根据所述数据交换缓冲区所存封包的数据量。易言之,每一储存的封包皆具有一权重值,而数据量越大的封包其权重值越高。目前影音帧(frame)可分为三类,分别为I帧、P帧和B帧,其中I帧的数据量大于P帧,而P帧的数据量大于B帧。此三种帧分别对应一权重值,而所述完整度便为所有储存封包的权重值总和,并可由下列式子表示:

完整度2=I帧的权重值×I帧的个数+P帧的权重值×P帧的个数+B帧的权重值×B帧的个数

其中所述数据交换缓冲区所存封包的权重值和其数据量呈线性、阶梯性或指数性的关系,如图6所示。

为记录数据交换缓冲区所存封包的帧种类,可修改位图的储存方式,如图7所示。所述位图71的每一栏位由1位增为3位,其中最高有效位记录对应的数据交换缓冲区72是否有储存封包,后两位则记录所述储存封包的数据种类:01代表I帧,10代表P帧,11代表B帧,而00代表未知。

第三种决定完整度的方法是根据所述数据交换缓冲区所存封包的连续性。在播放影音视频时,一连串封包遗失远较于多个单一封包分别遗失严重。因此,在计算完整度时,除依照不连续封包位置的优先次序决定其权重值外,另依照所述这些不连续封包位置的不连续封包个数决定其权重值,并可由下列式子表示:

完整度3=(∏数据交换缓冲区储存封包的权重值)/(∑所述这些不连续封包位置(∏所述不连续封包位置的权重值))

其中∏代表所含元素的乘积,而所述数据交换缓冲区封包的权重值和其播放次序呈线性、阶梯性或指数性的关系,如图6所示。

在步骤502中,本实施例并不局限于此三种完整度计算方法,而可以根据此三种完整度的任意权重的加总,并可由下列式子表示:

完整度=r1×完整度1+r2×完整度2+r3×完整度3

其中r1、r2和r3为此三种完整度的权重值。

在步骤504中,本实施例比较所述完整度的方式是比较更新后的完整度以及更新前所有完整度的平均值。在步骤505和506中,本实施例是根据所述完整度更新前后的差值,将所述这些播放延迟时间作线性、阶梯性或指数性的调整,如图8所示。步骤505和506的调整播放延迟时间的方法可通过调整所述播放缓冲器内的封包播放速度或调整所述播放缓冲器的容量。在调整所述播放缓冲器内的封包播放速度时,可依照储存封包的运动向量(motionvector)和音量分类,并优先调整对于播放速度较不敏感的封包,以减少对于播放品质的影响。

综上所述,本实施例在初始加入一网状点对点网络系统群组时,是设定一较短的初始播放延迟时间以解决频道切换速度过长的问题。之后,本实施例再通过观察真实的网络状态,亦即所述数据交换缓冲区所存封包的完整度动态,调整播放延迟时间以解决实时播放延迟时间过长的问题。本实施例的方法可设计成一计算机程序产品,以供计算机载入时加以执行。

本发明的技术内容及技术特点已揭示如上,然而本领域技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰。因此,本发明的保护范围应不限于实施例所揭示者,而应包括各种不背离本发明的替换及修饰,并为以权利要求所涵盖。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号