WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Method and apparatus for providing broadcast information with indexing    
United States Patent5614940   
Link to this pagehttp://www.wikipatents.com/5614940.html
Inventor(s)Cobbley; David A. (Portland, OR); Throckmorton; John A. (Lake Oswego, OR)
AbstractA method and apparatus generates and transfers a stream of broadcast information which includes multiple video and audio information segments to a receiving device. Once received, the segments are stored in a cache and indexing information associated with the segments is made available to end users of the apparatus. The end users are then able to select which segment(s) they would like to receive, and the selected segment(s) is transmitted to the requesting user(s). In one embodiment, when a new segment is received, a determination is made as to whether it is a more recent version of another segment already stored by the apparatus. If it is a more recent version, then the older version is overwritten by the newer version.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 5614940
Method and apparatus for providing broadcast information with indexing - US Patent 5614940 Drawing
Method and apparatus for providing broadcast information with indexing
Inventor     Cobbley; David A. (Portland, OR); Throckmorton; John A. (Lake Oswego, OR)
Owner/Assignee     Intel Corporation (Santa Clara, CA)
Patent assignment
All assignments
Publication Date     March 25, 1997
Application Number     08/327,504
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     October 21, 1994
US Classification     725/138 725/37 725/139
Int'l Classification     H04N 005/265
Examiner     Kostak; Victor R.
Assistant Examiner    
Attorney/Law Firm     Blakely, Sokoloff, Taylor & Zafman
Address
Parent Case    
Priority Data    
USPTO Field of Search     348/906 348/7 348/473 348/589 348/600 348/460 348/553 348/563 348/725
Patent Tags     providing broadcast information indexing
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
4751578
Reiter
348/564
Jun,1988

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


What is claimed is:

1. A method for displaying broadcast information comprising the steps of:

(a) receiving broadcast information including video image data;

(b) storing at least on part of the video image data in a storage device;

(c) displaying a set of indexing information associated with the at least one part of the video image data;

(d) retrieving at least one portion of the at least one part of the video image data from the storage device based on selected indexing information, wherein the selected indexing information is part of the set of indexing information; and

(e) displaying the at least one portion.

2. The method of claim 1, wherein step (b) comprises the steps of:

determining whether a first part of the video image data is a more recent version of a second part of the video image data, wherein the second part was previously stored in the storage device; and

deleting the second part from the storage device, provided the first part is the more recent version.

3. The method of claim 2, further comprising the steps of:

determining whether an end user is currently viewing the second part; and

deleting the second part from the storage device, provided the end user is not currently viewing the second part, otherwise deleting the second part from the storage device when the end user completes viewing the second part.

4. The method of claim 2, wherein the deleting comprises overwriting the second part with the first part.

5. The method of claim 1, wherein step (c) comprises displaying the set of indexing information associated with the most recent at least one part of the video image data.

6. The method of claim 1, further comprising the step of displaying at least one portion of the video image data based on a selected subset of the set of indexing information.

7. The method of claim 1, wherein step (c) comprises displaying the set of indexing information in an order which is predetermined by a personal profile.

8. The method of claim 1, wherein the broadcast information comprises a repeating news broadcast.

9. The method of claim 1, wherein step (a) comprises receiving the set of indexing information during a vertical blanking interval (VBI) associated with the broadcast information.

10. The method of claim 1, further comprising the steps of:

receiving closed caption information as part of the broadcast information; and

generating the set of indexing information from the closed caption information.

11. The method of claim 1, wherein the receiving step (a) further comprises receiving a set of text information associated with a first portion of the at least one part of the video image data.

12. The method of claim 11, further comprising the step of displaying the set of text information, provided the first portion is displayed.

13. The method of claim 1, wherein the receiving step (a) further comprises receiving a set of graphical images associated with a first portion of the at least one part of the video image data.

14. The method of claim 13, further comprising the step of displaying the set of graphical images, provided the first portion is displayed.

15. A method for providing broadcast information to an end user comprising the steps of:

(a) receiving a stream of broadcast information including a plurality of program segments;

(b) storing the plurality of program segments in a storage device;

(c) providing a set of indexing information associated with the plurality of program segments to the end user;

