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.

[参考译文] RTOS/TMS320DM8148:h264编解码器的比特率问题

Guru**** 2549370 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/603745/rtos-tms320dm8148-question-on-bit-rate-for-h264-codec

器件型号:TMS320DM8148

工具/软件:TI-RTOS

您好!

我们使用 REL.500.V.H264AVC E.IVAHD.02.00.08.00来测试 h264、

编解码器的默认输入/输出 fps 为30/30、我们设置了4Mbps 的位速率。 输出大约为4Mbps

由于我们设置输入/输出 fps 是60/30、实际输入 fps 是编解码器的60 (我们仍然设置位速率4Mbps)、但我们得到8Mbps。

为什么???

位速率应与帧速率无关。 对吧??

我错过了什么问题吗??

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    请查看编解码器用户指南。
    您可以搜索 VBR 和 CBR。


    BR
    玛格丽塔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    玛格丽塔、感谢您的回复。
    我已经检查了 H264_Encoder_HDVICP2_UserGuide.pdf
    但我仍然无法确定位速率和帧速率之间的关系。 顺便说一下、我们只使用 CBR。

    看起来 bps 基于30fps、实际上当我们提供60fps 时、它将生成两倍的比特率~~A


    还有什么想法吗??

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    请查看指南中的这些参数:
    初始缓冲器级别
    HRDBufferSize

    这些参数应为:
    1⁄2*targetBitRate
    用于 CBR RateControl。

    您可以检查此主题:
    e2e.ti.com/.../1285501
    它可能会有所帮助。

    BR
    玛格丽塔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    玛格丽塔、非常感谢您的提醒。
    我已经检查了提供的参数。

    还有其他想法吗??
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    由于 ENC 的 FPS 与 FPS 中的实际值不同、因此看起来存在比特率问题、请参阅 e2e.ti.com/.../381271

    我需要客户的关系来向客户解释比特率问题。 谢谢。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,

    我不确定具体的 DM8148编解码器,但是我从其他编解码器中知道的是比特率必须在必须编码的“n”帧上进行调整。 因此,大多数编解码器都需要输入 帧速率来调整一段时间内的帧速率。 编解码器不知道什么是输入帧速率(目标帧速率)、它甚至不会尝试推导出相同的内容、因为它不会假设任何有关帧馈送时序的信息。

    它应该由系统(它周围的框架)处理、它应该易于处理、因为它将是一个动态可配置的参数、此参数可通过控制调用进行修改、而无需重新创建编解码器实例。

    谢谢、此致、

    Vishwanath Patil

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Vishwanath,感谢您的分享。

    根据我的观察、

    编码器设置(实际 fps:60)

    输入 fps    输出 fps  目标 bps    实际生成的 bps
    60              30                4Mbps            8Mbps
    60          60                4Mbps            4Mbps

    BPS /输出 fps x 实际 fps =总 bps
    4Mbps / 30 x 60 = 8Mbps
    我猜@@的是上述计算结果、因此我需要 TI 确认这是否正确 谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,

    实际上、编码器不需要 inputfps 和 outputfps。
    编码器需要的是目标帧速率(30或60fps)。


    BR 的计算结果应为=(以位为单位的文件大小* targetframerate)/(帧数)

    以下是更好地理解的示例-
    ----------------------------
    示例1.
    帧数为300
    BR = 1Mbps

    对于30fps (10sec)、文件大小= 1Mbps * 10 = 10Mbits
    对于60fps (5sec)、filesize = 1Mbps * 5 = 5Mbits

    因此、使用目标比特率时、文件大小会发生变化。 如果您考虑使用相同的帧速率来计算 BR、则它将得到双精度值。
    例如、如果您考虑在上述条件下实现30fps、
    BR = 10 * 30/300 = 1Mbps
    BR = 5 * 30/300 = 500kbps

    ----------------------------
    示例2.
    BR = 1Mbps

    对于30fps (10sec),filesize = 1Mbps * 10= 10Mbits,帧数应为300
    对于60fps (10sec),filesize = 1Mbps * 10= 10Mbits,帧数应为600
    ----------------------------

    我希望这将提高您对帧速率和比特率计算的理解。

    此致
    Gajanan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    希望最后一个回复能回答您的问题。 如果是、请关闭此主题。