US008321887B2

(12) United States Patent (10) Patent N0.: US 8,321,887 B2

DuBose 45 Date of Patent: Nov. 27 a 2012

(54) DISPLAYING ENHANCED 2004/0045022 A1 3/2004 Riedl 22224832222 :1 24522: 2112i. .1 ACROSS SUBSTANTIALLY ALL CHANNELS 2004/0163101 A1 8/2004 SWiX et a1‘ ' 2004/0244058 A1 12/2004 Carlucci et al. (75) Inventor: Kreig DuBose, Wheat Ridge, CO (US) 2005/0015816 A1 1/2005 Christofalo et al. 2005/0018691 A1 1/2005 Riedl et a1. (73) Assignee: Time Warner Cable Inc., NeW York, (Continued) NY (U S) OTHER PUBLICATIONS ( ) Nonce' SubJeCt. to any dlsclalmer’. the term Ofthls Society of Cable Communications Engineers, Engineering Commit patent is extended or adjusted under 35 ...... U S C 154(1)) by 6 5 4 days tee, Digital Video Subcommittee, American National Standard, ' ' ' ' ANSI/SCTE 35 2004, Digital Program Insertion Cueing Message for (21) Appl. No.: 12/267,685 Cable’ PP' 1'”

_ (Continued) (22) Filed: Nov. 10, 2008 _ _ _ Primary Examiner * Bennett Ingvoldstad (65) Pnor Pubhcatlon Data (74) Attorney, Agent, or Firm * Otterstedt, Ellenbogen & US 2010/0122282 A1 May 13, 2010 Kammer, LLP (51) Int. Cl. (57) ABSTRACT H04N 7/10 (200601) A video content netWork having a plurality of program chan H04N 7/025 (2006-01) nels is operated, and a target time slot for an enhanced adver H04N 7/16 (2006-01) tisement is identi?ed. At least some of the plurality of pro (52) US. Cl...... 725/32; 725/144 gram Channels have programs Scheduled during the target (58) Fleld 0f Classi?cation Search ...... 725/32i36 time slot, The target time slot is signaled to a plurality of See applieatiOn ?le for Complete Search history. terminals connected to the video content network. Each of the terminals is vieWing a given one of the program channels (56) References Clted prior to the signaling. Responsive to the signaling, the pro grams scheduled during the target time slot are effectively U-S~ PATENT DOCUMENTS paused at a program time corresponding to a beginning of the 5,805,974 A * 9/1998 Hite et a1...... 725/69 time slot, and the enhanced advertisement is caused to be $1 : ilk/1t: et 211p ~~ displayed on the terminals. Responsive to an end of the

7,073,189 B2 >l< 7/2006 McElhattenetiain et 31‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘I,’ target time slot are resumed at the program time correspond 7,l74,l26 B2 2/2007 McElhatten et al. ing to the beginning of the time slot. Thus, substantially all 2002/0056121 A1* 5/ 2002 Ledbettef ~~~~~~~~~~~~~~~~~~~~~~ ~~ 725/37 vieWers of the video content network during the target time 2002/0087972 A1 7/2002 Cragun et 31' slot are exposed to the enhanced advertisement regardless of 2003/0056217 A1 3/2003 Brooks h. . . 2003 mos 4 4 41 Al 5/2003 Hunt W lClIOf the plurality of program channels the vieWers Were 2003/0208763 A1 11/2003 McElhatten et al. Watchmg (11111118 the target “me 510t 2003/0208767 A1 11/2003 Williamson et a1. 2004/0015999 A1 l/2004 Carlucci et al. 19 Claims, 10 Drawing Sheets

