• 沒有找到結果。

中 華 大 學

N/A
N/A
Protected

Academic year: 2022

Share "中 華 大 學"

Copied!
75
0
0

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

全文

(1)

中 華 大 學 碩 士 論 文

題目:以移動向量預估用於 H.264 的快速 inter 與 intra 模式決策演算法

FAST INTER/INTRA MODE DECISION IN H.264 BY MOTION VECTION PREDICTION

系 所 別: 資訊工程學系碩士班 學號姓名: M09502067 林宣德 指導教授: 鄭 芳 炫 教授

中華民國 九十八 年 二月

(2)

摘要 摘要 摘要 摘要

在過去移動預估,使用固定區塊大小 16*16 做預估,因為影片序列特性上的不同,

會造成移動向量預估不夠精確。H.264/AVC 提出可變區塊大小模式來解決此問題。此模 式分成七種不同區塊大小,可以因應不同的影片序列特性,根據不同特性選擇不同的模 式做預估,因此精確度會提高。但因為每種模式都要做判斷,最後由程式決定出一個最 佳的模式,所以複雜度相對提高。為了改善複雜度問題,過去針對移動預估提出以下幾 種方式,包含邊緣計算之 Sobel 方式、DCT 計算方式、移動向量分割與合併的演算法、

2*2 濾波器計算不同角度之快速 intra 模式。因此如何在維持其效能情況下,儘量減少其 運算量,加速其編碼速度,以達到及時傳輸目的。為了要徹底改善複雜度問題,本論文 提出以移動向量為基準之快速 intra/inter 模式決策演算法。此方法不用額外計算,而且 可以利用移動向量統計出來的數值來做快速模式預估,因此可以省略很多不必要模式選 擇。由於影像序列是由不同移動向量所組成,同時移動向量與不同特性影片序列相關性 是非常高,所以影片序列可以根據影片特性切割成快、慢和靜止區塊。在實驗中,我們 以八種不同影像序列做移動向量與影片序列特性之間的分析。實驗環境是在 JM12.2 版 本,總共使用 100 個訊框在八種影像序列。對於實驗結果而言,在 inter 預估時間上約 可節省 71%,畫面品質約下降 0.03db,位元率約上升 0.014 kbit/s,都比相關論文所提方 法來的快,畫面品質和位元率也都有一定維持。而 intra 預估時間上約可節省 75%,品 質約下降 0.02db,位元率約上升 3.0 kbit/s。

(3)

致謝 致謝 致謝 致謝

首先要感謝指導老師鄭芳炫教授在這兩年以來的諄諄教誨、悉心指導,以及在研究 的過程中給予寶貴的意見,使我獲得許多助益與成長,並且讓我能夠完成研究所的學 業。在此致上最誠摯的感謝。

同時要特別感謝父母的栽培與關心,有了他們的鼓勵與支持,以及日常生活的資 助,才能讓我無後顧之憂的專心於研究的工作。

最後要感謝的是在作研究的時光中,給予我不少幫助的學長呂長鴻、楊士賢,以及 和我ㄧ起努力的同學張正園、張佑維;還有新進的學弟和隔壁實驗室的同學們。有了他 們,才使我在這段人生中過得更加充實。僅以此論文獻給我由衷感謝的指導教授、親人、

朋友及同學們!

(4)

目錄 目錄 目錄 目錄

摘要……… I 致謝……….………… I 目錄……… III 附圖目錄... IV

第 1 章 序論... 1

1.1 H.264 視訊壓縮標準簡介 ... 6

1.2 動機與目的... 7

論文架構 ... 8

第 2 章 H.264/AVC 新增的技術改良 ... 8

2.1 四分之一像素預估... 10

2.2 轉換、量化與熵編碼改良... 11

2.3 內嵌式去區塊效應濾波器... 11

2.4 多重參考畫面... 12

2.5 畫面內預估... 14

2.6 可變區塊大小... 14

第 3 章 相關研究探討... 16

3.1 利用 Sobel 邊緣計算方法... 17

3.2 利用移動向量合併/分割之計算方法... 19

3.3 利用 DCT 計算方式... 20

3.4 利用 2*2 濾波器來計算不同角度之快速 intra 模式... 21

(5)

第 4 章 以移動向量之快速 intra/inter 模式決策的方法... 22

4.1 移動向量與區塊大小之關連分析... 32

4.2 快速 intra 模式演算法... 34

4.3 快速 inter 模式演算法... 35

4.4 區塊的分怖... 38

第 5 章 實驗結果與分析... 39

5.1 實驗參數設定及實驗參數比較... 42

5.2 實驗數據之折線圖... 60

第 6 張 結論和未來展望... 60

6.1

6.1 結論

結論 ... 61

6.2

6.2 未來展望

... 62

(6)

附圖目錄 附圖目錄 附圖目錄 附圖目錄

圖 1 H.261 來源編碼示意圖 ... 3

圖 2 H.264/AVC 與其他視訊壓縮標準之比較 ... 6

圖 3 1/2 像素點搜尋... 9

圖 4 1/4 像素點搜尋... 9

圖 5 loop-filter 處理順序示意圖... 11

圖 6 多重參考畫面……… ……… 12

圖 7 Intra_4x4 模式預估………... 13

圖 8 Intra_16x16 模式預估………. . 14

圖 9 H.264/AVC可選擇的區塊………. 14

圖 10平滑和靜止的模式……… 17

圖 11 8*8 區塊預估向量合併 16*8、8*16、16*16 區塊……… 18

圖 12 8*8區塊預估向量分割8*4、4*8、4*4區塊……… 19

圖 13 DCT 計算方式的可用模式……….. .20

圖 14 垂直,水平,45 對角,135 對角,和沒有方向性的邊緣圖………21

圖 15 coastguard 影像序列下移動量更大的區塊部份……… 25

圖 16 container 影像序列下移動量更大的區塊部份………. 26

圖 17 foreman 影像序列下移動量更大的區塊部份……… 27

圖 18 mother_daughter 影像序列下使用比較小的模式來判斷………28

圖 19 mother_daughter 影像序列下移動量更大的區塊部份………. 29

(7)

圖 20 news 影像序列下移動量更大的區塊部份……… …. 30

圖 21 silent 影像序列下移動量更大的區塊部份……… …….31

圖 22 intra 模式演算法………. 32

圖 23 inter 模式演算法………35

圖 24 (inter 模式) akiyo 與 jm 折線圖 bit rate 的比較……… ………42

圖 25 (inter 模式) akiyo 與 jm 折線圖 PSNR 的比較……… 43

圖 26 (inter 模式) akiyo 與 jm 折線圖時間的比較……… 43

圖 27 (inter 模式) coastguard 與 jm 折線圖 bit rate 的比較……… 44

圖 28 (inter 模式) coastguard 與 jm 折線圖 PSNR 的比較………44

圖 29 (inter 模式) coastguard 與 jm 折線圖時間的比較………45

圖 30 (inter 模式) container 與 jm 折線圖 bit rate 的比較……… 45

圖 31 (inter 模式) container 與 jm 折線圖 PSNR 的比較……… …… 46

圖 32 (inter 模式) container 與 jm 折線圖時間的比較……… 46

圖 33 (inter 模式) foreman 與 jm 折線圖 bit rate 的比較………47

圖 34 (inter 模式) foreman 與 jm 折線圖 PSNR 的比較……… ……47

圖 35 (inter 模式) foreman 與 jm 折線圖時間的比較……… 48

圖 36 (inter 模式) mother_daughter 與 jm 折線圖 bit rate 的比較………48

圖 37 (inter 模式)mother_daughter 與 jm 折線圖 PSNR 的比較………49

圖 38 (inter 模式) mother_daughter 與 jm 折線圖時間的比較……….49

圖 39 (inter 模式) silent 與 jm 折線圖 bit rate 的比較……… 50

圖 40 (inter 模式) silent 與 jm 折線圖 PSNR 的比較……… 50

圖 41 (inter 模式) silent 與 jm 折線圖時間的比較……….………51

(8)

圖 42 (inter 模式) suzie 與 jm 折線圖 bit rate 的比較………51

圖 43 (inter 模式)suzie 與 jm 折線圖 PSNR 的比較………51

圖 44 (inter 模式) suzie 與 jm 折線圖時間的比較……….52

圖 45 (intra 模式) coastguard 與 jm 折線圖 bit rate 的比較……….……….53

圖 46 (intra 模式) coastguard 與 jm 折線圖 PSNR 的比較……….53

