Dirac Coding: Tt il&I l ttiTutorial & Implementation Bits gg R&D ©BBC MMIX. ... SDI link Suitable...

44
Dirac Coding: Tt i l&I l t ti Tutorial & Implementation Dr Tim Borer Dr Tim Borer Lead Engineer BBC R&D R&D © BBC MMIX

Transcript of Dirac Coding: Tt il&I l ttiTutorial & Implementation Bits gg R&D ©BBC MMIX. ... SDI link Suitable...

Dirac Coding:T t i l & I l t tiTutorial & Implementation

Dr Tim BorerDr Tim BorerLead Engineer BBC R&D

R&D © BBC MMIX

What is Dirac?What is Dirac?• Dirac is a family of video codecs• Dirac is a family of video codecs

spanning mobile to UHDTV and film id t d tivideo post production.

• Think H264 for low bit ratesThink H264 for low bit rates• Think JPEG2000 for high quality• Royalty free open technology• Simple low cost• Simple, low cost• Dirac Pro is Intra coding for g

professional & production use

R&D © BBC MMIX

The BBC’s RoleThe BBC s RoleTechnolog de elopment and• Technology development and standardization

• BBC does not sell hardware or software• Open Source Software.• Non exclusively licensed hardware• Non-exclusively licensed hardware

implementations• BBC return on investment through cost

isavings

R&D © BBC MMIX

HistoryHistoryBBC led de elopment started 2003• BBC led development, started 2003

• First software released March 2004First software released March 2004• Specification published 2007• Version 1.0 software September 2008

HDTV i d IBC 2008• HDTV compression demos at IBC 2008 on EBU VillageEBU Village

• Dirac Integrated into VLC Player 2008/2009

R&D © BBC MMIX

Dirac in VLC Media PlayerDirac in VLC Media Player

R&D © BBC MMIX

Dirac ProDirac Pro• Intra frame coding for video production• Intra frame coding for video production• Wide range of applications from lossless g pp

HD to < 50Mbit/s• Low complexity• Low complexity

– Simple software implementation– Small hardware form factor– Low energy– Low cost

• Low LatencyLow Latency• Non proprietary, royalty free, open technology

R&D © BBC MMIX

Flexible FeaturesFlexible Features• Any picture format• Any picture format

– QCIF to beyond UHDTV• Any frame rate

4:2:0 4:2:2 4:4:4 & RGB• 4:2:0, 4:2:2, 4:4:4 & RGB• Any bit depth (including 8, 10 & 12 bits)y p ( g , )• Progressive and Interlaced pictures• Lossless coding• 32 bit picture numbers32 bit picture numbers

R&D © BBC MMIX

Dirac Pro compression modelDirac Pro compression model

WaveletTransform

CoefficientOrdering

Quantisation

VLCCoding Arithmetic

C diCoding

R&D © BBC MMIX

Dirac Pro TechnologyDirac Pro Technology• Wavelets (like JPEG2000)

– less blockingUses “lifting” and integer implementation– Uses lifting and integer implementation

Stages of a wavelet transform

R&D © BBC MMIX

Lifting Implementation ofLifting Implementation of(One Dimensional)( )Wavelet Transform

R&D © BBC MMIX

Dead Zone QuantiserDead Zone Quantiser

c⎧ ⎢ ⎥,,, 0i j

i j

cc

q⎧ ⎢ ⎥

≥⎪ ⎢ ⎥⎪ ⎣ ⎦

,i ji j

qc

c⎪ ⎣ ⎦→ ⎨

−⎢ ⎥⎪ ,,, 0i j

i j

cc

q⎢ ⎥⎪− <⎢ ⎥⎪ ⎣ ⎦⎩ q⎣ ⎦⎩

R&D © BBC MMIX

Dirac Pro TechnologyDirac Pro TechnologyDeterministic VLC DecodedDeterministic VLC• interleaved exp-

Bit sequenceDecoded

value

000111 -4interleaved expGolomb 000011 -3

0111 2• Simple• Low latency

0111 -2

0011 -1

• Low latency• Supports high

1 0

0010 1Suppo ts gquality / high bit rates

00 0

0110 2

rates 000010 3

000110 4

R&D © BBC MMIX

Dirac ProTechnologyDirac ProTechnology• Arithmetic Coding (optional)g ( p )

– Optimized for simple parallel implementation and high bit rates

R&D © BBC MMIX

Binary arithmetic codingBinary arithmetic coding

ContextmodellingZ-1

