EmaiThis Page
H.264 / MPEG-4: Video
CODEC For High Quality Video Streaming
The H.264 and the MPEG-4 Part 10, also named Advanced Video Coding (AVC), is jointly developed by ITU and ISO. H.264/MPEG-4 supports video compression (coding) for video-conferencing and video-telephony applications. The H.264 video codec has a very broad rang of applications that covers all forms of digital compressed video from, low bit-rate Internet streaming applications to HDTV broadcast and Digital Cinema applications with nearly lossless coding.
H.264 / MPEG-4 is designed as a simple and straightforward video coding, with enhanced compression performance, and to provide a
“network-friendly” video representation. H.264/MPEG-4 has achieved a significant improvement in the rate-distortion efficiency
–providing a factor of two in bit-rate savings compared with MPEG-2 Video, which is the most common standard used for video storage and transmission.
The coding gain of H.264 over H.263 is in the range of 25% to 50%, depends on the types of applications.
The H.264/MPEG-4 design covers a Video Coding Layer (VCL), which efficiently represents the video
content, and a Network Abstraction Layer (NAL), which formats the VCL
representation of the video and provides header information
in a manner appropriate for conveyance by particular transport
layers (such as Real Time Transport Protocol) or storage media. All data are contained in NAL units, each of which
contains an integer number of
bytes. A NAL unit specifies a generic format for use in both
packet-oriented and bitstream systems. The
format of NAL units for both packet-oriented transport and
bitstream delivery is - except that each
NAL unit can be preceded by a start code prefix in a bitstream-oriented
transport layer.
H.264 / MPEG-4 video streams
need to be packetized for transportion over networks. The
transport protocol for H.264/MPEG-4 streams is the Real Time
Transport Protocol (RTP).
The
following table lists the H.264 / MPEG-4 key features and
benefits:
|
Feature
|
Benefit
|
|
Quarter-sample-accurate
motion compensation
|
H.264 codec uses
quarter-sample-accurate motion compensation as in H.263 with
further enhancements and reduced complexity.
|
|
Display order and
referencing independency
|
The decoder may
choose the most efficient way of displaying pictures for motion
compensation referencing improving overall performance.
|
|
Weighted
prediction
|
Motion-compensated
prediction signal may be weighted and offset by the encoder,
improving performance in scenes containing fades.
|
|
Small block-size
transform
|
H.264 is based
primarily on 4x4 transform, which positively influences the
quality of certain scenes.
|
|
Hierarchical
block-size transform
|
Even though the
default block-size transform is 4x4, the standard is flexible
enough for bigger block-size transforms, such as 8x8 or 16x16,
for improved performance in certain scenes.
|
|
Short word-length
transform
|
H.264 reduces
computation complexity requiring only 16-bit processing.
|
|
Exact-match
inverse transform
|
As opposed to
most previous standards, all decoders processing video stream
encoded using H.264 will produce exactly the same picture.
|
|
Arithmetic and
context-adaptive entropy coding
|
H.264 codec uses
advanced entropy coding methods improving overall performance.
|
|
Parameter set
structure
|
The separation of
the parameter set structure from the remaining data and special
handling makes it less prone to information loss.
|
Protocol Structure - H.263: Video Coding and Decoding (CODEC)
The Network Abstraction
Layer (NAL) unit
type octet has the following format:
F: Forbidden_zero_bit.
The H.264 specification declares a value of 1 as a syntax
violation.
NRI: nal_ref_idc.
00: the content of the NAL unit is not used to reconstruct
reference pictures for inter picture prediction.
Other values: the decoding of the NAL unit is required to
maintain the integrity of the reference pictures.
Type: nal_unit_payload type.
Type Packet
Type name
---------------------------------------------------------
0
undefined
-
1-23
NAL
unit Single NAL unit packet per H.264
24
STAP-A Single-time aggregation packet
25
STAP-B Single-time aggregation packet
26
MTAP16Multi-time aggregation packet
27
MTAP24Multi-time aggregation packet
28
FU-A Fragmentation unit
29
FU-B Fragmentation unit
30-31 undefined
Since the Real Time Transport
Protocol (RTP) is the transport protocol for H.264/MPEG-4 video
streams, the H.264 / MPEG-4 pakects are encapsulated by RTP
frames.
Related Protocols
RTSP , RTP , RTCP , H.323 , H.245 , H.261 ,
H.263 , MPEG-2
Sponsor Source
H.264
/ MPEG-4 is jointly defined by ITU-T (http://www.itu.int/ITU-T/ )
and ISO.
Reference
http://www.javvin.com/protocol/rfc3984.pdf :
RTP Payload Format for H.264 Video
http://www.vcodex.com/h264.html :H.264
/ MPEG-4 Part 10 Tutorials |