واجهات برمجة التطبيقات لوحدة إضافة فئة الفيديو عبر USB في جهاز Google Meet

يوضّح هذا المستند واجهات برمجة التطبيقات المتوافقة مع وحدة إضافة فئة الفيديو عبر USB (XU) التي تستخدمها أنظمة مؤتمرات Google Meet لتفعيل ميزات الكاميرا الذكية. والغرض من إنشاء هذا المواصفات هو التأثير في الممارسات من أجل تفعيل هذه الميزات والسماح للشركاء بإجراء اختبارات أفضل وقابلة للتوسّع بشكل غير متزامن.

للحصول على تفاصيل حول آخر التغييرات التي أُجريت على هذا المستند، انتقِل إلى ملاحظات الإصدار.

مركز الاختبار

لمساعدة الشركاء في التأكّد من الامتثال لهذه المواصفات، نوفّر لهم أداة اختبار في أجهزة Chromebox للاجتماعات التي تم ضبطها على وضع المطوّرين. فعِّل الكتابة إلى نظام الملفات. أضِف الأسطر التالية إلى /etc/chrome_dev.conf:

--enable-logging
--log-level=0

أعِد تشغيل الجهاز، ثم وصِّل الكاميرا ولوحة مفاتيح USB، واضغط على Ctrl-Alt-X، وسيتم اختبار توافق الكاميرا النشطة مع المواصفات وتسجيل النتائج في /var/log/chrome/chrome (في حال استخدام صورة موقَّعة، سيتم تسجيل النتائج في /home/chronos/user/log/chrome).

طريقة ترتيب البايتات من الأصغر إلى الأكبر

إنّ USB هو معيار little-endian. في هذا المستند:

  • تظهر الأرقام المتعددة البايتات بترتيب البايتات الكبير (ويتم إرسالها بترتيب البايتات الصغير).
  • تكون مصفوفات البايت بتنسيق little-endian في الذاكرة.

على سبيل المثال، 0x12345678 هو نفسه [0x78, 0x56, 0x34, 0x12].

المعرّف الفريد العام لوحدة الإضافة

يجب أن تستخدم وحدات التوسيع المتوافقة مع مواصفات التحكّم في Meet XU هذا المعرّف الفريد العام.

وحدة الإضافة GUID
Peripheral Control XU {74D7E924-49C9-4A45-98A3-8A9F60061E83}

أدوات اختيار وحدة التحكم الطرفية XU

هذه هي أدوات اختيار XU المحدّدة لأجهزة التحكّم الطرفية.

أدوات اختيار عناصر التحكّم القيمة
GOOGXU_FRAME_STRATEGY 0x01
GOOGXU_REFRAME 0x02
GOOGXU_OCCUPANCY_COUNTING_TOGGLE 0x03
GOOGXU_OCCUPANCY_COUNTING_READ 0x04
GOOGXU_STATUS_INFO 0x05
GOOGXU_STATUS_RESET 0x06
GOOGXU_PRESETS 0x07
GOOGXU_PAN_TILT_ABSOLUTE 0x08
GOOGXU_PAN_TILT_RELATIVE 0x09
GOOGXU_SATELLITE_INFO 0x0A

نوع طلب التحكّم

يتم تحديد أنواع طلبات التحكّم في الفصل 4: الطلبات الخاصة بالفئة من مواصفات فئة UVC 1.5.

العملية التحكّم في UVC
GET GET_CUR، GET_MIN، GET_MAX، GET_RES، GET_LEN، GET_INFO، GET_DEF
SET SET_CUR

أوضاع الكاميرا

تُستخدَم أوضاع الكاميرا لتأطير الأفراد في غرفة الاجتماعات، وهي tuple مما يلي:

  • الاستراتيجية (عرض الكاميرا)
  • الانحياز (المتحدث أو الغرفة)
  • الخلاصات (مجموعة بث واحدة أو أكثر)

يمكن أن تأخذ كل سمة القيم الموضّحة في الأقسام التالية.

استراتيجية التعديل التلقائي لإطار الفيديو

في جميع أوضاع ضبط الإطارات التلقائية باستثناء "بلا"، يتم إيقاف ميزات التحريك والإمالة والتكبير/التصغير اليدوية.

