NO338918B1 - Audio-koding - Google Patents

Audio-koding Download PDF

Info

Publication number
NO338918B1
NO338918B1 NO20064093A NO20064093A NO338918B1 NO 338918 B1 NO338918 B1 NO 338918B1 NO 20064093 A NO20064093 A NO 20064093A NO 20064093 A NO20064093 A NO 20064093A NO 338918 B1 NO338918 B1 NO 338918B1
Authority
NO
Norway
Prior art keywords
audio
parameterization
noise power
power limit
version
Prior art date
Application number
NO20064093A
Other languages
English (en)
Other versions
NO20064093L (no
Inventor
Gerald Schuller
Stefan Wabnik
Marc Gayer
Original Assignee
Fraunhofer Ges Forschung
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fraunhofer Ges Forschung filed Critical Fraunhofer Ges Forschung
Publication of NO20064093L publication Critical patent/NO20064093L/no
Publication of NO338918B1 publication Critical patent/NO338918B1/no

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/26Pre-filtering or post-filtering
    • G10L19/265Pre-filtering, e.g. high frequency emphasis prior to encoding
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Cereal-Derived Products (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)

Description

Oppfinnelsen angår audiokoding generelt og især audiokoding som tillater koding av audiosignaler innenfor en kort forsinkelsestid.
Den mest kjente audiokomprimeringsmetode for tiden er MPEG-1 Layer III. Med denne komprimeringsmetode blir sample- eller audioverdier av et audiosignal kodet til et kodet signal på en "tapsbringende" måte. På en annen måte, blir en unødvendig og overskytende del av det opprinnelige audiosignal redusert eller ideelt fjernet under komprimeringen. For å oppnå dette blir samtidig og midlertidig maskeringer gjenkjent av en kvasiakustisk modell, dvs. en midlertidig varierende maskeringsterskelverdi, avhengig av om audiosignalet blir beregnet eller bestemt ut fra hvilket volum ved en viss frekvens som kan oppfattes av øret. Denne informasjon blir i sin tur brukt for koding av signalet ved å kvantifisere spektralverdiene av audiosignalet på en mer eller mindre nøyaktig måte eller ikke i det hele tatt, avhengig av maskeringsterskelen og integrere dette til det kodede signal.
Audiokomprimeringsmetoder, feks. MP3-formatet, har en begrensning ved at audiodata må overføres via en bitrate begrensende overføringskanal på en, på den ene side, komprimert måte, men på den annen side med en liten forsinkelsestid som mulig. I enkelte applikasjoner spiller ikke forsinkelsestiden noen rolle, feks. ved arkivering av audioinformasjon. Audiokodere med liten forsinkelse som også kalles "ultralav forsinkelseskodere", er imidlertid nødvendig når tidskritiske audiosignaler skal overføres, feks. ved telekonferanse, i trådløse høyttalere eller mikrofoner. For disse anvendelsesområder foreslår artikkelen av Schuller G. m.fl. "Perceptual Audio Coding using Adaptive Pre- and Post-Filters and Lossless Compression", IEEE Transactions on Speech and Audio Processing, vol. 10, no. 6, September 2002, sidene 379-390, en audiokoding hvor unødvendig reduksjon og sikkerhetsreduksjon ikke utføres, basert på en enkelt omforming, men av to separate omforminger.
Prinsippet vil bli beskrevet nedenfor under henvisning til fig. 12 og 13. Kodingen begynner med et audiosignal 902 som allerede har blitt samplet og som således allerede finnes som en sekvens 904 av audio- eller sampleverdier 906, idet den midlertidige rekkefølge av audioverdiene 906 er vist av en pil 908. En lytteterskel blir beregnet ved hjelp av en psykoakustisk modell for etterfølgende blokker av audioverdier 906 som karakteriseres av en stigende nummerering av "block#". Fig. 13 viser f.eks. et skjema hvor grafen a i forhold til frekvensen f plotter spektrumet for en signalblokk på 128 audioverdier 906 og b plotter maskeringsterskelen som har blitt beregnet av en psykoakustisk modell i logaritmiske enheter. Maskeringsterskelen indikerer, som allerede nevnt, opp til intensitetsfrekvensene som ikke er hørbar for øret, nemlig alle toner under maskeringsterskelen b. Basert på lytteterskelverdier beregnet for hver blokk, blir det oppnådd en irrelevanser reduksjon ved regulering av et parameteriserbart filter etterfulgt av en kvantifiserer. For et parameteriserbart filter beregnes en parameterisering slik at frekvensresponsen tilsvarer inversen av maskeringsterskelens størrelse. Denne parameterisering er vist på fig. 12 av x#(i).
Etter filtrering av audioverdiene 906, finner kvantisering med en konstant trinnstørrelse sted, feks. en avrundingsoperasjon til neste integer. Kvantiseringsstøy forårsaket av dette er hvit støy. På dekodersiden blir det filtrerte signal "omtransformert" igjen av et parameteriserbart filter og overføringsfunksjonen av dette blir satt til størrelsen av selve maskeringsterskelverdien. Ikke bare blir det filtrerte signal dekodet igjen ved dette, men kvantiseringsstøy på dekodersiden blir også justert for å forme maskeringsterskelen. For at kvantiseringsstøyen skal tilsvare maskeringsterskelverdien så nøyaktig som mulig, blir en forsterkningsverdi a#tilført det filtrerte signal før kvantiseringen blir beregnet på kodersiden for hver parameter som blir satt eller for hver parameterisering. For at omformingen kan utføres på dekodersiden, blir forsterkningsverdien a og parameteriseringen x overført til koderen som sideinformasjon 910 ved siden av de faktiske hoveddata, nemlig de kvantiserte, filtrerte audioverdier 912. For sikkerhetsreduksjon 914, blir disse dataene, dvs. sideinformasjonen 910 og hoveddataene 912 utsatt for en tapsfri komprimering, nemlig entropikoding som er hvordan det kodede signal blir oppnådd.
Ovennevnte artikkel antyder en størrelse på 128 sampleverdier 906 som en blokkstørrelse. Dette gjør det mulig å oppnå en relativt kort forsinkelse på 8 ms med en samplingsrate på 32 kHz. Med referanse til den detaljerte implementering, oppgir artikkelen også at, for økt effektivitet av sideinformasjonskodingen, at sideinformasjonen, nemlig koeffisientene x#og a#, bare vil bli overført hvis det er tilstrekkelig med endringer sammenlignet med et parametersett overført tidligere, dvs. hvis endringene overskrider en bestemt terskelverdi. I tillegg er det beskrevet at implementeringen fortrinnsvis utføres slik at et gjeldende parametersett ikke direkte tilføres alle sampleverdiene som tilhører den respektive blokk men at lineær interpolering av filterkoeffisientene x#brukes for å unngå hørbare forekomster. For å utføre den lineære interpoleringen av filterkoeffisientene blir en gitterstruktur foreslått for filteret for å hindre at det oppstår ustabilitet. Hvis det er ønskelig med et kodet signal med en kontrollert bitrate, foreslår artikkelen også selektert multiplisering eller undertrykning av det filtrerte signal skalert med den tidsavhengige forsterkningsfaktor a ved en faktor som er ulik 1, slik at det oppstår hørbare forstyrrelser, men at bitraten kan reduseres på stedet av audiosignalet som er komplisert å kode.
Selv om audiokodingsarrangementet beskrevet i artikkelen nevnt ovenfor allerede reduserer forsinkelsestiden for mange applikasjoner i en tilstrekkelig grad, er det et problem ved det ovennevnte arrangement at overføringskanalen på grunn av kravet til å kunne overføre maskeringsterskel eller overføringsfunksjonen for kodersidefilteret, heretter kalt forfilteret, blir belastet i relativt høy grad selv om filterkoeffisientene bare blir overført når en bestemt terskelverdi overskrides.
En annen ulempe med ovennevnte kodingsarrangement er at et kompromiss må foretas mellom den lavest mulige bitrate eller høyeste kompresjonsforhold på den ene side og den mest nøyaktige approksimasjon som er mulig eller parameterisering av maskeringsterskelverdien eller inversen av denne på en annen side på grunn av at maskeringsterskelen eller inversen av denne må gjøres tilgjengelig på dekodersiden av parametersettet x#for overføring. Således er det uunngåelig at kvantiseringsstøyen justert til maskeringsterskelen av ovennevnte audiokodingsarrangement overskrider maskeringsterskelen i enkelte frekvensområder og således fører til hørbare audioforstyrrelser for lytteren. Fig. 13 viser f.eks. den parameteriserte frekvensrespons på dekodersidens parameteriserbare filter av grafen c. Som det fremgår fins det områder hvor overføringsfunksjonen av dekodersidefilteret, heretter kalt postfilteret, overskrider maskeringsterskelen b. Problemet forsterkes ved at parameteriseringen bare blir overført avbrutt med en tilstrekkelig endring mellom parameteriseringene og blir interpolert derimellom. En interpolering av filterkoeffisientene x#som antydet i artikkelen, fører alene til hørbare forstyrrelser når forsterkningsverdien a#holdes konstant fra node til node eller fra en ny parameterisering til neste. Selv om interpoleringen foreslått i artikkelen også blir brukt på sideinformasjonsverdien a#, dvs. den overførte forsterkningsverdi, kan hørbare audioforekomster blir igjen i audiosignalet som ankommer dekodersiden.
Et annet problem med audiokodingsarrangementet ifølge fig. 2 og 13, er at det filtrerte signal, på grunn av frekvensselektiv filtrering, får en ikke-prediktiv form, hvor en eller flere individuelle audioverdier av det kodede signal blir tillagt svært høye verdier især på grunn av en vilkårlig superposisjonering av mange individuelle, harmoniske bølger, som i sin tur fører til dårligere komprimeringsforhold i den etterfølgende redundansreduksjon på grunn av deres sjeldne forekomster.
Det er et formål med oppfinnelsen å tilveiebringe et audiokodingsarrangement som muliggjør koding med færre hørbare forekomster.
Formålet oppnås av en fremgangsmåte ifølge krav 13 eller 15 og en anordning ifølge krav 1 eller 14.
Den nye koding av et audiosignal fra en sekvens av audioverdier til et kodet signal omfatter å bestemme en første terskelverdi for en første blokk av audioverdier av sekvensen av audioverdier og en andre lytteterskelverdi for en andre blokk av audioverdier av sekvensen av audioverdier, beregne en versjon av en første parameterisering av et parameteriserbart filter, slik at overføringsfunksjonen derav grovt tilsvarer den omvendte størrelse av den første lytteterskelverdi og en versjon av en andre parameterisering av det parameteriserbare filter, slik at overføringsfunksjonen derav grovt tilsvarer den inverse størrelse av den andre lytteterskel, bestemme en første støyeffektgrense avhengig av den første maskeringsterskel og en andre støyeffektgrense avhengig av den andre maskeringsterskel, parameteriserbar filtrering og skalering eller forsterkning av en bestemt blokk av audioverdier av sekvensen av audioverdier for å oppnå en blokk av skalerte, filtrerte audioverdier tilsvarende den bestemte blokk, idet det sistnevnte trinn omfatter følgende deltrinn: interpolere mellom versjonen av den første parameterisering og versjonen av den andre parameterisering for å oppnå en versjon av den interpolerte parameterisering for en bestemt audioverdi i den bestemte blokk av audioverdier, interpolere mellom den første støyeffektgrense og den andre støyeffektgrense for å oppnå en interpolert støyeffektgrense for den bestemte audioverdi, bestemme en mellomliggende skaleringsverdi avhengig av den interpolerte støyeffektgrense og bruke det parameteriserbare filter med versjonen av den interpolerte parameterisering og den mellomskalerte verdi for den bestemte audioverdi for å oppnå en av de skalerte, filtrerte audioverdier. Endelig finner kvantisering av de skalerte, filtrerte audioverdier sted for å oppnå en blokk av kvantiserte, skalerte, filtrerte audioverdier, og integrert informasjonen til det kodede signal hvorfra blokken av kvantiserte, skalerte, filtrerte audioverdier, versjonen av den første parameterisering, versjonen av den andre parameterisering, den første støyeffektgrense og den andre støyeffektgrense kan avledes.
Den sentrale ide ved oppfinnelsen er at den tidligere fremgangsmåte nemlig interpolering i forhold til filterkoeffisienter og forsterkningsverdi for å oppnå interpolerte verdier for mellomaudioverdier begynnende fra nodene, må forkastes. Koding som inneholder færre hørbare forekomster kan oppnås ved ikke å interpolere forsterkningsverdien men snarere ta effektgrensen avledet fra maskeringsterskelen, fortrinnsvis som området under kvadratet av størrelsen av maskeringsterskelen for hver node, dvs. for hver parameterisering som skal overføres og deretter utføre interpolering mellom disse effektgrenser av nærliggende noder, f.eks. en lineær interpolering. Både på koder- og dekodersiden kan en forsterkningsverdi deretter beregnes fra mellomeffektgrensen bestemt slik at kvantiseringsstøy forårsaket ved kvantisering som har en konstant frekvens før postfiltrering på dekodersiden, er under effektgrensen eller tilsvarer dertil etter postfiltreringen.
Oppfinnelsen skal beskrives nærmere i det følgende, der:
Fig. 1 viser et blokkskjema over en audiokoder ifølge en utførelse av oppfinnelsen,
fig. 2 viser et flytskjema over funksjonsmodus av audiokoderen på fig. 1 ved datainngang,
fig. 3 viser et flytskjema over funksjonsmodus av audiokoderen på fig. 1 om evalueringen av det innkommende audiosignal ved en psykoakustisk modell,
fig. 4 viser et flytskjema over funksjonsmodus av audiokoderen på fig. 1 for tilføring av parametere oppnådd ved den psykoakustiske modell til det innkommende audiosignal,
fig. 5a viser et skjema over det innkommende audiosignal, sekvensen av audioverdier som det består av og driftstrinnene på fig. 4 i forhold til audioverdiene,
fig. 5b viser et skjema over oppsettet for det kodede signal,
fig. 6 viser et flytskjema over funksjonsmodus av audiokoderen på fig. 1 om den endelige behandling opp til det kodede signal,
fig. 7a viser et skjema hvor en utførelse av en kvantisermgstrirmfunksjon er vist,
fig. 7b viser et skjema hvor en annen utførelse av en kvantisermgstrinnfunksjon er vist,
fig. 8 viser et blokkskjema over en audiokoder som kan dekode et audiosignal kodet av audiokoderen på fig. 1 ifølge en utførelse av oppfinnelsen,
fig. 9 viser et flytskjema over funksjonsmodus av dekoderen på fig. 8 ved datainngang,
fig. 10 viser et flytskjema over funksjonsmodus av dekoderen på fig. 8 ved bufring av de predekodede, kvantiserte og filtrerte audiodata og behandlingen av audioblokker uten tilsvarende sideinformasjon,
fig. 11 viser et flytskjema over funksjonsmodus av dekoderen på fig. 8 ved faktisk reversfiltrering,
fig. 12 viser et skjema over et konvensjonelt audiokodingsarrangement med en kort forsinkelsestid, og
fig. 13 viser et skjema over et spektrum av et audiosignal, en lytteterskelverdi derav og en overføringsfunksjon av postfilteret i dekoderen.
Fig. 1 viser en audiokoder ifølge en utførelse av oppfinnelsen. Audiokoderen som generelt er vist ved 10, omfatter en datainngang 12 hvor den mottar audiosignal for koding som forklart i detalj senere under henvisning til fig. 5a og som består av en sekvens av audioverdier eller sampleverdier og en datautgang hvor det kodede signal blir sendt ut, idet informasjonsinnholdet av dette vil bli omtalt i detalj under henvisning til fig. 5b.
Audiokoderen 10 på fig. 1 er delt i en irrelevansreduksjonsdel 16 og en redundans reduksjonsdel 18. Den irrelevanse reduksjonsdel 16 omfatter anordning 20 for å bestemme en lytteterskelverdi, anordning 22 for å beregne en forsterkningsverdi, anordning 24 for å beregne en parameterisering, nodesamlingsanordning 26, en kvantifiserer 28 og et parameteriserbart forfilter 30 og en inngang FIFO ("first in first out")-buffer 32, en buffer eller minne 38 og en multiplikator eller multipliseringsanordning 40. Redundansreduksjonsdelen 18 omfatter en komprimator 34 og en bitratestyreenhet 36.
Irrelevansreduksjonsdelen 16 og redundansreduksjonsdelen 18 er koplet i serie i denne rekkefølge mellom datainngangen 12 og datautgangen 14. Især er datainngangen 12 koplet til en datainngang for anordningen 20 for å bestemme en lytteterskelverdi og til en datainngang av inngangsbufferen 32. En datautgang av anordningen 20 for å bestemme en lytteterskelverdi er koplet til en inngang av anordningen 24 for å beregne en parameterisering og til en datainngang av anordningen 22 for å beregne en forsterkningsverdi for å føre videre en lytteterskelverdi bestemt for disse. Anordningen 22 og 24 beregner en parameterisering eller forsterlcningsverdi basert på lytteterskelen og er koplet til nodesammenligningsanordningen 26 for å føre videre disse resultatene til samme. Avhengig av resultatet av sammenligningen, fører nodesammenligningsanordningen 26, som nevnt nedenfor, videre resultatene beregnet av anordningen 22 og 24 som inngangsparameter eller parameterisering til det parameteriserbare forfilter 30. Det parameteriserbare forfilter 30 er koplet mellom en datautgang av inngangsbufferen 32 og en datainngang av bufferen 38. Multiplikatoren 40 er koplet mellom en datautgang av bufferen 38 og kvantifisereren 28. Kvantifisereren 28 fører videre filtrerte audioverdier som kan multipliseres eller skaleres, men alltid kvantisert, til redundansreduksjonsdelen 18, mer nøyaktig til en datainngang av komprimatoren 34. Nodesamlingsanordningen 26 fører videre informasjon hvorfra inngangsparametrene blir ført til det parameteriserbare forfilter 30 kan avledes til redudansreduksjonsdelen 18, mer presist til en annen datainngang av komprimatoren 34. Bitratestyreenheten er koplet til en kontrollinngang av multiplikatoren 40 via en kontrollforbindelse for å tilveiebringe kvantiserte, filtrerte audioverdier som mottatt fra forfilteret 30 for multiplisering av multiplikatoren 40 av en passende multiplikand som beskrevet i detalj nedenfor. Bitratestyreenheten 36 er koplet mellom en datautgang av komprimatoren 34 og datautgang 14 av audiokoderen 10 for å bestemme multiplikanden for multiplikatoren 40 på passende måte. Når hver audioverdi passerer kvantifisereren 40 for første gang, blir multiplikanden først satt til en passende skaleringsfaktor, f.eks. 1. Bufferen 38 vil imidlertid fortsatt lagre hver filtrerte audioverdi for å gi bitratestyreenheten 36, som beskrevet nedenfor, en mulighet for å endre multiplikanden for en annen passering av en blokk av audioverdier. Hvis en slik endring ikke er vist av bitratestyreenheten 36, kan bufferen 38 frigjøre minnet som opptas av denne blokken.
Etter at oppsettet av audiokoderen på fig. 1 har blitt beskrevet ovenfor, vil modus for funksjonen av denne etter hvert bli som beskrevet under henvisning til fig. 2-7b.
Som det fremgår av fig. 2 har audiosignalet, etter å ha nådd audioinngangen 12, allerede blitt oppnådd ved hjelp av audiosignal samplingen 50 fra et analogt audiosignal. Audiosignalsamplingen utføres med en bestemt samplingsfrekvens som vanligvis er mellom 32 og 48 kHz. Følgelig er det ved datainngangen 12 et audiosignal som består av en sekvens av sample- eller audioverdier. Selv om kodingen av audiosignalet ikke finner sted på en blokkbasert måte vil det fremgå av beskrivelsen at audioverdier ved datainngangen 12 først blir kombinert for å danne audioblokker i trinn 52. Kombinasjonen for å forme audioblokker finner sted bare for å kunne bestemme lytteterskelen som det vil fremgå av beskrivelsen, og finner sted i et inngangstrinn av anordningen 20 for å bestemme en lytteterskelverdi. I oppfinnelsen er det feks. antatt at 128 etterfølgende audioverdier hver blir kombinert for å danne audioblokker og at kombinasjonen finner sted slik at etterfølgende audioblokker på den ene side ikke overlapper og på en annen side blir direkte ved siden av hverandre. Dette vil f.eks. bli beskrevet kort under henvisning til fig. 5a.
Fig. 5a ved 54 indikerer sekvensen av sampleverdier som hver er vist av et rektangel 56. Sample verdiene er nummerert for illustrasjonsformål idet i sin tur bare noen sampleverdier av sekvensen 54 er vist. Som er vist med klamme over sekvensen 54, blir 128 etterfølgende sampleverdier hver kombinert for å danne en blokk ifølge oppfinnelsen hvor de direkte etterfølgende 128 sampleverdier danner den neste blokk. Bare som en forsiktighetsregel skal det fremheves at kombinasjonen for å danne blokker også kan utføres på annen måte, eksempelvis ved å overlappe blokker eller avstandsliggende blokker og blokker av en annen blokkstørrelse, selv om blokkstørrelsen på 128 i sin tur er foretrukket siden den gir et godt kompromiss mellom høy audiokvalitet på den ene side og minst mulig forsinkelsestid på en annen side.
Mens audioblokkene kombinert i anordningen 20 i trinn 52 blir behandlet i anordningen 20 for å bestemme en lytteterskel, blokk etter blokk, vil de innkommende audioverdier bufres 54 i inngangsbufferen 32 inntil det parameteriserbare forfilteret 30 har oppnådd inngangsparametere fra nodesamlmgsanordningen 26 for å utføre forfiltrering som beskrevet nedenfor.
Som det fremgår av fig. 3 begynner anordningen 20 for å bestemme en lytteterskelverdi sin behandling direkte etter at tilstrekkelig audioverdier har blitt mottatt ved datainngangen 12 for å danne en audioblokk eller for å forme den neste audioblokk, som anordningen 20 overvåker ved inspeksjon i trinn 60. Hvis det ikke finnes en fullført behandlingsbar audioblokk, vil anordningen 20 vente. Hvis en komplett audioblokk for behandling er til stede, vil anordningen 20 for å bestemme en lytteterskel beregne en lytteterskel i trinn 62 på basis av en passende psykoakustisk modell i trinn 62. For å illustrere lytteterskelen henvises det igjen til fig. 12 og især til grafen b som har blitt frembrakt på basis av en psykoakustisk modell, eksempelvis under hensynet til en gjeldende audioblokk med et spektrum a. Maskeringsterskelen som bestemmes i trinn 62 er en frekvensavhengig funksjon som kan variere fra etterfølgende audioblokker og kan også variere betydelig fra et audiosignal til det neste, f. eks. fra rockmusikk til klassisk musikk. Lytteterskelen indikerer for hver frekvens en terskelverdi under hvilken det menneskelige øret ikke kan oppfatte forstyrrelser.
I et etterfølgende trinn 64 beregner anordningen 24 og anordningen 22 fra lytteterskelen M(f) beregnet (f som indikerer frekvensen) en forsterkningsverdi a eller et parametersett av N-parametere x(i) (i = 1, ..., N). Parameteriseringen x(i) som anordningen 24 beregner i trinn 64 er tilveiebrakt for det parameteriserbare forfilter 30 som feks. er omfattet i en tilpasset filterstruktur som brukt ved LPC-koding (LPC = linear predictive coding). F.eks. er s(n), n = 0, ..., 127, og er 128 audioverdier av gjeldende audioblokk og s'(n) er de resulterende filtrerte 128 audioverdier når filteret f.eks. er omfattet slik at følgende ligning gjelder:
idet K er filterrekkefølgen og aj., k = 1, ..., K, er filterkoeffisientene og indeks t er for å vise at filterkoeffisientene endres i etterfølgende audioblokker. Anordningen 24 beregner deretter parameteriseringen aj., slik at overføringsfunksjonen H(f) av det parameteriserbare forfilter 30 grovt er lik inversen av maskeringsterskelens M(f) størrelse, dvs. at følgende gjelder: hvor avhengigheten av t i sin tur er for å vise at maskeringsterskelen M(f) endres for forskjellige audioblokker. Ved implementering av forfilteret 30 som tilpasset filter nevnt ovenfor, vil filterkoeffisientene aj. oppnås som følger: den inverse, diskrete Fourier-omforming av | M(f,t) |<2>over frekvensen for blokken på tidspunktet t fører til målautokorreleringsfunksjonen (i). Deretter blir aj. oppnådd ved å løse det lineære ligningssystem:
For at det ikke skal oppstå ustabilitet mellom parameteriseringene i den lineære interpolarisering beskrevet i detalj nedenfor, brukes fortrinnsvis en gitterstruktur for filteret 30 hvor filterkoeffisientene for gitterstrukturen blir omparameterisert for å danne refleksjonskoeffisienter. Når det gjelder andre detaljer om utformingen av forfilteret, beregningen av koeffisienter og omparameteriseringen, henvises det til artikkelen av Schuller osv. nevnt i innledningen av beskrivelsen og især til side 381, del III som det henvises til her.
Mens anordningen 24 følgelig beregner en parameterisering for det parameteriserbare forfilter 30, slik at overføringsfunksjonen derav er lik inversen av maskeringsterskelen, beregner anordningen 22 en støyeffektgrense basert på lytteterskelen, nemlig en grense som indikerer hvilken støyeffekt kvantifisereren 28 kan innføre i audiosignalet som er filtrert av forfilteret 30 for at kvantiseringsstøyen på dekodersiden blir under lytteterskelen M(f) eller nøyaktig lik denne etter post- eller reversfiltrering. Anordningen 22 beregner denne støyeffektgrense som området under kvadratet av størrelsen av lytteterskelen M, dvs. som Z II 2 Anordningen 22
M(f) I . Anordningen 22 beregner forsterkningsverdien a fra støyeffektgrensen ved å beregne roten av kvantiseringsstøyeffektens brøk dividert med støyeffektgrensen. Kvantiseringsstøyen er støy forårsaket av kvantifisereren 28. Støy forårsaket av kvantifisereren 28 blir, som beskrevet nedenfor hvit støy og således frekvensuavhengig. Kvantiseringsstøyeffekten er potensen av kvantiseringsstøyen.
Som det vil fremgå av ovennevnte beskrivelse beregner anordningen 22 også støyeffektgrensen utenom forsterkningsverdien a. Selv om det er mulig for nodesammenligningsanordningen 26 igjen å beregne støyeffektgrensen ut fra forsterkningsverdien a oppnådd fra anordningen 22, er det også mulig at anordningen 22 også overfører støyeffektgrensen bestemt for nodesammenligningsanordningen 26 utenom forsterkningsverdien a.
Etter å ha beregnet forsterkningsverdien og parameteriseringen, sjekker nodesammenligningsanordningen 26 i trinnet 66 om parameteriseringen som nettopp ble beregnet, skiller seg mer enn en bestemt terskel fra den gjeldende, siste parameterisering som blir ført videre til de parameteriserbare forfilter. Hvis sjekken i trinn 66 får det resultatet av parameteriseringen som nettopp ble beregnet skiller seg fra den gjeldende med mer enn den bestemte terskelverdi, blir filterkoeffisientene som nettopp ble beregnet og forsterkningsverdien som nettopp ble beregnet eller støyeffektgrensen bufret i nodesammenligningsanordningen 26 for en interpolering som beskrevet og nodesammemignmgsanordningen 26 leverer videre til forfilteret 30 filterkoeffisientene som nettopp ble beregnet i trinn 68 og forsterkningsverdien som nettopp ble beregnet i trinn 70. Hvis imidlertid dette ikke er tilfellet og parameteriseringen som nettopp ble beregnet ikke skiller seg fra den gjeldende med mer enn den bestemte terskelverdi, vil nodesamlmgsanordningen 26 sende videre til forfilteret 30 i trinn 72, i stedet for parameteriseringen som nettopp ble beregnet, eller bare den gjeldende nodeparameterisering, dvs. at parameteriseringen som sist førte til et positivt resultat i trinn 66, dvs. som skilte seg fra en tidligere nodeparameterisering med mindre enn en bestemt terskelverdi. Etter trinnene 70 og 72 returnerer prosessen på fig. 3 tilbake til behandling av neste audioblokk, dvs. til en forespørsel 60.
I det tilfellet hvor parameteriseringen som nettopp ble beregnet ikke skiller seg fra gjeldende nodeparameterisering og følgelig at forfilteret 30 i trinn 72 igjen oppnår nodeparameterisering som allerede ble oppnådd for minst den siste audioblokk, vil for filteret 30 bruke denne modeparameterisering for alle sampleverdiene av audioblokken i FIFO 32 som beskrevet i detalj nedenfor, hvilket er hvordan denne audioblokk blir tatt ut av FIFO 32 og kvantifisereren 28 mottar en resulterende audioblokk av forfiltrerte audioverdier.
Fig. 4 viser funksjonsmodus for det parameteriserbare forfilter 30 for det tilfellet at den mottar parameteriseringen som nettopp ble beregnet og forsterkningsverdien som nettopp ble beregnet siden de skiller seg vesentlig fra gjeldende nodeparameterisering i større detalj. Som beskrevet under henvisning til fig. 3 vil det ikke være noen behandling ifølge fig. 4 for hver av de etterfølgende audioblokker, men bare for audioblokker hvor den respektive parameterisering skiller seg vesentlig fra gjeldende nodeparameterisering. De andre audioblokkene blir som nettopp beskrevet, forfiltrert ved å bruke den respektive gjeldende nodeparameterisering og respektiv gjeldende forsterkningsverdi for alle sampleverdiene av disse audioblokkene.
I trinn 80 sjekker det parameteriserbare forfilter 30 om en overføring av filterkoeffisientene som nettopp ble beregnet fra nodesammenligningsanordningen 26 har funnet sted eller om eldre nodeparameteriseringer. Forfilteret 30 utfører sjekken 80 inntil en slik overføring har funnet sted.
Så snart en slik overføring har funnet sted, starter det parameteriserbare forfilter 30 behandlingen av gjeldende audioblokk av audioverdier som er i bufferen 32, dvs. at for hvilken parameteriseringen nettopp har blitt beregnet. På fig. 5a er det f.eks. vist at alle audioverdier 56 foran audioverdien med nummer 0 allerede har blitt behandlet og således allerede har passert minnet 32. Behandlingen av blokken av audioverdier foran audioverdien med nummer 0 ble utløst på grunn av at parameterisering beregnet for audioblokken foran blokken 0, nemlig x0(i), skilte seg fra nodeparameteriseringen som ble passert før forfilteret 30 med mer enn den bestemte terskel. Parameteriseringen xo(i) er således en nodeparameterisering som beskrevet ifølge oppfinnelsen. Behandlingen av audioverdiene i audioblokken foran audioverdien 0 ble utført på basis av parametersettet ao, xo(i).
Det forutsettes på fig. 5a at parameteriseringen som har blitt beregnet for blokk 0 med audioverdiene 0-127 skilte seg med mindre enn den bestemte terskelverdi fra parameteriseringen xo(i) som refererte til blokken foran. Denne blokk 0 ble således tatt ut av FIFO 32 av forfilteret 30 som likeledes ble behandlet under hensyn til alle dens sampleverdier 0-127 ved hjelp av parameteriseringen xo(i) levert i trinn 72 som vist av pilen 81 beskrevet ved "direkte anvendelse" og deretter ført videre til kvantifisereren 28.
Parameteriseringen beregnet for blokk 1 som fremdeles er i FIFO 32 skilte seg imidlertid ifølge eksempelet på fig. 5a, med mer enn den bestemte terskel fra parameteriseringen xo(i) og ble således ført videre i trinn 68 til forfilteret 30 som en parameterisering x^i) sammen med forsterkningsverdien ai (trinn 70) og eventuelt gjeldende støyeffektgrense hvor indeksene a og x på fig. 5 er en indeks for nodene som blir brukt ved interpoleringen nevnt nedenfor som utføres for sampleverdiene 128-255 i blokk 1 symbolisert ved pilen 82 og realisert av trinnene etter trinn 80 på fig. 4. Behandling ved trinn 80 vil således begynne med audioblokken med nummer 1.
Når parametersettet ai, xi samtidig blir ført videre, er bare audioverdiene 128-255, dvs. gjeldende audioblokk etter den siste audioblokk 0 behandlet av forfilteret 30, hver i minnet 32. Etter å ha bestemt overføringen av nodeparametere xi(i) ved trinn 80, bestemmer forfilteret 30 støyeffektgrensen qt tilsvarende forsterlcningsverdien at i trinn 84. Dette kan finne sted av nodesammenligningsanordningen 26 som viderefører denne verdi til forfilteret 30 eller av forfilteret 30 som igjen beregner denne verdi som beskrevet ovenfor i forbindelse med trinn 64.
Etter dette blir en indeks j initialisert til en sampleverdi i trinn 86 for å peke til den eldste sampleverdi som er igjen i FIFO-minnet 32 eller den første sampleverdi av gjeldende audioblokk "blokk 1", dvs. i eksempelet på fig. 5, sampleverdien 128. I trinn 88 utfører det parameteriserbare forfilter en interpolering mellom filterkoeffisientene xo og xi hvor parameteriseringen xq her virker som en node ved en node som har audioverdi nummer 127 av den foregående blokk 0 og parameteriseringen xi virker som en node ved noden som har audioverdi nummer 255 av gjeldende blokk 1. Disse audioverdiposisjonene 127 og 255 vil heretter bli kalt node 0 og node 1, idet nodeparameteriseringene som refererer til nodene på fig. 5a er vist av pilene 90 og 92.
I trinn 88 utfører det parameteriserbare forfilter 30 interpoleringen av filterkoeffisientene xq, xi mellom de to nodene i form av en lineær interpolering for å oppnå de interpolerte filterkoeffisienter ved sampleposisjonenj, dvs. x(tj)(i), i = 1 ... N.
Etter dette, nemlig i trinn 90, utfører det parameteriserbare forfilter 30 en interpolering mellom støyeffektgrensen qt og q0for å oppnå en interpolert støyeffektgrense ved sampleposisjonenj, dvs. q(tj).
I trinn 92 beregner det parameteriserbare forfilter 30 deretter forsterkningsverdien for sampleposisjonen j på basis av den interpolerte støyeffektgrense og den kvantiserte støyeffekt og fortrinnsvis også de interpolerte »u , «.. , i- r. i i ikvantiser erne støyeffekt, iilterkoeiiisientene, nemlig feks. avhengig av roten av:LÆ—, hvor det for denne referanse henvises til forklaringene av trinn 64 på fig. 3.
I trinn 94 vil det parameteriserbare forfilter 30 deretter bruke forsterkningsverdien som beregnet og de interpolerte filterkoeffisienter for sampleverdien ved sampleposisjonen j for å oppnå en filtrert sampleverdi for denne sampleposisjon, nemlig s'(tj).
I trinn 96 sjekker deretter det parameteriserbare forfilter 30 om sampleposisjonen j har nådd gjeldende node, dvs. node 1 på fig. 5a sampleposisjonen 255, dvs. sampleverdien for hvilken parameteriseringen overført til det parameteriserbare forfilter 30 pluss forsterkningsverdien skal valideres direkte, dvs. uten interpolering. Hvis dette ikke er tilfelle, vil det parameteriserbare forfilter 30 øke indeksen j med 1, og trinnene 8-96 vil gjentas. Hvis sjekken i trinn 96 imidlertid er positiv, vil det parameteriserbare forfilter gjelde i trinn 100, idet den siste forsterkningsverdi overført fra nodesammemigningsanordningen 26 og de siste filterkoeffisientene overført fra nodesarrmiemi<g>nmgsanordningen 26 direkte uten en interpolering til sampleverdien ved den nye node, hvoretter den gjeldende blokk (dvs. i dette tilfelle blokk 1, har blitt behandlet og behandlingen utføres igjen ved trinn 80 i forhold til den etterfølgende blokk for behandling som, avhengig av om parameteriseringen for neste audioblokk, blokk 2 skiller seg vesentlig fra parameteriseringen x^i), kan være den neste audioblokk, blokk 2, eller forøvrig en senere audioblokk.
Før den videre fremgangsmåte når behandlingen av de filtrerte verdier s' vil bli beskrevet under henvisning til fig. 5, vil formålet og bakgrunnen for fremgangsmåten på fig. 3 og 4 bli beskrevet nedenfor. Formålet med filtreringen er å filtrere audiosignalet ved inngangen 12 med et tilpasset filter, idet overføringsfunksjonen av denne blir kontinuerlig justert til inversen av lytteterskelverdien i best mulig grad som også endrer seg over tid. Årsaken til dette er at reversfiltreringen av overføringsfunksjonen på dekodersiden som blir tilsvarende kontinuerlig justert til lytteterskelverdien, former den hvite kvantiseringsstøy innført ved kvantiseringen av det filtrerte audiosignal, dvs. den frekvenskonstante kvantiseringsstøy, av et tilpasset filter, og nemlig justeres om til lytteterskelverdien.
Anvendelse av forsterkningsverdien i trinn 94 og 100 i forfilteret 30 er en multiplikasjon av audiosignalet eller det filtrerte audiosignal, dvs. sampleverdiene s eller de filtrerte sampleverdiene s' av forsterkningsfaktoren. Formålet er med dette å sette kvantiseringsstøyen innført i det filtrerte audiosignal av kvantiseringen beskrevet i detalj nedenfor og som blir justert ved reversfiltrering på dekodersiden til lytteterskelverdiens form så høy som mulig uten å overskride terskelverdien. Dette kan eksemplifiseres av Parsevals formel, ifølge hvilken kvadratet av en funksjons størrelse er lik kvadratet av Fourier omdanningens størrelse. Når multiplikasjonen av audiosignalet i forfilteret med forsterkningsverdien blir reversert igjen ved å dele det filtrerte audiosignal med forsterkningsverdien på dekodersiden, blir kvantiseringsstøyeffekten også redusert, nemlig med faktoren a" , som blir forsterkningsverdien. Følgelig kan kvantiseringsstøyeffekten settes til en optimal høy grad ved å bruke forsterkningsverdien i forfilteret 30 som er synonym med kvantiseringstrinnets størrelse som blir økt og således antallet kvantiseringstrinn for redusert koding som i sin tur øker komprimeringen i den etterfølgende redundans reduksjonsdel.
Sagt på en annen måte kan effekten av forfilteret anses som en normalisering av signalet til sin maskeringsterskel, slik at nivået av kvantiseringsinterferenser eller kvantiseringsstøy kan holdes konstant både i tid og frekvens. Siden audiosignalet er i tidsdomenet, kan kvantiseringen således utformes trinn for trinn med en jevn, konstant kvantisering som beskrevet nedenfor. På denne måte blir ideelt enhver mulig irrelevans fjernet fra audiosignalet og en komprimering uten tap kan brukes også for å fjerne restredundans i det forfiltrerte og kvantiserte audiosignal som beskrevet nedenfor.
På fig. 5a skal det igjen fremheves at filterkoeffisientene og forsterkningsverdiene ao, ai, xo, xi som brukes må være tilgjengelige på dekodersiden som sideinformasjon, idet overføringskompleksiteten av dette avtar uten å bruke nye filterkoeffisienter og nye forsterkningsverdier for hver blokk. Snarere finner en terskel verdisjekk 66 sted bare for overføring av parameteriseringene som sideinformasjon med en tilstrekkelig parameteriseringsendring og ellers ikke overføre sideinformasjonen eller parameteriseringene. En interpolering fra gammel til ny parameterisering finner sted ved audioblokkene som parameteriseringen har blitt overført ved. Interpoleringen av filterkoeffisientene finner sted på en måte beskrevet ovenfor under henvisning til trinn 88. Interpolering for forsterkning finner sted via en omvei, nemlig via en lineær interpolering 90 av støyeffektgrensen q0, qi. Sammenlignet med en direkte interpolering via forsterkningsverdien, fører lineær interpolering til et bedre lytteresultat eller færre sårbare forekomster i forbindelse med støyeffektgrensen.
Følgelig vil ytterligere behandling av det forfiltrerte signal bli beskrevet under henvisning til fig. 6 som hovedsakelig omfatter kvantisering og redundansreduksjon. Først blir de filtrerte sampleverdiene fra det parameteriserbare forfilter 30 lagret i bufferen 38 og samtidig blir de ført fra bufrene 38 til multiplikatoren 40 hvor de blir, siden det er deres første passering, først ført videre uendret, nemlig med en skaleringsfaktor på 1 av multiplikatorene 40, til kvantifisereren 28. Deretter blir de filtrerte audioverdier over en øvre grense avskåret i trinn 110 og deretter kvantisert i trinn 112. De to trinn 110 og 112 blir utført av kvantifisereren 28. Især blir de to trinn 110 og 112 fortrinnsvis utført av kvantifisereren 28 i et trinn ved å kvantifisere filtrerte audioverdier s' av en kvantisermgstrirmfunksjon som mapper de filtrerte sampleverdier s' som eksempelvis finnes i en flytende punktillustrasjon til de flere integerkvantiseringstrinnverdier eller indekser og som har et flatt forløp for de filtrerte sampleverdiene fra en bestemt terskelverdi, videre, slik at filtrerte sampleverdier som er større enn terskelverdien blir kvantifisert til et og samme kvantiseringstrinn. Et eksempel på et slikt kvantiseringstrinn er vist på fig. 7a.
De kvantiserte filtrerte sampleverdiene blir kalt er' på fig. 7a. Kvantisermgstrinnfunksjonen er fortrinnsvis en kvantisermgstrinnfunksjon med en trinnstørrelse som er konstant under terskelverdien, dvs. hoppingen til neste kvantiseringstrinn vil alltid finne sted etter et konstant intervall langs inngangsverdiene S'. I implementeringen blir trinnstørrelsen til terskelverdien justert, slik at antallet kvantiseringstrinn fortrinnsvis tilsvarer en potens på 2. Sammenlignet med flytepuriktillustrasjonen for de innkommende, filtrerte sampleverdier s', er terskelverdien mindre, slik at en maksimal verdi for det illustrerbare området av flytepunktillustrasjonen overskrider terskelverdien.
Årsaken til terskelverdien er at det har blitt observert at det filtrerte audiosignal fra forfilteret 30 av og til omfatter audioverdier som legges til svært høye verdier på grunn av en ugunstig oppsamling av harmoniske bølger. Videre har det blitt observert at avskjæring av disse verdiene som oppnås ved kvantisermgstrinnfunksjonen vist på fig. 7a, fører til en høy datareduksjon, men bare en mindre svekkelse av audiokvaliteten. Snarere blir disse vilkårlige steder i det filtrerte audiosignal formet kunstig av en frekvensselektiv filtrering i det parameteriserbare filter 30, slik at avskjæring av disse svekker audiokvaliteten bare i mindre utstrekning.
Et noe mer spesifikt eksempel på kvantiserm<g>stririnfunksjonen vist på fig. 7a vil være et som avrunder alle de filtrerte sampleverdiene s' til den neste integer opp til terskelverdien og derfra kvantifiserer alle filtrerte sampleverdier over til det høyeste kvantiseringstrinn, f.eks. 256. Dette tilfellet er vist på fig. 7a.
Et annet eksempel på en mulig kvantiserm<g>stririnfunksjon vil være en som er vist på fig. 7b. Opp til terskelverdien tilsvarerer kvantisermgstrinnfunksjonen på fig. 7b den som er vist på fig. 7a. I stedet for å ha et brått, flatt forløp for sampleverdiene s' over terskelverdien, fortsetter imidlertid kvantisermgstrinnfunksjonen med en bratthet som er mindre enn brattheten i området under terskelverdien. På en annen måte er kvantiseringstrinnstørrelsen større over terskelverdien. Ved dette oppnås en tilsvarende effekt som ved kvantiseringsfunksjonen på fig. 7a, men på en annen side med mer kompleksitet på grunn av de forskjellige trinnstørrelser av kvantisermgstririnfunksjonen over og under terskelverdien og på en annen side forbedret audiokvalitet, siden svært høye, filtrerte audioverdier s' ikke blir avskåret fullstendig, men bare kvantisert med en kvantiseringsrrinnstørrelse som er større enn a.
Som allerede beskrevet må, på dekodersiden, ikke bare de kvantiserte og filtrerte audioverdier & være tilgjengelig, men også inngangsparametrene for forfilteret 30 på basis av filtrering av disse verdiene, nemlig nodeparameteriseringen med en antydning til gjeldende forsterloiingsverdi. I trinn 114 utfører komprimatoren 34 således et første komprimeringsforsøk og således komprimerer sideinformasjonen i forsterkningsverdiene aoog ai ved nodene, f.eks. 127 og 255 og filterkoeffisientene xq og xi ved nodene og de kvantiserte, filtrerte sampleverdier a' til et midlertidig filtrert signal. Komprimatoren 34 er således en koder uten tap, f.eks. en Huffman eller aritmetisk koder med eller uten prediksjon og/eller tilpasning.
Minnet 38 som de samplede audioverdier a' passerer gjennom, tjener som en buffer for en passende blokkstørrelse med hvilken kompressoren 34 behandlet kvantisert, filtrert og også skalerte audioverdier er' fra kvantifisereren 28 beskrevet tidligere. Blokkstørrelsen kan skille seg fra blokkstørrelsen av audioblokkene som brukes av anordningen 20.
Som allerede nevnt har bitratestyreenheten 36 regulert multiplekseren 40 med en multiplikand på 1 for det første komprimeringsforsøket, slik at de filtrerte audioverdier går uendret fra forfilteret 30 til kvantifisereren 28 og derfra som kvantiserte, filtrerte audioverdier til komprimatoren 34. Komprimatoren 34 overvåker i trinn 116 om en bestemt komprimeringsblokkstørrelse, dvs. et bestemt antall kvantiserte, samplede audioverdier, har blitt kodet til det midlertidig kodede signal, eller om ytterligere kvantiserte, filtrerte audioverdier & skal kodes til det gjeldende, midlertidige kodede signal. Hvis komprimeringsblokkstørrelsen ikke har blitt nådd, vil komprimatoren 34 fortsette å utføre gjeldende komprimering 114. Hvis komprimeringsblokkstørrelsen imidlertid har blitt nådd, vil bitratestyreenheten 36 sjekke i trinn 118 om bitmengden som kreves for komprimering er større enn bitmengden diktert av en ønsket bitrate. Hvis dette ikke er tilfelle, vil bitratestyreenheten 36 sjekke i trinn 120 om bitmengden som kreves er mindre enn bitmengden diktert av den ønskede bitrate. Hvis dette er tilfellet vil bitratestyreenheten 36 fylle opp det kodede signal i trinn 122 med fyllbiter inntil bitmengden diktert av den ønskede bitrate har blitt nådd. Deretter blir det kodede signal sendt i trinn 124. Som et alternativ til trinn 122, kan bitratestyreenheten 36 føre videre komprimeringsblokken av filtrerte audioverdier & som fremdeles er lagret i minnet 38, på hvilken den siste komprimering har blitt basert i en form multiplisert med en multiplikand som er større enn 1 av multiplikatoren 40 til kvantifisereren 28 for igjen å passere trinnene 110-118 inntil bitmengden diktert av den ønskede bitrate har blitt nådd som vist ved trinn 125 ved stiplede linjer.
Hvis imidlertid sjekken i trinn 118 fører til at den ønskede bitmengde er større enn den som blir diktert av den ønskede bitrate, vil bitratestyreenheten 36 endre multiplikanden for multiplikatorene 40 til en faktor mellom 0 og 1. Dette utføres i trinn 126. Etter trinn 126, gjør bitratestyreenheten 36 det mulig for minnet 38 igjen å sende den siste komprimerte blokk av filtrerte audioverdier a' på hvilken komprimeringen har blitt basert, idet de deretter blir multiplisert med faktoren satt i trinn 126 og igjen tilført kvantifisereren 28, hvoretter trinnene 110-118 utføres igjen og det midlertidige kodede signal opp til da blir forkastet. Det skal fremheves at når trinnene 110-116 igjen utføres i trinn 114, blir naturligvis faktoren brukt i trinn 126 (eller trinn 125) også integrert i det kodede signal.
Hensikten med prosedyren etter trinn 126 er å øke den effektive trinnstørrelse av kvantifisereren 28 med faktoren. Dette innebærer at den resulterende kvantiseringsstøy jevnt blir over maskeringsterskelen som fører til hørbare forstyrrelser eller hørbar støy men fører til en redusert bitrate. Hvis det igjen bestemmes i trinn 118 etter passering av trinn 110-116 igjen, at den nødvendige bitmengde er større enn den som dikteres av den ønskede bitrate, vil faktoren igjen bli redusert i trinn 126 osv.
Hvis dataene endelig blir sendt ved trinn 124 som et kodet signal, vil den neste komprimeringsblokk utføres fra de etterfølgende, kvantiserte og filtrerte audioverdier &.
Det skal også fremheves at en annen forinitialisert verdi enn 1 kan brukes som multiplikasjonsfaktor, nemlig f.eks. 1. Skaleringen vil da finne sted i alle tilfelle først, dvs. på toppen av fig. 6.
Fig. 5b viser igjen det resulterende kodede signal som generelt er vist av 130. Det kodede signal omfatter sideinformasjon og hoveddata derimellom. Sideinformasjon omfatter, som allerede nevnt, informasjon hvorfra hvilken spesielle audioblokker, nemlig audioblokker hvor en vesentlig endring i filterkoeffisientene har resultert i sekvensen av audioblokker, verdien av forsterkningsverdien og verdien av filterkoeffisientene kan avledes. Om nødvendig vil sideinformasjonen videre omfatte informasjon om forsterlcningsverdiene som ble brukt for bitstyreenheten. På grunn av den gjensidige avhengighet av forsterkningsverdien og støyeffektgrensen q, kan sideinformasjonen eventuelt være forskjellig fra forsterkningsverdien a#til en node # og også omfatte støyeffektgrensen q#eller bare sistnevnte. Sideinformasjonen blir fortrinnsvis arrangert i det kodede signal, slik at sideinformasjonen til filterkoeffisientene og tilhørende forsterkningsverdi eller tilhørende støyeffektgrense blir anordnet foran hoveddataene til audioblokken for kvantiserte, filtrerte audioverdier & hvorfra disse filterkoeffisientene med tilhørende forsterkningsverdier eller tilhørende støyeffektgrenser har blitt avledet, dvs. sideinformasjonen ao, xo(i) etter blokk -1 og sideinformasjonen ai, xi(i) etter blokk 1. På en annen måte vil hoveddata, dvs. kvantiserte, filtrerte audioverdier a' som begynner fra, utelukke en audioblokk av den type hvor en vesentlig endring i sekvensen av audioblokker har ført til at filterkoeffisienter opp til den neste audioblokk av denne type på fig. 5 f.eks., audioverdiene & (to) - (7^255) alltid anordnes mellom sideinformasjonsblokken 132 til den første av disse to audioblokker (blokk -1) og den andre sideinformasjonsblokk 134 til den andre av de to audioblokker (blokk 1). Audioverdiene & (to) - & ( tm) kan dekodes eller ha blitt, som nevnt før med henvisning til fig. 5a, oppnådd bare ved hjelp av sideinformasjonen 132, mens audioverdiene a' (t^s) -&' fes) har blitt oppnådd ved interpolering ved hjelp av sideinformasjonen 132 som støtteverdier ved noden med sampleverdi nummer 127 og ved hjelp av sideinformasjonen 134 som støtteverdier ved noden med sampleverdinummer 255 og blir således bare dekodet ved hjelp av begge sideinformasjonene.
I tillegg blir sideinformasjonen om forsterkningsverdien eller støyeffektgrensen og filterkoeffisientene i hver sideinformasjonsblokk 132 og 134 ikke alltid integrert uavhengig av hverandre. Snarere blir denne sideinformasjon overført i forskjeller til foregående sideinformasjonsblokk. På fig. 5b f.eks. inneholder sideinformasjonsblokken 132 forsterkningsverdien aoog filterkoeffisientene xo angående noden på tidspunktet ti. I sideinformasjonsblokken 132 kan disse verdiene avledes fra selve blokken. Fra sideinformasjonsblokken 134 kan imidlertid sideinformasjonen om noden på tidspunktet t255 ikke lenger avledes fra denne blokken alene. Snarere vil sideinformasjonsblokken 134 bare omfatte informasjon om forskjellene i forsterkningsverdi ai av noden på tidspunktet t2ss og forsterkningsverdien av noden på tidspunktet to og forskjellene av filterkoeffisientene xi og filterkoeffisientene xo. Sideinformasjonsblokken 134 inneholder følgelig informasjonen om ai - aoog xi(i) - xo(i). Ved mellomliggende tidspunkt bør imidlertid filterkoeffisientene og forsterkningsverdien eller støyeffektgrensen overføres fullstendig og ikke bare som en forskjell til den foregående node, f.eks. hvert sekund for at mottakeren eller dekoderen kan låses til en løpende strøm av kodede data som beskrevet nedenfor.
Denne type integrering av sideinformasjonen til sideinformasjonsblokker 132 og 134 gjør fordelen med mulighet for en høyere komprimeringsrate. Årsaken til dette er at, selv om sideinformasjonen om mulig bare vil bli overført hvis en tilstrekkelig endring av filterkoeffisientene til filterkoeffisientene for en foregående node har oppstått, vil kompleksiteten med å beregne forskjellen på kodersiden eller beregne summen på kodersiden være fordelaktig siden de resulterende forskjeller blir små til tross for forespørselen i trinn 66 og således gi fordeler ved entropikoding.
Etter at en utførelse av en audiokoder har blitt beskrevet før, vil nå en utførelse av en audiodekoder som egner for dekoding av kodet signal generert av audiokoderen 10 på fig. 1 til et dekodet, avspillbart eller behandlingsbart audiosignal bli beskrevet nedenfor.
Oppsettet av denne dekoder er vist på fig. 8. Dekoderen generelt vist ved 210, omfatter en dekomprimator 212, et FIFO-minne 214, en multiplikator 216 og et parameteriserbart postfilter 218. Dekomprimatoren 212, FIFO-minnet 214, multiplikatoren 216 og det parameteriserbare postfilter 218 er koplet til denne rekkefølge mellom en datainngang 220 og en datautgang 222 av dekoderen 210 hvor det kodede signal blir mottatt ved datainngangen 220 og det dekodede audiosignal bare skiller seg fra det opprinnelige audiosignal ved datainngangen 12 av audiokoderen 10 ved kvantiseringsstøy generert av kvantifisereren 28 i audiokoderen 10 som blir sendt ved datautgangen 222. Dekomprimatoren 212 er koplet til en kontrollinngang av multiplikatoren 216 ved en annen datautgang for å føre videre en multiplikand til samme og til en parameteriseringsinngang av det parameteriserbare postfilter 218 via en annen datautgang.
Som vist på fig. 9 dekomprimerer dekompressoren 212 først i trinn 224 det komprimerte signal ved datainngangen 220 for å oppnå de kvantiserte, filtrerte audiodata, nemlig sampleverdien a' og vedkommende sideinformasjon i sideinformasjonsblokkene 132, 134 som indikerer filterkoeffisienter og forsterkningsverdier eller, i stedet for forsterkningsverdier, støyeffektgrenser ved nodene.
Som vist på fig. 10 sjekker dekompressoren 212 det dekomprimerte signal i visningsrekkefølge i trinn 226 om sideinformasjonen med filterkoeffisienter finnes der i en selvstendig form uten forskjellsreferanse til en foregående sideinformasjonsblokk. Sagt på en annen måte ser dekomprimatoren 212 etter den første sideinformasjonsblokk 132. Så snart dekomprimatoren 212 har funnet noe, blir de kvantiserte, filtrerte audioverdier & bufret i FIFO-minnet i trinn 228. Hvis en komplett audioblokk av kvantiserte, filtrerte audioverdier & har blitt lagret i trinn 228 uten en direkte etterfølgende sideinformasjonsblokk, vil den først bli postfiltrert i trinn 228 ved hjelp av informasjonen i sideinformasjonen mottatt i trinn 226 på parameteriserings eller forsterkningsverdien i et postfilter og forsterket i multiplikatoren 216, hvilket er hvordan den blir dekodet og således oppnås den tilhørende dekodede audioblokk.
I trinn 230 overvåker dekomprimatoren 212 det dekomprimerte signal for forekomsten av en type sideinformasjonsblokk nemlig med absolutte filterkoeffisienter eller filterkoeffisientforskjeller til en foregående sideinformasjonsblokk. I eksempelet på fig. 5b vil f.eks. dekomprimatoren 212 f.eks. gjenkjenne forekomsten av sideinformasjonsblokken 134 i trinn 230 etter å ha gjenkjent sideinformasjonsblokken 132 i trinn 226. Således vil blokken av kvantiserte, filtrerte audioverdier a' (to) - a'
(ti27) ha blitt dekodet i trinn 228 ved å bruke sideinformasjonen 132. Så lenge sideinformasjonsblokken 134 i det dekomprimerte signal ikke ennå har oppstått, blir bufringen og kanskje dekodingen av blokkene fortsatt i trinn 228 ved hjelp av sideinformasjonen i trinn 226 som beskrevet tidligere.
Så snart sideinformasjonsblokken 132 har oppstått, vil dekomprimatoren 212 beregne parameterverdiene ved noden 1 (dvs. ai, xi(i), i trinn 232 ved å legge sammen differanseverdiene i sideinformasjonsblokken 134 og parameterverdiene i sideinformasjonsblokken 132. Trinnet 232 blir naturligvis utelatt hvis gjeldende sideinformasjonsblokk er en selvstendig sideinformasjonsblokk uten forskjeller som, som tidligere beskrevet, kan f.eks. oppstå hvert sekund. For at ventetiden for dekoderen 210 ikke blir for lang, kan sideinformasjonsblokkene 132 hvor parameterverdiene kan avledes absolutt, dvs. uten forhold til en annen sideinformasjonsblokk, bli anordnet i en tilstrekkelig liten avstand, slik at påslagstiden eller nedtiden under svitsjing av audiokoderen 210 i tilfelle f.eks. en radiooverføring eller kringkastingsoverføring ikke blir for lang. Fortrinnsvis blir antallet sideinformasjonsblokker 132 anordnet derimellom med forskjellsverdier anordnet i et fast bestemt antall mellom sideinformasjonsblokkene 132, slik at dekoderen ved når en sideinformasjonsblokk av typen 132 igjen forventes i det kodede signal. Alternativt kan forskjellige sideinformasjonsblokktyper indikeres av tilsvarende flagg.
Som vist på fig. 11, og etter sideinformasjonsblokken for en ny node har blitt nådd, især etter trinn 226 eller 232, blir en sampleverdiindeks j først initialisert til 0 i trinn 234. Denne verdi tilsvarer sampleposisjonen av den første sampleverdi i audioblokken som for tiden er igjen i FIFO 214 som gjeldende sideinformasjon er knyttet til. Trinnet 234 utføres av det parameteriserbare postfilter 218. Postfilteret 218 vil deretter beregne støyeffektgrensen ved den nye node i trinn 236, idet dette trinn tilsvarer trinn 84 på fig. 4 og kan utelates når f.eks. støyeffektgrensen ved nodene blir overført i tillegg til forsterkningsverdiene. I etterfølgende trinn 238 og 240, utfører postfilteret 218 interpolasjoner til filterkoeffisientene og støyeffektgrensen tilsvarende interpolasjonene 88 og 90 på fig. 4. Etterfølgende beregning av forsterkningsverdien for sampleposisjonen j på basis av den interpolerte støyeffektgrense og de interpolerte filterkoeffisienter ved trinn 238 og 240 i trinn 242 tilsvarer trinn 92 på fig. 4. I trinn 244 bruker postfilteret 218 forsterkningsverdien beregnet i trinn 242 og de interpolerte filterkoeffisienter til sampleverdien ved sampleposisjonen j. Dette trinn skiller seg fra trinn 94 på fig. 4 ved at de interpolerte filterkoeffisienter brukes på de kvantiserte, filtrerte sampleverdier a', slik at overføringsfunksjonen av det parameteriserbare postfilter ikke tilsvarer inversen av lytteterskelen, men selve lytteterskelen. I tillegg utfører ikke postfilteret en multiplikasjon med forsterkningsverdien, men en deling med forsterkningsverdien ved de kvantiserte, filtrerte sampleverdier a' eller den allerede reversfiltrerte, kvantiserte, filterte sampleverdi ved posisjon j.
Hvis postfilteret 218 ikke ennå har nådd gjeldende node med sampleposisjonen j som den sjekker i trinn 246, vil den øke sampleposisjonsindeksen j i trinn 248 og starte trinnene 238-246 igjen. Bare når noden har blitt nådd vil den bruke forsterkningsverdien og filterkoeffisientene av den nye node til sampleverdien ved noden, nemlig i trinn 250. Anvendelsen omfatter i sin tur, som i trinn 218, en deling ved hjelp av forsterkningsverdien og filtrering med en overføringsfunksjon som er lik lytteterskelen og ikke inversen av sistnevnte i stedet for en multiplikasjon. Etter trinn 250 blir den gjeldende audioblokk dekodet av en interpolering mellom to nodeparameteriseringer.
Som allerede nevnt blir støy innført av kvantiseringen ved koding i trinn 110 eller 112 justert i både form og størrelse til lytteterskelen av filtreringen og anvendelse av en forsterkningsverdi i trinn 218 og 224.
Det skal også fremheves at når de kvantiserte, filtrerte audioverdier har blitt utsatt for en annen multiplikasjon i trinn 126 på grunn av bitratestyreenheten tidligere har blitt kodet til det kodede signal, kan denne faktor også vurderes i trinnene 218 og 224. Alternativt kan naturligvis audioverdiene oppnådd ved behandlingen på fig. 11 naturligvis utsettes for en annen multiplikasjon for tilsvarende å forsterke igjen audioverdiene som ble svekket av en lavere bitrate.
Når det gjelder fig. 3, 4, 6 og 9-11, skal det fremheves at samme flytskjema som viser modus for funksjonen av koderen på fig. 1 eller dekoderen på fig. 8 og at hvert av trinnene vist i flytskjemaet av en blokk som beskrevet, blir implementert på tilsvarende måte som beskrevet tidligere. Implementeringen av de enkelte trinn kan realiseres i maskinvare, som en ASIC-krets eller i programvare som delrutiner. Især indikerer forklaringene skrevet i blokkene på disse figurene grovt sett hvilken prosess de respektive trinn tilsvarende den respektive blokk refererer til mens pilene mellom blokkene viser rekkefølgen av trinnene når koderen og dekoderen brukes.
I forbindelse med den foregående beskrivelse skal det fremheves igjen at kodearrangementet nevnt ovenfor kan varieres på mange måter. F.eks. er det ikke nødvendig for en parameterisering og en forsterkningsverdi eller en støyeffektgrense som ble bestemt for en bestemt audioblokk å anses som direkte gyldig for en bestemt audioverdi som i den foregående utførelses siste respektive audioverdi for hver audioblokk, dvs. den 128ende verdi i denne audioblokk, slik at interpoleringen for denne audioverdi kan utelates. Snarere er det mulig å knytte disse nodeparameterverdier til en node som befinner seg midlertidig mellom sampletidene tn, n = 0 ..., 127 av audioverdiene for denne audioblokk, slik at en interpolering vil være nødvendig for hver audioverdi. Især kan parameteriseringen bestemt for en audioblokk eller forsterkningsverdien bestemt for denne audioblokk også brukes indirekte på en annen verdi, f.eks. audioverdien i midten av audioblokken, f.eks. den 64ende audioverdi i tilfellet den ovennevnte blokkstørrelse på 128 audioverdier.
I tillegg skal det nevnes at ovennevnte utførelse refererte til et audiokodingsarrangement konstruert for å generere et kodet signal med en regulert bitrate. Regulering av bitraten er imidlertid ikke nødvendig i alle tilfeller. Dette er hvorfor de tilsvarende trinn 116 til 122 og 126 eller 125 også kan utelates.
Under henvisning til komprimeringsarrangementet nevnt i forbindelse med trinn 114, og for fullstendighets skyld, refereres det til dokumentet av Schuller m.fl. beskrevet i innledningen til beskrivelsen og især til delen IV hvis innhold om redundansreduksjon ved hjelp av tapsløs koding det henvises til her.
I tillegg skal følgende fremheves under referanse til den foregående utførelse. Selv om det har blitt beskrevet før at terskelverdien alltid holder seg konstant når kvantiseringen eller kvantisermgstrinnfunksjonen alltid holder seg konstant, dvs. at forekomster generert i det filtrerte audiosignal alltid blir kvantisert eller avskåret grovt ved en kvantisering, noe som kan svekke lydkvaliteten til et hørbart nivå og det er også mulig å bare bruke disse målene hvis kompleksiteten av audiosignalet krever det, nemlig hvis bitraten krevd for koding overskrider en ønsket bitrate. I dette tilfellet, og i tillegg til kvantiserm<g>stririnfunksjonen vist på fig. 7a og 7b kan f.eks. en kvantisermgstrinnstørrelse som er konstant over hele området av verdiene være mulig ved utgangen av prefilteret og kvantifisereren vil f.eks. svare på et signal for bruk enten kvantisermgstrinnfunksjonen med en alltid konstant kvantiseringstrinnstørrelse eller med kvantisermgstririnfunksj onene ifølge fig. 7a eller 7b, slik at kvantifisereren kan beordres av signalet for å utføre med liten audiosvekket kvalitet, kvantisermgstrirmmmslcningen over terskelverdien eller avskjæring over terskelverdien. Alternativt kan terskelverdien også reduseres gradvis. I dette tilfellet kan terskelverdireduksjonen utføres i stedet for faktorreduksjonen i trinn 126. Etter et første komprimeringsforsøk uten trinn 110, kan det midlertidige komprimerte signal bare utsettes for en selektiv terskelverdikvantisering i et modifisert trinn 126 hvis bitraten fremdeles var for høy (118). I en annen passering vil de filtrerte audioverdier deretter bli kvantisert med kvantisermgstririnfunksjonen med et flatere forløp over audioterskelen. Ytterligere bitratereduksjoner kan utføres i det modifiserte trinn 126 ved å redusere terskelverdien og således av en annen modifikasjon av kvantisermgstrinnfunksj onen.
I tillegg skal det bemerkes at integreringen av parametrene a og x i sideinformasjonsblokken beskrevet ovenfor kan også finne sted, slik at ingen forskjell blir beregnet, men at de tilsvarende parametere kan avledes fra hver sideinformasjonsblokk alene. I tillegg er det ikke nødvendig å utføre kvantiseringen slik at, som forklart tidligere under henvisning til 110, kvantiseringstrinnstørrelsen blir endret fra en bestemt øvre grense til å bli større enn under den øvre terskelverdi. Snarere er andre kvantiseringsregler enn de som er vist på fig. 7a og 7b også mulig.
I sum brukte ovennevnte utførelser kryssfading av koeffisienter i forbindelse med et audiokodingsarrangement med svært liten forsinkelsestid. Ved koding blir sideinformasjonen overført i bestemte intervaller. Koeffisientene blir interpolert mellom overføringstidene. En koeffisient som indikerer eventuell støyeffekt eller arealet under maskeringsterskelen eller en verdi hvorfra den kan avledes, blir brukt for interpolering og fortrinnsvis også overført på grunn av at den hadde gunstige egenskaper ved interpolering. På en annen side kan således sideinformasjonen fra prefilteret, hvis koeffisienter må overføres slik at postfilteret i dekoderen har den inverse overføringsfunksjon, slik at audiosignalet igjen kan rekonstrueres på riktig måte i dekoderen, overføres med lav bitrate, f.eks. bare ved å overføre informasjonen i bestemte intervaller og på en annen side kan audiokvaliteten opprettholdes i en relativt høy grad siden interpoleringen av den mulige støyeffekt som arealet under maskeringsterskelen er en god approksimasjon for tidspunktene mellom nodene.
Især skal det fremheves avhengig av omstendighetene, det nye audiokodingssystem også kan implementeres i programvare. Implementeringen kan skje på et digitalt lagringsmedium, især på en disk eller en CD med styresignaler som kan leses elektronisk og som kan samvirke med et programmerbart datasystem, slik at den tilsvarende fremgangsmåte kan utføres. Generelt er oppfinnelsen også i et dataprogram med en programkode lagret på en maskinbar bærer for å utføre den nye fremgangsmåten når dataprogramproduktet kjøres på en datamaskin. Oppfinnelsen kan således også realiseres som et dataprogram med en programkode for å utføre fremgangsmåten når dataprogrammet kjører på en datamaskin.
Især kan ovennevnte fremgangsmåtetrinn i blokkene av flytskjemaet implementeres individuelt eller i grupper på flere sammen i delprogramrutiner. Alternativt er en implementering av den nye anordningen i form av en integrert krets naturligvis også mulig hvor disse blokkene f.eks. blir implementert som individuelle kretsdeler av en ASIC.
Især skal det fremheves, avhengig av omstendighetene, at det nye system også kan implementeres i programvare. Implementeringen kan være på et digitalt lagringsmedium, især på en disk eller en CD med styresignaler som kan leses elektronisk og som kan samvirke med et programmerbart datasystem, slik at den tilsvarende fremgangsmåte kan utføres. Generelt er oppfinnelsen således også et dataprogramprodukt med en programkode lagret på en maskinbar leser for å utføre den nye fremgangsmåte når dataprogrammet kjøres på en datamaskin. Oppfinnelsen kan følgelig også realiseres som et dataprogram med en programkode for å utføre fremgangsmåten når dataprogrammet kjøres på en datamaskin.

Claims (16)

1. Anordning for å kode et audiosignal av en sekvens (54) av audioverdier (56) til et kodet signal (130),karakterisert ved: anordning (20) for å bestemme en første lytteterskelverdi for en første blokk av audioverdier av sekvensen (54) av audioverdier (56) og en andre lytteterskelverdi for en andre blokk av audioverdier av sekvensen (54) av audioverdier (56), anordning (24) for å beregne en versjon av en første parameterisering av et parameteriserbart filter (30), slik at overføringsfunksjonen derav grovt tilsvarer inversen av størrelsen av den første lytteterskelverdi og en versjon av den andre parameterisering av det parameteriserbare filter, slik at overføringsfunksjonen derav grovt tilsvarer inversen av størrelsen av den andre lytteterskelverdi, anordning (22) for å bestemme en første støyeffektgrense avhengig av den første maskeringsterskel og en andre støyeffektgrense avhengig av den andre maskeringsterskel, anordning (30) for parameteriserbar filtrering og skalering av en bestemt blokk av audioverdier av sekvensen (54) av audioverdier (56) for å oppnå en blokk av skalerte, filtrerte audioverdier tilsvarende den bestemte blokk omfattende: anordning (88) for interpolering mellom versjonen av den første parameterisering og versjonen av den andre parameterisering for å oppnå en versjon av en interpolert parameterisering for en bestemt audioverdi i den bestemte blokk av audioverdier, anordning (90) for interpolering mellom den første støyeffektgrense og den andre støyeffektgrense for å oppnå en interpolert støyeffektgrense for den bestemte audioverdi, anordning (92) for å bestemme en mellomskaleringsverdi avhengig av den interpolerte støyeffektgrense og anordning (94) for å bruke det parameteriserbare filter med versjonen av den interpolerte parameterisering og mellomskaleringsverdien til de bestemte audioverdier for å oppnå en av de skalerte filtrerte audioverdier, anordning (28) for kvantisering av de skalerte, filtrerte audioverdier ifølge kvantiseringsregelen for å oppnå en blokk av kvantiserte, skalerte, filtrerte audioverdier og anordning (18) for integrering av informasjon til det kodede signal hvorfra blokken av kvantiserte, skalerte, filtrerte audioverdier, versjonen av den første parameterisering, versjonen av den andre parameterisering, den første støyeffektgrense og den andre støyeffektgrense kan avledes.
2. Anordning ifølge krav 1,karakterisert vedat anordningen (84) for å bestemme første og andre støyeffektgrense er formet for å bestemme den første støyeffektgrense som et område under kvadratet av størrelsen av første lytteterskelverdi og den andre støyeffektgrense som et areal under kvadratet av størrelsen av den andre lytteterskelverdi.
3. Anordning ifølge krav 1 eller 2,karakterisert vedat anordningen (92) for å bestemme en mellomskaleringsverdi er formet for å utføre bestemmelsen i tillegg avhengig av en kvantiseringsstøyeffekt forårsaket av en bestemt kvantiseringsregel.
4. Anordning ifølge et av kravene 1-3,karakterisert vedat den videre omfatter anordning (84) for å bestemme en andre skaleringsverdi avhengig av kvantiseringsstøyeffekten og den andre støyeffektgrense, hvor anordningen for filtrering og skalering videre omfatter anordning (94) for å bruke det parameteriserbare filter med versjonen av den andre parameterisering og den andre skaleringsverdi til en audioverdi tilknyttet den bestemte blokk for å oppnå en av de skalerte, filtrerte audioverdier.
5. Anordning ifølge krav 4,karakterisert vedat anordningen (84) for å bestemme første og andre skaleringsverdier omfatter anordning for å beregne roten av kvotienten for kvantiseringsstøy dividert med den første støyeffektgrense og roten av kvotienten av kvantiseringsstøyen dividert med den andre støyeffektgrense.
6. Anordning ifølge et av de foregående krav,karakterisert vedat anordningen (92) for å bestemme mellomskaleringsverdien omfatter anordning for å beregne roten av kvotienten av kvantiseringsstøyeffekten dividert med den interpolerte støyeffektgrense.
7. Anordning ifølge et av de foregående krav,karakterisert vedat anordningen (88) for interpolering mellom versjonen av den første parameterisering og versjonen av den andre parameterisering er formet for å utføre en lineær interpolering.
8. Anordning ifølge et av de foregående krav,karakterisert vedat anordningen (90) for interpolering mellom den første støyeffektgrense og den andre støyeffektgrense er formet for å utføre en lineær interpolering.
9. Anordning ifølge et av de foregående krav,karakterisert vedat anordningen (28) for kvantisering er formet for å utføre kvantiseringen basert på en kvantisermgstrinnfunksjon omfattende en grov konstant kvantiseringstrinnstørrelse opp til en terskelverdi.
10. Anordning ifølge et av de foregående krav,karakterisert vedat anordningen (18) for integrering omfatter en entropikoder.
11. Anordning ifølge et av de foregående krav,karakterisert vedat anordningen (18) for integrering er formet slik at informasjonen representerer første eller andre støyeffektgrense eller første eller andre skaleringsverdi.
12. Anordning ifølge et av de foregående krav,karakterisert vedat den videre omfatter: anordning (66) for å sjekke parameteriseringene etter den første parameterisering av anordningen for å beregne etter hverandre om de skiller seg fra denne første parameterisering med mer enn en bestemt grad og for å bare velge blant parameteriseringene som den andre parameterisering hvor dette er tilfellet for første gang.
13. Fremgangsmåte for koding av et audiosignal av en sekvens (54) av audioverdier (56) til et kodet signal (130),karakterisert vedtrinnene: bestemme en første lytteterskelverdi for en første blokk av audioverdier av sekvensen (54) av audioverdier (56) og en andre lytteterskelverdi for en andre blokk av audioverdier av sekvensen (54) av audioverdier (56), beregne en versjon av en første parameterisering av et parameteriserbart filter (30), slik at overføringsfunksjonen derav grovt tilsvarer det inverse av størrelsen av den første lytteterskelverdi og en versjon av den andre parameterisering av det parameteriserbare filter, slik at overføringsfunksjonen derav grovt tilsvarer det inverse av størrelsen av den andre lytteterskelverdi, bestemme en første støyeffektgrense avhengig av den første maskeringsterskel og en andre støyeffektgrense avhengig av den andre maskeringsterskel, parameteriserbar filtrering og skalering av en bestemt blokk av audioverdier av sekvensen (54) av audioverdier (56) for å oppnå en blokk av skalerte, filtrerte audioverdier tilsvarende den bestemte blokk omfattende følgende deltrinn: interpolering mellom versjonen av den første parameterisering og versjonen av den andre parameterisering for å oppnå en versjon av en interpolert parameterisering for en bestemt audioverdi i den bestemte blokk av audioverdier, interpolering mellom den første støyeffektgrense og den andre støyeffektgrense for å oppnå en interpolert støyeffektgrense for den bestemte audioverdi, bestemme en mellomskaleringsverdi avhengig av den interpolerte støyeffektgrense og bruke det parameteriserbare filter med versjonen av den interpolerte parameterisering og mellomskaleringsverdien til den bestemte audioverdi for å oppnå en av de skalerte, filtrerte audioverdier, kvantifisere de skalerte, filtrerte audioverdier for å oppnå en blokk av kvantiserte, skalerte, filtrerte audioverdier og integrere informasjonen til det kodede signal hvorfra blokken av kvantiserte, skalerte, filtrerte audioverdier, versjonen av den første parameterisering, versjonen av den andre parameterisering, den første støyeffektgrense og den andre støyeffektgrense kan avledes.
14. Anordning for å dekode et kodet signal (130) til et dekodet audiosignal,karakterisert vedat det kodede signal (130) inneholder informasjon hvorfra en bestemt blokk av kvantiserte, skalerte, filtrerte audioverdier, en versjon av en første parameterisering, en versjon av en andre parameterisering, en første støyeffektgrense og en andre støyeffektgrense kan avledes, omfattende: anordning (212) for å avlede den bestemte blokk av kvantiserte, skalerte, filtrerte audioverdier, versjonen av den første parameterisering, versjonen av den andre parameterisering, den første støyeffektgrense og den andre støyeffektgrense fra det kodede signal (130), anordning (30) for parameteriserbar filtrering og skalering av den bestemte blokk av kvantiserte, skalerte, filtrerte audioverdier for å oppnå en tilsvarende blokk av dekodede audioverdier omfattende: anordning (88) for interpolering mellom versjonen av den første parameterisering og versjonen av den andre parameterisering for å oppnå en versjon av en interpolert parameterisering for en bestemt audioverdi i blokken av kvantiserte, skalerte, filtrerte audioverdier, anordning (90) for interpolering mellom den første støyeffektgrense og den andre støyeffektgrense for å oppnå en interpolert støyeffektgrense for den bestemte audioverdi, anordning (92) for å bestemme en mellomskaleringsverdi avhengig av den interpolerte støyeffektgrense og anordning (94) for å bruke det parameteriserbare filter med versjonen av den interpolerte parameterisering og mellomskaleringsverdien til den bestemte audioverdi for å oppnå en av de dekodede audioverdier.
15. Fremgangsmåte for å dekode et kodet signal (130) til et dekodet audiosignal, idet det kodede signal (130) som inneholder informasjon hvorfra en bestemt blokk av kvantiserte, skalerte, filtrerte audioverdier, en versjon av en første parameterisering, en versjon av en andre parameterisering, en første støyeffektgrense og en andre støyeffektgrense kan avledes,karakterisert vedtrinnene: avlede den bestemte blokk av kvantiserte, skalerte, filtrerte audioverdier, versjonen av den første parameterisering, versjonen av den andre parameterisering, den første støyeffektgrense og den andre støyeffektgrense fra det kodede signal (130), parameteriserbar filtrering og skalering av den bestemte blokk av kvantiserte, skalerte, filtrerte audioverdier for å oppnå en tilsvarende blokk av dekodede audioverdier omfattende følgende deltrinn: interpolering mellom versjonen av den første parameterisering og versjonen av den andre parameterisering for å oppnå en versjon av en interpolert parameterisering for en bestemt audioverdi i blokken av kvantiserte, skalerte, filtrerte audioverdier, interpolering mellom den første støyeffektgrense og den andre støyeffektgrense for å oppnå en interpolert støyeffektgrense for den bestemte audioverdi, bestemme en mellomskaleringsverdi avhengig av den interpolerte støyeffektgrense og bruke det parameteriserbare filter med versjonen av den interpolerte parameterisering og mellomskaleringsverdien til den bestemte audioverdi for å oppnå en av de dekodede audioverdier.
16. Lagringsmedium med en programkode for å utføre fremgangsmåten ifølge krav 13 eller 15 når dataprogrammet kjører på en datamaskin.
NO20064093A 2004-02-13 2006-09-12 Audio-koding NO338918B1 (no)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102004007200A DE102004007200B3 (de) 2004-02-13 2004-02-13 Audiocodierung
PCT/EP2005/001350 WO2005078704A1 (de) 2004-02-13 2005-02-10 Audiocodierung

Publications (2)

Publication Number Publication Date
NO20064093L NO20064093L (no) 2006-10-26
NO338918B1 true NO338918B1 (no) 2016-10-31

Family

ID=34745238

Family Applications (1)

Application Number Title Priority Date Filing Date
NO20064093A NO338918B1 (no) 2004-02-13 2006-09-12 Audio-koding

Country Status (15)

Country Link
US (1) US7729903B2 (no)
EP (1) EP1687808B1 (no)
JP (1) JP4444296B2 (no)
KR (1) KR100814673B1 (no)
CN (1) CN1918632B (no)
AT (1) ATE383641T1 (no)
AU (1) AU2005213768B2 (no)
BR (1) BRPI0506623B1 (no)
CA (1) CA2556099C (no)
DE (2) DE102004007200B3 (no)
ES (1) ES2300975T3 (no)
IL (1) IL176857A0 (no)
NO (1) NO338918B1 (no)
RU (1) RU2335809C2 (no)
WO (1) WO2005078704A1 (no)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004009955B3 (de) * 2004-03-01 2005-08-11 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Ermitteln einer Quantisierer-Schrittweite
DE102006022346B4 (de) * 2006-05-12 2008-02-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Informationssignalcodierung
KR101346771B1 (ko) * 2007-08-16 2013-12-31 삼성전자주식회사 심리 음향 모델에 따른 마스킹 값보다 작은 정현파 신호를효율적으로 인코딩하는 방법 및 장치, 그리고 인코딩된오디오 신호를 디코딩하는 방법 및 장치
BR122021003142B1 (pt) 2008-07-11 2021-11-03 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E. V. Codificador de áudio, decodificador de áudio, métodos para codificar e decodificar um sinal de áudio, e fluxo de áudio
EP3937167B1 (en) 2008-07-11 2023-05-10 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder and audio decoder
TWI451403B (zh) * 2009-10-20 2014-09-01 Fraunhofer Ges Forschung 音訊編碼器、音訊解碼器、用以將音訊資訊編碼之方法、用以將音訊資訊解碼之方法及使用區域從屬算術編碼對映規則之電腦程式
EP2524371B1 (en) 2010-01-12 2016-12-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder, audio decoder, method for encoding an audio information, method for decoding an audio information and computer program using a hash table describing both significant state values and interval boundaries
AR085218A1 (es) 2011-02-14 2013-09-18 Fraunhofer Ges Forschung Aparato y metodo para ocultamiento de error en voz unificada con bajo retardo y codificacion de audio
TWI476760B (zh) 2011-02-14 2015-03-11 Fraunhofer Ges Forschung 用以使用暫態檢測及品質結果將音訊信號的部分編碼之裝置與方法
JP5712288B2 (ja) 2011-02-14 2015-05-07 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン 重複変換を使用した情報信号表記
AU2012217269B2 (en) 2011-02-14 2015-10-22 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for processing a decoded audio signal in a spectral domain
EP2676266B1 (en) 2011-02-14 2015-03-11 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Linear prediction based coding scheme using spectral domain noise shaping
AR085361A1 (es) 2011-02-14 2013-09-25 Fraunhofer Ges Forschung Codificacion y decodificacion de posiciones de los pulsos de las pistas de una señal de audio
ES2616434T3 (es) * 2013-01-29 2017-06-13 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Aparato y método para seleccionar uno de un primer algoritmo de codificación de audio y un segundo algoritmo de codificación de audio
US9060223B2 (en) 2013-03-07 2015-06-16 Aphex, Llc Method and circuitry for processing audio signals
US9514761B2 (en) 2013-04-05 2016-12-06 Dolby International Ab Audio encoder and decoder for interleaved waveform coding
EP2830064A1 (en) 2013-07-22 2015-01-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for decoding and encoding an audio signal using adaptive spectral tile selection
US9277421B1 (en) * 2013-12-03 2016-03-01 Marvell International Ltd. System and method for estimating noise in a wireless signal using order statistics in the time domain
CN106409303B (zh) 2014-04-29 2019-09-20 华为技术有限公司 处理信号的方法及设备
BR112017000629B1 (pt) 2014-07-25 2021-02-17 Fraunhofer-Gesellschaft Zur Förderung Der Angewandten Forschug E.V. aparelho de codificação de sinal de áudio e método de codificação de sinal de áudio

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3820037A1 (de) 1988-06-13 1989-12-14 Ant Nachrichtentech Bildcodierverfahren und einrichtung
DE3820038A1 (de) 1988-06-13 1989-12-14 Ant Nachrichtentech Verfahren zur aufbereitung und uebertragung einer bildsequenz
US5581653A (en) * 1993-08-31 1996-12-03 Dolby Laboratories Licensing Corporation Low bit-rate high-resolution spectral envelope coding for audio encoder and decoder
KR970005131B1 (ko) * 1994-01-18 1997-04-12 대우전자 주식회사 인간의 청각특성에 적응적인 디지탈 오디오 부호화장치
DE19549621B4 (de) * 1995-10-06 2004-07-01 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung zum Codieren von Audiosignalen
US5819215A (en) * 1995-10-13 1998-10-06 Dobson; Kurt Method and apparatus for wavelet based data compression having adaptive bit rate control for compression of digital audio or other sensory data
GB2307833B (en) * 1995-12-01 2000-06-07 Geco As A data compression method and apparatus for seismic data
DE69724819D1 (de) 1996-07-05 2003-10-16 Univ Manchester Sprachkodier- und dekodiersystem
US6370477B1 (en) * 1996-11-22 2002-04-09 Schlumberger Technology Corporation Compression method and apparatus for seismic data
EP0878790A1 (en) * 1997-05-15 1998-11-18 Hewlett-Packard Company Voice coding system and method
CN1158646C (zh) 1999-04-16 2004-07-21 多尔拜实验特许公司 在音频编码中应用增益自适应量化和变长码
WO2001033718A1 (en) 1999-10-30 2001-05-10 Stmicroelectronics Asia Pacific Pte Ltd. A method of encoding frequency coefficients in an ac-3 encoder
US7110953B1 (en) * 2000-06-02 2006-09-19 Agere Systems Inc. Perceptual coding of audio signals using separated irrelevancy reduction and redundancy reduction
EP1483759B1 (en) * 2002-03-12 2006-09-06 Nokia Corporation Scalable audio coding
DE10217297A1 (de) * 2002-04-18 2003-11-06 Fraunhofer Ges Forschung Vorrichtung und Verfahren zum Codieren eines zeitdiskreten Audiosignals und Vorrichtung und Verfahren zum Decodieren von codierten Audiodaten
CA2388352A1 (en) * 2002-05-31 2003-11-30 Voiceage Corporation A method and device for frequency-selective pitch enhancement of synthesized speed
US7620545B2 (en) * 2003-07-08 2009-11-17 Industrial Technology Research Institute Scale factor based bit shifting in fine granularity scalability audio coding
KR100636145B1 (ko) * 2004-06-04 2006-10-18 삼성전자주식회사 확장된 고해상도 오디오 신호 부호화 및 복호화 장치
JP2007099007A (ja) * 2005-09-30 2007-04-19 Auto Network Gijutsu Kenkyusho:Kk ワイヤハーネスの配索構造

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SCHULLER G D T ET AL: perceptual audio coding using adaptive pre- and post-filters and lossless compression, IEEE TRANSCATIONS ON SPEECH AND AUDIO PROCESSING, IEEE INC NEW YORK, US Bd. 10, Nr 6, September 2002 (2002-09) page 379-390. , Dated: 01.01.0001 *

Also Published As

Publication number Publication date
DE102004007200B3 (de) 2005-08-11
JP2007522510A (ja) 2007-08-09
ATE383641T1 (de) 2008-01-15
CN1918632B (zh) 2010-05-05
IL176857A0 (en) 2006-10-31
AU2005213768B2 (en) 2009-11-19
EP1687808B1 (de) 2008-01-09
CA2556099C (en) 2010-06-01
CN1918632A (zh) 2007-02-21
KR100814673B1 (ko) 2008-03-18
BRPI0506623A (pt) 2007-05-02
CA2556099A1 (en) 2005-08-25
AU2005213768A1 (en) 2005-08-25
KR20060113998A (ko) 2006-11-03
RU2335809C2 (ru) 2008-10-10
RU2006132734A (ru) 2008-03-20
JP4444296B2 (ja) 2010-03-31
US20070016403A1 (en) 2007-01-18
WO2005078704A1 (de) 2005-08-25
EP1687808A1 (de) 2006-08-09
ES2300975T3 (es) 2008-06-16
DE502005002489D1 (de) 2008-02-21
US7729903B2 (en) 2010-06-01
NO20064093L (no) 2006-10-26
BRPI0506623B1 (pt) 2018-12-18

Similar Documents

Publication Publication Date Title
NO338918B1 (no) Audio-koding
JP6184519B2 (ja) 音声信号復号化または符号化の時間領域レベル調整
KR100813193B1 (ko) 정보 신호의 양자화 방법 및 장치
WO1998042083A1 (en) Audio coding method and apparatus
JP7161233B2 (ja) 広帯域フィルタによって生成される補充信号を使用して、エンコードされたマルチチャネル信号をエンコードまたはデコードするための装置
KR100848370B1 (ko) 오디오 부호화
US20230197090A1 (en) Audio quantizer and audio dequantizer and related methods
MXPA06009110A (en) Method and device for quantizing a data signal
MXPA06009144A (en) Audio encoding