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.

DM368 JPEG & H.264 encoders information

Hi all,

I'm analyzing JPEG encoder (version 01.00.00.09) and H.264 encoder (version 02.20.00.01) on DM368, and i'm missing some information which i couldn't find in the technical documentation until now.

 Related to JPEG:
-> I need to now specifically how quantization parameter is calculated through quality factor, what are the quantization tables utilized by this codec and how they are calculated through quantization parameter.

Related to H.264:

-> I need specific information about rate control modes algorithms. Example: CBR can skip frames to maintain the desired VBV: what's the criterium to skip a frame? The bit rate to each frame depends on QP applied, right? how it's defined the QP to encode each frame?
-> about encodingPreset: Documentation indicates that XDM_HIGH_SPEED "set algorithm specific creation time parameters for high speed", and XDM_HIGH_QUALITY "set algorithm specific creation time parameters for high quality". What are these algorithms? Or, what time parameters are these? How the they afect the standard encoder?.

Are these and another technical information i need. Does anyone know that? Or does anyone know where can i find or obtain this information?

Thanks in advance,
Regards


  • Hi

    I will answer queries related to H264, and my colleague will answer query on JPEG.

    LSousa said:
    CBR can skip frames to maintain the desired VBV: what's the criterium to skip a frame? The bit rate to each frame depends on QP applied, right? how it's defined the QP to encode each frame?

    For this there will be a Rate control algorithm runs for every Macroblock or macroblock row in frame, which decides the QP and skipping of frame. This algorithm wil be complex, If you want to know about how it works, you better check opensource enoder's Rate control like JM's.

    LSousa said:
    -> about encodingPreset: Documentation indicates that XDM_HIGH_SPEED "set algorithm specific creation time parameters for high speed", and XDM_HIGH_QUALITY "set algorithm specific creation time parameters for high quality". What are these algorithms? Or, what time parameters are these? How the they afect the standard encoder?.

    This user control params decides which Motion estimation or Rate control algorithm needs to be used inside encoder. Both options produces decodable bitstream but, time to encode a stream will vary. These are create time parameters. Please see user guide and data sheet to see there impact on speed performance.

    Thanks,

    Veeranna

  • Hi Veeranna,
    thanks for your attention.


    Veeranna Hanchinal said:

    CBR can skip frames to maintain the desired VBV: what's the criterium to skip a frame? The bit rate to each frame depends on QP applied, right? how it's defined the QP to encode each frame?

    For this there will be a Rate control algorithm runs for every Macroblock or macroblock row in frame, which decides the QP and skipping of frame. This algorithm wil be complex, If you want to know about how it works, you better check opensource enoder's Rate control like JM's.[/quote]

    What does "JM's" mean? It's an opensource encoder?

    I don't need to know specifically the algorithm, but the rules/criteria to decide the QP and skipping of frame, in order to understand questions like: In the tests i made with CBR and VBR i noticed that after each I-frame, the bit rate of the following 5-6 frames decreases below the average value of P-frames bit rate (mainly when using CBR). Why it happens?

    Veeranna Hanchinal said:

    -> about encodingPreset: Documentation indicates that XDM_HIGH_SPEED "set algorithm specific creation time parameters for high speed", and XDM_HIGH_QUALITY "set algorithm specific creation time parameters for high quality". What are these algorithms? Or, what time parameters are these? How the they afect the standard encoder?.

    This user control params decides which Motion estimation or Rate control algorithm needs to be used inside encoder. Both options produces decodable bitstream but, time to encode a stream will vary. These are create time parameters. Please see user guide and data sheet to see there impact on speed performance.

    [/quote]

    IT's possible to know which Motion estimation or Rate control algorithm the encoder decided to use?

    Sorry if i can't express myself properly. Without information like these, some functionality seems like "black box", which i feed with an input, and i know what i can get at the output, but i don't know what happens inside that.

    Best regards

  • Hi,

    LSousa said:

    What does "JM's" mean? It's an opensource encoder?

    I don't need to know specifically the algorithm, but the rules/criteria to decide the QP and skipping of frame, in order to understand questions like: In the tests i made with CBR and VBR i noticed that after each I-frame, the bit rate of the following 5-6 frames decreases below the average value of P-frames bit rate (mainly when using CBR). Why it happens?

    JM is reference H264 software you can find document and source code at http://iphome.hhi.de/suehring/tml/

    frame size after I frame may be less because, inter prediction resulting a smaller residual. and again it may not true in all cases(like scene change). Normally encoder takes target bitrate for 1 second i.e for 30/60 frames and calculates budget for each frame and tries to achieve target bitrate over the period.

    LSousa said:
    IT's possible to know which Motion estimation or Rate control algorithm the encoder decided to use?

    Sorry we or other vendor's won't expose Motion estimation and rate control algorithms.

    below FAQ links may give more information about DM36x encoder

    http://processors.wiki.ti.com/index.php/DM365_Codecs_FAQ

    http://processors.wiki.ti.com/index.php/DM36x_H.264_encoder_FAQ

    Thanks,

    Veeranna

  • Hi Veeranna,

    Ok, i understand. Thanks a lot.

    I won't mark this issue as concluded yet, because the question about JPEG wasn't answered yet.

    Best Regards