You are on page 1of 0

TCP/IP IP Cameras

The Surveillance System Based on IP Cameras


over TCP/IP Networks














Acknowledgment

I would like to thank my advisor, Dr. Wen-Jyi Hwang for his patient teaching,
guidance and invaluable instructions. During the two years in NTNU, I have a great
progress in English, human sympathy and research. It is my honor to be his student.

Additionally, I would like to thank Dr. Pao-Chi Chang, Dr. Shih-Hsuan Yang and Dr.
Ling-Jyh Chen for their valuable suggestion of the thesis.

In the meanwhile, I would thank to all the graduate students of Multimedia System on
Chip Laboratory, Multimedia Communication and Computer Laboratory for their help
and friendliness.

Last but not least, I would like to thank my family for their continuous support and
encouragement. The education they have given me is the best heritage one could
ever get. I would also thank to my girlfriend Ivy for her endless love makes it
possible for me to carry out the thesis.





Kai-Fu Chan
Computer Science and Information Engineering Department
National Taiwan Normal University, R.O.C
July, 2005
Abstract

This thesis develops a surveillance system which has flexible quality of service for
TCP-based video streaming in accordance with the network bandwidth and
computational capabilities of video decoder. To allow the flexible for TCP-based
video streaming, the thesis proposes a novel frame-discard algorithm, termed Priority
Early Frame Discard algorithm, which actively discarding necessary frame data and
effectively controlling the frame rate of the encoded video sequence in the IP Camera
for video streaming. Note that broadcast services with a unified quality of service
may not be well suited for different network environments and/or receivers.
Insufficient network bandwidth and/or decoding speed for given video bit streams may
result in transmission delay. The Priority Early Frame Discard algorithm will be
employed for each receiver to solve this problem. It actively discards encoded frames
for each receiver in accordance with the network bandwidth and the decoding speed of
that receiver. The algorithm therefore provides quality of service well-suited for each
receiver, and eliminates possible transmission delay.

Keywords: Surveillance system, Video streaming, Frame discard, IP Camera
i
Table of Contents

Chapter 1 Introduction................................................................................................. 1
1.1 Background................................................................................................ 1
1.2 Motivation.................................................................................................. 4
1.3 Objective .................................................................................................... 5
1.4 Thesis Organization.................................................................................. 6
Chapter 2 Related Works ............................................................................................. 8
2.1 MPEG......................................................................................................... 8
2.2 Transport Protocol .................................................................................. 11
2.2.1 TCP............................................................................................... 12
2.2.2 TCP Congestion Control ............................................................ 14
2.2.3 UDP .............................................................................................. 15
2.3 Real-Time Video Streaming QoS........................................................... 16
Chapter 3 Methods...................................................................................................... 19
3.1 Surveillance System Architecture................................................................ 19
3.2 Proposed Model............................................................................................. 22
3.3 Proposed Algorithms..................................................................................... 28
Chapter 4 Experimental Results................................................................................ 40
4.1 Experiment Environment............................................................................. 43
4.2 Good Frame Throughput Rate .................................................................... 46
4.3 Output Bandwidth ........................................................................................ 48
4.4 Time Latency................................................................................................. 50
4.5 Output Bandwidth vs. Time Latency .......................................................... 52
Chapter 5 Conclusions and Future Works ............................................................... 55
References.................................................................................................................... 56
Appendix...................................................................................................................... 58

ii
List of Figures

