Home > Video > Can PixelBender be used to enhance video quality ?

Can PixelBender be used to enhance video quality ?

PixelBender is a new exciting feature of Flash Player 10. In short it is a language, a runtime environment and a JIT compiler (with a fall back interpreter) capable to generate and execute machine code optimized for image filtering. PixelBender filters are flexible, fast and are execute in multi-threading over multiple core. I suggest the reading of Tinic Uro’s Blog to know more about it.

But what is the point about PixelBender and Video Playback Enhancement ?

I think PixelBender to be very interesting for the design of fast and sophisticated post filtering kernels for enhancing video quality. Differently from Vp6 and Vp7, H.264 which is the “king on the hill” codec today, does not implements standard post processing or post filtering technology. This is really a mess, because at high compress ratio post processing is very usefull to reduce blockyness and restore picture sharpness. Now with PixelBender will be possible to create sofisticated custom post-processing filters to fill this lack and futherly enhance H.264 video quality at any resolution.

What we could do with Pixel Bender ? For example:

- enhance the details lost with compression using adaptive hi-pass filters.
– reduce the residual blocking in low bitrate video with deblocking filters.
– restore quality by simulation a fine grain over the video.
– smooth the areas of the picture which suffered of excessive quantization (usually dark areas).

If applyed carefully, post processing can also improve PSNR (Power Signal Noise Ratio) but most of all perceptual quality.
I’m starting a bunch of test about this potentialities. And these are two frames of a standard encoded H.264 (left) and the enhanced one (right). I’ll keep you informed.

About these ads
Categories: Video
  1. Stefan
    17 September 2010 at 11:05 pm

    Hey!

    did you do some further work on this? I’m currently working on the same. Do you have some hints for me?

    At which point in the code is it optimal, in terms of CPU usage, to place the filter for the video?

    I’ve some problems on the mobile phone: When I use the fullscreen mode the Flash Player has to upscale the video to fit on the display of the phone. In my case I use the Google Nexus and so the phone has to upscale the video to 800×480. Is the filter on the video applied before or after the upscaling?

    I assume that it is done after the upscaling because I saw now performance improvement when I switch from a CIF(352 × 288) source to a QCIF (176 × 144). The resulting frame-rate stays the same at about 7 FPS (with a 24 FPS source video). Is there any possibility to do apply the filter before the upscaling? Or maybe do the upscaling by another filter and disable the upscaling of the Flash Player?

    Other performance hints regarding the usage of filters on videos on mobile devices are also welcome!

    Thx Stefan

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 104 other followers

%d bloggers like this: