Грубое (частичное) удаление логотипа канала

Дата: 09 сентября 2010 16:13 #1

Грубое (частичное) удаление логотипа канала

Грубое (частичное) удаление логотипа канала с помощью DeLogo и AviSynth-а
Хочу сразу предупредить что данный способ не даёт идеальный результат. Поэтому, для начала рекомендую ознакомиться с сравнительными примерами в конце статьи.

В принципе существуют разные способы удаления логотипа. Можно это сделать непосредственно в самом редакторе, или же воспользоваться фильтром MSU Logo Remover (как нам рекомендует FAQ). Но в данной статье я хочу описать достаточно трудоёмкий способ, который позволит сохранить все настройки фильтров в скрипте, тем самым давая возможность неоднократно возвращаться к нарезке исходника.

Для работы нам понадобится один внешний VirtualDub-овский фильтр:
DeLogo 1.3.2 (чтобы его установить необходимо скопировать файл delogo.vdf в папку VirtualDub\plugins)
И один внешний фильтр AviSynth-а:
VagueDenoiser (чтобы его установить необходимо скопировать файл VagueDenoiser.dll в папку AviSynth\plugins)

Применение фильтра DeLogo:
- Поместим наш исходник в удобную для работы папку (например C:\Test). Воспользовавшись знаниями полученными после прочтения статьи ”Нарезка”, откроем его в VirtualDub-е и добавим к нему фильтр DeLogo 1.3.2 (Video > Filters > Add...).
- В открывшемся меню фильтра (картинка 01) нажмём кнопку Show preview и в окне предпросмотра выберем кадр на котором логотип виден более чётко. Далее, не закрывая окна предпросмотра нажмём кнопку Save frame (в разделе Mask properites, напротив Analyse), и сохраним наш кадр как 24-разрядный рисунок (*bmp) в папку с исходником, назвав его "TBS logo".
- Открыв наш "TBS logo" в любом графическом редакторе обрисуем логотип красным цветом. Затем отступив немного места, закрасим всё оставшееся пространство синим (картинка 02). Ничего страшного если ваш логотип будет получаться немного больше оригинала, главное это не допускать полутонов так как фильтр их проигнорирует. Закончив обрисовывать, загрузим получившуюся маску обратно в фильтр нажав кнопку Load (в разделе Mask properites, напротив Analyse).
- Слегка изменим первоначальные настройки фильтра, увеличив значение Power до 8 и уменьшив DeBlend falloff до 2 (картинка 03).
(более подробно с настройками DeLogo 1.3.2 можно ознакомиться перейдя по этой ссылке).
- Вновь открыв окно предпросмотра нажмём на кнопку Sample video (раздел Automatic analyser) и выберем один из предложенных режимов (рекомендую One keyframe per second - fastest). Фильтр начнёт анализ видеоматериала, и самостоятельно создаст необходимые для дальнейшей работы Alpha и Color маски (на это может потребоваться от 10 до 15 минут). Возможно что после анализа придётся слегка подкорректировать значение Alpha to repair (в приведённом примере это значение было уменьшено до 140).
- Теперь необходимо сохранить созданные фильтром маски в папку с исходником соответственно назвав их "TBS DeBlend", "TBS Alpha", "TBS Color" и "TBS Repair" (картинка 04). Далее жмём кнопку Close и Ok.

Сохранение настроек в скрипт:
Для того чтобы внести работу фильтра в скрипт нужно сохранить файл настроек File > Save processing settings (Ctrl+S) и открыть его в любом текстовом редакторе (например блокнот). Затем найти строчку:
VirtualDub.video.filters.instance[0].Config(1, "", "C:/Test/TBS DeBlend.bmp", "C:/Test/TBS Alpha.bmp", "C:/Test/TBS Color.bmp", "C:/Test/TBS Repair.bmp", 15, 80, 0, 0);
и скопировать значения Config в скрипт.

Если первоначальный скрипт выглядел следующим образом:

DSS2("C:\Test\[Zero-Raws] Fullmetal Alchemist - 63 RAW (TBS 1280x720 x264 AAC).mkv",fps=23.976)
ConvertToRGB24


То после внесённых в него изменений он должен выглядеть так:

