IP Library Granted Patent US 8,527,649
Granted Patent B2
US 8,527,649 · App. 13/041,398 · Granted Sep 3, 2013

Multi-stream bit rate adaptation

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 8,527,649
App. No.
13/041,398
Granted
Sep 3, 2013
Kind
B2
Abstract

A method for communication includes providing an item of media content for streaming in a plurality of versions having different, respective bit rates. The media content is streamed from a server to a client by transmitting a first version of the item over a network at a first bit rate from the server to the client via a server buffer associated with the server and monitoring a fill level of the server buffer while streaming the media content. The server switches to transmitting a second version of the item at a second bit rate, different from the first bit rate, to the client in response to a change in the fill level of the server buffer.

Claims (34)

1. A method for communication, comprising:

providing an item of media content comprising a compressed video stream, which comprises I-frames and P-frames, for streaming in a plurality of versions having different, respective bit rates; and

streaming the media content from a server to a client by:

transmitting a first version of the item over a network at a first bit rate from the server to the client via a server buffer associated with the server;

monitoring a fill level of the server buffer by comparing the fill level to at least an upper margin and a lower margin while streaming the media content; and

switching to transmitting a second version of the item at a second bit rate, different from the first bit rate, from the server to the client in response to a change in the fill level of the server buffer, wherein switching to transmitting the second version comprises switching to a lower bit rate when the fill level passes above the upper margin, and switching to the higher bit rate when the fill level passes below the lower margin, and an I-frame is encountered in the compressed video stream.

2. The method according to claim 1 , wherein providing the item of media content comprises receiving and transcoding an original item at a full bit rate so as to generate the versions at multiple partial bit rates.

3. The method according to claim 1 , wherein the media content comprises a video stream, and wherein at least some of the versions have different, respective frame rates.

4. The method according to claim 1 , wherein transmitting the first and second versions comprises transmitting data packets over the network from the server to the client, and wherein the method comprises receiving messages at the server from the client that report receipt of the data packets, and controlling the fill level of the server buffer responsively to the received messages.

5. The method according to claim 4 , wherein transmitting the data packets comprises transmitting in accordance with a Transmission Control Protocol (TCP), wherein the server buffer comprises a TCP send buffer, and wherein the messages from the client comprise TCP acknowledgments.

6. The method according to claim 1 , and comprising defining a buffer danger level above the upper threshold, wherein switching to the lower bit rate comprises reducing the bit rate by one increment when the fill level passes above the upper margin but is below the buffer danger level, and reducing the bit rate by multiple increments in a single step when the fill level passes above the buffer danger level.

7. A method for communication, comprising:

providing an item of video content for streaming in a plurality of versions, at least two of the versions having different, respective frame rates; and

streaming the video content from a server to a client by:

transmitting a first version of the item over a network at a first frame rate from the server to the client;

monitoring a fill level of a buffer by comparing the fill level to at least an upper threshold and a lower threshold while streaming the video content; and

in response to the fill level passing above the upper threshold or below the lower threshold, switching to transmitting a second version of the item at a second frame rate, different from the first frame rate, from the server to the client.

8. The method according to claim 7 , wherein providing the item of video content comprises receiving and transcoding an original item at a full frame rate so as to generate the versions at multiple partial frame rates.

9. The method according to claim 7 , wherein providing the item of video content comprises aligning the versions so that at least some first frames in the first version are synchronized with respective second frames in the second version.

10. The method according to claim 9 , wherein the video content comprises a compressed video stream comprising I-frames and P-frames, and wherein switching to transmitting the second version comprises switching to the second version at one of the P-frames.

11. Communication apparatus, comprising:

a media source, which is configured to provide an item of media content comprising a compressed video stream, which comprises I-frames and P-frames, for streaming in a plurality of versions having different, respective bit rates; and

