Published September 19, 2014 | Version v1
Publication Open

Scalable video encoding with macroblock-level parallelism

  • 1. Multimedia University

Description

H.264 video codec provides a wide range of compression options and is popularly implemented over various video recording standards. The compression complexity increases when low-bit-rate video is required. Hence, the encoding time is often a major issue when processing a large number of video files. One of the methods to decrease the encoding time is to employ a parallel algorithm on a multicore system. In order to exploit the capability of a multicore processor, a scalable algorithm is proposed in this paper. Most of the parallelization methods proposed earlier suffer from the drawbacks of limited scalability, memory, and data dependency issues. In this paper, we present the results obtained using data-level parallelism at the macroblock (MB) level for encoder. The key idea of using MB-level parallelism is due to its less memory requirement. This design allows the encoder to schedule the sequences into the available logical cores for parallel processing. A load balancing mechanism is added to allow the encoding with respect to macroblock index and, hence, eliminating the need of a coordinator thread. In our implementation, a dynamic macroblock scheduling technique is used to improve the speedup. Also, we modify some of the pointers with advanced data structures to optimize the memory. The results show that with the proposed MB-level parallelism, higher speedup values can be achieved.

⚠️ This is an automatic machine translation with an accuracy of 90-95%

Translated Description (Arabic)

يوفر برنامج ترميز الفيديو H.264 مجموعة واسعة من خيارات الضغط ويتم تنفيذه بشكل شائع عبر معايير تسجيل الفيديو المختلفة. يزداد تعقيد الضغط عند الحاجة إلى فيديو منخفض معدل البت. وبالتالي، غالبًا ما يكون وقت الترميز مشكلة رئيسية عند معالجة عدد كبير من ملفات الفيديو. تتمثل إحدى طرق تقليل وقت الترميز في استخدام خوارزمية متوازية على نظام متعدد النوى. من أجل استغلال قدرة المعالج متعدد النواة، يتم اقتراح خوارزمية قابلة للتطوير في هذه الورقة. تعاني معظم طرق الموازاة المقترحة سابقًا من عيوب محدودية قابلية التوسع والذاكرة ومشكلات الاعتماد على البيانات. في هذه الورقة، نقدم النتائج التي تم الحصول عليها باستخدام التوازي على مستوى البيانات على مستوى الكتلة الكلية (MB) لجهاز التشفير. ترجع الفكرة الرئيسية لاستخدام التوازي على مستوى MB إلى متطلبات الذاكرة الأقل. يسمح هذا التصميم لجهاز التشفير بجدولة التسلسلات في النوى المنطقية المتاحة للمعالجة المتوازية. تتم إضافة آلية موازنة الحمل للسماح بالتشفير فيما يتعلق بمؤشر كتلة الماكرو، وبالتالي، القضاء على الحاجة إلى مؤشر ترابط المنسق. في تنفيذنا، يتم استخدام تقنية جدولة الكتلة الكلية الديناميكية لتحسين التسريع. أيضًا، نقوم بتعديل بعض المؤشرات باستخدام هياكل بيانات متقدمة لتحسين الذاكرة. تظهر النتائج أنه مع التوازي المقترح على مستوى MB، يمكن تحقيق قيم تسريع أعلى.

Translated Description (French)

Le codec vidéo H.264 offre une large gamme d'options de compression et est couramment mis en œuvre sur diverses normes d'enregistrement vidéo. La complexité de la compression augmente lorsque la vidéo à faible débit binaire est requise. Par conséquent, le temps d'encodage est souvent un problème majeur lors du traitement d'un grand nombre de fichiers vidéo. L'une des méthodes pour réduire le temps de codage consiste à utiliser un algorithme parallèle sur un système multicœur. Afin d'exploiter la capacité d'un processeur multicœur, un algorithme évolutif est proposé dans cet article. La plupart des méthodes de parallélisation proposées précédemment présentent les inconvénients d'une évolutivité limitée, de problèmes de mémoire et de dépendance aux données. Dans cet article, nous présentons les résultats obtenus en utilisant le parallélisme au niveau des données au niveau des macroblocs (MB) pour l'encodeur. L'idée clé de l'utilisation du parallélisme au niveau MB est due à ses besoins moindres en mémoire. Cette conception permet à l'encodeur de programmer les séquences dans les cœurs logiques disponibles pour un traitement parallèle. Un mécanisme d'équilibrage de charge est ajouté pour permettre le codage par rapport à l'indice de macrobloc et, par conséquent, éliminer le besoin d'un fil de coordination. Dans notre implémentation, une technique d'ordonnancement dynamique des macroblocs est utilisée pour améliorer l'accélération. En outre, nous modifions certains des pointeurs avec des structures de données avancées pour optimiser la mémoire. Les résultats montrent qu'avec le parallélisme proposé au niveau MB, des valeurs d'accélération plus élevées peuvent être atteintes.

Translated Description (Spanish)

El códec de vídeo H.264 proporciona una amplia gama de opciones de compresión y se implementa popularmente en varios estándares de grabación de vídeo. La complejidad de la compresión aumenta cuando se requiere vídeo de baja tasa de bits. Por lo tanto, el tiempo de codificación suele ser un problema importante al procesar una gran cantidad de archivos de vídeo. Uno de los métodos para disminuir el tiempo de codificación es emplear un algoritmo paralelo en un sistema multinúcleo. Con el fin de explotar la capacidad de un procesador multinúcleo, en este documento se propone un algoritmo escalable. La mayoría de los métodos de paralelización propuestos anteriormente adolecen de los inconvenientes de problemas limitados de escalabilidad, memoria y dependencia de datos. En este artículo, presentamos los resultados obtenidos utilizando el paralelismo a nivel de datos a nivel de macrobloque (MB) para el codificador. La idea clave de utilizar el paralelismo a nivel de MB se debe a su menor necesidad de memoria. Este diseño permite que el codificador programe las secuencias en los núcleos lógicos disponibles para el procesamiento paralelo. Se añade un mecanismo de balanceo de carga para permitir la codificación con respecto al índice de macrobloques y, por lo tanto, eliminar la necesidad de un hilo coordinador. En nuestra implementación, se utiliza una técnica de programación dinámica de macrobloques para mejorar la aceleración. Además, modificamos algunos de los punteros con estructuras de datos avanzadas para optimizar la memoria. Los resultados muestran que con el paralelismo propuesto a nivel de MB, se pueden lograr valores de aceleración más altos.

Files

1687-6180-2014-145.pdf

Files (3.4 MB)

⚠️ Please wait a few minutes before your translated files are ready ⚠️ Note: Some files might be protected thus translations might not work.
Name Size Download all
md5:fb0a95f766c73cbc7edace83d0ef9fb3
3.4 MB
Preview Download

Additional details

Additional titles

Translated title (Arabic)
ترميز الفيديو القابل للتطوير مع التوازي على مستوى الكتلة الكلية
Translated title (French)
Encodage vidéo évolutif avec parallélisme au niveau des macroblocs
Translated title (Spanish)
Codificación de vídeo escalable con paralelismo a nivel de macrobloque

Identifiers

Other
https://openalex.org/W2056215034
DOI
10.1186/1687-6180-2014-145

GreSIS Basics Section

Is Global South Knowledge
Yes
Country
Malaysia

References

  • https://openalex.org/W1570848443
  • https://openalex.org/W176063082
  • https://openalex.org/W1982607954
  • https://openalex.org/W2083604201
  • https://openalex.org/W2127453409
  • https://openalex.org/W2145905710
  • https://openalex.org/W2262064173
  • https://openalex.org/W2505094182
  • https://openalex.org/W4256016028