`
`ORGANISATION INTERNATIONALE DE NORMALISATION
`
`ISO/IEC JTC1 /SC2IWG8
`
`CODED REPRESENTATION OF PICTURE AND AUDIO INFORMATION
`
`1SOIEC/JTCI/SC2/WG8
`MPEG 89/206
`October
`18 1989
`
`Source
`
`Title
`
`CCE
`IRT
`
`Philips
`
`Universal Subband Coding
`Detailed description of sound coding algorithm
`
`Status
`
`Draft
`
`Universal Subband Coding
`
`submitted on October 18 1989
`
`1
`
`HP 1026
`
`
`
`
`
`---- -- ----------1
`
`MS-M PT_ 0008722
`
`2
`
`
`
`Ii
`
`IRT
`
`PHILIPS
`
`ISO/IEC JTCi/SC2/G8
`MPEG 89/206
`
`Dear Sir
`
`Please find enclosed herewith the coimuon proposal of CCETT IRT
`scheme suitable
`for high
`bitrate reduction
`and PHILIPS for
`quality audio signals
`
`As
`explained
`corresponding
`technique
`
`individual
`in our
`algorithm is based
`
`the
`preregistration papers
`on
`32
`subband
`coding
`
`bearing
`
`in mind the requirements
`
`of
`
`The scheme has been developed
`ISO/NPEG Audio Group
`on the design of
`We have put special
`emphasis
`decoder with the following features
`low complexity
`short decoding delay
`compatibility with
`
`universal simple
`
`broad range of bitrates
`
`Additionally the compressed sound format allows
`small granularity
`random access having
`for ancillary information
`supports data capacity
`to bit errors
`and has high robustness
`
`This scheme will be supported by hardware
`having in mind
`intend to demonstrate
`integration
`
`implementation which we
`further step towards VSLI
`
`does not
`that
`follow
`We will
`policy
`licensing
`standardisation of this scheme as an ISO standard
`
`hinder
`
`the
`
`Best regards
`
`on behalf of
`
`-ee -i
`
`Ccirr Y.F Dehery
`
`IRT
`
`Stall
`
`PHILIPS
`
`Lokhoff
`
`3
`
`
`
`imr
`
`IRT
`
`PHILIPS
`
`UNIVERSAL
`
`SUBBAND CODING
`
`SYSTEM DESCRIPTION
`
`CENTRE
`
`COMMUN DTUDES
`
`DE TELEDIFFtJS ION ET TLCOMMUNICATIONS
`
`INSTITUT
`
`F(cid:220)R
`
`RUNDFUNKTECHNIK
`
`PHILIPS
`
`G.L
`
`1982-10-11
`
`CCETTIRTPHILIPS
`
`frontpage
`
`4
`
`
`
`UNIVERSAL
`CODING
`SUBBAND
`system description
`
`INTRODUCTION
`
`an audio Subband Coding system developed
`This document describes
`be used
`between CCETT IRT and Philips which can
`in cooperation
`to transfer high quality digital audio information on channels
`with limited capacity It is designed for use in different
`by ISO/MPEG Audio group e.g
`as considered
`applications
`Digital Audio Broadcasting DAB
`ISDN systems
`Audio storage
`systems etc
`recording
`digital
`System design constraints were
`layered structure
`three sample frequencies
`stereo bilingual or mono mode
`range of bitrates
`one decoder
`for
`short decoding delay
`random access capability with small granularity
`low decoder complexity
`high bit error robustness
`for ancillary information
`datacapacity
`
`BASIC PARAMETERS
`
`Audio Format
`Sample Frequency Fs
`
`48 44.1 or 32 kHz
`
`Quantization
`
`16 bits/sample
`
`Subband
`
`filter transforms
`
`Number of subbands
`
`32
`
`Sample Frequency
`
`Fs/32
`
`Bandwidth
`
`of subbands
`
`Fs/64
`
`Subband Quantiation
`
`24 bits/sample
`
`Headroom
`
`Coder
`
`Modes
`
`Scaling
`
`Quantization
`
`dB
`
`bit
`
`stereo bilingual mono
`
`range of
`to 15 bits/sample NoB
`
`to -118 dB in
`
`dB steps
`
`Quantization
`
`levels
`
`2N0B
`
`G.L
`
`1989-1011
`
`CCETTIRTPHILIPS
`
`page
`
`5
`
`
`
`UNIVERSAL
`CODING
`SUBBAND
`system description
`
`THE THREE
`
`LEVELS
`
`An application
`to the system may be composed by
`according
`grouping items from three levels Each of
`these levels contains
`algorithms for
`special purpose
`
`this is the basic level which will be used in all
`LEVEL
`the filter
`applications It contains the desctiption of
`and decoder
`transforms as well as requirements for the encoder
`the Level
`The definition of
`is also included
`format
`signal
`
`this contains additional algorithms that can be used to
`II
`LEVEL
`reduce the bitrate of
`the Level
`further
`even
`signal
`
`error detection and/or correction codes
`III
`LEVEL
`applications
`
`for different
`
`levels II and III are optional This means that
`Algorithms of
`application may include besides the level
`algorithm only
`III algorithm or both Also
`level II or level
`combination
`different algorithms from the same level may be used
`
`an
`
`of
`
`Examples may be found on the following page
`
`G.L
`
`1989-10-.l
`
`CCETTIRTPHILIPS
`
`page
`
`6
`
`
`
`basic configuration
`
`level
`
`only
`
`UNIVERSAL
`CODING
`SUBBAND
`system description
`
`reduced bitrate configuration
`
`levels
`
`and II
`
`error protected configuration
`
`levels
`
`and III
`
`full configuration
`
`levels
`
`II and III
`
`Fig
`
`examples of system configurations
`
`application specific
`
`19891011
`
`CCETTIRTPHILIPS
`
`page
`
`7
`
`
`
`UNIVERSAL
`
`SUBBAND
`
`CODING
`level
`
`LEVEL
`
`BASIC LEVEL
`
`NOTATION
`
`audio and subband sample values are considered
`All broadband
`i.e an
`be twos complement
`bit sample has
`numbers
`
`to
`
`maximum value
`
`minimum value
`
`Stated differently
`
`the separate bits have the following values
`
`MSB 4SB-l MSB2 MSB-3 MSB4
`
`etc
`
`21
`
`22
`
`The quantized samples in the signal according
`different way
`format will be expressed in
`
`to the level
`
`INPUT AND OUTPUT
`
`DATA
`
`FORMAT
`
`and output data are digital samples of an audio signal
`The input
`represented in 16 bit twos complement notation The sample
`frequency may be 32 44.1 or 48 kHz
`
`FILTER TRANSFORMS
`
`filter transforms are used to split the broadband
`signal
`Special
`at sample frequency
`Fs into 32 equal bandwidth
`subbands at sample
`frequency Fs/32 and to join the 32 subband signals to regenerate
`the broadband signal The subband samples will be represented in
`24 bit twos complement notation
`
`G.L
`
`1989-10-il
`
`CCETTIRTPHILIPS
`
`page
`
`8
`
`
`
`SPLIT TRANSFORH
`
`UNIVERSAL
`
`SUBBAND
`
`CODING
`level
`
`or every calculation
`samplas one
`of one set of 32 subband
`vector of
`input samples is multiplied
`subband
`sample for each
`transform matrix
`with
`The input sample vector
`
`is
`
`Mi Element
`
`column vector of
`elements
`is the top element element Hi is
`the bottom element Every calculation requires 32
`input samples
`to 31 while the 32 bottom
`to be shifted in at positions
`elements are shifted out The vector
`thus operates as
`shifting
`block on the inputs samples with the eldest sample at position
`Hi and the newest at position
`32 by matrix with elements
`The transform matrix
`Hi These elements are constants
`is
`O..31
`samples are collected in vector B11
`The subband
`th lower
`index elements representing
`with the lower
`index elements
`and the higher
`representing
`components
`components
`frequency
`
`rc
`31
`frequency
`the higher
`
`S.A
`
`H-i
`
`cO
`
`Sk
`
`in matrix notation or
`
`for
`
`31
`
`Bk
`
`JOIN TRANS FORN
`
`is
`
`transform
`
`from the subband signals
`can be regenerated
`The broadband
`signal
`samples is performed
`of 32 broadband
`by
`calculation
`vector of subband samples with
`multiplication of
`matrix
`column vector of
`elements
`sample vector
`The subband
`Hi Element
`is the top element element Mi
`is
`te bottom element Every calculation requires 32 subband samples
`to 31 while the 32 bottom
`to be shifted in at positions
`elements are shifted out The vector
`of sets
`combination
`thus is
`components at
`of 32 subband samples with the lowest
`frequency
`and the highest
`mod 32
`frequency
`element positions
`31
`mod 32
`components at element positions
`32 by matrix with elements
`The transform matrix
`is
`M13 These elements are constants
`.31
`samples are collected in vector E11
`The broadband
`is frm to 31
`the signal
`sequence of
`The correct output
`
`31
`
`S.D
`
`M-1
`
`c0
`
`in matrix notation or
`
`.D
`
`for
`
`31
`
`G.L
`
`19891011
`
`CCETTIRTPHILIPS
`
`page
`
`9
`
`
`
`UNIVERSAL
`
`SUBBAND
`
`CODING
`level
`
`ENCODING
`
`DECODING
`
`THE ENCODING PROCESS
`
`is fixed except
`for the allocation
`The level
`encoding process
`of bits to suiDbands Obviously the encoding for bilingual or mono
`mode differs in details from the stereo encoding
`
`the mono
`In this chapter we only give
`simple description of
`In this description and in the chapters on scaling and
`encoding
`quantizing we try to provide enough
`information to enable
`to evaluate the encoding for the other modes
`reader
`
`signal carries information on 384
`the level
`One frame of
`stthband samples 12 samples of each subband For every subband
`the sample with the highest amplitude is used to find the
`for that subband
`scalefactor
`Then the samples are scaled with
`the scalefactor
`so that
`they are normalized with respect
`to the
`highest amplitude
`
`to provide the
`the encoding algorithm will have
`One part of
`information table We do not consider
`this here as it
`allocation
`this table in various ways The simplest
`is possible to generate
`algorithm uses an allocation information table in which the
`fixed allocation However
`entries are fixed
`this information
`may also change with every frame adaptive allocation
`
`reduces the number
`the samples are quantized The quantizer
`Next
`of bits of
`in the allocation
`the samples to the number
`information table Its output
`special notation
`is in
`
`Finally the sync and system information is added
`information is formatted into the right sequence
`signal
`
`and all
`for
`Level
`
`allocation
`info
`
`subband saiqples
`24 bit
`
`scale
`samples
`
`quan
`tizer
`
`_____________
`find
`scalefactor
`
`L.
`
`sync
`
`sys info
`
`Fig
`
`the encoding process
`
`for
`mat
`ter
`
`output
`
`G.L
`
`198910-11
`
`CCETTIRTPHILIPS
`
`page
`
`10
`
`
`
`UNIVERSAL
`
`SUBBAND
`
`CODING
`level
`
`THE DECODING PROCESS
`
`in the same way The
`is always performed
`The decoding process
`and the
`information is carried in the scalefactors
`essential
`subband samples All other information is just included in order
`to be able to decode correctly
`
`frame After the
`The decoding process will be repeated with every
`information
`and System info the allocation
`the Sync
`reception of
`is used to fill the scalefactor array correctly
`array is an array with two columns of 32 rows
`The scalefactor
`bits wide Each column corresponds with one of
`the output
`the 32 subbands The received
`row with one of
`each
`channels
`are stored in this array The location of
`scalefactors
`transferred will become 111111
`that has not been
`scalefactor
`for that subband will all be
`the outputsamples
`that
`indicating
`101
`
`for the two
`In stereo and bilingual mode the scalefactors
`the array In mono mode
`channels are stored in the two columns of
`the array
`is stored in both columns of
`the same scalefactor
`
`fixed table This
`are used as an index into
`The scalefactors
`factors with which the subband
`the multiplication
`table contains
`to the join
`samples have to be multiplied before they are sent
`the ones in the
`factors are the reciprocals of
`transform These
`encoder
`
`input
`
`de
`for
`mat
`ter
`
`sync
`
`sys info
`
`alloc.info
`RAN
`
`scale fac
`array
`
`quantized
`samples
`
`de-
`quantizer
`
`DECODER
`CONTROL
`
`to .P
`
`out
`
`multiplication
`factor
`table
`
`multiplier
`
`Fig
`
`the decoding process
`
`out
`
`G.L
`
`1989-1011
`
`CCETTIRTPHILIPS
`
`page
`
`11
`
`
`
`UNIVERSAL
`
`SUBBAND
`
`CODING
`level
`
`LEVEL
`
`SIGNAL FORMAT
`
`SLOTS and FRAMES
`
`The format supplied to the decoder will be constructed using
`slots each slot will carry 32 data bits
`
`III1tIIIII.IIIIIBIIIIFIIIIIIIIIiJIIIIIItIf
`
`11111111
`
`IIIIIIl1II11
`
`slot
`32 bits
`
`Fig
`
`slot definition
`
`The bits in
`first
`
`slot are numbered
`
`to 31 Bit
`
`is transferred
`
`1111111111222222222233
`01234567890123456789012345678901
`
`Fig
`
`numbering of bits in
`
`slot
`
`time
`
`information is transferred in frames The
`subband
`The encoded
`frame varies with the sample frequency Fs
`number of slots in
`and bitrate Each frame contains information on 384 samples of
`the original
`input signal Thus
`the frame rate is Fs/384
`frame size msec
`
`Fs kHz
`
`48
`44.1
`32
`
`8.7
`12
`
`frame may carry audio information from one or two channels
`to mono or stereo/bilingual
`modes
`corresponding
`
`The number of slots in
`formula
`
`of slots/frame
`
`frame can be found with the following
`
`bitrate
`
`Fs
`
`12
`
`If this does not give an integer number
`the result is truncated
`and padding is required This means that
`the number of slots
`and
`may vary between
`
`G.L
`
`1989-1011
`
`CCETTIRTPHILIPS
`
`page
`
`12
`
`
`
`UNIVERSAL SUBBAND
`
`CODING
`level
`
`the number of
`For four bitrates and three sampling frequencies
`be found in the following table
`slots in
`frame can
`
`itrate
`kbits/s
`
`sample freq
`kHz
`
`slots in
`
`frame
`
`96
`
`128
`
`192
`
`256
`
`384
`
`32
`44.1
`48
`
`32
`44.1
`48
`
`32
`44.1
`48
`
`32
`44.1
`48
`
`32
`44
`48
`
`36
`26
`24
`
`48
`34
`32
`
`72
`52
`48
`
`96
`69
`64
`
`144
`104
`96
`
`padding
`
`padding
`
`padding
`
`padding
`
`padding
`
`Table
`
`examples of bitrates and number of slots
`
`consists of adding
`The padding for the 44.1 kHz sample frequency
`frame This slot contains no
`an extra dummy slot to
`frame rate to
`is added
`to adjust
`the average
`information but
`rate of Fs/384 For the different bit rates the following rules
`apply
`
`bitrate
`kbits/s
`
`frames in
`total
`padding sequence
`
`frames with
`dummy slot
`
`96
`
`128
`
`192
`
`256
`
`384
`
`49
`
`147
`
`49
`
`147
`
`49
`
`122
`
`12
`
`97
`
`24
`
`Table
`
`examples of padding sequence variables
`
`G.L
`
`19891011
`
`CCETTIRTPHILIPS
`
`page
`
`13
`
`
`
`UNIVERSAL
`
`SUBBAND
`
`CODING
`level
`
`the decoder will be able to process signals with the
`However
`following bitrates most of which are an integer multiple of 32
`kbits/sec
`
`bitrate index sample frequenc
`48 kHz
`kbits/
`sec
`slots
`
`44.1 kHz
`slots
`
`32 kHz
`slots
`
`seetext
`
`32
`64
`96
`128
`160
`192
`224
`256
`288
`320
`352
`384
`416
`448
`
`16
`24
`32
`40
`48
`56
`64
`72
`80
`88
`96
`104
`112
`
`10
`11
`12
`13
`14
`
`17
`26
`34
`43
`52
`60
`69
`78
`87
`95
`104
`113
`121
`
`12
`24
`36
`48
`60
`72
`84
`96
`108
`120
`132
`144
`156
`168
`
`padding
`
`Table
`
`bitrates index and number of slots in
`
`frame
`
`The index indicates the bitrate Together with the sample
`indication
`it is used as an address
`table to find
`in
`frequency
`the number of slots in the frame
`indicated
`the exact bitrate is not
`If the bitrate index is
`So other bitrates can be used This is called free format
`
`frame are numbered
`The slots in
`and bitrate
`frequency
`
`to
`
`varies with sample
`
`SLOT
`SLOTS
`SLOTS Q1
`
`SYNC and SYSTEM INFO
`ALLOCATION
`INFORMATION
`SCALE FACTORS and SAMPLES
`2-Q
`
`Q1
`
`SYNC
`ALLOCATION
`SYS INFO INFORMATION
`
`SCALE
`FACTORS
`
`SAMPLES
`
`DUMMY
`SLOT
`
`fixed length
`
`variable length
`
`Fig
`
`USCS
`
`frame format
`
`is
`
`function of
`
`the operation mode
`
`G.L
`
`1989-10-11
`
`CCETTIRTPHILIPS
`
`page
`
`10
`
`-I-
`
`14
`
`
`
`SYNC and SYSTEM INFO
`
`UNIVERSAL SUBBAND
`
`CODING
`level
`
`and system information
`Slot will carry the synchronization
`signal
`the bits in the slot
`of
`the allocation
`figure shows
`The next
`1111111
`IllIlIllilIlIll
`bitrate Fs
`SIGNAL
`Program
`information
`111111
`index
`1111111
`III
`...311
`...15116...19120...23124..
`
`SYNCHRONIZATION
`16 bits
`II III
`
`0..
`
`Fig
`
`Bits
`
`information carried in slot
`
`to 15
`
`synchronization
`
`signal
`
`Bits 16 to 23 contain frame format
`
`information
`
`Bits 16 to 19
`
`bitrate index
`
`this index indicates the bitrate It is
`in Table
`As shown
`represented in binary notation NSB first
`index indicates the free format condition
`in which
`The all
`indicated and the decoder must rely only on
`the bitrate is not
`new frame
`to find the start of
`the synchronization
`signal
`
`Bits 20 and
`
`21
`
`Sample Frequency
`
`00
`01
`10
`
`44.1kHz
`kHz
`48
`kHz
`32
`reserved
`
`Bit 22
`
`padding bit
`
`This bit
`is
`it will be
`
`if the frame contains
`
`dummy slot Otherwise
`
`Bit 23
`
`Additional
`
`info
`
`info
`no additional
`info
`additional
`format tb.f
`
`G.L
`
`19891011
`
`CCETTIRTPHILIPS
`
`page 11
`
`15
`
`
`
`Bits 24 to 31 contain information related to the program
`
`UNIVERSAL
`
`SUBBAND
`
`CODING
`level
`
`MODE
`
`Switch
`
`24
`
`25
`
`26
`
`27
`
`28
`
`0/al Emh
`29
`30
`31
`
`Fig
`
`information carried in slot
`
`Bits 24 and 25
`
`Mode
`
`indication
`
`stereo
`stereo irrelevance
`bilingual
`mono
`
`11
`
`These modes will be explained in the following chapters
`
`Bits 26 and 27
`
`stereo irrelevance coding
`
`in which an additional
`These bits are used to indicate the modes
`bitrate reduction
`can be obtained by using stereophonic
`irrelevance
`If the bits 24 and 25 are not equal
`
`these bits will be
`
`to
`
`Bit 28
`
`copyright
`
`Bit 29
`
`Original/Home
`
`Copy
`
`Bits 30 and 31
`
`Emphasis
`
`no copyright
`copyright protected
`
`Copy
`original
`
`no emphasis
`50/15
`jsec emphasis
`reserved
`CCITT J.17
`
`G.L
`
`198910il
`
`CCETTIRTPHILIPS
`
`page
`
`12
`
`16
`
`
`
`UNIVERSAL
`
`SUBBAND
`
`CODING
`level
`
`ALLOCATION
`
`INFORMATION
`
`to 31 Subband
`will be
`The system uses 32 subbands numbered
`the original
`components of
`the subband with the lowest
`frequency
`broadband signal subband 31 with the highest
`frequency
`components
`The number of bits allocated to the samples of each
`bit binary number MSB first
`as
`encoded
`
`subband will be
`
`The number of slots for allocation information depends on the
`operation mode
`
`slots
`
`mode
`
`stereo
`
`bilingual
`
`mono
`
`Table
`
`number of allocation slots
`
`G.L
`
`19891011
`
`CCETTIRTPHILIPS
`
`page
`
`13
`
`17
`
`
`
`UNIVERSAL
`
`SUBBAND
`
`CODING
`level
`
`SCALE FACTORS and SANPLES
`
`For the transfer of scalefactors and subband
`samples the bits in
`pool of bits As the number of
`the slots are considered
`to be
`sample may vary it is possible that
`bits in
`sample will be
`carried in the last bits of one slot and the first of
`the next
`slot
`
`bits MSB first All
`Scale factors will be represented with
`scale factors are transferred before the transfer of
`the samples
`starts
`
`The maximum number of scalefactors is 64 However if the
`subband is 0000 indicating no
`allocation
`information of
`of any bits to the subband there is no need
`allocation
`for the
`transfer of
`the number of
`the scalef actor and samples Then
`scalefactors will be less
`
`The order in which the scalefactors are transferred is the same
`as the allocation
`that scalefactors
`information sequence
`except
`information equal
`for subbands with allocation
`to 0000 are not
`transferred
`
`The samples will be transferred in the same order as the
`time
`allocation
`subband at
`information one sample of each
`This sequence will be repeated
`12 times in order to transfer all
`subband
`12 samples of
`
`the frame is used the
`the sample capacity of
`If not all of
`in the case of additional
`remaining bits will be
`except
`is indicated by the Al bit in the system info
`information
`which
`of slot
`
`G.L
`
`1989-10-il
`
`CCETTIRTPHILIPS
`
`page 14
`
`18
`
`
`
`UNIVERSAL
`
`SUBBAND
`
`CODING
`level
`
`SCALING
`
`to scale the 12 samples of one
`In order to find the scalefactor
`subband the following algorithm is used
`
`At first one needs to find the sample with the maximum amplitude
`This is done by comparing the absolute values of
`the 12 samples
`Lets call
`this maximum value
`
`table of values at
`This maximum value is compared with
`table
`that
`dB intervals The smallest value of
`approximately
`is used to normalize the samples
`than ISmaxi
`that
`is larger
`
`SI
`
`max 2dB
`
`for the remainder of
`
`this text SF
`
`indicates that
`
`this value is different
`
`max 12dB
`for all subbands
`
`QUANTI
`
`ING
`
`value between
`to have
`The scaled subband samples are considered
`The samples will be quantized linearly to the number
`and
`information table
`of bits as specified in the allocation
`
`DE-SCALING
`
`to be
`the dequantized samples will have
`In the decoder
`the scalefactor
`multiplied using the reciproke value of
`reconstruct
`the original signal
`
`to
`
`SF
`
`GL
`
`198910li
`
`CCETTIRTPHILIPS
`
`page
`
`15
`
`19
`
`
`
`UNIVERSAL
`
`SUBBAND
`levels II
`
`CODING
`III
`
`LEVEL
`
`II
`
`ADDITIONAL
`
`BITRATE
`
`REDUCTION
`
`are available to reduce the bitrate of LeveJ
`Several
`techniques
`further Each of
`these can be used independently or
`signals even
`in combination with others
`
`these techniques
`Some of
`are based on
`further
`reduction of subband sample flow e.g using Huffman
`coding to the price of an additional delay and error
`sensitivity
`reduction of allocation information and scalefactors by using
`the sound
`the stationarity of
`
`LEVEL
`
`III
`
`ERROR DETECTION AND CORRECTION
`
`The binary information generated by the algorithms described in
`levels
`and
`II can be protected by appropriate error detection
`and correction schemes according
`to the error distribution of
`channel or recording medium
`
`the
`
`information is
`limited amount of additional
`Nevertheless
`only
`level
`to efficiently protect
`coded signals In
`necessary
`effect
`subband coding is characterized
`low
`by an inherent
`sensitivity to transmission errors because
`the spectrum of
`the
`noise enery is confined to
`single subband and is limited by the
`scalefactor
`if this one and the allocation
`information are
`satisfactorily protected
`
`G.L
`
`19891011
`
`CCETTIRTPHILIPS
`
`page 16
`
`20
`
`