Processing method, device, and storage medium
By working collaboratively between encoding and decoding devices, the metadata of audio data is compressed and encoded based on a precision threshold, solving the problems of metadata accuracy and transmission efficiency, and improving the training effect of AI models.
Patent Information
- Application Number
- PCT/CN2024/106504
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-19
- Publication Date
- 2026-01-22
AI Technical Summary
In AI-based audio technology, backend AI tasks require a large amount of audio data metadata. However, existing technologies struggle to guarantee the accuracy and compression efficiency of metadata, resulting in large data transmission space consumption and impacting the training effect of AI models.
The audio data metadata is compressed and encoded by an encoding device according to a precision threshold to generate encoded metadata, which is then decoded by a decoding device to ensure that the decoded metadata meets the compression requirements of the AI task, thus achieving accurate and efficient transmission of metadata.
This improved the accuracy and transmission efficiency of metadata, reduced data footprint, and ensured the accuracy and efficiency of AI model training.
Smart Images

Figure CN2024106504_22012026_PF_FP_ABST
Abstract
Description
Processing methods, equipment and storage media Technical Field
[0001] This disclosure relates to the field of audio processing technology, and in particular to a processing method, apparatus and storage medium. Background Technology
[0002] With the improvement of computing power and the increase in the amount of available data, artificial intelligence (AI) technology has made rapid progress and has been widely applied in various fields. Among them, AI-based audio technology can be applied to fields such as healthcare, finance, transportation, and education. The training phase of AI models requires massive amounts of labeled audio data.
[0003] Summary of the Invention
[0004] In AI-based audio technology, backend AI tasks require the use of a large amount of audio data metadata, necessitating methods to ensure the accuracy of the metadata.
[0005] This disclosure provides a processing method, apparatus, and storage medium.
[0006] In a first aspect, embodiments of this disclosure provide a processing method executed by an encoding device, the method comprising:
[0007] Based on a precision threshold, the metadata of the audio data is compressed and encoded to obtain encoded metadata, wherein the precision threshold is used to indicate the compression requirements of the artificial intelligence (AI) task.
[0008] The encoded metadata is sent to the decoding device, wherein the decoding metadata corresponding to the encoded metadata is applied to the AI task.
[0009] Secondly, embodiments of this disclosure provide a processing method executed by a decoding device, the method comprising:
[0010] The encoding metadata sent by the encoding device is received, wherein the encoding metadata is obtained by compressing and encoding the metadata of the audio data based on a precision threshold, and the precision threshold is used to indicate the compression requirements of the artificial intelligence (AI) task.
[0011] The encoded metadata is decoded to obtain decoded metadata, which is then applied to AI tasks.
[0012] Thirdly, embodiments of this disclosure provide a communication device, including:
[0013] The processing module is used to compress and encode the metadata of the audio data according to a precision threshold to obtain encoded metadata; wherein, the precision threshold is used to indicate the compression requirements of the artificial intelligence (AI) task.
[0014] The transceiver module is used to send the encoded metadata to the decoding device, wherein the decoded metadata corresponding to the encoded metadata is applied to the AI task.
[0015] Fourthly, embodiments of this disclosure provide a communication device, including:
[0016] The transceiver module is used to receive encoded metadata sent by the encoding device. The encoded metadata is obtained by compressing and encoding the metadata of the audio data based on a precision threshold. The precision threshold is used to indicate the compression requirements of the artificial intelligence (AI) task.
[0017] The processing module is used to decode the encoded metadata to obtain decoded metadata, which is then applied to the AI task.
[0018] Fifthly, embodiments of this disclosure provide a communication device including:
[0019] One or more processors;
[0020] The communication device is configured to implement the method described in either the first aspect or the second aspect.
[0021] Sixthly, embodiments of this disclosure provide a communication system, including an encoding device and a decoding device, wherein,
[0022] The encoding device is configured to implement the method as described in the first aspect;
[0023] The decoding device is configured to implement the method as described in the second aspect.
[0024] In a seventh aspect, embodiments of this disclosure provide a storage medium storing instructions, wherein...
[0025] When the instructions are executed on the communication device, the communication device causes the communication device to perform the method as described in the first aspect or the second aspect.
[0026] Eighthly, embodiments of this disclosure provide a program product, wherein,
[0027] When the program product is executed by a communication device, the communication device performs the method as described in the first aspect or the second aspect.
[0028] In the embodiments of this disclosure, when encoding metadata, the encoding device encodes based on the precision threshold corresponding to the backend AI task, thereby adapting to the compression requirements of the AI task during the encoding process. Attached Figure Description
[0029] To more clearly illustrate the technical solutions in the embodiments of this disclosure, the accompanying drawings required for the description of the embodiments are introduced below. The following drawings are only some embodiments of this disclosure and do not impose specific limitations on the protection scope of this disclosure.
[0030] Figure 1 is an exemplary schematic diagram of the architecture of a communication system provided according to an embodiment of the present disclosure;
[0031] Figure 2a is an exemplary interactive schematic diagram of a method provided according to an embodiment of the present disclosure;
[0032] Figures 2b to 2c are schematic diagrams of frame division provided according to embodiments of the present disclosure;
[0033] Figure 2d is a schematic diagram of metadata provided according to an embodiment of the present disclosure;
[0034] Figure 3 is an exemplary flowchart of a method provided according to an embodiment of the present disclosure;
[0035] Figure 4 is an exemplary flowchart of a method provided according to an embodiment of the present disclosure;
[0036] Figure 5 is an exemplary flowchart of a method provided according to an embodiment of the present disclosure;
[0037] Figure 6a is a schematic diagram of the structure of a device according to an embodiment of the present disclosure;
[0038] Figure 6b is a schematic diagram of the structure of a device according to an embodiment of the present disclosure;
[0039] Figure 6c is a schematic diagram of the structure of a device according to an embodiment of the present disclosure;
[0040] Figure 7a is a schematic diagram of a communication device according to an embodiment of the present disclosure;
[0041] Figure 7b is a schematic diagram of a communication device according to an embodiment of the present disclosure. Detailed Implementation
[0042] This disclosure provides a processing method, apparatus, and storage medium.
[0043] In a first aspect, embodiments of this disclosure provide a processing method executed by an encoding device, the method comprising:
[0044] Based on a precision threshold, the metadata of the audio data is compressed and encoded to obtain encoded metadata, wherein the precision threshold is used to indicate the compression requirements of the artificial intelligence (AI) task.
[0045] The encoded metadata is sent to the decoding device, wherein the decoding metadata corresponding to the encoded metadata is applied to the AI task.
[0046] In the above embodiments, when encoding metadata, the encoding device encodes based on the precision threshold corresponding to the backend AI task, thereby adapting to the compression requirements of the AI task during the encoding process.
[0047] In conjunction with the embodiments of the first aspect, in some embodiments, the metadata of the audio data is compressed and encoded according to a precision threshold, including:
[0048] The quantization threshold corresponding to the metadata is determined based on the precision threshold, where the quantization threshold is used to represent the compression requirements of the metadata during the encoding stage;
[0049] The metadata is compressed and encoded based on the quantization threshold.
[0050] In conjunction with the embodiments of the first aspect, in some embodiments, the quantization threshold is less than or equal to the precision threshold;
[0051] The AI task includes one first AI task, and the accuracy threshold is the accuracy threshold corresponding to the first AI task; or...
[0052] The AI task includes at least two of the first AI tasks, and the accuracy threshold is the minimum value among the accuracy thresholds corresponding to the at least two first AI tasks.
[0053] In conjunction with the embodiments of the first aspect, in some embodiments, when the metadata is applied to at least two of the first AI tasks simultaneously, the quantization thresholds corresponding to the metadata under at least two of the first AI tasks are the same; or, when the metadata is applied to at least two of the first AI tasks respectively, the quantization thresholds corresponding to the metadata under at least two of the first AI tasks are different.
[0054] In conjunction with the embodiments of the first aspect, in some embodiments, the method further includes:
[0055] The metadata is divided into frames to obtain multi-frame metadata, where the precision thresholds corresponding to the multi-frame metadata are the same.
[0056] In conjunction with the embodiments of the first aspect, in some embodiments, determining the quantization threshold corresponding to the metadata based on the precision threshold includes:
[0057] Based on the numerical range and precision threshold of the metadata value, determine the quantization threshold of the metadata within the numerical range.
[0058] In conjunction with the embodiments of the first aspect, in some embodiments, each value in a numerical range corresponds to the same precision threshold, or different values in the numerical range correspond to different precision thresholds.
[0059] In conjunction with the embodiments of the first aspect, in some embodiments, the numerical range includes multiple segments, and different segments correspond to different precision thresholds; wherein, the multiple segments are obtained by dividing the numerical range based on data features.
[0060] In conjunction with the embodiments of the first aspect, in some embodiments, the quantization threshold of the metadata within the numerical range is determined based on the numerical range and precision threshold of the metadata value, including:
[0061] The quantization threshold of the segment containing the metadata is determined based on the precision threshold corresponding to that segment.
[0062] In conjunction with the embodiments of the first aspect, in some embodiments, the encoded metadata includes an identifier and compressed encoded metadata, the identifier being used to indicate the segment in which the metadata resides.
[0063] In conjunction with the embodiments of the first aspect, in some embodiments, the method further includes:
[0064] Based on the precision threshold, determine the minimum number of bits required to encode the metadata.
[0065] In conjunction with the embodiments of the first aspect, in some embodiments, the minimum number of bits len is: len = ceil(log2{(ba) / delta}), where ceil represents rounding up, a represents the minimum value of the numerical range, b represents the maximum value of the numerical range, and delta represents the same precision threshold corresponding to the numerical range.
[0066] In conjunction with the embodiments of the first aspect, in some embodiments, the minimum number of bits len is: len=ceil(log2{(mn) / deltaN}), where ceil represents rounding up, m represents the minimum value of the Nth segment where the metadata is located, n represents the maximum value of the Nth segment, deltaN represents the precision threshold corresponding to the Nth segment, m≥a, n≤b.
[0067] In conjunction with the embodiments of the first aspect, in some embodiments, the distortion resulting from the compression encoding of metadata is less than or equal to the quantization threshold corresponding to the metadata.
[0068] Secondly, embodiments of this disclosure provide a processing method executed by a decoding device, the method comprising:
[0069] Receive encoded metadata sent by the encoding device, wherein the encoded metadata is obtained by compressing and encoding the metadata of the audio data based on a precision threshold, and the precision threshold is used to indicate the compression requirements of the artificial intelligence (AI) task;
[0070] The encoded metadata is decoded to obtain decoded metadata, which is then applied to AI tasks.
[0071] In conjunction with the embodiments of the second aspect, in some embodiments, the precision threshold is used to determine the quantization threshold corresponding to the metadata during the compression encoding process, and the quantization threshold is used to represent the compression requirements of the metadata during the encoding stage.
[0072] In conjunction with the embodiments of the second aspect, in some embodiments, the quantization threshold is less than or equal to the precision threshold;
[0073] The AI task includes one first AI task, and the accuracy threshold is the accuracy threshold corresponding to the first AI task; or...
[0074] The AI task includes at least two of the first AI tasks, and the accuracy threshold is the minimum value among the accuracy thresholds corresponding to the at least two first AI tasks.
[0075] In conjunction with the embodiments of the second aspect, in some embodiments, when the metadata is applied to at least two of the first AI tasks simultaneously, the quantization thresholds corresponding to the metadata under at least two of the first AI tasks are the same; or, when the metadata is applied to at least two of the first AI tasks respectively, the quantization thresholds corresponding to the metadata under at least two of the first AI tasks are different.
[0076] In conjunction with the embodiments of the second aspect, in some embodiments, for multi-frame metadata in metadata path segmentation processing, the precision thresholds corresponding to the multi-frame metadata are the same.
[0077] In conjunction with the embodiments of the second aspect, in some embodiments, the quantization threshold of metadata within a numerical range is determined based on the numerical range and the precision threshold corresponding to the numerical range.
[0078] In conjunction with the embodiments of the second aspect, in some embodiments, the precision threshold corresponding to each value in a numerical range is the same, or the precision threshold corresponding to different values in a numerical range is different.
[0079] In conjunction with the embodiments of the second aspect, in some embodiments, the numerical range includes multiple segments, and different segments correspond to different precision thresholds; wherein, the multiple segments are obtained by dividing the numerical range based on data features.
[0080] In conjunction with embodiments of the second aspect, in some embodiments, decoding the encoded metadata includes:
[0081] Decode the metadata based on the segment where it is located.
[0082] In conjunction with embodiments of the second aspect, in some embodiments, decoding the encoded metadata includes:
[0083] Decode the encoded metadata to obtain the identifier and determine the segment where the metadata is located. The encoded metadata includes the identifier and the compressed metadata.
[0084] Decoded metadata is obtained based on the segment offset value, the precision threshold of the segment, and the compressed metadata.
[0085] Thirdly, embodiments of this disclosure provide a communication device, including:
[0086] The processing module is used to compress and encode the metadata of the audio data according to a precision threshold to obtain encoded metadata; wherein, the precision threshold is used to indicate the compression requirements of the artificial intelligence (AI) task.
[0087] The transceiver module is used to send the encoded metadata to the decoding device, wherein the decoded metadata corresponding to the encoded metadata is applied to the AI task.
[0088] Fourthly, embodiments of this disclosure provide a communication device, including:
[0089] The transceiver module is used to receive encoded metadata sent by the encoding device. The encoded metadata is obtained by compressing and encoding the metadata of the audio data based on a precision threshold. The precision threshold is used to indicate the compression requirements of the artificial intelligence (AI) task.
[0090] The processing module is used to decode the encoded metadata to obtain decoded metadata, which is then applied to the AI task.
[0091] Fifthly, embodiments of this disclosure provide a communication device including:
[0092] One or more processors;
[0093] The communication device is configured to implement the method described in either the first aspect or the second aspect.
[0094] Sixthly, embodiments of this disclosure provide a communication system, including an encoding device and a decoding device, wherein,
[0095] The encoding device is configured to implement the method as described in the first aspect;
[0096] The decoding device is configured to implement the method as described in the second aspect.
[0097] In a seventh aspect, embodiments of this disclosure provide a storage medium storing instructions, wherein...
[0098] When the instructions are executed on the communication device, the communication device causes the communication device to perform the method as described in the first aspect or the second aspect.
[0099] Eighthly, embodiments of this disclosure provide a program product, wherein,
[0100] When the program product is executed by a communication device, the communication device performs the method as described in the first aspect or the second aspect.
[0101] In a ninth aspect, embodiments of this disclosure provide a computer program that, when run on a computer, causes the computer to perform the methods described in alternative implementations of the first and second aspects.
[0102] In a tenth aspect, embodiments of this disclosure provide a chip or chip system. The chip or chip system includes processing circuitry configured to perform the methods described according to optional implementations of the first and second aspects above.
[0103] It is understood that the aforementioned terminals, network devices, communication systems, storage media, program products, computer programs, chips, or chip systems are all used to execute the methods proposed in the embodiments of this disclosure. Therefore, the beneficial effects they can achieve can be referred to the beneficial effects in the corresponding methods, and will not be repeated here.
[0104] This disclosure is not exhaustive, but merely illustrative of some embodiments, and is not intended to limit the scope of protection of this disclosure. Unless otherwise specified, each step in a particular embodiment can be implemented as an independent embodiment, and the steps can be arbitrarily combined. For example, a solution after removing some steps in a particular embodiment can also be implemented as an independent embodiment, and the order of the steps in a particular embodiment can be arbitrarily interchanged. Furthermore, the optional implementation methods in a particular embodiment can be arbitrarily combined; moreover, the embodiments can be arbitrarily combined, for example, some or all steps of different embodiments can be arbitrarily combined, and a particular embodiment can be arbitrarily combined with the optional implementation methods of other embodiments.
[0105] In each of the disclosed embodiments, unless otherwise specified or in case of logical conflict, the terminology and / or descriptions of the embodiments are consistent and can be referenced by each other. Technical features in different embodiments can be combined to form new embodiments based on their inherent logical relationships.
[0106] The terminology used in the embodiments of this disclosure is for the purpose of describing particular embodiments only and is not intended to limit the scope of this disclosure.
[0107] In this embodiment of the disclosure, unless otherwise stated, elements expressed in the singular form, such as "a," "an," "the," "the," "the," "the," "the," "the," "this," etc., can mean "one and only one," or "one or more," "at least one," etc. For example, when using articles such as "a," "an," "the," etc. in translation, the noun following the article can be understood as either a singular expression or a plural expression.
[0108] In the embodiments disclosed herein, "multiple" refers to two or more.
[0109] In some embodiments, the terms “at least one of”, “one or more”, “a plurality of”, “multiple”, etc., may be used interchangeably.
[0110] In some embodiments, the notation "at least one of A and B", "A and / or B", "A in one case, B in another", "in response to one case A, in response to another case B", etc., may include the following technical solutions depending on the situation: in some embodiments, A (execute A regardless of B); in some embodiments, B (execute B regardless of A); in some embodiments, execution is selected from A and B (A and B are selectively executed); in some embodiments, A and B (both A and B are executed). The same applies when there are more branches such as A, B, C, etc.
[0111] In some embodiments, the notation "A or B" may include the following technical solutions, depending on the situation: in some embodiments, A (execution of A regardless of B); in some embodiments, B (execution of B regardless of A); in some embodiments, execution is selected from A and B (A and B are selectively executed). The same applies when there are more branches such as A, B, C, etc.
[0112] The prefixes "first," "second," etc., used in the embodiments of this disclosure are merely for distinguishing different descriptive objects and do not impose restrictions on the position, order, priority, quantity, or content of the descriptive objects. The description of the descriptive objects is found in the claims or the context of the embodiments, and the use of prefixes should not constitute unnecessary restrictions. For example, if the descriptive object is a "field," the ordinal numbers preceding "field" in "first field" and "second field" do not restrict the position or order of the "fields." "First" and "second" do not restrict whether the "fields" they modify are in the same message, nor do they restrict the order of "first field" and "second field." Similarly, if the descriptive object is a "level," the ordinal numbers preceding "level" in "first level" and "second level" do not restrict the priority between "levels." Furthermore, the number of descriptive objects is not limited by ordinal numbers and can be one or more. For example, in "first device," the number of "devices" can be one or more. Furthermore, the objects modified by different prefixes can be the same or different. For example, if the object being described is "device", then "first device" and "second device" can be the same device or different devices, and their types can be the same or different. Similarly, if the object being described is "information", then "first information" and "second information" can be the same information or different information, and their content can be the same or different.
[0113] In some embodiments, “including A,” “containing A,” “for indicating A,” and “carrying A” can be interpreted as directly carrying A or indirectly indicating A.
[0114] In some embodiments, the terms “in response to…”, “in response to determining…”, “in the case of…”, “when…”, “if…”, “if…”, etc., can be used interchangeably.
[0115] In some embodiments, the terms “greater than,” “greater than or equal to,” “not less than,” “more than,” “more than or equal to,” “not less than,” “higher than,” “higher than or equal to,” “not lower than,” and “above” can be used interchangeably, as can the terms “less than,” “less than or equal to,” “not greater than,” “less than,” “less than or equal to,” “not more than,” “lower than,” “lower than or equal to,” “not higher than,” and “below”.
[0116] In some embodiments, the apparatus and device may be interpreted as physical or virtual, and their names are not limited to the names recorded in the embodiments. In some cases, they may also be understood as "equipment", "device", "circuit", "network element", "node", "function", "unit", "section", "system", "network", "chip", "chip system", "entity", "body", etc.
[0117] In some embodiments, "network" can be interpreted as devices included in the network, such as access network devices, core network devices, etc.
[0118] In some embodiments, "access network device (AN device)" may also be referred to as "radio access network device (RAN device)," "base station (BS)," "radio base station," or "fixed station." In some embodiments, it may also be understood as "node," "access point," "transmission point (TP)," "reception point (RP)," "transmission / reception point (TRP)," "panel," "antenna panel," "antenna array," "cell," "macro cell," "small cell," "femto cell," "pico cell," "sector," "cell group," "serving cell," "carrier," "component carrier," or "bandwidth part (BWP)."
[0119] In some embodiments, "terminal" or "terminal device" may be referred to as "user equipment (UE)," "user terminal," "mobile station (MS)," "mobile terminal (MT)," "subscriber station," "mobile unit," "subscriber unit," "wireless unit," "remote unit," "mobile device," "wireless device," "wireless communication device," "remote device," "mobile subscriber station," "access terminal," "mobile terminal," "wireless terminal," "remote terminal," "handset," "user agent," "mobile client," "client," etc.
[0120] In some embodiments, the acquisition of data, information, etc., may comply with the laws and regulations of the country where the location is situated.
[0121] In some embodiments, data, information, etc., may be obtained with the user's consent.
[0122] Furthermore, each element, each row, or each column in the table of this disclosure can be implemented as an independent embodiment, and any combination of any element, any row, or any column can also be implemented as an independent embodiment.
[0123] Figure 1 is a schematic diagram of the architecture of a communication system according to an embodiment of the present disclosure.
[0124] As shown in Figure 1, the communication system 100 includes an encoder 101, a decoder 102, and a back-end device 103.
[0125] The encoding device 101 can be used to compress and encode audio data or metadata, and the decoding device 102 is used to decode the compressed and encoded data. The decoded data is used by the backend device 103 for training or application of AI tasks, such as as training data or application data for AI tasks.
[0126] For example, the original audio data (Audio_origin) is encoded by encoding device 101 to obtain audio codewords (audio_compressed). These audio codewords are then transmitted to decoding device 102, where they are decoded to obtain decoded audio data (audio_decoded). Similarly, the original metadata (Metadata_origin) is encoded by encoding device 101 to obtain metadata codewords (metadata_compressed). These metadata codewords are then transmitted to decoding device 102, where they are decoded to obtain decoded metadata (metadata_decoded). Both the decoded audio data (audio_decoded) and the decoded metadata (metadata_decoded) serve as training data or application data for the AI Task.
[0127] In some embodiments, the encoding device 101, the decoding device 102, and the back-end device 103 may be three independent devices, or two or three of them may use the same device.
[0128] In some embodiments, encoding device 101 may be a terminal or network device, decoding device 102 may be a terminal or network device, and backend device 103 may be a local device or a cloud server.
[0129] In some embodiments, the terminal includes, but is not limited to, at least one of the following: mobile phone, wearable device, Internet of Things device, car with communication function, smart car, tablet computer, computer with wireless transceiver function, virtual reality (VR) terminal device, augmented reality (AR) terminal device, wireless terminal device in industrial control, wireless terminal device in self-driving, wireless terminal device in remote medical surgery, wireless terminal device in smart grid, wireless terminal device in transportation safety, wireless terminal device in smart city, and wireless terminal device in smart home.
[0130] In some embodiments, the network device may include at least one of an access network device and a core network device.
[0131] The access network equipment includes, for example, nodes or devices that connect terminals to the wireless network. The access network equipment may include, but is not limited to, at least one of the following in a 5G communication system: evolved Node B (eNB), next-generation eNB (ng-eNB), next-generation Node B (gNB), node B (NB), home node B (HNB), home evolved node B (HeNB), radio backhaul equipment, radio network controller (RNC), base station controller (BSC), base transceiver station (BTS), base band unit (BBU), mobile switching center, base station in a 6G communication system, open RAN, cloud RAN, base station in other communication systems, and access node in a wireless fidelity (WiFi) system.
[0132] In some embodiments, the access network device may be composed of a central unit (CU) and a distributed unit (DU). The CU may also be called a control unit. The CU-DU structure can separate the protocol layer of the access network device. Some of the protocol layer functions are centrally controlled by the CU, while the remaining part or all of the protocol layer functions are distributed in the DU and centrally controlled by the CU. However, this is not the only possibility.
[0133] In some embodiments, a core network device can be a single device comprising one or more network elements, or it can be multiple devices or a group of devices, each comprising all or part of one or more network elements. Network elements can be virtual or physical. The core network includes, for example, at least one of the Evolved Packet Core (EPC), 5G Core Network (5GCN), and Next Generation Core (NGC). Alternatively, a core network device refers to a network element with a specific function, such as an Access Management Function (AMF) or a Service Management Function (SMF).
[0134] It is understood that the communication system described in this disclosure is for the purpose of more clearly illustrating the technical solutions of this disclosure, and does not constitute a limitation on the technical solutions provided in this disclosure. As those skilled in the art will know, with the evolution of system architecture and the emergence of new business scenarios, the technical solutions provided in this disclosure are also applicable to similar technical problems.
[0135] The following embodiments of this disclosure can be applied to the communication system 100 shown in FIG1, or to a part thereof, but are not limited thereto.
[0136] The entities shown in Figure 1 are illustrative. The communication system may include all or some of the entities in Figure 1, or it may include other entities outside of Figure 1. The number and form of each entity are arbitrary. The connection relationship between the entities is illustrative. The entities may not be connected to each other or may be connected in any way. The connection may be direct or indirect, wired or wireless.
[0137] The embodiments disclosed herein can be applied to Long Term Evolution (LTE), LTE-Advanced (LTE-A), LTE-Beyond (LTE-B), SUPER 3G, IMT-Advanced, 4th generation mobile communication system (4G), 5th generation mobile communication system (5G), 5G new radio (NR), Future Radio Access (FRA), New-Radio Access Technology (RAT), New Radio (NR), New radio access (NX), Future generation radio access (FX), Global System for Mobile communications (GSM), CDMA2000, Ultra Mobile Broadband (UMB), IEEE 802.11 (Wi-Fi), IEEE 802.16 (WiMAX), and IEEE 802.20, Ultra-Wideband (UWB), Bluetooth (a registered trademark), Public Land Mobile Network (PLMN) networks, Device-to-Device (D2D) systems, Machine-to-Machine (M2M) systems, Internet of Things (IoT) systems, Vehicle-to-Everything (V2X) systems, systems utilizing other communication processing methods, and next-generation systems built upon them, etc. Furthermore, multiple systems can be combined (e.g., a combination of LTE or LTE-A with 5G).
[0138] In healthcare, AI can be used for disease diagnosis, drug discovery, and patient care. In finance, it can be used for fraud detection, investment strategies, and customer service. In transportation, it can be used for autonomous vehicles and traffic management. In education, it can be used for personalized learning and task management. AI can also be applied to other sectors such as manufacturing, retail, agriculture, and entertainment.
[0139] Training AI models requires massive amounts of labeled audio data, consuming significant storage space. In an audio program, audio presentations include audio program components, audio elements, audio signals, and audio element metadata. Audio program components include a complete main storyline, music and effects, dialogue, or video description; audio elements are categorized as channel-based, object-based, and scene-based.
[0140] Audio data can be described using corresponding metadata, which can include different categories such as static metadata and object metadata. According to the Moving Picture Experts Group (MPEG) standard, static metadata describes the entire scene and is usually immutable; object metadata is available in the OAM decoder module and is typically time-varying. In related technologies, metadata is decoded using a separate OAM decoder. Referring to the tables below, Table 1-1 illustrates the metadata syntax for one type of object metadata in MPEG-H, and Table 1-2 illustrates the metadata value range for object metadata. As shown in Tables 1-1 and 1-2, object metadata types are limited to location information and gain information.
[0141] Table 1-1
[0142] Table 1-2
[0143] AI model training is based on labeled data. If the accuracy of the labeled data is low, the training results will be inaccurate—a "garbage input, garbage output" principle. Similarly, if the data input into the model is of poor quality, the model's output will also be of poor quality. To improve the accuracy of AI models, it is necessary to ensure the accuracy and quality of the labeled data. Label data and metadata have the same meaning, or metadata can serve as labeled data for AI training. Backend AI tasks require a large amount of metadata, thus necessitating methods to ensure its accuracy. Furthermore, the large amount of metadata consumes significant space during bitstream transmission.
[0144] Figure 2a is an interactive schematic diagram illustrating a processing method according to an embodiment of the present disclosure. As shown in Figure 2a, the present disclosure relates to a processing method, which includes:
[0145] In step S2101, the encoding device 101 determines the quantization threshold of the metadata based on the precision threshold.
[0146] In some embodiments, the precision threshold (delta_task) is used to indicate the compression requirements of the artificial intelligence (AI) task, that is, the precision requirements of the backend AI task for compression encoding. When the precision threshold is met, the accuracy of the input data of the AI model can be guaranteed, thereby ensuring the accuracy of the AI task training.
[0147] In some embodiments, the quantization threshold (delta_metadata), or quantization precision, is used to indicate the compression requirements for metadata during the encoding stage. The encoding device 101 needs to know this value during the encoding process to compress and encode the metadata. The quantization threshold is determined based on the precision threshold, meaning the compression requirements during the encoding stage are adaptively adjusted according to the compression precision required by the backend AI task. The distortion of metadata during encoding and decoding primarily originates from the quantization stage in the encoding process.
[0148] In some embodiments, metadata can be tag data used to describe audio data and can be used for backend AI tasks.
[0149] In some embodiments, the quantization threshold is less than or equal to the precision threshold.
[0150] In some embodiments, for the same AI task scenario, there may be one or more accuracy thresholds.
[0151] In one example, for the same AI task scenario, the application's metadata can have a uniform precision requirement, namely a precision threshold delta_task. For example, the AI task includes a first AI task, and the precision threshold is the precision threshold corresponding to the first AI task.
[0152] For example, referring to the embodiment in Figure 2b below, during the encoding process, the encoding device 101 can segment the audio data and metadata into frames to obtain multiple frames of audio data and multiple frames of metadata. The AI task has a unified precision requirement for the aforementioned multiple frames of metadata; that is, the AI task can have a precision threshold delta_task, and the precision thresholds corresponding to the multiple frames of metadata are the same. For any frame (denoted as the i-th frame) of metadata, the delta_task of the AI task must be satisfied.
[0153] For example, based on the numerical range [a, b] of the metadata, the AI task can have a uniform precision requirement for the metadata within the same numerical range. That is, the AI task can have a precision threshold delta_task, and the metadata within the numerical range [a, b] must meet the delta_task of the AI task. For example, each value in a numerical range has the same precision threshold.
[0154] In another example, for the same AI task scenario, the AI task has different precision requirements for the application's metadata, such as having multiple precision thresholds. For example, the AI task includes at least two first AI tasks, and the precision threshold is the minimum value among the precision thresholds corresponding to the at least two first AI tasks.
[0155] In this example, different values within a numerical range correspond to different precision thresholds. This could mean one precision threshold for each value, or a group or subset of values corresponding to a single precision threshold. For instance, the numerical range [a, b] comprises multiple segments, each with a different precision threshold. The numerical range is segmented based on data features; that is, multiple segments are obtained by dividing the numerical range based on data features. Therefore, when the metadata value lies in different segments, the precision requirements of the AI task differ, corresponding to different precision thresholds.
[0156] For example, [a, b] includes two segments [a, c1) and [c1, b], where a < c1 < b. When the metadata value is in [a, c1), the precision threshold is delta_AI_s1; when the metadata value is in [c1, b], the precision threshold is delta_AI_s2. As another example, [a, b] includes more than two segments, each corresponding to a precision threshold, as detailed in the following embodiments.
[0157] In some embodiments, for scenarios with multiple AI tasks, each AI task may have one or more accuracy thresholds. Optionally, in scenarios with multiple AI tasks, each AI task may refer to the implementation method described above for a single AI task scenario.
[0158] In some embodiments, for an AI task, the quantization threshold is less than or equal to the precision threshold. For example, if an AI task corresponds to a precision threshold, the determined quantization threshold can satisfy: delta_metadata ≤ delta_task.
[0159] Alternatively, for multiple AI tasks, the quantization threshold can be less than or equal to the minimum of the accuracy thresholds corresponding to the multiple AI tasks, where the accuracy thresholds for different AI tasks may be the same or different. For example, for two AI tasks, task T1 and task T2, both tasks use the same metadata A. The accuracy requirement of task T1 for metadata A, i.e., the accuracy threshold of task T1, is delta_AI_T1, and the accuracy requirement of task T2 for metadata A, i.e., the accuracy threshold of task T2, is delta_AI_T2, and delta_AI_T1 ≠ delta_AI_T2. Then, the quantization threshold of metadata A can be min(delta_AI_T1, delta_AI_T2).
[0160] Optionally, "quantization threshold less than precision threshold" means that the quantization threshold is numerically smaller than the precision threshold, and a smaller value indicates a higher precision requirement.
[0161] In some embodiments, in a single AI task, if the numerical range mentioned in the foregoing embodiments is involved, the encoding device 101 may optionally determine the quantization threshold of the metadata within the numerical range based on the numerical range and precision threshold of the metadata value.
[0162] Alternatively, in a single AI task, if it involves segments of a numerical range, since each segment corresponds to a precision threshold, a corresponding quantization threshold will also be determined for that segment. Optionally, the encoding device 101 can determine the quantization threshold of the segment where the metadata is located based on the precision threshold corresponding to the segment where the metadata is located.
[0163] In some embodiments, when metadata is applied to multiple AI tasks simultaneously, such as at least two first AI tasks, the quantization thresholds corresponding to the metadata under multiple AI tasks, such as at least two first AI tasks, are the same; for example, the quantization thresholds are all min(delta_AI_T1, delta_AI_T2). Alternatively, when metadata is applied to at least two first AI tasks respectively, the quantization thresholds corresponding to the metadata under multiple AI tasks, such as at least two first AI tasks, are different; for example, the quantization threshold of the metadata under each AI task is determined based on the method of the above embodiments.
[0164] In step S2102, the encoding device 101 compresses and encodes the metadata of the audio data according to the quantization threshold to obtain encoded metadata.
[0165] In some embodiments, after determining the quantization threshold, the encoding device 101 needs to perform compression encoding according to the quantization threshold during the compression encoding process.
[0166] In some embodiments, the distortion generated by the compression encoding of metadata is less than or equal to the quantization threshold corresponding to the metadata, that is, the value of the distortion is less than the value of the quantization threshold, but the smaller the value of the distortion, the higher the compression accuracy.
[0167] Optionally, for a single AI task, if the metadata is framed, the distortion generated by each frame of metadata should be less than or equal to the quantization threshold corresponding to the metadata.
[0168] As shown in the first example, referring to Figures 1, 2b, and 2c, before compression encoding, the original audio data (Audio_origin) and original metadata (Metadata_origin) can be framing in the preprocessing stage of the encoding device 101. Adjacent frames have a certain overlap, for example, overlap = 50%. Metadata data does not require overlap. After framing, the number of frames for audio data and metadata can be the same, as shown in Figure 2b; or they can be different, such as the number of audio data frames exceeding the number of metadata frames, with multiple audio data frames corresponding to one metadata frame, as shown in Figure 2c.
[0169] For the metadata (metadata_origin_f1) of the first frame (frame1, f1) after framing, the distortion of the encoded and decoded metadata is denoted as delta_compression_f1; where delta_compression_f1 = metadata_origin_f1 - metadata_decoded_f1; for the metadata (metadata_origin_f2) of the second frame (frame2, f2), the distortion of the encoded and decoded metadata is denoted as delta_compression_f2; where delta_compression_f2 = metadata_origin_f2 - metadata_decoded_f2; and so on, for the metadata (metadata_origin_fi) of the i-th frame (framei, fi), the distortion of the encoded and decoded metadata is denoted as delta_compression_fi; where delta_compression_fi = metadata_origin_fi - metadata_decoded_fi.
[0170] In this example, when the precision requirement of the backend AI task for metadata, i.e., the precision threshold delta_task, is known, the encoding device 102 needs to refer to this precision threshold when compressing and encoding the metadata. Taking the quantization threshold of the metadata being equal to the precision threshold of the AI task as an example, in order to meet the precision requirement of the backend AI task, for any frame (such as the i-th frame), the following condition must be met: distortion delta_compression_fi ≤ delta_task, where i is an integer greater than or equal to 1.
[0171] Alternatively, in the second example, referring to Figures 2b to 2d, assuming the backend AI task is an audio event-based localization task, the training of the AI model requires metadata related to the sound source location. The location can be represented using the polar coordinate system (r, θ, φ) shown in Figure 2c, where r represents the radial distance and θ represents the polar angle. Represents the azimuth angle.
[0172] In this example, r, θ, and φ are three labels for the audio event localization task. r, θ, and φ are typically compressed in the metadata section when encoded and compressed together with the Pulse Code Modulation (PCM) recording data by encoding device 101. Assume the accuracy requirements, i.e., accuracy thresholds, for r, θ, and φ in the audio event localization AI task are denoted as delta_task_r, delta_task_θ, and delta_task_φ, respectively. Then, for any frame (e.g., the i-th frame), the distortion after compression encoding of r, θ, and φ is denoted as delta_compression_r, delta_compression_θ, and delta_compression_φ, respectively. Again, assuming the quantization threshold of the metadata equals the accuracy threshold of the AI task, the distortion after compression encoding of r, θ, and φ for any frame must satisfy:
[0173] delta_compression_r_fi≤delta_task_r;
[0174] delta_compression_θ_fi≤delta_task_θ;
[0175] delta_compression_φ_fi ≤ delta_task_φ.
[0176] Optionally, for a single AI task, if it involves the numerical range of metadata, the distortion of the metadata within that numerical range should be less than or equal to the quantization threshold corresponding to that numerical range.
[0177] In the third example, assume that the back-end AI task has a consistent precision requirement for metadata within the same numerical range [a, b], that is, one numerical range corresponds to one precision threshold (denoted as delta_AI for example). For a certain metadata metadata A, the value of A is within the range [a, b], where a < b. Still taking the example that the quantization threshold of the metadata within this numerical range is equal to the precision threshold of the AI task, the distortion degree of metadata A after compression encoding should be ≤ delta_AI.
[0178] It should be noted that any metadata can undergo frame division operations during the compression encoding process. As described in the above example, when frame division is involved, the distortion degree of each frame should meet the compression precision requirements. Referring to the description of the above embodiments, the distortion requirements in the case of frame division will not be elaborated in this embodiment and the following embodiments.
[0179] Optionally, for a single AI task, if there is segmentation of the numerical range where the metadata is located, the distortion degree of the metadata located in any segment should be less than or equal to the quantization threshold corresponding to that segment.
[0180] In the fourth example, the numerical range [a, b] is divided into two segments based on different features. The two segments can respectively correspond to near field and far field, or respectively correspond to low frequency and high frequency, or respectively correspond to positive and negative values. The precision requirements of the back-end AI task for the metadata are also divided into two segments based on the numerical range, that is, each segment has a corresponding precision threshold.
[0181] In this example, assume that there is at least one c1, and the numerical range [a, b] is divided into at least two segments [a, c1) and [c1, b], where c1 > a and at the same time c1 < b. The precision threshold of the back-end AI task in the [a, c1) segment is denoted as delta_AI_s1, and the precision threshold in the [c1, b] segment is denoted as delta_AI_s2, where delta_AI_s1 ≠ delta_AI_s2. For example, the numerical range is [20, 20000] Hz. Based on the high and low frequency classification, this numerical range can be divided into two segments. One segment corresponds to low frequency, such as [20, 8000) Hz, and the other segment corresponds to high frequency, such as [8000, 20000] Hz. The two segments correspond to different precision thresholds.
[0182] In this example, the value of metadata A may be located in the segment [a, c1) or in [c1, b]. The distortion degree during the encoding and decoding process should meet the precision requirements within the corresponding segment. For example, if A is located in the segment [a, c1), taking the example that the quantization threshold of the metadata within this segment is equal to the precision threshold of the AI task in this segment, the distortion degree of metadata A should meet ≤ delta_AI_s1.
[0183] Alternatively, in the fifth example, the numerical range [a, b] is divided into more than two segments based on different features. For example, the numerical range can be segmented based on different frequency bands such as low frequency, medium-low frequency, medium frequency, medium-high frequency, or high frequency. Each segment has a corresponding precision threshold.
[0184] In this example, assume that there are N cs that divide the numerical range [a, b] into at least N segments such as [a, c[0]), [c[0], c[1]) … [c[N-1], b], where c[i]>a, c[i]<b, c[i]<c[i + 1], 0 ≤ i < N. Each segment has a corresponding precision threshold. For example, the precision threshold for the segment [a, c[0]) is delta_AI_s1, the precision threshold for the segment [c[0], c[1]) is delta_AI_s2, and the precision requirement for the segment [c[N-1], b] is delta_AI_sN. Among them, delta_AI_s[i] ≠ delta_AI_s[i + 1].
[0185] In this example, the value of metadata A may be in any segment, and the distortion during the encoding and decoding process should meet the precision requirements within the corresponding segment. For example, if A is in the segment [a, c[0]), taking the quantization threshold of the metadata within this segment being equal to the precision threshold of the AI task in this segment as an example, the distortion of metadata A should satisfy ≤ delta_AI_s1.
[0186] Optionally, for multiple AI tasks, each AI task can refer to the implementation method of the above single AI task.
[0187] As in the sixth example, for multiple AI tasks, such as task T1 and task T2, if metadata A can be used simultaneously in these multiple tasks such as task T1 and task T2 after encoding and decoding, the precision threshold of task T1 is delta_AI_T1, the precision threshold of task T2 is delta_AI_T2, and delta_AI_T1 ≠ delta_AI_T2. Combining the description of the foregoing embodiments, the quantization threshold of metadata A can be the minimum of the precision thresholds of the two tasks, that is, the compression precision of metadata A = min(delta_AI_T1, delta_AI_T2), then the distortion of metadata A during the encoding and decoding process should be less than or equal to its quantization threshold.
[0188] In this example, if the numerical range is divided into different segments, and each AI task has a different precision threshold in each segment, then a quantization threshold can be determined for each segment. The distortion of metadata A in that segment should be less than or equal to the quantization threshold of that segment. For example, if metadata A is in the i-th segment, and the quantization threshold of metadata A[i] = min(delta_AI_T1_s[i], delta_AI_T2_s[i]), then the distortion of metadata A in encoding and decoding in that segment should be less than or equal to min(delta_AI_T1_s[i], delta_AI_T2_s[i]).
[0189] In this example, when metadata is used for multiple backend tasks, the quantization threshold of metadata A can be determined based on the minimum of the precision thresholds of multiple tasks, that is, compression encoding is performed based on the highest precision requirement.
[0190] Alternatively, in the seventh example, for multiple AI tasks, such as task T1 and task T2, metadata A can be used for each of these AI tasks separately. The precision threshold for each AI task can be found in the previous example. The quantization threshold for the metadata under each task can be determined based on its precision threshold.
[0191] For example, in scenarios involving segmentation of numerical ranges, the segmented compression algorithm function func for metadata A takes the segment number i (the segment number represents the interval or segment of the numerical range in which metadata A is located) and the quantization threshold delta_AI[i]' of the segment as input parameters of func, and outputs the encoded and compressed data, i.e. func(segment number, quantization threshold within segment) = func(i, delta_AI[i]').
[0192] In the sixth and seventh examples above, the compression encoding algorithm of the encoding device 101 for metadata is adaptive to the AI task. For example, for a certain AI task, the encoding device 101 only needs to determine the segment number of the numerical range where the metadata is located and the quantization threshold within that segment to compress it in accordance with the requirements of the AI task.
[0193] In some embodiments, the encoding device 101 may add flags as needed during the compression encoding process. For example, in scenarios involving numerical range segmentation, the encoding device 101 may add flags.
[0194] Optionally, the encoded metadata includes an identifier, which indicates the segment where the metadata resides. The encoding device 101 can compress the identifier along with the metadata, using different identifier values to indicate the segment within the numerical range of the metadata value. For example, if the encoded metadata is denoted as val_enc and the identifier as flags, the bitstream transmission format could be: |flags|val_enc|.
[0195] In one example, the numerical range [a, b] is divided into two segments [a, c1) and [c1, b], as mentioned above. When flags = 0, it means that metadata A is in the first segment [a, c1); when flags = 1, it means that metadata A is in the second segment [c1, b].
[0196] In step S2103, the encoding device 101 determines the minimum number of bits required to encode the metadata based on the precision threshold.
[0197] In some embodiments, the encoding device 101 may determine the representation form of the metadata after compression encoding based on a precision threshold, in order to use the fewest bits for transmission, thereby saving the bits and storage space occupied by a large amount of data in training or application scenarios.
[0198] In some embodiments, this step can be used to determine the bits occupied by the encoded metadata after encoding and compression, i.e., the encoded metadata obtained after preprocessing such as framing and compression of metadata based on a quantization threshold.
[0199] In some embodiments, in conjunction with the third example above, in scenarios where the AI task has consistent precision requirements for metadata within the same numerical range [a, b], i.e., the same numerical range [a, b] corresponds to the same precision threshold, taking the quantization threshold of the metadata within this numerical range as equal to the precision threshold of the AI task as an example, the minimum number of bits len occupied by the encoded metadata after compression and encoding in this scenario satisfies: len = ceil(log2{(ba) / delta}), where ceil represents rounding up, a represents the minimum value of the numerical range, b represents the maximum value of the numerical range, and delta represents the same precision threshold corresponding to the numerical range.
[0200] In the eighth example, the precision requirement, or precision threshold, for metadata A by the AI task is denoted as delta_AI. Using a uniform linear quantization algorithm to compress A, the minimum number of distinct representations required, num, is: num = (ba) / delta_AI, where num represents the number or types of possibilities that need to be expressed or represented. Therefore, the minimum number of bits required to fully represent num is len = ceil(Log2num). For example, in the three-dimensional coordinate system of the aforementioned embodiment, the range of the metadata azimuth angle θ is [-180°, 180°]. The precision requirement, or precision threshold, for the azimuth angle θ by the AI task is 1°. Therefore, the minimum number of representations required is num = (180 - (-180)) / 1 = 360 representations, len = ceil(Log2360) = ceil(8.49) = 9, where a = -180°, b = 180°, and delta_AI = 1°.
[0201] In some embodiments, when the numerical range [a, b] can be divided into multiple segments, different segments have different precision thresholds. Taking the quantization threshold of the segment where the metadata is located as equal to the precision threshold of the AI task as an example, in this scenario, the minimum number of bits len occupied by the encoded metadata after compression and encoding satisfies: len=ceil(log2{(mn) / deltaN}), where ceil means rounding up, m represents the minimum value of the Nth segment where the metadata is located, n represents the maximum value of the Nth segment, deltaN represents the precision threshold corresponding to the Nth segment, and m≥a, n≤b.
[0202] Optionally, to facilitate accurate decoding and recovery at the decoding end, a flag can be added during the encoding process.
[0203] Optionally, to facilitate accurate decoding and recovery at the decoding end, a segment offset value corresponding to each segment can be introduced. Each segment offset value is used to indicate the starting position of the segment corresponding to that segment offset value. Here, the offset and the segment can be in one-to-one correspondence. For example, each segment has a corresponding offset, and the offset corresponding to the first segment can be 0; or the first segment does not have an offset set. For example, when the numerical range is divided into two segments, the segment offset value is recorded as offset[2] = {0, c1}, where 2 can represent the segment and indicate the number of segment offset values.
[0204] In the ninth example, combined with the fourth example mentioned above, the numerical range [a, b] is divided into two segments: [a, c1) and [c1, b]. The precision threshold of the backend AI task in the [a, c1) segment is denoted as delta_AI_s1, and the precision threshold in the [c1, b] segment is denoted as delta_AI_s2, where delta_AI_s1 ≠ delta_AI_s2, or the precision thresholds of the two segments can be denoted as delta_AI[2]={delta_AI_s1,delta_AI_s2}.
[0205] In this example, in the segment [a, c1), at least num1 representations are needed, where num1 = (c1 - a) / delta_AI_s1. The number of bits required to represent num1 is len1 = ceil(Log2num1). In the segment [c1, b], at least num2 representations are needed, where num2 = (b – c1) / delta_AI_s2. The number of bits required to represent num2 is len2 = ceil(Log2num2). The bit lengths of different segments can be different, i.e., num1 ≠ num2.
[0206] In this example, encoding device 101 can use flags to identify the segment where the value of metadata A is located. For example, when flags=0, the value of metadata A is in the first segment. When flags=1, the value of metadata A is in the second segment. The bitstream transmission format of the encoded metadata after adding the flag is: |flags|val_enc|, where val_enc represents the value of metadata A after compression (i.e., encoded metadata) transmitted in the bitstream. The segment offset value can be offset[2]={0, c1}.
[0207] For example, the value of the metadata Frequency is within the numerical range [20, 20000] Hz. This numerical range can be divided into two segments, such as low frequency [20, 8000) Hz and high frequency [8000, 20000] Hz. The precision threshold of the AI task corresponding to the low frequency [20, 8000) Hz is delta_LF = 1 Hz, and the precision threshold of the AI task corresponding to the high frequency [8000, 20000] Hz is delta_HF = 2 Hz, that is, delta_task[2] = {1, 2}. Then: in the low frequency segment, at least (8000-20) / 1 = 7980 representations are needed, and the number of bits required for the representation len1 is: len1 = ceil(Log27980) = ceil(12.962) = 13. In high-frequency segmentation, at least (20000-8000) / 2 = 8000 representations are needed, and the minimum number of bits required, len2, is: len2 = ceil(Log28000) = ceil(12.965) = 13. The bit length can be different for different segments.
[0208] If flags are needed to identify the segment where the metadata is located, the bitstream transmission format of the encoded metadata can be: |flags|val_enc|. Assume that a segment offset value offset[2] is introduced = {0, 8000}. If the metadata value is 30.5Hz, flags = 0, val_enc = 30; if the metadata value is 8081Hz, flags = 1, val_enc = (8081-8000) / 2 = 40, and the 2 in "(8081-8000) / 2" represents the precision threshold of the segment, i.e., the quantization step size.
[0209] In the tenth example, combined with the fifth example mentioned above, the numerical range [a, b] is divided into two or more segments, such as [a, c[0]), [c[0], c[1]), ... [c[N-1], b], etc., N segments, each segment has a corresponding precision threshold, such as delta_AI[N] = {delta_AI_s1, delta_AI_s2, ... delta_AI_sN}.
[0210] In this example, in the segment [a, c[0]), at least num1 representations are needed, where num1 = (c[0] - a) / delta_AI_s1. The number of bits required to represent num1 is len1 = ceil(Log2num1). In the segment [c[0], c[1]), at least num2 representations are needed, where num2 = (c[1] – c[0]) / delta_AI_s2. The number of bits required to represent num2 is len2 = ceil(Log2num2). In the segment [c[N-1], b], at least numN representations are needed, where numN = (b – c[N-1]) / delta_AI_sN. The number of bits required to represent numN is lenN = ceil(Log2numN). And so on. The bit length of different segments can be different, that is, num(i) ≠ num(i+1).
[0211] If flags are needed to identify the segment where the metadata is located, for example, when flags=0, the value of metadata A is in the first segment. When flags=1, the value of metadata A is in the second segment. When flags=N-1, the value of metadata A is in the Nth segment. The bitstream transmission format of encoded metadata can be: |flags|val_enc|, where val_enc represents the value of the encoded metadata A after compression in the bitstream. The segment offset value offset[N] = {0, c[0], c[1], ..., c[N-1]}.
[0212] In step S2104, the encoding device 101 sends the compressed and encoded metadata to the decoding device 102.
[0213] In some embodiments, the encoding device 101 can send both the compressed and encoded audio data and metadata to the decoding device 102.
[0214] In some embodiments, the decoding device 102 receives encoded metadata.
[0215] In step S2105, the decoding device 102 decodes the encoded metadata to obtain the decoded metadata.
[0216] In some embodiments, the decoding device 102 decodes the encoded metadata based on a decoding algorithm corresponding to the encoding algorithm to obtain the decoded metadata.
[0217] In some embodiments, in scenarios involving numerical range segmentation, the decoding device 102 can decode the encoded metadata based on the segment where the metadata is located and the corresponding decoding algorithm to obtain the decoded metadata. For example, the decoding device 102 determines the segment where the metadata is located based on the flag. Furthermore, the decoding device 102 can consider the segment offset value during decoding recovery; for example, it can determine the starting position of the corresponding segment based on the offset value.
[0218] Optionally, the decoding device 102 can decode the encoded metadata to obtain the identifier flag, determine the segment where the metadata is located based on the flag, wherein the encoded metadata includes the identifier and the compressed encoded metadata; and then obtain the decoded metadata based on the segment offset value corresponding to the segment, the precision threshold corresponding to the segment, and the compressed encoded metadata.
[0219] For example, decoded metadata = F * offsetN + A * deltaN, where F represents the value of the identifier, offsetN represents the offset corresponding to the Nth segment where the metadata is located, A represents the encoded metadata corresponding to the metadata or the value of the encoded metadata transmitted in the bitstream, and deltaN represents the precision threshold corresponding to the Nth segment. In this embodiment, the quantization threshold and precision threshold of the metadata are still taken as an example.
[0220] In one example, if the decoding end knows offset[N], delta_AI[N], and the transmission format of the bitstream |flags|val_enc|, then:
[0221] (1) Parse the flags and val_enc fields from the bitstream. The flags field provides information about the segment where the metadata value is located.
[0222] (2) Calculate the segment offset value offset[flags] or offset[flags'] based on the value of the flags field. There is a unique mapping relationship between flags' and flags. The encoding precision requirement delta_AI[flags] or delta_AI[flags'] can also be determined based on the value of the flags field. The representation of offset[flags] is only for illustration and is used to indicate that the corresponding offset can be determined based on the flags. For example, if the value of the flags field can indicate the segment where the metadata is located, then the offset corresponding to the segment where the metadata is located can be determined based on the value of the flags field. Other methods can also be used to represent it as mentioned above, such as offset[N].
[0223] (3) The decoded metadata_dec is calculated according to the following formula:
[0224] metadata_dec=(flags>0)*offset[flags]+val_enc*delta_AI[flags].
[0225] In one example, combining with the aforementioned ninth example, the decoded metadata_dec after decoding is as follows: metadata_dec = (flags>0)*offset[flags] + val_enc*delta_AI[flags]. For example, if the above numerical range [20, 20000] Hz is divided into two segments: a low-frequency segment [20, 8000) Hz and a high-frequency segment [8000, 20000] Hz, the decoded metadata_dec is as follows:
[0226] metadata_dec=(flag>0)*offset(flag)+val_enc*delta_AI(flag),
[0227] If metadata=30, metadata_dec=(0>0)*offset(0)+30*delta_AI(0)=30;
[0228] If metadata=8081, metadata_dec=(1>0)*offset(1)+40*delta_AI(1)=8000+40*2=8080.
[0229] In another example, combined with the aforementioned tenth example, the decoded metadata_dec after decoding recovery is as follows: metadata_dec = (flags>0)*offset[flags] + val_enc*delta_AI[flags].
[0230] In some embodiments, the encoding device 101 may also send encoded audio data to the decoding device 102, and the decoding device 103 may decode the encoded audio data to obtain decoded audio data.
[0231] In step S2106, the decoding device 102 sends decoding metadata to the backend device 103.
[0232] In some embodiments, the backend device 103 receives decoded metadata.
[0233] In some embodiments, the backend device 103 may use the decoded metadata for the training or application phase of the AI model.
[0234] In some embodiments, the decoding device 102 may also send decoded audio data to the backend device 103 for training or application of the AI model.
[0235] In some embodiments, the names of information, etc., are not limited to the names described in the embodiments. Terms such as "information", "message", "signal", "signaling", "report", "configuration", "indication", "instruction", "command", "channel", "parameter", "domain", and "field" can be used interchangeably.
[0236] In some embodiments, “get,” “obtain,” “receive,” “transmit,” “bidirectional transmission,” and “send and / or receive” can be used interchangeably and can be interpreted as receiving from other entities, obtaining from protocols, obtaining from higher layers, obtaining through self-processing, or autonomous implementation, among other meanings.
[0237] In some embodiments, terms such as “send,” “transmit,” “report,” “distribute,” “transfer,” “bidirectional transmission,” “send and / or receive” can be used interchangeably.
[0238] In some embodiments, the terms “radio”, “wireless”, “radio access network (RAN)”, “access network (AN)”, and “RAN-based” can be used interchangeably.
[0239] In some embodiments, terms such as “moment,” “point in time,” “time,” and “time location” can be used interchangeably, as can terms such as “duration,” “segment,” “time window,” “window,” and “time.”
[0240] In some embodiments, the terms "component carrier (CC)," "cell," "frequency carrier," and "carrier frequency" can be used interchangeably.
[0241] In some embodiments, terms such as "certain," "preset," "default," "set," "indicated," "a certain," "any," and "first" can be used interchangeably. "Certain A," "preset A," "default A," "set A," "indicated A," "a certain A," "any A," and "first A" can be interpreted as A pre-defined in a protocol or the like, or as A obtained through setting, configuration, or instruction, or as specific A, a certain A, any A, or first A, but are not limited thereto.
[0242] In some embodiments, the determination or judgment can be made by a value represented by 1 bit (0 or 1), or by a true or false value (boolean), or by a comparison of numerical values (e.g., a comparison with a predetermined value), but is not limited thereto.
[0243] In some embodiments, "not expecting to receive" can be interpreted as not receiving on time domain resources and / or frequency domain resources, or as not performing subsequent processing on the data after receiving it; "not expecting to send" can be interpreted as not sending, or as sending but not expecting the receiver to respond to the sent content.
[0244] The method involved in the embodiments of this disclosure may include at least one of steps S2101 to S2106.
[0245] In some embodiments, other alternative implementations may be described before or after the specification corresponding to FIG2a.
[0246] This disclosure provides a processing method that can improve the accuracy of metadata during encoding and decoding, thereby improving the accuracy of backend AI tasks. Simultaneously, compression encoding can reduce the space occupied by metadata and improve transmission efficiency. Furthermore, adaptive compression of audio and tag data according to the requirements of the AI task can significantly improve storage efficiency.
[0247] Figure 3 is a flowchart illustrating a processing method according to an embodiment of the present disclosure. As shown in Figure 3, this embodiment of the present disclosure relates to a processing method executed by an encoding device 101, the method comprising:
[0248] Step S3101: Determine the quantization threshold of metadata based on the precision threshold.
[0249] In some embodiments, the implementation of step S3101 can be found in the implementation of step S2101 in FIG2a, and will not be repeated here.
[0250] Step S3102: Based on the quantization threshold, compress and encode the metadata of the audio data to obtain encoded metadata.
[0251] In some embodiments, the implementation of step S3102 can be found in the implementation of step S2102 in FIG2a, and will not be repeated here.
[0252] Step S3103: Determine the minimum number of bits required to encode metadata based on the precision threshold.
[0253] In some embodiments, the implementation of step S3103 can be found in the implementation of step S2103 in FIG2a, and will not be repeated here.
[0254] Step S3104: Send the compressed and encoded metadata.
[0255] In some embodiments, the implementation of step S3104 can be found in the implementation of step S2104 in FIG2a, and will not be repeated here.
[0256] The method involved in the embodiments of this disclosure may include at least one of steps S3101 to S3104.
[0257] In some embodiments, other optional implementations may be described before or after the specification corresponding to Figure 3.
[0258] Figure 4 is a flowchart illustrating a processing method according to an embodiment of the present disclosure. As shown in Figure 4, this embodiment of the present disclosure relates to a processing method executed by a decoding device 102, the method comprising:
[0259] Step S4101: Receive encoded metadata.
[0260] In some embodiments, the implementation of step S4101 can be found in the implementation of step S2104 in FIG2a, and will not be repeated here.
[0261] Step S4102: Decode the encoded metadata to obtain the decoded metadata.
[0262] In some embodiments, the implementation of step S4102 can be referred to the implementation of step S2105 in FIG2a, and will not be repeated here.
[0263] Step S4103: Send decoded metadata.
[0264] In some embodiments, the implementation of step S4103 can be found in the implementation of step S2106 in FIG2a, and will not be repeated here.
[0265] The method involved in the embodiments of this disclosure may include at least one of steps S4101 to S4103.
[0266] In some embodiments, other optional implementations may be described before or after the specification corresponding to Figure 4.
[0267] Figure 5 is a flowchart illustrating a processing method according to an embodiment of the present disclosure. As shown in Figure 5, this embodiment of the present disclosure relates to a processing method executed by a backend device 103, the method comprising:
[0268] Step S5101: Receive decoded metadata.
[0269] In some embodiments, the implementation of step S5101 can be found in the implementation of step S2106 in FIG2a, and will not be repeated here.
[0270] In some embodiments, other optional implementations described before or after the specification corresponding to Figure 5 may be referred to.
[0271] This disclosure provides a method for adaptively compressing and encoding audio data and tag data according to the requirements of AI tasks, thereby improving the accuracy of AI training or applications. To facilitate understanding of this disclosure, some specific embodiments are listed below:
[0272] Example 1:
[0273] Referring to Figure 1, the original audio data `Audio_origin` is encoded by the encoder to obtain the audio codeword `audio_compressed`, and then decoded by the decoder to obtain the decoded audio data `audio_decoded`. The original metadata `Metadata_origin` (numerical metadata) is encoded by the encoder to obtain the metadata codeword `metadata_compressed`, and then decoded by the decoder to obtain the decoded metadata `metadata_decoded`. The decoded audio data `audio_decoded` and the decoded metadata `metadata_decoded` are used as training data or application data for the AI Task.
[0274] Referring to Figures 2b and 2c, the raw audio data (Audio_origin) and raw metadata (Metadata_origin) undergo frame segmentation during the encoder's preprocessing stage. Adjacent frames have some overlap, for example, overlap = 50%. Metadata does not require overlap; it is time-aligned with the audio data. Distortion in the metadata comes from the quantization stage. The number of audio data frames and metadata data frames can be the same, as shown in Figure 2b. Alternatively, the number of audio data frames can be greater than the number of metadata data frames, as shown in Figure 2c.
[0275] For the first frame, the distortion of the encoded and decoded metadata is delta_compression_f1, where delta_compression_f1 = metadata_origin_f1 - metadata_decoded_f1.
[0276] For the second frame, the distortion of the encoded and decoded metadata is delta_compression_f2, where delta_compression_f2 = metadata_origin_f2 - metadata_decoded_f2.
[0277] For the i-th frame, the distortion of the encoded and decoded metadata is delta_compression_fi, where delta_compression_fi = metadata_origin_fi - metadata_decoded_fi.
[0278] Therefore, when the backend task has a known precision requirement for a certain metadata (such as a precision threshold delta_task), the encoder needs to refer to delta_task when compressing the metadata. In order to meet the precision requirement of the backend task, for any frame, such as the i-th frame, it can be satisfied that: delta_compression_fi ≤ delta_task, where i ≥ 1…N. In this case, the precision threshold can be the same as the quantization threshold or quantization precision of the metadata.
[0279] In one example, if the backend AI task is an audio event localization task, the metadata of the sound source's location is used when training the AI task. If this is represented in polar coordinates (r, θ, φ), as shown in Figure 2d, where r represents the radial distance and θ represents the polar angle, ... Represents the azimuth angle.
[0280] r, θ, and φ are three labels for the audio event localization task. When r, θ, and φ are compressed by audio coding together with the audio PCM data, they are usually compressed in the metadata part. Assume that the precision (i.e., precision threshold) of the audio event localization task for the output r, θ, and φ is delta_task_r, delta_task_θ, and delta_task_φ. Then, for the r, θ, and φ carried in any frame, the distortion degrees after coding and compression, delta_compression_r, delta_compression_θ, and delta_compression_φ, should satisfy:
[0281] delta_compression_r_fi ≤ delta_task_r;
[0282] delta_compression_θ_fi ≤ delta_task_θ;
[0283] delta_compression_φ_fi ≤ delta_task_φ.
[0284] In this embodiment, the minimum number of bits used when designing the compressed representation form of the metadata is determined according to the precision threshold delta of the backend AI task. For details, refer to the description of the following embodiments.
[0285] Embodiment 2:
[0286] This embodiment is applicable to the case where the precision requirement (i.e., precision threshold) of the backend AI task for metadata A is consistent throughout the range.
[0287] For a certain metadata A, the value range of A is [a, b], where a < b. The precision requirement of the backend AI task for A is delta_AI.
[0288] If the uniform linear quantization algorithm is used to compress A, then the minimum number of different representation quantities num required is:
[0289] num = (b - a) / delta_AI, and the minimum number of bits len required to completely represent num is len = ceil(Log2num).
[0290] For example, the azimuth angle θ in a three-dimensional coordinate system ranges from -180° to 180°. If the backend task requires an accuracy of 1° for the azimuth angle θ, then the minimum number of representations needed is num = (180 - (-180)) / 1 = 360, and the minimum number of bits needed is len = ceil(Log2360) = ceil(8.49) = 9, where a = -180°, b = 180°, and delta_AI = 1°.
[0291] Example 3:
[0292] This embodiment applies to situations where the accuracy requirement (i.e., accuracy threshold) of metadata A for the backend AI task is divided into two segments across the entire range. The two segments can correspond to the near field and far field, low frequency and high frequency, or positive and negative values.
[0293] For a certain metadata A, the range of values of A is [a, b]. There exists at least one c1, which divides the range of values of A into at least two segments: [a, c1) and [c1, b]. The first segment [a, c1) and the second segment [c1, b] use different quantization precisions. Where c1 > a, and c1
[0294] The backend task requires a precision of delta_AI_s1 for the [a, c1) segment of metadata A, and a precision of delta_AI_s2 for the [c1, b] segment of metadata A. Where delta_AI_s1 ≠ delta_AI_s2.
[0295] In the segment [a, c1), at least num1 representations are needed, where num1 = (c1 - a) / delta_AI_s1; the number of bits required to represent num1 is len1 = ceil(Log2num1). In the segment [c1, b], at least num2 representations are needed, where num2 = (b – c1) / delta_AI_s2; the number of bits required to represent num2 is len2 = ceil(Log2num2).
[0296] Additionally, flags are needed to identify the segment in which the value of metadata A belongs. Different segments can have different bit lengths, i.e., num1 ≠ num2. For example, when flags = 0, the value of metadata A is in the first segment. When flags = 1, the value of metadata A is in the second segment.
[0297] Assuming the bitstream transmission format is |flags|val_enc|, where val_enc represents the value transmitted in the bitstream after metadata A is compressed. The segment offset values are offset[2] = {0, c1} and delta_AI[2] = {delta_AI_s1, delta_AI_s2}.
[0298] In this embodiment, the decoded and recovered metadata_dec is as follows: metadata_dec = (flags>0)*offset[flags] + val_enc*delta_AI[flags].
[0299] For a practical example, the metadata frequency range is [20, 20000] Hz. The backend task requires a precision of delta_LF = 1 Hz for low frequencies (where 20 Hz ≤ Frequency < 8000 Hz); and a precision requirement of delta_HF = 2 Hz for high frequencies (where 8000 Hz ≤ Frequency < 20000 Hz).
[0300] In the low-frequency band, at least (8000-20) / 1 = 7980 representations are needed, and the minimum number of bits required is: ceil(Log27980) = ceil(12.962) = 13. In the high-frequency band, at least (20000-8000) / 2 = 8000 representations are needed, and the minimum number of bits required is: ceil(Log28000) = ceil(12.965) = 13.
[0301] Flags are needed to identify which segment. Different segments can have different bit lengths.
[0302] The bitstream transmission format is |flags|val_enc|, offset[2] = {0, 8000}, delta_task[2] = {1, 2}; according to the previous example, if the value of metadata is 30.5Hz, flags = 0, val_enc = 30; if the value of metadata is 8081Hz, flags = 1, val_enc = (8081-8000) / 2 = 40.
[0303] The decoded and recovered metadata_dec is as follows:
[0304] metadata_dec=(flag>0)*offset(flag)+val_enc*delta_AI(flag),
[0305] If metadata = 30, then metadata_dec = (0>0)*offset(0) + 30*delta_AI(0) = 30.
[0306] If metadata = 8081, metadata_dec = (1>0)*offset(1)+40*delta_AI(1) = 8000+40*2 = 8080.
[0307] Example 4:
[0308] This embodiment applies to situations where the backend AI task's accuracy requirement (i.e., accuracy threshold) for metadata A is divided into multiple segments based on a certain classification method, and each segment can be trained using different algorithms. In this case, the range of metadata A values can be divided into multiple segments, each quantized with different quantization precisions. These multiple segments can correspond to different frequency bands (low frequency, low-mid frequency, mid frequency, mid-high frequency, or high frequency).
[0309] For a given metadata A, the range of values for A is [a, b]. There are N c[N]. Divide the range of values for A into at least N segments: [a, c[0]), [c[0], c[1]), ..., [c[N-1], b]. Each segment uses a different quantization precision. Where c[i] > a, c[i] > b. <b,c[i]<c[i+1],i≥0,i<N。
[0310] The backend task requires a precision of delta_AI_s1 for the [a, c[0]) segment of metadata A. The backend task requires a precision of delta_AI_s2 for the [c[0], c[1]) segment of metadata A. And so on... The backend task requires a precision of delta_AI_sN for the [c[N-1], b] segment of metadata A. Where delta_AI_s[i] ≠ delta_AI_s[i+1].
[0311] In the segment [a, c[0]), at least num1 representations are needed, where num1 = (c[0] - a) / delta_AI_s1, and the number of bits required to represent num1 is len1 = ceil(Log2num1). In the segment [c[0], c[1]), at least num2 representations are needed, where num2 = (c[1] – c[0]) / delta_AI_s2, and the number of bits required to represent num2 is len2 = ceil(Log2num2). And so on... In the segment [c[N-1], b], at least numN representations are needed, where numN = (b – c[N-1]) / delta_AI_sN, and the number of bits required to represent numN is lenN = ceil(Log2numN).
[0312] Additionally, flags are needed to identify the segment in which the value of metadata A belongs. Different segments can have different bit lengths, i.e., num(i) ≠ num(i+1). For example, when flags = 0, the value of metadata A is in the first segment. When flags = 1, the value of metadata A is in the second segment. When flags = N-1, the value of metadata A is in the Nth segment.
[0313] Assuming the bitstream transmission format is |flags|val_enc|, where val_enc represents the value transmitted in the bitstream after compression of metadata A. The segment offset values are offset[N] = {0, c[0], c[1], ..., c[N-1]}, and the encoding precision requirement is delta_AI[N] = {delta_AI_s1, delta_AI_s2, ..., delta_AI_sN}.
[0314] The decoding and recovery steps are as follows:
[0315] Given offset[N], delta_AI[N], and the transmission format of the bitstream |flags|val_enc|, then:
[0316] (1) Parse the flags and val_enc fields from the bitstream. The flags field provides information about the segment where the metadata value is located.
[0317] (2) Calculate the segment offset value offset[flags] and the encoding precision requirement delta_AI[flags] based on the value of the flags field;
[0318] (3) The decoded metadata_dec is calculated according to the following formula:
[0319] metadata_dec=(flags>0)*offset[flags]+val_enc*delta_AI[flags].
[0320] Example 5:
[0321] For multiple backend AI tasks, such as task T1 and task T2, both tasks T1 and T2 use metadata A. The precision requirement (i.e., precision threshold) of the metadata for task T1 is delta_AI_T1, and the precision requirement (i.e., precision threshold) of the metadata for task T2 is delta_AI_T2, where delta_AI_T1 ≠ delta_AI_T2.
[0322] Application Scenario 1: Metadata A-encoded and compressed, then used in both T1 and T2.
[0323] For scenario one, the quantization precision (or quantization threshold) of metadata A is the minimum of the precision requirements of tasks T1 and T2 (the smaller value indicates higher precision), i.e., the quantization precision of metadata A = min(delta_AI_T1, delta_AI_T2). If each segment of tasks T1 and T2 has a different quantization precision, the quantization precision[i] of metadata A = min(delta_AI_T1_s[i], delta_AI_T2_s[i]), where i represents the i-th segment.
[0324] Application Scenario 2: Metadata A encoding is compressed separately and used in T1 and T2 respectively.
[0325] For scenario two, the quantization precision of metadata A is determined based on the precision requirements of each task. For the segmented compression algorithm func of metadata A, the segment number i and the precision requirement (i.e., precision threshold) delta_AI[i] of the segment are used as input parameters of func, i.e., func(segment number, segment precision requirement) = func(i, delta_AI[i]).
[0326] In this embodiment, the following condition is met:
[0327] (1) The compression algorithm for metadata is adaptive. That is, for a certain AI task, as long as the segment number (the segment number represents a certain interval of the values of metadata A) and the segment quantization precision are determined, compression can be performed adaptively.
[0328] (2) When metadata is used for multiple backend tasks, the quantization precision of metadata A is the minimum of the precision of multiple tasks (i.e., the highest precision value).
[0329] This disclosure also provides an apparatus for implementing any of the above methods. For example, an apparatus is provided that includes units or modules for implementing the steps performed by the terminal in any of the above methods. Alternatively, another apparatus is provided that includes units or modules for implementing the steps performed by a network device (e.g., an access network device, a core network functional node, a core network device, etc.) in any of the above methods.
[0330] It should be understood that the division of units or modules in the above device is only a logical functional division. In actual implementation, they can be fully or partially integrated into a single physical entity, or they can be physically separated. Furthermore, the units or modules in the device can be implemented by a processor calling software: for example, the device includes a processor connected to a memory containing instructions. The processor calls the instructions stored in the memory to implement any of the above methods or to implement the functions of the units or modules in the above device. The processor can be, for example, a general-purpose processor, such as a Central Processing Unit (CPU) or a microprocessor, and the memory can be internal or external to the device. Alternatively, the units or modules in the device can be implemented in the form of hardware circuits. The functionality of some or all of the units or modules can be achieved through the design of these hardware circuits, which can be understood as one or more processors. For example, in one implementation, the hardware circuit is an application-specific integrated circuit (ASIC). The functionality of some or all of the units or modules is achieved through the design of the logical relationships between the components within the circuit. In another implementation, the hardware circuit can be implemented using a programmable logic device (PLD). Taking a field-programmable gate array (FPGA) as an example, it can include a large number of logic gates. The connection relationships between the logic gates are configured through configuration files, thereby achieving the functionality of some or all of the units or modules. All units or modules of the above device can be implemented entirely through processor-called software, entirely through hardware circuits, or partially through processor-called software with the remaining parts implemented through hardware circuits.
[0331] In this embodiment, the processor is a circuit with signal processing capabilities. In one implementation, the processor can be a circuit with instruction read and execute capabilities, such as a Central Processing Unit (CPU), a microprocessor, a graphics processing unit (GPU) (which can be understood as a microprocessor), or a digital signal processor (DSP). In another implementation, the processor can implement certain functions through the logical relationships of hardware circuits. The logical relationships of the aforementioned hardware circuits are fixed or reconfigurable. For example, the processor is a hardware circuit implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD), such as an FPGA. In a reconfigurable hardware circuit, the process of the processor loading a configuration document and configuring the hardware circuit can be understood as the process of the processor loading instructions to implement the functions of some or all of the above units or modules. Furthermore, it can also be a hardware circuit designed for artificial intelligence, which can be understood as an ASIC, such as a Neural Network Processing Unit (NPU), a Tensor Processing Unit (TPU), or a Deep Learning Processing Unit (DPU).
[0332] Figure 6a is a schematic diagram of the encoding device proposed in an embodiment of this disclosure. As shown in Figure 6a, the encoding device 6100 may include at least one of a processing module 6101 and a transceiver module 6102. In some embodiments, the processing module 6101 is used to compress and encode the metadata of the audio data according to a precision threshold to obtain encoded metadata, wherein the precision threshold is used to represent the compression requirements of the artificial intelligence (AI) task. The transceiver module 6102 is used to send the encoded metadata to a decoding device, wherein the decoded metadata corresponding to the encoded metadata is applied to the AI task.
[0333] Figure 6b is a schematic diagram of the decoding device proposed in an embodiment of this disclosure. As shown in Figure 6b, the decoding device 6200 may include at least one of a transceiver module 6201 and a processing module 6202. In some embodiments, the transceiver module 6201 is used to receive encoded metadata sent by the encoding device, wherein the encoded metadata is obtained by compressing and encoding the metadata of audio data based on a precision threshold, and the precision threshold is used to represent the compression requirements of the artificial intelligence (AI) task; the processing module 6202 is used to decode the encoded metadata to obtain decoded metadata, which is applied to the AI task.
[0334] Figure 6c is a schematic diagram of the backend device proposed in an embodiment of this disclosure. As shown in Figure 6c, the backend device 6300 may include at least one of a transceiver module 6301, a processing module 6302, etc. The processing module 6301 is used to receive decoding metadata sent by the decoding device.
[0335] In some embodiments, the transceiver module may include a transmitting module and / or a receiving module, which may be separate or integrated. Optionally, the transceiver module may be interchangeable with a transceiver.
[0336] In some embodiments, the processing module may be a single module or may include multiple sub-modules. Optionally, the multiple sub-modules may each perform all or part of the steps required by the processing module. Optionally, the processing module may be interchangeable with a processor.
[0337] Figure 7a is a schematic diagram of the structure of the communication device 7100 proposed in an embodiment of this disclosure. The communication device 7100 can be a network device (e.g., access network device, core network device, etc.), a terminal (e.g., user equipment, etc.), a chip, chip system, or processor that supports the network device in implementing any of the above methods, or a chip, chip system, or processor that supports the terminal in implementing any of the above methods. The communication device 7100 can be used to implement the methods described in the above method embodiments; for details, please refer to the descriptions in the above method embodiments.
[0338] As shown in Figure 7a, the communication device 7100 includes one or more processors 7101. The processor 7101 can be a general-purpose processor or a dedicated processor, such as a baseband processor or a central processing unit (CPU). The baseband processor can be used to process communication protocols and communication data, while the CPU can be used to control communication devices (e.g., base stations, baseband chips, terminal devices, terminal device chips, DUs or CUs, etc.), execute programs, and process program data. Optionally, the communication device 7100 can be used to execute any of the above methods. Optionally, one or more processors 7101 can be used to invoke instructions to cause the communication device 7100 to execute any of the above methods.
[0339] In some embodiments, the communication device 7100 further includes one or more transceivers 7102. When the communication device 7100 includes one or more transceivers 7102, the transceiver 7102 performs at least one of the communication steps such as sending and / or receiving in the above method, and the processor 7101 performs at least one of the other steps. In optional embodiments, the transceiver may include a receiver and / or a transmitter, which may be separate or integrated. Optionally, the terms transceiver, transceiver unit, transceiver, transceiver circuit, interface circuit, interface, etc., can be used interchangeably; the terms transmitter, sending unit, transmitter, sending circuit, etc., can be used interchangeably; and the terms receiver, receiving unit, receiver, receiving circuit, etc., can be used interchangeably.
[0340] In some embodiments, the communication device 7100 further includes one or more memories 7103 for storing data. Optionally, all or part of the memories 7103 may be located outside the communication device 7100. In optional embodiments, the communication device 7100 may include one or more interface circuits 7104. Optionally, the interface circuits 7104 are connected to the memories 7103 and can be used to receive data from the memories 7103 or other devices, and to send data to the memories 7103 or other devices. For example, the interface circuits 7104 can read data stored in the memories 7103 and send the data to the processor 7101.
[0341] The communication device 7100 described in the above embodiments may be a network device or a terminal, but the scope of the communication device 7100 described in this disclosure is not limited thereto, and the structure of the communication device 7100 may not be limited by FIG. 7a. The communication device may be a standalone device or a part of a larger device. For example, the communication device may be: (1) a standalone integrated circuit IC, or chip, or chip system or subsystem; (2) a collection of one or more ICs, optionally, the IC collection may also include storage components for storing data and programs; (3) an ASIC, such as a modem; (4) a module that can be embedded in other devices; (5) a receiver, terminal device, smart terminal device, cellular phone, wireless device, handheld device, mobile unit, vehicle device, network device, cloud device, artificial intelligence device, etc.; (7) others, etc.
[0342] Figure 7b is a schematic diagram of the structure of the chip 7200 proposed in an embodiment of this disclosure. For cases where the communication device 7100 can be a chip or a chip system, please refer to the schematic diagram of the chip 7200 shown in Figure 7b, but it is not limited thereto.
[0343] Chip 7200 includes one or more processors 7201. Chip 7200 is used to perform any of the above methods.
[0344] In some embodiments, chip 7200 further includes one or more interface circuits 7202. Optionally, terms such as interface circuit, interface, and transceiver pin can be used interchangeably. In some embodiments, chip 7200 further includes one or more memories 7203 for storing data. Optionally, all or part of the memories 7203 may be located outside chip 7200. Optionally, interface circuit 7202 is connected to memory 7203, and interface circuit 7202 can be used to receive data from memory 7203 or other devices, and interface circuit 7202 can be used to send data to memory 7203 or other devices. For example, interface circuit 7202 can read data stored in memory 7203 and send the data to processor 7201.
[0345] In some embodiments, the interface circuit 7202 performs at least one of the communication steps, such as sending and / or receiving, in the above-described method. For example, the interface circuit 7202 performing the communication steps, such as sending and / or receiving, in the above-described method means that the interface circuit 7202 performs data interaction between the processor 7201, the chip 7200, the memory 7203, or the transceiver device. In some embodiments, the processor 7201 performs at least one of the other steps.
[0346] The modules and / or devices described in the various embodiments, such as virtual devices, physical devices, and chips, can be combined or separated arbitrarily as needed. Optionally, some or all steps can also be performed collaboratively by multiple modules and / or devices, which is not limited here.
[0347] This disclosure also proposes a storage medium storing instructions that, when executed on the communication device 7100, cause the communication device 7100 to perform any of the above methods. Optionally, the storage medium is an electronic storage medium. Optionally, the storage medium is a computer-readable storage medium, but not limited thereto; it may also be a storage medium readable by other devices. Optionally, the storage medium may be a non-transitory storage medium, but not limited thereto; it may also be a temporary storage medium.
[0348] This disclosure also provides a program product that, when executed by the communication device 7100, causes the communication device 7100 to perform any of the above methods. Optionally, the program product is a computer program product.
[0349] This disclosure also proposes a computer program that, when run on a computer, causes the computer to perform any of the above methods. Industrial applicability
[0350] When encoding metadata, the encoding device encodes based on the precision threshold corresponding to the backend AI task, thereby meeting the compression requirements of the AI task and the accuracy requirements of the AI task for metadata, ensuring the quality of training data, and improving the accuracy of the AI model.
Claims
1. A processing method, performed by an encoding device, comprising: encoding metadata of audio data according to a precision threshold to obtain encoded metadata, wherein the precision threshold indicates compression requirements of an artificial intelligence (AI) task; sending the encoded metadata to a decoding device, wherein decoded metadata corresponding to the encoded metadata is applied to the AI task.
2. The method of claim 1, wherein, The encoding metadata according to the precision threshold includes: determining a quantization threshold corresponding to the metadata according to the precision threshold, wherein the quantization threshold is used to indicate compression requirements of the metadata in an encoding stage; encoding the metadata according to the quantization threshold.
3. The method of claim 2, wherein, The quantization threshold is less than or equal to the precision threshold. The AI task includes one first AI task, and the precision threshold is a precision threshold corresponding to the first AI task; or The AI task includes at least two first AI tasks, and the precision threshold is the minimum value of precision thresholds corresponding to the at least two first AI tasks.
4. The method of claim 3, wherein When the metadata is applied to at least two first AI tasks simultaneously, quantization thresholds corresponding to the metadata in the at least two first AI tasks are the same; or when the metadata is applied to at least two first AI tasks respectively, quantization thresholds corresponding to the metadata in the at least two first AI tasks are different.
5. The method of any one of claims 1 to 4, wherein, The method further comprises: framing the metadata to obtain multiple frames of metadata, wherein precision thresholds corresponding to the multiple frames of metadata are the same.
6. The method of any one of claims 2 to 4, wherein, The determining of the quantization threshold corresponding to the metadata according to the precision threshold includes: determining a quantization threshold of the metadata in a numerical range according to the numerical range in which the value of the metadata is located and the precision threshold.
7. The method of claim 6, wherein Each value in one numerical range corresponds to the same precision threshold, or different values in one numerical range correspond to different precision thresholds.
8. The method of claim 7, wherein The numerical range includes multiple segments, and different segments correspond to different precision thresholds; wherein the multiple segments are obtained by dividing the numerical range based on data characteristics.
9. The method of claim 8, wherein, The determining of the quantization threshold of the metadata in the numerical range according to the numerical range in which the value of the metadata is located and the precision threshold includes: determining a quantization threshold of a segment in which the metadata is located according to a precision threshold corresponding to the segment.
10. The method of claim 8, wherein The encoded metadata includes an identifier and compressed metadata, and the identifier is used to indicate the segment in which the metadata is located.
11. The method of any one of claims 6 to 10, wherein, The method further comprises: determining a minimum number of bits required by the encoded metadata according to the precision threshold.
12. The method of claim 11, wherein The minimum number of bits len is: len = ceil (log2{ (b-a) / delta} ), wherein ceil represents rounding up, a represents the minimum value of the numerical range, b represents the maximum value of the numerical range, and delta represents the same precision threshold corresponding to the numerical range.
13. The method of claim 11, wherein, The minimum number of bits len is: len = ceil (log2{ (m-n) / deltaN} ), wherein ceil represents rounding up, m represents the minimum value of the Nth segment where the metadata is located, n represents the maximum value of the Nth segment, deltaN represents the precision threshold corresponding to the Nth segment, m≥a, and n≤b.
14. The method of any one of claims 2 to 13, wherein, The distortion degree generated by the compressed encoding of the metadata is less than or equal to the quantization threshold corresponding to the metadata.
15. A processing method, executed by a decoding device, the method comprising: receiving encoded metadata sent by an encoding device, wherein the encoded metadata is obtained by compressively encoding metadata of audio data based on a precision threshold, and the precision threshold is used to indicate compression requirements of an artificial intelligence (AI) task; decoding the encoded metadata to obtain decoded metadata, wherein the decoded metadata is applied to the AI task.
16. The method of claim 15, wherein, The precision threshold is used to determine a quantization threshold corresponding to the metadata in the compression encoding process, and the quantization threshold is used to represent the compression requirements of the metadata in the encoding stage.
17. The method of claim 16, wherein, The quantization threshold is less than or equal to the precision threshold; The AI task includes a first AI task, and the precision threshold is a precision threshold corresponding to the first AI task; or The AI task includes at least two first AI tasks, and the precision threshold is the minimum value of the precision thresholds corresponding to the at least two first AI tasks.
18. The method of claim 17, wherein, When the metadata is applied to at least two first AI tasks at the same time, the quantization thresholds corresponding to the metadata under the at least two first AI tasks are the same; or when the metadata is applied to at least two first AI tasks respectively, the quantization thresholds corresponding to the metadata under the at least two first AI tasks are different.
19. The method of any one of claims 15 to 18, wherein, For multiple frames of metadata subjected to frame processing of the metadata, the precision thresholds corresponding to the multiple frames of metadata are the same.
20. The method of any one of claims 16 to 18, wherein, The quantization threshold of the metadata in a numerical range is determined according to the numerical range and the precision threshold corresponding to the numerical range.
21. The method of claim 20, wherein, The precision threshold corresponding to each value in one numerical range is the same, or the precision thresholds corresponding to different values in one numerical range are different.
22. The method of claim 21, wherein, The numerical range includes multiple segments, and different segments correspond to different accuracy thresholds; wherein the multiple segments are obtained by dividing the numerical range based on data characteristics.
23. The method of claim 22, wherein, The decoding of the encoded metadata includes: According to the segment where the metadata is located, the metadata is decoded.
24. The method of claim 23, wherein, The decoding of the encoded metadata includes: The identification is obtained by decoding the encoded metadata, and the segment where the metadata is located is determined, wherein the encoded metadata includes the identification and the compressed and encoded metadata; According to the segment offset value corresponding to the segment, the accuracy threshold corresponding to the segment, and the compressed and encoded metadata, the decoded metadata is obtained. 25.A communication device, comprising: a processing module configured to compress and encode metadata of audio data according to an accuracy threshold to obtain encoded metadata, wherein the accuracy threshold is used to indicate compression requirements of an artificial intelligence (AI) task; a transceiver configured to send the encoded metadata to a decoding device, wherein the decoded metadata corresponding to the encoded metadata is applied to the AI task. 26.A communication device, comprising: a transceiver configured to receive encoded metadata sent by an encoding device, wherein the encoded metadata is obtained by compressing and encoding metadata of audio data based on an accuracy threshold, and the accuracy threshold is used to indicate compression requirements of an artificial intelligence (AI) task; a processing module configured to decode the encoded metadata to obtain decoded metadata, wherein the decoded metadata is applied to the AI task. 27.A communication device, comprising: one or more processors; wherein the communication device is configured to implement the method of any one of claims 1-14 or 15-24. 28.A communication system, comprising an encoding device and a decoding device, wherein the encoding device is configured to implement the method of any one of claims 1-14; the decoding device is configured to implement the method of any one of claims 15-24. 29.A storage medium, the storage medium storing instructions, wherein when the instructions are executed on a communication device, the communication device is caused to perform the method of any one of claims 1-14 or 15-24. 30.A program product, wherein when the program product is executed by a communication device, the communication device is caused to perform the method of any one of claims 1-14 or 15-24.
Citation Information
Patent Citations
Data compression method and device
CN106603476A
Bluetooth device audio processing method and system, readable storage medium and Bluetooth device
CN108847248A
Data conversion method for vibration measurement high-frequency original data of large rotary machine
CN112665886A
Data compression, coding and decompression method and device, electronic equipment and storage medium
CN113630125A
Method for adjusting compression ratio of encoder, and method and device for feeding back data
CN114692774A