This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

h.264 variable block size motion estimation



in variable block size we calculate 41 sad values.

1.are these all values compared to find the minimum sad. if 4*8 block sad is minimum for a particular search block and 8*4 block has minimumsad for a different search block which one is considered to be send.

2.are multiple motion vectors transferred for just one of the 41 sub blocks motion vectors

  • Which platform ?

    regards

    Yashwant

  • i meant that actually for a macroblock only one motion vector should be send. In variable block size motion estimation where we calculate 41 motion vectors for all the sizes, is a further algorithm used to find best in them or final vector is a some computation of these.

    actually i m new to h.264 so if have done a mistake to understand the concept of vbsme kindly help me with it.

  • Say the motion estimation supports variable block size motion estimation till 8x8.

    Then the motion estimation block can give for a MB one of the following which is best from metric standpoint:

    • 1MV for 16x16
    • 2 MV for two of the 16x8
    • 2MV for two of the 8x16
    • 4MV for each of the exe

    Hope this answers your confusion.

  • thanx for your help

    but can ypu give a little insight into what is metric standpoint.

    also if the second option(2 MV for two of the 16*8) is selected then we will be passing 2 motion vectors for the same macro block or something like a mean etc. of them.

  • Usually Motion Estimation modules use SAD(Sum of Absolute Difference) or SSE(Sun of Squared Errors) as the metric to choose the best block to match.

    Also more advance metrics such as SATD (Sum of Transform Difference) or some RD (rate distrotion) based metric taking MV bits in to account.

    Later kind of metrics are better but costly.

    gaurav srivastava said:
    second option(2 MV for two of the 16*8) is selected then we will be passing 2 motion vectors for the same macro block or something like a mean etc. of them

    If the second option is choose, one could see two motion vectors coded (residually coded) in the bitstream for this macroblock.

     

    Regards,

    Venugopala Krishna