US009477814E2

(12) United States Patent (10) Patent No.: US 9,477,814 B2 Wan et al. (45) Date of Patent: Oct. 25, 2016

(54) DISTRIBUTION OF AN IP-BASED (58) Field of Classification Search MULTIMEDA CHANNEL TO NON-P None ENABLED DEVICES See application file for complete search history. (71) Applicant: Broadcom Corporation, Irvine, CA (56) References Cited (US) U.S. PATENT DOCUMENTS (72) Inventors: Wade Keith Wan, Orange, CA (US); 6,466,543 B1 * 10/2002 Aoki ...... HO4L 47.10 Rajesh Shankarrao Mamidwar, San 370,230 Diego, CA (US) 8,751,679 B2 * 6/2014 McHugh ...... HO4N 21,23439 TO9,219 (73) Assignee: Broadcom Corporation, Irvine, CA 2004/01858.64 A1* 9, 2004 Balachandran ...... HO4W 28, 22 455,4522 (US) 2005/0047442 A1* 3/2005 Volpe ...... HO4L 12,28O1 370/480 (*) Notice: Subject to any disclaimer, the term of this 2009/0208006 A1* 8, 2009 Candelore ...... HO4N 21/2347 patent is extended or adjusted under 35 380/200 U.S.C. 154(b) by 479 days. 2010/0205049 A1* 8/2010 Long ...... G06Q 30/02 TO5, 14.35 (21) Appl. No.: 13/931,756 (Continued) (22) Filed: Jun. 28, 2013 Primary Examiner — Joshua Joo (74) Attorney, Agent, or Firm — McDermott Will & (65) Prior Publication Data Emery LLP US 2014/0351383 A1 Nov. 27, 2014 (57) ABSTRACT An apparatus and method for converting an IP-based mul Related U.S. Application Data timedia channel and distributing the channel to a plurality of (60) Provisional application No. 61/826,473, filed on May non-IP enabled devices based on the channel's popularity 22, 2013. among the devices. The apparatus identifies a plurality of multimedia channels requested by a group of devices, and (51) Int. Cl. determines a data rate for providing each channel to the G06F 5/16 (2006.01) devices based on a popularity of each channel among the G06F 9/00 (2011.01) devices. The apparatus uses an adaptive bit rate (ABR) client H04L (2/825 (2013.01) to receive content segments for a respective one of the H04L 29/06 (2006.01) multimedia channels from an ABR server at a source data G06O 10/08 (2012.01) rate aligned with a determined data rate for providing the G06O 50/22 (2012.01) respective multimedia channel. The content segments are (52) U.S. Cl. received at the source data rate, and converted by the CPC ...... G06F 19/3456 (2013.01); G06Q 10/083 apparatus to a continuous digital content stream. The appa (2013.01); G06Q 10/087 (2013.01); G06O ratus then provides the continuous digital content stream to 50/22 (2013.01); H04L 47/25 (2013.01); one or more of the devices at the determined data rate. H04L 65/4084 (2013.01); H04L 65/605 (2013.01) 20 Claims, 4 Drawing Sheets

Channeviewing cewice X. v.

- 14

- 101 Channel viewing - ; eyte 03 r ARAccess f Point wAN, Docsis / -X- w Content Delivery Network Gateway Unit 305 - Y.

AER Certi Channel viewing . is IP stream to OAM evice corvette:

X.. 2

^: afss: US 9,477,814 B2 Page 2

(56) References Cited 2013/O121261 A1* 5, 2013 Yao ...... HO4W 72,085 370,329 U.S. PATENT DOCUMENTS 2013, O246578 A1* 9, 2013 Moreman ...... HO4L 67,2842 TO9,219 2011/0310941 A1* 12/2011 Kenington ...... HO4W 88,085 2014/OO20037 A1* 1, 2014 Hybertson ...... HO4N 21/2365 375,220 725/109 2012/0047230 A1* 2/2012 Begen ...... HO4L 65,4092 2014/OO95729 A1* 4, 2014 Ma ...... HO4L 65,608 TO9,219 TO9,231 2012/0311177 A1* 12/2012 Visharam ...... G06F 15/16 2014/0237522 A1* 8, 2014 Rothschild ...... HO4N 21,236 TO9,233 725/88 2013/009 1249 A1* 4/2013 McHugh ...... HO4N 21,23439 TO9,219 * cited by examiner U.S. Patent Oct. 25, 2016 Sheet 1 of 4 US 9,477,814 B2