(d) retrieving a subset of the plurality of program segments from the storage device based on selected indexing information, wherein the selected indexing information is part of the set of indexing information; and

(e) providing the subset of the plurality of program segments for display.

16. The method of claim 1, wherein the broadcast information also includes audio data.

17. A system for displaying broadcast information comprising:

a transmitting device for transmitting video image data and indexing information associated with the video image data;

a capture device for receiving the video image data from the transmitting device;

a storage device which stores at least one part of the video image data and at least one part of the indexing information;

a storage manager coupled to the capture device for managing storing of both the at least one part of the video image data and the at least one part of the indexing information in the storage device; and

a playback device, coupled to the storage device, for receiving a set of the at least one part of the indexing information from the storage device and for displaying the set of indexing information, wherein the playback device is also for receiving at least one portion of the at least one part of the video image data associated with the set of indexing information from the storage device and for displaying the at least one portion.

18. The system of claim 17, wherein the indexing information comprises a plurality of titles.

19. The system of claim 17, wherein the transmitting device transmits a stream of repeating video and audio data.

20. The system of claim 17, wherein the storage manager is also for determining whether a first part of the at least one part of the video image data is a more recent version of a second part of the at least one part of the video image data, and for overwriting the second part in the storage device with the first part, provided the first part is the more recent version.

21. The system of claim 17, wherein the transmitting device transmits the indexing information during a vertical blanking interval (VBI).

22. The system of claim 17, wherein the transmitting device transmits the video image data via radio waves.

23. The system of claim 17, wherein the capture device is also for compressing the a least one part of the video image data.

24. An apparatus for displaying broadcast information comprising:

a receiving unit for receiving broadcast information which includes video image data;

a transmitting unit for transmitting indexing information associated with the broadcast information to a playback device; and

a processing unit which stores at least one part of the broadcast information in a storage device and determines whether a first part of the at least one part of the broadcast information is a more recent version of a second part of the at least one part of the broadcast information already stored in the storage device, and wherein the processing unit overwrites the second part in the storage device with the first part, provided the first part is the more recent version.

25. The apparatus of claim 24, wherein the processing unit also determines whether an end user is currently viewing the second part, and overwrites the second part in the storage device with the first part, provided the end user is not currently viewing the second part, otherwise deleting the first part from the processing unit.

26. The apparatus of claim 24, wherein the processing unit also compresses the at least one part of the broadcast information prior to storing the at least one part of the broadcast information in the storage device.

27. The apparatus of claim 24, further comprising a capturing unit which digitizes and compresses the at least one part of the broadcast information.

28. A system for displaying broadcast information comprising:

means for receiving broadcast information, wherein the broadcast information includes video image data;

means for storing at least one part of the video image data in a storage device;

means for displaying a set of indexing information associated with the at least one part of the video image data; and

means for displaying at least one portion of the at least one part of the video image data based on selected indexing information, wherein the selected indexing information is part of the set of indexing information.

29. The system of claim 28, wherein the means for storing comprises:

means for determining whether a first part of the video image data is a more recent version of a second part of the video image data, wherein the second part is already stored in the storage device; and means for deleting the second part from the storage device, provided the first part is the more recent version.

30. The system of claim 29, wherein the means for determining determines whether an end user is currently viewing the second part, and the means for deleting deletes the second part from the storage device, provided the end user is not currently viewing the second part, otherwise the means for deleting deletes the first part from the means for storing.

31. The system of claim 29, wherein the means for deleting overwrites the second part with the first part.

32. The system of claim 28, wherein the means for displaying a set of indexing information displays the set of indexing information associated with the most recent at least one part of the video image data.

33. The system of claim 28, wherein the means for displaying a set of indexing information displays the set of indexing information in an order which is predetermined by a personal profile.

34. The system of claim 28, wherein the means for receiving receives the set of indexing information during a vertical blanking interval (VBI) associated with the broadcast information.

35. The apparatus of claim 24, wherein the broadcast information also includes audio data.
 Description Submit all comments and votes
 


BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention pertains to computer systems and receiving broadcast information. More particularly, this invention relates to caching video and audio information and providing the cached information to end users in an indexed manner.

