Video surveillance system (VSS) is a software analog of a real hardware based
system. This means that the program system has the same characteristics as its
hardware equivalent: speed, scalability, extensibility and smart and flexible
control.
Channel editor window All this is possible, since the program is constructed
under open COM-based software architecture. The main package consists of a
software kernel which persists as a constant. All system components can be
attached and connected together if necessary. I.e. a user can construct his own
surveillance system.
The main concept of the program is possibility for users to create several
surveillance channels. Each channel contains a set of different interacting
objects. For example, a simple surveillance channel must contain a video source
object (camera), a motion detector object and a channel display object. The
program is built in channel editor. A user can graphically create a channel by
dragging and connecting the available objects to the channel scheme. Then he has
to define the design-time properties of objects: for example, to select a camera
for the video source object, to define precision for the motion detector and so
on.
Main programm window The main "pearl" of a channel is its self-control, i.e.
ability of one object to control another one. For example, the motion detector
object can control the AVI writer object, which starts recording AVI file when
motion is detected. The same is true for other objects: each object can be
controlled by another one. This concept is based on the object state notion.
Each object has its own object state. For example, the color processing filter
stores four values as its state: brightness, contrast, hue and saturation. In
general, to control this object you have to access each property and set its
value. But this approach is too complex for common users, since it can be
implemented only via script writing (real programming). So we found another way
which is close to hardware systems. Hardware systems are controlled by logical
signals. For example, a signal from a motion sensor turns on a video recorder,
or a siren. The same approach is realized in the program. Each channel object,
as mentioned before, has its own state. To control separate values by a logical
signal is too complicated, but we can control the entire object state. For each
object a user can define a separate set of states. For example, for a color
processing filter he can define states "Day" and "Night", for AVI writer -
"Writing" and "Stopped" and so on. All we have to do after that is to transmit
the specified state to a program sensor (for example, the motion detector). This
can be done also by channel editor. An object has a logical input pin for each
state, so you simply have to connect the sensor output pin with the object state
input pin. Based on this concept users can construct systems with different
levels of complexity, from systems of personal use with one or two channels
(home, flat, car surveillance systems) to large industrial systems with more
than 16 channels (shops, offices, supermarkets and so on).
Program configuration window Open COM-based architecture allows the program
functionality extension. If you want to add a new function, there is no need in
rebuilding of the whole program. It is sufficient to create an additional object
for the surveillance channel level, or for the application level. For example,
the creation on customer's demand of an object to dial the customer's phone
number when alarm occurs will take 1-2 days at a very low cost. But if the
customer has some experience in programming, he can create this object himself.
He can use Microsoft VB or Microsoft Visual C++ for that purpose.
And of course the system has properties intrinsic to all software systems:
security access, smart searching of video records, logging, integrated help,
translation to different languages on the fly and so on. Presently the program
is actively used by our customers. It has about twenty standard objects: several
video inputs for object, motion sensor, light sensor, direction sensor, alarm
phone caller, AVI writer, AVI reader, logical objects, display and so on. The
program is still developing, and it will live for a long time and be
successful and useful in future.