SlideShare a Scribd company logo
1 of 56
A History of Video Coding 
Invited Talk, 
United States Patent and Trademark Office 
Iain Richardson 
December 2014 
Slide 1 
vcodex.com
What this talk is about 
Slide 2
Slide 3 
From 
To
Video coding : the basics 
Slide 4
A video codec (1) 
Slide 5 
Video Source 
Decompress 
(Decode) 
Compress 
(Encode) 
Video Display 
Coded 
video 
enCOder / DECoder
A video codec (2) 
Slide 6 
video 
source partition transform 
entropy 
encode 
predict 
(add) 
inverse 
transform 
entropy 
decode 
compressed 
video 
video 
output 
VIDEO ENCODER 
VIDEO DECODER 
predict 
(subtract) 
reconstruct
1. Partitioning 
Slide 7 
frame or 
picture 
slice 
or tile 
macroblock (MB) 
or 
coding tree unit 
(CTU) 
sequence
2. Prediction 
Slide 8 
Original Frame Prediction Frame 
Residual
3. Transform + Quantize 
Block of samples After transform After quantization 
Slide 9
4. Entropy coding 
Slide 10 
1 
1 
0 
1 
1 
1 
1 
1 
0 
0 
0 
1 
1 
coded components 
(syntax elements) 
bitstream
source frames 
........ ........ 
coded bitstream 
decoded frames 
ENCODE 
DECODE 
Slide 11
Video Encoder 
Form 
prediction 
Transform 
+ quantize 
Inverse 
transform 
+ quantize 
Entropy 
encoder 
Current MB 
Prediction MB 
Residual MB 
Decoded 
Residual MB 
Intra 
Inter 
.... 
Current frame or field 
Previously coded 
frames or fields 
+ Coded bitstream 
- 
+ 
+ 
Slide 12
Video Decoder 
Coded bitstream 
.... 
Entropy 
decoder 
Inverse 
transform 
+ quantize 
Decoded 
Residual MB 
Current decoded 
frame or field 
Inter 
Previously decoded 
frames or fields 
Prediction MB 
Form 
prediction 
Intra 
Decoded MB 
+ 
+ 
Slide 13
Ancient history 
Slide 14
Slide 15 
1851
1910 
Slide 16
Slide 17 
1964
The foundations 
Slide 18
Slide 19 
1952 Variable length coding 
1972 Frame differencing 
1974 Discrete Cosine 
Transform 
1981 
Motion compensated 
video codec 
1990 
Bidirectional prediction 
Variable block size 
motion compensation
Huffman variable length coding, 1952 
Slide 20 
D A Huffman, Minimum redundancy codes
Frame differencing, 1972 
Slide 21 
US 3,679,821, Schroeder, Bell Labs
Discrete Cosine Transform, 1974 
Slide 22 
The Discrete Cosine Transform 
Ahmed, Natarajan and Rao
Video codec with motion compensation, 1981 
Slide 23 
Displacement measurement and its application in 
interframe video coding, Jain and Jain
Bidirectional + variable block size motion 
prediction, circa 1990 
Slide 24 
MPEG-1, LeGall, 1991 Chan et al, 1990
By 1991, the basic codec was complete 
Slide 25 
MPEG-1 encoder, 1991
Video Encoder 
Form 
prediction 
Transform 
+ quantize 
Inverse 
transform 
+ quantize 
Entropy 
encoder 
Current MB 
Prediction MB 
Residual MB 
Decoded 
Residual MB 
Intra 
Inter 
.... 
Current frame or field 
Previously coded 
frames or fields 
+ Coded bitstream 
- 
+ 
+ 
Slide 26
The video coding standards 
Slide 27
Slide 28 
Moving Picture Experts Group 
- MPEG standards 
- Broadcast / entertainment 
Joint Video Team / 
Joint Collaborative Team 
Video Coding Experts Group 
- H.26x standards 
- Communications
Slide 29
Slide 30 
1990 
1993 
1995 
1996 
1999 
2003 
2013 
ITU-T JOINT ISO MPEG 
MPEG-1 
H.263 
H.262/MPEG-2 
H.264/AVC 
H.265/HEVC 
MPEG-4 
H.261 
….
ITU-T H.261 (1990) 
Slide 31 
2-way video telephony 
ISDN lines (p x 64kbps)
ITU-T H.261 (1990) 
Slide 32 
16x16 blocks 8x8 DCT 
I P P P 
Forward 
prediction 
…011011000100… 
Variable 
length coding
MPEG-1 Video (1991-93) 
Slide 33 
Video CD playback
MPEG-1 Video (1991-93) 
Slide 34 
I B B P B B P B B P B B I 
0 1 2 3 4 5 6 7 8 9 10 11 12 
Intra, forward and 
bidirectional prediction 
Half-pixel motion vectors
MPEG-2 Video (1995) 
Slide 35 
Digital TV broadcasting, 
DVD
MPEG-2 Video (1995) 
Slide 36 
16x16 and Interlaced video 
16x8 block sizes
H.263 (1996), MPEG-4 Part 2 (1999) 
Slide 37
H.263 (1996), MPEG-4 Part 2 (1999) 
Slide 38 
16x16, 8x8 
blocks 
Arithmetic 
coding Error 
resilience 
Advanced 
prediction Deblocking 
filter 
Object 
coding Mesh 
coding 
Face 
animation 
Many optional 
coding tools
H.264 / Advanced Video Coding (2003) 
Slide 39
H.264 / Advanced Video Coding (2003) 
Slide 40 
16x16 down 
to 4x4 blocks 
Intra 
prediction 
0 1 2 3 4 5 6 
Multiple reference 
frames 
+ context adaptive coding 
(CABAC / CAVLC), 
¼ pixel motion vectors, 
loop filter….
H.265 / High Efficiency Video Coding (2013) 
Slide 41
H.265 / High Efficiency Video Coding (2013) 
Courtesy of Parabola Research 
Slide 42 
64x64 down 
to 4x4 blocks Parallel processing support 
+ Lots of “H.264 like” optimizations….
HEVC analyzer screenshot 
Courtesy of Parabola Research 
Slide 43
Performance 
Slide 44
Compression performance 
Slide 45 
MPEG-2 
~2x better 
H.264/AVC 
~2x better 
H.265/HEVC
Performance examples 
Slide 46
Slide 47 
MPEG-1 MPEG-2 
H.264 HEVC
Slide 48 
Difference image (MPEG-1) 
Difference image (HEVC)
Patents and patent pools 
Slide 49
Example 
Slide 50 
September 
2001 
Patent application is filed 
September 
2001 
Proposal document is submitted to 
Joint Video Team 
May 2003 H.264 is published, including the 
concept of the application & proposal 
2005 Patent is granted
Slide 51 
Published 
Standard 
Patents 
Implementors 
Patent 
pool
Patents and patent pools: the early 
standards 
Slide 52 
H.261, MPEG-1, H.263 : 
- no formal patent pool 
MPEG-2 : 
- first patent pool, managed by MPEG-LA 
MPEG-4 Part 2 : 
- patent pool, managed by MPEG-LA
Patents and patent pools: H.264 / AVC 
Slide 53 
2001-2003 Royalty Free Baseline intention 
announced by 32 patent holders 
May 2003 First edition of H.264 published 
Late 2003 MPEG-LA and Via Licensing 
announce patent pools. Royalty 
Free Baseline abandoned. 
2004 
onwards 
Via Licensing pool “folds”. MPEG-LA 
pool dominates.
Patents and patent pools: recent 
developments 
Slide 54 
Open source VP8 format: 
MPEG-LA attempts to create patent pool, 
Google and MPEG-LA reach agreement and pool 
is abandoned. 
HEVC: 
Patent pool created by MPEG-LA (2014).
Conclusion 
Slide 55 
Many of the key components of modern video codecs 
originated before 1990. 
In the last 25 years, developments in video coding 
have been strongly influenced by standardisation. 
Performance continues to improve, driven by 
optimization of compression tools.
Useful information sources 
Slide 56 
Low bit rate / Video Coding Experts Group 
archives, 1996-present: 
http://wftp3.itu.int/av-arch/video-site/ 
Joint Video Team archives (H.264 development): 
http://wftp3.itu.int/av-arch/jvt-site/ 
JCT-VC archives (HEVC development): 
http://wftp3.itu.int/av-arch/jctvc-site/ 
Video coding resources: 
http://vcodex.com/

