EP1593264A2 - System and method for identification and insertion of advertising in broadcast programmes - Google Patents

System and method for identification and insertion of advertising in broadcast programmes

Info

Publication number
EP1593264A2
EP1593264A2 EP04708817A EP04708817A EP1593264A2 EP 1593264 A2 EP1593264 A2 EP 1593264A2 EP 04708817 A EP04708817 A EP 04708817A EP 04708817 A EP04708817 A EP 04708817A EP 1593264 A2 EP1593264 A2 EP 1593264A2
Authority
EP
European Patent Office
Prior art keywords
programme
advertisement
broadcast
subscriber
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
EP04708817A
Other languages
German (de)
French (fr)
Inventor
Brian Paxton
Dominic Andrew Robinson
Kevin Lewis
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
TISCALI UK LIMITED
Video Networks IP Holdings Ltd
Original Assignee
Video Networks IP Holdings Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from GBGB0303176.2A external-priority patent/GB0303176D0/en
Application filed by Video Networks IP Holdings Ltd filed Critical Video Networks IP Holdings Ltd
Publication of EP1593264A2 publication Critical patent/EP1593264A2/en
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2668Creating a channel for a dedicated end-user group, e.g. insertion of targeted commercials based on end-user profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/10Arrangements for replacing or switching information during the broadcast or the distribution
    • H04H20/103Transmitter-side switching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/35Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users
    • H04H60/37Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users for identifying segments of broadcast information, e.g. scenes or extracting programme ID
    • H04H60/375Commercial
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4348Demultiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/458Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
    • H04N21/4586Content update operation triggered locally, e.g. by comparing the version of software modules in a DVB carousel to the version stored locally
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/812Monomedia components thereof involving advertisement data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17345Control of the passage of the selected programme
    • H04N7/17354Control of the passage of the selected programme in an intermediate station common to a plurality of user terminals

