IP Library › Granted Patent US 12,549,791
Granted Patent B2
US 12,549,791 · App. 18/640,786 · Granted Feb 10, 2026

Reducing network bandwidth consumption of real-time broadcasts using generically encoded media objects

Inventors: Daniel M. Newman (Littleton, MA); Mark D. Dankberg (Encinitas, CA)
Assignee: VIASAT, INC.
H04N21/25875H04N21/2187H04N21/23106H04N21/2343H04N21/2393H04N21/6405H04N21/812
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 12,549,791
App. No.
18/640,786
Granted
Feb 10, 2026
Kind
B2
Abstract

Described herein are ways to reduce bandwidth use for real-time broadcasts between an Internet Service Provider (ISP) and its subscribers by re-encoding audiovisual data streams to have a generic encoding that can be viewed by subscribers of different content providers. A system can determine that a plurality of subscribers is watching the same live event and can multicast the generic encoding of the live event to the plurality of subscribers, even where individual subscribers stream the live event from different content providers. This can eliminate the need for streaming multiple versions of the same live event from different content providers to subscribers. The systems can generically encode an audiovisual data stream of a live event to generate a single audiovisual data stream for the live event that is multicast to subscribers watching the same live event.

Claims (40)

1 . A system comprising:

a network interface;

a non-transitory computer-readable medium; and

a processor communicatively coupled to the communications interface and the non-transitory computer-readable medium, the non-transitory computer-readable medium comprising processor-executable instructions configured to cause the processor to:

receive a request from a first subscriber for a real-time broadcast from a first content provider;

authorize access to the real-time broadcast from the first content provider using credentials corresponding to the first subscriber;

request the real-time broadcast from the first content provider;

generically encode audiovisual data from the first content provider corresponding to the real-time broadcast to generate a first generically encoded audiovisual data stream by encoding rendered frames of the audiovisual data from video memory;

determine that a second generically encoded audiovisual data stream corresponds to the real-time broadcast requested by a second subscriber from a second content provider;

multicast the first generically encoded audiovisual data stream to the first subscriber and to the second subscriber;

after determining that the second generically encoded audiovisual data stream corresponds to the real-time broadcast, monitor correspondence between the first generically encoded audiovisual data stream and the second generically encoded audiovisual data stream; and

responsive to determining a difference between the second generically encoded audiovisual data stream and the first generically encoded audiovisual data stream after determining that the second generically encoded audiovisual data stream corresponds to the real-time broadcast, transmit the first generically encoded audiovisual data stream to the first subscriber and the second generically encoded audiovisual data stream to the second subscriber until the difference between the second generically encoded audiovisual data stream and the first generically encoded audiovisual data stream disappears.

2 . The system of claim 1 , wherein the processor-executable instructions further cause the processor to receive a request from the second subscriber for the real-time broadcast from the second content provider.

3 . The system of claim 2 , wherein the processor-executable instructions further cause the processor to authorize access to the real-time broadcast from the second content provider using credentials corresponding to the second subscriber.

4 . The system of claim 3 , wherein the processor-executable instructions further cause the processor to request the real-time broadcast from the second content provider.

5 . The system of claim 4 , wherein the processor-executable instructions further cause the processor to generically encode audiovisual data from the second content provider corresponding to the real-time broadcast to generate the second generically encoded audiovisual data stream by encoding rendered frames of the audiovisual data from video memory.

6 . The system of claim 5 , wherein the processor-executable instructions further cause the processor to compare the first generically encoded audiovisual data stream to the second generically encoded audiovisual data stream to determine that each corresponds to the real-time broadcast.

7 . The system of claim 6 , wherein the processor-executable instructions further cause the processor to transmit a portion of the second generically encoded audiovisual data stream to the second subscriber responsive to determining that a portion of the second generically encoded audiovisual data stream differs from the first generically encoded audiovisual data stream.

8 . The system of claim 6 , wherein determining that the first generically encoded audiovisual data stream and the second generically encoded audiovisual data stream correspond to the real-time broadcast comprises comparing metadata of the first generically encoded audiovisual data stream to metadata of the second generically encoded audiovisual data stream.

9 . The system of claim 6 , wherein determining that the first generically encoded audiovisual data stream and the second generically encoded audiovisual data stream correspond to the real-time broadcast comprises comparing fingerprints of chunks of each generically encoded audiovisual data stream.

10 . The system of claim 1 , wherein the processor-executable instructions further cause the processor to initiate a virtual screen session for rendering the audiovisual data stream from the first content provider.

11 . The system of claim 1 , wherein the processor-executable instructions further cause the processor to send information regarding interactions of the first subscriber with a website or application of the first content provider.

12 . The system of claim 11 , wherein the processor-executable instructions further cause the processor to generate an interface that mimics the website or application of the first content provider, the first subscriber interacting with the generated interface.

13 . A method for reducing bandwidth consumption comprising:

receiving a request from a first subscriber for a real-time broadcast from a first content provider;

authorizing access to the real-time broadcast from the first content provider using credentials corresponding to the first subscriber;

requesting the real-time broadcast from the first content provider;

generically encoding audiovisual data from the first content provider to generate a first generically encoded audiovisual data stream by encoding rendered frames of the audiovisual data from video memory;

determining that a second generically encoded audiovisual data stream corresponds to the real-time broadcast requested by a second subscriber from a second content provider; and

multicasting the first generically encoded audiovisual data stream to the first subscriber and to the second subscriber;

after determining that the second generically encoded audiovisual data stream corresponds to the real-time broadcast, monitoring correspondence between the first generically encoded audiovisual data stream and the second generically encoded audiovisual data stream; and

responsive to determining a difference between the second generically encoded audiovisual data stream and the first generically encoded audiovisual data stream after determining that the second generically encoded audiovisual data stream corresponds to the real-time broadcast, transmitting the first generically encoded audiovisual data stream to the first subscriber and the second generically encoded audiovisual data stream to the second subscriber until the difference between the second generically encoded audiovisual data stream and the first generically encoded audiovisual data stream disappears.

14 . The method of claim 13 , wherein determining that the first generically encoded audiovisual data stream and the second generically encoded audiovisual data stream correspond to the real-time broadcast comprises comparing metadata of the first generically encoded audiovisual data stream to metadata of the second generically encoded audiovisual data stream.

15 . The method of claim 13 , wherein determining that the first generically encoded audiovisual data stream and the second generically encoded audiovisual data stream correspond to the real-time broadcast comprises comparing fingerprints of chunks of each generically encoded audiovisual data stream.

16 . The method of claim 13 further comprising initiating a virtual screen session for rendering the audiovisual data from the first content provider.

17 . The method of claim 16 further comprising generically encoding audiovisual content from the second content provider to generate the second generically encoded audiovisual data stream by encoding rendered frames of the audiovisual data from video memory using a second virtual screen session.

18 . The method of claim 13 further comprising sending information regarding interactions of the first subscriber with a website or application of the first content provider.

19 . The method of claim 18 further comprising generating an interface that mimics the website or application of the first content provider, the first subscriber interacting with the generated interface.

20 . The method of claim 13 further comprising identifying chunks of the second generically encoded audiovisual data stream that do not have a sufficiently similar fingerprint to the first generically encoded audiovisual data stream and storing the identified chunks as an advertisement in a cache.

21 . The method of claim 13 , wherein the audiovisual data is received from the first content provider in a first encoding and from the second content provider in a second encoding different from the first encoding.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 1, 2024
From: NEWMAN, DANIEL M.; DANKBERG, MARK D.
To: VIASAT, INC.
Reel/Frame 067882/0654 →
Continuity (3)
Continuation PCTUS2022046483 · Oct 12, 2022
Provisional Application 63257558 · Oct 19, 2021
Related Publication 20240388752A1 · Nov 21, 2024
References Cited (32)
US 6769127B1 · Bonomi · 2004 [cited by examiner]
US 7698724B1 · Day · 2010 [cited by examiner]
US 8295200B2 · Overtoom · 2012 [cited by examiner]
US 9549152B1 · Nayyar · 2017 [cited by examiner]
US 10860860B1 · Huynh · 2020 [cited by examiner]
US 20040181579A1 · Huck · 2004 [cited by examiner]
US 20060136597A1 · Shabtai · 2006 [cited by examiner]
US 20060156362A1 · Perrot · 2006 [cited by examiner]
US 20070101377A1 · Six · 2007 [cited by examiner]
US 20100290667A1 · Lienhart · 2010 [cited by examiner]
US 20110149145A1 · Ramos · 2011 [cited by examiner]
US 20110242276A1 · Holden · 2011 [cited by examiner]
US 20120023533A1 · Wang · 2012 [cited by examiner]
US 20120278833A1 · Tam · 2012 [cited by examiner]
US 20120290937A1 · Rothschild · 2012 [cited by examiner]
US 20130042262A1 · Riethmueller · 2013 [cited by examiner]
US 20130237204A1 · Buck · 2013 [cited by examiner]
US 20140281001A1 · Harrison · 2014 [cited by examiner]
US 20140282775A1 · Bhat · 2014 [cited by examiner]
US 20150249868A1 · Wang · 2015 [cited by examiner]
US 20150288997A1 · Basra · 2015 [cited by examiner]
US 20160381397A1 · Krahnstoever · 2016 [cited by examiner]
US 20180192086A1 · Henaire · 2018 [cited by examiner]
US 20190253764A1 · Gao · 2019 [cited by examiner]
US 20190342594A1 · Korte · 2019 [cited by examiner]
US 20210029413A1 · Bilal · 2021 [cited by examiner]
US 20210135772A1 · Brown · 2021 [cited by examiner]
US 20230048162A1 · Brown · 2023 [cited by examiner]
WO 2007028245A1 · 2007 [cited by applicant]
WO 2010083214A2 · 2010 [cited by applicant]
International Search Report and Written Opinion, for PCT/US2022/046483, dated Jan. 20, 2023, in 15 pages. [cited by applicant]
Mikityuk et al., “The Virtual Set-Top Box: On the shift of IPTV Service Execution, Service & UI Composition into the Cloud,” 2013 17th International Conference on Intelligence in Next Generation Networks (ICIN), 2013, i… [cited by applicant]