Graphics Reference
In-Depth Information
Each coded slice segment consists of a slice segment header followed by slice
segment data. The slice segment header carries control information for the slice
segment, and the slice segment data carries the coded samples. The independent
slice header is referred to as the slice header, since the information in this header
pertains to all slice segments of the slice.
2.2
The NAL Unit Header and the HEVC Bitstream
There are two classes of NAL units in HEVC—video coding layer (VCL) NAL
units and non-VCL NAL units. Each VCL NAL unit carries one slice segment of
coded picture data while the non-VCL NAL units contain control information that
typically relates to multiple coded pictures. One coded picture, together with the
non-VCL NAL units that are associated with the coded picture, is called an HEVC
access unit. There is no requirement that an access unit must contain any non-VCL
NAL units, and in some applications such as video conferencing, most access units
do not contain non-VCL NAL units. However, since each access unit contains a
coded picture, it must consist of one or more VCL NAL units—one for each slice
(or slice segment) that the coded picture is partitioned into.
2.2.1
The NAL Unit Header
Figure 2.2 shows the structure of the NAL unit header, which is two bytes long.
All HEVC NAL unit headers, for both VCL and non-VCL NAL units, start with
this two-byte NAL unit header that is designed to make it easy to parse the main
properties of a NAL unit; what type it is, and what layer and temporal sub-layer it
belongs to.
The first bit of the NAL unit header is always set to '0' in order to prevent
generating bit patterns that could be interpreted as MPEG-2 start codes in legacy
MPEG-2 systems environments. The next six bits contains the type of the NAL
unit, identifying the type of data that is carried in the NAL unit. Six bits means
that there are 64 possible NAL unit type values. The values are allocated equally
between VCL and non-VCL NAL units so they have 32 types each. NAL unit types
will be explained in more detail in Sect. 2.2.2 and 2.2.4 .
+---------------+---------------+
|0|1|2|3|4|5|6|7|0|1|2|3|4|5|6|7|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|F| NALType | LayerId | TID |
+-------------+-----------------+
Fig. 2.2 The two-byte NAL
unit header
Search WWH ::




Custom Search