• 沒有找到結果。

可調視訊編碼多層編碼控制的快速演算法理論的位元與失真關係函數初步分析

N/A
N/A
Protected

Academic year: 2021

Share "可調視訊編碼多層編碼控制的快速演算法理論的位元與失真關係函數初步分析"

Copied!
70
0
0

加載中.... (立即查看全文)

全文

(1)

多媒體工程研究所

可調視訊編碼多層編碼控制的快速演算法:理論的位

元與失真關係函數初步分析

Fast SVC Multi-Layer Encoder Control: Preliminary Results on

Theoretical Rate-Distortion Function

研 究 生:蔡閏旭

指導教授:彭文孝 教授

(2)

可調視訊多層編碼控制快速演算法:位元與失真關係函數初步理論分析

Fast SVC Multi-Layer Encoder Control: Preliminary Results on

Theoretical Rate-Distortion Function

研 究 生:蔡閏旭 Student:Ruen-Shiu Tsai

指導教授:彭文孝 Advisor:Wen-Hsiao Peng

國 立 交 通 大 學

多 媒 體 工 程 研 究 所

碩 士 論 文

A Thesis

Submitted to Multimedia Engineering College of Computer Science National Chiao Tung University in partial Fulfillment of the Requirements

for the Degree of Master

in

Computer Science

June 2010

Hsinchu, Taiwan, Republic of China

中華民國九十九年九月

(3)

iii

可調視訊多層編碼控制快速演算法:位元與失真關係函數初步理論分析

研 究 生:蔡閏旭 指導教授:彭文孝

國立交通大學多媒體工程研究所 碩士班

以可調整視訊編碼(SVC)之架構為基礎,本論文闡釋一個多層編碼控制下的快速演 算法。由於傳統由下至上編碼控制的增進層所利用的基層資訊,其適用性不一,相較於 單一層編碼會有不對稱的編碼效能損失,而多層編碼控制能在基層和增進層之間的編碼 效能做權衡,此編碼方法在先前就被提出。而我們先前的研究,修正了多層編碼控制的 公式,使編碼效能更具有可預測性。由於多層式編碼控制的編碼速度過於緩慢,本論文 沿用之前的公式,利用時間性資訊和隨編碼內容更新的特性,提出了一個兩段式的快速 演算法。根據實驗結果,本快速演算法和徹底式搜尋的比較之下,減少了平均 71~79% 的時間,且在編碼品質上無太多失真。此外,實驗結果也顯示,本論文提出的快速決策 演算法和過去的快速決策演算法相比較,更接近徹底式搜尋的編碼效能,顯得更具有穩 定性。 另外,鑑於過去的快速決策演算法通常以統計學為基礎進行分析,缺乏理論依據。 我們以 H.264/AVC 和 SVC 為基礎,提出了位元配置和失真之間的關係公式,並對 Mode Decision 的影響因素進行理論分析。期待未來可以應用到多層編碼控制。本研究目前還 在探索階段。

(4)

iv

Fast SVC Multi-Layer Encoder Control: Preliminary Results on

Theoretical Rate-Distortion Function

Student : Ruen-Shiu Tsai Advisor : Wen-Hsiao Peng

Institute of Multimedia Engineering

National Chiao Tung University

ABSTRACT

In this thesis,a fast mode decision for SVC multi-loop encoder control is proposed based on statistics analysis. In conventional bottom-up encoder control,enhancement layer(EL) coding is characterized by its uneven distribution of rate-distortion loss relative to single-layer coding. for trading off the coding efficiency of the base layer and the enhancement layer,a multi-layer encoder control method was proposed. In our previous study,a modified scheme of multi-layer encoder control is presented to provide a new decision criterion which are more predictable and consistent with different choices of the weighting factor. Continuing from previous study,we proposed an two-stage and context-adaptive algorithm with the help of temporal information. Experimental results show that proposed fast mode decision algorithm can save approximately 71~79% of total encoding time compared to conventional multi-layer encoder control,with only little degradation in the rate-distortion performance. The results also show that the proposed algorithm is more stable and,because the RD- performance is closer to exhaustive search.

Described below and above are independent,n this thesis,we also study the theoretical analysis of mode decision. Previous fast mode decision is usually based on statistics analysis rather than theoretical analysis. We study the theoretical analysis of mode decision for H.264/AVC and SVC,propose a formulation between bit allocation and distortion,and add the factors of mode decision .Look forward to extending to multi-layer encoder control. This research is in progress

(5)

首先我要感謝我的指導教授—彭文孝 博士,一次次給予我在學問研究上的精闢指導, 讓這篇論文得以漸趨完整。彭老師凡事追求卓越的精神,對於研究問題深入剖析的嚴謹 態度,以及細心與耐心的指導方式,讓我在這兩年的研究生涯中受益良多。在此謹向我 的老師致上無限的敬意。 其次,這篇論文可以完成,也要感謝交大這個大環境,我要感謝林哲永學長在我的 研究上擔任了啟蒙的指導,不僅在 H.264 和 SVC 上的專業領域,不辭辛勞的與我討論, 更在一開始的研究實作上給予許多珍貴的意見,並且能適時從旁給予建議修正我已偏差 的研究方向,使我在這兩年的碩士生涯,不再舉步維艱。謹此致上由衷的謝意。 有榮幸進入 MAPL 實驗室,能夠有熱心與親切的實驗室成員們的切磋與討論,是我 在碩士時期最充實的時光。我要感謝其餘的學長姐們—陳渏紋 博士、陳俊吉 博士、與 詹家欣 博士 陳建穎,一步步帶領我進入這個專業的領域;感謝我的好同學們王澤瑋、 楊復堯、與吳思賢,不論是研究上或是生活上,他們總是給予我最直接的協助以及苦樂 分享;感謝我的學弟妹吳崇豪、曾于真、黃嘉彥、李宗霖與陳孟傑,在論文撰寫和實驗 數據整理方面上,幫了我很大的忙,在研究思維上我最要感謝的是王澤瑋和吳崇豪,給 了我許多寶貴意見,在實驗和整理資料上最感謝曾于真和黃嘉彥,口試前這兩個月內給 予了許多無私的協助。 最後,我要感謝我的父母—蔡智暾 先生、賴惠丹 女士的栽培,在爭取碩士學位的 路上,給予精神上的支持和適度的溫暖,能夠專心的在研究領域上打拼。感謝我的姊姊— 蔡明秀,分擔家計使我無後顧之憂,。感謝我的女友—陳郁欣,畢業前夕分擔我的情緒、 對我體諒與關心,讓我在孤獨的研究之路上的最低潮時,還能夠感受到一絲溫暖。感謝 你們一路的陪伴打氣與支持,在此僅將這篇論文獻給各位,謝謝你們!

(6)

ii

目錄

目錄

目錄

目錄

目錄 目錄目錄 目錄 ………II I 圖表目錄 圖表目錄圖表目錄 圖表目錄 ………..………IV 表格目錄 表格目錄表格目錄 表格目錄 ……….….…V CHAPTER 1. INTRODUCTION ... 1 1.1. BACKGROUND ... 1 1.2. PROBLEM STATEMENT ... 5 1.3. CONTRIBUTION ... 6 1.4. ORGANIZATION ... 6

CHAPTER 2. SVC ENCODER CONTROL ... 7

2.1. INTRODUCTION TO SVC ... 7

2.1.1 Concept ... 7

2.1.2 Inter-Layer Prediction ... 8

A. Inter-Layer Motion Prediction ... 9

B. Inter-Layer Intra-Prediction ... 9

C. Inter-Layer Residual Prediction ... 9

2.2. SVCENCODER CONTROL ... 10

2.2.1 Bottom-up Encoder Control ... 10

2.2.2 Multi-layer Encoder Control ... 11

A. Schwarz’s MLEC ... 11

B Lin’s MLEC ... 12

2.3. COMPARISON AND SUMMARY... 13

CHAPTER 3. FAST MODE DECISION ALGORITHM FOR SVC MULTI-LAYER ENCODER CONTROL ... 14

3.1. ANALYSIS OF MODE DISTRIBUTION ... 16

3.1.1. Mode Distribution in MLEC ... 16

3.1.2. Update of Mode Distribution Probability ... 24

3.2. PROPOSED FAST MODE DECISION ALGORITHM ... 25

3.3. SUMMARY... 27

CHAPTER 4. EXPERIMENTS AND ANALYSES... 28

(7)

iii

4.2. COMPARISON OF FAST MODE DECISION ALGORITHMS... 29

4.2.1 Experiment 1 ... 29

4.2.2 Experiment 2 ... 33

4.2.3 Experiment 3 ... 36

CHAPTER 5. THEORETICAL ANALYSIS ON SVC RATE-DISTORTION FUNCTION ………...38

5.1. THEORETICAL MODEL ... 38

5.1.1. Theoretical R-D functions of Single-Layer Hybrid Coding ... 38

5.1.2 Theoretical R-D functions of Multi-Layer Hybrid Coding ... 46

5.2. THEORETICAL DATA AND MODEL ANALYSIS ... 50

5.2.1 Experiment 1 ... 51 5.2.2 Experiment 2 ... 53 5.2.3 Experiment 3 ... 55 5.2.4 Experiment 4 ... 56 5.2.5 Experiment 5 ... 57 CHAPTER 6. CONCLUSIONS... 59 BIBLIOGRAPHY ... 60

