• 沒有找到結果。

I-Shou University Institutional Repository:Item 987654321/18713

N/A
N/A
Protected

Academic year: 2021

Share "I-Shou University Institutional Repository:Item 987654321/18713"

Copied!
95
0
0

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

全文

(1)

應用於 SHVC 視訊標準之高效率 DPB 管理器

與 DSP 實現

An efficient manager for decoded picture buffer (DPB)

based on scalable high-efficiency video coding (SHVC)

standard and DSP implementation.

研究生:廖彥慈

指導教授:王周珍 博士

共同指導:高榮揚 副理

義守大學

電子工程學系

碩士班碩士論文

A Thesis Submitted to

Department of Electronic Engineering

I-Shou University

in

Partial Fulfillment of the Requirements

for the Master degree

with a

Major in Electronic Engineering

July, 2015

Kaohsiung, Taiwan

Republic of China

(2)
(3)

i

應用於 SHVC 視訊標準之高效率 DPB 管理器

與 DSP 實現

研究生:廖彥慈 指導教授:王周珍

義守大學電子工程研究所

摘要

為了提供消費者超高畫質(UHD)解析度的訊服務,JVT-VC 於 2013 年 1 月訂 定高效能視訊編碼(high efficiency video coding: HEVC) 標準並商品化,ITU-T 則 將 HEVC 訂定為 H.265 視訊編碼規範。另為使 HEVC 更具商業價值,JVT-VC 並 於 2014 年 7 月完成可調 HEVC 視訊標準(scalable high-efficiency video coding: SHVC),來作為 HEVC 的延伸應用。然而,新制訂的 SHVC 視訊標準,採用多 層迴路架構(multi-loop architecture),因此每一參考畫面需完全解碼後,才能進行 內部各層間的參數預測,導致 SHVC 解碼端需增加解碼畫面緩衝器(decoded picture buffer: DPB)大小來儲存每一層的參考畫面,並且加大記憶體頻寬(memory bandwidth)來執行運動補償(motion compensation: MC)。因此,若不改善 SHVC 解 碼過程中 DPB 所佔用的記憶體容量,當 UHD 視訊應用在記憶體有限的行動裝 置環境中,將導致 SHVC 解碼效能降低和視訊的延遲。 為了節省 SHVC 系統中 DPB 內參考畫面的記憶體使用量,最近蘇等人提出 動態虛擬 DPB(dynamic virtual DPB: DV-DPB)配置演算法[17], DV-DPB 配置演 算法首先設定 1/2 DPB 大小為虛擬 DPB,再利用當前解碼畫面與參考畫面之相 對位置具高關聯性的特性,利用儲存高關聯性區塊的引索值(index)於虛擬 DPB 中,來減少解碼畫面資料在 DPB 的儲存,雖然 DV-DPB 配置演算法能夠節省 DPB

(4)

ii 的容量,但是當它應用在移動較大的視訊時,會導致解碼效能不佳且發生視訊延 遲的問題。 為了解決 DV-DPB 配置演算法所遭遇的問題,本論文提出一個虛擬 DPB 管 理器(virtual DPB manager: VDPBM)來控制解碼畫面的存取,VDPBM 首先將 DPB 分為靜態及動態兩種型態 DPB,其中靜態 DPB(static DPB: S-DPB)主要儲存完整 解碼畫面,而動態 DPB(dynamic DPB: D-DPB)則是以動態儲存引索參數。VDPBM 首先根據視訊圖像群組(group of pictures: GOP)的大小和所需參考畫面數來設置 靜態 DPB 來記憶體容量大小,其次是規劃動態 DPB,利用解碼畫面與參考畫面 具高時間關聯性的特性,以 CTU (coding tree units)為單位進行三步搜尋演算法 (three step search algorithm:TSSA)找出 SAD (sum of absolute difference)最小的 CTU 區塊,最後將 SAD 和事先設定之門檻值(threshold)比較,若小於門檻值則儲 存預測的引索參數,否則儲存完整解碼的 CTU 參數。此外,為了有效完成 SHVC 解碼程序在 DSP 中實現,論文利用 Blackfin 系列 ADSP-BF548 開發板,並可將 專有指令對程式碼進行優化,在 VDSP 軟體開發工具編譯程式碼和進行除錯更 改,藉由記憶體的最佳配置,進一步提升解碼效率,最後成功將論文所提 SHVC 解碼器嵌入至 ADSP-BF548 開發板,並完成相關的軟、硬體測試,使能夠直接應 用到消費視訊電子產品上。 透過本論文所提出的方法降低記憶體使用量,並在 ADSP-BF548 開發板進 行實驗模擬,在 Random Access 時序結構並採用空間可調(spatial scalability)的實 驗條件之下,從實驗結果可以發現,所提出 VDPBM 比原本 DPB 平均可以節省 33.36%的容量,再解碼的影像品質只減少約 0.04 dB,當與 VB-DPB 配置演算法 相比,平均 VDPBM 可以再減少約 7.7%的 DPB 容量。

(5)

iii

An efficient manager for decoded picture buffer (DPB)

based on scalable high-efficiency video coding (SHVC)

standard and DSP implementation

Student: Yen-Tzu Liao Advisor: Chou-Chen Wang

Department of Electronic Engineering, I-Shou University

ABSTRACT

With the rapid development of electronic technology, the ultrahigh definition (UHD)

resolution of 4K2K (or 8K4K) will become the main video applications in future.

Therefore, the JCT-VC has been developed a newest high efficiency video coding (HEVC) to satisfy the UHD requirement in 2010, and the first version of HEVC was approved as ITU-T H.265 in Jan. 2013. To upgrade the HEVC used in heterogeneous access networks, the JCT-VC has been approved scalable extension of HEVC (SHVC) in July 2014. Based on the HEVC, the SHVC scheme supports multi-loop solutions by enabling different inter-layer prediction mechanisms. In multi-loop architecture, a full decoding loop takes place in every intermedia layer needed to decode a target layer. Although the multi-loop decoding architecture (MLDA) can achieve higher coding efficiency than the single-loop decoding architecture (SLDA), MLDR increases the decoded picture buffer (DPB) size and memory bandwidth for motion compensation (MC) on the decoder side. This leads to the reduction of decoded performance for SHVC.

In order to reduce the DPB size of SHVC decoder, Su et al. recently proposed a dynamic virtual DPB (DV-DPB) assigning algorithm which exploits inter-layer

(6)

iv

correlation between base layer (BL) and enhancement layer (EL) to predict the decoded picture to save the DPB size [17]. However, the DV-DPB algorithm is ineffective for video sequences with large and active motion. To further save the DPB size of SHVC, we design a virtual DPB manager (VDPBM) to control and storage the parameters and encoding data in this thesis. Firstly, the VDPBM divides DPB into two types of static DPB (S-DPB) and dynamic DPB (D-DPB). The S-DPB mainly stores the key decoded pictures for BL and ELs, and the D-DPB records the index parameter of current decoding unit. Secondly, the VDPBM sets S-DPB size according to the size of the group of picture (GOP) and the number of reference pictures. Thirdly, the VDPBM decides D-DPB size by analyzing the sum of absolute difference (SAD) between the current decoded frame and the reference frame. For fast and accurate finding the predicted CTU, we adopt well-known three step search algorithm (TSSA) to reach the target. Finally, a threshold of SAD is set to check whether it is good enough for reference frame in the VDPBM. If it is less than the threshold, only record the index parameter of current encoding CTU in D-DPB. In addition, to further achieve the DSP realization for the proposed SHVC decoder, we embed the codec on the ADSP-BF548. We re-allocate the function of consuming module from L3 DDR-RAM to L1 and L2 SRAM to speed up the decoding time of SHVC.

Experimental results show that the proposed method can achieve an average memory saving ratio (MSR) about 33.36%. Moreover the quality of picture has less change of PSNR. Compared with DV-DPB algorithm, the VDPBM can further achieve an average MSR about 7.7%. In addition, the proposed method can dynamically control the DPB to save memory size according to the characteristics of video sequence.

(7)

v

誌謝

轉眼間從大三專題生到現在研究所即將結束,回想起一開始懵懵懂懂大學生 的我,因緣際會之下來到影像通訊實驗室,經過了 4 年的學習過程,回想起這段 超乎漫長的日子,其實有許多的時刻是咬著牙撐過來的,雖然辛苦但是讓我覺得 獲益良多。在此要感謝指導教授王周珍博士,老師不辭辛勞的引導並培養我們, 在每次 meeting 討論時會指出我的問題並指點我正確的方向,在這過程中夠獲得 更多的啟示,而老師對學問的嚴謹更是我學習的典範,在此向老師致上最高的敬 意。 在實驗室的生活裡,首先要感謝在我剛進實驗室時指導我的蔡宜婕、莊宛穎、 陳翰彥學長姐,謝謝他們指導我寫程式的入門,在我有疑問的時候幫助我;還有 要感謝吳世新、林俊廷、蘇炳翰、謝昇宏學長,學長們的教學 PPT 和使用說明書 讓我在學習上省了不少寶貴的時間,而且學長們對寫程式的經驗分享也讓我受益 匪淺;另外,特別要感謝董棋偉學長,當我模擬板遇到瓶頸時,在忙碌工作後還 要指導我模擬板相關的程式和觀念,以及職場上的寶貴經驗和建議;當然也少不 了要感謝我的同袍戰友們奕安、明順一起在實驗室日以繼夜的趕進度、debug 以 及報告結束後的一起小酌,這段時間真是讓人非常難忘。還有感謝學弟妹俊儒、 博珽、采庭、亮亮及宏銘,常常在大熱天底下為我送上熱騰騰的早午餐,讓我每 天免於肚子飢餓時的四處奔波。 最後要感謝我的家人,感謝他們一直默默給予我支持與鼓勵,還有我的女朋 友惠芸,在背後的默默支持更是我前進的動力,沒有的體諒、包容,相信這幾年 的生活將是很不一樣的光景,使我能心無旁鶩的順利完成學業,感謝你們讓我在 求學生涯留下完美的句點。 謹以此論文獻給我的父母、師長及所有關心我的人

(8)

vi

目錄

摘要 ... i

ABSTRACT ... iii

誌謝 ... v

目錄 ... vi

圖目錄 ... ix

表目錄 ... xii

第一章 緒論... 1

1.1 研究背景 ... 1

1.2 研究動機 ... 3

1.3 論文架構 ... 4

第二章 SHVC 視訊編碼標準 ... 5

