Submitted to Terena Networking Conference 2000 "Pioneering Tomorrow's Internet", Lisbon, 22-25 May 2000 (/cfp.html).

VIDOS, a system for editing and customizing videos over the Web

David M. Shotton and Thomas Boudier: Department of Zoology, University of Oxford, South Parks Road, Oxford OX1 3PS, UK.

Correspondence to Dr David M. Shotton: E-mail: ; Tel: +44-1865-271193, Fax: +44-1865-310447. Dr Boudier's current address is GRIB, Universite Paris 6, 12 rue Cuvier, 75005 Paris, France (e-mail: )

Keywords: Java, video customization, video download specification, video editing, Web editing

Abstract: VIDOS is a Java-based software system that allows one to edit and customize a digital video over the Internet or local intranets, adapting its content, size, format and compression quality to suit its intended end use. By utilizing the computing power on a VIDOS server, the user can gain sophisticated digital video editing capabilities while using an under-powered PC and without the need to purchase expensive editing software. By reducing the size of digital video files, VIDOS can improve corporate and personal efficiency by speeding up network transfers and cutting disc storage requirements.

1 Introduction

VIDOS is a new video download specification system developed to meet the need for convenient, flexible and user-friendly digital video editing over the Internet or local intranets. It permits you to edit and customize a personal version of any digital video available on the network, including your own locally-stored videos. Using VIDOS, you can select an area and time period of interest, specify the zoom factor, the frame rate and the video format, and choose the nature and quality of digital compression to be applied, before downloading the edited video to your own computer. This enables you to adapt videos to suit your intended uses, or to match them to your video playback software, the bandwidth of your network connection, and your available disc storage space. Since all the numerically intensive computations are performed on the VIDOS server, this is all achievable without you having to upgrade your own personal computer (PC) or install costly video editing software, and can result in substantial savings in download times and disc storage requirements.

The VIDOS system uses standard client-server protocols and VIDOS client interfaces that involve platform-independent Java applets running in a Web browser environment, by which the user can select a video and specify the parameters to be used in preparing the customized version of it. These customization parameters are then passed to the main VIDOS program running on the distant VIDOS server. Also written in Java, this program utilizes standard software libraries and utilities to produce the desired edited and personalized version of the video, which can then be downloaded to the user's computer. The simplest VIDOS configuration is shown in Figure 1while a more complex system illustrating further capabilities is illustrated in Figure 2The features of the current version of VIDOS (Version 2.1) are detailed below.

2 Characteristics of the VIDOS client

Using the VIDOS system, you enter the parameters required to customize a personal version of a particular digital video, you are informed of the consequences of these parameter choices in terms of the estimated compression time and final video file size, and you may request to see a preview of the customized version, prior to final downloading. All parameters have initial default values, and, if incompatibilities in the choices are made, the program will inform you and offer appropriate alternatives. On-line help is available to guide you in making these choices. The various stages of the VIDOS customization process, summarized in the flow diagram presented in Figure 3are explained below.

2.1 Initialization

You have two alternative ways to enter the VIDOS video customization environment, that depend upon how and where the video to be edited is stored. One way is to access a VIDOS-enabled video database such as the BioImage Database ( ), a new database for multidimensional microscopic images and videos of biological specimens [1, 2]. Such a database will contain relevant information about the size and format of each video within it, and a link from each video description to the server VIDOS video conversion program itself. (Footnote 1)

Alternatively, if the desired video is not held in such a database, you can access a VIDOS server directly, and then specify the video required, which may be stored at a separate location. The VIDOS home page that opens on your screen displays introductory information and a button labelled  . When you click this, a new Web page, the VIDOS video selection interface, is sent to your computer. This containing an embedded Java VIDOS video selection applet, which enables you to specify the URL of the video file you wish to customize. When you now click the   button, this URL is sent to the server VIDOS video retrieval program, which will retrieve the requested digital video file from its source.

The program then determines various technical details about the video's current digital format, extracts the video's first and last frames, and displays an image of the first frame in your client VIDOS video selection interface, together with details of the video's current format under a heading  Video parameters:  , as shown in Figure 4

The buttons at the foot of the interface screen then present you with three choices. The obvious decision at this stage is to customize the video you have selected using the main VIDOS video conversion program. However, you are also given the opportunity of retrieving another video in place of the chosen one, or of playing the chosen video in its existing format without editing it.

2.2 Specifying the customization parameters

If at this stage you do click the   button in the VIDOS video selection interface, the VIDOS server will send to your screen a new Web page, the VIDOS video customization interface, shown in Figure 5This too contains an embedded Java applet, the VIDOS video customization applet, that allows you now to specify the parameters that will be used in customizing your personal version of the selected video.

