4.1 SVC 視訊編碼層與網路摘要層
我們在視訊編碼層使用時間與噪訊比兩種可調性,在 GoP 內的 frame (I-frame、B-frame、P-frame) 分別是由基礎層與增強層的 slice 所組成 (參考 圖 4-1)。基礎層有三種不同的 slice 而每種 slice 編碼預測 (prediction) 方式 並不相同,I-slice 編碼時採用的是畫面內預測(intra prediction) 的方式並不需 要參考其他的 slice,編碼時可以根據 intra period 參數的值來設定 I-slice 出現 的頻率。P-slice 編碼時採用畫面間預測 (inter prediction) 的方式需要參考前一 個 I-slice 或 P-slice,而 B-slice 編碼時採用雙向預測 (Bi-direction prediction) 需要參考前後的 slice。增強層的任一個 slice (Progressive Refinement, PR)則需 要參考其基礎層的 slice。
圖 4-1 噪訊比可調性與時間可調性
接著 slice 就會被送到網路摘要層加上 NAL Unit Header (參考圖 4-2) [19],使得底層的傳輸協定能從 NAL Unit Header 得知 NAL Unit 的類型、優 先權與其他相關資訊。
9
圖 4-2 NAL Unit Header format
表 4-1 Slice 優先權
NAL Unit Header 的大小為 4 Bytes,第一個 Byte 包含了 Forbidden field (F)、Nal Unit Reference Indicator (NRI) 與 NAL UnitType (TYPE)。第二個 Byte 包含了 Reserved Bits (RR)、Simple PriorityID (PRID)。第三個 Byte 則是表示 NAL Unit 的相依性 (dependency),TL、DID 與 QL 分別表示時間可調性階層 (Temporal Scalability
Level)、空間可調性階層 (Spatial Scalability Level) 與噪訊比可調性階層 (SNR Scalability Level)。第四個 Byte 則包含了 Layer Base Flag(B)、Use Base Prediction Flag (U)、Discardable Flag (D)、FragmentedFlag (G)、Last Fragment Flag (L)、Fragment Order (FO)、Extension Flag(E)。
可調性視訊具有分層的特性,基礎層比增強層有較高的重要性,所以當 QL = 01 表示 slice 屬於增強層 (PR-slice) 其優先權最低。基礎層 slice 可分
10
成三種類型 (I, P, B),對解碼的影響程度由 TL 來決定,時間階層越低影響程 度越高。所以 TL = 000 (I-slice 與 P-slice)有最高的優先權,而 TL = 001, 010, 011 (B-slice) 優先權次之。Slice 優先權請參考表 4-1 (Priority 值越大越重要)。
4.2 IEEE 802.11e 媒介存取層
IEEE 802.11e 媒介存取控制層有四個存取類別 (AC0~AC3) 可提供不同 等級 (class) 服務品質,AC3 具有最高的優先權,AC0 則有最低的優先權。
依照目前的設計 (EDCA),當 NAL Unit 到達 IEEE802.11e 媒介存取控制層 時,並沒有對 NAL Units Header 包含的優先權資訊提供不同等級的服務,基 礎層與增強層的 NAL Units 皆進入 AC2 中。因此我們認為若底層的傳輸機 制能充分利用 NAL UnitsHeader 的資訊就能達到提供差異性服務的目標。
表 4-2 Mapping Algorithm
4.3 對應演算法 (Mapping Algorithm)
如表 4-2,我們提出了對應演算法 (Mapping Algorithm) 將不同的 NAL Units 依據其重要性對應到不同的存取類別等待傳輸機會。若編碼控制資訊 (Parameter Set, SEI) 與基礎層 (I, P, B) 封包遺失就會造成無法順利解碼,將之 對應到 AC2。至於增強層 (PR-slice) 若封包遺失對解碼影響不大,因此我們 將 I, P, B1, B2 的增強層封包對應到 AC1 , 並參考 [13] 的 dropping 演算法 將 B3 的增強層與 background traffic 對應到 AC0。下圖 4-3 為我們提出的跨 層可調性視訊傳輸架構 (Cross-layer Arch.)。
11
圖 4-3 跨層可調性視訊系統架構 (Cross-layer Arch.)
4.4 動態優先權調整機制
如表 4-2,對應演算法 (Mapping Algorithm)將不同的 NAL Units 依據其重 要性對應到不同的存取類別等待傳輸機會。若編碼控制資訊 (Parameter Set, SEI) 與基礎層 (I, P, B) 封包遺失就會造成無法順利解碼,將之對應到 AC2。
至於增強層 (PR-slice) 若封包遺失對解碼影響不大,增強層二 (PR2) 需要基 礎層與增強層一 (PR1)才能正確解碼 [20],因此我們將增強層一 (PR1) 封包 對應到 AC1,增強層二 (PR2) 對應到 AC0。
12
圖 4-4 IEEE802.11b PHY 不同的距離能產生的吞吐量
事實上,在 IEEE 802.11 無線網路中實體層有使用 Link Adaptation[21] 的 機制,會依傳送端與接收端不同的傳輸距離與訊號強度等因素自動選擇適合的 傳輸速率,進而提供不同的頻寬達到網路不同的吞吐量,如圖 4-5,當提供的 頻寬不足所有的 AC 傳送封包時,多個 AC 的競爭會使較高優先權的 AC 沒 有足夠的機會將封包送出,封包會停留在佇列 (Queue) 中,若此時此 AC 的 Queue 已放滿封包,更多的封包無法進入,無法進入的封包就會遺失。如圖 4-6,對應演算法將基礎層封包對應到 AC2,基礎層遺失後影片會無法順利解 碼與播放。
圖 4-5 基礎層封包遺失
不同 EDCA Parameter 的 Arbitration Interframe Space (AIFS)設定會產生
13
不同的優先權 [23],且對優先權的影響較 Contention Window 大,而根據 802.11e Standard [3] 的描述, AIFS 修改 的 範圍為 50microsecond 至 310 microsecond,因此若能在不同的頻寬時透過調整 AIFS 的方式讓優先權較高的 AC2 有更多機會送出封包,就可以確保較重要的基礎層封包不會遺失,頻寬 許可時更進一步送出增強層封包,如此能得到比不使用動態調整優先權的方式 更好的影像播放品質。如下圖 4-6,我們提出的跨層可調性視訊傳輸架構 (Cross-layer Arch.)。
圖 4-6 跨層可調性視訊系統架構 (Cross-layer Arch.)
我們提出了動態優先權調整機制,由於實體層提供的頻寬會影響停留在 AC 的 Queue 中封包的數量及 Queue 空間的使用量,因此可從 Queue 空間的 使用量得知網路頻寬是否足夠、是否有封包將要遺失。我們於 AC2 與 AC1 的
14
AC1 Threshold (4/5 Queue Size) AC2 Threshold1 (1/2 Queue Size)
AC2 Threshold2 (4/5 Queue Size)
圖 4-7 Threshold 與狀態
15
不遺失,若有機會再讓 AC1 增強層一送出,犧牲 AC0 增強層二。
當狀態為 WH 時,表示現在頻寬非常不足,系統唯一能做的就是將 AC1 增強層一與 AC0 增強層二的 AIFS 設成最大值,以保全 AC2 基礎層不要遺失。
透過動態優先權調整機制,當頻寬充足時除了讓基礎層被送出,也讓增強 層有更多機會被送出以得到更好的播放品質。當頻寬不足時則確保基礎層不會 被遺失,影片可以被正確解碼播放。
16