Live and Active Views through the World Wide Web

Shigeki Shibayama, Kenji Morita, Mamoru Sato, Hiroaki Sato, Hideyuki Tamura

CyberMedia Project, Canon Inc.

890-12, Kashimada, Saiwai-ku, Kawasaki, 211 Japan.,,,,

1. Introduction

The explosion of the World Wide Web has brought about a lot of ideas to give viewer clients more and more benefit. From information providers' viewpoint, giving clients more interesting web pages results in frequent visit to the page, enhancing the popularity of the business being presented in those pages.

One of such ideas is multicasting, in the general sense of the word, live pictures through the Web. The web browsers have been equipped with still image display capabilities such as GIF or JPEG. For server's side the cost reduction of video capture devices enabled the low-cost opportunities to transmit captured digital live images to the Internet. With additional technical methods it is considered as a natural extension of this tendency to transmit live video images to the Internet. It is, however, not always possible because of the unpredictable bandwidth en route from the server to the client. Protocols such as RTP is proposed and is being implemented aiming at providing a better protocol for such continuous media transmission over the Internet.

Though the multicast technology and the RTP is not available currently, the number of sites which provide live image transmission has been increased to about five hundred this July. Some trials have been carried out to broadcast video images via Internet similar to the television broadcasting. Some video cameras, such as Canon's VC-C1, provide remote-control capabilities for this kind of live image capturing. The camera is equipped with remote pan, tilt and zoom capabilities with auto-focusing and backlight compensation, which also is controllable by the computer.

Remote controllable cameras are usually equipped with commodity RS232C interface to receive control commands from computers; the video output, similar to consumer-use VCRs, is supplied to video-capture boards in, for example, NTSC composite signals.

We have implemented a camera server and client system which consists of a PC, a video board, the controllable camera and server software enabling still/motion image transmission to the Internet. We have set up a protocol to control the camera via the Internet by which the client, a plug-in or helper to web browsers, can control the camera using, for example, scroll bars. The application-level camera control protocol is designed over an abstract camera model so that the protocol can be applied to a variety of such cameras. To incorporate different cameras into this system, only the camera-control device driver has to be changed for the application system to be operable.

In this position paper, we first briefly introduce our system. Then we describe the overview of the camera control protocol.

2. System Specification and an Implementation

The system, code-named WebView, is a video transmission system for use in both live still-frame mode (for transmitting of a still picture captured at the time the user accesses the home page) and live video mode (for transmitting of video during access to the home page), giving active control of camera angle, zoom and other features to the user through the home page interface. The system consists of a WebView Camera Server to transmit live video captured through Canon's VC-C1 Communication Camera on the Internet, and WebView viewer software for viewing of the live video broadcast. As the WebView Camera Server is linked directly to a WWW home page, the user is able to view live still pictures through a standard Web browser, or video via WebView viewer software.

The conceivable applications include fixed observation, traffic monitoring, pay-per-view systems, on-line showrooms, desktop exhibitions and so on. With intranet bandwidth the system could also be used for broadcasting of high frame-rate video services.

The screen sample of the viewer software is shown in Figure 2.

3. Camera Control Protocol

The Camera Control Protocol layer is shown in Figure 3. The Standard Camera Command set represents an abstract controllable camera. The Custom Command set provides camera-specific commands associated with each camera hardware and can be used to enhance the Standard Camera Command set. These Command sets are interfaced to a lower level of abstraction, namely an abstract Camera Device Driver API, which is an abstraction of drivers of different instances of camera device drivers. The Switcher API also provides another abstraction of the camera switcher, which provides the functionality of switching among plural cameras connected to that camera server. There is actual hardware products for switching among, say, four cameras controlled by the serial port of a PC. The switching function could be provided by switching among those cameras which are connected to the PC by way of separate video boards. In this case there is no actual switcher hardware outside the PC. The switching is done internal to the PC. Because the switcher abstraction layer also provides an API common to various implementations of switchers, the upper layer does not have to be altered by selecting specific switchers. The benefit of providing these abstract layers, obviously, is to make the Camera Control Server independent of the variety of camera devices, camera switching devices and the system configuration. In cases a specific camera is discontinued, the maintenance of the Camera Control applications is confined to the device dependent layer of the applications.

Standard Camera Command SetCustom Command Set
Camera Server Implementation
Switcher & Camera Communication Device Driver API
No Switcher
Canon Switcher
Other Switcher
Camera Communication Device Driver API
TTY Driver
USB Driver
Special Driver

4. Conclusion

We have described the notion of live image transmission system in the Internet. With the utilization of advanced cameras directly connectable and controllable through the Internet, the area of such applications is expected to expand in pace with the realtime transfer protocols. However, hardware instances of such devices are varied and software to utilize them should clearly separate the implementation layers of such devices. We have shown that there are layers of abstractions for such situations. And we suggest that application software will benefit tremendously if there is a common protocol and API for construction of such software.

Appendix: WebView System Specification
WebView - Camera Server
Required hardware: IBM PC/AT or compatible
Operating system: WindowsNT
Video input device: Canon Communication Camera VC-C1 Mk-II
Video compression method: JPEG (Motion JPEG), Indeo3.2
Image size: Five possible sizes from 80x60 to 640x480

WebView - Viewer software

Available as helper application or Netscape plug-in module.
Required hardware: IBM PC/AT or compatible
Operating system: Windows95 / WindowsNT3.51 or later/MacOS/UNIX
*Macintosh OS and UNIX viewer is under development.