首页资源分类其它科学普及 > ISO_13818(MPEG2)-7--Part 7 Advanced Audio Coding (AAC)

ISO_13818(MPEG2)-7--Part 7 Advanced Audio Coding (AAC)

已有 445117个资源

下载专区

上传者其他资源

文档信息举报收藏

标    签:138187

分    享:

文档简介

13818-7,MPEG2 Part 7 ,Advanced Audio Coding (AAC).

文档预览

--`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- INTERNATIONAL STANDARD ISO/IEC 13818-7 Third edition 2004-10-15 Information technology — Generic coding of moving pictures and associated audio information — Part 7: Advanced Audio Coding (AAC) Technologies de l’information — Codage générique des images animées et du son associé — Partie 7: Codage du son avancé (AAC) Copyright International Organization for Standardization Reproduced by IHS under license with ISO Reference number ISO/IEC 13818-7:2004(E) Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. © ISO/IEC 2004 ISO/IEC 13818-7:2004(E) PDF disclaimer This PDF file may contain embedded typefaces. In accordance with Adobe's licensing policy, this file may be printed or viewed but shall not be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In downloading this file, parties accept therein the responsibility of not infringing Adobe's licensing policy. The ISO Central Secretariat accepts no liability in this area. Adobe is a trademark of Adobe Systems Incorporated. Details of the software products used to create this PDF file can be found in the General Info relative to the file; the PDF-creation parameters were optimized for printing. Every care has been taken to ensure that the file is suitable for use by ISO member bodies. In the unlikely event that a problem relating to it is found, please inform the Central Secretariat at the address given below. © ISO/IEC 2004 All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means, electronic or mechanical, including photocopying and microfilm, without permission in writing from either ISO at the address below or ISO's member body in the country of the requester. ISO copyright office Case postale 56 • CH-1211 Geneva 20 Tel. + 41 22 749 01 11 Fax + 41 22 749 09 47 E-mail copyright@iso.org Web www.iso.org Published in Switzerland --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- ii Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) Contents Page 1 Scope...................................................................................................................................................... 1 1.1 MPEG-2 AAC Tools Overview ................................................................................................................ 1 2 Normative References .......................................................................................................................... 8 3 Terms and Definitions .......................................................................................................................... 8 4 Symbols and Abbreviations............................................................................................................... 15 4.1 Arithmetic Operators ............................................................................................................................. 15 4.2 Logical Operators.................................................................................................................................. 16 4.3 Relational Operators ............................................................................................................................. 16 4.4 Bitwise Operators.................................................................................................................................. 17 4.5 Assignment ........................................................................................................................................... 17 4.6 Mnemonics ............................................................................................................................................ 17 4.7 Constants .............................................................................................................................................. 17 5 Method of Describing Bitstream Syntax........................................................................................... 17 6 Syntax................................................................................................................................................... 19 6.1 Audio Data Interchange Format, ADIF.................................................................................................. 19 6.2 Audio Data Transport Stream, ADTS.................................................................................................... 20 6.3 Raw Data .............................................................................................................................................. 22 7 Profiles and Profile Interoperability .................................................................................................. 34 7.1 Profiles .................................................................................................................................................. 34 7.2 Profile Interoperability ........................................................................................................................... 36 8 General Information ............................................................................................................................ 37 8.1 Audio Data Interchange Format (ADIF) and Audio Data Transport Stream (ADTS) ............................ 37 8.2 Decoding of Raw Data .......................................................................................................................... 42 8.3 Decoding of a single_channel_element() (SCE), a channel_pair_element() (CPE) or an individual_channel_stream() (ICS)........................................................................................................ 47 8.4 Low Frequency Enhancement Channel (LFE)...................................................................................... 54 8.5 program_config_element() (PCE) ......................................................................................................... 55 8.6 Data Stream Element (DSE) ................................................................................................................. 59 8.7 Fill Element (FIL)................................................................................................................................... 60 8.8 Dedoding of extension_payload() ......................................................................................................... 60 8.9 Tables.................................................................................................................................................... 66 8.10 Figures .................................................................................................................................................. 74 9 Noiseless Coding ................................................................................................................................ 74 9.1 Tool Description .................................................................................................................................... 74 9.2 Definitions ............................................................................................................................................. 75 9.3 Decoding Process ................................................................................................................................. 77 9.4 Tables.................................................................................................................................................... 80 10 Quantization ........................................................................................................................................ 81 10.1 Tool Description .................................................................................................................................... 81 10.2 Definitions ............................................................................................................................................. 81 10.3 Decoding Process ................................................................................................................................. 81 11 Scalefactors......................................................................................................................................... 82 --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST iii Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) 11.1 Tool Description ....................................................................................................................................82 11.2 Definitions..............................................................................................................................................82 11.3 Decoding Process .................................................................................................................................83 12 Joint Coding.........................................................................................................................................84 12.1 M/S Stereo.............................................................................................................................................84 12.2 Intensity Stereo .....................................................................................................................................86 12.3 Coupling Channel..................................................................................................................................88 13 Prediction .............................................................................................................................................92 13.1 Tool Description ....................................................................................................................................92 13.2 Definitions..............................................................................................................................................92 13.3 Decoding Process .................................................................................................................................93 13.4 Diagrams .............................................................................................................................................100 14 Temporal Noise Shaping (TNS)........................................................................................................100 14.1 Tool Description ..................................................................................................................................100 14.2 Definitions............................................................................................................................................101 14.3 Decoding Process ...............................................................................................................................101 15 Filterbank and Block Switching .......................................................................................................103 15.1 Tool Description ..................................................................................................................................103 15.2 Definitions............................................................................................................................................103 15.3 Decoding Process ...............................................................................................................................104 16 Gain Control.......................................................................................................................................108 16.1 Tool Description ..................................................................................................................................108 16.2 Definitions............................................................................................................................................109 16.3 Decoding Process ...............................................................................................................................109 16.4 Diagrams .............................................................................................................................................115 16.5 Tables..................................................................................................................................................115 Annex A (normative) Huffman Codebook Tables...................................................................................117 Annex B (informative) Information on Unused Codebooks ..................................................................138 Annex C (informative) Encoder ................................................................................................................139 C.1 Psychoacoustic Model.........................................................................................................................139 C.2 Gain Control ........................................................................................................................................171 C.3 Filterbank and Block Switching ...........................................................................................................172 C.4 Prediction.............................................................................................................................................175 C.5 Temporal Noise Shaping (TNS) ..........................................................................................................178 C.6 Joint Coding.........................................................................................................................................179 C.7 Quantization ........................................................................................................................................181 C.8 Noiseless Coding ................................................................................................................................188 C.9 Features of AAC dynamic range control .............................................................................................191 Annex D (informative) Patent Holders .....................................................................................................193 D.1 List of Patent Holders ..........................................................................................................................193 Annex E (informative) Registration Procedure.......................................................................................194 E.1 Procedure for the Request of a Registered Identifier (RID) ................................................................194 E.2 Responsibilities of the Registration Authority......................................................................................194 E.3 Contact Information of the Registration Authority ...............................................................................194 E.4 Responsibilities of Parties Requesting a RID......................................................................................195 E.5 Appeal procedure for Denied Applications..........................................................................................195 Annex F (informative) Registration Application Form ...........................................................................196 Annex G (informative) Registration Authority.........................................................................................197 Bibliography.................................................................................................................................................... 198 iv Copyright International Organization for Standardization Reproduced by IHS under license with ISO --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) Foreword ISO (the International Organization for Standardization) is a worldwide federation of national standards bodies (ISO member bodies). The work of preparing International Standards is normally carried out through ISO technical committees. Each member body interested in a subject for which a technical committee has been established has the right to be represented on that committee. International organizations, governmental and non-governmental, in liaison with ISO, also take part in the work. ISO collaborates closely with the International Electrotechnical Commission (IEC) on all matters of electrotechnical standardization. International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 2. The main task of technical committees is to prepare International Standards. Draft International Standards adopted by the technical committees are circulated to the member bodies for voting. Publication as an International Standard requires approval by at least 75 % of the member bodies casting a vote. ISO/IEC 13818-7 was prepared by Joint Technical Committee ISO/IEC JTC 1, Information technology, Subcommittee SC 29, Coding of audio, picture, multimedia and hypermedia information. This third edition cancels and replaces the second edition (ISO/IEC 13818-7:2003), which has been technically revised. It also incorporates the Amendment ISO/IEC 13818-7:2003/Amd.1:2004. ISO/IEC 13818 consists of the following parts, under the general title Information technology — Generic coding of moving pictures and associated audio information: — Part 1: Systems — Part 2: Video — Part 3: Audio — Part 4: Conformance testing — Part 5: Software simulation — Part 6: Extensions for DSM-CC — Part 7: Advanced Audio Coding (AAC) — Part 9: Extension for real time interface for systems decoders — Part 10: Conformance extensions for Digital Storage Media Command and Control (DSM-CC) — Part 11: IPMP on MPEG-2 systems --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST v Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) Introduction The standardization body ISO/IEC JTC 1/SC 29/WG 11, also known as the Moving Pictures Experts Group (MPEG), was established in 1988 to specify digital video and audio coding schemes at low data rates. MPEG completed its first phase of audio specifications (MPEG-1) in November 1992, ISO/IEC 11172-3. In its second phase of development, the MPEG Audio subgroup defined a multichannel extension to MPEG-1 audio that is backwards compatible with existing MPEG-1 systems (MPEG-2 BC) and defined an audio coding standard at lower sampling frequencies than MPEG-1, ISO/IEC 13818-3. The International Organization for Standardization (ISO) and International Electrotechnical Commission (IEC) draw attention to the fact that it is claimed that compliance with this document may involve the use of patents. The ISO and IEC take no position concerning the evidence, validity and scope of this patent right. The holder of this patent right has assured the ISO and IEC that he is willing to negotiate licences under reasonable and non-discriminatory terms and conditions with applicants throughout the world. In this respect, the statement of the holder of this patent right is registered with the ISO and IEC. Information may be obtained from the companies listed in Annex D. Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights other than those identified in Annex D. ISO and IEC shall not be held responsible for identifying any or all such patent rights. --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- vi Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. INTERNATIONAL STANDARD ISO/IEC 13818-7:2004(E) Information technology — Generic coding of moving pictures and associated audio information — Part 7: Advanced Audio Coding (AAC) 1 Scope This International Standard describes the MPEG-2 audio non-backwards compatible standard called MPEG-2 Advanced Audio Coding, AAC [1], a higher quality multichannel standard than achievable while requiring MPEG-1 backwards compatibility. This MPEG-2 AAC audio standard allows for ITU-R ‘indistinguishable’ quality according to [2] at data rates of 320 kbit/s for five full-bandwidth channel audio signals. The AAC decoding process makes use of a number of required tools and a number of optional tools. Table 1 lists the tools and their status as required or optional. Required tools are mandatory in any possible profile. Optional tools may not be required in some profiles. Table 1 – AAC decoder tools Tool Name Bitstream Formatter Noiseless Decoding Inverse quantization Rescaling M/S Prediction Intensity Dependently switched coupling TNS Filterbank / block switching Gain control Independently switched coupling Required / Optional Required Required Required Required Optional Optional Optional Optional Optional Required Optional Optional 1.1 MPEG-2 AAC Tools Overview The basic structure of the MPEG-2 AAC system is shown in Figure 1 and Figure 2. As is shown in Table 1, there are both required and optional tools in the decoder. The data flow in this diagram is from left to right, top to bottom. The functions of the decoder are to find the description of the quantized audio spectra in the bitstream, decode the quantized values and other reconstruction information, reconstruct the quantized spectra, process the reconstructed spectra through whatever tools are active in the bitstream in order to arrive at the actual signal spectra as described by the input bitstream, and finally convert the frequency domain spectra to the time domain, with or without an optional gain control tool. Following the initial reconstruction and scaling of the spectrum reconstruction, there are many optional tools that modify one or more of the spectra in order to provide more efficient Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST 1 Reproduced by IHS under license with ISO Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) coding. For each of the optional tools that operate in the spectral domain, the option to “pass through” is retained, and in all cases where a spectral operation is omitted, the spectra at its input are passed directly through the tool without modification. The input to the bitstream demultiplexer tool is the MPEG-2 AAC bitstream. The demultiplexer separates the parts of the MPEG-AAC data stream into the parts for each tool, and provides each of the tools with the bitstream information related to that tool. The outputs from the bitstream demultiplexer tool are: • The sectioning information for the noiselessly coded spectra • The noiselessly coded spectra • The M/S decision information (optional) • The predictor state information (optional) • The intensity stereo control information and coupling channel control information (both optional) • The temporal noise shaping (TNS) information (optional) • The filterbank control information • The gain control information (optional) The noiseless decoding tool takes information from the bitstream demultiplexer, parses that information, decodes the Huffman coded data, and reconstructs the quantized spectra and the Huffman and DPCM coded scalefactors. The inputs to the noiseless decoding tool are: • The sectioning information for the noiselessly coded spectra • The noiselessly coded spectra The outputs of the Noiseless Decoding tool are: • The decoded integer representation of the scalefactors: • The quantized values for the spectra The inverse quantizer tool takes the quantized values for the spectra, and converts the integer values to the non-scaled, reconstructed spectra. This quantizer is a non-uniform quantizer. The input to the Inverse Quantizer tool is: • The quantized values for the spectra The output of the inverse quantizer tool is: • The un-scaled, inversely quantized spectra --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- 2 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) The rescaling tool converts the integer representation of the scalefactors to the actual values, and multiplies the un-scaled inversely quantized spectra by the relevant scalefactors. The inputs to the rescaling tool are: • The decoded integer representation of the scalefactors • The un-scaled, inversely quantized spectra The output from the scalefactors tool is: • The scaled, inversely quantized spectra The M/S tool converts spectra pairs from Mid/Side to Left/Right under control of the M/S decision information in order to improve coding efficiency. The inputs to the M/S tool are: • The M/S decision information • The scaled, inversely quantized spectra related to pairs of channels The output from the M/S tool is: • The scaled, inversely quantized spectra related to pairs of channels, after M/S decoding Note: The scaled, inversely quantized spectra of individually coded channels are not processed by the M/S block, rather they are passed directly through the block without modification. If the M/S block is not active, all spectra are passed through this block unmodified. The prediction tool reverses the prediction process carried out at the encoder. This prediction process re-inserts the redundancy that was extracted by the prediction tool at the encoder, under the control of the predictor state information. This tool is implemented as a second order backward adaptive predictor. The inputs to the prediction tool are: • The predictor state information • The scaled, inversely quantized spectra The output from the prediction tool is: • The scaled, inversely quantized spectra, after prediction is applied. Note: If the prediction is disabled, the scaled, inversely quantized spectra are passed directly through the block without modification. The intensity stereo tool implements intensity stereo decoding on pairs of spectra. The inputs to the intensity stereo tool are: • The inversely quantized spectra • The intensity stereo control information The output from the intensity stereo tool is: • The inversely quantized spectra after intensity channel decoding. Note: The scaled, inversely quantized spectra of individually coded channels are passed directly through this tool without modification, if intensity stereo is not indicated. The intensity stereo tool and M/S tool are arranged so that the operation of M/S and intensity stereo are mutually exclusive on any given scalefactor band and group of one pair of spectra. --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST 3 Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) The coupling tool for dependently switched coupling channels adds the relevant data from dependently switched coupling channels to the spectra, as directed by the coupling control information. The inputs to the coupling tool are: • The inversely quantized spectra • The coupling control information The output from the coupling tool is: • The inversely quantized spectra coupled with the dependently switched coupling channels. Note: The scaled, inversely quantized spectra are passed directly through this tool without modification, if coupling is not indicated. Depending on the coupling control information, dependently switched coupling channels might either be coupled before or after the TNS processing. The coupling tool for independently switched coupling channels adds the relevant data from independently switched coupling channels to the time signal, as directed by the coupling control information. The inputs to the coupling tool are: • The time signal as output by the filterbank • The coupling control information The output from the coupling tool is: • The time signal coupled with the independently switched coupling channels. Note: The time signal is passed directly through this tool without modification, if coupling is not indicated. The temporal noise shaping (TNS) tool implements a control of the fine time structure of the coding noise. In the encoder, the TNS process has flattened the temporal envelope of the signal to which it has been applied. In the decoder, the inverse process is used to restore the actual temporal envelope(s), under control of the TNS information. This is done by applying a filtering process to parts of the spectral data. The inputs to the TNS tool are: • The inversely quantized spectra • The TNS information The output from the TNS block is: • The inversely quantized spectra Note: If this block is disabled, the inversely quantized spectra are passed through without modification. The filterbank / block switching tool applies the inverse of the frequency mapping that was carried out in the encoder. An inverse modified discrete cosine transform (IMDCT) is used for the filterbank tool. The IMDCT can be configured to support either one set of 128 or 1024, or four sets of 32 or 256 spectral coefficients. --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- 4 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- ISO/IEC 13818-7:2004(E) The inputs to the filterbank tool are: • The inversely quantized spectra • The filterbank control information The output(s) from the filterbank tool is (are): • The time domain reconstructed audio signal(s). When present, the gain control tool applies a separate time domain gain control to each of 4 frequency bands that have been created by the gain control PQF filterbank in the encoder. Then, it assembles the 4 frequency bands and reconstructs the time waveform through the gain control tool’s filterbank. The inputs to the gain control tool are: • The time domain reconstructed audio signal(s) • The gain control information The output(s) from the gain control tool is (are): • The time domain reconstructed audio signal(s) If the gain control tool is not active, the time domain reconstructed audio signal(s) are passed directly from the filterbank tool to the output of the decoder. This tool is used for the scalable sampling rate (SSR) profile only. Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST 5 Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) input time signal psychoacoustic model window length decision AAC gain control block switching filterbank threshold calculation TNS intensity spectral processing prediction M/S scaling quantization and noiseless coding quantization Huffman coding Legend: data control bitstream formatter coded audio stream Figure 1 – MPEG-2 AAC Encoder Block Diagram 6 Copyright International Organization for Standardization Reproduced by IHS under license with ISO © ISO/IEC 2004 – All rights reserved --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. Legend: data control ISO/IEC 13818-7:2004(E) Huffman decoding inverse quantization rescaling noiseless decoding and inverse quantization coded audio stream bitstream deformatter M/S prediction intensity dependently switched coupling spectral processing TNS dependently switched coupling block switching filterbank AAC gain control independently switched coupling output time signal Figure 2 – MPEG-2 AAC Decoder Block Diagram Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST 7 Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) 2 Normative References The following referenced documents are indispensable for the application of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies. ISO/IEC 11172-3, Information technology — Coding of moving pictures and associated audio for digital storage media at up to about 1,5 Mbit/s — Part 3: Audio ISO/IEC 13818-1, Information technology — Generic coding of moving pictures and associated audio information — Part 1: Systems ISO/IEC 13818-3, Information technology — Generic coding of moving pictures and associated audio information — Part 3: Audio ISO/IEC 14496-3, Information technology — Coding of audio-visual objects — Part 3: Audio 3 Terms and Definitions For the purposes of this part of ISO/IEC 13818, the following definitions apply: 3.1 access unit in the case of compressed audio an access unit is an audio access unit. 3.2 alias mirrored signal component resulting from sampling. 3.3 analysis filterbank filterbank in the encoder that transforms a broadband PCM audio signal into a set of spectral coefficients. 3.4 ancillary data part of the bitstream that might be used for transmission of ancillary data. 3.5 audio access unit for AAC, an audio access unit is defined as the smallest part of the encoded bitstream which can be decoded by itself, where decoded means "fully reconstructed sound". Typically this is a segment of the encoded bitstream starting after the end of the byte containing the last bit of one ID_END id_syn_ele() through the end of the byte containing the last bit of the next ID_END id_syn_ele. 3.6 audio buffer a buffer in the system target decoder (see ISO/IEC 13818-1) for storage of compressed audio data. 3.7 Bark the Bark is the standard unit corresponding to one critical band width of human hearing. 8 Copyright International Organization for Standardization Reproduced by IHS under license with ISO --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- 3.8 backward compatibility a newer coding standard is backward compatible with an older coding standard if decoders designed to operate with the older coding standard are able to continue to operate by decoding all or part of a bitstream produced according to the newer coding standard. 3.9 bitrate the rate at which the compressed bitstream is delivered to the input of a decoder. 3.10 bitstream; stream an ordered series of bits that forms the coded representation of the data. 3.11 bitstream verifier a process by which it is possible to test and verify that all the requirements specified in this part of ISO/IEC 13818 are met by the bitstream. 3.12 block companding normalising of the digital representation of an audio signal within a certain time period. 3.13 byte aligned a bit in a coded bitstream is byte-aligned if its position is a multiple of 8-bits from either the first bit in the stream for the Audio Data Interchange Format (see subclause 6.1) or the first bit in the syncword for the Audio Data Transport Stream Format (see subclause 6.2). 3.14 Byte sequence of 8-bits. 3.15 centre channel an audio presentation channel used to stabilise the central component of the frontal stereo image. 3.16 channel a sequence of data representing an audio signal intended to be reproduced at one listening position. 3.17 coded audio bitstream a coded representation of an audio signal. 3.18 coded representation a data element as represented in its encoded form. 3.19 compression: reduction in the number of bits used to represent an item of data. 3.20 constant bitrate operation where the bitrate is constant from start to finish of the coded bitstream. Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST 9 Questions or comments about this message: please call the Document Policy Group at 303-397-2295. --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- ISO/IEC 13818-7:2004(E) 3.21 CRC the Cyclic Redundancy Check to verify the correctness of data. 3.22 critical band this unit of bandwidth represents the standard unit of bandwidth expressed in human auditory terms, corresponding to a fixed length on the human cochlea. It is approximately equal to 100 Hz at low frequencies and 1/3 octave at higher frequencies, above approximately 700 Hz. 3.23 data element an item of data as represented before encoding and after decoding. 3.24 decoded stream the decoded reconstruction of a compressed bitstream. 3.25 decoder an embodiment of a decoding process. 3.26 decoding (process) the process defined in this part of ISO/IEC 13818 that reads an input coded bitstream and outputs decoded audio samples. 3.27 digital storage media; DSM a digital storage or transmission device or system. 3.28 discrete cosine transform; DCT either the forward discrete cosine transform or the inverse discrete cosine transform. The DCT is an invertible, discrete orthogonal transformation. 3.29 downmix a matrixing of n channels to obtain less than n channels. 3.30 editing the process by which one or more coded bitstreams are manipulated to produce a new coded bitstream. Conforming edited bitstreams must meet the requirements defined in this part of ISO/IEC 13818. 3.31 encoder an embodiment of an encoding process. 3.32 encoding (process) a process, not specified in ISO/IEC 13818, that reads a stream of input audio samples and produces a valid coded bitstream as defined in this part of ISO/IEC 13818. 10 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) 3.33 entropy coding variable length lossless coding of the digital representation of a signal to reduce statistical redundancy. 3.34 FFT Fast Fourier Transformation. A fast algorithm for performing a discrete Fourier transform (an orthogonal transform). 3.35 filterbank a set of band-pass filters covering the entire audio frequency range. 3.36 flag a variable which can take one of only the two values defined in this specification. 3.37 forward compatibility a newer coding standard is forward compatible with an older coding standard if decoders designed to operate with the newer coding standard are able to decode bitstreams of the older coding standard. 3.38 frame a part of the audio signal that corresponds to audio PCM samples from an audio access unit. 3.39 Fs sampling frequency. 3.40 Hann window a time function applied sample-by-sample to a block of audio samples before Fourier transformation. 3.41 Huffman coding a specific method for entropy coding. 3.42 hybrid filterbank a serial combination of subband filterbank and MDCT. 3.43 IDCT Inverse Discrete Cosine Transform. 3.44 IMDCT Inverse Modified Discrete Cosine Transform. Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 11 ISO/IEC 13818-7:2004(E) 3.45 intensity stereo a method of exploiting stereo irrelevance or redundancy in stereophonic audio programmes based on retaining at high frequencies only the energy envelope of the right and left channels. 3.46 joint stereo coding any method that exploits stereophonic irrelevance or stereophonic redundancy. 3.47 joint stereo mode a mode of the audio coding algorithm using joint stereo coding. 3.48 low frequency enhancement (LFE) channel a limited bandwidth channel for low frequency audio effects in a multichannel system. 3.49 main audio channels all channels represented by either single_channel_element()'s (see subclause 8.2.1) or channel_pair_element()´s (see subclause 8.2.1) 3.50 Mapping conversion of an audio signal from time to frequency domain by subband filtering and/or by MDCT. 3.51 Masking a property of the human auditory system by which an audio signal cannot be perceived in the presence of another audio signal. 3.52 masking threshold a function in frequency and time below which an audio signal cannot be perceived by the human auditory system. 3.53 modified discrete cosine transform (MDCT) a transform which has the property of time domain aliasing cancellation. An analytical espression for the MDCT can be found in subclause C.3.1.2. 3.54 M/S stereo a method of removing imaging artefacts as well as exploiting stereo irrelevance or redundancy in stereophonic audio programmes based on coding the sum and difference signal instead of the left and right channels. 3.55 Multichannel a combination of audio channels used to create a spatial sound field. 3.56 Multilingual a presentation of dialogue in more than one language. 12 Copyright International Organization for Standardization Reproduced by IHS under license with ISO --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) 3.57 non-tonal component a noise-like component of an audio signal. 3.58 NCC Number of Considered Channels. The number of channels represented by the elements SCE, independently switched CCE and CPE, i.e. once the number of SCEs plus once the number of independently switched CCEs plus twice the number of CPEs. With respect to the naming conventions of the MPEG-AAC decoders and bitstreams, NCC=A+I. This number is used to derive the required decoder input buffer size (see subclause 8.2.2). 3.59 Nyquist sampling sampling at or above twice the maximum bandwidth of a signal. 3.60 Padding a method to adjust the average length of an audio frame in time to the duration of the corresponding PCM samples, by conditionally adding a slot to the audio frame. 3.61 Parameter a variable within the syntax of this specification which may take one of a range of values. A variable which can take one of only two values is a flag or indicator and not a parameter. 3.62 Parser functional stage of a decoder which extracts from a coded bitstream a series of bits representing coded elements. 3.63 polyphase filterbank a set of equal bandwidth filters with special phase interrelationships, allowing for an efficient implementation of the filterbank. 3.64 prediction error the difference between the actual value of a sample or data element and its predictor. 3.65 Prediction the use of a predictor to provide an estimate of the sample value or data element currently being decoded. 3.66 predictor a linear combination of previously decoded sample values or data elements. 3.67 presentation channel an audio channel at the output of the decoder. 3.68 presentation unit In the case of compressed audio a decoded audio access unit. --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 13 ISO/IEC 13818-7:2004(E) 3.69 Program a set of main audio channels, coupling_channel_element()'s (see subclause 8.2.1), lfe_channel_element()'s (see subclause 8.2.1), and associated data streams intended to be decoded and played back simultaneously. A program may be defined by default (see subclause 8.5.2.1 and subclause 8.5.2.3) or specifically by a program_config_element() (see subclauses 8.5.2.2). A given single_channel_element() (see subclause 8.2.1), channel_pair_element() (see subclause 8.2.1), coupling_channel_element(), lfe_channel_element() or data channel may accompany one or more programs in any given bitstream. 3.70 psychoacoustic model a mathematical model of the masking behaviour of the human auditory system. 3.71 random access the process of beginning to read and decode the coded bitstream at an arbitrary point. 3.72 Reserved the term "reserved" when used in the clauses defining the coded bitstream indicates that the value may be used in the future for ISO/IEC defined extensions. 3.73 Sampling Frequency (Fs) defines the rate in Hertz which is used to digitise an audio signal during the sampling process. 3.74 Scalefactor factor by which a set of values is scaled before quantization. 3.75 scalefactor band a set of spectral coefficients which are scaled by one scalefactor. 3.76 scalefactor index a numerical code for a scalefactor. 3.77 side information information in the bitstream necessary for controlling the decoder. 3.78 spectral coefficients discrete frequency domain data output from the analysis filterbank. 3.79 spreading function a function that describes the frequency spread of masking effects. 3.80 stereo-irrelevant a portion of a stereophonic audio signal which does not contribute to spatial perception. 14 Copyright International Organization for Standardization Reproduced by IHS under license with ISO --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) 3.81 stuffing (bits); stuffing (bytes) code-words that may be inserted at particular locations in the coded bitstream that are discarded in the decoding process. Their purpose is to increase the bitrate of the stream which would otherwise be lower than the desired bitrate. 3.82 surround channel an audio presentation channel added to the front channels (L and R or L, R, and C) to enhance the spatial perception. 3.83 Syncword a 12-bit code embedded in the audio bitstream that identifies the start of a adts_frame() (see subclase 6.2, Table 5). 3.84 synthesis filterbank filterbank in the decoder that reconstructs a PCM audio signal from subband samples. 3.85 tonal component a sinusoid-like component of an audio signal. 3.86 variable bitrate operation where the bitrate varies with time during the decoding of a coded bitstream. 3.87 variable length coding a reversible procedure for coding that assigns shorter code-words to frequent symbols and longer code-words to less frequent symbols. 3.88 variable length code (VLC) a code word assigned by variable length encoder (See variable length coding) 3.89 variable length decoder a procedure to obtain the symbols encoded with a variable length coding technique. 3.90 variable length encoder a procedure to assign variable length codewords to symbols. 4 Symbols and Abbreviations The mathematical operators used to describe this International Standard are similar to those used in the C programming language. However, integer division with truncation and rounding are specifically defined. The bitwise operators are defined assuming twoscomplement representation of integers. Numbering and counting loops generally begin from zero. 4.1 Arithmetic Operators + Addition. − Subtraction (as a binary operator) or negation (as a unary operator). Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 15 ISO/IEC 13818-7:2004(E) ++ Increment. − − Decrement. * Multiplication. ^ Power. / Integer division with truncation of the result toward zero. For example, 7/4 and −7/−4 are truncated to 1 and −7/4 and 7/−4 are truncated to −1. // Integer division with rounding to the nearest integer. Half-integer values are rounded away from zero unless otherwise specified. For example 3//2 is rounded to 2, and −3//2 is rounded to −2. DIV Integer division with truncation of the result towards −∞. || Absolute value. | x | = x when x > 0 | x | = 0 when x == 0 | x | = −x when x < 0 % Modulus operator. Defined only for positive numbers. Sign( ) Sign. Sign(x) = 1 Sign(x) = 0 Sign(x) = −1 when x > 0 when x == 0 when x < 0 INT ( ) Truncation to integer operator. Returns the integer part of the real-valued argument. NINT ( ) Nearest integer operator. Returns the nearest integer value to the real-valued argument. Half-integer values are rounded away from zero. sin Sine. cos Cosine. exp Exponential. √ Square root. log10 Logarithm to base ten. loge Logarithm to base e. log2 Logarithm to base 2. 4.2 Logical Operators || Logical OR. && Logical AND. ! Logical NOT 4.3 Relational Operators > Greater than. >= Greater than or equal to. < Less than. 16 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- ISO/IEC 13818-7:2004(E) <= Less than or equal to. == Equal to. != Not equal to. max [,...,] the maximum value in the argument list. min [,...,] the minimum value in the argument list. 4.4 Bitwise Operators A twos complement number representation is assumed where the bitwise operators are used. & AND | OR >> Shift right with sign extension. << Shift left with zero fill. 4.5 Assignment = Assignment operator. 4.6 Mnemonics The following mnemonics are defined to describe the different data types used in the coded bitstream. bslbf Bit string, left bit first, where "left" is the order in which bit strings are written in ISO/IEC 13818. Bit strings are written as a string of 1s and 0s within single quote marks, e.g. '1000 0001'. Blanks within a bit string are for ease of reading and have no significance. L, C, R, LS, RS Left, center, right, left surround and right surround audio signals rpchof Remainder polynomial coefficients, highest order first. (Audio) uimsbf Unsigned integer, most significant bit first. vlclbf Variable length code, left bit first, where "left" refers to the order in which the VLC codes are written. window Number of the actual time slot in case of block_type == 2, 0 <= window <= 2. (Audio) The byte order of multi-byte words is most significant byte first. 4.7 Constants π 3.14159265358... e 2.71828182845... 5 Method of Describing Bitstream Syntax The bitstream retrieved by the decoder is described in clause 6. Each data item in the bitstream is in bold type. It is described by --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 17 ISO/IEC 13818-7:2004(E) --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- • its name; • its length in bits, where "X..Y" indicates that the number of bits is one of the values between X and Y including X and Y. "{X;Y}" means the number of bits is X or Y, depending on the value of other data elements in the bitstream; • a mnemonic for its type and order of transmission. The action caused by a decoded data element in a bitstream depends on the value of that data element and on data elements previously decoded. The decoding of the data elements and the definition of the state variables used in their decoding are described in the clauses following the syntax clause. The following constructs are used to express the conditions when data elements are present, and are in normal type: Note this syntax uses the 'C'-code convention that a variable or expression evaluating to a non-zero value is equivalent to a condition that is true. while (condition) { data_element; ... } If the condition is true, then the group of data elements occurs next in the data stream. This repeats until the condition is not true. do { data_element; ... } while (condition) The data element always occurs at least once. The data element is repeated until the condition is not true. if (condition) { data_element; ... } else { data_element; ... } If the condition is true, then the first group of data elements occurs next in the data stream If the condition is not true, then the second group of data elements occurs next in the data stream. switch (expression) { case const-expr: data_element; break; case const-expr: data_element; } If the condition formed by the comparison of expression and constexpr. is true, then the data stream continues with the subsequent data elements. An optionally break statement can be used to immediately leave the switch, data elements beyond a break do not occur in the data stream. for (expr1; expr2; expr3) { data_element; ... } Expr1 is an expression specifying the initialisation of the loop. Normally it specifies the initial state of the counter. Expr2 is a condition specifying a test made before each iteration of the loop. The loop terminates when the condition is not true. Expr3 is an expression that is performed at the end of each iteration of the loop, normally it increments a counter. Note that the most common usage of this construct is as follows: 18 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) for (i = 0; i < n; i++) { data_element ... } The group of data elements occurs n times. Conditional constructs within the group of data elements may depend on the value of the loop control variable i, which is set to zero for the first occurrence, incremented to one for the second occurrence, and so forth. As noted, the group of data elements may contain nested conditional constructs. For compactness, the {} may be omitted when only one data element follows. data_element [ ] data_element [n] data_element [m][n] data_element [l][m][n] data_element [m..n] data_element [ ] is an array of data. The number of data elements is indicated by the context. data_element [n] is the n+1th element of an array of data. data_element [m][n] is the m+1,n+1 th element of a two-dimensional array of data. data_element [l][m][n] is the l+1,m+1,n+1 th element of a threedimensional array of data. data_element [m..n]is the inclusive range of bits between bit m and bit n in the data_element. While the syntax is expressed in procedural terms, it should not be assumed that clause 6 implements a satisfactory decoding procedure. In particular, it defines a correct and errorfree input bitstream. Actual decoders must include a means to look for start codes in order to begin decoding correctly. Definition of nextbits function The function nextbits() permits comparison of a bit string with the next bits to be decoded in the bitstream. 6 Syntax 6.1 Audio Data Interchange Format, ADIF Table 2– Syntax of adif_sequence() Syntax adif_sequence() { adif_header(); byte_alignment(); raw_data_stream(); } No. of bits Mnemonic --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 19 ISO/IEC 13818-7:2004(E) Table 3 – Syntax of adif_header() Syntax adif_header() { adif_id; copyright_id_present; if (copyright_id_present) { copyright_id; } original_copy; home; bitstream_type; bitrate; num_program_config_elements; if (bitstream_type == ‘0’) { adif_buffer_fullness; } for (i = 0; i < num_program_config_elements + 1; i++) { program_config_element(); } } No. of bits 32 1 72 1 1 1 23 4 20 Mnemonic bslbf bslbf bslbf bslbf bslbf bslbf uimsbf bslbf uimsbf 6.2 Audio Data Transport Stream, ADTS Table 4 – Syntax of adts_sequence() Syntax adts_sequence() { while (nextbits() == syncword) { adts_frame(); } } No. of bits Mnemonic Table 5 – Syntax of adts_frame() Syntax adts_frame() { adts_fixed_header(); adts_variable_header(); if (number_of_raw_data_blocks_in_frame == 0) { adts_error_check(); raw_data_block(); } else { adts_header_error_check(); for (i = 0; i <= number_of_raw_data_blocks_in_frame; i++) { raw_data_block(); adts_raw_data_block_error_check(); } } } No. of bits Mnemonic 20 Copyright International Organization for Standardization Reproduced by IHS under license with ISO --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) Syntax Table 6 – Syntax of adts_header_error_check() No. of bits adts_header_error_check () { if (protection_absent == ‘0’) { for (i = 1; i <= number_of_raw_data_blocks_in_frame; i++) { raw_data_block_position[i]; 16 } crc_check; 16 } } Mnemoni c uimsfb rpchof Table 7 – Syntax of adts_raw_data_block_error_check() Syntax adts_raw_data_block_error_check() { if (protection_absent == ‘0’) crc_check; } No. of bits Mnemonic 16 rpchof 6.2.1 Fixed Header of ADTS Table 8 – Syntax of adts_fixed_header() Syntax adts_fixed_header() { syncword; ID; layer; protection_absent; profile; sampling_frequency_index; private_bit; channel_configuration; original/copy; home; } No. of bits 12 1 2 1 2 4 1 3 1 1 Mnemonic bslbf bslbf uimsbf bslbf uimsbf uimsbf bslbf uimsbf bslbf bslbf 6.2.2 Variable Header of ADTS Table 9 – Syntax of adts_variable_header() Syntax adts_variable_header() { copyright_identification_bit; copyright_identification_start; frame_length; adts_buffer_fullness; number_of_raw_data_blocks_in_frame; } No. of bits 1 1 13 11 2 Mnemonic bslbf bslbf bslbf bslbf uimsfb Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 21 ISO/IEC 13818-7:2004(E) 6.2.3 Error Detection Table 10 – Syntax of adts_error_check() Syntax adts_error_check() { if (protection_absent == ‘0’) crc_check; } No. of bits 16 Mnemonic rpchof 6.3 Raw Data Table 11 – Syntax of raw_data_stream() Syntax raw_data_stream() { while ( data_available() ) { raw_data_block(); } } No. of bits Mnemonic Table 12 – Syntax of raw_data_block() Syntax raw_data_block() { while ((id = id_syn_ele) != ID_END) { switch (id) { case ID_SCE: single_channel_element(); break; case ID_CPE: channel_pair_element(); break; case ID_CCE: coupling_channel_element(); break; case ID_LFE: lfe_channel_element(); break; case ID_DSE: data_stream_element(); break; case ID_PCE: program_config_element(); break; case ID_FIL: fill_element(); } } byte_alignment(); } No. of bits 3 Mnemonic uimsbf Table 13 – Syntax of single_channel_element() Syntax single_channel_element() { element_instance_tag; individual_channel_stream(0); } No. of bits 4 Mnemonic uimsbf 22 Copyright International Organization for Standardization Reproduced by IHS under license with ISO --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Table 14 – Syntax of channel_pair_element() Syntax channel_pair_element() { element_instance_tag; common_window; if ( common_window ) { ics_info(); ms_mask_present; if (ms_mask_present == 1) { for (g = 0; g < num_window_groups; g++) { for (sfb = 0; sfb < max_sfb; sfb++) { ms_used[g][sfb]; } } } } individual_channel_stream(common_window); individual_channel_stream(common_window); } No. of bits 4 1 2 1 Mnemonic uimsbf uimsbf uimsbf uimsbf Table 15 – Syntax of ics_info() Syntax ics_info() { ics_reserved_bit; window_sequence; window_shape; if (window_sequence == EIGHT_SHORT_SEQUENCE) { max_sfb; scale_factor_grouping; } else { max_sfb; predictor_data_present; if (predictor_data_present) { predictor_reset; if (predictor_reset) { predictor_reset_group_number; } for (sfb = 0; sfb < min(max_sfb, PRED_SFB_MAX); sfb++) { prediction_used[sfb]; } } } } No. of bits 1 2 1 4 7 6 1 1 5 1 Mnemonic bslbf uimsbf uimsbf uimsbf uimsbf uimsbf uimsbf uimsbf uimsbf uimsbf Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 23 ISO/IEC 13818-7:2004(E) Table 16 – Syntax of individual_channel_stream() Syntax individual_channel_stream(common_window) { global_gain; if (!common_window) ics_info(); section_data(); scale_factor_data(); No. of bits 8 pulse_data_present; 1 if (pulse_data_present) { pulse_data(); } tns_data_present; 1 if (tns_data_present) { tns_data(); } gain_control_data_present; 1 if (gain_control_data_present) { gain_control_data(); } spectral_data(); } Mnemonic uimsbf uismbf uimsbf uimsbf Table 17 – Syntax of section_data() Syntax section_data() { if (window_sequence == EIGHT_SHORT_SEQUENCE) sect_esc_val = (1<<3) - 1; else sect_esc_val = (1<<5) - 1; No. of bits for (g = 0; g < num_window_groups; g++) { k = 0; i = 0; while (k < max_sfb) { sect_cb[g][i]; sect_len = 0; while (sect_len_incr == sect_esc_val) { sect_len += sect_esc_val; } sect_len += sect_len_incr; sect_start[g][i] = k; sect_end[g][i] = k+sect_len; for (sfb = k; sfb < k+sect_len; sfb++) sfb_cb[g][sfb] = sect_cb[g][i]; k += sect_len; i++; } num_sec[g] = i; } } 4 {3;5} Mnemonic uimsbf uimsbf --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- 24 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) Table 18 – Syntax of scale_factor_data() Syntax No. of bits scale_factor_data() { for (g = 0; g < num_window_groups; g++) { for (sfb = 0; sfb < max_sfb; sfb++) { if (sfb_cb[g][sfb] != ZERO_HCB) { if (is_intensity(g,sfb)) hcod_sf[dpcm_is_position[g][sfb]]; else hcod_sf[dpcm_sf[g][sfb]]; } } } } 1..19 1..19 Mnemoni c vlclbf vlclbf Table 19 – Syntax of tns_data() Syntax tns_data() { for (w = 0; w < num_windows; w++) { n_filt[w]; if (n_filt[w]) coef_res[w]; for (filt = 0; filt < n_filt[w]; filt++) { length[w][filt]; order[w][filt]; if (order[w][filt]) { direction[w][filt]; coef_compress[w][filt]; for (i = 0; i < order[w][filt]; i++) coef[w][filt][i]; } } } } No. of bits 1..2 1 {4;6} {3;5} 1 1 2..4 Mnemonic uimsbf uimsbf uimsbf uimsbf uimsbf uimsbf uimsbf --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 25 ISO/IEC 13818-7:2004(E) Table 20 – Syntax of spectral_data() Syntax spectral_data() { for (g = 0; g < num_window_groups; g++) { for (i = 0; i < num_sec[g]; i++) { if (sect_cb[g][i] != ZERO_HCB && sect_cb[g][i] <= ESC_HCB) { for (k = sect_sfb_offset[g][sect_start[g][i]]; k < sect_sfb_offset[g][sect_end[g][i]]; ) { if (sect_cb[g][i] 0) { cnt -= extension_payload(cnt); } } No. of bits 4 8 Mnemonic uimsbf uimsbf --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- 30 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Syntax gain_control_data() { max_band; Table 27 – Syntax of gain_control_data() No. of bits 2 if (window_sequence == ONLY_LONG_SEQUENCE) { for (bd = 1; bd <= max_band; bd++) { for (wd = 0; wd < 1; wd++) { adjust_num[bd][wd]; 3 for (ad = 0; ad < adjust_num[bd][wd]; ad++) { alevcode[bd][wd][ad]; 4 aloccode[bd][wd][ad]; 5 } } } } else if (window_sequence == LONG_START_SEQUENCE) { for (bd = 1; bd <= max_band; bd++) { for (wd = 0; wd < 2; wd++) { adjust_num[bd][wd]; 3 for (ad = 0; ad < adjust_num[bd][wd]; ad++) { alevcode[bd][wd][ad]; 4 if (wd == 0) aloccode[bd][wd][ad]; 4 else aloccode[bd][wd][ad]; 2 } } } } else if (window_sequence == EIGHT_SHORT_SEQUENCE) { for (bd = 1; bd <= max_band; bd++) { for (wd = 0; wd < 8; wd++) { adjust_num[bd][wd]; 3 for (ad = 0; ad < adjust_num[bd][wd]; ad++) { alevcode[bd][wd][ad]; 4 aloccode[bd][wd][ad]; 2 } } } } else if (window_sequence == LONG_STOP_SEQUENCE) { for (bd = 1; bd <= max_band; bd++) { for (wd = 0; wd < 2; wd++) { adjust_num[bd][wd]; 3 for (ad = 0; ad < adjust_num[bd][wd]; ad++) { alevcode[bd][wd][ad]; 4 if (wd == 0) aloccode[bd][wd][ad]; 4 else aloccode[bd][wd][ad]; 5 } } } } } Mnemonic uimsbf uimsbf uimsbf uimsbf uimsbf uimsbf uimsbf uimsbf uimsbf uimsbf uimsbf uimsbf uimsbf uimsbf uimsbf Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 31 ISO/IEC 13818-7:2004(E) Table 28 – Syntax of extension_payload() extension_payload(cnt) { extension_type; 4 uimsbf switch (extension_type) { case EXT_DYNAMIC_RANGE: n = dynamic_range_info(); return n; case EXT_SBR_DATA: return sbr_extension_data(id_aac, 0); Note 1 case EXT_SBR_DATA_CRC: return sbr_extension_data(id_aac, 1); Note 1 case EXT_FILL_DATA: fill_nibble; /* must be ‘0000’ */ 4 uimsbf for (i = 0; i < cnt-1; i++) fill_byte[i]; /* must be ‘10100101’ */ 8 uimsbf return cnt; case default: for (i = 0; i < 8*(cnt-1)+4; i++) other_bits[i]; 1 uimsbf return cnt; } } Note 1: id_aac is the id_syn_ele of the corresponding AAC element (ID_SCE or ID_CPE) or ID_SCE in case of CCE. 32 Copyright International Organization for Standardization Reproduced by IHS under license with ISO --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) Table 29 – Syntax of dynamic_range_info() Syntax dynamic_range_info() { n = 1; drc_num_bands = 1; pce_tag_present; if (pce_tag_present == 1) { pce_ instance_tag; drc_tag_reserved_bits; n++; } excluded_chns_present; if (excluded_chns_present == 1) { n += excluded_channels(); } drc_bands_present ; if (drc_bands_present == 1) { drc_band_incr; drc_bands_reserved_bits; n++; drc_num_bands = drc_num_bands + drc_band_incr; for (i = 0; i < drc_num_bands; i++) { drc_band_top[i]; n++; } } prog_ref_level_present; if (prog_ref_level_present == 1) { prog_ref_level; prog_ref_level_reserved_bits; n++; } for (i = 0; i < drc_num_bands; i++) { dyn_rng_sgn[i]; dyn_rng_ctl[i]; n++; } return n; } No. of bits 1 4 4 1 1 4 4 8 1 7 1 1 7 Mnemonic uimsbf uimsbf uimsbf uimsbf uimsbf uimsbf uimsbf uimsbf uimsbf uimsbf uimsbf uimsbf Table 30 – Syntax of excluded_channels() Syntax excluded_channels( ) { n = 0; num_excl_chan = 70; for (i = 0; i < 7; i++) exclude_mask[i]; n++; while (additional_excluded_chns[n-1] == 1) { for (i = num_excl_chan; i < num_excl_chan+7; i++) exclude_mask[i]; n++; num_excl_chan += 7; } return n; } No. Of bits 1 1 1 Mnemonic uimsbf uimsbf uimsbf Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 33 --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- ISO/IEC 13818-7:2004(E) 7 Profiles and Profile Interoperability --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- 7.1 Profiles There are three profiles identified in the MPEG-2 AAC standard: Main Profile Low Complexity Profile Scalable Sampling Rate Profile In the program_config_element() and adts_fixed_header(), a two bit field indicates the profile in use: Table 31 – Profiles index 0 1 2 3 profile Main profile Low Complexity profile (LC) Scalable Sampling Rate profile (SSR) (reserved) 7.1.1 Main The Main profile is used when memory cost is not significant, and when there is substantial processing power available. With the exception of the gain control tool, all parts of the tools may be used in order to provide the best data compression possible. There shall be only one program (in the sense of what is specified in a program_config_element()) in a Main profile bitstream. The program in a Main profile bitstream shall not contain any mono or stereo mixdown elements. 7.1.2 Low Complexity The Low Complexity profile is used when RAM usage, processing power, and compression requirements are all present. In the low complexity profile, prediction, and gain control tool are not permitted and TNS order is limited. There shall be only one program (in the sense of what is specified in a program_config_element()) in a Low Complexity profile bitstream. The program in a Low Complexity profile bitstream shall not contain any mono or stereo mixdown elements. 7.1.3 Scalable Sampling Rate In the Scalable Sampling Rate profile, the gain-control tool is required. Prediction and coupling channels are not permitted, and TNS order and bandwidth are limited. Gain control is not used in the lowest of the 4 PQF subbands. In the case of a reduced audio bandwidth, the SSR profile will scale accordingly in complexity. There shall be only one program (in the sense of what is specified in a program_config_element()) in a Scalable Sampling Rate profile bitstream. The program in a Scalable Sampling Rate profile bitstream shall not contain any mono or stereo mixdown elements. 7.1.4 Naming Convention for MPEG-2 AAC Decoders and Bitstreams A decoder or bitstream may be specified as an A.L.I.D Channel Profile MPEG-2 AAC decoder or bitstream, where A is replaced by the number of main audio channels, L by the number of LFE channels, I by the number of independently switched coupling channels, D by the number of dependently switched coupling channels, and Profile 34 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) Name by the actual profile name. An example would be a 5.1.1.1 Channel Main Profile MPEG-2 AAC Decoder, indicating a decoder capable of decoding 5 main audio channels, one LFE channel, and one each independently and dependently switched CCE, with each of the channels using the profile specified. This can be abbreviated as M.5.1.1.1 where the "M" indicates a main profile decoder. Similarly, a Low Complexity decoder can be specified by a leading "L", and an SSR profile by an "S". 7.1.5 Minimum Decoder Capability for Specified Number of Main Audio Channels and Profile To insure a certain level of interoperability the following minimum decoder capabilities for decoders of a given profile and number of main audio channels are specified. Table 32 – Profile dependent minimum decoder capabilities in terms of channel configuration Number of Main Audio Channels 1 2 3 4 5 7 Main Profile Capability 1.0.0.0 2.0.0.0 3.0.1.0 4.0.1.0 5.1.1.1 7.1.1.2 Low Complexity Profile Capability 1.0.0.0 2.0.0.0 3.0.0.1 4.0.0.1 5.1.0.1 7.1.0.2 SSR Profile Capability 1.0.0.0 2.0.0.0 3.0.0.0 4.0.0.0 5.1.0.0 7.1.0.0 7.1.6 Profile Dependent Tool Parameters Maximum TNS order and bandwidth: According to the profile in use, the value for the constant TNS_MAX_ORDER is set as follows for long windows: For the main profile the constant TNS_MAX_ORDER is 20, for the low complexity profile and the scalable sampling rate profile the constant TNS_MAX_ORDER is 12. For short windows, the constant TNS_MAX_ORDER is 7 for all profiles. According to the sampling rate and profile in use, the value for the constant TNS_MAX_BANDS is set as follows: Table 33 – Profile and sampling rate dependent definition of TNS_MAX_BANDS Sampling Rate [Hz] 96000 88200 64000 48000 44100 32000 24000 22050 16000 12000 11025 8000 Low Complexity Low Complexity / Main Profile / Main Profile (long windows) (short windows) 31 9 31 9 34 10 40 14 42 14 51 14 46 14 46 14 42 14 42 14 42 14 39 14 Scalable Sampling Rate Profile (long windows) 28 28 27 26 26 26 29 29 23 23 23 19 Scalable Sampling Rate Profile (short windows) 7 7 7 6 6 6 7 7 8 8 8 7 --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 35 ISO/IEC 13818-7:2004(E) 7.2 Profile Interoperability 7.2.1 Interoperability of Bitstreams and Decoders Any bitstream of a given profile (see Table 34) whose number of main audio channels, LFE channels, independent coupling channels, and dependent coupling channels is less than or equal to the corresponding number of channels supported by a decoder of the same profile can be decoded by that decoder. Table 34 describes the interoperability of the three profiles. Decoder Profile Main Profile LC Profile SSR Profile Table 34 – Profile Interoperability Main Profile yes no no Encoder Profile LC Profile yes yes no ** SSR Profile no * no * yes *In Table 34, these entries can be decoded if the main or LC profile decoder is able to parse, but not decode, the gain control information, but the reconstructed audio will have a limited bandwidth. **In Table 33, this entry can be decoded, but the bandwidth of the decoded signal will be limited to approximately 5 kHz, corresponding to the nonaliased portion of the first PQMF filter band. Main Low Complexity Scalable Sampling Rate 20 kHz 18 kHz 12 kHz 6 kHz Figure 3 – Profile Interoperability 36 Copyright International Organization for Standardization Reproduced by IHS under license with ISO --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- 8 General Information 8.1 Audio Data Interchange Format (ADIF) and Audio Data Transport Stream (ADTS) 8.1.1 Definitions 8.1.1.1 Data Functions adif_header() adif_sequence() adts_error_check() header of the Audio Data Interchange Format located at the beginning of an adif_sequence (Table 3). a sequence according to the Audio Data Interchange Format (Table 2). The following bits are protected and fed into the CRC algorithm in order of their appearance: • all bits of the headers • first 192 bits of any • single_channel_element() (SCE) • channel_pair_element() (CPE) • coupling_channel_element() (CCE) • low frequency enhancement channel (LFE) In addition, the first 128 bits of the second individual_channel_stream in the channel_pair_element() must be protected. All information in any Program_config_element() or data element must be protected. For any element where the specified protection length of 128 or 192 bits exceeds its actual length, the element is zero padded to the specified protection length for CRC calculation. Note that “all bits of the header” refers to the bits in the adts_fixed_header() and adts_variable_header(); that the id_syn_ele bits shall be excluded from CRC protection, and that if the length of a CPE is shorter than 192 bits, zero data are appended to achieve the length of 192 bits. Furthermore, if the first ICS of the CPE ends at the Nth bit (N<192), the first (192 – N) bits of the second ICS are protected twice, each time in order of their appearance. For example, if the second ICS starts at the 190th bit of CPE, the first 3 bits of the second ICS are protected twice. Finally, if the length of the second ICS is shorter than 128 bits, zero data are appended to achieve the length of 128 bits. Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 37 ISO/IEC 13818-7:2004(E) --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- adts_raw_data_block_error_check() adts_fixed_header() adts_frame() adts_header_error_check() With regard to the i-th adts_raw_data_block_error_check(), the following bits of the i-th raw_data_block() are protected and fed into the CRC algorithm in order of their appearance: • First 192 bits of any • single_channel_element() (SCE) • channel_pair_element() (CPE) • coupling_channel_element() (CCE) • low frequency enhancement channel (LFE) • First 128 bits of the second individual_channel_stream (ICS) in the channel_pair_element() must be protected. • All information in any program_config_element() (PCE) or data_stream_element() (DSE) must be protected. For any element where the specified length of 128 or 192 bits exceeds its actual length, the element is zero padded to the specified length for CRC calculation. The id_syn_ele bits shall be excluded from CRC protection. If the length of a CPE is shorter than 192 bits, zero data are appended to achieve the length of 192 bits. Furthermore, if the first ICS of the CPE ends at the Nth bit (N<192), the first (192 - N) bits of the second ICS are protected twice, each time in order of their appearance. For example, if the second ICS starts at the 190th bit of CPE, the first 3 bits of the second ICS are protected twice. Finally, if the length of the second ICS is shorter than 128 bits, zero data are appended to achieve the length of 128 bits. fixed header of ADTS. The information in this header does not change from frame to frame. It is repeated every frame to allow random access into a bitstream bitstream (Table 8). an ADTS frame, consisting of a fixed header, a variable header, an optional error check and a specified number of raw_data_block()'s (Table 5). The following bits are protected and fed into the CRC algorithm in order of their appearance: • all bits of adts_fixed_header() • all bits of adts_variable_header() • all bits of every raw_data_block_position[i]. 38 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. adts_sequence() adts_variable_header() byte_alignment() program_config_element() raw_data_block() 8.1.1.2 Data Elements adif_id copyright_id_present copyright_id original_copy home bitstream_type bitrate Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO ISO/IEC 13818-7:2004(E) a sequence according to Audio Data Transport Stream ADTS (Table 4). variable header of ADTS. This header is transmitted every frame as well as the fixed header, but contains data that changes from frame to frame (Table 9). If called from within a raw_data_block() then align with respect to the first bit of the raw_data_block(), else align with respect to the first bit of the header. contains information about the configuration for one program (Table 3). See subclause 8.5. see subclause 8.2.1 and Table 12. ID that indicates the Audio Data Interchange Format. Its value is 0x41444946 (most significant bit first), the ASCII representation of the string „ADIF“ (Table 3). indicates whether copyright_id is present or not (Table 3). The field consists of an 8-bit copyright_identifier, followed by a 64-bit copyright_number (Table 3). The copyright identifier is given by a Registration Authority as designated by SC 29. The copyright_number is a value which identifies uniquely the copyrighted material. See ISO/IEC 13818-3, definition of data element copyright_identification_bit. see ISO/IEC 11172-3, subclause 2.4.2.3 (Table 3) definition for copyright. see ISO/IEC 11172-3, subclause 2.4.2.3 (Table 3) definition for original_copy. a flag indicating the type of a bitstream (Table 3): ‘0’ constant rate bitstream. This bitstream may be transmitted via a channel with constant rate ‘1’ variable rate bitstream. This bitstream is not designed for transmission via constant rate channels a 23 bit unsigned integer indicating either the bitrate of the bitstream in bits/sec in case of constant rate bitstream or the maximum peak bitrate (measured per frame) in case of variable rate bitstreams. A value of 0 indicates that the bitrate is not known (Table 3). --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 39 ISO/IEC 13818-7:2004(E) --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- num_program_config_element adif_buffer_fullness syncword ID layer protection_absent profile sampling_frequency_index private_bit channel_configuration 40 Copyright International Organization for Standardization Reproduced by IHS under license with ISO number of program_config_element()´s specified for this adif_sequence() is equal to num_program_config_element+1 (Table 3). The minimum value is 0 indicating 1 program_config_element(). state of the bit reservoir after encoding the first raw_data_block() in the adif_sequence(). It is transmitted as the number of available bits in the bit reservoir (Table 3). The bit string ‘1111 1111 1111’. See ISO/IEC 11172-3, subclause 2.4.2.3 (Table 8). MPEG identifier, set to ‘1’. See ISO/IEC 11172-3, subclause 2.4.2.3 (Table 8). Indicates which layer is used. Set to ‘00’. See ISO/IEC 11172-3, subclause 2.4.2.3 (Table 8). Indicates whether error_check() data is present or not. Same as syntax element ‘protection_bit’ in ISO/IEC 11172-3, subclause 2.4.1 and 2.4.2 (Table 8). profile used. See clause 2 (Table 8). indicates the sampling frequency used according to the following table (Table 8): Table 35 – Sampling frequency dependent on sampling_frequency_index sampling_frequency_index 0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf sampling frequeny [Hz] 96000 88200 64000 48000 44100 32000 24000 22050 16000 12000 11025 8000 reserved reserved reserved reserved see ISO/IEC 11172-3, subclause 2.4.2.3 (Table 8). indicates the channel configuration used. If channel_configuration is greater than 0, the channel configuration is given by the ‘Default Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- bitstream index number’ in Table 42, see subclause 8.5. If channel_configuration equals 0, the channel configuration is not specified in the header and must be given by a program_config_element() following as first syntactic element in the first raw_data_block() after the header, or by the implicit configuration (see subclause 8.5) or must be known in the application (Table 8). copyright_identification_bit One bit of the 72-bit copyright identification field (see copyright_id above). The bits of this field are transmitted frame by frame; the first bit is indicated by the copyright_identification_start bit set to ‘1’. The field consists of an 8-bit copyright_identifier, followed by a 64-bit copyright_number. The copyright identifier is given by a Registration Authority as designated by SC29. The copyright_number is a value which identifies uniquely the copyrighted material. See ISO/IEC 13818-3, subclause 2.5.2.13 (Table 9). copyright_identification_start One bit to indicate that the copyright_identification_bit in this audio frame is the first bit of the 72-bit copyright identification. If no copyright identification is transmitted, this bit should be kept '0'.'0' no start of copyright identification in this audio frame '1' start of copyright identification in this audio frame See ISO/IEC 13818-3, subclause 2.5.2.13 (Table 9). frame_length Length of the frame including headers and error_check in bytes (Table 9). adts_buffer_fullness state of the bit reservoir in the course of encoding the ADTS frame, up to and including the first raw_data_block(). It is transmitted as the number of available bits in the bit reservoir divided by NCC divided by 32 and truncated to an integer value (Table 9). A value of hexadecimal 7FF signals that the bitstream is a variable rate bitstream. In this case, buffer fullness is not applicable. number_of_raw_data_blocks_in_frame Number of raw_data_block()’s that are multiplexed in the adts_frame() is equal to number_of_raw_data_blocks_in_frame + 1. The minimum value is 0 indicating 1 raw_data_block() (Table 9). raw_data_block_position[i] Start position of the i-th raw_data_block() in the adts_frame(), measured as an offset in bytes from the start position of the first raw_data_block() in the adts_frame(). Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 41 ISO/IEC 13818-7:2004(E) --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- crc_check CRC error detection data generated as described in ISO/IEC 11172-3, subclause 2.4.3.1 (Table 10). 8.1.1.3 Help Elements data_available() Function that returns ‘1’ as long as data is available, otherwise ‘0’. 8.1.2 Overview The raw_data_block() contains all data which belongs to the audio (including ancillary data). Beyond that, additional information like sampling_frequency is needed to fully describe an audio sequence. The Audio Data Interchange Format (ADIF) contains all elements that are necessary to describe a bitstream according to this standard. For specific applications some or all of the syntax elements like those specified in the header of the ADIF, e.g. sampling_rate, may be known to the decoder by other means and hence do not appear in the bitstream. Furthermore, additional information that varies from block to block (e.g. to enhance the parsability or error resilience) may be required. Therefore transport streams may be designed for a specific application and are not specified in this standard. However, one non-normative transport stream, called Audio Data Transport Stream (ADTS), is described. It may be used for applications in which the decoder can parse this stream. 8.1.3 Audio Data Interchange Format ADIF The Audio Data Interchange Format (ADIF) contains one header at the start of the sequence followed by a raw_data_stream(). The raw_data_stream() may not contain any further program_config_element()’s. As such, the ADIF is useful only for systems with a defined start and no need to start decoding from within the audio data stream, such as decoding from disk file. It can be used as an interchange format in that it contains all information necessary to decode and play the audio data. 8.1.4 Audio Data Transport Stream ADTS The Audio Data Transport Stream (ADTS) is similar to syntax used in ISO/IEC 11172-3 and ISO/IEC 13818-3. This will be recognized by ISO/IEC 11172-3 decoders as a “Layer 4” bitstream. The fixed header of the ADTS contains the syncword plus all parts of the header which are necessary for decoding and which do not change from frame to frame. The variable header of the ADTS contains header data which changes from frame to frame. 8.2 Decoding of Raw Data 8.2.1 Definitions 8.2.1.1 Data Functions raw_data_stream() raw_data_block() sequence of raw_data_block()’s. block of raw data that contains audio data for a time period of 1024 samples, related information and 42 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- single_channel_element() channel_pair_element() coupling_channel_element() Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO ISO/IEC 13818-7:2004(E) other data. There are seven syntactic elements, identified by the data element id_syn_ele. The audio_channel_element()'s in one raw_data_stream() and one raw_data_block() must have one and only one sampling rate. In the raw_data_block(), several instances of the same syntactic element may occur, but must have a different 4 bit element_instance_tag, except for data_stream_element()'s and fill_element()'s. Therefore, in one raw_data_block(), there can be from 0 to at most 16 instances of any syntactic element, except for data_stream_element()'s and fill_element()'s, where this limitation does not apply. If multiple data_stream_element()'s occur which have the same element_instance_tag then they are part of the same data stream. The fill_element() has no element_instance_tag (since the content does not require subsequent reference) and can occur any number of times. The end of a raw_data_block() is indicated with a special id_syn_ele (TERM), which may occur only once in a raw_data_block(). (Table 12). abbreviaton SCE. Syntactic element of the bitstream containing coded data for a single audio channel. A single_channel_element() basically consists of an individual_channel_stream(). There may be up to 16 such elements per raw data block, each one must have a unique element_instance_tag (Table 13). abbreviation CPE. Syntactic element of the bitstream containing data for a pair of channels. A channel_pair_element() consists of two individual_channel_stream()’s and additional joint channel coding information. The two channels may share common side information. The channel_pair_element() has the same restrictions as the single channel element as far as element_instance_tag, and number of occurrances (Table 14). Abbreviation CCE. Syntactic element that contains audio data for a coupling channel. A coupling channel represents the information for multichannel intensity for one block, or alternately for dialogue for multilingual programming. The rules for number of coupling_channel_element()'s and instance tags are as for single_channel_element()'s (Table 22). See subclause 12.3. Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 43 --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- ISO/IEC 13818-7:2004(E) lfe_channel_element() audio_channel_element() program_config_element() fill_element() data_stream_element() 8.2.1.2 Data Elements id_syn_ele element_instance_tag 44 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Abbreviation LFE. Syntactic element that contains a low sampling frequency enhancement channel. The rules for the number of lfe_channel_element()'s and instance tags are as for single_channel_element()'s (Table 23). See subclause 8.4. generic term for single_channel_element(), channel_pair_element(), coupling_channel_element() and lfe_channel_element(). Abbreviation PCE. Syntactic element that contains program configuration data. The rules for the number of program_config_element()’s and element_instance_tag’s are the same as for single_channel_element()’s (Table 25). PCE’s must come before all other syntactic elements in a raw_data_block(). See subclause 8.5. Abbreviation FIL. Syntactic element that contains fill data. There may be any number of fill elements, that can come in any order in the raw data block (Table 26). See subclause 8.7. Abbreviation DSE. Syntactic element that contains data. Again, there are 16 element_instance_tags. There is, however, no restriction on the number of data_stream_element()'s with any one instance tag, as a single data stream may continue across multiple data_stream_element()'s with the same instance tag (Table 24). See subclause 8.5.2. a data element that identifies either a syntactic element or the end of a raw_data_block() (Table 12): Table 36 – Syntaxtic element identification ID name encoding Abbreviation Syntactic Element ID_SCE 0x0 SCE single_channel_element() ID_CPE 0x1 CPE channel_pair_element() ID_CCE 0x2 CCE coupling_channel_element() ID_LFE 0x3 LFE lfe_channel_element() ID_DSE 0x4 DSE data_stream_element() ID_PCE 0x5 PCE program_config_element() ID_FIL 0x6 FIL fill_element() ID_END 0x7 TERM Unique instance tag for syntactic elements other than fill_element(). All syntactic elements containing instance tags may occur more than once, but, except for data_stream_element()'s, Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) must have a unique element_instance_tag in each raw_data_block(). This tag is also used to reference audio syntactic elements in single_channel_element()'s, channel_pair_element()'s, lfe_channel_element()'s, data_channel_element()'s, and coupling_channel_element()'s inside a program_config_element(), and provides the possibility of up to 16 independent program_config_element()’s (Table 13, Table 14, Table 22, Table 23, Table 24, Table 25, Table 26). 8.2.2 Buffer Requirements 8.2.2.1 Minimum Decoder Input Buffer The following rules are used to calculate the maximum number of bits in the input buffer both for the bitstream as a whole, for any given program, or for any given SCE/CPE/CCE: The input buffer size is 6144 bits per SCE or independently switched CCE, plus 12288 bits per CPE (6144*NCC). Both the total buffer and the individual buffer sizes are limited, so that the buffering limit can be calculated for either the entire bitstream, any entire program, or the individual audio_channel_element()'s permitting the decoder to break a multichannel bitstream into separate mono and stereo bitstreams which are decoded by separate mono and stereo decoders, respectively. All bits for LFE’s or dependent CCE's must be supplied from the total buffer requirements based on the independent CCE's, SCE's, and CPE's. Furthermore, all bits required for any DSE’s, PCE’s, FIL’s, or fixed headers, variable headers, byte_alignment, and CRC must also be supplied from the same total buffer requirements. 8.2.2.2 Bit Reservoir The bit reservoir is controlled at the encoder. The maximum bit reservoir in the encoder depends on the NCC and the mean bitrate. The maximum bit reservoir size for constant rate channels can be calculated by subtracting the mean number of bits per block from the minimum decoder input buffer size. For example, at 96 kbit/s for a stereo signal at 44.1 kHz sampling frequency the mean number of bits per block (mean_framelength) is ( 96000 bit/s / 44100 1/s * 1024 ) = 2229.1156… . This leads to a maximum bit reservoir size (max_bit_reservoir) of INT ( 12288 bit - 2229.1156… ) = 10058. For variable bitrate channels the encoder must operate in a way that the input buffer requirements do not exceed the minimum decoder input buffer. The state of the bit reservoir (bit_reservoir_state) is transmitted in the buffer_fullness field, either as the state of the bit reservoir truncated to an integer value (adif_buffer_fullness) or as the state of the bit reservoir divided by NCC divided by 32 and truncated to an integer value (adts_buffer_fullness). The bit_reservoir_state of subsequent frames can be derived as follows: bit_reservoir _ state[ frame] = bit _ reservoir _ state[ frame − 1] + mean _ framelength − framelength[ frame] Framelengths have to be adjusted such that the following restriction is met 0 ≤ bit_reservoir _ state[ frame] ≤ max_bit _ reservoir --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 45 ISO/IEC 13818-7:2004(E) 8.2.2.3 Maximum Bitrate Maximum bitrate: The maximum bitrate depends on the audio sampling rate. It can be calculated based on the minimum input buffer size according to the formula: 6144 bit block 1024 samples block ⋅ sampling _ frequency ⋅ NCC Table 37 gives some examples of the maximum bitrates per channel depending on the used sampling frequency. Table 37 – Maximum bitrate depending on the sampling frequency sampling_frequency 48 kHz 44.1 kHz 32 kHz maximum bitrate / NCC 288 kbit/s 264.6 kbit/s 192 kbit/s 8.2.3 Decoding Process Assuming that the start of a raw_data_block() is known, it can be decoded without any additional „transport-level“ information and produces 1024 audio samples per output channel. The sampling rate of the audio signal, as specified by the sampling_frequency_index, may be specified in a program_config_element() or it may be implied in the specific application domain. In the latter case, the sampling_frequency_index must be deduced in order for the bitstream to be parsed. Since a given sampling frequency is associated with only one sampling frequency table, and since maximum flexibility is desired in the range of possible sampling frequencies, the following Table shall be used to associate an implied sampling frequency with the desired sampling frequency dependent tables. Table 38 – Sampling frequency mapping Frequency range (in Hz) f >= 92017 92017 > f >= 75132 75132 > f >= 55426 55426 > f >= 46009 46009 > f >= 37566 37566 > f >= 27713 27713 > f >= 23004 23004 > f >= 18783 18783 > f >= 13856 13856 > f >= 11502 11502 > f >= 9391 9391 > f Use tables for sampling frequency (in Hz) 96000 88200 64000 48000 44100 32000 24000 22050 16000 12000 11025 8000 46 Copyright International Organization for Standardization Reproduced by IHS under license with ISO --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) The raw_data_stream supports encoding for both constant rate and variable rate channels. In each case the structure of the bitstream and the operation of the decoder are identical except for some minor qualifications. For constant rate channels, the encoder may have to insert a FIL element to adjust the rate upwards to exactly the desired rate. A decoder reading from a constant rate channel must accumulate a minimum number of bits in its input buffer prior to the start of decoding so that output buffer underrun does not occur. In the case of variable rate, demand read channels, each raw_data_block() can have the minimum length (rate) such that the desired audio quality is achieved, and in the decoder there is no minimum input data requirement prior to the start of decoding. Examples of the simplest possible bitstreams are: bitstream segment … output signal mono signal stereo signal 5.1 channel signal where angle brackets (< >) are used to delimit syntactic elements. For the mono signal each SCE must have the same value in its element_instance_tag, and similarly, for the stereo signal each CPE must have the same value in its element_instance_tag. For the 5.1 channel signal each SCE must have the same value in its element_instance_tag, each CPE associated with the front channel pair must have the same value in its element_instance_tag, and each CPE associated with the back channel pair must have the same value in its element_instance_tag. If these bitstreams are to be transmitted over a constant rate channel then they might include a fill_element() to adjust the instantaneous bitrate. In this case an example of a coded stereo signal is … If the bitstreams are to carry ancillary data and run over a constant rate channel then an example of a coded stereo signal is … All data_stream_element()'s have the same element_instance_tag if they are part of the same data stream. 8.3 Decoding of a single_channel_element() (SCE), a channel_pair_element() (CPE) or an individual_channel_stream() (ICS) 8.3.1 Definitions 8.3.1.1 Data Elements common_window ics_reserved_bit a flag indicating whether the two individual_channel_stream()’s share a common ics_info() or not. In case of sharing, the ics_info() is part of the channel_pair_element() and must be used for both channels. Otherwise, the ics_info() is part of each individual_channel_stream() (Table 14). flag reserved for future use. Shall be '0'. --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 47 --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- ISO/IEC 13818-7:2004(E) window_sequence window_shape max_sfb scale_factor_grouping 8.3.1.2 Data Functions individual_channel_stream() ics_info() 8.3.1.3 Help Elements scalefactor window band scalefactor band g win sfb swb bin num_window_groups window_group_length[g] bit_set(bit_field,bit_num) num_windows num_swb_long_window 48 Copyright International Organization for Standardization Reproduced by IHS under license with ISO indicates the sequence of windows as defined in Table 44 (Table 15). A 1 bit field that determines what window is used for the trailing part of this analysis window (Table 15). number of scalefactor bands transmitted per group (Table 15). A bit field that contains information about grouping of short spectral data (Table 15). contains data necessary to decode one channel (Table 16). contains side information necessary to decode an individual_channel_stream(). The individual_channel_stream()’s of a channel_pair_element() may share one common ics_info() (Table 15). term for scalefactor bands within a window, given in Table 45 to Table 57. term for scalefactor band within a group. In the case of EIGHT_SHORT_SEQUENCE and grouping a scalefactor band may contain several scalefactor window bands of corresponding frequency. For all other window_sequences scalefactor bands and scalefactor window bands are identical. group index. window index within group. scalefactor band index within group. scalefactor window band index within window. coefficient index. number of groups of windows which share one set of scalefactors. number of windows in each group. function that returns the value of bit number bit_num of a bit_field (most right bit is bit 0). number of windows of the actual window sequence. number of scalefactor bands for long windows. This number has to be selected depending on the sampling frequency. See subclause 8.9. Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- ISO/IEC 13818-7:2004(E) num_swb_short_window num_swb swb_offset_long_window[swb] swb_offset_short_window[swb] swb_offset[swb] sect_sfb_offset[g][section] sampling_frequency_index number of scalefactor window bands for short windows. This number has to be selected depending on the sampling frequency. See subclause 8.9. number of scalefactor window bands for shortwindows in case of EIGHT_SHORT_SEQUENCE, number of scalefactor window bands for long windows otherwise. Table containing the index of the lowest spectral coefficient of scalefactor band sfb for long windows. This Table has to be selected depending on the sampling frequency. See subclause 8.9. Table containing the index of the lowest spectral coefficient of scalefactor band sfb for short windows. This Table has to be selected depending on the sampling frequency. See subclause 8.9. Table containing the index of the lowest spectral coefficient of scalefactor band sfb for short windows in case of EIGHT_SHORT_SEQUENCE, otherwise for long windows. Table that gives the number of the start coefficient for the section_data() within a group. This offset depends on the window_sequence and scale_factor_grouping. see subclause 8.1.1. 8.3.2 Decoding Process 8.3.2.1 Decoding a single_channel_element() and channel_pair_element() A single_channel_element() is composed of an element_instance_tag and an individual_channel_stream. In this case ics_info() is always located in the individual_channel_stream. A channel_pair_element() begins with an element_instance_tag and common_window flag. If the common_window equals ‘1’, then ics_info() is shared amongst the two individual_channel_stream elements and the MS information is transmitted. If common_window equals ‘0’, then there is an ics_info() within each individual_channel_stream and there is no MS information. 8.3.2.2 Decoding an individual_channel_stream() In the individual_channel_stream, the order of decoding is: get global_gain get ics_info() (parse bitstream if common information is not present) get section_data() Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 49 --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- ISO/IEC 13818-7:2004(E) get scalefactor_data(), if present get pulse_data(), if present get tns_data(), if present get gain_control_data(), if present get spectral_data(), if present. The process of recovering pulse_data is described in clause 9, tns_data in clause 14, and gain_control data in clause 16. An overview of how to decode ics_info() (subclause 8.3), section data (clause 9), scalefactor data (clause 9 and 11), and spectral data (clause 9) will be given here. 8.3.2.3 Recovering ics_info() For single_channel_element()’s ics_info() is always located immediately after the global_gain in the inidividual_channel_stream(). For a channel_pair_element() there are two possible locations for the ics_info(). If each individual channel in the pair window switch together then the ics_info() is located immediately after common_window in the channel_pair_element() and common_window is set to 1. Otherwise there is an ics_info() immediately after global_gain in each of the two individual_channel_stream() in the channel_pair_element() and common_window is set to 0. ics_info() carries window information associated with an ICS and thus permits channels in a channel_pair to switch separately if desired. In addition it carries the max_sfb which places an upper limit on the number of ms_used[] and predictor_used[] bits that must be transmitted. If the window_sequence is EIGHT_SHORT_SEQUENCE then scale_factor_grouping is transmitted. If a set of short windows form a group then they share scalefactors as well as intensity stereo positions and have their spectral coefficients interleaved. The first short window is always a new group so no grouping bit is transmitted. Subsequent short windows are in the same group if the associated grouping bit is 1. A new group is started if the associated grouping bit is 0. It is assumed that grouped short windows have similar signal statistics. Hence their spectra are interleaved so as to place correlated coefficients next to each other. The manner of interleaving is indicated in Figure 6. ics_info() also carries the prediction data for the individual channel or channel pair (see clause 13). 8.3.2.4 Recovering Sectioning Data In the ICS, the information about one long window, or eight short windows, is recovered. The sectioning data is the first field to be decoded, and describes the Huffman codes that apply to the scalefactor bands in the ICS (see clause 9 and 11). The form of the section data is: sect_cb The codebook for the section and sect_len The length of the section. This length is recovered by reading the bitstream sequentially for a section length, adding the escape value to the total length of the section until a non-escape value is found, which is added to establish the total length of the section. This process is clearly explained in the C-like syntax description. Note that within each group the sections must delineate the 50 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) scalefactor bands from zero to max_sfb so that the first section within each group starts at bands zero and the last section within each group ends at max_sfb. The sectioning data describes the codebook, and then the length of the section using that codebook, starting from the first scalefactor band and continuing until the total number of scalefactor bands is reached. After this description is provided, all scalefactors and spectral data corresponding to codebook zero are zeroed, and no values corresponding to these scalefactors or spectral data will be transmitted. When scanning for scale-factor data it is important to note that scalefactors for any scalefactor bands whose Huffman codebook is zero will be omitted. Similarly, all spectral data associated with Huffman codebook zero are omitted (see clause 9 and 11). In addition spectral data associated with the scalefactor bands that have an intensity codebook will not be transmitted, but intensity steering coefficients will be transmitted in place of the scalefactors, as described in subclause 12.2. 8.3.2.5 Scalefactor Data Parsing and Decoding For each scalefactor band that is not in a section coded with the zero codebook (ZERO_HCB), a scalefactor is transmitted. These will be denoted as ‘active’ scalefactor bands and the associated scalefactors as active scalefactors. Global gain, the first data element in an ICS, is typically the value of the first active scalefactor. All scalefactors (and steering coefficients) are transmitted using Huffman coded DPCM relative to the previous active scalefactor (see clause 9 and 11). The first active scalefactor is differentially coded relative to the global gain. Note that it is not illegal, merely inefficient, to provide a global_gain that is different from the first active scalefactor and then a non-zero DPCM value for the first scalefactor DPCM value. If any intensity steering coefficients are received interspersed with the DPCM scalefactor elements, they are sent to the intensity stereo module, and are not involved in the DPCM coding of scalefactor values (see subclause 12.2). The value of the first active scalefactor is usually transmitted as the global_gain with the first DPCM scalefactor having a zero value. Once the scalefactors are decoded to their integer values, the actual values are found via a power function (see clause 11). 8.3.2.6 Spectral Data Parsing and Decoding The spectral data is recovered as the last part of the parsing of an ICS. It consists of all the non-zeroed coefficients remaining in the spectrum or spectra, ordered as described in the ICS_info. For each non-zero, non-intensity codebook, the data are recovered via Huffman decoding in quads or pairs, as indicated in the noiseless coding tool (see clause 9). If the spectral data is associated with an unsigned Huffman codebook, the necessary sign bits follow the Huffman codeword (see subclause 9.3). In the case of the ESCAPE codebook, if any escape value is received, a corresponding escape sequence will appear after that Huffman code. There may be zero, one or two escape sequences for each codeword in the ESCAPE codebook, as indicated by the presence of escape values in that decoded codeword. For each section the Huffman decoding continues until all the spectral values in that section have been decoded. Once all sections have been decoded, the data is multiplied by the decoded scalefactors and deinterleaved if necessary. Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 51 ISO/IEC 13818-7:2004(E) 8.3.3 Windows and Window Sequences Quantization and coding is done in the frequency domain. For this purpose, the time signal is mapped into the frequency domain in the encoder. The decoder performs the inverse mapping as described in clause 15. Depending on the signal, the coder may change the time/frequency resolution by using two different windows: LONG_WINDOW and SHORT_WINDOW. To switch between windows, the transition windows LONG_START_WINDOW and LONG_STOP_WINDOW are used. Table 43 lists the windows, specifies the corresponding transform length and shows the shape of the windows schematically. Two transform lengths are used: 1024 (referred to as long transform) and 128 coefficients (refered to as short transform). Window sequences are composed of windows in a way that a raw_data_block() always contains data representing 1024 output samples. The data element window_sequence indicates the window sequence that is actually used. Table 44 lists how the window sequences are composed of individual windows. Refer to clause 15 for more detailed information about the transform and the windows. 8.3.4 Scalefactor Bands and Grouping Many tools of the decoder perform operations on groups of consecutive spectral values called scalefactor bands (abbreviation ‘sfb’). The width of the scalefactor bands is built in imitation of the critical bands of the human auditory system. For that reason the number of scalefactor bands in a spectrum and their width depend on the transform length and the sampling frequency. Table 45 to Table 57 list the offset to the beginning of each scalefactor band for the transform lengths 1024 and 128 and the different sampling frequencies, respectively. To reduce the amount of side information in case of sequences which contain SHORT_WINDOWS, consecutive SHORT_WINDOWs may be grouped (see Figure 4). The information about the grouping is contained in the scale_factor_grouping data element. Grouping means that only one set of scalefactors is transmitted for all grouped windows as if there was only one window. The scalefactors are then applied to the corresponding spectral data in all grouped windows. To increase the efficiency of the noiseless coding (see clause 9), the spectral data of a group is transmitted in an interleaved order given in subclause 8.3.5. The interleaving is done on a scalefactor band by scalefactor band basis, so that the spectral data can be grouped to form a virtual scalefactor band to which the common scalefactor can be applied. Within this document the expression ‘scalefactor band’ (abbreviation ‘sfb’) denotes these virtual scalefactor bands. If the scalefactor bands of the single windows are referred to, the expression ‘scalefactor window band’ (abbreviation ‘swb’) is used. Due to its influence on the scalefactor bands, grouping affects the meaning of section_data (see clause 9), the order of spectral data (see subclause 8.3.5), and the total number of scalefactor bands. For a LONG_WINDOW scalefactor bands and scalefactor window bands are identical since there is only one group with only one window. To reduce the amount of information needed for the transmission of side information specific to each scalefactor band, the data element max_sfb is transmitted. Its value is one greater than the highest active scalefactor band in all groups. max_sfb has influence on the interpretation of section data (see clause 9), the transmission of scalefactors (see clause 9 and 11), the transmission of predictor data (see clause 13) and the transmission of the ms_mask (see subclause 12.1). Since scalefactor bands are a basic element of the coding algorithm, some help variables and arrays are needed to describe the decoding process in all tools using scalefactor 52 Copyright International Organization for Standardization Reproduced by IHS under license with ISO --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) bands. These help variables depend on sampling_frequency, window_sequence, scalefactor_grouping and max_sfb and must be built up for each raw_data_block(). The pseudo code shown below describes • how to determine the number of windows in a window_sequence num_windows • how to determine the number of window_groups num_window_groups • how to determine the number of windows in each group window_group_length[g] • how to determine the total number of scalefactor window bands num_swb for the actual window type • how to determine swb_offset[swb], the offset of the first coefficient in scalefactor window band swb of the window actually used • how to determine sect_sfb_offset[g][section], the offset of the first coefficient in section section. This offset depends on window_sequence and scale_factor_grouping and is needed to decode the spectral_data(). A long transform window is always described as a window_group containing a single window. Since the number of scalefactor bands and their width depend on the sampling frequency, the affected variables are indexed with sampling_frequency_index to select the appropriate table. fs_index = sampling_frequency_index; switch (window_sequence) { case ONLY_LONG_SEQUENCE: case LONG_START_SEQUENCE: case LONG_STOP_SEQUENCE: num_windows = 1; num_window_groups = 1; window_group_length[num_window_groups-1] = 1; num_swb = num_swb_long_window[fs_index]; /* preparation of sect_sfb_offset for long blocks */ /* also copy the last value! */ for (i = 0; i < max_sfb + 1; i++) { sect_sfb_offset[0][i] = swb_offset_long_window[fs_index][i]; swb_offset[i] = swb_offset_long_window[fs_index][i]; } break; case EIGHT_SHORT_SEQUENCE: num_windows = 8; num_window_groups = 1; window_group_length[num_window_groups-1] = 1; num_swb = num_swb_short_window[fs_index]; for (i = 0; i < num_swb_short_window[fs_index] + 1; i++) swb_offset[i] = swb_offset_short_window[fs_index][i]; for (i = 0; i < num_windows-1; i++) { if(bit_set(scale_factor_grouping,6-i)) == 0) { num_window_groups += 1; window_group_length[num_window_groups-1] = 1; } else { window_group_length[num_window_groups-1] += 1; } } /* preparation of sect_sfb_offset for short blocks */ for (g = 0; g < num_window_groups; g++) { sect_sfb = 0; offset = 0; for (i = 0; i < max_sfb; i++) { width = swb_offset_short_window[fs_index][i+1] - --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 53 ISO/IEC 13818-7:2004(E) swb_offset_short_window[fs_index][i]; width *= window_group_length[g]; sect_sfb_offset[g][sect_sfb++] = offset; offset += width; } sect_sfb_offset[g][sect_sfb] = offset; } break; default: break; } 8.3.5 Order of Spectral Coefficients in spectral_data() For ONLY_LONG_SEQUENCE windows (num_window_groups = 1, window_group_length[0] = 1) the spectral data is in ascending spectral order, as shown in Figure 5. For the EIGHT_SHORT_SEQUENCE window, the spectral order depends on the grouping in the following manner: • Groups are ordered sequentially • Within a group, a scalefactor band consists of the spectral data of all grouped SHORT_WINDOWs for the associated scalefactor window band. To clarify via example, the length of a group is in the range of one to eight SHORT_WINDOWs. • If there are eight groups each with length one (num_window_groups = 8, window_group_length[0] = 1), the result is a sequence of eight spectrums, each in ascending spectral order. • If there is only one group with length eight (num_window_group = 1, window_group_length[0] = 8), the results is that spectral data of all eight SHORT_WINDOWs is interleaved by scalefactor window bands. • Figure 6 shows the spectral ordering for an EIGHT_SHORT_SEQUENCE with grouping of SHORT_WINDOWs according to Figure 4 (num_window_groups = 4). • Within a scalefactor window band, the coefficients are in ascending spectral order. 8.3.6 Output Word Length The global gain for each audio channel is scaled such that the integer part of the output of the IMDCT can be used directly as a 16-bit PCM audio output to a digital-to-analog (D/A) converter. This is the default mode of operation and will result in correct audio levels. If the decoder has a D/A converter that has greater than 16-bit resolution then the output of the IMDCT can be scaled up such that the appropriate number of fractional bits are included to form the desired D/A word size. In this case the level of the converter output would be matched to that of a 16-bit D/A, but would have the advantage of greater signal dynamic range and lower converter noise floor. Similarly, shorter D/A word lengths can be accommodated. 8.4 Low Frequency Enhancement Channel (LFE) 8.4.1 General In order to maintain a regular structure of the decoder, the lfe_channel_element() is defined as a standard individual_channel_stream(0) element, i.e. equal to a 54 Copyright International Organization for Standardization Reproduced by IHS under license with ISO --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) single_channel_element(). Thus, decoding can be done using the standard procedure for decoding a single_channel_element(). In order to accomodate a more bitrate and hardware efficient implementation of the LFE decoder, however, several restrictions apply to the options used for the encoding of this element: • The window_shape field is always set to 0, i.e. sine window (see subclause 6.3, Table 15). • The window_sequence field is always set to 0 (ONLY_LONG_SEQUENCE) (see subclause 6.3, Table 15). • Only the lowest 12 spectral coefficients of any LFE may be non-zero. • No Temporal Noise Shaping is used, i.e. tns_data_present is set to 0 (see subclause 6.3, Table 16). • No prediction is used, i.e. predictor_data_present is set to 0 (see subclause 6.3, Table 15). The presence of LFE channels depends on the profile used. Refer to clause 7 for detailed information. 8.5 program_config_element() (PCE) A program_config_element() may occur outside the AAC payload e. g. in the adif_header(), but also inside the AAC payload as syntactic element in a raw_data_block(). 8.5.1 Data Elements profile sampling_frequency_index num_front_channel_elements num_side_channel_elements num_back_channel_elements num_lfe_channel_elements num_assoc_data_elements num_valid_cc_elements mono_mixdown_present The two-bit profile index from Table 31 (Table 25). Indicates the sampling rate of the program (and all other programs in this bitstream). See definition in subclause 8.1.1 (Table 25). The number of audio syntactic elements in the front channels, front center to back center, symmetrically by left and right, or alternating by left and right in the case of single channel elements (Table 25). Number of elements to the side as above (Table 25). As number of side and front channel elements, for back channels (Table 25). Number of LFE channel elements associated with this program (Table 25). The number of associated data elements for this program (Table 25). The number of CCE's that can add to the audio data for this program (Table 25). One bit, indicating the presence of the mono mixdown element (Table 25). Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 55 ISO/IEC 13818-7:2004(E) mono_mixdown_element_number The number of a specified SCE that is the mono mixdown (Table 25). stereo_mixdown_present One bit, indicating that there is a stereo mixdown present (Table 25). stereo_mixdown_element_number The number of a specified CPE that is the stereo mixdown element (Table 25). matrix_mixdown_idx_present One bit indicating the presence of matrix mixdown information by means of a stereo matrix coefficient index (see Table 39). For all configurations other than the 3/2 format this bit must be zero (Table 25). --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- matrix_mixdown_idx Two bit field, specifying the index of the mixdown coefficient to be used in the 5-channel to 2-channel matrix-mixdown. Possible matrix coefficients are listed in Table 39 (Table 25). pseudo_surround_enable One bit, indicating the possibility of mixdown for pseudo surround reproduction (Table 25). front_element_is_cpe indicates whether a SCE or a CPE is addressed as a front element (Table 25).‘0’ selects an SCE.‘1’ selects an CPE. The instance of the SCE or CPE addressed is given by front_element_tag_select. front_element_tag_select The instance_tag of the SCE/CPE addressed as a front element (Table 25). side_element_is_cpe see front_element_is_cpe, but for side elements (Table 25). side_element_tag_select see front_element_tag_select, but for side elements (Table 25). back_element_is_cpe see front_element_is_cpe, but for back elements (Table 25). back_element_tag_select see front_element_tag_select, but for back elements (Table 25). lfe_element_tag_select instance_tag of the LFE addressed (Table 25). assoc_data_element_tag_select instance_tag of the DSE addressed (Table 25). valid_cc_element_tag_select instance_tag of the CCE addressed (Table 25). cc_element_is_ind_sw One bit, indicating that the corresponding CCE is an independently switched coupling channel (Table 25). comment_field_bytes The length, in bytes, of the following comment field (Table 25). comment_field_data The data in the comment field (Table 25). SCE or CPE elements within the PCE are addressed with two syntax elements. First, an is_cpe syntax element selects whether a SCE or CPE is addressed. Second, a tag_select syntax element selects the instance_tag of a SCE/CPE. LFE, CCE and DSE elements are directly addressed with their instance_tag. 56 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- ISO/IEC 13818-7:2004(E) 8.5.2 Channel configuration The AAC audio syntax provides three ways to convey the mapping of channels within a set of syntactic elements to physical locations of speakers. 8.5.2.1 Explicit channel mapping using default channel settings The most common mappings are defined in Table 42. 8.5.2.2 Explicit channel mapping using a program_config_element() Any possible channel configuration can be specified using a program_config_element(). There are 16 available PCE’s, and each one can specify a distinct program that is present in the raw data stream. All available PCE’s within a raw_data_block() must come before all other syntactic elements. Programs may or may not share audio syntactic elements, for example, programs could share a channel_pair_element() and use distinct coupling channels for voice over in different languages. A given program_config_element() contains information pertaining to only one program out of many that may be included in the raw_data_stream(). Included in the PCE are “list of front channels”, using the rule center outwards, left before right. In this list, a center channel SCE, if any, must come first, and any other SCE’s must appear in pairs, constituting an LR pair. If only two SCE’s are specified, this signifies one LR stereophonic pair. After the list of front channels, there is a list of “side channels” consisting of CPE’s, or of pairs of SCE’s. These are listed in the order of front to back. Again, in the case of a pair of SCE’s, the first is a left channel, the second a right channel. After the list of side channels, a list of back channels is available, listed from outside in. Any SCE’s except the last SCE must be paired, and the presence of exactly two SCE’s (alone or preceeded by a CPE) indicates that the two SCE’s are Left and Right Rear center, respectively. The configuration indicated by the PCE takes effect at the raw_data_block() containing the PCE. The number of front, side and back channels as specified in the PCE must be present in that block and all subsequent raw_data_block()'s until a raw_data_block() containing a new PCE is transmitted. Other elements are also specified. A list of one or more LFE’s is specified for application to this program. A list of one or more CCE’s (profile-dependent) is also provided, in order to allow for dialog management as well as different intensity coupling streams for different channels using the same main channels. A list of data streams associated with the program can also associate one or more data streams with a program. The program configuration element also allows for the specification of one monophonic and one stereophonic simulcast mixdown channel for a program. Note that the MPEG-2 Systems standard ISO/IEC 13818-1 supports alternate methods of simulcast. A PCE element is not intended to allow for rapid program changes. At any time when a given PCE, as selected by its element_instance_tag, defines a new (as opposed to repeated) program, the decoder is not obliged to provide audio signal continuity. 8.5.2.3 Implicit channel mapping If no explicit channel mapping is given, the following methods describe the default determination of channel mapping: Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 57 ISO/IEC 13818-7:2004(E) --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- 1) Any number of SCE's may appear (as long as permitted by other constraints, for example profile). If this number of SCE's is odd, then the first SCE represents the front center channel, and the other SCE's represent L/R pairs of channels, proceeding from center front outwards and back to center rear. If the number of SCE's is even, then the SCE's are assigned as pairs as center-front L/R, in pairs proceeding out and back from center front toward center back. 2) Any number of CPE's or pairs of SCE's may appear. Each CPE or pair of SCE's represents one L/R pair, proceeding from where the first sets of SCE's left off, pairwise until reaching either center back pair. 3) Any number of SCEs may appear. If this number is even, allocating pairs of SCEs Left/Right, from 2), back to center back. If this number is odd, allocated as L/R pairs, except for the final SCE, which is assigned to center back.. 4) Any number of LFEs may appear. No speaker mapping is defined in case of multiple LFEs. In case of this default (or implicit) mapping the number and order of SCEs, CPEs and LFEs and the resulting configuration may not change within the bitstream without sending a program_config_element(), i.e. an implicit reconfiguration is not allowed. Other audio syntactic elements that do not imply additional output speakers, such as coupling channel_element, may follow the listed set of syntactic elements. Obviously nonaudio syntactic elements may be received in addition and in any order relative to the listed syntactic elements. 8.5.3 Matrix-mixdown Method 8.5.3.1 Description The matrix-mixdown method applies only for mixing a 3-front/2-back speaker configuration, 5-channel program, down to a stereo or a mono program. It is not applicable to any program with other than the 3/2 configuration. 8.5.3.2 Matrix-mixdown Process A derived stereo signal can be generated within a matrix-mixdown decoder by use of one of the two following sets of equations. Set 1: L' = 1 ⋅[L + C 1+1 2 + A R' = 1 ⋅[R + C 1+1 2 + A 2 + A⋅ LS ] 2 + A⋅ RS ] Set 2: L' = 1+1 R' = 1+1 1 ⋅[L + C 2 +2⋅A 1 ⋅[R + C 2 +2⋅A 2 − A⋅ (LS + RS )] 2 + A⋅ (LS + RS )] 58 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Where L, C, R, LS and RS are the source signals, L’ and R’ are the derived stereo signals and A is the matrix coefficient indicated by matrix_mixdown_idx. LFE channels are omitted from the mixdown. If pseudo_surround_enable is not set, then only set 1 should be used. If pseudo_surround_enable is set, then either set 1 or set 2 equations can be used, depending on whether the receiver has facilities to invoke some form of surround synthesis. As further information it should be noted that one can derive a mono signal using the following equation: M = 1 3+ 2⋅ A ⋅[L + C + R+ A ⋅ (LS + RS )] 8.5.3.3 Advisory The matrix-mixdown provision enables a mode of operation which may be beneficial to some operators in some circumstances. However, it is advised that this method should not be used. The psychoacoustic principles on which the audio coding are based are violated by this form of post-processing, and a perceptually faithful reconstruction of the signal cannot be guaranteed. The preferred method is to use the stereo or mono mixdown channels in the AAC syntax to provide stereo or mono programming which is specifically created by conventional studio mixing prior to bitrate reduction. The stereo and mono mixdown channels additionally enable the content provider to separately optimize the stereo and multichannel program mixes - this is not possible by using the matrix-mixdown method. It is additionally relevant to note that, due to the algorithms used for the multichannel and stereo mixdown coding, a better combination of quality and bitrate is usually provided by use of the stereo mixdown channels than can be provided by the matrix-mixdown process. 8.5.3.4 Tables Table 39 – Matrix-mixdown coefficients matrix_mixdown_idx 0 1 A 12 12 2 1 (2 2) 3 0 8.6 Data Stream Element (DSE) 8.6.1 Data Elements data_byte_align_flag count esc_count One bit indicating that a byte aligment is performed within the data stream element (Table 24) Initial value for length of data stream (Table 24) Incremental value of length of data or padding element (Table 24) Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 59 ISO/IEC 13818-7:2004(E) data_stream_byte A data stream byte extracted from bitstream (Table 24) A data element contains any additional data, e.g. auxiliary information, that is not part of the audio information itself. Any number of data elements with the same element_instance_tag or up to 16 data elements with different element_instance_tags are possible. The decoding process of the data element is described in this clause. 8.6.2 Decoding Process The first syntactic element to be read is the the 1 bit data_byte_align_flag. Next is the 8 bit value count. It contains the initial byte-length of the data stream. If count equals 255, its value is incremented by a second 8 bit value, esc_count, this final value represents the number of bytes in the data stream element. If data_byte_align_flag is set, a byte alignment is performed. The bytes of the data stream follow. 8.7 Fill Element (FIL) 8.7.1 Data Elements count esc_count Initial value for length of extension_payload() (Table 26). Incremental value for length of extension_payload() (Table 26). 8.7.2 Decoding Process fill_element()’s might be added to allow for several kinds of extension payloads. Any number of fill_element()’s is allowed. The syntactic element count gives the initial value of the length of the fill data. In the same way as for the data element this value is incremented with the value of esc_count if count equals 15. The resulting number gives the number of fill_bytes to be read. 8.8 Dedoding of extension_payload() 8.8.1 General 8.8.1.1 Data Elements extension_type Four bit field indicating the type of fill element content (Table 26). 8.8.1.2 Decoding Process Any number of extension_payload()’s are allowed. The following symbolic abbreviations for values of the extension_type field are defined: --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- 60 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) Table 40 – Values of the extension_type data element Symbol EXT_FILL EXT_FILL_DATA EXT_DYNAMIC_RANGE EXT_SBR_DATA EXT_SBR_DATA_CRC - Value of extension_type ‘0000’ ‘0001’ ‘1011’ ‘1101’ ‘1110’ all other values Purpose Bitstream filler Bitstream data as filler Dynamic range control SBR enhancement SBR enhancement with CRC reserved The ‘reserved’ values might be used for further extension of the syntax in a compatible way. 8.8.2 Fill data and other bits 8.8.2.1 Data Elements fill_nibble fill_byte other_bits Four bit field for fill (Table 28). Byte to be discarded by the decoder (Table 28). Bits to be discarded by the decoder (Table 28). --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- 8.8.2.2 Decoding Process Fill data shall be added if the total bits for all audio data together with all additional data is lower than the minimum allowed number of bits in this frame necessary to reach the target bitrate. Under normal conditions fill bits are avoided and free bits are used to fill up the bit reservoir. Fill bits are written only if the bit reservoir is full. Note that fill_nibble is normatively defined to be ‘0000’ and fill_byte is normatively defined to be ‘10100101’ (to ensure that self-clocked data streams, such as radio modems, can perform reliable clock recovery). 8.8.3 Dynamic Range Control (DRC) 8.8.3.1 Data Elements pce_tag_present pce_instance_tag drc_tag_reserved_bits excluded_chns_present drc_bands_present drc_band_incr drc_bands_reserved_bits One bit indicating that program element tag is present (Table 29). Tag field that indicates with which program the dynamic range information is associated (Table 29) Reserved (Table 29) One bit indicating that excluded channels are present (Table 29) One bit indicating that DRC multi-band information is present (Table 29) Number of DRC bands greater than 1 having DRC information (Table 29) Reserved (Table 29) Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 61 ISO/IEC 13818-7:2004(E) drc_band_top[i] prog_ref_level_present prog_ref_level prog_ref_level_reserved_bits dyn_rng_sgn[i] dyn_rng_ctl[i] exclude_mask[i] additional_excluded_chns[i] Indicates top of i-th DRC band in units of 4 spectral lines (Table 29).If drc_band_top[i] = k, then the index (w.r.t zero) of the highest spectral coefficient that is in the i-th DRC band is = k*4+3. In case of an EIGHT_SHORT_SEQUENCE window_sequence the index is interpreted as pointing into the concatenated array of 8*128 (deinterleaved) frequency points corresponding to the 8 short transforms. One bit indicating that reference level is present (Table 29). Reference level. A measure of long-term program audio level for all channels combined (Table 29). Reserved (Table 29) Dynamic range control sign information. One bit indicating the sign of dyn_rng_ctl (0 if positive, 1 if negative, (Table 29) Dynamic range control magnitude information (Table 29) Boolean array indicating the audio channels of a program that are excluded from DRC processing using this DRC information. One bit indicating that additional excluded channels are present (Table 30) 8.8.3.2 Decoding Process The evaluation of potentially available dynamic range control information in the decoder is optional. prog_ref_level_present indicates that prog_ref_level is being transmitted. This permits prog_ref_level to be sent as infrequently as desired (e.g. once), although periodic transmission would permit break-in. prog_ref_level is quantized in 0.25 dB steps using 7 bits, and therefore has a range of approximately 32 dB. It indicates program level relative to full scale (i.e. dB below full scale), and is reconstructed as: level = 32767 ⋅ 2− prog _ ref _ level / 24 where „full scale level„ is 32767 (prog_ref_level equal to 0). pce_tag_present indicates that pce_instance_tag is being transmitted. This permits pce_instance_tag to be sent as infrequently as desired (e.g. once), although periodic transmission would permit break-in. pce_instance_tag indicates with which program the dynamic range information is associated. If this is not present then the default program is indicated. Since each AAC bitstream typically has just one program, this would be the most common mode. Each program in a multi-program bitstream would send its dynamic range information in a distinct --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- 62 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- extension_payload() of the fill_element(). In the multiple program case, the pce_instance_tag would always have to be signaled. The drc_tag_reserved_bits fill out the optional fields to an integral number of bytes in length. The excluded_chns_present bit indicates that channels that are to be excluded from dynamic range processing will be signaled immediately following this bit. The excluded channel mask information must be transmitted in each frame where channels are excluded. The following ordering principles are used to assign the exclude_mask to channel outputs: • If a PCE is present, the exclude_mask bits correspond to the audio channels in the SCE, CPE, CCE and LFE syntax elements in the order of their appearance in the PCE. In the case of a CPE, the first transmitted mask bit corresponds to the first channel in the CPE, the second transmitted mask bit to the second channel. In the case of a CCE, a mask bit is transmitted only if the coupling channel is specified to be an independently switched coupling channel. • If no PCE is present, the exclude_mask bits correspond to the audio channels in the SCE, CPE and LFE syntax elements in the order of their appearance in the bitstream, followed by the audio channels in the CCE syntax elements in the order of their appearance in the bitstream. In the case of a CPE, the first transmitted mask bit corresponds to the first channel in the CPE, the second transmitted mask bit to the second channel. In the case of a CCE, a mask bit is transmitted only if the coupling channel is specified to be an independently switched coupling channel. drc_band_incr is the number of bands greater than one if there is multi-band DRC information. dyn_rng_ctl is quantized in 0.25 dB steps using a 7-bit unsigned integer, and therefore, in association with dyn_rng_sgn, has a range of +/-31.75 dB. It is interpreted as a gain value that shall be applied to the decoded audio output samples of the current frame. The range supported by the dynamic range information is summarized in the following table: Table 41 – Range supported by the DRC information Field prog_ref_level dyn_rng_sgn and dyn_rng_ctl bits steps 7 128 1 and +/- 7 127 stepsize, dB 0.25 0.25 range, dB 31.75 +/- 31.75 The dynamic range control process is applied to the spectral data spec[i] of one frame immediately before the synthesis filterbank. In case of an EIGHT_SHORT_SEQUENCE window_sequence the index i is interpreted as pointing into the concatenated array of 8*128 (de-interleaved) frequency points corresponding to the 8 short transforms. This following pseudo code is for illustrative purposes only, showing one method for applying one set of dynamic control information to a frame of a target audio channel. The constants ctrl1 and ctrl2 are compression constants (typically between 0 and 1, zero meaning no compression) that may optionally be used to scale the dynamic range compression characteristics for levels greater than or less than the program reference level, Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 63 --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- ISO/IEC 13818-7:2004(E) respectively. The constant target_level describes the output level desired by the user, expressed in the same scaling as prog_ref_level. bottom = 0; drc_num_bands = 1; if (drc_bands_present) drc_num_bands += drc_band_incr; else drc_band_top[0] = 1024/4 - 1; for (bd = 0; bd < drc_num_bands; bd++) { top = 4 * (drc_band_top[bd] + 1); /* Decode DRC gain factor */ if (dyn_rng_sgn[bd]) factor = 2^(-ctrl1*dyn_rng_ctl[bd]/24); /* compress */ else factor = 2^(ctrl2*dyn_rng_ctl[bd]/24); /* boost */ /* If program reference normalization is done in the digital domain, modify * factor to perform normalization. * prog_ref_level can alternatively be passed to the system for modification * of the level in the analog domain. Analog level modification avoids problems * with reduced DAC SNR (if signal is attenuated) or clipping * (if signal is boosted) */ factor *= 0.5^((target_level-prog_ref_level)/24); /* Apply gain factor */ for (i = bottom; i < top; i++) spec[i] *= factor; bottom = top; } Note the relation between dynamic range control and coupling channels: • Dependently switched coupling channels are always coupled onto their target channels as spectral coefficients prior to the DRC processing and synthesis filtering of these channels. Therefore a dependently switched coupling channel’s signal that couples onto a specific target channel will undergo the DRC processing of that target channel. • Since independently switched coupling channels couple to their target channels in the time domain, each independently switched coupling channel will undergo DRC processing and subsequent synthesis filtering separate from its target channels. This permits the independently switched coupling channel to have distinct DRC processing if desired. 8.8.3.3 Persistence of DRC Information At the beginning of a stream, all DRC information for all channels is assumed to be set to its default value: program reference level equal to the decoder’s target reference level, one DRC band, with no DRC gain modification for that band. Unless this data is specifically overwritten, this remains in effect. There are two cases for the persistence of DRC information that has been transmitted: • The program reference level is per audio program, and persists until a new value is transmitted, at which point the new data overwrites the old and takes effect that frame. (It may be appropriate to send this value periodically to allow bitstream break-in.) 64 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- ISO/IEC 13818-7:2004(E) • Other DRC information persists on a per-channel basis. Note that if a channel is excluded via the appropriate exclude_mask[] bit, then effectively no information is transmitted for that channel in that call to dynamic_range_info(). The excluded channel mask information must be transmitted in each frame where channels are excluded. The rules for retaining per-channel DRC information are as follows: • If there is no DRC information in a given frame for a given channel, use the information that was used in the previous frame. (This means that one adjustment can hold for a long time, although it may be appropriate to transmit the DRC information periodically to permit break-in.) • If any DRC information for this channel appears in the current frame, the following sequence occurs: first, overwrite all per-channel DRC information for that channel with the default values (one DRC band, with no DRC gain modification for that band), then overwrite any per-channel DRC information with the transmitted values. 8.8.4 Bandwidth Extension (SBR) Fill elements containing an extension_payload with an extension_type of EXT_SBR_DATA or EXT_SBR_DATA_CRC are reserved for SBR enhancement data. In this case, the fill_element count field must be set equal to the total length in bytes, including the SBR enhancement data plus the extension_type field. sbr_extension_data() and the decoding process are defined in ISO/IEC 14496-3 The SBR fill elements shall be handled according to ISO/IEC 14496-3, subclause 4.5.2.8.2.2 "SBR Extension Payload for the Audio Object Types AAC main, AAC SSR, AAC LC and AAC LTP". The signaling of SBR shall be done implicitly as outlined in ISO/IEC 14496-3, subclause 1.6.5 "Signaling of SBR". Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 65 ISO/IEC 13818-7:2004(E) 8.9 Tables Default bitstream index number 1 2 3 4 5 6 7 Table 42 – Implicit speaker mapping number of speakers 1 2 3 4 audio syntactic elements, listed in order received single_channel_element channel_pair_element single_channel_element(), channel_pair_element() single_channel_element(), channel_pair_element(), single_channel_element() 5 single_channel_element(), channel_pair_element(), channel_pair_element() 5+1 single_channel_element(), channel_pair_element(), channel_pair_element(), lfe _element() 7+1 single_channel_element(), channel_pair_element(), channel_pair_element(), channel_pair_element(), lfe_element() default element to speaker mapping center front speaker left, right front speakers center front speaker left, right front speakers center front speaker left, right center front speakers, rear surround center front speaker left, right front speakers, left surround, right surround rear speakers center front speaker left, right front speakers, left surround, right surround rear speakers, front low frequency effects speaker center front speaker left, right center front speakers, left, right outside front speakers, left surround, right surround rear speakers, front low frequency effects speaker window Table 43 – Transform windows (for 48 kHz) num_swb #coeffs looks like LONG_WINDOW 49 1024 SHORT_WINDOW 14 128 LONG_START_WINDOW 49 1024 LONG_STOP_WINDOW 49 1024 --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- 66 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) value 0 1 2 3 Table 44 – Window Sequences window_sequence ONLY_LONG_SEQUENCE = LONG_WINDOW LONG_START_SEQUENCE = LONG_START_WINDOW EIGHT_SHORT_SEQUENCE = 8 * SHORT_WINDOW LONG_STOP_SEQUENCE = LONG_STOP_WINDOW num_ windows 1 1 8 1 looks like Table 45 – Scalefactor bands for LONG_WINDOW, LONG_START_WINDOW, LONG_STOP_WINDOW at 44.1 kHz and 48 kHz fs [kHz] 44.1, 48 num_swb_long_window 49 swb swb_offset_long_window 0 0 1 4 2 8 3 12 4 16 5 20 6 24 7 28 8 32 9 36 10 40 11 48 12 56 13 64 14 72 15 80 16 88 17 96 18 108 19 120 20 132 21 144 22 160 23 176 24 196 swb swb_offset_long_window 25 216 26 240 27 264 28 292 29 320 30 352 31 384 32 416 33 448 34 480 35 512 36 544 37 576 38 608 39 640 40 672 41 704 42 736 43 768 44 800 45 832 46 864 47 896 48 928 1024 Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 67 ISO/IEC 13818-7:2004(E) Table 46 – Scalefactor bands for SHORT_WINDOW at 32 kHz, 44.1 kHz and 48 kHz fs [kHz] 32, 44.1, 48 num_swb_short_window 14 swb swb_offset_short_window 0 0 1 4 2 8 3 12 4 16 5 20 6 28 7 36 swb 8 9 10 11 12 13 swb_offset_short_window 44 56 68 80 96 112 128 Table 47 – Scalefactor bands for LONG_WINDOW, LONG_START_WINDOW, LONG_STOP_WINDOW at 32 kHz fs [kHz] num_swb_long_window swb 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 32 51 swb_offset_long_window 0 4 8 12 16 20 24 28 32 36 40 48 56 64 72 80 88 96 108 120 132 144 160 176 196 216 swb swb_offset_long_window 26 240 27 264 28 292 29 320 30 352 31 384 32 416 33 448 34 480 35 512 36 544 37 576 38 608 39 640 40 672 41 704 42 736 43 768 44 800 45 832 46 864 47 896 48 928 49 960 50 992 1024 --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- 68 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) Table 48 – Scalefactor bands for LONG_WINDOW, LONG_START_WINDOW, LONG_STOP_WINDOW at 8 kHz fs [kHz] num_swb_long_window swb 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 8 40 swb_offset_long_window 0 12 24 36 48 60 72 84 96 108 120 132 144 156 172 188 204 220 236 252 268 swb swb_offset_long_window 21 288 22 308 23 328 24 348 25 372 26 396 27 420 28 448 29 476 30 508 31 544 32 580 33 620 34 664 35 712 36 764 37 820 38 880 39 944 1024 Table 49 – Scalefactor bands for SHORT_WINDOW at 8 kHz fs [kHz] 8 num_swb_short_window 15 swb swb_offset_short_window 0 0 1 4 2 8 3 12 4 16 5 20 6 24 7 28 swb swb_offset_short_window 8 36 9 44 10 52 11 60 12 72 13 88 14 108 128 --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 69 ISO/IEC 13818-7:2004(E) Table 50 – Scalefactor bands for LONG_WINDOW, LONG_START_WINDOW, LONG_STOP_WINDOW at 11.025 kHz, 12 kHz and 16 kHz fs [kHz] 11.025, 12, 16 num_swb_long_window 43 swb swb_offset_long_window 0 0 1 8 2 16 3 24 4 32 5 40 6 48 7 56 8 64 9 72 10 80 11 88 12 100 13 112 14 124 15 136 16 148 17 160 18 172 19 184 20 196 21 212 swb 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 swb_offset_long_window 228 244 260 280 300 320 344 368 396 424 456 492 532 572 616 664 716 772 832 896 960 1024 Table 51 – Scalefactor bands for SHORT_WINDOW at 11.025 kHz, 12 kHz and 16 kHz fs [kHz] 11.025, 12, 16 num_swb_short_window 15 swb swb_offset_short_window 0 0 1 4 2 8 3 12 4 16 5 20 6 24 7 28 swb swb_offset_short_window 8 32 9 40 10 48 11 60 12 72 13 88 14 108 128 --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- 70 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) Table 52 – Scalefactor bands for LONG_WINDOW, LONG_START_WINDOW, LONG_STOP_WINDOW at 22.05 kHz and 24 kHz fs [kHz] num_swb_long_window swb 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 22.05 and 24 47 swb_offset_long_window 0 4 8 12 16 20 24 28 32 36 40 44 52 60 68 76 84 92 100 108 116 124 136 148 swb swb_offset_long_window 24 160 25 172 26 188 27 204 28 220 29 240 30 260 31 284 32 308 33 336 34 364 35 396 36 432 37 468 38 508 39 552 40 600 41 652 42 704 43 768 44 832 45 896 46 960 1024 Table 53 – Scalefactor bands for SHORT_WINDOW at 22.05 kHz and 24 kHz fs [kHz] 22.05 and 24 num_swb_short_window 15 swb swb_offset_short_window 0 0 1 4 2 8 3 12 4 16 5 20 6 24 7 28 swb swb_offset_short_window 8 36 9 44 10 52 11 64 12 76 13 92 14 108 128 --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 71 --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- ISO/IEC 13818-7:2004(E) Table 54 – Scalefactor bands for LONG_WINDOW, LONG_START_WINDOW, LONG_STOP_WINDOW at 64 kHz fs [kHz] num_swb_long_window swb 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 64 47 swb_offset_long_window 0 4 8 12 16 20 24 28 32 36 40 44 48 52 56 64 72 80 88 100 112 124 140 156 swb swb_offset_long_window 24 172 25 192 26 216 27 240 28 268 29 304 30 344 31 384 32 424 33 464 34 504 35 544 36 584 37 624 38 664 39 704 40 744 41 784 42 824 43 864 44 904 45 944 46 984 1024 Table 55 – Scalefactor bands for SHORT_WINDOW at 64 kHz fs [kHz] 64 num_swb_short_window 12 swb swb_offset_short_window 0 0 1 4 2 8 3 12 4 16 5 20 6 24 swb swb_offset_short_window 7 32 8 40 9 48 10 64 11 92 128 72 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) Table 56 – Scalefactor bands for LONG_WINDOW, LONG_START_WINDOW, LONG_STOP_WINDOW at 88.2 kHz and 96 kHz fs [kHz] num_swb_long_window swb 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 88.2 and 96 41 swb_offset_long_window 0 4 8 12 16 20 24 28 32 36 40 44 48 52 56 64 72 80 88 96 108 swb swb_offset_long_window 21 120 22 132 23 144 24 156 25 172 26 188 27 212 28 240 29 276 30 320 31 384 32 448 33 512 34 576 35 640 36 704 37 768 38 832 39 896 40 960 1024 Table 57 – Scalefactor bands for SHORT_WINDOW at 88.2 kHz and 96 kHz fs [kHz] 88.2 and 96 num_swb_short_window 12 swb swb_offset_short_window 0 0 1 4 2 8 3 12 4 16 5 20 6 24 swb swb_offset_short_window 7 32 8 40 9 48 10 64 11 92 128 Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 73 ISO/IEC 13818-7:2004(E) 8.10 Figures group# window# window_sequence = EIGHT _SHORT _SEQUENCE num_windows = 8 grouping_bits = ‘1100101’ num_window_groups = 4 window group length[] = { 3, 1, 2, 2 } 0 1 2 3 0 12 3 4 5 6 7 Figure 4 – Example for short window grouping spectral coefficients sfb 0 sfb 1 sfb 2 . . . sfb (num_sfb-1) Order of scalefactor bands for ONLY_LONG_SEQUENCE Figure 5 – Spectral order of scalefactor bands in case of ONLY_LONG_SEQUENCE spectral coefficients group 0 sfb 0 sfb 1 win 0 win 1 win 2 win 0 win 1 win 2 group 1 . . . sfb 0 sfb 1 sfb 2 win 3 win 3 win 3 ... Order of scale factor bands for EIGHT _SHORT _SEQUENCE window_group_length[] = { 3, 1, ... } Figure 6 – Spectral order of scalefactor bands in case of EIGHT_SHORT_SEQUENCE --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- 9 Noiseless Coding 9.1 Tool Description Noiseless coding is used to further reduce the redundancy of the scalefactors and the quantized spectrum of each audio channel. The global_gain is coded as an 8 bit unsigned integer. The first scalefactor associated with the quantized spectrum is differentially coded relative to the global_gain value and then Huffman coded using the scalefactor codebook. The remaining scalefactors are differentially coded relative to the previous scalefactor and then Huffman coded using the scalefactor codebook. 74 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) Noiseless coding of the quantized spectrum relies on two divisions of the spectral coefficients. The first is a division into scalefactor bands that contain a multiple of 4 quantized spectral coefficients. See subclause 8.3.4 and 8.3.5. The second division, which is dependent on the quantized spectral data, is a division by scalefactor bands to form sections. The significance of a section is that the quantized spectrum within the section is represented using a single Huffman codebook chosen from a set of 11 possible codebooks. The length of a section and its associated Huffman codebook must be transmitted as side information in addition to the section’s Huffman coded spectrum. Note that the length of a section is given in scalefactor bands rather than scalefactor window bands (see subclause 8.3.4). In order to maximize the match of the statistics of the quantized spectrum to that of the Huffman codebooks the number of sections is permitted to be as large as the number of scalefactor bands. The maximum size of a section is max_sfb scalefactor bands. As indicated in Table 59, spectrum Huffman codebooks can represent signed or unsigned n-tuples of coefficients. For unsigned codebooks, sign bits for every non-zero coefficient in the n-tuple immediately follow the associated codeword. The noiseless coding has two ways to represent large quantized spectra. One way is to send the escape flag from the escape (ESC) Huffman codebook, which signals that the bits immediately following that codeword plus optional sign bits are an escape sequence that encodes values larger than those represented by the ESC Huffman codebook. A second way is the pulse escape method, in which relatively large-amplitude coefficients can be replaced by coefficients with smaller amplitudes in order to enable the use of Huffman code tables with higher coding efficiency. This replacement is corrected by sending the position of the spectral coefficient and the differences in amplitude as side information. The frequency information is represented by the combination of the scalefactor band number to indicate a base frequency and an offset into that scalefactor band. --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- 9.2 Definitions 9.2.1 Data Elements sect_cb[g][i] sect_len_incr global_gain hcod_sf[] hcod[sect_cb[g][i]][w][x][y][z] Spectrum Huffman codebook used for section i in group g (see subclause 6.3, Table 17). Used to compute the length of a section, measures number of scalefactor bands from start of section. The length of sect_len_incr is 3 bits if window_sequence is EIGHT_SHORT_SEQUENCE and 5 bits otherwise (see subclause 6.3, Table 17). Global gain of the quantized spectrum, sent as unsigned integer value (see subclause 6.3, Table 16). Huffman codeword from the Huffman code Table used for coding of scalefactors (see subclause 6.3, Table 18). Huffman codeword from codebook sect_cb[g][i] that encodes the next 4-tuple (w, x, y, z) of spectral coefficients, where w, x, y, z are quantized spectral Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 75 ISO/IEC 13818-7:2004(E) hcod[sect_cb[g][i]][y][z] quad_sign_bits pair_sign_bits hcod_esc_y hcod_esc_z pulse_data_present number_pulse pulse_start_sfb pulse_offset[i] coefficients. Within an n-tuple, w, x, y, z are ordered as described in subclause 8.3.5. so that x_quant[group][win][sfb][bin] = w, x_quant[group][win][sfb][bin+1] = x, x_quant[group][win][sfb][bin+2] = y and x_quant[group][win][sfb][bin+3] = z. N-tuples progress from low to high frequency within the current section (see subclause 6.3, Table 20). Huffman codeword from codebook sect_cb[g][i] that encodes the next 2-tuple (y, z) of spectral coefficients, where y, z are quantized spectral coefficients. Within an n-tuple, y, z are ordered as described in subclause 8.3.5 so that x_quant[group][win][sfb][bin] = y and x_quant[group][win][sfb][bin+1] = z. N-tuples progress from low to high frequency within the current section (see subclause 6.3, Table 20). Sign bits for non-zero coefficients in the spectral 4tuple. A ‘1’ indicates a negative coefficient, a ‘0’ a positive one. Bits associated with lower frequency coefficients are sent first (see subclause 6.3, Table 20). Sign bits for non-zero coefficients in the spectral 2tuple. A ‘1’ indicates a negative coefficient, a ‘0’ a positive one. Bits associated with lower frequency coefficients are sent first (see subclause 6.3, Table 20). Escape sequence for quantized spectral coefficient y of 2-tuple (y,z) associated with the preceeding Huffman codeword (see subclause 6.3, Table 20). Escape sequence for quantized spectral coefficient z of 2-tuple (y,z) associated with the preceeding Huffman codeword (see subclause 6.3, Table 20). 1 bit indicating whether the pulse escape is used (1) or not (0) (see subclause 6.3, Table 21). Note that pulse_data_present must be 0 for an EIGHT_SHORT_SEQUENCE. 2 bits indicating how many pulse escapes are used. The number of pulse escapes is from 1 to 4 (see subclause 6.3, Table 21). 6 bits indicating the index of the lowest scalefactor band where the pulse escape is achieved (see subclause 6.3, Table 21). 5 bits indicating the offset (see subclause 6.3, Table 21). 76 Copyright International Organization for Standardization Reproduced by IHS under license with ISO --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- pulse_amp[i] 4 bits indicating the unsigned magnitude of the pulse (see subclause 6.3, Table 21). 9.2.2 Help Elements sect_start[g][i] Offset to first scalefactor band in section i of group g (see subclause 6.3, Table 17). sect_end[g][i] Offset to one higher than last scalefactor band in section i of group g (see subclause 6.3, Table 17). num_sec[g] Number of sections in group g (see subclause 6.3, Table 17). escape_flag The value of 16 in the ESC Huffman codebook escape_prefix The bit sequence of N 1’s escape_separator One 0 bit escape_word An N+4 bit unsigned integer word, msb first escape_sequence The sequence of escape_prefix, escape_separator and escape_word escape_code 2^(N+4) + escape_word x_quant[g][win][sfb][bin] Huffman decoded value for group g, window win, scalefactor band sfb, coefficient bin spec[w][k] De-interleaved spectrum. w ranges from 0 to num_windows-1 and k ranges from 0 to swb_offset[num_swb]-1. The noiseless coding tool requires these constants (see subclause 6.3, spectral_data()). ZERO_HCB 0 FIRST_PAIR_HCB 5 ESC_HCB 11 QUAD_LEN 4 PAIR_LEN 2 INTENSITY_HCB2 14 INTENSITY_HCB 15 ESC_FLAG 16 9.3 Decoding Process Four-tuples or 2-tuples of quantized spectral coefficients are Huffman coded and transmitted starting from the lowest-frequency coefficient and progressing to the highestfrequency coefficient. For the case of multiple windows per block (EIGHT_SHORT_SEQUENCE), the grouped and interleaved set of spectral coefficients is treated as a single set of coefficients that progress from low to high. The set of coefficients may need to be de-interleaved after they are decoded (see subclause 8.3.5). Coefficients are stored in the array x_quant[g][win][sfb][bin], and the order of transmission of the Huffman codewords is such that when they are decoded in the order received and stored in Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 77 ISO/IEC 13818-7:2004(E) the array, bin is the most rapidly incrementing index and g is the most slowly incrementing index. Within a codeword, for those associated with spectral four-tuples, the order of decoding is w, x, y, z; for codewords associated with spectral two-tuples, the order of decoding is y, z. The set of coefficients is divided into sections and the sectioning information is transmitted starting from the lowest frequency section and progressing to the highest frequency section. The spectral information for sections that are coded with the “zero” codebook is not sent as this spectral information is zero. Similarly, spectral information for sections coded with the “intensity” codebooks is not sent. The spectral information for all scalefactor bands at and above max_sfb, for which there is no section data, is zero. There is a single differential scalefactor codebook which represents a range of values as shown in Table 58. The differential scalefactor codebook is shown in Table A.1. There are eleven Huffman codebooks for the spectral data, as shown in Table 59. The codebooks are shown in Table A.2 through Table A.12. There are three other “codebooks” above and beyond the actual Huffman codebooks, specifically the “zero” codebook, indicating that neither scalefactors nor quantized data will be transmitted, and the “intensity” codebooks indicating that this individual channel is part of a channel pair, and that the data that would normally be scalefactors is instead steering data for intensity stereo. In this case, no quantized spectral data are transmitted. Codebook indices 12 and 13 are reserved. The spectrum Huffman codebooks encode 2- or 4-tuples of signed or unsigned quantized spectral coefficients, as shown in Table 59. This Table also indicates the largest absolute value (LAV) able to be encoded by each codebook and defines a boolean helper variable array, unsigned_cb[], that is 1 if the codebook is unsigned and 0 if signed. The result of Huffman decoding each differential scalefactor codeword is the codeword index, listed in the first column of Table A.1. This is translated to the desired differential scalefactor by adding index_offset to the index. Index_offset has a value of −60, as shown in Table 58. Likewise, the result of Huffman decoding each spectrum n-tuple is the codeword index, listed in the first column of Table A.2 through Table A.12. This index is translated to the n-tuple spectral values as specified in the following pseudo C-code: unsigned = Boolean value unsigned_cb[i], listed in second column of Table 59. dim = Dimension of codebook, listed in the third column of Table 59. lav = LAV, listed in the fourth column of Table 59. idx = codeword index if (unsigned) { mod = lav + 1; off = 0; } else { mod = 2*lav + 1; off = lav; } if (dim == 4) { w = INT(idx/(mod*mod*mod)) - off; idx -= (w+off)*(mod*mod*mod) x = INT(idx/(mod*mod)) - off; idx -= (x+off)*(mod*mod) y = INT(idx/mod) - off; idx -= (y+off)*mod z = idx - off; 78 Copyright International Organization for Standardization Reproduced by IHS under license with ISO --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) } else { y = INT(idx/mod) - off; idx -= (y+off)*mod z = idx - off; } If the Huffman codebook represents signed values, the decoding of the quantized spectral n-tuple is complete after Huffman decoding and translation of codeword index to quantized spectral coefficients. If the codebook represents unsigned values then the sign bits associated with non-zero coefficients immediately follow the Huffman codeword, with a ‘1’ indicating a negative coefficient and a ‘0’ indicating a positive one. For example, if a Huffman codeword from codebook 7 hcod[7][y][z] has been parsed, then immediately following this in the bitstream is pair_sign_bits which is a variable length field of 0 to 2 bits. It can be parsed directly from the bitstream as if (y != 0) if (one_sign_bit == 1) y = -y ; if (z != 0) if (one_sign_bit == 1) z = -z; where one_sign_bit is the next bit in the bitstream and pair_sign_bits is the concatenation of the one_sign_bit fields. The ESC codebook is a special case. It represents values from 0 to 16 inclusive, but values from 0 to 15 encode actual data values, and the value16 is an escape_flag that signals the presence of hcod_esc_y or hcod_esc_z, either of which will be denoted as an escape_sequence. This escape_sequence permits quantized spectral elements of LAV>15 to be encoded. It consists of an escape_prefix of N 1’s, followed by an escape_separator of one zero, followed by an escape_word of N+4 bits representing an unsigned integer value. The escape_sequence has a decoded value of 2^(N+4)+escape_word. The desired quantized spectral coefficient is then the sign indicated by the pair_sign_bits applied to the value of the escape_sequence. In other words, an escape_sequence of 00000 would decode as 16, an escape_sequence of 01111 as 31, an escape_sequence of 1000000 as 32, one of 1011111 as 63, and so on. Note that restrictions in subclause 10.3 dictate that the length of the escape_sequence is always less than 22 bits. For escape Huffman codewords the ordering of data elements is Huffman codeword followed by 0 to 2 sign bits followed by 0 to 2 escape sequences. When pulse_data_present is 1 (the pulse escape is used), one or several quantized coefficients have been replaced by coefficients with smaller amplitudes in the encoder. The number of coefficients replaced is indicated by number_pulse. In reconstructing the quantized spectral coefficients x_quant this replacement is compensated by adding pulse_amp to or subtracting pulse_amp from the previously decoded coefficients whose frequency indices are indicated by pulse_start_sfb and pulse_offset. Note that the pulse escape method is illegal for a block whose window_sequence is EIGHT_SHORT_SEQUENCE. The decoding process is specified in the following pseudo-C code: if (pulse_data_present) { --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 79 --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- ISO/IEC 13818-7:2004(E) g = 0; win = 0; k = swb_offset[pulse_start_sfb]; for (j = 0; j < number_pulse+1; j++) { k += pulse_offset[j]; /* translate_pulse_parameters(); */ for (sfb = pulse_start_sfb; sfb < num_swb; sfb++) { if(k < swb_offset[sfb+1]) { bin = k - swb_offset[sfb] ; break; } } /* restore coefficients */ if (x_quant[g][win][sfb][bin] > 0) x_quant[g][win][sfb][bin] += pulse_amp[j]; else x_quant[g][win][sfb][bin] -= pulse_amp[j]; } } Several decoder tools (TNS, filterbank) access the spectral coefficients in a non-interleaved fashion, i.e. all spectral coefficients are ordered according to window number and frequency within a window. This is indicated by using the notation spec[w][k] rather than x_quant[g][w][sfb][bin]. The following pseudo C-code indicates the correspondence between the four-dimensional, or interleaved, structure of array x_quant[ ][ ][ ][ ] and the two-dimensional, or deinterleaved, structure of array spec[ ][ ]. In the latter array the first index increments over the individual windows in the window sequence, and the second index increments over the spectral coefficients that correspond to each window, where the coefficients progress linearly from low to high frequency. quant_to_spec() { k = 0; for (g = 0; g < num_window_groups; g++) { j = 0; for (sfb = 0; sfb < num_swb; sfb ++) { width = swb_offset[sfb+1] - swb_offset[sfb]; for (win = 0; win < window_group_length[g]; win++) { for (bin = 0; bin < width; bin++) { spec[win+k][bin+j] = x_quant[g][win][sfb][bin] ; } } j += width; } k += window_group_length[g]; } } 9.4 Tables Table 58 – Scalefactor Huffman codebook parameters Codebook Number 0 Dimension of Codebook 1 index_offset Range of values Codebook listed in -60 -60 to +60 Table A.1 80 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) Table 59 – Spectrum Huffman codebooks parameters Codebook Number, i unsigned_cb[i] 0 - 1 0 2 0 3 1 4 1 5 0 6 0 7 1 8 1 9 1 10 1 11 1 12 - 13 - 14 - 15 - Dimension of Codebook 4 4 4 4 2 2 2 2 2 2 2 - LAV for codebook 0 1 1 2 2 4 4 7 7 12 12 (16) ESC (reserved) (reserved) intensity out-of-phase intensity in-phase Codebook listed in Table A.2 Table A.3 Table A.4 Table A.5 Table A.6 Table A.7 Table A.8 Table A.9 Table A.10 Table A.11 Table A.12 - 10 Quantization 10.1 Tool Description For quantization of the spectral coefficients in the encoder a non uniform quantizer is used. Therefore the decoder must perform the inverse non uniform quantization after the Huffman decoding of the scalefactors (see clause 9 and 11) and spectral data (see clause 9). 10.2 Definitions 10.2.1 Help Elements x_quant[g][win][sfb][bin] x_invquant[g][win][sfb][bin] quantized spectral coefficient for group g, window win, scalefactor band sfb, coefficient bin. spectral coefficient for group g, window win, scalefactor band sfb, coefficient bin after inverse quantization. --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- 10.3 Decoding Process The inverse quantization is described by the following formula: 4 x _ invquant = Sign(x _ quant) ⋅ x _ quant 3 ∀ k The maximum allowed absolute amplitude for x_quant is 8191. The inverse quantization is applied as follows: for (g = 0; g < num_window_groups; g++) { for (sfb = 0; sfb < max_sfb; sfb++) { width = (swb_offset [sfb+1] - swb_offset [sfb]); for (win = 0; win < window_group_len[g]; win++) {; for (bin = 0; bin < width; bin++) { Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 81 ISO/IEC 13818-7:2004(E) x_invquant[g][win][sfb][bin] = sign(x_quant[g][win][sfb][bin]) * abs(x_quant[g][win][sfb][bin]) ^(4/3); } } } } 11 Scalefactors 11.1 Tool Description The basic method to adjust the quantization noise in the frequency domain is the noise shaping using scalefactors. For this purpose the spectrum is divided in several groups of spectral coefficients called scalefactor bands which share one scalefactor (see subclause 8.3.4). A scalefactor represents a gain value which is used to change the amplitude of all spectral coefficients in that scalefactor band. This mechanism is used to change the allocation of the quantization noise in the spectral domain generated by the non uniform quantizer. For window_sequences which contain SHORT_WINDOWs grouping can be applied, i.e. a specified number of consecutive SHORT_WINDOWs may have only one set of scalefactors. Each scalefactor is then applied to a group of scalefactor bands corresponding in frequency (see subclause 8.3.4). In this tool the scalefactors are applied to the inverse quantized coefficients to reconstruct the spectral values. 11.2 Definitions 11.2.1 Data Functions scale_factor_data() Part of bitstream which contains the differential coded scalefactors (see Table 18) 11.2.2 Data Elements global_gain hcod_sf[] An 8-bit unsigned integer value representing the value of the first scalefactor. It is also the start value for the following differential coded scalefactors (see Table 16) Huffman codeword from the Huffman code Table used for coding of scalefactors, see Table 18 and subclause 9.2 11.2.3 Help Elements dpcm_sf[g][sfb] x_rescal[] sf[g][sfb] get_scale_factor_gain() Differential coded scalefactor of group g, scalefactor band sfb. Rescaled spectral coefficients Array for scalefactors of each group Function that returns the gain value corresponding to a scalefactor 82 Copyright International Organization for Standardization Reproduced by IHS under license with ISO --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- 11.3 Decoding Process 11.3.1 Scalefactor Bands Scalefactors are used to shape the quantization noise in the spectral domain. For this purpose, the spectrum is divided into several scalefactor bands (see subclause 8.3.4). Each scalefactor band has a scalefactor, which represents a certain gain value which has to be applied to all spectral coefficients in this scalefactor band. In case of EIGHT_SHORT_SEQUENCE a scalefactor band may contain multiple scalefactor window bands of consecutive SHORT_WINDOWs (see subclause 8.3.4 and 8.3.5). 11.3.2 Decoding of Scalefactors For all scalefactors the difference to the preceeding value is coded using the Huffman code book given in Table A.1. See clause 9 for a detailed description of the Huffman decoding process. The start value is given explicitly as a 8 bit PCM in the data element global_gain. A scalefactor is not transmitted for scalefactor bands which are coded with the Huffman codebook ZERO_HCB. If the Huffman codebook for a scalefactor band is coded with INTENSITY_HCB or INTENSITY_HCB2, the scalefactor is used for intensity stereo (see clause 9 and subclause 12.2). In that case a normal scalefactor does not exist (but is initialized to zero to have a valid entry in the array). The following pseudo code describes how to decode the scalefactors sf[g][sfb]: last_sf = global_gain; for (g = 0; g < num_window_groups; g++) { for (sfb = 0; sfb < max_sfb; sfb++) { if (sfb_cb[g][sfb] != ZERO_HCB && sfb_cb[g][sfb] != INTENSITY_HCB && sfb_cb[g][sfb] != INTENSITY_HCB2) { dpcm_sf = decode_huffman() - index_offset; /* see clause 9*/ sf[g][sfb] = dpcm_sf + last_sf; last_sf = sf[g][sfb]; } else { sf[g][sfb] = 0; } } } Note that scalefactors, sf[g][sfb], must be within the range of zero to 255, both inclusive. 11.3.3 Applying Scalefactors The spectral coefficients of all scalefactor bands which correspond to a scalefactor have to be rescaled according to their scalefactor. In case of a window sequence that contains groups of short windows all coefficients in grouped scalefactor window bands have to be scaled using the same scalefactor. In case of window_sequences with only one window, the scalefactor bands and their corresponding coefficients are in spectral ascending order. In case of EIGHT_SHORT_SEQUENCE and grouping the spectral coefficients of grouped short windows are interleaved by scalefactor window bands. See subclause 8.3.5 for more detailed information. Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 83 ISO/IEC 13818-7:2004(E) The rescaling operation is done according to the following pseudo code: --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- for (g = 0; g < num_window_groups; g++) { for (sfb = 0; sfb < max_sfb; sfb++) { width = (swb_offset [sfb+1] - swb_offset [sfb] ); for (win = 0; win < window_group_len[g]; win++) {; gain = get_scale_factor_gain(sf[g][sfb]); for (k = 0; k < width; k++) { x_rescal[g][window][sfb][k] = x_invquant[g][window][sfb][k] * gain; } } } } The function get_scale_factor_gain(sf[g][sfb]) returns the gain factor that corresponds to a scalefactor. The return value follows the equation: gain = 20.25⋅(sf [ g ][sfb]−SF _ OFFSET ) The constant SF_OFFSET must be set to 100. The following pseudo code describes this operation: get_scale_factor_gain( sf[g][sfb] ) { SF_OFFSET = 100; gain = 2^(0.25 * ( sf[g][sfb] - SF_OFFSET)); return (gain); } 12 Joint Coding 12.1 M/S Stereo 12.1.1 Tool Description The M/S joint channel coding operates on channel pairs. Channels are most often paired such that they have symmetric presentation relative to the listener, such as left/right or left surround/right surround. The first channel in the pair is denoted “left” and the second “right.” On a per-spectral-coefficient basis, the vector formed by the left and right channel signals is reconstructed or de-matrixed by either the identity matrix l  r  = 1 0 0l  1r   or the inverse M/S matrix l  r  = 1 1 1 m − 1   s   84 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) The decision on which matrix to use is done on a scalefactor band by scalefactor band basis as indicated by the ms_used flags. M/S joint channel coding can only be used if common_window is ‘1’ (see subclause 8.3.1). 12.1.2 Definitions 12.1.2.1 Data Elements ms_mask_present ms_used[g][sfb] This two bit field indicates that the MS mask is 00 All zeros 01 A mask of max_sfb bands of ms_used follows this field 10 All ones 11 Reserved (see subclause 6.3, Table 14) One-bit flag per scalefactor band indicating that M/S coding is being used in windowgroup g and scalefactor band sfb (see subclause 6.3, Table 14). 12.1.2.2 Help Elements l_spec[] r_spec[] is_intensity(g,sfb) Array containing the left channel spectrum of the respective channel pair. Array containing the right channel spectrum of the respective channel pair. Function returning the intensity status, defined in 12.2.3 12.1.3 Decoding Process Reconstruct the spectral coefficients of the first (“left”) and second (“right”) channel as specified by the mask_present and the ms_used[][] flags as follows: --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- if (mask_present >= 1) { for (g = 0; g < num_window_groups; g++) { for (b = 0; b < window_group_length[g]; b++) { for (sfb = 0; sfb < max_sfb; sfb++) { if ((ms_used[g][sfb] || mask_present == 2) && !is_intensity(g,sfb)) { for (i = 0; i < swb_offset[sfb+1]-swb_offset[sfb]; i++) { tmp = l_spec[g][b][sfb][i] - r_spec[g][b][sfb][i]; l_spec[g][b][sfb][i] = l_spec[g][b][sfb][i] + r_spec[g][b][sfb][i]; r_spec[g][b][sfb][i] = tmp; } } } } } } Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 85 --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- ISO/IEC 13818-7:2004(E) Please note that ms_used[][] is also used in the context of intensity stereo coding. If intensity stereo coding is on for a particular scalefactor band, no M/S stereo decoding is carried out. 12.2 Intensity Stereo 12.2.1 Tool Description This tool is used to implement joint intensity stereo coding between both channels of a channel pair. Thus, both channel outputs are derived from a single set of spectral coefficients after the inverse quantization process. This is done selectively on a scalefactor band basis when intensity stereo is flagged as active. 12.2.2 Definitions 12.2.2.1 Data Elements hcod_sf[] Huffman codeword from the Huffman code Table used for coding of scalefactors (see subclause 9.2) 12.2.2.2 Help Elements dpcm_is_position[][] is_position[group][sfb] l_spec[] r_spec[] Differentially encoded intensity stereo position Intensity stereo position for each group and scalefactor band Array containing the left channel spectrum of the respective channel pair Array containing the right channel spectrum of the respective channel pair 12.2.3 Decoding Process The use of intensity stereo coding is signaled by the use of the pseudo codebooks INTENSITY_HCB and INTENSITY_HCB2 (15 and 14) only in the right channel of a channel_pair_elelement() having a common ics_info() (common_window == 1). INTENSITY_HCB and INTENSITY_HCB2 signal in-phase and out-of-phase intensity stereo coding, respectively. In addition, the phase relationship of the intensity stereo coding can be reversed by means of the ms_used field: Because M/S stereo coding and intensity stereo coding are mutually exclusive for a particular scalefactor band and group, the primary phase relationship indicated by the Huffman code tables is changed from in-phase to out-of-phase or vice versa if the corresponding ms_used bit is set for the respective band. The directional information for the intensity stereo decoding is represented by an "intensity stereo position" value indicating the relation between left and right channel scaling. If intensity stereo coding is active for a particular group and scalefactor band, an intensity stereo position value is transmitted instead of the scalefactor of the right channel. Intensity positions are coded just like scalefactors, i.e. by Huffman coding of differential values with two differences: 86 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) • there is no first value that is sent as PCM. Instead, the differential decoding is started assuming the last intensity stereo position value to be zero. • Differential decoding is done separately between scalefactors and intensity stereo positions. In other words, the scalefactor decoder ignores interposed intensity stereo position values and vice versa (see subclause 11.3.2) The same codebook is used for coding intensity stereo positions as for scalefactors. Two pseudo functions are defined for use in intensity stereo decoding: function is_intensity(group,sfb) { +1 for window groups / scalefactor bands with right channel codebook sfb_cb[group][sfb] == INTENSITY_HCB -1 for window groups / scalefactor bands with right channel codebook sfb_cb[group][sfb] == INTENSITY_HCB2 0 otherwise } function invert_intensity(group,sfb) { 1-2*ms_used[group][sfb] if (ms_mask_present == 1) +1 otherwise } The intensity stereo decoding for one channel pair is defined by the following pseudo code: p = 0; for (g = 0; g < num_window_groups; g++) { /* Decode intensity positions for this group */ for (sfb = 0; sfb < max_sfb; sfb++) if (is_intensity(g,sfb)) is_position[g][sfb] = p += dpcm_is_position[g][sfb]; /* Do intensity stereo decoding */ for (b = 0; b < window_group_length[g]; b++) { for (sfb = 0; sfb < max_sfb; sfb++) { if (is_intensity(g,sfb)) { scale = is_intensity(g,sfb) * invert_intensity(g,sfb) * 0.5^(0.25*is_position[g][sfb]); /* Scale from left to right channel, do not touch left channel */ for (i = 0; i < swb_offset[sfb+1]-swb_offset[sfb]; i++) r_spec[g][b][sfb][i] = scale * l_spec[g][b][sfb][i]; } } } } 12.2.4 Integration with Intra Channel Prediction Tool For scalefactor bands coded in intensity stereo the corresponding predictors in the right channel are switched to "off" thus effectively overriding the status specified by the prediction_used mask. The update of these predictors is done by feeding the intensity stereo decoded spectral values of the right channel as the "last quantized value" xrec(n-1). These values result from the scaling process from left to right channel as described in the pseudo code. --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 87 ISO/IEC 13818-7:2004(E) 12.3 Coupling Channel 12.3.1 Tool Description Coupling channel elements provide two functionalities: First, coupling channels may be used to implement generalized intensity stereo coding where channel spectra can be shared across channel boundaries. Second, coupling channels may be used to dynamically perform a downmix of one sound object into the stereo image. Note that this tool includes certain profile dependent parameters (see subclause 7.1). 12.3.2 Definitions 12.3.2.1 Data Elements ind_sw_cce_flag num_coupled_elements cc_target_is_cpe cc_target_tag_select cc_l cc_r cc_domain gain_element_sign gain_element_scale common_gain_element_present[c] One bit indicating whether the coupled target syntax element is an independently switched (1) or a dependently switched (0) CCE (see subclause 6.3, Table 22). Number of coupled target channels is equal to num_coupled_elements+1. The minimum value is 0 indicating 1 coupled target channel (see subclause 6.3, Table 22). One bit indicating if the coupled target syntax element is a CPE (1) or a SCE (0) (see subclause 6.3, Table 22). Four bit field specifying the element_instance_tag of the coupled target syntax element (see subclause 6.3, Table 22). One bit indicating that a list of gain_element values is applied to the left channel of a channel pair (see subclause 6.3, Table 22). One bit indicating that a list of gain_element values is applied to the right channel of a channel pair (see subclause 6.3, Table 22). One bit indicating whether the coupling is performed before (0) or after (1) the TNS decoding of the coupled target channels (see subclause 6.3, Table 22). One bit indicating if the transmitted gain_element values contain information about in-phase / out-ofphase coupling (1) or not (0) (see subclause 6.3, Table 22). Determines the amplitude resolution cc_scale of the scaling operation according to Table 61 (see subclause 6.3, Table 22). One bit indicating whether Huffman coded common_gain_element values are transmitted (1) 88 --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) or whether Huffman coded differential gain_elements are sent (0) (see subclause 6.3, Table 22). 12.3.2.2 Help Elements dpcm_gain_element[][] gain_element[group][sfb] common_gain_element[] spectrum_m(idx, domain) spectrum_l(idx, domain) spectrum_r(idx, domain) Differentially encoded gain element. Gain element for each group and scalefactor band. Gain element that is used for all window groups and scalefactor bands of one coupling target channel. Pointer to the spectral data associated with the single_channel_element() with index idx. Depending on the value of "domain", the spectral coefficients before (0) or after (1) TNS decoding are pointed to. Pointer to the spectral data associated with the left channel of the channel_pair_element() with index idx. Depending on the value of "domain", the spectral coefficients before (0) or after (1) TNS decoding are pointed to. Pointer to the spectral data associated with the right channel of the channel_pair_element() with index idx. Depending on the value of "domain", the spectral coefficients before (0) or after (1) TNS decoding are pointed to. 12.3.3 Decoding Process The coupling channel is based on an embedded single_channel_element() which is combined with some dedicated fields to accomodate its special purpose. The coupled target syntax elements (SCEs or CPEs) are addressed using two syntax elements. First, the cc_target_is_cpe field selects whether a SCE or CPE is addressed. Second, a cc_target_tag_select field selects the instance_tag of the SCE/CPE. The scaling operation involved in channel coupling is defined by gain_element values which describe the applicable gain factor and sign. In accordance with the coding procedures for scalefactors and intensity stereo positions, gain_element values are differentially encoded using the Huffman Table for scalefactors. Similarly, the decoded gain factors for coupling relate to window groups of spectral coefficients. Independently switched CCEs vs. dependently switched CCEs There are two kinds of CCEs. They are “independently switched” and “dependently switched” CCEs. An independently switched CCE is a CCE in which the window state (i.e. window_sequence and window_shape) of the CCE does not have to match that of any of the SCE or CPE channels that the CCE is coupled onto (target channels). This has several important implications: • First, it is required that an independently switched CCE must only use the common_gain element, not a list of gain_elements. Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 89 --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- ISO/IEC 13818-7:2004(E) • Second, the independently switched CCE must be decoded all the way to the time domain (i.e. including the synthesis filterbank) before it is scaled and added onto the various SCE and CPE channels that it is coupled to in the case that window state does not match. A dependently switched CCE, on the other hand, must have a window state that matches all of the target SCE and CPE channels that it is coupled onto as determined by the list of cc_l and cc_r elements. In this case, the CCE only needs to be decoded as far as the frequency domain and then scaled as directed by the gain list before it is added to the target SCE or CPE channels. The following pseudo code in function decode_ coupling_channel() defines the decoding operation for a dependently switched coupling channel element. First the spectral coefficients of the embedded single_channel_element() are decoded into an internal buffer. Since the gain elements for the first coupled target (list_index == 0) are not transmitted, all gain_element values associated with this target are assumed to be 0, i.e. the coupling channel is added to the coupled target channel in its natural scaling. Otherwise the spectral coefficients are scaled and added to the coefficients of the coupled target channels using the appropriate list of gain_element values. An independently switched CCE is decoded like a dependently switched CCE having only common_gain_element’s. However, the resulting scaled spectrum is transformed back into its time representation and then coupled in the time domain. Please note that the gain_element lists may be shared between the left and the right channel of a target channel pair element. This is signalled by both cc_l and cc_r being zero as indicated in the Table below: cc_l, cc_r 0, 0 0, 1 1, 0 1, 1 Table 60 – Sharing of gain_element lists shared gain list present yes no no no left gain list present no no yes yes right gain list present no yes no yes decode_coupling_channel() { - decode spectral coefficients of embedded single_channel_element into buffer "cc_spectrum[]". /* Couple spectral coefficients onto target channels */ list_index = 0; for (c = 0; c < num_coupled_elements+1; c++) { if (!cc_target_is_cpe[c]) { couple_channel(cc_spectrum, spectrum_m(cc_target_tag_select[c], cc_domain), list_index++); } if (cc_target_is_cpe[c]) { if (!cc_l[c] && !cc_r[c]) { couple_channel(cc_spectrum, spectrum_l(cc_target_tag_select[c], cc_domain), list_index); couple_channel(cc_spectrum, spectrum_r(cc_target_tag_select[c], cc_domain), list_index++); --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- 90 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- } if (cc_l[c]) { couple_channel(cc_spectrum, spectrum_l(cc_target_tag_select[c], cc_domain ), list_index++)); } if (cc_r[c]) { couple_channel(cc_spectrum, spectrum_r(cc_target_tag_select[c], cc_domain ), list_index++)); } } } } couple_channel(source_spectrum[], dest_spectrum[], gain_list_index) { idx = gain_list_index; a = 0; cc_scale = cc_scale_table[gain_element_scale]; for (g = 0; g < num_window_groups; g++) { /* Decode coupling gain elements for this group */ if (common_gain_element_present[idx]) { for (sfb = 0; sfb < max_sfb; sfb++) { cc_sign[idx][g][sfb] = 1; gain_element[idx][g][sfb] = common_gain_element[idx]; } } else { for (sfb = 0; sfb < max_sfb; sfb++) { if (sfb_cb[g][sfb] == ZERO_HCB) continue; if (gain_element_sign) { cc_sign[idx][g][sfb] = 1 - 2*(dpcm_gain_element[idx][g][sfb] & 0x1); gain_element[idx][g][sfb] = a += (dpcm_gain_element[idx][g][sfb] >> 1); } else { cc_sign[idx][g][sfb] = 1; gain_element[idx][g][sfb] = a += dpcm_gain_element[idx][g][sfb]; } } } /* Do coupling onto target channels */ for (b = 0; b < window_group_length[b]; b++) { for (sfb = 0; sfb < max_sfb; sfb++) { if (sfb_cb[g][sfb] != ZERO_HCB) { cc_gain[idx][g][sfb] = cc_sign[idx][g][sfb] * cc_scale^gain_element[idx][g][sfb]; for (i = 0; i= 0.5) a++; if ((tmp-a) == 0.5) a&=-2; *pf = (float)a/(1<<(8-exp)); } static void make_inv_tables(void) { int i; unsigned long tmp1, tmp; float *pf = (float *)&tmp1; float ftmp; *pf = 1.0; for (i=0; i<128; i++) { tmp = tmp1 + (i<<16); /* float 1.m, 7 msb only */ ftmp = b / *(float*)&tmp; flt_round_even(&ftmp); /* round to 16 bits */ mnt_table[i] = ftmp; } for (i=0; i<256; i++) { tmp = (i<<23); /* float 1.0 * 2^exp */ if (*(float*)&tmp > 1.0) { ftmp = 1.0 / *(float*)&tmp; } else { ftmp = 0; } exp_table[i] = ftmp; } } 13.3.3 Predictor Reset Initialization of a predictor means that the predictor’s state variables are set as follows: r0 = r1 = 0, COR1 = COR2 = 0, VAR1 = VAR2 = 1. When the decoding process is started, all predictors are initialized. A cyclic reset mechanism is applied by the encoder and signaled to the decoder, in which all predictors are initialized again in a certain time interval in an interleaved way. On one hand this increases predictor stability by re-synchronizing the predictors of the encoder and the decoder and on the other hand it allows defined entry points in the bitstream. The whole set of predictors is subdivided into 30 so-called reset groups according to the following table: 98 Copyright International Organization for Standardization Reproduced by IHS under license with ISO --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- ISO/IEC 13818-7:2004(E) Table 63 – Predictor reset groups Reset group number 1 2 3 ... 30 Predictors of reset group P0, P30, P60, P90,... P1, P31, P61, P91,... P2, P32, P62, P92,... P29, P59, P89, P119,... where Pi is the predictor which corresponds to the spectral coefficient indexed by i. Whether or not a reset has to be applied in the current frame is determined by the predictor_reset bit. If this bit is set then the number of the predictor reset group to be reset in the current frame is specified in predictor_reset_group_number. All predictors belonging to that reset group are then initialized as described above. This initialization has to be done after the normal predictor processing for the current frame has been carried out. Note that predictor_reset_group_number cannot have the value 0 or 31. A typical reset cycle starts with reset group number 1 and the reset group number is then incremented by 1 until it reaches 30, and then it starts with 1 again. Nevertheless, it may happen, e.g. due to switching between programs (bitstreams) or cutting and pasting, that there will be a discontinuity in the reset group numbering. If this is the case, these are the following three possibilities for decoder operation: • Ignore the discontinuity and carry on the normal processing. This may result in a short audible distortion due to a mismatch (drift) between the predictors in the encoder and decoder. After one complete reset cycle (reset group n, n+1, ..., 30, 1, 2, ..., n-1) the predictors are re-synchronized again. Furthermore, a possible distortion is faded out because of the attenuation factors a and b. • Detect the discontinuity, carry on the normal processing but mute the output until one complete reset cycle is performed and the predictors are re-synchronized again. • Reset all predictors. Every predictor group has to be reset after a maximum ‘active’ period of 240 frames. The reset of the 30 predictor reset groups can be done either intermittently or in a burst or in whatever other pattern is convenient, as long as the maximum reset period of 240 ‘active’ frames is not violated. Note that an ‘active’ period of 240 frames may take much longer than 240 frames, since frames with predictor activity may be interleaved with an arbitrary number of frames without any predictor activity. Note further, that prediction groups may be active independently of each other, so that separate ‘activity’ bookkeeping is required for each predictor reset group. In case of a single_channel_element() or a channel_pair_element() with common_window = 0, the reset has to be applied to the predictor bank(s) of the channel(s) associated with that element. In case of a channel_pair_element() with common_window = 1, the reset has to be applied to the two predictor banks of the two channels associated with that element. In the case of a short block (i.e. window_sequence of type EIGHT_SHORT_SEQUENCE) all predictors in all scalefactor bands must be reset. Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 99 ISO/IEC 13818-7:2004(E) 13.4 Diagrams xrec(n) e0(n) + - x k1(n) b a z-1 x+ r0(n-1) e1(n) k2(n) b a z-1 r1(n-1) xest,1(n) x xest(n) + xest,2(n) Figure 7 – Flow graph of intra channel predictor for one spectral component in the decoder. The dotted lines indicate the signal flow for the adaptation of the predictor coefficients. Predictor Side Info yi,q (n) Qi-1 yi,rec (n) RECONSTRUCTION IF (PDP && PU) xi,rec(n) = yi,rec(n) + xi,est(n) ELSE xi,rec(n) = yi,rec(n) xi,rec (n) xi,est (n) xi,rec (n-1) Pi z -1 Legend: P Predictor Qi-1 Inverse quai ntizer PDP predictor_data-present PU prediction_used Figure 8 – Block diagram of decoder prediction unit for one single spectral component 14 Temporal Noise Shaping (TNS) 14.1 Tool Description Temporal Noise Shaping is used to control the temporal shape of the quantization noise within each window of the transform. This is done by applying a filtering process to parts of the spectral data of each channel. Note that this tool includes certain profile dependent parameters (see subclause 7.1). --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- 100 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- 14.2 Definitions 14.2.1 Data Elements n_filt[w] Number of noise shaping filters used for window w (see subclause 6.3, Table 19). coef_res[w] Token indicating the resolution of the transmitted filter coefficients for window w, switching between a resolution of 3 bits (0) and 4 bits (1) (see subclause 6.3, Table 19). length[w][filt] Length of the region to which one filter is applied in window w (in units of scalefactor bands) (see subclause 6.3, Table 19). order[w][filt] Order of one noise shaping filter applied to window w (see subclause 6.3, Table 19). direction[w][filt] 1 bit indicating whether the filter is applied in upward (0) or downward (1) direction (see subclause 6.3, Table 19). coef_compress[w][filt] 1 bit indicating whether the most significant bit of the coefficients of the noise shaping filter filt in window w are omitted from transmission (1) or not (0) (see subclause 6.3, Table 19). coef[w][filt][i] Coefficients of one noise shaping filter applied to window w (see subclause 6.3, Table 19). spec[w][k] Array containing the spectrum for the window w of the channel being processed. Note: Depending on the window_sequence the size of the following bitstream fields is switched for each transform window according to its window size: Name Window with 128 spectral Other window lines size ‘n_filt’ 1 2 ‘lengt 4 6 h’ ‘order’ 3 5 14.3 Decoding Process The decoding process for Temporal Noise Shaping is carried out separately on each window of the current frame by applying all-pole filtering to selected regions of the spectral coefficients (see function tns_decode_frame). The number of noise shaping filters applied to each window is specified by “n_filt”. The target range of spectral coefficients is defined in units of scalefactor bands counting down “length” bands from the top band (or the bottom of the previous noise shaping band). First the transmitted filter coefficients have to be decoded, i.e. conversion to signed numbers, inverse quantization, conversion to LPC coefficients as described in function tns_decode_coef(). Then the all-pole filters are applied to the target frequency regions of the channel’s spectral coefficients (see function tns_ar_filter()). The token “direction” is used to determine the direction the filter is slid across the coefficients (0 = upward, 1 = downward). Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 101 ISO/IEC 13818-7:2004(E) The constant TNS_MAX_BANDS defines the maximum number of scalefactor bands to which Temporal Noise Shaping is applied. The maximum possible filter order is defined by the constant TNS_MAX_ORDER. Both constants are profile dependent parameters. The decoding process for one channel can be described as follows pseudo code: /* TNS decoding for one channel and frame */ tns_decode_frame() { for (w = 0; w < num_windows; w++) { bottom = num_swb; for (f = 0; f < n_filt[w]; f++) { top = bottom; bottom = max(top - length[w][f], 0); tns_order = min(order[w][f], TNS_MAX_ORDER); if (!tns_order) continue; tns_decode_coef(tns_order, coef_res[w]+3, coef_compress[w][f], coef[w][f], lpc[]); start = swb_offset[min(bottom,TNS_MAX_BANDS,max_sfb)]; end = swb_offset[min(top,TNS_MAX_BANDS,max_sfb)]; if ((size = end - start) <= 0) continue; if (direction[w][f]) { inc = -1; start = end - 1; } else { inc = 1; } tns_ar_filter(&spec[w][start], size, inc, lpc[], tns_order); } } } Please note that this pseudo code uses a C-style interpretation of arrays and vectors, i.e. if coef[w][filt][i] describes the coefficients for all windows and filters, coef[w][filt] is a pointer to the coefficients of one particular window and filter. Also, the identifier coef is used as a formal parameter in function tns_decode_coef(). /* Decoder transmitted coefficients for one TNS filter */ tns_decode_coef(order, coef_res_bits, coef_compress, coef[], a[]) { /* Some internal tables */ sgn_mask[] = { 0x2, 0x4, 0x8 }; neg_mask[] = { ~0x3, ~0x7, ~0xf }; /* size used for transmission */ coef_res2 = coef_res_bits - coef_compress; s_mask = sgn_mask[coef_res2 - 2];/* mask for sign bit */ n_mask = neg_mask[coef_res2 - 2];/* mask for padding neg. values */ /* Conversion to signed integer */ for (i = 0; i < order; i++) tmp[i] = (coef[i] & s_mask) ? (coef[i] | n_mask) : coef[i]; /* Inverse quantization */ iqfac = ((1 << (coef_res_bits-1)) - 0.5) / (π/2.0); iqfac_m = ((1 << (coef_res_bits-1)) + 0.5) / (π/2.0); for (i = 0; i < order; i++) { tmp2[i] = sin(tmp[i] / ((tmp[i] >= 0) ? iqfac : iqfac_m)); } /* Conversion to LPC coefficients */ a[0] = 1; for (m = 1; m <= order; m++) { for (i = 1; i < m; i++) { b[i] = a[i] + tmp2[m-1] * a[m-i]; 102 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- ISO/IEC 13818-7:2004(E) } for (i = 1; i < m; i++) { a[i] = b[i]; } a[m] = tmp2[m-1]; } } tns_ar_filter(spectrum[], size, inc, lpc[], order) { - Simple all-pole filter of order “order” defined by y(n) = x(n) - lpc[1]*y(n-1) - ... - lpc[order]*y(n-order) - The state variables of the filter are initialized to zero every time - The output data is written over the input data (“in-place operation”) - An input vector of “size” samples is processed and the index increment to the next data sample is given by “inc” } 15 Filterbank and Block Switching 15.1 Tool Description The time-frequency representation of the signal is mapped onto the time domain by feeding it into the filterbank module. This module consists of an inverse modified discrete cosine transform (IMDCT), and a window and an overlap-add function. In order to adapt the time/frequency resolution of the filterbank to the characteristics of the input signal, a block switching tool is also adopted. N represents the window length, where N is a function of the window_sequence, see subclause 8.3.3. For each channel, the N/2 time-frequency values Xi,k are transformed into the N time domain values xi,n via the IMDCT. After applying the window function, for each channel, the first half of the zi,n sequence is added to the second half of the previous block windowed sequence z(i-1),n to reconstruct the output samples for each channel outi,n. 15.2 Definitions The syntax elements for the filterbank are specified in the raw data stream for the single_channel_element() (see subclause 6.3, Table 13), channel_pair_element() (see subclause 6.3, Table 14), and the coupling_channel (see subclause 6.3, Table 22). They consist of the control information window_sequence and window_shape. 15.2.1 Data Elements window_sequence 2 bit indicating which window sequence (i.e. block size) is used (see subclause 6.3, Table 15). window_shape 1 bit indicating which window function is selected (see subclause 6.3, Table 15). Table 44 shows the four window_sequences (ONLY_LONG_SEQUENCE, LONG_START_SEQUENCE, EIGHT_SHORT_SEQUENCE, LONG_STOP_SEQUENCE). --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 103 ISO/IEC 13818-7:2004(E) 15.3 Decoding Process 15.3.1 IMDCT The analytical expression of the IMDCT is: ∑ ( ) xi,n = 2 N N 2 −1 spec[i][k ] cos 2π k=0 N n + n0  k  + 1 2    for 0 ≤ n < N where : n = sample index i = window index k = spectral coefficient index N = window length based on the window_sequence value --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- n = (N/2 + 1)/2 0 The synthesis window length N for the inverse transform is a function of the syntax element window_sequence and is defined as follows:  N =     2048, if ONLY_LONG_SEQUENCE (0x0) 2048, if LONG_START_SEQUENCE (0x1) 256, if EIGHT_SHORT_SEQUENCE (0x2), (8 times) 2048, if LONG_STOP_SEQUENCE (0x3) The meaningful block transitions are as follows: from ONLY_LONG_SEQUENCE to { OLONNLYG__LSTOANRGT__SSEEQQUUEENNCCEE from LONG_START_SEQUENCE to {ELIOGNHGT__SSTHOOPR_TS_ESQEUQEUNECNECE from LONG_STOP_SEQUENCE to { OLONNLYG__LSTOANRGT__SSEEQQUUEENNCCEE from EIGHT_SHORT_SEQUENCE to {ELIOGNHGT__SSTHOOPR_TS_ESQEUQEUNECNECE In addition to the meaningful block transitions the following transitions are possible: from ONLY_LONG_SEQUENCE to { ELIOGNHGT__SSTHOOPR_TS_ESQEUQEUNECNECE from LONG_START_SEQUENCE to {OLONNLYG__LSTOANRGT__SSEEQQUUEENNCCEE from LONG_STOP_SEQUENCE to { ELIOGNHGT__SSTHOOPR_TS_ESQEUQEUNECNECE from EIGHT_SHORT_SEQUENCE to {OLONNLYG__LSTOANRGT__SSEEQQUUEENNCCEE This will still result in a reasonably smooth transition from one block to the next. 104 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- ISO/IEC 13818-7:2004(E) 15.3.2 Windowing and Block Switching Depending on the window_sequence and window_shape element different transform windows are used. A combination of the window halves described as follows offers all possible window_sequences. For window_shape == 1, the window coefficients are given by the Kaiser - Bessel derived (KBD) window as follows: WKBD _ LEFT , N (n) = n ∑[W '(p,α )] p=0 N /2 ∑[W '(p,α )] p=0 for 0 ≤ n < N 2 WKBD _ RIGHT , N (n) = N −n−1 ∑[W '(p,α )] p=0 N /2 ∑[W '(p,α )] p=0 for N 2 ≤ n < N where: W’ (Kaiser-Bessel kernel window function, see also [3]) is defined as follows: [ ]  W ' (n,α ) = I 0 πα  1.0 −  n − N / 4  2    N / 4   I 0 πα for 0 ≤ n ≤ N 2 [ ] I0 x = k ∞ ∑ =      0 x  k 2   k! 2      α = kernel window alpha factor, α = 4 for N = 2048  6 for N = 256 Otherwise, for window_shape == 0, a sine window is employed as follows: ( ) WSIN _ LEFT , N n = sin( π (n + 1 )) N2 for 0≤ n< N 2 ( ) WSIN _ RIGHT , N n = sin( π (n + 1 )) N2 for N 2 ≤ n< N The window length N can be 2048 or 256 for the KBD and the sine window. How to obtain the possible window sequences is explained in the parts a) - d) of this clause. All four window_sequences described below have a total length of 2048 samples. For all kinds of window_sequences the window_shape of the left half of the first transform window is determined by the window shape of the previous block. The following formula expresses this fact: Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 105 ISO/IEC 13818-7:2004(E) WLEFT ,N (n) = WKBD _ LEFT ,N (n), if WSIN _ LEFT ,N (n), if window_shape_previous_block == 1 window_shape_previous_block == 0 where: window_shape_previous_block: window_shape of the previous block (i-1). For the first block of the bitstream to be decoded the window_shape of the left and right half of the window are identical. a) ONLY_LONG_SEQUENCE: The window_sequence == ONLY_LONG_SEQUENCE is equal to one LONG_WINDOW (see Table 44) with a total window length of 2048. For window_shape == 1 the window for ONLY_LONG_SEQUENCE is given as follows: ( ) W n =  WLEFT ,2048 (n), WKBD _ RIGHT ,2048 (n), for 0 ≤ n < 1024 for 1024 ≤ n < 2048 If window_shape == 0 the window for ONLY_LONG_SEQUENCE can be described as follows: ( ) W n =  WLEFT ,2048 (n), WSIN _ RIGHT ,2048 (n), for 0 ≤ n < 1024 for 1024 ≤ n < 2048 --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- After windowing, the time domain values (zi,n) can be expressed as: zi,n = w(n) ⋅ xi,n ; b) LONG_START_SEQUENCE: The LONG_START_SEQUENCE is needed to obtain a correct overlap and add for a block transition from a ONLY_LONG_SEQUENCE to a EIGHT_SHORT_SEQUENCE. If window_shape == 1 the window for LONG_START_SEQUENCE is given as follows: WLEFT ,2048 (n), for 0 ≤ n < 1024 W (n) = 1.0, WKBD _ RIGHT ,256 (n + 128 − 1472), for for 1024 1472 ≤ ≤ n n < 1472 < 1600  0.0, for 1600 ≤ n < 2048 If window_shape == 0 the window for LONG_START_SEQUENCE looks like: WLEFT ,2048 (n), for 0 ≤ n < 1024 W (n) = 1.0, WSIN _ RIGHT ,256 (n + 128 − 1472), for for 1024 ≤ n 1472 ≤ n < 1472 < 1600  0.0, for 1600 ≤ n < 2048 The windowed time-domain values can be calculated with the formula explained in a). c) EIGHT_SHORT The window_sequence == EIGHT_SHORT comprises eight overlapped and added SHORT_WINDOWs (see Table 44) with a length of 256 each. The total length of the window_sequence together with leading and following zeros is 2048. Each of the eight 106 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) short blocks are windowed separately first. The short block number is indexed with the variable j = 0,…, 7. The window_shape of the previous block influences the first of the eight short blocks (W0(n)) only. If window_shape == 1 the window functions can be given as follows: ( ) W0 n =  WLEFT ,256 (n), WKBD _ RIGHT ,256 (n), for 0 ≤ n < 128 for 128 ≤ n < 256 ( ) W1 − 7 n =  WKBD _ LEFT ,256 (n), WKBD _ RIGHT ,256 (n), for 0 ≤ n < 128 for 128 ≤ n < 256 Otherwise, if window_shape == 0, the window functions can be described as: ( ) W0 n =  WLEFT ,256 (n), WSIN _ RIGHT ,256 (n), for 0 ≤ n < 128 for 128 ≤ n < 256 ( ) W1 − 7 n =  WSIN _ LEFT ,256 (n), WSIN _ RIGHT ,256 (n), for 0 ≤ n < 128 for 128 ≤ n < 256 The overlap and add between the EIGHT_SHORT window_sequence resulting in the windowed time domain values zi,n is described as follows:  0, for 0 ≤ n < 448    xi,n−448 ⋅W0 (n − 448), for 448 ≤ n < 576 xi,n−448 ⋅W0 (n − 448) + xi,n−576 ⋅W1(n − 576), for 576 ≤ n < 704    xi,n−576 ⋅W1 (n xi,n−704 ⋅W2 (n − − 576) 704) + + xi,n−704 ⋅W2 (n xi,n−832 ⋅W3 (n − − 704), for 704 832), for 832 ≤ ≤ n n < < 832 960 zi ,n =      xi,n−832 ⋅W3 (n − 832) + xi,n−960 ⋅W4 (n − 960), for 960 ≤ n < 1088 xi,n−960 ⋅W4 (n − 960) + xi,n−1088 ⋅W5 (n − 1088), for 1088 ≤ n < 1216 xi,n−1088 ⋅W5 (n − 1088) + xi,n−1216 ⋅W6 (n − 1216), for 1216 ≤ n < 1344   xi,n−1216 ⋅W6 (n − 1216) + xi,n−1344 ⋅W7 (n − 1344), for 1344 ≤ n < 1472  xi,n−1344 ⋅W7 (n − 1344), for 1472 ≤ n < 1600   0, for 1600 ≤ n < 2048 d) LONG_STOP_SEQUENCE This window_sequence is needed to switch from a EIGHT_SHORT_SEQUENCE back to a ONLY_LONG_SEQUENCE. If window_shape == 1 the window for LONG_STOP_SEQUENCE is given as follows: 0.0, for 0 ≤ n < 448 W (n) =  WLEFT 1.0, ,256 (n − 448), for 448 ≤ n < 576 for 576 ≤ n < 1024  WKBD _ RIGHT ,2048 (n), for 1024 ≤ n < 2048 --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 107 ISO/IEC 13818-7:2004(E) If window_shape == 0 the window for LONG_START_SEQUENCE is determined by: 0.0, for 0 ≤ n < 448 W (n ) =  WLEFT 1.0, , 256 (n − 448), for 448 ≤ n < 576 for 576 ≤ n < 1024  WSIN _ RIGHT ,2048 (n), for 1024 ≤ n < 2048 The windowed time domain values can be calculated with the formula explained in a). 15.3.3 Overlapping and Adding with Previous Window Sequence Besides the overlap and add within the EIGHT_SHORT window_sequence the first (left) half of every window_sequence is overlapped and added with the second (right) half of the previous window_sequence resulting in the final time domain values outi,n. The mathematic expression for this operation can be described as follows. It is valid for all four possible window_sequences. outi,n = zi,n + z ; i−1,n+ N 2 for 0≤n< N 2 , N = 2048 16 Gain Control 16.1 Tool Description The gain control tool is made up of several gain compensators and overlap/add processing stages, and an IPQF (Inverse Polyphase Quadrature Filter) stage. This tool receives nonoverlapped signal sequences provided by the IMDCT stages, window_sequence and gain_control_data, and then reproduces the output PCM data. The block diagram for the gain control tool is shown in Figure 9. Due to the characteristics of the PQF filterbank, the order of the MDCT coefficients in each even PQF band must be reversed. This is done by reversing the spectral order of the MDCT coefficients, i.e. exchanging the higher frequency MDCT coefficients with the lower frequency MDCT coefficients. If the gain control tool is used, the configuration of the filter bank tool is changed as follows. In the case of an EIGHT_SHORT_SEQUENCE window_sequence, the number of coefficients for the IMDCT is 32 instead of 128 and eight IMDCTs are carried out. In the case of other window_sequence values, the number of coefficients for the IMDCT is 256 instead of 1024 and one IMDCT is performed. In all cases, the filter bank tool outputs a total of 2048 non-overlapped values per frame. These values are supplied to the gain control tool as UW ,B ( j) defined in 16.3.3. The IPQF combines four uniform frequency bands and produces a decoded time domain output signal. The aliasing components introduced by the PQF in the encoder are cancelled by the IPQF. The gain values for each band can be controlled independently except for the lowest frequency band. The step size of gain control is 2 ^ n where n is an integer. The gain control tool outputs a time signal sequence which is AS(n) defined in 16.3.4. 108 Copyright International Organization for Standardization Reproduced by IHS under license with ISO --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) 16.2 Definitions 16.2.1 Data Elements adjust_num max_band alevcode aloccode 3-bit field indicating the number of gain changes for each IPQF band. The maximum number of gain changes is seven (see subclause 6.3, Table 27). 2-bit field indicating the number of IPQF bands in which their signal gain have been controlled. The meanings of this value are shown below (see subclause 6.3, Table 27). 0: no bands have activated gain control. 1: signal gain on 2nd IPQF band has been controlled. 2: signal gain on 2nd and 3rd IPQF bands have been controlled. 3: signal gain on 2nd, 3rd and 4th IPQF bands have been controlled. 4-bit field indicating the gain value for one gain change (see subclause 6.3, Table 27). 2-, 4-, or 5-bit field indicating the position for one gain change. The length of this data varies depending on the window sequence (see subclause 6.3, Table 27). 16.2.2 Help Elements gain control data IPQF band side information indicating the gain values and the positions used for the gain change. each split band of IPQF. 16.3 Decoding Process The following four processes are required for decoding. (1) Gain control data decoding (2) Gain control function setting (3) Gain control windowing and overlapping (4) Synthesis filter 16.3.1 Gain Control Data Decoding Gain control data are reconstructed as follows. (1) NADW ,B = adjust_num[B][W ] Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 109 --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- ISO/IEC 13818-7:2004(E) (2) ALOCW ,B (m) = AdjLoc(aloccode[B][W ][m − 1]),1 ≤ m ≤ NADW ,B ( ) ALEVW ,B m = 2 AdjLev(alevcode[B][W ][m−1]) ,1 ≤ m ≤ NADW ,B (3) ALOCW ,B (0) = 0 ALEVW , B (0) =    1,if NADW ,B == 0 ALEVW ,B (1),otherwise (4) 256,W == 0if ONLY_LONG_SEQUENCE 13122,W,W====10if LONG_START_SEQUENCE ( ) ALOCW ,B NADW ,B +1 =  32,0 ≤ W ≤ 7if EIGHT_SHORT_SEQUENCE 112,W 256,W == == 01if LONG_STOP_SEQUENCE ( ) ALEVW ,B NADW ,B + 1 = 1 where NADW ,B : Gain Control Information Number, an integer ALOCW ,B (m): Gain Control Location, an integer ALEVW ,B (m) : Gain Control Level, an integer-valued real number B: Band ID, an integer from 1 to 3 W: Window ID, an integer from 0 to 7 m: an integer aloccode[B][W][m] must be set so that {ALOCW ,B (m)} satisfies the following conditions. ALOCW ,B (m1 ) < ALOCW ,B (m2 ),1 ≤ m1 < m2 ≤ NADW ,B + 1 In cases of LONG_START_SEQUENCE and LONG_STOP_SEQUENCE, the values 14 and 15 of aloccode[B][0][m] are invalid. AdjLoc() is defined in Table 64. AdjLev() is defined in Table 65. 16.3.2 Gain Control Function Setting The Gain control function is obtained as follows. (1) { } M W ,B, j = Max m : ALOCW ,B (m) ≤ j , 110 Copyright International Organization for Standardization Reproduced by IHS under license with ISO --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- 0 ≤ j ≤ 255,W == 0if ONLY_LONG_SEQUENCE 0≤ 0≤ j j ≤ ≤ 1311,1W,W====10if LONG_START_SEQUENCE 0 ≤ j ≤ 31,0 ≤ W ≤ 7if EIGHT_SHORT_SEQUENCE 0≤ 0≤ j j ≤ ≤ 111,W 255,W ====01if LONG_STOP_SEQUENCE (2) ( (( )( ) )) ( ) ( ) FMDW,B j = Iinf tAeLrOAAjC−LLWEEA,BVVLWWMO,,BBCWMMW,B,,BWWj , ,B, j  ,B, j +1 , MW ,B, j ,  ≤ j ≤ ALOCW ,B MW,B, j +7 ( ) ALEVW ,B MW ,B, j +1 ,otherwise (3) if ONLY_LONG_SEQUENCE GMF0, B ( j ) = ALEV0,B (0)× PFMDB FMD0,B ( j − 256),256 (j ≤ ),0 ≤ j ≤ j ≤ 511 255 PFMDB ( j) = FMD0,B ( j),0 ≤ j ≤ 255 if LONG_START_SEQUENCE ALEV0,B (0)× ALEV1,B (0)× PFMDB ( j),0 ≤ j ≤ 255 GMF0,B ( j) = FAMLEDV1,1B,B((j0−)×36F8M),3D608,B (j ≤ − 256),256 j ≤ 399 ≤ j ≤ 367 1,400 ≤ j ≤ 511 PFMDB ( j) = FMD1,B ( j),0 ≤ j ≤ 31 if EIGHT_SHORT_SEQUENCE GMFW , B ( j ) =    ALEVW ALEVW ,B ,B (0)× (0)× PFMDB ( j),W FMDW −1,B ( j),1 == 0,0 ≤W ≤ ≤j 7,0 ≤ ≤ 31 j≤ 31 FMDW ,B ( j − 32),0 ≤ W ≤ 7,32 ≤ j ≤ 63 PFMDB ( j) = FMD7,B ( j),0 ≤ j ≤ 31 if LONG_STOP_SEQUENCE 1,0 ≤ j ≤ 111 GMF0,B ( j) = ALEV0,B (0)× ALEV1,B (0)× PFMDB ( j −112),112 ≤   ALEV1, B (0)× FMD0,B ( j − 144),144 ≤ j ≤ 255 j ≤ 143 FMD1,B ( j − 256),256 ≤ j ≤ 511 Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 111 ISO/IEC 13818-7:2004(E) PFMDB ( j) = FMD1,B ( j),0 ≤ j ≤ 255 (4) ADW ,B ( j) = 1 GMFW ,B ( j) , 0 ≤ j ≤ 511,W == 0if ONLY_LONG_SEQUENCE 0 ≤ j ≤ 511,W == 0if LONG_START_SEQUENCE 0 ≤ j ≤ 63,0 ≤ W ≤ 7if EIGHT_SHORT_SEQUENCE 0 ≤ j ≤ 511,W == 0if LONG_STOP_SEQUENCE where FMDW ,B ( j) : Fragment Modification Function, a real number PFMDB ( j) : Fragment Modification Function of previous frame, a real number GMFW ,B ( j) : Gain Modification Function, a real number ADW ,B ( j): Gain Control Function, a real number ALOCW ,B (m): Gain Control Location defined in subclause 16.3.1, an integer ALEVW ,B (m) : Gain Control Level defined in subclause 16.3.1, an integer-valued real number B: Band ID, an integer from 1 to 3 --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- W: Window ID, an integer from 0 to 7 MW ,B, j : an integer m: an integer and (8− j )log2 (a )+ j log2 (b) Inter(a,b, j) = 2 8 Note that the initial value of PFMDB ( j) must be set 1.0. 16.3.3 Gain Control Windowing and Overlapping Band Sample Data are obtained through the processes (1) to (2) shown below. (1) Gain Control Windowing if B = 0 TW ,B ( j) = UW ,B ( j), 0 ≤ j ≤ 511,W == 0if ONLY_LONG_SEQUENCE 0 ≤ j ≤ 511,W == 0if LONG_START_SEQUENCE 0 ≤ j ≤ 63,0 ≤ W ≤ 7if EIGHT_SHORT_SEQUENCE 0 ≤ j ≤ 511,W == 0if LONG_STOP_SEQUENCE 112 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) else ( TW ,B j) = ADW ,B ( )j ×UW ,B ( j), 0 ≤ j ≤ 511,W == 0if ONLY_LONG_SEQUENCE 0 ≤ j ≤ 511,W == 0if LONG_START_SEQUENCE 0 ≤ j ≤ 63,0 ≤ W ≤ 7if EIGHT_SHORT_SEQUENCE 0 ≤ j ≤ 511,W == 0if LONG_STOP_SEQUENCE (2) Overlapping if ONLY_LONG_SEQUENCE VB ( j) = PTB ( j)+ T0,B ( j),0 ≤ j ≤ 255 PTB ( j) = T0,B ( j + 256),0 ≤ j ≤ 255 if LONG_START_SEQUENCE VB ( j) = PTB ( j)+ T0,B ( j),0 ≤ j ≤ 255 VB ( j + 256) = T0,B ( j + 256),0 ≤ j ≤ 111 PTB ( j) = T0,B ( j + 368),0 ≤ j ≤ 31 if EIGHT_SHORT_SEQUENCE VB ( j) = PTB ( j)+ TW ,B ( j),W == 0,0 ≤ j ≤ 31 VB (32W + j) = TW −1,B ( j + 32)+ TW ,B ( j),1 ≤ W ≤ 7,0 ≤ j ≤ 31 PTB ( j) = Tw,B ( j + 32),W == 7,0 ≤ j ≤ 31 if LONG_STOP_SEQUENCE VB ( j) = PTB ( j)+ T0,B ( j +112),0 ≤ j ≤ 31 VB ( j + 32) = T0,B ( j +144),0 ≤ j ≤ 111 PTB ( j) = T0,B ( j + 256),0 ≤ j ≤ 255 where UW,B ( j): Band Spectrum Data, a real number TW ,B ( j): Gain Controlled Block Sample Data, a real number PTB ( j): VB ( j): ADW ,B ( j): Gain Controlled Block Sample Data of previous frame, a real number Band Sample Data, a real number Gain Control Function defined in subclause 16.3.2, a real number B: Band ID, an integer from 0 to 3 W: Window ID, an integer from 0 to 7 --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 113 ISO/IEC 13818-7:2004(E) j: an integer Note that the initial value of PTB ( j) must be set 0.0. 16.3.4 Synthesis Filter Audio Sample Data are obtained from the following equations. (1) V~B ( j) = V0,Be(lkse),if j == 4k,0 ≤ B ≤ 3 (2) QB ( j ) = Q( j )× cos  (2 B + 1)(2 16 j − 3)π ,0 ≤  j ≤ 95,0 ≤ B ≤3 (3) AS (n ) = 3 95 ∑∑QB ( j ) × V~B (n − j) B=0 j=0 where AS(n): Audio Sample Data VB (n): Band Sample Data defined in subclause 16.3.3, a real number V~B ( j): Interpolated Band Sample Data, a real number QB ( j):Synthesis Filter Coefficients, a real number Q( j) : Prototype Coefficients given below, a real number B: Band ID, an integer from 0 to 3 --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- W: Window ID, an integer from 0 to 7 n: an integer j: an integer k: an integer The values of Q(0) to Q(47) are shown in Table 66. The values of Q(48) to Q(95) are obtained from the following equation. Q( j) = Q(95 − j),48 ≤ j ≤ 95 114 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- ISO/IEC 13818-7:2004(E) 16.4 Diagrams window_ sequence gain_ control_ data 256 or 32 IMDCT Spectral rev ers e 256 or 32 IMDCT 256 or 32 IMDCT Spectral rev ers e 256 or 32 IMDCT nonoverlapped time signal gain control tool Overlapping Gain Co mp en s ato r & Overlapping Gain Co mp en s ato r & Overlapping Gain Co mp en s ato r & Overlapping IPQF output PCM data Figure 9 – Block diagram of gain control tool 16.5 Tables Table 64 – AdjLoc() AC AdjLoc(AC) AC 0 0 16 1 8 17 2 16 18 3 24 19 4 32 20 5 40 21 6 48 22 7 56 23 8 64 24 9 72 25 10 80 26 11 88 27 12 96 28 13 104 29 14 112 30 15 120 31 AdjLoc(AC) 128 136 144 152 160 168 176 184 192 200 208 216 224 232 240 248 Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 115 ISO/IEC 13818-7:2004(E) Table 65 – AdjLev() AV AdjLev(AV) 0 -4 1 -3 2 -2 3 -1 4 0 5 1 6 2 7 3 8 4 9 5 10 6 11 7 12 8 13 9 14 10 15 11 Table 66 – Q() j Q(j) j Q(j) 0 9.7655291007575512E-05 24 -2.2656858741499447E-02 1 1.3809589379038567E-04 25 -6.8031113858963354E-03 2 9.8400749256623534E-05 26 1.5085400948280744E-02 3 -8.6671544782335723E-05 27 3.9750993388272739E-02 4 -4.6217998911921346E-04 28 6.2445363629436743E-02 5 -1.0211814095158174E-03 29 7.7622327748721326E-02 6 -1.6772149340010668E-03 30 7.9968338496132926E-02 7 -2.2533338951411081E-03 31 6.5615493068475583E-02 8 -2.4987888343213967E-03 32 3.3313658300882690E-02 9 -2.1390815966761882E-03 33 -1.4691563058190206E-02 10 -9.5595397454597772E-04 34 -7.2307890475334147E-02 11 1.1172111530118943E-03 35 -1.2993222541703875E-01 12 3.9091309127348584E-03 36 -1.7551641029040532E-01 13 6.9635703420118673E-03 37 -1.9626543957670528E-01 14 9.5595442159478339E-03 38 -1.8073330670215029E-01 15 1.0815766540021360E-02 39 -1.2097653136035738E-01 16 9.8770514991715300E-03 40 -1.4377370758549035E-02 17 6.1562567291327357E-03 41 1.3522730742860303E-01 18 -4.1793946063629710E-04 42 3.1737852699301633E-01 19 -9.2128743097707640E-03 43 5.1590021798482233E-01 20 -1.8830775873369020E-02 44 7.1080020379761377E-01 21 -2.7226498457701823E-02 45 8.8090632488444798E-01 22 -3.2022840857588906E-02 46 1.0068321641150089E+00 23 -3.0996332527754609E-02 47 1.0737914947736096E+00 --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- 116 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 Annex A (normative) Huffman Codebook Tables Table A.1 – Scalefactor Huffman Codebook length 18 18 18 18 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 18 19 18 17 17 16 17 16 16 16 16 15 15 14 14 14 14 14 14 13 13 12 12 12 11 12 11 10 codeword (hexadecimal) 3ffe8 3ffe6 3ffe7 3ffe5 7fff5 7fff1 7ffed 7fff6 7ffee 7ffef 7fff0 7fffc 7fffd 7ffff 7fffe 7fff7 7fff8 7fffb 7fff9 3ffe4 7fffa 3ffe3 1ffef 1fff0 fff5 1ffee fff2 fff3 fff4 fff1 7ff6 7ff7 3ff9 3ff5 3ff7 3ff3 3ff6 3ff2 1ff7 1ff5 ff9 ff7 ff6 7f9 ff4 7f8 3f9 index 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 length 4 4 5 6 6 7 7 8 8 9 9 10 10 10 11 11 11 11 12 12 13 13 13 14 14 16 15 16 15 18 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 codeword (hexadecimal) a c 1b 39 3b 78 7a f7 f9 1f6 1f9 3f4 3f6 3f8 7f5 7f4 7f6 7f7 ff5 ff8 1ff4 1ff6 1ff8 3ff8 3ff4 fff0 7ff4 fff6 7ff5 3ffe2 7ffd9 7ffda 7ffdb 7ffdc 7ffdd 7ffde 7ffd8 7ffd2 7ffd3 7ffd4 7ffd5 7ffd6 7fff2 7ffdf 7ffe7 7ffe8 7ffe9 Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 117 ISO/IEC 13818-7:2004(E) index 47 48 49 50 51 52 53 54 55 56 57 58 59 60 length 10 10 9 9 8 8 8 7 6 6 5 4 3 1 Table A.1 (continued) codeword (hexadecimal) 3f7 3f5 1f8 1f7 fa f8 f6 79 3a 38 1a b 4 0 index 108 109 110 111 112 113 114 115 116 117 118 119 120 length 19 19 19 19 19 19 19 19 19 19 19 19 19 codeword (hexadecimal) 7ffea 7ffeb 7ffe6 7ffe0 7ffe1 7ffe2 7ffe3 7ffe4 7ffe5 7ffd7 7ffec 7fff4 7fff3 118 Copyright International Organization for Standardization Reproduced by IHS under license with ISO --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 ISO/IEC 13818-7:2004(E) Table A.2 – Spectrum Huffman Codebook 1 length 11 9 11 10 7 10 11 9 11 10 7 10 7 5 7 9 7 10 11 9 11 9 7 9 11 9 11 9 7 9 7 5 7 9 7 9 7 5 7 5 1 codeword (hexadecimal) 7f8 1f1 7fd 3f5 68 3f0 7f7 1ec 7f5 3f1 72 3f4 74 11 76 1eb 6c 3f6 7fc 1e1 7f1 1f0 61 1f6 7f2 1ea 7fb 1f2 69 1ed 77 17 6f 1e6 64 1e5 67 15 62 12 0 index 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 length 5 7 5 7 9 7 9 7 5 7 9 7 9 11 9 11 9 7 9 11 9 11 10 7 9 7 5 7 9 7 10 11 9 11 10 7 9 11 9 11 codeword (hexadecimal) 14 65 16 6d 1e9 63 1e4 6b 13 71 1e3 70 1f3 7fe 1e7 7f3 1ef 60 1ee 7f0 1e2 7fa 3f3 6a 1e8 75 10 73 1f4 6e 3f7 7f6 1e0 7f9 3f2 66 1f5 7ff 1f7 7f4 Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 119 ISO/IEC 13818-7:2004(E) index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 Table A.3 – Spectrum Huffman Codebook 2 length 9 7 9 8 6 8 9 8 9 8 6 7 6 5 6 7 6 8 9 7 8 8 6 8 9 7 9 8 6 7 6 5 6 7 6 8 6 5 6 5 3 codeword (hexadecimal) 1f3 6f 1fd eb 23 ea 1f7 e8 1fa f2 2d 70 20 6 2b 6e 28 e9 1f9 66 f8 e7 1b f1 1f4 6b 1f5 ec 2a 6c 2c a 27 67 1a f5 24 8 1f 9 0 index 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 length 5 6 5 6 8 6 7 6 5 6 8 6 8 9 7 9 8 6 8 8 7 9 8 6 7 6 4 6 8 6 7 9 7 9 7 6 8 9 7 9 codeword (hexadecimal) 7 1d b 30 ef 1c 64 1e c 29 f3 2f f0 1fc 71 1f2 f4 21 e6 f7 68 1f8 ee 22 65 31 2 26 ed 25 6a 1fb 72 1fe 69 2e f6 1ff 6d 1f6 120 Copyright International Organization for Standardization Reproduced by IHS under license with ISO © ISO/IEC 2004 – All rights reserved --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 ISO/IEC 13818-7:2004(E) Table A.4 – Spectrum Huffman Codebook 3 length 1 4 8 4 5 8 9 9 10 4 6 9 6 6 9 9 9 10 9 10 13 9 9 11 11 10 12 4 6 10 6 7 10 10 10 12 5 7 11 6 7 codeword (hexadecimal) 0 9 ef b 19 f0 1eb 1e6 3f2 a 35 1ef 34 37 1e9 1ed 1e7 3f3 1ee 3ed 1ffa 1ec 1f2 7f9 7f8 3f8 ff8 8 38 3f6 36 75 3f1 3eb 3ec ff4 18 76 7f4 39 74 index 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 length 10 9 9 11 9 10 13 8 9 12 10 11 12 8 10 15 9 11 15 13 14 16 8 10 14 9 10 14 12 12 15 11 12 16 10 11 15 12 12 15 codeword (hexadecimal) 3ef 1f3 1f4 7f6 1e8 3ea 1ffc f2 1f1 ffb 3f5 7f3 ffc ee 3f7 7ffe 1f0 7f5 7ffd 1ffb 3ffa ffff f1 3f0 3ffc 1ea 3ee 3ffb ff6 ffa 7ffc 7f2 ff5 fffe 3f4 7f7 7ffb ff7 ff9 7ffa Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 121 ISO/IEC 13818-7:2004(E) index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 Table A.5 – Spectrum Huffman Codebook 4 length 4 5 8 5 4 8 9 8 11 5 5 8 5 4 8 8 7 10 9 8 11 8 8 10 11 10 11 4 5 8 4 4 8 8 8 10 4 4 8 4 4 codeword (hexadecimal) 7 16 f6 18 8 ef 1ef f3 7f8 19 17 ed 15 1 e2 f0 70 3f0 1ee f1 7fa ee e4 3f2 7f6 3ef 7fd 5 14 f2 9 4 e5 f4 e8 3f4 6 2 e7 3 0 index 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 length 7 8 7 9 8 8 10 7 7 9 10 9 10 8 8 11 8 7 10 11 10 12 8 7 10 7 7 9 10 9 11 11 10 12 10 9 11 11 10 11 codeword (hexadecimal) 6b e3 69 1f3 eb e6 3f6 6e 6a 1f4 3ec 1f0 3f9 f5 ec 7fb ea 6f 3f7 7f9 3f3 fff e9 6d 3f8 6c 68 1f5 3ee 1f2 7f4 7f7 3f1 ffe 3ed 1f1 7f5 7fe 3f5 7fc 122 Copyright International Organization for Standardization Reproduced by IHS under license with ISO --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 ISO/IEC 13818-7:2004(E) Table A.6 – Spectrum Huffman Codebook 5 length 13 12 11 11 10 11 11 12 13 12 11 10 9 8 9 10 11 12 12 10 9 8 7 8 9 10 11 11 9 8 5 4 5 8 9 11 10 8 7 4 1 codeword (hexadecimal) 1fff ff7 7f4 7e8 3f1 7ee 7f9 ff8 1ffd ffd 7f1 3e8 1e8 f0 1ec 3ee 7f2 ffa ff4 3ef 1f2 e8 70 ec 1f0 3ea 7f3 7eb 1eb ea 1a 8 19 ee 1ef 7ed 3f0 f2 73 b 0 index 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 length 4 7 8 11 11 9 8 5 4 5 8 9 11 11 10 9 8 7 8 9 10 11 12 11 10 9 8 9 10 11 12 13 12 12 11 10 10 11 12 13 codeword (hexadecimal) a 71 f3 7e9 7ef 1ee ef 18 9 1b eb 1e9 7ec 7f6 3eb 1f3 ed 72 e9 1f1 3ed 7f7 ff6 7f0 3e9 1ed f1 1ea 3ec 7f8 ff9 1ffc ffc ff5 7ea 3f3 3f2 7f5 ffb 1ffe --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 123 ISO/IEC 13818-7:2004(E) --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 Table A.7 – Spectrum Huffman Codebook 6 length 11 10 9 9 9 9 9 10 11 10 9 8 7 7 7 8 9 10 9 8 6 6 6 6 6 8 9 9 7 6 4 4 4 6 7 9 9 7 6 4 4 codeword (hexadecimal) 7fe 3fd 1f1 1eb 1f4 1ea 1f0 3fc 7fd 3f6 1e5 ea 6c 71 68 f0 1e6 3f7 1f3 ef 32 27 28 26 31 eb 1f7 1e8 6f 2e 8 4 6 29 6b 1ee 1ef 72 2d 2 0 index 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 length 4 6 7 9 9 7 6 4 4 4 6 7 9 9 8 6 6 6 6 6 8 9 10 9 8 7 7 7 7 8 10 11 10 9 9 9 9 9 10 11 codeword (hexadecimal) 3 2f 73 1fa 1e7 6e 2b 7 1 5 2c 6d 1ec 1f9 ee 30 24 2a 25 33 ec 1f2 3f8 1e4 ed 6a 70 69 74 f1 3fa 7ff 3f9 1f6 1ed 1f8 1e9 1f5 3fb 7fc 124 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 ISO/IEC 13818-7:2004(E) Table A.8 – Spectrum Huffman Codebook 7 length 1 3 6 7 8 9 10 11 3 4 6 7 8 8 9 9 6 6 7 8 8 9 9 10 7 7 8 8 9 9 10 10 codeword (hexadecimal) 0 5 37 74 f2 1eb 3ed 7f7 4 c 35 71 ec ee 1ee 1f5 36 34 72 ea f1 1e9 1f3 3f5 73 70 eb f0 1f1 1f0 3ec 3fa index 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 length 8 8 9 9 10 10 10 11 9 8 9 9 10 10 11 11 10 9 9 10 10 11 12 12 11 10 10 10 11 11 12 12 codeword (hexadecimal) f3 ed 1e8 1ef 3ef 3f1 3f9 7fb 1ed ef 1ea 1f2 3f3 3f8 7f9 7fc 3ee 1ec 1f4 3f4 3f7 7f8 ffd ffe 7f6 3f0 3f2 3f6 7fa 7fd ffc fff © ISO/IEC 2004 – All rights reserved --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 125 ISO/IEC 13818-7:2004(E) --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Table A.9 – Spectrum Huffman Codebook 8 length 5 4 5 6 7 8 9 10 4 3 4 5 6 7 7 8 5 4 4 5 6 7 7 8 6 5 5 6 6 7 8 8 codeword (hexadecimal) e 5 10 30 6f f1 1fa 3fe 3 0 4 12 2c 6a 75 f8 f 2 6 14 2e 69 72 f5 2f 11 13 2a 32 6c ec fa index 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 length 7 6 6 6 7 7 8 9 8 7 6 7 7 8 8 10 9 7 7 8 8 8 9 9 10 8 8 8 9 9 9 10 codeword (hexadecimal) 71 2b 2d 31 6d 70 f2 1f9 ef 68 33 6b 6e ee f9 3fc 1f8 74 73 ed f0 f6 1f6 1fd 3fd f3 f4 f7 1f7 1fb 1fc 3ff 126 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 Table A.10 – Spectrum Huffman Codebook 9 length 1 3 6 8 9 10 10 11 11 12 12 13 13 3 4 6 7 8 8 9 10 10 10 11 12 12 6 6 7 8 8 9 10 10 10 11 12 12 12 8 7 8 9 9 10 10 11 11 11 12 12 13 9 codeword (hexadecimal) 0 5 37 e7 1de 3ce 3d9 7c8 7cd fc8 fdd 1fe4 1fec 4 c 35 72 ea ed 1e2 3d1 3d3 3e0 7d8 fcf fd5 36 34 71 e8 ec 1e1 3cf 3dd 3db 7d0 fc7 fd4 fe4 e6 70 e9 1dd 1e3 3d2 3dc 7cc 7ca 7de fd8 fea 1fdb 1df index 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 length 12 12 12 13 13 13 11 10 10 11 11 12 12 13 13 13 13 13 13 11 10 10 11 11 11 12 12 13 13 14 13 14 11 10 11 11 12 12 12 12 13 13 14 14 14 12 11 11 12 12 12 13 13 codeword (hexadecimal) fda fe3 fe9 1fe6 1ff3 1ff7 7d3 3d8 3e1 7d4 7d9 fd3 fde 1fdd 1fd9 1fe2 1fea 1ff1 1ff6 7d2 3d4 3da 7c7 7d7 7e2 fce fdb 1fd8 1fee 3ff0 1ff4 3ff2 7e1 3df 7c9 7d6 fca fd0 fe5 fe6 1feb 1fef 3ff3 3ff4 3ff5 fe0 7ce 7d5 fc6 fd1 fe1 1fe0 1fe8 --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 127 ISO/IEC 13818-7:2004(E) index 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 length 8 9 9 10 10 11 11 11 12 12 12 13 10 9 9 10 11 11 11 12 11 12 12 13 13 11 9 10 11 11 11 12 Table A.10 (continued) codeword (hexadecimal) eb 1dc 1e6 3d5 3de 7cb 7dd 7dc fcd fe2 fe7 1fe1 3d0 1e0 1e4 3d6 7c5 7d1 7db fd2 7e0 fd9 feb 1fe3 1fe9 7c4 1e5 3d7 7c6 7cf 7da fcb index 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 length 13 14 14 14 15 12 11 12 12 12 13 13 13 13 14 14 15 15 13 12 12 12 13 13 13 13 14 14 14 14 15 codeword (hexadecimal) 1ff0 3ff1 3ff8 3ff6 7ffc fe8 7df fc9 fd7 fdc 1fdc 1fdf 1fed 1ff5 3ff9 3ffb 7ffd 7ffe 1fe7 fcc fd6 fdf 1fde 1fda 1fe5 1ff2 3ffa 3ff7 3ffc 3ffd 7fff --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- 128 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 Table A.11 – Spectrum Huffman Codebook 10 length 6 5 6 6 7 8 9 10 10 10 11 11 12 5 4 4 5 6 7 7 8 8 9 10 10 11 6 4 5 5 6 6 7 8 8 9 9 10 10 6 5 5 5 6 7 7 8 8 9 9 10 10 7 codeword (hexadecimal) 22 8 1d 26 5f d3 1cf 3d0 3d7 3ed 7f0 7f6 ffd 7 0 1 9 20 54 60 d5 dc 1d4 3cd 3de 7e7 1c 2 6 c 1e 28 5b cd d9 1ce 1dc 3d9 3f1 25 b a d 24 57 61 cc dd 1cc 1de 3d3 3e7 5d index 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 length 9 9 9 10 10 11 9 8 8 8 8 8 9 9 9 10 10 11 11 9 8 8 8 8 8 9 9 10 10 10 11 11 10 9 9 9 9 9 9 10 10 10 11 11 12 10 9 9 9 9 10 10 10 codeword (hexadecimal) 1c7 1ca 1e0 3db 3e8 7ec 1e3 d2 cb d0 d7 db 1c6 1d5 1d8 3ca 3da 7ea 7f1 1e1 d4 cf d6 de e1 1d0 1d6 3d1 3d5 3f2 7ee 7fb 3e9 1cd 1c8 1cb 1d1 1d7 1df 3cf 3e0 3ef 7e6 7f8 ffa 3eb 1dd 1d3 1d9 1db 3d2 3cc 3dc --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 129 ISO/IEC 13818-7:2004(E) index 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 length 6 6 6 6 7 7 8 8 9 9 10 10 8 7 6 7 7 7 8 8 8 9 10 10 11 9 7 7 7 7 8 8 Table A.11 (continued) codeword (hexadecimal) 21 1f 23 27 59 64 d8 df 1d2 1e2 3dd 3ee d1 55 29 56 58 62 ce e0 e2 1da 3d4 3e3 7eb 1c9 5e 5a 5c 63 ca da index 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 length 10 11 11 11 12 11 10 9 10 10 10 10 10 11 11 11 11 12 11 10 10 10 10 10 10 11 11 12 12 12 12 codeword (hexadecimal) 3ea 7ed 7f3 7f9 ff9 7f2 3ce 1e4 3cb 3d8 3d6 3e2 3e5 7e8 7f4 7f5 7f7 ffb 7fa 3ec 3df 3e1 3e4 3e6 3f0 7e9 7ef ff8 ffe ffc fff --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- 130 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 Table A.12 – Spectrum Huffman Codebook 11 length 4 5 6 7 8 8 9 10 10 10 11 11 12 11 12 12 10 5 4 5 6 7 7 8 8 9 9 9 10 10 10 10 11 8 6 5 5 6 7 7 8 8 8 9 9 9 10 10 10 10 8 7 6 codeword (hexadecimal) 0 6 19 3d 9c c6 1a7 390 3c2 3df 7e6 7f3 ffb 7ec ffa ffe 38e 5 1 8 14 37 42 92 af 191 1a5 1b5 39e 3c0 3a2 3cd 7d6 ae 17 7 9 18 39 40 8e a3 b8 199 1ac 1c1 3b1 396 3be 3ca 9d 3c 15 index 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 length 10 10 10 10 10 10 11 8 10 9 9 9 9 9 9 9 10 10 10 10 10 10 11 11 8 11 9 9 9 9 9 9 10 10 10 10 10 11 10 11 11 8 11 10 9 9 10 9 10 10 10 10 10 codeword (hexadecimal) 38d 398 3b7 3d3 3d1 3db 7dd b4 3de 1a9 19b 19c 1a1 1aa 1ad 1b3 38b 3b2 3b8 3ce 3e1 3e0 7d2 7e5 b7 7e3 1bb 1a8 1a6 1b0 1b2 1b7 39b 39a 3ba 3b5 3d6 7d7 3e4 7d8 7ea ba 7e8 3a0 1bd 1b4 38a 1c4 392 3aa 3b0 3bc 3d7 Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 131 ISO/IEC 13818-7:2004(E) index 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 length 6 6 7 7 8 8 8 9 9 9 10 10 10 10 8 8 7 7 7 7 8 8 8 8 9 9 9 10 10 10 10 8 8 7 7 7 7 8 8 8 9 9 9 9 10 10 10 10 8 9 8 8 Table A.12 (continued) codeword (hexadecimal) 16 1a 3b 44 91 a5 be 196 1ae 1b9 3a1 391 3a5 3d5 94 9a 36 38 3a 41 8c 9b b0 c3 19e 1ab 1bc 39f 38f 3a9 3cf 93 bf 3e 3f 43 45 9e a7 b9 194 1a2 1ba 1c3 3a6 3a7 3bb 3d4 9f 1a0 8f 8d index 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 length 11 11 11 11 11 8 11 10 10 10 10 10 10 10 10 10 10 11 11 11 11 11 9 11 10 9 9 10 10 10 10 10 10 11 11 11 11 11 11 9 11 10 10 10 10 10 10 10 10 10 11 11 codeword (hexadecimal) 7d4 7dc 7db 7d5 7f0 c1 7fb 3c8 3a3 395 39d 3ac 3ae 3c5 3d8 3e2 3e6 7e4 7e7 7e0 7e9 7f7 190 7f2 393 1be 1c0 394 397 3ad 3c3 3c1 3d2 7da 7d9 7df 7eb 7f4 7fa 195 7f8 3bd 39c 3ab 3a8 3b3 3b9 3d0 3e3 3e5 7e2 7de 132 --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. index 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 ISO/IEC 13818-7:2004(E) length 8 8 8 8 8 9 9 9 10 10 10 10 10 8 9 8 8 8 8 8 8 9 9 9 10 10 10 10 10 10 8 10 9 8 8 9 9 9 9 9 Table A.12 (continued) codeword (hexadecimal) 90 98 a6 b6 c4 19f 1af 1bf 399 3bf 3b4 3c9 3e7 a8 1b6 ab a4 aa b2 c2 c5 198 1a4 1b8 38c 3a4 3c4 3c6 3dd 3e8 ad 3af 192 bd bc 18e 197 19a 1a3 1b1 index 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 length 11 11 11 11 9 12 10 10 10 10 10 10 10 11 11 11 11 11 11 12 12 9 9 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 5 codeword (hexadecimal) 7ed 7f1 7f9 7fc 193 ffd 3dc 3b6 3c7 3cc 3cb 3d9 3da 7d3 7e1 7ee 7ef 7f5 7f6 ffc fff 19d 1c2 b5 a1 96 97 95 99 a0 a2 ac a9 b1 b3 bb c0 18f 4 --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 133 ISO/IEC 13818-7:2004(E) Table A.13 – Kaiser-Bessel window for SSR profile EIGHT_SHORT_SEQUENCE i w(i) i 0 0.0000875914060105 16 1 0.0009321760265333 17 2 0.0032114611466596 18 3 0.0081009893216786 19 4 0.0171240286619181 20 5 0.0320720743527833 21 6 0.0548307856028528 22 7 0.0871361822564870 23 8 0.1302923415174603 24 9 0.1848955425508276 25 10 0.2506163195331889 26 11 0.3260874142923209 27 12 0.4089316830907141 28 13 0.4959414909423747 29 14 0.5833939894958904 30 15 0.6674601983218376 31 w(i) 0.7446454751465113 0.8121892962974020 0.8683559394406505 0.9125649996381605 0.9453396205809574 0.9680864942677585 0.9827581789763112 0.9914756203467121 0.9961964092194694 0.9984956609571091 0.9994855586984285 0.9998533730714648 0.9999671864476404 0.9999948432453556 0.9999995655238333 0.9999999961638728 134 Copyright International Organization for Standardization Reproduced by IHS under license with ISO --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) Table A.14 – Kaiser-Bessel window for SSR profile for other window sequences. i w(i) i 0 0.0005851230124487 128 1 0.0009642149851497 129 2 0.0013558207534965 130 3 0.0017771849644394 131 4 0.0022352533849672 132 5 0.0027342299070304 133 6 0.0032773001022195 134 7 0.0038671998069216 135 8 0.0045064443384152 136 9 0.0051974336885144 137 10 0.0059425050016407 138 11 0.0067439602523141 139 12 0.0076040812644888 140 13 0.0085251378135895 141 14 0.0095093917383048 142 15 0.0105590986429280 143 16 0.0116765080854300 144 17 0.0128638627792770 145 18 0.0141233971318631 146 19 0.0154573353235409 147 20 0.0168678890600951 148 21 0.0183572550877256 149 22 0.0199276125319803 150 23 0.0215811201042484 151 24 0.0233199132076965 152 25 0.0251461009666641 153 26 0.0270617631981826 154 27 0.0290689473405856 155 28 0.0311696653515848 156 29 0.0333658905863535 157 30 0.0356595546648444 158 31 0.0380525443366107 159 32 0.0405466983507029 160 33 0.0431438043376910 161 34 0.0458455957104702 162 35 0.0486537485902075 163 36 0.0515698787635492 164 37 0.0545955386770205 165 38 0.0577322144743916 166 39 0.0609813230826460 167 40 0.0643442093520723 168 41 0.0678221432558827 169 42 0.0714163171546603 170 43 0.0751278431308314 171 44 0.0789577503982528 172 45 0.0829069827918993 173 46 0.0869763963425241 174 47 0.0911667569410503 175 48 0.0954787380973307 176 49 0.0999129187977865 177 50 0.1044697814663005 178 51 0.1091497100326053 179 52 0.1139529881122542 180 53 0.1188797973021148 181 54 0.1239302155951605 182 55 0.1291042159181728 183 56 0.1344016647957880 184 w(i) 0.7110428359000029 0.7188474364707993 0.7265597347077880 0.7341770687621900 0.7416968783634273 0.7491167073477523 0.7564342060337386 0.7636471334404891 0.7707533593446514 0.7777508661725849 0.7846377507242818 0.7914122257259034 0.7980726212080798 0.8046173857073919 0.8110450872887550 0.8173544143867162 0.8235441764639875 0.8296133044858474 0.8355608512093652 0.8413859912867303 0.8470880211822968 0.8526663589032990 0.8581205435445334 0.8634502346476508 0.8686552113760616 0.8737353715068081 0.8786907302411250 0.8835214188357692 0.8882276830575707 0.8928098814640207 0.8972684835130879 0.9016040675058185 0.9058173183656508 0.9099090252587376 0.9138800790599416 0.9177314696695282 0.9214642831859411 0.9250796989403991 0.9285789863994010 0.9319635019415643 0.9352346855155568 0.9383940571861993 0.9414432135761304 0.9443838242107182 0.9472176277741918 0.9499464282852282 0.9525720912004834 0.9550965394547873 0.9575217494469370 0.9598497469802043 0.9620826031668507 0.9642224303060783 0.9662713777449607 0.9682316277319895 0.9701053912729269 0.9718949039986892 0.9736024220549734 --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 135 ISO/IEC 13818-7:2004(E) Table A.14 (continued) i w(i) i 57 0.1398223211441467 185 58 0.1453658351972151 186 59 0.1510317475686540 187 60 0.1568194884519144 188 61 0.1627283769610327 189 62 0.1687576206143887 190 63 0.1749063149634756 191 64 0.1811734433685097 192 65 0.1875578769224857 193 66 0.1940583745250518 194 67 0.2006735831073503 195 68 0.2074020380087318 196 69 0.2142421635060113 197 70 0.2211922734956977 198 71 0.2282505723293797 199 72 0.2354151558022098 200 73 0.2426840122941792 201 74 0.2500550240636293 202 75 0.2575259686921987 203 76 0.2650945206801527 204 77 0.2727582531907993 205 78 0.2805146399424422 206 79 0.2883610572460804 207 80 0.2962947861868143 208 81 0.3043130149466800 209 82 0.3124128412663888 210 83 0.3205912750432127 211 84 0.3288452410620226 212 85 0.3371715818562547 213 86 0.3455670606953511 214 87 0.3540283646950029 215 88 0.3625521080463003 216 89 0.3711348353596863 217 90 0.3797730251194006 218 91 0.3884630932439016 219 92 0.3972013967475546 220 93 0.4059842374986933 221 94 0.4148078660689724 222 95 0.4236684856687616 223 96 0.4325622561631607 224 97 0.4414852981630577 225 98 0.4504336971855032 226 99 0.4594035078775303 227 100 0.4683907582974173 228 101 0.4773914542472655 229 102 0.4864015836506502 230 103 0.4954171209689973 231 104 0.5044340316502417 232 105 0.5134482766032377 233 106 0.5224558166913167 234 107 0.5314526172383208 235 108 0.5404346525403849 236 109 0.5493979103766972 237 110 0.5583383965124314 238 111 0.5672521391870222 239 112 0.5761351935809411 240 113 0.5849836462541291 241 w(i) 0.9752302180233160 0.9767805768831932 0.9782557920246753 0.9796581613210076 0.9809899832703159 0.9822535532154261 0.9834511596505429 0.9845850806232530 0.9856575802399989 0.9866709052828243 0.9876272819448033 0.9885289126911557 0.9893779732525968 0.9901766097569984 0.9909269360049311 0.9916310308941294 0.9922909359973702 0.9929086532976777 0.9934861430841844 0.9940253220113651 0.9945280613237534 0.9949961852476154 0.9954314695504363 0.9958356402684387 0.9962103726017252 0.9965572899760172 0.9968779632693499 0.9971739102014799 0.9974465948831872 0.9976974275220812 0.9979277642809907 0.9981389072844972 0.9983321047686901 0.9985085513687731 0.9986693885387259 0.9988157050968516 0.9989485378906924 0.9990688725744943 0.9991776444921379 0.9992757396582338 0.9993639958299003 0.9994432036616085 0.9995141079353859 0.9995774088586188 0.9996337634216871 0.9996837868076957 0.9997280538466377 0.9997671005064359 0.9998014254134544 0.9998314913952471 0.9998577270385304 0.9998805282555989 0.9999002598526793 0.9999172570940037 0.9999318272557038 0.9999442511639580 0.9999547847121726 --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- 136 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) Table A.14 (continued) i w(i) i 114 0.5937936195492526 242 115 0.6025612759529649 243 116 0.6112828224083939 244 117 0.6199545145721097 245 118 0.6285726610088878 246 119 0.6371336273176413 247 120 0.6456338401819751 248 121 0.6540697913388968 249 122 0.6624380414593221 250 123 0.6707352239341151 251 124 0.6789580485595255 252 125 0.6871033051160131 253 126 0.6951678668345944 254 127 0.7031486937449871 255 w(i) 0.9999636603523446 0.9999710885561258 0.9999772592414866 0.9999823431612708 0.9999864932503106 0.9999898459281599 0.9999925223548691 0.9999946296375997 0.9999962619864214 0.9999975018180320 0.9999984208055542 0.9999990808746198 0.9999995351446231 0.9999998288155155 --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 137 ISO/IEC 13818-7:2004(E) Annex B (informative) Information on Unused Codebooks As specified by the normative part of this standard, the AAC decoder does not make use of codebooks #12 and #13. However, if desired, a decoder may use these codebooks to extend its functionality in a way that is consistent with other MPEG standards like ISO/IEC 14496-3 which use these particular codebooks to indicate coding by extended coding methods. As an example, the syntax in subclause 6.3 would change to Table B.1 – Extended syntax for scale_factor_data() Syntax scale_factor_data() { noise_pcm_flag = 1; for (g = 0; g < num_window_groups; g++) { for (sfb = 0; sfb < max_sfb; sfb++) { if (sfb_cb[g][sfb] != ZERO_HCB) { if (is_intensity(g,sfb)) hcod_sf[dpcm_is_position[g][sfb]]; else if (sfb_cb[g][sfb] == 13) if (noise_pcm_flag) { noise_pcm_flag = 0; dpcm_noise_nrg[g][sfb]; } else hcod_sf[dpcm_noise_nrg[g][sfb]]; else hcod_sf[dpcm_sf[g][sfb]]; } } } } No. Of bits 1..19 9 1..19 1..19 Mnemonic vlclbf uimsbf vlclbf vlclbf --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- 138 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) Annex C (informative) Encoder C.1 Psychoacoustic Model C.1.1 General This annex presents the general Psychoacoustic Model for the AAC encoder . The psychoacoustic model calculates the maximum distortion energy which is masked by the signal energy. This energy is called threshold. The threshold generation process has three inputs. They are: 1. The shift length for the threshold calculation process is called iblen. This iblen must remain constant over any particular application of the threshold calculation process. Since it is necessary to calculate thresholds for two different shift lengths, two processes, each running with a fixed shift length, are necessary. For long FFT iblen = 1024, for short FFT iblen = 128. 2. For each FFT type the newest iblen samples of the signal, with the samples delayed (either in the filterbank or psychoacoustic calculation) such that the window of the psychoacoustic calculation is centered in the time-window of the codec time/frequency transform . 3. The sampling rate. There are sets of tables provided for the standard sampling rates. Sampling rate, just as iblen, must necessarily remain constant over one implementation of the threshold calculation process. The output from the psychoacoustic model is : 1. a set of Signal-to-Mask Ratios and thresholds, which are adapted to the encoder as described below, 2. the delayed time domain data (PCM samples) , which are used by the MDCT, 3. the block type for the MDCT ( long, start, stop or short type ) 4. an estimation of how many bits should be used for encoding in addition to the average available bits. The delay of the PCM samples is necessary , because if the switch decision algorithm detects an attack, so that short blocks have to be used for the actual frame, the long block before the short blocks has to be ‘patched’ to a start block type in this case.. Before running the model initially, the array used to hold the preceding FFT source data window and the arrays used to hold r(w) and f(w) should be zeroed to provide a known starting point. --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 139 --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- ISO/IEC 13818-7:2004(E) C.1.2 Comments on Notation Throughout this threshold calculation process, three indices for data values are used. These are: w- indicates that the calculation is indexed by frequency in the FFT spectral line domain. An index of 0 corresponds to the DC term and an index of 1023 corresponds to the spectral line at the Nyquist frequency. b - indicates that the calculation is indexed in the threshold calculation partition domain. In the case where the calculation includes a convolution or sum in the threshold calculation partition domain, bb will be used as the summation variable. Partition numbering starts at 0. n - indicates that the calculation is indexed in the coder scalefactor band domain. An index of 0 corresponds to the lowest scalefactor band. C.1.3 The "Spreading Function" Several points in the following description refer to the "spreading function". It is calculated by the following method: if j >= i tmpx = 3.0 (j-i ) else tmpx = 1.5(j-i) Where i is the Bark value of the signal being spread, j is the Bark value of the band being spread into, and tmpx is a temporary variable. tmpz = 8 * minimum ((tmpx-0.5)2-2(tmpx-0.5),0) Where tmpz is a temporary variable, and minimum (a , b) is a function returning the more negative of a or b. tmpy = 15.811389 + 7.5(tmpx + 0.474)-17.5(1.0+(tmpx + 0.474)2)0.5 where tmpy is another temporary variable. if (tmpy <- 100) then {sprdngf (i , j) = 0} else {sprdngf (i , j) = 10^((tmpz + tmpy)/10)} C.1.4 Steps in Threshold Calculation The following are the necessary steps for the calculation of SMR(n) and xmin(n) used in the coder for long and short FFT. 1. Reconstruct 2 * iblen samples of the input signal. iblen new samples are made available at every call to the threshold generator. The threshold generator must store 2 * iblen - iblen samples, and concatenate those samples to accurately reconstruct 2 * iblen consecutive samples of the input signal, s(i), where i represents the index, 0 <= i < 2 * iblen , of the current input stream. 2. Calculate the complex spectrum of the input signal. First, s(i) is windowed by a Hann window, i.e. sw(i) = s(i) * (0.5-0.5 * cos(( pi *(i+0.5))/ iblen). 140 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Second, a standard forward FFT of sw(i) calculated.Third, the polar representation of the transform is calculated. r(w) and f(w) represent the magnitude and phase components of the transformed sw(i), respectively. 3. Calculate a predicted r(w) and f(w). A predicted magnitude, r_pred(w) and phase, f_pred(w) are calculated from the preceding two threshold calculation blocks r(w) and f(w): r_pred(w) = 2.0 * r (t-1)-r(t-2) f_pred(w) =2.0 * f(t-1)-f (t-2) where t represents the current block number, t-1 indexes the previous block's data, and t2 indexes the data from the threshold calculation block before that. 4. Calculate the unpredictability measure c(w). c(w) = (((r(w) * cos(f(w)) - r_pred(w) * cos(f_pred(w)))^2 + (r(w) * sin(f(w)) - r_pred(w) * sin(f_pred(w)))^2)^0.5 ) / (r(w) + abs(r_pred(w)) This formula is used for each of the short blocks with the short FFT, for long blocks for the first 6 lines the unpredictability measure is calculated from the long FFT, for the remaining lines the minimum of the unpredictability of all short FFT’s is used. If calculation power should be saved, the unpredictability of the upper part of the spectrum can be set to 0.4. 5. Calculate the energy and unpredictability in the threshold calculation partitions. The energy in each partition, e(b), is: do for each partition b: e(b) = 0 do from lower index to upper index w of partition b e(b) = e(b) + r(w)^2 end do end do (e(b) is used in the M/S-module (see subclause C.6.1) : e(b) is equal to Xengy with ‘X’ = [ R,L,M,S]) and the weighted unpredictability, c(b), is: do for each partition b: c(b) = 0 do from lower index to upper index w of partition b c(b) = c(b) + r(w)^2 * c(w) end do end do The threshold calculation partitions provide a resolution of approximately either one FFT line or 1/3 critical band, whichever is wider. At low frequencies, a single line of the FFT will constitute a calculation partition. At high frequencies, many lines will be combined into one calculation partition. A set of partition values is provided for each of the three sampling rates in Table C.1 to Table C.24. These Table elements will be used in the threshold calculation process. There are several elements in each Table entry: 1. The index of the calculation partition, b. 2. The lowest frequency line in the partition, w_low(b). 3. The highest frequency line in the partition, w_high(b) 4. The median bark value of the partition, bval(b) Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 141 ISO/IEC 13818-7:2004(E) 5. The threshold in quiet qsthr(b) 6. A largest value of b, bmax, equal to the largest index, exists for each sampling rate. 6. Convolve the partitioned energy and unpredictability with the spreading function. for each partition b: ecb(b) = 0 do for each partition bb: ecb(b) = ecb(b) +e(bb)* sprdngf(bval(bb),bval(b)) end do end do do for each partition b: ct(b) = 0 do for each partition bb: ct(b) = ct(b) +c(bb)* sprdngf(bval(bb),bval(b)) end do end do Because ct(b) is weighted by the signal energy, it must be renormalized to cb(b) . cb(b) = ct(b) / ecb(b) Just as this, due to the non-normalized nature of the spreading function, ecbb should be renormalized and the normalized energy enb, calculated. en(b) = ecb(b) * rnorm(b) The normalization coefficient, rnorm(b). is: do for each partition b tmp(b) = 0 do for each partition bb tmp(b) = tmp(b) + sprdngf(bval(bb),bval(b)) end do rnorm(b) = 1/ tmp(b) end do 7. Convert cb(b) to tb(b) , the tonality index. tb(b) = -0.299 – 0.43 loge (cb(b)) Each tb(b) is limited to the range of 0 switch_pe ? use short blocks Y calculate threshold (part 2) calculate threshold for short blocks delay threshold (ratio), blocktype, perceptual entropy by one block if (window_sequence(n) == EIGHT_SHORT_SEQUENCE && window_sequence(n-1) == ONLY_LONG_SEQUENCE) window_sequence(n-1) = LONG_START_SEQUENCE; output buffer: blocktype, threshold (ratio), perceptual entropy, time signal Figure C.1 – Block diagram psychoacoustic model --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 145 --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- ISO/IEC 13818-7:2004(E) Table C.1– Psychoacoustic parameters for 8 kHz long FFT index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 w_low 0 9 18 27 36 45 54 63 72 81 90 99 109 119 129 139 149 160 171 182 193 205 217 229 242 255 269 283 298 313 329 346 364 382 401 421 442 465 489 515 542 571 602 635 671 709 750 794 842 894 950 1010 w_high 8 17 26 35 44 53 62 71 80 89 98 108 118 128 138 148 159 170 181 192 204 216 228 241 254 268 282 297 312 328 345 363 381 400 420 441 464 488 514 541 570 601 634 670 708 749 793 841 893 949 1009 1023 width 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 11 11 11 11 12 12 12 13 13 14 14 15 15 16 17 18 18 19 20 21 23 24 26 27 29 31 33 36 38 41 44 48 52 56 60 14 bval 0.18 0.53 0.89 1.24 1.59 1.94 2.29 2.63 2.98 3.31 3.65 3.99 4.35 4.71 5.05 5.39 5.74 6.10 6.45 6.79 7.13 7.48 7.82 8.17 8.51 8.85 9.20 9.54 9.88 10.22 10.56 10.91 11.25 11.58 11.91 12.24 12.58 12.92 13.26 13.59 13.93 14.26 14.60 14.93 15.27 15.60 15.93 16.26 16.60 16.93 17.26 17.47 qsthr 46.82 46.82 46.82 41.82 41.82 41.82 38.82 38.82 38.82 33.82 33.82 34.28 32.28 32.28 32.28 32.28 32.69 32.69 32.69 32.69 33.07 33.07 33.07 33.42 33.42 33.74 33.74 34.04 34.04 34.32 34.58 34.83 34.83 35.06 35.29 35.50 35.89 36.08 36.43 36.59 36.90 37.19 37.46 37.84 38.07 38.40 38.71 39.09 39.44 39.76 40.06 33.74 146 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- ISO/IEC 13818-7:2004(E) Table C.2 – Psychoacoustic parameters for 8 kHz short FFT index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 w_low 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 45 48 51 54 57 60 64 68 72 76 81 86 91 97 103 110 117 125 w_high 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 44 47 50 53 56 59 63 67 71 75 80 85 90 96 102 109 116 124 127 width 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 4 4 4 4 5 5 5 6 6 7 7 8 3 bval 0.32 0.95 1.57 2.19 2.80 3.40 3.99 4.56 5.12 5.66 6.18 6.68 7.16 7.63 8.07 8.50 8.90 9.29 9.67 10.03 10.37 10.77 11.23 11.66 12.06 12.44 12.79 13.18 13.59 13.97 14.32 14.69 15.07 15.42 15.77 16.13 16.49 16.85 17.20 17.44 qsthr 30.29 30.29 25.29 22.29 22.29 17.29 17.29 15.29 15.29 15.29 15.29 15.29 15.29 15.29 15.29 15.29 15.29 15.29 15.29 15.29 15.29 17.05 17.05 17.05 17.05 17.05 17.05 18.30 18.30 18.30 18.30 19.27 19.27 19.27 20.06 20.06 20.73 20.73 21.31 17.05 Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 147 ISO/IEC 13818-7:2004(E) Table C.3 – Psychoacoustic parameters for 11.025 kHz long FFT index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 w_low 0 7 14 21 28 35 42 49 56 63 70 77 84 91 98 106 114 122 130 138 147 156 165 174 184 194 204 215 226 238 250 263 276 290 305 321 338 356 375 395 416 439 463 489 517 547 580 615 653 694 738 786 837 892 951 1015 w_high 6 13 20 27 34 41 48 55 62 69 76 83 90 97 105 113 121 129 137 146 155 164 173 183 193 203 214 225 237 249 262 275 289 304 320 337 355 374 394 415 438 462 488 516 546 579 614 652 693 737 785 836 891 950 1014 1023 width 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 9 9 9 9 10 10 10 11 11 12 12 13 13 14 15 16 17 18 19 20 21 23 24 26 28 30 33 35 38 41 44 48 51 55 59 64 9 bval 0.19 0.57 0.95 1.33 1.71 2.08 2.45 2.82 3.18 3.54 3.89 4.24 4.59 4.92 5.28 5.65 6.01 6.36 6.70 7.06 7.42 7.77 8.11 8.46 8.82 9.16 9.50 9.85 10.19 10.54 10.88 11.22 11.56 11.90 12.24 12.59 12.94 13.28 13.62 13.96 14.29 14.63 14.96 15.29 15.63 15.96 16.30 16.63 16.97 17.30 17.64 17.97 18.30 18.64 18.97 19.16 qsthr 45.73 45.73 45.73 40.73 40.73 37.73 37.73 37.73 32.73 32.73 32.73 30.73 30.73 30.73 31.31 31.31 31.31 31.31 31.31 31.82 31.82 31.82 31.82 32.28 32.28 32.28 32.69 32.69 33.07 33.07 33.42 33.42 33.74 34.04 34.32 34.58 34.83 35.06 35.29 35.50 35.89 36.08 36.43 36.75 37.05 37.46 37.72 38.07 38.40 38.71 39.09 39.35 39.68 39.98 40.34 31.82 148 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- ISO/IEC 13818-7:2004(E) Table C.4 – Psychoacoustic parameters for 11.025 kHz short FFT index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 w_low 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 20 22 24 26 28 30 32 34 36 38 40 43 46 49 52 55 59 63 67 71 76 81 86 92 98 105 112 120 w_high 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 19 21 23 25 27 29 31 33 35 37 39 42 45 48 51 54 58 62 66 70 75 80 85 91 97 104 111 119 127 width 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 4 4 4 4 5 5 5 6 6 7 7 8 8 bval 0.00 0.44 0.87 1.30 1.73 2.16 2.58 3.00 3.41 3.82 4.22 4.61 4.99 5.37 5.74 6.10 6.45 6.79 7.44 8.05 8.64 9.19 9.70 10.19 10.65 11.08 11.48 11.86 12.22 12.64 13.10 13.53 13.93 14.30 14.69 15.11 15.49 15.84 16.21 16.58 16.92 17.27 17.62 17.97 18.32 18.67 19.02 qsthr 27.28 27.28 27.28 22.28 22.28 19.28 19.28 14.28 14.28 14.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 15.29 15.29 15.29 15.29 15.29 15.29 15.29 15.29 15.29 15.29 15.29 17.05 17.05 17.05 17.05 17.05 18.30 18.30 18.30 18.30 19.27 19.27 19.27 20.06 20.06 20.73 20.73 21.31 21.31 Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 149 ISO/IEC 13818-7:2004(E) Table C.5 – Psychoacoustic parameters for 12 kHz long FFT index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 w_low 0 6 12 18 24 30 36 42 48 54 60 66 73 80 87 94 101 108 115 123 131 139 147 155 164 173 182 192 202 213 224 236 248 261 274 288 303 319 336 354 373 393 415 438 463 490 519 550 584 620 659 701 746 795 848 905 966 w_high 5 11 17 23 29 35 41 47 53 59 65 72 79 86 93 100 107 114 122 130 138 146 154 163 172 181 191 201 212 223 235 247 260 273 287 302 318 335 353 372 392 414 437 462 489 518 549 583 619 658 700 745 794 847 904 965 1023 width 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 8 8 8 8 8 9 9 9 10 10 11 11 12 12 13 13 14 15 16 17 18 19 20 22 23 25 27 29 31 34 36 39 42 45 49 53 57 61 58 bval 0.18 0.53 0.89 1.24 1.59 1.94 2.29 2.63 2.98 3.31 3.65 4.00 4.38 4.75 5.11 5.47 5.82 6.15 6.51 6.88 7.24 7.58 7.92 8.27 8.62 8.96 9.31 9.66 10.01 10.36 10.71 11.06 11.41 11.75 12.09 12.43 12.77 13.11 13.46 13.80 14.13 14.47 14.81 15.14 15.48 15.81 16.15 16.48 16.82 17.15 17.48 17.81 18.14 18.48 18.81 19.15 19.47 qsthr 45.06 45.06 45.06 40.06 40.06 40.06 37.06 37.06 37.06 32.06 32.06 30.73 30.73 30.73 30.73 30.73 30.73 30.73 31.31 31.31 31.31 31.31 31.31 31.82 31.82 31.82 32.28 32.28 32.69 32.69 33.07 33.07 33.42 33.42 33.74 34.04 34.32 34.58 34.83 35.06 35.29 35.70 35.89 36.26 36.59 36.90 37.19 37.59 37.84 38.19 38.51 38.81 39.18 39.52 39.83 40.13 39.91 150 Copyright International Organization for Standardization Reproduced by IHS under license with ISO --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- ISO/IEC 13818-7:2004(E) Table C.6 – Psychoacoustic parameters for 12 kHz short FFT index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 w_low 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 21 23 25 27 29 31 33 35 37 39 41 44 47 50 53 56 60 64 68 73 78 83 89 95 102 109 117 125 w_high 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 20 22 24 26 28 30 32 34 36 38 40 43 46 49 52 55 59 63 67 72 77 82 88 94 101 108 116 124 127 width 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 4 4 4 5 5 5 6 6 7 7 8 8 3 bval 0.00 0.47 0.95 1.42 1.88 2.35 2.81 3.26 3.70 4.14 4.57 4.98 5.39 5.79 6.18 6.56 6.93 7.28 7.63 8.28 8.90 9.48 10.02 10.53 11.00 11.45 11.86 12.25 12.62 12.96 13.36 13.80 14.21 14.59 14.94 15.32 15.71 16.08 16.45 16.83 17.19 17.54 17.90 18.26 18.62 18.97 19.32 19.55 qsthr 27.28 27.28 27.28 22.28 22.28 19.28 19.28 14.28 14.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 15.29 15.29 15.29 15.29 15.29 15.29 15.29 15.29 15.29 15.29 15.29 17.05 17.05 17.05 17.05 17.05 18.30 18.30 18.30 19.27 19.27 19.27 20.06 20.06 20.73 20.73 21.31 21.31 17.05 Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 151 ISO/IEC 13818-7:2004(E) Table C.7 – Psychoacoustic parameters for 16 kHz long FFT index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 w_low 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 81 87 93 99 105 111 117 124 131 138 145 153 161 169 178 187 197 207 218 229 241 254 268 283 299 316 334 353 374 396 420 446 474 504 537 572 610 651 695 742 w_high 4 9 14 19 24 29 34 39 44 49 54 59 64 69 74 80 86 92 98 104 110 116 123 130 137 144 152 160 168 177 186 196 206 217 228 240 253 267 282 298 315 333 352 373 395 419 445 473 503 536 571 609 650 694 741 791 width 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 7 7 7 7 8 8 8 9 9 10 10 11 11 12 13 14 15 16 17 18 19 21 22 24 26 28 30 33 35 38 41 44 47 50 bval 0.20 0.59 0.99 1.38 1.77 2.16 2.54 2.92 3.29 3.66 4.03 4.39 4.74 5.09 5.43 5.79 6.18 6.56 6.92 7.28 7.63 7.96 8.31 8.68 9.03 9.37 9.71 10.07 10.41 10.75 11.10 11.45 11.80 12.14 12.48 12.82 13.16 13.51 13.86 14.21 14.56 14.90 15.24 15.58 15.91 16.25 16.58 16.92 17.25 17.59 17.93 18.26 18.60 18.94 19.27 19.60 qsthr 43.30 43.10 38.30 38.10 38.00 35.10 35.30 30.00 30.00 28.30 28.30 28.30 28.30 28.30 28.30 28.30 28.30 28.00 29.27 29.27 29.27 29.27 29.27 29.06 30.06 30.06 30.06 30.73 30.73 30.73 31.31 31.31 31.82 31.82 32.28 32.28 32.69 32.69 33.07 33.46 33.82 34.12 34.42 34.68 35.15 35.32 35.73 35.91 36.42 36.75 37.11 37.34 37.63 38.12 38.17 41.52 152 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- ISO/IEC 13818-7:2004(E) --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- index 56 57 58 59 Table C.7 (continued) w_low 792 846 904 966 w_high 845 903 965 1023 width 54 58 62 58 bval 19.94 20.27 20.61 20.92 qsthr 41.84 42.13 44.41 44.87 Table C.8 – Psychoacoustic parameters for 16 kHz short FFT index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 w_low 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 25 27 29 31 33 35 37 40 43 46 49 52 56 60 64 69 74 79 85 91 98 105 113 121 w_high 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 24 26 28 30 32 34 36 39 42 45 48 51 55 59 63 68 73 78 84 90 97 104 112 120 127 width 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 3 3 3 3 3 4 4 4 5 5 5 6 6 7 7 8 8 7 bval 0.00 0.63 1.26 1.88 2.50 3.11 3.70 4.28 4.85 5.39 5.92 6.43 6.93 7.40 7.85 8.29 8.70 9.10 9.49 9.85 10.20 10.85 11.44 11.99 12.50 12.96 13.39 13.78 14.15 14.57 15.03 15.45 15.84 16.19 16.57 16.97 17.33 17.71 18.09 18.44 18.80 19.17 19.53 19.89 20.25 20.61 20.92 qsthr 27.28 27.28 22.28 22.28 19.28 14.28 14.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 15.29 15.29 15.29 15.29 15.29 15.29 15.29 15.29 17.05 17.05 17.05 17.05 17.05 18.30 18.30 18.30 19.27 19.27 19.27 20.06 20.06 20.73 20.73 24.31 24.31 23.73 Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 153 ISO/IEC 13818-7:2004(E) Table C.9 – Psychoacoustic parameters for 22.05 kHz long FFT index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 w_low 0 4 8 12 16 20 24 28 32 36 40 44 48 52 56 60 64 68 72 77 82 87 92 97 102 108 114 120 126 133 140 147 155 163 172 181 191 201 212 224 237 251 266 282 299 318 338 360 383 408 435 464 495 528 564 602 w_high 3 7 11 15 19 23 27 31 35 39 43 47 51 55 59 63 67 71 76 81 86 91 96 101 107 113 119 125 132 139 146 154 162 171 180 190 200 211 223 236 250 265 281 298 317 337 359 382 407 434 463 494 527 563 601 642 width 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 6 6 6 6 7 7 7 8 8 9 9 10 10 11 12 13 14 15 16 17 19 20 22 23 25 27 29 31 33 36 38 41 bval 0.22 0.65 1.09 1.52 1.95 2.37 2.79 3.21 3.62 4.02 4.41 4.80 5.18 5.55 5.92 6.27 6.62 6.95 7.32 7.71 8.10 8.46 8.82 9.16 9.52 9.89 10.25 10.59 10.95 11.31 11.65 12.00 12.35 12.70 13.05 13.40 13.74 14.07 14.41 14.76 15.11 15.46 15.80 16.14 16.48 16.82 17.16 17.50 17.84 18.17 18.51 18.84 19.17 19.51 19.84 20.17 qsthr 43.30 43.30 38.30 38.30 38.30 35.30 35.30 30.30 30.30 28.30 28.30 28.30 28.30 28.30 28.30 28.30 28.30 28.30 29.27 29.27 29.27 29.27 29.27 29.27 30.06 30.06 30.06 30.06 30.73 30.73 30.73 31.31 31.31 31.82 31.82 32.28 32.28 32.69 33.07 33.42 33.74 34.04 34.32 34.58 35.06 35.29 35.70 35.89 36.26 36.59 36.90 37.19 37.46 37.84 38.07 41.40 --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- 154 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- ISO/IEC 13818-7:2004(E) index 56 57 58 59 60 61 62 Table C.9 (continued) w_low 643 687 734 785 840 899 963 w_high 686 733 784 839 898 962 1023 width 44 47 51 55 59 64 61 bval 20.50 20.84 21.17 21.50 21.84 22.17 22.48 qsthr 41.71 42.00 44.35 44.68 44.98 50.34 50.13 Table C.10 – Psychoacoustic parameters for 22.05 kHz short FFT index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 w_low 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 24 26 28 30 32 34 36 39 42 45 48 52 56 60 64 69 74 79 85 91 98 105 113 121 w_high 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 21 23 25 27 29 31 33 35 38 41 44 47 51 55 59 63 68 73 78 84 90 97 104 112 120 127 width 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 3 3 3 3 4 4 4 4 5 5 5 6 6 7 7 8 8 7 bval 0.00 0.87 1.73 2.58 3.41 4.22 4.99 5.74 6.45 7.12 7.75 8.36 8.92 9.45 9.96 10.43 10.87 11.29 11.68 12.05 12.71 13.32 13.86 14.35 14.80 15.21 15.58 15.93 16.32 16.75 17.15 17.51 17.89 18.30 18.67 19.02 19.37 19.74 20.09 20.44 20.79 21.15 21.50 21.85 22.20 22.49 qsthr 27.28 27.28 22.28 19.28 14.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 15.29 15.29 15.29 15.29 15.29 15.29 15.29 15.29 17.05 17.05 17.05 17.05 18.30 18.30 18.30 18.30 19.27 19.27 22.27 23.06 23.06 25.73 25.73 26.31 31.31 30.73 Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 155 ISO/IEC 13818-7:2004(E) --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Table C.11 – Psychoacoustic parameters for 24 kHz long FFT index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 w_low 0 3 6 9 12 15 18 21 24 27 30 33 37 41 45 49 53 57 61 65 69 73 77 82 87 92 97 102 108 114 120 126 133 140 147 155 163 172 181 191 202 214 226 239 253 268 285 303 322 343 365 389 415 443 473 505 w_high 2 5 8 11 14 17 20 23 26 29 32 36 40 44 48 52 56 60 64 68 72 76 81 86 91 96 101 107 113 119 125 132 139 146 154 162 171 180 190 201 213 225 238 252 267 284 302 321 342 364 388 414 442 472 504 538 width 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 6 6 6 6 7 7 7 8 8 9 9 10 11 12 12 13 14 15 17 18 19 21 22 24 26 28 30 32 34 bval 0.18 0.53 0.89 1.24 1.59 1.94 2.29 2.63 2.98 3.31 3.65 4.03 4.46 4.88 5.29 5.69 6.08 6.46 6.83 7.19 7.54 7.88 8.25 8.64 9.02 9.38 9.73 10.09 10.47 10.83 11.18 11.53 11.89 12.23 12.57 12.92 13.26 13.61 13.95 14.29 14.65 15.00 15.33 15.66 16.00 16.34 16.69 17.02 17.36 17.70 18.03 18.37 18.70 19.04 19.38 19.71 qsthr 42.05 42.05 42.05 37.05 37.05 37.05 34.05 34.05 34.05 29.05 29.05 28.30 28.30 28.30 28.30 28.30 28.30 28.30 28.30 28.30 28.30 28.30 29.27 29.27 29.27 29.27 29.27 30.06 30.06 30.06 30.06 30.73 30.73 30.73 31.31 31.31 31.82 31.82 32.28 32.69 33.07 33.07 33.42 33.74 34.04 34.58 34.83 35.06 35.50 35.70 36.08 36.43 36.75 37.05 37.33 37.59 156 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) index 56 57 58 59 60 61 62 63 64 65 Table C.11 (continued) w_low 539 576 615 657 702 751 804 861 923 990 w_high 575 614 656 701 750 803 860 922 989 1023 width 37 39 42 45 49 53 57 62 67 34 bval 20.04 20.38 20.71 21.04 21.37 21.70 22.04 22.37 22.70 22.95 qsthr 40.96 41.19 41.51 43.81 44.18 44.52 49.83 50.20 50.54 47.59 Table C.12 – Psychoacoustic parameters for 24 kHz short FFT index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 w_low 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 24 26 28 30 32 34 37 40 43 46 49 53 57 61 66 71 76 82 88 95 w_high 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 21 23 25 27 29 31 33 36 39 42 45 48 52 56 60 65 70 75 81 87 94 101 width 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 3 3 3 3 3 4 4 4 5 5 5 6 6 7 7 bval 0.00 0.95 1.88 2.81 3.70 4.57 5.39 6.18 6.93 7.63 8.29 8.91 9.49 10.03 10.53 11.01 11.45 11.87 12.26 12.62 13.28 13.87 14.40 14.88 15.32 15.71 16.08 16.49 16.94 17.35 17.73 18.07 18.44 18.83 19.20 19.57 19.96 20.31 20.67 21.04 21.41 21.77 qsthr 27.28 27.28 22.28 19.28 14.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 15.29 15.29 15.29 15.29 15.29 15.29 15.29 17.05 17.05 17.05 17.05 17.05 18.30 18.30 18.30 19.27 19.27 22.27 23.06 25.06 25.73 25.73 --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 157 ISO/IEC 13818-7:2004(E) index 42 43 44 45 Table C.12 (continued) w_low 102 110 118 127 w_high 109 117 126 127 width 8 8 9 1 bval 22.13 22.48 22.82 23.01 qsthr 31.31 31.31 31.82 32.28 Table C.13 – Psychoacoustic parameters for 32 kHz long FFT index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 w_low 0 3 6 9 12 15 18 21 24 27 30 33 36 39 42 45 48 51 54 57 61 65 69 73 77 81 85 90 95 100 105 111 117 123 130 137 145 153 162 172 182 193 205 218 232 247 263 280 299 w_high 2 5 8 11 14 17 20 23 26 29 32 35 38 41 44 47 50 53 56 60 64 68 72 76 80 84 89 94 99 104 110 116 122 129 136 144 152 161 171 181 192 204 217 231 246 262 279 298 318 width 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 6 6 6 7 7 8 8 9 10 10 11 12 13 14 15 16 17 19 20 bval 0.24 0.71 1.18 1.65 2.12 2.58 3.03 3.48 3.92 4.35 4.77 5.19 5.59 5.99 6.37 6.74 7.10 7.45 7.80 8.18 8.60 9.00 9.39 9.76 10.11 10.45 10.81 11.19 11.55 11.90 12.25 12.62 12.96 13.31 13.66 14.01 14.36 14.71 15.07 15.42 15.76 16.10 16.45 16.80 17.14 17.48 17.82 18.15 18.49 qsthr 42.05 42.05 37.05 37.05 34.05 34.05 29.05 29.05 29.05 27.05 27.05 27.05 27.05 27.05 27.05 27.05 27.05 27.05 27.05 28.30 28.30 28.30 28.30 28.30 28.30 28.30 29.27 29.27 29.27 29.27 30.06 30.06 30.06 30.73 30.73 31.31 31.31 31.82 32.28 32.28 32.69 33.07 33.42 33.74 34.04 34.32 34.58 35.06 35.29 158 Copyright International Organization for Standardization Reproduced by IHS under license with ISO --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) index 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 Table C.13 (continued) w_low 319 341 364 389 416 445 476 509 544 582 623 668 716 769 827 891 962 w_high 340 363 388 415 444 475 508 543 581 622 667 715 768 826 890 961 1023 width 22 23 25 27 29 31 33 35 38 41 45 48 53 58 64 71 62 bval 18.84 19.17 19.51 19.85 20.19 20.53 20.87 21.20 21.53 21.86 22.20 22.53 22.86 23.20 23.53 23.86 24.00 qsthr 35.70 35.89 36.26 36.59 39.90 40.19 40.46 42.72 43.07 43.40 48.81 49.09 49.52 59.91 60.34 60.79 65.89 Table C.14 – Psychoacoustic parameters for 32 kHz short FFT index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 w_low 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 21 23 25 27 29 31 33 36 39 42 45 49 53 57 61 66 w_high 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 20 22 24 26 28 30 32 35 38 41 44 48 52 56 60 65 70 width 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 3 3 3 3 4 4 4 4 5 5 bval 0.00 1.26 2.50 3.70 4.85 5.92 6.93 7.85 8.70 9.49 10.20 10.85 11.45 12.00 12.50 12.96 13.39 13.78 14.15 14.80 15.38 15.89 16.36 16.77 17.15 17.50 17.90 18.34 18.74 19.11 19.50 19.92 20.30 20.65 21.02 21.40 qsthr 27.28 22.28 19.28 14.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 15.29 15.29 15.29 15.29 15.29 15.29 15.29 17.05 17.05 17.05 17.05 18.30 18.30 21.30 21.30 24.27 24.27 --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 159 ISO/IEC 13818-7:2004(E) index 36 37 38 39 40 41 42 43 Table C.14 (continued) w_low 71 76 82 88 95 103 111 120 w_high 75 81 87 94 102 110 119 127 width 5 6 6 7 8 8 9 8 bval 21.75 22.10 22.45 22.80 23.16 23.51 23.85 24.00 qsthr 24.27 30.06 30.06 30.73 41.31 41.31 41.82 60.47 Table C.15 – Psychoacoustic parameters for 44.1 kHz long FFT index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 w_low 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 39 42 45 48 51 54 57 60 63 67 71 75 79 83 88 93 98 104 110 117 124 132 140 149 158 168 w_high 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 38 41 44 47 50 53 56 59 62 66 70 74 78 82 87 92 97 103 109 116 123 131 139 148 157 167 178 width 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 6 6 7 7 8 8 9 9 10 11 bval 0.22 0.65 1.09 1.52 1.95 2.37 2.79 3.21 3.62 4.02 4.41 4.80 5.18 5.55 5.92 6.27 6.62 6.95 7.36 7.83 8.28 8.71 9.12 9.52 9.89 10.25 10.59 10.97 11.38 11.77 12.13 12.48 12.84 13.22 13.57 13.93 14.30 14.67 15.03 15.40 15.76 16.11 16.45 16.79 17.13 qsthr 40.29 40.29 35.29 35.29 35.29 32.29 32.29 27.29 27.29 25.29 25.29 25.29 25.29 25.29 25.29 25.29 25.29 25.29 27.05 27.05 27.05 27.05 27.05 27.05 27.05 27.05 27.05 28.30 28.30 28.30 28.30 28.30 29.27 29.27 29.27 30.06 30.06 30.73 30.73 31.31 31.31 31.82 31.82 32.28 32.69 --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- 160 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) index 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 Table C.15 (continued) w_low 179 191 204 218 233 249 266 284 304 325 348 372 398 426 456 489 525 564 607 654 707 766 833 909 997 w_high 190 203 217 232 248 265 283 303 324 347 371 397 425 455 488 524 563 606 653 706 765 832 908 996 1023 width 12 13 14 15 16 17 18 20 21 23 24 26 28 30 33 36 39 43 47 53 59 67 76 88 27 bval 17.48 17.83 18.18 18.52 18.87 19.21 19.54 19.88 20.22 20.56 20.90 21.24 21.57 21.91 22.24 22.58 22.91 23.25 23.58 23.91 24.00 24.00 24.00 24.00 24.00 qsthr 33.07 33.42 33.74 34.04 34.32 34.58 34.83 35.29 38.50 38.89 39.08 41.43 41.75 42.05 47.46 47.84 48.19 58.61 59.00 59.52 69.98 70.54 71.08 71.72 72.09 --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Table C.16 – Psychoacoustic parameters for 44.1 kHz short FFT index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 w_low 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 20 22 24 26 28 30 32 35 38 w_high 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 19 21 23 25 27 29 31 34 37 40 width 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 3 3 3 bval 0.00 1.73 3.41 4.99 6.45 7.75 8.92 9.96 10.87 11.68 12.39 13.03 13.61 14.12 14.59 15.01 15.40 15.76 16.39 16.95 17.45 17.89 18.30 18.67 19.02 19.41 19.85 20.25 qsthr 27.28 22.28 14.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 15.29 15.29 15.29 15.29 15.29 15.29 15.29 17.05 17.05 20.05 Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 161 ISO/IEC 13818-7:2004(E) index 28 29 30 31 32 33 34 35 36 37 38 39 40 41 Table C.16 (continued) w_low 41 44 48 52 56 60 65 70 76 82 89 97 106 116 w_high 43 47 51 55 59 64 69 75 81 88 96 105 115 127 width 3 4 4 4 4 5 5 6 6 7 8 9 10 12 bval 20.62 21.01 21.43 21.81 22.15 22.51 22.87 23.23 23.59 23.93 24.00 24.00 24.00 24.00 qsthr 20.05 23.30 23.30 23.30 28.30 29.27 29.27 40.06 40.06 40.73 51.31 51.82 52.28 53.07 Table C.17 – Psychoacoustic parameters for 48 kHz long FFT index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 w_low 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 41 44 47 50 53 56 59 62 66 70 74 78 82 87 92 97 103 109 116 w_high 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 40 43 46 49 52 55 58 61 65 69 73 77 81 86 91 96 102 108 115 122 width 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 6 6 7 7 bval 0.24 0.71 1.18 1.65 2.12 2.58 3.03 3.48 3.92 4.35 4.77 5.19 5.59 5.99 6.37 6.74 7.10 7.45 7.80 8.20 8.68 9.13 9.55 9.96 10.35 10.71 11.06 11.45 11.86 12.25 12.62 12.96 13.32 13.70 14.05 14.41 14.77 15.13 15.49 qsthr 40.29 40.29 35.29 35.29 32.29 32.29 27.29 27.29 27.29 25.29 25.29 25.29 25.29 25.29 25.29 25.29 25.29 25.29 25.29 27.05 27.05 27.05 27.05 27.05 27.05 27.05 27.05 28.30 28.30 28.30 28.30 28.30 29.27 29.27 29.27 30.06 30.06 30.73 30.73 162 Copyright International Organization for Standardization Reproduced by IHS under license with ISO --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) index 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 Table C.17 (continued) w_low 123 131 139 148 158 168 179 191 204 218 233 249 266 284 304 325 348 372 398 426 457 491 528 568 613 663 719 782 854 938 w_high 130 138 147 157 167 178 190 203 217 232 248 265 283 303 324 347 371 397 425 456 490 527 567 612 662 718 781 853 937 1023 width 8 8 9 10 10 11 12 13 14 15 16 17 18 20 21 23 24 26 28 31 34 37 40 45 50 56 63 72 84 86 bval 15.85 16.20 16.55 16.91 17.25 17.59 17.93 18.28 18.62 18.96 19.30 19.64 19.97 20.31 20.65 20.99 21.33 21.66 21.99 22.32 22.66 23.00 23.33 23.67 24.00 24.00 24.00 24.00 24.00 24.00 qsthr 31.31 31.31 31.82 32.28 32.28 32.69 33.07 33.42 33.74 34.04 34.32 34.58 34.83 38.29 38.50 38.89 41.08 41.43 41.75 47.19 47.59 47.96 58.30 58.81 69.27 69.76 70.27 70.85 71.52 70.20 Table C.18 – Psychoacoustic parameters for 48 kHz short FFT index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 w_low 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 19 21 23 25 27 w_high 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 20 22 24 26 28 width 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 bval 0.00 1.88 3.70 5.39 6.93 8.29 9.49 10.53 11.45 12.26 12.96 13.59 14.15 14.65 15.11 15.52 15.90 16.56 17.15 17.66 18.13 18.54 18.93 qsthr 27.28 22.28 14.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 15.29 15.29 15.29 15.29 15.29 15.29 --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 163 ISO/IEC 13818-7:2004(E) --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- index 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 Table C.18 (continued) w_low 29 31 34 37 40 43 46 50 54 58 63 68 74 80 87 95 104 114 126 w_high 30 33 36 39 42 45 49 53 57 62 67 73 79 86 94 103 113 125 127 width 2 3 3 3 3 3 4 4 4 5 5 6 6 7 8 9 10 12 1 bval 19.28 19.69 20.14 20.54 20.92 21.27 21.64 22.03 22.39 22.76 23.13 23.49 23.85 24.00 24.00 24.00 24.00 24.00 24.00 qsthr 15.29 17.05 20.05 20.05 20.05 22.05 23.30 28.30 28.30 29.27 39.27 40.06 40.06 50.73 51.31 51.82 52.28 53.07 53.07 Table C.19 – Psychoacoustic parameters for 64 kHz long FFT index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 w_low 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 45 48 51 54 57 60 64 68 72 76 81 86 w_high 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 44 47 50 53 56 59 63 67 71 75 80 85 90 width 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 4 4 4 4 5 5 5 bval 0.32 0.95 1.57 2.19 2.80 3.40 3.99 4.56 5.12 5.66 6.18 6.68 7.16 7.63 8.07 8.50 8.90 9.29 9.67 10.03 10.37 10.77 11.23 11.66 12.06 12.44 12.79 13.18 13.59 13.97 14.32 14.69 15.07 15.42 qsthr 40.29 40.29 35.29 32.29 32.29 27.29 27.29 25.29 25.29 25.29 25.29 25.29 25.29 25.29 25.29 25.29 25.29 25.29 25.29 25.29 25.29 27.05 27.05 27.05 27.05 27.05 27.05 28.30 28.30 28.30 28.30 29.27 29.27 29.27 164 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) index 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 Table C.19 (continued) w_low 91 97 103 110 117 125 133 142 152 162 173 185 198 212 227 243 260 278 298 319 342 367 395 425 459 496 538 585 639 702 775 862 967 w_high 96 102 109 116 124 132 141 151 161 172 184 197 211 226 242 259 277 297 318 341 366 394 424 458 495 537 584 638 701 774 861 966 1023 width 6 6 7 7 8 8 9 10 10 11 12 13 14 15 16 17 18 20 21 23 25 28 30 34 37 42 47 54 63 73 87 105 57 bval 15.77 16.13 16.49 16.85 17.20 17.54 17.88 18.23 18.58 18.91 19.25 19.60 19.94 20.29 20.63 20.97 21.31 21.64 21.98 22.31 22.65 22.98 23.32 23.66 23.99 24.00 24.00 24.00 24.00 24.00 24.00 24.00 24.00 qsthr 30.06 30.06 30.73 30.73 31.31 31.31 31.82 32.28 32.28 32.69 33.07 33.42 33.74 37.04 37.32 37.58 39.83 40.29 40.50 45.89 46.26 46.75 57.05 57.59 57.96 68.51 69.00 69.60 70.27 70.91 71.67 72.49 69.83 Table C.20 – Psychoacoustic parameters for 64 kHz short FFT index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 w_low 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 20 22 w_high 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 19 21 23 width 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 bval 0.00 2.50 4.85 6.93 8.70 10.20 11.45 12.50 13.39 14.15 14.81 15.39 15.90 16.36 16.78 17.16 17.82 18.40 18.92 19.39 qsthr 27.28 19.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 15.29 15.29 15.29 15.29 Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 165 ISO/IEC 13818-7:2004(E) index 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 Table C.20 (continued) w_low 24 26 28 30 33 36 39 42 46 50 54 59 64 70 77 85 94 105 118 w_high 25 27 29 32 35 38 41 45 49 53 58 63 69 76 84 93 104 117 127 width 2 2 2 3 3 3 3 4 4 4 5 5 6 7 8 9 11 13 10 bval 19.82 20.21 20.57 20.98 21.43 21.84 22.22 22.61 23.02 23.39 23.75 24.00 24.00 24.00 24.00 24.00 24.00 24.00 24.00 qsthr 15.29 18.29 18.29 20.05 22.05 22.05 27.05 28.30 38.30 38.30 39.27 49.27 50.06 50.73 51.31 51.82 52.69 53.42 52.28 Table C.21 – Psychoacoustic parameters for 88.2 kHz long FFT index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 w_low 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 20 22 24 26 28 30 32 34 36 38 40 43 46 49 52 w_high 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 19 21 23 25 27 29 31 33 35 37 39 42 45 48 51 54 width 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 bval 0.00 0.44 0.87 1.30 1.73 2.16 2.58 3.00 3.41 3.82 4.22 4.61 4.99 5.37 5.74 6.10 6.45 6.79 7.44 8.05 8.64 9.19 9.70 10.19 10.65 11.08 11.48 11.86 12.22 12.64 13.10 13.53 13.93 14.30 qsthr 37.28 37.28 37.28 32.28 32.28 29.28 29.28 24.28 24.28 24.28 22.28 22.28 22.28 22.28 22.28 22.28 22.28 22.28 25.29 25.29 25.29 25.29 25.29 25.29 25.29 25.29 25.29 25.29 25.29 27.05 27.05 27.05 27.05 27.05 166 Copyright International Organization for Standardization Reproduced by IHS under license with ISO --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) index 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 Table C.21 (continued) w_low 55 59 63 67 71 76 81 86 92 98 105 112 120 128 137 147 157 168 180 193 207 222 238 256 275 296 319 345 374 406 443 485 534 592 661 746 852 989 w_high 58 62 66 70 75 80 85 91 97 104 111 119 127 136 146 156 167 179 192 206 221 237 255 274 295 318 344 373 405 442 484 533 591 660 745 851 988 1023 width 4 4 4 4 5 5 5 6 6 7 7 8 8 9 10 10 11 12 13 14 15 16 18 19 21 23 26 29 32 37 42 49 58 69 85 106 137 35 bval 14.69 15.11 15.49 15.84 16.21 16.58 16.92 17.27 17.62 17.97 18.32 18.67 19.02 19.35 19.71 20.05 20.39 20.73 21.08 21.43 21.77 22.11 22.45 22.80 23.13 23.47 23.81 24.00 24.00 24.00 24.00 24.00 24.00 24.00 24.00 24.00 24.00 24.00 qsthr 28.30 28.30 28.30 28.30 29.27 29.27 29.27 30.06 30.06 30.73 30.73 31.31 31.31 31.82 32.28 35.28 35.69 36.07 38.42 38.74 39.04 44.32 44.83 45.06 55.50 55.89 56.43 66.90 67.33 67.96 68.51 69.18 69.91 70.66 71.57 72.53 73.64 67.72 Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 167 ISO/IEC 13818-7:2004(E) Table C.22 – Psychoacoustic parameters for 88.2 kHz short FFT index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 w_low 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 20 22 24 26 28 30 33 36 39 43 47 52 57 63 70 78 88 100 116 w_high 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 19 21 23 25 27 29 32 35 38 42 46 51 56 62 69 77 87 99 115 127 width 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 3 3 3 4 4 5 5 6 7 8 10 12 16 12 bval 0.00 3.41 6.45 8.92 10.87 12.39 13.61 14.59 15.40 16.09 16.69 17.21 17.68 18.11 18.49 18.85 19.48 20.05 20.55 21.01 21.43 21.81 22.15 22.55 22.98 23.36 23.75 24.00 24.00 24.00 24.00 24.00 24.00 24.00 24.00 24.00 24.00 qsthr 27.28 14.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 15.29 18.29 18.29 20.29 20.29 20.29 25.29 27.05 27.05 37.05 38.30 48.30 49.27 49.27 50.06 50.73 51.31 52.28 53.07 54.32 53.07 --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- 168 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) Table C.23 – Psychoacoustic parameters for 96 kHz long FFT index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 w_low 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 21 23 25 27 29 31 33 35 37 39 41 44 47 50 53 56 60 64 68 73 78 83 89 95 102 109 117 125 134 144 154 165 177 190 204 219 235 253 272 w_high 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 20 22 24 26 28 30 32 34 36 38 40 43 46 49 52 55 59 63 67 72 77 82 88 94 101 108 116 124 133 143 153 164 176 189 203 218 234 252 271 292 width 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 4 4 4 5 5 5 6 6 7 7 8 8 9 10 10 11 12 13 14 15 16 18 19 21 bval 0.00 0.47 0.95 1.42 1.88 2.35 2.81 3.26 3.70 4.14 4.57 4.98 5.39 5.79 6.18 6.56 6.93 7.28 7.63 8.28 8.90 9.48 10.02 10.53 11.00 11.45 11.86 12.25 12.62 12.96 13.36 13.80 14.21 14.59 14.94 15.32 15.71 16.08 16.45 16.83 17.19 17.54 17.90 18.26 18.62 18.97 19.32 19.67 20.03 20.38 20.72 21.07 21.42 21.77 22.12 22.46 22.80 23.14 23.47 qsthr 37.28 37.28 37.28 32.28 32.28 29.28 29.28 24.28 24.28 22.28 22.28 22.28 22.28 22.28 22.28 22.28 22.28 22.28 22.28 25.29 25.29 25.29 25.29 25.29 25.29 25.29 25.29 25.29 25.29 25.29 27.05 27.05 27.05 27.05 27.05 28.30 28.30 28.30 29.27 29.27 29.27 30.06 30.06 30.73 30.73 31.31 31.31 31.82 35.28 35.28 35.69 38.07 38.42 38.74 44.04 44.32 44.83 55.06 55.50 Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 169 --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- ISO/IEC 13818-7:2004(E) --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- index 59 60 61 62 63 64 65 66 67 68 69 70 Table C.23 (continued) w_low 293 317 343 373 407 446 491 544 608 686 784 911 w_high 316 342 372 406 445 490 543 607 685 783 910 1023 width 24 26 30 34 39 45 53 64 78 98 127 113 bval 23.81 24.00 24.00 24.00 24.00 24.00 24.00 24.00 24.00 24.00 24.00 24.00 qsthr 56.08 66.43 67.05 67.59 68.19 68.81 69.52 70.34 71.20 72.19 73.31 72.81 Table C.24 – Psychoacoustic parameters for 96 kHz short FFT index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 w_low 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 19 21 23 25 27 29 32 35 38 42 46 51 56 62 69 78 89 103 121 w_high 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 16 18 20 22 24 26 28 31 34 37 41 45 50 55 61 68 77 88 102 120 127 width 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 3 3 3 4 4 5 5 6 7 9 11 14 18 7 bval 0.00 3.70 6.93 9.49 11.45 12.96 14.15 15.11 15.90 16.57 17.16 17.67 18.13 18.55 18.93 19.60 20.20 20.73 21.21 21.64 22.03 22.39 22.79 23.23 23.62 24.00 24.00 24.00 24.00 24.00 24.00 24.00 24.00 24.00 24.00 24.00 qsthr 27.28 14.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 12.28 15.29 18.29 18.29 20.29 20.29 25.29 25.29 27.05 37.05 37.05 48.30 48.30 49.27 49.27 50.06 50.73 51.82 52.69 53.74 54.83 50.73 170 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) C.2 Gain Control C.2.1 Encoding Process The gain control tool consists of a PQF (Polyphase Quadrature Filter), gain detectors and gain modifiers. This tool receives the input time-domain signals and window_sequence, and then outputs gain_control_data and a gain controlled signal whose length is equal to the length of the MDCT window. The block diagram for the gain control tool is shown in Figure C.2. Due to the characteristics of the PQF filterbank, the order of the MDCT coefficients in each even PQF band needs to be reversed. This is done by reversing the spectral order of the MDCT coefficients, i.e. exchanging the higher frequency MDCT coefficients with the lower frequency MDCT coefficients. If the gain control tool is used, the configuration of the filterbank tool is changed as follows. In the case of an EIGHT_SHORT_SEQUENCE window_sequence, the number of coefficients for the MDCT is 32 instead of 128 and eight MDCTs are carried out. In the case of other window_sequence values, the number of coefficients for the MDCT is 256 instead of 1024 and one MDCT is carried out. In all cases, the filter bank tool receives a total of 2048 gain controlled signal values per frame, because the input samples have been overlapped. C.2.1.1 PQF The input signal is divided by a PQF into four equal width frequency bands. The coefficients of each band PQF are given as follows. hi (n) = 1 4 cos  (2i + 1)(2n 16 + 5)π Q(n),0  ≤ n ≤ 95,0 ≤ i ≤ 3 where Q(n) = Q(95 − n),48 ≤ n ≤ 95 and the values of Q(n) are the same values as those of the decoder. C.2.1.2 Gain Detector The gain detectors produce gain control data which satisfies the bitstream syntax. This information consists of the number of gain changes, the index of gain change positions and the index of gain change level. Note that the output gain control data applies to the previous input time signal. This means that the gain detector has a one frame delay. The detection of the gain change point is done in the second half of the MDCT window region and in the non-overlapped region (of LONG_START_SEQUENCE and LONG_STOP_SEQUENCE). Thus the number of regions are one for ONLY_LONG_SEQUENCE, two for LONG_START_SEQUENCE and LONG_STOP_SEQUNCE, and eight for EIGHT_SHORT_SEQUENCE. The samples in each region are divided into subregions, each having eight-tuple samples. Then one value (e.g. peak value of samples) is selected in these subregions. The ratios between the values of subregions and the value of the last subregion are calculated. If the --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 171 ISO/IEC 13818-7:2004(E) ratio is greater or less than the value of 2 ^ n where n is an integer between -4 to 11, those subregions can be detected as the gain change points of the signals. The subregion number which is detected as the gain change point is set to be the position data. The exponent of the ratio is set to be the gain data. The time resolution of the gain control is approximately 0.7 ms at 48 kHz sampling rate. --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- C.2.1.3 Gain Modifier The gain modifier for each PQF band controls the gain of each signal band. The complementary gain control process in the decoder decreases the pre-echo and reconstructs the original signal. A window function for gain control, the Gain Modification Function (GMF), which is defined in the decoding process, is derived from the gains and the gain-changed positions. The gain controlled signals are derived by applying the GMF to the corresponding band signals. C.2.2 Diagrams window_ sequence gain_ control_ data 256 or 32 MDCT Gain PQF Detector Gain Modifier 256 or 32 MDCT Spectral reverse Gain Detector Gain Modifier 256 or 32 MDCT Gain Detector gain control tool Gain Modifier 256 or 32 MDCT gain controlled time s ign al Spectral reverse Figure C.2 – Block diagram of gain control tool for encoder C.3 Filterbank and Block Switching A fundamental component in the audio coding process is the conversion of the time domain signals into a time-frequency representation. This conversion is done by a forward modified discrete cosine transform (MDCT). C.3.1 Encoding Process In the encoder the filterbank takes the appropriate block of time samples, modulates them by an appropriate window function, and performs the MDCT. Each block of input samples is 172 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) overlapped by 50% with the immediately preceding block and the following block. The transform input block length N can be set to either 2048 or 256 samples. Since the window function has a significant effect on the filterbank frequency response, the filterbank has been designed to allow a change in window shape to best adapt to input signal conditions. The shape of the window is varied simultaneously in the encoder and decoder to allow the filterbank to efficiently separate spectral components of the input for a wider variety of input signals. C.3.1.1 Windowing and Block Switching The adaptation of the time-frequency resolution of the filterbank to the characteristics of the input signal is done by shifting between transforms whose input lengths are either 2048 or 256 samples. The meaningfull transitions are described in subclause 15.3.1. Window shape decisions are made by the encoder on a frame-by-frame-basis. The window selected is applicable to the second half of the window function only, since the first half is constrained to use the appropriate window shape from the preceding frame. Figure C.3 shows the sequence of blocks for the transition (D-E-F) to and from a frame employing the sine function window. The window shape selector generally produces window shape runlengths greater than that shown in the figure. The 2048 time-domain values x’i,n to be windowed are the last 1024 values of the previous window_sequence concatenated with 1024 values of the current block. The formula below shows this fact: x'i,n =    x ( i −1),( xi,n , n+1024) , for 0 ≤ n < 1024 for 1024 ≤ n < 2048 Where i is the block index and n is the sample index within a block. Once the window shape is selected, the window_shape syntax element is initialized. Together with the chosen window_sequence all information needed for windowing exist. With the window halves described in subclause 15.3.2, all window_sequence's can be assembled. C.3.1.2 MDCT The spectral coefficient, Xi,k, are defined as follows: ∑ ( ) X i,k = 2 ⋅ N −1 n=0 zi,n cos 2π N n + n0  k  + 1 2    for 0 ≤ k < N /2 . where : zin = windowed input sequence n = sample index k = spectral coefficient index i = block index N = window length of the one transform window based on the window_sequence value n = (N/2 + 1)/2 0 --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 173 ISO/IEC 13818-7:2004(E) The analysis window length N of one transform window of the mdct is a function of the syntax element window_sequence and is defined as follows:  N =     2048, if ONLY_LONG_SEQUENCE (0x0) 2048, if LONG_START_SEQUENCE (0x1) 256, if EIGHT_SHORT_SEQUENCE (0x2) (8 times) 2048, if LONG_STOP_SEQUENCE (0x3) C.3.2 Diagrams Gain Kaiser-Bessel Derived Windows for Overlap-Add 1 A B C 0 Overlap-Add Sequence with a Transition to a Sine 1 D E F 0 0 512 1024 1536 2048 2560 3072 3584 4096 Time (samples) Figure C.3 – Example of the Window Shape Adaptation Process. 174 Copyright International Organization for Standardization Reproduced by IHS under license with ISO --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Gain 1 windows during s teady s tate conditions A B C 0 windows during transient conditions 1 1 23456789 10 0 0 512 1024 1536 2048 2560 3072 3584 4096 Time (samples) Figure C.4 – Example of Block Switching During Transient Signal Conditions C.4 Prediction C.4.1 Tool Description Since each predictor itself is identical on both, the encoder and decoder side, all descriptions and definitions as specified for the decoder in clause 13 are also valid here. Prediction is used for an improved redundancy reduction and is especially effective in case of more or less stationary parts of a signal which belong to the most demanding parts in terms of required bitrate. Prediction can be applied to every channel using an intra channel (or mono) predictor which exploits the auto-correlation between the spectral components of consecutive frames. Because a window_sequence of type EIGHT_SHORT_SEQUENCE indicates signal changes, i.e. non-stationary signal characteristic, prediction is only used if window_sequence is of type ONLY_LONG_SEQUENCE, LONG_START_SEQUENCE or LONG_STOP_SEQUENCE. For each channel prediction is applied to the spectral components resulting from the spectral decomposition of the filterbank. For each spectral component up to limit specified by PRED_SFB_MAX, there is one corresponding predictor resulting in a bank of predictors, where each predictor exploits the auto-correlation between the spectral component values of consecutive frames. The overall coding structure using a filterbank with high spectral resolution implies the use of backward adaptive predictors to achieve high coding efficiency. In this case, the predictor coefficients are calculated from preceding quantized spectral components in the encoder as well as in the decoder and no additional side information is needed for the transmission of predictor coefficients - as would be required for forward adaptive predictors. A second order backward-adaptive lattice structure predictor is used for each spectral component, so that each predictor is working on the spectral component values of the two preceding frames. The predictor parameters are adapted to the current signal statistics on a frame by frame Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 175 ISO/IEC 13818-7:2004(E) base, using an LMS based adaptation algorithm. If prediction is activated, the quantizer is fed with a prediction error instead of the original spectral component, resulting in a coding gain. C.4.2 Encoding Process For each spectral component up to the limit specified by PRED_SFB_MAX of each channel there is one predictor. The following description is valid for one single predictor and has to be applied to each predictor. As said above, each predictor is identical on both, the encoder and decoder side. Therefore, the predictor structure is the same as shown in Figure 4 and the calculations of the estimate xest(n) of the current spectral component x(n) as well as the calculation and adaptation of the predictor coefficients are exactly the same as those described for the decoder in subclause 8.3.2. The only difference on the encoder side is that the prediction error has to be calculated according to e(n) = x(n) − xest (n) to be fed to the quantizer. In this case the quantized prediction error is transmitted instead of the quantized spectral component. C.4.2.1 Predictor Control In order to guarantee that prediction is only used if this results in a coding gain, an appropriate predictor control is required and a small amount of predictor control information has to be transmitted to the decoder. For the predictor control, the predictors are grouped into scalefactor bands. The following description is valid for either one single_channel_element() or one channel_pair_element() and has to be applied to each such element. Since prediction is only used if window_sequence is of type ONLY_LONG_SEQUENCE, LONG_START_SEQUENCE or LONG_STOP_SEQUENCE for the channel associated with the single_channel_element() or for both channels associated with the channel_pair_element(), the following applies only in these cases. The predictor control information for each frame, which has to be transmitted as side information, is determined in two steps. First, it is determined for each scalefactor band whether or not prediction leads to a coding gain and if yes, the prediction_used bit for that scalefactor band is set to one. After this has been done for all scalefactor bands up to PRED_SFB_MAX, it is determined whether the overall coding gain by prediction in this frame compensates at least the additional bit need for the predictor side information. If yes, the predictor_data_present bit is set to 1, the complete side information including that needed for predictor reset (see below) has to be transmitted and the prediction error value is fed to the quantizer. Otherwise, the predictor_data_present bit is set to 0, the prediction_used bits are all reset to zero and are not transmitted. In this case, the spectral component value is fed to the quantizer. Figure C.5 shows a block diagram of the prediction unit for one scalefactor band. As described above, the predictor control first operates on all predictors of one scalefactor band and is then followed by a second step over all scalefactor bands. In case of a single_channel_element() or a channel_pair_element() with common_window = 0 the control information is calculated and valid for the predictor bank(s) of the channel(s) associated with that element. In case of a channel_pair_element() with common_window 176 Copyright International Organization for Standardization Reproduced by IHS under license with ISO --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) = 1 the control information is calculated considering both channels associated with that element together. In this case the control information is valid for both predictor banks of the two channels in common. C.4.2.2 Reconstruction of the Quantized Spectral Component Since the reconstructed value of the quantized spectral component is needed as predictor input signal, it has to be calculated in the encoder, see also Figure 8 and Figure C.5. Depending on the value of the prediction_used bit, the reconstructed value is either the quantized spectral component or the quantized prediction error. Therefore, the following steps are necessary: • If the bit is set (1), then the quantized prediction error, reconstructed from data to be transmitted, is added to the estimate xest(n), calculated by the predictor, resulting in the reconstructed value of the quantized spectral component, i.e. xrec (n) = xest (n) + eq (n) • If the bit is not set (0), then the quantized value of the spectral component is identical to the value reconstructed directly from the data to be transmitted. C.4.3 Diagrams xi,rec (n-1) REC xi (n) Pi xi,est (n) xk,rec (n-1) xk (n) Pk xk,est (n) PREDICTOR CONTROL (P_ON/P_OFF) IF (P_ON) yj(n) = ej(n) = xj(n) - xj,est(n) IF (P_OFF) yj(n) = xj(n) Predictor Side Info yi (n) Qi yi,q (n) yk (n) Qk yk,q (n) Figure C.5 – Block diagram of prediction unit for one scalefactor band. The complete processing is only shown for predictor Pi (Q - quantizer, REC - reconstruction of last quantized value). Note that the predictor control operates on all predictors Pi ... Pj ... Pk of a scalefactor band and is followed by a second control over all scalefactor bands. --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 177 ISO/IEC 13818-7:2004(E) C.5 Temporal Noise Shaping (TNS) Temporal Noise Shaping is used to control the temporal shape of the quantization noise within each window of the transform. This is done by applying a filtering process to parts of the spectral data of each channel. Encoding is done on a window basis. The following steps are carried out to apply the Temporal Noise Shaping tool to one window of spectral data: • A target frequency range for the TNS tool is chosen. A suitable choice is to cover a frequency range from 1.5 kHz to the uppermost possible scalefactor band with one filter. Please note that this parameter (TNS_MAX_BANDS) depends on profile and sampling rate as indicated in the normative part. • Next, a linear predictive coding (LPC) calculation is carried out on the spectral MDCT coefficients corresponding to the chosen target frequency range. For better stability, coefficients corresponding to frequencies below 2.5 kHz may be excluded from this process. Standard LPC procedures as known from speech processing can be used for the LPC calculation, e.g. the well-known Levinson-Durbin algorithm. The calculation is carried out for the maximum permitted order of the noise shaping filter (TNS_MAX_ORDER). Please note that this value depends on the profile as indicated in the normative part. • As a result of the LPC calculation, the expected prediction gain gp is known as well as the TNS_MAX_ORDER reflection coefficients r[] (so-called PARCOR coefficients). • If the prediction gain gp does not exceed a certain threshold t, no temporal noise shaping is used. In this case, the tns_data_present bit is set to zero and TNS processing is finished. A suitable threshold value is t = 1.4. • If the prediction gain gp exceeds the threshold t, temporal noise shaping is used. • In a next step the reflection coefficients are quantized using coef_res bits. An appropriate choice for coef_res is 4 bits. The following pseudo code describes the conversion of the reflection coefficients r[] to index values index[] and back to quantized reflection coefficients rq[]. iqfac = ((1 << (coef_res-1)) - 0.5) / (π/2.0); iqfac_m = ((1 << (coef_res-1)) + 0.5) / (π/2.0); /* Reflection coefficient quantization */ for (i = 0; i < TNS_MAX_ORDER; i++) { index[i] = NINT(arcsin( r[i] ) * ((r[i] >= 0) ? iqfac : iqfac_m)); } /* Inverse quantization */ for (i = 0; i < TNS_MAX_ORDER; i++) { rq[i] = sin( index[i] / ((index[i] >= 0) ? iqfac : iqfac_m) ); } where arcsin() denotes the inverse sin() function. • The order of the used noise shaping filter is determined by subsequently removing all reflection coefficients with an absolute value smaller than a threshold p from the "tail" of the reflection coefficient array. The number of the remaining reflection coefficients is the order of the noise shaping filter. A suitable threshold for truncation is p = 0.1. • The remaining reflection coefficients rq[] are converted into order+1 linear prediction coefficients a[] (known as "step-up procedure"). A description of this procedure is 178 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- ISO/IEC 13818-7:2004(E) provided in the normative part as a part of the tool description (see "/* Conversion to LPC coefficients */"). • The computed LPC coefficients a[] are used as the encoder noise shaping filter coefficients. This FIR filter is slid across the specified target frequency range exactly the way it is described in the normative part for the decoding process (tool description). The difference between the decoding and encoding filtering is that the all-pole (autoregressive) filter used for decoding is replaced by its inverse all-zero (moving-average) filter, i.e. replacing the decoder filter equation y[n] = x[n] - a[1]*y[n-1] - ... - a[order]*y[n-order] by the inverse (encoder) filter equation y[n] = x[n] + a[1]*x[n-1] + ... + a[order]*x[n-order] By default, an upward direction of the filtering is appropriate. • Finally, the side information for Temporal Noise Shaping is transmitted: Table C.25 – TNS side information Data Element n_filt coef_res coef_compress length direction order coef[] Algorithmic Variable or Value 1 coef_res-3 0 Number of processed scalefactor bands 0 (upwards) Order of noise shaping filter index[] Optionally, the use of the coef_compress field allows saving 1 bit per transmitted reflection coefficient if none of the reflection coefficients use more than half of their full range. Specifically, if the two most significant bits of each quantized reflection coefficient are either ‘00’ or ‘11’, coeff_compress may be set to a value of one and the size of the transmitted quantized reflection coefficients decreased by one. C.6 Joint Coding C.6.1 M/S Stereo The decison to code left and right coefficients as either left + right (L/R) or mid/side (M/S) is made on a noiseless coding band by noiseless coding band basis for all spectral coefficients in the current block. For each noiseless coding band the following decison process is used: 1. For each noiseless coding band, not only L and R raw thresholds, but also M = (L+R)/2 and S = (L-R)/2 raw thresholds are calculated. For the raw M and S thresholds, rather than using the tonality for the M or S threshold, one uses the more tonal value from the L or R calculation in each threshold calculation band, and proceed with the psychoacoustic model for M and S from the M and S energies and the minimum of the L or R values for C(ω) in each threshold calculation band. The values that are provided to the imaging control process are identified in the psychoacoustic model information section as en(b) (the spread normalized energy) and nb(b), the raw threshold. Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 179 ISO/IEC 13818-7:2004(E) 2. The raw thresholds for M, S, L and R, and the spread energy for M, S, L and R, are all brought into an “imaging control process”. The resulting adjusted thresholds are inserted as the values for cb(b) into step 11 of the psychoacoustic model for further processing. 3. The final, protected and adapted to coder-band thresholds for all of M,S,L and R are directly applied to the appropriate spectrum by quantizing the actual L, R, M and S spectral values with the appropriate calculated and quantized threshold. 4. The number of bits actually required to code M/S, and the number of bits required to code L/R are calculated. 5. The method that uses the least bits is used in each given noiseless coding band, and the stereo mask is set accordingly. With these definitions Mthr,Sthr,Rthr, Lthr raw thresholds. (the nb(b) from step 10 of the psychoacoustic model) Mengy,Sengy,Rengy,Sengy spread energy.(en(b) from step 6 of the psychoacoustic model) Mfthr, Sfthr, Rfthr, Lfthr final (output) thresholds. (returned as nb(b) in step 11 of the psychoacoustic model) bmax(b) BMLD protection ratio, as can be calculated from 10 bmax(b) = −3⋅  0.5+0.5⋅cos   π ⋅ min(bval (b 15.5 ),15.5)      the imaging control process for each noiseless coding band is as follows: t = Mthr/Sthr if (t > 1) t = 1/t Rfthr = max(Rthr*t, min (Rthr, bmax*Rengy) Lfthr = max(Lthr*t, min (Lthr, bmax) *Lengy) t = min(Lthr, Rthr) Mfthr = min(t, max(Mthr, min(Sengy*bmax,Sthr)) Sfthr = min(t, max(Sthr, min(Mengy*bmax,Mthr)) C.6.2 Intensity Stereo Coding Intensity stereo coding is used to exploit irrelevance in the between both channels of a channel pair in the high frequency region. The following procedure describes one possible implementation while several different implementations are possible within the framework of the defined bitstream syntax. Encoding is done on a window group basis. The following steps are carried out to apply the intensity stereo coding tool to one window group of spectral data: 180 Copyright International Organization for Standardization Reproduced by IHS under license with ISO --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) • A suitable approach is to code a consecutive region of scalefactor bands in intensity stereo technique starting above a lower border frequency f0. An average value of f0 = 6 kHz is appropriate for most types of signals. • For each scalefactor band, the energy of the left, right and the sum channel is calculated by summing the squared spectral coefficients, resulting in values El[sfb], Er[sfb], Es[sfb]. If the window group comprises several windows, the energies of the included windows are added. • For each scalefactor band, the corresponding intensity position value is computed as is _ position[sfb] = NINT  2 ⋅ log2  El Er [sfb] [sfb]   • Next, the intensity signal spectral coefficients speci[i] are calculated for each scalefactor bands by adding spectral samples from the left and right channel (specl[i] and specr[i]) and rescaling the resulting values like speci [i] = (specl [i] + specr [i]) ⋅ El [sfb] Es [sfb] • The intensity signal spectral components are used to replace the corresponding left channel spectral coefficients. The corresponding spectral coefficients of the right channel are set to zero. Then, the standard process for quantization and encoding is performed on the spectral data of both channels. However, the prediction status of the right channel predictors is forced to "off" for the scalefactor bands coded in intensity stereo. These predictors are updated by using an intensity decoded version of the quantized spectral coefficients. The procedure for this is described in the tool description for the intensity stereo decoding process in the normative part. Finally, before transmission the Huffman codebook INTENSITY_HCB (15) is set in the sectioning information for all scalefactor bands that are coded in intensity stereo. C.7 Quantization C.7.1 Introduction The description of the AAC quantization module is subdivided into three levels. The top level is called "loops frame program". The loops frame program calls a subroutine named "outer iteration loop" which calls the subroutine "inner iteration loop". For each level a corresponding flow diagram is shown. The loops module quantizes an input vector of spectral data in an iterative process according to several demands. The inner loop quantizes the input vector and increases the quantizer step size until the output vector can be coded with the available number of bits. After completion of the inner loop an outer loop checks the distortion of each scalefactor band and, if the allowed distortion is exceeded, attenuates the scalefactor band and calls the inner loop again. AAC loops module input: --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 181 ISO/IEC 13818-7:2004(E) 1. vector of the magnitudes of the spectral values mdct_line(0..1023). 2. xmin(sb) (see subclause C.1.4, step 12) 3. mean_bits (average number of bits available for encoding the bitstream). 4. more_bits, the number of bits in addition to the average number of bits, calculated by the psychoacoustic module out of the perceptual entropy (PE). 5. the number and width of the scalefactor bands (see Table 45 to Table 57) 6. for short block grouping the spectral values have to be interleaved so that spectral lines that belong to the same scalefactor band but to different block types which shall be quantized with the same scalefactors are put together in one (bigger) scalefactor band (for a full description of grouping see subclause 8.3.4 ) AAC loops module output: 1. vector of quantized values x_quant(0..1023). 2. a scalefactor for each scalefactor band (sb) 3. common_scalefac (quantizer step size information for all scalefactor bands) 4. number of unused bits available for later use. C.7.2 Preparatory Steps C.7.2.1 Reset of all Iteration Variables 1. The start value of common_scalefac for the quantizer is calculated so that all quantized MDCT values can be encoded in the bitstream : start_common_scalefac = ceiling(16/3*(log2( (max_mdct_line ^ (3/4) )/MAX_QUANT))) max_mdct_line is the largest absolute MDCT coefficient and ceiling() is the function which rounds to the nearest integer in the direction of positive infinity. MAX_QUANT is the maximum quantized value which can be encoded in the bitstream, defined as 8191. During the iteration process, the common_scalefac must not become less than start_common_scalefac. 2. Scalefactor[sb] is set to zero for all values of sb. C.7.3 Bit Reservoir Control Bits are saved to the reservoir when fewer than the mean_bits are used to code one frame. mean_bits = bit_rate * 1024 / sampling_rate. The number of bits which can be saved in the bit reservoir at maximum is called ‘max_bit_reservoir’ which is calculated using the procedure outlined in subclause 8.2.2. If the reservoir is full, unused bits have to be encoded in the bitstream as fillbits. The maximum amount of bits available for a frame is the sum of mean_bits and bits saved in the bit reservoir. The number of bits that should be used for encoding a frame depends on the more_bits value which is calculated by the psychoacoustic model and the maximum available bits. The simplest way to control bit reservoir is : if more_bits > 0 : available_bits = mean_bits + min ( more_bits, bit_reservoir_state[frame]) 182 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- ISO/IEC 13818-7:2004(E) if more_bits < 0 : available_bits = mean_bits + max ( more_bits, bit_reservoir_state[frame] - max_bit_reservoir) C.7.4 Quantization of MDCT Coefficients The formula for the quantization in the encoder is the inverse of the decoder dequantization formula (see also the decoder description) : x_quant = int (( abs( mdct_line ) * (2^(- ¼ * (sf_decoder - SF_OFFSET))) )^(3/4) + MAGIC_NUMBER) MAGIC_NUMBER is defined to 0.4054, SF_OFFSET is defined as 100 and mdct_line is one of spectral values, which is calculated from the MDCT. These values are also called ‘coefficients’. The scalefactor 'sf_decoder' is the same as 'sf[g][sfb]' defined in clause 11. For use in the iteration loops, the scalefactor ‘sf_decoder’ is split in two variables: sf_decoder = common_scalefac - scalefactor + SF_OFFSET It follows from this, that the formula used in the distortion control loop is: x_quant = int(( abs(mdct_line) * (2^(-¼ * (scalefactor - common_scalefac))) )^(3/4) + MAGIC_NUMBER) The signs of scalefactor is such that a positive change increases the magnitude of x_quant, and so decreases the distortion and increases the number of bits used. The sign of the mdct_line is saved separately and added again only for counting the bits and encoding the bitstream. C.7.4.1 Outer Iteration Loop (Distortion Control Loop) The outer iteration loop controls the quantization noise which is produced by the quantization of the frequency domain lines within the inner iteration loop. The coloring of the noise is done by multiplication of the lines within scalefactor bands with the actual scalefactors before doing the quantization. The following pseudo-code illustrates the multiplication. do for each scalefactor band sb: do from lower index to upper index i of scalefactor band mdct_scaled(i) = abs(mdct_line(i))^(3/4) * 2^(3/16 * scalefactor(sb)) end do end do C.7.4.2 Call of Inner Iteration Loop For each outer iteration loop (distortion control loop) the inner iteration loop (rate control loop) is called. The parameters are the frequency domain values with the scalefactors applied to the values within the scalefactor bands (mdct_scaled(0..1023)), a start value for common_scalefac, and the number of bits which are available to the rate control loop. The result is the number of bits actually used and the quantized frequency lines x_quant(i), and a new common_scalefac. The formula to calculate the quantized MDCT coefficients is: Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 183 --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- ISO/IEC 13818-7:2004(E) x_quant(i) = int (( mdct_scaled (i) * 2^(-3/16 * common_scalefac)) + MAGIC_NUMBER) The bits, that would be needed to encode the quantized values and the side information (scalefactors etc.) are counted according to the bitstream syntax, described in clause 9. C.7.4.3 Attenuation of Scalefactor Bands which Violate the Masking Threshold The calculation of the distortion (error_energy(sb)) of the scalefactor band is done as follows: do for each scalefactor band sb: error_energy(sb)=0 do from lower index to upper index i of scalefactor band error_energy(sb) = error_energy(sb) + (abs( mdct_line(i)) - (x_quant(i) ^(4/3) * 2^(¼ * (scalefactor(sb) -common_scalefac ))))^2 end do end do All spectral values of the scalefactor bands which have a distortion that exceeds the allowed distortion (xmin(sb)) are attenuated according to formula in subclause C.7.4.1, the new scalefactors can be calculated according to this pseudocode: do for each scalefactor band sb if ( error_energy(sb) > xmin(sb) ) then scalefactor(sb) = scalefactor(sb) - 1 end if end do C.7.4.4 Conditions for the Termination of the Loops Processing Normally the loops processing terminates, if there is no scalefactor band with more than the allowed distortion. However this is not always possible to obtain. In this case there are other conditions to terminate the outer loop. If • All scalefactor bands with an energy exceeding xmin(sb) are already attenuated, or • The difference between two consecutive scalefactors is greater than 60 The loop processing stops, and by restoring the saved scalefactors(sb) a useful output is available. For real-time implementation, there might be a third condition added which terminates the loops in case of a lack of computing time. The procedure described above is only valid in the case the number of available bits is equal to the number of required bits corresponding to the perceptual entropy. In the case the number of available bits is higher or lower than the number of required bits, it is the objective of the loops module to create a constant ratio between the quantisation noise and the masked threshold over all scale factor bands (constant Noise to Mask Ratio (NMR)). This can be realised by applying an offset to the target allowed distortion xmin(sb), that is the same for all scale factor bands, prior to starting the loops module. C.7.4.5 Inner Iteration Loop (Rate Control Loop) The inner iteration loop calculates the actual quantization of the frequency domain data (mdct_scaled) with the following function, which uses the formula from subclause C.7.4.2: quantize_spectrum(x_quant[] , mdct_scaled[] , common_scalefac): do for all MDCT coefficients i : x_quant(i) = int ((mdct_scaled (i) * 2^(-3/16 * common_scalefac)) + MAGIC_NUMBER) end do 184 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) and then calls a function bit_count(). This function counts the number of bits that would be neccessary to encode a bitstream frame according to clause 6. The inner iteration loop can be implemented using successive approximation: inner_loop(): if (outer_loop_count == 0) common_scalefac = start_common_scalefac; quantizer_change = 32; else quantizer_change = 1; end if do quantize_spectrum(); counted_bits = bit_count(); if (counted_bits > available_bits) then common_scalefac = common_scalefac + quantizer_change; else common_scalefac = common_scalefac - quantizer_change; end if quantizer_change = int (quantizer_change / 2) ; if (quantizer_change == 0) && (counted_bits > available_bits) quantizer_change = 1; end if while (quantizer_change != 0) Due to the choice of start_common_scalefac calculated from subclause C.7.2.1, after the first run through the inner loop the number of needed bits is usually greater than the available bits , and therefore common_scalefac will be increased by the quantizer_change. Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 185 ISO/IEC 13818-7:2004(E) BEGIN Calculation of available bits Reset of iteration variables y All spectral values zero ? n Outer Iteration Loop Calculate the number of unused bits RETURN Figure C.6 – AAC iteration loop --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- 186 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) BEGIN Inner Iteration Loop Calculate the distortion for each scalefactor band Save scaling factors of the scalefactor bands Amplify scalefactor bands with more than the allowed distortion All scalefactor bands amplified ? y n Amplification of all bands below upper limit ?y n At least one band with more than the allowed distortion ? n y Restore scaling factors RETURN Figure C.7 – AAC outer iteration loop --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 187 ISO/IEC 13818-7:2004(E) BEGIN --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Quantization count bits change quantizer_change quantizer_change = 0 ? y add quantizer_change to common_scalefac n Figure C.8 – AAC inner iteration loop C.8 Noiseless Coding C.8.1 Introduction In the AAC encoder the input to the noiseless coding module is the set of 1024 quantized spectral coefficients. Since the noiseless coding is done inside the quantizer inner loop, it is part of an iterative process that converges when the total bit count (of which the noiseless coding is the vast majority) is within some interval surrounding the allocated bit count. This section will describe the encoding process for a single call to the noiseless coding module. Noiseless coding is done via the following steps: • Spectrum clipping • Preliminary Huffman coding using maximum number of sections • Section merging to achieve lowest bit count 188 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) C.8.2 Spectrum Clipping As a first step a method of noiseless dynamic range limiting may be applied to the spectrum. Up to four coefficients can be coded separately as magnitudes in excess of one, with a value of +-1 left in the quantized coefficient array to carry the sign. The index of the scalefactor band containing the lowest-frequency “clipped” coefficients is sent in the bitstream. Each of the “clipped” coefficients is coded as a magnitude (in excess of 1) and an offset from the base of the previously indicated scalefactor band. For this the long block scalefactor bands and coefficient ordering within those bands are used regardless of the window sequence. One strategy for applying spectrum clipping is to clip high-frequency coefficients whose absolute amplitudes are larger than one. Since the side information for carrying the clipped coefficients costs some bits, this noiseless compression is applied only if it results in a net savings of bits. C.8.3 Sectioning The noiseless coding segments the set of 1024 quantized spectral coefficients into sections, such that a single Huffman codebook is used to code each section (the method of Huffman coding is explained in a later section). For reasons of coding efficiency, section boundaries can only be at scalefactor band boundaries so that for each section of the spectrum one must transmit the length of the section, in scalefactor bands, and the Huffman codebook number used for the section. Sectioning is dynamic and typically varies from block to block, such that the number of bits needed to represent the full set of quantized spectral coefficients is minimized. This is done using a greedy merge algorithm starting with the maximum possible number of sections each of which uses the Huffman codebook with the smallest possible index. Sections are merged if the resulting merged section results in a lower total bit count, with merges that yield the greatest bit count reduction done first. If the sections to be merged do not use the same Huffman codebook then the codebook with the higher index must be used. Sections often contain only coefficients whose value is zero. For example, if the audio input is band limited to 20 kHz or lower, then the highest coefficients are zero. Such sections are coded with Huffman codebook zero, which is an escape mechanism that indicates that all coefficients are zero and it does not require that any Huffman codewords be sent for that section. C.8.4 Grouping and Interleaving If the window sequence is eight short windows then the set of 1024 coefficients is actually a matrix of 8 by 128 frequency coefficients representing the time-frequency evolution of the signal over the duration of the eight short windows. Although the sectioning mechanism is flexible enough to efficiently represent the 8 zero sections, grouping and interleaving provide for greater coding efficiency. As explained earlier, the coefficients associated with contiguous short windows can be grouped such that they share scalefactors amongst all scalefactor bands within the group. In addition, the coefficients within a group are interleaved by interchanging the order of scalefactor bands and windows. To be specific, assume that before interleaving the set of 1024 coefficients c are indexed as c[g][w][b][k] where g is the index on groups --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 189 --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- ISO/IEC 13818-7:2004(E) w is the index on windows within a group b is the index on scalefactor bands within a window k is the index on coefficients within a scalefactor band and the right-most index varies most rapidly. After interleaving the coefficients are indexed as c[g][b][w][k] This has the advantage of combining all zero sections due to band-limiting within each group. C.8.5 Scalefactors The coded spectrum uses one quantizer per scalefactor band. The step sizes of each of these quantizers is specified as a set of scalefactors and a global gain which normalizes these scalefactors. In order to increase compression, scalefactors associated with scalefactor bands that have only zero-valued coefficients are ignored in the coding process and therefore do not have to be transmitted. Both the global gain and scalefactors are quantized in 1.5 dB steps. The global gain is coded as an 8-bit unsigned integer and the scalefactors are differentially encoded relative to the previous scalefactor (or global gain for the first scalefactor) and then Huffman coded. The dynamic range of the global gain is sufficient to represent full-scale values from a 24-bit PCM audio source. C.8.6 Huffman Coding Huffman coding is used to represent n-tuples of quantized coefficients, with the Huffman code drawn from one of 11 codebooks. The spectral coefficients within n-tuples are ordered (low to high) and the n-tuple size is two or four coefficients. The maximum absolute value of the quantized coefficients that can be represented by each Huffman codebook and the number of coefficients in each n-tuple for each codebook is shown in Table C.26. There are two codebooks for each maximum absolute value, with each representing a distinct probability distribution function. The best fit is always chosen. In order to save on codebook storage (an important consideration in a mass-produced decoder), most codebooks represent unsigned values. For these codebooks the magnitude of the coefficients is Huffman coded and the sign bit of each non-zero coefficient is appended to the codeword. Codebook index 0 1 2 3 4 5 6 7 8 9 10 11 Table C.26 – Huffman Codebooks n-Tuple size 4 4 4 4 2 2 2 2 2 2 2 Maximum absolute value 0 1 1 2 2 4 4 7 7 12 12 16 (ESC) Signed values yes yes no no yes yes no no no no no 190 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) Two codebooks require special note: codebook 0 and codebook 11. As mentioned previously, codebook 0 indicates that all coefficients within a section are zero. Codebook 11 can represent quantized coefficients that have an absolute value greater than or equal to 16. If the magnitude of one or both coefficients is greater than or equal to 16, a special escape coding mechanism is used to represent those values. The magnitude of the coefficients is limited to no greater than 16 and the corresponding 2-tuple is Huffman coded. The sign bits, as needed, are appended to the codeword. For each coefficient magnitude greater or equal to 16, an escape sequence is also appended, as follows: escape sequence = where is a sequence of N binary “1’s” is a binary “0” is an N+4 bit unsigned integer, msb first and N is a count that is just large enough so that the magnitude of the quantized coefficient is equal to 2^(N+4) + C.9 Features of AAC dynamic range control In order to handle source material with variable peak levels, mean levels and dynamic range in a manner that minimizes the variability for the consumer, it is necessary to control the reproduced level such that, for instance, dialogue level or mean music level is set to a consumer controlled level at reproduction, regardless of how the programme was originated. Additionally, not all consumers will be able to audition the programmes in a good (i.e. low noise) environment, with no constraint on how loud they make the sound. The car environment, for instance, has a high ambient noise level and it can therefore be expected that the listener will want to reduce the range of levels that would otherwise be reproduced. For both of these reasons, dynamic range control has to be available within the specification of AAC. To achieve this, it is necessary to accompany the bit-rate reduced audio with data used to set and control the dynamic range of the programme items. This control has to be specified relative to a reference level and in relationship to the important programme elements, e.g. the dialogue. The features of the dynamic range control are as follows: 1. Dynamic Range Control is entirely optional. Therefore, with correct syntax, there is no change in complexity for those not wishing to invoke DRC. 2. The bit-rate reduced audio data is transmitted with the full dynamic range of the source material, with supporting data to assist in dynamic range control. 3. The dynamic range control data can be sent every frame to reduce to a minimum the latency in setting replay gains. 4. The dynamic range control data is sent using the ‘fill_element’ feature of AAC. --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 191 ISO/IEC 13818-7:2004(E) 5. The Reference Level is defined as Full-scale. 6. The Programme Reference Level is transmitted to permit level parity between the replay levels of different sources and to provide a reference about which the dynamic range control may be applied. It is that feature of the source signal that is most relevant to the subjective impression of the loudness of a programme, such as the level of the dialogue content of a programme or the average level of a music programme. 7. The Programme Reference Level represents that level of programme that may be reproduced at a set level relative to the Reference Level in the consumer hardware to achieve replay level parity. Relative to this, the quieter portions of the programme may be increased in level and the louder portions of the programme may be reduced in level. 8. Programme Reference Level is specified within the range 0 to -31.75 dB relative to Reference Level. 9. Programme Reference Level uses a 7 bit field with 0.25 dB steps. 10. The dynamic range control is specified within the range ±31.75 dB. 11. The dynamic range control uses an 8 bit field (1 sign, 7 magnitude) with 0.25 dB steps. 12. The dynamic range control can be applied to all of an audio channel’s spectral coefficientsfrequency bands as a single entity or the coefficients can be split intowith different scalefactor bands, each being controlled separately by separate sets of dynamic range control data. 13. The dynamic range control can be applied to all channels (of a stereo or multichannel bitstream) as a single entity or can be split, with sets of channelsChannels being controlled separately by separate sets of dynamic range control data. 14. If an expected set of dynamic range control data is missing, the last received valid values should be used. 15. Not all elements of the dynamic range control data are sent every time. For instance, Programme Reference Level may only be sent on average once every 200 ms. 16. Where necessary, error detection/protection is provided by the Transport Layer. 17. The user shall be given the means to alter the amount of dynamic range control, present in the bitstream, that is applied to the level of the signal. --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- 192 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) Annex D (informative) Patent Holders D.1 List of Patent Holders The International Organization for Standardization and the International Electrotechnical Commission (IEC) draw attention to the fact that it is claimed that compliance with this part of ISO/IEC 13818 may involve the use of patents. ISO and IEC take no position concerning the evidence, validity and scope of these patent rights. The holders of these patent rights have assured the ISO and IEC that they are willing to negotiate licences under reasonable and non-discriminatory terms and conditions with applicants throughout the world. In this respect, the statements of the holders of these patents right are registered with ISO and IEC. Information may be obtained from the companies listed in Table D.1. Attention is drawn to the possibility that some of the elements of this part of ISO/IEC 13818 may be the subject of patent rights other than those identified in this annex. ISO and IEC shall not be held responsible for identifying any or all such patent rights. Table D.1 – Companies who supplied patent statements AT&T BOSCH Dolby Laboratories, Inc. Fraunhofer Gesellschaft GCL Lucent Technologies NEC Corporation Philips Electronics N.V. Sony Corporation Thomson Multimedia --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 193 ISO/IEC 13818-7:2004(E) Annex E (informative) Registration Procedure E.1 Procedure for the Request of a Registered Identifier (RID) Requesters of a RID shall apply to the Registration Authority. Registration forms shall be available from the Registration Authority. Information which the requester shall provide is given in subclause E.3. Companies and organizations are eligible to apply. E.2 Responsibilities of the Registration Authority The primary responsibilities of the Registration Authority administrating the registration of copyright_identifiers is outlined in this clause ; certain other responsibilities may be found in the JTC 1 Directives. The Registration Authority shall : a) implement a registration procedure for application for a unique RID in accordance with Annex H of the JTC 1 Directives ; b) receive and process the applications for allocation of the work type code identifier from Copyright Registration Authority ; c) ascertain which applications received are in accordance with this registration procedure, and to inform the requester within 30 days of receipt of the application of their assigned RID ; d) inform application providers whose request is denied in writing within 30 days of receipt of the application, and also inform the requesting party of the appeals process ; e) maintain an accurate register of the allocated RID. Revisions to the contact information and technical specifications shall be accepted and maintained by the Registration Authority ; f) make the contents of this register available upon request to any interested party ; g) maintain a data base of RID request forms, granted and denied. Parties seeking technical information on the format of private data which has a copyright_identifier shall have access to such information which is part of the data base maintained by the Registration Authority ; h) report its activities to JTC 1, the ITTF, and the JTC 1/SC 29 Secretariat, or their respective assignees, annually on a schedule mutually agreed upon. E.3 Contact Information of the Registration Authority Organization Name: Address: Telephone: Fax: --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- 194 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) E.4 Responsibilities of Parties Requesting a RID The party requesting a RID for the purpose of copyright identification shall: a) apply using the Form and procedures supplied by the Registration Authority; b) provide contact information describing how a complete description of the copyright organization can be obtained on a non-discriminatory basis; c) include technical details of the syntax and semantics of the data format used to describe the audio-visual works or other copyrighted works within the additional_copyright_info field. Once registered, the syntax used for the additional copyright information shall not change; d) agree to institute the intended use of the granted copyright_identifier within a reasonable time frame; e) to maintain a permanent record of the application form and the notification received from the Registration Authority of each granted copyright_identifier. E.5 Appeal procedure for Denied Applications The Registration Management Group is formed to have jurisdiction over appeals relating to a denied request for a RID. The RMG shall have a membership who are nominated by P and L members of the ISO technical body responsible for this part of ISO/IEC 13818. It shall have a convenor and secretariat nominated from its members. The Registration Authority is entitled to nominate one non-voting observing member. The responsibilities of the RMG shall be: a) To review and act on all appeals within a reasonable time frame; b) to inform, in writing, organisations which make an appeal for reconsideration of its petition of the RMGs disposition of the matter; c) to review the annual report of the Registration Authority summary of activities; d) to supply ISO member bodies with information concerning the scope of operation of the Registration Authority. --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 195 ISO/IEC 13818-7:2004(E) Annex F (informative) Registration Application Form Contact information of organization requesting a Registered Identifier (RID) Organization Name : Address : Telephone : Fax : E-mail : Statement of an intention to apply the assigned RID RID application domain : using guidelines to be provided by the Registration Authority Date of intended implementation of the RID Authorized representative Name : Title : Address : Signature __________________________________ For official use only of the Registration Authority Registration Rejected _____ Reason for rejection of the application: Registration Granted ______ Registration Value _______ Attachment 1: Attachment of technical details of the registered data format Attachment 2: Attachment of notification of appeal procedure for rejected applications --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- 196 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. ISO/IEC 13818-7:2004(E) Annex G (informative) Registration Authority Registration Authority Diagramm of administration structure Correspondence table ISSN XXI ISBN XYI ISMN XXI ISAN YIX . . . . . . Copyright_identifier _____ Registration Authority _____ Responsible for the identifier references allocation The Registration Authority indicates the meaning of the code which follows and also identifies the work type code. --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- copyright_identifier copyright_identifier copyright_identifier copyright_number copyright_number copyright_number Video Systems Audio Examples copyright_identifier copyright_number I.S.B.N. (for books) 2-11- 0725 575 (ISBN Number) I.S.A.N. (for audiovisual works) 1234567890123456 (ISAN Number) All the copyright_identifiers are registered by the Registration Authority, uniquely for copyright_numbers standardized by ISO. Each organization which allocates copyright_numbers requests a specific copyright_identifier from the Registration Authority. e.g. Staatsbibliothek Preussischer Kulturbesitz, designated by ISO to manage I.S.B.N., asks for a specific copyright_identifier from the R.A. for book numbering. Copyright International Org©anizIaStioOn /foIrESCtand2a0rd0iz4atio–n All rights reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. 197 ISO/IEC 13818-7:2004(E) Bibliography [1] M. Bosi, K. Brandenburg, S. Quackenbush, L. Fielder, K. Akagiri, H. Fuchs, M. Dietz, J. Herre, G. Davidson, Y. Oikawa, "ISO/IEC MPEG-2 Advanced Audio Coding", Journal of the Audio Engineering Society, Vol. 45, No. 10, pp. 789-814, October 1997 [2] ITU-R Document TG10-2/3- E only, Basic Audio Quality Requirements for Digital Audio Bit-Rate Reduction Systems for Broadcast Emission and Primary Distribution, 28 October 1991 [3] F. J. Harris, On the Use of Windows For Harmonic Analysis of the Discrete Fourier Transform, Proc. of the IEEE, Vol. 66, pp. 51- 83, January 1975 --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- 198 Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943©121I1S00O, 0/I1E/26C/2020502014:18–:40AMlSl Trights reserved Questions or comments about this message: please call the Document Policy Group at 303-397-2295. Copyright International Organization for Standardization Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295. --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- ISO/IEC 13818-7:2004(E) --`,,`,,,,```,``,,`,`,``,```,,`-`-`,,`,,`,`,,`--- ICS 35.040 Price based on 198 pages Copyright Inte©rnatIiSonOal O/IrEgaCniza2tio0n0fo4r S–tanAdallrdrizigatihonts reserved Reproduced by IHS under license with ISO Document provided by IHS Licensee=etri/9943121100, 01/26/2005 21:18:40 MST Questions or comments about this message: please call the Document Policy Group at 303-397-2295.

Top_arrow
回到顶部
EEWORLD下载中心所有资源均来自网友分享,如有侵权,请发送举报邮件到客服邮箱bbs_service@eeworld.com.cn 或通过站内短信息或QQ:273568022联系管理员 高进,我们会尽快处理。