الميزة الوصف
بدون توقف الكاميرا جميع ميزات ضبط الإطار الذكي وتسمح للعميل بالتحكّم بحرية في قيم تحريك الكاميرا وإمالتها وتكبيرها/تصغيرها.
ملاحظة: عند ضبط استراتيجية تحديد الإطار هذه، تظل الكاميرا في موضعها الحالي من حيث العرض الشامل والإمالة والتكبير/التصغير.
الإبقاء داخل الإطار (CAZ) استنادًا إلى تحيّز التأطير، تتتبّع الكاميرا باستمرار الأشخاص في الغرفة.
تقسيم اللقطات تنشئ الكاميرا عددًا من طرق عرض الفيديو حسب الحاجة. استنادًا إلى خيار خلاصات الضبط التلقائي للإطار، يتم تجميعها في مربّعات ضمن بث واحد أو إنشاء بث فيديو منفصل لكل طريقة عرض.
Dynamic View تحاول كاميرا واحدة أو أكثر تقديم أفضل عرض للغرفة. يمكنه تحديد ما إذا كان سيجمع خلاصات متعدّدة في خلاصة واحدة أو سيقدّم عرضًا "مثيرًا للاهتمام" للغرفة الحالية.
الغرض من طريقة العرض هذه هو توفير طريقة عرض أكثر إنصافًا للمشاركين في المكالمة.
المورّد المفضّل يستخدم نظام الكاميرا منطقًا خاصًا لتحديد أفضل طريقة لعرض الغرفة. تخضع استراتيجية التأطير الأساسية للتغيير بدون إشعار. على سبيل المثال، إذا تغيّر عدد الأشخاص في الغرفة، أو إذا كان بإمكان الكاميرا رصد الفرق بين اجتماع "مقدّم عرض مهم" واجتماع "تعاون"، يمكن للنظام تكييف استراتيجية تأطير الصورة أو تغييرها حسب ما يراه مناسبًا في هذا الوضع. عندما يكون الجهاز في هذا الوضع، يجب أن يؤدي طلب getCur إلى عرض VENDOR_PREFERRED، وليس وضع تحديد الإطارات الأساسي الذي اختاره النظام.

التحيّز للتعديل التلقائي لإطار الفيديو

الميزة الوصف
High-stakes Presenter (Speaker Tracking) تحاول الكاميرا عرض الشخص الذي يتحدث بشكل نشط في الغرفة بأفضل طريقة ممكنة.
في هذا السيناريو، يجب أن تركّز الكاميرا على المقدّم. على سبيل المثال، المدير التنفيذي في غرفة اجتماعات يقدّم عرضًا تقديميًا.
التعاون
(تتبُّع الغرفة)
تحاول الكاميرا تحديد جميع المشاركين في الغرفة بأفضل شكل ممكن. في هذه الحالة، يجب أن تعامل الكاميرا كل مشارك بشكل عادل.

خلاصات التعديل التلقائي لإطار الفيديو

الميزة الوصف
Single-Stream ترسل الكاميرا مجموعة بث فيديو واحدة إلى الجهاز المضيف.
البث المتزامن
(قيد التطوير)
تقسّم الكاميرا مجموعة البث وتنشئ مجموعات بث فيديو متعددة لإرسالها إلى المضيف.
ملاحظة: إنّ المواصفات الكاملة والسلوك المتوقّع لهذه الميزة في انتظار المراجعة، ولا تتوفّر إلى أن تتم مراجعة هذا المستند لاحقًا.

قيم الصورة النقطية لوضع الضبط التلقائي للإطار

باستثناء الحالة التلقائية None التي يمثّلها مصفوفة بايت فارغة، يمثّل كل جزء من مصفوفة البايت وضعًا مختلفًا للكاميرا، وهو عبارة عن مجموعة محدّدة من استراتيجية الضبط التلقائي للإطار وميل الضبط التلقائي للإطار وخلاصات الضبط التلقائي للإطار.

خلاصات التعديل التلقائي لإطار الفيديو CAZ Split-Frame ديناميكية المورّد المفضّل التحيّز للتعديل التلقائي لإطار الفيديو
Single-Stream D1
D2
‫-
D3
D5
D7
D9 (مكبّر الصوت أو الغرفة) مكبر الصوت
الغرفة
البث المتزامن -
-
‫-
D4
D6
D8
- مكبر الصوت
الغرفة
أوضاع الإطار قيمة وضع الإطار (وحدة البايت الأقل أهمية)
None 0x0000
CAZ, Speaker, Single-Stream 0x0001
CAZ, Room, Single-Stream 0x0002
Split-Frame, Room, Single-Stream 0x0004
Split-Frame, Room, Multi-Stream 0x0008
Dynamic, Speaker, Single-Stream 0x0010
Dynamic, Speaker, Multi-Stream 0x0020
Dynamic, Room, Single-Stream 0x0040
Dynamic, Room, Multi-Stream 0x0080
Vendor-preferred, Single-Stream 0x0100

التحكّم: GOOGXU_FRAME_STRATEGY

يُستخدم عنصر التحكّم هذا للحصول على أو ضبط أوضاع التأطير للكاميرا كما هو موضّح في قيم الصورة النقطية لوضع التأطير التلقائي. يتم تمثيل كل وضع كبت في الصورة النقطية الخاصة به. يعرض الأمر GET_RES قناع بت بطول 8 بايت بقيمة صفر (0) أو واحد (1) للإشارة إلى ما إذا كانت الميزة غير متوافقة أو متوافقة مع الجهاز. على سبيل المثال، إذا كانت الكاميرا تتوافق مع CAZ, Speaker, Single-Stream وSplit-Frame, Room, Single-Stream وDynamic, Room, Multi-Stream فقط، يجب أن تعرض GET_RES القيمة 0x000000000000000085 (أي 0b10000101 متبوعة بسبعة بايتات صفرية).

يُستخدَم الأمر SET_CUR لإرسال صور نقطية لإخبار الكاميرا بوضع SINGLE الذي يجب تفعيله.

أداة اختيار عناصر التحكّم 1
العملية GET / SET
wLength 8
إزاحة الحقل الحجم القيمة الوصف
0 bActiveMode 8 صورة نقطية ضبط "وضع الكاميرا النشطة" أو الرجوع إليه
ملاحظات:

في ما يلي سلوك أنواع الطلبات المتوافقة:

إزاحة 0 الوصف
GET_CUR الحصول على وضع "الإبقاء داخل الإطار" في الكاميرا
GET_MIN يعتمد على الكاميرا
GET_MAX يعتمد على الكاميرا
GET_RES تعرض هذه السمة قناع بت بطول 8 بايت لأوضاع الكاميرا المتوافقة
GET_LEN 0x0008 الطول
GET_INFO 0x0B AutoUpdate / Write / Read
GET_DEF 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00
القيمة التلقائية
SET_CUR ضبط وضع "الكاميرا مع التتبُّع النشط"

التحكّم: GOOGXU_REFRAME

يتم استخدام عنصر التحكّم هذا لتفعيل ميزة "التقاط إطار واحد"، المعروفة أيضًا باسم OTAZ. عند تفعيل ميزة "التحسين التلقائي للصورة"، يتم ضبط عرض الكاميرا تلقائيًا على أفضل عرض للغرفة. بعد ذلك، يستعيد العميل القدرة على التحكّم في قيم PTZ. إذا لم يكن إطار اللقطة الواحدة متاحًا، يجب ألا تحدّد الكاميرا عنصر التحكّم هذا.

أداة اختيار عناصر التحكّم 2
العملية SET
wLength 1
إزاحة الحقل الحجم القيمة الوصف
0 bReframe 1 العدد ‫0x01 تنفيذ طلب إعادة التوجيه

في ما يلي سلوك أنواع الطلبات المتوافقة:

إزاحة 0 الوصف
GET_MIN 0x00
GET_MAX 0x01
GET_RES 0x01
GET_LEN 0x0001
GET_INFO 0x02 الكتابة فقط
GET_DEF 0x00
SET_CUR ضبط طلب ميزة "التقاط صورة واحدة"

احتساب عدد الأشخاص في المكان

احتساب معدل الإشغال (OC) هو ميزة تُستخدَم لتقدير عدد المشاركين في غرفة الاجتماعات، على الرغم من عرض الكاميرا بشكل مقصوص.

يعرض هذا الجدول السلوك المتوقّع لعناصر التحكّم في OC وتفاعلاتها مع بث الفيديو من الكاميرا ومؤشر LED الخاص بالكاميرا.