(8)

iv

圖表目錄

圖表目錄

圖表目錄

圖表目錄

Figure 1.1 The definition of MB Pair (from Lin’s thesis) ... 1

Figure 1.2 Schwarz’s 的快速演算法在選擇的快速演算法在選擇的快速演算法在選擇的快速演算法在選擇 Dominant Mode Pair 時的規則時的規則時的規則時的規則 .. 2

Figure 1.3 Lin 的快速演算法在選擇的快速演算法在選擇的快速演算法在選擇的快速演算法在選擇 Dominant Mode Pair 時的規則時的規則時的規則時的規則 ... 3

Figure 1.4 所提出快速演算法在選擇所提出快速演算法在選擇所提出快速演算法在選擇 Paired mode 時的規則所提出快速演算法在選擇 時的規則時的規則時的規則 ... 5

Figure 2.1 Multi-layer structure with Inter-Layer Prediction for spatial and temporal scalable coding [1] ... 7

Figure 2.2 The flowchart of Inter-Layer Prediction Mechanism (from Lin’s thesis) ... 8

Figure 3.1 演算法概觀流程圖演算法概觀流程圖演算法概觀流程圖演算法概觀流程圖 ... 15

Figure 3.2 Directly stored modes in the enhancement layer ... 17

Figure 3.3 EL 在不同的在不同的在不同的在不同的 TMS 時時時時 Mode Decision 為為 Skip mode 的機率為 的機率的機率的機率 ... 19

Figure 3.4 EL 在不同的在不同的在不同的在不同的 TMS 時時時時 Mode Decision 為為 Inter16x16 的機率為 的機率的機率的機率 ... 20

Figure 3.5 EL 在不同的在不同的在不同的在不同的 TMS 時時時時 Mode Decision 為為 Inter16x8 的機率為 的機率的機率的機率 ... 20

Figure 3.6 EL 在不同的在不同的在不同的在不同的 TMS 時時時時 Mode Decision 為為 Inter8x16 的機率為 的機率的機率的機率 ... 21

Figure 3.7 EL 在不同的在不同的在不同的在不同的 TMS 時時時時 Mode Decision 為為 Inter8x8 的機率為 的機率的機率的機率 ... 20

Figure 3.8 EL 在不同的在不同的在不同的在不同的 TMS 時時時時 Mode Decision 為為 BLSkip 的機率為 的機率的機率 ... 22 的機率 Figure 3.9 EL 在不同的在不同的在不同的在不同的 TMS 時各種時各種時各種時各種 mode 的機率的機率的機率的機率 ... 22

Figure 3.10 Macroblock accumulate probability in total sequence of each temporal mode score ... 23

Figure 3.11 更新假想個數示意圖更新假想個數示意圖更新假想個數示意圖更新假想個數示意圖 ... 24

Figure 3.12 演算法的流程示意圖演算法的流程示意圖演算法的流程示意圖演算法的流程示意圖 ... 25

Figure 4.1(a)(b)(c)(d)各種各種各種各種 weight 之下的之下的之下的 hit ratio ... 35 之下的 Figure 4.2 The Rate-PSNR curve of QCIF sequence ... 37

Figure 4.3 The Rate-PSNR curve of 4CIF sequence ... 37

Figure 5.1 Inter Prediction 的的 residual signal 編碼流程圖的 編碼流程圖編碼流程圖編碼流程圖 ... 39

Figure 5.2 H.264/AVC 中中中中 residual signal 取得方法示意圖取得方法示意圖取得方法示意圖取得方法示意圖 ... 40

Figure 5.3 倒水定理概念圖倒水定理概念圖倒水定理概念圖倒水定理概念圖 ... 43

Figure 5.4 SVC 中中 Inter-Layer Residual Prediction 示意圖中 示意圖示意圖 ... 46 示意圖 Figure 5.5 Rate-PSNR curve ... 51

Figure 5.6(a)(b)(c)在在在在 BL mode 固定之下不同固定之下不同固定之下不同 EL mode 的固定之下不同 的的的 R-D 效能效能效能效能 ... 53

Figure 5.7(a)(b)(c)(d)BL 和和和和 EL mode 在各種組合之下實行在各種組合之下實行在各種組合之下實行 Inter-Layer Residual 在各種組合之下實行 Prediction 的的 Rate-PSNR curve ... 55 Figure 5.8(a)(b)(c)(d)不同不同不同不同 QPD 之下的之下的之下的之下的 Rate-PSNR curve ... 56

(9)

v

表格目錄

表格目錄

表格目錄

表格目錄

Table 3.1 test mode condition ... 15

Table 3.2 test video sequence ... 16

Table 3.3 training sequence ... 16

Table 3.4 location score in reference frame ... 17

Table 3.5 mode score ... 17

Table 3.6 Example ... 17

Table 3.7 BL&EL mode 的配對的配對的配對的配對 ... 25

Table 4.1 :測試條件測試條件測試條件 ... 28 測試條件 Table 4.2 frame rate = 3.75 BL, EL QP = 28, 22 average ... 30

Table 4.3 frame rate = 3.75 BL, EL QP = 34, 28 average ... 31

Table 4.4 frame rate = 3.75 BL, EL QP = 40, 34 average ... 32

Table 4.5 frame rate = 15 .. BL, EL QP = 34, 28 ... 33

Table 4.6 frame rate = 7.5 BL, EL QP = 34, 28 ... 34

Table 4.7:各種條件之下各種條件之下各種條件之下各種條件之下,,,,testing sequence 的平均的平均的平均的平均 Time Saving ... 36

Table 5.1 symbol definition ... 39 Table 5.2 :實際資料測試條件實際資料測試條件實際資料測試條件 ... 50 實際資料測試條件

(10)

Chapter 1. Introduction

1.1. Background

考慮多變容量的不同設備,和各類型網路所傳遞的視訊內容,在許多應用中可調性 已經是很重要的性質,基於這個理由,Joint Video Team (JVT)以 H.264/AVC 為基礎,標 準化了 Scalable Video Coding (SVC)[1],SVC 支援了在單一的 Bitstream 中擁有 spatial, temporal,SNR 和它們組合起來的可調性,且此 Bitstream 可只具備其中幾樣特性,如只 有解析度或畫質的差別。空間和畫質的不同可以在不同層間展現,而時間性是以一種有 等級制的方法表現,這點和 H.264/AVC 幾乎是一樣的。因為一次編碼多層可以使 Rate 有適當的減少,且依然維持理想的畫質,SVC 提供了具適應性層與層間猜測的方法 (Inter-Layer Prediction Mechanism) , 此 方 法 可 以 盡 可 能 的 重 複 使 用 較 低 層 資 訊 。

Figure 1.1 The definition of MB Pair (from Lin’s thesis)

(11)

2

為了決定基層(Base Layer, BL)和增進層(Enhancement Layer, EL)的mode,Joint Scalable Video Model (JSVM)[2]採用一種由下到上編碼方法(Bottom-up Encoder Control, BUEC)。這方法是在決定BL的編碼方式時,只有考慮BL的內容而不考慮較高的EL,同 理,較低的EL在決定編碼方式時,不會考慮到較高的EL。由於BUEC具有比單一層編碼 (Single-Layer Coding)較無法預期或不規則的Rate-Distortion (R-D),通常較高的EL會比較 低層有更多的編碼損失,像是Distortion,是由於BUEC以循序的方式進行Mode Decision 而導致這樣的結果。

想解決上一段所描述的問題,Schwarz et al. [3]提供了一種可以在BL和EL間給予適 當權重的方法,稱之多層編碼控制(Multi-loop Encoder Control, MLEC),在做分割分式的 決定時,BL使用權重式的Lagrangian成本決策方法。就如Figure 1.1顯示的,在MLEC做 分割方式決策時的基本單位是一對Macroblock (MB)的組合,分別來自BL和EL相對位置 的MB,對於每一對MB Pair,它們的分割方式有BL和EL分割方式的Cartesian Product組, 一共有56組Mode Pair,比起BUEC這明顯是很大的計算量,所以對MLEC來說,一個好 的快速決策演算法就顯得必要。 為了減少編碼時間,在H.264/AVC和SVC中已經有為數不少的快速演算法被提出。 H.264中,Kannangara et al.[12]基於所提出的Lagrangian Cost函數判斷是否及早決定編碼 為Skip mode,Kim et al.[13]利用current MB的資訊計算出三種特性,用這些特性及早決 定編碼為Intra或Inter mode,Kim et al.[14]以reference frame中co-located mode決定current mode的candidate mode,Ri et al.[15]同時以spatial和temporal的mode決定current mode的 candidate mode。而SVC中,像是Yeh et al.[16]中利用BL co-located mode和EL周圍mode來 預測current mode,並提出一套及早決定mode的判斷方式,Kim et al.[17]用BL中co-located MB和其周圍MB,對不同的mode和所在位置給於適當的權重計算出一個值,並同時利 用這值和BL mode一同決定candidate mode。

(12)

3

