US20050062892A1 - Method and apparatus for reducing on-chip memory in vertical video processing - Google Patents

Method and apparatus for reducing on-chip memory in vertical video processing Download PDF

Info

Publication number
US20050062892A1
US20050062892A1 US10/391,465 US39146503A US2005062892A1 US 20050062892 A1 US20050062892 A1 US 20050062892A1 US 39146503 A US39146503 A US 39146503A US 2005062892 A1 US2005062892 A1 US 2005062892A1
Authority
US
United States
Prior art keywords
data
slice
raster
vertical
processing
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
Application number
US10/391,465
Inventor
Dale Adams
Laurence Thompson
Jano Banks
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Silicon Image Inc
DVDO Inc
Original Assignee
DVDO Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by DVDO Inc filed Critical DVDO Inc
Priority to US10/391,465 priority Critical patent/US20050062892A1/en
Assigned to SILICON IMAGE, INC. reassignment SILICON IMAGE, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: FREELAND, HOWARD, SECRETARY OF DVDO, INC.
Publication of US20050062892A1 publication Critical patent/US20050062892A1/en
Assigned to DVDO, INCORPORATED reassignment DVDO, INCORPORATED ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ADAMS, DALE R., BANKS, JANO D., THOMPSON, LAURENCE A.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0117Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving conversion of the spatial resolution of the incoming video signal
    • H04N7/012Conversion between an interlaced and a progressive signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/775Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0112Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level one of the standards corresponding to a cinematograph film standard
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation 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/8042Transformation 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
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2310/00Command of the display device
    • G09G2310/02Addressing, scanning or driving the display screen or processing steps related thereto
    • G09G2310/0229De-interlacing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/66Transforming electric information into light information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • H04N5/85Television signal recording using optical recording on discs or drums