ADVERTISEMENT (mam cu: TON[(S))

msruv nmmczn ADVERUSEMENT moss SUBSTANTIALLY ALL CHANNELS

RESUME SCHEDULED PROGRAMMING rnou PAUSE POINT

(mm; 1216 US 8,321,887 B2 Page 2

US. PATENT DOCUMENTS Tim Arango, Cable Firms Join Forces to Attract Focused Ads, New 2005/0034171 A1 2/2005 Benya York Times, http://www.nytimes.com/2008/03/10/business/media/ 2005/0039205 A1 2/2005 Riedl 10cable.html, Mar. 10, 2008, pp. 1-8. 2005/0060229 A1 3/2005 Riedl et al. Society of Cable Communications Engineers, Engineering Commit 2005/0060742 A1 3/2005 Riedl et al. tee, Digital Video Subcommittee, American National Standard, 2005/0060745 A1 3/2005 Riedl et al. ANSI/SCTE 104 2004, Automation System to Compression System 2005/0078840 A1 4/2005 Riedl Communications Applications Program Interface (API), pp. 1-137. 2005/0183111 A1 8/2005 Cragun et a1. 2005/0235330 A1 10/2005 O’Donnell et al. Digital Program InsertioniProject Primer, Apr. 21, 2005, pp. 1-3, 2005/0278761 A1 12/2005 Gonder et al. Cablelabs, Louisville, Colorado, USA, www.cablelabs.com/ 2005/0289588 A1 12/2005 Kinnear proj ects/ dpi/ primer. 2006/0090186 A1 4/2006 Santangelo et a1. OpenCable Speci?cations Enhanced TV Application Messaging Pro 2006/0130107 A1 6/2006 Gonder et al. tocol 1.0; OC-SP-ETV-AM10-102-050727-plus-ECNs; copyright 2006/0218604 A1 9/2006 Riedl et al. 2004-2005 Laboratories Inc. 2006/0280437 A1 12/2006 Logan et a1. OpenCable Guidelines “Enhanced TV Operational Guidelines; 2007/ 0094689 A1 4/ 2007 McElhatten et al. OC-GL-ETV-OG-V01-060714”; copyright 2006 Cable Television 2007/0130595 A1 6/2007 McElhatten et al. 2007/0204292 A1 8/2007 Riedl et al. Laboratories, Inc. 2007/0245388 A1 10/2007 Shen OpenCable Guidelines “Enhanced TV User Interface Guidelines; 2007/0245391 A1 10/2007 Pont OC-GL-ETV-UIG-V02-060418”; copyright 2005-2006 Cable Tele 2007/0250887 A1* 10/2007 Ting ...... 725/110 vision Laboratories, Inc. 2008/0060002 A1* 3/2008 Noll et al. 725/35 OpenCable Speci?cations “Enhanced TV Binary Interchange For 2008/0060035 A1* 3/2008 Tsang et al...... 725/109 mat 1 0; OC-SP-ETV-BIFl 0-104-070921”; copyright 2005-2007 2008/0172690 A1* 7/2008 Kanojia et al...... 725/36 Cable Television Laboratories, Inc. 2009/0249390 A1* 10/2009 Corvin ...... 725/32 Wikipedia, “Enhanced TV Binary Interchange Format”, http://en. wikipedia.org/wiki/EnhancediTViBinaryiInterchangeiFormat. OTHER PUBLICATIONS Wikipedia, “Enhanced Television”, http://eniwikipedia.org/wiki/ Digital Program Insertion Taps New Advertising Revenue, C-COR, EnhancediTelevision. State College, PA, 2005, pp. 1-2. OpenCable ETV, CableLabs, “Enhanced Television (ETV) Over Balabanian et al., An Introduction to Digital Storage Media4Com view”, http://www.opencable.com/etv/etvioverviewhtml. mand and Control (DSM-CC), 1996 Institute of Electrical and Elec Oracle Video Streaming, http://system.vccs.edu/its/projects/oracle/ tronics Engineers, pp. 1-14. project/OVSModelhtm. Wayne Sheldrick et al., Business Models: Digital program insertion, Gotuit Powervideo Suite Product Pro?le, CrunchBase, http://www. Broadcast Engineering, Jul. 1, 2002, pp. 1-4. crunchbase.com/product/gotuit-powervideo-suite (1 of 2), May 12, Mega HertziProvider of “Multi-Vendor System Solutions” TM, 2008. (MVSS), 2008, pp. 1-3, Mega Hertz Company, Greenwood, CO, Navic Networks: Technology, Admira Optimized Media, http:// USA. www.navic.tv/technology/indexphp. StreamBridgeTM CR30 DPI, Digital Cue Tone Translation and Gold Pocket Interactive Creates Broadband ITV Experience for Insertion System, triveni Digital, Princeton, New Jersey, USA, pp. TBS’s New Comedy Series “Daisy Does America”, http://www. 1-4. tandbergtv.com/newsviewiink?newsid:263; May 12, 2008. Society of Cable Engineers, Engineering Com Welcome to OpenTV; http://www.opentv.com/solutions/ondemand. mittee, Digital Video Subcommittee, American National Standard, htm; May 12,2008. ANSI/SCTE 35 2007, Digital Program Insertion Cueing Message for Welcome to OpenTV; OpenTV Participate Demo, http://www. Cable, pp. 1-42. opentv.com/products/participate.htm; May 12, 2008. Michael Acer, Digital Program Insertion, Communications Technol CableLabs Video-on-Demand Content 1.0 Speci?cation; MD-SP ogy, Sep. 1, 2007, pp. 1-4. VOD-CONTENTl .0-C01-041210. SCTE Announces New DPI Standardization Projects, NewsiSoci ety of Cable Telecommunications Engineers, Aug. 9, 2004, pp. 1-2. * cited by examiner

US. Patent Nov. 27, 2012 Sheet 2 0f 10 US 8,321,887 B2

FIG. 2

TV PROGRAM 201

231 233 235

TIME 7:00 pm 237 7:30 pm 221 227

FIG. 3 500

/ 30s / 306 f 509 DESTINATION REQUEST DATA ORIGINATION US. Patent Nov. 27, 2012 Sheet 3 0f 10 US 8,321,887 B2

FIG. 4

READ RECEIVED REQUEST TO LEARN TSIDs, IDENTITY OF REQUESTED PROGRAM $403 MATERIAL, AND ORIGINATION ADDRESS

SELECT TRANSPORT STREAM AMONG THOSE IDENTIFIED BY RECEIVED TSIDs

IDENTIFY CARRIER CARRYING SELECTED TRANSPORT STREAM

DETERMINE PROGRAM ID IDENTIFYING PROGRAM STREAM REPRESENTING $409 REQUESTED PROGRAM MATERIAL

COMMUNICATE TO MEDIA PROCESSOR FIRST MESSAGE

SEND SECOND MESSAGE RESPONSIVE TO w 415 RECEIVED REQUEST TO SET-TOP TERMINAL US. Patent Nov. 27, 2012 Sheet 4 0f 10 US 8,321,887 B2 FIG. 6

READ RECEIVED PAUSE MESSAGE I CAUSE CURRENT TRANSMISSION OF PROGRAM MATERIAL TO SET-TOP TERMINAL TO BE HALTED I RETRIEVE RECORD ASSOCIATED WITH TERMINAL I NOTE IN RECORD THAT TRANSMISSION OF PROGRAM MATERIAL TO TERMINAL HAS BEEN HALTED

FIG. 7

READ RECEIVED REWIND MESSAGE I RETRIEVE RECORD ASSOCIATED WITH SET-TOP TERMINAL I RETRIEVE REWIND TRICK FILE ASSOCIATED WITH PROGRAM I IDENTIFY l-FRAME IN REWIND TRICK FILE I READ ARRAY OF IDENTIFIERS OF I-FRAMES IN REWIND TRICK FILE STARTING FROM THAT OF IDENTIFIED I-FRAME I CAUSE PROGRAM MATERIAL, CORRESPONDING TO I-FRAME IDENTIFIERS AS READ, TO BE RETRIEVED, AND TO BE TRANSMITTED IN TRANSPORT STREAM TO TERMINAL US. Patent Nov. 27, 2012 Sheet 5 0f 10 US 8,321,887 B2 FIG. 8

READ RECEIVED 1* 803 FAST-FORWARD MESSAGE I RETRIEVE RECORD ASSOCIATED ~A306 WITH SET-TOP TERMINAL 1 RETRIEVE FAST-FORWARD TRICK I 809 FILE ASSOCIATED WITH PROGRAM 1 IDENTIFY I-FRAME IN I812 FAST-FORWARD TRICK FILE 1 READ ARRAY OF IDENTIFIERS OF I-FRAMES IN FAST-FORWARD TRICK FILE STARTING I815 FROM THAT OF IDENTIFIED I-FRAME I CAUSE PROGRAM MATERIAL, CORRESPONDING TO I-FRAME IDENTIFIERS AS READ, TO BE I818 RETRIEVED, AND TO BE TRANSMlTIED IN TRANSPORT STREAM TO TERMINAL US. Patent Nov. 27, 2012 Sheet 6 0f 10 US 8,321,887 B2

FIG. 9

900 w SET-TOP TERMINAL

921 w INTERFACE

905v‘ PROCESSING UNIT

910v‘ MEMORY WATCH TV APPLICATION

SAM ~/~ 907

NPVR TV APPLICATION

FIG. 10

1 000 A f \ __ f1008 [1006 [1004 [1002 __ BUSINESS TIME TO MESSAGE PIC RULES EVENT TYPE US. Patent Nov. 27, 2012 Sheet 7 0f 10 US 8,321,887 B2

FIG. 1 1

1102-1 1102-2 I 102-n 8 8 BEFORE TIME SERVICE 1 SERVICE 2 SERVICE n SHIFTING f 1104 00000000 DESIRED ROADBLOCK :0:0:0‘0:0:0:0:0‘0.0.0 0.0.0.0’ >1106

AFTER TIME HE: SHIFTING SERVICE 1 SERVICE 2 SERVICE n

f 1104 DESIRED ROADBLOCK >1108 1112/

PROGRAMMING

SHIFTED PROGRAMMING

R 0 A D B L 0 C K 0 R 15 U P E R S u c E US. Patent Nov. 27, 2012 Sheet 8 0f 10 US 8,321,887 B2

FIG. 12

( START }»1202

IT OPERATE VIDEO CONTENT NETWORK r1204

IDENTIFY TIME SLOT FOR ENHANCED ADVERTISEMENT (INSERT CUE TONE(S))

OFFER SLOT TO ADVERTISER(S) w 1208

IF WORK WITH OTHER MSO(S) w 1209

IF LOCALLY STORE CONTENT 1* 1210

IF SIGNAL SLOT TO TERMINALS $1211

PAUSE SCHEDULED PROGRAMMING ~/~1212

DISPLAY ENHANCED ADVERTISEMENT ACROSS SUBSTANTIALLY ALL CHANNELS

RESUME SCHEDULED PROGRAMMING FROM PAUSE POINT

( CONTINUE P‘ 1218 US. Patent Nov. 27, 2012 Sheet 9 0f 10 US 8,321,887 B2

TO/FROM NETWORK US. Patent Nov. 27, 2012 Sheet 10 0f 10 US 8,321,887 B2

FIG. 14

START 1402

V

IN mcomuc\QM "0 STREAM 9

COINCIDENT No YES / 1416 WITH SUPERSLICE INSERT TONE ?

REMOVE US 8,321,887 B2 1 2 DISPLAYING ENHANCED plex of audio and video PESs, but also other data such as ADVERTISEMENTS SIMULTANEOUSLY MPEG-2 program speci?c information (sometimes referred ACROSS SUBSTANTIALLY ALL CHANNELS to as metadata) describing the transport stream. The MPEG-2 metadata may include a program associated table (PAT) that FIELD OF THE INVENTION lists every program in the transport stream. Each entry in the PAT points to an individual program map table (PMT) that The present invention relates generally to communications lists the elementary streams making up each program. Some systems and methods, and, more particularly, to video content programs are open, but some programs may be subject to netWorks. conditional access (encryption) and this information is also carried in the MPEG-2 transport stream, possibly as meta BACKGROUND OF THE INVENTION data. The aforementioned ?xed-siZe data packets in a transport With the advent of digital communications technology, stream each carry a packet identi?er (PID) code. Packets in many TV program streams are transmitted in digital formats. the same elementary streams all have the same PID, so that a For example, Digital Satellite System (DSS), Digital Broad decoder can select the elementary stream(s) it needs and cast Services (DBS), and Advanced Television Standards reject the remainder. Packet-continuity counters may be Committee (ATSC) program streams are digitally formatted implemented to ensure that every packet that is needed to pursuant to the Well knoWn Moving Pictures Experts Group 2 decode a stream is received. (MPEG-2) standard. The MPEG-2 standard speci?es the Use of digital video recorders (DVRs), also knoWn as per methodologies for video and audio data compression Which 20 sonal video recorders (PVRs), such as the TiVo® device alloW multiple programs, With different video and audio (registered mark of TiVo Brands LLC, Alviso, Calif.) and the feeds, multiplexed in a transport stream traversing a single R Replay TV® device (registered mark of Digital NetWorks transmission channel. A digital TV receiver may be used to North America Inc., Pine Brook, N.J.), is ubiquitous. Such decode an MPEG-2 encoded transport stream, and extract the devices may provide some bene?ts to TV vieWers. For desired program therefrom. 25 example, a prior art DVR alloWs a user to record his or her In accordance With the MPEG-2 standard, video data may favorite TV programs for later revieW, and to exercise a sea be compressed based on a sequence of groups of pictures son-pass-like option Wherein every episode of his or her (GOPs), made up of three types of picture frames-intra-coded favorite program is recorded for some period. Such devices picture frames (“I-frames”), forWard predictive frames (“P may automatically record programs for the user based on his frames”) and bilinear frames (“B-frames”). Each GOP may, 30 or her vieWing habits and preferences. The presentation of the for example, begin With an I-frame Which is obtained by recorded programming content can be manipulated by exer spatially compressing a complete picture using discrete cising reWind, pause, skip and/or fast-forward functions cosine transform (DCT). As a result, if an error or a channel (hereinafter referred to as “trick mode” functions) furnished sWitch occurs, it is possible to resume correct decoding at the by the DVR. next I-frame. 35 A “netWork PVR (NPVR)” (also referred to as an NDVR The GOP may represent additional frames by providing a (N etWork )) service alloWs the user to much smaller block of digital data that indicates hoW small perform the analogous DVR functions through use of a net portions of the I-frame, referred to as macroblocks, move over Work, rather than via a local DVR at the user premises. Unlike time. a DVR device, the NPVR service alloWs a user to “reserve” An I-frame is typically folloWed by multiple P- and 40 past and future programs for his or her revieW, even if such B-frames in a GOP. Thus, for example, a P-frame occurs more reserved programs Were not identi?ed by the user before their frequently than an I-frame by a ratio of about 3 to l .A P-frame broadcast. Note that an NDVR can be distinguished from a is forWard predictive and is encoded from the I- or P-frame DVR in that the latter, storage of programs and the like is local that precedes it. A P-frame contains the difference betWeen a to the DVR, While in the former (NDVR) case, such storage is current frame and the previous 1- or P-frame. 45 at the server or head end level. Examples of such techniques A B-frame compares both the preceding and subsequent I are set forth in US Patent Publications 2003/ 0208767 of Wil or P-frame data. The B-frame contains the average of match liamson et al., 2005/0034171 ofBenya, and 2006/0090186 of ing macroblocks or motion vectors. Because a B-frame is Santangelo et al., the complete disclosures of all three of encoded based upon both preceding and subsequent frame Which are expressly incorporated herein by reference in their data, it effectively stores motion information. 50 entirety for all purposes. Thus, MPEG-2 achieves its compression by assuming that US Patent Application Publication 2004/0015999 of Car only small portions of an image change over time, making the lucci et al. entitled “Program Storage, Retrieval, and Man representation of these additional frames extremely compact. agement Based on Segmentation Messages, discloses seg Although GOPs have no relationship betWeen themselves, mentation messages indicative of locations of upcoming the frames Within a GOP have a speci?c relationship Which 55 events, such as the start and end of programs and program builds off the initial I-frame. portions, and/or rights related to the programs and program The compressed video and audio data are carried by con portions, Which are used by cable systems and the like to store tinuous elementary streams, respectively, Which are broken programs and program portions for later retrieval and trans into access units or packets, resulting in packetiZed elemen mission to customers on request. Storage, retrieval and man tary streams (PESs). These packets are identi?ed by headers 60 agement of programming are thereby facilitated. The com that contain time stamps for synchronizing, and are used to plete disclosure of US Patent Application Publication 2004/ form MPEG-2 transport streams. For digital broadcasting, 0015999 of Carlucci et al. is expressly incorporated herein by multiple programs and their associated PESs are multiplexed reference in its entirety for all purposes. into a single transport stream. A transport stream has PES US Patent Application Publication 2004/0244058 of Car packets further subdivided into short ?xed-siZe data packets, 65 lucci et al. entitled “Programming content processing and in Which multiple programs encoded With different clocks management system and method,” discloses a technique to can be carried. A transport stream not only includes a multi effectively receive streaming multimedia content in digital US 8,32l,887 B2 3 4 form, parse and segment the received transport stream and description of illustrative embodiments thereof, Which is to process the segmented content. Such treatment of received be read in connection With the accompanying draWings. programming content provides for e?icient storage of such programming content, and effectively provides for access to BRIEF DESCRIPTION OF THE DRAWINGS such content by administrators of a broadband system as Well as users of such systems. The complete disclosure of US FIG. 1 is a block diagram of a broadband communications Patent Application Publication 2004/0244058 of Carlucci et system in accordance With an aspect of the invention; al. is expressly incorporated herein by reference in its entirety FIG. 2 illustrates a TV program comprising multiple pro for all purposes. gram segments Which is provided in the system of FIG. 1; FIG. 3 illustrates a request for program material from a SUMMARY OF THE INVENTION set-top terminal in the system of FIG. 1; FIG. 4 is a How chart depicting a process for providing Principles of the present invention provide techniques for program material in response to the request of FIG. 3; enhanced advertising in a video content netWork. In one FIG. 5 illustrates selected carriers for transmitting program aspect, an exemplary method includes the steps of operating materials in a forWard passband of the system of FIG. 1; FIG. 6 is a How chart depicting a process for pausing a a video content netWork having a plurality of program chan program in response to a pause message from a set-top ter nels, and identifying a target time slot for an enhanced adver minal; tisement. At least some of the plurality of program channels FIG. 7 is a How chart depicting a process for reWinding a have programs scheduled during the target time slot. Also 20 program in response to a reWind message from a set-top included is signaling the target time slot to a plurality of terminal; terminals connected to the video content netWork. Each of the FIG. 8 is a How chart depicting a process for fast-forWard terminals is vieWing a given one of the program channels ing a program in response to a fast-forward message from a prior to the signaling. Responsive to the signaling, the pro set-top terminal; grams scheduled during the target time slot are effectively 25 FIG. 9 is a block diagram of a set-top terminal; paused at a program time corresponding to a beginning of the FIG. 10 is an example of a segmentation message in a time slot, and the enhanced advertisement is caused to be program stream, according to another aspect of the invention; displayed on the terminals. Responsive to an end of the FIG. 11 depicts a plurality of services provided With an enhanced advertisement, the programs scheduled during the enhanced advertisement, according to yet another aspect of target time slot are resumed at the program time correspond 30 the invention; ing to the beginning of the time slot. Thus, substantially all FIG. 12 depicts a How chart of exemplary method steps, vieWers of the video content netWork during the target time according to still another aspect of the invention; slot are exposed to the enhanced advertisement regardless of FIG. 13 is a block diagram of a computer system useful in Which of the plurality of program channels the vieWers Were connection With one or more aspects of the invention; and Watching during the target time slot. 35 FIG. 14 shoWs a How chart of exemplary method steps, As used herein, “facilitating” an action includes perform according to a further aspect of the invention. ing the action, making the action easier, helping to carry the DETAILED DESCRIPTION OF PREFERRED action out, or causing the action to be performed. Thus, by EMBODIMENTS Way of example and not limitation, instructions executing on 40 one processor might facilitate an action carried out by instruc Aspects of the invention are directed to delivering pro tions executing on a remote processor, by sending appropriate gramming content and advertising to users through a broad data or commands to cause or aid the action to be performed. band communications netWork, e.g., a cable TV netWork. An exemplary embodiment of an apparatus or system, Some or all programs or program channels may be afforded a according to still another aspect of the invention, can include 45 netWork personal video recorder (NPVR) service to enhance a memory and at least one processor coupled to the memory. a user’s enjoyment of programming content. In accordance The processor can be operative to facilitate performance of With the NPVR service, broadcast programs (or at least those one or more of the method steps described herein. Non broadcast programs afforded the NPVR service) are recorded limiting examples of processors are those in an origination at a head end of a cable netWork When they are delivered to a system, a head end of a video content netWork (such as, by 50 user at a set-top terminal. Thus, the user not only may Way of example and not limitation, in an acquisition and “reserve” for revieW a future program and a previously broad staging processor and/or video server thereof), a digital set cast program, but also restart an in-progress program since it top terminal, and the like. In a further aspect, an apparatus or has been recorded at the head end regardless of any user system can include means for performing the various method request. That is, the NPVR service obviates the need of a steps. The means can include one or more hardWare modules, 55 proactive effort otherWise required of a typical DVR user, one or more softWare modules, or a mixture of one or more Which includes deciding and actively electing in advance softWare modules and one or more hardWare modules. What shoWs to record. In addition, the NPVR service fur One or more method steps of the present invention can be nishes trick mode functions (e.g., reWind, pause and fast implemented in the form of an article of manufacture includ forWard functions) for manipulating a presentation of ing a machine readable medium that contains one or more 60 recorded programming content. programs Which When executed implement such step(s). Optionally, some instances of the invention can be imple Techniques of the present invention can provide substantial mented Within the context of an improved NPVR service, bene?cial technical effects. For example, one or more Wherein some or all programs afforded an NPVR service or embodiments have the advantage of affording digital pro on an NPVR enabled channel, especially those shoWn during gram insertion across multiple operators. 65 the TV prime time, may not be afforded all of the NPVR These and other features and advantages of the present service features. For example, a user may not be able to invention Will become apparent from the folloWing detailed fast-forward one such program during its broadcast. In addi US 8,321,887 B2 5 6 tion, a user may not be able to use the aforementioned NPVR program streams representing individual programs are iden reservation capability to freely time-shift a broadcast pro ti?ed by respective program identi?cations (IDs) Within a gram for later vieWing, Without regard for its broadcast sched transport stream. It should be noted at this point that the term ule. Rather, in some cases, a “Prime Time On Demand “transmission channel” should not be confused With a “pro (PTOD)” service (hereinafter referred to as a PTOD program) gram channel.” A “transmission channel” signi?es a desig is partly subject to its broadcast schedule. In some cases, the nated frequency band through Which a transport stream is end time of a PTOD program may be restrictively extended transmitted. On the other hand, a “program channel” signi?es beyond its broadcast schedule. Again, the features described the source of the program material selected by a user to vieW. in this paragraph are entirely optional. For example, a user may select program channel 2 to vieW An exemplary implementation of an NPVR service, useful program material provided by CBS, program channel 23 to With one or more aspects of the invention, Will noW be vieW program material provided by HBO; program channel described. FIG. 1 illustrates broadband communications sys 32 to vieW program material provided by MTV, etc. tem 100 for providing the NPVR service. For example, sys In this illustrative embodiment, the transmission channels, tem 100 in this instance includes a cable system for delivering each carrying a transport stream, may be 6 MHZ bands popu information and entertainment programs to set-top terminals lating a forWard passband, e.g., 350-750 MHZ band, of a on the user premises.As shoWn in FIG. 1, system 100 includes coaxial cable, Which is allocated for doWnstream communi head end 105, hub 120, hybrid ?ber coax (HFC) cable net cation from head end 105 to a set-top terminal. Work 140 and different service area nodes including node A/S processor 109 may receive “assets” including pre 150, Which in this instance is connected to set-top terminals staged movie videos, neWs reports, sports events, etc. from 158-1 through 158-L in a neighborhood, Where L represents 20 content providers. HoWever, processor 109 may also create an integer. “as sets” in real time While processing received program mate Head end 105 receives programs and services from various rials Which are not pre-staged by the content providers. In providers and sources, e.g., analog and digital satellite general, an “asset” is a container for any object or set of sources, application servers, media servers, the Internet, etc. objects that may be desired to implement a service, including Analog and digital satellite sources typically provide the tra 25 video, audio, images, application executables, scripts, con ditional forms of television broadcast programs and informa ?guration ?les, text, fonts, and HTML pages (or pointers tion services. Application servers typically provide execut referencing their storage locations). In addition to the raW able code and data for application speci?c services such as content, metadata is also a part of an asset object that database services, netWork management services, transac describes characteristics of the asset. For example, asset tional electronic commerce services, system administration 30 metadata may describe attributes that are inherent in the con console services, application speci?c services (such as stock tent of the asset, such as the rating, format, duration, siZe, or ticker, sports ticker, Weather and interactive program guide encoding method. Values for asset metadata are determined at data), resource management service, connection manage the time the asset is created. ment services, subscriber cares services, billing services, An asset concerning a program may include trick ?les operation system services, and object management services. 35 associated With the program as Well. FIG. 2 illustrates TV Media servers provide time-critical media assets such as program 201 Which spans from 7:00 pm. to 7:30 pm. Pro MPEG-2 encoded video and audio, MPEG-2 encoded still gram 201 includes a shoW interrupted by commercials, Which images, bit-mapped graphic images, pulse-code modulation is typical. Thus, the program content in this instance consists (PCM), AC3, or other digital audio, three dimensional of shoW segments 231, 233 and 235, interleaved With com graphic objects, application programs, application data ?les, 40 mercial segments 221 and 227. The TV program streams etc. Although speci?c examples of programs and services received by processor 109 are pre-processed, e.g., by the Which may be provided by the aforementioned sources are providers, to include indicators, e.g., cue-tones, on Which given herein, other programs and services may also be pro processor 109 relies to identify the demarcations (or edges) of vided by these or other sources. different programs and program segments Within each pro Acquisition/ Staging (A/ S) processor 109 in head end 105 45 gram. Thus, in this instance before processor 109 processes processes program materials including, e.g., TV program the TV program stream containing TV program 201, a ?rst streams, from one or more of the aforementioned sources in cue-tone has been inserted at the beginning of segment 231, analog and digital forms.Analog TV program streams may be indicating the beginning of TV program 201; second cue formatted according to the National Television Standards tones have been inserted at the beginnings of segments 221 Committee (N TSC) or Phase Alternating Line (PAL) broad 50 and 227, indicating the beginnings of the respective commer cast standard. Digital TV streams may be formatted accord cial segments; third cue-tones have been inserted at the ends ing to the Digital Video Broadcasting (DVB), Society of of segments 221 and 227, indicating the ends of the respective Cable Telecommunications Engineers (SCTE), or Advanced commercial segments; and a fourth cue-tone has been Television Systems Committee (ATSC) standards. Processor inserted at the end of segment 235, indicating the end of TV 109 extracts program content in the analog and digital TV 55 program 201. Another set of cue-tones may be inserted to streams and reformats the content to form one or more delimit a “chapter” (denoted 237) Within a program. A chap MPEG-2 encoded transport streams. Such reformatting may ter is a self-contained subprogram, e. g., a skit, monolog, song even be applied to those received streams already in an performance, neWs report, Weather report, etc. Within a pro MPEG-2 format. This stems from the fact that the digital gram. With the cue-tones de?ning one such chapter, proces content in the received MPEG-2 streams are typically 60 sor 109 is capable of identifying the chapter and creating an encoded at a variable bit rate (V BR). To avoid data burstiness, asset concerning the same. processor 109 in a conventional manner re-encodes such digi For illustrative purposes, assume that TV program 201 in tal content at a constant bit rate (CBR) to form the aforemen this instance is an initial broadcast program. Processor 109 tioned transport streams. collects in a database (not shoWn) program guide data asso An MPEG-2 transport stream contains multiple program 65 ciated With different TV programs Which are not pre-staged streams With different video and audio feeds multiplexed for (including TV program 201 in this instance) from an appli transmission through the same transmission channel. The cation server, Which may be different from the sources of the US 8,321,887 B2 7 8 TV programs themselves. Each program When presented to Upstream data from a set-top terminal to netWork controller processor 109 is identi?ed by a program designation, Which 125 is communicated via a reverse passband, e.g., 5-40 MHZ may be used to locate the corresponding program guide data. band, of a coaxial cable. The reverse passband includes In particular, processor 109 While processing TV program reverse data channels (RDCs) having a 1 MHZ bandWidth in 201 may locate the corresponding program guide data to this instance, through Which quaternary phase shift keying create in real time the metadata ?le associated With TV pro (QPSK) signals containing upstream data are transmitted. It gram 201. The metadata ?le thus created includes such data as should be noted that the 1 MHZ bandWidth allocated for an the title, rating (e.g., G, PG-13, R, etc.), names of the pro RDC here is for illustrative purposes only. It Will be appreci ducer, director, and actors, duration of the program, program ated that a person skilled in the art may allocate other band type (e.g., situation comedy), etc. Widths therefor depending on the actual implementations. A Processor 109 may also create in real time trick ?les asso set-top terminal utiliZes an RDC for sending both application ciated With program 201 as part of the asset Which are used to data and control messages. For example, the Digital Audio perform trick mode functions (e.g., pausing, reWinding and Visual Council (DAVIC), a standard setting organiZation, has fast-forwarding) on program 201. One such trick ?le in this de?ned a contention-based access mechanism Whereby mul instance is a “fast-forward” trick ?le Which contains an array tiple set-top terminals share an RDC. This mechanism of identi?ers of I-frames in the program stream (MPEG-2 enables the set-top terminals to transmit upstream messages encoded as mentioned before) corresponding to program 201 Without a dedicated connection to a QPSK demodulator. The in a forWard direction. Another trick ?le is a “reWind” trick mechanism also provides equal access to the set-top terminals ?le Which contains an array of identi?ers of I-frames in the that share the RDC, and enables detection and recovery from program stream corresponding to program 201 in the reverse 20 reverse path collisions that occur When tWo or more of the direction. The I-frame identi?ers in the trick ?les are used as terminals transmit an upstream message simultaneously. As indices or markers for reWinding and fast-forwarding of pro also speci?ed by DAVIC, for communications purposes, the gram 201. It should be noted that not all of the I-frames set-top terminals and netWork controller 125 are identi?ed by associated With program 201 are selected for the trick ?les. the Internet protocol (IP) addresses assigned thereto. HoW Rather, the I-frames are selected periodically along the pro 25 ever, these IP addresses may be randomly assigned each time gram stream. Thus, the shorter the period is, the closer the When system 100 is recon?gured. As a result, the IP address of instants from Which program 201 can be reWound, and to a set-top terminal or controller 25 may change after a system Which program 201 can be fast-forwarded, thereby achieving recon?guration. Nevertheless, each set-top terminal and con ?ner adjustments. troller 25 is also assigned a media access control (MAC) It should be noted that Where program 201 is not an initial 30 address on a permanent basis, surviving any system recon broadcast program, Which may also be pre-staged, commer ?guration. cial segments 221 and 227 may not contain the commercials Downstream data from network controller 125 to a set-top originally provided by the program provider. Rather, program terminal is communicated via forWard data channels (FDCs). 201 may be repackaged With after-market commercials, These channels, often referred to as “out-of-band” channels, Which may be targeted to the user, and Which may even be 35 may occupy the 70-130 MHZ band of a coaxial cable. QPSK injected anyWhere in the program With no regard for original signals containing system messages to a set-top terminal are segments 221 and 227 in terms of their timing, duration, or transmitted through an FDC having a 1 MHZ bandWidth in quantity. In the event that program 201 is pre-staged, the this instance. It should be noted that the 1 MHZ bandWidth program content comes With the corresponding metadata ?le allocated for an FDC here is for illustrative purposes only. It and trick ?les associated With the program. Processor 109 40 Will be appreciated that a person skilled in the art may allocate stores the created or pre-staged asset including the metadata other bandWidths therefor depending on the actual implemen ?le and trick ?les associated With a program according to its tations. program designation in asset storage (not shoWn), Which may When a user at a set-top terminal, say, terminal 158-1, turns reside in library manager 113 described beloW. on the TV associated thereWith and selects a particular pro The transport streams generated by processor 109, Which 45 gram channel, say, program channel 2, or changes from contain live TV programs in this instance, are fed to cache another channel to channel 2, terminal 158-1 in a Well knoWn manager 111. The latter includes a cache memory (not manner scans for any transport streams transporting pro shoWn), e.g., a disk cache, having a memory capacity on the grams to the neighborhood. In system 100, each transport order of terabytes. Manager 111 copies the transport streams stream is identi?ed by a unique transport stream identi?cation onto the cache memory, and also forWards the same to library 50 (TSID). manager 113 for long-term storage. The latter includes library Continuing the above example, once the TSIDs of the storage having a memory capacity on the order of hundreds of transport streams are detected, terminal 158-1 sends through terabytes, much larger than that of the cache memory such QPSK modem pool 127 a request for program channel 2 that the cache memory stores the lastY hours ’ Worth of the TV material. FIG. 3 illustrates one such request (denoted 300) programs While the library storage stores the last Z hours’ 55 sent from a set-top terminal to netWork controller 125 via an Worth of the TV program, Where the value of Z is much RDC. As shoWn in FIG. 3, request 300 includes destination greater than that of Y. It su?ices to knoW for noW that use of ?eld 303 Which in this instance contains the IP address of the cache memory, Which affords faster access to its content netWork controller 125 for Which request 300 is destined; than the library storage, facilitates a speedy retrieval of a request data ?eld 306 Which contains data concerning the requested program in the event of a “cache hit,” i.e., the 60 detected TSIDs and the requested program channel material, requested program being Within the last Y hour broadcast. e.g., program channel 2 material in this instance; and origi OtherWise, a “cache miss” requires locating the requested nation ?eld 309 Which in this instance contains the IP (and/or program in the library storage, thereby incurring a delay in the MAC) address of terminal 158-1 from Which request 300 retrieval of the program. originates. NetWork controller 125 assigns resources for transporting 65 After receiving request 300, netWork controller 125 reads program materials to set-top terminals and communicates the received request to learn the TSIDs, the identity of the various data including system information With the terminals. requested program material, and the origination address US 8,321,887 B2 9 10 therein, as indicated at step 403 in FIG. 4. Network controller Based on the information in the second message, terminal 125 communicates With media processor 119 to determine 158-1 tunes to the carrier frequency CFl to receive the trans the capacity required for transmitting the requested program mitted transport stream, and extracts therefrom the desired material. Based on the required capacity, controller 125 at program stream, representing program channel 2 material in step 406 selects a transport stream among those identi?ed by this instance. In a Well knoWn manner, terminal 158-1 con the received TSIDs Which is suitable for transporting the verts the extracted program stream to appropriate signals for requested program material. Controller 125 at step 408 iden the associated TV to play program channel 2 material. ti?es the carrier carrying the selected transport stream. While the program channel 2 material is being played, Referring also to FIG. 1, modulator bank 123 in this terminal 158-1 continuously registers the last I-frame identi instance is located in hub 120 connected to head end 105 via ?er in the received transport stream. From time to time, ter minal 158-1 sends a “heartbeat” containing the IP (and/or IP transport on the one hand and to HFC cable netWork 140 on MAC) address identifying terminal 158-1 and the last I-frame the other hand. Bank 123 includes multiple modulators, each identi?er to media processor 119. Processor 119 keeps, for of Which is used to modulate transport streams onto different terminal 158-1, a record identi?ed by the IP (and/or MAC) carriers. Each modulated carrier carrying a transport stream is address of terminal 158-1, and tracks the program being transmitted through a transmission channel associated there transmitted to terminal 158-1 and its I-frame progress. When With. FIG. 5 illustrates M carriers, C 1 through C M, associated processor 119 no longer receives heartbeats from terminal With M transmission channels in the forWard passband. As 158-1, e.g., because of an off state of the terminal, processor shoWn in FIG. 5, the carrier frequency of C 1 is denoted CF 1; 119 may cause the transmission of the transport stream to the carrier frequency of C2 is denoted CF2; . . . ; and the carrier 20 terminal 158-1 to be halted. frequency of CM is denoted CF M. In this example, each pro When the user issues a pause command to terminal 158-1, gram stream may contain 4.2 Mb/ s video and audio program e.g., by pressing a “pause” key on a remote control associated data. By using a 256-quadrature-amplitude-modulation (256 thereWith to temporarily stop the progress of the program, QAM) technique and 6 MHZ transmission channel, each terminal 158-1 issues a pause message to media processor modulator in modulator bank 123 in this instance may modu 25 119 identi?ed by its IP address. The pause message in this late 9 or more program streams, multiplexed in a transport instance includes a pause initiation command, the last I-frame stream, onto the corresponding carrier. The resulting modu identi?er registered by terminal 158-1, and the IP and/or lated carrier is transmitted through the transmission channel MAC address of terminal 158-1. After issuing the pause mes associated With the carrier. sage, terminal 158-1 enters a pause state and causes the pic Network controller 125 may include therein a carrier 30 ture corresponding to the next I-frame, say l-framepause, to be assignment table Which lists, for each carrier, the TSID of the froZen on the TV screen, thereby achieving the pause effect. transport stream carried thereby. The carrier identi?cation by After receiving the pause message, processor 119 reads the netWork controller 125 at aforementioned step 408 may be received pause message, as indicated at step 603 in FIG. 6. achieved by looking up from the table the carrier associated Processor 119 at step 606 causes the current transmission of With the TSID of the selected transport stream. Based on the 35 the program material to set-top terminal 158-1 (identi?ed by requested program channel, netWork controller 125 at step the received IP and/or MAC address) to be halted at the 409 determines the program ID identifying the program I-frame immediately folloWing the last I-frame identi?ed in stream representing the requested program material, i.e., pro the received message. Processor 119 at step 609 retrieves the gram channel 2 material in this instance, Which is then mul record associated With terminal 158-1. Processor 119 at step tiplexed With other program streams in the selected transport 40 612 notes in the record that the transmission of the program stream. At step 412, netWork controller 125 communicates to material to terminal 158-1 has been halted at l-framepause. media processor 119 a ?rst message containing the identity of When the user issues a command to resume vieWing the the modulator in modulator bank 123 Which corresponds to program material, e.g., by toggling the pause key on the the carrier, say, C 1, just determined, and the program ID remote control, terminal 158-1 exits the pause state, sends a associated With the requested program channel material just 45 resumption message to processor 119, and readies itself to determined. NetWork controller 125 at step 415 sends, receive the program material starting from l-framepause. This through QPSK modem pool 127, a second message respon resumption message includes a resumption command, and sive to the received request to set-top terminal 158-1 identi the IP and/or MAC address of terminal 158-1. After reading ?ed by the origination IP (and/or MAC) address in ?eld 309 the received resumption message, processor 119 retrieves the of request 300. This second message traversing an FDC con 50 record associated With terminal 158-1 identi?ed by the tains the information concerning the carrier frequency, i.e., received IP and/or MAC address. In response to the resump CF 1 in this instance, to Which terminal 158-1 should tune to tion command, processor 119 causes the transmission of the receive the appropriate transport stream, and the program ID program material to terminal 158-1 to be restarted from for extracting the desired program stream, representing in this l-framepause, and notes in the record the transmission resump instance program channel 2 material, Within the transport 55 tion event. As a result, terminal 158-1 resumes receiving the stream. program material in the same program stream delivered In response to the ?rst message, processor 119 directs thereto before. It should be noted that use of a MAC address, cache manager 111 to deliver a copy of the program stream instead of an IP address, to identify terminal 158-1 may be representing the requested program channel material thereto advantageous here especially When the pause state is long, so and causes the program stream to be multiplexed With any 60 much so that a recon?guration of system 100 may have other program streams already in the transport stream identi occurred during such a state. In that case, the IP address ?ed by the selected TSID. In addition, processor 119 causes identifying terminal 158-1 before the system recon?guration sWitching unit 117 to sWitch the resulting transport stream to may be different than that after the recon?guration, and as a the modulator corresponding to the carrier C 1. Accordingly, result, by using only the pre-recon?guration IP address of the modulator modulates the carrier C 1 With the received 65 terminal 158-1 for its identi?cation, the resuming program transport stream, and causes transmission of the modulated stream Would not be delivered to the intended terminal 158-1 carrier through the transmission channel associated With CF 1. after the recon?guration. On the other hand, since the MAC US 8,321,887 B2 11 12 address of terminal 158-1 is immutable and survives any that of the identi?ed I-frame. Processor 119 at step 818 causes system recon?guration, by relying on the MAC address of the program material, corresponding to the I-frame identi?ers terminal 158-1 for its identi?cation here, the resuming pro as read, to be retrieved from cache manager 111, and to be gram stream Would be correctly delivered to terminal 158-1 transmitted in the transport stream to terminal 158-1, thereby even after a system recon?guration. achieving the desired fast-forWard effect. While vieWing a program, the user may issue a reWind When the user issues a command to stop fast-forwarding command, e.g., by pressing a reWind key on the remote con the program, e.g., by toggling the fast-forWard key on the trol, to reWind the program. In that case, terminal 158-1 issues remote control, terminal 158-1 sends a fast-forWard termina a reWind message to processor 119 identi?ed by its IP tion message to processor 119. This message includes a fast address. This reWind message includes a reWind initiation forWard termination command, and the IP address (and/or command, the last I-frame identi?er registered by terminal MAC address) of terminal 158-1. In response to the fast 158-1, and the IP address (and/or MAC address) identifying forWard termination command, processor 119 stops reading terminal 158-1. After receiving such a reWind message, pro the fast-forWard trick ?le associated With the program. Pro cessor 119 reads the received reWind message, as indicated at cessor 119 learns from the record associated With terminal step 703 in FIG. 7. Processor 119 at step 706 retrieves the 158-1 the last I-frame identi?er read from the fast-forWard record associated With set-top terminal 158-1 identi?ed by trick ?le. Processor 119 causes retrieval of the program mate the received IP address (and/ or MAC address). Knowing from rial at the normal forWard speed from cache manager 111 the record the identity of the program being transmitted, starting from the I-frame identi?ed by the last read identi?er, processor 119 at step 709 retrieves from the aforementioned and transmission of the retrieved program material to termi asset storage the reWind trick ?le associated With the pro 20 nal 158-1. As a result, terminal 158-1 resumes receiving the gram. Based on the last I-frame information in the received program material at the normal forWard speed in the same message, processor 119 at step 712 identi?es the I-frame in transport stream. the reWind trick ?le Which either matches or is the closest to In one or more instances, all or some of the programs that last I-frame. Processor 119 at step 715 reads the array of afforded the NPVR service may not be afforded the fast identi?ers of the I-frames in the reWind trick ?le starting from 25 forWard trick mode function to skip forWard the program that of the identi?ed I-frame. Processor 119 at step 718 causes material in its presentation. Furthermore, in at least some the program material, corresponding to the I-frame identi?ers cases, reWind functionality may also be omitted. as read, to be retrieved from cache manager 111, and to be It should also be pointed out at this juncture that in the transmitted in the transport stream to terminal 158-1, thereby above illustrative embodiment, the transport streams gener achieving the desired reWind effect. 30 ated by processor 109, Which contain, e.g., in-progress (or When the user issues a command to stop reWinding the live) TV broadcast, are recorded in cache manager 111, fol program, e.g., by toggling the reWind key on the remote loWed by library manager 113, before they are fed to the control, terminal 158-1 sends a reWind termination message requesting set-top terminals.As a result, the transport streams to processor 119. This message includes a reWind termination received by the terminals actually are recorded copies of the command, and the IP address (and/or MAC address) of ter 35 streams generated by processor 109. HoWever, in another minal 158-1. In response to the reWind termination command, embodiment, the transport streams generated by processor processor 119 stops reading the reWind trick ?le associated 109 are fed to the requesting set-top terminals in real time, and With the program. Processor 119 learns from the record asso at the same time sWitched to cache manager 111 and library ciated With terminal 158-1 the last I-frame identi?er read manager 113 for recording thereof. Thus, in this other from the reWind trick ?le. Processor 119 causes retrieval of 40 embodiment, When a user at a set-top terminal performs a the program material at the normal forWard speed from cache trick mode function on an in-progress TV broadcast program, manager 111 starting from the I-frame identi?ed by the last say, reWinding the program, the real-time transport stream read identi?er, and transmission of the retrieved program being received by the terminal is immediately replaced by a material to terminal 158-1. As a result, terminal 158-1 second transport stream containing a recorded copy of the TV resumes receiving the program material at the normal forWard 45 program, e.g., from cache manager 111. If after reWinding the speed in the same transport stream. program, the user invokes a fast-forWarding command to After reWinding a program, the user may issue a fast fast-forWard the recorded TV program, there may come a forWard command, e. g., by pressing a fast-forWard key on the point Where the recorded TV program catches up With the remote control, to fast-forWard the program. In that case, in-progress program. In that case, the second transport stream terminal 158-1 issues a fast-forWard message to processor 50 being received by the terminal may be replaced back by the 119 identi?ed by its IP address. This fast-forWard message real-time transport stream containing the in-progress pro includes a fast-forWard initiation command, the last I-frame gram. identi?er registered by terminal 158-1, and the IP address As mentioned before, selected program channels (or pro (and/or MAC address) identifying terminal 158-1. After grams) may be afforded the above-described NPVR service receiving such a fast-forWard message, processor 119 reads 55 While the rest of the program channels (or programs) may be the received fast-forWard message, as indicated at step 803 in afforded the traditional broadcast service (although this is FIG. 8. Processor 119 at step 806 retrieves the record associ entirely optional). A conventional “Watch TV” application ated With set-top terminal 158-1 identi?ed by the received IP (denoted 903 in FIG. 9) is installed in a set-top terminal address (and/or MAC address). Knowing from the record the (denoted 900) to service those program channels (or pro identity of the program being transmitted, processor 119 at 60 grams) afforded the traditional broadcast service. It should be step 809 retrieves from the aforementioned asset storage the noted that set-top terminal 900 here generically represents fast-forWard trick ?le associated With the program. Based on one of set-top terminals 158-1 through 158-L. Watch TV the last I-frame information in the received message, proces application 903, residing in memory 910, provides such Well sor 119 at step 812 identi?es the I-frame in the fast-forWard knoWn functions as channel navigation control, channel trick ?le Which either matches or is the closest to that last 65 selection in response to a channel change event, etc. A chan I-frame. Processor 119 at step 815 reads the array of identi nel change event occurs When a user at set-top terminal 900 ?ers of the I-frames in the fast-forWard trick ?le starting from issues a command to change from one program channel to US 8,321,887 B2 13 14 another. Such a command may be issued, say, using a remote programs, but does not require the user to denote such pro control (not shown), Which signal is receptive by set-top grams in advance as a favorite, or to otherWise proactively terminal 900. Memory 910 in this instance includes one or elect to reserve the program. more caches, disks, hard drives, NVRAMs, DRAMs, Flash Programs that are available through the Look Back feature ROMs, and/or ROMs. may be accessed by a listing that may be organiZed by chan For example, in memory 910, NVRAM may be used for nel, by reverse chronological order (or chronological order), storage of a user’ s settings and set-top terminal con?guration by theme (movies, sports, drama, etc.), by alphabetical order, settings, such as parental control codes, favorite channel line etc. The Look Back feature may be made available While a ups, set-top terminal setups, channel maps, authorization user is vieWing a program on an NPVR enabled channel. tables, and FDC address assignments. DRAM may be used Further details are provided in the aforementioned US Patent for most application and operating system storage require Publication 2005/0034171. ments, such as stacks, heaps, graphics, interactive program As also noted in the aforementioned US Patent Publication guide data, marketing data and usage data, and functions such 2005/0034171, in some cases all or some of the programs on as MPEG-2 video decompression, AC-3 audio decoding, and an NPVR enabled channel may be subject to the PTOD ser video manipulation. ROM may be used for storage of the vice. Such PTOD programs may be predetermined programs operating system. Flash ROM may be used for storage of in a prime time lineup, Which a user may not be alloWed to resident application softWare, as Well as patches of the oper time-shift for later vieWing otherWise alloWed by the above ating system and application software Which are doWnloaded described NPVR service Look Back feature. HoWever, even to set-top terminal 900 from head end 105 after set-top ter in such case, in accordance With some embodiments of the minal 900 has been deployed at the user’s premises. 20 invention, such PTOD programs do have a limited capability Processing unit 905 orchestrates the operations of set-top for at least a pause function to enable one or more advertising terminal 900. It executes instructions stored in memory 910 techniques as described beloW. HoWever, some programs under the control of the operating system. Service application may not be eligible for pause or the “super slice” or “road manager (SAM) 907 forms part of such an operating system block” enhanced advertisements. In another aspect, the of terminal 900. SAM 907 is responsible for monitoring 25 “super slice” or “roadblock” enhanced advertisements may channel change events; administering channel, service and be included as a so-called bumper ad or book-end, if such ad other tables in terminal 900; and maintaining a registry of airs Within the WindoW. A bumper ad or bookend is an ad that applications in terminal 900. One such application is afore occurs at the beginning or end of a program. By Way of mentioned Watch TV application 903 Which is invoked to clari?cation and provision of further detail, rights associated service a traditional broadcast channel (or program). Another 30 With a program may forbid the “super slice” approach. Nev application is “NPVR TV” application 912 Which is invoked ertheless, it may be possible, once such program is available to service NPVR enabled channels (or programs), and Which for “start-over” to include the super slice ad in the location may be doWnloaded from head end 105 to memory 910. Where it Would have aired had the rights permitted the super Application 912 responds to reWind, pause and fast-forWard slice upon original broadcast. commands initiated by a user, and communicates such com 35 In addition, in one or more embodiments of the invention, mands to head end 105 through interface 921 to perform the the transport streams are processed and stored in head end 1 05 trick mode (i.e., reWind, pause and fast-forWard) functions on based, at least in part, on segmentation messages, as programs in the manner described before, With exception to described further beloW and in a manner further described in selected programs Which are not afforded the fast-forWard the above-mentioned US Patent Application Publication trick mode capability (in some cases). In addition, for 40 2004/0015999 of Carlucci et al. example, application 912 not only alloWs a user to reserve It should be noted that some embodiments of the invention future broadcast programs for revieW, but also reserve, play or can be used in connection With sWitched video digital broad restart programming content that has broadcast, in accor casting. An example of such broadcasting is described in US dance With a “Look Back” feature. Patent Application Publication 2003/0056217 of Brooks, The Look Back feature enables a user to access program 45 entitled “Technique for effectively providing program mate ming content that has broadcast during a “Look Back rial in a cable television system,” the complete disclosure of Perio ”ii.e., up to a predeterminedperiod. The actual length Which is expressly incorporated herein by reference in its of the period is subject to the negotiated rights to the pro gram entirety for all purposes. ming content. Speci?cally, the Look Back feature enables a Aspects of the invention may make use of, for example, user to restart an NPVR program that is currently being 50 segmentation messages (digital cue tones) formatted in broadcast. The Look Back feature also enables a user to play accordance With, for example, the ANSI/SCTE 35 standard an NPVR program that Was previously broadcast Within the for Digital Program Insertion Cueing Message for Cable, Look Back Period (e.g., the previous tWo days). In addition, promulgated by the Society of Cable Telecommunications the Look Back feature enables a user to reserve an NPVR Engineers and the American National Standards Institute, and program in its entirety that is presently being broadcast or that 55 formerly knoWn as the DVS-253 (ANSI/SCTE 35 2001) cue Was previously broadcast Within the Look Back Period for ing standard. In at least some cases, these segmentation mes subsequent vieWing or archiving. sages may have business rules encoded Within. These types of Programs that are available through the Look Back feature business rules are described in detail in the aforementioned may be accessed for vieWing or reserving in several Ways. For US Patent Application Publication 2004/0244058. Such seg example, a Look Back menu may be accessed When vieWing 60 mentation messages or digital cue tones may be used to delin content on an NPVR enabled channel Which, in effect, gives eate programs, chapters, advertising slots (commercial seg that channel an on-demand-like feature. Thus, by accessing a ments), and so on, as described With regard to FIG. 2. The Look Back menu, the vieWer may be presented With a cat advertising slots may include national and local slots. Seg egorical listing of all programs that are available for either (1) mentation messages may be in the form of a packet delineated immediate vieWing, or (2) reservation for subsequent vieW 65 by a sync byte, Which is a byte that is unlikely to be replicated ing. Therefore, the Look Back feature provides a user With the in the program stream. Various ?elds may folloW the sync ability to play or reserve previously (or currently) broadcast byte, separated by commas. Segmentation messages may be US 8,321,887 B2 15 16 provided, for example, over a single channel for all programs a DOCSIS® (Data Over Cable Service Interface Speci? in a multiplex. The ANSI/SCTE 35 standard is hereby incor cation) netWork (registered mark of Cable Television Labo porated by reference in its entirety for all purposes. The ratories, Inc., 400 Centennial ParkWay Louisville Colo. segmentation messages may also have rights encoded therein 80027, USA). as set forth in described in detail in the aforementioned US It is Well knoWn that special events typically vieWed by Patent Application Publication 2004/0244058. In some very large audiences command high advertising fees. An instances, important events (e.g., the beloW-discussed example of this is the Super BoWl, Where a very large segment enhanced “super slice” or “roadblock” advertisements, may of the public Will all be Watching the same channel at the same be preceded by several digital cue tones to reduce the likeli time. Aspects of the invention provide techniques to re-create hood that such cue tones may be missed. Due consideration this kind of special advertising event using technology may be had for appropriate Society of Cable Television Engi instead of requiring advertisers to aWait a special event such neers (SCTE) and/or Institute of Electrical and Electronics as the Super BoWl. Advantageously, the above-described Engineers (IEEE)_speci?cations for MPEG and the like. Cur start-over technology alloWs the arti?cial creation of special rent cue tones used for digital program insertion (DPI) are advertising opportunities by time-shifting content. In one or adequate for purposes of one or more embodiments of the more embodiments, the start-over technology captures con invention. tent on the netWork and redelivers it at a future time in a Other segmentation messages that may be provided time- shifted manner. The special advertisements are referred include a table of all of the segmentation points in a program. to interchangeably herein as “super-slice” ads, “roadblock” A segmentation point is a place in a transport stream in Which ads, or “enhanced” ads. In this context, “enhanced” does not a content provider can insert a segmentation message. Tables 20 necessarily mean that the content of the ad is any different of particular types of segmentation messages or all of the than a conventional ad, but rather that the potential vieWing segmentation messages may also be embedded in a program audience is enhanced due to use of one or more techniques stream. For example, a table of each type of advertising (na herein. tional and local, for example) in a program may be provided. In a preferred but non-limiting embodiment, the MSO Additional information may be provided in the segmentation 25 oWns and/or operates a full service netWork With time-shift message to identify a commercial sponsor of respective ing technology, Which netWork includes set top terminals 158 advertising to assist the cable system in inserting appropriate or similar customer premises equipment (CPE). Terminals advertising. 158 may run digital home communication terminal (DHCT) By Way of revieW, so-called look back or start-over func client applications, such as, for example, Time Warner tionality alloWs subscribers to restart specially 30 Cable’s MYSTRO Digital navigator application; and/or enabled shoWs already in progress by using their cable remote applications conforming to the Open Cable Applications Plat controls. Like a full-fledged DVR or NDVR, the service also form (OCAP) speci?cation (a middleWare software layer lets vieWers pause and reWind shoWs in progress. HoWever, speci?cation), such as, for example, Time Warner Cable’s start-over functionality typically does not alloW for skipping OCAP Digital Navigator (ODN). The skilled artisan is famil through commercials or storing copies of recorded programs. 35 iar With the OCAP speci?cation, Which is intended to enable Such start-over functionality per se is knoWn to the skilled the developers of interactive television services and applica artisan from, for example, the aforementioned US Patent tions to design such products so that they Will run successfully Application Publications US2003/0208767 A1 of William on any cable television system in North America, indepen son et al. and US Patent Application Publication US2005/ dent of set-top or television receiver hardWare or operating 0034171 of Benya. 40 system softWare choices. One or more applications on termi FIG. 10 shoWs a generaliZed ANSI/SCTE 35 message nal 158 Work in conjunction With head end 150 to implement 1000, Which is representative of any of the segmentation enhanced advertising techniques described herein. In some messages discussed above. Segmentation message 114 embodiments, a suitable triggering mechanism is employed, includes PIC ?eld 1002 and time until event ?eld 1006. A a non-limiting example of Which is a traditional advertising message type ?eld 1004 may specify, for example, Whether 45 cue tone (or tones), as described herein. the message is for a “super slice” ad, or something else. A The digital program insertion techniques discussed else business rules ?eld 1008 may specify pertinent business Where herein, and described in greater detail in, for example, rules. US PatentApplication Publication 2004/0015999 of Carlucci Exemplary embodiments are described herein in the con et al., US Patent Application Publication 2004/0244058 of text of a cable company or cable multi-system operator 50 Carlucci et al., and US Patent Application Publication 2005/ (MSO) operating an HFC netWork and receiving program 0060745 of Riedl et al., control the timing of events. US ming from various sources. HoWever, in general terms, one or Patent Application Publication 2005/0060745 of Riedl et al. more of the folloWing types of content netWork are exemplary is expressly incorporated herein by reference in its entirety for of those that canbe used With one or more embodiments of the all purposes. A normal stream has cue tones that control invention: 55 Where ads can be injected into the stream. If it is desirable for an HFC or other cable television netWork (or other content the ad to be longer than the available ad space, the aforemen netWork, for example, a telecommunications company video tioned start-over technology can be employed. The program delivery netWork such as ?ber to the home (FTTH), ?ber to content can be shifted to alloW the ad to extend over the the curb (FTTC), a satellite netWork (using, for example, boundary. In instances Where the cue tone is not available, the DVB-S, the original Digital Video Broadcasting forWard 60 system could insert the cue tone ahead of time (if not in error coding and modulation standard for satellite television), violation of any rights) so as to create the so-called “super or digital subscriber line (DSL)), slice” ad segment across the entire platform. a Wireless netWork such as a cellular netWork, That is to say, if there is an existing ad slot at the location an 802.11 Wireless LAN, Where the “super slice” is desired, and the desired “super H.323 video conferencing over a packet netWork, 65 slice” does not exceed the length of the existing ad slot, then a Transmission Control Protocol/Intemet Protocol (TCP/ the aforementioned start-over technology may not be needed. IP) netWork, HoWever, if the “super slice” is longer than the length of the