2.1 HEVC 視訊標準之簡介 ... 5

2.1.1 HEVC 視訊標準之架構 ... 6

2.2 SHVC 視訊標準與架構之簡介 ... 10

2.2.1 時間可調 ... 12

2.2.2 品質可調 ... 13

2.2.3 空間可調 ... 13

(9)

vii

2.3 SHVC 環境設置簡介 ... 14

2.4 SHVC 解碼圖像緩衝區(DPB) ... 18

2.4.1 解碼圖像緩衝區介紹 ... 18

2.4.2 參考圖像設置 ... 24

第三章 SHVC 之高效率 DPB 管理器 ... 26

3.1 DPB 之效能分析 ... 28

3.2 動態虛擬解碼圖像緩衝區 ... 32

3.3 高效率 DPB 管理器 ... 38

3.3.1 DPB 配置 ... 39

3.3.2 三步搜尋演算法 ... 42

3.3.3 引索標記儲存格式 ... 43

3.3.4 門檻值的設定 ... 44

3.3.5 虛擬 DPB 管理器演算法之流程 ... 46

第四章 高效率 DPB 管理器之 DSP 實現 ... 49

4.1 ADSP-BF548 開發板簡介 ... 49

4.1.1 Blackfin DSP 晶片... 51

4.1.2 記憶體結構 ... 52

4.1.3 UART 通訊協定 ... 53

(10)

viii

4.1.4 USB 傳輸介面 ... 54

4.2 Blackfin DSP 開發環境 ... 56

4.3 實現 ADSP-BF548 之高效率 DPB 管理 ... 57

第五章 實驗結果與討論 ... 62

5.1 實驗條件 ... 62

5.2 實驗結果與分析 ... 67

第六章 結論... 79

參考文獻 ... 80

(11)

ix

圖目錄

圖 1.1、SHVC 的應用示意圖 ... 2 圖 1.2、多層 SHVC 示意圖 ... 3 圖 2.1、Kimono1 視訊序列在不同視訊編碼標準之下的效能比較圖[4] ... 6 圖 2.2、H.265 所支援的解析度範圍 ... 6 圖 2.3、HEVC 系統框架圖 ... 7 圖 2.4、HEVC 的編碼系統架構圖 ... 8 圖 2.5、HEVC 的解碼系統架構圖 ... 8 圖 2.6、決定各種單位尺寸之示意圖... 9 圖 2.7、SHVC 根據不同使用者及傳輸條件所應用的示意圖 ... 11 圖 2.8、SHVC 編碼架構圖 ... 12 圖 2.9、階層式 B 畫面架構 ... 13 圖 2.10、All Intra 編碼時序架構 ... 15 圖 2.11、Low Delay 編碼時序架構 ... 16 圖 2.12、Random Access 編碼時序架構 ... 17 圖 2.13、DPB 在 SHVC 編碼架構圖 ... 19 圖 2.14、DPB 在 SHVC 解碼架構圖 ... 19 圖 2.15、SHVC 定義 DPB 的程式段 ... 23 圖 2.16、Random access 時序結構圖 ... 25 圖 2.17、RPS 參數設定表示圖 ... 25 圖 3.1、RA 時序架構和空間可調的示意圖 ... 27 圖 3.2、DPB 容量表示圖 ... 27 圖 3.3、SHVC 解碼系統圖 ... 28 圖 3.4、參考次序示意圖... 30

(12)

x 圖 3.5、依照 RA 時序結構的畫面分成不同等級的階層 ... 32 圖 3.6、DV-DPB 示意圖 ... 33 圖 3.7、DV-DPB 處理過程示意圖 ... 34 圖 3.8、DV-DPB 儲存畫面變化示意圖 ... 34 圖 3.9、DV-DPB 在各臨界值設置的曲線變化圖 ... 36 圖 3.10、演算法架構圖... 40 圖 3.11、S-DPB 及 D-DPB 示意圖 ... 40 圖 3.12、畫面階層等級和參考畫面關係示意圖... 41 圖 3.13、GOP 數量為 8 所儲存的畫面示意圖... 41 圖 3.14、GOP 數量為 16 所儲存的畫面示意圖... 42 圖 3.15、三步搜尋演算法(TSSA)示意圖 ... 43 圖 3.16、在 D-DPB 中引索標記的位元流... 44 圖 3.17、在各門檻值得曲線變化... 46 圖 3.18、演算法的流程圖... 48 圖 4.1、硬體架構圖... 50 圖 4.2、ADSP-BF548 實體開發板 ... 50 圖 4.3、Blackfin 處理器核心結構示意圖 ... 51 圖 4.4、記憶體配置示意圖... 52 圖 4.5、UART 運作示意圖 ... 53 圖 4.6、CBW 封包結構 ... 55 圖 4.7、CSW 封包結構 ... 55 圖 4.8、VDSP 將程式嵌入至開發板的流程圖 ... 56 圖 4.9、ADSP-BF548 記憶體位址分佈[5] ... 57 圖 4.10、解碼架構模組示意圖... 59 圖 5.1、實驗測試影像序列(Class A),(a)Traffic ... 63

(13)

xi

圖 5.2、實驗測試影像序列(Class B),(b) Cactus、(c) Kimonol ... 64

圖 5.3、實驗測試影像序列(Class C),(d) BasketballDrill、(e) BQMall ... 65

圖 5.4、實驗測試影像序列(Class E),(f) vidyo1、(g) vidyo3、(h) vidyo4 ... 66

圖 5.5、VDPBM 與 DV-DPB 之 MSR 比較圖 ... 73

圖 5.6、VDPBM 與 DV-DPB 之 ΔPSNRY 比較圖... 75

圖 5.7、Cactus 影像序列 DPB 平均大小 ... 77

圖 5.8、Vidyo3 影像序列 DPB 平均大小 ... 77

(14)

xii

表目錄

表 2.1、Level 1 到 4.3 支援的最大畫面尺寸及最大畫面速率表[3] ... 20 表 2.2、Level 5 到 6.2 支援的最大畫面尺寸及最大畫面速率表[3] ... 21 表 2.3、tire 和 level 的限制表[3] ... 22 表 3.1、參考畫面 POC 與參考畫面的數量 ... 29 表 3.2、DPB 狀態變化表 ... 29 表 3.3、DV-DPB 與 SHM4.0 比較 ... 38 表 3.4、各門檻值所得到的 DPB 大小以及 PSNR 的變化 ... 45 表 4.1、配置之記憶體對應表... 60 表 4.2、記憶體配置表... 61 表 5.1、QP=(28,28)時,BL 層的 DPB 比較表 ... 70 表 5.2、QP=( 28, 28)時,EL 層的 DPB 比較表 ... 70 表 5.3、QP=( 32, 32)時,BL 層的 DPB 比較表 ... 71 表 5.4、QP=( 32, 32)時,EL 層的 DPB 比較表 ... 71 表 5.5、QP=( 36, 36)時,BL 層的 DPB 比較表 ... 72 表 5.6、QP=( 36, 36)時,EL 層的 DPB 比較表 ... 72 表 5.7、在不同 QP 下各影像序列整體的 MSR 和∆PSNRY 效能比較表 ... 74 表 5.8、QP=(32,32)時,不同方法的 DPB 比較表 ... 75

(15)

1

第一章 緒論

隨著數位科技的進步以及行動通訊技術的蓬勃發展,電子產品日新月異,消 費性電子 3C 產品以成為人們生活中不可或缺的一部分,近年來智慧型手機和平 板電腦的快速發展,而目前各面板大廠將陸續推出更高解析度的面板,行動多媒 體產品也開始往超高解析度及超高畫質方面發展,目前視訊面板製造大廠友達、 群創等已在量產 4K2K 超高解析度面板,並朝著影像品質更細緻的 8K4K 超高 解析度面板邁進,代表說超高畫質的解析度已成為未來的主流,為了處理伴隨而 來的龐大影像資料量,因此新一代高效率編碼標準 HEVC (high efficiency video coding) [1]能夠提供更高的壓縮效能來解決龐大資料量的問題。

現今影音裝置多樣化,如智慧型手機、平板電腦和其他影音裝置等,而擁有 不同的畫面解析度,在不同的網路環境下中,所使用的網路協定將有所差異,如 3G、4G 等。為了因應消費者所使用各種不同的影音裝置及網路環境,JVT-VC 於 2014 年 7 月訂定完成可調高效能視訊標準(scalable high-efficiency video coding: SHVC) [2]作為 HEVC 的延伸應用。由於無線傳輸環境下的頻寬不穩定,因此在 無線環境之下傳輸時資料時,能依據頻寬和接收端的需求,透過路由器(router)或 基地台(access point)來截取適合的資料量,使 SHVC 能更適應於各種資料傳輸環 境和不同解析度的裝置應用,所以 SHVC 能有效達成在異質網路下的影音傳輸 需求。

1.1 研究背景

SHVC 提供豐富的可調功能,包括時間、空間和品質三種可調,為了適應在 各種不同的網路環境下資料傳輸能力,以及各個行動裝置處理器的運算能力和螢 幕解析度的大小,讓使用者在不同的條件下達到所要求的服務,如圖 1.1 所示,

(16)

2 SHVC 所編碼出來視訊串流(video bitstream),可以適應資料傳送的環境而調整要 傳送的資料量,當傳送的環境良好或是儲存的條件很好時,我們就可以傳送品質 比較好的編碼資料(UHD@3SNR, 60fps);相反地,如果傳送頻寬不足時就會取捨 前述的幾個傳送項目,例如以比較低的解析度傳送(FHD@2SNR, 60fps),或是每 秒傳送較少的畫面張數,或是不想犧牲解析度及畫面的順暢度就選擇以比較低的 位元率傳送視訊資料(HD@2SNR, 30fps)。 圖 1.1、SHVC 的應用示意圖 SHVC bitstream UHD 2560*1600 ,60fps FHD 1920*1080 ,60fps HD 1600*1280,30fps SD 720*480,30fps 24 Mb/s 6 Mb/s

(17)

3 圖 1.2、多層 SHVC 示意圖

1.2 研究動機

