作者soweak (小德)
看板PangSir
标题Re: [ACN]关於AdaptivePlayout
时间Sat Nov 6 17:06:07 2010
同学您好
在讲话的时候,通常会讲一串话、一串话,两串话之间会有间隔
而课本提到的方法,就是利用两个封包的时间间隔,来判断是不是在同一个发话期间
先说明名词
sequence number (序号):每产生一个封包,会把序号加1,可看成流水号
timestamp (时戳):data的产生时间,可看成制造日期
假定
现在封包没有loss
则可以把封包看成
1,2,3,...,i-1,i,...这样的序列
那麽如果 i 和 i-1 的timestamp差距
t_i - t_(i-1) > 20毫秒 (课本选定的值,就是
一段时间就是了)
这样相当於讲话停下来
一段时间後再送封包
於是就能把第i个封包看成,跟第i-1个封包式不同的发话期间
也就是在第i-1个封包结束後,
下一个发话期间,的第一个封包,就是第i个封包
假定
现在封包是有可能掉的
那麽也许以我们收到1,2,3,...,i-1,i,...这样的序列
实际上是1,2,3,...,i-1,
k1,k2,k3,...,kn,i,...这样的序列
k1,k2,k3,...,kn 是掉了的封包
那麽就算 ...,i-2,i-1,
k1,k2,k3,...,kn,i,i+1,... 是在同一个发话期间
但是也可能发生 t_i - t_(i-1) > 20毫秒 的情形
所以就必须靠sequence number来判断是不是在同一个发话期间
也就是
第i个封包是否为下一个发话期间的第一个封包了
不知道这样有没有回答你的问题?
如果还不清楚,可以把问题再提出讨论:)
Sincerely,
彦德
※ 引述《anakindon (god)》之铭言:
: 助教不好意思,老师上课时有解释在adaptive playout时
: 要怎麽去看packet is first in a talkspurt??
: 我忘记老师那时是怎麽解释了...
: 只记得老师说如果没有loss就看timestamp
: 没有loss时就要一起看seq number
: 但我不是很懂是什麽意思??
: 想再问一下timestamp与seq num的差异是??
: 可以请问一下吗?? 谢谢您~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.218.97
※ 编辑: soweak 来自: 140.112.218.97 (11/06 17:07)
1F:推 anakindon:谢谢助教,超清楚的!我记得老师说timestamp不是真的时间 11/06 18:55
2F:→ anakindon:那是指说假如一个chunk有160byte,timestamp 就会依序是 11/06 18:57
3F:→ anakindon:1,161,321...在一个talk spurt中?? 谢谢助教~ 11/06 18:58
4F:推 andychay2:楼上这样说应该没错吧? 11/08 01:00
5F:→ soweak:应该没错 很抱歉这麽晚才回 疏忽了QQ 11/10 08:44