圖 47 (intra 模式) coastguard 與 jm 折線圖時間的比較………..54

圖 48 (intra 模式) container 與 jm 折線圖 bit rate 的比較……….54

圖 49 (intra 模式) container 與 jm 折線圖 PSNR 的比較……….55

圖 50 (intra 模式) container 與 jm 折線圖時間的比較……….55

圖 51 (intra 模式) foreman 與 jm 折線圖 bit rate 的比較……….56

圖 52 (intra 模式) foreman 與 jm 折線圖 PSNR 的比較………..………..56

圖 53 (intra 模式) foreman 與 jm 折線圖時間的比較………..57

圖 54 (intra 模式) news 與 jm 折線圖 bit rate 的比較………57

圖 55 (intra 模式) news 與 jm 折線圖 PSNR 的比較……….58

圖 56 (intra 模式) news 與 jm 折線圖時間的比較……….………58

圖 57 (intra 模式) silent 與 jm 折線圖 bit rate 的比較………59

圖 58 (intra 模式) silent 與 jm 折線圖 PSNR 的比較………59

圖 59 (intra 模式) silent 與 jm 折線圖時間的比較………60

(9)

附表目錄

表 1 多媒體影像視訊標準制定之沿革……….2

表.2 多媒體影音通訊標準制定之沿革……….6

表 3 intra 可用的模式……….33

表 4 inter 可用的模式……….35

表 5 intra 模式區塊大小的分佈……….36

表 6 原始 JM (4 種 sequence 區塊大小分佈情況):………36

表 7 inter 模式區塊大小的分佈……….37

表 8 原始 JM (7 種 sequence 區塊大小分佈情況)……….37

表 9 以移動向量為基準的 intra/inter 模式的決策判斷與 Sobel 的邊緣計算做比 較………. 40

表 10 以移動向量為基準的 intra/inter 模式的決策判斷與利用 2*2 濾波器來計 算不同角度的快速 intra 模式的方法做比較……….. 41

(10)

第 第 第

第 1 章 章 章 章 序論 序論 序論 序論

隨著科技進步使得人們在技術上不斷提升,由於使用者不同需求,所以發展出不同 視訊壓縮標準,針對使用者需求,加以修訂視訊壓縮標準。以下將介紹H.264/AVC視訊 壓縮標準演進過程。

1.1 H.264 視訊壓縮標準簡介 視訊壓縮標準簡介 視訊壓縮標準簡介 視訊壓縮標準簡介

國際標準組織(ISO)動態影像專家委員會(MPEG)為了設計一個共同多媒體視訊標 準,於 1992 年制訂 MPEG-1[1]。其主要應用於多媒體 CD-ROM 儲存,並採用 SIF 標準 交換格式。目的是希望能在不同頻寬下儲存多媒體資訊,位元率最高可到 1.5Mbps。除 了多媒體視訊外,MPEG-1 對音訊壓縮也被普遍使用。所以為影像和語音壓縮標準,推 出後很成功,但能儲存記憶體有限。

為了解決儲存記憶體的問題,在 1998 年 MPEG-2 [2]因應而生,主要應用範圍為高 品質電視(HDTV)、衛星電視,位元率大約在 2~15Mbps 之間,其優點為比較不會有失真 現象,但有複雜度問題。為了改善 MPEG-1 和 MPEG-2 的缺點,於 1999 年制訂 MPEG-4[3]

影音壓縮標準。MPEG-4 的目標在多媒體環境下,提供標準化核心技術。可以對視訊資 料做有效率儲存、傳輸、操作應用等。其主要應用範圍包含視訊會議、影音郵件、無線 裝置……等等。

另外,MPEG-4 在架構上是以視訊物件為導向,主要是把視訊當成物件,而非視訊 圖框,可以讓物件導向應用付諸實現,其只須提高物件表示法、物件操控……等等。就 能將內容互動性水準提高,其位元率約在 28~384Kbps 之間,較 MPEG-2 為低。而 MPEG-4 壓縮效率是以 MPEG-2 壓縮標準為基礎,可以提高壓縮效率,也適用於所有傳輸媒介,

(11)

包括網路和實體線路,就算再容易發生錯誤的環境,MPEG-4 也很可靠。為了因應使用 者不同需求,有不同格式或階層上的集合,提供給某些特定場合使用者使用。從上述中 我們知道 MPEG 系列的優缺點與應用範圍。接下來把前面所提到 MPEG-1、MPEG-2 與 MPEG-4 壓縮標準做個總整理。

如下表 1 所示,多媒體影像視訊標準制定之沿革:

多媒體影像視訊標準之沿革 多媒體影像視訊標準之沿革多媒體影像視訊標準之沿革

多媒體影像視訊標準之沿革 主要應用範圍主要應用範圍主要應用範圍主要應用範圍 優缺點分析優缺點分析優缺點分析優缺點分析

MPEG-1 多媒體CD-ROM的儲存、音訊壓縮 目的是希望能在不同頻寬下儲存多媒體資

訊,但儲存記憶體有限

MPEG-2 高品質電視、衛星電視 優點是不會有失真現象,缺點是有複雜度問

MPEG-4 視訊會議、影音郵件、無線裝置、

網路與實體電路…等

優點是可以提高壓縮效率,就算容易發生錯 誤的環境,也很可靠,但速度上不夠快

另外,國際通訊協會(ITU)為了制訂通訊方面視訊壓縮標準,同步制訂 H.261[4],主 要應用在支援影像電話與視訊會議。H.261 是第一個實用的視訊編碼標準,其設計非常 成功。後來視訊壓縮大部份都以 H.261 相同框架為基礎。如下圖 1 所示:H.261 使用混 和編碼框架,包含移動補償的 inter 預估、量化與轉換。

(12)

圖 1 H.261 來源編碼示意圖

因為後來視訊壓縮標準皆以 H.261 相同框架為基礎,所以又完成 H.263[5]視訊壓縮 標準。而 H.263 也是架構在 H.261 框架中,其主要應用於影像電話、視訊會議與 GSTN 上,由於頻寬小於 64kbps,因此需要更高壓縮率,比較適合於低編碼效率視訊標準。由 於前面介紹的壓縮標準都是採用固定大小 16*16 來做模式預估,導致區塊判斷不夠精 確。為了要解決此問題,而推出新一代視訊壓縮標準 H.264/AVC[6-9]。

H.264/AVC 是由 ITU-T Video Coding Experts Group 以及國際標準協會(ISO)動態影 像專家(MPEG)委員會所共同制訂,這個標準主要目的是設計一個簡單且具備高壓縮率

(13)

又能符合網路應用的視訊壓縮標準,不必增加運算複雜度,並減低硬體實作上時間浪 費。H.264/AVC 目前是普遍被使用的標準,可以應用在很多地方。它之所以普遍被使用 是因為提出以下幾點目標:

具高壓縮率效能:和 H.263 做比較,在相同品質下只需要不到一半位元率。

高畫質應用:不但能用在低位元率的壓縮,且在高畫面品質所壓縮出的位元率, 皆

比之前視訊壓縮標準低,而畫面品質及位元率與過去標準比較,也有一定維持。

具有高抗錯能力(Error Resilience)。

友善的網路傳輸設計。

不會與編碼器有不匹配狀況發生(no mismatch)。

介紹完H.264/AVC的目標,接下來我們將提出H.264/AVC幾個不同新改良技術。四 分之一像素預估[10]:過去技術只提供二分之一像素預估,沒有辦法非常精確。

H.264/AVC因為新增可變區塊大小技術,可以精確到四分之一像素可變區塊大小,增 加壓縮比。

多重參考畫面[11-15]:過去壓縮標準使用的移動預估,只能使用前一張畫面來做 為 預 估 參 考 , 這 樣 會 使 整 個 影 片 序 列 在 預 估 時 不 準 確 , 而 且 複 雜 度 會 比 較 高 。

H.264/AVC提供多重參考畫面,使移動向量不再侷限於前後相鄰畫面,而是可以跨過 多張畫面找出最佳結果。

轉換部分[6-9]:過去技術採用 DCT 運算,有區塊效應缺點。H.264/AVC 採用 4*4、

8*8 模式整數運算用來降低區塊效應。雖然 H.264/AVC 使用 4*4 模式轉換,但仍有區塊 效應。可以使用 post-filter 和 in-loop-filter[6,7]來解決區塊效應問題:post-filter 較具實際 彈性。in-loop-filter 在解碼過程中複雜度比較高。量化部分[6-9]:過去量化過程有除法 存在。H.264/AVC 量化只使用加法、乘法,沒有除法,可以達到及時處理的效果。熵編

