Найти тему
Добрый Аудиофил

Компрессия данных vs Flac@ZiP vs Субдескритизация vs MetaDAT- разбираемся в алгоритмах сжатия и как они влияют на звук и почему

Всем Доброго Аудиофильского!

Тут такая история приключилась. Я прям расстроился.

Я 2 статьи подряд объявлял подписчикам, что будет третья статья с крутым супер-движем, и что эти 2 статьи(а точнее 5) являются подготовкой к ней. А в ней все искрометное произойдет.

И что же вы думаете? Подписчики взяли и не стали ее читать. Я ее опубликовал. А они не читают.

Я вот реально расстроился. Это что же выходит, аудитория у меня предпочитает сопли с сахаром? А когда контент с перчинкой - они его не читают?

Как это вообще понимать? Мне вот обидно как автору!!!

***

Но историй со мной 2 приключилось. Как-то так вышло, что я пару дней назад на прогулке встретился со своим одногруппником по Универу.

Его отчислили на первом курсе.

Ну мы поговорили с ним, и как-то он меня на мысль навел.

Я взял и всех кого смог вспомнить из Универа в соц сетях нашел.

При этом искал как раз тех кого отчислили. Ну чтобы спросить как и чего дальше вышло?

И вот история интересная. Все как один говорят, что когда отчислили они поняли в чем ошиблись. Поняли, что нужно было больше налегать на учебу. И что нужно было меньше гулять. И дали себе слово именно так и сделать... Но...

В общем 90 процентов из них на текущие 39 лет - не имеют Высшего Образования.

Само собой дискуссия дальше пошла. Был задан вопрос "Ну вот сейчас-то на Взрослую голову, как ты эту ситуацию оцениваешь?"

И тут вдруг 70 процентов опрошенных сказали следующее "Вот представь. Вот ты пешеход. И вот тебе нужно запрыгнуть на лошадь. А подготовка по прыжкам у тебя конечно по жизни есть. Но вот ты запрыгиваешь. А вот дальше это лошадь. У нее другой темп. И тебе в нем держаться надо. А ты этого не можешь. У тебя нет подготовки для этого темпа."

Другие сказали "Вот штангу ты жмешь. Начинаешь с 20 кг, потом дорастаешь до 50, потом до 90, потом до 110. - это уже качок один рассказывал - Но вот и с универом как. Ты вот на своих 20 кг разом лезешь под 80. Ты ее выжмешь. Ты сможешь. Один раз. Может два. Может даже 3.

Но вот после этого ни о какой разумной тренировке речи не будет. У тебя перегруз. И ты без подготовки в нужный тренировочный темп не войдешь.

А универ - это вот такой темп. Это когда ты уже 80 кило жмешь. Они тебя научат как из 80 до 120 дойти. Но вот как ты со своими пусть 50ю, до 80ти дойдешь - это не их забота.

Более того и не их вина, что ты с полтийником пришел, вместо 80ти.

И тут как ни пытайся, впрыгнуть в этот универ. А все равно тебе темпа не хватит. И до него нужно тренироваться с других величин".

В общем-то тема интересная. Ведь и правда навыки учиться мы еще в школе получаем. Но там они в другом формате. В универе ведь по другому все.

Но я вообще это все к чему?

Я к тому, что по идее задача Инфобизнесов понимать этот момент. И делать учебный материал таким, чтобы он выводил ученика на новый уровень. Выводил вот с этих 20 кг, или с полтийника.

Или же вариант Б. Вот есть у студента темп обучаемости на 20 кг. Ну вот в этом темпе и учить. Не в том, что на 80 кило. А вот на этих 20. Но учить именно современным навыкам.

Ведь все мы знаем, что начальники по наследству - они существуют.

И ничего ведь. Работают. Руководят!!! И нормально все получается. Лет через 15 втягиваются в профессию и все хорошо!!! Становятся профессионалами.

Да чего там наследство? Сколько девушек получили необходимое образование для руководящей должности через... Я фразу заканчивать не буду.