Figure 2.1 MPEG Layers ................................................................................................ 9
Figure 2.2 Typical GOP Structure of Surveillance System Encode Stream................. 10
Figure 2.3 Transport Protocols in Context.................................................................... 11
Figure 2.4 TCP Header ................................................................................................. 13
Figure 2.5 UDP Header................................................................................................. 15
Figure 2.6 Layer Architecture of Congestion Control Approach.................................. 17
Figure 3.1 Architecture of Surveillance System Based on IP CAM............................. 20
Figure 3.2 Video Streaming Deliveries Based on HTTP/TCP...................................... 21
Figure 3.3 An Example of TCP Full Queues ................................................................ 23
Figure 3.4 Frames Discarded Model of Surveillance System....................................... 24
Figure 3.5 A Common Method to Eliminate TCP Full Queue...................................... 25
Figure 3.6 Proposed Method to Eliminate TCP Full Queue ......................................... 26
Figure 3.7 Proposed Cross-Layer System Model ......................................................... 27
Figure 3.8 Algorithm 1 Process Flow Diagrams........................................................... 28
Figure 3.9 Algorithm 2 Process Flow Diagrams........................................................... 29
Figure 3.10 Round-Trip Time of TCP Flow ................................................................. 32
Figure 3.11 Defect of Algorithm 4................................................................................ 35
Figure 3.12 Expected Result of Algorithm 5 ................................................................ 36
Figure 4.1 Experimental Framework Diagram............................................................. 40
Figure 4.2 Frames Discarded without Priority-aware................................................... 42
Figure 4.3 Frames Discarded with Proposed Algorithm............................................... 42
Figure 4.4 (a) Appearance of IP CAM and, (b) PDA Simulation Board ...................... 44
Figure 4.5 Environment of Experimental Surveillance System Prototype................... 45
Figure 4.6 Output Bandwidth vs. Time Latency with Sequence 1 (Wired).................. 53
Figure 4.7 Output Bandwidth vs. Time Latency with Sequence 2 (Wired).................. 54
Figure A.1 Output Bandwidth vs. Time Latency with Sequence 1 (Wireless) ............. 60
Figure A.2 Output Bandwidth vs. Time Latency with Sequence 2 (Wireless) ............. 60

iii
List of Tables

Table 3.1 Pseudo-Code of Algorithm 3......................................................................... 33
Table 3.2 Pseudo-Code of Algorithm 4......................................................................... 34
Table 3.3 Pseudo-Code of Algorithm 5......................................................................... 37
Table 4.1 Specifications of IP CAM and PDA ............................................................. 45
Table 4.2 Good Frame Throughput Rate of Each Algorithm (Wired) .......................... 47
Table 4.3 Output Bandwidth of Each Algorithm (Wired)............................................. 49
Table 4.4 Average Time Latency for Each Algorithm (Wired) ..................................... 51
Table A.1 Good Frame Throughput Rate of Each Algorithm (Wireless)...................... 58
Table A.2 Output Bandwidth of Each Algorithm (Wireless) ........................................ 58
Table A.3 Average Time Latency for Each Algorithm (Wireless) ................................ 59

iv

Chapter 1 Introduction
1
Chapter 1 Introduction

1.1 Background

Nowadays, owing to the rapid growth of technologies of network transmission
and video compression, the surveillance systems have been installed extensively. The
surveillance technology can be applied to security system, traffic flow control, vehicle
speed control, ecology realm, and calamity detection, etc.

Since 1970, the development of the conventional surveillance systems exist some
drawbacks. For example, all cameras were connected to a central control room and
the surveillant have to keep staring at the monitor to supervise the circumstance.
Images captured by the analog camera would be stored in tapes, and it needs a huge
space to store the tapes. The cost of the traditional surveillance systems is high
because they are consisted of analog cameras, and they are inconvenient to set up.
These drawbacks narrow the applications of surveillance systems.

Computer technology is changing rapidly. It is now feasible to deploy digital
and network-based surveillance system to provide real-time monitoring and

Chapter 1 Introduction
2
surveillance. Digital surveillance systems can store videos into hard disks, perform
backup operation on compact disks, and reduce the storage space and lower the cost.
Also, the image compression technology makes the digital surveillance system more
applicable because it decreases the size of the video without scarifying its quality. In
addition, the combination of surveillance system and the Internet has created numerous
profits. For example, cameras can be setup everywhere, and users can browse the
video streaming through the network. Therefore, this new kind of surveillance
architecture has become much more popular.

The digital surveillance system can be applied in enormous situations and
locations. The traffic surveillance system can report the traffic information of
freeways to drivers. The ecology surveillance system can collect ecological
information in extremely dangerous environments such as deserts or mountains. The
home surveillance system can keep an eye on a disabled person or children. The
calamity surveillance system can give alarms when nature damage is detected, such as
a forest fire.

Digital surveillance systems can be roughly divided into two major categories:
WEB CAM and IP CAM. WEB CAM systems usually consist of a camera and a

Chapter 1 Introduction
3
personal computer. The image captured by the camera are digitized and compressed
by the personal computer. On the contrary, IP CAM is a stand alone system
containing an embedded processor and a video codec ASIC (Application Specific
Integrated Circuit) [24]. No external computer is required to encode the captured
video. Therefore, most surveillance systems adopt the IP CAM way now.

