50
DP and HDMI Protocol Fundamentals Granite River Labs Allen Chen([email protected]) Shanghai, July 11, 2017 Taipei July 13, 2017

DP and HDMI Protocol Fundamentals...The difference between YCbCr and RGB is that YCbCr represents color as brightness (Y) and two color difference signals (Cb and Cr), while RGB represents

  • Upload
    others

  • View
    20

  • Download
    0

Embed Size (px)

Citation preview

  • DP and HDMI Protocol Fundamentals

    Granite River Labs

    Allen Chen([email protected])

    Shanghai, July 11, 2017

    Taipei July 13, 2017

  • Agenda

    ✓ Overview of HDMI

    ✓ Overview of DP

    ✓ Introduction to HDMI Protocol

    ✓ Introduction to DP Protocol

    2

  • How do HDMI and DisplayPort Compare?Feature HDMI DisplayPort

    Latest specification 1.4 and 2.0 (2.1 under development) 1.4

    Latest CTS 1.4b and 2.0s 1.2b, V1.0 for Alt mode

    Deep Color Yes, up to 48bits per pixel Yes, up to 48bits per pixel

    Pixel Encoding RGB

    YCbCr : 4/4/4, 4/2/2, 4/2/0

    RGB

    YCbCr : 4/4/4, 4/2/2, 4/2/0

    Target applications

    (both technologies appear in many applications)

    Home theater PCs and mobile

    Video Data Architecture Frame-based, RGB+clock Packetized, 8b/10b

    encoded, embedded clock

    Spread Spectrum Clocking Supported? No Yes

    USB Type-C Alt Mode? Yes, for 1.4b Yes for all data rates

    Dynamic Link Negotiation? No Yes(Aux Channel)

    All data Link? No(one Clock Lane) Yes

    Capability Identification Between Sink/Source Using EDID Using EDID

  • What’s NEW in HDMI 2.0

    ✓ Scrambling

    ✓ 4K@50/60Hz and HDR

    ✓ BT.2020

    ✓ Dual view

    ✓ Multi-Stream audio

    ✓ Up to 32 audio channels

    ✓ Audio sampling rate up to 1560kbps

    ✓ 21:9 aspect ratio

    ✓ Auto Lipsync correlation

  • What’s NEW in HDMI 2.1*(*spec announced in January 2017 but still under development)

    ✓ Supports a range of Higher Video Resolutions and faster refresh rates

    including 8K60 and 4K120

    ✓ Dynamic HDR

    ✓ Increased bandwidth with a new 48G cable for uncompressed HDMI 2.1

    feature support including 8K video with HDR

    ✓ eARC supports the most advanced audio format

    ✓ Game Mode VRR (variable refresh rate)

  • What’s NEW in DisplayPort 1.4

    ✓ High Bit Rate 3 (HBR3) – 8 Gbps

    ✓ Enables support of 4K at a 60Hz frame rate using only two lanes

    ✓ First DP standard to incorporate Display Stream Compression (DSC) technology

    ✓ Enables up to 3:1 compression ratio

    ✓ Facilitates High Dynamic Range (HDR) and 8K video across the USB-C connector

    ✓ Increased display resolutions including 8K@60Hz HDR deep color and 4K@120Hz

    HDR deep color

    ✓ Forward Error Correction (FEC) - overlays the DSC 1.2 transport, addresses the

    transport error resiliency needed for compressed video transport to external displays.

    ✓ Expanded audio transport – covers capabilities such as 32 audio channels, 1536kHz

    sample rate, and inclusion of all known audio formats.

  • Introduction to HDMI Protocol

  • HDMI Link

    8

  • HDMI Link Architecture

    9

    10 bits

    encoded

    pattern on

    TMDS

    Channel

    1.4b

    2.0b

    Video Data Period

    Data Island Period

    Control Period

  • Operation Mode of TMDS Link between 1.4 and 2.01.4b 2.0b

    Compared to 1.4b, 2.0 includes Scramble Bit and

    Scrambler Synchronization Control Period

  • Operation Mode of TMDS Link

    1.4b

    2.0b

    A control period is located between each data Island and video

    data period.

    -- preamble and Guard band

  • Video Data Period1.4b with TMDS Coding

    Channel 0, 1 and 2 8b/10b

    2.0 with TMDS Coding

    Channel 0, 1 and 2 8b/10b

    TMDS coding

    8b/10b

    Video data use TMDS coding 8b/10b

    2.0 video data will be scrambled before coding.

  • Guard Band of Data Island Period1.4b with TERC4 Coding

    Channel 0 depending upon HSYNC and VSYNC

    2.0 with TERC4/TMDS Coding

    Channel 0 depending upon HSYNC and VSYNC

    Channel 1 and 2

    TERC4 Coding

    4b/10b

    Channel 1 and 2

    TMDS coding

    8b/10bIsland data use TERC4/TMDS coding 4b/10b

    2.0 Package data will be scrambled before coding.

  • Control Period

    1.4b and Unscrambled portion of SSCP 2.0 Scrambled Control Period

    ControlVector and IToggle

    Control Period Coding

    2b/10b

    Control Period

    Coding

    TMDS Channel LN1 LN2

    0 0b00 0b00

    1 0b01 0b01

    2 0b02 0b02

  • Closer Look at Operating Mode✓ A closer look at active video start

    Data Island Pixels

    (TERC4 Encoding)

    Active Video

    Pixels

    (TMDS Encoding)

    Video

    Preamble

    (8 Pixels)

    Video Guard Band

    Fixed 10 bit values

    Control Period(> 4 Pixels)

    Trailing Data Island Guard Band

    Fixed 10 bit values

  • ✓ A closer look at Data Island period

    16

    Closer Look at Operating Mode

    Control Period

    Data Island Pixels(TERC4 Encoding)

    DI Preamble (8 Pixels)

    Control Period(> 4 Pixels)

    Leading Data Island Guard Band

    Fixed 10 bit values

    Trailing Data Island Guard Band

    Fixed 10 bit values

  • Data Packet Construction

    ✓ All data within a Data Island is contained within 32 clock Packets

    ✓ Packets consist of a Packet Header, a Packet Body (consisting of four Subpackets), and associated error correction bits.

    ✓ Each 10 bit of Data 0, Data 1 and Data 2 are converted to 4 bits each

    ✓ Data 0 contains HSync, VSync and BCH4 Block data(Header Block)

    ✓ Data 1 and Data 2 provides BCH0 to BCH3 blocks

    ✓ Each Subpacket includes 56 bits of data and is protected by an additional 8 bits of BCH ECC parity bits

    17

  • ✓ Convert each Data0, Data1 and Data2 10 bit Data Guard Band to TERC4 encoding

    18

    0 1 2 .. … … … …2

    9

    3

    0

    3

    1Data 0

    0 1 2 .. … … … …2

    9

    3

    0

    3

    1Data 1

    0 1 2 .. … … … …2

    9

    3

    0

    3

    1Data 2

    Data Guard Band Data Guard BandData Island Pixels

    10 Bit TERC4 Encoded Signals

    0 1 2 .. … … … …2

    9

    3

    0

    3

    1Data 0

    0 1 2 .. … … … …2

    9

    3

    0

    3

    1Data 1

    0 1 2 .. … … … …2

    9

    3

    0

    3

    1Data 2

    Data Guard Band Data Guard Band

    4 Bit TERC4 Decoded Signals

    abcdefghig

    ABCD

    abcdefghig

    ABCDEFGH

    Data Island Explained

    4 Bit TERC4 Descrambled Signals

    10 Bit TERC4 Encoded Signals

    8 Bit TERC4 Descrambled Signals

    8 Bit TERC4 Decoded Signals

    2.0 : Data 1 and Data21.4b : Data 0, Data 1, Data22.0 : Data 0

  • ✓ Convert each Data0, Data1 and Data2 10 bit packet date to TERC4 encoding

    19

    0 1 2 .. … … … …2

    9

    3

    0

    3

    1Data 0

    0 1 2 .. … … … …2

    9

    3

    0

    3

    1Data 1

    0 1 2 .. … … … …2

    9

    3

    0

    3

    1Data 2

    Data Guard Band Data Guard BandData Island Pixels

    10 Bit TERC4 Encoded Signals

    0 1 2 .. … … … …2

    9

    3

    0

    3

    1Data 0

    0 1 2 .. … … … …2

    9

    3

    0

    3

    1Data 1

    0 1 2 .. … … … …2

    9

    3

    0

    3

    1Data 2

    Data Guard Band Data Guard Band

    4 Bit TERC4 Decoded Signals

    abcdefghig

    ABCD

    abcdefghig

    ABCD

    Data Island Explained

    4 Bit TERC4 Descrambled Signals

  • ✓ Assemble the data Packet Header (BCH4/ SB4)

    20

    Data 0

    0

    C

    1

    C

    2

    C

    30

    C

    31

    C

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    0 1 2 3 4 …………….. 27 28 29 30 31

    A

    B

    C

    D

    - H Sync

    - V Sync- Data

    - X

    Byte 1 Byte 2 Byte 3 Parity

    LSB MSB

    Data Island Explained

  • 21

    0

    A

    1

    A

    2

    A

    62

    A

    63

    A

    0 1 2 3 4 …………….. 27 28 29 30 31

    LSB

    MSB

    Byte

    1

    Byte

    3

    Byte

    4

    Byte

    2

    Byte

    5

    Byte

    7Parity

    Byte

    6

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    1 2 3 4 5 …………….. 27 28 29 30 31

    A

    B

    C

    D

    SB0

    SB1SB2

    SB3

    Data 1

    Data 2

    Data Island Explained

    ✓ Assemble SB0 (BCH0)

  • 22

    0

    B

    1

    B

    2

    B

    62

    B

    63

    B

    MSB

    Byte

    1

    Byte

    3

    Byte

    4

    LSB

    Byte

    2

    Byte

    5

    Byte

    7Parity

    Byte

    6

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    0 1 2 3 4 …………….. 27 28 29 30 31

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    0 1 2 3 4 …………….. 27 28 29 30 31

    A

    B

    C

    D

    SB0

    SB1-SB2

    SB3

    Data 1

    Data 2

    Data Island Explained

    ✓ Assemble SB1 (BCH1)

  • 23

    0

    C

    1

    C

    2

    C

    62

    C

    63

    C

    MSB

    Byte

    1

    Byte

    3

    Byte

    4

    LSB

    Byte

    2

    Byte

    5

    Byte

    7Parity

    Byte

    6

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    0 1 2 3 4 …………….. 27 28 29 30 31

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    0 1 2 3 4 …………….. 27 28 29 30 31

    A

    B

    C

    D

    SB0

    SB1-SB2

    SB3

    Data 1

    Data 2

    Data Island Explained

    ✓ Assemble SB2 (BCH2)

  • 24

    0

    D

    1

    D

    2

    D

    62

    D

    63

    D

    Byte

    1

    Byte

    3

    Byte

    4

    LSB

    Byte

    2

    Byte

    5

    Byte

    7Parity

    Byte

    6

    0 1 2 3 4 …………….. 27 28 29 30 31

    A

    B

    C

    D

    SB0

    SB1-SB2

    SB3

    MSB

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    A

    B

    C

    D

    0 1 2 3 4 …………….. 27 28 29 30 31

    Data 1

    Data 2

    Data Island Explained

    ✓ Assemble SB3 (BCH3)

  • Data Island Packet Header25

  • 26

    HB/ SB4 HB0 HB1 HB2 ECC Parity

    CEA 861 Packet Packet ID Packet Specific data Packet Specific data XX

    Interpreting Raw Data Packet View

  • 27

    SB0 PB0 PB1 PB2 PB3 PB4 PB5 PB6 Parity

    CEA 861 Packet XX DB1 DB2 DB3 DB4 DB5 DB6 XXX

    SB1 PB7 PB8 PB9 PB10 PB11 PB12 PB13 Parity

    CEA 861 Packet DB7 DB8 DB9 DB10 DB11 DB12 DB13 XXX

    SB2 PB14 PB15 PB16 PB17 PB18 PB19 PB20 Parity

    CEA 861 Packet DB14 DB15 DB16 DB17 DB18 DB19 DB20 XXX

    SB3 PB21 PB22 PB23 PB24 PB25 PB26 PB27 Parity

    CEA 861 Packet PB21 DB22 DB23 DB24 DB25 DB26 DB27 XXX

    AVI Infoframe and Raw Packet Information Mapping

    Interpreting Raw Data Packet View

  • Video Encoding

    ✓ Video Pixel Encoding

    ✓ RGB

    ✓ YCbCr 4:4:4

    ✓ YCbCr 4:2:2

    ✓ YCbCr 4:2:0

    ✓ Color Depth

    ✓ 24 bits per pixel

    ✓ 30 bits per pixel

    ✓ 36 bits per pixel

    ✓ 48 bits per pixel

    28

  • 24 bits per pixel (RGB)29

  • ½ horizontal resolution,½ vertical resolution

    NO chroma subsamplingfull horizontal resolution,

    full vertical resolution

    What is YCbCr Pixel Encoding?“Y” is luminance (or simply “brightness”). “Cb” and “Cr” are blue-difference and red-difference chromacomponents. The difference between YCbCr and RGB is that YCbCr represents color as brightness (Y) and two color difference signals (Cb and Cr), while RGB represents color as just red, green and blue.

    Chroma subsampling is a process where color information (Cb and Cr) is sacrificed in order to reduce bandwidth. Why? The human eye has good sensitivity for brightness, but poor acuity for detecting color details -- especially on a moving object.

    What does “x:x:x” mean??

    Subsampling scheme is expressed as “J:a:b”

    J: Pixel width (usually 4).

    a: Number of chrominance samples (Cr, Cb)

    in the first row of J pixels.

    b: Number of changes of chroma samples

    (Cr, Cb) between 1st and 2nd row of pixels.

    vs

    4:4:4 contains a lot of color information that

    your eyes can’t see well

    4:2:0 contains lesscolor information but

    requires ½ the bandwidth!

  • Introduction to DisplayPort Protocol

  • DisplayPort -Architecture32

    ✓ The Stream and Link Policy Maker manages the transport of the stream and establishing the data path and keeping the link synchronized.

    ✓ The Transport Layer is the Source-to-Sink data interface including A/V data packetization and inclusion of other data

    ✓ The Physical Layer involves the electrical interface

    ✓ The layered architecture of DisplayPort allows it to be extensible to other transport types

    ✓ The Isochronous AV Stream can be sent within a dedicated or shared transport

  • DisplayPort Transport Options

    ✓ DisplayPort 1.1a defined Single Stream Transport (SST) for use between a single Source and Sink Device.

    ✓ DisplayPort 1.2 added the Multi-Stream Transport (MST) option, allowing transport of up to 63 separate A/V streams across a single DisplayPort Connection.

    ✓ MST mode allows multiple Source and/or Sink devices to share a single connection

    33

  • SST (single) – MST (multi) Comparison34

    SST MST

    Difference in isochronous and transport layers for multi

    stream purpose.

  • SST (single stream) -Isochronous transport services

    ✓ Isochronous transport services over the main link

    ✓ Mapping of stream data to and from Main Link lanes

    ✓ Insertion of main stream attributes data

    ✓ Insertion of optional Audio stream and InfoFrame packet

    35

  • ✓ BS – Blanking Start

    ✓ SR- Scrambler Reset

    ✓ BE – Blanking End

    ✓ CPBS – Content Protection BS

    ✓ CPSR – Content Protection SR

    ✓ For uPacket RX with a DPCD Rev.of 1.2 or higher, the Enhanced

    Framing Mode must be used when running in SST Mode.

    ✓ FS – Fill Start

    ✓ FE- Fill End

    ✓ SS – Secondary Data Start

    ✓ SE – Secondary Data End

    Framing and Control Symbols

  • Symbol Stuffing and TU(Transfer Unit)

    ✓ When the packed data rate is lower than the link symbol rate, the link layer

    must perform symbol stuffing

    ✓ The dummy data symbols must be all 00h

    ✓ TU size must be 32 to 64 link symbols per lane.

    ✓ Stuffing symbols must be framed with control symbols

    37

  • Display Port Transfer Types

    ✓ Main Content - Stream Transport format for sending a single/multi stream of

    video or audio

    ✓ Secondary Data Packet (SDP) - Used for Audio, InfoFrames, main stream

    attribute data (MSA), and other data.

    ✓ Framing symbols/Control Symbols - Used to Identify beginning and end of

    video frame

    ✓ Vertical Blank ID (VB-ID) – Blanking interval identification and status of audio

    and video channel

    ✓ Copy Protection symbols –Used for copy protection protocol.

    ✓ Video Stream Configuration (VSC) – Additional 3D format information not

    declarable in the MSA field

    38

  • Main Link Stream Data39

    ✓ Inter-lane skewing increases the immunity of the link against external noise.

    Dummy Data Symbols

    With Inter-Lane SkewingWithout Inter-Lane Skewing

  • Secondary Data Packets

    ✓ Secondary Data Packets (SDP) are sent during the vertical and

    horizontal intervals in video blanking periods

    ✓ Secondary Data Packet Types

    ✓ Main Stream Attribute Data

    ✓ Audio Stream

    ✓ Maud, Naud – Audio clock regeneration

    ✓ Audio Time Stamp

    ✓ Info frames (IEC 861 E)

    ✓ Compressed Video (only for eDP)

    40

    Video Blanking

    Period

  • Main Stream Attribute Data

    ✓ MSA Data Packets are sent once per video frame during the

    vertical interval

    ✓ ƒ The MSA describes the format of the video with a given stream

    ✓ Mvid & Nvid

    ✓ H Total & V Total

    ✓ HSP/HSW

    ✓ VSP/VSW

    ✓ Hstart & Vstart

    41

  • MST (multi stream) - Isochronous Transport Service

    ✓ Transport of multiple streams from multiple stream sources in one or more DP Source devices to multiple Stream Sinks in one or more DP Sink devices connected via DP Branch device

    ✓ Connection Oriented Transport

    ✓ Virtual channel (VC) is established between source stream to steam sink

    ✓ VC needs to be established through multiple devices, it is called path

    42

  • MST – Virtual Channel (VC), VC Payload, Link & Path43

    Virtual Channel is an end-to-end, direct virtual connection between

    a Stream Source and a Stream Sink

  • MST- Single Source to 2 Sinks

    ✓ Dual Display

    44

  • MST- 2 Steam to 2 Sinks

    ✓ Extended Display

    45

  • MST Device Identification 2.5.2

    ✓ Unique ID (GUID)

    ✓ RAD

    46

  • GRL WW HQ & Lab

    Santa Clara, CA

    Partner Lab

    Boeblingen, Germany

    GRL Taiwan Labs

    Taipei & Hsinchu

    GRL India Lab

    Bangalore

    GRL Asia Pacific HQ

    Singapore

    GRL US R&D

    Beaverton, OR

    GRL Malaysia Lab

    Penang

    GRL Japan Lab

    Yokohama

    GRL China Lab

    Shanghai

    47

    GRL-Philips HDMI 2.0 ATCs in

    Taipei and Shanghai (coming soon!)

  • GRL DisplayPort ATCs in China, Taiwan, US, Japan

    48

    GRL WW HQ & Lab

    Santa Clara, CA

    Partner Lab

    Boeblingen, Germany

    GRL Taiwan Labs

    TaipeiGRL India Lab

    BangaloreGRL Asia Pacific HQ

    Singapore

    GRL US R&D

    Beaverton, OR

    GRL Malaysia Lab

    Penang

    GRL Japan Lab

    YokohamaGRL China Lab

    Shanghai

    ATC

    ATC

    ATCATC

  • Contact Info

    Taiwan

    ✓ How Wu, Business Development, Granite River Labs

    ✓ Email: [email protected]

    ✓ Mobile: +886-920-515-634

    China and Asia Pacific

    ✓ Evan Sun, VP & GM, Granite River Labs

    ✓ Email: [email protected]

    ✓ Mobile: +86-185-2150-2197 or +65-9137-5672

    Website Link

    ✓ http://graniteriverlabs.com

    49

    mailto:[email protected]:[email protected]://graniteriverlabs.com

  • Q&A

    50