Но ведь они же тоже выросли и годам к 40 отличные специалисты своего дела!!!

Это я к тому, что темп освоения предмета медленнее, чем в универе, это еще ничего не значит ни по части Карьерного Роста, ни по части Хорошей Зарплаты!!!

Я даже больше скажу. Это ничего не значит, по части Научно-Прогрессивного Вклада В Прогресс Науки и Техники.

Человек, что 20 лет получает необходимые знания и навыки может запросто пойти и свой бизнес отрыть, просто в силу того, что у него появился товар относительно которого вся машинка завертелась.

В то время как те, что в 5 лет уложились, так этого товара в голове и не родят.

***

И тут еще нужно сказать, что по сути все эти Инфобизнесы. Ведь их задача как раз дотянуть тех, кто через универ не прошел. Чтобы они тоже в Прогресс Вошли и начали его Двигать.

И это ведь Новый Экономический Тренд, которому еще всего 5 лет. Т.е. это Топовый Подход!!! И этим можно гордиться.

Признать, что организм по тем или иным причинам не топит, как у студентов, но что Брюлики В Проховницах все равно УПЕРТЫЕ и все равно на результат вышли!!!

Т.е. это ведь выходит Лозунг Гордости "Я переломал свой организм!!! А ты Студент, что на автопилоте, спустя рукава, универ вывез, на что вообще годен?"

Заценил движ?

Я не знаю понимают ли другие представители Инфобизнеса это мир так, Как Вижу Его Я...

Но я на сегодня эту речь приторможу. Лето еще впереди. Еще только Июль.

Но вы подпишитесь. И за публикациями следите. За каждой!!! Вдруг чего полезное вне очереди случится.

Сразу говорю. Пасхалки могут быть в середине текста.

***

Ну а сегодня у нас основная тема статьи во чего!!!

фото отсюда https://cont.ws/@id20597668/1254499

Сегодня у нас тема, чем отличаются разные алгоритмы сжатия. И какие они вообще бывают?

Вы заголовок видели. Там какие-то навороченные слова.

Я сам половину из них пойму только в конце статьи. *шучу*

Давайте сразу договоримся, что сегодняшний наш разговор он про Цифровую Обработку Сигналов. Но он будет Жестокий НаучПоп.

Т.е. примеры в ней приведенные будут подобраны с целью лучшего понимания материала без нагрузки на мозги, а вовсе не то, что на самом деле.

Про то как там на самом деле будем говорить отдельно. В других материалах.

***

Давайте сразу скажем. Цифровая Обрабока Сигналов бывает 3х ключевых видов.

1. С целью изменения самого сигнала

2. С целью изменения объема хранимых данных

3. С целью анализа сигнала для различных нужд, включая цели изменения сигнала или объемы хранимых данных.

И сегодня мы говорим о втором виде - об объеме хранимых данных.

***

2.1. MetaDAT

Давайте первым делом представим телевизор. Старый пленочный.

Или как он там правильно назывался? Кинескопный.

Там луч движется хитрым способом. Через строчку.

Сначала рисует 1ю, потом 3ю, потом 5ю. Потом доходит до конца экрана и следующим кадром рисует 2ю, 4ю, 6ю и тд.

Кадры такие названы полу-поля, их 50 штук, и по факту по части передачи движения там реально 50 кадров, а не 25.

Для чего такой через-строчный режим сделан? Да просто все. Пока луч в прогрессивном режиме(Когда строчки по очереди) дорисовывал низ экрана - верх успевал погаснуть.

Придумали, как устранить мерцание, не повышая... Что именно? Правильно! Поток Данных!!! Кадров стало 50. И у каждого снизилось в 2 раза разрешение.

Но за счет быстрого показа их через строчку, вроде как и разрешение норм, и поток данных тот же остался, что изначально в формат закладывался, и не мерцает.

Хотя по части передачи плавности движения вообще-то тоже прирост качества случился.

Такая вот хитринка.

Но нам сейчас нужно ее дожать.