(14)

碼改良部份,因其為非轉換係數,可以使用單一個編碼表來實作,可以節省記憶體空間。

經量化過轉換係數,可以使用在內容可適性編碼。 H.264/AVC 在內容可適性編碼可分 為調整性可變長度編碼(CAVLC) [6-9]與基於上下文適應二進制算數編碼(CABAC) [6-9]

兩種技術:

調整性可變長度編碼(CAVLC)沿襲自 MPEG-2 與 MPEG-4。

基於上下文適應二進制算數編碼(CABAC),使用於數位電視影片,但因為解碼時間

長,所以複雜度較高。其優點為可提高其壓縮比,缺點則是須占用大部分頻寬。

Intra4*4 and Intra16*16[16-18]:過去壓縮標準在空間域進行預估時,只將轉換係數 做差值編碼。H.264/AVC在空間域進行像素點預估,不是用轉換過係數做編碼,因此 可以降低複雜度。

現在的壓縮技術都針對可變區塊大小來做預估[19-23]。可以使精確度提高,但因為 每個模式都要做判斷,導致複雜度偏高。為了改善此問題,我們所提出方法是以移動向 量為基準,並不需要很多計算量,其判斷演算法是用區間方式判斷。介紹完 H.264/AVC 之後我們可以知道此系統是現在最普遍使用,最具即時處理的系統。接下來我們會將 H.264/AVC 與其他視訊壓縮標準之比較,如下圖 2 所示:

可以從圖 2 得知 H.264/AVC 不論效能、品質和位元率皆比過去壓縮標準來的好,而 且多新增幾個技術,使得模式判斷更精確,但 H.264/AVC 因為採用可變區塊大小方式做 預估,所以複雜度上升。要如何讓複雜度下降,其選擇模式判斷顯得很重要,因為不用 每種模式都去做判斷,所以複雜度就會比較低。但假如選擇不正確模式區塊來做判斷,

反而會增加複雜度,所以如何選取適當模式區塊來做判斷是日後必須處理的動機與目 的。

(15)

圖 2 H.264 與其他視訊壓縮標準之比較

介紹完 H 系列壓縮標準的優缺點與應用範圍。我們將前面所提到 H.261、H.263 與 H.264 的壓縮標準做個總整理。

表 2:多媒體影音通訊標準之沿革:

多媒體影音通訊標準之沿革 多媒體影音通訊標準之沿革多媒體影音通訊標準之沿革

多媒體影音通訊標準之沿革 主要應用範圍主要應用範圍主要應用範圍主要應用範圍 優缺點優缺點優缺點優缺點分析分析分析 分析

H.261 影像電話與視訊會議 比較會有失真現象。採用混合編碼框架,

後來視訊標準大都以此為相同框架

H.263 影像電話、視訊會議、網路電話通訊,

其較適合用於低編碼效率視訊標準

二分之一像素移動補償、改善可變編碼長 度、支援許多畫面格式,有複雜度問題

H.264 硬體電路與網路以及高畫質的視訊通

信,影像電話與視訊會議等等。

提出了可變區塊大小的方法,改善了模式 預估的準確度,但卻大大提升複雜度

(16)

1.2 動機與目的 動機與目的 動機與目的 動機與目的

過去標準裡面,區塊大部分都是固定的,以致於造成效能都不夠好。為了增加精確 度,H.264/AVC將提出幾個不同新技術改良:如四分之一像素預估、轉換、量化與熵編 碼、內嵌式去區塊效應濾波器、多重參考畫面、畫面內預估、可變區塊大小等技術。其 中最主要部分是可變區塊大小(variable block size)。

H.264/AVC提出可變區塊大小方式,改善過去效能不好的部分,此部分為位元率降 低主要核心,也可以因應不同影像區域的特性,更精確去做移動預估。但時間複雜度卻 大量增加,因此本論文目的是要針對此高複雜度計算,提出降低複雜度方法。此方式是 用移動向量來預估,既沒有很多計算式,又可維持一定的品質和位元率。

1.3 論文架構 論文架構 論文架構 論文架構

本論文第一章,首先敘述H.264/AVC視訊壓縮標準,從過去視訊標準一直介紹到目 前所訂定H.264/AVC標準,介紹其歷史沿革,並說明其優缺點。

本論文動機與目的:現在的壓縮標準都架構在可變區塊大小下實作,可以提高精確 度,但時間複雜度偏高。所以提出以移動向量為基準,在不需要太多計算量前提下,去 改善H.264/AVC複雜度缺點,可能比較切合現在研究與應用潮流。

第二章介紹H.264/AVC與過去標準不同的新技術,例如四分之一像素預估、轉換、

量化與熵編碼,畫面內預估、多重參考畫面、內嵌式去區塊效應濾波器、可變區塊大小 等,在此章節中都會加以詳細說明。

第三章介紹H.264/AVC中模式決策相關探討,從過去到現在所提出改善模式決策相 關方法可分成四類。如移動向量分割與合併演算法、Sobel邊緣計算方式、DCT計算方式、

2*2濾波器計算不同角度之快速intra模式……等等來做相關探討。

(17)

第四章介紹intra/inter模式預估演算法、模式預估判斷與分佈狀況,以及在不同影片 序列中如何統計移動向量數值來判斷其區間等等。

第五章介紹實驗結果與分析討論,我們將intra/inter模式與兩篇重要論文的方法做比 較分析,其效能及畫面品質和位元率,將使用曲線圖來做差異性判斷,並證明其效能真 的比過去壓縮標準時間節省來得多,品質和位元率也能有一定維持。

第六章說明結論與未來展望,此章節會將最後實驗數據展現出來,並說明其比較好 的因素與未來展望,以及說明在實驗中還存在的一些缺點,以便做為日後研究方向。

第 第

第 2 章 章 章 章 H.264/AVC 新增的技術 新增的技術 新增的技術改良 新增的技術 改良 改良 改良

H.264/AVC和過去壓縮標準比較,由於H.264/AVC新增幾個新技術改良,所以能達

到更高壓縮效能。例如四分之一像素預估、轉換、量化與熵編碼、內嵌式去區塊效應濾 波器、多重參考畫面、畫面內預估、可變區塊大小等等。茲分別說明如下:

2.1 四分之一像素預估 四分之一像素預估 四分之一像素預估 四分之一像素預估

如圖3、圖4所示:過去壓縮標準,移動向量多半只精確到1/2像素,計算量增加,以 至於壓縮比不夠精確。H.264/AVC則更進一步提供1/4像素精確度搜尋[10],可以提升壓 縮比,並提高移動補償準確度。1/2及1/4像素位置的值則由鄰近整數像素位置內插而得。

(18)

圖3 1/2像素點搜尋示意圖

在圖3中,大寫A~U為整數像素點,小寫aa ~ j為半像素點,半像素點生成範例如下:

水平方向:b = round( (E - 5F + 20G + 20H - 5I + J) / 32 ) 垂直方向:h = round( (A – 5C + 20G + 20M – 5R + T) / 32 ) 對角方向:j = round( (cc – 5dd + 20h1 + 20m1 – 5ee + ff) / 32 )

其中,h1 = (A – 5C + 20G + 20M – 5R + T) / 32 ),m1 = (B – 5D + 20H + 20N – 5S + U) / 32 ),而cc、dd、ee、ff 的做法比照h1 和m1。

圖4 1/4像素點搜尋

在圖4中,G、H、M、N為整數像數點,b、h、j、m、s為半像素點,其他則為四分

(19)

之一像素點。而四分之一像素點生成範例如下:

水平方向:a = round( (G + b) / 2) 垂直方向:d = round( (G + h) / 2) 對角方向:e = round( (b + h) / 2)

2.2 轉換 轉換 轉換 轉換、 、 、 、量化 量化 量化 量化與 與 與 與熵 熵 熵 熵編碼 編碼 編碼 編碼改良 改良 改良 改良

轉換方面[6-9]:過去技術提出 8*8 DCT 轉換是屬於非整數運算,有係數還原後無法 匹配問題,而且會產生區塊效應。如今將轉換作在 4*4 區塊上,由於整數運算緣故,可 以降低區塊效應,並且在畫面邊緣可以減少編碼誤差。量化技術方面[6-9]:過去技術量 化過程有除法存在。H.264/AVC 只使用加法與乘法,而沒有除法運算,利於硬體電路實 作。熵編碼技術方面,過去標準每種影像皆使用固定編碼表來實作,為非可適性編碼方 式,並不適用於每個影像序列。