More Related Content

What's hot

H.264 video compression standard.
H.264 video compression standard.H.264 video compression standard.
H.264 video compression standard.Axis Communications
 
Video Compression Standards - History & Introduction
Video Compression Standards - History & IntroductionVideo Compression Standards - History & Introduction
Video Compression Standards - History & IntroductionChamp Yen
 
HEVC VIDEO CODEC By Vinayagam Mariappan
HEVC VIDEO CODEC By Vinayagam MariappanHEVC VIDEO CODEC By Vinayagam Mariappan
HEVC VIDEO CODEC By Vinayagam MariappanVinayagam Mariappan
 
Video Coding Standard
Video Coding StandardVideo Coding Standard
Video Coding StandardVideoguy
 
Video Compression Techniques
Video Compression TechniquesVideo Compression Techniques
Video Compression Techniquescnssources
 
An Introduction to Versatile Video Coding (VVC) for UHD, HDR and 360 Video
An Introduction to  Versatile Video Coding (VVC) for UHD, HDR and 360 VideoAn Introduction to  Versatile Video Coding (VVC) for UHD, HDR and 360 Video
An Introduction to Versatile Video Coding (VVC) for UHD, HDR and 360 VideoDr. Mohieddin Moradi
 
Compression: Video Compression (MPEG and others)
Compression: Video Compression (MPEG and others)Compression: Video Compression (MPEG and others)
Compression: Video Compression (MPEG and others)danishrafiq
 
