Рус Eng Cn Перевести страницу на:  
Please select your language to translate the article


You can just close the window to don't translate
Библиотека
ваш профиль

Вернуться к содержанию

Программные системы и вычислительные методы
Правильная ссылка на статью:

Арзуманян Р.В., Сухинов А.И. Исследование возможности реализации высокопроизводительного программного декодера Google VP9

Аннотация: Предметом данной работы является оптимизация и организация параллельного исполнения стадий декодирования видеосигнала, сжатого в соответствие со спецификацией Google VP9. Подробно рассматриваются наиболее затратные с точки зрения машинного времени стадии декодирования и восстановления сжатого видеосигнала, исследуются возможности оптимизации и параллельного исполнения алгоритмов, лежащих в основе таких стадий как на центральных процессорах, так и на видеокартах с поддержкой вычислений общего назначения. Даётся комплексная оценка характеристик стадий декодирования, включая требования к производительности процессора и подсистемы памяти. Метод проведения работы – проведение численного эксперимента со сбором интересующей информации и последующим анализом результатов. Сбор информации реализован при помощи модификации исходного кода эталонного кодека и последующей сборки его в программное приложение - кодек. Новизна работы заключается в том, что в ней проведён комплексный анализ возможности вычислительных методов, лежащих в основе кодека и даны оценки возможности реализации параллельных вычислений с учётом особенностей целевого аппаратного обеспечения – MCCPU и GPGPU, а также проведена оптимизация стадии арифметического декодирования с учётом статистических особенностей распределения длин литералов, декодируемых из сжатого битового потока. В данной статье были сделаны выводы относительно наиболее вычислительно сложных стадий декодирования и возможности их оптимизации и параллельной реализации, а также проанализированы отличия от конкурирующего кодека Н265.


Ключевые слова:

кодек, Google VP9, производительность, арифметическое кодирование, доступ к памяти, оптимизация, межкадровое предсказание, анализ алгоритма, параллельное программирование, GPGPU

Abstract: The article is devoted to optimization and execution of parallel decoding stages of the video signal compressed in accordance with specification Google VP9. The authors in detail discuss the most time consuming stages of decoding and restoring a compressed video and study possible optimization and parallel execution of algorithms underlying such steps using both CPUs and graphics cards with general-purpose computing support. The article gives a comprehensive assessment of the characteristics of the decoding stages, including the requirements for processor and memory subsystem. The main method of the study is in carrying out a numerical experiment with the collection of information of interest and then analyzing the results. Gathering of information is implemented by modifying the source code reference codec and subsequent assembly into a software codec application. The novelty of the work lies in the fact that it carried out a comprehensive analysis of the possibility of computational methods lying in the codec based. The research evaluates the feasibility of parallel calculations, taking into account peculiarities of the target hardware (MCCPU and GPGPU). The authors performed an optimization of arithmetic decoding step taking into account the statistical characteristics of the distribution of the lengths of literals, decoded from a compressed bit stream. In this article, the authors make conclusions regarding the most computationally complex decoding stages and the possibility of their optimization and parallel implementation, and analyze differences between the described codec a competing codec N265.


Keywords:

inter-frame prediction, optimization, memory access pattern, arithmetic coding, performance, Google VP9, codec, algorithm analysis, parallel programming, GPGPU


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

Скачать статью