H.264/AVC 針對量化過轉換係數與非轉換係數資料,分別使用兩個不同編碼法則。

非轉換係數資料使用單一個編碼表,好處是可以節省編碼表所佔用的記憶體。而針對量 化過轉換係數資料來說,可以使用在內容可適性編碼。由於 H.264/AVC 使用所謂內容 可適應性編碼技術,也就是根據編碼內容統計某些代碼出現機率。而產生一個最適合目 前影像編碼表,這種方法可以提高壓縮比,而且是屬於動態編碼表,可以運用在各種不 同影像序列。不像過去對每種影像都使用固定編碼表,其壓縮比會比較差。H.264/AVC 在內容可適性編碼可分為可調適性可變長度編碼[6-9]與基於上下文適應二進制算數編

碼(CABAC) [6-9]兩種技術:

可調適性可變長度編碼(CAVLC),其基本原理跟過去標準視訊編碼層相同。

基於上下文適應二進制算數編碼(CABAC),複雜度較高,却可以提供比較高壓縮

(20)

比,尤其是運用在數位電視影片中。

2.3 內嵌式去區塊效應濾波器 內嵌式去區塊效應濾波器 內嵌式去區塊效應濾波器 內嵌式去區塊效應濾波器

過去視訊編碼過程,會產生大家所熟知的區塊效應(blocking effect),為了降低此區 塊效應對於視訊品質的影響。H.264/AVC 中將內嵌式區塊效應濾波器納入其基本流程 裡,並且以 4x4 模式區塊為單位來做處理,其處理順序如圖 5 所示,由邊界 a 一直處理 到邊界 l。由於 H.264/AVC 是一種利用可變區塊大小方式的壓縮方法。假如移動物體是 在邊緣上,有些區塊沒辦法光用可變區塊大小模式就可以判斷,所以比較會有區塊效應

(block-effect)現象。雖然 H.264/AVC 採用 4*4 模式轉換可以稍減區塊效應現象。但是在 影像比較平滑區域,仍須靠著內嵌式去區塊效應濾波器來做影像品質修正處理。內嵌式 去區塊效應濾波器可分成 post filter 與 in-loop filter[6,7]。所謂 post filter 是在解碼流程完 成後再進行,較具實際彈性,好處是可以依照應用複雜度,有彈性決定該濾波器實作方 式。所謂 in-loop filter 就是直接規範在編解碼流程,雖然會增加複雜度。但若做為接收 端 inter 預估參考畫面,由於經過濾波器處理後的影像品質比較好,若以此做為畫面間 預估的參考對象,預估精確度會大幅提升,因而增加了壓縮比。

圖5 loop-filter 處理順序示意圖

(21)

2.4 多重參考畫面 多重參考畫面 多重參考畫面 多重參考畫面

過去壓縮標準所使用的移動預估,只使用前一張畫面來做為預估參考對象。

H.264/AVC 則提供多重參考畫面來做為預估對象。而多重參考畫面是一個畫面組,其包 含一至數張畫面,可能由三種編碼各異的畫面組成,可分成 I、P、B 畫面。I 畫面[6-8]

(Intra coded picture)利用原始影像做編碼,而沒有參考其他畫面。P 畫面[6-8](Predicted

coded picture)使用移動向量預估(Motion Estimation),根據 intra 模式預估和 inter 模 式預估方式編碼而來,在過去標準所參考的畫面只有一張,但在 H.264/AVC 中可允許 參考畫面最多可達 5 張。B 畫面[6-8](Bi-predictive coded picture)採用雙向編碼,與 P 畫面類似,B 畫面預估與過去標準有很大不同。過去標準在 B 畫面被限定只能由前一張 和後一張的 I 或 P 畫面來做 inter 預估。H.264/AVC 除了可參考前一張與後一張影像的 I 或 P 畫面,亦可用前 5 張或後 5 張參考畫面來編碼,對於突然出現的物件,參考後的畫

面,可以達到更佳預估效果。多重參考畫面[11-15]如下圖 6 所示

前一張與後一張畫面 所預估區塊應該是最佳結果,因其相關性最強,但在某些情況下却不見得如此,所以最 後所決定區塊,可能是跨越多幅畫面所得到結果,最多可達 31 張,使得移動向量不再 只是運用前後相鄰畫面來做判斷。

圖6 多重參考畫面

(22)

2.5 畫面內預估 畫面內預估 畫面內預估 畫面內預估(Intra4*4 and Intra16*16)

過 去 壓 縮 標 準 在 空 間 領 域 進 行 模 式 預 估 時 , 多 半 只 將 轉 換 係 數 做 差 值 編 碼 。

H.264/AVC 在空間領域進行像素點之間預估,不是用轉換過係數。茲提供兩種 intra 模 式預估:

如下圖 7 所示:Intra4*4 模式[16-18]是以 4*4 亮度子區塊為單位,找出適合參考畫面 之後,將其與參考畫面相減後所產生的差餘影像,藉以尋找參考畫面。其模式共有九種 預估方向,其方法適合編碼有顯著細節部分。為了避免錯誤發生,intra 模式編碼只限定 對鄰近區塊做預估。

圖 7 Intra_4x4 模式預估

Intra16*16 模式[16-18]適合編碼影片裡平滑區域,主要提供四種預估方向(如下圖 8 所示),即垂直預估、水平預估、平均預估、平面預估,其方式與 Intra4*4 模式類似。

垂直預估是把 a、e、i、m 指定到 A 樣本; b、f、j、n 指定到 B 樣本,其餘依此類推。

水平預估則是把 a、b、c、d 指定到 I 樣本;e、f、g、h 指定到 J 樣本,其餘依此類推。

平均預估是將所有鄰近之像素點取平均值再填入指定樣本。面預估是沿著對角線方向,

把鄰近之樣本數值,依一定權重做處理,再依對角線方向填入預定樣本中。

(23)

圖 8 Intra_16x16 模式預估

2.6

可變區塊大小 可變區塊大小 可變區塊大小 可變區塊大小

過去壓縮標準都用固定區塊大小16*16做預估。導致模式判斷不夠精確,所以

H.264/AVC為了增加比對彈性並降低比對誤差,提供7種不同大小模式區塊以供選擇 [19-23],如下圖9所示。7種模式即16 × 16、16 × 8、8 × 16、8 × 8、8 × 4、4 × 8、4 × 4,

使移動補償可以更彈性選擇區塊大小,增加編碼品質,但同時也大幅增加編碼端計算複 雜度。根據畫面複雜度採用不同區塊大小,畫面複雜部分使用比較小的區塊表示;平滑 部分則用比較大的區塊表示。

圖9 H.264/AVC可選擇區塊

以上這6種方法為H.264/AVC與過去標準不同的新技術改良,因為新增可變區塊大

(24)

小模式區塊,所以能提高模式判斷精確度,也可以減少模式判斷預估數目,但却使複雜 度大幅提升,所以在第三章將以模式決策為基準的視訊壓縮編碼技術中,提出幾個演算 法,針對複雜度問題來做改良。

第 第 第

第 3 章 章 章 章 相關 相關 相關研究 相關 研究 研究探討 研究 探討 探討 探討

以模式決策為基準的視訊壓縮編碼技術。移動預估(motion estimation)為最重要核心 方法之一。最主要目的是利用前張和後張畫面相關性來消除視訊畫面在時間上的累贅。

演算法中區塊比對方式,最直接方法是採用完全搜尋方式(FS)。以前一張重建的影像畫 面做為參考,在其搜尋範圍內,找到最佳區塊,雖然計算量多且複雜,但實作簡單。另 一類演算法不會比對搜尋範圍內所有區塊,只取鄰近區塊做比對,以達到快速搜尋目 的。這兩種演算法最常用方式是 SAD。其做法是進行目前比對區塊與所找到最佳區塊做 差值運算,並用這些數值找到最佳結果做模式預估。如下面式子(1)所示:由於相鄰畫 面間像素相似性相當高,因此可以運用預估編碼原理,並利用既有畫面資料來預估所要 壓縮的畫面資料,只對有誤差的資料進行編碼。移動預估演算法好壞,對整個視訊壓縮 品質有極大影響。

1 1

( ) ( )

0 0

( , ) , ,

M N

i j

SAD m n c i j s i m j n

= =