2. Background

Video and audio broadcasts currently have a wide and varied audience. Such broadcasts encompass a wide spectrum of information, including news broadcasts, weather reports, soap operas, etc. This broadcast information is typically made available to individual end users at a particular time, and users simply choose whether they will watch the broadcast at that time. Alternatively, an individual user may have a video cassette recorder (VCR) which enables the user to record the broadcast in an analog format and play it back at a later time.

One disadvantage to current video and audio broadcasts is that the end users are limited to either watching the information as it is received, or viewing it as recorded on a VCR. These methods force the end users to consume the information sequentially in the order it is received. For example, during a news broadcast, important headlines may be broadcast first and a weather report may be broadcast sometime later. Therefore, in order to watch the weather report, it is necessary for the end user to sit through the intervening news. Thus, it would be beneficial to provide a system which allows individual users to watch only those portions of the broadcast which are of interest to them without requiring them to watch the entire broadcast. The present invention provides such a system.

In addition, the advancement of computer technology has resulted in computer systems being found on the desktops of a large number of individuals in the work force. These individuals are often interested in staying knowledgeable of current events, whether it be for personal or business reasons. These individuals, however, are particularly time-sensitive during the work day; that is, an individual at work typically cannot take a few half-hour breaks during the day to watch live news reports. Thus, it would be advantageous to provide a system which allows an end user to view up-to-date news reports of interest to him or her when it is convenient for him or her. The present invention provides such a system.

Additionally, storing audio and video information requires a substantial amount of storage space in a computer system. Therefore, it is difficult to store multiple news reports in a computer system until such a time as the user is able to search through them for the desired information. Furthermore, locating a desired portion of audio and/or video information may be very difficult, such as requiring sequentially scanning hours worth of a VCR videotape or other storage medium. Thus, it would be beneficial to provide a system which stores broadcast information in an efficient manner, keeping only that portion of the information which is most current. In addition, it would be beneficial to provide a system which allows an individual to quickly and easily access the stored information.

The present invention provides for these and other advantageous results.

SUMMARY OF THE INVENTION

A method and apparatus for providing broadcast information with indexing is described herein. A stream of broadcast information including multiple video and audio information segments is generated and transferred to a receiving device. Once receive, the segments are stored in a cache and indexing information associated with the segments is made available to end users of the apparatus. The end users are then able to select which segment(s) they would like to receive, and the selected segment(s) is transmitted to the requesting user(s).

In one embodiment, when a new segment is received, a determination is made as to whether it is a more recent version of another segment already stored by the apparatus. If it is a more recent version, then the older version is overwritten by the newer version.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements and in which:

FIG. 1 shows an overview of a broadcast information transmitting, receiving and distribution system according to one embodiment of the present invention;

FIG. 2 shows an example user-interface of the present invention;

FIG. 3 is a flowchart showing the steps followed in maintaining current story segments in one embodiment of the present invention;

FIG. 4 is a flowchart showing the steps followed in providing broadcast information to individual users in one embodiment of the present invention; and

FIG. 5 shows an overview of an example multiple-processor computer system which can be utilized in the present invention.

DETAILED DESCRIPTION

In the following detailed description numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be understood by those skilled in the art that the present invention may be practiced without these specific details. In other instances well known methods, procedures, components, and circuits have not been described in detail so as not to obscure the present invention.

Some portions of the detailed descriptions which follow are presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of steps leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like. It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussions, it is appreciated that throughout the present invention, discussions utilizing terms such as "processing" or "computing" or "calculating" or "determining" or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.

The present invention provides a system for individual users to access the most recent version of multiple versions of broadcast information in an indexed manner. Broadcast information refers to any type of audio data and/or video image data which can be transmitted from a source unit to a destination unit via any of a wide variety of communication media, such as a television program broadcast. The descriptions below discuss this broadcast information as news information, however it will be appreciated that the present invention is not limited to a specific type of information. Any type of broadcast information can be utilized by the present invention.