為了進一步提高編碼效能,SHVC 採用多重迴路架構(multi-loop architecture), 而非如 H.264/SVC 所使用的單迴路(single-loop)設計,因此 SHVC 每一參考畫面 需完全解碼後才能進行內部各層間的參數預測。不像 H.264/SVC 僅需解碼一次 和儲存一張參考畫面(reference frame)即可,因此 SHVC 需增加更多 DPB 容量的 大 小 , 來 儲 存 每 一 層 的 參 考 畫 面 和 更 大 的 記 憶 體 來 執 行 運 動 補 償 (motion compensation: MC)模組,如圖 1.2 所示。由於 SHVC 大幅提高 DPB 的容量,這 將導致運用至消費性行動裝置時,面臨很大的挑戰,是亟待克服解決的問題。

若不降低 SHVC 的解碼程序記憶體大小,SHVC 將不適合 UHD (ultra high hefinition)視訊的即時應用,因此,本論文提出一個高效率 DPB 管理方法,由原 本 SHVC 解碼程序中 DPB 的運作方式,利用和 DPB 內參考畫面間的相關性,找 出可以減少儲存解碼畫面的資料量,來決定是否儲存解碼的影像資訊或者只需標

DPB

MC Pred Intra Pred Loop Filter T/Q IT/IQ Entropy Coding + -DPB

MC Pred Intra Pred Loop Filter T/Q IT/IQ Entropy Coding + -Resampled ILR pic DPB

MC Pred Intra Pred Loop Filter + IT/IQ Resampled ILR pic Downsmapling Downsmapling Bitstream MUX T/Q Entropy Coding -BL EL 1 EL 2 HEVC Encoder HEVC Encoder HEVC Encoder

(18)

4 示預測的參數,利用一虛擬 DPB 管理器(virtual DPB manager)控制解碼畫面資料 的儲存,來進一步降低 DPB 的大小,使得 SHVC 的 DPB 使用量降低,改善 SHVC 解碼過程中 DPB 所佔用的記憶體容量,使得 UHD 視訊應用在記憶體有限的行 動裝置環境中提升 SHVC 解碼效能,本論文將使用 ADI 與 INTEL 所聯合開發的 ADSP-BF548 開發板中進行實驗模擬,在有記憶體容量大小限制的環境中,實現 使用 ADSP-BF548 開發板並執行 SHVC 來解碼高解析度影像,使得在未來能夠 應用在消費性電子產品中。

1.3 論文架構

本論文題提出一個適用於 SHVC 解碼架構中,有效的管理 DPB 演算法,使 得在 SHVC 解碼架構中減少 DPB 的容量。第二章先對視訊標準的歷史以及 HEVC 視訊標準作介紹,包括 HEVC 的架構、新增的彈性編碼單位以及編碼工具的多 種預測模式,接著在介紹 SHVC 視訊標準,包含編解碼架構、編碼的時序結構、 三種視訊可調技術以及解碼圖像緩衝區,第三章的部分主要是分析原本 SHVC 解 碼架構中 DPB 暫存畫面的運作,並找出畫面的相關性,參考專家學者提出的 DV-DPB 演算法,提出新的 DV-DPB 管理方法來減少 DV-DPB 的容量,第四章首先會對 ADSP-BF548 開發板進行介紹,包含 DSP 晶片、記憶體結構、UART 通訊協定和 USB 傳輸介面,在介紹 DSP 的開發環境,如何把我們的方法應用的 DSP 上,第五章 是實驗結果與討論,依其實驗條件並對實驗結果探討並比較其優缺點。第六章則 對本篇論文做完整的結論。

(19)

5

第二章 SHVC 視訊編碼標準

隨著科技的蓬勃發展,網路發展的快速進步,智慧型手機(smart phone)、平 板電腦(iPad)、智慧型電視(smart TV)等其他相關影音設備,已成為大部分人們日 常生活中不可或缺的 3C 產品。目前 UHD 的數位影像能讓消費者有更高品質的 娛樂享受,然而高畫質數位影像也伴隨的龐大的資料量,為了達到更好的壓縮效 益,兩大國際標準組織國際標準組織(ISO)和國際電信聯盟(ITU-T)共同成立了聯 合視訊編碼小組(JVT-VC),在 2010 年開始制定新一代高效能視訊編碼標準 HEVC,並於 2014 年 10 月修訂完成第 2 版本,而 ITU-T 則將 HEVC 訂定為 H.265 視訊編碼規範[3]。HEVC 視訊標準提供更佳的壓縮率和支援更廣泛的解析度,為 了能夠適應各種不同的網路傳輸環境和不同裝置的解析度,可調 HEVC 視訊標 準 SHVC 能有效率地達到這些需求。本章節將會對 SHVC 視訊標準分為四個部 分作介紹,首先在 2.1 節對 HEVC 的發展歷程及架構做簡單介紹,在 2.2 節中介 紹 SHVC 的整個系統架構以及三種可調技術,接著在 2.3 節中介紹 SHVC 的環 境設置,最後在 2.4 節將對 SHVC 的解碼圖像緩衝區作介紹。

2.1 HEVC 視訊標準之簡介

HEVC 為新一代的視訊標準,並可以相容先前的視訊標準,而且能夠支援到 更高的解析度的視訊裝置,較以往視訊標不同的是,HEVC 加入了需多新的編碼 技巧和更加彈性的編碼單位,而達到更佳的壓縮效能,圖 2.1 為 Kimono1 視訊序 列在不同視訊編碼標準之下的效能比較圖[4],可以發現 HEVC 之編碼效能比其 它編碼標準以相同影像品質下,擁有更佳壓縮效能,此外,HEVC 可以提供更加 廣泛的影像解析度範圍應用,從 416240 解析度的行動裝置到超高畫質 4K2K 的影音裝置,甚至 8K4K 的視訊面板都能夠支援,如圖 2.2 所示。

(20)

6

圖 2.1、Kimono1 視訊序列在不同視訊編碼標準之下的效能比較圖[4]

圖 2.2、H.265 所支援的解析度範圍

2.1.1 HEVC 視訊標準之架構

HEVC 架構主要分為兩個部分,網路抽象層(network abstraction layer: NAL) 和視訊編碼層(video coding layer: VCL),如圖 2.3 所示,NAL 是一種封裝(packaging) 的模組,為了依據各式各樣的網路型態來提供所對應的封包方式,能夠適應不同 的傳輸協定以及傳輸媒介,而 VCL 為經過壓縮後、去冗餘的影像資料,VCL 與 NAL 互相配合,使得 VCL 的資料在網路上傳輸更有效率,且擁有更好的編解碼

(21)

7

圖 2.3、HEVC 系統框架圖

抗錯能力,讓 HEVC 更廣泛地支援多媒體串流與動通訊應用。

HEVC 的編解碼系統架構圖如圖 2.4 和圖 2.5 所示,在架構圖中可得知 HEVC 視訊標準的架構與先前的視訊標準非常的相似,其中包含:畫面內預測(intra prediction)、畫面間預測(inter prediction)、轉換與量化(transform and quantization) 和熵編碼(entropy coding)等部分,影像畫面先透過畫面內、畫面間預測,其中畫 面間預測包含運動估測(motion estimation: ME)及運動補償的動作,預測完後會得 到殘差值資料、預測模式及運動向量,再經過轉換使殘差值資料的能量集中,再 透過量化將資料進行壓縮,最後則是由商編碼來完成最後流程,接著會進行反量 化和反轉換(inverse quantization and inverse transform),在經過去區塊濾波器 (deblocking filter)將重建畫面儲存至解碼圖像緩衝區(decoded pictures buffer),提 供下一張畫面進行預測使用,而解碼架構則是類似編碼順序相反的過程。

VCL

(Video Coding Layer)

NAL

(Network Abstraction Layer)

視訊壓縮 封裝封包 bitstream NAL unit HEVC RTP/IP TCP/IP MP4 Format H.32 MPEG-2 Systems etc.

(22)

8

圖 2.4、HEVC 的編碼系統架構圖

圖 2.5、HEVC 的解碼系統架構圖 Coding Unit (CU)

Prediction Unit (PU)

Transform Unit (TU) Current Frame Decoded Pictures Buffer Transform Intra Prediction Quantization

Inverse Quantization Inverse Transform Entropy coding Bitstream Intra Inter Motion Estimation (ME) Motion Compensation (MC) Deblocking Filter Sample Adaptive Offset Filter + -+ + Encoding Reconstruction Coefficients Data Prediction Mode Motion Data Motion Compensation Intra Prediction inter SAO De-blocking Filter intra Inverse Quantization Inverse Transform Entropy Decoding NAL Header Decoding Type Decoding Bitstream 01010101101 Decoded Pictures Buffer

(23)

9

HEVC 所採用更彈性化的四分樹編碼區塊的劃分 (quad-tree coding block partitioning),來代替先前影像標準的巨方塊(macroblock: MB)當作編碼機本單位, 其做法為先將影像畫面切分成數個 CTU (coding tree units),每個 CTU 的大小為

6464 像素,而各個 CTU 當中包含了三個基本單位,分別為編碼單位(coding unit:

CU)、預測單位(prediction unit: PU)、轉換單位(transform unit: TU),其中 PU 包含 了畫框內預測與畫框間預測編碼兩種預測模式,而 TU 是做轉化和量化的基本編 碼單位,是經過預測模組處理後,紀錄重建影像和原始影像的殘差值資訊,再進 一步去做轉化及量化的處理過程,CU 是經過 PU 和 TU 編碼樹修剪(coding tree pruning)後才決定的尺寸大小,如圖 2.6 所示,可根據影像的特性和不同的編碼 工具來靈活的選擇尺寸。 圖 2.6、決定各種單位尺寸之示意圖 Transform Unit (TU) Prediction Unit(PU) CTU Best CTU structure pruning

Coding Unit (CU)

(24)

10

2.2 SHVC 視訊標準與架構之簡介

