@DWZ

Программа-детектор «оквадраченных» кадров в видео?

Есть видеофайл (кодек H264, контейнер TS или MP4), в котором из-за сжатия некоторые кадры пошли квадратиками. Флагов ошибки нет, счётчики по порядку.

Есть ли программа, которая скажет, какие именно кадры "заквадратились"? Не обязательно работающая с видео, можно с набором *.BMP.

Или хотя бы алгоритм? Или идея алгоритма?
  • Вопрос задан
  • 117 просмотров
Пригласить эксперта
Ответы на вопрос 2
nidalee
@nidalee
В H.264 и H.265 есть фильтр деблокинга, он ловит и пытается исправить именно эти артефакты. Нужно потрошить спецификации и исходники энкодера на предмет того, как эти кадры находит он.
Работать нужно именно с видео, поскольку специальный софт может точно находить размеры и позиции макроблоков, пережатие\потеря которых и дают эти артефакты. Таким образом, переведя p- и b- фреймы в картинки (фактически, набор i-фреймов) вы только усложните себе задачу.
Я бы копал сюда, сюда и далее.

P.S.: Да, кстати, StreamEye из ссылки выше такое скорее всего умеет. Но он, ЕМНИП, совсем платный. Были и бесплатные аналоги.
Ответ написан
Комментировать
hint000
@hint000
у админа три руки
Или идея алгоритма?

Через преобразование Фурье считать спектр для каждого кадра. Битые кадры будут иметь 2-3 характерных пика на кратных частотах. Т.к. квадраты артефактов по идее должны иметь размеры 8x8, 16x16, 32x32, 64x64 пикселей.
Можно и второй вариант, попроще - считать среднюю по кадру контрастность между соседними ячейками сетки 8x8, 16x16,..

P.S. Особо не изучал вопрос, просто проходил мимо и рассуждал логически, так что на истину не претендую и сам с интересом прочитаю возражения и поправки. Задача-то интересная.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы