This invention relates generally to providing packetized video over a segmented network, and in particular to using error correction processes based on attributes of each network segment.
Video, such as a television broadcast or an on-demand program, is increasingly being delivered to subscribers in a packetized format over a video distribution network. Typically, digitized video is first packetized by encapsulating sequential units of the digitized video into a stream of Internet Protocol packets and then forwarded from a headend towards a premises, such as a residence or business. Packetized video offers many advantages over non-packetized video, including the ability to use emerging technologies, such as switched digital video, to allocate network bandwidth more efficiently than previously possible. However, service providers have discovered that reliably delivering a consistent stream of packetized video to an end-user over a network that may span hundreds of miles is a challenging proposition. Each packet must traverse multiple network segments coupled together by different types of equipment that may operate in different energy domains, such as optical or electrical. Each packet faces potential disruption along the way from cable cuts, equipment failure, transient noise, and congested network nodes. Once the packet reaches the destination premises, the packet must be carried over a local area network that can vary widely from premises to premises, that the service provider may have little knowledge of or control over, and that may change at the whim of the end-user. The packets are ultimately delivered to a device, such as a set top box or a computer, for display on a monitor, such as a television or liquid crystal display (LCD) computer screen.
Video distribution networks can generally be described as having three network segments: a core network segment that extends from a super headend to a regional video serving office, an access network segment that extends from the regional video serving office to a premises, and a local network segment that carries video packets within a premises. Each network segment has different attributes and presents unique challenges relating to the delivery of packetized video. The core network segment is typically a fiber network and may have a high amount of bandwidth. The access network segment may be an xDSL network and may have very limited bandwidth. A local network segment in one premises may use a wired Ethernet technology and have high robustness, while a local network segment in an adjacent premises may use a wireless technology and have low robustness and high susceptibility to interference.
Service providers have found that capital expenditure costs associated with initial configuration of a home network for packetized video service can be significant. Similarly, service providers have found that operating expenditures associated with service calls to debug and resolve problems in home networks can be quite significant. Many of the problems associated with delivering packetized video to a premises relates to video quality at the end-user device due to lost packets that may be the result of a severed cable, transient noise, and the like. Packet error correction technologies, such as forward error correction (FEC) or automatic repeat request (ARQ), may be used to prevent certain instances of packet loss from affecting video display quality. Where FEC is used, FEC is typically provided from a headend of the service provider all the way to a set top box in a premises, and the amount of FEC used is limited by the most bandwidth-constrained segment of the network. Consequently, while FEC may, for example, be sufficient to correct a majority of packet losses that may occur in an access segment of the network, FEC may be insufficient to correct packet losses that may occur in the core or local segments of the network. Moreover, the amount of FEC necessary to correct video quality problems occurring in a local network segment in one premises may be insufficient to correct video quality problems occurring in a local network segment of another premises.
ARQ can be useful when used in the access network segment or the local network segment, but is typically not used in the core network segment because of the amount of storage and processing that would be necessary to implement ARQ in a core network segment. Consequently, a service provider implementing ARQ may not provide any error correction for the core network segment. Therefore, it would be beneficial for a service provider to provide different error correction processes for different network segments based on the loss profile and bandwidth of the particular network segment. Further, it would be beneficial for a network provider to dynamically alter the error correction process used on a network segment in response to feedback regarding real-time error conditions associated with the network segment.
The present invention implements different error correction processes, sometimes referred to as loss mitigation processes, in different segments of a network coupled together by service nodes. The error correction processes can include forward error correction (FEC), automatic repeat request (ARQ), call admission control (CAC), any other suitable mechanism adapted to prevent or correct packet loss, and any combination thereof. The present invention implements an appropriate error correction process based on bandwidth associated with the respective network segment and types of errors typically or actually experienced by the respective network segment. A service node may receive packets via a first network segment, use a first error correction process to recover lost or corrupted packets, and forward the packets via a second network segment to a service node that uses a second error correction process to recover lost or corrupted packets.
According to one embodiment of the invention, monitoring agents in one or more service nodes monitor error conditions on an associated network segment and communicate with an upstream error correction controller (ECC) to dynamically modify the amount or type of error correction being used for the associated network segment. The error correction processes associated with two different network segments can be different error correction processes, such as FEC and ARQ, or can be different types of error correction processes that use the same type of error correction, such as FEC, but use different amounts of error correction. For example, a service node associated with a core network segment may use an amount of FEC suitable for protecting a first number of lost packets that might be lost on the core network segment, and a service node associated with an access network segment may use an amount of FEC suitable for protecting a second, and smaller, number of lost packets since the access network segment may have significantly less bandwidth than the core network segment.
According to one embodiment of the invention, a service node associated with a core network segment uses a sufficient number of FEC packets suitable to protect a relatively large number of video packets that may be lost during a 50 milliseconds (ms)-100 ms protection switch event on the core network segment, such as re-routing traffic around a severed fiber cable. A service node associated with the access network segment uses a smaller number of FEC packets suitable to protect a relatively small number of video packets that may be lost during a short duration impulse loss on the access network segment, such as caused by transient noise. The FEC packets used on the access network segment are a subset of the FEC packets received via the core network segment. The present invention enables the reuse of FEC packets to tailor FEC for a particular network segment without the overhead required to recalculate FEC packets.
Those skilled in the art will appreciate the scope of the present invention and realize additional aspects thereof after reading the following detailed description of the preferred embodiments in association with the accompanying drawing figures.
The accompanying drawing figures incorporated in and forming a part of this specification illustrate several aspects of the invention, and together with the description serve to explain the principles of the invention.
The embodiments set forth below represent the necessary information to enable those skilled in the art to practice the invention and illustrate the best mode of practicing the invention. Upon reading the following description in light of the accompanying drawing figures, those skilled in the art will understand the concepts of the invention and will recognize applications of these concepts not particularly addressed herein. It should be understood that these concepts and applications fall within the scope of the disclosure and the accompanying claims.
Switched digital media networks allow delivery of streaming media in the form of media streams for various channels, or on-demand programs, which can be selected by customers for listening or viewing. Switched digital media networks may represent satellite, cable, internet protocol television (IPTV), or like networks used to deliver audio or video for a public or private setting. Typically, service providers rely on an extensive and hierarchical network, which branches out from a centralized location where media content is aggregated and extends to a customer premises through various intermediate networks. An exemplary but simplistic switched digital media network is illustrated in
The MHE 10, such as a super head end for video, will generally have access to various satellite dish farms, media servers, encoders, or the like, which provide various media content for corresponding channels to the MHE 10. While for purposes of illustration the MHE 10 is depicted as a single entity, the MHE 10 may comprise a number of pieces of equipment to accomplish the required functions of the MHE 10, including content management, content encoding, the provision of video on demand services, and the like. The MHE 10 aggregates the media content from the various sources and allocates the media content for delivery toward the premises 12 at the appropriate time and on the appropriate channel. Notably, the media content may be delivered to the premises 12 according to a predefined schedule or in response to a customer request, as is provided for video on demand services. Notably, the media content may include advertising content, which is slotted into appropriate slots within the media content. In video or television based switched digital media networks, the advertising content provided by the MHE 10 is generally national advertising intended for delivery to customers over a wide geographic area. A switched digital media network may have multiple MHEs 10 for purposes of redundancy, as illustrated by the two MHEs 10 as shown in
Media content delivered toward one or more premises 12 may pass through a media hub office (MHO) 18, which resides in the core network segment 14. Although not required, a single MHO 18 may be allocated to a single city or metro area. The MHO 18 may have access to local media content, including local advertising, which may be provided in association with the media content being provided by the MHE 10. In addition to providing local advertising, local emergency alert messages or content may be injected into the media content at the MHOs 18. Both the MHE 10 and the MHOs 18 may provide various types of encoding and decoding as well as transcoding to effectively change encoding, compression, and formatting associated with the media content being delivered toward the customer premises 12.
The next service node in the path towards the customer premises 12 may include a media serving office (MSO) 20, which generally resides in the city or metro area being served by the MSO 20. Further, the MSOs 20 may be distributed throughout the corresponding geographic location, such as in association with one or more neighborhoods. Within each of these neighborhoods or corresponding areas, each MSO 20 may be associated with one or more access nodes (AN) 22, which may also be referred to as access multiplexers. These access nodes 22 effectively aggregate all of the wired or wireless connections between the various premises 12. The MSO 20 and the access node 22 are generally associated with the corresponding access network segment 16. As illustrated, a single access node 22 may serve any number of premises 12. Exemplary access network segments 16 include digital subscriber lines (DSL), passive optical networks (PON), Ethernet networks, cellular networks, broadband wireless networks such as a WiMAX network, and the like. The access nodes 22 may include digital subscriber line access multiplexers (DSLAMs), optical line terminals (OLT), Ethernet modems, cellular base stations, wireless access points, and the like. Notably, if a distance between a MSO 20 and a premises 12 is sufficiently small, an access node 22 may not be required or desired to serve a premises 12, and one or more premises 12 may be served directly by a MSO 20.
Once inside the premises 12, the media content may be delivered to any number of devices, as illustrated in
Lost, damaged, or delayed media packets in any of the network segments 14, 16, 28 can result in noticeable audio or video aberrations at the CPE 26. Moreover, each network segment typically has a separate and different loss profile that characterizes the type of packet losses that may occur or typically occur on the respective network segment. For example, packet losses on the core network segment 14 due to interference are relatively rare. However, the type of event that may cause a packet loss on the core network segment 14, such as a severed cable or network element failure, may result in a relatively large number of lost packets, and may impact all premises 12 served by the service provider. In contrast, a typical loss profile for an access network segment 16 may include more frequent problems, such as transient impulse noise or crosstalk, that likely result in fewer lost packets than that caused by a severed cable, but that affect fewer premises 12 than a cable cut on the core network segment 14. Particularly challenging for a service provider are the local network segments 28, which differ from one premises 12 to another premises 12, each of which may involve myriad different switching devices 30, CPEs 26, and communications links 34, and whose configuration may change at the whim of the customer with no advance warning to the service provider. The net result of the variable and changing dynamic of the local network segment 28 is that service providers incur significant expenses setting up media services for a premises 12 and maintaining media quality in the premises 12 on an ongoing basis.
Some service providers attempt to diminish the impact of lost packets through mechanisms such as error correction. Error correction typically involves a tradeoff between bandwidth and delay. Some error correction techniques, such as forward error correction (FEC), utilize additional bandwidth by including additional information among media packets that can be used to recreate lost or corrupted media packets without waiting for a retransmission of the lost media packets. Other error correction techniques, such as automatic repeat request (ARQ), rely on retransmission of lost or corrupted media packets, which reduces bandwidth overhead but increases delay and increases storage requirements for storage of the media packets in the event a retransmission is required.
In contrast to the MHE 10, the MSO 20 may be coupled to an access network segment 16 that has very limited bandwidth, such as an xDSL communications path, and that has insufficient excess bandwidth to provide a similar FEC block size and both row and column FEC packets. The MSO 20 may therefore alter the FEC block size and generate only column FEC packets to significantly reduce the amount of bandwidth required to implement FEC on the access network segment 16. While the different FEC block size and fewer FEC packets reduces the number of lost media packets that may be recovered, such a tradeoff provides sufficient reliability in view of the actual loss profile for the access network segment 16, which differs from the loss profile of the core network segment 14.
The PG 24 may be coupled to a local network segment 28 that has high bandwidth communications links 34, but which suffers significant media data packet loss due to interference with wireless or other electronic devices in the premises 12. The PG 24 therefore alters the FEC encoding to better suit the loss profile associated with the local network segment 28, such as by altering the FEC block size and generating both row and column FEC packets to enable the CPE 26 to recover a substantial number of media packets that may be lost en route from the PG 24 to the CPE 26.
The media segments are then packetized into a suitable transport packet, such as a Real-time Transport Protocol (RTP) packet (step 206). It will be assumed for purposes of illustration that an FEC error correction process will be utilized for the core network segment 14. A desired first FEC error correction process is then applied to the media packets to generate a plurality of error correction packets (step 208). As is known to those skilled in the art, FEC error correction typically involves forming a two-dimensional block, or matrix, of a desired size of media packets that are to be protected, and then generating FEC packets that can be used to recreate one or more of the media packets if such media packets are lost or corrupted in transit through a network. Assume that the MHE 10 is coupled to a core network segment 14 that is a fiber network segment and has some excess bandwidth capacity. Further assume that the core network segment 14 may, from time to time, be impacted by a network element failure or cable cut that might occur, for example, during construction of a new office building miles away from the MHE 10. Also assume that a redundant MHE 10 or network routing path requiring 50 milliseconds (ms) to switchover to assume the responsibilities of the first MHE 10 or route around the failed network element is coupled to the core network segment 14, and during a 50 ms timeframe, as many as 16 media packets per channel may be lost for a 2 megabits per second (Mbps) video data stream. Thus, the MHE 10 may select a FEC block size and generate sufficient FEC packets to enable the recovery of up to 16 media packets so that media packets that are lost during the switchover can be recovered by the downstream MHE 10 without disrupting the presentation of the media on a CPE 26. The media packets and the FEC packets are then transmitted over the core network segment 14 (step 210). The FEC packets may be transmitted in line, intermixed with the media packets, or may be transmitted via a separate channel or port.
While ARQ requires less bandwidth than an FEC error correction process if no packet loss occurs, ARQ can introduce significant delay associated with retransmissions. Moreover, ARQ may not be suitable in some network segments where requests for retransmissions after a substantial packet loss event may overwhelm the capability of the sending service node to service the retransmission requests, or where the amount of processing and storage required to store the media packets requires excessive resources. For example, an ARQ error correction process may not be an appropriate error correction process for the core network segment 14 due to the significant amount of media packets being sent over the core network segment 14, and the large number of retransmission requests that would need to be serviced in the event of a packet loss event such as a cable cut.
Referring now to
In response to receiving the error control message, the ECC 36C can initiate a different error control process on subsequently received media packets that provides additional error correction beyond what had previously been provided by the ECC 36C, assuming that the communications links 34 between the PG 24 and the CPE 26 have sufficient bandwidth (step 504). Assume that the PG 24 receives a plurality of media packets from the MSO 20 via the access network segment 16 destined for the CPE 26 (step 506). The ECC 36C performs error correction on the media packets according to the error correction process associated with the network segment 16 (step 178). Prior to receiving the error control message from the CPE 26, the ECC 36C might have provided media packets in a particular FEC block size and with sufficient FEC packets to enable recovery of up to five sequential lost packets. The ECC 36C now alters the FEC block size and generates a larger number of FEC packets from the media packets to enable recovery of up to ten sequential lost packets by the CPE 26 (step 510). The PG 24 sends the plurality of media packets to the CPE 26 using the new FEC block size and the increased number of FEC packets (step 512). This process may be repeated until the level of error control processing provided by the ECC 36C is sufficient to provide the appropriate media presentation quality at the CPE 26. Notably, the error control modifications did not involve any additional processing by upstream service nodes or any additional bandwidth of an upstream network segment 14 or 16. Also notably, problems in video transmission were automatically monitored and corrected without manual intervention by service provider personnel, thereby eliminating associated call center and truck-roll support costs.
According to one embodiment of the invention, a service node can implement a first FEC error correction process on a first network segment, and a second FEC error correction process on a second network segment without having to regenerate FEC packets received via the first network segment. The present invention enables a processing node to easily reduce bandwidth used for error correction processing without expending resources recalculating new FEC packets. The present invention uses a Pro-MPEG Forum Code of Practice (COP) #3 FEC process as described in Society of Motion Picture and Television Engineers (SMPTE) Standards SMPTE 2002-1 and SMPTE 2022-1, both of which are hereby incorporated herein in their entirety. Pro-MPEG FEC involves generating an FEC matrix having a number of columns, referred to as the “L” dimension of the matrix, and having a number of rows, referred to as the “D” dimension of the matrix. The dimensions of a FEC matrix will be described herein with reference first to the L dimension (number of columns) and then to the D dimension (number of rows). For example, an FEC matrix having five columns and ten rows will be referred to herein as a 10 (L)×5 (D) FEC matrix. Error correction is provided in the form of FEC packets that are derived based on the media packets in a particular row or column of the FEC matrix. FEC packets that are generated to correct packet loss associated with a particular row will be referred to herein as row FEC packets. FEC packets that are generated to correct packet loss associated with a particular column will be referred to herein as column FEC packets. A relatively high amount of error correction may be provided by generating both row and column FEC packets. A lesser amount of error correction may be provided by generating only column FEC packets. As is understood by those skilled in the art, the size of an FEC matrix, and the use of row and column FEC packets, is a tradeoff between an amount of error correction desired versus an amount of bandwidth utilized. A higher ratio of FEC packets to media packets increases possible error correction, but similarly increases the bandwidth required to communicate the media packets and FEC packets. The phrase “FEC matrix” will be used herein to refer to a respective matrix of media packets. The phrase “FEC block” will be used herein to refer to both a respective FEC matrix and the FEC packets that are generated based on the FEC matrix.
Events that result in lost packets, such as a cable cut on a core network segment 14 or an impulse noise on an access network segment 16, typically result in a series of sequential packets being lost, rather than a plurality of random packets throughout an FEC block of packets. If only column FEC packets are generated for error correction, a number equal to L lost sequential packets may be recovered from an FEC block, assuming that the lost sequential packets are the only lost packets in the FEC block. If both row and column FEC packets are generated for error correction, a number equal to L+1 lost sequential packets may be recovered from an FEC block, again assuming that those packets are the only lost packets in the FEC block.
The present invention interleaves transmission of an FEC block of media packets and FEC packets in a manner that increases the number of sequential packets that may be recovered without the need to generate additional FEC packets. The present invention also enables reuse of a proper subset of the FEC packets for subsequent error correction on a second network segment without the need to regenerate FEC packets even though the FEC block size is changed.
In a conventional FEC block 50, the 16 FEC packets 54 are sufficient to correct a sequential packet loss of six media packets 52 (L (5)+1). Note that in
The rightmost number in each packet 52, 54 represents an interleaved packet transmission order according to one embodiment of the invention. By interleaving the packets 52, 54 prior to transmission over a network segment, the present invention increases the number of sequential media packets 52 that may be recovered from L+1=6 sequential packets to L+D+1=16 sequential packets. Notably, in the FEC block 50 shown in
After receipt of the interleaved packets 52, 54 by a downstream service node such as the MSO 20, the MSO 20 arranges the interleaved packets 52, 54 in sequential order as represented by the leftmost number associated with each packet 52, 54 in
Lost packets 35 and 12 can next be recovered as the only packets that do not exist in the respective columns 56E and 56F, since packets 5 and 42 were recovered previously. Lost packet 34 can then be recovered as the only packet that does not exist in row 58F, since lost packet 35 was previously recovered. Lost packet 26 can then be recovered since lost packet 26 will be the only packet that does not exist in column 56D after lost packet 34 is recovered. Lost packets 27, 21, 20, 14, 13, and 7 are recovered in similar manner.
With reference to
With reference to
Those skilled in the art will recognize improvements and modifications to the preferred embodiments of the present invention. All such improvements and modifications are considered within the scope of the concepts disclosed herein and the claims that follow.
This application claims the benefit of U.S. provisional patent application Ser. No. 61/083,710 filed Jul. 25, 2008, the disclosure of which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
61083710 | Jul 2008 | US |