1 Introduction
2 Scope of 802.11aa and related studies of SCS packet scheduling
2.1 Priority weighting and dropping-based scheduling
2.2 Credit-based scheduling
-
Whenever one of the (primary, alternative) queues for the video AC is empty, the weighting factor of the non-empty one becomes 100 % in order for its head-of-line video packet to be passed to VI-EDCAF; otherwise, consider the following.
-
Either queue is allowed to transmit only if its current credit value is positive. During the transmission period of VI-EDCAF, the credit value of the sending queue is decreased at a negative slope called sendSlope, while that of the idle queue is increased at a positive slope called idleSlope. Note that, by definition, AC_VI has a larger weighting factor, a steeper idleSlope and a smoother sendSlope than AAC_VI in order to get a larger chance of transmission. Note that both the credit values of the double queues remain intact when their VI-EDCAF is idle so that both the double queues become idle simultaneously.
-
As a result, the queue with a smaller head-of-line packet size (S), a larger accumulated credit value (C) and a larger weighting factor (ω) will form a smaller metric (S − C)/ω and thus have a better chance to win the transmission. Note that the credit of the idle queue is accumulated by ω idle (S send − C send )/ωsend during its idle period.
2.3 Major contributions of VQD
-
Conditional priority weighting for non-real-time I-packets from AAC_VIThe details of this contribution are given in Section 3.1. The novelty of this contribution lies in the fairness (and thus quality) enhancement of non-real-time video with a minimum tradeoff in real-time video quality degradation via boosting the relative importance of non-real-time I-packets from AAC_VI to make them equally compete with real-time P-packets of any importance level, not just with P-packets of least importance as in the case of PWD.
-
Virtual queue dropping of P-packets based on priority-coupled component queue lengthsThe details of this contribution can be found in Section 3.2. VQD adopts a packet dropping scheme which is flexible, probabilistic and based on priority-coupled component queue length in order to achieve finer adaptation to congestion level changes and thus higher video transmission quality, compared to the packet dropping scheme of PWD, which is fixed-dropping-thresholds, non-probabilistic, and based on non-priority-coupled physical queue length.
-
Priority retries of I- and P-packetsThe details of this contribution can be found in Section 3.3. The purpose is to find an optimal combination of priority retry limits for these two packet types, with a larger limit for I-packets due to their higher importance, so as to minimise the performance impact due to real-time constraints. This contribution is totally unique to VQD and not considered in PWD at all.
3 Proposed cross-layer design (VQD)
3.1 Conditional priority weighting for non-real-time I-packets from AAC_VI
(ω
AC_VI
, ω
AAC_VI
) | Non-real-time packets via AAC_VI | ||
---|---|---|---|
I | P1 ~ P8
| ||
Real-time packets via AC_VI | I | (1, 0) | (1, 0) |
P1 ~ P8
| (0.5, 0.5) | (1 − mα, mα) |
3.2 Virtual queue dropping of P-packets based on priority-coupled component queue lengths
-
an asymptotic phase of low dropping probability when q phy << F i
-
an asymptotic phase of high dropping probability when q phy >> F i
-
a transition phase where P drop,i rapidly changes from low to high or from high to low when q phy is around F i (note that P drop,i = 1/2 when q phy = F i , i.e. at the inflection point).
-
Let us consider a video stream of a GOP structure with a period of nine video pictures (one leading I-picture followed by eight P-pictures) as a typical example. Since every I-picture is referenced for decoding its subsequent P-pictures, none of I-packets should be dropped until the congestion level exceeds the limit of physical queue (q limit ).
-
For P-packets, eight branches of dropping probability functions with different values of inflection points are adopted so that P1-packets have the largest value (F 1) and P8-packets the smallest value (F 8). As a result, for the same value set of κ and q phy , the dropping probability of P1-packets is the lowest one (P drop,1) while that of P8-packets is the highest one (P drop,8). Namely, the smaller value for i, the higher importance level it stands for.
-
Moreover, even for a given value of level i, F i is still not a fixed value. Eq. (2) shows the definition of F i , where the value of F i runs within (0, q limit ) and is related to two parameters: q v,i and γ. q v,i is based on a concept called virtual queue length which is a ratio running between 0 and 1. Its definition can be found in Eq. (3), where the numerator is the sum of the component queue length of level i (denoted as q i ) and those of higher importance levels (denoted as q j <i ), and the denominator q phy is the total physical queue length, namely the sum of all the component queue lengths. The design goal of q v,i is to allow for a congestion-adaptive adjustment of the dropping probability of level i influenced by those higher importance levels (i.e. those js < i). Note that the value of i is equivalent to (L GOP − EPL), as shown in Fig. 2a. For example, q v,4 is the virtual queue length of P4-packets, and q v,4 = (q 4 + q 3 + q 2 + q 1 + q 0)/q phy . Hence, it is easy to see the two extreme cases: q v,1 = (q 1 + q 0)/q phy , and q v,8 =1. Note that q 0 is the component queue length of I-packets, q 1 is that of P1-packets, and thus q i is that of P i -packets accordingly. On the other hand, γ simply serves to weaken the competition capability of P1-packets so that they will not jeopardise I-packets when the congestion level becomes extremely heavy. In principle, to confine F i within (0, q limit ), the value of γ should also be limited within (0, 1). An optimal value set of (κ, γ) is presented and discussed in Section 4.2 and Fig. 5.
3.3 Priority retries of I- and P-packets
-
The priority retry limits of I- and P-packets should be controlled so that the performance impact due to real-time constraints can be as small as possible.
-
Furthermore, because I-packets are more important than P-packets within the same GOP, I-packets should deserve a larger limit of retries than P-packets.
4 Results
4.1 Experimental setup
Traffic type | AC queues of AP | Rate from the Internet (bps) | Rate from the wireless LAN (bps) |
---|---|---|---|
Real-time audio | AC_VO | Not applied | Not applied |
Non-real-time audio | AAC_VO |
n × 40 k | Not applied |
Real-time video (conversational) | AC_VI | Not applied | 512 k |
Non-real-time video (on-demand) | AAC_VI | 512 k | Not applied |
Best effort | AC_BE |
n × 300 k | 50 k |
Background | AC_BK |
n × 300 k | 50 k |
4.2 Optimal values for κ and γ
-
For all the applied real-time constraints, κ = 1 can generate the optimal performance.
-
The performance differences between κ = 1 and the other values are not so large, around 1~2 dB, and thus it indicates the appropriateness and stability of the adopted tanh function for performance robustness of the proposed VQD design.
-
For all the applied real-time constraints, γ = 0.9 can generate the optimal performance.
-
The performance gains of γ = 0.9 over the other values are much larger (particularly in comparison with γ = 0.7 and 0.8), namely more visible than the performance difference among the κ values. Hence, it implies that it is more sensitive and significant to select an optimal value of γ. Meanwhile, the performance becomes more stable and robust when γ ≥ 0.9.
4.3 Effects of priority retries of I- and P-packets
4.4 Average queue lengths
-
For AC_VI, the proposed VQD design outperforms the others in the sense that it is least congested at all the congestion cases, and its superiority is amplified when n increases.
-
For AAC_VI, the superiority of VQD over the others is still clearly seen, but no obvious increasing trend with n is observed since the ratio of scheduling probability for AAC_VI to that for AC_VI is low in general, and thus the average queue lengths of AAC_VI are longer than those of AC_VI for all the congestion cases, even at n = 1.
4.5 Packet delay probability distributions with/without a real-time constraint
-
In light congestion, all the packet delay distributions are mostly focused below 200 ms. However, it still clearly indicates that \( {\overline{d}}_{VQD} \) < \( {\overline{d}}_{PWD} \) < \( {\overline{d}}_{SCS-CR} \), where \( \overline{\mathrm{d}} \) stands for the average packet delay.
-
In heavy congestion, all the packet delay distributions are spread out in different extents: SCS-CR is spread out most seriously, PWD secondly seriously, and the proposed VQD least seriously in the sense that the inequality \( {\overline{d}}_{VQD} \) < \( {\overline{d}}_{PWD} \) < \( {\overline{d}}_{SCS-CR} \) still holds.
r
RS
r
RC
r
R
| Congestion case | |||||
---|---|---|---|---|---|---|
n = 1 |
n = 2 |
n = 3 |
n = 4 |
n = 5 |
n = 6 | |
VQD |
80 %
|
70 %
|
52 %
|
42 %
|
29 %
|
15 %
|
4 %
|
9 %
|
16 %
|
23 %
|
31 %
|
41 %
| |
84 %
| 79 % | 68 % | 65 % | 60 % | 56 % | |
ᅟ | ||||||
PWD | 79 % | 68 % | 50 % | 27 % | 12 % | 5 % |
4 % | 12 % | 25 % | 43 % | 54 % | 56 % | |
83 % |
80 %
| 75 % | 70 % | 66 % | 61 % | |
ᅟ | ||||||
SCS-CR | 77 % | 65 % | 30 % | 20 % | 9 % | 7 % |
4 % | 15 % | 50 % | 55 % | 59 % | 57 % | |
81 % |
80 %
|
80 %
|
75 %
|
68 %
|
64 %
|
-
Although the proposed VQD design does not always have the maximum value in r R (in fact, it always takes the final place in r R except for n = 1 due to its effective packet dropping behaviour, particularly when the congestion level increases), it does always take the lead in both r RS and r RC for all the congestion levels, meaning that it keeps the minimum value in average packet delay no matter how the congestion level changes, as aforementioned.
-
SCS-CR is at the other extreme; although it in general takes the lead in r R , it is almost the all-time loser in both r RS and r RC . This originates from the fact that SCS-CR lacks an effective strategy in packet dropping to mitigate the congestion.
-
The performance of PWD is in general in between VQD and SCS-CR; its performance is closer to VQD from light to medium-low congestions (n = 1, 2, 3), but closer to SCS-CR from medium-high to heavy congestions (n = 4, 5, 6).
r
R
| Congestion case | |||||
---|---|---|---|---|---|---|
n = 1 |
n = 2 |
n = 3 |
n = 4 |
n = 5 |
n = 6 | |
VQD | 34 % |
29 %
|
26 %
|
21 %
| 18 % | 16 % |
PWD | 31 % | 25 % | 21 % | 17 % | 15 % | 13 % |
SCS-CR |
35 %
| 28 % | 23 % | 21 % |
20 %
|
19 %
|
-
VQD outperforms PWD by a superior realisation of prioritised early packet dropping which is based on the coupling of video packet dropping probability for a given priority with those higher priorities, as shown in Eq. (3).
-
VQD can effectively alleviate the congestion level by early dropping video packets of less importance (i.e. those lower-priority ones) at congestion cases n = 2, 3 and 4.
-
Although VQD is not as good as SCS-CR in the other cases in terms of r R , Fig. 10 demonstrates that VQD is still the all-time winner in terms of Average Y-PSNR. Again, this supports that VQD can achieve a win-win game in both real-time and non-real-time video applications, namely it successfully tackles the dilemma problem in achieving priority and fairness simultaneously. Section 4.6 will address more on the generality of such a win-win game.×
4.6 Generality of performance superiority in average Y-PSNR
-
The performance superiority of VQD over PWD and SCS-CR is indeed a general phenomenon, and there is no strong effect due to the format or motion level of the adopted video sequence.
-
VQD can always achieve a win-win game over the others in both the performances of AAC_VI (without any real-time constraint) and AC_VI (with different real-time constraints), and its real-time performance gains over the others are amplified in general as the congestion level increases.
-
Although the congestion-robustness capabilities of different designs all go down with the tightness of the adopted real-time constraint as expected, the performance gains of VQD over PWD (the all-time second place) also become more visible. This shows the true power of VQD in its efficiency of early packet dropping based the coupling of component queue lengths of different priorities.