US20110255838A1 - Systems and methods for storing a plurality of video streams on re-writable random-access media and time- and channel-based retrieval thereof - Google Patents
Systems and methods for storing a plurality of video streams on re-writable random-access media and time- and channel-based retrieval thereof Download PDFInfo
- Publication number
- US20110255838A1 US20110255838A1 US13/084,373 US201113084373A US2011255838A1 US 20110255838 A1 US20110255838 A1 US 20110255838A1 US 201113084373 A US201113084373 A US 201113084373A US 2011255838 A1 US2011255838 A1 US 2011255838A1
- Authority
- US
- United States
- Prior art keywords
- channel
- program
- time
- storing
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/765—Interface circuits between an apparatus for recording and another apparatus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/765—Interface circuits between an apparatus for recording and another apparatus
- H04N5/775—Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television receiver
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/78—Television signal recording using magnetic recording
- H04N5/781—Television signal recording using magnetic recording on disks or drums
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/80—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N9/804—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
- H04N9/8042—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
Definitions
- the present invention is directed, in general, to video storage and playback and, more specifically, to systems and methods for storing a plurality of video streams on re-writable random-access media and time- and channel-based retrieval thereof.
- VCRs Video cassette recorders
- the recording medium used in these devices is magnetic tape and is therefore inherently sequential and slow in access.
- the VCR although extremely successful as a consumer device, has limited flexibility when the number of television channels increases. Also, the consumer has to remember to program the VCR to record the event.
- Commercially-available VCR+® technology has somewhat facilitated the process, but still requires tape management, scheduling and remembering when and what to program.
- One frequently employed method of viewing television involves rapidly browsing (“surfing”) television channels to search for a program of interest, to watch several programs at once, or to skip ubiquitous commercials.
- Surfing has become even more popular given the advent of cable and satellite television, wherein many dozens of channels are available for viewing at any given time.
- surfing must be done in real time and as time progresses.
- a user can watch one channel and record another channel on a VCR, but the user cannot watch a recorded program and simultaneously record another (unless the user is endowed with multiple VCRs).
- One of the principle restrictions is that the user cannot go back in time on an arbitrary channel without making a conscious effort to record the channel in advance.
- a user should be able to walk up to his television set and be able to view, on demand and without delay, everything that he missed during some previous period of time (for instance one day), regardless of channel. Therefore, what is needed in the art is a fundamental increase in the flexibility afforded a user in viewing programs aired over multiple channels. Moreover, what is needed in the art is a way of harnessing the power of digital computers to give the user more power in determining what he wants to watch.
- the present invention provides a digital video recorder (DVR) and a method of operating the same.
- the DVR includes: (1) a mass data storage unit that concurrently and continuously receives and digitally stores a plurality of channels and (2) a channel viewer, coupled to the mass data storage unit, that retrieves a portion of one of the plurality of channels from the mass data storage unit based on a received command and presents the portion on a video display device.
- the present invention therefore introduces the broad concept of capturing multiple channels concurrently to allow a user to choose what to view both temporally and spatially (if a channel is thought of as a spatial dimension).
- the digital video recorder of the present invention remedies the shortcomings of traditional video recording methods.
- the DVR does this by combining an essentially limitless (only limited by the cost of the equipment) capability concurrently to record a number of channels on a random-access medium while being able concurrently to play back any of these channels for viewing.
- Continuous is defined, for purposes of the present invention, as without interruption over at least a finite period of time.
- recording of commercial television “continuously” may connote indiscriminate inclusion of commercials, station identifications and the like. However, it should be understood that “continuously” does not preclude interruption.
- a user may turn the DVR on or off or pause one or more channels.
- dead air time, commercials, credits or the like may not be recorded.
- the decision of what, or what not, to record is the user's.
- a “channel” is defined, for purposes of the present invention, as a stream of video data (and any accompanying audio data). Channels typically correspond one-for-one with satellite, cable television or digital broadcast television channels.
- the digital video recorder records the plurality of channels as a matter of course, and without being specifically prompted. This may be thought of as “automatic” recording.
- the DVR contains video data that covers a window of times (the length of which depends upon memory capacity) for each of the plurality of channels. The user therefore is relieved of the responsibility of starting and stopping recording, allowing the user to view any video recorded during the window of time.
- the mass data storage unit stores the plurality of channels on a first-in-first-out basis.
- the newest video data can overwrite the oldest.
- other criteria may govern overwriting.
- the window of time may vary depending upon the channel being recorded. The user may identify more important channels for which the window is shortened.
- the mass data storage unit stores the plurality of channels in separate files based on channel and timeslot identification.
- the data storage unit stores the plurality of channels in a combined channel file.
- specific formats for separate and combined channel files are presented. Those skilled in the art will recognize, however, that the broad scope of the present invention is in no way limited to a particular file-naming or data-structuring scheme for channel files.
- the mass data storage unit stores the plurality of channels together with time information to allow the plurality of channels to be synchronized with respect to one another.
- the time information can synchronize corresponding portions of the plurality of channels that the DVR recorded concurrently. This allows a user to surf synchronized, prerecorded channels in a way that imitates the real-time channel surfing that the prior art constrains the user to do.
- the channel viewer comprises a channel guide database containing pointers to locations in the mass data storage unit.
- the locations may correspond to starting points for individual programs.
- the channel guide database allows individual programs to be selected efficiently.
- the present invention does not require a channel guide database.
- the channel viewer displays a channel guide on the video display device.
- the channel guide may provide information regarding a content of the plurality of channels.
- the channel guide contains links to locations in the mass data storage unit.
- the links may be hypertext links, wherein a user can initiate retrieval and presentation of a particular portion of a selected channel simply by clicking on a particular location in the channel guide.
- the DVR further includes a pointing device, cooperable with the channel viewer that allows a user to issue the command.
- the pointing device which may be a conventional mouse, allows a user to “navigate” the video display device in an intuitive manner.
- the present invention is in no way limited to a particular type of input device.
- the channel viewer presents the portion nonlinearly. Sections of the portion may therefore be skipped, repeated, reversed, randomized or presented at a rate that differs from real-time. In an embodiment to be illustrated and described, commercials or other tedious content may be skipped to advantage. This gives rise to viewing concepts, such as “catch-up viewing” as described hereinafter.
- the mass data storage unit receives, digitally compresses and digitally stores the plurality of channels.
- the present invention does not require compression and is not limited to a particular type of compression.
- the mass data storage unit is a redundant array of independent disks (RAID).
- RAID redundant array of independent disks
- the DVR further includes an archive storage unit, coupled to the channel viewer that stores the portion selected for archiving.
- the archive storage unit may be a conventional, analog video tape recorder, digital video tape recorder, video disk recorder or other disk (such as commercially available Syquest® and Jazz® disks). In a manner to be set forth below in greater detail, archiving allows the portion to escape overwriting.
- the DVR further includes a channel selector, coupled to the mass data storage unit that allows a user to identify the plurality of channels.
- the DVR may record all available channels indiscriminately. Selection of channels may be time-based (including, for example, more sports channels over the weekend). The present invention is not limited to a particular manner in which channels are selected for recording.
- the mass data storage unit comprises a separate disk volume for each of the plurality of channels.
- the mass storage unit comprises a separate physical disk for each of the plurality of channels.
- the plurality of channels are formatted in a selected one of: (1) NTSC analog TV; (2) PAL/SECAM analog TV; (3) digital TV; (4) analog HDTV; and (5) digital HDTV.
- NTSC analog TV NTSC analog TV
- PAL/SECAM analog TV PAL/SECAM analog TV
- digital TV digital TV
- (4) analog HDTV (4) analog HDTV
- digital HDTV digital HDTV
- the DVR selectively moves by one commercial time unit (CTU) within the one of the plurality of channels in response to the received command.
- CTU commercial time unit
- the DVR can move forward or backward.
- the received command is employable to achieve catch-up viewing.
- a user can command the DVR to skip commercials until the time of the portion being viewed merges with real time, at which point the user has “caught up” with the program being viewed.
- FIG. 1 illustrates a block diagram of an exemplary digital video recorder (DVR) constructed according to the principles of the present invention in which set-top box cards provide an interface between channel sources and a computer system;
- DVR digital video recorder
- FIG. 2 illustrates a block diagram of another exemplary DVR constructed according to the principles of the present invention wherein set-top boxes provide an interface to an IEEE 1394 Firewire Bus;
- FIG. 3 illustrates a block diagram of exemplary circular FIFO buffers in memory for each recorded channel
- FIG. 4 illustrates a block diagram of a portion of an exemplary circular FIFO buffer illustrated in FIG. 3 ;
- FIG. 5 illustrates a block diagram of exemplary data and directory structure for a single channel file
- FIG. 6 illustrates a block diagram of an exemplary data and directory structure for a combined channel file
- FIG. 7 illustrates a block diagram of an exemplary data structure for an address translation file (ATF);
- FIG. 8 illustrates a block diagram of exemplary data structures for table of contents retrievals
- FIG. 9 illustrates a block diagram of an exemplary method for time block program selection in real time
- FIG. 10 illustrates a block diagram of an exemplary method for time block program selection and time surfing
- FIG. 11 illustrates a highly schematic diagram showing the related concepts of commercial time units and commercial breaks
- FIG. 12 illustrates a highly schematic diagram showing the concept of catch-up viewing
- FIG. 13 illustrates a plan view of exemplary “skip commercials” control button cluster
- FIG. 14 illustrates a plan view of an exemplary channel and time surf button cluster.
- the support of both channel and time surfing requires (at least) the temporal storage of more than one video channel (e.g., television or cable channels). If all channels available to the user in question are recorded for an unlimited amount of time, then it is, in principle, possible to support channel surfing at any moment later than the start of the recording process. In practice, a limited number of channels (e.g., the user's favorites) recorded over a limited amount of time (e.g., 24 hours) should support most users' channel and time surfing needs. As will be described in greater detail below, the requirements for such a system also enable “catch-up viewing” (joining a certain program in mid-broadcast and then, through skipping of commercials, catching-up with the real-time broadcast). In other words, time and channel surfing and catch-up viewing now become possible.
- video channel e.g., television or cable channels
- Channel surfing can be described as follows: a user, using the currently available technology in televisions and cable converters (“boxes”) can, in rapid succession (but only in real-time, as time progresses) switch from one channel to another by either entering a channel number or hitting a channel “up” (or “down”) button.
- the user has no access to the time variable. The only way for him to watch something that was broadcast prior to the current time is to use a VCR and view the recorded program.
- Time surfing is similar to channel surfing, except that the user hops from one time (e.g., 6 p.m. yesterday) to another (e.g., 5 p.m. today) using a devise similar to the channel changer.
- the previous (lower) times are equivalent to the higher channel numbers.
- the user can freely time surf in either time direction.
- the only time-boundaries are that one cannot surf past now into the future (on higher time side), and the current time minus the total recorded time (on the lower time side). Both of these boundaries move with time, as will be described in greater detail below.
- the present invention provides for all channels, or some subset thereof, to be concurrently recorded, at all times, onto a random-access medium.
- the recording is done on a computer disk connected to the traditional bus of a personal computer (PC).
- PC personal computer
- Other implementations can look at propriety bus, central processing unit and input card technologies to implement the functionality.
- the oldest recorded video is overwritten on a first-in-first-out (FIFO) basis.
- FIFO first-in-first-out
- all channels is defined as the number of video sources available and of interest to a given user.
- one of the illustrated embodiments uses a digital recording technique of the compressed digital video signals. Converting the classic video (or television) signals to compressed digital data streams can be accomplished in a variety of ways. A growing number of cable and satellite television companies are providing their television signals in compressed digital format, usually MPEG II. Proprietary schemes based on technologies such as Wavelets or other compression techniques can be envisioned. In the near future, broadcast television stations are expected to begin broadcasting digital signals and compressed digital signals.
- Direct broadcast satellite television uses a dish that receives the satellite transmission, the output of the dish is fed into a device called a set-top box.
- the set-top box translates the satellite signal to a signal usable by a television.
- the embodiment illustrated and described herein accordingly contains a sub-function called a “set-top box.”
- the set-top box function can process a signal as follows: (1) radio frequency (RF) tuning (to select a channel or group of channels); (2) down conversion and phase splitter; (3) analog to digital (A/D) conversion; and (4) quadratic phase shift keying (QPSK) with forward error correction (FEC), to produce the compressed digital signal.
- RF radio frequency
- A/D analog to digital
- FEC forward error correction
- the output can be an analog NTSC RF signal for one selected channel or a compressed digital signal for one selected channel.
- Analog television channels such as the one carried on cable television, use a subset of the set-top box functionality to filter the one channel being watched from the total signal.
- One way to record multiple channels concurrently is to duplicate the set-top box functionality a number of times equal to the number of channels to be recorded.
- FIG. 1 illustrated is a block diagram of an exemplary DVR, generally designated 100 , constructed according to the principles of the present invention in which set-top box cards provide an interface between channel sources and a computer system (not separately referenced).
- a central processing unit (CPU) 110 is coupled to dynamic random access memory (DRAM) 120 a (memory other than DRAM is within the scope of the present invention) and, via a bus 140 , to video signal generation circuitry 130 , typically provided in the form of a card, and to a mass storage unit 120 b, which may be embodied in the from of a single drive or a RAID.
- DRAM dynamic random access memory
- 150 n are coupled to the bus 140 , allowing data communication to take place between the set-top box cards 150 a, 150 b, 150 c . . . 150 n and the CPU 110 or directly between the set-top box cards 150 a, 150 b, 150 c . . . 150 n and the DRAM 120 a or the mass storage unit 120 b.
- Channel sources 160 a, 160 b, 160 c are coupled to inputs (not separately referenced) of the set-top box cards 150 a, 150 b, 150 c . . . 150 n via a channel source selector 170 .
- the channel selector 170 allows a user to select a particular channel source 160 a, 160 b, 160 c.
- an output (not separately referenced) of the video signal generation circuitry 130 is coupled to a video display device 180 , such as a video monitor or television set 180 .
- the plurality of set-top box cards 150 a, 150 b, 150 c . . . 150 n allow selection (tuning) of proper channels, perform any A/D conversion needed (such as performed in the current generation of set-top boxes) and provide the signal(s) in compressed digital format for storing on the DVR's recording media. For uncompressed channels, the card also performs compression.
- So-called generation III set-top boxes provide compressed digital video feed, as well as uncompressed NTSC (analog) output.
- the compressed digital video signal could be connected to the PC, via some type of standard input device, such as Firewire (IEEE 1394).
- FIG. 2 this embodiment is illustrated.
- a Firewire interface card 210 is coupled to the bus 140 .
- a Firewire bus 220 couples the Firewire interface card 210 to the plurality of set-top boxes 250 a, 250 b, 250 c . . . 250 n.
- each of the plurality of set-top boxes 250 a, 250 b, 250 c . . . 250 n is illustrated as being located external to the computer system (not separately referenced).
- Disk storage density has been increasing by 60% per year for the last several years and is, according to a report published by IBM in December 1997, expected to continue to increase by 60% per year for at least the next ten years. This increase in disk capacity would mean a drive holding 47 GB today would hold (47*109) or 5,123 GB in ten years.
- At the current compression rate of MPEG video 1 GB per hour of video, 5,123 GB would store approximately 5,123 hours of compressed video on one drive. This is equivalent to recording 213 channels for 24 hours on one drive.
- MPEG compression which can give compression yields in the 30-100 to 1 ratio, it takes about 1 billion bytes (1 gigabyte or GB) to store 1 hour of video.
- Other compression techniques such as wavelets, can compress at rates up to 300 to 1, but are generally not as effective as MPEG because the MPEG compression technology was specifically designed for television video signals.
- the DVR has the basic video recorder interface found on traditional VCRs well known to the users and people skilled in the art.
- these buttons are “play,” “stop,” “fast forward,” and “rewind.”
- DVR can “rewind” several hours of video instantly.
- the functionality described below needs to be interpreted as working in conjunction and/or partially or totally replacing these controls.
- buttons 1420 , 1440 to change the channel and “>” (forward) or “ ⁇ ” (backward) buttons 1430 , 1450 to move in time units.
- FIG. 14 also illustrates an “enter” or “go” button 1410 for concluding commands or answering queries.
- the time unit containing the current time is displayed as the leftmost matrix column (this is not essential, just logical).
- the program cursor is positioned into the leftmost column. Pressing the “go” or “enter” button switches the user to the channel on which the cursor is positioned, provided the current time is within the selected block.
- FIG. 9 illustrated is a block diagram of an exemplary method for time block program selection in real time.
- Separate channels 910 , 920 , 930 , 940 are each comprised of program blocks.
- channel 8 (the channel 910 ) is divided into program blocks 910 a, 910 b, 910 c, 910 d, 910 e.
- the first program block 910 a marked “Ellen (ABC),” is the first block the cursor can be positioned on for channel 8, given the current time of 7:14:32 p.m. “>” or “ ⁇ ” buttons 1430 , 1450 of the representative button cluster of FIG. 14 can be used to see what is going to be broadcast in the near future (usually 24 hours ahead of time) on every channel.
- the preferred embodiments of current invention extends the use of this paradigm significantly by allowing, among other things: (1) surfing back in time (on recorded channels); (2) catch-up viewing (including intelligent commercial skipping); (3) auto-generation of a table of contents of the recorded subset of the broadcast past; (4) using the block and channel browsing paradigm described above for recording instructions; (5) a new method for program selection based on computer recognized content of broadcast programs; and (6) a way to mark programs of interest for semi-permanent storage.
- the guide information is used by the system to allow backward scrolling through the program blocks introduced above. If channel 8 were marked for recording prior to 7:30:00 p.m., then the system would allow the cursor to be moved to the block marked Ellen (ABC), even when the current time is later than 7:30:00 p.m. This is illustrated in FIG. 10 .
- FIG. 10 illustrates a block diagram of an exemplary method for time block program selection in real time.
- Separate channels 910 , 920 , 930 , 940 are each comprised of program blocks.
- channel 8 (the channel 910 ) is divided into program blocks 910 a, 910 b, 910 c, 910 d, 910 e.
- the user can use the same search paradigm for recorded as well as regular real time programming.
- FIG. 12 illustrated is a highly schematic diagram showing the concept of catch-up viewing.
- This feature of the invention can be used when the user approaches the television at a point in time when the broadcasting of the program has already started, but not necessarily finished.
- the DVR is recording this channel.
- the user wants to start watching the program at time t 2 .
- the user time-surfs back using the method described below and indicates to the DVR that he wants to start watching the program.
- the DVR starts playback of program section 1 (PS 1 ), after completion of this, the user hits the “skip commercial” button which moves the DVR to the beginning of program section 2 (PS 2 ) and so on.
- This “catching-up” feature of the present invention can be used when the user approaches the television at a point in time when the broadcasting of the program has already started, but not necessarily finished.
- the DVR ( 100 of FIG. 1 ) is recoding the channel on which the program is broadcast. The user wants to start watching the program from the beginning. Therefore, the user time-surfs back using the method described above, and indicates to the DVR that he wants to start watching the program.
- the DVR starts playback of program section 1 (PS 1 ), after completion of this, the user hits the “skip commercial” button which moves the DVR to the beginning of program section 2 (PS 2 ) and so on. Since the DVR has no real way of determining when commercials start and stop, the present invention includes a method to efficiently use the information stored to give the user a rapid commercial skip function.
- CTU base television commercial time unit
- the multiplication factor is usually 8, giving a total of 2 minutes for one commercial break. With about 4 breaks in a half-hour prime time broadcast block, this computes to about 20 to 22 minutes of actual programming, consistent with observation.
- Some commercial spots last for one CTU, most for 2 CTUs, and some longer.
- FIG. 11 illustrated are commercial spots 1110 of lengths varying between 15 seconds (1 CTU) and one minute (4 CTUs).
- FIG. 11 also illustrates how a given commercial break 1120 lasting, for example, two minutes, may be broken up into commercial spots lasting varying numbers of CTUs.
- the present invention includes a method to take advantage of the recording techniques described later.
- the button cluster 1300 comprises a “skip commercial” button 1310 , a “CTU ⁇ ” (CTU back) button 1320 and a “CTU >” (CTU forward) button 1330 .
- the DVR then computes the new offset for viewing by multiplying the number of CTUs in a break (default is 8) and multiply that by the number of seconds in a CTU (default is 15), giving 120 seconds, and restart the viewing process. If the user notices (and cares) that the video he is viewing is either still inside the break or already too far into the actual programming, a few options are available.
- the user can now hit the “CTU ⁇ ” button 1320 to move the DVR back one CTU. If this results in the right spot, the user can continue watching the programming. If not, the user can (1) hit the DVR's “>” button ( 1430 of FIG. 14 ) to move forward one time unit (second) until the desired spot is reached or (2) hit the “CM ⁇ ” button 1320 again. This moves the DVR back the number of CTUs in a break minus one, putting the DVR at the initial time the user decided to skip, plus one CTU. Hitting the “CTU >” button 1330 again moves the DVR one CTU forward.
- the user can hit the “CTU >” button 1330 , moving the DVR one CTU forward. Fine-tuning can be done using the DVR's “>” (forward) and “ ⁇ ” (back) buttons for one-second movement back and forward.
- the CTU length and the default number of CTUs per commercial break are configurable by the user.
- the skip commercial, the “CTU >” and “CTU ⁇ ” buttons 1330 , 1320 become inoperable when time of viewing is equal to time of broadcasting.
- Recording instructions are communicated to the DVR using the same interface as for channel and time surfing.
- the default is that whenever a channel is selected for recording (by positioning the cursor on the channel line in FIG. 9 and hitting the record button) the DVR starts recording the channel for 24 hours. After that the DVR reuses the space for that channel, in other words, 24 hours of this channel are available for time surfing.
- a load indicator informs the user of the space used by this operation versus the total available (not used yet) space. The user has the option to release space by deselecting a channel for recording. This has the effect that the new channel starts overwriting the old (released) channel information when this operation is executed, and, after 24 hours the information for the new channel has completely replaced the old channel.
- the DVR as disclosed here also provides the capability to do content search by automatically cataloging the audio content digitally. This process can proceed as follows: (1) using the audio portion of the broadcast signal and feeding it into an optional speech recognition capability (well known to those familiar with computing devices), or using the already text translated closed-caption signal if available; and (2) the resulting text of the audio is then indexed into a full-text database. This database provides an index linking each (or a subset of) word to the channel file and time recorded.
- the user When the user then wants to search for certain content, the user is presented with a text search engine (similar to the now well established World Wide Web search engines). After entering the sought after words or phrase, the DVR then presents the user with a prioritized list of programming blocks (channel and time unit) from which the user can then pick what he or she wants to view.
- a text search engine similar to the now well established World Wide Web search engines.
- the DVR After entering the sought after words or phrase, the DVR then presents the user with a prioritized list of programming blocks (channel and time unit) from which the user can then pick what he or she wants to view.
- One approach to concurrently storing, on a computer disk, a plurality of channels is to store each channel in a separate file. This technique limits the number of channels that can be recorded concurrently, because the disk arm must be moved from the position of one file to the position of the next file to write the data for each channel. This round robin movement happens as follows: first seek the end of the first channel's file and write the rust channel's digital data, then seek the end of the next channel's file, write the next channel's digital data, and so on, until all channels are written. Depending on the speed with which this can be accomplished, and the amount of buffering that can economically be done, this may not be an acceptable implementation.
- the average seek time of today's disks is about 12 milliseconds and the average rotational latency about 6 milliseconds, for a total average seek time of roughly 18 milliseconds.
- Buffering the channels in main memory and writing each channel to disk in a round-robin fashion requires 10 MB per second.
- an index needs to be written. This could double the number of files and the disk seeks to 10 times a second.
- Modern operating systems such as Microsoft® WindowsTM 95 keep file allocation tables (FATs) to access files. With this number of files open concurrently, the operating system gains access to its FATs to accomplish the file updates, possibly doubling the disk seeks again to 20 per second.
- FATs file allocation tables
- RAID redundant arrays of independent disks
- FIG. 3 illustrated is a block diagram of exemplary circular FIFO buffers in memory (the DRAM 120 a of FIG. 1 ) for each recorded channel.
- the buffers designated 310 a, 310 b . . . 310 n contain portions of streams of video data corresponding to separate channels.
- the buffers 310 a, 310 b . . . 310 n may be divided into seconds, as shown.
- the compressed video data from each channel, produced by the set-top box card for that channel is first written (buffered) in main memory (DRAM 120 a ) buffers. Then, the data is read from the DRAM 120 a and written to the mass storage unit 120 b.
- One method to cache the data is to write one main memory circular FIFO buffer for each channel, using a linked list directory concept.
- FIG. 4 illustrated is a block diagram of the exemplary buffers 310 a, 310 b . . . 310 n illustrated in FIG. 3 .
- the buffers 310 a, 310 b . . . 310 n are shown as containing ending byte fields 410 a, 410 b . . . 410 n and corresponding compressed portions of a digital video data stream 411 a, 411 b . . . 411 n.
- FIFO Using a circular FIFO buffer means that some maximum size for each buffer has to be set, e.g., two megabytes.
- FIFO means that the data in the buffers is read in the sequence it is generated, i.e., the older data are read from the buffer and written to disk before newer data are read from the buffer and written to disk.
- Each channel has its own circular FIFO buffer. This is a technique well known to persons skilled in the art.
- the next step is to write the bytes for that time unit to a disk file.
- Each channel has its own disk file, which, for purposes of the present discussion, can be termed a “single channel file.”
- This 6 digit number is stored in the first 4 bytes of the file name by using a base 36 notation, using only 36 characters out of the standard 256 character ASCII set, specifically the uppercase letters “A” through “Z” and the numerals “0” to “9”. This method avoids conflicts with operating systems having restrictions in certain computer operating systems over the allowable characters in a file name (such as the period and lower case letters).
- Using the base 36 notation up to 1,679,615 days (36 to the 4 th power ⁇ 1) can be stored in the first four bytes of the file name instead of 9,999 days (10 to the 4 th power ⁇ 1) using just the digits 0-9.
- the rust file means the four bytes for the file sequence are 0001.
- the file extension is 009 for channel 9, yielding the file name ⁇ FN3E0001.009>
- FIG. 5 illustrated is a block diagram of an exemplary data and directory structure, generally designated 500 , for a single channel file.
- the directory structure 500 includes directory entries 510 a, 510 b . . . 510 n and corresponding compressed portions of a digital video data stream 511 a, 511 b . . . 511 n.
- One directory entry 510 a is expanded to show “next directory offset,” “second number,” “channel number,” “starting byte offset” and “ending byte offset” fields 520 , 521 , 522 , 523 , 524 .
- a directory entry (for example, the directory entry 510 a ) is written at the beginning of the block for that time unit.
- the directory contains the time unit sequence number (illustrated as having a maximum value of 86,400), the byte offset of the directory entry for the next time unit, and the offset for the first and last byte for the data written for that channel for that unit.
- the directory entry is used to allow rapid access to data for that channel.
- When replaying the channel one first reads the directory entry for the time unit of interest. This yields the first and last byte for that unit, then the data (video) bytes, then the directory for the next second, etc.
- the time unit sequence number is maintained in the directory so that, while viewing a particular channel and later surfing, one can know the current time unit to which to switch the new channel data.
- the present invention discloses a method which overcomes these limitations by writing all channels to one disk file, an approach that may be termed “disk file time division multiplexing.”
- DFTDM Disk File Time Division Multiplexing
- Retrieving the data from a recorded digital data stream where the number of bits/seconds of video is constant, such as for non-compressed data streams, non-compressed video can be done using the well known technique of hashing (address translation). This technique is used to seek to the proper byte offset in a disk file to retrieve the bytes recorded at a given time. For example, to find one second of video recorded 5 minutes (300 seconds) after the start of the recording, one would seek a byte offset equal to the time elapsed (300 seconds) multiplied by the video rate (e.g., 10 MB/sec). Reading the next 10 MB would give the next second of video recorded.
- hashing address translation
- Compressed digital data streams such as MPEG II however, do not use a fixed number of bytes to represent each second of viewing.
- One-half MB may be required to represent a second of fast moving video, such as a car chase, while only one tenth of that may be required to represent one second of a slow moving scene, such as the night sky. Therefore, direct hashing (key to address) cannot be used.
- variable data rate digital data such as MPEG II compressed video. It also provides synchronization of the data streams, to allow rapid switching from one channel at a given time to another channel at a different time. This feature is advantageous in supporting channel surfing in the past (recorded video).
- DFTDM Downlink Fidelity Downlink Stream
- FIFO buffer In DFTDM, instead of writing each channel to a separate file, all channels are written to the same file, called a “combined channel file.” As shown symbolically in FIG. 3 , the data stream for each channel is buffered in a FIFO buffer in main memory. In FIG. 3 , the depth of the buffer is 4 seconds worth of recording. As can be readily determined from the above discussion, the FIFO buffers are not of fixed length. This fact is illustrated in FIG. 5 detailing the structure of the buffers.
- FIG. 6 illustrated is a block diagram of an exemplary data and directory structure for a combined channel file.
- the directory structure contains directory entries 510 a, 510 b and corresponding compressed portions of a digital video data stream 610 a, 611 a, 610 b, 611 b.
- One directory entry 510 a is expanded to show “next directory offset,” “second number,” “first channel number,” “starting byte offset,” “ending byte offset,” “nth channel number,” “starting byte offset” and “ending byte offset,” fields 620 a, 620 b, 630 a, 630 b, 630 c, 640 a, 640 b, 640 c, 640 n, 640 o, 640 p.
- the combined channel disk file When the combined channel disk file reaches a pre-determined size, e.g., 4 GB, one starts writing to the next disk file. For example, assuming 1.0 GB per channel per hour for MPEG II compressed video, and assuming 10 channels are stored concurrently, then a 4 GB file would store 4/10 hour (24 minutes) of the 10 channels.
- a pre-determined size e.g. 4 GB
- a directory entry of channel offsets is written at the beginning of the block of bytes for every recorded time unit.
- the directory contains the sequence number of the time unit, the byte offset for the directory entry for the next time unit, and, for each channel, the offset for the first and last byte for the compressed data written for each channel for that time unit.
- the directory entry is used to allow rapid access to the bytes written for any particular channel.
- the DVR reads the directory entry for a particular time unit. The entry produces the first byte and last bytes (within that block of bytes), for that channel.
- the DVR then reads but discards the bytes read (skipping the first and last bytes for the time units for the channels not being displayed) until the first byte for that channel is reached.
- the DVT then reads the data (video) bytes, displaying the content to the user, at the end of the time unit's data, it reads the directory entry for the next time unit, etc.
- Channel surfing happens in real time.
- the user views each channel in real time, in other words as the signal is broadcast.
- the user would pick the programming on the new channel a second (or a fraction of a second) later, i.e., 16:43:46 on channel 15.
- the DVR reads from the combined channel file in a sequential manner.
- the DVR seeks to the proper channel-time offset in the combined channel file, and reads the directory entry to find the beginning and ending byte offset for channel 9 for that second, as well as the offset of the directory entry for the next second,
- the DVR then reads the block of bytes for channel 9 for that second and provides these bytes to the television for viewing (for compressed video, the output is first sent to the decompression device or software, e.g., the MPEG II decoder) and
- the DVR reads the directory entry for the next second, and provides the channel data for the next second.
- the naming convention for the combined channel file(s) is comprised of the 4-byte Julian date encoded in base 36, followed by a 4-byte sequence number also in base 36, with .COM as an extension.
- sequence number as part of the file name is used because of file size limitations imposed by different computer operating systems, and to allow for more than one disk to be used if so desired.
- Using the same base 36 notation described above allows up to 1,679,615 combined channel files on a given date, using just the 8-byte file name.
- FIG. 7 illustrated is a block diagram of an exemplary data structure for an address translation file (ATF).
- the ATF is illustrated as including byte offsets and sequence and inactive codes corresponding to first, second and nth channels ( 710 a, 710 b, 710 n ).
- ATFs are used to facilitate maintaining information about which channels were recorded when.
- the ATF contains a 13-byte entry for each time unit (second) in the day, 3600 seconds/hour multiplied by 24 hours or 86,400 13-byte entries, or 1,123,200 bytes.
- an entry is made into the ATF.
- the first eight bytes of the entry are the byte offset for the directory entry for that unit in the single channel file or combined channel file.
- the next 4 bytes of the entry are the sequence number of the single channel file or combined channel file.
- the last byte is an inactive code. This code indicates whether the record is inactive due to either (1) data was not written for that time unit (no channels have been recorded for that unit) or (2) the data for that unit (the channel file) has been deleted as part of the FIFO methodology to free disk space for current recording.
- each channel is written to a single channel file, there is one ATF per channel per day. If all channels are written to the same file (combined channel file) there is only one ATF for each day (as opposed to one ATF per channel per day).
- the ATF name is 7 bytes, in which the first 3 bytes are “ATF” and the last 4 bytes is the Julian date, in the base 36 notation described above.
- the extension part of the ATF is the channel number, if single channel files are being used, or “COM” if combined channel files are being used.
- the ATF name for that day would be ATFFN3E.COM. If each channel is being written to a separate file, one ATC exists for each channel for the day, e.g., ATFFN3E.009 and ATFFN3E.202 for channels 9 and 202, respectively.
- the AFT(s) can be maintained or cached in main memory. Also, the ATF(s) can be placed on a separate physical disk than the channel file, to minimize disk seeks.
- This invention is also designed to support channel surfing, in real time as well as from recorded video, as realistically as possible.
- channels are viewed as they are broadcast, when viewing channel 9 from 16:43:16 to 16:43:45, then surfing to channel 15, the time would be 16:43:46.
- the DVR reads from the combined channel file in a sequential manner. To play back what was on channel 9 during the initial period, the DVR does the following:
- FIG. 8 illustrated is a block diagram of exemplary data structures for table of contents retrievals.
- Three tables of content 810 , 820 , 830 are shown.
- Each table of contents 810 , 820 , 830 contains the same content data arranged into columns 810 a, 810 b, 810 c, 810 d, but the columns 810 a, 810 b, 810 c, 810 d are reordered and sorted according to the user's wishes to enhance usability.
- the date is given by the name of extant ATFs.
- the time is given by the ATF, which has one entry for each second of a day.
- the channels are given by the directory entries in the single channel file or combined channel file.
- the default value for the title is blank. However, if a downloaded channel guide is available, the title from the channel guide is used for the title, and the description from the channel guide is also made part of the table-of-contents record.
- the table of contents can be viewed sorted in channel order, title order, or date/time order. For each program recorded, the title is shown, followed by the date and time, followed by the channel number.
- the present invention provides a DVR and a method of operating the same.
- the DVR includes: (1) a mass data storage unit that concurrently and continuously receives and digitally stores a plurality of channels; and (2) a channel viewer, coupled to the mass data storage unit, that retrieves a portion of one of the plurality of channels from the mass data storage unit based on a received command and presents the portion on a video display device.
Abstract
Description
- This application is a continuation of U.S. patent application Ser. No. 09/062,022, filed on Apr. 17, 1998, now U.S. Pat. No. 6,788,882, issued Sep. 7, 2004, which application is hereby incorporated herein by reference.
- The present invention is directed, in general, to video storage and playback and, more specifically, to systems and methods for storing a plurality of video streams on re-writable random-access media and time- and channel-based retrieval thereof.
- Ever since the advent of television, the popular and useful programs and their air times have molded people's schedules. Examples such as the six o'clock news (during or after the family dinner) and prime-time shows are abundant. As viewer habits change and the choice of programming (channels) grows, people want to adapt television programming to their schedule, rather than the other way around.
- Video cassette recorders (VCRs) have enabled people to tape certain programs at the time they are aired and view them later. The recording medium used in these devices is magnetic tape and is therefore inherently sequential and slow in access. The VCR, although extremely successful as a consumer device, has limited flexibility when the number of television channels increases. Also, the consumer has to remember to program the VCR to record the event. Commercially-available VCR+® technology has somewhat facilitated the process, but still requires tape management, scheduling and remembering when and what to program.
- One frequently employed method of viewing television involves rapidly browsing (“surfing”) television channels to search for a program of interest, to watch several programs at once, or to skip ubiquitous commercials. Surfing has become even more popular given the advent of cable and satellite television, wherein many dozens of channels are available for viewing at any given time. On currently available single-screen systems, surfing must be done in real time and as time progresses. In other words, a user can watch one channel and record another channel on a VCR, but the user cannot watch a recorded program and simultaneously record another (unless the user is endowed with multiple VCRs). One of the principle restrictions is that the user cannot go back in time on an arbitrary channel without making a conscious effort to record the channel in advance.
- Ideally, a user should be able to walk up to his television set and be able to view, on demand and without delay, everything that he missed during some previous period of time (for instance one day), regardless of channel. Therefore, what is needed in the art is a fundamental increase in the flexibility afforded a user in viewing programs aired over multiple channels. Moreover, what is needed in the art is a way of harnessing the power of digital computers to give the user more power in determining what he wants to watch.
- To address the above-discussed deficiencies of the prior art, the present invention provides a digital video recorder (DVR) and a method of operating the same. In one embodiment, the DVR includes: (1) a mass data storage unit that concurrently and continuously receives and digitally stores a plurality of channels and (2) a channel viewer, coupled to the mass data storage unit, that retrieves a portion of one of the plurality of channels from the mass data storage unit based on a received command and presents the portion on a video display device.
- The present invention therefore introduces the broad concept of capturing multiple channels concurrently to allow a user to choose what to view both temporally and spatially (if a channel is thought of as a spatial dimension). The digital video recorder of the present invention remedies the shortcomings of traditional video recording methods. The DVR does this by combining an essentially limitless (only limited by the cost of the equipment) capability concurrently to record a number of channels on a random-access medium while being able concurrently to play back any of these channels for viewing.
- “Continuously” is defined, for purposes of the present invention, as without interruption over at least a finite period of time. With respect to recording of commercial television, “continuously” may connote indiscriminate inclusion of commercials, station identifications and the like. However, it should be understood that “continuously” does not preclude interruption. Certainly, a user may turn the DVR on or off or pause one or more channels. In some embodiments of the present invention, dead air time, commercials, credits or the like may not be recorded. In a more specific embodiment, the decision of what, or what not, to record is the user's.
- A “channel” is defined, for purposes of the present invention, as a stream of video data (and any accompanying audio data). Channels typically correspond one-for-one with satellite, cable television or digital broadcast television channels.
- In one embodiment of the present invention, the digital video recorder records the plurality of channels as a matter of course, and without being specifically prompted. This may be thought of as “automatic” recording. At any point in time, the DVR contains video data that covers a window of times (the length of which depends upon memory capacity) for each of the plurality of channels. The user therefore is relieved of the responsibility of starting and stopping recording, allowing the user to view any video recorded during the window of time.
- In a related embodiment, the mass data storage unit stores the plurality of channels on a first-in-first-out basis. As the window of time moves forward, the newest video data can overwrite the oldest. Of course, other criteria may govern overwriting. Further, the window of time may vary depending upon the channel being recorded. The user may identify more important channels for which the window is shortened.
- In one embodiment of the present invention, the mass data storage unit stores the plurality of channels in separate files based on channel and timeslot identification. In an alternative embodiment, the data storage unit stores the plurality of channels in a combined channel file. In an embodiment to be illustrated and described, specific formats for separate and combined channel files are presented. Those skilled in the art will recognize, however, that the broad scope of the present invention is in no way limited to a particular file-naming or data-structuring scheme for channel files.
- In one embodiment of the present invention, the mass data storage unit stores the plurality of channels together with time information to allow the plurality of channels to be synchronized with respect to one another. The time information can synchronize corresponding portions of the plurality of channels that the DVR recorded concurrently. This allows a user to surf synchronized, prerecorded channels in a way that imitates the real-time channel surfing that the prior art constrains the user to do.
- In one embodiment of the present invention, the channel viewer comprises a channel guide database containing pointers to locations in the mass data storage unit. The locations may correspond to starting points for individual programs. The channel guide database allows individual programs to be selected efficiently. However, the present invention does not require a channel guide database.
- In one embodiment of the present invention, the channel viewer displays a channel guide on the video display device. The channel guide may provide information regarding a content of the plurality of channels. In a more specific embodiment, the channel guide contains links to locations in the mass data storage unit. The links may be hypertext links, wherein a user can initiate retrieval and presentation of a particular portion of a selected channel simply by clicking on a particular location in the channel guide. Of course, those skilled in the art will readily perceive other ways of employing an electronic channel guide to advantage.
- In one embodiment of the present invention, the DVR further includes a pointing device, cooperable with the channel viewer that allows a user to issue the command. The pointing device, which may be a conventional mouse, allows a user to “navigate” the video display device in an intuitive manner. However, those skilled in the an will understand that the present invention is in no way limited to a particular type of input device.
- In one embodiment of the present invention, the channel viewer presents the portion nonlinearly. Sections of the portion may therefore be skipped, repeated, reversed, randomized or presented at a rate that differs from real-time. In an embodiment to be illustrated and described, commercials or other tedious content may be skipped to advantage. This gives rise to viewing concepts, such as “catch-up viewing” as described hereinafter.
- In one embodiment of the present invention, the mass data storage unit receives, digitally compresses and digitally stores the plurality of channels. Of course, the present invention does not require compression and is not limited to a particular type of compression.
- In one embodiment of the present invention, the mass data storage unit is a redundant array of independent disks (RAID). Those skilled in the art are familiar with the structure and function of RAIDS and their ability to cause otherwise independent disks to cooperate to provide greater speed, reliability, storage capacity or a combination thereof.
- In one embodiment of the present invention, the DVR further includes an archive storage unit, coupled to the channel viewer that stores the portion selected for archiving. The archive storage unit may be a conventional, analog video tape recorder, digital video tape recorder, video disk recorder or other disk (such as commercially available Syquest® and Jazz® disks). In a manner to be set forth below in greater detail, archiving allows the portion to escape overwriting.
- In one embodiment of the present invention, the DVR further includes a channel selector, coupled to the mass data storage unit that allows a user to identify the plurality of channels. Alternatively, the DVR may record all available channels indiscriminately. Selection of channels may be time-based (including, for example, more sports channels over the weekend). The present invention is not limited to a particular manner in which channels are selected for recording.
- In one embodiment of the present invention, the mass data storage unit comprises a separate disk volume for each of the plurality of channels. In an alternative embodiment, the mass storage unit comprises a separate physical disk for each of the plurality of channels. Those skilled in the art will understand that the logical or physical structure of the underlying disk storage does not limit the scope of the present invention. However, the underlying structure may be optimized to increase recording or retrieval speed.
- In one embodiment of the present invention, the plurality of channels are formatted in a selected one of: (1) NTSC analog TV; (2) PAL/SECAM analog TV; (3) digital TV; (4) analog HDTV; and (5) digital HDTV. Those skilled in the art will perceive that the principles of the present invention are applicable to any video (or audio) format.
- In one embodiment of the present invention, the DVR selectively moves by one commercial time unit (CTU) within the one of the plurality of channels in response to the received command. The DVR can move forward or backward. In a more specific embodiment, the received command is employable to achieve catch-up viewing. In a manner to be illustrated and described, a user can command the DVR to skip commercials until the time of the portion being viewed merges with real time, at which point the user has “caught up” with the program being viewed.
- The foregoing has outlined, rather broadly, preferred and alternative features of the present invention so that those skilled in the art may better understand the detailed description of the invention that follows. Additional features of the invention will be described hereinafter that form the subject of the claims of the invention. Those skilled in the art should appreciate that they can readily use the disclosed conception and specific embodiment as a basis for designing or modifying other structures for carrying out the same purposes of the present invention. Those skilled in the art should also realize that such equivalent constructions do not depart from the spirit and scope of the invention in its broadest form.
- For a more complete understanding of the present invention, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which:
-
FIG. 1 illustrates a block diagram of an exemplary digital video recorder (DVR) constructed according to the principles of the present invention in which set-top box cards provide an interface between channel sources and a computer system; -
FIG. 2 illustrates a block diagram of another exemplary DVR constructed according to the principles of the present invention wherein set-top boxes provide an interface to an IEEE 1394 Firewire Bus; -
FIG. 3 illustrates a block diagram of exemplary circular FIFO buffers in memory for each recorded channel; -
FIG. 4 illustrates a block diagram of a portion of an exemplary circular FIFO buffer illustrated inFIG. 3 ; -
FIG. 5 illustrates a block diagram of exemplary data and directory structure for a single channel file; -
FIG. 6 illustrates a block diagram of an exemplary data and directory structure for a combined channel file; -
FIG. 7 illustrates a block diagram of an exemplary data structure for an address translation file (ATF); -
FIG. 8 illustrates a block diagram of exemplary data structures for table of contents retrievals; -
FIG. 9 illustrates a block diagram of an exemplary method for time block program selection in real time; -
FIG. 10 illustrates a block diagram of an exemplary method for time block program selection and time surfing; -
FIG. 11 illustrates a highly schematic diagram showing the related concepts of commercial time units and commercial breaks; -
FIG. 12 illustrates a highly schematic diagram showing the concept of catch-up viewing; -
FIG. 13 illustrates a plan view of exemplary “skip commercials” control button cluster; and -
FIG. 14 illustrates a plan view of an exemplary channel and time surf button cluster. - The following Detailed Description is directed to very specific embodiments of the present invention. The systems, methods, (data, file and physical) structures and other details are provided solely as examples and in no way limit the scope of the present invention.
- The support of both channel and time surfing requires (at least) the temporal storage of more than one video channel (e.g., television or cable channels). If all channels available to the user in question are recorded for an unlimited amount of time, then it is, in principle, possible to support channel surfing at any moment later than the start of the recording process. In practice, a limited number of channels (e.g., the user's favorites) recorded over a limited amount of time (e.g., 24 hours) should support most users' channel and time surfing needs. As will be described in greater detail below, the requirements for such a system also enable “catch-up viewing” (joining a certain program in mid-broadcast and then, through skipping of commercials, catching-up with the real-time broadcast). In other words, time and channel surfing and catch-up viewing now become possible.
- Channel surfing can be described as follows: a user, using the currently available technology in televisions and cable converters (“boxes”) can, in rapid succession (but only in real-time, as time progresses) switch from one channel to another by either entering a channel number or hitting a channel “up” (or “down”) button. In this context, the user has no access to the time variable. The only way for him to watch something that was broadcast prior to the current time is to use a VCR and view the recorded program.
- Time surfing is similar to channel surfing, except that the user hops from one time (e.g., 6 p.m. yesterday) to another (e.g., 5 p.m. today) using a devise similar to the channel changer. The previous (lower) times are equivalent to the higher channel numbers. The user can freely time surf in either time direction. The only time-boundaries are that one cannot surf past now into the future (on higher time side), and the current time minus the total recorded time (on the lower time side). Both of these boundaries move with time, as will be described in greater detail below.
- The system requirements to support the above functionality cannot be met using traditional recording techniques such as used in VCRs, because of the inherently sequential nature of the recording medium, which inhibits the capability of recording (writing) in one place and playing back (reading) in another concurrently.
- The present invention provides for all channels, or some subset thereof, to be concurrently recorded, at all times, onto a random-access medium. In one of the illustrated embodiments, the recording is done on a computer disk connected to the traditional bus of a personal computer (PC). Other implementations can look at propriety bus, central processing unit and input card technologies to implement the functionality.
- As the recording medium reaches its capacity, the oldest recorded video is overwritten on a first-in-first-out (FIFO) basis. Obviously the size of the medium, determines how many channels can be recorded for how long. With current and projected (within 2 to 3 years) technology recording 10 to 15 channels for 24-hour periods is feasible.
- For the remainder of this Detailed Description, the term “all channels” is defined as the number of video sources available and of interest to a given user.
- To support the above functionality, one of the illustrated embodiments uses a digital recording technique of the compressed digital video signals. Converting the classic video (or television) signals to compressed digital data streams can be accomplished in a variety of ways. A growing number of cable and satellite television companies are providing their television signals in compressed digital format, usually MPEG II. Proprietary schemes based on technologies such as Wavelets or other compression techniques can be envisioned. In the near future, broadcast television stations are expected to begin broadcasting digital signals and compressed digital signals.
- Direct broadcast satellite television uses a dish that receives the satellite transmission, the output of the dish is fed into a device called a set-top box. The set-top box translates the satellite signal to a signal usable by a television. The embodiment illustrated and described herein accordingly contains a sub-function called a “set-top box.” The set-top box function can process a signal as follows: (1) radio frequency (RF) tuning (to select a channel or group of channels); (2) down conversion and phase splitter; (3) analog to digital (A/D) conversion; and (4) quadratic phase shift keying (QPSK) with forward error correction (FEC), to produce the compressed digital signal.
- In a typical set-top box, the output can be an analog NTSC RF signal for one selected channel or a compressed digital signal for one selected channel. Analog television channels, such as the one carried on cable television, use a subset of the set-top box functionality to filter the one channel being watched from the total signal.
- To support the recording of multiple channels, multiple video streams must be recorded. One way to record multiple channels concurrently is to duplicate the set-top box functionality a number of times equal to the number of channels to be recorded.
- Turning now to
FIG. 1 , illustrated is a block diagram of an exemplary DVR, generally designated 100, constructed according to the principles of the present invention in which set-top box cards provide an interface between channel sources and a computer system (not separately referenced). A central processing unit (CPU) 110 is coupled to dynamic random access memory (DRAM) 120 a (memory other than DRAM is within the scope of the present invention) and, via abus 140, to videosignal generation circuitry 130, typically provided in the form of a card, and to amass storage unit 120 b, which may be embodied in the from of a single drive or a RAID. A plurality of set-top box cards bus 140, allowing data communication to take place between the set-top box cards CPU 110 or directly between the set-top box cards DRAM 120 a or themass storage unit 120 b. -
Channel sources top box cards channel source selector 170. Thechannel selector 170 allows a user to select aparticular channel source signal generation circuitry 130 is coupled to avideo display device 180, such as a video monitor ortelevision set 180. - The plurality of set-
top box cards - Alternatively, one set-top box per channel can be used. So-called generation III set-top boxes provide compressed digital video feed, as well as uncompressed NTSC (analog) output. The compressed digital video signal could be connected to the PC, via some type of standard input device, such as Firewire (IEEE 1394).
- Turning now to
FIG. 2 , this embodiment is illustrated. Instead of the plurality of set-top box cards FIG. 1 being coupled directly to thebus 140, aFirewire interface card 210 is coupled to thebus 140. AFirewire bus 220 couples theFirewire interface card 210 to the plurality of set-top boxes top box top boxes top box cards top boxes - Recording Media
- The current generation of computer hard disks, such as the Seagate Elite 47, scheduled for first quarter 1998 commercial availability, provides 47 GB of storage in one 5¼ inch form factor disk drive. Disk storage density has been increasing by 60% per year for the last several years and is, according to a report published by IBM in December 1997, expected to continue to increase by 60% per year for at least the next ten years. This increase in disk capacity would mean a drive holding 47 GB today would hold (47*109) or 5,123 GB in ten years. At the current compression rate of MPEG video, 1 GB per hour of video, 5,123 GB would store approximately 5,123 hours of compressed video on one drive. This is equivalent to recording 213 channels for 24 hours on one drive.
- Compression Techniques
- With MPEG compression, which can give compression yields in the 30-100 to 1 ratio, it takes about 1 billion bytes (1 gigabyte or GB) to
store 1 hour of video. Other compression techniques, such as wavelets, can compress at rates up to 300 to 1, but are generally not as effective as MPEG because the MPEG compression technology was specifically designed for television video signals. - Work is ongoing on MPEG IV standards further to improve image quality and compression ratios. This invention does not depend on a specific compression technology (or compression whatsoever) as long as it produces a digital data stream that can be reconverted somehow back into a suitable video picture.
- The User Interface
- In the following, it is assumed that the DVR has the basic video recorder interface found on traditional VCRs well known to the users and people skilled in the art. Among others, these buttons are “play,” “stop,” “fast forward,” and “rewind.” One skilled in the art will appreciate that, within the context of the disclosed technology, some of these functions take on an enhanced capability, because the DVR can “rewind” several hours of video instantly. The functionality described below needs to be interpreted as working in conjunction and/or partially or totally replacing these controls.
- Assuming selected channels (or all channels) are automatically recorded, what is needed is a way to access the recorded material for viewing. For regular, real-time viewing, a number of commercially-available television guides that are sent over the same medium as the channels or that can be downloaded from the Internet or from diskette already exist. The guides broadcast by satellite television suppliers usually present a time-channel matrix where the time is blocked in broadcast units e.g., ½ hour. This is illustrated in
FIG. 9 . With additional reference to the plan view of an exemplary channel and time surf button cluster 1400 ofFIG. 14 , the user can browse through the programs by hitting “̂” (up) or “” (down)buttons buttons FIG. 14 also illustrates an “enter” or “go”button 1410 for concluding commands or answering queries.) - When used in regular satellite television viewing, the time unit containing the current time is displayed as the leftmost matrix column (this is not essential, just logical). Whenever the user selects the menu option, the program cursor is positioned into the leftmost column. Pressing the “go” or “enter” button switches the user to the channel on which the cursor is positioned, provided the current time is within the selected block.
- Turning now to
FIG. 9 , illustrated is a block diagram of an exemplary method for time block program selection in real time.Separate channels - In
FIG. 9 the first program block 910 a, marked “Ellen (ABC),” is the first block the cursor can be positioned on forchannel 8, given the current time of 7:14:32 p.m. “>” or “<”buttons FIG. 14 can be used to see what is going to be broadcast in the near future (usually 24 hours ahead of time) on every channel. - The preferred embodiments of current invention extends the use of this paradigm significantly by allowing, among other things: (1) surfing back in time (on recorded channels); (2) catch-up viewing (including intelligent commercial skipping); (3) auto-generation of a table of contents of the recorded subset of the broadcast past; (4) using the block and channel browsing paradigm described above for recording instructions; (5) a new method for program selection based on computer recognized content of broadcast programs; and (6) a way to mark programs of interest for semi-permanent storage.
- Whenever a channel has been marked for recording, the guide information is used by the system to allow backward scrolling through the program blocks introduced above. If
channel 8 were marked for recording prior to 7:30:00 p.m., then the system would allow the cursor to be moved to the block marked Ellen (ABC), even when the current time is later than 7:30:00 p.m. This is illustrated inFIG. 10 . - Like
FIG. 9 ,FIG. 10 illustrates a block diagram of an exemplary method for time block program selection in real time.Separate channels - Turning now to
FIG. 12 , illustrated is a highly schematic diagram showing the concept of catch-up viewing. This feature of the invention can be used when the user approaches the television at a point in time when the broadcasting of the program has already started, but not necessarily finished. Assume that the broadcasting of the program the user decides to watch has started at some time t1. The DVR is recording this channel. The user wants to start watching the program at time t2. The user time-surfs back using the method described below and indicates to the DVR that he wants to start watching the program. The DVR starts playback of program section 1 (PS1), after completion of this, the user hits the “skip commercial” button which moves the DVR to the beginning of program section 2 (PS2) and so on. Depending on the amount of time between t1 and t2 the user's viewing “catches-up” with the real-time recording of the program being broadcast. The only way the user would be able to tell that he was no longer watching the recorded copy is that the “skip commercial” or “fast-forward” buttons no longer have their usual effect. - This “catching-up” feature of the present invention can be used when the user approaches the television at a point in time when the broadcasting of the program has already started, but not necessarily finished. The DVR (100 of
FIG. 1 ) is recoding the channel on which the program is broadcast. The user wants to start watching the program from the beginning. Therefore, the user time-surfs back using the method described above, and indicates to the DVR that he wants to start watching the program. The DVR starts playback of program section 1 (PS1), after completion of this, the user hits the “skip commercial” button which moves the DVR to the beginning of program section 2 (PS2) and so on. Since the DVR has no real way of determining when commercials start and stop, the present invention includes a method to efficiently use the information stored to give the user a rapid commercial skip function. - Commercials aired during most television broadcasts last for a time that is usually (although not always predictably) a multiple of the base television commercial time unit (CTU), e.g., 15 seconds. During regular shows the multiplication factor is usually 8, giving a total of 2 minutes for one commercial break. With about 4 breaks in a half-hour prime time broadcast block, this computes to about 20 to 22 minutes of actual programming, consistent with observation. Some commercial spots last for one CTU, most for 2 CTUs, and some longer.
- Turning now to
FIG. 11 , illustrated arecommercial spots 1110 of lengths varying between 15 seconds (1 CTU) and one minute (4 CTUs).FIG. 11 also illustrates how a givencommercial break 1120 lasting, for example, two minutes, may be broken up into commercial spots lasting varying numbers of CTUs. - When viewing recorded video, either where the actual broadcast has already completed or the program is still in progress, the user may wish to skip individual commercials, or the entire commercial break altogether. To support this feature, the present invention includes a method to take advantage of the recording techniques described later.
- Turning now to
FIG. 13 , illustrated is a plan view of exemplary “skip commercials”control button cluster 1300. Thebutton cluster 1300 comprises a “skip commercial”button 1310, a “CTU <” (CTU back)button 1320 and a “CTU >” (CTU forward)button 1330. - Suppose the user notices the start of a commercial break. To skip the entire break, he hits the “skip commercial”
button 1310. The DVR then computes the new offset for viewing by multiplying the number of CTUs in a break (default is 8) and multiply that by the number of seconds in a CTU (default is 15), giving 120 seconds, and restart the viewing process. If the user notices (and cares) that the video he is viewing is either still inside the break or already too far into the actual programming, a few options are available. - Assuming the DVR skipped too far (into the program), the user can now hit the “CTU <”
button 1320 to move the DVR back one CTU. If this results in the right spot, the user can continue watching the programming. If not, the user can (1) hit the DVR's “>” button (1430 ofFIG. 14 ) to move forward one time unit (second) until the desired spot is reached or (2) hit the “CM <”button 1320 again. This moves the DVR back the number of CTUs in a break minus one, putting the DVR at the initial time the user decided to skip, plus one CTU. Hitting the “CTU >”button 1330 again moves the DVR one CTU forward. - Assuming the DVR did not skip far enough (still in commercial), the user can hit the “CTU >”
button 1330, moving the DVR one CTU forward. Fine-tuning can be done using the DVR's “>” (forward) and “<” (back) buttons for one-second movement back and forward. - The CTU length and the default number of CTUs per commercial break are configurable by the user. When viewing a program in real time (as it is being broadcast) even while it is being recorded, the skip commercial, the “CTU >” and “CTU <”
buttons - The above features, combined with the recording technology described below, allow for the commercial free viewing of recorded material and catch-up viewing as explained earlier.
- There are already of number of television guides that are sent over the same medium as the channels, or that can be downloaded from the Internet or from storage media. These guides contain program information for a given period for all channels. This information can be browsed to find the programs of choice, or for keywords to find, e.g., programs with Clark Gable as an actor or programs in which the subject matter is the creation of the universe. Using this information, the illustrated embodiment maintains a content file for every time unit for every channel recorded, thereby creating a subset of the original guide. This table can then be browsed to find the program of interest in the recorded video data.
- Recording instructions are communicated to the DVR using the same interface as for channel and time surfing. The default is that whenever a channel is selected for recording (by positioning the cursor on the channel line in
FIG. 9 and hitting the record button) the DVR starts recording the channel for 24 hours. After that the DVR reuses the space for that channel, in other words, 24 hours of this channel are available for time surfing. A load indicator informs the user of the space used by this operation versus the total available (not used yet) space. The user has the option to release space by deselecting a channel for recording. This has the effect that the new channel starts overwriting the old (released) channel information when this operation is executed, and, after 24 hours the information for the new channel has completely replaced the old channel. - Once channels are being recorded certain parts (of programs) can be marked for archiving, using the archive button. This causes the DVR to create a single channel file on an optional removable recording medium so that the information does not get overwritten when the next 24 hours of information is stored. The DVR supports a virtual channel in addition to the broadcast channels available to replay these kind of archived programs. The same channel can be used to replay devices such as DVDs, mimicking the traditional VCR rent cassette paradigm.
- The DVR as disclosed here also provides the capability to do content search by automatically cataloging the audio content digitally. This process can proceed as follows: (1) using the audio portion of the broadcast signal and feeding it into an optional speech recognition capability (well known to those familiar with computing devices), or using the already text translated closed-caption signal if available; and (2) the resulting text of the audio is then indexed into a full-text database. This database provides an index linking each (or a subset of) word to the channel file and time recorded.
- When the user then wants to search for certain content, the user is presented with a text search engine (similar to the now well established World Wide Web search engines). After entering the sought after words or phrase, the DVR then presents the user with a prioritized list of programming blocks (channel and time unit) from which the user can then pick what he or she wants to view.
- Single Channel File Approach
- One approach to concurrently storing, on a computer disk, a plurality of channels is to store each channel in a separate file. This technique limits the number of channels that can be recorded concurrently, because the disk arm must be moved from the position of one file to the position of the next file to write the data for each channel. This round robin movement happens as follows: first seek the end of the first channel's file and write the rust channel's digital data, then seek the end of the next channel's file, write the next channel's digital data, and so on, until all channels are written. Depending on the speed with which this can be accomplished, and the amount of buffering that can economically be done, this may not be an acceptable implementation.
- The following analysis is directed to the feasibility of this approach:
- Assume that recording on MPEG II compressed video channel requires megabytes (MB) per second.
- Recording 20 channels concurrently therefore requires 10 MB per second. Today's hard disks' worst case sustained throughput is about 10 MB per second.
- The average seek time of today's disks is about 12 milliseconds and the average rotational latency about 6 milliseconds, for a total average seek time of roughly 18 milliseconds.
- Buffering the channels in main memory and writing each channel to disk in a round-robin fashion requires 10 MB per second.
- Using no more than 40 MB of main memory to store the buffers, one would need to write all buffers to disk at least once every four seconds.
- To write 20 buffers to 20 different files every four seconds requires 20 disk seeks, or (20/4) 5 disk seeks per second.
- For retrieval purposes, an index needs to be written. This could double the number of files and the disk seeks to 10 times a second.
- Modern operating systems, such as Microsoft® Windows™ 95 keep file allocation tables (FATs) to access files. With this number of files open concurrently, the operating system gains access to its FATs to accomplish the file updates, possibly doubling the disk seeks again to 20 per second.
- At an average case total seek time of 18 milliseconds, 20 seeks per second would require an average of 360 milliseconds out of every second of video recorded, consuming over one-third of the disk's throughput.
- Even if one assumes the directories and FATs are cached in main memory and that the index information is cached in main memory, lots of disk seeks limits the number of channels that can be concurrently stored.
- One way to reduce the effect of disk seeks is to use multiple disks, such as provided by redundant arrays of independent disks (RAID) storage, and write each channel to a separate disk. To record for example, 20 channels with a minimum of disk seeks; one would need 20 disks, which would be expensive. If indeed RAID systems become inexpensive and fast enough, then a system to record a plurality of channels using a one file per channel approach becomes feasible.
- Turning now to
FIG. 3 , illustrated is a block diagram of exemplary circular FIFO buffers in memory (theDRAM 120 a ofFIG. 1 ) for each recorded channel. The buffers, designated 310 a, 310 b . . . 310 n contain portions of streams of video data corresponding to separate channels. Thebuffers - As shown in
FIG. 3 , the compressed video data from each channel, produced by the set-top box card for that channel, is first written (buffered) in main memory (DRAM 120 a) buffers. Then, the data is read from theDRAM 120 a and written to themass storage unit 120 b. One method to cache the data is to write one main memory circular FIFO buffer for each channel, using a linked list directory concept. - Turning now to
FIG. 4 , illustrated is a block diagram of theexemplary buffers FIG. 3 . Thebuffers byte fields video data stream - Using a circular FIFO buffer means that some maximum size for each buffer has to be set, e.g., two megabytes. As data are written to the buffers, when the end of the buffer is reached, the beginning of the buffer is overwritten. “FIFO” means that the data in the buffers is read in the sequence it is generated, i.e., the older data are read from the buffer and written to disk before newer data are read from the buffer and written to disk. Each channel has its own circular FIFO buffer. This is a technique well known to persons skilled in the art. The next step is to write the bytes for that time unit to a disk file. Each channel has its own disk file, which, for purposes of the present discussion, can be termed a “single channel file.”
- To write channel 9's data to disk, one would rust read channel 9's FIFO buffer, reading the first 8 bytes for the time unit one wishes to write. The first 8 bytes contain the ending offset, the last byte for channel 9 for that time unit. Subtracting the number read from the current offset produces n, the number of bytes used to store this time unit's data One then reads the next n bytes and writes those bytes to disk in the channel 9 single channel file. Writing the remaining channels, one continues (usually in a round-robin fashion) by reading the same second from the next channel's FIFO buffer, and writing it to the next channel single channel file, until all channels are processed. After that, one reads the next 8 bytes in the first channel's buffer, which is the ending offset for the next time unit.
- To have a consistent and unique file name for all of the single channel files, and to provide for a way to store these recording off-line, the following exemplary file naming convention is proposed. Assume the operating system used provides the classic XXXXXXXX.EEE (8.3) naming convention, where XXXXXXXX is the 8 byte name of a file, and EEE is the 3 byte file extension. The method proposed here encodes (in base 36) the Julian date (four bytes) concatenated with a sequence number (four bytes) indicating the number of files recorded during a given day (in base 36), and a file extension equal to the channel sequence number in base 36. Julian dates are defined as the number of days since January 1 of the year 0 AD. Using this method, the name of the first file written for channel 9 for Jan. 1, 1998, would be: Jan. 1, 1998, translated to Julian date would be 1998*365 or 729,270 plus a day for each leap year, giving a total of 729,770.
- This 6 digit number is stored in the first 4 bytes of the file name by using a base 36 notation, using only 36 characters out of the standard 256 character ASCII set, specifically the uppercase letters “A” through “Z” and the numerals “0” to “9”. This method avoids conflicts with operating systems having restrictions in certain computer operating systems over the allowable characters in a file name (such as the period and lower case letters). Using the base 36 notation up to 1,679,615 days (36 to the 4th power−1) can be stored in the first four bytes of the file name instead of 9,999 days (10 to the 4th power−1) using just the digits 0-9.
- Jan. 1, 1998, encodes to FN3E (15 23 3 14).
- The rust file means the four bytes for the file sequence are 0001.
- The file extension is 009 for channel 9, yielding the file name <FN3E0001.009>
- Turning now to
FIG. 5 , illustrated is a block diagram of an exemplary data and directory structure, generally designated 500, for a single channel file. Thedirectory structure 500 includesdirectory entries video data stream directory entry 510 a is expanded to show “next directory offset,” “second number,” “channel number,” “starting byte offset” and “ending byte offset”fields - As shown in
FIG. 5 , for the block of bytes written for each time unit, a directory entry (for example, thedirectory entry 510 a) is written at the beginning of the block for that time unit. The directory contains the time unit sequence number (illustrated as having a maximum value of 86,400), the byte offset of the directory entry for the next time unit, and the offset for the first and last byte for the data written for that channel for that unit. - The directory entry is used to allow rapid access to data for that channel. When replaying the channel, one first reads the directory entry for the time unit of interest. This yields the first and last byte for that unit, then the data (video) bytes, then the directory for the next second, etc. The time unit sequence number is maintained in the directory so that, while viewing a particular channel and later surfing, one can know the current time unit to which to switch the new channel data.
- Since this method is not specifically designed to minimize the number of disk seeks to support the desired functionality, and to increase the number of channels that can be concurrently recorded; the present invention introduces a new concept: time division multiplexing of data in a disk file.
- Therefore, in addition to disclosing a method of storing each channel to a separate file, the present invention discloses a method which overcomes these limitations by writing all channels to one disk file, an approach that may be termed “disk file time division multiplexing.”
- Retrieving the data from a recorded digital data stream where the number of bits/seconds of video is constant, such as for non-compressed data streams, non-compressed video, can be done using the well known technique of hashing (address translation). This technique is used to seek to the proper byte offset in a disk file to retrieve the bytes recorded at a given time. For example, to find one second of video recorded 5 minutes (300 seconds) after the start of the recording, one would seek a byte offset equal to the time elapsed (300 seconds) multiplied by the video rate (e.g., 10 MB/sec). Reading the next 10 MB would give the next second of video recorded.
- Compressed digital data streams, such as MPEG II however, do not use a fixed number of bytes to represent each second of viewing. One-half MB may be required to represent a second of fast moving video, such as a car chase, while only one tenth of that may be required to represent one second of a slow moving scene, such as the night sky. Therefore, direct hashing (key to address) cannot be used.
- The approach described below provides for the rapid retrieval of variable data rate digital data, such as MPEG II compressed video. It also provides synchronization of the data streams, to allow rapid switching from one channel at a given time to another channel at a different time. This feature is advantageous in supporting channel surfing in the past (recorded video).
- In DFTDM, instead of writing each channel to a separate file, all channels are written to the same file, called a “combined channel file.” As shown symbolically in
FIG. 3 , the data stream for each channel is buffered in a FIFO buffer in main memory. InFIG. 3 , the depth of the buffer is 4 seconds worth of recording. As can be readily determined from the above discussion, the FIFO buffers are not of fixed length. This fact is illustrated inFIG. 5 detailing the structure of the buffers. - Turning now to
FIG. 6 , illustrated is a block diagram of an exemplary data and directory structure for a combined channel file. The directory structure containsdirectory entries video data stream directory entry 510 a is expanded to show “next directory offset,” “second number,” “first channel number,” “starting byte offset,” “ending byte offset,” “nth channel number,” “starting byte offset” and “ending byte offset,” fields 620 a, 620 b, 630 a, 630 b, 630 c, 640 a, 640 b, 640 c, 640 n, 640 o, 640 p. - As shown in
FIG. 6 , one continuously writes to the combined channel file and in a round-robin fashion, the buffer for the first channel, then the buffer for the second channel then the buffer for the next channel, etc., until the buffer for the first channel is reached. - When the combined channel disk file reaches a pre-determined size, e.g., 4 GB, one starts writing to the next disk file. For example, assuming 1.0 GB per channel per hour for MPEG II compressed video, and assuming 10 channels are stored concurrently, then a 4 GB file would store 4/10 hour (24 minutes) of the 10 channels.
- As shown in
FIG. 6 , for the total block of bytes written for each time unit (e.g., a second), a directory entry of channel offsets is written at the beginning of the block of bytes for every recorded time unit. The directory contains the sequence number of the time unit, the byte offset for the directory entry for the next time unit, and, for each channel, the offset for the first and last byte for the compressed data written for each channel for that time unit. The directory entry is used to allow rapid access to the bytes written for any particular channel. When viewing (reading from the disk and presenting the video to the user) a channel, the DVR reads the directory entry for a particular time unit. The entry produces the first byte and last bytes (within that block of bytes), for that channel. The DVR then reads but discards the bytes read (skipping the first and last bytes for the time units for the channels not being displayed) until the first byte for that channel is reached. The DVT then reads the data (video) bytes, displaying the content to the user, at the end of the time unit's data, it reads the directory entry for the next time unit, etc. - Channel surfing, as it is known today happens in real time. The user views each channel in real time, in other words as the signal is broadcast. When viewing channel 9 at 16:43:16 till 16:43:45, and then switching (surfing) to the next channel, e.g., channel 15, the user would pick the programming on the new channel a second (or a fraction of a second) later, i.e., 16:43:46 on channel 15. To simulate this real-time viewing during time surfing on the DVR, the DVR reads from the combined channel file in a sequential manner.
- While the user is watching the programming from channel 9 during this period being viewed, the following happens:
- (1) the DVR seeks to the proper channel-time offset in the combined channel file, and reads the directory entry to find the beginning and ending byte offset for channel 9 for that second, as well as the offset of the directory entry for the next second,
- (2) the DVR then reads the block of bytes for channel 9 for that second and provides these bytes to the television for viewing (for compressed video, the output is first sent to the decompression device or software, e.g., the MPEG II decoder) and
- (3) then, without seeking, the DVR reads the directory entry for the next second, and provides the channel data for the next second.
- The naming convention for the combined channel file(s) is comprised of the 4-byte Julian date encoded in base 36, followed by a 4-byte sequence number also in base 36, with .COM as an extension.
- The sequence number as part of the file name is used because of file size limitations imposed by different computer operating systems, and to allow for more than one disk to be used if so desired. Using the same base 36 notation described above allows up to 1,679,615 combined channel files on a given date, using just the 8-byte file name.
- Turning now to
FIG. 7 , illustrated is a block diagram of an exemplary data structure for an address translation file (ATF). The ATF is illustrated as including byte offsets and sequence and inactive codes corresponding to first, second and nth channels (710 a, 710 b, 710 n). ATFs are used to facilitate maintaining information about which channels were recorded when. - As shown in
FIG. 7 , the ATF contains a 13-byte entry for each time unit (second) in the day, 3600 seconds/hour multiplied by 24 hours or 86,400 13-byte entries, or 1,123,200 bytes. When a channel is being recorded for a given time unit during the day, an entry is made into the ATF. The first eight bytes of the entry are the byte offset for the directory entry for that unit in the single channel file or combined channel file. The next 4 bytes of the entry are the sequence number of the single channel file or combined channel file. The last byte is an inactive code. This code indicates whether the record is inactive due to either (1) data was not written for that time unit (no channels have been recorded for that unit) or (2) the data for that unit (the channel file) has been deleted as part of the FIFO methodology to free disk space for current recording. - If each channel is written to a single channel file, there is one ATF per channel per day. If all channels are written to the same file (combined channel file) there is only one ATF for each day (as opposed to one ATF per channel per day). The ATF name is 7 bytes, in which the first 3 bytes are “ATF” and the last 4 bytes is the Julian date, in the base 36 notation described above. The extension part of the ATF is the channel number, if single channel files are being used, or “COM” if combined channel files are being used.
- For example, for Jan. 1, 1998, using a combined channel file, the ATF name for that day would be ATFFN3E.COM. If each channel is being written to a separate file, one ATC exists for each channel for the day, e.g., ATFFN3E.009 and ATFFN3E.202 for channels 9 and 202, respectively.
- Thus, to view channel 9 at 6:10:43, the DVR goes through the following steps:
- (1) calculate the number of seconds in the day, starting at midnight, giving (3600 seconds/hour*6 hours+(60 seconds/minutes*10 minutes)+43 seconds)=22,243 seconds,
- (2) multiply the number of seconds multiplied by 13 to get the byte offset of the entry for that second, since each entry in the ATF is 13 bytes and
- (3) seek to that byte offset and read the 13-byte value. This tells one whether the record is active or inactive, the sequence number of the file (for more than one single channel file or combined file on a given day), and the offset of the directory for that second in the single channel file or combined channel file.
- To minimize the number of disk seeks during recording, the AFT(s) can be maintained or cached in main memory. Also, the ATF(s) can be placed on a separate physical disk than the channel file, to minimize disk seeks.
- Another limitation of the one file per channel (single channel) approach becomes apparent when viewing recorded video. If one views what was recorded from
channel 2 at 6:10:43 and then surfs to channel 9, the DVR needs to instantly move to what was recoded from channel 9 at 6:10:43. If channel 9 data were in a separate file, the DVR would have to seek (move the disk drive head) to the correct position before reading the video data. - This invention is also designed to support channel surfing, in real time as well as from recorded video, as realistically as possible. When one channel suds in real time, channels are viewed as they are broadcast, when viewing channel 9 from 16:43:16 to 16:43:45, then surfing to channel 15, the time would be 16:43:46. To simulate this real-time surfing from recorded video, the DVR reads from the combined channel file in a sequential manner. To play back what was on channel 9 during the initial period, the DVR does the following:
- (1) hashes to 16:43:16 in the ATF and reads the 13-byte value;
- (2) seeks to that offset in the combined channel file and reads the directory entry to find the beginning and ending byte offset of channel 9 for that second; and
- (3) reads the block of bytes for channel 9 for that second and provides these bytes to the television for viewing (for compressed video, the output is first to the decompression device or software, e.g., the MPEG decoder).
- Then, when the user surfs (switches) to channel 15, the DVR:
- (1) uses the (stored) next directory offset, skip to the next time unit directory entry;
- (2) fords the channel number (15) and the starting byte offset; and
- (3) reads the block of bytes for channel 15 for the next second and provides these bytes to the television for viewing.
- The user is now presented with what was broadcast on channel 15 immediately after what was broadcast on channel 9 just prior to the switching. From the user's perspective, the behavior of the system is identical to real-time surfing.
- Turning now to
FIG. 8 , illustrated is a block diagram of exemplary data structures for table of contents retrievals. Three tables ofcontent contents columns columns - From the information broadcast on some of the satellite services combined with the recorded channel versus time information, one can automatically construct a table of contents, illustrated in
FIG. 8 . Therefore, in addition to the channel and time surfing method discussed above to find programs to view, one can peruse an on-screen table of contents. - The date is given by the name of extant ATFs. The time is given by the ATF, which has one entry for each second of a day. The channels are given by the directory entries in the single channel file or combined channel file.
- The default value for the title is blank. However, if a downloaded channel guide is available, the title from the channel guide is used for the title, and the description from the channel guide is also made part of the table-of-contents record. The table of contents can be viewed sorted in channel order, title order, or date/time order. For each program recorded, the title is shown, followed by the date and time, followed by the channel number.
- From the above, it is apparent that the present invention provides a DVR and a method of operating the same. In one embodiment, the DVR includes: (1) a mass data storage unit that concurrently and continuously receives and digitally stores a plurality of channels; and (2) a channel viewer, coupled to the mass data storage unit, that retrieves a portion of one of the plurality of channels from the mass data storage unit based on a received command and presents the portion on a video display device.
- Although the present invention has been described in detail, those skilled in the art should understand that they can make various changes, substitutions and alterations herein without departing from the spirit and scope of the invention in its broadest form.
Claims (43)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/084,373 US20110255838A1 (en) | 1998-04-17 | 2011-04-11 | Systems and methods for storing a plurality of video streams on re-writable random-access media and time- and channel-based retrieval thereof |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/062,022 US6788882B1 (en) | 1998-04-17 | 1998-04-17 | Systems and methods for storing a plurality of video streams on re-writable random-access media and time-and channel- based retrieval thereof |
US10/933,787 US7925141B2 (en) | 1998-04-17 | 2004-09-03 | Systems and methods for storing a plurality of video streams on re-writable random-access media and time- and channel-based retrieval thereof |
US13/084,373 US20110255838A1 (en) | 1998-04-17 | 2011-04-11 | Systems and methods for storing a plurality of video streams on re-writable random-access media and time- and channel-based retrieval thereof |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/933,787 Continuation US7925141B2 (en) | 1998-04-17 | 2004-09-03 | Systems and methods for storing a plurality of video streams on re-writable random-access media and time- and channel-based retrieval thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
US20110255838A1 true US20110255838A1 (en) | 2011-10-20 |
Family
ID=32925382
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/062,022 Expired - Lifetime US6788882B1 (en) | 1998-04-17 | 1998-04-17 | Systems and methods for storing a plurality of video streams on re-writable random-access media and time-and channel- based retrieval thereof |
US10/933,787 Expired - Fee Related US7925141B2 (en) | 1998-04-17 | 2004-09-03 | Systems and methods for storing a plurality of video streams on re-writable random-access media and time- and channel-based retrieval thereof |
US13/084,373 Abandoned US20110255838A1 (en) | 1998-04-17 | 2011-04-11 | Systems and methods for storing a plurality of video streams on re-writable random-access media and time- and channel-based retrieval thereof |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/062,022 Expired - Lifetime US6788882B1 (en) | 1998-04-17 | 1998-04-17 | Systems and methods for storing a plurality of video streams on re-writable random-access media and time-and channel- based retrieval thereof |
US10/933,787 Expired - Fee Related US7925141B2 (en) | 1998-04-17 | 2004-09-03 | Systems and methods for storing a plurality of video streams on re-writable random-access media and time- and channel-based retrieval thereof |
Country Status (1)
Country | Link |
---|---|
US (3) | US6788882B1 (en) |
Families Citing this family (236)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8352400B2 (en) | 1991-12-23 | 2013-01-08 | Hoffberg Steven M | Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore |
EP0688488A1 (en) * | 1993-03-05 | 1995-12-27 | MANKOVITZ, Roy J. | Apparatus and method using compressed codes for television program record scheduling |
DE69529836T2 (en) * | 1994-10-27 | 2004-03-04 | Index Systems, Inc. | SYSTEM AND METHOD FOR THE REMOTE LOADING OF RECORDER PROGRAMMING DATA IN A VIDEO SIGNAL |
US6769128B1 (en) | 1995-06-07 | 2004-07-27 | United Video Properties, Inc. | Electronic television program guide schedule system and method with data feed access |
CN1202658C (en) | 1996-03-15 | 2005-05-18 | E盖德公司 | Combination of VCR index and EPG |
US8073921B2 (en) * | 1997-07-01 | 2011-12-06 | Advanced Technology Company, LLC | Methods for remote monitoring and control of appliances over a computer network |
DE69812701T2 (en) | 1997-07-21 | 2004-02-05 | E Guide, Inc., Pasadena | METHOD FOR NAVIGATING A TV PROGRAM GUIDE WITH ADVERTISING |
US6788882B1 (en) | 1998-04-17 | 2004-09-07 | Timesurf, L.L.C. | Systems and methods for storing a plurality of video streams on re-writable random-access media and time-and channel- based retrieval thereof |
US7647615B1 (en) * | 1998-05-04 | 2010-01-12 | Motorola, Inc. | Method and system for distributing digital audio and video to an analog wireless device |
US7272298B1 (en) | 1998-05-06 | 2007-09-18 | Burst.Com, Inc. | System and method for time-shifted program viewing |
US6253237B1 (en) | 1998-05-20 | 2001-06-26 | Audible, Inc. | Personalized time-shifted programming |
TW456148B (en) | 1998-06-16 | 2001-09-21 | United Video Properties Inc | Interactive television program guide with simultaneous watch and record capabilities |
CN1867068A (en) | 1998-07-14 | 2006-11-22 | 联合视频制品公司 | Client-server based interactive television program guide system with remote server recording |
AR020608A1 (en) | 1998-07-17 | 2002-05-22 | United Video Properties Inc | A METHOD AND A PROVISION TO SUPPLY A USER REMOTE ACCESS TO AN INTERACTIVE PROGRAMMING GUIDE BY A REMOTE ACCESS LINK |
EP1099339B1 (en) * | 1998-07-17 | 2002-10-09 | United Video Properties, Inc. | Interactive television program guide having multiple devices at one location |
US6505348B1 (en) | 1998-07-29 | 2003-01-07 | Starsight Telecast, Inc. | Multiple interactive electronic program guide system and methods |
US6233389B1 (en) | 1998-07-30 | 2001-05-15 | Tivo, Inc. | Multimedia time warping system |
US7558472B2 (en) | 2000-08-22 | 2009-07-07 | Tivo Inc. | Multimedia signal processing system |
US8577205B2 (en) | 1998-07-30 | 2013-11-05 | Tivo Inc. | Digital video recording system |
US8380041B2 (en) | 1998-07-30 | 2013-02-19 | Tivo Inc. | Transportable digital video recorder system |
US6898762B2 (en) | 1998-08-21 | 2005-05-24 | United Video Properties, Inc. | Client-server electronic program guide |
TW465235B (en) | 1998-09-17 | 2001-11-21 | United Video Properties Inc | Electronic program guide with digital storage |
US7904187B2 (en) | 1999-02-01 | 2011-03-08 | Hoffberg Steven M | Internet appliance system and method |
US6757906B1 (en) | 1999-03-30 | 2004-06-29 | Tivo, Inc. | Television viewer interface system |
US7730300B2 (en) * | 1999-03-30 | 2010-06-01 | Sony Corporation | Method and apparatus for protecting the transfer of data |
US7565546B2 (en) * | 1999-03-30 | 2009-07-21 | Sony Corporation | System, method and apparatus for secure digital content transmission |
US8689265B2 (en) * | 1999-03-30 | 2014-04-01 | Tivo Inc. | Multimedia mobile personalization system |
US7877774B1 (en) | 1999-04-19 | 2011-01-25 | At&T Intellectual Property Ii, L.P. | Browsing and retrieval of full broadcast-quality video |
US9171545B2 (en) * | 1999-04-19 | 2015-10-27 | At&T Intellectual Property Ii, L.P. | Browsing and retrieval of full broadcast-quality video |
US8266657B2 (en) | 2001-03-15 | 2012-09-11 | Sling Media Inc. | Method for effectively implementing a multi-room television system |
US6263503B1 (en) | 1999-05-26 | 2001-07-17 | Neal Margulis | Method for effectively implementing a wireless television system |
EP1067771A1 (en) * | 1999-07-05 | 2001-01-10 | CANAL+ Société Anonyme | Communications method and apparatus |
DK1208696T3 (en) * | 1999-08-09 | 2006-06-06 | British Sky Broadcasting Ltd | Apparatus for recording broadcast program using electronic program guide |
EP1122728A1 (en) * | 1999-08-20 | 2001-08-08 | Sony Corporation | Information recording/reproducing device |
AU7706500A (en) | 1999-09-20 | 2001-04-24 | Tivo, Inc. | Closed caption tagging system |
US7039614B1 (en) * | 1999-11-09 | 2006-05-02 | Sony Corporation | Method for simulcrypting scrambled data to a plurality of conditional access devices |
AU2262601A (en) * | 1999-12-21 | 2001-07-03 | Tivo, Inc. | Intelligent system and methods of recommending media content items based on userpreferences |
US7340764B2 (en) * | 2000-01-26 | 2008-03-04 | Sony Corporation | Data transmission system |
AU2001253311A1 (en) | 2000-04-10 | 2001-10-23 | United Video Properties, Inc. | Interactive media guide with media guidance interface |
US10313530B2 (en) * | 2000-04-19 | 2019-06-04 | Oliver Gamble | Method and system for flexible selective broadcasting of instructions to targeted electronic devices using market driven metrics |
FR2810834A1 (en) * | 2000-06-27 | 2001-12-28 | Thomson Multimedia Sa | Audio visual receiver can insert advertising in program matches user interests |
EP1324609A4 (en) * | 2000-07-27 | 2006-11-02 | Infocity Kk | Information accessing device and method and information providing device and method |
US7218837B2 (en) * | 2000-09-25 | 2007-05-15 | Victor Company Of Japan, Ltd. | Program-signal recording and reproducing apparatus |
US7103906B1 (en) | 2000-09-29 | 2006-09-05 | International Business Machines Corporation | User controlled multi-device media-on-demand system |
US20030036944A1 (en) * | 2000-10-11 | 2003-02-20 | Lesandrini Jay William | Extensible business method with advertisement research as an example |
KR20190096450A (en) | 2000-10-11 | 2019-08-19 | 로비 가이드스, 인크. | Systems and methods for delivering media content |
JP4683587B2 (en) * | 2000-10-31 | 2011-05-18 | キヤノン株式会社 | Communication control apparatus and method |
JP4484353B2 (en) * | 2000-10-31 | 2010-06-16 | キヤノン株式会社 | COMMUNICATION CONTROL DEVICE, ITS CONTROL METHOD, AND COMMUNICATION SYSTEM |
US20020104088A1 (en) * | 2001-01-29 | 2002-08-01 | Philips Electronics North Americas Corp. | Method for searching for television programs |
EP1231782A1 (en) * | 2001-02-13 | 2002-08-14 | Sony International (Europe) GmbH | Tuning device for a data distribution network |
EP2469850A3 (en) | 2001-02-21 | 2013-07-10 | United Video Properties, Inc. | Systems and methods for interactive program guides with personal video recording features |
EP1235431A1 (en) * | 2001-02-27 | 2002-08-28 | Koninklijke Philips Electronics N.V. | Subscription proceedings for a television service |
US20020147993A1 (en) * | 2001-04-04 | 2002-10-10 | Sony Corporation And Sony Electronics Inc. | Method and apparatus for legacy analog video interconnections in a set-top box for personal video recording applications |
US20070230921A1 (en) * | 2001-04-05 | 2007-10-04 | Barton James M | Multimedia time warping system |
US8479238B2 (en) | 2001-05-14 | 2013-07-02 | At&T Intellectual Property Ii, L.P. | Method for content-based non-linear control of multimedia playback |
US7127619B2 (en) | 2001-06-06 | 2006-10-24 | Sony Corporation | Decoding and decryption of partially encrypted information |
US7747853B2 (en) | 2001-06-06 | 2010-06-29 | Sony Corporation | IP delivery of secure digital content |
US7895616B2 (en) | 2001-06-06 | 2011-02-22 | Sony Corporation | Reconstitution of program streams split across multiple packet identifiers |
EP1276323A1 (en) * | 2001-07-13 | 2003-01-15 | France Telecom | Method for broadcasting multimedia signals towards a plurality of terminals |
US7167639B2 (en) * | 2001-08-31 | 2007-01-23 | Stmicroelectronics, Inc. | Digital video recorder using circular file management and method of operation |
US7792978B2 (en) * | 2001-12-28 | 2010-09-07 | At&T Intellectual Property I, L.P. | System and method to remotely manage and audit set top box resources |
US7292690B2 (en) | 2002-01-02 | 2007-11-06 | Sony Corporation | Video scene change detection |
US7215770B2 (en) | 2002-01-02 | 2007-05-08 | Sony Corporation | System and method for partially encrypted multimedia stream |
US7155012B2 (en) | 2002-01-02 | 2006-12-26 | Sony Corporation | Slice mask and moat pattern partial encryption |
US7302059B2 (en) * | 2002-01-02 | 2007-11-27 | Sony Corporation | Star pattern partial encryption |
US7765567B2 (en) | 2002-01-02 | 2010-07-27 | Sony Corporation | Content replacement by PID mapping |
US7823174B2 (en) | 2002-01-02 | 2010-10-26 | Sony Corporation | Macro-block based content replacement by PID mapping |
US6897904B2 (en) | 2002-01-04 | 2005-05-24 | Microsoft Corporation | Method and apparatus for selecting among multiple tuners |
US7302160B1 (en) * | 2002-01-22 | 2007-11-27 | Lsi Corporation | Audio/video recorder with automatic commercial advancement prevention |
US20030138237A1 (en) * | 2002-01-23 | 2003-07-24 | Stewart John Sidney | Multimedia on demand for use in a near on demand environment |
KR100683616B1 (en) * | 2002-03-15 | 2007-02-16 | 후지쯔 가부시끼가이샤 | Video information delivery apparatus and reception apparatus |
US8006268B2 (en) * | 2002-05-21 | 2011-08-23 | Microsoft Corporation | Interest messaging entertainment system |
US7379654B2 (en) * | 2002-06-19 | 2008-05-27 | Microsoft Corporation | Programmable video recorder backing store for non-byte stream formats |
US7272296B2 (en) * | 2002-07-24 | 2007-09-18 | Thomson Licensing | Navigating to a particular program or specific time increment in a personal video recorder |
US8818896B2 (en) | 2002-09-09 | 2014-08-26 | Sony Corporation | Selective encryption with coverage encryption |
US7724907B2 (en) | 2002-11-05 | 2010-05-25 | Sony Corporation | Mechanism for protecting the transfer of digital content |
US8572408B2 (en) | 2002-11-05 | 2013-10-29 | Sony Corporation | Digital rights management of a digital device |
US7493078B2 (en) * | 2002-12-10 | 2009-02-17 | Onlive, Inc. | Antenna assembly for satellite and wireless services |
US20090118019A1 (en) | 2002-12-10 | 2009-05-07 | Onlive, Inc. | System for streaming databases serving real-time applications used through streaming interactive video |
US9061207B2 (en) | 2002-12-10 | 2015-06-23 | Sony Computer Entertainment America Llc | Temporary decoder apparatus and method |
US9446305B2 (en) | 2002-12-10 | 2016-09-20 | Sony Interactive Entertainment America Llc | System and method for improving the graphics performance of hosted applications |
US10201760B2 (en) | 2002-12-10 | 2019-02-12 | Sony Interactive Entertainment America Llc | System and method for compressing video based on detected intraframe motion |
US9192859B2 (en) | 2002-12-10 | 2015-11-24 | Sony Computer Entertainment America Llc | System and method for compressing video based on latency measurements and other feedback |
US8366552B2 (en) | 2002-12-10 | 2013-02-05 | Ol2, Inc. | System and method for multi-stream video compression |
US7558525B2 (en) * | 2002-12-10 | 2009-07-07 | Onlive, Inc. | Mass storage repository for a wireless network |
US9314691B2 (en) | 2002-12-10 | 2016-04-19 | Sony Computer Entertainment America Llc | System and method for compressing video frames or portions thereof based on feedback information from a client device |
US8526490B2 (en) | 2002-12-10 | 2013-09-03 | Ol2, Inc. | System and method for video compression using feedback including data related to the successful receipt of video content |
US7849491B2 (en) * | 2002-12-10 | 2010-12-07 | Onlive, Inc. | Apparatus and method for wireless video gaming |
US7684752B2 (en) * | 2002-12-10 | 2010-03-23 | Onlive, Inc. | Wireless network providing distributed video / data services |
US9138644B2 (en) | 2002-12-10 | 2015-09-22 | Sony Computer Entertainment America Llc | System and method for accelerated machine switching |
US20040110468A1 (en) * | 2002-12-10 | 2004-06-10 | Perlman Stephen G. | Wireless network with presentation and media layers for broadcast satellite and cable services |
US8549574B2 (en) | 2002-12-10 | 2013-10-01 | Ol2, Inc. | Method of combining linear content and interactive content compressed together as streaming interactive video |
US8964830B2 (en) | 2002-12-10 | 2015-02-24 | Ol2, Inc. | System and method for multi-stream video compression using multiple encoding formats |
US8711923B2 (en) | 2002-12-10 | 2014-04-29 | Ol2, Inc. | System and method for selecting a video encoding format based on feedback data |
US9077991B2 (en) | 2002-12-10 | 2015-07-07 | Sony Computer Entertainment America Llc | System and method for utilizing forward error correction with video compression |
US9108107B2 (en) | 2002-12-10 | 2015-08-18 | Sony Computer Entertainment America Llc | Hosting and broadcasting virtual events using streaming interactive video |
US7437053B2 (en) * | 2003-01-15 | 2008-10-14 | Matsushita Electric Industrial Co., Ltd. | Digital video recorder, method of driving the video recorder and program |
US7493646B2 (en) | 2003-01-30 | 2009-02-17 | United Video Properties, Inc. | Interactive television systems with digital video recording and adjustable reminders |
US7492714B1 (en) * | 2003-02-04 | 2009-02-17 | Pmc-Sierra, Inc. | Method and apparatus for packet grooming and aggregation |
US7590084B2 (en) * | 2003-02-14 | 2009-09-15 | Onlive, Inc. | Self-configuring, adaptive, three-dimensional, wireless network |
US7215660B2 (en) | 2003-02-14 | 2007-05-08 | Rearden Llc | Single transceiver architecture for a wireless network |
US7593361B2 (en) | 2003-02-14 | 2009-09-22 | Onlive, Inc. | Method of operation for a three-dimensional, wireless network |
JP4256714B2 (en) * | 2003-04-25 | 2009-04-22 | パイオニア株式会社 | Recording apparatus and control method thereof |
JP2004350142A (en) * | 2003-05-23 | 2004-12-09 | Funai Electric Co Ltd | Data recording and reproducing apparatus |
KR100609154B1 (en) * | 2003-05-23 | 2006-08-02 | 엘지전자 주식회사 | Video-contents playing method and apparatus using the same |
US20040244036A1 (en) * | 2003-05-28 | 2004-12-02 | Microspace Communications Corporation | Channel combining and decombining systems and methods for television program transmitting and receiving |
US8438601B2 (en) | 2003-07-02 | 2013-05-07 | Rovi Solutions Corporation | Resource management for a networked personal video recording system |
US7454120B2 (en) | 2003-07-02 | 2008-11-18 | Macrovision Corporation | Methods and apparatus for client aggregation of television programming in a networked personal video recording system |
US7286667B1 (en) | 2003-09-15 | 2007-10-23 | Sony Corporation | Decryption system |
EP2144440A1 (en) * | 2003-10-02 | 2010-01-13 | Tivo, Inc. | Modifying commercials for multi-speed playback |
US7853980B2 (en) | 2003-10-31 | 2010-12-14 | Sony Corporation | Bi-directional indices for trick mode video-on-demand |
US7827578B2 (en) * | 2003-11-10 | 2010-11-02 | Thomson Licensing | Method and apparatus for providing simplified peer-to-peer recording |
US20050105007A1 (en) * | 2003-11-14 | 2005-05-19 | Christian John P. | Interchangeable media input cartridge for home entertainment |
KR20060130146A (en) * | 2004-01-29 | 2006-12-18 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | A digital television system with rapid channel surfing |
US7793319B2 (en) * | 2004-04-27 | 2010-09-07 | Gateway, Inc. | System and method for improved channel surfing |
US8099755B2 (en) | 2004-06-07 | 2012-01-17 | Sling Media Pvt. Ltd. | Systems and methods for controlling the encoding of a media stream |
US7769756B2 (en) | 2004-06-07 | 2010-08-03 | Sling Media, Inc. | Selection and presentation of context-relevant supplemental content and advertising |
US8346605B2 (en) | 2004-06-07 | 2013-01-01 | Sling Media, Inc. | Management of shared media content |
BRPI0516744A2 (en) | 2004-06-07 | 2013-05-28 | Sling Media Inc | Media stream playback methods received on a network and computer program product |
US9998802B2 (en) | 2004-06-07 | 2018-06-12 | Sling Media LLC | Systems and methods for creating variable length clips from a media stream |
US11259059B2 (en) | 2004-07-30 | 2022-02-22 | Broadband Itv, Inc. | System for addressing on-demand TV program content on TV services platform of a digital TV services provider |
US7631336B2 (en) | 2004-07-30 | 2009-12-08 | Broadband Itv, Inc. | Method for converting, navigating and displaying video content uploaded from the internet to a digital TV video-on-demand platform |
US9635429B2 (en) | 2004-07-30 | 2017-04-25 | Broadband Itv, Inc. | Dynamic adjustment of electronic program guide displays based on viewer preferences for minimizing navigation in VOD program selection |
US7590997B2 (en) | 2004-07-30 | 2009-09-15 | Broadband Itv, Inc. | System and method for managing, converting and displaying video content on a video-on-demand platform, including ads used for drill-down navigation and consumer-generated classified ads |
US8806533B1 (en) | 2004-10-08 | 2014-08-12 | United Video Properties, Inc. | System and method for using television information codes |
DK2408202T3 (en) | 2004-11-19 | 2017-08-28 | Tivo Solutions Inc | Method and device for secure transfer and playback of multimedia content |
US7895617B2 (en) | 2004-12-15 | 2011-02-22 | Sony Corporation | Content substitution editor |
US8041190B2 (en) | 2004-12-15 | 2011-10-18 | Sony Corporation | System and method for the creation, synchronization and delivery of alternate content |
US8270901B2 (en) * | 2004-12-17 | 2012-09-18 | Martin E. Hellman | Dropout-resistant media broadcasting system |
US7571454B2 (en) * | 2005-05-04 | 2009-08-04 | Microsoft Corporation | Strategies for updating schedules |
US7848618B2 (en) * | 2005-05-13 | 2010-12-07 | Microsoft Corporation | Unified recording and pause buffer format |
US7584497B2 (en) * | 2005-05-24 | 2009-09-01 | Microsoft Corporation | Strategies for scheduling bandwidth-consuming media events |
KR20060133410A (en) * | 2005-06-20 | 2006-12-26 | 엘지전자 주식회사 | Method for managing file database and searching file in multimedia device |
JP2007004896A (en) * | 2005-06-23 | 2007-01-11 | Toshiba Corp | Information storage medium, information transfer method, information reproducing method, and information recording method |
EP2485500B8 (en) | 2005-07-07 | 2017-04-26 | TiVo Solutions Inc. | System and method for digital content retrieval using a threshold indicator associated with the beginning of said recorded content |
EP1772981A3 (en) * | 2005-09-29 | 2010-07-28 | Lg Electronics Inc. | mobile telecommunication terminal for receiving and recording a broadcast programme |
US8768146B2 (en) * | 2005-10-24 | 2014-07-01 | Microsoft Corporation | Strategies for controlling presentation of media information based on a sampling of customer playback behavior |
US8582946B2 (en) | 2005-11-04 | 2013-11-12 | Rovi Guides, Inc. | Systems and methods for recording programs using a network recording device as supplemental storage |
US20070157266A1 (en) * | 2005-12-23 | 2007-07-05 | United Video Properties, Inc. | Interactive media guidance system having multiple devices |
US20070157281A1 (en) * | 2005-12-23 | 2007-07-05 | United Video Properties, Inc. | Interactive media guidance system having multiple devices |
US9681105B2 (en) | 2005-12-29 | 2017-06-13 | Rovi Guides, Inc. | Interactive media guidance system having multiple devices |
US7684673B2 (en) * | 2006-01-03 | 2010-03-23 | International Business Machines Corporation | Managing a digital video recorder via a network |
US8185921B2 (en) | 2006-02-28 | 2012-05-22 | Sony Corporation | Parental control of displayed content using closed captioning |
US8380726B2 (en) | 2006-03-06 | 2013-02-19 | Veveo, Inc. | Methods and systems for selecting and presenting content based on a comparison of preference signatures from multiple users |
US8316394B2 (en) | 2006-03-24 | 2012-11-20 | United Video Properties, Inc. | Interactive media guidance application with intelligent navigation and display features |
US20070230902A1 (en) * | 2006-03-31 | 2007-10-04 | Masstech Group Inc. | Dynamic disaster recovery |
JP2007280447A (en) * | 2006-04-03 | 2007-10-25 | Toshiba Corp | Image and sound reproduction device and image and sound reproduction method |
US7661121B2 (en) | 2006-06-22 | 2010-02-09 | Tivo, Inc. | In-band data recognition and synchronization system |
US20080022331A1 (en) * | 2006-06-30 | 2008-01-24 | Microsoft Corporation | Multi-DVR Media Stream Transition |
US20080104655A1 (en) * | 2006-10-31 | 2008-05-01 | General Instrument Corporation | Digital Video Recorder Having a Pause Feature Displaying the First Frame of a Program |
US7801888B2 (en) | 2007-03-09 | 2010-09-21 | Microsoft Corporation | Media content search results ranked by popularity |
US8418206B2 (en) | 2007-03-22 | 2013-04-09 | United Video Properties, Inc. | User defined rules for assigning destinations of content |
JP5309126B2 (en) | 2007-03-29 | 2013-10-09 | ニューロフォーカス・インコーポレーテッド | System, method, and apparatus for performing marketing and entertainment efficiency analysis |
WO2008137579A1 (en) | 2007-05-01 | 2008-11-13 | Neurofocus, Inc. | Neuro-informatics repository system |
US9886981B2 (en) | 2007-05-01 | 2018-02-06 | The Nielsen Company (Us), Llc | Neuro-feedback based stimulus compression device |
US8392253B2 (en) | 2007-05-16 | 2013-03-05 | The Nielsen Company (Us), Llc | Neuro-physiology and neuro-behavioral based stimulus targeting system |
US8494905B2 (en) | 2007-06-06 | 2013-07-23 | The Nielsen Company (Us), Llc | Audience response analysis using simultaneous electroencephalography (EEG) and functional magnetic resonance imaging (fMRI) |
US8655154B2 (en) * | 2007-06-12 | 2014-02-18 | Sony United Kingdom Limited | Television signal recording |
GB2450113A (en) * | 2007-06-12 | 2008-12-17 | Sony Uk Ltd | Television Signal Recording |
US11570521B2 (en) | 2007-06-26 | 2023-01-31 | Broadband Itv, Inc. | Dynamic adjustment of electronic program guide displays based on viewer preferences for minimizing navigation in VOD program selection |
US8326121B2 (en) * | 2007-06-28 | 2012-12-04 | Verizon Patent And Licensing Inc. | Commerical free status for media content recording systems and methods |
US20090019492A1 (en) | 2007-07-11 | 2009-01-15 | United Video Properties, Inc. | Systems and methods for mirroring and transcoding media content |
CN101815467B (en) | 2007-07-30 | 2013-07-17 | 神经焦点公司 | Neuro-response stimulus and stimulus attribute resonance estimator |
KR20100047865A (en) | 2007-08-28 | 2010-05-10 | 뉴로포커스, 인크. | Consumer experience assessment system |
US8386313B2 (en) | 2007-08-28 | 2013-02-26 | The Nielsen Company (Us), Llc | Stimulus placement system using subject neuro-response measurements |
US8635105B2 (en) | 2007-08-28 | 2014-01-21 | The Nielsen Company (Us), Llc | Consumer experience portrayal effectiveness assessment system |
US8392255B2 (en) | 2007-08-29 | 2013-03-05 | The Nielsen Company (Us), Llc | Content based selection and meta tagging of advertisement breaks |
US20090083129A1 (en) | 2007-09-20 | 2009-03-26 | Neurofocus, Inc. | Personalized content delivery using neuro-response priming data |
US8494610B2 (en) | 2007-09-20 | 2013-07-23 | The Nielsen Company (Us), Llc | Analysis of marketing and entertainment effectiveness using magnetoencephalography |
US20090133053A1 (en) * | 2007-11-16 | 2009-05-21 | Alcatel Lucent | Method and apparatus to perform television program insertion during commercial time slot interval |
US8136140B2 (en) | 2007-11-20 | 2012-03-13 | Dish Network L.L.C. | Methods and apparatus for generating metadata utilized to filter content from a video stream using text data |
US8165451B2 (en) * | 2007-11-20 | 2012-04-24 | Echostar Technologies L.L.C. | Methods and apparatus for displaying information regarding interstitials of a video stream |
US8165450B2 (en) | 2007-11-19 | 2012-04-24 | Echostar Technologies L.L.C. | Methods and apparatus for filtering content in a video stream using text data |
US9168457B2 (en) | 2010-09-14 | 2015-10-27 | Sony Computer Entertainment America Llc | System and method for retaining system state |
US8141123B2 (en) * | 2007-12-19 | 2012-03-20 | General Instrument Corporation | Method and apparatus for recording and rendering programs that cross SDV force tune boundaries |
US8606085B2 (en) | 2008-03-20 | 2013-12-10 | Dish Network L.L.C. | Method and apparatus for replacement of audio data in recorded audio/video stream |
KR100937690B1 (en) * | 2008-04-08 | 2010-01-20 | 주식회사 알티캐스트 | Method and Apparatus for providing virtual channel service |
US9183885B2 (en) * | 2008-05-30 | 2015-11-10 | Echostar Technologies L.L.C. | User-initiated control of an audio/video stream to skip interstitial content between program segments |
US8156520B2 (en) | 2008-05-30 | 2012-04-10 | EchoStar Technologies, L.L.C. | Methods and apparatus for presenting substitute content in an audio/video stream using text data |
US20090307741A1 (en) * | 2008-06-09 | 2009-12-10 | Echostar Technologies L.L.C. | Methods and apparatus for dividing an audio/video stream into multiple segments using text data |
US8601526B2 (en) | 2008-06-13 | 2013-12-03 | United Video Properties, Inc. | Systems and methods for displaying media content and media guidance information |
US20100054712A1 (en) * | 2008-08-29 | 2010-03-04 | At&T Intellectual Property I, L.P. | System and Method for Recording High-Definition Content |
JP2010062884A (en) * | 2008-09-04 | 2010-03-18 | Funai Electric Co Ltd | Broadcast reception apparatus |
US10063934B2 (en) | 2008-11-25 | 2018-08-28 | Rovi Technologies Corporation | Reducing unicast session duration with restart TV |
US8588579B2 (en) | 2008-12-24 | 2013-11-19 | Echostar Technologies L.L.C. | Methods and apparatus for filtering and inserting content into a presentation stream using signature data |
US8407735B2 (en) | 2008-12-24 | 2013-03-26 | Echostar Technologies L.L.C. | Methods and apparatus for identifying segments of content in a presentation stream using signature data |
US8510771B2 (en) | 2008-12-24 | 2013-08-13 | Echostar Technologies L.L.C. | Methods and apparatus for filtering content from a presentation stream using signature data |
GB0823685D0 (en) * | 2008-12-31 | 2009-02-04 | Campbell Roy L | Apparatus for reception of media content |
US9357240B2 (en) * | 2009-01-21 | 2016-05-31 | The Nielsen Company (Us), Llc | Methods and apparatus for providing alternate media for video decoders |
US8270814B2 (en) | 2009-01-21 | 2012-09-18 | The Nielsen Company (Us), Llc | Methods and apparatus for providing video with embedded media |
US8464288B2 (en) | 2009-01-21 | 2013-06-11 | The Nielsen Company (Us), Llc | Methods and apparatus for providing personalized media in video |
US20100249538A1 (en) * | 2009-03-24 | 2010-09-30 | Neurofocus, Inc. | Presentation measure using neurographics |
US20100250325A1 (en) | 2009-03-24 | 2010-09-30 | Neurofocus, Inc. | Neurological profiles for market matching and stimulus presentation |
US20100249636A1 (en) * | 2009-03-27 | 2010-09-30 | Neurofocus, Inc. | Personalized stimulus placement in video games |
US8438596B2 (en) | 2009-04-08 | 2013-05-07 | Tivo Inc. | Automatic contact information transmission system |
US8437617B2 (en) | 2009-06-17 | 2013-05-07 | Echostar Technologies L.L.C. | Method and apparatus for modifying the presentation of content |
US8655437B2 (en) | 2009-08-21 | 2014-02-18 | The Nielsen Company (Us), Llc | Analysis of the mirror neuron system for evaluation of stimulus |
US10987015B2 (en) | 2009-08-24 | 2021-04-27 | Nielsen Consumer Llc | Dry electrodes for electroencephalography |
JP4649526B1 (en) * | 2009-08-31 | 2011-03-09 | 株式会社東芝 | Recording apparatus and method |
GB2462732B (en) * | 2009-09-02 | 2010-11-17 | Nds Ltd | Method and system for simultaneous recording of multiple programs on a dvr |
US9166714B2 (en) | 2009-09-11 | 2015-10-20 | Veveo, Inc. | Method of and system for presenting enriched video viewing analytics |
JP4635098B1 (en) * | 2009-09-24 | 2011-02-23 | 株式会社東芝 | Electronics |
US8756657B2 (en) * | 2009-09-29 | 2014-06-17 | Ebay Inc. | Mobile or user device authentication and tracking |
US8209224B2 (en) | 2009-10-29 | 2012-06-26 | The Nielsen Company (Us), Llc | Intracluster content management using neuro-response priming data |
US20110106750A1 (en) | 2009-10-29 | 2011-05-05 | Neurofocus, Inc. | Generating ratings predictions using neuro-response data |
US9560984B2 (en) | 2009-10-29 | 2017-02-07 | The Nielsen Company (Us), Llc | Analysis of controlled and automatic attention for introduction of stimulus material |
US8335715B2 (en) | 2009-11-19 | 2012-12-18 | The Nielsen Company (Us), Llc. | Advertisement exchange using neuro-response data |
US8335716B2 (en) | 2009-11-19 | 2012-12-18 | The Nielsen Company (Us), Llc. | Multimedia advertisement exchange |
US8934758B2 (en) | 2010-02-09 | 2015-01-13 | Echostar Global B.V. | Methods and apparatus for presenting supplemental content in association with recorded content |
WO2011133548A2 (en) | 2010-04-19 | 2011-10-27 | Innerscope Research, Inc. | Short imagery task (sit) research method |
US8655428B2 (en) | 2010-05-12 | 2014-02-18 | The Nielsen Company (Us), Llc | Neuro-response data synchronization |
US9204193B2 (en) | 2010-05-14 | 2015-12-01 | Rovi Guides, Inc. | Systems and methods for media detection and filtering using a parental control logging application |
US8782268B2 (en) * | 2010-07-20 | 2014-07-15 | Microsoft Corporation | Dynamic composition of media |
US8392250B2 (en) | 2010-08-09 | 2013-03-05 | The Nielsen Company (Us), Llc | Neuro-response evaluated stimulus in virtual reality environments |
US8392251B2 (en) | 2010-08-09 | 2013-03-05 | The Nielsen Company (Us), Llc | Location aware presentation of stimulus material |
US8396744B2 (en) | 2010-08-25 | 2013-03-12 | The Nielsen Company (Us), Llc | Effective virtual reality environments for presentation of marketing materials |
US20120096497A1 (en) * | 2010-10-14 | 2012-04-19 | Sony Corporation | Recording television content |
US8984554B2 (en) * | 2010-11-19 | 2015-03-17 | Microsoft Technology Licensing, Llc | Hybrid tuner control |
WO2012094564A1 (en) | 2011-01-06 | 2012-07-12 | Veveo, Inc. | Methods of and systems for content search based on environment sampling |
US8447170B2 (en) | 2011-08-23 | 2013-05-21 | Echostar Technologies L.L.C. | Automatically recording supplemental content |
US9357159B2 (en) | 2011-08-23 | 2016-05-31 | Echostar Technologies L.L.C. | Grouping and presenting content |
US9185331B2 (en) | 2011-08-23 | 2015-11-10 | Echostar Technologies L.L.C. | Storing multiple instances of content |
US8805418B2 (en) | 2011-12-23 | 2014-08-12 | United Video Properties, Inc. | Methods and systems for performing actions based on location-based rules |
US9569986B2 (en) | 2012-02-27 | 2017-02-14 | The Nielsen Company (Us), Llc | System and method for gathering and analyzing biometric user feedback for use in social media and advertising applications |
US9489981B2 (en) | 2012-03-15 | 2016-11-08 | Echostar Technologies L.L.C. | Successive initialization of television channel recording |
US9167272B2 (en) | 2012-04-25 | 2015-10-20 | Omnivision Technologies, Inc. | Method, apparatus and system for exchanging video data in parallel |
US8963944B2 (en) * | 2012-05-15 | 2015-02-24 | Omnivision Technologies, Inc. | Method, apparatus and system to provide video data for buffering |
US9743125B2 (en) | 2012-07-03 | 2017-08-22 | Trimvid, Llc. | System and method for visual editing |
US8989835B2 (en) | 2012-08-17 | 2015-03-24 | The Nielsen Company (Us), Llc | Systems and methods to gather and analyze electroencephalographic data |
US8793724B2 (en) | 2012-11-08 | 2014-07-29 | Eldon Technology Limited | Image domain compliance |
US8804042B2 (en) | 2013-01-14 | 2014-08-12 | International Business Machines Corporation | Preemptive preloading of television program data |
US9320450B2 (en) | 2013-03-14 | 2016-04-26 | The Nielsen Company (Us), Llc | Methods and apparatus to gather and analyze electroencephalographic data |
US9622702B2 (en) | 2014-04-03 | 2017-04-18 | The Nielsen Company (Us), Llc | Methods and apparatus to gather and analyze electroencephalographic data |
US9936250B2 (en) | 2015-05-19 | 2018-04-03 | The Nielsen Company (Us), Llc | Methods and apparatus to adjust content presented to an individual |
CN105451028B (en) * | 2015-12-03 | 2019-04-02 | 深圳市泛海三江电子股份有限公司 | Storage server and implementation method thereof |
US11172269B2 (en) | 2020-03-04 | 2021-11-09 | Dish Network L.L.C. | Automated commercial content shifting in a video streaming system |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5485459A (en) * | 1992-12-21 | 1996-01-16 | D2B Systems Company Limited | Local communication system with plural data channels |
US5796434A (en) * | 1996-06-07 | 1998-08-18 | Lsi Logic Corporation | System and method for performing motion estimation in the DCT domain with improved efficiency |
US5805932A (en) * | 1994-04-22 | 1998-09-08 | Sony Corporation | System for transmitting compressed data if compression ratio is at least preset ratio and pre-compressed data if compression ratio is less than preset ratio |
US5838873A (en) * | 1996-05-31 | 1998-11-17 | Thomson Consumer Electronics, Inc. | Packetized data formats for digital data storage media |
US5850249A (en) * | 1995-10-12 | 1998-12-15 | Nielsen Media Research, Inc. | Receiver monitoring system with local encoding |
US5886746A (en) * | 1994-12-13 | 1999-03-23 | Gemstar Development Corporation | Method for channel scanning |
US5999691A (en) * | 1996-02-08 | 1999-12-07 | Matsushita Electric Industrial Co., Ltd. | Television receiver, recording and reproduction device, data recording method, and data reproducing method |
US6012112A (en) * | 1997-09-30 | 2000-01-04 | Compaq Computer Corporation | DVD assembly, and associated apparatus, for a convergent device |
US6061056A (en) * | 1996-03-04 | 2000-05-09 | Telexis Corporation | Television monitoring system with automatic selection of program material of interest and subsequent display under user control |
US20030110514A1 (en) * | 2001-12-06 | 2003-06-12 | West John Eric | Composite buffering |
US6754438B1 (en) * | 1996-10-25 | 2004-06-22 | Nec Corporation | Information reproducing apparatus |
US7185355B1 (en) * | 1998-03-04 | 2007-02-27 | United Video Properties, Inc. | Program guide system with preference profiles |
Family Cites Families (142)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3341833A (en) * | 1963-12-19 | 1967-09-12 | Collins Radio Co | Magnetic tape recording and reproduction system |
US3645539A (en) * | 1969-03-19 | 1972-02-29 | Harris Intertype Corp | Delay loop tape cartridge |
US3682363A (en) * | 1970-10-12 | 1972-08-08 | Diamond Eng & Dev Co | Instant replay tape system |
US4283735A (en) * | 1979-09-21 | 1981-08-11 | David Jagger | Method and apparatus for selectively deleting during video tape recording |
US4319286A (en) * | 1980-01-07 | 1982-03-09 | Muntz Electronics, Inc. | System for detecting fades in television signals to delete commercials from recorded television broadcasts |
US4430676A (en) * | 1980-03-27 | 1984-02-07 | Johnson Michael K | Control apparatus for selectively recording signals |
JPS5776660A (en) * | 1980-10-31 | 1982-05-13 | Toshiba Corp | Recording system for variable-length picture information |
US4408309A (en) | 1981-07-20 | 1983-10-04 | Kiesling Roy A | Time delayed recording system |
US4908713A (en) * | 1981-12-14 | 1990-03-13 | Levine Michael R | VCR Programmer |
US5692214A (en) | 1981-12-14 | 1997-11-25 | Levine; Michael R. | System for unattended recording of video programs by remote control code transmitter module which receives user selections from a personal computer |
GB2132846A (en) * | 1982-12-22 | 1984-07-11 | Philips Electronic Associated | Television transmission system |
US4821121A (en) * | 1983-04-08 | 1989-04-11 | Ampex Corporation | Electronic still store with high speed sorting and method of operation |
US4633331A (en) | 1985-06-06 | 1986-12-30 | Picotrin Technology, Inc. | Information signal delay system utilizing random access memory |
JPS63146298A (en) | 1986-12-10 | 1988-06-18 | Mitsubishi Electric Corp | Variable work length shift register |
US5021893A (en) * | 1987-12-17 | 1991-06-04 | Duplitronics, Inc. | High speed tape duplicating machine |
GB2201314B (en) * | 1987-02-18 | 1991-02-27 | Sony Corp | Digital video signal processing methods and apparatus |
DE3819393A1 (en) | 1987-06-08 | 1988-12-29 | Canon Kk | DEVICE FOR RECORDING DIGITAL SIGNALS |
US4965662A (en) | 1987-07-29 | 1990-10-23 | Fuji Photo Film Co., Ltd. | Video printer for making video image hard copies |
JP2595551B2 (en) * | 1987-08-14 | 1997-04-02 | ソニー株式会社 | Image signal processing device |
JPS6489678A (en) * | 1987-09-30 | 1989-04-04 | Hitachi Ltd | Signal processing system |
JPH0258984A (en) * | 1988-08-24 | 1990-02-28 | Hashimoto Corp | Television receiver having repeating action |
US6493878B1 (en) | 1988-10-17 | 2002-12-10 | Lord Samuel A Kassatly | Method and apparatus for tv broadcasting and reception |
US4949187A (en) * | 1988-12-16 | 1990-08-14 | Cohen Jason M | Video communications system having a remotely controlled central source of video and audio data |
US4963995A (en) | 1988-12-27 | 1990-10-16 | Explore Technology, Inc. | Audio/video transceiver apparatus including compression means |
US4963866A (en) | 1989-03-27 | 1990-10-16 | Digital Recorders, Inc. | Multi channel digital random access recorder-player |
US5191431A (en) * | 1989-08-29 | 1993-03-02 | Canon Kabushiki Kaisha | Recording apparatus having plural operating modes involving diverse signal compression rates and different apportioning of pilot signal recording area |
US5099319A (en) * | 1989-10-23 | 1992-03-24 | Esch Arthur G | Video information delivery method and apparatus |
US5103467A (en) * | 1989-10-31 | 1992-04-07 | Motorola, Inc. | Asynchronous voice reconstruction for a digital communication system |
US5130792A (en) * | 1990-02-01 | 1992-07-14 | Usa Video Inc. | Store and forward video system |
GB2242094B (en) * | 1990-03-14 | 1994-01-05 | Sony Corp | Including break slots in broadcast video signals |
JPH0437384A (en) * | 1990-06-01 | 1992-02-07 | Pioneer Electron Corp | High vision signal recorder and its recording medium |
US5126982A (en) * | 1990-09-10 | 1992-06-30 | Aaron Yifrach | Radio receiver and buffer system therefore |
EP1337108B1 (en) * | 1990-09-10 | 2005-07-27 | Starsight Telecast, Inc. | Television schedule system |
US5132992A (en) * | 1991-01-07 | 1992-07-21 | Paul Yurt | Audio and video transmission and receiving system |
US5241428A (en) * | 1991-03-12 | 1993-08-31 | Goldwasser Eric P | Variable-delay video recorder |
AU2010192A (en) | 1991-05-21 | 1992-12-30 | Videotelecom Corp. | A multiple medium message recording system |
WO1992022983A2 (en) * | 1991-06-11 | 1992-12-23 | Browne H Lee | Large capacity, random access, multi-source recorder player |
US5488409A (en) * | 1991-08-19 | 1996-01-30 | Yuen; Henry C. | Apparatus and method for tracking the playing of VCR programs |
US5988078A (en) | 1991-12-04 | 1999-11-23 | Gemstar Development Corp. | Method and apparatus for receiving customized television programming information by transmitting geographic location to a service provider through a wide-area network |
US6400996B1 (en) * | 1999-02-01 | 2002-06-04 | Steven M. Hoffberg | Adaptive pattern recognition based control system and method |
JP3420257B2 (en) | 1992-03-12 | 2003-06-23 | キヤノン株式会社 | Playback device |
US5305438A (en) * | 1992-05-19 | 1994-04-19 | Sony Electronics Inc. | Video storage, processing, and distribution system using recording format independent hierarchical storages and processors |
GB2270791B (en) * | 1992-09-21 | 1996-07-17 | Grass Valley Group | Disk-based digital video recorder |
DE69324760T2 (en) * | 1992-10-19 | 1999-11-11 | Koninkl Philips Electronics Nv | Device for storing a data signal in a memory and for reproducing the data signal from this memory |
US5371551A (en) * | 1992-10-29 | 1994-12-06 | Logan; James | Time delayed digital video system using concurrent recording and playback |
US5357276A (en) | 1992-12-01 | 1994-10-18 | Scientific-Atlanta, Inc. | Method of providing video on demand with VCR like functions |
JP3255308B2 (en) * | 1992-12-18 | 2002-02-12 | ソニー株式会社 | Data playback device |
US5691964A (en) | 1992-12-24 | 1997-11-25 | Nsm Aktiengesellschaft | Music playing system with decentralized units |
FR2700908B1 (en) * | 1993-01-26 | 1995-02-24 | Thomson Consumer Electronics | Buffer television receiver. |
US6330334B1 (en) | 1993-03-15 | 2001-12-11 | Command Audio Corporation | Method and system for information dissemination using television signals |
US5590195A (en) * | 1993-03-15 | 1996-12-31 | Command Audio Corporation | Information dissemination using various transmission modes |
US6239794B1 (en) * | 1994-08-31 | 2001-05-29 | E Guide, Inc. | Method and system for simultaneously displaying a television program and information about the program |
US5438423C1 (en) * | 1993-06-25 | 2002-08-27 | Grass Valley Us Inc | Time warping for video viewing |
US5442390A (en) * | 1993-07-07 | 1995-08-15 | Digital Equipment Corporation | Video on demand with memory accessing and or like functions |
JPH0737369A (en) * | 1993-07-19 | 1995-02-07 | Sony Corp | Image signal recording/reproducing device |
US5553220A (en) * | 1993-09-07 | 1996-09-03 | Cirrus Logic, Inc. | Managing audio data using a graphics display controller |
JPH0798935A (en) | 1993-09-29 | 1995-04-11 | Toshiba Corp | Information signal recording and reproducing device |
JPH07130150A (en) * | 1993-10-29 | 1995-05-19 | Ricoh Co Ltd | Information equipment |
US5537337A (en) * | 1993-12-21 | 1996-07-16 | International Business Machines Corporation | Playback conflict detection method and apparatus |
US5535137A (en) * | 1994-02-14 | 1996-07-09 | Sony Corporation Of Japan | Random access audio/video processor with compressed video resampling to allow higher bandwidth throughput |
US5508940A (en) * | 1994-02-14 | 1996-04-16 | Sony Corporation Of Japan And Sony Electronics, Inc. | Random access audio/video processor with multiple outputs |
US5524051A (en) * | 1994-04-06 | 1996-06-04 | Command Audio Corporation | Method and system for audio information dissemination using various modes of transmission |
US5870549A (en) * | 1995-04-28 | 1999-02-09 | Bobo, Ii; Charles R. | Systems and methods for storing, delivering, and managing messages |
US5701383A (en) * | 1994-05-20 | 1997-12-23 | Gemstar Development Corporation | Video time-shifting apparatus |
US5477263A (en) * | 1994-05-26 | 1995-12-19 | Bell Atlantic Network Services, Inc. | Method and apparatus for video on demand with fast forward, reverse and channel pause |
US5515511A (en) * | 1994-06-06 | 1996-05-07 | International Business Machines Corporation | Hybrid digital/analog multimedia hub with dynamically allocated/released channels for video processing and distribution |
JPH0832922A (en) * | 1994-07-14 | 1996-02-02 | Hitachi Ltd | Magnetic recording/reproducing device |
JPH08107543A (en) * | 1994-10-07 | 1996-04-23 | Sony Corp | Character display controller |
US5774170A (en) * | 1994-12-13 | 1998-06-30 | Hite; Kenneth C. | System and method for delivering targeted advertisements to consumers |
JP3536866B2 (en) * | 1994-12-22 | 2004-06-14 | ソニー株式会社 | Video recording / reproducing apparatus and method |
US6002832A (en) | 1995-02-09 | 1999-12-14 | Matsushita Electric Industrial Co., Ltd. | Apparatus and method for recording and reproducing data |
JPH08279153A (en) * | 1995-04-04 | 1996-10-22 | Pioneer Video Corp | Transfer rate converting device and master disk recorder |
US5617357A (en) * | 1995-04-07 | 1997-04-01 | Advanced Micro Devices, Inc. | Flash EEPROM memory with improved discharge speed using substrate bias and method therefor |
DE69635707T2 (en) | 1995-04-21 | 2006-08-17 | Imedia Corp., San Francisco | DIGITAL HOME TV UNIT WITH COMBINED ARCHIVE AND HIGH ACCESS MEMORY |
DE69636180T2 (en) | 1995-04-27 | 2007-03-15 | Hitachi, Ltd. | Method and device for receiving and / or reproducing digital signals |
US5852705A (en) * | 1995-05-22 | 1998-12-22 | Sun Microsytems, Inc. | Method and apparatus for guaranteeing average case disk transfer bandwidth and seek time for a video server |
US5621473A (en) * | 1995-06-07 | 1997-04-15 | Philips Electronics North America Corporation | Method and device for providing video instant replay in a picture-in-picture |
JP3698273B2 (en) * | 1995-07-20 | 2005-09-21 | ソニー株式会社 | Electronic program guide transmission apparatus and method, electronic program guide reception apparatus and method, and electronic program guide transmission / reception system and method |
US5845240A (en) | 1996-07-24 | 1998-12-01 | Fielder; Mark | Selective recall and preservation of continuously recorded data |
US6505160B1 (en) * | 1995-07-27 | 2003-01-07 | Digimarc Corporation | Connected audio and other media objects |
JPH0964770A (en) * | 1995-08-18 | 1997-03-07 | Matsushita Electric Ind Co Ltd | Tuner integrally receiving ground broadcasting and satellite broadcasting |
US6002393A (en) | 1995-08-22 | 1999-12-14 | Hite; Kenneth C. | System and method for delivering targeted advertisements to consumers using direct commands |
US6430363B2 (en) * | 1995-09-11 | 2002-08-06 | Matsushita Electric Industrial Co., Ltd. | Video signal recording and reproducing apparatus |
US5949948A (en) * | 1995-11-20 | 1999-09-07 | Imedia Corporation | Method and apparatus for implementing playback features for compressed video data |
JP3371186B2 (en) | 1995-11-27 | 2003-01-27 | ソニー株式会社 | Video data distribution system and video data receiving device |
US6477312B1 (en) | 1995-12-07 | 2002-11-05 | Texas Instruments Incorporated | Instant replay system |
JP3528394B2 (en) * | 1996-01-23 | 2004-05-17 | ソニー株式会社 | Data recording / reproducing device |
JPH09214872A (en) * | 1996-01-30 | 1997-08-15 | Sony Corp | Information signal processing unit and information signal processing method |
US5995709A (en) * | 1996-12-27 | 1999-11-30 | Victor Company Of Japan, Ltd. | MPEG decoder and optical video disc player using the same |
US6263147B1 (en) * | 1996-02-28 | 2001-07-17 | Sun Microsystems, Inc. | Delayed decision recording device |
US6229953B1 (en) * | 1996-04-03 | 2001-05-08 | Nikon Corporation | Information input apparatus |
DE69700428T2 (en) * | 1996-04-12 | 1999-12-23 | Matsushita Electric Ind Co Ltd | PICTURE TITLE IN SUCH A WAY-SAVING OPTICAL MULTIMEDIA DISK THAT THE NEED OF AV FUNCTIONS FOR PLAYBACK CAN BE DETERMINED IMMEDIATELY, AND PLAYBACK DEVICE AND METHOD FOR IT |
JPH09298718A (en) | 1996-05-01 | 1997-11-18 | Sony Corp | Recording and reproducing device |
JP3299547B2 (en) | 1996-05-24 | 2002-07-08 | 株式会社日立製作所 | Partial discharge detector for gas insulated equipment |
US5815671A (en) * | 1996-06-11 | 1998-09-29 | Command Audio Corporation | Method and apparatus for encoding and storing audio/video information for subsequent predetermined retrieval |
AU3908297A (en) * | 1996-08-06 | 1998-02-25 | Starsight Telecast Incorporated | Electronic program guide with interactive areas |
US5956629A (en) | 1996-08-14 | 1999-09-21 | Command Audio Corporation | Method and apparatus for transmitter identification and selection for mobile information signal services |
JP3826451B2 (en) | 1996-09-11 | 2006-09-27 | ソニー株式会社 | Video signal recording and playback device |
CN1114912C (en) * | 1996-09-16 | 2003-07-16 | 皇家菲利浦电子有限公司 | Recording and reproducing system for simultaneous recording and reproduction via information carrier |
US5870553A (en) * | 1996-09-19 | 1999-02-09 | International Business Machines Corporation | System and method for on-demand video serving from magnetic tape using disk leader files |
KR100219610B1 (en) | 1996-09-20 | 1999-10-01 | 윤종용 | Digital signal record and play apparatus |
US5892536A (en) * | 1996-10-03 | 1999-04-06 | Personal Audio | Systems and methods for computer enhanced broadcast monitoring |
US6088455A (en) * | 1997-01-07 | 2000-07-11 | Logan; James D. | Methods and apparatus for selectively reproducing segments of broadcast programming |
US5986692A (en) | 1996-10-03 | 1999-11-16 | Logan; James D. | Systems and methods for computer enhanced broadcast monitoring |
US6005564A (en) | 1996-12-05 | 1999-12-21 | Interval Research Corporation | Display pause with elastic playback |
JPH10199142A (en) * | 1997-01-06 | 1998-07-31 | Sony Corp | Program recording device |
US6253375B1 (en) * | 1997-01-13 | 2001-06-26 | Diva Systems Corporation | System for interactively distributing information services |
WO1998041016A1 (en) * | 1997-03-13 | 1998-09-17 | Sony Corporation | Equipment and method for recording and reproducing image and sound |
EP0866446B1 (en) * | 1997-03-19 | 2002-05-29 | Kabushiki Kaisha Toshiba | A disk apparatus having a single recording head and capable of simultaneous recording and reproducing |
JPH10275416A (en) * | 1997-03-28 | 1998-10-13 | Sony Corp | Digital information signal recording device and reproducing device |
JP3166971B2 (en) * | 1997-04-01 | 2001-05-14 | 日本ビクター株式会社 | Digital data recording / reproducing apparatus and reproducing apparatus |
US6035367A (en) * | 1997-04-04 | 2000-03-07 | Avid Technology, Inc. | Computer file system providing looped file structure for post-occurrence data collection of asynchronous events |
JPH1169279A (en) * | 1997-06-10 | 1999-03-09 | Matsushita Electric Ind Co Ltd | Recording and reproducing device |
IL121230A (en) | 1997-07-03 | 2004-05-12 | Nds Ltd | Intelligent electronic program guide |
JP3528524B2 (en) * | 1997-07-10 | 2004-05-17 | ソニー株式会社 | Recording / reproducing apparatus, recording / reproducing method, and recording medium |
US6324337B1 (en) | 1997-08-01 | 2001-11-27 | Eric P Goldwasser | Audio speed search |
US6618775B1 (en) | 1997-08-15 | 2003-09-09 | Micron Technology, Inc. | DSP bus monitoring apparatus and method |
US6295094B1 (en) * | 1997-09-11 | 2001-09-25 | U.S. Philips Corporation | Instant replay of digital video optimized using non MPEG frame tags |
JPH11112925A (en) * | 1997-10-01 | 1999-04-23 | Sony Corp | Signal recording and/or reproducing device and their method, signal recording device and its method, and signal reproducing device and its method |
US6327418B1 (en) | 1997-10-10 | 2001-12-04 | Tivo Inc. | Method and apparatus implementing random access and time-based functions on a continuous stream of formatted digital data |
US6112007A (en) * | 1997-10-22 | 2000-08-29 | Kram; Christine | Continuous delay television picture display apparatus |
KR20000069754A (en) * | 1997-10-29 | 2000-11-25 | 요트.게.아. 롤페즈 | Device for receiving, displaying and simultaneously recording television images via a buffer |
US6636271B1 (en) | 1998-01-07 | 2003-10-21 | Thomson Licensing S.A. | Apparatus and method for playing back a recorded video signal in a time compressed manner |
EP0940980A2 (en) * | 1998-03-05 | 1999-09-08 | Matsushita Electric Industrial Co., Ltd. | User interface apparatus and broadcast receiving apparatus |
JP4078622B2 (en) * | 1998-03-06 | 2008-04-23 | ソニー株式会社 | Signal recording / reproducing apparatus and method |
US6788882B1 (en) | 1998-04-17 | 2004-09-07 | Timesurf, L.L.C. | Systems and methods for storing a plurality of video streams on re-writable random-access media and time-and channel- based retrieval thereof |
US6289163B1 (en) * | 1998-05-14 | 2001-09-11 | Agilent Technologies, Inc | Frame-accurate video capturing system and method |
US6411770B1 (en) * | 1998-07-02 | 2002-06-25 | Sony Corporation | Data recording method and apparatus |
US6233389B1 (en) * | 1998-07-30 | 2001-05-15 | Tivo, Inc. | Multimedia time warping system |
JP2000165788A (en) * | 1998-11-30 | 2000-06-16 | Toshiba Corp | Digital broadcasting receiving terminal equipment |
US6608963B1 (en) * | 1998-12-18 | 2003-08-19 | Index Systems, Inc. | Video medium indexing system and method |
US6757906B1 (en) * | 1999-03-30 | 2004-06-29 | Tivo, Inc. | Television viewer interface system |
US6611654B1 (en) * | 1999-04-01 | 2003-08-26 | Koninklijke Philips Electronics Nv | Time- and location-driven personalized TV |
JP2001186450A (en) | 1999-12-24 | 2001-07-06 | Sony Corp | Information processor, information processing method and recording medium |
US6483986B1 (en) | 2000-05-26 | 2002-11-19 | Keen Personal Media, Inc. | Method and apparatus for recording streaming video data upon selection of alternative subject matter |
JP4863540B2 (en) | 2000-07-31 | 2012-01-25 | ソニー株式会社 | Recording / playback apparatus and content management method |
DE60109376T2 (en) | 2000-08-01 | 2006-01-19 | Command Audio Corp., Redwood City | Method and signal for transmitting a broadcast program to a wireless receiver |
US6490432B1 (en) | 2000-09-21 | 2002-12-03 | Command Audio Corporation | Distributed media on-demand information service |
US6766100B1 (en) * | 2000-10-19 | 2004-07-20 | Ati International Srl | Method and apparatus for multi-TV tuner display of video information |
US6622007B2 (en) | 2001-02-05 | 2003-09-16 | Command Audio Corporation | Datacast bandwidth in wireless broadcast system |
US6600888B2 (en) * | 2001-11-02 | 2003-07-29 | Xerox Corporation | Liquid charging method and apparatus |
US6775461B2 (en) * | 2002-10-15 | 2004-08-10 | Sony Corporation | Data management method for recorded programs stored on a digital recording device |
-
1998
- 1998-04-17 US US09/062,022 patent/US6788882B1/en not_active Expired - Lifetime
-
2004
- 2004-09-03 US US10/933,787 patent/US7925141B2/en not_active Expired - Fee Related
-
2011
- 2011-04-11 US US13/084,373 patent/US20110255838A1/en not_active Abandoned
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5485459A (en) * | 1992-12-21 | 1996-01-16 | D2B Systems Company Limited | Local communication system with plural data channels |
US5805932A (en) * | 1994-04-22 | 1998-09-08 | Sony Corporation | System for transmitting compressed data if compression ratio is at least preset ratio and pre-compressed data if compression ratio is less than preset ratio |
US5886746A (en) * | 1994-12-13 | 1999-03-23 | Gemstar Development Corporation | Method for channel scanning |
US5850249A (en) * | 1995-10-12 | 1998-12-15 | Nielsen Media Research, Inc. | Receiver monitoring system with local encoding |
US5999691A (en) * | 1996-02-08 | 1999-12-07 | Matsushita Electric Industrial Co., Ltd. | Television receiver, recording and reproduction device, data recording method, and data reproducing method |
US6061056A (en) * | 1996-03-04 | 2000-05-09 | Telexis Corporation | Television monitoring system with automatic selection of program material of interest and subsequent display under user control |
US5838873A (en) * | 1996-05-31 | 1998-11-17 | Thomson Consumer Electronics, Inc. | Packetized data formats for digital data storage media |
US5796434A (en) * | 1996-06-07 | 1998-08-18 | Lsi Logic Corporation | System and method for performing motion estimation in the DCT domain with improved efficiency |
US6754438B1 (en) * | 1996-10-25 | 2004-06-22 | Nec Corporation | Information reproducing apparatus |
US6012112A (en) * | 1997-09-30 | 2000-01-04 | Compaq Computer Corporation | DVD assembly, and associated apparatus, for a convergent device |
US7185355B1 (en) * | 1998-03-04 | 2007-02-27 | United Video Properties, Inc. | Program guide system with preference profiles |
US20030110514A1 (en) * | 2001-12-06 | 2003-06-12 | West John Eric | Composite buffering |
Also Published As
Publication number | Publication date |
---|---|
US20050025469A1 (en) | 2005-02-03 |
US7925141B2 (en) | 2011-04-12 |
US6788882B1 (en) | 2004-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7925141B2 (en) | Systems and methods for storing a plurality of video streams on re-writable random-access media and time- and channel-based retrieval thereof | |
US10181338B2 (en) | Multimedia visual progress indication system | |
US8214860B2 (en) | Image retrieval assisting method, image retrieval assisting apparatus, and broadcast receiving set | |
US7272296B2 (en) | Navigating to a particular program or specific time increment in a personal video recorder | |
US6868225B1 (en) | Multimedia program bookmarking system | |
US9113122B2 (en) | Method and apparatus for time-shifting video and text in a text-enhanced television program | |
US20060020966A1 (en) | Program guide with integrated progress bar | |
CN1937732A (en) | Searching scenes on personal video recorder pvr | |
CN1819639A (en) | Recording and playback apparatus and method | |
US6760535B1 (en) | Method and apparatus for cache management for a digital VCR archive | |
CN1354952A (en) | Video tape indexing system and method | |
KR100961296B1 (en) | Method for searching telerecoding list in PVR system | |
JP4162014B2 (en) | Display control apparatus and display control method | |
EP1816864A2 (en) | An apparatus and method for permanently storing a broadcast program during time machine function | |
US20020126587A1 (en) | Apparatus for recording and playing back information | |
KR20040080657A (en) | Recording/reproducing apparatus and method for control reproducing thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: CHARTOLEAUX KG LIMITED LIABILITY COMPANY, DELAWARE Free format text: MERGER;ASSIGNOR:TM SF MEDIA HOLDINGS, L.L.C.;REEL/FRAME:037096/0574 Effective date: 20150812 |
|
AS | Assignment |
Owner name: INTELLECTUAL VENTURES ASSETS 59 LLC, DELAWARE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CHARTOLEAUX KG LIMITED LIABILITY COMPANY;REEL/FRAME:043706/0735 Effective date: 20170912 |
|
AS | Assignment |
Owner name: IQ HOLDINGS, LLC, GEORGIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTELLECTUAL VENTURES ASSETS 59 LLC;REEL/FRAME:044668/0859 Effective date: 20170922 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: SYNCHVIEW TECHNOLOGIES, LLC, GEORGIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:IQ HOLDINGS, LLC;REEL/FRAME:045530/0733 Effective date: 20180410 |