第 第
第三 三 三章 三 章 章 章 聽覺
聽覺 聽覺
聽覺最佳化的適應性播放排程設計 最佳化的適應性播放排程設計 最佳化的適應性播放排程設計 最佳化的適應性播放排程設計
近年來,廣受歡迎的網路電話(VoIP)發展迅速,因為能讓使用者 節省可觀的長途或國際電話費。但網路電話仍存在諸多問題,常見的 問題為整體延遲(end-to-end delay)、延遲擾動(delay jitter)、封 包漏失(packet loss)、以及回音(echo)等。聲音在網路上傳送通常 是被切割成一個個封包,所以封包到達接收端時的延遲和漏失,被視 為評估網路電話品質好壞的準則。在傳送端,語音信號會以固定的音 框間隔依序來產生封包,並透過網際網路傳送到接收端。其網路延遲 會取決於行走的路徑及該路徑上路由器(Router)的擁塞程度而有所 不同,而這些網路延遲的差異即為延遲擾動。為降低延遲擾動在接收 端的影響,接收封包在播放前會先被暫存在緩衝器一小段時間。嚴重 晚到的封包,即封包在排定的播放時間後才到達,則被視為晚到漏失 (late loss)。藉由增加緩衝器延遲(buffer delay),晚到漏失的封 包將會減少,然而這將增加封包的整體延遲。針對這個議題,本章節 的研究將結合第二章的音質預測模型,因應 MD 傳輸中的網路變動情 形,來動態設計其適應性的播放排程機制。
3.1 3.1
3.1 3.1 播放緩衝器 播放緩衝器 播放緩衝器 播放緩衝器
在網路語音傳輸系統中,傳送端以固定的音框間隔 Tp產生封包並 經由網路傳送,而由於網路本身的特性,每個封包延遲並不會固定,
導致有些封包會在接收端預定的播放時間之後才到達。圖 3.1(a)說 明了延遲擾動所造成的問題,在缺乏播放緩衝器的情形下,封包會在 被接收到的同時隨即被播放出去,第一個封包抵達時間即為其開始播 放時間,接下來的第 i 個封包將以和第一個封包的播放時間間隔 (i-1)Tp作為播放時間。然而,較大的網路延遲會造成晚到的封包(如 圖中第四個封包)無法順利播出,導致部分的封包漏失而降低通話品 質。加入播放緩衝器之後,封包抵達後將暫存於緩衝器一小段時間再 播放,如圖 3.1(b)。此方法可大幅減少封包因晚到而漏失的機率,
但整體延遲將從原本的網路延遲擴大為網路延遲與緩衝延遲的總合。
Tp
[1st] [2nd] [3rd] [4th]
傳送端 time
接收端 time
播放 time
Tp Tp Tp
圖 3.1(a)未加入緩衝延遲
Tp
[1st] [2nd] [3rd] [4th]
傳送端 time
接收端 time
播放 time network buffer Tp Tp Tp
delay delay
圖 3.1(b)引入緩衝延遲(buffer delay)機制
圖 3.1 播放緩衝器的影響
因此如何在封包漏失及播放延遲之間取得平衡點,進而設計一個 能因應網路時變特性的播放排程機制,是網路語音傳輸系統中一項重 要的議題。針對播放排程的問題,近年來已有學者提出聽覺最佳化的 原則,針對每個封包調整播放延遲(per-packet adjustment)[17],
亦即每個封包的播放延遲相異。問題是這種基於封包調整的播放排程 機制雖可迅速因應網路延遲的動態擾動,卻衍生更棘手的不連續播放 問題。假如當第 i 個封包的播放延遲大於或小於第 i+1 個封包播放 延遲時,則將會造成聲音在播放時突然產生空白或扭曲。為了解決此 封 包 播 放不 連續的 問 題 ,常 見的做 法 是 在接 收端引 入 音 長調 整 (Time-Scaling)[18]。而其機制主要是針對個別封包對應的播放延遲 來調整其封包長度,透過拉長或縮小封包長度,來填補封包間的時間
空格或避免兩兩封包播放時間相互衝突(例如當要播放第 i+1 個封包 時,而第 i 個封包卻還沒完成播放)。雖然這可解決播放不連續的問 題,但是顯然地,封包長度的拉長或縮短將造成聲音突然加速或是減 慢的情況。縱使如此靈敏的播放調整機制可大幅降低封包晚到的漏失 比例,但是過度的音長調整仍有可能造成音質降低甚至無法辨認。
有別於上述基於封包的調整機制,另一種作法是在相鄰話務間調 整 其 靜 音 (silence) 區 段 時 間 的 播 放 排 程 機 制 (per-talkspurt adjustment)[15] 。 在 語 音 通 話 中 , 一 段 聲 音 的 傳 輸 包 括 了 話 務 (talkspurt)及靜音。以「No, they could kill him just as easy right now. 」為例,這段話包含 10 個話務,每個話務本身是由數個甚至數 十個封包所組成,其餘的則為 silence。調整播放延遲的做法就是在 每個話務開始之前,一次決定其所屬封包的播放延遲。因此當設定完 播放延遲後,每段話務裡的所有封包其播放延遲皆相同,也就是當接 收端在播放此話務時,每個封包將依序播放出來。相較於每個封包長 度的調整機制,基於話務的調整機制確實不能及時反應網路延遲情 況,但是這種退而求次的方法,至少避免掉使用音長調整而造成額外 的音質損害。
本論文探討主題是在每段話務之間調整其播放延遲,雖然降低封 包晚到漏失的比例不如封包調整機制。但由於我們是著重於 MD 傳輸
系統之下,設計適應性播放排程演算法以調整話務之間靜音區段的長