Кодек — это программный или аппаратный инструмент, который сжимает данные для более эффективной передачи и затем расшифровывает их для воспроизведения. Кодеки обычно используются для аудио и видео файлов. Работа кодеков основана на использовании алгоритмов, которые анализируют исходные данные и удаляют “избыточную” информацию – то есть информацию, которую человеческий глаз или ухо не воспринимают. После этого данные могут быть сжаты для передачи или хранения, а затем восстановлены для просмотра или прослушивания.
Кодеки обеспечивают сжатие аудио и видео файлов без существенного ухудшения качества. Это гарантирует, что во время видеоконференций участники могут четко слышать и видеть друг друга даже при плохом интернет-соединении.
Что делают кодеки
Кодеки, сжимая данные для оптимизации их хранения и передачи, значительно уменьшают размер видео и аудио файлов, что особенно важно, учитывая ограничения памяти современных устройств.
Например, для 90-минутного фильма, снятого в формате 4K RAW с соотношением съемки 30:1, потребуется около 20 терабайтов места на диске. Это только исходные медиа-файлы, к тому же потребуется место для рендеринга и хранения.
“Соотношение съёмки 30:1” — это отношение между количеством отснятого материала и финальной продолжительностью фильма. Например, соотношение съёмки 30:1 = 30 минут материала для каждой минуты финального фильма.”
Размер видеофайла зависит от множества факторов, включая разрешение, битрейт, частоту кадров, степень сжатия, глубину цвета, длительность видео. Кроме того на размер влияют высокий динамический диапазон (HDR) и широкая цветовая гамма (WCG).
Эффективность работы кодеков напрямую влияет на впечатление от качества звука и видео. Кодеки в процессе сжатия могут уменьшить битрейт и изменить цветовое пространство, а также адаптировать другие характеристики, которые сложно заметить человеку. Это помогает уменьшить размер файла или потока данных так, чтобы человек не заметил изменения качества аудио и видео при воспроизведении.
Отметим, что хотя многоканальный звук может обеспечить лучшее качество, для медиафайлов с многоканальными аудиодорожками потребуется больше места для хранения и пропускной способности сети при потоковой трансляции. Поэтому его использование может быть нецелесообразно для приложений, которые имеют ограниченные ресурсы или требуют эффективного использования пропускной способности. А вот аудио кодеки, такие как WMA, AAC, Monkey’s Audio, могут обеспечить больше каналов в итоговом аудиопотоке, что придает звуку глубину.
Кодеки также могут адаптироваться к изменениям в скорости интернет-соединения, обеспечивая стабильность передачи звука и видео. Это особенно важно для видеоконференций и стриминга. Если скорость соединения снижается, кодек автоматически ухудшает качество трансляции, чтобы предотвратить задержки. Если скорость передачи данных или пропускная способность увеличивается, программа или сервис могут улучшить качество потокового контента, делая изображение более детализированным и звук более чистым.
- В контексте видео, это может означать повышение разрешения (например, с 720p до 1080p и 4K). Цвета могут стать более насыщенными, а повышенная контрастность может сделать изображение более живым и реалистичным.
- В контексте аудио, повышение качества может означать улучшение четкости звука и уменьшение искажений или шума. Это может сделать звук чище и позволит слушателю лучше различать отдельные инструменты или звуки.
Таким образом, увеличение скорости передачи данных может значительно улучшить общее качество потокового контента.
Традиционные кодеки
Традиционными кодеками называются кодеки, которые были созданы много лет назад, но которые до сих пор остаются эффективными и широко используются. Они обеспечивают стабильное и надежное качество сжатия и декодирования данных, что делает их основным выбором для многих приложений и платформ.Примерами таких “классических” кодеков, как мы называем их в данном контексте, могут быть H.264 и MP4.
Важно отметить, что термин “традиционные” не следует путать с “устаревшими”. Устаревшие кодеки – это те, которые больше не поддерживаются или редко используются так как появились более эффективные альтернативы. С другой стороны, традиционные кодеки продолжают быть актуальными и полезными благодаря своей надежности, эффективности и широкой совместимости.
С другой стороны, некоторые новые кодеки, такие как VP9 (разработанный Google) и H.265 (или HEVC), предлагают улучшенные алгоритмы сжатия и могут обеспечивать более высокое качество видео при меньшем размере файла.
В эффективности сжатия. Качество и эффективность кодека зависят от многих факторов, включая алгоритмы сжатия, которые он использует, и необходимость поддержки новых методов аппаратного кодирования на CPU (процессоре) или GPU (видеокарте). Нейронные кодеки (более подробно об этом ниже) пока не смогли убедительно продемонстрировать свое качество, чтобы можно было с уверенностью говорить об их будущем.
H.264, также известный как AVC (Advanced Video Coding), был стандартизирован в 2003 году и с тех пор является одним из самых широко используемых кодеков для записи, сжатия и распространения видеоконтента. Благодаря свободной библиотеке OpenH264, любой может использовать этот кодек без каких-либо ограничений и роялти. Это стандартный кодек для таких сервисов, как Blu-ray, YouTube и iTunes.
Однако стоит отметить, что хотя сам кодек H.264 может использоваться бесплатно, некоторые расширенные функции H.264, такие как поддержка многоканального видео, могут подпадать под патентные лицензии и требовать оплаты.
Сейчас наибольшей популярностью в индустрии пользуется AV1. Большинство крупнейших видеоплатформ, таких как YouTube и Netflix, активно используют этот свободный кодек, который по степени сжатия опережает платный HEVC.
Тем временем, рабочие группы VCEG и MPEG продолжают развивать свою работу. С релизом H.266 (VVC), они также занимаются разработкой двух кодеков следующего поколения: Essential Video Coding (EVC) и Low Complexity Enhancement Video Coding (LCEVC). При этом, стоит отметить, что некоторые варианты кодеков EVC (Type I) будут освобождены от лицензионных платежей.
Видеокодеки
Видеокодек – компьютерная программа или алгоритм, осуществляющий сжатие и восстановление видеоданных с целью уменьшения их объема, например для передачи по IP-сетям.
Важно, чтобы сжатая при помощи видеокодека информация удовлетворяла предъявляемые к ней требования по качеству и объёму данных, а также обрабатывалась за быстро. Скорость сжатия и распаковки видеоинформации важна, поскольку не все ПК могут сжимать данные в реальном времени, но от всех требуется воспроизведение без задержек. Это особенно актуально для видеоконференцсвязи, где от системы требуется сжатие видеосигналов и распаковка сразу нескольких из них в реальном времени.
На обычном ПК современные видеокодеки способны сжимать видеосигнал с HD разрешением без заметных потерь качества, что делает ПК универсальным терминальным устройством для применения в видеоконференциях.
Сегодня без видеокодеков не может обойтись ни одно устройство, которое работает с видеосигналом, ведь в несжатом видео даже видеосигнал VGA качества (640х480, 30 кадров в секунду) требует скорости передачи не менее 200 Мб/с.
VP8
VP8 – видеокодек, который был анонсирован компанией On2 Technologies в сентябре 2008 года, однако с 2010 года новым владельцем стала компания Google. Главным преимуществом видеокодека VP8 является то, что он распространяется под свободной лицензией. При этом VP8 не уступает по качеству видеокодеку H.264 и активно развивается специалистами по всему миру.
Возможности и преимущества:
- Бесплатный видеокодек
- Повышенная устойчивость к потере кадров
- Высокая скорость декодирования видеопотока
- Легко внедряется в аппаратные платформы
- Универсален – применяется в видеоконференцсвязи, видеотрансляциях, записи с мобильных устройств
В 2012 году TrueConf реализовал на основе кодека VP8 технологию масштабируемого видеокодирования (SVC), которая раньше была доступна только как расширение для видеокодека H.264. Технология SVC позволяет без перекодирования изменять такие характеристики видеопотока, как частота кадров, разрешение и степень сжатия.
Аудиокодеки
Аудиокодек – набор алгоритмов, описывающих процессы сжатия и воспроизведения потока оцифрованных аудиоданных. Программа для сжатия (или компрессии потока), обычно называется аудио-энкодером, а для воспроизведения (декомпрессии) – аудио-плеером или аудио-декодером. Также аудиокодеком может называться аппаратное устройство, осуществляющее цифро-аналоговые преобразования звука.
Программный
Представляет собой программное обеспечение, осуществляющее компрессию и декомпрессию цифровых аудиоданных. Аудиокодек-компрессор предоставляет пользователю аудиосигнал минимального размера вследствие процесса сжатия с использованием различных математических и статистических приёмов. Таким образом, объём пространства для хранения данных уменьшается, а полоса пропускания канала, по которому осуществляется передача аудиопотока, высвобождается.
Все аудиокодеки делятся на два типа – со сжатием без потерь и с потерями. В первом случае исходный сигнал после декомпрессии полностью идентичен сигналу до компрессии. Второй тип объединяет все остальные аудиокодеки. Самые популярные аудиокодеки применяют сжатие с потерями, но при этом пользователь на слух не сможет отличить сжатый поток от оригинала, т.к. кодек использует особенности человеческого слуха для отсечения частот, неслышимых человеком, для увеличения степени сжатия.
Одним из таких является самый распространенный среди пользователей аудиокодек – MP3. MP3 (MPEG-1 Audio Layer III) – это аудиокодек, который широко используется не только в файлообменных сетях для передачи музыкальных файлов. Этот формат также используется для аудиодорожек в некоторых видеофайлах, в аудиокнигах, подкастах и даже в радиовещании.
Аппаратный
Аппаратный аудиокодек – это устройство, которое преобразует аналоговые аудиосигналы в цифровые для обработки компьютером и обратно – цифровые сигналы в аналоговые для воспроизведения звука через динамики.
Давайте разберем это подробнее. Цифровые аудиосигналы – это звук, преобразованный в числовые данные, которые компьютер может обрабатывать. Это происходит через процесс, называемый аналого-цифровым преобразованием. Аналоговый аудиосигнал, например музыка, которую вы слушаете через микрофон, сначала преобразуется в цифровой формат. Затем эти цифровые данные обрабатываются компьютером, например, для записи звука или для передачи через интернет.
Обратный процесс, цифро-аналоговое преобразование, происходит, когда компьютер воспроизводит звук через динамики. Цифровые данные преобразуются обратно в аналоговый сигнал, который может быть воспроизведен динамиками.
Аудиокодеки в ВКС
Аудиокодек является неотъемлемой составляющей полноценной системы ВКС. В видеоконференциях он отвечает за обработку поступающего сигнала и его передачу. Самым популярным аудиокодеком, используемом в ВКС, по праву можно считать Speex – открытое, свободное программное обеспечение для сжатия аудиосигнала. Разработчики утверждают, что именно этот аудиокодек больше всего подходит для передачи голосового сигнала во время сеанса ВКС по сетям с ненадежной пропускной способностью и при низких скоростях.
Аудиокодек Opus
Opus – универсальный аудиокодек, сочетающий в себе баланс высокого качества компрессии аудиосигнала с низким показателем задержки. Разработан в 2012 году рабочей группой IETF. Его универсальность заключается в адаптации к изменению пропускной способности канала и возможности поддерживать кодирование звука любого вида.
Аудиокодек Opus подходит для воспроизведения сигнала как на 6 кбит/с, так и на 510 кбит/с. Сжатие сигнала осуществляется с минимальными, практически незаметными для человеческого слуха, потерями. В зависимости от изменения условий полосы пропускания, аудиокодек Opus способен динамично переключаться на компрессию с разным битрейтом.
Возможности и преимущества:
- Поддержка любой частоты дискретизации – от 8 до 48 кГц.
- Битрейты от 6 до 510 Kbps.
- Моно/стерео.
- Поддержка режимов переменного и постоянного битрейтов.
- Использование арифметики с фиксированной точкой.
- Продолжительность задержки от 5 мс.
- Легко масштабируемый аудиопоток с возможностью изменения параметров на ходу.
Аудиокодек Opus в видеоконференцсвязи TrueConf
В результате многочисленных исследований и тестирований, аудиокодек Opus зарекомендовал себя в качестве максимально подходящего кодека для сжатия речи, именно поэтому наша компания поддержала его во всех своих решениях, ведь хорошее качество аудиосигнала в видеоконференцсвязи важно так же, как и качество видео.
Благодаря перечисленным выше преимуществам аудиокодека Opus, минимально необходимая пропускная способность канала связи для участия в конференции без передачи видео (например, при отключенной камере или в качестве слушателя в селекторном совещании) составляет 16 КБ/с.
В результате сравнения с другими популярными, использующимися в видеоконференцсвязи, речевыми кодеками – Speex и G.729, Opus отличился наиболее высокой производительностью и возможностью достаточно оперативно переключаться на различные механизмы кодирования. Это и сделало его идеально подходящим для использования в видеоконференцсвязи во время передачи данных, ведь даже на низких скоростях интернет-соединения участники видеоконференции могут продолжать общаться друг с другом в максимально комфортных аудио-условиях.
Кодеки новой эпохи и нейросети
Появление новых кодеков и потребность в более эффективном сжатии медиапотоков обусловлены несколькими ключевыми факторами:
- Увеличение разрешения. Современные устройства, включая смартфоны и профессиональное видеооборудование, теперь могут записывать видео в очень высоком разрешении, включая 4K и даже 8K. Эти видеофайлы имеют гораздо больший размер, поэтому требуют более эффективного сжатия, для удобства передачи и хранения.
- Увеличение количества данных. С ростом числа устройств и доступности интернета общее количество видео и аудио контента, которое мы производим и потребляем, растет в геометрической прогрессии. Более эффективные кодеки позволяют нам справиться с этим ростом данных, обеспечивая высокое качество при меньших требованиях к пропускной способности и хранению.
- Высокоскоростной интернет. С развитием технологий и распространением высокоскоростного интернета, пользователи ожидают высокое качество медиа контента без задержек и буферизации. Новые кодеки обеспечивают более эффективное сжатие, позволяя передавать высококачественные медиафайлы быстрее и с меньшими задержками.
- Виртуальная и дополненная реальность. Эти технологии требуют большого количества данных и высококачественного видео. Более эффективные кодеки могут существенно улучшить VR-опыт, делая его более плавными и реалистичными.
Все эти факторы вместе создают потребность в новых, более эффективных кодеках, которые могут обеспечить высокое качество медиа контента.
Несмотря на появление новых стандартов кодеков каждое десятилетие, основа всех этих стандартов заключается в пиксельной математике, которая включает в себя манипуляцию значениями отдельных пикселей в кадре видео для удаления информации, не влияющей на восприятие. Дальнейшие математические операции снижают объем данных после первичного кодирования.
В новом поколении кодеков используются алгоритмы машинного обучения для анализа и разбора визуального содержимого видео, определения избыточных данных и более эффективного сжатия. Искусственный интеллект также активно используется в области аудиокодеков. Например, компания Google разработала кодек Lyra, который использует машинное обучение для сжатия аудиоданных, улучшения качества звука и снижения потребления пропускной способности.
Lyra основывается на модели генеративного противостояния (Generative Adversarial Networks, GANs), которая способна анализировать и воспроизводить сложные звуковые образы. Это позволяет ему достигнуть высокого качества звука даже при низкой пропускной способности.
Эта область развивается на протяжении многих десятилетий, но в последние годы она получила значительный импульс. Все помнят, что в 2017 году произошел значительный прорыв в области ИИ с изобретением трансформеров. Трансформеры в области искусственного интеллекта (ИИ) и машинного обучения (ML) относятся к модели, изначально представленной в статье “Внимание – все, что вам нужно” (Attention is All You Need) в 2017 году. Эта статья была опубликована тремя учеными из Google Brain: Ашвинем Васвани, Ноамом Шазером и Ники Парамитой.
Трансформеры представляют собой архитектуру, основанную на механизмах внимания, которые могут взвешивать различные части входных данных в зависимости от их относительной важности для задачи. Это обеспечивает гораздо большую эффективность и гибкость по сравнению с традиционными подходами, такими как рекуррентные нейронные сети (RNN) или сверточные нейронные сети (CNN).
Когда мы говорим о сжатии изображения, мы обычно имеем в виду процесс уменьшения размера файла изображения без значительной потери его качества. Нейросети и традиционные методы сжатия работают по-разному.
Традиционные методы сжатия изображений обычно сосредоточены на обработке макроблоков или фрагментов изображения. Это означает, что они смотрят на маленькие части изображения и пытаются уменьшить размер, сохраняя при этом визуальное качество.
С другой стороны, нейросети могут “видеть” изображение в целом и идентифицировать различные объекты на нем. Это возможно благодаря использованию концепции внимания, которая позволяет нейросети “понимать” общую структуру входных данных и фокусироваться на определенных частях изображения, игнорируя менее важные детали. Это существенно отличается от способа работы традиционных методов сжатия, и результаты этого нового подхода начинают проявляться прямо сейчас.
В общем, можно сказать, что вместо того чтобы просто уменьшать размер изображения, нейросети стараются “понять” его и сжимать более интеллектуально.