Probabilities

Arithmeticcoding engine

Symbols Bits

g g

R&D © BBC MMIX

Dirac Pro ProfilesDirac Pro Profiles• 3 Profiles currently defined3 Profiles currently defined• Low Delay Profile

– Codes slices, no arithmetic coding– Simple, low latency (<10ms), low compressionp y ( ) p

• Simple ProfileC d h l i t ith ti di– Codes whole pictures, no arithmetic coding

– Higher compression, latency ~ 1 picture

• Main Profile– Simple profile + arithmetic coding– Simple profile + arithmetic coding– Higher compression, more complex, more latency

R&D © BBC MMIX

Low Delay SlicesLow Delay Slices

R&D © BBC MMIX

Dirac Pro Slice StructureDirac Pro Slice Structure

R&D © BBC MMIX

Why No ArithmeticWhy No Arithmetic Coding?Coding?

• Low Delay and Simple Profiles don’t A ith ti diuse Arithmetic coding

• Little gain at low compression ratiosLittle gain at low compression ratios– Lossless coding – coding gain about 1.25 – 100:1 compression – coding gain about 3

• Arithmetic coding very hardware intensive at high bit ratesintensive at high bit rates

R&D © BBC MMIX

Wavelet TransformWavelet Transform

R&D © BBC MMIX

Wavelet Coefficient Orderingin Simple & Main Profiles

R&D © BBC MMIX

Flavors of DiracFlavors of DiracLow Core Intra AC Long

Latency Syntax Intra AC GOPCompression Factor 2 to 8 lossless to lossless to up to 200+Compression Factor 2 to 8 12 25 up to 200+

Complexity low low medium high

Coding Units slices pictures pictures access units (GOPs)

Latency very low 1-2 pictures 2-3 pictures 2+ pictures

Arithmetic Coding no no yes yesArithmetic Coding no no yes yes

Motion Compensation no no no yes

Application DP 1.5, 270, 221 over SDI

contribution SDI / IP / ASI

File based,archive

tapeless,distribution

R&D © BBC MMIX

Dirac Bit RatesDirac Bit RatesL l Low Core I t AC Inter- Long Lossless Delay Syntax Intra AC frame

gGOP

Ratio 2 1 6 1 9 1 20 1 50 1 200 1Ratio 2:1 6:1 9:1 20:1 50:1 200:1HDTV 500 165 110 50 20 5MBit/s 500 165 110 50 20 5

SDTVSDTV MBit/s 100 35 22 10 4 1

N t Production Production Production Production Production DistributionNotes Production quality

Production quality

Production quality

Production quality

Production quality

Distribution quality

Same as JPEG2000

Same as JPEG2000

Same as H264

Same as X264

R&D © BBC MMIX

Dirac Pro Hardware Implementations

Di P 270 M lti t d d HD• Dirac Pro 270 – Multi-standard HD over 270MBit/s SD-SDI

• Dirac Pro 1.5 – 1080P60 over 1.5G HD-SDI• Dirac Pro 221 – 2 HD Signals over single HD-

SDI link Suitable for Stereoscopic 3DSDI link Suitable for Stereoscopic 3D production

R&D © BBC MMIX

Studio ProductionStudio Production

R&D © BBC MMIX

Dirac Pro Confidence MonitoringDirac Pro Confidence Monitoring

R&D © BBC MMIX

Dirac Pro at the OlympicsDirac Pro at the Olympics

R&D © BBC MMIX

Dirac Pro 270Dirac Pro 270• Dirac Pro 270 allows HD over SD SDI linksac o 0 a o s o e S S s• Dirac Pro provides a compatible SD picture• Dirac Pro has low, 3ms, latency

R&D © BBC MMIX

Current UsersCurrent Users• BBC OB Beijing Olympics• BBC – OB, Beijing Olympics• ORF (Austrian national broadcaster)( )• Asia Television – Hong Kong

T l i i B d t Li it d (TVB) H• Television Broadcasts Limited (TVB) –Hong Kong.

• Rainbow Media – New YorkCambridge Uni ersit for se in the HIPNet• Cambridge University – for use in the HIPNet (Heterogenous IP Networks) project in association with Essex University

R&D © BBC MMIX

BBC Raman NetworkBBC Raman NetworkThe Raman Network – 10Gb/s DWDM system

R&D © BBC MMIX

BBC Media CityBBC Media CitySalford Quays, Manchester, UKSa o d Quays, a c este , U

R&D © BBC MMIX

