Method of optimizing bandwidth for transmitting compressed video data streams
First Claim
1. In a data transmission system including a server that acts as a data source and a receiver that uses data to generate output, a method of transmitting data in a compressed data block file from the server to the receiver, wherein compressed data blocks in the compressed data block file collectively represent an uncompressed data stream, wherein each block is compressed in relation to a segment of the data stream it represents at a selected compression ratio, and wherein the receiver has a buffer space to store data before using the data to generate output, the method comprising:
- (a) determining the size of the receiver buffer space;
(b) identifying the amount of data contained in the largest data block in the file;
(c) delivering an initial amount of data for storage in the receiver buffer space before the receiver starts using the data to generate output, where the initial amount of data equals the amount of data contained in the largest data block in the file; and
(d) transmitting data from the server to the receiver at a minimum rate selected to prevent the receiver buffer from becoming empty, including;
(i) reading header information for each compressed data block and using this information to calculate the smallest number of consecutive blocks that will fit in the receiver buffer space; and
(ii) dividing said size of the receiver buffer space by said smallest number of consecutive blocks that will fit in said receiver buffer space, and multiplying the result by eight times a display period for each compressed data block at the receiver.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for transmitting blocks of compressed data in an ATM network is disclosed. Compressed data blocks representing a movie are labeled prior to transmission with the amount of data in each block and information regarding the compression ratio of each block and the time into the movie at which the block displays. A server in the system first determines the size of the receiver buffer, and then the minimum number of consecutive blocks that would fit in the buffer. It then determines minimum rate in bits per second by dividing the buffer size by the number of blocks, times 8 bits/byte, times the duration of each block in seconds. The server further instructs the receiver to wait before decompressing and displaying data by an amount of time sufficient to receive the amount of data from the first blocks of compressed data that is equal to the amount of data in the largest compressed data block in the file.
200 Citations
8 Claims
-
1. In a data transmission system including a server that acts as a data source and a receiver that uses data to generate output, a method of transmitting data in a compressed data block file from the server to the receiver, wherein compressed data blocks in the compressed data block file collectively represent an uncompressed data stream, wherein each block is compressed in relation to a segment of the data stream it represents at a selected compression ratio, and wherein the receiver has a buffer space to store data before using the data to generate output, the method comprising:
-
(a) determining the size of the receiver buffer space; (b) identifying the amount of data contained in the largest data block in the file; (c) delivering an initial amount of data for storage in the receiver buffer space before the receiver starts using the data to generate output, where the initial amount of data equals the amount of data contained in the largest data block in the file; and (d) transmitting data from the server to the receiver at a minimum rate selected to prevent the receiver buffer from becoming empty, including; (i) reading header information for each compressed data block and using this information to calculate the smallest number of consecutive blocks that will fit in the receiver buffer space; and (ii) dividing said size of the receiver buffer space by said smallest number of consecutive blocks that will fit in said receiver buffer space, and multiplying the result by eight times a display period for each compressed data block at the receiver.
-
-
2. In a data transmission system including a server that acts as a data source and a receiver that uses data to generate output, a method of transmitting data in a compressed data block file from the server to the receiver, wherein compressed data blocks in the compressed data block file collectively represent an uncompressed data stream, wherein each block is compressed in relation to a segment of the data stream it represents at a selected compression ratio, and wherein the receiver has a buffer space to store data before using the data to generate output, the method comprising:
-
(a) determining the size of the receiver buffer space; (b) identifying the amount of data contained in the largest data block in the file; and (c) delivering an initial amount of data for storage in the receiver buffer space before the receiver starts using the data to generate output, where the initial amount of data equals the amount of data contained in the largest data block in the file, including; (d) reading block header information from the compressed data file to identify the amount of data contained in the largest compressed data block in the file; (e) reading block header information from the compressed data block file identifying a video display time at which each of the compressed data blocks will display video; and (f) calculating how long into the video display the amount of data contained in the largest data block will have been decompressed by the receiver.
-
-
3. A data transmission system, including a server that acts as a data source and a receiver that uses data to generate output, for transmitting data in a compressed data block file from the server to the receiver, wherein compressed data blocks in the compressed data block file collectively represent an uncompressed data stream, each block being compressed in relation to a segment of the data stream it represents at a selected compression ratio, and wherein the receiver has a buffer space to store data before using the data to generate output, comprising:
-
(a) means for determining the size of the receiver buffer space; (b) means for identifying the amount of data contained in the largest data block in the file; (c) means for delivering an initial amount of data for storage in the receiver buffer space before the receiver starts using the data to generate output, where the initial amount of data equals the amount of data contained in the largest data block in the file; and (d) means for transmitting data from the server to the receiver at a minimum rate selected to prevent the receiver buffer from becoming empty, including; (i) means for reading header information for each compressed data block and using the information to calculate a smallest number of consecutive blocks that will fit in the receiver buffer space; and (ii) means for dividing said size of the receiver buffer space by said smallest number of consecutive blocks that will fit in said receiver buffer space, and multiplying the result by eight times a display period for each compressed data block at the receiver.
-
-
4. A data transmission system, including a server that acts as a data source and a receiver that uses data to generate output, for transmitting data in a compressed data block file from the server to the receiver, wherein compressed data blocks in the compressed data block file collectively represent an uncompressed data stream, each block being compressed in relation to a segment of the data stream it represents at a selected compression ratio, and wherein the receiver has a buffer space to store data before using the data to generate output, comprising:
-
(a) means for determining the size of the receiver buffer space; (b) means for identifying the amount of data contained in the largest data block in the file; and (c) means for delivering an initial amount of data for storage in the receiver buffer space before the receiver starts using the data to generate out, where the initial amount of data equals the amount of data contained in the largest data block in the file, including; (d) means for reading block header information from the compressed data file to identify the amount of data contained in the largest compressed data block in the file; (e) means for reading block header information from the compressed data block file identifying a video display time at which each of the compressed data blocks will display video; and (f) means for calculating how long into the video display the amount of data contained in the largest data block will have been decompressed by the receiver.
-
-
5. In a data transmission system including a server and a receiver, a method of transmitting data in a compressed data block file from the server to the receiver at a constant rate, wherein compressed data blocks in the compressed data block file collectively represent an uncompressed data stream, each block is compressed in relation to a segment of data stream it represents by a compression ratio, and the receiver has a buffer space to store data before displaying it, comprising the steps of:
-
(a) determining the size of the receiver buffer space; (b) determining an initial amount of data to store in the receiver buffer space before the receiver starts to display data; and (c) transmitting data from the server to the receiver at a minimum rate to prevent the receiver buffer from becoming empty; wherein transmitting data from the server to the receiver at a minimum rate includes; (d) reading header information from each compressed data block to determine a smallest number of consecutive blocks that will fit in the receiver buffer space; and (e) dividing said size of the receiver buffer space by said smallest number of consecutive blocks that will fit in said receiver buffer space, and multiplying the result by eight times a display period for each compressed data block at the receiver.
-
-
6. In a data transmission system including a server and a receiver, a method of transmitting data in a compressed data block file from the server to the receiver at a constant rate, wherein compressed data blocks in the compressed data block file collectively represent an uncompressed data stream, each block is compressed in relation to a segment of data stream it represents by a compression ratio, and the receiver has a buffer space to store data before displaying it, comprising the steps of:
-
(a) determining the size of the receiver buffer space; (b) determining an initial amount of data to store in the receiver buffer space before the receiver starts to display data; and (c) transmitting data from the server to the receiver at a minimum rate to prevent the receiver buffer from becoming empty; wherein the step of determining an initial amount of data to store in the receiver buffer space comprises the steps of; (d) reading block header information throughout the compressed data file to identify a compressed data block having the largest amount of bytes in the file; (e) reading block header information at the beginning of the compressed data block file identifying a video display tine at which the compressed data blocks will display video; and (f) determining how long into the video display an a mount of data equal to said largest number of bytes will have been decompressed by the receiver.
-
-
7. A data transmission system including a server and a receiver, for transmitting data in a compressed data block file from the server to the receiver at a constant rate, wherein compressed data blocks in the compressed data block file collectively represent an uncompressed data stream, each block being compressed in relation to a segment of data stream it represents by a compression ratio, and wherein the receiver has a buffer space to store data before displaying it, comprising:
-
(a) means for determining the size of the receiver buffer space; (b) means for determining an initial amount of data to store in the receiver buffer space before the receiver starts to display data; and (c) means for transmitting data from the server to the receiver at a minimum rate to prevent the receiver buffer from becoming empty; wherein the means for transmitting data from the server to the receiver at the minimum rate includes; (d) means for reading header information on each compressed data block to determine a smallest number of consecutive blocks that will fit in the receiver buffer space; and (e) means for dividing said size of the receiver buffer space by said smallest number of consecutive blocks that will fit in said receiver buffer space, and multiplying the result by eight times a display period for each compressed data block at the receiver.
-
-
8. A data transmission system including a server and a receiver, for transmitting data in a compressed data block file from the server to the receiver at a constant rate, wherein compressed data blocks in the compressed data block file collectively represent an uncompressed data stream, each block being compressed in relation to a segment of data stream it represents by a compression ratio, and wherein the receiver has a buffer space to store data before displaying it, comprising:
-
(a) means for determining the size of the receiver buffer space; (b) means for determining an initial amount of data to store in the receiver buffer space before the receiver starts to display data; and (c) means for transmitting data from the server to the receiver at a minimum rate to prevent the receiver buffer from becoming empty; wherein the means for determining an initial amount of data to store in the receiver buffer space includes; (d) means for reading block header information throughout the compressed data file to identify a compressed data block having the largest amount of bytes in the file; (e) means for reading block header information at the beginning of the compressed data block file identifying a video display time at which the compressed data blocks will display video; and (f) means for determining how long into the video display an amount of data equal to said largest number of bytes will have been decompressed by the receiver.
-
Specification