Virtualizing Audio Decoding Hardware via Intermediary Translation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Virtualization of audio decoding hardware in guest devices is challenging due to the inability to directly expose and utilize host computing device hardware by guest device software, particularly when there is a mismatch in data structure representation or when host audio decoder memory is not directly addressable by guest software.

Innovation Solution

A host computing device with a processing unit, main memory, and a host audio decoder with dedicated memory is configured to intercept and translate operations accessing the guest audio decoder's registers or memory, allowing encoded audio to be stored in main memory and decoded using the host audio decoder's dedicated memory, with ownership of the context being assigned between the guest and host audio decoders.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If guest device software directly accesses host audio decoder memory, then hardware exposure is simplified, but memory addressability and data structure mismatches prevent direct access

Engineering Contradiction:
Improvehardware exposureVSAvoidmemory addressability
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary layer that translates guest device memory access operations into host device memory access operations. This intermediary handles the address space translation and data structure conversion between the guest audio decoder's expected memory layout and the host audio decoder's actual memory layout, enabling indirect access that resolves the addressability mismatch while maintaining ease of operation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a copy of the guest device's memory space and data structures in the host device's addressable memory. By copying the audio decoder context, buffers, and register states into a format that the host can directly address, the system enables the guest software to operate on copied data structures that mirror the original guest memory layout, thus resolving the direct access limitation.

Inventive Principle:
Principle #26Copying

2Adaptability or versatility

If guest audio decoder operations are emulated on host device, then hardware compatibility is improved, but direct hardware utilization is prevented

Engineering Contradiction:
Improvehardware compatibilityVSAvoidhardware utilization
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent copies the essential operational state of the guest audio decoder (context, buffers, registers) into the host device's addressable memory space. This copying enables the host to emulate the guest's hardware behavior by operating on these copied data structures, achieving hardware compatibility while working around the inability to directly utilize the guest's dedicated hardware resources.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent makes the host device's audio decoder capable of serving multiple purposes: it processes both native host audio streams and emulated guest audio streams. By configuring the host audio decoder to handle copied guest context data through the same decoding pipeline, the system achieves multi-functionality where a single hardware resource serves both host and guest operations, improving productivity despite the emulation layer.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Adaptability or versatility

If memory operations are intercepted and translated, then hardware virtualization is enabled, but operation complexity increases

Engineering Contradiction:
Improvehardware virtualizationVSAvoidoperation complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements an intermediary translation layer that automatically intercepts and converts guest device memory operations into host device memory operations. This intermediary handles the complexity of address translation, data structure conversion, and operation mapping in the background, enabling hardware virtualization while shielding the guest software from the operational complexity through automatic translation mechanisms.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10055242B2Virtualizing audio decoding hardware
Publication Date: 2018.08.21 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10055242B2 patent drawing
  • US10055242B2 patent drawing
  • US10055242B2 patent drawing

AI summary

Systems and methods for virtualizing audio decoding hardware of a guest audio decoder are disclosed. A method may include storing received encoded audio in main memory of a host computing device. An operation to access a register or memory of the audio decoding hardware of the guest audio decoder may be intercepted. The register or memory has an associated address in the main memory of the host computing device. The intercepted operation can include a register WRITE operation, and can be translated into an operation associated with accessing dedicated decoder memory of a host audio decoder of the host computing device.