IP Library Granted Patent US 12694889
Granted Patent B2
US 12694889 · App. 17/930,009 · Granted Jul 28, 2026

Profanity filter for collaboration sessions in heterogenous computing platforms

Inventors: Daniel L. Hamlin (Round Rock, TX); Srikanth Kondapi (Austin, TX); Todd Erick Swierk (Austin, TX)
Assignee: Dell Products L.P.
G10L25/51G06F9/5005G10L21/0272G06F2209/5016
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12694889
App. No.
17/930,009
Granted
Jul 28, 2026
Kind
B2
Abstract

Systems and methods for filtering profanities during collaboration sessions in heterogenous computing platforms are described. In an illustrative, non-limiting embodiment, an Information Handling System (IHS) may include: a heterogeneous computing platform having a plurality of devices and a memory coupled to the heterogeneous computing platform, where the memory includes a plurality of sets of firmware instructions, where each set of firmware instructions, upon execution by a respective device, enables the respective device to provide a corresponding firmware service, and where at least one of the plurality of devices operates as an orchestrator configured to: receive a policy from an Information Technology Decision Maker (ITDM) or Original Equipment Manufacturer (OEM), and select a profanity filter setting usable during a collaboration session based, at least in part, upon the policy.

Claims (49)

1 . An Information Handling System (IHS), comprising:

a heterogeneous computing platform comprising a plurality of devices configured to communicate via a communication bus through at least one firmware service to firmware service Application Programming Interface (API) independent of any IHS host processor; and

a memory coupled to the heterogeneous computing platform, wherein the memory comprises a plurality of sets of firmware instructions, wherein each set of firmware instructions, upon execution by a respective microcontroller of at least one device of the plurality of devices in a respective microcontroller memory space independent of an IHS host processor memory space wherein the IHS host processor is configured to execute at least an IHS Operating System (OS), configures the plurality of devices to provide a respective plurality of firmware services, wherein at least one device of the plurality of devices is configured as an orchestrator to perform operations that comprise:

receive a policy from an Information Technology Decision Maker (ITDM) or Original Equipment Manufacturer (OEM);

select a profanity filter setting usable during a collaboration session based, at least in part, upon the policy;

receive a combined audio stream that comprises audio from a plurality of remote participants in the collaboration session;

send a message, via the at least one firmware service to firmware service API without any involvement by the IHS OS or any IHS host processor, to cause another firmware service to execute at least a speaker source separation algorithm, wherein the other firmware service is configured to:

separate speech or utterances produced by the plurality of remote participants in the combined audio stream into a respective plurality of separated individual audio streams, based at least in part on the speaker source separation algorithm applied to the combined audio stream to generate the separated individual audio streams;

determine whether profanity is detected in each separated individual audio stream of the plurality of separated individual audio streams based at least in part on a match between at least one of the separated individual audio streams and a set of profanity audio signatures; and

in response to a determination profanity is detected in at least one separated individual audio stream, send a message via the at least one firmware service to firmware service API without any involvement by the IHS OS or any IHS host processor, to cause another firmware service to replace the detected profanity in the at least one separated individual audio stream with another word or utterance to create at least one profanity filtered separated individual audio stream; and

provide the collaboration session with access to a combined profanity filtered audio stream that comprises a plurality of profanity filtered separated individual audio streams.

2 . The IHS of claim 1 , wherein the heterogeneous computing platform comprises: a System-On-Chip (SoC), a Field-Programmable Gate Array (FPGA), or an Application-Specific Integrated Circuit (ASIC).

3 . The IHS of claim 1 , wherein the orchestrator comprises a sensing hub.

4 . The IHS of claim 1 , wherein the orchestrator comprises an Embedded Controller (EC) or Baseboard Management Controller (BMC).

5 . The IHS of claim 1 , wherein the collaboration session comprises an audio or video conference.

6 . The IHS of claim 1 , wherein the orchestrator is configured to receive a message or an instruction from an Operating System (OS) agent or application that indicates a start of the collaboration session.

7 . The IHS of claim 1 , wherein the profanity filter setting comprises an on or off setting.

8 . The IHS of claim 1 , wherein the profanity filter setting comprises one of a plurality of filtering modes, each filtering mode having a different level of aggressiveness or permissiveness.

9 . The IHS of claim 1 , wherein the profanity filter setting comprises an indication of at least one of: a list of profane words or utterances, or at least one profanity audio signature.

10 . The IHS of claim 1 , wherein an audio Digital Signal Processor (aDSP) is configured to separate the speech or utterances based at least in part on the speaker source separation algorithm.

11 . The IHS of claim 10 , wherein the orchestrator is further configured to send a message to a firmware service provided by the aDSP via the at least one firmware service to firmware service API without any involvement by the IHS OS or any IHS host processor to apply a profanity filtering model based on the profanity filter setting.

12 . The IHS of claim 11 , wherein the profanity filter setting identifies one or more participants of the collaboration session whose respective audio stream is included in, or excluded from, profanity filtering.

13 . The IHS of claim 11 , wherein the orchestrator is further configured to, upon detection of profanity in the audio stream, at least one of: adjust a volume of a microphone input, adjust a volume of an audio output, apply an audio effect to a portion of the audio stream, flag a participant responsible for the audio stream, or notify the participant, depending on the policy.

