4.2.1 Dynamic Programming Algorithm
Based on trellis diagrams, we can design search strategies to discover extraction paths who have maintained the convexity for corresponding R-D curve (named as convex extraction paths) by examining R-D performance of every refinement step from base unit to target layer. After that, the underlying area of their R-D curve can be computed and compared to find the optimal extraction path. Thinking of this process, dynamic programming algorithm, which is the most classic optimization method, is an available search strategy that can surely find the optimal extraction path if it is existent.
Utilizing dynamic programming to discover convex extraction paths is composed of two iterative phases:
1. The trellis grows in both spatial/CGS and temporal dimensions from each exis-tent path until the paths reach target layer. The word "grow" means to decode subsequent scalable layers with one more spatial/CGS or temporal enhancement layer and evaluate the incremental R-D ratio.
2. Non-convex paths are figured out and pruned at each stage by comparing R-D performance with those of previous refinement step. R-Due to transitivity of inequality (A > B ∧ B > C ⇒ A > B > C), the convexity of extraction paths can be maintained even if the incremental R-D performance only compared with preceding one stage while pruning.
After all paths reaching the target scalable layer, the maintained paths are candi-dates of optimal extraction path. Finally, the one with the smallest total area under-neath its R-D curve is the optimal extraction path.
Figure 4.2 shows an example of process using dynamic programming algorithm as search strategy to find the optimal extraction path. Each box in figure illustrates a step. In these trellis diagrams, we denote block nodes as scalable layers that have been decoded and white ones as those not have been decoded. Moreover, the refinement steps depicted as thin edges to represent that their R-D information are evaluated. If R-D curve of the extended path is convex, it would be maintained and depicted as broader edge. Otherwise, the edge would be pruned and eliminated.
The process is described below.
Chapter 4. Searching for Optimal Extraction Paths
Figure 4.2: Example: using dynamic programming algorithm to find the optimal extraction path.
Step 1 ) Trellis starts from base unit and grows in both L and T dimensions as shown in Figure 4.2(a).
Step 2 ) These two paths are both kept as shown in Figure 4.2(b).
Step 3 ) Next iteration, trellises grow in two dimensions from existent two paths as shown in Figure 4.2(c).
Step 4 ) Pruned πT(1, 0) since it can not construct a convex extraction path (0.9 <
38). The other three edges become broader to represent the paths are main-tained as shown in Figure 4.2(d).
Step 5 ) Trellises grow from existent three paths as shown in Figure 4.2(e).
Step 6 ) Pruned πT(1, 1) since γL(0, 1) < γT (1, 1) (as shown in Figure 4.2(e), 2.5 <
20) and pruned the path with πT(2, 0)due to γL(1, 0) < γT (2, 0). The other paths are kept as shown in Figure 4.2(f).
Step 7 ) Trellises grows in only L or T dimension because each of existent paths had reached their target layer in another dimension as shown in Figure 4.2(g).
Step 8 ) Pruned the path with πT(2, 1) due to γL(1, 1) < γT (2, 1). After four grew and pruned iterations, all paths reach target layer in both L and T and the process stop.
In this example, the process left only one convex extraction path in the end, which
is the optimal extraction path.
Although dynamic programming algorithm can ensure finding all convex extrac-tion paths, its computaextrac-tional complexity is still considerable. It works better than exhaustive search since some paths may be pruned without evaluation and even some nodes (scalable layers) may be skipped without decoding. However, as we can see in Figure 4.2, the gain over exhaustive search is insignificant in case that the size of trellis diagrams are small because almost every nodes are required for decoding. On the con-trary, if the number of scalable layers is large, the complexity of dynamic programming algorithm grows exponentially. Therefore, we need more aggressive pruning rules in a search strategy to discover convex extraction paths.
4.2.2 Greedy Heuristic Scheme
Since the efficiency of dynamic programming is not much better than exhaustive search, we propose a greedy heuristic scheme to tackle the problem. The main concept of
"greedy" scheme is that every refinement step of extraction path is decided at every stage without looking ahead. This approach also consists of two iterative phases:
1. The same as dynamic programming algorithm, trellises grow in both spatial/CGS and temporal dimensions from existent paths.
2. The refinement step with worse incremental R-D improvement is pruned and only one path would be kept at each stage.
In other words, the greedy heuristic scheme is performed as steepest-descent method.
While the path reaching target layer in any dimension, no more scalable layers are needed to decode and evaluate since there is only one choice for further refinement steps.
For instance, Figure 4.3 presents a process using greedy heuristic scheme as search strategy to find the optimal extraction path. The process is described below.
Step 1 ) Trellis starts from base unit and grows in both L and T dimensions as shown in Figure 4.3(a).
Step 2 ) Since γL(0, 0) is worse than γT(0, 0) (as shown in Figure 4.3(a), 0.9 < 74), πL(0, 0) is pruned yet only πT(0, 0) is kept as shown in Figure 4.3(b).
Step 3 ) Trellis grows from the only one existent path as shown in Figure 4.3(c).
Step 4 ) πL(0, 1)is pruned yet πT(0, 1)is kept due to γL(0, 1) < γT (0, 1). As shown
Chapter 4. Searching for Optimal Extraction Paths
Figure 4.3: Example: using greedy heuristic scheme to find the optimal extraction path.
in Figure 4.3(d), the existent path reach target layer in temporal dimension.
Step 5 ) No more scalable layers are needed to decode. The refinement step in spatial dimension is included in the path as shown in Figure 4.3(e).
Step 6 ) Again, no more scalable layers are needed to decode. The path include the left refinement step in spatial dimension thus reach the target layer in both dimensions and end the process as shown in Figure 4.3(f).
The greedy heuristic scheme presents significant complexity reduction about 50%
or more. Even number of scalable layers is small, almost half of them not have to be decoded [Figure 4.3 (f)]. Moreover, since always only one path is maintained through whole process, the complexity of greedy heuristic scheme grows linearly while the num-ber of scalable layers increasing.
Intuitively speaking, this approach seems no guarantee of optimality of solution.
Its pruning rules are designed neither with verification of R-D convexity nor with comparison of underlying area for corresponding R-D curve. However, empirical finding from our experimental results exposes that greedy heuristic scheme often can obtain the optimal extraction paths or reveal a path with comparable R-D performance. For instance, the previous example in Figure 4.3 obtained the same answer as the optimal extraction path produced by dynamic programming algorithm in Figure 4.2. The
surprisingly good performance of this scheme is theoretically analyzed in next section.