Spatial editing: First you determine the spatial extent of the video to be downloaded. To assist in accurate spatial editing, both the first and the last frames from the chosen digital video are displayed in the upper portion of this interface screen. By default the full frame is selected, but you may limit the spatial region of the video frames to be downloaded to a particular rectangular area of interest (AoI). The dimensions of this AoI may be defined in a number of ways: by using mouse clicks to identify its upper left and lower right corners; by typing cropping values in the four text boxes Left  ,  Right  ,  Top  and  Bottom  immediately below the video images; or by increase or decrease the values in these boxes using the adjacent   and   spinner buttons. Whichever method is used, the selected area of interest is interactively displayed by a rectangular red outline superimposed on both the first and the last video frame, as shown in Figure 5A zoom factor (magnification or demagnification) may also be specified in the right hand  Zoom %  box on this first row. Taking account of this zoom factor, the cropped frame size measured in pixels and the final zoomed download frame size are interactively displayed in the adjacent area. The applet also gives a rough estimate of the file size of the output video after such spatial editing, and the conversion time required to generate the customized video, these values being displayed near the foot of the screen and interactively updated as you modify the AoI cropping parameters, the zoom factor, and the other customization parameters described below.

Temporal editing: Beneath the boxes specifying the spatial constraints are similar boxes which enable you to undertake temporal editing of the original video (Figure 5). By entering values in the  Start  and  End  boxes, you can specify which frames in the original video will become the first and last frames of the customized video. The default values are to include the whole of the original video.   buttons at the right end of both the spatial and the temporal editing rows may be used to restore the original parameters.

Format and compression editing: The drop-down list boxes in the third row allow you to specify the final customizing parameters, those that relate to the digital video format and compression. The first of these,  Format , specifies the digital video format to be employed, with a choice between Video for WindowsAVI  ), QuickTimeQT  ) or MPEG-1MPEG-1   )format. The second box,  Rate fps , allows you to select the video frame rate, with the options of 10, 15, 20, 25 or 30 frames per second. Then comes Compression , where, when using Video for Windows or QuickTime, you can choose the compression-decompression algorithm (codec) to be applied to the video, from the following possibilities: CinepakCinepak  ), IndeoIndeo  ), Motion JPEG JPEG  ), Animation Run Length Encoding (  RLE  ), Video RPZA (  RPZA  ), or no compression (  None  ). Finally, under  Spatial quality , you can specify the compression quality setting to be used for this codec, with a choice between  High Medium  or  Low , corresponding to bitrates of 2,316,000, 1,158,000 and 579,000 bits per second for MPEG-1, or to spatial quality settings of 0.9, 0.6 and 0.3 for the other codecs. (Elsewhere we give details of these various video formats and codecs, and of the artefacts that each generates, measured using a variety of natural and synthetic test videos that we have made for the purpose [3] ). There is also an  Audio  check box (not shown in Figure 4) that appears only if the video has a soundtrack. By default, this is checked. If you uncheck it, the sound tracks will be omitted from your customized video. Within these drop-down lists, the original format settings of the particular video are indicated by asterisks.

Making the right choices: If you accidentally make incompatible choices when specifying these format parameters, for example by specifying MPEG-1 format with a frame rate of less than 25 frames per second, the applet will inform you of this by means of a message at the foot of the screen, and will offer appropriate alternative settings. If you need guidance, you may press the   button.

2.3 Customizing a preview video

Once you believe these parameters have been optimized for the required purpose, you may select one of two ways to proceed, using either the   button or the   button at the bottom right of the VIDOS video customization interface. The   button activates the customization of a preview version of the video, comprising the first fifty frames from the specified start point, which is then immediately displayed in a new browser window on your screen. In this way, you are able to make a final quality check, to ensure that the customized video will have the desired appearance and characteristics, before committing yourself to conversion of the complete video, which might take some time. After the display of this preview, you are returned to the VIDOS video customization interface, from which you can further revise the specification parameters, if desired, or request conversion of the entire video.

2.4 Customizing the entire video

Once you have fully optimized the customization parameters, clicking the   button will activate the VIDOS video conversion program on the VIDOS server, which generates the full customized downloadable digital video file containing just those portions of the original video you want, using the precise specifications that you have defined. While the conversion process is running on the distant VIDOS server, the applet message at the foot of the VIDOS video customization interface changes to indicate the percentage of conversion completed and the estimated time remaining.

The total editing and conversion time required may be several minutes, depending upon the length of the original video, the nature of the customization requested, the computing power of the VIDOS server itself, and the number of concurrent VIDOS clients. Although you will already have a good idea of how long this is likely to be, having been given an estimate by the VIDOS video customization applet, patience is required at this stage, since the customization involves computationally intensive tasks! However, since these processes are taking place on the distant VIDOS server, you are free to use your own computer for other applications during this period without risk of delaying the customization process.

2.5 Downloading the customized video

