API หน่วยส่วนขยาย USB Video Class ในฮาร์ดแวร์ของ Google Meet

เอกสารนี้ระบุ API ของ USB Video Class Extension Unit (XU) ที่รองรับ ซึ่งระบบการประชุมของ Google Meet นำมาใช้เพื่อเปิดใช้ฟีเจอร์กล้องอัจฉริยะ วัตถุประสงค์ในการสร้างข้อกําหนดนี้คือเพื่อชี้แนะแนวทางปฏิบัติเพื่อเปิดใช้ฟีเจอร์เหล่านี้ และเพื่อให้พาร์ทเนอร์ของเราปรับขนาดและทดสอบแบบไม่พร้อมกันได้ดียิ่งขึ้น

โปรดดูรายละเอียดเกี่ยวกับการเปลี่ยนแปลงล่าสุดในเอกสารนี้ที่บันทึกประจำรุ่น

สถานที่ทดสอบ

เพื่อช่วยพาร์ทเนอร์ในการตรวจสอบการปฏิบัติตามข้อกำหนดนี้ เราจึงจัดเตรียมห้องทดสอบในอุปกรณ์ Chromebox สำหรับการประชุมที่ตั้งค่าเป็นโหมดนักพัฒนาซอฟต์แวร์ เปิดใช้การเขียนลงในระบบไฟล์ เพิ่มบรรทัดต่อไปนี้ลงใน /etc/chrome_dev.conf

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

รีสตาร์ทอุปกรณ์ เชื่อมต่อกล้องกับแป้นพิมพ์ USB แล้วกด Ctrl-Alt-X ระบบจะตรวจสอบการปฏิบัติตามข้อกำหนดของกล้องที่ใช้งานอยู่และบันทึกลงใน /home/chronos/user/log/chrome

รูปแบบ Little-endian

USB เป็นมาตรฐาน Little-endian ในเอกสารนี้

  • ตัวเลขหลายไบต์จะปรากฏในรูปแบบ Big Endian (และส่งในรูปแบบ Little Endian)
  • อาร์เรย์ไบต์อยู่ในเลย์เอาต์หน่วยความจําแบบ Little Endian

เช่น 0x12345678 เหมือนกับ [0x78, 0x56, 0x34, 0x12]

GUID ของหน่วยขยาย

ยูนิตส่วนขยายที่รองรับข้อกำหนดการควบคุม Meet XU นี้ต้องใช้ GUID นี้

หน่วยของส่วนขยาย GUID
การควบคุมอุปกรณ์ต่อพ่วง 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 ดังนี้

  • กลยุทธ์ (มุมมองกล้อง)
  • ความลำเอียง (ลำโพงหรือห้อง)
  • ฟีด (สตรีมเดียวหรือหลายสตรีม)

มิติข้อมูลแต่ละรายการใช้ค่าที่อธิบายไว้ในส่วนต่อไปนี้ได้

กลยุทธ์การจัดเฟรมอัตโนมัติ

ในโหมดการจัดเฟรมอัตโนมัติทั้งหมดนอกเหนือจาก "ไม่มี" ระบบจะปิดใช้การเลื่อน เอียง และซูมด้วยตนเอง

ฟีเจอร์ คำอธิบาย
ไม่มี กล้องจะปิดใช้ฟีเจอร์การจัดเฟรมอัจฉริยะทั้งหมดและอนุญาตให้ลูกค้าควบคุมค่า PTZ ได้อย่างอิสระ
หมายเหตุ: เมื่อตั้งค่าเป็นกลยุทธ์การจัดเฟรมนี้ กล้องจะยังคงอยู่ในตำแหน่งการเลื่อน เอียง และซูมปัจจุบัน
การจัดให้คนอยู่ในเฟรมอย่างต่อเนื่อง (CAZ) กล้องจะติดตามผู้คนในห้องอย่างต่อเนื่องตามการเอียงของเฟรม
แยกเฟรม กล้องจะสร้างมุมมองวิดีโอได้มากเท่าที่ต้องการ ระบบจะจัดเรียงฟีดเป็นไทล์ในสตรีมเดียวหรือสร้างสตรีมวิดีโอแยกกันสำหรับแต่ละมุมมอง โดยขึ้นอยู่กับตัวเลือกฟีดการจัดเฟรมอัตโนมัติ
มุมมองแบบไดนามิก กล้องอย่างน้อย 1 ตัวจะพยายามแสดงมุมมองที่ดีที่สุดของห้อง โดยสามารถตัดสินใจว่าจะคอมโพสหลายฟีดเป็นฟีดเดียวหรือไม่ หรือจะให้มุมมอง "น่าสนใจ" ของห้องปัจจุบัน
วัตถุประสงค์ของมุมมองนี้คือเพื่อให้ผู้เข้าร่วมในสายเห็นภาพผู้เข้าร่วมในห้องประชุมได้อย่างเท่าเทียมที่สุด
ผู้ให้บริการที่ต้องการ ระบบกล้องใช้ตรรกะของตนเองเพื่อกำหนดมุมมองที่ดีที่สุดของห้อง กลยุทธ์การจัดเฟรมพื้นฐานอาจมีการเปลี่ยนแปลงได้โดยไม่ต้องแจ้งให้ทราบ เช่น หากจำนวนคนในห้องมีการเปลี่ยนแปลง หรือกล้องตรวจจับความแตกต่างระหว่างการประชุม "ผู้นำเสนอที่มีความเสี่ยงสูง" กับการประชุม "การทำงานร่วมกัน" ได้ ระบบจะปรับหรือเปลี่ยนกลยุทธ์การจัดเฟรมได้ตามที่เห็นสมควรในโหมดนี้ เมื่ออยู่ในโหมดนี้ การเรียกใช้ getCur ควรแสดงผลเป็น VENDOR_PREFERRED ไม่ใช่โหมดการจัดเฟรมพื้นฐานที่ระบบเลือกไว้

