| Schematics of the VISCA-Server: |
![]() |
| During the tracking of a person,
the cameras zoom was updated continuously according to the distance the
visitor had to the Gazer. The other parameters we wanted to control,
remotly were related to the light sensitivity of the camera. For this
purpose a Camera Server camera server was developed that was able to use
the VISCA camera control protocol. The Server was administering ten
camera objects of 9 Gazers (one Gazer had 2 cameras). Each camera object
needed to control a serial port to transmit the VISCA Protocol. Two
serial ports were on board, eight serila ports on a PCI extension card.
The cameras had access to the command list of all the VISCA commands.
149 commands, acknowledge signals and inquiries were implemented.
Acknowledgment signals between physical cameras and camera objects
report a successful execution of the command. In case a camera got
disconnected after sending a command, an endless wait time for the
acknowledge signal had to be avoided. Therefore after a timeout of 5
seconds the camera object was marked as dysfunctional and set as
unavailable. The camera zoom was adjustable according to the distance of the visitor to guarantee a constant head and torso image size of the visitor's image captured by the camera. The goal was to keep the visitor's aspect (head diameter/image width) constant with the distance. The relation between zoom factor and imaged object size was a non-linear function. We achieved a good result with less than two percent error for our measurements with a polynomial of third degree. This function now allowed us to adjust the zoom in a way that kept the image width and therefore the head size on the image constant for a variable visitor to camera distance (see Conclusion section for performance measurements). Achieving a well centered and well zoomed visitor image allowed Ada to show the Gazer's video stream and recognizable still images on the projection screen. |
| Browse
the code |