HEVC 於 2013 年 4 月成為正式的標準,為了能夠使 HEVC 更廣泛的使用, 且更具備商業化價值,ITU-T 和 ISO/IEC 聯合組成的視訊編碼聯合團隊 JCT-VC 於 2012 年 7 月著手開始制定可調的 HEVC 視訊標準 SHVC,並於 2014 年的 7 月完成標準化和商品化,SHVC 最大特色在於只需提供單一位元流就能夠支援多 層的畫面品質、畫面率和畫面解析度,在不同的接收端只需依照符合本身的條件 及需求來截取適當的位元流即可,圖 2.7 為 SHVC 根據不同使用者及傳輸條件所 應用的示意圖,在網路環境及設備功能較佳時,透過提取器(extractor)對原本位原 流進行截取,取出最適合的位元流大小給接收端,當網路環境及設備功能較差時, 則截取較小的位元流給接收端,利用此方法可以依照使用者在不同的網路及裝置 環境下選擇適當的資料,達到最有效率的資料傳輸,現今無線網路的快速發展, 人們無時無刻都可以透過行動通訊上網瀏覽影音資訊,像 YouTube、Facebook 和 FaceTime 等,未來在利用 SHVC 系統可以更加提升傳輸效率,讓使用者能享受 到更優質的影音服務。 作為 HEVC 的延伸應用,SHVC 主要是以 HVC 為主要架構,並且將三種可 調技術,品質可調(SNR scalability)、時間可調(temporal scalability)、空間可調 (spatial scalability)做結合並成為完整的系統,SHVC 是由一個基礎層(base layer: BL)和數個加強層(enhancement: EL)所組成的,圖 2.8 為 SHVC 系統的編碼架構 圖,在圖中只使用了一個 EL 做為舉例,在輸入影像進行各層編碼之前,將會先 經過取樣濾波器來進行下取樣(down sampler)的處理,達到各層的不同解析度, 為了能夠提高編碼效能,SHVC 更改了 H.264/SVC 所使用的單迴路設計,而是採 用多重迴路架構,EL 利用了層間預測(inter-layer prediction: ILP)的技術來使用較 低層的重建畫面當參考畫面來進行預測,在之後會進行詳細介紹,各層的重建畫 面將會存入各層當中的解碼圖像緩衝區中(decoded pictures buffer: DPB),在 3.4

(25)

11

節中會對此做介紹,最後在輸出 SHVC 的位元流。

在 SHVC 位元流中,BL 可向後相容(backward compatible)於 HEVC 並可以 單獨被解碼,若解碼時只有 EL 位元流而沒有 BL 位元流時,將無法解碼出視訊 影像,所以 BL 可以說是最重要的內容,而 EL 則是依照當時傳輸環境及使用裝 置的條件選擇是否需要,在接下來的小節中會依序介紹 SHVC 的三種可調技術, 時間可調、品質可調及空間可調。 圖 2.7、SHVC 根據不同使用者及傳輸條件所應用的示意圖 Encoder SHVC bitstream Server Storage Extractor Extractor Extractor Extractor 128 kbit/s 300 kbit/s 1024 kbit/s 5120 kbit/s High Low High Low High Low High Low 4K2K & 60fps 1080P & 60fps CIF & 30fps QCIF & 15fps

(26)

12

圖 2.8、SHVC 編碼架構圖

2.2.1 時間可調

連續影像序列中,可分為許多個畫面群組(group of pictures: GOP),以一個 GOP 為編碼單位,在時間可調的系統架構中,最常使用階層式 B (hierarchical B ) 的結構,以 BL 而言,BL 為較低的畫面率,依照結構的最底層是以 I/P 畫面進行 編碼為基礎影像,EL 則額外的增加 B 畫面來提高畫面率,B 畫面是藉由較低階 層的畫面來進行運動補償而重建出的畫面,圖 2.9 以 GOP 為 8 張畫面,四層時 間可調階層做為舉例,下列的編號分別為圖像的播放序列 (picture order count: POC)和時間可調階層(temporal layer: TL)的編號,箭頭代表編碼畫面所參考的畫 面,BL 中的畫面為重要畫面(key frames),必定為 I/P 畫面,EL 的畫面則是以雙 向參考較低階層畫面而重建出來的 B 畫面。 Decoded pictures buffer (DPB) IDCT/IQ Intra Prediction Inter Prediction DCT/Q Entropy encoding Inter-layer Reference Pictures (Upsampling) Inter-layer Prediction (Upsampling) Decoded pictures buffer (DPB) IDCT/IQ Intra Prediction Inter Prediction DCT/Q MUX Down sampling SHVC bitstream Enhancement layer Base layer + + + -+ + + -Input video Deblocking filter sample adaptive offset

Deblocking filter sample adaptive offset

Entropy encoding

(27)

13

圖 2.9、階層式 B 畫面架構

2.2.2 品質可調

品質可調主要是在各個不同層之間設不同的量化參數,BL 的影像是使用較 大的量化參數去編碼,EL 則使用筆 BL 小的量化參數進行編碼,在品質可調主 要可以分為粗略品值可調(coarse grain scalability: CGS)、精細品質可調(fine grain scalability: FGS)和中度的品質可調(median grain scalability: MGS)這三種模式。 SHVC 所採取模式為 FGS 可調,此模式也在 H.264/SVC 使用,H.264 可調視訊 編碼中的 FGS 考慮到 DC 係數和 AC 係數重要性的差異,利用環形區塊編碼 (cyclical block coding)方式,使得編碼時能從較為重要的係數開始編碼,在相同的 位元率下能加收較多的重要的係數,提升畫面的品質,而 SHVC 品質可調目前也 使用此技術可調。

2.2.3 空間可調

空間可調主要是由不同解析度的影像分別作各層的編碼,當原始影像會先經 過下取樣濾波器(down sampling filter)的處理,達到各層的不同解析度,接著各層 各自做 HEVC 編碼過程,在相同畫面的不同層之間的有許多的相關性,EL 可以 使用較低層已經編碼完的資訊,進行層間預測過程將較低層的畫面資訊來進行預

POC 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 TL 0 3 2 3 1 3 2 3 0 3 2 3 1 3 2 3 0

(28)

14

測,有效地減少編碼的時間與複雜度,層間預測主要分為兩個模式,層間畫面內 模式(inter-layer intra modes)和層間畫面間模式(inter-layer inter modes),層間畫面 內模式是利用不同層的畫面來進行畫面內編碼,較低層的重建畫面依據不同層解 析度不同的比例,經過上取樣濾波器(upsampling filter)作取樣,而產生的層間參 考畫面(inter-layer reference: ILR)進行預測,層間畫面間模式是在 BL 做 ME 所得 到的運動像量(motion vector: MV) 給 EL 當進階移動向量預測(advance motion vector predictor: AMVP)做參考資訊使用,使編碼的速度加速,來減少在畫面間預 測時的運算複雜度,最後畫面間階層殘值預測為了減少 EL 的殘值資料,主要利 用 BL 所產生的殘值資訊經過上取樣後,給 EL 當參考資訊,來降低 EL 的殘值 資訊,提高編碼的效益。

2.3 SHVC 環境設置簡介

依照 SHVC 的測試模擬平台 SHM4.0 (SHVC test model 4.0) [5]版本中所提供 的三種主要的 profile 分別為 Main profile、Main 10、High Efficiency 10 (He10), 提供給不同需求的使用者使用,Main 10 和 He 10 主要應用於醫學影像及衛星影 像空照圖等,這類型應用需較為精確細膩的影像呈現,須擁有更高位元的像素深 度, Main 10 和 He 10 的像素深度最高可支援到 10 bit 的影像序列,這也代表需 要較高的運算複雜度,而 Main profile 主要是應用於行動影音及影音娛樂方面, 不需要過於細緻的影像呈現,像素深度支援到 8 bit 的影像序列,和上述的 Main 10 和 He 10 運算複雜度相較之下會減少許多,能夠加快編碼時間,達到及時影 音傳輸之效能,隨著科技快速地發展,行動影音及影音娛樂已成為目前最普及化 的應用,本論文將以 Main profile 作為實驗條件進行研究探討,此外 SHVC 也提 供了三種不同的編碼時序結構,All Intra (AI)、Low Delay (LD)和 Random Access (RA)能依據不同環境下的使用者做選擇,在 AI 架構中,每張畫面均是使用 Intra

(29)

15 預測的方式進行處理,畫面品質為最佳的呈現,相對的輸出的位元流較為龐大而 且在解碼時需要花上較多的時間;LD 為單方向參考的架構,能夠提供較佳的編 碼時間,適合應用於及時的影音編解碼,例如視訊電話等,缺點則是壓縮率並不 是這麼的理想;RA 是採用雙向參考的架構,它是在影像品質、編解碼時間及壓 縮效率之間取平衡,適用於消費者影音娛樂方面,下面將會對這三種架構進行說 明。 1. AI 架構: 在 All Inter 編碼時序架構中,影像序列的每張畫面將由 I 畫面編碼 方式進行編碼,這表示每張畫面並每有參考之前已編碼完成的畫面, 只作畫面內的預測,而在每張畫面中的量化參數也不允許做任何更 變,圖 2.10 為 All Inter 編碼時序架構圖。 圖 2.10、All Intra 編碼時序架構

(30)

16 2.LD 架構:Low Delay 為單一方向的預測方式,之前編碼完的畫面將能被當成參 考畫面進行預測,除了影像序列的第一張必須為 I 畫面方式做編碼 之外,其他的畫面是由 P/B 畫面方式進行編碼,參考方向為向前預 測,在此定義為廣義的 P 和 B (generalized P and B: GPB),每張畫面 會根據 GOP 中的不同位置而有階層的差異,根據 GOP 設置的不同 階層而偏移量化參數的大小以及參考畫面的設置,每個 GOP 的最後 一張畫面為 key frame,為下個 GOP 中重要的參考畫面,圖 2.11 為 LD 編碼時序架構圖。

(31)

17

3.RA 架構:在 RA 結構中以階層式 B 的結構進行雙向預測,而在此結構的編解 碼順序和 POC 並不相同,影像序列的第一張必須為 I 畫面方式做編 碼之,而每個 GOP 的最後一張畫面和 LD 一樣為 key frame,可以 GPB 的方式做編碼,也可以使用 I 畫面方式進行編碼,在 GOP 的第 一張和最後一張之間的畫面是以 B 畫面方式進行編碼,由運動補償 重建所得到的畫面,每張畫面會根據 GOP 中的不同位置而有階層的 差異,根據 GOP 設置的不同階層而偏移量化參數的大小以及參考畫 面的設置,圖 2.12 為 RA 編碼時序架構圖,它是在影像品質、編解 碼時間及壓縮效率之間取平衡,適用於消費者影音娛樂方面。 圖 2.12、Random Access 編碼時序架構

(32)

18

2.4 SHVC 解碼圖像緩衝區(DPB)

在 2.3 節中介紹了三種可調技術,使得 SHVC 更能夠適應於異質的網路傳輸 環境和不同解析度的設備之應用,使用者可透過行動通訊無線網路進行影音資料 傳輸致平板電腦、智慧型手機和網路電視,使 SHVC 更具有商業化價值,SHVC 採用多重迴路架構,而非如 H.264/SVC 所使用的單迴路設計,因此 SHVC 每 一參考畫面需完全解碼後才能進行內部各層間的參數預測。不像 H.264/SVC 僅 需解碼一次和儲存一張參考畫面即可,SHVC 需增加解碼畫面緩衝大小和記憶 體頻寬(memory bandwidth)來儲存每一層的參考畫面和傳遞參數,這也大幅提高 了記憶體頻寬來執行 MC,在下個章節將會進行分析並改善此問題。

2.4.1 解碼圖像緩衝區介紹

在 SHVC 編碼以及解碼中,所有編解碼後的重建畫面將會被儲存到解碼圖 像緩衝區(DPB)中,而這些儲存在 DPB 中的畫面是要給待編解碼畫面做預測參 考,圖 2.13 和圖 2.14 為 DPB 在 SHVC 編碼及解碼中的架構圖,在 BL 及 EL 中 各有自己的 DPB 來儲存各層中的重建畫面,DPB 的大小是根據影像序列中解析 度的大小以及參考畫面的數量而訂定的,當影像解析度越高和參考畫面的數量越 多時,DPB 也越大,反之影像解析度越低和參考畫面的數量越少時,DPB 相對 的也可以減少。

(33)

19 圖 2.13、DPB 在 SHVC 編碼架構圖 圖 2.14、DPB 在 SHVC 解碼架構圖 EL encoder (HEVC) BL encoder (HEVC) Down sampler EL video in BL video in EL DPB BL DPB Inter-Layer predictor MUX EL bitstream BL bitstream SHVC bitstream EL BL EL decoder (HEVC) BL decoder (HEVC) DEMUX EL DPB BL DPB SHVC bitstream EL bitstream BL bitstream EL video output BL video output EL BL Inter-Layer predictor

(34)

20

依據 ITU-T 在 SHVC 所制定的規範[3]中,依照各種不同的解析度定義了 13 個 層 級 (level) 的 標 準 規 格 , 從 畫 面 解 析 度 176×144 (QCIF) 到 目 前 最 大 的 8192×4320 (8K UHD),如表 2.1 及表 2.2 所示,而表 2.3 為 level 和 tire 的限制 表,表中的 MaxLumaPs 為影像的最大亮度大小,這關係到 DPB 空間的最大限 制。

(35)

21

(36)

22

(37)

23 SHVC 所規範的 level 所能夠支援的 DPB 的最大容量,是依照解析度來換算 成張數,level 和畫面解析度的大小 DPB 最大容量分別為 6 張、8 張、12 張和 16 張,若使用者的畫面解析度小於該 level 設定的大小,DPB 最大容量為 16 張畫 面,圖 2.15 為 SHVC 所定義的 DPB 公式,接下來將詳細說明根據四個判斷式所 運算出最大的 DPB 容量, PicSizeInSamplesY 為使用者所設置的亮度圖像大小, MaxLumaPs 為 表 3.3 依 據 各 level 所 支 援 的 最 大 畫 面 亮 度 大 小 所 設 定 , maxDpbPicBuf 預設為 6,舉例來說,當 level 設置為 4 進行編碼,level 4 的所設

定 MaxLumaPs 為 2,228,224,而輸入影像解析度為 832480 時,PicSizeInSamplesY 為 399,369,經過運算會符合第一個判斷式,所以 DPB 的最大容量為 16,而輸入 影像解析度為 832480 時,PicSizeInSamplesY 為 399,360,經過運算會符合第三 個判斷式,所以 DPB 的最大容量為 8,依此類推。 除了畫面解析度,參考畫面的數量,也會影響 DPB 的大小,上述運算所求 得的 DPB 最大張數,將是參考畫面最大的數量減一,在下一小節將會詳細進行 說明。 圖 2.15、SHVC 定義 DPB 的程式段 if( PicSizeInSamplesY <= ( MaxLumaPs >> 2 ) )

MaxDpbSize = Min( 4 * maxDpbPicBuf, 16 ) else if( PicSizeInSamplesY <= ( MaxLumaPs >> 1 ) )

MaxDpbSize = Min( 2 * maxDpbPicBuf, 16 )

else if( PicSizeInSamplesY <= ( ( 3 * MaxLumaPs ) >> 2 ) )

MaxDpbSize = Min( ( 4 * maxDpbPicBuf ) / 3, 16 )

else

(38)

24

2.4.2 參考圖像設置

依據上一節所述,重建畫面將會被放置到 DPB 使下一張畫面能夠參考進行 預測,依照規範所運算出來 DPB 的最大張數,則是儲存當前代編解碼的重建畫 面已及需要被參考的重建畫面,由此可知,參考畫面的數量不能超過運算出來 DPB 的最大張數減一,為了管理在 DPB 中已解碼的重建畫面,SHVC 採用了參 考圖像設置(reference picture set: RPS)技術,與之前的視訊編碼標準所設置的參考 畫面不同的是,對後續及當前的每個 Slice 中都是使用同一個參考畫面的設置, 所以 DPB 中將要儲存當前畫面所需參考的重建畫面已及之後待畫面所需參考的 重建畫面,以 RA 時序結構為為舉例,如圖 2.16 所示,當 GOP 大小為 8,參考 畫面為向前(list 0)、向後(list 1)各參考一張,Coding order 為編碼順序,第一張編 碼畫面為 POC 0,是以 I 畫面方式進行編碼,因為是影像序列的第一張,所以無 任何參考畫面,接著第二張編碼的畫面為 POC 8,因此畫面 GOP 的最後一張, 所以無法向後參考,因此只需向前參考上一張以編碼完的重建畫面,在來是編碼 的畫面為 POC 4,POC 4 則需向前參考 POC 0 的重建畫面及向後參考 POC 8 的 重建畫面,接下來為編碼 POC 2 的畫面,POC 2 需向前參考 POC 0 的重建畫面 及向後參考 POC 4 的重建畫面,之後畫面編碼以此類推。

圖 2.17 為上述編碼方式的 SHVC 編碼設置(SHVC configuration),以 GOP 為 編碼結構,依照編解碼順序而由上往下排列畫面編號,這裡介紹幾個重要參數, #ref_pics_active 為向前及向後參考的數量,#ref_pics 為參考畫面的數量,以編碼 順序第三張作為舉例,第三張是編碼 POC 2 的畫面,POC 2 是只向前參考 POC 0 及向後參考 POC 4 這兩張的重建畫面,但是 POC 8 的重建畫面在之後也需要 被當作參考畫面,所以 POC 8 也須被包含在參考畫面中,所以#ref_pic 設置為 3, 參考的畫面 POC 界會減掉當前畫面的 POC 就可以得到參考畫面(reference pictures)是設置為 -2、2、6,而解碼時會根據這些參數找到對應的參考畫面。

(39)

25 圖 2.16、Random access 時序結構圖 圖 2.17、RPS 參數設定表示圖 coding order 0 8 4 2 1 3 6 5 7 POC 0 POC 1 POC 2 POC 5 POC 6 POC 7 POC 3 POC 8 POC 4

(40)

26

第三章 SHVC 之高效率 DPB 管理器

本論文是以空間可調的 RA 時序架構設置,圖 3.1 為 RA 時序架構和空間可 調的示意圖,在 BL 中的每張畫面會先經過上取樣後得到 ILR 畫面,提供給 EL 做參考,圖 3.2 是以 EL 一層為例,當要編碼 EL 畫面時,需要額外參考 ILR 畫 面做預測,而 ILR 畫面是由 BL 解碼重建完的畫面並透過上取樣濾波器所產生的 畫面,若以輸入影像解析度為 8192×4320 作空間可調為舉例,影像經過下取樣濾 波器之後,在 BL 影像解析度為 4096×2160,而在 EL 的影像解析度仍為原始的 8192×4320,在 BL 及 EL 都各層有各自的 DPB 來儲存重建畫面,若 DPB 設定為 最多可以儲存 6 張畫面,以 8192×4920 的影像解析度而言,EL 的 DPB 容量大約 為 608 MB,而 BL 的 DPB 則佔用大約 152 MB 的容量,整體的 DPB 種共使用了 大約 760 MB 的記憶體容量。若以目前的個人 PC 而言,由於 PC 的記憶體容量 都夠大而且容易擴充,DPB 所需的記憶體容量是足夠的,不會導致視訊延遲的問 題,但是如果要在記憶體容量有限的裝置上實現,像智慧型手機、平板電腦等, DPB 的記憶體使用量將會產生頻寬不足和視訊延遲的問題,所以如何有效的管 理 DPB 並減少儲存畫面的容量,是接下來將要討論的課題。

(41)

27 圖 3.1、RA 時序架構和空間可調的示意圖 圖 3.2、DPB 容量表示圖 BL ILR Upsampling EL BL Input sequence EL Input sequence Downsampling Filter HEVC Encoder MUX HEVC Encoder EL bitstream BL bitstream SHVC bitstream ILP 解析度:81924320 解析度:40962160 DPB DPB 608 MB 152 MB 整體DPB 760MB

(42)

28

3.1 DPB 之效能分析

本論文從 SHVC 解碼系統中觀察與分析 DPB 之變化,圖 3.3 為 SHVC 解碼 系統架構圖,根據 2.4.2 小節所述,影響 DPB 的因素為影像解析度及參考畫面的 張數。從 SHVC 解碼系統的運作架構來說,我們發現當前解碼畫面所要參考的畫 面,是根據檔頭所解碼出來的 RPS 設定在 DPB 裡找出對應的參考畫面,在 SHVC 解碼架構的 DPB 大小是根據 RPS 所設定的最大參考畫面(maxrefpicnum)的數量 再加上 2 為 DPB 的大小,如表 3.1 所示,在解碼畫面(decoding frame)為 POC 1 時,參考畫面數量(reference pictures number)為 4 張,是 GOP 中最多的張數,則 DPB 的大小為最大參考畫面 4 張再加上 2 張共 6 張畫面的大小,若 DPB 裡的參 考畫面已存滿 6 張畫面時,也是會依據解碼出來 RPS 所設定的參數,把以不需 要再被參考的畫面釋放掉,在把需要被參考的解碼完畫面儲存到 DPB 中。 圖 3.3、SHVC 解碼系統圖 SHVC bitsream DEMUX Entropy decoding IDCT/IQ Deblocking filter sample adaptive offset

Intra Prediction

Intrer Prediction Decoded pictures buffer (DPB) + + Base layer Entropy decoding IDCT/IQ Intra Prediction