a client interface, which comprises a buffer and is configured to stream the media content from the source to a client by transmitting a first version of the item over a network at a first bit rate via the buffer to the client, to monitor a fill level of the buffer while streaming the media content by comparing the fill level to at least an upper margin and a lower margin, and to switch to transmitting a second version of the item at a second bit rate, different from the first bit rate, in response to a change in the fill level of the buffer by switching to a lower bit rate when the fill level passes above the upper margin, and switching to the higher bit rate when the fill level passes below the lower margin, and an I-frame is encountered in the compressed video stream.

12. The apparatus according to claim 11 , wherein the media source comprises a transcoder, which is configured to receive and transcode an original item at a full bit rate so as to generate the versions at multiple partial bit rates.

13. The apparatus according to claim 11 , wherein the media content comprises a video stream, and wherein at least some of the versions have different, respective frame rates.

14. The apparatus according to claim 11 , wherein the client interface is configured to transmit the first and second versions in data packets over the network to the client, and to receive messages at the server from the client that report receipt of the data packets, and to control the fill level of the buffer responsively to the received messages.

15. The apparatus according to claim 14 , wherein the client interface is configured to transmit the data packets in accordance with a Transmission Control Protocol (TCP), wherein the buffer comprises a TCP send buffer, and wherein the messages from the client comprise TCP acknowledgments.

16. The apparatus according to claim 11 , wherein a buffer danger level is defined above the upper threshold, and wherein the client interface is configured to reduce the bit rate by one increment when the fill level passes above the upper margin but is below the buffer danger level, and to reduce the bit rate by multiple increments in a single step when the fill level passes above the buffer danger level.

17. Communication apparatus, comprising:

a media source, which is configured to provide an item of video content for streaming in a plurality of versions, at least two of the versions having different, respective frame rates; and

a client interface, which is configured to stream the video content from the source to a client by transmitting a first version of the item over a network to the client at a first frame rate, monitoring a fill level of a buffer by comparing the fill level to at least an upper threshold and a lower threshold while streaming the video content, and in response to the fill level passing above the upper threshold or below the lower threshold, to switch to transmitting a second version of the item to the client at a second frame rate, different from the first frame rate.

18. The apparatus according to claim 17 , wherein the media source comprises a transcoder, which is configured to receive and transcode an original item at a full frame rate so as to generate the versions at multiple partial frame rates.

19. The apparatus according to claim 17 , wherein the versions are aligned at the source so that at least some first frames in the first version are synchronized with respective second frames in the second version.

20. The apparatus according to claim 19 , wherein the video content comprises a compressed video stream comprising I-frames and P-frames, and wherein the client interface is configured to switch to the second version at one of the P-frames.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Aug 3, 2020
From: MIZRAHI TEFAHOT BANK, LTD.
To: FLASH NETWORKS LTD.
Reel/Frame 053381/0675 →
RELEASE OF SECURITY INTEREST Recorded May 16, 2018
From: KREOS CAPITAL IV (EXPERT FUND) LIMITED
To: FLASH NETWORKS LTD
Reel/Frame 046172/0758 →
SECURITY INTEREST Recorded May 16, 2018
From: FLASH NETWORKS LTD.
To: MIZRAHI TEFAHOT BANK, LTD..
Reel/Frame 046174/0432 →
SECURITY INTEREST Recorded Jul 14, 2014
From: FLASH NETWORKS LTD.
To: KREOS CAPITAL IV (EXPERT FUND) LIMITED; MIZRAHI TEFAHOT BANK, LTD.
Reel/Frame 033309/0712 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF ASSIGNEE PREVIOUSLY RECORDED ON REEL 033181 FRAME 0904. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jul 9, 2014
From: MOBIXELL NETWORKS, (ISRAEL) LTD
To: FLASH NETWORKS LTD.
Reel/Frame 033272/0322 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2014
From: MOBIXELL NETWORKS, (ISRAEL) LTD
To: FLASH NETWORKS ISRAEL
Reel/Frame 033181/0904 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2011
From: WEXLER, YOSEF; SHATZ, AMIR; DANIEL, ILAN; BEN-TSUR, YOSEF
To: MOBIXELL NETWORKS LTD.
Reel/Frame 025906/0590 →