NO341726B1 - Fremgangsmåte for å skape en representasjon av et beregnet resultat, lineært avhengig av kvadratet av en verdi - Google Patents
Fremgangsmåte for å skape en representasjon av et beregnet resultat, lineært avhengig av kvadratet av en verdi Download PDFInfo
- Publication number
- NO341726B1 NO341726B1 NO20072916A NO20072916A NO341726B1 NO 341726 B1 NO341726 B1 NO 341726B1 NO 20072916 A NO20072916 A NO 20072916A NO 20072916 A NO20072916 A NO 20072916A NO 341726 B1 NO341726 B1 NO 341726B1
- Authority
- NO
- Norway
- Prior art keywords
- representation
- logarithmic
- spectral
- bit
- group
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 15
- 238000004364 calculation method Methods 0.000 claims abstract description 49
- 238000012937 correction Methods 0.000 claims abstract description 4
- 230000003595 spectral effect Effects 0.000 claims description 54
- 230000005236 sound signal Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 8
- 230000009977 dual effect Effects 0.000 claims description 5
- 230000009466 transformation Effects 0.000 claims description 2
- 230000001131 transforming effect Effects 0.000 claims 1
- 230000001419 dependent effect Effects 0.000 abstract description 4
- 230000000694 effects Effects 0.000 abstract 1
- 230000007704 transition Effects 0.000 abstract 1
- 238000013139 quantization Methods 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/02—Speech 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/032—Quantisation or dequantisation of spectral components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49942—Significance control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49936—Normalisation mentioned as feature only
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/5443—Sum of products
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/02—Speech 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Complex Calculations (AREA)
Abstract
Overgang til det logaritmiske felt krever ikke hele bitfeltet som er lineært avhengig av kvadratet av verdien. For en verdi med x bits kan resultatet derimot skaleres på en slik måte at en fremstilling med mindre enn x bits i resultatet er tilstrekkelig for å fremskaffe en logaritmisk fremstilling basert på denne. Virkningen av skaleringsfaktoren på den resulterende logaritmiske fremstilling kan utliknes ved addering av en korreksjonsverdi fremskaffet ved å benytte den logaritmiske funksjon på skaleringsfaktoren til, eller subtrahering av den fra, den skalerte logaritmiske funksjon uten dynamisk tap. Oppfinnelsen tilveiebringer en fremgangsmåte og en anordning for å fremstille en fremstilling av et beregningsresultat som er lineært avhengig av kvadratet av en verdi for på den måte å tillate å utføre beregningen lett eller med lite maskinvare.
Description
Fagfelt
Foreliggende oppfinnelse angår skapingen av en fremstilling av et beregningsresultat som er lineært avhengig av et kvadrat av en verdi, så som en sum av kvadrater av en gruppe av verdier som påkrevd, for eksempel i enkelte audiokodere der frekvenslinjer blir kombinert ifølge en psykoakustisk modell for å danne frekvensgrupper i den hensikt å utføre ytterligere koding ved hjelp av signalenergiene i frekvensgruppene.
Bakgrunn
I moderne filterbankbaserte audiokodefremgangsmåter så som MPEG Layer-3 eller MPEG AAC, benyttes en psykoakustisk modell i koderen. I denne psykoakustiske modell blir det totale spektrum i audiosignalet som er transformert inn til frekvensbåndet, delt opp i individuelle frekvensgrupper av varierende bredder og/eller varierende antall frekvenslinjer pr. frekvensgruppe. For beregningen av de psykoakustiske lytteterskler, for avgjørelsen hvorvidt senter/sidestereokoding skal benyttes, og for evalueringen og/eller beregningen av skaleringsfaktorene i kvantiseringsmodulen i audiokoderen, blir signalenergiene i audiosignaldelene i de individuelle frekvensgrupper beregnet i den psykoakustiske modell. Dette utføres ved kvadrering av hver enkelt frekvenslinje, hvilket resulterer i at linjeenergiene, og påfølgende summering av alle linjeenergier i en frekvensgruppe, danner båndenergien i en frekvensgruppe, av hvilke der kan være rundt 40-60 pr. audiokanal i tilfellet eksempelvis MPEG AAC.
Kjent teknikk fremgår av US6754618B1, US5570454A, US6728739 B1 og Chhabra, A. et al "A Block Floating Point Implementation on the TMS320C54x DSP", Application Report SPRA610, Dec. 1999, (http://www.eeng.dcu.ie/~ee206/pdf/block_flt_pt.pdf)
Oppsummering
Oppfinnelsen angår en audiokoder, som omfatter et apparat implementert i en fastpunkt-prosessor for å beregne spektrale gruppeenergier av et audiosignal, som omfatter transformasjonsmidler og gruppeenergi-beregningsmidler. Sistnevnte omfatter Styringsmidler, skaleringsmidler, kvadreringsmidler, oppsummeringsmidler, midler for å beregne logaritmen, omskaleringsmidler og en MPEG kodestrømgenerator. For øvrig henvises til krav 1 og tilhørende uselvstendig krav 2-9.
Oppfinnelsen angår også en tilsvarende fremgangsmåte for audiokoding i henhold til selvstendig krav 10 som omfatter å beregne spektralgruppeenergier av et audiosignal som bruker en fastpunkt-prosessor ved hjelp av å dekomponere audiosignalet til rammer i et tidsdomene, å omdanne audiosignalet i hver ramme fra tidsdomenet til et spektraldomene, for å tilveiebringe en gruppe med spektralverdier for hver ramme, hvor hver omfatter en amplitudeverdi i en ikke-logaritmisk x-bitrepresentasjon, slik at serier med amplitudeverdier fremkommer som er delt inn i ulike spektralgrupper. Fremgangsmåten omfatter videre å beregne spektralgruppeenergi for hver spektralgruppe i den respektive rammen som summen av kvadrater av amplitudeverdiene ved å justere en respektiv skaleringsfaktor for hver spektralgruppe i avhengighet av antall (N) amplitudeverdiene av den respektive spektralgruppen og det minste antall ubrukte bitposisjoner i de x-bit-representasjoner av amplitudeverdiene av den respektive spektralgruppen, å skalere den ikke-logaritmiske x-bit-representasjonen for hver amplitudeverdi for hver spektralgruppe med den respektive skaleringsfaktoren for å tilveiebringe skalerte amplitudeverdier i en x-bit-representasjon; å kvadrere de skalerte amplitudeverdiene i x-bit-representasjon for å tilveiebringe skalerte kvadratiske amplitudeverdiene i en 2x-bit-representasjon; å oppsummere de skalerte kvadrerte amplitudeverdiene for hver spektralgruppe for å tilveiebringe en respektiv sum av kvadrater i en ikke-logaritmisk representasjon; å anvende en logaritmisk funksjon på y bit av den ikke-logaritmiske representasjonen for hver sum av kvadrater for hver spektralgruppe for å tilveiebringe en respektiv skalert logaritmisk representasjon, hvor y er mindre enn 2x; og å legge til eller å trekke fra en respektiv korrekturverdi, som fremkommer ved å anvende den logaritmiske funksjonen på kvadratet av den respektive skalerings-faktoren, til eller fra henholdsvis den skalerte logaritmiske representasjonen for hver skalert logaritmisk representasjon, for å tilveiebringe en logaritmisk representasjon for hver spektralgruppeenergi, hvor spektralgruppeenergiene av alle spektralgruppene har samme skaleringsnivå; og å generere en kodet MPEG datastrøm som representerer en kodet versjon av audiosignalet basert på spektralgruppeenergiene av spektralgruppene i en logaritmisk representasjon som har samme skaleringsnivå.
Endelig angår oppfinnelsen et dataprogram med en programkode for å utføre ovenfor nevnte fremgangsmåte når datamaskinprogrammet kjører på en datamaskin.
Detaljert beskrivelse
I det følgende skal de spesielle anvendelser av en utførelse av en slik fremgangsmåte i en fastpunktsprosessor vurderes.
I fastpunktsfremstillingen blir frekvenslinjene fremstilt med en ordbredde på for eksempel 24 bits eller 32 bits. En ordbredde på bare 16 bits er ikke tilstrekkelig. En global skaleringsfaktor eller en skiftfaktor blir benyttet, hvilket anvendes på alle frekvenslinjer i en audiokanal og også på alle frekvenslinjer i alle audiokanaler som blir prosessert i en koder, og hvilket avgjør med hvor mange posisjoner hver frekvenslinjeverdi må skiftes til venstre eller høyre slik at den opprinnelige skaleringen kan fremskaffes, hvilket refereres til som blokkflyttallsfremstilling. Dette vil si at alle frekvenslinjer i minst én audiokanal er likt styrt ut og/eller er på det samme skaleringsnivå. I vurderingen av de generelt høye dynamikker i de enkelte amplituder av frekvenslinjene, har enkelte av frekvenslinjene blitt fremstilt med relativt høy nøyaktighet, slik som for eksempel 22 gyldige bits med en ordbredde av 24 bits eller 30 gyldige bits med en ordlengde på 32 bits, mens andre blir fremstilt med bare få gyldige bit og er derfor nokså unøyaktig.
I utførelsen av de tidligere nevnte filterbankbaserte audiokodingsfremgangsmåtene i en fastpunktsprosessor, vil problemer som beskrevet over komme frem.
For det første angår problemene fremstillingen av signalenergiene selv. Ved kvadreringen, får signalenergiene, dvs. de summerte kvadrater av frekvenslinjene, en fremskaffet dynamikk som er det dobbelte av frekvenslinjene dersom den totale nøyaktighet skal opprettholdes.
Det finnes ganske klart forskjellige muligheter for å fremstille signalenergiene. En mulighet er fremstillingen av signalenergiene med en datatype som har en ordbredde som er det dobbelte av datatypen benyttet for fremstillingen av frekvenslinjene, dvs. eksempelvis at en datatype med en bredde på 48 bits eller 64 bits. Man kan eksempelvis se for seg frekvenslinjer med 22 gyldige bits fremstilt med et 24 bits datatype. Basert på summeringen vil signalenergien sammen med de andre frekvenslinjer ha i det minste 44 gyldige bits og vil bli fremstilt i en 48 bits datatype. Denne fremgangsmåte er likevel ikke realistisk i det minste for 64 bits energier, dvs. i tilfeller der frekvenslinjene blir representert med en 32 bits datatype, siden de fleste konvensjonelle fastpunktsprosessorer enten ikke støtter en 64 bits datatype i det hele tatt eller at minetilgangsoperasjoner og beregninger som benytter en 64 bits datatype er ekstremt langsomt sammenliknet eksempelvis med 32 bits tilgangsoperasjoner og beregninger. I tillegg er mineforbruket betydelig høyere i tilfellet med 64 bits data.
Basert på spektrogrammet 168 dannet på denne måte vil kodestrømgeneratoren 156 generere den kodede datastrøm. For å gjøre dette vil kodestrømgeneratoren 156 imidlertid ikke, eller ikke alltid, kreve en spektraldekomponering av alle spektralkomponentene. Frekvenslinjene splittes snarere opp i grupper 170 i henhold til psykoakustiske aspekter, slik som angitt ved sirkler.
For kodestrømgenereringen for hver gruppe 170 vil kodestrømgeneratoren 156 for hver av rammene 166 spesifikt kreve den tilknyttede verdi for signalenergien, dvs. summen av kvadratene av amplitudeverdiene, det vil igjen si summen av kvadratene av frekvenslinjeverdiene.
Denne beregning foretas av en gruppe energiberegningsmidler 154. Disse vil beregne signalenergien for hver gruppe 170 av frekvenslinjer som summen av kvadratene av frekvenslinjene, der gruppeenergiberegningsmidlene 154 for eksempel kan være konfigurert slik som vist på figurene 4 og 5 og/eller slik som friksjonene beskrevet i forbindelse med figurene 4-6. Anvendelse av gruppeenergiberegningsmidlene 154 vil resultere i sekvenser 172 av signalenergiverdier, dvs. en sekvens 172 pr. gruppe 170. Derfor vil signalenergisekvensene 172 omfatte en signalenergiverdi pr. ramme 166, noe som er illustrert langs pilene 172 i form av en prikk.
Basert på disse sekvenser 172 av signalenergier vil kodestrømgeneratoren 156 så generere den kodede datastrøm 160 på basis av den psykoakustiske modell 162. Her vil fordelen med å reprodusere signalenergiverdiene i midlene 156 ikke bare være at verdiene presenteres i et fastpunkt-dataformat med samme antall bits som frekvenslinjeverdiene ble presentert med, men også at verdiene presenteres logaritmisk, idet dette vil tillate en enklere utføring av multiplikasjonen, potenseringer og divideringer, da disse beregninger vil gi enklere addisjoner/subtraksjoner og multiplikasjoner/divisjoner i det logaritmiske området.
For å illustrere dette vises det til koderen ifølge fig. 7, som avgir en MPEG-datastrøm.
Audiokoderen ifølge fig. 7 er for eksempel en MPEG AAC-koder. I dette tilfellet vil kodestrømgeneratoren 156 omfatte en TNS (temporal noise shaping)-modul, der kodestrømgeneratoren 156 vil utføre en effektiv beregning av det energivektede spektrum. TNS-modulen vil spesifikt utføre en beregning hvor signalenergiene SE benyttes, av typen x = 1/ SE . Dette kan utføres enklere når signalenergiene er gitt i det logaritmiske format LD64, da dette benyttes av gruppeenergiberegningsmidlene 154. TNS-modulen vil rett og slett beregne x i LD64-1 (-LD64_SE >> 1), hvor a >> b angir en forskyvningsoperasjon mot høyre for operanden a på venstresiden, av antallet bits b på høyresiden, der LD64-1 () er en inversfunksjon av logaritmefunksjonen LD64 () og en LD64_SE er signalenergiverdien i det logaritmiske format LD64, slik den avgis fra gruppeenergiberegningsmidlene 154. ”>> 1” vil derfor angi en forflytning mot høyre med 1 bit, hvilket korrespondere til en divisjon med 2. Denne divisjonen med 2 vil når den utføres i logaritmeområdet korrespondere til en kvadratrot i det lineære området. Minustegnet vil korrespondere til den inverse funksjon 1/x i det lineære området. Beregningen av LD64-1-funksjonen kan realiseres mindre komplisert enn det å beregne kvadratroten og så invertere resultatet, hvilket ville være påkrevd dersom signalenergiene blir matet til kodestrømgeneratoren 156 i det lineære området.
Kodestrømgeneratoren 156 kunne også generere en kodet MPEG 4 AAC datastrøm, og den ville da omfatte en PNS (perceptual noise substitution) modul. PNS-modulen vil utføre en intern beregning av avstanden mellom lytteterskelen og signalenergien i frekvensgruppen 170. PNS-modulen vil spesifikt ved hjelp av avstanden mellom lytteterskelen og signalenergien avgjøre om det kan eller bør utføres en støyerstatning. Den mer dynamiske og tilsvarende mer nøyaktige logaritmiske representasjon av signalenergiene når disse avgis fra gruppeenergiberegningsenheten 154, samt lyttetersklene som også er tilveiebrakt i den logaritmiske representasjon LD64 i kodestrømgeneratoren 156, vil i det vesentlige være det som bidrar til en korrekt PNS-bestemmelse. Mer spesifikt vil en dividering og en rotutdragning i form av Y = (SE1/ SE2 � SE3 ) bli utført i en koherensfunksjon i PNS-modulen, der SE1, SE2 og SE3 er signalenergier avgitt fra gruppeenergiberegningsmidlene 154. Den logaritmiske representasjon av signalenergien vil i stor grad legge til rette for og akselerere denne beregningen. Mer spesifikt kan PNS-modulen i kodestrømgeneratoren 156 utføre beregningen av LD64_Y, dvs. beregne Y i LD64-formatet, ved å utføre følgende bergning:
LD64_Y = LD64_SE1 – ((LD64_SE2 LD64_SE3) >> 1),
hvor LD64_SE# er den logaritmiske representasjon av den respektive signalenergiverdi SE#, slik den avgis fra gruppeenergiberegningsmidlene 154.
Kode strømgeneratoren 156 kan for eksempel også omfatte en senter/sidestereomodul som vil foreta en senter/side-kodingsavgjørelse. I denne CS-modul vil det bli foretatt mange divisjoner, dvs. fra lytteterskelen til signalenergien, for å avgjøre om en senter/side (CS)-koding skal benyttes eller ikke. Ved å anvende LD64-formatet, slik dette avgis fra gruppeenergiberegningsmidlene 154, vil disse divideringene bestå av enkle subtraksjoner. Tersklene, for hvilke en CS-koding skal benyttes, vil være konstante, og de kan derfor konverteres til logaritmeområdet allerede i kildekoden, hvorved det ikke vil være påkrevd med ytterligere regnetid utover programkjøretiden. Dette vil gjelde også når det benyttes mange flere konstanter i den modifiserte kode i forbindelse med LD64-beregningene. Det ovenfor angitte vil spesifikt også gjelde for intensitetsstereomodulen i en MPEG Layer-3 eller AAC-koder.
Kodestrømgeneratoren 156 kan videre omfatte en skaleringsfaktorestimator som vil utføre en beregning av lydstyrken. I skaleringsfaktorestimatoren, som for eksempel kan være plassert i en kvantiseringsmodul i kodestrømgeneratoren 156, vil det bli utført en beregning av fjerde roten av lyttetersklene, dvs. en lydstyrkeberegning. Ved å representere lytteterskelen i et logaritmisk dataformat, dvs. LD64, kan beregningen av denne fjerde rot utføres svært effektivt ved rett og slett å flytte de logaritmiske gjennomsnittsterskler til høyre med 2 bits. Det omvendte, dvs. en involusjon med 4, kan også utføres på en svært enkel måte ved en forflytning mot venstre med 2 bits.
I skaleringsfaktorestimatoren i kodestrømgeneratoren 156 kan videre for eksempel en beregning av skaleringsfaktorene SCF, som utgjør en del av kvantiseringstrinnbredden, utføres på grunnlag av de modifiserte lytteterskler LT og signalenergiene SE. Denne beregning omfatter et beregningstrinn av typen SCF = log (k*LT/SE), der log () er en vanlig logaritme og k er en konstant. Denne beregning kan utføres svært elegant og effektivt ved å anvende LD64-formatet, og en korresponderende konvertering av den opprinnelige formel. Skaleringsfaktorestimatoren ville spesifikt utføre beregningen på følgende måte:
SCF = log(k) log2*64* (LD64_LT – LD64_SE).
Eksemplene på mulige moduler i kodestrømgeneratoren 156 gitt ovenfor viser at anvendelse av det logaritmiske dataformat LD64 vil legge til rette for økt effektivitet i fastpunktsprosessorer. Når en bestemt audiokvalitet er påkrevd vil det logaritmiske dataformat LD64 i mange tilfeller muliggjøre en implementering på disse plattformer av en audiokodek med høy audiokvalitet. Eksemplene på mulige moduler i kodestrømgeneratoren 156 gitt ovenfor har spesifikt vist at en representasjon av signalenerigene, lyttetersklene og ytterligere energiverdier i et logaritmisk dataformat vil være ekstremt velegnet, idet at ved prosesseringen av signalenergiene og lyttetersklene vil de fleste beregningstrinn bli utført ved hjelp av en divisjon eller en multiplikasjon. En divisjon kan derfor utføres i form av en subtraksjon og en multiplikasjon i form av en addisjon, hvilket vil resultere i at en effektiv representasjon og prosessering av signalenergiene og lyttetersklene i en audiokodek kan oppnås ved hjelp av det illustrerte logaritmiske dataformat. Signalenergiene i det lineære området, dvs. det ikke-logaritmiske området, vil være representert i det fraksjonale fastpunktsdataformat, hvilket antar verdier i området av -1,0 til 0,99999…
I utførelsesformene ovenfor blir logaritmer med grunntall 2 (dual-logaritmer LD) anvendt. For en dual-logaritme vil en signalenergiverdi på 0,25 i det lineære området tilsvare en LD-verdi på -2. En signalenergiverdi på 0,3 i det lineære området vil tilsvare en LD-verdi på -1,7369656. Siden denne fastpunktsprosessor typisk enten vil representere heltallsdelen eller sifrene bak komme, men ikke en blanding av disse, ble LD-verdiene i de foregående utførelsesformene skalert slik i LD64-formatet at bare sifrene bak komma oppnås. En annen mulighet ville selvsagt være å velge en skalering slik at bare heltallsdelene ble fremskaffet. En skalering med en faktor 1/64 ble spesifikt valgt siden denne faktor kan anvendes på alle ordbredder opp til 64 bits og således også vil dekke de konvensjonelle ordbredder på 48 bits og 32 bits. Beregningen av duallogaritmen skalert med 1/64, dvs. i LD64-formatet, utføres i henhold til formelen y = log2(x)/64 = LD64(x). Dersom det blir gitt avkall på en utvidet bærbarhet, kunne selvsagt denne faktor også økes, dvs. opp til 1/y, der y ville være antallet bits av den skalerte sum av kvadratene uten at logaritmen tas.
Fig. 3 viser grafen til logaritmefunksjonen. Her vil karakteristikkene for logaritmefunksjon kunne ses, idet den for mindre inngangsverdier x (nærmere 0,0), dvs. med en fastpunkts representasjon som faktisk vil være mindre nøyaktig, vil gi et større antall utgangsverdier y i det logaritmiske området, dvs. med mindre oppløsning, som idet de vil anta en større absoluttverdi, dvs. de vil være nærmere lik -1,0, således vil de gi en mer nøyaktig fastpunkts representasjon. I utførelsesformene gitt ovenfor unngås tap av nøyaktighet ved beregningen av signalenergiene før overføringen til det logaritmiske området ved å anvende en felles skaleringsfaktor og/eller en felles forskyvningsverdi før kvadreringen.
Utførelsesformen ifølge fig. 7 representerer derfor en koder som anvender et skalert, eller til og med ikke-skalert logaritmisk dataformat i den psykoakustiske modell og/eller i kvantiseringsmodulen, for representasjon og prosessering av signalenergiene og lyttetersklene. Det skal imidlertid forstås at beskrivelsen gitt ovenfor av dual-logaritmen og skaleringen med 1/64 bare er et eksempel. I ethvert tilfelle vil den logaritmiske representasjon tjene til å oppnå en hurtigere utførelse av mange beregninger, slik som for eksempel i senter/side-avgjørelsesmodulen og skaleringsfaktorestimatoren i kvantiseringsmodulen, siden de opprinnelige divideringer ved å anvende det logaritmiske format som omtalt vil omformes til enkle subtraksjoner som kan utføres mange ganger raskere i en fastpunkts prosessor. Det samme gjelder rotberegninger, slik som beretninger av kvadratrot, fjerde rot etc., hvilket vil omformes til enkle forflytninger mot høyre. Beregningsomkostningene i forbindelse med overføringen til det logaritmiske området vil enkelt kompenseres for gjennom hastigheten som oppnås ved de senere trinn i algoritmeberegningen. Fordelene med utførelsesformene utlagt ovenfor vil derfor spesifikt være den høyere nøyaktighet av verdiene som representeres logaritmisk, så vel som en høyere prosesseringshastighet når en logaritmisk representasjon anvendes.
Idet det refereres til beskrivelsen ovenfor skal det forestås at foreliggende oppfinnelse ikke er begrenset til fastpunkts dataformater. Utførelsesformene ovenfor relatert til dannelsen av summer av kvadrater av verdier, kan også i rimelig grad anvendes for verdier som foreligger i et heltalls-dataformat og ikke i et fastpunkts dataformat. I dette tilfellet vil høyere verdis y-bits fra kvadratsummene av 2x-bits bli forsynt til logaritmeberegningene.
I utførelsesformene gitt ovenfor anvendes en funksjon for beregning av logaritmer, der en skalering med 1/64 utføres. Denne faktor vil være egnet dersom en og samme koding skal kjøres på forskjellige plattformer og med forskjellige fastpunkts dataformater. Det vil imidlertid også være mulig at faktoren i logaritmefunksjonen bare settes større enn x, dvs. større enn antallet bits for verdiene som forsynes til summeringen av kvadratene.
Når det gjelder de foregående utførelsesformer skal det videre forstås at foreliggende oppfinnelse ikke er begrenset til dannelsen av summer av kvadrater. Foreliggende oppfinnelse kunne for eksempel være fordelaktig dersom gruppene besto av bare en verdi, slik at bare en koding ble utført. I dette tilfellet ville det selvsagt ikke være nødvendig for styremidlene 36 å på noen måte måtte forutse skaleringsfaktorinformasjonen. I dette tilfellet ville skaleringsfaktoren anvendt for skaleringen av verdien før kvadreringen snarere være et automatisk resultat av antallet gyldige bits og/eller antallet ubenyttede bits. Svært generelt kan foreliggende oppfinnelsen anvendes for dannelsen av en representasjon av et resultat som er lineært avhengig av et kvadrat av en verdi.
Idet det refereres til beskrivelsen ovenfor skal det også forstås at foreliggende oppfinnelse selvsagt ikke er begrenset til bruk i forbindelse med audiokoding. Den samme fordel beskrevet ovenfor i forhold til audiokoding, dvs. en oppnåelse av samme skaleringsnivå for individuelle signalenergier, og med det dynamiske området opprettholdt, samtidig som kostnadene i forbindelse med audiokodingen reduseres, kan også oppnås på andre anvendelsesområder, for eksempel for å tilveiebringe en audiofil med et vannmerke eller liknende.
Det skal spesielt forstås at det er avhengig av omstendighetene kan den oppfinneriske fremgangsmåte også implementeres i programvaren. Implementeringen kan utføres i et digitalt lagringsmedium, mer spesifikt i en diskett eller en CD med elektronisk lesbare styresignaler som samvirker med et programmerbart datamaskinsystem slik at den aktuelle fremgangsmåte utføres. Oppfinnelsen består derfor generelt av et datamaskinprogramprodukt med en programkode for utførelse av den oppfinneriske fremgangsmåte lagret i en maskinlesbar bærer, når datamaskinprogramproduktet kjøres i en datamaskin. Med andre ord kan oppfinnelsen derfor realiseres som et datamaskinprogram med en programkode for utførelse av fremgangsmåten, når datamaskinprogrammet kjøres i en datamaskin.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102004059979A DE102004059979B4 (de) | 2004-12-13 | 2004-12-13 | Vorrichtung und Verfahren zur Berechnung einer Signalenergie eines Informationssignals |
PCT/EP2005/013383 WO2006063797A2 (de) | 2004-12-13 | 2005-12-13 | Verfahren zum bilden einer darstellung eines von einem quadrat eines wertes linear abhängigen berechnungsergebnisses |
Publications (2)
Publication Number | Publication Date |
---|---|
NO20072916L NO20072916L (no) | 2007-09-13 |
NO341726B1 true NO341726B1 (no) | 2018-01-08 |
Family
ID=36390168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
NO20072916A NO341726B1 (no) | 2004-12-13 | 2007-06-07 | Fremgangsmåte for å skape en representasjon av et beregnet resultat, lineært avhengig av kvadratet av en verdi |
Country Status (19)
Country | Link |
---|---|
US (1) | US8037114B2 (no) |
EP (2) | EP1825356B1 (no) |
JP (2) | JP4954087B2 (no) |
KR (1) | KR100921795B1 (no) |
CN (1) | CN101147122B (no) |
AU (1) | AU2005315826B2 (no) |
BR (1) | BRPI0517176B1 (no) |
CA (1) | CA2590509C (no) |
DE (1) | DE102004059979B4 (no) |
ES (1) | ES2596275T3 (no) |
HK (1) | HK1105233A1 (no) |
IL (1) | IL183835A (no) |
IN (1) | IN266829B (no) |
MX (1) | MX2007006805A (no) |
NO (1) | NO341726B1 (no) |
PL (1) | PL1825356T3 (no) |
PT (1) | PT1825356T (no) |
RU (1) | RU2375743C2 (no) |
WO (1) | WO2006063797A2 (no) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102004059979B4 (de) | 2004-12-13 | 2007-11-22 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Vorrichtung und Verfahren zur Berechnung einer Signalenergie eines Informationssignals |
GB0817977D0 (en) * | 2008-10-01 | 2008-11-05 | Craven Peter G | Improved lossy coding of signals |
US8311843B2 (en) * | 2009-08-24 | 2012-11-13 | Sling Media Pvt. Ltd. | Frequency band scale factor determination in audio encoding based upon frequency band signal energy |
WO2011046130A1 (ja) * | 2009-10-14 | 2011-04-21 | 日本製紙株式会社 | 異物の沈積度合いを測定する方法 |
JP2012235832A (ja) * | 2011-05-10 | 2012-12-06 | Canon Inc | 被検体情報取得装置 |
EP2980801A1 (en) * | 2014-07-28 | 2016-02-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Method for estimating noise in an audio signal, noise estimator, audio encoder, audio decoder, and system for transmitting audio signals |
US10020002B2 (en) * | 2015-04-05 | 2018-07-10 | Qualcomm Incorporated | Gain parameter estimation based on energy saturation and signal scaling |
US10559315B2 (en) * | 2018-03-28 | 2020-02-11 | Qualcomm Incorporated | Extended-range coarse-fine quantization for audio coding |
DE102022200283A1 (de) * | 2022-01-13 | 2023-07-13 | Robert Bosch Gesellschaft mit beschränkter Haftung | Radarsystem und Verfahren zum Betreiben eines Radarsystems |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5570454A (en) * | 1994-06-09 | 1996-10-29 | Hughes Electronics | Method for processing speech signals as block floating point numbers in a CELP-based coder using a fixed point processor |
US6728739B1 (en) * | 1998-06-15 | 2004-04-27 | Asahi Kasei Kabushiki Kaisha | Data calculating device and method for processing data in data block form |
US6754618B1 (en) * | 2000-06-07 | 2004-06-22 | Cirrus Logic, Inc. | Fast implementation of MPEG audio coding |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3587251T2 (de) * | 1984-12-20 | 1993-07-15 | Gte Laboratories Inc | Anpassbares verfahren und vorrichtung fuer sprachkodierung. |
JPS61188624A (ja) * | 1985-02-15 | 1986-08-22 | Fujitsu Ltd | 固定小数点演算装置 |
US5197024A (en) | 1989-06-14 | 1993-03-23 | Pickett Lester C | Method and apparatus for exponential/logarithmic computation |
JP2948378B2 (ja) * | 1991-09-28 | 1999-09-13 | 富士ゼロックス株式会社 | 重力多体系および電気力多体系用相互作用力計算用処理装置 |
JP3217576B2 (ja) * | 1993-02-22 | 2001-10-09 | テキサス インスツルメンツ インコーポレイテツド | 集積オーディオデコーダ装置及び動作方法 |
US5764698A (en) * | 1993-12-30 | 1998-06-09 | International Business Machines Corporation | Method and apparatus for efficient compression of high quality digital audio |
JPH08237497A (ja) * | 1995-02-23 | 1996-09-13 | Canon Inc | 画像処理装置及び方法 |
US5608663A (en) | 1995-03-03 | 1997-03-04 | Motorola, Inc. | Computational array circuit for providing parallel multiplication |
KR0154387B1 (ko) * | 1995-04-01 | 1998-11-16 | 김주용 | 음성다중 시스템을 적용한 디지탈 오디오 부호화기 |
US5699485A (en) * | 1995-06-07 | 1997-12-16 | Lucent Technologies Inc. | Pitch delay modification during frame erasures |
US5719998A (en) | 1995-06-12 | 1998-02-17 | S3, Incorporated | Partitioned decompression of audio data using audio decoder engine for computationally intensive processing |
JP3110288B2 (ja) * | 1995-07-21 | 2000-11-20 | 日本電気株式会社 | 指数対数変換回路 |
DE19638997B4 (de) * | 1995-09-22 | 2009-12-10 | Samsung Electronics Co., Ltd., Suwon | Digitales Toncodierungsverfahren und digitale Toncodierungsvorrichtung |
KR100335609B1 (ko) | 1997-11-20 | 2002-10-04 | 삼성전자 주식회사 | 비트율조절이가능한오디오부호화/복호화방법및장치 |
JPH11242585A (ja) * | 1998-02-24 | 1999-09-07 | Sony Corp | 除算回路およびグラフィック演算装置 |
WO1999050828A1 (en) * | 1998-03-30 | 1999-10-07 | Voxware, Inc. | Low-complexity, low-delay, scalable and embedded speech and audio coding with adaptive frame loss concealment |
JP3515903B2 (ja) * | 1998-06-16 | 2004-04-05 | 松下電器産業株式会社 | オーディオ符号化のための動的ビット割り当て方法及び装置 |
JP2000151414A (ja) * | 1998-11-12 | 2000-05-30 | Matsushita Electric Ind Co Ltd | ディジタルオーディオ符号化装置、同符号化方法、及び同符号化プログラムを記録した記録媒体 |
US6341300B1 (en) * | 1999-01-29 | 2002-01-22 | Sun Microsystems, Inc. | Parallel fixed point square root and reciprocal square root computation unit in a processor |
US6516049B1 (en) * | 2000-06-06 | 2003-02-04 | Ikanos Communications, Inc. | Method and apparatus for insertion loss estimation in wireline communications |
JP2002196792A (ja) * | 2000-12-25 | 2002-07-12 | Matsushita Electric Ind Co Ltd | 音声符号化方式、音声符号化方法およびそれを用いる音声符号化装置、記録媒体、ならびに音楽配信システム |
US6732071B2 (en) | 2001-09-27 | 2004-05-04 | Intel Corporation | Method, apparatus, and system for efficient rate control in audio encoding |
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 |
DE10234130B3 (de) | 2002-07-26 | 2004-02-19 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Vorrichtung und Verfahren zum Erzeugen einer komplexen Spektraldarstellung eines zeitdiskreten Signals |
SG135920A1 (en) | 2003-03-07 | 2007-10-29 | St Microelectronics Asia | Device and process for use in encoding audio data |
DE102004059979B4 (de) | 2004-12-13 | 2007-11-22 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Vorrichtung und Verfahren zur Berechnung einer Signalenergie eines Informationssignals |
-
2004
- 2004-12-13 DE DE102004059979A patent/DE102004059979B4/de not_active Expired - Fee Related
-
2005
- 2005-12-13 PT PT58500695T patent/PT1825356T/pt unknown
- 2005-12-13 RU RU2007126655/09A patent/RU2375743C2/ru active
- 2005-12-13 EP EP05850069.5A patent/EP1825356B1/de active Active
- 2005-12-13 EP EP07013279A patent/EP1843246A3/de not_active Ceased
- 2005-12-13 CA CA2590509A patent/CA2590509C/en active Active
- 2005-12-13 JP JP2007545932A patent/JP4954087B2/ja active Active
- 2005-12-13 PL PL05850069T patent/PL1825356T3/pl unknown
- 2005-12-13 ES ES05850069.5T patent/ES2596275T3/es active Active
- 2005-12-13 IN IN2141KON2007 patent/IN266829B/en unknown
- 2005-12-13 MX MX2007006805A patent/MX2007006805A/es active IP Right Grant
- 2005-12-13 AU AU2005315826A patent/AU2005315826B2/en active Active
- 2005-12-13 CN CN2005800480525A patent/CN101147122B/zh active Active
- 2005-12-13 KR KR1020077013249A patent/KR100921795B1/ko active IP Right Grant
- 2005-12-13 BR BRPI0517176-8A patent/BRPI0517176B1/pt active IP Right Grant
- 2005-12-13 WO PCT/EP2005/013383 patent/WO2006063797A2/de active Application Filing
-
2007
- 2007-06-07 NO NO20072916A patent/NO341726B1/no unknown
- 2007-06-11 IL IL183835A patent/IL183835A/en active IP Right Grant
- 2007-06-13 US US11/762,690 patent/US8037114B2/en active Active
- 2007-08-16 JP JP2007212119A patent/JP4953978B2/ja active Active
- 2007-12-12 HK HK07113569.7A patent/HK1105233A1/zh unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5570454A (en) * | 1994-06-09 | 1996-10-29 | Hughes Electronics | Method for processing speech signals as block floating point numbers in a CELP-based coder using a fixed point processor |
US6728739B1 (en) * | 1998-06-15 | 2004-04-27 | Asahi Kasei Kabushiki Kaisha | Data calculating device and method for processing data in data block form |
US6754618B1 (en) * | 2000-06-07 | 2004-06-22 | Cirrus Logic, Inc. | Fast implementation of MPEG audio coding |
Non-Patent Citations (1)
Title |
---|
Chhabra, A. et al., Texas Instruments Inc., "A Block Floating Point Implementation on the TMS320C54x DSP", Application Report SPRA610, Dec. 1999, pp. 1-10. [Hentet fra internet 2016.12.22] (http://www.eeng.dcu.ie/~ee206/pdf/block_flt_pt.pdf), Dated: 01.01.0001 * |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
NO341726B1 (no) | Fremgangsmåte for å skape en representasjon av et beregnet resultat, lineært avhengig av kvadratet av en verdi | |
CN102592602B (zh) | 对音频信号的时间伸缩改进变换编码 | |
RU2601188C2 (ru) | Способы и системы для эффективного восстановления высокочастотного аудиоконтента | |
JP6422813B2 (ja) | 符号化装置、復号装置、これらの方法及びプログラム | |
US20190355369A1 (en) | Coding device, decoding device, and method and program thereof | |
CA2718857A1 (en) | Time warp contour calculator, audio signal encoder, encoded audio signal representation, methods and computer program | |
JP6979048B2 (ja) | 低複雑度の調性適応音声信号量子化 | |
WO2016167216A1 (ja) | マッチング装置、判定装置、これらの方法、プログラム及び記録媒体 | |
KR20070015790A (ko) | 프로그래머블 프로세서에서 mpeg-2 또는 mpeg-4aac 오디오 복호 알고리즘을 처리하기 위한 연산 회로및 연산 방법 | |
JPH07199996A (ja) | 波形データ符号化装置、波形データ符号化方法、波形データ復号装置、及び波形データ符号化/復号装置 | |
US10529350B2 (en) | Coding device, decoding device, and method and program thereof | |
CN1711592A (zh) | 用于产生音频成分的方法和设备 | |
US7317958B1 (en) | Apparatus and method of additive synthesis of digital audio signals using a recursive digital oscillator | |
US20090319589A1 (en) | Using fractional exponents to reduce the computational complexity of numerical operations | |
CN115101033A (zh) | 一种混音的方法及相关装置 | |
CN103503064B (zh) | 用于信号的低复杂度组合代码化和解码的装置和方法 | |
JPH0527800A (ja) | ベクトル量子化方式 | |
KR20050100620A (ko) | 수정된 이산 코사인 변환 계산 | |
WO2001033556A1 (en) | A method of reducing memory requirements in an ac-3 audio encoder |