В статье авторы исследуют, рассматривают и оценивают методы преобразования файлов в видеокоды, которые можно загружать на видеохостинги без потери информации и с минимальными искажениями.
Ключевые слова: кодирование, видео, видеокод, передача данных.
В настоящее время существует множество видеохостингов, которые предоставляют пользователям возможность загружать, просматривать и распространять видеоконтент. Однако эти видеохостинги ограничивают типы файлов, которые можно загружать, и обычно требуют определенного формата и качества видео. Это создает проблемы для пользователей, которые хотят хранить на видеохостингах не только видео, но и другие типы файлов, такие как аудио, изображения, тексты, архивы и т. д.
Целью данной научно-исследовательской работы является обзор и тестирование методов преобразования файлов в видеокоды, которые можно загружать на видеохостинги без потери информации и с минимальными искажениями. Видеокод — это специальный видеофайл, который содержит в себе закодированную информацию о другом файле. Для декодирования видеокода необходим специальный программный инструмент, который может восстановить исходный файл из видеокода.
В данной работе мы рассмотрим два класса методов преобразования файлов в видеокоды: привычные — Base64, QR-код и стеганография, краткое сравнение которых приведено в таблице 1, а также наш — основанный на принципе цветового кодирования.
Первый класс методов преобразования файлов в видеокоды — привычные методы — основан на технологиях, которые уже используются в нашей повседневной жизни. Они позволяют сохранить информацию в виде видеокода и передать его через широко используемые каналы связи, такие как электронная почта, социальные сети и видеохостинги. Например, метод Base64 позволяет закодировать любой тип файла в строку символов, которая может быть представлена в виде изображения или видеофайла. QR-код позволяет сохранить информацию в формате 2D-штрихкода, который может быть распознан и декодирован с помощью камеры мобильного телефона [1]. Стеганография позволяет спрятать информацию в изображении, что делает ее невидимой для простого пользователя.
Однако все эти методы имеют свои ограничения, которые могут привести к потере данных или их искажению. Например, метод Base64 имеет низкую плотность кодирования и может привести к значительному увеличению размера исходного файла [2], что усложняет его загрузку на видеохостинги. QR-код может быть деформирован при уменьшении масштаба изображения, что может привести к ошибкам в декодировании. Стеганография может быть раскрыта при использовании алгоритмов сжатия изображений [3].
Таблица 1
Сравнение привычных методов кодирования информации
Название метода |
Достоинства |
Недостатки |
Base64 |
Универсальность |
Низкая плотность |
QR-код |
Простота |
Чувствительность |
Стеганография |
Скрытность |
Сложность |
Наш подход основан на принципе цветового кодирования [4]. Принцип этого метода довольно прост: все файлы состоят из байтов, которые можно интерпретировать как числа от 0 до 255. И уже эти числа можно представить в виде пикселей видеокода в одном из двух режимов: двоичный или RGB. Последний — это более продвинутый режим. Он основан на том, что каждый байт точно помещается в один из цветовых каналов пикселя RGB. Таким образом один пиксель RGB может содержать целых 3 байта.
Но, как и у любого метода, основанного на конкретном принципе кодирования, у нашего подхода с использованием цветового кодирования есть свои недостатки и ограничения, связанные в основном со способом представления видео на популярных видеохостингах. Так, например, на RuTube используется кодек AVC/H.264, поэтому рассмотрим подробнее его особенности.
AVC (Advanced Video Coding), также известный как H.264, является стандартом сжатия видео, разработанным совместно группой экспертов по движущимся изображениям (MPEG) и Международным союзом электросвязи (ITU) в 2004 году. Он является одним из самых популярных видеокодеков и используется в таких областях, как телевизионное вещание, видеоконференции, стриминг и хранение видео.
H.264 использует множество техник сжатия. Одна из ключевых техник — это предсказание движения (motion prediction), которое позволяет кодеку анализировать движение объектов в кадре и использовать эту информацию для устранения избыточности данных. Кроме того, H.264 использует другие техники сжатия, такие как преобразование цветового пространства (color space transformation), дискретное косинусное преобразование (discrete cosine transform) и квантование (quantization), чтобы уменьшить размер данных без значительной потери качества.
В результате H.264 может обеспечить высокое качество стандартного видео при низком битрейте, что делает его популярным выбором для стриминга видео и хранения видеофайлов. Однако наш подход чувствителен к искажениям в исходном файле. Любые неточности при чтении исходного файла или при кодировании его в видеокод могут привести к значительному падению качества. И основные техники сжатия H.264: предсказание движения и преобразование цветового пространства, — сильно влияют на работу принципов, используемых в цветовом кодировании. Именно поэтому помимо более эффективного и быстрого режима RGB, существует и двоичный режим цветового кодирования.
Двоичный режим в отличие от режима RGB использует черные и белые пиксели, которые намного сложнее испортить. Каждый пиксель либо яркий, представляющий 1, либо темный, представляющий 0. Мы объединяем эти биты в байты и продолжаем до тех пор, пока не закончатся данные. А чтобы сделать ежим менее подверженным сжатию, мы дополнительно увеличиваем размер пикселей. В результате тестов, оптимальный баланс эффективности и помехоустойчивости обеспечивают блоки пикселей 2×2.
Таким образом, количество информации, которое можно уместить в 1 секунде видео можно рассчитать по следующей формуле:
I = (W × H × b × fps) / k,
где W — ширина кадра видео; H — высота кадра видео; b — количество бит, используемых для кодирования одного пикселя (битовая глубина изображения); fps — частота кадров в секунду; k — размер цветовых блоков пикселей (коэффициент сжатия видео).
В соответствии с этой формулой теоретическое максимальное количество информации, которое можно уместить в 1 секунде видео, в идеальных условиях можно оценить как: I = (3840 x 2160 x 24 x 60) / 1 = 11 264 256 000 бит или 1,33 Гб.
Количество информации, которое можно уместить в 1 секунде стандартного видео, в реальных условиях можно оценить как: I = (1920 × 1080 × 1 × 30) / 4 = 15 552 000 бит или 1,86 Мб.
Все необходимые настройки, используемые для создания видео, закодированы на первом кадре. Это позволяет алгоритму знать, в каком режиме находится видео и какой размер использовать.
Для проверки работоспособности предложенного метода и оценки реального размера полученного видео был проведен эксперимент. В данном эксперименте архив файлов размером 35 МБ был преобразован в видео с разрешением 720p и частотой 30 кадров в секунду, общей длительностью 167 секунд. Затем полученное видео было загружено на один из популярных видеохостингов.
Размер видео при условии оптимального сопротивления сжатию можно оценить с использованием формулы I = (1280 × 720 × 1 × 30) / 4 × 167, что примерно равняется 145 МБ. Однако после скачивания видео с хостинга его размер уменьшился на 33 %, достигнув значения 96 МБ. Важно отметить, что даже после этого видео успешно прошло процесс раскодирование и восстановления первоначально загруженных файлов.
Таким образом, можно сделать вывод, что подход с использованием цветового кодирования имеет свои преимущества и может быть эффективным для преобразования файлов в видеокоды. Использование этого метода может быть надежным и эффективным решением для тех, кто сталкивается с проблемой ограниченного места на жестком диске, поскольку он позволяет использовать бесплатные видеохостинги как универсальные облачные хранилища [5]. Однако он может потребовать определенных настроек и условий для достижения наилучших результатов, а также специальных алгоритмов декодирования, которые необходимо использовать для извлечения исходного файла из полученного видеокода, что усложняет процесс восстановления данных и требует дополнительных ресурсов и затрат.
Кроме того, стоит отметить, что преобразование файлов в видеокоды для хранения их на видеохостинге также может положительно сказываться на основных аспектах информационной безопасности. Во-первых, видеокодирование может обеспечить целостность файлов, поскольку видео, размещенное на хостинге, нельзя изменять без уведомления о том, что файл был заменен. Во-вторых, использование видеохостинга позволяет избежать риска атак типа отказ в обслуживании (DoS), так как за защиту от таких атак отвечает сам видеохостинг.
В будущем, метод видеокодирования файлов на основе цветового кодирования может развиться до уровня, когда он будет использоваться не только для хранения и обмена файлами, но и для создания гибридного контента, который объединит видео, аудио и интерактивные элементы. Возможно, это приведет к созданию новых форматов видео, которые будут более удобны для потребления и будут поддерживаться на разных устройствах, в том числе на мобильных. Также возможно, что метод будет усовершенствован для более эффективного сжатия и передачи данных, что позволит улучшить скорость и качество потоковой передачи видео, а также снизить затраты на хранение и передачу данных. Возможно, будут созданы новые алгоритмы, которые будут оптимизированы для работы на специализированных устройствах, таких как умные телевизоры, мониторы и другие устройства, которые используются для потребления контента.
Литература:
1. Ковалёв, А.И. (2016). QR-коды, их свойства и применение. Молодой ученый, № 10 (114), с. 56–59.
2. Вавренюк, А.Б. и др. (2018). Универсальное кодирование тройками для сжатия и защиты двоичных данных. Бюллетень науки и практики, Том 4, № 12 (25), с. 115–126.
3. Конахович, Г.Ф. (2006). Компьютерная стеганография. Теория и практика. Москва: МК-Пресс, с. 283–288.
4. Миронов, А.В. (2015). Цветовое кодирование как метод сжатия видеоизображений. Сборник тезисов докладов III Международной конференции «Компьютерная графика и мультимедиа». Москва: МГТУ им. Н. Э. Баумана, с. 15–18.
5. Черненко, И.И. (2019). Анализ методов сжатия видео для обеспечения информационной безопасности. Научно-технический вестник информационных технологий, механики и оптики, 19(1), с. 72–79.