Systems and methods for achieving optimal network bitrate

US12250423B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12250423-B2
Application numberUS-202117454266-A
CountryUS
Kind codeB2
Filing dateNov 10, 2021
Priority dateApr 3, 2017
Publication dateMar 11, 2025
Grant dateMar 11, 2025

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method of encoding packets of a media stream includes establishing a data connection between a client device and a server, sending a first packet of the media stream from the server to the client device at a first bit rate, receiving, at the server, a first acknowledgment signal from the client device responsive to receipt of the first packet, determining a second bit rate based on the first acknowledgment signal, and sending a second packet of the media stream from the server to the client at the second bit rate.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method of encoding a media stream comprising a plurality of packet data, the method comprising: establishing a data connection between a server and a media player, wherein the server has a transmit buffer configured to temporarily store at least some of the plurality of packet data and wherein the data connection comprises a TCP/IP connection; selecting a transmit buffer-based determination of a bitrate based on a criteria associated with a content of the transmit buffer, wherein the transmit buffer-based determination comprises: increasing the transmit buffer-based bitrate based on a depletion of the at least some packet data in the transmit buffer; decreasing the transmit buffer-based bitrate based on a filling of the at least some packet data in the transmit buffer; encoding, in real-time, the media stream at the selected transmit buffer-based bitrate; and transmitting the transmit buffer-based encoded media stream to the media player; and selecting an acknowledgement (ACK)-based determination of the bitrate, wherein the ACK-based determination of the bitrate is a non-buffer based determination of the bitrate, comprising: determining, by the server, the ACK-based bitrate based on a known number of bytes received by the media player based on an ACK sequence number from an ACK signal received from the media player, wherein the ACK signal is a TCP/IP ACK response; encoding, in real-time, the media stream at the determined ACK-based bitrate; and transmitting the ACK-based encoded media stream to the media player. 2. The method of claim 1 , further comprising: alternatingly selecting between the transmit buffer-based determination of the bitrate and the ACK-based determination of the bitrate for transmitting the packet data. 3. The method of claim 1 , wherein the ACK-based determination of the bitrate further comprises: transmitting a first packet of the plurality of packet data from the server to the media player at a first bitrate, and receiving, at the server, the ACK signal from the media player responsive to receipt of the first packet; and adjusting a second bitrate, for sending a second packet of the plurality of packet data from the server to the media player, based on the ACK signal by estimating at the server, a time required to receive the ACK signal from the media player, and calculating the number of bytes received by the media player based on the ACK sequence number. 4. The method of claim 3 , further comprising: transmitting, by the server, initially the media stream encoded at a default bitrate; selecting and transmitting, by the server, subsequently the transmit buffer-based encoded media stream for a length of time; and selecting and transmitting, by the server, the ACK-based encoded media stream thereafter. 5. The method of claim 4 , further comprising: wherein the default bitrate comprises a bitrate of transmission which has been used in at least a previous communication. 6. The method of claim 4 , further comprising: selecting the transmit buffer-based determination of the bitrate as a fallback to the ACK-based determination of the bitrate in response to the ACK-based determination of the bitrate being deemed to not meet an acceptable criteria for use in transmitting the packet data. 7. The method of claim 1 , wherein the server comprises an encoder system to perform the encoding. 8. The method of claim 7 , wherein the encoder system comprises a placeshifting encoder system. 9. A media encoder system comprising: a processor; a memory component; computer-readable software instructions stored within the memory component and configured to cause the processor to: establish a data connection between at least a media player and the media encoder system, wherein the media encoder system has a transmit buffer configured to temporarily store at least some of a media stream comprising plurality of packet data and wherein the data connection comprises a TCP/IP connection; select a transmit buffer-based determination of a bitrate based on a criteria associated with a content of the transmit buffer, wherein the transmit buffer-based determination comprises: increasing the transmit buffer-based bitrate based on a depletion of the packet data of the at least some of the media stream in the transmit buffer; decreasing the transmit buffer-based bitrate based on a filling of the packet data of the at least some of the media stream in the transmit buffer; encoding, in real-time, the media stream at the selected transmit buffer-based bitrate; and transmitting the transmit buffer-based encoded media stream to the media player; and select an acknowledgement (ACK)-based determination of the bitrate, wherein the ACK-based determination of the bitrate is a non-buffer based determination of the bitrate, comprising: determining, by the processor, the ACK-based bitrate based on a known number of bytes received by the media player based on an ACK sequence number from an ACK signal received from the media player, wherein the ACK signal is a TCP/IP ACK response; encoding, in real-time, the media stream at the determined ACK-based bitrate; and transmitting the ACK-based encoded media stream to the media player. 10. The media encoder system of claim 9 , further comprising: wherein the processor is instructed to alternatingly select between the transmit buffer-based determination of the bitrate and the ACK-based determination of the bitrate for transmitting the packet data. 11. The media encoder system of claim 9 , wherein the ACK-based determination of the bitrate further comprises: transmitting a first packet of the plurality of packet data from the media encoder system to the media player at a first bit rate, and receiving, at the media encoder system, the ACK signal from the media player responsive to receipt of the first packet; and adjusting a second bit rate, for sending a second packet of the plurality of packet data from the media encoder system to the media player, based on the ACK signal by estimation of a time required to receive the ACK signal from the media player and calculating the number of bytes received by the media player based on the ACK sequence number. 12. The media encoder system of claim 11 , further comprising: wherein the processor is instructed to: transmit initially the media stream encoded at a default bitrate; select and transmit subsequently the transmit buffer-based encoded media stream for a length of time; and select and transmit thereafter the ACK-based encoded media stream. 13. The media encoder system of claim 12 , further comprising: wherein the processor is instructed to: select the transmit buffer-based determination of the bitrate as an alternative to the ACK-based determination of the bitrate when the ACK-based determination of the bitrate is deemed unacceptable for use in transmitting the packet data. 14. The media encoder system of claim 12 , further comprising: wherein the default bitrate comprises a bitrate of transmission which has been used in at least a previous communication. 15. A media system comprising: a media player; and a media encoder system communicatively coupled to the media player via a data connection established over a network, wherein the data connection comprises a TCP/IP connection and wherein the media encoder system has a transmit buffer configured to temporarily store at least some of a media stream comprising plurality of packet data and is configured to encode, in real-time, the media stream at an adjustable bitrate, wherein the adjustable bitrate is determine

Assignees

Inventors

Classifications

  • at the source  (reformatting of additional data in video distribution servers H04N21/2355) · CPC title

  • H04L65/70Primary

    Media network packetisation · CPC title

  • Session establishment or de-establishment · CPC title

  • directed to encoder {, e.g. for requesting a lower encoding rate} · CPC title

  • Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP] · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12250423B2 cover?
A method of encoding packets of a media stream includes establishing a data connection between a client device and a server, sending a first packet of the media stream from the server to the client device at a first bit rate, receiving, at the server, a first acknowledgment signal from the client device responsive to receipt of the first packet, determining a second bit rate based on the first …
Who is the assignee on this patent?
Sling Media Pvt Ltd, Dish Network Technologies India Pvt Ltd
What technology area does this patent fall under?
Primary CPC classification H04L65/70. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Mar 11 2025 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).