作者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