Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
llama / llama_master_thesis_MPiTK_2006_VM-1.pdf
Скачиваний:
30
Добавлен:
16.04.2013
Размер:
1.6 Mб
Скачать

4. Оптимизация вычислений

работу SPIHT в несколько раз по сравнению с другими реализациями, доступными в интернете.

4.2.Лифтинг-схема для вычисления дискретного вейвлет- преобразования

Лифтинг-схема [24] – это способ ускорения ДВП по сравнению с классическим алгоритмом вейвлет-преобразования с помощью поэтапной фильтрации банком дискретных фильтров. Использование лифтинг-схемы теоретически позволяет сократить время ДВП в 2 раза (на практике такой показатель не достигается, но, тем не менее, ускорение получается существенное).

Пусть фильтр имеет передаточную функцию (ПФ) F(z) = f [n]zn .

n=−∞

Полифазное представление фильтра – это представление передаточной функции фильтра в следующем виде:

M 1

F(z) = zak Bk (zM ) , где Bk (zM ) = f [Mn ak ]zn ,

k=0

n=−∞

ai mod M a j mod M ,

i, j : i j .

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

4.3. Оптимизация алгоритма SPIHT

Существенное ускорение работы SPIHT, подробно описанного в п. 2.4, можно получить, если сделать два несложных наблюдения.

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

58

4. Оптимизация вычислений

динамическое расширение. Новые коэффициенты, занесенные в этот массив, добавляются в его конец.

Во-вторых, следует обратить внимание на вычисление критерия значимости множества Sn (T ). Каждое его вычисление требует перебора всех коэффициентов,

входящих в дерево. Так как коэффициенты вейвлет-преобразования хранятся в оперативной памяти построчно, а коэффициенты, входящие в одно дерево, хранятся в удаленных друг от друга строках, то работа кэш-памяти процессора, не способной вместить массив коэффициентов целиком, становится неэффективной и скорость вычисления критерия Sn (T ) замедляется. Из этого положения несложно найти выход, если до начала работы алгоритма SPIHT построить специальное дерево значимости, значение каждого элемента которого равно максимальному значению среди модулей всех его коэффициентов-потомков. Таким образом, для выяснения значимости того или иного множества потребуется лишь один раз обратиться к элементу дерева значимости, соответствующему этому множеству, и сравнить его с порогом. Такой подход превращает вычисление критерия значимости из самой вычислительно сложной операции алгоритма в одну из самых быстрых.

Наконец, последней оптимизацией является замена всех динамических списков (LIP и LIS) на массивы, для хранения каждого из которых в программе один раз в начале работы программы выделяется большой участок памяти. Это позволяет экономить время, не выделяя каждый раз динамическую память для каждого добавляемого в список элемента и не освобождая ее при удалении. Такой подход сокращает время работы в режиме ядра операционной системы до минимума, к тому же гарантируя последовательное расположение элементов списка в оперативной памяти, что положительно сказывается на вероятности попадания в кэш операций чтения из нее. Однако следует отметить, что недостатком такого подхода является перерасход оперативной памяти, который в некоторых случаях (например, при аппаратной реализации алгоритма) может превратиться в серьезную проблему.

59

4. Оптимизация вычислений

4.4.Выводы

Вглаве 4 рассмотрены вопросы оптимизации алгоритмов, входящих в состав видеокодека. Решение этих вопросов позволило использовать кодек для работы в реальном масштабе времени.

60

Заключение

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

Предложенный алгоритм был реализован на языке C в виде библиотеки для семейства операционных систем Windows (хотя в силу того, что библиотека не использует специфические для Windows функции, не составит труда перенести ее на любую другую операционную систему). Библиотека устанавливается в систему как стандартный видеокодек и позволяет кодировать видеофайлы или видеопотоки (например, с помощью Virtual Dub или системы видеонаблюдения) и декодировать их с помощью любого программного проигрывателя.

Результаты проведенной работы отражены в двух публикациях автора [25, 26]. Предложенный алгоритм в сравнении со стандартным видеокодеком MPEG-2 показал приемлемые результаты, которые позволяют надеяться на то, что в следующих версиях его производительность удастся поднять до современного

уровня. Для этого предлагаются пути дальнейшего развития кодека:

улучшение схемы кодирования цветоразностных компонент;

улучшение схемы кодирования P-кадров;

использование B-кадров при кодировании;

отказ от фиксированных битовых затрат на кодирование уточняющего изображение, учет качества его сжатия;

адаптивная расстановка ключевых кадров в пределах заданной группы кадров;

повышение точности компенсации движения, например, путем использования компенсации движения в области вейвлет-преобразования;

использования алгоритмов постобработки для повышения качества декодированного изображения.

61

Литература

1.Умняшкин С.В. Математические методы и алгоритмы цифровой компрессии изображений с использованием ортогональных преобразований // Дисс. на соиск. уч. степ. д-ра физ.-мат. наук. - М., 2002. - 382 с.

2.Методы компьютерной обработки изображений // Под ред. В.А. Сойфера. – 2-е изд., испр. – М.: Физматлит, 2003. – 784 с.

