1 Обзор кодирования видео в рамках H.265/HEVC 10
1.1 Описание процесса сжатия гибридного кодера H.265/HEVC . 10
1.2 Описание возможностей кодирования H.265/HEVC 13
1.2 Основные результаты и выводы по разделу 16
2 Процедура принятия решений в программной реализации
кодирующей системы 18
2.1 Критерий сравнения оптимальности вариантов кодирования 18
2.2 Выбор структуры разбиений блоков 19
2.3 Выбор режима предсказания 21
2.3.1 Выбор режима пространственного предсказания 21
2.3.2 Выбор режима межкадрового предсказания 23
2.4 Выбор размера блока преобразования TU 26
2.5 Оптимизация битовой скорости и искажений (RDO) 28
2.6 Основные результаты и выводы по разделу 29
3 Разработка алгоритма быстрого разбиения кадра на блоки
кодирования 32
3.1 Критерии сравнения эффективности алгоритмов сжатия 32
3.2 Обзор критериев выбора варианта разбиения блоков
пространственного предсказания 34
3.3 Модификация критерия выбора размера блока пространственного
предсказания 41
3.4 Регулирование соотношения степени сжатия и вычислительной
3.4.1 Исследование влияния пороговых значений критерия Мин на
эффективность кодирования 44
3.4.2 Исследование влияния пороговых значений критерия Ким на
эффективность кодирования 48
3.4.3 Обсуждение результатов изменения пороговых значений
используемых критериев 51
3.5 Основные результаты и выводы по разделу 52
4 Программная реализация быстрых алгоритмов видеосжатия 55
4.1 Описание разработанной библиотеки 55
4.2 Тестирование разработанной библиотеки 62
4.2.1 Отладка кодирующей системы 62
4.2.2 Оценка эффективности кодирования алгоритма Мин 63
4.2.3 Оценка эффективности модифицированного алгоритма 65
4.3 Основные результаты и выводы по разделу 68
5. Финансовый менеджмент, ресурсоэффективность и ресурсосбережение 70
5.1 Организация и планирование работ 70
5.1.1 Продолжительность этапов работ 71
5.1.2 Расчет накопления готовности проекта 74
5.2 Расчет сметы затрат на выполнение проекта 75
5.2.1 Расчет затрат на материалы 76
5.2.2 Расчет заработной платы 76
5.2.3 Расчет затрат на социальный налог 77
5.2.4 Расчет затрат на электроэнергию 78
5.2.5 Расчет амортизационных расходов 79
3
5.2.6 Расчет прочих расходов 80
5.2.7 Расчет общей себестоимости разработки 80
5.2.8 Расчет прибыли 81
5.2.9 Расчет НДС 81
5.2.10 Цена разработки НИР 81
5.3 Оценка экономической эффективности проекта 81
5.3.1 Оценка научно-технического уровня НИР 82
6 Социальная ответственность 85
6.1 Производственная безопасность 85
6.2 Охрана окружающей среды 90
6.3 Защита в чрезвычайных ситуациях 91
6.4 Правовые и организационные вопросы обеспечения безопасности 92
Заключение 94
Список литературы 97
Приложение A Английская часть 102
Приложение Б Программный код интерфейса и реализации библиотеки классов 117
Приложение В Акт о внедрении 130
За последние 30 лет цифровое видео превратилось из нескольких небольших исследовательских проектов в гигантскую индустрию, охватывающую множество областей человеческой деятельности. Объемы данных цифрового видео, передаваемые по различным сетям связи в последние годы удваиваются каждый год [1]. Все это привело к резкой интенсификации исследований, направленных на разработку методов и алгоритмов сжатия цифровых видеоданных. Результатом исследований, проводимых с 2006 года группой JCT-VC, стало принятие в 2013 году нового стандарта видеокодирования H.265/HEVC. Алгоритмы видеосжатия, легшие в основу нового стандарта, потенциально обеспечивают почти двукратное повышение степени сжатия видеоданных по сравнению с теми, что использовались в стандарте предыдущего поколения H.264/AVC. С другой стороны, такое повышение степени сжатия достигается за счет многократного увеличения количества вариантов алгоритмов кодирования видеоизображения в системах нового поколения, что приводит к многократному увеличению вычислительной сложности процедуры видеокодирования. Как показал предварительный анализ вычислительных затрат на кодирование, особенно «узким» местом в системах кодирования H.265/HEVC является выбор варианта разбиения видеоизображения на блоки кодирования, обеспечивающий наибольшую степень сжатия. Все это и обусловило выбор темы магистерской диссертации, ее цели, объекта и предмета исследования.
Целью работы является разработка методов и алгоритмов, обеспечивающих существенное снижение вычислительных затрат при кодировании видеоданных в системах кодирования нового стандарта H.265/HEVC.
Объектом исследования являются методы и алгоритмы видеокодирования, используемые в системах кодирования последнего поколения и удовлетворяющих новому стандарту HEVC.
Предметом исследования является разработка быстрого метода выбора варианта разбиения видеоизображения на блоки кодирования и его алгоритмической реализации.
Актуальность исследования. Интенсивные работы по созданию нового стандарта видеокодирования начались с 2006 г. В 2013 г. по результатам этих исследований был принят новый стандарт - H.265/HEVC. Существенного повышения степени сжатия по сравнению со стандартом предыдущего поколения в HEVC удается добиться за счет адаптивного разбиения видеоизображения на блоки кодирования. Такое разбиение подстраивается в процессе кодирования под характер изображения, обеспечивая максимально высокую степень сжатия. С другой стороны, в новом стандарте не определены критерии выбора варианта разбиения изображения. Выбор такого критерия оставлен разработчикам конкретных кодирующих систем. В простейшем варианте, реализованном разработчиками нового стандарта и опубликованном на сайте JCT-VC, осуществляется перебор всех вариантов разбиения изображения. Для каждого варианта полностью выполняется процедура кодирования. Выбирается вариант, обеспечивающий наилучшую степень сжатия видеоданных при наименьшей степени искажений изображения, вносимых при кодировании. Очевидно, что такой подход оказывается крайне неэффективным с точки зрения объема необходимых для кодирования вычислений. В результате кодирующая система обеспечивает кодирование одного видеокадра высокого разрешения за 2-3 мин. даже на современных высокопроизводительных компьютерных платформах. Такое время кодирования одного видеоизображения ставит под вопрос саму возможность практического использования кодирующих систем, основанных на новом стандарте (на каждую секунду видео приходится 30 - 60 видеокадров). В области разработки быстрых методов и алгоритмов, обеспечивающих существенное сокращение вычислительных затрат на кодирование в последние три года (после принятия стандарта) ведутся активные исследования [2-7]. Большое внимание в этих исследованиях уделяется процедуре выбора варианта разбиения изображения на блоки кодирования [8-13]. Данная работа является развитием и продолжением этих исследований, что и определяет ее актуальность.
Практическая значимость результатов ВКР. Основные результаты магистерской работы были получены автором в рамках выполнения комплексного проекта «Предоставление услуг мультимедийного вещания в сетях общего пользования Интернет, основанных на технологиях пиринговых сетей и адаптивной передачи потоков данных» выполняемого в рамках Постановления Правительства России от 9 апреля 2010 г. №218 при финансовой поддержке Министертва образования и науки Российской Федерации. Разработанные методы доведены до алгоритмической и программной реализации в виде библиотеки классов на языке C++ и включены в коммерчески распространяемый группой компаний Элекард программный продукт «Elecard Codec SDK». По предварительным оценкам, использование разработанных автором программных модулей позволило более чем в два раза сократить вычислительную сложность процедуры кодирования и, как следствие, поднять скорость кодирования HEVC кодера системы «Elecard Codec SDK». К работе прилагается Акт о внедрении (Приложение В), подтверждающий использование результатов работы в продуктах компании Элекард Девайсез.
Реализация и апробация работы. Основные результаты, полученные при работе над магистерской диссертацией, опубликованы в статье [14] в журнале, входящем в РИНЦ и перечень ВАК. Кроме того, имеется публикация [15] в англоязычном журнале, входящем в базу цитирования
SCOPUS. Получен грант «УМНИК» по теме «Разработка алгоритмов и программного комплекса сжатия цифровых видеопоследовательностей в рамках новейшего стандарта H.265/HEVC», включающей исследования, проводимые в рамках данной магистерской диссертации.
Содержание работы. Диссертация состоит из введения, шести разделов, заключения, трёх приложений. Общий объём 130 страница. Во введении описывается актуальность исследования, ставится цель работы, выделяются объект и предмет исследования, показывается практическая значимость результатов ВКР, кратко описывается содержание работы. В первом разделе данной работы проводится обзор процесса кодирования видеопоследовательностей в соответствии со стандартом H.265/HEVC, вводятся понятия, используемые при обсуждении процесса кодирования, описываются возможности кодирования предоставляемые стандартом. Второй раздел посвящен рассмотрению различных этапов принятия решений, в процессе поиска наилучшего варианта кодирования видео, проводится их анализ, на основании которого принимается решение о необходимости разработки алгоритмов быстрого разбиения кадра на блоки кодирования в системах кодирования H.265/HEVC. В третьем разделе проводится обзор существующих подходов к ускорению процесса кодирования видео, путём сокращения числа перебираемых вариантов разбиений кадра. На основании проведенного анализа разработан новый алгоритм, позволяющий достичь большего ускорения сжатия видеоизображений. Предложены модификации, позволяющие регулировать степень сжатия видео последовательностей за счёт изменения вычислительной сложности процесса кодирования. В четвертом разделе описывается программная реализация разработанных алгоритмов в виде библиотеки классов на языке программирования C++ и проводится анализ эффективности полученного решения. Пятый раздел посвящен финансовому менеджменту процесса разработки алгоритмов быстрого разбиения кадра на блоки кодирования. В шестом разделе проводится анализ производственной безопасности, охраны окружающей среды, защите в чрезвычайных ситуациях и правовым и организационным вопросам обеспечения безопасности, связанным с разработкой и реализацией алгоритмов адаптивного разбиения кадра на блоки кодирования. В заключении подводятся итоги работы и делаются выводы по результатам выполненных работ.
Личный вклад автора. Разработка кодирующей системы стандарта HEVC компании Элекард велась группой исследователей и разработчиков. Автор работы в этой группе отвечал за решение задачи быстрого выбора варианта разбиения изображения на блоки кодирования. Таким образом, основные результаты магистерской диссертации получены лично автором.
Алгоритмы принятого в 2013 году стандарта видеокодирования H.265/HEVC позволяют добиться почти двукратного повышения степени сжатия видеоданных по сравнению со стандартом предыдущего поколения H.264/AVC. Ценой такого роста эффективности является повышенная вычислительная сложность поиска оптимального режима кодирования. Одним из ключевых моментов, которым обусловлен рост вычислительных затрат, является возможность адаптивного разбиения кадра на блоки кодирования. С целью снижений времени, затрачиваемого на кодирование видеоизображений, в рамках данной работы разработаны быстрые алгоритмы адаптивного разбиения видеокадров на блоки кодирования в системе видеокодирования H.265/HEVC.
При выполнении диссертационной работы получены следующие результаты.
1. Проведен анализ методов и алгоритмов сжатия цифровых видеоданных вошедших в стандарт H.265/HEVC. Показано, что основной причиной повышенной вычислительной сложности процесса кодирования видеоизображений является перебор большого количества возможных вариантов кодирования, с целью поиска наиболее оптимального из них. Сделан вывод о том, что наиболее трудоёмким является перебор всех возможных вариантов разбиения кадра на блоки кодирования.
2. Проведен обзор известных критериев выбора размера блока кодирования, на основании которого выбран наиболее эффективный из них. Использование этого критерия позволяет на 48.81% сократить общее время, затрачиваемое вычислительной системой на кодирование видеоданных. Степень сжатия данных при этом снижается на 2.10%.
3. Показано, что процесс выбора оптимального разбиения блока кодирования на подблоки при применении выбранного алгоритма можно дополнительно ускорить, применив дополнительный критерий. Такая модификация позволяет дополнительно ускорить процесс кодирования при незначительном снижении степени сжатия.
4. С целью повышения эффективности предложенного метода выбора разбиений кадра на блоки кодирования разработаны варианты модификации используемых для ускорения алгоритмов. Показано, что при применении модификаций появляется возможность регулировать соотношения снижения степени сжатия и сокращения затрачиваемого на кодирование времени.
5. Разработана универсальная библиотека классов на языке программирования C++, реализующая предложенные алгоритмы быстрого разбиения кадра на блоки кодирования.
6. Разработана система кодирования видеоизображений в соответствии со стандартом H.265/HEVC, основанная на справочной реализации кодера, представленной разработчиками стандарта, и использующая разработанную библиотеку классов для принятия решений о разбиении кадра на блоки кодирования.
7. На разработанной системе кодирования проведены замеры эффективности разработанных алгоритмов. Показано, что предложенные алгоритмы позволяют достичь 51.94% сокращения времени кодирования при снижении степени сжатия на 2.39%. Оценка возможностей регулирования соотношения снижения степени сжатия и сокращения затрачиваемого на кодирование времени показала возможность настройки кодера таким образом, чтобы уменьшить рост битовой скорости вплоть до 1.06% при сокращении сохраняемого времени кодирования до 43.96%.
8. Разработанная библиотека классов, реализующая предложенные алгоритмы, внедрена в состав коммерческого продукта компании Элекард «Elecard Codec SDK».
1. Иванов Ю.А. Некоторые проблемы сжатия и передачи видео в реальном времени в беспроводных сетях // Электротехнические и информационные комплексы и системы. — 2009. — Т. 5. — № 1. — С. 62—64.
2. Grois, D. Performance Comparison of H.265/MPEG-HEVC, VP9, and H.264/MPEG-AVC Encoders / D. Grois, M. Marpe, A. Mulayoff, B. Itzhaky, O. Hadar // 30th Picture Coding Symposium 2013 (PCS 2013). — San Jose, CA, USA. — 8-11 Dec 2013. — P.1-4.
3. Jiang, W. Gradient based fast mode decision algorithm for intra prediction in HEVC / W. Jiang, H. Ma, Y. Chen // Consumer Electronics, Communications and Networks (CECNet), 2nd International Conference on. — April 2012. — P.1836-1840.
4. Kalali, E. A high performance and low energy intra prediction hardware for HEVC video decoding / E. Kalali, Y. Adibelli, I. Hamzaoglu // Conference on Design and Architectures for Signal and Image Processing (DASIP). — 23-25 October 2012. — P.1-8.
5. Khan, M.U.K. Hardware-software Collaborative Complexity Reduction Scheme for the Emerging HEVC Intra Encoder / M.U.K. Khan, M. Shafique, M. Grellert, J. Henkel // Design, Automation Test in Europe Conference Exhibition (DATE). — March 2013. — P. 125-128.
6. Kim, Y. A Fast Intra-Prediction Method in HEVC Using Rate-Distortion Estimation Based on Hadamard Transform / Y. Kim, D. Jun, S.-H. Jung,
J.S. Choi, J. Kim // ETRI Journal. — April 2013. — V.35. — Issue 2. — P.270-280.
7. Lambrecht, C.J. Perceptual Quality Measure using a SpatioTemporal Model of the Human Visual System / C.J. Lambrecht, O. Verscheure // SPIE. — San Jose, CA. — 1996. — 12 p.
8. Kim, J. Fast Coding Unit Size Decision Algorithm for Intra Coding in HEVC / J. Kim, Y. Choe, Y. Kim // IEEE International Conference on Consumer Electronics (ICCE). - January 2013. - P. 637-638.
9. Cho, S. Fast CU Splitting and Pruning for Suboptimal CU Partitioning in HEVC Intra Coding / S. Cho, M. Kim // IEEE Transactions on Circuits and Systems for Video Technology. - September 2013. - Vol. 23, № 9. - P. 1555-1564.
10.Shen, L. Fast CU Size Decision and Mode Decision Algorithm for HEVC Intra Coding. / L. Shen, Z. Zhang, P. An // IEEE Transaction on Consumer Electronics. - Vol. 59. - № 1. - February 2013. - P. 207-213.
11. Zhang, Y. Gradient-based Fast Decision for Intra Prediction in HEVC. / Y. Zhang, Z. Li, B. Li // IEEE Visual Communications and Image Processing (VCIP). - November 2012. - P. 1-6.
12. Min, B. A Fast CU Size Decision Algorithm for HEVC Intra Encoder / B. Min, R.C.C. Cheung // IEEE Transactions on Circuits and Systems for Video Technology. - May 2015. - Vol. 25, № 5. - P. 892-896.
13. Zhang, M. Entropy-Based Fast Largest Coding Unit Partition Algorithm in High-Efficiency Video Coding / M. Zhang, J. Qu, H. Bai // Entropy. - June 2013. - Vol. 15, № 6.- P. 2277-2287.
14. Пономарев О.Г. Критерий для быстрого выбора размера блока пространственного предсказания в системе видеокодирования HEVC / О.Г. Пономарев, М.П. Шарабайко, Д.Ю. Тё // Доклады ТУСУРа. 2015.- № 3. - С. 106-113.
15. Ponomarev O.G. Modified intra prediction unit size selection algorithm for H.265/HEVC compression system / Ponomarev O.G., Sharabayko M.P., Tyo D.Y., Strelnikov S.E. // Applied Mathematical Sciences. - 2015. - Vol. 9, no. 140. - P. 6985—6995.
16.Sullivan, G.J. Overview of the High Efficiency Video Coding (HEVC) Standard / G.J. Sullivan, J. Ohm, W.J. Han, T. Wiegand // Circuits and
Systems for Video Technology, IEEE Transactions on. — 2012. — V.22. — No.12. — P.1649-1668.
17. ГОСТ Р 52210-2004: Телевидение вещательное цифровое. Термины и определения.— М: ИПК Изд-во стандартов. — 2004. — 24 с.
18. Vanne J. Efficient mode decision schemes for HEVC inter prediction / J. Vanne, M. Viitanen, T.D. Hamalainen // IEEE Transactions on Circuits and Systems for Video Technology. - September 2014. - Vol. 24, № 9. - P. 1579-1593.
19. Recommendation ITU-T H.265: High Efficiency Video coding, 2013 [Электронный реcурс]. - Режим доступа: https://www.itu.int/rec/T- REC-H.265-201304-S/en свободный (дата обращения: 27.04.2016).
20.Ohm, J.-R. Comparison of the Coding Efficiency of Video Coding Standards - Including High Efficiency Video Coding (HEVC) / J.-R. Ohm, G. J. Sullivan, H. Schwarz, T. K. Tan, T. Wiegand // IEEE Transactions on Circuits and Systems for video Technology. - 2012. - Vol. 22. - № 12. - P. 1669-1684.
21.Ortega, A. Rate-Distortion Methods for Image and Video Compression / A. Ortega, K. Ramchandran // IEEE Signal Processing Magazine. - November, 1998. - P. 23-50.
22. Kim, I.-K. High Efficiency Video Coding (HEVC) Test Model 15 (HM15) Encoder Description / I.-K. Kim, K. McCann, K. Sugimoto, B. Bross, W.-J. Han, G. Sullivan // 17th Meeting: Valencia, ES. - 27 Mar. - 4 Apr. 2014.
23.Sullivan, G.J. Rate-distortion optimization for video compression. / G.J. Sullivan, T. Wiegand // IEEE Signal Process. Mag. 15(6), 74-90 (1998).
24. Wien, M High Efficiency Video Coding: Coding tools and specification // Springer-Verlag Berlin Heidelberg. - 2015.
25. Bjontegaard G. Calculation of average PSNR differences between RD- curves // Technical Report VCEG-M33 - ITU-T SG16/Q6 - Austin, TX,
USA - April 2001 [Электронный ресурс]. - Режим доступа: http://wftp3.itu.int/av-arch/video-site/0104_Aus/VCEG-M33.doc/ свободный (дата обращения: 24.08.2014).
26. Bossen F. Common Test Conditions and Software Reference Configurations // Document JCTVC-H1100. - JCT-VC, San Jose, CA - February 2012 [Электронный реcурс]. - Режим доступа: http://phenix.int-evry.fr/jct/ свободный (дата обращения: 24.08.2014).
27. H.265/HEVC Reference Software [Electronic Resource] // Fraunhofer.
— URL: https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware/
(accessed: 27.04.2016).
28. ГОСТ 12.0.003-74 ССБТ. Опасные и вредные производственные факторы. Классификация. - М.: Информационно-издательский центр Минздрава России, 1974.
29. СНиП 2.2.4/2.1.8.562-96 Шум на рабочих местах, в помещениях жилых, общественных зданий и на территории жилой застройки. - М.: Информационно-издательский центр Минздрава России, 1996.
30. СанПиН 2.2.4.548-96. Гигиенические требования к микроклимату производственных помещений - М.: Информационно-издательский центр Минздрава России, 2003..
31. СанПиН 2.2.2/2.4.1340-03. Санитарно-эпидемиологические правила и нормативы «Г игиенические требования к персональным электронно- вычислительным машинам и организации работы».
32..СанПиН 2.2.1/2.1.1.1278-03. Гигиенические требования к естественному, искусственному и совмещённому освещению жилых и общественных зданий.
33. ГОСТ Р 12.1.019-2009 ССБТ. Электробезопасность. Общие требования и номенклатура видов защиты.
34. Федеральный классификационный каталог отходов [Электронный
ресурс]. - 2013. - Режим доступа: http://www.ecoguild.ru/faq/fedwastecatalog.htm, свободный. - Загл. с экрана.
35.Об утверждении правил обращения с отходами производства и потребления в части осветительных устройств, электрических ламп, ненадлежащие сбор, накопление, использование, обезвреживание, транспортирование и размещение которых может повлечь причинение вреда жизни, здоровью граждан, вреда животным, растениям и окружающей среде: Постановление Правительства Российской Федерации от 3 сентября 2010 года № 681.
36. ГОСТ Р 22.0.01-94. Безопасность в ЧС. Основные положения.
37. Федеральный закон Российской Федерации от 22 июля 2008 г. N 123-ФЗ "Технический регламент о требованиях пожарной безопасности".
38. ГОСТ 12.2.032-78 ССБТ. Рабочее место при выполнении работ сидя. Общие эргономические требования. - 1978
39. Эргономика рабочего места программиста. [Электронный ресурс] - Режим доступа: http://artelvyv.narod.ru/ergonom.htm.