И.И. Айзенберг л Л.ГІ. Ярославский
ДВУХЭТАПНЫЙ ТРАНСФОРМАЦИОННЫЙ МЕТОД КОДИРОВАНИЯ ИЗОБРАЖЕНИЙ
1. Введение
Практически все известные методы кодирования изображений, направленные на устранение избыточности их цифрового описания, построены по следующей классической схеме: линейное преобразование - изображения или его фрагментов, поэлементное квантование полученных коэффициентов преобразования (рис. 1).
В соответствии с основными представлениями теории [1] информации самым общим методом квантования, позволяющим достичь теоретического нижнего предела
объема описания - эпсилон энтропии, является блочное квантование. Однако практические трудности осуществления блочного квантования побуждают отыскивать такое преобразование, после которого в блочном квантовании не было бы надобности и оно могло бы быть заменено существенно более простым в практической реализации поэлементным квантованием. Очевидно, что для этого преобразование должно быть таким, чтобы отсчеты сигнала после преобразования стали бы статистически независимыми. Найти такое преобразование обычно не удается, ибо оно требует измерения многомерных распределений отсчетов сигнала, что практически невозможно. Если же ограничиться только классом линейных преобразований, то максимум чего можно добиться, так это декоррелированности отсчетов сигнала. Такое декоррелирующее преобразование называется преобразованием Карунена-Лоэва. В практике кодирования изображений используются различные ортогональные преобразования, в той или иной мере приближающиеся по эффективности декорреляции к преобразованию Карунена-Лоэва. Одним из наилучших среди них является так называемое косинусное преобразование [2].
Но декоррелированность еще не означает статистическую независимость. Сохраняющаяся статистическая избыточность коэффициентов преобразования для раз-
личных видов базисов преобразований может проявляться по-разному. Общим решением проблемы устранения этой избыточности по-прежнему остается блочное квантование. Существует, однако, ряд базисов, достаточно близких по своим декоррелирующим свойствам к базису Ка-рунена-Лоэва и характеризующихся тем, что остающаяся статистическая зависимость
коэффициентов преобразования проявляется очень просто: при естественном для них упорядочивании коэффициентов преобразования модуля этих коэффициентов обладают устойчивой тенденцией к быстрому убыванию с ростом их номера. Это известное и характерное свойство спектров изображений в базисах преобразования Фурье, Уолша, косинусного преобразования и других. Более того, из эксперимента известно, что достаточно значительное искажение квадрата модуля спектра изображения в таких базисах незначительно сказывается на качестве воспроизведения изображения [з]. Так мы приходим к идее двухэтапного трансформационного способа кодирования изображений, состоящей в том (рис. 2), что на первом этапе кодирования выполняется первое преобразование, затем вычисляются амплитуда (модуль) и знак (или фаза) коэффициентов преобразования, знаки
(фаза) подвергаются поэлементному квантованию, а последовательность амплитуд коэффициентов поступает на второй этап кодирования, например, снова посредством того или иного преобразования и последующего поэлементного квантования.
Из сказанного ясно, что двухэтапный способ кодирования потенциально обещает более высокую степень сжатия, чем классические трансформационные способы, основанные на преобразовании Ка-рунена-Лоэва и его аппроксимациях. Достижимая степень сжатия для этого метода определяется количеством бит на элемент, необходимых для передачи знака (фазы) и амплитуды спектральных компонент изображения. Для передачи знака компонент требуется, очевидно, не более 1 бита на компоненту. Допустимость существенного искажения амплитуд компонент позволяет надеяться, что, используя этот метод кодирования, можно сжать объем описания изображений до величины порядка 1 бита на элемент изображения.
В данной статье описаны результаты экспериментов по исследованию возможностей различных вариантов такого двухэтапного метода кодирования изображений. Эксперименты проводились с изображениями размером 256x256 элементов при 8 битах (256 уровней) на элемент изображения.
2. Выбор первого преобразования и схемы кодирования амплитудной компоненты спектра
Для обеспечения кодирования амплитудной компоненты спектра необходимо, чтобы последовательность амплитуд преобразования была возможно ближе к моно-
тонне убывающей и в то же время убывала максимально быстро. Нами исследовались в качестве базисов разложения для первого преобразования базисы преобразования Уолша и косинусного преобразования. При этом косинусное преобразование рассматривалось как дающее потенциально наиболее быстро убывающий спектр благодаря тому, что при его использовании минимизируются краевые эффекты преобразования последовательностей конечной длины N.
Для кодирования последовательности отсчетов амплитуды спектра косинусного преобразования изображений была выбрана схема, предусматривающая нелинейное предискажение значений отсчетов и последующую нелинейную коррекцию при восстановлении. Нелинейное предискажение вводится для уменьшения влияния ошибок аппроксимации амплитудного спектра на качество реконструкции (декодирования) спектра. Вид предискажающей функции определяется критерием точности реконструкции спектра. Пусть а(к, I) - отсчеты амплитуды спектра; f - функция преобразования; Ь(к, I) - преобразованные знамения, подвергающиеся аппроксимации:
(1)
да(к, I) - ошибка аппроксимации, последовательности а(к, I), ДЬ (к , I) - ошибка аппроксимации преобразованных отсчетов Ь(к, I). Очевидно, при малых да(к, I), ДЬ(к, I)
дЬ(к, 1) « ~ Д а ( к , I).
Мы исходим из порогового критерия:
(2)
(3)
где а0 - некоторая константа. Он означает, что при малых значениях (а<<а0) ограничивается абсолютная ошибка аппрок' симации и при больших (а>>а0) - относи-
тельная ошибка. Статистический критерий ограничивает среднее по всем"а"значение такой же ошибки.
Найдем оптимальный вид предискажаю-щей функции Ма) для критерия (3). Очевидно, что из (3) следует необходимость поддержания ошибок на уровне порога:
Да(к, 1)=є[а(к, 1)+а ].
Пусть ошибка апороксимации Ь(к, I) не зависит от номера отсчета (к, I).
Тогда из (2) и (3) следует, что
сі_1 _ ДЬ а а Да
ДЬ
(4)
є[а + а0]
Откуда получаем:
а ♦ з
Ь —О
т і п
Ь -Ь .
т а х т п
I п
а
та х с
(5)
I п
Ь - минимальное и максимальное зна-
та х
чения Ь. Без ограничения общности можно выбрать ЬттП=0, при этом величина Ьгпах становится масштабным коэффициентом, который можно выбрать произвольно. Тогда основными параметрами преобразования становятся величины а0 и атах. Величина а0 выбиралась из условия, величина атах выбиралась по фактическому максимальному значению отсчетов амплитуд спектра. При реконструкции спектра после декодирования выполнялось преобразование, обратное (5).
3, Кодирование двумерного спектра
Для аппроксимации модуля двумерного косинусного спектра после его преобразования по (5) использовались следующие функции:
., . .ч а(1а + ^а) . . ,, *
■? ( 1 , р = ------- - С-1-], (6)
Ь( т 3 + ]'3)
Ні, і) =
ьтт+і
у - с(і +і) ,
(7)
где т и ] - номера отсчетов по осям абсцисс и ординат, соответственно т, 1 = 1,2..., М; N=256. Экспериментально установлено, что параметры а, Ь и с, при помощи которых описывается аппроксимирующая функция, меняются в зависимости от конкретного класса изображений (например, крупно- или мелкодетальные). Функции (6) и (7) достаточно хорошо приближают двумерный косинусный спектр на интервалах [N/8, N-1] по обеим координатам, несколько хуже - на интервалах [N/16, N/8]. На интервалах [О/ N/16] , где последовательность модулей спектральных коэффициентов является наименее гладкой и имеет значительные скачки, поведение указанных функций довольно сильно расходится с поведением аппроксимируемой последовательности модулей спектра, т.е. в высокочастотной своей части спектр аппроксимируется хорошо, в области средних частот аппроксимация удовлетворительная, в области же низких частот - неудовлетворительная. Это иллюстрируется рис. 3, на котором представлен профиль модуля дву-
Рис. 3. График сечения двумерного косинусного спектра изображения типа “портрет крупным планом"
мерного спектра изображения "портрет крупным планом". Отсюда следует, что участок последовательности модулей, соответствующий низкочастотной части
спектра (размером примерно 2 *2 д
должен быть закодирован каким-либо иным способом. Параметры в формулах (6) и (7) выбираются исходя из следующего. Параметры а и Ь определяют соответствие поведения аппроксимирующей функции поведению аппроксимируемой. Экспериментально установлено, что в (6) для N=256.
Г0.7^а<1.5 1 10<Ь£20
и в (7)
Г 5£а<10 I0.6<Ь<1.5 .
При этом для"а"облаеть в районе максимума (для Ь - минимума) соответствует крупнодетальным изображениям, противоположные значения дают лучшие результаты на мелкодетальных изображениях. Коэффициент "с" не зависит от класса кодируемого сигнала и изменяется от низкочастотной области к высокочастотной следующим образом:
0.015£с>0.0006 для (6)
О.017>с£0.007 для (7)
Функция (6) лучше приближает косинусный спектр на интервалах [О, N/2] по обеим координатам, а (7) - на интервалах [N/2, Ы] .
На рис. *4 приведены тестовые изображения размером 256x256 элементов; на рис. 5 - результаты экспериментов по их кодированию. Эксперименты проводились следующим образом. Фазовая, (знаковая) часть спектра сохранялась в первоначальном виде. Амплитуда подвергалась преоб-
разованию по (5), после чего аппроксимировалась функциями (6) - в низкочастотной части спектра и (7) - в высокочастотной. Модули спектральных коэффициентов, соответствующих наиболее низким частотам (или "заключенные" в интервале от [О,31] до [0,50] по обеим координатам) подвергались зональному квантованию. Эксперименты показали, что описанная реализация двухэтапного метода позволяет достичь сжатия до 1,3”1,5 бит/элемент.
Классическая реализация трансформационных методов (2) предполагает отбрасывание части спектральных коэффициентов, вносящих наименьший вклад в общую энергию сигнала. Этот прием можно, в принципе, как дополнительный, применить и к описываемому двухэтапно-му методу. На рис. 6 представлены изображения, закодированные тем же способом, что и на рис. 5, однако из их спектров отброшена примерно половина коэффициентов, соответствующих самым высоким частотам. При этом проявляется естественный и неизбежный в таких случаях дефект - дефокусировка восстанавливаемого изображения.
При реализации излагаемого подхода могут встретиться случаи, когда плохо сходящийся спектр, даже после применения к нему процедуры (5), содержит значительное число скачков. Для преодоления такого "дефекта" предлагается следующий прием. Для класса изображений с "плохими" спектрами находится среднее значение модуля спекхра I § I . Затем вычисляется разность I Э | — |5I= Я^ где 1Б1 -модуль спектра кодируемого видеосигнала. |Я1 будет, естественно, более гладкой функцией, чем 181. Отсюда и вытекает возможность использовать |Я| в ка-
Рис. 5- Двухэтапное трансформационное кодирование с двумерным преобразованием
Рис. 6. Двухэтапное трансформационное кодирование с двумерным преобразованием и отбрасыванием части
коэффициентов
честве "нулевого" приближения к модулю спектра. Именно такой подход использован при кодировании изображений типа "портрет крупным планом" (см. рис. 5).
4, Кодирование одномерных спектров
По аналогии с двумерным случаем естественно предположить, что амплитуд-
ная компонента одномерных спектров строк (столбцов) изображений в ортогональных базисах также обладает значительной избыточностью и к ним также приложима идея двухэтапного метода кодирования. Кодирование одномерных спект ров предпочтительнее кодирования двумерных в силу того, что кодирование одномерных спектров существенно проще тех нически. В то же время ясно, что оно
сопряжено с необходимостью точнее передавать аппроксимируемый спектр, чем в двумерном случае, ибо одномерные спектры отдельных строк изображения существенно разнятся друг от друга даже для соседних строк изображения (рис. 7).
Главная проблема реализации идеи двухэтапного трансформационного метода кодирования - выбор функции, аппроксимирующей амплитудную компоненту спектра. Если посмотреть на эту проблему с позиций статистической теории кодирования, то лучшей аппроксимацией множества амплитудных спектров строк изображения будет аппроксимация разложением по базису Карунена-Лоэва. Нулевым приближением по этому ба зису будет приближение средними значениями модулей спектра строк. Вариант такого метода кодирования иллюстрируется на рис. 8. Здесь амплитудная компонента спектра строк изображения в пределах фрагмента из соседних строк заменялась усредненной амплитудной компонентой по всем строкам фрагмента, причем для повышения точности аппроксимации первые 1></10-М/8 спектральных коэффициентов передавались точно, то есть брались из спектра данной строки, а не из усредненного спектра.
Несколько лучшие результаты по сжатию можно получить, если не сохранять механически модули коэффициентов, соответствующих низким частотам, а сохранять только те, которые в некотором смысле заметно отличаются от соответствующих коэффициентов усредненного спектра. Алгоритм обнаружения таких "особых" точек может быть следующим. Пусть е>0 - некоторый порог. Точка к считается особой , если
I f(k>-f<k>!>е,
где "Нк) - модуль к-го спектрального коэффициента строки; Нк) - усредненное значение того же коэффициента, причем
Рис. 7. Графики одномерных косинусных спектров соседних строк изображения
типа "портрет крупным планом"
величина порога выбирается экспериментально и пропорционально стандартному отклонению модулей спектральных коэффициентов строки от усредненного спектра .
Другой технически простой способ аппроксимации модулей спектров строк -использование метода предсказания модуля спектра строк по предыдущим строкам: амплитудная компонента первой строки передается полностью, для второй строки передаются только особые точки, определенные относительно первой строки, а значения амплитуды спектра в остальных точках полагаются равными значениям амплитуд в соответствующих точках первой строки и, вообще, если 1(1, ]) -последовательность амплитуд спектра 1~й строки, ?(1. ]) - ее аппроксимация,
то ? (1 , ^=^1, р, ] =1 , N
? (1, р = ^ '
I?(л -1 , ]) ,
если И(т, р-'Р (т-1 , р|>Е,
Н(т, р--Ж-1, р I <е,
1 =Т7^ •
Рис. 8. Двухэтапное трансформационное кодирование с одномерным преобразованием, вариант 1
Порог є выбирается экспериментально так же, как в предыдущем случае. Эксперименты по такому методу кодирования иллюстрируются рис. 9. Здесь в качестве порога є использовалась величина, пропорциональная стандартному отклонению наблюдаемого спектра от аппроксимации, причем коэффициент пропорциональности принимал следующие значения (і - номер отсчета): 2,5(0^<70) ; 1 , 5 (70< і<1 40) ; 1,0(140£]<200* 0,6(2005і<240);
0(24053^256).
Техника передачи особых точек достаточно проста. Каждая особая точка полностью определяется своим номером в строке, номера же самих строк запоминать не нужно. В самом деле, пусть {к-}} - последовательность, состоящая из номеров особых точек, взятых от 1-й строки до И-й. Ясно, что если номера к\ 5,...,кіз+т соответствуют особым точкам одной строки, то к^+^>к^ при
]< 5 +ш. Если же найдется і], для которого к. <к. , это означает, что
1 І +1 1 і
номер к. соответствует особой точке 1 ) + 1
спектра следующей строки. Это следует из того, что особые точки сосредоточены в основном в низкочастотной области спектра и, как бы ни были похожи соседние строки, именно в этой области они проявляются обязательно, причем всегда в самом начале строки.
Вместо значений самих модулей особых точек спектра целесообразно кодировать их разности (этот прием можно применить и к последовательности координат). Незначительное искажение, вносимое при этом в спектр, не сказывается на качестве декодируемого изображения, цифровое же описание несколько упрощается .
Рис. 9. Двухэтапное трансформационное кодирование с одномерным преобразованием, вариант 2
5, Сравнение двумерного и одномерного двухэтапного трансформационного метода кодирования
Искажения изображений при использовании двухэтапного трансформационного метода кодирования проиллюстрируем на примере вариантов метода (см. рис. 5 и 9). На рис. 10 и 11 показаны усиленные для наглядности поэлементные разности для способов рис. 5 и 9 соответственно. Из сравнения этих рисунков можно сделать следующие выводы.
При использовании двумерного преобразования значительно сильнее проявляется дефокусировка изображения вследст-
вие отбрасывания части высокочастотных коэффициентов. Способ кодирования с одномерным преобразованием в этом смысле более устойчив, так как для достижения той же степени сжатия, что и для двумерного кодирования, он не нуждается в отбрасывании высокочастотных коэффициентов преобразования благодаря возможности простой аппроксимации высокочастотной части амплитудного спектра. Кроме того, благодаря автоматическому обнаружению ^особых" точек в одномерном спектре удается избежать сильного сглаживания формы спектра, которое имеет место в двумерном случае. Аналогичное обнаружение можно производить, конечно, и в двумерном случае, но тогда способ лишился бы своего главного достоинства - простоты .
Рис. 10. Усиленная разность между оригиналами и изображениями, закодированными двухэтапным методом с двумерным преобразованием
Рис. 11. Усиленная разность между оригиналами и изображениями, закодированными двухэтапным методом с одномерным преобразованием, вариант 2
Определенный интерес представляет также сравнение двухэтапного метода кодирования с известным трансформационным кодированием [2]. На рис. 12 иллюстрируется результат применения классического трансформационного метода к одному из тестовых изображений. Даже чисто визуальное сравнение говорит в
пользу двухэтапного'метода. Эксперименты показывают, что при традиционном трансформационном кодировании сжатие до 1,8 бит/элемент сопряжено со значительно большими искажениями сигнала, чем сжатие до 1 ,4—1 ,5 бит/элемент для двухэтапного метода.
Рис. 12. Классическое трансформационное кодирование
Литература
1. Шеннон К. Математическая теория связи // Работы по теории инфор мации и кибернетике. М., ИИЛ, 1963.
2. Ярославский Л.П. Введение в цифровую обработку изображений. М., Сов. радио, 1979.
3. Ахмед Н., Рао И.Р. Ортогональные преобразования • при обработке цифровых сигналов. - М.: Связь, 1980.
Карнаухов В,Н.3 Ярославский Л.П. Коррекция четкости изображений при произвольной "гладкой" дефокусировке // Письма в ЖТФ, 1981. Т. 7. Вып. 15. с. 908-911 .