目前根據 MLEC 所設計的快速演算法非常少,其中以 Schwarz et al.[3]所提出的快 速演算法為主。其做法是當 BL 的 MB 做 Mode Decision 時,每一個 mode 都會有一個 EL 的 mode 做為配對,此種配對稱為 Dominant Mode Pair (DMP)。配對方法是當 BL 選 擇 Inter/Intra 的 mode 時,EL 選擇 BLskip/IntraBL 做為預測(如 Figure 1.2),然後 BL 利 用這組配對去計算 R-D cost,並選擇 R-D cost 最小的做為 BL 的 mode。最後在 EL 中對 應的 MB,再根據 BL 選定好的 mode 去做徹底式搜尋,找出 R-D cost 最小的 mode 做壓 縮。但此方法存在一些嚴重的問題: I. 在[3]中所提的MLEC多目標最佳化問題中,其限制會因為權重的設定而改變。而這 限制的改變將會在權重較高的情況下,造成不理想的R-D performance。詳細內容會 在2.2.2(A)提及。 II. 在選擇BL中每一個MB的mode時,都是使用Figure 1.2中的7組配對組合去做計算, 並不會依照sequence的特性做調整。這種配對方式太過於單調,不具任何可調性。 III. 此7組配對只是所有配對模式中的一部分,所以此配對模式與實際的編碼模式可能 並不相同。若我們利用此方法去預測EL的mode,可能與實際的mode差異太大,因 此會導致BL在做Mode Decision時出現錯誤,若再用此錯誤的mode去找EL中的,將 會造成不可預期的嚴重失真。

IV. 此演算法雖然是根據MLEC去設計,但卻沒有考慮權重(weighting)對Mode Decision 的影響。因為在不同權重時,並不會改變BL在選擇mode時所需計算的7組配對。

Figure 1.3 Lin 的快速演算法在選擇 Dominant Mode Pair 時的規則

(13)

4

為了解決Schwarz et al.[3]所提出快速演算法的問題,Lin et al.也提出了一套快速演 算法。然而在Lin的演算法中,針對上述的問題修正以下幾點:

I. 修正了[3]中所提出的MELC多目標最佳化問題,改善了權重因子對限制的影響,詳

細內容將在2.2.2.的(A)提及。

II. 修正了[3]中BL在做Mode Decision時,不會隨權重改變而有不同配對計算的問題。 而且也增加DMP的配對組合,使演算法稍具可調性。此修正如Figure 1.3所示,BL 在權重小於0.5時,其在EL的配對都為skip;在權重大於等於0.5時,其配對有Inter 16x16和BLskip。而且配對的mode不僅只有BLskip和IntraBL兩種。

(14)

5

1.2. Problem Statement

雖然 Lin 所提出的演算法改善了[3]所存在的問題,並且擁有較好的 R-D 效能,但上 述部分的問題仍然存在著。沒解決的問題是: I. 在選擇BL mode時,仍然只有少數的配對組合可以做計算。 II. 依然不能隨sequence的特性,做不同的配對組合。 III. 在分析時依然缺乏理論依據。 因此在本論文中,繼續針對這些問題,再次提出一套新的快速演算法來解決。然而 新的演算法主要是 EL 利用時間(temporal)的特性,先將 EL 中 MB 的 mode 預測出來, 再利用此預測的 mode 做為 BL 中 MB 的配對。如 Figure 1.4 所示,Paired mode 是利用 前一張畫面的資訊,預測出一個最可能實施的 mode 做為 BL modes 的配對。此種做法 和先前 Schwarz 和 Lin 所提出的方法有很大的差異,沒有所謂的 DMP 概念,因為不同 的 MB 所要計算的配對組合並不會一樣,不用很單調的只計算少數的配對組合。利用此 演算法能提高預測 EL mode 的正確性,再用這個 EL 的預測結果去選擇 BL 的 mode,也 可得到更準確的結果。而且在此演算法中,也提出了一個能隨 sequence 的特性而選擇不 同配對的方法,詳細做法在 Chapter 3 會提及。 (a)利用temporal資訊示意圖 (b)選擇配對的mode示意圖 Figure 1.4 所提出快速演算法在選擇 Paired mode 時的規則

(15)

6

另外,由於目前大多數演算法在進行分析時都是以統計學為立論,缺乏理論依據, 所以試圖模擬Block-Based Hybrid Video Coding的編碼過程,以各種有理論根據的model 進行假設,加入各式各樣可能影響Mode Decision的因素進行分析,觀察model是否能夠 產生和實際情況類似的趨勢,如果在大多數情況都可以符合實際情況,那將來就可以利 用這些model進行Mode Decision的因素分析,產生新的Mode Decision因素。

1.3. Contribution

具體的說明在這次工作中我們主要的貢獻,有以下幾點:

 提出了一套新方法決定配對的 mode,當 BL 要決定 mode 時,在 EL 利用 temporal 資訊計算出一個值,並在這值對應的 mode 機率中,找出機率最大的 mode 成為配 對的 mode。

 提出了一套更新機制,可依編碼內容調整 EL 配對的 mode,在 frame level 進行更新, 使 R-D 效能更接近徹底式搜尋,更具備穩定性。

 推導出 Single-Layer 和 Multi-Layer 的 Rate-Distortion Function,並對這 model 進行 觀察分析,試圖找出這些因素變化時對 Mode Decision 的影響,並和實際資料比較, 幫助未來在設計演算法時可以有新思維,其內容在 Chapter 5,此研究目前還在探索 階段。

實驗結果顯示我們所提供的快速演算法,除了能維持和 BUEC 差不多的時間外,和 徹底式搜尋(Exhaustive Search)比較,平均約 72%~78%的 time saving,和幾乎一致的 R-D 效能,而 Lin’s 快速演算法約 73%~81%的 time saving,Lin’s 演算法第二個步驟改用完 整式搜尋約 71%~79% time saving,Schwarz’s 快速演算法約 74~82 % time saving,在時 間上來說差不多。但是觀察 R-D 時,Schwarz’s 快速演算法明顯 Rate 所需增加許多,而 本論文提出之演算法和 Lin’s 演算法的平均 Rate 都增加 1%以內,PSNR 減少 0.1db 之內, 但本論文所提出之演算法明顯更具穩定性,實驗數據可參考 Chapter 4.

1.4. Organization

本篇論文的組成如下,Chapter 2 描述 RDO 的問題公式,包含 BUEC 和 MLEC。 Chapter 3 呈現本論文所提供快速演算法,Chapter 4 提供了軟體模擬的運算結果和與其 他演算法比較,Chapter 5 內容為 Mode Decision 理論分析,但目前還在探索階段,最後, Chapter 6 給一些總整理及觀察結論,和未來可以實行的工作。

(16)

Chapter 2. SVC Encoder Control

2.1. Introduction to SVC

2.1.1 Concept

Scalable Video Coding (SVC) 發展出來的標準,使其具有可調性 的ELs所組成,其中包含了幾種可調性 SVC支援三種型態的可調性:

I. 空間可調性(Spatial Scalability): Inter-Layer Prediction (ILP)

II. 時間可調性(Temporal Scalability): III. 畫質可調性(Quality Scalability)

 粗質畫面可調性(Coarse 空間可調性的特例,  中質畫面可調性(Medium

提供了畫質精細層,

Figure 2.1 Multi-layer structure with

7

SVC Encoder Control

Introduction to SVC

Scalable Video Coding (SVC)是Joint Video Team (JVT)以H.264/AVC

使其具有可調性。一個SVC Bitstream是由一個BL和一個或一個以上 其中包含了幾種可調性,且可以截取一部份的Bitstream產生較低的畫質 : (Spatial Scalability):不同解析度的層之間的相關性是經由具適應性的 (ILP)技術來實現。 (Temporal Scalability):在每個層都提供了多層次的時間預測結構 (Quality Scalability)在SVC中提供了兩種方法。

(Coarse-grain Quality Scalable Coding, CGS): ,BL和EL具有相同的解析度。

(Medium-grain Quality Scalable Coding, MGS): ,且允許以封包為基礎的畫質可調性。

ayer structure with Inter-Layer Prediction for spatial and temporal scalable coding [1] H.264/AVC為基礎的延伸 和一個或一個以上 產生較低的畫質。 不同解析度的層之間的相關性是經由具適應性的 在每個層都提供了多層次的時間預測結構。 CGS): 可以被視為一種 MGS):在每個空間層中

(17)

8

SVC 跟隨同樣用在 H.261 MPEG-2 Video,H.263,和 MPEG-4 Visual 的傳統多層編 碼方法,每一個層都被交付一個相依的識別碼 D。BL 的相依識別碼被設定為 0,每多一 個層,識別碼就增加 1。為了改善編碼效能,添加了 Inter-Layer Prediction Mechanisms 的方法,在 Figure 2.1.有介紹。一個 access unit 被一段時間內的內容所組成,可能涵蓋 多個層的內容,可能包含不同的解析度。因較高層和較低層的 frame rate 可能不同,所 以較低層 frame 並不需要包含在所有的 access units 中。

Figure 2.2: The flowchart of Inter-Layer Prediction Mechanism (from Lin’s thesis)

2.1.2 Inter-Layer Prediction

