Claims
- 1. A method of generating pixels to fill in interline gaps in a field of pixels of video information, the field of pixels being A pixels wide and containing B lines of pixels, the method comprising:
(a) examining a block of pixels of the field, wherein the block is X pixels wide and contains Y lines of pixels, wherein the block of pixels has interline gaps, and wherein X is less than A, and wherein Y is less than B; (b) determining whether the pixels of the block exhibit a motion charactistic; (c) wherein if the pixels of the block are determined not to exhibit the motion characteristic in (b) then performing temporal interpolation to generate interline gap pixels for the block; (d) wherein if the pixels of the block are determined to exhibit the motion characteristic in (b) then performing spatial interpolation to generate interline gap pixels for the block; and (e) repeating steps (a) through (d) for each of the blocks of pixels of the field.
- 2. The method of claim 1, wherein step (b) further includes writing a motion history bit in a motion history buffer to indicate whether the block exhibits the motion characteristic, and wherein steps (a) and (b) are performed for a plurality of the blocks of the field such that a plurality of motion history bits in the motion history buffer are written in step (b) before any interline gap pixels for any of the plurality of blocks are generated in steps (c) and (d).
- 3. The method of claim 2, wherein each pixel includes a luminance value and a chrominance value, and wherein the determination in (b) involves using the luminance values of substantially all the pixels of the block in a motion detection calculation.
- 4. The method of claim 3, wherein the determination in (b) involves generating a sum and generating a difference, and wherein the block is detemermined to exhibit motion if the magnitude of the sum has a predetermined relationship with respect to the magnitude of the difference.
- 5. The method of claim 1, wherein the spatial interpolation of step (c) does not involve using pixels outside said field, and wherein the temporal interpolation of step (d) involves using pixels in a field outside said field.
- 6. The method of claim 1, wherein each successive block of pixels examined in steps (a) and (b) overlaps another block of pixels of the field.
- 7. A method of deinterlacing a field of pixels of video information, the field of pixels comprising a rows and columns of blocks of pixels, each block of pixels having a plurality of interline gaps, the method comprising:
(a) analyzing one of the blocks and determining whether the block exhibits a motion characteristic; and (b) using a first interpolation method to generate interline gap pixels for the block in step (a) if the block is determined in step (a) to exhibit the motion characteristic, otherwise using a second interpolation method to generate the interline gap pixels for the block.
- 8. The method of claim 7, wherein the first interpolation method is more computationally intensive relative to the second interpolation method.
- 9. The method of claim 8, wherein the first interpolation method is a spatial interpolation method, and wherein the second interpolation method is a temporal interpolation method, and wherein the spatial interpolation method comprises:
(b1) determining whether pixels surrounding a missing interline gap pixel exhibit a predetermined gradient characteristic, and if the surrounding pixels exhibit the predetermined gradient charactertisitic then storing a first missing pixel gradient value associated with the missing interline gap pixel, whereas if the pixels surrounding the missing interline gap pixel do not exhibit the predetermined gradient characteristic then storing a second missing pixel gradient value associated with the missing interline gap pixel; (b2) repeating step (b1) for each of a plurality of missing interline gap pixels of a block of missing interline gap pixels and thereby generating a plurality of missing pixel gradient values; (b3) examining the plurality of missing pixel gradient values generated in (b1) and (b2) and determining whether a first predetermined pattern of missing pixel gradient values exists in the plurality of missing interline gap pixels, the first predetermined pattern of missing pixel gradient values being indicative of a first luminance gradient condition; (b4) if the first predetermined pattern of missing pixel gradient values is determined to exist in (b3) then applying a first spatial interpolation method to generate each of the missing interline gap pixels; (b5) if the first predetermined pattern is not determined to exist in step (b3) then examining the plurality of missing pixel gradient values and determining whether a second predetermined pattern of missing pixel gradient values exists in the plurality of missing interline gap pixels, the second predetermined pattern of missing pixel gradient values being indicative of a second luminance gradient condition; and (b6) if the second predetermined pattern of missing pixel gradient values is determined to exist in (b5) then applying a second spatial interpolation method to generate each of the missing interline gap pixels of the block of missing interline gap pixels.
- 10. The method of claim 9, wherein the first spatial interpolation method is a low angle spatial interpolation method, wherein the second spatial interpolation method is a low angle spatial interpolation method, and wherein if the block of pixels is determined in step (a) to exhibit the motion characteristic and if neither the first nor the second spatial interpolation methods are applied in steps (b4) or (b6) then performing the step:
(b7) applying a high angle spatial interpolation method of generate each of the missing interline gap pixels of the block of missing interline gap pixels.
- 11. The method of claim 7, wherein the method comprises retrieving a plurality of said blocks of pixels out of a memory, and performing step (a) on each of the blocks and thereby determining whether each of the plurality of blocks exhibits the motion characteristic, and thereafter performing step (b) on each successive one of the plurality of blocks retrieved and thereby generating a first line of interline gap pixels for each of the blocks, and thereafter performing step (b) again on each successive one of the plurality of blocks retrieved and thereby generating a second line of interline gap pixels for each of the blocks, and repeating step (b) on each of the plurality of blocks retrieved out of memory until all the missing lines of interline gap pixels in each of the blocks has been generated.
- 12. The method of claim 7, wherein each of the blocks overlaps at least two other ones of the blocks.
- 13. A circuit for deinterlacing a field of pixels of video information, the field of pixels comprising a rows and columns of blocks of pixels, each block of pixels having a plurality of interline gaps, the circuit comprising:
a memory storing the field of pixels; a memory controller that reads blocks of pixels out of said memory in segments, each segment containing a plurality of blocks; and block-based motion detection and deinterlacing (BBMDD) circuitry that receives segments of blocks from the memory controller, for each segment the BBMDD circuitry analyzes each of the blocks of the segment and determines whether each such block exhibits a motion characteristic, wherein if one of the blocks is determined to exhibit the motion characteristic then the BBMDD circuitry uses a first interpolation method to generate interline gap pixels for the block but if the block is determined not to exhibit the motion characteristic then the BBMDD circuitry uses a second interpolation method to generate the interline gap pixels for the block.
- 14. The circuit of claim 13, wherein the memory controller and the BBMDD circuitry is part of an integrated circuit, the integrated circuit further comprising:
a plurality of segment buffers, wherein the BBMDD circuitry receives segments of pixels from the memory controller via the plurality of segment buffers; and a first-in-first-out (FIFO), wherein the BBMDD circuitry transfers generated interline gap pixels to the memory controller via the FIFO.
- 15. The circuit of claim 14, wherein the memory controller transfers pixels into one of the segment buffers and the same time that the BBMDD accesses other pixels from the segment buffer.
- 16. The circuit of claim 13, wherein each of the blocks of pixels overlaps at least two other of the blocks of pixels.
- 17. The circuit of claim 13, wherein the BBMDD circuitry comprises a motion history buffer, and wherein the BBMDD writes a motion history bit into the motion history buffer for each block of pixels to indicate whether the block of pixels exhibits the motion characteristic.
- 18. The circuit of claim 13, wherein each of the segments overlaps at least two other segments.
- 19. The circuit of claim 13, wherein a field of pixels is A pixels wide and contains B lines of pixels, and wherein each of the segments is X pixels wide and contains Y lines of pixels, wherein X is less than A, and wherein Y is less than B.
- 20. The circuit of claim 13, wherein the first interpolation method is a spatial interpolation method, and wherein the second interpolation method is a temporal interpolation method.
- 21. The circuit of claim 13, wherein the first interpolation method is more computationally intensive relative to the second interpolation method.
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application claims the benefit under 35 U.S.C. §120 of, and is a continuation-in-part of, of U.S. patent application Ser. No. 10/235,628, by Chan et al., entitled “Display Processor Integrated Circuit With On-Chip Programmable Logic For Implementing Custom Enhancement Functions,” filed Sep. 4, 2002 (the subject matter of the above-identified patent application is incorporated herein by reference).
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
10235628 |
Sep 2002 |
US |
Child |
10722340 |
Nov 2003 |
US |