Improving low frequency extension of micro-speakers using volume dependent LINKWITZ transform and multi-band compressor
By employing volume-dependent Linkwitz transformation and multi-band compressor technology, the problem of reduced low-frequency output caused by resonance in sealed enclosure speakers has been solved, achieving high-quality audio output at different volume levels, suitable for portable computing devices.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-05-21
- Publication Date
- 2026-03-17
AI Technical Summary
Speakers housed in sealed enclosures experience reduced low-frequency output due to resonance between the driver and the air inside the enclosure. This phenomenon is particularly pronounced in micro-speakers, impacting the audio quality of portable computing devices.
The system employs a volume-dependent Linkwitz transform and a multi-band compressor. The Linkwitz transform enhances the low-frequency response of the speaker, while the multi-band compressor optimizes signal processing at different volume levels to avoid signal distortion.
It effectively enhances the low-frequency extension of the micro-speaker, ensuring consistent audio quality at different volume levels, and is suitable for various portable computing devices.
Smart Images

Figure CN115702576B_ABST
Abstract
Description
Background Technology
[0001] Speakers housed within a sealed enclosure experience a reduction in low-frequency output due to resonance between the driver and the air within the enclosure. In microspeakers, this resonance is typically much higher than that of standard full-range drivers. Microspeakers are commonly used in portable computing devices, such as, but not limited to, mobile phones, laptops, tablets, wearables, and portable game consoles, where the size and / or form factor of the device limits the size of the speaker that can be integrated into the device. Therefore, there is an important area for new and approved mechanisms to compensate for this reduction in low-frequency output and to provide improved low-frequency output to such speakers. Summary of the Invention
[0002] The data processing system according to this disclosure includes a loudspeaker, a processor, and a computer-readable medium. The computer-readable medium stores executable instructions that cause the processor to perform operations including: obtaining a first input signal to be output by the loudspeaker; determining a first volume level associated with the first input signal; selecting a first Linkwitz transform and a first multi-band compressor (MBDRC) from volume-related configuration data based on the first volume level; generating a first intermediate signal to improve the low-frequency response of the loudspeaker by applying the first Linkwitz transform to the first input signal; applying the first MBDRC to the first intermediate signal by compressing at least a portion of the first intermediate signal to generate a first output signal; and driving the loudspeaker to produce a first audio output using the first output signal.
[0003] An example method for operating a loudspeaker disposed within a sealed housing, according to the present disclosure, includes obtaining a first input signal to be output by the loudspeaker; determining a first volume level associated with the first input signal; selecting a first Linkwitz transform and a first multi-band compressor (MBDRC) from volume-related configuration data based on the first volume level; generating a first intermediate signal to improve the low-frequency response of the loudspeaker by applying the first Linkwitz transform to the first input signal; applying the first MBDRC to the first intermediate signal by compressing at least a portion of the first intermediate signal to generate a first output signal; and using the first output signal to drive the loudspeaker to produce a first audio output.
[0004] This disclosure is provided to introduce, in a simplified form, a selection of concepts also described in the detailed description. This disclosure is not intended to identify key or essential features of the claimed subject matter, nor is it intended to limit the scope of the claimed subject matter. Furthermore, the claimed subject matter is not limited to the implementation of solutions to any or all the shortcomings mentioned in any part of this disclosure. Attached Figure Description
[0005] The accompanying drawings illustrate one or more implementations of this teaching by way of example only and not limitation. In the drawings, the same reference numerals refer to the same or similar elements. Furthermore, it should be understood that the drawings are not necessarily drawn to scale.
[0006] Figure 1 This is a block diagram illustrating a computing environment 100 in which the techniques disclosed herein can be implemented.
[0007] Figure 2 It is a diagram including a first chart and a second chart. The first chart provides a plot of an example Linkwitz transform, and the second chart provides a plot of an example speaker response with and without the Linkwitz transform applied.
[0008] Figure 3 It is a diagram including a first chart and a second chart. The first chart provides plots of multiple volume-dependent example Linkwitz transforms, and the second chart provides plots of example speaker responses at each volume with the Linkwitz transform applied.
[0009] Figure 4 It includes a first graph and a second graph. The first graph provides plots of example Linkwitz transforms with and without overboost, and the second graph provides plots of example speaker responses with and without overboosted Linkwitz transforms.
[0010] Figure 5 This is a flowchart of an example process executed by a data processing system to generate configuration information for a speaker located inside a housing.
[0011] Figure 6 This is a flowchart of an example process executed by a data processing system for operating a speaker housed within a sealed enclosure.
[0012] Figure 7 This is a block diagram illustrating an example software architecture, the various parts of which can be used in conjunction with the various hardware architectures described herein, and can implement any of the features described herein; and
[0013] Figure 8 This is a block diagram illustrating the components of an example machine configured to read instructions from a machine-readable medium and execute any of the features described herein. Detailed Implementation
[0014] In the detailed description below, numerous specific details are illustrated by way of examples to provide a thorough understanding of the relevant teachings. However, it is clear that these teachings can be practiced without such details. In other instances, well-known methods, procedures, components, and / or circuit systems are described at a relatively high level without detailed explanation in order to avoid unnecessarily confusing various aspects of these teachings.
[0015] Techniques are provided for compensating for the reduction in low-frequency output in loudspeakers housed in hermetically sealed enclosures. These techniques address the technical problem that loudspeakers housed in hermetically sealed enclosures experience a reduction in low-frequency output due to resonance between the driver and the air within the enclosure. In microspeakers, this resonance is typically much higher than that of a standard full-range driver. The techniques disclosed herein provide a technical solution to this problem by compensating for this reduction in low-frequency output to provide an improved low-frequency output to such loudspeakers. These techniques utilize a set of volume-dependent Linkwitz transforms (LT) and a set of volume-dependent multi-band compressors (MBDRC) to optimally process audio for each of a set of different device volume levels.
[0016] The Linkwitz transform is a method to eliminate driver-shell resonances in an audio signal and replace them with much lower frequency resonances, thus effectively simulating a larger speaker with a better low-frequency response. A dynamic range compressor (LT) is an algorithm that applies different gain levels to a signal based on its level. A multi-band compressor splits an audio stream using a filter bank, applies a compressor to each stream, and then mixes the results together. At a given volume level, LT is configured to provide the lowest frequency extension using the available headroom plus a configurable amount of over-boost. At that volume level, MBDRC is configured to apply compression only to the bands over-boosted by LT, while leaving other bands uncompressed. Furthermore, the amount of compression applied by MBDRC is volume-dependent, and MBDRC does not compress as aggressively at higher volume levels.
[0017] The techniques disclosed herein offer significant advantages over conventional methods for improving bass extension. One approach utilizes a low-shelf filter. A low-shelf filter is similar to an LT filter, but it is not perfectly matched to eliminate speaker resonance. Instead, it is an approximation. Therefore, this approach alone cannot provide as much bass extension as the techniques disclosed herein because the low-shelf filter cannot utilize more available headroom. Most musical content is not full-range most of the time, and using a low-shelf filter does not take advantage of this to improve bass extension. Another conventional approach is to use a single MBDRC, which is configured to extend the low-frequency response as low as possible based on the actual content signal level. However, this approach is limited compared to the techniques disclosed herein because a single MBDRC approach will significantly compress audio content at higher volume levels. In contrast, the techniques disclosed herein use a volume-dependent MBDRC, which does not compress at higher volume levels with the same aggressiveness.
[0018] Figure 1 This is a block diagram illustrating a computing environment 100 in which the techniques disclosed herein can be implemented. The computing environment 100 is divided into a development environment 105 and a deployment environment 110. In the development environment 105, speaker configuration information 135 is generated based on a speaker model 120 of speaker 115. In the deployment environment 110, the speaker configuration information 135 is deployed to a computing device 145 to operate speakers 150 of the computing device 145. Speakers 150 of the computing device 145 are of the same type as speaker 115, and the speaker configuration information 135 can be used to operate speakers 150 to eliminate driver-casing resonances in audio signals and provide much lower frequency resonances. Using this approach, speakers 150 of the computing device 145 can simulate larger speakers with better low-frequency response. The development environment 105 and deployment environment 110 of the computing environment 100 can be implemented by the same or separate entities. For example, the manufacturer of the computing device 140 can implement both the development environment 105 and the deployment environment 110. Alternatively, the manufacturer of speaker 150 may implement a development environment 105 in which speaker configuration information 135 is generated, and a separate entity (such as the manufacturer of computing device 145) may implement a deployment environment 110.
[0019] Development environment 105 may include speaker 115, speaker model 120, speaker configuration data module 125, and speaker configuration data storage 130. Development environment 105 may be implemented on one or more data processing systems. The data processing system may be a local data processing system located at the location where speaker 115 is tested to produce speaker model 120. Alternatively, development environment 105 may include one or more remote data processing systems, such as one or more server devices.
[0020] Loudspeaker 115 is a microspeaker housed within a sealed housing. Loudspeaker 115 may experience a reduction in low-frequency output due to resonance of the driver within the housing. Loudspeaker model 120 can be determined based on design parameters determined during the loudspeaker design process. Alternatively, loudspeaker performance can be tested within a predetermined frequency range to determine the loudspeaker response. Loudspeaker model 120 can be stored in persistent data storage, such as loudspeaker configuration data storage 130. Loudspeaker configuration data storage 130 can be a database or other persistent data storage configured to store one or more loudspeaker models (such as loudspeaker model 120) and loudspeaker configuration information (such as loudspeaker configuration information 135). Loudspeaker configuration information 135 can be derived from loudspeaker model 120 by loudspeaker configuration data module 125. Loudspeaker model 120 provides a model of the frequency response of the loudspeaker for each of a plurality of volume levels. Loudspeaker model 120 can be used to predict the frequency response of loudspeaker 115 within a predetermined frequency range in response to a test input signal. The frequency response of loudspeaker 115 can be predicted for multiple volume levels.
[0021] The speaker configuration data module 125 can be configured to analyze the speaker model 120 and output speaker configuration information 135, which can be stored in the speaker configuration data storage 130. The speaker configuration information 135 may include configuration information that can be used to drive the speaker at each of a plurality of volume levels. The speaker configuration information 135 may include Linkwitz transform (LT) information and multi-band compressor (MBDRC) information for each of the plurality of volume levels. The LT and MBDRC information can be used to compensate for the reduction in low-frequency output caused by driver resonance within the housing at each volume level. LT and MBDRC information are included for each volume level because the reduction in low-frequency output is affected by the output volume level.
[0022] The LT information includes a Linkwitz transform, which is configured to receive a signal input at a corresponding volume level and generate an intermediate signal input, wherein the low-frequency response of the speaker is enhanced. Speaker model 120 provides a mathematical description of speaker 115, defining the frequency response of speaker 115 over a certain frequency range. As described above, speaker 115 is a sealed speaker that undergoes driver-shell resonance in the audio signal, resulting in a low-frequency roll-off in the frequency response. The terms "roll-off" or "attenuation" used herein refer to a reduction in the frequency response.
[0023] Figure 2An example of this low-frequency attenuation is illustrated. Graph 210 shows a representation of the frequency response of an example loudspeaker (such as loudspeaker 115). Graph 210 plots the frequency along the X-axis (horizontal axis) and the loudspeaker output in decibels (dB) along the Y-axis (vertical axis). Curve 215 represents the loudspeaker response before the application of the Linkwitz transform. As can be seen from curve 215, the loudspeaker output drops rapidly as the frequency decreases, whereas ideally, the frequency response should remain relatively flat across the frequency domain. The shape of curve 215 is characterized by two parameters associated with the loudspeaker model: the tuning frequency (F) and the quality factor (Q). The Linkwitz transform is a mathematical operation that can be applied to loudspeaker model 120 to change the effective F and Q values of loudspeaker model 120 to different values that provide an improved low-frequency response. For example, the F value can be decreased to provide a greater bass output and / or the Q value can be decreased to make loudspeaker model 120 appear as if the loudspeaker housing is larger. Decreasing the Q value effectively reduces the effect of air resonance between the driver and the loudspeaker housing. Figure 2 Graph 205 shows an example curve 225 of the Linkwitz transform, which can be used to improve the low-frequency response by applying more gain at lower frequencies. Graph 210 includes an example curve 220, which shows the improved low-frequency response after applying the Linkwitz transform.
[0024] MBDRC can apply a further boost to the intermediate signal output by LT. MBDRC analyzes the actual content of the audio signal in real time and can add an additional gain boost (also referred to as "over-boost" in this document) to the audio signal already boosted by LT. MBDRC can take into account the amount of headroom within a specific frequency range and can increase the gain to that amount. MBDRC can increase the gain more where there is more headroom and less where there is less headroom. Figure 4 An example of this type of super-lifting is explained. Graph 405 shows plot 425 of the example Linkwitz transform and plot 430 of the Linkwitz transform with super-lifting applied. From Figure 4 As can be seen in the example shown, the super-boost further enhances the lower frequencies to provide a further improved low-frequency response. Plot 410 shows plots 415 and 420 of the frequency response curves of the example loudspeaker 115, in which the super-boosted Linkwitz transform 430 has been applied to improve the low-frequency response of the loudspeaker 115.
[0025] The speaker configuration data module 125 can be configured to generate multiple LT transformations, such as Figure 3As shown in Figure 305, a volume-varying Linkwitz transform can be used to enhance the low-frequency response of speaker 115 at each of a set of volume levels. As can be seen in Figure 305, the curves associated with the Linkwitz transform show a smaller enhancement of the low-frequency response at lower volume levels and a larger enhancement at higher volume levels. Figure 3 Figure 310 shows the speaker response curves obtained after applying the Linkwitz transform at each volume level. For each volume level, the low-frequency response is improved. The number of volume levels for which the LT is calculated may vary depending on the implementation. The number of levels can be determined based on the speaker's signal threshold divided by a predetermined number of volume intervals. In other implementations, each interval can be a predetermined decibel increment. In other implementations, the number of intervals can be specified by the user. For example, the data processing system can provide a user interface that allows the user to configure one or more attributes of the speaker configuration information 135, including but not limited to determining the number of volume levels for the Linkwitz transform.
[0026] At a given volume level, LT is configured to provide the lowest frequency extension using the available volume headroom plus a configurable amount of over-boost. This over-boost may result in an intermediate signal output exceeding the speaker's signal threshold. Consequently, the portion of the audio signal exceeding the speaker's signal threshold can be clipped, where the portion of the audio signal exceeding the signal threshold is limited to the speaker's signal threshold. Clipping can introduce significant distortion into the speaker's audio output.
[0027] The speaker configuration data module 125 also addresses the over-boost problem by configuring a multi-band compressor (MBDRC) for processing the intermediate signal output by the LT for each volume level. The MBDRC divides the frequency domain of the speaker 115 into multiple frequency bands. The number of frequency groups into which the frequency domain can be divided can be configurable. For example, the data processing system can provide a user interface in which a user can configure one or more attributes of the speaker configuration information 135, including but not limited to the number of frequency bands into which the frequency domain of the speaker 115 can be subdivided. The MBDRC can change the dynamic range of the signal in each frequency band by reducing the volume of the louder portions of the signal and / or by amplifying the quieter portions of the signal. Therefore, the MBDRC can identify the over-boosted frequency bands of the intermediate signal output by the LT and can sufficiently compress these signals so that they do not exceed the dynamic range of the speaker and are ultimately clipped. The MBDRC outputs a calibrated signal based on the intermediate signal in which the over-boosted frequency bands have been compressed. The MBDRC is configured to apply compression only to the frequency bands over-boosted by the LT for that volume level, while leaving other frequency bands for that volume level uncompressed. The speaker configuration data module 125 is configured to add MBDRC configuration information for each volume level to the speaker configuration information 135. (Reference) Figure 1Deployment environment 110 can be implemented on one or more data processing systems. As described above, deployment environment 110 can be implemented by the same entity as development environment 105, while in other implementations, separate entities can implement development environment 105 and deployment environment 110. Deployment environment 110 includes a device configuration module 140 that can be implemented as an application on the data processing system. Device configuration module 140 can be configured to configure computing device 145 including speaker 150, which is a speaker of the same type as speaker 115. Device configuration module can obtain a copy of speaker configuration information 135 of speaker 150 from speaker configuration data storage 130. In some implementations, speaker configuration data storage 130 can reside on one or more remote servers of device configuration module 140. Device configuration module 140 can be configured to send requests to speaker configuration data storage 130 via one or more networks to obtain speaker configuration information 135. In some implementations, the speaker configuration data storage 130 can be configured to store speaker configuration information 135 for multiple types of speakers, and the device configuration module 140 can be configured to send a request to the speaker configuration data storage 130 to obtain speaker configuration information 135 for a specific type of speaker. The computing device 145 can be a mobile phone, tablet computing device, wearable computing device, portable game console, portable speaker device, or other electronic device, wherein the size and / or form factor of the device limits the size of the speaker that can be integrated into the device. The computing device 145 may include hardware and / or software elements for driving the speaker 150. The device configuration module 140 can be configured to use the speaker configuration information 135 to configure the hardware-based and / or software-based digital signal processing elements of the computing device 145 to provide an improved low-frequency response of the speaker 150 of the computing device 150 using volume-varying LT and MBDRC.
[0028] Figure 5 This is a flowchart of process 500 for generating speaker configuration information (such as speaker configuration information 135), which can be implemented by a data processing system. Process 500 can be implemented by the above... Figure 1 The development environment 105 described herein is used to implement this. Process 500 can be used to generate speaker configuration information 135, which can be used when operating the speaker 150 of the computing device 145 to provide for improving the low-frequency output of the speaker 150.
[0029] Process 500 may include operation 510 of obtaining a model of the frequency response of the speaker for each of a plurality of volume levels. The frequency response represents the speaker's output over a frequency range in response to a test input signal at a corresponding volume level among the plurality of volume levels. Figure 2An example of such a frequency response is shown in graph 210. Plot 215 shows an example of a reduction in low-frequency output caused by resonance between the driver and the air within the housing. Process 500 may include operation 520 determining Linkwitz transformation information for the loudspeaker, the Linkwitz transformation information including a Linkwitz transformation for each of a plurality of volume levels to improve the low-frequency response of the loudspeaker at the corresponding volume level. The Linkwitz transformation receives a signal input and generates an intermediate signal output. LT is configured to use the available volume headroom to boost the low-frequency response of loudspeaker 115. LT may also add a configurable amount of overboost to further improve the low-frequency response of loudspeaker 115. The overboost amount may be defined in decibels and may be added to the total signal output of LT to provide an additional boost to low-frequency performance. In some implementations, the overboost may be specified in model information 120. In other implementations, the data processing system on which process 500 is executed may provide a user interface that allows the user to input a value for the overboost parameter. As a result of the overboost, the intermediate signal may exceed the signal threshold capability of loudspeaker 115 for at least a portion of the frequency domain of loudspeaker 150. Process 500 may include operation 530 of determining multi-band compressor (MBDRC) information for each of a plurality of volume levels, wherein the MBDRC is configured to receive an intermediate signal output and generate a calibrated signal output that compensates for the low-frequency response of the speaker at the corresponding volume level. The MBDRC subdivides the speaker's frequency domain into multiple frequency bands. If necessary, each frequency band may be compressed by the MBDRC to prevent the signal within that band from exceeding the signal threshold of speaker 115. The signal threshold of speaker 115 may be defined in speaker model 120.
[0030] Process 500 may include operation 540 of generating speaker configuration information based on Linkwitz transform information and MBDRC information used for speaker calibration. The speaker configuration information 135 may be output and stored in speaker configuration data storage 130. An entity configuring a speaker 150 of the same or similar type as speaker 115, for which LT and MBDRC configuration information has been determined, may obtain the speaker configuration information 135 and use it to configure the computing device 145 to utilize the speaker configuration information 135 when operating the speaker 150.
[0031] Figure 6This is a flowchart of a process 600 for operating a speaker of a computing device using speaker configuration information (such as speaker configuration information 135), which can be implemented by a data processing system. Process 600 can be implemented by a computing device 145. In process 600, the speaker configuration information 135 generated by process 600 can be used to operate the speaker 150 of the computing device 145. Speaker configuration information 135 may include volume-varying Linkwitz transform and MBDRC pairs, which process the input signal to be output by the speaker 150 to provide an improved low frequency output by the speaker 150.
[0032] Process 600 may include operation 610 of obtaining a first input signal to be output by the speaker 150 of the computing device 145. The speaker 150 is disposed within a sealed housing and may experience a reduction in low-frequency output due to resonance between the speaker driver and the air within the housing. The computing device 145 may be a portable computing device, such as, but not limited to, a mobile phone, tablet computing device, laptop computing device, wearable computing device, or portable game console, where the size and / or form factor of the device limits the size of the speaker that can be integrated into the device. Therefore, the speaker 150 may be a micro-speaker to fit the form factor of such a computing device. The small size of the sealed housing of such a speaker may be more affected by resonance between the speaker driver and the air within the housing compared to a speaker with a larger housing.
[0033] Process 600 may include operation 620 of determining a first volume level associated with a first input signal. The first volume level may be a device volume level set by a user of the device and / or automatically set by software or hardware components of the device. The device volume level may be selected by a user via a software user interface of computing device 145. For example, in the case of computing device 145 being a tablet or laptop computing device, computing device 145 may provide a graphical user interface for controlling the audio volume output by the computing device. The volume control user interface may be presented on a touchscreen that allows manipulation of the graphical user interface via tactile input. The volume control user interface may be presented on a non-touchscreen, and the graphical user interface may be controlled via a mouse or other input device. In other implementations, computing device 145 may include one or more physical control knobs, buttons, sliders, switches, or other physical control devices that can be used to adjust the volume of the audio output of computing device 145. Volume level information may be obtained from the operating system of computing device 145 and / or determined by hardware- and / or software-based digital signal processing components configured to process digital audio content and output analog audio signals to the driver of speaker 150.
[0034] Process 600 may include operation 630 of selecting a first Linkwitz transform and a first MBDRC from volume-related configuration data 135 based on a first volume level. Computing device 145 may include the volume-related configuration data in speaker configuration information 135, which may be generated using various techniques disclosed in the preceding examples. Speaker configuration information 135 may include parameters that can be used to configure hardware- and / or software-based digital signal processing components that implement the Linkwitz transform and MBDRC. Speaker configuration information 135 may include parameters that can be used to configure the LT and MBDRC for execution by the digital signal processing components of computing device 145. As discussed in the preceding examples, speaker configuration information 135 may be implemented as a lookup table indexed by volume level. Computing device 145 may look up a volume-varying entry associated with the volume level closest to the device volume level determined in operation 620. In some implementations, computing device 145 may be configured to round up to the next closest volume level or round down to the next closest volume level. Once the entry in the lookup table is identified, the configuration parameters for LT and MBDRC associated with that entry can be obtained.
[0035] Process 600 may include operation 640, which generates a first intermediate signal to improve the low-frequency response of the speaker by applying a first Linkwitz transform to the first input signal. The first input signal obtained in operation 610 may be processed using the Linkwitz transform determined in operation 630. The output from the first Linkwitz transform enhances the low-frequency response and may include an over-boost component that causes at least a portion of the first intermediate signal derived from the first LT to exceed the signal threshold of the speaker 150, resulting in clipping of these portions of the first intermediate signal. This will cause signal distortion, thereby degrading the quality of the audio output from the speaker 150. However, MBDRC can address this problem by selectively compressing those portions of the intermediate signal that exceed the signal threshold of the speaker 150.
[0036] Process 600 may include operation 650 of applying a first MBDRC to the first intermediate signal by compressing at least a portion of the first intermediate signal to generate a first output signal. As described in the previous example, the MBDRC can divide the frequency domain of a loudspeaker into multiple frequency bands. Configuration parameters for the volume level can define which frequency bands will be used for that corresponding volume level. The MBDRC receives the first intermediate signal output by the LT, divides the first intermediate signal into specified frequency bands, and applies compression to those frequency bands of the first intermediate signal that would otherwise exceed the signal threshold of the loudspeaker 150. The MBDRC mixes these frequency bands together and outputs the first output signal. As a result, the computing device 145 can use much smaller loudspeakers that fit the compact form factor of the computing device without sacrificing audio quality.
[0037] Process 600 may include operation 660 of using a first output signal to drive a loudspeaker to output audio content. The first output signal provides an improved low-frequency response resulting from LT and MBDRC processing of the first input signal. The loudspeaker 150 can then provide a significantly improved frequency response, which would not be possible without LT and MBDRC processing.
[0038] Combination Figure 1-6 Detailed examples of the systems, devices, and technologies described herein are presented to illustrate this disclosure and its benefits. These examples of use should not be construed as limiting the logical process embodiments of this disclosure, nor should variations of the user interface methods from those described herein be considered outside the scope of this disclosure. It should be understood that references to displaying or presenting items (e.g., but not limited to, presenting images on a display device, presenting audio through one or more speakers, and / or causing the device to vibrate) include issuing instructions, commands, and / or signals that cause or are reasonably expected to cause the device or system to display or present the item. Figure 1-6 The features described are implemented in the corresponding modules, which may also be referred to as and / or include logic, components, units, and / or mechanisms. Modules can constitute software modules (e.g., code embodied in a machine-readable medium) or hardware modules.
[0039] In some examples, a hardware module may be implemented mechanically, electronically, or in any suitable combination thereof. For example, a hardware module may include a dedicated circuit system or logic configured to perform certain operations. For example, a hardware module may include a dedicated processor, such as a field-programmable gate array (FPGA) or an application-specific integrated circuit (ASIC). A hardware module may also include programmable logic or circuit systems temporarily configured by software to perform certain operations, and may include a portion of machine-readable medium data and / or instructions for such configuration. For example, a hardware module may include software contained within a programmable processor configured to execute a set of software instructions. It should be understood that the decision to implement a hardware module mechanically in a dedicated and permanently configured circuit system or in a temporarily configured circuit system (e.g., configured by software) may be driven by cost, time, support, and engineering design considerations. Therefore, the phrase “hardware module” should be understood to include a tangible entity capable of performing a particular operation and which may be configured or arranged in a particular physical manner, and may be physically constructed, permanently configured (e.g., hardwired), and / or temporarily configured (e.g., programmed) to operate in a particular manner or perform the particular operations described herein. As used herein, “hardware-implemented module” refers to a hardware module. Consider an example where hardware modules are configured (e.g., programmed), and each hardware module does not need to be configured or instantiated at any given time. For example, in a case where the hardware modules include a programmable processor configured by software to become a dedicated processor, the programmable processor can be configured as a different dedicated processor (e.g., including different hardware modules) at different times. The software can accordingly configure one or more processors, for example, constituting a specific hardware module at one time and different hardware modules at different times. A hardware module implemented using one or more processors can be referred to as "processor-implemented" or "computer-implemented."
[0040] Hardware modules can provide information to and receive information from other hardware modules. Therefore, the described hardware modules can be considered communicationally coupled. In the presence of multiple hardware modules simultaneously, communication can be achieved through signal transmission between or among two or more hardware modules (e.g., via appropriate circuitry and buses). In embodiments where multiple hardware modules are configured or instantiated at different times, communication between these hardware modules can be achieved, for example, by storing and retrieving information in a memory device accessible to the multiple hardware modules. For example, one hardware module can perform an operation and store the output in a memory device, and another hardware module can subsequently access the memory device to retrieve and process the stored output.
[0041] In some examples, at least some operations of the method can be performed by one or more processors or modules implemented by processors. Furthermore, one or more processors can also run to support the execution of related operations in a “cloud computing” environment or as “Software as a Service” (SaaS). For example, at least some operations can be performed by multiple computers (as an example of a machine including processors) and / or across multiple computers, and these operations can be accessed via a network (e.g., the Internet) and / or via one or more software interfaces (e.g., application programming interfaces (APIs)). The execution of certain operations can be distributed among processors, not just residing within a single machine, but can be deployed across multiple machines. Processors or modules implemented by processors can reside in a single geographic location (e.g., in a home or office environment or a server farm) or can be distributed across multiple geographic locations. Figure 7 This is a block diagram 700 illustrating an example software architecture 702, the various parts of which can be used in conjunction with the various hardware architectures described herein, which can implement any of the features described above. Figure 7 This is a non-limiting example of a software architecture, and it will be understood that many other architectures can be implemented to enhance the functionality described herein. Software architecture 702 can be implemented in, for example... Figure 8 It executes on hardware such as machine 800, which in particular includes processor 810, memory 830, and input / output (I / O) components 850. A representative hardware layer 704 is shown and can represent, for example... Figure 8 The machine 800. A representative hardware layer 704 includes a processing unit 706 and associated executable instructions 708. The executable instructions 708 represent executable instructions of the software architecture 702, including implementations of the methods, modules, etc., described herein. Hardware layer 704 also includes a memory / storage device 710, which also includes the executable instructions 708 and accompanying data. Hardware layer 704 may also include other hardware modules 712. The instructions 708 held by the processing unit 708 may be a portion of the instructions 710 held by the memory / storage device 710.
[0042] The example software architecture 702 can be conceptualized as layers, each providing various functionalities. For example, software architecture 702 may include layers and components such as an operating system (OS) 714, libraries 716, frameworks 718, applications 720, and a presentation layer 744. Operationally, applications 720 and / or other components within each layer can invoke API calls 724 to other layers and receive corresponding results 726. The layers shown are representative in nature, and other software architectures may include additional or different layers. For example, some mobile or dedicated operating systems may not provide a framework / middleware 718.
[0043] OS 714 can manage hardware resources and provide public services. OS 714 may include, for example, a kernel 728, services 730, and drivers 732. The kernel 728 can act as an abstraction layer between the hardware layer 704 and other software layers. For example, the kernel 728 may be responsible for memory management, processor management (e.g., scheduling), component management, networking, security settings, etc. Services 730 can provide other public services to other software layers. Drivers 732 can be responsible for controlling the underlying hardware layer 704 or interfacing with the underlying hardware layer 704. For example, depending on the hardware and / or software configuration, drivers 732 may include display drivers, camera drivers, memory / storage drivers, peripheral device drivers (e.g., via Universal Serial Bus (USB)), network and / or wireless communication drivers, audio drivers, etc.
[0044] Library 716 can provide common infrastructure that can be used by application 720 and / or other components and / or layers. Library 716 typically provides functionality used by other software modules to perform tasks, rather than directly interacting with OS 714. Library 716 may include system libraries 734 (e.g., the C standard library), which provide functionality such as memory allocation, string manipulation, and file operations. Furthermore, library 716 may include API libraries 736, such as media libraries (e.g., supporting the rendering and manipulation of image, sound, and / or video data formats), graphics libraries (e.g., OpenGL libraries for rendering 2D and 3D graphics on a display), database libraries (e.g., SQLite or other relational database functionality), and web libraries (e.g., WebKit, which provides web browsing functionality). Library 716 may also include a wide variety of other libraries 738 to provide numerous functionalities to application 720 and other software modules.
[0045] Framework 718 (sometimes also called middleware) provides a more advanced public infrastructure that can be used by Application 720 and / or other software modules. For example, Framework 718 can provide various graphical user interface (GUI) functions, advanced resource management, or advanced location services. Framework 718 can provide a wide range of other APIs to Application 720 and / or other software modules.
[0046] Application 720 includes built-in application 740 and / or third-party application 742. Examples of built-in application 740 may include, but are not limited to, contact applications, browser applications, location applications, media applications, messaging applications, and / or game applications. Third-party application 742 may include any application developed by an entity other than the vendor of a specific platform. Application 720 may use the functionality available via OS 714, library 716, framework 718, and presentation layer 744 to create a user interface for interaction with the user.
[0047] Some software architectures use virtual machines, such as Virtual Machine 748. Virtual Machine 748 provides an execution environment in which applications / modules can function as if they were running on a hardware machine (e.g., on a physical machine). Figure 8 The virtual machine 748 executes in the same way as on a host OS (e.g., OS 714) or hypervisor, and may have a virtual machine monitor 746 that manages the operation of the virtual machine 748 and its interoperability with the host OS. A software architecture, which may differ from the software architecture 702 outside the virtual machine, executes within the virtual machine 748, such as OS 714, libraries 772, frameworks 754, applications 756, and / or presentation layers 758.
[0048] Figure 8 This is a block diagram illustrating the components of an example machine 800 configured to read instructions from a machine-readable medium (e.g., a machine-readable storage medium) and perform any of the features described herein. The example machine 800 is in the form of a computer system in which instructions 816 (e.g., in the form of a software component) can be executed to cause the machine 800 to perform any of the features described herein. Thus, instructions 816 can be used to implement the modules or components described herein. Instructions 816 cause the unprogrammed and / or unconfigured machine 800 to operate as a specific machine configured to perform the described features. The machine 800 can be configured to operate as a standalone device or can be coupled (e.g., networked) to other machines. In a networked deployment, the machine 800 can operate as a server machine or client machine in a server-client network environment, or as a node in a peer-to-peer or distributed network environment. Machine 800 can be embodied as, for example, a server computer, client computer, personal computer (PC), tablet computer, laptop computer, netbook, set-top box (STB), gaming and / or entertainment system, smartphone, mobile device, wearable device (e.g., smartwatch), and Internet of Things (IoT) device. Furthermore, although only a single machine 800 is shown, the term "machine" includes a collection of machines that individually or jointly execute instructions 816.
[0049] Machine 800 may include processor 810, memory 830, and I / O components 850, which may be communicatively coupled via, for example, bus 802. Bus 802 may include multiple buses coupling various components of machine 800 via various bus technologies and protocols. In one example, processor 810 (including, for example, a central processing unit (CPU), graphics processing unit (GPU), digital signal processor (DSP), ASIC, or suitable combinations thereof) may include one or more processors 812a to 816n, which can execute instructions 816 and process data. In some examples, one or more processors 810 may execute instructions provided or identified by one or more other processors 810. The term "processor" includes a multi-core processor, which includes individual cores capable of executing instructions simultaneously. Although Figure 8 Multiple processors are shown, but machine 800 may include a single processor with a single core, a single processor with multiple cores (e.g., a multi-core processor), multiple processors each with a single core, multiple processors each with multiple cores, or any combination thereof. In some examples, machine 800 may include multiple processors distributed across multiple machines.
[0050] Memory / storage device 830 may include main memory 832, static memory 834 or other memory, and storage cell 836, all of which may be accessed by processor 810, for example, via bus 802. Storage cell 836 and memories 832, 834 store instructions 816, which embody any one or more functions described herein. Memory / storage device 830 may also store temporary, intermediate and / or long-term data for processor 810. During its execution, instructions 816 may also reside wholly or partially within memories 832, 834, storage cell 836, at least one processor 810 (e.g., within a command buffer or cache memory), at least one I / O component 850, or any suitable combination thereof. Thus, memories 832, 834, storage cell 836, memory in processor 810, and memory in I / O component 850 are examples of machine-readable media.
[0051] As used herein, "machine-readable medium" means a device capable of temporarily or permanently storing instructions and data that cause machine 800 to operate in a particular manner, and may include, but is not limited to, random access memory (RAM), read-only memory (ROM), buffer memory, flash memory, optical storage media, magnetic storage media and devices, cache, network-accessible storage or cloud storage, other types of storage and / or any suitable combination thereof. The term "machine-readable medium" applies to a single medium or a combination of media for storing instructions (e.g., instruction 816) for execution by machine 800, such that when executed by one or more processors 810 of machine 800, the machine 800 performs one or more features described herein. Therefore, "machine-readable medium" can refer to a single storage device, as well as a "cloud-based" storage system or storage network comprising multiple storage devices or equipment. The term "machine-readable medium" does not include the signal itself.
[0052] I / O component 850 may include various hardware components adapted to receive input, provide output, generate output, transmit information, exchange information, capture measurement results, etc. The specific I / O component 850 included in a particular machine will depend on the type and / or function of the machine. For example, mobile devices such as mobile phones may include touch input devices, while headless servers or IoT devices may not include such touch input devices. Figure 8 The specific examples of I / O components shown are by no means limiting, and other types of components may be included in machine 800. The grouping of I / O components 850 is merely for the purpose of simplifying the discussion and is by no means limiting. In various examples, I / O components 850 may include user output components 852 and user input components 854. User output components 852 may include, for example, display components for displaying information (e.g., liquid crystal display (LCD) or projector), acoustic components (e.g., speakers), haptic components (e.g., vibration motors or force feedback devices), and / or other signal generators. User input components 854 may include, for example, alphanumeric input components (e.g., keyboards or touchscreens), pointing components (e.g., mouse devices, touchpads, or other pointing tools), and / or haptic input components (e.g., physical buttons or touchscreens that provide the position and / or force of touch or touch gestures), configured to receive various user inputs, such as user commands and / or selections.
[0053] In some examples, I / O component 850 may include biometric component 856, motion component 858, environmental component 860, and / or positioning component 862, as well as various other physical sensor components. Biometric component 856 may include components for detecting body expressions (e.g., facial expressions, vocal expressions, gestures, or body postures, or eye tracking), measuring biosignals (e.g., heart rate or brain waves), and identifying people (e.g., by voice-, retinal, fingerprint, and / or facial identification). Motion component 858 may include, for example, accelerometers (e.g., accelerometers) and rotation sensors (e.g., gyroscopes). Environmental component 860 may include, for example, light sensors, temperature sensors, humidity sensors, pressure sensors (e.g., barometers), acoustic sensors (e.g., microphones for detecting ambient noise), proximity sensors (e.g., infrared sensing of nearby objects), and / or other components that can provide indications, measurements, or signals corresponding to the surrounding physical environment. The positioning component 862 may include, for example, a position sensor (e.g., a Global Positioning System (GPS) receiver), an altitude sensor (e.g., a barometric pressure sensor from which altitude can be derived), and / or an orientation sensor (e.g., a magnetometer).
[0054] I / O component 850 may include communication component 864, which implements a variety of technologies operable to couple machine 800 to network 870 and / or device 880 via corresponding communication couplers 872 and 882. Communication component 864 may include one or more network interface components or other suitable devices to interface with network 870. Communication component 864 may include components, for example, adapted to provide wired communication, wireless communication, cellular communication, near field communication (NFC), Bluetooth communication, Wi-Fi, and / or via other forms of communication. Device 880 may include other machines or various peripheral devices (e.g., coupled via USB).
[0055] In some examples, communication component 864 may detect identifiers or include components adapted to detect identifiers. For example, communication component 864 may include a radio frequency identification (RFID) tag reader, an NFC detector, an optical sensor (e.g., a one-dimensional or multi-dimensional barcode or other optical code), and / or an acoustic detector (e.g., a microphone that identifies the tag's audio signal). In some examples, location information may be determined based on information from communication component 862, such as, but not limited to, geographic location via Internet Protocol (IP) address, location via Wi-Fi, cellular, NFC, Bluetooth, or other wireless station identification and / or signal triangulation.
[0056] Although various embodiments have been described, the description is intended to be exemplary and not limiting, and it should be understood that further embodiments and implementations within the scope of the various embodiments are possible. While many possible combinations of features are shown in the drawings and discussed in this detailed description, many other combinations of the disclosed features are also possible. Unless specifically limited, any feature of any embodiment may be combined with or may substitute for any other feature or element in any other embodiment. Therefore, it will be understood that any feature shown and / or discussed in this disclosure may be implemented together in any suitable combination. Therefore, the embodiments are not limited except by the appended claims and their equivalents. Similarly, various modifications and changes may be made within the scope of the appended claims.
[0057] While what is considered the best pattern and / or other examples has been described above, it is understood that various modifications can be made, and the subject matter disclosed herein can be implemented in various forms and examples, and the teachings can be applied to many applications, only some of which have been described herein. The appended claims are intended to claim any and all applications, modifications, and variations that fall within the true scope of these teachings.
[0058] Unless otherwise stated, all dimensions, numerical values, ratings, positions, sizes, dimensions and other specifications listed in this specification (including the appended claims) are approximate and not precise. They are intended to have a reasonable range consistent with the functions they relate to and the custom in the fields to which they relate.
[0059] The scope of protection is limited only by the appended claims. When interpreted in accordance with this specification and subsequent litigation history, this scope is intended and should be interpreted as consistent with the ordinary meaning of the language used in the claims and covers all structural and functional equivalents. Nevertheless, none of the claims are intended to include, nor should they be interpreted in this manner, subject matter that does not meet the requirements of Sections 101, 102, or 103 of the Patent Act. Any unintentional inclusion of such subject matter is hereby denied.
[0060] Except as described above, no statement or description should be intended or interpreted in any way that results in any component, step, feature, object, benefit, advantage, or contribution to the public, whether or not it is stated in the claims.
[0061] It will be understood that the terms and expressions used herein have the general meaning consistent with those of their respective fields of investigation and research, unless otherwise specified herein. Relational terms such as "first" and "second" may be used merely to distinguish one entity or action from another, without necessarily requiring or implying any actual such relationship or order between such entities or actions. The terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed or inherent to such a process, method, article, or apparatus. Without further limitation, an element beginning with "a" or "an" does not preclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
[0062] This abstract is provided to allow the reader to quickly determine the nature of this disclosure. It is to be understood that this abstract is not intended to interpret or limit the scope or meaning of the claims. Furthermore, as can be seen in the foregoing detailed description, various features have been grouped together in various examples for the purpose of simplification. This approach to disclosure is not to be construed as reflecting an intention to claim more features than are expressly stated in each claim. Rather, as reflected in the following claims, the subject matter of the invention lies in all features fewer than those in a single disclosed example. Accordingly, the appended claims are incorporated into the detailed description, wherein each claim independently represents a separate claimed subject matter.
Claims
1. A data processing system (145, 800) comprising: a loudspeaker (150) disposed in a sealed enclosure; a processor (810); and a computer-readable medium (830) storing executable instructions (816) for causing the processor (810) to perform operations comprising: obtaining a first input signal to be output by the loudspeaker (150); determining a first volume level associated with the first input signal; selecting a first Linkwitz transform and a first multi-band compressor (MBDRC) from volume-dependent configuration data (135) based on the first volume level; generating a first intermediate signal by applying the first Linkwitz transform to the first input signal to boost a low frequency response of the loudspeaker (150); applying the first MBDRC to the first intermediate signal by compressing at least a portion of the first intermediate signal to generate a first output signal; and driving the loudspeaker (150) using the first output signal to produce a first audio output. the computer-readable medium (830) includes instructions (816) configured to cause the processor (810) to perform operations comprising:
2. The data processing system (145, 800) of claim 1, characterized by receiving a second input signal to be output by the loudspeaker (150); determining a second volume level associated with the second input signal; selecting a second Linkwitz transform and a second MBDRC from the volume-dependent configuration data (135) based on the first volume level; generating a second intermediate signal by applying the first Linkwitz transform to the second input signal to boost a low frequency response of the loudspeaker (150); applying the second MBDRC to the second intermediate signal by compressing at least a portion of the second intermediate signal to generate a second output signal; and driving the loudspeaker (150) using the second output signal to produce a second audio output. the volume-dependent configuration data (135) includes a lookup table, and wherein to select the first Linkwitz transform and the first multi-band compressor (MBDRC) from the volume-dependent configuration data (135), the computer-readable medium (830) includes instructions (816) to cause the processor (810) to perform operations comprising: identifying a lookup table entry based on the first volume level; and 3. The data processing system (145, 800) according to any of the preceding claims, characterized by, obtaining an identifier of the first Linkwitz transform and an identifier of the first MBDRC from the lookup table. at least a portion of the first intermediate signal exceeds a signal threshold of the loudspeaker (150), and wherein to compress the at least a portion of the first intermediate signal, the computer-readable medium (830) includes instructions (816) to compress the at least a portion of the first intermediate signal that exceeds the signal threshold of the loudspeaker (150). 4. The data processing system (145, 800) of claim 3, characterized by 5. The data processing system (145, 800) of claim 4, characterized by The MBDRC divides a frequency domain associated with the loudspeaker (150) into a plurality of frequency bands, and wherein to compress the at least a portion of the first intermediate signal, the computer readable medium (830) includes instructions (816) to compress only frequency bands in which the portion of the first intermediate signal exceeds the signal threshold.
6. The data processing system (145, 800) of claim 5, characterized by To generate the first output signal, the MBDRC is configured to boost a gain of one or more of the plurality of frequency bands by an amount less than or equal to an available headroom of the respective frequency band.
7. The data processing system (145, 800) according to any of the preceding claims, characterized by, Determining the first volume level associated with the first input signal includes determining the first volume level based on a user-selected input.
8. A method for operating a loudspeaker (150) disposed within a sealed enclosure, the method comprising: obtaining a first input signal to be output by the loudspeaker (150); determining a first volume level associated with the first input signal; selecting a first Linkwitz transform and a first multi-band compressor (MBDRC) from volume-dependent configuration data (135) based on the first volume level; generating a first intermediate signal by applying the first Linkwitz transform to the first input signal to boost a low frequency response of the loudspeaker (150); applying the first multi-band compressor (MBDRC) to the first intermediate signal by compressing at least a portion of the first intermediate signal to generate a first output signal; and driving the loudspeaker (150) with the first output signal to produce a first audio output.
9. The method of claim 8, wherein, Also included: receiving a second input signal to be output by the loudspeaker (150); determining a second volume level associated with the second input signal; selecting a second Linkwitz transform and a second MBDRC from the volume-dependent configuration data (135) based on the first volume level; generating a second intermediate signal by applying the first Linkwitz transform to the second input signal to boost a low frequency response of the loudspeaker (150); applying the second MBDRC to the second intermediate signal by compressing at least a portion of the second intermediate signal to generate a second output signal; and driving the loudspeaker (150) with the second output signal to produce a second audio output.
10. The method according to any of the preceding claims, characterized in that, The volume-dependent configuration data (135) includes a lookup table, and wherein selecting the first Linkwitz transform and the first multi-band compressor (MBDRC) from the volume-dependent configuration data (135) further includes: identifying a lookup table entry based on the first volume level; and obtaining an identifier of the first Linkwitz transform and an identifier of the first multi-band compressor (MBDRC) from the lookup table.
11. The method of claim 8, wherein, At least a portion of the first intermediate signal exceeds a signal threshold of the loudspeaker (150), and wherein compressing the at least a portion of the first intermediate signal includes compressing the at least a portion of the first intermediate signal that exceeds the signal threshold of the loudspeaker (150).
12. The method of claim 11, wherein, The multi-band compressor MBDRC divides a frequency domain associated with the loudspeaker (150) into a plurality of frequency bands, and wherein compressing the at least part of the first mid signal comprises compressing only frequency bands in which the part of the first mid signal exceeds the signal threshold.
13. The method of claim 12, wherein, Generating the first output signal further comprises boosting a gain of one or more of the plurality of frequency bands by an amount less than or equal to an available headroom of the respective frequency band.
14. The method of claim 8, wherein, Determining the first volume level associated with the first input signal comprises determining the first volume level based on a user-selected input.
15. A computer-readable storage medium having stored instructions which, when executed, cause a programmable device to perform the method of any one of claims 8 to 14.
Citation Information
Patent Citations
Compressor based dynamic bass enhancement with EQ
CN102771145A
Loudspeaker protection
US20180014121A1