Библиография
1. The H.264/MPEG4 Advanced Video Coding Standard and its Applications // http://iphome.hhi.de URL: http://iphome.hhi.de/wiegand/assets/pdfs/h264-AVC-Standard.pdf (дата обращения: 09.12.2015).
2. Draft ITU-T Recommendation and Final Draft International Standard of Joint Video Specification (ITU-T Rec. H.264 | ISO/IEC 14496-10 AVC) // hlevkin.com URL: http://www.hlevkin.com/Standards/h264.pdf (дата обращения: 09.12.2015).
3. Overview of the High Efficiency Video Coding (HEVC) Standard // http://iphome.hhi.de URL: http://iphome.hhi.de/wiegand/assets/pdfs/2012_12_IEEE-HEVC-Overview.pdf (дата обращения: 09.12.2015).
4. High efficiency video coding // sist.sysu.edu.cn URL: http://sist.sysu.edu.cn/~isscwli/ref/h265.pdf (дата обращения: 09.12.2015).
5. Web M and the New VP9 Open Video Codec // http://commondatastorage.googleapis.com URL: http://commondatastorage.googleapis.com/io-2013/presentations/258%20-%20VP9%20Preso%20for%20IO%20%28FINAL%29.pdf (дата обращения: 09.12.2015).
6. Grois, D.; Marpe, D.; Mulayoff, A.; Itzhaky, B.; Hadar, O. Performance comparison of H.265/MPEG-HEVC, VP9, and H.264/MPEG-AVC encoders // Picture Coding Symposium. 2013.-С. 394-397.
7. David Solomon, Giovanni Motta. Handbook of data compression // Springer/-2010. – С. 170
8. Bit Twiddling Hacks // Stanford.edu URL: // https://graphics.stanford.edu/~seander/bithacks.html (дата обращения 20.03.2016).
9. A VP9 Bitstream Overview // ietf.org URL: http://tools.ietf.org/html/draft-grange-vp9-bitstream-00 (дата обращения: 13.12.2015).
10. TECHNICAL OVERVIEW O F VP8, AN OPEN SOURCE VIDEO CODEC F OR THE WEB // research.google.com URL: http://static.googleusercontent.com/media/research.google.com/ru//pubs/archive/37073.pdf (дата обращения: 15.12.2015).
11. Воеводин В.В., Воеводин Вл. В. Спасительная локальность суперкомпьютеров // Открытые системы.-2013. – №9.-С. 12-15
12. Asaduzzaman, A.; Suryanarayana, V.R.; Rahman, M. Performance-power analysis of H.265/HEVC and H.264/AVC running on multicore cache systems // Intelligent Signal Processing and Communications Systems. 2013.-С. 174-179.
13. Пат. 7982641 B1 США, US 12/613,830. Context-based adaptive binary arithmetic coding engine/ [Способ контекстно-адаптивного арифметического кодирования] Guan-Ming Su, Leung Chung Lai, Wenchi Hsu, Qian Tang, Li Sha, Ching-Han Tsai; заявитель и патентообладатель Marvell International Ltd (США).
14. Пат. 7808406 B2 США, US7808406 B2. Method and apparatus for realizing arithmetic coding/decoding / [Способ и устройство для осуществления арифметического кодирования] Yun He, Wei Yu, Ping Yang, Xinjian MENG; заявитель и патентообладатель Huawei Technologies Co., Ltd., Tsinghua University.
15. Пат. 13/801,350 США, US20130243093 A1. Motion vector coding and bi-prediction in hevc and its extensions / [Кодирование векторов движения и двухсторонняя компенсация движения для HEVC и его расширений] Ying Chen, Ye-Kui Wang, Li Zhang; заявитель и патентообладатель Qualcomm Incorporated.
References
1. The H.264/MPEG4 Advanced Video Coding Standard and its Applications // http://iphome.hhi.de URL: http://iphome.hhi.de/wiegand/assets/pdfs/h264-AVC-Standard.pdf (data obrashcheniya: 09.12.2015).
2. Draft ITU-T Recommendation and Final Draft International Standard of Joint Video Specification (ITU-T Rec. H.264 | ISO/IEC 14496-10 AVC) // hlevkin.com URL: http://www.hlevkin.com/Standards/h264.pdf (data obrashcheniya: 09.12.2015).
3. Overview of the High Efficiency Video Coding (HEVC) Standard // http://iphome.hhi.de URL: http://iphome.hhi.de/wiegand/assets/pdfs/2012_12_IEEE-HEVC-Overview.pdf (data obrashcheniya: 09.12.2015).
4. High efficiency video coding // sist.sysu.edu.cn URL: http://sist.sysu.edu.cn/~isscwli/ref/h265.pdf (data obrashcheniya: 09.12.2015).
5. Web M and the New VP9 Open Video Codec // http://commondatastorage.googleapis.com URL: http://commondatastorage.googleapis.com/io-2013/presentations/258%20-%20VP9%20Preso%20for%20IO%20%28FINAL%29.pdf (data obrashcheniya: 09.12.2015).
6. Grois, D.; Marpe, D.; Mulayoff, A.; Itzhaky, B.; Hadar, O. Performance comparison of H.265/MPEG-HEVC, VP9, and H.264/MPEG-AVC encoders // Picture Coding Symposium. 2013.-S. 394-397.
7. David Solomon, Giovanni Motta. Handbook of data compression // Springer/-2010. – S. 170
8. Bit Twiddling Hacks // Stanford.edu URL: // https://graphics.stanford.edu/~seander/bithacks.html (data obrashcheniya 20.03.2016).
9. A VP9 Bitstream Overview // ietf.org URL: http://tools.ietf.org/html/draft-grange-vp9-bitstream-00 (data obrashcheniya: 13.12.2015).
10. TECHNICAL OVERVIEW O F VP8, AN OPEN SOURCE VIDEO CODEC F OR THE WEB // research.google.com URL: http://static.googleusercontent.com/media/research.google.com/ru//pubs/archive/37073.pdf (data obrashcheniya: 15.12.2015).
11. Voevodin V.V., Voevodin Vl. V. Spasitel'naya lokal'nost' superkomp'yuterov // Otkrytye sistemy.-2013. – №9.-S. 12-15
12. Asaduzzaman, A.; Suryanarayana, V.R.; Rahman, M. Performance-power analysis of H.265/HEVC and H.264/AVC running on multicore cache systems // Intelligent Signal Processing and Communications Systems. 2013.-S. 174-179.
13. Pat. 7982641 B1 SShA, US 12/613,830. Context-based adaptive binary arithmetic coding engine/ [Sposob kontekstno-adaptivnogo arifmeticheskogo kodirovaniya] Guan-Ming Su, Leung Chung Lai, Wenchi Hsu, Qian Tang, Li Sha, Ching-Han Tsai; zayavitel' i patentoobladatel' Marvell International Ltd (SShA).
14. Pat. 7808406 B2 SShA, US7808406 B2. Method and apparatus for realizing arithmetic coding/decoding / [Sposob i ustroystvo dlya osushchestvleniya arifmeticheskogo kodirovaniya] Yun He, Wei Yu, Ping Yang, Xinjian MENG; zayavitel' i patentoobladatel' Huawei Technologies Co., Ltd., Tsinghua University.
15. Pat. 13/801,350 SShA, US20130243093 A1. Motion vector coding and bi-prediction in hevc and its extensions / [Kodirovanie vektorov dvizheniya i dvukhstoronnyaya kompensatsiya dvizheniya dlya HEVC i ego rasshireniy] Ying Chen, Ye-Kui Wang, Li Zhang; zayavitel' i patentoobladatel' Qualcomm Incorporated.