EP1334420A4 - System for providing sales information via interactive digital data streams - Google Patents

System for providing sales information via interactive digital data streams

Info

Publication number
EP1334420A4
EP1334420A4 EP01979782A EP01979782A EP1334420A4 EP 1334420 A4 EP1334420 A4 EP 1334420A4 EP 01979782 A EP01979782 A EP 01979782A EP 01979782 A EP01979782 A EP 01979782A EP 1334420 A4 EP1334420 A4 EP 1334420A4
Authority
EP
European Patent Office
Prior art keywords
program
ofthe
user
programming
program segments
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.)
Withdrawn
Application number
EP01979782A
Other languages
German (de)
French (fr)
Other versions
EP1334420A2 (en
Inventor
Kevin M Liga
Frank P Deo
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.)
ACTV Inc
Original Assignee
ACTV Inc
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
Application filed by ACTV Inc filed Critical ACTV Inc
Publication of EP1334420A2 publication Critical patent/EP1334420A2/en
Publication of EP1334420A4 publication Critical patent/EP1334420A4/en
Withdrawn 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/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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2368Multiplexing of audio 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 or rendering scenes according to encoded video stream scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream 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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47205End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for manipulating displayed content, e.g. interacting with MPEG-4 objects, editing locally
    • 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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4722End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content
    • 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/47End-user applications
    • H04N21/475End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data
    • H04N21/4755End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data for defining user preferences, e.g. favourite actors or genre
    • 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/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/47815Electronic shopping
    • 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
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Definitions

  • This invention relates generally to the provision of programming content via digital television signals and enhanced programming systems which present internet content to users. This invention further relates to the interactive selection of particular content based upon answers to proffered interrogatories or accumulated personal profiles for individual users. 2. Description of Related Art
  • the present invention addresses these problems of uninformed Internet and television purchasing by providing a system for conducting a seemingly one-to-one conversation with a retailer in full motion video through the consumer's television and set-top box configuration. Additional information may also be provided to the consumer through the parallel incorporation of textual, animation, still frame, or other graphic content, either within the video transmission or by accessing information on the Internet.
  • a Virtual Sales Agent is provided to television viewing consumers via the functionality of interactive television programming technology and enhanced programming systems which present retrieved Intemet information and content.
  • the Virtual Sales Agent is preferably an optional offering made to television users during the broadcast of a particular commercial advertisement or program.
  • the television in addition to the normal presentation of a commercial segment or program, the television may present an icon, a graphic, an audible cue, or a second video image utilizing picture-in-picture or multiple video frame technology, signifying the availability of additional sales information for the product or service being advertised or shown during a program.
  • the graphic may be a Uniform Resource Locator (URL) or hypertext link if the television is World Wide Web enabled.
  • URL Uniform Resource Locator
  • the pictures and graphics in the program on the television screen may be created as hot spots for selection of related content by the user.
  • the icon for example by pressing a button on a remote control, the regular commercial broadcast will be switched to present video segments comprising the virtual sales agent program.
  • the Virtual Sales Agent video segments are part ofthe same transmission stream which broadcasts the associated commercial message.
  • the video signals comprising both the commercial and Virtual Sales Agent segments, are converted into digital format for transmission, hi a digital format, it is possible to transmit more than one video signal per National Television Standards Committee ("NTSC") standard television channel. Compression allows an even larger number of video and other signals to be transmitted over a single channel ofthe transmission media.
  • NTSC National Television Standards Committee
  • An encoder/compressor combines the various digital signals, which may include video signals, audio signals, and graphic signals such as the presented icon or other graphic content, or even Uniform Resource Locators ("URLs) for direction to Internet content, into a reduced number of data streams for transmission.
  • the various NTSC television channels may also be allocated in a predetermined fashion to maximize the number of simultaneously transmittable signals.
  • the multiplexer in the programming transmission system multiplexes the desired data signals into data streams, and these data streams are transmitted over the NTSC channels.
  • the number of video signals that may be compressed onto a data stream on a single transmission channel will vary depending on the quantity and frequency of substantial changes in the images between frames in the video signals to be transmitted.
  • the television channels containing a data stream of compressed and multiplexed video signals may be transmitted over a standard cable television distribution network, or direct broadcast satellite transmission system. It is also possible to transmit the compressed video signals via conventional telephony, wireless telephony, digital subscriber line (DSL), Multipoint Microwave Distribution System (a/k/a Multi-channel Multipoint Distribution System (MMDS)), the Internet, an intranet, or other public or private communication networks. If a receiver is so equipped, requests to retrieve and present Internet content designated by time-stamped URLs or other locator information in the data stream may be incorporated in to the Virtual Sales Agent presentation.
  • DSL digital subscriber line
  • MMDS Multipoint Microwave Distribution System
  • a set top receiver receives one or more television channels, some or perhaps all of which contain a compressed data stream of video signals.
  • a processor in the receiver selects the particular data channel/data stream for playback. If that particular data stream is multiplexed, a particular video signal from the multiplexed data stream is selected, and the video signal is decompressed, if necessary, for playback to a television monitor.
  • the programming transmission system may be equipped to convert and incorporate Internet data such as HTML coded pages into the data stream for resolution by the receiver and presentation on the television monitor.
  • the graphic icon or other indicator is presented on the television monitor along with the video.
  • a remote control, keyboard, voice actuation, or other user interface device operates to control the receiver to select the Virtual Sales Agent option.
  • a user selects the icon or other indicator of additional content present in the presented commercial.
  • the indicator can be an audible signal, flash in the picture, other graphics or textual presentations, or even a verbal indicator from an actor speaking in the commercial presentation.
  • an indicator of additional content can be a designated button or light emitting diode (LED) on the remote control or keyboard.
  • the system switches from the main video signal to the Virtual Sales Agent programming.
  • the Virtual Sales Agent video segments may request information from or ask questions ofthe user.
  • the user selectably responds to infonnation presentations or interrogatory messages and the system selects a particular multiplexed video signal and demultiplexes, de-modulates, and presents the selected video signal.
  • the signal selector may select a video signal based on personal profile infonnation stored in memory. If more signals are needed for an interactive program than are mappable to a data stream on a single channel, the system is programmed to switch between the various data signals within a single data stream as well as between data streams among the various channels to provide the necessary level of interactivity.
  • the various information segments in the various video signals preferably relate in real-time and content so that an interactive conversation can occur as the video signal is played back and the user responds to the various intereogatories on the video signals.
  • the various signals that comprise the Virtual Sales Agent program may be switched at the transmission end rather than at the receiver.
  • This embodiment may be used in a cable television system, a direct broadcast satellite system, a conventional telephone or DSL system modified to receive digital video signals, MMDS, or any other appropriate transmission system capable of sending digital video signals.
  • the selection of a desired video signal can be made by relaying the multiple choice selection of the user through a relay in the receiver back to a remotely located switching station, preferably the transmission source.
  • Video signal selection can also be made on the basis of collected user profile information, electronic programming guide entries, and previous intenogatory responses by the user, or a combination ofthe above.
  • the transmission end receives the multiple choice selection ofthe user or makes the signal selection based upon other user information and routes the correct signal down the appropriate cable channel, satellite broadcast, DSL, MMDS, wireless telephone connection, intranet, Internet, telephone line, or other communication network or transmission medium for the particular user.
  • the multiple choice selections may be relayed to the switching station by any conventional means, such as two-way cable television, telephone line, DSL, wireless telephone connection, the Internet, an intranet, personal satellite uplink, or radio frequency transmission. If the interactive programming is transmitted via standard or wireless telephony, DSL, or two-way cable, the multiple choice selections may be relayed back over the same two-way medium. If desired, the two-way link may be used for other purposes, such as to transmit user demographic data back to the programming transmission source to be factored into the selection of appropriate programming segments to the user.
  • Figure 1 is a diagram depicting the various components ofthe present invention and their interaction in a configuration encompassing multiple embodiments.
  • Figure 2 is a block diagram of an interactive programming system transmission center used to achieve the benefits ofthe present invention.
  • Figure 3 is a representation of time gaps used in a seamless switching process between video signals.
  • Figure 4A is a block diagram ofthe components of an interactive programming receiver used to achieve the benefits ofthe present invention.
  • Figure 4B is a block diagram ofthe components ofthe audio/video demultiplexer/decoder of Figure 4a.
  • Figure 5 is a representation of a switching process between audio signals.
  • Figures 6A-6B are a flow diagram depicting an exemplary interactive sales program.
  • the programming transmission center 2 generally a cable or satellite television transmission station, or an Internet hosting site, broadcasts data stream 4 containing a variety of programming, including the Virtual Sales Agent interactive program 18, to connected subscribing users.
  • Receiver 8 at a user's location receives data stream 4 and which is processed for presentation on an attached television monitor 10.
  • Receiver 8 may be a set top box, circuitry and software resident on the television 10 itself, or a computer with appropriate video cards and software.
  • Display 10 presents regular television programming, for example a commercial advertisement 12.
  • an indicator 14 is preferably presented on television monitor 10 to indicate that the Virtual Sales Agent program 18 associated with the commercial 12 is available for viewing.
  • Data stream 4 includes data signals (as shown in Figure 2), which collectively include video signals 300, audio signals 308, and data codes 316, which comprise the Virtual Sales Agent interactive program 18.
  • data signals may include Internet content 20 or other communication network content.
  • Indicator 14 may be a -graphic icon, a graphic representation of an Internet hyperlink, or perhaps a picture-in-picture video segment 16.
  • Other indicators 14 such as an audible signal or a flashing presentation on the television monitor may also be used. Further, the indicator could simply be a particular button or LED on a remote control or keyboard.
  • the Virtual Sales Agent program 18 may be stored on any applicable storage device 314 at the transmission center 2 such as magnetic tape or disk or other magnetic storage/playback medium, optical disk 32 or other optical storage/playback medium, or on a computer, video, or MPEG server 34. Programming information may also come from Internet content 20 accessed from a web page 28 housed in a remote server 30 via communications link 26. Alternatively, the transmission center 2 could instruct receiver 8 to access Internet content 20 at web page 28 via communications link 24 to incorporate into the Virtual Sales Agent program 18. The entire Virtual Sales Agent program 18 could be accessed from the Internet by, for example, the use of streaming video technology.
  • the communications links 24 and 26 could connect to other public networks, or a private network or intranet, for accessing content thereon.
  • the Virtual Sales Agent program 18 may be received by the transmission center 2 from a remote broadcast source and retransmitted to users in data stream 4.
  • the Virtual Sales Agent program 18 may incorporate segments from any of these mediums or sources by switching among them for programming material.
  • Programming material may include audio, video 22, graphics, text, or Internet content 20.
  • the present invention preferably employs an interactive programming system as disclosed in U.S. Patent No. 5,724,091, and U.S. patent applications Serial Nos. 08/887,314, 09/154,069, and 09/335,372, each of which is entitled: "Compressed Digital Data Seamless Video Switching System,” which are incorporated herein by reference.
  • Such an interactive programming system is shown in Figure 2.
  • Seamless switching between digital video signals, whether representing independent television programs or different related signals within one interactive program, is critical to the viewing experience. Seamless switching is defined as video stream switching that does not produce visible artifacts.
  • the process of encoding the programming at the transmission center 2 is the key to a simple yet effective seamless switch.
  • Video signals 300, or other programming signals may be any signals suitable for interactive conversation, such as those described in U.S. Patent Nos. 3,947,972, 4,264,924, 4,264,925, 4,602,279, or 4,847,700 for example, the contents of which are incorporated herein by reference.
  • Various types of time and content related video, audio, and graphic, and other signals exist which are suitable for interactive operation.
  • video signals 300 are directed to analog-to-digital (“A/D”) converters 302 at the transmission center 2.
  • the origin ofthe video signals 300 could be from video servers, MPEG servers, video tape decks, digital video disks ("DVD"), or remote sources such as satellite feeds from network broadcast centers, local broadcast stations, other local transmission centers, cameras for live video, etc.
  • Some ofthe video signals 300 which comprise the interactive transmission may already be in digital form such as Motion Pictures Experts Group (“MPEG”) standards, high definition television (“HDTV”), and phase alternate line (“PAL”) standards, and therefore may bypass the A/D converters 302.
  • MPEG Motion Pictures Experts Group
  • HDTV high definition television
  • PAL phase alternate line
  • CD compact digital disks
  • A/D converters 302 if accompanying audio from such sources is necessary or desired.
  • the A D converters 302 convert the various video signals 300 and audio signals 308 into digital format.
  • A/D converters 302 may be of any conventional type for converting analog signals to digital format.
  • An A/D converter 302 may not be needed for each video signal 300 or audio signal 308, but rather fewer A/D converters 302, or even a single A/D converter 302, are capable of digitizing various video signals 300 and audio signals 308.
  • the Virtual Sales Agent program 18 according to the present invention is preferably delivered to a cable, satellite, or other distribution network in pre-digitized and/or precompressed format.
  • the plurality of video signals 300 is next genlocked in a video genlock device 304, and thus time synchronized.
  • the data codes 318 may be the interactive commands for controlling the interactive processing of Virtual Sales Agent program 18 used by the receivers 8, updates of system software for receivers 8, or direct address data for making certain programming available to the user (e.g., pay-per-view events).
  • the data codes 318 are part of an interactive scripting language, such as ACTV scripting languages (ACTV Coding Language, Educational Command Set, Version 1.1, and ACTV Coding Language, Entertainment Command Extensions, Version 2.0, both of which are incorporated herein by reference) originating in the data code generator 316.
  • Data codes 318 are formed by stringing together two to six byte long control commands.
  • the data codes 318 are also forwarded to the encoder 312.
  • the depicted embodiment includes a data channel within the MPEG storage format for facilitating a synchronous seamless switch between two video streams.
  • the data channel comprises the data codes 318 which link together the different Virtual Sales Agent program 18 elements and information segments between the different video signals 300 based upon user response or selection, or user profile information 36.
  • the multiple, time synchronized video signals 300 are then directed, along with the audio signals 308 and data codes 318, into the audio/video encoder/compressor 312 (hereinafter "encoder 312").
  • encoder 312 a compatible encoder 312 is required at the transmission center 2 to work with the receivers 8 at the user end. Compression ofthe various signals is normally performed to allow a plurality of signals to be transmitted over a single transmission channel.
  • the encoders 312 are preferably synchronized to the same video clock. This synchronized start ensures that the splice points 336 (as shown in Figure 4) to be placed in the MPEG data packets indicate the switch between video signals 300 at the correct video frame number. SMPTE time code or vertical time code information can be used to synchronize the encoders 312. This level of synchronization is achievable within the syntax ofthe MPEG-2, -4, or -7 specifications.
  • the encoder 312 uses a standard MPEG-2 compression format.
  • MPEG-4 and MPEG-7 as well as other compression formats, such as wavelets and fractals could be utilized for compression. These techniques are compatible with the existing Advanced Television System Committee of America (“ATSC”) and digital video broadcasting (“DVB”) standards for digital video systems. Certain modifications, however, are made to the MPEG stream in order to facilitate the prefened seamless switching before transmission. These modifications to the encoding scheme are described below with reference to the video frame structure 332 shown in Figure 3.
  • All ofthe various component signals — video signals 300, audio signals 308, and data codes 318 — ofthe Virtual Sales Agent program 18 are digitized in the encoder 312.
  • the MPEG compression and encoding process assigns packet identification numbers ("PIDs") to each data packet created.
  • PID packet identification numbers
  • the PID identifies the type of programming signal in the packet (e.g., audio, video, and data) so that upon reception at a receiver 8 the packet can be directed by a demultiplexer to an appropriate decoder.
  • PID numbers may be obtained from the MPEG-2 transport table.
  • MPEG also incorporates a coding segment in each data packet called the adaptation field which carries information to direct the reconstruction ofthe video signal 300.
  • the program clock reference (PCR) is a portion ofthe adaptation field which stores the frame rate of an incoming video signal 300, clocked prior to compression. This is necessary to ensure that the video decoder 374 can play out the decoded video at the same rate as it was input to avoid dropping or repeating frames. Also as noted earlier, in order to facilitate the seamless switch between program segments necessary for implementing the Virtual Sales
  • Agent program 18 the encoders 312 are preferably time synchronized. Such synchronization provides Virtual Sales Agent program 18 producers with the ability to plan video switch occurrences between separately encoded programming segments on a frame boundary within the resolution ofthe GOP. Additional embedded information in the MPEG stream includes a presentation time stamp and a display time stamp. These time stamps are used to maintain lip synchronization with the audio and also to inform the receiver 8 when to present the video and audio to the television 10 or other presentation device.
  • Switches between the various program segments of a Virtual Sales Agent program 18 will occur at video splice points 336 as seen in Figure 3.
  • the splice points 336 are identified via coding also inserted into the MPEG adaptation fields of particular packets, namely splice point flags and splice point counters.
  • Splice point flags indicate that splice point counters are present in the video program, set the value ofthe countdown timer, and initiate the countdown. When the splice point flag is cleared in a future packet, the countdown starts. In this example, the countdown timer is set at two (2).
  • the splice point counters are actually packets nominally identified as video packets in their adaptation fields which decrement the countdown timer prior to the splice point 336.
  • the splice point 336 is the packet at which the countdown timer decrements to zero (0). Therefore, in this example, the switch will occur after the second video packet is found following the packet with the cleared splice flag.
  • Program segment switching occurs at the video splice points 336 based on user inputs through user interface 348 (see Figure 4a), user profile information 36 stored in a memory at the transmission center 2, producer control, and/or commands from the programming itself in the data codes 318 (e.g., interactive programming).
  • User profile information 36 may alternately be stored in memory 352 at the particular user's receiver 8 and fransfened to the transmission center 2 via backchannel communication link 6.
  • a standard MPEG stream contains different types of encoded frames. There are I- frames (intra-coded), P-frames (predicated) and B-frames (bi-directionally predicted).
  • a standard MPEG structure is known as a "group of pictures" ("GOP"). GOPs usually start with I-frames and can end with either P- or B-frames.
  • I-frames consist ofthe initial, detailed picture information to recreate a video frame.
  • the P- and B- frames consist of instructions for changes to the picture constructed from the I-frame.
  • P-frames may include vectors which point to the I-frame, other P- or B-frames within the GOP, or a combination, to indicate changes to the picture for that frame.
  • B-frames may point to the I-frame, other P- or B- frames within the same GOP, frames from other GOPs, or a combination.
  • the vector pointers are part ofthe MPEG scheme used to reduce duplication in the transmitted data resulting in the compression effects.
  • GOPs that end with B-frames are considered open.
  • GOPs that end with P-frames are considered closed.
  • preferable encoding is closed GOP's to ensure that there are no motion vectors pointing to frames that are outside ofthe cunent GOP.
  • the encoder 312 may insert splice points 336 between every GOP in a stream.
  • the GOP is encoded as a "closed" GOP structure, i.e., concluding on a P-frame. Therefore, no motion vectors to the next GOP in the stream are present. If motion vectors cross from one GOP to the next GOP in the same stream, artifacts are created and visible on the presentation when the video signal is switched because the B-frame will be pointing to frames in the GOP ofthe prior stream that do not exist in the new stream.
  • a closed GOP structure is preferred for compliance with MPEG syntax and to ensure the absence of visible artifacts after execution ofthe splice.
  • the GOP length is programmable and can be within one to infinite frames of video depending upon the complexity of the picture and the substantiality of changes between frames such as between scenes or changes of camera angles. It is preferred, however, that the GOP comprise ten to fifteen video frames.
  • four video signals 300 are shown.
  • a seamless switch be available between any one video signal 300 and any other video signal 300. Seamless video switching occurs on a GOP video-frame boundary.
  • all GOP boundaries are encoded as splice points 336.
  • splice points 336 need to be identified for switching between programs. In this case it may be desirable to indicate splice points 336 merely at the conclusion of a particular program segment. This will be the more likely scenario in Virtual Sales Agent program 18 applications.
  • MPEG also reorders the video frames from their original presentation order during the encoding process in order to code the video more efficiently. This reorder must be undone in the decoding process in order for the video to present properly. For example:
  • Splices occur at the end ofthe P-frame at the end of GOP- 1 prior to the I-frame of GOP-2. It is important to point out that with appropriate controls the encoder 312 can code with variable GOP length and place splice frames accurately to achieve the desire interactive effect. The encoder 312 can splice at the end of every GOP allowing for a multiplicity of switching opportunities. Because the GOP ends on a P-frame, a closed GOP is yielded
  • a video switch may be delayed by up to 1.5 GOP's.
  • a splice point 336 can be placed accurately at any frame by utilizing the variable length ofthe GOP.
  • an encoder 312 can be directed to insert a splice at any frame number.
  • each data packet is the same bit length and, therefore, the individual frames in a GOP may be split across multiple data packets.
  • some ofthe bits in a data packet may be audio information, system data or instructions, or even null filler data.
  • the Virtual Sales Agent program 18 chooses the desired frame at which to make the switch and, during the encoding process, codes selected packets in the GOP to implement the switch at the packet containing the end ofthe desired frame.
  • Figure 3 depicts four (4) parallel MPEG streams which is typical in an MPEG transmission system. Each stream is comprised of two successive GOPs.
  • the first packet in each GOP is labeled "g" (for the sake of description herein only) and is a header packet which indicates the start of a new GOP.
  • the g packet is followed by "v" packets which primarily contain the video information consisting ofthe I-, B-, and P-frames, but which also may contain audio or system related data.
  • each GOP may be of variable length and therefore may consist of greater or fewer data packets than adjacent GOPs in the same data stream or, more significantly for switching purposes, than packets of a GOP in a parallel data stream.
  • Each GOP in a stream from or to which a switch is desired is preferably constructed with the same number of data packets.
  • the packets should further be synchronized between the streams.
  • additional packets are added as appropriate to achieve uniform GOP packet lengths between data streams.
  • These additional packets are labeled as "n" packets in Figure 3. These packets may be merely sets of null data, or they may include additional audio or system command data. Null packets, labeled "n” in Figure 3, are added after the last packet containing video frame information.
  • the splice start line 333 indicates the point at which the separate packet streams coincide.
  • the section of packets labeled "k" denotes the number of packets between the splice start 333 and the start ofthe next GOP 334.
  • the number of packets shown is merely representative and should not be viewed as any limitation on the actual number of packets between the splice start 333 and the next GOP 334.
  • the number of packets k is preferably, and at most, the number of packets between the splice start 333 and the start ofthe next GOP 334.
  • the number of packets k must be at least a minimum value set as a variable in the controlling software which is dependent upon the equipment used to implement the splice. However, the encoder will not put in the splice packet until all ofthe video packets have been produced for the current GOP. If the rate control fails to limit the number of video packets and the last video packet produced is less than the minimum number of packets k from the position where the next GOP should start 334, the encoder will not produce splice packets for that stream, but will instead wait until the next GOP.
  • a nominal video packet with the splice point flag set indicates the splice start 333. As shown, the s packets in each stream are synchronized with each other after the last video packet in Stream 4.
  • the demultiplexer 373 and processor 360 in the receiver 8 are put on notice to prepare for a splice. In this example a countdown timer is set at a value of two (2) at the instance ofthe splice point flag.
  • a nominal video packet with the splice point flag cleared arrives at the receiver 8, the demultiplexer 373 and processor 360 will implement the switch between streams at the appearance ofthe second following video packet.
  • the nominal video packets which trip the countdown timer are labeled "e" in Figure
  • the demultiplexer 373 identifies the PID of each incoming data packet and sends the PID information to the processor 360.
  • each incoming video and audio packet from the transmission center 2 has its own PID.
  • the processor 360 in turn identifies the next appropriate packets to select for the user based on user profile information 36 stored in memory 352, or user responses to intenogatories in the Virtual Sales Agent program 18 segments input through the user interface 348 at the receiver 8.
  • the switch could also be dictated at the direction of a producer at the transmission center 2.
  • the intenogatory answers, user requests, producer directions, and user profile information 36 are processed by the processor 360 according to routines within the system software stored in memory 352 to select the indicated data packet and return the associated PID to the demultiplexer 373.
  • the desired PID may be part ofthe data codes 318 which are packetized as part ofthe program data stream 2.
  • the demultiplexer 373 Upon receipt ofthe switching routine instructions, the demultiplexer 373 begins to look for the designated MPEG packet by its PJD.
  • the switch can be entirely controlled by the demultiplexer 373, if for example it is constructed with a register to store PID information for switching.
  • each GOP in the respective data streams contains several more null n packets, identified by the number of packets "m", prior to the first packet ofthe next GOP 334.
  • These additional n packets create a time gap 340 to ensure that the switch is complete prior to the start ofthe start ofthe next GOP 334.
  • MPEG may reorder the various video frames for transmission to maximize the compression capability.
  • the packets may be transmitted out of order to maximize the transmission capacity ofthe transmission bandwidth.
  • the additional n packets creating the time gap 340 allow for mistakes in reordering the packets upon reception at the receiver 8 to assure that the last e packet will be queued before the start ofthe next GOP.
  • the audio signals 308 are encoded using the Dolby ® AC-3 format; however, any conventional audio encoding scheme is acceptable. Similar to the video signal 300 encoding, switching between audio signals 308 preferably occurs on frame boundaries, as shown in the digital frame representation 392 of four audio streams of Figure 5. Audio splice points are inserted in the adaptation fields of data packets by the encoder 312 similar to the video splice points 336. Preferably, the encoder 312 inserts an appropriate value in a splice countdown slot in the adaptation field ofthe particular audio frame. When the demultiplexer 373 detects the splice point inserted by encoder 312, it switches between audio channels supplied in the different program streams.
  • the audio splice point is preferably designated to be a packet following the video splice point 336 packet, but before the first packet ofthe next GOP 334 ofthe prior program stream.
  • one frame may be dropped (in this case, frame 5) resulting in a brief muting ofthe audio, and the audio resumes with frame 6 ofthe new channel.
  • the switch will be nearly imperceptible to the user.
  • the data codes 318 are time sensitive in the digital embodiments and must be synchronized with the video GOPs at the time of creation and encoding ofthe Virtual Sales Agent program 18 segments.
  • Data codes 318 can consist of as few as two bytes, much less than the standard size of an MPEG data packet.
  • MPEG protocol normally waits to accumulate enough data to fill a packet before constructing a packet and outputting it for transmission or, as may be in this case, storage, hi order to ensure timely delivery ofthe data codes 318 from storage device 314 to the multiplexer 324 for synchronization, the encoder 312 must create individual commands as a whole packet. If a partial packet is sent to the encoder 312, the data code 318 is delayed until subsequent data codes 318 filled the remainder ofthe packet.
  • One technique which can ensure timely delivery ofthe data codes 318 is to cause the data code generator 316 to pad the remaining bytes ofthe packet with code FF (hex) bytes.
  • the encoder 312 When the encoder 312 receives this whole packet, the encoder 312 will transfer the packet to the transmitter 328 at its earliest convenience assuring synchronous receipt ofthe data codes 318 at the demultiplexer 373 with the conesponding Virtual Sales Agent program 18.
  • the multiplexer 324 at the transmission center 2 combines the encoded and compressed signals comprising the Virtual Sales Agent program 18 with other programming and data to create a reduced number of transmission data streams 4 for transmission over NTSC channels, hi this way, separate video signals 300 are merged to create a single, syntactical MPEG data stream 4 for transmission to the user.
  • the multiplexer 324 multiplexes up to four video signals 300 within each NTSC channel bandwidth. However, greater or fewer video signals 300 may be input based on the content to be delivered.
  • the number of video signals 300, or other data signals, which may be sent over a single channel is generally related to, for example: a) the type of video being sent; b) the video compression scheme in use; c) the processor used and memory power; and d) the bandwidth ofthe transmission channel.
  • the data packets are modulated for transmission by modulator 320.
  • the modulator 320 may utilize one of several different possible modulation schemes. Preferably, 64-QAM (quadrature amplitude modulation) is chosen as the modulation scheme. If so, the data rate at the output ofthe modulator 320 is around 29.26 Mbps.
  • any ofthe following modulation schemes, with respective approximate data rates, or any other conventional modulation scheme such as FSK (frequency shift keying), n-PSK (phase shift keying), VSB (vestigial side band), etc., can be used with the present invention.
  • the compressed and encoded signals are preferably output in Digital Signal 3 (DS-3) format, Digital High-Speed Expansion Interface (DHEI) format, DVB-ASI format, or any other conventional format.
  • DS-3 Digital Signal 3
  • DHEI Digital High-Speed Expansion Interface
  • DVB-ASI Digital Video Coding Extensions
  • the transmitter 328 may transmit the data stream over any conventional medium for transmitting digital data signals including tenestrial broadcast television, cable television, direct broadcast satellite, standard telephony, wireless telephony, the Internet (as streaming video, for example), MMDS, fiber optic, radio, personal communications networks, or any other transmission means.
  • the data stream 4 is distributed to remote sites via cable, direct broadcast satellite (DBS), or other addressable transmission media.
  • still frame pictures or graphics may comprise the Virtual Sales Agent program 18 as opposed to moving video or other signals requiring greater bandwidth.
  • Such still pictures or graphics could be presented on communications devices such as personal digital assistants (e.g., Palm Pilot®), wireless telephones, telephony devices for the deaf, or other devices with an LCD or similar display. Textual information or an audio message could accompany the still frame images.
  • an all-audio Virtual Sales Agent program 18 could be provided via a radio transmission system.
  • the transmission means may also be a telephone system transmitting a digital data stream.
  • a multiplexed data stream containing several broadcast channels or the Virtual Sales Agent program 18 with related video and data signals may be sent directly to a user over a single telephone line.
  • the aforementioned digital transmission devices may include means for transmitting analog signals as well.
  • a receiver 8 consisting ofthe elements shown in Figures 4a and 4b.
  • the data stream 4 is received via a tuner mechanism 344.
  • the tuner 344 may be a wide band tuner, in the case of satellite distribution, a nanow band tuner for standard MPEG signals, or two or more tuners for seamlessly switching between different signals located in different frequency channels, as explained below.
  • the tuner 344 tunes to the particular NTSC channel indicated by commands issued by a processor 360.
  • the processor 360 is preferably a Motorola 68331 processor, but may be any conventional processor including, for example, PowerPC® and Intel Pentium® chips.
  • the tuned channel is then forwarded to the demodulator 364.
  • the demodulator 364 demodulates the combined signals and sends them through a forward enor conector 346.
  • the forward enor conector 346 checks for data integrity, strips off the forward enor codes, and forwards the digital signals to the audio/video demultiplexer/ decoder/decompressor 372 (hereinafter "decoder 372").
  • decoder 372 the audio/video demultiplexer/ decoder/decompressor
  • the decoder 372 strips off the PID for each packet, and routes each signal to the appropriate decoder, whether video, data, audio, graphics, etc., based on the associated PID, whereby the selected video signal 300, audio signal 308, etc., are then decoded, as explained below. After decoding, the video signal 300 is sent to the video D/A converter 388 which prepares the selected video signal 300 for presentation.
  • a phase lock loop 356 recovers the clocked frame rate information stripped by the decoder 372, which was encoded in the PCR portion ofthe MPEG adaptation field. This allows the processor 360 to ensure a proper presentation rate for the video signal 300.
  • user profile information 36 can be stored in nonvolatile RAM or ROM memory 352.
  • a backchannel encoder and modulator 368 (hereinafter “backchannel 368") is present for sending data to the transmission center 2 over backchannel link 6.
  • data may comprise user profile information 36 or selections made by the user during the presentation of the Virtual Sales Agent program 18.
  • User selection information may include timing information indicating when during a program or advertisement a selection is made.
  • the backchannel 368 may operate over any appropriate communication system such as two-way cable television, telephony, DSL, the Internet, personal satellite uplink, and radio frequency transmission.
  • a user interface 348 accepts input from the user such as responses to intenogatories in the Virtual Sales Agent program 18.
  • a user may interact with the user interface 348 via an infrared or RF or remote control, a keyboard, touch screen technology, or even voice activation.
  • An attached presentation device may comprise a television 10 or a video monitor, hi other embodiments ofthe invention, the presentation function ofthe television 10 maybe assumed, for example, by a computer monitor, a personal digital assistant, wireless handsets, telephones, telephone answering devices, telephony devices for the deaf, web pads, and radios.
  • new software applications may be downloaded to the receiver 8 via either the data stream 4 or the backchannel link 6. These applications can control the receiver 8 and redefine its functionality within the constraints ofthe hardware. Such control can be quite extensive, including control of a front-panel display, on-screen displays, input and output ports, the MPEG decoder 372, the RF tuner 344, the graphics chip 376, and the mapping of the user interface 348 functions.
  • the interactive programming technology necessary to provide the Virtual Sales Agent program is implemented as a software application within the receiver 8.
  • Such technology is preferably located within ROM or flash-ROM memory 352 ofthe receiver 8.
  • the interactive technology could alternatively be located in any type of memory device including RAM, EPROM, EEPROM, and PROM, hi the prefened embodiment, the software can access and control the hardware elements ofthe device.
  • the decoder 372 in the receiver 8 is preferably capable of real-time MPEG decoding.
  • a seamless switch from one video signal ofthe Virtual Sales Agent program 18 to another in the MPEG data stream 4 is performed by the demultiplexer 373 at the video splice points 336 shown in Figure 3 as previously explained.
  • a receiver 8 may be equipped with two or more tuners 344 in order to provide all ofthe necessary data signals to the decoder 372. Audio switching in the prefened embodiment ofthe Virtual Sales Agent program 18 similarly occurs on frame boundaries, as explained above with respect to Figure 5.
  • the audio signal 308 is decoded by the audio decoder 375 and sent to the audio processor 380 prior to presentation to the user.
  • the packets are output to a standard video buffer 378 and then decoded.
  • the video buffer 378 ensures that enough video packets are queued for decoding so that the video decoder 374 can follow all the vector pointers between the I-, P-, and B-frames ofthe GOP and reconstruct the video frames for presentation.
  • the physical buffer size ofthe video buffer 378 is defined by the MPEG standard, hereby incorporated by reference. Enough time must be allowed at the onset ofthe transmission process to fill up the buffer 378 with the frame data.
  • the splices take advantage ofthe non real time nature of MPEG data during transmission ofthe programming signals through the Virtual Sales Agent program 18 transmission system.
  • the additional null and switch packets can be inserted at the end of each GOP in order to make the switch.
  • the demultiplexer 373 will always find the PID in the header information ofthe first video packet ofthe GOP 334 ofthe new data stream before the previously selected GOP is played out ofthe video buffer 378. Because the decoder 372 can decompress and decode even the most complex video GOP before the prior GOP is presented on the television 10, the GOPs can be padded with the switching packets, including the time gap 340 packets, without any gap between the Virtual Sales Agent program 18 segments presented.
  • the selected video signal 300 continues through the MPEG decode process, which preferably utilizes a variable length decoder (VLD) for the video decoder 374.
  • VLD variable length decoder
  • the VLD converts the run-length encoded data stream into its longer bitstream format.
  • the bitstream is decoded into its constituent parts, i.e., motion vectors, discreet cosign transform (DCT) coefficients, and the like, so that the video signal 300 can be reconstructed.
  • DCT discreet cosign transform
  • the datastream is converted into frequency domain information using an inverse DCT filter. If the frames are intercoded, the pixel data is generated and stored in a buffer.
  • the entire Virtual Sales Agent program 18 maybe transmitted by the transmission center 2 and stored in the receiver 8, presuming the receiver 8 is configured with adequate memory 352 to handle such a storage function.
  • the receiver 8 would implement the Virtual Sales Agent program 18 by accessing program segments stored in its own memory 352.
  • the memory 352 in this embodiment would preferably be randomly accessible in order to provide program segments responsive to user selections or other instructions in the Virtual Sales Agent program 18.
  • the VSA program 18 could similarly be stored on a storage device connected to the receiver 8 such as a DVD player/recorder, CD player/recorder, or a file server.
  • the memory 352 may also store information relating to cunent and previous user responses and user profile information 36. This information may be used in conjunction with commands transmitted within the data signals, as discussed in U.S. Patent No. 4,602,279, and U.S. patent application Serial No. 09/409,035, filed on September 29, 1999, each of which is hereby incorporated herein by reference.
  • the stored user profile information 36 and received commands may be used to switch interactively between data signals without any additional response from the user.
  • the various information segments in the data stream 4 preferably relate in real-time and content so that an interactive conversation may occur as the data signals are presented and the user responds to the various intenogatories contained in the presented Virtual Sales Agent program 18. As a user answers a particular intenogatory with a multiple-choice response, the information in the data signal associated with the particular selection is presented by the receiver 8.
  • the various intenogatories, responsive messages, and informational messages may generally be contained in any one, more than one, or all ofthe various data signals.
  • Another embodiment for providing a large Virtual Sales Agent program 18, which would otherwise need to be split between multiple NTSC channels for transmission, is possible without requiring dual tuners 344 in the receiver 8.
  • the various data signals are processed at the transmission center 2 as previously described, being digitized by A/D converter 302 and compressed by encoder 312. However, rather than being immediately multiplexed by multiplexer 324, the data signals are first routed to a central switch. In this embodiment, the switching between the various data signals is accomplished at the transmission center 2 rather than at the receiver 8.
  • the receiver 8 relays the multiple-choice selections ofthe user input via the user interface 348 to the fransmission center 2 via the backchannel 368.
  • a processor at the transmission center 2 receives the multiple choice selection ofthe user over the backchannel link 6 and controls the central switch to select the desired data signal in much the same manner as the receiver 8 controlled the switching at the user end in the embodiment described above.
  • the central switch monitors the data packets from the encoder 312 for PIDs, splice point flags, and splice points 336.
  • the processor at the transmission center 2 analyzes the intenogatory responses, user profile information, PIDs, etc., and activates the central switch appropriately.
  • a single program segment is delivered over the data stream 4, so there is no need for the receiver 8 to perform any switching functions; the switching is done at the transmission center 2.
  • Such a system requires very fast switching equipment at the transmission center 2, but can be implemented because ofthe time gaps 340 in the digital packets.
  • each central switch is assigned to a single user so the number of switches present at the transmission center 2 is the limiting factor to the number of users who can interact with the Virtual Sales Agent program 18 simultaneously. If it is assumed that only a portion ofthe users will interact simultaneously, an algorithm may be used to determine the optimum number of central switches necessary to assure an acceptable percentage of access.
  • a single link handles both the interactive choice being made at the receiver 8 and the transmission of that choice, out of a plurality of choices, from the transmission center 2 where the actual switching takes place.
  • the expert systems technology disclosed in U.S. Patent Nos. 5,632,007 and 5,585,858, which are incorporated herein by reference, may be used to aid in the interactive response to user input or user profile information 36. As the user selectively responds to queries, the responses are input into the expert system which determines the appropriate switch between the data signals in the data stream 4.
  • the Virtual Sales Agent program 18 may be designed to either emulate memory functions during operation, without requiring a complex microprocessor to perform any of these memory functions, or instead may utilize processor 360 and memory 352 to provide a more complex degree of expert analysis.
  • the logic and memory functions of an expert system may be achieved through hierarchical rule-based programming transmitted in the data stream 4.
  • the operating system may change between data signals appropriately, store responses for future branching, or execute an algorithm utilizing a response.
  • the Virtual Sales Agent program 18 may thereby emulate a computerized expert system in making its presentation selections without the use of processor 360 for tracking all user responses.
  • the Virtual Sales Agent program 18 may be a stand-alone system, such as a public kiosk.
  • the Virtual Sales Agent program 18 may be stored on a randomly accessible memory media unit in the kiosk.
  • the stand-alone system may also be connected to the Internet via a communications link in order to provide Internet content 10 as well. Processing functions may be handled by a dedicated microprocessor or a personal computer running appropriate software.
  • the user interface 348 in this embodiment may preferably be a touch screen monitor through which the user indicates his preferences and answers intenogatories.
  • the kiosk may be further equipped to provide printed information to the user, for example product specifications, a sales receipt, or a coupon.
  • a Virtual Sales Agent program is created by a program producer or other content provider as a collection of related program segments that may be variously cued depending upon the profile or reaction of a user.
  • One or more program segments are preferably grouped in synchronized sets and multiple groups or sets of program segments are placed in a sequential order for transmission.
  • Each program segment in a group is provided as an optional presentation possibility of the Virtual Sales Agent program.
  • the choice of which optional program segment to present is based upon information known or generated from the user.
  • the Virtual Sales Agent program may be encoded to draw upon user profile information to automatically select program segments of likely interest to or preference ofthe user.
  • the Virtual Sales Agent program may also include intenogatories, questions, choices, or selections for the user to make via the user interface. The user's answers or selections indicate which optional program segment to present next to fit the preference ofthe user.
  • the content ofthe Virtual Sales Agent program in a prefened embodiment is an interactive sales or advertising program. Content in other prefened embodiments may be educational or training programs. Further, the Virtual Sales Agent program could be an interactive game.
  • the Virtual Sales Agent program can be an enhancement to multiple types of conventional programming content such as advertisements (including targeted advertisements), news, entertainment, situation comedies, sports, music videos, game shows, and educational shows.
  • advertisements including targeted advertisements
  • the Virtual Sales Agent program can be an enhancement to multiple types of conventional programming content such as advertisements (including targeted advertisements), news, entertainment, situation comedies, sports, music videos, game shows, and educational shows.
  • the presence ofthe Virtual Sales Agent program in the transmission and its availability for access is indicated to the user during the presentation ofthe conventional programming content.
  • An auto purchasing experience is just one example of how the Virtual Sales Agent program 18 would operate and illustrates how content is produced and enhanced in Virtual Sales Agent program 18.
  • a television user is presented with a commercial 12 for a particular auto manufacturer's new model year rollout during a regularly scheduled break in a broadcast program.
  • An indicator 14 appears on the television 10 to indicate that additional information about the advertised product is available.
  • the user decides that he/she would like more information about that manufacturer's products.
  • the data signal 4 selection is switched by the receiver 8 from the commercial 12 or other broadcast programming to the Virtual Sales Agent program 18.
  • the Virtual Sales Agent program 18 for selling automobiles might begin, as in step
  • FIG. 1 A sample of such a nanative sequence is depicted in Table 1 herein. It should be understood that the example in Table 1 represents the audio portion of a sample Virtual Sales Agent program 18, and that appropriate video may be included in each program segment as well. Information or instructions included in the data code 318 portion ofthe program segment are enclosed in brackets ⁇ ⁇ .
  • the programming information ofthe Virtual Sales Agent program 18 may be stored in a video disk library 32 as in a video-on-demand system, on a computer server 34, or on any other applicable memory medium, or a combination of these options.
  • the Virtual Sales Agent program 18 could also be a part of a broadcast signal from a remote source retransmitted by the transmission center 2 or originate from an Internet hosting site.
  • the Virtual Sales Agent program 18 may ask some preference oriented questions to determine the prospective purchaser, the user's, wants and needs, just as a real sales agent would do on a car lot. Therefore, the first and most obvious question might be, "What kind of car can I show you?"
  • the video portion ofthe Virtual Sales Agent program 18 maybe combined with a graphical segment, indicating the various options among which the user may choose.
  • the options might be to look at (a) a full sized sedan 102, (b) a compact car 104, (c) a sport utility vehicle (SUV) 106, or (d) a truck 108.
  • the user interface 348 By using the user interface 348 and inputting a conesponding letter, or otherwise making a selection, the user may select the type of vehicle in which he/she is most interested.
  • the receiver 8 switches between data signals in the data stream 4 according to the methods discussed above, to provide a programming segment responsive to the user's choice. (In a two-way embodiment, the switching between data signals may be performed at the transmission center 2.)
  • step 106 the video segment is seamlessly switched and the sales representative begins a presentation in step 110 about the different models of SUVs offered.
  • a video segment might be composed of merely a voice-over describing the different models as their pictures are shown.
  • the user is asked to choose the size of SUN he desires.
  • Several options may again be presented in graphic overlays on the television 10 screen. Such a choice is exemplified by steps 112, 114, and 116 indicating options of "Sport,” “Family,” or “Platoon,” respectively, in the event one needs to transport a small army.
  • this kind of model selection may be intelligent, hi systems with user profile information 36 tracking, information about user demographics, viewing habits, previous interactive television purchases, etc., may be transmitted via backchannel 368 to the transmission center 2 and stored in a user profile information 36 database.
  • the user profile information 36 may actually be stored in the memory 352 of receiver 8 for access at the user end.
  • the Virtual Sales Agent program 18 may choose to switch to the programming segment of step 120 automatically.
  • the Virtual Sales Agent program 18 may automatically switch to the Sport model branch along step 118.
  • the Virtual Sales Agent program 18 will branch to different video signals at this point. If the user is interested in a Sport model, step 112, the Virtual Sales Agent program 18 will perhaps move to a segment on available door options, step 118. Such a track is chosen because the standard Sport model only comes with two doors, but four are available as an option. A video segment with the sales representation would show and explain the possible options.
  • step 120 users interested in the Family or Platoon size models are not queried about door selection because on these models four doors are standard. Instead, these users may be shown a programming segment which depicts the possible seating configurations, step 120. This segment may not be applicable to the Sport model which is limited to only one seating configuration.
  • the seating options available between a Family size model and a Platoon model may also differ. While there may only be one video segment which explains all possible seating configurations, data signals for the seat selection program segment of step 120 may, however, include separate instructions to the receiver 8 as to which graphics to present based upon the responses to the query in step 110. If the user is interested in the Family model, receiver 8 will process and present only choices (a) 1-5 seats, step 126, or (b) 6-8 seats, step 128. However, if the user previously indicated interest in the Platoon model, the additional option of (c) 9-11 seats, step 130, will be passed through by the receiver 8 and presented to the user.
  • the data signals presented to the Sport model user are presented in synchronicity with the data signals presented to the Family or Platoon model users.
  • the alternate segments ofthe Virtual Sales Agent program 18 are simultaneously present in the data stream 4 and separated for selective presentation.
  • the SUV portion ofthe Virtual Sales Agent program 18 converges in step 132 to offer information to all users about the available engine options.
  • Steps 134, 136, and 138 detail the choices of (a) V-6, (b) V-8, or (c) diesel, respectively.
  • the data signal may next offer an audio/video segment wherein the sales representative describes the transmission features ofthe SUV model line and culminate with a request for a selection.
  • Selection options of (a) automatic or (b) manual are detailed in steps 142 and 144, respectively.
  • Another typical option in SUVs is the availability of four-wheel drive as noted in step
  • Steps 148 and 150 allow the user to choose a two-wheel drive or a four-wheel drive model, respectively.
  • the Virtual Sales Agent program 18 switches to a companion data signal to provide a contemporaneous programming segment, step 152, while users who choose the four wheel drive model, step 150, continue to receive the prior data signal.
  • An additional optional off- road package is then detailed and offered to four-wheel drive users in step 154. As this package is not offered to the two wheel drive customers, an alternative synchronous segment, step 152, is provided to fill the time necessary to present the off-road package to other users.
  • users are in this instance provided a Yes or No option for response via the user interface 348.
  • the Virtual Sales Agent program 18 Upon completion ofthe off-road segment, the Virtual Sales Agent program 18 again converges to a single data signal in step 160. At this point information and inquiry are directed to the availability of a towing package. Again, the user is able to respond either Yes or No in steps 162 and 164, respectively. Depending upon a particular user's answer, the Virtual Sales Agent program 18 may be switched between one of three different data signals supplying three different programming segments.
  • the receiver 8 (or in the case of a two way embodiment, the transmission center 2) base immediate switching decisions upon user responses to intenogatories, it also stores the responses in memory 352 for later decision making processing based upon prior responses.
  • the Virtual Sales Agent program 18 will switch this user to a data signal conesponding to step 166. Combining expert decision making capacity in the Virtual Sales Agent program 18 allows for recognition that automatic transmission is required if a towing package is desired in step 166.
  • the user is then given the opportunity to change his/her mind about his/her previous selection of a manual transmission in step 144 in order to presently select the towing package through the Yes option in step 168.
  • the user can forego the towing package by selecting No in step 170.
  • step 166 While the fransmission concerns are sorted out in the programming segment identified by step 166, other users who selected the towing package in step 162, and who previously selected automatic transmission in step 142, are provided a separate programming segment of the Virtual Sales Agent program 18 as in step 172. This segment may, for example, provide additional information about towing features or capacity.
  • the segment of step 172 parallels the segment of step 166 to maintain real-time continuity between the various programming branches in the data stream 4.
  • a third programming segment, step 174 is provided to likewise maintain the continuity.
  • the Virtual Sales Agent program 18 may transmit multiple accompanying audio tracks for selection by the receiver 8 based upon whether or not the user chose the towing package option. It should also be appreciated, that different audio tracks may be transmitted with each segment ofthe Virtual Sales Agent program 18. These tracks may provide the same information to users, but be recorded in different languages. An example might be that the user profile information 36 of a particular user indicates that he/she is predominately a Spanish speaker. The transmission center 2, based on this user profile, could send a signal to the receiver 8 to select the Spanish language audio track accompanying the Virtual Sales Agent program 18 for playing to this particular user.
  • the three separate programming segments may include commands to the receiver 8 to switch to a single data signal in the data stream 4. It may be that a switch from two ofthe data signals is made to the third.
  • the Virtual Sales Agent program 18 in step 176 may provide an overview of the manufacturer' s wananty policy and then ask if the user would like to review the details. If the user responds affirmatively as in step 178, the receiver 8, if equipped with Internet browser software, may be directed by an URL in the data signal to retrieve a web page 28 via communications link 24.
  • Such interactivity with Internet information sources is described in detail in U.S. Patent Nos.
  • the web page 28 stored on remote server 30 may be maintained by the auto manufacturer to provide the text ofthe warranty.
  • the wananty may thereby be accessed by receiver 8 and presented for the user on the television monitor 10.
  • the wananty infonnation may be presented in a frame or window superimposed over the video segment, or it could completely displace the previous video segment.
  • the transmission center 2 may provide the Internet content 20.
  • transmission center 2 is connected to web page 28 via communications link 26.
  • Content from web page 28 may then be accessed by the transmission center 2 and converted for transmission to the receiver 8 as part ofthe data stream 4.
  • the receiver 8 can then present the Internet content 20 on television monitor 10.
  • a computer with an attached monitor could replace receiver 8 and television monitor 10, wherein the computer is equipped with a demultiplexer, a tuner/decompressor, and a video card.
  • the Virtual Sales Agent program 18 may send the next program segment such as step 190 via communications link 24.
  • Additional audio/video segments stored on remote server 30 featuring the Virtual Sales Agent program 18 may be streamed over the Internet and presented on the user's television 10. Streaming the data signals via Intemet technology at this point may be preferable to returning to the transmission data stream 4 as the time taken for different users to review wananty information may differ significantly, making a return to the real-time Virtual Sales Agent program 18 via data stream 4 unavailable.
  • Step 190 may ask whether the user would like to place an order for a vehicle with the specific options for which he/she has indicated preferences throughout the Virtual Sales Agent program 18. If the user so desires by selecting the Yes option in step 192 through the user interface 348, the receiver 8 may again interface with web page 28 to download the necessary forms for presentation on the television 10. Using the user interface 348, the user can provide the required information for completing a purchase transaction, step 194. Expert systems technology could even allow the Virtual Sales Agent program 18 to conduct price negotiations with the user based upon a hierarchical rule based system. Upon such completion, the Virtual Sales Agent program 18 terminates in step 196 and returns the user to the broadcast channel which was presented on the television 10 prior to the user selecting the Virtual Sales Agent program 18.
  • step 198 may lead to an inquiry as to whether the user would like to take a test drive, step 200. If the user so indicates an interest in step 202, commands in the Virtual Sales Agent program 18 may direct the receiver 8 to access a web page 28 via Internet communications link 24 to produce a list of local dealerships. By selecting a desired dealership, step 204, a URL may direct receiver 8 to access the local dealership's Intemet web site for coordination ofthe test drive with the user. At this point the Virtual Sales Agent program 18 would terminate at step 206. If the test-drive offer in step 200 was declined in step 208, the Virtual Sales Agent program 18 would thank the user for his/her participation and terminate in step 210.
  • the receiver 8 may continue to present a programming segment from data stream 4.
  • the programming segment presented may, similar to step 190, ask the user whether he/she would like to order the SUN. If the user answers Yes as in step 186, the receiver 8 would at this point switch signal inputs to communications link 24 to retrieve the Internet web page 28 containing the ordering interface sequence, step 212. Once ordering was complete, the Virtual Sales Agent program 18 would terminate and the television 10 would return to the regular broadcast selection.
  • step 188 a user uninterested in ordering an SUV would select No in step 188.
  • the data signal in data stream 4 would provide the next programming segment in step 216 and ask whether there was interest in a test drive. If the user indicates Yes via the user interface 348 in step 218, the receiver 8 would switch to telecommunications link 24 and access the URL transmitted as part ofthe data signal to seek a dealership list on web page 28, step 220. The user could then select the closest dealership and be connected to the dealer web site to schedule a test drive. At this point, this branch ofthe Virtual Sales Agent program terminates in step 222.
  • the Virtual Sales Agent program 18 would present one final video segment wherein the virtual sales representative thanks the user for participating, provide contact information for obtaining further product information, and terminates the Virtual Sales Agent program 18 in step 226.
  • Data Stream 1 Data Stream 2
  • Data Stream 3 Data Stream 4 Internet Stream
  • the Sport may be carried the Compact model has great the Truck on a separate program may equipment rack program may channel in the be canied on a options.
  • ⁇ separate Family model separate channel in the has a second channel in the data stream.
  • radio tuner with data stream. headphone jacks for the kids.
  • the Platoon has an optional third bench seat or an expanded cargo area. Which model fits your size needs?
  • ⁇ Video Graphic display door display: a) 1-5; configurations. b) 6-8; c) 9-11.
  • SUV models can be equipped with any ofthe following engine options.
  • the Sport comes standard with a V-6.
  • the Family model engine is standard with the v-8.
  • a diesel V-8 is also available for heavy-duty needs and is
  • Each model can likewise be equipped with either manual or automatic transmission.
  • a 5-speed stick is standard on the Sport, while the Family and Platoon are provided a four speed automatic with overdrive. What is your preference?
  • Push button four-wheel drive is another option available on all models. This is a great feature if you plan to take the vehicle off-road or for added traction in the ice and snow.
  • ⁇ Video display clips of off-road and snow driving.
  • Graphic display a) 2- wheel drive; b) 4-wheel drive.
  • Data command If (a), switch to stream 2; if (b), stay on stream 3. ⁇
  • Each ofthe models can be equipped with an optional towing package. No matter what the
  • ⁇ Video display towing clips. Graphic display: YES; NO. Data command: If YES and manual transmission selected, switch to stream 1; if YES and automatic fransmission selected, switch to stream 2; if NO, stay on stream 3. ⁇
  • ⁇ Video display sales agent clip.
  • Graphic display YES;
  • SUV with the display options we just wananty for discussed? Our review.
  • Video on-line ordering display stream system makes it sales agent easy to choose inquiry. ⁇ these and all the would you like other available to order the options you SUV we just want. designed?
  • ⁇ Video display ⁇ Graphic sales agent clip. display: YES;
  • ⁇ Video display contact you sales agent clip. within the next Graphic week to anange display: YES; for delivery of NO. Data your new SUV. command: If irritation YES, switch to on your Internet stream purchase. and retrieve Monarch Test Drive page Motors via URL; if NO, appreciates your stay on stream business. 3. ⁇ ⁇ Data command: End program. ⁇
  • Video display stream sales agent clip.
  • Graphic display web page address link for Monarch and dealer.
  • Data command End Program. ⁇

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Human Computer Interaction (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Databases & Information Systems (AREA)
  • Finance (AREA)
  • Game Theory and Decision Science (AREA)
  • Economics (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

A virtual sales agent program (18) is provided to users via the functionality of interactive television (10) programming technology, enhanced television systems which present retrieved Internet information (28) and content, and expert based programming systems. The virtual sales agent segments (18) are part of the same transmission stream (4) which broadcasts an associated commercial message. The content signals, comprising both the commercial and virtual sales agent segments, are converted into digital format for transmission. An encoder combines the various digital content signals, which may include video (22), audio, graphics, text (20), and data signals, including Uniform Resource Locators for direction to Internet content (28), into a reduced number of data streams (4) for transmission. Using a multiple-choice controller (348), a user responds to information presentations or interrogatory messages. The various information segments in the various content signals preferably relate in real-time and content so that an interactive conversation can occur as the content signal is played back and the user responds.

Description

SYSTEM FOR PROVIDING SALES INFORMATION VIA INTERACTIVE DIGITAL DATA STREAMS
CROSS REFERENCES TO RELATED APPLICATIONS This application claims priority to U.S. application Serial No. 09/687,866 filed 13
October 2000. This application is a continuation-in-part of U.S. application Serial No. 09/335,372 filed June 17, 1999, which is a continuation-in-part of U.S. application Serial No. 09/154,069 filed September 16, 1998, which is a continuation-in-part of U.S. application Serial No. 08/887,314 filed July 3, 1997, which is a continuation of U.S. application Serial No. 08/443,607 filed May 18, 1995, now U.S. Patent No. 5,724,091. Each of these applications is mcorporated herein by reference.
BACKGROUND OF THE INVENTION 1. Field of the Invention This invention relates generally to the provision of programming content via digital television signals and enhanced programming systems which present internet content to users. This invention further relates to the interactive selection of particular content based upon answers to proffered interrogatories or accumulated personal profiles for individual users. 2. Description of Related Art
Even with today's vast e-commerce capabilities on the World Wide Web, the majority of people are still uncomfortable with embracing or uncertain about engaging in the online buying experience. Unfortunately, when attempting to buy a product or service on-line, many questions about the product or service remain unanswered and the buyer does not feel fully informed when making a decision. Questions which arise, for example, may include: What is the product really like; What is the quality ofthe product; Are there comparable products which should be considered; Will it fulfill my needs? It is very difficult for an online shopping experience to address these concerns. Generally, this type of analysis can only be accomplished by visiting a retail outlet and consulting a knowledgeable sales representative.
These questions similarly remain unanswered after viewing television advertisements for various products and services which, due to their short length, simply cannot provide a consumer with the necessary information to make a purchasing decision. Even with the advent of long-form paid "infomercials," a consumer's individual questions or situation may not be addressed. What is needed is the ability to interact with a salesperson as in a retail store so that an individual consumer's questions or concerns can be answered. The present invention addresses these problems of uninformed Internet and television purchasing by providing a system for conducting a seemingly one-to-one conversation with a retailer in full motion video through the consumer's television and set-top box configuration. Additional information may also be provided to the consumer through the parallel incorporation of textual, animation, still frame, or other graphic content, either within the video transmission or by accessing information on the Internet.
SUMMARY OF THE INVENTION A Virtual Sales Agent is provided to television viewing consumers via the functionality of interactive television programming technology and enhanced programming systems which present retrieved Intemet information and content. The Virtual Sales Agent is preferably an optional offering made to television users during the broadcast of a particular commercial advertisement or program. In a prefereed embodiment, in addition to the normal presentation of a commercial segment or program, the television may present an icon, a graphic, an audible cue, or a second video image utilizing picture-in-picture or multiple video frame technology, signifying the availability of additional sales information for the product or service being advertised or shown during a program. The graphic may be a Uniform Resource Locator (URL) or hypertext link if the television is World Wide Web enabled. Similarly, the pictures and graphics in the program on the television screen may be created as hot spots for selection of related content by the user. By selecting the icon, for example by pressing a button on a remote control, the regular commercial broadcast will be switched to present video segments comprising the virtual sales agent program.
The Virtual Sales Agent video segments, in one embodiment, are part ofthe same transmission stream which broadcasts the associated commercial message. The video signals, comprising both the commercial and Virtual Sales Agent segments, are converted into digital format for transmission, hi a digital format, it is possible to transmit more than one video signal per National Television Standards Committee ("NTSC") standard television channel. Compression allows an even larger number of video and other signals to be transmitted over a single channel ofthe transmission media.
An encoder/compressor combines the various digital signals, which may include video signals, audio signals, and graphic signals such as the presented icon or other graphic content, or even Uniform Resource Locators ("URLs) for direction to Internet content, into a reduced number of data streams for transmission. The various NTSC television channels may also be allocated in a predetermined fashion to maximize the number of simultaneously transmittable signals. The multiplexer in the programming transmission system multiplexes the desired data signals into data streams, and these data streams are transmitted over the NTSC channels. The number of video signals that may be compressed onto a data stream on a single transmission channel will vary depending on the quantity and frequency of substantial changes in the images between frames in the video signals to be transmitted. The television channels containing a data stream of compressed and multiplexed video signals may be transmitted over a standard cable television distribution network, or direct broadcast satellite transmission system. It is also possible to transmit the compressed video signals via conventional telephony, wireless telephony, digital subscriber line (DSL), Multipoint Microwave Distribution System (a/k/a Multi-channel Multipoint Distribution System (MMDS)), the Internet, an intranet, or other public or private communication networks. If a receiver is so equipped, requests to retrieve and present Internet content designated by time-stamped URLs or other locator information in the data stream may be incorporated in to the Virtual Sales Agent presentation.
A set top receiver (or a computer device with appropriate video cards) receives one or more television channels, some or perhaps all of which contain a compressed data stream of video signals. When a particular television channel is selected for viewing, a processor in the receiver selects the particular data channel/data stream for playback. If that particular data stream is multiplexed, a particular video signal from the multiplexed data stream is selected, and the video signal is decompressed, if necessary, for playback to a television monitor. Additionally, the programming transmission system may be equipped to convert and incorporate Internet data such as HTML coded pages into the data stream for resolution by the receiver and presentation on the television monitor.
In the case of a commercial or program with a Virtual Sales Agent component, the graphic icon or other indicator is presented on the television monitor along with the video. A remote control, keyboard, voice actuation, or other user interface device operates to control the receiver to select the Virtual Sales Agent option.
In practice, a user selects the icon or other indicator of additional content present in the presented commercial. In lieu of an icon, the indicator can be an audible signal, flash in the picture, other graphics or textual presentations, or even a verbal indicator from an actor speaking in the commercial presentation. Alternatively, an indicator of additional content can be a designated button or light emitting diode (LED) on the remote control or keyboard. The system switches from the main video signal to the Virtual Sales Agent programming. The Virtual Sales Agent video segments may request information from or ask questions ofthe user. Using the user interface, the user selectably responds to infonnation presentations or interrogatory messages and the system selects a particular multiplexed video signal and demultiplexes, de-modulates, and presents the selected video signal. Alternatively, the signal selector may select a video signal based on personal profile infonnation stored in memory. If more signals are needed for an interactive program than are mappable to a data stream on a single channel, the system is programmed to switch between the various data signals within a single data stream as well as between data streams among the various channels to provide the necessary level of interactivity. The various information segments in the various video signals preferably relate in real-time and content so that an interactive conversation can occur as the video signal is played back and the user responds to the various intereogatories on the video signals. hi a two-way embodiment, the various signals that comprise the Virtual Sales Agent program may be switched at the transmission end rather than at the receiver. This embodiment may be used in a cable television system, a direct broadcast satellite system, a conventional telephone or DSL system modified to receive digital video signals, MMDS, or any other appropriate transmission system capable of sending digital video signals. The selection of a desired video signal can be made by relaying the multiple choice selection of the user through a relay in the receiver back to a remotely located switching station, preferably the transmission source. Video signal selection can also be made on the basis of collected user profile information, electronic programming guide entries, and previous intenogatory responses by the user, or a combination ofthe above.
The transmission end receives the multiple choice selection ofthe user or makes the signal selection based upon other user information and routes the correct signal down the appropriate cable channel, satellite broadcast, DSL, MMDS, wireless telephone connection, intranet, Internet, telephone line, or other communication network or transmission medium for the particular user. The multiple choice selections may be relayed to the switching station by any conventional means, such as two-way cable television, telephone line, DSL, wireless telephone connection, the Internet, an intranet, personal satellite uplink, or radio frequency transmission. If the interactive programming is transmitted via standard or wireless telephony, DSL, or two-way cable, the multiple choice selections may be relayed back over the same two-way medium. If desired, the two-way link may be used for other purposes, such as to transmit user demographic data back to the programming transmission source to be factored into the selection of appropriate programming segments to the user.
BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a diagram depicting the various components ofthe present invention and their interaction in a configuration encompassing multiple embodiments. Figure 2 is a block diagram of an interactive programming system transmission center used to achieve the benefits ofthe present invention.
Figure 3 is a representation of time gaps used in a seamless switching process between video signals.
Figure 4A is a block diagram ofthe components of an interactive programming receiver used to achieve the benefits ofthe present invention.
Figure 4B is a block diagram ofthe components ofthe audio/video demultiplexer/decoder of Figure 4a.
Figure 5 is a representation of a switching process between audio signals. Figures 6A-6B are a flow diagram depicting an exemplary interactive sales program.
DETAILED DESCRIPTION OF THE INVENTION Referring to Figure 1, a configuration ofthe present invention inclusive of multiple prefened embodiments is disclosed. The programming transmission center 2, generally a cable or satellite television transmission station, or an Internet hosting site, broadcasts data stream 4 containing a variety of programming, including the Virtual Sales Agent interactive program 18, to connected subscribing users. Receiver 8 at a user's location receives data stream 4 and which is processed for presentation on an attached television monitor 10. Receiver 8 may be a set top box, circuitry and software resident on the television 10 itself, or a computer with appropriate video cards and software.
Television monitor 10 presents regular television programming, for example a commercial advertisement 12. In the Virtual Sales Agent system, an indicator 14 is preferably presented on television monitor 10 to indicate that the Virtual Sales Agent program 18 associated with the commercial 12 is available for viewing. Data stream 4 includes data signals (as shown in Figure 2), which collectively include video signals 300, audio signals 308, and data codes 316, which comprise the Virtual Sales Agent interactive program 18. In other embodiments, data signals may include Internet content 20 or other communication network content. Indicator 14 may be a -graphic icon, a graphic representation of an Internet hyperlink, or perhaps a picture-in-picture video segment 16. Other indicators 14 such as an audible signal or a flashing presentation on the television monitor may also be used. Further, the indicator could simply be a particular button or LED on a remote control or keyboard. Indicator 14 and associated selection and programming data could be incorporated as part ofthe commercial signal at the time of its original creation. The Virtual Sales Agent program 18 may be stored on any applicable storage device 314 at the transmission center 2 such as magnetic tape or disk or other magnetic storage/playback medium, optical disk 32 or other optical storage/playback medium, or on a computer, video, or MPEG server 34. Programming information may also come from Internet content 20 accessed from a web page 28 housed in a remote server 30 via communications link 26. Alternatively, the transmission center 2 could instruct receiver 8 to access Internet content 20 at web page 28 via communications link 24 to incorporate into the Virtual Sales Agent program 18. The entire Virtual Sales Agent program 18 could be accessed from the Internet by, for example, the use of streaming video technology. If desired, the communications links 24 and 26 could connect to other public networks, or a private network or intranet, for accessing content thereon. Additionally, the Virtual Sales Agent program 18 may be received by the transmission center 2 from a remote broadcast source and retransmitted to users in data stream 4.
The Virtual Sales Agent program 18 may incorporate segments from any of these mediums or sources by switching among them for programming material. Programming material may include audio, video 22, graphics, text, or Internet content 20. hi order to achieve the benefits ofthe Virtual Sales Agent system, the present invention preferably employs an interactive programming system as disclosed in U.S. Patent No. 5,724,091, and U.S. patent applications Serial Nos. 08/887,314, 09/154,069, and 09/335,372, each of which is entitled: "Compressed Digital Data Seamless Video Switching System," which are incorporated herein by reference. Such an interactive programming system is shown in Figure 2. Seamless switching between digital video signals, whether representing independent television programs or different related signals within one interactive program, is critical to the viewing experience. Seamless switching is defined as video stream switching that does not produce visible artifacts. The process of encoding the programming at the transmission center 2 is the key to a simple yet effective seamless switch.
The steps involved in the content creation of a Virtual Sales Agent program are discussed following the description of hardware and software embodiments for delivering the program. In an interactive television system, including the Virtual Sales Agent program 18, a plurality of video signals 300, or other programming signals, is simultaneously transmitted to a plurality of users. Other programming signals, in lieu of video signals 300 may include audio signals, graphic signals, text signals, still frame image signals, or data programming signals and the like. Video signals 300, or other programming signals, may be any signals suitable for interactive conversation, such as those described in U.S. Patent Nos. 3,947,972, 4,264,924, 4,264,925, 4,602,279, or 4,847,700 for example, the contents of which are incorporated herein by reference. Various types of time and content related video, audio, and graphic, and other signals exist which are suitable for interactive operation.
As seen in Figure 2, video signals 300, or other programming signals, are directed to analog-to-digital ("A/D") converters 302 at the transmission center 2. The origin ofthe video signals 300 could be from video servers, MPEG servers, video tape decks, digital video disks ("DVD"), or remote sources such as satellite feeds from network broadcast centers, local broadcast stations, other local transmission centers, cameras for live video, etc. Some ofthe video signals 300 which comprise the interactive transmission may already be in digital form such as Motion Pictures Experts Group ("MPEG") standards, high definition television ("HDTV"), and phase alternate line ("PAL") standards, and therefore may bypass the A/D converters 302. A plurality of audio signals 308, which may be a counterpart ofthe video signal 300 data provided in combination, for example, on video tape, DVD, video server, remote transmission sources, or other audio sources that may originate, for example, from compact digital disks ("CD"), magnetic tapes, or live microphones, is also directed to A/D converters 302 if accompanying audio from such sources is necessary or desired.
The A D converters 302 convert the various video signals 300 and audio signals 308 into digital format. A/D converters 302 may be of any conventional type for converting analog signals to digital format. An A/D converter 302 may not be needed for each video signal 300 or audio signal 308, but rather fewer A/D converters 302, or even a single A/D converter 302, are capable of digitizing various video signals 300 and audio signals 308. The Virtual Sales Agent program 18 according to the present invention is preferably delivered to a cable, satellite, or other distribution network in pre-digitized and/or precompressed format. The plurality of video signals 300 is next genlocked in a video genlock device 304, and thus time synchronized.
The data codes 318, shown emanating from the data code generator 316 in Figure 2, may be the interactive commands for controlling the interactive processing of Virtual Sales Agent program 18 used by the receivers 8, updates of system software for receivers 8, or direct address data for making certain programming available to the user (e.g., pay-per-view events). Preferably, the data codes 318 are part of an interactive scripting language, such as ACTV scripting languages (ACTV Coding Language, Educational Command Set, Version 1.1, and ACTV Coding Language, Entertainment Command Extensions, Version 2.0, both of which are incorporated herein by reference) originating in the data code generator 316. Data codes 318 are formed by stringing together two to six byte long control commands. The data codes 318 are also forwarded to the encoder 312. These data codes 318 facilitate the multiple interactive programming options at the transmission center 2 and receivers 8. The depicted embodiment includes a data channel within the MPEG storage format for facilitating a synchronous seamless switch between two video streams. The data channel comprises the data codes 318 which link together the different Virtual Sales Agent program 18 elements and information segments between the different video signals 300 based upon user response or selection, or user profile information 36.
The multiple, time synchronized video signals 300 are then directed, along with the audio signals 308 and data codes 318, into the audio/video encoder/compressor 312 (hereinafter "encoder 312"). In the preferred embodiment, a compatible encoder 312 is required at the transmission center 2 to work with the receivers 8 at the user end. Compression ofthe various signals is normally performed to allow a plurality of signals to be transmitted over a single transmission channel.
As with other interactive programming, if multiple encoders 312 are used to create programming segments for the Virtual Sales Agent program 18, the encoders 312 are preferably synchronized to the same video clock. This synchronized start ensures that the splice points 336 (as shown in Figure 4) to be placed in the MPEG data packets indicate the switch between video signals 300 at the correct video frame number. SMPTE time code or vertical time code information can be used to synchronize the encoders 312. This level of synchronization is achievable within the syntax ofthe MPEG-2, -4, or -7 specifications.
Preferably, the encoder 312 uses a standard MPEG-2 compression format. However, MPEG-4 and MPEG-7 as well as other compression formats, such as wavelets and fractals could be utilized for compression. These techniques are compatible with the existing Advanced Television System Committee of America ("ATSC") and digital video broadcasting ("DVB") standards for digital video systems. Certain modifications, however, are made to the MPEG stream in order to facilitate the prefened seamless switching before transmission. These modifications to the encoding scheme are described below with reference to the video frame structure 332 shown in Figure 3.
All ofthe various component signals — video signals 300, audio signals 308, and data codes 318 — ofthe Virtual Sales Agent program 18 are digitized in the encoder 312. The MPEG compression and encoding process assigns packet identification numbers ("PIDs") to each data packet created. Among other information, the PID identifies the type of programming signal in the packet (e.g., audio, video, and data) so that upon reception at a receiver 8 the packet can be directed by a demultiplexer to an appropriate decoder. PID numbers may be obtained from the MPEG-2 transport table.
MPEG also incorporates a coding segment in each data packet called the adaptation field which carries information to direct the reconstruction ofthe video signal 300. The program clock reference ("PCR") is a portion ofthe adaptation field which stores the frame rate of an incoming video signal 300, clocked prior to compression. This is necessary to ensure that the video decoder 374 can play out the decoded video at the same rate as it was input to avoid dropping or repeating frames. Also as noted earlier, in order to facilitate the seamless switch between program segments necessary for implementing the Virtual Sales
Agent program 18, the encoders 312 are preferably time synchronized. Such synchronization provides Virtual Sales Agent program 18 producers with the ability to plan video switch occurrences between separately encoded programming segments on a frame boundary within the resolution ofthe GOP. Additional embedded information in the MPEG stream includes a presentation time stamp and a display time stamp. These time stamps are used to maintain lip synchronization with the audio and also to inform the receiver 8 when to present the video and audio to the television 10 or other presentation device.
Switches between the various program segments of a Virtual Sales Agent program 18 will occur at video splice points 336 as seen in Figure 3. The splice points 336 are identified via coding also inserted into the MPEG adaptation fields of particular packets, namely splice point flags and splice point counters. Splice point flags indicate that splice point counters are present in the video program, set the value ofthe countdown timer, and initiate the countdown. When the splice point flag is cleared in a future packet, the countdown starts. In this example, the countdown timer is set at two (2). The splice point counters are actually packets nominally identified as video packets in their adaptation fields which decrement the countdown timer prior to the splice point 336. The splice point 336 is the packet at which the countdown timer decrements to zero (0). Therefore, in this example, the switch will occur after the second video packet is found following the packet with the cleared splice flag. Program segment switching occurs at the video splice points 336 based on user inputs through user interface 348 (see Figure 4a), user profile information 36 stored in a memory at the transmission center 2, producer control, and/or commands from the programming itself in the data codes 318 (e.g., interactive programming). User profile information 36 may alternately be stored in memory 352 at the particular user's receiver 8 and fransfened to the transmission center 2 via backchannel communication link 6.
A standard MPEG stream contains different types of encoded frames. There are I- frames (intra-coded), P-frames (predicated) and B-frames (bi-directionally predicted). A standard MPEG structure is known as a "group of pictures" ("GOP"). GOPs usually start with I-frames and can end with either P- or B-frames. I-frames consist ofthe initial, detailed picture information to recreate a video frame. The P- and B- frames consist of instructions for changes to the picture constructed from the I-frame. P-frames may include vectors which point to the I-frame, other P- or B-frames within the GOP, or a combination, to indicate changes to the picture for that frame. B-frames may point to the I-frame, other P- or B- frames within the same GOP, frames from other GOPs, or a combination. The vector pointers are part ofthe MPEG scheme used to reduce duplication in the transmitted data resulting in the compression effects. GOPs that end with B-frames are considered open. GOPs that end with P-frames are considered closed. For the present invention, preferable encoding is closed GOP's to ensure that there are no motion vectors pointing to frames that are outside ofthe cunent GOP. There is generally only one I-frame per GOP, but several P- and B-frames. It is actually not necessary to have any I-frames in a GOP at all, however. With respect to creation ofthe video splice point 336, the encoder 312 may insert splice points 336 between every GOP in a stream. Preferably, the GOP is encoded as a "closed" GOP structure, i.e., concluding on a P-frame. Therefore, no motion vectors to the next GOP in the stream are present. If motion vectors cross from one GOP to the next GOP in the same stream, artifacts are created and visible on the presentation when the video signal is switched because the B-frame will be pointing to frames in the GOP ofthe prior stream that do not exist in the new stream. Thus, a closed GOP structure is preferred for compliance with MPEG syntax and to ensure the absence of visible artifacts after execution ofthe splice. The GOP length is programmable and can be within one to infinite frames of video depending upon the complexity of the picture and the substantiality of changes between frames such as between scenes or changes of camera angles. It is preferred, however, that the GOP comprise ten to fifteen video frames. Refening to Figure 4, four video signals 300 are shown. For a Virtual Sales Agent program 18, it is desired that a seamless switch be available between any one video signal 300 and any other video signal 300. Seamless video switching occurs on a GOP video-frame boundary. For programming where "free" channel selection is required (e.g., live programming), all GOP boundaries are encoded as splice points 336. For pre-recorded material, splice points 336 need to be identified for switching between programs. In this case it may be desirable to indicate splice points 336 merely at the conclusion of a particular program segment. This will be the more likely scenario in Virtual Sales Agent program 18 applications.
MPEG also reorders the video frames from their original presentation order during the encoding process in order to code the video more efficiently. This reorder must be undone in the decoding process in order for the video to present properly. For example:
GOP-1 GOP-2
Frame Order: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1920
Frame Type: I B B P B B P B B P I B B P B B P B B P Typical Frame
Reorder 1 4 2 3 7 5 6 10 8 9 11 14 12 13 17 15 16201819
Transmission
Frame Order: I P B B P B B P B B I P B B P B B P B B
Splices occur at the end ofthe P-frame at the end of GOP- 1 prior to the I-frame of GOP-2. It is important to point out that with appropriate controls the encoder 312 can code with variable GOP length and place splice frames accurately to achieve the desire interactive effect. The encoder 312 can splice at the end of every GOP allowing for a multiplicity of switching opportunities. Because the GOP ends on a P-frame, a closed GOP is yielded
While the switch must appear seamless, it need not occur immediately. For example, a user input or system command requires a finite time for processing. Therefore, a video switch may be delayed by up to 1.5 GOP's. Additionally, a splice point 336 can be placed accurately at any frame by utilizing the variable length ofthe GOP. Upon command from an external controlling device such as the ACTV data code generator 316, an encoder 312 can be directed to insert a splice at any frame number.
Once a sequence of video frames is translated by MPEG into a GOP, the GOP is further divided into data packets for transmission. Each data packet is the same bit length and, therefore, the individual frames in a GOP may be split across multiple data packets. In addition, some ofthe bits in a data packet may be audio information, system data or instructions, or even null filler data. The Virtual Sales Agent program 18 chooses the desired frame at which to make the switch and, during the encoding process, codes selected packets in the GOP to implement the switch at the packet containing the end ofthe desired frame. Figure 3 depicts four (4) parallel MPEG streams which is typical in an MPEG transmission system. Each stream is comprised of two successive GOPs. The first packet in each GOP is labeled "g" (for the sake of description herein only) and is a header packet which indicates the start of a new GOP. The g packet is followed by "v" packets which primarily contain the video information consisting ofthe I-, B-, and P-frames, but which also may contain audio or system related data. As noted, each GOP may be of variable length and therefore may consist of greater or fewer data packets than adjacent GOPs in the same data stream or, more significantly for switching purposes, than packets of a GOP in a parallel data stream.
In order for a switch between data streams to occur seamlessly, visible artifacts must be prevented. This is accomplished by ensuring that the switch occur before each stream reaches the beginning of its next GOP. Each GOP in a stream from or to which a switch is desired is preferably constructed with the same number of data packets. The packets should further be synchronized between the streams. As the number of packets with pertinent frame information in different GOPs will differ, additional packets are added as appropriate to achieve uniform GOP packet lengths between data streams. These additional packets are labeled as "n" packets in Figure 3. These packets may be merely sets of null data, or they may include additional audio or system command data. Null packets, labeled "n" in Figure 3, are added after the last packet containing video frame information. Enough n packets are added to bring each GOP packet group in the separate streams to the same number of packets. The splice start line 333 indicates the point at which the separate packet streams coincide. The section of packets labeled "k" denotes the number of packets between the splice start 333 and the start ofthe next GOP 334. The number of packets shown is merely representative and should not be viewed as any limitation on the actual number of packets between the splice start 333 and the next GOP 334. The number of packets k is preferably, and at most, the number of packets between the splice start 333 and the start ofthe next GOP 334.
The number of packets k must be at least a minimum value set as a variable in the controlling software which is dependent upon the equipment used to implement the splice. However, the encoder will not put in the splice packet until all ofthe video packets have been produced for the current GOP. If the rate control fails to limit the number of video packets and the last video packet produced is less than the minimum number of packets k from the position where the next GOP should start 334, the encoder will not produce splice packets for that stream, but will instead wait until the next GOP.
A nominal video packet with the splice point flag set, labeled "s" in Figure 3, indicates the splice start 333. As shown, the s packets in each stream are synchronized with each other after the last video packet in Stream 4. By setting the splice point flag in the adaptation field, the demultiplexer 373 and processor 360 in the receiver 8 (see Figures 4a and 4b) are put on notice to prepare for a splice. In this example a countdown timer is set at a value of two (2) at the instance ofthe splice point flag. When a nominal video packet with the splice point flag cleared arrives at the receiver 8, the demultiplexer 373 and processor 360 will implement the switch between streams at the appearance ofthe second following video packet. The nominal video packets which trip the countdown timer are labeled "e" in Figure
2. These packets are described as "nominal" because, although they are identified as video packets in their adaptation field coding, they do not contain any substantive video information, but are merely filled with zero padding. At the appearance ofthe first e packet, the countdown timer decrements to one (1). When the second e packet arrives the countdown decrements to zero (0) and the processor 360 calls the operating routine from memory 352 that performs the switch. The switch occurs in the demultiplexer 373 by switching to a packet in a different data stream. Instead of selecting the data packet identified by the next PID in the present data stream, the demultiplexer 373 chooses the synchronous PID from a conesponding data stream. In order to choose the desired signal to which to switch, the demultiplexer 373 identifies the PID of each incoming data packet and sends the PID information to the processor 360. Preferably, each incoming video and audio packet from the transmission center 2 has its own PID. The processor 360 in turn identifies the next appropriate packets to select for the user based on user profile information 36 stored in memory 352, or user responses to intenogatories in the Virtual Sales Agent program 18 segments input through the user interface 348 at the receiver 8. The switch could also be dictated at the direction of a producer at the transmission center 2. The intenogatory answers, user requests, producer directions, and user profile information 36 are processed by the processor 360 according to routines within the system software stored in memory 352 to select the indicated data packet and return the associated PID to the demultiplexer 373. Alternatively, the desired PID may be part ofthe data codes 318 which are packetized as part ofthe program data stream 2. Upon receipt ofthe switching routine instructions, the demultiplexer 373 begins to look for the designated MPEG packet by its PJD. In alternative embodiments, depending upon the hardware used, the switch can be entirely controlled by the demultiplexer 373, if for example it is constructed with a register to store PID information for switching.
After the second e packet, each GOP in the respective data streams contains several more null n packets, identified by the number of packets "m", prior to the first packet ofthe next GOP 334. These additional n packets create a time gap 340 to ensure that the switch is complete prior to the start ofthe start ofthe next GOP 334. As was previously discussed, MPEG may reorder the various video frames for transmission to maximize the compression capability. Similarly, when various data streams are multiplexed, the packets may be transmitted out of order to maximize the transmission capacity ofthe transmission bandwidth. The additional n packets creating the time gap 340 allow for mistakes in reordering the packets upon reception at the receiver 8 to assure that the last e packet will be queued before the start ofthe next GOP.
Preferably, the audio signals 308 are encoded using the Dolby® AC-3 format; however, any conventional audio encoding scheme is acceptable. Similar to the video signal 300 encoding, switching between audio signals 308 preferably occurs on frame boundaries, as shown in the digital frame representation 392 of four audio streams of Figure 5. Audio splice points are inserted in the adaptation fields of data packets by the encoder 312 similar to the video splice points 336. Preferably, the encoder 312 inserts an appropriate value in a splice countdown slot in the adaptation field ofthe particular audio frame. When the demultiplexer 373 detects the splice point inserted by encoder 312, it switches between audio channels supplied in the different program streams. The audio splice point is preferably designated to be a packet following the video splice point 336 packet, but before the first packet ofthe next GOP 334 ofthe prior program stream. When switching from one channel to another, one frame may be dropped (in this case, frame 5) resulting in a brief muting ofthe audio, and the audio resumes with frame 6 ofthe new channel. Although the audio splice is not seamless, the switch will be nearly imperceptible to the user.
The data codes 318 are time sensitive in the digital embodiments and must be synchronized with the video GOPs at the time of creation and encoding ofthe Virtual Sales Agent program 18 segments. Data codes 318 can consist of as few as two bytes, much less than the standard size of an MPEG data packet. MPEG protocol normally waits to accumulate enough data to fill a packet before constructing a packet and outputting it for transmission or, as may be in this case, storage, hi order to ensure timely delivery ofthe data codes 318 from storage device 314 to the multiplexer 324 for synchronization, the encoder 312 must create individual commands as a whole packet. If a partial packet is sent to the encoder 312, the data code 318 is delayed until subsequent data codes 318 filled the remainder ofthe packet. One technique which can ensure timely delivery ofthe data codes 318 is to cause the data code generator 316 to pad the remaining bytes ofthe packet with code FF (hex) bytes. When the encoder 312 receives this whole packet, the encoder 312 will transfer the packet to the transmitter 328 at its earliest convenience assuring synchronous receipt ofthe data codes 318 at the demultiplexer 373 with the conesponding Virtual Sales Agent program 18.
The multiplexer 324 at the transmission center 2 combines the encoded and compressed signals comprising the Virtual Sales Agent program 18 with other programming and data to create a reduced number of transmission data streams 4 for transmission over NTSC channels, hi this way, separate video signals 300 are merged to create a single, syntactical MPEG data stream 4 for transmission to the user. In the prefened embodiment, the multiplexer 324 multiplexes up to four video signals 300 within each NTSC channel bandwidth. However, greater or fewer video signals 300 may be input based on the content to be delivered. The number of video signals 300, or other data signals, which may be sent over a single channel is generally related to, for example: a) the type of video being sent; b) the video compression scheme in use; c) the processor used and memory power; and d) the bandwidth ofthe transmission channel. Once the programming streams have been multiplexed, the data packets are modulated for transmission by modulator 320. The modulator 320 may utilize one of several different possible modulation schemes. Preferably, 64-QAM (quadrature amplitude modulation) is chosen as the modulation scheme. If so, the data rate at the output ofthe modulator 320 is around 29.26 Mbps. However, any ofthe following modulation schemes, with respective approximate data rates, or any other conventional modulation scheme such as FSK (frequency shift keying), n-PSK (phase shift keying), VSB (vestigial side band), etc., can be used with the present invention.
Modulation Scheme Rate
64-QAM 29.96 Mbps
256-QAM 40 Mbps
8 VSB 19.3 Mbps 64 QAM PAL 42 Mbps
256 QAM PAL 56 Mbps
In some transmission systems, for example fiber optic, these RF modulation schemes are unnecessary. The compressed and encoded signals are preferably output in Digital Signal 3 (DS-3) format, Digital High-Speed Expansion Interface (DHEI) format, DVB-ASI format, or any other conventional format.
The transmitter 328 may transmit the data stream over any conventional medium for transmitting digital data signals including tenestrial broadcast television, cable television, direct broadcast satellite, standard telephony, wireless telephony, the Internet (as streaming video, for example), MMDS, fiber optic, radio, personal communications networks, or any other transmission means. In the prefened embodiment, the data stream 4 is distributed to remote sites via cable, direct broadcast satellite (DBS), or other addressable transmission media.
In low bandwidth transmission systems, for example wireless telephony or personal communication networks, still frame pictures or graphics, for example compressed in JPEG format, may comprise the Virtual Sales Agent program 18 as opposed to moving video or other signals requiring greater bandwidth. Such still pictures or graphics could be presented on communications devices such as personal digital assistants (e.g., Palm Pilot®), wireless telephones, telephony devices for the deaf, or other devices with an LCD or similar display. Textual information or an audio message could accompany the still frame images. Similarly, an all-audio Virtual Sales Agent program 18 could be provided via a radio transmission system.
The transmission means may also be a telephone system transmitting a digital data stream. Thus, a multiplexed data stream containing several broadcast channels or the Virtual Sales Agent program 18 with related video and data signals may be sent directly to a user over a single telephone line. The aforementioned digital transmission devices may include means for transmitting analog signals as well. At each reception site is preferably a receiver 8 consisting ofthe elements shown in Figures 4a and 4b. The data stream 4 is received via a tuner mechanism 344. The tuner 344 may be a wide band tuner, in the case of satellite distribution, a nanow band tuner for standard MPEG signals, or two or more tuners for seamlessly switching between different signals located in different frequency channels, as explained below. In the case of MPEG signals, the tuner 344 tunes to the particular NTSC channel indicated by commands issued by a processor 360. The processor 360 is preferably a Motorola 68331 processor, but may be any conventional processor including, for example, PowerPC® and Intel Pentium® chips. The tuned channel is then forwarded to the demodulator 364. The demodulator 364 demodulates the combined signals and sends them through a forward enor conector 346. The forward enor conector 346 checks for data integrity, strips off the forward enor codes, and forwards the digital signals to the audio/video demultiplexer/ decoder/decompressor 372 (hereinafter "decoder 372"). At the decoder 372, the signals are separated and decompressed. The decoder 372 strips off the PID for each packet, and routes each signal to the appropriate decoder, whether video, data, audio, graphics, etc., based on the associated PID, whereby the selected video signal 300, audio signal 308, etc., are then decoded, as explained below. After decoding, the video signal 300 is sent to the video D/A converter 388 which prepares the selected video signal 300 for presentation.
Additional components in the receiver 8 include the following. A phase lock loop 356 recovers the clocked frame rate information stripped by the decoder 372, which was encoded in the PCR portion ofthe MPEG adaptation field. This allows the processor 360 to ensure a proper presentation rate for the video signal 300. A memory 352, preferably ROM, holds operating system software for the receiver 8 and is backed up with flash-ROM to allow for downloadable code. Memory 352 may also be connected to the video decoder 374, audio decoders 375, and graphic chip 376, for example to store graphics overlays. Furthermore, user profile information 36 can be stored in nonvolatile RAM or ROM memory 352.
A backchannel encoder and modulator 368 (hereinafter "backchannel 368") is present for sending data to the transmission center 2 over backchannel link 6. Such data may comprise user profile information 36 or selections made by the user during the presentation of the Virtual Sales Agent program 18. User selection information may include timing information indicating when during a program or advertisement a selection is made. The backchannel 368 may operate over any appropriate communication system such as two-way cable television, telephony, DSL, the Internet, personal satellite uplink, and radio frequency transmission. A user interface 348 accepts input from the user such as responses to intenogatories in the Virtual Sales Agent program 18. A user may interact with the user interface 348 via an infrared or RF or remote control, a keyboard, touch screen technology, or even voice activation. An attached presentation device may comprise a television 10 or a video monitor, hi other embodiments ofthe invention, the presentation function ofthe television 10 maybe assumed, for example, by a computer monitor, a personal digital assistant, wireless handsets, telephones, telephone answering devices, telephony devices for the deaf, web pads, and radios. Further, new software applications may be downloaded to the receiver 8 via either the data stream 4 or the backchannel link 6. These applications can control the receiver 8 and redefine its functionality within the constraints ofthe hardware. Such control can be quite extensive, including control of a front-panel display, on-screen displays, input and output ports, the MPEG decoder 372, the RF tuner 344, the graphics chip 376, and the mapping of the user interface 348 functions.
Preferably, the interactive programming technology necessary to provide the Virtual Sales Agent program is implemented as a software application within the receiver 8. Such technology is preferably located within ROM or flash-ROM memory 352 ofthe receiver 8. The interactive technology, however, could alternatively be located in any type of memory device including RAM, EPROM, EEPROM, and PROM, hi the prefened embodiment, the software can access and control the hardware elements ofthe device. The receiver 8 monitors user requests and responses to intenogatories in the Virtual Sales Agent program 18 through the user interface 348, and automatically and seamlessly switches between video, graphics and audio programming sequences reflecting the user=s earlier responses. To perform the seamless video switching prefened for implementation ofthe Virtual
Sales Agent program 18, the decoder 372 in the receiver 8 is preferably capable of real-time MPEG decoding. A seamless switch from one video signal ofthe Virtual Sales Agent program 18 to another in the MPEG data stream 4 is performed by the demultiplexer 373 at the video splice points 336 shown in Figure 3 as previously explained. In the event that the Virtual Sales Agent program 18 involves too many signals to be transmitted over a single NTSC channel bandwidth, a receiver 8 may be equipped with two or more tuners 344 in order to provide all ofthe necessary data signals to the decoder 372. Audio switching in the prefened embodiment ofthe Virtual Sales Agent program 18 similarly occurs on frame boundaries, as explained above with respect to Figure 5. Once selected or switched in the demultiplexer 373, the audio signal 308 is decoded by the audio decoder 375 and sent to the audio processor 380 prior to presentation to the user. After the various video streams 300 are selected and seamlessly switched by the demultiplexer 373, the packets are output to a standard video buffer 378 and then decoded. The video buffer 378 ensures that enough video packets are queued for decoding so that the video decoder 374 can follow all the vector pointers between the I-, P-, and B-frames ofthe GOP and reconstruct the video frames for presentation. The physical buffer size ofthe video buffer 378 is defined by the MPEG standard, hereby incorporated by reference. Enough time must be allowed at the onset ofthe transmission process to fill up the buffer 378 with the frame data.
The splices take advantage ofthe non real time nature of MPEG data during transmission ofthe programming signals through the Virtual Sales Agent program 18 transmission system. By encoding at the transmission center 2 at a lower bit rate than the channel capacity, the additional null and switch packets can be inserted at the end of each GOP in order to make the switch. The demultiplexer 373 will always find the PID in the header information ofthe first video packet ofthe GOP 334 ofthe new data stream before the previously selected GOP is played out ofthe video buffer 378. Because the decoder 372 can decompress and decode even the most complex video GOP before the prior GOP is presented on the television 10, the GOPs can be padded with the switching packets, including the time gap 340 packets, without any gap between the Virtual Sales Agent program 18 segments presented.
After buffering, the selected video signal 300 continues through the MPEG decode process, which preferably utilizes a variable length decoder (VLD) for the video decoder 374. Generally, the VLD converts the run-length encoded data stream into its longer bitstream format. The bitstream is decoded into its constituent parts, i.e., motion vectors, discreet cosign transform (DCT) coefficients, and the like, so that the video signal 300 can be reconstructed. Subsequently, the datastream is converted into frequency domain information using an inverse DCT filter. If the frames are intercoded, the pixel data is generated and stored in a buffer. In an alternative embodiment, the entire Virtual Sales Agent program 18 maybe transmitted by the transmission center 2 and stored in the receiver 8, presuming the receiver 8 is configured with adequate memory 352 to handle such a storage function. Rather than switching between data signals and channels in the data stream 4, the receiver 8 would implement the Virtual Sales Agent program 18 by accessing program segments stored in its own memory 352. The memory 352 in this embodiment would preferably be randomly accessible in order to provide program segments responsive to user selections or other instructions in the Virtual Sales Agent program 18. The VSA program 18 could similarly be stored on a storage device connected to the receiver 8 such as a DVD player/recorder, CD player/recorder, or a file server.
The memory 352 may also store information relating to cunent and previous user responses and user profile information 36. This information may be used in conjunction with commands transmitted within the data signals, as discussed in U.S. Patent No. 4,602,279, and U.S. patent application Serial No. 09/409,035, filed on September 29, 1999, each of which is hereby incorporated herein by reference. The stored user profile information 36 and received commands may be used to switch interactively between data signals without any additional response from the user.
The various information segments in the data stream 4 preferably relate in real-time and content so that an interactive conversation may occur as the data signals are presented and the user responds to the various intenogatories contained in the presented Virtual Sales Agent program 18. As a user answers a particular intenogatory with a multiple-choice response, the information in the data signal associated with the particular selection is presented by the receiver 8. The various intenogatories, responsive messages, and informational messages may generally be contained in any one, more than one, or all ofthe various data signals.
Another embodiment for providing a large Virtual Sales Agent program 18, which would otherwise need to be split between multiple NTSC channels for transmission, is possible without requiring dual tuners 344 in the receiver 8. In this configuration the various data signals are processed at the transmission center 2 as previously described, being digitized by A/D converter 302 and compressed by encoder 312. However, rather than being immediately multiplexed by multiplexer 324, the data signals are first routed to a central switch. In this embodiment, the switching between the various data signals is accomplished at the transmission center 2 rather than at the receiver 8.
The receiver 8 relays the multiple-choice selections ofthe user input via the user interface 348 to the fransmission center 2 via the backchannel 368. A processor at the transmission center 2 receives the multiple choice selection ofthe user over the backchannel link 6 and controls the central switch to select the desired data signal in much the same manner as the receiver 8 controlled the switching at the user end in the embodiment described above. The central switch monitors the data packets from the encoder 312 for PIDs, splice point flags, and splice points 336. The processor at the transmission center 2 analyzes the intenogatory responses, user profile information, PIDs, etc., and activates the central switch appropriately.
In this embodiment, a single program segment is delivered over the data stream 4, so there is no need for the receiver 8 to perform any switching functions; the switching is done at the transmission center 2. Such a system requires very fast switching equipment at the transmission center 2, but can be implemented because ofthe time gaps 340 in the digital packets. At the transmission center 2, each central switch is assigned to a single user so the number of switches present at the transmission center 2 is the limiting factor to the number of users who can interact with the Virtual Sales Agent program 18 simultaneously. If it is assumed that only a portion ofthe users will interact simultaneously, an algorithm may be used to determine the optimum number of central switches necessary to assure an acceptable percentage of access.
Alternatively, it may be desirable to transmit the Virtual Sales Agent interactive program 18 over a telephone line. When the user enters a response through the user interface 348, a signal is sent via the backchannel link 6, which in this case is the same telephone line. Thus, a single link handles both the interactive choice being made at the receiver 8 and the transmission of that choice, out of a plurality of choices, from the transmission center 2 where the actual switching takes place.
In order to further achieve the objects ofthe Virtual Sales Agent program 18, the expert systems technology disclosed in U.S. Patent Nos. 5,632,007 and 5,585,858, which are incorporated herein by reference, may be used to aid in the interactive response to user input or user profile information 36. As the user selectively responds to queries, the responses are input into the expert system which determines the appropriate switch between the data signals in the data stream 4. The Virtual Sales Agent program 18 may be designed to either emulate memory functions during operation, without requiring a complex microprocessor to perform any of these memory functions, or instead may utilize processor 360 and memory 352 to provide a more complex degree of expert analysis. The logic and memory functions of an expert system may be achieved through hierarchical rule-based programming transmitted in the data stream 4. Once a response is entered, the operating system may change between data signals appropriately, store responses for future branching, or execute an algorithm utilizing a response. The Virtual Sales Agent program 18 may thereby emulate a computerized expert system in making its presentation selections without the use of processor 360 for tracking all user responses.
In another embodiment, the Virtual Sales Agent program 18 may be a stand-alone system, such as a public kiosk. In this case the Virtual Sales Agent program 18 may be stored on a randomly accessible memory media unit in the kiosk. The stand-alone system may also be connected to the Internet via a communications link in order to provide Internet content 10 as well. Processing functions may be handled by a dedicated microprocessor or a personal computer running appropriate software. The user interface 348 in this embodiment may preferably be a touch screen monitor through which the user indicates his preferences and answers intenogatories. The kiosk may be further equipped to provide printed information to the user, for example product specifications, a sales receipt, or a coupon. A Virtual Sales Agent program is created by a program producer or other content provider as a collection of related program segments that may be variously cued depending upon the profile or reaction of a user. One or more program segments are preferably grouped in synchronized sets and multiple groups or sets of program segments are placed in a sequential order for transmission. Each program segment in a group is provided as an optional presentation possibility of the Virtual Sales Agent program.
The choice of which optional program segment to present is based upon information known or generated from the user. The Virtual Sales Agent program may be encoded to draw upon user profile information to automatically select program segments of likely interest to or preference ofthe user. The Virtual Sales Agent program may also include intenogatories, questions, choices, or selections for the user to make via the user interface. The user's answers or selections indicate which optional program segment to present next to fit the preference ofthe user. The content ofthe Virtual Sales Agent program in a prefened embodiment is an interactive sales or advertising program. Content in other prefened embodiments may be educational or training programs. Further, the Virtual Sales Agent program could be an interactive game. The Virtual Sales Agent program can be an enhancement to multiple types of conventional programming content such as advertisements (including targeted advertisements), news, entertainment, situation comedies, sports, music videos, game shows, and educational shows. In a prefened embodiment, the presence ofthe Virtual Sales Agent program in the transmission and its availability for access is indicated to the user during the presentation ofthe conventional programming content. An auto purchasing experience is just one example of how the Virtual Sales Agent program 18 would operate and illustrates how content is produced and enhanced in Virtual Sales Agent program 18. In a prefened embodiment, a television user is presented with a commercial 12 for a particular auto manufacturer's new model year rollout during a regularly scheduled break in a broadcast program. An indicator 14 appears on the television 10 to indicate that additional information about the advertised product is available. The user decides that he/she would like more information about that manufacturer's products. By pressing a particular, preprogrammed button on a remote control interacting with the user interface 348, the data signal 4 selection is switched by the receiver 8 from the commercial 12 or other broadcast programming to the Virtual Sales Agent program 18. The Virtual Sales Agent program 18 for selling automobiles might begin, as in step
100 of Figures 6A-6C, with a greeting and some introductory audio/video information about the manufacturer. For example, a video clip featuring a virtual sales representative could appear, along with clips ofthe various autos in the new car line. The salesperson could provide nanative about the manufacturer, the quality of its products, and offer to show the user around the "showroom." A sample of such a nanative sequence is depicted in Table 1 herein. It should be understood that the example in Table 1 represents the audio portion of a sample Virtual Sales Agent program 18, and that appropriate video may be included in each program segment as well. Information or instructions included in the data code 318 portion ofthe program segment are enclosed in brackets { }. The programming information ofthe Virtual Sales Agent program 18 may be stored in a video disk library 32 as in a video-on-demand system, on a computer server 34, or on any other applicable memory medium, or a combination of these options. In some instances the Virtual Sales Agent program 18 could also be a part of a broadcast signal from a remote source retransmitted by the transmission center 2 or originate from an Internet hosting site. In order to proceed through the sales presentation, the Virtual Sales Agent program 18 may ask some preference oriented questions to determine the prospective purchaser, the user's, wants and needs, just as a real sales agent would do on a car lot. Therefore, the first and most obvious question might be, "What kind of car can I show you?"
At this point the video portion ofthe Virtual Sales Agent program 18 maybe combined with a graphical segment, indicating the various options among which the user may choose. In this case the options might be to look at (a) a full sized sedan 102, (b) a compact car 104, (c) a sport utility vehicle (SUV) 106, or (d) a truck 108. By using the user interface 348 and inputting a conesponding letter, or otherwise making a selection, the user may select the type of vehicle in which he/she is most interested. As a result ofthe user interface 348 inputs, the receiver 8 switches between data signals in the data stream 4 according to the methods discussed above, to provide a programming segment responsive to the user's choice. (In a two-way embodiment, the switching between data signals may be performed at the transmission center 2.)
Suppose that the user is interested in a SUV. In this instance, the path following step 106 will be pursued. It should be noted, however, that other users may select any ofthe other car options whereby they are switched to alternate, but synchronous data signals in the data stream 4. Additionally, as will become clear through this discussion, users choosing other data signals initially, may converge again to view the same data signal if, for example, a programming segment discusses features common to several or all vehicles. Such convergence may also be a practical necessity to the provision ofthe Virtual Sales Agent program 18 because of a limitation of bandwidth and therefore the number of potential channels that the Virtual Sales Agent program 18 can branch between.
Following step 106, the video segment is seamlessly switched and the sales representative begins a presentation in step 110 about the different models of SUVs offered. Such a video segment might be composed of merely a voice-over describing the different models as their pictures are shown. At this point the user is asked to choose the size of SUN he desires. Several options may again be presented in graphic overlays on the television 10 screen. Such a choice is exemplified by steps 112, 114, and 116 indicating options of "Sport," "Family," or "Platoon," respectively, in the event one needs to transport a small army.
In an alternative embodiment, if the broadcast system is equipped to track user profile information 36 as disclosed in U.S. Patent No. 5,632,007, this kind of model selection may be intelligent, hi systems with user profile information 36 tracking, information about user demographics, viewing habits, previous interactive television purchases, etc., may be transmitted via backchannel 368 to the transmission center 2 and stored in a user profile information 36 database. In some embodiments, perhaps without a backchannel 368, the user profile information 36 may actually be stored in the memory 352 of receiver 8 for access at the user end. In either case, based on the user profile information 36, it may be known that the user has a family of four and would thus likely be interested in the Family model. In this embodiment, the Virtual Sales Agent program 18 may choose to switch to the programming segment of step 120 automatically. Alternatively, if the user is known to be young and single, the Virtual Sales Agent program 18 may automatically switch to the Sport model branch along step 118. Returning to the depicted embodiment in Figures 6A-6C, depending upon the user's choice, the Virtual Sales Agent program 18 will branch to different video signals at this point. If the user is interested in a Sport model, step 112, the Virtual Sales Agent program 18 will perhaps move to a segment on available door options, step 118. Such a track is chosen because the standard Sport model only comes with two doors, but four are available as an option. A video segment with the sales representation would show and explain the possible options. These choices, steps 122 and 124, are then presented as a graphic for selection by the user interface 348.
In contrast, users interested in the Family or Platoon size models are not queried about door selection because on these models four doors are standard. Instead, these users may be shown a programming segment which depicts the possible seating configurations, step 120. This segment may not be applicable to the Sport model which is limited to only one seating configuration. The seating options available between a Family size model and a Platoon model may also differ. While there may only be one video segment which explains all possible seating configurations, data signals for the seat selection program segment of step 120 may, however, include separate instructions to the receiver 8 as to which graphics to present based upon the responses to the query in step 110. If the user is interested in the Family model, receiver 8 will process and present only choices (a) 1-5 seats, step 126, or (b) 6-8 seats, step 128. However, if the user previously indicated interest in the Platoon model, the additional option of (c) 9-11 seats, step 130, will be passed through by the receiver 8 and presented to the user.
It should be appreciated that the data signals presented to the Sport model user are presented in synchronicity with the data signals presented to the Family or Platoon model users. The alternate segments ofthe Virtual Sales Agent program 18 are simultaneously present in the data stream 4 and separated for selective presentation.
In the instant example, the SUV portion ofthe Virtual Sales Agent program 18 converges in step 132 to offer information to all users about the available engine options. Steps 134, 136, and 138 detail the choices of (a) V-6, (b) V-8, or (c) diesel, respectively.
Again, the user makes a selection via the user interface 348. In step 140, the data signal may next offer an audio/video segment wherein the sales representative describes the transmission features ofthe SUV model line and culminate with a request for a selection. Selection options of (a) automatic or (b) manual are detailed in steps 142 and 144, respectively. Another typical option in SUVs is the availability of four-wheel drive as noted in step
146. Steps 148 and 150 allow the user to choose a two-wheel drive or a four-wheel drive model, respectively. In the event that a user selects the two wheel drive option, step 148, the Virtual Sales Agent program 18 switches to a companion data signal to provide a contemporaneous programming segment, step 152, while users who choose the four wheel drive model, step 150, continue to receive the prior data signal. An additional optional off- road package is then detailed and offered to four-wheel drive users in step 154. As this package is not offered to the two wheel drive customers, an alternative synchronous segment, step 152, is provided to fill the time necessary to present the off-road package to other users. Returning to the off-road package segment, step 154, users are in this instance provided a Yes or No option for response via the user interface 348.
Upon completion ofthe off-road segment, the Virtual Sales Agent program 18 again converges to a single data signal in step 160. At this point information and inquiry are directed to the availability of a towing package. Again, the user is able to respond either Yes or No in steps 162 and 164, respectively. Depending upon a particular user's answer, the Virtual Sales Agent program 18 may be switched between one of three different data signals supplying three different programming segments.
Not only does the receiver 8 (or in the case of a two way embodiment, the transmission center 2) base immediate switching decisions upon user responses to intenogatories, it also stores the responses in memory 352 for later decision making processing based upon prior responses. In this example, if a user indicates interest in a towing package in step 162, but previously indicated he prefened a manual transmission in step 144, the Virtual Sales Agent program 18 will switch this user to a data signal conesponding to step 166. Combining expert decision making capacity in the Virtual Sales Agent program 18 allows for recognition that automatic transmission is required if a towing package is desired in step 166. The user is then given the opportunity to change his/her mind about his/her previous selection of a manual transmission in step 144 in order to presently select the towing package through the Yes option in step 168. Alternatively, the user can forego the towing package by selecting No in step 170.
While the fransmission concerns are sorted out in the programming segment identified by step 166, other users who selected the towing package in step 162, and who previously selected automatic transmission in step 142, are provided a separate programming segment of the Virtual Sales Agent program 18 as in step 172. This segment may, for example, provide additional information about towing features or capacity. The segment of step 172 parallels the segment of step 166 to maintain real-time continuity between the various programming branches in the data stream 4. Similarly, for those who were not interested in the towing package of step 160 and answered No in step 164, a third programming segment, step 174, is provided to likewise maintain the continuity.
An alternative to the previously described programming segments of steps 172 and 174 is also worthy of mention. These segments could draw upon the same data signal and thereby present the same video images to multiple users. However, the Virtual Sales Agent program 18 may transmit multiple accompanying audio tracks for selection by the receiver 8 based upon whether or not the user chose the towing package option. It should also be appreciated, that different audio tracks may be transmitted with each segment ofthe Virtual Sales Agent program 18. These tracks may provide the same information to users, but be recorded in different languages. An example might be that the user profile information 36 of a particular user indicates that he/she is predominately a Spanish speaker. The transmission center 2, based on this user profile, could send a signal to the receiver 8 to select the Spanish language audio track accompanying the Virtual Sales Agent program 18 for playing to this particular user. At this point, the three separate programming segments may include commands to the receiver 8 to switch to a single data signal in the data stream 4. It may be that a switch from two ofthe data signals is made to the third. As most ofthe potential options for the SUV have now been covered, the Virtual Sales Agent program 18 in step 176 may provide an overview of the manufacturer' s wananty policy and then ask if the user would like to review the details. If the user responds affirmatively as in step 178, the receiver 8, if equipped with Internet browser software, may be directed by an URL in the data signal to retrieve a web page 28 via communications link 24. Such interactivity with Internet information sources is described in detail in U.S. Patent Nos. 5,774,664; 6,018,768; 5,778,181; and 5761,606 which are each incorporated herein by reference. The web page 28 stored on remote server 30 may be maintained by the auto manufacturer to provide the text ofthe warranty. The wananty may thereby be accessed by receiver 8 and presented for the user on the television monitor 10. The wananty infonnation may be presented in a frame or window superimposed over the video segment, or it could completely displace the previous video segment. In an alternative embodiment wherein the receiver 8 is not connected to communications link 24 or is otherwise not equipped with Internet web browser software, but the receiver 8 is connected via a backchannel link 6 with the transmission center 2, the transmission center 2 may provide the Internet content 20. In this embodiment, transmission center 2 is connected to web page 28 via communications link 26. Content from web page 28 may then be accessed by the transmission center 2 and converted for transmission to the receiver 8 as part ofthe data stream 4. The receiver 8 can then present the Internet content 20 on television monitor 10. It should further be noted at this point that a computer with an attached monitor could replace receiver 8 and television monitor 10, wherein the computer is equipped with a demultiplexer, a tuner/decompressor, and a video card. Following step 182, when the user indicates through user interface 348 input that he/she is finished reviewing the wananty policy, the Virtual Sales Agent program 18 may send the next program segment such as step 190 via communications link 24. Additional audio/video segments stored on remote server 30 featuring the Virtual Sales Agent program 18 may be streamed over the Internet and presented on the user's television 10. Streaming the data signals via Intemet technology at this point may be preferable to returning to the transmission data stream 4 as the time taken for different users to review wananty information may differ significantly, making a return to the real-time Virtual Sales Agent program 18 via data stream 4 unavailable.
Step 190 may ask whether the user would like to place an order for a vehicle with the specific options for which he/she has indicated preferences throughout the Virtual Sales Agent program 18. If the user so desires by selecting the Yes option in step 192 through the user interface 348, the receiver 8 may again interface with web page 28 to download the necessary forms for presentation on the television 10. Using the user interface 348, the user can provide the required information for completing a purchase transaction, step 194. Expert systems technology could even allow the Virtual Sales Agent program 18 to conduct price negotiations with the user based upon a hierarchical rule based system. Upon such completion, the Virtual Sales Agent program 18 terminates in step 196 and returns the user to the broadcast channel which was presented on the television 10 prior to the user selecting the Virtual Sales Agent program 18.
In the event that a user is not interested in making a purchase at this point, the negative response in step 198 may lead to an inquiry as to whether the user would like to take a test drive, step 200. If the user so indicates an interest in step 202, commands in the Virtual Sales Agent program 18 may direct the receiver 8 to access a web page 28 via Internet communications link 24 to produce a list of local dealerships. By selecting a desired dealership, step 204, a URL may direct receiver 8 to access the local dealership's Intemet web site for coordination ofthe test drive with the user. At this point the Virtual Sales Agent program 18 would terminate at step 206. If the test-drive offer in step 200 was declined in step 208, the Virtual Sales Agent program 18 would thank the user for his/her participation and terminate in step 210.
Returning to step 176, in which review ofthe wananty policy was offered, if the user declined to view the wananty in step 180, instead of switching to communications link 24, the receiver 8 may continue to present a programming segment from data stream 4. The programming segment presented may, similar to step 190, ask the user whether he/she would like to order the SUN. If the user answers Yes as in step 186, the receiver 8 would at this point switch signal inputs to communications link 24 to retrieve the Internet web page 28 containing the ordering interface sequence, step 212. Once ordering was complete, the Virtual Sales Agent program 18 would terminate and the television 10 would return to the regular broadcast selection.
Now, returning to step 184 to follow another branch ofthe Virtual Sales Agent program 18, a user uninterested in ordering an SUV would select No in step 188. Here again, the data signal in data stream 4 would provide the next programming segment in step 216 and ask whether there was interest in a test drive. If the user indicates Yes via the user interface 348 in step 218, the receiver 8 would switch to telecommunications link 24 and access the URL transmitted as part ofthe data signal to seek a dealership list on web page 28, step 220. The user could then select the closest dealership and be connected to the dealer web site to schedule a test drive. At this point, this branch ofthe Virtual Sales Agent program terminates in step 222. Finally, if the user indicates no interest in a test drive in step 224, the Virtual Sales Agent program 18 would present one final video segment wherein the virtual sales representative thanks the user for participating, provide contact information for obtaining further product information, and terminates the Virtual Sales Agent program 18 in step 226.
TABLE 1
Script of Program Segments for a Virtual Sales Agent Program
Data Stream 1 Data Stream 2 Data Stream 3 Data Stream 4 Internet Stream
Hi. My name is (unused) (unused) (unused) (unused) Sam and I'm the Virtual Sales Agent for Monarch Motors. I understand that you are potentially interested in our new car models because of your selection of this program today. Why don't you tell me what kind of vehicle you'd like to see? Monarch Motors carries a full line of luxury full sized sedans, economy-minded compact cars, sporty SUVs, and tough trucks. {Video display: Sales agent walking through showroom. {Graphic display: a) Full-sized Sedan; b) Compact; c) Sport Utility; d) Truck. Data command: If (a), stay on stream 1; if (b), switch to stream 2; if (c) switch to stream 3; if (d), switch to stream 4.}
{This data stream {This data I see you are {This data may cany the stream may interested in our stream may related program cany the sport utility cany the segment for a program vehicles. We program
Full-sized Sedan segment for a have several segment for a selection. Compact Car models to Truck
Alternatively, the selection. choose from. selection.
Sedan program Alternatively, The Sport Alternatively, may be carried the Compact model has great the Truck on a separate program may equipment rack program may channel in the be canied on a options. The be carried on a data stream.} separate Family model separate channel in the has a second channel in the data stream.} radio tuner with data stream.} headphone jacks for the kids. The Platoon has an optional third bench seat or an expanded cargo area. Which model fits your size needs? {Video display: auto models switch per - description. Graphic display: a) Sport; b) Family; c) Platoon. Data command: If (a),
switch to stream stay with stream
3.}
The Sport As you can see, model comes the Family and standard with Platoon mbdels two doors and offer several sleek body optional seating styling. configurations -
However, four from between 1 doors are also to 5, all the way available. to 11 adults
Both have the comfortably. wide opening What seating rear hatch for anangement stowing your best suits your gear. What needs? door {Video display: configuration seating do you prefer? configurations.
{Video Graphic display: door display: a) 1-5; configurations. b) 6-8; c) 9-11.
Graphic Data command: display: a) 2; If (a), (b) or (c), b) 4. Data stay on stream command: If 3.}
(a) or (b), switch to stream 3.}
Each of our
SUV models can be equipped with any ofthe following engine options. The Sport comes standard with a V-6. The Family model engine is standard with the v-8. A diesel V-8 is also available for heavy-duty needs and is
standard on the Platoon. What engine option is right for you? {Video display: clips of engine options. Graphic display: a) V-6; b) V-8; c) Diesel. Data command: If (a), (b) or (c), stay on stream 3.}
Each model can likewise be equipped with either manual or automatic transmission. A 5-speed stick is standard on the Sport, while the Family and Platoon are provided a four speed automatic with overdrive. What is your preference? {Video display: transmission clips. Graphic display: a) Automatic; b) Manual. Data command: If (a) or (b), stay on stream 3.}
Push button four-wheel drive is another option available on all models. This is a great feature if you plan to take the vehicle off-road or for added traction in the ice and snow.
{Video display: clips of off-road and snow driving. Graphic display: a) 2- wheel drive; b) 4-wheel drive. Data command: If (a), switch to stream 2; if (b), stay on stream 3.}
Even our two- For four-wheel wheel drive aficionados, we SUVs are also offer a rugged and rugged off-road come with a package. The front tow hook package to get you out includes a of a bind. beefed-up Every SUV suspension, skid has great plates, larger storage wheels and off- capacity for road tires. hauling {Video display: everything clips of 4- wheel from groceries drive features. to camping Graphic equipment. display: YES; Additional NO. Data carrying command: If capacity is YES or NO, provided by stay on stream the standard 3-} roof rack. {Video display: clip of tow hook and payload. Data command: Switch to stream 3.}
Each ofthe models can be equipped with an optional towing package. No matter what the
season or activity, our SUVs can haul the load of your boat, camper, snowmobiles — whatever you want to bring along.
{Video display: towing clips. Graphic display: YES; NO. Data command: If YES and manual transmission selected, switch to stream 1; if YES and automatic fransmission selected, switch to stream 2; if NO, stay on stream 3.}
I need to let you The towing If you have no know that the package is need for a towing package mounted towing package requires that the directly to the now, one can vehicle be frame and is bee easily equipped with an pre- wired to mounted later. automatic the hitch. Its Any of our transmission. rated capacity dealer service
You previously allows you to centers are able indicated a haul up to four to add a hitch preference for jet skis or mount in a manual snowmobiles, matter of hours. transmission. Is or any Many after the towing camping trailer market products package not requiring a for specialty important enough fifth wheel. towing needs to you to switch {Video are also to an automatic display: clips available. transmission? oftrailering. {Video display:
{Video display: Data clip of sales clip of sales command: agent. Data agent. Graphic Switch to command: Stay display: YES; stream 3. on stream 3.}
NO. Data command: If
YES or NO, switch to stream 3.}
All of our vehicles come with a 4-year, 40,000-mile wananty. Additional details of our warranty policies are available for review. Would you be interested in reviewing our wananty policy?
{Video display: sales agent clip. Graphic display: YES;
NO. Data command: If
YES, switch to
Internet stream and retrieve
Wananty page via URL; if NO, stay on stream
3.}
Would you like Warranty Page to order an {Graphic
SUV with the display: options we just wananty for discussed? Our review. Video on-line ordering display: stream system makes it sales agent easy to choose inquiry.} these and all the Would you like other available to order the options you SUV we just want. designed?
{Video display: {Graphic sales agent clip. display: YES;
Graphic NO. Data display: YES; command: If
NO. Data YES, retrieve command: If Order page via
YES, switch to URL; if NO,
Intemet stream retrieve Test and retrieve Drive page via
Order page via URL.} URL; if NO, stay on stream 3.}
l ean Order Page understand that {Graphic you might not display: order want to take the fonn for user step of ordering interface. Upon a car without completion, even driving it. stream sales Would you like agent video.} a local dealer to Thank you for contact you to your order anange a test information. A drive? local dealer will
{Video display: contact you sales agent clip. within the next Graphic week to anange display: YES; for delivery of NO. Data your new SUV. command: If Congratulations YES, switch to on your Internet stream purchase. and retrieve Monarch Test Drive page Motors via URL; if NO, appreciates your stay on stream business. 3.} {Data command: End program.}
Thank you for Test Drive allowing us the Page opportunity to Would you like show you a local dealer to Monarch contact you Motors' line of about ananging SUVs. If you a test drive? have any further {Video display: questions, stream sales please visit us agent clip. online at Graphic display: www .monarch. YES; NO. Data
have any further questions, please visit us online at www.monarch.c om or contact your local dealer.
{Video display: stream sales agent clip. Graphic display: web page address link for Monarch and dealer. Data command: End Program.}
Although various embodiments of this invention have been described above with a certain degree of particularity, or with reference to one or more individual embodiments, those skilled in the art could make numerous alterations to the disclosed embodiments without departing from the spirit or scope of this invention. It is intended that all matter contained in the above description and shown in the accompanying drawings shall be interpreted as illustrative only of particular embodiments and not limiting. Changes in detail or structure may be made without departing from the basic elements ofthe invention as defined in the following claims.

Claims

CLAIMS What is claimed is:
1. A method of receiving a virtual sales agent program in an interactive programming system, the virtual sales agent program providing a customized, interactive presentation for the enhancement of conventional programming content through the use of interactive programming technology, the virtual sales agent program comprising a plurality of associated program segments, each ofthe plurality of program segments comprising a plurality of associated digital data signals, the method comprising the steps of: receiving a program data stream comprising the conventional programming content and at least one ofthe plurality of associated program segments; and outputting the at least one ofthe plurality of associated program segments for presentation to a user on a presentation device.
2. The method as described in claim 1 wherein the step of receiving further comprises receiving the plurality of program segments in sequential sets of one or more program segments.
3. The method as described in claim 1 further comprising collecting user information indicative ofthe user's preferences.
4. The method as described in claim 1 further comprising: selecting individual program segments from the plurality of associated program segments; switching from the conventional programming content to one ofthe selected individual program segments; and switching between the selected individual program segments; and wherein the step of outputting further comprises outputting each ofthe selected individual program segments as the switch is made to it.
5. The method as described in claim 4 wherein the steps of switching to and between the plurality of program segments within the data stream are accomplished without a user perceptible delay between the presentation ofthe output program segments.
6. The method as described in claim 4 wherein the step of switching from conventional programming content is initiated by the user's selection ofthe virtual sales agent program via a user interface.
7. The method as described in claim 4 further comprising collecting user information indicative of preferences ofthe user.
8. The method as described in claim 7 wherein the steps of switching are performed based upon the user information to provide the selected individual program segments responsive to the user's preferences.
9. The method as described in claim 3 or 7 wherein the user information comprises a user profile stored within the interactive programming system.
10. The method as described in claim 3 or 7 further comprising storing the user infonnation in a memory module located in a programming receiver at the user end ofthe interactive programming system.
11. The method as described in claim 3 further comprising transmitting the user information to a programming transmission system via a backchannel communication link.
12. The method as described in claim 11 wherein the backchannel communication link comprises a communication system selected from the group consisting of: radio, telephony, wireless telephony, digital subscriber line, a personal communication system network, satellite, cable, fiber optic, and a communication network.
13. The method as described in claim 12 wherein the communication network comprises a network selected from the group consisting of: the Internet, an intranet, a local area network, a wide area network, a public network, and a private network. 14. The method as described in claim 11 further comprising receiving the user information in the program data stream.
15. The method as described in claim 11 further comprising receiving the at least one ofthe plurality of associated program segments in the data stream from the programming transmission system based upon the user information, wherein the at least one ofthe program segments received is responsive to the preferences ofthe user.
16. The method as described in claim 3 or claim 7 further comprising interacting with the user to collect the user information.
17. The method as described in claim 16 wherein the step of interacting comprises: soliciting the user information through at least one intenogatory contained in at least one ofthe plurality of program segments; and receiving at least one response to the at least one intenogatory from the user.
18. The method as described in claim 17 wherein the step of receiving the at least one response is performed via a user interface.
19. The method as described in claim 18 wherein the user interface is selected from the group consisting of: a radio frequency remote control, an infrared remote control, a keyboard, a touch screen monitor, and voice activation.
20. The method as described in claim 17 wherein the at least one intenogatory is based upon expert system instructions with hierarchical rules for negotiating a result with the user.
21. The method as described in claim 1 further comprising selecting the virtual sales agent program at the direction ofthe user via a user interface, wherein the conventional programming content is replaced in the program data stream by the at least one ofthe plurality of associated program segments at a program transmission center; and wherein the user's direction is transmitted to the programming transmission system via a backchannel communication link. 22. The method as described in claim 1 further comprising alerting the user to the presence ofthe virtual sales agent program in the data stream.
23. The method as described in claim 22 wherein the step of alerting comprises providing an indicator to the user through the presentation device.
24. The method as described in claim 22 wherein the step of alerting comprises providing an indicator to the user through a user interface device.
25. The method as described in claim 24 wherein the indicator is selected from the group consisting of: a button on a remote control, a light source on a remote control, a button on a keyboard, and a light source on a keyboard.
26. The method as described in claim 4 wherein the plurality of associated program segments is distributed between a plurality of data streams, and wherein the steps of switching additionally occur between the plurality of data streams.
27. The method as described in claim 26 wherein at least one ofthe plurality of data streams is received over a communication link to at least one ofthe Internet, and a private network, and wherein at least one ofthe at least one ofthe plurality of associated program segments, Internet content, and private network content is received from at least one ofthe Internet and the private network.
28. The method as described in claim 27 further comprising the step of retrieving at least one ofthe at least one ofthe plurality of associated program segments, Internet content, and private network content via the communication link.
29. The method as described in claim 27 or 28 wherein at least one ofthe Internet content and private network content is presented separately on a second presentation device.
30. The method as described in claim 26 wherein the actions of switching between the plurality of program segments and the plurality of data streams are accomplished without a user perceptible delay between the presentation ofthe output program segments.
31. The method as described in claim 1 wherein the method of receiving is performed by a programming receiver at a user end ofthe interactive programming system.
32. The method as described in claim 1 wherein the data stream is received at a user end ofthe interactive programming system via at least one ofthe transmission mediums selected from the group consisting of: tenestrial broadcast television, cable, satellite, fiber optic, microwave, radio, telephony, wireless telephony, digital subscriber line, a personal communication system network, and a communication network.
33. The method as described in claim 1 further comprising storing the plurality of associated program segments in a memory module in a programming receiver a user end of the interactive programming system, and wherein the steps of switching further include accessing one or more ofthe plurality of program segments from the memory module. 34. A method of providing a virtual sales agent program to a plurality of users via an interactive programming system transmitted from a programming transmission system, the virtual sales agent program providing a customized, interactive presentation for the enhancement of conventional programming content through the use of interactive programming technology, the virtual sales agent program comprising a plurality of associated program segments, each ofthe plurality of program segments comprising a plurality of associated digital data signals, the method comprising the steps of: inserting the plurality of program segments into a program data stream comprising the conventional programming content; and transmitting the program data stream to at least one ofthe plurality of users. 35. The method as described in claim 34 further comprising the step of accessing the at least one ofthe plurality of associated program segments from storage in a memory module at the programming transmission system.
36. The method as described in claim 35 wherein the plurality of program segments are stored in the memory module in sequential sets of one or more program segments.
37. The method as described in claim 36 further comprising receiving user profile information at the programming transmission system from the particular user's end ofthe interactive programming system via a backchannel communication link.
38. The method as described in claim 37 wherein the backchannel communication link is a communication system selected from the group consisting of: radio, telephony, wireless telephony, digital subscriber line, a personal communication system network, a communication network, cable, fiber optic, and satellite.
39. The method as described in claim 34 wherein the step of inserting further comprises receiving a transmission of at least one ofthe plurality of associated program segments from a remote transmission source.
40. The method as described in claim 39 wherein the transmission received from the remote transmission source is received via at least one ofthe transmission mediums selected from the group consisting of: tenestrial broadcast television, cable, satellite, fiber optic, microwave, radio, telephony, wireless telephony, digital subscriber line, a personal communication system network, and a communication network.
41. The method as described in claim 34 wherein the program data stream is transmitted via at least one ofthe transmission mediums selected from the group consisting of: broadcast television, cable, satellite, fiber optic, microwave, radio, telephony, wireless telephony, digital subscriber line, a personal communication system network, and a communication network.
42. The method as described in claim 32, 38, 40, or 41 wherein the communication network comprises at least one ofthe networks selected from the group consisting of: the Intemet, an intranet, a local area network, a wide area network, a public network, and a private network.
43. The method as described in claim 34 wherein the step of inserting further comprises multiplexing the plurality of associated digital data signals with the conventional programming content.
44. The method as described in claim 34 wherein the step of inserting further comprises distributing the plurality of associated digital data signals between a plurality of program data streams comprising the conventional programming content and multiplexing the plurality of associated digital data signals with the conventional programming content on the plurality of program data streams.
45. The method as described in claim 34 further comprising: selecting individual program segments from the plurality of associated program segments, and wherein the step of inserting comprises inserting each ofthe selected individual program segments as it is selected into the program data stream.
46. The method as described in claim 45 wherein the step of switching further comprises switching from the conventional programming content to the at least one ofthe plurality of program segments, thereby replacing the conventional programming content with the at least one ofthe plurality of program segments in the program data stream.
47. The method as described in claim 46 wherein the step of switching from the conventional programming content is initiated by the at least one ofthe plurality of user's selection ofthe virtual sales agent program. 48. The method as described in claim 45 wherein the step of switching between the individual program segments is accomplished without a user perceptible delay between the individual program segments in a presentation ofthe individual program segments.
49. The method as described in claim 45 further comprising inserting user information into the program data stream. 50. The method as described in claim 45 further comprising: collecting user information from at least one ofthe plurality of users indicative of preferences ofthe at least one ofthe plurality of users.
51. The method as described in claim 50 wherein the user information comprises a user profile stored within the interactive programming system. 52. The method as described in claim 51 wherein the step of selecting is performed based upon the user information to provide the selected individual program segments responsive to the preferences ofthe at least one ofthe plurality of users.
53. The method as described in claim 51 further comprising storing the user profile information within a memory module at the programming transmission system. 54. The method as described in claim 35 or 53 wherein the memory module is selected from group consisting of: a data storage server, an optical disk, an optical storage medium, and a magnetic storage medium.
55. The method as described in claim 50 further comprising interacting with the particular user to collect the user information.
56. The method as described in claim 55 wherein the step of interacting comprises: soliciting the user information through at least one intenogatory contained in at least one ofthe plurality of program segments; and receiving at least one response to the at least one intenogatory from the particular user at the programming transmission system via a backchannel communication link.
57. The method as described in claim 55 wherein the at least one intenogatory is based upon expert system instructions with hierarchical rales for negotiating a result with the at least one ofthe plurality of users.
58. The method as described in claim 34 further comprising retrieving at least one of at least one ofthe plurality of program segments and Internet content from the Internet via a communication link between the programming transmission system and the Internet, and wherein the step of inserting further includes inserting the Internet content in the data stream.
59. The method as described in claim 34 further comprising retrieving at least one of at least one ofthe plurality of program segments and private network content from a private network via a communication link between the programming transmission system and the private network, and wherein the step of inserting further includes inserting the private network content in the data sfream.
60. The method as described in claim 34 further comprising receiving a particular user's request for the virtual sales agent program, the particular user's request received at the programming transmission system via a backchannel communication link.
61. The method as described in claim 21 , 56, or 60 wherein the backchannel communication link is a communication system selected from the group consisting of: radio, telephony, wireless telephony, digital subscriber line, a personal communication system network, a communication network, cable, fiber optic, and satellite.
62. The method as described in claim 61 wherein the communication network comprises at least one ofthe networks selected from the group consisting of: the Internet, an intranet, a local area network, a wide area network, a public network, and a private network.
63. The method as described in claim 34 further comprising alerting the at least one ofthe plurality of users to the presence ofthe virtual sales agent program in the data stream.
64. The method as described in claim 63 wherein the step of alerting comprises providing an indicator in the program data stream to the at least one ofthe plurality of users.
65. The method as described in claim 23 or 64 wherein the indicator is selected from the group consisting of: a graphic, an icon, a uniform resource locator, a hyperlink, a hot spot, a data command to a user interface device, a visual signal, and an audible signal.
66. A method of creating a virtual sales agent program for transmission via an interactive programming system to at least one user, the virtual sales agent program providing a customized, interactive presentation through the use of interactive programming technology, the virtual sales agent program comprising a plurality of associated program segments, each ofthe plurality of program segments comprising a plurality of associated digital data signals, the method comprising: creating the plurality of associated program segments for presentation to the at least one user; grouping at least one program segment to create a plurality of groups; synchronizing each program segment in a group with the other program segments in the group; ananging the plurality of groups in a sequential order; and creating instructions contained in each program segment for use by a processor in selecting a subsequent program segment in a subsequent group to output for presentation.
67. The method as described in claim 66 further comprising the step of creating at least one intenogatory to the at least one user for detennining the at least one user's preferences, the at least one intenogatory contained in at least one ofthe plurality of program segments, the at least one intenogatory designed to solicit an interactive response from the at least one user, the response to the at least one intenogatory determinative of a selection by the processor ofthe subsequent program segment in the subsequent group to output for presentation. 68. The method as described in claim 66 further comprising the step of creating at least one instruction contained in at least one program segment to direct the processor to select the subsequent program segment in the subsequent group based on an analysis by the processor of user information.
69. The method as described in claim 66 wherein the processor is part of a programming transmission system. 70. The method as described in claim 66 wherein the processor is part of a programming receiver.
71. The method as described in claim 66 further comprising the step of storing the virtual sales agent program in a memory.
72. The method as described in claim 71 wherein the memory is a medium selected from the group consisting of: video tape, audio tape, magnetic media, digital video disk, compact digital disk, minidisk, video gaming media, optical media, computer readable media, and a data server.
73. The method as described in claim 66 further comprising the step of creating instructions contained in at least one ofthe plurality of program segments to direct the processor to access and retrieve infonnation from a communication network.
74. The method as described in claim 73 wherein the communication network comprises at least one ofthe Internet and a private network and the information comprises at
least one of Internet content and private network content.
75. The method as described in claim 66 further comprising the step of creating expert system instructions with hierarchical rales contained in at least one ofthe plurality of program segments to direct the processor to negotiate a result with the at least one user.
76. A method of providing a virtual sales agent program to a user via a self- contained interactive programming system, the virtual sales agent program providing a customized, interactive presentation to the user through the use of interactive programming technology, the virtual sales agent program comprising a plurality of associated program segments, each ofthe plurality of program segments comprising a plurality of digital data signals, the method comprising: accessing at least one ofthe plurality of associated program segments from a memory module in the self-contained interactive programming system, wherein the plurality of associated program segments are stored in the memory module; and presenting the at least one ofthe plurality of associated program segments on a presentation device perceivable to the user.
77. The method as described in claim 76 wherein the step of accessing further comprises retrieving at least one of at least one additional associated program segment, Internet content, and private network content via a communication link to at least one ofthe Internet and a private network, and wherein the step of presenting further includes presenting at least one ofthe Internet content and the private network content to the user.
78. The method as described in claim 76 wherein the self-contained system comprises a public kiosk.
79. The method as described in claim 1 or 76 wherein the presentation device comprises a device selected from the group consisting. of: television, radio, video tape player, audio tape player, digital video disk player, compact digital disk player, minidisk player, video game player, computer, personal digital assistant device, telephone, wireless telephone, a telephony device for the deaf, and a touch screen monitor.
80. The method as described in claim 1, 34, 66, or 76 wherein the plurality of associated program segments comprise at least one ofthe programming types selected from the group consisting of: audio, video, graphic image, and text.
81. The method as described in claim 1, 34, 66, or 76 wherein the plurality of associated program segments comprise at least one of still frame pictures or graphic images for transmission via a nanow bandwidth data stream.
82. The method as described in claim 1, 34, 66, or 76 wherein the virtual sales agent program comprises at least one ofthe customized, interactive presentations selected from the group consisting of: an advertising/sales presentation, an educational/instructional presentation, and an interactive game.
83. The method as described in claim 1, 34, 66, or 76 wherein the virtual sales agent program comprises an enhancement to conventional programming content selected from the group consisting of: advertising, sports, news, entertainment, situation comedy, music video, game show, and educational.
84. The method as described in claim 35 or 76 wherein the memory module is randomly accessible.
85. The method as described in claim 76 wherein the plurality of associated program segments are associated in sequential sets of one or more program segments.
86. The method as described in claim 2, 36, or 85 wherein the one or more program segments in each sequential set are synchronized.
87. The method as described in claim 76 wherein the step of accessing further comprises receiving at least one of at least one additional associated program segment, Internet content, and private network content via a communication link to at least one ofthe Internet and a private network, and wherein the step of presenting further includes presenting at least one ofthe Internet content and the private network content to the user.
88. The method as described in claim 76 wherein the step of accessing further comprises retrieving at least one of at least one additional associated program segment, Internet content, and private network content via a communication link to at least one ofthe Internet and a private network, and wherein the step of presenting further includes presenting at least one ofthe Internet content and the private network content to the user.
89. The method as described in claim 76 further comprising interacting with the user via at least one intenogatory contained in the at least one ofthe plurality of associated program segments to determine preferences ofthe user.
90. The method as described in claim 89 wherein the presentation device is a touch screen monitor and the step of interacting is accomplished by the user touching the touch screen monitor to register responses to the intenogatories.
91. The method as described in claim 89 wherein the step of interacting with the user is performed via a user interface.
92. The method as described in claim 6, 21, or 91 wherein the user interface is selected from the group consisting of a radio frequency remote control, an infrared remote control, a keyboard, a touch screen monitor, and voice activation.
93. The method as described in claim 89 wherein the at least one intenogatory is based upon expert system instructions with hierarchical rales for negotiating a result with the user. 94. The method as described in claim 89 further comprising switching between the plurality of associated program segments, based upon the user's responses to the posited intenogatories, to present program segments responsive to the user's preferences.
95. The method as described in claim 94 wherein the step of switching between the plurality of associated program segments is further based upon infonnation in a user profile stored within the interactive programming system.
96. The method as described in claim 94 wherein the step of switching between the plurality of associated program segments is accomplished without a user perceptible delay between the presentation of each ofthe plurality of program segments as the switch is made to it.
97. A reception system for a virtual sales agent program transmitted via an interactive programming system in a program data stream, the virtual sales agent program providing a customized, interactive presentation for the enhancement of conventional programming content through the use of interactive programming technology, the virtual sales agent program comprising a plurality of associated program segments, each ofthe plurality of associated program segments comprising a plurality of associated digital data signals, the reception system comprising: a receiver that receives the program data stream comprising the conventional programming content and the associated digital data signals of at least one ofthe plurality of associated program segments; a program output that outputs the at least one ofthe associated program segments to a presentation device perceivable by a user; and a microprocessor that coordinates and directs the functions ofthe receiver and the program output.
98. The reception system as described in claim 97 further comprising a network connector that provides a connection with a communication network for receiving the at least one ofthe associated program segments. 99. The reception system as described in claim 97 wherein the program data stream is received by the receiver via at least one ofthe transmission mediums selected from the group consisting of: tenestrial broadcast television, cable, satellite, fiber optic, microwave, radio, telephony, wireless telephony, and a communication network.
100. The reception system as described in claim 97 further comprising a network connector that provides a connection with a communication network, and wherein the receiver retrieves the at least one ofthe associated program segments from the communication network.
101. The reception system as described in claim 91, 98, or 100 wherein the communication network comprises at least one ofthe networks selected from the group consisting of: the Internet, an intranet, a local area network, a wide area network, a public network, and a private network.
102. The reception system as described in claim 101 wherein the at least one ofthe associated program segments comprises at least one of Internet content from the Internet and private network content from the private network.
103. The reception system as described in claim 102 further comprising a second program output that outputs at least one ofthe Internet content and the private network content to a second presentation device.
104. The reception system as described in claim 97 wherein the at least one ofthe associated program segments is received by the receiver based upon user information indicative of preferences ofthe user, to provide at least one ofthe associated program segments responsive to the preferences of the user.
105. The reception system as described in claim 66 further comprising a memory for storing user information, and wherein the microprocessor further collects the user information and stores it in the memory.
106. The reception system as described in claim 105 further comprising a backchannel transmitter which transmits the user infonnation to a programming transmission system via a backchannel communication link.
107. The reception system as described in claim 97ated digital data signals in the program data stream received by the receiver conesponding to the at least one ofthe associated program segments; and a signal switcher that switches from the conventional programming content to and between the at least one ofthe selected associated digital data signals; wherein the program output outputs the at least one ofthe associated program segments conesponding to the at least one ofthe selected associated digital signals, and the microprocessor further coordinates and directs the functions ofthe signal selector and the signal switcher.
108. The reception system as described in claim 107 wherein the plurality of associated digital data signals are transmitted in a plurality of program data streams and the signal selector further selects the at least one associated digital data signal between the plurality of program data streams. 109. The reception system as described in claim 107 or 108 wherein the signal switcher switches between the at least one ofthe associated data signals selected by the signal selector without a user perceptible delay between the presentation ofthe program segments on the presentation device.
110. The reception system as described in claim 107 further comprising a memory for storing the at least one ofthe associated program segments received by the receiver, and wherein the signal selector selects and the signal switcher switches to and between the at least one ofthe associated program segments stored in the memory.
111. The reception system as described in claim 107 wherein the plurality of associated digital data signals comprises at least one instructional data signal that provides instructions to the microprocessor for coordinating and directing the signal selector and signal switcher to select and switch to and between the at least one ofthe associated digital data signals.
112. The reception system as described in claim 107 further comprising a user interface for receiving user information from and interacting with the user.
113. The reception system as described in claim 112 wherein the at least one ofthe plurality of associated program segments contains at least one intenogatory for soliciting user information from the user; wherein the user interface receives at least one response from the user to the at least one intenogatory; and wherein the microprocessor coordinates and directs selection and switching ofthe at least one ofthe associated digital data signals by the signal selector and the signal switcher, respectively, based upon the user's response to the at least one intenogatory.
114. The reception system as described in claim 112 wherein the signal switcher switches from the conventional programming content to and between the at least one ofthe selected associated digital data signals at the direction ofthe user via the user interface.
115. The reception system as described in claim 107 further comprising a memory for storing user information, and wherein the microprocessor further collects the user information and stores it in the memory.
116. The reception system as described in claim 115 wherein the microprocessor coordinates and directs selection and switching ofthe at least one ofthe associated digital data signals by the signal selector and the signal switcher, respectively, based upon user information indicative of preferences ofthe user, to provide at least one ofthe associated program segments responsive to the preferences ofthe user.
117. The reception system as described in claim 104, 105, or 115 wherein the user information comprises a user profile stored within the interactive programming system.
118. The reception system as described in claim 104, 105, or 116 wherein the receiver receives the user information in the program data stream. 119. The reception system as described in claim 97 further comprising a user interface for receiving user infonnation from and interacting with the user.
120. The reception system as described in claim 112 or 119 wherein the user interface is selected from the group consisting of: a radio frequency remote control, an infrared remote control, a keyboard, a touch screen monitor, and voice activation. 121. The reception system as described in claim 119 further comprising a backchannel transmitter; wherein the at least one ofthe plurality of associated program segments contains at least one intenogatory for soliciting user information from the user; wherein the user interface receives at least one response from the user to the at least one intenogatory, the response comprising user infonnation; and wherein the backchannel transmitter transmits the at least one user response to a programming transmission system via a backchannel communication link.
122. The reception system as described in claim 113 or 121 wherein the at least one intenogatory is based upon expert system instmctions with hierarchical rales for negotiating a result with the user.
123. The reception system as described in claim 119, further comprising a backchannel transmitter; wherein the conventional programming content is replaced in the program data stream by the at least one ofthe plurality of associated program segments at a program transmission center at the direction ofthe user via the user interface; and wherein the backchannel transmitter transmits the user direction to the programming transmission system via a backchannel communication link.
124. The reception system as described in claim 97 wherein the plurality of associated program segments are received by the receiver in sequential sets of one or more program segments. 125. The reception system as described in claim 124 wherein the one or more program segments in each sequential set are synchronized.
126. The reception system as described in claim 97 wherein the plurality of associated digital data signals further comprises at least one indicator signal for alerting the user to the presence ofthe virtual sales agent program in the data stream.
127. The reception system as described in claim 126 wherein the microprocessor outputs the indicator signal through the program output as an indicator perceivable to the user via the presentation device.
128. The reception system as described in claim 126 further comprising a user interface, and wherein the microprocessor outputs the indicator signal through the user interface as an indicator perceivable to the user via a user interface device that is in communication with the user interface.
129. A programming transmission system for providing a virtual sales agent program to a plurality of users via an interactive programming system, the virtual sales agent program providing a customized, interactive presentation for the enhancement of conventional programming content through the use of interactive programming technology, the virtual sales agent program comprising a plurality of associated program segments, each ofthe plurality of associated program segments comprising a plurality of associated digital data signals, the programming transmission system comprising: a program transmitter which transmits a program data stream comprising the conventional programming content and at least one ofthe plurality of associated program segments to at least one ofthe plurality of users; and a program inserter which inserts at least one of the plurality of associated program segments into the program data stream.
130. The pro gramming transmission system as described in claim 129 further comprising a memory which stores the at least one ofthe associated program segments. 131. The programming transmission system as described in claim 130 further comprising a receiver which receives a primary transmission of at least one ofthe associated program segments from a remote transmission source for storage in the memory.
132. The programming transmission system as described in claim 130 wherein the plurality of program segments are stored in the memory in sequential sets of one or more program segments.
133. The programming transmission system as described in claim 130 wherein the one or more program segments in each sequential set are synchronized.
134. The programming transmission system as described in claim 130 wherein the programming fransmission system further comprises an encoder/compressor for encoding and compressing at least one ofthe sequential sets of synchronized program segments comprising a respective plurality of digital data signals into one or more data packets for insertion into the program data stream.
135. The programming transmission system as described in claim 134 wherein the program inserter distributively inserts the one or more data packets across a plurality of program data streams.
136. The programming transmission system as described in claim 134 further comprising a program segment selector which selects and switches from the conventional programming content to and between the plurality of associated program segments for insertion into the program data stream.
137. The programming transmission system as described in claim 136 wherein the program segment selector switches between selected program segments without a user perceptible delay between the program segments.
138. The programming transmission system as described in claim 136 wherein the program segment selector selects the at least one ofthe associated program segments based upon user information indicative of preferences of at least one ofthe plurality of users, to provide the at least one ofthe selected associated program segments responsive to the preferences ofthe at least one ofthe plurality of users.
139. The programming transmission system as described in claim 138 further comprising a memory and wherein the user information is stored in the memory.
140. The system as described in claim 110, 130, or 139 wherein the memory is randomly accessible. 141. The programming transmission system as described in claim 138 wherein the user information comprises a user profile stored within the interactive programming system.
142. The programming transmission system as described in claim 138 further comprising a backchannel receiver which receives user information from at least one ofthe plurality of users via a backchannel communication link within the interactive programming system.
143. The programming transmission system as described in claim 138 wherein the program inserter additionally inserts the user information into the program data stream.
144. The programming transmission system as described in claim 136 further comprising a backchannel receiver for receiving user directions from at least one ofthe plurality of users via a backchannel communication link within the interactive programming system, wherein the program segment selector switches from the conventional programming content at the direction ofthe at least one ofthe plurality of users.
145. The programming transmission system as described in claim 129 further comprising a receiver which receives a primary transmission of at least one ofthe associated program segments from a remote transmission source for insertion into the program data stream. 146. The programming transmission system as described in claim 131 or 145 wherein the virtual sales agent program received from the remote transmission source is received via at least one ofthe transmission mediums selected from the group consisting of: tenestrial broadcast television, cable, satellite, fiber optic, microwave, radio, telephony, wireless telephony, digital subscriber line, a personal communication system network, and a communication network.
147. The programming transmission system as described in claim 146 wherein the communication network comprises at least one ofthe networks selected from the group consisting of: the Internet, an intranet, a local area network, a wide area network, a public network, and a private network. 148. The programming transmission system as described in claim 147 wherein the programming transmission system receives at least one of Intemet content from the Internet and private network content from the private network for insertion into the program data stream.
149. The programming transmission system as described in claim 147 wherein the programming transmission system retrieves at least one of Internet content from the Internet and private network content from the private network for insertion into the program data stream.
150. The programming transmission system as described in claim 129 wherein at least one of the-plurality of associated program segments contains at least one intenogatory for interacting with the at least one ofthe plurality of users, and wherein the system further comprises a backchannel receiver for receiving a response to the at least one intenogatory from the at least one ofthe plurality of users via a backchannel communication link within the interactive programming system, the response comprising user information.
151. The system as described in claim 106, 121 , 123 , 142, 144, or 150 wherein the backchannel communication link comprises a communication system selected from at least one ofthe group consisting of: radio, telephony, wireless telephony, digital subscriber line, a personal communication system network, a communication network, cable, fiber optic, and satellite.
152. The programming transmission system as described in claim 151 wherein the communication network comprises a network selected, from the group consisting of: the Internet, an intranet, a local area network, a wide area network, a public network, and a private network.
153. The programming transmission system as described in claim 142 or 150 further comprising a processor, wherein the plurality of associated digital data signals further comprise instructional data, and wherein the processor interprets the user information according to instructions in the instructional data and directs the program segment selector to make selections pursuant to the interpretation.
154. The programming transmission system as described in claim 150 wherein the at least one intenogatory is based upon expert system instructions with hierarchical rales for negotiating a result with the at least one ofthe plurality of users. 155. The programming transmission system as described in claim 129 wherein the program transmitter transmits the program data stream via at least one ofthe transmission mediums selected from the group consisting of: tenestrial broadcast television, cable, satellite, fiber optic, microwave, radio, telephony, wireless telephony, digital subscriber line, a personal communication system network, and a communication network. 156. The programming transmission system as described in claim 155 wherein the communication network comprises at least one ofthe networks selected from the group consisting of: the Internet, and intranet, a local area network, a wide area network, a public network, and a private network.
157. The system as described in claim 110, 130, or 139 wherein the memory is selected from group consisting of: a data storage server, an optical disk, an optical storage medium, and a magnetic storage medium.
158. The programming transmission system as described in claim 29 wherein the plurality of associated digital data signals further comprises at least one indicator signal for alerting the user to the presence ofthe virtual sales agent program in the program data sfream.
159. The programming transmission system as described in claim 158 wherein the indicator signal comprises an indicator perceivable to at least one ofthe plurality of users via a presentation device.
160. The system as described in claim 127 or 159 wherein the indicator is selected from the group consisting of: a graphic, an.icon, a uniform resource locator, a hyperlink, a hot spot, a visual signal, and an audible signal. 161. The programming transmission system as described in claim 158 wherein the indicator signal comprises an indicator perceivable to at least one ofthe plurality of users via a user interface device that is in communication with the interactive programming system.
162. The system as described in claim 128 or 161 wherein the indicator perceivable via a user interface device is selected from the group consisting of: a button on a remote control, a light source on a remote control, a button on a keyboard, and a light source on a keyboard.
163. The system as described in claim 97 or 129 wherein the virtual sales agent program comprises at least one ofthe customized, interactive presentations selected from the group consisting of: an advertising/sales presentation, an educational/instructional presentation, and an interactive game.
164. The system as described in claim 97 or 129 wherein the virtual sales agent program comprises an enhancement to conventional programming content selected from the group consisting of: advertising, sports, news, entertainment, situation comedy, music video, game show, and educational. 165. A self-contained system for providing a virtual sales agent program to a user via an interactive programming system, the virtual sales agent program providing a customized, interactive presentation to the user through the use of interactive programming technology, the virtual sales agent program comprising a plurality of associated program segments, each ofthe plurality of program segments comprising a plurality of associated digital data signals, the system comprising: a memory that stores the plurality of associated program segments; a program segment selector that selects and switches between the plurality of associated program segments stored in the memory; a program output that outputs each ofthe plurality of associated program segments selected by the program segment selector, at the time to which each is switched, to a presentation device perceivable by the user; and a microprocessor that coordinates and directs the selections and switches ofthe program segment selector and the output ofthe program output.
166. The system as described in claim 97 or 165 wherein the presentation device is selected from the group consisting of: television, radio, video tape player, audio tape player, digital video disk player, compact digital disk player, minidisk player, computer, personal digital assistant device, telephone, wireless telephone, a telephony device for the deaf, and a touch screen monitor.
167. The self-contained system as described in claim 165 further comprising a network connector that provides a connection with a communication network.
168. The self-contained system as described in claim 167 wherein the communication network comprises at least one of the hitemet and a private network, and wherein the program segment selector further retrieves at least one of at least one additional associated program segment, Internet content, and private network content via the communication network.
169. The self-contained system as described in claim 167 wherein the communication network comprises at least one ofthe Internet and a private network, and wherein the program segment selector further receives at least one of at least one additional associated program segment, Internet content, and private network content via the communication network.
170. The self-contained system as described in claim 168 or claim 169 wherein the program output further outputs at least one ofthe at least one additional program segment, the
Internet content, and the private network content to the presentation device.
171. The self-contained system as described in claim 168 or claim 169 wherein the program output further outputs at least one ofthe Internet content and the private network content to a second presentation device. 172. The self-contained system as described in claim 169 wherein the communication network comprises a network selected from the group consisting of: the Internet, an intranet, a local area network, a wide area network, a public network and a private network.
173. The self-contained system as described in claim 165 wherein the memory further stores user information for use by the microprocessor in coordinating and directing the program segment selector.
174. The self-contained system as described in claim 173 wherein the memory is selected from the group consisting of: a data server, an optical storage medium, and a magnetic storage medium.
175. The self-contained system as described in claim 165 wherein the program segment selector switches between selected program segments without a user perceptible delay between the presentation ofthe selected program segments on the presentation device.
176. The system as described in claim 97, 129, or 165 wherein the plurality of associated program segments comprise at least one ofthe programming types selected from the group consisting of: audio, video, graphic image, and text. 177. The system as described in claim 97, 129, or 1653 wherein the plurality of associated program segments comprise at least one of still frame pictures and graphic images for transmission via a nanow bandwidth data stream.
178. The self-contained system as described in claim 165 wherein the virtual sales agent program comprises at least one ofthe customized presentations selected from the group consisting of: an advertising/sales presentation, an educational/instructional presentation, and an interactive game.
179. The self-contained system as described in claim 165 wherein the memory is randomly accessible.
180. The self-contained system as described in claim 165, further comprising a user interface, wherein at least one ofthe plurality of associated program segments contains at least one intenogatory for interacting with the user to determine preferences ofthe user, and wherein the microprocessor directs the program segment switcher to switch between the plurality of associated program segments based upon a response by the user through the user interface to the at least one intenogatory, the response indicative ofthe preferences, to present program segments responsive to the preferences.
181. The system as described in claim 112, 119, or 180 wherein the user interface is selected from the group consisting of: a radio frequency remote control, an infrared remote control, a keyboard, a touch screen monitor, and voice activation.
182. The self-contained system as described in claim 180 wherein the user interface comprises a touch screen monitor which simultaneously comprises the presentation device.
183. The self-contained system as described in claim 180 wherein the at least one intenogatory is based upon expert system instructions with hierarchical rales for negotiating a result with the user.
184. The self-contained system as described in claim 165 wherein the plurality of associated program segments are associated in sequential sets of one or more program segments.
185. The system as described in claim 124, 132, or 184 wherein the one or more program segments in each sequential set are synchronized.
186. A computer program product for instructing a computer controlled programming transmission system with interactive programming technology to provide a virtual sales agent program to a plurality of users, the virtual sales agent program providing a customized presentation for the enhancement of conventional programming content through the use of interactive programming technology, the virtual sales agent program comprising a plurality of associated program segments, each ofthe plurality of program segments comprising a plurality of associated digital data signals, the computer program product comprising a computer usable medium having computer readable program code means embodied therein for controlling the programming transmission system, the computer readable program code means comprising instructions for causing the programming transmission system to: access at least one ofthe plurality of program segments from within the programming transmission system; insert the at least one accessed program segment in program data stream; and transmit the program data stream to at least one ofthe plurality of users.
187. The computer program product as described in claim 186 wherein the computer readable program code means further comprises instructions for causing the programming transmission system to access user information indicative of preferences of at least one ofthe plurality of users stored in the programming transmission system, and to select and switch between individual program segments ofthe plurality of associated program segments based upon the user information, to provide the individual program segments responsive to the preferences.
188. The computer program product as described in claim 186 wherein the programming transmission system further comprises a web browser program and wherein the computer readable program code means further comprises instructions for: causing the web browser program to retrieve information from a communication network via a communication link with the programming transmission system; and causing the programming transmission system to insert the retrieved information in the program data stream.
189. The computer program product as described in claim 186 wherein the computer readable program code means further comprises instructions for causing the programming transmission system to select and switch between individual program segments ofthe plurality of associated program segments. 190. The computer program product as described in claim 189 wherein the programming transmission system switches between the individual program segments without a user perceptible delay between presentation ofthe individual program segments on a presentation device.
191. The computer program product as described in claim 186 wherein the computer readable program code means further comprises instructions for causing the programming transmission system to select and switch between individual program segments ofthe plurality of associated program segments based upon a response of at least one ofthe plurality of users to at least one intenogatory contained in at least one ofthe plurality of program segments, the response received at the programming transmission system via a backchannel communication link, the response indicative of preferences ofthe at least one of the plurahty of users, to provide the individual program responsive to the preferences.
192. The computer program product as described in claim 191 wherein the at least one intenogatory is based upon expert system instructions with hierarchical rales for negotiating a result with at least one ofthe plurality of users. 193. The computer program product as described in claim 186 wherein the computer readable program code means further comprises instructions for causing the programming transmission system to: provide an indicator within the program data stream to indicate that the virtual sales agent program is available; and respond to a request of at least one ofthe plurality of users for the virtual sales agent program by switching from the conventional programming content to the at least one ofthe plurality of associated program segments, the request received at the programming fransmission system via a backchannel communication link.
194. A computer program product for instructing a computer controlled programming receiver with interactive programming technology to provide a virtual sales agent program to a user, the virtual sales agent program providing a customized, interactive presentation for the enliancement of conventional programming content through the use of interactive programming technology, the virtual sales agent program comprising a plurality of associated program segments, each ofthe plurality of program segments comprising a plurality of associated digital data signals, the computer program product comprising a computer usable medium having computer readable program code means embodied therein for controlling the programming receiver, the computer readable program code means comprising instructions for causing the programming receiver to: download at least one ofthe plurality of program segments from a program data stream received by the receiver; select the at least one ofthe plurality of associated program segments; switch from the conventional programming content to the at least one selected program segment; and output the at least one selected program segment for presentation to the user on presentation device.
195. The computer program product as described in claim 194 wherein the computer readable program code means further comprises instructions for causing the programming receiver to access user information indicative of preferences ofthe user stored a memory in the programming receiver, and to select and switch between individual program segments ofthe plurality of associated program segments based upon the user information, to provide the individual program segments responsive to the preferences. 196. The computer program product as described in claim 194 wherein the programming receiver further comprises a web browser program and wherein the computer readable program code means further comprises instructions for: causing the web browser program to retrieve information from a communication network via a communication link with the programming receiver; and causing the programming receiver to switch between the plurality of associated program segments and the information retrieved from the communication network. 197. The computer program product as described in claim 188 or 196 wherein the communication network comprises at least one ofthe Internet and a private network and the retrieved information comprises at least one of hitemet content and private network content.
198. The computer program product as described in claim 194 wherein the computer readable program code means further comprises instructions for causing the receiver to select and switch between individual program segments ofthe plurality of associated program segments.
199. The computer program product as described in claim 194 wherein the computer readable program code means further comprises instructions for causing the programming receiver to select and switch between individual program segments ofthe plurality of program segments based upon a response ofthe user to at least one intenogatory contained in at least one ofthe plurality of program segments, the response received via input through a user interface with the programming receiver, the response indicative of preferences ofthe user, to provide the individual program segments responsive to the preferences. 200. The computer program product as described in claim 199 wherein the programming receiver switches between the individual program segments without a user perceptible delay between presentation ofthe individual program segments on the presentation device.
201. The computer program product as described in claim 199 wherein the at least one intenogatory is based upon expert system instructions with hierarchical rules for negotiating a result with the user.
202. The computer program product as described in claim 194 wherein the computer readable program code means further comprises instructions for causing the programming receiver to indicate to the user via an indicator that the virtual sales agent program is available within the program data stream.
203. The computer program product as described in claim 193 or 202 wherein the indicator is selected from the group consisting of: a graphic, an icon, a uniform resource locator, a hyperlink, a hot spot, a visual signal, and an audible signal.
204. The computer program product as described in claim 186 or 194 wherein the virtual sales agent program comprises at least one ofthe customized, interactive presentations selected from the group consisting of: an advertising/sales presentation, an educational/instructional presentation, and an interactive game.
205. The computer program product as described in claim 186 or 194 wherein the virtual sales agent program comprises an enhancement to conventional programming content selected from the group consisting of: advertising, sports, news, entertainment, situation comedy, music video, game show, and educational.
206. The computer program product as described in claim 194 wherein the computer readable program code means further comprises instmctions for causing the programming receiver to store at least one ofthe plurality of associated program segments in a memory module in the programming receiver.
207. The computer program product as described in claim 194 wherein the memory module is randomly accessible.
208. A virtual sales agent program for presentation via an interactive programming system to at least one user, the virtual sales agent program providing a customized, interactive presentation through the use of interactive programming technology, the virtual sales agent program comprising a plurality of associated program segments, each ofthe plurality of program segments comprising a plurality of associated digital data signals, wherein: at least one program segment is grouped to create a plurality of groups; each program segment in a group is synchronized with the other program segments in the group; the plurality of groups is ananged in a sequential order; and at least one program segment contains associated instructions for use by a processor in selecting a subsequent program segment in a subsequent group ofthe plurality of groups to output for presentation to the at least one user.
209. The virtual sales agent program as described in claim 208 wherein at least one program segment contains at least one intenogatory to the at least one user for determining preferences ofthe at least one user, the at least one intenogatory designed to solicit an interactive response from the at least one user, the interactive response indicative ofthe preferences and determinative ofthe selection by the processor ofthe subsequent program segment in the subsequent group to output for presentation. 210. The virtual sales agent program as described in claim 208 wherein the instractions direct the processor to select the subsequent program segment in the subsequent group based on an analysis by the processor of user information.
211. The virtual sales agent program as described in claim 208 wherein the processor is part of a programming transmission system. 212. The virtual sales agent program as described in claim 208 wherein the processor is part of a programming receiver.
213. The virtual sales agent program as described in claim 208 wherein the plurality of associated program segments comprise at least one ofthe programming types selected from the group consisting of: audio, video, graphic image, and text. 214. The virtual sales agent program as described in claim 208 wherein the plurality of associated program segments comprise at least one of still frame pictures or graphic images for transmission via a narrow bandwidth data stream.
215. The virtual sales agent program as described in claim 208 wherein the virtual sales agent program is stored in a memory. 216. The virtual sales agent program as described in claim 215 wherein the memory is a medium selected from the group consisting of: video tape, audio tape, magnetic media, digital video disk, compact digital disk, minidisk, video gaming media, optical media, computer readable media, and a data server.
217. The virtual sales agent program as described in claim 208 wherein at least one ofthe plurality of program segments contains instructions to access and retrieve information from a communication network.
218. The virtual sales agent program as described in claim 217 wherein the communication network comprises at least one ofthe Internet and a private network and the information comprises at least one of Intemet content and private network content. 219. The virtual sales agent program as described in claim 208 wherein at least one ofthe plurality of program segments contains expert system instructions with hierarchical rales for use by the processor in negotiating a result with the at least one user.
220. The virtual sales agent program as described in claim 208 wherein the virtual sales agent program comprises at least one ofthe customized presentations selected from the group consisting of: an advertising/sales presentation, an educational/instructional presentation, and an interactive game.
221. The virtual sales agent program as described in claim 208 wherein the virtual sales agent program comprises an enliancement to conventional programming content, the conventional programming content selected from the group consisting of: advertising, sports, news, entertainment, situation comedy, music video, game show, and educational.
EP01979782A 2000-10-13 2001-10-13 System for providing sales information via interactive digital data streams Withdrawn EP1334420A4 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US687866 1984-12-31
US68786600A 2000-10-13 2000-10-13
PCT/US2001/032020 WO2002031627A2 (en) 2000-10-13 2001-10-13 System for providing sales information via interactive digital data streams

Publications (2)

Publication Number Publication Date
EP1334420A2 EP1334420A2 (en) 2003-08-13
EP1334420A4 true EP1334420A4 (en) 2007-01-17

Family

ID=24762197

Family Applications (1)

Application Number Title Priority Date Filing Date
EP01979782A Withdrawn EP1334420A4 (en) 2000-10-13 2001-10-13 System for providing sales information via interactive digital data streams

Country Status (4)

Country Link
EP (1) EP1334420A4 (en)
AU (1) AU2002211707A1 (en)
CA (1) CA2420668A1 (en)
WO (1) WO2002031627A2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000002380A2 (en) * 1998-07-07 2000-01-13 United Video Properties, Inc. Interactive television program guide system with local advertisements
WO2000049801A1 (en) * 1999-02-17 2000-08-24 Index Systems, Inc. System and method for tailoring television and/or electronic program guide features, such as advertising

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6064973A (en) * 1998-04-17 2000-05-16 Andersen Consulting Llp Context manager and method for a virtual sales and service center
US6070149A (en) * 1998-07-02 2000-05-30 Activepoint Ltd. Virtual sales personnel
US6553347B1 (en) * 1999-01-25 2003-04-22 Active Point Ltd. Automatic virtual negotiations

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000002380A2 (en) * 1998-07-07 2000-01-13 United Video Properties, Inc. Interactive television program guide system with local advertisements
WO2000049801A1 (en) * 1999-02-17 2000-08-24 Index Systems, Inc. System and method for tailoring television and/or electronic program guide features, such as advertising

Also Published As

Publication number Publication date
EP1334420A2 (en) 2003-08-13
AU2002211707A1 (en) 2002-04-22
CA2420668A1 (en) 2002-04-18
WO2002031627A2 (en) 2002-04-18
WO2002031627A3 (en) 2002-06-20

Similar Documents

Publication Publication Date Title
AU774028B2 (en) Compressed digital-data seamless video switching system
US8745689B2 (en) Channel surfing compressed television sign method and television receiver
US20020129374A1 (en) Compressed digital-data seamless video switching system
US6574793B1 (en) System and method for displaying advertisements
US8006264B2 (en) Interactive television program guide with passive content
AU2002256381B2 (en) Technique for optimizing the delivery of advertisements and other programming segments by making bandwidth tradeoffs
US20060075457A1 (en) Methods and apparatus for banner information digital TV service and receivers therefore
CA2443746A1 (en) System and method for targeting object oriented audio video content to users
JP2000504527A (en) Transmission and reception of television programs and additional data services
JP2000358005A (en) Broadcasting system, service providing method and reception distributing and decoding device
JP2004194252A (en) Program information transmitting/receiving system and program information transmitting/receiving method
WO2000018114A1 (en) Interactive television program guide with passive content
GB2356517A (en) A receiver for simultaneously displaying first and second video signals
EP1334420A2 (en) System for providing sales information via interactive digital data streams
GB2469992A (en) Interactive TV with multiple content streams in a single data stream
JP2022058013A (en) Program data information providing device, system, method, and program

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: 20030512

AK Designated contracting states

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR

AX Request for extension of the european patent

Extension state: AL LT LV MK RO SI

A4 Supplementary search report drawn up and despatched

Effective date: 20061219

RIC1 Information provided on ipc code assigned before grant

Ipc: G06F 1/00 20060101ALI20061213BHEP

Ipc: H04N 7/24 20060101AFI20061213BHEP

17Q First examination report despatched

Effective date: 20070410

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

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20090127