فيديو كور

VideoCore هي سلسلة من معالجات الوسائط المتعددة المحمولة منخفضة الطاقة ، طورتها في الأصل شركة Alphamosaic Ltd ، وهي مملوكة الآن لشركة Broadcom . سوّقت Alphamosaic إصدارها الأول كبنية معالجة إشارات رقمية ثنائية الأبعاد، مما يجعلها مرنة وفعالة بما يكفي لفك تشفير (وكذلك تشفير) عدد من برامج ترميز الوسائط المتعددة برمجياً مع الحفاظ على استهلاك منخفض للطاقة. [ 1 ] وقد وُجدت نواة الملكية الفكرية لأشباه الموصلات ( SIP core) حتى الآن فقط في أنظمة Broadcom SoC.
التفاصيل الفنية
قيود نظام الوسائط المتعددة
تتطلب أجهزة الوسائط المتعددة المحمولة معالجة فيديو عالية السرعة مع استهلاك منخفض للطاقة لضمان عمر بطارية طويل. يتميز معالج ARM بكفاءة عالية في استهلاك الطاقة (وبالتالي يهيمن على سوق الهواتف المحمولة)، ولكنه يحتاج إلى معالجات مساعدة لتسريع الفيديو ووحدات تحكم في العرض لتكوين نظام متكامل. ينتج عن كمية البيانات المتدفقة بين هذه الرقاقات بسرعة عالية استهلاك طاقة أكبر. يمكن تحسين المعالجات المساعدة المتخصصة لزيادة الإنتاجية على حساب زمن الاستجابة (عدد أكبر من النوى ومعالجة متوازية للبيانات، ولكن بتردد ساعة أقل)، كما أنها مزودة بمجموعات تعليمات وبنى ذاكرة مصممة خصيصًا لمعالجة الوسائط (مثل العمليات الحسابية على مستوى التشبع، والتعامل مع تنسيقات البيانات المتخصصة).
محرك ثلاثي الأبعاد
تم توثيق أن VideoCoreIV-AG100-R الموجود في Raspberry Pi 1 و 2 و 3 يدعم بشكل كامل OpenGL ES 2.0 و OpenVG 1.1.
يتكون محرك الرسومات ثلاثية الأبعاد من أنظمة فرعية متعددة، وأكثرها وفرة هي وحدات المعالجة الكمومية (QPUs). وحدة المعالجة الكمومية هي معالج ذو 16 مسارًا، أحادي التعليمات، متعدد البيانات (SIMD).
"يحتوي كل معالج على وحدتي حساب ومنطق (ALU) متجهتين للفاصلة العائمة ، تُجريان عمليات الضرب وغير الضرب بالتوازي مع زمن استجابة دورة تعليمات واحدة. داخليًا، وحدة المعالجة الرباعية (QPU) هي معالج SIMD رباعي الاتجاه، مُضاعف الإرسال 4 مرات على مدار أربع دورات، مما يجعلها مناسبة بشكل خاص لمعالجة تدفقات رباعيات البكسل"، وفقًا لدليل مرجع بنية VideoCore® IV ثلاثية الأبعاد من Broadcom.
وتتابع الوثيقة: "تُصنَّف وحدات المعالجة الكمومية (QPUs) في مجموعات تصل إلى أربع وحدات، تُسمى شرائح، وتتشارك في موارد مشتركة معينة". انظر: Vertex and shader .
تتوافق هذه "الشرائح" تقريبًا مع وحدات الحوسبة الخاصة بشركة AMD .
لا يدعم نظام التشغيل VC 4 على الأقل (كما هو الحال في Raspberry Pi) ضغط نسيج S3 (S3TC). [ 2 ] ومن المحتمل أيضًا أنه لا يدعم ضغط النسيج التكيفي القابل للتوسع (ASTC).
خوارزميات ضغط الفيديو
من بين خوارزميات ضغط الفيديو الشائعة الاستخدام حاليًا، مثل H.263 و H.264/MPEG-4 AVC و MPEG-4 و MPEG-2 و MPEG-1 و H.265 و Daala و Theora و VP8 و VP9 ، تدعم منتجات VideoCore من Broadcom تسريع بعض العمليات باستخدام الأجهزة. في بعض الحالات، يتم فك الضغط فقط، أو الضغط فقط، أو كليهما، وذلك حتى دقة معينة (مثل 720p أو 1080p) ومعدل إطارات معين (مثل 30 أو 60 إطارًا في الثانية).
الميزات الرئيسية لـ VideoCore
- مجموعة التعليمات مصممة مع مراعاة معالجة الفيديو منذ البداية. على سبيل المثال، حسابات التشبع بحيث لا يتحول مجموع بكسلين ساطعين إلى قيم داكنة.
- مجموعة من وحدات معالجة الرسومات للحوسبة المتوازية لبيانات الفيديو بسرعة ساعة منخفضة نسبيًا.
- تتيح التكاملية العالية للغاية وضع وحدة المعالجة المركزية ووحدات معالجة الرسومات والذاكرة ودوائر العرض على شريحة واحدة، مما يزيل عبء الطاقة اللازم لتشغيل ناقلات البيانات الخارجية السريعة.
المتغيرات
يوفر معالج الفيديو VC01 القائم على VideoCore I إمكانيات الفيديو والوسائط المتعددة للعديد من هواتف سامسونج، بما في ذلك SCH-V540 وSCH-V4200 وSCH-V490. [ 3 ]
يوفر معالج VC02 / BCM2722 القائم على VideoCore II إمكانيات الفيديو لجهاز iPod من الجيل الخامس من Apple . [ 4 ]
يوفر معالج BCM2727 القائم على VideoCore III إمكانيات الفيديو والصور الثابتة والرسومات ثلاثية الأبعاد لهاتف Nokia N8 .
يُحسّن معالج VideoCore IV BCM2763 من أداء معالج VideoCore III، حيث يدعم ترميز وفك ترميز الفيديو بدقة 1080p ، بالإضافة إلى دعم كاميرات ذات دقة أعلى ورسومات ثنائية وثلاثية الأبعاد أسرع، كل ذلك باستهلاك منخفض جدًا للطاقة. يُستخدم هذا المعالج في جهاز Nokia 808 PureView ، [ 5 ] وبعض إصدارات أجهزة Roku ، وجهاز Raspberry Pi (طرازات 2835/2836 للإصدارين 1 و2 على التوالي). [ 6 ]
يدعم معالج VideoCore IV BCM28155 ترميز وفك ترميز الفيديو بدقة 1080p، بالإضافة إلى تحسين الرسومات ثنائية وثلاثية الأبعاد بفضل معالج ARM Cortex-A9 ثنائي النواة المدمج في شريحة BCM28155. ويُستخدم هذا المعالج في هواتف Samsung Galaxy S II Plus و Samsung Galaxy Grand وجهاز Amazon Fire TV Stick .
يدعم معالج VideoCore V BCM7251 فك تشفير 2160p60 وإعادة ترميزه أو ترميز/فك تشفير 1080p60 المزدوج، ويتميز بدعم محسّن لبرنامج الترميز (H.265)، ودعم DDR3 وDDR4، وUSB 3.0، وPCIe، وGigabit Ethernet، و802.11ac على وحدة معالجة مركزية ثنائية النواة ARM Cortex-A15 Brahma15.
جدول أنظمة على رقاقة (SoCs) التي تعتمد وحدات VideoCore SIP
| نظام على شريحة | وحدة معالجة الرسومات | وحدة المعالجة المركزية | أقصى عرض | استخدام الأجهزة | |||
|---|---|---|---|---|---|---|---|
| بنيان | التردد ( ميجاهرتز ) | بنيان | النوى | التردد (ميجاهرتز) | |||
| VC01 | فيديو كور 1 | لا أحد | CIF | قائمة
| |||
| BCM2702 (VC02) | فيديو كور 2 | لا أحد | SD | قائمة
| |||
| BCM2705 (VC05) | فيديو كور 2 | لا أحد | SD | ||||
| BCM2091 | فيديو كور 4 | لا أحد | غير محدد | ||||
| BCM2722 | فيديو كور 2 | لا أحد | SD | آيبود (الجيل الخامس) | |||
| BCM2724 | فيديو كور 2 | لا أحد | SD | ||||
| BCM2727 | فيديو كور 3 | لا أحد | 720p | نوكيا N8 | |||
| BCM11181 | فيديو كور 3 | لا أحد | 720p | قائمة
| |||
| BCM2763 | فيديو كور 4 | لا أحد | 1080 بكسل | ||||
| BCM2820 | فيديو كور 4 | ARM1176 | 1 | 600 | 1080 بكسل | ||
| BCM2835 | فيديو كور 4 | 250 | ARM1176 | 1 | 700 | 1080 بكسل | قائمة |
| BCM2836 | فيديو كور 4 | 250 | كورتكس-أ7 | 4 | 900 | 1080p [ أ ] | راسبيري باي 2 [ 7 ] |
| BCM2837 | فيديو كور 4 | 300 | كورتكس-A53 | 4 | 1200 | 1080p [ أ ] | راسبيري باي 3 [ 7 ] |
| BCM11182 | فيديو كور 4 | لا أحد | 1080 بكسل | ||||
| BCM11311 | فيديو كور 4 | كورتكس-أ9 | 2 | 1080 بكسل | |||
| BCM21654 | فيديو كور 4 | Cortex-A9 + Cortex-R4 | 1+1 | 1080 بكسل | سامسونج جالاكسي فام | ||
| BCM21654G | فيديو كور 4 | كورتكس-أ9 | 1 | أكثر من 1200 | 720p | ||
| BCM21663 | فيديو كور 4 | كورتكس-أ9 | 1 | أكثر من 1200 | 720p | قائمة
| |
| BCM21664 | فيديو كور 4 | كورتكس-أ9 | 1 | أكثر من 1000 | 720p | ||
| BCM21664T | فيديو كور 4 | كورتكس-أ9 | 1 | أكثر من 1200 | 1080 بكسل | قائمة
| |
| BCM28150 | فيديو كور 4 | كورتكس-أ9 | 2 | 1080 بكسل | |||
| BCM21553 | فيديو كور 4 | ARM11 | 1 | 1080 بكسل | قائمة
| ||
| BCM28145/28155 | فيديو كور 4 | كورتكس-أ9 | 2 | 1200 | 1080 بكسل | ||
| BCM23550 | فيديو كور 4 | كورتكس-أ7 | 4 | 1200 | 1080 بكسل | قائمة
| |
| BCM7251 (archive.org) | فيديو كور 5 | كورتكس-أ15 | 2 | 1666 | 4K | ||
| BCM2711B0 | فيديو كور 6 | 500 | كورتكس-A72 | 4 | 1800 | ثنائي ، 4K | Raspberry Pi 4B [ 11 ] |
| BCM2712 | فيديو كور 7 | 800 | كورتكس-A76 | 4 | 2400 | ثنائي ، 4K | راسبيري باي 5 [ 12 ] |
| نظام على شريحة | بنيان | التردد ( ميجاهرتز ) | بنيان | النوى | التردد (ميجاهرتز) | أقصى عرض | استخدام الأجهزة |
| وحدة معالجة الرسومات | وحدة المعالجة المركزية | ||||||
منتجات VideoCore
تستطيع رقائق VideoCore تشغيل تطبيقات كاملة، فرقائق معالجة الإشارات الرقمية (DSP) ليست مجرد رقائق معالجة إشارات رقمية للفيديو تتطلب معالجًا منفصلاً لتوفير البيانات وجمعها. قد لا تكون VideoCore مثالية من حيث كفاءة استهلاك الطاقة في المهام غير المتعلقة بمعالجة الإشارات الرقمية، ولكن يمكن دمجها مع نواة معالجة مركزية عالية الكفاءة. على سبيل المثال، نادرًا ما تتطلب المهام غير المتعلقة بالوسائط المتعددة عرض ناقل بيانات يزيد عن 32 بت، بينما يستخدم تصميم VideoCore عدة نوى ذات عرض ناقل بيانات واسع.
تم نقل عملية فك تشفير الفيديو إلى لوحة تسريع الفيديو باستخدام شريحة BCM.
يمكن لمشغلات بلو راي أيضًا استخدامها كمسرع فيديو منخفض الطاقة.
مع ملاحظة أن رقائق VideoCore كانت تستخدم عادة مع الرقائق القائمة على ARM، فإن أحدث الرقائق تحتوي على معالجات VideoCore و ARM.
دعم لينكس
في 28 فبراير 2014، بمناسبة الذكرى السنوية الثانية لإطلاق راسبيري باي ، أعلنت شركة برودكوم، بالتعاون مع مؤسسة راسبيري باي، عن إصدار وثائق كاملة لنواة معالجة الرسومات VideoCore IV، وإصدار كامل لمصدر حزمة الرسومات بموجب ترخيص BSD ثلاثي البنود . [ 13 ] [ 14 ] [ 15 ]
مع ذلك، لم يُنشر سوى جزء صغير من برنامج التشغيل كمصدر مفتوح؛ إذ تتم عملية تسريع الفيديو بالكامل باستخدام برنامج ثابت مُصمم خصيصًا لوحدة معالجة الرسومات الخاصة بالشركة، والذي لم يُنشر كمصدر مفتوح. وتُدار وحدة النظام على شريحة (SoC) بأكملها بواسطة نظام تشغيل في الوقت الحقيقي (RTOS) قائم على ThreadX، والذي يُحمّل في وحدة معالجة الفيديو (VPU) الخاصة بمعالج الفيديو (VideoCore) أثناء بدء التشغيل. [ 16 ]
قام هيرمان هيرميتاج بتجميع نظرة عامة معمارية للنظام القائم على VideoCore (استنادًا إلى الهندسة العكسية وبحث براءات الاختراع) وهي متاحة على GitHub. [ 17 ]
في يونيو 2014، انتقلت إيما أنهولت من شركة إنتل إلى شركة برودكوم لتطوير برنامج تشغيل مجاني ( برنامج تشغيل DRM / KMS وبرنامج تشغيل Gallium3D ) لمعالج الفيديو VC4 (VideoCore 4). [ 18 ] وبعد أسبوع واحد، أبلغت عن تقدم ملحوظ. [ 19 ] [ 20 ]
لقد توليتُ دورًا جديدًا كمطور برمجيات مفتوحة المصدر هناك. سأعمل على بناء برنامج تشغيل Mesa 3D ونواة DRM مرخص بموجب ترخيص MIT للمعالج 2708 (المعروف أيضًا باسم 2835)، وهو المعالج الموجود في Raspberry Pi . [ 21 ]
تم إيداع رمز الرسومات ثلاثية الأبعاد المرخص مجانًا في Mesa في 29 أغسطس 2014، [ 22 ] وتم إصداره لأول مرة كجزء من Mesa 10.3.
برمجة نواة الحاسوب
The open source community has produced a C++ library called V3DLib for directly running custom compute kernels on the VideoCore GPU on all Raspberry Pi's. This allows general-purpose computing on graphics processing units (GPGPU) which is not limited by OpenGL's graphics-oriented API.
Market competitors
Similar mobile multimedia chip ranges include Adreno, Texas Instruments OMAP, Nvidia Tegra, AllWinner A1X and Freescale i.MX. These are ARM-based with arrays of graphics processing units.
Data sources
The Broadcom YouTube page[23] has videos demonstrating the video processing capability, but their website only goes as far as providing product briefs. Detailed data and development tools are only available under NDA, and then only for manufacturers with a market for very many units.
See also
References
- ↑Alphamosaic Ltd > Technology – VideoCore, archived on 9 February 2003.
- ↑"Can I play Morrowind with OpenMW on other platforms like the Raspberry Pi?". 6 August 2011.
- ↑"Broadcom presentation by Yossi Cohen"(PDF).
- ↑Ecker, Clint (20 October 2005). "Video iPod: Vivisection". Ars Technica. Retrieved 29 March 2008.
- ↑"Nokia 808 PureView with Unbelievable 41 Megapixel Camera". staygrab.com. Archived from the original on 13 January 2013. Retrieved 23 January 2013.
- ↑"BCM2835 - Raspberry Pi Documentation".
- 123"Raspberry Pi FAQs - Frequently Asked Questions".
- ↑"Roku 2 XS Teardown". My Cable Alternatives. 28 July 2011. Archived from the original on 3 January 2017. Retrieved 26 May 2016.
- ↑"STICKY: HOWTO: Create Custom HDMI modes - Page 3". Raspberry Pi Forums. Retrieved 24 September 2019.
- ↑"Opus HD". Xolo. Archived from the original on 10 October 2014.
- ↑ "مراجعة Raspberry Pi 4: المعيار الذهبي الجديد للحوسبة أحادية اللوحة" . Tom's Hardware . 28 أغسطس 2019. تم الاطلاع عليه بتاريخ 24 سبتمبر 2019 .
- ↑ "تقديم: راسبيري باي 5!" . راسبيري باي . 28 سبتمبر 2023. تم الاطلاع عليه بتاريخ 28 سبتمبر 2023 .
- ↑ "راسبيري باي يحتفل بعيد ميلاده الثاني بخطة لبرنامج تشغيل رسومات مفتوح المصدر" . 28 فبراير 2014.
- ↑ "هدية عيد ميلاد من برودكوم" . راسبيري باي . ٢٨ فبراير ٢٠١٤. مؤرشف من الأصل في ٢٨ فبراير ٢٠١٤. تم الاطلاع عليه في ١ مارس ٢٠١٤ .
- ↑ "أندرويد للجميع: برودكوم تمنح المطورين مفاتيح مملكة VideoCore" . www.broadcom.com . تاريخ الاطلاع: 24 سبتمبر 2019 .
- ↑ هيرميتاج، هيرمان (21 مارس 2015). "متعة وألعاب مع وحدات المعالجة الرباعية Videocoreiv" . جيت هاب .
- ↑ "hermanhermitage/videocoreiv" . GitHub .
- ↑ "إريك أنهولت يترك فريق رسومات لينكس في إنتل لينضم إلى برودكوم" . 17 يونيو 2014.
- ↑ "برنامج تشغيل VC4 لنظام لينكس" . جيت هاب . مؤرشف من الأصل بتاريخ 22 يوليو 2014. تم الاطلاع عليه بتاريخ 22 يونيو 2014 .
- ↑ "برنامج تشغيل VC4 - الأسبوع الأول" . 22 يونيو 2014. مؤرشف من الأصل في 16 أغسطس 2014.
- ↑ إريك أنهولت. "وظيفة جديدة!" . تم الاطلاع عليه بتاريخ 27 ديسمبر 2023 .
- ↑ "vc4: استيراد برنامج تشغيل الهيكل العظمي الأولي" . مكتبة ميسا للرسومات ثلاثية الأبعاد. 9 أغسطس 2014.
- ↑ "شركة برودكوم المحدودة" . يوتيوب .
- برودكوم
- معالجات الإشارات الرقمية
- وحدات معالجة الرسومات