Definitions

  • the present invention relates to the broadcast of programmes. More particularly, the present invention relates to systems, methods, computer program code, and means for the identification and insertion of advertising in broadcast programmes.
  • a television viewer can receive a television signal in many ways including: VHF/UHF antenna; cable; satellite receiver dish; and copper wire (telephone, power line).
  • the viewer can receive television content directly from content providers, for instance by receiving UHF television signals, or indirectly from a re-broadcaster, for instance from a cable service provider.
  • Re-broadcasters take the output of content providers and re-distribute it.
  • Advertisements are often scheduled to air at a particular time to coincide with the scheduled broadcasting of a particular main programme, for example sportsware being advertised during the broadcast televising of sporting events.
  • Broad regional variations can be reflected in the broadcast output of a single television channel by providing different sets of advertisements to respective television transmitters. These regional variations are somewhat limited in that each advertising slot has a predetermined duration. Advertisements can therefore be broadcast with reference to the context of a corresponding programme event, and to the demographics of the viewers served by any given transmitter, but with very little correlation to the personal context of any particular viewer.
  • VCR video cassette recorder
  • PVRs personal video recording devices
  • DVRs digital video recorders
  • 'Super-video' devices can provide personalized functionality by building up a profile of TV usage and attempting to record similar programs.
  • 'Super-video' devices are also known to provide a 'time-shift functionality, whereby the broadcast video stream is recorded at the same time as it is being played back, so that a video stream of the main programme being played back can be halted at any desired point and resumed later, even while later parts of the same main programme are being broadcast.
  • certain PVRs can be configured to allow viewers to fast forward through advertisements so that a main programme can be viewed without the intervening advertisements. While this 'super-video' functionality might be attractive to a viewer, it presents a challenge to broadcasters' advertising revenues. If every viewer used their 'super-video' device to playback the output of commercial television channels, it can be expected that a significant proportion of these viewers would opt never to watch the advertisements at all. Advertising through the television would be correspondingly less effective for advertisers, and advertisements would be placed elsewhere. Consequently, the broadcaster or re-broadcaster would accrue less profit as a result of advertising.
  • a broadcaster will offer to broadcast a restricted number of selected events (such as movies), at regular time intervals. Viewers may subscribe to receive a particular broadcast of the event. After subscription, the event will be broadcast directly to the viewer's set top box, using satellite or cable distribution methods, for example. The broadcast times of the events themselves cannot however be controlled by the viewer. Broadcasters often broadcast "view on demand” events without advertisements. Generally, "view on demand” events command a premium that compensates for any loss in advertising revenue.
  • a "client-side” device such as a VCR or a super-video device
  • a viewer with a client-side device can effectively make recordings of television programmes for personal use without infringing copyright.
  • Any broadcast service provider using a server-side device that provides a subscriber with the same faculty would breach copyright both by recording the broadcast programme and by re- broadcasting the same programme at a later time.
  • Broadcast service providers that wish to provide a time-shift functionality for their subscribers using server-side devices must therefore have a license from the content providers. Since advertising is an important source of revenue for the majority of content providers, it is likely that any potential reduction in advertising effectiveness will result in either a corresponding increase in license royalties or an outright refusal to license.
  • a broadcast method comprises the steps of: receiving a broadcast data stream; identifying an advertisement in said broadcast data stream; and updating an advertisement schedule including information identifying said advertisement and a location of said advertisement within a programme in said broadcast data stream.
  • a broadcast system comprises: means for receiving a broadcast data stream; means for identifying an advertisement in said broadcast data stream; and means for updating an advertisement schedule including information identifying said advertisement and a location of said advertisement within a programme in said broadcast data stream.
  • a broadcast system comprises: a head end, coupled to receive an input broadcast channel data stream including a programme having an advertisement; a service information processor, in communication with said head end and retrieving service information associated with said programme and said advertisement including information identifying a location of said advertisement within said programme; a storage server, in communication with said head end and said service information processor, storing a copy of said programme and associating a storage location of said copy with service information associated with said programme; an advertising server, in communication with said service information processor, storing a copy of said advertisement and further storing a replacement advertisement and service information associated with said advertisement; and a distribution system, coupled to said storage server and said advertising server, operable to transmit said copy of said programme to a subscriber and to insert a selected replacement advertisement at said location.
  • a subscriber-initiated method for viewing a programme comprises the steps of: interacting with a programme schedule displayed on a display device to select a desired programme stored in an archive; transmitting information identifying the subscriber and information identifying the desired programme; receiving a uni-cast transmission of said desired programme; and receiving a uni-cast transmission of a replacement advertisement embedded within said programme, said replacement advertisement different than an advertisement included in a live broadcast of said programme.
  • a broadcast method comprises: receiving, from a subscriber, a request to play an archive copy of a programme; identifying a location of said archive copy of said programme; selecting at least a first advertisement based at least in part on information associated with said programme; and, inserting said at least first advertisement into said programme.
  • Figure 1 is a block diagram of an example of a broadcast system
  • Figure 2 is a more detailed block diagram showing a number of different components that may be operated by (or on behalf of) a broadcast service provider to allow a subscriber to view both live broadcast programmes and archived programmes on a television.
  • FIG. 3 is a still more detailed block diagram of a broadcast system
  • Figures 4A-4D are diagrams depicting data structures in a broadcast data channel stream
  • Figure 5 is a flow diagram showing a process for identifying and processing advertisements
  • Figure 6 is a flow diagram showing a process for playing a program and inserting advertisements
  • Figure 7 is a further block diagram of an example of a broadcast system.
  • the present invention relates to systems, methods, computer program code and means for the identification and insertion of advertising in broadcast programmes.
  • the present invention may be implemented in a broadcast system such as the broadcast system described in our co-pending International Patent
  • the present invention allows the identification and insertion of advertising in programmes broadcast by a broadcast service provider, including programmes broadcast "live” or programmes broadcast from archives (including short and longer-term archives).
  • programmes broadcast "live” or programmes broadcast from archives including short and longer-term archives.
  • the term “subscriber” is used to refer to an individual or entity which has a subscriber relationship with a broadcast service provider to receive and view broadcast data (either live broadcast data or archived broadcast data or both).
  • a subscriber for example, may be associated with a particular set top box identifying the subscriber.
  • Subscribers may also be referred to herein as “users” or “viewers”.
  • set top box is generally used to refer to devices associated with subscribers which receive broadcast data from a broadcast data service provider.
  • a set top box may be a dedicated device designed to receive broadcast data, or it may be implemented as a component or function associated with a personal computer or other computing device.
  • Broadcast service provider or “service provider” may be used to refer to an entity (or entities) which operate components of broadcast systems pursuant to embodiments described herein to deliver live broadcast data and archived broadcast data to subscribers.
  • a “broadcast service provider” may be an entity which operates (or is associated with) one or more systems configured to transmit programmes to subscribers.
  • Broadcast service providers operate systems including exchanges or central offices that are configured to deliver digital data to subscribers over the twisted pair communication lines that are present in many households and businesses around the world (e.g., such as telephone or copper wires). Broadcast service providers deliver this data using digital subscriber line (“DSL”) techniques.
  • DSL digital subscriber line
  • a broadcast service provider delivers digital data using asymmetric DSL ("ADSL") techniques, although those skilled in the art will recognize that other DSL techniques (generally referred to as “xDSL” may also be utilized).
  • ADSL asymmetric DSL
  • xDSL DSL techniques
  • wired communication techniques are discussed, those skilled in the art will appreciate that features of embodiments may also be implemented using wireless techniques.
  • live broadcast data or “live broadcast programme” refers to broadcast data viewed at the time scheduled and broadcast by the broadcasting entity.
  • the term “archived broadcast data” or “archived programmes” refers to broadcast data or programmes which is stored for viewing at a time later than the "live broadcast”.
  • the broadcast system can provide two different types of data archives: short-term archives (e.g., where programmes are stored for a relatively short period such as 24-72 hours), and longer-term archives (e.g., where programmes may be stored for a longer time period). For example, longer-term archives may allow storage of programmes indefinitely.
  • a broadcast service provider may store programmes for up to a set period (e.g., such as one month or one year).
  • a broadcast service provider may periodically query subscribers to determine whether the archived programme should be deleted from the archive.
  • the term "advertisement” is generally used to refer to a promotion or solicitation which generally includes video and audio data (but which may include teletext, video, or audio data) which is embedded or inserted into a stream of broadcast data. Advertisements may be positioned at numerous locations within a broadcast data stream, including at the beginning of programmes, at various times during programmes, at the end of programmes, etc.
  • FIG. 1 a depiction of a broadcast system 50 shown.
  • Broadcast system 50 includes one or more broadcast service providers 51 delivering content to one or more subscribers 54a-n.
  • the delivered content can include both broadcast programmes (either live or archived) and advertisements.
  • Subscribers may receive broadcast programme data in several ways.
  • subscribers such as subscriber 54n
  • a "live” broadcast programme may be the "Evening News", broadcast every weeknight starting at 6pm local time.
  • Broadcast system 50 allows subscribers, such as subscriber 54n, to view this programme at its designated time (at 6pm local time).
  • live is used to generally refer to the actual and planned time of broadcast of a broadcast programme (and is not necessarily intended to refer to a programme which is both filmed and viewed at the same time).
  • these "live" broadcasts are transmitted to subscribers 54 via multicast to avoid duplications of traffic. This increases the system's ability to transmit video and audio programme data to a large number of subscribers without impairing the capacity of the backhaul (and thereby allowing a larger number of subscribers to interact with the system to selectively view archived programmes as described below).
  • Subscribers may be added to multi-cast broadcasts of programmes using techniques such as those described by Internet Group Management Protocol (IGMP), IETF RFC 3376 (October 2002) (available at www.ietf.org) the contents of which are incorporated herein by reference for all purposes.
  • IGMP Internet Group Management Protocol
  • IETF RFC 3376 October 2002
  • www.ietf.org available at www.ietf.org
  • These live broadcasts may include advertisements in addition to programmes.
  • the "Evening News" programme may include groups of two or three (or more) advertisements located at the beginning of the programme, every 15 minutes during the programme, and at the end of the programme.
  • Broadcast service provider 51 may capture and identify these advertisements during broadcast and, in some embodiments, may replace some or all of the advertisements with advertisements specifically directed to one or more subscribers 54.
  • the broadcast system 50 allows subscribers (such as subscriber 54b) to view a programme at some time after the "live" broadcast time.
  • the system can generate and store a short-term archive copy of all broadcast programmes received by broadcast service provider 51. Further details of how this short-term archive copy is generated and stored will be provided below.
  • broadcast service provider 51 includes a storage device 53 (or group of devices) adapted to store copies of broadcast programmes for a number of different broadcast channels. Sufficient storage space is provided to store 24-72 hours of broadcast programmes for a number of different channels. In conjunction with the generation and storage of these short-term archive copies, a schedule of programmes is created.
  • Subscribers wishing to view a programme within 24-72 hours of the time at which it originally aired may interact with the schedule of programmes to select the programme and cause the programme to be streamed to the subscriber.
  • These programmes are stored in a manner which allows the subscriber to fast forward, pause, and rewind while viewing the programme.
  • subscriber 54b may choose to view the "Evening News" at 6:15pm rather than at the "Jive" broadcast time of 6pm. Further, subscriber 54b may fast forward, rewind, or pause as desired during his viewing of the programme.
  • the broadcast system 50 further allows subscribers (such as the subscriber 54a) to select particular programmes for longer-term archival.
  • broadcast service provider 51 or a subscriber may wish to create a longer-term copy of a particular broadcast of the "Evening News".
  • Subscriber 54a may indicate this desire by communicating with broadcast service provider 51 (e.g., via a set top box or other device as will be discussed further below).
  • a copy of the broadcast may then be stored on a storage device 52 used for longer-term storage of programmes.
  • the copy of the programme is associated with information uniquely identifying the subscriber 54a so that the subscriber 54a may be allowed access to the programme as desired. Subscriber 54a may then view the programme as desired.
  • subscriber 54a may view the particular episode of the "Evening News" weeks after it aired. Subscriber 54a may repeatedly view the same episode until the episode is deleted from the archive (e.g., at the subscriber's request or once an archive period has expired). To reduce storage needs, multiple subscribers may have access to a copy of a program stored in a longer-term archive. For example, information identifying each customer who has requested the creation of a copy of a programme may be given access permissions to share access to an archive.
  • the broadcast system 50 allows each of these types of broadcasts to be selectively delivered to subscribers, providing subscribers with greater choice, control and flexibility in viewing. Subscribers may access these broadcasts via telephone wires such as the copper telephone wires currently installed in many households.
  • the system delivers broadcast and archived programmes to subscribers using asymmetric digital subscriber line (ADSL) techniques (although those skilled in the art will appreciate that other techniques now known or later developed may be used to deliver programmes pursuant to embodiments disclosed herein).
  • Programmes are delivered using encoding schemes such as the widely-used "Moving Picture Experts Group version 2" (MPEG-2) scheme, although those skilled in the art will appreciate that other encoding schemes may also be utilized.
  • MPEG-2 "Moving Picture Experts Group version 2”
  • Broadcast data may be delivered from broadcast service provider 51 to subscribers 54 using constant bit rate (CBR) encoding techniques, thereby providing a maximum bitrate that is used for both video and audio data.
  • CBR constant bit rate
  • Applicants have found that the use of CBR encoding provides reliable and consistent content delivery over ADSL networks, despite issues with distance from the ADSL exchange (or "central office") and despite the demands for high bitrates to provide quality video services.
  • embodiments utilize encoders configured to pad or "stuff' the video data extra (blank) data to create an actual constant bitrate.
  • the backhaul to the ADSL central office or exchange is "overbooked” to assume a particular level of contention which ensures sufficient bandwidth is available to subscribers.
  • the backhaul may be designed such that 33% of all subscribers serviced by the backhaul are assumed to be active at any time. This may be implemented, by reducing the number of subscribers associated with each digital subscriber line access multiplexor (DSLAM) associated with a particular exchange or central office.
  • DSLAM digital subscriber line access multiplexor
  • Broadcast service provider 51 further operates to identify and capture advertisements in conjunction with the creation of archive copies of broadcast programmes.
  • a variety of different types of information about advertisements may be captured.
  • broadcast service provider 51 may generate information identifying the location of each advertisement in the programme as well as information identifying details of the advertisement and the advertisement's audio and video data. This information may be stored in longer-term or short-term archives 52, 53 or may be stored in separate advertisement databases (not shown).
  • the information is used when a programme is transmitted to a subscriber for viewing and allows broadcast service provider 51 to identify the point in the transmission where an advertisement should be inserted. This information also allows broadcast service provider 51 to select an appropriate advertisement for insertion (e.g., by targeting a subscriber's particular demographic).
  • broadcast service provider 51 may select different advertisements for insertion into a programme. Different subscribers may be presented with different advertisements. When a program is viewed at different times, different advertisements may be inserted. For example, if a programme is viewed in July, an advertisement for an amusement park may be played; if the programme is viewed in December, an advertisement for a ski area may be displayed.
  • the present invention allows great control over the selection and insertion of advertisements in programmes that are broadcast to subscribers, thereby increasing advertiser revenue and ensuring that time-shifted programmes are able to generate advertising revenues.
  • Broadcast service provider 51 operates to select appropriate advertisements for insertion into programmes that are transmitted to subscribers. These selected advertisements may be inserted at the location where original advertisements were included during the original broadcast of a programme, or they may be inserted at other locations. For example, a movie which originally contained advertisements every 20 minutes may be transmitted with advertisements every 30 minutes. As another example, a movie which was originally broadcast on demand and which did not include any advertisements may be transmitted by broadcast service provider 51 with a number of advertisements inserted.
  • the advertisements inserted by broadcast service provider 51 include service information which has a link to additional promotional information which is presented to the subscriber when the advertisement is viewed.
  • the broadcast system 50 of the present invention may further be configured to allow subscribers to skip some or all advertisements. For example, broadcast service provider 51 may operate a "premium" service which subscribers may pay additional fees to participate in and which allows participating subscribers to skip or fast forward through advertisements. Further details of the present invention will now be described by referring to
  • the system of Figure 2 depicts a number of different components that may be operated by (or on behalf of) a broadcast service provider to allow a subscriber to view both live broadcast programmes and archived programmes on a television 9.
  • a number of components of the system of Figure 2 may be operated by, or on behalf of, a service provider offering broadcast and archived programmes to subscribers.
  • Some or all of the components may be implemented on one or more computing devices configured to perform the functions described herein. Although some components are shown as separate devices, some or all of the functionality described herein may be implemented on one or more computing devices or networks of computing devices.
  • broadcast channel source 1 generates a data feed of broadcast channels which are provided to a broadcast distribution head-end (BDHE) 2.
  • broadcast channel source 1 may be any of a number of different types of sources of broadcast data, such as, for example, sources of television, video, audio, or other data.
  • Each data feed includes video and audio information for each channel as well as service information (SI) for each programme broadcast on each channel.
  • SI service information
  • the service information includes information about each programme including start time and duration, and a synopsis of the programme.
  • SI service information
  • PSl programme specific information
  • SI may include electronic programme guide information such as the nature of a programme, the timing and channel on which it is located, and other information identifying the type, content, and timing of a particular programme.
  • SI may include additional information such as a "service description table” (or SDT) providing information identifying the service provider of a programme, an "event information table” (or EIT) containing programme names, start times, durations, etc., and other timing and event information.
  • Broadcast data may be transmitted using a variety of communications media.
  • the broadcast channel source 1 may provide a number of channels of broadcast data as digital or analogue television captured by digital satellite, digital terrestrial, cable, digital subscriber line (xDSL), or as analogue or direct feeds over a network.
  • the broadcast data may be received from a digital source (or is otherwise converted into digital broadcast data prior to receipt by BDHE 2).
  • the digital broadcast data may be encoded using an encoding scheme such as the MPEG-2 encoding scheme, although other encoding schemes may also be utilized.
  • Use of an encoding scheme such as MPEG-2 allows the receipt of digital broadcast data which includes encapsulated MPEG-2 transport stream service information associated with the digital broadcast data.
  • a number of broadcast channel sources 1 may be utilized in the system of Figure 2.
  • the system may receive dozens or even hundreds of different channel data feeds from various broadcast channel sources.
  • Each channel data feed consists of a number of programmes.
  • These channel data feeds are acquired by BDHE 2.
  • BDHE 2 includes video acquisition equipment and may also include encoders to compress the channel data into a form which is suitable for a set top box to decode and display on a television.
  • the BDHE 2 may also include multiplexing equipment to multiplex the data.
  • the broadcast data is encoded into a digital video broadcast (DVB) standard, such as the MPEG-2 video and audio and encapsulated in an MPEG-2 transport stream. Further details of BDHE 2 will be discussed in conjunction with Figure 3 below.
  • DVD digital video broadcast
  • each of the broadcast channels are directed, encapsulated in the MPEG-2 transport stream, to a timeslip server 3 and broadcast schedule server 4 under instruction from a video server manager 5.
  • the same output may be sent to each server.
  • separate data is transmitted to a service information processor (not shown, but which may be configured as part of BDHE 2 or as a separate component) and then used to create schedule information at broadcast schedule server 4.
  • service information processor not shown, but which may be configured as part of BDHE 2 or as a separate component
  • Timeslip server 3 is typically a computer system (or network of computer systems) with a storage capacity that allows it to save the data from the broadcast feeds locally. All programmes from each of the broadcast channels are stored at least for a period of time.
  • timeslip server 3 may store 24-72 hours of programming from each of the broadcast channels, allowing subscribers to view programmes from the broadcast channels for some period (e.g., 24-72 hours) after the time the programme is originally broadcast. As will be described further below, timeslip server 3 also operates to allow subscribers to selectively archive broadcast programmes for viewing at a time of their choosing. These longer-term archives may be stored at (or accessible by) archive content server 10. Although further details will be provided below, in general, the timeslip server
  • the timeslip server 3 receives a number of encoded channels of broadcast data from BDHE 2 and stores the video and audio data for each channel on a disk as a continuous stream.
  • the timeslip server 3 also functions to accurately identify the start and end of each programme as well as the locations where each programme is stored on disk. This information allows the timeslip server 3 to quickly and accurately retrieve programmes when requested by subsc ⁇ bers. Further, the timeslip server 3 functions to store broadcast channel data so that it may be efficiently and accurately rewound or fast-forwarded upon request by subscribers. Further details of these features will be discussed further below.
  • the broadcast schedule server 4 interacts with the timeslip server 3 (and with other sources of schedule information) to construct an accurate historical schedule of programmes.
  • Broadcast schedule server 4 may create and maintain different types of schedules (e.g., including a long form, or detailed schedule, and a short form, or summary schedule). These schedules may be presented to subscribers and used by subscribers to interactively identify programmes for viewing or archival (e.g., a subscriber may interact with a schedule to select one or more programmes for viewing from the short-term archive, or to select one or more programmes to be stored in the longer-term archive for later viewing).
  • the video server manager 5 controls the distribution of the digital broadcast data to viewers for live broadcasting of each channel.
  • Video server manager 5 also stores (or has access to) customer information.
  • customer information may include information associating a particular customer or subscriber with the unique identifier assigned to the customer's set top box 8.
  • Customer information may also include information used to track customer viewing preferences, demographic information, etc.
  • Video server manager 5 also stores (or has access to) advertisement information, including advertisement data identifying the location of advertisement slots in programmes that have been archived as well as data identifying the advertisement that was originally broadcast with each programme. Further, video server manager 5 may also store (or have access to) new or replacement advertisements including the video and audio data associated with the advertisement.
  • Video server manager 5 uses this advertisement data to select a replacement advertisement and provide the replacement advertisement to switching and routing network 6 for transmission to a subscriber in an appropriate location within a programme. Advertisements may be selected for transmission based at least in part on information associated with a subscriber (e.g., such as customer demographic information retrieved from the customer database), information associated with the original advertisement (e.g., a rule may be implemented which ensures that if the original advertising slot was paid for by Coca-Cola, Inc., the replacement advertisement must be a Coca-Cola advertisement), and information associated with the programme (e.g., a rule may be implemented which ensures that if the programme is a cartoon intended for young children, the replacement advertisement cannot be an advertisement targeted to an older audience such as a beer commercial).
  • information associated with a subscriber e.g., such as customer demographic information retrieved from the customer database
  • information associated with the original advertisement e.g., a rule may be implemented which ensures that if the original advertising slot was paid for by Coca-Cola, Inc.
  • the video server manager 5 provides control of switching and routing facilities 6 including unicast, multicast and broadcast of each channel. Each broadcast channel is transmitted across a network 7 to the set top box 8 which directs the data to the television 9.
  • Network 7 may be any of a number of different types of networks or combinations of networks.
  • network 7 may be a wide area distribution network to local exchanges and local loop delivery using ADSL.
  • Network 7 allows broadcast data to be delivered to subscriber set to boxes 8, and also allows the transmission of data from set top box 8 to switching and routing facilities 6 (e.g., to select programmes for archive, for play of programmes, etc.). Subscribers may also be able to access service or programme information related to the current programme via the set top box 8.
  • Set top box 8 may be any device configured to receive digital broadcast data at a subscriber's home. Where digital broadcast data is delivered to subscribers via ADSL techniques, set top box 8 includes a modem or receiver allowing the receipt and transmission of data over telephone wires. Where broadcast data is delivered in MPEG formats, set top box 8 includes an ability to decode the received MPEG data. Set top box 8 includes information uniquely identifying the subscriber associated with the set top box. For example, set top box 8 may include a unique identifier such as a digital signature or other cryptographic identifier. This identifier may be provided on a tamper resistant device such as, for example, a smart card.
  • a unique identifier such as a digital signature or other cryptographic identifier. This identifier may be provided on a tamper resistant device such as, for example, a smart card.
  • This unique subscriber identifier may be appended to messages transmitted from the set top box 8 to the broadcast service provider, allowing the broadcast service provider to identify the subscriber. Further, the unique identifier may be used in setting up unicast sessions between the switching and routing 6 and individual set top boxes 8.
  • Set top box 8 may be equipped with an infra red or other sensor, allowing a subscriber to interact with set top box 8 using a remote control device.
  • the system provides subscribers with the ability to view live broadcast programmes, view archived broadcast programmes some period after the initial live broadcast (e.g., for a period of 24-72 hours after initial broadcast), or store and view specific programmes in a longer-term archive for later viewing.
  • programmes which are viewed after the initial live broadcast subscribers are able to interactively control the play of the programmes (e.g., subscribers may pause play, fast forward, or rewind as desired).
  • subscribers can view and interact with a detailed and accurate schedule to select programmes for viewing or for archival.
  • the system also allows the creation of an accurate historical advertisement database, including information identifying the location or position of each advertisement in each programme.
  • This advertisement database may be used to control the insertion (and, if appropriate) replacement of advertisements in programmes broadcast to subscribers. Further, each of these viewing options is provided using relatively low bandwidth technologies such as ADSL, allowing subscribers to view and interact with a wide variety of broadcast programmes over existing home telephone wires.
  • Broadcast system 50 includes one or more broadcast channel provider / rights owner(s) 12 which generates (or causes to be generated) broadcast data that is provided to BDHE 2 for distribution to subscribers via a number of set top boxes 8.
  • digital broadcast channel data is received at BDHE 2 via one or more digital channel sources 30 (e.g., such as digital terrestrial, digital satellite, or digital cable sources).
  • This digital broadcast channel data is received encoded in MPEG (or similar) formats.
  • digital broadcast channel data received in MPEG-2 format from digital channel source 30 is typically received in a "multiple program transport stream" (or MPTS) (that is, in a transport stream of packets having multiple programmes encoded therein).
  • This MPTS of channel information is provided to a decoder 31 which decodes the digital broadcast channel data into serial digital information for each channel. Operation of decoder 31 causes the service information associated with individual programmes to be lost. This service information (or at least portions thereof) is preserved by passing the digital broadcast channel data received at digital channel source 30 to a service information ("SI") processor 19.
  • SI service information
  • This SI processor 19 may be implemented as part of BDHE 2 or it may be implemented as a separate component in communication with BDHE 2.
  • SI processor 19 receives the digital broadcast channel data in MPTS format and then parses information from each broadcast channel to obtain detailed programme information associated with each channel. For example, SI processor 19 parses incoming data to obtain a "service description table” (SDT) and "event information tables” (EIT) for each broadcast channel.
  • SDT service description table
  • EIT event information tables
  • These tables provide information about each programme as well as about upcoming programmes on each channel. For example, the tables provide information identifying the name of the programme, a description of the programme, a duration of the programme, start and end times (scheduled and actual) and information about the programme's genre.
  • SI processor 19 returns information to BDHE 2 for multiplexing with the video and audio information for each channel.
  • BDHE 2 re-encodes each channel into "single programme transport streams" (or SPTS) using an encoder 32. This encoded audio and video information is associated with the SI information from SI processor 19 using a multiplexor 33.
  • SI processor 19 returns an MPEG transport stream containing programme access table (PAT) and programme map table (PMT) service information as well as private data carried on multiple programme identifiers (PIDs) for each channel.
  • PIDs programme access table
  • PMT programme map table
  • Multiplexor 33 inserts these private PIDs alongside the audio and video data for each channel.
  • the total bandwidth used by each of the private data PIDs is at a constant bit rate (CBR).
  • CBR constant bit rate
  • the total bandwidth allocated to each private data PID which is re-associated with the audio and video data by multiplexor 33 is kept relatively small in comparison to the video and audio bandwidth.
  • Each of the MPTS transport streams are then divided into multiple individual single programme transport streams (including SI data for each programme) using a network interface 34.
  • Network interface 34 is an MPEG-2 transport stream aware interface.
  • the multiple single programme transport streams are passed to the switching and routing devices 6 for routing (under direction of the video server manager 5) as live broadcast data to appropriate set top boxes 8.
  • Si processor 19 also parses broadcast data streams to identify and retrieve information associated with advertisements. Examples of broadcast data streams parsed to retrieve advertisement information will now be provided by briefly referring to Figures 4A-4D.
  • a broadcast data stream (such as the stream received at BDHE 2) may include a number of programmes without advertisements (e.g., such as programmes received from a channel which does not receive income from advertisements).
  • Such a broadcast data stream may include EIT information (shown as “E1", “E2” and "E3”) separating each programme.
  • EIT information "E1” occurs at time “t1” and has a duration equal to the difference "d" between "t1" and "t2" (the ending time of the programme).
  • This information is extracted by SI processor 19 for use in creating an accurate historical programme schedule (e.g., stored at broadcast schedule server 4) and programme archives.
  • a broadcast data stream may include a number of programmes, each having advertisements placed within the programme.
  • a programme begins at time “t1" indicated by EIT "E1".
  • Placed within the programme are three advertisements, which are indicated by EIT information "Ea1", “Ea2” and “Ea3", and having times "ta1", etc.
  • This information is extracted by SI processor 19 to create an accurate historical programme schedule as well as to create advertisement information (e.g., which may be stored at, or accessible to, video server manager 5).
  • This advertisement information is used to select and insert advertisements when the programme is played.
  • the advertisement information extracted by SI processor 19 is used to identify the appropriate time in a programme at which to insert an advertisement (such as a replacement advertisement targeted to the subscriber).
  • a playback timer will identify the time ("ta1") during playback at which an advertisement was originally located when the programme was broadcast. Playback of the programme may be paused and an advertisement may be inserted at time “ta1” and played. A second advertisement may be inserted at time “ta2", and a third at "ta3". Play of the programme is resumed at a time equal to M ta1+da1+da2+da3". Additional advertisements may be inserted at times "ta4" and "ta5".
  • advertisement information extracted by SI processor 19 may also include information which identifies the content of the advertisement.
  • EIT information may include information identifying an advertiser, information identifying the particular commercial, information identifying the target audience, information identifying the dates during which the advertisement should be played, etc. This information, along with the timing and duration information, is stored and used to allow the selection and insertion of advertisements during programme playback.
  • a broadcast data stream may include a number of programmes, each having a block of advertisements embedded within the programme. For example, as shown, a programme begins at time “t1" indicated by EIT "E1". An "ad break" is located within the programme and is identified by EIT information "Ea1" at "ta1". The ad break may be sufficiently large to include more than one advertisement. Unlike the data stream of Figure 4B, the data stream of Figure 4C does not utilize separate EIT information for each individual advertisement. As shown in Figure 4D, a broadcast data stream may include a number of programmes which have embedded advertisements which are not identified by EIT information. It may not be possible for SI processor 19 to parse and identify these advertisements. As an alternative, the system may utilize other indicators to identify these advertisements. For example, an operator may manually view the broadcast data stream and identify the start and end of each advertisement or block of advertisements.
  • SI processor 19 may be configured to save further bandwidth by selectively parsing and using particular types of service information.
  • subtitle information may be manipulated to reduce bandwidth.
  • SI processor 19 extracts teletext subtitles from the MPTS data received from BDHE 2 by parsing the complete teletext stream and extracting only the subtitle information from the stream.
  • some broadcast systems incfude teletext subtitles in a particular "page" of teletext information associated with a broadcast.
  • the subtitles are include in teletext "page 888".
  • SI processor 19 is configured to repackage the "page 888" packets, and optionally inserts a new packet (e.g., such as a "page 100" packet) into the stream using another private data PID (again, in CBR).
  • the dropped teletext pages may be stored on a teletext server or database
  • DVB subtitles can also be extracted by SI processor 19 to reduce bandwidth.
  • SI processor 19 may parse the subtitle information and translate the subtitles into a bandwidth-reduced form (e.g., the information may be stored on a server and displayed only in response to particular queries from set top boxes 8). In this manner, SI processor 19 can operate in conjunction with BDHE 2 to remove certain types of service information from the transport stream, while ensuring that needed service information remains associated the correct programmes.
  • SI processor 19 may also be configured to handle radio channels (e.g., by identifying radio channels as having audio-only PIDs).
  • the audio-only PIDs may be passed directly to multiplexer 33 without need for re-encoding.
  • SI processor 19 may also be configured to extract interactive applications (which may be stored by video server manager 5 for use on-demand), thereby avoiding the need to use carouselling systems typically used in broadcast environments.
  • interactive applications which may be stored by video server manager 5 for use on-demand
  • Previous systems overcome this lack of a back channel by using a carousel. For example, a channel provider repeatedly transmits (or "carousels") the interactive application and associated assets on a separate MPEG PID.
  • DSM-CC Digital Storage Media Command and Control
  • SI processor 19 In addition to providing processed service information to the head-end for recombination with audio and video data for each programme, SI processor 19 also provides the processed service information to broadcast schedule server 4 for use in creating accurate schedule data 15.
  • broadcast schedule server 4 By utilizing service information based on digital broadcast channel data as it is actually received by BDHE 2, embodiments are able to create a historical schedule with accurate information about the actual start and end times for broadcast programmes on each of the broadcast channels received at BDHE 2. This information may be combined with published schedule data (e.g., such as broadcast schedule data published by broadcast channel providers / channel owners 12) to create schedule data 15 having substantially complete and accurate programme information.
  • schedule data 15 which accurately identifies the actual schedule for the programme. This information may be utilized to accurately and efficiently archive programmes for later playback (e.g., a sporting event that actually lasts for 47 minutes will be identified as lasting 47 minutes rather than some estimated time such as an hour).
  • the network interface 34 of BDHE 2 also provides the de-multiplexed SPTS data to timeslip server 3.
  • timeslip server 3 has a number of different functional components.
  • each of the de-multiplexed channels of SPTS data are provided to an acquire and store channel 42 which operates to read the received transport stream and store it onto the correct storage location in the next available storage device.
  • Acquire and store channel 42 also operates to wrap around the end of each storage device and to maintain a circular buffer.
  • the transport stream received from BDHE 2 is stored in an unaltered format (i.e., it is stored in the format in which it is received).
  • the data is stored in separate storage devices 43, 44 (or storage areas) for each channel.
  • Each storage device (or storage area) is configured to act as a circular or wrap-around buffer sized to store a certain amount of broadcast data (e.g., if the short-term archive function is intended to provide 24 hours of short-term archived programmes, each buffer is sized to accommodate 24 hours of data). When the end of the buffer is reached, the oldest " programmes in the buffer are overwritten with the most recent broadcast programmes for each channel.
  • a certain amount of broadcast data e.g., if the short-term archive function is intended to provide 24 hours of short-term archived programmes, each buffer is sized to accommodate 24 hours of data.
  • Acquire and store channel 42 also operates to parse the private data SI packets from the transport stream.
  • the private data SI packets are passed to a schedule table 41 , along with storage information identifying where the programme associated with particular SI data is stored.
  • schedule table 41 may include an information record for each programme which includes the SI information for the programme, along with disk location information particularly identifying the disk storage location on which the programme is stored (e.g., such as a buffer location in a particular channel data store such as data stores 43 or 44).
  • the SPTS stream received by acquire and store channel 42 is CBR, allowing acquire and store channel 42 to reliably predict the amount of storage required for each programme and to ensure the timeliness of reading data back off disk upon playout.
  • Schedule table 41 may be configured to contain information identifying a list of channels, each of which is associated with records containing an event or programme identifier, an event time, and a disk position at which the programme is stored. This allows the start and end times of programmes to be accurately located for playout.
  • the start and end positions are located at programme boundaries. For example, the start and end positions may always be located on a video "group of programmes” (GOP) or audio "packetized elementary stream” (PES) boundary to ensure that playback always begins at a safe point.
  • GEP video "group of programmes”
  • PES packetized elementary stream
  • Timeslip server 3 also includes a video and audio stream analyzer 45.
  • Video and audio stream analyzer 45 operates to uniquely identify each video GOP boundary. The streams received by acquire and store channel 42 are parsed to identify these boundaries. The disk position of each GOP on each channel is stored in a GOP list 46.
  • a GOP can span many MPEG transport stream packets (and may typically include approximately 12 video frames, including Intra or I frames, Predicted or P frames, and Bi-directional or B frames). Pursuant to the MPEG-2 standard, a GOP always starts with an I frame.
  • Video and audio stream analyzer 45 is configured to identify these boundaries and to associate them with storage locations. Analyzer 45 further analyzes the streams to identify audio PES packet locations.
  • Those skilled in the art will recognize that embodiments may be used with other standards as well (e.g., by parsing streams to identify boundaries established by those other standards).
  • Timeslip server 3 also includes a fast forward (“FF”)/rewind (“REW) frame extractor 47 which is configured to extract I frames from video streams as they are being stored by timeslip server 3. In this manner, expensive and time consuming searches for I frames in response to subscriber requests are avoided. Both an FF and a REW stream are created by extracting the I frames and wrapping them in an MPEG transport stream. Transport stream timing information including PTS/DTS and PCR clock information are generated by timeslip server 3.
  • FF fast forward
  • REW rewind
  • the system may utilize the placement of I frames at the start of each GOP to identify boundaries. GOPs do not necessarily contain the same number of frames; for example, encoders may sometimes terminate a GOP to insert an I frame on scene changes.
  • the system ensures an appropriate FF/REW playback speed by monitoring (and adjusting, if appropriate) the rate at which I frames are stored to disk. Unlike regular program playback, the output rate of FF/REW playback is not determined by the input rate (that is, the FF/REW information need not be stored at the same rate that it will be played back). Instead, the playback rate is configurable by specifying a desired interval between I frames. When writing FF/REW information to database 46, FF/REW frame extractor 47 may drop certain I frames in the feed received from the acquire and store channel 42. In this manner, the playback rate can be configured for consistency.
  • Timeslip server 3 also includes a playout module 49 to control playout of archived programmes. Playout involves locating the start of a requested programme and streaming the content off the appropriate storage device to the particular set top box 8 associated with the subscriber who requested the content.
  • a request message submitted from a set top box 8 will include information identifying the particular subscriber making the request (as well as information to allow switching and routing devices 6 to set up a unicast session with the set top box).
  • the request is routed to timeslip server 3 through playout module 49 which causes schedule table 41 to be consulted to identify the start point of the requested programme.
  • the start point of each programme is aligned to a GOP or audio PES packet to ensure a clean start to the playback. Playout continues until the end of the programme is reached or until other instructions are received, such as, for example, a request to stop playout, a request to skip, or a request to view another programme.
  • Timeslip server 3 may be configured to play back from either the nearest video GOP frame (or audio PES packet), allowing different types of set top boxes to be used with the system (as different set top boxes may respond differently to discontinuities in playout).
  • Timeslip server 3 under direction from video server manager 5, may operate to cause one or more programs to be saved by an archive content server 10. For example, a subscriber may request that a particular programme be archived for future viewing by the subscriber. This request is transmitted from the subscriber's set top box 8 to video server manager 5 which causes a request to be sent to the timeslip server 3.
  • timeslip server 3 functions to initiate the transmission of a copy of the programme to archive content server 10 for storage in an archive data store 17.
  • archives may result in the storage of at least two copies of a programme: one copy in archive data store 17 (the "longer-term” archive, for later retrieval by the subscribers) requesting the archival) and one copy in timeslip server 3 (the "short term” archive, for viewing by any subscriber desiring to view a programme during the period in which the system stores broadcast programmes).
  • timeslip server 3 may be viewed as a more ephemeral content store providing a viewing window of, for example, several days after the programme is broadcast, while the version stored by archive content server 10 may provide for longer term storage and viewing of the programme. That is timeslip server 3 provides a circular buffer of archived programmes for each channel, while archive content server 10 provides dedicated long term storage of selected programmes.
  • a number of different storage configurations may be used for storing programme information. For example, hard disks or tape drives may be used. Entire disks may be used, or partitioned disks. As a further protection against failure, RAID partitions may be employed. Multiple disks per channel may be used. Multiple redundant disks may be used to store identical content, reducing failure and potentially allowing for automated failover recovery. Further, such a configuration may provide improved overall performance by spreading the load on very popular channels over multiple disks. In this manner, live broadcast data may be delivered to authorized subscribers while generating service information data, archiving programs, and constructing an accurate historical schedule.
  • the allocation of channels to timeslip servers may be dependent on the popularity of programmes available on that channel.
  • the allocation of channels to timeslip servers is done in such a way to result in the set of timeslip servers being capable of satisfying peak time simultaneous viewing.
  • Playback of a programme may also include the selection and insertion of advertisements into the programme for transmission to a subscriber.
  • This selection and insertion is performed under control of video server manager 5 which has access to information identifying the location of advertisements in each programme and channel (e.g., based on the information extracted by SI processor 19).
  • Video server manager 5 may also have access to a database of advertisements (e.g., such as ad database 20).
  • Video server manager 5 may select a replacement advertisement for inclusion in a programme transmitted to a subscriber. Further details of this will now be described by first referring to Figure 5, where a flow diagram is shown representing a method according to the present invention.
  • the flow diagram of Figure 5 (and other flow diagrams contained herein) include a number of process steps. These process steps need not be performed in the sequence shown; those skilled in the art will appreciate that different sequences consistent with embodiments discussed herein may be used.
  • FIG. 5 depicts a process 300 for identifying advertisements in a broadcast data stream.
  • Process 300 may be implemented using the broadcast system of Figures 1-3, although those skilled in the art will appreciate that other systems and configurations may also be used.
  • Process 300 begins at 302 where a broadcast data stream is received.
  • the broadcast data stream is a digital data stream received by BDHE 2.
  • Advertisements may be identified by SI processor 19.
  • BDHE 2 transmits the data stream to SI processor 19 where service information is parsed and identified.
  • SI processor 19 identifies the location of each advertisement based on the EIT information. Where EIT information is not provided for advertisements, an operator may be used to monitor the broadcast data stream to identify the location of advertisements in the stream.
  • the EIT or other location information is used to create or update a schedule table including advertisement information and location.
  • the EIT information (or manually-captured location information) is provided from SI processor 19 to broadcast schedule server 4 to construct a schedule of advertisements associated with the broadcast schedule created by broadcast schedule server 4. For example, for each programme, an advertising event schedule is created indicating the position of each advertisement in the programme. Information may also be captured identifying details associated with the advertisement (e.g., such as the advertiser, the genre, the target audience, a description or identifier, suggested dates of play, etc.). A copy of the advertisement is also stored. Broadcast schedule server 4 stores schedule information and video server manager 5 stores advertisement data 20. When a programme is played back (as will be discussed below) both sets of information are used to insert advertisements into programmes.
  • the system may be configured to insert targeted promotions and advertising directed to particular subscribers. For example, such advertising may be inserted at the start, end or at some other point in the playback of programmes from either the short-term or the longer-term archives (or during the multi-cast of live programs to subscribers). Targeting may be achieved by consulting the customer database 14 for information including, but not limited to, subscriber preferences, subscriber viewing history, age, sex and demographic information.
  • Process 400 begins at 402 where a request is received from a subscriber to play a programme.
  • the request received at 402 may be a request to play an archived copy of a programme (e.g., such as a recently-broadcast programme stored in a short-term archive associated with timeslip server 3 or a programme stored in a longer-term archive such as an archive associated with the subscriber maintained by archive content server 10).
  • the request received at 402 includes information identifying the programme.
  • the request also includes information identifying the subscriber (e.g., such as a subscriber identifier or an identifier associated with a set top box assigned to the subscriber)
  • processing at 404 may include determining if the requested programme is a programme in the short-term archive associated with timeslip server 3 or if it is a programme stored in the longer-term archive associated with the archive content server 10. Processing at 404 also includes identifying a storage location of the program, e.g., by consulting schedule table 41 or other resources indicating the particular storage location of the programme. Information about the advertisements associated with the programme are also identified at 404. This advertisement information is the information extracted by the SI processor 19 when the programme was originally broadcast.
  • the advertisement information may include information identifying where advertisements are located in the programme as well as information identifying the length of each advertisement spot and information identifying the advertisement (including the advertiser, the name or identifier of the advertisement, the target audience, the dates during which the advertisement is to be played, etc.). If the requested programme did not include any advertisements (e.g., the programme was broadcast over a commercial-free channel), processing may continue at 410 where the requested programme is played without inserting any advertisements. Advertisements may be selected for insertion at 408 even if the programme was originally broadcast without advertisements (for example, a movie may have been originally broadcast as a video on demand without advertisements, but will be rebroadcast from an archive with one or more advertisements inserted).
  • processing at 406 may include retrieving information from customer database 14 to identify demographic and other information associated with the subscriber as well as any entitlement information needed to confirm that the subscriber is authorized to view the requested programme.
  • advertisement(s) are selected for insertion. This selection, is performed under control of video server manager 5 in communication with timeslip server 3 (and/or in communication with archive content server 10).
  • the advertisements selected for insertion are the same advertisements which were extracted from the programme when the programme was originally broadcast (e.g., at step 304 of the process of Figure 5).
  • the advertisements selected for insertion are different advertisements than the advertisements which were originally broadcast with the programme. For example, replacement advertisements are selected which more appropriately match the subscriber's demographics or the genre of the programme. Further, the replacement advertisement may be selected to fit in the time slot as originally broadcast (e.g., a 30-second ad is used in a 30-second slot). Other considerations may also be used in selecting advertisements.
  • Replacement advertisements may be inserted into the programme at different locations. For example, a programme may have been broadcast with advertising slots every 20 minutes. A broadcast service provider may determine that the advertising slots are better located every 30 minutes. On playback (at 410), the new timeslots may be used. Processing continues at 410 where the programme is played back for the subscriber with the selected advertisements inserted into the advertising slots of the programme. If the programme is an archived programme requested from a short- term or longer-term archive, the programme is transmitted to the subscriber via a unicast session established with the subscriber's set top box. The video and audio data associated with each advertisement may be multiplexed into the data stream as the programme is being transmitted. The advertisement data is inserted at the position indicated by the EIT information originally extracted from the programme.
  • the video server manager 5 causes the archive content server (or other server storing advertising content) to play the advertisement selected at 408. If the programme is being played in a uni-cast session, the selected advertisement is also played in the same uni-cast session.
  • the video server manager 5 returns control of playback to the timeslip server 3 for restarting of the programme. The timeslip server 3 restarts playback from the point where the original advertisement would have completed.
  • An advertisement may be associated with further promotional material (such as a promotional offer).
  • an advertisement (including an advertisement identified at 304 of FIG. 5 and an advertisement selected at 408) may include SI associated with an advertisement may include information identifying one or more promotional links.
  • a sponsor of a programme may provide promotional information or products in association with a programme or in association with a particular advertisement.
  • the advertisement may have SI which includes a link (e.g., such as an Internet URL or the like) to the promotional offer.
  • the subscriber's set top box displays an indicator that a promotion is associated with the advertisement. The subscriber can view the promotional information by selecting the promotion via a remote control device.
  • the set top box is routed to the link included in the SI, and the promotional information is displayed.
  • the subscriber may then view the promotional information (which may be, for example, a product offering, a product description, a promotional video, a purchase offer, a link to an operator to make a purchase, etc.).
  • the subscriber is finished viewing the promotional information, he may return to either the point he left the original advertisement, to the end of the advertisement or to the end of the advertisement break.
  • This playback and insertion process is repeated until the programme is completed. If multiple advertisements are to be played in series, control will revert to timeslip server 3 after each of the advertisements have been played. Such a series of advertisements may be combined into a single packet or file for insertion into the broadcast data stream, thereby minimizing the need to switch control between the video server manager 5 and the timeslip server 3.
  • the video server manager 5 may also control the selection of the order of play of the advertisements in the series.
  • Video and audio data associated with each advertisement is also stored at (or accessible to) timeslip server 3, allowing timeslip server 3 to efficiently insert advertisements during playback. Some advertisements in a programme are replaced and some are played in the form as originally broadcast. The ability to FF or REW through an advertisement may be disabled to prevent subscribers from skipping advertisements. As discussed above, embodiments allow the insertion of targeted advertisements into programs transmitted to subscribers. This targeting may be performed in a number of ways. Referring now to Figure 7, an example of broadcast system 50 is shown in which broadcast service provider 51 maintains (or has access to) customer data and advertising data used to target advertisements and promotions to subscribers 54. For convenience, only selected components of broadcast system
  • broadcast service provider 51 operates to provide live broadcast data to subscribers 54.
  • Broadcast service provider 51 additionally provides archived programmes to subscribers 54, including programmes from a short term archive 53 and a longer-term archive 52.
  • the transmission of these programmes to particular subscribers is controlled, in part, by video server manager 5.
  • video server manager 5 may consult customer database 14 to determine if a particular subscriber is authorized to view a particular programme or a particular archived copy of the programme or whether the subscriber is authorized to cause a longer-term copy of a programme to be archived.
  • Customer database 14 includes data identifying individuals having a subscriber relationship with broadcast service provider 51. This data may include, for example: a unique subscriber identifier (which may be the same as, or associated with, a unique identifier of a set top box issued to the subscriber); demographic information of the subscriber (e.g., including the subscriber's age, gender, marital status, family size, etc.); geographic information (e.g., including the subscriber's address); and subscription information (e.g., including information identifying particular channels and entitlements associated with each subscriber). This information may be used by video server manager 5 to control subscriber access to live and archived programmes.
  • a unique subscriber identifier which may be the same as, or associated with, a unique identifier of a set top box issued to the subscriber
  • demographic information of the subscriber e.g., including the subscriber's age, gender, marital status, family size, etc.
  • geographic information e.g., including the subscriber's address
  • subscription information e
  • Subscription information may also include information specifying whether a subscriber is authorized to make copies of programmes from the subscriber's set top box or television. For example, a subscriber may attach a video cassette recorder or rewritable CD-ROM or a DVR to his television or set top box and make copies of some programmes broadcast using embodiments of the present invention. A subscriber's ability to make copies may be restricted by including copy protection measures in certain programs that are transmitted to the subscriber. The copy protection measures may be specified for particular programmes.
  • Customer database 14 also includes information about subscriber viewing habits associated with live broadcasts. For example, video server manager 5 tracks and identifies each request received from a subscriber to join a multicast of a live broadcast. Video server manager 5 then captures (and stores in customer database 14) information identifying the name, genre, channel, and broadcast time of each programme requested by each subscriber. In this manner, broadcast service provider 51 may capture, maintain, and track detailed live broadcast viewing information for each subscriber.
  • Customer database 14 also includes information about subscriber viewing habits associated with programmes stored in short-term and longer-term archives.
  • video server manager 5 tracks and identifies each request received from a subscriber to view a programme stored in short-term archive 53 (e.g., including information identifying the programme name, genre, channel, and time of each request).
  • Video server manager 5 also tracks and identifies each request received from a subscriber to create a copy of a programme for storage in longer- term archive 52, as well as each request to view a programme from the longer-term archive 52 (e.g., including information identifying the programme name, genre, channel, and time of viewing request).
  • broadcast service provider 51 is able to create, maintain, and update customer database 14 with relevant and timely information about each subscriber's viewing habits and preferences.
  • Advertisement database 20 includes information about a number of different types of advertisements or promotions, and the ability to stream these to a subscriber.
  • advertisement database 20 may include regular broadcast advertisements, such as 30 or 60-second advertisements.
  • Advertisement database 20 may also include banner advertisements created to be displayed across the top or bottom of a television screen.
  • Advertisement database 20 may store the video and audio portions of advertisements in MPEG or other formats. Other types of advertisements or promotions may also be provided.
  • Advertisement database 20 may include identifying information associated with each advertisement or promotion. For example, each advertisement is identified by a unique identifier.
  • This unique identifier is used by broadcast service provider 51 to track and manage advertisements and promotions.
  • video server manager 5 may request play of a particular advertisement by reference to this unique identifier.
  • Advertisement database 20 may also include other information associated with each advertisement, including information identifying an audience to which the advertisement should be targeted. For example, a brewing company may create a beer advertisement which is intended to be displayed to males aged 21-35. This demographic information identifying the advertisement's intended target audience is stored in advertisement database 20 in a record associated with the advertisement itself.
  • Video server manager 5 uses this information, in conjunction with information from the customer database 14, to provide targeted advertisements to subscribers in conjunction with the transmission of live or archived broadcast data.
  • This programme selection request message includes information identifying the subscriber (or information identifying the set top box associated with the subscriber).
  • Video server manager 5 utilizes this identifying information to determine if the subscriber has access permission to view the requested programme, and, if so, adds the subscriber to the multi-cast of the program.
  • Video server manager 5 may also selectively cause one or more advertisements or promotions to be transmitted to the subscriber. These advertisements or promotions may be selected based on information associated with the subscriber, information associated with the programme requested by the subscriber, and/or information associated with the advertisement which was originally broadcast with the programme. For example, if the subscriber is a 25 year-old male, and the subscriber submits a request to view a live broadcast of a sporting event, video server manager 5 may identify one or more advertisements which are targeted to the subscriber (because of the subscriber's demographics, the genre of the programme requested, or a combination of both sets of information). For example, the beer commercial discussed above may be selected (because the subscriber's demographic information matches the target audience information associated with the beer commercial) for broadcast to the subscriber. Video server manager 5 may cause the selected advertisement (or advertisements) to be broadcast to the subscriber in conjunction with the broadcast of the programme by causing the advertisement to be inserted at a location identified by EIT information extracted by SI processor 19 (shown in Figure 3).
  • Similar targeting may be performed in conjunction with the broadcast of programmes from the short-term or longer-term archives.
  • the system allows accurate targeting of advertisements or promotions to subscribers based on information about the subscriber, information about the programme, information about the advertisement or promotion, or a combination of this information.
  • advertisements or promotions may be transmitted to subscribers in a way which prevents the subscriber from skipping or fast-forwarding through the advertisement.
  • advertisements may be transmitted as banner advertisements which are displayed along a top or bottom portion of a screen during a programme.
  • advertisements may be transmitted for display during a period in which the subscriber has paused playback of a programme.
  • advertisements may be transmitted for play at the beginning of a requested programme, and must be viewed before the programme is viewed. In this manner, advertisers may accurately target select audiences, reducing inefficiencies related to existing television advertising techniques.

Abstract

A broadcast system and method for identification and insertion of advertising in broadcast programmes includes receiving a broadcast data stream, identifying an advertisement in the broadcast data stream, and updating an advertisement schedule including information identifying the advertisement and a location of the advertisement within a programme in the broadcast data stream. On playback, the advertisement or a replacement advertisement is inserted into the programme at the location or at another location within the programme.

Description

SYSTEM AND METHOD FOR IDENTIFICATION AND INSERTION OF ADVERTISING IN BROADCAST PROGRAMMES
Field of the Invention The present invention relates to the broadcast of programmes. More particularly, the present invention relates to systems, methods, computer program code, and means for the identification and insertion of advertising in broadcast programmes.
Background to the Invention
A television viewer can receive a television signal in many ways including: VHF/UHF antenna; cable; satellite receiver dish; and copper wire (telephone, power line). The viewer can receive television content directly from content providers, for instance by receiving UHF television signals, or indirectly from a re-broadcaster, for instance from a cable service provider. Re-broadcasters take the output of content providers and re-distribute it.
In broadcast television, advertisements are inserted between sections of main programmes by the broadcaster. Advertisements are often scheduled to air at a particular time to coincide with the scheduled broadcasting of a particular main programme, for example sportsware being advertised during the broadcast televising of sporting events. Broad regional variations can be reflected in the broadcast output of a single television channel by providing different sets of advertisements to respective television transmitters. These regional variations are somewhat limited in that each advertising slot has a predetermined duration. Advertisements can therefore be broadcast with reference to the context of a corresponding programme event, and to the demographics of the viewers served by any given transmitter, but with very little correlation to the personal context of any particular viewer.
When the viewer makes use of a video cassette recorder (VCR) to "time shift" (i.e., to delay playback), the advertisements are recorded along with the main programme. Recent technological advances, including personal video recording devices (PVRs) and digital video recorders (DVRs), provide viewers with greater flexibility in recording programmes. These so-called 'super-video' devices can provide personalized functionality by building up a profile of TV usage and attempting to record similar programs. 'Super-video' devices are also known to provide a 'time-shift functionality, whereby the broadcast video stream is recorded at the same time as it is being played back, so that a video stream of the main programme being played back can be halted at any desired point and resumed later, even while later parts of the same main programme are being broadcast.
Furthermore, certain PVRs can be configured to allow viewers to fast forward through advertisements so that a main programme can be viewed without the intervening advertisements. While this 'super-video' functionality might be attractive to a viewer, it presents a challenge to broadcasters' advertising revenues. If every viewer used their 'super-video' device to playback the output of commercial television channels, it can be expected that a significant proportion of these viewers would opt never to watch the advertisements at all. Advertising through the television would be correspondingly less effective for advertisers, and advertisements would be placed elsewhere. Consequently, the broadcaster or re-broadcaster would accrue less profit as a result of advertising.
In addition to broadcasting television programmes, certain television suppliers provide subscribers with further "view on demand" facilities (including systems providing "near video on demand" or NVOD and systems providing "video on demand" or VOD). Typically, a broadcaster will offer to broadcast a restricted number of selected events (such as movies), at regular time intervals. Viewers may subscribe to receive a particular broadcast of the event. After subscription, the event will be broadcast directly to the viewer's set top box, using satellite or cable distribution methods, for example. The broadcast times of the events themselves cannot however be controlled by the viewer. Broadcasters often broadcast "view on demand" events without advertisements. Generally, "view on demand" events command a premium that compensates for any loss in advertising revenue. When, however, view on demand facilities are provided by a re-broadcaster to allow time-shifting, the suppression or lack of advertisements represents a loss of potential revenue-viewers watching the re-broadcast are able to view the programme without paying the original premium and without advertisements.
In many copyright jurisdictions, a "client-side" device, such as a VCR or a super-video device, is treated in a different way from a "server-side" device. As a result, a viewer with a client-side device can effectively make recordings of television programmes for personal use without infringing copyright. Any broadcast service provider using a server-side device that provides a subscriber with the same faculty would breach copyright both by recording the broadcast programme and by re- broadcasting the same programme at a later time. Broadcast service providers that wish to provide a time-shift functionality for their subscribers using server-side devices must therefore have a license from the content providers. Since advertising is an important source of revenue for the majority of content providers, it is likely that any potential reduction in advertising effectiveness will result in either a corresponding increase in license royalties or an outright refusal to license.
It would be desirable to provide a rebroadcast service that maintains the advertisements provided by content providers. It would also be desirable to provide a rebroadcast service that increases the effectiveness of advertisements in general.
Summary of the Invention
According to a first aspect of the present invention, a broadcast method comprises the steps of: receiving a broadcast data stream; identifying an advertisement in said broadcast data stream; and updating an advertisement schedule including information identifying said advertisement and a location of said advertisement within a programme in said broadcast data stream.
According to a second aspect of the present invention, a broadcast system comprises: means for receiving a broadcast data stream; means for identifying an advertisement in said broadcast data stream; and means for updating an advertisement schedule including information identifying said advertisement and a location of said advertisement within a programme in said broadcast data stream.
According to a third aspect of the present invention, a broadcast system comprises: a head end, coupled to receive an input broadcast channel data stream including a programme having an advertisement; a service information processor, in communication with said head end and retrieving service information associated with said programme and said advertisement including information identifying a location of said advertisement within said programme; a storage server, in communication with said head end and said service information processor, storing a copy of said programme and associating a storage location of said copy with service information associated with said programme; an advertising server, in communication with said service information processor, storing a copy of said advertisement and further storing a replacement advertisement and service information associated with said advertisement; and a distribution system, coupled to said storage server and said advertising server, operable to transmit said copy of said programme to a subscriber and to insert a selected replacement advertisement at said location. According to a fourth aspect of the present invention, a subscriber-initiated method for viewing a programme comprises the steps of: interacting with a programme schedule displayed on a display device to select a desired programme stored in an archive; transmitting information identifying the subscriber and information identifying the desired programme; receiving a uni-cast transmission of said desired programme; and receiving a uni-cast transmission of a replacement advertisement embedded within said programme, said replacement advertisement different than an advertisement included in a live broadcast of said programme. According to a fifth aspect of the present invention, a broadcast method comprises: receiving, from a subscriber, a request to play an archive copy of a programme; identifying a location of said archive copy of said programme; selecting at least a first advertisement based at least in part on information associated with said programme; and, inserting said at least first advertisement into said programme.
Brief Description of the Drawings Examples of the present invention will now be described in detail with reference to the accompanying drawings, in which:
Figure 1 is a block diagram of an example of a broadcast system;
Figure 2 is a more detailed block diagram showing a number of different components that may be operated by (or on behalf of) a broadcast service provider to allow a subscriber to view both live broadcast programmes and archived programmes on a television.
Figure 3 is a still more detailed block diagram of a broadcast system;
Figures 4A-4D are diagrams depicting data structures in a broadcast data channel stream;
Figure 5 is a flow diagram showing a process for identifying and processing advertisements;
Figure 6 is a flow diagram showing a process for playing a program and inserting advertisements; and, Figure 7 is a further block diagram of an example of a broadcast system.
Detailed Description
The present invention relates to systems, methods, computer program code and means for the identification and insertion of advertising in broadcast programmes. The present invention may be implemented in a broadcast system such as the broadcast system described in our co-pending International Patent
Application No. , filed on even date herewith (Attorney Reference No.
PJF01633WO). For example, as will be discussed below, the present invention allows the identification and insertion of advertising in programmes broadcast by a broadcast service provider, including programmes broadcast "live" or programmes broadcast from archives (including short and longer-term archives). Upon reading this disclosure, those skilled in the art will recognize that features of invention may be implemented in other broadcast systems as well.
For convenience, and ease of exposition, a number of terms are used herein. For example, the term "subscriber" is used to refer to an individual or entity which has a subscriber relationship with a broadcast service provider to receive and view broadcast data (either live broadcast data or archived broadcast data or both). A subscriber, for example, may be associated with a particular set top box identifying the subscriber. "Subscribers" may also be referred to herein as "users" or "viewers". As used herein, the term "set top box" is generally used to refer to devices associated with subscribers which receive broadcast data from a broadcast data service provider. A set top box may be a dedicated device designed to receive broadcast data, or it may be implemented as a component or function associated with a personal computer or other computing device. The term "broadcast service provider" or "service provider" may be used to refer to an entity (or entities) which operate components of broadcast systems pursuant to embodiments described herein to deliver live broadcast data and archived broadcast data to subscribers. For example, a "broadcast service provider" may be an entity which operates (or is associated with) one or more systems configured to transmit programmes to subscribers. Broadcast service providers operate systems including exchanges or central offices that are configured to deliver digital data to subscribers over the twisted pair communication lines that are present in many households and businesses around the world (e.g., such as telephone or copper wires). Broadcast service providers deliver this data using digital subscriber line ("DSL") techniques. In one illustrative embodiment to be discussed herein, a broadcast service provider delivers digital data using asymmetric DSL ("ADSL") techniques, although those skilled in the art will recognize that other DSL techniques (generally referred to as "xDSL" may also be utilized). Further, although wired communication techniques are discussed, those skilled in the art will appreciate that features of embodiments may also be implemented using wireless techniques.
As used herein, the term "live broadcast data" or "live broadcast programme" refers to broadcast data viewed at the time scheduled and broadcast by the broadcasting entity. As used herein, the term "archived broadcast data" or "archived programmes" refers to broadcast data or programmes which is stored for viewing at a time later than the "live broadcast". The broadcast system can provide two different types of data archives: short-term archives (e.g., where programmes are stored for a relatively short period such as 24-72 hours), and longer-term archives (e.g., where programmes may be stored for a longer time period). For example, longer-term archives may allow storage of programmes indefinitely. As another example, a broadcast service provider may store programmes for up to a set period (e.g., such as one month or one year). As yet another example, a broadcast service provider may periodically query subscribers to determine whether the archived programme should be deleted from the archive. As used herein, the term "advertisement" is generally used to refer to a promotion or solicitation which generally includes video and audio data (but which may include teletext, video, or audio data) which is embedded or inserted into a stream of broadcast data. Advertisements may be positioned at numerous locations within a broadcast data stream, including at the beginning of programmes, at various times during programmes, at the end of programmes, etc. By way of introduction, an example of the present invention will now be described by first referring to Figure 1, where a depiction of a broadcast system 50 shown. Broadcast system 50 includes one or more broadcast service providers 51 delivering content to one or more subscribers 54a-n. The delivered content can include both broadcast programmes (either live or archived) and advertisements.
Subscribers may receive broadcast programme data in several ways. For example, subscribers (such as subscriber 54n) may receive "live" broadcast programmes; that is, the subscriber way view a programme at the time at which it is being broadcast. As an illustrative example, (which will be continued throughout this description) a "live" broadcast programme may be the "Evening News", broadcast every weeknight starting at 6pm local time. Broadcast system 50 allows subscribers, such as subscriber 54n, to view this programme at its designated time (at 6pm local time). As used herein, (and as further defined below) the term "live" is used to generally refer to the actual and planned time of broadcast of a broadcast programme (and is not necessarily intended to refer to a programme which is both filmed and viewed at the same time). To minimize traffic on the backhaul to the ADSL central office or exchange, these "live" broadcasts are transmitted to subscribers 54 via multicast to avoid duplications of traffic. This increases the system's ability to transmit video and audio programme data to a large number of subscribers without impairing the capacity of the backhaul (and thereby allowing a larger number of subscribers to interact with the system to selectively view archived programmes as described below).
Subscribers may be added to multi-cast broadcasts of programmes using techniques such as those described by Internet Group Management Protocol (IGMP), IETF RFC 3376 (October 2002) (available at www.ietf.org) the contents of which are incorporated herein by reference for all purposes.
These live broadcasts may include advertisements in addition to programmes. For example, the "Evening News" programme may include groups of two or three (or more) advertisements located at the beginning of the programme, every 15 minutes during the programme, and at the end of the programme. Broadcast service provider 51 may capture and identify these advertisements during broadcast and, in some embodiments, may replace some or all of the advertisements with advertisements specifically directed to one or more subscribers 54.
The broadcast system 50 allows subscribers (such as subscriber 54b) to view a programme at some time after the "live" broadcast time. The system can generate and store a short-term archive copy of all broadcast programmes received by broadcast service provider 51. Further details of how this short-term archive copy is generated and stored will be provided below. In general, broadcast service provider 51 includes a storage device 53 (or group of devices) adapted to store copies of broadcast programmes for a number of different broadcast channels. Sufficient storage space is provided to store 24-72 hours of broadcast programmes for a number of different channels. In conjunction with the generation and storage of these short-term archive copies, a schedule of programmes is created. Subscribers wishing to view a programme within 24-72 hours of the time at which it originally aired (that is, after the "live" broadcast) may interact with the schedule of programmes to select the programme and cause the programme to be streamed to the subscriber. These programmes are stored in a manner which allows the subscriber to fast forward, pause, and rewind while viewing the programme. As an example, subscriber 54b may choose to view the "Evening News" at 6:15pm rather than at the "Jive" broadcast time of 6pm. Further, subscriber 54b may fast forward, rewind, or pause as desired during his viewing of the programme.
The broadcast system 50 further allows subscribers (such as the subscriber 54a) to select particular programmes for longer-term archival. For example, broadcast service provider 51 or a subscriber (such as subscriber 54a as shown in Figure 1) may wish to create a longer-term copy of a particular broadcast of the "Evening News". Subscriber 54a may indicate this desire by communicating with broadcast service provider 51 (e.g., via a set top box or other device as will be discussed further below). A copy of the broadcast may then be stored on a storage device 52 used for longer-term storage of programmes. The copy of the programme is associated with information uniquely identifying the subscriber 54a so that the subscriber 54a may be allowed access to the programme as desired. Subscriber 54a may then view the programme as desired. For example, subscriber 54a may view the particular episode of the "Evening News" weeks after it aired. Subscriber 54a may repeatedly view the same episode until the episode is deleted from the archive (e.g., at the subscriber's request or once an archive period has expired). To reduce storage needs, multiple subscribers may have access to a copy of a program stored in a longer-term archive. For example, information identifying each customer who has requested the creation of a copy of a programme may be given access permissions to share access to an archive. The broadcast system 50 allows each of these types of broadcasts to be selectively delivered to subscribers, providing subscribers with greater choice, control and flexibility in viewing. Subscribers may access these broadcasts via telephone wires such as the copper telephone wires currently installed in many households. The system delivers broadcast and archived programmes to subscribers using asymmetric digital subscriber line (ADSL) techniques (although those skilled in the art will appreciate that other techniques now known or later developed may be used to deliver programmes pursuant to embodiments disclosed herein). Programmes are delivered using encoding schemes such as the widely-used "Moving Picture Experts Group version 2" (MPEG-2) scheme, although those skilled in the art will appreciate that other encoding schemes may also be utilized.
Broadcast data may be delivered from broadcast service provider 51 to subscribers 54 using constant bit rate (CBR) encoding techniques, thereby providing a maximum bitrate that is used for both video and audio data. Applicants have found that the use of CBR encoding provides reliable and consistent content delivery over ADSL networks, despite issues with distance from the ADSL exchange (or "central office") and despite the demands for high bitrates to provide quality video services. Where video bitrates for particular programmes vary, embodiments utilize encoders configured to pad or "stuff' the video data extra (blank) data to create an actual constant bitrate. Further, the backhaul to the ADSL central office or exchange is "overbooked" to assume a particular level of contention which ensures sufficient bandwidth is available to subscribers. For example, the backhaul may be designed such that 33% of all subscribers serviced by the backhaul are assumed to be active at any time. This may be implemented, by reducing the number of subscribers associated with each digital subscriber line access multiplexor (DSLAM) associated with a particular exchange or central office.
Broadcast service provider 51 further operates to identify and capture advertisements in conjunction with the creation of archive copies of broadcast programmes. A variety of different types of information about advertisements may be captured. For example, when a programme is broadcast, broadcast service provider 51 may generate information identifying the location of each advertisement in the programme as well as information identifying details of the advertisement and the advertisement's audio and video data. This information may be stored in longer-term or short-term archives 52, 53 or may be stored in separate advertisement databases (not shown). The information is used when a programme is transmitted to a subscriber for viewing and allows broadcast service provider 51 to identify the point in the transmission where an advertisement should be inserted. This information also allows broadcast service provider 51 to select an appropriate advertisement for insertion (e.g., by targeting a subscriber's particular demographic). That is, broadcast service provider 51 may select different advertisements for insertion into a programme. Different subscribers may be presented with different advertisements. When a program is viewed at different times, different advertisements may be inserted. For example, if a programme is viewed in July, an advertisement for an amusement park may be played; if the programme is viewed in December, an advertisement for a ski area may be displayed. The present invention allows great control over the selection and insertion of advertisements in programmes that are broadcast to subscribers, thereby increasing advertiser revenue and ensuring that time-shifted programmes are able to generate advertising revenues.
Broadcast service provider 51 operates to select appropriate advertisements for insertion into programmes that are transmitted to subscribers. These selected advertisements may be inserted at the location where original advertisements were included during the original broadcast of a programme, or they may be inserted at other locations. For example, a movie which originally contained advertisements every 20 minutes may be transmitted with advertisements every 30 minutes. As another example, a movie which was originally broadcast on demand and which did not include any advertisements may be transmitted by broadcast service provider 51 with a number of advertisements inserted. The advertisements inserted by broadcast service provider 51 include service information which has a link to additional promotional information which is presented to the subscriber when the advertisement is viewed. The broadcast system 50 of the present invention may further be configured to allow subscribers to skip some or all advertisements. For example, broadcast service provider 51 may operate a "premium" service which subscribers may pay additional fees to participate in and which allows participating subscribers to skip or fast forward through advertisements. Further details of the present invention will now be described by referring to
Figure 2. The system of Figure 2 depicts a number of different components that may be operated by (or on behalf of) a broadcast service provider to allow a subscriber to view both live broadcast programmes and archived programmes on a television 9. A number of components of the system of Figure 2 may be operated by, or on behalf of, a service provider offering broadcast and archived programmes to subscribers. Some or all of the components may be implemented on one or more computing devices configured to perform the functions described herein. Although some components are shown as separate devices, some or all of the functionality described herein may be implemented on one or more computing devices or networks of computing devices.
In Figure 2 a broadcast channel source 1 generates a data feed of broadcast channels which are provided to a broadcast distribution head-end (BDHE) 2. For example, broadcast channel source 1 may be any of a number of different types of sources of broadcast data, such as, for example, sources of television, video, audio, or other data. Each data feed includes video and audio information for each channel as well as service information (SI) for each programme broadcast on each channel. The service information includes information about each programme including start time and duration, and a synopsis of the programme.
As used herein, the term "service information" (SI) or "programme specific information" (PSl) refers to information embedded in the MPEG-2 transport stream as additional transport packets having unique packet identifiers. For example, SI may include electronic programme guide information such as the nature of a programme, the timing and channel on which it is located, and other information identifying the type, content, and timing of a particular programme. SI may include additional information such as a "service description table" (or SDT) providing information identifying the service provider of a programme, an "event information table" (or EIT) containing programme names, start times, durations, etc., and other timing and event information.
Broadcast data may be transmitted using a variety of communications media. For example, the broadcast channel source 1 may provide a number of channels of broadcast data as digital or analogue television captured by digital satellite, digital terrestrial, cable, digital subscriber line (xDSL), or as analogue or direct feeds over a network. The broadcast data may be received from a digital source (or is otherwise converted into digital broadcast data prior to receipt by BDHE 2). Further, the digital broadcast data may be encoded using an encoding scheme such as the MPEG-2 encoding scheme, although other encoding schemes may also be utilized. Use of an encoding scheme such as MPEG-2 allows the receipt of digital broadcast data which includes encapsulated MPEG-2 transport stream service information associated with the digital broadcast data. This service information, as will be described further herein, provides for accurate timing of programmes. A number of broadcast channel sources 1 may be utilized in the system of Figure 2. For example, the system may receive dozens or even hundreds of different channel data feeds from various broadcast channel sources. Each channel data feed consists of a number of programmes. These channel data feeds are acquired by BDHE 2. BDHE 2 includes video acquisition equipment and may also include encoders to compress the channel data into a form which is suitable for a set top box to decode and display on a television. The BDHE 2 may also include multiplexing equipment to multiplex the data. The broadcast data is encoded into a digital video broadcast (DVB) standard, such as the MPEG-2 video and audio and encapsulated in an MPEG-2 transport stream. Further details of BDHE 2 will be discussed in conjunction with Figure 3 below.
Following acquisition, encoding and multiplexing, each of the broadcast channels are directed, encapsulated in the MPEG-2 transport stream, to a timeslip server 3 and broadcast schedule server 4 under instruction from a video server manager 5. The same output may be sent to each server. Alternatively, separate data is transmitted to a service information processor (not shown, but which may be configured as part of BDHE 2 or as a separate component) and then used to create schedule information at broadcast schedule server 4. The use of a service information processor will be described further below in conjunction with Figure 3. Timeslip server 3 is typically a computer system (or network of computer systems) with a storage capacity that allows it to save the data from the broadcast feeds locally. All programmes from each of the broadcast channels are stored at least for a period of time. For example, timeslip server 3 may store 24-72 hours of programming from each of the broadcast channels, allowing subscribers to view programmes from the broadcast channels for some period (e.g., 24-72 hours) after the time the programme is originally broadcast. As will be described further below, timeslip server 3 also operates to allow subscribers to selectively archive broadcast programmes for viewing at a time of their choosing. These longer-term archives may be stored at (or accessible by) archive content server 10. Although further details will be provided below, in general, the timeslip server
3 receives a number of encoded channels of broadcast data from BDHE 2 and stores the video and audio data for each channel on a disk as a continuous stream. The timeslip server 3 also functions to accurately identify the start and end of each programme as well as the locations where each programme is stored on disk. This information allows the timeslip server 3 to quickly and accurately retrieve programmes when requested by subscήbers. Further, the timeslip server 3 functions to store broadcast channel data so that it may be efficiently and accurately rewound or fast-forwarded upon request by subscribers. Further details of these features will be discussed further below. The broadcast schedule server 4 interacts with the timeslip server 3 (and with other sources of schedule information) to construct an accurate historical schedule of programmes. This schedule information is presented to subscribers who can interact with the schedule to select a desired programme to view or to archive. Broadcast schedule server 4, as will be discussed further below, may create and maintain different types of schedules (e.g., including a long form, or detailed schedule, and a short form, or summary schedule). These schedules may be presented to subscribers and used by subscribers to interactively identify programmes for viewing or archival (e.g., a subscriber may interact with a schedule to select one or more programmes for viewing from the short-term archive, or to select one or more programmes to be stored in the longer-term archive for later viewing).
The video server manager 5 controls the distribution of the digital broadcast data to viewers for live broadcasting of each channel. Video server manager 5 also stores (or has access to) customer information. For example, customer information may include information associating a particular customer or subscriber with the unique identifier assigned to the customer's set top box 8. Customer information may also include information used to track customer viewing preferences, demographic information, etc. Video server manager 5 also stores (or has access to) advertisement information, including advertisement data identifying the location of advertisement slots in programmes that have been archived as well as data identifying the advertisement that was originally broadcast with each programme. Further, video server manager 5 may also store (or have access to) new or replacement advertisements including the video and audio data associated with the advertisement.
Video server manager 5 uses this advertisement data to select a replacement advertisement and provide the replacement advertisement to switching and routing network 6 for transmission to a subscriber in an appropriate location within a programme. Advertisements may be selected for transmission based at least in part on information associated with a subscriber (e.g., such as customer demographic information retrieved from the customer database), information associated with the original advertisement (e.g., a rule may be implemented which ensures that if the original advertising slot was paid for by Coca-Cola, Inc., the replacement advertisement must be a Coca-Cola advertisement), and information associated with the programme (e.g., a rule may be implemented which ensures that if the programme is a cartoon intended for young children, the replacement advertisement cannot be an advertisement targeted to an older audience such as a beer commercial).
Other information may also be provided as will be discussed below. The video server manager 5 provides control of switching and routing facilities 6 including unicast, multicast and broadcast of each channel. Each broadcast channel is transmitted across a network 7 to the set top box 8 which directs the data to the television 9. Network 7 may be any of a number of different types of networks or combinations of networks. For example, network 7 may be a wide area distribution network to local exchanges and local loop delivery using ADSL. Network 7 allows broadcast data to be delivered to subscriber set to boxes 8, and also allows the transmission of data from set top box 8 to switching and routing facilities 6 (e.g., to select programmes for archive, for play of programmes, etc.). Subscribers may also be able to access service or programme information related to the current programme via the set top box 8.
Set top box 8 may be any device configured to receive digital broadcast data at a subscriber's home. Where digital broadcast data is delivered to subscribers via ADSL techniques, set top box 8 includes a modem or receiver allowing the receipt and transmission of data over telephone wires. Where broadcast data is delivered in MPEG formats, set top box 8 includes an ability to decode the received MPEG data. Set top box 8 includes information uniquely identifying the subscriber associated with the set top box. For example, set top box 8 may include a unique identifier such as a digital signature or other cryptographic identifier. This identifier may be provided on a tamper resistant device such as, for example, a smart card. This unique subscriber identifier may be appended to messages transmitted from the set top box 8 to the broadcast service provider, allowing the broadcast service provider to identify the subscriber. Further, the unique identifier may be used in setting up unicast sessions between the switching and routing 6 and individual set top boxes 8. Set top box 8 may be equipped with an infra red or other sensor, allowing a subscriber to interact with set top box 8 using a remote control device.
The system provides subscribers with the ability to view live broadcast programmes, view archived broadcast programmes some period after the initial live broadcast (e.g., for a period of 24-72 hours after initial broadcast), or store and view specific programmes in a longer-term archive for later viewing. For programmes which are viewed after the initial live broadcast, subscribers are able to interactively control the play of the programmes (e.g., subscribers may pause play, fast forward, or rewind as desired). Further, because the system creates an accurate historical programme schedule based on the actual broadcast data received by a broadcast service provider, subscribers can view and interact with a detailed and accurate schedule to select programmes for viewing or for archival. The system also allows the creation of an accurate historical advertisement database, including information identifying the location or position of each advertisement in each programme. This advertisement database may be used to control the insertion (and, if appropriate) replacement of advertisements in programmes broadcast to subscribers. Further, each of these viewing options is provided using relatively low bandwidth technologies such as ADSL, allowing subscribers to view and interact with a wide variety of broadcast programmes over existing home telephone wires.
Further details of the present invention will now be described by reference to Figure 3, where a more detailed example of a broadcast system 50 is shown. Broadcast system 50 includes one or more broadcast channel provider / rights owner(s) 12 which generates (or causes to be generated) broadcast data that is provided to BDHE 2 for distribution to subscribers via a number of set top boxes 8. In this example, digital broadcast channel data is received at BDHE 2 via one or more digital channel sources 30 (e.g., such as digital terrestrial, digital satellite, or digital cable sources). This digital broadcast channel data is received encoded in MPEG (or similar) formats. As shown, digital broadcast channel data received in MPEG-2 format from digital channel source 30 is typically received in a "multiple program transport stream" (or MPTS) (that is, in a transport stream of packets having multiple programmes encoded therein).
This MPTS of channel information is provided to a decoder 31 which decodes the digital broadcast channel data into serial digital information for each channel. Operation of decoder 31 causes the service information associated with individual programmes to be lost. This service information (or at least portions thereof) is preserved by passing the digital broadcast channel data received at digital channel source 30 to a service information ("SI") processor 19. This SI processor 19 may be implemented as part of BDHE 2 or it may be implemented as a separate component in communication with BDHE 2. SI processor 19 receives the digital broadcast channel data in MPTS format and then parses information from each broadcast channel to obtain detailed programme information associated with each channel. For example, SI processor 19 parses incoming data to obtain a "service description table" (SDT) and "event information tables" (EIT) for each broadcast channel. These tables provide information about each programme as well as about upcoming programmes on each channel. For example, the tables provide information identifying the name of the programme, a description of the programme, a duration of the programme, start and end times (scheduled and actual) and information about the programme's genre. SI processor 19 returns information to BDHE 2 for multiplexing with the video and audio information for each channel. BDHE 2 re-encodes each channel into "single programme transport streams" (or SPTS) using an encoder 32. This encoded audio and video information is associated with the SI information from SI processor 19 using a multiplexor 33. SI processor 19 returns an MPEG transport stream containing programme access table (PAT) and programme map table (PMT) service information as well as private data carried on multiple programme identifiers (PIDs) for each channel. Multiplexor 33 inserts these private PIDs alongside the audio and video data for each channel. To ensure playback consistency, the total bandwidth used by each of the private data PIDs is at a constant bit rate (CBR). In general, the total bandwidth allocated to each private data PID which is re-associated with the audio and video data by multiplexor 33 is kept relatively small in comparison to the video and audio bandwidth.
Each of the MPTS transport streams are then divided into multiple individual single programme transport streams (including SI data for each programme) using a network interface 34. Network interface 34 is an MPEG-2 transport stream aware interface. The multiple single programme transport streams are passed to the switching and routing devices 6 for routing (under direction of the video server manager 5) as live broadcast data to appropriate set top boxes 8.
Si processor 19 also parses broadcast data streams to identify and retrieve information associated with advertisements. Examples of broadcast data streams parsed to retrieve advertisement information will now be provided by briefly referring to Figures 4A-4D. As shown in Figure 4A, a broadcast data stream (such as the stream received at BDHE 2) may include a number of programmes without advertisements (e.g., such as programmes received from a channel which does not receive income from advertisements). Such a broadcast data stream may include EIT information (shown as "E1", "E2" and "E3") separating each programme. EIT information "E1" occurs at time "t1" and has a duration equal to the difference "d" between "t1" and "t2" (the ending time of the programme). This information is extracted by SI processor 19 for use in creating an accurate historical programme schedule (e.g., stored at broadcast schedule server 4) and programme archives.
As shown in Figure 4B, a broadcast data stream may include a number of programmes, each having advertisements placed within the programme. As shown, a programme begins at time "t1" indicated by EIT "E1". Placed within the programme are three advertisements, which are indicated by EIT information "Ea1", "Ea2" and "Ea3", and having times "ta1", etc. This information is extracted by SI processor 19 to create an accurate historical programme schedule as well as to create advertisement information (e.g., which may be stored at, or accessible to, video server manager 5). This advertisement information is used to select and insert advertisements when the programme is played. In particular, on playback, the advertisement information extracted by SI processor 19 is used to identify the appropriate time in a programme at which to insert an advertisement (such as a replacement advertisement targeted to the subscriber).
In particular, in the data stream of Figure 4B, on playback, a playback timer will identify the time ("ta1") during playback at which an advertisement was originally located when the programme was broadcast. Playback of the programme may be paused and an advertisement may be inserted at time "ta1" and played. A second advertisement may be inserted at time "ta2", and a third at "ta3". Play of the programme is resumed at a time equal to Mta1+da1+da2+da3". Additional advertisements may be inserted at times "ta4" and "ta5". For each of the types of data streams of Figure 4, advertisement information extracted by SI processor 19 may also include information which identifies the content of the advertisement. For example, EIT information may include information identifying an advertiser, information identifying the particular commercial, information identifying the target audience, information identifying the dates during which the advertisement should be played, etc. This information, along with the timing and duration information, is stored and used to allow the selection and insertion of advertisements during programme playback.
As shown in Figure 4C, a broadcast data stream may include a number of programmes, each having a block of advertisements embedded within the programme. For example, as shown, a programme begins at time "t1" indicated by EIT "E1". An "ad break" is located within the programme and is identified by EIT information "Ea1" at "ta1". The ad break may be sufficiently large to include more than one advertisement. Unlike the data stream of Figure 4B, the data stream of Figure 4C does not utilize separate EIT information for each individual advertisement. As shown in Figure 4D, a broadcast data stream may include a number of programmes which have embedded advertisements which are not identified by EIT information. It may not be possible for SI processor 19 to parse and identify these advertisements. As an alternative, the system may utilize other indicators to identify these advertisements. For example, an operator may manually view the broadcast data stream and identify the start and end of each advertisement or block of advertisements.
Referring again to Figure 3, SI processor 19 may be configured to save further bandwidth by selectively parsing and using particular types of service information. For example, subtitle information may be manipulated to reduce bandwidth. As a particular example, SI processor 19 extracts teletext subtitles from the MPTS data received from BDHE 2 by parsing the complete teletext stream and extracting only the subtitle information from the stream. For example, some broadcast systems incfude teletext subtitles in a particular "page" of teletext information associated with a broadcast. In some systems, the subtitles are include in teletext "page 888". In such an system, SI processor 19 is configured to repackage the "page 888" packets, and optionally inserts a new packet (e.g., such as a "page 100" packet) into the stream using another private data PID (again, in CBR).
The dropped teletext pages may be stored on a teletext server or database
(not shown in Figure 3) which can later be queried by a subscriber's set top box 8 during viewing of the broadcast programme. As another example, DVB subtitles (where present) can also be extracted by SI processor 19 to reduce bandwidth. For example, SI processor 19 may parse the subtitle information and translate the subtitles into a bandwidth-reduced form (e.g., the information may be stored on a server and displayed only in response to particular queries from set top boxes 8). In this manner, SI processor 19 can operate in conjunction with BDHE 2 to remove certain types of service information from the transport stream, while ensuring that needed service information remains associated the correct programmes.
SI processor 19 may also be configured to handle radio channels (e.g., by identifying radio channels as having audio-only PIDs). The audio-only PIDs may be passed directly to multiplexer 33 without need for re-encoding. Further, SI processor 19 may also be configured to extract interactive applications (which may be stored by video server manager 5 for use on-demand), thereby avoiding the need to use carouselling systems typically used in broadcast environments. In some broadcast environments, such as conventional satellite and cable systems, there is often no back channel which can be used to request interactive applications and associated assets. Previous systems overcome this lack of a back channel by using a carousel. For example, a channel provider repeatedly transmits (or "carousels") the interactive application and associated assets on a separate MPEG PID. These previous systems rely on the set top box to identify, retrieve, and cache this information. This can lead to problems. For example, if a viewer moves within an application, or moves from one application to another, the needed information may not have been cached, and the set top box must wait until the channel provider retransmits the data (or until the data reappears on the carousel).
One protocol which is used to implement such carouselling techniques is specified by the Digital Storage Media Command and Control (DSM-CC) extensions of MPEG-2, Part 6. The present invention allows broadcast systems to broadcast interactive applications without need for such carouselling techniques. Further, alternative versions of interactive applications may be delivered to subscribers based on access rules or permissions established by channel providers or content owners (e.g., to ensure that only the latest version of a particular interactive application is made available to subscribers, etc.).
In addition to providing processed service information to the head-end for recombination with audio and video data for each programme, SI processor 19 also provides the processed service information to broadcast schedule server 4 for use in creating accurate schedule data 15. By utilizing service information based on digital broadcast channel data as it is actually received by BDHE 2, embodiments are able to create a historical schedule with accurate information about the actual start and end times for broadcast programmes on each of the broadcast channels received at BDHE 2. This information may be combined with published schedule data (e.g., such as broadcast schedule data published by broadcast channel providers / channel owners 12) to create schedule data 15 having substantially complete and accurate programme information.
As an example, many programmes, such as live sporting events, have a scheduled broadcast time which is an estimated time. This estimated time is used by the broadcast channel provider / rights owner 12 to produce a programme schedule. Often, however, such programmes may finish early (or late). Embodiments allow the creation of schedule data 15 which accurately identifies the actual schedule for the programme. This information may be utilized to accurately and efficiently archive programmes for later playback (e.g., a sporting event that actually lasts for 47 minutes will be identified as lasting 47 minutes rather than some estimated time such as an hour).
The network interface 34 of BDHE 2 also provides the de-multiplexed SPTS data to timeslip server 3. As shown, timeslip server 3 has a number of different functional components. In particular, each of the de-multiplexed channels of SPTS data are provided to an acquire and store channel 42 which operates to read the received transport stream and store it onto the correct storage location in the next available storage device. Acquire and store channel 42 also operates to wrap around the end of each storage device and to maintain a circular buffer. The transport stream received from BDHE 2 is stored in an unaltered format (i.e., it is stored in the format in which it is received). As depicted, the data is stored in separate storage devices 43, 44 (or storage areas) for each channel. Each storage device (or storage area) is configured to act as a circular or wrap-around buffer sized to store a certain amount of broadcast data (e.g., if the short-term archive function is intended to provide 24 hours of short-term archived programmes, each buffer is sized to accommodate 24 hours of data). When the end of the buffer is reached, the oldest " programmes in the buffer are overwritten with the most recent broadcast programmes for each channel.
Acquire and store channel 42 also operates to parse the private data SI packets from the transport stream. The private data SI packets are passed to a schedule table 41 , along with storage information identifying where the programme associated with particular SI data is stored. For example, schedule table 41 may include an information record for each programme which includes the SI information for the programme, along with disk location information particularly identifying the disk storage location on which the programme is stored (e.g., such as a buffer location in a particular channel data store such as data stores 43 or 44). The SPTS stream received by acquire and store channel 42 is CBR, allowing acquire and store channel 42 to reliably predict the amount of storage required for each programme and to ensure the timeliness of reading data back off disk upon playout. CBR ensures that the output rate of a stream on playout equals the input rate. Schedule table 41 may be configured to contain information identifying a list of channels, each of which is associated with records containing an event or programme identifier, an event time, and a disk position at which the programme is stored. This allows the start and end times of programmes to be accurately located for playout. The start and end positions are located at programme boundaries. For example, the start and end positions may always be located on a video "group of programmes" (GOP) or audio "packetized elementary stream" (PES) boundary to ensure that playback always begins at a safe point. Programme information in schedule table 41 is removed once the circular buffer of programmes wraps past the programme.
Timeslip server 3 also includes a video and audio stream analyzer 45. Video and audio stream analyzer 45 operates to uniquely identify each video GOP boundary. The streams received by acquire and store channel 42 are parsed to identify these boundaries. The disk position of each GOP on each channel is stored in a GOP list 46. A GOP can span many MPEG transport stream packets (and may typically include approximately 12 video frames, including Intra or I frames, Predicted or P frames, and Bi-directional or B frames). Pursuant to the MPEG-2 standard, a GOP always starts with an I frame. Video and audio stream analyzer 45 is configured to identify these boundaries and to associate them with storage locations. Analyzer 45 further analyzes the streams to identify audio PES packet locations. Those skilled in the art will recognize that embodiments may be used with other standards as well (e.g., by parsing streams to identify boundaries established by those other standards).
Timeslip server 3 also includes a fast forward ("FF")/rewind ("REW) frame extractor 47 which is configured to extract I frames from video streams as they are being stored by timeslip server 3. In this manner, expensive and time consuming searches for I frames in response to subscriber requests are avoided. Both an FF and a REW stream are created by extracting the I frames and wrapping them in an MPEG transport stream. Transport stream timing information including PTS/DTS and PCR clock information are generated by timeslip server 3.
The system may utilize the placement of I frames at the start of each GOP to identify boundaries. GOPs do not necessarily contain the same number of frames; for example, encoders may sometimes terminate a GOP to insert an I frame on scene changes. The system ensures an appropriate FF/REW playback speed by monitoring (and adjusting, if appropriate) the rate at which I frames are stored to disk. Unlike regular program playback, the output rate of FF/REW playback is not determined by the input rate (that is, the FF/REW information need not be stored at the same rate that it will be played back). Instead, the playback rate is configurable by specifying a desired interval between I frames. When writing FF/REW information to database 46, FF/REW frame extractor 47 may drop certain I frames in the feed received from the acquire and store channel 42. In this manner, the playback rate can be configured for consistency.
The time and storage location relationship between the FF/REW streams and the original content stream is stored (e.g., at data store 46) to allow timeslip server 3 to locate the correct FF/REW point when requested and to ensure that after completion of a FF/REW that the correct point of the programme is located to resume play. Playback pacing is controlled by timeslip server 3 by using switching and routing 6 (or other output device) as an accurate timing source (e.g., in an ATM environment, the ATM switch may be used as a timing source). Timeslip server 3 also includes a playout module 49 to control playout of archived programmes. Playout involves locating the start of a requested programme and streaming the content off the appropriate storage device to the particular set top box 8 associated with the subscriber who requested the content. A request message submitted from a set top box 8 will include information identifying the particular subscriber making the request (as well as information to allow switching and routing devices 6 to set up a unicast session with the set top box). When a subscriber requests a programme, the request is routed to timeslip server 3 through playout module 49 which causes schedule table 41 to be consulted to identify the start point of the requested programme. The start point of each programme is aligned to a GOP or audio PES packet to ensure a clean start to the playback. Playout continues until the end of the programme is reached or until other instructions are received, such as, for example, a request to stop playout, a request to skip, or a request to view another programme.
If a programme is skipped or another programme is selected, the current programme continues to play until the end of the video GOP (or audio PES packet) is reached. Once reached, a message is transmitted to set top box 8 using a private data PID packet warning the set top box 8 of an impending discontinuity. Playback continues from the start of the next programme or nearest GOP (or audio PES) frame to the skip point. Timeslip server 3 may be configured to play back from either the nearest video GOP frame (or audio PES packet), allowing different types of set top boxes to be used with the system (as different set top boxes may respond differently to discontinuities in playout).
As discussed above, the present invention permits subscribers to selectively request the creation of an archive copy of a programme for storage in a longer-term archive. Timeslip server 3, under direction from video server manager 5, may operate to cause one or more programs to be saved by an archive content server 10. For example, a subscriber may request that a particular programme be archived for future viewing by the subscriber. This request is transmitted from the subscriber's set top box 8 to video server manager 5 which causes a request to be sent to the timeslip server 3. When the SPTS packets including the requested programme are received by timeslip server 3, timeslip server 3 functions to initiate the transmission of a copy of the programme to archive content server 10 for storage in an archive data store 17.
These archive features may result in the storage of at least two copies of a programme: one copy in archive data store 17 (the "longer-term" archive, for later retrieval by the subscribers) requesting the archival) and one copy in timeslip server 3 (the "short term" archive, for viewing by any subscriber desiring to view a programme during the period in which the system stores broadcast programmes). As a result, the system provides for greater longevity and choice of viewing of programmes. The version stored by timeslip server 3 may be viewed as a more ephemeral content store providing a viewing window of, for example, several days after the programme is broadcast, while the version stored by archive content server 10 may provide for longer term storage and viewing of the programme. That is timeslip server 3 provides a circular buffer of archived programmes for each channel, while archive content server 10 provides dedicated long term storage of selected programmes.
A number of different storage configurations may be used for storing programme information. For example, hard disks or tape drives may be used. Entire disks may be used, or partitioned disks. As a further protection against failure, RAID partitions may be employed. Multiple disks per channel may be used. Multiple redundant disks may be used to store identical content, reducing failure and potentially allowing for automated failover recovery. Further, such a configuration may provide improved overall performance by spreading the load on very popular channels over multiple disks. In this manner, live broadcast data may be delivered to authorized subscribers while generating service information data, archiving programs, and constructing an accurate historical schedule.
Not all channels need be provided to all timeslip servers. For example, the allocation of channels to timeslip servers may be dependent on the popularity of programmes available on that channel. The allocation of channels to timeslip servers is done in such a way to result in the set of timeslip servers being capable of satisfying peak time simultaneous viewing.
Playback of a programme (e.g., either from a longer-term or short term archive) may also include the selection and insertion of advertisements into the programme for transmission to a subscriber. This selection and insertion is performed under control of video server manager 5 which has access to information identifying the location of advertisements in each programme and channel (e.g., based on the information extracted by SI processor 19). Video server manager 5 may also have access to a database of advertisements (e.g., such as ad database 20). Video server manager 5 may select a replacement advertisement for inclusion in a programme transmitted to a subscriber. Further details of this will now be described by first referring to Figure 5, where a flow diagram is shown representing a method according to the present invention. The flow diagram of Figure 5 (and other flow diagrams contained herein) include a number of process steps. These process steps need not be performed in the sequence shown; those skilled in the art will appreciate that different sequences consistent with embodiments discussed herein may be used.
Figure 5 depicts a process 300 for identifying advertisements in a broadcast data stream. Process 300 may be implemented using the broadcast system of Figures 1-3, although those skilled in the art will appreciate that other systems and configurations may also be used. Process 300 begins at 302 where a broadcast data stream is received. For example, in the system of Figure 3, the broadcast data stream is a digital data stream received by BDHE 2.
Processing continues at 304 where advertisements are identified. Advertisements may be identified by SI processor 19. BDHE 2 transmits the data stream to SI processor 19 where service information is parsed and identified. Where advertisements are identified by EIT information (such as the data streams of Figure 4B or 4C discussed above), SI processor 19 identifies the location of each advertisement based on the EIT information. Where EIT information is not provided for advertisements, an operator may be used to monitor the broadcast data stream to identify the location of advertisements in the stream.
Processing continues at 306 where the EIT or other location information is used to create or update a schedule table including advertisement information and location. The EIT information (or manually-captured location information) is provided from SI processor 19 to broadcast schedule server 4 to construct a schedule of advertisements associated with the broadcast schedule created by broadcast schedule server 4. For example, for each programme, an advertising event schedule is created indicating the position of each advertisement in the programme. Information may also be captured identifying details associated with the advertisement (e.g., such as the advertiser, the genre, the target audience, a description or identifier, suggested dates of play, etc.). A copy of the advertisement is also stored. Broadcast schedule server 4 stores schedule information and video server manager 5 stores advertisement data 20. When a programme is played back (as will be discussed below) both sets of information are used to insert advertisements into programmes.
The system may be configured to insert targeted promotions and advertising directed to particular subscribers. For example, such advertising may be inserted at the start, end or at some other point in the playback of programmes from either the short-term or the longer-term archives (or during the multi-cast of live programs to subscribers). Targeting may be achieved by consulting the customer database 14 for information including, but not limited to, subscriber preferences, subscriber viewing history, age, sex and demographic information.
Referring now to Figure 6, a process 400 is shown for selecting and inserting advertisements into a programme (e.g., such as a live broadcast programme or an archived programme). The process 400 is performed using the system of Figures 1- 3, although those skilled in the art will appreciate that other systems may utilize features of the present invention to select and insert advertisements into programmes. Process 400 begins at 402 where a request is received from a subscriber to play a programme.
For example, the request received at 402 may be a request to play an archived copy of a programme (e.g., such as a recently-broadcast programme stored in a short-term archive associated with timeslip server 3 or a programme stored in a longer-term archive such as an archive associated with the subscriber maintained by archive content server 10). The request received at 402 includes information identifying the programme. The request also includes information identifying the subscriber (e.g., such as a subscriber identifier or an identifier associated with a set top box assigned to the subscriber)
Processing continues at 404 where a broadcast system operates to identify a location of the requested programme and advertising information associated with the programme. For example, processing at 404 may include determining if the requested programme is a programme in the short-term archive associated with timeslip server 3 or if it is a programme stored in the longer-term archive associated with the archive content server 10. Processing at 404 also includes identifying a storage location of the program, e.g., by consulting schedule table 41 or other resources indicating the particular storage location of the programme. Information about the advertisements associated with the programme are also identified at 404. This advertisement information is the information extracted by the SI processor 19 when the programme was originally broadcast. For example, the advertisement information may include information identifying where advertisements are located in the programme as well as information identifying the length of each advertisement spot and information identifying the advertisement (including the advertiser, the name or identifier of the advertisement, the target audience, the dates during which the advertisement is to be played, etc.). If the requested programme did not include any advertisements (e.g., the programme was broadcast over a commercial-free channel), processing may continue at 410 where the requested programme is played without inserting any advertisements. Advertisements may be selected for insertion at 408 even if the programme was originally broadcast without advertisements (for example, a movie may have been originally broadcast as a video on demand without advertisements, but will be rebroadcast from an archive with one or more advertisements inserted).
If the requested programme includes advertising, processing continues at 406 where information associated with the subscriber requesting the programme are retrieved. For example, processing at 406 may include retrieving information from customer database 14 to identify demographic and other information associated with the subscriber as well as any entitlement information needed to confirm that the subscriber is authorized to view the requested programme.
Processing continues at 408 where advertisement(s) are selected for insertion. This selection, is performed under control of video server manager 5 in communication with timeslip server 3 (and/or in communication with archive content server 10). The advertisements selected for insertion are the same advertisements which were extracted from the programme when the programme was originally broadcast (e.g., at step 304 of the process of Figure 5). The advertisements selected for insertion are different advertisements than the advertisements which were originally broadcast with the programme. For example, replacement advertisements are selected which more appropriately match the subscriber's demographics or the genre of the programme. Further, the replacement advertisement may be selected to fit in the time slot as originally broadcast (e.g., a 30-second ad is used in a 30-second slot). Other considerations may also be used in selecting advertisements. Replacement advertisements may be inserted into the programme at different locations. For example, a programme may have been broadcast with advertising slots every 20 minutes. A broadcast service provider may determine that the advertising slots are better located every 30 minutes. On playback (at 410), the new timeslots may be used. Processing continues at 410 where the programme is played back for the subscriber with the selected advertisements inserted into the advertising slots of the programme. If the programme is an archived programme requested from a short- term or longer-term archive, the programme is transmitted to the subscriber via a unicast session established with the subscriber's set top box. The video and audio data associated with each advertisement may be multiplexed into the data stream as the programme is being transmitted. The advertisement data is inserted at the position indicated by the EIT information originally extracted from the programme. For example, when the time to play an advertisement occurs (that is, the playback has reached the location where the advertising event time matches the playback time), playback of the archived program is temporarily stopped and the video server manager 5 causes the archive content server (or other server storing advertising content) to play the advertisement selected at 408. If the programme is being played in a uni-cast session, the selected advertisement is also played in the same uni-cast session. When play of the advertisement is complete, the video server manager 5 returns control of playback to the timeslip server 3 for restarting of the programme. The timeslip server 3 restarts playback from the point where the original advertisement would have completed.
An advertisement may be associated with further promotional material (such as a promotional offer). For example, an advertisement (including an advertisement identified at 304 of FIG. 5 and an advertisement selected at 408) may include SI associated with an advertisement may include information identifying one or more promotional links. For example, a sponsor of a programme may provide promotional information or products in association with a programme or in association with a particular advertisement. The advertisement may have SI which includes a link (e.g., such as an Internet URL or the like) to the promotional offer. When such an advertisement is played at 410, the subscriber's set top box displays an indicator that a promotion is associated with the advertisement. The subscriber can view the promotional information by selecting the promotion via a remote control device. If the subscriber selects to view the promotional information, the set top box is routed to the link included in the SI, and the promotional information is displayed. The subscriber may then view the promotional information (which may be, for example, a product offering, a product description, a promotional video, a purchase offer, a link to an operator to make a purchase, etc.). When the subscriber is finished viewing the promotional information, he may return to either the point he left the original advertisement, to the end of the advertisement or to the end of the advertisement break.
This playback and insertion process is repeated until the programme is completed. If multiple advertisements are to be played in series, control will revert to timeslip server 3 after each of the advertisements have been played. Such a series of advertisements may be combined into a single packet or file for insertion into the broadcast data stream, thereby minimizing the need to switch control between the video server manager 5 and the timeslip server 3. The video server manager 5 may also control the selection of the order of play of the advertisements in the series.
Video and audio data associated with each advertisement is also stored at (or accessible to) timeslip server 3, allowing timeslip server 3 to efficiently insert advertisements during playback. Some advertisements in a programme are replaced and some are played in the form as originally broadcast. The ability to FF or REW through an advertisement may be disabled to prevent subscribers from skipping advertisements. As discussed above, embodiments allow the insertion of targeted advertisements into programs transmitted to subscribers. This targeting may be performed in a number of ways. Referring now to Figure 7, an example of broadcast system 50 is shown in which broadcast service provider 51 maintains (or has access to) customer data and advertising data used to target advertisements and promotions to subscribers 54. For convenience, only selected components of broadcast system
50 are depicted in Figure 7.
In the example depicted, broadcast service provider 51 operates to provide live broadcast data to subscribers 54. Broadcast service provider 51 additionally provides archived programmes to subscribers 54, including programmes from a short term archive 53 and a longer-term archive 52. The transmission of these programmes to particular subscribers is controlled, in part, by video server manager 5. For example, video server manager 5 may consult customer database 14 to determine if a particular subscriber is authorized to view a particular programme or a particular archived copy of the programme or whether the subscriber is authorized to cause a longer-term copy of a programme to be archived. Broadcast service provider
51 may also use this customer data to monitor subscriber viewing habits, identify trends, and select and target advertisements and promotions to individual subscribers. Customer database 14 includes data identifying individuals having a subscriber relationship with broadcast service provider 51. This data may include, for example: a unique subscriber identifier (which may be the same as, or associated with, a unique identifier of a set top box issued to the subscriber); demographic information of the subscriber (e.g., including the subscriber's age, gender, marital status, family size, etc.); geographic information (e.g., including the subscriber's address); and subscription information (e.g., including information identifying particular channels and entitlements associated with each subscriber). This information may be used by video server manager 5 to control subscriber access to live and archived programmes. Subscription information may also include information specifying whether a subscriber is authorized to make copies of programmes from the subscriber's set top box or television. For example, a subscriber may attach a video cassette recorder or rewritable CD-ROM or a DVR to his television or set top box and make copies of some programmes broadcast using embodiments of the present invention. A subscriber's ability to make copies may be restricted by including copy protection measures in certain programs that are transmitted to the subscriber. The copy protection measures may be specified for particular programmes.
Customer database 14 also includes information about subscriber viewing habits associated with live broadcasts. For example, video server manager 5 tracks and identifies each request received from a subscriber to join a multicast of a live broadcast. Video server manager 5 then captures (and stores in customer database 14) information identifying the name, genre, channel, and broadcast time of each programme requested by each subscriber. In this manner, broadcast service provider 51 may capture, maintain, and track detailed live broadcast viewing information for each subscriber.
Customer database 14 also includes information about subscriber viewing habits associated with programmes stored in short-term and longer-term archives. For example, video server manager 5 tracks and identifies each request received from a subscriber to view a programme stored in short-term archive 53 (e.g., including information identifying the programme name, genre, channel, and time of each request). Video server manager 5 also tracks and identifies each request received from a subscriber to create a copy of a programme for storage in longer- term archive 52, as well as each request to view a programme from the longer-term archive 52 (e.g., including information identifying the programme name, genre, channel, and time of viewing request). In this manner, broadcast service provider 51 is able to create, maintain, and update customer database 14 with relevant and timely information about each subscriber's viewing habits and preferences.
This customer database information associated with each subscriber may be used in conjunction with advertisement and promotional data stored at (or accessible to) broadcast service provider 51. For example, as shown in Figure 7, video server manager 5 is in communication with an advertisement database 20. Advertisement database 20, includes information about a number of different types of advertisements or promotions, and the ability to stream these to a subscriber. For example, advertisement database 20 may include regular broadcast advertisements, such as 30 or 60-second advertisements. Advertisement database 20 may also include banner advertisements created to be displayed across the top or bottom of a television screen. Advertisement database 20 may store the video and audio portions of advertisements in MPEG or other formats. Other types of advertisements or promotions may also be provided. Advertisement database 20 may include identifying information associated with each advertisement or promotion. For example, each advertisement is identified by a unique identifier. This unique identifier is used by broadcast service provider 51 to track and manage advertisements and promotions. For example, video server manager 5 may request play of a particular advertisement by reference to this unique identifier. Advertisement database 20 may also include other information associated with each advertisement, including information identifying an audience to which the advertisement should be targeted. For example, a brewing company may create a beer advertisement which is intended to be displayed to males aged 21-35. This demographic information identifying the advertisement's intended target audience is stored in advertisement database 20 in a record associated with the advertisement itself. Video server manager 5 uses this information, in conjunction with information from the customer database 14, to provide targeted advertisements to subscribers in conjunction with the transmission of live or archived broadcast data.
For example, when a subscriber joins a multi-cast of a live broadcast programme, the subscriber submits a programme selection request to broadcast service provider 51 through a set top box. This programme selection request message includes information identifying the subscriber (or information identifying the set top box associated with the subscriber). Video server manager 5 utilizes this identifying information to determine if the subscriber has access permission to view the requested programme, and, if so, adds the subscriber to the multi-cast of the program.
Video server manager 5 may also selectively cause one or more advertisements or promotions to be transmitted to the subscriber. These advertisements or promotions may be selected based on information associated with the subscriber, information associated with the programme requested by the subscriber, and/or information associated with the advertisement which was originally broadcast with the programme. For example, if the subscriber is a 25 year-old male, and the subscriber submits a request to view a live broadcast of a sporting event, video server manager 5 may identify one or more advertisements which are targeted to the subscriber (because of the subscriber's demographics, the genre of the programme requested, or a combination of both sets of information). For example, the beer commercial discussed above may be selected (because the subscriber's demographic information matches the target audience information associated with the beer commercial) for broadcast to the subscriber. Video server manager 5 may cause the selected advertisement (or advertisements) to be broadcast to the subscriber in conjunction with the broadcast of the programme by causing the advertisement to be inserted at a location identified by EIT information extracted by SI processor 19 (shown in Figure 3).
Similar targeting may be performed in conjunction with the broadcast of programmes from the short-term or longer-term archives. In this manner, the system allows accurate targeting of advertisements or promotions to subscribers based on information about the subscriber, information about the programme, information about the advertisement or promotion, or a combination of this information. Further, advertisements or promotions may be transmitted to subscribers in a way which prevents the subscriber from skipping or fast-forwarding through the advertisement. For example, advertisements may be transmitted as banner advertisements which are displayed along a top or bottom portion of a screen during a programme.
As another example, advertisements may be transmitted for display during a period in which the subscriber has paused playback of a programme. As yet another example, advertisements may be transmitted for play at the beginning of a requested programme, and must be viewed before the programme is viewed. In this manner, advertisers may accurately target select audiences, reducing inefficiencies related to existing television advertising techniques.
When a subscriber views an archived programme (e.g., from either the short- term or longer-term archives) some or all of the advertisements that were originally broadcast with the live broadcast of the programme are replaced with one or more targeted advertisements which are specifically targeted to the subscriber.
While embodiments have been described with reference to the MPEG-2 standard, those skilled in the art will appreciate, upon reading this disclosure, that other encoding technologies may be utilized. For example, other standards currently used or may also be utilized (e.g., such as MPEG-4 and/or H.264, etc.).

Claims

Claims:
1. A broadcast method, comprising: receiving a broadcast data stream; identifying an advertisement in said broadcast data stream; and updating an advertisement schedule including infonnation identifying said advertisement and a location of said advertisement within a programme in said broadcast data stream.
2. A broadcast method according to claim 1 , further comprising: extracting service information associated with said programme; and updating a programme schedule using said service information associated with said programme.
3. A broadcast method according to claim 2, wherein said identifying an advertisement further comprises: extracting service information associated with said advertisement, wherein said information identifying said advertisement and said location are based on said service information.
4. A broadcast method according to claim 3, further comprising associating said advertisement schedule with said programme.
5. A broadcast method according to any preceding claim, wherein said information identifying a location of said advertisement includes information identifying a location of said advertisement within said programme and a duration of said advertisement.
6. A broadcast method according to any preceding claim, wherein said information identifying said advertisement includes information identifying at least one of: an advertiser, a targeted audience, and a time period for play.
7. A broadcast method according to any preceding claim, further comprising; creating an archive copy of said programme, said archive copy stored at a location identified by said programme schedule.
8. A broadcast method according to claim 7, further comprising: receiving, from a subscriber, a request for said archive copy of said programme; identifying a location of said archive copy of said programme using said program schedule; and identifying said location of said advertisement within said programme.
9. A broadcast method according to claim 8, further comprising: selecting a replacement advertisement, based at least in part on said programme, said subscriber, and said advertisement information.
10. A broadcast method according to claim 9, further comprising: transmitting said archive copy of said programme to said subscriber; and inserting said replacement advertisement at said location within said programme.
11. A broadcast system, comprising: means for receiving a broadcast data stream; means for identifying an advertisement in said broadcast data stream; and means for updating an advertisement schedule including information identifying said advertisement and a location of said advertisement within a programme in said broadcast data stream.
12. A broadcast system according to claim 11 , further comprising: means for extracting service information associated with said programme; means for extracting service information associated with said advertisement, said information identifying said advertisement and said location of said advertisement based from said service information; and, means for updating a programme schedule using said service information associated with said programme, said program schedule identifying a storage location of a copy of said programme.
13. A broadcast system according to claim 12, further comprising: means for uni-casting said copy of said programme to a subscriber; and means for inserting a replacement advertisement in said programme at said location during said uni-casting.
14. A broadcast system, comprising: a head end, coupled to receive an input broadcast channel data stream including a programme having an advertisement; a service information processor, in communication with said head end and retrieving service information associated with said programme and said advertisement including information identifying a location of said advertisement within said programme; a storage server, in communication with said head end and said service information processor, storing a copy of said programme and associating a storage location of said copy with service information associated with said programme; an advertising server, in communication with said service information processor, storing a copy of said advertisement and further storing a replacement advertisement and service information associated with said advertisement; and a distribution system, coupled to said storage server and said advertising server, operable to transmit said copy of said programme to a subscriber and to insert a selected replacement advertisement at said location.
15. A broadcast system according to claim 14, wherein said replacement advertisement is selected based at least in part on an identity of said subscriber and an identity of said programme.
16. A subscriber-initiated method for viewing a programme, comprising: interacting with a programme schedule displayed on a display device to select a desired programme stored in an archive; transmitting information identifying the subscriber and information identifying the desired programme; receiving a uni-cast transmission of said desired programme; and receiving a uni-cast transmission of a replacement advertisement embedded within said programme, said replacement advertisement different than an advertisement included in a live broadcast of said programme.
17. A broadcast method, comprising: receiving, from a subscriber, a request to play an archive copy of a programme; identifying a location of said archive copy of said programme; selecting at least a first advertisement based at least in part on information associated with said programme; and, inserting said at least first advertisement into said programme.
18. A broadcast method according to claim 17, wherein said inserting further comprises: identifying an advertising slot within said programme; and inserting said at least first advertisement into said programme in said advertising slot.
19. A broadcast method according to claim 17 or 18, wherein said at least first advertisement includes a link to further promotional materials.
20. A broadcast method according to claim 19, further comprising: playing said programme and said advertisement for said subscriber, wherein said playing said advertisement causes said further promotional materials to be displayed to said subscriber.
EP04708817A 2003-02-12 2004-02-06 System and method for identification and insertion of advertising in broadcast programmes Ceased EP1593264A2 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US640410 1996-04-30
GBGB0303176.2A GB0303176D0 (en) 2003-02-12 2003-02-12 A system for capture and selective playback of broadcast programmes
GB0303176 2003-02-12
US10/640,410 US20040158858A1 (en) 2003-02-12 2003-08-13 System and method for identification and insertion of advertising in broadcast programs
PCT/GB2004/000461 WO2004072761A2 (en) 2003-02-12 2004-02-06 System and method for identification and insertion of advertising in broadcast programmes

Publications (1)

Publication Number Publication Date
EP1593264A2 true EP1593264A2 (en) 2005-11-09

Family

ID=32870947

Family Applications (1)

Application Number Title Priority Date Filing Date
EP04708817A Ceased EP1593264A2 (en) 2003-02-12 2004-02-06 System and method for identification and insertion of advertising in broadcast programmes

Country Status (4)

Country Link
EP (1) EP1593264A2 (en)
KR (1) KR101136594B1 (en)
RU (1) RU2299523C2 (en)
WO (1) WO2004072761A2 (en)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1864494A4 (en) * 2005-03-10 2011-11-02 Korea Electronics Telecomm Pod identification method in digital content providing system
WO2008001287A2 (en) * 2006-06-27 2008-01-03 Koninklijke Philips Electronics N.V. Inserting advertisements in a television program
JP2008053956A (en) * 2006-08-23 2008-03-06 Mitsubishi Electric Corp Video image distribution apparatus and video image distribution system
US8812354B2 (en) 2007-04-02 2014-08-19 Sony Computer Entertainment America Llc Method and system for dynamic scheduling of content delivery
US8620288B2 (en) 2007-11-16 2013-12-31 Alcatel Lucent Targeted mobile content insertion and/or replacement
US9113041B2 (en) 2008-02-12 2015-08-18 Samsung Electronics Co., Ltd. Digital broadcast reception apparatus and method of providing additional content
CA2733193C (en) * 2008-08-05 2016-11-01 Invidi Technologies Corporation National insertion of targeted advertisment
US20100161424A1 (en) * 2008-12-22 2010-06-24 Nortel Networks Limited Targeted advertising system and method
BR112012009102A2 (en) * 2009-10-29 2020-08-18 Nec Display Solutions, Ltd system for presenting media content in a public space and software product
EP2362649A1 (en) * 2010-02-16 2011-08-31 Axel Springer Digital TV Guide GmbH Adaptive placement of auxiliary media in recommender systems
GB2486174A (en) * 2010-12-01 2012-06-13 Alistair Kelman Inserting relevant advertisements into time-shifted TV viewing
AU2013248891B2 (en) * 2012-04-18 2017-02-16 Google Llc Method and system for inserting content into streaming media at arbitrary time points
US8468563B1 (en) * 2012-04-30 2013-06-18 This Technology, Inc. Method for ingesting multiple signals of the same meaning
KR101586367B1 (en) * 2013-08-07 2016-01-18 주식회사 더블유코퍼레이션 Method for processing multi-channel substitutional advertisement with single source and managing schedule
US10771857B2 (en) * 2015-12-29 2020-09-08 Gold Line Telemanagement Inc. Video stream ad replacement
CN111405373B (en) * 2020-04-03 2022-02-08 聚好看科技股份有限公司 Method and device for acquiring video stream
CN111629273B (en) * 2020-04-14 2022-02-11 北京奇艺世纪科技有限公司 Video management method, device, system and storage medium
RU2754199C1 (en) * 2020-11-20 2021-08-30 Акционерное Общество "Вьюэво" Method for e-commerce through a public broadcasting environment

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5589892A (en) 1993-09-09 1996-12-31 Knee; Robert A. Electronic television program guide schedule system and method with data feed access
US20020083439A1 (en) 2000-08-31 2002-06-27 Eldering Charles A. System for rescheduling and inserting advertisements
WO2001039514A2 (en) 1999-11-29 2001-05-31 Future Tv Technologies, Ltd. Apparatus and method for selective insertion and pricing of media data into a media data stream
AU2001234732A1 (en) 2000-02-01 2001-08-14 United Video Properties, Inc. Methods and systems for forced advertising
SE0000988L (en) * 2000-03-22 2001-09-23 Nokia Corp Communication methods and systems and terminals utilizing this method
US20040015984A1 (en) * 2001-06-29 2004-01-22 Tomoyuki Yamamoto Information providing system, information provding de and method, information processing device and method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2004072761A3 *

Also Published As

Publication number Publication date
WO2004072761A3 (en) 2005-04-21
WO2004072761A2 (en) 2004-08-26
RU2299523C2 (en) 2007-05-20
KR101136594B1 (en) 2012-04-18
RU2005128288A (en) 2006-04-10
KR20050101332A (en) 2005-10-21

Similar Documents

Publication Publication Date Title
JP4858972B2 (en) System and method for identifying and inserting advertisements in broadcast programs
US9706238B2 (en) Program storage, retrieval and management based on segmentation messages
US8544048B2 (en) System for content delivery
US8321887B2 (en) Displaying enhanced advertisements simultaneously across substantially all channels
CA2484519C (en) Program storage, retrieval and management based on segmentation messages
US7941823B2 (en) Transport stream encapsulated trick modes
US20040244035A1 (en) Commercial replacement systems and methods using synchronized and buffered TV program and commercial replacement streams
KR101136594B1 (en) System and method for identification and insertion of advertising in broadcast programmes
US20150067754A1 (en) System for content delivery
GB2399250A (en) System and method for identification and insertion of advertising in broadcast programmes
GB2413026A (en) Capture and user selective playback of broadcast programmes

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20050901

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PT RO SE SI SK TR

AX Request for extension of the european patent

Extension state: AL LT LV MK

DAX Request for extension of the european patent (deleted)
RIC1 Information provided on ipc code assigned before grant

Ipc: H04N 7/173 20060101ALI20060613BHEP

Ipc: H04N 7/16 20060101AFI20050426BHEP

17Q First examination report despatched

Effective date: 20060928

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: VIDEO NETWORKS IP HOLDINGS LIMITED

Owner name: TISCALI UK LIMITED

APBK Appeal reference recorded

Free format text: ORIGINAL CODE: EPIDOSNREFNE

APBN Date of receipt of notice of appeal recorded

Free format text: ORIGINAL CODE: EPIDOSNNOA2E

APBR Date of receipt of statement of grounds of appeal recorded

Free format text: ORIGINAL CODE: EPIDOSNNOA3E

APAF Appeal reference modified

Free format text: ORIGINAL CODE: EPIDOSCREFNE

REG Reference to a national code

Ref country code: DE

Ref legal event code: R003

APBT Appeal procedure closed

Free format text: ORIGINAL CODE: EPIDOSNNOA9E

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED

18R Application refused

Effective date: 20150507