Introduction To Video Compression
Introduction To Video CompressionIntroduction To Video Compression
Introduction To Video Compressionguestdd7ccca
 
ICME 2016 - High Efficiency Video Coding - Coding Tools and Specification: HE...
ICME 2016 - High Efficiency Video Coding - Coding Tools and Specification: HE...ICME 2016 - High Efficiency Video Coding - Coding Tools and Specification: HE...
ICME 2016 - High Efficiency Video Coding - Coding Tools and Specification: HE...Mathias Wien
 
An Overview of High Efficiency Video Codec HEVC (H.265)
An Overview of High Efficiency Video Codec HEVC (H.265)An Overview of High Efficiency Video Codec HEVC (H.265)
An Overview of High Efficiency Video Codec HEVC (H.265)Varun Ravi
 
Video Compression Basics - MPEG2
Video Compression Basics - MPEG2Video Compression Basics - MPEG2
Video Compression Basics - MPEG2VijayKumarArya
 
Video compression
Video compressionVideo compression
Video compressionnnmaurya
 
Modern broadcast camera techniques, set up & operation
Modern broadcast camera techniques, set up & operationModern broadcast camera techniques, set up & operation
Modern broadcast camera techniques, set up & operationDr. Mohieddin Moradi
 
An Introduction to AV1 - The Next-Gen Royalty-Free Codec From the Alliance fo...
An Introduction to AV1 - The Next-Gen Royalty-Free Codec From the Alliance fo...An Introduction to AV1 - The Next-Gen Royalty-Free Codec From the Alliance fo...
An Introduction to AV1 - The Next-Gen Royalty-Free Codec From the Alliance fo...Bitmovin Inc
 

What's hot (20)

H.264 video compression standard.
H.264 video compression standard.H.264 video compression standard.
H.264 video compression standard.
 
Video Compression Standards - History & Introduction
Video Compression Standards - History & IntroductionVideo Compression Standards - History & Introduction
Video Compression Standards - History & Introduction
 
HEVC VIDEO CODEC By Vinayagam Mariappan
HEVC VIDEO CODEC By Vinayagam MariappanHEVC VIDEO CODEC By Vinayagam Mariappan
HEVC VIDEO CODEC By Vinayagam Mariappan
 
