`
`WORLD INTELLECTUAL PROPERTY ORGANIZATION
`International Bureau
`
`
`
`INTERNATIONAL APPLICATION PUBLISHED UNDER THE PATENT COOPERATION TREATY (PCT)
`($1) International PatentClassification © :
`(11) International Publication Number:
`WO 99/10836
`
`G06K 9/36, GO6F 9/30, 5/20, GO1S 15/02|Al _
`(43) International Publication Date:
`4 March 1999 (04.03.99)
`
`
`
`(21) International Application Number: PCT/IL97/00288}(81) Designated States: AL, AM, AT, AT (Utility model), AU, AZ,
`BA, BB, BG, BR, BY, CA, CH, CN, CU, CZ, CZ (Utility
`model), DE, DE (Utility model), DK, DK (Utility model),
`EE, EE (Utility model), ES, FI, FI (Utility model), GB,
`GE, GH, HU,IL, IS, JP, KE, KG, KP, KR, KZ, LC, LK,
`LR, LS, LT, LU, LV, MD, MG, MK, MN, MW,MX, NO,
`NZ, PL, PT, RO, RU, SD, SE, SG, SI, SK, SK (Utility
`model), SL, TJ, TM, TR, TT, UA, UG, US, UZ, VN, YU,
`ZW, ARIPOpatent (GH, KE, LS, MW, SD, SZ, UG, ZW),
`Eurasian patent (AM, AZ, BY, KG, KZ, MD, RU,TJ, TM),
`European patent (AT, BE, CH, DE, DK, ES, FI, FR, GB,
`GR, JE, IT, LU, MC, NL, PT, SE), OAPI patent (BF, BJ,
`CF, CG, CI, CM, GA, GN, ML, MR, NE, SN, TD, TG).
`
`beginning with the frame with which the selected one of the pointers is associated.
`
`(22) International Filing Date:
`
`27 August 1997 (27.08.97)
`
`(71) Applicant (for all designated States except US): GEO INTER-
`ACTIVE MEDIA GROUP,LTD.[IL/IL]; Corazin Street 1,
`$3583 Givataim (IL).
`
`(72) Inventors; and
`CARMEL, Sharon
`(75) Inventors/Applicants (for US only):
`{IL/IL]; Kakal Street 25, 53225 Givataim (IL). DABOOSH,
`Tzur [(IL/IL]; Ben-Gurion Street 236/4, 53224 Givataim
`(IL). REIFMAN, Eli
`[IL/IL]; Nordau Street 19, 75265
`Rishon le Zion (IL). SHANI, Neftali
`[IL/IL]; Hamishna
`Street 6, 62917 Tel Aviv (IL).
`
`Published
`With international search report.
`
`(74) Agents: COLB, Samford, T. et al.; Sanford T. Colb & Co.,
`P.O. Box 2273, 76122 Rehovot (IL).
`
`(54) Title: REAL-TIME MULTIMEDIA TRANSMISSION
`
`(57) Abstract
`
`A method for conveying a multimedia sequence from a source computer (24) to a destination computer (26), including, providing an
`ordered series of data frames (120, 122, 124, 126) at the source computer (24), each data frame corresponding to an image (40, 42, 44)
`in the sequence and including data representing one or more media associated with the image, producing a table (104) including pointers
`(114), each pointer associated with one frame in the series, transmitting the table (104) to the destination computer (26), and responsive
`to selection of one of the pointers (114) in the table (104), transmitting at least a sub-series of the series of data frames, said sub-series
`
`Page 1 of 69
`
`HTC EXHIBIT 1025
`
`HTC EXHIBIT 1025
`
`Page 1 of 69
`
`
`
`Zimbabwe
`
`Albania
`Armenia
`Austria
`Australia
`Azerbaijan
`Bosnia and Herzegovina
`Barbados
`Belgium
`Burkina Faso
`Bulgaria
`Benin
`Brazil
`Belarus
`Canada
`Central African Republic
`Congo
`Switzerland
`Céte d’Ivoire
`Cameroon
`China
`Cuba
`Czech Republic
`Germany
`Denmark
`Estonia
`
`SI
`SK
`SN
`SZ
`TD
`TG
`TJ
`
`™T
`
`R
`TT
`UA
`UG
`US
`UZ
`VN
`YU
`Zw
`
`FOR THE PURPOSES OF INFORMATION ONLY
`
`Codes used to identify States party to the PCT on the front pages of pamphlets publishing international applications under the PCT.
`
`Slovenia
`Slovakia
`Senegal
`Swaziland
`Chad
`Togo
`Tajikistan
`Turkmenistan
`Turkey
`Trinidad and Tobago
`Ukraine
`Uganda
`United States of America
`Uzbekistan
`Viet Nam
`Yugoslavia
`
`ES
`FI
`FR
`GA
`GB
`GE
`GH
`GN
`GR
`HU
`IE
`IL
`IS
`IT
`JP
`KE
`KG
`KP
`
`KR
`KZ
`Lc
`LI
`LK
`LR
`
`Spain
`Finland
`France
`Gabon
`United Kingdom
`Georgia
`Ghana
`Guinea
`Greece
`Hungary
`Treland
`Tsrael
`Tceland
`Ttaly
`Japan
`Kenya
`Kyrgyzstan
`Democratic People’s
`Republic of Korea
`Republic of Korea
`Kazakstan
`Saint Lucia
`Liechtenstein
`Sri Lanka
`Liberia
`
`LS
`LT
`LU
`LV
`MC
`MD
`MG
`MK
`
`ML
`MN
`MR
`MW
`MX
`NE
`NL
`NO
`NZ
`PL
`PT
`RO
`RU
`sD
`SE
`SG
`
`Lesotho
`Lithuania
`Luxembourg
`Latvia
`Monaco
`Republic of Moldova
`Madagascar
`The former Yugoslav
`Republic of Macedonia
`Mali
`Mongolia
`Mauritania
`Malawi
`Mexico
`Niger
`Netherlands
`Norway
`New Zealand
`Poland
`Portugal
`Romania
`Russian Federation
`Sudan
`Sweden
`Singapore
`
`Page 2 of 69
`
`Page 2 of 69
`
`
`
`WO 99/10836
`
`PCT/IL97/00288
`
`REAL-TIME MULTIMEDIA TRANSMISSION
`
`RELATED APPLICATIONS
`
`This application is a Continuation-in-Part of U.S.
`Patent Application 08/594,890, which is assigned to the
`assignee of
`the present patent application and whose
`disclosure is incorporated herein by reference.
`
`5
`
`FIELD OF THE INVENTION
`invention relates generally to data
`The present
`transmission,
`and particularly to fast
`transmission of
`
`10
`
`large multimedia files.
`
`BACKGROUND OF THE INVENTION
`
`The advent of powerful computers and large storage
`disks,
`such as CD-ROMs,
`in recent years, has brought with
`it
`a
`surge
`in production and
`use
`of
`sophisticated
`15 multimedia
`applications,
`including
`full
`length video
`movies,
`interactive sound and animation.
`In recent years with the growth in Internet use,
`multimedia applications have been transferred to Internet
`web sites. However, most Internet users are connected to
`the web through public telephone lines, which have a slow
`average rate of data transfer,
`commonly referred to as
`bandwidth,
`typically about 1-3 Kbyte/second. Therefore,
`when these users connect
`to web sites that
`include large
`multimedia applications,
`they must wait
`long periods
`until they can view the contents of the site. The result
`is that sites must often limit
`their non-text contents
`
`25
`
`20
`
`to, at most, a few still images.
`time required for
`In order to reduce the amount of
`transmission of multimedia applications,
`attempts
`are
`30 made
`to reduce the amount of data transmitted by the
`applications. Various
`compression methods
`are used to
`minimize the amount of data which is to be transferred.
`Such compression methods include the well-known JPEG and
`MPEG standards, which are described,
`for
`example,
`in
`ISO/IEC WG1l
`NO501,
`July
`1993,
`published
`by
`the
`]
`
`35
`
`Page 3 of 69
`
`Page 3 of 69
`
`
`
`PCT/IL97/00288
`‘WO 99/10836
`and in "JPEG Still
`International Standards Organization,
`Image Data Compression Standard", William B. Pennebaker
`and Joan L. Mitchell, Van Nostrand Reinhold, New York,
`
`which are incorporated herein by reference. However, even
`5 with
`these
`compression methods,
`current multimedia
`applications require a data transfer rate of about 50-150
`Kbytes/second to provide true real-time multimedia. Also,
`more
`sophisticated
`compression methods
`may
`require
`complex
`decompression
`software
`packages
`and
`special-
`purpose CPUs, which are not available to most users.
`
`10
`
`Page 4 of 69
`
`Page 4 of 69
`
`
`
`‘WO 99/10836
`
`PCT/IL97/00288
`
`SUMMARY OF THE INVENTION
`
`It
`
`is an object of
`
`some aspects of
`
`the present
`
`invention to provide improved methods of multimedia data
`
`organization,
`
`to allow fast data transfer of multimedia
`
`5
`
`applications.
`
`It is another object of some aspects of the present
`
`invention
`
`to
`
`provide
`
`apparatus
`
`and methods
`
`for
`
`development
`
`of multimedia
`
`applications
`
`for
`
`Internet
`
`users.
`
`10
`
`the
`is yet another object of
`It
`some aspects of
`for
`invention
`present
`to
`provide
`improved methods
`compressing images and data for transmission and storage.
`
`It
`
`is
`
`a
`
`further object of
`
`some
`
`aspects of
`
`the
`
`for
`and methods
`invention to provide apparatus
`present
`developing multimedia applications suitable for
`transfer
`
`15
`
`at a predetermined bandwidth.
`
`It is still a further object of some aspects of the
`present
`invention to provide methods
`for estimating the
`size and transfer rate of a multimedia application.
`
`invention, multimedia
`In some aspects of the present
`information is organized in a file for transmission,
`such
`that a recipient may randomly access parts of
`the file,
`
`and
`
`there
`
`is
`
`no
`
`need
`
`to
`
`transmit
`
`the whole
`
`file
`
`sequentially.
`In
`some
`invention,
`a
`
`embodiments
`preferred
`transmitting
`computer
`
`of
`
`present
`the
`organizes
`the
`
`multimedia
`
`information
`
`in
`
`frames,
`
`each
`
`frame
`
`information to be
`the
`corresponding to a portion of
`presented at a given point
`in time. A file containing the
`information includes
`a
`sequential
`listing of
`the data
`
`table, which
`access
`and a direct
`forming each frame
`contains an ID for each frame and one or more pointers to
`
`the
`
`data
`
`in
`
`the
`
`frame.
`
`The
`
`frames
`
`are preferably
`
`20
`
`25
`
`30
`
`organized in the file sequentially according to the order
`in which the frames are likely to be displayed,
`and the
`
`35
`
`table is preferably placed at the beginning of the file.
`
`3
`
`Page 5 of 69
`
`Page 5 of 69
`
`
`
`“WO 99/10836
`When
`
`the recipient accesses
`
`/
`the file,
`
`PCT/IL97/00288
`the access
`
`table is transmitted initially,
`
`and the recipient may
`
`then
`
`request
`
`transmission
`
`of
`
`any desired
`
`frame
`
`or
`
`5
`
`sequence of
`frames
`in the file. Preferably,
`for
`this
`purpose, as soon as the table and an initial frame in the
`file
`have
`been
`received,
`the
`recipient’s
`computer
`
`frame including one or
`the initial
`displays an image of
`more “hot spots,” as are known in the art, which are
`linked to invoke corresponding frame IDs or pointers in
`
`10
`
`the
`
`table. Each
`
`frame
`
`is preferably displayed as
`
`it
`
`arrives at
`
`the recipient’s computer, without waiting for
`
`the entire file. Thus, after the initial
`
`frame has been
`
`received and displayed,
`
`the recipient will generally be
`
`able to view a continuous
`
`stream of multimedia images,
`
`15 without having to wait for the entire multimedia file to
`
`download to his computer as in applications known in the
`
`20
`
`25
`
`30
`
`art.
`
`Preferably,
`
`each
`
`received frame
`
`is
`
`stored in a
`
`memory of
`the recipient’s computer
`for
`further access.
`Thus,
`if
`a
`frame or parts of
`a
`frame
`appear or are
`invoked by a user twice or more in an application,
`there
`is no need to transmit
`the frame or parts a second time.
`
`Rather,
`
`the frame is accessed in the memory according to
`
`the access table. Preferably,
`
`the frames are stored as
`
`in
`
`are
`and
`format
`compressed
`a
`received
`are
`they
`or
`required.
`Alternatively
`decompressed
`when
`additionally,
`the frames are stored in a non-compressed
`format, which is ready for immediate display.
`Preferably,
`the size of
`the table is dynamically
`adjusted according to the size of the file, and the data
`size of the pointers in the table is chosen according to
`the size of the file. Preferably,
`in a file smaller than
`
`larger
`in a
`the pointers are one byte long,
`256 bytes,
`file which is smaller than 64K the pointers are two bytes
`
`35
`
`long, etc.
`
`Page 6 of 69
`
`Page 6 of 69
`
`
`
`“WO 99/10836
`
`PCT/IL97/00288
`
`Preferably,
`
`based
`
`on
`
`the
`
`table
`
`the
`
`recipient
`
`computer does not need to continuously check for a file
`
`delimiter, but
`
`rather counts
`
`the frames
`
`received until
`
`their number matches the number of
`
`frames in the table.
`
`5 Alternatively,
`
`the number of
`
`frames and/or the length of
`
`the file is specifically stated in a header of the file.
`
`In addition,
`
`according to the difference between the
`
`the size of the first
`pointers of two consecutive frames,
`frame is known, and there is no need to have a delimiter
`
`10
`
`after the information of each frame.
`
`15
`
`20
`
`25
`
`30
`
`In some aspects of
`
`the present
`
`invention,
`
`the data
`
`of
`
`the frames, and/or other multimedia information, are
`
`stored in a compact
`form so as to reduce the size of the
`file.
`In preferred embodiments of the present
`invention,
`the size of multimedia files may be reduced in over 90%,
`
`Such
`average at
`and on
`the
`a
`ratio of
`about
`1:80.
`the
`rates
`compression
`allow fast
`transmission
`of
`information over relatively slow communication channels.
`In a preferred embodiment of
`the present
`invention,
`each frame comprises
`a number of separate layers which
`
`form the
`when displayed or otherwise actuated together
`frame. These layers include one or more media which carry
`
`visual or
`
`audio
`
`information in any
`
`suitable
`
`format,
`
`preferably in standard formats known in the art. Each of
`the media comprises any number of primary objects,
`such
`as vectors or bitmaps, which form the media. Preferably,
`the table includes pointers to each of
`the media in the
`file. Identical media which appear in more than one frame
`are kept
`in the file only in the first
`frame in which
`they appear.
`In the rest of the frames they are referred
`to by an ID code and coordinates. When reading the file,
`the recipient computer will refer to the table to find
`the addresses of the media. Alternatively,
`the media may
`
`be referenced directly by a pointer to their position in
`
`35
`
`the file.
`
`Page 7 of 69
`
`Page 7 of 69
`
`
`
`PCT/IL97/00288
`“WO 99/10836
`invention,
`the present
`In preferred embodiments of
`coordinates used in identifying the locations of visual
`
`elements,
`layers, visual media and visual objects,
`are
`dynamically sized according to the range of pixels over
`5 which the element may move. An element having positions
`up to 256 pixels preferably uses one byte coordinates,
`while elements having up to 64K possible positions use
`two byte coordinates.
`In elements having a very large
`range,
`three byte
`coordinates may
`also be
`employed.
`10 Alternatively or additionally, other sizes such as half
`bytes and 12-bit coordinates may be used for specifying
`coordinates
`in
`elements
`of
`appropriate
`size.
`Such
`
`in reducing the
`adaptively-sized coordinates are useful
`volume of data that must be transmitted and in increasing
`
`15
`
`the
`
`speed with which
`
`the media
`
`are
`
`processed
`
`and
`
`displayed by the recipient computer.
`are
`element
`each
`of
`Preferably,
`the
`coordinates
`stated with respect
`to the region in which the element
`may be positioned rather than to the view of
`the entire
`frame. For example,
`the coordinates of objects in one of
`the media may be
`specified relative to the top left
`corner
`(or any other suitable point) of a region in the
`frame
`occupied
`by
`the mediun,
`and
`the medium is
`positioned within the frame according to the coordinates
`of
`the top left corner of
`the region that
`it occupies
`relative to the frame.
`It
`is noted that most media are
`
`and therefore the savings of storage
`relatively small,
`space
`in using dynamic-sized coordinates
`is
`typically
`close to 50%. Preferably,
`in choosing coordinate systems
`
`for media which do not occupy the entire frame,
`the
`coordinate system is chosen such that
`the data volume of
`the
`coordinates
`is
`small.
`For
`example,
`a
`coordinate
`
`system having up to 256 pixels is preferably chosen such
`that the coordinates occupy only one byte.
`invention,
`In preferred embodiments of
`the present
`object
`and/or medium has
`a
`dynamically
`sized
`
`each
`
`20
`
`25
`
`30
`
`35
`
`Page 8 of 69
`
`Page 8 of 69
`
`
`
`“WO 99/10836
`
`PCT/IL97/00288
`
`property list.
`
`In prior art methods,
`
`each object has
`
`a
`
`property list of
`
`fixed length, which may either contain
`
`properties which are usually not used,
`
`and therefore
`
`waste memory and/or
`
`transmission bandwidth, or contain
`
`5
`
`very few properties and thus limits the flexibility of
`
`the user in defining properties.
`
`Preferably,
`
`the property list is divided into blocks
`
`according
`
`to
`
`the
`
`complexity
`
`and/or
`
`frequency
`
`of
`
`occurrence of
`
`the properties. A first block includes
`
`10
`
`those properties which are defined for every object. A
`
`second block includes properties which are used commonly
`
`but not always. Further blocks include properties which
`
`are used more seldom in reducing occurrence. Preferably,
`
`the properties in the more
`
`seldom blocks are required
`
`15
`
`frequent blocks are
`only if the properties in the more
`used. At
`the end of each block there is a
`flag which
`
`20
`
`25
`
`30
`
`signals whether there are further property blocks for the
`object.
`Thus,
`the
`size
`of
`the
`property
`list
`is
`dynamically sized according to the properties in use.
`Alternatively or additionally,
`the property list is
`
`ordered dynamically according to the occurrence of given
`properties
`in the
`file.
`Those properties which
`are
`altered or differ most often from one object
`to another
`
`the list, while those used
`the top of
`are positioned at
`seldom are positioned at
`the bottom of
`the list. The
`property list of each object
`is truncated of properties
`which are not defined, and therefore their values are set
`according to a predetermined default. The property list
`is preferably terminated by
`a
`termination code,
`or
`alternatively,
`the number of entries
`in the
`list
`is
`stated before the list. Alternatively,
`each property in
`
`the list is accompanied by its definition, and only those
`
`properties having values different
`
`from the default are
`
`listed.
`
`35
`
`embodiments
`preferred
`some
`In
`invention, media comprising bitmaps
`
`of
`are
`
`present
`the
`compressed in
`
`7
`
`Page 9 of 69
`
`Page 9 of 69
`
`
`
`-WO 99/10836
`
`PCT/1L97/00288
`
`order
`
`to reduce
`
`the memory
`
`required. Preferably,
`
`the
`
`bitmap is first filtered using a
`
`low-pass blur filter,
`
`and a compression transform operation,
`
`such as a discrete
`
`cosine transform (DCT), preferably in accordance with the
`
`5
`
`JPEG standard mentioned above,
`
`is then applied to the
`
`filtered bitmap. When such bitmaps are to be transmitted
`
`over
`
`the Internet,
`
`it has been found that filtering the
`
`bitmap before applying the transform results in reduction
`
`of the required memory and/or bandwidth required to store
`
`10
`
`or transmit
`
`the bitmap by about 2-4 times, substantially
`
`without
`
`loss of
`
`image quality,
`
`relative to conventional
`
`JPEG transformed bitmaps. Preferably,
`
`the user may define
`
`areas which are not
`
`to be filtered and/or areas which may
`
`undergo stronger filtering.
`
`15
`
`In
`
`some
`
`preferred
`
`embodiments
`
`of
`
`the
`
`present
`
`invention,
`
`a multimedia authoring tool primarily designed
`
`for Internet applications allows a user
`
`to conveniently
`
`create multimedia applications
`
`on
`
`a
`
`source
`
`computer,
`
`particularly for
`
`transmission over
`
`the
`
`Internet.
`
`The
`
`easy creation of web
`
`20
`
`authoring tool preferably allows
`
`sites
`
`and
`
`automatic
`
`translation and
`
`compression
`
`of
`
`multimedia applications to a form suitable for real-time
`
`display
`
`by
`
`recipient
`
`sites,
`
`as
`
`described
`
`above.
`
`Preferably, at any desired time during the creation of
`
`25
`
`the application,
`
`the user of
`
`the authoring tool may
`
`receive an estimate of the transmission rate required for
`
`smooth real-time appearance of a multimedia application,
`
`based on the data content and predicted compression ratio
`
`of the frames in the application. Thus,
`
`there is no need
`
`30
`
`to
`
`perform a
`
`time-consuming
`
`full
`
`compression
`
`of
`
`a
`
`multimedia
`
`application
`
`in
`
`order
`
`to
`
`receive
`
`a
`
`good
`
`estimate of the required transmission rate. Also, use of
`
`the estimate allows more efficient compression of
`
`the
`
`file by knowledge of the resulting file size.
`
`35
`
`In a preferred embodiment of the present
`
`invention,
`
`a multimedia
`
`software
`
`development
`
`tool
`
`performs
`
`an
`
`Page 10 of 69
`
`Page 10 of 69
`
`
`
`-WO 99/10836
`
`PCT/IL97/00288
`
`estimate of the memory required for each object. Bitmaps
`
`are estimated according to estimates of
`
`the
`
`required
`
`memory based on statistical samplings of the bitmaps.
`
`In
`
`some
`
`preferred
`
`embodiments
`
`of
`
`the
`
`present
`
`5
`
`invention,
`
`the user defines a required transmission rate
`
`or bandwidth for a multimedia application,
`
`and the file
`
`representing the application is automatically compressed
`
`according to the transmission rate or bandwidth.
`
`In order
`
`to create an application that can be transmitted at a low
`
`10
`
`transmission rate or narrow bandwidth, strong compression
`
`is used, at the cost of image sharpness, while for higher
`
`transmission rates, better
`
`sharpness
`
`is
`
`achieved.
`
`In
`
`authoring and compression tools known
`
`in the art,
`
`the
`
`user
`
`must
`
`generally
`
`specify
`
`desired
`
`compression
`
`15
`
`parameters,
`
`and
`
`can
`
`determine whether
`
`the
`
`file
`
`compression accordingly achieved is sufficient
`
`to match
`
`the available bandwidth only by trial
`
`and error. The
`
`present
`
`invention
`
`enables
`
`the
`
`user
`
`to
`
`specify
`
`a
`
`frame
`
`rate, whereupon
`
`the
`
`the
`
`available bandwidth
`
`and
`
`20
`
`required
`
`compression
`
`parameters
`
`are
`
`automatically
`
`determined by the source computer based on statistical
`
`estimation of
`
`the compression ratio and pre-calculation
`
`of the file size.
`
`Preferably,
`
`a recipient connecting to a site created
`
`25
`
`using
`
`the
`
`authoring
`
`tool
`
`of
`
`the present
`
`invention
`
`receives upon entering the site a
`
`software applet
`
`for
`
`decompressing the data. Preferably,
`
`the transmission time
`
`of
`
`the applet
`
`is typically less than fifteen seconds,
`
`more preferably less than ten seconds.
`
`30
`
`In
`
`some
`
`preferred
`
`embodiments
`
`of
`
`the
`
`present
`
`invention,
`
`an initial
`
`frame,
`
`including images or menus
`
`for
`
`invoking
`
`selected parts
`
`of
`
`the
`
`application,
`
`is
`
`transmitted to the recipient upon entering the site. The
`
`recipient may then request a specific part of
`
`the file,
`
`35 which is
`
`immediately transmitted upon
`
`request.
`
`If
`
`no
`
`request
`
`is made,
`
`the file is transmitted sequentially as
`
`9
`
`Page 11 of 69
`
`Page 11 of 69
`
`
`
`WO 99/10836
`described above, until
`
`such a request
`
`PCT/IL97/00288
`is made, or until
`
`the entire file is transmitted.
`
`It
`is
`noted
`that
`the
`compression methods
`of
`preferred embodiments of the present
`invention are simple
`to implement and are especially easy for decompression.
`The simplicity of decompression ensures that a receiving
`computer does not require heavy CPU use for decompression
`resulting
`in
`slow performance
`of
`the
`computer
`in
`displaying the multimedia application.
`There
`is therefore provided in accordance with a
`preferred embodiment of
`the present
`invention,
`a method
`for
`conveying
`a multimedia
`sequence
`from a
`source
`computer to a destination computer,
`including:
`the
`providing an ordered series of data frames at
`source
`computer,
`each data
`frame
`corresponding to an
`image in the sequence and including data representing one
`or more media associated with the image;
`producing a
`table including pointers,
`associated with one frame in the series;
`transmitting the table to the destination computer;
`
`each pointer
`
`and
`
`the pointers in
`responsive to selection of one of
`the table,
`transmitting at
`least
`a
`sub-series of
`the
`series of data frames, said sub-series beginning with the
`frame with which the selected one of
`the pointers
`is
`
`associated.
`Preferably, producing the table includes defining
`pointers having a data size normalized to the size of a
`data file containing the series of frames.
`Preferably, defining the pointers includes defining
`pointers of a minimal size required to distinctly address
`every frame in the file.
`Preferably, defining the pointers includes defining
`one-byte pointers when the ordered series includes less
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`than 256 bytes.
`
`10
`
`Page 12 of 69
`
`Page 12 of 69
`
`
`
`‘WO99/10836
`PCT/IL97/00288
`Preferably, defining the pointers includes defining
`two-byte pointers when the ordered series includes less
`
`than 65,536 bytes.
`Preferably,
`the method also includes transmitting at
`least an initial
`frame in the series to the destination
`computer and associating one or more of
`the pointers in
`the table with the initial
`frame, wherein transmitting
`
`the
`sub-series
`responsive
`to a
`
`includes
`transmitting
`the
`sub-series
`selection made with respect
`to the
`
`<ainitial frame.
`Preferably, producing the table includes producing
`pointers which indicate respective media in one or more
`
`of the frames.
`responsive
`transmitting the sub-series
`Preferably,
`to selection includes invoking the media indicated by a
`
`selected pointer.
`Preferably, providing an ordered series of
`includes
`creating
`a
`first
`frame
`including
`representing an object in the corresponding image.
`includes
`Preferably, providing the ordered series
`creating additional
`frames after the first
`frame, which
`include frame data indicative of
`the coordinates of
`the
`
`frames
`data
`
`includes
`
`object.
`includes
`frames
`Preferably, creating the additional
`creating additional
`frames which include a pointer
`to
`data representing the object in the first frame.
`includes
`Preferably, creating the additional
`frames
`an
`ID
`creating
`additional
`frames
`which
`include
`corresponding in the table to a pointer
`to the data
`representing the object in the first frame.
`Preferably,
`transmitting
`the
`table
`transmitting over a computer network.
`Preferably,
`transmitting
`the
`
`table
`
`includes
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`transmitting over the Internet.
`
`11
`
`Page 13 of 69
`
`Page 13 of 69
`
`
`
`PCT/1L97/00288
`“WO 99/10836
`the method also includes transmitting to
`Preferably,
`the destination computer
`a
`JAVA applet operative
`to
`produce sensible material
`from the ordered series.
`Preferably,
`creating the series
`includes creating
`
`5
`
`data objects representing audio data.
`Alternatively or additionally, creating the series
`
`10
`
`15
`
`20
`
`25
`
`includes creating data objects representing visual data.
`
`Alternatively or additionally,
`objects includes creating at
`least
`include vector objects.
`
`creating the data
`some
`segments which
`
`creating the data
`some
`segments which
`
`Alternatively or additionally,
`objects includes creating at
`least
`include compressed bitmaps.
`Preferably, providing the ordered series of data
`frames
`includes creating coordinates of objects within
`the frame, relative to sub-elements of the frame, wherein
`creating coordinates of objects includes normalizing the
`data
`size
`of
`the
`coordinates
`responsive
`to
`pixel
`
`dimensions of the sub-elements.
`
`a
`accordance with
`in
`provided
`also
`is
`There
`invention,
`a method
`preferred embodiment of
`the present
`for
`conveying
`a multimedia
`sequence
`from a
`source
`computer
`to a destination computer,
`including creating a
`series of data frames at
`the source computer, each frame
`corresponding to an image in the sequence, and the series
`including coordinates of objects within sub-elements of
`the frames, wherein for each coordinate a data size of
`the
`coordinate
`is
`normalized
`responsive
`to
`pixel
`
`dimensions of the sub-element,
`
`and transmitting at
`
`least
`
`30
`
`one of
`the data segments
`to the destination computer,
`wherein the
`segments
`are displayed responsive
`to the
`
`coordinates.
`
`the
`of
`size
`data
`the
`normalizing
`Preferably,
`coordinates includes normalizing the data size responsive
`
`35
`
`to pixel dimensions of a layer in the frame.
`
`12
`
`Page 14 of 69
`
`Page 14 of 69
`
`
`
`“WO 99/10836
`
`PCT/IL97/00288
`
`Alternatively or additionally, normalizing the data
`
`size of
`
`the coordinates
`
`includes normalizing the data
`
`size responsive to pixel dimensions of an object.
`
`There
`
`is
`
`further provided in accordance with a
`
`5
`
`a method
`invention,
`the present
`preferred embodiment of
`for displaying an image sequence on a computer display,
`
`including:
`
`choosing
`
`a
`
`coordinate
`
`system having
`
`desired
`
`dimensions in_thefor at least some of the images
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`10
`
`sequence;
`defining a medium to appear in the at
`
`least
`
`some of
`
`the images;
`the medium in the
`setting position coordinates of
`image,
`the
`coordinates
`having
`a data
`size
`that
`is
`normalized to the dimensions of
`the coordinate system;
`
`and
`
`the images on the
`some of
`least
`displaying the at
`computer display, by rendering the object at the position
`
`coordinates thereof.
`
`Preferably, choosing the coordinate system includes
`choosing a coordinate system having a number of pixels
`such that the data size required for addressing any point
`
`in the system is substantially minimized.
`Preferably, choosing the coordinate system includes
`choosing a coordinate system having up to 256 pixels.
`Preferably, choosing the coordinate system includes
`choosing a coordinate system smaller than at least one of
`
`the images.
`the
`some of
`least
`Preferably, displaying the at
`images
`includes creating and transmitting a data file
`including the object and the position coordinates from a
`source computer
`to a destination computer, where the at
`least some of the images are displayed.
`
`There
`is
`further provided in accordance with a
`preferred embodiment of
`the present
`invention,
`a method
`of
`transmitting image data from a source computer
`to a
`
`15
`
`20
`
`25
`
`30
`
`35
`
`13
`
`Page 15 of 69
`
`Page 15 of 69
`
`
`
`“WO 99/10836
`
`PCT/IL97/00288
`
`destination computer,
`
`including low-pass
`
`filtering the
`
`compressing the data according to a block-
`image data,
`compression method,
`and transmitting the compressed data
`
`to the destination computer.
`
`5
`
`Alternatively,
`
`the method
`
`includes
`
`storing
`
`the
`
`compressed data in the storage medium.
`includes
`data
`Preferably,
`compressing
`the
`compressing the data using a JPEG compression algorithm.
`Preferably,
`low-pass
`filtering includes convolving
`
`the image data with a blur filter kernel.
`There
`is
`further provided in accordance with a
`preferred embodiment of
`the present
`invention,
`a method
`of
`transmitting a multimedia
`sequence
`from a
`source
`computer to a destination,
`including providing an ordered
`series of data frames at
`the source computer,
`the series
`
`indicating a bandwidth
`having a predetermined frame rate,
`at which the series of data frames is to be transmitted,
`
`ratio
`compression
`a
`at
`frames
`the data
`compressing
`determined responsive to the indicated bandwidth and the
`predetermined frame rate, and transmitting the compressed
`
`10
`
`15
`
`20
`
`frames.
`
`Preferably, providing the series includes creating
`the series responsive to the indicated bandwidth.
`Preferably, providing the series includes importing
`
`25
`
`the series from another computer.
`
`series
`providing the
`Preferably,
`frames
`of data
`includes
`receiving a
`series of data
`frames having a
`predetermined data size, and wherein compressing the data
`frames
`includes
`compressing the data at
`a compression
`ratio generally equal
`to or
`less than a
`ratio of
`the
`indicated bandwidth to a product of
`the frame data size
`
`times the frame rate.
`
`includes
`frames
`compressing the data
`Preferably,
`selecting a desired compression ratio, and estimating the
`bandwidth that will be required to transmit
`the frames
`
`30
`
`35
`
`14
`
`Page 16 of 69
`
`Page 16 of 69
`
`
`
`‘WO 99/10836
`
`PCT/IL97/00288
`
`compressed
`
`at
`
`the
`
`desired
`
`compression
`
`ratio,
`
`in
`
`comparison to the indicated bandwidth.
`
`Preferably,
`
`estimating
`
`the
`
`bandwidth
`
`includes
`
`displaying a graphical comparison of
`
`the estimated and
`
`5
`
`indicated bandwidths over time.
`
`Preferably,
`
`transmitting
`
`the
`
`compressed
`
`frames
`
`includes
`
`transmitting at
`
`least
`
`a portion of
`
`a
`
`frame
`
`before
`
`a
`
`respective
`
`time
`
`slot
`
`thereof when
`
`it
`
`is
`
`estimated
`
`that
`
`the
`
`required
`
`transmission
`
`bandwidth
`
`10
`
`exceeds the indicated bandwidth during the time slot.
`
`Preferably,
`
`estimating
`
`the
`
`bandwidth
`
`includes
`
`calculating an
`
`estimate without
`
`compressing the data
`
`frames.
`
`Preferably,
`compressing the data
`frames
`includes
`setting coefficients
`for
`compressing bitmap images
`to
`
`15
`
`achieve the determined compression ratio.
`
`includes
`frames
`compressing the data
`Preferably,
`normalizing the data size of coordinates of objects in
`
`the frames.
`
`20
`
`Preferably,
`
`compressing the data
`
`frames
`
`includes
`
`storing in a file containing the frame sequence only one
`description of each of the media in the data frames.
`Preferably,
`estimating
`the
`bandwidth
`includes
`
`statistically sampling the media in the frames.
`
`25
`
`There
`
`is
`
`further provided in accordance with a
`
`a method
`invention,
`the present
`preferred embodiment of
`of displaying an estimate of
`the bandwidth required for
`transmitting a multimedia
`sequence
`over
`a
`network,
`
`including:
`providing an ordered series of data frames having a
`
`30
`
`predetermined frame rate;
`estimating the bandwidth that will be
`
`required to
`
`transmit
`
`the
`
`frames when
`
`compressed
`
`according
`
`to
`
`a
`
`predetermined compression scheme; and
`displaying on a computer display the estimate of the
`
`35
`
`required bandwidth.
`
`15
`
`Page 17 of 69
`
`Page 17 of 69
`
`
`
`“WO 99/10836
`Preferably,
`
`estimating
`
`the
`
`bandwidth
`
`PCT/IL97/00288
`includes
`
`displaying a graphical
`estimated
`bandwidth
`
`comparison
`and
`an
`
`time
`over
`indicated
`
`the
`of
`bandwidth
`
`characteristic of the network.
`
`5
`
`the
`estimating
`Preferably,
`subtracting from the
`estimate of
`difference between the bandwidth of
`
`includes
`bandwidth
`frame
`the
`a
`first
`second preceding
`
`a
`
`frame and the indicated bandwidth.
`
`Preferably,
`calculating an
`
`the
`estimating
`estimate without
`
`bandwidth
`compressing
`
`includes
`the data
`
`10
`
`15
`
`20
`
`25
`
`30
`
`frames.
`
`Preferably,
`
`estimating
`
`the
`
`bandwidth
`
`includes
`
`statistically sampling media in the frames.
`Preferably, estimating the bandwidth includes adding
`to the estimate of
`a first
`frame
`the bandwidth of
`a
`
`medium referenced in the first
`
`frame but not described
`
`therein.
`
`Preferably the method includes altering at least one
`of the data frames responsive to the estimate.
`Preferably the method includes compressing the data
`
`frames responsive to the estimate.
`Preferably
`the
`method
`includes
`
`storing
`
`the
`
`compressed data frames.
`Alternatively or additionally,
`
`the method includes
`
`transmitting the compressed data frames.
`There
`is
`further provided in accordance with a
`preferred embodiment of
`the present
`invention, apparatus
`for conveying a multimedia sequence over a network to a
`destination computer,
`including:
`a media processor,
`coupled to the network, which
`provides
`an ordered series of data frames,
`each frame
`corresponding to an image in the sequence, and produces a
`table
`including pointers,
`each pointer
`respectively
`
`associated with one frame in the series,
`
`35
`
`the table to the
`transmits
`wherein the processor
`destination