DSC学习

本文详细介绍了VESA提出的DisplayStreamCompression(DSC)技术,一种针对显示链路视频压缩的关键技术,着重于其在硬件设计、算法、标准版本升级以及在显示接口标准中的应用,如DisplayPort和HDMI。文章还探讨了国内外对该技术的研究现状和实际应用案例。
摘要由CSDN通过智能技术生成

学习1:

《DSC视频压缩关键技术研究与硬件设计》

链接:https://pan.baidu.com/s/1TKcoedQAEyL6_6zeIkcx4gtql 
提取码:1dm3

学习2:

基于FPGA实现的带有高速...的DSC编解码器研究与设计_彭坤瑞

链接:https://pan.baidu.com/s/1g-a2OFMbFfnjG4VjEYv_NAtql
提取码:uo8f

更推荐这个文档,O(∩_∩)O

学习3:

视频显示流压缩的技术与标准_朱秀昌


VESA结合显示器的显示特点和屏幕内容的多样性,提出一种适合硬件实现并且具有自适
应编码能力的显示流压缩(Display Stream Compression, DSC)标准。

概述

随着显示技术的进步,分辨率和动态范围不断增大。显示链路的带宽的需求
呈指数级增长,来自物理层的可用带宽却没有跟上发展的步伐。尽管可以通过向
链路增加更多的连接线或者更昂贵的方法来解决这种差异,但是这些方法在系统
的成本、功耗和兼容性方面存在巨大的缺陷。因此,VESA提出了一种低成本、
视觉无损的视频编解码器标准,为高分辨率视频传输提供了有效的解决方案。

VESA在2012年确定了显示链路视觉无损压缩的行业需求,并成立了DSC
任务组。DSC是一种用于压缩和解压缩视频显示流的标准,其1.0版本于2014
年3月由VESA正式发布。期间经过多次版本升级,使算法可以支持更多视频格
式和更高动态范围的视频压缩需求。目前,最新的版本为2017年1月发布的
DSC1.2a [
37]。DSC的目标是为显示链路创造一个视频压缩系统,能够用于不同类
型的屏幕内容,并且对屏幕内容编码时实现视觉无损的压缩质量。 
DSC包含以下基本特性: 
✓ 支持多种设备:当前标准可以为电视、显示器和移动面板提供比给定的
显示链路所支持的更高的分辨率; 
✓ 多种格式输入:当前DSC标准可以支持RGB或YCbCr两种输入格式,
以及4:4:4、4:2:2和4:2:0三种视频采样格式; 
✓ 高动态范围:当前DSC标准可以对多种比特每分量(bpc)的视频输入
进行编解码,支持的输入分量的比特数有8、10、12、14和16; 
✓ 高压缩率:当前标准对视频内每个像素的压缩比特率可以实现1/3或者
更高; 
✓ 视觉无损:DSC标准可以在指定的目标比特率下为各种各样的静态图像
或者视频序列提供视觉无损的图像质量; 
✓ 实时性:DSC标准可以为输入视频提供实时的编解码; 
✓ 低功耗:由于DSC算法中使用了更少的计算资源,在硬件实现中大大减
少了逻辑单元的使用; 
✓ 片划分:支持片的划分,可以使压缩帧缓冲区的部分图像更新,并且限
定接收的比特流中产生的错误。

除此之外,DSC可以被用于大多数主流显示链路。例如,移动产业处理器接
口联盟(Mobile Industry Processor Interface,MIPI)的显示串行接口(Display Serial 
Interface,DSI)标准[38]、显示端口[39](DisplayPort,DP)、嵌入式显示端口(Em-
bedded DisplayPort,e DP)和高清多媒体接口(High-Definition Multimedia Interface,
HDMI)等。与其他缩减带宽的方法(如4:4:4到4:2:0或4:2:2色度采样)不同,
DSC压缩保留了原始视频颜色采样的完整性。DSC还可兼容以上显示链路的早
期版本,这意味着低版本的显示接口可以通过压缩实现更高的分辨率和帧率的视
频传输。 

国内外研究现状

早在2016年VESA就将DSC技术加入到自家推出的DisplayPort 1.4标准
[40]。DP 1.3在没有显示流压缩的条件下最高可以实现单线缆5K分辨率的视频输
出,然而DP 1.4最高可以实现8K、60Hz、HDR的视频输出。

2017年,新思科技将VESA的显示流压缩功能集成到DesignWare MIPI DSI的IP中[41]。该IP可
以支持60Hz或者更高帧率的超高清4K显示器,为增强现实/虚拟现实、移动应
用和汽车SoC提供有效的解决方案。由于DSC版本的更新,新思科技在2019年
又推出了符合DSC 1.1和1.2a标准的IP,可以为显示器提供高达10K分辨率所
需的120Hz刷新率[42]。该IP可以完美的与HDMI[43]、DP和DSI接口共享,进
一步降低了产品的成本和功耗。 
 

