Способ и система сравнения видеофайлов
Иллюстрации
Показать всеИзобретение относится к способу и устройству для выбора видеокандидата. Технический результат заключается в повышении эффективности определения видеокандидатов, близких к дублированию видео. Устройство содержит интерфейс связи для обмена данными по сети передачи данных с хранилищем видео, причем хранилище видео хранит множество видео, процессор, функционально соединенный с интерфейсом связи, процессор выполнен с возможностью осуществлять получение из хранилища видео множества видеокандидатов, видеокандидат из множества видеокандидатов потенциально является близким к дублированию видео для первого видео, первое видео обладает длительностью первого видео, определение параметра переменной длительности, причем параметр переменной длительности определен на основе длительности первого видео, выбор первого видеокандидата из множества видеокандидатов, первый видеокандидат обладает длительностью первого видеокандидата, сравнение длительности первого видеокандидата с параметром переменной длительности, в ответ на то, что длительность первого видеокандидата находится в пределах параметра переменной длительности, определение того, что первый видеокандидат является действительным кандидатом на близкое к дублированию видео для первого видео. 2 н. и 11 з.п. ф-лы, 4 ил.
Реферат
Область техники
[01] Настоящее техническое решение относится к способам проведения поисков в целом, и в частности - к способу и системе сравнения видеофайлов.
Уровень техники
[02] Поиск данных - хорошо известная задача в компьютерных технологиях. На современном уровне хранения данных и сетевых технологий иногда требуется искать в больших объемах данных. Хорошим примером является поиск в Интернете, где для конкретного пользовательского поискового запроса поисковая система ищет среди многих миллионов потенциально релевантных сетевых ресурсов для идентификации их подгруппы, которая потенциально более релевантна для пользовательского поискового запроса, чтобы представить ранжированный список потенциально релевантных ресурсов пользователю, который ввел поисковый запрос.
[03] Конкретной задачей в области поиска является поиск видео файлов. Например, в наборе видео ресурсов (таком как хранилище видео NETFLIX™, Neflix Inc, Лос Гатос, Калифорния, Соединенные Штаты Америки или другом онлайн сервисе, которые дают возможность просматривать/транслировать/загружать видео контент), желательно предоставлять пользователю возможность искать видео файлы для идентификации конкретных интересующих видеофайлов.
[04] Для предоставления возможности поиска видео файлов в большом наборе известен способ создания индекса видео файлов, чтобы предоставить возможность эффективного поиска среди них. Одной конкретной трудностью индексирования большого набора видео файлов является индексирование дублированных файлов. Дублированные файлы могут быть представлены по одной из множества причин, например, разные пользователи загрузили то же самое видео, или загрузили почти одинаковые видео, или же одно и то же видео доступно из множества источников. Некоторые из этих дубликатов являются идентичными копиями друг друга (т.е. обладают той же самой длиной и тем же самым содержанием). Другие являются близкими к дублированию и могут отличаться по длине и содержимому (например, один видео файл включает в себя серию сериала без рекламы, а другой включает в себя ту же серию сериала с невырезанной рекламой).
[05] Можно легко понять, что идентификация полных дубликатов - относительно простая задача и может быть легко выполнена с помощью техники дедубликации с использованием хэширования (в качестве примера). Обнаружение близких к дублированию файлов, с другой стороны, - более сложный процесс, и он требует прямого сравнения оригинальных видеофайлов или их сигнатур.
[06] Такой поиск близких к дублированию файлов в данном наборе видео может длиться значительный промежуток времени и требует значительных затрат вычислительных ресурсов (вычислительной мощности и т.д.).
[07] Существует известный подход, описанный в статье, озаглавленной: «Исключение близких к дублированию файлов в реальном времени в веб видео поиске с контентом и контекстом» ("Real-Time Near-Duplicate Elimination for Web Video Search with Content and Context") (Xiao Wu, Chong-Wah Ngo, Alexander G. Hauptmann, Hung-Khoon Tan). В статье описан способ, в котором идентифицируют предварительную группу близких к дублированию видео по длительности видео. Идентификация основной версии осуществляется с помощью анализа распределения длительностей. Для каждой основной версии выбирается исходное видео, которое потенциально является оригинальным источником, из которого появились другие видео. Видео, попадающие в специализированный временной промежуток, который является одним и тем же для всех видео, считаются кандидатами в близкие к дублированию видео.
[08] Существует и другой известный подход, описанный в статье, озаглавленной: «Исключение видеодубликатов с сайтов видеообмена» ("Elimination of Duplicate Videos in Video Sharing Sites") (Авторы: Narednra Kumar S, Murugan S, Krishnavei R, International Conference on Computer Science and Information Technology (ICCSIT'2011) Pattaya Dec. 2011). Описанный способ предусматривает, что для каждого запроса осуществляется идентификация основной версии с помощью сбора длительности всех видео. Таким образом, видео со сходной длительностью собираются в набор. Если 'd' - длительность для запроса, то собираются видео с длительностью 'd±α', где а может находиться в диапазоне от 2 до 4 секунд.
[09] В патенте США №US 8953836 описаны системы и способы, относящиеся к определению дубликатов видеоконтента в реальном времени. Создаются сигнатуры загруженного видео. Сигнатуры могут быть использованы для подбора загруженных видео в набор совпадающих видео. Набор совпадающих видео может быть отфильтрован на основе типа совпадения и качества совпадения. Для загруженного видео может быть создан уникальный идентификатор кластера, включающий в себя время загрузки, и этот уникальный идентификатор кластера может затем быть модифицирован для связи загруженного видео с идентификатором кластера потенциальных дубликатов. Идентификаторы кластера затем могут быть использованы в контексте поиска для фильтрования результатов, которые имеют идентичные идентификаторы кластера. Преимущества использования определения дубликатов в реальном времени могут улучшить пользовательский опыт на сервисе обмена видео, который включает в себя потенциальные дубликаты этого контента. Представлены системы и способы, относящиеся к определению дубликатов видеоконтента в реальном времени.
Раскрытие
[10] Задачей предлагаемого технического решения является устранение по меньшей мере некоторых недостатков, присущих известному уровню техники.
[11] Разработчики настоящего технического решения разработали варианты осуществления настоящего технического решения, принимая во внимание по меньшей мере один недостаток, связанный с известными подходами к идентификации близких к дублированию файлов.
[12] Без попыток выдвинуть какую-то конкретную теорию разработчики настоящего технического решения разработали варианты осуществления настоящего технического решения, принимая во внимание предположение, что поиск может быть ускорен при исключении определенных операций сравнения потенциально близких к дублированию видео, которые изначально очевидно не являются близкими к дублированию. Следовательно, техническая проблема, решаемая вариантами осуществления настоящего технического решения, - это эффективный выбор кандидатов на близкое дублирование, которые будут в итоге использованы в сравнении с первым видео, для которого определяются близкие к дублированию видео. Другими словами, процесс определения близких к дублированию видеофайлов делится на две стадии: (i) выбор кандидатов и (ii) анализ выбранных кандидатов для определения близких к дублированию видеофайлов (т.е. сравнение с первым видеофайлом, для которого определяются близкие к дублированию видео).
[13] Без попыток выдвинуть какую-то конкретную теорию разработчики настоящего технического решения разработали варианты осуществления технического решения на основе предположения, что близкие к дублированию видеофайлы обладают одинаковой или почти одинаковой длительностью, что и первое видео, для которого они являются близкими к дублированию видеофайлами.
[14] Как упоминалось выше, данный набор видеофайлов может обладать дубликатами двумя типов: полностью идентичными копиями видеофайла (полные дубликаты), и копиями, которые обладают почти идентичным контентом, но при этом определенным образом модифицированы - с добавленным или удаленным видеоконтентом. Длительность модифицированных версий (т.е. длительность близких к дублированию видеофайлов) может быть одинаковой или может слегка отличаться от оригинальной из-за их модификаций - например, из-за добавленного контента (рекламы, объявлений и так далее) или удаленных фрагментов (например, титров фильма и так далее).
[15] Таким образом, разработчики настоящего технического решения считают, что схожесть длительности между потенциальным кандидатом в близкие к дублированию видео и оригинальным видеофайлом - хороший индикатор вероятности того, что кандидат в близкие к дублированию видео действительно является близким к дублированию для первого видеофайла, к которому относится это близкое к дублированию видео.
[16] Разработчики также приняли во внимание, что величина различий в длительности близких к дублированию видео зависит от длины первого видеофайла, к которому относится этот(и) близкий(е) к дублированию видеофайл(ы). Например, близкие к дублированию видео для более длинных видео, обычно имеют более большие различия по длительности, чем близкие к дублированию видео для более коротких видео. Это может происходить потому, что к более длинному видео может быть добавлено больше рекламы/объявлений. Аналогичным образом, из относительно более длинного видео могут быть удалены более большие сегменты (например, титры, заставки, и так далее). Таким образом, разработчики приняли во внимание, что различия в длительности близких к дублированию видео для относительно длинных видео более выражены, чем различия в длительности близких к дублированию видео для относительно коротких видео.
[17] Чтобы решить упомянутые выше проблемы, разработчики настоящего технического решения разработали способ выбора кандидатов в близкие к дублированию файлы для первого оригинального видео, с использованием порога переменной длительности временного промежутка (также может быть упомянут как «шаблон переменной длительности» или «маска переменной длительности»), который определяется на основе длительности первого исходного видео, для которого нужно найти близкие к дублированию видео.
[18] Для того, чтобы это сделать, выбирается «видео для сравнения» (которое может быть первым исходным видео или близким к дублированию видео другого видео самим по себе). На основе длительности видео для сравнения определяется шаблон переменной длительности - т.е. определяются приемлемые пределы переменной длительности временного промежутка.
[19] Приемлемые пределы обозначают приемлемые различия в длительности кандидатов в близкие к дублированию видео по сравнению с видео для сравнения. Если длительность близкого к дублированию видео находится в пределах шаблона переменной длительности видео для сравнения, близкое к дублированию видео выбирается как действительный кандидат на близкое к дублированию видео для видео для сравнения.
[20] Этот процесс повторяется для других потенциальных кандидатов в близкие к дублированию видео. Те видео, которые определяются как действительные кандидаты в близкие к дублированию видео, действительно сравниваются с видео для сравнения для определения того, являются ли они близкими к дублированию видео. Сравнение может быть сделано побитно, с помощью сравнения сигнатур видео, сравнением аудиодорожек или с использованием любой другой известной техники. Например, сравнение может быть осуществлено с использованием инвертированного видеоиндекса, включающего в себя визуальные слова как ключи и идентификаторы видео, которое включает в себя эти визуальные слова. Если число совпадающих визуальных слов в данном кандидате на близкое к дублированию видео и в видео для сравнения превышает предварительно определенный порог, они рассматриваются как дубликаты.
[21] Технический эффект вариантов осуществления настоящего технического решения заключается в более эффективном и менее ресурсозатратном процессе определения близких к дублированию видео в большом наборе видео с помощью эффективного исключения тех потенциальных кандидатов на близкие к дублированию видео, которые с малой вероятностью являются близкими к дублированию видео, на основе их длительности, которая выходит за пределы шаблона переменной длительности.
[22] Первым объектом настоящего технического решения является способ выбора видеокандидата, причем видеокандидат потенциально является близким к дублированию видео для первого видео. Первое видео обладает длительностью первого видео. Способ выполняется на электронном устройстве, причем электронное устройство имеет доступ к хранилищу видео. Способ включает в себя: определение параметра переменной длительности, причем параметр переменной длительности определен на основе длительности первого видео; получение из хранилища видео множества видеокандидатов; выбор первого видеокандидата из множества видеокандидатов; первое видеокандидат обладает длительностью первого видеокандидата; сравнение длительности первого видеокандидата с параметром переменной длительности; в ответ на то, что длительность первого видеокандидата находится в пределах параметра переменной длительности, определение того, что первое видеокандидат является действительным кандидатом на близкое к дублированию видео для первого видео.
[23] В некоторых вариантах осуществления способа способ дополнительно включает в себя сравнение первого видеокандидата с первым видео.
[24] В некоторых вариантах осуществления способа первое видео включает в себя сигнатуру первого видео и первое видеокандидат включает в себя сигнатуру первого видеокандидата; сравнение первого видеокандидата с первым видео включает в себя сравнение сигнатуры первого видеокандидата и сигнатуры первого видео.
[25] В некоторых вариантах осуществления способа сравнение сигнатуры первого видеокандидата и сигнатуры первого видео выполняется побитно.
[26] В некоторых вариантах осуществления способа способ дополнительно включает в себя сравнение по меньшей мере одного из: аудиодорожек, мета-данных и заголовков первого видео и первого видеокандидата.
[27] В некоторых вариантах осуществления способа способ дополнительно включает в себя: выбор второго видеокандидата из множества видеокандидатов, причем второе видеокандидат обладает длительностью второго видеокандидата; сравнение длительности второго видеокандидата с параметром переменной длительности; если длительность второго видеокандидата находится за пределами параметра переменной длительности, определение того, что второе видеокандидат не является действительным кандидатом на близкое к дублированию видео для первого видео.
[28] В некоторых вариантах осуществления способа способ дополнительно включает в себя: сравнение первого видеокандидата с первым видео; без сравнения второго видеокандидата с первым видео.
[29] В некоторых вариантах осуществления способа параметр переменной длительности включает в себя: в качестве верхнего предела переменной длительности - длительность первого видео; в качестве нижнего предела переменной длительности - значение, которое является длительностью первого видео за вычетом предварительно определенного окна переменной длительности.
[30] В некоторых вариантах осуществления способа параметр переменной длительности включает в себя: в качестве верхнего предела переменной длительности - значение, которое является длительностью первого видео плюс предварительно определенное окно переменной длительности; в качестве нижнего предела - значение, которое является длительностью первого видео за вычетом предварительно определенного окна переменной длительности.
[31] В некоторых вариантах осуществления способа способ дополнительно включает в себя сравнение первого видеокандидата с первым видео для определения того, является ли первое видеокандидат близким к дублированию видео для первого видео.
[32] В некоторых вариантах осуществления способа в ответ на то, что первое видеокандидат является близким к дублированию видео для первого видео, способ дополнительно включает в себя выполнение по меньшей мере одного действия по меньшей мере либо с первым видеокандидатом, либо с первого видео.
[33] В некоторых вариантах осуществления способа выбор первого видеокандидата из множества видеокандидатов включает в себя: ранжирование множества видеокандидатов в порядке соответствующей длительности видеокандидатов; выбор первого видеокандидата, которое является видеокандидатом с самой короткой длительностью.
[34] Еще одним объектом настоящего технического решения является электронное устройство. Электронное устройство включает в себя: интерфейс связи для обмена данными по сети передачи данных с хранилищем видео, причем хранилище видео хранит множество видео, процессор, функционально соединенный с интерфейсом связи, процессор выполнен с возможностью осуществлять: получение из хранилища видео множества видеокандидатов; видеокандидат из множества видеокандидатов потенциально является близким к дублированию видео для первого видео, первое видео обладает длительностью первого видео; определение параметра переменной длительности, причем параметр переменной длительности определен на основе длительности первого видео; выбор первого видеокандидата из множества видеокандидатов; первое видеокандидат обладает длительностью первого видеокандидата; сравнение длительности первого видеокандидата с параметром переменной длительности; в ответ на то, что длительность первого видеокандидата находится в пределах параметра переменной длительности, определение того, что первое видеокандидат является действительным кандидатом на близкое к дублированию видео для первого видео.
[35] В контексте настоящего описания «сервер» подразумевает под собой компьютерную программу, работающую на соответствующем оборудовании, которая способна получать запросы (например, от клиентских устройств) по сети и выполнять эти запросы или инициировать выполнение этих запросов. Оборудование может представлять собой один физический компьютер или одну физическую компьютерную систему, но ни то, ни другое не является обязательным для данного технического решения. В контексте настоящего технического решения использование выражения «сервер» не означает, что каждая задача (например, полученные команды или запросы) или какая-либо конкретная задача будет получена, выполнена или инициирована к выполнению одним и тем же сервером (то есть одним и тем же программным обеспечением и/или аппаратным обеспечением); это означает, что любое количество элементов программного обеспечения или аппаратных устройств может быть вовлечено в прием/передачу, выполнение или инициирование выполнения любого запроса или последствия любого запроса, связанного с клиентским устройством, и все это программное и аппаратное обеспечение может быть одним сервером или несколькими серверами; оба варианта включены в выражение «по меньшей мере один сервер».
[36] В контексте настоящего описания «клиентское устройство» подразумевает под собой аппаратное устройство, способное работать с программным обеспечением, подходящим к решению соответствующей задачи. Таким образом, примерами клиентских устройств (среди прочего) могут служить персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.п.) смартфоны, планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует иметь в виду, что устройство, ведущее себя как клиентское устройство в настоящем контексте, может вести себя как сервер по отношению к другим клиентским устройствам. Использование выражения «клиентское устройство» не исключает возможности использования множества клиентских устройств для получения/отправки, выполнения или инициирования выполнения любой задачи или запроса, или же последствий любой задачи или запроса, или же этапов любого вышеописанного способа.
[37] В контексте настоящего описания «база данных» подразумевает под собой любой структурированный набор данных, не зависящий от конкретной структуры, программного обеспечения по управлению базой данных, аппаратного обеспечения компьютера, на котором данные хранятся, используются или иным образом оказываются доступны для использования. База данных может находиться на том же оборудовании, выполняющем процесс, на котором хранится или используется информация, хранящаяся в базе данных, или же база данных может находиться на отдельном оборудовании, например, выделенном сервере или множестве серверов.
[38] В контексте настоящего описания «информация» включает в себя информацию любого рода или типа, которая может храниться в базе данных. Таким образом, информация включает в себя, среди прочего, аудиовизуальные произведения (изображения, видео, звукозаписи, презентации и т.д.), данные (данные о местоположении, цифровые данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, таблицы и т.д.
[39] В контексте настоящего описания «компонент» подразумевает под собой программное обеспечение (соответствующее конкретному аппаратному контексту), которое является необходимым и достаточным для выполнения конкретной(ых) указанной(ых) функции(й).
[40] В контексте настоящего описания «используемый компьютером носитель компьютерной информации» подразумевает под собой носитель абсолютно любого типа и характера, включая ОЗУ, ПЗУ, диски (компакт диски, DVD-диски, дискеты, жесткие диски и т.д.), USB флеш-накопители, твердотельные накопители, накопители на магнитной ленте и т.д.
[41] В контексте настоящего описания слова «первый», «второй», «третий» и т.д. используются в виде прилагательных исключительно для того, чтобы отличать существительные, к которым они относятся, друг от друга, а не для целей описания какой-либо конкретной взаимосвязи между этими существительными. Так, например, следует иметь в виду, что использование терминов «первый сервер» и «третий сервер» не подразумевает какого-либо порядка, отнесения к определенному типу, хронологии, иерархии или ранжирования (например) серверов/между серверами, равно как и их использование (само по себе) не предполагает, что некий «второй сервер» обязательно должен существовать в той или иной ситуации. В дальнейшем, как указано здесь в других контекстах, упоминание «первого» элемента и «второго» элемента не исключает возможности того, что это один и тот же фактический реальный элемент. Так, например, в некоторых случаях, «первый» сервер и «второй» сервер могут являться одним и тем же программным и/или аппаратным обеспечением, а в других случаях они могут являться разным программным и/или аппаратным обеспечением.
[42] Каждый вариант осуществления настоящего технического решения преследует по меньшей мере одну из вышеупомянутых целей и/или объектов. Следует иметь в виду, что некоторые объекты данного технического решения, полученные в результате попыток достичь вышеупомянутой цели, могут удовлетворять и другим целям, отдельно не указанным здесь.
[43] Дополнительные и/или альтернативные характеристики, аспекты и преимущества вариантов осуществления настоящего технического решения станут очевидными из последующего описания, прилагаемых чертежей и прилагаемой формулы изобретения.
Краткое описание чертежей
[44] Для лучшего понимания настоящего технического решения, а также других его аспектов и характерных черт, сделана ссылка на следующее описание, которое должно использоваться в сочетании с прилагаемыми чертежами, где:
[45] На Фиг. 1 представлена система, выполненная с возможностью реализовать различные варианты осуществления настоящего технического решения.
[46] На Фиг. 2 представлена схема соответствующих длительностей первого видео, второго видео, третьего видео и четвертого видео, которые хранятся в системе, изображенной на Фиг. 1.
[47] На Фиг. 3 представлена схема первого видео, второго видео, третьего видео и четвертого видео с данными обработки, наложенными на них, причем данные обработки были определены индексирующим видео приложением системы, изображенной на Фигуре 1, и данные обработки определены в соответствии с вариантами осуществления настоящего технического решения.
[48] На Фиг. 4 представлена блок-схема способа выбора кандидатов на близкие к дублированию видео, способ выполнен в соответствии с неограничивающими вариантами осуществления настоящего технического решения и выполняется индексирующим видео приложением системы, изображенной на Фигуре 1.
Осуществление
[49] На Фиг. 1 представлена система 100, реализованная в соответствии с вариантами осуществления настоящего технического решения. Важно иметь в виду, что нижеследующее описание системы 100 представляет собой описание показательных вариантов осуществления настоящего технического решения. Таким образом, все последующее описание представлено только как описание показательного примера настоящего технического решения. Это описание не предназначено для определения объема или установления границ настоящего технического решения. Некоторые полезные примеры модификаций системы 100 также могут быть охвачены нижеследующим описанием. Целью этого является также исключительно помощь в понимании, а не определение объема и границ настоящего технического решения. Эти модификации не представляют собой исчерпывающий список, и специалистам в данной области техники будет понятно, что возможны и другие модификации. Кроме того, это не должно интерпретироваться так, что там, где не были изложены примеры модификаций, никакие модификации невозможны, и/или что то, что описано, является единственным вариантом осуществления этого элемента настоящего технического решения. Как будет понятно специалисту в данной области техники, это, скорее всего, не так. Кроме того, следует иметь в виду, что система 100 представляет собой в некоторых конкретных проявлениях достаточно простой вариант осуществления настоящего технического решения, и в подобных случаях этот вариант представлен здесь с целью облегчения понимания. Как будет понятно специалисту в данной области техники, многие варианты осуществления настоящего технического решения будут обладать гораздо большей сложностью.
[50] Система 100 включает в себя электронное устройство 102. Электронное устройство 102 обычно связано с пользователем (не показан) и, таким образом, иногда может упоминаться как «клиентское устройство». Следует отметить, что тот факт, что электронное устройство 102 связано с пользователем, не подразумевает какого-либо конкретного режима работы, равно как и необходимости входа в систему, регистрации, или чего-либо подобного.
[51] Варианты электронного устройства 102 конкретно не ограничены, но в качестве примера электронного устройства 102 могут использоваться персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.п.), устройства беспроводной связи (мобильные телефоны, смартфоны, планшеты и т.п.), а также сетевое оборудование (маршрутизаторы, коммутаторы или шлюзы). На Фиг. 1 электронное устройство 102 реализовано в виде персонального компьютера (настольного компьютера).
[52] Электронное устройство 102 соединено с сетью 106 передачи данных. В некоторых вариантах осуществления настоящего технического решения, не ограничивающих его объем, сеть 106 передачи данных может представлять собой интернет. В других вариантах осуществления настоящего технического решения сеть 106 передачи данных может быть реализована иначе - в виде глобальной сети передачи данных, локальной сети передачи данных, частной сети передачи данных и т.п.
[53] К сети передачи данных также присоединен сервер 108. Сервер 108 может представлять собой обычный компьютерный сервер. В примере варианта осуществления настоящего технического решения сервер 108 может представлять собой сервер Dell™ PowerEdge™, на котором используется операционная система Microsoft™ Windows Server™. Излишне говорить, что сервер 108 может представлять собой любое другое подходящее аппаратное и/или прикладное программное, и/или системное программное обеспечение или их комбинацию. В представленном варианте осуществления настоящего технического решения, не ограничивающем его объем, сервер 108 является одиночным сервером. В других вариантах осуществления настоящего технического решения, не ограничивающих его объем, функциональность сервера 108 может быть разделена и может выполняться с помощью нескольких серверов.
[54] В альтернативных вариантах осуществления настоящего технического решения электронное устройство 102 и сервер 108 могут быть реализованы как часть одного и того же аппаратного обеспечения (т.е. как единственное компьютерное устройство), причем в этом случае сеть 106 передачи данных может быть реализована как BUS (общая шина) и так далее.
[55] Также предусмотрено хранилище 110 видео. В некоторых вариантах осуществления настоящего технического решения хранилище 110 видео может быть реализовано как хранилище множества видеофайлов. В других вариантах осуществления настоящего технического решения хранилище 110 видео может быть реализовано как распределенный субъект, включающий в себя множество видеофайлов. Например, хранилище 110 видео может представлять собой скопление нескольких или всех видеофайлов, доступных на различных серверах (не показаны) в рамках сети 106 передачи данных.
[56] Как вариант, хранилище 110 видео может представлять собой скопление видеофайлов, доступных в конкретном субъекте, например, в библиотеке или научно-исследовательском учреждении. Другими словами, варианты осуществления настоящего технического решения могут быть полезны для индексирования и поиска видео, хранящихся на компьютерном устройстве (жестком диске, сервере и т.п.), удаленном компьютерном устройстве (сервере и т.п.) или распределенном хранилище (хранилище видео, распределенном по нескольким серверам и т.п.).
[57] Для примера пусть в хранилище 110 видео есть четыре видео - первое видео 112, второе видео 114, третье видео 116 и четвертое видео 118. Очевидно, четвертое видео, описанное здесь, - не последнее, и в разных вариантах осуществления технического решения хранилище 110 видео будет хранить больше видео в дополнение к первому видео 112, второму видео 114, третьему видео 116 и четвертому видео 118.
[58] Источник видеофайлов, хранящихся в хранилище 110 видео никак конкретно не ограничивается. Например, все или некоторые из первого видео 112, второго видео 114, третьего видео 116 и четвертого видео 118 могли быть загружены различными пользователями системы 100. Альтернативно все или некоторые из первого видео 112, второго видео 114, третьего видео 116 и четвертого видео 118 могут быть загружены оператором сервера 108 (например, сервер 108 может быть частью потокового сервиса или сервиса загрузки, например, Netflix).
[59] В альтернативных вариантах осуществления настоящего технического решения, хранилище 110 видео может быть поисковым индексом видео вертикали или поисковой системой общего поиска. Альтернативно хранилище 110 видео может быть частью сервиса, агрегирующего видео, и так далее.
[60] Видеофайлы, хранящиеся на сервере 108 (а именно первое видео 112, второе видео 114, третье видео 116 и четвертое видео 118) не обязательно все должны быть в одном и том же формате (хотя могут быть и в одном). Форматы кодирования видеоинформации могут различаться, некоторые примеры форматов видеофайлов включают в себя (без введения ограничений): Audio Video Interleaved (AVI), Windows Media Video (WMV), MPEG, GIF, Advanced Systems Format (ASF), и так далее. В альтернативных вариантах осуществления настоящего технического решения сервер может хранить множество версий одного и того же видеофайла, причем каждый видеофайл из множества версий может быть закодирован в соответствии со своим соответствующим стандартом кодирования.
[61] Каждое из первого видео 112, второго видео 114, третьего видео 116 и четвертого видео 118 связано с длительностью - т.е. указанием времени длительности соответствующего первого видео 112, второго видео 114, третьего видео 116 и четвертого видео 118. Исключительно в качестве примера на Фиг. 2 изображена схема соответствующих длительностей первого видео 112, второго видео 114, третьего видео 116 и четвертого видео 118 относительно временной шкалы 202 (в минутах, часах и т.д.) Исключительно с целью иллюстрации пусть соответствующие длительности первого видео 112, второго видео 114, третьего видео 116 и четвертого видео 118 будут таковы: первое видео 112 длится девятнадцать минут, второе видео 114 длится сорок девять минут, третье видео 116 длится пятьдесят минут и четвертое видео 118 длится сто минут.
[62] На Фиг. 2 первое видео 112, второе видео 114, третье видео 116 и четвертое видео 118 организованы в соответствии с длительностью в порядке увеличения длительности от первого видео 112 до четвертого видео 118. Следует понимать, что первое видео 112, второе видео 114, третье видео 116 и четвертое видео 118 может храниться в хранилище 110 видео в любом конкретном порядке по длительности (или в любом другом конкретном порядке).
[63] Таким образом, первое видео 112, второе видео 114, третье видео 116 и четвертое видео 118 может храниться в хранилище 110 видео в хронологическом
порядке по загрузке, в хронологическом порядке по созданию, в порядке по жанру, по источнику, по пользовательскому идентификатору пользователя, который загрузил видеофайл и так далее.
[64] Электронное устройство 102 включает в себя аппаратное и/или прикладное программное, и/или системное программное обеспечение (или их комбинацию), как известно в данной области техники, для реализации приложения 104 индексирования видео. Приложение 104 индексирования видео выполнено с возможностью создавать информационную базу данных 120, сохранять в ней, иметь к ней доступ и выполнять поиск в ней.
[65] На Фиг. 3 схематически показаны первое видео 112, второе видео 114, третье видео 116 и четвертое видео 118 с наложенными на них данными обработки, причем данные обработки определяются приложением 104 индексирования видео.
[66] Сначала будет пояснено, как приложение 104 индексирования видео создает параметр переменной длительности. Как было описано выше, параметр переменной длительности вычисляется для каждого видеофайла, т.е. для каждого из первого видео 112, второго видео 114, третьего видео 116 и четвертого видео 118. Другими словами, для данного набора видеофайлов (включающего в себя первое видео 112, второе видео 114, третье видео 116 и четвертое видео 118 и другие видеофайлы) параметр переменной длительности для каждого видеофайла в наборе определяется независимо для каждого первого видеофайла.
[67] Кроме того, при описании процедур анализа ниже и с точки зрения набора видеофайлов как целого (включая первое видео 112, второе видео 114, третье видео 116 и четвертое видео 118 и другие видеофайлы) параметр переменной длительности может упоминаться как «динамический». Используемый тут термин «динамический» подразумевает под собой то, что параметр переменной длительности не является предварительно определенным для всех видеофайлов в наборе видеофайлов, а определяется индивидуально для каждого видеофайла, для которого будут проанализированы близкие к дублированию видео. Как можно видеть на Фигуре 3, соответствующие параметры переменной длительности (обозначенные квадратными скобками и связанными процедурами определения под позицией 302) для второго видео 114, третьего видео 116 и четвертого видео 118 различаются друг с другом.
[68] Для данного одного из первого видео 112, второго видео 114, третьего видео 116 и четвертого видео 118 и других видео параметр переменной длительности
определяется следующим образом. Приложение 104 индексирования видео определяет длительность первого видео (т.е. одного из первого видео 112, второго видео 114, третьего видео 116 и четвертого видео 118). Приложение 104 индексирования видео затем определяет окно переменной длительности.
[69] В некоторых вариантах осуществления настоящего технического решения окно переменной длительности может быть определено на основе параметра окна переменной длительности, который может быть выражен в процентах и может быть предварительно определен как 5%. Значение 5% выбрано исключительно в качестве примера, возможны другие значения. В некоторых вариантах осуществления настоящего технического решения значение параметра окна переменной длительности определяется эмпирически.
[70] Приложение 104 индексирования видео сначала определяет окно переменной длительности. Возьмем в качестве примера второе видео 114 и учтем, что длительность второго видео 114 составляет сорок девять минут; приложение 104 индексирования видео определяет окно переменной длительности следующим образом:
[71] где Δ1 - окно переменной длительности, а 0,05 - параметр окна переменной длительности, который составляет 5%.
[72] Далее приложение 104 индексирования видео определяет нижний предел и верхний предел параметра переменной