為了改善EL的Rate-Distortion效能,發展了Inter-Layer Prediction,其目的是為了盡 可能的利用較低層的資訊,一般而言,為了改善EL編碼效能,Inter-Layer Prediction依然 需要和H.264/AVC中已有的mode比較。兩個Inter-Layer Prediction的觀念被加入在SVC中  預測MB的mode和動態參數。  預測剩餘訊號。

Fig. 2.2顯示了Inter-Layer Prediction機制的流程。在接下來的內容中,會以流程圖的 方式介紹三個Inter-Layer Predictions機制。

(18)

9

A. Inter-Layer Motion Prediction

當被參考層的MB是Inter-coded,且EL MB也是Inter-coded。在這案例,EL MB可能 直接利用BL相對位置的MB的MV做為自己的MV,稱為Inter-Layer Motion Prediction。在 Inter-Layer Motion Prediction,SVC包含兩種不同實作方式:

BLSkip Mode:

是SVC中的一個新的mode type,在流程圖Figure 2.2中的path 2。在BL也是使用 Inter coded的情況下,一個被稱為base mode flag的syntax element能表示是否使用這種 mode。對於此mode type,所有的動態資訊(motion information)都從BL取得;只有剩餘 訊號需要被傳輸,其他的資訊像是Inter Prediction modes或動態參數則直接取用BL 的。

Inter-Layer Motion Prediction:

當base mode flag等於0,且motion prediction flag等於1,就是流程圖Figure. 2.2. 中的path3。對於此mode type,EL的Motion Vector Predictors (MVP)是從BL而來,EL 的參考索引也是從BL而來。

B. Inter-Layer Intra-Prediction

當base mode flag等於1,且相對應的參考層是Intra-coded,這時的MB預測方式是流 程圖Figure. 2.2的path 1,使用了參考層重建後的Intra-signal,做為現在的MB的預測值。 此方法在Inter-Layer Prediction中被稱為IntraBL。

C. Inter-Layer Residual Prediction

有一種flag被稱為residual prediction flag,被添加在EL的MB syntax,在流程圖Figure. 2.2的底部,表示了是否使用Inter-Layer Residual Prediction。它可以被運用在H.264/AVC 本來就有的MB型態,也適用在SVC中新的MB型態,當residual prediction flag等於1時, 參考層中對應位置MB的剩餘訊號可以幫助現在MB的預測,使只有剩餘訊號的差值需要 被EL所編碼。

(19)

10

2.2. SVC Encoder Control

SVC中的Inter-Layer Prediction支援一次動態搜尋(Motion Compensation, MC)迴圈的 單一迴圈的編碼,較低層圖片可以不用完全重建。而以往SVC中,編碼通常需要多迴圈 的編碼,相較於單一迴圈的編碼,多了將參考層的residual signal解碼再實行Residual Prediction的動作,來避免編碼和解碼重建時照成的錯誤累積。 SVC的編碼控制,是以bottom-up process的方法,也就是BL會先於EL編碼。和單一 層的H.264/AVC比較起來,EL通常會有不穩定的失真和編碼損失。bottom-up process將 在Section 2.2.1.中介紹。在MLEC的R-D最佳化問題,可以在BL和EL之間的編碼效能做 權衡,通常可以改善畫質可調性的效能,之後在Section 2.2.2中介紹,雖然MLEC的最佳 化可以在BL和EL之間做權衡,但是它的計算時間明顯更多。

2.2.1 Bottom-up Encoder Control

JSVM [2]編碼控制內所描述的,就是在決定如何編碼時,先從最底層的開始決定, 循序一層一層的往上。而該如何編碼的問題可以被公式化成以下多目標最佳化問題: min Di(pi|pi−1...p0) s.t. (2.1) R0(p0) + R1(p1|p0) + …+ Ri(pi|pi−1...p0) ≤ Rci Di和Ri分別表達JSVM中第i層的Distortion和Rate,Rci表示第i層的最大限制Rate。對於每

個access unit,首先,BL的編碼參數p0決定了接下來的widely-used Lagrangian approach,

p0 = arg min D0(p0) + λ0 · R0(p0) (2.2) {p0}

不會受到ELs的影響,各自的表達了在選擇p0參數向量後的Distortion和Rate,λ0是

Lagrange multiplier,它的選擇是基於所選擇的量化參數QP0,和BL相同,在每個EL的編

碼參數pi是經由下面式子決定

Min Di(pi|pi−1...p0) +λi ·Ri(pi|pi−1...p0) (2.3) {pi|pi−1...p0}

若要決定ELi的參數,需要較低層參數pi-1 to p0 都已經給定。當BL的編碼效能和單一層

編碼一樣的時候,ELs的編碼通常會有些失真,因為選擇BL的編碼方式,通常只是針對 BL做最佳化而不見得適用於EL的編碼。EL重複利用BL的編碼方式的效果有限,基於這 個理由而權衡EL和BL的編碼效能,而這個方法將會在下面小節所提及。

(20)

11

2.2.2 Multi-layer Encoder Control

A. Schwarz’s MLEC

Explicit Bit Allocation (EBA),是可以權衡動態資訊(motion information)和剩餘資訊 (residual information)的方法,可以在[5]閱讀到所有資料。EBA的特性是位元可以在不同 的區域根據關係強度作位移,使得整個視覺畫質可以被最佳化。從此觀點,在BL和EL 之間的R-D效能可以視為兩個不同的區域,而在這兩個區域之間做權衡可以視為在SVC 中的一個EBA問題,EBA問題將在以下介紹,也會討論發展MLEC的公式的理由。 為了克服BUEC的缺點,有一種編碼方法稱為EBA,而EBA在做畫質可調性的情況 下,同時選擇BL和EL最佳化編碼參數的方法已經在[3]中被提出了。在不失一般性的前 提下,修正了編碼的控制方法,這裡的公式只以兩個層的型態來描述;但是仍然可以很輕 易的把兩個層的型態轉成很多層的型態。在兩個層的型態,所有BL的決策都是以下面的 式子為基礎,最小化下面的權重函數: Min (1 − w) · (D0(p0) + λ0 · R0(p0)) {p0,p1|p0} + w· (D1(p1|p0) + λ1 · (R0(p0) + R1(p1|p0))) (2.4) Eq. (2.4)的第一項和第二項是從BUEC調整過來的,表示在BL和EL之間給於權重。 權重因子w  [0; 1],控制著BL和EL之間的權衡。為了讓R-D效能在w=0時可以表現出 BUEC的效能,BL再做決策時是以最小化Eq. (2.4)為基礎,但是EL在做決策時卻是以Eq. (2.3).為基礎,也就是回歸了BUEC。當w = 1時,BL的參數只針對EL的參數最佳化,而 沒有考慮到BL的資訊。Pi可以視為在第i層中相對位置的MB在決定好mode後的編碼參數,

換個角度看,也可以被視為在做Motion Estimation後第i層Mode Decision的MV參數。 MLEC的動態偵測過程在Schwarz et al. in [3]中已有簡單的描述。對於Eq. (2.4),要最小 化Cartesian product space的參數P0和P1。MLEC的問題可以被轉換成以下敘述的多目標最

佳化問題:

min(1 − w)D0(p0) + wD1(p1|p0)

s.t.

(1) (1 − w)  (R0(p0))  RB

(21)

12 RB是BL所限制的最大Rate,而RE是EL所限制的最大Rate。在Eq. (2.5)中(2)的限制在 w = 0時沒有極限,但在接近1時收斂到RE。這目標和限制會隨權重因子的不同而改變。 但是我們直覺的認為應該修正此目標函數。因為這樣的限制並不直觀,使得在一些權重 較高的例子得不到預期中的R-D效能,照成了不可預期的結果。 為了避免照成不可預期的R-D效能,Lin以原始公式為基礎,做適度的修正,以另一 個公式表達MLEC想解決的問題,提出一個新的決策標準。在下一個小節中將會詳細的 說明這些細節;另外同樣是MLEC的[7]中,也有對Motion Estimation/Mode Decision的式子 做出修正的例子。

B Lin’s MLEC

因為Eq. (2.5)的多目標限制會因為w的變化而有改變,為了避免此問題,Lin et al.為 了MLEC發展了另一個RDO式子。在這個兩層的機制中,所提出的MLEC問題可用接下 來的多目標最佳化問題公式化: min(1 − w)D0(p0) + wD1(p1|p0) s.t. (1) R0(p0) ≤ RB (2) R0(p0) + R1(p1|p0) ≤ RE (2.6)

Di和Ri分別是是第i層的失真度和Rate,RB是BL的目標Rate,RE是EL的目標Rate,權

重因子w [0;1]控制BL和EL間的編碼效能。在此方程式中,權重因子w並不包含在Rate 的最佳化問題的限制中,但是權衡BL和EL的特性依然是存在的。如此一來,這MLEC 的問題將可以避免因權重因子改變而影響到BUEC的R-D效能限制。因此,在決定BL和 EL的mode時就以下面修正過的R-D cost函數為基礎: Min (1 − w) · D0(p0) + λ



0 · R0(p0) (2.7) {p0,p1|p0} + w·D1(p1|p0) + λ



