Мегаобучалка Главная | О нас | Обратная связь


Кодирование изображения



2015-12-04 862 Обсуждений (0)
Кодирование изображения 0.00 из 5.00 0 оценок




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

Для понимания сути видеосистем проще всего начать с простого старомодного черно-белого телевидения. Чтобы представить находящееся перед ней двумерное изображение в виде одномерного электрического сигнала, являющегося функцией времени, камера очень быстро сканирует электронным лучом строку изображе­ния и медленно опускает луч вниз, записывая интенсивность света по мере про­хождения луча. В конце сканирования так называемогокадра луч возвращается в исходную точку. Эта интенсивность как функция времени передается по каналу, и приемные устройства повторяют процесс сканирования для реконструкции изо­бражения. Схемы сканирования, используемые как камерой, так и приемником, показаны на рис. 7.3. (Между прочим, камеры на ПЗС-матрице сводят воедино, а не сканируют изображение, но некоторые камеры и электронно-лучевые мониторы осуществляют сканирование.)

Конкретные параметры сканирования для разных стран разные. В системе NTSC используется 525 строк, соотношение горизонтальной и вертикальной сто­рон 4:3 и 30 (реально 29,97) кадров в секунду. Европейские системы PAL и SECAM используют 625 строк, такое же соотношение сторон 4:3 и 25 кадров в секунду. В обеих системах несколько верхних и нижних строк не отображаются (чтобы при­способить прямоугольное изображение к изначально круглым электронно-лучевым трубкам). В NTSC отображаются только 483 строк из 525 (а в PAL/SECAM — толь­ко 576 строк из 625).

 
 

 


Хотя для записи плавного движения вполне достаточно 25 кадров в секунду, при такой частоте смены кадров многие, особенно пожилые люди ощущают мерцание изображения, связанное с тем, что сетчатка глаза у них успевает восстановить свою чувствительность, прежде чем появляется новый кадр. Вместо увеличения частоты кадров, для которого потребуется компенсировать недостаток пропускной способ­ности каналов, был предпринят иной подход. Вместо формирования сверху вниз построчного изображения, сначала отображаются все четные, а затем все нечетные строки. Каждый из этих полукадров называетсяполем. Эксперименты показали, что люди, замечающие мерцание при 25 кадрах в секунду, при частоте смены кадров в 50 кадров в секунду его уже не замечают. Эта технология называетсячересстроч­ной разверткой. Теле- и видеосистемы, не использующие чересстрочной развертки, называютсяпрогрессивными.

В цветном телевидении используется та же схема развертки, что и в черно- белом, за исключением того, что вместо отображения картинки одним движущимся лучом она формируется тремя синхронно движущимися лучами по одному для каждого из первичных дополняющих друг друга цветов: красного, зеленого и синего (red, green и blue — RGB). Работа этой технологии обеспечивается тем, что любой цвет может быть сформирован из линейного наложения красного, зеленого и синего цветов соответствующей интенсивности. Но для передачи по одному каналу три сигнала цветности должны быть сведены в один композитный сигнал.

Чтобы цветную передачу можно было смотреть на черно-белых телевизорах во всех трех системах, RGB-сигналы линейно сводятся в сигналяркости и два сигналацветности, хотя для формирования этих сигналов из сигналов RGB у них используются различные коэффициенты. Как ни странно, человеческий глаз го­раздо более чувствителен к изменению сигнала яркости, чем к изменению сигнала цветности, поэтому последний не обязательно передавать с такой же точностью. Поэтому сигнал яркости может передаваться с той же частотой, как и старый черно- белый сигнал, и он может приниматься на черно-белых телевизорах. Два сигнала цветности передаются в узком диапазоне на более высоких частотах. У некоторых телевизоров имеются раздельные регуляторы яркости, цветности и насыщенности. Понятия яркости и цветности необходимы для понимания принципов сжатия видеоинформации.