Definitions

  • the present invention relates generally to video processing and, more particularly, to techniques for vertical processing of horizontally scanned video images.
  • FIG. 1 shows an illustration of a rectangular picture area 10 with a horizontal full row scanning sequence.
  • the rectangular picture area 10 is divided into a number of rows of data 12 which are scanned from left to right, with rows being traversed from the top of the image to the bottom.
  • Video data is generally produced in this type of horizontal raster-scanned format. Video data is also provided in this fashion from a wide variety of data sources (e.g., broadcast, video tape, video disc) and used in the same sequence for display purposes (e.g., television, computer monitors, LCD displays).
  • data sources e.g., broadcast, video tape, video disc
  • display purposes e.g., television, computer monitors, LCD displays
  • FIG. 2 is a diagram of a prior art video processor 14 , which processes video data before displaying or storing the data.
  • the video processor 14 typically receives data 16 in a raster-scan format.
  • the video processor 14 must deliver the processed video data 18 in the same or similar format. Examples of common types of processing include image size reduction/enlargement (or “scaling”), filtering to remove high frequencies, filtering to enhance detail in the image, or format conversion from one video data type to another (e.g., deinterlacing).
  • DRAM dynamic random access memory
  • FIG. 3 is a diagram of a horizontal raster-scanned video image 20 divided into a number of scan lines 22 and pixels 24 . In order to vertically process the data, multiple pixels are needed which come from different scan lines 22 .
  • a single line memory for the ITU-R BT.601 standard digital video formats typically contains 720 16-bit pixels, or 11520 memory bits.
  • On-chip memory requirements of this order significantly reduce the available implementation options (e.g., prototyping with field programmable gate arrays (FPGA) or most gate-arrays is not viable) and increase the chip die area and cost. While these expensive line memories for vertical video processing cannot be eliminated completely, any reduction of the memory requirements would be valuable.
  • FPGA field programmable gate arrays
  • the present invention fills these needs by providing an efficient and economical method and apparatus for high quality vertical video processing utilizing off-chip commodity memory and an alternative scan sequence for vertical processing. It should be appreciated that the present invention can be implemented in numerous ways, including as a process, an apparatus, a system, a device or a method. Several inventive embodiments of the present invention are described below.
  • a digital image processor in one embodiment, includes an input buffer for storing raster-scanned data.
  • a slice-buffer memory is coupled to the input buffer to store a portion of a vertical slice of said raster-scanned data.
  • the vertical slice is processed by a vertical slice processor having an input coupled to the slice-buffer memory.
  • the vertical slice processor reassembles the vertical slices into processed raster-scanned data in an output buffer that is coupled to the output of the vertical slice processor.
  • the digital image processor preferably utilizes multiple sequential processing stages and processes the raster-scanned data along the horizontal axis of the vertical slices.
  • a method of processing image data includes buffering a block of raster-scanned data in an input buffer.
  • Vertical slices of the raster-scanned data are sequentially retrieved and processed, forming processed vertical slices.
  • the processed vertical slices are then stored in an output buffer to form a processed block of raster-scanned data.
  • the vertical slices are preferably comprised of a slice core and at least one pair of wings, which overlap the slice core of horizontally adjacent vertical slices.
  • the width of the processed block of raster-scanned data is preferably equal to the width of the slice core.
  • An advantage of the present invention is that the on-chip-memory requirements for high quality vertical processing are significantly reduced. By dividing the rectangular video field or frame into smaller portions, the memory requirements of the system can be reduced by an order of magnitude. Therefore, the image processing chip is not limited by the constraints of having only a small number of on-chip line memories. In addition, by not having to use the line memories, costs are dramatically reduced.
  • FIG. 1 illustrates a rectangular picture area with a full row scanning sequence of the prior art.
  • FIG. 2 is a diagram of a prior art video processor.
  • FIG. 3 is a diagram of a prior art horizontal raster-scanned video image divided into a number of scan lines and pixels.
  • FIG. 4 illustrates a video frame in accordance with the present invention which is subdivided into a number of vertical slices for a slice scanning sequence exemplified by a corresponding number of scan lines.
  • FIG. 5 illustrates an example of an initial slice core that has a problem with unavailable data on its left edge and right edge.
  • FIG. 6 illustrates a slice that has added wings along the initial slice core's left and right edges.
  • FIG. 7 illustrates an overall structure of overlapping slice/wing combinations.
  • FIG. 8 is a flow chart illustrating a method of processing video in accordance with the present invention.
  • FIG. 9 illustrates a system diagram for a slice based video processor of the present invention.
  • FIG. 10 illustrates a system diagram of a video processing chip architecture of the present invention.
  • FIGS. 1-3 were described in terms of the prior art.
  • FIG. 4 illustrates a video frame 25 of the present invention subdivided into a number of vertical slices 26 for a slice scanning sequence exemplified by a corresponding number of scan lines 28 .
  • Each slice 26 is scanned in a format similar to that used in a conventional raster-scanned sequence, with the scanning sequence proceeding to the subsequent slice when the end of a given slice is reached.
  • the advantage of this format is that the length of the line memories is reduced by a factor roughly equal to the number of vertical slices used. Line memories are still necessary, but they are now much shorter than before, resulting in a much reduced on-chip memory requirement. For instance, if the number of slices were set to 10, the reduction in on-chip memory would be by an entire order of magnitude.
  • FIG. 5 illustrates an example of a slice core 30 that has a problem with unavailable data on its left edge 32 and right edge 34 .
  • Video processing requires that data surrounding a given pixel be available in both the horizontal and vertical directions (in this case 5 ⁇ 5 matrices 36 and 38 centered on the pixel).
  • Processing matrix 36 resides in the center of the slice core 30 , so there is no problem with availability of data because it is available in both horizontal and vertical directions on all sides of processing matrix 36 .
  • processing matrix 38 is on the left edge 32 of the slice core 30 , and is missing horizontally adjacent data. Two columns of pixel data 40 are missing because they are outside the left edge 32 of the slice core 30 .
  • FIG. 6 illustrates a slice 46 that has added a pair of thin vertical slices or “wings” 48 and 50 along the left and right edges 32 and 34 .
  • Wing 48 must be added to the slice core 30 to provide the pixel data needed for the processing matrix.
  • Wing 50 must be added to the right edge 34 of the slice core 30 . Because wing 48 has been added to slice 46 , processing matrix 38 no longer suffers from the lack of data outside of the left edge 32 of slice 46 .
  • FIG. 7 illustrates an overall structure of overlapping slice/wing combinations 52 .
  • Slice 46 from FIG. 6 is shown as an exemplary slice.
  • Wings 48 and 50 of slice 46 are composed of data from a pair of adjacent slices, one to the left and one to the right of slice 46 . More specifically, the missing two left columns of pixels in wing 48 are supplied from the two right most columns 54 of a slice 56 immediately to the left of slice 46 . So in a sequence of slices 58 , the left-most wing of slice N overlaps the core of slice N- 1 , while the right-most wing of slice N- 1 overlaps the core of slice N.
  • FIG. 8 is a flow chart illustrating a method 60 of processing video.
  • the input to a video processing block is therefore the slice 46 with slice core 30 , left wing 48 and right wings 50 .
  • the left wing 48 is divided into a left outer wing 62 and a left inner wing 64 .
  • the right wing 50 is divided into a right outer wing 68 and a right inner wing 66 .
  • the video processing block has multiple processing stages, each with its own requirement for horizontal pixels on each side of the center.
  • the method 60 utilizes a first processing stage 70 and a second processing stage 74 .
  • the first processing stage 70 utilizes and then removes the outer wings 62 and 68 leaving an output slice 72 consisting of the slice core 30 and the inner wings 64 and 66 .
  • the second processing stage 74 utilizes and then removes the inner wings 64 and 66 . Therefore, the wings 48 and 50 are effectively removed in the processing and the output of the processing block is a slice 76 with the width equal to the original slice core 30 .
  • One effect of the wings 48 and 50 is to increase the on-chip slice-line memory requirements by the width of the wings 48 and 50 .
  • the wing width is typically small relative to the overall slice width.
  • the actual slice and wing width is implementation dependent and will depend on processing requirements and available external memory bandwidth.
  • a preferred embodiment of the present invention utilizes three vertical video processing blocks.
  • the first processing stage 70 requires a pair of outer wings 62 and 68 having a width of 2 pixels;
  • the second processing stage 74 requires a pair of inner wings 64 and 66 with a width of 4 pixels;
  • the third processing stage 77 requires no wings as the specific processing algorithm used does not require data horizontal to the vertical data being processed.
  • the present invention includes a standardized input/output format conversion, which is accomplished via the use of a memory external to the video processing device.
  • a commodity DRAM memory device is used for reasons of cost and availability.
  • a field or frame size buffer(s) serves other necessary purposes other than conversion between full field/frame raster-scan and slice-scan formats.
  • the deinterlacing process typically requires one (sometimes several) field buffers to store multiple fields of video data for temporal processing. Buffers are also needed in frame rate conversion, where the output frame rate is different than the input rate; in this case multiple output field or frame buffers may be required for the frame rate conversion process.
  • FIG. 9 illustrates an example of a system diagram for a slice based video processor 78 .
  • a first input buffer 80 , a second input buffer 82 , a first output buffer 84 and a second output buffer 86 are utilized for the slice conversion process.
  • the first input buffer 80 is used to store the video input data stream from the input data formatter 88 .
  • the second input buffer 82 (filled in the previous field/frame period) is used to provide data to the vertical video processing section 90 in a slice-scan format.
  • the second output buffer 86 receives processed data in slice-scan format from the vertical video processing section 90 , while the first output buffer 84 (filled in the previous field/frame period) is used to output data in the conventional raster-scan format to the output data formatter 92 .
  • the output data stream may actually provide data to additional video processing stages that process data in the horizontal direction only (e.g. horizontal scaling and color space conversion).
  • FIG. 10 illustrates a system diagram of one example of a video processing chip architecture 94 .
  • the video processing chip architecture includes a video processor 96 and an external memory source 98 .
  • multiple input field storage (for temporal processing) is required.
  • Video data is provided to an input stage 100 in the video processor 96 that adds the redundant wing data directly into the video data stream.
  • the data is then written (wings included) in a raster-scan sequence to a first field memory buffer 102 in the external memory source 98 by the memory controller 104 which is located inside the video processor 96 .
  • data is written to a second field memory buffer 106 , a third field memory buffer 108 , and fourth 110 field memory buffers in sequence.
  • data is read in vertical slice scan sequence from the second, third and fourth field memory buffers 106 , 108 and 110 , all of which are in the external memory source.
  • the field buffers 106 , 108 and 110 feed the vertical video processing section 112 that is located inside the video processor 96 .
  • the data is processed in the vertical video processing section 112 , which removes the wings.
  • Data is written from the vertical video processing section 112 in a slice-scan format back to a first frame buffer area 114 in the external memory source 98 .
  • Data is read from a second frame buffer area 116 in the external memory source 98 in a conventional raster-scan sequence for input to a horizontal processing block 118 located in the video processor 96 .
  • the output of the horizontal processing block 118 is in raster-scan format and is the output of the video processor 96 .
  • video input data is provided as interlaced fields of data in a 720 ⁇ 240 pixel field format.
  • Each video field is conceptually broken into 20 slices of width 36 pixels, each having left and right wings of 6 pixels each (outer wings of 2 pixels each and inner wings of 4 pixels each). The wings are added at the appropriate points in the video input data stream, and the resulting data stream is written in raster-scan sequence into a first field buffer in an external SDRAM.
  • Three fields of data are read from the SDRAM simultaneously.
  • the data for these fields is sourced by second, third and fourth field buffers and is read in vertical slices of 48 pixel wide (slice core and wings) by 240 rows.
  • the data is processed by a first vertical processing stage that provides slice-scan format data at twice the input rate of a single field to a second stage.
  • Slice data input to the second stage is formatted in slices of 44 pixels wide by 480 rows (due to the rate-doubling action of the first stage).
  • the second vertical processing stage processes the data and provides 36 pixel wide slice-scan format data at the same rate as the input to that stage to a third vertical processing stage.
  • the third stage is a vertical scaler and performs no horizontal processing, and so does not require wings on the slice format data.
  • Data is output from the third processing stage in a 36 pixel wide slice-scan format to a first frame buffer area in the SDRAM. The number of rows in each slice is dependent on the specific vertical scaling ratio chosen.
  • Data is input to a horizontal-only processing stage in conventional raster-scan format of 720 ⁇ 480*M pixels, where M is the vertical scaling factor in the third vertical processing stage.
  • This data is processed by the horizontal processor (which includes a horizontal scaler) and is output in a conventional raster-scan format at a resolution of 720*N ⁇ 480*N, where N is the horizontal scaling factor.
  • this implementation results in a greater than 10 ⁇ reduction in on-chip memory requirements due to the slice-scan architecture. This expense saved with the reduction in on-chip memory requirements more than offsets the additional required external memory, and provides a variety of prototyping and production options.
  • the present invention provides a method and apparatus of reducing on-chip memory requirements by processing a digital image along a vertical axis by sequencing the image in vertical slices.
  • the invention has been described herein in terms of several preferred embodiments. Other embodiments of the invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention. Furthermore, certain terminology has been used for the purposes of descriptive clarity, and not to limit the present invention. The embodiments and preferred features described above should be considered exemplary, with the invention being defined by the appended claims.

