Audio level control for compressed audio
Abstract
A method of detecting the audio level for compressed audio (216) of a stream (104) of data, comprising: (a) extracting (320) scale factors (214) for compressed audio (216) from the data stream (104); and (b) perform (320, 322) a level detection for compressed audio (216) using the scaling factors (214) extracted without decompressing compressed audio (216) by: (1) determining (320) the square of a derivative analog voltage peak value for each of the scale factors (214); (2) obtain (322) the square root of the sum of the squares through a square; (3) normalize (322) the square root based on a number of channels present in the compressed audio (216); and (4) compare (322) the normalized square root with a threshold to determine if the compressed audio (216) exceeds a specified level.

Term
Term ended
Projected expiry passed 30 April 2024, 2.4 years ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
3 claims: 2 independent, 1 dependent
- 1ES 2 315 992 T3 REIVINDICACIONES 1. Un método de detección del nivel de audio para audio comprimido (216) de una corriente (104) de datos, que comprende:(a) extraer (320) factores de escala (214) para el audio comprimido (216) a partir de la corriente (104) de datos;y (b) realizar (320, 322) una detección de nivel para el audio comprimido (216) utilizando los factores de escala (214) extraídos sin descomprimir el audio comprimido (216) a través de: (1) determinar (320) el cuadrado de un valor de pico de voltaje analógico derivado para cada uno de los factores de escala (214);
- 2(2) obtener (322) la raíz cuadrada de la suma de los cuadrados a través de un cuadro;
- 3(3) normalizar (322) la raíz cuadrada en base a un número de canales presente en el audio comprimido (216);y (4) comparar (322) la raíz cuadrada normalizada con un umbral para determinar si el audio comprimido (216) excede un nivel especificado. 2. Un aparato adaptado para llevar a cabo el método de la reivindicación 1.
Independent claims3
96 paragraphs in 6 sections, as filed
ES 2 315 992 T3
DESCRIPTION
Audio level control for compressed audio.
Background of the invention
1. Invention field
The present invention relates to audio level control for compressed data.
2. Description of Related Art
Digital television, such as that provided by DIRECTV<sup>®</sup>, the assignee of the present invention, is typically transmitted as an encoded digital data stream using the MPEG (Motion Picture Film Experts Group) standard promulgated by ISO (International Organization for Standardization). MPEG provides an efficient way to represent video and audio in the form of a compressed bit stream.
The MPEG-1 standard is described in a document entitled "Coding of Moving Pictures and Associated Audio for Digital Storage Media Up to About 1.5 Mbit / s", ISO / IEC 11172 (1993). The MPEG-1 standard is also described in a document entitled "ISO-MPEG-1 audio: a generic standard for encoding high-quality digital audio" by BRANDENBURG K et al., JOURNAL OF THE AUDIO ENGINEERING SOCIETY, October 1994, pages 780 -792, XP000978167. The MPEG-2 standard is described in a document entitled "Generic coding of moving pictures and associated audio information", ISO / IEC-13818 (1998).
Even when it is a satellite station, DIRECTV<sup>®</sup> offers its subscribers local programming, that is, local television channels, which require each of the television channels in a city to be encoded in MPEG and statistically multiplexed at a collection facility, before being transported, by a carrier common, to a broadcasting center for sending by an uplink to satellites operated by DIRECTV<sup>®</sup>. Agreements can be made with other satellite broadcasters and cable operators to share these collection facilities in order to reduce costs.
Additionally, program providers, such as Disney<sup>®</sup>, Viacom<sup>®</sup>, HBO<sup>®</sup>, Showtime<sup>®</sup>, Starz<sup>®</sup>, ESPN<sup>®</sup>, etc., frequently provide DIRECTV<sup>®</sup> a stream of pre-encoded and statistically multiplexed MPEG data. These program providers may request that the MPEG data stream be passed directly to DIRECTV subscribers.<sup>®</sup> no decoding and re-encoding.
However, problems can arise when using these different MPEG data streams because different satellite broadcasters, cable operators, and program providers may use different standards resulting in different audio levels. For example, DIRECTV<sup>®</sup> follows the SMPTE (Society of Motion Picture and Television Engineers) recommendation that a 0 dB reference level is within -20 dB of the full digital scale, while other satellite broadcasters, cable operators or providers Programs can operate with a 0 dB reference level that is -17 dB of full digital scale.
If these different MPEG data streams use one or more different standards, then the resulting broadcast channels will appear too strong or too soft, compared to other channels. Thus, there is a need to change the audio levels of an MPEG audio data stream.
There are additional applications where the ability to change the audio levels of an MPEG data stream is required. For example, television production generally works with a wide dynamic range, offering the ability for a creative programmer to “turn up” the audio during climax scenes. Also, classical music often works with a wide dynamic range.
On the other hand, the most popular music has its dynamic range strongly limited. This limitation of the dynamic range is due to many reasons:
1) The artist wants the music to be loud.
2) Radio stations often believe that to keep quiet is to stop broadcasting.
3) In an environment with a high noise level, such as in a car, stadium or other public venue, it is necessary to have a narrow dynamic range to be heard over the noise.
4) Recording technology imparts a high level of noise, for example on cassette tapes, and a limited dynamic range masks the noise.
5) Playback technology has limited dynamic range, for example battery powered personal hearing devices.
ES 2 315 992 T3
For MPEG players, the 0 dB reference level for many of these devices is at -10 dB on a full digital scale. Consequently, if an MPEG audio data stream uses a reference level of 0 dB to -20 dB of the full digital scale, then the device's volume control would have to be increased by 10 dB to compensate. However, in many of these devices there is a limited gain margin, since they do not support audio with a large dynamic range. So a better solution is to change the audio levels of the MPEG audio data stream.
In the prior art, a method of altering audio levels would comprise (1) decoding (decompressing) the MPEG audio data stream, (2) adjusting the gain, and (3) encoding (compressing again) the data stream. MPEG audio. This method is advantageous because commercially available encoders and decoders can be purchased relatively cheaply. However, this method has many drawbacks, including the injection of a considerable time delay, at least 48 milliseconds (ms), as well as increased noise and distortion caused by yet another new quantization of the audio.
Consequently, there is a need to be able to change the audio levels of MPEG audio data streams without decompressing the audio data within the MPEG audio data stream, altering the gain levels of the audio data, and then recompress audio data within MPEG audio data streams.
Invention Compendium
An object of the invention is to provide an audio level detection method for compressed audio and an apparatus therefor, as claimed in the appended claims.
Brief description of the drawings
We will now refer to the drawings, in which like reference numerals represent corresponding parts throughout:
Fig. 1 is a block diagram illustrating an illustrative environment used to practice the preferred embodiment of the invention;
Fig. 2 is a block diagram illustrating the structure of an MPEG audio data stream; and Fig. 3 is a flow chart illustrating the logic executed by a gain-altering process to change the scale factors without altering the sub-band compressed audio data, in order to provide control of the level of Audio.
Detailed description of the preferred embodiments
In the following description, reference is made to the accompanying drawings, which form a part hereof and which show, by way of illustration, various embodiments of the present invention. It is to be understood that other embodiments can be used and that structural changes can be made without departing from the scope of the present invention.
Overview
The present invention relates to audio level control for compressed audio. Specifically, the present invention relates to the extraction of scale factors for compressed audio from a stream of MPEG audio data, altering the extracted scale factors without decompressing the compressed audio in order to provide control of the level of audio, and updating the MPEG audio data stream with the altered scale factors. All the scaling factors of the MPEG audio data stream are altered based on a parameter that identifies how the gain levels of the MPEG data stream are to be altered.
Consequently, if an audio data stream is too loud or too soft, the audio level can be adjusted as desired in order to maintain uniform listening levels. This is an improvement over previous techniques that decompress the audio data, alter the gain levels of the audio data, and then recompress the audio data, in which the cycle of decompression and re-compression causes deterioration in signal quality and delays audio.
Illustrative environment
Fig. 1 is a block diagram showing an illustrative environment used to practice the preferred embodiment of the invention. In the illustrative environment, a processor 100 may include, but is not limited to, logic, memory, and a number of different peripherals. Preferably, the processor 100 executes a gain alteration process 102, which performs an audio level change, as well as an audio level detection, directly on an MPEG audio data stream, without decompressing and then returning to compress the audio data into the stream of
ES 2 315 992 T3 MPEG audio data. Specifically, the gain alteration process 102 accepts as input an MPEG audio data stream 104, alters the sub-band scaling factors found in the MPEG audio data stream 104, updates the MPEG audio data stream 104 with the altered sub-band scale factors, and then outputs the updated MPEG audio data stream 106.
Generally, the gain alteration process 102 comprises logic, instructions and / or data that are embedded in a device, medium, carrier or signal, for example the processor 100 itself, or that can be retrieved from it, a memory, storage device. data storage or remote device coupled to processor 100, etc. Furthermore, this logic, instructions and / or data, when used, executed and / or interpreted by the processor 100, cause it to carry out the necessary steps to carry out and / or use the present invention. Accordingly, the present invention may be incorporated as a method, apparatus or article of manufacture employing software, firmware (firmware), or any combination thereof. Those skilled in the art will recognize that many modifications can be made to this configuration without departing from the scope of the present invention.
MPEG audio data stream
FIG. 2 is a block diagram illustrating the structure of a stream 200 of MPEG audio data. Layers I, II, and III within the MPEG audio data stream 200 are displayed as separate frames 202, 204, and 206.
Each frame 202,204 and 206 includes a header 206 which is followed by an optional cyclic redundancy check (CRC) 210 of 16 bits in length. Header 208 is 32-bit and includes the following information:
• sync word - 12 bits (all 1) • system word - 20 bits
Version identifier - 1 bit
Layer - 2 bits
Error protection - 1 bit
Bit rate index - 4 bits
Sample rate rate index - 2 bits
Padding - 1 bit
Private - 1 bit
Mode - 2 bits
Mode extension - 2 bits
Copy rights - 1 bit
Original or copy - 1 bit
Emphasis - 2 bits
CRC 210, if present, is used to detect errors.
In Layer I table 202, CRC 210 is followed by assignment of bit 212 (128-256 bits long), scale factors 214 (0-384 bits long), samples 216 (384 bits long) and ancillary data 218. In Layer II table 204, CRC 210 is followed by a bit assignment 212 (26-188 bits long), scale factor selection information (SCFSI) 220 (0-60 bits long), factors scale 214 (0-1080 bits long), samples 216 (1152 bits long) and ancillary data 218. In table 206 of layer III, CRC 210 is followed by side information 222 (136-256 bits long ) and a 224 bit repository.
Bit assignment 212 determines the number of bits per sample for layer I or the number of quantization levels for layer II. Specifically, bit allocation 212 specifies the number of bits allocated for quantization of each subband. These assignments are made adaptively, according to the information content of the audio signal, whereby the assignment of bits 212 varies in each frame 202, 204. Samples 216 can be encoded with zero bits (ie, no data is present), or with between two and fifteen bits per sample.
Scale factors 214 are encoded to indicate sixty-three possible values that are encoded as six-bit index patterns, from "000000" (0), which designates the maximum scale factor, to "111111" (62), which designates
ES 2 315 992 T3 the minimum scale factor. Each subband of the samples 216 has an associated scale factor 214 that defines the level at which each subband recombines during decoding.
Samples 216 comprise compressed audio data for each of thirty-two subbands. A layer I frame 202 comprises twelve samples per subband. A Layer II frame 204 comprises thirty-six samples per subband.
In layer II 204, the samples 216 of each frame are divided into three parts, each of which comprises twelve samples per subband. For each sub-band, the SCFSI220 indicates whether the three parts have separate scale factors 214 or if all three parts have the same scale factor 214, or if two parts (the first two or the last two) have a scale factor 214 and the other part has another scale factor 214.
During decompression, the samples 216 are fed to an inverse quantizer, which selects predetermined values according to the bit assignment 212 and performs a dequantization operation, in which the dequantized values are then multiplied by the factors of scale 214 to obtain non-normalized values. Thus, if all the sub-band scale factors 214 are changed, the audio level will be altered. Furthermore, these changes in scale factors 214 can be accomplished without altering the compressed audio data of the subbands.
Logic of the gain alteration process
FIG. 3 is a flow chart illustrating the logic followed by the gain-altering process 102 to change the scale factors 214 without altering the sub-band compressed audio data, in accordance with a preferred embodiment herein. invention. In this regard, the gain alteration process 102 is a filter in which the MPEG audio data stream 104 enters, the scale factors 214 are altered, and the output MPEG audio data stream 106 is updated with the factors scale 214 altered (but not otherwise changed from the MPEG audio data stream 104). In the preferred embodiment, the gain alteration process 102 only incurs a 2-byte latency in its processing, causing minimal delay.
Block 300 represents the gain alteration process 102 accepting one byte at a time from the incoming MPEG audio data stream 104, as well as a parameter that identifies how the gain levels of the audio data stream 104 are to be altered. MPEG input.
Block 302 represents the logic of a CASE statement that is triggered by a current state value, in which control is transferred to blocks 304-322, depending on the current state value. After the logic of blocks 304-322 has been executed for the current state, control is transferred to block 324, which outputs a number of bytes indicated by blocks 304-322 to the output MPEG audio stream 106. After that, control returns to block 300 to deal with the next input byte.
Block 304 represents a state of 0. In this state, the gain alteration process 102 waits until it receives the first byte of the sync word from the header 208 of the incoming MPEG audio data stream 104 . Specifically, if the input byte equals 0xff, then the state is incremented; otherwise nothing happens. Control is then transferred to block 324, which outputs the input byte unchanged.
Block 306 represents a state of 1. In this state, the gain alteration process 102 examines the input byte to determine if it is the second byte following the first of the sync word from the header 208 of the input MPEG audio data stream 104, the second of which byte includes the 4 least significant bits of the 12-bit sync word from header 208 and the 4 most significant bits of the 20-bit system word from header 208. If not, then the state is returned to 0 and control is transferred to block 324, which outputs the input byte unchanged. Otherwise, the layer and error protection bits are extracted from among the 4 most significant bits of the 20-bit system word in the header 208 of the input MPEG audio data stream 104. If the error protection is 1 (active) or if the layer is not 2 (MPEG layer II), then the state is returned to 0 and control is transferred to block 324, which outputs the input byte unchanged. (Note that this embodiment only supports unprotected MPEG Layer II audio). Otherwise, the state is incremented and control is transferred to block 324, which outputs the input byte unchanged.
Block 308 represents a state of 2. In this state, the gain alteration process 102 extracts the bit rate index and the sample rate rate index from an additional 8 bits of the 20-bit system word in the header. 208 of the incoming MPEG audio data stream 104. The bit rate index, together with the previously extracted layer (2), is used as an index in a bit rate table, which determines a bit rate. The sample rate rate index is used as an index in a sample rate rate table that determines a sample rate rate. If the sample rate rate is invalid, then the status is returned to 0; otherwise, the state is increased. Control is then transferred to block 324, which outputs the input byte unchanged.
ES 2 315 992 T3
Block 310 represents a state of 3. In this state, the gain alteration process 102 extracts the mode and the mode spread from the final 8 bits of the 20-bit system word from the header 208 of the data stream 104. MPEG audio input. With the mode and the mode spread, as well as a sample rate obtained from state 2, several sub-bands and several channels are determined for each sub-band. The state is incremented, and then control is transferred to block 324, which outputs the input byte unchanged.
Block 312 represents a state of 4. In this state, the gain alteration process 102 picks up the first byte of CRC 210 from the incoming MPEG audio data stream 104. The state is incremented, and then control is transferred to block 324, which outputs the input byte unchanged.
Block 314 represents a state of 5. In this state, the gain alteration process 102 picks up the second byte of CRC 210 from the incoming MPEG audio data stream 104. The state is incremented, and then control is transferred to block 324, which outputs the input byte unchanged. Note that states 4 and 5 would collect CRC 210 for later recalculation after scale factors 214 have been altered. However, the description of CRC 210 is omitted in this discussion.
Block 316 represents a state of 6. In this state, the gain alteration process 102 extracts the bit allocation 210 from the incoming MPEG audio data stream 104. The number of input bytes received while in this state is determined by the number of subbands and the number of modes. Consequently, the gain alteration process 102 remains in this state until all of the bit allocation 210 has been received. Until that happens, the state does not change, and then control is transferred to block 324, which outputs the input byte unchanged. Once all of the bit allocation 210 is received, the status is incremented and control is then transferred to block 324, which also outputs the input byte unchanged.
Block 318 represents a state of 7. In this state, the gain alteration process 102 extracts the SCFSI 220 from the incoming MPEG audio data stream 104. The size of the SCFSI field 220 is based on the number of subbands and bit allocation 210. Consequently, the gain alteration process 102 remains in this state until all of the SCFSI has been received. Until that happens, the state does not change, and then control passes to block 324, which outputs the input byte unchanged. Once the entire SCFSI is received, the state is incremented and then control is transferred to block 324, which also outputs the input byte unchanged.
Block 320 represents a state of 8. In this state, the gain alteration process 102 extracts the scale factors 214 for each sub-band of the input MPEG audio data stream 104, the scale factors 214 of which comprise multipliers. for sub-bands of the audio data. Once a scale factor 214 has been extracted, it is altered, for example increased or decreased, according to the parameter that identifies how the gain levels of the MPEG audio data stream 104 are to be altered. input.
Each scale factor 214 occupies six bits, which are not in alignment in one byte. Consequently, to alter the scale factors 214 there are times when the results of a previous input byte have to be held for an additional input byte, before they can be altered and then output. While the scale factors 214 are being extracted, the state remains unchanged and then control is transferred to block 324, which outputs the number of bytes for the altered scale factors 214 (0, 1 or 2) as they are available.
Scale factors 214 are integers ranging from 0 to 63 and are used as multipliers for the subband output. The altered scale factors 214 are limited and do not start over. In contrast, the altered scale factors 214 are limited to 0 or 63, with the altered scale factors 214 not decreasing below a minimum (0) nor increasing above a maximum (63).
The fact that the altered scale factors 214 are limited while decreasing the gain means that an error would occur at an amplitude level of -140 dB, which is well below the auditory perception threshold. On the other hand, the fact that the altered scale factors 214 are limited while the gain increases, means that all the other sub-bands will see their amplitude increased, while this sub-band cannot increase as much. However, this effect is often very noticeable, although it is not likely to occur, as it would make it necessary to increase the volume to an excessively high level, for example about 20 dB above the average level.
As noted above, the gain alteration process 102 continues in this state until all scale factors 214 have been altered, at which time the state is incremented and control is then transferred to block 324 that outputs the number of bytes for the last remaining altered 214 scale factors (1 or 2).
Block 322 represents a state of 9. In this state, the gain alteration process 102 performs no function. Consequently, the state remains unchanged and control is then transferred to block 324, which outputs the input byte unchanged. The gain alteration process 102 continues in this state until it is reset externally. Preferably, the gain alteration process 102 is reset externally based on the number of data bytes and reading the bit rate and sample rate rate from the MPEG header.
ES 2 315 992 T3
Level detection
In addition to altering the audio level of the MPEG audio data stream, the present invention can also perform level detection for compressed audio, the level detection of which determines whether audio is still present. This occurs because the scale factors 214 of the MPEG audio data stream represent a peak value of the sub-band level above 24 ms for each packet of the MPEG audio data stream.
Level detection for compressed audio involves: (1) obtaining the square root of the sum of the squares of the scale factors 214 across a frame 202, 204; (2) normalize the square root based on a number of channels present in the compressed audio; and (3) comparing the normalized square root to a threshold to determine if the compressed audio exceeds a specified level. The normalized square root of a sum of squares of the scale factors 214 provides a good estimate of the audio level.
Such a function is useful, not as a means of accurately measuring audio level, but as a means of determining whether audio is still present. Even though the measured audio level is accurate to, perhaps, only 5 dB, the present invention can determine that audio is present. Thus, if the audio level for a certain number of sequential packets is determined to be substantially below what would normally be expected (eg, more than 30 dB below), then it can be assumed that something has gone wrong upstream.
To achieve this audio level detection, a number of additions are made to the logic of Fig. 3 above. These additions are described below.
Block 320 uses a table to determine an integer value for each corresponding scale factor 214 that represents the square of the derived analog voltage peak value. Block 320 stores the sum of these squares through a frame 202 or 204.
Block 322 obtains the square root of the sum of the squares stored in block 320, at a point where the gain alteration process 102 has completed its processing of a 202 or 204 frame. The square root is then normalized, depending of the number of channels present in compressed audio, which represents the square of the estimated input voltage. The normalized square root is compared to a threshold to determine if compressed audio exceeds a specified level, above which an audio channel can be declared active.
Furthermore, the level detection itself can be used to initiate an alteration of the audio levels, thus forming a simple automatic gain control. For example, if for some period of time the audio level is seen to be too low or too high, then the gain level can be adjusted using the logic of Fig. 3, to bring the audio level to a predetermined value.
This would be performed by blocks 320 or 322 by examining the peak level over a certain period of time and, if the level is determined to be too low or too high, then altering the gain to a predetermined value using the logic of the Fig. 3. Examination of the peak level over a long period of time mitigates measurement and control errors.
Advantage
The present invention includes several unique features and advantages:
1) Altering the audio level in an MPEG audio data stream should be done without appreciable delay. Generally, a decoding and encoding of the MPEG audio data stream requires at least 48 ms of delay. However, for broadcast, audio is associated with video, and unless additional video delay is injected, it will appear to a viewer that the lips are moving long before dialogue is heard, creating a problem with speech. lip sync.
2) The present invention demonstrates high efficiency from the point of view of calculation. For example, test software running on a personal computer varied the audio level of an MPEG audio data stream more than 20 times real time, when MPEG encoding and decoding were only working in real time.
3) Elimination of decoder quantization errors in the meantime. In the prior art if the decoder only provides 16 bits of resolution, the decoder itself could inject quantization errors into the MPEG audio data stream. This is true if the original MPEG audio data stream was encoded with more than 16 bits of precision (typically 20 or 24 bits). Most decoders are built to maintain a maximum precision of 16 bits. If the audio level is increased after 16-bit decoding, the next encoder sees a high noise base caused by truncation errors in the decoder. With this invention, if the original MPEG audio encoding was done with more than 16-bit precision, the gain can be increased while keeping the noise floor in a 16-bit decoder at an optimal level, actually increasing the signal-to-signal ratios. noise.
ES 2 315 992 T3
Conclution
The foregoing description of the preferred embodiment of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form set forth. In light of the above teachings, many modifications and variations are possible.
For example, while the above discussion offers an embodiment of the present invention applied to a satellite transmission system or personal MPEG player, the present invention can be used in any application that uses MPEG audio. Furthermore, although the present invention has been described in terms of MPEG audio, it could also be applied to other compression schemes, such as Dolby<sup>®</sup> AC-3. Finally, although specific logic has been described herein, those skilled in the art will recognize that other logic may provide the same results, without departing from the scope of the present invention.
The scope of the invention is intended not to be limited by this detailed description, but by the claims appended thereto. The foregoing discussion, examples and data provide a complete description of the manufacture and use of the composition of the invention. Since many embodiments of the invention can be made without departing from the scope of the invention, the invention resides in the following appended claims.
Contents6
3 sheets
Sheet 1 Sheet 2 Sheet 3
12 members in 4 offices
Priority claims5
| Document | Office | Kind | Date |
|---|---|---|---|
| 20030426664 | United States of America | – | |
| 42666403 | United States of America | A | |
| 42666403 | United States of America | A | |
| 06076046426664 | – | – | – |
| US20030426664 | – | – | – |
Members12
| Document | Office | Kind | |
|---|---|---|---|
| EP1484747A1 | European Patent Office (EPO) | A1 | |
| EP1742203A2 | European Patent Office (EPO) | A2 | |
| EP1742203A3 | European Patent Office (EPO) | A3 | |
| EP1484747B1 | European Patent Office (EPO) | B1 | |
| DE602004007979D1 | Germany | D1 | |
| US2007255556A1 | United States of America | A1 | |
| ES2288665T3 | Spain | T3 | |
| DE602004007979T2 | Germany | T2 | |
| EP1742203B1 | European Patent Office (EPO) | B1 | |
| DE602004018396D1 | Germany | D1 | |
| ES2315992T3This record | Spain | T3 | |
| US7647221B2 | United States of America | B2 |
Numbers
- Publication
- 2315992
- Publication, DOCDB
- 2315992
- Publication, EPODOC
- ES2315992T
- Application
- 6076046
- Application, DOCDB
- 06076046
- Application, EPODOC
- ES20060076046T
Titles2
- Spanish
- CONTROL DE NIVEL DE AUDIO PARA AUDIO COMPRIMIDO.
- English
- AUDIO LEVEL CONTROL FOR COMPRESSED AUDIO.
Classification
- CPC, 1
- G10L21/0364
- IPC, 2
- G10L19 14
- G10L21 02