До сих пор речь у нас шла об аналоговом видео. Теперь обратимся к цифровому видео. Простейшим представлением цифрового видео является последовательность кадров, каждый из которых состоит из прямоугольной структуры элементов изо­бражения, илипикселов. Для цветного видео для каждого из RGB-цветов исполь­зуются 8 бит на пиксел, что дает 224, или приблизительно 16 миллионов цветов, чего вполне достаточно. Такое количество цветов человеческий глаз даже не в состоянии распознать, не говоря уже о большем количестве.

Чтобы движение было плавным, цифровое видео так же, как и аналоговое, должно отображать по крайней мере 25 кадров в секунду. Но поскольку высоко­качественные компьютерные мониторы зачастую выводят на экран картинку, хранящуюся в видеопамяти, не реже 75 раз в секунду, чересстрочная развертка уже не нужна. Поэтому все компьютерные мониторы используют прогрессивную раз­вертку. Чтобы исключить мерцание, достаточно трижды перерисовать один и тот же кадр видеоряда.

Иными словами, плавность изображения определяется количеством отобра­жаемых различных изображений в секунду, а мерцание определяется количеством перерисовок экрана в секунду. Эти два параметра отличаются друг от друга. Непод­вижное изображение, отображаемое с частотой 20 кадров в секунду, не будет смо­треться рывками, но будет мерцать, поскольку один кадр будет исчезать с сетчатки глаза еще до появления на ней следующего кадра. Фильм, имеющий 20 разных кадров в секунду, каждый из которых будет прорисовываться на частоте 80 Гц по четыре раза, не будет мерцать, но движения будут отображаться рывками.

Значение этих двух параметров становится понятным при рассмотрении полосы пропускания, необходимой для передачи цифрового видео по сети. На многих ком­пьютерных мониторах используется соотношение сторон 4:3, поэтому в них могут использоваться недорогие кинескопы, находящиеся в массовом производстве, раз­работанные для телевизионного потребительского рынка. Наиболее распространен­ными конфигурациями считаются 640 х 480 (VGA), 800 х 600 (SVGA), 1024 х 768 (XGA) и 1600 х 1200 (UXGA). UXGA-дисплей с 24 битами на пиксел и 25 кадрами в секунду должен получать данные со скоростью 1,2 Гбит/с. Даже VGA-дисплей требует 184 Мбит/с. Удваивание этих соотношений с целью устранения мерца­ния — не самый лучший вариант. Лучше передавать 25 кадров в секунду и хранить каждый кадр на компьютере, перерисовывая его дважды. В эфирном телевидении такой прием не используется, поскольку у телевизионных приемников нет видео­памяти, и в любом случае, аналоговый сигнал не может быть сохранен в оператив­ной памяти без предварительного преобразования в цифровую форму, для чего потребуется дополнительное оборудование. Поэтому чересстрочная развертка нужна только для эфирного телевидения, а для цифрового видео она не нужна.

Кодирование звука

Звук — это одномерная акустическая волна. Попадая в человеческое ухо, она вызывает колебание барабанной перепонки, которая передает их тонким костям среднего уха, посылая нервные импульсы в мозг. Эти импульсы воспринимаются слушателем в виде звука. Точно так же, когда акустическая волна воздействует на микрофон, тот генерирует электрический сигнал, представляющий собой ампли­туду звука в виде функции времени.

Частотный диапазон, воспринимаемый человеческим ухом, простирается от 20 Гц до 20 000 Гц, а некоторые животные, особенно собаки, могут слышать звуки более высоких частот. Чувствительность уха имеет логарифмическую зависимость, поэтому соотношение двух сигналов с амплитудами А и В выражается условно вдецибелах (дБ) в соответствии с формулой

dB = 20 log10 (А/В)