= ∑ ∑ − + +

(1)

m,n 為移動向量,M、N 表示此區塊大小,c(i,j)表示目前畫面像素值,s(i,j)表示 參考畫面像素值,而移動向量即是選擇將SAD(m,n)最小化m,n。

我們通常希望視訊壓縮可以同時達到高影像壓縮比與較高畫面品質。但通常此兩 者是相衝突的。對於固定區塊大小比對而言,模式預估數目會增加。因此要降低模式預 估數目,唯一方法就是要加大區塊,當所選擇區塊越大,雖然可以得到比較少的移動向

(25)

量,但比對誤差也跟著變大。為了解決比對誤差變大問題,我們提出可變區塊大小來做 改善。對於影像不同區域,根據實際動態影像給予不同程度的移動向量。對於複雜區域 使用較小區塊;平滑區域則使用較大區塊,但對於要如何適當選擇模式大小,是一個相 當複雜問題,以下將介紹用可變區塊大小為基準而提出的相關探討論文。

3.1 利用 利用 利用 利用 Sobel 邊緣計算 邊緣計算 邊緣計算方法 邊緣計算 方法 方法 方法

利用Sobel邊緣計算方式[24-27]算出每個像素邊緣向量。若一個巨區塊邊緣向量強度 小於某一個臨界值,就是屬於同質性區塊,則其區塊透過Sobel邊緣偵測技術來實作。否 則,若使用全部模式,其區塊內邊緣強度較大,則不是同質性區塊,其使用在較小區塊 模式中(例如8*8、8*4、4*8、4*4),將較大區塊模式關閉。反之,則判定為同質性區塊,

其使用在較大區塊模式(例如16x16、16x8以及8x16),而將較小區塊模式關閉。若區 塊內材質較為平滑,即使是運動物體也多半不會被切割成比較小區塊,只做16*16、

16*8、8*16的inter模式移動預估即可。

若同一個位置的16*16模式區塊,差異值在某一個臨界值之內,就是屬於靜止性區 塊,判定為靜止部分區塊僅使用較大區塊 (skip mode)而將較小區塊排除,及只做16*16 模式移動預估。此方法優點是可以更精確判斷出模式決策。其缺點是在判斷Sobel邊緣偵 測技術時,有很多計算上複雜度問題。如下圖10所示:分割方式如果是選擇較大區塊 (16x16、16x8、8x16)來編碼,表示只需要以較少位元率來編移動向量(Motion Vector)。

但是相對會造成移動預估差值(Residual)較大。相反如果是選擇較小區塊(8x4、4x4 等 等…)移動預估差值會較小,不過也造成需要較多位元率表示移動向量資訊。因此,如 何適當選擇分割模式對於畫面品質有絕對影響力。一般來說,對於較平滑區域通常會選 擇大區塊分割模式;而小區塊分割模式較適用於畫面複雜度較高區塊。接下來我們提出

(26)

3.2節方法加以改良計算上複雜度問題。

圖10 平滑和靜止模式

3.2 利用移動向量合併 利用移動向量合併 利用移動向量合併 利用移動向量合併/ // /分割 分割 分割 分割之計算方法 之計算方法 之計算方法 之計算方法

如下圖 11 所示:針對 8*8 模式區塊做移動預估,比較 8*8 模式移動向量,每個子區 塊都必需求得移動向量差值。若移動向量差值小於既定之臨界值,表示大於 8*8 模式區 塊移動向量,可以利用 8*8 模式移動向量合併作預估[28],否則,每種模式都必須去搜 尋其移動向量,其時間複雜度就會提高。

(27)

圖 11 8*8 區塊預估向量合併 16*8、8*16、16*16 區塊

如圖11所示,一個8x8模式可分為

MV 、

A

MV 、

B

MV

C

MV 等4個子區塊移動向

D 量。而16x8 與8x16 區塊預測向量做法如下面式子所示:

( )

( )

( )

( )

2 2 2 2

A B

E

C D

F

A C

G

B D

H

MV MV MVP

MV MV MVP

MV MV MVP

MV MV MVP

= +

= +

= +

= +

(2)

若要預測16x16大區塊移動向量,其作法則由前面所預估出來的16x8 與8x16移動向量來 合成,如下面式子所示:

( )

4

E F G H

I

MV MV MV MV

MVP = + + +

(3)

如下圖12所示:若要預估較小區塊移動向量,如4x8、8x4 與4x4模式較小區塊,此 時預估移動向量是採用移動向量分割方式。將8x8模式移動向量做分割[28],分割成8*8

(28)

較小區塊,分別求出移動向量差值。而4x8與8x4模式預估區塊作法,則不同於較大區塊。

首先4x8或8x4模式區塊預估向量,會對應到相對8x8模式子區塊移動向量,當做完4*8、

8*4這2個模式,而4x4模式區塊必須使用4x8與8x4模式區塊的移動向量取其平均之後的 數值來做預估向量之基準。其優點是移動向量合併與分割,可以減少大區塊判斷的預估 數目,使模式判斷選擇可以更精確。缺點是因為要計算移動向量數值,導致計算量增加。

我們將介紹3.3節的方式來改良導致計算量增加之缺點。

圖12 8*8區塊預估向量分割8*4、4*8、4*4區塊

(29)

3.3 利用 利用 利用 利用 DCT 計算方式 計算方式 計算方式 計算方式

如下圖13所示:必須分別計算出水平和垂直方向的數值,利用水平方向和垂直方向 的數值去判斷哪種情況下必須使用哪些區塊大小。若水平方向數值大於其既定臨界值,

則使用8*16模式。若垂直方向數值大於其既定臨界值,則使用16*8模式;若介於水平方 向和垂直方向的數值皆大於各別既定臨界值,在此二者之間,則使用P8*8模式。

此外,更細部的P8*8模式區塊,其預估模式方法與上面所提相似。若水平方向數值 大於其既定臨界值,則使用4*8模式。若垂直方向數值大於其既定臨界值,則使用8*4模 式。若介於水平方向和垂直方向數值皆大於各別既定臨界值,在此二者之間,則使用4*4 模式。DCT計算方式[29-33]的優點是可以減少區塊模式選擇,比較能精確的判斷模式。

缺點是要分別計算出水平和垂直方向的移動向量,用這些數值來做模式預估,使得計算 量增加。有關計算量增加問題,我們將在第3.4節裡介紹改良方式。

16 16

16 16

16 16 &&16 16 v

v

H V

V

H

H V

α α

α α

>

>

> >

8 8

8 8

8 8 &&8 8 v

v

H V

V

H

H V

α α

α α

>

>

> >

圖 13 DCT 計算方式的可用模式

(30)

3.4 利用 利用 利用 利用 2*2 濾波器 濾波器 濾波器 濾波器來 來 來 來計算不同角度之快速 計算不同角度之快速 計算不同角度之快速 計算不同角度之快速 intra 模式 模式 模式 模式

如圖 14 所示:利用五種不同邊緣樣式對應於 intra4*4 模式的九種預估方向,邊緣偵 測過程必須利用空間領域 2*2 濾波器[34-35]。經由 2*2 濾波器定義出五種不同方向濾波 器係數去計算不同角度(如垂直,水平,45 對角,135 對角,和沒有方向性的邊緣),再 用這五種不同方向濾波器係數,判斷該使用哪些模式。

其優點是只要利用這五種不同濾波器係數就能判斷出所有模式;缺點是要計算其濾 波器係數,再用這些係數去做判斷模式決策,此方法有稍微改進前面所提出幾種方式所 碰到的複雜度問題,但還是不夠快速。

0v

1

f = f

1v

=− 1 f

0h

= 1 f

1h

= 1 f

045o

= 2 f

145o

= 0 f

0135o

= 0 f

1135o

= 2 f

0nd

= 2 f

1nd

=− 2

2v

1

f = f

3v

=− 1 f

2h

=− 1 f

3h

=− 1

45

2

0

f

o

= f

345o

=− 2 f

2135o

=− 2 f

3135o

= 0 f

2nd

=− 2 f

3nd

= 2

圖 14 垂直,水平,45 對角,135 對角,和沒有方向性的邊緣圖

(31)

第 第 第

第 4 章 章 章 以移動向量之快速 章 以移動向量之快速 以移動向量之快速 以移動向量之快速 intra/inter 模式決策 模式決策 模式決策 模式決策的方法 的方法 的方法 的方法

前一章所介紹 4 種不同預估方式相關模式決策探討,因為使用可變區塊大小緣故,

