Not Applicable
A portion of the material in this patent document is subject to copyright protection under the copyright laws of the United States and of other countries. The owner of the copyright rights has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the United States Patent and Trademark Office publicly available file or records, but otherwise reserves all copyright rights whatsoever. The copyright owner does not hereby waive any of its rights to have this patent document maintained in secrecy, including without limitation its rights pursuant to 37 C.F.R. § 1.14.
1. Field of the Invention
The invention pertains to image analysis, more specifically to a method and a system for image scaling output timing calculation.
2. Description of Related Art
Digital image data generally defines one or more frames. A frame is an image displayed for viewing on a display screen or panel at one time. Each frame includes a rectangular array of pixels. Each pixel has one or more values, for example a gray scale value for a monochrome display or RGB values for a color display. In order to run the many individual multimedia products on the market, computer systems are required to display many different programs that generate different types of images at different times. Conventional computer systems may use a graphics system to generate graphics and video pixel data for display on a display device. The pixel data is passed to the display device and produces the images viewed on the display device. With the emergence of new display technologies, the transition from one display resolution on a particular display format to another presents a host of problems when the same application is run on two different computer systems with varying display resolutions. Common display resolution include those shown in Table 1 indicating the number of pixels in each dimension.
Where the resolution or sample rate of the display device matches the resolution of a particular image data being displayed, the image data can be displayed directly; or if not, the image data may have to be scaled or formatted to the appropriate format acceptable to the particular display device. Scaling can be done in either vertical or horizontal or both dimensions and the sample rates can be scaled up or down. Scaling becomes particularly important in the case of pixelated display systems in display devices such as liquid crystal displays (LCDs), projectors, flat panel displays, PDP, FED, EL, DMD, etc., that have a pixel structure.
Image scaling is typically accomplished using sample rate conversion where the sample rate converters scales by a rational number UM where L and M are positive integers. U.S. Pat. Nos. 4,020,332, 4,682,301, and 6,339,434 all disclose image scaling using integer conversion rates.
However, in each of these disclosures, performing image scaling from one display format to another and keeping the same frame rate to render the last line of each output frame from being either a short line or a long line that some display panels cannot tolerate. Accordingly, a need remains for improvements in image scaling schemes to eliminate short lines or long lines. Particularly, a need exists for a system that improves the performance of image scaling between display devices at lower costs and higher performance.
The present invention overcomes the inadequacies and deficiencies of the prior art as discussed hereinabove. The present invention provides a method for measuring input and output timings to eliminate the rendering of short lines or longs during image conversions between display devices or varying formats. According to the present invention, a method and system are provided whereby the image scaling between display device of varying formats is described.
An aspect of the present invention includes a method and a system of providing an image output timing where that accumulates the total output time to display a particular image in order to match the total input time of the originating image in order to prevent common image splicing.
According to another aspect of the present invention, a method and system are also provided for an image display output remapping scheme that remaps the output timing sequence to the incoming input video signal timing sequence in order to be able to display a complete image within an allotted rendering frame rate. The remapping logic also calculates how many lines should be remapped extra pixels and which lines are to be remapped.
Further aspects of the invention will be brought out in the following portions of the specification, wherein the detailed description is for the purpose of fully disclosing preferred embodiments of the invention without placing limitations thereon.
The invention will be more fully understood by reference to the following drawings which are for illustrative purposes only.
Referring more specifically to the drawings, for illustrative purposes the present invention is embodied in the apparatus and methods generally shown in
Many well-known elements (e.g., memory, data busses, interfaces) have been omitted from the accompanying drawings so as to more clearly show embodiments of the invention. Like-numbered elements shown in the various drawings represent like elements.
The image scaler 420, in one embodiment, receives the input video signals and determines the scaling parameters to use to display to the target display device 460. In one embodiment, the image scaler 420 comprises input video buffer unit 430, scaling logic unit 440 and output time generator 450.
In one embodiment, the image scaler 420 while performing image scaling to resize a received video input signal to a fixed resolution display panel locks the output total time to display the image to the total input time of the signal received in order to maintain the same frame rate. The total output time is also locked to correspond to the total input time to keep the internal line buffers of the image scaler 420 from being either over-run or under-run.
In one embodiment, a state machine (not shown) generates an output timing signal that is reset by the incoming input vertical synchronization (Vsync) of the input video signal. The output timing signal is also set so that the corresponding output image to the display device is void of any short lines or long lines distortions. As shown in
For example, if the total pixel count is X, then the remapping operation may start at the position where Vtotal is equal to Y. In the example illustrated in
In one embodiment, the video input synchronization unit 700 receives input video signals designated for scaling and synchronizes the input signals with the output clock signal of the scaling circuit 420. The synchronization signals are then presented to the output timing reset logic unit 710 to generate reset signals for the horizontal pixel counter 730 and the vertical line counter 720 when the input vertical synchronization (vsync) signal is in the rising edge of the input clock.
In one embodiment, the horizontal pixel counter 730 includes counters, adders and comparators to count the number of horizontal lines presented by the output timing reset logic unit 710. The counter output of the horizontal pixel counter 730 is increased by one on every output clock rising edge. The adder(s) in the horizontal pixel counter 730 is the sum of the horizontal pixel total (Htotal) and the horizontal pixel offset (Hoffset).
The comparator(s) of the Hcounter 730 generates an output Hsync signal that is equal to one when the combined horizontal pixel offset from 740 additions from the Htotal from 760 is equal to the horizontal pixel count 730. In one embodiment, the horizontal pixel count total (Htotal) is the programmed number of the number of pixels per line.
Still referring to
The Vcount is presented to the remapping logic unit 740 which calculates how many lines should be remapped for extra pixels. Registers 760 present to the remapping logic 740 how many extra pixels will be added into the lines which are decided to be remapped. The remapping logic 740 presents to the Hcounter 730 the “Hoffset” signals for each line. Hcounter 730 then is able to reset and assert Hsync signal if it counts to output Htotal+Hoffset. Effectively, the remapping logic 740 delays the output clock in order to transmit any extra pixels during a single output clock cycle.
In one embodiment of the invention, the remapping logic 740 uses the following equation to remap extra pixels in the image scaled:
Number of extra pixels (X)=((input Htotal*input Vtotal*input clock cycle time)−(output Htotal*output Vtotal*output clock cycle time))/output clock cycle time.
Number of lines allowed for remap (Y)=output Vtotal−vertical remap start
Where the vertical remap start is a programmed value which means when to start a remap.
Remap Step S=X/O/Y; Offset quantity O is a programmed number of the number of extra pixels added in each remapped line.
where remap step S should be a number between 0 and 1. In here, a logic being used when hsync rising edge:
Sum=Sum+S
If(Sum>=1), {H offset=0, Sum=Sum−1}
else {H offset=zero, Sum=Sum}.
An exemplary image scaling of one embodiment of the present invention using the above defined equation is as follows:
If Input H total=35; input V total=20; input clock cycle time=10;
output H total=48; output V total=29; output clock cycle time=5;
Vertical remap start=9; offset quantity O=2; then
X=(35*20*10−48*29*5) 5=8
Y=29 −9=20
S=X/O/Y=8/2/20=20
At step 805, the image scaling unit determines whether to add a horizontal offset to the value of the line length. If the horizontal offset is added to the line length, the base horizontal total and the horizontal offset is assigned to the horizontal total value at step 806 and the image scaling unit waits for a new line at step 807.
At step 925, the image scaling unit determines whether the horizontal total has been reached. If the Htotal is reached, the image scaling system determines whether the vertical counter is less than the vertical total at step 930. On the other hand if the Htotal has not been reached, the Hcounter is increased by 1 at step 915. If the Vcounter is less than the Vtotal at step 930, the image scaling system asserts the Hsync and increase the Vcounter by 1. However, if the Vcounter is not less than the Vtotal, the image scaling system waits for input Vsync reset at step 940.
Although the description above contains many details, these should not be construed as limiting the scope of the invention but as merely providing illustrations of some of the presently preferred embodiments of this invention. Therefore, it will be appreciated that the scope of the present invention fully encompasses other embodiments which may become obvious to those skilled in the art, and that the scope of the present invention is accordingly to be limited by nothing other than the appended claims, in which reference to an element in the singular is not intended to mean “one and only one” unless explicitly so stated, but rather “one or more.” All structural, chemical, and functional equivalents to the elements of the above-described preferred embodiment that are known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed by the present claims. Moreover, it is not necessary for a device or method to address each and every problem sought to be solved by the present invention, for it to be encompassed by the present claims. Furthermore, no element, component, or method step in the present disclosure is intended to be dedicated to the public regardless of whether the element, component, or method step is explicitly recited in the claims. No claim element herein is to be construed under the provisions of 35 U.S.C. 112, sixth paragraph, unless the element is expressly recited using the phrase “means for.”
Number | Name | Date | Kind |
---|---|---|---|
5739867 | Eglit | Apr 1998 | A |
5742274 | Henry et al. | Apr 1998 | A |
5760784 | Bullis et al. | Jun 1998 | A |
6177922 | Schiefer et al. | Jan 2001 | B1 |
6181300 | Poon et al. | Jan 2001 | B1 |
6329981 | Lin et al. | Dec 2001 | B1 |
6563484 | Song | May 2003 | B1 |
20020018054 | Tojima et al. | Feb 2002 | A1 |
20030184532 | Chen et al. | Oct 2003 | A1 |
20040012578 | Naegle | Jan 2004 | A1 |