Abstract

A digital image processor includes an input buffer for storing raster-scanned data. A slice-buffer memory is coupled to the input buffer to store a portion of a vertical slice of said raster-scanned data. The vertical slice is processed by a vertical slice processor having an input coupled to the slice-buffer memory. The vertical slice processor reassembles the vertical slices into processed raster-scanned data in an output buffer that is coupled to the output of the vertical slice processor. The digital image processor preferably utilizes multiple sequential processing stages and processes the raster-scanned data along the horizontal axis of the vertical slices.

Description

    CROSS REFERENCE TO RELATED APPLICATIONS
  • This application claims the benefits of co-pending U.S. Patent Provisional Application No. 60/093,815 filed on Jul. 23, 1998, and is related to U.S. patent application Ser. No. 09/167,527 filed on Oct. 6, 1998, both of which are incorporated herein by reference.
  • BACKGROUND OF THE INVENTION
  • 1. Field of the Invention
  • The present invention relates generally to video processing and, more particularly, to techniques for vertical processing of horizontally scanned video images.
  • 2. Description of the Related Art
  • FIG. 1 shows an illustration of a rectangular picture area 10 with a horizontal full row scanning sequence. The rectangular picture area 10 is divided into a number of rows of data 12 which are scanned from left to right, with rows being traversed from the top of the image to the bottom. Video data is generally produced in this type of horizontal raster-scanned format. Video data is also provided in this fashion from a wide variety of data sources (e.g., broadcast, video tape, video disc) and used in the same sequence for display purposes (e.g., television, computer monitors, LCD displays).
  • FIG. 2 is a diagram of a prior art video processor 14, which processes video data before displaying or storing the data. The video processor 14 typically receives data 16 in a raster-scan format. The video processor 14 must deliver the processed video data 18 in the same or similar format. Examples of common types of processing include image size reduction/enlargement (or “scaling”), filtering to remove high frequencies, filtering to enhance detail in the image, or format conversion from one video data type to another (e.g., deinterlacing).
  • Many types of processing only utilize data from horizontally adjacent pixel locations. This naturally fits with the existing data ordering of the raster-scanned format and is relatively economical to implement. In addition, the row ordering of the video data naturally aligns with the current dynamic random access memory (DRAM) row/column chip organization which provides significantly reduced access times for in-row (or horizontal) accesses.
  • However, when video data must be processed in the vertical direction, particularly when multiple vertically adjacent pixel locations are simultaneously needed for processing, the raster-scanned format no longer provides the data needed in the correct or appropriate order. FIG. 3 is a diagram of a horizontal raster-scanned video image 20 divided into a number of scan lines 22 and pixels 24. In order to vertically process the data, multiple pixels are needed which come from different scan lines 22.
  • Since the pixel data is presented in a horizontally ordered sequence, multiple lines of video data must be available in order to have simultaneous access to multiple vertically aligned pixels. This requires storing or buffering of those multiple lines in order to make the data available for processing. In the past, this has either not been done at all due to implementation cost reasons, or has been done by using multiple on-chip line memories to store a number of horizontal lines of pixel data. If nothing is done, the result is nonexistent or poor quality processing due to lack of vertical pixel data being available.
  • The main problem with using on-chip line memories for vertical processing of horizontal raster-scanned video is that they are extremely large, thus requiring a significant increase in die area (and therefore chip cost). This is particularly true if a large number of line memories are needed for high-quality processing. A single line memory for the ITU-R BT.601 standard digital video formats typically contains 720 16-bit pixels, or 11520 memory bits.
  • Because multiple line memories are needed for quality vertical processing, and since some video processing implementations require multiple serial processing stages, each with its own set of line memories, the required amount of on-chip memory can be very large in many different scenarios. For instance, with 6 line memories per processing stage, and with 3 serial processing stages the number of required memory bits would be over 200 kbits.
  • External memories have not been often utilized due to the fact that accessing vertically adjacent data results in the crossing of DRAM row (or page) boundaries, with the attendant severe reduction in available memory bandwidth. The implementation cost issue is compounded by the fact that high quality processing typically requires more data, i.e., better vertical processing requires a larger number of simultaneously available vertically aligned pixels.
  • On-chip memory requirements of this order significantly reduce the available implementation options (e.g., prototyping with field programmable gate arrays (FPGA) or most gate-arrays is not viable) and increase the chip die area and cost. While these expensive line memories for vertical video processing cannot be eliminated completely, any reduction of the memory requirements would be valuable.
  • In view of the foregoing, it is desirable to have a method that provides for high quality vertical processing of horizontally scanned video while minimizing cost and reducing the number of full line memories required.
  • SUMMARY OF THE INVENTION
  • The present invention fills these needs by providing an efficient and economical method and apparatus for high quality vertical video processing utilizing off-chip commodity memory and an alternative scan sequence for vertical processing. It should be appreciated that the present invention can be implemented in numerous ways, including as a process, an apparatus, a system, a device or a method. Several inventive embodiments of the present invention are described below.
  • In one embodiment of the present invention, a digital image processor is provided. The digital image processor includes an input buffer for storing raster-scanned data. A slice-buffer memory is coupled to the input buffer to store a portion of a vertical slice of said raster-scanned data. The vertical slice is processed by a vertical slice processor having an input coupled to the slice-buffer memory. The vertical slice processor reassembles the vertical slices into processed raster-scanned data in an output buffer that is coupled to the output of the vertical slice processor. The digital image processor preferably utilizes multiple sequential processing stages and processes the raster-scanned data along the horizontal axis of the vertical slices.
  • In another embodiment of the present invention, a method of processing image data is provided. The method includes buffering a block of raster-scanned data in an input buffer. Vertical slices of the raster-scanned data are sequentially retrieved and processed, forming processed vertical slices. The processed vertical slices are then stored in an output buffer to form a processed block of raster-scanned data. The vertical slices are preferably comprised of a slice core and at least one pair of wings, which overlap the slice core of horizontally adjacent vertical slices. The width of the processed block of raster-scanned data is preferably equal to the width of the slice core.
  • An advantage of the present invention is that the on-chip-memory requirements for high quality vertical processing are significantly reduced. By dividing the rectangular video field or frame into smaller portions, the memory requirements of the system can be reduced by an order of magnitude. Therefore, the image processing chip is not limited by the constraints of having only a small number of on-chip line memories. In addition, by not having to use the line memories, costs are dramatically reduced.
  • Other aspects and advantages of the invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, illustrating by way of example the principles of the invention.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The present invention will be readily understood by the following detailed description in conjunction with the accompanying drawings. To facilitate this description, like reference numerals designate like structural elements.
  • FIG. 1 illustrates a rectangular picture area with a full row scanning sequence of the prior art.
  • FIG. 2 is a diagram of a prior art video processor.
  • FIG. 3 is a diagram of a prior art horizontal raster-scanned video image divided into a number of scan lines and pixels.
  • FIG. 4 illustrates a video frame in accordance with the present invention which is subdivided into a number of vertical slices for a slice scanning sequence exemplified by a corresponding number of scan lines.
  • FIG. 5 illustrates an example of an initial slice core that has a problem with unavailable data on its left edge and right edge.
  • FIG. 6 illustrates a slice that has added wings along the initial slice core's left and right edges.
  • FIG. 7 illustrates an overall structure of overlapping slice/wing combinations.
  • FIG. 8 is a flow chart illustrating a method of processing video in accordance with the present invention. FIG. 9 illustrates a system diagram for a slice based video processor of the present invention.
  • FIG. 10 illustrates a system diagram of a video processing chip architecture of the present invention.
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • An invention for a method and apparatus for reducing on-chip memory in vertical video processing is disclosed. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be understood, however, to one skilled in the art, that the present invention may be practiced without some or all of these specific details. In other instances, well known process operations have not been described in detail in order not to unnecessarily obscure the present invention.
  • FIGS. 1-3 were described in terms of the prior art. FIG. 4 illustrates a video frame 25 of the present invention subdivided into a number of vertical slices 26 for a slice scanning sequence exemplified by a corresponding number of scan lines 28. Each slice 26 is scanned in a format similar to that used in a conventional raster-scanned sequence, with the scanning sequence proceeding to the subsequent slice when the end of a given slice is reached. The advantage of this format is that the length of the line memories is reduced by a factor roughly equal to the number of vertical slices used. Line memories are still necessary, but they are now much shorter than before, resulting in a much reduced on-chip memory requirement. For instance, if the number of slices were set to 10, the reduction in on-chip memory would be by an entire order of magnitude.
  • However, difficulties do arise from utilizing this “slice” scan organization. First, it is often the case that processing must simultaneously be done in both the horizontal and vertical directions. This results in a problem on the left most and right most slice boundaries where horizontal pixel data outside the slice may not be available. Second, the conventional raster-scan sequencing has been changed, resulting in a potential incompatibility with common video sources and display/storage devices. Both of these problems will be addressed in the following sections as solved by the present invention.
  • FIG. 5 illustrates an example of a slice core 30 that has a problem with unavailable data on its left edge 32 and right edge 34. Video processing requires that data surrounding a given pixel be available in both the horizontal and vertical directions (in this case 5×5 matrices 36 and 38 centered on the pixel). Processing matrix 36 resides in the center of the slice core 30, so there is no problem with availability of data because it is available in both horizontal and vertical directions on all sides of processing matrix 36.
  • It should be noted that the situation at the top edge 42 and bottom edge 44 of the slice core 30, where data above the top-most pixel and data below the bottom-most pixel is not available, is identical to that with the conventional raster-scanned format. This can be solved in a number of ways, such as substituting zero data for the nonexistent upper/lower pixel data. Therefore, the top and bottom edges 42 and 44 of the slice core 30 will not cause problems with unavailable data. In contrast, processing matrix 38 is on the left edge 32 of the slice core 30, and is missing horizontally adjacent data. Two columns of pixel data 40 are missing because they are outside the left edge 32 of the slice core 30.
  • To resolve this situation, data for these columns are provided from the slice immediately to the left of the slice being processed. FIG. 6 illustrates a slice 46 that has added a pair of thin vertical slices or “wings” 48 and 50 along the left and right edges 32 and 34. Wing 48 must be added to the slice core 30 to provide the pixel data needed for the processing matrix. Wing 50 must be added to the right edge 34 of the slice core 30. Because wing 48 has been added to slice 46, processing matrix 38 no longer suffers from the lack of data outside of the left edge 32 of slice 46.
  • FIG. 7 illustrates an overall structure of overlapping slice/wing combinations 52. Slice 46 from FIG. 6 is shown as an exemplary slice. Wings 48 and 50 of slice 46 are composed of data from a pair of adjacent slices, one to the left and one to the right of slice 46. More specifically, the missing two left columns of pixels in wing 48 are supplied from the two right most columns 54 of a slice 56 immediately to the left of slice 46. So in a sequence of slices 58, the left-most wing of slice N overlaps the core of slice N-1, while the right-most wing of slice N-1 overlaps the core of slice N.
  • FIG. 8 is a flow chart illustrating a method 60 of processing video. The input to a video processing block is therefore the slice 46 with slice core 30, left wing 48 and right wings 50. The left wing 48 is divided into a left outer wing 62 and a left inner wing 64. The right wing 50 is divided into a right outer wing 68 and a right inner wing 66. In this example, the video processing block has multiple processing stages, each with its own requirement for horizontal pixels on each side of the center.
  • The method 60 utilizes a first processing stage 70 and a second processing stage 74. The first processing stage 70 utilizes and then removes the outer wings 62 and 68 leaving an output slice 72 consisting of the slice core 30 and the inner wings 64 and 66. The second processing stage 74 utilizes and then removes the inner wings 64 and 66. Therefore, the wings 48 and 50 are effectively removed in the processing and the output of the processing block is a slice 76 with the width equal to the original slice core 30.
  • One effect of the wings 48 and 50, is to increase the on-chip slice-line memory requirements by the width of the wings 48 and 50. However, the wing width is typically small relative to the overall slice width. The actual slice and wing width is implementation dependent and will depend on processing requirements and available external memory bandwidth.
  • A preferred embodiment of the present invention utilizes three vertical video processing blocks. The first processing stage 70 requires a pair of outer wings 62 and 68 having a width of 2 pixels; the second processing stage 74 requires a pair of inner wings 64 and 66 with a width of 4 pixels; and the third processing stage 77 requires no wings as the specific processing algorithm used does not require data horizontal to the vertical data being processed. The slice core width chosen was 36 pixels, resulting in an initial input slice width of 48 pixels. (Core+left-inner-wing+right-inner-wing+left-outer-wing+right-outer-wing=36+4+4+2+2=48.)
  • Unfortunately, the data inputs and outputs of the vertical processing blocks are not in the raster-scan video format, which is standard to virtually all video input sources and video output display and storage devices. The present invention includes a standardized input/output format conversion, which is accomplished via the use of a memory external to the video processing device. A commodity DRAM memory device is used for reasons of cost and availability.
  • Depending on the type of video processing to be done, a field or frame size buffer(s) serves other necessary purposes other than conversion between full field/frame raster-scan and slice-scan formats. For instance, the deinterlacing process typically requires one (sometimes several) field buffers to store multiple fields of video data for temporal processing. Buffers are also needed in frame rate conversion, where the output frame rate is different than the input rate; in this case multiple output field or frame buffers may be required for the frame rate conversion process.
  • FIG. 9 illustrates an example of a system diagram for a slice based video processor 78. A first input buffer 80, a second input buffer 82, a first output buffer 84 and a second output buffer 86 are utilized for the slice conversion process. Because video applications typically specify real-time input and output, and because the scanning process for a conventional raster-scan and a slice-scan are different, the first input buffer 80 is used to store the video input data stream from the input data formatter 88. The second input buffer 82 (filled in the previous field/frame period) is used to provide data to the vertical video processing section 90 in a slice-scan format.
  • A similar process is used for output. The second output buffer 86 receives processed data in slice-scan format from the vertical video processing section 90, while the first output buffer 84 (filled in the previous field/frame period) is used to output data in the conventional raster-scan format to the output data formatter 92. The output data stream may actually provide data to additional video processing stages that process data in the horizontal direction only (e.g. horizontal scaling and color space conversion).
  • FIG. 10 illustrates a system diagram of one example of a video processing chip architecture 94. The video processing chip architecture includes a video processor 96 and an external memory source 98. In this particular video processing implementation, multiple input field storage (for temporal processing) is required. Video data is provided to an input stage 100 in the video processor 96 that adds the redundant wing data directly into the video data stream. The data is then written (wings included) in a raster-scan sequence to a first field memory buffer 102 in the external memory source 98 by the memory controller 104 which is located inside the video processor 96. In subsequent field periods, data is written to a second field memory buffer 106, a third field memory buffer 108, and fourth 110 field memory buffers in sequence.
  • During the period in which data is written to the first field memory buffer 102, data is read in vertical slice scan sequence from the second, third and fourth field memory buffers 106, 108 and 110, all of which are in the external memory source. The field buffers 106, 108 and 110 feed the vertical video processing section 112 that is located inside the video processor 96. The data is processed in the vertical video processing section 112, which removes the wings.
  • Data is written from the vertical video processing section 112 in a slice-scan format back to a first frame buffer area 114 in the external memory source 98. Data is read from a second frame buffer area 116 in the external memory source 98 in a conventional raster-scan sequence for input to a horizontal processing block 118 located in the video processor 96. The output of the horizontal processing block 118 is in raster-scan format and is the output of the video processor 96.
  • In one preferred embodiment of the present invention, video input data is provided as interlaced fields of data in a 720×240 pixel field format. Each video field is conceptually broken into 20 slices of width 36 pixels, each having left and right wings of 6 pixels each (outer wings of 2 pixels each and inner wings of 4 pixels each). The wings are added at the appropriate points in the video input data stream, and the resulting data stream is written in raster-scan sequence into a first field buffer in an external SDRAM.
  • Three fields of data are read from the SDRAM simultaneously. The data for these fields is sourced by second, third and fourth field buffers and is read in vertical slices of 48 pixel wide (slice core and wings) by 240 rows. The data is processed by a first vertical processing stage that provides slice-scan format data at twice the input rate of a single field to a second stage. Slice data input to the second stage is formatted in slices of 44 pixels wide by 480 rows (due to the rate-doubling action of the first stage). The second vertical processing stage processes the data and provides 36 pixel wide slice-scan format data at the same rate as the input to that stage to a third vertical processing stage.
  • The third stage is a vertical scaler and performs no horizontal processing, and so does not require wings on the slice format data. Data is output from the third processing stage in a 36 pixel wide slice-scan format to a first frame buffer area in the SDRAM. The number of rows in each slice is dependent on the specific vertical scaling ratio chosen. Data is input to a horizontal-only processing stage in conventional raster-scan format of 720×480*M pixels, where M is the vertical scaling factor in the third vertical processing stage. This data is processed by the horizontal processor (which includes a horizontal scaler) and is output in a conventional raster-scan format at a resolution of 720*N×480*N, where N is the horizontal scaling factor.
  • Overall, this implementation results in a greater than 10× reduction in on-chip memory requirements due to the slice-scan architecture. This expense saved with the reduction in on-chip memory requirements more than offsets the additional required external memory, and provides a variety of prototyping and production options.
  • It will therefore be appreciated that the present invention provides a method and apparatus of reducing on-chip memory requirements by processing a digital image along a vertical axis by sequencing the image in vertical slices. The invention has been described herein in terms of several preferred embodiments. Other embodiments of the invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention. Furthermore, certain terminology has been used for the purposes of descriptive clarity, and not to limit the present invention. The embodiments and preferred features described above should be considered exemplary, with the invention being defined by the appended claims.

