Signal processing method and apparatus, electronic device, and medium
Patent Information
- Application Number
- PCT/CN2026/090306
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2025-04-14
- Filing Date
- 2026-04-13
- Publication Date
- 2026-10-22
Smart Images

Figure CN2026090306_22102026_PF_FP_ABST
Abstract
Description
SIGNAL PROCESSING METHOD AND APPARATUS, ELECTRONIC DEVICE, AND MEDIUMCROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to PCT Patent Application No. PCT / CN2025 / 088845, and filed on April 14, 2025. The entire application of the prior application is hereby incorporated by reference in its entirety.TECHNICAL FIELD
[0002] The present application relates to the technical field of signal processing, in particular to a signal processing method and apparatus, an electronic device and a medium.BACKGROUND
[0003] Ambisonics is an advanced audio representation designed for capturing and rendering three-dimensional sound. It uses time-varying spherical harmonics (as show in Figure 1) to represent a time-varying 3Dof spherical sound field. For each sample, the Ambisonics sample value for each channel is equal to the correlation between spherical magnitude and the spherical harmonics basis of that channel.SUMMARY
[0004] The summary is provided to give a brief overview of concepts, which will be described in detail in the following detailed description. The summary is neither intended to identify key features or necessary features of the claimed technical solutions, nor is it intended to be used to limit the scope of the claimed technical solutions.
[0005] According to some cases of the present application, there is provided a signal processing method. The signal processing method includes: selecting a microphone steering matrix from a plurality of microphone steering matrices for a device, according to a current orientation and / or a current placement of the device, wherein the plurality of microphone steering matrices corresponding to different orientations and / or placements of the device; and determining First Order Ambisonics (FOA) signals of the device according to the selected microphone steering matrix and microphone signals of the device.
[0006] According to some other cases of the present application, there is provided a signal processing apparatus. The signal processing apparatus includes: a selection module configured for selecting a microphone steering matrix from a plurality of microphone steering matrices for a device, according to a current orientation and / or a current placement of the device, wherein the plurality of microphone steering matrices corresponding to different orientations and / or placements of the device; and a determination module configured for determining First Order Ambisonics (FOA) signals of the device according to the selected microphone steering matrix and microphone signals of the device.
[0007] According to still some other cases of the present application, there is provided an electronic device. The electronic device includes: one or more processors; and one or more memories coupled to the one or more processors and configured to store instructions that, when executed by the one or more processors, cause the one or more processors to perform the signal processing method according to any case of the present application.
[0008] According to yet some other cases of the present application, there is provided a computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, causes the processor to perform the signal processing method according to any case of the present application.
[0009] According to still some other cases of the present application, there is provided a computer program product. The computer program product includes instructions, wherein the instructions, when executed by a processor, cause the processor to implement the signal processing method according to any case of the present application.
[0010] Through the following detailed description of exemplary embodiments of the present application with reference to the accompanying drawings, other features, aspects, and advantages of the present application will become clear.BRIEF DESCRIPTION OF THE DRAWINGS
[0011] Preferred embodiments of the present application are described below with reference to the accompanying drawings. The accompanying drawings illustrated herein are used to provide a further understanding of the present application, and together with the following detailed description, are incorporated in and form a part of the specification, to explain the present application. It should be understood that the accompanying drawings in the following description relate to only some embodiments of the present application, and do not constitute a limitation on the present application. In the accompanying drawings:
[0012] FIG. 1 is a schematic diagram of spherical harmonics coefficients up to 3rd order;
[0013] FIG. 2 is a schematic diagram of a signal processing method according to some cases of the present application;
[0014] FIG. 3 is a schematic diagram of a FOA recording procedure according to some cases of the present application;
[0015] Fig. 4 is a schematic diagram of a structure of a signal processing apparatus according to some cases of the present application;
[0016] Fig. 5 is a schematic diagram of a structure of an electronic device according to some cases of the present application;
[0017] Fig. 6 is a schematic diagram of a structure of an electronic device according to some other cases of the present application. DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
[0018] The technical solutions in the embodiments of the present application are clearly and completely described below with reference to the accompanying drawings in the embodiments of the present application. However, apparently, the embodiments described are merely some rather than all of the embodiments of the present application. The following description of the embodiments is actually merely illustrative, and is not construed as any limitation on the present application and application or use thereof. It should be understood that the present application may be implemented in various forms, and should not be construed as being limited to the embodiments set forth herein.
[0019] It should be understood that the steps described in the method implementations of the present application may be performed in different orders, and / or performed in parallel. Further, additional steps may be included and / or the execution of the illustrated steps may be omitted in the method implementations. The scope of the present application is not limited in this respect. Unless specifically stated otherwise, the relative arrangement of components and steps, numerical expressions, and numerical values set forth in these embodiments should be construed as merely exemplary, and do not limit the scope of the present application.
[0020] The term “include” and the variations thereof used in the present application are open terms that include at least subsequent elements / features but do not exclude other elements / features, that is, “include but are not limited to” . In addition, the term “comprise” and the variations thereof used in the present application are open terms that include at least subsequent elements / features but do not exclude other elements / features, that is, “comprise but are not limited to” . Thus, “include” is synonymous with “comprise” . The term “based on” means “at least partially based on” .
[0021] “One case” , “some cases” , or “an case” described throughout the specification means that specific features, structures, or characteristics described with reference to the cases are included in at least one case of the present application. For example, the term “one case” means “at least one case” . The term “another case” means “at least one another case” . The term “some cases” means “at least some cases” . Moreover, the phrases “in one case” , “in some cases” , or “in an case” appearing in various places throughout the specification do not necessarily all refer to the same case, but may also refer to the same case.
[0022] It should be noted that concepts such as “first” and “second” mentioned in the present application are only used to distinguish different apparatuses, modules, or units, and are not used to limit a sequence of functions performed by these apparatuses, modules, or units or interdependence between them. Unless otherwise specified, concepts such as “first” and “second” are not intended to imply that the objects described in this way must be in a given order in terms of time, space, or ranking, or in any other given order.
[0023] It should be noted that the modifiers “one” and “a plurality of” mentioned in the present application are illustrative and non-limitative, and those skilled in the art should understand that, unless otherwise explicitly indicated in the context, the modifiers should be understood as “one or more” .
[0024] The names of messages or information exchanged between a plurality of apparatuses in the implementations of the present application are merely for illustrative purposes, and are not intended to limit the scope of the messages or information.
[0025] The embodiments of the present application are described in detail below with reference to the accompanying drawings. However, the present application is not limited to these specific embodiments. The following specific embodiments may be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. Further, in one or more embodiments, the specific features, structures, or characteristics may be combined by those of ordinary skill in the art in any appropriate manner that is clear from the present application.
[0026] There are some existing First Order Ambisonics (FOA) recording methods. Briefly summarized, the recording method can be categorized into 3 classes.
[0027] (1) Linear encoding method where a static linear time-invariant encoding matrix is calculated and applied to the microphone raw recording to obtain the FOA signals.
[0028] (2) Parametric encoding method, also named as Metadata-assisted Spatial Audio (MASA) . The microphone raw recordings are analyzed in terms of diffuseness level, existing source number, DOA, and source signals. FOAs are then rendered using this information as metadata.
[0029] (3) Neural-network-based encoding method, which trains a non-linear signal-dependent model to upmix the raw recording signals to FOAs.
[0030] Among the above FOA recording methods, a shared pre-knowledge of the microphone steering matrix is required. The microphone steering matrix is a model of how each microphone responds per frequency band to the incoming sound field from a dense set of directions.
[0031] Generating FOA signals requires applying the microphone steering matrix, and the accuracy of the microphone steering matrix is a key factor affecting the accuracy of FOA signals. A device may have multiple orientations and placements. For example, mobile phones, as one of the most popular devices with audio recording ability, are used as one of the target devices in the DaCAS work item; other than a person holding a mobile phone during FOA recording, another common scenario is placing the phone on a desk / table, the desk / table may exert a significant acoustic influence to the microphone signals leading to inaccurate FOA signal calculation. For other scenarios, variations in the orientation and placement of the device may also lead to inaccuracies in the calculation of FOA signals.
[0032] Therefore, a signal processing method is provided in the application. For a device, a plurality of microphone steering matrices corresponding to different orientations and / or placements of the device may be configured for the device. A microphone steering matrix is selected from the plurality of microphone steering matrices according to a current orientation and / or a current placement of the device. Then FOA signals of the device may be determined according to the selected microphone steering matrix and microphone signals of the device. Based on the signal processing method, the microphone steering matrix matching the current orientation and / or placement of the device can be selected from the plurality of microphone steering matrices, which takes into account the influence of orientations and / or placements of the device on the microphone signals, thereby improving the accuracy of FOA signal determination.
[0033] Fig. 2 is a flow diagram of some cases of the signal processing method of the present application. As shown in Fig. 2, the signal processing method of this case includes steps S202~S204.
[0034] In step S202, a microphone steering matrix is selected from a plurality of microphone steering matrices for a device, according to a current orientation and / or a current placement of the device.
[0035] The plurality of microphone steering matrices corresponding to different orientations and / or placements of the device. For example, the device can be a mobile phone, a tablet computer (PAD) , etc., and is not limited to the examples provided.
[0036] In step S204, FOA signals of the device are determined according to the selected microphone steering matrix and microphone signals of the device.
[0037] For example, a FOA encoding matrix can be determined according to the selected microphone steering matrix and the FOA signals can be determined according to the encoding matrix and the microphone signals.
[0038] In the above method, for a device, a plurality of microphone steering matrices corresponding to different orientations and / or placements of the device may be configured for the device. A microphone steering matrix is selected from the plurality of microphone steering matrices according to a current orientation and / or a current placement of the device. Then FOA signals of the device may be determined according to the selected microphone steering matrix and microphone signals of the device. Based on the above method, the microphone steering matrix matching the current orientation and / or placement of the device can be selected from the plurality of microphone steering matrices, which takes into account the influence of orientations and / or placements of the device on the microphone signals, thereby improving the accuracy of FOA signal determination.
[0039] An overall FOA recording procedure is shown in Fig. 3, with linear FOA encoding matrix as an example.
[0040] As shown in Fig. 3, taking a mobile phone as an example of the device, the microphone on the mobile phone can output the microphone signals. A set of microphone steering matrices can be selected from a microphone steering matrix library according to the current orientation and / or the current placement. A calculation of a FOA encoding matrix can be processed according to the selected set of microphone steering matrices and the microphone signals. The output FOA signals can be used for other processing.
[0041] In some cases, the plurality of microphone steering matrices include a microphone steering matrix configured for the device held in hand and a microphone steering matrix configured for the device on a flat surface. The plurality of microphone steering matrices may include at least two microphone steering matrices. The at least two microphone steering matrices may be at least two sets of microphone steering matrices. For example, each set of microphone steering matrices includes a three-dimensional matrix or multiple two-dimensional matrices.
[0042] The orientations of the device may include the device held in hand and the device on a flat surface. The orientations may also include the device facing an obstacle such as a wall, but is not limited to the examples provided.
[0043] Configuring the device with a microphone steering matrix corresponding to the scenario where the device is placed on a flat surface can improve the calculation accuracy of FOA signals for this scenario.
[0044] In some cases, the plurality of microphone steering matrices includes at least three microphone steering matrices.
[0045] The at least three microphone steering matrices may be at least three sets of microphone steering matrices.
[0046] In some cases, the least three microphone steering matrices include a first microphone steering matrix configured for the device held in hand, a second microphone steering matrix configured for the device on a flat surface and a third microphone steering matrix configured for the device on the flat surface, the second microphone steering matrix and the third microphone steering matrix corresponding to different placements of the device.
[0047] The first microphone steering matrix may be a first set of microphone steering matrices, the second microphone steering matrix may be a second set of microphone steering matrices and the third microphone steering matrix may be a third set of microphone steering matrices.
[0048] For example, at least 3 sets of microphone steering matrices can be prepared for a mobile phone. One set for the mobile phone being held in hand, and two sets for the mobile phone lying on a flat surface. Additionally, the selection of the microphone steering matrix can be made according to the current orientation and / or the placement.
[0049] The plurality of microphone steering matrices may be a plurality sets of microphone steering matrices, each set of microphone steering matrices includes a three-dimensional matrix or multiple two-dimensional matrices. Each set of microphone steering matrices corresponds to an orientation and / or a current placement. The selected microphone steering matrix may be a set of microphone steering matrices.
[0050] In some cases, the device has a screen side, the second microphone steering matrix configured for the device on the flat surface with the screen side facing up, and the third set of microphone steering matrices are configured for the device on the flat surface with the screen side facing down. The screen side may be the front side of the device and the opposite side of the screen side may be the back side of the device.
[0051] For example, the device has a front camera, the second microphone steering matrix configured for the device on the flat surface with the front camera facing up. For example, the device has a front camera, the third microphone steering matrix configured for the device on the flat surface with the back camera facing up. The placements of the device may include a placement where the screen side faces upward and a placement where the screen side faces downward.
[0052] According to the above method, the microphone steering matrices corresponding to different orientations and placements are configured for the device. The second microphone steering matrix and the third microphone steering matrix configured for the device on the flat surface. The determination of the second microphone steering matrix and the third microphone steering matrix takes into account an influence of the plane on the microphone signals, improving the accuracy of the FOA signals. In some cases, the plurality of microphone steering matrices are determined based on a Finite Element Method (FEM) simulation.
[0053] In some cases, the signal processing method further includes: applying a Finite Element Method (FEM) simulation according to shape information of the device.
[0054] The FEM simulation can be applied to determine the plurality of microphone steering matrices according to shape information of the device. For example, the FEM simulation can be applied to determine the plurality of microphone steering matrices according to orientation and / or placement and shape information of the device.
[0055] In some cases, for the first microphone steering matrix which is configured for the device held in hand, the FEM simulation is applied to a first mesh with a shape of the device in a free space.
[0056] For example, for the first microphone steering matrix, the FEM simulation is applied to a mesh with the shape of the target mobile phone in a free space. This first microphone steering matrix is the general way of proposing a microphone steering matrix for a device.
[0057] In some cases, for the second microphone steering matrix which is configured for the device on the flat surface, the FEM simulation is applied to a second mesh with a shape of the device on a flat surface with a front camera (the screen side) facing up in a free space. For example, the device is located at the center of the flat surface.
[0058] For example, for the second microphone steering matrix, the FEM simulation is applied to a second mesh with the device of the shape of a mobile phone on a flat surface, with the front camera facing up. For example, a size of the flat surface can be set as 120cm *75cm *2cm, and the device is located at the center of the flat surface. In some cases, microphones located on a same surface as the back camera (an opposite surface to the screen side) can be ignored when determining the FOA encoding matrix.
[0059] In some cases, for the third microphone steering matrix which is configured for the device on the flat surface, the FEM simulation is applied to a third mesh with a shape of the device on a flat surface with a back camera facing up (the screen side facing down) in a free space, and the device is located at the center of the flat surface.
[0060] For example, for the third microphone steering matrix, the FEM simulation is applied to a third mesh with the device of the shape of a mobile phone on a flat surface, with the back camera facing up. The flat surface size can be set as 120cm *75cm *2cm. For example, the phone is located at the center of the flat surface. In some cases, microphones located on a same surface as the front camera (the screen side) can be ignored when calculating the FOA encoding matrix.
[0061] Several microphone steering matrices are obtained for one mobile phone and the current orientation information and / or placement information are used to select the suitable matrix for FOA recording.
[0062] The shape of the device on a flat surface is used for FEM simulation for the recording scenario of the device on a desk / table.
[0063] The above method considers the situation that mobile phones can be placed on the desk / table during spatial audio recording, and provides a solution to generating the necessary microphone steering matrix to be used in FOA encoding algorithms.
[0064] In some cases, the plurality of microphone steering matrices are determined by acoustically measuring an impulse response with a dense spherical loudspeaker array in an anechoic chamber. Instead of using FEM simulation, t the plurality of microphone steering matrices can be obtained by acoustically measuring the impulse response with a dense spherical loudspeaker array in an anechoic chamber. FEM simulations are more preferred due to the construction and maintenance cost of spherical loudspeaker arrays and anechoic chambers.
[0065] In some cases, for the second microphone steering matrix, microphones located on a opposite surface to the screen side are ignored when determining the second microphone steering matrix; and / or for the third microphone steering matrix, microphones located on a same surface as the screen side are ignored when determining the third microphone steering matrix.
[0066] In some cases, the current orientation and / or the current placement of the device are obtained via a sensor of the device.
[0067] The current orientation and / or the current placement can be potentially obtained from the sensors on the mobile phone, including but not limited to gyroscope, IMU, optical sensors, etc., and is not limited to the examples provided.
[0068] The present application further provides a signal processing apparatus, which is described below with reference to Fig. 4.
[0069] Fig. 4 is a structural diagram of some cases of a signal processing apparatus of the present application. As shown in Fig. 4, the apparatus 40 in these cases includes: a selection module 410 and a determination module 420.
[0070] The selection module 410 is configured for selecting a microphone steering matrix from a plurality of microphone steering matrices for a device, according to a current orientation and / or a current placement of the device, wherein the plurality of microphone steering matrices corresponding to different orientations and / or placements of the device.
[0071] The determination module 420 is configured for determining First Order Ambisonics (FOA) signals of the device according to the selected microphone steering matrix and microphone signals of the device.
[0072] Based on the above signal processing apparatus, for a device, a plurality of microphone steering matrices corresponding to different orientations and / or placements of the device may be configured for the device. A microphone steering matrix is selected from the plurality of microphone steering matrices according to a current orientation and / or a current placement of the device. Then FOA signals of the device may be determined according to the selected microphone steering matrix and microphone signals of the device. Based on the above signal processing apparatus, the microphone steering matrix matching the current orientation and / or placement of the device can be selected from the plurality of microphone steering matrices, which takes into account the influence of orientations and / or placements of the device on the microphone signals, thereby improving the accuracy of FOA signal determination.
[0073] In some cases, the plurality of microphone steering matrices comprise a microphone steering matrix configured for the device held in hand and a microphone steering matrix configured for the device on a flat surface.
[0074] In some cases, the plurality of microphone steering matrices comprises at least three microphone steering matrices, the at least three microphone steering matrices comprise a first microphone steering matrix configured for the device held in hand, a second microphone steering matrix configured for the device on a flat surface and a third microphone steering matrix configured for the device on the flat surface, the second microphone steering matrix and the third microphone steering matrix corresponding to different placements of the device.
[0075] In some cases, the device has a screen side, the second microphone steering matrix is configured for the device on the flat surface with the screen side facing up, and the third microphone steering matrix is configured for the device on the flat surface with the screen side facing down.
[0076] In some cases, the plurality of microphone steering matrices are determined based on a Finite Element Method (FEM) simulation.
[0077] In some cases, for the first microphone steering matrix, the FEM simulation is applied to a first mesh with a shape of the device in a free space.
[0078] In some cases, for the second microphone steering matrix, the FEM simulation is applied to a second mesh with a shape of the device on a flat surface, with the screen side facing up.
[0079] In some cases, microphones located on an opposite surface to the screen side are ignored when determining the second microphone steering matrix.
[0080] In some cases, for the third microphone steering matrix, the FEM simulation is applied to a third mesh with a shape of the device on a flat surface, with the screen side facing down.
[0081] In some cases, microphones located on a same surface as the screen side are ignored when determining the third microphone steering matrix.
[0082] In some cases, a size of the flat surface is configured as 120cm× 75cm×2cm, and the device is located at a center of the flat surface.
[0083] In some cases, the plurality of microphone steering matrices are determined by acoustically measuring an impulse response with a dense spherical loudspeaker array in an anechoic chamber.
[0084] In some cases, for the second microphone steering matrix, microphones located on a opposite surface to the screen side are ignored when determining the second microphone steering matrix; and / or for the third microphone steering matrix, microphones located on a same surface as the screen side are ignored when determining the third microphone steering matrix.
[0085] In some cases, the current orientation and / or the current placement of the device are obtained via a sensor of the device.
[0086] It should be noted that the above units (modules) are merely logic modules divided based on specific functions implemented by the modules, and are not intended to limit specific implementations. For example, the modules may be implemented by software, hardware, or a combination of software and hardware. In actual implementation, the above units may be implemented as independent physical entities, or may be implemented by a single entity (e.g., a processor (aCPU, a DSP, etc. ) , or an integrated circuit) . In addition, the above units are shown with dashed lines in the accompanying drawings to indicate that these units may not actually exist, and operations / functions implemented thereby may be implemented by a processing circuit.
[0087] In addition, although not shown, the device may further include a memory, which may store various information generated during the operations by the device and the various units included in the device, programs and data used for the operations, data to be sent by a communication unit, etc. The memory may be a volatile memory and / or a non-volatile memory. For example, the memory may include, but is not limited to, a random access memory (RAM) , a dynamic random access memory (DRAM) , a static random access memory (SRAM) , a read-only memory (ROM) , and a flash memory. Certainly, the memory may alternatively be located outside the device. Optionally, although not shown, the device may further include a communication unit, which may be configured to communicate with other apparatuses. In an example, the communication unit may be implemented in an appropriate manner known in the art, for example, including communication components such as an antenna array and / or a radio frequency link, various types of interfaces, communication units, and the like. Details are not described herein. In addition, the device may further include other components not shown, such as a radio frequency link, a baseband processing unit, a network interface, a processor, and a controller. Details are not described herein.
[0088] Some cases of the present application further provide an electronic device. FIG. 5 is a block diagram of an electronic device according to some cases of the present application. For example, in some cases, the electronic device 50 may be various types of devices, for example, may include, but is not limited to, mobile terminals such as a mobile phone, a notebook computer, a digital broadcast receiver, a personal digital assistant (PDA) , a tablet computer (PAD) , a portable multimedia player (PMP) , and a vehicle-mounted terminal (e.g., a vehicle navigation terminal) , and fixed terminals such as a digital TV and a desktop computer. For example, the electronic device 50 may include a display panel configured to display data and / or execution results used in the solutions according to the present application. For example, the display panel may be in various shapes, such as a rectangular panel, an elliptical panel, or a polygonal panel. In addition, the display panel may be a flat panel, a curved panel, or even a spherical panel.
[0089] In some cases, the electronic device 50 includes one or more processors; and one or more memories coupled to the one or more processors and configured to store instructions that, when executed by the one or more processors, cause the one or more processors to perform the signal processing method according to any cases of the application.
[0090] Based on the electronic device, for a device, a plurality of microphone steering matrices corresponding to different orientations and / or placements of the device may be configured for the device. A microphone steering matrix is selected from the plurality of microphone steering matrices according to a current orientation and / or a current placement of the device. Then FOA signals of the device may be determined according to the selected microphone steering matrix and microphone signals of the device. Based on the above electronic device, the microphone steering matrix matching the current orientation and / or placement of the device can be selected from the plurality of microphone steering matrices, which takes into account the influence of orientations and / or placements of the device on the microphone signals, thereby improving the accuracy of FOA signal determination.
[0091] As shown in FIG. 5, the electronic device 50 according to this case includes: a memory 51 and a processor 52 coupled to the memory 51. It should be noted that the components of the electronic device 50 shown in FIG. 5 are merely exemplary and non-limitative. The electronic device 50 may further have other components based on an actual application requirements. The processor 52 may control other components in the electronic device 50 to perform desired functions.
[0092] In some cases, the memory 51 is configured to store one or more computer-readable instructions. The processor 52 is configured to run the computer-readable instructions, and when the computer-readable instructions are run by the processor 52, the method according to any one of the above cases is implemented. For specific implementation of the steps of the method and related explanation content, reference may be made to the above cases, and no repeated description is provided.
[0093] For example, the processor 52 and the memory 51 may directly or indirectly communicate with each other. For example, the processor 52 and the memory 51 may communicate over a network. The network may include a wireless network, a wired network, and / or any combination of a wireless network and a wired network. The processor 52 and the memory 51 may alternatively communicate with each other by a system bus. This is not limited in the present application.
[0094] For example, the processor 52 may be embodied as various appropriate processors, processing apparatuses, etc., such as a central processing unit (CPU) , a graphics processing unit (GPU) , and a network processor (NP) ; or may be a digital signal processor (DSP) , an application-specific integrated circuit (ASIC) , a field programmable gate array (FPGA) or other programmable logic devices, a discrete gate or transistor logic device, or a discrete hardware component. The central processing unit (CPU) may be of an X86 or ARM architecture, etc. For example, the memory 51 may include any combination of various forms of computer-readable storage media, for example, a volatile memory and / or a non-volatile memory. The memory 51 may include, for example, a system memory, and the system memory stores, for example, an operating system, an application, a boot loader, a database, and other programs. Various applications, various data, and the like may further be stored in the storage medium.
[0095] In addition, according to some cases of the present application, when various operations / processing according to the present application are implemented by software and / or firmware, programs constituting the software may be installed from the storage medium or a network to a computer system with a dedicated hardware structure, such as an electronic device 60 shown in FIG. 6. When installed with various programs, the electronic device can perform various functions, including the functions described above, etc. FIG. 6 is a block diagram of an example structure of an electronic device that can be used according to an case of the present application.
[0096] In FIG. 6, a central processing unit (CPU) 601 performs various processing based on a program stored in a read-only memory (ROM) 602 or loaded from a storage part 608 into a random access memory (RAM) 603. Data required for the CPU 601 to perform various processing and the like is also stored in the RAM 603 as required. The central processing unit is merely exemplary, and it may alternatively be other types of processors, such as the various processors described above. The ROM 602, the RAM 603, and the storage part 608 may be various forms of computer-readable storage media, as described below. It should be noted that although the ROM 602, the RAM 603, and the storage part 608 are shown separately in FIG. 6, one or more of them may be combined or located in the same or different memories or storage modules.
[0097] The CPU 601, the ROM 602, and the RAM 603 are connected to one another through a bus 604. An input / output interface 605 is also connected to the bus 604.
[0098] The following components are connected to the input / output interface 605: an input part 606, for example, a touchscreen, a touchpad, a keyboard, a mouse, an image sensor, a microphone, an accelerometer, or a gyroscope; an output part 607, including a display such as a cathode-ray tube (CRT) or a liquid crystal display (LCD) , a speaker, a vibrator, etc. ; the storage part 608, including a hard disk, a magnetic tape, etc. ; and a communication part 609, including a network interface card such as a LAN card, a modem, etc. The communication part 609 allows communication processing to be performed over a network such as the Internet. It is easy to understand that although the various apparatuses or modules in the electronic device 60 shown in FIG. 6 communicate by the bus 604, they may alternatively communicate over a network or by other means, where the network may include a wireless network, a wired network, and / or any combination of wireless networks and wired networks.
[0099] A driver 610 is also connected to the input / output interface 605 as required. A removable medium 611 such as a magnetic disk, an optical disc, a magneto-optical disc, or a semiconductor memory, is installed on the driver 610 as required, such that a computer program read therefrom is installed into the storage part 608 as required.
[0100] When the above series of processing are implemented by software, programs constituting the software may be installed from a network such as the Internet or a storage medium such as the removable medium 611.
[0101] According to a case of the present application, the process described above with reference to the flowchart may be implemented as a computer software program. For example, a case of the present application includes a computer program product, which includes a computer program carried on a computer-readable medium, where the computer program includes program code for performing the method shown in the flowchart. In such a case, the computer program may be downloaded and installed from a network through the communication apparatus 609, installed from the storage part 608, or installed from the ROM 602. When the computer program is executed by the CPU 601, the above functions defined in the method of the cases of the present application are performed.
[0102] It should be noted that, in the context of the present application, the computer-readable medium may be a tangible medium, which may contain or store a program for use by an instruction execution system, apparatus, or device, or for use in combination with the instruction execution system, apparatus, or device. The computer-readable medium may be a computer-readable signal medium, a computer-readable storage medium, or any combination thereof. Examples of the computer-readable storage medium may include, but are not limited to: electric, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatuses, or devices, or any combination thereof. More specific examples of the computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer magnetic disk, a hard disk, a random access memory (RAM) , a read-only memory (ROM) , an erasable programmable read-only memory (EPROM or flash memory) , an optical fiber, a portable compact disk read-only memory (CD-ROM) , an optical storage device, a magnetic storage device, or any suitable combination thereof. In the present application, the computer-readable storage medium may be any tangible medium containing or storing a program which may be used by or in combination with an instruction execution system, apparatus, or device. In the present application, the computer-readable signal medium may include a data signal propagated in a baseband or as a part of a carrier, the data signal carrying computer-readable program code. The propagated data signal may be in various forms, including but not limited to an electromagnetic signal, an optical signal, or any suitable combination thereof. The computer-readable signal medium may further be any computer-readable medium other than the computer-readable storage medium. The computer-readable signal medium can send, propagate, or transmit a program used by or in combination with an instruction execution system, apparatus, or device. The program code contained in the computer-readable medium may be transmitted by any suitable medium, including but not limited to: electric wires, optical cables, radio frequency (RF) , etc., or any suitable combination thereof.
[0103] The above computer-readable medium may be contained in the above electronic device. Alternatively, the computer-readable medium may exist independently, without being assembled into the electronic device.
[0104] In some cases, a computer program is further provided, including: instructions that, when executed by a processor, cause the processor to perform the method according to any one of the above cases. For example, the instructions may be embodied as computer program code.
[0105] In the cases of the present application, the computer program code for performing operations of the present application can be written in one or more programming languages or a combination thereof, where the programming languages include but are not limited to object-oriented programming languages, such as Java, Smalltalk, and C++, and further include conventional procedural programming languages, such as “C” language or similar programming languages. The program code may be completely executed on a computer of a user, partially executed on a computer of a user, executed as an independent software package, partially executed on a computer of a user and partially executed on a remote computer, or completely executed on a remote computer or server. In the case of the remote computer, the remote computer may be connected to the computer of the user through any kind of network (including a local area network (LAN) or a wide area network (WAN) ) , or may be connected to an external computer (e.g., connected through the Internet with the aid of an Internet service provider) .
[0106] The flowchart and block diagram in the accompanying drawings illustrate the possibly implemented architecture, functions, and operations of the system, method, and computer program product according to various cases of the present application. In this regard, each block in the flowchart or block diagram may represent a module, program segment, or part of code, and the module, program segment, or part of code contains one or more executable instructions for implementing the specified logical functions. It should also be noted that, in some alternative implementations, the functions marked in the blocks may also occur in an order different from that marked in the accompanying drawings. For example, two blocks shown in succession can actually be performed substantially in parallel, or they can sometimes be performed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagram and / or the flowchart, and a combination of the blocks in the block diagram and / or the flowchart may be implemented by a dedicated hardware-based system that executes specified functions or operations, or may be implemented by a combination of dedicated hardware and computer instructions.
[0107] The related modules, components, or units described in the cases of the present application may be implemented by software, or may be implemented by hardware. The names of the modules, components, or units do not constitute a limitation on the modules, components, or units themselves in some cases.
[0108] The functions described herein above may be performed at least partially by one or more hardware logic components. For example, without limitation, exemplary hardware logic components that may be used include: a field programmable gate array (FPGA) , an application-specific integrated circuit (ASIC) , an application-specific standard product (ASSP) , a system-on-chip (SOC) , a complex programmable logic device (CPLD) , etc.
[0109] The present application further provides a computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, causes the processor to perform the signal processing method according to any case of the application.
[0110] Based on the computer-readable storage medium, for a device, a plurality of microphone steering matrices corresponding to different orientations and / or placements of the device may be configured for the device. A microphone steering matrix is selected from the plurality of microphone steering matrices according to a current orientation and / or a current placement of the device. Then FOA signals of the device may be determined according to the selected microphone steering matrix and microphone signals of the device. Based on the above computer-readable storage medium, the microphone steering matrix matching the current orientation and / or placement of the device can be selected from the plurality of microphone steering matrices, which takes into account the influence of orientations and / or placements of the device on the microphone signals, thereby improving the accuracy of FOA signal determination.
[0111] The present application further provides a computer program product, comprising: instructions, wherein the instructions, when executed by a processor, cause the processor to implement the signal processing method according to any case of the application.
[0112] Based on the computer program product, for a device, a plurality of microphone steering matrices corresponding to different orientations and / or placements of the device may be configured for the device. A microphone steering matrix is selected from the plurality of microphone steering matrices according to a current orientation and / or a current placement of the device. Then FOA signals of the device may be determined according to the selected microphone steering matrix and microphone signals of the device. Based on the above computer program product, the microphone steering matrix matching the current orientation and / or placement of the device can be selected from the plurality of microphone steering matrices, which takes into account the influence of orientations and / or placements of the device on the microphone signals, thereby improving the accuracy of FOA signal determination.
[0113] The above descriptions are merely some embodiments of the present application and explanations of the applied technical principles. Those skilled in the art should understand that the disclosed scope involved in the present application is not limited to the technical solutions formed by specific combinations of the above technical features, and shall also cover other technical solutions formed by any combination of the above technical features or equivalent features thereof without departing from the above disclosed concepts, for example, a technical solution formed by mutually replacing the above features with the technical features with similar functions disclosed in the present application (but not limited thereto) .
[0114] In the description provided herein, numerous specific details are set forth. However, it should be understood that the embodiments of the present application may be implemented without these specific details. In other cases, well-known methods, structures, and techniques have not been shown in detail in order not to obscure the understanding of this description.
[0115] In addition, although the various operations are depicted in a specific order, it should not be construed as requiring these operations to be performed in the specific order shown or in a sequential order. Under certain circumstances, multitasking and parallel processing may be advantageous. Similarly, although several specific implementation details are described above, these details should not be construed as limiting the scope of the present application. Some features that are described in the context of separate embodiments may alternatively be implemented in combination in a single embodiment. In contrast, various features described in the context of a single embodiment may alternatively be implemented in a plurality of embodiments individually or in any suitable subcombination.
[0116] Although some specific embodiments of the present application have been described in detail through examples, those skilled in the art should understand that the above examples are merely for illustration and are not intended to limit the scope of the present application. Those skilled in the art should understand that the above embodiments can be modified without departing from the scope and spirit of the present application. The scope of the present application is defined by the appended claims.
Claims
1.A signal processing method, comprising:selecting a microphone steering matrix from a plurality of microphone steering matrices for a device, according to a current orientation and / or a current placement of the device, wherein the plurality of microphone steering matrices corresponding to different orientations and / or placements of the device; anddetermining First Order Ambisonics (FOA) signals of the device according to the selected microphone steering matrix and microphone signals of the device.2.The signal processing method according to claim 1, wherein the plurality of microphone steering matrices comprise a microphone steering matrix configured for the device held in hand and a microphone steering matrix configured for the device on a flat surface.3.The signal processing method according to claim 1, wherein the plurality of microphone steering matrices comprises at least three microphone steering matrices, the at least three microphone steering matrices comprise a first microphone steering matrix configured for the device held in hand, a second microphone steering matrix configured for the device on a flat surface and a third microphone steering matrix configured for the device on the flat surface, the second microphone steering matrix and the third microphone steering matrix corresponding to different placements of the device.4.The signal processing method according to claim 3, wherein the device has a screen side, the second microphone steering matrix is configured for the device on the flat surface with the screen side facing up, and the third microphone steering matrix is configured for the device on the flat surface with the screen side facing down.5.The signal processing method according to claim 4, wherein the plurality of microphone steering matrices are determined based on a Finite Element Method (FEM) simulation.6.The signal processing method according to claim 5, wherein for the first microphone steering matrix, the FEM simulation is applied to a first mesh with a shape of the device in a free space.7.The signal processing method according to claim 5, wherein for the second microphone steering matrix, the FEM simulation is applied to a second mesh with a shape of the device on a flat surface, with the screen side facing up.8.The signal processing method according to claim 7, wherein microphones located on an opposite surface to the screen side are ignored when determining the second microphone steering matrix.9.The signal processing method according to claim 5, wherein for the third microphone steering matrix, the FEM simulation is applied to a third mesh with a shape of the device on a flat surface, with the screen side facing down.10.The signal processing method according to claim 9, wherein microphones located on a same surface as the screen side are ignored when determining the third microphone steering matrix.11.The signal processing method according to claim 7 or 9, wherein a size of the flat surface is configured as 120cm× 75cm×2cm, and the device is located at a center of the flat surface.12.The signal processing method according to claim 4, wherein the plurality of microphone steering matrices are determined by acoustically measuring an impulse response with a dense spherical loudspeaker array in an anechoic chamber.13.The signal processing method according to claim 12, wherein:for the second microphone steering matrix, microphones located on a opposite surface to the screen side are ignored when determining the second microphone steering matrix; and / orfor the third microphone steering matrix, microphones located on a same surface as the screen side are ignored when determining the third microphone steering matrix.14.The signal processing method according to any one of claims 1-10, wherein the current orientation and / or the current placement of the device are obtained via a sensor of the device.15.A signal processing apparatus, comprising:a selection module configured for selecting a microphone steering matrix from a plurality of microphone steering matrices for a device, according to a current orientation and / or a current placement of the device, wherein the plurality of microphone steering matrices corresponding to different orientations and / or placements of the device; anda determination module configured for determining First Order Ambisonics (FOA) signals of the device according to the selected microphone steering matrix and microphone signals of the device.16.An electronic device, comprising:one or more processors; andone or more memories coupled to the one or more processors and configured to store instructions that, when executed by the one or more processors, cause the one or more processors to perform the signal processing method according to any one of claims 1 to 14.17.A computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, causes the processor to perform the signal processing method according to any one of claims 1 to 14.18.A computer program product, comprising: instructions, wherein the instructions, when executed by a processor, cause the processor to implement the signal processing method according to any one of claims 1 to 14.