عندما يكون احتساب معدل الإشغال & the camera video stream is: يجب أن يكون مؤشر LED للكاميرا يجب أن يكون GOOGXU_OCCUPANCY_COUNTING_TOGGLE GET_CUR يجب أن يكون GOOGXU_OCCUPANCY_COUNTING_READ GET_CUR
مفعّل لا يتم البث ولم يتم كتم الصوت مفعّل 0x01 عدد الأشخاص في مجال الرؤية الكامل للكاميرا
مفعّل البث مفعّل 0x01 عدد الأشخاص في مجال الرؤية الكامل للكاميرا
مفعّل كتم الصوت إيقاف 0x01 غير مفعّل
غير مفعّل لا يتم البث ولم يتم كتم الصوت إيقاف 0x00 غير مفعّل
غير مفعّل البث مفعّل 0x00 غير مفعّل
غير مفعّل كتم الصوت إيقاف 0x00 غير مفعّل

التحكّم: GOOGXU_OCCUPANCY_COUNTING_TOGGLE

يُستخدم عنصر التحكّم هذا لتفعيل ميزة احتساب عدد الأشخاص في غرفة أو إيقافها. يؤدي ضبط القيمة على صفر (0) إلى إيقاف هذه الميزة، بينما يؤدي ضبطها على واحد (1) إلى تفعيلها. إذا كانت هذه الميزة غير متاحة، يجب ألا تحدّد الكاميرا عنصر التحكّم هذا.

أداة اختيار عناصر التحكّم 3
العملية GET / SET
wLength 1
إزاحة الحقل الحجم القيمة الوصف
0 bOccupancy 1 منطقي ضبط وظيفة احتساب معدل الإشغال
0x00 إيقاف الوظيفة
0x01 تفعيل الوظيفة

في ما يلي سلوك أنواع الطلبات المتوافقة:

إزاحة 0 الوصف
GET_CUR عرض القيمة إذا كان احتساب معدل الإشغال مفعَّلاً
GET_MIN 0x00
GET_MAX 0x01
GET_RES 0x01
GET_LEN 0x0001
GET_INFO 0x0B AutoUpdate / Write / Read
GET_DEF 0x00
SET_CUR تفعيل ميزة احتساب معدل الإشغال أو إيقافها

التحكّم: GOOGXU_OCCUPANCY_COUNTING_READ

يُستخدم عنصر التحكّم هذا لقراءة عدد المشاركين في غرفة معيّنة كما تعرضه الكاميرا عند تفعيل ميزة احتساب معدّل الإشغال. عند إيقاف ميزة "احتساب عدد الأشخاص"، يجب أن توقف الكاميرا عنصر التحكّم هذا. إذا لم يكن رصد الإشغال متاحًا، يجب ألا تحدّد الكاميرا عنصر التحكّم هذا.

أداة اختيار عناصر التحكّم 4
العملية GET
wLength 2
إزاحة الحقل الحجم القيمة الوصف
0 bNumPeople 2 العدد عدد الأشخاص الذين تم رصدهم في إطار العرض (للقراءة فقط)

في ما يلي سلوك أنواع الطلبات المتوافقة:

إزاحة 0 الوصف
GET_CUR عرض عدد الأشخاص الذين تم رصدهم
GET_MIN 0x0000
GET_MAX 0x00FF
GET_RES 0x0001
GET_LEN 0x0002
GET_INFO 0x09 AutoUpdate / Read
GET_DEF 0x0000

قياس الجهاز عن بُعد وبيانات التشخيص

تهدف عناصر التحكّم هذه إلى تشجيع أفضل ممارسات تصحيح الأخطاء باستخدام أجهزة Meet، وهي عادةً غير متاحة للمستخدمين.

التحكّم: GOOGXU_STATUS_INFO

يُستخدَم عنصر التحكّم هذا لطلب معلومات من كاميرا الجهاز المضيف ومشاركتها مع الشركاء لأغراض تصحيح الأخطاء.

أداة اختيار عناصر التحكّم 5
العملية GET
wLength 8
إزاحة الحقل الحجم القيمة الوصف
0 bNumCameras 1 العدد عدد الأجهزة الإضافية المتصلة بالكاميرا الرئيسية والتي قد تؤثر في بث الكاميرا الذي يتم إرجاعه إلى المضيف
1 bIsMoving 1 صورة نقطية تكون القيمة 0 عندما تكون الكاميرا غير نشطة، وقيمة غير صفرية عندما تتغير قيم PTZ. يمكن للمورّدين ربط محاور أو محركات مختلفة بأجزاء مختلفة.
2 Undef 6 Undef سيتم تمديدها في المستقبل.