Claims (24)

1. A digital image processor, comprising:
an input buffer storing raster-scanned data;
a slice buffer memory coupled to said input buffer to store a portion of a vertical slice of said raster-scanned data;
a vertical slice processor having an input coupled to said slice buffer memory; and
an output buffer coupled to an output of said vertical slice processor such that said vertical slices are reassembled into processed raster-scanned data in said output buffer.
2. A digital image processor as recited in claim 1, wherein the vertical slice processor processes vertical slices of the raster-scanned data along a horizontal axis.
3. A digital image processor as recited in claim 1, wherein the vertical slices are comprised of a slice core and at least one pair of wings.
4 (Canceled)
5 A digital image processor as recited in claim 1, wherein the digital image processor processes the raster-scanned data in multiple sequential processing stages.
6. A digital image processor as recited in claim 5, wherein the multiple sequential processing stages individually process along the vertical and horizontal axes.
7. (Canceled)
8. (Canceled)
9. (Canceled)
10. A method of processing image data, comprising:
buffering a block of raster-scanned data in an input buffer;
sequentially retrieving and processing vertical slices of said raster-scanned data from said input buffer to form processed vertical slices; and
storing said processed vertical slices in an output buffer to form a processed block of raster-scanned data.
11. A method of processing image data as recited in claim 10, including processing vertical slices of the raster-scanned data from the input buffer along a horizontal axis to form horizontally processed raster-scanned data.
12. A method of processing image data as recited in claim 10, wherein the vertical slices are comprised of a slice core and at least one pair of wings.
13. A method of processing image data as recited in claim 12, wherein the pair of wings each overlap the slice core of horizontally adjacent vertical slices.
14. A method of processing image data as recited in claim 10, further including removing at least one of the pair of wings.
15. (Canceled)
16. A method of processing image data, comprising:
means for buffering a block of raster-scanned data in an input buffer;
means for sequentially retrieving and processing vertical slices of said raster-scanned data from said input buffer to form processed vertical slices; and
means for storing said processed vertical slices in an output buffer to form a processed block of raster-scanned data.
17. A method of processing image data as recited in claim 16, including means for processing vertical slices of the raster-scanned data from the input buffer along a horizontal axis to form horizontally processed raster-scanned data.
18. A method of processing image data as recited in claim 16, wherein the vertical slices are comprised of a slice core and at least one pair of wings.
19. (Canceled)
20. A method of processing image data as recited in claim 16, further including removing at least one of the pair of wings.
21. A method of processing image data as recited in claim 20, wherein the width of the processed block of raster-scanned data is equal to the width of the slice core.
22. A digital image processing system comprising:
a video processor that processes a digital image along a vertical axis by sequencing an image in vertical slices wherein the vertical slices are comprised of a slice core of horizontally adjacent vertical slices and at least one pair of wings, and wherein the at least one pair of wings each overlap the slice core of horizontally adjacent vertical slices; and
an external memory, coupled to the video processor, for buffering frame data.
23. A digital image processing system as recited in claim 22 wherein an video input data is provided as interlaced fields of data in a 720×240 pixel field format.
24. A digital image processing system as recited in claim 22 wherein the video processor is contained on a chip.
US10/391,465 1998-07-23 2003-03-17 Method and apparatus for reducing on-chip memory in vertical video processing Abandoned US20050062892A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/391,465 US20050062892A1 (en) 1998-07-23 2003-03-17 Method and apparatus for reducing on-chip memory in vertical video processing

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US9381598P 1998-07-23 1998-07-23
US09/359,530 US6587158B1 (en) 1998-07-23 1999-07-22 Method and apparatus for reducing on-chip memory in vertical video processing
US10/391,465 US20050062892A1 (en) 1998-07-23 2003-03-17 Method and apparatus for reducing on-chip memory in vertical video processing

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09/359,530 Continuation US6587158B1 (en) 1998-07-23 1999-07-22 Method and apparatus for reducing on-chip memory in vertical video processing

