Video coding format: Difference between revisions

From HandWiki
imported>StanislovAI
change
 
over-write
 
Line 1: Line 1:
{{Short description|Content format for digital video content}}
{{Short description|Format for digital video content}}
{{Use mdy dates|date=January 2024}}


A '''video coding format'''{{efn|The term ''video coding'' includes [[Advanced Video Coding]], [[High Efficiency Video Coding]], and Video Coding Experts Group.<ref>{{cite web|url=http://654lab.webstarts.com/uploads/csvt_overview.pdf|title=Overview of the H.264 / AVC Video Coding Standard|publisher=IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY|date=July 2003|author1=Thomas Wiegand | author2=Gary J. Sullivan |author3=Gisle Bjontegaard |author4=Ajay Luthra  |name-list-style=amp }}</ref>}} (or sometimes '''video compression format''') is a [[Content format|content representation format]] of [[Engineering:Digital video|digital video]] content, such as in a data file or [[Bitstream format|bitstream]]. It typically uses a standardized video compression algorithm, most commonly based on [[Discrete cosine transform|discrete cosine transform]] (DCT) coding and [[Motion compensation|motion compensation]]. A specific software, [[Firmware|firmware]], or hardware implementation capable of compression or decompression in a specific video coding format is called a [[Video codec|video codec]].
A '''video coding format'''{{efn|The term ''video coding'' includes [[Advanced Video Coding]], [[High Efficiency Video Coding]], and [[Organization:Video Coding Experts Group|Video Coding Experts Group]].<ref>{{cite web|url=http://654lab.webstarts.com/uploads/csvt_overview.pdf|title=Overview of the H.264 / AVC Video Coding Standard|publisher=IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY|date=July 2003|author1=Thomas Wiegand | author2=Gary J. Sullivan |author3=Gisle Bjontegaard |author4=Ajay Luthra  |name-list-style=amp }}</ref>}} (or sometimes '''video compression format''') is an encoded format of [[Engineering:Digital video|digital video]] content, such as in a data file or [[Bitstream format|bitstream]]. It typically uses a standardized video compression algorithm, most commonly based on [[Discrete cosine transform|discrete cosine transform]] (DCT) coding and [[Motion compensation|motion compensation]]. A computer [[Software|software]] or [[Computer hardware|hardware]] component that compresses or decompresses a specific video coding format is a [[Video codec|video codec]].


Some video coding formats are documented by a detailed technical specification document known as a '''video coding specification'''. Some such specifications are written and approved by standardization organizations as [[Technical standard|technical standard]]s, and are thus known as a '''video coding standard'''. There are [[Engineering:De facto standard|''de facto'' standards]] and formal standards.
Some video coding formats are documented by a detailed technical specification document known as a '''video coding specification'''. Some such specifications are written and approved by standardization organizations as [[Technical standard|technical standard]]s, and are thus known as a '''video coding standard'''. There are [[Engineering:De facto standard|''de facto'' standards]] and formal standards.


Video content encoded using a particular video coding format is normally bundled with an audio stream (encoded using an [[Audio coding format|audio coding format]]) inside a multimedia container format such as [[Audio Video Interleave|AVI]], [[MP4 file format|MP4]], [[Flash Video|FLV]], [[RealMedia]], or [[Matroska]]. As such, the user normally does not have a H.264 file, but instead has a [[Video file format|video file]] which is an MP4 container of H.264-encoded video, normally alongside [[Advanced Audio Coding|AAC]]-encoded audio. Multimedia container formats can contain one of several different video coding formats; for example the MP4 container format can contain video coding formats such as MPEG-2 Part 2 or H.264. Another example is the initial specification for the file type [[WebM]], which specifies the container format (Matroska), but also exactly which video ([[Software:VP8|VP8]]) and audio ([[Software:Vorbis|Vorbis]]) compression format is inside the Matroska container, even though Matroska is capable of containing [[VP9]] video, and [[Software:Opus (audio format)|Opus]] audio support was later added to the [[WebM]] specification.
Video content encoded using a particular video coding format is normally bundled with an audio stream (encoded using an [[Audio coding format|audio coding format]]) inside a multimedia container format such as [[Audio Video Interleave|AVI]], [[MP4]], FLV, [[RealMedia]], or [[Matroska]]. As such, the user normally does not have a H.264 file, but instead has a video file, which is an MP4 container of H.264-encoded video, normally alongside [[Advanced Audio Coding|AAC]]-encoded audio. Multimedia container formats can contain one of several different video coding formats; for example, the MP4 container format can contain video coding formats such as MPEG-2 Part 2 or H.264. Another example is the initial specification for the file type [[WebM]], which specifies the container format (Matroska), but also exactly which video ([[Software:VP8|VP8]]) and audio ([[Software:Vorbis|Vorbis]]) compression format is inside the Matroska container, even though Matroska is capable of containing [[VP9]] video, and [[Software:Opus (audio format)|Opus]] audio support was later added to the [[WebM]] specification.


==Distinction between ''format'' and ''codec''==
==Distinction between ''format'' and ''codec''==
A ''format'' is the layout plan for data produced or consumed by a ''codec''.
A ''format'' is the layout plan for data produced or consumed by a ''codec''.


Although video coding formats such as H.264 are sometimes referred to as ''codecs'', there is a clear conceptual difference between a specification and its implementations. Video coding formats are described in specifications, and software, [[Firmware|firmware]], or hardware to encode/decode data in a given video coding format from/to uncompressed video are implementations of those specifications. As an analogy, the video coding format H.264 (specification) is to the [[Codec|codec]] [[Software:OpenH264|OpenH264]] (specific implementation) what the [[C (programming language)|C Programming Language]] (specification) is to the compiler [[Software:GNU Compiler Collection|GCC]] (specific implementation). Note that for each specification (e.g. H.264), there can be many codecs implementing that specification (e.g. [[Software:X264|x264]], OpenH264, H.264/MPEG-4 AVC products and implementations).
Although video coding formats such as H.264 are sometimes referred to as ''codecs'', there is a clear conceptual difference between a specification and its implementations. Video coding formats are described in specifications, and software, [[Firmware|firmware]], or hardware to encode/decode data in a given video coding format from/to uncompressed video are implementations of those specifications. As an analogy, the video coding format H.264 (specification) is to the [[Codec|codec]] [[Software:OpenH264|OpenH264]] (specific implementation) what the [[C (programming language)|C Programming Language]] (specification) is to the compiler [[Software:GNU Compiler Collection|GCC]] (specific implementation). Note that for each specification (e.g., H.264), there can be many codecs implementing that specification (e.g., [[Software:X264|x264]], OpenH264, H.264/MPEG-4 AVC products and implementations).


This distinction is not consistently reflected terminologically in the literature. The H.264 specification calls [[H.261]], H.262, [[H.263]], and H.264 ''video coding standards'' and does not contain the word ''codec''.<ref name="h264" /> The [[Organization:Alliance for Open Media|Alliance for Open Media]] clearly distinguishes between the [[Software:AV1|AV1]] video coding format and the accompanying codec they are developing, but calls the video coding format itself a ''[[Video codec|video codec]] specification''.<ref>{{cite web|url=http://aomedia.org/|publisher=Alliance for Open Media|title=Front Page|access-date=May 23, 2016}}</ref> The [[VP9]] specification calls the video coding format VP9 itself a ''codec''.<ref>{{cite web|url=https://storage.googleapis.com/downloads.webmproject.org/docs/vp9/vp9-bitstream-specification-v0.6-20160331-draft.pdf|title=VP9 Bitstream & Decoding Process Specification|author1=Adrian Grange |author2=Peter de Rivaz |author3=Jonathan Hunt  |name-list-style=amp }}</ref>
This distinction is not consistently reflected terminologically in the literature. The H.264 specification calls [[H.261]], H.262, [[H.263]], and H.264 ''video coding standards'' and does not contain the word ''codec''.<ref name="h264" /> The [[Organization:Alliance for Open Media|Alliance for Open Media]] clearly distinguishes between the [[Software:AV1|AV1]] video coding format and the accompanying codec they are developing, but calls the video coding format itself a ''[[Video codec|video codec]] specification''.<ref>{{cite web|url=http://aomedia.org/|publisher=Alliance for Open Media|title=Front Page|access-date=May 23, 2016}}</ref> The [[VP9]] specification calls the video coding format VP9 itself a ''codec''.<ref>{{cite web|url=https://storage.googleapis.com/downloads.webmproject.org/docs/vp9/vp9-bitstream-specification-v0.6-20160331-draft.pdf|title=VP9 Bitstream & Decoding Process Specification|author1=Adrian Grange |author2=Peter de Rivaz |author3=Jonathan Hunt  |name-list-style=amp }}</ref>


As an example of conflation, Chromium's<ref>{{cite web|url=https://www.chromium.org/audio-video|title=Audio/Video|publisher=The Chromium Projects
As an example of conflation, Chromium's<ref>{{cite web|url=https://www.chromium.org/audio-video|title=Audio/Video|publisher=The Chromium Projects
|access-date=May 23, 2016}}</ref> and Mozilla's<ref>{{cite web|url=https://developer.mozilla.org/en-US/docs/Web/HTML/Supported_media_formats|title=Media formats supported by the HTML audio and video elements|publisher=Mozilla|access-date=May 23, 2016}}</ref> pages listing their video format support both call video coding formats such as H.264 ''codecs''. As another example, in Cisco's announcement of a free-as-in-beer video codec, the press release refers to the H.264 video coding format as a ''codec'' ("choice of a common video codec"), but calls Cisco's implementation of a H.264 encoder/decoder a ''codec'' shortly thereafter ("open-source our H.264 codec").<ref>{{cite web|url=https://blogs.cisco.com/collaboration/open-source-h-264-removes-barriers-webrtc|title=Open-Sourced H.264 Removes Barriers to WebRTC|publisher=Cisco|access-date=May 23, 2016|date=October 30, 2013|author=Rowan Trollope|archive-date=May 14, 2019|archive-url=https://web.archive.org/web/20190514053018/https://blogs.cisco.com/collaboration/open-source-h-264-removes-barriers-webrtc|url-status=dead}}</ref>
|access-date=May 23, 2016}}</ref> and Mozilla's<ref>{{cite web|url=https://developer.mozilla.org/en-US/docs/Web/HTML/Supported_media_formats|title=Media formats supported by the HTML audio and video elements|publisher=Mozilla|access-date=May 23, 2016}}</ref> pages listing their video formats support both call video coding formats, such as H.264 ''codecs''. As another example, in Cisco's announcement of a free-as-in-beer video codec, the press release refers to the H.264 video coding format as a ''codec'' ("choice of a common video codec"), but calls Cisco's implementation of a H.264 encoder/decoder a ''codec'' shortly thereafter ("open-source our H.264 codec").<ref>{{cite web|url=https://blogs.cisco.com/collaboration/open-source-h-264-removes-barriers-webrtc|title=Open-Sourced H.264 Removes Barriers to WebRTC|publisher=Cisco|access-date=May 23, 2016|date=October 30, 2013|author=Rowan Trollope|archive-date=May 14, 2019|archive-url=https://web.archive.org/web/20190514053018/https://blogs.cisco.com/collaboration/open-source-h-264-removes-barriers-webrtc|url-status=dead}}</ref>


A video coding format does not dictate all [[Algorithm|algorithm]]s used by a [[Codec|codec]] implementing the format. For example, a large part of how video compression typically works is by finding [[Video compression picture types|similarities between video frames]] (block-matching), and then achieving compression by copying previously-coded similar subimages (such as [[Macroblock|macroblock]]s) and adding small differences when necessary. Finding optimal combinations of such predictors and differences is an NP-hard problem,<ref>{{cite web|url=http://shodhganga.inflibnet.ac.in/bitstream/10603/8175/8/08_chapter%203.pdf|title=Chapter 3 : Modified A* Prune Algorithm for finding K-MCSP in video compression|publisher=Shodhganga.inflibnet.ac.in|access-date=January 6, 2015}}</ref> meaning that it is practically impossible to find an optimal solution. Though the video coding format must support such compression across frames in the bitstream format, by not needlessly mandating specific algorithms for finding such block-matches and other encoding steps, the codecs implementing the video coding specification have some freedom to optimize and innovate in their choice of algorithms. For example, section 0.5 of the H.264 specification says that encoding algorithms are not part of the specification.<ref name="h264">{{cite web|url=http://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-H.264-200305-S!!PDF-E&type=items|title=SERIES H: AUDIOVISUAL AND MULTIMEDIA SYSTEMS : Infrastructure of audiovisual services – Coding of moving video : Advanced video coding for generic audiovisual services|publisher=Itu.int|access-date=January 6, 2015}}</ref> Free choice of algorithm also allows different [[Analysis of algorithms|space–time complexity]] trade-offs for the same video coding format, so a live feed can use a fast but space-inefficient algorithm, and a one-time [[Engineering:DVD|DVD]] encoding for later mass production can trade long encoding-time for space-efficient encoding.
A video coding format does not dictate all [[Algorithm|algorithm]]s used by a [[Codec|codec]] implementing the format. For example, a large part of how video compression typically works is by finding [[Video compression picture types|similarities between video frames]] (block-matching) and then achieving compression by copying previously-coded similar subimages (such as [[Macroblock|macroblock]]s) and adding small differences when necessary. Finding optimal combinations of such predictors and differences is an NP-hard problem,<ref>{{cite web|url=http://shodhganga.inflibnet.ac.in/bitstream/10603/8175/8/08_chapter%203.pdf|title=Chapter 3 : Modified A* Prune Algorithm for finding K-MCSP in video compression|publisher=Shodhganga.inflibnet.ac.in|access-date=January 6, 2015}}</ref> meaning that it is practically impossible to find an optimal solution. Though the video coding format must support such compression across frames in the bitstream format, by not needlessly mandating specific algorithms for finding such block-matches and other encoding steps, the codecs implementing the video coding specification have some freedom to optimize and innovate in their choice of algorithms. For example, section 0.5 of the H.264 specification says that encoding algorithms are not part of the specification.<ref name="h264">{{cite web|url=http://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-H.264-200305-S!!PDF-E&type=items|title=SERIES H: AUDIOVISUAL AND MULTIMEDIA SYSTEMS : Infrastructure of audiovisual services – Coding of moving video : Advanced video coding for generic audiovisual services|publisher=Itu.int|access-date=January 6, 2015}}</ref> Free choice of algorithm also allows different [[Analysis of algorithms|space–time complexity]] trade-offs for the same video coding format, so a live feed can use a fast but space-inefficient algorithm, and a one-time [[Engineering:DVD|DVD]] encoding for later mass production can trade long encoding-time for space-efficient encoding.


==History==
==History==
The concept of analog video compression dates back to 1929, when R.D. Kell in {{wipe|United Kingdom}} proposed the concept of transmitting only the portions of the scene that changed from frame-to-frame. The concept of [[Engineering:Digital video|digital video]] compression dates back to 1952, when [[Organization:Bell Labs|Bell Labs]] researchers B.M. Oliver and C.W. Harrison proposed the use of [[Engineering:Differential pulse-code modulation|differential pulse-code modulation]] (DPCM) in video coding. In 1959, the concept of inter-frame [[Motion compensation|motion compensation]] was proposed by NHK researchers Y. Taki, M. Hatori and S. Tanaka, who proposed predictive inter-frame video coding in the temporal dimension.<ref name="ITU">{{cite web |title=History of Video Compression |url=https://www.itu.int/wftp3/av-arch/jvt-site/2002_07_Klagenfurt/JVT-D068.doc |website=ITU-T |publisher=Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCEG (ISO/IEC JTC1/SC29/WG11 and ITU-T SG16 Q.6) |date=July 2002 |pages=11, 24–9, 33, 40–1, 53–6 |access-date=November 3, 2019}}</ref> In 1967, University of London researchers A.H. Robinson and C. Cherry proposed [[Run-length encoding|run-length encoding]] (RLE), a [[Lossless compression|lossless compression]] scheme, to reduce the transmission bandwidth of [[Engineering:Analog television|analog television]] signals.<ref name="robinson">{{cite journal |author1-last=Robinson |author1-first=A. H. |author2-last=Cherry |author2-first=C. |title=Results of a prototype television bandwidth compression scheme |journal=[[Proceedings of the IEEE]] |publisher=IEEE |volume=55 |number=3 |date=1967 |pages=356–364 |doi=10.1109/PROC.1967.5493}}</ref>
The concept of analog video compression dates back to 1929, when R.D. Kell in Britain proposed the concept of transmitting only the portions of the scene that changed from frame-to-frame. The concept of [[Engineering:Digital video|digital video]] compression dates back to 1952, when [[Organization:Bell Labs|Bell Labs]] researchers B.M. Oliver and C.W. Harrison proposed the use of [[Engineering:Differential pulse-code modulation|differential pulse-code modulation]] (DPCM) in video coding. In 1959, the concept of inter-frame [[Motion compensation|motion compensation]] was proposed by NHK researchers Y. Taki, M. Hatori and S. Tanaka, who proposed predictive inter-frame video coding in the temporal dimension.<ref name="ITU">{{cite web |title=History of Video Compression |url=https://www.itu.int/wftp3/av-arch/jvt-site/2002_07_Klagenfurt/JVT-D068.doc |website=ITU-T |publisher=Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCEG (ISO/IEC JTC1/SC29/WG11 and ITU-T SG16 Q.6) |date=July 2002 |pages=11, 24–9, 33, 40–1, 53–6 |access-date=November 3, 2019}}</ref> In 1967, University of London researchers A.H. Robinson and C. Cherry proposed [[Run-length encoding|run-length encoding]] (RLE), a [[Lossless compression|lossless compression]] scheme, to reduce the transmission bandwidth of [[Engineering:Analog television|analog television]] signals.<ref name="robinson">{{cite journal |author1-last=Robinson |author1-first=A. H. |author2-last=Cherry |author2-first=C. |title=Results of a prototype television bandwidth compression scheme |journal=[[Proceedings of the IEEE]] |publisher=IEEE |volume=55 |number=3 |date=1967 |pages=356–364 |doi=10.1109/PROC.1967.5493}}</ref>


The earliest digital video coding algorithms were either for [[Uncompressed video|uncompressed video]] or used [[Lossless compression|lossless compression]], both methods inefficient and impractical for digital video coding.<ref name="Ghanbari">{{cite book |last1=Ghanbari |first1=Mohammed |title=Standard Codecs: Image Compression to Advanced Video Coding |date=2003 |publisher=[[Organization:Institution of Engineering and Technology|Institution of Engineering and Technology]] |isbn=9780852967102 |pages=1–2 |url=https://books.google.com/books?id=7XuU8T3ooOAC&pg=PA1}}</ref><ref name="Lea">{{cite book |last1=Lea |first1=William |title=Video on demand: Research Paper 94/68 |date=1994 |publisher=House of Commons Library |url=https://researchbriefings.parliament.uk/ResearchBriefing/Summary/RP94-68 |access-date=September 20, 2019}}</ref> Digital video was introduced in the 1970s,<ref name="Ghanbari"/> initially using uncompressed [[Pulse-code modulation|pulse-code modulation]] (PCM) requiring high bitrates around 45{{ndash}}200 Mbit/s for standard-definition (SD) video,<ref name="Ghanbari"/><ref name="Lea"/> which was up to 2,000 times greater than the [[Engineering:Telecommunication|telecommunication]] [[Bandwidth (computing)|bandwidth]] (up to 100{{nbsp}}kbit/s) available until the 1990s.<ref name="Lea"/> Similarly, uncompressed [[Engineering:High-definition video|high-definition]] (HD) [[Engineering:1080p|1080p]] video requires bitrates exceeding 1{{nbsp}}Gbit/s, significantly greater than the bandwidth available in the 2000s.<ref>{{cite book |last1=Lee |first1=Jack |title=Scalable Continuous Media Streaming Systems: Architecture, Design, Analysis and Implementation |date=2005 |publisher={{wipe|John Wiley & Sons}} |isbn=9780470857649 |page=25 |url=https://books.google.com/books?id=7fuvu52cyNEC&pg=PA25}}</ref>
The earliest digital video coding algorithms were either for [[Uncompressed video|uncompressed video]] or used [[Lossless compression|lossless compression]], both methods inefficient and impractical for digital video coding.<ref name="Ghanbari">{{cite book |last1=Ghanbari |first1=Mohammed |title=Standard Codecs: Image Compression to Advanced Video Coding |date=2003 |publisher=[[Organization:Institution of Engineering and Technology|Institution of Engineering and Technology]] |isbn=9780852967102 |pages=1–2 |url=https://books.google.com/books?id=7XuU8T3ooOAC&pg=PA1}}</ref><ref name="Lea">{{cite book |last1=Lea |first1=William |title=Video on demand: Research Paper 94/68 |date=1994 |publisher=House of Commons Library |url=https://researchbriefings.parliament.uk/ResearchBriefing/Summary/RP94-68 |access-date=September 20, 2019}}</ref> Digital video was introduced in the 1970s,<ref name="Ghanbari"/> initially using uncompressed [[Pulse-code modulation|pulse-code modulation]] (PCM), requiring high bitrates around 45{{ndash}}200 Mbit/s for standard-definition (SD) video,<ref name="Ghanbari"/><ref name="Lea"/> which was up to 2,000 times greater than the [[Engineering:Telecommunication|telecommunication]] [[Bandwidth (computing)|bandwidth]] (up to 100{{nbsp}}kbit/s) available until the 1990s.<ref name="Lea"/> Similarly, uncompressed [[Engineering:High-definition video|high-definition]] (HD) [[Engineering:1080p|1080p]] video requires bitrates exceeding 1{{nbsp}}Gbit/s, significantly greater than the bandwidth available in the 2000s.<ref>{{cite book |last1=Lee |first1=Jack |title=Scalable Continuous Media Streaming Systems: Architecture, Design, Analysis and Implementation |date=2005 |publisher=[[Company:John Wiley & Sons|John Wiley & Sons]] |isbn=9780470857649 |page=25 |url=https://books.google.com/books?id=7fuvu52cyNEC&pg=PA25}}</ref>


===Motion-compensated DCT===
===Motion-compensated DCT===
Practical video compression emerged with the development of [[Motion compensation|motion-compensated]] [[Discrete cosine transform|DCT]] (MC DCT) coding,<ref name="Lea"/><ref name="Ghanbari"/> also called block motion compensation (BMC)<ref name="ITU"/> or DCT motion compensation. This is a hybrid coding algorithm,<ref name="ITU"/> which combines two key [[Data compression|data compression]] techniques: [[Discrete cosine transform|discrete cosine transform]] (DCT) coding<ref name="Lea"/><ref name="Ghanbari"/> in the spatial dimension, and predictive [[Motion compensation|motion compensation]] in the temporal dimension.<ref name="ITU"/>
Practical video compression emerged with the development of [[Motion compensation|motion-compensated]] [[Discrete cosine transform|DCT]] (MC DCT) coding,<ref name="Lea"/><ref name="Ghanbari"/> also called block motion compensation (BMC)<ref name="ITU"/> or DCT motion compensation. This is a hybrid coding algorithm,<ref name="ITU"/> which combines two key [[Data compression|data compression]] techniques: [[Discrete cosine transform|discrete cosine transform]] (DCT) coding<ref name="Lea"/><ref name="Ghanbari"/> in the spatial dimension, and predictive [[Motion compensation|motion compensation]] in the temporal dimension.<ref name="ITU"/>


DCT coding is a [[Lossy compression|lossy]] block compression [[Transform coding|transform coding]] technique that was first proposed by Nasir Ahmed, who initially intended it for [[Image compression|image compression]], while he was working at [[Organization:Kansas State University|Kansas State University]] in 1972. It was then developed into a practical image compression algorithm by Ahmed with T. Natarajan and K. R. Rao at the University of Texas in 1973, and was published in 1974.<ref name="Ahmed">{{cite journal |last=Ahmed |first=Nasir |title=How I Came Up With the Discrete Cosine Transform |journal=Digital Signal Processing |date=January 1991 |volume=1 |issue=1 |pages=4–5 |doi=10.1016/1051-2004(91)90086-Z |url=https://www.scribd.com/doc/52879771/DCT-History-How-I-Came-Up-with-the-Discrete-Cosine-Transform}}</ref><ref name="pubDCT">{{Citation |first1=Nasir |last1=Ahmed |first2=T. |last2=Natarajan |first3=K. R. |last3=Rao |title=Discrete Cosine Transform |journal=IEEE Transactions on Computers |date=January 1974 |volume=C-23 |issue=1 |pages=90–93 |doi=10.1109/T-C.1974.223784|s2cid=149806273 }}</ref><ref name="pubRaoYip">{{Citation |last1=Rao |first1=K. R. |author-link1=K. R. Rao |last2=Yip |first2=P. |title=Discrete Cosine Transform: Algorithms, Advantages, Applications |publisher=Academic Press |location=Boston |year=1990 |isbn=978-0-12-580203-1}}</ref>
DCT coding is a lossy block compression [[Transform coding|transform coding]] technique that was first proposed by [[Biography:Nasir Ahmed (engineer)|Nasir Ahmed]], who initially intended it for [[Image compression|image compression]], while he was working at [[Organization:Kansas State University|Kansas State University]] in 1972. It was then developed into a practical image compression algorithm by Ahmed with T. Natarajan and K. R. Rao at the University of Texas in 1973, and was published in 1974.<ref name="Ahmed">{{cite journal |last=Ahmed |first=Nasir |title=How I Came Up With the Discrete Cosine Transform |journal=Digital Signal Processing |date=January 1991 |volume=1 |issue=1 |pages=4–5 |doi=10.1016/1051-2004(91)90086-Z |bibcode=1991DSP.....1....4A |url=https://www.scribd.com/doc/52879771/DCT-History-How-I-Came-Up-with-the-Discrete-Cosine-Transform|url-access=subscription }}</ref><ref name="pubDCT">{{Citation |first1=Nasir |last1=Ahmed |first2=T. |last2=Natarajan |first3=K. R. |last3=Rao |title=Discrete Cosine Transform |journal=IEEE Transactions on Computers |date=January 1974 |volume=C-23 |issue=1 |pages=90–93 |doi=10.1109/T-C.1974.223784 }}</ref><ref name="pubRaoYip">{{Citation |last1=Rao |first1=K. R. |author-link1=K. R. Rao |last2=Yip |first2=P. |title=Discrete Cosine Transform: Algorithms, Advantages, Applications |publisher=Academic Press |location=Boston |year=1990 |isbn=978-0-12-580203-1}}</ref>


The other key development was motion-compensated hybrid coding.<ref name="ITU"/> In 1974, Ali Habibi at the [[Organization:University of Southern California|University of Southern California]] introduced hybrid coding,<ref name="Habibi">{{cite journal |last1=Habibi |first1=Ali |title=Hybrid Coding of Pictorial Data |journal=IEEE Transactions on Communications |date=1974 |volume=22 |issue=5 |pages=614–624 |doi=10.1109/TCOM.1974.1092258}}</ref><ref>{{cite journal |last1=Chen |first1=Z. |last2=He |first2=T. |last3=Jin |first3=X. |last4=Wu |first4=F. |title=Learning for Video Compression |journal=IEEE Transactions on Circuits and Systems for Video Technology |date=2019 |volume=30 |issue=2 |pages=566–576 |doi=10.1109/TCSVT.2019.2892608 |arxiv=1804.09869 |s2cid=13743007 }}</ref><ref>{{cite book |last1=Pratt |first1=William K. |title=Advances in Electronics and Electron Physics: Supplement |date=1984 |publisher=[[Company:Academic Press|Academic Press]] |isbn=9780120145720 |page=158 |url=https://books.google.com/books?id=OX00AAAAIAAJ |quote=A significant advance in image coding methodology occurred with the introduction of the concept of hybrid transform/DPCM coding (Habibi, 1974).}}</ref> which combines predictive coding with transform coding.<ref name="ITU"/><ref>{{cite book |last1=Ohm |first1=Jens-Rainer |title=Multimedia Signal Coding and Transmission |date=2015 |publisher=Springer |isbn=9783662466919 |pages=364 |url=https://books.google.com/books?id=e7xnBwAAQBAJ&pg=PA364}}</ref> He examined several transform coding techniques, including the DCT, [[Hadamard transform]], [[Fourier transform]], slant transform, and Karhunen-Loeve transform.<ref name="Habibi"/> However, his algorithm was initially limited to intra-frame coding in the spatial dimension. In 1975, John A. Roese and Guner S. Robinson extended Habibi's hybrid coding algorithm to the temporal dimension, using transform coding in the spatial dimension and predictive coding in the temporal dimension, developing inter-frame motion-compensated hybrid coding.<ref name="ITU"/><ref name="Roese">{{cite journal |last1=Roese |first1=John A. |last2=Robinson |first2=Guner S. |editor-first1=Andrew G. |editor-last1=Tescher |title=Combined Spatial And Temporal Coding Of Digital Image Sequences |journal=Efficient Transmission of Pictorial Information |date=October 30, 1975 |volume=0066 |pages=172–181 |doi=10.1117/12.965361 |publisher=International Society for Optics and Photonics|bibcode=1975SPIE...66..172R |s2cid=62725808 }}</ref> For the spatial transform coding, they experimented with different transforms, including the DCT and the [[Fast Fourier transform|fast Fourier transform]] (FFT), developing inter-frame hybrid coders for them, and found that the DCT is the most efficient due to its reduced complexity, capable of compressing image data down to 0.25-[[Bit|bit]] per [[Pixel|pixel]] for a videotelephone scene with image quality comparable to a typical intra-frame coder requiring 2-bit per pixel.<ref>{{cite book |last1=Huang |first1=T. S. |title=Image Sequence Analysis |date=1981 |publisher=Springer Science & Business Media |isbn=9783642870378 |page=29 |url=https://books.google.com/books?id=bAirCAAAQBAJ&pg=PA29}}</ref><ref name="Roese"/>
The other key development was motion-compensated hybrid coding.<ref name="ITU"/> In 1974, Ali Habibi at the [[Organization:University of Southern California|University of Southern California]] introduced hybrid coding,<ref name="Habibi">{{cite journal |last1=Habibi |first1=Ali |title=Hybrid Coding of Pictorial Data |journal=IEEE Transactions on Communications |date=1974 |volume=22 |issue=5 |pages=614–624 |doi=10.1109/TCOM.1974.1092258}}</ref><ref>{{cite journal |last1=Chen |first1=Z. |last2=He |first2=T. |last3=Jin |first3=X. |last4=Wu |first4=F. |title=Learning for Video Compression |journal=IEEE Transactions on Circuits and Systems for Video Technology |date=2019 |volume=30 |issue=2 |pages=566–576 |doi=10.1109/TCSVT.2019.2892608 |arxiv=1804.09869 |bibcode=2020ITCSV..30..566C }}</ref><ref>{{cite book |last1=Pratt |first1=William K. |title=Advances in Electronics and Electron Physics: Supplement |date=1984 |publisher=[[Company:Academic Press|Academic Press]] |isbn=9780120145720 |page=158 |url=https://books.google.com/books?id=OX00AAAAIAAJ |quote=A significant advance in image coding methodology occurred with the introduction of the concept of hybrid transform/DPCM coding (Habibi, 1974).}}</ref> which combines predictive coding with transform coding.<ref name="ITU"/><ref>{{cite book |last1=Ohm |first1=Jens-Rainer |title=Multimedia Signal Coding and Transmission |date=2015 |publisher=Springer |isbn=9783662466919 |pages=364 |url=https://books.google.com/books?id=e7xnBwAAQBAJ&pg=PA364}}</ref> He examined several transform coding techniques, including the DCT, [[Hadamard transform]], [[Fourier transform]], slant transform, and Karhunen-Loeve transform.<ref name="Habibi"/> However, his algorithm was initially limited to intra-frame coding in the spatial dimension. In 1975, John A. Roese and Guner S. Robinson extended Habibi's hybrid coding algorithm to the temporal dimension, using transform coding in the spatial dimension and predictive coding in the temporal dimension, developing inter-frame motion-compensated hybrid coding.<ref name="ITU"/><ref name="Roese">{{cite journal |last1=Roese |first1=John A. |last2=Robinson |first2=Guner S. |editor-first1=Andrew G. |editor-last1=Tescher |title=Combined Spatial And Temporal Coding Of Digital Image Sequences |journal=Efficient Transmission of Pictorial Information |date=October 30, 1975 |volume=0066 |pages=172–181 |doi=10.1117/12.965361 |publisher=International Society for Optics and Photonics |bibcode=1975SPIE...66..172R }}</ref> For the spatial transform coding, they experimented with different transforms, including the DCT and the [[Fast Fourier transform|fast Fourier transform]] (FFT), developing inter-frame hybrid coders for them, and found that the DCT is the most efficient due to its reduced complexity, capable of compressing image data down to 0.25-[[Bit|bit]] per [[Pixel|pixel]] for a videotelephone scene with image quality comparable to a typical intra-frame coder requiring 2-bit per pixel.<ref>{{cite book |last1=Huang |first1=T. S. |title=Image Sequence Analysis |date=1981 |publisher=Springer Science & Business Media |isbn=9783642870378 |page=29 |url=https://books.google.com/books?id=bAirCAAAQBAJ&pg=PA29}}</ref><ref name="Roese"/>


The DCT was applied to video encoding by Wen-Hsiung Chen,<ref name="Stankovic">{{cite journal |last1=Stanković |first1=Radomir S. |last2=Astola |first2=Jaakko T. |title=Reminiscences of the Early Work in DCT: Interview with K.R. Rao |journal=Reprints from the Early Days of Information Sciences |date=2012 |volume=60 |url=http://ticsp.cs.tut.fi/reports/ticsp-report-60-reprint-rao-corrected.pdf |access-date=October 13, 2019}}</ref> who developed a fast DCT algorithm with C.H. Smith and S.C. Fralick in 1977,<ref>{{cite journal |last1=Chen |first1=Wen-Hsiung |last2=Smith |first2=C. H. |last3=Fralick |first3=S. C. |title=A Fast Computational Algorithm for the Discrete Cosine Transform |journal=[[Engineering:IEEE Transactions on Communications|IEEE Transactions on Communications]] |date=September 1977 |volume=25 |issue=9 |pages=1004–1009 |doi=10.1109/TCOM.1977.1093941}}</ref><ref name="t81">{{cite web |title=T.81 – Digital compression and coding of continuous-tone still images – Requirements and guidelines |url=https://www.w3.org/Graphics/JPEG/itu-t81.pdf |publisher=CCITT |date=September 1992 |access-date=July 12, 2019}}</ref> and founded Compression Labs to commercialize DCT technology.<ref name="Stankovic"/> In 1979, Anil K. Jain and Jaswant R. Jain further developed motion-compensated DCT video compression.<ref>{{cite book |last1=Cianci |first1=Philip J. |title=High Definition Television: The Creation, Development and Implementation of HDTV Technology |date=2014 |publisher=McFarland |isbn=9780786487974 |page=63 |url=https://books.google.com/books?id=0mbsfr38GTgC&pg=PA63}}</ref><ref name="ITU"/> This led to Chen developing a practical video compression algorithm, called motion-compensated DCT or adaptive scene coding, in 1981.<ref name="ITU"/> Motion-compensated DCT later became the standard coding technique for video compression from the late 1980s onwards.<ref name="Ghanbari"/><ref name="Li">{{cite book |last1=Li |first1=Jian Ping |title=Proceedings of the International Computer Conference 2006 on Wavelet Active Media Technology and Information Processing: Chongqing, China, 29-31 August 2006 |date=2006 |publisher=[[Company:World Scientific|World Scientific]] |isbn=9789812709998 |page=847 |url=https://books.google.com/books?id=FZiK3zXdK7sC&pg=PA847}}</ref>
The DCT was applied to video encoding by Wen-Hsiung Chen,<ref name="Stankovic">{{cite journal |last1=Stanković |first1=Radomir S. |last2=Astola |first2=Jaakko T. |title=Reminiscences of the Early Work in DCT: Interview with K.R. Rao |journal=Reprints from the Early Days of Information Sciences |date=2012 |volume=60 |url=http://ticsp.cs.tut.fi/reports/ticsp-report-60-reprint-rao-corrected.pdf |access-date=October 13, 2019}}</ref> who developed a fast DCT algorithm with C.H. Smith and S.C. Fralick in 1977,<ref>{{cite journal |last1=Chen |first1=Wen-Hsiung |last2=Smith |first2=C. H. |last3=Fralick |first3=S. C. |title=A Fast Computational Algorithm for the Discrete Cosine Transform |journal=[[Engineering:IEEE Transactions on Communications|IEEE Transactions on Communications]] |date=September 1977 |volume=25 |issue=9 |pages=1004–1009 |doi=10.1109/TCOM.1977.1093941}}</ref><ref name="t81">{{cite web |title=T.81 – Digital compression and coding of continuous-tone still images – Requirements and guidelines |url=https://www.w3.org/Graphics/JPEG/itu-t81.pdf |publisher=CCITT |date=September 1992 |access-date=July 12, 2019}}</ref> and founded Compression Labs to commercialize DCT technology.<ref name="Stankovic"/> In 1979, [[Anil K. Jain (electrical engineer, born 1946)|Anil K. Jain]] and Jaswant R. Jain further developed motion-compensated DCT video compression.<ref>{{cite book |last1=Cianci |first1=Philip J. |title=High Definition Television: The Creation, Development and Implementation of HDTV Technology |date=2014 |publisher=McFarland |isbn=9780786487974 |page=63 |url=https://books.google.com/books?id=0mbsfr38GTgC&pg=PA63}}</ref><ref name="ITU"/> This led to Chen developing a practical video compression algorithm, called motion-compensated DCT or adaptive scene coding, in 1981.<ref name="ITU"/> Motion-compensated DCT later became the standard coding technique for video compression from the late 1980s onwards.<ref name="Ghanbari"/><ref name="Li">{{cite book |last1=Li |first1=Jian Ping |title=Proceedings of the International Computer Conference 2006 on Wavelet Active Media Technology and Information Processing: Chongqing, China, 29-31 August 2006 |date=2006 |publisher=[[Company:World Scientific|World Scientific]] |isbn=9789812709998 |page=847 |url=https://books.google.com/books?id=FZiK3zXdK7sC&pg=PA847}}</ref>


===Video coding standards===
===Video coding standards===
The first digital video coding standard was [[H.120]], developed by the CCITT (now ITU-T) in 1984.<ref name="history">{{cite web |title=The History of Video File Formats Infographic |url=http://www.real.com/resources/digital-video-file-formats/ |website=[[Company:RealNetworks|RealNetworks]] |access-date=August 5, 2019 |date=April 22, 2012}}</ref> H.120 was not usable in practice, as its performance was too poor.<ref name="history" /> H.120 used motion-compensated DPCM coding,<ref name="ITU"/> a lossless compression algorithm that was inefficient for video coding.<ref name="Ghanbari"/> During the late 1980s, a number of companies began experimenting with [[Discrete cosine transform|discrete cosine transform]] (DCT) coding, a much more efficient form of compression for video coding. The CCITT received 14 proposals for DCT-based video compression formats, in contrast to a single proposal based on [[Vector quantization|vector quantization]] (VQ) compression. The [[H.261]] standard was developed based on motion-compensated DCT compression.<ref name="Ghanbari"/><ref name="Li"/> H.261 was the first practical video coding standard,<ref name="history" /> and uses patents licensed from a number of companies, including [[Company:Hitachi|Hitachi]], PictureTel, [[Company:Nippon Telegraph and Telephone|NTT]], BT, and [[Company:Toshiba|Toshiba]], among others.<ref name="h261-patents"/> Since H.261, motion-compensated DCT compression has been adopted by all the major video coding standards (including the H.26x and MPEG formats) that followed.<ref name="Ghanbari"/><ref name="Li"/>
The first digital video coding standard was [[H.120]], developed by the CCITT (now ITU-T) in 1984.<ref name="history">{{cite web |title=The History of Video File Formats Infographic |url=http://www.real.com/resources/digital-video-file-formats/ |website=[[Company:RealNetworks|RealNetworks]] |access-date=August 5, 2019 |date=April 22, 2012}}</ref> H.120 was not usable in practice, as its performance was too poor.<ref name="history" /> H.120 used motion-compensated DPCM coding,<ref name="ITU"/> a lossless compression algorithm that was inefficient for video coding.<ref name="Ghanbari"/> During the late 1980s, a number of companies began experimenting with [[Discrete cosine transform|discrete cosine transform]] (DCT) coding, a much more efficient form of compression for video coding. The CCITT received 14 proposals for DCT-based video compression formats, in contrast to a single proposal based on [[Vector quantization|vector quantization]] (VQ) compression. The [[H.261]] standard was developed based on motion-compensated DCT compression.<ref name="Ghanbari"/><ref name="Li"/> H.261 was the first practical video coding standard,<ref name="history" /> and uses patents licensed from a number of companies, including [[Company:Hitachi|Hitachi]], [[Company:PictureTel|PictureTel]], [[Company:Nippon Telegraph and Telephone|NTT]], [[Company:BT Group|BT]], and [[Company:Toshiba|Toshiba]], among others.<ref name="h261-patents"/> Since H.261, motion-compensated DCT compression has been adopted by all the major video coding standards (including the H.26x and MPEG formats) that followed.<ref name="Ghanbari"/><ref name="Li"/>


[[MPEG-1]], developed by the Motion Picture Experts Group (MPEG), followed in 1991, and it was designed to compress [[VHS]]-quality video.<ref name="history"/> It was succeeded in 1994 by [[MPEG-2]]/H.262,<ref name="history"/> which was developed with patents licensed from a number of companies, primarily [[Company:Sony|Sony]], [[Company:Technicolor SA|Thomson]] and [[Company:Mitsubishi Electric|Mitsubishi Electric]].<ref name="mp2-patents"/> MPEG-2 became the standard video format for [[Engineering:DVD|DVD]] and SD digital television.<ref name="history"/> Its motion-compensated DCT algorithm was able to achieve a [[Engineering:Compression ratio|compression ratio]] of up to 100:1, enabling the development of [[Digital media|digital media]] technologies such as video-on-demand (VOD)<ref name="Lea"/> and [[Engineering:High-definition television|high-definition television]] (HDTV).<ref name="Shishikui">{{cite journal |last1=Shishikui |first1=Yoshiaki |last2=Nakanishi |first2=Hiroshi |last3=Imaizumi |first3=Hiroyuki |title=An HDTV Coding Scheme using Adaptive-Dimension DCT |journal=Signal Processing of HDTV: Proceedings of the International Workshop on HDTV '93, Ottawa, Canada |date=October 26–28, 1993 |pages=611–618 |doi=10.1016/B978-0-444-81844-7.50072-3 |url=https://books.google.com/books?id=j9XSBQAAQBAJ&pg=PA611 |publisher=[[Company:Elsevier|Elsevier]] |isbn=9781483298511}}</ref> In 1999, it was followed by MPEG-4/[[H.263]], which was a major leap forward for video compression technology.<ref name="history"/> It uses patents licensed from a number of companies, primarily Mitsubishi, [[Company:Hitachi|Hitachi]] and [[Company:Panasonic|Panasonic]].<ref name="mp4-patents"/>
[[MPEG-1]], developed by the [[Moving Picture Experts Group]] (MPEG), followed in 1991, and it was designed to compress [[VHS]]-quality video.<ref name="history"/> It was succeeded in 1994 by [[MPEG-2]]/H.262,<ref name="history"/> which was developed with patents licensed from a number of companies, primarily [[Company:Sony|Sony]], [[Company:Technicolor SA|Thomson]] and [[Company:Mitsubishi Electric|Mitsubishi Electric]].<ref name="mp2-patents"/> MPEG-2 became the standard video format for [[Engineering:DVD|DVD]] and SD digital television.<ref name="history"/> Its motion-compensated DCT algorithm was able to achieve a [[Engineering:Compression ratio|compression ratio]] of up to 100:1, enabling the development of [[Digital media|digital media]] technologies such as [[Engineering:Video on demand|video on demand]] (VOD)<ref name="Lea"/> and [[Engineering:High-definition television|high-definition television]] (HDTV).<ref name="Shishikui">{{cite book |doi=10.1016/B978-0-444-81844-7.50072-3 |chapter=An HDTV Coding Scheme using Adaptive-Dimension DCT |title=Signal Processing of HDTV |date=1994 |last1=Shishikui |first1=Yoshiaki |last2=Nakanishi |first2=Hiroshi |last3=Imaizumi |first3=Hiroyuki |pages=611–618 |isbn=978-0-444-81844-7 |chapter-url={{GBurl|j9XSBQAAQBAJ|p=611}} }}</ref> In 1999, it was followed by MPEG-4/[[H.263]], which was a major leap forward for video compression technology.<ref name="history"/> It uses patents licensed from a number of companies, primarily Mitsubishi, [[Company:Hitachi|Hitachi]] and [[Company:Panasonic|Panasonic]].<ref name="mp4-patents"/>


The most widely used video coding format {{as of|2019|lc=y}} is H.264/MPEG-4 AVC.<ref name="Bitmovin">{{cite web |url=https://cdn2.hubspot.net/hubfs/3411032/Bitmovin%20Magazine/Video%20Developer%20Report%202019/bitmovin-video-developer-report-2019.pdf |title=Video Developer Report 2019 |website=[[Company:Bitmovin|Bitmovin]] |year=2019 |access-date=November 5, 2019}}</ref> It was developed in 2003, and uses patents licensed from a number of organizations, primarily Panasonic, Godo Kaisha IP Bridge and [[Company:LG Electronics|LG Electronics]].<ref name="avc-patents"/> In contrast to the standard DCT used by its predecessors, AVC uses the [[Discrete cosine transform|integer DCT]].<ref name="Stankovic"/><ref name="Wang">{{cite journal |last1=Wang |first1=Hanli |last2=Kwong |first2=S. |last3=Kok |first3=C. |title=Efficient prediction algorithm of integer DCT coefficients for H.264/AVC optimization |journal=IEEE Transactions on Circuits and Systems for Video Technology |date=2006 |volume=16 |issue=4 |pages=547–552 |doi=10.1109/TCSVT.2006.871390|s2cid=2060937 }}</ref> H.264 is one of the video encoding standards for Blu-ray Discs; all Blu-ray Disc players must be able to decode H.264. It is also widely used by streaming internet sources, such as videos from [[Company:YouTube|YouTube]], [[Company:Netflix|Netflix]], [[Company:Vimeo|Vimeo]], and the [[ITunes Store|iTunes Store]], web software such as the [[Software:Adobe Flash Player|Adobe Flash Player]] and [[Software:Microsoft Silverlight|Microsoft Silverlight]], and also various [[Engineering:HDTV|HDTV]] broadcasts over terrestrial (Advanced Television Systems Committee standards, ISDB-T, [[DVB-T]] or [[Engineering:DVB-T2|DVB-T2]]), cable ([[Engineering:DVB-C|DVB-C]]), and satellite ([[Astronomy:DVB-S2|DVB-S2]]).<ref>{{Cite web|title=Digital Video Broadcasting (DVB); Specification for the use of video and audio coding in DVB services delivered directly over IP|url=https://www.etsi.org/deliver/etsi_ts/102000_102099/102005/01.01.01_60/ts_102005v010101p.pdf}}</ref>
The most widely used video coding format {{as of|2019|lc=y}} is H.264/MPEG-4 AVC.<ref name="Bitmovin">{{cite web |url=https://cdn2.hubspot.net/hubfs/3411032/Bitmovin%20Magazine/Video%20Developer%20Report%202019/bitmovin-video-developer-report-2019.pdf |title=Video Developer Report 2019 |website=[[Company:Bitmovin|Bitmovin]] |year=2019 |access-date=November 5, 2019}}</ref> It was developed in 2003, and uses patents licensed from a number of organizations, primarily Panasonic, Godo Kaisha IP Bridge and [[Company:LG Electronics|LG Electronics]].<ref name="avc-patents"/> In contrast to the standard DCT used by its predecessors, AVC uses the [[Discrete cosine transform|integer DCT]].<ref name="Stankovic"/><ref name="Wang">{{cite journal |last1=Wang |first1=Hanli |last2=Kwong |first2=S. |last3=Kok |first3=C. |title=Efficient prediction algorithm of integer DCT coefficients for H.264/AVC optimization |journal=IEEE Transactions on Circuits and Systems for Video Technology |date=2006 |volume=16 |issue=4 |pages=547–552 |doi=10.1109/TCSVT.2006.871390 |bibcode=2006ITCSV..16..547W }}</ref> H.264 is one of the video encoding standards for Blu-ray Discs; all Blu-ray Disc players must be able to decode H.264. It is also widely used by streaming internet sources, such as videos from [[Company:YouTube|YouTube]], [[Company:Netflix|Netflix]], [[Company:Vimeo|Vimeo]], and the [[ITunes Store|iTunes Store]], web software such as the [[Software:Adobe Flash Player|Adobe Flash Player]] and [[Software:Microsoft Silverlight|Microsoft Silverlight]], and also various [[Engineering:HDTV|HDTV]] broadcasts over terrestrial ([[ATSC standards]], ISDB-T, [[DVB-T]] or [[Engineering:DVB-T2|DVB-T2]]), cable ([[Engineering:DVB-C|DVB-C]]), and satellite ([[Astronomy:DVB-S2|DVB-S2]]).<ref>{{Cite web|title=Digital Video Broadcasting (DVB); Specification for the use of video and audio coding in DVB services delivered directly over IP|url=https://www.etsi.org/deliver/etsi_ts/102000_102099/102005/01.01.01_60/ts_102005v010101p.pdf}}</ref>


A main problem for many video coding formats has been [[Social:Patent|patent]]s, making it expensive to use or potentially risking a patent lawsuit due to [[Social:Submarine patent|submarine patent]]s. The motivation behind many recently designed video coding formats such as [[Software:Theora|Theora]], [[Software:VP8|VP8]], and [[VP9]] have been to create a ([[Free software|libre]]) video coding standard covered only by royalty-free patents.<ref>{{Cite web|url=https://blogs.cisco.com/collaboration/world-meet-thor-a-project-to-hammer-out-a-royalty-free-video-codec|title = World, Meet Thor – a Project to Hammer Out a Royalty Free Video Codec|date = August 11, 2015}}</ref> Patent status has also been a major point of contention for the choice of which video formats the mainstream [[Software:Web browser|web browser]]s will support inside the [[HTML5 video]] tag.
A main problem for many video coding formats has been [[Social:Patent|patent]]s, making it expensive to use or potentially risking a patent lawsuit due to [[Social:Submarine patent|submarine patent]]s. The motivation behind many recently designed video coding formats such as [[Software:Theora|Theora]], [[Software:VP8|VP8]], and [[VP9]] have been to create a ([[Free software|libre]]) video coding standard covered only by royalty-free patents.<ref>{{Cite web|url=https://blogs.cisco.com/collaboration/world-meet-thor-a-project-to-hammer-out-a-royalty-free-video-codec|title = World, Meet Thor – a Project to Hammer Out a Royalty Free Video Codec|date = August 11, 2015}}</ref> Patent status has also been a major point of contention for the choice of which video formats the mainstream [[Software:Web browser|web browser]]s will support inside the [[HTML video]] tag.


The current-generation video coding format is HEVC (H.265), introduced in 2013. AVC uses the integer DCT with 4x4 and 8x8 block sizes, and HEVC uses integer DCT and [[Discrete sine transform|DST]] transforms with varied block sizes between 4x4 and 32x32.<ref name="apple">{{cite web |last1=Thomson |first1=Gavin |last2=Shah |first2=Athar |title=Introducing HEIF and HEVC |url=https://devstreaming-cdn.apple.com/videos/wwdc/2017/503i6plfvfi7o3222/503/503_introducing_heif_and_hevc.pdf |publisher=[[Company:Apple Inc.|Apple Inc.]] |year=2017 |access-date=August 5, 2019}}</ref> HEVC is heavily patented, mostly by [[Company:Samsung Electronics|Samsung Electronics]], [[Company:General Electric|GE]], [[Company:Nippon Telegraph and Telephone|NTT]], and JVC Kenwood.<ref name="hevc-patents"/>  It is challenged by the AV1 format, intended for free license. {{As of|2019}}, AVC is by far the most commonly used format for the recording, compression, and distribution of video content, used by 91% of video developers, followed by HEVC which is used by 43% of developers.<ref name="Bitmovin"/>
The current-generation video coding format is HEVC (H.265), introduced in 2013. AVC uses the integer DCT with 4x4 and 8x8 block sizes, and HEVC uses integer DCT and [[Discrete sine transform|DST]] transforms with varied block sizes between 4x4 and 32x32.<ref name="apple">{{cite web |last1=Thomson |first1=Gavin |last2=Shah |first2=Athar |title=Introducing HEIF and HEVC |url=https://devstreaming-cdn.apple.com/videos/wwdc/2017/503i6plfvfi7o3222/503/503_introducing_heif_and_hevc.pdf |publisher=[[Company:Apple Inc.|Apple Inc.]] |year=2017 |access-date=August 5, 2019}}</ref> HEVC is heavily patented, mostly by [[Company:Samsung Electronics|Samsung Electronics]], GE, [[Company:Nippon Telegraph and Telephone|NTT]], and [[Company:JVCKenwood|JVCKenwood]].<ref name="hevc-patents"/>  It is challenged by the [[Software:AV1|AV1]] format, intended for free license. {{As of|2019}}, AVC is by far the most commonly used format for the recording, compression, and distribution of video content, used by 91% of video developers, followed by HEVC, which is used by 43% of developers.<ref name="Bitmovin"/>


==List of video coding standards==
==List of video coding standards==
Line 57: Line 58:
! Popular implementations
! Popular implementations
|- style="text-align:center;"
|- style="text-align:center;"
| [[Engineering:Differential pulse-code modulation|DPCM]]
| DPCM
| [[H.120]]
| [[H.120]]
| 1984 ||CCITT
| 1984 ||CCITT
Line 69: Line 70:
| 1988 || CCITT
| 1988 || CCITT
| VCEG
| VCEG
| [[Company:Hitachi|Hitachi]], PictureTel, [[Company:Nippon Telegraph and Telephone|NTT]], BT, [[Company:Toshiba|Toshiba]], [[H.261#Patent holders|etc.]]<ref name="h261-patents">{{cite web |title=ITU-T Recommendation declared patent(s) |url=https://www.itu.int/ITU-T/recommendations/related_ps.aspx?id_prod=1088 |website=ITU |access-date=July 12, 2019}}</ref>
| [[Company:Hitachi|Hitachi]], [[Company:PictureTel|PictureTel]], [[Company:Nippon Telegraph and Telephone|NTT]], [[Company:BT Group|BT]], [[Company:Toshiba|Toshiba]], [[H.261#Patent holders|etc.]]<ref name="h261-patents">{{cite web |title=ITU-T Recommendation declared patent(s) |url=https://www.itu.int/ITU-T/recommendations/related_ps.aspx?id_prod=1088 |website=ITU |access-date=July 12, 2019}}</ref>
| {{n/a}}
| {{n/a}}
| Videoconferencing, [[Videotelephony|videotelephony]]
| Videoconferencing, [[Videotelephony|videotelephony]]
Line 77: Line 78:
| [[Joint Photographic Experts Group|JPEG]]
| [[Joint Photographic Experts Group|JPEG]]
| [[Joint Photographic Experts Group|JPEG]]
| [[Joint Photographic Experts Group|JPEG]]
| ISO / Open Source does NOT mean free!  <ref>{{cite web |last1=ISO |title=Home |url=https://www.iso.org/home.html |website=International Standards Organization |publisher=ISO |access-date=August 3, 2022}}</ref>  
| ISO / [[Open source|Open Source does NOT mean free!]]   <ref>{{cite web |last1=ISO |title=Home |url=https://www.iso.org/home.html |website=International Standards Organization |publisher=ISO |access-date=August 3, 2022}}</ref>  
| {{n/a}}
| {{n/a}}
| [[Software:QuickTime|QuickTime]]
| [[Software:QuickTime|QuickTime]]
|- style="text-align:center;"
|- style="text-align:center;"
| MPEG-1 Part 2
| MPEG-1 Part 2
| 1993||[[Organization:International Organization for Standardization|ISO]], [[Organization:International Electrotechnical Commission|IEC]]
| 1993||ISO, IEC
| MPEG
| MPEG
| [[Company:Fujitsu|Fujitsu]], [[Company:IBM|IBM]], Matsushita, [[MPEG-1#Patent holders|etc.]]<ref>{{cite web |title=ISO Standards and Patents |url=https://www.iso.org/iso-standards-and-patents.html |website=ISO |access-date=July 10, 2019}}</ref>
| [[Company:Fujitsu|Fujitsu]], [[Company:IBM|IBM]], Matsushita, [[MPEG-1#Patent holders|etc.]]<ref>{{cite web |title=ISO Standards and Patents |url=https://www.iso.org/iso-standards-and-patents.html |website=ISO |access-date=July 10, 2019}}</ref>
Line 91: Line 92:
| 1995|| ISO, IEC, ITU-T
| 1995|| ISO, IEC, ITU-T
| MPEG, VCEG
| MPEG, VCEG
| [[Company:Sony|Sony]], [[Company:Technicolor SA|Thomson]], [[Company:Mitsubishi Electric|Mitsubishi]], etc.<ref name="mp2-patents">{{cite web |title=MPEG-2 Patent List |url=https://www.mpegla.com/wp-content/uploads/m2-att1.pdf |website=[[Company:MPEG LA|MPEG LA]] |access-date=July 7, 2019}}</ref>
| [[Company:Sony|Sony]], [[Company:Technicolor SA|Thomson]], [[Company:Mitsubishi Electric|Mitsubishi]], etc.<ref name="mp2-patents">{{cite web |title=MPEG-2 Patent List |url=https://www.mpegla.com/wp-content/uploads/m2-att1.pdf |website=[[Company:MPEG LA|MPEG LA]] |access-date=July 7, 2019 |archive-date=May 29, 2019 |archive-url=https://web.archive.org/web/20190529164140/https://www.mpegla.com/wp-content/uploads/m2-att1.pdf |url-status=dead }}</ref>
| 29%
| 29%
| [[Engineering:DVD|DVD Video]], [[Engineering:Blu-ray|Blu-ray]], [[DVB]], ATSC, SVCD, SDTV
| [[Engineering:DVD|DVD Video]], [[Engineering:Blu-ray|Blu-ray]], [[DVB]], ATSC, SVCD, SDTV
Line 98: Line 99:
| 1995
| 1995
| IEC
| IEC
| [[Organization:International Electrotechnical Commission|IEC]]
| IEC
| Sony, [[Company:Panasonic|Panasonic]]
| Sony, [[Company:Panasonic|Panasonic]]
| {{unk}}
| {{unk}}
Line 106: Line 107:
| 1996|| ITU-T
| 1996|| ITU-T
| VCEG
| VCEG
| Mitsubishi, [[Company:Hitachi|Hitachi]], Panasonic, [[MPEG-4 Part 2#Patent holders|etc.]]<ref name="mp4-patents">{{cite web |title=MPEG-4 Visual - Patent List |url=https://www.mpegla.com/wp-content/uploads/m4v-att1.pdf |website=[[Company:MPEG LA|MPEG LA]] |access-date=July 6, 2019}}</ref>
| Mitsubishi, [[Company:Hitachi|Hitachi]], Panasonic, [[MPEG-4 Part 2#Patent holders|etc.]]<ref name="mp4-patents">{{cite web |title=MPEG-4 Visual - Patent List |url=https://www.mpegla.com/wp-content/uploads/m4v-att1.pdf |website=[[Company:MPEG LA|MPEG LA]] |access-date=July 6, 2019 |archive-date=July 6, 2019 |archive-url=https://web.archive.org/web/20190706184814/https://www.mpegla.com/wp-content/uploads/m4v-att1.pdf |url-status=dead }}</ref>
| {{unk}}
| {{unk}}
| Videoconferencing, videotelephony, H.320, [[Integrated Services Digital Network]] (ISDN),<ref>{{cite news |last1=Davis |first1=Andrew |title=The H.320 Recommendation Overview |url=https://www.eetimes.com/document.asp?doc_id=1275886 |access-date=November 7, 2019 |work=EE Times |date=June 13, 1997}}</ref><ref>{{cite book |title=IEEE WESCANEX 97: communications, power, and computing : conference proceedings |date=May 22–23, 1997 |publisher=[[Organization:Institute of Electrical and Electronics Engineers|Institute of Electrical and Electronics Engineers]] |location=University of Manitoba, Winnipeg, Manitoba, Canada |isbn=9780780341470 |page=30 |url=https://books.google.com/books?id=8vhEAQAAIAAJ |quote=H.263 is similar to, but more complex than H.261. It is currently the most widely used international video compression standard for video telephony on ISDN (Integrated Services Digital Network) telephone lines.}}</ref> mobile video (3GP), MPEG-4 Visual
| Videoconferencing, videotelephony, H.320, [[Engineering:ISDN|ISDN]],<ref>{{cite news |last1=Davis |first1=Andrew |title=The H.320 Recommendation Overview |url=https://www.eetimes.com/document.asp?doc_id=1275886 |access-date=November 7, 2019 |work=EE Times |date=June 13, 1997}}</ref><ref>{{cite book |doi=10.1109/WESCAN.1997.627108 |chapter=H.263 based facial image compression for low bitrate communications |title=IEEE WESCANEX 97 Communications, Power and Computing. Conference Proceedings |date=1997 |last1=Li Ding |last2=Takaya |first2=K. |pages=30–34 |isbn=0-7803-4147-3 |quote-page=30 |quote=H.263 is similar to, but more complex than H.261. It is currently the most widely used international video compression standard for video telephony on ISDN (Integrated Services Digital Network) telephone lines. }}</ref> mobile video (3GP), MPEG-4 Visual
|- style="text-align:center;"
|- style="text-align:center;"
| [[MPEG-4 Part 2]] (MPEG-4 Visual)
| [[MPEG-4 Part 2]] (MPEG-4 Visual)
Line 122: Line 123:
| {{n/a}}
| {{n/a}}
| {{unk}}
| {{unk}}
| [[Engineering:Digital cinema|Digital cinema]]<ref>{{cite book |last1=Swartz |first1=Charles S. |title=Understanding Digital Cinema: A Professional Handbook |date=2005 |publisher=Taylor & Francis |isbn=9780240806174 |page=147 |url=https://books.google.com/books?id=tYw3ehoBnjkC&pg=PA147}}</ref>
| [[Engineering:Digital cinema|Digital cinema]]<ref>{{cite book |last1=Swartz |first1=Charles S. |title=Understanding Digital Cinema: A Professional Handbook |date=2005 |publisher=[[Company:Taylor & Francis|Taylor & Francis]] |isbn=9780240806174 |page=147 |url=https://books.google.com/books?id=tYw3ehoBnjkC&pg=PA147}}</ref>
|- style="text-align:center;"
|- style="text-align:center;"
| rowspan="7" |DCT||[[Advanced Video Coding]] (H.264 / [[MPEG-4]] AVC)
| rowspan="7" |DCT||[[Advanced Video Coding]] (H.264 / [[MPEG-4]] AVC)
| 2003|| ISO, IEC, ITU-T
| 2003|| ISO, IEC, ITU-T
| MPEG, VCEG
| MPEG, VCEG
| Panasonic, Godo Kaisha IP Bridge, [[Company:LG Electronics|LG]], etc.<ref name="avc-patents">{{cite web |title=AVC/H.264 {{ndash}} Patent List |url=https://www.mpegla.com/wp-content/uploads/avc-att1.pdf |website=MPEG LA |access-date=July 6, 2019}}</ref>
| Panasonic, Godo Kaisha IP Bridge, [[Company:LG Electronics|LG]], etc.<ref name="avc-patents">{{cite web |title=AVC/H.264 {{ndash}} Patent List |url=https://www.mpegla.com/wp-content/uploads/avc-att1.pdf |website=MPEG LA |access-date=July 6, 2019 |archive-date=January 25, 2023 |archive-url=https://web.archive.org/web/20230125102953/https://www.mpegla.com/wp-content/uploads/avc-att1.pdf |url-status=dead }}</ref>
| 91%
| 91%
| [[Engineering:Blu-ray|Blu-ray]], [[HD DVD]], [[Engineering:HDTV|HDTV]] ([[Digital Video Broadcasting|DVB]], ATSC), video streaming ([[Company:YouTube|YouTube]], [[Company:Netflix|Netflix]], [[Company:Vimeo|Vimeo]]), [[ITunes Store|iTunes Store]], iPod Video, [[Engineering:Apple TV|Apple TV]], videoconferencing, Flash Player, Silverlight, [[Engineering:Video on demand|VOD]]
| [[Engineering:Blu-ray|Blu-ray]], [[HD DVD]], [[Engineering:HDTV|HDTV]] ([[DVB]], ATSC), video streaming ([[Company:YouTube|YouTube]], [[Company:Netflix|Netflix]], [[Company:Vimeo|Vimeo]]), [[ITunes Store|iTunes Store]], iPod Video, Apple TV, videoconferencing, Flash Player, Silverlight, VOD
|- style="text-align:center;"
|- style="text-align:center;"
| [[Software:Theora|Theora]]
| [[Software:Theora|Theora]]
| 2004
| 2004
| [[Organization:Xiph.Org Foundation|Xiph]]
| Xiph
| [[Organization:Xiph.Org Foundation|Xiph]]
| Xiph
| {{n/a}}
| {{n/a}}
| {{unk}}
| {{unk}}
Line 143: Line 144:
| SMPTE
| SMPTE
| SMPTE
| SMPTE
| [[Company:Microsoft|Microsoft]], Panasonic, LG, [[Company:Samsung Electronics|Samsung]], [[VC-1#Patent holders|etc.]]<ref>{{cite web |title=VC-1 Patent List |url=https://www.mpegla.com/wp-content/uploads/vc-1-att1.pdf |website=[[Company:MPEG LA|MPEG LA]] |access-date=July 11, 2019}}</ref>
| [[Company:Microsoft|Microsoft]], Panasonic, LG, [[Company:Samsung Electronics|Samsung]], [[VC-1#Patent holders|etc.]]<ref>{{cite web |title=VC-1 Patent List |url=https://www.mpegla.com/wp-content/uploads/vc-1-att1.pdf |website=[[Company:MPEG LA|MPEG LA]] |access-date=July 11, 2019 |archive-date=July 6, 2019 |archive-url=https://web.archive.org/web/20190706203225/https://www.mpegla.com/wp-content/uploads/hevc-att1.pdf |url-status=dead }}</ref>
| {{unk}}
| {{unk}}
| Blu-ray, Internet video
| Blu-ray, Internet video
Line 159: Line 160:
| ISO, IEC, ITU-T
| ISO, IEC, ITU-T
| MPEG, VCEG
| MPEG, VCEG
|  Samsung, [[Company:General Electric|GE]], [[Company:Nippon Telegraph and Telephone|NTT]], [[Company:JVCKenwood|JVCKenwood]], [[High Efficiency Video Coding#Patent holders|etc.]]<ref name="hevc-patents">{{cite web |title=HEVC Patent List |url=https://www.mpegla.com/wp-content/uploads/hevc-att1.pdf |website=[[Company:MPEG LA|MPEG LA]] |access-date=July 6, 2019}}</ref><ref name="hevcadvance">{{cite web|url=https://www.hevcadvance.com/licensors/|title=HEVC Advance Patent List|website=HEVC Advance|access-date=July 6, 2019|archive-date=August 24, 2020|archive-url=https://web.archive.org/web/20200824174620/https://www.hevcadvance.com/licensors/|url-status=dead}}</ref>
|  Samsung, GE, [[Company:Nippon Telegraph and Telephone|NTT]], [[Company:JVCKenwood|JVCKenwood]], [[High Efficiency Video Coding#Patent holders|etc.]]<ref name="hevc-patents">{{cite web |title=HEVC Patent List |url=https://www.mpegla.com/wp-content/uploads/hevc-att1.pdf |website=[[Company:MPEG LA|MPEG LA]] |access-date=July 6, 2019 |archive-date=April 10, 2021 |archive-url=https://web.archive.org/web/20210410171930/https://www.mpegla.com/wp-content/uploads/hevc-att1.pdf |url-status=dead }}</ref><ref name="hevcadvance">{{cite web|url=https://www.hevcadvance.com/licensors/|title=HEVC Advance Patent List|website=HEVC Advance|access-date=July 6, 2019|archive-date=August 24, 2020|archive-url=https://web.archive.org/web/20200824174620/https://www.hevcadvance.com/licensors/|url-status=dead}}</ref>
| 43%
| 43%
|[[Engineering:Ultra HD Blu-ray|UHD Blu-ray]], DVB, [[Engineering:ATSC 3.0|ATSC 3.0]], UHD streaming, [[High Efficiency Image File Format]], [[Software:MacOS High Sierra|macOS High Sierra]], [[Software:IOS 11|iOS 11]]
|UHD Blu-ray, DVB, [[Engineering:ATSC 3.0|ATSC 3.0]], [[Engineering:Ultra-high-definition television|UHD]] streaming, HEIF, [[Software:MacOS High Sierra|macOS High Sierra]], [[Software:IOS 11|iOS 11]]
|- style="text-align:center;"
|- style="text-align:center;"
| [[Software:AV1|AV1]]
| [[Software:AV1|AV1]]
Line 169: Line 170:
| {{n/a}}
| {{n/a}}
| 7%
| 7%
| [[HTML5 video]]
| [[HTML video]]
|- style="text-align:center;"
|- style="text-align:center;"
| [[Versatile Video Coding]] (VVC / H.266)
| [[Versatile Video Coding]] (VVC / H.266)
Line 181: Line 182:


==Lossless, lossy, and uncompressed==
==Lossless, lossy, and uncompressed==
Consumer video is generally compressed using [[Lossy compression|lossy]] [[Video codec|video codec]]s, since that results in significantly smaller files than [[Lossless compression|lossless]] compression. Some video coding formats designed explicitly for either lossy or lossless compression, and some video coding formats such as [[Software:Dirac (video compression format)|Dirac]] and H.264 support both.<ref>{{Cite journal|title=RFC 8761 - Video Codec Requirements and Evaluation Methodology|url=https://datatracker.ietf.org/doc/html/rfc8761|access-date=February 10, 2022|website=datatracker.ietf.org|date=April 2020 |language=en |last1=Filippov |first1=Alexey |last2=Norkin |first2=Aney |last3=Alvarez |first3=José Roberto }}</ref>
Consumer video is generally compressed using lossy [[Video codec|video codec]]s, since that results in significantly smaller files than lossless compression. Some video coding formats are designed explicitly for either lossy or lossless compression, and some video coding formats such as [[Software:Dirac (video compression format)|Dirac]] and H.264 support both.<ref>{{Cite journal|title=RFC 8761 - Video Codec Requirements and Evaluation Methodology|url=https://datatracker.ietf.org/doc/html/rfc8761|access-date=February 10, 2022|website=datatracker.ietf.org|date=April 2020 |language=en |last1=Filippov |first1=Alexey |last2=Norkin |first2=Aney |last3=Alvarez |first3=José Roberto }}</ref>


[[Uncompressed video]] formats, such as ''Clean HDMI'', is a form of lossless video used in some circumstances such as when sending video to a display over a [[Engineering:HDMI|HDMI]] connection. Some high-end cameras can also capture video directly in this format.
[[Uncompressed video]] formats, such as ''Clean HDMI'', is a form of lossless video used in some circumstances, such as when sending video to a display over an [[Engineering:HDMI|HDMI]] connection. Some high-end cameras can also capture video directly in this format.{{Example needed|s|date=December 2024}}


==Intra-frame==
==Intra-frame==
Interframe compression complicates editing of an encoded video sequence.<ref name="Bhojani">{{cite web|last=Bhojani|first=D.R.|title=4.1 Video Compression|url=http://shodh.inflibnet.ac.in/bitstream/123456789/821/5/05_hypothesis.pdf|work=Hypothesis|access-date=March 6, 2013}}</ref>
Interframe compression complicates editing of an encoded video sequence.<ref name="Bhojani">{{cite web|last=Bhojani|first=D.R.|title=4.1 Video Compression|url=http://shodh.inflibnet.ac.in/bitstream/123456789/821/5/05_hypothesis.pdf|work=Hypothesis|access-date=March 6, 2013|archive-date=May 10, 2013|archive-url=https://web.archive.org/web/20130510133020/http://shodh.inflibnet.ac.in/bitstream/123456789/821/5/05_hypothesis.pdf|url-status=dead}}</ref>
One subclass of relatively simple video coding formats are the intra-frame video formats, such as [[Engineering:DV (video format)|DV]], in which each frame of the video stream is compressed independently without referring to other frames in the stream, and no attempt is made to take advantage of correlations between successive pictures over time for better compression. One example is [[Motion JPEG]], which is simply a sequence of individually [[JPEG]]-compressed images. This approach is quick and simple, at the expense of the encoded video being much larger than a video coding format supporting [[Engineering:Inter frame|Inter frame]] coding.
One subclass of relatively simple video coding formats are the intra-frame video formats, such as [[Engineering:DV (video format)|DV]], in which each frame of the video stream is compressed independently without referring to other frames in the stream, and no attempt is made to take advantage of correlations between successive pictures over time for better compression. One example is [[Motion JPEG]], which is simply a sequence of individually [[JPEG]]-compressed images. This approach is quick and simple, at the expense of the encoded video being much larger than a video coding format supporting [[Engineering:Inter frame|Inter frame]] coding.


Because interframe compression copies data from one frame to another, if the original frame is simply cut out (or lost in transmission), the following frames cannot be reconstructed properly. Making 'cuts' in intraframe-compressed video while [[Engineering:Video editing|video editing]] is almost as easy as editing uncompressed video: one finds the beginning and ending of each frame, and simply copies bit-for-bit each frame that one wants to keep, and discards the frames one does not want. Another difference between intraframe and interframe compression is that, with intraframe systems, each frame uses a similar amount of data. In most interframe systems, certain frames (such as "[[Video compression picture types|I frames]]" in [[MPEG-2]]) are not allowed to copy data from other frames, so they require much more data than other frames nearby.<ref name="Jaiswal">{{cite book|last=Jaiswal|first=R.C.|title=Audio-Video Engineering|year=2009|publisher=Nirali Prakashan|location=Pune, Maharashtra|isbn=9788190639675|page=3.55}}</ref>
Because interframe compression copies data from one frame to another, if the original frame is simply cut out (or lost in transmission), the following frames cannot be reconstructed properly. Making cuts in intraframe-compressed video while [[Engineering:Video editing|video editing]] is almost as easy as editing uncompressed video: one finds the beginning and ending of each frame, and simply copies bit-for-bit each frame that one wants to keep, and discards the frames one does not want. Another difference between intraframe and interframe compression is that, with intraframe systems, each frame uses a similar amount of data. In most interframe systems, certain frames (such as I-frames in [[MPEG-2]]) are not allowed to copy data from other frames, so they require much more data than other frames nearby.<ref name="Jaiswal">{{cite book|last=Jaiswal|first=R.C.|title=Audio-Video Engineering|year=2009|publisher=Nirali Prakashan|location=Pune, Maharashtra|isbn=9788190639675|page=3.55}}</ref>


It is possible to build a computer-based video editor that spots problems caused when I frames are edited out while other frames need them. This has allowed newer formats like [[Engineering:HDV|HDV]] to be used for editing. However, this process demands a lot more computing power than editing intraframe compressed video with the same picture quality. But, this compression is not very effective to use for any audio format.<ref>{{Cite web|title=WebCodecs|url=https://www.w3.org/TR/webcodecs/Overview.html|access-date=February 10, 2022|website=www.w3.org}}</ref>
It is possible to build a computer-based video editor that spots problems caused when I frames are edited out while other frames need them. This has allowed newer formats like [[Engineering:HDV|HDV]] to be used for editing. However, this process demands a lot more computing power than editing intraframe compressed video with the same picture quality. But, this compression is not very effective to use for any audio format.<ref>{{Cite web|title=WebCodecs|url=https://www.w3.org/TR/webcodecs/Overview.html|access-date=February 10, 2022|website=www.w3.org}}</ref>


==Profiles and levels==
==Profiles and levels==
A video coding format can define optional restrictions to encoded video, called [[Engineering:Profile (engineering)|profile]]s and levels. It is possible to have a decoder which only supports decoding a subset of profiles and levels of a given video format, for example to make the decoder program/hardware smaller, simpler, or faster.<ref>{{Cite web|title=Video Rendering - an overview {{!}} ScienceDirect Topics|url=https://www.sciencedirect.com/topics/computer-science/video-rendering|access-date=February 10, 2022|website=www.sciencedirect.com}}</ref>
A video coding format can define optional restrictions to encoded video, called [[Engineering:Profile (engineering)|profile]]s and levels. It is possible to have a decoder that only supports decoding a subset of profiles and levels of a given video format, for example, to make the decoder program/hardware smaller, simpler, or faster.{{fact|date=January 2025}}


A ''profile'' restricts which encoding techniques are allowed. For example, the H.264 format includes the profiles ''baseline'', ''main'' and ''high'' (and others). While [[Video compression picture types|P-slices]] (which can be predicted based on preceding slices) are supported in all profiles, [[Video compression picture types|B-slices]] (which can be predicted based on both preceding and following slices) are supported in the ''main'' and ''high'' profiles but not in ''baseline''.<ref name="adobe"/>
A ''profile'' restricts which encoding techniques are allowed. For example, the H.264 format includes the profiles ''baseline'', ''main'' and ''high'' (and others). While [[Video compression picture types|P-slices]] (which can be predicted based on preceding slices) are supported in all profiles, [[Video compression picture types|B-slices]] (which can be predicted based on both preceding and following slices) are supported in the ''main'' and ''high'' profiles but not in ''baseline''.<ref name="adobe"/>
Line 212: Line 213:
==References==
==References==
{{Reflist}}
{{Reflist}}
{{Compression formats}}


[[Category:Video codecs| ]]
[[Category:Video codecs| ]]

Latest revision as of 21:53, 15 February 2026

Short description: Format for digital video content

A video coding format[lower-alpha 1] (or sometimes video compression format) is an encoded format of digital video content, such as in a data file or bitstream. It typically uses a standardized video compression algorithm, most commonly based on discrete cosine transform (DCT) coding and motion compensation. A computer software or hardware component that compresses or decompresses a specific video coding format is a video codec.

Some video coding formats are documented by a detailed technical specification document known as a video coding specification. Some such specifications are written and approved by standardization organizations as technical standards, and are thus known as a video coding standard. There are de facto standards and formal standards.

Video content encoded using a particular video coding format is normally bundled with an audio stream (encoded using an audio coding format) inside a multimedia container format such as AVI, MP4, FLV, RealMedia, or Matroska. As such, the user normally does not have a H.264 file, but instead has a video file, which is an MP4 container of H.264-encoded video, normally alongside AAC-encoded audio. Multimedia container formats can contain one of several different video coding formats; for example, the MP4 container format can contain video coding formats such as MPEG-2 Part 2 or H.264. Another example is the initial specification for the file type WebM, which specifies the container format (Matroska), but also exactly which video (VP8) and audio (Vorbis) compression format is inside the Matroska container, even though Matroska is capable of containing VP9 video, and Opus audio support was later added to the WebM specification.

Distinction between format and codec

A format is the layout plan for data produced or consumed by a codec.

Although video coding formats such as H.264 are sometimes referred to as codecs, there is a clear conceptual difference between a specification and its implementations. Video coding formats are described in specifications, and software, firmware, or hardware to encode/decode data in a given video coding format from/to uncompressed video are implementations of those specifications. As an analogy, the video coding format H.264 (specification) is to the codec OpenH264 (specific implementation) what the C Programming Language (specification) is to the compiler GCC (specific implementation). Note that for each specification (e.g., H.264), there can be many codecs implementing that specification (e.g., x264, OpenH264, H.264/MPEG-4 AVC products and implementations).

This distinction is not consistently reflected terminologically in the literature. The H.264 specification calls H.261, H.262, H.263, and H.264 video coding standards and does not contain the word codec.[2] The Alliance for Open Media clearly distinguishes between the AV1 video coding format and the accompanying codec they are developing, but calls the video coding format itself a video codec specification.[3] The VP9 specification calls the video coding format VP9 itself a codec.[4]

As an example of conflation, Chromium's[5] and Mozilla's[6] pages listing their video formats support both call video coding formats, such as H.264 codecs. As another example, in Cisco's announcement of a free-as-in-beer video codec, the press release refers to the H.264 video coding format as a codec ("choice of a common video codec"), but calls Cisco's implementation of a H.264 encoder/decoder a codec shortly thereafter ("open-source our H.264 codec").[7]

A video coding format does not dictate all algorithms used by a codec implementing the format. For example, a large part of how video compression typically works is by finding similarities between video frames (block-matching) and then achieving compression by copying previously-coded similar subimages (such as macroblocks) and adding small differences when necessary. Finding optimal combinations of such predictors and differences is an NP-hard problem,[8] meaning that it is practically impossible to find an optimal solution. Though the video coding format must support such compression across frames in the bitstream format, by not needlessly mandating specific algorithms for finding such block-matches and other encoding steps, the codecs implementing the video coding specification have some freedom to optimize and innovate in their choice of algorithms. For example, section 0.5 of the H.264 specification says that encoding algorithms are not part of the specification.[2] Free choice of algorithm also allows different space–time complexity trade-offs for the same video coding format, so a live feed can use a fast but space-inefficient algorithm, and a one-time DVD encoding for later mass production can trade long encoding-time for space-efficient encoding.

History

The concept of analog video compression dates back to 1929, when R.D. Kell in Britain proposed the concept of transmitting only the portions of the scene that changed from frame-to-frame. The concept of digital video compression dates back to 1952, when Bell Labs researchers B.M. Oliver and C.W. Harrison proposed the use of differential pulse-code modulation (DPCM) in video coding. In 1959, the concept of inter-frame motion compensation was proposed by NHK researchers Y. Taki, M. Hatori and S. Tanaka, who proposed predictive inter-frame video coding in the temporal dimension.[9] In 1967, University of London researchers A.H. Robinson and C. Cherry proposed run-length encoding (RLE), a lossless compression scheme, to reduce the transmission bandwidth of analog television signals.[10]

The earliest digital video coding algorithms were either for uncompressed video or used lossless compression, both methods inefficient and impractical for digital video coding.[11][12] Digital video was introduced in the 1970s,[11] initially using uncompressed pulse-code modulation (PCM), requiring high bitrates around 45–200 Mbit/s for standard-definition (SD) video,[11][12] which was up to 2,000 times greater than the telecommunication bandwidth (up to 100 kbit/s) available until the 1990s.[12] Similarly, uncompressed high-definition (HD) 1080p video requires bitrates exceeding 1 Gbit/s, significantly greater than the bandwidth available in the 2000s.[13]

Motion-compensated DCT

Practical video compression emerged with the development of motion-compensated DCT (MC DCT) coding,[12][11] also called block motion compensation (BMC)[9] or DCT motion compensation. This is a hybrid coding algorithm,[9] which combines two key data compression techniques: discrete cosine transform (DCT) coding[12][11] in the spatial dimension, and predictive motion compensation in the temporal dimension.[9]

DCT coding is a lossy block compression transform coding technique that was first proposed by Nasir Ahmed, who initially intended it for image compression, while he was working at Kansas State University in 1972. It was then developed into a practical image compression algorithm by Ahmed with T. Natarajan and K. R. Rao at the University of Texas in 1973, and was published in 1974.[14][15][16]

The other key development was motion-compensated hybrid coding.[9] In 1974, Ali Habibi at the University of Southern California introduced hybrid coding,[17][18][19] which combines predictive coding with transform coding.[9][20] He examined several transform coding techniques, including the DCT, Hadamard transform, Fourier transform, slant transform, and Karhunen-Loeve transform.[17] However, his algorithm was initially limited to intra-frame coding in the spatial dimension. In 1975, John A. Roese and Guner S. Robinson extended Habibi's hybrid coding algorithm to the temporal dimension, using transform coding in the spatial dimension and predictive coding in the temporal dimension, developing inter-frame motion-compensated hybrid coding.[9][21] For the spatial transform coding, they experimented with different transforms, including the DCT and the fast Fourier transform (FFT), developing inter-frame hybrid coders for them, and found that the DCT is the most efficient due to its reduced complexity, capable of compressing image data down to 0.25-bit per pixel for a videotelephone scene with image quality comparable to a typical intra-frame coder requiring 2-bit per pixel.[22][21]

The DCT was applied to video encoding by Wen-Hsiung Chen,[23] who developed a fast DCT algorithm with C.H. Smith and S.C. Fralick in 1977,[24][25] and founded Compression Labs to commercialize DCT technology.[23] In 1979, Anil K. Jain and Jaswant R. Jain further developed motion-compensated DCT video compression.[26][9] This led to Chen developing a practical video compression algorithm, called motion-compensated DCT or adaptive scene coding, in 1981.[9] Motion-compensated DCT later became the standard coding technique for video compression from the late 1980s onwards.[11][27]

Video coding standards

The first digital video coding standard was H.120, developed by the CCITT (now ITU-T) in 1984.[28] H.120 was not usable in practice, as its performance was too poor.[28] H.120 used motion-compensated DPCM coding,[9] a lossless compression algorithm that was inefficient for video coding.[11] During the late 1980s, a number of companies began experimenting with discrete cosine transform (DCT) coding, a much more efficient form of compression for video coding. The CCITT received 14 proposals for DCT-based video compression formats, in contrast to a single proposal based on vector quantization (VQ) compression. The H.261 standard was developed based on motion-compensated DCT compression.[11][27] H.261 was the first practical video coding standard,[28] and uses patents licensed from a number of companies, including Hitachi, PictureTel, NTT, BT, and Toshiba, among others.[29] Since H.261, motion-compensated DCT compression has been adopted by all the major video coding standards (including the H.26x and MPEG formats) that followed.[11][27]

MPEG-1, developed by the Moving Picture Experts Group (MPEG), followed in 1991, and it was designed to compress VHS-quality video.[28] It was succeeded in 1994 by MPEG-2/H.262,[28] which was developed with patents licensed from a number of companies, primarily Sony, Thomson and Mitsubishi Electric.[30] MPEG-2 became the standard video format for DVD and SD digital television.[28] Its motion-compensated DCT algorithm was able to achieve a compression ratio of up to 100:1, enabling the development of digital media technologies such as video on demand (VOD)[12] and high-definition television (HDTV).[31] In 1999, it was followed by MPEG-4/H.263, which was a major leap forward for video compression technology.[28] It uses patents licensed from a number of companies, primarily Mitsubishi, Hitachi and Panasonic.[32]

The most widely used video coding format as of 2019 is H.264/MPEG-4 AVC.[33] It was developed in 2003, and uses patents licensed from a number of organizations, primarily Panasonic, Godo Kaisha IP Bridge and LG Electronics.[34] In contrast to the standard DCT used by its predecessors, AVC uses the integer DCT.[23][35] H.264 is one of the video encoding standards for Blu-ray Discs; all Blu-ray Disc players must be able to decode H.264. It is also widely used by streaming internet sources, such as videos from YouTube, Netflix, Vimeo, and the iTunes Store, web software such as the Adobe Flash Player and Microsoft Silverlight, and also various HDTV broadcasts over terrestrial (ATSC standards, ISDB-T, DVB-T or DVB-T2), cable (DVB-C), and satellite (DVB-S2).[36]

A main problem for many video coding formats has been patents, making it expensive to use or potentially risking a patent lawsuit due to submarine patents. The motivation behind many recently designed video coding formats such as Theora, VP8, and VP9 have been to create a (libre) video coding standard covered only by royalty-free patents.[37] Patent status has also been a major point of contention for the choice of which video formats the mainstream web browsers will support inside the HTML video tag.

The current-generation video coding format is HEVC (H.265), introduced in 2013. AVC uses the integer DCT with 4x4 and 8x8 block sizes, and HEVC uses integer DCT and DST transforms with varied block sizes between 4x4 and 32x32.[38] HEVC is heavily patented, mostly by Samsung Electronics, GE, NTT, and JVCKenwood.[39] It is challenged by the AV1 format, intended for free license. As of 2019, AVC is by far the most commonly used format for the recording, compression, and distribution of video content, used by 91% of video developers, followed by HEVC, which is used by 43% of developers.[33]

List of video coding standards

Timeline of international video compression standards
Basic algorithm Video coding standard Year Publishers Committees Licensors Market presence (2019)[33] Popular implementations
DPCM H.120 1984 CCITT VCEG N/A N/A Unknown
DCT H.261 1988 CCITT VCEG Hitachi, PictureTel, NTT, BT, Toshiba, etc.[29] N/A Videoconferencing, videotelephony
Motion JPEG (MJPEG) 1992 JPEG JPEG ISO / Open Source does NOT mean free! [40] N/A QuickTime
MPEG-1 Part 2 1993 ISO, IEC MPEG Fujitsu, IBM, Matsushita, etc.[41] N/A Video CD, Internet video
H.262 / MPEG-2 Part 2 (MPEG-2 Video) 1995 ISO, IEC, ITU-T MPEG, VCEG Sony, Thomson, Mitsubishi, etc.[30] 29% DVD Video, Blu-ray, DVB, ATSC, SVCD, SDTV
DV 1995 IEC IEC Sony, Panasonic Unknown Camcorders, digital cassettes
H.263 1996 ITU-T VCEG Mitsubishi, Hitachi, Panasonic, etc.[32] Unknown Videoconferencing, videotelephony, H.320, ISDN,[42][43] mobile video (3GP), MPEG-4 Visual
MPEG-4 Part 2 (MPEG-4 Visual) 1999 ISO, IEC MPEG Mitsubishi, Hitachi, Panasonic, etc.[32] Unknown Internet video, DivX, Xvid
DWT Motion JPEG 2000 (MJ2) 2001 JPEG[44] JPEG[45] N/A Unknown Digital cinema[46]
DCT Advanced Video Coding (H.264 / MPEG-4 AVC) 2003 ISO, IEC, ITU-T MPEG, VCEG Panasonic, Godo Kaisha IP Bridge, LG, etc.[34] 91% Blu-ray, HD DVD, HDTV (DVB, ATSC), video streaming (YouTube, Netflix, Vimeo), iTunes Store, iPod Video, Apple TV, videoconferencing, Flash Player, Silverlight, VOD
Theora 2004 Xiph Xiph N/A Unknown Internet video, web browsers
VC-1 2006 SMPTE SMPTE Microsoft, Panasonic, LG, Samsung, etc.[47] Unknown Blu-ray, Internet video
Apple ProRes 2007 Apple Apple Apple Unknown Video production, post-production
High Efficiency Video Coding (H.265 / MPEG-H HEVC) 2013 ISO, IEC, ITU-T MPEG, VCEG Samsung, GE, NTT, JVCKenwood, etc.[39][48] 43% UHD Blu-ray, DVB, ATSC 3.0, UHD streaming, HEIF, macOS High Sierra, iOS 11
AV1 2018 AOMedia AOMedia N/A 7% HTML video
Versatile Video Coding (VVC / H.266) 2020 JVET JVET Unknown N/A N/A

Lossless, lossy, and uncompressed

Consumer video is generally compressed using lossy video codecs, since that results in significantly smaller files than lossless compression. Some video coding formats are designed explicitly for either lossy or lossless compression, and some video coding formats such as Dirac and H.264 support both.[49]

Uncompressed video formats, such as Clean HDMI, is a form of lossless video used in some circumstances, such as when sending video to a display over an HDMI connection. Some high-end cameras can also capture video directly in this format.[examples needed]

Intra-frame

Interframe compression complicates editing of an encoded video sequence.[50] One subclass of relatively simple video coding formats are the intra-frame video formats, such as DV, in which each frame of the video stream is compressed independently without referring to other frames in the stream, and no attempt is made to take advantage of correlations between successive pictures over time for better compression. One example is Motion JPEG, which is simply a sequence of individually JPEG-compressed images. This approach is quick and simple, at the expense of the encoded video being much larger than a video coding format supporting Inter frame coding.

Because interframe compression copies data from one frame to another, if the original frame is simply cut out (or lost in transmission), the following frames cannot be reconstructed properly. Making cuts in intraframe-compressed video while video editing is almost as easy as editing uncompressed video: one finds the beginning and ending of each frame, and simply copies bit-for-bit each frame that one wants to keep, and discards the frames one does not want. Another difference between intraframe and interframe compression is that, with intraframe systems, each frame uses a similar amount of data. In most interframe systems, certain frames (such as I-frames in MPEG-2) are not allowed to copy data from other frames, so they require much more data than other frames nearby.[51]

It is possible to build a computer-based video editor that spots problems caused when I frames are edited out while other frames need them. This has allowed newer formats like HDV to be used for editing. However, this process demands a lot more computing power than editing intraframe compressed video with the same picture quality. But, this compression is not very effective to use for any audio format.[52]

Profiles and levels

A video coding format can define optional restrictions to encoded video, called profiles and levels. It is possible to have a decoder that only supports decoding a subset of profiles and levels of a given video format, for example, to make the decoder program/hardware smaller, simpler, or faster.[citation needed]

A profile restricts which encoding techniques are allowed. For example, the H.264 format includes the profiles baseline, main and high (and others). While P-slices (which can be predicted based on preceding slices) are supported in all profiles, B-slices (which can be predicted based on both preceding and following slices) are supported in the main and high profiles but not in baseline.[53]

A level is a restriction on parameters such as maximum resolution and data rates.[53]

See also

Notes

References

  1. "Overview of the H.264 / AVC Video Coding Standard". IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY. July 2003. http://654lab.webstarts.com/uploads/csvt_overview.pdf. 
  2. 2.0 2.1 "SERIES H: AUDIOVISUAL AND MULTIMEDIA SYSTEMS : Infrastructure of audiovisual services – Coding of moving video : Advanced video coding for generic audiovisual services". Itu.int. http://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-H.264-200305-S!!PDF-E&type=items. 
  3. "Front Page". Alliance for Open Media. http://aomedia.org/. 
  4. "VP9 Bitstream & Decoding Process Specification". https://storage.googleapis.com/downloads.webmproject.org/docs/vp9/vp9-bitstream-specification-v0.6-20160331-draft.pdf. 
  5. "Audio/Video". The Chromium Projects. https://www.chromium.org/audio-video. 
  6. "Media formats supported by the HTML audio and video elements". Mozilla. https://developer.mozilla.org/en-US/docs/Web/HTML/Supported_media_formats. 
  7. Rowan Trollope (October 30, 2013). "Open-Sourced H.264 Removes Barriers to WebRTC". Cisco. https://blogs.cisco.com/collaboration/open-source-h-264-removes-barriers-webrtc. 
  8. "Chapter 3 : Modified A* Prune Algorithm for finding K-MCSP in video compression". Shodhganga.inflibnet.ac.in. http://shodhganga.inflibnet.ac.in/bitstream/10603/8175/8/08_chapter%203.pdf. 
  9. 9.00 9.01 9.02 9.03 9.04 9.05 9.06 9.07 9.08 9.09 "History of Video Compression". Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCEG (ISO/IEC JTC1/SC29/WG11 and ITU-T SG16 Q.6). July 2002. pp. 11, 24–9, 33, 40–1, 53–6. https://www.itu.int/wftp3/av-arch/jvt-site/2002_07_Klagenfurt/JVT-D068.doc. 
  10. "Results of a prototype television bandwidth compression scheme". Proceedings of the IEEE (IEEE) 55 (3): 356–364. 1967. doi:10.1109/PROC.1967.5493. 
  11. 11.0 11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 Ghanbari, Mohammed (2003). Standard Codecs: Image Compression to Advanced Video Coding. Institution of Engineering and Technology. pp. 1–2. ISBN 9780852967102. https://books.google.com/books?id=7XuU8T3ooOAC&pg=PA1. 
  12. 12.0 12.1 12.2 12.3 12.4 12.5 Lea, William (1994). Video on demand: Research Paper 94/68. House of Commons Library. https://researchbriefings.parliament.uk/ResearchBriefing/Summary/RP94-68. Retrieved September 20, 2019. 
  13. Lee, Jack (2005). Scalable Continuous Media Streaming Systems: Architecture, Design, Analysis and Implementation. John Wiley & Sons. p. 25. ISBN 9780470857649. https://books.google.com/books?id=7fuvu52cyNEC&pg=PA25. 
  14. Ahmed, Nasir (January 1991). "How I Came Up With the Discrete Cosine Transform". Digital Signal Processing 1 (1): 4–5. doi:10.1016/1051-2004(91)90086-Z. Bibcode1991DSP.....1....4A. https://www.scribd.com/doc/52879771/DCT-History-How-I-Came-Up-with-the-Discrete-Cosine-Transform. 
  15. Ahmed, Nasir; Natarajan, T.; Rao, K. R. (January 1974), "Discrete Cosine Transform", IEEE Transactions on Computers C-23 (1): 90–93, doi:10.1109/T-C.1974.223784 
  16. Rao, K. R.; Yip, P. (1990), Discrete Cosine Transform: Algorithms, Advantages, Applications, Boston: Academic Press, ISBN 978-0-12-580203-1 
  17. 17.0 17.1 Habibi, Ali (1974). "Hybrid Coding of Pictorial Data". IEEE Transactions on Communications 22 (5): 614–624. doi:10.1109/TCOM.1974.1092258. 
  18. Chen, Z.; He, T.; Jin, X.; Wu, F. (2019). "Learning for Video Compression". IEEE Transactions on Circuits and Systems for Video Technology 30 (2): 566–576. doi:10.1109/TCSVT.2019.2892608. Bibcode2020ITCSV..30..566C. 
  19. Pratt, William K. (1984). Advances in Electronics and Electron Physics: Supplement. Academic Press. p. 158. ISBN 9780120145720. https://books.google.com/books?id=OX00AAAAIAAJ. "A significant advance in image coding methodology occurred with the introduction of the concept of hybrid transform/DPCM coding (Habibi, 1974)." 
  20. Ohm, Jens-Rainer (2015). Multimedia Signal Coding and Transmission. Springer. pp. 364. ISBN 9783662466919. https://books.google.com/books?id=e7xnBwAAQBAJ&pg=PA364. 
  21. 21.0 21.1 Roese, John A.; Robinson, Guner S. (October 30, 1975). "Combined Spatial And Temporal Coding Of Digital Image Sequences". Efficient Transmission of Pictorial Information (International Society for Optics and Photonics) 0066: 172–181. doi:10.1117/12.965361. Bibcode1975SPIE...66..172R. 
  22. Huang, T. S. (1981). Image Sequence Analysis. Springer Science & Business Media. p. 29. ISBN 9783642870378. https://books.google.com/books?id=bAirCAAAQBAJ&pg=PA29. 
  23. 23.0 23.1 23.2 Stanković, Radomir S.; Astola, Jaakko T. (2012). "Reminiscences of the Early Work in DCT: Interview with K.R. Rao". Reprints from the Early Days of Information Sciences 60. http://ticsp.cs.tut.fi/reports/ticsp-report-60-reprint-rao-corrected.pdf. Retrieved October 13, 2019. 
  24. Chen, Wen-Hsiung; Smith, C. H.; Fralick, S. C. (September 1977). "A Fast Computational Algorithm for the Discrete Cosine Transform". IEEE Transactions on Communications 25 (9): 1004–1009. doi:10.1109/TCOM.1977.1093941. 
  25. "T.81 – Digital compression and coding of continuous-tone still images – Requirements and guidelines". CCITT. September 1992. https://www.w3.org/Graphics/JPEG/itu-t81.pdf. 
  26. Cianci, Philip J. (2014). High Definition Television: The Creation, Development and Implementation of HDTV Technology. McFarland. p. 63. ISBN 9780786487974. https://books.google.com/books?id=0mbsfr38GTgC&pg=PA63. 
  27. 27.0 27.1 27.2 Li, Jian Ping (2006). Proceedings of the International Computer Conference 2006 on Wavelet Active Media Technology and Information Processing: Chongqing, China, 29-31 August 2006. World Scientific. p. 847. ISBN 9789812709998. https://books.google.com/books?id=FZiK3zXdK7sC&pg=PA847. 
  28. 28.0 28.1 28.2 28.3 28.4 28.5 28.6 "The History of Video File Formats Infographic". April 22, 2012. http://www.real.com/resources/digital-video-file-formats/. 
  29. 29.0 29.1 "ITU-T Recommendation declared patent(s)". https://www.itu.int/ITU-T/recommendations/related_ps.aspx?id_prod=1088. 
  30. 30.0 30.1 "MPEG-2 Patent List". https://www.mpegla.com/wp-content/uploads/m2-att1.pdf. 
  31. Shishikui, Yoshiaki; Nakanishi, Hiroshi; Imaizumi, Hiroyuki (1994). "An HDTV Coding Scheme using Adaptive-Dimension DCT". Signal Processing of HDTV. pp. 611–618. doi:10.1016/B978-0-444-81844-7.50072-3. ISBN 978-0-444-81844-7. https://books.google.com/books?id=j9XSBQAAQBAJ&pg=PA611. 
  32. 32.0 32.1 32.2 "MPEG-4 Visual - Patent List". https://www.mpegla.com/wp-content/uploads/m4v-att1.pdf. 
  33. 33.0 33.1 33.2 "Video Developer Report 2019". 2019. https://cdn2.hubspot.net/hubfs/3411032/Bitmovin%20Magazine/Video%20Developer%20Report%202019/bitmovin-video-developer-report-2019.pdf. 
  34. 34.0 34.1 "AVC/H.264 – Patent List". https://www.mpegla.com/wp-content/uploads/avc-att1.pdf. 
  35. Wang, Hanli; Kwong, S.; Kok, C. (2006). "Efficient prediction algorithm of integer DCT coefficients for H.264/AVC optimization". IEEE Transactions on Circuits and Systems for Video Technology 16 (4): 547–552. doi:10.1109/TCSVT.2006.871390. Bibcode2006ITCSV..16..547W. 
  36. "Digital Video Broadcasting (DVB); Specification for the use of video and audio coding in DVB services delivered directly over IP". https://www.etsi.org/deliver/etsi_ts/102000_102099/102005/01.01.01_60/ts_102005v010101p.pdf. 
  37. "World, Meet Thor – a Project to Hammer Out a Royalty Free Video Codec". August 11, 2015. https://blogs.cisco.com/collaboration/world-meet-thor-a-project-to-hammer-out-a-royalty-free-video-codec. 
  38. Thomson, Gavin; Shah, Athar (2017). "Introducing HEIF and HEVC". Apple Inc.. https://devstreaming-cdn.apple.com/videos/wwdc/2017/503i6plfvfi7o3222/503/503_introducing_heif_and_hevc.pdf. 
  39. 39.0 39.1 "HEVC Patent List". https://www.mpegla.com/wp-content/uploads/hevc-att1.pdf. 
  40. ISO. "Home". ISO. https://www.iso.org/home.html. 
  41. "ISO Standards and Patents". https://www.iso.org/iso-standards-and-patents.html. 
  42. Davis, Andrew (June 13, 1997). "The H.320 Recommendation Overview". EE Times. https://www.eetimes.com/document.asp?doc_id=1275886. 
  43. Li Ding; Takaya, K. (1997). "H.263 based facial image compression for low bitrate communications". IEEE WESCANEX 97 Communications, Power and Computing. Conference Proceedings. pp. 30–34. doi:10.1109/WESCAN.1997.627108. ISBN 0-7803-4147-3. "H.263 is similar to, but more complex than H.261. It is currently the most widely used international video compression standard for video telephony on ISDN (Integrated Services Digital Network) telephone lines." 
  44. "Motion JPEG 2000 Part 3". http://www.jpeg.org/jpeg2000/j2kpart3.html. 
  45. Taubman, David; Marcellin, Michael (2012). JPEG2000 Image Compression Fundamentals, Standards and Practice: Image Compression Fundamentals, Standards and Practice. Springer Science & Business Media. ISBN 9781461507994. https://books.google.com/books?id=y7HeBwAAQBAJ&pg=PA402. 
  46. Swartz, Charles S. (2005). Understanding Digital Cinema: A Professional Handbook. Taylor & Francis. p. 147. ISBN 9780240806174. https://books.google.com/books?id=tYw3ehoBnjkC&pg=PA147. 
  47. "VC-1 Patent List". https://www.mpegla.com/wp-content/uploads/vc-1-att1.pdf. 
  48. "HEVC Advance Patent List". https://www.hevcadvance.com/licensors/. 
  49. Filippov, Alexey; Norkin, Aney; Alvarez, José Roberto (April 2020) (in en). RFC 8761 - Video Codec Requirements and Evaluation Methodology. https://datatracker.ietf.org/doc/html/rfc8761. Retrieved February 10, 2022. 
  50. Bhojani, D.R.. "4.1 Video Compression". Hypothesis. http://shodh.inflibnet.ac.in/bitstream/123456789/821/5/05_hypothesis.pdf. 
  51. Jaiswal, R.C. (2009). Audio-Video Engineering. Pune, Maharashtra: Nirali Prakashan. p. 3.55. ISBN 9788190639675. 
  52. "WebCodecs". https://www.w3.org/TR/webcodecs/Overview.html. 
  53. 53.0 53.1 Jan Ozer. "Encoding options for H.264 video". Adobe.com. http://www.adobe.com/devnet/adobe-media-server/articles/h264_encoding.html.