Dirac over ASI &IPDirac over ASI &IPUsing Dirac Lo Dela and Core S nta• Using Dirac Low Delay and Core Syntax– with and without arithmetic codingg

• HD and SD compression• Variable Bit rates

Bit rates below 50Mbit/s (HD) 10MBit/s SD– Bit rates below 50Mbit/s (HD), 10MBit/s SD• MPEG-2 TS encapsulationp• SMPTE 2022 (Pro-MPEG COP3)

– RTP, FEC compatible with existing equipment

R&D © BBC MMIX

Cascaded CodingCascaded Coding

R&D © BBC MMIX

Cascaded CodingCascaded CodingMultigeneration Coding LossMultigeneration Coding Loss

1st 2nd 3rd 4th 5th 6th 7th 8th

-0.2

0

-0.6

-0.4

dB Dirac Pro 270

-1

-0.8Dirac Pro 1.5

-1.2

1

Coding GenerationsCoding Generations

R&D © BBC MMIX

StandarisationStandarisationDirac Pro is being standardised ith the• Dirac Pro is being standardised with the SMPTE.

• Standardisation is virtually complete• SMPTE 2042-1 (VC-2)

Codec & bit stream specification– Codec & bit stream specification• SMPTE 2042-2

– Specifies Coding Levels

R&D © BBC MMIX

Dirac Pro ConformanceDirac Pro ConformanceSMPTE Specifies VC 2 Conformance• SMPTE Specifies VC-2 Conformance

• Over 6000 conformance test sequencesOver 6000 conformance test sequences– Available, pre-standard, at

htt //di k bb k/d l d/ 2 fhttp://dirac.kw.bbc.co.uk/download/vc2-ref-streams

• Reference decoder and stream generator availablegenerator available

R&D © BBC MMIX

Dirac Pro Standards DocumentsDirac Pro Standards DocumentsDescribed in SMPTE Engineering• Described in SMPTE Engineering Guidline

R&D © BBC MMIX

Dirac Pro Application SpecificationsDirac Pro Application Specifications

SMPTE RP 2047 (Dirac Pro 1 5)• SMPTE RP 2047 (Dirac Pro 1.5)– VC-2 Mezzanine Level Compression of p

1080P High Definition Video SourcesSMPTE 2047• SMPTE 2047– Transport of VC-2 Compressed Video over p p

HD-SDIHD 270MBit/ SD SDI• HD over 270MBit/s SD SDI– Dirac Pro 270ac o 0

• Video over ASI and IP

R&D © BBC MMIX

Related SpecificationsRelated SpecificationsEncaps lation in MPEG TS (ISO/IEC• Encapsulation in MPEG-TS (ISO/IEC 13818-1– Registered with SMPTE

S t t t f Di P ASI– Supports transport of Dirac Pro over ASI– Supports transport of Dirac Pro over IP pp p

using Pro MPEG COP#3 (SMPTE 2022)E l ti i Q i kti “ ” fil• Encapsulation in Quicktime, “.mov” files (ISO/IEC 14496-12 )( )

R&D © BBC MMIX

Engineering GuildlinesEngineering Guildlines

• Many codec standards• Many incompatible, “standards based”,

solutions availablesolutions available• Guidelines and Recommended practice p

needed!

R&D © BBC MMIX

SummarySummaryDirac Pro competes ith JPEG2000• Dirac Pro competes with JPEG2000 and AVC-I

• Transport over SDI, ASI and IP• Low Latency• Low complexity• Low complexity

– Low cost, small form factor, low energy, , gy• Flexible• SMPTE Standard (nearly!)

R&D © BBC MMIX

R&D © BBC MMIX

3 2 Stream structure3.2 Stream structureA Dirac stream is a concatenation of• A Dirac stream is a concatenation of Dirac sequences:q

Sequenceq

R&D © BBC MMIX

Dirac sequencesDirac sequencesA Dirac seq ence corresponds to ideo• A Dirac sequence corresponds to video with constant video parameters.p

• A Dirac sequence has Parse Info h d f i ti dheaders for navigation and synchronisation, and Data Units which y ,include all the pictures:

Data Unit ParseParseParse Sequence Data UnitInfo Info Info

qHeader

R&D © BBC MMIX

NavigationNavigationParse Info headers form a do bl linked• Parse Info headers form a doubly-linked list: can jump from one data unit to j panother without parsing itDi i t t i t i t• Dirac pictures contain true picture numbers

R&D © BBC MMIX