Publications (1)

Publication Number Publication Date
US20050062892A1 true US20050062892A1 (en) 2005-03-24

Family

ID=26787931

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/359,530 Expired - Lifetime US6587158B1 (en) 1998-07-23 1999-07-22 Method and apparatus for reducing on-chip memory in vertical video processing
US10/391,465 Abandoned US20050062892A1 (en) 1998-07-23 2003-03-17 Method and apparatus for reducing on-chip memory in vertical video processing

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09/359,530 Expired - Lifetime US6587158B1 (en) 1998-07-23 1999-07-22 Method and apparatus for reducing on-chip memory in vertical video processing

Country Status (1)

Country Link
US (2) US6587158B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040078504A1 (en) * 2002-10-22 2004-04-22 Patrick Law Video bus for a video decoding system
US6944821B1 (en) * 1999-12-07 2005-09-13 International Business Machines Corporation Copy/paste mechanism and paste buffer that includes source information for copied data
US20110109794A1 (en) * 2009-11-06 2011-05-12 Paul Wiercienski Caching structure and apparatus for use in block based video
CN103428419A (en) * 2012-05-22 2013-12-04 株式会社腾龙 Image data transmitting device, image data receiving device, image data transmitting system, image data transmitting method, image data receiving method, transmission image data, and program

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6937291B1 (en) * 2000-08-31 2005-08-30 Intel Corporation Adaptive video scaler
JP2002152733A (en) * 2000-11-08 2002-05-24 Fujitsu Ltd Moving picture coding method, moving picture decoding method, moving picture encoder, moving picture decoder recording medium for recording moving picture decoder, recording medium for moving picture encoding program, recording medium with moving picture decoding program recording thereon, and recording medium with moving picture encoding data recorded thereon
US6870543B1 (en) * 2001-06-06 2005-03-22 Microsoft Corporation Reducing fill and improving quality of interlaced displays using multi-sampling
US7079190B2 (en) * 2001-12-27 2006-07-18 Zoran Corporation Technique for determining the slope of a field pixel
TWI221735B (en) * 2002-03-15 2004-10-01 Via Tech Inc Image processing apparatus
US7202907B2 (en) 2002-04-09 2007-04-10 Zoran Corporation 2:2 and 3:2 pull-down detection techniques
JP3897247B2 (en) * 2002-05-16 2007-03-22 富士フイルム株式会社 Optical distortion correction method and correction apparatus
FR2861207B1 (en) * 2003-10-15 2006-02-17 St Microelectronics Sa IMAGE ADAPTER WITH TILE IMAGE PROCESSING AND METHOD USING SUCH ADAPTER
US7400359B1 (en) 2004-01-07 2008-07-15 Anchor Bay Technologies, Inc. Video stream routing and format conversion unit with audio delay
US7710501B1 (en) 2004-07-12 2010-05-04 Anchor Bay Technologies, Inc. Time base correction and frame rate conversion
US8004606B2 (en) * 2005-09-08 2011-08-23 Silicon Image, Inc. Original scan line detection
US7982798B2 (en) 2005-09-08 2011-07-19 Silicon Image, Inc. Edge detection
US8120703B2 (en) * 2005-09-08 2012-02-21 Silicon Image/BSTZ Source-adaptive video deinterlacer
US8086067B2 (en) * 2006-12-20 2011-12-27 Silicon Image, Inc. Noise cancellation
JP5522890B2 (en) * 2007-07-31 2014-06-18 キヤノン株式会社 Image processing apparatus and method
US8559746B2 (en) 2008-09-04 2013-10-15 Silicon Image, Inc. System, method, and apparatus for smoothing of edges in images to remove irregularities
US8452117B2 (en) 2009-02-10 2013-05-28 Silicon Image, Inc. Block noise detection and filtering
JP5222227B2 (en) * 2009-05-22 2013-06-26 キヤノン株式会社 Image processing method, image processing apparatus, and program
JP2010282429A (en) * 2009-06-04 2010-12-16 Canon Inc Image processing device and control method thereof
JP5584490B2 (en) * 2010-02-18 2014-09-03 キヤノン株式会社 Image processing apparatus, image processing method, and program
US9749548B2 (en) * 2015-01-22 2017-08-29 Google Inc. Virtual linebuffers for image signal processors
US9756268B2 (en) 2015-04-23 2017-09-05 Google Inc. Line buffer unit for image processor
US9769356B2 (en) 2015-04-23 2017-09-19 Google Inc. Two dimensional shift array for image processor
US9965824B2 (en) 2015-04-23 2018-05-08 Google Llc Architecture for high performance, power efficient, programmable image processing
US9785423B2 (en) 2015-04-23 2017-10-10 Google Inc. Compiler for translating between a virtual image processor instruction set architecture (ISA) and target hardware having a two-dimensional shift array structure
US10095479B2 (en) 2015-04-23 2018-10-09 Google Llc Virtual image processor instruction set architecture (ISA) and memory model and exemplary target hardware having a two-dimensional shift array structure
US10291813B2 (en) * 2015-04-23 2019-05-14 Google Llc Sheet generator for image processor
US9772852B2 (en) 2015-04-23 2017-09-26 Google Inc. Energy efficient processor core architecture for image processor
US9830150B2 (en) 2015-12-04 2017-11-28 Google Llc Multi-functional execution lane for image processor
US10313641B2 (en) 2015-12-04 2019-06-04 Google Llc Shift register with reduced wiring complexity
US10387988B2 (en) 2016-02-26 2019-08-20 Google Llc Compiler techniques for mapping program code to a high performance, power efficient, programmable image processing hardware platform
US10204396B2 (en) 2016-02-26 2019-02-12 Google Llc Compiler managed memory for image processor
US10380969B2 (en) 2016-02-28 2019-08-13 Google Llc Macro I/O unit for image processor
US20180005059A1 (en) 2016-07-01 2018-01-04 Google Inc. Statistics Operations On Two Dimensional Image Processor
US20180005346A1 (en) 2016-07-01 2018-01-04 Google Inc. Core Processes For Block Operations On An Image Processor Having A Two-Dimensional Execution Lane Array and A Two-Dimensional Shift Register
US20180007302A1 (en) 2016-07-01 2018-01-04 Google Inc. Block Operations For An Image Processor Having A Two-Dimensional Execution Lane Array and A Two-Dimensional Shift Register
US10546211B2 (en) 2016-07-01 2020-01-28 Google Llc Convolutional neural network on programmable two dimensional image processor

