СПОСОБ И СИСТЕМА ДЛЯ АВТОМАТИЧЕСКОГО ОПРЕДЕЛЕНИЯ НЕЧЕТКИХ ДУБЛИКАТОВ ВИДЕОКОНТЕНТА
METHOD AND SYSTEM FOR AUTOMATIC DETERMINATION OF FUZZY DUPLICATES OF VIDEO CONTENT

Область техники
Техническое решение относится к области выявления нарушений авторских прав, а именно к способам и системам для автоматического определения копий видеоконтента.
Уровень техники
Каждый год киноиндустрия теряет миллиарды долларов из-за распространения пиратских копий, которые публикуются в сети и становятся одновременно доступны большому числу пользователей. Под пиратством понимается копирование и распространение произведений, в частности фильмов, мультфильмов, клипов, сериалов, телепередач и др. видеоконтента, охраняемого авторским правом, без разрешения авторов или правообладателей или с нарушением условий договора о использовании таких произведений. По данным компании Group-IB (https://www.qroup-ib.ru/) средний пиратский кинотеатр приносит своим владельцам годовой доход около $90000, отток целевой аудитории на пиратские площадки составляет около 60%, а потеря доходов медиакомпаний вследствие действий пиратов может достигать 45%.
Совершенствование инструментов распространения, сокрытия пиратских копий в сети, увеличение объемов нарушений делает актуальным разработку механизмов обнаружения и пресечения пиратской деятельности. К современным антипиратским решениям предъявляются требования скорости, низкой стоимости поиска и снижения участия человека-аналитика.
Традиционные решения для поиска пиратского видеоконтента используют парсинг веб-страниц. Но многие веб-страницы, содержащие пиратские копии, могут быть неотличимы от страниц с трейлерами, распространение которых является легальным. Также, например, первые несколько серий сериала могут распространяться свободно, и актуальной является задача не только определения сериала, но и определение конкретной серии, дубликат которой размещен на том или ином веб-ресурсе.
Другой метод - анализ метаданных, он позволяет сравнивать длительность, размер кадров, качество записи и другую техническую информацию. Но поиск пиратской копии искомого фильма может увенчаться успехом только в том случае, если копия идентична оригиналу или незначительно отличается от него. В случае перекодирования файла оригинального видеоконтента может быть создан его нечеткий дубликат, большая часть метаданных которого может отличаться от метаданных оригинального видеоконтента. Изменение метаданных возможно, например, в результате перекодирования или сжатия оригинального видеоконтента, изменения его длительности, путем удаления или добавления кадров или целых отрывков (в частности, встраивание рекламных роликов), и т.д. Кроме того, возможно редактирование отдельных метаданных файла.
Для выявления нечетких дубликатов видеоконтента может быть использован алгоритм автоматического просмотра, симулирующий действия пользователя. Алгоритм автоматизации веб-браузера, позволяющий тестировать содержимое веб-страниц, известен в уровне техники (см., например, проект Selenium).
Известны технические решения, в которых осуществляется извлечение различных характеристик из оригинального видео и их сравнение с характеристиками найденных потенциальных нечетких дубликатов. Недостатками этих способов является повышенная нагрузка на вычислительные ресурсы и сеть передачи данных, вызванная необходимостью загрузки для анализа всего файла потенциального нечеткого дубликата. Мировой опыт борьбы с киберпреступностью указывает на использование цифровыми пиратами надежных инструментов обхода традиционных алгоритмов обнаружения пиратского контента. Производится изменение метаданных и содержания материалов: обрезка видеоконтента, внесение шума, изменение цветовой гаммы и другое. Поэтому новые способы обнаружения пиратского контента, в значительной степени нечувствительные к изменению видеоконтента, являются важнейшим приоритетом развития в области определения пиратских копий видеоконтента.
Настоящее техническое решение направлено на автоматизацию и повышение качества анализа видеоконтента в целях быстрого и точного выявления нечетких дубликатов видеоконтента.
Раскрытие изобретения
Техническим результатом настоящего технического решения является устранение по меньшей мере некоторых недостатков, присущих известному уровню техники.
Первым объектом настоящего технического решения является способ для автоматического определения нечетких дубликатов видеоконтента, выполняемый на компьютерном устройстве, имеющем доступ к предварительно сформированной базе данных оригинального видеоконтента, способ включает:
получение указания на видеоконтент;
извлечение каждого N кадра из видеопотока полученного видеоконтента с получением последовательности кадров, причем N>1;
определение последовательности сцен и длительности каждой из сцен путем сравнения по меньшей мере фрагментов смежных кадров из полученной последовательности кадров, причем граница сцены определяется при степени сходства по меньшей мере фрагментов смежных кадров ниже предварительно заданного значения;
создание вектора последовательности сцен полученного видеоконтента, содержащего данные по длительности каждой из сцен в последовательности сцен; сравнение вектора последовательности сцен полученного видеоконтента с вектором последовательности сцен по меньшей мере одного шаблона оригинального видеоконтента из предварительно сформированной базы данных оригинального видеоконтента на основании данных по длительности каждой из сцен в последовательности сцен;
определение нечеткого дубликата оригинального видеоконтента в ответ на то, что совпадения последовательности сцен оригинального видеоконтента и сцен полученного видеоконтента превышают предварительно заданное пороговое значение, определяющее возможную погрешность в разнице длительности сцены оригинального видеоконтента и длительности сцены полученного видеоконтента.
Возможен вариант осуществления способа, в котором перед этапом получения указания осуществляют поиск видеоконтента в сети передачи данных, причем поиск осуществляют по одному или нескольким из следующих параметров: ключевые слова в названии файла, ключевые слова в описании, сопутствующие изображения, метаданные файла.
Возможен вариант осуществления способа, в котором, предварительно задают функцию значения N от длительности видеоконтента.
Возможен вариант осуществления способа, в котором на этапе определения последовательности сцен выполняют сравнение извлеченных хеш-сумм по меньшей мере фрагментов смежных кадров, в ответ на то, что расстояние Хемминга между хеш-суммами смежных кадров превышает предварительно заданное пороговое значение, определяют границу сцены (смену сцены).
Возможен вариант осуществления способа, в котором создание вектора последовательности сцен полученного видеоконтента осуществляют на основе общего количества кадров в сцене.
Возможен вариант осуществления способа, в котором вектор последовательности сцен полученного видеоконтента представляет собой вектор по меньшей мере двух несмежных подмножеств сцен полученного видеоконтента.
Возможен вариант осуществления способа, в котором в ответ на совпадение вектора по меньшей мере двух несмежных подмножеств сцен полученного видеоконтента с по меньшей мере частью вектора последовательности сцен оригинального видеоконтента выполняют определение нечеткого дубликата оригинального видеоконтента.
Возможен вариант осуществления способа, в котором на этапе сравнения вектора последовательности сцен полученного видеоконтента с вектором последовательности сцен по меньшей мере одного шаблона оригинального видеоконтента дополнительно осуществляют сравнение по меньшей мере одного кадра из сцены полученного видеоконтента и по меньшей мере одного кадра из соответствующего сцены оригинального видеоконтента с образованием по меньшей мере одной сравниваемой пары кадров.
Возможен вариант осуществления способа, в котором выполняют извлечение хеш-сумм и сравнение хеш-сумм сравниваемой пары кадров.
Возможен вариант осуществления способа, в котором в ответ на то, что метаданные определенного нечеткого дубликата видеоконтента по меньшей мере частично отличаются от метаданных оригинального видеоконтента, осуществляют дополнительный поиск нечетких дубликатов видеоконтента содержащих метаданные идентичные метаданным определенного нечеткого дубликата видеоконтента.
Возможен вариант осуществления способа, в котором длительность нечеткого дубликата отличается от длительности оригинального видеоконтента.
Возможен вариант осуществления способа, в котором после определения нечеткого дубликата видеоконтента осуществляют сохранение указания на видеоконтент в базе данных нечетких дубликатов.
Другим объектом настоящего технического решения является способ создания шаблона оригинального видеоконтента, выполняемый на компьютерном устройстве, способ включает:
получение указания на по меньшей мере часть оригинального видеоконтента;
извлечение по меньшей мере части метаданных оригинального видеоконтента;
извлечение по меньшей мере части кадров из последовательности кадров оригинального видеоконтента;
определение последовательности сцен и длительности каждой из сцен путем сравнения по меньшей мере фрагментов смежных кадров из полученной последовательности кадров, причем граница сцены определяется при степени сходства по меньшей мере фрагментов смежных кадров ниже предварительно заданного значения;
создание вектора последовательности сцен оригинального видеоконтента, содержащего данные по длительности каждой из сцен в последовательности сцен; формирование и сохранение в базе данных шаблона оригинального видеоконтента, включающего по меньшей мере часть метаданных, вектор последовательности сцен оригинального видеоконтента.
Возможен вариант осуществления способа, в котором в шаблоне оригинального видеоконтента сохраняют по меньшей мере один кадр из каждой сцены.
Еще одним объектом настоящего технического решения является компьютерное устройство для автоматического определения нечетких дубликатов видеоконтента, имеющее доступ к предварительно сформированной базе данных оригинального видеоконтента и связанное с сетью передачи данных, компьютерное устройство включает в себя интерфейс связи и по меньшей мере один компьютерный процессор, функционально соединенный с интерфейсом связи, выполненный с возможностью осуществлять:
получение указания на видеоконтент;
извлечение каждого N кадра из видеопотока полученного видеоконтента с получением последовательности кадров, причем N>1;
определение последовательности сцен и длительности каждой из сцен путем сравнения по меньшей мере фрагментов смежных кадров из полученной последовательности кадров, причем граница сцены определяется при степени сходства по меньшей мере фрагментов смежных кадров ниже предварительно заданного значения;
создание вектора последовательности сцен полученного видеоконтента, содержащего данные по длительности каждой из сцен в последовательности сцен; сравнение вектора последовательности сцен полученного видеоконтента с вектором последовательности сцен по меньшей мере одного шаблона оригинального видеоконтента из предварительно сформированной базы данных оригинального видеоконтента на основании данных по длительности каждой из сцен в последовательности сцен;
определение нечеткого дубликата оригинального видеоконтента в ответ на то, что совпадения последовательности сцен оригинального видеоконтента и сцен полученного видеоконтента превышают предварительно заданное пороговое значение, определяющее возможную погрешность в разнице длительности сцены оригинального видеоконтента и длительности сцены полученного видеоконтента.
Возможен вариант осуществления устройства, в котором процессор выполнен с возможностью осуществлять поиск видеоконтента в сети передачи данных, причем поиск осуществляют по одному или нескольким из следующих параметров: ключевые слова в названии файла, ключевые слова в описании, сопутствующие изображения, метаданные файла.
Возможен вариант осуществления устройства, в котором процессор выполнен с возможностью осуществлять сравнение извлеченных хеш-сумм по меньшей мере фрагментов смежных кадров, и определение границы сцены (сцены) в ответ на то, что расстояние Хемминга между хеш-суммами смежных кадров превышает предварительно заданное пороговое значение.
Возможен вариант осуществления устройства, в котором процессор выполнен с возможностью осуществлять создание вектора последовательности сцен (сцен) полученного видеоконтента на основе общего количества кадров в сцене.
Возможен вариант осуществления устройства, в котором процессор выполнен с возможностью осуществлять создание вектора последовательности сцен полученного видеоконтента представляющего собой вектор по меньшей мере двух несмежных подмножеств сцен полученного видеоконтента.
Возможен вариант осуществления устройства, в котором процессор выполнен с возможностью осуществлять определение нечеткого дубликата оригинального видеоконтента в ответ на совпадение вектора по меньшей мере двух несмежных подмножеств сцен полученного видеоконтента с по меньшей мере частью вектора последовательности сцен оригинального видеоконтента.
Возможен вариант осуществления устройства, в котором процессор выполнен с возможностью осуществлять сравнение по меньшей мере одного кадра из сцены полученного видеоконтента и по меньшей мере одного кадра из соответствующего сцены оригинального видеоконтента с образованием по меньшей мере одной сравниваемой пары кадров.
Возможен вариант осуществления устройства, в котором процессор выполнен с возможностью осуществлять извлечение хеш-сумм и сравнение хеш-сумм сравниваемой пары кадров.
Возможен вариант осуществления устройства, в котором процессор выполнен с возможностью осуществлять дополнительный поиск нечетких дубликатов видеоконтента содержащих метаданные идентичные метаданным определенного нечеткого дубликата видеоконтента в ответ на то, что метаданные определенного нечеткого дубликата видеоконтента по меньшей мере частично отличаются от метаданных оригинального видеоконтента.
Возможен вариант осуществления устройства, дополнительно имеющее доступ к базе данных нечетких дубликатов, в котором процессор выполнен с возможностью осуществлять сохранение указания на видеоконтент в базе данных нечетких дубликатов.
Возможен вариант осуществления устройства, в котором процессор дополнительно выполнен с возможностью осуществлять:
получение указания на по меньшей мере часть оригинального видеоконтента;
извлечение по меньшей мере части метаданных оригинального видеоконтента;
извлечение по меньшей мере части кадров из последовательности кадров оригинального видеоконтента;
определение последовательности сцен;
создание вектора последовательности сцен;
формирование и сохранение в базе данных шаблона оригинального видеоконтента, включающего по меньшей мере часть метаданных, вектор последовательности сцен оригинального видеоконтента.
Возможен вариант осуществления устройства, в котором процессор дополнительно выполнен с возможностью сохранять меньшей мере один кадр из каждой сцены в шаблоне оригинального видеоконтента.
В контексте настоящего описания «нечеткий дубликат видеоконтента» подразумевает под собой приблизительно одинаковое видео, которые может отличаться от оригинального видеоконтента, в частности, одним или несколькими из: параметрами кодирования, светоизмерительными параметрами (цветность, яркость), применением монтажа (рамка, титры, логотип и т.д.). Также «нечеткий дубликат видеоконтента» может представлять собой идентичные видео с соответствующей дополнительной информацией или отсутствием по меньшей мере части информации, например, дополненные рекламой, перемонтированные с добавлением и/или удалением отдельных кадров или сцен и т.д..
В контексте настоящего описания «оригинальный видеоконтент» подразумевает под собой некий исходный видеофайл, относительно которого осуществляется поиск и определение нечетких дубликатов. Так, например, в качестве оригинального видеоконтента может выступать фильм, пиратские копии которого необходимо найти и определить с целью блокировки и пресечения нарушения авторских прав.
В контексте настоящего описания под «сценой» видеоконтента понимается множество кадров, связанных между собой, например, единством съемки, присутствием одних и тех же объектов, действующих лиц и т.д. Визуальные различия между последовательностью из двух или более смежных кадров одной сцены являются незначительными и наоборот визуальные отличия между последним кадром одной сцены и первым кадром следующей сцены различаются значительно. Степень сходства и различия может быть задана предварительно. Например, значительным может считаться совпадение двух кадров на 20% и более.
В контексте настоящего описания под «вектором последовательности сцен» подразумевается выражение количества кадров в сценах или длительности сцен (сцен), последовательность которых образует видеоконтент.
В контексте настоящего описания «компьютерное устройство» подразумевает под собой компьютерную программу, работающую на соответствующем оборудовании, которая способна получать запросы (например, от клиентских устройств) по сети и выполнять эти запросы или инициировать выполнение этих запросов. Оборудование может представлять собой один физический компьютер или одну физическую компьютерную систему, но ни то, ни другое не является обязательным для настоящего технического решения. В контексте настоящего технического решения использование выражения «компьютерное устройство» не означает, что каждая задача (например, полученные команды или запросы) или какая-либо конкретная задача будет получена, выполнена или инициирована к выполнению одним и тем же «компьютерным устройством» (то есть одним и тем же программным обеспечением и/или аппаратным обеспечением); это означает, что любое количество элементов программного обеспечения или аппаратных устройств может быть вовлечено в прием/передачу, выполнение или инициирование выполнения любого запроса или последствия любого запроса, связанного с клиентским устройством, и все это программное и аппаратное обеспечение может быть одним компьютерным устройством или несколькими компьютерными устройствами, оба варианта включены в выражение «по меньшей мере одно компьютерное устройство».
В контексте настоящего описания «база данных» подразумевает под собой любой структурированный набор данных, не зависящий от конкретной структуры, программного обеспечения по управлению базой данных, аппаратного обеспечения компьютера, на котором данные хранятся, используются или иным образом оказываются доступны для использования. База данных может находиться на том же оборудовании, выполняющем процесс, который сохраняет или использует информацию, хранящуюся в базе данных, или же она может находиться на отдельном оборудовании, например, выделенном сервере или множестве серверов.
В контексте настоящего описания, если специально не указано иное, термин «видеоконтент» или «контент» относится к любым визуальным или аудио-визуальным данным, которые, например, могут быть представлять собой видео файлы.
В контексте настоящего описания, если четко не указано иное, «указатель» или «указание» информационного элемента может представлять собой сам информационный элемент или указатель, отсылку, ссылку или другой косвенный способ, позволяющий получателю указания найти сеть, память, базу данных или другой машиночитаемый носитель, из которого может быть извлечен информационный элемент. Например, указание на видеоконтент может включать в себя сам файл видеоконтента или набор файлов видеоконтента, или же он может являться универсальным указателем ресурса (например, URL www.webpage.com/videofile.avi), идентифицирующим видеоконтент по отношению к конкретной сети (в частности, Интернет), или какими-то другими средствами передавать получателю указание на сетевую папку, адрес памяти, таблицу в базе данных или другое место, в котором можно получить доступ к видеоконтенту или отдельным его фрагментам. Как будет понятно специалистам в данной области техники, степень точности, необходимая для такого указания, зависит от степени первичного понимания того, как должна быть интерпретирована информация, которой обмениваются получатель и отправитель указателя. Например, если до передачи данных между отправителем и получателем понятно, что указатель информационного элемента принимает вид универсального указателя ресурса URL, передача указателя, ссылки на данный видеоконтент - это все, что необходимо для эффективной передачи видеоконтента получателю, несмотря на то, что сам по себе информационный элемент (например, фильм или его фрагмент) не передавался между отправителем и получателем указания.
В контексте настоящего описания, если конкретно не указано иное, слова «первый», «второй», «третий» и т.д. используются в виде прилагательных исключительно для того, чтобы отличать существительные, к которым они относятся, друг от друга, а не для целей описания какой-либо конкретной взаимосвязи между этими существительными. Так, например, следует иметь в виду, что использование терминов "первый отрывок" и "третий отрывок" не подразумевает какого-либо порядка, отнесения к определенному типу, хронологии, иерархии или ранжирования (например) сцен (сцен) в множестве сцен (сцен), равно как и их использование (само по себе) не предполагает, что некий "второй отрывок" обязательно должен существовать в той или иной ситуации. В дальнейшем, как указано здесь в других контекстах, упоминание "первого" элемента и "второго" элемента не исключает возможности того, что это один и тот же фактический реальный элемент. Так, например, в некоторых случаях, "первый" сервер и "второй" сервер могут являться одним и тем же программным и/или аппаратным обеспечением, а в других случаях они могут являться разным программным и/или аппаратным обеспечением.
В контексте настоящего описания «машиночитаемый носитель» подразумевает под собой носитель абсолютно любого типа и характера, включая ОЗУ, ПЗУ, диски (компакт диски, DVD-диски, дискеты, жесткие диски и т.д.), USB флеш-накопители, твердотельные накопители, накопители на магнитной ленте и т.д.
Дополнительные и/или альтернативные характеристики, аспекты и преимущества вариантов осуществления настоящего технического решения станут очевидными из последующего описания, прилагаемых чертежей и прилагаемой формулы изобретения.
Краткое описание чертежей
Для лучшего понимания настоящего технического решения, а также других его аспектов и характерных черт сделана ссылка на следующее описание, которое должно использоваться в сочетании с прилагаемыми чертежами, где:
На фиг. 1 приводится упрощенное схематическое представление одной из неограничивающих реализаций системы для осуществления настоящего технического решения.
На фиг. 2 показана блок-схема последовательности операций согласно аспекту способа создания шаблона оригинального видеоконтента.
На фиг. 3 показана блок-схема последовательности операций согласно аспекту настоящего способа для автоматического определения нечетких дубликатов видеоконтента.
Осуществление
Нижеследующее описание представлено только как описание иллюстративного примера настоящего технического решения. Это описание не предназначено для определения объема или установления границ настоящего технического решения.
Некоторые полезные примеры модификаций описываемого способа и системы для определения вредоносных веб-ресурсов также могут быть охвачены нижеследующим описанием. Целью этого является также исключительно помощь в понимании, а не определение объема и границ настоящего технического решения. Эти модификации не представляют собой исчерпывающий список, и специалистам в данной области техники будет понятно, что возможны и другие модификации. Кроме того, это не должно интерпретироваться так, что там, где не были изложены примеры модификаций, никакие модификации невозможны, и/или что-то, что описано, является единственным вариантом осуществления этого элемента настоящего технического решения. Как будет понятно специалисту в данной области техники, это, скорее всего, не так. Кроме того, следует иметь в виду, что способ и система для автоматического определения нечетких дубликатов видеоконтента представляет собой в некоторых конкретных проявлениях достаточно простые варианты осуществления настоящего технического решения, которые в подобных случаях представлены здесь с целью облегчения понимания. Как будет понятно специалисту в данной области техники, многие варианты осуществления настоящего технического решения будут обладать гораздо большей сложностью.
На Фиг. 1 представлено упрощенное схематическое представление одной из неограничивающих реализаций системы 100 для осуществления настоящего технического решения.
В некоторых неограничивающих вариантах реализации настоящего технического решения система 100, обеспечивающая реализацию способа, может включать в себя сеть 102 передачи данных, по крайней мере одно компьютерное устройство 104 для автоматического определения нечетких дубликатов видеоконтента (далее компьютерное устройство 104), базу данных 108 оригинального видеоконтента, причем компьютерное устройство 104 включает в себя по меньшей мере один процессор 106. Система 100 может также включать в себя по меньшей мере один поисковый сервер 110, имеющий доступ к базе данных 112 видеоконтента. Система 100 также может включать в себя базу данных 114 нечетких дубликатов видеоконтента в которую могут сохраняться нечеткие дубликаты оригинального видеоконтента, определяемые в процессе осуществления заявляемого способа.
В качестве сети 102 передачи данных может выступать, например, сеть Интернет или любая другая вычислительная сеть.
Компьютерное устройство 104 может представлять собой обычный компьютерный сервер. В примере варианта осуществления настоящего технического решения компьютерное устройство 104 может представлять собой сервер Dell™ PowerEdge™, на котором используется операционная система Ubuntu Server. Излишне говорить, что компьютерное устройство 104 может представлять собой любое другое подходящее аппаратное и/или прикладное программное, и/или системное программное обеспечение или их комбинацию. В представленном варианте осуществления настоящего технического решения, не ограничивающем его объем, компьютерное устройство 104 является одиночным сервером. В других вариантах осуществления настоящего технического решения, не ограничивающих его объем, функциональность компьютерного устройства может быть разделена между несколькими компьютерными устройствами, и например, может выполняться с помощью нескольких серверов.
Компьютерное устройство 104 в некоторых неограничивающих вариантах осуществления настоящего технического решения может представлять собой персональный компьютер (настольный компьютер, ноутбук и т.д.).
Варианты осуществления компьютерного устройства 104 хорошо известны. Таким образом, достаточно отметить, что компьютерное устройство 104 включает в себя, среди прочего, интерфейс сетевой передачи данных (например, модем, сетевую карту и тому подобное) для двусторонней связи по сети передачи данных (не изображена); и по меньшей мере один процессор 106, связанный с интерфейсом сетевой передачи данных, причем процессор 106 выполнен с возможностью выполнять различные процедуры, включая те, что описаны ниже. С этой целью процессор 106 может иметь доступ к машиночитаемым инструкциям, хранящимся на машиночитаемом носителе (не показан), выполнение которых инициирует реализацию процессором 106 различных процедур, описанных здесь. Возможен также вариант осуществления настоящего технического решения, в котором по меньшей мере часть операций осуществляется графическим процессором GPU (не показан).
В некоторых вариантах осуществления настоящего технического решения компьютерное устройство 104 включает в себя одну или несколько баз данных 108, которая выполнена с возможностью хранить предварительно сформированные шаблоны оригинального видеоконтента, причем каждый шаблон включает по меньшей мере часть метаданных, вектор последовательности сцен оригинального видеоконтента. Возможен вариант осуществления, в котором шаблон также включает в себя по меньшей мере один кадр из каждой сцены. Возможен вариант осуществления, в котором в базе данных 108 оригинального видеоконтента сохранен указатель на файл оригинального видеоконтента и/или сам файл оригинального видеоконтента.
Несмотря на то, что база данных 108 оригинального видеоконтента представлена как отдельная от компьютерного устройства 104, с которым она соединена с помощью соответствующей линии (не пронумерована), база данных 108 может быть реализована как часть компьютерного устройства 104 или иным способом быть доступна компьютерному устройству 104. Аналогичным образом, база данных 114 нечетких дубликатов видеоконтента, представленная на фиг. 1 как отдельная от компьютерного устройства 104, с которым она соединена с помощью соответствующей линии (не пронумерована), база данных 114 может быть реализована как часть компьютерного устройства 104 или иным способом быть доступна компьютерному устройству 104. Возможен также вариант осуществления, согласно которому база данных 108 оригинального видеоконтента и база данных 114 нечетких дубликатов видеоконтента может быть реализована на одном и том же физическом устройстве либо на отдельных устройствах.
Возможен вариант осуществления системы 100, согласно которому компьютерное устройство 104 включает в себя машиночитаемый носитель (не показан), на котором могут быть предварительно сохранены машиночитаемые инструкции и/или база данных 108 и/или база данных 114 нечетких дубликатов видеоконтента. Альтернативно или дополнительно компьютерное устройство 104 может иметь доступ к машиночитаемым инструкциям и/или базе данных 108 и/или базе данных 114 нечетких дубликатов видеоконтента, расположенных на ином оборудовании. То, как именно реализован доступ процессора 106 компьютерного устройства 104 к машиночитаемым инструкциям и базе данных 108 и базе данных 114 нечетких дубликатов не является ограничивающим условием настоящего технического решения.
Процессор 106 выполнен с возможностью получения указания на видеоконтент. Например, в качестве неограничивающего примера получение указаний на видеоконтент может представлять собой получение единого указателя ресурсов (URL) видеоконтента. Источник или источники указаний на видеоконтент могут быть различными.
Возможен вариант осуществления настоящего технического решения, в котором процессор 106 выполнен с возможностью получения указания на видеоконтент по меньшей мере частично от внешнего источника по сети передачи данных 102. Например, внешний источник может представлять собой поисковый сервер 110 выполненный с возможностью осуществления вертикального поиска видеоконтента и имеющий доступ к базе данных 112 видеоконтента и/или сервер видеохостинга (не показан), на котором размещен видеоконтент и т.д. Причем компьютерное устройство 104 может иметь доступ к базе данных видеоконтента 112 по сети передачи данных 102. Альтернативно или дополнительно внешний источник может представлять собой веб-ресурс, включающий указания на видеоконтент.
То, как именно и по какому принципу сгруппированы указания на видеоконтент на внешнем источнике, в частности, в базе данных видеоконтента 112 не является ограничивающим условием. Возможен вариант осуществления, согласно которому в базе данных видеоконтента 112 предварительно осуществлена классификация видеоконтента по одному или нескольким параметрам.
В примере варианта осуществления настоящего технического решения поисковый сервер 110 может представлять собой сервер Dell™ PowerEdge™, на котором используется операционная система Ubuntu Server. Излишне говорить, что поисковый сервер 110 может представлять собой любое другое подходящее аппаратное и/или прикладное программное, и/или системное программное обеспечение или их комбинацию. В представленном варианте осуществления настоящего технического решения, не ограничивающем его объем, поисковый сервер 110 является одиночным сервером. В других вариантах осуществления настоящего технического решения, не ограничивающих его объем, функциональность поискового сервера 110 может быть разделена и может выполняться с помощью нескольких серверов.
Варианты осуществления поискового сервера 110 хорошо известны. Таким образом, достаточно отметить, что поисковый сервер 110 включает в себя, среди прочего, интерфейс сетевой передачи данных (например, модем, сетевую карту и тому подобное) для двусторонней связи по сети передачи данных 102; и процессор (не показан), связанный с интерфейсом сетевой передачи данных, причем процессор выполнен с возможностью осуществлять поиск видеоконтента в сети передачи данных 102 и их сохранение в базе данных 112. С этой целью процессор поискового сервера может иметь доступ к соответствующим машиночитаемым инструкциям, хранящимся на машиночитаемом носителе (не показан).
Процесс заполнения и сохранения базы данных видеоконтента 112 в общем случае известен как «сбор данных» (кроулинг, от англ. "crawling"), причем поисковый сервер 110 выполнен с возможностью «посещать» различные веб-ресурсы, веб-сайты и веб-страницы, включая поисковые системы, видеохостинги, социальные сети и т.д. доступные по сети 102 передачи данных, и сохранять указания на видеоконтент в базе данных видеоконтента 112 по одному или нескольким предварительно заданным параметрам. В качестве примера, но не ограничения поисковый сервер 110 может выполнять сканирование сети передачи данных 102 и сохранять указания на видеоконтент, например, с веб-страниц, включающих определенные ключевые слова на одном или нескольких языках, или иной сопутствующий контент, такой как, например, афиши фильмов, трейлеры, описания фильмов и т.д. Параметры поиска и отбора видеоконтента, также как и конкретные веб-ресурсы, на которых может осуществляться поиск никак конкретно не ограничены. В качестве примера поиск может осуществляться в поисковых системах, в частности Yandex (www.yandex.ru), Google (www.qoogle.com) и др. При этом поисковый запрос для поиска видеоконтента, потенциально нарушающего авторские права может представлять собой «Скачать бесплатно в хорошем качестве», «смотреть бесплатно». Поисковые запросы могут также включать названия или части названий конкретного оригинального видеоконтента, например, названия фильмов, недавно вышедших в прокат или сериалов, например, такими поисковыми запросами могут быть «название_фильма экранка», «название_фильма скачать» и т.д. Алгоритмы поиска информации в Интернете хорошо известны, для целей настоящего технического решения может быть использован один или несколько различных подходов.
Найденные и отобранные указания на видеоконтент, который потенциально может нарушать авторские права сохраняются в базе данных видеоконтента 112, после чего могут быть получены процессором компьютерного устройства 104 по сети передачи данных 102 от поискового сервера 110 для осуществления способа автоматического определения нечетких дубликатов видеоконтента, который будет подробнее описан далее со ссылкой на фиг. 3.
Возможен вариант осуществления настоящего технического решения, в котором процессор 106 компьютерного устройства 104 выполнен с возможностью получения указания на видеоконтент напрямую из базы данных видеоконтента 112. Причем база данных видеоконтента 112 может быть реализована как часть компьютерного устройства 104 или иным способом быть доступна компьютерному устройству 104.
Возможен вариант осуществления настоящего технического решения, в котором процессор 106 выполнен с возможностью выполнять сканирование сети 102 для получения указаний на видеоконтент и таким образом компьютерное устройство 104 может выполнять описанный выше функционал поискового сервера 110.
Процессор 106 компьютерного устройства 104 согласно одному из вариантов осуществления настоящего технического решения может быть выполнен с возможностью создания шаблонов оригинального видеоконтента и таким образом формировать и пополнять базу данных 108 оригинального видеоконтента. Альтернативно или дополнительно создание шаблонов оригинального видеоконтента и формирование базы данных 108 оригинального видеоконтента может также осуществляться и другим одним или несколькими компьютерными устройствами (не показаны).
Со ссылкой на фиг. 2 будет подробнее рассмотрен заявляемый способ 200 создания шаблона оригинального видеоконтента в базе данных 108 оригинального видеоконтента. Способ 200 может быть выполнен на компьютерном устройстве 104 и, конкретнее, процессором 106 компьютерного устройства 104 в соответствии с неограничивающим вариантом системы 100, показанной на фиг. 1.
Этап 202 - получение указания на по меньшей мере часть оригинального видеоконтента
Способ 200 начинается на этапе 202, где компьютерное устройство 104 получает указания на по меньшей мере часть оригинального видеоконтента. Указание на по меньшей мере часть оригинального видеоконтента могут представлять собой как сами файлы видеоконтента, так, например, и ссылки на видеоконтент, URL, доступные по сети передачи данных 102 или иной сети (не показана), компьютерному устройству 104. Источник или источники оригинального видеоконтента могут быть различными, в качестве примера, но не ограничения компьютерное устройство 104 может получать указание на по меньшей мере часть оригинального видеоконтента по сети передачи данных 102 от другого компьютерного устройства (не показано), подключенного к сети передачи данных 102 или посредством машиночитаемого носителя (не показан), который может быть подключен к компьютерному устройству 104. Круг лиц, от которых может исходить указание на по меньшей мере часть оригинального видеоконтента никак конкретно не ограничен, например, это может быть правообладатель, представитель правообладателя, правоохранительные органы, иные организации занимающиеся защитой авторских прав, и т.д., желающие выявить и пресечь распространение пиратских копий оригинального видеоконтента.
По меньшей мере часть оригинального видеоконтента может представлять собой, например, весь видеоконтент или отрывок из видеоконтента (в частности отрывок фильма, отрывок телепередачи, серия или отрывок серии сериала и т.д.). При этом, предварительно может быть задана минимальная длительность такого отрывка для видеоконтента различного типа для обеспечения наиболее точного выявления нечетких дубликатов оригинального видеоконтента. Для видеоконтента музыкальный клип или иного видеоконтента, характеризующегося частой сменой сцен, минимальная длительность может составлять, например, 1 минуту, для фильма - 10-15 минут, для серии сериала - 5 минут, для телепередачи 8 минут и так далее. Указанные минимальные значения не являются ограничивающими и представлены только в качестве примера. С учетом последующего описания этапов способа 300 автоматического определения нечетких дубликатов видеоконтент для специалиста будет очевидно, что чем более полной будет получаемая по меньшей мере часть оригинального видеоконтента, тем большее количество разнообразных нечетких дубликатов видеоконтента может быть выявлено.
Затем способ 200 переходит к этапу 204.
Этап 204 - извлечение по меньшей мере части метаданных оригинального видеоконтента
На этапе 204, процессор 106 компьютерного устройства 104 осуществляет извлечение по меньшей мере части метаданных оригинального видеоконтента. Метаданные видеоконтента могут включать в себя, в частности, название, описание, теги, длительность, язык, аннотации, формат файла, размер файла, размеры кадра, частота кадров, наличие субтитров, дата создания, тип видеоконтента, месте и дате съемки, gps-координатах и т.д.. Способы автоматизированного извлечения метаданных из видеофайла хорошо известны и не являются объектом настоящего изобретения.
Затем способ 200 переходит к этапу 206.
Этап 206 - извлечение по меньшей мере части кадров из последовательности кадров оригинального видеоконтента
На этапе 206 процессор 106 компьютерного устройства 104 осуществляет извлечение по меньшей мере части кадров из последовательности кадров оригинального видеоконтента. Видеопоток оригинального видеоконтента разбивают на отдельные кадры. Для снижения нагрузки на вычислительную мощность и увеличения скорости обработки оригинального видеоконтента возможен вариант осуществления, в котором извлекают кадры с дискретизацией D кадров в минуту, где D>1. В качестве примера, но не ограничения D может быть равен, например 60, в таком случае, при частоте кадров 30 кадров в секунду извлекается каждый 30й кадр. Получают последовательность кадров с шагом 1 или более 1 в зависимости от значения D. Значение D может быть задано предварительно, либо определятся автоматически функцией, например, в зависимости от объема и длительности видеоконтента и/или иных параметров, которые могут быть получены на этапе 204 извлечения метаданных оригинального видеоконтента.
Возможен неограничивающий вариант осуществления способа 200, в котором этап 204 извлечения по меньшей мере части метаданных оригинального видеоконтента и этап 206 извлечения по меньшей мере части кадров из последовательности кадров оригинального видеоконтента могут быть выполнены параллельно, после этапа 202 получения указания на по меньшей мере часть оригинального видеоконтента. В другом неограничивающем варианте осуществления способа 200 этап 206 извлечения по меньшей мере части метаданных оригинального видеоконтента может быть выполнен после этапа 204 извлечения по меньшей мере части кадров из последовательности кадров оригинального видеоконтента.
Затем способ 200 переходит к этапу 208.
Этап 208 - определение последовательности сцен
На этапе 208 процессор 106 компьютерного устройства 104 осуществляет определение последовательности сцен оригинального видеоконтента. Определение последовательности сцен осуществляют, например путем сравнения смежных кадров из полученной последовательности кадров. В случае если дискретизация D>1, то сравнение кадров осуществляют с соответствующей дискретизацией. Так, например, если D равен 60 кадров в минуту, при частоте 30 кадров в секунду сравнивается последовательность кадров из видеопотока с дискретизацией 60 (30й кадр сравнивается с 60 м, 60й с 90 м, 90й с 120 м и т.д.). Возможен вариант осуществления, в котором для снижения нагрузки на вычислительные ресурсы выполняют сравнение не всего кадра, а одной или нескольких его частей, например, одного или нескольких полей в центральной части кадра.
Для сравнения смежных кадров из полученной последовательности кадров может быть извлечена хеш-сумма сравниваемых кадров или одной или нескольких частей сравниваемых кадров. Затем процессор 106 вычисляет расстояние Хемминга Р(х) между хеш-суммами сравниваемых кадров. В ответ на то, что расстояние Хемминга между хеш-суммами сравниваемых кадров или частей кадров превышает предварительно заданное пороговое значение, определяют смену сцены. Предварительно заданное пороговое значение может составлять, например, 15-30%. Если совпадение хеш-сумм кадров превышает пороговое значение, то они считаются кадрами одной и той же сцены.
Таким образом, сравнение пар кадров или пар частей кадров позволяет определить последовательность сцен в оригинальном видеоконтенте и длительность каждой из сцен в последовательности сцен.
Затем способ 200 переходит к этапу 210.
Этап 210 - создание вектора последовательности сцен
На этапе 210 процессор 106 компьютерного устройства создает вектор последовательности сцен оригинального видеоконтента, который может содержать данные по длительности каждой сцены, которая была определена на этапе 208 способа 200. Длительность сцен может быть выражена, например, в секундах или минутах, либо в абсолютном или относительном количестве кадров в сцене. Под абсолютным количеством кадров в сцене понимается количество кадров видеопотока, а под относительным количеством кадров в сцене- количество извлеченных кадров с учетом дискретизации. Например, если извлекался каждый 30й кадр, то в относительных значениях вектор может содержать количество извлеченных кадров (относительное значение 20, а абсолютное будет 600).
Например, вектор неограничивающего варианта оригинального видеоконтента, содержащего всего 9 сцен, может быть представлен следующим образом:
1
V=(20; 230; 430; 150; 340; 230; 340; 560; 105)
Затем способ 200 переходит к этапу 212.
Этап 212 - формирование и сохранение в базе данных шаблона оригинального видеоконтента, включающего по меньшей мере часть метаданных, вектор последовательности сцен оригинального видеоконтента
На этапе 212 процессор 106 компьютерного устройства осуществляет формирование шаблона оригинального видеоконтента, причем шаблон включает в себя по меньшей мере часть метаданных оригинального видеоконтента, полученных на этапе 204и вектор последовательности сцен, полученный на этапе 210. Затем сформированный шаблон оригинального видеоконтента сохраняют в базе данных 108 оригинального видеоконтента.
Возможен вариант осуществления способа, в котором дополнительно извлекают и сохраняют в шаблоне оригинального видеоконтента по меньшей мере один кадр или часть кадра из каждой сцены.
Шаблон видеоконтента в общем понимании представляет собой структурированный набор данных, ассоциированных с конкретным оригинальным видеоконтентом. Создание шаблона позволяет существенно сокращать нагрузку на вычислительные ресурсы системы при поиске и сравнении найденного видеоконтента с оригинальным видеоконтента для выявления нечетких дубликатов, что будет подробнее показано при описании способа 300.
После этапа 212 способ 200 может завершаться.
Наполнение базы данных 108 оригинального видеоконтента по заявляемому способу 200, описанному выше, может осуществляться одним или несколькими различными компьютерными устройствами.
Далее со ссылкой на фиг. 1 и фиг. 3 будет описан способ 300 для автоматического определения нечетких дубликатов видеоконтента. Способ 300 может быть выполнен на компьютерном устройстве 104 и, конкретнее, процессором 106 компьютерного устройства 104 в соответствии с неограничивающим вариантом системы 100, показанной на фиг. 1.
Этап 302 - получение указания на видеоконтент
Способ 300 начинается на этапе 302, где компьютерное устройство 104 получает указание на видеоконтент. Указание может представлять собой как сам файл или файлы видеоконтента, так, например, и ссылки на видеоконтент, URL, доступные по сети передачи данных 102 или иной сети (не показана), компьютерному устройству 104.
Указание может быть получено, в частности от поискового сервера 110 или напрямую из базы данных 112 видеоконтента.
Возможен вариант осуществления способа 300, согласно которому перед этапом 302 получения указания процессор 106 компьютерного устройства 104 осуществляет поиск видеоконтента в сети передачи данных, причем поиск осуществляют по одному или нескольким из следующих параметров: ключевые слова в названии файла, ключевые слова в описании, сопутствующие изображения, метаданные файла.
Критерии, по которым может осуществляться поиск никак конкретно не ограничен. Возможен вариант осуществления настоящего технического решения, в котором поиск осуществляется по конкретным параметрам заданного оригинального видеоконтента, нечеткие дубликаты (включая идентичные копии) которого необходимо найти. Альтернативно или дополнительно поиск может осуществляться по всему видеоконтенту, доступному в сети передачи данных 102 или на конкретном веб-ресурсе. Так, в качестве примера, но не ограничения на этапе 302 процессор 106 компьютерного устройства 104 может получать указания на любой новый видеоконтент, публикуемый в социальной сети «Вконтакте»(www.vk.соm) с целью определения нечетких дубликатов оригинального видеоконтента, шаблоны которого предварительно сформированы и сохранены в базе данных 108 оригинального видеоконтента согласно способу 200, описанному выше.
Дальнейшая проверка может осуществляться в отношении одного или нескольких различных шаблонов оригинального видеоконтента одновременно. Затем способ 300 переходит к этапу 304.
Этап 304 - извлечение каждого N кадра из видеопотока полученного видеоконтента с получением последовательности кадров, причем N>1;
На этапе 304, процессор 106 компьютерного устройства 104 осуществляет извлечение каждого N кадра из видеопотока полученного видеоконтента с получением последовательности кадров. Видеопоток оригинального видеоконтента разбивают на отдельные кадры. Для снижения нагрузки на вычислительную мощность и увеличения скорости автоматического определения нечетких дубликатов видеоконтента извлекают кадры с дискретизацией N кадров в минуту, где N>1. В качестве примера, но не ограничения N может быть равен, например 60, в таком случае, при частоте кадров 30 кадров в секунду извлекается каждый 30й кадр. Получают последовательность кадров с шагом более 1 в зависимости от значения N. Значение N может быть задано предварительно, либо определятся автоматически функцией, например, в зависимости от объема и длительности видеоконтента и/или иных параметров.
Для видеоконтента, для которого характерна частая смена сцен, например видеоклип, значение N может быть задано равным, например, 120. Для менее динамичного видеоконтента, характеризующегося редкой сменой сцен (например, видеолекция) значение N может быть задано, например, равным 2000. Возможен и обратный вариант, когда значение N для менее динамичного видеоконтента меньше значения N для более динамичного контента или вовсе никак не зависит от типа видеоконтента и иных параметров, а имеет постоянную величину, например 60. Описанные выше значения N не являются ограничивающими и представлены лишь в качестве иллюстративных примеров для обеспечения понимания.
Затем способ 300 переходит к этапу 306.
Этап 306 - определение последовательности сцен путем сравнения по меньшей мере фрагментов смежных кадров из полученной последовательности кадров;
На этапе 306 процессор 106 компьютерного устройства 104 осуществляет определение последовательности сцен видеоконтента. Определение последовательности сцен осуществляют, например путем сравнения смежных кадров из полученной последовательности кадров с шагом N. Так, например, если N равен 60 кадров в минуту, при частоте 30 кадров в секунду сравнивается последовательность кадров из видеопотока с дискретизацией 60 (30й кадр сравнивается с 60 м, 60й с 90 м, 90й с 120 м и т.д.). Возможен вариант осуществления, в котором для снижения нагрузки на вычислительные ресурсы выполняют сравнение не всего кадра, а одной или нескольких его частей (фрагментов), например, одного или нескольких полей, например в центральной части кадра, верхней правой части кадра, левой нижней части кадра и т.д. Варианты выбора фрагментов никак конкретно не ограничены и могут зависеть от типа видеоконтента и наиболее динамичных фрагментов кадра. Которые могут быть выбраны заранее на основе статистических данных либо основных принципов построения кадра (композиции), которые используются операторами при съемке.
Возможен вариант осуществления, в котором в котором на этапе определения смены сцен (границ сцен) выполняют сравнение извлеченных хеш-сумм по меньшей мере фрагментов смежных кадров, в ответ на то, что расстояние Хемминга между хеш-суммами смежных кадров превышает предварительно заданное пороговое значение, определяют границу сцены (смену сцены). Для сравнения смежных кадров из полученной последовательности кадров может быть извлечена хеш-сумма сравниваемых кадров или одной или нескольких частей сравниваемых кадров. Затем процессор 106 вычисляет расстояние Хемминга Р(х) между хеш-суммами сравниваемых кадров. В ответ на то, что расстояние Хемминга между хеш-суммами сравниваемых кадров или частей кадров превышает предварительно заданное пороговое значение, определяют смену сцены. Предварительно заданное пороговое значение может составлять, например, 15-30%. Если совпадение хеш-сумм кадров превышает пороговое значение, то они считаются кадрами одной и той же сцены.
Таким образом, сравнение пар кадров или пар частей (фрагментов) кадров позволяет определить последовательность сцен в полученном видеоконтенте и длительность каждой из сцен в последовательности сцен.
Возможен вариант осуществления, в котором этапы 304 и 306 способа выполняются параллельно.
Затем способ 300 переходит к этапу 308.
Этап 308 - создание вектора последовательности сцен полученного видеоконтента;
На этапе 308 процессор 106 компьютерного устройства 104 создает вектор последовательности сцен полученного видеоконтента, который может содержать данные по длительности каждой сцены, которая была определена на этапе 306 способа 300. Длительность сцен может быть выражена, например, в секундах или минутах, либо в абсолютном или относительном количестве кадров в сцене. Под абсолютным количеством кадров в сцене понимается количество кадров видеопотока, а под относительным количеством кадров в сцене - количество извлеченных кадров с учетом шага N. Например, если извлекался каждый 30й кадр, то в относительных значениях вектор может содержать количество извлеченных кадров (относительное значение 20, а абсолютное будет 600).
Возможен вариант осуществления способа 300, в котором вектор последовательности сцен полученного видеоконтента представляет собой вектор по меньшей мере двух несмежных подмножеств сцен полученного видеоконтента.
Несколько иллюстративных примеров векторов полученного видеоконтента, для целей дальнейшего пояснения описания способа 300 показаны ниже:
2
Пример 1: V=(20; 230; 430; 150; 120; 340; 230; 180; 340; 560; 105)
3
Пример 2: V=(230; 430; 150; 120; 340; 230; 180; 340; 560)
4
Пример 3: V=(33; 230; 430; 150; 340; 230; 340; 560; 105; 700; 388; 222; 250; 92; 170; 800; 448; 590; 75; 33; 620;)
Затем способ 300 переходит к этапу 310.
Этап 310 - сравнение вектора последовательности сцен полученного видеоконтента с вектором последовательности сцен по меньшей мере одного шаблона оригинального видеоконтента из предварительно сформированной базы данных оригинального видеоконтента
На этапе 310 процессор 106 компьютерного устройства 104 осуществляет сравнение вектора последовательности сцен полученного видеоконтента с вектором последовательности сцен по меньшей мере одного шаблона оригинального видеоконтента из предварительно сформированной базы данных 108 оригинального видеоконтента.
Перед сравнением вектора могут приведены к общему виду, например, если вектор оригинального видеоконтента был создан на основе общего количества кадров в видеопотоке оригинального видеоконтента, а вектор полученного видеоконтента был создан на основе количества кадров последовательности с шагом N.
1
2
3
4
В представленных иллюстративных примерах вектор оригинального видеоконтента V=(20; 230; 430; 150; 340; 230; 340; 560; 105) и примеры векторов полученного видеоконтента (V, V, V) приведены к общему виду.
По итогам сравнения выявлены отличия векторов (отличия выделены жирным):
2
Пример 1: V=(20; 230; 430; 150; 120; 340; 230; 180; 340; 560; 105)
3
Пример 2: V=(230; 430; 150; 120; 340; 230; 180; 340; 560)
4
Пример 3: V=(33; 230; 430; 150; 340; 230; 340; 560; 105; 700; 388; 222; 250; 92; 170; 800; 448; 590; 75; 33; 620;)
Возможен вариант осуществления, в котором предварительно задают допустимую погрешность сравнения векторов. Так например, значение погрешности может составлять 5-10%. Следовательно при сравнении векторов, например значения длительности сцен равные 200 и 220 могут быть приравнены друг другу и признаны совпадающими. Возникновение данное погрешности может быть вызвано, например, удалением части кадров в нечетком дубликате, или выбором шага N полученного видеоконтента большего или меньшего чем шаг D последовательности кадров оригинального видеоконтента. Как будет понятно специалистам возможно также влияние и иных факторов на погрешность, которая может быть компенсирована заданной допустимой погрешностью.
Возможен вариант осуществления способа 300, в котором на этапе 310 сравнения вектора последовательности сцен полученного видеоконтента с вектором последовательности сцен по меньшей мере одного шаблона оригинального видеоконтента дополнительно осуществляют сравнение по меньшей мере одного кадра из сцены полученного видеоконтента и по меньшей мере одного кадра из соответствующей сцены оригинального видеоконтента с образованием по меньшей мере одной сравниваемой пары кадров. Возможен вариант осуществления способа 300 в котором выполняют извлечение хеш-сумм и сравнение хеш-сумм сравниваемой пары кадров. В этом случае надежность результата сравнения обусловлена тем, что хеши сравниваемых изображений отличаются на малое число бит в сравнении с размером изображения, что позволяет находить расстояние Хемминга между хешами данных изображений.
Сравнение отдельных кадров позволяет осуществить выборочную проверку соответствия одной или нескольких сцен для повышения точности заявляемого способа.
Затем способ 300 переходит к этапу 312.
Этап 312 - определение нечеткого дубликата оригинального видеоконтента в ответ на то, что совпадения последовательности сцен оригинального видеоконтента и сцен полученного видеоконтента превышают предварительно заданное пороговое значение
На этапе 310 процессор 106 компьютерного устройства 104 осуществляет определение нечеткого дубликата оригинального видеоконтента в ответ на то, что совпадения последовательности сцен оригинального видеоконтента и сцен полученного видеоконтента превышают предварительно заданное пороговое значение.
2
3
Возможен вариант осуществления способа 300, в котором в ответ на совпадение вектора по меньшей мере двух несмежных подмножеств сцен полученного видеоконтента с по меньшей мере частью вектора последовательности сцен оригинального видеоконтента выполняют определение нечеткого дубликата оригинального видеоконтента. Как показано в иллюстративном примере векторов V=(20; 230; 430; 150; 120; 340; 230; 180; 340; 560; 105) и V=(230; 430; 150; 120; 340; 230; 340; 560)
3
В Примере 2 вектора V между последовательностью сцен длительностью 230; 430; 150; и сценами длительностью 340; 230; 340; 560 совпадающими с длительностью сцен оригинального видеоконтента имеется сцена длительностью 120, отсутствующая в векторе оригинального видеоконтента.
2
1
В примере 1 вектора V=(20; 230; 430; 150; 120; 340; 230; 180; 340; 560; 105) имеется две сцены длительностью 120 и 180, отсутствующие в векторе оригинального видеоконтента V=(20; 230; 430; 150; 340; 230; 340; 560; 105).
2
3
1
В ответ на совпадение нескольких отдельных последовательностей сцен полученный видеоконтент с вектором V=(20; 230; 430; 150; 120; 340; 230; 180; 340; 560; 105) и полученный видеоконтент с вектором V=(230; 430; 150; 120; 340; 230; 340; 560) могут быть определены как нечеткий дубликат оригинального видеоконтента с вектором V=(20; 230; 430; 150; 340; 230; 340; 560; 105). Сцены длительностью 120 и 180, в данном иллюстративном примере могут представлять собой, например, рекламу, которая была встроена в оригинальный видеоконтент при создании нечеткого дубликата.
Возможен вариант осуществления способа 300, в котором длительность нечеткого дубликата отличается от длительности оригинального видеоконтента.
2
3
3
4
В иллюстративных примерах 1, 2, (вектора V V) длительность нечетких дубликатов отличается от длительности оригинального видеоконтента за счет встраивания рекламы, а также в примере 2 (вектор V) за счет удаления первой сцены длительностью 20 и последней сцены (например, титров) длительностью 105 относительно оригинального видеоконтента. В примере 3 (вектор V=(33; 230; 430; 150; 340; 230; 340; 560; 105; 700; 388; 222; 250; 92; 170; 800; 448; 590; 75; 33; 620;)) длительность нечеткого дубликата существенно увеличена и может соответствовать, например, двум объединенным векторам оригинального видеоконтента. Такое возможно, например, при склейке двух серий оригинального видеоконтента в единый нечеткий дубликат.
Как будет понятно специалистам возможны и иные приемы монтажа, которые могут быть использованы для создания нечетких дубликатов видеоконтента на основе одного или нескольких экземпляров оригинального видеоконтента. После этапа 312 способ 300 может завершаться.
Возможен вариант осуществления способа 300, в котором после определения нечеткого дубликата видеоконтента процессор 106 осуществляет сохранение указания на видеоконтент в базе данных 114 нечетких дубликатов. Затем полученные данные могут быть направлены правообладателю, а также приняты меры по автоматизированной блокировке выявленного нечеткого дубликата.
Возможен вариант осуществления способа, в котором в ответ на то, что метаданные определенного нечеткого дубликата видеоконтента по меньшей мере частично отличаются от метаданных оригинального видеоконтента, процессор 106 выполнен с возможностью осуществлять дополнительный поиск нечетких дубликатов видеоконтента содержащих метаданные идентичные метаданным определенного нечеткого дубликата видеоконтента. После чего выявленные дополнительные нечеткие дубликаты могут быть проверены посредством способа 300, описанного выше, либо сразу сохранены в базу данных 114 нечетких дубликатов.
Заявленный способ для автоматического определения нечетких дубликатов видеоконтента обеспечивает высокую скорость и точность, а также существенное снижение нагрузки на вычислительные ресурсы.
Модификации и улучшения вышеописанных вариантов осуществления настоящего технического решения будут ясны специалистам в данной области техники. Предшествующее описание представлено только в качестве примера и не несет никаких ограничений. Таким образом, объем настоящего технического решения ограничен только объемом прилагаемой формулы изобретения.