Если принять нижний порог слышимости (давление около 0,0003 дин/см2, что равно 3 х 10 -5 Па) для синусоидальной волны частотой в 1 кГц за 0 дБ, то гром­кость обычного разговора будет соответствовать 50 дБ, а болевой порог наступит при силе звука около 120 дБ, что соответствует соотношению амплитуд в один миллион. Чтобы избежать путаницы, напомним, что А и В в представленной выше формуле являются амплитудами. Если понадобится использовать уровень мощ­ности, который пропорционален квадрату амплитуды, то нужно взять коэффициент логарифма 10, а не 20.

Звуковые волны должны быть преобразованы в цифровую форму с помощью АЦП (аналого-цифрового преобразователя). На АЦП подается электрический сигнал, а он на выходе генерирует двоичные числа. На рис. 7.5, а показан пример синусоидальной волны. Чтобы представить этот сигнал в цифровом виде, нужно де­лать выборку каждые Т секунд, что на рис. 7.5, б выражено высотой столбца. Если звуковая волна не имеет строго синусоидальной формы, а является линейным нало­жением синусоидальных волн, где самая высокая составляющая частота равна f, то вполне достаточно делать выборку с частотой 2f. Математическое доказательство этому утверждению привел физик из лаборатории Белла Гарри Найквист (Harry Nyquist) в 1924 году, и оно известно под названиемтеоремы Найквиста. Более ча­стая выборка не имеет смысла, поскольку более высокая частота, не определяемая выборкой, здесь отсутствует.

Цифровые выборки никогда не бывают абсолютно точными. Выборки на рис. 7.4, в предоставляют только девять значений: от -1,00 до +1,00 с шагами по 0,25. Следовательно, для представления всех этих значений требуется 4 бита. Восьмибитная выборка предоставит 256 различных значений, 16-битная — 65 536.

Ошибка, возникающая из-за конечного числа битов на выборку, называетсяшумом квантования. Большие шумы квантования становятся различимы на слух.

 

Двумя общеизвестными примерами выборки звука являются телефон и музы­кальные компакт-диски. Вимпульсно-кодовой модуляции, применяемой в теле­фонной системе, используются 7-битные (в Северной Америке и Японии) и 8-бит­ные (в Европе) выборки, передаваемые 8000 раз в секунду. При такой системе скорость передачи данных составляет 56 000 бит/с или 64 000 бит/с. При частоте 8000 выборок в секунду частоты выше 4 кГц утрачиваются.

Музыкальные компакт-диски оцифрованы с частотой 44 100 выборок в секунду, которой достаточно для записи звуковых частот до 22 кГц, чего достаточно для лю­дей, но недостаточно для собак. Выборки состоят из 16 бит каждая и располагаются ступенчато по диапазону амплитуд. Заметим, что 16-битная выборка позволяет иметь только 65 536 различных значений, хотя динамический диапазон человече­ского уха, если измерять малейшие различимые уровни, составляет около миллиона значений. Поэтому использование только лишь 16 бит на одну выборку не обходит­ся без шумов квантования (хотя весь динамический диапазон не охвачен, считается, что компакт-диски не наносят урон восприятию звука). При скорости 44 100 вы­борок в секунду и 16 битах на каждую выборку, музыкальным компакт-дискам не­обходима полоса пропускания 705,6 Кбит/с для монофонического и 1,411 Мбит/с для стереофонического сигнала (см. табл. 7.1). На основе психоакустической модели, отражающей особенности работы человеческого слухового аппарата, воз­можно сжатие аудиосигнала. При использовании системы MPEG, уровень 3 (МРЗ) можно осуществить десятикратное сжатие. В последние годы широкое распростра­нение получили переносные музыкальные плееры, работающие в этом формате.

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

2. Сжатие видеоинформации

Теперь, наверное, понятно, что работать с мультимедийным материалом в несжа­том виде не представляется возможным, поскольку он слишком велик по объему. Остается только надеяться на возможность его существенного сжатия. К счастью, многочисленные исследования, проведенные за последние десятилетия, привели к появлению многочисленных технологий и алгоритмов, позволяющих передавать мультимедийную информацию. В следующих разделах будут рассмотрены некото­рые методы сжатия мультимедийной информации, при этом особое внимание будет уделено изображениям. Более подробно эти вопросы изложены в трудах (Fluckiger, 1995; Steinmetz and Nahrstedt, 1995).

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

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