DSC算法

DSC被设计为一个实时视频编解码系统。首先,未压缩的视频数据以光栅扫
描的形式按顺序进入编码器。编码器对即将到来的像素进行压缩处理并将压缩后
的数据形成比特流
。然后将比特流的一部分临时存储在编码器内的速率缓冲区中,
另一部分则按照设定的速率输出到解码器中。编码器速率缓冲区输出的是DSC
比特流的图像层
。DSC比特流通过物理传输层从编码器实时的传输到解码器,比
如通过HDMI传输。解码器将接收的比特流的一部分临时存储在解码器的速率
缓冲区中。解码器速率缓冲区中的比特流被解码并且重新构造成未压缩的像素。
DSC在端到端的系统中工作过程如图2-1所示。 

DSC比特流是由一个或者多个使用图片层的语法编码的图片组成的,其中
至少包括一个slice层语法。DSC编码器在编码时将输入像素的三个分量分开编
码,编码完成以后分量子流经过多路复用器形成比特流。如果一张图片被分为了
两个或者多个slice,则对所有的slice中的子流并行编码以提升编解码的速度。
最后,将所有的slice通过slice多路复用器产生的比特流作为最终的输出。在此
基础上,DSC标准通过对图片参数集(Picture Parameter Set,PPS)的设置可以
使其支持多种输入格式和压缩比率。编码器和解码器需要使用相同的PPS才能
完成正确的编解码操作,否则解压后的数据不能产生视觉无损的画面。DSC语法
和层级结构如图2-2所示。 

图片层在DSC语法中是等级最高的层级,以整个图片为单位进行操作。图
片可以是帧(编码连续格式视频时),也可以是字段(编码隔行格式视频时)。
每幅图都是由整数n个连续的、不重叠的矩形slice组成,并且每个slice都具有
相同的尺寸。图片中的每个slice的编码是由slice层指定的。每个slice都可以进
行独立的编解码操作,不需要参考其他的slice,这为硬件实现中的并行操作提供
了可能。在图片中每行可以存在一个或者多个slice。如果在一行中存在多个slice,
那么在这一行中的所有的片产生的比特流需要经过一个共同的多路复用器,以保
证正确的比特流顺序。在每个slice中最小的编码单位为组,每组包含三个或者
六个连续的像素
,这些像素以光栅扫描的顺序输入编码器中编码或从解码器中输
出。每一组像素中包含3或4个unit,使用增量尺寸单元-可变长度编码(Delta 
Size Unit-Variable Length Coding,DSU-VLC)进行编码,被编码的每个unit都是
一种特定类型可变长度码。图片在编解码过程中的划分如图2-3所示。 


DSC编码过程主要包括

  1. 色彩空间转换(Color Space Conversion,CSC)
  2. 预测和量化
  3. 历史目录索引(Indexed Color History,ICH)
  4. 熵编码和速率控制(Rate Control,RC)

色彩空间转换处理的功能是将RGB格式的像素转换为可逆的YCoCg格式,将像素中的亮度和色度值分离,以方便像素在编码器中处理。转换后的图像数据部分缓存在buffer中用于后面的预测、历史目录索引等。

Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Intellectual Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9 Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9 Patents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9 Support for this Standard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11 Acknowledgments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11 Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13 Section 1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.1 Document Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15 1.2 Display Stream Compression Objectives. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16 1.3 Display Stream Compression Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16 1.4 Acronyms, Initialisms, and Abbreviations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17 1.5 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19 1.6 Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22 1.6.1 Bit Ordering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22 1.6.2 Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22 1.7 Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23 1.8 Reference Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23 Section 2 Requirements (Informative) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Section 3 Theory of Operation (Informative). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25 3.2 Color Space Conversion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30 3.3 Prediction and Quantization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30 3.3.1 Modified Median-Adaptive Prediction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30 3.3.2 Block Prediction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31 3.3.3 Midpoint Prediction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32 3.4 Indexed Color History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33 3.5 Bitstream Construction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34 3.5.1 Substream Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34 3.5.2 Substream Multiplexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36 3.6 Rate Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38 3.7 Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39 3.7.1 Hypothetical Reference Decoder-Based Timing Model . . . . . . . . . . . . . . . . . .39 3.7.2 Constant and Variable Bit Rate Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41 3.7.3 Slices and Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42 3.8 Options for Slices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45 3.9 Slice Multiplexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46VESA Display Stream Compression (DSC) Standard UNAUTHORIZED DISTRIBUTION PROHIBITED Version 1.2a Copyright © 2014 – 2017 V
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值