【技術文章】VESA DSC 技術剖析(Display Stream Compression 影像壓縮傳輸)

Granite River Labs, GRL
Sophie Lee 李炫娥

 

          影像壓縮傳輸(Display Stream Compression)簡稱 DSC,是將影像數據壓縮後進行傳輸,達成低頻寬就可輸出高解析度內容,並且經壓縮後畫面表現上視覺無失真、低延遲的技術。DSC 可使用在各個影像介面,包括 DisplayPort、HDMI、MIPI 等等。本篇文章主要簡介 DisplayPort(DP)認證中的 DSC 測試。

          在介紹 DP 的 DSC 測項之前,先簡略介紹 DSC 的運作原理。一個完整的 DSC 系統需要一個編碼器及解碼器。編碼器配置在傳送端,傳輸影像數據前將影像壓縮; 解碼器則配置在接收端,將接收到的影像數據解壓縮、還原並顯示。圖(一)為一個例子,由此可知,傳送端及接收端兩者都必須要支援 DSC 方可啟用。

圖 1

 

           DSC 使用預測編碼以及建立歷程顏色索引來壓縮影像數據。前者概念上就是傳送端先利用周邊的像素資訊預測目標像素資訊,再將預測出來的像素資訊與原本的像素資訊進行運算,得出一個誤差值(error)。這個誤差值作為數據傳送給接收端後,接收端執行同樣的步驟預測出目標像素並加上這個誤差值使其更接近原本的像素。如此一來就只需傳送誤差值,減少數據量。歷程顏色索引原文為 Index Color History(ICH),就是將常出現的像素資訊儲存為索引。傳輸時僅需要索引數據,也不須傳輸大量資料,達成壓縮目的。ICH 適合用在圖形化的畫面或有大面積單一顏色的畫面上。下面兩張圖分別為傳送端壓縮流程圖及接收端解壓縮流程圖。

圖 2

 

圖 3

 

» 預測編碼 MMAP/ BP/ MP 與截面

           預測編碼又分 Modified Median-Adaptive Prediction(MMAP)、Block Prediction(BP)及 Midpoint Prediction(MP)三種。

           其中 BP 在接收端為選擇性支援,在 DP 進行 Link Training 時會透過 DisplayPort Configuration Data(DPCD)告知傳送端。傳送端以何種預測編碼或 ICH 的方式壓縮並不會透過 link training 告知接收端,而是制定了共同機制以畫面像素組成作為基準來決定。一開始會先決定要使用預測編碼或 ICH,如果選擇預測編碼就會先選擇使用 MMAP 或 BP。再來選擇是否要使用 MP。如果選擇預測編碼,最終選擇應為編碼後誤差最小者。

           為加速編碼的過程,並且減少經過壓縮的失真,DSC 技術導入截面(Slice),將每一幀的畫面加以切割,切割出的截面同時進行編碼。DSC 可支援的截面數有 1、2、4、8 個,甚至更多的截面數。需要注意的是單位為 slice/line,line 是指畫面成形時以 raster-scan 順序為一行的像素。除不同截面數外,DSC 也可以使用不同長寬的截面。如圖(四)右上及右下兩張圖片,同樣都是一行 4 個截面,但右上的圖切割為長條形截面,右下的圖則切割成較寬的長方形截面。要使用哪一種長寬的截面取決於傳輸端及接收端支援的截面數以及 DSC 壓縮或解壓縮率。進行 Link Training 時傳輸端及接收端會溝通並以雙方都可以支援的組合運行 DSC。

 

圖 4

 

» DSC 啟用時機點

           DSC 啟用的時機點為傳送端接上接收端並且進行 Link Training 的時候。圖(五)為啟用 DSC 的 Link Training 的過程。傳送端讀取接收端的 Extended Display Identification Data(EDID)後接著會讀取接收端的 DisplayPort Configuration Data(DPCD),檢視接收端的能力以及是否支援 DSC,如有支援的話會在 Link Training 結束前寫入 DPCD 啟用 DSC 功能。DSC 相關的 DPCD 位址請參考表(一)。

 

圖 5

 

