FLAC

FLAC

FLAC (англ. Free Lossless Audio Codec) — популярный свободный кодек, предназначенный для сжатия аудиоданных без потерь.

В отличие от аудио-кодеков, обеспечивающих сжатие с потерями (MP3, AAC, WMA, OGG Vorbis) FLAC, как и любой другой lossless-кодек, не удаляет никакой информации из аудиопотока и подходит как для прослушивания музыки на высококачественной звуковоспроизводящей аппаратуре, так и для архивирования аудиоколлекции.

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

Метаданные

По состоянию на 10.03.2010 в libflac-1.2.1 определены следующие типы блоков: StreamInfo, Padding, Application, SeekTable, VorbisComment, CueSheet, Picture, Unknown. Блоки метаданных могут быть любого размера, новые блоки могут быть легко добавлены. Декодер пропускает неизвестные ему блоки метаданных.

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

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

Точное описание структур стандартных блоков можно найти в файле format.h библиотеки libflac, доступной с сайта формата.
Аудиоданные

За метаданными следуют сжатые аудиоданные. Метаданные и аудиоданные не чередуются. Как и большинство кодеков, FLAC делит входной поток на блоки и кодирует их независимо друг от друга. Блок упаковывается во фрейм и добавляется к потоку. Базовый кодер использует блоки постоянного размера для всего потока, однако формат предусматривает наличие блоков разной длины в потоке.
Разбиение на блоки

Размер блока — очень важный параметр для кодирования. Если он очень мал, то в потоке будет слишком много заголовков фреймов, что уменьшит уровень сжатия. Если размер большой, то кодер не сможет подобрать эффективную модель сжатия. Понимание процесса моделирования поможет Вам увеличить уровень сжатия для некоторых типов входных данных. Обычно при использовании линейного прогнозирования на аудиоданных с частотой дискретизации 44.1 кГц оптимальный размер блока лежит в диапазоне 2-6 тысяч семплов.
Межканальная декорреляция

Если на вход поступают стерео аудиоданные, они могут пройти через стадию межканальной декорреляции. Правый и левый канал преобразуются к среднему и разностному по формулам: средний = (левый + правый)/2, разностный = левый — правый. В отличие от joint stereo, используемом в lossy кодерах, в lossless кодировании этот процесс не приводит к потерям. Для данных с аудио компакт-дисков это обычно приводит к значительному увеличению уровня сжатия.
Моделирование

На следующем этапе кодер пытается аппроксимировать сигнал такой функцией, чтобы полученный после её вычитания из оригинала результат (называемый разностью, остатком, ошибкой) можно было закодировать минимальным количеством битов. Параметры функций тоже должны записываться, поэтому они не должны занимать много места. FLAC использует два метода формирования аппроксимаций:

подгонка простого полинома к сигналу
общее кодирование с линейными предикторами (LPC).

Во-первых, постоянное полиномиальное предсказание (-l 0) работает значительно быстрее, но менее точно, чем LPC. Чем выше порядок LPC, тем медленнее, но лучше будет модель. Однако с увеличением порядка выигрыш будет все менее значительным. В некоторой точке (обычно около 9) процедура кодера, определяющая наилучший порядок, начинает ошибаться и размер получаемых фреймов возрастает. Чтобы преодолеть это, можно использовать полный перебор, что приведёт к значительному увеличению времени кодирования.

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

Когда модель подобрана, кодер вычитает приближение из оригинала, чтобы получить остаточный (ошибочный) сигнал, который затем кодируется без потерь. Для этого используется то обстоятельство, что разностный сигнал обычно имеет распределение Лапласа и есть набор энтропийных кодов, называемый кодами Райса, позволяющий эффективно и быстро кодировать эти сигналы без использования словаря.

Кодирование Райса состоит из нахождения одного параметра, отвечающего распределению сигнала, а затем использования его для составления кодов. При изменении распределения меняется и оптимальный параметр, поэтому имеется метод позволяющий пересчитывать его по необходимости. Остаток может быть разбит на контексты или разделы, у каждого из которых будет свой параметр Райса. FLAC позволяет указать, как нужно производить разбиение. Остаток может быть разбит на 2n разделов.
Составление фреймов

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

Чтобы поддерживать основные типы метаданных, базовый декодер умеет пропускать теги ID3v1 и ID3v2, поэтому их можно свободно добавлять. Теги ID3v2 должны располагаться перед маркером «FLAC», а теги ID3v1 — в конце файла.

Существуют модификации FLAC кодера: Improved FLAC encoder и Flake.

29 января 2003 г. Xiphophorus (сейчас называется Xiph.Org Foundation) анонсировали включение формата FLAC в линейку своих продуктов: OGG Vorbis, Theora и Speex.

Аппаратно поддерживается во многих устройствах. Среди них:

    XML error in File: https://www.tricolor.tv/rss/

    XML error: error parsing attribute name at line 236

Футбол

