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.