CN101729375B - 用于网状点对点串流系统的播放延迟时间调整方法及装置 - Google Patents
用于网状点对点串流系统的播放延迟时间调整方法及装置 Download PDFInfo
- Publication number
- CN101729375B CN101729375B CN2008101749411A CN200810174941A CN101729375B CN 101729375 B CN101729375 B CN 101729375B CN 2008101749411 A CN2008101749411 A CN 2008101749411A CN 200810174941 A CN200810174941 A CN 200810174941A CN 101729375 B CN101729375 B CN 101729375B
- Authority
- CN
- China
- Prior art keywords
- data exchange
- delay time
- completeness
- packets
- exchange buffer
- 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.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明牵涉一种应用于网状点对点串流系统的播放延迟时间的调整方法及其装置。所述调整方法包括下列步骤:根据一网络节点的一数据交换缓冲区所存封包,动态决定及更新所述数据交换缓冲区所存封包的一完整度;若所述完整度较更新前的完整度高,则减少所述网络节点的一播放延迟时间;以及若所述完整度较更新前的完整度低,则增加所述播放延迟时间。
Description
技术领域
本发明是关于一种应用于网状点对点串流系统(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)和音量分类,并优先调整对于播放速度较不敏感的封包,以减少对于播放品质的影响。
综上所述,本实施例在初始加入一网状点对点网络系统群组时,是设定一较短的初始播放延迟时间以解决频道切换速度过长的问题。之后,本实施例再通过观察真实的网络状态,亦即所述数据交换缓冲区所存封包的完整度动态,调整播放延迟时间以解决实时播放延迟时间过长的问题。本实施例的方法可设计成一计算机程序产品,以供计算机载入时加以执行。
本发明的技术内容及技术特点已揭示如上,然而本领域技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰。因此,本发明的保护范围应不限于实施例所揭示者,而应包括各种不背离本发明的替换及修饰,并为以权利要求所涵盖。
Claims (16)
1.一种应用于网状点对点串流系统的播放延迟时间的调整方法,其特征在于,所述调整方法包括下列步骤:
根据一网络节点的一数据交换缓冲区内所存封包而动态决定及更新所述数据交换缓冲区所存封包的一完整度;
若更新后的完整度较更新前的完整度高,则减少所述网络节点的播放延迟时间;以及
若更新后的完整度较更新前的完整度低,则增加所述播放延迟时间;
其中:所述完整度是由所述数据交换缓冲区所存封包的个数、所述数据交换缓冲区所存封包的数据量和/或所述数据交换缓冲区所存封包的连续性决定。
2.根据权利要求1的调整方法,其特征在于,所述完整度是由所述数据交换缓冲区所存封包的权重值的总和所决定,而播放次序越优先的封包其权重值越高。
3.根据权利要求2的调整方法,其特征在于,所述数据交换缓冲区所存封包的权重值和其播放次序呈线性、阶梯性或指数性的关系。
4.根据权利要求1的调整方法,其特征在于,所述完整度是由所述数据交换缓冲区所存封包的权重值的总和所决定,而数据量越大的封包其权重值越高。
5.根据权利要求4的调整方法,其特征在于,所述数据交换缓冲区所存封包依数据量分为I帧、P帧和B帧,其分别对应不同的权重值。
6.根据权利要求1的调整方法,其特征在于,所述完整度是由所述数据交换缓冲区内封包不连续的次数以及所述这些不连续区域的封包数决定。
7.根据权利要求6的调整方法,其特征在于,所述完整度是由所述数据交换缓冲区内所存封包的权重值的乘积再除以各不连续区域的封包的权重值的乘积的总和决定,而所述数据交换缓冲区的封包的权重值和其播放次序呈线性、阶梯性或指数性的关系。
8.根据权利要求1的调整方法,其特征在于,所述更新前完整度是指更新前所有完整度的平均值或更新前固定次数完整度的平均值。
9.根据权利要求1的调整方法,其特征在于,所述这些播放延迟时间调整的步骤是于所述完整度更新前后的差值超过一临界值时进行。
10.根据权利要求1的调整方法,其特征在于,所述这些播放延迟时间调整的步骤是根据所述完整度更新前后的差值,将所述这些播放延迟时间作线性、阶梯性或指数性的调整。
11.根据权利要求1的调整方法,其特征在于,所述这些调整播放延迟时间的步骤是调整所述网络节点的一播放缓冲器内的封包播放速度。
12.根据权利要求1的调整方法,其特征在于,所述这些调整播放延迟时间的步骤是调整所述网络节点的一播放缓冲器的容量。
13.根据权利要求1的调整方法,其特征在于,所述调整方法进一步包括下列步骤:
依照所述网络节点所连接的其他网络节点的初始网络状态而决定所述播放延迟时间的初始值。
14.根据权利要求13的调整方法,其特征在于,所述初始值是所述这些其他网络节点的最大传递延迟时间和最小传递延迟时间的差值乘上一常数。
15.一种应用于网状点对点串流系统的播放延迟时间的调整装置,包括:
用于根据一网络节点的一数据交换缓冲区内所存封包而动态决定及更新所述数据交换缓冲区所存封包的一完整度的装置;
用于若更新后的完整度较更新前的完整度高,则减少所述网络节点的播放延迟时间的装置;以及
用于若更新后的完整度较更新前的完整度低,则增加所述播放延迟时间的装置;
其中:所述完整度是由所述数据交换缓冲区所存封包的个数决定,或者所述完整度是由所述数据交换缓冲区所存封包的数据量决定。
16.根据权利要求15的调整装置,其特征在于,所述这些播放延迟时间调整的步骤是根据所述完整度更新前后的差值,将所述这些播放延迟时间作线性、阶梯性或指数性的调整。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101749411A CN101729375B (zh) | 2008-10-24 | 2008-10-24 | 用于网状点对点串流系统的播放延迟时间调整方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101749411A CN101729375B (zh) | 2008-10-24 | 2008-10-24 | 用于网状点对点串流系统的播放延迟时间调整方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101729375A CN101729375A (zh) | 2010-06-09 |
CN101729375B true CN101729375B (zh) | 2012-11-14 |
Family
ID=42449629
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101749411A Active CN101729375B (zh) | 2008-10-24 | 2008-10-24 | 用于网状点对点串流系统的播放延迟时间调整方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101729375B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1336064A (zh) * | 1999-09-27 | 2002-02-13 | 皇家菲利浦电子有限公司 | 仿真流的文件分区 |
EP1453269A1 (en) * | 2003-02-25 | 2004-09-01 | Matsushita Electric Industrial Co., Ltd. | A method of reporting quality metrics for packet switched streaming |
CN1756230A (zh) * | 2004-09-30 | 2006-04-05 | 华为技术有限公司 | 降低实时业务时延及时延抖动的方法 |
-
2008
- 2008-10-24 CN CN2008101749411A patent/CN101729375B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1336064A (zh) * | 1999-09-27 | 2002-02-13 | 皇家菲利浦电子有限公司 | 仿真流的文件分区 |
EP1453269A1 (en) * | 2003-02-25 | 2004-09-01 | Matsushita Electric Industrial Co., Ltd. | A method of reporting quality metrics for packet switched streaming |
CN1756230A (zh) * | 2004-09-30 | 2006-04-05 | 华为技术有限公司 | 降低实时业务时延及时延抖动的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101729375A (zh) | 2010-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102472155B1 (ko) | 피어 투 피어(Peer to peer, P2P) 네트워크에서 스트리밍 콘텐츠를 방송하는 방법 | |
US10659832B1 (en) | Dynamic bitrate selection for streaming media | |
US20170034233A1 (en) | Pre-Buffering Audio Streams | |
US8386621B2 (en) | Parallel streaming | |
WO2017071228A1 (zh) | 基于hls协议的直播方法、系统及客户端 | |
JP2007036666A (ja) | コンテンツ配信システム、クライアント及びクライアントプログラム | |
US20200213627A1 (en) | Minimizing stall duration tail probability in over-the-top streaming systems | |
CN101595731A (zh) | 前缀高速缓存辅助的服务质量感知对等视频点播 | |
EP3207686B1 (en) | Adaptive bit rates during broadcast transmission in distributed content delivery networks | |
CN112752117B (zh) | 一种视频缓存方法、装置、设备及存储介质 | |
TWI395487B (zh) | 應用於網狀點對點串流系統之播放延遲時間之調整方法及其電腦程式產品 | |
US9712580B2 (en) | Pipelining for parallel network connections to transmit a digital content stream | |
Sun et al. | Optimal strategies for live video streaming in the low-latency regime | |
Liang et al. | Incentivized peer-assisted streaming for on-demand services | |
KR20220158275A (ko) | 네트워크에서 스트리밍되는 콘텐츠를 클라이언트 디바이스의 플레이어에서 재생하기 위한 방법 | |
Li et al. | Arrival process-controlled adaptive media playout with multiple thresholds for video streaming | |
JP2011061533A (ja) | コンテンツ配信システム、体感品質推定装置、方法、及び、プログラム | |
CN105706412B (zh) | 自校正内容递送网络中的带宽策略管理 | |
KR20220130837A (ko) | 네트워크에서 스트리밍되는 콘텐츠를 클라이언트 디바이스의 플레이어에서 재생하기 위한 방법 | |
CN101729375B (zh) | 用于网状点对点串流系统的播放延迟时间调整方法及装置 | |
Gao et al. | DHP: a joint video download and dynamic bitrate adaptation algorithm for short video streaming | |
JP7188718B1 (ja) | 通知方法及びバックエンドサーバ | |
Li | QoE‐Based Performance Evaluation for Adaptive Media Playout Systems | |
CN113676739B (zh) | 一种视频播放方法、装置、设备及存储介质 | |
CN105593837B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |