• 沒有找到結果。

第二章 先前的研究

2.2 FGS (F INE G RANULAR S CALABILITY )

在先前的MPEG 標準中,是在固定的頻寬下,對編碼作最佳化,但是在目前的影像傳 輸中,因為使用網路來作為影像傳輸的媒介,而實際的網路環境,是會有變動的、不穩定 的,為了在這樣的條件下,能得到比較好的影像品質,需要在編碼時,對一個區段的頻寬 來作最佳化的動作,而不再只是對於單一的頻寬來作最佳化。有鑑於此,在MPEG-4 標準 中,加入了細粒狀可調層次式視訊編碼技術[fine granularity scalable video coding]這項技 術,希望可以逼近於 Distortion-Rate 曲線的效能。下圖為使用不同的編碼方式所得到的影 像品質和頻寬的示意圖,在本節接下來的篇幅中,我們將簡單的介紹FGS 技術的方法和精 神。

MPEG1

1.5M bps 400k bps 800k bps

圖 2.8 不同編碼方式之比較

FGS 把影像的編碼分成兩個部份,基本層[Base Layer]和加強層[Enhancement Layer]。

其中最重要的資料都是放在基本層的部份,這些資料量在最差的頻寬條件下都假設能夠被 完整地傳輸,因此必須依照可能的頻寬分佈,對基本層的大小作調整。為了達到最好的壓

縮率,使得編出來的碼最小,所以本層的編碼方式是採用非可調層次式編碼[non scalable coding]。而加強層的部份,則是採用位元平面編碼[bit-plane coding],將全部的資料量扣除 掉基本層已包含的部份,按照量化後的大小,編碼成數個位元平面。依照當時的頻寬狀況,

解碼端會得到不等量的加強層資料,但是不管有多少的資料因為網路狀況而被丟棄,解碼 端都可以以基本層和部份的加強層資料,解出完整的影像,差別只是在於品質的好壞而已。

採用這樣的編碼方式,可以使得影像經過編碼後,可以適用於一整個區段的頻寬,而不在 只是單一的頻寬。下圖是示意圖:

Enh Enh

Base + K bit-planes (K ≤ N)

Encoder Decoder

Channel

Enh. : Enhancement Layer 圖 2.9 FGS 示意圖

在FGS 編碼中,除了有經過量化(quantization)之外,也將影像的數值轉換成 DCT 係數,

希望藉由它高低頻分佈的特質,配合上VLC 編碼,可以達到比較好的壓縮效果。上述的方 法在之前已經已介紹過,這裡不再重複。而在解碼端的部份則有很多大同小異的方式可供 選擇,大致上就是一段一段的讀入資料,直到發現下一張frame 的 header 為止,下面的兩 張示意圖,分別表示出編碼端(encoder)和解碼端(decoder)的一些細節部份。

圖 2.10 FGS 編碼端架構圖[4]

圖 2.11 FGS 解碼端架構圖[4]

而下圖則是簡明的表達出最後編碼出來的資料型式:

圖 2.12 FGS 資料分配示意圖[4]

下面的兩張圖則分別是FGS 編碼和 SNR scalability 編碼以及非可調層次式編碼[non scalable coding]效能的比較,前者是一類似於 FGS 的方式,而後者則是在單一頻寬下的最 佳結果。

圖 2.13 FGS 和 SNR scalability 的比較[4]

圖 2.14 FGS 和 non scalable coding 的比較[4]

FGS 編碼方式雖然提供了一個可以使得編碼可以適用於比較大頻寬範圍之解決方案,

但是因為只有基本層的資料被用於運動補償[motion compensation],而加強層的資料為了怕 沒有傳達到而帶來error drift 的問題,所以並沒有被採用在運動補償中。明顯地,這樣的作 法會降低temporal prediction 的效率,而影響整體的編碼效能,所以一些改善的方法也相繼 被提出,我們將在接下來的兩個小節中作介紹。

相關文件