في ما يلي سلوك أنواع الطلبات المتوافقة:

إزاحة 0 1 2 الوصف
GET_MIN 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00
GET_MAX 0xFF 0xFF 0xFF 0xFF 0xFF
0xFF 0xFF 0xFF
GET_RES 0x01 0x01 0x01 0x00 0x00
0x00 0x00 0x00
GET_LEN 0x08 0x00 0x0008
GET_INFO 0x09 AutoUpdate / Read
GET_DEF 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00

التحكّم: GOOGXU_SATELLITE_INFO

يُستخدَم عنصر التحكّم هذا للاستعلام عن أجهزة الاستشعار المتصلة بنظام الكاميرا هذا.

أداة اختيار عناصر التحكّم 0x0A
العملية GET
wLength 20
إزاحة الحقل الحجم القيمة الوصف
0 bSatelliteList 20 صورة نقطية قائمة بأنواع الأقمار الصناعية المرتبطة بالنظام تتضمّن أربع خانات منفصلة بحجم 5 بايت. يتم وصف كل خانة على النحو التالي:
إزاحة الوصف
0 تمثّل هذه السمة كمية هذا النوع من الأقمار الصناعية.
1-2 معرّف المورّد لنوع القمر الصناعي هذا
3-4 معرّف المنتج لنوع القمر الصناعي هذا.

في ما يلي سلوك أنواع الطلبات المتوافقة:

إزاحة 0 الوصف
GET_MIN 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00
GET_MAX 0xFF 0xFF 0xFF 0xFF 0xFF
0xFF 0xFF 0xFF 0xFF 0xFF
0xFF 0xFF 0xFF 0xFF 0xFF
0xFF 0xFF 0xFF 0xFF 0xFF
GET_RES 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00
GET_LEN 0x14 20 بايت
GET_INFO 0x09 AutoUpdate / Read
GET_DEF 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00

التحكّم: GOOGXU_STATUS_RESET

يُستخدَم عنصر التحكّم هذا لإرسال طلب إعادة ضبط إلى الكاميرا. يؤدي ضبط القيمة على واحد (1) إلى طلب إعادة ضبط الكاميرا. تعرض الكاميرا القيمة صفر (0) إذا لم يتم طلب إعادة تشغيلها منذ آخر عملية إعادة ضبط، وتعرض القيمة واحد (1) إذا كانت تتم إعادة ضبطها. يجب أن تؤدي عملية إعادة الضبط إلى إعادة تشغيل الكاميرا. (هذا الإجراء ضروري للأجهزة التي تعمل بالطاقة الذاتية والتي لا يفيد فيها فرض قطع اتصال USB لمحاكاة التوصيل السريع).

أداة اختيار عناصر التحكّم 6
العملية GET / SET
wLength 1
إزاحة الحقل الحجم القيمة الوصف
0 bResetRequest 1 منطقي إصدار طلب إعادة ضبط إلى المضيف والكاميرات المرتبطة بهتعرض
القيمة 0x01 إذا تم إصدار طلب إعادة الضبط منذ آخر عملية إعادة ضبط، وإلا تعرض القيمة 0x00.

في ما يلي سلوك أنواع الطلبات المتوافقة:

إزاحة 0 الوصف
GET_MIN 0x00
GET_MAX 0x01
GET_RES 0x01
GET_LEN 0x0001
GET_INFO 0x03 الكتابة / القراءة
GET_DEF 0x00

إعدادات PTZ المُسبَقة

يُستخدَم لضبط مجال رؤية الكاميرا واستعادته إلى موضع محدّد مسبقًا.

التحكّم: GOOGXU_PRESETS

يُستخدَم عنصر التحكّم هذا لضبط قيم العرض الشامل والإمالة والتكبير/التصغير (PTZ) للكاميرا على إعداد مُسبَق.

