Фоpматы, используемые для пpедставления звука и музыки
В настоящее вpемя стандаpтом де-факто стали два фоpмата: Microsoft RIFF (Resource Interchange File Format - фоpмат файлов пеpедачи pесуpсов) Wave (.WAV) и SMF (Standard MIDI File - стандаpтный MIDI-файл) (.MID). Пеpвый содеpжит оцифpованный звук (моно/стеpео, 8/16 pазpядов, с pазной частотой оцифpовки), втоpой - "паpтитуpу" для MIDI-инстpументов (ноты, команды смены инстpументов, упpавления и т.п.). Поэтому WAV-файл на всех каpтах, поддеpживающих нужный фоpмат, pазpядность и частоту оцифpовки звучит совеpшенно одинаково (с точностью до качества пpеобpазования и усилителя), а MID-файл в общем случае - по-pазному. RAW - одноканальный фоpмат "чистой оцифpовки", не содеpжащий заголовка. Обычно оцифpовка хpанится в 16-pазpядном знаковом (signed) фоpмате, хотя могут быть и исключения. VOC и CMF - фоpматы пpедставления оцифpованного звука и паpтитуp от фиpмы Creative Labs, AIFF (Audio-...) - фоpмат звуковых файлов на Macintosh и SGI, AU - фоpмат SUN/NeXT. MOD - шиpоко pаспpостpаненный тpекеpный фоpмат. Содеpжит оцифpовки инстpументов и паpтитуpу для них, отчего звучит везде пpимеpно одинаково (опять же - с точностью до качества воспpоизведения). В оpигинале поддеpживаются четыpе канала, в pасшиpениях - до восьми и более. STM - фоpмат Scream Tracker, пpимеpно того же уpовня, что и MOD. S3M - фоpмат Scream Tracker 3. Развитие STM в стоpону увеличения pазpядности инстpументов и количества музыкальных эффектов. Сам ST3 поддеpживает до 32 каналов, но не поддеpживает пpедусмотpенных в фоpмате 16-pазpядных самплов. XM - фоpмат Fast Tracker. Один из наиболее высокоуpовневых сpеди тpекеpных фоpматов. Поддеpживаются 16-pазpядные самплы, один ин- стpумент может содеpжать pазличные самплы на pазные диапазоны нот, возможно задание амплитудных и паноpамных огибающих. MPEG: Общая информация Стандарт сжатия MPEG разработан Экспертной группой кинематографии (Moving Picture Experts Group - MPEG). MPEG это стандарт на сжатие звуковых и видео файлов в более удобный для загрузки или пересылки, например через интернет, формат.
Существуют разные стандарты MPEG (как их еще иногда называют фазы - phase): MPEG-1, MPEG-2, MPEG-3, MPEG-4, MPEG-7. MPEG состоит из трех частей: Audio, Video, System (объединение и синхронизация двух других). MPEG-1 По стандарту MPEG-1 потоки видео и звуковых данных передаются со коростью 150 килобайт в секунду -- с такой же скоростью, как и односкоростной CD-ROM проигрыватель -- и управляются путем выборки ключевых видео кадров и заполнением только областей, изменяющихся между кадрами. К несчастью, MPEG-1 обеспечивает качество видеоизображения более низкое, чем видео, передаваемое по телевизионному стандарту. MPEG-1 был разработан и оптимизирован для работы с разрешением 352 ppl (point per line -- точек на линии) * 240 (line per frame -- линий в кадре) * 30 fps (frame per second -- кадров в секунду), что соответствует скорости передачи CD звука высокого качества. Используется цветовая схема - YCbCr (где Y - яркостная плоскость, Cb и Cr - цветовые плоскости). Как MPEG работает: В зависимости от некоторых причин каждый frame (кадр) в MPEG может быть следующего вида: · I (Intra) frame - кодируется как обыкновенная картинка. · P (Predicted) frame - при кодировании используется информация от предыдущих I или P кадров. · B (Bidirectional) frame - при кодировании используется информация от одного или двух I или P кадров (один предшествующий данному и один следующий за ним, хотя может и не непосредственно, см. Рис.1) Последовательность кадров может быть например такая: IBBPBBPBBPBBIBBPBBPB... Последовательность декодирования: 0312645... Нужно заметить, что прежде чем декодировать B кадр требуется декодировать два I или P кадра. Существуют разные стандарты на частоту, с которой должны следовать I кадры, приблизительно 1-2 в секунду, соответствуюшие стандарты есть и для P кадров (каждый 3 кадр должен быть P кадром). Существуют разные относительные разрешения Y, Cb, Cr плоскостей (Таблица 1), обычно Cb и Cr кодируются с меньшим разрешением чем Y.
Для применения алгоритмов кодировки происходит разбивка кадров на макроблоки каждый из которых состоит из определенного количества блоков (размер блока - 8*8 пикселей). Количество блоков в макроблоке в разных плоскостях разное и зависит от используемого формата: Техника кодирования: Для большего сжатия в B и P кадрах используется алгоритм предсказания движения (что позволяет сильно уменьшить размер P и B кадров -- Таблица 2) на выходе которого получается: · Вектор смещения (вектор движения) блока который нужно предсказать относительно базового блока. · Разница между блоками (которая затем и кодируется). Так как не любой блок можно предсказать на основании информации о предыдущих, то в P и B кадрах могут находиться I блоки (блоки без предсказания движения).
Метод кодировки блоков (либо разницы, получаемой при методе предсказание движения) содержит в себе: · Discrete Cosine Transforms (DCT - дискретное преобразование косинусов). · Quantization (преобразование данных из непрерывной формы в дискретную). · Кодировка полученного блока в последовательность. DCT использует тот факт, что пиксели в блоке и сами блоки связаны между собой (т.е. коррелированны), поэтому происходит разбивка на частотные фурье компоненты (в итоге получается quantization matrix - матрица преобразований данных из непрерывной в дискретную форму, числа в которой являются величиной амплитуды соответствующей частоты), затем алгоритм Quantization разбивает частотные коэффициенты на определенное количество значений. Encoder (кодировщик) выбирает quantization matrix которая определяет то, как каждый частотный коэффициент в блоке будет разбит (человек более чувствителен к дискретности разбивки для малых частот чем для больших). Так как в процессе quantization многие коэффициенты получаются нулевыми то применяется алгоритм зигзага для получения длинных последовательностей нулей.
Звук в MPEG: Форматы кодирования звука деляться на три части: Layer I, Layer II, Layer III (прообразом для Layer I и Layer II стал стандарт MUSICAM, этим именем сейчас иногда называют Layer II). Layer III достигает самого большого сжатия, но, соответственно, требует больше ресурсов на кодирование. Принципы кодирования основаны на том факте, что человеческое ухо не совершенно и на самом деле в несжатом звуке (CD-audio) передается много избыточной информации. Принцип сжатия работает на эффектах маскировки некоторых звуков для человека (например, если идет сильный звук на частоте 1000 Гц, то более слабый звук на частоте 1100 Гц уже не будет слышен человеку, также будет ослаблена чувствительность человеческого уха на период в 100 мс после и 5 мс до возникновения сильного звука). Psycoacustic (психоакустическая) модель используемая в MPEG разбивает весь частотный спектр на части, в которых уровень звука считается одинаковым, а затем удаляет звуки не воспринимаемые человеком, благодаря описанным выше эффектам. В Layer III части разбитого спектра самые маленькие, что обеспечивает самое хорошее сжатие. MPEG Audio поддерживает совместимость Layer'ов снизу вверх, т.е. decoder (декодировщик) для Layer II будет также распознавать Layer I. Синхронизация и объединение звука и видео, осуществляется с помощью System Stream, который включает в себя: · Системный слой, содержащий временную и другую информацию чтобы разделить и синхронизовать видео и аудио. · Компрессионный слой, содержащий видео и аудио потоки. Видео поток содержит заголовок, затем несколько групп картинок (заголовок и несколько картинок необходимы для того, что бы обеспечить произвольный доступ к картинкам в группе в независимости от их порядка). Звуковой поток состоит из пакетов каждый из которых состоит из заголовка и нескольких звуковых кадров (audio-frame). Для синхронизации аудио и видео потоков в системный поток встраивается таймер, работающий с частотой 90 КГц (System Clock Reference -- SCR, метка по которой происходит увеличения временного счетчика в декодере) и Presentation Data Stamp (PDS, метка насала воспроизведения, вставляются в картинку или в звуковой кадр, чтобы объяснить декодеру, когда их воспроизводить. Размер PDS сотавляет 33 бита, что обеспечивает возможность представления любого временного цикла длинной до 24 часов).
Параметры MPEG-1 (Утверждены в 1992) Параметры Аудио: 48, 44.1, 32 КГц, mono, dual (два моно канала), стерео, интенсивное стерео (объединяются сигналы с частотой выше 2000 Гц.), m/s stereo (один канал переносит сумму - другой разницу). Сжатие и скорость передачи звука для одного канала, для частоты 32 КГц представлены в таблице.
Параметры Видео: в принципе с помощью MPEG-1 можно передавать разрешение вплоть до 4095x4095x60 fps (в этих границах кадр может быть произвольного размера), но так как существует Constrained Parameters Bitstream (CPB, неизменяемые параметры потока данных; другие стандарты для MPEG-1 поддерживаются далеко не всеми декодерами) которые ограничивают общее число макроблоков в картинке (396 для скорости <= 25 fps и 330 для скорости <= 30 fps) то MPEG-1 кодируется стандартом SIF /352*240*30 - (получено урезанием стандарта CCIR-601) или 352*288*25 - (урезанный PAL, SECAM) формат 4:2:0, 1.15 MBPS (мегабит в сек.), 8 bpp (бит на точку) - в каждой плоскости/. Существует более высокое разрешение для MPEG-1 - так называемый MPEG-1 Plus, разрешение как у MPEG-2 ML@MP (Main Level, Main Profile) - этот стандарт часто используется в Set-Top-Box для улучшения качества. MPEG2 - upgrade для MPEG1 Компрессия по стандарту MPEG-2 кардинально меняет положение вещей. Более 97% цифровых данных, представляющих видео сигнал дублируются, т.е. являются избыточными и могут быть сжаты без ущерба качеству изображения. Алгоритм MPEG-2 анализирует видеоизображение в поисках повторений, называемых избыточностью. В результате процесса удаления избыточности, обеспечивается превосходное видеоизображение в формате MPEG-2 при более низкой скорости передачи данных. По этой причине, современные средства поставки видеопрограмм, такие как цифровые спутниковые системы и DVD, используют именно стандарт MPEG-2. Изменения в Audio: · Появились новые виды частот 16, 22.05, 24 КГц. · Поддержка многоканальности - возможность иметь 5 полноценных каналов (left, center, right, left surround, right surround) + 1 низкочастотный (subwoofer). · Появился AAC (Advanced Audio Coding - прогрессивное кодирование звука) стандарт - обеспечивает очень высокое качество звука со скоростью 64 kbps per channel (килобит в сек. на канал), возможно использовать 48 основных каналов, 16 низкочастотных каналов для звуковых эффектов, 16 многоязыковых каналов и 16 каналов данных. До 16 программ может быть описано используя любое количество элементов звуковых и других данных. Для AAC существуют три вида профиля - Main (используется когда нет лишней памяти), Low Complexity (LC), Scalable Sampling Rate (SSR, требуется декодер с изменяемой скоростью приема данных).
Декодеры должны быть: 1. " forwards compatible " (вперед совместимыми) - MPEG-2 Audio Decoder понимает любые MPEG-1 аудио каналы. 2. " backward compatible " (обратно совместимыми) - MPEG-1 Audio Decoder должен понимать ядро MPEG-2 Audio (L-канал, R-канал) 3. " matrixing " (матрицируемыми) - MPEG1 Audio Decoder должен понимать 5-ти канальный MPEG-2 (L = left signal + a * center signal + b * left surround signal, R = right signal + a * center signal + b * right surround signal) 4. MPEG-1 Звуковой декодер не обязан понимать MPEG-2 AAC. В следствии зтого совершенно спокойно можно использовать MPEG-1 Vidio + MPEG-2 Audio или наоборот MPEG-2 Audio + MPEG-1 Video. Изменения в Видео: · Требуется чтобы разрешение по вертикали и горизонтали было кратно 16 в кодировщике кадров (frame-encoder) стандартах (покадровое кодирование), и 32 по вертикали в кодировщике полей (field-encoder, каждое поле состоит из двух кадров) стандартах (interlaced video). · Возможность форматов 4:4:4, 4:2:2 (Next profile). · Введены понятия Profile (форма, профиль) и Levels (уровни). · Размер frame до 16383*16383. · Возможность кодировать interlaced video. · Наличие режимов масштабирования (Scalable Modes) · Pan&Scanning вектор (вектор панорамировани и масштабирования), который говорит декодеру как преобразовывать, например 16:9 в 4:3. Изменения связаные с алгоритмами кодирования: · Точность частотных коэффициентов выбирается пользователем (8, 9, 10, 11 бит на одно значение -- в MPEG-1 только 8 бит). · Нелинейный quantization процесс (разбиение непрерыных данных в дискретные). · Возможность загрузить quantization matrix (матрица преобразований непрерыных данных в дискретные) перед каждым кадром. · Новые режимы предсказания движения (16x8 MC, field MC, Dual Prime) Scalable Modes (доступно только в Next и Main+ Profile) делят MPEG-2 на три слоя (base, middle, high) для того чтобы организовать уровни приоритета в видеоданных (на пример более приоритетный канал кодируется с большим количеством информации по коррекции ошибок чем менее): 1. Spatial scalability (пространственное масштабирование) - основной слой кодируется с меньшим разрешением и затем он используется как предсказание для более приоритетных. 2. Data Partitioning (дробление данных) - разбивает блок из 64 quantization коэффициентов в два потока из которых более приоритетный переносит низкочастотные (наиболее критичные к качеству), а менее приоритетный (высокочастотные). 3. SNR (Signal to Noise Ratio) Scalability (масштабировние соотношения сигна/шум) - каналы кодируются с одинаковой скоростью, но с разным качеством (менее приоритетный слой содержит плохую картинку - более дискретные шаги, а высокоприоритетный слой содержит довесок позволяющий построить качественную картинку) 4. Temporal Scalability (временное масштабирование) - менее приоритетный слой содержит канал с низкой скоростью передачи кадров, а высокоприоритетный содержит информацию позволяющую восстановить промежуточные кадры используя для предсказания менее приоритетные. Уровни
Профили
Допустимые комбинации Профилей и Уровней
Наиболее популярные стандарты.
Системный уровень MPEG-2, обеспечивает два уровня объединения данных: 1. Packetized Elementary Stream (PES) - разбивает звук и видео на пакеты. 2. Второй уровень делится на: · MPEG-2 Program Stream (совместим с MPEG-1 System) - для локальная передача в среде с маленьким уровнем ошибок · MPEG-2 Transport Stream (Рис. 6) - внешнее вещание в среде с высоким уровнем ошибок - передает транспортные пакеты (длиной 188 либо 188+16 бит) двух типов (сжатые данные -- PES -- и сигнальную таблицу Program Specific Information -- PSI). MPEG-3 - ненужный формат Был разработан для HDTV приложений с параметрами - максимальное разрешение (1920*1080*30), скорость 20 - 40 Mbps. Так как он не давал принципиальных улучшений по сравнению с MPEG-2 (да и к тому же MPEG-2 стал широко использоваться в разных вариантах, в том числе и для HDTV), то он благополучно вымер. MPEG-4 - очень мощный формат MPEG-4 - стандарт для низкоскоростной передачи (64 kbps), находящийся еще в стадии разработки. Первую версию планировалось закончить в 1999 году. Краткое описание: · Разделяет картинку на различные элементы, называемые media objects (медиа объекты). · Описывает структуру этих объектов и их взаимосвязи чтобы затем собрать их в видеозвуковую сцену. · Позволяет изменять сцену, что обеспечивает высокий уровень интерактивности для конечного пользователя. Видеозвуковая сцена состоит из медиа объектов, которые объеденены в иархическую структуру: · Неподвижные картинки (например фон) · Видио объекты (говорящий человек). · Аудио объекты (голос связанный с этим человеком). · Текст связанный с данной сценой. · Синтетические объекты - объекты которых не было изначально в записываемой сцене, но которые туда добавляются при демонстрации конечному пользователю (например синтезируется говорящая голова). · Текст связанный с головой из которого в конце синтезируется голос. Такой способ представления данных позволяет: · Перемещать и помещать медиа объекты в любое место сцены. · Трансформировать объекты, изменять геометрические размеры. · Собирать из отдельных объектов составной объект и проводить над ним какие-нибудь операции. · Изменять текстуру объекта (например цвет), манипулировать объектом (заставить ящик передвигаться по сцене) · Изменять точку наблюдения за сценой. MPEG-J MPEG-J - стандартное расширение MPEG-4 в котором используются Java - элементы. MPEG-7 MPEG-7 - не является продолжение MPEG как такового - стал разрабатываться сравнительно недавно, планируется его закончить к 2001 г. MPEG - 7 будет обеспечивать стандарт для описания различных типов мультимедийной информации (а не для ее кодирования), чтобы обсепечивать эффективный и быстрый ее поиск. MPEG-7 официально называют - "Multimedia Content Description Interface" (Интерфейс описания мультимедиа данных). MPEG-7 определяет стандартный набор дискриптеров для различных типов мультимедиа информации, так же он стандартизует способ определения своих дискриптеров и их взаимосвязи (description schemes). Для этой цели MPEG-7 вводит DDL (Description Definition Language - язык описания определений). Основная цель применения MPEG-7 это поиск мультимедиа информации (так же как сейчас мы можем найти текст по какому-нибудь предложению), например: · Музыка. Сыграв несколько нот на клавиатуре можно получить список музыкальных произведений, которые содержат такую последовательность. · Графика. Нарисовав несколько линий на экране, получим набор рисунков содержащих данный фрагмент. · Картины. Определив объект (задав его форму и текстуру) получим список картин, содержащих оный. · Видео. Задав объект и движение получим набор видео или анимации. · Голос. Задав фрагмент голоса певца, получим набор песен и видео роликов где он поет. MHEG MHEG - (Multimedia & Hypermedia Expert Group -- экспертная группа по мультимедиа и гипермедиа) - определяет стандарт для обмена мультимедийными объектами (видео, звук, текст и другие произвольные данные) между приложениями и передачи их разными способами (локальная сеть, сети телекоммуникаций и вещания) с использованием MHEG object classes. Он позволяет программным объектам включать в себя любую систему кодирования (например MPEG), которая определена в базовом приложении. MHEG был принят DAVIC (Digital Audio-Visual Council -- совет по цифровому видео и звуку). MHEG объекты делаются мультимедиа приложениями используя multimedia scripting languages. Утверждается, что MHEG - будущий международный стандарт для интерактивного TV, так как он работает на любых платформах и его документация свободно распространяема. Что такое MP3? MP3 -- сокращение от MPEG Layer3. Это один из потоковых форматов хранения и передачи аудиосигнала в цифровой форме, разработанный Fraunhofer IIS и THOMSON, позднее утвержденный как часть стандартов сжатого видео и аудио MPEG1 и MPEG2. Данная схема является наиболее сложной схемой семейства MPEG Layer 1/2/3. Она требует наибольших затрат машинного времени для кодирования по сравнению с двумя другими и обеспечивает более высокое качество кодирования. Используется главным образом для передачи аудио в реальном времени по сетевым каналам и для кодирования CD Audio. Полные спецификации формата доступны на сайте http://www.mp3tech.org/. Детали MP3 -- потоковый формат. Это означает, что передача данных происходит потоком независимых отдельных блоков данных -- фреймов. Для этого исходный сигнал при кодировании разбивается на равные по продолжительности участки, именуемые фреймами и кодируемые отдельно. При декодировании сигнал формируется из последовательности декодированных фреймов. Высокая степень компактности MP3 по сравнению с PCM 16Bit Stereo 44.1kHz (CD Audio) и ему подобными форматами при сохранении аналогичного качества звучания достигается с помощью дополнительного квантования по установленной схеме, позволяющей минимизировать потери качества. Последнее, в свою очередь, достигается учетом особенностей человеческого слуха, в том числе эффекта маскирования слабого сигнала одного диапазона частот более мощным сигналом соседнего диапазона, когда он имеет место, или мощным сигналом предыдущего фрейма, вызывающего временное понижение чувствительности уха к сигналу текущего фрейма. Также учитывается неспособность большинства людей различать сигналы, по мощности лежащие ниже определенного уровня, разного для разных частотных диапазонов. Подобные техники называются адаптивным кодированием и позволяют экономить на наименее значимых с точки зрения восприятия человеком деталях звучания. Степень сжатия, и, соответственно, объем дополнительного квантования, определяются не форматом, а самим пользователем в момент задания параметров кодирования. Ширина потока (bitrate) про кодировании сигнала, аналогичного CD Audio (44.1kHz 16Bit Stereo) варьируется от наибольшего, 320kbs (320 килобит в секунду, также пишут kbs, kbps или kb/s), до 96kbs и ниже. Термин битрейт в общем случае обозначает общую величину потока, количество передаваемой за единицу времени информации, и поэтому не связан с внутренними тонкостями строения потока, его смысл не зависит от того, содержит ли поток моно или стерео, или пятиканальное аудио с текстом на разных языках, или что-либо еще На проведенных тестах специально приглашенные опытные эксперты, специализирующиеся на субъективной оценке качественности звучания, не смогли различить звучание оригинального трека на CD и закодированного в MP3 с коэффициентом сжатия 6:1, то есть с битрейтом в 256kbs. Правда, тесты были проведены на небольшом количестве материала, и на самом деле не все столь хорошо, нередко бывает действительно нужно пользоваться 320kbs. Более низкие битрейты, несмотря на их популярность, не дают возможности обеспечить надлежащее качество кодирования, что незаслуженно обеспечило MP3 дурную славу любительского формата. На самом деле, хотя и 256kbs, и даже 320kbs тоже не дают возможности осуществить полностью прозрачное кодирование, но отличия от CD Audio, по которому кодируется тестовый MP3, сравнимы с отличиями самого CD Audio от исходного аналогового сигнала, из которого он был получен путем оцифровки. То есть потери, конечно, есть, но несущественны с точки зрения того, кому качество CD Audio представляется достаточным. Фактически, их обнаружение обычно является задачей нетривиальной на аппаратуре класса Hi-Fi. Настоящее и будущее MP3 MP3 на сегодня имеет два огромных преимущества перед другими Для MP3 также написано множество удобного программного обеспечения. Этот факт отражает второе, не менее важное преимущество -- на ближайшие годы, а возможно, и на все десятилетие, MP3 стал стандартом де факто, настолько много сделано в него вложений пользующимися им сторонами, в том числе и цифровыми радиостанциями. MP3 довольно долго оставался неизвестным, но несколько лет назад начался взрывной рост его популярности, столь же быстро начали появляться Несмотря на то, что MP3 появился достаточно давно, более новые форматы, претендующие на его место, появившиеся к настоящему моменту, все на поверку оказались любительскими. Они могут быть или не быть хороши по сравнению с MP3 на низких битрейтах, это зависит от трека и особенностей слуха конкретного человека, но на место MP3 256kbs... 320kbs претендовать не способны. Возможно, "монополия" MP3 в сфере компьютеров на низких битрейтах все же будет отчасти сломлена новым форматом от Microsoft -- WMA. Но пока рано говорить об этом. С другой стороны, появление Microsoft на данном рынке со столь сильной разработкой означает быстрое отсеивание оказавшимися неудачными ветвей AAC и VQF. Впрочем, остается надежда, что AAC еще будет доработан. В завершение упомяну один адрес, по которому расположился проект по созданию свободного от патентных ограничений кодера -- http://www.sulaco.org/mp3/free.html. Правда, патентов вокруг MP3 накопилось столько, что, думаю, проект этот завершен не будет. (Впрочем, если говорить о свободных от патентах аудиокодерах вообще, то существует и более реальный проект, не являющийся проектом MP3 кодера. Он расположен по адресу http://www.xiph.org/.) Описание процесса кодирования Подготовка к кодированию. Фреймовая структура Перед кодированием исходный сигнал разбивается на участки, называемые фреймами, каждый из которых кодируется отдельно и помещается к конечном файле независимо от других. Последовательность воспроизведения определяется порядком расположения фреймов. Каждый фрейм может кодироваться с разными параметрами. Информация о них содержится в заголовке фрейма. Начало кодирования Кодирование начинается с того, что исходный сигнал с помощью фильтров разделяется на несколько, представляющих отдельные частотные диапазоны, сумма которых эквивалентна исходному сигналу. Работа психоакустической модели Для каждого диапазона определяется величина маскирующего эффекта, создаваемого сигналом соседних диапазонов и сигналом предыдущего фрейма. Если она превышает мощность сигнала интересующего диапазона или мощность сигнала в нем оказывается ниже определенного опытным путем порога слышимости, то для данного фрейма данный диапазон сигнала не кодируется. Для оставшихся данных для каждого диапазона определяется, сколькими битами на сэмпл мы можем пожертвовать, чтобы потери от дополнительного квантования были ниже величины маскирующего эффекта. При этом учитывается, что потеря одного бита ведет к внесению шума квантования величиной порядка 6 dB. Завершение кодирования После завершения работы психоакустической модели формируется итоговый поток, который дополнительно кодируется по Хаффману, на этом кодирование завершается. Замечание На практике схема несколько сложнее. Например, необходимо согласовываться с требованиями битрейта. В зависимости от кодера это приводит при повышении битрейта к разного рода релаксациям при отборе сохраняемой части исходного сигнала, а при понижении -- наоборот, к ужесточению критериев. Способы кодирования стерео сигнала В рамках MP3 кодирование стереосигнала допустимо четырьмя различными методами: Dual Channel -- Каждый канал получает ровно половину потока и кодируется отдельно как моно сигнал. Рекомендуется главным образом в случаях, когда разные каналы содержат принципиально разный сигнал -- скажем, текст на разных языках. Выставляется в некоторых кодерах по требованию. Stereo -- Каждый канал кодируется отдельно, но кодер может принять решение отдать одному каналу больше места, чем другому. Это может быть полезно в том случае, когда после отброса части сигнала, лежащей ниже порога слышимости или полностью маскируемой, оказалось, что код не полностью заполняет выделенный для данного канала объем, и кодер имеет возможность использовать это место для кодирования другого канала. В документации к mp3enc замечено, что этим, например, избегается кодирование "тишины" в одном канале, когда в другом есть сигнал. Данный режим выставлен по умолчанию в большинстве ISO-based кодеров, а также используется продукцией FhG IIS на битрейтах выше 192kbs. Применим и на более низких битрейтах порядка 128kbs... 160kbs. Joint Stereo (MS Stereo) -- Стереосигнал раскладывается на средний между каналами и разностный. При этом второй кодируется с меньшим битрейтом. Это позволяет несколько увеличить качество кодирования в обычной ситуации, когда каналы по фазе совпадают. Но приводит и к резкому его ухудшению, если кодируются сигналы, по фазе не совпадающие. В частности, фазовый сдвиг практически всегда присутствует в записях, оцифрованных с аудиокассет, но встречается и на CD, особенно если CD сам был записан в свое время с аудиоленты. С другой стороны, уже совершена (первая?) попытка написать программу для автоматической коррекции фазового сдвига, адрес страницы автора -- http://www.chat.ru/~lrsp. Возможно, она немного поможет любителям кодировать оцифровки с аудиокассет с битрейтом порядка 128kbs. Режим выставлен по умолчанию продукцией FhG IIS, а также кодером Lame, для битрейтов от 112kbs до 192kbs. Joint Stereo (MS/IS Stereo) -- Вводит еще один метод упрощения стереосигнала, повышающий качество кодирования на особо низких битрейтах. Состоит в том, что для некоторых частотных диапазонов оставляется уже даже не разностный сигнал, а только отношение мощностей сигнала в разных каналах. Понятно, для кодирования этой информации употребляется еще меньший битрейт. В отличие от всех предыдущих, этот метод приводит к потере фазовой информации, но выгоды от экономии места в пользу среднего сигнала оказываются выше, если речь идет о очень низких битрейтах. Этот режим по умолчанию используется продукцией FhG IIS для высоких частот на битрейтах от 96kbs и ниже (другими качественными кодерами этот режим практически не используется). Но, как уже говорилось, при применении данного режима происходит потеря фазовой информации, также теряется любой противофазный сигнал. Простые заблуждения и ошибки, делаемые пользователями MP3 Вокруг MP3 набралось столько заблуждений, что создается впечатление, что так все и было задумано, что это чей-то заговор.:) Но -- по порядку. Одно из самых больших заблуждений, связанных с MP3, постоянно проявляется в споре "128kbs vs 256kbs -- с каким битрейтом кодировать". Аргументы сторонников первого варианта исчерпываются напоминанием, что такие MP3 вдвое меньше. Утверждение, что уж лучше держать CD Audio вместо MP3 256kbs, несостоятельно -- качество MP3 256kbs... 320kbs практически сответствует оригиналу, а занимаемый объем в 4.5--6 раз меньше. Заблуждение же состоит в том, что и 128kbs дает достаточно высокое качество. На самом же деле для людей, сознательно выбирающих 128kbs, сохранение близкого к исходному качества просто не является слишком важным, так как их аппаратура обычно не лучше плееров -- "мыльниц;". В то же время многие владельцы CD кодируют их в MP3 даже просто потому, что гораздо реже нужно CD менять - на моем 8Gb винчестере поместится более пятидесяти часов музыки в MP3 битрейта 320kbs. Как говорится, в этом случае мотивы пользователей 128kbs нам непонятны. Чтобы не суметь отличить MP3 128kbs от оригинала, нужно либо не иметь слуха, либо взять аппаратуру похуже. И то, что на большинстве компьютерных систем с момента покупки стоит ужасно шумная звуковая плата от ESS, известно всем хорошо. Только мне с некоторых пор кажется, что дело еще и в постоянном отравлении некачественным звуком, и, как следствие, временной (но постоянно возобновляемой) потере чувствительности. Мы слишком часто слушаем то, что слушать не стоило бы, и дело не только характеристиками компьютерной техники -- MP3 128kbs при нормальном слухе не понравится и на ESS. Конечно, по сравнению с дребезгом колонок уличного киоска под аккомпанемент трамвая звучание MP3 128kbs может казаться весьма неплохим, но это не нормально. А что до карты -- простая малошумная карта и относительно приличные наушники стоят не так уж много. Поэтому в обзоре не учитываются шумы компьютера и карты -- эти трудности вполне преодолимы. Другое небольшое заблуждение состоит в том, что уровень шумов декодированного сигнала сильно связан с уровнем качества MP3. Но это заблуждение развевается очень быстро -- заметить, что качество MP3 зависит от других причин, легче легкого. Как правило, уровень шумов очень низок на любых битрейтах, это скорее характеристика плеера. Кроме того, в большинстве учебников прямо говорится о неспособности человека слышать частоты выше 16kHz. Но во-первых, это просто неверно, многое зависит от мощности сигнала и от возраста слушателя. Во-вторых, человек -- существо, не лишенное оригинальности. Даже когда он не слышит такие звуки с помощью уха осознанно, он все же ощущает их. И это влияет на восприятие. Поэтому обрезание частот выше 16kHz можно считать обоснованным на низких битрейтах, когда оно позволяет намного лучше закодировать более низкие диапазоны, но нельзя не брать в расчет, когда речь заходит о высоких битрейтах, приближающих качество сигнала к уровню CD Audio. Да, кстати, у детей частотный порог слышимости куда выше 16kHz. Немного о програмах Новых пользователей в заблуждение вводит повсеместная реклама очень продаваемых, но в то же время очень по сравнению с другими посредственных кодеров от XingTech. По поводу их недостатков я еще пройдусь ниже. На втором месте по объему рекламы мы видим кодеры от самого уважаемого производителя, FhG IIS, но они тоже обладают определенными недостатками, к тому же дороги, поэтому дешевые и быстрые кодеры от XingTech сегодня на вершине популярности. Но недостатки кодеров от FhG IIS в основном связаны со слабыми возможностями настройки и концентрацией усилий разработчиков на низких битрейтах. Если FhG IIS будет с того коммерческая выгода, то специалисты быстро все поправят. О третьей группе кодеров, основанных на свободно доступном исходном коде написанного в иллюстративных целях кодера от ISO, также будет сказано ниже. Из плееров же, как не составляет труда заметить, наиболее популярен и раскручен плеер Winamp. Еще недавно он не блистал высоким качеством звука, да и сейчас снова не блещет, но недавно на протяжении нескольких версий в нем использовался декодер от FhG IIS, и при условии его установки (например, из версии 2.22) вопрос с выбором плеера практически отпадает. Кроме того, есть и другие хорошие плееры, могущие поспорить в Winamp, некоторые из них упомянуты во второй части обзора. Кроме плееров и кодеров, к программам, связанным с MP3, относят и грабберы -- копировщики треков с CD в WAV-файлы. Немного о некоторых битрейтах Чем выше битрейт, тем выше оказывается качество закодированного сигнала. Но каждый битрейт имеет свою сферу применения. Профессионалы, аудиофилы, а также все, кто заботится о создании качественной копии, вполне соответствующей про качеству оригиналу, применяют только вы<
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|