Італія. Серія А, 29 тур
17 березня 2024
13:30 Ювентус Ювентус 0:0 ДженоаДженоа
Франція. Ліга 1, 26 тур
17 березня 2024
14:00 Брест Брест 1:1 ЛілльЛілль
Кубок Англїї, 1/4 фіналу
17 березня 2024
14:45 Челсі Челсі 4:2 ЛестерЛестер
Іспанія. Ла Ліга, 29 тур
17 березня 2024
15:00 Севілья Севілья 1:2 СельтаСельта
Франція. Ліга 1, 26 тур
17 березня 2024
16:00 Реймс Реймс 2:1 МецМец
16:00 Монако Монако 2:2 ЛорьянЛорьян
16:00 Клермон Клермон 2:1 ГаврГавр
Англія. Прем'єр-ліга, 29-й тур
17 березня 2024
16:00 Вест Гем Вест Гем 1:1 Астон ВіллаАстон Вілла
Італія. Серія А, 29 тур
17 березня 2024
16:00 Верона Верона 1:3 МіланМілан
Німеччина. Бундесліга, 26 тур
17 березня 2024
16:30 Фрайбург Фрайбург 2:3 Баєр ЛеверкузенБаєр Леверкузен
Іспанія. Ла Ліга, 29 тур
17 березня 2024
17:15 Лас-Пальмас Лас-Пальмас 0:1 АльмеріяАльмерія
17:15 Вільярреал Вільярреал 1:0 ВаленсіяВаленсія
Кубок Англїї, 1/4 фіналу
17 березня 2024
17:30 Манчестер Юнайтед Манчестер Юнайтед 4:3 ЛіверпульЛіверпуль
Франція. Ліга 1, 26 тур
17 березня 2024
18:05 Ренн Ренн 2:0 МарсельМарсель
Німеччина. Бундесліга, 26 тур
17 березня 2024
18:30 Боруссія Дортмунд Боруссія Дортмунд 3:1 Айнтрахт ФранкфуртАйнтрахт Франкфурт
Італія. Серія А, 29 тур
17 березня 2024
19:00 Рома Рома 1:0 СассуолоСассуоло
Іспанія. Ла Ліга, 29 тур
17 березня 2024
19:30 Райо Вальєкано Райо Вальєкано 2:0 Реал БетісРеал Бетіс
Франція. Ліга 1, 26 тур
17 березня 2024
21:45 Монпельє Монпельє 2:6 ПСЖПСЖ
Італія. Серія А, 29 тур
17 березня 2024
21:45 Інтер Інтер 1:1 НаполіНаполі
Іспанія. Ла Ліга, 29 тур
17 березня 2024
22:00 Атлетіко Атлетіко 0:3 БарселонаБарселона

Обновлено: 11:48 19.03.2024

Телепрограмма

СТБ
11:35 - Т/с "Агенты справедливости", 7 сезон, 74 с.
12:35 - Т/с "Агенты справедливости", 7 сезон, 75 с.
13:30 - "Слепая". Неудачный отдых.
14:05 - "Слепая". Последняя просьба.
Sport 1
10:00 - Баскетбол. Чемпионат Австралии. НБЛ. Финал. Мельбурн - Тасмания ДжекДжамперс. Матч 1.
11:50 - Хоккей. Чемпионат Украины. 1/2 финала. Кременчуг - Днепр. Матч 7.
14:10 - Конькобежный спорт. Чемпионат мира в многоборье в Инцелле, Германия. День 1.
17:00 - Баскетбол. Чемпионат Испании. АБК Лига. Уникаха - Реал.
ICTV
11:00 - "Единые новости". Телемарафон.
12:00 - "Единые новости". Телемарафон.
13:00 - "Единые новости". Телемарафон.
14:00 - "Единые новости". Телемарафон.
Кинопремьера
11:30 - Х/ф "Петрополис".
13:20 - Х/ф "Гром: Трудное детство".
14:45 - Х/ф "Банды Парижа".
16:20 - Х/ф "Развод в стиле кунг-фу".
Вся телепрограмма

Мы в Вконтакте

Мы в Facebook

Голосование

Чего не хватает на сайте?

Обзоров ресиверов
Списка каналов на спутниках
Нормального каталога установщиков
Модераторов
Новых тем
Раздач и конкурсов
Интересных новостей
Всего хватает wink

Случайное фото

Sat-integral club

Платная шара

Цитата: sir.floyd от Сегодня в 14:08:08https://2ip.ru/lookup/ сервер впиши и узнаеш то я ж незнаю, ...

Платная шара

Цитата: банан от 09 Февраля 2024, 21:33:11а можна поцікавитись адресами серверів для шарінга ? (не ...

ПО Sat-Integral S-1432 HD COMBO/S-1412 HD ROCKET версии 1.31/1.85

Цитата: Nikolast 27 от Вчера в 16:47:51Доброго дня.На астрі зараз всіх не працюють канали чи тільки ...

Безкоштовний плейлист IPTV

Цитата: vviktorgygo от Вчера в 17:13:11- все получится если ты не очень бухой... знайшов там кучу ...

ПО Sat-Integral S-1432 HD COMBO/S-1412 HD ROCKET версии 1.31/1.85

Цитата: Михайло82 от Вчера в 18:51:17На каналах еко ТВ,юа WORLD,Espresso,Milady,включають канал за ...

PHP: mail() через внешние SMTP msmtp

Ситуация следующая. ...

webhook telegram Read timeout expired

Вы выполняете ...