使得整個模式判斷更精確。但却使複雜度上升。為了降低複雜度問題

提出我們的方法。

針對複雜度問題進行改善,此方法優點是沒有太多計算量,可以大幅降低時間複雜度,

而且畫面品質和位元率也都有一定效能維持。

我們可以利用移動向量去判斷影片特性。而對於影片序列,不可能只有平滑移動物 件或靜止不動物件,因為整個影像序列是由很多不同移動向量所組成。並架構於可變區 塊大小動態搜尋,再藉由區間值判斷來預估最佳模式區塊大小,可以降低可變區塊大小 比對所需的高運算量。

4.1 移動向量與區塊大小之關連分析 移動向量與區塊大小之關連分析 移動向量與區塊大小之關連分析 移動向量與區塊大小之關連分析

在傳統技術中,預估畫面皆使用固定區塊大小16*16來判斷,但此移動預估方式無 法適用所有影像序列,以致於處理出來的效能都不是很好。因此,在傳統技術只使用大 區 塊 16*16做 為影像 序列判斷 標準是不 夠 的。針對 選擇區塊 不 足的缺點 做改善,

H.264/AVC提出可變區塊大小方式來實作。為了增加比對彈性並降低比對誤差,因此提 供7種不同大小區塊以供選擇,包含16 × 16、16 × 8、8 × 16、8 × 8、8 × 4、4 × 8、4 × 4,

使移動補償可以更彈性選擇區塊大小,增加編碼品質。但同時也大幅增加編碼端計算複 雜度。

為了改善計算複雜度問題,所以提出我們的方法來徹底改良複雜度問題,其優點是 複雜度可以大幅降低,又可以更快速決定出其判斷模式決策。本論文移動向量數值大 小,可以用來判斷影像序列特性,所以我們可以將intra模式分成四個區間,分別表示靜

(32)

止、快、慢與更細微區塊。同時將inter模式分成3個區間,分別表示靜止、慢與全部模 式做判斷。

我們所提出intra模式跟傳統方式提出intra模式用法是大同小異,因為影片中可能有 一些地方移動量太大,無法單純使用可變區塊大小模式判斷,所以在影片中針對移動量 更大部分就用intra模式判斷。intra模式可以分成intra4*4模式和intra16*16模式。Intra4*4 模式以4*4亮度子區塊為單位,找出適合參考畫面之後,並將其與參考畫面相減後所產 生的差餘影像,藉以尋找參考畫面。其方法適合編碼有顯著細節部分。為了避免錯誤發 生,intra編碼只限定對鄰近區塊做預估。複雜影像區域使用intra4*4 模式最合適。

Intra16*16模式以P16(mode1~3)來判斷,因為intra 16*16模式是屬於比較平坦模式。我們 的方法架構在可變區塊大小模式做判斷,此方式分成七種不同模式大小,可以因應影片 序列特性上不同,因此精確度會提高,同時不需要全部的模式都做判斷,所以複雜度相 對下降許多。

介紹完intra4*4和intra16*16。我們發現如果影像序列是屬於移動量較大,在選擇模 式區塊上必須要用較小的區塊判斷。若無法以可變區塊大小的七種模式來判斷的話,表 示移動量非常大,我們除了用較小區塊判斷外,還要加入intra模式,才會夠精確。移動 量較小,在選擇區塊上必須要用較大的區塊來判斷。但是要如何才能知道影片序列是屬 於何種特性,最簡單方式就是使用移動向量預估,來判斷影像序列在每個區塊是屬於何 種特性,依其特性可以知道該模式要如何正確選擇。因此由上述得知,如何正確選擇模 式也是很重要的一項,如果模式選擇不正確,就會增加判斷上複雜度,使其效能不佳,

所以如何判斷模式選擇問題,也是未來要研究重要課題之一。

為了解決判斷模式選擇問題,我們分為 inter 和 intra 模式。我們將 inter 模式用來實 驗的 7 種不同影像序列做特性分析來做為我們實驗的依據,包含 akiyo、coastguard、

(33)

container、foreman、mother_daughter、silent 與 suzie。同時將 intra 模式用來實驗的 5 種 不同影像序列做特性分析來做為我們實驗的依據,包含 coastguard、container、foreman、

news、silent。針對 akiyo 這個影像序列而言,整個影像序列屬於低移動量,幾乎大部分 都是由背景組成,只有人的嘴巴和頭有些微變化,此部分將用較小模式判斷。對於整個 影像序列而言,是由移動量較小區塊和靜止區塊所構成,移動量較小區塊經過移動向量 數值統計過後,發現大部分都集中在 mode1~3 模式。靜止不動區塊都集中在 skip 模式,

此影像序列並沒有移動量更大區塊。所以並沒有 intra 模式判斷。

如下圖 15 所示:第二種影片序列為 coastguard,整個影片序列大部分區塊屬於移動 量較大。在影片序列中,由於水流動速度很急速,鏡頭會跟著場景移動,同時船隻快速 向前移動。所以整個影片用較小模式(mode4、mode5、mode6、mode7)判斷。如,鏡頭 跟場景移動,同時船快速向前移動,此處移動量較大。有些更細部區塊,因為移動向量 數值特別大,如,水流動速度很快,此處移動向量數值都非常大,用一般區塊大小無法 判斷,所以必須使用 intra 模式,此處只使用 intra9,我們把 intra10 關閉。所以整個影像 序列必須要用較小模式占的比例較多。Intra 模式占的比例最少。而屬於較慢區塊和靜止 不動區塊部分比例較少。如下圖紅色區塊是表示移動量更大區塊部份,經過移動向量數 據統計過後,這些部份要用 intra 模式來判斷。

(34)

圖 15 coastguard 影像序列下移動量更大區塊部份

如圖 16 所示:針對第 3 個影片序列為 container,整個影像序列屬於低移動量。由 於船隻慢慢往前移動,在船身的地方有些微變化移動量稍微大一點,此部分則要用較小 模式。其他區塊大部分都是由背景所組成,此部分要使用 skip 來做判斷。如下圖紅色區 塊所示,經過移動向量數據統計過後,屬於移動量更大部份,要用 intra 模式判斷。Intra 模式分佈得很少。大部分使用 skip 模式與比較大模式。

(35)

圖 16 container 影像序列下移動量更大區塊部份

針對第四個影片序列為 foreman,整個影像序列屬於中和快之間的移動量。以單調 工地作為背景,此部分要使用 skip 做判斷。鏡頭前工頭在說話時臉部表情動作極大。如 圖 17 所示,紅色區塊部分是移動量更大的部分,必須使用 intra 模式,但 intra 模式分 佈得很少。而鏡頭則有些許晃動,且頭部有左右與前後移動,在這些地方移動向量數值 較大,移動量較大部分在模式選擇上必須使用較小模式,包含 mode4~7 表示。以這個影 片序列而言,大部分屬於移動量較大區塊,所以整個影像序列必須使用較小模式占的比 例最多,Intra 模式占的比例最少。而移動量較小區塊和靜止不動區塊占的比例較少。

(36)

圖 17 foreman 影像序列下移動量更大區塊部份

針對第六種影片序列為 mother_daughter,整個影像序列屬於低移動量。背景屬於單 調靜止不動,此部分要使用 skip 做判斷。鏡頭前母女臉部僅有些微變動,此處要使用較 小模式來判斷。如下圖 18 所示:因為移動向量數值較大的關係,紅色區塊部分要使用 較小模式判斷,而頭與手部則有較大移動量。如下圖 19 所示:紅色區塊所示,經過移 動向量數據統計過後,因為移動向量數值更大的關係,所以用 intra 模式判斷。但 intra 模式分佈很少。大部分區塊屬於背景和臉部有些微變化,所以此影像序列大部分使用較 大模式(mode1、mode2、mode3)。只有某些部分區塊有較大移動向量數值,所以此部分 必須要使用較小模式(mode5,mode6) 。

(37)

圖 18 mother_daughter 影像序列下使用較小模式來判斷

以下將詳細介紹,利用移動向量方式判斷其區塊不同特性,依照特性給予適當區塊 模式。Block:18、19、20、29、30、31、32、40、41、42、43、48、49、50、51、52、

53、54、59、60、61、62、63、64、65、69、70、71、72、73、74、79、80、81、82、

83、90、91、92、93、94、95。上述為 mother_daughter 移動較大區塊,經移動向量數 據統計過後,發現大部分都集中在 mode4~7 模式。

