一种MPEG1_MPEG2视频流的自适应播放算法
- 格式:pdf
- 大小:828.54 KB
- 文档页数:4
输入流 λ
缓冲区
输出流 μ
控制播放帧率 图 1 自适应播放系统模型
0
LL
HL
N
图 2 播放缓冲区模型
基金项目:高等学校博士学科点专项基金资助项目(20010701006); 综合业务网国家重点实验室基金资助项目;华为基金资助项目 作者简介:吴 炜(1977-),男,讲师,主研方向:多媒体通信和自 适应信号处理;沙丽娜,硕士;苏 兵,讲师 收稿日期:2005-11-05 E-mail:wuweiwi@
⎡⎢⎣ Q =
q ON , ON
q OFF ,ON
q
⎤ ⎡ ON ,OFF ⎥⎦ ⎣ q
OFF ,OFF
=
1−α β
α⎤ 1− β⎦
(3)
Π
=
⎡ ⎢⎣ α
β +
β
α⎤ α + β ⎥⎦
(4)
考虑一个时间离散的服务系统,时间轴被分成很多相等 的间隔,称为时隙。假设顾客的到达发生在一个时隙的开始, 顾客的离去发生在一个时隙的结束,服务时间为时隙的整数 倍。当缓冲区中有 i 帧数据时,每帧的服务时间用 mi 表示, 单位为时隙数。则有
⋅
qh,s
h∈{ON ,OFF}
t > 1 (6)
若以 Nn 表示第 n 个被服务顾客在服务完毕离开系统瞬间 所观察到的系统队长(不包括第 n 个被服务顾客),随机变量
序列{Nn,n=1, 2, …}构成了嵌入式马氏链。设 pij 表示视频帧 离开时观察到的队长 i 转移到队长 j 的概率。则该嵌入式马氏
—224—
在设置播放缓冲区的同时,还设置一个临时缓冲区。在视频 帧播放期间,如果到达的视频帧数太多造成播放缓冲区上溢, 那么当播放缓冲区满时接收端判断溢出的视频帧是否为 I 帧 或 P 帧。如果不是 I 帧或 P 帧,则丢弃,否则存储到临时缓 冲区中。假设临时缓冲区容量很小但足够存储一个视频帧播 放期间溢出的 I 帧和 P 帧,当此视频帧播放完毕离开播放缓 冲区瞬间,接收端解码并跳过播放与临时缓冲区中帧数目相 同的视频帧,同时把临时缓冲区中的视频帧存储到播放缓冲 区里。这样使得播放缓冲区上溢时不会造成 I 帧和 P 帧的丢 失和相应产生的影响。
般的视频解码系统。它是在接收端根据播放缓冲区中的队列 长度动态地调整视频流播放帧率,以补偿网络时延抖动。该 算法设定一个门限 TH,如果缓冲区中的队列长度 i 大于门限
TH,算法采用一个设定的最大播放帧率 µ ;否则播放帧率 1
按比例减少来消除缓冲区为空带来的播放停顿现象,如下式:
⎧⎪
mract】An adaptive playout algorithm for MPEG1/MPEG2 video streaming is proposed. It scales the duration that each video frame is shown according to the occupied playout buffer level. On the types of arriving video frames basis the algorithm determines to temporary memory or discard the frames as the playout buffer is overflow. So the receiver could not lose intra-coded frames and predictive-coded frames. Experimental results show that the proposed algorithm has advantages over Yuang algorithm in discontinuity and distortion of playout and could make video streaming smoothly play out. 【Key words】MPEG1; MPEG2; Video streaming; Adaptive playout
⎧⎪⎨⎪⎩ ∑∑ ∑ ∑ ∑ pij =
Π⋅ r
ami ( j − i + 1) r,s
r∈{ON ,OFF }
s∈{ON ,OFF }
mi −( j −i )
Π⋅ r
ami ( j − i + k ) r,s
k =1 r∈{ON ,OFF }
s∈{ON ,OFF }
j<N (8)
j=N
情况 2:当第 n 帧播放完毕离开缓冲区瞬间,缓冲区中
⎧⎪⎨⎪⎩ ∑ ∑ ∑ ∑ ∑ pij =
qON ,l ⋅
a mi l,s
−1
(
j
)
l∈{ON ,OFF }
s∈{ON ,OFF }
mi −1
qON ,l ⋅
a mi l,s
−1
(
k
)
k = N l∈{ON ,OFF }
s∈{ON ,OFF }
j<N j=N
(9)
由式(8)和式(9)可以得到状态转移概率矩阵 P,通过解稳
有实验表明视频流播放帧率的变化范围不超过 25%时, 一般不易被察觉[4]。最大播放帧率和最小播放帧率按如下方 法确定:假设正常播放帧率为 20 帧/s,那么最大播放帧率
µ =20×1.25=25 帧/s,最小播放帧率 µ =20×0.75=15 帧/s。
max
min
根据播放缓冲区的当前占用情况决定合适的播放帧率。假设
缓冲区中有 i 个视频帧,则播放帧率为
µ−µ
⎧µ +
⋅ i min
min
⎪⎪ LL
i < LL
µ(i) = ⎨µ
LL ≤ i ≤ HL
(1)
⎪ µ −µ
⎪⎩ µ
+
max
N − HL
⋅ (i −
HL)
i > HL
1.2 Yuang 等人提出的算法
Yuang 等人提出的算法[3]作为视频流同步方案适用于一
缓冲区已满,则判断视频帧是否为 I 帧或 P 帧,如果不是 I
帧或 P 帧,则丢弃,否则暂时存储到临时缓冲区,等第 n+1
帧播放完毕离开缓冲区瞬间接收端解码并跳过播放与临时缓
冲区中帧数目相同的视频帧,并把临时缓冲区中的帧存储到
播放缓冲区里。又设在第 n+1 帧播放完毕离开缓冲区瞬间,
缓冲区中有 j 帧视频(不包括第 n+1 帧)。于是当 i>0 时,有
吴 炜 1,沙丽娜 2,苏 兵 3
(1. 西安电子科技大学综合业务网国家重点实验室,西安 710071;2. 广西大学计算机与电子信息学院,南宁 530004; 3. 西安通信学院移动通信教研室,西安 710106)
摘 要:提出了一种 MPEG1/MPEG2 视频流的自适应播放算法。算法根据播放缓冲区的占用情况来调整视频帧的播放持续时间,并在播放 缓冲区上溢时判断到达视频帧的类型,以决定是暂时存储还是丢弃,使得不会造成帧内编码帧和前向预测编码帧的丢失,从而保证视频流 平滑地播放。实验结果表明,在播放不连续性和播放失真上新算法都优于 Yuang 算法,并实现了视频流的平滑播放。 关键词:MPEG1;MPEG2;视频流;自适应播放
链的状态转移概率矩阵 P 由下式给出:
⎡ ⎤ p00 p01 p02 ... p0 N
⎢ ⎥ p10
p11
p12 ... p1N
⎢ ⎥ P = [ pij ] = p20 p21 p22 ... p2 N
(7)
⎢M
⎥
⎢⎣
p N
0
p N1
p N2
...
p NN
⎥⎦
当业务强度ρ≤1 时,系统可以达到稳态。为了求出稳态
有 0 帧视频(不包括第 n 帧)。当第 n+1 帧播放完毕离开缓冲
区瞬间,缓冲区中的视频帧数目就等于在第 n+1 帧播放期间
到达的视频帧数目。需要注意的是当 IPP 处于状态 ON 时第
n+1 帧才能到达,并且在第 n+1 帧到达的下一个时隙内,IPP
处于状态 l 的概率为 qON,l。因此,当 i=0 时,有
1 新的视频流自适应播放算法
1.1 新的视频流自适应播放算法 图 1 是接收端的自适应播放系统模型。播放缓冲区的容
量为 N,控制器根据缓冲区的占用情况控制播放帧率。在缓 冲区中设定 2 个门限 LL 和 HL,如图 2 所示,LL 为低门限, HL 为高门限。当缓冲区的队列长度在[LL, HL]之间时,采用 正常播放帧率 µ ;当缓冲区队列长度小于 LL 时,播放帧率 正比例减少但不能小于最小播放帧率;当缓冲区队列长度大 于 HL 时,播放速率正比例增加但不能大于最大播放帧率。
第 32 卷 第 20 期 Vol.32 № 20
计算机工程 Computer Engineering
2006 年 10 月 October 2006
·多媒体技术及应用·
文章编号:1000—3428(2006)20—0224—03 文献标识码:A
中图分类号:TN915.01
一种 MPEG1/MPEG2 视频流的自适应播放算法
⎡1⎤
m i
=
⎢⎢ µ(i) ⎥⎥
(5)
假设 art ,s (k ) 表示从状态 r(时隙为 t’)转移到状态 s(时隙为 t’+t)期间,即[t’, t’+t-1]期间有 k 帧到达的概率,则
art ,s (k) =
∑ (art−,h1 (k
−
1)
⋅
λ h
+
at −1 r,h
(k
)
⋅
(1
−
λ h