A transmission systems suitable for video.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method for transmitting video content comprising: (a) encoding said video by an application layer at a sender; (b) providing a portion of said encoded video to a lower network layer than said application layer at said sender, subject to at least one regulator that regulates the rate that data is transferred from said application layer to said lower network layer, based upon, at least in part, a timer reaching a variable threshold, where said regulator provides said portion of said encoded video upon receipt of a confirmation message of a successful transmission of a previously-sent portion of said encoded video from a receiver, and provides said portion of said encoded video upon expiration of said timer, but provides a portion of said encoded video in no other circumstance, where said portion of said encoded video is different than said previously-sent portion of said encoded video, and where said timer resets upon receipt of confirmation messages from a receiver; (c) transmitting said encoded video across a network interconnection to said receiver; (d) wherein said threshold is based upon an estimation of the amount of said encoded video in a buffer of a layer lower than said application layer and within said sender, where said estimation is based upon data stored in a virtual buffer that holds a list of the sequence numbers of packets estimated to be present in said buffer of said layer lower than said application layer.
2. The method of claim 1 wherein said application layer uses said data in said virtual buffer to limit the number of packets in said buffer of said layer lower than said application layer.
3. The method of claim 1 wherein said lower network layer is a MAC layer.
4. The method of claim 1 wherein said network interconnection is a wireless network.
5. The method of claim 1 wherein said application layer is free from controlling the transmission, to said receiver, of encoded video already provided to said lower network layer.
6. The method of claim 1 wherein said encoding includes transcoding.
7. The method of claim 1 wherein said providing is based upon a model of a MAC buffer in the application layer modeling said encoded video in a MAC buffer.
8. The method of claim 7 further comprising providing additional said encoded video to said lower network layer when said model indicates said MAC buffer is sufficiently empty.
9. The method of claim 8 further comprising estimating if a further additional said encoded video provided to said MAC buffer would likely arrive at a decoder later than a desired time.
10. The method of claim 9 further comprising selectively not providing said further additional said encoded video to said MAC buffer.
11. The method of claim 10 wherein said selectively is based upon said desired time.
12. The method of claim 7 wherein said model of said MAC layer is updated based upon receiving data indicating a portion of said encoded data has been received by a receiver.
13. The method of claim 7 wherein said model of said MAC layer is updated based upon not receiving data indicating a portion of said encoded data has been received by a receiver.
14. The method of claim 13 wherein said not been received is based upon a predetermined time period.
15. A method for transmitting video content comprising: (a) encoding said video by an application network layer at a sender; (b) sequentially providing respective portions of said encoded video to a MAC layer at said sender, subject to a regulator that regulates the rate that data is transferred from said application layer to said lower network layer, based, at least in part, upon a timer reaching a variable threshold, where said timer resets upon receipt of confirmation messages from a receiver; (c) transmitting said encoded video across a network interconnection to a receiver; (d) wherein said providing is based upon a virtual MAC buffer that only estimates the fullness of a MAC buffer being less than said variable threshold, said variable threshold a function of the size of the most previous sequential portion of said encoded video provided to said MAC layer, and said variable threshold based on a virtual MAC buffer in the application layer emulating at least one condition of said MAC buffer, where said virtual buffer is different than said regulator.
16. The method of claim 15 further comprising receiving a feedback message form said receiver indicating that a data packet held in said MAC buffer has been received, and removing said data packet from said MAC buffer upon receipt of said feedback message.
17. The method of claim 16 further comprising a timeout value for receipt of said feedback message, and removing at least one data packet from said MAC buffer if said timeout value has been exceeded.
18. The method of claim 17 where said timeout value is a function of the size of a most recent burst of packets sent from said MAC buffer to said receiver.
19. The method of claim 17 wherein said timeout value is a function of the interval between the instant that a burst of packets was sent to said receiver from said MAC buffer and the instant that said feedback message acknowledging receipt of said burst is expected to be received from said receiver.
20. The method of claim 15 wherein said virtual MAC buffer is updated based upon receiving data indicating a portion of said encoded data has been received by a receiver.
21. The method of claim 15 wherein said model of said MAC layer is updated based upon not receiving data indicating a portion of said encoded data has been received by a receiver.
22. The method of claim 21 wherein said not been received is based upon a predetermined time period.
23. A method for transmitting video content comprising: (a) encoding said video by an application network layer at a sender; (b) providing a portion of said encoded video to a lower network layer than said application layer at said sender, subject to a regulator that regulates the rate that data is transferred from said application layer to said lower network layer, based, at least in part, upon a timer reaching a variable threshold, where said timer resets upon receipt of confirmation messages from a receiver; (c) transmitting said encoded video across a network interconnection to a receiver; (d) wherein said providing is based upon a virtual MAC buffer in the application layer that only holds a list of the sequence numbers of packets estimated to be present in a MAC buffer in said lower network layer, where said virtual buffer is different than said regulator, and where said variable threshold is a function of the expected time difference between the instant that said portion of said encoded video was provided to said lower network layer and the instant of receipt of said feedback message.
24. The method of claim 23 further comprising providing additional said encoded video to said lower network layer when said model indicates said MAC buffer is sufficiently empty.
25. The method of claim 23 further comprising estimating if a further additional said encoded video provided to said MAC buffer would likely arrive at a decoder later than a desired time.
26. The method of claim 25 further comprising selectively not providing said further additional said encoded video to said MAC buffer.
27. The method of claim 26 wherein said selectively is based upon said desired time.
28. The method of claim 27 wherein said model of said MAC layer is updated based upon receiving data indicating a portion of said encoded data has been received by a receiver.
29. The method of claim 28 wherein said model of said MAC layer is updated based upon not receiving data indicating a portion of said encoded data has been received by a receiver.
30. The method of claim 29 wherein said not been received is based upon a predetermined time period.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
April 21, 2005
September 14, 2010
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.