В справочном программном обеспечении Hevc hm 16.9 мне нужна помощь для генерации деталей CUs, PUs и TUs

Для тестовой последовательности я хочу получить следующую информацию:

  1. Где в справочном коде и как получить информацию о глубине ТС.

  2. Где и как я могу получить размеры и режимы PU для конкретного CTU.

  3. Где и как я могу получить вектор движения в формировании гноя.

  4. Где и как я могу получить информацию о системе отсчета гноя и их местоположении в системе отсчета?

  5. Где и как можно получить информацию об используемых режимах пропуска и слияния?

  6. Где и как я могу получить информацию о стоимости RD для PUs?

Мне нужна информация для статистического анализа, поэтому вся информация должна быть после принятия всех решений КТУ.

Первая часть предназначена для получения данных, по которым я могу провести некоторый анализ. После этого мне нужно знать, как заставить программное обеспечение использовать мои расчетные значения для различных параметров. Это первая часть моего вопроса.

Вторая часть моего вопроса заключается в том, где в справочном программном коде мы можем изменить вышеуказанные параметры?

например, я хочу установить глубину 2 для определенного CTU, как я могу этого достичь?
или я хочу принудительно пропустить режим для определенного PU, как я могу это сделать?
или я хочу заставить программное обеспечение использовать 2Nx2N для определенного PU, как я могу сделать это в программном обеспечении?

1 ответ

  1. Во-первых, все решения для CTU принимаются при m_pcCuEncoder->compressCtu( pCtu );вызове в TEncSlice.СРР

    pCtu имеет типTComDataCU, так что если вы посмотрите на TComDataCU.h, вы можете видеть всю информацию, которая содержится в объекте (глубина, размер раздела, режим предсказания, информация о векторах движения и т.д.)

    Для доступа к этой информации у вас есть функцииgetDepth(),getPartitionSize()getPredictionMode(), getMvFieldи так далее.

    Что касается второй части вашего вопроса, то где изменить вышеуказанные параметры зависит от того, чего вы хотите достичь. Например, если изменить глубину CTU до m_pcCuEncoder->compressCtu( pCtu );запуска, измененные значения будут перезаписаны этой функцией…