IP Library Granted Patent US 7,444,418
Granted Patent B2
US 7,444,418 · App. 10/143,441 · Granted Oct 28, 2008

Transcoding multimedia information within a network communication system

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,444,418
App. No.
10/143,441
Granted
Oct 28, 2008
Kind
B2
Abstract

Multimedia information communicated between a transmitter and a receiver may be transcoded by intercepting the multimedia information within a network communication system. The available transmission rate of the downlink channel may be estimated by, for example, calculating a ratio of the smoothed round trip time of packets communicated to the receiver and a smoothed congestion window associated with the downlink channel. If the transmission rate at which the multimedia information is encoded is greater than the available transmission rate, the multimedia information may be transcoded to conform the multimedia information to the available transmission rate. The transcoded multimedia information may then be transmitted to the receiver over the downlink channel using a transmission timer.

Claims (97)

1. A method for transcoding audio information using a service module disposed within a network communication system, the method comprising:

breaking a connection between a transmitter and a receiver to form a first channel between the transmitter and the service module and a second channel between the service module and the receiver;

redirecting a digital audio stream communicated from the transmitter to the receiver to the service module via the first channel, the digital audio stream encoded at the transmitter at a first transmission rate;

estimating an available transmission rate of the second channel, wherein the estimating comprises measuring trip time of data packets communicated between the service module and receiver via the second channel;

if the first transmission rate is greater than the available transmission rate, transcoding the digital audio stream at the service module to conform the digital audio stream to the available transmission rate; and

transmitting the transcoded audio stream from the service module to the receiver over the second channel.

2. The method of claim 1 , wherein the step of breaking comprises:

terminating the connection between the transmitter and the receiver at the service module to form the first channel; and

opening a separate connection between the service module and the receiver to form the second channel.

3. The method of claim 1 , wherein the step of breaking is performed in response to the connection between the transmitter and receiver matching a predetermined criteria.

4. The method of claim 3 , wherein the predetermined criteria comprises a set of classification rules that mask one or more fields of a header associated with the digital audio stream.

5. The method of claim 1 , wherein the step of redirecting comprises modifying headers of the digital audio stream to replace an original destination address and destination port with a destination address and destination port associated with the service module.

6. The method of claim 1 , wherein the step of redirecting comprises generating connection control parameters that cause data packets of the digital audio stream to be redirected to an application associated with the service module.

7. The method of claim 1 , wherein the step of estimating comprises measuring a smoothed round trip time of data packets communicated from the service module to the receiver via the second channel.

8. The method of claim 7 , wherein the step of estimating further comprises measuring a smoothed congestion window parameter associated with the second channel.

9. The method of claim 8 , wherein the step of estimating further comprises calculating a ratio of the smoothed round trip time and the smoothed congestion window to estimate the available transmission rate.

10. The method of claim 1 , wherein the step of transcoding comprises transcoding a sequence of frames of the digital audio stream such that an average transmission rate of the frame sequence approximates the estimated available transmission rate.

11. The method of claim 10 , wherein the step of transcoding comprises transcoding the sequence of frames such that frames that occur earlier in the frame sequence are transcoded at a higher transmission rate than frames that occur later in the frame sequence.

12. The method of claim 10 , wherein the step of transcoding comprises transcoding the sequence of frames such that frames having a higher perceptual entropy are transcoded at a higher transmission rate than frames having a lower perceptual entropy.

13. A method for transcoding audio information using a service module disposed within a network communication system, the method comprising:

breaking a connection between a transmitter and a receiver to form a first channel between the transmitter and the service module and a second channel between the service module and the receiver;

redirecting a digital audio stream communicated from the transmitter to the receiver to the service module via the first channel, the digital audio stream encoded at the transmitter at a first transmission rate;

estimating an available transmission rate of the second channel;

if the first transmission rate is greater than the available transmission rate, transcoding the digital audio stream at the service module to conform the digital audio stream to the available transmission rate; and

transmitting the transcoded audio stream from the service module to the receiver over the second channel;

wherein the step of transcoding comprises:

requesting a plurality of versions of the digital audio stream from the transmitter, each version encoded at a different transmission rate; and

multiplexing between the plurality of versions to form a sequence of frames that have an average transmission rate that approximates the estimated available transmission rate.

14. The method of claim 1 , wherein the step of transcoding comprises:

decoding the digital audio stream at the service module; and

re-encoding the decoded audio stream at a lower transmission rate.

15. The method of claim 1 , wherein the step of transcoding comprises removing high frequency code words from selected frames of the digital audio stream to form a sequence of frames that have an average transmission rate that approximates the estimated available transmission rate.

16. The method of claim 1 , wherein the step of transcoding comprises mapping code words from selected frames of the digital audio stream to a decimated set of code words having coarser quantization to form a sequence of frames that have an average transmission rate that approximates the available transmission rate.

17. The method of claim 1 , wherein the step of transmitting comprises transmitting the transcoded audio stream from the service module to the receiver in a manner transparent to the receiver.