14 . The IHS of claim 11 , wherein application of the profanity filtering model is based, at least in part, upon contextual or telemetry information.

15 . The IHS of claim 14 , wherein the orchestrator is configured to receive the contextual or telemetry information as data from another device of the plurality of devices via the at least one firmware service to firmware service API.

16 . The IHS of claim 14 , wherein the contextual or telemetry information comprises at least one of: a level of utilization of one or more of the plurality of devices, a battery status, a location of the IHS, or an identity of a user of the IHS.

17 . The IHS of claim 14 , wherein the contextual or telemetry information indicates a user's presence with respect to the IHS.

18 . The IHS of claim 14 , wherein the contextual or telemetry information indicates a user's level of engagement with respect to the collaboration session.

19 . A memory coupled to a heterogeneous computing platform, wherein the heterogeneous computing platform comprises a plurality of devices configured to communicate via a communication bus through at least one firmware service to firmware service Application Programming Interface (API) independent of any host processor, wherein the memory is configured to receive a plurality of sets of firmware instructions, wherein each set of firmware instructions, upon execution by a respective microcontroller of at least one device of the plurality of devices in a respective microcontroller memory space independent of a host processor memory space wherein the host processor is configured to execute at least an Operating System (OS), configures the plurality of devices to provide a respective plurality of firmware services, wherein at least one device of the plurality of devices operates is configured as an orchestrator configured to perform operations that comprise:

receive, from another device of the plurality of devices via the at least one firmware service to firmware service API without any involvement by the OS or any host processor, context information that comprises a user presence indication;

modify a profanity filter setting usable during a collaboration session to enforce a received policy, based, at least in part, upon the context information;

receive telemetry from at least one device of the plurality of devices via the at least one firmware service to firmware service API without any involvement by the OS or any host processor;

determine, based at least in part on the telemetry, whether a collaboration session is detected, based at least in part on detection of a pattern of utilization of the at least one device that would indicate a collaboration session is active; and

in response to a determination the collaboration session is active:

receive a combined audio stream that comprises audio from a plurality of remote participants in the collaboration session;

send a message, via the at least one firmware service to firmware service API without any involvement by the OS or any host processor, to cause another firmware service to execute at least one algorithm by at least an audio Digital Signal Processor (aDSP) configured to:

separate speech or utterances produced by the plurality of remote participants in the combined audio stream into a respective plurality of separated individual audio streams, based at least in part on a speaker source separation algorithm applied to the combined audio stream to generate the separated individual audio streams;

determine whether profanity is detected in each separated individual audio stream of the plurality of separated individual audio streams, based at least in part on a match between at least one of the separated individual audio streams and a set of profanity audio signatures; and

in response to a determination profanity is detected in at least one separated individual audio stream, send a message via the at least one firmware service to firmware service API without any involvement by the OS or any host processor, to cause another firmware service to replace the detected profanity in the at least one separated individual audio stream with another word or utterance to create at least one profanity filtered separated individual audio stream; and

provide the collaboration session with access to a combined profanity filtered audio stream that comprises a plurality of profanity filtered separated individual audio streams.

20 . A method comprising:

receiving, by an Information Handling System (IHS), a firmware installation package comprising extension drivers in a heterogeneous computing platform of the IHS, wherein the heterogeneous computing platform comprises a plurality of devices configured to communicate via a communication bus through at least one firmware service to firmware service Application Programming Interface (API) independent of any host processor, wherein upon execution by a respective microcontroller of at least one device of the plurality of devices in a respective microcontroller memory space independent of a host processor memory space wherein the host processor is configured to execute at least a host Operating System (OS), each extension driver causes a respective device to provide a firmware service to other devices of the plurality of devices via the at least one firmware service to firmware service API;

delivering an indication of a policy to an orchestrator among the plurality of devices, wherein the policy is usable by the orchestrator to filter out profanity during a collaboration session using the plurality of devices via the at least one firmware service to firmware service API, without any involvement by any host processor or host OS;

selecting a profanity filter setting usable during the collaboration session based, at least in part, upon the policy;

receiving a combined audio stream that comprises audio from a plurality of remote participants in the collaboration session;

sending a message, from the orchestrator via the at least one firmware service to firmware service API without any involvement by the host OS or any host processor, to cause another device of the plurality of devices to separate speech or utterances produced by the plurality of remote participants in the combined audio stream into a respective plurality of separated individual audio streams, using at least one digital signal processing algorithm comprising a speaker source separation algorithm applied to the combined audio stream to generate the separated individual audio streams;

determining whether profanity is detected in each separated individual audio stream of the plurality of separated individual audio streams, using the at least one digital signal processing algorithm and based at least in part on determining whether there is a match between at least one of the separated individual audio streams and a set of profanity audio signatures;

in response to determining profanity is detected in at least one separated individual audio stream, sending a message via the at least one firmware service to firmware service API without any involvement by the host OS or any host processor, to cause another device of the plurality of devices to replace the detected profanity in the at least one separated individual audio stream with another word or utterance to create at least one profanity filtered separated individual audio stream, using the at least one digital signal processing algorithm; and

providing the collaboration session with access to a combined profanity filtered audio stream that comprises a plurality of profanity filtered separated individual audio streams.