Вторая ассиметричность заключается в том, что процесс кодирования- декодирования не должен быть обратимым на 100%. То есть при сжатии файла, его передаче и его последующем восстановлении пользователь рассчитывает вернуть себе оригинал с точностью до последнего бита. При передаче мультимедиа такие требования не предъявляются. Обычно после кодирования и декодирования допу­скаются небольшие отклонения видеосигнала от его оригинала. Когда декодирован­ные данные, полученные на выходе, не имеют точного соответствия оригинальным данным на входе, то про такую систему говорят, что ей свойственначастичная потеря данных. К этой категории относятся все системы сжатия, используемые в мультимедиа, поскольку это позволяет получить более высокую степень сжатия.

Стандарт JPEG

Стандарт JPEG (Joint Photography Experts Group — Объединенная группа экс­пертов по машинной обработке фотоизображений) предназначен для сжатия псевдополутоновых неподвижных изображений (например, фотографий). Он был разработан группой экспертов в области фотографии, работавших под общим по­кровительством международного союза телекоммуникаций ITU, Международной организации по стандартизации ISO и еще одной организации, занимающейся стандартизацией, — IEC (International Electrotechnical Commission — Междуна­родная электротехническая комиссия). Этот стандарт играет важную роль для мультимедиа, поскольку в первом приближении мультимедийный стандарт, при­нятый для движущихся изображений, — MPEG — представляет собой кодирование с применением стандарта JPEG каждого отдельно взятого кадра с добавлением некоторых дополнительных свойств для межкадрового сжатия и компенсации движения. JPEG определен как Международный стандарт 10918. У него четыре режима и множество параметров, но нас будет интересовать лишь применение стандарта JPEG для кодирования 24-битного RGB-видеоизображения, поэтому многие подробности будут опущены.

На первом этапе JPEG-кодирования изображения производится подготовка блоков. Чтобы понять специфику, предположим, что на входе используется RGB- изображение размером 640 х 480 пикселов с 24 битами на каждый пиксел, пока­занное на рис. 7.5, а. Поскольку при использовании яркости и цветности можно получить более высокую степень сжатия, сначала из значений RGB вычисляются яркость и два значения цветности. В стандарте NTSС они соответственно называ­ются Y, I и Q. В стандарте PAL значения цветности называются U и V, и исполь­зуются другие соотношения. Далее будут использоваться названия для стандарта NTS С, но алгоритм сжатия будет одинаковым для обеих систем.

Для значений Y, I и Q строятся отдельные матрицы с элементами в диапазоне от 0 до 255. Затем в матрицах I и Q усредняются блоки по четыре пиксела, чтобы уменьшить размер этих матриц до 320 х 240. Это уменьшение ведет к едва ли замет­ной человеческим глазом потере информации, поскольку глаз больше реагирует на яркость, чем на цветность. Как бы то ни было, а данные сжимаются вдвое. Теперь из каждого элемента трех матриц вычитается число 128, чтобы поместить 0 в середину диапазона. И наконец, каждая матрица разбивается на квадраты по 8 х 8 блоков. У матрицы Y получается 4800 таких блоков, а у матриц I и Q — по 1200 блоков, как показано на рис. 7.5, б.


На втором этапе JPEG-кoдиpoвaния к каждому из 7200 блоков по отдельности применяется дискретное косинусное преобразование — ДКП. На выходе каждого ДКП-преобразования получается матрица 8x8 элементов с ДКП-коэффициентами. ДКП-элемент (0, 0) является средним значением блока. Остальные элементы со­держат информацию о спектральной мощности каждой пространственной частоты. Для тех, кто знаком с преобразованиями Фурье, ДКП является разновидностью двумерного пространственного преобразования Фурье. Теоретически ДКП не приводит к потере данных, но на практике использование чисел с плавающей за­пятой и трансцендентных функций не обходится без ошибок округлений, которые приводят к небольшой потере информации. Как правило, значения этих элементов по мере удаления от начальной точки (0, 0) быстро убывают, что и показано на рис. 7.6, б.

 
 


