Graphics Reference
In-Depth Information
0
1
2
3
4
5
6
7
8
9
10
Slice Segment
Boundary
Independent
Slice Segment
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Slice Boundary
Dependent
Slice Segment
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
53
54
52
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
Fig. 3.9 Picture structuring in HEVC using slices, showing the CTUs belonging to independent
slice segments ( blue shaded ) and dependent slice segments of two slices of a picture. Note that the
slice boundaries are marked by a solid line , whereas the boundaries between slice segments of the
same slice are marked by dashed lines
segment data, and an entry point offset is provided for each (but the first) subset
in the corresponding slice segment header for proper subset identification. Subsets
are most appropriate for the use together with the novel high-level parallelization
tools of HEVC, as will be discussed in Sect. 3.3.2 . Slice segment subsets will be
presented in Sect. 3.3.1.2 , followed by a discussion of the slice segment header in
Sect. 3.3.1.3 .
3.3.1.1
Slice Segments
The fragmentation of slices by the use of dependent slice segments was first
proposed in [ 34 ]. According to this fragmentation concept, a slice in HEVC is
defined as a set of slice segments, where the first segment of a slice is the
independent slice segment, followed by zero or more dependent slice segments, as
exemplarily shown in Fig. 3.9 .
Dependent slice segments do only contain a minimum set of slice header parame-
ters and its use is indicated by the slice header syntax element dependent_slice
_segment_flag , as further explained in Sect. 3.3.1.3 . As another distinct feature
in comparison to regular slices or independent slice segments, dependent slice
segments do not break in-picture dependencies across CTU boundaries within the
slice to which the segment belongs. Although each dependent slice segment data is
conveyed by its own CABAC bitstream and therefore, the CABAC engine needs to
be flushed and reset at the segment boundaries, the adapted content of all CABAC
context variables are stored at the end of each slice segment (including those of the
independent slice segment) in order to be re-used for initialization in the subsequent
dependent slice segment. In this way, no coding efficiency penalty is introduced by
the use of dependent slice segments except for the additional, rather small amount
of slice segment header bits. Note that for each CTU in a slice segment, the syntax
Search WWH ::




Custom Search