Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
16 years ago

What is the secret to how the VIP Scaler works, and can it handle 4:2:2 video?

We are currently working on a system which is fairly complex. We thought we could save some time by utilizing Altera's VIP Suite for decimation and interpolation (yuk, yuk). We are using custom filter coefficients and the VIP scalers in polyphase mode for this purpose. We have struggled a bit to get things going due to poor documentation issues and lack of trained support. We are quite not there yet and very frustrated, needless to say.

Our biggest concern is if we present 4:2:2, 20-bit video to the system input, how do the scalers know what to filter? How do they know the difference between the chroma and the luma with respect to filter operation? We are currently using the same filters for luma as well as chroma, but we separated them from each other for this reason and possibly the use of different coefficients for each later on. This has opened up a whole other can of worms which I won't go into right now.

All of the reference designs that I have looked at insinuate that the 4:2:2 needs to be upsampled to 4:4:4 before performing any operations on the video. However, we do not want to expend extra chip resources by doing so if we do not have to.

If we need to upsample to get it right, I am OK with it, but I want someone to explain why to me. It seems that the VIP Suite user manual is nothing more than a vague narrative regarding an example design and really does not contain the nuts and bolts type of information that serious video engineers require to make informed decisions.

Please, if anyone out there really knows how the VIP Suite scaler function actually processes data with respect to a 4:2:2 video stream, then I would really like to know.

12 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    The runtime control register map for the scaler is given on page A-19 of the user guide. The general description of avalon slave interfaces is given on page 4-14.

    1 - Which scaling algorithm are you using?

    2 - Are you using SoPC builder are interfacing directly to the core?

    3 -

    --- Quote Start ---

    and input width and height as 32x32 using the control packet but the problem is the core is not discarding the extra data if i gave more than 1024 pixels and the output is same size as the input

    --- Quote End ---

    This concerns me, why do you have "extra data". The length of the video packet should match exactly what's specified in the control packet. Where is the "extra data" coming from? Who is creating the control packets?

    The biggest problem I've seen so far that people have had with the VIP suite is not that the cores aren't working but that they misunderstand how the entire video system must be architected.

    Jake
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    immJake,

    You are right about that... it is a matter of understanding that you may need more than one piece to get the job done since there are shortcomings with individual pieces and how they are designed and interact with another to perform a specific purpose...

    From a video engineer's/architect's perspective the Video IP Suite was not designed properly with respect to the expected function of each piece. However, this could have been easily overcome with good documentation. There are many assumptions that need to made when using the Video IP Suite, and if you are a "newbie" to video processing, I can see the confusion and subsequently frustration immeditately.

    Precise documentation (and not power-point presentations or block diagrams) covers a multitude of sins...