Как только ДКП будет завершено, JPEG-кодирование переходит к третьему этапу под названиемквантование, при котором отбрасываются самые незначи­тельные ДКП-коэффициенты. Это преобразование с частичной потерей данных осуществляется путем деления каждого коэффициента в ДКП-матрице 8 х 8 на весовые коэффициенты, которые берутся из таблицы. Если все весовые коэффи­циенты равны 1, то преобразование не приводит к изменениям. Но если весовые коэффициенты резко возрастают от начального значения, более высокие простран­ственные частоты быстро падают.

Пример работы на этом этапе показан на рис. 7.7. Здесь изображена исходная ДКП-матрица, таблица квантования и результат, получаемый путем деления каж­дого ДКП-элемента на соответствующий элемент таблицы квантования. Значения в таблице квантования не являются частью стандарта JPEG. Каждое приложение должно предоставлять свою собственную таблицу квантования, позволяющую ему соблюдать свой собственный баланс между степенью потерь и степенью сжатия.

На четвертом этапе значение элемента (0, 0) из левого верхнего угла каждого блока заменяется величиной, на которую это значение отличается от значения со­ответствующего элемента предыдущего блока. Поскольку эти элементы содержат средние значения тех блоков, которым они принадлежат, эти значения должны изменяться медленно, поэтому получение значений разности должно уменьшить их до небольших величин. Для остальных значений разности не вычисляются. Значения элементов (0,0) называются ОС-компонентами, а остальные значения — АС-компонентами.

На пятом этапе 64 элемента блока выстраиваются в одну линию, и к ним приме­няется кодирование по длинам серий в список. При сканировании блока слева на­право и сверху вниз нулевые значения не концентрируются в одном месте, поэтому применяется зигзаговая схема сканирования, показанная на рис. 7.8. В приведенном примере зигзаговая схема приводит к тому, что в конце матрицы получается 38 по­следовательных нулевых значений. Эта строка может быть уменьшена до простого счетчика, указывающего, что она состоит из 38 нулей.

Теперь у нас есть список чисел, представляющих изображение (в пространстве преобразования). На шестом этапе к этим числам для их сохранения или передачи применяется кодирование Хаффмана (Huffman).

Алгоритм JPEG не даром кажется таким сложным. Но благодаря итоговой степени сжатия 20:1 и более, он получил широкое распространение. Для декоди­рования JPEG-изображения нужно запустить алгоритм в обратном порядке. JPEG обладает приблизительной симметрией: на декодирование изображения уходит примерно столько же времени, сколько на кодирование.

Стандарт MPEG

И наконец, мы добрались до сути вопроса: до стандартов, разработанных экспертной группой по вопросам движущегося изображения — MPEG (Motion Picture Experts Group). Эти стандарты, ставшие международными в 1993 году, описывают основные алгоритмы, используемые для сжатия видеоинформации. Стандарт MPEG-1 (Меж­дународный стандарт 11172) был разработан для получения видео, соответствующе­го качеству видеомагнитофона (352 х 240 для NTSC) при использовании скорости передачи данных 1,2 Мбит/с. Стандарт MPEG-2 (Международный стандарт 13818) был разработан для сжатия видео качества телепередачи в поток от 4 до 6 Мбит/с, чтобы он мог соответствовать широковещательному каналу NTSC или PAL.

