Computing architecture for active noise reduction devices
By employing a hierarchical computing architecture in the ANR device, utilizing three processors to handle the core ANR algorithm, signal analysis, and advanced functions respectively, the problems of increased power consumption and cost in existing technologies are solved, and a highly efficient and multifunctional ANR device is realized.
Patent Information
- Application Number
- CN202180014361.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-02-12
- Filing Date
- 2021-02-10
- Publication Date
- 2025-11-07
- Estimated Expiration
- 2041-02-10
AI Technical Summary
Existing ANR devices consume more power and cost when handling complex computing tasks, and it is difficult to efficiently allocate computing resources to meet multifunctional needs.
It employs a computing architecture that includes at least three different processors, namely the core ANR algorithm, signal analysis, and advanced function assignment tasks, and optimizes computing efficiency and reduces power consumption through a layered design.
It enables efficient allocation of computing resources in ANR devices, reduces power consumption, supports multifunctional requirements, and improves system efficiency and user experience.
Smart Images

Figure CN115104150B_ABST
Abstract
Description
[0001] CLAIM
[0002] This application claims priority to U.S. Patent Application No. 16 / 788,365, filed February 12, 2020, which is hereby incorporated by reference in its entirety. TECHNICAL FIELD
[0003] The present disclosure relates generally to personal active noise reduction (ANR) devices. More specifically, the present disclosure relates to a computing architecture for efficiently processing different ANR processing functions. BACKGROUND
[0004] To isolate a user’s ears from unwanted ambient sound, it has become commonplace for personal ANR devices to be worn around a user’s ears in an earphone and other physical configurations. ANR earphones counteract unwanted ambient noise by actively generating an anti-noise signal. These ANR earphones contrast with passive noise reduction (PNR) headphones, which simply physically isolate a user’s ears from ambient noise. Of particular interest to users are ANR earphones that also incorporate audio listening functionality, thereby enabling a user to listen to electronically provided audio (e.g., playback of a recorded audio or audio received from another device) without the intrusion of unwanted ambient noise.
[0005] As ANR devices have become more popular, the need for more complex computing requirements has been driven by the need to improve performance and add more powerful functionality. For example, in addition to providing the signal processing of the prior art, ANR devices are tasked with providing enhanced functionality, such as providing multiple I / O ports (e.g., Bluetooth, USB, etc.), high-quality telephony services, noise level control management, event processing, user experience command processing, etc. With the increased computing requirements, both cost and power consumption increase as more complex hardware is added to the ANR device. SUMMARY
[0006] All examples and features mentioned below can be combined in any technically possible manner.
[0007] Systems and methods are disclosed that describe a computing architecture for efficiently processing different ANR processing functions in an ANR device.
[0008] In some implementations, the computing architecture includes at least three different processors, each configured to perform a set of computing functions appropriate for a single processor. In these cases, the architecture allows for different types of required functions to be processed by processors that meet the requirements of the task (e.g., priority, speed, memory resources). By dividing the functions among different processors, computing efficiency is gained and power consumption is reduced.
[0009] One aspect provides a personal active noise reduction (ANR) device comprising: a communication interface configured to receive a source audio stream and a control signal; a driver; a microphone system; and an ANR computing architecture.
[0010] In certain implementations, the ANR computing architecture comprises: a first DSP processor configured to: receive the source audio stream and signals from the microphone system, perform ANR on the source audio stream according to a set of operating parameters deployed in the first DSP processor, and output a processed audio stream to the driver; a second DSP processor configured to: generate state data in response to an analysis of at least one of the source audio stream, the signals from the microphone system, and the processed audio stream; and change the set of operating parameters on the first DSP; and a general purpose processor operably coupled to the first and second DSP processors and configured to: transmit the control signal using the communication interface, process the state data from the second DSP processor, and change the set of operating parameters on the first DSP processor.
[0011] Implementations can include one of the following features, or any combination thereof.
[0012] In certain aspects, the operating parameters are selected from: filter coefficients, compressor settings, signal mixers, gain terms, and signal routing options.
[0013] In other aspects, the state data generated by the second DSP processor includes an error condition detected in the processed audio stream.
[0014] In further aspects, the state data generated by the second DSP processor includes a frequency domain overload condition detected in the processed audio stream.
[0015] In some implementations, the state data generated by the second DSP includes sound pressure level (SPL) information detected from the microphone system and the processed audio stream.
[0016] In further implementations, the communication interface includes a Bluetooth system.
[0017] In particular cases, the general purpose processor includes a sleep mode to conserve power, and wherein the sleep mode is configured to be awakened by at least one of the first DSP processor, the second DSP processor, and the communication interface.
[0018] In certain aspects, the general purpose processor is further configured to apply machine learning to the state data received from the second DSP processor.
[0019] In particular implementations, the general-purpose processor is further configured to apply machine learning to the time-based signal. In some cases, the time-based signal includes raw audio data blocks received from a microphone system and / or via a Bluetooth system.
[0020] In other aspects, the operational parameter includes a filter coefficient, and the general-purpose processor is further configured to calculate and install updated filter coefficients on the first DSP processor.
[0021] In some cases, the general-purpose processor is further configured to: evaluate the status data to identify a damage condition of the personal ANR.
[0022] Two or more features described in this disclosure, including those described in the SUMMARY, can be combined to form implementations not specifically described herein.
[0023] The details of one or more implementations are set forth in the accompanying drawings and the description below. Other features, objects, and advantages will be apparent from the description, drawings, and claims BRIEF DESCRIPTION OF DRAWINGS
[0024] FIG. 1 A block diagram of an ANR device having a layered computing architecture is shown, in accordance with various implementations.
[0025] FIG. 2 A detailed view of a computing architecture is shown, in accordance with various implementations.
[0026] FIG. 3 An illustrative personal ANR wearable device is shown, in accordance with various implementations.
[0027] It is noted that the figures of the various implementations are not necessarily drawn to scale. The figures are intended to show typical aspects of the disclosure, and therefore should not be considered limiting of the scope of the implementations. In the drawings, like numbering represents similar elements between the figures. DETAILED DESCRIPTION
[0028] Various implementations of the present disclosure describe a computing architecture for an active noise reduction (ANR) device that includes at least three different processors, each configured to perform a set of computing functions appropriate for a single processor. Thus, the architecture allows each required function to be processed by a processor that meets the requirements of the task (e.g., priority, speed, memory resources). By dividing the functions among different processors, computing efficiency can be obtained and power consumption can be reduced.
[0029] While the present disclosure provides an architecture for a device such as a headset employing ANR, a detailed description of ANR is omitted for brevity. To the extent necessary, exemplary ANR systems are described, for example, in U.S. Patent No. 8,280,066 to Joho et al., entitled "Binaural Feedforward-based ANR," issued October 2, 2012, and U.S. Patent No. 8,184,822 to Carreras et al., entitled "ANR Signal Processing Topology," issued May 22, 2012, the contents of which are hereby incorporated by reference herein.
[0030] The solutions disclosed herein are intended for use with a wide variety of personal ANR devices, i.e., devices configured to be worn at least partially by a user in proximity to at least one of the user's ears to provide ANR functionality for the at least one ear. It should be noted that while various particular implementations of personal ANR devices can include earphones, two-way communication headsets, earpieces, earbuds, audio eyewear, wireless headsets (also known as "headsets"), and earmuffs, the presentation of particular implementations is intended to facilitate understanding by the use of examples, and should not be viewed as limiting the scope of the disclosure or the scope of the claims.
[0031] Additionally, the solutions disclosed herein are intended for use with personal ANR devices that provide two-way audio communication, one-way audio communication (i.e., acoustic output of audio electronically provided by another device), or no communication at all. Furthermore, the solutions disclosed herein are intended for use with personal ANR devices that wirelessly connect to other devices, connect to other devices through conductive and / or optical conductive cables, or do not connect to any other devices at all. These teachings are intended for use with personal ANR devices having physical configurations configured to be worn in proximity to one or both of a user's ears, including and not limited to earphones having one or two earpieces, headsets, behind-the-neck headsets, headsets having a communication microphone (e.g., a boom microphone), wireless headsets (i.e., headsets), audio eyewear, single earphones or paired earphones, and hats, helmets, clothing, or any other physical configuration incorporating one or two earpieces to enable audio communication and / or ear protection.
[0032] In addition to personal ANR devices, the solutions disclosed and claimed herein are also intended for use with providing ANR in a relatively small space in which a person can sit or stand, including and not limited to telephone booths, automobile passenger compartments, and the like.
[0033] FIG. 1A block diagram of a personal ANR device 10 is shown, which in one example can be configured to be worn by a user to provide active noise reduction (ANR) in the vicinity of at least one ear of the user. The personal ANR device 10 can have any of a variety of physical configurations, including a configuration incorporating a single earpiece to provide ANR to only one ear of the user, other configurations incorporating a pair of earpieces to provide ANR to both ears of the user, and other configurations incorporating one or more independent speakers to provide ANR to the environment surrounding the user. It should be noted, however, that for simplicity of discussion, only a single device 10 is incorporated FIG. 1 A single device 10 is shown and described. As will be set forth in further detail, the personal ANR device 10 incorporates functionality that can provide either or both feedback-based ANR and feedforward-based ANR in addition to possibly further providing pass-through audio.
[0034] In FIG. 1 In the illustrative embodiment, the ANR device 10 includes a wireless communication interface, in this case a Bluetooth system 12, which provides for communication with an audio gateway device (or simply gateway device) 30, such as a smartphone, a wearable smart device, a laptop computer, a tablet computer, a server, etc. The Bluetooth system 12 may, for example, be implemented as a Bluetooth system on a chip (SoC), a Bluetooth low energy (BLE) module, or in any other manner. It is noted that while the ANR device 10 is shown as using a Bluetooth system 12 to provide wireless communication, any type of wireless technology (e.g., Wi-Fi Direct, Cellular, etc.) can be used instead. Communication with the ANR device 10 can also be conducted via a first universal serial bus (USB) port 16 that interacts with the Bluetooth system 12 and / or a second USB port 18 that interacts with a general purpose (GP) processor 24. The GP processor 24 is one of at least three processors implemented on the ANR device 10, the other processors being a first digital signal processing (DSP) processor 20 and a second DSP processor 22, which two processors form a DSP system 14.
[0035] In a typical application, source audio stream 32 is received from gateway device 30 via Bluetooth system 12 and passed to DSP system 14, where first DSP processor 20 performs ANR and generates a processed audio stream 34, which is then broadcast via acoustic driver 26 (i.e., a speaker). Microphone system 28 captures ambient noise sounds provided to DSP system 14 to, for example, provide a reference signal for generated anti-noise sounds for ANR. For example, using the captured sounds, an anti-noise signal is computed and output by acoustic driver 26, where the amplitude and time offset are computed to acoustically interact with unwanted noise sounds in the surrounding environment. Microphone system 28 can also be used to capture user speech for telephone applications, etc., which can be communicated via output audio stream 36 to Bluetooth system 12 and then to gateway device 30. It should be appreciated that the number and location of the individual microphones in microphone system 28 will depend on the particular requirements of ANR device 10. Moreover, as noted, any type of communication interface, such as USB ports 16, 18 or other communication ports and protocols (not shown), can be implemented instead of using Bluetooth system 12 to communicate with gateway device 30.
[0036] In addition to audio streams, control signals 40 can also be communicated between gateway device 30 and GP processor 24. Control signals 40 can include, for example: data packets from gateway device 30 (e.g., to update controllable noise cancellation (CNC) levels); ANR device generated data packets communicated to gateway device 30 (e.g., to provide coordination between a pair of earbuds); user generated control signals (e.g., skip to next song, answer a phone, set CNC levels, etc.); etc. Moreover, as set forth in further detail herein, GP processor 24 can generate feedback 42 (e.g., product usage characteristics, fault detection, etc.) that can be reported back to gateway device 30 and / or a remote service such as cloud platform 31. Feedback 42 can be used, for example, to enhance the user experience by providing details on how to use ANR device 10, report error conditions, etc.
[0037] ANR device 10 typically includes additional components (omitted for brevity) including, for example, a power source, visual input / output devices such as a GUI and / or LED indicators, haptic input / output devices, power and control switches, additional memory, capacitive input devices, sensors, etc.
[0038] As noted, the computing architecture of the ANR device 10 utilizes at least three different processors that provide a modular and layered operating platform for implementing the functionality associated with the ANR device 10. Using this architecture, the processing capabilities of each processor are tailored to specific tasks to improve the efficiency of the system. Generally, the first DSP processor 20 provides a set of core ANR algorithms 50 that are designed to provide active noise reduction to the audio stream 32; the second DSP processor 22 provides a set of signal analysis (SA) algorithms 52 that are designed to analyze the ANR operation and provide status data such as operational characteristics, faults, etc., and automatically adjust parameters within the ANR algorithms 50 in response to any available signals within the ANR device 10; and the GP processor 24 provides a set of advanced functions 54 such as managing user controls, providing I / O processing, processing events generated by the DSP system 14, implementing power mode levels, etc.
[0039] FIG. 2 The processor layering and characteristics are shown in more detail. In this illustrative embodiment, the first DSP processor 20 and the second DSP processor 22 share a common bus 21 so that they both have access to the GP processor 24, the microphone system 28, the audio stream, etc. As noted herein, the first DSP processor 20 includes a set of core ANR algorithms 50 that process the incoming audio stream 32 FIG. 1 ), including, for example, feedback loop processing, compensator processing, feedforward loop processing, and audio equalization. The core ANR algorithms 50 can include operational ANR parameters that indicate, for example, filter coefficients, compressor settings, signal mixers, gain terms, signal routing options, etc. The core ANR algorithms 50 can generally be characterized as stream processing oriented and requiring high level processor performance but relatively low complexity. Specifically, the functions performed by the core ANR algorithms 50 are designed to operate extremely quickly with a minimum amount of processing options and memory requirements. For these types of stream processing functions, very low latency is required, e.g., on the order of 1-10 microseconds. In addition, because the first DSP processor 20 provides the core ANR functionality, the first DSP processor 20 must be continuously powered as long as the ANR device 10 is operational. Thus, the first DSP processor 20 is modulated to use as little power as possible to implement the computations of the ANR algorithms 50.
[0040] The second DSP processor 22 includes a set of signal analysis algorithms 52 that do not directly provide ANR processing, but instead analyze the signals and generate, for example, state data characterizing the signals within the ANR device 10 and the ANR processing performed by the first DSP processor 20. This state data can include, for example, fault information, instability detection, performance characteristics, error conditions, frequency domain overload conditions, sound pressure level (SPL) information, etc. The signal analysis algorithms 52 perform different types of analysis that can employ thresholds and rules. For example, if a series of frequency characteristics deviates from an expected range, a fault can be triggered, resulting in a corresponding “event” being output to the GP processor 24, which can then take corrective action.
[0041] Any processing suitable for analyzing signals can be deployed in the second DSP processor 22. Non-limiting exemplary signal analysis algorithms 52 are described, for example, in U.S. Patent No. 10,244,306, entitled “Real-time detection of feedback instability” (e.g., describing instability detection), published March 26, 2019; U.S. Publication No. 2018 / 0286374, entitled “Parallel Compensation in Active Noise Reduction Devices”; 2018 / 0286373, entitled “Dynamic Compensation in Active Noise Reduction Devices”; 2018 / 0286375, entitled “Automatic Gain Control in Active Noise Reduction (ANR) Signal Flow Path” (e.g., describing overload conditions); and U.S. Publication No. 2019 / 0130928, entitled “Compressive Hear-through in Personal Acoustic Devices” (e.g., describing controlling ANR to produce maximum loudness at the ear), each of which is hereby incorporated by reference in its entirety.
[0042] As noted herein, the second DSP processor 22 can also directly change the operating (i.e., ANR) parameters of the first DSP processor 20. For example, in certain cases, the signal analysis algorithm 52 is deployed to automatically adjust the ANR parameters (i.e., within the core ANR algorithm 50) based on internal signals captured from the algorithm 50, 52, from the GP processor 24, from any of the microphones 28, from the input audio stream 32, and / or from the control signals 40 to achieve a desired experience. For example, in certain implementations, external signals monitored by the algorithm 52, such as external sound pressure level (SPL) characteristics received by the microphones 28, are used to adjust the ANR parameters.
[0043] Because the second DSP processor 22 does not directly implement the core ANR service, a relatively smaller amount of performance is required, yet a relatively larger amount of computational complexity is provided. For example, in certain cases, the tasks performed by the second DSP processor 22 can tolerate a larger amount of latency, e.g., on the order of 100 microseconds to 10 milliseconds. Similar to the first DSP processor 20, the second DSP processor is also continuously powered when the device 10 is operational. In certain implementations, the second DSP processor 22 is configured to perform both stream processing and block processing, and includes a moderate amount of data storage and programmability to perform the analysis tasks in an efficient manner.
[0044] The GP processor 24 includes a set of high-level functions 54 that are one level removed from the ANR processing performed by the first DSP processor 20. The particular functions 54 implemented by the GP processor 24 can depend on the requirements of the ANR device 10. FIG. 2 A set of exemplary functions is shown. In certain exemplary implementations, the communication algorithm 56 handles I / O and command processing functions. In some cases, the communication algorithm 56 includes a unified messaging interface for converting different communication protocols (e.g., USB versus Bluetooth) to a common protocol. The unified messaging interface allows the code for interpreting commands to be stored and implemented in a single location (i.e., the GP processor 24), and thus allows all commands to be routed to the GP processor 24 for processing.
[0045] The GP processor 24 is generally responsible for handling larger and more complex computations. In some implementations, the GP processor 24 calculates "one-time" filter coefficients customized for the individual user based on how well the product fits on his or her head. In certain implementations, the user experience algorithm 64 analyzes the user fit based on, for example, the control signals 40 and the feedback 42, and the communication algorithm 56 notifies the user to adjust the fit of the device 10 in response to the fit algorithm.
[0046] In various implementations, the GP processor 24 also includes an ANR control algorithm 58 that is responsive to events received from the DSP system 14 or to events received from the gateway device 30 (FIG. 1 ) receive control signals 40 to update operating parameters of the first DSP processor 20. In some cases, the control algorithm 58 implements a CNC (controllable noise cancellation) feature, among others.
[0047] As noted, the GP processor 24 can receive “events” from the second DSP processor 22, e.g., indicating instability or some other issue, e.g., detected using the techniques described in U.S. Patent No. 10,244,306 (previously incorporated by reference herein). If immediate changes are needed to mitigate instability based on one or more received events, the second DSP processor 22 will typically be responsible for changing the ANR parameters in the first DSP processor 20. Regardless of whether immediate changes are needed, the GP processor 24 can record the events generated in its local memory and report these events via the Bluetooth system 12 FIG. 1 ) to the gateway device 30.
[0048] After a series of events have been collected, the GP processor 24 can utilize one or more of its algorithms to identify and / or address conditions. For example, if multiple instability events are detected, the system health algorithm 62 is deployed to determine if there is a more serious issue (e.g., a failure in the ANR device 10). In the event a failure is identified, the system health algorithm 62 is configured to characterize the failure, and based on the nature of the failure, the system health algorithm 62 directly initiates ANR parameter changes on the DSP processor 20. In other cases, the system health algorithm 62 takes other actions, such as analyzing the event data, reporting the analysis to the gateway device 30, applying machine learning to determine the cause of the failure, etc. As noted, a damaged condition of the ANR device 10 is reported back to the gateway device 30 to notify the device user (or another user) that the ANR device 10 has failed.
[0049] For example, when an instability event is detected, e.g., using the techniques described in U.S. Patent No. 10,244,306 (previously incorporated by reference herein), the GP processor 24 records the event. In the event the number of detected instability events exceeds a predetermined threshold, the GP processor 24 is configured to provide a notification (e.g., to the device user or another user) that the device 10 appears to have failed. Similarly, if data measured in calculating filter coefficients customized for an individual user based on how well the product fits on his or her head indicates some unusual (e.g., a poor fit, as characterized by an unexpected difference in the feedback versus the feed-forward microphone signal), the GP processor 24 provides feedback indicating that the user adjust the device, e.g., for fitting.
[0050] In other cases, the coordination algorithm 60 is deployed to coordinate performance between a pair of earphones (e.g., earbuds, over-ear audio devices, etc.). For example, in response to detecting that a first earphone is operating at a low ANR performance level (e.g., due to a detected malfunction), the coordination algorithm 60 causes a second earphone to match the ANR performance level of the first earphone to avoid a performance mismatch and ensure a better user experience.
[0051] In various implementations, the user experience algorithm 64 is deployed to provide user controls such as volume, equalization, etc., and to implement different operational modes such as telephony, music listening, etc. The user experience algorithm 64 can be implemented to analyze sensor data to automatically control the ANR device 10 (e.g., to provide special settings when on an airplane), to collect and provide feedback that can be analyzed remotely, etc. In other cases, the algorithm 64 responds to status data indicating a poor fit of the ANR device 10 (e.g., a proper seal with a user’s ear canal is not detected) and outputs a warning (e.g., to the device user or another user).
[0052] In further implementations, the GP processor 24 is configured to implement a machine learning model or event classifier. In some examples, the GP processor 24 is configured to apply machine learning to status data received from the second DSP processor 22. In more particular examples, the GP processor 24 is configured to apply machine learning to status data received from the second DSP processor 22 and to time-based signals such as blocks of raw audio data. In some cases, the time-based signals (which can include raw or unprocessed audio data) are received via the microphone system 28 and / or the Bluetooth system 12 (e.g., as the audio stream 32). Exemplary machine learning techniques involving signal processing are described in U.S. Application No. 16 / 425,550, filed May 29, 2019, entitled “Automatic Active Noise Reduction (ANR) Control,” and U.S. Application No. 16 / 690,675, filed November 21, 2019, entitled “Active Transit Vehicle Classification,” which are hereby incorporated by reference in their entireties.
[0053] In further implementations, to illustrate various functions 54 on the GP processor 24, a lightweight operating system (OS) and / or a function library 66 can be implemented to allow easy access to, addition, and deletion of algorithms and routines; to allow for software updates to be performed; to provide access to storage; to provide use of higher-level scripting and / or programming languages, etc.
[0054] Because the GP processor 24 does not perform any time-critical signal processing services, the GP processor 24 can be implemented with relatively low performance, but requires a relatively high amount of computational complexity in order to provide a wide variety of functions. When performing functions, the latency can be relatively high, e.g., on the order of 100 milliseconds to 10 seconds. Moreover, because its functions are not always needed, the GP processor 24 is configured to be placed in a lower power mode or sleep mode when not needed, e.g., when no events are detected or no analysis is needed. The sleep mode is configured to be awakened by at least one of the first DSP processor 20, the second DSP processor 22, and / or a control signal received from one of the communication interfaces. In general, the GP processor 24 does not need to process any stream processing, but rather processes data as blocks using a standard memory configuration. Data storage can be implemented as needed, e.g., using internal storage and / or a flash drive.
[0055] FIG. 3 is an ANR device 10 including FIG. 1 A schematic diagram of an exemplary wearable audio device 70 of the ANR device 10. In this example, the wearable audio device 70 is an audio headset including two earphones (e.g., in-ear earphones, also referred to as "earbuds") 72, 74. Although the earphones 72, 74 are shown in a "true" wireless configuration (i.e., with no tether between the earphones 72, 74), in additional implementations the headset audio device 70 includes a tethered wireless configuration (whereby the earphones 72, 74 are connected to a playback device via wires with wireless connections) or a wired configuration (whereby at least one of the earphones 72, 74 has a wired connection to a playback device). Each earphone 72, 74 is shown as including a body 76, which can include a housing formed of one or more plastics or composite materials. The body 76 can include a sound outlet 78 for insertion into an entrance of a user's ear canal and a support member 80 for holding the sound outlet 78 in a stationary position within the user's ear. Each earphone 72, 74 includes the ANR device 10 for implementing some or all of the various functions described herein. Other wearable device forms can likewise be implemented using the ANR device 10, including around-ear earphones, audio eyewear, open-ear audio devices, etc.
[0056] It should be appreciated that one or more of the functions of the ANR device 10 can be implemented in hardware and / or software, and that various components can include communication paths that connect the components in any conventional manner, e.g., hardwired and / or wireless connections. For example, one or more non-volatile devices (e.g., centralized or distributed devices such as flash memory devices) can store and / or execute programs, algorithms, and / or parameters for one or more systems in the ANR device 10 (e.g., the Bluetooth system 12, the DSP system 14, the GP 24, etc.). In addition, the functions described herein, or portions thereof, and various modifications thereof (hereinafter referred to as "the functions") can be implemented, at least in part, via a computer program product, e.g., a computer program tangibly embodied in an information carrier, such as one or more non-transitory machine-readable media, for execution by, or to control the operation of, one or more data processing apparatus, e.g., a programmable processor, a computer, multiple computers, and / or programmable logic components.
[0057] A computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program can be deployed to be executed on one computer or on multiple computers that are distributed and / or networked together and that function as a single computing device.
[0058] Actions associated with implementing all or part of the functions can be performed by one or more programmable processors executing one or more computer programs to perform the functions. All or part of the functions can be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) and / or an ASIC (application-specific integrated circuit). Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a processor for performing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or input to, or both, one or more mass storage devices for storing data (e.g., magnetic, solid state, or optical disks); one or more output devices (e.g., a video display, speakers, a printer); and one or more input devices (e.g., a keyboard, a mouse). The aforementioned devices are examples and others can be used.
[0059] In addition, actions associated with implementing all or part of the functions described herein can be performed by one or more networked computing devices. The networked computing devices can be connected through a network, e.g., one or more wired and / or wireless networks, such as a local area network (LAN), a wide area network (WAN), a personal area network (PAN), the Internet, and / or a network and / or cloud-based computing (e.g., cloud-based servers).
[0060] In various implementations, electronic components described as being "coupled" can be linked through a regular hard wired and / or wireless means, such that the electronic components can exchange data. Additionally, sub-components within a given component can be considered to be coupled, either through a regular path or through an indirect path, which can not necessarily be shown.
[0061] A number of implementations have been described. Nevertheless, it will be understood that additional modifications can be made without departing from the scope of the inventive concepts described herein, and, therefore, other implementations are within the scope of the following claims.
Claims
1. A personal active noise reduction (ANR) device, the ANR device comprising: a communication interface configured to receive a source audio stream and control signals; a driver; a microphone system; and an ANR computing architecture comprising: a first DSP processor configured to receive the source audio stream and signals from the microphone system, perform ANR on the source audio stream according to a set of operating parameters deployed in the first DSP processor, and output a processed audio stream to the driver; a second DSP processor configured to generate state data in response to an analysis of at least one of the source audio stream, signals from the microphone system, and the processed audio stream; and change the set of operating parameters on the first DSP processor; and a general purpose processor operably coupled to the first DSP processor and the second DSP processor and configured to communicate control signals using the communication interface, process state data from the second DSP processor, and change the set of operating parameters on the first DSP processor, wherein the first DSP processor and the second DSP processor share a common bus with which the first DSP processor and the second DSP processor can each access the general purpose processor, the microphone system, and the audio stream, wherein the second DSP processor is configured to provide a relatively lesser amount of performance in terms of latency compared to the first DSP processor, but a relatively greater amount of computational complexity, and wherein the general purpose processor is configured to have a relatively low performance in terms of latency compared to the first DSP processor and the second DSP processor, but a relatively high computational complexity.
2. The personal active noise reduction (ANR) device of claim 1, wherein the operating parameters are selected from the group consisting of: filter coefficients, compressor settings, signal mixers, gain terms, and signal routing options.
3. The personal active noise reduction (ANR) device of claim 1, wherein the state data generated by the second DSP processor includes error conditions detected in the processed audio stream.
4. The personal active noise reduction (ANR) device of claim 1, wherein the state data generated by the second DSP processor includes frequency domain overload conditions detected in the processed audio stream.
5. The personal active noise reducing (ANR) device of Claim 1, wherein the state data generated by the second DSP processor comprises: sound pressure level (SPL) information detected from the microphone system and the processed audio stream.
6. The personal active noise reduction (ANR) device of claim 1, wherein the general purpose processor includes a sleep mode to conserve power, and wherein the sleep mode is configured to be awakened by at least one of the first DSP processor, the second DSP processor, and the communication interface.
7. The personal active noise reduction (ANR) device of claim 1, wherein the general purpose processor is further configured to apply machine learning to the state data received from the second DSP processor.
8. The personal active noise reduction (ANR) device of claim 7, wherein the general purpose processor is further configured to apply machine learning to time-based signals.
9. The personal active noise reduction (ANR) device of claim 1, wherein the operational parameters comprise filter coefficients, and the general purpose processor is further configured to calculate and install updated filter coefficients on the first DSP processor.
10. The personal active noise reduction (ANR) device of claim 1, wherein the general purpose processor is further configured to evaluate the state data to identify a condition of damage to the personal ANR.
11. An active noise reduction (ANR) computing architecture, the ANR computing architecture comprising: a first DSP processor configured to receive a source audio stream, perform ANR on the source audio stream according to a set of operational parameters deployed in the first DSP processor, and output a processed audio stream; a second DSP processor configured to generate state data in response to analysis of at least one of the source audio stream, a microphone input, and the processed audio stream, and to change the operational parameters in the first DSP; and a general purpose processor operably coupled to both the first DSP processor and the second DSP processor and configured to transmit control signals using a communication interface, process state data from the second DSP processor, and change the operational parameters in the first DSP processor, wherein the first DSP processor and the second DSP processor share a common bus with which both the first DSP processor and the second DSP processor have access to the general purpose processor, a microphone system, and the audio stream, wherein the second DSP processor is configured to provide a relatively lesser amount of performance in terms of latency compared to the first DSP processor, but a relatively greater amount of computational complexity, and wherein the general purpose processor is configured to have a relatively low performance in terms of latency compared to the first DSP processor and the second DSP processor, but a relatively high computational complexity.
12. The active noise reduction (ANR) computing architecture of claim 11, wherein the operational parameters are selected from filter coefficients, compressor settings, signal mixers, gain terms, and signal routing options.
13. The active noise reduction (ANR) computing architecture of claim 11, wherein the state data generated by the second DSP processor comprises error conditions detected in the microphone input and the processed audio stream.
14. The active noise reducing (ANR) computing architecture of claim 11, wherein the state data generated by the second DSP processor comprises frequency domain overload conditions detected in the processed audio stream.
15. The active noise reducing (ANR) computing architecture of claim 11, wherein the state data generated by the second DSP processor comprises sound pressure level (SPL) information detected from the processed audio stream.
16. The active noise reducing (ANR) computing architecture of claim 11, wherein the general purpose processor comprises a sleep mode to conserve power, wherein the sleep mode is configured to be woken up by at least one of the first DSP processor, the second DSP processor, and the communication interface.
17. The active noise reducing (ANR) computing architecture of claim 11, wherein the general purpose processor is further configured to apply machine learning to the state data received from the second DSP processor.
18. The active noise reducing (ANR) computing architecture of claim 17, wherein the general purpose processor is further configured to apply machine learning to time-based signals.
19. The active noise reducing (ANR) computing architecture of claim 11, wherein the general purpose processor is further configured to compute and install updated filter coefficients in the first DSP processor.
20. The active noise reducing (ANR) computing architecture of claim 11, wherein the general purpose processor is further configured to evaluate state data to identify a damage condition and communicate the damage condition to an external device via the communication interface.
Citation Information
Patent Citations
Real-time detection of feedback instability
US10244306B1
Automatic active noise reduction (ANR) control
US10636405B1
Parallel Compensation in Active Noise Reduction Devices
US20180286374A1
Compressive Hear-through in Personal Acoustic Devices
US20190130928A1
MRAM integration into the MOL for fast 1t1m cells
US20210159270A1