|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
КОДЕР ВИДЕОИНФОРМАЦИИ
В стандартах МРЕG не описано построение кодера, а лишь определен синтаксис потока данных на его выходе. Структурная схема кодера видеоинформации (рис. 1.14) отображает основные операции, выполняемые при кодировании и обеспечивающие получение выходного потока данных с требуемыми параметрами. Рис. 1.14. Структурная схема видеокодера МРЕG-2 На схеме обозначены ДКП - блок прямого дискретного синусного преобразования; ДКП-1 - блок обратного дискретного косинусного преобразования; Кв – квантователь; Кв-1 - деквантователь, т. е. блок, выполняющий обратную квантованию операцию; ЗУ - запоминающее устройство; Пред - блок, выполняющий формирование предсказанного кадра; ОД — блок оценки движения и формирования векторов движения; КПДС - блок, в котором выполняется кодирование с переменной длиной кодового слова; Мп -мультиплексор; БЗУ - буферное запоминающее устройство; УКС -блок управления коэффициентом сжатия изображения. Кроме того, на схеме показаны сумматор, вычитающее устройство и переключатель. Работа всех блоков синхронизируется общей тактовой частотой 27 МГц. В кодере реализуются два режима кодирования: внутрикадровое кодирование (переключатель в положении 1) и межкадровое кодирование с предсказанием и компенсацией движения (переключатель в положении 2). Все макроблоки I-кадров кодируются в режиме внутрикадрового кодирования. Метод аналогичен MPEG: разложение на блоки 8x8 пикселов, поблочное ДКП, квантование полученных коэффициентов в соответствии с формулой (1.11), считывание в зигзагообразном порядке, кодирование с переменной длиной кодовых слов. При квантовании по умолчанию используется табл. 1.9. В случае использования нестандартных таблиц коэффициентов квантования они включаются в общий выходной поток данных. Кодирование с переменной длиной кодовых слов осуществляется с помощью таблиц кодов, имеющихся в стандарте. Как и в JPEG, коэффициенты ДКП, соответствующие постоянным составляющим, кодируются с использованием предсказания по таким же коэффициентам предыдущих блоков, и для них предназначены отдельные таблицы кодов с переменной длиной кодовых слов. Отметим, что в тексте стандартов нет термина "кодирование по Хаффмену". Видимо это связано с тем, что таблицы кодов заданы в стандарте, а не вычисляются под конкретные данные, как это требуется при кодировании по Хаффмену. Макроблоки Р-кадров могут кодироваться как внутрикадровым методом, так и межкадровым в зависимости от наличия и интенсивности изменений в этом макроблоке по сравнению с соответствующей областью изображения, по которому выполняется предсказание данного Р-кадра, т. е. в зависимости от результатов оценки движения. Изображение, по которому выполняется предсказание, формируется из кодированных данных предыдущего I- или Р-кадра. В деквантователе данные умножаются на коэффициенты квантования, затем выполняется обратное ДКП так же, как это делается в декодере в приемной части системы, после чего декодированное изображение записывается в ЗУ. Использование обратной связи при получении данных для предсказания позволяет избежать накопления ошибок квантования. Для реализации всех возможных вариантов предсказания ЗУ должно содержать несколько (как минимум 4) предыдущих кадров. Оценка движения осуществляется путем сравнения текущего изображения, поступающего на вход кодера, с изображением, находящимся в ЗУ и используемым для предсказания (опорным изображением). Эта процедура поясняется рис. 1.15,а. Для каждого макроблока кодируемого изображения отыскивается, как это было описано ранее, соответствующая ему область А1 размером 16x16 элементов в опорном изображении. Положение соответствующей области определяется с точностью до половины пиксела по обеим координатам. Рис. 1.15. Получение предсказанного макроблока в Р-кадре (а) и в В-кадре (б) Если в области поиска не найдена соответствующая область, отличие которой от данного макроблока не превышает установленной величины, то этот макроблок кодируется во внутрикадровом режиме аналогично макроблокам 1-кадров. Если соответствующая область А1 найдена, то макроблок кодируется в межкадровом режиме, и для него определяется вектор движения VI. Векторы движения кодируются с переменной длиной кодовых слов и через мультиплексор включаются в общий поток данных. Если для макроблока выбран межкадровый режим кодирования, то формируется предсказанный макроблок (Предск.МБ), в качестве которого берется найденная соответствующая область А1 из опорного изображения. Предсказанный макроблок поэлементно вычитается из настоящего макроблока. Полученный разностный макроблок (ошибка предсказания) проходит поблочное ДКП, квантование и кодирование с переменной длиной кодовых слов. Матрица коэффициентов квантования для ошибок предсказания содержит 64 числа 16 и используется для квантования как яркостных, так и цветоразностных составляющих. Для макроблоков В-кадров поиск соответствующей области осуществляется как в предшествующем I- или Р-кадре так и в последующем Р-кадре (рис. 1.15,б). В зависимости от результатов поиска соответствующей области возможны следующие варианты: - макроблок кодируется во внутрикадровом режиме; - формируется предсказанный макроблок в виде соответствующей области А1 предыдущего I- или Р-кадра; - формируется предсказанный макроблок в виде соответствующей области А2 последующего Р-кадра; - формируется предсказанный макроблок в виде поэлементной полусуммы соответствующей области А1 предыдущего I- или Р-кадра, и соответствующей области А2 последующего Р-кадра, т. е. в виде результата интерполяции по этим областям. В последних трех вариантах макроблок кодируется в межкадровом режиме, как это было описано для Р-кадров. В случае предсказания путем интерполяции для макроблока необходимо передавать два вектора движения VI и V2, показывающие положения соответствующих областей в предыдущем и в последующем кадрах. При кодировании телевизионных изображений с чересстрочной разверткой возможны два основных варианта предсказания: полевой и кадровый. При полевом предсказании макроблоки каждого поля предсказывается независимо от другого поля этого кадра, и для формирования предсказанного макроблока используются данные одного или двух ранее кодированных полей. При кадровом предсказании для формирования предсказанного макроблока используются данные, содержащиеся в обоих полях одного или двух ранее кодированных кадров. Помимо этого стандарт предусматривает дополнительные режимы предсказания при чересстрочной развертке. Кроме того, стандарт позволяет пропускать некоторые макроблоки при кодировании (skipped macroblock). Для таких макроблоков никакие данные не передаются. Этот вариант используется, если кодируемый макроблок не имеет отличий от соответствующего макроблока в опорном изображении. Описанный способ кодирования телевизионного сигнала Я называется кодированием с предсказанием и компенсацией движения. Выигрыш в сжатии изображения достигается благодаря тому, что разности действительных и предсказанных макроблоков Р- и В-кадров содержат значительно меньше информации, чем сами эти макроблоки. При этом для В-кадров объем передаваемой информации будет наименьшим, так как при двунаправленном предсказании ошибка предсказания минимальна. Кодированные видеоданные и векторы движения через мультиплексор поступают в БЗУ, работающее по принципу "первым вошел - первым вышел". Одна из функций БЗУ - согласование неравномерного во времени потока данных после кодирования со строго постоянной скоростью передачи двоичных символов при выполнении кодирования в реальном времени. Неравномерность потока данных, поступающих в БЗУ, обусловлена в первую очередь наличием разных типов кадров. Считывание данных из БЗУ осуществляется с постоянной скоростью. Степень заполненности БЗУ колеблется во времени, возрастая при увеличении потока поступающих на него данных и снижаясь при уменьшении этого потока. Помимо различия типов кадров на степень заполнения буфера может влиять характер передаваемого изображения. Если в изображении много мелких деталей, возрастает количество и уровней высокочастотных составляющих пространственно-частотного спектра, т. е. количество отличных от нуля коэффициентов ДКП. Это приводит к увеличению потока данных. При передаче же "гладких" изображений количество отличных от нуля коэффициентов ДКП уменьшается, так как пространственно-частотный спектр изображения имеет в основном низкочастотные составляющие. Для оптимизации работы системы желательно поддерживать уровень заполнения БЗУ приблизительно постоянным. Если БЗУ переполняется, то, очевидно, будет происходить потеря части данных, т. е. ухудшение качества изображения на выходе системы. Если же БЗУ полностью освобождается, то по каналу связи приходится передавать "пустые" блоки, что приводит к снижению эффективности его использования. Чтобы избежать обоих нежелательных случаев, в кодере изображения введена обратная связь с БЗУ на блок УКС, управляющий степенью сжатия изображения. Сущность действия этой обратной связи заключается в следующем. Если передается мелкоструктурное изображение, и заполнение БЗУ увеличивается, то под воздействием обратной связи увеличивается параметр квантования коэффициентов ДКП [см. формулу (1.13)]. При этом число бит на каждый коэффициент уменьшается, и уровень потока данных поддерживается примерно постоянным. Наоборот, при передаче "гладких" изображений квантование становится более точным. Такой метод соответствует свойствам человеческого зрения: на мелкоструктурных изображениях менее заметны неточности в передаче уровней яркости, так как в первую очередь воспринимаются контуры деталей. Изменение параметра квантования может осуществляться или после кодирования каждого кадра с учетом его типа, или в пределах одного кадра после кодирования каждого слайса. Данные о параметре квантования включаются в общий поток данных в заголовки слайсов. (1.13) где Q(k,l) - коэффициенты квантования, задаваемые в виде таблицы из 8x8 целых чисел (таблица Q на рис. 1,9); f- параметр, определяющий степень сжатия изображения, Round() - операция округления до ближайшего целого значения; Сq(k,l) – полученные результате данной операции квантованные коэффициенты ДКП, которые могут быть как положительными, так и отрицательными. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |