facebook rss twitter

Review: ATI Avivo Video and Display Engine - Technology Discussion

by Ryszard Sommefeldt on 20 September 2005, 00:00

Quick Link: HEXUS.net/qabsw

Add to My Vault: x

Process

Process

Avivo Video Path - Process

The Process stage is where you'll find the video deinterlacing hardware and one of the video scalers. First, the deinterlacing hardware.

Why deinterlace and common methods

Broadcast and captured video, including MPEG-2 video on DVDs, is interlaced. For the amount of scanlines you want to put video into, only half of them are transmitted per frame. On an interlaced display device like most TVs, display them fast enough, odd and even scanlines after each other, and your eye and brain will put the fields together for the full picture. So a 25fps interlaced video is actually being updated at 50Hz on an interlaced display.

PC monitors are progressive scan devices though. No interlacing happens and they present full fields to you in one go. So the display hardware has to deinterlace the video and it's not as simple as just buffering two frames, stitching the scanlines together and pooping that out onto the display. There's the possibility that the scene has changed slightly in between fields. So while you can have your display device do bufferpooping (weave deinterlacing), there are better ways to go about it.

Bob is where you just stretch the scanlines you've got into the gaps left by the field that's just gone (or is about to show up). That's visual filth, though, since you have half the vertical scanlines you need to properly fill the space you're drawing the video into. Time to try something else instead.

2:2 and 3:2 pulldown go about deinterlacing by using fields in a frame sequence. You know you need two fields combined to deinterlace the video for the progressive scan device and the scanout rate is higher than the source video (usually 24fps video into a 60Hz progressive scan display). For 3:2 pulldown you take 3 frames from the first frame of source, 2 from the next, 3 from the next, 2 from the next and so on, using weave to stitch them together to deinterlace the video. 2:2 works the same way for video where you want 24.99fps into 50Hz progressive for PAL.

Combine 3:2 or 2:2 pulldown with bob and weave and you can reproduce interlaced video on a progressive scan display with good quality. Go at it on a per-pixel basis and you can do even more.

Per-pixel adaptive deinterlacing compares pixel colour over a group of pixels on successive fields in the video stream to see what type of deinterlacing you want to do. If pixel colour doesn't change for the group you're looking at, you know to 'bob' the scanlines around that group since they're the same. Depending on the rate of change, you adapt your deinterlacing method for the pixels you've just looked at. Easy. Now what if you have a look and see where the pixels went if they did move?

Vector-adaptive deinterlacing added to the mix

In fast motion video, the pixels drawing an object won't be in the same place in successive fields. A car moving across the screen. A football being kicked at the referee's face because he sent the player off. You know the stuff. The hardware calculates the direction of motion of the pixels - "where'd the football go?" - and stores it as a directional vector, using that direction to determine how to draw the football in the completed progressive frame. The added directional information for the pixels moving around per field of interlaced video lets the hardware add that bit more quality to things.

If you know your high end video, think Gennum-class deinterlacing in consumer video hardware.

Make me look pretty on the PC

In the Process stage, scaling deals with drawing video into an application window, rather than the entire display. It's not clear if anything's new here in Avivo, since it's mostly a solved problem. Scaling is done after deinterlacing and before you draw it somewhere on the screen. There's also scope for passing off the scaling to the 3D hardware. You're usually drawing into an accelerated video surface anyway in card memory. Let the 3D hardware pick that up and do your scaling for you if it's not doing anything else. Quality and speed benefits abound if you do so.

Process Points

G70 got motion-adaptive deinterlacing when combined with the $20 PureVideo software decoder. Avivo gets similar ability with vector-adaptive deinterlacing combining per-pixel analysis with directional data. AA for video, yay!

Aaaah, Display stage next. Vindication of my first-page rant and much more. This bit is the good stuff in Avivo, trust me.