US 5841432 Method and system of building and transmitting a data file for real time play of multimedia, particularly animation, and a data file for real time play of multimedia applications
ABSTRACT – A compressed data file for real time display of multimedia applications, e.g., animation, on a network is disclosed. The file includes general information about the animation. Also included in the file are complete segment blocks of information representing single frames in the animation. Each frame is made up of multiple images (layers) which are overlapped. Each image is made up of vector objects. Display of the file is conducted through asynchronous transfer of data so that as a frame is displayed, the next frame is transmitted and received by an end user for immediate display.
FIELD OF THE INVENTION
This invention relates to a method and system for building data files for transmission over a network for display to an end user in real time. More particularly, the invention relates to such a file and system for use on a network which is more commonly known as global computer networks connected by common protocols, such as the network known by the term “Internet.” The data transmitted, in accordance with the invention, is transmitted using an asynchronous transfer of data through the existing transfer of data protocol of the network, which in the case of the Internet, such a transfer protocol, is known as an FTP, i.e., file transfer protocol.
BACKGROUND OF THE INVENTION
The invention relates to a method of building data files, the data files built, and the transfer of data from such files for the purposes of delivering real time animation to an end user, and the real time display to an end user, over a network, particularly global computer networks connected by common protocols, such as the Internet.
For purposes of this disclosure, by the term “network” is meant at least two computers connected through a physical communication line which can be hardwired, or virtual, such as satellite or other wireless communications. A computer can mean a personal computer, server, or other similar-type device capable of receiving, transmitting, and/or manipulating data for such purposes as, but not limited to, display on a display unit connected thereto.
Presently there are no standards for real time transmission and display of multimedia programs and/or applications on such global computer networks such as the Internet. The reason why such real time transmissions and displays are not possible, is that the data transfer rates necessary for multimedia applications are measured in 50 to 110 kilobytes per second, whereas the average data transfer lines in such networks, for an end user having a 14.4 b.p.s. modem, can only handle a maximum of 1 to 1.5 kilobytes per second. Thus, real time transmission and display of multimedia applications, such as animation, is impossible because of the physical limitations of existing wiring when considering present-day modem compression techniques.
Thus, the present invention avoids the limitations of the prior art and provides a system, data format, and method of conveying and operating on data over a network to provide real time multimedia play, including display, particularly, a real time display of animation.
SUMMARY OF THE INVENTION
In one aspect, the invention is directed to storage media containing data for playing multimedia applications, particularly for display of animation. The storage media includes a first block of data made up of general information for an entire animation file. A plurality of segment information blocks make up the rest of the data for displaying the animation.
Each segment information block is made up of a first and a second section. The first section of the segment information block includes general information data about a segment, including data identifying the frame identification for the respective segment, and data identifying the number of layers in the frame. The first section also includes data making up information about each layer in the frame, including data identifying the layer identification for the respective frame, data identifying the image, data defining the placement of the layer on the frame, and ink data.
The second section is made up of image data, for each image in a frame, and includes image identification data, background color data, width and height of image data, and data identifying the number of objects in the respective image. The second section also includes object data for each object, which is made up of identification of object-type data, enclosing rectangle data, fill-in background and foreground data, fill-pattern data, pen-pattern data, line-size data, and ink data.
In another aspect, the invention is directed to a method of building a data file for use in displaying real time animation. The method includes the steps of building images by storing of vector objects in an image data file. The built images are displayed in windows as “thumbnails,” hereinafter defined. The respective frames of the animation are built by positioning images in a stage window for each frame. A time line is then defined for the frames by at least one of: 1) sequentially arranging the frames; or 2) for frames having a common image, constructing a start frame and an end frame using the common image, leaving (1-n) empty frames between the defined start and end frame, and using a predetermined function, as will be readily apparent to those skilled in the art, to create the remaining frames from the empty frames, from the common image. This is known as an “in-betweening” function, as will be readily apparent to those skilled in this art. The transparency ink for the frame data is then defined, and the data is stored as animation file for later transmission of the data file and display of an animation in real time.
In yet still another aspect, a method of the invention includes a method of displaying real time multimedia data, in particular, animation, from data stored on storage media, as previously described. The method includes the steps of, through asynchronous transmission, retrieving and storing the first block of data which is comprised of general information. Retrieving the first segment of information block of a plurality of segment information blocks, and when a full segment information block is retrieved, displaying a frame of the animation while simultaneously retrieving the next segment information block as the frame of the animation is displayed. These steps are then repeated until the number of frames in the animation defined in the first block of data has been retrieved and displayed.