原创 VESA DSC 技术剖析(Display Stream Compression 影像压缩传输)

2021-6-15 11:54 14954 25 25 分类: 通信 文集: DisplayPort

影像压缩传输(Display Stream Compression)简称DSC,是将影像数据压缩后进行传输,达成低带宽就可输出高分辨率内容,并且经压缩后画面表现上视觉无失真、低延迟的技术。DSC可使用在各个影像接口,包括DisplayPort、HDMI、MIPI等等。本篇文章主要简介DisplayPort(DP)认证中的DSC测试。


在介绍DP的DSC测项之前,先简略介绍DSC的运作原理。一个完整的DSC系统需要一个编码器及译码器。编码器配置在传送端,传输影像数据前将影像压缩; 译码器则配置在接收端,将接收到的影像数据解压缩、还原并显示。图(一)为一个例子,由此可知,传送端及接收端两者都必须要支持DSC方可启用。

图(一)


DSC使用预测编码以及建立历程颜色索引来压缩影像数据。前者概念上就是传送端先利用周边的像素信息预测目标像素信息,再将预测出来的像素信息与原本的像素信息进行运算,得出一个误差值(error)。这个误差值作为数据传送给接收端后,接收端执行同样的步骤预测出目标像素并加上这个误差值使其更接近原本的像素。如此一来就只需传送误差值,减少数据量。历程颜色索引原文为Index Color History(ICH),就是将常出现的像素信息储存为索引。传输时仅需要索引数据,也不须传输大量数据,达成压缩目的。ICH适合用在图形化的画面或有大面积单一颜色的画面上。下面两张图分别为传送端压缩流程图及接收端解压缩流程图。


图(二)传送端DSC压缩流程图

出自VESA DSC规范(DSC v1.2a)


图(三)接收端DSC解压缩流程图

出自VESA DSC规范(DSC v1.2a)


预测编码又分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。

图(四)


DSC启用的时机点为传送端接上接收端并且进行Link Training的时候。图(五)为启用DSC的Link Training的过程。传送端读取接收端的Extended Display Identification Data(EDID)后接着会读取接收端的DisplayPort Configuration Data(DPCD),检视接收端的能力以及是否支持DSC,如有支持的话会在Link Training结束前写入DPCD启用DSC功能。DSC相关的DPCD地址请参考表(一)。


图(五)

表(一)


 在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 ParameterSet写入DSC功能的相关信息。VESA规范定义,包含启用或关闭DSC功能的VB-ID必须要在影像信息前一行位中,如图(六)。接着传送端会在Picture Parameter Set中写入DSC功能相关的信息,包括DSC版本、影像的长宽、影像所使用的色彩格式、颜色深度等等。表(二)列出DP DSC测试中需要注意的信息。

图(六)

表(二)

 

最后向读者介绍在DP认证中的DSC测试。由于DSC在DPCD以及Main-Link Protocol中加入DSC相关的信息,检查Link Training过程以及Main Link Protocol的正确性为测试其一目的。再来因DSC牵扯到许多不同因素,包含分辨率、截面、色彩格式、颜色深度、编码及译码方式等,因此针对不同组合皆会进行检测。另外由于DSC标榜视觉无失真,因此测试环节也包含肉眼检测画面是否正常。下表照顺序列出传送端需要测试的项目。

表(三)


  上表中前两项单纯检测待测物在一般情况及使用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

国立台湾大学机械工程系毕业,拥有三年多测试经验,熟悉DisplayPort, Ethernet 等测试规范。GRL 技术文章作者及演讲讲师。

作者: GRL实验室, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-3943047.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

文章评论0条评论)

登录后参与讨论
我要评论
0
25
关闭 站长推荐上一条 /2 下一条