Providing host media processing functionality to a guest operating system

US2024111556A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2024111556-A1
Application numberUS-202217958106-A
CountryUS
Kind codeA1
Filing dateSep 30, 2022
Priority dateSep 30, 2022
Publication dateApr 4, 2024
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

The techniques disclosed herein enable a guest operating system (OS) to access and use a media processing component configured on a host OS. The guest OS provides, via an API, a request to create an instance of the media processing component (e.g., a codec, an encryption/decryption component, a DRM component). In association with the request, the guest OS allocates space in memory for media data that is to be processed by the instance of the media processing component configured on the host OS. The guest OS stores the input media data in the allocated memory and provides, via the API, reference(s) to locations of the allocated memory. The reference(s) to the locations of the allocated memory enable the host OS to retrieve the input media data and process the input media data using the instance of the media processing component configured on the host OS.

First claim

Opening claim text (preview).

1 . A method implemented by a host operating system comprising: receiving, from a guest operating system via an application programming interface, a request to perform a media processing operation using an instance of a media processing component configured on the host operating system; receiving, from the guest operating system via the application programming interface, a reference to memory allocated for input media data on which the media processing operation is to be performed using the instance of the media processing component, wherein the memory is shared between the guest operating system and the host operating system; retrieving the input media data from the memory using the reference to the memory; producing processed media data by performing the media processing operation on the input media data using the instance of the media processing component; and sending, to the guest operating system, an indication that the media processing operation has been performed on the input media data. 2 . The method of claim 1 , wherein the media processing component configured on the host operating system implements hardware functionality that is unavailable to a corresponding media processing component configured on the guest operating system. 3 . The method of claim 2 , wherein: the media processing component configured on the host operating system comprises a first type of codec; the corresponding media processing component configured on the guest operating system comprises a second type of codec that is different than the first type of codec; and the media processing operation comprises encoding or decoding the input media data. 4 . The method of claim 3 , wherein the hardware functionality is implemented via hardware-accelerated encoding or decoding. 5 . The method of claim 2 , wherein: the media processing component configured on the host operating system comprises a first type of encryption/decryption component; the corresponding media processing component configured on the guest operating system comprises a second type of encryption/decryption component that is different than the first type of encryption/decryption component; and the media processing operation comprises encrypting or decrypting the input media data. 6 . The method of claim 1 , wherein: the media processing component configured on the host operating system comprises a first type of Digital Rights Management component; a corresponding media processing component configured on the guest operating system comprises a second type of Digital Rights Management component that is different than the first type of Digital Rights Management component; and the media processing operation comprises Digital Rights Management enforcement. 7 . The method of claim 1 , wherein the input media data comprises a frame of a video and the host operating system is configured to receive the request on a per-frame basis. 8 . The method of claim 1 , further comprising: receiving a target color space for display from the guest operating system; converting the processed media data from a current color space to the target color space; and in response to the converting, rendering the processed media data for display in the target color space. 9 . The method of claim 1 , further comprising creating, based on the request, the instance of the media processing component. 10 . A method implemented by a guest operating system comprising: sending, to a host operating system via an application programming interface, a request to perform a media processing operation using an instance of a media processing component configured on the host operating system; storing input media data in memory shared between the guest operating system and the host operating system; sending, to the host operating system via the application programming interface, a reference to the memory, the reference to the memory enabling the host operating system to retrieve the input media data and to perform the media processing operation on the input media data using the instance of the media processing component configured on the host operating system; and receiving, from the host operating system, an indication that the media processing operation has been performed on the input media data. 11 . The method of claim 10 , further comprising allocating, in association with the request, the memory shared between the guest operating system and the host operating system. 12 . The method of claim 10 , wherein the media processing component configured on the host operating system implements hardware functionality that is unavailable to a corresponding media processing component configured on the guest operating system. 13 . The method of claim 12 , wherein: the media processing component configured on the host operating system comprises a first type of codec; the corresponding media processing component configured on the guest operating system comprises a second type of codec that is different than the first type of codec; and the media processing operation comprises encoding or decoding the input media data. 14 . The method of claim 13 , wherein the hardware functionality is implemented via hardware-accelerated encoding or decoding. 15 . The method of claim 12 , wherein: the media processing component configured on the host operating system comprises a first type of encryption/decryption component; the corresponding media processing component configured on the guest operating system comprises a second type of encryption/decryption component that is different than the first type of encryption/decryption component; and the media processing operation comprises encrypting or decrypting the input media data. 16 . The method of claim 10 , wherein: the media processing component configured on the host operating system comprises a first type of Digital Rights Management component; a corresponding media processing component configured on the guest operating system comprises a second type of Digital Rights Management component that is different than the first type of Digital Rights Management component; and the media processing operation comprises Digital Rights Management enforcement. 17 . The method of claim 10 , wherein the input media data comprises a frame of a video and the guest operating system is configured to provide the request on a per-frame basis. 18 . The method of claim 10 , further comprising: loading a plugin to create the application programming interface; and performing an enumeration operation, via the plugin, to identify a type of the media processing component configured on the host operating system. 19 . A device comprising: a processing system; and computer-readable storage media storing a host operating system that, when executed by the processing system, cause the device to: receive, from a guest operating system via an application programming interface, a request to perform a media processing operation using an instance of a media processing component configured on the host operating system; receive, from the guest operating system via the application programming interface, a reference to memory allocated for input media data on which the media processing operation is to be performed using the instance of the media processing component, wherein the memory is shared between the guest operating system and the host operating system; retrieve the input media data from the memory using the reference to the memory; produce processed media data by performing the m

Assignees

Inventors

Classifications

  • Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox · CPC title

  • Hypervisor-specific management and integration aspects · CPC title

  • Memory management, e.g. access or allocation · CPC title

  • Isolation or security of virtual machine instances · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2024111556A1 cover?
The techniques disclosed herein enable a guest operating system (OS) to access and use a media processing component configured on a host OS. The guest OS provides, via an API, a request to create an instance of the media processing component (e.g., a codec, an encryption/decryption component, a DRM component). In association with the request, the guest OS allocates space in memory for media dat…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F9/45545. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Apr 04 2024 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).