Documente Academic
Documente Profesional
Documente Cultură
i
=T
B
( T B
i,N
T
0,N
)T
i,TCP
T
i,S
, (7)
where
i
denotes total available resource. Eq. 5 holds when
i
> 0, implying that the
system has enough network resource to transmit the i
th
frame. On the contrary,
i
< 0
means that the system does not have available resource to transmit the i
th
frame. Let
i
=
i
i-1
(8)
Chapter 3 Methods
37
i
denotes the variation of available resource. The system forecasts that the
available resource decreases if there are n continuous
i
smaller than 0. In former
situation, the discarding of I-Frame is still determined by Eq.5. Further, the Pk-Frame
denoted as the k
th
P Frame in a GOP. In other words, there are k frames (I, P
1
,
P
2
, P
k
1
) having higher priority than Pk-Frame. The system preserves qkT time for
receiver to decode latter higher priority frames after receiving the Pk-Frame. As
previously noted, if the i
th
frame is Pk-Frame, the Eq.5 can be rewritten as:
T
i,S
T
B
( T B
0,N
T
i,N
)T
i,TCP
qkT (9)
According to Eq.9, the later P-Frames would have higher probability to be
discarded. The algorithm 5 is modified by Eq.9 and its pseudo code summarized in
Table 3.3.
Table 3.3 Pseudo-Code of Algorithm 5
Given a frame i inside a GOP,
If (average
i
< 0 for n consecutive frames) {
If ((frame i = = I-Frame) && (T
i,S
T
B
( T B
i,N
T
0,N
)T
i,TCP
)){
Admit();
Chapter 3 Methods
38
}
else if ((frame i = = Pk-Frame) && (T
i,S
T
B
( T B
i,N
T
0,N
)T
i,TCP
qkT) &&
The I-Frame and Pn-Frame, n=1,,k1 of the GOP are not discarded)){
Admit();
}
else
Discard();
}
else {
If ((frame i = = I-Frame) && (T
i,S
T
B
( T B
i,N
T
0,N
)T
i,TCP
))
Admit();
}
else if ((frame i = = Pk-Frame) && (T
i,S
T
B
( T B
i,N
T
0,N
)T
i,TCP
) &&
The I-Frame and Pn-Frame, n=1,,k1 of the GOP are not discarded)){
Admit();
}
else
Discard();
}
Chapter 3 Methods
39
In conclusion, these proposed algorithms are simple and easy to implement. In
particular, algorithm 5 is expected more efficient regarding discard policy. The thesis
believes that algorithm 5 is suited for insufficient computability devices. These
algorithms are implemented on IP CAM in the next chapter. A surveillance system
prototype is set up in the experiment. All algorithms are tested with real-life, and
there are some comparisons between them.
Chapter 4 Experimental Results
40
Chapter 4 Experimental Results
This chapter presents some performance comparisons for the proposed algorithms.
Practical implementation was developed to provide results reflecting the real-world
conditions. The experimental framework is represented in Figure 4.1. The
proposed algorithms are implemented on IP CAM. ASIC generates video frames and
sends them to the algorithm unit. The algorithm unit will determine which frames
should be discarded, and separate those surviving frames into packets. Packets in
TCP queue will be transmitted to receiver via the Internet. The PDA simulation
board uses MPlayer to decode and display the video streaming. The experiment is
tested through both wired and wireless network.
Figure 4.1 Experimental Framework Diagram
All the mentioned algorithms were tested with two MPEG-4 video sequences: one
with low movement contents, and another with high movement contents. These
Chapter 4 Experimental Results
41
sequences are encoded at 30 fps. This 30-frame GOP has one I-Frame followed by
twenty-nine P-Frames.
In the experiment, a comparison is made in proposed system between the
algorithm 1, 2, and proposed algorithm 3, 4, 5. The prime objective of the
experiment is to estimate Good Frame Throughput Rate, Output Bandwidth and Time
Latency of video bit streams.
Good Frame Throughput Rate is defined in Eq.10. It is the ratio of numbers of
decoded frames to numbers of sent-out frames.
CAM IP by sent frames of Numbers
receiver by decoded frames of Numbers
Rate Throughput Frame Good = (10)
IP CAM discards frames randomly when the network is congested and/or
computability of receiver is insufficient. When the frame discarding is not
priority-aware, it may result in a situation as shown in Figure 4.2. The GOPs are
fragmented after IP CAM discards some frames. According to Eq.10, Good Frame
Throughput Rate in Figure 4.2 is (10 / 31) = 32%.
Chapter 4 Experimental Results
42
Discarding frames based on proposed algorithms would enhance the Good Frame
Throughput Rate. In Figure 4.3, Good Frame Throughput Rate is (18 / 18) = 100%.
Figure 4.2 Frames Discarded without Priority-aware
Figure 4.3 Frames Discarded with Proposed Algorithm
Compare Figure 4.2 and Figure 4.3 with the Good Frame Throughput Rate, the
fragmented GOP could be resolved when using the proposed algorithms to discard
frames. Avoiding fragmented GOP could also reserve network resources for usable
frames. It can be found that the number of decodable frames is much important to the
system.
Chapter 4 Experimental Results
43
The second experimental target is Output Bandwidth. It is defined as the
average number of bytes that the algorithm unit has processed per second. Algorithm
unit needs to discard frames in order to be suitable for the network environment and
receivers computability. In other words, the algorithm unit function is to control the
transmission rate. When the receiver has insufficient computability or the network is
congested, the IP CAM will decrease its transmission rate. Therefore, the receiver
could receive in time to decode the frames. Because Output Bandwidth affects the
playback delay of receiver, it is important to observe the comparative results of
algorithms.
Time Latency is defined as the time for video sequence playback. It should
include the processing time of the algorithm unit, buffering time in TCP queue, the
transmission time through the network, and the decoding time at receiver side. The
following discussion aims at the relationship between experimental objectives.
4.1 Experiment Environment
The software/hardware devices which have been used in the experiment are
introduced in this section. IP CAM is the transmitter in the system. It is developed
Chapter 4 Experimental Results
44
by IMAGIA Corporation. The PDA simulation board made by KAISE Corporation is
used as the receiver in experiments. The IP CAM and the PDA simulation board are
showed in Figure 4.4.
(a) (b)
Figure 4.4 (a) Appearance of IP CAM and, (b) PDA Simulation Board
Specifications of IP CAM and PDA simulation board are listed in Table 4.1.
Both IP CAM and PDA simulation board are embedded systems. They are limited in
computability and memory size.
The operating system in IP CAM and PDA is embedded Linux. All estimated
programs are written in C language. An open source media player called MPlayer
[13] is used for playback of video streaming on PDA simulation board. The IP CAM
uses the thttpd as a web server in this server. thttpd, which is especially suitable
Chapter 4 Experimental Results
45
for embedded system, is an open source web server from ACME Laboratories that is
designed for simplicity, a small execution footprint and high speed [22]. The
experimental surveillance system prototype was implemented in the laboratory. A
sketch system diagram is shown in Figure 4.5.
Table 4.1 Specifications of IP CAM and PDA
IP CAM PDA
CPU ARM 9 / ATM920T xScale PXA270
Clock 200MHz 520MHz
RAM 32MB 64MB
OS Linux 2.4.27 Linux 2.4.21
Frame Size / Rate CIF / 30 fps 30 fps
Figure 4.5 Environment of Experimental Surveillance System Prototype
Chapter 4 Experimental Results
46
4.2 Good Frame Throughput Rate
A simulation was set to investigate the impact of proposed algorithms on Good
Frame Throughput Rate. Proposed algorithms are implemented on IP CAM and
tested with two different movement sequences. The experimental time is ten minutes.
These experimental results of sequence 1 (low movement content sequence) and
sequence 2 (high movement content sequence) are described in Table 4.2.
The size of encoded frames is large while the sequence contents are in high
movement. Those large size encoded frames require more bandwidth and then
increase the decoding time of receiver. Therefore, the algorithms are constantly
activated, and certain encoded frames are discarded. In Table 4.2, it is clear that
Good Frame Throughput Rate of algorithm 1 and algorithm 3 with sequence 2 is less
than that with sequence 1.
As mentioned before, the IP CAM video streaming contains only I-Frame and
P-Frames. Otherwise, I-Frame and P-Frame have different priorities, and this policy
is not considered by algorithm 1 and algorithm 3. It means that frames sent to
receiver might not be decodable. In other words, algorithm 1 and algorithm 3 may
send fragmented GOPs shown in Figure 4.2. That is, the Good Frame Throughput of
Chapter 4 Experimental Results
47
adopting both algorithms can not achieve 100%. However, since Eq.5 is not highly
sensitive, algorithm 3 will run in bursts to drop multiple consecutive frames, and
alleviates its fragmented GOPs. Therefore, algorithm 3 has a better Good Frame
Throughput Rate than algorithm 1. To sum up, Good Frame Throughput Rate of
frame-discarding based on Eq.5 is more effective than that of detecting a full queue.
Table 4.2 Good Frame Throughput Rate of Each Algorithm (Wired)
Sequence 1 Sequence2
Algorithm 1 83.5% 74%
Algorithm 2 100% 100%
Algorithm 3 90.8% 86.4%
Algorithm 4 100% 100%
Algorithm 5, n > 4 100% 100%
Algorithm 5, n > 3 100% 100%
Algorithm 5, n > 2 100% 100%
Algorithm 5, n > 1 100% 100%
Algorithm 5, n > 0 100% 100%
Video Type
Algorithm
Algorithm 2 and proposed algorithm 4, 5 take into account priority-aware, which
Chapter 4 Experimental Results
48
means that all the frames sent from IP CAM would be decodable for the receiver.
Certainly, it assumes that the frames sent from IP CAM should be transmitted
successfully. This assumption is tenable when transmissions are based on TCP/IP.
Consequently, Good Frame Throughput Rate of algorithm 2 and proposed algorithm 4,
5 are 100%. Good Frame Throughput Rate achieved to 100% has a benefit that
system needs not waste resources on sending undecodable frames.
4.3 Output Bandwidth
To measure the Output Bandwidth of each algorithm, the experimental
environment is the same as the one used in section 4.2. Each algorithm was tested
with two kinds of sequences in ten minutes, and the average Output Bandwidth was
recorded in Table 4.3.
As presented in section 4.2, high movement contents incur larger frame size.
The algorithms were constantly activated causing the decrease of Output Bandwidth.
It can be obtained from Table 4.3 that the Output Bandwidth of algorithm 1, 2, 3, 4 and
algorithm 5 with n > 4 is near. However, for algorithm 5, the decrease of parameter n
may result in reducing Output Bandwidth. Because parameter n represents the
Chapter 4 Experimental Results
49
sensitiveness of algorithm 5, there will be more abandoned frames when n becomes
small. It is fair to reduce the Output Bandwidth of IP CAM while the receiver has
inefficient computability to decode frames.
Table 4.3 Output Bandwidth of Each Algorithm (Wired)
Sequence 1 Sequence2
Algorithm 1 18,245 bytes 16,552 bytes
Algorithm 2 18,321 bytes 16,432 bytes
Algorithm 3 18,563 bytes 17,122 bytes
Algorithm 4 18,850 bytes 17,531 bytes
Algorithm 5, n > 4 18,580 bytes 17,229 bytes
Algorithm 5, n > 3 17,823 bytes 16,596 bytes
Algorithm 5, n > 2 16,177 bytes 15,138 bytes
Algorithm 5, n > 1 14,801 bytes 13,102 bytes
Algorithm 5, n > 0 12,380 bytes 11,535 bytes
Video Type
Algorithm
Compared Table 4.2 with Table 4.3, it can be found that there is no relationship
between Good Frame Throughput Rate and Output Bandwidth. For example, Output
Bandwidth of algorithm 2 is lower than that of algorithm 3. However, algorithm 2
Chapter 4 Experimental Results
50
achieves 100% Good Frame Throughput Rate but algorithm 3 does not. Give another
example of algorithm 5 with different n, distinct n has varied Output Bandwidth, but
has same Good Frame Throughput Rate. Thus, one may deduce that algorithm 5 has
flexibility with different n. Adjustment of parameter n by system or user could lead
Output Bandwidth to match well with the receivers computability.
4.4 Time Latency
The parameter T
B
of the Eq.5 and Eq.8 is assumed as 0.5 second in the experiment.
In Table 4.4, the average Time Latency of each proposed algorithm measured with two
mentioned sequences is shown. As stated in section 4.3, the proposed algorithms
obtain different average Output Bandwidth, which should result in different Time
Latency. This section aims at the most important experimental target, the Time
Latency.
B
Compare Table 4.3 with Table 4.4, it is evident that higher Output Bandwidth may
not decrease Time Latency. In other words, Time Latency increases while there are
too many frames for receiver to decode. Time Latency can be regulated when
algorithm unit adjusts the Output Bandwidth. Algorithm 5 with n > 0/n > 1/n > 2 is
Chapter 4 Experimental Results
51
sensitive; certain frames have discarded while the
i
< 0. Because a large amount of
frame is discarded in sender side, PDA simulation board can decode the frames on
time. Inspection of results presented in Table 4.4 shows that the agreement between
the experimental results and theoretical prediction is fairly good. The average Time
Latency of algorithm 5 with n > 0/n > 1/n > 2 is corresponding with minimum
tolerated time of real-time application.
Table 4.4 Average Time Latency for Each Algorithm (Wired)
Sequence 1 Sequence2
Algorithm 1 14.8 sec 13.5 sec
Algorithm 2 14.2 sec 12.8 sec
Algorithm 3 12.1 sec 9.9 sec
Algorithm 4 9.6 sec 7.9 sec
Algorithm 5, n > 4 8.6 sec 5 sec
Algorithm 5, n > 3 5.2 sec 3.16 sec
Algorithm 5, n > 2 2.1 sec 1.6 sec
Algorithm 5, n > 1 1.52 sec 1.1 sec
Algorithm 5, n > 0 0.7 sec 0.6 sec
Algorithm
Video Type
Chapter 4 Experimental Results
52
The second result is that Time Latency decreases with sequence 2. As stated in
section 4.2, the encoded frames take more bandwidth when the size becomes larger.
Therefore, Time Latency can be shortened after algorithm unit discards more frames.
4.5 Output Bandwidth vs. Time Latency
The section now turns to discuss the relationship between Output Bandwidth and
Time Latency based on results given above. From Table 4.3 and Table 4.4, one may
deduce that the video quality and delay time could not be both satisfied for a limited
computability device. It appears that Output Bandwidth and Time Latency are
tradeoff.
Figure 4.6 and Figure 4.7 summarize the experimental results on Output
Bandwidth and Time Latency. It is evident that algorithm 5 is better than other
algorithms. In Figure 4.6 and 4.7, Time Latency of algorithm 5 is less than that of
other algorithms when holding Output Bandwidth. The points presented Time
Latency of algorithm 1, 2, 3 is above the line composed of points of algorithm 5. It
proves that algorithm 5 has better efficiency. The discrepancy between algorithm 5
and other algorithms might be caused by their sensitivity. Furthermore, algorithm 5 is
Chapter 4 Experimental Results
53
flexible with the change of parameter n. The experimental result emphasizes the
importance of monitoring available resources.
Figure 4.6 Output Bandwidth vs. Time Latency with Sequence 1 (Wired)
The point of algorithm 4 and algorithm 5 with n > 4 is close in both Figure 4.6
and Figure 4.7. Table 3.2 and Table 3.3 could proof that P-Frames should be
determined by Eq.5 not Eq.9 when parameter n becomes larger. It is fair to conclude
that the efficiency of algorithm 5 is much near to algorithm 4 when the parameter n
increases (e.g. n > 4 with sequence 1). It may found that algorithm 5 with different
parameter n can supersede other algorithms.
Chapter 4 Experimental Results
54
Figure 4.7 Output Bandwidth vs. Time Latency with Sequence 2 (Wired)
Video quality is more important than Time Latency for some application such as
stored video services. Certain frames should be discarded circumspectly to keep
Output Bandwidth. Algorithm 5 with large parameter n is more suitable to maintain
video quality. On the contrary, time constraint is more important for the surveillance
system. It is necessary to discard a large amount of frames to maintain efficient Time
Latency. Therefore, proposed algorithm 5 with smaller parameter n is more suitable
for the surveillance system.
Chapter 5 Conclusions and Future Works
55
Chapter 5 Conclusions and Future Works
In this thesis, the new system model and algorithms were presented. Those were
studied in terms of a flexible QoS on TCP-based video streaming. These novel
strategies intelligently and dynamically discard certain low priority frames in the
sender side. Moreover, it is adaptive to tolerate available bandwidth and insufficient
computability receiver. The experimental results show that these algorithms achieve
better efficient in the presence of insufficient computability receiver in surveillance
system. The results also demonstrate that real-time streaming can be efficiently
delivered over TCP/IP network with proposed model and algorithms. These results
are beneficial for IP CAM applications where reliable video delivery is desired.
Current version of the proposed algorithms does not optimize and test in
multi-connection environment. These works are planning to accomplish in the future.
References
56
References
[1] A. Eleftheriadis, et al, Meeting arbitrary QoS constraints using dynamic rate
shaping of coded digital video, in Proc. 5th Int. Workshop Network and Operating
System Support for Digital Audio and Video (NOSSDAV95), pp. 95106, Apr.
1995.
[2] Ashvin Goel, et al, Supporting Low Latency TCP-based Media Streams, In
Proceedings of the Tenth International Workshop on Quality of Service (IWQoS),
May 2002.
[3] But, J., et al, Passive TCP Stream Estimation of RTT and Jitter Parameters. Local
Computer Networks, IEEE International Conference, pp: 433-441, 2005.
[4] Chebrolu, K. et al, Selective frame discard for interactive video,
Communications, 2004 IEEE International Conference on Vol.7, pp.4097-4102,
June 2004.
[5] D. Wu, et al, Transporting real-time video over the Internet: Challenges and
approaches, Proc. IEEE, vol. 88, pp.1855-1875, Dec. 2000.
[6] D. Wu, et al, Streaming Video over the Internet: Approaches and Directions,
IEEE Trans. Circuits and Systems for Video Technology, pp. 282-300, Mar. 2001.
[7] E. Gurses, et al, Selective Frame Discarding for Video Streaming in TCP/IP
Networks, Packet Video Workshop, Nantes, France, April 2003.
[8] H. Schulzrinne, et al, RTP: A Transport Protocol for Real-Time Applications,
RFC1889, Internet Engineering Task Force, January 1996.
[9] James F. Kurose. & Keith W. Ross., Computer Networking: A Top-Down
Approach Featuring the Internet, International edition, 3rd, 2005.
[10] M. Allman, et al, TCP Congestion Control, RFC 2581, Internet Engineering
Task Force, April 1999.
[11] Min Zhao, et al, A Study on the Technology of Video Stream Sender Rate
References
57
Control for Guaranteed QoS, PWASET Vol.2, pp: 261-264, 2004
[12] M. Masugi, et al, QoS assessment of video streams over IP networks based on
monitoring transport and application layer processes at user clients, IEEE
Proc.-Commun., Vol. 152, No. 3, june 2005.
[13] MPlayer home page: http://www.mplayerhq.hu
[14] MPEG HOME: http://www.mpeg.org/
[15] Official MPEG web site: http://www.chiariglione.org/mpeg/
[16] P. Postel, User Datagram Protocol, RFC 768, Internet Engineering Task Force,
August 1980.
[17] P. Postel, Transmission Control Protocol, RFC 793, Internet Engineering Task
Force, September 1981.
[18] Phillipa Sessini, et al, Observations on Round-Trip Times of TCP Connections,
Proc. SPECTS, Calgary, Canada, 2006
[19] R. Braden, et al, Integrated services in the Internet architecture: An overview,
RFC 1633, Internet Engineering Task Force, July 1994.
[20] R. Fielding, et al, Hypertext transfer protocol - HTTP/1.1, RFC2068, Internet
Engineering Task Force, January 1997.
[21] R. N. Vaz, et al, Selective Frame Discard for Video Streaming over IP Networks,
CRC2004, Leiria, Portugal, October 2004
[22] thttpd home page: http://www.acme.com/software/thttpd/
[23] S. Blake, et al, An architecture for differentiated services, RFC 2475, Internet
Engineering Task Force, December 1998.
[24] Z. Liu, et al, Communication protection in IP-based video surveillance systems,
in Proceedings of 7th IEEE International Symposium on Multimedia (ISM 05), pp.
6978, Irvine, Calif, USA, December 2005.
Appendix
58
Appendix
A.1 Experimental results in wireless network
Table A.1 Good Frame Throughput Rate of Each Algorithm (Wireless)
Sequence 1 Sequence2
Algorithm 1 85.6% 75.1%
Algorithm 2 100% 100%
Algorithm 3 90.2% 87.2%
Algorithm 4 100% 100%
Algorithm 5, n > 4 100% 100%
Algorithm 5, n > 3 100% 100%
Algorithm 5, n > 2 100% 100%
Algorithm 5, n > 1 100% 100%
Algorithm 5, n > 0 100% 100%
Table A.2 Output Bandwidth of Each Algorithm (Wireless)
Sequence 1 Sequence2
Algorithm 1 20,521 bytes 18,143 bytes
Algorithm 2 20,903 bytes 18,438 bytes
Algorithm 3 20,108 bytes 18,008 bytes
Video Type
Algorithm
Video Type
Algorithm
Appendix
59
Algorithm 4 20,483 bytes 18,241 bytes
Algorithm 5, n > 4 20,504 bytes 18,663 bytes
Algorithm 5, n > 3 19,056 bytes 17,926 bytes
Algorithm 5, n > 2 15,837 bytes 14,456 bytes
Algorithm 5, n > 1 14,801 bytes 12,143 bytes
Algorithm 5, n > 0 13,005 bytes 11,308 bytes
Table A.3 Average Time Latency for Each Algorithm (Wireless)
Sequence 1 Sequence2
Algorithm 1 14 sec 12.9 sec
Algorithm 2 13.2 sec 12.1 sec
Algorithm 3 11.8 sec 10 sec
Algorithm 4 9.5sec 7.7 sec
Algorithm 5, n > 4 8.5 sec 5.8 sec
Algorithm 5, n > 3 5 sec 3.9 sec
Algorithm 5, n > 2 1.7 sec 1.32 sec
Algorithm 5, n > 1 1.1 sec 0.7 sec
Algorithm 5, n > 0 0.4 sec 0.4 sec
Algorithm
Video Type
Appendix
60
Figure A.1 Output Bandwidth vs. Time Latency with Sequence 1 (Wireless)
Figure A.2 Output Bandwidth vs. Time Latency with Sequence 2 (Wireless)