18. The method of claim 17 , wherein the step of transmitting comprises transmitting the transcoded audio stream from the service module using a source address and source port associated with the transmitter.

19. The method of claim 1 , wherein the step of transmitting comprises using a transmission timer to provide timer-based data flow control, the period of the timer determined from the estimated available transmission rate.

20. The method of claim 1 , further comprising embedding additional information within the transcoded digital audio stream.

21. The method of claim 20 , wherein the step of embedding comprises embedding the additional information using a watermarking technique.

22. The method of claim 20 , wherein the embedded information comprises at least one of a forward error correction code, synchronization information and ancillary information regarding the digital audio stream.

23. A method for transcoding multimedia information within a network communication system, the method comprising:

intercepting digital multimedia information communicated between a transmitter and a receiver, the digital multimedia information encoded at the transmitter at a first transmission rate;

estimating an available transmission rate of a receiver-side connection, wherein the estimating comprises measuring trip time of data packets communicated between the service module and receiver via the second channel;

if the first transmission rate is greater than the available transmission rate, transcoding the digital multimedia information to conform the digital multimedia information to the available transmission rate; and

transmitting the transcoded multimedia information to the receiver over the receiver-side connection at a transmission rate determined from the estimated available transmission rate.

24. The method of claim 23 , wherein the step of transcoding comprises transcoding a sequence of frames of the digital multimedia information such that an average transmission rate of the frame sequence approximates the estimated available transmission rate.

25. The method of claim 24 , wherein the step of transcoding comprises transcoding the sequence of frames such that frames that occur earlier in the frame sequence are transcoded at a higher transmission rate than frames that occur later in the frame sequence.

26. The method of claim 24 , wherein the step of transcoding comprises transcoding the sequence of frames such that frames having a higher perceptual entropy are transcoded at a higher transmission rate than frames having a lower perceptual entropy.

27. A method for transcoding multimedia information within a network communication system, the method comprising:

intercepting digital multimedia information communicated between a transmitter and a receiver, the digital multimedia information encoded at the transmitter at a first transmission rate;

estimating an available transmission rate of a receiver-side connection;

if the first transmission rate is greater than the available transmission rate, transcoding the digital multimedia information to conform the digital multimedia information to the available transmission rate; and

transmitting the transcoded multimedia information to the receiver over the receiver-side connection at a transmission rate determined from the estimated available transmission rate;

wherein the step of transcoding comprises:

requesting a plurality of versions of the digital multimedia information from the transmitter, each version encoded at a different transmission rate; and

multiplexing between the plurality of versions to form a sequence of frames that have an average transmission rate that approximates the estimated available transmission rate.

28. The method of claim 23 , wherein the step of transcoding comprises:

decoding the digital multimedia information; and

re-encoding the decoded multimedia information at a lower transmission rate.

29. The method of claim 23 , wherein the step of transcoding comprises removing high frequency code words from selected frames of the digital multimedia information to form a sequence of frames that have an average transmission rate that approximates the estimated available transmission rate.

30. The method of claim 23 , wherein the step of transcoding comprises mapping code words from selected frames of the digital multimedia information to a decimated set of code words having coarser quantization to form a sequence of frames that have an average transmission rate that approximates the available transmission rate.

31. The method of claim 23 , wherein the step of transmitting comprises transmitting the transcoded multimedia information to the receiver in a manner transparent to the receiver.

32. The method of claim 31 , wherein the step of transmitting comprises transmitting the transcoded multimedia information using a source address and source port associated with the transmitter.

33. The method of claim 23 , wherein the step of transmitting comprises using a transmission timer for regulating the transmission of each data packet, the transmission timer having the period determined from the estimated available transmission rate.

34. The method of claim 23 , further comprising embedding additional information within the transcoded digital multimedia stream.

35. The method of claim 34 , wherein the step of embedding comprises embedding the additional information using a watermarking technique.

36. The method of claim 34 , wherein the embedded information comprises at least one of a forward error correction code, synchronization information and ancillary information regarding the digital multimedia information.

37. A system for transcoding multimedia information within a network communication system, the system comprising:

a processor; and

a memory unit, operably coupled to the processor, for storing instructions which when executed by the processor cause the processor to operate so as to:

intercept digital multimedia information communicated between a transmitter and a receiver, the digital multimedia information encoded at the transmitter at a first transmission rate;

estimate an available transmission rate of a receiver-side connection by measuring a trip time of data communicated between the service module and the receiver;

if the first transmission rate is greater than the available transmission rate, transcode the digital multimedia information to conform the digital multimedia information to the available transmission rate; and

transmit the transcoded audio stream to the receiver over the receiver-side connection at a transmission rate determined from the estimated available transmission rate.

38. The system of claim 37 , wherein the instructions which cause the processor to operate so as to transcode cause the processor to operate so as to transcode a sequence of frames of the digital multimedia information such that an average transmission rate of the frame sequence approximates the estimated available transmission rate.

