ITU H.263 Video Compression
Video Codec Reference Source CodeI have had so many requests for reference code , Well here is a link, you on you own after that. These are NOT OPEN SOURCE or FREE. There are all sorts of Liscences and Patents, so I recomend you do you homework before making a product from this. All of these links were found through Google once you know what your looking for. They are on other peoples server, I am not in any way responsibe for this code being available publicly nor for it's integrity or even explaining how it works. That being said, it's a great source to learn how these codec's work, the code all in C (Not C++) and run well on Unix/Linux. The code is NOT Optimized in any way, shape or form, so it's slow! If any of these links are broken, shoot me an E-mail, I recomend google searching the file names, your bound to find someone with this code lying around.
H.264/AVC Reference Software>H.264/AVC Reference Software I recomend JM10.zip.
More H.263 Source Code
Draft, ITU H.263 Standards Document ITU H.263, H.263L, H.26L, H.263E, ISO/IEC 14496 These video codecs are the Basis for MPEG4 Simple Profile. MPEG-4 adds advanced error detection and correction services on top of H.263. 3GPP and ISMA are versions of H.263 and MPEG-4 for streaming and mobile applications. These are really a variation of Transport stream.
There is now MPEG-4 AVC/H.264Also called JVT � ITU H.264 � ITU-T Rec. H.264 � MPEG-4 Part 10 � ISO 14496-10 AVC Advanced Video Coding � AVC...whatever you call it, this is revolutionary. H.264 is being widely recognized as the future platform of video compression for applications such as new HDTV services, portable game console, mobile broadcast video services, video on solid-state camcorders, instant video messaging on cell phone. H.264 is the most advanced video coding standard available today. It uses many new coding techniques not available in MPEG2, MPEG4 and H.263. This chart shows the evolution of video coding standards.
This revolutionary technology promises to facilitate whole new applications, and to unleash
dramatic cost savings in the broad spectrum of video applications. Examples include:
Another Excellent paper on H.264 MPEG-4 Video: Opportunities and Challenges Ahead For you who are already familiar with video compression standards and want to know more about the H.264 standard, the following publication (19 pages) is an excellent source: A draft of the whole H.264 Standard (264 pages) from the 'ITU-T 7th meeting: Pattaya, Thailand, 7-14 March 2003', is also downloadable below: The whole H.264 Standard (draft from 7-14 March 2003) (PDF) (1,816KB) Deconstructing H.264/AVC H.264 Performance
The new H.264 video compression standard is the first to be ratified by
both the ISO/IEC and ITU-T. It raises the bar considerably compared to
MPEG4-ASP and yields better picture quality while significantly lowering
the bit rate. This allows lower overall system cost, reduced
infrastructure requirements and enables many new video applications. H.264
is considered the greatest achievement in video compression in
the past 10 years and is already finding its way into many mainstream
video applications.
H.264 Patent Licensing Fees
One more great aspect of H.264 is the licensing fee structure by the
patent holders of technology that went into the standard. MPEG4 was
significantly hampered by complicated and excessive licensing fees
demanded by its patent holder. For H.264 the industry has learned from its
mistakes with MPEG-4 and created a very simple and low cost licensing structure.
There are two H.264 patent licensing organizations: MPEG-LA and Via
Licensing. Both have similar licensing terms. Here are some key points
from the MPEG-LA patent licensing organization:
See the following press release for more detailed information:
MPEG LA H.264
Licensing Information
H.264 HistoryOriginaly proposed by ToshibaMain Profile, Level 4.I: I + P picture types, In-loop deblocking,1/4 sample motion compensation, VLC-based entropy coding, Tree-structured motion segmentation down to 4x4 block size, 4:2:0 Bi-predictive slices, CABAC, Weighted prediction, Adaptive block-size transforms Interlace pictures, frame/field adaptive at picture and macroblock level Max bitrate: 29.4Mbps Prediction (GOVU) structure.
H.263ITU-T SG15 H.263 came out in February 1995. Designed for low bit-rate communications, it never really worked well over pots (plain old telephone service) lines. It has replaced H.261 for video conferencing in most applications and also dominates Internet video streaming today. The coding algorithm of H.263 is similar to that used by H.261, however with some improvements and changes to improve performance and error recovery. The differences between the H.261 and H.263 coding algorithms are listed below. Half pixel precision is used for motion compensation whereas H.261 used full pixel precision and a loop filter. Some parts of the hierarchical structure of the data-stream are now optional, so the codec can be configured for a lower data-rate or better error recovery. There are now four optional negotiable options included to improve performance: Unrestricted Motion Vectors, Syntax-based arithmetic coding, Advance prediction, and forward and backward frame prediction similar to MPEG called P-B frames. H.263 supports five resolutions. In addition to QCIF and CIF that were supported by H.261 there is SQCIF, 4CIF, and 16CIF. SQCIF is approximately half the resolution of QCIF. 4CIF and 16CIF are 4 and 16 times the resolution of CIF respectively. With the support of 4CIF and 16CIF the codec has surpassed other higher bit-rate video coding standards such as the MPEG 1 and 2 standards and a variant is now officially adopted as MPEG 4.
MPEG-4Work on MPEG-4 started at the MPEG meeting in Seoul Korea November 1993 with completion that was scheduled for 1998. MPEG4 adds a layer of error resilience. This is achieved through resynchronizations, byte alignment, data partitioning the reversible variable length code (RVLC), adaptive intra refresh (AIR), and error detection and concealment. 1. Resyncrhonization: Under the MPEG-4 spec, a resynchronization marker can reduce the error propagation caused by the nature of variable length code (VLC) into single frame. In MPEG-4, the resynchronization marker is inserted at the top of a new group of blocks GOB with the header information (multiplexed block number [MBN], quantization parameters) and optional HEC, so that decoding can be done independently. It is a good idea to place the resynchronization marker prior to important objects like people to improve error resilience with minimum increase of overhead. 2. Byte alignment: Bit-stuffing for the byte alignment gives additional error detection capability through its violation check. 3. Data partitioning: A new synchronization code named motion marker separates the motion vector (MV) and discrete cosine transform (DCT) field to prevent from inter-field error propagation, thus allowing effective error concealment to be performed. When errors are detected solely in the DCT field, that multiplexed block (MB) will be reconstructed using correct MV. This results in natural motion better than simple MB replacement of the previous frame. 4. RVLC: The RVLC enables forward and backward decoding without significant impact on coding efficiency. This feature localizes error propagation ideally into single MB. 5. AIR: Different from the conventional cyclic intra refresh, AIR employs motion-weighted intra refresh, which results in better perceptual quality with quick recovery in corrupted objects. 6. Error detection and concealment: Errors can be detected through exception or violation in the decoding process, and then concealment will be applied. The functionality is included for mobile application. The endpoint of H.324 can support for MPEG-4 audio, so that MPEG-4 audio could be used for H.324 mobile phone terminal. Info on MPEG and H.264: MPEG Industry Forum Where to find source: TMNDEC and TMNENC are a good place to start searching for H.263 source code. Just search on Google for these. Codec's on the Openmash web site Some place at Berkeley from the source code of VIC M-BONE tools another place for the VIC sources Roalt's H.263 Page jStreaming - JAVA H.263 Video Decoder
MPEG2 info:
ISO/IEC 13818-1 Systems
WMV9 (Windows Media Version 9) Extended STREAM_ID: 0xFD as defined in ISO/IEC 13818-1:2000/FPDAM
MPEG-4 AVC encapsulation into MPEG2 PS, Encapsulation as MPEG video stream
MPEG4 info: Coding of audio-visual objects
ISO/IEC 14496-1 Systems
MPEG4 Systems Patents
JPEG 2000 ISO/IEC 15444-1 There is a Motion JPEG2000 spec...
I am a video compression expert experienced with h.263
Check out Video Technology Magazine
DataCompression.info Has lots of good links to sources Divx
IBM Toolkit for MPEG-4>
|