Вот у нас обычное ТВ. С его обычным разрешением.

А вот вам задачка на засыпку. Как сохранив совместимость, сделать Фулл ХД?

Правильно. Предавать на 4х каналах разом, по 4 полу-поля.

А телек на приеме, будет или только один канал показывать, или умело щелкать ими при смене строк.

Но тут нюанс. Дело в том, что потеря 3х строк в каждом кадре - это как бы через жалюзи картинку смотрим. Даже если слитно сжать, то все равно будет что-то не то, особенно когда в кадре газета крупным планом, а там в буквах серединка вырезана. И вместо буквы Н там вот это = только вертикальное. Или даже вот чего | |.

В общем давайте так. Берем наше Фулл ХД. Усредняем его, чтобы разрешение снизить.

И передаем это дело в первый канал. Там у нас полноценная совместимость с обычным телеком.

А на других 3х делаем Писксель-Разносный сигнал.

Там простая Аналоговая платка справится при приеме всех 4х, чтобы сигнал правильно собрать.

Вот сейчас мы получили то, что называется MetaDAT.

Или же один полноценный канал с низким потоком данных, и еще дополнительный поток данных(не важно как попиленный), который при сложении позволяет получить один большой канал с большим потоком данных.

Такое "сжатие" применялось еще во времена первых Спутников, а потом во всю было в инете. Оно позволяло загрузить мутную картинку, чтобы понять, надо ли ее вообще загружать дальше.

Или же в случае Веб-Дизайна 20 летней давности, да еще и с прицелом на мобильный интернет - получить мутный но знакомый пользователю интерфейс, которым он не первый день пользуется, пригодным к работе максимально быстро.

А если там, что-то не понятно, то нужно было просто подождать когда он до конца прогрузится и станет значительно четче.

Со звуком же такой движ имеет место быть как в системах Онлайн Видео-Связи. Там и видео такой мульти-режим коммутации разрешения имеет. Так и звук.

А так же это дело имеет место быть в Dolby TrueHD.

Там ядро это DTS на 1.5 мегабит сек на 5.1 дорожку. А мета-данные добивают поток до 8 мегабит - что являет собой вот вообще ни разу не сжатый поток данных.

А на вопрос, зачем так лихо сделали? Ответ простой. Они не всегда в качестве Мета данных гонят распаковку Ядра до несжатого уровня.

Бывает еще Долби Атмос. Там мета-данные - это сигналы верхних каналов, которые дополнительно нужно вычесть из нижних после декодирования.

Причем сигналы там лихие. И о них мы сегодня говорить не будем. Но там минимум 3 градации вычислительной мощности заложено в поток этих Верхних Каналов.

***

В общем с MetaDAT разобрались.

2.2. Ну что? Обычную Компресиию или Субдисретизацию?

Что вперед, а что под конец?

Давайте сначала Субдисретизацию, а потом уже Компресии и Флаки.

Там объем знаний потребует перерыва.

А сейчас мы быстренько.

Снова телек. Но нам сейчас нужно только один факт.

Там ведь сигнал Аналоговый? Так ведь?

Или нет?

На самом деле там матрица пикселей. С четким местом каждой точки. И во время свечения этого пискселя передается его яркость.

Причем в виде полки-меандра для случая Композитного Видео-Интерфейса. В радио-эфире там другой сигнал. Но приемник из него на выходе тоже Меандр в итоге формирует.

Т.е. перед нами... Правильно. Дискретный Сигнал.

Тут какая тема. Если Амплитуда передана Аналогово, без преобразования в цифровой код своего значения, но частота дискретизации есть - это дискретный сигнал.

А если амплитуду в битики преборазовали - это цифровой.

Но частота дискретизации она у них у обоих.

Есть еще 2 термина по этому поводу. Амплитудно-Импульсная Модуляция, и Импусльно-Кодовая Модуляция.

АИМ и ИКМ соответственно.

При этом Теорема Котельникова она для ИКМ - но она требует кучу математичских расчетов, и значительного повышения частоты дискретизации на ЦАП по отношению к частоте АЦП.

