Content deleted Content added
Citation bot (talk | contribs) Removed parameters. | Use this bot. Report bugs. | Suggested by Headbomb | Linked from Wikipedia:WikiProject_Academic_Journals/Journals_cited_by_Wikipedia/Sandbox2 | #UCB_webform_linked 18/1244 |
SimLibrarian (talk | contribs) m rm same-section duplicate links (MOS:DUPLINK), replace dead EL with archive |
||
Line 130:
** The ability to use any macroblock type in [[Video compression picture types#Bi-directional predicted frames/slices (B-frames/slices)|B-frames]], including I-macroblocks, resulting in much more efficient encoding when using B-frames. This feature was notably left out from [[MPEG-4 ASP]].
** Six-tap filtering for derivation of half-pel luma sample predictions, for sharper subpixel motion-compensation. Quarter-pixel motion is derived by linear interpolation of the halfpixel values, to save processing power.
** [[Qpel|Quarter-pixel]] precision for motion compensation, enabling precise description of the displacements of moving areas. For
** Weighted prediction, allowing an encoder to specify the use of a scaling and offset when performing motion compensation, and providing a significant benefit in performance in special cases—such as fade-to-black, fade-in, and cross-fade transitions. This includes implicit weighted prediction for B-frames, and explicit weighted prediction for P-frames.
* Spatial prediction from the edges of neighboring blocks for [[Intra-frame|"intra"]] coding, rather than the "DC"-only prediction found in MPEG-2 Part 2 and the transform coefficient prediction found in H.263v2 and MPEG-4 Part 2. This includes luma prediction block sizes of 16×16, 8×8, and 4×4 (of which only one type can be used within each [[macroblock]]).
Line 153:
** A common simple and highly structured [[Variable-length code|variable length coding]] (VLC) technique for many of the syntax elements not coded by CABAC or CAVLC, referred to as [[Exponential-Golomb coding]] (or Exp-Golomb).
* Loss resilience features including:
** A [[Network Abstraction Layer]] (NAL) definition allowing the same video syntax to be used in many network environments. One very fundamental design concept of H.264 is to generate self-contained packets, to remove the header duplication as in MPEG-4's Header Extension Code (HEC).<ref name="rfc3984_3"/> This was achieved by decoupling information relevant to more than one slice from the media stream. The combination of the higher-level parameters is called a parameter set.<ref name="rfc3984_3"/> The H.264 specification includes two types of parameter sets: Sequence Parameter Set (SPS) and Picture Parameter Set (PPS). An active sequence parameter set remains
** [[Flexible macroblock ordering]] (FMO), also known as slice groups, and arbitrary slice ordering (ASO), which are techniques for restructuring the ordering of the representation of the fundamental regions (''macroblocks'') in pictures. Typically considered an error/loss robustness feature, FMO and ASO can also be used for other purposes.
** Data partitioning (DP), a feature providing the ability to separate more important and less important syntax elements into different packets of data, enabling the application of unequal error protection (UEP) and other types of improvement of error/loss robustness.
Line 491:
== Implementations ==
[[File:YouTube H264 video with Opus audio stat screenshot.png|upright=1.2|thumb|A YouTube video statistics with AVC (H.264) video codec and [[Opus (audio format)|Opus]] audio format]]
In 2009, the [[WHATWG|HTML5 working group]] was split between supporters of Ogg [[Theora]], a free video format which is thought to be unencumbered by patents, and H.264, which contains patented technology. As late as July 2009, Google and Apple were said to support H.264, while Mozilla and Opera support Ogg Theora (now Google, Mozilla and Opera all support Theora and [[WebM]] with [[VP8]]).<ref>{{cite web|url=https://arstechnica.com/open-source/news/2009/07/decoding-the-html-5-video-codec-debate.ars |title=Decoding the HTML 5 video codec debate |website=Ars Technica |date=2009-07-06 |access-date=2011-01-12}}</ref> Microsoft, with the release of Internet Explorer 9, has added support for HTML 5 video encoded using H.264. At the Gartner Symposium/ITXpo in November 2010, Microsoft CEO Steve Ballmer answered the question "HTML 5 or [[Silverlight]]?" by saying "If you want to do something that is universal, there is no question the world is going HTML5."<ref>{{cite web|url=https://www.youtube.com/watch?v=iI47b3a9cEI | archive-url=https://ghostarchive.org/varchive/youtube/20211030/iI47b3a9cEI| archive-date=2021-10-30|title= Steve Ballmer, CEO Microsoft, interviewed at Gartner Symposium/ITxpo Orlando 2010 |publisher=Gartnervideo |date=November 2010|access-date=2011-01-12}}{{cbignore}}</ref> In January 2011, Google announced that they were pulling support for H.264 from their Chrome browser and supporting both Theora and
On March 18, 2012, [[Mozilla]] announced support for H.264 in Firefox on mobile devices, due to prevalence of H.264-encoded video and the increased power-efficiency of using dedicated H.264 decoder hardware common on such devices.<ref>{{cite web|url=https://hacks.mozilla.org/2012/03/video-mobile-and-the-open-web/ | title=Video, Mobile, and the Open Web|date=2012-03-18|access-date=2012-03-20}}</ref> On February 20, 2013, Mozilla implemented support in Firefox for decoding H.264 on Windows 7 and above. This feature relies on Windows' built in decoding libraries.<ref>{{cite web|title=WebRTC enabled, H.264/MP3 support in Win 7 on by default, Metro UI for Windows 8 + more – Firefox Development Highlights|url=https://hacks.mozilla.org/2013/02/webrtc-enabled-h-264mp3-support-in-win-7-on-by-default-metro-ui-for-windows-8-more-firefox-development-highlights/|work=hacks.mozilla.org|publisher=mozilla|access-date=2013-03-15|date=2013-02-20}}</ref> Firefox 35.0, released on January 13, 2015, supports H.264 on OS X 10.6 and higher.<ref>{{cite web|url=https://www.mozilla.org/en-US/firefox/35.0/releasenotes/|title=Firefox — Notes (35.0)|website=Mozilla}}</ref>
On October 30, 2013, [[Rowan Trollope]] from [[Cisco Systems]] announced that Cisco would release both binaries and source code of an H.264 video codec called [[OpenH264]] under the [[Simplified BSD license]], and pay all royalties for its use to MPEG LA for any software projects that use Cisco's precompiled binaries, thus making Cisco's OpenH264 ''binaries'' free to use. However, any software projects that use Cisco's source code instead of its binaries would be legally responsible for paying all royalties to MPEG LA. Target CPU architectures include x86 and ARM, and target operating systems include Linux, Windows XP and later, Mac OS X, and Android; iOS was notably absent from this list, because it
Although iOS was not supported by the 2013 Cisco software release, Apple updated its Video Toolbox Framework with [[iOS 8]] (released in September 2014) to provide direct access to hardware-based H.264/AVC video encoding and decoding.<ref name=OpenH264faq/>
Line 560:
ASIC encoders with H.264 encoder functionality are available from many different semiconductor companies, but the core design used in the ASIC is typically licensed from one of a few companies such as [[Chips&Media]], Allegro DVT, [[On2]] (formerly Hantro, acquired by Google), [[Imagination Technologies]], NGCodec. Some companies have both FPGA and ASIC product offerings.<ref>{{cite web |url=http://www.design-reuse.com/sip/?q=H.264+encoder |title=Design-reuse.com |publisher=Design-reuse.com |date=1990-01-01 |access-date=2010-05-17}}</ref>
Texas Instruments manufactures a line of ARM + DSP cores that perform DSP H.264 BP encoding 1080p at
== Licensing ==
Line 566:
In countries where [[software patent|patents on software algorithms]] are upheld, vendors and commercial users of products that use H.264/AVC are expected to pay patent licensing royalties for the patented technology that their products use.<ref>{{cite web|url=http://www.mpegla.com/main/programs/AVC/Documents/avcweb.pdf |title=Briefing portfolio |website=www.mpegla.com }}</ref> This applies to the Baseline Profile as well.<ref>{{cite web|url=http://blogs.sun.com/openmediacommons/entry/oms_video_a_project_of|title=OMS Video, A Project of Sun's Open Media Commons Initiative|access-date=2008-08-26|archive-url=https://web.archive.org/web/20100511060302/http://blogs.sun.com/openmediacommons/entry/oms_video_a_project_of|archive-date=May 11, 2010|url-status=dead|df=mdy-all}}</ref>
A private organization known as [[MPEG LA]], which is not affiliated in any way with the MPEG standardization organization, administers the licenses for patents applying to this standard, as well as other [[patent pool]]s, such as for MPEG-4 Part 2 Video, HEVC and MPEG-DASH. The patent holders include [[Fujitsu]], [[Panasonic]], [[Sony]], [[Mitsubishi]], [[Apple Inc.|Apple]], [[Columbia University]], [[KAIST]], [[Dolby Laboratories|Dolby]], [[Google]], [[JVC Kenwood]], [[LG Electronics]], [[Microsoft]], [[NTT Docomo]], [[Philips]], [[Samsung]], [[Sharp Corporation|Sharp]], [[Toshiba]] and [[ZTE]],<ref>{{cite web |title=Licensors Included in the AVC/H.264 Patent Portfolio License |url=https://www.mpegla.com/programs/avc-h-264/licensors/ |website=[[MPEG LA]] |access-date=18 June 2019}}</ref> although the majority of patents in the pool are held by
On August 26, 2010, MPEG LA announced that royalties
Since the first version of the standard was completed in May 2003 ({{age|month=May|year=2003}} years ago) and the most commonly used profile (the High profile) was completed in June 2004{{Citation needed|date=December 2023}} ({{age|month=June|year=2004}} years ago), some of the relevant patents are expired by now, <ref name="patents" /> while others are still in force in jurisdictions around the world and one of the US patents in the MPEG LA H.264 pool (granted in 2016, priority from 2001) lasts at least until November 2030.<ref>{{cite web |url=https://patents.google.com/patent/US9356620B2/ |title=United States Patent 9,356,620 Baese, et al. |access-date=August 1, 2022}} with an earliest priority date of September 14, 2001 has a 2,998 day term extension.</ref>
Line 605:
== External links ==
* {{Official website|http://www.itu.int/rec/T-REC-H.264|ITU-T publication page: H.264: Advanced video coding for generic audiovisual services}}
* [
* [https://web.archive.org/web/20040603025720/http://www.vcodex.com/h264.html H.264/MPEG-4 Part 10 Tutorials (Richardson)]
* {{cite web|url=http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?csnumber=56538|work=ISO publication page: ISO/IEC 14496-10:2010 – Information technology — Coding of audio-visual objects | title = Part 10: Advanced Video Coding}}
* {{cite web|url=http://iphome.hhi.de/suehring/tml/|work=IP Homepage | title = H.264/AVC JM Reference Software|access-date=2007-04-15}}
|