The surveillance systems transmit video bit streams based on RTP/UDP
(Real-Time Transport Protocol/User Datagram Protocol) [8, 16] or HTTP/TCP
(Hypertext Transport Protocol/Transmission Control Protocol) [17, 20] through the
Internet. RTP/UDP has no congestion control mechanism. Since bandwidth is not
shared fairly, starvation is possible for some host. Further, RTP/UDP flows may not
be allowed by network routers or firewalls. Some researches show that the current
trend of UDP without congestion control can lead to the collapse of the Internet [21].
In order to design workable surveillance systems, HTTP/TCP is chosen to be the
carrier of transmitted video bit streams [12]. HTTP over TCP has congestion control
mechanism and is allowed by most network devices. It is also convenient for users to
browse these video streaming via a user-friendly interface.

Although HTTP/TCP is suitable for surveillance system, there is no QoS (Quality

Chapter 1 Introduction
4
of Service) guaranteed for video transmission over the Internet. QoS is important to
assure a proper delivery of real-time video with strict delay and bandwidth. There are
two approaches to obtain better performance of the IP networks [5, 21]. One possible
approach is to enhance network devices such as routers or gateways by making them
QoS-aware, but it requires modification on existing infrastructures. Another
approach is to make the sender has the ability to implement QoS. The sender must be
capable of monitoring network conditions and adjusting its transmission rate. The
second approach mitigates the effects on the network devices without QoS
functionalities and hence is suitable for surveillance systems. This approach would
be discussed in detail in Chapter 2.

This thesis aims at low computational capability clients in the surveillance system
such as PDA. A useful observation is that different devices may and should receive
videos of different quality. Based on this observation, a method using selective
frame-discarding is proposed to achieve QoS of IP CAM.

1.2 Motivation

As stated in the previous section, an IP CAM has many advantages over a WEB

Chapter 1 Introduction
5
CAM. It is a stand alone system and no external personal computer is necessary.
Moreover, users can easily access the IP CAM via a WEB browser.

However, an IP CAM still has some limitations. It should be noted that the IP
CAM broadcast with a unified QoS may not be suitable for different network
environments and hosts. Insufficient network bandwidth and stream-decoding speed
may result in a full queue and transmission delay. When a receiving queue is full,
certain encoded frames will be definitely discarded by IP CAM. Thus, the receiver
will receive incomplete video bit streams. Moreover, some features of TCP including
retransmission and variations in delay may influence the efficiency of IP CAM. Note
that in some real-time applications, a delayed packet can not be tolerated more than
one second. If the situation becomes more critical, the surveillance system would
miss too many packets in bit streams and fail its job. This thesis aims to enhance
QoS of surveillance system using an IP CAM.

1.3 Objective

There are several mechanisms trying to solve problems mentioned in previous
section [4, 11, 21]. However, those mechanisms are only suitable for UDP or

Chapter 1 Introduction
6
TCP-Friendly protocols [7]. It is hard to implement those mechanisms on the real
TCP protocol. In addition, those mechanisms are mainly applied on VOD (Video on
Demand) or stored video and do not consider computational capabilities of video
decoders.

In order to apply a flexible QoS on TCP-based video streaming, the thesis
proposed a novel algorithm termed PEDF (Priority Early Frame Discard). PEDF is
based on rate shaping via service-side selective frame-discarding. PEFD considers
the network bandwidth and devices computational capabilities. PEFD actively
discards necessary frame and effectively control the frame rate in IP CAM. PEDF
keeps the quality of video streaming and ensure the bit streams can delivered to
receivers in time. PEDF function with the goal of increasing the performance of
surveillance system by considering the network constraints and client computational
capability.

1.4 Thesis Organization

The rest of the thesis is organized as follows. In chapter 2, related works are
introduced. In chapter 3, we describe the research methods and give the detail of

Chapter 1 Introduction
7
system implementation, whose experimental result and analysis are presented and
discussed in chapter 4. Finally, chapter 5 concludes the thesis and point out
possibilities of future works.


Chapter 2 Related Works
8
Chapter 2 Related Works

2.1 MPEG