39. The system of claim 38 , wherein the instructions which cause the processor to operate so as to transcode cause the processor to operate so as to transcode the sequence of frames such that frames that occur earlier in the frame sequence are transcoded at a higher transmission rate than frames that occur later in the frame sequence.

40. The system of claim 38 , wherein the instructions which cause the processor to operate so as to transcode cause the processor to operate so as to transcode the sequence of frames such that frames having a higher perceptual entropy are transcoded at a higher transmission rate than frames having a lower perceptual entropy.

41. A system for transcoding multimedia information within a network communication system, the system comprising:

a processor; and

a memory unit, operably coupled to the processor, for storing instructions which when executed by the processor cause the processor to operate so as to:

intercept digital multimedia information communicated between a transmitter and a receiver, the digital multimedia information encoded at the transmitter at a first transmission rate;

estimate an available transmission rate of a receiver-side connection;

if the first transmission rate is greater than the available transmission rate, transcode the digital multimedia information to conform the digital multimedia information to the available transmission rate; and

transmit the transcoded audio stream to the receiver over the receiver-side connection at a transmission rate determined from the estimated available transmission rate:

wherein the instructions which cause the processor to operate so as to transcode cause the processor to operate so as to:

request a plurality of versions of the digital multimedia information from the transmitter, each version encoded at a different transmission rate; and

multiplex between the plurality of versions to form a sequence of frames that have an average transmission rate that approximates the estimated available transmission rate.

42. The system of claim 37 , wherein the instructions which cause the processor to operate so as to transcode cause the processor to operate so as to:

decode the digital multimedia information; and

re-encode the decoded multimedia information at a lower transmission rate.

43. The system of claim 37 , wherein the instructions which cause the processor to operate so as to transcode cause the processor to operate so as to remove high frequency code words from selected frames of the digital multimedia information to form a sequence of frames that have an average transmission rate that approximates the estimated available transmission rate.

44. The system of claim 37 , wherein the instructions which cause the processor to operate so as to transcode cause the processor to operate so as to map code words from selected frames of the digital multimedia information to a decimated set of code words having coarser quantization to form a sequence of frames that have an average transmission rate that approximates the available transmission rate.

45. The system of claim 37 , wherein the instructions which cause the processor to operate so as to transmit cause the processor to operate so as to transmit the transcoded multimedia information to the receiver in a manner transparent to the receiver.

46. The system of claim 37 , wherein the instructions which cause the processor to operate so as to transmit cause the processor to operate so as to transmit the transcoded multimedia information using a source address and source port associated with the transmitter.

47. The system of claim 37 , wherein the instructions which cause the processor to operate so as to transmit cause the processor to operate so as to transmit data packet in response to expiration of a transmission timer, the transmission timer having a period determined from the estimated available transmission rate.

48. The system of claim 37 , wherein the memory unit further includes instructions which cause the processor to operate as to embed additional information within the transcoded multimedia stream.

49. The system of claim 48 , wherein the instructions which cause the processor to operate so as to embed cause the processor to operate so as to embed the additional information using a watermarking technique.

50. The system of claim 48 , wherein the embedded information comprises at least one of a forward error correction code, synchronization information and ancillary information regarding the digital multimedia information.

Assignments (9)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2023
From: BYTEMOBILE INNOVATIONS, LLC
To: OPTIMORPHIX, INC.
Reel/Frame 064054/0247 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2022
From: CITRIX SYSTEMS, INC.
To: BYTEMOBILE INNOVATIONS, LLC
Reel/Frame 059087/0052 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2015
From: BYTEMOBILE, INC.
To: CITRIX SYSTEMS, INC.
Reel/Frame 037289/0606 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2015
From: CITRIX SYSTEMS, INC.
To: BYTEMOBILE, INC.
Reel/Frame 035440/0599 →
RELEASE OF SECURITY INTEREST Recorded Feb 20, 2015
From: PARTNERS FOR GROWTH III, L.P.
To: BYTEMOBILE, INC.
Reel/Frame 034991/0891 →
NUNC PRO TUNC ASSIGNMENT Recorded Dec 6, 2013
From: BYTEMOBILE, INC.
To: CITRIX SYSTEMS, INC.
Reel/Frame 031730/0322 →
THIS SUBMISSION IS TO CORRECT THE SPELLING OF THE RECEIVING PARTY (ASSIGNEE)'S STREET NAME IN THE ORIGINAL COVER SHEET RECORDED AT REEL/FRAME 030609/0389. THE ADDRESS NAME SHOULD BE WEST CYPRESS CREEK ROAD. Recorded Sep 17, 2013
From: BYTEMOBILE, INC.
To: CITRIX SYSTEMS, INC.
Reel/Frame 031287/0874 →
MERGER Recorded Jun 13, 2013
From: BYTEMOBILE, INC.
To: CITRIX SYSTEMS, INC.
Reel/Frame 030609/0389 →
SECURITY AGREEMENT Recorded Dec 22, 2011
From: BYTEMOBILE, INC.
To: PARTNERS FOR GROWTH III, L.P.
Reel/Frame 027438/0616 →