Сжатие видеосигналов
Понятие сжатия видеосигналов. Процесс MPEG-кодирования, типы изображений в MPEG-последовательности. Предварительная обработка, преобразование макроблоков изображений, их основные типы. Квантование коэффициентов DCT и сведение их к определенному диапазону.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | русский |
Дата добавления | 09.11.2010 |
Размер файла | 192,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
3
СЖАТИЕ ВИДЕОСИГНАЛОВ
1. Понятие сжатия видеосигналов
Несмотря на большую гибкость стандарта, позволяющую для различных приложений менять в широких пределах значения большинства его параметров (такие как разрешение изображений, аспектное отношение, частота кадров), его разработчики первоначально были ориентированы на использование в качестве основного носителя кодированной информации компакт-дисков (CD-ROM) со скоростью передачи данных 150 Кб/с. В результате базовый алгоритм (MPEG 1) ограничивает скорость передачи диапазоном 150-225 Кб/с, разрешение изображений (кадров) как 352х288 (PAL) или 320х240 (NTSC), частоту их смены 25 (PAL) или 30 (NTSC). Далее для простоты мы ограничимся рассмотрением PAL-системы.
MPEG-компрессия использует следующие основные идеи:
устранение временной избыточности видео, учитывающее тот факт, что в пределах коротких интервалов времени большинство фрагментов сцены оказываются неподвижными или незначительно смещаются по полю;
устранение пространственной избыточности изображений подавлением мелких деталей сцены, несущественных для ее визуального восприятия человеком;
использование более низкого цветового разрешения при YUV-представлении изображений (Y - яркость, U и V - цветоразностные сигналы) - установлено, что глаз менее чувствителен к пространственным изменениям оттенков цвета по сравнению с изменениями яркости;
повышение информационной плотности результирующего цифрового потока путем выбора оптимального математического кода для его описания (например, использование более коротких кодовых слов для наиболее часто повторяемых значений).
Изображения в MPEG-последовательности подразделяются на следующие типы:
I (intra), играющие роль опорных при восстановлении остальных изображений по их разностям;
Р (predicted), содержащие разность текущего изображения с предыдущим 1 или Р с учетом смещений отдельных фрагментов;
В (bidirectionally predicted), содержащие разность текущего изображения с предыдущим и последующим изображениями типов 1 или Р с учетом смещений отдельных фрагментов;
Изображения объединяются в группы (GOP - Group Of Pictures), представляющие собой минимальный повторяемый набор последовательных изображений, которые могут декодированы независимо от других изображений в последовательности. Типичной является группа вида
I0 В1 В2 РЗ В4 В5 Р6 В7 В8 Р9 В10 В11) (I12 В13 В14 Р15 В16 В17 Р18.,
в которой I-тип повторяется каждые полсекунды. Обратим внимание, что в изображении РЗ основная часть фрагментов сцены предсказывается на основании соответствующих смещенных фрагментов изображения I0. Собственно кодированию подвергаются только разности этих пар фрагментов. Аналогично Р6 "строится" на базе РЗ, Р9 - на базе Р6 и т.д. В то же время большинство фрагментов В1 и В2 предсказываются как полусумма смещенных фрагментов из Ю и РЗ, В4 и В5 - из РЗ и Р6, В7 и В8 - из Р6 и Р9 и т.д. В то же время В-изображения не используются для предсказания никаких других изображений. В силу зависимости изображений в процессе их кодирования меняется порядок следования. Для вышеприведенной последовательности он будет следующим:
I0 РЗ В1 В2 Р6 В4 В5 Р9 В7 В8 I12 В10 В11 Р15 В13 В14 Р18 В16 В17.
Ясно, что точность кодирования должна быть максимальной для I, ниже - для R минимальной - для В. Установлено, что для типичных сцен хорошие результаты достигаются при отведении числа бит для 1 в 3 раза больше, чем для Р, и для Р в 2-5 раз больше, чем для В. Эти отношения уменьшаются для динамичных сцен и увеличиваются для статичных.
Отдельные изображения состоят из макроблоков. Макроблок - это основная структурная единица фрагментации изображеия. Он соответствует участку изображения размером 16х16 пикселей. Именно для них определяются вектора смещения относительно I - или Р-изображений. Общее число макроблоков в изображении - 396. Для повышения устойчивости процесса восстановления изображений к возможным ошибкам передачи данных последовательные макроблоки объединяют в независимые друг от друга разделы (slices), максимальным числом до 396. В предельном случае "чистой" передачи на изображение приходится всего один раздел из 396 макроблоков. В свою очередь каждый макроблок состоит из шести блоков, четыре из которых несут информацию о яркости Y, а по одному определяют цветовые U - и V-компоненты. Каждый блок представляет собой матрицу 8х8 элементов. Блоки являются базовыми структурными единицами, над которыми осуществляются основные операции кодирования, в том числе выполняется дискретное косинусное преобразование (DCT - discrete cosine transform) и квантование полученных коэффициентов.
Упрощенно процесс MPEG-кодирования сводится к следующему. На этапе предварительной обработки входной видеосигнал оцифровывается и форматируется согласно заданному размеру 352х288 и цветовой выборке 2: 1 (на каждые 2 Y-отсчета по горизонтали и вертикали приходится по одному U - и V-отсчету). После этого кодер делает выбор структуры группы (она может меняться в процессе кодирования в зависимости от содержания видео и разрешенного объема передаваемой информации), задает типы всех изображений и по необходимости меняет их последовательность. Далее для I-изображений он осуществляет DCT каждого макроблока. Для Р - и В-изображений он сначала оценивает вектора смещения - по одному на макроблок для Р (для предсказания вперед) и по 2 для В (вперед и назад). Затем, сравнивая число бит, необходимое для кодирования макроблока как в случае предсказания его значений на основе соответствующих макроблоков из предыдущего (для Р) и последующего (для В) изображений, так и без оного предсказания, кодер по каждому макроблоку принимает отдельное решение и осуществляет DCT - либо собственных значений макроблока, либо его разностных (относительно предсказанных) значений. После этого полученные коэффициенты DCT подвергаются квантованию с переменным шагом - более высоким частотам задается больший шаг. В результате большинство высокочастотных коэффициентов принимают нулевые значения, что позволяет математически эффективно их кодировать. Изменяя масштаб квантования, кодер реализует компромисс между качеством кодированных изображений (тем хуже, чем больше масштаб) и объемом передаваемой информации (тем меньше, чем больше масштаб). Это особенно важно для систем с фиксированной пропускной способностью. Поскольку в видео информационная насыщенность изображений меняется со временем, то кодер должен постоянно отслеживать реальный объем передаваемых данных и оперативно менять масштаб квантования (и, конечно, значения других параметров). Безусловно, этот процесс не может быть абсолютно точным, поэтому кодер (как и декодер) обладает буфером памяти, в который предварительно записывается переменный поток данных, и из которого этот поток передается с заданной скоростью. Чем больше размер этого буфера, тем большие изменения объема данных на изображение относительно среднего уровня допускаются. В стандарте буфер установлен как 327 680 бит (40 Кб), что при скорости 200 Кб/с соответствует 0,2 с. Таким образом, кодер должен следить за реальным состоянием буфера, не допуская его переполнения (часть данных будет потеряна) или не дополнения (качество передаваемых изображений будет неоправданно низким). В результирующем потоке кодер должен передавать как собственно математически закодированные значения коэффициентов DCT, так и выбранные значения всех параметров кодировки (вид матрицы квантования и ее масштаб, тип предсказания макроблока и значения векторов смещения, структуру группы и т.д.). Декодеру остается сравнительно простая работа - принять в буфер и расшифровать (шифр задан стандартом) полученную информацию, осуществить обратные преобразования и отобразить полученное видео на мониторе.
Вышеизложенное объясняет, почему при наличии множества недорогих MPEG-проиг-рывателей MPEG-кодеры до сих пор остаются дорогими и элитарными устройствами. Теперь рассмотрим более подробно некоторые важные вопросы MPEG-кодирования.
2. Предварительная обработка
В соответствии с принятым стандартом CCIR 601 обычно используется YUV-представление цифрового изображения с разрешением 720х576 по Y и 360х576 по U и V (4: 2: 2), при этом значения всех отсчетов задаются целыми числами из интервала 0-255. Попутно отметим, что такое разрешение определяет неквадратный пиксел с аспектным отношением 0.9375. MPEG-стандарт не ограничивает метода перехода от данного разрешения к требуемому - 352х288 по Y и 176х144 по U и V (4: 1:
1). Для примера можно привести следующий простой, но надежный способ. Сначала выбирается одно из полей полного кадра, т.е. выбрасывается его каждая вторая строка. Затем для Y производится построчное сглаживание фильтром вида (-29,0,88,138,88,0,-29) // 256 и выборка каждого второго значения сглаженных строк. В результате мы приходим к матрице 360х288, уже из которой выбрасываются первые и последние четыре столбца. Аналогично поступают для U и V, но после выбора одного полукадра осуществляют как строчную, так и вертикальную выборки с сглаживающим фильтром вида (1,3,3,1) // 8 - "ставят" по одному новому отсчету между двумя старыми. В результате получают, что на каждый фрагмент изображения размером 16х16 (макроблок) приходится 16х16 Y-отсчетов (4 блока 8х8) и по 8х8 U - и V-отсчетов (по одному блоку).
3. Преобразование макроблоков I-изображений
Все макроблоки I-изображения являются опорными (имеют тип intra) и подвергаются независимому преобразованию. Оно начинается с DCT каждого из шести блоков макроблока. Двумерное DCT определяется как
суммирование отсчетов изображения f ведется по пространственным координатам х, у (от О до 7), а полученные коэффициенты F задают представление изображения в частотной плоскости m,n (от 0 до 7). DCT является обратимым - по распределению F обратным преобразованием однозначно восстанавливается f. По физическому смыслу DCT сводится к представлению изображения в виде суммы (ко) синусоидальных гармоник (волн), значения F определяют амплитуды этих гармоник, а координаты m,n - их частоты. При этом значение F (0,0) пропорционально среднему уровню в блоке и может достигать величины 2040 (8*255). В то же время высокие частоты "отвечают" за передачу "тонких" деталей изображения. Поскольку, как правило, эти детали относительно среднего уровня слабо выделены, то и высокочастотные амплитуды имеют небольшие значения относительно F (0,0).
Следующим необходимым шагом преобразования является квантование коэффициентов DCT и сведение их к диапазону (-255,255). Установлено, что глаз более чувствителен к ошибкам передачи изменений значений на больших площадях, т.е. на низких частотах. Это требует использовать для них более точное квантование. Конкретная матрица квантования может задаваться кодером, но по умолчанию MPEG предполагает использование следующей эффективной матрицы, заимствованной из JPEG-стандарта:
Конкретный шаг квантования для каждой частоты определяется как произведение соответствующего значения матрицы и масштаба квантования. Кодер по необходимости может менять масштаб квантования от макроблока к макроблоку, но по умолчанию будет использоваться его предыдущее значение. Допустимый диапазон изменений масштаба - от 1 до 31. Таким образом, шаг квантования может меняться в широких пределах. Исключением является квантование значения F (0,0), для которого стандартом с целью повышения точности передачи средних уровней в блоках устанавливается фиксированный шаг, равный 8. Более того, в силу заметной корреляции средних уровней соседних блоков (для остальных коэффициентов это не так) квантованию подвергаются их разности (независимо для Y, U и V блоков). При этом исходные (опорные) значения для формирования разностей и последующего восстановления по ним в начале каждого раздела макроблоков установлены как 1024. Для передачи последовательности разностей эффективным оказывается метод Хаффмана (Huffman), который наиболее часто встречаемым значениям присваивает наиболее короткий битовый код. Таблица соответствия определяется стандартом.
Что касается остальных коэффициентов, то из вышеизложенного понятно, что большинство из них после квантования окажутся равными нулю.
Характерный пример полученной матрицы значений приведен ниже.
Следующий шаг сводится к преобразованию матрицы в одномерную последовательность путем зигзаг-сканирования.
Для нее эффективным методом математического кодирования оказывается RLE (Run Legnth Encoding), который для передачи длинной цепочки нулей задает только ее начало и длину.
4. Преобразование макроблоков Р-изображений
Макроблоки Р-изображений могут быть различных типов - опорные (intra), кодируемые согласно уже описанной схеме, и предсказываемые (predicted), у которых формируются и аналогичным образом преобразуются разности текущего макроблока и подобного ему (смещенного) макроблока из предыдущего I - или Р-изображения. Важно отметить, что опорные блоки обычно требуют для своего кодирования существенно больше информации, но и обеспечивают более высокую точность при восстановлении. Очевидно, что в основном в Р-изображениях присутствуют макроблоки второго типа.
Стандарт не ограничивает метода определения векторов смещений при поиске подобных макроблоков, но определяет диапазон их максимальных значений как ±128 при точности задания в 1 пиксел или как ±64 при точности 1/2 (но может быть меньше - задается кодером). Наиболее точный метод - полный поиск (full search) - сводится к расчету ошибки предсказания (например, среднее значение абсолютной величины разности Y-отсчетов текущего макроблока и предсказанных) для всех разрешенных векторов и определения положения минимальной ошибки. Более быстрым, но достаточно точным является т. н. логарифмический метод. Он выполняется за несколько шагов, на каждом из которых рассчитываются и сравниваются по 9 значений ошибки в узловых точках с постепенным сужением области поиска и повышением точности предсказания.
Ниже представлен соответствующий пример подобного поиска за 3 шага, где цифры соответствуют его номерам шагов.
Здесь размер шага меняется как 4->2->1, а диапазон возможных значений вектора равен (7,7). Известен также метод телескопического поиска, рекомендуемый для последовательных В-изображений и основанный на использовании в качестве стартовой оценки вектора смещения текущего макроблока значение вектора из предыдущего В-изображения для этого же макроблока. Важно подчеркнуть, что не все найденные вектора смещения будут использованы для построения (предсказания) макроблоков текущего изображения на основании соответствующих макроблоков из предыдущего I - или Р-изображения. Может оказаться, что разница между ошибкой подобного оптимального предсказания и ошибкой предсказания, полученной при нулевом смещении, несущественна (~1), а потому целесообразно пренебречь смещением (экономия на информации о векторе). Более того, если последняя ошибка мала сама по себе (~1), то поиск можно просто не производить. С другой стороны, даже с использованием оптимального вектора ошибка может оказаться столь значительной, что экономии объема информации, требуемого для кодирования макроблока, за счет предсказания по сравнению со случаем его непосредственного кодирования как опорного, не возникает. Для упрощенного анализа требуемых объемов можно сравнивать средние дисперсии Y-отсчетов текущего макроблока и его разности с предсказанным. При этом в случае, когда дисперсия текущего макроблока сама по себе мала (меньше 64), целесообразно кодировать данный блок как опорный даже без подобного сравнения.
Последующая схема преобразования разностных макроблоков аналогична преобразованию опорных. Единственное существенное отличие может заключаться в использовании иного вида матрицы квантования с менее выраженным подавлением высоких частот. Поскольку разности в основном несут информацию о небольших изменениях фрагментов сцены (в процессе их перемещения), то высокие частоты, ответственные за детализацию изображений, столь же важны, как и низкие. Конкретный вид матрицы задается кодером, но по умоланию она принимается равномерной с постоянным значением 16 для всех частот включая нулевую. После квантования все DCT-коэффициенты блока могут оказаться равными нулю, а для его передачи достаточно поставить соответствующую определенную стандартом метку (флаг) и сразу перейти к следующему блоку. Для таких пропускаемых (skipped) блоков достигается самый короткий код описания. Аналогичная ситуация возникает с макроблоком, когда все его блоки имеют статус skipped, и соответствующие вектора смещения (если они должны быть определены) также равны нулю.
5. Преобразование макроблоков В-изображений
Обобщая вышеизложенные рассуждения для Р-изображений, несложно заключить, что макроблоки В-изображений могут быть следующих типов - опорные (intra), кодируемые сами по себе, предсказываемые вперед (forward predicted) на основании предыдущего изображения, предсказываемые назад (backward predicted) на основании последующего изображения, а также интерполируемые (interpolated) как полусумма обоих предсказаний. В данном случае кодеру предстоит наиболее сложная работа с рассмотрением множества различных вариантов и выбора наиболее эффективного из них, реализующего компромисс между длиной кода и качеством восстанавливаемого изображения. Задача облегчается тем, что ошибки этих изображений в отличие от I - и Р-типов не накапливаются, т.е. не приводят к регулярным искажениям. Более того, за счет быстрой смены изображений эти случайные ошибки менее заметны. В результате В-изо-бражения, кодируемые по вышеописанным схемам для опорных и предсказываемых макроблоков, допускают самый короткий код.
6. Разделы макроблоков
Кратко остановимся на значении разделов (slices). Дело в том, что MPEG-стандарт предполагает передачу текущих значений многих параметров не в абсолютных величинах, а в виде разностей с предыдущими значениями. Это используется, например, при кодировании пространственных координат текущего макроблока, вектора его смещения и значения коэффициента F (0,0). В силу коррелированности этих значений формируемые разности, как правило, небольшие по величине и допускают короткий код. Но платой за это является повышенная чувствительность к ошибкам передачи разностной информации. Для повышения устойчивости и вводятся разделы, в начале которых записываются опорные (не разностные) значения этих параметров, обеспечивающие возможность их восстановления вне зависимости от ошибок передачи в предыдущем разделе. Разделы покрывают всю площадь изображения без пропусков и перехлестов, причем макроблоки каждого раздела образуют непрерывную последовательность (сканирование вдоль строк).
Подобные документы
Современные методы цифрового сжатия. Классификация алгоритмов сжатия. Оцифровка аналогового сигнала. Алгоритм цифрового кодирования. Последовательное двойное сжатие. Чересстрочность и квантование. Сокращение цифрового потока. Профили, уровни формата MPEG.
реферат [784,9 K], добавлен 22.01.2013Обработка изображений на современных вычислительных устройствах. Устройство и представление различных форматов изображений. Исследование алгоритмов обработки изображений на базе различных архитектур. Сжатие изображений на основе сверточных нейросетей.
дипломная работа [6,1 M], добавлен 03.06.2022Типы изображений (черно-белые, полутоновые, цветные) и их форматы. Устройства, создающие цифровые изображения, и их параметры. Применение и характеристики методов сжатия изображений. Поиск по содержимому в базах данных изображений. Структуры баз данных.
презентация [360,4 K], добавлен 11.10.2013Высокопроизводительные вычисления в обработке данных дистанционного зондирования Земли. Классификация аэрокосмических изображений. Способы удаленного доступа к суперкомпьютеру. Сжатие без потерь и с потерями. Программное обеспечение системы сжатия.
дипломная работа [2,6 M], добавлен 28.09.2011Положения алгоритмов сжатия изображений. Классы приложений и изображений, критерии сравнения алгоритмов. Проблемы алгоритмов архивации с потерями. Конвейер операций, используемый в алгоритме JPEG. Характеристика фрактального и рекурсивного алгоритмов.
реферат [242,9 K], добавлен 24.04.2015Принцип действия и назначение факсимильной связи, сферы ее применения, оценка преимуществ и недостатков. Сущность и особенности использования адресно-позиционного кодирования. Алгоритм программы сжатия и восстановления изображения по методу АПК.
курсовая работа [23,3 K], добавлен 16.04.2010История появления и основные понятия графического дизайна. Выявление главных преимуществ и недостатков недеструктивной обработки изображений. Сравнение деструктивной и недеструктивной обработки изображений. Сущность и особенности двухмерной графики.
реферат [5,2 M], добавлен 05.05.2023Изучение современных методик компьютерной обработки биомедицинских изображений с целью улучшения изображений для их наилучшего визуального восприятия врачом-диагностом и эффективного сжатия изображений – для надежного хранения и быстрой передачи данных.
курсовая работа [2,3 M], добавлен 15.04.2019Основные понятия и методы сжатия данных. Преобразование информации, хранящейся в файле, к виду, при котором уменьшается избыточность в ее представлении. Статистический и словарный способы сжатия. Программы-архиваторы, основные возможности WinRAR.
контрольная работа [27,5 K], добавлен 12.03.2011Архивация и компрессия как методы сжатия изображений. Алгоритмы сжатия данных. Вспомогательные средства, которые используются для понижения объемов файлов: изменение цветовой модели изображения, изменение разрешения растрового файла, ресемплирование.
презентация [45,3 K], добавлен 06.01.2014