для чего нужно сжатие видео
Сжатие видео
Сжатие видео (англ. Video compression ) — уменьшение количества данных, используемых для представления видеопотока. Сжатие видео позволяет эффективно уменьшать поток, необходимый для передачи видео по каналам радиовещания, уменьшать пространство, необходимое для хранения данных на носителе. Недостатки: при использования сжатия с потерями появляются характерные, иногда отчётливо видные артефакты — например, блочность (разбиение изображения на блоки 8×8 пикселей), замыливание (потеря мелких деталей изображения) и т. д. Существуют и способы сжатия видео без потерь, но на сегодняшний день они уменьшают данные недостаточно.
Содержание
Теория
Видео — это по существу трёхмерный массив цветных пикселей. Два измерения означают вертикальное и горизонтальное разрешение кадра, а третье измерение — это время. Кадр — это массив всех пикселей, видимых камерой в данный момент времени, или просто изображение. В видео возможны также так называемые полукадры (см.: чересстрочная развёртка).
Сжатие было бы невозможно, если бы каждый кадр был уникален и расположение пикселов было полностью случайным, но это не так. Поэтому можно сжимать, во-первых, саму картинку — например, фотография голубого неба без солнца фактически сводится к описанию граничных точек и градиента заливки. Во-вторых, можно сжимать похожие соседние кадры. В конечном счёте, алгоритмы сжатия картинок и видео схожи, если рассматривать видео как трёхмерное изображение со временем как третьей координатой.
Сжатие без потерь
Помимо сжатия с потерями видео также можно сжимать и без потерь. Это означает, что при декомпрессии результат будет в точности (бит к биту) соответствовать оригиналу. Однако при сжатии без потерь невозможно достигнуть высоких коэффициентов сжатия на реальном (не искусственном) видео. По этой причине практически всё широко используемое видео является сжатым с потерями (в том числе на потребительских цифровых видеодисках, видеохостингах, в спутниковом вещании). На веб-сайтах для маленьких роликов без звука иногда используются простые форматы GIF и APNG.
Сжатие видео и технология компенсации движения
Одна из наиболее мощных технологий, позволяющая повысить степень сжатия, — это компенсация движения. При любой современной системе сжатия видео последующие кадры в потоке используют похожесть областей в предыдущих кадрах для увеличения степени сжатия. Однако, из-за движения каких-либо объектов в кадре (или самой камеры) использование подобия соседних кадров было неполным. Технология компенсации движения позволяет находить похожие участки, даже если они сдвинуты относительно предыдущего кадра.
Современное состояние дел
На конец 2011 года практически все алгоритмы сжатия видео (например, стандарты, принятые ITU-T или ISO) используют дискретное косинусное преобразование (DCT) или его модификации для устранения пространственной избыточности. Другие методы, такие как фрактальное сжатие и дискретное вейвлет-преобразование, также были объектами исследований, но сейчас обычно используются только для компресcии неподвижных изображений.
Использование большинства методов сжатия (таких, как дискретное косинусное преобразование и вейвлет-преобразование) влечёт также использование процесса квантования. Квантование может быть как скалярным, так и векторным, тем не менее, большинство схем сжатия на практике используют скалярное квантование вследствие его простоты.
Телевидение
Современное цифровое телевещание стало доступным именно благодаря видеокомпрессии. Телевизионные станции могут транслировать не только видео высокой четкости (HDTV), но и несколько телеканалов в одном физическом телеканале (6 МГц).
Хотя большинство видеоконтента сегодня транслируется с использованием стандарта сжатия видео MPEG-2, тем не менее новые и более эффективные стандарты сжатия видео уже используются в телевещании — например, H.264 и VC-1.
Теория |
| ||||||
---|---|---|---|---|---|---|---|
Без потерь |
| ||||||
Аудио |
| ||||||
Изображения |
| ||||||
Видео |
|
Рекомендации ITU-T | Bink • Cinepak • Indeo • Pixlet • RealVideo • RTVideo • SIF1 • Smacker • Snow • Sorenson • Tarkin • VP3 (Theora) • VP6 • VP7 • VP8 • WMV ПолезноеСмотреть что такое «Сжатие видео» в других словарях:Сжатие без потерь — У этого термина существуют и другие значения, см. Сжатие. Сжатие данных без потерь (англ. Lossless data compression) метод сжатия данных: видео, аудио, графики, документов представленных в цифровом виде, при использовании которого… … Википедия Видео кодек — Видеокодек программа/алгоритм сжатия (то есть уменьшения размера) видеоданных (видеофайла, видеопотока). Кодек файл формула, которая определяет, каким образом можно «упаковать» видеоконтент и, соответственно, проиграть видео. Также возможно… … Википедия Видео-кодек — Видеокодек программа/алгоритм сжатия (то есть уменьшения размера) видеоданных (видеофайла, видеопотока). Кодек файл формула, которая определяет, каким образом можно «упаковать» видеоконтент и, соответственно, проиграть видео. Также возможно… … Википедия Сжатие изображений — Сжатие изображений применение алгоритмов сжатия данных к изображениям, хранящимся в цифровом виде. В результате сжатия уменьшается размер изображения, из за чего уменьшается время передачи изображения по сети и экономится пространство для… … Википедия сжатие (потока цифрового телевизионного изображения) — Ндп. компрессия Сокращение объема передаваемой цифровой телевизионной информации за счет учета корреляционных и статистических связей между элементами и фрагментами телевизионного изображения. Примечание Степень сжатия определяется коэффициентом… … Справочник технического переводчика сжатие видеоинформации — Преобразование изображения для сокращения спектра аналогового видеосигнала или цифрового потока. [ГОСТ 21879 88] Тематики телевидение, радиовещание, видео Обобщающие термины термины и определения общих понятий телевидения … Справочник технического переводчика Сжатие аудиоданных — В Википедии … Википедия Сжатие данных — Возможно, эта статья содержит оригинальное исследование. Добавьте ссылки на источники, в противном случае она может быть выставлена на удаление. Дополнительные сведения могут быть на странице обсуждения. (26 мая 2012) … Википедия Сжатие с использованием вейвлет — Вейвлетное сжатие общее название класса методов кодирования изображений, использующих двумерное вейвлет разложение кодируемого изображения или его частей. Обычно подразумевается сжатие с потерей качества. Существенную роль в алгоритмах… … Википедия Сжатие данных с потерями — У этого термина существуют и другие значения, см. Сжатие. Сжатие данных с потерями метод сжатия (компрессии) данных, при использовании которого распакованные данные отличаются от исходных, но степень отличия не является существенной с точки … Википедия Как работает сжатие видеоЛюбой видеоролик представляет собой набор статичных кадров поочередно сменяющих друг друга с разной скоростью. Одни из таких значений, утвердившихся в видеоиндустрии – 23.976, 24, 25 и 29.97 кадров в секунду. Например – со скоростью 24 кадра в секунду снимают фильмы на кинопленку, а 25 кадров и 29,97 являются стандартом телевещания в странах Европы и США. В последующем мы будем называть это видеопотоком. Кроме частоты смены кадров, любой видеофайл имеет следующие характеристики: Все вышеперечисленное относится к локальным (постоянным) свойствам видеофайлов, но также есть и динамические свойства. Такие, как например: время (длительность видеоролика), объем данных, зависимость, а также наличие прочей дополнительной информации. Может быть так, что один поток видео может содержать информацию для левого глаза, а другой поток для правого глаза. Так при помощи этих двух условных потоков можно передавать стереоскопическое видео, или говоря по простому 3D. Все же, почему видео нужно сжимать? Банально, для экономии свободного места на хранилище. Давайте примерно представим, сколько будет весить фильм длительностью в 90 минут, с размером кадра 1920х1080 и скоростью 24 кадра в секунду. Кого-то это цифра может и не удивит, но объем такого файла будет составлять аж 750 Гб. Если вы владелец онлайн-кинотеатра, то вам вряд ли хватит каких-либо денег на то, чтобы обеспечить хранение огромной библиотеки, состоящей из тысяч бестселлеров на хостинге в несжатом формате, а скорость доступа к таким файлам явно не обрадует зрителей. При этом, видео на формате Blu–Ray будет аналогичного качества, имея при этом размер в каких–то жалких 20 Гб. Да даже более сильное сжатие, позволяющее уменьшить размер хоть в сто раз, вряд ли оставит зрителя без восторга от увиденного. Ладно, хватит лирики, перейдем к сути. На чем же конкретно экономят в процессе сжатия видео? В первую очередь, кодеком осуществляется кодирование цвета. Раньше телевидение, фильмы и вообще весь видеоконтент был черно-белым, сегодня же все стало более жизнерадостным, цветным. Но как же черно–белые телевизоры старых образцов могут показывать современные телеканалы?
Оказывается, любая картинка в цифровом, либо аналоговом сигнале кодируются форматом YUV, который состоит из двух компонентов – карты яркости и цветовой маски. Переменная Y обозначает яркость, а U и V это цветовые компоненты, которые рассчитываются по этим формулам: Таким образом, разделив изображение на три условных слоя, один из которых (Y) будет яркостным, а два остальных (U и V) цветовыми масками, кодирование сокращает видео в два раза, по ширине и высоте, при этом визуально сохраняя большую часть общей информации, потому что оказывается наше зрение не так притязательно к восприятию цвета, а вот к яркости особо чувствительно. Следовательно, объем каждого пикселя сокращается в два раза, с условных 24 до 12 единиц. Ведь, как правило, цвета на объектах от кадра к кадру не так уж и часто меняются, поэтому такое цветовое прореживание не несет в себе потенциальную опасность в плане возникновения серьезных артефактов. Подобным образом работает и JPEG.
Далее происходит процесс межкадровой разности. Наверное многие замечали при покадровом рассмотрении видеороликов, что кадры сменяются плавно, а некоторые объекты на фоне остаются статичными. Но это конечно происходит не всегда, в случае смены сцены все происходит резко. И тут возникает новая задача по просчету невероятно огромного количества вариантов преобразования изображений, перед компьютером. На помощь этому процессу приходит алгоритм компенсации движения. Более подробно об этом процессе вам может рассказать эта статья на Википедии, я же поясню некоторые базовые понятия в его работе. Прежде всего, кадры делятся на равные блоки, и между ними идет процесс поиска схожих блоков на другом кадре, так компьютер выстраивает поле движения векторов. При самой компенсации учитываются все вектора движений и идет процесс генерации изображения, похожего на исходный (предыдущий) кадр.
На картинках можно четко увидеть межкадровую разницу, а вот отличия между исходным кадром и скомпенсированным не так заметны. Если учесть объемы информации, то при сжатии изображений у нас есть возможность, практически без каких-либо проблем, сохранить вектора движения. Сделать можно это и потом, когда алгоритм уже сжал изображение методом межкадровой разности. Но как вы можете заметить, на второй картинке возник откровенно сильный эффект блочности. Это возникает в том случае, если алгоритм слишком сильно сжимает изображение. Из реальных ситуаций могу привести пример, когда алгоритмы кодеков ТВ–вещания не отрабатывают резкие изменения в яркости от вспышек фотокамер с вещаемых мероприятий. И вот, после всех процедур сжатия файла, коэффициенты все равно имеют избыточность. Для её устранения и уравнивания, например в кодеке H.264, используются две математические модели CABAC и CAVLC, занимающиеся арифметическим сжатием без потерь, при помощи вероятностной модели Хаффмана. Само собой, процессы в сжатии видео куда более сложны, а более углубленные технические подробности по этой теме вы можете найти в Интернете. Я же поделился с вами базовым описанием процессов в кодировании видео. Как сжать видео без потери качестваРассказываю о том, как работает сжатие, для чего его можно использовать и как уменьшить размер видео без потери качества. Полноценный гайд по всем действующим методам. Что такое сжатие и зачем оно нужно?Под сжатием (или компрессией) подразумеваются практики по уменьшению размера файла. В нашем случае речь идет о видео. Упаковывая ролик в архив или используя продвинутые алгоритмы машинного обучения, можно заметно сократить пространство, которое ролик занимает на жестком диске или в облачном хранилище. Зачем это делать? Например, чтобы передать видео по почте или отправить через мессенджер. В таких программах часто выставлен лимит на размер отправляемых данных, и длинные ролики в хорошем качестве отослать не получается. Здесь и нужна компрессия. Также пользователи сжимают видео, чтобы уместить их на мобильных устройствах, ухудшая качество картинки (там не всегда есть необходимость в 4К-разрешении), или архивируют, чтобы хранить на внешнем жестком диске коллекцию домашнего видео. Основные способы сжатия видеоТеперь перейдем непосредственно к методикам. Рассмотрим все доступные варианты – от наиболее сложных до самых простых. Архивируем видеоПервое, что приходит на ум – архивация. WinRAR и 7zip уже на протяжении двух декад помогают нам сократить размер файлов, оборачивая их в архивы. Это идеальный вариант для тех, кому нужно хранить большую коллекцию роликов и их копий. Чтобы заархивировать видео: Кликаем по ролику правой кнопкой мыши. В появившемся контекстном меню находим опцию «Сжать» и выбираем ее. Готово. Через несколько секунд на жестком диске появится архив с выбранным файлом (или несколькими). Этот способ одинаково хорошо работает и в Windows, и в Linux, и в macOS. Плюсы такого метода: бесплатно, удобно, можно объединить несколько роликов в один архив. Минусы: процесс архивации отнимает много времени, воспроизвести сжатый ролик можно только после разархивирования. Обрезаем видеоСамый жестокий по отношению к видеоролику способ. Логично, что длинное видео тяжелее, чем короткое, поэтому его нарезка позволяет существенно сократить объем пространства, которое занимает файл на диске. Но восстановить удаленные куски видео после сохранения изменений не получится, а это уже немного противоречит идее сжать ролик, не изменив качество. Данный способ актуален в том случае, если вам нужна только часть видео, но в оригинальном качестве. Чтобы обрезать видео в Windows: Находим видео на жестком диске и кликаем по нему правой кнопкой мыши. В появившемся контекстном меню выбираем приложение «Фото». Нажимаем на кнопку «Обрезать». Указываем участок ролика, который нужно вырезать (или сохранить). Кликаем по кнопку «Сохранить копию». Система создаст новый файл с куском ролика, который вы выбрали, пока редактировали оригинальное видео. Плюсы: не нужно скачивать дополнительных программ, размер уменьшается без потери качества картинки. Минусы: остается меньше контента. Трансформируем видео в GIFЕще один метод для тех, кто готов пожертвовать контентом, только на этот раз речь идет об аудиодорожке ролика. Если нужно донести только визуальный контент, и в приоритете уменьшение размера этого контента до предельно низких значений, то конвертация в GIF уже не выглядит такой странной идеей. Чтобы превратить видеоролик в GIF-анимацию: Нажимаем на кнопку Upload your video. Потом нажимаем на аналогичную кнопку еще раз. В открывшемся редакторе указываем участок видео, который нужно сохранить в качестве GIF. Указываем размер файла (уровень качества анимации). Нажимаем на кнопку Download. Плюсы: GIF-файлы компактные, анимации автоматически воспроизводятся и повторяются. Минусы: у анимаций нет звука, их нельзя перематывать, некоторые сервисы требуют регистрации. Загружаем видео в низком разрешенииСтоит упомянуть, что при необходимости сжать видео, которое уже загружено в интернет, вы всегда можете загрузить видео с меньшим разрешением для мобильных устройств или телевизоров, не поддерживающих HDR или 4К. Если вы загружаете видео с YouTube, то для этого: Открываем сайт YT1. Вставляем в поисковую строку ссылку на ролик, который надо скачать. Выбираем разрешение (чем меньше, тем меньше размер итогового файла). Скачиваем ролик в нужном формате и с нужным разрешением. Конвертируем видео в формате с наименьшим размеромУ роликов в цифровом виде есть несколько форматов. Формат зависит от технологий, используемых для декодирования видеосигнала, то есть от кодека. Кодеки нужны, потому что в чистом виде ролик может занимать огромное пространство на жестком диске, до сотен гигабайт. Нужны специальные утилиты, сжимающие размер видео за счет специализированной постобработки, которая удаляет лишнюю информацию из ролика без очевидной потери качества картинки. К примеру, в 2019 году был представлен высокоэффективный кодек HEVC (или H.265). Видео, преобразованные с помощью HEVC, занимают намного меньше пространства, потому что алгоритм сжатия кодека на 25-50% сокращает размер оригинального файла. Качество практически не страдает, так как алгоритм сокращает количеств кадров, не оставляя сколько-нибудь заметных следов в преобразованном видео. Чтобы преобразовать видео из других форматов в HEVC: Открываем онлайн-конвертер Convertio. Выбираем свой формат и формат, в который нужно конвертировать файл. Нажимаем на кнопку «Выберите файлы». Указываем видео, которое нужно преобразовать. Затем нажимаем на кнопку «Конвертировать». Используем программное обеспечение для уменьшения размера видеоConvertio – не единственный инструмент для преобразования файлов из одного формата в другой. Есть и более функциональное ПО, предлагающее большее количество форматов и более продвинутые алгоритмы, а также ускоряющее и сам процесс конвертации файлов. Рассмотрим наиболее популярные решения. Один из популярнейших проигрывателей для Windows справляется и с ролью конвертера. Причем справляется вполне неплохо, так как поддерживает все необходимые форматы и позволяет перейти в режим изменения кодека буквально в пару кликов (или даже одной комбинацией клавиш). Чтобы уменьшить размер видео без потери качества в VLC: Запускаем программу VLC (предварительно скачиваем и устанавливаем ее). В меню находим кнопку Media и кликаем по ней. В появившемся меню выбираем пункт Convert/Save. Затем нажимаем на кнопку Add…, чтобы добавить видео для конвертации. Снова нажимаем на Convert/Save для запуска процесса преобразования файла. Плюсы: программа бесплатная, работает под Windows, macOS и Linux. Минусы: VLC не указывает примерный размер до и после преобразования. QuickTimeУ Apple есть свой фирменный проигрыватель для видеофайлов, а в нем есть опция для уменьшения размера роликов за счет их оптимизации под мобильные устройства. Какой именно алгоритм используется для адаптации под iPhone, iPad и iPod, неизвестно, но вряд ли он заметно урезает качество, потому что у портативных устройств экраны с большим разрешением. Чтобы уменьшить размер видео без потери качества с помощью QuickTime: Открываем сам проигрыватель (программу QuickTime Player). Кликаем по вкладке «Файл» в панели инструментов. Выбираем пункт «Открыть файл…». В открывшемся окне находим ролик, который надо сжать и кликаем по нему дважды. Затем снова открываем меню «Файл» и выбираем подменю «Экспорт». Здесь выбираем iPad, iPhone, iPod touch… Выбираем место, куда нужно сохранить уменьшенный файл. Плюсы: конвертация происходит быстро, конвертированный файл точно будет воспроизводиться на устройствах Apple. Минусы: работает только на компьютерах Apple, нет четкого обозначения форматов и размеров до конвертации. ShotcutShotcut – это не совсем проигрыватель. Эта программа больше подходит для редактирования видео, а не для просмотра, поэтому здесь не обошлось без продвинутого инструмента для экспорта роликов. Чтобы сжать видео в Shotcut: Нажимаем на кнопку «Файл» в верхней панели управления. В появившемся списке выбираем пункт «Открыть файл…». Выбираем наш ролик и жмем по нему два раза. Затем кликаем по кнопке Export в конце панели инструментов Shotcut. В открывшемся окне находим подходящий кодек (идеальным вариантом в нашем случае будет H.264 Baseline Profile). Нажимаем на кнопку Export File. Плюсы: программа бесплатная, есть большой выбор кодеков и форматов. Минусы: их нет. Если нет желания скачивать что-то на компьютер, то можно попробовать сервис VEED. Сервис VEED поддерживает сразу несколько форматов, включая MP4, MOV, MKV, AVI и множество других. Чтобы им воспользоваться, нужно всего лишь загрузить видеофайл и выбрать степень компрессии. Чем выше будет компрессия, тем ниже будет качество ролика. Что интересно, VEED говорит, сколько места займет сжатый файл на устройстве еще до того, как вы запустите процесс компрессии. При желании можно указать битрейт, количество кадров в секунду и другие параметры, способные уменьшить размер файла. Плюсы: работает в любом современном браузере, не требует оплаты. Минусы: поддерживает не все существующие форматы видео. VideoSmallerЕще один веб-сервис для сжатия видео. Тоже работает в любом браузере и поддерживает форматы MP4, AVI, MPEG и т.п. Отличительная черта VideoSmaller – примитивный интерфейс, что понравится многим пользователям. Чтобы сжать видео без потери качества через VideoSmaller: Нажимаем на кнопку Browse. В открывшемся окне ищем файл, который нужно уменьшить. Затем решаем, ставить галочку напротив пункта Use low compression level или нет (если поставить, то качество почти не изменится, но и размер файла уменьшится не слишком радикально). Затем нажимаем на кнопку Upload Video. Через несколько секунд сервис предложит скачать конвертированное видео. Плюсы: простейший интерфейс, высокая скорость работы. Минусы: отсутствие настроек качества, максимальный размер файла – 500 Мбайт. ClipchampВеб-сервис для тех, кому нужно сжимать видео на постоянной основе. Это платное приложение, распространяющееся по подписке и использующее продвинутые алгоритмы для параллельной обработки сразу большого количества файлов. У Clipchamp есть и бесплатная версия, но она оставляет водяной знак на каждом сжатом ролике, что подойдет не всем. Чтобы сжать видео без потери качества с помощью Clipchamp, нужно зарегистрироваться на официальном сайте сервиса, а потом загрузить в облако Clipchamp ролики, которые нужно сжать. Плюсы: продвинутые алгоритмы сжатия, красивый интерфейс. Минусы: платный тариф за 99 долларов в год. Отправляем видео в облачное хранилищеМногие облачные хранилища, включая Dropbox, автоматически сжимают видео при загрузке. То есть достаточно установить клиент Dropbox на компьютер и в облачную папку залить видео, которое нужно уменьшить. Оттуда же можно поделиться роликом, отправив человеку не файл, а ссылку на него. Также облако можно использовать как архивное хранилище для большой коллекции видео. Единственный недостаток – стоимость. За облако придется платить, и стоить оно будет дороже, чем внешний жесткий диск. Зато оно решает сразу две проблемы, из-за которых люди прибегают к сжатию видеороликов. Вместо заключенияКак видите, сжать видео, не ухудшив его качество, можно разными способами. Выбирайте подходящий метод в зависимости от целей компрессии или комбинируйте их при необходимости. А описанные выше сервисы вам помогут.
|
---|