Citations (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4002827A (en) * 1975-05-15 1977-01-11 General Electric Company Polar coordinate format to a cartesian coordinate format scan converter
US4689675A (en) * 1985-05-23 1987-08-25 Advanced Systems Development, Inc. Digital scan converter and method therefor
US4959715A (en) * 1989-06-16 1990-09-25 North American Philips Corporation Method and apparatus for converting an interlaced television transmission to a sequential display using maximum likelihood estimation
US5170259A (en) * 1990-09-29 1992-12-08 Victor Company Of Japan, Ltd. Motion compensated predictive coding/decoding system of picture signal
US5347314A (en) * 1991-03-19 1994-09-13 Yves C. Faroudja Video scan converter
US5444493A (en) * 1992-06-22 1995-08-22 Deutsche Thomson-Brandt Gmbh Method and apparatus for providing intra-field interpolation of video signals with adaptive weighting based on gradients of temporally adjacent fields
US5543858A (en) * 1993-06-11 1996-08-06 U. S. Philips Corporation Method of and apparatus for reducing noise in a motion detector signal
US5600731A (en) * 1991-05-09 1997-02-04 Eastman Kodak Company Method for temporally adaptive filtering of frames of a noisy image sequence using motion estimation
US5784115A (en) * 1996-12-31 1998-07-21 Xerox Corporation System and method for motion compensated de-interlacing of video frames
US5850487A (en) * 1994-04-25 1998-12-15 Fuji Photo Film Co., Ltd. Digital image processing apparatus
US5854636A (en) * 1994-04-11 1998-12-29 Hitachi, Ltd. Semiconductor IC with a plurality of processing circuits which receive parallel data via a parallel data transfer circuit
US5856930A (en) * 1993-03-26 1999-01-05 Sony Corporation Disc-shaped recording medium, disc recording apparatus and disc reproducing apparatus
US6014182A (en) * 1997-10-10 2000-01-11 Faroudja Laboratories, Inc. Film source video detection
US6034733A (en) * 1998-07-29 2000-03-07 S3 Incorporated Timing and control for deinterlacing and enhancement of non-deterministically arriving interlaced video data
US6055018A (en) * 1997-11-04 2000-04-25 Ati Technologies, Inc. System and method for reconstructing noninterlaced captured content for display on a progressive screen
US6104755A (en) * 1996-09-13 2000-08-15 Texas Instruments Incorporated Motion detection using field-difference measurements
US6166772A (en) * 1997-04-01 2000-12-26 Compaq Computer Corporation Method and apparatus for display of interlaced images on non-interlaced display
US6222589B1 (en) * 1996-08-08 2001-04-24 Yves C. Faroudja Displaying video on high-resolution computer-type monitors substantially without motion discontinuities
US6266092B1 (en) * 1998-05-12 2001-07-24 Genesis Microchip Inc. Method and apparatus for video line multiplication with enhanced sharpness
US6269484B1 (en) * 1997-06-24 2001-07-31 Ati Technologies Method and apparatus for de-interlacing interlaced content using motion vectors in compressed video streams
US20010016009A1 (en) * 1997-12-30 2001-08-23 Robert N. Hurst Reduced cost decoder using bitstream editing for image cropping
US6295041B1 (en) * 1997-03-05 2001-09-25 Ati Technologies, Inc. Increasing the number of colors output by an active liquid crystal display
US6298144B1 (en) * 1998-05-20 2001-10-02 The United States Of America As Represented By The National Security Agency Device for and method of detecting motion in an image
US20020109790A1 (en) * 2000-12-13 2002-08-15 Mackinnon Andrew Stuart Method and apparatus for detecting motion and absence of motion between odd and even video fields
US6489998B1 (en) * 1998-08-11 2002-12-03 Dvdo, Inc. Method and apparatus for deinterlacing digital video images
US6545719B1 (en) * 2000-03-31 2003-04-08 Matsushita Electric Industrial Co., Ltd. Apparatus and method for concealing interpolation artifacts in a video interlaced to progressive scan converter
US6577345B1 (en) * 1999-07-29 2003-06-10 Lg Electronics Inc. Deinterlacing method and apparatus based on motion-compensated interpolation and edge-directional interpolation
US6847405B2 (en) * 2001-09-14 2005-01-25 Sony Corporation Motion-adaptive de-interlacing method and system for digital televisions
US6867814B2 (en) * 2000-04-18 2005-03-15 Silicon Image, Inc. Method, system and article of manufacture for identifying the source type and quality level of a video sequence
US6909469B2 (en) * 1999-08-11 2005-06-21 Silicon Image, Inc. Interlace motion artifact detection using vertical frequency detection and analysis

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5287183A (en) * 1990-03-05 1994-02-15 Wayne State University Synchronous imaging system
US5428397A (en) * 1993-05-07 1995-06-27 Goldstar Co., Ltd. Video format conversion apparatus for converting interlaced video format into progressive video format using motion-compensation
KR950012664B1 (en) * 1993-08-18 1995-10-19 엘지전자주식회사 Hdtv receiver having 1050line interlaced scanning display format
KR0126657B1 (en) * 1993-10-28 1997-12-29 구자홍 Moving compensation device for digital image recovery
US5774110A (en) * 1994-01-04 1998-06-30 Edelson; Steven D. Filter RAMDAC with hardware 11/2-D zoom function
US5559953A (en) * 1994-07-01 1996-09-24 Digital Equipment Corporation Method for increasing the performance of lines drawn into a framebuffer memory
US6301299B1 (en) * 1994-10-28 2001-10-09 Matsushita Electric Industrial Co., Ltd. Memory controller for an ATSC video decoder
DE69616746T2 (en) * 1996-03-20 2004-10-14 Stmicroelectronics S.R.L., Agrate Brianza Memory reduction in an SQTV processor through ADPCM compression
KR100204475B1 (en) * 1996-03-29 1999-06-15 배순훈 An improved frame reordering appatus
JPH10262220A (en) * 1997-03-19 1998-09-29 Mitsubishi Electric Corp Semiconductor integrated circuit
US6195414B1 (en) * 1997-04-17 2001-02-27 Telecom Analysis Systems Digital facility simulator with CODEC emulation
JPH10336595A (en) * 1997-06-05 1998-12-18 Mitsubishi Electric Corp Decoder
JPH10341415A (en) * 1997-06-06 1998-12-22 Pioneer Electron Corp Picture processor
US6259479B1 (en) * 1997-09-17 2001-07-10 Sony Corporation Letterbox filter apparatus and method
US6281873B1 (en) * 1997-10-09 2001-08-28 Fairchild Semiconductor Corporation Video line rate vertical scaler
JP3717648B2 (en) * 1997-11-07 2005-11-16 株式会社エルモ社 Method for creating enlarged image signal using field memory
JP2000041224A (en) * 1998-07-23 2000-02-08 Nec Corp Scanning conversion circuit with interpolating function

Patent Citations (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4002827A (en) * 1975-05-15 1977-01-11 General Electric Company Polar coordinate format to a cartesian coordinate format scan converter
US4689675A (en) * 1985-05-23 1987-08-25 Advanced Systems Development, Inc. Digital scan converter and method therefor
US4959715A (en) * 1989-06-16 1990-09-25 North American Philips Corporation Method and apparatus for converting an interlaced television transmission to a sequential display using maximum likelihood estimation
US5170259A (en) * 1990-09-29 1992-12-08 Victor Company Of Japan, Ltd. Motion compensated predictive coding/decoding system of picture signal
US5347314A (en) * 1991-03-19 1994-09-13 Yves C. Faroudja Video scan converter
US5600731A (en) * 1991-05-09 1997-02-04 Eastman Kodak Company Method for temporally adaptive filtering of frames of a noisy image sequence using motion estimation
US5444493A (en) * 1992-06-22 1995-08-22 Deutsche Thomson-Brandt Gmbh Method and apparatus for providing intra-field interpolation of video signals with adaptive weighting based on gradients of temporally adjacent fields
US5856930A (en) * 1993-03-26 1999-01-05 Sony Corporation Disc-shaped recording medium, disc recording apparatus and disc reproducing apparatus
US5543858A (en) * 1993-06-11 1996-08-06 U. S. Philips Corporation Method of and apparatus for reducing noise in a motion detector signal
US5854636A (en) * 1994-04-11 1998-12-29 Hitachi, Ltd. Semiconductor IC with a plurality of processing circuits which receive parallel data via a parallel data transfer circuit
US5850487A (en) * 1994-04-25 1998-12-15 Fuji Photo Film Co., Ltd. Digital image processing apparatus
US6222589B1 (en) * 1996-08-08 2001-04-24 Yves C. Faroudja Displaying video on high-resolution computer-type monitors substantially without motion discontinuities
US6104755A (en) * 1996-09-13 2000-08-15 Texas Instruments Incorporated Motion detection using field-difference measurements
US5784115A (en) * 1996-12-31 1998-07-21 Xerox Corporation System and method for motion compensated de-interlacing of video frames
US6295041B1 (en) * 1997-03-05 2001-09-25 Ati Technologies, Inc. Increasing the number of colors output by an active liquid crystal display
US6504577B1 (en) * 1997-04-01 2003-01-07 Compaq Information Technologies Group, L.P. Method and apparatus for display of interlaced images on non-interlaced display
US6166772A (en) * 1997-04-01 2000-12-26 Compaq Computer Corporation Method and apparatus for display of interlaced images on non-interlaced display
US6269484B1 (en) * 1997-06-24 2001-07-31 Ati Technologies Method and apparatus for de-interlacing interlaced content using motion vectors in compressed video streams
US6014182A (en) * 1997-10-10 2000-01-11 Faroudja Laboratories, Inc. Film source video detection
US6055018A (en) * 1997-11-04 2000-04-25 Ati Technologies, Inc. System and method for reconstructing noninterlaced captured content for display on a progressive screen
US20010016009A1 (en) * 1997-12-30 2001-08-23 Robert N. Hurst Reduced cost decoder using bitstream editing for image cropping
US6266092B1 (en) * 1998-05-12 2001-07-24 Genesis Microchip Inc. Method and apparatus for video line multiplication with enhanced sharpness
US6298144B1 (en) * 1998-05-20 2001-10-02 The United States Of America As Represented By The National Security Agency Device for and method of detecting motion in an image
US6034733A (en) * 1998-07-29 2000-03-07 S3 Incorporated Timing and control for deinterlacing and enhancement of non-deterministically arriving interlaced video data
US6489998B1 (en) * 1998-08-11 2002-12-03 Dvdo, Inc. Method and apparatus for deinterlacing digital video images
US6577345B1 (en) * 1999-07-29 2003-06-10 Lg Electronics Inc. Deinterlacing method and apparatus based on motion-compensated interpolation and edge-directional interpolation
US6909469B2 (en) * 1999-08-11 2005-06-21 Silicon Image, Inc. Interlace motion artifact detection using vertical frequency detection and analysis
US6545719B1 (en) * 2000-03-31 2003-04-08 Matsushita Electric Industrial Co., Ltd. Apparatus and method for concealing interpolation artifacts in a video interlaced to progressive scan converter
US6867814B2 (en) * 2000-04-18 2005-03-15 Silicon Image, Inc. Method, system and article of manufacture for identifying the source type and quality level of a video sequence
US20020109790A1 (en) * 2000-12-13 2002-08-15 Mackinnon Andrew Stuart Method and apparatus for detecting motion and absence of motion between odd and even video fields
US6847405B2 (en) * 2001-09-14 2005-01-25 Sony Corporation Motion-adaptive de-interlacing method and system for digital televisions

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6944821B1 (en) * 1999-12-07 2005-09-13 International Business Machines Corporation Copy/paste mechanism and paste buffer that includes source information for copied data
US20040078504A1 (en) * 2002-10-22 2004-04-22 Patrick Law Video bus for a video decoding system
US7853734B2 (en) * 2002-10-22 2010-12-14 Broadcom Corporation Video bus for a video decoding system
US20110109794A1 (en) * 2009-11-06 2011-05-12 Paul Wiercienski Caching structure and apparatus for use in block based video
CN103428419A (en) * 2012-05-22 2013-12-04 株式会社腾龙 Image data transmitting device, image data receiving device, image data transmitting system, image data transmitting method, image data receiving method, transmission image data, and program

Also Published As

Publication number Publication date
US6587158B1 (en) 2003-07-01

Similar Documents

Publication Publication Date Title
US6587158B1 (en) Method and apparatus for reducing on-chip memory in vertical video processing
EP0454414B1 (en) Video signal display
US7236648B2 (en) Scaling images for display
US6496192B1 (en) Modular architecture for image transposition memory using synchronous DRAM
EP0795251B1 (en) Memory utilization for video decoding and display with 3:2 pull-down
US5517612A (en) Device for scaling real-time image frames in multi-media workstations
US6327000B1 (en) Efficient image scaling for scan rate conversion
US5455626A (en) Apparatus, systems and methods for providing multiple video data streams from a single source
US6493036B1 (en) System and method for scaling real time video
US6411333B1 (en) Format conversion using patch-based filtering
US6611260B1 (en) Ultra-high bandwidth multi-port memory system for image scaling applications
US5742272A (en) Accelerated full screen video playback
US6556193B1 (en) De-interlacing video images using patch-based processing
KR100910860B1 (en) Transferring a video frame from memory into an on-chip buffer for video processing
US6903733B1 (en) Ultra-high bandwidth multi-port memory system for image scaling applications
US20060007247A1 (en) Graphics resampling system and method for use thereof
US20040212623A1 (en) Image data processing system and image data reading and writing method
US6553153B1 (en) Method and apparatus for reducing video data
EP0951694B1 (en) Method and apparatus for using interpolation line buffers as pixel look up tables
US7495647B2 (en) LCD blur reduction through frame rate control
US6970207B1 (en) Anti-flicker filtering process and system
JPH11282437A (en) Interface device of liquid-crystal display panel
JP2000324337A (en) Image magnification and reducing device
US20030223016A1 (en) Image processing apparatus and image processing method
JPH10262220A (en) Semiconductor integrated circuit

Legal Events

Date Code Title Description
AS Assignment

Owner name: SILICON IMAGE, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:FREELAND, HOWARD, SECRETARY OF DVDO, INC.;REEL/FRAME:015275/0046

Effective date: 20031121

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: DVDO, INCORPORATED, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ADAMS, DALE R.;THOMPSON, LAURENCE A.;BANKS, JANO D.;REEL/FRAME:019148/0282

Effective date: 19990722