表 1

 

           在 Link Training 結束並且傳輸影像數據,還需要透過主鏈路中與影像相關的資訊(Main-Link Protocol)來繼續溝通 DSC 相關的能力。 Main-Link Protocol 由以下幾個部分組成: Control VB-ID、Metadata、Audio、Picture Parameter Set 以及 End of Chunk。 其中有包含與 DSC 相關資訊的有 Control VB-ID、Picture Parameter Set 以及 End of Chunk,這些資訊會與影像數據一同從傳送端傳輸給接收端。

           Link Training 過程中寫入 160h 位址的話,傳送端會在 VB-ID 中寫入開始啟用 DSC 功能的要求(Compressed Stream_Flag),並且在 Picture Parameter Set 寫入 DSC 功能的相關資訊。VESA 規範定義,包含啟用或關閉 DSC 功能的 VB-ID 必須要在影像資訊前一行位元中,如圖(六)。接著傳送端會在 Picture Parameter Set 中寫入 DSC 功能相關的資訊,包括 DSC 版本、影像的長寬、影像所使用的色彩格式、色彩深度等等。表(二)列出 DP DSC 測試中需要注意的資訊。

圖 6

 

表 2

 

           最後向讀者介紹在 DP 認證中的 DSC 測試。由於 DSC 在 DPCD 以及 Main-Link Protocol 中加入 DSC 相關的資訊,檢查 Link Training 過程以及 Main Link Protocol 的正確性為測試其一目的。再來因 DSC 牽扯到許多不同因素,包含解析度、截面、色彩格式、色彩深度、編碼及解碼方式等,因此針對不同組合皆會進行檢測。另外由於 DSC 標榜視覺無失真,因此測試環節也包含肉眼檢測畫面是否正常。下表照順序列出傳送端需要測試的項目。

 

表 3

 

           上表中前兩項單純檢測待測物在一般情況及使用 BP 的時候是否可以正確啟用 DSC,其餘項目除了檢視 Link Training 及 Main-Link Protocol 之外,也需要肉眼檢查畫面。最後兩項 4.6.1.8 及 4.6.1.9 則檢測產品的向下相容性,確保在接收端只支援 DSC 1.1 的情況下是否也可以成功啟用 DSC。接收端的測試方式大同小異,只是比較繁瑣。不只分顏色格式,在固定一個顏色格式下又分顏色深度、Block Prediction、壓縮率、截面數以及通道數來測試,總共為 26 項。

           隨 DP 版本演進,傳輸速度及解析度也日益增高。由一開始的 2K,演進到現在 8K 甚至更高的解析度。然而,雖然傳送端以及接收端皆可支援如此高的解析度及傳輸速度,線纜則遇到硬體界限,無法突破在高傳輸速度下訊號損耗的問題。為此在 DP 介面中導入 DSC,即使以比較低的傳輸速度,同樣也能輸出精細的解析度。往對於解析度的要求必然會越來越高,若硬體上的障礙持續無法解決,想必 DSC 為一個可觀的發展趨勢,值得再深入研究。

 

 

參考文獻

  • VESA Display Stream Compression (DSC) Standard Version 1.2a 18 January, 2017
  • VESA DisplayPort (DP) Standard Version 1.4a 19 April, 2018
  • VESA® DisplayPort® DSC Link Layer Compliance Test Specification Version 1.4a Revision 1.1 Draft 6 18 November,
    2019

 

文章下載

 

作者
GRL 台灣技術工程師 李炫娥 Sophie Lee

國立台灣大學機械工程系畢業。在 GRL 擁有三年多測試經驗,熟悉 DisplayPort, Ethernet 等測試規範,並擔任 GRL 技術文章作者及演講講師。

 

想瞭解更多相關服務,歡迎聯絡:

11493台北市內湖區內湖路一段516號4樓
電話: +886 (2) 2657-2199 #105
Email: info_taiwan@graniteriverlabs.com
官網: www.graniteriverlabs.com.tw

 

本文件中規格特性及其說明若有修改恕不另行通知。                        發佈日期 2021/04/29 AN-210429-TW