Channel viewing device

ABR Certi Channel viewing

P Strea to CA device Cowester

F.G. 1 U.S. Patent Oct. 25, 2016 Sheet 2 of 4 US 9,477,814 B2

2O Identify a plurality of multimedia channels requested by a group of devices

2O2 Determine a data rate for providing each multimedia channel to the group of devices based on a popularity of each multimedia channel among the group of devices

2O3 Select to receive content segments for a respective one of the mutimedia channes from a content source at a source data rate aligned with a determined data rate for providing the respective multimedia channel

204 Receive the content segments from the Content source at the Source data rate

2O5 Convert the content segments to a continuous digital Content streat

2O6 Provide the continuous digital Content stream to one of more devices in the group of devices at the data rate for providing the respective multimedia channel

FIG. 2 U.S. Patent Oct. 25, 2016 Sheet 3 of 4 US 9,477,814 B2

A Decode Viewing Conveter Device ()

Multicast (MC) \ Streans : N VoD Unicast (UC). - \ Stears \– 34 AW UC Stears." Woden fanscodes -...-...--...-...--...-...-...-.

O. : Streas" N ^ N Y------y-...------N- 305 - N. 306 U.S. Patent Oct. 25, 2016 Sheet 4 of 4 US 9,477,814 B2

402 404 406

St. System S. Orage Memory interface

4.08

input ROM PrOCessor Device Network interface interface

410 412 44 416