移動量較小區塊在 block:21、28、35、36、37、38、39、46、47、55、56、57、58、

67、68、75、84、85、86、87、89、96、97、98。經移動向量數據統計過後,大部分都 集中在 mode1~3 模式。靜止不動區塊在 block:0、1、2、3、4、5、6、7、8、9、10、11、

12、13、14、15、16、17、22、23、24、25、26、27、33、34、44、45、66、77、78、

88,經移動向量數據統計過後集中在 skip 模式。

(38)

圖 19 mother_daughter 影像序列下移動量更大區塊部份

如圖 20 所示:針對第 7 個影片序列為 news,整個影像序列屬於低移動量。可以看 到整個 sequence 大部分同質性的區塊是由背景所組成,使用 skip 來表示。動的比較緩 慢的部分,以 news 這個 sequence 而言,男生和女生播報員的衣服部分使用 16*16 來編 碼,因為移動向量數值比較小的關係 ,其方法是使用 mode1~3 和 mode10(intra 16*16)。

後面布幕上的舞者,因為移動向量數值較大,有較大的移動量,在編碼的時候用較小的 模式編碼 mode4~7。如下圖紅色區塊所示,經移動向量數據統計過後,所以用 intra 模 式判斷,此處使用全部模式與 mode9 來判斷。

(39)

圖 20 news 影像序列下移動量更大區塊部份

如圖 21 所示:針對第 8 個影片序列為 silent,整個影像序列屬於低移動量。手臂部 分屬於移動量較大區塊,所以用較小區塊模式判斷。但此影像序列移動向量數值呈現出 來都很小。會產生此種現象是因為移動量較大地方跟背景重疊,所以此影像序列屬於比 較特別的影片。此影像序列而言,則是有些許區塊移動量更大。如下圖紅色區塊所示,

經移動向量數據統計過後,所以用 intra 模式判斷。但 intra 模式分佈很少。此 sequence 大部分用 skip 與較大模式。移動量較大部分經過移動向量數據統計過後,大部分都集中 在 mode4~7 模式。靜止不動部分集中在 skip 模式。

(40)

圖 21 silent 影像序列下移動量更大區塊部份

最後一個影像序列為 suzie,整個影像序列屬於低移動量。此影像序列為一個女生 在講電話,頭和嘴會有些微變化,此部分要用較小模式判斷。大部分都是背景組成,此 部分要用 skip 模式判斷。整個影像序列是由移動量較小區塊和屬於靜止區塊所構成。移 動量較小區塊經移動向量數據統計過後,發現大部分都集中在 mode1~3 模式;靜止不 動區塊都集中在 skip 模式。

根據以上 8 種不同影像序列介紹,可以利用移動向量的數值來決定影像序列要使用 何種模式判斷,因此可以知道移動向量與不同特性影片序列相關性是非常高的。但此八 種不同影像序列都會產生區塊誤判的問題。由於在背景中也有被判斷為 intra 模式部分,

其 intra 模式分佈的較少,但我們假如使用過多的 intra 模式,會產生誤判的問題。可以 把 intra 模式判斷的區間值設定少一點,把 P16*16 和 P8*8 模式判斷的區間值設多一點,

來解決此問題。

介紹完針對不同 sequence 的特性如何正確選用模式。接下來將介紹我們的實作方

(41)

法。我們的方法可以分成 intra 模式方法和 inter 模式方法。第一個演算法是 intra 模式方 法,將使用移動量比較大的影片如 foreman。如圖 22 所示:

圖 22 intra 模式演算法

4.2 快速 快速 快速 快速 Intra 模式 模式 模式 模式演算法 演算法 演算法 演算法

 區塊中移動向量值為零,可以判斷此區塊是背景,此部分可以用 skip(背景)表示。

 區塊中移動向量值較小,可以判斷為比較慢或屬於平滑區塊,此部分可以用

P16*16(mode1、mode2、mode3)和 mode10(intra 16*16)表示。

 區 塊 中 移 動 向 量 值 較 大 , 可 以 判 斷 為 移 動 量 較 大 區 塊 , 此 部 分 可 以 用

P8*8(mode4、mode5、mode6、mode7)表示。

 檢查全部模式,包含 mode1~7 和 mode9(intra4*4)做判斷,最終再由程式決定最佳 模式。

加以介紹上述演算法以區間做分析判斷,其 Intra 模式判斷演算法有 4 種判 斷方法:

 mvv< 1:直接判斷是否為 skip(背景),其他模式則關閉。

(42)

 1≦mvv≦7:屬於較慢部分,用來判斷模式 1、2、 3、10(intra 16*16),其他模式 則關閉。

 8≦mvv≦9:屬於較快部分,用來判斷 P8*8(mode4~7),其他模式則關閉。

 mvv>10:判斷所有模式,包含 mode1~7 和 mode9(intra 4*4)。

我們會利用移動向量數值(mvv)去判斷 sequence 的移動特性。本論文的移動向 量數值在 JM 的程式中就已經算出,此部分只取其值出來用,所以並沒有任何計算 量,所以可以節省很多編碼時間。

預估方式是由於 sequence 的時間連續性。可以知道前面所編碼過的區塊與我們 所要編碼的區塊相關性是非常高。所以可以用前面編碼過的區塊來代替目前要編碼 的區塊。接下來我們會依照不同特性的 sequence 去做判斷分析。就會有不同的模式 可以選擇。同時統計移動向量數值的分佈,統計分佈請參考(4.3 節)最後可以知道統 計出來的數值分佈在哪個區間內,我們的方法則是架構在此模式下實作。實作出來 的可用模式如下表 3。

我們再判斷 intra 模式時,因為其分佈非常少,可以把 intra 模式判斷的區間值設 定少一點,把 P16*16 和 P8*8 模式判斷的區間值設多一點,來解決此問題。因為使 用過多的 intra 模式,會產生誤判的問題,而且會使位元率變差。

表 3 intra 可用模式

Motion vector value Available modes

mvv< 1 skip

1≦mvv≦7 Mode1 && mode2 && mode3 && mode10(intra16*16)

8≦mvv≦9 Mode4~7

mvv>10 Mode1~7 && mode9(intra4*4)

(43)

根據上述演算法,實作出來的結果,intra 預估時間上節省最多約 75%,品質約 0.02db 和位元率約 3.0 kbit/s,以百分比來說的話畫面品質降低很少,位元率也只提升一點點,

可節省的時間比傳統提出的演算法還要多,品質和位元率與傳統所提出的方法也可以有 所維持。最後我們把影片中用到移動量更大部分額外拿出來探討,包含 Coastguard ,

container, foreman,mother_daughter,silent、suzie 與 news 七種不同影像序列。此七 種不同影像序列特性,假如只使用移動量較大區塊,移動量較小區塊與靜止區塊來判 斷。在移動量非常大區塊容易會出問題照成判斷區塊大小錯誤,所以我們增加一個 intra 模式判斷移動量更大地方。

為了更精確判斷適當模式區塊,因此區間值如何設定是很重要的。所以在 Intra/模 式可以由影片特性做區間值調整。Intra 模式區間值越少,則表示要做模式選擇,因此時 間會節省比較少,而畫面品質會比較差一點,但位元率會變好。Intra 模式臨界值越多,

表示只要做 intra 模式,其他模式不用判斷,所以時間會節省比較多,但畫面品質會比 較好,位元率將會變差。介紹完 intra 模式我們將介紹 inter 模式判斷演算法。

4.3 快速 快速 快速 快速 Inter 模式演算法 模式演算法 模式演算法 模式演算法

Inter 模式判斷演算法跟 intra 模式演算法判斷差不多,不過 inter 模式並沒有判斷 P8*8(mode4~7),所以我們用判斷全部 mode(mode1~7)取代 P8*8。因為 Inter 模式屬於較 小移動量,所以用不到 intra 模式,此處把 intra 模式關閉。其他判斷方式跟 intra 模式一 樣。Inter 模式屬於移動量較小影片,所以採用 akiyo。如圖示 23:

(44)

圖 23 inter 模式演算法

 mvv< 1:直接判斷是否為 SKIP(背景),其他模式則關閉。

 1≦mvv≦6:移動量較慢部分,用來判斷 mode 1、2、3,其他模式則關閉。

 mvv>7:檢查全部 mode(mode1~7),最後由程式決定最佳區塊大小。

此部份的預估方式與 intra 模式很類似,所以這部份請參閱(32 頁) 。實作出 來的可用模式如下表 4