FIG. 1 shows an overview of a broadcast information transmitting, receiving and distribution system 100 according to one embodiment of the present invention. Broadcast information originates at broadcast source 105. Broadcast source 105 may be any of a wide variety of conventional signal broadcasting devices, such as a satellite dish, a radio or television transmitter, etc. Broadcast source 105 transmits the broadcast information over a transmission medium 107 to broadcast receiver 110. Transmission medium 107 represents any of a wide variety of conventional signal transmission media. For example, transmission medium 107 may be a cable, a fiber-optic cable, or may represent a nonphysical medium transmitting electromagnetic signals in the electromagnetic spectrum. Transmission medium 107 may also include any number of conventional routing or repeating devices, such as satellites or electromagnetic signal repeaters.

The broadcast information from broadcast source 105 includes both the video image and/or audio data being presented to the end users and various control, indexing and text information. The generation and transmission of video and audio information is well-known in the art and thus will not be discussed further.

Broadcast receiver 110 receives the broadcast information transmitted by broadcast source 105 and transfers it to capture device 115 and index data capture device 112. Broadcast receiver 110 may be any of a wide variety of conventional transmission receiving devices. Receiver 110 may be included as part of a video cassette recorder (VCR), a television set, a computer system, etc. The receipt of electromagnetic signals via a transmission medium is well-known to those skilled in the art and thus will not be discussed further.

When the broadcast information is a news broadcast, the video image and/or audio data can be divided into several subject areas referred to as program segments. Each of these programming segments then includes multiple story segments. In one embodiment of the present invention, the control information transmitted by broadcast source 105 includes indexing information for each of these multiple program and story segments. In one implementation, this indexing information includes, for each of the program segments, a subject matter heading and a set of subject matter keywords which describe key aspects of the program segment. For each of the story segments, the indexing information includes: a title, the program segment the story is associated with, and a set of subject matter keywords which describe key aspects of the story segment.

In one embodiment, this indexing information is transmitted by broadcast source 105 concurrently with the video and/or audio news broadcast. The indexing information for the story segments can be generated in a wide variety of manners. In one implementation, the control information is generated by an individual at the broadcast source 105. The indexing information is generated prior to transmission of the broadcast, such as by entering text into a computer system. The indexing information is then inserted into the broadcast stream when the individual indicates to do so, such as by entering the proper command to the computer system.

Alternatively, the indexing information may be generated and input into the broadcast stream automatically by the broadcast source 105. For example, news broadcasts typically use a TelePrompTer which displays the text to be read by the newscaster. This TelePrompTer can be a computer system with the text to be read by the newscaster being input to the computer system prior to broadcasting the news report. This text input into the TelePrompTer computer system includes subject matter information which can serve as the indexing information. When this subject matter information is input into the TelePrompTer, an indication is made that this text is indexing information which should be transmitted along with the video and audio broadcast. Thus, whenever subject matter information is displayed on the TelePrompTer for the newscaster to read, the indexing information is also broadcast over the transmission medium 107.

Additional methods may also be utilized to obtain the indexing information. For example, the indexing information may be generated by scanning closed caption information. Alternatively, the indexing information may be generated on the receiving end by scanning the received audio data utilizing a speech recognition process, or by scanning the received video data utilizing an image recognition process.

Broadcast receiver 110 transfers the received broadcast information to index data capture device 112. Index data capture device 112 obtains the indexing information from the broadcast information and discards the remaining broadcast information. Index data capture device 112 includes the necessary hardware and software to obtain-the indexing information from the broadcast information, based on the method used by broadcast source 105 to transmit the indexing information. The indexing information is then transferred to cache manager 125, along with the remainder of the broadcast information from capture device 115.

In one embodiment of the present invention, the control information, including the indexing information, is transmitted by broadcast source 105 during a vertical blanking interval (VBI). The VBI refers to the time required by the electron gun in a conventional television set (or similar video display) to reset itself to the top of the television screen from the bottom of the screen. That is, conventional video displays generate their display by using an electron gun(s) to illuminate each line on the television screen. The electron gun illuminates a single line at a time and typically starts at the top of the screen, illuminates every other line as it travels down the screen, then resets itself to the top of the screen once it reaches the bottom. During this reset from the bottom of the screen to the top of the screen, no lines of the screen are being illuminated. This period of reset is referred to as the VBI.