1 · (R0(p0) + R1(p1|p0)) 在這最小化的過程中,EL並不用Eq. (2.3).來進行mode決策,Di(pi)和Ri(pi)表示了所 選擇參數向量Pi的Distortion和Rate。pi的編碼參數可以被視為第i層現在的MB型態mode 的參數,也可以被看成ME時在第i層現在MB的動態向量。我們用以下公式簡化BL ME 的過程,假設V0 = V1: min(1 − w) ·D0(v0) + w·D1(v0) + ( λ



0 + λ



1) · R0(v0) (2.8) {v0,v1|v0}

(22)

13

在這方程式,v和v分別表達BL和EL的MV,Di(v)表示在第i層的原始訊號和預測

訊號的Sum of Absolute Error (SAE)。當base mode flag 等於0時,且motion prediction flag 等於1,EL的MV是直接用BL的MV,若以公式表示R1(p1|p0) = R1(v1 − v0),表示直接

假設 v1 = v0,使得R1(p1|p0) ≈ R1(0) ≈ 0。

在Eq. (2.7)中,一組Mode Pair一次決定一組MLEC的動態資訊。經由設定w = 0,編

碼控制只針對BL的編碼效能做最佳化,而完全不考慮EL的失真;也就是說,R1(p1|p0)被

選擇為0(EL mode是skip mode),當w等於1時,BL的參數只針對EL的編碼效能做最佳化 而不考慮BL的重建失真,所以R0(p0)被選擇為0(BL mode為Skip mode)。

2.3. Comparison and Summary

以下針對BLEC和MLEC的特性比較做總結:  在BLEC中,BL的編碼效能是以單一層為基礎,但EL總是會有些編碼效能的損 失。  在BLEC中,EL只能有限的重複利用BL的資訊,因為BL所選擇的編碼參數只 對BL做最佳化,不見得適合EL。  BLEC是以frame等級的編碼過程,但MLEC是一對MB等級的編碼過程。  在MLEC,可以權衡BL和EL的編碼效能,但明顯是更為複雜編碼過程。 經由以上的總結,我們知道”BUEC”和”MLEC”間的不同,接下來我們對Schwarz’s MLEC和Lin’s MLEC做一些觀察,發現兩種MLEC的多目標問題公式雖不同,但解決方 法卻是一樣的,我們做以下假設: λ



0 = (1 − w) λ0 λ



1 = wλ1 由於λ的最佳解唯一,上述式子表示(2.6)和(2.4)雖然不同,但λ存在互通性。改成 Schwarz’s MLEC在做Motion Estimation時,BL採用式子(2.4)來決定參數,而EL是採取(2.3) 這種只考慮單一層編碼的式子,Lin’s MLEC的BL和EL都是以(2.8)決定編碼參數,看起 來不同,但都是先決定BL mode,表示在決定EL mode時BL mode資訊都已經確定,所以 在式子(2.8)就不必考慮BL mode的資訊,剩下部分剛好是(2.4)這式子,只需考慮EL的單 一層編碼。根據以上觀察,雖然多目標問題公式不同,但我們可以將這兩種解決方法視 為相同。

另外,因為Schwarz’s和Lin’s的演算法雖然可以有不錯的time saving,但是演算法穩 定性卻是個問題,在Chapter 3中我們所提出的演算法將可以解決這個問題。

(23)

14

Chapter 3. Fast Mode Decision Algorithm

for SVC Multi-layer Encoder Control

本篇論文所提出的快速演算法建立在SNR可調性,兩個CGS層,沒有Inter8x4 Inter4x8, Inter4x4以及Intra8,這些mode如Table 3.1的內容,BL 共有7種mode,EL共有9種mode, 在徹底式搜尋下共有56組Mode Pair。而所提出的演算法概觀大致上如Figure 3.1所示, 我們會先取得EL的時間性mode分數(Temporal Mode Score, TMS),依TMS選出最適當的 mode做為Paired mode,然後進行兩段式演算法。當一對MB pair搜尋完成後,更新TMS 的假想個數,一張frame搜尋完後再更新TMS的mode機率。我所提出之演算法架構,沒 有dominant mode,而是利用EL資訊取得TMS並選擇配對的mode,而且當一張frame搜尋 尋完後,更新mode機率,因此能隨sequence性質修正所選擇配對的mode,讓演算法具有 適應性。 關於TMS的計算方法和mode機率分佈以及更新假想個數的方法將在Section 3.2.1 和 Section 3.2.2.更詳細的介紹,Section 3.2.3除了介紹演算法內容外,也有對快速演算法的 設計做出更詳細的說明。對於我即將提出的快速演算法,還有以下幾個關鍵的問題。 1. 如何選擇最適當的mode的initial probability? 2. 如何發展一套演算法可以符合所有的權重和sequence性質

(24)

15

Table 3.1 test mode condition

Figure 3.1 演算法概觀流程圖

Mode Types Base Layer Modes Enhancement Layer Modes Inter MB Type Skip

Inter16x16 Inter16x8 Inter8x16 Inter8x8 Skip Inter16x16 Inter16x8 Inter8x16 Inter8x8 Intra MB Type Intra16

Intra4

Intra16 Intra4 Inter-layer Prediction Type BLSkip

(25)

16

3.1.

Analysis of Mode Distribution

3.1.1. Mode Distribution in MLEC

首先,MLEC在徹底式搜尋時是非常花時間的,雖然在我們給定權重因子之下,它 使兩個SNR層之間有很好的編碼效能,在編碼後產生了一個包含兩個層的權重式的SVC Bitstream。測試的mode集合在Table 3.1. 從這個表格可以知道,MLEC在BL和EL組合起 來的徹底式搜尋一共有56組Mode Pair。

Table 3.2 test video sequence QCIF Sequence 4CIF Sequence

Soccer Foreman Footman Mobile Crew Harbour Ice Soccer Harbour Crew

Table 3.3 training sequence QCIF Akiyo Carphone City Coastguard Highway Stefan Walk

(26)

17

Figure 3.2 Directly stored modes in the enhancement layer

Table 3.4 location score in reference frame 1 2 1

2 4 2 1 2 1

Table 3.5 mode score mode score Skip mode 0 Inter16x16 1 Inter 16x8 2 Inter 8x16 2 Inter 8x8 4 BLSkip Follow BL mode Table 3.6 Example

Skip mode 16x16 BLSkip And BL mode 16x16 16x16(Intra4) 8x8 16x8

(27)

18

第二,前一張frame的畫質特性和現在要編碼frame的畫質特性可能非常類似,如果 討論到更局部,現在要編碼的MB和它co-locatd及其周圍MB的特性必定更為接近,基於 這樣的原因,我們提出時間性mode分數(Temporal Mode Score, TMS),其計算方式是利 用前一張frame的co-located mode和其周圍的mode,計算TMS,請看Table3.4顯示了位置 和權重的關係,Table3.5顯示不同mode的權重,如果要計算Figure 3.2的右邊那張frame 的E的TMS,計算方法如下:

TMS E′  1  A  2  B  1  C  2  D  4  E  2  F  1  G  2  H  1  I 其中前後兩張不同frame的A~I和A'~I'表示相對位置的MB,也就是前一張frame的E是現 在這張frame的E' co-located MB。但如果有Intra mode的話,則需要做正規化(normalize)。 這裡舉一個例子,請看Table 3.6,先不看括號內的mode,TMS的計算方式,就是

0  1  1  2  1  1  1  2  4  4  2  2  2  1  2  2  1  1  32

這時的TMS就是32,另一個例子,將位置D、H和I的MB改成使用括號內的Intra mode。

0  1  1  2  1  1  0  2  4  4  2  2  2  1  0  2  0  1  25 Round$25/11  16 '  36

這時的TMS就是36,是因為不考慮Intra mode的結果,直接對Inter mode的部分做正規化。 而11的部分就是Inter mode部分的權重加總。以上述方法計算之下,我們可直覺的猜測, TMS的數字大小會影響mode分佈。為了證實這樣的想法,我們做了實驗,計算當TMS 為多少時,某個mode的機率分佈,所以請看Figure 3.3。

(28)

19

Weight = 0.5 SKIP

Temporal Mode Score

0 5 10 15 20 25 30 p ro b a b ili ty 0.0 0.2 0.4 0.6 0.8 1.0 akiyo w=0.5 skip city w=0.5 skip stefan w=0.5 skip total w=0.5 skip

Figure 3.3 EL在不同的TMS時Mode Decision為Skip mode的機率

橫軸是TMS,縱軸是機率,這圖是顯示Skip mode在不同TMS時,Skip mode發生的 機率,可以很容易的發現,當TMS漸漸變大時,Skip mode的機率也越來越小了; Figure 3.4 是介紹Inter 16x16在不同的TMS時的機率分佈,觀察total的那條曲線,可看出Inter16x16 在TMS由小到大的機率變化過程,先有一些起伏,然後再漸漸的降低,在Figure 3.4~7 中,同樣觀察total 那條曲線,Inter16x8和Inter 8x16約在TMS = 32左右時有最高的機率, 而Inter 8x8是隨TMS越高機率漸漸提升,可以看圖觀察之。BLSkip也是隨TMS越高,機 率越來越高;而在這些個數機率分佈可以看Figure 3.10.在TMS在32~64時的mode個數只 占了0~64個數的5%,表示了當TMS大於35後的機率參考價值不夠高,所以可以不討論這 不部分的機率分佈。 而TMS介於[0~64],屬於整數,又因為63完全不會出現,所以共有64種可能的 temporal分數,每個TMS都會對應到一組mode的機率。觀察Figure 3.3~3.9後發現每種 mode的趨勢都有隨TMS在變,所以我們可以加入TMS來設計演算法。