LoadVirtualDubPlugin ("C:\Program Files\VirtualDub 1.9.0\plugins\delogo.vdf", "delogo",0)
DSS2("C:\Test\[Zero-Raws] Fullmetal Alchemist - 63 RAW (TBS 1280x720 x264 AAC).mkv",fps=23.976)
ConvertToRGB32
delogo(1, "", "C:/Test/TBS DeBlend.bmp", "C:/Test/TBS Alpha.bmp", "C:/Test/TBS Color.bmp", "C:/Test/TBS Repair.bmp", 15, 80, 0, 0)


Применение шумоподавляющего фильтра VagueDenoiser:
Теперь можно воспользоваться шумоподавляющим фильтром. Для этого мы разобьём кадр на четыре части с помощью AviSynth-а (картинка 05), и применим фильтр непосредственно к нужной области. После внесения финальных изменений скрипт приобретает следующий вид:

LoadVirtualDubPlugin ("C:\Program Files\VirtualDub 1.9.0\plugins\delogo.vdf", "delogo",0)
Loadplugin ("C:\Program Files\AviSynth 2.5\plugins\VagueDenoiser.dll")
DSS2("C:\Test\[Zero-Raws] Fullmetal Alchemist - 63 RAW (TBS 1280x720 x264 AAC).mkv",fps=23.976)
ConvertToRGB32
delogo(1, "", "C:/Test/TBS DeBlend.bmp", "C:/Test/TBS Alpha.bmp", "C:/Test/TBS Color.bmp", "C:/Test/TBS Repair.bmp", 15, 80, 0, 0)
a=last
crop(a,0,0,-0,-680)
a1=last
crop(a,0,40,-180,-600)
a2=last
crop(a,1100,40,-0,-600).VagueDenoiser(threshold=4, method=1, nsteps=3, chromaT=2.0)
a3=last
crop(a,0,120,-0,-0)
a4=last
StackVertical(a1,StackHorizontal(a2,a3),a4)


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

Сравнительные примеры:



Использованы материалы:
http://avisynth.org.ru
http://neuron2.net
http://forum.ixbt.com

Отдельное спасибо Aggressor
Дата: 09 сентября 2010 16:25 #2
Ммм как познавательно. Надо бы использовать, а то старым способом проще, но он палевный. Использовал его в трёх своих клипах, пока никто не заметил. Спасибо Нокс! Yahoo!
AMV | YouTube
Дата: 09 сентября 2010 16:50 #3
мм полезная статья спасибо)
Вопросы | Музыка
Дата: 09 сентября 2010 18:08 #4
хоть одно преимущество обычного даба над модом — в нём есть делого)
можешь повторить эксперимент на видео с более крупным (сложным) лого, и скинуть сюда исходник и результат (в лузлессе)? хочу сравнить с msu-шным ремувером, который юзал для таких целей.
смысл 2DCleaner'а в рамках сабжа не понял. какой-то дешевый закос под нормальные денойзеры, убивающий все детали — как он помогает удалить лого, и зачем портить им картинку?

ps. а что такое логотип? а то линки на красный и синий цвета ты дал, а про остальные слова приходится только догадываться Smile
Дата: 10 сентября 2010 04:44 #5
trampler:
можешь повторить эксперимент на видео с более крупным (сложным) лого, и скинуть сюда исходник и результат (в лузлессе)? хочу сравнить с msu-шным ремувером, который юзал для таких целей.
Договорились, только я скину закодированным в avi (x264, MP3).
trampler:
смысл 2DCleaner'а в рамках сабжа не понял.
Ну он слегка затирает остаточные шумы. Просто из тех которые я пробовал он дал самый лучший результат. В идеале бы денойзер в котором можно задавать область применения (чтоб исправлять только проблемное место)
trampler:
а что такое логотип?
Ок, зделаю линк на картинку с часто встречающимися логотипами и соответственно названиями японских каналов.
Дата: 10 сентября 2010 05:00 #6
Полумера с точки зрения результата. Надо бы выловить кого-то из равщиков и посмотреть техпроцесс от А до Я, ведь когда они затирают лого, то следа от затирки вообще не видно.
А пока лучше качать релизы нормальных равщиков и не парить себе мозги.
Дата: 10 сентября 2010 05:02 #7
в синте можно отфильтрить A какимнить Vaguedenoiser'ом в B и задать область mask (clip, С), где С альфа маска области с логотипом.
кодить тесты в lossy убивает смысл, ибо сравнивать артефакты сжатия придется, а не результаты работы фильтров..
Дата: 10 сентября 2010 05:16 #8
Aggressor:
А пока лучше качать релизы нормальных равщиков и не парить себе мозги.
Дак никто и не спорит, просто к примеру нормальные равщики забили на последние серии One Piece, из-за чего собственно я начал задумываться над удалением логотипов. А так я бы тоже очень хотел посмотреть на процесс от А до Я =)
trampler:
кодить тесты в lossy убивает смысл, ибо сравнивать артефакты сжатия придется, а не результаты работы фильтров..
Ладно заморочусь с лагарифом =)
Дата: 10 сентября 2010 11:47 #9
очень напрягает логотип TBS. никакие извращения не помогли мне его вывести.