MPEG (Motion Picture Expert Group) generally represents the series of video
encoding standards. Actually, MPEG is the name of a working group of ISO/IEC
(International Organization for Standardization/International Electrotechnical
Commission) charged with the development of video and audio encoding standards.
The objective of MPEG standards is ensure that the encoder generate bit streams
which can decode successful by different decoder. From 1988 until now MPEG has
standardized the following compress formats and ancillary standards [14]:
1. MPEG-1: MPEG-1 is the first official video and audio compression standard. It
is used as the standard for Video CD, and its Layer3 (MP3) is the most popular
audio compression standard.
2. MPEG-2: MPEG-2 is the Video, audio and transport standards for
broadcast-quality media. It used for over-the-air digital television DVB (Digital
Video Broadcasting), etc and it with slight modifications, as the .VOB (Video
OBject) files that carries the images on DVDs.
3. MPEG-4: MPEG-4 expends MPEG-1/MPEG-2 to support video/audio objects, 3D

Chapter 2 Related Works
9
contents, low bitrate encoding and digital right management. The part 10 of
MPEG-4 called H.264/MPEG Part 10 was published by ISO/IEC and ITU-T
(International Telecommunication Union-Telecommunication Standardization
Sector). H.264/MPEG-4 Part 10 may be used on HD DVD and Blue-ray discs.
4. MPEG-7: MPEG-7 is used for describer the contents.
5. MPEG-21: MPEG-21 is a multimedia framework which offers a completed
integrated platform to multimedia applications. MPEG-21 is under progressing.

MPEG Standards only specified the format of bit streams and decoding precision.
In other words, everyone can stand to MPEG standards and implement the
encoder/decoder in different way. In above MPEG standards, MPEG-4 is being
widely adopted and used in the thesis.


Figure 2.1 MPEG Layers


Chapter 2 Related Works
10
Figure 2.1 shows that MPEG codes video sequence in hierarchy of layers.
These layers are Video Sequence, GOPs (Group of Pictures), Picture, Slice,
Marcoblock and Block. MPEG defines the following 3 Picture types [14, 15]:
1. I-Frame: I (intra) Frame which is the most important reference frame. It must be
the first frame of GOP. It can be individual decoded and referred by P-Frame and
B-Frame.
2. P-Frame: P (Predictive) Frame contains the difference between previous I-Frame
and P-Frames. It uses motion estimation, motion compensation and refers to
previous I-Frame and/or P-Frames to encode.
3. B-Frame: Bidirectional Frame contains the difference between previous and/or
future I-Frame and P-Frames. Like P-Frame, B-Frame uses motion estimation
and motion compensation to encode. However, B-Frame is able to refer previous
and/or future I-Frame and P-Frame when encoding.


Figure 2.2 Typical GOP Structure of Surveillance System Encode Stream

Although the MPEG standards defined these three types of Pictures, currently

Chapter 2 Related Works
11
most surveillance systems encoders contain only I-Frames and P-Frames. A typical
GOP structure of surveillance system encode stream is described in Figure 2.2.
I-Frame and earlier P-Frames are the references of later P-Frames. It means that
I-Frame and earlier P-Frames have higher priority than later P-Frames. Therefore,
the fragmented GOP received at receiver side may result in failure of reconstructing
lower priority frames.

2.2 Transport Protocol

The transport protocol provides an end-to-end data transfer service. A transport
protocol can be connection oriented such as TCP, or connectionless such as UDP. In
protocol architecture, the transport protocol sits above network layer and below
application other upper-layer protocol [16, 17].


Figure 2.3 Transport Protocols in Context

Chapter 2 Related Works
12

The transport protocol provides services to transport services users such as HTTP,
FTP and SMTP. The general service provided by a transport protocol is the
end-to-end transport of data in a way that shield upper layer protocols from the details
of the intervening networks. The following discussion focus on two widely used
transport protocols: TCP and UDP.

2.2.1 TCP

TCP (specified in RFC 793) is a transport-level protocol in common use over IP
network. It provides connection service for application-level procedures. It is
designed to provide reliable communication between TCP users across a variety of
reliable and unreliable networks. Delivery and duplicate protection are guaranteed by
TCP. It includes the establishment, maintenance and termination of logical
connection between transport service users [17].

TCP segment which is an only single type of protocol data unit used for TCP.
TCP header can be found in Figure 2.4 [17]. Because one header must serve to
perform all protocol mechanism, TCP header with a minimum length of 20 octets is

Chapter 2 Related Works
13
rather large. It is worth observing that the TCP/IP linkage means the minimum
overhead required for every packet is actually 40 octets.


Figure 2.4 TCP Header

TCP mechanism can be grouped into the categories of connection establishment,
data transfer and connection termination [17]. It should be noted that a connection is
uniquely determine by the source port and destination port. There can be only a
single TCP connection between a unique pair of ports. However, a given port can
support multiple connections, each with a different partner port. For example, a web
server uses port 80 which supports multiple connection requests.

In order to get through some network devices block UDP traffic, such as firewall
and router, TCP is used for streaming applications currently.


Chapter 2 Related Works
14
2.2.2 TCP Congestion Control

Since the publication of TCP, a number of techniques have been implemented that
intend to improve TCP congestion control characteristics [10]. The techniques can be
fall roughly into two categories [10]: retransmission timer management and window
management.

The retransmission timer management approach aims at a static retransmission
timer is likely to be either too long or too short. Accordingly, TCP implementations
attempt to estimate the current round-trip delay and then set the timer to a value
somewhat greater or smaller than the estimated round-trip delay. On the side, in
addition to improve the effectiveness of the retransmission timer, the window
management approach has been examined. Window management aims at the size of
TCPs send window which can have critical effect on TCP.

No matter which congestion control mechanism has implemented, TCP can be
used efficiently without causing congestion. Therefore, TCP packet is allowed by
most network devices.


Chapter 2 Related Works
15
2.2.3 UDP

UDP (specified in RFC 768) is another common transport-level protocol in use as
part of TCP/IP protocol suit. Contrary to TCP, UDP provides a connectionless
service for application-level procedures. It is basically an unreliable service [16].
Delivery and duplicate protection are not guaranteed in UDP. Besides, UDP has no
any congestion control mechanism. Therefore, UDP packet is not allowed by most
network devices.

Although the strengths of connection-oriented approach are clear, connectionless
service is more appropriate in some application. Sometimes connectionless service is
even more robust. UDP has little to do in a connection. Essentially, it adds a port
addressing capability to IP. UDP header is illustrated with Figure 2.5 [16]. Contrast
to TCP, the required minimum overhead for every packet of TCP/IP linkage is
decreased to 28 octets.


Figure 2.5 UDP Header

Chapter 2 Related Works
16
2.3 Real-Time Video Streaming QoS

Transmission of real-time video streaming has bandwidth, delay and loss
requirement [6]. However, there is no QoS guaranteed for video transmission over
the current Internet. In addition, it is difficult to achieve bandwidth efficient and
service flexibility cause the heterogeneity of the networks and receivers. In order to
address the above issues, two general approaches have been proposed [5, 6].

The first approach is network-centric. The network-centric approach requires that
the router/switch in the network must provide QoS support. This approach has
guaranteed bandwidth, delay, jitter, and packet loss for specific applications (e.g.,
Integrated Services, or Differentiated Services) [19, 23]. The second approach is
solely end system-based. The end system-based approach does not impose any
requirements on the network. In particular, the end systems employ control
techniques in order to maximize the video quality without QoS provided by the
network. The end system-based approach has been extended studied and various
techniques have been proposed. Those techniques can be roughly subdivided into
two areas: error control and congestion control.


Chapter 2 Related Works
17
The error control approach aims at the unavoidable packets losses in the Internet.
Packets loss may have significant impact on the perceptual quality. The basic types
of techniques of error control are forward error correction, retransmission, error
resilience, and error concealment [5, 6].


Figure 2.6 Layer Architecture of Congestion Control Approach

The congestion control approach aims to mitigate the bursty loss and excessive
delay. Bursty loss and excessive delay caused by network congestion, which have
devastating effects on video quality. The congestion control approach has three
techniques to reduce packet loss and delay. These three types of techniques are rate
control, rate-adaptive video coding, and rate shaping. Note that rate control is from
the transport perspective, while, rate adaptive video encoding is from the application
perspective. Further, rate shaping is in both transport and application domain [1].

Chapter 2 Related Works
18
The layer architecture of congestion control approach is shown in Figure 2.6 [5].


Chapter 3 Methods
19
Chapter 3 Methods

3.1 Surveillance System Architecture

An IP CAM is a video camera that contains a video encoder and TCP/IP interface.
As previously mentioned, IP CAM is better than analog system and WEB CAM in
many aspects. It could link to the Internet directly without external computer. Also,
it consists of a built-in web server, which is capable of accessing digital images and
configuring the camera. Its digital output integrates with a wide range of applications.
Finally, it could utilize preexisting infrastructures, just like wired or wireless networks
as known.

As presented in the previous chapter, surveillance system based on IP CAM has
many benefits, such as utilization of existing IP infrastructure, larger scalability,
flexible placement, remote viewing/controlling, better image quality, and free from
specialized recording equipment. Therefore, this thesis presented a novel architecture
of surveillance system based on IP CAM.

