СПОСОБ АВТОМАТИЧЕСКОГО РАЗДЕЛЕНИЯ ВИДЕО НА МОНТАЖНЫЕ КАДРЫ
METHOD OF AUTOMATIC SEPARATION OF VIDEO INTO ASSEMBLY FRAMES

ОБЛАСТЬ ИЗОБРЕТЕНИЯ
Настоящее изобретение описывает метод автоматического разделения видео на монтажные кадры.
УРОВЕНЬ ТЕХНИКИ
Наиболее часто распространенный способ редактирования видео известный в уровне техники – это полуавтоматический и ручной, при котором все самые важные моменты, такие как отбор кадров, выбор сцен, редактирование и наложение эффектов осуществляется пользователем. Зачастую это довольно сложные и утомительные операции, требующие от пользователя хороших знаний и навыков в области редактирования видео.
Из уровня техники известен патент RU2565601C1 «СПОСОБ АВТОМАТИЧЕСКОГО РЕДАКТИРОВАНИЯ ВИДЕОКОНТЕНТА», опубл. 20.10.2015. В данном патенте видеоконтент делят на фрагменты, система монтажа удаляет намеченные к удалению фрагменты, объединяет оставленные фрагменты в новый видеоконтент. В способе продолжительность фрагментов на каждом последующем этапе редактирования уменьшают по сравнению с продолжительностью фрагмента на предшествующем этапе, для чего коэффициент уменьшения длины фрагментов на каждом последующем этапе редактирования принимают в пределах 0,3-0,95. В способе, если длина части фрагмента, получаемая при разбиении последнего на принятое число частей, получается менее минимальной продолжительности монтажного кадра, исходное число частей, на которые делят фрагмент, уменьшают на единицу и повторяют эту процедуру до получения величины длины части фрагмента, не меньшей минимальной длины монтажного кадра, или принятия числа частей, на которые может быть разделен фрагмент, равным 1. В данном способе видеоконтент редактируют с использованием настроек, созданных на основе оценок пользователя.
Это способ обладает существенным недостатком: первоначальное разбиение видеофайла на фрагменты производится исключительно по признаку их длительности безотносительно к их содержанию. При таком подходе, часть видеофайла, представляющая из себя монтажный кадр, т.е. "отдельную сцену" или "цельный" фрагмент видео, может быть, с высокой вероятностью, разрезан на части или, наоборот, объединен в одну часть с нежелательным фрагментом, что приводит к необходимости повторения дробления на более мелкие части с последующим повторным выбором фрагментов один и более раз. Практическое использование данного метода для монтажа любительского видео показало, что абсолютное большинство пользователей предпочитают использовать выбор из первичного разбиения фрагментов, несмотря на его явную неточность, вместо применения дополнительного итерационного дробления, как более сложной и длительной операции.
Из уровня техники известно техническое решение Magisto, http://www.magisto.com, представляющее собой видеоредактор для нелинейного монтажа, с возможностью автоматического редактирования видео.
Недостатком данного технического решения является то, что для автоматического разбиения видеофайлов на монтажные кадры и последующего монтажа используются ресурсоемкие методы анализа видеоизображения, которые исполняются на серверах. Это приводит к повышению времени и стоимости использования продукта и к невозможности его использования на мобильном устройстве без высокоскоростного доступа к Интернет.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Данное техническое решение направлено на устранение недостатков, присущих существующим решениям из уровня техники.
Данное техническое решение направлено на расширение арсенала технических средств определенного назначения, а в качестве технического результата, достигаемого заявленным решением, является автоматическое разбиение видеофайла на фрагменты, являющиеся потенциальными монтажными кадрами с корректно расположенными границами, без применения при этом ресурсоёмких методов анализа видеоизображения.
Данный технический результат достигается благодаря компьютерно-реализуемому способу автоматического разделения видео на монтажные кадры, содержащий этапы, на которых:
- загружают видеофайл;
- считывают значения размеров в битах каждого кадра видеофайла;
- считывают значения длины GOP (Group-of-pictures) всех групп кадров видеофайла и определяют максимальное значение из считанных - GOPmax;
- применяют к считанным значениям битрейта алгоритм сглаживания методом простой скользящей средней, с установленным интервалом сглаживания int = GOPmax;
- получают новый набор значений битрейта, со сглаженными пиками битрейта характерными для основных i-кадров и предсказанных p-кадров, достаточно точно характеризующий динамику видеоизображения, и определяют минимальный битрейт BRmin и максимальный битрейт BRmax из всех значений битрейта;
- устанавливают пороговое значение изменения битрейта dBRmax=k*(BRmax - BRmin), где k – коэффициент допустимых изменений битрейта;
- обнаруживают фрагменты видеофайла с максимально возможной длительностью, но не менее CTmin, на всем протяжении каждого из которых, изменение значения битрейта dBR не превышает порогового значения dBRmax;
- устанавливают точки монтажа на границах каждого из этих фрагментов, при условии, что внутри фрагмента нет уже установленной точки монтажа;
- обнаруживают точки видеофайла с локальными минимумами битрейта, в каждой из которых значение битрейта ниже, чем во всех остальных точках видеофайла, окружающих точку минимума в радиусе времени CTmin/2, и разброс значений битрейта в указанном радиусе выше dBRmax;
- устанавливают точки монтажа в каждую из обнаруженных точек минимума битрейта, при условии, что в радиусе времени менее CTmin от устанавливаемой точки монтажа нет уже установленной точки монтажа;
- создают список установленных точек монтажа с указанием временных точек в которых они установлены.
В некоторых вариантах осуществления технического решения дополнительно обнаруживают фрагменты видеофайла длительностью dt, на протяжении которых наблюдается изменение значения битрейта dBR>dBRmax и выполняется условие dBR/dt>m*dBRmax/CTmin, где m – коэффициент критического изменения битрейта, и устанавливают точки монтажа в тот из концов каждого из обнаруженных фрагментов, в котором значение битрейта меньше, при условии, что в радиусе времени менее CTmin от устанавливаемой точки монтажа нет уже установленной точки монтажа, при этом, параметр m может принимать значения от 2 до +inf.
В некоторых вариантах осуществления технического решения интервал сглаживания int может принимать значения от GOPmax до GOPmax*3.
В некоторых вариантах осуществления технического решения для сглаживания считанных значений битрейта могут применять такие алгоритмы, как: экспоненциальное сглаживание, метод взвешенной скользящей средней.
В некоторых вариантах осуществления технического решения CTmin может принимать значения от 0,5 до 10 секунд.
В некоторых вариантах осуществления технического решения параметр k может принимать значения от 0,05 до 0,7.
В некоторых вариантах осуществления технического решения значение k подбирается методом простого перебора значений с шагом 0,05 в диапазоне от 0,05 до 0,7 так, чтобы в результате разбиения видеофайла на монтажные кадры, средняя длина монтажного кадра CTavg = FT/CC, где FT – длина видеофайла, CC – общее число полученных монтажных кадров, принимала значение в диапазоне от CTmin*1.5 до CTmin*3, учитывая, что CTavg = CTmin*2 является оптимальным результатом подбора значения k.
В некоторых вариантах осуществления технического решения монтажный кадр длительностью более CTmin*3 разбивают на 2 равных по длительности монтажных кадра.
В некоторых вариантах осуществления технического решения при обнаружении 2-х точек монтажа ближе чем CTmin, эти точки удаляют и устанавливают одну точку посередине.
В некоторых вариантах осуществления технического решения, при обнаружении точки монтажа ближе чем CTmin к началу или концу видеофайла, переносят эту точку в начало или конец видеофайла соответственно.
В некоторых вариантах осуществления технического решения в качестве битрейта используются значения размера в битах только b-кадров без применения алгоритма сглаживания, таким образом, значение битрейта в точке каждого b-кадра равно его размеру BRb = Sb, значение битрейта в точке каждого p-кадра BRp=(Sb1+Sb2)/2, где Sb1 и Sb2 – размеры b-кадров, расположенных непосредственно перед и после данного p-кадра, значение битрейта в точке каждого i-кадра BRi=(Sb1+Sb2)/2, где Sb1 и Sb2 – размеры b-кадров, расположенных непосредственно перед и после данного i-кадра.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Реализация изобретения будет описана в дальнейшем в соответствии с прилагаемыми чертежами, которые представлены для пояснения сути изобретения и никоим образом не ограничивают область изобретения. К заявке прилагаются следующие чертежи:
Фиг. 1 - изображает график значений BR условного видеофайла;
Фиг. 2 – изображает массив значений битрейта/сек каждого кадра реального видеофайла;
Фиг. 3 – изображает график значений BR после применения сглаживания и значения BRmin, BRmax, GOP;
Фиг. 4 – изображает dBRmax, обнаруженные фрагменты видеофайла с незначительными изменениями битрейта и точки монтажа, соответствующие им;
Фиг. 5 – изображает обнаруженные точки минимума;
Фиг. 6 – изображает все установленные точки монтажа;
Фиг. 7 – изображает общий вид системы, c помощью которой может быть реализован заявленный способ.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Ниже описаны термины, используемые в заявке:
Видеофайл - цифровой файл данных, хранящий видеоизображение с использованием известного формата кодирования, например, H.264 или H.265;
Точка монтажа - временная точка, в которой видеофайл разделяется на фрагменты для последующего соединения с другими фрагментами (монтажа); начало и конец видеофайла также являются точками монтажа;
Монтажный кадр - фрагмент видеофайла, ограниченный двумя точками монтажа;
Битрейт - количество битов информации, которое необходимо для сохранения одного кадра видеоизображения, далее обозначен как BR.
BR(t) - функция значения BR на протяжении всего видеофайла, созданная в результате считывания фактических значений BR для каждого кадра видео;
Group of Pictures (GOP, группа изображений) – группа следующих друг за другом изображений в кодированном видеопотоке.
Способ автоматического разделения видео на монтажные кадры может выполняться на базе широкого спектра электронно-вычислительных устройств, например, персонального компьютера, ноутбука, смартфона, носимого устройства и т.п, также этапы способа могут быть реализованы с помощью процессора.
На Фиг. 7 представлен общий вид системы (100), c помощью которой может быть реализован заявленный способ.
Система, реализующая заявленный способ автоматического разделения видео на монтажные кадры (100) может выполняться на базе широкого спектра электронно-вычислительных устройств, например, персонального компьютера, ноутбука, смартфона, носимого устройства и т.п.
В общем случае система (100) содержит один или более процессоров (101), выполняющих основную вычислительную работу при реализации этапов способа.
Оперативную память (ОЗУ) (102), предназначенную для оперативного хранения команд, исполняемых одним или более процессорами (101).
Средство хранения данных (103) может представлять собой жесткий диск (HDD), твердотельный накопитель (SSD), флэш-память (NAND-flash, EEPROM, Secure Digital и т.п.), оптический диск (CD, DVD, Blue Ray), мини диск или их совокупности.
Интерфейсы ввода/вывода (В/В) (104) представляют собой стандартные порты и средства сопряжения устройств и передачи данных, выбираемые исходя из необходимой конфигурации исполнения системы (100), в частности: USB (2.0, 3.0, USB-C, micro, mini), Ethernet, PCI, AGP, COM, LPT, PS/2, SATA, FireWire, Lightning и т.п.
Средства В/В (105) также выбираются из известного спектра различных устройств, например, клавиатура, тачпад, сенсорный дисплей, монитор, проектор, манипулятор мышь, джойстик, трекбол, световое перо, стилус, устройства вывода звука (колонки, наушники, встроенные динамики, зуммер) и т.п.
Средства передачи данных (106) выбираются из устройств, предназначенных для реализации процесса коммуникации между различными устройствами посредством проводной и/или беспроводной связи, в частности, таким устройствами могут быть: GSM модем, Wi-Fi приемопередатчик, Bluetooth или BLE модуль, GPS модуль, Глонасс модуль, NFC, Ethernet модуль и т.п.
Компоненты системы (100) сопряжены посредством общей шины передачи данных (110).
Сущность данного решения состоит в том, что в качестве точек монтажа могут быть использованы моменты видео, в которых происходит характерное для границ монтажного кадра изменение динамики видеоизображения.
Для определения динамики видео используется анализ параметра видеофайла - битрейта. Такой способ определения динамики актуален потому, что все современные непрофессиональные устройства цифровой съемки и записи видео используют для сжатия снятого видеоконтента кодеки с переменным битрейтом (VBR video codec), характерной особенностью которых является снижение битрейта при сжатии кадров с незначительными изменениями изображения во времени и повышение битрейта на кадрах с высокой динамикой изображения. Применение данного метода не требует существенных затрат вычислительных ресурсов, т.к. использует результаты анализа изображения, проведенного ранее при кодировании видеофайла. Т.е. битрейт - – это функция динамики. Исследуя битрейт, восстанавливают параметры динамики, которые были проанализированы при кодировании и, таким образом, получают необходимые данные о динамике изображения, но не напрямую, а косвенно.
Согласно данному изобретению, способ автоматического разделения видео на монтажные кадры включает шаги, описанные ниже.
Загружают видеофайл, который необходимо разделить на монтажные кадры. При этом, загруженный видеофайл изначально обработан с помощью кодека с переменным битрейтом для создания сжатого файла, готового к передаче и хранению. Кроме того, формат и размер исходных видеофайлов может быть любым: от «объемных» фильмов в MOV, MKV и MTS до мини-видеофайлов в мобильных форматах 3GP и MP4.
Считывают значения размеров в битах каждого кадра загруженного видеофайла и считывают значения длины GOP (Group-of-pictures) всех групп кадров видеофайла и определяют максимальное значение из считанных – GOPmax.
Group of Pictures (GOP, группа изображений) – группа следующих друг за другом изображений в кодированном видеопотоке. Каждый видеопоток кодируется с использованием межкадровой компрессии и представляет из себя следующие друг за другом GOP. Из изображений, заключенных в GOP, декодером составляются видимые кадры. GOP состоит из I-кадра и следующих за ним p- и b-кадров:
i-кадр (keyframe, опорный) – первый кадр в GOP. Кодируется отдельно от других кадров. Все GOP начинаются с этого кадра. i -кадры необходимы в качестве начальных точек для новых просмотров или точек повторной синхронизации в случае нарушения переданного потока битов.
p-кадр – следующие кадры в GOP. Содержат в себе только разницу между изображением на предыдущем кадре (i- или p-кадре) и изображением на текущем кадре. Из-за этого только в сочетании с предыдущими кадрами в GOP может составлять видимый кадр.
b-кадр – промежуточные кадры, содержание которых определяется окружающими их i-, p-, b-кадрами.
Применяют к считанным значениям битрейта алгоритм сглаживания методом простой скользящей средней, с установленным интервалом сглаживания int = GOPmax.
Получают новый набор значений битрейта, со сглаженными пиками битрейта характерными для основных i-кадров и предсказанных p-кадров, достаточно точно характеризующий динамику видеоизображения, и определяют минимальный битрейт BRmin и максимальный битрейт BRmax из всех значений битрейта.
Устанавливают пороговое значение изменения битрейта dBRmax = k * (BRmax - BRmin), где k – коэффициент допустимых изменений битрейта.
Обнаруживают фрагменты видеофайла с максимально возможной длительностью, но не менее CTmin, на всем протяжении каждого из которых, изменение значения битрейта dBR не превышает порогового значения dBRmax.
Устанавливают точки монтажа на границах каждого из этих фрагментов, при условии, что внутри фрагмента нет уже установленной точки монтажа, точки А и В (расположенные на фиг. 1).
Обнаруживают точки видеофайла с локальными минимумами битрейта, в каждой из которых значение битрейта ниже, чем во всех остальных точках видеофайла, окружающих точку минимума в радиусе времени CTmin/2, и разброс значений битрейта в указанном радиусе выше dBRmax.
Устанавливают точки монтажа в каждую из обнаруженных точек минимума битрейта, это точка С (расположенная на фиг. 1), при условии, что в радиусе времени менее CTmin от устанавливаемой точки монтажа нет уже установленной точки монтажа.
Создают список установленных точек монтажа с указанием временных точек в которых они установлены.
В некоторых вариантах осуществления технического решения дополнительно обнаруживают фрагменты видеофайла длительностью dt, на протяжении которых наблюдается изменение значения битрейта dBR>dBRmax и выполняется условие dBR/dt>m*dBRmax/CTmin, где m – коэффициент критического изменения битрейта и устанавливают точки монтажа в тот из концов каждого из обнаруженных фрагментов, в котором значение битрейта меньше, это точка D (расположенная на фиг. 1), при условии, что в радиусе времени менее CTmin от устанавливаемой точки монтажа нет уже установленной точки монтажа, при этом, параметр m может принимать значения от 2 до +inf.
Пример реализации заявленного решения на основе реальных данных:
Загружен видеофайл формата mp4, сжатый с использованием кодека H.264, длительностью 28 секунд с частотой кадров 29,97 fps.
Считаны значения битрейта каждого кадра видеофайла в кбит/сек (показаны на Фиг. 2) и значения длины GOP всех групп изображений видеофайла равные 12 кадрам, таким образом GOPmax = 12.
К считанным значениям битрейта применен метод простой скользящей средней с интервалом сглаживания 12, в результате чего получен график значений BR, изображенный на Фиг. 3, и определены значения BRmax = 903, BRmin = 405, dBRmax = 0,15*498 =74,7.
Обнаружены фрагменты видеофайла, длительностью равной CTmin = 2 сек, и более, на всем протяжении каждого из которых, изменение значения битрейта dBR не превышает порогового значения dBRmax. Установлены точки монтажа на границах каждого из этих фрагментов, при условии, что внутри фрагмента нет уже установленной точки монтажа, которые изображены на Фиг. 4 как Bn и En для каждого фрагмента.
Обнаружены точки видеофайла с локальными минимумами битрейта, в каждой из которых значение битрейта ниже, чем во всех остальных точках видеофайла, окружающих точку минимума в радиусе времени 1 сек, и разброс значений битрейта в указанном радиусе выше dBRmax, которые изображены на Фиг. 5 как Mn.
Установлены точки монтажа в каждую из обнаруженных точек минимума битрейта, при условии, что в радиусе времени менее 1 сек от устанавливаемой точки монтажа нет уже установленной точки монтажа. Эти точки обозначены как М1 и М2, т.к. в радиусе 1 сек от остальных точек минимума существуют точки монтажа E и B, установленные ранее.
Создан список всех установленных точек монтажа с указанием номеров кадров, в которых они установлены, показаны на Фиг. 6.
Модификации и улучшения вышеописанных вариантов осуществления настоящей технологии будут ясны специалистам в данной области техники. Предшествующее описание представлено только в качестве примера и не несет никаких ограничений. Таким образом, объем настоящей технологии ограничен только объемом прилагаемой формулы изобретения.