Video Coding Standard
Video Coding StandardVideo Coding Standard
Video Coding Standard
 
Video Compression Techniques
Video Compression TechniquesVideo Compression Techniques
Video Compression Techniques
 
An Introduction to Versatile Video Coding (VVC) for UHD, HDR and 360 Video
An Introduction to  Versatile Video Coding (VVC) for UHD, HDR and 360 VideoAn Introduction to  Versatile Video Coding (VVC) for UHD, HDR and 360 Video
An Introduction to Versatile Video Coding (VVC) for UHD, HDR and 360 Video
 
Compression: Video Compression (MPEG and others)
Compression: Video Compression (MPEG and others)Compression: Video Compression (MPEG and others)
Compression: Video Compression (MPEG and others)
 
Introduction To Video Compression
Introduction To Video CompressionIntroduction To Video Compression
Introduction To Video Compression
 
H.263 Video Codec
H.263 Video CodecH.263 Video Codec
H.263 Video Codec
 
H261
H261H261
H261
 
ICME 2016 - High Efficiency Video Coding - Coding Tools and Specification: HE...
ICME 2016 - High Efficiency Video Coding - Coding Tools and Specification: HE...ICME 2016 - High Efficiency Video Coding - Coding Tools and Specification: HE...
ICME 2016 - High Efficiency Video Coding - Coding Tools and Specification: HE...
 
Audio compression
Audio compressionAudio compression
Audio compression
 
An Overview of High Efficiency Video Codec HEVC (H.265)
An Overview of High Efficiency Video Codec HEVC (H.265)An Overview of High Efficiency Video Codec HEVC (H.265)
An Overview of High Efficiency Video Codec HEVC (H.265)
 
Video Compression Basics - MPEG2
Video Compression Basics - MPEG2Video Compression Basics - MPEG2
Video Compression Basics - MPEG2
 
Video Compression
Video CompressionVideo Compression
Video Compression
 
H263.ppt
H263.pptH263.ppt
H263.ppt
 
HEVC overview main
HEVC overview mainHEVC overview main
HEVC overview main
 
Video compression
Video compressionVideo compression
Video compression
 
Modern broadcast camera techniques, set up & operation
Modern broadcast camera techniques, set up & operationModern broadcast camera techniques, set up & operation
Modern broadcast camera techniques, set up & operation
 
An Introduction to AV1 - The Next-Gen Royalty-Free Codec From the Alliance fo...
An Introduction to AV1 - The Next-Gen Royalty-Free Codec From the Alliance fo...An Introduction to AV1 - The Next-Gen Royalty-Free Codec From the Alliance fo...
An Introduction to AV1 - The Next-Gen Royalty-Free Codec From the Alliance fo...
 

Similar to History of Video Coding Standards

Video Compression Technology
Video Compression TechnologyVideo Compression Technology
Video Compression TechnologyTong Teerayuth
 
4 imtc wiegand 131009
4 imtc wiegand 1310094 imtc wiegand 131009
4 imtc wiegand 131009IMTC
 
Emerging H.264 Standard:
Emerging H.264 Standard:Emerging H.264 Standard:
Emerging H.264 Standard:Videoguy
 
/conferences/spr2004/presentations/eubanks/eubanks_mpeg4.ppt
/conferences/spr2004/presentations/eubanks/eubanks_mpeg4.ppt/conferences/spr2004/presentations/eubanks/eubanks_mpeg4.ppt
/conferences/spr2004/presentations/eubanks/eubanks_mpeg4.pptVideoguy
 
Android Media Player Development
Android Media Player DevelopmentAndroid Media Player Development
Android Media Player DevelopmentTalentica Software
 
Spatial Scalable Video Compression Using H.264
Spatial Scalable Video Compression Using H.264Spatial Scalable Video Compression Using H.264
Spatial Scalable Video Compression Using H.264IOSR Journals
 
