H.263
Video coding for low bit rate communication | |
Status | In force |
---|---|
First published | 20 March 1996 |
Latest version | 3rd edition 24 June 2005 |
Organization | ITU-T |
Committee | VCEG |
Base standards | H.261, H.262 (aka MPEG-2 Video) |
Related standards | H.264, H.265, H.266, H.323, H.324, ISO/IEC 14496-2 |
Domain | Video compression |
License | RAND[1][2] |
Website | www.itu.int/rec/T-REC-H.263 |
H.263 is a video compression method originally designed as a low-bit-rate compressed format for videotelephony. It was standardized by the ITU-T Video Coding Experts Group (VCEG) in a project ending in 1995/1996. It is a member of the H.26x family of video coding standards in the domain of the ITU-T.
Like the previous H.26x standards, H.263 is a block-based hybrid video coding scheme using 16×16 macroblocks of YCbCr color sample arrays, motion-compensated prediction, an 8×8 discrete cosine transform for prediction differences, zig-zag scanning of transform coefficients, scalar quantization, run-length transform coefficient symbols, and variable-length coding (basically like Huffman coding but with structured coding tables).[3] The first (1995) version of H.263 included some optional features including overlapped block motion compensation and variable block-size motion compensation, and the spec was later extended to add various additional enhanced features in 1998 and 2000. Smaller additions were also made in 1997 and 2001, and a unified edition was produced in 2005.
History and background
[edit]The H.263 standard was first designed to be utilized in H.324 based systems (PSTN and other circuit-switched network videoconferencing and videotelephony), but it also found use in H.323 (RTP/IP-based videoconferencing), H.320 (ISDN-based videoconferencing, where it became the most widely used video compression standard),[4] RTSP (streaming media) and SIP (IP-based videoconferencing) solutions.
H.263 is a required video coding format in ETSI 3GPP technical specifications for IP Multimedia Subsystem (IMS), Multimedia Messaging Service (MMS) and Transparent end-to-end Packet-switched Streaming Service (PSS).[5][6][7] In 3GPP specifications, H.263 video is usually used in 3GP container format.
H.263 also found many applications on the internet: much Flash Video content (as used on sites such as YouTube, Google Video, and MySpace) used to be encoded in Sorenson Spark format (an incomplete implementation of H.263[8][9][10]). The original version of the RealVideo codec was based on H.263 until the release of RealVideo 8.[11]
H.263 was developed as an evolutionary improvement based on experience from H.261 and H.262 (aka MPEG-2 Video), the previous ITU-T standards for video compression, and the MPEG-1 standard developed in ISO/IEC. The first version of H.263 was completed in 1995 and provided a suitable replacement for H.261 at all bit rates. It was further enhanced in projects known as H.263v2 (also known as H.263+ or H.263 1998) and H.263v3 (also known as H.263++ or H.263 2000). It was also used as the basis for the development of MPEG-4 Part 2.[12][13][14] MPEG-4 Part 2 is H.263 compatible in the sense that basic "baseline" H.263 bitstreams are correctly decoded by an MPEG-4 Video decoder.[12][15]
The next enhanced format developed by ITU-T VCEG (in partnership with MPEG) after H.263 was the H.264 standard, also known as AVC and MPEG-4 part 10. As H.264 provides a significant improvement in capability beyond H.263, the H.263 standard is now considered a legacy design that is only used for compatibility with older products. Newer videoconferencing products now include H.264 as well as, or instead of, H.263 and H.261 capabilities. Even newer standard formats, HEVC and VVC, have also been developed by VCEG and MPEG, and have begun to replace H.264 in some applications.
Versions
[edit]Since the original ratification of H.263 in March 1996[16] (approving a document that was produced in November 1995), there have been two subsequent additions which improved on the original standard by additional optional extensions (for example, the H.263v2 project added a deblocking filter in its Annex J).
Version 1 and Annex I
[edit]The original version of H.263 specified the following annexes:
- Annex A – Inverse transform accuracy specification
- Annex B – Hypothetical Reference Decoder
- Annex C – Considerations for Multipoint
- Annex D – Unrestricted Motion Vector mode
- Annex E – Syntax-based Arithmetic Coding mode
- Annex F – Advanced Prediction mode
- Annex G – PB-frames mode
- Annex H – Forward Error Correction for coded video signal
The first version of H.263 supported a limited set of picture sizes:
- 128×96 (a.k.a. Sub-QCIF)
- 176×144 (a.k.a. QCIF)
- 352×288 (a.k.a. CIF)
- 704×576 (a.k.a. 4CIF)
- 1408×1152 (a.k.a. 16CIF)
In March 1997, an informative Appendix I describing Error Tracking – an encoding technique for providing improved robustness to data losses and errors, was approved to provide information for the aid of implementers having an interest in such techniques.
H.263v2 (H.263+)
[edit]H.263v2 (also known as H.263+, or as the 1998 version of H.263) is the informal name of the second edition of the ITU-T H.263 international video coding standard. It retained the entire technical content of the original version of the standard, but enhanced H.263 capabilities by adding several annexes which can substantially improve encoding efficiency and provide other capabilities (such as enhanced robustness against data loss in the transmission channel). The H.263+ project was ratified by the ITU in February 1998. It added the following Annexes:
- Annex I – Advanced INTRA Coding mode
- Annex J – Deblocking Filter mode
- Annex K – Slice Structured mode
- Annex L – Supplemental Enhancement Information Specification
- Annex M – Improved PB-frames mode
- Annex N – Reference Picture Selection mode
- Annex O – Temporal, SNR, and Spatial Scalability mode
- Annex P – Reference picture resampling
- Annex Q – Reduced-Resolution Update mode (see implementors' guide correction as noted below)
- Annex R – Independent Segment Decoding mode
- Annex S – Alternative INTER VLC mode
- Annex T – Modified Quantization mode
H.263v2 also added support for flexible customized picture formats and custom picture clock frequencies. As noted above, the only picture formats previously supported in H.263 had been Sub-QCIF, QCIF, CIF, 4CIF, and 16CIF, and the only picture clock frequency had been 30000/1001 (approximately 29.97) clock ticks per second.
H.263v2 specified a set of recommended modes in an informative appendix (Appendix II, since deprecated):
Level 1 | Level 2 | Level 3 | |
---|---|---|---|
Advanced INTRA Coding | Yes | Yes | Yes |
Deblocking Filter | Yes | Yes | Yes |
Supplemental Enhancement Information (Full-Frame Freeze Only) | Yes | Yes | Yes |
Modified Quantization | Yes | Yes | Yes |
Unrestricted Motion Vectors | No | Yes | Yes |
Slice Structured Mode | No | Yes | Yes |
Reference Picture Resampling (Implicit Factor-of-4 Mode Only) | No | Yes | Yes |
Advanced Prediction | No | No | Yes |
Improved PB-frames | No | No | Yes |
Independent Segment Decoding | No | No | Yes |
Alternate INTER VLC | No | No | Yes |
Level 1 | Level 2 | Level 3 |
H.263v3 (H.263++) and Annex X
[edit]The definition of H.263v3 (also known as H.263++ or as the 2000 version of H.263) added three annexes. These annexes and an additional annex that specified profiles (approved the following year) were originally published as separate documents from the main body of the standard itself. The additional annexes specified are:
- Annex U – Enhanced reference picture selection mode
- Annex V – Data-partitioned slice mode
- Annex W – Additional supplemental enhancement information specification
- Annex X (originally specified in 2001) – Profiles and levels definition
The prior informative Appendix II (recommended optional enhancement) was obsoleted by the creation of the normative Annex X.
In June 2001, another informative appendix (Appendix III, Examples for H.263 encoder/decoder implementations) was approved. It describes techniques for encoding and for error/loss concealment by decoders.
In January 2005, a unified H.263 specification document was produced (with the exception of Appendix III, which remains as a separately-published document).
In August 2005, an implementors' guide was approved to correct a small error in the seldom-used Annex Q reduced-resolution update mode.
Patent rights and open-source implementation
[edit]H.263 was developed under the "reasonable and non-discriminatory" patent licensing policy of ITU-T, although in practice, the licensing for patent rights on the standard did not become the subject of substantial litigation. Due to the age of the standard, most or all relevant patents would currently be expired – at least for patents that would apply to the early versions of the standard.[citation needed]
Open-source implementations include the LGPL-licensed libavcodec library (part of the FFmpeg project) which is used by programs such as ffdshow, VLC media player and MPlayer.[17]
See also
[edit]- H.262/MPEG-2 Part 2
- MPEG-4 Part 2 (MPEG-4 Visual)
References
[edit]- ^ "ITU-T Rec. H.263 declared patent(s)". ITU. International Telecommunication Union. Archived from the original on 11 May 2022. Retrieved 11 May 2022.
- ^ "Web video codec guide". MDN Web Docs. Mozilla Foundation. H.263. Archived from the original on 3 May 2022. Retrieved 11 May 2022.
- ^ Davis, Andrew (13 June 1997). "The H.320 Recommendation Overview". EE Times. Retrieved 7 November 2019.
- ^ IEEE WESCANEX 97: communications, power, and computing : conference proceedings. University of Manitoba, Winnipeg, Manitoba, Canada: Institute of Electrical and Electronics Engineers. May 22–23, 1997. p. 30. ISBN 9780780341470.
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.
- ^ ETSI (2009-04) ETSI TS 126 234 V8.2.0 (2009-04); 3GPP TS 26.234; Transparent end-to-end Packet-switched Streaming Service (PSS); Protocols and codecs Retrieved on 2009-06-02.
- ^ ETSI (2009-01) ETSI TS 126 140 V8.0.0 (2009-01); 3GPP TS 26.140; Multimedia Messaging Service (MMS); Media formats and codes Retrieved on 2009-06-02.
- ^ ETSI (2009-01) ETSI TS 126 141 V8.0.0 (2009-01); 3GPP TS 26.141; IP Multimedia System (IMS) Messaging and Presence; Media formats and codecs Retrieved on 2009-06-02.
- ^ Kaourantin.net (2005-08-13). "The quest for a new video codec in Flash 8". Archived from the original on 2009-02-06. Retrieved 2009-08-10.
We went this route before with Sorenson Spark which is an incomplete implementation of H.263 and it bit us badly when trying to implement certain solutions.
- ^ Benjamin Larsson (2009-03-17). "h263-svq3 optimizations". FFmpeg-devel (Mailing list). Archived from the original on 2009-08-17. Retrieved 2009-08-09.
Sorenson _Spark_ and H.263 are actually very similar. They differ mostly in header structure and ranges of the coefficients.
- ^ "Sorenson Spark". MultimediaWiki. Retrieved 2009-11-03.
Video codec used in Flash Video files, based on H.263.
- ^ MultimediaWiki. "RealVideo G2". Retrieved 2009-11-02.
- ^ a b chiariglione.org (2006-08-10). "Riding the Media Bits, End of the Ride?". Archived from the original on 2011-01-22. Retrieved 2010-03-10.
- ^ Fernando Pereira. "MPEG-4: Why, What, How and When?". chiariglione.org. Archived from the original on 2011-10-18. Retrieved 2010-03-10.
- ^ ISO/IEC JTC1/SC29/WG11 (March 2000). "MPEG-4 Video - Frequently Asked Questions". chiariglione.org. Retrieved 2010-03-10.
{{cite web}}
: CS1 maint: numeric names: authors list (link) - ^ chiariglione.org (2003-10-25). "Riding the Media Bits, Inside MPEG-4 - Part B". Archived from the original on 2011-01-22. Retrieved 2010-03-10.
- ^ ITU-T. "H.263 : Video coding for low bit rate communication". Retrieved 2009-11-02.
- ^ "7.3. Encoding with the libavcodec codec family". www.mplayerhq.hu. Retrieved 2021-05-08.
External links
[edit]- The ITU-T specification for H.263
- IETF AVT Working Group - Group that reviews codec packetizations for RTP
- H.263 - MultimediaWiki
- Intel Integrated Performance Primitives
- H.263 implementation in vic (source code available)