Intrer Prediction Decoded pictures buffer (DPB)

+ +

Deblocking filter sample adaptive offset

Enhancement layer EL stream BL stream Inter-layer Reference Pictures (Upsampling) Inter-layer Prediction (Upsampling)

(43)

29 表 3.1、參考畫面 POC 與參考畫面的數量 decoding frame (POC) reference pictures (POC) reference pictures number 0 0 8 0 1 4 0,8 2 2 0,4,8 3 1 0,2,4,8 4 3 2,4,8 3 6 4,8 2 5 4,6,8 3 7 6,8 2 表 3.2、DPB 狀態變化表 decoding frame (POC) pictures in DPB (POC) pictures in DPB number 0 0 1 8 0,8 2 4 0,4,8 3 2 0,2,4,8 4 1 0,1,2,4,8 5 3 0,1,2,3,4,8 6 6 1,2,3,4,6,8 6 5 2,3,4,5,6,8 6 7 3,4,5,6,7,8 6

(44)

30 圖 3.4、參考次序示意圖 在改善 SHVC 的 DPB 之前,我們將先觀察原本 SHVC 在 RA 時序結構並採 用空間可調時,SHVC 解碼時的 DPB 變化,從中找出規則性來改善 DPB 的效能。 以下是在 SHM4.0 以 BL 解碼時將解碼畫面儲存至 DPB 的過程與步驟: 步驟 1、SHVC 解碼器會先從檔頭解出 RPS 的參數並設定 DPB 的大小,已上 述例子做為舉例,此時 DPB 為 6 張畫面的大小空間,解碼的一張畫 面為 I 畫面,不需要參考其他畫面,在解完第一畫面後會將解碼畫面 儲存至 DPB 中,如表 3.2 所示,表中 DPB 裡的畫面(pictures in DPB) 代表 DPB 中所儲存的哪些畫面,而 DPB 裡的數量(pictures in DPB number)為 DPB 中儲存的畫面數量。

步驟 2、第二張解碼畫面為 POC 8,POC 8 是參考 POC 0 的畫面,如圖 3.4 所 示,而 POC 8 解碼完成後的解碼畫面將儲存至 DPB 中,如表 3.2 所 示。

(45)

31

如圖 3.4 所示,而解碼完成後的解碼畫面將儲存至 DPB 中並將 POC 由小到大的排序。

步驟 4、第四張解碼畫面為 POC 2,這裡比較特別的是,雖然 POC 2 只參考 POC 0 和 POC 4,如圖 3.4 所示,但參考畫面需要包含 POC 8,原因 是因為 POC 8 在之後的畫面需要當作參考畫面,還需要被儲存在 DPB 中,如表 3.2 所示。

步驟 5、接著解碼 POC 1 畫面,POC 1 參考 POC 0 和 POC 2,如圖 3.4 所示, 這邊也須將 POC 4 及 POC 8 保存在 DPB 給之後解碼畫面當參考使用, 如表所示。

步驟 6、接著解碼 POC 3,POC 3 參考 POC 2 和 POC 4,而 POC 8 則保存給 之後解碼畫面當參考使用,如表 3.2 所示。 步驟 7、解碼 POC 6 時,因 DPB 已經存滿畫面,則將不需被參考的 POC 0 畫 面釋放,再將 POC 6 的解碼畫面儲存至 DPB,如表 3.2 所示。 步驟 8、解碼 POC 5 時,因 DPB 已經存滿畫面,則將不需被參考的 POC 1 畫 面釋放,再將 POC 5 的解碼畫面儲存至 DPB,如表 3.2 所示。 步驟 9、解碼 POC 7 時,因 DPB 已經存滿畫面,則將不需被參考的 POC 2 畫 面釋放,再將 POC 7 的解碼畫面儲存至 DPB,如表 3.2 所示,第一個 GOP 結束。 依照上述所執行 SHVC 解碼流程的 DPB 變化,可以觀察出 DPB 在儲存及 釋放參考畫面是有規則性的,若將 RA 時序結構的畫面分成不同等級的階層,如 圖 3.5 所示,我們可以發現到較高等級的階層幾乎都是參考較低等級階層的畫面, 則越低等級階層的畫面被參考的次數會相當的多,也代表說這些畫面在 DPB 中 存放較久的時間,反之,則越高等級階層的畫面被參考的次數會相對的減少,在 DPB 中也會很快的被釋放掉,以表 3.2 中可以發現到 POC 0,POC 4,POC 8 這 幾張畫面在 DPB 存放的時間較其他畫面還要長。

(46)

32 圖 3.5、依照 RA 時序結構的畫面分成不同等級的階層

3.2 動態虛擬解碼圖像緩衝區

在介紹本論文的演算法之前,將先介紹由蘇炳翰等學者提出的動態虛擬解碼 圖像緩衝區(dynamic virtual DPB: DV-DPB) [21],圖 3.6 為 DV-DPB 示意圖,DV-DPB 對每個 GOP 執行解碼時,會將比較重要的參考畫面儲存到 示意圖,DV-DPB 裡,而其 他解碼重建的畫面,則利用虛擬畫面(virtual frames)儲存在定義的虛擬緩衝區 (virtual buffer: VB)中,DPB 的大小可由 DV-DPB 演算法的公式得知,計算公式 如下:

𝐷𝑃𝐵

𝐷𝑉−𝐷𝑃𝐵

=

𝐷𝑃𝐵𝑆𝐻𝑀4.0 2

+ 𝑉𝐵

(3.1) 而虛擬畫面的做法是利用其他解碼重建完的畫面與 DPB 的重要參考畫面,兩張 畫面亮度相減,在以 CTU 大小 64×64 為單位,相對位置相減後的差值做絕對誤

差和(sum of absolute difference: SAD),並設定一個門檻值(ThDV-DPB)做為判斷,當

0 4 8 2 1 3 6 5 7 Decoding order 0 8 4 2 1 3 6 5 7 Level 1 Level 2 Level 3

(47)

33 結果小於 ThDV-DPB時,代表說當前重建畫面的 CTU 區塊與 DPB 裡重要參考畫面 的 CTU 區塊非常相似,因此不需要整個 CTU 像素的資料都儲存起來,只須利用 引索(index)的方式進行標記並儲存及可,引索共用 2 個位元(byte)來做標記,第 1 個位元來標記參考第幾張畫面,第二個位元則是參考第幾塊 CTU,這樣就可以 省去儲存龐大的像素資料量。若差值大於 ThDV-DPB,代表說兩張畫面的 CTU 差 異很大,還是需要完完整整的把像素資料都儲存起來。圖 3.7 為 DV-DPB 處理的 過程示意圖,以解析度為 640×480 為舉例,如圖 3.8 所示,虛擬畫面能大幅度的 減少所需儲存的畫面像素資料,具有動態的虛擬緩衝區,能夠使 SHVC 的 DPB 更有彈性靈活的運用。 圖 3.6、DV-DPB 示意圖

原本DPB

DV-DPB

虛擬緩衝區

(48)

34 圖 3.7、DV-DPB 處理過程示意圖 圖 3.8、DV-DPB 儲存畫面變化示意圖 2 0 相減 設定臨界值 TH=5000 4 4 0 4 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 4 0 4 4 4 0 4 4 4 4 0 0 8 4 4 4 4 0 0 4 4 4 4 4 4 1byte :記錄哪張畫面 1byte :記錄哪塊LCU SAD TH Deblocking Filter Output Predicition DPB Input 0 8 4 720 KB 720 KB 720 KB 2 192 KB 虛擬畫面

(49)

35 而為了能夠公平的比較 SHVC 和 DV-DPB 的差異,本論文定義 ΔPSNRY DV-DPB和 DPBDV-DPB來評量,ΔPSNRYDV-DPB和 DPBDV-DPB數學表示式如下: 𝑃𝑆𝑁𝑅𝑌 𝐷𝑉­𝐷𝑃𝐵=PSNRYSHM4.0 − PSNRY𝐷𝑉­𝐷𝑃𝐵 (3.2) 其中 PSNRYDV­DPB代表 DV-DPB 演算法的影像品質,而PSNRYSHM4.0為原始 SHM4.0 的影像品質。

𝐷𝑃𝐵

𝐷𝑉­𝐷𝑃𝐵

=

𝐷𝑃𝐵𝑆𝐻𝑀4.0 2

+ 𝑉𝐷𝑃𝐵

(3.3) 其中 DPBDV-DPB為整體 DPB 平均的大小,DPBSHM4.0為原始 SHM4.0 的 DPB 大 小,VDPB 為虛擬 DPB 平均的大小,VDPB 數學表示式如下:

𝑉𝐷𝑃𝐵 =

∑𝑁𝑡𝑜𝑡𝑎𝑙𝑖=0 (𝑉𝐷𝑃𝐵𝑖) 𝑁𝑡𝑜𝑡𝑎𝑙 (3.4) 其中 VDPBi為一張虛擬畫面所佔的空間大小,經過總畫面張數的累加,最後計算 出的平均為 VDPB。 DV-DPB 和原本 SHM4.0 做為比較,為了能夠計算出 DPB 容量改善的效率, 在此以記憶體改善率(memory saving ratio: MSR)做為評量,其運算公式如下:

𝑀𝑆𝑅 =

𝐷𝑃𝐵𝑆𝐻𝑀4.0−𝐷𝑃𝐵𝐷𝑉­𝐷𝑃𝐵

𝐷𝑃𝐵𝑆𝐻𝑀4.0

× 100%

(3.5)

其中 MSR 值越大表示 DPB 的容量降低越多,而𝐷𝑃𝐵𝑆𝐻𝑀4.0為本來 SHM4.0 的

(50)

36 利用上述這些測量工具,DV-DPB 的 ThDV-DPB利用標準影像序列 Class E 去 做更多的 ThDV-DPB統計與分析,如圖 3.9 所示,圖中 ThDV-DPB為 2,000 時為曲線 的轉折點,在 ThDV-DPB為 2,000 時 ΔPSNRYDV-DPB與 DPBDV-DPB將沒有太大的變 化,所以 DV-DPB 配置演算法的 ThDV-DPB將設定 2,000,來做為模擬實驗的條件。 圖 3.9、DV-DPB 在各臨界值設置的曲線變化圖 ThDV-DPB=5000 ThDV-DPB=2000 ThDV-DPB=1000 0.00 0.10 0.20 0.30 0.40 0.50 0.60 2750 2800 2850 2900 2950 3000 3050 3100 3150 ∆P SNR YDV -D P B (d B) DPBDV-DPB(KB) ∆PSNRYDV-DPB降低量

