способ преобразования цифрового сигнала изображения и устройство для его реализации
Классы МПК: | H04N7/48 включающие импульсно-кодовую модуляцию и кодовое прогнозирование |
Автор(ы): | Безруков Вадим Николаевич (RU), Рабинович Александр Владиленович (RU), Комаров Павел Юрьевич (RU) |
Патентообладатель(и): | Московский технический университет связи и информатики (RU) |
Приоритеты: |
подача заявки:
2004-12-15 публикация патента:
20.11.2006 |
Изобретение относится к телевизионной технике, в частности к передаче видеосигналов по узкополосным каналам, и касается улучшения качества изображений при реализации цифрового кодирования видеосигнала для сужения его полосы частот. Технический результат заключается в улучшении качества сигнала изображения. Технический результат достигается тем, что в известное устройство преобразования цифрового сигнала изображения вводят блок коррекции, две линии задержки, генератор тактовых импульсов, что позволяет кодированием из цифрового сигнала блочного формата полукадров яркостной составляющей телевизионного сигнала изображения выделить интервалы сигналов строк, в пределах которых значение сигналов межстрочной разности превышает заранее заданное пороговое значение, сформировать соответствующие этим интервалам сигналы управления фиксированного уровня, совместить во времени и вычесть сигналы смежных полей кадров изображения, полученные сигналы межполевой разности привести к нулевому уровню в интервалах, совпадающих с наличием сформированных сигналов управления, а полученные в результате этого преобразованные сигналы межполевой разности совместить во времени и суммировать с сигналами смежных полей изображения. 2 н.п. ф-лы, 24 ил.
Формула изобретения
1. Способ преобразования цифрового сигнала изображения, заключающийся в том, что телевизионный сигнал, состоящий из сигналов кадров изображения, содержащих соответствующие сигналы четных и нечетных полей трех основных цветов, формируют сигнал яркости и два цветоразностных сигнала, фильтруют по низкой частоте, преобразуют аналоговый сигнал в цифровой сигнал изображения блочного формата, кодируют, при этом объединяют сигналы кадров, содержащих информацию о яркости и цветности, изменяют порядок следования сигналов кадров изображения блочного формата так, что первый кадр сохраняет свое положение, а в последующих группах из трех кадров изменяют положение кадров так, что каждый третий в группе кадр занимает место первого кадра, каждый второй кадр занимает место третьего кадра, каждый первый кадр занимает место второго кадра, преобразуют сигналы кадров изображения блочного формата в совокупность независимых частотных спектральных составляющих, полученные значения уровней каждой из составляющих всех преобразованных кадров блочного формата делят на коэффициенты, соответствующие каждой частотной спектральной составляющей и квантуют по амплитуде, квантованные значения амплитуд спектральных составляющих преобразуют в энтропийном кодере, одновременно подвергают умножению на коэффициенты, соответствующие каждой частотной спектральной составляющей, и получают из квантованных значений амплитуд спектральных составляющих значения их уровней, совокупность которых затем преобразуют в сигналы кадров изображения, содержащие сигналы четных и нечетных полей блочного формата, путем получения разностей интервала сигнала строк текущего кадра изображения и сдвинутых на заранее заданные величины во времени интервалов сигналов строк соседнего в последовательности кадра изображения с последующим выделением величины сдвига во времени сигналов интервалов строк, соответствующей минимальному значению полученных разностей, формируют в периодах между кадрами сигнал, соответствующий различиям в относительном положении сигналов блочного формата последовательных кадров изображения в структуре совокупности их сигналов строк, который преобразуют в энтропийном кодере, одновременно, с использованием сигнала, соответствующего различиям в относительном положении сигналов блочного формата сигналов кадров изображения, и путем размещения в интервалах сигналов строк текущего кадра изображения равных по длительности интервалов сигналов строк соседнего в последовательности кадра изображения, формируют последовательные сигналы предсказанных кадров изображения блочного формата, вычитают сигналы предсказанных кадров изображения блочного формата из соответствующих сигналов измененной последовательности кадров изображения блочного формата, результирующий сигнал межкадровой разности блочного формата преобразуют в совокупность независимых частотных спектральных составляющих, полученные значения уровней каждой из составляющих делят на коэффициенты, соответствующие каждой частотной спектральной составляющей и квантуют по амплитуде, квантованные значения амплитуд спектральных составляющих преобразуют в энтропийном кодере и передают совокупность квантованных и преобразованных значений амплитуд спектральных составляющих отдельных кадров, сигнал различий в относительном положении сигналов блочного формата кадров и квантованные значения амплитуд составляющих межкадровой разности блочного формата, отличающийся тем, что перед кодированием из цифрового сигнала блочного формата полукадров яркостной составляющей телевизионного сигнала изображения выделяют интервалы сигналов строк, в пределах которых значение сигналов межстрочной разности превышает заранее заданное пороговое значение, формируют соответствующие этим интервалам сигналы управления фиксированного уровня, совмещают во времени и вычитают сигналы смежных полей кадров изображения, полученные сигналы межполевой разности приводят к нулевому уровню в интервалах, совпадающих с наличием сформированных сигналов управления, а полученные в результате этого преобразованные сигналы межполевой разности совмещают во времени и суммируют с сигналами смежных полей изображения.
2. Устройство преобразования цифрового сигнала изображения, содержащее матрицу преобразования, первый выход которой через первый фильтр нижних частот подключен к сигнальном входу первого аналогово-цифрового преобразователя, второй выход через второй фильтр нижних частот - к сигнальному входу второго аналогово-цифрового преобразователя, а третий выход через третий фильтр нижних частот - к сигнальному входу третьего аналогово-цифрового преобразователя, каждый из трех входов матрицы преобразования подключен соответственно к одному из сигналов трех основных цветов, и сжимающий кодер, отличающееся тем, что в него введены блок коррекции, первая и вторая линии задержки, генератор тактовых импульсов, причем выход первого аналогово-цифрового преобразователя через блок коррекции соединен с первым входом сжимающего кодера, выход второго аналогово-цифрового преобразователя через первую линию задержки соединен со вторым входом сжимающего кодера, выход третьего аналогово-цифрового преобразователя через вторую линию задержки соединен с третьим входом сжимающего кодера, первый выход генератора тактовых импульсов подключен к входу синхронизации первого аналогово-цифрового преобразователя, а второй выход генератора тактовых импульсов подключен к входам синхронизации второго и третьего аналогово-цифровых преобразователей, третий выход генератора тактовых импульсов подключен к входу синхронизации блока коррекции и к первому входу синхронизации сжимающего кодера, второй вход синхронизации которого подключен к четвертому выходу генератора тактовых импульсов.
Описание изобретения к патенту
Изобретение относится к телевизионной технике, в частности к передаче видеосигналов по узкополосным каналам, и касается улучшения качества изображений при реализации цифрового кодирования видеосигнала для сужения его полосы частот.
Известен способ передачи и приема полного цветового телевизионного сигнала изображения и устройство для его реализации, сокращающие полосу частот передаваемого телевизионного сигнала (авторское свидетельство СССР №1370796), основанные на ограничении по частоте и сжатии во времени сигнала яркости в четных (нечетных) полях, содержащих сигналы четных (нечетных) строк. Сигнал цветности в различных полях формируют из сигнала разности между цветоразностным сигналом соответствующих полей. Формирование передаваемого телевизионного сигнала осуществляют путем преобразования по масштабу во времени и размещения в течение телевизионной строки последовательно во времени сигналов синхронизации, сигнала цветности и сигнала яркости.
Недостатками данного способа являются масштабные укрупнения шумовых составляющих сигнала передачи и искажения структуры изображений в пространстве кадра, в межкадровом и цветовом направлениях, которые проявляются нарушением качества передачи движения, появлением цветовых окантовок на границах объектов в пространстве кадра и при их движении, мельканиями фона изображения и др.
Известно устройство для передачи и приема полного цветового телевизионного сигнала (авторское свидетельство СССР №1370796), содержащее блок разделения сигналов яркости и цветности, выход которого соединен с входом блока временного согласования, выходы которого соединены через ФНЧ с входом блока вычитания цветоразностных сигналов соответствующих полей и с входами блоков коммутации, выходы которых через ЗУ соединены с входом блока формирования сигнала передачи.
Недостатками данного устройства являются укрупнение в пространстве и во времени шумовых составляющих, расслоение переходных искажений и появление заметных искажений при передаче движущихся объектов.
Наиболее близким по технической сущности является способ передачи [Ю.Б.Зубарев, М.И.Кривошеев, И.Н.Красносельский. Цифровое телевизионное вещание: основы, методы, системы. - М.: НИИР, 2001, стр.188], заключающийся в том, что телевизионный сигнал, состоящий из сигналов кадров изображения, содержащих соответствующие сигналы четных и нечетных полей трех основных цветов, формируют сигнал яркости и два цветоразностных сигнала, фильтруют по низкой частоте, преобразуют аналоговый сигнал в цифровой сигнал изображения блочного формата, кодируют, при этом объединяют сигналы кадров, содержащих информацию о яркости и цветности, изменяют порядок следования сигналов кадров изображения блочного формата, так что первый кадр сохраняет свое положение, а в последующих группах из трех кадров изменяют положение кадров, так что каждый третий в группе кадр занимает место первого кадра, каждый второй кадр занимает место третьего кадра, каждый первый кадр занимает место второго кадра, преобразуют через n-групп сигналы кадров изображения блочного формата в совокупность независимых частотных спектральных составляющих, полученные значения уровней каждой из составляющих преобразованных n-х кадров делят на коэффициенты, соответствующие каждой частотной спектральной составляющей, и квантуют по амплитуде, квантованные значения амплитуд спектральных составляющих преобразуют в энтропийном кодере, одновременно подвергают умножению на коэффициенты, соответствующие каждой частотной спектральной составляющей, и получают из квантованных значений амплитуд спектральных составляющих значения их уровней, совокупность которых затем преобразуют в сигналы кадров изображения, содержащие сигналы четных и нечетных полей блочного формата, формируют в периодах между n-ми кадрами сигнал, соответствующий различиям в относительном положении сигналов блочного формата последовательных кадров изображения в структуре совокупности их сигналов строк, который преобразуют в энтропийном кодере, одновременно формируют последовательные сигналы предсказанных кадров изображения блочного формата с использованием сигнала, соответствующего различиям в относительном положении сигналов блочного формата сигналов кадров изображения, вычитают сигналы предсказанных кадров изображения блочного формата из соответствующих сигналов измененной последовательности кадров изображения блочного формата, результирующий сигнал межкадровой разности блочного формата преобразуют в совокупность независимых частотных спектральных составляющих, полученные значения уровней каждой из составляющих делят на коэффициенты, соответствующие каждой частотной спектральной составляющей, и квантуют по амплитуде, квантованные значения амплитуд спектральных составляющих преобразуют в энтропийном кодере и передают совокупность квантованных и преобразованных значений амплитуд спектральных составляющих отдельных кадров, сигнал различий в относительном положении сигналов блочного формата кадров и квантованные значения амплитуд межкадровой разности блочного формата.
Недостатком данного способа является то, что при преобразовании сигналов кадров изображения блочного формата, включающих сигналы четных и нечетных полей изображения, содержащих искажения геометрической структуры на границах движущихся объектов изображения, вызванные различным положением движущихся участков изображения в четных и нечетных полях (эффект расчески) одного кадра, в совокупности частотных спектральных составляющих значительно возрастают значения амплитуд, соответствующих вышеуказанным искажениям структуры спектральных составляющих, что снижает эффективность работы сжимающего кодера и приводит к снижению четкости и искажениям яркости участков изображения.
Наиболее близким по технической сущности для реализации способа является устройство [Ю.Б.Зубарев, М.И.Кривошеев, И.Н.Красносельский. Цифровое телевизионное вещание: основы, методы, системы. - М.: НИИР, 2001, стр.188], содержащее матрицу преобразования, первый выход которой через первый ФНЧ подключен к сигнальном входу первого АЦП, второй выход через второй ФНЧ - к сигнальному входу второго АЦП, а третий выход через третий ФНЧ - к сигнальному входу третьего АЦП, каждый из трех входов матрицы преобразования подключен соответственно к одному из сигналов трех основных цветов, и сжимающий кодер.
Недостатком данного устройства является то, что при преобразовании сигналов кадров изображения блочного формата, включающих сигналы четных и нечетных полей изображения, содержащих чересстрочные искажения геометрической структуры на границах движущихся объектов изображения, вызванные различным положением движущихся участков изображения в четных и нечетных полях (эффект расчески) одного кадра, в совокупности частотных спектральных составляющих значительно возрастают значения амплитуд, соответствующих чересстрочным искажениям структуры спектральных составляющих, что снижает эффективность работы сжимающего кодера и приводит к снижению четкости и искажениям яркости участков изображения.
Задачей, на решение которой направлено предлагаемое изобретение, является улучшение качества сигнала изображения за счет преобразования сигналов четных и нечетных полей исходного кадра изображения в сигналы кадров изображения с устранением в смежных кадрах чересстрочных искажений геометрической структуры на границах движущихся объектов изображения.
Для решения поставленной задачи в способе преобразования цифрового сигнала изображения телевизионный сигнал, состоящий из сигналов кадров изображения, содержащих соответствующие сигналы четных и нечетных полей трех основных цветов, формируют сигнал яркости и два цветоразностных сигнала, фильтруют по низкой частоте, преобразуют аналоговый сигнал в цифровой сигнал изображения блочного формата, кодируют, при этом объединяют сигналы кадров, содержащих информацию о яркости и цветности, изменяют порядок следования сигналов кадров изображения блочного формата, так что первый кадр сохраняет свое положение, а в последующих группах из трех кадров изменяют положение кадров так, что каждый третий в группе кадр занимает место первого кадра, каждый второй кадр занимает место третьего кадра, каждый первый кадр занимает место второго кадра, преобразуют через n-групп сигналы кадров изображения блочного формата в совокупность независимых частотных спектральных составляющих, полученные значения уровней каждой из составляющих преобразованных n-х кадров делят на коэффициенты, соответствующие каждой частотной спектральной составляющей, и квантуют по амплитуде, квантованные значения амплитуд спектральных составляющих преобразуют в энтропийном кодере, одновременно подвергают умножению на коэффициенты, соответствующие каждой частотной спектральной составляющей, и получают из квантованных значений амплитуд спектральных составляющих значения их уровней, совокупность которых затем преобразуют в сигналы кадров изображения, содержащие сигналы четных и нечетных полей блочного формата, формируют в периодах между n-ми кадрами сигнал, соответствующий различиям в относительном положении сигналов блочного формата последовательных кадров изображения в структуре совокупности их сигналов строк, который преобразуют в энтропийном кодере, одновременно формируют последовательные сигналы предсказанных кадров изображения блочного формата с использованием сигнала, соответствующего различиям в относительном положении сигналов блочного формата сигналов кадров изображения, вычитают сигналы предсказанных кадров изображения блочного формата из соответствующих сигналов измененной последовательности кадров изображения блочного формата, результирующий сигнал межкадровой разности блочного формата преобразуют в совокупность независимых частотных спектральных составляющих, полученные значения уровней каждой из составляющих делят на коэффициенты, соответствующие каждой частотной спектральной составляющей, и квантуют по амплитуде, квантованные значения амплитуд спектральных составляющих преобразуют в энтропийном кодере и передают совокупность квантованных и преобразованных значений амплитуд спектральных составляющих отдельных кадров, сигнал различий в относительном положении сигналов блочного формата кадров и квантованные значения амплитуд межкадровой разности блочного формата, перед кодированием из цифрового сигнала блочного формата полукадров яркостной составляющей телевизионного сигнала изображения выделяют интервалы сигналов строк, в пределах которых значение сигналов межстрочной разности превышает пороговое значение амплитуды, формируют соответствующие этим интервалам сигналы управления фиксированного уровня, совмещают во времени и вычитают сигналы смежных полей кадров изображения, полученные сигналы межполевой разности приводят к нулевому уровню в интервалах, совпадающих с наличием сформированных сигналов управления, а полученные в результате этого преобразованные сигналы межполевой разности совмещают во времени и суммируют с сигналами четных (нечетных) полей изображения.
Для устранения указанных искажений в устройство (фиг.1), содержащее матрицу преобразования, первый выход которой через первый ФНЧ подключен к сигнальному входу первого АЦП, второй выход через второй ФНЧ - к сигнальному входу второго АЦП, а третий выход через третий ФНЧ - к сигнальному входу третьего АЦП, каждый из трех входов матрицы преобразования подключен соответственно к одному из сигналов трех основных цветов, и сжимающий кодер, введены блок коррекции, первая и вторая линии задержки, генератор тактовых импульсов, причем выход первого АЦП через блок коррекции соединен с первым входом сжимающего кодера, выход второго АЦП через первую линию задержки соединен с вторым входом сжимающего кодера, выход третьего АЦП через вторую линию задержки соединен с третьим входом сжимающего кодера, первый выход генератора тактовых импульсов подключен к входу синхронизации первого АЦП, а второй выход генератора тактовых импульсов подключен к входам синхронизации второго и третьего АЦП, третий выход генератора тактовых импульсов подключен к входу синхронизации блока коррекции и к первому входу синхронизации сжимающего кодера, второй вход синхронизации которого подключен к четвертому выходу генератора тактовых импульсов.
В результате полученное сжатое изображение не будет содержать искажения границ движущихся объектов в пределах кадра и будет иметь лучшее качество передачи движущихся объектов при фиксированном коэффициенте сжатия.
На фиг.1 показано устройство, реализующее способ преобразования цифрового сигнала изображения, где 1 - матрица преобразования, 2 - первый ФНЧ, 3 - первый АЦП, 4 - блок коррекции, 5 - второй ФНЧ, 6 - второй АЦП, 7 - первая линия задержки, 8 - третий ФНЧ, 9 - третий АЦП, 10 - вторая линия задержки, 11 - генератор тактовых импульсов, 12 - сжимающий кодер;
Фиг.2 - кадр изображения с искажениями границ движущихся объектов;
Фиг.3 - поля изображения (а - нечетное поле, б - четное поле), содержащие движущийся квадрат (1) и неподвижный квадрат (2);
Фиг.4 - сигнал временной разности;
Фиг.5 - кадр изображения без искажений;
Фиг.6 - последовательность кадров и направление предсказания движения;
Фиг.7 - матрица преобразования (1), где 13 - кодирующая матрица, 14 - первый умножитель, 15 - второй умножитель;
Фиг.8 - блок коррекции (4), где 16 - третья линия задержки, 17 - четвертая линия задержки, 18 - первый вычитатель, 19 - первый детектор, 20 - четвертый ФНЧ, 21 - первый амплитудный ограничитель, 22 - первый логический элемент "ИЛИ", 23 - второй вычитатель, 24 - второй детектор, 25 - пятый ФНЧ, 26 - второй амплитудный ограничитель, 27 - пятая линия задержки, 28 - шестая линия задержки, 29 - третий вычитатель, 30 - блок выделения сигналов временной разности, 31 - первый ключ, 32 - первый сумматор;
Фиг.9 - блок выделения сигналов временной разности (30), где 33 - второй логический элемент "ИЛИ", 34 - первый переключатель, 35 - первый логический элемент "НЕ", 36 - второй сумматор;
Фиг.10 - сжимающий кодер (12), где 37 - блок объединения цифровых потоков, 38 - блок управления режимом кодирования, 39 - блок управления квантованием, 40 - блок перестановки кадров, 41 - четвертый вычитатель, 42 - второй переключатель, 43 - блок дискретного косинусного преобразования, 44 - квантователь, 45 - энтропийный кодер, 46 - инверсный квантователь, 47 - блок обратного дискретного косинусного преобразования, 48 - второй ключ, 49 - третий сумматор, 50 - блок компенсации движения, 51 - первое ЗУ, 52 - второе ЗУ, 53 - блок оценки движения, 54 - первый буфер;
Фиг.11 - блок объединения цифровых потоков (37), где 55 - третий ключ, 56 - восьмая линия задержки, 57 - четвертый ключ, 58 - первый делитель частоты, 59 - второй делитель частоты, 60 - первый логический элемент "И", 61 - седьмая линия задержки, 62 - девятая линия задержки, 63 - десятая линия задержки, 64 - пятый ключ, 65 - четвертый сумматор;
Фиг.12 - блок перестановки кадров (40), где 66 - третье ЗУ, 67 - шестой ключ, 68 - одиннадцатая линия задержки, 69 - пятый сумматор, 70 - седьмой ключ, 71 - двенадцатая линия задержки, 72 - шестой сумматор, 73 - восьмой ключ, 74 - первый триггер, 75 - второй логический элемент "НЕ", 76 - седьмой сумматор, 77 - второй триггер, 78 - тринадцатая линия задержки, 79 - первый счетчик, 80 - второй счетчик, 81 - третий триггер;
Фиг.13 - блок дискретного косинусного преобразования (43), где 82 - восьмой сумматор, 83 - четвертое ЗУ, 84 - 91 - пятое - двенадцатое ЗУ, 92 - 98 - первый - седьмой регистры, 99 - 106 - первый - восьмой арифметико-логический блоки, 107 - девятый сумматор;
Фиг.14 - арифметико-логический блок (первый - восьмой), где 108 - третий умножитель, 109 - десятый сумматор, 110 - восьмой регистр;
Фиг.15 - квантователь (44), где 111 - тринадцатое ЗУ, 112 - третий счетчик, 113 - третий переключатель, 114 - четырнадцатое ЗУ, 115 - четвертый умножитель, 116 - пятый умножитель, 117 - пятнадцатое ЗУ, 118 - первый компаратор, 119 - одиннадцатый сумматор;
Фиг.16 - инверсный квантователь (46), где 120 - четвертый счетчик, 121 - шестой умножитель, 122 - седьмой умножитель, 123 - четвертый переключатель, 124 - шестнадцатое ЗУ, 125 - семнадцатое ЗУ;
Фиг.17 - блок оценки движения (53), где 126 - пятый переключатель, 127 - пятый счетчик, 128 - формирователь адреса, 129 - восемнадцатое ЗУ, 130 - блок вычисления, 131 - девятнадцатое ЗУ, 132 - пятый вычитатель, 133 - двадцатое ЗУ, 134 - первый блок сравнения;
Фиг.18 - блок вычисления (130), где 135 - шестой вычитатель, 136 - блок вычисления абсолютного значения, 137 - девятый регистр;
Фиг.19 - блок компенсации движения (50), где 138 - шестой счетчик, 139 - двенадцатый сумматор, 140 - двадцать первое ЗУ, 141 - двадцать второе ЗУ, 142 - двадцать третье ЗУ, 143 - тринадцатый сумматор, 144 - седьмой счетчик, 145 - четырнадцатый сумматор, 146 - двадцать четвертое ЗУ, 147 - двадцать пятое ЗУ, 148 - восьмой счетчик, 149 - пятнадцатый сумматор, 150 - двадцать шестое ЗУ, 151 - двадцать седьмое ЗУ, 152 - девятый счетчик, 153 - шестой переключатель;
Фиг.20 - энтропийный кодер (45), где 154 - блок преобразования, 155 - шестнадцатый сумматор, 156 - второй компаратор, 157 - четвертый триггер, 158 - седьмой переключатель, 159 - десятый регистр, 160 - одиннадцатый регистр, 161 - семнадцатый сумматор;
Фиг.21 - блок преобразования (154), где 162-213 - второй - пятьдесят третий блоки сравнения, 214 - восемнадцатый сумматор, 215 - девятнадцатый сумматор;
Фиг.22 - блок сравнения (второй - пятьдесят третий), где 216 - двенадцатый регистр, 217 - седьмой вычитатель, 218 - третий компаратор, 219 - девятый ключ, 220 - тринадцатый регистр, 221 - двадцать восьмое ЗУ, 222 - двадцать девятое ЗУ, 223 - десятый ключ;
Фиг.23 - блок управления квантованием, где 224 - тридцатое ЗУ, 225 - восьмой вычитатель, 226 - десятый счетчик, 227 - делитель, 228 - блок округления;
Фиг.24 - блок управления режимом кодирования, 229 - одиннадцатый счетчик, 230 - четвертый компаратор.
Применяемая в настоящее время в нашей стране система вещательного телевидения SECAM использует чересстрочное разложение телевизионного растра, представляемого в виде двух полей, передаваемых за период кадра. При представлении динамических изображений в процессе преобразования (сжатия) в виде совмещения в пространстве растра двух полей, следующих с частотой 50 Гц, возникают специфические искажения границ движущихся объектов (фиг.2), вызванные различным положением движущихся объектов в двух полях одного кадра изображения.
Фактически, пространственная структура в пределах каждого из изображений четного и нечетного полей отличается не только за счет относительного смещения движущихся объектов, но и за счет различной фазы строк в пределах растра нечетного поля. На фиг.3 представлены поля изображения (а - нечетное поле, б - четное поле), содержащие движущийся квадрат (1) и неподвижный квадрат (2).
Можно заметить, что структура изображения подвижного квадрата отличается в смежных (четном и нечетном) полях не только за счет несовпадения положения внутриполевого растра, отражающего данный объект. Вторая составляющая собственно определяет появление пространственной разности изображений.
Для определения сигналов пространственной разности, соответствующих горизонтальным границам неподвижных деталей изображения, необходимо текущее поле смещать в вертикальном в пространстве растра направлении относительно опорного положения в пространстве растра на ±2 строки и вычитать соответствующие смещенные поля из опорного.
Для изображения неподвижного квадрата имеет место лишь пространственная разность изображений, которая в данном конкретном примере определяется изменением числа строк, отражающих неподвижный квадрат в четном и нечетном полях.
В связи с этим при вычитании сигналов двух смежных полей сигнал разности в общем случае содержит составляющие как пространственной, так и временной разности. Соответственно, сигнал данного типа не может быть использован для высококачественного сжатия сигнала по межкадровому направлению.
Сигнал пространственной разности, который возникает при вычитании сигналов совмещенных полей, не позволяет скомпенсировать эффект "расчески" в сигнале временной разности без мешающего действия сигнала пространственной разности. Этот сигнал при сжатии как раз и вызывает расширение спектра и дискретность сигнала временной разности в вертикальном по растру направлении, что в конечном итоге приводит к уменьшению степени сжатия или увеличению искажений подвижных участков в ТВ изображениях при их сжатии.
В момент прихода сигнала управления выделяется сигнал, соответствующий временной разности из сигнала пространственно-временной разности. Полученный сигнал временной разности (фиг.4) вводится только в сигнал четного поля, т.е. через одно поле. В результате этого компенсируются составляющие движения и при формировании кадра изображения на нем будут отсутствовать искажения в виде "расчески" подвижных элементов изображения (фиг.5).
Обработанные таким способом нечетные и четные поля изображения преобразуют в соответствующие кадры изображения (фиг.6), которые далее кодируют. Для этого поблочно выполняют дискретное косинусное преобразование (ДКП), для чего ТВ изображение разбивается на блоки. Каждый блок - квадратная матрица. Ее размеры: 8 отсчетов (строк) по вертикали и 8 отсчетов по горизонтали. Таким образом, матрица содержит 8×8=64 отсчета ТВ сигнала. Она называется сигнальной матрицей. При этом в ТВ кадре создается: 576/8=72 зоны по вертикали и 704/8=88 зон по горизонтали, что в общей сложности дает: 72×88=6336 блоков, подлежащих ДКП в реальном масштабе времени. В результате ДКП исходная сигнальная матрица 8×8=64 ТВ отсчетов преобразуется в матрицу частотных коэффициентов ДКП такого же размера 8×8=64.
Поскольку положение ТВ отсчетов сигнальной матрицы определяется двумя координатами, то частотные коэффициенты (С) матрицы ДКП являются функциями этих двух переменных и обозначаются двузначными номерами. Отметим, что матрица частотных коэффициентов ДКП уже не имеет прямой геометрической связи с положением отсчетов ТВ сигнала на ТВ растре, а представляет собой только удобную форму математической записи, при которой частотные коэффициенты ДКП можно трактовать как двумерный спектр ТВ изображения в горизонтальном и вертикальном направлениях ТВ кадра.
Спектр ДКП имеет очень важную, если ее оценивать с позиций компрессии видеоданных, особенность: основная энергия частотных составляющих этого спектра концентрируется в небольшой области около нулевых частот. Амплитуда высокочастотных составляющих или мала, или просто равна нулю. Передаче подлежат только те частотные коэффициенты матрицы ДКП, величины которых превышают принятые пороговые значения. Коэффициенты ниже порогового значения считаются нулевыми. Следует отметить, что при кодировании динамический интервал уровней коэффициентов ДКП возрастает.
Для кодирования коэффициентов ДКП в таком широком динамическом интервале в последующих узлах кодера реализуют переход от 8 битового к 11-битовому коду. Чтобы избежать этого, после ДКП производится масштабирование (сжатие) динамического интервала сигналов коэффициентов ДКП за счет увеличения шага квантования. Эта операция сводится к делению полученных в матрице значений коэффициентов ДКП. Результат деления затем округляется до ближайших целых значений уровней новой шкалы квантования. Так, например, если исходное значение коэффициента ДКП было 22, то после деления на 8 и округления до ближайшего целого значения (22/8=2.75) новое значение будет 3. При этом новый динамический интервал составит от -255 до +255 дискретных уровней. После выравнивания динамического диапазона коэффициенты ДКП подвергаются взвешенному квантованию для сокращения избыточности в высокочастотной области. Надо заметить, что чувствительность зрения наблюдателя здесь наименьшая. Точность кодирования зависит от шага квантования. Он выбирается разным для разных коэффициентов матрицы ДКП, его масштаб в процессе кодирования может меняться от 1 до 31.
После квантования коэффициенты ДКП преобразуют в энтропийном кодере, одновременно подвергают инверсному квантованию, обратному ДКП с целью получения декодированного изображения в кодере для более точного предсказания и компенсации движения.
Предсказание может быть экстраполяционным. В этом случае (его часто называют предсказанием "вперед") по предшествующим значениям отсчетов ТВ сигнала оцениваются последующие отсчеты. Интерполяционное (двунаправленное) предсказание означает, что оценка среднего по положению отсчета ТВ сигнала выполняется по известным значениям предшествующих и последующих отсчетов. Такое предсказание наиболее точно оценивает текущие отсчеты. Однако за точность приходится расплачиваться возросшим объемом вычислений и, соответственно, памяти, необходимой при реализации. При этом эффект не окупает затраты.
Как уже отмечалось, предсказание выполняется по соседним с предсказываемым отсчетам, причем под соседними надо понимать отсчеты, расположенные "до и за" рассматриваемым. Возможно построчное, межстрочное, внутриполевое, внутрикадровое, межполевое и межкадровое предсказание. Это полный набор возможных направлений корреляций.
При простейшем внутриполевом предсказании вперед предшествующий отсчет ТВ строки принимается как ожидаемый уровень последующего отсчета. Фактически это означает вычеркивание постоянной составляющей или, что то же самое, выделение разностной информации. Такой метод предсказания особенно эффективен, когда передаются крупные, не содержащие мелких деталей фрагменты изображения, где яркость постоянна или изменяется медленно.
Другой способ - межкадровое предсказание "вперед". В этом случае текущий отсчет оценивается по отсчету с теми же координатами, но предыдущего кадра. Это очень эффективный метод предсказания для неподвижных изображений. Ситуация усложняется, когда изображение содержит движущиеся объекты или изменятся в целом. В этом случае отсчеты, принадлежащие однотипным элементам изображения от кадра к кадру будут смещаться. Возникает разностная информация, даже если в остальном никаких изменений не происходит. Это можно ослабить, если ввести компенсацию движения. Для этого необходимо определить векторы перемещения движущихся частей изображения при последовательном переходе от кадра к кадру. Векторы движения позволяют определить положение кодируемого отсчета в новом кадре (скомпенсировать его перемещение) и, таким образом, сохранить высокую точность предсказания.
Так называемые "опорные" (I) кадры обрабатываются только с применением внутрикадрового кодирования. Это первый этап, где сжатие видеоданных относительно невелико, но зато при восстановлении ТВ изображения оно менее всего деградирует и зависит от ошибок кодирования и передачи видеоданных по каналу связи. Также существуют "предсказанные" (Р) кадры (фиг.6), кодирование которых выполняется с использованием алгоритмов компенсации движения и предсказания "вперед" по предшествующим опорным или предсказанным кадрам. В предсказанных кадрах, если сравнивать их с опорными кадрами, в три раза выше достижимая степень сжатия видеоданных.
Обработка видеоданных в предсказанном кадре при межкадровом предсказании выполняется по макроблокам. Это квадратные матрицы 16×16 (отсчетов × строк). Такой макроблок обрабатывается с использованием алгоритмов компенсации движения и предсказания вперед. Предшествующие предсказанные кадры являются опорными для последующих кадров и являются опорными для предсказания предшествующих и последующих кадров с двунаправленным предсказанием (В). Отметим, что необходима высокая точность восстановления исходного изображения при декодировании опорных и предсказанных кадров. Дело в том, что ошибки этих кадров распределяются по всем кадрам, связанным с данным.
Алгоритмы кодирования двунаправлено предсказанных кадров зависят от характера ТВ изображения, чаще всего применяется компенсация движения и предсказание вперед по ближайшим предшествующим опорным или предсказанным кадрам. Очевидно, что точность кодирования должна быть максимальной для опорных кадров, ниже для предсказанных кадров и минимальной для двунаправлено предсказанных кадров.
Метод компенсации движения основан на макроблоках. Два смежных кадра, содержащих только активные строки сигнала яркости (576 активных строк), разбиваются на макроблоки и более крупные зоны поиска. Размеры макроблока должны быть согласованы со структурой дискретизации кадра ТВ изображения, а ТВ кадр разбивается при этом на целое число зон. По вертикали (576 активных строк/16) - это 36 зон, по горизонтали (704 активных отсчета/16) - 44 зоны.
Зона поиска должна быть достаточно большой, чтобы быстро движущийся макроблок изображения первого кадра не вышел из зоны поиска второго кадра. Размеры зоны поиска ограничиваются объемом вычислений, которые необходимо выполнить в реальном масштабе времени. Эти размеры также должны быть согласованы с принятой структурой дискретизации ТВ кадра. Обычно они в 4 раза больше размеров отдельного макроблока. Иными словами, размеры зоны поиска - это 64×64. Таким образом, в ТВ кадре создается 576/64=9 зон поиска по вертикали и 704/64=11 зон по горизонтали.
Например, надо определить координаты движения при предсказании вперед. Для этого берется макроблок отсчетов первого кадра и ищется его новое положение в зоне поиска второго кадра, вычисляются межкадровые разности отсчетов. Положение макроблока, при котором суммарное значение модулей межкадровых разностей макроблока получается наименьшим, принимается за его реальное перемещение, после чего координаты вектора движения рассчитываются как смещение макроблока по вертикали и горизонтали относительно его начального положения. Сигналы вектора движения также преобразуют в энтропийном кодере.
Устройство работает следующим образом. Матрица преобразования (1) предназначена для преобразования сигналов трех основных цветов R, G, В в сигнал яркости Еу и два цветоразностных сигнала U и V. На фиг.7 показана схема матрицы преобразования (1). На вход кодирующей матрицы (13) (Телевидение, под ред. В.Е.Джаконии, М. 2002, стр.248) поступают сигналы трех основных цветов R, G, В. На выходе кодирующей матрицы (13) формируются яркостной Еу и два цветоразностных сигналов ЕB-Y и ЕR-Y, которые поступают на соответствующие входы первого (14) и второго (15) умножителей, где умножаются на коэффициент 0,493 и 0,877 соответственно. Для иллюстрации этого на фиг.7 показаны коэффициенты умножения, поступающие на соответствующие входы первого (14) и второго (15) умножителей. На практике первый (14) и второй (15) умножители выполняются на основе аналоговых перемножителей [Цифровые и аналоговые интегральные микросхемы: Справочник. Под ред. С.В.Якубовского. - М.: Радио и связь, 1989, стр.373], имеющих фиксированный коэффициент умножения и поэтому один сигнальный вход.
На выходе блоков умножения формируются сигналы U и V соответственно. Далее сигналы Е у, U и V через первый (2), второй (5) и третий (8) фильтры нижних частот (ФНЧ) соответственно поступают на входы первого (3), второго (6) и третьего (9) аналогово-цифровых преобразователей. Далее сигнал Еу в цифровой форме поступает в блок коррекции, а сигналы U и V в цифровой форме через первую (7) и вторую (10) линии задержки, соответственно, выравнивающие задержку сигнала, вносимую блоком коррекции (4), поступают на второй и третий входы сжимающего кодера (12) соответственно.
Блок коррекции (4) предназначен для устранения возникающих специфических искажений границ движущихся объектов (фиг.2), вызванных различным положением движущихся объектов в двух полях одного кадра изображения. Включает в себя (фиг.8) третью (16) и четвертую (17) линии задержки на длительность строки; первый (18), второй (23), третий (29) вычитатель; первый (19) и второй (24) детекторы; четвертый (20) и пятый (25) фильтры нижних частоты; первый (21) и второй (26) амплитудные ограничители по максимуму и минимуму; первый логический элемент "ИЛИ" (22), формирующий сигнал управления; пятую линию задержки (27) на длительность поля; шестую линию задержки (28) на длительность половины строки; блок выделения сигналов временной разности (30); первый ключ (31); первый сумматор (32).
Устранение влияния эффекта "расчески" на границах движущихся объектов на качество телевизионного изображения при использовании дискретного косинусного преобразования (ДКП) в пределах кадра за счет поочередного преобразования в исходной последовательности полей видеосигнала двух смежных полей в кадр изображения осуществляется следующим образом.
Для определения сигналов, соответствующих горизонтальным границам неподвижных деталей изображения, необходимо текущее поле смещать в вертикальном по растру направлении относительно опорного положения в пространстве полного растра на ±2 строки и вычитать соответствующие смещенные поля из опорного. С этой целью задерживаем текущее поле (F) на период строки Тстр (F1) в третьей линии задержки (16) и далее считаем это поле опорным, также задерживаем текущее поле на 2Тстр (F2) в четвертой линии задержки (17). Для определения сигналов, соответствующих границам неподвижных объектов изображения, отличных от вертикальных границ, вычитаем F1 из F во втором вычитателе (23), и F2 из F1 в первом вычитателе (18). Детектируем значения сигналов в первом (19) и втором (24) детекторе; результирующие сигналы подвергаем цифровой фильтрации в четвертом (20) и пятом (25) фильтрах нижних частот, с целью уменьшения влияния шумов ограничиваем по уровню в первом (21) и втором (26) амплитудном ограничителе по максимуму и минимуму; далее сигнал поступает в на первый логический элемент "ИЛИ" (22), который формирует сигнал управления, соответствующий границам неподвижных объектов изображения, отличным от вертикальных, поступающий на первый вход блока выделения сигналов временной разности (30).
На фиг.9 показана схема блока выделения сигналов временной разности (30). Он включает в себя второй логический элемент "ИЛИ" (33), первый переключатель (34), первый логический элемент "НЕ" (35), второй сумматор (36). На первый вход второго логического элемента "ИЛИ" (33) поступает сигнал с выхода первого логического элемента "ИЛИ" (22), на второй вход - сигнал с выхода третьего вычитателя (29). В момент поступления логической "1" на управляющий вход первого переключателя (34) сигнал проходит через первый выход первого переключателя (34), соединенный с первым логическим элементом "НЕ" (35), на первый вход второго сумматора (36). При поступлении логического "0" на управляющий вход первого переключателя (34) сигнал проходит через второй выход первого переключателя (34) на второй вход второго сумматора (36) и далее поступает на сигнальный вход первого ключа (31).
Для формирования сигнала пространственно-временной разности сигнал F задерживают на время длительности поля в пятой линии задержки (27), чтобы совместить во времени с опорным текущим полем, и подают на вход третьего вычитателя (29). На другой вход третьего вычитателя (29) поступает опорное текущее поле, задержанное на время длительности половины строки в шестой линии задержки (28) для того, чтобы совместить во времени сигналы строк текущего и предыдущего полей. Таким образом, после вычитания получаем сигнал пространственно-временной разности, который параллельно поступает на второй вход блока выделения сигналов временной разности (30).
Блок выделения сигналов временной разности (30) в момент прихода сигнала управления выделяет сигнал, соответствующий временной разности (фиг.4), из сигнала пространственно-временной разности. С выхода блока выделения сигналов временной разности (30) полученный сигнал временной разности поступает на сигнальный вход первого ключа (31). На управляющий вход первого ключа (31) поступает сигнал синхронизации с частотой 25 Гц с третьего выхода генератора тактовых импульсов (11). Таким образом, первый ключ (31) пропускает сигнал временной разности на первый сумматор (32) через одно поле. В первом сумматоре (32) происходит суммирование сигнала временной разности с сигналом текущего поля, в результате чего устраняются специфические искажения границ движущихся объектов (фиг.5). Результирующий сигнал поступает на первый вход сжимающего кодера (12).
На фиг.10 показан сжимающий кодер (12). Он включает в себя блок объединения цифровых потоков (37), блок перестановки кадров (40), четвертый вычитатель (41), второй переключатель (42), второй ключ (48), блок управления квантованием (39), блок дискретного косинусного преобразования (43), квантователь (44), блок компенсации движения (50), инверсный квантователь (46), блок обратного дискретного косинусного преобразования (47), третий сумматор (49), первое (51) и второе (52) запоминающее устройство, блок оценки движения (53), энтропийный кодер (45), первый буфер (54), блок управления режимом кодирования (38).
Сжимающий кодер (12) работает следующим образом. Сигналы кадров блочного формата в цифровой форме, содержащие сигналы яркости Y и два цветоразностных сигнала (U, V), поступающие на соответствующие входы блока объединения цифровых потоков (37), объединяются в один цифровой поток в следующем порядке: Y, U, Y, V, Y..., далее поступают в блок перестановки кадров (40), где происходит изменение порядка следования кадров (К) - из входной последовательности К1 К2 К3 К4 К5 К6 K7 K8 K9 К10 K11 К12 К13... на выходе блока формируется последовательность К1 К4 К2 K3 К7 К5 К6 K10 K18 К9 К13 К11 К12.... В результате такой перестановки кадров первый кадр (К1) является первым кодированным опорным кадром, второй кадр является кодированным с предсказанием, где кодированный К1 используется как опорный кадр для предсказания. Третий кадр КЗ является кодированным с двунаправленным предсказанием. Далее, так как кодирование с предсказанием не выполняется для опорного кадра, то сигнал изображения через первый вход второго переключателя (42) поступает в блок дискретного косинусного преобразования (43), на выходе которого формируются частотные коэффициенты амплитуд. Частотные коэффициенты амплитуд поступают в квантователь (44), где происходит их деление и округление до ближайшего целого значения (квантование). Далее квантованные коэффициенты преобразуют в энтропийном кодере (45).
Квантованные коэффициенты параллельно поступают в инверсный квантователь (46), где происходит восстановление значений частотных коэффициентов амплитуд с некоторой ошибкой. Далее восстановленные коэффициенты подвергаются обратному дискретному косинусному преобразованию, и на выходе соответствующего блока (47) формируются кадры изображения. Кадры изображения с выхода блока обратного дискретного косинусного преобразования (47) суммируются в третьем сумматоре (49) с выбранным предсказанным кадром изображения и на выходе третьего сумматора (49) формируется локально декодированные кадры изображения.
Соответствующие локально декодированные кадры изображения записываются в первое запоминающее устройство (51) как опорный кадр, предсказанный кадр записывается во второе (52) запоминающее устройство. С другой стороны, локально декодированные кадры изображения, являющиеся двунаправлено предсказанными, не записываются ни в первое (51), ни во второе (52) запоминающие устройства.
Когда локально декодированный кадр изображения является предсказанным кадром, который используется только для предсказания "вперед", опорный кадр из первого запоминающего устройства (51) считывается, и предсказание движения для каждого макроблока (базовый блок для обработки 16 пикселов × 16 строк) выполняется блоком оценки движения (53). Этот блок оценивает функцию стоимости для каждого макроблока и определяет один макроблок, который имеет ближайшее значение по сравнению с текущим макроблоком, как с предсказанным кадром, и одновременно формирует на выходе соответствующий вектор движения.
Вектор движения поступает на блок компенсации движения (50) и на выходе этого блока формируется кадр с предсказанным движением.
В этом случае блок компенсации движения (50) формирует предсказанное движение в кадре, используя опорное изображение из первого запоминающего устройства (51), и на выходе формируется сигнал предсказанного изображения.
Далее, локально декодированные сигналы всех макроблоков предсказанного кадра поступают во второе запоминающее устройство (52).
Блок оценки движения выполняет (53) предсказание "вперед", используя опорное изображение из первого запоминающего устройства (51), предсказание "назад", используя опорное изображение из второго запоминающего устройства (52), и двунаправленное предсказание используя как опорное изображение с выхода первого запоминающего устройства (51), так и с выхода второго запоминающего устройства (52) для выбора одного из режимов предсказания с учетом значений смещений текущего блока в смежных опорных и предсказанных кадрах. На выходе блока оценки движения (53) формируются сигналы вектора движения для каждого макроблока, которые поступают в энтропийный кодер (45).
На выходе блока оценки движения (53) в соответствии с режимом предсказания "вперед" или "назад" формируется сигнал предсказанных кадров изображения, параллельно поступающий на второй вход четвертого вычитателя (41) и на сигнальный вход второго ключа (48).
Когда макроблоки подвергаются внутрикадровому кодированию, то изображение с выхода блока перестановки кадров (40) проходит через второй переключатель (42) и далее обрабатывается аналогично предсказанному кадру.
Первый буфер (54) заполняется и опустошается с разными скоростями и тем самым позволяет выравнивать скорость цифрового потока на выходе сжимающего кодера (12). При переполнении или опустошении первого буфера (54) блок управления квантованием (39) изменяет величину коэффициентов квантования.
На фиг.11 показан блок объединения цифровых потоков (37), включающий в себя первый (58) и второй (59) делители частоты на два, первый логический элемент "И" (60), третий (55), четвертый (57) и пятый ключи (64), седьмую (61) и восьмую (56) линии задержки на такт, девятую линию задержки (62) на два такта, десятую линию задержки (63) на три такта, четвертый сумматор (65). На вход первого делителя частоты (58) поступает сигнал синхронизации с частотой 27 МГц от генератора тактовых импульсов (11), на вход третьего ключа (55) поступает сигнал Y с выхода блока коррекции (4), на вход восьмой линии задержки (56) поступает сигнал U, на вход десятой линии задержки (63) поступает сигнал V. На выходе блока объединения цифровых потоков формируется сигнал объединенного цифрового потока, поступающий на первый вход блока перестановки кадров (40).
На фиг.12 показана схема блока перестановки кадров (40). Он включает в себя третье ЗУ (66), шестой (67), седьмой (70), восьмой (73) ключи, одиннадцатую линию задержки (68) на 2 периода кадра (Tk), двенадцатую линию задержки (71) на 3Tk, пятый (69), шестой (72) и седьмой (76) сумматоры и схему управления ключами, включающую в себя: первый (74), второй (77), третий (81) триггеры; первый (79), второй (80) счетчики до трех; тринадцатую линию задержки (78) на Tk; второй логический элемент "НЕ" (75). На вход тринадцатой линии задержки (78) поступает сигнал синхронизации с частотой кадров от генератора тактовых импульсов (11). Триггеры подключены следующим образом: вход S первого триггера (74) соединен с выходом тринадцатой линии задержки (78), а выход Q первого триггера (74) соединен с управляющим входом шестого ключа (67); вход R второго триггера (77) соединен с выходом седьмого сумматора (76), а выход Q второго триггера (77) соединен с управляющим входом седьмого ключа (70); вход R третьего триггера (81) соединен с выходом второго счетчика (80), а выход третьего триггера (81) соединен с управляющим входом восьмого ключа (73).
На вход третьего ЗУ (66) поступают сигналы смежных полей кадров изображения в цифровой форме, а чтение сигналов строк нечетных и четных полей из третьего ЗУ (66) происходит поочередно (1 строка нечетного поля, 1 строка четного поля, 2 строка нечетного поля, 2 строка четного поля и т.д.). Таким образом, на вход шестого ключа (67) поступают сигналы кадров изображения (К), условно объединенные в группы кадров, в следующей последовательности: К1 К2 К3 К4 К5 К6 К7 K8 К9 К10 К11 К12 К13.... В момент прихода сигнала кадра К1 шестой ключ (67) замкнут (седьмой (70) и восьмой ключи (73) - разомкнуты) и пропускает сигнал кадра К1 на свой выход. После поступления на управляющий вход шестого ключа (67) сигнала управления ключ закрывается и далее постоянно остается в таком положении. В момент прихода сигналов кадров К2 и К3 седьмой ключ (70) открывается на длительность 2Tk. Сигналы кадров с выходов шестого (67), седьмого (70) и восьмого (73) ключей в выделенные временные интервалы через соответствующие сумматоры поступают на выход блока перестановки кадров.
В табл.1 показано временное положение кадров в различных контрольных точках. Контрольными точками (КТ) являются: КТ 1 - вход шестого ключа, КТ 2 - выход шестого ключа, КТ 3 - выход седьмого ключа, КТ 4 - выход восьмого ключа, КТ 5 - выход блока перестановки кадров.
Табл.1 | |||||||||||
Точка | Время | t1 | t2 | t3 | t4 | t5 | t6 | t7 | t8 | t9 | t10 |
1 | K1 | K2 | К3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | |
2 | K1 | - | - | - | - | - | - | - | - | - | |
3 | - | K2 | К3 | - | K5 | K6 | - | K8 | K9 | - | |
4 | - | - | - | K4 | - | - | K7 | - | - | K10 | |
5 | - | - | K1 | K4 | K2 | КЗ | K7 | K5 | К6 | K10 |
Таким образом, на выходе блока перестановки кадров (40) формируется последовательность кадров вида K1 K4 K2 К3 K7 K5 К6 K10 K8 K9 К13 K11 K12....
На фиг.13 показана схема блока дискретного косинусного преобразования (43). Он включает в себя четвертое-двенадцатое ЗУ (83-91), первый-восьмой арифметико-логический блоки (99-106), первый-седьмой регистры (92-98), восьмой (82) и девятый (107) сумматоры. На фиг.14 показана схема арифметико-логического блока (первый-восьмой). Он включает в себя третий умножитель (108), десятый сумматор (109) и восьмой регистр (110).
Блок дискретного косинусного преобразования (43) предназначен для повышения эффективности кодирования, которая связана с тремя факторами:
1) в процессе преобразования ряд коэффициентов становятся настолько малыми по величине, что их можно отбросить без заметного изменения качества восстановленного изображения;
2) в процессе преобразования осуществляется декорреляция данных, обеспечивающая повышение эффективности статистического кодирования;
3) нелинейное квантование коэффициентов преобразования позволяет существенно сократить объем передаваемой информации без заметного изменения качества изображения при его восстановлении.
Двумерное ДКП играет ключевую роль в обработке изображений. Алгоритм двумерного ДКП применяется к блокам изображения фиксированного размера 8×8 пикселов. Выражение показывает преобразование блока изображения, где с i,k и ci,j и коэффициенты преобразования, содержащие косинусные функции. Основной операцией при вычислении ДКП является умножение с накоплением, выполняемое в арифметико-логическом блоке.
На вход блока дискретного косинусного преобразования (43) поступает последовательность отсчетов кадра изображения, которая, проходя через восьмой сумматор (82), записывается в четвертое ЗУ (83). Далее отсчеты по строке кадра изображения распределяются по первому-седьмому регистрам (92-98). Каждый арифметико-логический блок, схема которого представлена на фиг.14, вычисляет выходной отсчет путем перемножения с накоплением результата последовательности входных отсчетов, поступающих на первый вход арифметико-логического блока, с соответствующими косинусными коэффициентами, поступающими из пятого-двенадцатого ЗУ (84-91) коэффициентов на второй вход арифметико-логического блока. С выхода третьего умножителя (108) отсчеты поступают на первый вход десятого сумматора (109), на второй вход десятого сумматора (109) поступают значения предыдущего отсчета. С выхода десятого сумматора (109) коэффициенты поступают через восьмой регистр (110) на выход арифметико-логического блока.
В соответствующем порядке последовательность отсчетов по строке с выхода арифметико-логического блока через восьмой сумматор (82) поступает в четвертое ЗУ (83), из которого считывается по столбцам для реализации двумерного ДКП, которое может быть реализовано в виде двух последовательных одномерных преобразований, применяемых по горизонтали и вертикали к каждой строке и столбцу блока изображения.
Схема блока обратного дискретного косинусного преобразования (47) является аналогичной схеме блока дискретного косинусного преобразования (43), отличаясь только значениями коэффициентов, содержащихся в пятом-двенадцатом ЗУ (84-91).
На фиг.15 показана схема квантователя (44). Он включает в себя третий счетчик (112), тринадцатое (111), четырнадцатое (114) и пятнадцатое (117) ЗУ, третий переключатель (113), четвертый (115) и пятый (116) умножители, одиннадцатый сумматор (119), первый компаратор (118).
Под операцией квантования понимается деление коэффициентов дискретного косинусного преобразования (К), поступающих на первый вход пятого умножителя (116), на некоторое число N-коэффициент квантования, с последующим округлением результата, т.е. . Для этого поступающие на первый вход пятого умножителя (116) коэффициенты дискретного косинусного преобразования блоков кадра типа I (P, В) умножают на соответствующие коэффициенты квантования (в минус первой степени) в четвертом умножителе (115), поступающие через третий переключатель (113) из тринадцатого ЗУ (111) (или четырнадцатого ЗУ (114)), содержащих коэффициенты квантования для кадров типа Р и В (или I), поступающие на первый вход четвертого умножителя (115), на второй вход четвертого умножителя поступает нормировочный коэффициент с выхода блока управления квантованием (39), с выхода четвертого умножителя (115) сигнал поступает на первый вход пятого умножителя (116). Для выделения кадра типа I используется третий счетчик (до 13) (112), значения которого увеличиваются на единицу сигналом синхронизации, следующим с частотой кадров, поступающим на счетчик от блока генератора тактовых импульсов (11), выходной сигнал третьего счетчика (112) переключает третий переключатель (113) в положение, соединяющее вход третьего переключателя (113) с выходом четырнадцатого ЗУ (114) на время длительность одного кадра.
С выхода пятого умножителя (116) дробная и целая части результата умножения записываются в соответствующие ячейки пятнадцатого ЗУ (117). С выхода пятнадцатого ЗУ (117) дробная часть поступает на первый компаратор (118), который формирует на выходе значение "0" или "1", которое далее складывается со значением целой части. Пятнадцатое ЗУ (117), одиннадцатый сумматор (119) и первый компаратор (118) образуют блок округления. Таким образом, на выходе квантователя (44) формируются квантованные коэффициенты дискретного косинусного преобразования (Q).
На фиг.16 показана схеме инверсного квантователя (46). Он включает в себя шестой (121), седьмой (122) умножители, четвертый счетчик (120), четвертый переключатель (123), шестнадцатое (124), семнадцатое (125) ЗУ.
Инверсный квантователь (46) предназначен для восстановления из квантованных значений Q значений коэффициентов дискретного косинусного преобразования К' с точностью до ошибки квантования. Поступающие на первый вход шестого умножителя (121) квантованные коэффициенты дискретного косинусного преобразования Q блоков кадра умножаются на соответствующие коэффициенты квантования (7V) в шестом умножителе (121), т.е. K'=NQ, поступающие через четвертый переключатель (123) на второй вход блока шестого умножителя (121) от шестнадцатого ЗУ (124) (семнадцатого ЗУ (125)) и умноженные на нормировочный коэффициент (в минус первой степени) в седьмом умножителе (122), который поступает на первый вход седьмого умножителя (122) с выхода блока управления квантованием (39). Для выделения опорного кадра используется четвертый счетчик (до 13) (120), значения которого увеличиваются на единицу сигналом синхронизации, поступающим на четвертый счетчик с частотой кадров с выхода генератора тактовых импульсов (11). Выходной сигнал четвертого счетчика (120) переключает четвертый переключатель (123) в режим соединения со своим входом выхода шестнадцатого ЗУ (124) на длительность одного кадра.
На фиг.17 показана схема блока оценки движения (53). Он включает в себя пятый переключатель (126), пятый счетчик (127), формирователь адреса (128), восемнадцатое (129), девятнадцатое (131), двадцатое (133) ЗУ, блок вычисления (130), пятый вычитатель (132), первый блок сравнения (134). Схема блока вычисления (130) показана на фиг.18. Он включает в себя шестой вычитатель (135), блок вычисления абсолютного значения (136), девятый регистр (137). Заметим, что блок вычисления абсолютного значения (136) обычно реализуется путем параллельного включения двух детекторов, каждый из которых детектирует сигнал определенной полярности с последующим объединением их выходов на общую шину.
Блок оценки движения (53) предназначен для определения вектора движения между блоками двумя кадрами. Для реализации оценки движения в системах кодирования изображений наиболее широко используется метод, называемый алгоритмом сопряжения блоков. В этом методе выполняется разбиение изображения на квадратные блоки и производится сравнение каждого блока в текущем кадре (опорный блок) с блоками в некоторой области предыдущего кадра (область поиска). Эта процедура определяет оптимум выбранной функции стоимости.
Одним из наиболее точных является метод полного поиска, заключающийся в оценке функции стоимости во всех возможных положениях в опорном блоке в пределах области поиска. Главный недостаток этого метода - его вычислительная сложность связана с размером области поиска. Фактически, требуется (2p+1) 2 оценок функции стоимости, где p - максимальное смещение опорного блока в области поиска в четырех направлениях.
В качестве функции стоимости наиболее широко применяется минимальная средняя абсолютная ошибка
где N - размер блока, х - пиксел в опорном блоке, хA - пиксел в области поиска. На выходе блока оценки движения (53) формируется вектор движения для каждого блока.
На первый вход пятого переключателя (126) поступает сигнал кадра изображения блочного формата типа I, на второй вход - сигнал предыдущего кадра изображения блочного формата, на третий вход - сигнал текущего кадра изображения блочного формата. На вход пятого счетчика (127) - сигнал синхронизации, поступающий с частотой кадров. Когда значение пятого счетчика (127) достигает 4, пятый переключатель (126) на длительность одного кадра соединяет первый, второй или третий входы с соответствующими своими выходами.
С выходов пятого переключателя (126) сигналы кадров блочного формата предыдущего кадра поступают на вход восемнадцатого ЗУ (129), а сигнал последующего кадра - на вход девятнадцатого ЗУ (131). Формирователь адреса (фактически являющийся формирователем шины адреса, реализованным на базе многорежимного буферного регистра) формирует (128) сигналы для считывания по определенному адресу, поступающие на адресные входы восемнадцатого (129) и девятнадцатого (131) ЗУ с первого и второго выходов формирователя адреса (128) соответственно. Параллельно сигналы адресов блоков, содержащихся в девятнадцатом (131) и двадцатом (133) ЗУ, соответствующие пространственным координатам блока в пределах кадра, с первого и второго выходов формирователя адреса (128) поступает на первый и второй входы пятого вычитателя (132) соответственно, на выходе которого формируется вектор движения, поступающий в двадцатое ЗУ (133).
Считывание блоков из восемнадцатого (129) и девятнадцатого (131) ЗУ производится таким образом, что из восемнадцатого ЗУ (129) по очереди выбираются опорные блоки размером N×N пикселов, поступающие на первый вход блока вычисления (130), а из девятнадцатого - выбираются блоки размером N×N из области поиска размером 2р×2р (N<2р), соответствующие опорному блоку, выбранному из восемнадцатого ЗУ (129), которые поступают на второй вход блока вычисления (130). В блоке вычисления (130) формируется функция стоимости D. После того как D была определена для всех блоков из области поиска, в первом блоке сравнения (134) определяется наименьшая функция стоимости Dmin и формируется сигнал, поступающий на адресный вход двадцатого ЗУ (133), соответствующий адресу вектора движения блока, записанного в двадцатом ЗУ (133), который имеет Dmin. Таким образом, на выходе двадцатого ЗУ (133) формируется вектор движения, соответствующий Dmin.
На фиг.19 показана схема блока компенсации движения (50). Он включает в себя шестой (138), седьмой (144), восьмой (148) и девятый (152) счетчики, двадцать первое (140), двадцать второе (141), двадцать третье (142), двадцать четвертое (146), двадцать пятое (147), двадцать шестое (150) и двадцать седьмое (151) ЗУ, двенадцатый (139), тринадцатый (143), четырнадцатый (145) и пятнадцатый (149) сумматоры, шестой переключатель (153).
Блок компенсации движения (50) предназначен для восстановления положений блоков кадра по их векторам движения. Сигнал вектора движения параллельно поступает на первые входы двенадцатого (139), тринадцатого (143) и пятнадцатого (149) сумматоров. Текущий кадр изображения параллельно поступает на соответствующие входы двадцать первого (140) и двадцать третьего (142) ЗУ. Предыдущий кадр изображения параллельно поступает на соответствующие входы двадцать пятого (147) и двадцать шестого (150) ЗУ.
На второй вход двенадцатого сумматора (139) поступает сигнал адреса блока опорного кадра с выхода шестого счетчика (138), определяющего адрес данного блока в двадцать первом ЗУ (140), в соответствие с его пространственным положением в кадре. С выхода двенадцатого сумматора (139) сумма вектора движения и адреса (текущих координат) блока поступает на адресный вход двадцать второго ЗУ (141). На другой вход блока двадцать второго ЗУ (141) поступает сигнал блока кадра с выхода двадцать первого ЗУ (140), который будет записан в двадцать второе ЗУ (141) на соответствующее место. С выхода двадцать второго ЗУ (141) кадр изображения с компенсированным движением поступает на первый вход шестого переключателя (153).
Скорректированный адрес данного блока с выхода седьмого счетчика (144) параллельно поступают на адресные входы двадцать третьего (142) и двадцать пятого (147) ЗУ и на второй вход тринадцатого сумматора (143). Кадры изображений с выхода двадцать третьего (142) и двадцать пятого (147) ЗУ поступают на первый и второй входы четырнадцатого сумматора (145) соответственно. С выхода четырнадцатого сумматора (145) поступают блоки суммарного кадра на вход двадцать четвертого ЗУ (146). С выхода тринадцатого сумматора (143) на адресный вход двадцать четвертого ЗУ (146) поступает адрес (координаты) данного блока с учетом вектора движения. С выхода двадцать четвертого ЗУ (146) кадр изображения с компенсированным движением поступает на второй вход шестого переключателя (153).
Адрес (координаты) данного блока с выхода восьмого счетчика (148) параллельно поступают на адресный вход двадцать шестого ЗУ (150) и второй вход пятнадцатого сумматора (149). Координаты данного блока с учетом вектора движения с выхода пятнадцатого сумматора (149) поступают на адресный вход двадцать седьмого ЗУ (151). С выхода двадцать седьмого ЗУ (151) кадр изображения с компенсированным движением поступает на третий вход шестого переключателя (153).
На вход девятого счетчика (152) поступает сигнал синхронизации с частотой кадров. Сигнал с выхода девятого счетчика (152) поступает на управляющий вход шестого переключателя (153). Когда значение девятого счетчика (152) равно 3 и 4, второй вход шестого переключателя (153) соединен с выходом. Когда значение девятого (152) счетчика равно 1 и 2, первый и третий входы шестого переключателя (153) соответственно соединены с выходом шестого переключателя (153).
На фиг.20 показана схема энтропийного кодера (45). Он включает в себя блок преобразования (154), шестнадцатый (155) и семнадцатый (161) сумматоры, второй компаратор (156), четвертый триггер (157), седьмой переключатель (158), десятый (159) и одиннадцатый (160) регистры.
Энтропийный кодер (45) предназначен для преобразования входных данных в кодовые слова переменной длины и их объединения в выходные слова длиной 16 бит.
На первый вход блока преобразования (154) поступают квантованные коэффициенты дискретного косинусного преобразования кадров изображения от квантователя (44), на второй вход - вектора движения от блока оценки движения (53). Блок преобразования (154) преобразует входные данные в кодовые слова переменной длины и формирует сигнал длины соответствующей кодовой комбинации.
С первого выхода блока преобразования (154) на первый вход шестнадцатого сумматора (155) поступает сигнал длины, соответствующей кодовой комбинации, поступающей со второго выхода блока преобразования (154) на сигнальный вход седьмого переключателя (158). Шестнадцатый сумматор (155) суммирует поступающие на него значения длин кодовых комбинаций до тех пор, пока значение суммы не превосходит значение 16, после чего шестнадцатый сумматор (155) сбрасывается и принимает значение величины, на которую последнее значение шестнадцатого сумматора (155) превосходило значение 16 (шестнадцатый сумматор (155) может быть реализован с использованием накапливающего сумматора).
С выхода шестнадцатого сумматора (155) сигнал поступает на второй компаратор (156), который при превышении на своем входе значения 16 формирует соответствующий сигнал на своем выходе и перебрасывает четвертый триггер (157), который остается в таком положении до прихода следующего сигнала на свой вход. Сигнал с выхода четвертого триггера (157) поступает на управляющий вход седьмого переключателя (158), который соединяет свой вход с первым или вторым выходом, что обеспечивает поочередное заполнение десятого (159) и одиннадцатого (160) регистров кодовыми словами длиной по 16 бит, которые затем через семнадцатый сумматор (161) поступают на выход энтропийного кодера (45).
На фиг.21 показана схема блока преобразования (154). Он включает в себя второй - двадцать второй блоки сравнения (162-182), число которых определяется числом кодовых комбинаций для квантованных коэффициентов дискретного косинусного преобразования кадров изображения, двадцать третий - пятьдесят третий блоки сравнения (183-213) для векторов движения, восемнадцатый (214) и девятнадцатый сумматоры (215). Блок сравнения предназначен для выделения определенной группы входных битов и преобразования ее в соответствующее кодовое слово.
На фиг.22 показана схема блока сравнения (2-53). Он включает в себя двенадцатый (216) и тринадцатый (220) регистры, седьмой вычитатель (217), третий компаратор (218), двадцать восьмое (221) и двадцать девятое (222) ЗУ, девятый (219) и десятый ключи (223).
На вход блока сравнения поступает группа входных битов, записываемых в двенадцатый регистр (216). С выхода двенадцатого регистра (216) группы входных битов поступают на первый вход седьмого вычитателя (217). На второй вход седьмого вычитателя (217) поступает опорная группа битов с выхода двадцать восьмого ЗУ (221). В случае, когда входная и опорная группы битов совпадают, на выходе седьмого вычитателя (217) формируется соответствующий сигнал "0", который поступает на вход третьего компаратора (218). Третий компаратор (218) на своем выходе формирует сигнал управления (закрытия) девятым (219) и десятым (223) ключами, параллельно поступающий на их управляющие входы. На сигнальный вход девятого ключа (219) поступает кодовое слово переменной длины (КС) с выхода тринадцатого регистра (220), которое проходит на выход девятого ключа (219). На сигнальный вход девятого ключа (219) поступает сигнал длины КС с выхода двадцать девятого ЗУ (222), который проходит через десятый ключ (223) на выход блока сравнения.
С соответствующих выходов блоков сравнения сигнал длины КС через восемнадцатый сумматор (214) поступает на первый вход шестнадцатого сумматора (161), а через девятнадцатый сумматор (215) сигнал КС поступает на сигнальный вход седьмого переключателя (158).
На фиг.23 показана схема блока управления квантованием (39). Он включает в себя тридцатое ЗУ (224), восьмой вычитатель (225), десятый счетчик (226), делитель (227), блок округления (228) (рассмотрен ранее, в составе квантователя (44)). Блок управления квантованием (39) предназначен для управления скоростью цифрового потока путем изменения коэффициентов квантования.
На вход десятого счетчика (226) поступают биты с выхода энтропийного кодера (45), увеличивая значение десятого счетчика (226), значения которого С за заданный интервал времени t поступают на первый вход восьмого вычитателя (225). На второй вход восьмого вычитателя (225) поступает значение объема первого буфера В из тридцатого ЗУ (224). В случае переполнения первого буфера (54) на выходе восьмого вычитателя (225) формируется разностный сигнал R=C-B, поступающий на первый вход делителя (227). На второй вход делителя (227) поступает значение объема первого буфера (54) из тридцатого ЗУ (224). На выходе делителя (227) формируется сигнал D=(C-B)/B, характеризующий степень переполнения первого буфера (54), поступающий на вход блока округления (228). На выходе блока округления (228) формируется нормировочный коэффициент, который поступает на соответствующий вход квантователя (44) и инверсного квантователя (46).
На фиг.24 показана схема блока управления режимом кодирования (38). Он предназначен для выбора режима кодирования (межкадровое/внутрикадровое) и включает в себя одиннадцатый (229) счетчик и четвертый компаратор (230). На вход одиннадцатого счетчика (229) поступает сигнал синхронизации с частотой кадров, увеличивая значения одиннадцатого счетчика (229), сигнал с выхода одиннадцатого счетчика поступает на вход четвертого компаратора (230), который при значении сигнала, равном 12-ти на своем входе, формирует на выходе сигнал, являющийся сигналом управления, параллельно поступающий на управляющие входы второго переключателя (42) и второго ключа (48).
В результате происходит улучшение качества сигнала изображения за счет преобразования сигналов четных и нечетных полей исходного кадра изображения в сигналы кадров изображения с устранением в смежных кадрах чересстрочных искажений геометрической структуры на границах движущихся объектов изображения, в результате чего при преобразовании сигналов кадров изображения блочного формата, включающих сигналы четных и нечетных полей изображения, в которых отсутствуют чересстрочные искажения геометрической структуры на границах движущихся объектов изображения, вызванные различным положением движущихся участков изображения в четных и нечетных полях одного кадра, в совокупности частотных спектральных составляющих, не происходит значительного роста значения амплитуд, соответствующих чересстрочным искажениям структуры спектральных составляющих, что повышает эффективность работы сжимающего кодера и приводит к повышению четкости и снижает искажения яркости участков изображения.