Typically, the VBI is equivalent to twenty-one "lines" of the display. That is, the time it takes for the electron gun to reset itself to the top of the screen from the bottom of the screen is equivalent to the amount of time it would take the electron gun to illuminate twenty-one lines on the screen. During the VBI, no video data is transmitted by a broadcasting device because the electron gun is not illuminating lines at that time. Thus, control information can be transmitted during the VBI rather than video and/or audio data without disrupting the video and/or audio transmission. The VBI is twenty-one lines under National Television Standards Committee (NTSC) and twenty-five lines under Phase Alternate Line (PAL) broadcast standards currently utilized in most North American and European countries, respectively.

Of the twenty-one lines of the VBI under NTSC, the first ten are typically used by television broadcasters for control information necessary for displaying the audio and video data. This control information includes, for example, video synchronization, luminance, and chrominance signals. In addition, some broadcasters utilize VBI line twenty-one for broadcasting the text for closed captioning for the hearing impaired. Thus, up to eleven lines of the VBI are available for transmitting the control information of the present invention. Each one of these eleven lines is capable of transferring 17,280 bits per second (bps) without error correction, or 9600 bps with forward error correction, using current VBI encoding techniques.

In one implementation of the present invention, the indexing information associated with the broadcast information is transferred over line fourteen of the VBI. It will be appreciated, however, that the indexing information can be transferred over any one or several of the available VBI lines. For example, expansion boards and devices for computer systems are commercially available which can be coupled to a conventional computer system and tuned to a particular one or several of the VBI lines, thereby allowing the computer system to receive information from the VBI.

Thus, the present invention makes use of available bandwidth (that is, the available VBI lines) in an already-existing network (that is, electromagnetic spectrum and cable transmitters and receivers). Therefore, transmitting the indexing information for the present invention does not require additional physical networks (such as cables) or additional bandwidth on already existing networks.

In an alternate embodiment of the present invention, indexing information is generated at the receiving end based on the time rather than being inserted at the transmission end. In this embodiment, index data capture device 112 and cache manager 125, discussed in more detail below, "know" the topic of a particular segment being broadcast based on the time it is broadcast. For example, a repeating news transmission may transmit sporting news for five minutes every half-hour starting at ten minutes past the half-hour. Thus, index data capture device 112 and cache manager 125 "know" that all video and audio data received during that five-minute span is sports related. Thus, a subject-matter index can be generated and provided to the individual end users without transmitting any additional indexing information.

In one implementation of this alternate embodiment, further indexing is available via the closed caption information received. That is, specific story subject headings within the subject matter heading can be generated by scanning the closed caption information. For example, the closed caption information could be scanned for all names of professional sports teams, with each of these team names being presented to the end users as a story subject heading.

Index data capture device 112 receives the broadcast information from broadcast receiver 110 and obtains the indexing information from the broadcast information. It will be appreciated that although index data capture device 112 and capture device 115 are shown as separate units in FIG. 1, both units may be part of the same physical device. The method utilized by index data capture device 112 to obtain the indexing information is dependent on the method utilized by broadcast source 105 to transmit the indexing information. For example, index data capture device 112 may receive the indexing information from one of the VBI lines, or alternatively, may utilize a video or speech recognition process or other communications link to examine the broadcast information and obtain the indexing information. Thus, for certain video and speech recognition processes, index data capture device 112 converts the broadcast information to digital form prior to performing the recognition. Upon obtaining the indexing information, index data capture device 112 transfers the indexing information to cache manager 125 and deletes the remainder of the received broadcast information.