А вот АИМ в силу конструкционных невозоможностей некоторых задач - он как бы того. Для него есть термин Погрешность Аппертуры.

Он показывает какой КНИ и на какой частоте будет при данной частоте Дискретизации. Которая у него и на АЦП и на ЦАП одинаковая.

Я не буду говорить, что график этой погрешности вылитая экспонента.

Нам сейчас другое нужно.

Нам нужно то, что у АИМ при переходе к ИКМ есть такой момент.

Выглядит он вот так

"Оцифровать сигнал на частотах близких к половине частоты дискретизации без искажений не возможно.

А вот воспроизвести идеальный сигнал для таких же условий - вот это можно."

Но если его нельзя оцифровать - то как же его сделать?

С одной стороны можно мультики рисовать. Но что делать, если хочется фотореализма?

Фотореалистичные мультики рисовать!!!

Но давайте пошалим. Давайте оцифруем на более высокой частоте дискретизации. И обучим Нейросеть правльно фазы и амплитуды срисовывать?

Нейросеть сейчас еще не Цифровая - Аналогвая в ход пойдет, та что Головной Мозг Человека.

Хотя сейчас уже можно и Цифровую для этой задачи сообразить.

Но в реальности люди придумали такой алгоритм сами. Даже 2 таких алгоритма.

Один работал с сходными 96 кГц и 24 бита превращая их в 44 кГц и 16 бит.

Причем без каких либо декодирований. Просто поток данных для ЦАП на 44 кГц и 16 Бит. Назвали это дело XRCD.

А другой делал все то же самое на выходе, но из 192 кГц и 32 Бит.

И назвали его XRCD32.

Такие преобразования сигнала относятся к группе Субдискретизации.

При ее обсуждении еще Стробоскоп на Виниле представлять положено.

В случае когда частота дискретизации ниже частоты спектра полезного сигнала происходит весьма интересное снижение частоты создающее фантомный сигнал, и позволяющее с ним весьма не обычным образом работать.

***

Ну а теперь перерыв. На чай, кофе, танцы, или чего покрепче и пожарче.

***

2.3. HDCD и MQA.

Тут тоже быстро. По логике во время перерыва вы должны были сами задаться вопросом, что же тут?

А тут у нас MetaDAT вшитый на уровне шумов и/или нелинейных моментов передачи сигнала не слышимого человеком уровня.

По простому говоря вот есть шум пленки на изображении. Вот он вроде глазами и не заметен. Или заметен но не сильно.

А по факту это дополнительный поток данных. И при его раскодировании и последующем взаимодействии с исходным видео получится повышение разрешения.

Хотя можно и как в случае с Долби Атмос совсем другой сигнал прописать.

***

2.4. FLAC и MP3

Дождались!!! Вот сейчас-то ларчик и откроется!!!

Итак.

Давайте сначала с текста начнем. Вот обычны тесктовый файл. Вида *.txt

Там 16 бит на каждый символ используется.

Т.е. каждый символ это 64 тысячи знаков.

Т.е. 33 буквы Руссиких строчных, 33 Больших, 10 цифр, 26 Английских Букв маленьких, 26 Больших. Французский Алфавит, куча спец-симвлов, Корейский Алфавит(там вообще 22 знака, просто их по 4 штучки в один иероглиф объединяют), Арабский... и тд...

Но вот текст у нас. Чисто на Русском!!! Это ведь нам только 6-бит нужно?

Т.е. раз и мы уже в 2.5 раза уменьшили объем файла. Простая малелькая програмка. Просто в своем формате символы использует. Потом декодирует и вот вам исходный файл.

Это у нас архиватор. Начального уровня.

Давайте усложним.

Введем пару командных символов смены значений в таблице данных. Ужмемся до 4х бит. При этом часто-употребимые буквы будут в этих битах. И будет символ-команда - выйти в другой режим, где редкие буквы.

