Abstract:
Techniques for comparing blocks of pixels in digital image encoding. The techniques apply a pattern of elements containing contiguous pixels to the blocks being compared, and only the pixels in the elements are compared. The pixels are contiguous in the horizontal dimension of the digital image, which ensures that the block matching process is sensitive to small-scale vertical features of the image. A version of the technique which is particularly advantageous for use with DSPs that can process the pixels in a word in parallel uses checkerboard patterns in which each element is a word. Variations on the patterns take into account the fact that the block of pixels being compared may be word-aligned, misaligned by one pixel, misaligned by two pixels, and misaligned by three pixels. Misalignment may be dealt with by not comparing pixels that do not belong to the blocks being compared or by using an aligned pattern which does not completely cover the block and adding elements in the portion covered by the pattern to compensate for the elements that are not covered.
Abstract:
The present invention is directed to a videophone system implemented over a cable television network. The instant invention provides a videophone comprising a camera for capturing images associated with a videophone signal, a videophone unit and a set top terminal or cable modem connecting the videophone to a cable television network. Videophone signals created at the call origination site are encoded and transported to a predetermined destination over an existing cable television network. The system uses IP addresses as phone number on the network. Additionally, transport of videophone signals between different cable systems is accomplished via a high-speed long distance data network, such as, for example, a satellite network, that provides communication between the headends of the different cable television systems. The set top terminal may be a conventional subscriber terminal, a cable modem or a subscriber terminal configured to operate as a cable modem. The set top terminal provides the interface between the videophone and the cable television system. More than one videophone may be connected to a single set top terminal. Display of videophone data may be achieved using any conventional display device, including a television set or a personal computer monitor. Accordingly, the videophone system described herein takes advantage of increased bandwidth and lower cost realized by using existing cable television infrastructure and technology.
Abstract:
A graphical user interface for a videophone in a cable television system allows the user to access the videophone functionalities with an input control device and a television monitor. The user can place a call, receive a call and store/access/call addresses using a remote in conjunction with the graphical user interface display screens. The videophone has several elements including a user interface, a graphics engine, a network interface, a remote control interface, and an output audio/video line connected to a television monitor. The user interface receives and processes control inputs using a microprocessor and the graphics engine generates the display screens using a DSP. Depending on processing requirements, the DSP may implement the user interface rather than the microprocessor. Also, anti-aliasing fonts are used to generate a high quality display. To save processing cycles, the anti-aliasing fonts may be retrieved from a look-up table rather than being generated in real time. The videophone may be implemented as a plug-in device to a set-top box, a standalone unit, or a standalone unit with a set-top box between the monitor and the videophone unit. When implemented with a set-top box the same remote control unit may be used to control the television and videophone functions.
Abstract:
Techniques for doing motion estimation in video encoding. A predictor block which is a best match for a current block is located by comparing the current block of the picture currently being encoded with candidate blocks that are located using the motion vectors of blocks that are either spatially or temporally proximate to the current block. If a given proximate block does not have a usable motion vector, another proximate block is used. The temporally proximate blocks are blocks in the last picture to be encoded prior to the current picture. The candidate blocks are further used to define a minimized portion of the search space which will fit inside the local RAM of the processor used to compare the current block with the candidates. The minimized search space is used in a two-phase method which begins with the candidates located using the proximate blocks and continues with a diamond-shaped search space centered on the best candidate located using the proximate blocks. The duration of the search method is controlled by three thresholds. Each succeeding one of the thresholds requires a closer match for the predictor than the previous threshold. The size and shape of the diamond-shaped search space may vary according to the motion vectors of previous predictors and according to the number of processor cycles that are available to perform the search. Similarly, the number and locations of the proximate blocks may vary according to the motion vectors of previous predictors and the number of processor cycles available.
Abstract:
A charge coupled device (CCD) camera includes a CCD imager circuit, a compression engine, and a control circuit coupled to both the CCD imager circuit and the compression engine. The CCD imager circuit is characterized by an integration time defined by clock pulses from the control circuit. The compression engine generates successive frame requests. The control circuit generates the clock pulses to define the integration time based on a time between the sucessive frame requests. The camera further includes a histogram accumulator and an automatic gain controlled (AGC) amplifier coupled between the CCD imager circuit and the histogram accumulator. The CCD imager circuit is characterized by a predetermined maximum imager dynamic range and generates successive frames of imager data values, each successive frame of imager data values being characterized by an imager data value dynamic range and each frame of imager data values being generated based on a corresponding integration time. The AGC amplifier is characterized by an AGC gain defined by a gain control signal and characterized by a maximum output dynamic range. The AGC amplifier processes the successive frames of imager data values into corresponding successive frames of gain controlled data values, each successive frame of gain controlled data values being characterized by a gain controlled data value dynamic range. The histogram accumulator processes a first frame of gain controlled data values to determine a first frame result. The control circuit generates the clock pulses based on the first frame results to define the integration time that corresponds to a second frame of imager data values so that the integration time is maximized while the imager data value dynamic range is less than the maximum imager dynamic range, and the control circuit further generates the gain control signal based on the first frame results and the maximum imager dynamic range to minimize the AGC gain required so that the gain controlled data value dynamic range is equal to a predetermined range within the maximum output dynamic range.