(29)

20

Weight = 0.5 16x16

Temporal Mode Score

0 5 10 15 20 25 30 p ro b a b ili ty 0.0 0.1 0.2 0.3 0.4 akiyo w=0.5 16x16 city w=0.5 16x16 stefan w=0.5 16x16 total w=0.5 16x16

Figure 3.4 EL在不同的TMS時Mode Decision為Inter16x16的機率 Weight = 0.5 16x8

Temporal Mode Score

0 5 10 15 20 25 30 p ro b a b ili ty 0.0 0.1 0.2 0.3 0.4 akiyo w=0.5 16x8 city w=0.5 16x8 stefan w=0.5 16x8 total w=0.5 16x8

(30)

21

Weight = 0.5 8x16

Temporal Mode Score

0 5 10 15 20 25 30 p ro b a b ili ty 0.0 0.1 0.2 0.3 0.4 akiyo w=0.5 8x16 city w=0.5 8x16 stefan w=0.5 8x16 total w=0.5 8x16

Figure 3.6 EL 在不同的 TMS 時 Mode Decision 為 Inter8x16 的機率

Weight = 0.5 8x8

Temporal Mode Score

0 5 10 15 20 25 30 p ro b a b ili ty 0.0 0.1 0.2 0.3 0.4 akiyo w=0.5 8x8 city w=0.5 8x8 stefan w=0.5 8x8 total w=0.5 8x8

(31)

22

Weight = 0.5 BLSKIP

Temporal Mode Score

0 5 10 15 20 25 30 p ro b a b ili ty 0.0 0.2 0.4 0.6 0.8 1.0 akiyo w=0.5 BL_skip city w=0.5 BL_skip stefan w=0.5 BL_skip total w=0.5 BL_skip

Figure 3.8 EL在不同的TMS時Mode Decision為BLSkip的機率

Weight = 0.5

Temporal Mode Score

0 10 20 30 40 50 p ro b a b ili ty 0.0 0.2 0.4 0.6 0.8 1.0

total weight 0.5 skip total weight 0.5 16x16 total weight 0.5 16x8 total weight 0.5 8x16 total weight 0.5 8x8 total weight 0.5 BL_skip

(32)

23

weight ==0.5 total

Temporal Mode Score

0 10 20 30 40 50 60 P ro b a b ili ty 0.0 0.2 0.4 0.6 0.8 1.0

Figure 3.10 Macroblock accumulate probability in total sequence of each temporal mode score

(33)

3.1.2. Update of Mode D

由於我們的目的是做出一套能符合所有 性質,使快速演算法的R-D效 sequence間相同的mode隨TMS 一些機率的差異,但是夠接近的 sequence的平均機率分佈,F 質而改變mode distribution的特性 Figure 3.11 1 2 9 [ ][ ] [ ][ ] [ ][ ] ... [ ][ ] _ [ ][ ] [ ][ ] _ i j i i i i j i j p A M c A M c A M c A M

New p A M p A M Initial Allocation

=

+ + +

= ×

因為initial mode distribution

提出了一個方法來更新。除了能適當的維持本來的 質變化而逐漸的改變了mode probability 步驟如下: Step 1 :一開始每個TMS 初始配置乘上初始機率的 Step 2 :當進行編碼時如 表示TMS為 且 是 , 就加1。 Step 3:一張frame編碼完 率分佈,也就是frame等級更新 定) 。 這樣的方法,就可以不失去本來 新。 24

Distribution Probability

由於我們的目的是做出一套能符合所有sequence的快速演算法, 效能夠接近徹底式搜尋。觀察Figure 3.3~3. TMS由小至大的mode distribution變化大致上是類似的 但是夠接近的,所以把TMS的initial probability設定為 Figure 3.9是權重為0.5時的例子,但這樣還不能隨 的特性,所以接下來將介紹如何進行更新mode distri Figure 3.11 更新假想個數示意圖 1 2 9 [ ][ ] [ ][ ] [ ][ ] ... [ ][ ] _ [ ][ ] [ ][ ] _ i j i i i i j i j c A M c A M c A M c A M

New p A M p A M Initial Allocation

+ + +

= ×

