Dirac Coding: Tt il&I l ttiTutorial & Implementation Bits gg R&D ©BBC MMIX. ... SDI link Suitable...
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 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
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
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
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
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 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
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