Figure 3.1 shows the fundamental architecture of a surveillance system using IP

Chapter 3 Methods
20
CAM, which is able to compress captured images and deliver them over the Internet.
Meanwhile, it is feasible for surveillance on browsing video streaming via a web
browser such as personal computers, laptops, PDAs, and so on. As long as Internet is
accessible, surveillance can be performed.


Figure 3.1 Architecture of Surveillance System Based on IP CAM

Real-time applications are usually based on RTP/UDP nowadays. The RTP
payload data are stored in UDP packets and then transmitted through the IP networks
[8]. However, neither RTP nor UDP contains the congestion control mechanism, which
could lead to collapse of the Internet [21]. Moreover, UDP packets may be discarded
by a router or a switch from disallowance in real networks. Nevertheless, TCP has
the congestion control mechanism and guarantees the allowance of packets by most
network devices. Furthermore, HTTP is a communication protocol for transferring

Chapter 3 Methods
21
information on intranets and WWW (World Wide Web). Basically, it is a simple
request/response mode [20]. IP CAM acts as a server and the surveillant would be a
client. Surveillance system based on IP CAM could just meet intimately the
server-client model. Therefore, an effective surveillance system could be designed as
utilizing IP CAM for server and HTTP/TCP for transferring data.


Figure 3.2 Video Streaming Deliveries Based on HTTP/TCP

Figure 3.2 shows the system transfer data through HTTP. The receiver connects
to the IP CAM for browsing the video streaming. Then, the IP CAM keeps
transferring the captured video streaming to receiver continuously until the connection
terminates. The receiver could browse the video streaming on a web browser or any
type of HTTP-based camera-monitoring software which supports MPEG-4 standard.

Chapter 3 Methods
22
This transmitting flow is convenient and easy to accessible for surveillant.

According to previous section, the architecture of surveillance system based on IP
CAM and HTTP/TCP is simple but robust. However, the transmitting flow in the
architecture may cause excessive end-to-end delay which results from TCP
retransmission mechanism and insufficient computability of the receiver side [2].
The model and algorithms proposed by this thesis for solving the problems will be
discussed in next subsection.

3.2 Proposed Model

Network bandwidth and computability of receivers devices display an important
role in the quality of video streaming. Insufficient network bandwidth and
computability may both result in transmission delay and a full TCP queue. A
transmission delay and a full TCP queue lead to discard of latest encoded frames in
sender side and hence receivers obtain fragmented GOPs. Figure 3.3 is an example
that TCP full queues result from insufficient computability of receiver [9]. A full
decoding queue results in a full TCP queue at both receiver side and sender side.
Also, it makes the new encoded frames definitely discarded in sender side which

Chapter 3 Methods
23
decreases the performance of the surveillance system.


Figure 3.3 An Example of TCP Full Queues

Each receiver receives the same video bit streams in the architecture described in
section 3.1. Because of receiving the same video bit streams, the receiver could not
decode the frames immediately if it is restricted by insufficient network bandwidth or
computational capability. Then, the system may be hard to control the video quality
of receiver.

Figure 3.4 presents frames discarding model of the surveillance system. The
model assumes that IP CAM transmits video streaming to three different receivers at
the same time. Although each receiver has its own transport layer (known as TCP

Chapter 3 Methods
24
link), they share the same application layer (the same video bit streams). In this
model, PDA is insufficient in computational capability which may slow down its
decoding speed. As a result, the decoding queue and the TCP queue are nearly full
resulting in fragmented GOPs.


Figure 3.4 Frames Discarded Model of Surveillance System

The common method to solve the problem is showed in Figure 3.5. It reveals
that if the system detects the available queue space is not big enough for
accommodating new frames; it will start to discard incoming encoded frames. It is a
simple way to eliminate the situation of a full TCP queue. However, there is still
room for improving the method because of the following drawbacks:

Chapter 3 Methods
25
1. The system only discards the necessary frames when the system detects that the
TCP queue are nearly full.
2. The system does not guarantee that the receiver could decode and playback the
video packets in time.
3. In this model, all receivers share the same video bit streams. If the system
discards frames in order to eliminate full queue, each receiver will receive the same
incomplete bit streams.

Figure 3.5 showed that the laptop, PC and PDA share the same bit streams.
Assume that the queues of PDA become full because of insufficient computational
capability. The system has to discard frame b and frame c to reduce the queue length
of PDA. As a result, the laptop and PC could only receive the frame a and frame d
instead of the complete bit streams.