Capture device 115 receives the broadcast information from broadcast receiver 110. It will be appreciated that although capture device 115 and broadcast receiver 110 are shown as separate units in FIG. 1, both units may be part of the same physical device. Capture device 115 operates in a conventional manner to convert video and audio data received in analog form into a digital form which can be displayed on a display device of a computer system. Broadcasts received in digital form require no such conversion. In one embodiment, capture device 115 also compresses the digital form of the video and audio data for storage. In one implementation, capture device 115 utilizes Indeo.TM. IRV (ISDN Rate Video) compression, available from Intel.RTM. Corporation of Santa Clara, Calif., the corporate assignee of the present invention. Utilizing Indeo.TM. IRV allows video and audio data to be stored in approximately 40-60 MB (megabytes) of storage space per thirty minutes of information. In addition, Indeo.TM. IRV provides a fifteen frames per second playback rate with a transfer rate of 300 kbps. However, any of a wide variety of compression techniques may be utilized, such as Indeo.TM. HQV, MPEG, JPEG, etc. It will be appreciated that the higher the bandwidth of network 135, the higher the image resolution and/or frame rate which can be made available to the end users. In one embodiment, broadcast receiver 110 and capture device 115 operate to continuously receive and capture broadcast information.

After compressing the video and audio data, capture device 115 transfers the compressed digital information to cache manager 125 via network 120. In one implementation, network 120 is a conventional 10 Mbps Ethernet network used solely by capture device 115 to transfer the compressed digital information to cache manager 125. In the embodiment shown, a single cache manager 125 is coupled to network 120. Alternatively, additional cache managers 125 may also be coupled to network 120, each of which receives the compressed data transmitted by capture device 115. Providing multiple cache managers 125 allows the capture device 115 to transfer the compressed data to cache managers 125 serving multiple local area networks (LANs).

In one implementation of the present invention, capture device 115 operates in a pipelined manner to continuously process the received broadcast information. That is, as soon as a block of data is received it is converted to digital form (if necessary), compressed, and transferred to cache manager 125. This block of data could be, for example, a single frame of a sequence of frames or a display line. The end of a story segment can be determined by receiving an end-of-segment signal from the broadcast source 105, by the receipt of new segment indexing information, by video and/or audio indications such as sudden volume changes, pauses, or by scene changes. Alternatively, capture device 115 may operate on a segment-by-segment basis to compress and transfer information. That is, information received as part of a segment from broadcast receiver 110 is stored temporarily in capture device 115 until the entire segment is received. Once the entire segment is received, the segment is converted (if necessary), compressed, and transferred to cache manager 125.

Cache manager 125 stores the compressed information received from capture device 115 in cache 130. In one implementation, cache 130 is a conventional high-speed magnetic disk drive having one gigabyte of storage space and being capable of storing at least two hours of compressed video and audio data. However, it will be appreciated that any of a wide variety of conventional mass storage devices can be utilized as cache 130. Alternatively, cache 130 may be an analog storage medium, such as a videocassette, rather than a digital storage medium. If cache 130 is an analog storage medium, then capture device 115 does not convert received analog signals to a digital form (however received digital signals may be converted to an analog form by capture device 115).

Cache manager 125 is also coupled to cache index 128 where cache manager 125 stores the indexing information, such as titles and keywords, for each program and story segment of the video and audio data stored in cache 130. Cache index 128 may be a volatile memory device, such as a random access memory, or may be a nonvolatile storage device such as a magnetic disk drive. It will be appreciated that although cache manager 125, cache index 128, and cache 130 are shown as separate units in FIG. 1, each of these units may be part of a single physical device, such as a computer system file server. In one implementation, index data capture device 112, capture device 115, cache manager 125, cache index 128, and cache 130 are part of the same computer system file server.

In one embodiment of the present invention, when a block of video and audio data is received, such as a single frame of a sequence of frames, the time of receipt is associated with the block by capture device 115. Similarly, index data capture device 112 associates the time it receives the indexing information with the indexing information itself. Thus, when the indexing information and the block of video and audio data is transferred to cache manager 125, cache manager 125 is able to correlate the indexing information with the blocks of video and audio data via the time stamps of each. Cache manager 125 continues to associate the received indexing information with subsequent blocks of video and audio data until new indexing information is received. Once a new segment of indexing information is received, an indicator of each block of video and audio data stored in cache 130 is stored with the indexing information in cache index 128, and subsequent blocks of video and audio data are associated with the new indexing information.