3.Ватолин Д. и др. Методы сжатия данных. Устройство архиваторов, сжатие изображений и видео / Ватолин Д., Ратушняк А., Смирнов М., Юкин В. – М.:

Диалог-МИФИ, 2002. – 384 с.

4.Habibi A., Wintz P.A. Image coding by linear transformation and block quantization // IEEE Trans. Comm. Tech. – 1971. – V. COM-19. – P.50-63.

5.Прэтт У. Цифровая обработка изображений: пер. с англ. – М.: Мир, 1982. – Кн. 1 и 2. – 312 и 480 с.

6.G.K. Wallace. The JPEG still-picture compression standard // Communications of the ACM, vol.34, pp. 30-40, April 1991.

7.Nasrabadi N.M., King R.A. Image coding using vector quantization: A review // IEEE Trans. on Communication. – 1988. – V. 36. – No.8. – P. 957-971.

8.I. Daubechies. Ten Lectures on wavelets. SIAM, Philadelphia, 1992.

9.C. Christopoulos, A. Skodras, T. Ebrahimi. The JPEG2000 Still Image Coding: An Overview. IEEE Transactions on Consumer Electronics, Vol. 46, No. 4, pp. 11031127, November 2000.

10.Nelson M., Gailly J.-L. The Data Compression Book (Second Edition). New York: M&T Books, 1995. – 541 p.

11.Xiaohui Xue, Wen Gao. Context-based statistical model for DCT-based image coder. Proceedings of Picture Coding Symposium – 99. Oregon State Univ. 21-23 April 1999, pp.383-385. Corvallis, OR, USA.

12.S. Kim, S. Rhee, J.G. Jeon, K.T. Park. Interframe Coding Using Two-Stage Variable Block-Size Multiresolution Motion Estimation and Wavelet Decomposition. IEEE Transactions on Circuits and Systems for Video Technology, vol. 8, pp. 399–410, August 1998.

62

13. C.I. Podilchuk, N.S. Jayant, N. Farvardin. Three-dimensional subband coding of video. IEEE Transactions on Image Processing, Volume 4, Issue 2, Feb. 1995, pp. 125-139.

14. T. Koga, K. Iinuma, A. Hirano, Y. Iijima, T. Ishiguro. Motion-compensated interframe coding for video conferencing. IEEE NTC, pp. 531-534, 1981.

15.S. Zhu, K.K. Ma. A new diamond search algorithm for fast block matching motion estimation. Proc. of Int. Conf. Information, Communications and Signal Processing, vol. 1, 1997, pp. 292-296.

16.Chun-Ho Cheung, Lai-Man Po. A novel cross-diamond search algorithm for fast block motion estimation. IEEE Trans. Circuits Syst. Video Techn., vol. 12, Dec. 2002, pp. 1168-1177.

17.A. Said, W.A. Pearlman. A New Fast and Efficient Image Codec Based on Set Partitioning in Hierarchical Trees. IEEE Transactions on Circuits and Systems for Video Technology, vol. 6, pp. 243-250, June 1996.

18.Умняшкин С.В., Стрелков Ф.В., Жуков В.Г. Трехшаговые алгоритмы поиска перемещенных блоков изображения // Информационные технологии и системы управления. Сборник научных трудов под ред. В.А. Бархоткина. – М: МИЭТ, 2000. – С. 47-55.

19.G.N.N. Martin. Range encoding: an algorithm for removing redundancy from a

digitised message. Presented to the Video & Data Recording Conference, Southampton, July 24-27, 1979.

20. I.H. Witten, R.M. Neal, J.G. Cleary. Arithmetic coding for data compression

// Communications of the ACM, vol.30, no.6, pp. 520-540, June 1987.

21.T. Berger. Rate Distortion Theory. Endlewood Cliffs, NJ: Prentice Hall, 1971.

22.A. Cohen, I. Daubechies, J.-C. Feauveau. Biorthogonal bases of compactly supported wavelets. Comm. Pure and Appl. Math., vol. 45, pp. 485-560, 1992.

23.ISO/IEC 13818: Generic coding of moving pictures and associated audio information, 2000.

24.W. Sweldens. The Lifting Scheme: A Construction of Second Generation Wavelets. Siam J. Math. Anal, Vol. 29, No. 2 (1997). Preprint, 1996.

25.Коплович Д.М. Алгоритм реального времени для сжатия цифровой видеопоследовательности на основе иерархического кодирования коэффициентов

63

вейвлет-преобразования. // Микроэлектроника и информатика – 2005. 12-я Всероссийская межвузовская научно-техническая конференция студентов и аспирантов: Тезисы докладов. – М.: МИЭТ, 2005. – С. 175.

26. Коплович Д.М., Покровский А.С. Модификация алгоритма сжатия цифровой видеопоследовательности в реальном времени. // Микроэлектроника и информатика – 2006. 13-я Всероссийская межвузовская научно-техническая конференция студентов и аспирантов: Тезисы докладов. – М.: МИЭТ, 2006. –

С. 157.

64

Соседние файлы в папке llama