В обеих версиях используются два вида избыточности, имеющейся в фильмах: пространственная и временная. Пространственной избыточностью можно вос­пользоваться путем простого JPEG-кодирования каждого кадра в отдельности. Дополнительной степени сжатия можно достичь за счет использования того факта, что последовательные кадры мало чем отличаются друг от друга (временная из­быточность). В системе цифрового видео форматаDV (Digital Video), применяю­щегося в цифровых видеокамерах, используется лишь схема сжатия, похожая на JPEG, поскольку кодирование должно выполняться в реальном масштабе времени, а простое кодирование каждого отдельно взятого кадра осуществляется намного быстрее. Последствия такого решения можно увидеть в табл. 7.1: хотя у цифровых видеокамер скорость потока данных ниже, чем у несжатого видео, она еще далека от таких же хороших показателей, как у полноценного стандарта MPEG-2. (Для чистоты сравнения следует заметить, что у DV-видеокамер на яркость отводится 8 бит, а на каждый сигнал цветности по 2 бита, но при этом с применением коди­рования, похожего на JPEG, достигается пятикратная степень сжатия.)

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

Выходная информация MPEG-2 содержит кадры трех разных видов, которые должны быть обработаны программой просмотра:

1. I (Intracoded — автономные) кадры:содержащие независимые неподвижные изображения закодированные спомощью JPEG-алгоритма.

2. Р (Predictive — прогнозирующие) кадры: содержащие поблочную разницу с по­следним кадром.

3. В (Bidirectional — двунаправленные) кадры: содержащие отличия от последнего и следующего кадра.

I-кадры представляют собой обычные неподвижные изображения, закодирован­ные с помощью JPEG-алгоритма, в которых также используется яркость полного и цветность половинного разрешения по каждой оси. Есть три причины, по кото­рым I-кадры должны периодически появляться в выходном потоке. Во-первых, стандарт MPEG может использоваться для широковещательного телевидения, и зрители могут включать приемники, когда им вздумается. Если все кадры, зави­сящие от своих предшественников, будут происходить от самого первого кадра, то все те, кто не застал первый кадр, никогда не смогут декодировать все последующие кадры. Зрителям нельзя будет включать телевизор после того, как фильм уже на­чался. Во-вторых, если какой-нибудь кадр был получен с ошибками, дальнейшее декодирование станет невозможным. В-третьих, без I-кадров при быстрой пере­мотке вперед-назад декодеру придется вычислять каждый промежуточный кадр, чтобы знать о полном значении того кадра, на котором остановится перемотка. При наличии I-кадров появляется возможность осуществления прокрутки в обе стороны до тех пор, пока не будет найден I-кадр, и запуска просмотра с одного из таких кадров. Поэтому I-кадры вставляются в выходной поток с периодичностью примерно один-два раза в секунду.

В отличие от них, в Р-кадрах закодирована разница между кадрами. В них за­ложена идея макроблоков, занимающих 16x16 пикселов в пространстве яркости и 8 х 8 пикселов в пространстве цветности. Макроблок кодируется путем поиска такого же или очень похожего на него макроблока в предыдущем кадре.

Пример использования Р-кадров показан на рис. 7.9. Здесь показаны три по­следовательных кадра, имеющих один и тот же фон, но отличающихся местополо­жением одного человека. Подобные сцены часто встречаются при неподвижной камере и проходящим перед ней актером. Макроблоки, содержащие фон, будут иметь точное совпадение, а макроблоки, содержащие изображение человека, будут смещаться на некоторую неизвестную величину и должны быть отслежены.

В стандарте MPEG не определено, как вести поиск, на каком отдалении его вести или насколько точным должно быть совпадение. Все зависит от конкретной реализации. Например, в какой-то реализации может вестись поиск макроблока в текущей позиции в предыдущем кадре и во всех других позициях со смещением ±∆х по оси х, и со смещением ±∆у по оси у. Для каждой позиции может быть вы­числено количество совпадений в матрице яркости. Позиция, имеющая самый высокий показатель, будет объявлена победителем, если он будет выше некоторого предопределенного порога. В противном случае макроблок будет считаться утра­ченным. Разумеется, можно использовать и более сложные алгоритмы.


Если макроблок будет найден, он кодируется путем извлечения разницы с его значением в предыдущем кадре (по матрице яркости и обеим матрицам цветно-сти), после чего эти матрицы различий подвергаются JPEG-кодированию. Затем значением для макроблока в выходном потоке становится вектор движения (по­казывающий, на сколько макроблок переместился со своей предыдущей позиции в каждом направлении), за которым следует закодированная по алгоритму JPEG разница с таким же макроблоком из предыдущего кадра. Если в предыдущем ка­дре не будет найден такой же макроблок, то текущее значение будет подвергнуто JPEG-кодированию, как и в случае с I-кадром.

В-кадры похожи на Р-кадры, с той лишь разницей, что они позволяют брать эталон для макроблока либо из предыдущего, либо из последующего кадра, или из I-кадра, или из Р-кадра. Эта дополнительная степень свободы позволяет улучшить компенсацию движения, а также приносит пользу, когда объекты проходят спереди или сзади других объектов. К примеру, в бейсбольной игре, когда полевой игрок бросает мяч в первую базу, может образоваться кадр, в котором мяч загораживает го­лову движущегося на заднем плане второго полевого игрока. В следующем кадре го­лова может частично показаться слева от мяча, для чего берется следующее прибли­женное значение для головы, изъятое из следующего кадра, где проекция мяча уже разминется с головой. В-кадры позволяют кадру основываться на будущем кадре.

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

Фильмы, содержащие множество действий и быстро перемещающихся фраг­ментов (например, военные), требуют множества I-кадров. А фильмы (к примеру, любовные истории), где режиссер может установить камеру и пойти пить кофе, пока актеры беседуют о жизни, могут обойтись длинными последовательностями Р- и В-кадров, которые занимают гораздо меньше места, чем I-кадры. С точки зрения эффективности использования дискового пространства, компании, зате­вающие предоставление мультимедийных услуг, должны изо всех сил бороться за преобладание именно женской клиентуры.

3. Сжатие аудиоинформации

Как мы уже видели, для передачи аудиоинформации, сравнимой по качеству с му­зыкальным компакт-диском, необходима пропускная способность 1,411 Мбит/с. Вполне очевидно, что для удобства ее передачи через Интернет необходимо приме­нить эффективное сжатие. Для этой цели были разработаны различные алгоритмы сжатия аудиоинформации. Наверное, одним из наиболее популярных является алгоритм MPEG-аудио, у которого есть три уровня (или варианта), из которых наиболее мощным и широко известным считаетсяМРЗ (MPEG-аудио уровень 3).В Интернете имеется огромное количество музыки в формате МРЗ, но не вся музыка имеет легальное происхождение, что стало причиной многих судебных исков со стороны исполнителей и правообладателей. Формат МРЗ принадлежит к аудиосоставляющей стандарта сжатия видеоинформации MPEG.

Аудиосжатие может быть осуществлено одним из двух способов. Приволновом кодировании (waveform coding) сигнал преобразуется в свои частотные компо­ненты за счет преобразования Фурье. На рис. 7.10 показан пример функции во времени и ее первые 15 Фурье-амплитуд. Затем амплитуда каждого компонента кодируется минимальным образом. Цель состоит в том, чтобы в точности вос­произвести форму волны на другом конце линии, затратив на это минимально возможное количество битов.

Другой способ называетсяперцепционным кодированием (perceptual coding),или кодированием по восприятию, и использует определенные особенности че­ловеческого слухового аппарата для кодирования сигнала таким образом, чтобы он звучал так же, как оригинал для слушателя, несмотря на его совершенно иное отображение на осциллографе. Перцепционное кодирование основано на науке под названиемпсихоакустика, которая изучает восприятие звуков человеком. В основу формата МРЗ положено именно перцепционное кодирование.

