Как стать автором
Обновить

Проблемы поиска кадров в базе данных, связанные с соотношением сторон и их решение

Время на прочтение3 мин
Количество просмотров780

Вводная часть

Поисковый алгоритм «VideoColor»

Технология поиска «VideoColor» заключается в том, что каждый кадр в видео рассматривается как отдельное изображение по которому может вестись поиск. Индексируемое, а затем и искомое изображение, делится на табличные области и в каждой из её ячеек находятся усреднённые значения компонент красного, зелёного и синего цветов. По ним, в дальнейшем, можно производить сравнение для нахождения искомого кадра.

Фильмы для широкого экрана и для телевидения

Стандартным соотношением сторон для телефильмов является соотношение 4:3. В то же время для кинотеатров соотношения были более широкие, причём их было несколько. В последние годы стандартом де факто стало соотношение сторон 16:9. Это соотношение используется в современных телевизорах, мониторах, видеокамерах и фотоаппаратах. Тем не менее обозначилась тенденция использования более широкоэкранных телевизоров и мониторов, смартфонов и планшетов, а также съёмочной аппаратуры. С другой стороны, в то же время, некоторые популярные сервисы используют очень узкие соотношения сторон 1:1 и даже используют альбомную ориентацию, подстраиваясь под пользователей смартфонов.

Адаптация существующих видео под разное соотношение сторон

Если всё исходное видео обрабатывать по схеме M*N областей, то можно столкнуться с ситуацией когда видео проиндексировано (данный фильм присутствует в базе данных), а поиск по кадрам из этого видео не приносит положительных результатов. Это может случиться если соотношение сторон проиндексированного видео и кадра, по которому осуществляется поиск, различно.

Широкая и обрезанная картинки.
Широкая и обрезанная картинки.

Пути решения

Разные базы под разное соотношение сторон

Самое первое, что приходит на ум — это использование нескольких наиболее популярных соотношений сторон видео для того, чтобы поиск осуществлялся по тем данным, по которым была произведёна индексация исходного контента. Например, можно создать базу под наиболее популярные соотношения сторон: 16:9, 4:3, 1:1. А если исходное видео или кадр, по которому осуществляется поиск, отличаются от этих соотношений, то обрезать их до указанных значений.

16:9, 4:3, 1:1
16:9, 4:3, 1:1

Например, исходное видео в соотношении 21:9. Мы делаем обработку предварительно обрезав каждый кадр по краям до соотношения 16:9, а затем повторяем все действия обрезав каждый кадр до соотношения 4:3 и 1:1.

Плюсы

  • Мы бережно храним и обрабатываем исходную информацию, тем самым обеспечивая высокую точность поиска. Если кадр, по которому мы осуществляем поиск, придёт в соотношении 4:3, то мы будем искать в соответствующей базе данных. А если, скажем, в соотношении 16:9, то, сперва ищем в базе 16:9, и, если не нашли, можем повторить поиск в базе 4:3.

Минусы

  • Большой объём хранимой информации.

  • Раз информации много, то соответственно падает скорость первичной обработки (индексации данных) и время поиска.

Одна база для самого узкого соотношения сторон

Можно попытаться привести все видео и кадры по которым осуществляется поиск к некоему общему знаменателю, например, соотношению 1:1 или 4:3.

1:1
1:1

Плюсы

  • Одна база и следовательно минимальный размер данных.

  • Простой алгоритм обработки данных.

Минусы

  • Отбрасывая значимые части по краям мы теряем часть информации и, следовательно, огрубляем поиск. Часть похожих кадров (например, движение по краям) будут неверно определяться.

Одна база с записями имеющими возможность хранить информацию о соотношении сторон и сами данные на разные случаи

В этом случае мы создаём универсальный (избыточный) формат записи данных. В неё мы можем поместить информацию как о широком кадре, например (16:9), так и об узком (4:3) или (1:1). Естественно более широкие кадры нам придётся обрезать, тут уж ничего не поделаешь. Но база будет одна. Что же касается механизма сравнения записей в базе и той, по которой мы осуществляем поиск, то необходимо будет учитывать их формат и проводить сравнение по наиболее узкой части.

Плюсы

  • Некоторая экономия дискового пространства.

  • Среднее время поиска.

Минусы

  • Более сложный механизм индексации данных.

  • Более сложный поисковый алгоритм.

Выводы

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

Ссылки по теме

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Нужен ли пользователяем поиск видео по изображениям?
66.67% Да2
33.33% Нет1
0% Затрудняюсь ответить0
Проголосовали 3 пользователя. Воздержался 1 пользователь.
Теги:
Хабы:
Всего голосов 1: ↑0 и ↓1-1
Комментарии0

Публикации