Дата: 10 сентября 2010 12:10 #10
trampler
Вот сделал на примере логотипа TBS. Получилось заметно хуже, но ведь и способ пока не идеальный =)
Tes video TBS logo (00:04 64 Mb)
Tes video TBS logo (+DeLogo) (00:04 64 Mb)

Явно стоит после DeLogo проводить дополнительную обработку, только вот каким фильтром (может наоборот шумы наложить)?
Дата: 11 сентября 2010 17:43 #11
Немного изменил подход к удалению логотипа и в результате получилось вывести его почти идеально (иногда в динамике заметны лёгкие искажения):
One Piece - 417 (CX 1280x720 H264 AAC)

One Piece - 417 (D-CX 1280x720 H264 MP3)

Завтра проведу тесты на сложном TBS-овском логотипе и по его результатам перепишу статью.
Дата: 12 сентября 2010 04:27 #12
Noks, картинка всё равно портится
Дата: 13 сентября 2010 11:35 #13
Переписал статью

Bill Ein
Это из-за шумоподавляющего фильтра, его впринципе необязательно применять (с лёгкими логотипами DeLogo справляеться самостоятельно). Плюс скрины делались с уже пожатой серии.
Дата: 13 сентября 2010 14:02 #14
вот результат MSU Logo Remover: www.mediafire.com/?aatoiss73856g32
артефакты имеют место быть, но носят другой характер (учитываются моушн-вектора).
вцелом, результат MSU мне нравится больше, ибо лого большую часть времени не видно совсем.
можно протестировать его с новой методикой в описании?
ps. по прежнему люто, бешено протестую протев 2dcleaner’a. уж лучше резать с логотипом, чем убивать всю картинку.
Дата: 13 сентября 2010 15:11 #15
trampler:
вот результат MSU Logo Remover: www.mediafire.com/?aatoiss73856g32
артефакты имеют место быть, но носят другой характер (учитываются моушн-вектора).
В целом довольно неплохой результат. Учитывая пример который я приводил на этом исходнике результат почти идеальный =)
trampler:
можно протестировать его с новой методикой в описании?
Основное отличие новой методики заключается в том что фильтр анализирует всю серию целиком (больше данных для анализа - лучше результат). Поэтому (если я правильно понял суть вопроса) протестировать с новым методом на данном исходнике не получиться. Вот если взять определённую серию (линк на торрент), договориться о начальных и конечных фреймах образца (демонстрирующего финальный результат) тогда уже можно будет сравнить. Но я лично сомневаюсь что есть желание так заморачиваться =)
trampler:
ps. по прежнему люто, бешено протестую протев 2dcleaner’a. уж лучше резать с логотипом, чем убивать всю картинку.
Да я в принципе не против его заменить. Вот ты писал:
trampler:
в синте можно отфильтрить A какимнить Vaguedenoiser'ом в B и задать область mask (clip, С), где С альфа маска области с логотипом.

Не скинешь в тему скрипт с этим способов фильтровки? У меня с ависинтом достаточно туго, поэтому сам врядли смогу разобраться.

upd:
Всё таки протестировал новый способ на данном исходнике (правда не совсем на том же самом, никак не смог вспомнить номер серии из которой делал первый пример)
http://www.mediafire.com/?g1bs44a71ewracq

Без денойзера результат заметно хуже.
Чтобы писать в форуме, нужно войти.
Вход