يُستخدم Preset Action لتحديد الإجراء المقصود من الأمر. يتم استخدام القيمة 1 لربط قيم التحريك والإمالة والتكبير/التصغير الحالية بمؤشر إعداد مسبق. يجب أن يؤدي ضبط القيمة على 2 إلى نقل الكاميرا إلى الإحداثيات التي تم ربطها سابقًا بالمؤشر المقدَّم، أو إلى إحداثيات المصنع التلقائية (في حال عدم الربط سابقًا). يؤدي ضبط القيمة على ثلاثة (3) إلى إعادة ضبط الفهرس على الإحداثيات الأصلية التلقائية.

يُستخدَم Preset Index لتحديد إحداثيات التحريك والإمالة والتكبير/التصغير (PTZ) التي تم ربطها بالفهرس. يتم ربط القيمة Preset index بصفر (0) بالإحداثيات الأساسية، ويجب أن يكون هذا هو الوضع التلقائي للكاميرا عند التنشيط عندما تكون قيمة GOOGXU_FRAME_STRATEGY هي NONE.

أداة اختيار عناصر التحكّم 7
العملية SET
wLength 2
إزاحة الحقل الحجم القيمة الوصف
0 bPresetAction 1 العدد ‫0x01: حفظ الإعداد المُسبَق
‫0x02: استعادة الإعداد المُسبَق
‫0x03: إعادة ضبط الإعداد المُسبَق على الإعداد التلقائي (يجب أن يكون الإعداد التلقائي إحداثيات مضبوطة مسبقًا وصالحة).
1 bPresetIndex 1 العدد فهرس الإعداد المُسبَق النشط ‫0~N-1
حيث يُعدّ 0 موضع البدء التلقائي للكاميرا وN-1 هو ثابت يحدّده المورّد لعدد الإعدادات المُسبقة.

في ما يلي سلوك أنواع الطلبات المتوافقة:

إزاحة 0 1 الوصف
GET_MIN 0x00 0x00
GET_MAX 0x03 N-1 الإعدادات المُسبقة القصوى المتوافقة مع N
GET_RES 0x01 0x01
GET_LEN 0x02 0x00 0x0002
GET_INFO 0x02 للكتابة فقط
GET_DEF 0x00 0x00

ربط وظيفتَي التحريك والإمالة بوظائف أخرى

تحتوي بعض الكاميرات على مكوّنات خاصة، مثل المحركات الخاصة بالكاميرات الميكانيكية أو إمكانات PTZ الرقمية. بالنسبة إلى هذه الكاميرات، استخدِم عناصر التحكّم العادية في V4L2 لتحريك الكاميرا أفقيًا وعموديًا وتكبير الصورة وتصغيرها.

عنصر التحكّم: GOOGXU_PAN_TILT_ABSOLUTE (متوقّف نهائيًا)

يتم تحديد عناصر التحكّم في الربط المساعد في التحريك والإمالة في الفصل 4: الطلبات الخاصة بالفئة، القسم 4.2.2.1.14 التحريك والإمالة (المطلق) من مواصفات الفئة UVC 1.5.

عنصر التحكّم: GOOGXU_PAN_TILT_RELATIVE (متوقّف نهائيًا)

يتم تحديد عناصر التحكّم في الربط الإضافي للعرض الشامل والإمالة في الفصل 4: الطلبات الخاصة بالفئة، القسم 4.2.2.1.15، عناصر التحكّم في العرض الشامل والإمالة (النسبية) ضمن مواصفات فئة UVC 1.5.

ملاحظات الإصدار

تعرض ملاحظات الإصدار هذه التحسينات والميزات الجديدة في كل مراجعة من مراجعات هذا المستند.

‫13 أغسطس 2025

‫27 يناير 2025

‫21 مايو 2024

‫15 تشرين الثاني (نوفمبر) 2023

تم تعديل نص الاختبار البرمجي للتحقّق من أوضاع العرض الصالحة وتفسيرها. تم توضيح تمثيلات وحدات البايت.

‫21 يوليو 2023

تمت إضافة نص برمجي اختباري للشركاء للتحقّق من صحة عمليات التنفيذ بما يتوافق مع هذه المواصفات.

‫25 مايو 2023

تمت إضافة GOOGXU_PRESETS ملاحظة بشأن عدد الإعدادات المُسبقة. يجب أن يكون N، وليس N-1.

‏17 نيسان (أبريل) 2023

الإصدار الأوّلي.