LINUX.ORG.RU

Что за узоры в изображениях вытянутых из видеофильмов?

 , ,


0

5

Экспериментирую тут с выделение границ на изображениях из видеофильмов, и в них проявляются такие вот узоры: https://habrastorage.org/webt/09/ui/dh/09uidhv_xnrxbf1hw3g10ukwilg.png

Изображения из фильмов взяты при помощи ffmpeg. Вопрос, на каком этапе это появляется, и есть ли форматы фильмов в которых будет без этого узора?



Последнее исправление: victor79 (всего исправлений: 1)

Ответ на: комментарий от targitaj

Упорядоченные и правильные потому, что сжатие происходит наверняка а пределах областей 8х8 или 16х16.

Также наверняка кодируется разница между предыдущим и текущим кадром. Где-то поменялась яркость, на кадре и отразилось - но это скорее зашумленные участки.

Интересно увидеть исходный кадр.

gedisdone ★★★
()

Ну тут два варианта я вижу.
Либо оно изначально там есть для, скажем, определения вареза, либо оно появляется при перекодировании из-за сжатия.

Zhbert ★★★★★
()
Ответ на: комментарий от gedisdone

Сейчас поэкспериментировал, это проявляется именно при экспорте через ffmpeg в jpeg. Если экспортировать в png, то этого нет. Если экспортировать через плеер VLC в jpeg, то этого так же нет. Т.е. это в ffmpeg кодировщик jpeg такой.

Проявляется на фрагментах близких к черному или к белому. На средних цветах то же есть, но на граничных цветах все прочие изменения оттенков малы, а этот артефакт постоянная небольшая состовляющая.

Повышение качества экспорта артефакт не убирает, хотя и становится значительно меньше заметен.

Команда экспорта:

ffmpeg -ss 6020 -i "input_file.mkv" -qscale:v 2 -vframes 1 -y "kadr.jpg"

(здесь команда с повышенным качеством, в топике пример с низким качеством)

victor79
() автор топика
Последнее исправление: victor79 (всего исправлений: 1)
Ответ на: комментарий от victor79

Ты лучше залей кадр из vlc, а то не понять, где узоры, а где что.

anonymous
()

это компуктеры так друг с другом общаются в тайне от людей

anonymous
()
Ответ на: комментарий от victor79

Т.е. это в ffmpeg кодировщик jpeg такой.

Значит, артефакты сжатия.

question4 ★★★★★
()
Ответ на: комментарий от quickquest

Похоже на кривую Гильберта © с ошибками сжатия.

Да, похоже, судя по сильному величению исходного изображения: https://habrastorage.org/webt/xz/yl/ru/xzylruk3qrprc7a1m12virp8zf8.png

А сами узоры похоже какие-то нюансы закономерностей упаковки проявляющиеся на этой кривой.

victor79
() автор топика
Ответ на: комментарий от victor79

А сами узоры похоже какие-то нюансы закономерностей упаковки проявляющиеся на этой кривой.

Сканирование по кривой Гильберта спектрально чуть компактнее классической строчно-кадровой развёртки. В основном из-за гладкой непрерывности и минимизации граничных эффектов в 2D-блоках.

quickquest ★★★★★
()
Ответ на: комментарий от victor79

В ffmpeg кодировщик jpeg такой
Повышение качества экспорта артефакт не убирает

А в 4:4:4 тоже? Если добавить опцию -pix_fmt yuvj444p

anonymous
()
Ответ на: комментарий от anonymous

А в 4:4:4 тоже? Если добавить опцию -pix_fmt yuvj444p

от этой опции характер узора изменился, стал помелче и менее заметным. Но все же узор остался. В то же время если через png, или если jpg из VLC, то узора нет совсем.

Увидел в ffmpeg опцию -pix_fmts, но я не очень разбираюсь в графических форматах, что бы правильно подобрать значение этой опции, а форматов там много…

victor79
() автор топика
Последнее исправление: victor79 (всего исправлений: 1)
Ответ на: комментарий от victor79

А там особого выбора нет для jpg. 4:2:0 (default), 4:2:2, 4:4:4. Если укажешь несовместимый, ffmpeg выберет ближайший похожий.

-qscale:v 2
команда с повышенным качеством

-q:v 1 еще выше. Не знаю, поддерживается ли -q:v 0. А что ffmpeg не умеет нормальные jpeg'овские значения качества задавать (0-100)?

anonymous
()
Ответ на: комментарий от anonymous

-q:v 1 еще выше. Не знаю, поддерживается ли -q:v 0. А что ffmpeg не умеет нормальные jpeg’овские значения качества задавать (0-100)?

Это я здесь подсмотрел: https://stackoverflow.com/questions/10225403/how-can-i-extract-a-good-quality-jpeg-image-from-an-h264-video-file-with-ffmpeg

Но проблема не в качестве, а в наличии узора, который проявляется в алгоритмах выделения границ. А без этого его особо не заметно.

victor79
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.