F.G. 4 US 9,477,814 B2 1. 2 DISTRIBUTION OF AN P-BASED viewing other channels, and the data rate for providing the MULTIMEDA CHANNEL TO NON-P respective multimedia channel may decrease in response a ENABLED DEVICES decrease in the number of devices requesting or viewing the multimedia channel relative to a number of devices request The present application claims the benefit of priority ing or viewing other channels. under 35 U.S.C. S 119 from U.S. Provisional Patent Appli Selecting to receive the content segments at a source data cation Ser. No. 61/826,473 entitled “Popularity-Based Dis rate may comprise identifying a plurality of stream profiles tribution of an IP-Based Multimedia Channel to Non-IP advertised by an ABR server, each stream profile for receiv Enabled Devices.” filed on May 22, 2013, the disclosure of ing the content segments for the respective multimedia which is hereby incorporated by reference in its entirety for 10 channel at a different data rate, and selecting a stream profile all purposes. corresponding to the source data rate based on the deter mined data rate for providing the respective multimedia BACKGROUND channel. In this regard, the stream profile may be selected based on a maximum source data rate that can be transcoded Hotels and other complexes may include one or more 15 to the determined data rate without generating more than a multi-tuner set top boxes (STBs) that provide cable televi predetermined amount of delay between when the content sion services to multiple local viewing devices (e.g., cable segments are received from the content source and con ready ) in different rooms. Generally, these local verted to the continuous digital content stream. viewing devices may include hardware for requesting chan Additionally or in the alternative, receiving the content nel feeds using quadrature amplitude (QAM), segments from the content source at the Source data rate may but may not have the ability to consume IP-related streaming comprise sending one or more HTTP requests to the ABR services. Accordingly, a multi-tuner STB may broadcast server, each HTTP request being for a respective local Some channels to all devices, and provide other channels to content segment, and receiving the received source content Some devices in response to individualized requests from segments from the ABR server according to the HTTP those devices, all using QAM. The multi-tuner STB may 25 requests. Converting the content segments into a continuous further monitor what streams the devices are receiving. digital content stream may comprise removing content head ers from each of the content segments and coalescing the SUMMARY content segments. The method may further comprise moni toring available bandwidth for receiving content segments The Subject technology provides a system and method for 30 for the plurality of multimedia channels from the ABR converting an IP-based multimedia channel and distributing server, and adjusting a determined data rate for providing the channel to a plurality of non-IP enabled devices based on one or more of the plurality of multimedia channels in the channel's popularity among the devices. The method response to a change in the available bandwidth. may comprise identifying a plurality of multimedia channels In another aspect, a machine-readable medium may have requested by a group of devices, determining a data rate for 35 instructions stored thereon that, when executed, cause a providing each multimedia channel to the group of devices machine to perform a method. Accordingly, the method may based on a popularity of each multimedia channel among the comprise receiving a first plurality of content segments group of devices, selecting to receive content segments for associated with a first multimedia channel and a second a respective one of the multimedia channels from a content plurality of content segments associated with a second Source at a source data rate aligned with a determined data 40 multimedia channel, each of the first and second pluralities rate for providing the respective multimedia channel, receiv of content segments being received at a data rate selected ing the content segments from the content source at the from a respective set of data rates advertised by the remote Source data rate, converting the content segments to a data source, converting the first and second plurality content continuous digital content stream, and providing the con segments to first and second continuous multimedia streams tinuous digital content stream to one or more devices in the 45 for a plurality of local viewing devices, determining a first group of devices at the determined data rate for providing number of local viewing devices that have requested to view the respective multimedia channel. Other aspects include or are viewing the first multimedia channel, and a second corresponding systems, apparatus, and computer program number of local viewing devices that have requested to view products for implementation of the computer implemented or are viewing the second multimedia channel, adjusting, method. 50 based on the determining, a data rate for providing the first The previously described aspects and other aspects may and second continuous multimedia stream to the plurality of include one or more of the following features. For example, local viewing devices, and providing the first and second the content segments may be received from the content continuous multimedia streams to the plurality of local Source in a plurality of data packets over a network. The viewing devices according to the adjusted data rate. Other source data rate may be selected based on available band 55 aspects include corresponding systems, apparatus, and com width of the network. Converting the content segments may puter program products for implementation of the method. comprise removing a first encryption from the content In further aspects, a device may be configured to distrib segments and applying a second device-specific encryption ute IP-based multimedia channels to one or more non-IP to the continuous digital content stream for at least one of the enabled devices. In this regard, the device may be config devices in the group of devices. Providing the continuous 60 ured to identify a plurality of multimedia channels requested digital content stream to one or more devices may comprise by a group of devices, determine a data rate for providing modulating a carrier signal with the continuous digital each multimedia channel based on a popularity of each content stream, and providing the carrier signal to the one or multimedia channel among the group of devices, select to more devices. The data rate for providing the respective receive content segments for a respective one of the multi multimedia channel may increase in response an increase in 65 media channels from an ABR server at a source data rate a number of devices requesting or viewing the multimedia aligned with a determined data rate for providing the respec channel relative to a number of devices requesting or tive multimedia channel, receive, in a plurality of data US 9,477,814 B2 3 4 packets over a network, the content segments from the tablet computer) or other device connected to a network content source at the ABR server, convert the content (e.g., a LAN, WAN, or the ) and configured to segments into a continuous digital content stream for trans receive streaming media from an external source. Gateway mission at the data rate for providing the respective multi unit 101 is configured to operate as an intermediary for media channel, modulate a carrier signal with the continuous requests from one or more local channel viewing devices digital content stream, and provide the carrier signal to one 104 seeking a traditional signal for a multimedia channel or more devices in the group of devices that originates as an IP stream from CDN 103. Local channel It is understood that other configurations of the subject viewing devices 104 may include, for example, a desktop, technology will become readily apparent to those skilled in laptop, notebook, or tablet computer, Smart phone, PDA, a the art from the following detailed description, wherein 10 television or other display device having a computer embed various configurations of the Subject technology are shown ded within or attached thereto, or the like. Local channel and described by way of illustration. As will be realized, the viewing devices 104 may be connected to gateway unit 101 Subject technology is capable of other and different configu via , fiber optic, , twisted pair, rations and its several details are capable of modification in or other infrastructure suitable for audio visual transmission. various other respects, all without departing from the scope 15 of the Subject technology. Accordingly, the drawings and CDN 103 may be part of a cable TV system having a detailed description are to be regarded as illustrative in network infrastructure that utilizes Data Over Cable Service nature and not as restrictive. Interface Specification (DOCSIS) to provide high-speed data transfer to gateway unit 101 and other remotely con BRIEF DESCRIPTION OF THE DRAWINGS nected devices. CDN 103 includes a (remote) source ABR server 105 or other multimedia server operably connected to A detailed description will be made with reference to the unit 101 over a LAN, WAN, or the Internet. Source ABR accompanying drawings: server 105 provides streaming media content over HTTP. FIG. 1 depicts a component diagram of an example Source ABR server 105 receives digital content (e.g., a live system for providing popularity-based distribution of an 25 television feed) from a content Source and encodes the IP-based multimedia channel to non-IP enabled devices. digital content into multiple streams, each segmented into FIG. 2 is a flowchart illustrating an example process for Small multi-second parts (e.g., between two (2) and ten (10) converting an IP-based multimedia channel and distributing seconds in length) and provided at a different data rate (e.g., the channel to a plurality of non-IP enabled devices based on bit rate). Source ABR server 105 advertises the available the channel's popularity among the devices. 30 Source media streams of differing data rates by way of a FIG. 3 is a diagram illustrating an example gateway unit source manifest file 106. Source manifest file 106 includes for providing popularity-based distribution of an IP-based a stream profile for each source media stream and a playlist multimedia channel to non-IP enabled devices. that describes the segments (e.g., the order and length of the FIG. 4 is a diagram illustrating an example electronic segments) available from source ABR server 105. system for use in connection with providing popularity 35 When a local channel viewing device 104 requests to based distribution of an IP-based multimedia channel to view a multimedia channel, ABR client 102 operably con non-IP enabled devices, including a processor and other nects to source ABR server 105 (e.g., at an ABR access point related components. of the associated network) and identifies source stream profiles advertised by source ABR server 105 for the chan DETAILED DESCRIPTION 40 nel, for example, by downloading and reading source mani fest file 106. ABR client 102 selects a source stream profile FIG. 1 depicts a component diagram of an example for receiving a source media stream for the channel (e.g., system for providing popularity-based distribution of an including audio and/or video) from ABR server 105, and IP-based multimedia channel to non-IP enabled devices, in receives the Source media stream as a plurality of data accordance with one or more implementations of the Subject 45 segments according to the selected profile. technology. A gateway unit 101 (e.g., a set-top box or unit, ABR client 102 sends client HTTP uniform resource cable modern, DSL modem, or other device configured to locator (URL) requests to ABR server 105 to receive cor receive digital multimedia content from a content source) is responding local data segments from ABR server 105. Each configured to consume and transmit digital multimedia client HTTP URL request requests transmission of a respec content for one or more multimedia channels to one or more 50 tive data segment at a selected one of the local ABR formats channel viewing devices (e.g., interactive television sets). provided by the manifest file. Data segments are received Gateway unit 101, for example, may operate in connection from ABR server 105 according to the client HTTP requests, with, or be configured as, a headend that and the content segments are cached, desegmented, stripped receives, processes, and distributes television signals to of headers, and coalesced and converted to a continuous multiple cable television systems such as in a hotel or other 55 digital multimedia stream. In one or more implementations, facility that provides a cable television signal to multiple the source media stream, including corresponding data seg users. As will be described in further detail, gateway unit ments, is transcoded by gateway unit 101. Transcoding may 101 is configured to receive streaming media (“IP streams) include, for example, changing a CODEC of the media over an IP-based network (e.g., using TCP/IP, UDP, and the stream, data rate of the media stream, or the like. like) and convert the IP streams to digital multimedia 60 The continuous digital multimedia stream may then be content that may be rendered by non-IP enabled devices. transmitted to one or more local channel viewing devices Gateway unit 101 generally includes a tuner for receiving 104 using a digital modulation scheme Such as quadrature traditional digital content (e.g., over QAM), and an ABR amplitude modulation (QAM). For a live source media client 102 (e.g., embedded within gateway unit 101) for stream, gateway unit 101, in connection with ABR client receiving IP streams from a content delivery network (CDN) 65 102, may continuously convert the data segments for broad 103. Gateway unit 101 may be implemented as, or include, cast to multiple locally connected channel viewing devices a computing device (e.g., desktop, server, laptop, notebook, 104. The conversion may occur in real time, or may be US 9,477,814 B2 5 6 buffered Such that one or more segments of data is converted nels having a high popularity, while decreasing data rates at a time, and then provided to the locally connected devices. (and resolution) for less popular channels. ABR client 102 may select a source stream profile pro The data rate of a digital multimedia content provided to vided by source ABR server 105 based on one or more locally connected devices 104 may further depend on the network conditions. For example, ABR client 102 may data rate that the corresponding Source data segments are select a stream profile having the highest advertised bit rate received from ABR server 105. Gateway unit 101 is con available over an existing DOCSIS infrastructure and, if figured to select a source data rate (e.g., from manifest file data-traffic congestion between ABR client 102 and source 106) based on the desired transmission data rate of the ABR server 105 is detected, ABR proxy 102 may select a converted digital multimedia content. If a source data rate new profile (advertised by manifest file 106) having a lower 10 cannot be identified that is equal to or faster than the data bit rate. Additionally, ABR client 102 may select the stream rate for providing the converted digital content then gateway profile having the highest bit rate that the ABR client can unit 101 may decrease the data rate for providing the digital convert to a non-IP based video stream (e.g., by transcod multimedia content to locally connected devices to a data ing). rate congruent with the speed at which the Source stream 15 may be received. Likewise, if the source stream is available In one or more implementations, ABR client 102 is at a higher data rate than the data rate used to provide the configured to select a data profile for a multimedia channel converted content to locally connected devices then gateway based on how many local devices 104 have elected to unit 101 may increase the data rate (and resolution) of the receive the multimedia channel. Gateway unit 101 also converted content. adjusts the format (e.g., including the data rate and resolu In other aspects, gateway unit 101 may select a data rate tion) of the converted digital multimedia content based on profile for receiving a source media stream based network the selected profile, available bandwidth between ABR conditions between gateway unit 101 and ABR server 105, client 102 and ABR server 105, and/or based on how many or between gateway unit 101 and the locally connected of the devices have elected to receive the content. devices. Network conditions influencing profile selection Gateway unit 101 is configured to determine the number 25 may include, for example, a maximum data rate that ABR of local channel viewing devices 104 that have requested to client 102 can receive the source media stream without view, or are viewing, each available multimedia channel for producing Substantial latency (e.g., delay) between receipt a certain period of time, and to select a data profile for of the media stream and its Subsequent conversion or receiving each channel based on the popularity of the transmission, or the highest data rate that gateway unit 101 channel for all locally connected devices. Based on the 30 can convert the source media stream to a signal Suitable for number of devices identified to receive a particular channel, the locally connected devices. Given the number of channels gateway unit 101 is configured to determine a resolution and already being provided to locally connected channel viewing corresponding data rate for providing the channel to the devices 104 and the bandwidth available from ABR server devices. For example, gateway 101 may attempt to increase 105, gateway unit 101 may increase or decrease transmis resolution of a channel that has been requested by more than 35 sion data rates (and resolution) of digital content provided to a predetermined number of local channel viewing devices those devices. 104. Accordingly, ABR client 102 is configured to retrieve FIG. 2 is a flowchart illustrating an example process for data segments for each multimedia channel using a stream converting an IP-based multimedia channel and distributing profile that is most closely aligned with the optimal data rate the channel to a plurality of non-IP enabled devices based on determined for devices that are to receive the multimedia 40 the channel's popularity among the devices, in accordance channel, limited by available bandwidth of the connection to with one or more implementations of the Subject technology. ABR server 105. Additionally or in the alternative, a stream The blocks of FIG. 2 do not need to be performed in the profile may be selected based on an available data rate most order shown. It is understood that the depicted order is an efficient to transcode the Source media stream to the optimal illustration of one or more example approaches, and are not data rate determined for the locally connected devices. 45 meant to be limited to the specific order or hierarchy If the source media stream for a particular multimedia presented. The blocks may be rearranged, and/or or more of channel is retrieved in a format that can be rendered by local the blocks may be performed simultaneously. channel viewing devices 104, and at a data rate that coin According to one or more implementations, one or more cides with a data rate determined for those devices then blocks of FIG. 2 may be executed by gateway unit 101 or gateway unit 101 may modulate the source media stream for 50 other computing device of the Subject technology. Similarly, distribution to the locally connected devices 104, for a non-transitory machine-readable medium may include example, over QAM. If the source media stream is retrieved machine-executable instructions thereon that, when in a format that cannot be rendered by local channel viewing executed by a computer or machine, perform the blocks of devices 104 (e.g., as data segments), and/or at a data rate that FIG. 2. Accordingly, the blocks of FIG. 2 may be performed does not coincide with the data rate determined for those 55 within the context of distributing a multimedia channel devices then gateway unit 101 may transcode the Source received using a network protocol to a non-IP enabled media stream and modulate the converted multimedia con device (e.g., a television or other display device). tent for distribution to the locally connected devices 104. According to FIG. 2, a plurality of multimedia channels The number of local channel viewing devices 104 that are requested by a group of devices are identified (201). Gate viewing a respective multimedia channel may vary at any 60 way unit 101 may be connected to multiple viewing devices. time. With regard to a particular channel, gateway unit 101 For example, gateway 101 may be part of or located at a is configured to determine the number of devices that have cable headend, and receive television signals for distribution requested to view, or are viewing, the channel relative to over a cable television system to multiple cable-ready tele devices that have requested other channels, and to adjust the visions. Accordingly, gateway unit 101 is configured to data rate for providing digital content for the channel to the 65 monitor requests to view multimedia channels (e.g., a tele devices based on that determination. For example, gateway vision station) from the connected devices, and identify unit 101 may increase data rates (and resolution) for chan which devices are requesting each channel. Likewise, gate US 9,477,814 B2 7 8 way unit 101 is configured to determine how many devices channels being selected. In this manner, gateway unit 101 have requested each available channel. can continue to provide a higher quality signal to viewers of A data rate for providing each multimedia channel to the more popular channels, thereby maintaining overall viewer group of devices is determined (202) based on a popularity satisfaction. As bandwidth is restored or increases, gateway of each multimedia channel among the group of devices. 5 unit 101 may increase the data rate for these channels, for Gateway unit 101 is configured to provide highly requested example, in order of popularity. channels at a higher resolution and audio/video quality. The With continued reference to FIG. 2, the content segments use of the term “data rate, unless otherwise indicated, is for the respective multimedia channel are received (204) intended to be used synonymously for audio and/or video from the content source at the source data rate. As described display resolution, format, quality and/or bit rate, in that an 10 previously, ABR server 105 may be a content source for increase or decrease in data rate will produce a correspond providing one or more multimedia channels as IP streams ing increase or decrease in audio and/or video display from a CDN over a network (e.g., a WAN, LAN, or the resolution, format, quality and/or bit rate of multimedia Internet). Accordingly, content segments may be received by content distributed at the data rate. gateway unit 101 from ABR server 105 in a plurality of Accordingly, the data rate for providing the respective 15 corresponding data packets over the network. ABR server multimedia channel (e.g., the quality or resolution) may 105 may provide a playlist for a multimedia channel that increase in response an increase in a number of devices describes the content segments for the channel, and provides requesting or viewing the multimedia channel relative to a a URL for retrieving each segment. Accordingly, gateway number of devices requesting or viewing other channels. unit 101 may send one or more HTTP requests to ABR Likewise, the data rate for providing the respective multi server 105, with each HTTP request being for a respective media channel may decrease in response to a decrease in the local content segment. ABR server 105 returns the content number of devices requesting or viewing the multimedia segments to gateway unit 101 according to the HTTP channel relative to a number of devices requesting or requests. viewing other channels. Additionally or in the alternative, In one or more aspects, gateway unit 101 may receive first the data rate may increase or decrease in response to the total 25 plurality of content segments associated with a first multi available bandwidth (e.g., between gateway unit 101 and media channel and a second plurality of content segments source ABR server 105, or between gateway unit and the associated with a second multimedia channel. In these locally connected devices 104) and the bandwidth required aspects, gateway unit 101 may select a source data rate from to deliver all channels being requested by locally connected each of a respective set of data rates advertised by ABR devices 104. In one or more implementations, the data rate 30 server 105 (e.g., in separate manifest files 106). Each of the for providing the respective multimedia channel may first and second pluralities of content segments may then be decrease in response to a decrease in available network received at their respective data rates selected by gateway bandwidth or a decrease in memory or other resources unit 101. available to ABR client 102 (e.g., embedded memory) for The content segments for the respective multimedia chan receiving, converting, and/or transmitting digital content. 35 nel are converted (205) to a continuous digital content Content segments for a respective one of the multimedia stream. The content segments are converted for transmission channels are selected (303) to be received from a content at the determined data rate for providing the multimedia Source at a source data rate aligned with a determined data channel. This process may be accomplished by, or as part of rate for providing the respective multimedia channel. For an ongoing transcoding of content segments received from example, gateway unit 101 may identify a plurality of stream 40 ABR server 105. For example, converting the content seg profiles advertised by ABR server 105. Each stream profile ments into a continuous digital content stream may include advertised by ABR server 105 may be for receiving the removing content headers from each of the content segments content segments for the respective multimedia channel at a and coalescing the content segments, for example, in a different data rate. Gateway unit 101 may select a stream memory cache. The bare segments may be reassembled in profile corresponding to the source data rate based on the 45 correct order and decoded to produce a video signal that may determined data rate for providing the respective multimedia be compatible with local viewing devices 104. Accordingly, channel. Accordingly, the Source data rate may be a data rate the content segments may be transcoded into digital content equal or equivalent to the data rate determined for providing having a resolution corresponding to the determined data the channel. As described previously, the source data rate rate for providing the respective multimedia channel. may also be selected, for example, based on available 50 The continuous digital content stream is provided (206) to bandwidth of the network. In one or more implementations, one or more devices in the group of devices at the data rate the stream profile may be selected based on a maximum for providing the respective multimedia channel. Providing Source data rate that can be transcoded to the determined the digital content stream may include, for example, modu data rate without generating more than a predetermined lating (e.g., using QAM) a carrier signal with the continuous amount of delay between when the content segments are 55 digital content stream, and then providing the carrier signal received from the content source and converted to the to the one or more devices (e.g., over coaxial cable). In one continuous digital content stream. or more implementations, the digital content stream may be In various aspects, gateway unit 101 may monitor avail provided as an encrypted transport stream, encrypted in able bandwidth for receiving content segments for all mul connection with a digital rights management (DRM) scheme timedia channels from ABR server 105, and adjust a deter 60 provided by Software operating on or in connection with mined data rate for providing one or more of the plurality of gateway unit 101. multimedia channels in response to a change in the available With limited bandwidth available from the content deliv bandwidth. For example, if the available bandwidth ery network or headend, the number of simultaneous chan decreases then gateway unit 101 may decrease the data rate nels provided to locally connected devices 104 may con for providing one or more multimedia channels. Selection of 65 tribute to determining which ABR data rate to select. For which channels for decreased data rate may be based on their example, a better quality data rate may be selected in popularity with respect to other channels, with less popular response to determining that there are a smaller number of US 9,477,814 B2 10 viewed channels. Additionally, the number of locally con non-IP enabled devices, including a processor and other nected devices 104 that are viewing a specific channel may related components, in accordance with one or more imple be used to determine the selected ABR data rate. For mentations of the subject technology. Electronic system 400, example, if there are a hundred or so devices viewing an for example, is representative of the computing hardware NFL game and only a single device viewing local public TV embedded within, or for providing functional operation of station then gateway unit 101 may select a higher data rate the previously described devices, including gateway unit for the NFL game to deliver a better quality experience to a 101, 301, local channel viewing device 104, 307, and the wider audience. like. In one or more aspects, electronic system 400 may be FIG. 3 is a diagram illustrating an example gateway unit a desktop computer, a laptop computer, a tablet computer, a 301 for providing popularity-based distribution of an IP 10 server, a Switch, a router, a base station, a receiver, a phone, based multimedia channel to non-IP enabled devices, in a personal digital assistant (PDA), or generally any elec accordance with one or more implementations of the Subject tronic device that transmits signals over a network. Such an technology. Gateway unit 301 includes a broadband modem electronic system includes various types of computer read 302 (e.g., a ), a multi-tuner 303 (e.g., a QAM able media and interfaces for various other types of com (quadrature amplitude modulation) tuner or ATSC (Ad 15 puter readable media. Electronic system 400 includes bus vanced Television Systems Committee) tuner), an audio/ 408, processing unit(s) 412, System memory 404, read-only video decoder and converter 304, an ABR client component memory (ROM) 410, permanent storage device 402, input 305, and one or more audio/video transcoders 306. device interface 414, output device interface 406, and net Over-the-air (OTA) digital channels may be received via work interface 416, or subsets and variations thereof. QAM by tuner 303 and decoded by audio/video decoder/ Bus 408 collectively represents all system, peripheral, and converter 304 for broadcast to one or more locally connected chipset buses that communicatively connect the numerous channel viewing devices 307 (e.g., a television or other internal devices of electronic system 400. In one or more display device). Broadband modem 302 is connected to a implementations, bus 408 communicatively connects pro content delivery network. Broadband model 302 may act as cessing unit(s) 412 with ROM 410, system memory 404, and a data pipe for ABR client component 305, which selects an 25 permanent storage device 402. From these various memory appropriate data rate for receiving a stream based on net units, processing unit(s) 412 retrieves instructions to execute work conditions. ABR client component 305 is configured to and data to process in order to execute the processes of the receive IP streams from an ABR server and provides the Subject disclosure. The processing unit(s) can be a single streams for decoding by decoder 304 or for transcoding processor or a multi-core processor in different implemen operations by transcoders 306. Additionally or in the alter 30 tations. native, ABR client component 305 may be configured to ROM 410 stores static data and instructions that are remove encryption from received content. In this regard, needed by processing unit(s) 412 and other modules of the converter 304 may be configured to receive the content from electronic system. Permanent storage device 402, on the ABR client component 305 and to apply device-specific other hand, is a read-and-write memory device. This device encryption (e.g., digital rights management (DRM) or other 35 is a non-volatile memory unit that stores instructions and access control) before the content is transmitted to locally data even when electronic system 400 is off. One or more connected viewing devices 307. Gateway unit 301 is further implementations of the Subject disclosure use a mass-storage configured with one or more processors (see FIG. 4) and/or device (such as a magnetic or optical disk and its corre Software that coordinate receipt of QAM signals and stream sponding disk drive) as permanent storage device 402. ing media, decoding and/or transcoding operations, and 40 Other implementations use a removable storage device distribution to the locally connected viewing devices 307. (such as a floppy disk, flash drive, and its corresponding disk Gateway unit 301 is configured to provide multimedia drive) as permanent storage device 402. Like permanent channels on demand to locally connected viewing devices storage device 402, System memory 404 is a read-and-write 307, and to monitor the total number of watched channels. memory device. However, unlike storage device 402, system On providing a channel for viewing, the receiving device is 45 memory 404 is a volatile read-and-write memory, such as identified. Accordingly, gateway unit 101 identifies which random access memory. System memory 404 stores any of multimedia channels are requested by the active group of the instructions and data that processing unit(s) 412 needs at locally connected devices. Based on the popularity of each runtime. In one or more implementations, the processes of currently provided channel, gateway determines which the Subject disclosure are stored in System memory 404. channels are to be provided at a higher or lower data rate. 50 permanent storage device 402, and/or ROM 410. From these For a respective channel, ABR client component 305 selects variou