(51)

37

在了解 DV-DPB 演算法之後,為了實驗分析此演算法與 SHVC 之間的差異, 本論文將其演算法架構在 SHM4.0 平台中,以標準影像序列做為測試,以下為實 驗模擬條件:

1. 實驗電腦:Intel(R) Core i5 3.20 GHz,RAM 12 GB.

2. SHVC 規範:Main profile(8 bit)

3. 測試畫面型態: RA (IBBBB)及空間可調 4. 層數:2 層 5. 畫面張數:50 6. 影像序列大小: Class A(2560×1600):Traffic Class B(1920×1080):Cactus、Kimonol Class C(832×480): BasketballDrill、BQMall

Class E(1280720): vidyo1、vidyo3、vidyo4

7. 量化參數(QPBL,QPEL):(32,32) 表 3.3 為 DV-DPB 與原本方法在量化參數設為 32 時所的結果,其中 DPBSHM4.0 代表原始 DPB 的容量大小,而 DPBDV-DPB為 DV-DPB 的平均大小,MSR 為記憶 體改善率,可觀察到利用此演算法平均可以節省 26.02%的 DPB 容量,而影像品 質也不會降低很多。在影像序列較為靜態時如 Vidyo1 影像序列,利用此演算法 可以節省 35.74%的 DPB 大小,但是在較為動態的影像序列時如 Kimonol、 BasketballDrill,可發現 MSR 下降了許多,其原因為在儲存引索值時,是以相對 位置做相減,在動態的影像序中差值會變大,導致無法符合臨界值,已至於需要 儲存完整的影像資料,因此在較為動態的影像序列中便無法彰顯 DV-DPB 的效 果。

(52)

38 表 3.3、DV-DPB 與 SHM4.0 比較

3.3 高效率 DPB 管理器

從 3.1 節中可以觀察到 SHVC 解碼流程 DPB 變化的規則性,在 3.2 節中也 提到了 DV-DPB 節省 DPB 的方法,在 DV-DPB 的方法中,對於移動較大的視訊 影像改善效能有限,在 DPB 中也未能考慮到許多不同的參數下 DPB 的容量是否 足夠儲存參考畫面,將會導致視訊延遲。因此,本論文所提出一虛擬 DPB 管理 器(virtual DPB manager: VDPBM),利用所觀察到的 DPB 變化的規則性進一步來 改善 DV-DPB 的方法,能更有效率的管理 DPB,接下來將詳細說明其演算法。 Sequence DPBDV-DPB (KB) DPBSHM4.0 (KB) MSR ΔPSNRYDV-DPB (dB) Traffic 2560x1600 41934 60000 30.11% 0.02 Cactus 1920x1080 22635 30375 25.48% 0.01 Kimonol 1920x1080 27711 30375 8.77% 0.01 Vidyo1 1280x720 8540 13500 36.74% 0.05 Vidyo3 1280x720 8757 13500 35.13% 0.06 Vidyo4 1280x720 9015 13500 33.22% 0.04 BasketballDrill 832x480 4791 5850 18.10% 0.02 BQMall 832x480 4647 5850 20.57% 0.02 Average 26.02% 0.03

(53)

39

3.3.1 DPB 配置

利用 DPB 中參考畫面間的相關性,將原始 DPB 分成靜態 DPB (static DPB: S-DPB)以及動態 DPB (dynamic DPB: D-DPB),如圖 3.10 所示。圖 3.11 為 S-DPB 及 D-DPB 示意圖,由 3.1 小節所觀察原始 DPB 變化的規則所發現,如圖 3.12 所 示,將畫面已階層式的結構劃分為不同的階層等級,其中最高的 2 個階層被當作 參考畫面的次數是比較少的,而較低階層的畫面參考次數為最多,所以只要將較 低階層的畫面完整的儲存到 S-DPB 裡,而高等級階層的畫面則是經過 ME 的方 式只需儲存引索標記到 D-DPB 中,在利用 S-DPB 內的參考畫面進行 MC 的動 作,即可還原影像。

畫面的階層最高等級可由 GOP 的數量取 log2後加 1 及可得知,以 GOP 為 8

範例,最高畫面的階層等級為 log28+1 = 4,如圖 3.12 所示,圖 3.13 為 GOP 數量 為 8 所儲存的畫面示意圖,淺色的為只儲存引索標記的畫面,深色的則是儲存完 完整整的畫面資料,依照上述所敘,以 GOP 為單位,需要儲存到 S-DPB 的話為 整體 GOP 數量的 1/4,若以 GOP 為 16 舉例,如圖 3.14 所示,除了最高 2 個等 級階層的畫面外,其他畫面都將會被儲存到 S-DPB 中,這些畫面的數量以 GOP = 16 而言也是全部畫面的 1/4,由此可知,每個 GOP 中的畫面有 1/4 將被儲存到 S-DPB 中,所以 S-DPB 的大小可以由 GOP 的畫面張數來預先推算出需要多少容 量來儲存重建畫面,當參考畫面的數量增加時,GOP 之間的相關性也會增加,當 前 GOP 的畫面需要參考到上一個 GOP 的畫面,這樣 S-DPB 中將需要更多的空 間來儲存重建畫面,S-DPB 的算式定義如下:

𝑆­𝐷𝑃𝐵 = ⌊

𝐺𝑂𝑃 4

⌋ × ⌈

𝑀𝑎𝑥𝑅𝑒𝑓𝑃𝑖𝑐𝑁𝑢𝑚 𝐺𝑂𝑃

⌉ + 2

(3.5)

(54)

40 其中 MaxRefPicNum 為最大的參考畫面數量,以 GOP 數量為 8 和最大參考畫面 數量為 8 舉例,SHM4.0 的 DPB 需要 10 張畫面大小的容量,由公式(3.5)可計算 出 S-DPB 只需要 4 張大小,而在 GOP 數量為 16 和最大參考畫面為 8,由公式 (3.5)可計算 S-DPB 則需要 6 張大小,利用此方法減少 DPB 的容量大小。 圖 3.10、演算法架構圖 圖 3.11、S-DPB 及 D-DPB 示意圖 Decode Virtual DPB manager Dynamic DPB Static DPB DPB Prediction Input Output EL decoder (HEVC) EL D-DPB EL EL S-DPB EL video output BL decoder (HEVC) BL D-DPB BL bitstream BL BL S-DPB BL video output DEMUX SHVC bitstream EL bitstream

(55)

41 圖 3.12、畫面階層等級和參考畫面關係示意圖 圖 3.13、GOP 數量為 8 所儲存的畫面示意圖 0 4 2 6 1 3 5 7 Level 1 Level 2 Level 3 Level 4 8 List 0 List 1 0 4 2 6 1 3 5 7 Level 1 Level 2 Level 3 Level 4 8 List 0 List 1

(56)

42

圖 3.14、GOP 數量為 16 所儲存的畫面示意圖

3.3.2 三步搜尋演算法

SHVC 解碼過程中可以得知當前解碼畫面需要參考哪些畫面,當解碼完之後

的畫面要儲存至 D-DPB 前,解碼畫面以每個 CTU 6464 區塊,在 S-DPB 內的

參考畫面用三步搜尋演算法(three step search algorithm: TSSA) 進行搜尋[16],首 先在相對位置周圍距離 32 像素的 8 個區塊找出最小的 SAD,在移動到最小 SAD 的區塊,以 16 像素距離的 8 個區塊再找出最小的 SAD,在移動到最小 SAD 的 區塊以 8 像素的距離與周圍的 8 個區塊進行匹配,找到最小的 SAD 則為最佳的 區塊,如圖 3.15 所示。論文利用 TSSA 是為了找到最相似的 CTU 區塊,降低 SAD 的差值,而 TSSA 花費的時間較其他收尋法更加快速度,所以較適合在解 碼過程中使用,接著再以一個門檻值做判斷,若搜尋後的 SAD 小於門檻值,則 不需要儲存畫面資料,僅儲存引索值標記即可,若經過搜尋後 SAD 大於所制定 的門檻值,代表說目前 CTU 的編碼參數變動很大,則需要把當前 CTU 完整的儲 存起來。 0 16 8 4 12 2 6 10 14 1 3 5 7 9 11 13 15 Level 1 Level 2 Level 3 Level 4 Level 5 List 0 List 1

(57)

43

圖 3.15、三步搜尋演算法(TSSA)示意圖

3.3.3 引索標記儲存格式

接著將介紹 D-DPB 儲存引索標記的方法,若收尋後的 SAD 小於門檻值,只 要利用 3byte 的引索標記即可,不需要儲存完整畫面資料。圖 3.16 為引索標記的 位元流,第 1 個 bit 是控制旗標(control flag)來判斷 D-DPB 中儲存的是引索標記 還是 CTU 區塊的影像資料,接下的來 7 個 bit 為參考第幾張畫面(Reference picture number),而最後 2 個 byte 是代表運動向量,前 1 個 byte 為 X 軸的運動向量,後 1 個 byte 為 Y 軸的運動向量,當控制旗標為 0 時,代表儲存的是引索標記,之 後的 7 個 bit 接儲存參考畫面的 POC 編號,而最後 2 個 byte 為儲存在參考畫面 中找到的運動向量,若控制旗標為 1 時,代表需要將整個 CTU 影像資料儲存起 -56 -56 56 56 0 0

(58)

44

來,後面 7 個 bit 都將為 0,接著將會儲存 4096 個 byte 把 CTU 的畫面資料儲存 起來。

圖 3.16、在 D-DPB 中引索標記的位元流

3.3.4 門檻值的設定

門檻值(Thproposed)的制定是由兩個不同的標準影像序列 basketballDrive 和

BQMall 做不同的 Thproposed設定,進行 Thproposed的分析與統計,表 3.4 為使用不