When the conversion has been completed, the V IDOS server opens a new window in the client Web browser, the VIDOS video download interface (not shown), which contains a simple message informing you of the final compressed size of your customized version of the original video, and which presents you with three choices. If, as is likely, you now wish to download and view the entire customized video, you should click the Download customized video link. The customized video (Figure 6will then be played in your Web browser and may be saved to a directory of your choice.

3 Characteristics of the VIDOS server

3.1 System configuration

The VIDOS server system currently runs on Silicon Graphics Inc. (SGI) systems running Irix 6.3 or later. In its simplest configuration, shown in Figure 1the VIDOS system involves a single client interacting with a VIDOS server on which the videos of interest are stored. However, the system is much more flexible than this, and is designed to permits several clients simultaneous intranet or Internet access to any one particular VIDOS server, and to allow that server to fetch for editing videos from sources anywhere on the network, as shown in Figure 2 If the server become fully occupied, a message "This VIDOS system is fully occupied. Please try later " is returned to the screen of the next client who tries to use the system.

3.2 Video retrieval

If the video to be customized is stored at a distant location, rather than on the VIDOS server itself, the VIDOS video retrieval program is employed to retrieve it. This Java program needs only the URL specified in the VIDOS video selection interface in order to execute its task. First it checks the validity of the URL, returning an error message to the client if this is invalid. Otherwise, it starts to upload the video file into the VIDOS server filestore, automatically updating information concerning the progress of the file transfer in the client VIDOS video selection interface.

Once the upload is complete, the server program obtains the relevant technical information about the video, using the SGI utility program dminfo to extract the number of frames, the frame size, the codec used, the compression quality settings used, and information concerning the sound track. The first and last frames are then extracted from the video using a program video2image that we have written in C, that makes calls to the SGI dmedia library in order to open the video file and access its data. Finally, the retrieval program transfers the image of the first video frame to the client VIDOS video selection interface, together with technical information about the original video format under the heading Video parameters:   (as shown in Figure 4), and prepares the VIDOS video customization interface Web page for later transfer to the client.

3.3 Video customization

When the client clicks the   button on the VIDOS video selection interface, the previously-prepared VIDOS video customization interface Web page (Figure 5is sent to the client, as previously described. As the user then proceeds through the editing process, the new client VIDOS video customization applet estimates the final compressed size of the customized video and the conversion time required, and displays this information interactively at the foot of the screen.

When activated to do so, by the user clicking either the   or the  button, the client applet sends the customization parameters to an instance of the VIDOS video conversion program running on the VIDOS server, which acts upon these customization parameters in two stages. The first stage is concerned with temporal cropping, the 'topping and tailing' of the original video to the user's specifications, or, if a preview video has been requested, to the first 50 frames of this selection. To achieve this, the VIDOS video conversion program calls a program croptempvideo that we have written in C using the SGI dmedia library, which creates a version of the original video comprising only the desired frames.

The VIDOS video conversion program then undertakes the second stage, by calling the versatile SGI media conversion program dmconvert in order to convert the cropped video according to the user's format specifications. As conversion proceeds, progress information is collected by the VIDOS video conversion program. This is passed back to the client applet and is displayed to the user at the foot of the VIDOS video customization interface. When conversion of the entire video is complete, the client is sent a new HTML page, the VIDOS video download interface, as described above.

4 Conclusion

With the enormous projected growth of digital video traffic on intranets and on the Internet for personal, business, educational, governmental, scientific and home entertainment purposes, we anticipate that VIDOS will prove to be of significant usefulness. VIDOS is patent pending technology [4].  Enquiries should be addresses to Isis Innovation Ltd, the intellectual property company of the University of Oxford ( ). At present, a demonstration VIDOS system is running at


5 Acknowledgements

This research has been funded by the European Commission IV Framework Biotechnology Infrastructure Project BIO4-CT96-0472 "BIOIMAGE: A European Database of Biological Volume Images" [1, 2]. We thank our colleagues in the BioImage Database Project ( ) for helpful comments on an early version of this development, and particularly Rüdiger Fritsch for incorporating the VIDOS system into the BioImage Database.

6 References

[1] J.-M. Carazo, E. Stelzer, A. Engel, I. Fita, C. Henn, J. Machtynger, P. McNeil, D. M. Shotton, M. Chagoyen, P. A. Alarcon, S. Lindek, R. Fritsch, B. Heymann, S. Kalko, J.-J. Pittet, P. Rodriguez-Tome, T. Boudier, Organising multidimensional biological image information: The BioImage Database. Nucleic Acid Research 27 (1999) 280-283.  Return to text  Return to acknowledgements

[2] J.-M. Carazo, E. Stelzer, BioImage: The start up of a new data base containing multidimensional biological images. Journal of Structural Biology 125 (1999) 97-102. Return to text   Return to acknowledgements

[3] T. Boudier, D.M. Shotton, Video on the Internet: A guide to the digital encoding and transmission of moving image data. Journal of Structural Biology 125 (1999) 133-155.Return to text

[4] British Patent Application (No. 9624783.4; 11 November 1998) 'Method and device for retrieving video data from a remote source and video data source for remote retrieval'.   International  Patent Application (No. PCT/GB99/03751; 11 November 1999) 'Method and device for retrieving customized moving image data from a remote source and a moving image data source for remote retrieval'.  Return to text

[5] E. Muybridge, The Horse in Motion. United States Library of Congress, Washington DC. (1878) Return to Fig 4 legend

7 Author biographies

David Shotton is a member of the Biological Sciences faculty at the University of Oxford, with particular interests in the use of time-lapse video microscopy for cell biological research. He is a founder member of the BioImage Database Project, and is currently undertaking research in query-by-content of biological videos. He received bachelor, masters and doctoral degrees from the University of Cambridge during the late 1960s, and then worked at Bristol University, UC Berkeley, Harvard University, the Weizmann Institute and Imperial College London, before moving to Oxford University in 1981.

Thomas Boudier received a degree in Mathematics in 1992 from the University Denis Diderot (Paris 7), France, a Masters in Computer Vision in 1993 from the University of Nice, France, and his doctoral degree in Computer Sciences applied to Biology in 1997 from the University Pierre et Marie Curie (Paris 6), France. He worked with David Shotton at the University of Oxford on the BioImage Database Project in 1997 and 1998, and is currently working at the University Pierre et Marie Curie, Paris. His research interests include image processing and analysis, 3D reconstruction, bioinformatics, and digital video compression.

8 Figure legends

Figure 1

(Click on heading to see figure)

A schematic diagram of the components of the simplest VIDOS system, such as is running on the VIDOS demonstration Web site ( ), in which a single user (VIDOS client, on the left) may connect to a VIDOS server (on the right) running only the VIDOS video conversion program, accessing locally-stored video files and using the system software libraries to assist in video conversion. Return to first citation   Return to second citation

Figure 2

(Click on heading to see figure)

A schematic diagram of the components of a more complex VIDOS system, in which several users (VIDOS clients, upper left) can be simultaneously connected to a VIDOS server (right). The VIDOS server is able to access video files stored locally, on the clients' Web servers, or on distant Web servers (lower left), and uses system software libraries to assist in video conversion. User access to VIDOS is on a first-come first-served basis. In the illustration, the first client, using the VIDOS video selection interface, is connected to VIDOS video retrieval program 1, while the second client, using the VIDOS video customization interface, is connected to VIDOS video conversion program 1, the system having capacity for four more simultaneously-connected clients. Return to first citation
Return to second citation

Figure 3

(Click on heading to see figure)

A flow diagram of the interactions between a VIDOS client on the left and the VIDOS server on the right, leading from the initial selection of a video, through the editing stages, to the final downloading of the customized version of the video to the client hard disc. The individual stages are described in the text. Return to text

Figure 4

(Click on heading to see figure.  Click here to play the original QuickTime video )

The client VIDOS video selection interface, after retrieval of a selected video by the VIDOS video retrieval program running on the server. The text field contains the URL of the selected video, which in this case is our test video called gallop. Above the text field, the first frame of the video is displayed, and to the right of the image the format parameters are given. The   button on this and the other VIDOS interfaces may be used to obtain on-line advice and instructions.

This test video, available on the VIDOS demonstration Web site ( ), is a Motion JPEG-compressed QuickTime video that we have created from one of the classic photographic sequences of horses in motion made in the late nineteenth century by the British photographer Eadweard Muybridge [5] . Return to first citation  Return to second citation

Figure 5

(Click on heading to see figure)

The VIDOS video customization interface, as described in the text. The selected customization will create a small video file playable on a low-specification PC, and will permit rapid Internet downloading. Return to first citation   Return to second citation  Return to third citation   Return to fourth citation

Figure 6

(Click on heading to see figure.     Click here to play the final customized AVI video )

The final customized AVI video playing in the client's Netscape browser. The first frame of the customized gallop test video is shown, corresponding to the area of interest shown in Figure 5.    Return to text

Footnote 1 - Conventions: In this paper, video formats and compression-decompression algorithms are shown in italics (e.g. QuickTime and Indeo), the test videos and user interfaces that we have developed are shown in small capitals (e.g. gallop and VIDOS video selection), the names of computer programs are shown in bold (e.g. video2image and VIDOS video customization applet), the names and contents of text boxes, check boxes and menu items are shown green(e.g. Left  and  Save Link As  ), hypertext links are shown in blue (e.g.  Return to start ), on-screen messages are shown in yellow (e.g. Video parameters: ), and buttons are coloured sand, red, green or blue (e.g.  ,  and  ). Return to text