[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [video] Real Time Video Scaling



Hi Aris,

There are no problems with horizontal UP/DOWN scaling, which can be 
performed by linear scaler, which is based on the Newton's Binom 
interpolation method. Second or higher order scaling can be performed 
by using Lagrange interpolators/extrapolators, where you can quickly 
find the roots of the N order approximation polynom and recompute the 
points with offset. This are the most common practices for XVGA-
>VIDEO and VIDEO->XVGA scalers.
Concerning the vertical decimation/interpolation, you could use Bilinear 
interpolator along with the data resorting method, such that your video 
controller sends time interleaved samples from two adjacent horizontal 
lines and by remembering 3 RGB points out of 4 you make an assesment 
of the RGB magnitude of interpolated point.
In all the described above examples no embedded memory is required.

Kindest regards,

Maxim

----- Original Message ----- 
From: Richard Herveille <richard@a... > 
To: video@o...  
Date: Mon, 26 May 2003 07:50:44 +0200 
Subject: Re: [video] Real Time Video Scaling 

> 
> 
> 
> Well down scaling is the easiest, especially if you can afford 
> loosing pixels. 
> Simply skip every second pixel and skip every second line. 
> This doesn't give the best picture, but it will work. Biggest 
> problem is that 
> a line 1 pixel/line width won't be visible when it's on the removed 
> pixel/line. You can solve this by alternating what pixel/line you 
> remove, but 
> then the image starts flickering (pixel visible, non visible, 
> visible, non 
> visible, etc) 
> 
> A better way is to filter the image using a reducing filter. This 
> can/should 
> be a simple FIR filter. The output of this filter provides a much 
> smoother 
> image and provides all the features of the original. This can be 
> done on the 
> fly for a single line. But in order to filter lines you need some 
> memory, but 
> not an entire frame. 
> 
> Upscaling (zooming) is best done with a bi-linear filter. You need 
> to store 
> the previous line for this. 
> 
> 
> > Hi all; 
> > I have been thinking on a problem. Some of you might have an 
> idea. 
> > 
> > The problem is : real time 640x480 video scaling without frame 
> buffering. 
> > Is there a way to downscale(eq: 320x240) or zooming a specific 
> part of 
> > a screen without performing any framebuffering?? System clock 
> is of 
> > course 25Mhz. 
> > 
> > Note: Pixel loss is not a big deal. You can ignore some pixels 
> if 
> > neccessary. 
> > 
> > 
> > Hope to hear some ideas.. 
> > 
> > See ya, 
> > Cheers, 
> > 
> > Aris 
> 
--
To unsubscribe from video mailing list please visit http://www.opencores.org/mailinglists.shtml