同的 Thproposed所得到的 DPB 大小以及 PSNR 的變化,𝐷𝑃𝐵𝑝𝑟𝑜𝑝𝑜𝑠𝑒𝑑為本論題所提 出方法的 DPB 的容量,𝐷𝑃𝐵𝑝𝑟𝑜𝑝𝑜𝑠𝑒的運算式如下: 𝐷𝑃𝐵𝑝𝑟𝑜𝑝𝑜𝑠𝑒𝑑 = 𝑆­𝐷𝑃𝐵 + 𝐷­𝐷𝑃𝐵 (3.6) 其中 S-DPB 為靜態 DPB 的容量,其數學式如(3.5)所示,而 D-DPB 為動態 DPB 平均使用量,其計算方式如下: 𝐷­𝐷𝑃𝐵 =∑𝑁𝑡𝑜𝑡𝑎𝑙𝑖=0 𝐷­𝐷𝑃𝐵(𝑖) 𝑁𝑡𝑜𝑡𝑎𝑙 (3.7) 其中 D-DPB(i)為一張畫面的動態 DPB 的容量,𝑁𝑡𝑜𝑡𝑎𝑙為影像序列的總畫面張數, dynamic DPB …… 0 000 0100 0000 0000

1 bit 7 bit 8 bit

1 000 0000 ….. …. …. ….

control flag Reference picture number CTU MVx

1 bit 7 bit 4096 byte

control flag Reference picture number CTU data

0000 0000 8 bit CTU MVy

(59)

45 因為每張畫面動態 DPB 大小都不一定,所以取動態記憶體的平均值,為了評量 影像的品質,在此定義一個∆PSNRYproposed來評量,其數學運算如下: ∆𝑃𝑆𝑁𝑅𝑌𝑝𝑟𝑜𝑝𝑜𝑠𝑒𝑑 = 𝑃𝑆𝑁𝑅𝑌𝑆𝐻𝑀4.0 − 𝑃𝑆𝑁𝑅𝑌𝑃𝑟𝑜𝑝𝑜𝑠𝑒𝑑 (3.8) 其中 PSNRYProposed代表本論文所提出的演算法解碼後影像品質,而PSNRYSHM4.0為 原始 SHM4.0 解碼後的影像品質。

Thproposed的制定是由 Class D 的標準影像序列做不同的 Thproposed設定,進行

分析與統計,表 3.4 為使用不同的 Thproposed所得到的 DPB 大小以及 PSNRY 的變

化,DPBproposed為 VDPM 演算法的平均 DPB 容量,因畫面變動較大,可以節省

的區塊相對的降低,DPB 所需要的容量則會增加,將表 3.4 數據以折線圖如圖

3.17 所示,當 Thproposed設 2500 時,DPBproposed沒有太大變化,而∆PSNRYproposed

也變化較小,本論文將以 Thproposed為 2500 來當實驗模擬的條件。 表 3.4、各門檻值所得到的 DPB 大小以及 PSNR 的變化 Thproposed 5000 4000 3000 2500 2000 1500 1000 Class D DPBproposed (KB) 3564 3675 3897 4146 4323 4431 4479 ∆PSNRYproposed (dB) 0.44 0.26 0.12 0.05 0.03 0.02 0.02

(60)

46 圖 3.17、在各門檻值得曲線變化

3.3.5 虛擬 DPB 管理器演算法之流程

為了能夠更了解 DPB 管理器的運作過程,圖 3.18 為演算法流程圖,接下來 會逐步的說明此演算法的運作過程: 步驟 1、 首先由檔頭的 RPS 解碼出 GOP 的畫面張數,在根據 GOP 的結構分出 階層等級,得到資訊後執行步驟 2。 步驟 2、解碼出當前需要參考哪些參考畫面,執行步驟 3。 步驟 3、 依照公式計算出 S-DPB 的容量大小,執行步驟 4。 步驟 4、判斷當前解碼完的畫面需要儲存到 DPB 還是 D-DPB,若是儲存到 S-DPB 則執行步驟 5,若為儲存致 D-S-DPB 則移動到步驟 7。 步驟 5、 檢查 S-DPB 中是否已存滿參考畫面,若 S-DPB 中已存滿參考畫面, 則須先找出不需要在被參考的畫面並在 S-DPB 中釋放掉,執行步驟 6。 步驟 6、將當前解碼畫面儲存至 S-DPB 中,儲存完成後結束。 Thproposed= 5000 Thproposed= 4000 Thproposed= 3000 Thproposed= 2500 Thproposed= 2000 Thproposed= 1000 0 0.1 0.2 0.3 0.4 0.5 3500 3600 3700 3800 3900 4000 4100 4200 4300 4400 4500 ∆ PSN R Ypro po se d (d B) DPBproposed(KB) ∆PSNRY降低量

(61)

47 步驟 7、檢查在 D-DPB 中不需要被參考的畫面並將其釋放,執行步驟 8。 步驟 8、接著以 CTU 為單位在 S-DPB 中找出當前解碼畫面所參考的畫面,進 行三步搜尋法找出最小 SAD,執行步驟 9。 步驟 9、在由設定的門檻值決定儲存引索標記或 CTU 的畫面資料,儲存完成後 移動報步驟 10。 步驟 10、判斷每個 CTU 是否全部都搜尋完成,若未完成則回到步驟 8 繼續同 樣過程,值到每個 CTU 都做完則結束。

(62)

48 圖 3.18、演算法的流程圖 xDecompressSIice xActivateParameterSets applyReferencePictureSet Compute StaticDPB StoreInStaticDPB? Check StaticDPB Check DynamicDPB Store In StaticDPB ThreeStepScearch < Threshold ?

Store Index Store CTU Data

Store In DynamicDPB End No Yes No Yes CTU finish? Yes No

(63)

49

第四章 高效率 DPB 管理器之 DSP 實現

以目前的消費性電子產品而言,產品除了越輕、薄、短、小之外,功能也越 來越多元化,就以目前智慧型手機來說,以較小的體積卻擁有許多不同的功能, 例如播放影片、錄影、視訊等等,隨著半導體的進步與發展,數位多媒體的龐大 計算量已因處理速度的提高獲得改善,許多的嵌入式 IC 晶片已能夠支援 H.264 視訊標準,像特殊應用標準產品(application specific standard product: ASSP)、現 場可編程輯閘陣列(Field-Programmable Gate Arrays: FPGA)、特殊應用積體電路 (application specific integrated circuit: ASIC) 和 數 位 訊 號 處 理 器 (digital signal processor: DSP)等普級應用在許多的多媒體裝置上,未來的嵌入式 IC 晶片也需要 能支援 SHVC 視訊標準,再運算量及記憶體使用的增加,是將會面臨的課題,接 下來將介紹本論文對於在 DSP 模擬板上降低 SHVC 解碼流程的記憶體使用量。

4.1 ADSP-BF548 開發板簡介

ADSP-BF548 是由英特爾(Intel)和亞德諾(ADI)聯合開發的嵌入式 DSP 開發 板[6],ADSP-BF548 的硬體架構靈活性與高效能處理相輔相成,高效能的系統及 應體架構非常適合多媒體應用;此類應用普遍支援多種標準,並且對系統性能有 很高的要求。圖 4.1 及圖 4.2 為硬體架構圖和 ADSP-BF548 實體開發板,其開發 板硬體架構包含微處理器(microprocessor) Blackfin processor、雙倍資料率同步動 態 隨 機 存 取 記 憶 體 (Double Data Rate Synchronous Dynamic Random Access Memory: DDR-SDRAM) 、 靜 態 隨機 存 取 記憶 體 (static random access memory: SRAM) 、 非 同 步 串 列 介 面 (universal asynchronous receiver transmitters ports: UARTs)、串流周邊介面(serials peripheral interface ports: SPIs)、串流埠(serials ports: SPORTs)、進階並行外部接口(enhanced parallel peripheral interface: EPPI)、雙線介 面(two 2-wire interface: TWI)、USB ports 等。以及周邊配有 keypad、LCD 4.3 吋

(64)

50

觸控面板等。

圖 4.1、硬體架構圖

(65)

51

4.1.1 Blackfin DSP 晶片

Blackfin 處理器最高核心時脈可到 533 MHz,每秒處理速度達到 1066 MIPS (millions of instructions per second),而內部包含三個單元,控制單元(control unit: CU)、資料運算單元(arithmetic logic unit: ALU)及位址運算單元,圖 4.3 為 Blackfin 處理器核心結構示意圖,Blackfin 的暫存器包含了數據暫存器(R0、R1、R2…)、 指標暫存器(P0、P1、P2…)、堆疊暫存器(SP)、長度暫存器(L0、L1、L2)、變址 暫存器(I0、I1、I2…)和修改暫存器(M0、M1、M2…),而且 Blackfin 處理器擁有 雙指令及延伸和乘法累加(multiply-accumulate: MAC)技術,可以一次完成 16 位元 乘 16 位元的乘法運算,直接把結果累加到 40 位元的累加器中。 圖 4.3、Blackfin 處理器核心結構示意圖

數據

圖 2.1、Kimono1 視訊序列在不同視訊編碼標準之下的效能比較圖[4]
圖 2.3、HEVC 系統框架圖
圖 2.4、HEVC 的編碼系統架構圖
圖 2.8、SHVC 編碼架構圖
+7

參考文獻

相關文件

下列何者敘述錯誤?(A)鼎新 ERP 系統可以設定日期格式(西元\民國) (B)鼎新 ERP 系統可 以設定多種幣別資料 (C)鼎新 ERP 系統可以設計表單的簽核

(A)因為用 Terminal Services 可以不用安裝 ERP 的程式在 Client 端上可以減少 MIS 維護系 統的時間(B)沒有防毒軟體 (C)建置防火牆的系統 (D) APP-Server 與 DB

以下 Java 程式執行完後,輸出結果為何?(A)無法編譯,因為 Rectangle 類別不能同時 extends 一個類別且 implemets 一個介面(B)無法編譯,因為 Shapes 類別沒有

在 abelian group 最好用的性質就是其每個 subgroup 都 是 normal subgroup, 所以每次碰到有關 abelian group 的性質時, 我們都可先找一個 nontrivial subgroup 再利用其為

這些 dimensions 之間的關係, 而這些關係和 ordered basis 的選取無關, 所以 A, B associated λ 的 elementary Jordan matrices 的各個階數的個數會相同, 也就是 A,B 可以化為相同的

在 abelian group 最好用的性質就是其每個 subgroup 都 是 normal subgroup, 所以每次碰到有關 abelian group 的性質時, 我們都可先找一個 nontrivial subgroup 再利用其為

在鐘面上報 時, 時針所屬 的時間範圍 在鐘面上計時, 相鄰刻度間為 一個單位時段..

„ „ 利用電腦來安排與整合多種媒體,可產生 利用電腦來 更多樣化的作品。如某一段背景配樂在影 片中的哪個時間點開始播放、新聞播報中 子母畫面的相對位置、文字字幕出現在畫