Emerging H.264 Standard: Overview and TMS320DM642- Based ...
Emerging H.264 Standard: Overview and TMS320DM642- Based ...Emerging H.264 Standard: Overview and TMS320DM642- Based ...
Emerging H.264 Standard: Overview and TMS320DM642- Based ...Videoguy
 
Tutorial High Efficiency Video Coding Coding - Tools and Specification.pdf
Tutorial High Efficiency Video Coding Coding - Tools and Specification.pdfTutorial High Efficiency Video Coding Coding - Tools and Specification.pdf
Tutorial High Efficiency Video Coding Coding - Tools and Specification.pdfssuserc5a4dd
 
h.264 video compression standard.
h.264 video compression standard.h.264 video compression standard.
h.264 video compression standard.Videoguy
 
H264 video compression explained
H264 video compression explainedH264 video compression explained
H264 video compression explainedcnssources
 
09a video compstream_intro_trd_23-nov-2005v0_2
09a video compstream_intro_trd_23-nov-2005v0_209a video compstream_intro_trd_23-nov-2005v0_2
09a video compstream_intro_trd_23-nov-2005v0_2Pptblog Pptblogcom
 

Similar to History of Video Coding Standards (20)

Video Compression Technology
Video Compression TechnologyVideo Compression Technology
Video Compression Technology
 
4 imtc wiegand 131009
4 imtc wiegand 1310094 imtc wiegand 131009
4 imtc wiegand 131009
 
Emerging H.264 Standard:
Emerging H.264 Standard:Emerging H.264 Standard:
Emerging H.264 Standard:
 
Performance Analysis of Various Video Compression Techniques
Performance Analysis of Various Video Compression TechniquesPerformance Analysis of Various Video Compression Techniques
Performance Analysis of Various Video Compression Techniques
 
/conferences/spr2004/presentations/eubanks/eubanks_mpeg4.ppt
/conferences/spr2004/presentations/eubanks/eubanks_mpeg4.ppt/conferences/spr2004/presentations/eubanks/eubanks_mpeg4.ppt
/conferences/spr2004/presentations/eubanks/eubanks_mpeg4.ppt
 
Android Media Player Development
Android Media Player DevelopmentAndroid Media Player Development
Android Media Player Development
 
IPTV Codec & Packeting
IPTV Codec & PacketingIPTV Codec & Packeting
IPTV Codec & Packeting
 
Barcelona keynote web
Barcelona keynote webBarcelona keynote web
Barcelona keynote web
 
Bigger Hard Drive Jamie Lean
Bigger Hard Drive Jamie LeanBigger Hard Drive Jamie Lean
Bigger Hard Drive Jamie Lean
 
E010132529
E010132529E010132529
E010132529
 
Spatial Scalable Video Compression Using H.264
Spatial Scalable Video Compression Using H.264Spatial Scalable Video Compression Using H.264
Spatial Scalable Video Compression Using H.264
 
Hw2
Hw2Hw2
Hw2
 
Emerging H.264 Standard: Overview and TMS320DM642- Based ...
Emerging H.264 Standard: Overview and TMS320DM642- Based ...Emerging H.264 Standard: Overview and TMS320DM642- Based ...
Emerging H.264 Standard: Overview and TMS320DM642- Based ...
 
Tutorial High Efficiency Video Coding Coding - Tools and Specification.pdf
Tutorial High Efficiency Video Coding Coding - Tools and Specification.pdfTutorial High Efficiency Video Coding Coding - Tools and Specification.pdf
Tutorial High Efficiency Video Coding Coding - Tools and Specification.pdf
 
h.264 video compression standard.
h.264 video compression standard.h.264 video compression standard.
h.264 video compression standard.
 
H264 video compression explained
H264 video compression explainedH264 video compression explained
H264 video compression explained
 
video compression2
video compression2video compression2
video compression2
 
video compression2
video compression2video compression2
video compression2
 
video compression2
video compression2video compression2
video compression2
 
09a video compstream_intro_trd_23-nov-2005v0_2
09a video compstream_intro_trd_23-nov-2005v0_209a video compstream_intro_trd_23-nov-2005v0_2
09a video compstream_intro_trd_23-nov-2005v0_2
 