Figure 3.5 A Common Method to Eliminate TCP Full Queue

Chapter 3 Methods
26
In order to solve the problems, the thesis proposed a new model for alleviating
TCP full queue and transmission delay as shown in Figure 3.6. In this model, each
connection is associated with its own frame discarding mechanism. The proposed
model only discards frame c and frame d for PDA when its queues are full, but not
discards any frame for laptop and PC.


Figure 3.6 Proposed Method to Eliminate TCP Full Queue

In Figure 3.7, each receiver has its own algorithm unit and transport layer unit.
The encoded frames are sent to encoding queue, and are subjected to be discarded by
the algorithms. Note that each algorithm unit makes its own decisions according to
its network bandwidth and computational capability. The successful transmitted
packets are sent to decoding queue in the form of bit streams. Consequently, the
video player decodes and displays the bit streams on the screen.


Chapter 3 Methods
27
The proposed system model builds a frame rate control algorithm unit between
application layer and transport layer. Proposed system model enforces individual rate
control to each connection. The algorithm units monitor network bandwidth and
queue size, and provide the collected information to IP CAM for regulating frame rate
depending on this information. The proposed algorithm must be simple because IP
CAM is an embedded system having limited computational capability. If the
algorithm is too complicated, it may impose high computational load on IP CAM and
the proposed system could not response to varying network environments of different
receivers immediately. The details of algorithms based on the proposed system
model would be discussed in next section.


Figure 3.7 Proposed Cross-Layer System Model

Chapter 3 Methods
28
3.3 Proposed Algorithms

Algorithm 1 is a basic discarding method which discards frames when encoding
queue is full as shown in Figure 3.8. The system discards frame when detecting a full
encoding queue regardless of frame type. It means that this algorithm has no frame
priority-aware. As mentioned in section 2.1, the lower priority frames can not be
decoded if higher priority frames have been discarding in a GOP.


Figure 3.8 Algorithm 1 Process Flow Diagrams

The algorithm 2 can be used to eliminate this drawback what the algorithm
detects a full queue, it will discard all the remaining frames in the current GOP.
The process flow of algorithm 2 could be found in Figure 3.9. Algorithm 2 protects
every I-Frame and discards all the P-Frames when system detecting the encoding
queue is full. This algorithm eliminates a full queue issue, but it does not have

Chapter 3 Methods
29
timing-aware. However, other proposed algorithms in this work has timing-aware
and are based on a novel selective frame discard model.


Figure 3.9 Algorithm 2 Process Flow Diagrams

Before presenting these algorithms, this subsection first briefly introduces some
basic facts of our new selective frame discard model. The proposed model assumes
that IP CAM encodes video frames 30 fps (frames per second). Thus, the time
between two adjacent frames is T = 1/30 sec. The time injected to encoding queue
for initial bit streams (i.e. 0
th
frame) is t
0
, and the time at the i
th
frame injected to
encoding queue would be t
0
+ iT. The waiting time in the encoding queue for the i
th

frame is denoted by T
i,S
. The duration time in the TCP queue is T
i,TCP
, and the
network transmission delay is T
i,N
. Let E
i
be the injection time to the decoding queue
of the i
th
frame, and could be expressed as followed.


Chapter 3 Methods
30
E
i
= t
0
+ iT + T
i,S
+ T
i,TCP
+ T
i,N
(1)

The i
th
frame will be displayed at time epoch P
i
based on frame rate 30 fps on
receiver side. The time epoch P
i
becomes

P
i
= P
0
+ iT , (2)

where P
0
is the buffering time in receiver of a initial frame, thus P
0
can be written as

P
0
= t
0
+ T
0,N
+ T
B
, (3) B

where T
B
is the initial buffering time in the TCP queue and decoding buffer which
starts to count immediately as the 0 frame arrives. Assume that the system
guaranteed the playback time of i frame, which requires that
B
th
th

E
i
P
i
(4)

After substitution Eq.1 and Eq.2 into Eq.4 leads to the following equation:


Chapter 3 Methods
31
T
i,S
T
B
( T B
i,N
T
0,N
)T
i,TCP
(5)

