Table of Contents

An Overview of UVC and UAC class and USB Video Conferencing Device with Aikri-QCS610 Platform

Universal Serial Bus popularly known as USB is a Plug and Play interface used for computers to communicate with diverse types of USB peripherals. Keyboards, Mouses, Joysticks, Speakers, Webcams, External Drives are common USB devices. The underlying mechanisms for each of these devices are different. Some of them are mass storage devices, video devices, audio devices while others are human interface devices. UVC stands for USB Video Class and can transmit video over USB, similarly UAC stands for USB Audio Class and can transmit audio over USB. When user plugs a UVC/UAC device to the host, configuration, and enumeration of UVC/UAC device at host will be completed and its capabilities advertised to the host. USB Camera and USB Headset is an example of UVC and UAC Device, respectively.

Video Conferencing Device on Aikri-QCS610 Platform

eInfochips has developed a video conferencing demo solution using the Aikri-QCS610 platform, which enumerates as a UVC 1.5 camera device and a UAC 1.0 headset device on a Linux/Windows host machine via a USB interface. The UVC camera supports various encoding techniques with different resolutions. It also provides various camera controls on the host machine, while the UAC headset device enumerates its microphone and speaker capabilities with volume and mute controls.

The Aikri-QCS610 has a USB micro-B On-The-Go (OTG) connector. The USB port is configured in gadget mode with a composite configuration of UVC+UAC+DIAG+ADB. Due to the composite configuration on the Aikri-QCS610, multiple UVC video devices, a UAC PCM card with a dual channel, and ADB are enumerated on the host machine over a single USB bus.

The basic connection of the Aikri-QCS610 platform is as follows. For video, the camera module is connected to the Aikri-QCS610 platform using a CSI interface. For audio, the microphone is built-in, and the speaker is connected via a WSA amplifier. The Aikri-QCS610 platform is connected to the Linux/Windows host machine using a micro-B to Type-A USB cable.

 

Video Conferencing Device on Aikri-QCS610 Platform

Figure 1: Video Conferencing Device on Aikri-QCS610 Platform

 

video conferencing device

 

The above image shows the actual setup of the video conferencing device with the Aikri-QCS610 platform. The IMX334 and IMX577 cameras are connected to the CSI interface of the Aikri-QCS610 platform. Both cameras are enumerated as UVC camera devices to the host machine over a single USB bus. Each UVC camera device supports control and video streaming descriptors with the UVC specification 1.5.
UVC stands for “USB Video Class”. A UVC device can transmit video over USB. When a user plugs a UVC device into the host, the configuration and enumeration of the UVC device at the host will be completed without any user interaction. UVC class-specific descriptors and data structures are used to complete the enumeration process. All the UVC class-specific descriptors and data structures are defined in the USB Video Class specification document, which is used to convey its capabilities to the host. The specification for UVC is published by the USB Implementers Forum, with two versions of the UVC specification – 1.1 and 1.5. A USB camera is an example of a UVC device.

UVC Camera device features supported by Aikri-QCS610 platform:

  • Dual UVC camera support, each camera supports following features:
  • Supported formats and resolutions
    • YUYV
      • 640×360@30/25/15/2 fps
    • MJPEG
      • 640×360@30/25/15/2 fps
      • 1280×720@30/25/15/2 fps
      • 1920×1080@30/25/15/2 fps
  • Supported camera controls
    • Brightness
    • Contrast
    • Saturation
    • Sharpness
    • Gain
    • White Balance Temperature, Auto
    • White Balance Temperature, Manual
    • Auto – Exposure Mode – (Auto, Manual)
    • Auto – Exposure Absolute Time

Likewise, onboard digital microphone and external speakers are enumerated as UAC devices to host machine over USB bus. UAC device enumerates on host machine with dual channel. Onboard digital microphone act as capture device and external speakers acts as playback device for host machine, respectively. Both channels on UAC device support control and audio streaming descriptors with UAC specification 1.0.

UAC stands for “USB Audio Class”. UAC device can transmit audio over USB. Like UVC, class specific descriptors and data structures are used to complete the enumeration process. All the UAC class specific descriptors and data structures are defined in USB Audio Class Specification document which is used to provide its capabilities to the host. The specification for UAC is published by USB implementers forum, there are two versions of UAC specification – 1.0 and 2.0. USB Headset is an example of UAC Device.

UAC device features supported by Aikri-QCS610 platform:

  • Simultaneous dual channels (playback and capture)
  • Supported Formats
    • PCM/Stereo/48000 Hz/16bits per sample
  • Supported Audio Controls
    • Playback (Speaker) Mute Control
    • Playback (Speaker) Volume Control
    • Capture (Microphone) Mute Control
    • Capture (Microphone) Volume Control

Realtime Use cases

Using the above setup, we have validated the following real time use cases.

Video conferencing device on Aikri-QCS610 platform is tested with Microsoft Teams with Linux and Windows host machine.

When device gets enumerated with host, user will get UVC camera device and UAC microphone and speaker device with Mute and Volume controls at “Devices” section of Microsoft Teams application. Following snapshots shows Aikri-QCS610 device selection with Microsoft Teams application.

 

Realtime Use cases-1 Realtime Use cases-2

 

Once device gets selected, user can initiate teams call with Aikri-QCS610 UVC camera, UAC microphone and speaker device.

Video conferencing device on Aikri-QCS610 platform is tested with Zoom application with Linux host machine.

Similarly, users will get UVC camera device and UAC microphone and speaker device at “Devices” section of Zoom application. Following snapshots shows Aikri-QCS610 device selection with Zoom.

 

 

Once device gets selected, user can initiate teams call with Aikri-QCS610 UVC camera, UAC microphone and speaker device.

Video conferencing device use case is demonstrated using Aikri-QCS610 platform and eInfochips software solution.

 

Picture of Milansinh Vadher

Milansinh Vadher

Solution Engineer at eInfochips an Arrow Company

Explore More

Talk to an Expert

Subscribe
to our Newsletter
Stay in the loop! Sign up for our newsletter & stay updated with the latest trends in technology and innovation.

Start a conversation today

Schedule a 30-minute consultation with our Battery Management Solutions Expert

Start a conversation today

Schedule a 30-minute consultation with our Industrial & Energy Solutions Experts

Start a conversation today

Schedule a 30-minute consultation with our Automotive Industry Experts

Start a conversation today

Schedule a 30-minute consultation with our experts

Please Fill Below Details and Get Sample Report

Reference Designs

Our Work

Innovate

Transform.

Scale

Partnerships

Device Partnerships
Digital Partnerships
Quality Partnerships
Silicon Partnerships

Company

Products & IPs