Recently uploaded

Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 

Recently uploaded (20)

Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 

History of Video Coding Standards

  • 1. A History of Video Coding Invited Talk, United States Patent and Trademark Office Iain Richardson December 2014 Slide 1 vcodex.com
  • 2. What this talk is about Slide 2
  • 4. Video coding : the basics Slide 4
  • 5. A video codec (1) Slide 5 Video Source Decompress (Decode) Compress (Encode) Video Display Coded video enCOder / DECoder
  • 6. A video codec (2) Slide 6 video source partition transform entropy encode predict (add) inverse transform entropy decode compressed video video output VIDEO ENCODER VIDEO DECODER predict (subtract) reconstruct
  • 7. 1. Partitioning Slide 7 frame or picture slice or tile macroblock (MB) or coding tree unit (CTU) sequence
  • 8. 2. Prediction Slide 8 Original Frame Prediction Frame Residual
  • 9. 3. Transform + Quantize Block of samples After transform After quantization Slide 9
  • 10. 4. Entropy coding Slide 10 1 1 0 1 1 1 1 1 0 0 0 1 1 coded components (syntax elements) bitstream
  • 11. source frames ........ ........ coded bitstream decoded frames ENCODE DECODE Slide 11
  • 12. Video Encoder Form prediction Transform + quantize Inverse transform + quantize Entropy encoder Current MB Prediction MB Residual MB Decoded Residual MB Intra Inter .... Current frame or field Previously coded frames or fields + Coded bitstream - + + Slide 12
  • 13. Video Decoder Coded bitstream .... Entropy decoder Inverse transform + quantize Decoded Residual MB Current decoded frame or field Inter Previously decoded frames or fields Prediction MB Form prediction Intra Decoded MB + + Slide 13
  • 19. Slide 19 1952 Variable length coding 1972 Frame differencing 1974 Discrete Cosine Transform 1981 Motion compensated video codec 1990 Bidirectional prediction Variable block size motion compensation
  • 20. Huffman variable length coding, 1952 Slide 20 D A Huffman, Minimum redundancy codes
  • 21. Frame differencing, 1972 Slide 21 US 3,679,821, Schroeder, Bell Labs
  • 22. Discrete Cosine Transform, 1974 Slide 22 The Discrete Cosine Transform Ahmed, Natarajan and Rao
  • 23. Video codec with motion compensation, 1981 Slide 23 Displacement measurement and its application in interframe video coding, Jain and Jain
  • 24. Bidirectional + variable block size motion prediction, circa 1990 Slide 24 MPEG-1, LeGall, 1991 Chan et al, 1990
  • 25. By 1991, the basic codec was complete Slide 25 MPEG-1 encoder, 1991
  • 26. Video Encoder Form prediction Transform + quantize Inverse transform + quantize Entropy encoder Current MB Prediction MB Residual MB Decoded Residual MB Intra Inter .... Current frame or field Previously coded frames or fields + Coded bitstream - + + Slide 26
  • 27. The video coding standards Slide 27
  • 28. Slide 28 Moving Picture Experts Group - MPEG standards - Broadcast / entertainment Joint Video Team / Joint Collaborative Team Video Coding Experts Group - H.26x standards - Communications
  • 30. Slide 30 1990 1993 1995 1996 1999 2003 2013 ITU-T JOINT ISO MPEG MPEG-1 H.263 H.262/MPEG-2 H.264/AVC H.265/HEVC MPEG-4 H.261 ….
  • 31. ITU-T H.261 (1990) Slide 31 2-way video telephony ISDN lines (p x 64kbps)
  • 32. ITU-T H.261 (1990) Slide 32 16x16 blocks 8x8 DCT I P P P Forward prediction …011011000100… Variable length coding
  • 33. MPEG-1 Video (1991-93) Slide 33 Video CD playback
  • 34. MPEG-1 Video (1991-93) Slide 34 I B B P B B P B B P B B I 0 1 2 3 4 5 6 7 8 9 10 11 12 Intra, forward and bidirectional prediction Half-pixel motion vectors
  • 35. MPEG-2 Video (1995) Slide 35 Digital TV broadcasting, DVD
  • 36. MPEG-2 Video (1995) Slide 36 16x16 and Interlaced video 16x8 block sizes
  • 37. H.263 (1996), MPEG-4 Part 2 (1999) Slide 37
  • 38. H.263 (1996), MPEG-4 Part 2 (1999) Slide 38 16x16, 8x8 blocks Arithmetic coding Error resilience Advanced prediction Deblocking filter Object coding Mesh coding Face animation Many optional coding tools
  • 39. H.264 / Advanced Video Coding (2003) Slide 39
  • 40. H.264 / Advanced Video Coding (2003) Slide 40 16x16 down to 4x4 blocks Intra prediction 0 1 2 3 4 5 6 Multiple reference frames + context adaptive coding (CABAC / CAVLC), ¼ pixel motion vectors, loop filter….
  • 41. H.265 / High Efficiency Video Coding (2013) Slide 41
  • 42. H.265 / High Efficiency Video Coding (2013) Courtesy of Parabola Research Slide 42 64x64 down to 4x4 blocks Parallel processing support + Lots of “H.264 like” optimizations….
  • 43. HEVC analyzer screenshot Courtesy of Parabola Research Slide 43
  • 45. Compression performance Slide 45 MPEG-2 ~2x better H.264/AVC ~2x better H.265/HEVC
  • 47. Slide 47 MPEG-1 MPEG-2 H.264 HEVC
  • 48. Slide 48 Difference image (MPEG-1) Difference image (HEVC)
  • 49. Patents and patent pools Slide 49
  • 50. Example Slide 50 September 2001 Patent application is filed September 2001 Proposal document is submitted to Joint Video Team May 2003 H.264 is published, including the concept of the application & proposal 2005 Patent is granted
  • 51. Slide 51 Published Standard Patents Implementors Patent pool
  • 52. Patents and patent pools: the early standards Slide 52 H.261, MPEG-1, H.263 : - no formal patent pool MPEG-2 : - first patent pool, managed by MPEG-LA MPEG-4 Part 2 : - patent pool, managed by MPEG-LA
  • 53. Patents and patent pools: H.264 / AVC Slide 53 2001-2003 Royalty Free Baseline intention announced by 32 patent holders May 2003 First edition of H.264 published Late 2003 MPEG-LA and Via Licensing announce patent pools. Royalty Free Baseline abandoned. 2004 onwards Via Licensing pool “folds”. MPEG-LA pool dominates.
  • 54. Patents and patent pools: recent developments Slide 54 Open source VP8 format: MPEG-LA attempts to create patent pool, Google and MPEG-LA reach agreement and pool is abandoned. HEVC: Patent pool created by MPEG-LA (2014).
  • 55. Conclusion Slide 55 Many of the key components of modern video codecs originated before 1990. In the last 25 years, developments in video coding have been strongly influenced by standardisation. Performance continues to improve, driven by optimization of compression tools.
  • 56. Useful information sources Slide 56 Low bit rate / Video Coding Experts Group archives, 1996-present: http://wftp3.itu.int/av-arch/video-site/ Joint Video Team archives (H.264 development): http://wftp3.itu.int/av-arch/jvt-site/ JCT-VC archives (HEVC development): http://wftp3.itu.int/av-arch/jctvc-site/ Video coding resources: http://vcodex.com/

Editor's Notes

  1. On the left is a typical block of pixel samples, 4x4 in this case. In any region of the picture, we’re going to have a range of brightnesses or levels. Each one of those numbers is important to the video image and each one takes up space in the video file. The idea of a video coding transform is to convert a block of samples into a frequency representation, such as the example in the middle. In a video encoder, we follow the transform with quantization, which removes small or insignificant values. So instead of the 16 image samples on the left, we have a transformed and quantized block on the right. Most of the numbers are zero, which makes this transformed and quantized block very easy to store in a compressed form. And if we do this in the right way, it’s possible to reverse the process and get a decoded image block that looks almost the same as the original.