initial mode distribution,不見得貼近每個sequence的mode probability 除了能適當的維持本來的sequence特性,也可以應 mode probability。這裡提出了”假想個數”的觀念 TMS給定一個適當的初始配置,假設為50,而 的假想個數。 如Figure 3.11所示, 表示第i個TMS, 且mode為 的假想個數,如果此時TMS為 。 完時,如公式(3.1)所示,會重新計算所有TMS 等級更新,把一個TMS的假想個數總數回歸到 就可以不失去本來sequence的性質,又可以依sequence ,並能適應sequecne 3.9,可以看出不同 變化大致上是類似的,雖然有 設定為所有training 但這樣還不能隨sequence性 mode distribution。 (3.1) mode probability,所以這裡 也可以應sequence性 的觀念,而詳細的更新 而mode會被分配到 表示第j個mode, 為 ,編碼完決定 TMS不同mode的機 回歸到50(或依初始設 sequence性質的變化更

(34)

25

3.2. Proposed Fast Mode Decision Algorithm

Figure 3.12 演算法的流程示意圖

Table 3.7 BL&EL mode 的配對

因為SVC中MLEC是BL和EL的mode同時決定。所以再設計演算法時,預測配對組 合的準確性,將是決定演算法優劣的重要因素。然而 EL做編碼時,所需的Rate通常較 BL來的多,因此直覺地認為 EL mode預測的準確性又比 BL來的重要。而在設計演算法 的過程中,的確得到這項證實。因此本論文所提出的快速演算法,是先從EL利用temporal 的特性來預測mode。演算法的詳細流程如Figure 3.12,在本小節中將利用條列的方式來 說明。首先定義Figure 3.12中的符號,A是BL中目前畫面的MB。B是EL中相對於A位置 的MB。C是在EL中前一張畫面相對於B的九個MB位置。而step 1~7分別是演算法的步驟 流程,步驟如下:

(35)

26 Step 1 目前畫面若是第一張 P 畫面,因為前一張I畫面並沒有提供 TMS 資訊,所以執行 完整搜尋,找出所有配對中 R-D cost 最小的做為編碼;否則在找 BL 中 MB 的 mode 時, 必須先預測一個在 EL 相對位置 MB 的 mode 做配對。因此先去 EL 中預測出相對位置 MB 的 mode。 Step 2、、、、3 而在 EL 的配對是利用前一張畫面相對位置的 MB 以及其周圍 MB 的 mode 資訊去 預測出一個最有可能的 mode。因此演算法提出一個時間性的編碼模式分數(Temporal Mode Score, TMS),再利用此 TMS 去預測出配對的 mode。詳細做法上述已有提到,請 參考 3.1.1。

Step 4

利用上述的 TMS 找出 BL 在 EL 的一組 mode 配對,再利用這個配對去對 BL 所有 的 mode type 做完整搜尋,找出 R-D Cost 最小的做為 BL mode。如 Table 3.7 中編號 1 的藍色框所示,若在 EL 利用 TMS 找到的 mode 預測為 BLskip,則去計算藍色框中所有 配對的 R-D cost,並找出 R-D cost 最小的一組做為 BL 的 mode。

Step 5

然後再利用 BL 的 mode 做為 EL 的一組配對。同樣計算 EL 中所有 mode,配對 BL 已選好 mode 的 R-D cost,最後將 R-D cost 最小的做為 EL 的 mode。如 Table 3.7 中編號 2 的紅色框所示。若在 step4 選定 16x16 為 BL 的 mode,再去計算紅色框裡所有 mode 配對的 R-D cost。並選出一組最小的做為 EL 的 mode。 Step 6 若做完一組MB pair的編碼,則執行TMS中假想個數的累加,並判斷是否編碼完一 張畫面,若是則跳到step7;否則,回到step2,繼續做下一對MB pair。 Step 7 執行更新的動作。更新所有mode在不同TMS下的機率分佈,詳細內容在3.1.2提及。 並回到step2。

(36)

27

3.3. Summary

這章節提供了一個新的快速演算法,以EL reference frame的temporal資訊計算TMS, 並利用此TMS的統計特性選擇配對的mode,然後實行兩段式演算法,能達到BUEC的速 度和接近徹底式搜尋的編碼效能。在每次的MB pair決定後,更新假想個數,一張frame 編碼完後,更新mode機率,使演算法可適應多數特性的sequence,產生具穩定性的效能。 為了證明所提出的快速演算法可適應多數特性的sequence且能產生具穩定性的效能。在 接下來的章節,和其他在MLEC運作的快速演算法比較,其中包含了Schwarz’s快速演算 法和Lin’s快速演算法。

(37)

28

Chapter 4. Experiments and Analyses

4.1. Test Conditions

本篇論文所提供的快速決策演算法和徹底式搜尋,以及其他快速演算法,都在JSVM 9.12.2[6]中被實作,共有7個QCIF格式和3個4CIF格式的測試用sequecne,其中包含了各 種不同時間和空間特性。所有的實驗在2.8GHz Intel 虛擬八核心, i7 860 CPU,and 8GB 記憶體,而Table 4.1是測試條件的細節:

Table 4.1 :test condition Prediction structure IPPP Inter-layer coding

structures

CGS

resolution: frame per second

QCIF :15、7.5、3.75 4CIF :60

Frame number QCIF-15-(150,130,120) QCIF-7.5-(75,65,60) QCIF-3.75-(37,32,30) 4CIF-60-30

Intra period -1 Search range 32 Search mode Table 3.1

QP Fixed QP setting

QPE= 22,28,34

QPB = QPE + 6

Motion Estimation Formula (2.6) Entropy coding CAVLC Inter-Layer Residual

Prediction

(38)

29

4.2. Comparison of Fast Mode Decision Algorithms

由於本論文所提出的演算法具可調性,為了證明它可以在大多數條件下進行良

好的運作,所以接下來的實驗都在固定 QP 下進行比較,可以包含各種性質的編碼內 容,而比較的演算法分別是 Lin 的快速演算法和 Schwarz et al. [3]的快速演算法,這 兩種演算法皆在 1.1 小節有詳細的介紹。接下來進行了以下實驗,並將這些比較各自 做討論:

1. 在各種固定 QP 之下,設定很低的 frame rate 運行快速演算法

2. 進行大量的實驗,包含各種 QP,解析度和 frame rate,可參考 Table 4.1 3. 各種設定之下平均的 time saving

而在實驗中進行比較的方法如下:

¢P SN R =¢P SN R = (快速演算法的Y ¡ P SNRY ¡ P SNR) ¡¡ (徹底式搜尋的Y ¡ P SNRY ¡ P SNR)

¢Rate =

¢Rate = [(快速演算法的 Rate ¡¡ 徹底式搜尋的 Rate) == 徹底式搜尋的 Rate]

£100% £100%

time saving = [(徹底式搜尋時間 ¡¡ 快速演算法時間) == 徹底式搜尋時間] £100%£100%

4.2.1 Experiment 1

本論文所提的快速演算法在選擇 EL 配對的 mode 時,是利用 temporal 資訊進去預 測。若當 temporal 資訊的相關性不夠,例如 frame rate 很低時,則此演算法是否還能利 用 temporal 的資訊來預測 EL 配對的 mode。為了證明這點,在實驗 1 設定 testing sequence 的 frame rate 為 3.75,並考慮不同權重時的影響。且將本實驗的快速演算法和其他的快 速演算法做比較,實驗結果在 Table 4.2 ~ 4.4。

(39)

30

Table 4.2 frame rate = 3.75 BL, EL QP = 28,22 average

Algo. W BL EL proposed Rate PSNR Rate PSNR 0 0 0 0 0 0.25 1.36554 0.01032 0.82324 0.04585 0.5 0.96161 0.038 0.57094 0.02323 0.75 1.81138 0.27368 0.70137 0.0246 1 0 0 0.00955 -0.0023 Lin 0 0 0 0 0 0.25 -0.4855 -0.0998 0.65049 -0.0564 0.5 1.8746 -0.256 2.60373 -0.224 0.75 2.37178 -0.1393 2.67437 -0.2466 1 0.0235 0 0.00275 0 Schwarz 0 0.45795 0.00378 0 0 0.25 0.27025 -0.0182 -0.0032 0.02672 0.5 0.35568 0.02162 -0.0069 0.00947 0.75 0.95922 0.31287 -0.0347 -0.0041 1 19.0574 0.57242 0.49511 -0.0005

Table 4.2~4.4 中顯示所有 testing sequence 的平均結果。由於實驗 1 是觀察 temporal 資訊相關性不足時,對 EL 所預測 mode 的影響,觀察 EL 的效能,由結果可以發現本論 文所提供的演算法,其△PSNR 和△Rate 各別在-0.1db 以及 1 %之內,然而其他的演算 法皆有超出此範圍。這裡為了讓讀者可以更容易的看出實驗結果的差異,本實驗將 △Rate 大於 1%和△PSNR 小於 0.1db 的各別標上紅色和綠色的字體。所以在實驗結果可 以看出,本演算法在 frame rate 很小時,還是能利用 temporal 的資訊來預測出配對的 mode, 並且比其他兩種演算法有更好的效能。

(40)

31

Table 4.3 frame rate = 3.75 BL, EL QP = 34, 28 average

Algo. W BL EL Rate PSNR Rate PSNR proposed 0 0 0 0 0 0.25 0.80199 0.03288 0.78872 0.05307 0.5 1.1745 0.08638 0.39673 -0.004 0.75 2.12879 0.30258 0.48461 -0.0311 1 0 0 0.01717 0.00178 Lin 0 0 0 0 0 0.25 -0.7878 -0.0866 0.87939 -0.0473 0.5 1.74561 -0.1699 1.7372 -0.1813 0.75 1.41335 -0.289 2.00933 -0.177 1 0.09838 0.00067 -0.0089 -0.001 Schwarz 0 0 0 0 0 0.25 0.72751 0.0721 3.31254 0.52952 0.5 1.13033 0.17052 0.95834 0.11525 0.75 2.22873 0.58032 0.37929 0.02445 1 42.929 1.20445 2.45252 -0.0024

(41)

32

Table 4.4 frame rate = 3.75 BL, EL QP = 40, 34 average

Algo. W BL EL Rate PSNR Rate PSNR proposed 0 0 0 0 0 0.25 0.41097 -0.012 0.64901 -0.0235 0.5 1.93217 0.12255 0.56954 -0.0136 0.75 0.67418 0.376 0.1672 -0.0159 1 0 0 -0.0491 -0.0031 Lin 0 0 0 0 0 0.25 -2.0389 -0.1354 0.98084 -0.0516 0.5 1.54448 -0.1349 1.00985 -0.1255 0.75 -0.2268 -0.0272 0.62247 -0.074 1 0.08037 0.00023 0.00495 0.00042 Schwarz 0 0 0 0 0 0.25 2.433 0.1402 7.24584 0.6944 0.5 3.5708 0.34952 2.62716 0.17268 0.75 10.2432 1.11533 0.97144 0.02358 1 55.6968 1.62115 3.98235 0.00853

(42)

33

4.2.2 Experiment 2

有別於其他演算法,本論文提出的演算法具有可調整性,最重要的目的是使演算法 能適應各種性質的 sequence,甚至在受到權重影響下能保有良好的 R-D 效能,所以進行 大量的實驗,實驗設定為 Table 4.1,這裡擺出其中幾個具代表性的例子:

Table 4.5 frame rate = 15 BL, EL QP = 34, 28

Algo. W BL EL Rate PSNR Rate PSNR proposed 0 0 0 0 0 0.25 0.42565 0.02387 0.5862 -0.0028 0.5 1.3534 0.1186 0.34711 -0.0001 0.75 1.21758 0.29581 -0.0772 -0.0083 1 0 0 -0.001 -0.005 Lin 0 0 0 0 0 0.25 -0.9715 -0.073 1.07948 0.05939 0.5 1.03855 -0.0502 0.59915 -0.0242 0.75 1.377 -0.0512 0.66825 -0.0429 1 0.17946 -0.0033 0.04071 0.00189 Schwarz 0 0 0 0 0 0.25 1.2176 0.06876 8.16225 0.97633 0.5 1.32389 0.16707 2.74839 0.30409 0.75 1.15166 0.58824 0.28262 0.09091 1 28.8637 0.6791 2.72067 0.02494 觀察 Table 4.5,這是在運行了大量的數據後,觀察後歸納出最常見的例子。提出的 演算法和 Lin’s 演算法效能差不多,但 Schwarz’s 演算法的 Rate 需求比徹底式搜尋多出 不少。

(43)

34

Table 4.6 frame rate = 7.5 BL, EL QP = 34, 28

Algo. W BL EL Rate PSNR Rate PSNR proposed 0 0 0 0 0 0.25 0.62801 0.0202 0.56364 0.00969 0.5 1.00861 0.11049 0.09596 0.00391 0.75 1.75192 0.33627 0.22185 -0.0058 1 -0.012 -0.0001 0.12383 0.0025 Lin 0 0 0 0 0 0.25 -0.7108 -0.0777 1.04037 -0.0456 0.5 1.1943 -0.0952 1.07327 -0.0835 0.75 1.94561 -0.1195 1.4452 -0.0945 1 0.1249 -0.0003 0.07604 0.00167 Schwarz 0 0 0 0 0 0.25 1.28928 0.07393 5.39084 0.73173 0.5 1.096 0.18351 1.39064 0.18613 0.75 2.01323 0.57317 0.37491 0.059 1 48.1896 1.02899 2.68818 0.02233

Table 4.6 中 Lin’s 演算法和 Schwarz’s 演算法,在 R-D 效能上表現較差,但我所提 出之演算法在 EL 依然有穩定的表現,這例子所產生的結果,在所觀察的數據中也是很 常見。

我們分析以上兩個例子的命中率。在 Figure 4.1 中,以 hit ratio 和 R-D 效能比較, 明顯 hit ratio 越高的 R-D 效能越接近徹底式搜尋。Figure 4.1 中可以看出演算法在 weight 1 和 0 時命中率幾乎接近百分之百而 weight 0.25~0.75 左右時命中率較低,明顯在 weight 0.25~0.75 之間時,因為編碼內容更難預測,使快速演算法在這設定下較難維持良好的 R-D 效能,但根據之前的觀察可以知道,所提出的演算法在這些情況下 EL 依然維持不 錯的表現。

(44)

35

frame rate = 15 BL,EL QP = 34,28 for BL

weighting 0.00 0.25 0.50 0.75 1.00 H it r a ti o 0.75 0.80 0.85 0.90 0.95 1.00 proposed Schwarz Lin

frame rate = 15 BL,EL QP = 34,28 for EL

weighting 0.00 0.25 0.50 0.75 1.00 Hi t ra ti o 0.90 0.92 0.94 0.96 0.98 1.00 proposed Schwarz Lin (a) (b)

frame rate = 7.5 BL,EL QP = 34,28 for BL

weighting 0.00 0.25 0.50 0.75 1.00 H it r a ti o 0.70 0.75 0.80 0.85 0.90 0.95 1.00 proposed Schwarz Lin

frame rate = 7.5 BL,EL QP = 34,28 for EL

weighting 0.00 0.25 0.50 0.75 1.00 H it r a ti o 0.90 0.92 0.94 0.96 0.98 1.00 proposed Schwarz Lin (c) (d) Figure 4.1(a)(b)(c)(d)各種 weight 之下的 hit ratio

但是本論文所提出之演算法,雖然在 EL 能有優良的 R-D 效能,但 BL 的表現依然 和其他演算法一樣,有時候會有 Rate 大於 1%的情況。因為兩段式演算法先決定 BL mode, 但 BL mode 所搭配的 EL mode 很可能不是最適合的 mode,因此導致 BL 選擇到錯誤的 mode,使 BL R-D 效能不佳,這是兩段式演算法共同擁有的缺點。

(45)

36

4.2.3 Experiment 3

快速演算法除了要維持穩定的 R-D 效能,還必須有足夠的 time saving。Table 4.7 中 是各種測試條件下的 time saving:

Table 4.7:各種條件之下,testing sequence 的平均 Time Saving

Format /Frame Rate QPB/QPE Proposed Lin Schwarz

QCIF / 3.75 QPB:28,QPE:22 77.24514 74.9001 78.24258 QPB:34,QPE:28 77.62963 76.48772 78.95085 QPB:40,QPE:34 76.95936 77.52308 78.68517 QCIF / 7.5 QPB:28,QPE:22 76.5156 75.95822 77.884 QPB:34,QPE:28 75.99884 76.86205 78.56844 QPB:40,QPE:34 78.88088 79.07185 79.20268 QCIF / 15 QPB:28,QPE:22 74.24251 73.8715 81.25331 QPB:34,QPE:28 78.50109 76.37538 82.97111 QPB:40,QPE:34 77.67027 78.03382 81.56794 4CIF / 60 QPB:28,QPE:22 72.91371 71.75903 75.76203 QPB:34,QPE:28 72.36085 71.52953 74.16106 QPB:40,QPE:34 73.95595 73.46076 75.00302

從 Table 4.7 中,本論文提出之演算法平均 time saving 為 72%~78%,Lin’s 演算法 71%~79%,Schwarz’s 演算法 74%~82%。而相互比較來看,三者演算法的時間其實差不 多,Schwarz’s 的演算法稍快於其他兩種,本論文所提出的演算法和 Lin’s 差不多。Figure 4.2~3.顯示了 testing sequence QCIF 格式的 football 和 Mobile 的 Rate-PSNR 曲線,包含 了在不同的權重因子下,與徹底式搜尋 Rate-PSNR curve 的比較。從此可以證實本論文 所提出的快速演算法和徹底式搜尋的結果非常接近。

(46)

37 football(QCIF) Bite rate[kbits/s] 0 100 200 300 400 Y -P S N R [d B ] 10 15 20 25 30 35 40 Muli-Layer(W==0) Muli-Layer(W==0.25) Muli-Layer(W==0.5) Muli-Layer(W==0.75) Muli-Layer(W==1) proposed

Exhaustive Search scheme vs. Fast Mode Decision scheme Figure 4.2.The Rate-PSNR curve of QCIF sequence

soccer(4CIF) Bite rate[kbits/s] 0 1000 2000 3000 4000 5000 6000 Y -P S N R [d B ] 10 15 20 25 30 35 40 Muli-Layer(W==0) Muli-Layer(W==0.25) Muli-Layer(W==0.5) Muli-Layer(W==0.75) Muli-Layer(W==1) proposed

Exhaustive Search scheme vs. Fast Mode Decision scheme Figure 4.3. The Rate-PSNR curve of 4CIF sequence

(47)

38

Chapter 5. Theoretical Analysis on SVC

Rate-Distortion Function

在上面的章節提出了一套依統計方法而擬定出來的快速決策演算法,可在 R-D 效能 接近徹底式搜尋的情況下進行加速,減少編碼的時間。然而不少其他快速決策演算法也 能達到這樣的要求,但這些演算法通常缺乏了理論依據,能得其效果卻不知其所以然。 所以想跳脫傳統在做快速決策演算法時,幾乎只以統計分析為立論的思考模式。這章節 針對分割模式做理論分析,使我們清楚理解影響分割模式決策的因素,如果能完成這個 分析,便可運用在 H.264/AVC 和 SVC 的 Mode Decision,甚至將觀念延伸到 MLEC。

5.1.

Theoretical Model

H.264/AVC 做 Mode Decision 時 , 以 Lagrangian Cost 為 決 策 標 準 , 選 擇 min{ ( )D p +

λ

R p( )}的 mode 進行編碼。討論普遍 sequence 的 Mode Decision,當 QP 很 大時表示畫質上的細節可以省略,而 QP 較小時會保存更多的細微部分,所以同一個 MB 在 QP 不同時可能選擇不一樣的 mode 編碼,我們期待在做理論分析時可以看到這 樣的變化。而以 H.264 為基礎延伸的 SVC 加入了對 Mode Decision 有影響的 Inter-Layer Prediction 機制,由於 EL 和 BL 的 QP 變化會改變 residual signal 的相關性,決定是否實 行 Inter-Layer Residual Prediction。BL mode 和 EL mode 是否相同也會改變 residual signal 相關性。期待在理論分析中發現 EL 和 BL 的 QP 差值和 BL mode 在實行 Inter-Layer Residual Prediction 時會影響 EL 的 Mode Decision。

5.1.1. Theoretical R-D functions of Single-Layer Hybrid Coding

如 Figure 5.1 所示,H.264/AVC 的 Block-Based Hybrid Video Coding 架構在對 Inter mode 進行編碼時,先從 reference frame 取得預測訊號並計算出 residual signal,然後傳 輸 residual signal 經過 DCT 和 quantization 後的 coefficient。我們在理論分析時模擬這些 步驟,5.1.1 中的 Step 1 由於理論分析時不能直接使用實際的 residual signal,但需要 residual 的變異程度,所以這步驟推導了 Inter mode 的 spatial domain residual covariance model,因為需要 DCT domain residual variance,Step 2 介紹 covariance 的 DCT 轉換方法, Step 3 建立 R-D 間關係,加入 QP 影響,並說明 R-D 計算方法。以 H.264 為基礎延伸的 SVC 在 Inter Prediction 時多了 Inter-Layer Prediction 機制,將在 5.1.2 討論 Inter-Layer Prediction 對 residual covariance model 的影響。在 Table 5.1 定義了理論分析需要的一些

數據

Figure 1.2 Schwarz’s 的快速演算法在選擇 Dominant Mode Pair 時的規則
Figure 1.3 Lin 的快速演算法在選擇 Dominant Mode Pair 時的規則
Figure 2.1 Multi-layer structure with
Figure 2.2: The flowchart of Inter-Layer Prediction Mechanism (from Lin’s thesis)
+7

參考文獻

相關文件

頁碼編排步驟 (4) 點選 格式 後,出現以下畫面:. 接著選擇頁碼要呈現

首先考慮針對 14m 長之單樁的檢測反應。如圖 3.14 所示為其速 度反應歷時曲線。將其訊號以快速傅立葉轉換送至頻率域再將如圖

本研究所開發的 XML-base ECG Management System 架構及流程 如圖 1-3 所示。ECG 的來源是地區醫院所收集的 SCP-ECG 檔案,解 碼後取得內含資訊及各導程原始電位數據,經過 XML-based

專案導向應用程式開發 階梯程式編輯畫面 狀態的監視與控制 階梯程式助憶碼輔助顯示 階梯程式註解功能

本模組的編碼法適合 Command mode/Data mode 切換先連續發射 10 次 High、Low 信號作為前導波形接著發射起始波形 600 微秒 High→600 微秒 Low→600 微秒 High→400 微秒

術科測試編號最小(假設為第 1 號)之應檢人抽中崗位號碼 6,則第 1 號應檢人入 座崗位號碼為 6,第 2 號應檢人入座崗位號碼為 7,第

各國的課程綱要均強調運算的概念性了解。我國 2009 年課程綱要談到所謂

[r]