US5541919A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Multimedia multiplexing device and method using dynamic packet segmentation
Assignee: Google Technology Holdings LLC
•
Filing: 1994-12-19
•
Granted: 1996-07-30
•
Expires: 2014-12-19
Abstract
Abstract The present invention provides a method (900) and device (100) in multimedia communication systems for efficiently segmenting information bitstreams from multiple media sources into variable length packets, and multiplexing and sending the packets to a shared communication link with low delay and low overhead. The packet segmentation and multiplexing are performed dynamically based on fullness of a set of information buffers that contain the information bitstreams to be transmitted, and delay-sensitivity of each information bitstreams. The multi-discipline queuing scheme has been developed in this invention to control the dynamic packet segmenting and multiplexing process.
Inventors
- 👤 Mei Yong
- 👤 Jian Yang
- 👤 Dennis Ng
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-29 17:58
CPC Classifications
H; H04; H04N; H04N21/00; H04N21/20; H04N21/23; H04N21/236; H04N21/2365; H04J; H04J3/00; H04J3/24; H04J3/247; H04L; H04L9/00; H04L9/40; H04N21/234; H04N21/23406; H04N21/238; H04N21/2385; H04N21/25; H04N21/266; H04N21/2665
Claims Analysis
Total Claims: 41
Claim 1
Independent Claim
324 words
A multimedia multiplexing device in a multimedia communication system for segmenting and multiplexing bitstreams from different media sources into variable length packets, said device comprising: A) a plurality of information buffers for receiving bitstreams from different media sources and temporarily buffering these bitstreams: B) a dynamic priority-based packet segmentation and multiplexing unit having a multi-discipline queuing scheme. operably coupled to the plurality of information buffers and to an output channel, for selecting and segmenting information bitstreams into variable length packets, wherein a packet size is dynamically adjusted based at least on a fullness of each of the information buffers and a bit-rate of the output channel, and transmitting the packets to the output channel, wherein the dynamic priority-based packet segmentation and multiplexing unit having a multi-discipline queuing scheme comprises: C) a buffer monitor, operably coupled to the plurality of information buffers, for monitoring the fullness of each information buffer and sending a packet-transmission request to a queuing and segmentation controller when an information buffer has one packet's worth of information bits ready to be sent; D) the queuing and segmentation controller, operably coupled to the buffer monitor, to the output channel, and to a packet generator, for receiving packet-transmission request/requests from the buffer monitor, for receiving channel bit-rate information from the output channel, for receiving an end of packet indication from a packet generator, and for modifying a service buffer of a server in accordance with a selected queuing discipline; E) the server, operably coupled to the queuing and segmentation controller and to the plurality of information buffers, for receiving a command from the queuing and segmentation controller and for receiving a bitstream from a selected information buffer and passing the selected bitstream to a packet generator; and F) the packet generator, operably coupled to receive a bitstream from the server, for forming packets and sending packets to the output channel and informing the queuing and segmentation controller each time a packet is sent.
Claim 2
Dependent Claim
324 words
A multimedia multiplexing device in a multimedia communication system for segmenting and multiplexing bitstreams from different media sources into variable length packets, said device comprising: A) a plurality of information buffers for receiving bitstreams from different media sources and temporarily buffering these bitstreams: B) a dynamic priority-based packet segmentation and multiplexing unit having a multi-discipline queuing scheme. operably coupled to the plurality of information buffers and to an output channel, for selecting and segmenting information bitstreams into variable length packets, wherein a packet size is dynamically adjusted based at least on a fullness of each of the information buffers and a bit-rate of the output channel, and transmitting the packets to the output channel, wherein the dynamic priority-based packet segmentation and multiplexing unit having a multi-discipline queuing scheme comprises: C) a buffer monitor, operably coupled to the plurality of information buffers, for monitoring the fullness of each information buffer and sending a packet-transmission request to a queuing and segmentation controller when an information buffer has one packet's worth of information bits ready to be sent; D) the queuing and segmentation controller, operably coupled to the buffer monitor, to the output channel, and to a packet generator, for receiving packet-transmission request/requests from the buffer monitor, for receiving channel bit-rate information from the output channel, for receiving an end of packet indication from a packet generator, and for modifying a service buffer of a server in accordance with a selected queuing discipline; E) the server, operably coupled to the queuing and segmentation controller and to the plurality of information buffers, for receiving a command from the queuing and segmentation controller and for receiving a bitstream from a selected information buffer and passing the selected bitstream to a packet generator; and F) the packet generator, operably coupled to receive a bitstream from the server, for forming packets and sending packets to the output channel and informing the queuing and segmentation controller each time a packet is sent.
Claim 3
Dependent Claim
62 words
The multimedia multiplexing device of claim 1 wherein the multi-discipline queuing scheme includes prioritizing bitstreams from different sources based on delay tolerances, where a least delay-tolerant bitstream is given the highest priority, a most delay-tolerant bitstream is given the lowest priority, and bitstreams that have an equal delay tolerance are given a same priority and are grouped into a single priority group.
Claim 4
Dependent Claim
51 words
The multimedia multiplexing device of claim 2 wherein a bandwidth-weighting factor a i for a bitstream i, i an index of the bitstream, is assigned for each bitstream as a fraction of bandwidth allocated to the bitstream i out of the total bandwidth allocated to the priority group containing bitstream i.
Claim 5
Dependent Claim
110 words
The multimedia multiplexing device of claim 1 wherein, in the multi-discipline queuing scheme, where there are N buffers, represented as B 1 , B 2 , . . . , and B N , for storing source bitstream 1, 2, . . . , and N respectively, a priority of each buffer is the same as the priority of the corresponding bitstream, the buffers are served according to one of A--C: A) a Head of Line Priority for Variable Length Packet Segmentation, HOLP-VLP, queuing discipline; B) a Weighted Round Robin for Variable Length Packet Segmentation, WRR-VLP, queuing discipline; and C) a predetermined combination of the HOLP-VLP and WRR-VLP queuing disciplines.
Claim 6
Dependent Claim
123 words
The multimedia multiplexing device of claim 4 wherein, the HOLP-VLP queuing discipline is utilized to treat priority groups that all have different priorities and includes the steps of: A) where buffer i, i an index of the buffer, is currently being served, continuing, by a server, to serve buffer i until one of the following two events happens: A1) at least one packet from a higher priority buffer is ready to be sent; A2) an insufficient number of bits are available in buffer i; and B) upon one of A1-A2 occuring, stopping serving buffer i, by the server, after completely sending a packet currently being sent and then switching to serve a next highest priority buffer that has packet/packets ready to be sent.
Claim 7
Dependent Claim
256 words
The multimedia multiplexing device of claim 4 wherein, the WRR-VLP queuing discipline is utilized to treat bitstreams that all have an equal priority and includes the steps of: A) serving, by the server, in a pre-selected partition period, T p , each buffer in a same priority group cyclically in a predetermined order and for a period, T i , i an index of the buffer, where the period T i is one of A1-A3: A1) a i *T p , where a i is the bandwidth-weighting factor used for bitstream i; and A2) shortening T i where one of A2a-A2b: A2a) where insufficient bits are in buffer i; and A2b) where a packet from a higher priority buffer is ready to be sent; and A3) extending T i where buffer i still has bits to be sent, but all other buffers in a same priority group are unready to send bits, where an upper bound of a partition period T p is determined by one of A3a-A3b: A3a) a predetermined maximum queuing delay requirement for each bitstream in the priority group and a lower bound of T p is determined by the packetization efficiency requirement; and A3b) T p is adjusted dynamically; where, when a particular buffer is allocated a period of a i *T p to send a packet, but the packet is interrupted by a packet-transmission request from a higher priority buffer, then a remaining credit is given to the same buffer when the priority group is served again in a following time.
Claim 8
Dependent Claim
213 words
The multimedia multiplexing device of claim 4 wherein a packet from bitstream i and generated at time t contains a number of raw information bits denoted as S i (t), excluding packet header, flags and any stuffing bits, where S i (t) is computed as follows: if (Q i (t)<S i min ) S i (t)=0 else S.sub.i (t)=min {S.sub.i.sup.max, Q.sub.i (t)+Q.sub.i (t.sub.itp -t), B.sub.i (t,t.sub.itp)} where S i min and S i max , with 0<S i min <=S i max , are respectively a minimum and maximum number of raw information bits in a packet for bitstream i, Q i (t) a number of raw information bits available in buffer i at time t, Q i (t itp -t) a number of raw information bits entering buffer i between time t and t itp , and B i (t,t itp ) a maximum number of bits, that can be sent during a time when said buffer is being continuously served, subtracted by any overhead bits, denoted O i (t), for the packet, where t itp is an interrupt time at which transmission of the current packet must be stopped, and, where selected, where a fixed number of information bits in each packet is sent, S i min =S i max .
Claim 9
Dependent Claim
29 words
The multimedia multiplexing device of claim 7 wherein the minimum and maximum number of raw information bits are pre-determined based on efficiency and memory requirements for a given application.
Claim 10
Dependent Claim
112 words
The multimedia multiplexing device of claim 7 wherein flags and stuffing bits for a packet are generated by a hardware HDLC controller, and the available bandwidth B i (t,t itp ) is estimated as a channel bit-rate multiplied by a buffer serving time, t-t itp , and then is subtracted by overhead corrections due to an underestimate of overhead of packets sent previously, where a correction for a packet is computed as T*R-S, where: A) T represents a time difference between an acknowledgment to the packet and that of an immediately preceeding packet; B) R represents the channel bit-rate; and C) S represents a number of known information bits in the packet.
Claim 11
Dependent Claim
343 words
A multimedia multiplexing device in a multimedia communication system for segmenting and multiplexing bitstreams from different media sources into variable length packets, said device comprising: A) a plurality of information buffers for receiving bitstreams from the different media sources and temporarily buffering the bitstreams: B) a dynamic priority-based packet segmentation and multiplexing unit having a multi-discipline queuing scheme, operably coupled to the plurality of information buffers and to an output channel, for: B1) dynamically adjusting sizes of packets for the bitstreams based on a fullness of each of the plurality of information buffers and an available bit-rate of the output channel: and B2) multiplexing the packets in an order based on the multi-discipline gueuing scheme that assigns a higher priority to delay-sensitive source/sources than to delay-insensitive source/sources and provides an effective bandwidth sharing among a plurality of sources, wherein the dynamic priority-based packet segmentation and multiplexing unit comprises: C) a buffer monitor, operably coupled to the plurality of information buffers, for monitoring the fullness of each information buffer and sending a packet-transmission request to a queuing and segmentation controller when an information buffer has one packet worth of information bits ready to be sent; D) the queuing and segmentation controller, operably coupled to the buffer monitor, to the output channel, and to a packet generator, for receiving packet-transmission request/requests from the buffer monitor, for receiving channel bit-rate information from the output channel, for receiving an end of packet indication from a packet generator, and for modifying a service buffer of a server in accordance with a selected queuing discipline; E) the server, operably coupled to the queuing and segmentation controller and to the plurality of information buffers, for receiving a command from the queuing and segmentation controller and for receiving a bitstream from a selected information buffer and passing the selected bitstream to a packet generator; and F) the packet generator, operably coupled to receive a bitstream from the server, for forming packets and sending packets to the output channel and informing the queuing and segmentation controller each time a packet is sent.
Claim 12
Dependent Claim
343 words
A multimedia multiplexing device in a multimedia communication system for segmenting and multiplexing bitstreams from different media sources into variable length packets, said device comprising: A) a plurality of information buffers for receiving bitstreams from the different media sources and temporarily buffering the bitstreams: B) a dynamic priority-based packet segmentation and multiplexing unit having a multi-discipline queuing scheme, operably coupled to the plurality of information buffers and to an output channel, for: B1) dynamically adjusting sizes of packets for the bitstreams based on a fullness of each of the plurality of information buffers and an available bit-rate of the output channel: and B2) multiplexing the packets in an order based on the multi-discipline gueuing scheme that assigns a higher priority to delay-sensitive source/sources than to delay-insensitive source/sources and provides an effective bandwidth sharing among a plurality of sources, wherein the dynamic priority-based packet segmentation and multiplexing unit comprises: C) a buffer monitor, operably coupled to the plurality of information buffers, for monitoring the fullness of each information buffer and sending a packet-transmission request to a queuing and segmentation controller when an information buffer has one packet worth of information bits ready to be sent; D) the queuing and segmentation controller, operably coupled to the buffer monitor, to the output channel, and to a packet generator, for receiving packet-transmission request/requests from the buffer monitor, for receiving channel bit-rate information from the output channel, for receiving an end of packet indication from a packet generator, and for modifying a service buffer of a server in accordance with a selected queuing discipline; E) the server, operably coupled to the queuing and segmentation controller and to the plurality of information buffers, for receiving a command from the queuing and segmentation controller and for receiving a bitstream from a selected information buffer and passing the selected bitstream to a packet generator; and F) the packet generator, operably coupled to receive a bitstream from the server, for forming packets and sending packets to the output channel and informing the queuing and segmentation controller each time a packet is sent.
Claim 13
Dependent Claim
62 words
The multimedia multiplexing device of claim 10 wherein the multi-discipline queuing scheme includes prioritizing bitstreams from different sources based on delay tolerances, where a least delay-tolerant bitstream is given the highest priority, a most delay-tolerant bitstream is given the lowest priority, and bitstreams that have an equal delay tolerance are given a same priority and are grouped into a single priority group.
Claim 14
Dependent Claim
50 words
The multimedia multiplexing device of claim 11 wherein a bandwidth-weighting factor a i for bitstream i, i an index of the bitstream, is assigned for each bitstream as a fraction of bandwidth allocated to the bitstream i out of the total bandwidth allocated to the priority group containing bitstream i.
Claim 15
Dependent Claim
110 words
The multimedia multiplexing device of claim 10 wherein, in the multi-discipline queuing scheme, where there are N buffers, represented as B 1 , B 2 , . . . , and B N , for storing source bitstream 1, 2, . . . , and N respectively, a priority of each buffer is the same as the priority of the corresponding bitstream, the buffers are served according to one of A-C: A) a Head of Line Priority for Variable Length Packet Segmentation, HOLP-VLP, queuing discipline; B) a Weighted Round Robin for Variable Length Packet Segmentation, WRR-VLP, queuing discipline; and C) a predetermined combination of the HOLP-VLP and WRR-VLP queuing disciplines.
Claim 16
Dependent Claim
122 words
The multimedia multiplexing device of claim 13 wherein, a HOLP-VLP queuing discipline is utilized to treat priority groups that all have different priorities and includes the steps of: A) where buffer i, i an index of the buffer, is currently being served, continuing, by a server, to serve buffer i until one of the following two events happens: A1) at least one packet from a higher priority buffer is ready to be sent; A2) an insufficient number of bits are available in buffer i; B) upon one of A1-A2 occuring, stopping serving buffer i, by the server, after completely sending a packet currently being sent and then switching to serve a next highest priority buffer that has packet/packets ready to be sent.
Claim 17
Dependent Claim
256 words
The multimedia multiplexing device of claim 13 wherein, a WRR-VLP queuing discipline is utilized to treat bitstreams that all have an equal priority and includes the steps: A) serving, by the server, in a pre-selected partition period, T p , each buffer in a same priority group cyclically in a predetermined order and for a period, T i , i an index of the buffer, where the period T i is one of A1-A3: A1) a i *T p , where a i is the bandwidth weighting factor used for bitstream i; and A2) shortening T i where one of A2a-A2b: A2a) where insufficient bits is in buffer i; and A2b) where a packet from a higher priority buffer is ready to be sent; and A3) extending T i where buffer i still has bits to be sent, but all other buffers in a same priority group are unready to send bits, where an upper bound of a partition period T p is determined by one of A3a-A3b: A3a) a predetermined maximum queuing delay requirement for each bitstream in the priority group and a lower bound of T p is determined by the packetization efficiency requirement; and A3b) T p is adjusted dynamically; where, when a particular buffer is allocated a period of a i *T p to send a packet, but the packet is interrupted by a packet-transmission request from a higher priority buffer, then a remaining credit is given to a same buffer when the priority group is served again in a following time.
Claim 18
Dependent Claim
193 words
The multimedia multiplexing device of claim 13 wherein a packet from bitstream i and generated at time t contains the number of raw information bits denoted as S i (t), excluding packet header, flags and any stuffing bits, where S i (t)is computed as follows: ##EQU2## where S i min and S i max , with 0<S i min <=S i max , are respectively a minimum and maximum number of raw information bits in a packet for bitstream i, Q i (t) a number of raw information bits available in buffer i at time t, Q i (t itp -t) a number of raw information bits entering buffer i between time t and t itp , and B i (t,t itp ) a maximum number of bits, that can be sent during a time when said buffer is being continuously served, subtracted by any overhead bits, denoted O i (t), for the packet, where t itp is the interrupt time at which transmission of the current packet must be stopped, and, where selected, where a fixed number of information bits in each packet is sent, S i min =S i max .
Claim 19
Dependent Claim
29 words
The multimedia multiplexing device of claim 16 wherein the minimum and maximum number of raw information bits are pre-determined based on efficiency and memory requirements for a given application.
Claim 20
Dependent Claim
112 words
The multimedia multiplexing device of claim 16 wherein flags and stuffing bits for a packet are generated by a hardware HDLC controller, and the available bandwidth B i (t,t itp ) is estimated as a channel bit-rate multiplied by a buffer serving time, t-t itp , and then is subtracted by overhead corrections due to an underestimate of overhead of packets sent previously, where a correction for a packet is computed as T*R-S, where: A) T represents a time difference between an acknowledgment to the packet and that of an immediately preceeding packet; B) R represents the channel bit-rate; and C) S represents a number of known information bits in the packet.
Claim 21
Dependent Claim
302 words
A multimedia multiplexing method for a multimedia communication system for segmenting and multiplexing bitstreams from different media sources into variable length packets, said method comprising the steps of: A) receiving bitstreams from different media sources and temporarily buffering the bitstreams in a plurality of information buffers; B) dynamically adjusting, utilizing a dynamic priority-based packet segmentation and multiplexing unit, sizes of packets for the information bitstreams based on a fullness of each of the plurality of information buffers and an available bit-rate of the output channel and C) multiplexing, utilizing the dynamic priority-based packet segmentation and multiplexing unit, the packets in an order based on the multi-discipline gueuing scheme that assigns a higher priority to delay-sensitive source/sources than to delay-insensitive source/sources and provides an effective bandwidth sharing among a plurality of sources, wherein the dynamic priority-based packet segmentation and multiplexing unit having a multi-discipline queuing scheme utilizes the steps of: D) monitoring, by a buffer monitor, the fullness of each information buffer and sending a packet-transmission request to a queuing and segmentation controller when an information buffer has one packet worth of information bits ready to be sent; E) utilizing a queuing and segmentation controller for receiving packet transmission request/requests from the buffer monitor, for receiving channel bit-rate information from an output channel, for receiving an end of packet indication from a packet generator, and for modifying a service buffer of a server in accordance with a selected queuing discipline; F) utilizing a server for receiving a command from the queuing and segmentation controller and for receiving a bitstream from a selected information buffer and passing the selected bitstream to a packet generator; and G) utilizing a packet generator for forming packets and sending the packets to the output channel and informing the queuing and segmentation controller each time a packet is sent.
Claim 22
Dependent Claim
302 words
A multimedia multiplexing method for a multimedia communication system for segmenting and multiplexing bitstreams from different media sources into variable length packets, said method comprising the steps of: A) receiving bitstreams from different media sources and temporarily buffering the bitstreams in a plurality of information buffers; B) dynamically adjusting, utilizing a dynamic priority-based packet segmentation and multiplexing unit, sizes of packets for the information bitstreams based on a fullness of each of the plurality of information buffers and an available bit-rate of the output channel and C) multiplexing, utilizing the dynamic priority-based packet segmentation and multiplexing unit, the packets in an order based on the multi-discipline gueuing scheme that assigns a higher priority to delay-sensitive source/sources than to delay-insensitive source/sources and provides an effective bandwidth sharing among a plurality of sources, wherein the dynamic priority-based packet segmentation and multiplexing unit having a multi-discipline queuing scheme utilizes the steps of: D) monitoring, by a buffer monitor, the fullness of each information buffer and sending a packet-transmission request to a queuing and segmentation controller when an information buffer has one packet worth of information bits ready to be sent; E) utilizing a queuing and segmentation controller for receiving packet transmission request/requests from the buffer monitor, for receiving channel bit-rate information from an output channel, for receiving an end of packet indication from a packet generator, and for modifying a service buffer of a server in accordance with a selected queuing discipline; F) utilizing a server for receiving a command from the queuing and segmentation controller and for receiving a bitstream from a selected information buffer and passing the selected bitstream to a packet generator; and G) utilizing a packet generator for forming packets and sending the packets to the output channel and informing the queuing and segmentation controller each time a packet is sent.
Claim 23
Dependent Claim
60 words
The method of claim 19 wherein the multi-discipline queuing scheme includes prioritizing bitstreams from different sources based on delay tolerances, where a least delay-tolerant bitstream is given the highest priority, a most delay-tolerant bitstream is given the lowest priority, and bitstreams that have an equal delay tolerance are given a same priority and are grouped into a single priority group.
Claim 24
Dependent Claim
49 words
The method of claim 20 wherein a bandwidth-weighting factor a i for a bitstream i, i an index of the bitstream, is assigned for each bitstream as a fraction of bandwidth allocated to the bitstream i out of the total bandwidth allocated to the priority group containing bitstream i.
Claim 25
Dependent Claim
108 words
The method of claim 19 wherein, in the multi-discipline queuing scheme, where there are N buffers, represented as B 1 , B 2 , . . . , and B N , for storing source bitstream 1, 2, . . . , and N respectively, a priority of each buffer is the same as the priority of the corresponding bitstream, the buffers are served according to one of A-C: A) a Head of Line Priority for Variable Length Packet Segmentation, HOLP-VLP, queuing discipline; B) a Weighted Round Robin for Variable Length Packet Segmentation, WRR-VLP, queuing discipline; and C) a predeterimined combination of the HOLP-VLP and WRR-VLP queuing disciplines.
Claim 26
Dependent Claim
120 words
The method of claim 22 wherein the HOLP-VLP queuing discipline is utilized to treat priority groups that all have different priorities and includes the steps: A) where buffer i, i an index of the buffer, is currently being served, continuing, by a server, to serve buffer i until one of the following two events happens: A1) at least one packet from a higher priority buffer is ready to be sent; A2) an insufficient number of bits are available in buffer i; B) upon one of the events occuring, stopping serving buffer i, by the server, after completely sending a packet currently being sent and then switching to serve a next highest priority buffer that has packet/packets ready to be sent.
Claim 27
Dependent Claim
254 words
The method of claim 22 wherein, the WRR-VLP queuing discipline is utilized to treat bitstreams that all have an equal priority and includes the steps: A) serving, by the server, in a pre-selected partition period, T p , each buffer in a same priority group cyclically in a predetermined order and for a period, T i , i an index of the buffer, where the period T i is one of A1-A3: A1) a i *T p , where a i is the bandwidth weighting factor used for bitstream i; and A2) shortening T i where one of A2a-A2b: A2a) where insufficient bits are in buffer i; and A2b) where a packet from a higher priority buffer is ready to be sent; and A3) extending T i where buffer i still has bits to be sent, but all other buffers in a same priority group are unready to send bits, where an upper bound of a partition period T p is determined by one of A3a-A3b: A3a) a predetermined maximum queuing delay requirement for each bitstream in the priority group and a lower bound of T p is determined by the packetization efficiency requirement; and A3b) T p is adjusted dynamically; where, when a particular buffer is allocated a period of a i *T p to send a packet, but the packet is interrupted by a packet-transmission request from a higher priority buffer, then the remaining credit is given to the same buffer when the priority group is served again in a following time.
Claim 28
Dependent Claim
210 words
The method of claim 22 wherein a packet from bitstream i and generated at time t contains a number of raw information bits denoted as S i (t), excluding packet header, flags and any stuffing bits, where S i (t) is computed as follows: if (Q i (t)<S i min ) S i (t)=0 else S.sub.i (t)=min {S.sub.i.sup.max, Q.sub.i (t)+Q.sub.i (t.sub.itp -t), B.sub.i (t,t.sub.itp)} where S i min and S i max , with 0<S i min <=S i max , are respectively a minimum and maximum number of raw information bits in a packet for bitstream i, Q i (t) number of raw information bits available in buffer i at time t, Q i (t itp -t) a number of raw information bits entering buffer i between time t and t itp , and B i (t,t itp ) a maximum number of bits, that can be sent during a time when said buffer is being continuously served, subtracted by any overhead bits, denoted O i (t), for the packet, where t itp is the interrupt time at which transmission of the current packet must be stopped, and, where selected, where a fixed number of information bits in each packet is sent, S i min =S i max .
Claim 29
Dependent Claim
29 words
The multimedia multiplexing device of claim 25 wherein the minimum and maximum number of raw information bits are pre-determined based on efficiency and memory requirements for a given application.
Claim 30
Dependent Claim
113 words
The multimedia multiplexing device of claim 25 wherein flags and stuffing bits for a packet are generated by a hardware HDLC controller, and the available bandwidth B i (t,t itp ) is estimated as a channel bit-rate multiplied by a buffer serving time, t-t titp , and then is subtracted by the overhead corrections due to an underestimate of overhead of packets sent previously, where a correction for a packet is computed as T*R-S, where: A) T represents a time difference between an acknowledgment to the packet and that of an immediately preceeding packet; B) R represents the channel bit-rate; and C) S represents a number of known information bits in the packet.
Claim 31
Dependent Claim
114 words
The method of claim 22 wherein the multi-discipline queuing scheme includes, where a real-time audio bitstream, denoted as bitstream 1, a real-time video bitstream, denoted as bitstream 2, a real-time data bitstream, denoted as bitstream 3, and a non-real-time data bitstream, denoted as a bitstream 4, are multiplexed together, making priority assignments with P 1 >P 2 =P 3 >P 4 , where P i is a priority associated with bitstream i, and i=1, 2, 3, 4, assigning bitstream 2 and 3 in a same priority group, denoted as PG2, that are multiplexed according to the WRR-VLP queuing discipline, and then multiplexing bitstream 1, PG2, and bitstream 4 according to the HOLP-VLP queuing discipline.
Claim 32
Dependent Claim
351 words
Data Communications Equipment/Data Terminal Equipment having a multimedia multiplexing device in a multimedia communication system for segmenting and multiplexing bitstreams from different media sources into variable length packets, said multimedia multiplexing device comprising: A) a plurality of information buffers for receiving bitstreams from the different media sources and temporarily buffering the bitstreams: B) a dynamic priority-based packet segmentation and multiplexing unit having a multi-discipline queuing scheme, operably coupled to the plurality of information buffers and to an output channel, for: B1) dynamically adjusting sizes of packets for the bitstreams based on a fullness of each of the plurality of information buffers and an available bit-rate of the output channel: and B2) multiplexing the packets in an order based on the multi-discipline queuing scheme that assigns a higher priority to delay-sensitive source/sources than to delay-insensitive source/sources and provides an effective bandwidth sharing among a plurality of sources, wherein the dynamic priority-based packet segmentation and multiplexing unit comprises: A) a buffer monitor, operably coupled to the plurality of information buffers, for monitoring the fullness of each information buffer and sending a packet-transmission request to a queuing and segmentation controller when an information buffer has one packet worth of information bits ready to be sent; B) the queuing and segmentation controller, operably coupled to the buffer monitor, to the output channel, and to a packet generator, for receiving packet-transmission request/requests from the buffer monitor, for receiving channel bit-rate information from the output channel, for receiving an end of packet indication from a packet generator, and for modifying a service buffer of a server in accordance with a selected queuing discipline; C) the server, operably coupled to the queuing and segmentation controller and to the plurality of information buffers, for receiving a command from the queuing and segmentation controller and for receiving a bitstream from a selected information buffer and passing the selected bitstream to a packet generator; and D) the packet generator, operably coupled to receive a bitstream from the server, for forming packets and sending packets to the output channel and informing the queuing and segmentation controller each time a packet is sent.
Claim 33
Dependent Claim
351 words
Data Communications Equipment/Data Terminal Equipment having a multimedia multiplexing device in a multimedia communication system for segmenting and multiplexing bitstreams from different media sources into variable length packets, said multimedia multiplexing device comprising: A) a plurality of information buffers for receiving bitstreams from the different media sources and temporarily buffering the bitstreams: B) a dynamic priority-based packet segmentation and multiplexing unit having a multi-discipline queuing scheme, operably coupled to the plurality of information buffers and to an output channel, for: B1) dynamically adjusting sizes of packets for the bitstreams based on a fullness of each of the plurality of information buffers and an available bit-rate of the output channel: and B2) multiplexing the packets in an order based on the multi-discipline queuing scheme that assigns a higher priority to delay-sensitive source/sources than to delay-insensitive source/sources and provides an effective bandwidth sharing among a plurality of sources, wherein the dynamic priority-based packet segmentation and multiplexing unit comprises: A) a buffer monitor, operably coupled to the plurality of information buffers, for monitoring the fullness of each information buffer and sending a packet-transmission request to a queuing and segmentation controller when an information buffer has one packet worth of information bits ready to be sent; B) the queuing and segmentation controller, operably coupled to the buffer monitor, to the output channel, and to a packet generator, for receiving packet-transmission request/requests from the buffer monitor, for receiving channel bit-rate information from the output channel, for receiving an end of packet indication from a packet generator, and for modifying a service buffer of a server in accordance with a selected queuing discipline; C) the server, operably coupled to the queuing and segmentation controller and to the plurality of information buffers, for receiving a command from the queuing and segmentation controller and for receiving a bitstream from a selected information buffer and passing the selected bitstream to a packet generator; and D) the packet generator, operably coupled to receive a bitstream from the server, for forming packets and sending packets to the output channel and informing the queuing and segmentation controller each time a packet is sent.
Claim 34
Dependent Claim
64 words
The Data Communications Equipment/Data Terminal Equipment of claim 29 wherein the multi-discipline queuing scheme includes prioritizing bitstreams from different sources based on delay tolerances, where a least delay-tolerant bitstream is given the highest priority, a most delay-tolerant bitstream is given the lowest priority, and bitstreams that have an equal delay tolerance are given a same priority and are grouped into a single priority group.
Claim 35
Dependent Claim
52 words
The Data Communications Equipment/Data Terminal Equipment of claim 30 wherein a bandwidth-weighting factor a i for bitstream i, i an index of the bitstream, is assigned for each bitstream as a fraction of bandwidth allocated to the bitstream i out of the total bandwidth allocated to the priority group containing bitstream i.
Claim 36
Dependent Claim
112 words
The Data Communications Equipment/Data Terminal Equipment of claim 29 wherein, in the multi-discipline queuing scheme, where there are N buffers, represented as B 1 , B 2 , . . . , and B N , for storing source bitstream 1, 2, . . . , and N respectively, a priority of each buffer is the same as the priority of the corresponding bitstream, the buffers are served according to one of A-C: A) a Head of Line Priority for Variable Length Packet Segmentation, HOLP-VLP, queuing discipline; B) a Weighted Round Robin for Variable Length Packet Segmentation, WRR-VLP, queuing discipline; and C) a predetermined combination of the HOLP-VLP and WRR-VLP queuing disciplines.
Claim 37
Dependent Claim
124 words
The Data Communications Equipment/Data Terminal Equipment of claim 32 wherein, the HOLP-VLP queuing discipline is utilized to treat priority groups that all have different priorities and includes the steps of: A) where buffer i, i an index of the buffer, is currently being served, continuing, by a server, to serve buffer i until one of the following two events happens: A1) at least one packet from a higher priority buffer is ready to be sent; A2) an insufficient number of bits are available in buffer i; B) upon one of A1-A2 occuring, stopping serving buffer i, by the server, after completely sending a packet currently being sent and then switching to serve a next highest priority buffer that has packet/packets ready to be sent.
Claim 38
Dependent Claim
258 words
The Data Communications Equipment/Data Terminal Equipment of claim 32 wherein, the WRR-VLP queuing discipline is utilized to treat bitstreams that all have an equal priority and includes the steps: A) serving, by the server, in a pre-selected partition period, T p , each buffer in a same priority group cyclically in a predetermined order and for a period, T i , i an index of the buffer, where the period T i is one of A1-A3: A1) a i *T p , where a i is the bandwidth weighting factor used for bitstream i; and A2) shortening T i where one of A2a-A2b: A2a) where insufficient bits is in buffer i; and A2b) where a packet from a higher priority buffer is ready to be sent; and A3) extending T i where buffer i still has bits to be sent, but all other buffers in a same priority group are unready to send bits, where an upper bound of a partition period T p is determined by one of A3a-A3b: A3a) a predetermined maximum queuing delay requirement for each bitstream in the priority group and a lower bound of T p is determined by the packetization efficiency requirement; and A3b) T p is adjusted dynamically; where, when a particular buffer is allocated a period of a i *T p to send a packet, but the packet is interrupted by a packet-transmission request from a higher priority buffer, then a remaining credit is given to a same buffer when the priority group is served again in a following time.
Claim 39
Dependent Claim
214 words
The Data Communications Equipment/Data Terminal Equipment of claim 32 wherein a packet from bitstream i and generated at time t contains the number of raw information bits denoted as S i (t), excluding packet header, flags and any stuffing bits, where S i (t)is computed as follows: if (Q i (t)<S i min ) S i (t)=0 else S.sub.i (t)=min {S.sub.i.sup.max, Q.sub.i (t)+Q.sub.i (t.sub.itp -t), B.sub.i (t,t.sub.itp)} where S i min and S i max , with 0<S i min <=S i max , are respectively a minimum and maximum number of raw information bits in a packet for bitstream i, Q i (t) a number of raw information bits available in buffer i at time t, Q i (t itp -t) a number of raw information bits entering buffer i between time t and t titp , and B i (t,t itp ) a maximum number of bits, that can be sent during a time when said buffer is being continuously served, subtracted by any overhead bits, denoted O i (t), for the packet, where t itp is the interrupt time at which transmission of the current packet must be stopped, and, where selected, where a fixed number of information bits in each packet is sent, S i min =S i max .
Claim 40
Dependent Claim
31 words
The Data Communications Equipment/Data Terminal Equipment of claim 35 wherein the minimum and maximum number of raw information bits are pre-determined based on efficiency and memory requirements for a given application.
Claim 41
Dependent Claim
115 words
The Data Communications Equipment/Data Terminal Equipment of claim 35 wherein flags and stuffing bits for a packet are generated by a hardware HDLC controller, and the available bandwidth B i (t,t itp ) is estimated as a channel bit-rate multiplied by a buffer serving time, t-t titp , and then is subtracted by the overhead corrections due to an underestimate of overhead of packets sent previously, where a correction for a packet is computed as T*R-S, where: A) T represents a time difference between an acknowledgment to the packet and that of an immediately preceeding packet; B) R represents the channel bit-rate; and C) S represents a number of known information bits in the packet.
References Cited (Backward Citations)
US5140584A
Cited
US5132966A
Cited
US5367643A
Cited
US5164938A
Cited
US5229992A
Cited
US5251209A
Cited
US5268900A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1999-07-30 | 2000-01-29 | 2000-07-30 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2003-07-30 | 2004-01-29 | 2004-07-30 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2007-07-30 | 2008-01-29 | 2008-07-30 | $7700.00 | Window Closed / Lapsed |