The proposed algorithms perform rate control mechanism based on Eq.5. In the
Eq.5, the waiting time T
i,S
is known as duration period of the i
th
frame in a algorithm
unit. In addition, the T
B
is a constant which is estimated at the receiver side.
Consequently, for the proposed algorithm, it is necessary to estimate i = ( T
B
i,N
T
0,N
)
and T
i,TCP
in Eq.5.

The i is the difference of transmission delay between 0
th
frame and i
th
frame.
The transmission delays is the duration a packet transmits from transmitter to receiver,
which is estimated by RTT (Round-Trip Time). RTT is computed as the difference
between the time a packet is sent and the time an ACK for that particular packet is
received [3, 18]. An example that estimating RTT in transmitter side is shown in
Figure 3.10. The n
th
RTT is the duration between n
th
packets have sent and n
th
ACK
has received in transmitter side. It means that T
0,N
and T
i,N
could be estimated by
RTT.

The frame size and throughput of the TCP queue determine the duration time
T
i,TCP
of i
th
frame in TCP queue. The T
i,TCP
could be estimated by size of the i
th
frame

Chapter 3 Methods
32
divided by average throughput of TCP queue. The size of i
th
frame can be know prior
to the computation of T
i,TCP
. The throughput of the TCP queue can be obtained from
operating system kernel.


Figure 3.10 Round-Trip Time of TCP Flow

Therefore, the estimation of i and T
i,TCP
based on Eq.5 is a simple calculation.
Hence, the proposed algorithm would be well-suited for limited computability
embedded system such as IP CAM.

There are two conditions triggering frame-discarding:
1. T
i,N
and T
i,TCP
could increase at the congestion or unstable network bandwidth, and

Chapter 3 Methods
33
Eq.5 may not be held.
2. The insufficient computability of receiver results from decoding speed lower than
encoding speed of IP CAM ASIC. Insufficient computability of receiver results
in increasing T
i,S
and T
i,TCP
, and Eq.5 may not be held.

As stated in previous discussion, detecting insufficient network bandwidth and
computability of receivers device is effective and critical. Algorithm 3 was proposed
according to above description. Comparing to algorithm 2, algorithm 3 takes both
network bandwidth and decoder computability into account. The pseudo code of the
algorithm 3 is described in Table 3.1. The purpose of algorithm 3 is to discard frames
according to Eq.5, but it does not have priority-aware.

Table 3.1 Pseudo-Code of Algorithm 3
Given a frame i inside a GOP,
If ( ((frame i = = I-Frame) && (T
i,S
T
B
( T B
i,N
T
0,N
)T
i,TCP
)) ||
((frame i = = Pk-Frame) && (T
i,S
T
B
( T B
i,N
T
0,N
)T
i,TCP
)) )
Admit();
else
Discard();

Chapter 3 Methods
34
As mentioned in section 2.1, it should be noted that each frame in the GOP has
different priority. The proposed algorithm 4 is based on Eq.5 and also taking into
account the frame priority. Assume that IPRatio is 1: N, and let Pk to represent the
numbers of P-Frames behind I-Frame which denoted Pk-frame, where k=1, , N.
The pseudo code of the algorithm 4 is described in Table 3.2.

Table 3.2 Pseudo-Code of Algorithm 4
Given a frame i inside a GOP,
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();

The algorithm 4 is more practical than algorithm 3. Certainly, it is simple and

Chapter 3 Methods
35
more suitable for IP CAM. However, the network bandwidth varies rapidly. The
proposed algorithm should preserve resource for higher priority frames when the
available bandwidth decreases or the receiver has insufficient computability. The
encoded bit streams would become undecodeable because of losing higher priority
frames. Figure 3.11 shows an example. The proposed architecture encodes frames
based on IPRatio 1:29, which means that one GOP contains one I-Frame and
twenty-night P-Frames. The 29
th
frame is the last P-Frame having lowest priority in
the GOP, and the 30
th
frame is I-Frame having highest priority in next GOP. However,
the 29
th
frame may satisfy with Eq.5 but not 30
th
in the case of decreasing available
resources. This situation would result in the loss of the entire next GOP.


Figure 3.11 Defect of Algorithm 4

In order to modify the issue mentioned above, this thesis proposed the algorithm 5
for solving the problem. When the system detects the decreasing resource, the lower

Chapter 3 Methods
36
priority frame will be discarded definitely. In Figure 3.12, algorithm 5 discards the
29
th
frame but keeps the 30
th
frame. It preserves I-Frame to avoid the loss of an entire
GOP.


Figure 3.12 Expected Result of Algorithm 5

Let

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)

You might also like