Virtualizing Audio Video Devices via Synchronous Streaming

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing USB redirection techniques for virtualizing video devices, such as webcams, in a virtual desktop infrastructure (VDI) environment face difficulties including inefficient data processing and synchronization issues with audio and video data, leading to suboptimal user experience.

Innovation Solution

The method involves encoding video data from video devices into an encoded video stream using standards like H.264, embedding audio data within the stream, and transferring it to the server, where the audio is extracted and decoded separately, ensuring synchronized audio and video processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If USB redirection techniques are used to virtualize video devices, then device accessibility is improved, but data synchronization and processing efficiency deteriorate

Engineering Contradiction:
Improvedevice accessibilityVSAvoiddata processing efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent segments the audio and video data processing into separate synchronized streams. Video data is captured and encoded separately, while audio data is captured and encoded separately, then both are multiplexed into a single protocol stream for transmission. This segmentation allows independent optimization of each data type while maintaining synchronization through timestamp correlation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary encoding and multiplexing layer that converts raw audio and video data into a standardized protocol stream format. This intermediary process includes encoding video using H.264, encoding audio using AAC, multiplexing them with synchronization metadata, and transmitting through a unified channel, thereby improving overall data processing efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If USB redirection techniques are used to virtualize video devices, then device virtualization is achieved, but audio-video synchronization deteriorates

Engineering Contradiction:
Improvedevice virtualizationVSAvoidaudio-video synchronization
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent applies preliminary encoding and timestamp assignment to both audio and video data before multiplexing. Video frames are encoded with presentation timestamps (PTS), and audio samples are encoded with corresponding timestamps. This preliminary timing information enables the receiving end to synchronize playback without requiring complex real-time synchronization mechanisms.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements a feedback mechanism where the system monitors the synchronization status of audio and video streams during transmission and playback. If desynchronization is detected, the system adjusts the playback timing of one stream relative to the other using the embedded timestamp information, ensuring reliable audio-video synchronization.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10834164B2Virtualizing audio and video devices using synchronous A/V streaming
Publication Date: 2020.11.10 DELL MARKETING CORP
  • US10834164B2 patent drawing
  • US10834164B2 patent drawing
  • US10834164B2 patent drawing

AI summary

Audio and video devices can be virtualized using synchronous A/V streaming. When a video device such as a webcam is connected to a client terminal while the client terminal has established a remote session on a server, video data generated by the video device can be encoded into an encoded video stream using the H.264 or similar standard. Additionally, audio data corresponding to the video data can be embedded into the encoded video stream. The encoded video stream with the embedded audio can then be transferred to the server. The server-side components can extract the audio from the stream and perform the necessary decoding on the video and possibly on the audio data prior to providing the decoded data to drivers that function as virtualized audio and video devices on the server.