ความลำเอียงของการจัดเฟรมอัตโนมัติ

ฟีเจอร์ คำอธิบาย
ผู้นำเสนอที่มีความเสี่ยงสูง (การติดตามผู้พูด) กล้องจะพยายามจัดเฟรมให้บุคคลที่กำลังพูดอยู่ในห้องอย่างเหมาะสมที่สุด
ในกรณีนี้ กล้องควรหันไปทางผู้นำเสนอ เช่น ซีอีโอกำลังนำเสนอในห้องประชุม
การทำงานร่วมกัน
(การติดตามห้อง)
กล้องจะพยายามจัดเฟรมผู้เข้าร่วมทุกคนในห้องให้ดีที่สุด ในกรณีนี้ กล้องควรจับภาพผู้เข้าร่วมทุกคนอย่างเท่าเทียม

ฟีดการจัดเฟรมอัตโนมัติ

ฟีเจอร์ คำอธิบาย
สตรีมเดียว กล้องจะส่งสตรีมวิดีโอเดียวไปยังอุปกรณ์โฮสต์
สตรีมหลายรายการ
(อยู่ระหว่างดำเนินการ)
กล้องจะแยกสตรีมออกและสร้างสตรีมวิดีโอหลายรายการเพื่อส่งไปยังโฮสต์
หมายเหตุ: ข้อกำหนดเฉพาะทั้งหมดและลักษณะการทำงานที่คาดไว้ของฟีเจอร์นี้อยู่ระหว่างรอการตรวจสอบและยังไม่รองรับจนกว่าจะมีการแก้ไขเอกสารนี้ในภายหลัง

ค่าบิตแมปของโหมดการจัดเฟรมอัตโนมัติ

ยกเว้นสถานะเริ่มต้นของ None ที่แสดงโดยอาร์เรย์ไบต์ว่าง แต่ละบิตในอาร์เรย์ไบต์แสดงโหมดกล้องที่แตกต่างกัน ซึ่งเป็นการผสมผสานที่เฉพาะเจาะจงของกลยุทธ์การจัดเฟรมอัตโนมัติ ความลำเอียงของการจัดเฟรมอัตโนมัติ และฟีดการจัดเฟรมอัตโนมัติ

ฟีดการจัดเฟรมอัตโนมัติ CAZ เฟรมแยก ไดนามิก ผู้ให้บริการที่ต้องการ ความลำเอียงของการจัดเฟรมอัตโนมัติ
สตรีมเดียว 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 ตามด้วยไบต์ 0 7 ตัว)

คำสั่ง SET_CUR ใช้เพื่อส่งบิตแมปเพื่อบอกให้กล้องเปิดใช้โหมดกล้องเดี่ยวโหมดใด

ตัวเลือกการควบคุม 1
การดำเนินการ GET / SET
wLength 8
ออฟเซ็ต ช่อง ขนาด ค่า คำอธิบาย
0 bActiveMode 8 บิตแมป ตั้งค่าหรือเปลี่ยนกลับโหมดกล้องทำงาน
หมายเหตุ:

ลักษณะการทํางานของคำขอประเภทที่รองรับมีดังนี้

ออฟเซ็ต 0 คำอธิบาย
GET_CUR รับโหมดกล้องจัดเฟรมอัตโนมัติ
GET_MIN ขึ้นอยู่กับกล้อง
GET_MAX ขึ้นอยู่กับกล้อง
GET_RES แสดงผลบิตมาสก์ขนาด 8 ไบต์ของโหมดกล้องที่รองรับ
GET_LEN 0x0008 ความยาว
GET_INFO 0x0B อัปเดตอัตโนมัติ / เขียน / อ่าน
GET_DEF 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00
ค่าเริ่มต้น
SET_CUR ตั้งค่าโหมดการจัดเฟรมแบบแอ็กทีฟของกล้อง