In addition, cache manager 125 keeps an indicator of which of the versions of a particular program or story segment is the most recent, the next most recent, etc. This indicator may be stored in cache index 128, or alternatively, in a separate local storage device of cache manager 125 (such as a random access memory). In one implementation, this indicator is updated as soon as a new version of the segment is received and stored in cache 130. Thus, when an individual end user requests a particular segment stored in cache 130, such as by the title or keywords, cache manager 125 is able to quickly retrieve the most recent version of the requested information and return it to the user.

In one embodiment of the present invention, cache manager 125 updates the indicator of a new version each time a new program segment and associated story segments are retrieved. Alternatively, cache manager 125 may update the indicator of a new version each time a new story segment is retrieved.

In one embodiment of the present invention, cache manager 125 also maintains a list of which program segments in cache 130 are currently being viewed (and/or listened to) by individual end users and a user identifier of the client system 140 which the program segment is being transferred to. Thus, cache manager 125 knows which versions of program segments are being accessed at any given time. When a user requests a particular program segment or a story segment within a particular program segment, discussed in more detail below, the cache manager 125 stores a user identifier, a program segment identifier for that particular segment, and the starting time of the access.

In one embodiment, the broadcast information transmitted by broadcast source 105 is a repeating news broadcast. For example, the broadcast information may be Turner Broadcasting's CNN Headline news, which repeats four program segments every thirty minutes (e.g., Headlines, Dollars and Sense, Lifestyles, and Sports). Due to the repeating nature of such news broadcasts, it is not necessary for cache 130 to store the entire day's broadcasts. Thus, cache manager 125 removes the video and audio data stored in cache 130 for broadcasts earlier in the day.

Cache manager 125 determines which earlier broadcasts should be removed by establishing a predetermined number of broadcasts which will be kept in cache 130. In one implementation, this predetermined number of broadcasts is three (for example, the most recent ninety minutes of CNN Headline news). By storing multiple broadcasts, cache manager 125 is able to update cache 130 with the newest version of a program segment while end users are viewing older versions of the segment. For example, end user A may start watching a story segment. Before end user A completes viewing the segment, the most recent version of that segment is received by cache manager 125 from capture device 115. Thus, cache manager 125 allows end user A to finish watching the older version of the segment while storing the newer version in cache 130. Once storage of the most recent version in cache 130 is complete, subsequent end users B, C, etc. requesting that segment will be given the newer version. In one implementation, cache manager 125 overwrites one version of a program segment currently stored in cache 130 with the most recent version of that segment.

Note that previous program segments can be deleted in a wide variety of manners. In one implementation, cache manager 125 removes an indicator of the program segment from a list of indicators of segment versions associated with a particular title. Alternatively, the new version may actually overwrite the locations in the cache 130 where the older segment was stored. It should be noted that although the above description describes replacing segments in cache 130 on a program segment basis, cache manager 125 may, alternatively, replace segments in cache 130 on a story segment basis. That is, cache manager 125 operates as described above, except that cache manager 125 replaces new versions of story segments as they are received rather than waiting for the receipt of an entire program segment.

In one embodiment of the present invention, once cache manager 125 receives a request for a story or program segment from a user of client system 140, the most recent version of that segment is "reserved" for that user. That is, the most recent version of that segment at the time cache manager 125 receives the request is recorded in cache manager 125 as being viewed by this user. Thus, if the user requests five different segments, each of those five segments is reserved at the time the request is received. Alternatively, cache manager 125 may temporarily store the request for five segments, and reserve the most recent version of a requested segment only when transfer of that segment to the client system 140 actually begins.

It should be noted that certain situations could arise where all of the prior newscasts are being viewed by individuals when a new version is ready to be stored in cache 130. In one embodiment, cache manager 125 resolves this situation by automatically terminating delivery of the oldest version to any individuals viewing the oldest version. The oldest version is then overwritten by the new version, and cache manager 125 restarts transmission of the new version to the previously terminated users. Alternatively, cache manager 125 may drop the newly received segment and not store it in cache 130. Or, cache manager 125 may store the most recent version in cache 130; then, once no end users are viewing one of the older versions, that version not being viewed is deleted from cache 130.