Ключевым свойством перцепционного кодирования является тот факт, что не­которые звуки способнымаскировать другие звуки. Представьте, что в теплый лет­ний день по радио в прямом эфире идет передача концерта для флейты с оркестром, и вдруг где-то неподалеку бригада дорожных рабочих включает отбойные молотки и начинает вскрывать дорожное покрытие. И флейта уже не слышна. Ее звуки за­маскировались звуками отбойных молотков. Теперь для передачи сигнала важно закодировать только частотный диапазон, издаваемый отбойными молотками,- поскольку флейту слушатели все равно уже не услышат. Этот эффект называется частотной маскировкой и подразумевает способность громкого звука в одном частотном диапазоне скрывать более тихий звук в другом частотном диапазоне, который будет слышен в отсутствие громкого звука. Фактически, даже после того как отбойные молотки будут остановлены, флейта будет неслышна еще какой-то небольшой период времени, поскольку ухо понизило свою чувствительность, как только они заработали, и нужно определенное время, чтобы вернуть чувствитель­ность к прежнему уровню. Этот эффект называетсявременной маскировкой.

Чтобы придать этому эффекту некоторое количественное измерение, пред­ставим себе эксперимент № 1. Человек в тихой комнате надевает наушники, под­ключенные к компьютерной звуковой карте. Компьютер генерирует синусоидаль­ную волну частотой 100 Гц небольшой, но постепенно нарастающей громкости. Человеку поставлена задача нажимать на кнопку, как только он услышит звук. Компьютер записывает текущую громкости звука, и эксперимент повторяется для 200 Гц, 300 Гц и всех остальных частот вплоть до предела восприятия челове­ческого уха. Когда берутся средние показатели, взятые у многих людей, двойной логарифмический график громкости звука, необходимой для его слышимости, при­обретает вид, показанный на рис. 7.11, а. Из этой кривой непосредственно следует, что кодировать любые частоты, чья громкость падает ниже порога слышимости, нет никакого смысла. К примеру, если показанная на рис. 7.11, а громкость звука на частоте 100 Гц была 20 дБ, этот звук может быть проигнорирован на выходе без какой-либо уловимой потери качества, поскольку громкость в 20 дБ на частоте 100 Гц лежит ниже порога слышимости.

 

       
 
 
   

 

 
 


Теперь рассмотрим эксперимент № 2. На компьютере еще раз запускается экс­перимент № 1, но на этот раз с синусоидальной волной постоянной амплитуды с частотой, скажем, 150 Гц, накладываемой на тестовую частоту. При этом оказы­вается, что порог слышимости для частот, близких к 150 Гц, приподнимается, как показано на рис. 7.11, б.

Из нового наблюдения можно сделать вывод, что учет сигналов, маскируемых более сильными сигналами в близлежащих частотных диапазонах, позволяет иг­норировать все больше и больше частот в кодируемом сигнале, экономя при этом биты. На рис. 7.11, б сигнал частотой 125 Гц может быть целиком проигнорирован в выходном сигнале, и никто не сможет уловить разницу. Даже после того как гром­кий сигнал в каком-то частотном диапазоне прекращается, знание его временных маскирующих свойств позволяет игнорировать маскируемые частоты еще неко­торый период времени, необходимый для восстановления чувствительности уха. Суть МРЗ-кодирования заключается в преобразовании звука по методу Фурье для получения громкости на каждой частоте, с последующей передачей только частот, немаскируемых другими частотами, и в кодировании этого сигнала с расходом наименьшего возможного количества бит.

Теперь на основе этой информации можно понять, как осуществляется кодиро­вание. Сжатие аудио происходит за счет дискретизации (квантования) волновой формы сигнала с частотой 32 кГц, 44,1 кГц или 48 кГц. Перво



2015-12-04 862 Обсуждений (0)
Кодирование изображения 0.00 из 5.00 0 оценок









Обсуждение в статье: Кодирование изображения

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация...
Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние...
Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (862)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.012 сек.)