И мы еще сильнее сжали. Причем архиватором. В с полным восстановлением.

Но мы пока до 4х раз сжали. А реально они в 10 раз жмут. Т.е там еще хитрее все это творится.

Но это все работает с Русским Языком.

А что на счет програмных кодов для компа?

Как там?

Там ведь свои последовательности и свои повторяющиеся и редко-используемые символы.

Обычно Архиватор типа Zip или Rar имеет примерно 10 алгоритмов для архивации разных видов повторяемых данных.

И они как раз заточены на текст, на програмный код, на базы данных.

А вот изображения - как-то они с ними вообще не дружат. Не сжимают их от слова вообще. Один в Один сохраняют по объему данных. Только потом назад перекодировать нужно.

То же самое и со звуком.

Для них другие кодеки и подходы нужны.

С изображением там алгоритм определяет мелкие объекты с низким контрастом, и заменяет их на квадратики одного оттенка.

Суть в том, что это объекты или находящиеся вдали, или не имеющие критичной важности. Например краска на штукатурке на стене.

Если ее сгладить, значительно снизив разрешение - то зритель все равно будет смотреть на лицо девушки в кадре.

При том если на лице сгладится фактура румян или пудры - если не сильно, так и не заметит. А вот если сильно...

В общем примерно так Джипег работает. Причем хранится в нем не просто набор даных с редкими командами. У него там программа для процессора.

Дело в том, что тут уже нельзя просто данные хранить. Тут уже хранятся кривые линии и изгибы, которые огибают например прическу. И они хранятся именно в виде команд процессору идти по этой кривой и восстанаваливать данные, прикладывая по по этой кривой фрагмент текстуры.

Которую при сжатии выявил кодировщик и сохранил в виде небольшого набора пикселей.

Тут же есть и уязвимость. Можно случайно хакнуть процесс и прописать там что-то вроде Формат Ц.

***

Но что же у нас про Флак и Мр3?

А тут 2 в 1.

Суть такая. Например у гитары есть 12 гармоник которые издает сама струна, и 3 гармоники деки, которые резонируют на частотах ниже, возбужденные от каждой гармоники струны.

Т.е. еще 36 гармоник, только тонами ниже основного тонов струны.

Таким образом у нас 48 частот в спектре.

А что если наш алгоритм их все уловит, и пропишет как одну ноту приложив к ним Спектральный Рисунок процесса?

Где-то это уже было. Просто там рисунок был изображением текстуры волос, а тут амплитуды спектра гитары.

При этом подробность изменения этих амплитуд во времени тоже может быть упрощенной. В реальности каждый тон меняет свою амплитуду на каждом колебании. А наш алгоритм может половину этих тонов, если не 2/3, проводить как тона на одной громкости. Просто генерируя их наличие.

Это называется Психо-Акустическая Модель Человеческого Слуха. Когда он не слышит упрощение изменения этих подробностей в звуке.

Таким образом у нас произойдет потеря данных.

Но если нам нужно, чтобы она не произошла.... То вы уже все поняли. Нужно применять менее агрессивные но Синусоидо-Ориентированные Алгоритмы Архивации.

Что Флаком и назвали.

При этом если Архиватор что-то сжать не может. То он это прописывает как один в один. Поток данных без изменений.

А вот Компрессор Данных если что-то сжать не может. То он как бы право на совсем другой звук вместо исходного имеет. Или же на совсем другое изображения.

Что мы то и дело и видим. То у нас квадратики на экране, вместо плавных переходов. А то в звуке что-то булькает или шаркает.

***

Тут еще нужно сказать, что Теорема Котельникова сама по себе - это ведь тоже Компрессия выходит?

Ведь она о том, как уменьшить поток передаваемых данных, которые потом нужно будет восстановить, и при том в ней фигурирует уточнение "С заданной точностью".

Т.е. про Один в Один тут вроде как и речи нет. Есть речь о допустимых потерях.

А это чистой воды Компрессия.

***

Вот такие на сегодня дела.

Спасибо, что дочитали!