In one embodiment, cache manager 125 continuously monitors the activity of individuals requesting information. If an individual user remains inactive for a predetermined period of time (in one implementation, ten minutes), then cache manager 125 terminates transmission of that version of the segment to that user. Cache manager 125 then provides the newest version of that segment to that user. A user may be inactive, for example, by starting to view a story segment, then pausing receipt of the story. Thus, all versions of a story segment will generally not be in use (that is, viewed) by users at any given time.

Cache manager 125 is coupled to multiple client computer systems 140 via network 135. In one embodiment, network 135 is a LAN. In one implementation, network 135 is a conventional 10 Mbps Ethernet network. When an individual user of a client system 140 desires to view the news stored in cache 130, the client system 140 transmits a request to cache manager 125. Cache manager 125 returns a listing of the story segments from cache index 128 about stories available from cache 130. Based on this listing of segments, the individual user selects those that he or she wishes to view. This may be done on a segment-by-segment basis, or may be all the story segments within a particular subject area. Client system 140 then transmits this selection to cache manager 125, which retrieves the selected segments from cache 130 and transfers the selected segments to the client system 140 via network 135. Client system 140 then decompresses the selected segments and displays them to the individual user.

In one embodiment, cache manager 125 supports periodic transmissions from cache index 128 to the client systems 140. That is, each user of a client system 140 can choose certain subject areas to be received periodically. For example, users may request that news headline titles be received every two hours. In this situation, cache manager 125 transmits the most recent headline titles contained in cache index 128 over network 135 every two hours, targeting those client systems 140 which requested the information.

It should be noted that although FIG. 1 is described in terms of multiple computer systems coupled together via one or more networks, the present invention is not limited to such a system. For example, the broadcast receiver 110, index data capture device 112, capture device 115, cache manager 125, cache index 128, and cache 130 may be included within a single physical unit. This single unit could be, for example, a set-top box coupled to a single television set in an individual user's home. The television is analogous to a client system 140, and could include a graphical user interface (GUI) or alphanumeric input device for inputting requests for story segments. Thus, broadcast information would be continuously received by the set-top box, and the most recent information would be made available to the individual user at his or her request.

The user of a client system 140 may also search for particular news titles. For example, the user may enter subject matter search terms, such as a professional sports team name, to client system 140. In one embodiment, the client system 140 transfers a request to cache manager 125 for titles of all story segments which match the search criteria. The cache manager 125 searches in a conventional manner through the title information in cache index 128, or alternatively through the keyword information, associated with the most recent story segment versions stored in cache 130. The segments for any matches are then transferred to client system 140. In an alternate embodiment, cache manager 125 transfers all of the titles and the keyword descriptions to client system 140 and client system 140 attempts to match the search criteria to the titles and/or keywords. If any matches are found, then client system 140 sends a request to cache manager 125 for the matched titles.

In one embodiment, cache manager 125 makes the titles of only the most recent story segments available to the users of client systems 140. Thus, once a new program segment is received by cache manager 125 and stored in cache 130, only story segments of the new program segment are available for subsequent requests for those titles within the new program (requests for a title which are received by cache manager 125 prior to receipt of the new program segment are given the most recent segment at the time the request is received). Note that in this embodiment, a story segment could be an hour old even if the broadcast repeats itself every thirty minutes. This situation occurs, for example, when broadcast source 105 stops broadcasting a particular story segment. In one implementation, cache manager 125 keeps the story segment available to the client systems 140 for so long as the remaining segments which were broadcast in the same thirty-minute span as that story segment are available. For example, if three versions of the thirty-minute broadcast are kept in cache 130, then once the title has been available for ninety minutes, cache manager 125 deletes it (assuming no user is currently viewing the segment).

In an alternate embodiment, cache manager 125 provides the titles of all the story segments stored in cache index 128 and cache 130 to the users of the client systems 140. Thus, in this alternate embodiment an individual user is able to view the most recent available version of a segment, the next most recent version of the segment, or the oldest version of the segment, depending on how many versions are stored in cache index 128 and cache 130.

FIG. 2 shows an example user-interface of the present invention. Interface 200 is displayed to the individual user by client system 140 of FIG. 1. Interface 200 may be, for example, a display device coupled to the client system 140, or a television set coupled to a set-top box.

Interface 200 includes an information display area 205, an index display 210, a storage interface 230, and a personalized newscast