Peter T. Barrett has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
Abstract: In a system that includes a processor and a display device on which video programming can be displayed, a method for transitioning to a video advertisement by displaying a related banner advertisement. The method includes generating, on the display device, a display screen on which a video advertisement is to be displayed, the display screen being generated at a time before a time at which the video advertisement is available to be displayed. A banner advertisement is displayed on the display screen at a region that coincides with a region where the video advertisement is to be displayed. The banner advertisement can have a subject matter that is related to that of the video advertisement or alternatively have any subject matter. When the video advertisement becomes available to be displayed, the method can include replacing the banner advertisement with the video advertisement.
Abstract: Methods, systems, and computer program products for searching interactive broadcast data for a string of text. Binary signatures are generated for each text description in the interactive broadcast data. A user-entered text string is also converted to a binary signature. A binary signature is a bit field representation of a block of text. A binary signature may be significantly smaller than the unconverted block of text, yet may still be unique when compared binary signatures of other blocks of text. All binary signatures may be generated using the same hash or digest function. The binary signature of the user-entered text string is compared to the binary signature of each entry in the interactive broadcast data. If the any of the comparisons indicate that the user-entered text string is included in an interactive broadcast data text description, other data associated with the interactive broadcast data may be retrieved.
Abstract: Reducing the amount of input required by a user to enter an electronic message. When an electronic message is received, one or more language expressions associated with the electronic message are displayed to a user. The user may select one or more of the language expressions and have the full text of all the selected language expressions included in a reply electronic message. Icons, which represent a user's capability to engage in an electronic messaging session, may also be displayed. When a user changes their capability to engage in an electronic messaging session, for instance when they go offline, a command may be sent to other users. This command may take the form of a character sequence not normally occurring in written language, which is interpreted by network devices and changes the display of the icon associated with a the user who went offline.
Abstract: A method for displaying an electronic program guide (EPG) to a viewer. The method includes displaying one or more data slices representative of broadcast programming to a viewer. In response to input from the viewer, the displayed number of data slices is increased, for example, from one slice to two slices. In browser mode the viewer can scroll through multiple EPG data slices without selecting to view full mode EPG, while in full mode the EPG can expand from a single column of data slices to multiple columns of data slices based upon viewer selections. The EPGs of the present invention can display programming that a viewer is more likely to watch at a particular time than other programming. A data slice representing the predicted programming can be inserted into the EPG so that the viewer can identify programming that is likely to be of interest.
May 14, 2001
November 14, 2002
WebTV Networks, Inc.
Peter T. Barrett, Daniel Danker, Jeffrey D. Yaksick
Abstract: Replaying a compressed digital video stream in fast-forward and reverse modes at varied playback rates. An index of interceded frames, those frames not dependant on other frames for generation, is stored. The index includes the size of intercoded frames and their storage location. When a specified playback rate is requested, the intercoded frames are retrieved using the index. The interceded frames then have one or more intracoded frames, frames that reference other frames for generation, placed between them to generate a frame sequence. The intracoded frames are “blank,” meaning they contain only information from their associated interceded frame. By inserting “blank” frames specified playback rates and bit rates are generated. The index of interceded frames may also be accessed to generate playback in reverse mode, which conserves memory resources of associated systems by generating the reverse playback stream in an iterative manner.
Abstract: A system for distributing digital data over a video channel to a plurality of remotely located client terminals. The system involves selecting a set of digital data to be distributed and converting it to an intermediate format compatible with video broadcast. The intermediate data is then broadcast over a video channel during a time when no video content is being transmitted so that the intermediate format data takes the place of the video content. The intermediate format data is received at a remotely located client terminal where the set of digital data is recovered.
February 8, 1999
Date of Patent:
June 25, 2002
WebTV Networks, Inc.
Peter T. Barrett, Steven C. Wasserman, Stephen G. Perlman
Abstract: A method and apparatus for displaying a color image stored in a YUV color format on a display device that generates video in an RGB format. The apparatus uses a frame buffer which stores a color index for each pixel. The index is used to select an RGB color in a color look-up table as the video signal is generated. Each input YUV value is converted to a mapping table index for addressing a pair of the color indices stored in a color space mapping table. To generate the mapping table index, a random number can be added to the Y, U, and V color components, which are then truncated and merged to generate the mapping table index. The color space mapping table is pre-loaded with a color index pairs, each corresponding to two pixels in the frame buffer represented by one input YUV color value.
Abstract: A vector quantization method and apparatus which processes signal vectors constructed from digital image data (such as a digital video stream). The digital video stream is treated as a sequence of images, each represented by a rectangular array of pixels. The pixels are processed in blocks (typically 4.times.4 blocks) of two types, known as smooth blocks and detail blocks. The detail blocks contain the original image pixels, while the smooth blocks contain pixels from a subsampled version of the image. The pixels in the blocks are formatted into image vectors, again in two types. Each type of image vector is separately compressed using a vector quantization coder and a separate code book for each type. Smooth image vectors are compressed using a smooth code book and detail image vectors compressed using a detail code book.
Abstract: A method and apparatus for compressing YUV color image data representing an image. The method includes the steps of generating base image data containing low frequency image information where the base image data is a function of the Y component, the U component, and the V component, and generating detail image data containing high frequency image information where the detail image data is a function of the Y component alone. The base image data can be decompressed to from a decompressed base image data that is an approximate facsimile of the original image and the detail image data can be decompressed and selectively added to the decompressed base image data to form a facsimile which more accurately duplicates the original image than the decompressed base image data alone.
Abstract: A method and apparatus for image compression suitable for personal computer applications, which compresses and stores data in two steps. An image is captured in real-time and compressed using an efficient method and stored to a hard-disk. At some later time, the data is further compressed in non-real-time using a computationally more intense algorithm that results in a higher compression ratio. The two-step approach allows the storage reduction benefits of a highly sophisticated compression algorithm to be achieved without requiring the computational resources to perform this algorithm in real-time. A compression algorithm suitable for performing the first compression step on a host processor in a personal computer is also described. The first compression step accepts 4:2:2 YCrCb data from the video digitizer. The two chrominance components are averaged and a pseudo-random number is added to all components. The resulting values are quantized and packed into a single 32-bit word representing a 2.times.