根據上述演算法,實作出來的結果,inter 預估時間上節省最多約 71%,品質約

0.03db 和位元率約 0.014 kbit/s,以百分比來說的話畫面品質降低很少,位元率也只 提升一點點,可節省的時間比傳統提出的演算法還要多,品質和位元率與傳統所提 出的方法也可以有所維持。

表 4 inter 可用模式

Motion vector value Available modes

mvv<1 skip

1≦mvv≦6 Mode1 && mode2 && mode3

mvv>7 Mode1~7

(45)

4.4 區塊的分佈 區塊的分佈 區塊的分佈 區塊的分佈

看完 intra/inter 模式演算法後,可以發現不同影像序列中,模式區塊分佈情況都有 所差異,所以模式區塊如何選取,會影響整個效能。接下來介紹其方法區塊大小分佈情 況,可以看出某些影像序列在哪些區塊大小分佈最多,可以知道影像序列大部分屬於哪 種特性。將介紹 intra/inter 模式方法與原始 JM 在區塊大小分佈比較。首先介紹 intra 模 式區塊大小分佈情況與原始 JM 在區塊大小分佈情況的比較。以圖表 5 與 6 所示:Intra 模式區塊大小分佈情況:

表 5: Intra 模式區塊大小分佈情況:

mode

sequence

Skip number

16*16 number

16*8 number

8*16 number

8*8 number

Intra number

coastguard 1372 1163 439 388 2790 22

Mother_daughter 4659 784 308 311 103 9

Foreman 1855 966 322 325 2670 36

news 3903 810 366 534 524 37

表 6:原始 JM (4 種 sequence 區塊大小分佈情況):

mode sequence

Skip number

16*16 number

16*8 number

8*16 number

8*8 number

Intra number coastguard 1342 3719 1386 1317 2016 120

Mother_daughter 6354 1475 653 753 539 126

Foreman 2297 2586 1131 1484 2192 210

news 7210 758 366 495 932 139

接下來將介紹 inter 模式區塊大小分佈情況與原始 JM 在區塊大小分佈情況的比較,

(46)

以表 7 與 8 所示。Inter 模式區塊大小分佈情況:

表 7:Inter 模式區塊大小分佈情況

mode sequence

Skip number

16*16 number

16*8 number

8*16 number

8*8 number

Intra number

akiyo 4630 599 303 360 282 0

coastguard 1171 2109 1031 720 1132 11

container 4663 788 315 275 128 5

foreman 1721 1631 807 854 1121 40

Mother_daughter 3546 1180 528 582 335 3

silent 3330 952 391 612 867 22

suzie 1889 1849 727 1040 627 42

表 8:原始 JM (7 種 sequence 區塊大小分佈情況)

mode sequence

Skip number

16*16 number

16*8 number

8*16 number

8*8 number

Intra number

akiyo 8085 657 259 325 475 99

coastguard 1342 3719 1386 1317 2016 120

container 7834 937 356 301 363 109

foreman 2297 2586 1131 1484 2192 210

Mother_daughter 6354 1475 653 753 539 126

silent 6268 1206 482 624 1099 221

suzie 3916 2590 1003 1162 933 296

由圖表可看出 intra 模式和 inter 模式都有做模式區塊判定。大部分影片都是由移動 量較大區塊、較小區塊、背景所組成。導致 Intra 模式判斷分佈得比較少。我們再判斷

(47)

intra 模式時,因其分佈非常少,可以把 intra 模式判斷的區間值設定少一點,把 P16*16 和 P8*8 模式判斷的區間值設多一點,來解決此問題。因為使用過多的 intra 模式,會產 生誤判的問題,而且會使位元率變差。

根據影像序列特性來做模式區塊判定,上述圖表是每種模式的分佈情況,動得較快 的 sequence,較小模式分佈就會比較多。但 intra 模式分佈很少。動得較慢的 sequence,

較大模式分佈就會比較多。使用此模式架構下做預估判斷,所以不用每種模式都去考 慮,可以省略一些模式,剩餘模式再由程式判斷最佳模式,用此方法降低時間複雜度。

而原始 JM 沒有做模式決定,就是每種模式都要做判斷,再由程式選出一個最佳模式。

此方法最耗時間,但也是最精確的方法,不過對一般硬體設備而言,我們希望可以及時 處理。

另外,由上面各項數據顯示,在 coastguard 和 foreman 兩個屬於移動量較大影像序 列,mode(P8*8)分佈比較多。Intra 模式部分很少。而其他移動量較小影像序列,mode(P8*8) 分佈較少。對於 coastguard 和 foreman 而言,在 mode0、1、 2、3 這幾個模式分佈比較 少。而其他影像序列在 mode0、1、2、3 這幾個模式分佈比較多。當然較快影像序列也 有慢與靜止部分,此部分是要靠移動向量判斷。而較慢影像序列也有快與靜止部分,皆 要看移動向量數值做判斷依據。

我們可以由數據看出整體影像特性模式分佈,但如何正確判斷其模式區塊,就要利 用區間值處理,區間值對於影像模式選擇是有一定重要性。所以如何設定區間值是主要 因素,區間值好壞會影響影像序列畫面品質及位元率,甚至影響速度。最後可以發現我 們的模式分佈跟原始 jm 模式分部有點出路,因為其參考的 frame 數不夠,導致影響到 最後的結果。而原始模式是從頭到尾每個 frame 的模式都去跑,最後才有程式選出最佳 的結果,比較精確。

(48)

第 第 第

第 5 章 章 章 章 實驗結果與分析 實驗結果與分析 實驗結果與分析 實驗結果與分析

前一章節所介紹 8 種不同影片序列,都有其不同影片序列特性,將利用可變區塊大 小影片與原始壓縮標準影片做實驗數據分析比較。將證明所提出的方法比過去標準所提 出的方法時間上有節省很多,而且畫面品質和位元率也有所維持。接下來下一章節 5.1 節介紹用哪些實驗環境與實驗數據比較和 5.2 節則用折線圖表示其效能、畫面品質與位 元率的比較結果。

5.1 實驗參數設定及實驗參數比較 實驗參數設定及實驗參數比較 實驗參數設定及實驗參數比較 實驗參數設定及實驗參數比較

首先將我們所提出以移動向量為基準之 intra/inter 模式決策判斷的實驗環境與 Sobel 邊緣計算方法之實驗環境做個總整理。實驗環境是架構在 JM12.2 版本[36]、總共使用

100 個訊框在不同的七種影像序列、search range= ±16、use fast ME。以下將用數據展現 我們的方法與 Sobel 計算方法[24-27]做比較。如表 9 所示:

表 9:我們的方法與 Sobel 計算方法比較

Proposed method Sobel method

∆PSNR

%

∆bit rate

%

∆time

%

sequence ∆PSNR ∆bit rate ∆time sequence

-0.05 db -0.001%

-0.4 kbit/s -0.0004%

-68.845% akiyo -0.05db -0.047kbit/s -43.195% akiyo

-0.01 db -0.0002%

-0.1kbit/s -0.00001%

-71.793% coastguard -0.03db 0.043 kbit/s -56.905% coastguad

-0.02 db -0.4kbit/s -76.088% container -0.01db 0.102 kbit/s -48.983% container

參考文獻

相關文件

 for…迴圈自初值開始判斷 &lt;條件判斷&gt; 是否為 true,若為 true 則執行 for 迴圈內的敘述,並依 &lt;增量值&gt;,每次增 加 (或減少) 指定的增量值,直至 &lt;條件判斷&gt;

Keywords: pattern classification, FRBCS, fuzzy GBML, fuzzy model, genetic algorithm... 第一章

從物料、媒介和 形式的選擇、技 術掌握、及個別 作品的處理,以 判斷所表現的創. 意及想像力

在【逐步解析 1】中,共需要輸入 2 個答案,為了避免「後面 輸入的答案(數學分數)」取代「前面的答案(國文分數)」,我 們要利用 2 個不同的變數來區別兩者,並以變數

[r]

介面最佳化之資料探勘模組是利用 Apriori 演算法探勘出操作者操作介面之 關聯式法則,而後以法則的型態儲存於介面最佳化知識庫中。當有

李友錚【5】指出有關顧客需求特性的探討目前以 Kano 二維品質模式 最具代表。因此,可以利用 Kano

則巢式 Logit 模型可簡化為多項 Logit 模型。在分析時,巢式 Logit 模型及 多項 Logit 模型皆可以分析多方案指標之聯合選擇,唯巢式 Logit