interlacing
Nov. 26th, 2019 11:45 pmЕсли кто не знает, снимать видео в режиме interlaced - редкая жопа, потом при переводе в нормальный сплошной режим все участки с движением превращаются в бахрому. Конечно, если запись старая в телевизионном формате, то деваться некуда.
Но непонятно, почему деинтерлейсинг повсеместно делается так погано? В простейшем случае можно убавить вдвое количество строк (растянуть их вдвое по вертикали) и удвоить количество кадров - и то лучше будет наверное. Чтобы убавить количество кадров до изначального, смешивать соседние кадры.
Если же хочется сохранить количество строк, то можно попробовать смешивать отдельно в каждой строчке. Скажем если a - четные полукадры, а b - нечетные полукадры, то можно разместить кадры результата r между ними
и вычислять строчки смешиванием типа:
ra(N) = 0.75*a(N) + 0.25*a(N+1)
rb(N) = 0.75*b(N) + 0.25*b(N-1)
Или даже более сложные смешивания. Оно должно уменьшить количество бахромы, заменив ее размытостью. Но размытость выглядит гораздо лучше, чем бахрома.
Или еще более по уму - делать разпознавание движения по горизонтали как все равно делается в кодеках, и использовтаь его для вычисления промежуточной точки без смешивания как такового. А заодно распознанное движение потом можно использовать в кодеке.
Но непонятно, почему деинтерлейсинг повсеместно делается так погано? В простейшем случае можно убавить вдвое количество строк (растянуть их вдвое по вертикали) и удвоить количество кадров - и то лучше будет наверное. Чтобы убавить количество кадров до изначального, смешивать соседние кадры.
Если же хочется сохранить количество строк, то можно попробовать смешивать отдельно в каждой строчке. Скажем если a - четные полукадры, а b - нечетные полукадры, то можно разместить кадры результата r между ними
a1 -- a2 -- a3 -- a4 b1 -- b2 -- b3 -- b4 r1 r2 r3 r4
и вычислять строчки смешиванием типа:
ra(N) = 0.75*a(N) + 0.25*a(N+1)
rb(N) = 0.75*b(N) + 0.25*b(N-1)
Или даже более сложные смешивания. Оно должно уменьшить количество бахромы, заменив ее размытостью. Но размытость выглядит гораздо лучше, чем бахрома.
Или еще более по уму - делать разпознавание движения по горизонтали как все равно делается в кодеках, и использовтаь его для вычисления промежуточной точки без смешивания как такового. А заодно распознанное движение потом можно использовать в кодеке.