Apparatus and methods for multi-stage multiplexing in a network
09883219 ยท 2018-01-30
Assignee
Inventors
Cpc classification
H04J3/1682
ELECTRICITY
H04Q2213/13376
ELECTRICITY
H04N21/434
ELECTRICITY
H04N21/23608
ELECTRICITY
H04N21/23655
ELECTRICITY
International classification
H04N21/236
ELECTRICITY
H04N7/173
ELECTRICITY
H04J3/16
ELECTRICITY
Abstract
Methods and apparatus for performing multiplexing of video or other content (e.g., programs) within a network using feed-back from a subsequent digital program insertion stage, and/or feed-forward information from a prior multiplexing stage. In one embodiment, the network comprises a hybrid fiber coax (HFC) cable network having headend and hub-based statistical multiplexing stages, and communication between the two stages is used to improve the visual quality performance and bandwidth utilization of the output multi-program stream during conditions where downstream content is inserted into the transport stream. Business methods associated with the various multiplexing features described above are also disclosed.
Claims
1. Network multiplexing apparatus, comprising: an interface for communication with an upstream multiplexing apparatus; a storage apparatus; and computerized logic in data communication with said interface and storage apparatus and configured to cause said network multiplexing apparatus to: receive information relating to a first multiplex and a delay period, said first multiplex comprising a plurality of content elements and generated by an upstream multiplexing apparatus; receive, during said delay period, a request for one or more second content elements from one or more subscribers in communication with said multiplexing apparatus; generate feed-back information based at least in part on said request; deliver said feed-back information to said upstream multiplexing apparatus prior to an expiration of said delay period; and receive, upon expiration of said delay period, a second multiplex from said upstream multiplexing apparatus, said second multiplex comprising said requested one or more second content elements.
2. The network multiplexing apparatus of claim 1, wherein said second multiplex is generated further based on second feed-back information received at said upstream multiplexing apparatus from a third multiplexing apparatus downstream of said multiplexing apparatus and relating to one or more third content elements to be inserted into said second multiplex by said third multiplexing apparatus; and wherein said upstream multiplexing apparatus is configured to utilize said feed-back information to adjust at least one parameter associated with an operation of said upstream multiplexing apparatus in order to accommodate insertion of said one or more third content elements by said third multiplexing apparatus.
3. The network multiplexing apparatus of claim 1, wherein: said second multiplex further comprises said plurality of content elements; and one or more of said plurality of content elements in said second multiplex comprise an adjusted bitrate relative to said first multiplex.
4. The network multiplexing apparatus of claim 1, wherein said feed-back information further comprises information configured to enable a determination of an effect on quality of at least one of said content elements in said second multiplex, said effect resulting from insertion of one or more third content elements to be inserted at said network multiplexing apparatus.
5. The network multiplexing apparatus of claim 1, wherein said feed-back information is derived at least in part from other feed-back information received at said network multiplexing apparatus from a downstream multiplexing apparatus.
6. A multiplexing apparatus for use within a content distribution network, comprising: a communications interface; a storage apparatus; and a processor in data communication with said communications interface and said storage apparatus, said processor configured to execute at least one computer program thereon, said at least one computer program comprising a plurality of instructions which are configured to, when executed, cause said multiplexing apparatus to: create a first multiplex comprising a plurality of primary content elements; prior to expiration of a pre-determined delay period, provide information relating to said first multiplex to at least one of a plurality of downstream multiplexing apparatuses via said communications interface, and receive first feed-back information from said at least one downstream multiplexing apparatus, said first feed-back information relating to one or more second content elements requested by one or more subscribers to be inserted into said first multiplex; and utilize said first feed-back information to dynamically switch said one or more second content elements into said first multiplex prior to a delivery thereof to said at least one downstream multiplexing apparatus, said delivery being simultaneous with said expiration of said pre-determined delay period; prior to said expiration of said pre-determined delay period, receive second feed-back information from at least one other one of said plurality of downstream multiplexing apparatus, said at least one other one of said plurality of downstream multiplexing apparatus being downstream of said at least one of said plurality of multiplexing apparatus; and upon a determination of a prioritization thereof, utilize said second feed-back information to adjust at least one parameter associated with an operation of said multiplexing apparatus, said second feed-back information being independent of said first feed-back information.
7. The multiplexing apparatus of claim 6, wherein said plurality of instructions are further configured to, when executed, cause said multiplexing apparatus to utilize said first feed-back information to adjust at least one parameter associated with at least one of said plurality of primary content elements.
8. The multiplexing apparatus of claim 7, wherein said information relating to said first multiplex comprises data relating to bitrate requirements of each of said plurality of primary content elements within said first multiplex.
9. The multiplexing apparatus of claim 8, wherein said utilization of said first feed-back information to adjust at least one parameter associated with at least one of said plurality of primary content elements comprises adjusting a bitrate associated with transmission of at least one of said plurality of primary content elements.
10. A multiplexing apparatus for use within a content distribution network, comprising: a communications interface; a storage apparatus; and a processor in data communication with said communications interface and said storage apparatus, said processor configured to execute at least one computer program thereon, said at least one computer program comprising a plurality of instructions which are configured to, when executed, cause said multiplexing apparatus to: create a first multiplex comprising a plurality of primary content elements requested by one or more subscribers via one or more first user requests for content; prior to expiration of a pre-determined delay period, provide information relating to said first multiplex to at least one of a plurality of downstream multiplexing apparatuses via said communications interface, and receive first feed-back information from said at least one downstream multiplexing apparatus, said first feed-back information relating to one or more second content elements requested by one or more other subscribers via one or more second subsequent user requests for content, said one or more second content elements to be inserted into said first multiplex; utilize said first feed-back information to dynamically switch said one or more second content elements into said first multiplex prior to a delivery thereof to said at least one downstream multiplexing apparatus, said delivery being simultaneous with said expiration of said pre-determined delay period; prior to said expiration of said pre-determined delay period, receive second feed-back information from at least one other one of said plurality of downstream multiplexing apparatus, said at least one other one of said plurality of downstream multiplexing apparatus being downstream of said at least one of said plurality of multiplexing apparatus; and upon a determination of a prioritization thereof, utilize said second feed-back information to adjust at least one parameter associated with an operation of said multiplexing apparatus, said second feed-back information being independent of said first feed-back information.
11. The multiplexing apparatus of claim 10, wherein said plurality of instructions are further configured to, when executed, cause said multiplexing apparatus to utilize said first feed-back information to adjust at least one parameter associated with at least one of said plurality of primary content elements.
12. The multiplexing apparatus of claim 11, wherein said utilization of said first feed-back information to adjust at least one parameter associated with at least one of said plurality of primary content elements comprises adjusting a bitrate of said at least one of said plurality of primary content elements.
13. The multiplexing apparatus of claim 10, wherein said utilization of said second feed-back information to adjust said at least one parameter associated with said operation of said multiplexing apparatus comprises adjustment of said at least one parameter associated with said operation of said multiplexing apparatus in order to accommodate insertion of one or more third content elements at said at least one other one of said plurality of downstream multiplexing apparatus.
14. A method of operating a network multiplexing apparatus in a digital content delivery network, said network multiplexing apparatus in data communication with at least an upstream multiplexing apparatus and a plurality of user computerized devices via at least one data communication interface and said digital content delivery network, said method comprising: receiving data from said upstream multiplexing apparatus, said data relating to said first multiplex and a delay period, said first multiplex comprising a plurality of digitally rendered primary content elements; receiving, during said delay period, a request for one or more digitally rendered secondary content elements from one or more of said plurality of user computerized devices; generating first feed-back data based at least in part on said request; transmitting said first feed-back data to said upstream multiplexing apparatus prior to an expiration of said delay period; and receiving, upon expiration of said delay period, a second multiplex from said upstream multiplexing apparatus, said second multiplex comprising said requested one or more digitally rendered secondary content elements and one or more of said plurality of digitally rendered primary content elements.
15. The method of claim 14, wherein said network multiplexing apparatus is in further data communication with at least one downstream multiplexing apparatus; and said method further comprises receiving second feed-back data from said at least one downstream multiplexing apparatus, said second feed-back data relating to one or more digitally rendered tertiary content elements to be inserted into said second multiplex at said at least one downstream multiplexing apparatus.
16. The method of claim 15, wherein said generating of said first feed-back data is further based at least in part on said received second feed-back data in order to provide said upstream multiplexing apparatus data for adjustment of at least one parameter associated with an operation of said upstream multiplexing apparatus, the adjustment for at least accommodation of insertion of said one or more digitally rendered tertiary content elements by said at least one downstream multiplexing apparatus.
17. The method of claim 14, wherein said generating of said first feed-back data is further based at least in part on information configured to enable a determination of an effect on quality of at least one of said plurality of digitally rendered primary content elements in said second multiplex resulting from insertion of one or more digitally rendered tertiary content elements to be inserted into said second multiplex at said network multiplexing apparatus.
18. A method of operating a network multiplexing apparatus in a digital content delivery network, said network multiplexing apparatus in data communication with at least one downstream multiplexing apparatus and at least one further downstream multiplexing apparatus via at least one data communication interface and said digital content delivery network, said method comprising: creating a first multiplex comprising a plurality of digitally rendered primary content elements; prior to expiration of a pre-determined temporal period: transmitting data relating to said first multiplex to said at least one downstream multiplexing apparatus; receiving first feed-back data from said at least one downstream multiplexing apparatus, said first feed-back data relating to one or more digitally rendered secondary content elements requested by one or more user devices in data communication with said at least one downstream multiplexing apparatus, said one or more digitally rendered secondary content elements to be inserted into said first multiplex at said network multiplexing apparatus; utilizing said first feed-back data to dynamically switch said one or more digitally rendered secondary content elements into said first multiplex to generate a second multiplex; receiving second feed-back data from said at least one other downstream multiplexing apparatus; upon a determination of a prioritization thereof, utilizing said second feed-back data to adjust at least one parameter associated with an operation of said network multiplexing apparatus, said second feed-back data being independent of said first feed-back data; and after expiration of said pre-determined temporal period, delivering said second multiplex to said downstream multiplexing apparatus.
19. The method of claim 18, further comprising utilizing said first feed-back data to adjust at least one parameter associated with at least one of said plurality of digitally rendered primary content elements in order to accommodate said dynamic switch of said one or more digitally rendered secondary content elements into said first multiplex to generate said second multiplex.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The above and other features and advantages of the present invention are hereinafter described in the following detailed description of illustrative embodiments to be read in conjunction with the accompanying drawings and figures, wherein like reference numerals are used to identify the same or similar system parts and/or method steps, and in which:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
DETAILED DESCRIPTION OF THE INVENTION
(12) Reference is now made to the drawings wherein like numerals refer to like parts throughout.
(13) As used herein, the term MSO refers to a cable, satellite, or terrestrial network provider having infrastructure required to deliver services including programming and data over those mediums.
(14) As used herein, the terms network and bearer network refer generally to any type of telecommunications or data network including, without limitation, hybrid fiber coax (HFC) networks, satellite networks, telco networks, and data networks (including MANs, WANs, LANs, WLANs, PANs, internets, and intranets). Such networks or portions thereof may utilize any one or more different topologies (e.g., ring, bus, star, loop, etc.), transmission media (e.g., wired/RF cable, RF wireless, millimeter wave, optical, etc.) and/or communications or networking protocols (e.g., SONET, DOCSIS, IEEE Std. 802.3, 802.11, 802.15, 802.16 (WiMAX), ATM, X.25, Frame Relay, 3GPP, 3GPP2, WAP, SIP, UDP, FTP, RTP/RTCP, H.323, etc.).
(15) As used herein, the term QAM refers generally to modulation schemes used for sending signals over coaxial cable or other networks. Such modulation scheme might use any constellation level (e.g. QAM16, QAM64, QAM256 etc.) depending on the details of a particular cable or other (e.g., satellite) network.
(16) As used herein, the term headend refers generally to a networked system controlled by an operator (e.g., an MSO or Multiple Systems Operator) that distributes programming to MSO clientele using client devices. Such programming may include literally any information source/receiver including, inter alia, free-to-air TV channels, pay TV channels, interactive TV, and the Internet. DSTBs may literally take on any configuration, and can be retail devices meaning that consumers may or may not obtain their DSTBs from the MSO exclusively. Accordingly, it is anticipated that MSO networks may have client devices from multiple vendors, and these client devices will have widely varying hardware capabilities. Multiple regional headends may be in the same or different cities.
(17) As used herein, the term content refers to audio, video, graphics files (in uncompressed or compressed format), icons, software, text files and scripts, data, binary files and other computer-usable data used to operate a client device and produce desired audio-visual effects on a client device for the viewer.
(18) As used herein, the terms client device and end user device include, but are not limited to, personal computers (PCs) and minicomputers, whether desktop, laptop, or otherwise, set-top boxes such as the Motorola DCT2XXX/5XXX and Scientific Atlanta Explorer 2XXX/3XXX/4XXX/8XXX series digital devices, personal digital assistants (PDAs) such as the Apple Newton. Palm family of devices, handheld computers, personal communicators such as the Motorola Accompli devices, J2ME equipped devices, cellular telephones (including smart phones), wireless nodes, or literally any other device capable of interchanging data with a network.
(19) Similarly, the terms Consumer Premises Equipment (CPE) and host device refer to any type of electronic equipment located within a consumer's or user's premises and connected to a network. The term host device refers generally to a terminal device that has access to digital television content via a satellite, cable, or terrestrial network. The host device functionality may be integrated into a digital television (DTV) set. The term consumer premises equipment (CPE) includes electronic equipment such as set-top boxes, televisions, Digital Video Recorders (DVR), gateway storage devices (Fumrnace), and ITV Personal Computers.
(20) As used herein, the term application refers generally to a unit of executable software that implements a certain functionality or theme. The themes of applications vary broadly across any number of disciplines and functions (such as on-demand content management, e-commerce transactions, brokerage transactions, home entertainment, calculator etc.), and one application may have more than one theme. The unit of executable software generally runs in a predetermined environment; for example, the unit could comprise a downloadable Java Xlet that runs within the JavaTV environment.
(21) As used herein, the term computer program is meant to include any sequence or human or machine cognizable steps which perform a function. Such program may be rendered in virtually any programming language or environment including, for example, C/C++, Fortran, COBOL, PASCAL, assembly language, markup languages (e.g., HTML, SGML, XML, VoXML), and the like, as well as object-oriented environments such as the Common Object Request Broker Architecture (CORBA), Java (including J2ME, Java Beans, etc.) and the like.
(22) As used herein, the term server refers to any computerized component, system or entity regardless of form, which is adapted to provide data, files, applications, content, or other services to one or more other devices or entities on a computer network.
(23) As used herein, the term legacy refers to any component, system, process, or method which is prior to the most current generation, revision, or modification of such component, system, process, or method.
(24) As used herein, the term statistical refers without limitation to any process, component or analytical framework based at least in part on one or more statistical, anecdotal or deterministic parameters. Such process, component or framework may be implemented for example using a posteriori data, via actual or effective a priori relationships or data, or otherwise.
(25) Overview
(26) The present invention provides, inter alia, apparatus and methods for enhancing the efficiency and capability of multiplexed network systems such as cable television networks with respect to various types of content carried thereon. Specifically, in one salient aspect, the present invention provides improved multiplexing apparatus and methods that allow such systems to dynamically compensate for content (e.g., advertisements, promotions, or other programs) that is inserted at a downstream network node such as a local hub.
(27) In one variant, a feed-back approach is used wherein one or more downstream multiplexing processes communicate information back to their upstream multiplexing process(es) in order to permit the upstream process(es) to adjust one or more operational parameters (such as the bandwidth allocated to the content programs comprising the multiplex).
(28) In another variant, a feed-forward approach is used wherein the upstream multiplexing process(es) provide information relating to the original multiplex to the downstream nodes (e.g., hubs) in order to provide an anticipatory control of the downstream multiplexing processes (such as, e.g., adjusting the parameters of the content to be inserted into the stream).
(29) Various other configurations (including network topologies having three or more multiplexing stages), and new business models made possible by the aforementioned feed-back and feed-forward approaches, are also described.
DESCRIPTION OF EXEMPLARY EMBODIMENTS
(30) Exemplary embodiments of the apparatus and methods of the present invention are now described in detail. While these exemplary embodiments are described in the context of the hybrid fiber coax (HFC) cable architecture having an multi-system operator (MSO), digital networking capability, and plurality of client devices/CPE, the general principles and advantages of the invention may be extended to other types of networks and architectures where the efficient allocation of larger-bandwidth programs or content is desired. Hence, the following description is merely exemplary in nature.
(31) It will also be appreciated that while described generally in the context of a network providing service to a consumer (i.e., home) end user domain, the present invention may be readily adapted to other types of environments including, e.g., commercial/enterprise, and government/military applications. Myriad other applications are possible.
(32) Furthermore, the terms first and second, upstream and downstream, and earlier and later as used herein with respect to certain embodiments connote only a relative relationship between two components or processes, and not any absolute placement within a network, architecture or logical process. For example, a first-stage multiplexer according to the invention may be separated from a second-stage multiplexer by one or more intermediary components (including other multiplexer/demultiplexer stages). Similarly, the first-stage multiplexer might refer to a stage in a reverse channel, wherein the second-stage multiplexer is closer to the signal destination (e.g., head end of a cable network). As yet another alternative, logical processes associated with a later or downstream stage may actually be performed before processing by an upstream or earlier stage. Hence, the present invention should in no way be considered limited to any particular architecture or relationship, the embodiments presented herein being merely exemplary of the broader concepts.
(33) It is further noted that while described primarily in the context of 6 MHz RF channels, the present invention is applicable to literally any frequency/bandwidth, such as for example 8 MHz channels. Furthermore, as referenced above, the invention is in no way limited to traditional cable system frequencies (i.e., below 1 GHz), and in fact may be used with systems that operate above 1 GHz band in center frequency or bandwidth, to include without limitation so-called ultra-wideband systems.
(34) Lastly, while described primarily in the context of a downstream broadcast paradigm, it will be understood that the various aspects of the present invention are equally applicable regardless of whether a given program is intended for broadcast or supplied via an on-demand (OD) or other such user pull service.
(35) Many other permutations of the foregoing system components and communication methods may also be used consistent with the present invention, as will be recognized by those of ordinary skill in the field.
(36) Bearer Network Architecture
(37)
(38) As discussed below with reference to
(39) In a typical cable network, the first stage of statistical multiplexing is typically implemented at the headend location 101. At each hub 104, a second stage of statistical multiplexing is implemented wherein some programs received from the headend will be replaced by local programming, advertisements or other content, and sent for distribution to all or a subset of the CPE 110 connected downstream from the servicing hub 104.
(40)
(41) The application origination point 122 comprises any medium that allows an application (such as a VOD based application) to be transferred to a distribution server 124. This can include for example an application vendor website, CD-ROM, external network interface, mass storage device (e.g., RAID system), etc. Such transference may be automatic, initiated upon the occurrence of one or more specified events (such as the receipt of a request packet or ACK), performed manually, or accomplished in any number of other modes readily recognized by those of ordinary skill.
(42) The application distribution server 124 comprises a computer system where such applications can enter the network system. Distribution servers are well known in the networking arts, and accordingly not described further herein.
(43) The VOD server 126 a computer system where on-demand content can be received from one or more data sources 122 and enter the network system. These servers may generate the content locally, or alternatively act as a gateway or intermediary from a distant source. The VOD server 126 includes the Session Resource Manager (SRM) functionality, and asks the Digital Network Control System (DNCS) for resources. The DNCS responds with negative or positive response to the request, and the VOD server implements the appropriate resource allocation logic, such as that described in co-owned U.S. patent application Ser. No. 10/881,979 filed Jun. 29, 2004 and entitled METHOD AND APPARATUS FOR NETWORK BANDWIDTH ALLOCATION incorporated herein by reference in its entirety, although other approaches and configurations may be used with equal success.
(44) The CPE 110 includes any equipment in the consumers' premises (or other locations, whether local or remote to the distribution server 124) that can be accessed by a distribution server 124. Such CPE 110 comprises processors and associated computer memory adapted to store and run the downloaded or resident application, as well as receive the streamed in-band content. In the present context, at least a portion of the VOD application is typically downloaded to the CPE 110, wherein the latter executes the downloaded application(s)/components, although it will be recognized that all of applications may conceivably be uploaded to the server, or alternatively transferred to another device, such as other networked CPE or the like.
(45) Referring now to
(46) The architecture 101 of
(47) Content (e.g., audio, video, etc.) is provided in each downstream (in-band) channel associated with the relevant service group. To communicate with the headend, the CPE 110 uses the out-of-band (OOB) or DOCSIS channels and associated protocols. For example, the OCAP 1.0 specification provides for networking protocols both downstream and upstream.
(48) In another embodiment, the network infrastructure includes one or more on-demand file or carousel functions. Specifically, the present invention contemplates that not only will more traditional movie (e.g., MPEG) data be allocated and delivered though the coordinated multi-stage multiplexing mechanisms described herein, but also data for interactive applications or other types of applications. In fact, it will be appreciated that any variable bit rate stream subject to lossy compression could benefit from the techniques of the present invention. For example, these techniques may be applied to digitized voice and music.
(49) It will also be recognized that the multiple servers (content or otherwise) can be used, and disposed at two or more different locations if desired, such as being part of different server farms. These multiple servers can be used to feed one service group, or alternatively different service groups. In a simple architecture, a single server is used to feed one or more service groups. In another variant, multiple servers located at the same location are used to feed one or more service groups. In yet another variant, multiple servers disposed at different location are used to feed one or more service groups. One exemplary multi-server architecture particularly useful with the present invention is described in co-pending and co-owned United States Patent Application Publication No. 20020059619 to Lebar published May 16, 2002 and entitled Hybrid central/distributed VOD system with tiered content structure which is incorporated herein by reference in its entirety.
(50) Many other permutations of the foregoing system components and communication methods may also be used consistent with the present invention, as will be recognized by those of ordinary skill in the field.
(51) Statistical Multiplexing Methods and Subsystem
(52) Referring now to
(53) As shown in
(54)
(55) In the illustrated subsystem 220, two-stage multiplexing is performed on digital video programs or other such content. The first multiplexing stage aggregates a number of content elements (e.g., programs) P1 through P5 221 using a statistical multiplexer (stat-mux) 222 in a multiplexed stream 226. This multiplexed stream is transported to a number of second multiplexer stages. In
(56) Each second stage stat-mux 230, 232, 234 and 236 is communicatively coupled with the first stage stat-mux 222 via a data connection 228. Depending on the physical configuration, locations, and desired attributes of the various system components, such data connection might comprise, e.g., a direct hardwired data interface, a packetized protocol interface (such as via a conventional Ethernet, USB, IEEE-1394, or similar interface), a wireless interface (such as 802.11, UWB, 3G/UMTS, WiMAX, millimeter wave, satellite, etc.), optical fiber interface, and so forth. In one alternate embodiment, the communication is achieved via off-line communication means such as human operator typing or loading information at a headend or hub. Myriad different configurations for effectively communicating data between the various stat-mux entities of the subsystem 200 will be recognized by those of ordinary skill provided the present disclosure.
(57) An example of how temporal statistical information about a stream obtained at one stage can be used to improve multiplexing performance at another stage is illustrated in the bitrate graph of
(58)
(59) A third trace 256 is shown in
(60) It will be appreciated that the foregoing control of the bandwidth or other parameters may be conducted using any number of schemes, including for example on an effectively instantaneous albeit somewhat latent basis (e.g., based on an essentially constant stream of data), on a periodic basis (e.g., once per period of time or number of frames), on a statistical basis (e.g., based on statistics generated previously or during the bandwidth shaping operations), or combinations thereof. In particular, one embodiment of the invention utilizes the feed-back information at the first multiplexer stage to account for the latency in bandwidth demand between the stages.
(61) The statistical information about programs or content exchanged between the stat-muxing stages can include information such as picture rate timing, macroblock/slice rate timing, scene change detection, 3:2 pulldown sequencing information, field/frame compression mode, picture quality information (peak-signal-to-noise ratio or PSNR), etc. Feed-back information may also comprise information such as number of advertisements or other content elements to be inserted (and hence the number of programs in the original multiplex to be replaced where the inserted content is inserted in place of existing program content), the starting and stopping times of the insertions (or duration, such as being referenced to an SI clock of other indicia, or as measured in a number of frames), and the like. Such information can be generated a priori (e.g., such as before any statistical multiplexing or other such processing is applied to the content) or a posteriori (e.g., such as after statistical multiplexing or other processing is applied).
(62) Capability information exchanged between the various multiplexing stages can include for example information regarding which parameters are important to a certain multiplexing implementation, how often any quantization/rate changing applied to the content (e.g., once every macroblock, once every slice, once every frame, and so on), bandwidth and end-to-end delay for communicating the messages, etc.
(63) It will also be appreciated that the aforementioned statistical or capability information may also be transmitted in the form of metadata of the type well known in the networking arts. For example, in one variant, a generalized (standardized) syntax is used to promote interoperability between the components/processes of various service providers. Alternatively, a proprietary syntax may be utilized for all or part of the data, thereby assuring interoperability only between equipment and processes of one system operator. This data can also be protected using any number of well known security techniques, including security mechanisms within the physical or link layers of the indigenous transport channel used to carry the data, session layer security, IPSec or VPN tunneling, application layer encryption, and so forth.
(64) The above example of
(65) Additionally, as shown by the dotted lines used to represent the data connections 208 between the first- and second-stage stat-muxes in
(66) In one exemplary configuration, the headend or first stage multiplexing process 222 is also optionally configured to evaluate the effect of the prospective insertions to be carried out by the downstream nodes (e.g., hubs 104) in order to determine the impact on program quality for the non-inserted programs/streams. For example, if the number/quality requirements of downstream insertions is such that a significant impact on the quality of the non-inserted content will be realized, then the headend process 222 may selectively restrict or throttle changes it makes in terms of allocated bandwidth (e.g., by limiting the magnitude or rate shaping occurring within a given period of time), and/or restrict the ability of one or more downstream nodes to make the prospective insertions/replacements.
(67) In another exemplary embodiment, more than two multiplexer stages (
(68) It will be appreciated that such a multi-stage approach may be conducted in a completely decoupled fashion (e.g., wherein the data fed back from the third stage 284 to the second stage 282 is effectively independent of what is fed back from the second stage 282 to the first stage 280, and hence the bandwidth shaping algorithms for the various stages may operate substantially independent of one another), or alternatively in a coupled fashion (i.e., the data or control information fed back to the first stage 280 is predicated or derived at least in part from that sent back from the third stage 284). Such coupled operation may be performed serially; e.g., such as where the data/commands fed back to the first stage 280 must necessarily occur after the receipt (and analysis) at the second stage 282 of data from the third stage 284. Alternatively, the coupled process may occur in a statistical or averaged fashion, such as where data obtained by the second stage 282 from the third stage 284 over time is used to form periodic transmissions of control or other data to the first stage 280, inespective of any temporal or logical relationship between the two data sets. Myriad other approaches will be recognized by those of ordinary skill.
(69) As yet another alternative, the data from the third stage may selectively bypass the second stage 282 and be routed directly to the first stage multiplexer 280. In this approach, the second stage multiplexing process is substantially transparent to the other stages 280, 284.
(70) It will further be recognized that the present invention may be implemented in the context of a feed-forward configuration, wherein information relating to the statistical multiplexing process (or related data) can be fed forward from an earlier or upstream stage to a later or downstream stage. For example, in one embodiment, the first stage stat-mux 222 of
(71) As yet another option, time- or event-modulated, or even near-contemporaneous feed-back and feed-forward statistical multiplexing may be utilized. For example, in one variant, the fed-back and feed-forward processes may be selectively employed based on one or more selection criteria such as, e.g., the availability of bandwidth shaping at the first or second stage muxes. When the first stage mux does not have the capability (or otherwise does not desire to impose bandwidth shaping at a given point in time for other reasons), the feed-forward approach may be invoked in order to impose shaping of the inserted content. The converse may also be true; i.e., a feed-back approach is invoked where feed-forward is impossible or undesirable. As another alternative, feed-back or feed-forward shaping may be applied only upon the occurrence of certain events such as during certain periods of time, the use of particular services, or the creation of sessions (e.g., OD sessions) by one or more users served by a given hub, and so forth.
(72) It is also anticipated that there will be situations where the feed-back and feed-forward approaches can be used in tandem; e.g. where rate shaping at the first stage and shaping of the inserted content at the second stage are used concurrently in order to meet one or more system goals such as conservation of bandwidth on a system-wide basis. However, care must be taken to avoid situations where an open control cycle is created due to latency inherent in the system, wherein changes in one stage precipitate a corresponding adjustment in another stage, which generates feed-back causing another change in the first stage, and so forth. Accordingly, in one approach, the duration of the interval between changes in either stage is controlled by the system logic so as to avoid too rapid a response to feed-back/feed-forward situations, thereby allowing the system to settle before additional changes or adjustments are permitted. It will be recognized that other approaches for preventing such open-loop conditions may be used as well, such approaches being well known to those of ordinary skill in the control system arts.
(73) It will also be appreciated that the second or downstream stage multiplexers can serve multiple master first stages if desired. For example, in one variant of the invention, the first stage statistical multiplexing process comprises two or more individual multiplexing processes; such as where two headend multiplexers are disposed within respective ones of different distribution networks. The two (or more) upstream processes are tied to one or more of the hubs 104, with the hub using the downstream multiplexes from each upstream stage on a shared (e.g., time-divided, multiplexed, or switched basis). Accordingly, the feed-back information can be passed from that hub to both of the upstream processes such that each of the latter may adjust its operation as previously described herein in response to content to be inserted at the hub 104. Such adjustment by the upstream processes may also be on a time-divided, multiplexed or switched basis.
(74) In one exemplary variant of the invention, existing statistical multiplexing and communications hardware/software present in the distribution network is utilized as the basis of the enhanced communication and multiplexing capabilities described herein. For example, the data relevant to the aforementioned statistical multiplexing communications between the stages (e.g., feed-back or feed-forward) can be packaged or encapsulated within existing networking protocols such as RCP/RTCP, SIP, or the like, thereby obviating the requirement for significant changes to the existing infrastructure. In many cases, the implementation of the current invention can be accomplished merely through modification of a portion of the protocol stack(s) within the headend and hub statistical multiplexing software processes, and completely above the physical layers of the network. Hence, the exemplary embodiments of the present invention are advantageously independent of or agnostic to the lower layers of the bearer medium, thereby adding significant flexibility in terms of rapid and cost-effective implementation in existing networks.
(75) In another embodiment of the invention, the downstream (i.e., feed-forward) information sent from one stage to another is sent via an in-band transport stream, such as via the equivalent of SI packets encoded and multiplexed into the stream at the headend process. These packets are then identified at the hub 104, extracted from the transport stream, decoded, with the decoded payload being used for rate shaping or similar functions as previously described herein.
(76) Similarly, it will be appreciated that the feed-back information may utilize an existing out-of-band (OOB) or similar channel in order to provide communications between the hub(s) 104 and the headend process 101.
(77) Headend Multiplexing
(78) The multiplexing functions performed at an upstream location in the network (e.g., the headend 101 of
(79) The various functional elements of the headend multiplexing system 300 are shown in
(80) In a conventional digital cable network, the headend 101 typically performs the function of content aggregation for sending the content downstream to various hubs 104 in the cable network (see
(81) The programming available at the headend 101 for such aggregation is either in uncompressed format (e.g., local channels as over the air transmission) or pre-compressed format (e.g., pre-compressed digital programs from a local content servers or from satellite feeds 161 via e.g., a demodulator and decryptor 163 as show in
(82) Referring again to
(83) The primary function of the QDL 301 is, via a signal interface 326 between the QDL and PSR, to fine tune the instantaneous bit allocated by the PSR 302 to each program in the Original Program Multiplex by taking into consideration feed-back regarding downstream program insertion that it receives from the hubs 104 via an interface 312, any additional network operator settings 314, quality feed-back from the transcoder for programs being transcoded 316, quality feed-back from the encoder for programs being encoded 318, and feed-back from the PSR 324.
(84) In various embodiments, the feed-back received from the hubs 104 via the interface 312 (or other interface not shown) can include information regarding, inter alia (i) which program from the OPM is being removed at that hub; (ii) the start and/or end time of removal; (iii) content statistics for the replacement program that is (or will be) inserted; (iv) scene changes in the replacement program, and so forth. In a typical deployment, one headend 101 will provide aggregated programming to several hubs 104, although other arrangements (such as a one-to-one, or even a many-to-one configuration) may be utilized.
(85) Certain types of feed-back from a hub 104 may tend to cause the QDL 301 request to increase the instantaneous bitrate of an outgoing program (e.g. an upcoming scene change in the replacement material at the hub). Other types of feed-back may result in a reduction in the instantaneous bitrate for the outgoing program (e.g., all or a portion of the replacement material has faded to black). The QDL 301 also has the additional function of reconciling feed-back from various hub locations. The network operator may want to provide certain settings or algorithms to enable the QDL to weight and/or prioritize use (or the magnitude or type of effect) associated with feed-back from multiple hub locations on the instantaneous bitrates of outgoing streams. Such functionality may be implemented, e.g., in the form of algorithms based on weighting or prioritization equations, and configured and modified via a graphical interface to the multiplexing device. This functionality may also be imposed according to a rules or similar engine, wherein the weighting and/or prioritization is varied as a function of time of day, destination of the multiplex (e.g., geographic area), profile of the users being served by the multiplex, and so forth.
(86) In some implementations, the bitrate decision may take into account how many hub locations at which a program will be removed. For example, if a program of the OMP 328 is scheduled to be replaced at a significant number of hubs, the relative visual quality of that program may be de-emphasized in favor of other programs that are not being (so widely) replaced. Alternatively, the headend 101 may check for the relative priority of the replacement material. For example, if a replacement program at one hub 104 is deemed to have a higher priority than a replacement program at another hub, the feed-back from the higher priority replacement hub may be given more weight during the headend multiplexing process. Various embodiments of such priorities are envisioned under the present invention, including for example a number scale (e.g. a 1-to-10 rating system), binary priorities or fuzzy logic variables (e.g., high, low) or priority tiers (e.g., high, medium, low, don't care). Feed-back from the hubs 104 can also include quality-based or similar feed-back regarding programs that are not being replaced, but perhaps being rate-changed by the hub multiplexer.
(87) Under the exemplary embodiment of the invention, other network operator settings may be imposed including, without limitation, maximum and minimum rate variations allowed for each program, visual quality metrics to be met on each program in the OMP, and so on. These settings may also take the form of profiles, wherein a coordinated set of settings and logical functions adapted for particular commonly encountered circumstances are selectively implemented by the network operator. For example, a typical profile according to the invention might comprise specification of certain rate variations imposed on a program or time of day basis, along with a prioritization scheme and rules engine-based controls adapted to maximize economic attributes such as revenue. As can be appreciated, such profiles may be rapidly switched in or out, and can also be modified (tweaked) on the fly by the operators if desired.
(88) The transcoder quality feed-back 324 shown in
(89) Information provided by the encoder and transcoder functions 332, 304 to the QDL 301 can include information regarding scene changes, frame coding sequence (e.g., I, P, B frame encoding of the MPEG-2 format) that might be of interest to both the headend multiplexing and downstream hub multiplexers. Other parameters might include for example average motion vector length (indicates fast or slow motion), quantization per macroblock (average or weighted), and/or bits per macroblock (average or weighted).
(90) Hub Multiplexing
(91) Referring now to
(92) In certain implementations, a look-ahead function 414 can also optionally be utilized to provide temporal or other statistics of the replacement content to a headend mux feed-back function 410 implemented at the hub 104 in order to provide feed-back 408 to an upstream multiplexing function (e.g., that at the headend 101). The look-ahead function 414 is also useful to the local multiplexer/re-quantizer (HMR) 402 in creating the local MPM 404 for downstream distribution. Since the look-ahead function is communicatively coupled with the headend multiplexer process, it receives temporal statistics and information about programs/content in the OPM 328 that will be useful for the HMR 402. Pre-processing of content to be inserted can also be conducted before delivery of the content to the hub 104 (or at the hub upon receipt, in advance of its insertion).
(93) To enable monitoring of program quality on the outgoing MPM 404 and adjustment of the level of multiplexing and quantization, a quality feed-back function 412 can also optionally be used. This process 412 provides, inter alia, program quality monitoring that can be used by the headend mux feed-back logic 410 in developing feed-back ultimately sent to the upstream multiplexing node(s).
(94) In the illustrated embodiment, an input 416 is also optionally provided to the multiplexing decision logic 410 that communicates the network operator's control settings to the statistical multiplexing process at the hub 104. The control provided by the network operator's settings or profiles on multiplexing at the hub(s) 104 can be substantially similar to the headend multiplexing controls described previously herein, or may be more specifically tailored to the operating environment of that particular hub (e.g., to take into account the particular configuration, geography, and/or customer base within the area served by that hub 104).
(95) Delayed and Switched Digital Variants
(96) In another aspect of the invention, a uniform delay is optionally introduced between upstream and downstream stages (e.g., the headend and hub multiplexer stages previously described herein). Specifically, one exemplary embodiment of the invention (see
(97) The aforementioned delay can be implemented using any number of techniques, including for example buffering the first stage multiplex output in a suitably sized FIFO or comparable buffer structure. The buffer can be arranged to provide a user-variable delay, such as where an oversized buffer is used with a variable high-water mark, the latter triggering output of the stream. Hence, by varying the high-water mark relative to the buffer capacity (e.g., via a software user interface or other such mechanism), the latency or delay imposed on the data is varied as desired. Myriad other approaches to providing such a uniform delay may also be employed consistent with the invention, such other approaches being readily apparent to those of ordinary skill provided the present disclosure. It will be appreciated that this delay may be measured or imposed as a function of time (e.g., seconds) or another metric, such as a number of frames or other such occurrences.
(98) While shown as a separate entity 501 in
(99) The use of the aforementioned delay also provides opportunities for control of the distributed content by the MSO or another entity. For example, in one variant of the invention, stream substitution facilitated by the aforementioned delay mechanism is applied to ordinary program or content streams based on stream requests that are made through various CPE. For example, an on-demand or similar request from a user's CPE is used to instantiate a program stream for delivery to a given hub 104 or other network distribution node according to a switched digital paradigm. For example, co-owned and co-pending U.S. patent application Ser. No. 09/956,688 filed Sep. 20, 2001 and entitled Technique For Effectively Providing Program Material In A Cable Television System, incorporated herein by reference in its entirety, describes one exemplary switched architecture useful with the present invention. The basic underlying premise of such switched architectures is that the differentiated (e.g., HD or OD) content is not transmitted or broadcast onto the network (or to the local node or entity servicing a given CPE 110) until there is a valid request to view that content. Such request may comprise, for example, a given user's CPE taking a specific action (e.g. tuning to a user channel carrying the desired content, or transmitting an upstream request signal). In this fashion, the bandwidth of the network is conserved, since programming broadcasts or transmissions that no one is watching are obviated.
(100) The aforementioned optional delay feature of the present invention advantageously allows switched digital systems to enjoy the advantages of statistical multiplexing heretofore not possible due to the real-time nature of the switched programming. Stated differently, existing switched digital paradigms utilize real-time programming, thereby making the insertion of statistically multiplexed content effectively impossible. Furthermore, the need to maintain reasonable and user-friendly switching (channel change) performance imposes additional constraints on the application of multiplexing to switched digital systems.
(101) However, by delaying the program delivery to the hub (second stage) by a given amount as in the present invention, the opportunity to receive user-initiated requests and transparently service them through insertion of the requested content, and apply statistical multiplexing, is created. Specifically, in one embodiment of the invention, a computer program or comparable mechanism is utilized at the second or downstream stage of the network (e.g., at the local hub 104), whereby future-looking bitrate parameters (and optionally other parameters of the type described elsewhere herein) of the available programs are evaluated, and rate-shaping parameters for possible combinations of these programs calculated on a speculative basis. In one variant, the rate-shaping parameters are calculated for all possible combinations of programs. In another variant, a bounding or corner-case analysis is performed, whereby only the worst-case or bounding conditions are determined. Yet other speculative analytical approaches known to those of ordinary skill in the art may be used as well. This approach of speculative evaluation allows CPE program stream additions and/or substitutions to be executed within a reasonable time after the request is issued by the CPE 110, while at the same time facilitating efficient statistical multiplexing operation.
(102) It will also be appreciated that the delay imposed by the upstream multiplexing stage may be varied programmatically or according to other schema. For example, it may be desirable to use a larger or smaller delay value during certain operating conditions, such as increased/decreased session or content demand at the individual second-stage hubs. This demand may be determined anecdotally or empirically (such as via data accumulated at the hubs and fed back to the headend multiplexer stage), or via observed or a priori relationships, such as where it is known that demand increases at certain times of day and/or in certain geographical areas.
(103) Wideband and Multi-OAM Variants
(104) While the foregoing embodiments of the present invention are described primarily in terms of an infrastructure adapted to transmit content over a single physical channel (e.g., 256-QAM modulated carrier) at any given time, it will be recognized that this physical channel may actually comprise one or more distinct carriers. For example, in one multi-carrier variant of the invention, the content is streamed over multiple physical carriers according to a multiplexing algorithm such as that described in co-owned and co-pending U.S. patent application Ser. No. 11/013,671 filed Dec. 15, 2004 and entitled Method And Apparatus For Wideband Distribution Of Content, incorporated herein by reference in its entirety. Under this approach, the data of a given transport stream can be multiplexed across a plurality of physical carriers, with the multiplexed signal being reassembled at the CPE 106 using a wideband tuner (or a plurality of related tuners).
(105) Information from the headend as to the multiplexing scheme and channels used may be provided to the CPE (and intermediate nodes such as the network hubs 104 if desired) in order to enable de-multiplexing (and decoding) of the multiplexed transport stream. Hence, for the purposes of the present invention, the aggregation of multiplexed channels acts like a single QAM. This is particularly useful in the context of the present invention which, as previously described, is substantially independent of any physical layers or underlying bearer medium. Hence, one variant of the present invention in effect constitutes a statistical multiplex layered on top of a wideband physical multiplex.
(106) Business Methods
(107) It will be readily appreciated that various aspects of the present invention lend themselves to the creation of new business models, wherein network operators, content and advertisement providers, or other entities can provide or be provided differentiation in the type or quality of service via the interaction of the various network multiplexing elements and processes.
(108) For example, in one exemplary business model of the invention, the network operator can assure maintenance of the quality of a certain program by insulating it from transcoding/replacement within a given multiplex (or at other multiplexes) that could potentially reduce its quality. This can be applied on a network-wide or per-hub basis as desired, for example by simply designating hubs (e.g., via their addresses or some other mechanism) which should or should not allow replacement or insertion to occur against the designated content. This protection can also be applied on a temporal or per-user channel basis; e.g., during certain periods of the programming day or on certain user channels (or physical channels for that matter), the program quality or other metric may be insulated from degradation due to bitrate/bandwidth shaping from downstream multiplexing processes. For example, it may be desirable to maintain zero loss of quality rules during certain periods of transmission of standard definition (SD) or high definition (HD) programming.
(109) Similarly, premium tiered advertisement service can be offered that maintains the quality or other metric of the advertisement by, e.g., using feed-back regarding the bitrate requirement of that advertisement to rate-shape the OPM 328. This can also be applied on a per-hub, per-occurrence, and/or per-channel basis if desired, such as where (i) the advertisement quality is maintained only for one hub; (ii) the advertisement quality is maintained only for one or selected occurrences of insertion of the advertisement; and/or (iii) the advertisement quality is maintained only for one or selected user or physical channels.
(110) Furthermore, a business rules engine such as one generally of the type described in co-owned and co-pending U.S. patent application Ser. No. 10/881,979 filed Jun. 29, 2004 previously incorporated herein can be used, although other approaches and configurations may be used with equal success. Such an engine might comprise one or more software processes running coincident with the aforementioned statistical multiplexing processes and adapted to control the upstream and/or downstream statistical multiplexing processes in order to impose various business-related rules to, e.g., maximize profit, increase user-satisfaction, provide selective promotions or other premium services within select geographic areas, etc.
(111) Additionally, it will be recognized that the aforementioned delay-based and switched digital configurations of the present invention may form the basis of yet other business models. Specifically, the ability to provide the customer with statistically multiplexed (rate shaped) program content in the switched digital context is a significant business consideration. As previously noted, the switched digital approach advantageously reduces local network bandwidth requirements by instantiating sessions or content delivery only upon the existence of a viable request, and the statistical multiplexing approach of the present invention provides the ability to efficiently deliver the requested content without degradation of the quality or timeliness thereof.
(112) Additionally, the aforesaid business models relating to the insertion of advertising or promotional content can be extended to the switched digital context, since the use of the delay as described above enables the use of statistical multiplexing (and hence future-looking feed-forward data) in this context. For example, where a user requests a given content element (e.g., program) via a session request, by tuning to a given user channel, or the like, the local node 104 can be programmed to insert corresponding advertising or promotional content (whether logically related to the requested content or otherwise), the insertion of the advertising/promotional content and the requested program itself being controlled at least in part by using the anticipatory statistical multiplexing data generated by the headend 101. The MSO can therefore, e.g., sell advertising or promotional space on an ad hoc basis, without affecting the quality of the user-requested content (or of the advertising or promotional material).
(113) It will be recognized that while certain aspects of the invention are described in terms of a specific sequence of steps of a method, these descriptions are only illustrative of the broader methods of the invention, and may be modified as required by the particular application. Certain steps may be rendered unnecessary or optional under certain circumstances. Additionally, certain steps or functionality may be added to the disclosed embodiments, or the order of performance of two or more steps permuted. All such variations are considered to be encompassed within the invention disclosed and claimed herein.
(114) While the above detailed description has shown, described, and pointed out novel features of the invention as applied to various embodiments, it will be understood that various omissions, substitutions, and changes in the form and details of the device or process illustrated may be made by those skilled in the art without departing from the invention. The foregoing description is of the best mode presently contemplated of carrying out the invention. This description is in no way meant to be limiting, but rather should be taken as illustrative of the general principles of the invention. The scope of the invention should be determined with reference to the claims.