การควบคุม: GOOGXU_REFRAME

การควบคุมนี้ใช้เพื่อเรียกใช้การจัดเฟรมแบบช็อตเดียว หรือที่เรียกว่า OTAZ เมื่อมีการเรียกใช้ 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 ของกล้อง

เมื่อการนับการเข้าใช้ และสตรีมวิดีโอจากกล้องมีรายละเอียดดังนี้ ไฟ 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 อัปเดตอัตโนมัติ / เขียน / อ่าน
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 อัปเดตอัตโนมัติ / อ่าน
GET_DEF 0x0000

การตรวจวัดระยะไกลและการวินิจฉัยอุปกรณ์

การควบคุมเหล่านี้มีไว้เพื่อส่งเสริมแนวทางปฏิบัติในการแก้ไขข้อบกพร่องที่ดียิ่งขึ้นด้วยฮาร์ดแวร์ Meet และมักจะไม่แสดงต่อผู้ใช้

การควบคุม: GOOGXU_STATUS_INFO

การควบคุมนี้ใช้เพื่อค้นหาข้อมูลจากกล้องโฮสต์เพื่อแชร์กับพาร์ทเนอร์สำหรับการแก้ไขข้อบกพร่อง

ตัวเลือกการควบคุม 5
การดำเนินการ GET
wLength 8
ออฟเซ็ต ช่อง ขนาด ค่า คำอธิบาย
0 bNumCameras 1 ตัวเลข จำนวนกล้องเสริมที่แนบอยู่กับกล้องหลักซึ่งอาจส่งผลต่อสตรีมกล้องที่ส่งกลับไปยังโฮสต์
1 bIsMoving 1 บิตแมป 0 เมื่อกล้องไม่ได้ทำงาน และไม่เป็น 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 อัปเดตอัตโนมัติ / อ่าน
GET_DEF 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00

การควบคุม: GOOGXU_SATELLITE_INFO

การควบคุมนี้ใช้เพื่อค้นหาอุปกรณ์ดาวเทียมที่เชื่อมต่อกับระบบกล้องนี้

ตัวเลือกการควบคุม 0x0A
การดำเนินการ GET
wLength 20
ออฟเซ็ต ช่อง ขนาด ค่า คำอธิบาย
0 bSatelliteList 20 บิตแมป รายการประเภทดาวเทียมที่แนบอยู่กับระบบ มี 4 ช่อง 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 อัปเดตอัตโนมัติ / อ่าน
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 (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 (1) ใช้เพื่อจับคู่ค่าการแพน การเอียง และการซูมปัจจุบันกับดัชนีที่กำหนดไว้ล่วงหน้า การตั้งค่าเป็น 2 ควรเปลี่ยนการแพน การส่าย และซูมของกล้องเป็นค่าที่แมปไว้ก่อนหน้านี้สำหรับดัชนีที่ระบุ หรือพิกัดเริ่มต้นของโรงงาน (หากไม่ได้แมปไว้ก่อนหน้านี้) การตั้งค่าค่าเป็น 3 จะรีเซ็ตดัชนีเป็นพิกัดเริ่มต้น

Preset Index ใช้เพื่อระบุพิกัด PTZ ที่แมปกับดัชนี Preset index ของ 0 (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

บันทึกประจำรุ่น

บันทึกประจำรุ่นเหล่านี้ระบุการปรับปรุงและฟีเจอร์ใหม่ในเอกสารฉบับแก้ไขแต่ละฉบับ

27 ม.ค. 2025

  • เพิ่มกลยุทธ์การจัดเฟรม Vendor-preferred ลงใน GOOGXU_FRAME_STRATEGY แล้ว
  • เพิ่มการควบคุมใหม่ GOOGXU_SATELLITE_INFO

21 พ.ค. 2024

15 พฤศจิกายน 2023

อัปเดตสคริปต์ทดสอบเพื่อตรวจสอบและตีความโหมดการจัดเฟรมที่ถูกต้อง การนำเสนอไบต์ที่ชัดเจน

21 กรกฎาคม 2023

เพิ่มสคริปต์ทดสอบสําหรับพาร์ทเนอร์เพื่อตรวจสอบการติดตั้งใช้งานให้เป็นไปตามข้อกําหนดนี้

25 พฤษภาคม 2023

แก้ไขแล้ว GOOGXU_PRESETS หมายเหตุเกี่ยวกับจำนวนค่าที่กำหนดล่วงหน้า ค่านี้ควรเป็น N ไม่ใช่ N-1

17 เมษายน 2023

การเผยแพร่ครั้งแรก