Я пытаюсь декодировать временной код, который использует аппроксимированную логарифмическую кривую (см. рисунок). Это не настоящая логарифмическая кривая, а состоит из линейных кривых.
Например, когда временной код показывает 822496, реальное время составляет 2793 мс. Я напечатал кривую и нашел точки останова, когда начинается новая линейная кривая:
milliseconds => timecode
2793ms => 822496
6844ms => 906195
...
510982ms => 1408395
Новая линейная кривая начинается примерно через каждые 83700 значений тайм-кода. В настоящее время я расписываю настоящую логарифмическую кривую, но я хотел бы знать, как это сделать с линейными кривыми, если быть более точным.
У меня вопрос: как мне найти формулу для расчета реального времени (мс) из моего тайм-кода с использованием как можно более близких линейных кривых?
Логарифмическая функция для аппроксимации этой кривой (подгонка по контрольным точкам):
y = log x * 119900 - 167700