NO334930B1 - Apparat og fremgangsmåte for behandling av minst to inngangsstørrelser - Google Patents

Apparat og fremgangsmåte for behandling av minst to inngangsstørrelser Download PDF

Info

Publication number
NO334930B1
NO334930B1 NO20061450A NO20061450A NO334930B1 NO 334930 B1 NO334930 B1 NO 334930B1 NO 20061450 A NO20061450 A NO 20061450A NO 20061450 A NO20061450 A NO 20061450A NO 334930 B1 NO334930 B1 NO 334930B1
Authority
NO
Norway
Prior art keywords
values
integer
input
rounding
block
Prior art date
Application number
NO20061450A
Other languages
English (en)
Other versions
NO20061450L (no
Inventor
Ralf Geiger
Gerald Schuller
Original Assignee
Fraunhofer Ges Zur Förderung Der Angewandten Forschung Ev
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 Zur Förderung Der Angewandten Forschung Ev filed Critical Fraunhofer Ges Zur Förderung Der Angewandten Forschung Ev
Publication of NO20061450L publication Critical patent/NO20061450L/no
Publication of NO334930B1 publication Critical patent/NO334930B1/no

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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/0212Speech 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 using orthogonal transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding

Abstract

For reduksjon av avrundingsfeil bruker man en første og en andre ikke heltallig inngangsstørrelse (260, 262) og kombinerer disse (268), for eksempel ved summering, i ikke heltallig tilstand slik at man kommer frem til en ikke heltallig resulterende utgangsstørrelse som deretter avrundes og tilføyes (269) en tredje inngangsstørrelse. Følgelig kan avrundingsfeilen reduseres i et grensesnitt mellom to rotasjoner som er delt opp i løftetrinn eller mellom en første rotasjon som er delt opp i løftetrinn og et andre løftetrinn tilhørende en etterfølgende flerdimensjonal løftesekvens.

Description

Oppfinnelses fagfelt
Oppfinnelsen angår signalprosessering og spesielt signalprosessering av sekvensielle verdier, slik som audiosampler og videosampler, som er spesielt passende for anvendelser ved tapsfri koding.
Oppfinnelsen er videre passende for kompresjonsalgoritmer for diskrete verdier omfattende audio- og/eller bildeinformasjon, og spesielt for kodingsalgoritmer som omfatter en transformasjon i frekvensområdet eller tidsområdet eller posisjonsområdet, etterfulgt av en koding, slik som en entropikoding i form av en Huffmankoding eller en aritmetisk koding.
Bakgrunn for oppfinnelsen
Moderne fremgangsmåter for audiokoding, slik som MPEG Layer3 (MP3) eller MPEG AAC, benytter transformasjoner, slik som den såkalte modifiserte diskrete kosinus-transformasjonen (MDCT), for å oppnå en blokkvis frekvensrepresentasjon av et audiosignal. En slik audiokoding oppnår vanligvis en strøm av tidsdiskrete audiosampler. Strømmen av audiosampler vindusdeles for å oppnå en vindusdelt blokk på for eksempel 1024 eller 2048 vindusdelte audiosampler. For vindusdelingen anvendes forskjellige vindusfunksjoner, slik som et sinusvindu, etc.
De vindusdelte tidsdiskrete audiosampler omformes så til en spektral representasjon ved hjelp av en filterbank. I prinsippet kan en fourier-trans formasjon (FT) eller, hvis det foreligger spesielle grunner, en variant av en slik transformasjon, så som en avansert, forsert eller rask fourier-transformasjon FFT, eller som tidligere nevnt, en MDCT, anvendes for dette. Blokken av audiospektrale verdier fra filterbanken kan så prosesseres videre, som nødvendig. Ved de ovennevnte kodinger følger en kvantisering av de audiospektrale verdier, der kvantiseringstrinnene typisk velges slik at kvantiseringsstøyen er under den psykoakustiske masketerskelen, dvs. den er "avmasket". Kvantisering er en koding som er beheftet med tap. For å oppnå en ytterligere reduksjon av datamengden, entropikodes så de kvantiserte spektral verdier, for eksempel ved hjelp av såkalt Huffman-koding. Ved tillegg av sideinformasjon, slik som skalafaktorer etc, dannes en bitstrøm, som kan lagres eller sendes, av de entropikodede kvantiserte spektralverdier ved hjelp av en bitstrømmultipleksenhet, her for korthets skyld kalt en multiplekser.
I audiodekodere deles bitstrømmen opp i kodede kvantiserte spektralverdier og sideinformasjon ved hjelp av en bitstrømdemultiplekser. De entropikodede kvantiserte spektralverdier entropidekodes først ved å oppnå de kvantiserte spektralverdier. De kvantiserte spektralverdier kvantiseres så inverst for å oppnå dekodede spektralverdier omfattende kvantiseringsstøy, som imidlertid er under den psykoakustiske masketerskel og som således ikke vil være hørbar. Disse spektralverdier omformes så til en tidsrepre-sentasjon ved hjelp av en synteseiflterbank for således å oppnå tidsdiskrete dekodede audiosampler. I syntesefilterbanken må en transformasjonsalgoritme invers av transforma-sjonsalgoritmen benyttes. Vindusdelingen må videre reverseres etter den motsatte frekvens-tidstransformasjon.
For å kunne oppnå god frekvensselektivitet, anvender moderne audiokodere typisk blokkoverlapping. Et slikt tilfelle er illustrert på fig. 6A. Først tas for eksempel 2048 tidsdiskrete audiosampler og vindusdeles ved hjelp av midler 402. Vindusdelings-midlene 402 har en vinduslengde på 2N sampler og tilveiebringer en blokk på 2N vindusdelte sampler på utgangssiden. For å kunne oppnå en vindus overlapping, dannes en andre blokk av 2N vindusdelte sampler ved hjelp av midler 404, som er vist atskilt fra midlene 402 på fig. 6A bare for klarhetens skyld. De 2048 samplene matet til midlene 404, er imidlertid ikke de tidsdiskrete audiosamplene som følger umiddelbart etter det første vindu, men inneholder den andre halvdel av samplene vindusdelt av midlene 402 og i tillegg bare 1024 "nye" sampler. Overlappingen er illustrert på fig. 6A ved midler 406, og medfører en overlappingsgrad på 50 %. MDCT-algoritmen anvendes som på de 2N vindusdelte sampler avgitt fra midler 402 og de 2N vindusdelte sampler avgitt fra midler 404 ved hjelp av midler 408 henholdsvis 410.1 henhold til den kjente MDCT-algoritmen, tilveiebringer 408 N spektralverdier for det første vindu, mens midler 410 også tilveiebringer N spektralverdier, men for det andre vindu hvor det foreligger en overlapping på 50 % mellom det første vindu og det andre vindu.
I dekoderen mates de N spektral verdiene i det første vindu, som vist på fig. 6B, til midler 412 som utfører en invers modifisert diskret kosinus-transformasjon. Det samme gjelder de N spektralverdier i det andre vindu. De mates til midler 414 som også utfører en invers modifisert diskret kosinus-transformasjon. Midlene 412 og 414 tilveiebringer hver 2N sampler for det første vindu henholdsvis 2N sampler for det andre vindu.
I midler 416, betegnet TD AC ("time domain aliasing cancellation") på fig. 6B, tas i betraktning det faktum at de to vinduer overlapper hverandre. Spesifikt summeres et sampel yi i den andre halvdel av det første vindu, dvs. med en indeks N + k, med et sampel y2fra den første halvdel av det andre vindu, dvs. med en indeks k, slik at det dannes N dekodede temporale sampler på utgangssiden, dvs. i dekoderen.
Det skal bemerkes at ved funksjonen til midler 416, som også betegnes som en adderingsfunksjon, behandles vindusdelingen utført i koderen skjematisk illustrert på fig. 6A for en stor del automatisk, slik at ingen eksplisitt "invers vindusdeling" må utføres i dekoderen illustrert på fig. 6B.
Dersom vindus funksjonen implementert gjennom midler 402 eller 404 betegnes w(k), der indeksen k representerer tidsindeksen, er det en betingelse at kvadratet av vindusvekttilleggen w(k) addert med kvadratet av vindusvekttilleggen w(N + k) blir 1, der k løper fra 0 til N-l. Dersom det benyttes et sinusvindu hvor vindusvektingen følger den første halvbølge av sinusfunksjonen, er denne betingelsen alltid oppfylt, siden kvadratet av sinusverdien og kvadratet av kosinusverdien til sammen blir 1 for hver vinkel.
I vindusmetoden med påfølgende MDCT-funksjon beskrevet på fig. 6A, er det en ulempe av vindusdelingen ved multiplikasjon av et tidsdiskret sampel, når det gjelder et sinusvindu, oppnås som et flytetall, siden sinusverdien til vinkler mellom 0 og 180°, bortsett fra vinkelen 90°, ikke blir et heltall. Selv når heltalls tidsdiskrete sampler vindusdeles, vil et flytetall bli resultatet etter vindusdelingen.
Selv når det ikke benyttes en psykoakustisk koder, vil derfor, for å oppnå tapsfri koding, kvantisering være nødvendig ved utgangen fra midler 408 hhv. 410, for å være i stand til å utføre en i rimelig grad håndterbar entropikoding.
Generelt oppnås kjente heltallstransformasjoner for tapsfri audio- og/eller videokoding ved en dekomponering av de anvendte transformasjoner i Givens-rotasjoner og ved å anvende løfteskjemaet på hver Givens-rotasjon. For hvert trinn introduseres således en avrundingsfeil. I de påfølgende Givens-rotasjoner, fortsetter avrundingsfeilen å akkumulere. Den resulterende feil i tilnærmingen blir spesielt problematisk ved tapsfri audiokoding, spesielt når lange transformasjoner anvendes, hvor det tilveiebringes for eksempel 1024 spektralverdier, noe som vil være tilfelle med den kjente MDCT med overlapping og addering (MDCT = modifisert diskret kosinus-transformasjon). Spesielt i det høyere frekvensområdet hvor audiosignalet jo typisk har en svært lav energi, kan tilnærmingsfeilen raskt bli større enn det aktuelle signal, slik at disse tilnærmingsmåtene vil være problematiske ved tapsfri koding og spesielt i forhold til den effektivitet som kan oppnås ved en slik koding.
Når det gjelder audiokoding er heltallstransformasjonen, dvs. transforma-sjonsalgoritmen som genererer heltalls utgangsverdier, spesifikt basert på den kjente DCT-IV, som ikke tar i betraktning DC-komponenten, dens heltalls transformasjoner for bildeanvendelser snarere er basert på DCT-II, som spesielt er tilpasset bruk av DC-komponenten. Slike heltallstransformasjoner er, for eksempel, kjent i Y. Zeng, G. Bi og Z. Lin, "Integer sinusoidal transforms based on lifting factorization", i Proe. ICASSP'01, mai 2001, sider 1,181 - 1,184, K. Komatsu og K. Sezaki, "Reversible discrete cosine transform", i Proe. ICASSP, 1998, vol. 3, sider 1,769 - 1,772, P. Hao og Q. Shi, "Matrix factorizations for reversible integer mapping", IEEE Trans. Signal Processing, Signal Processing, vol. 49, sider 2,314 - 2,324 og J. Wang, J. Sun og S. Yu, "1-d og 2-d transforms from integers to integers", i Proe. ICASSP'03, Hongkong, april 2003.
Som nevnt ovenfor, er heltallstransformasjonen beskrevet her basert på dekomponering av transformasjonen i Givens-rotasjoner og ved anvendelse av det kjente løfte-skjema på Givens-rotasj onene, noe som resulterer i problemene med akkumulering av avrundingsfeil. Dette oppstår spesifikt på grunn av det faktum at, ved en transformasjon, må avrundingen utføres mange ganger, dvs. etter hvert løftetrinn, slik at det blir utført, spesielt ved lange transformasjoner som medfører et korresponderende stort antall løftetrinn, et særlig stort antall avrundinger. Som beskrevet medfører dette en akkumulering av feil, spesielt ved en relativ kompleks prosessering, fordi avrunding utføres etter hvert løftetrinn for å kunne utføre det neste løftetrinn.
I det følgende vil dekomponeringen av MDCT-vindusdelingen igjen bli illustrert med referanse til fig. 9-11, som beskrevet i DE 10129240 Al, der denne dekomponering av MDCT-vindusdelingen i Givens-rotasjoner med løftematriser og korresponderende avrundinger på en fordelaktig måte er kombinerbar med konseptet diskutert i forbindelse med fig. 1 for omformingen og på fig. 2 for den inverse omformingen, for således å oppnå en fullstendig heltalls MDCT-tilnærming, dvs. en heltalls MDCT (IntMDCT) ifølge oppfinnelsen, der både et forover- og et revers transformasjonskonsept er gitt som et eksempel på en MDCT.
Fig. 3 viser et oversiktsdiagram for en foretrukket innretning ifølge oppfinnelsen for prosessering av tidsdiskrete sampler som representerer et audiosignal for å fremskaffe heltallsverdier på hvilke Int-MDCT heltallstransformasjonsalgoritmen er operativt basert. De tidsdiskrete sampler er vindusdelt ved hjelp av innretningen vist på fig. 3 og om ønskelig omformet til en spektralrepresentasjon. De tidsdiskrete sampler som forsynes innretningen ved en inngang 10 vindusdeles med et vindu w med en lengde som korresponderer til 2N tidsdiskrete sampler for å oppnå, ved utgangen 12, heltalls vindusdelte sampler som er tilpasset en omforming til en spektralrepresentasjon ved hjelp av en transformasjon, spesielt midler 14 for gjennomføring av en heltalls MDCT. Heltalls DCT er konstruert for å generere N utgangsverdier fra N inngangsverdier i motsetning til MDCT-funksjonen 408 på fig. 6A som bare genererer N spektralverdier fra 2N vindusdelte sampler på grunn av MDCT-likningen.
For vindusdelingen av de tidsdiskrete sampler velges først to diskrete sampler av midlene 16 som sammen utgjør en vektor av tidsdiskrete sampler. Et tidsdiskret sampel valgt av innretningen 16 befinner seg i den første fjerdedel av vinduet. De andre tidsdiskrete sampel befinner seg i den andre fjerdedel av vinduet, som vil bli diskutert i mer detalj i forbindelse med fig. 5. Vektoren generert av midlene 16 utstyres så med en rotasjonsmatrise av dimensjon 2x2, der denne operasjonen ikke utføres direkte, men ved hjelp av flere såkalte løftematriser.
En løftematrise har den egenskap at den omfatter bare et element som er avhengig av vinduet w og som er forskjellig fra 1 eller 0.
Faktoriseringen av wavelet-transformasjoner i løftetrinn er presentert i spesialist-publikasjonen "Factoring wavelet transforms into lifting steps", Ingrid Daubechies og Wim Sweldens, forutgave, Bell Laboratories, Lucent Technologies, 1996. Generelt er et Løfteskjema en enkel relasjon mellom perfekt rekonstruerende filterpar med de samme lavpass- eller høypassfiltere. Hvert par av komplementære filtere kan faktoriseres til løftetrinn. Dette gjelder spesielt Givens-rotasjoner. La oss se på det tilfelle der flerfasematriser er en Givens-rotasjon. Da gjelder følgende:
Elementene på hoveddiagonalen til hver av tre løftematriser på høyre side av likhetstegnet har verdien 1. Hver løftematrise har videre et sekundærdiagonalelement lik 0 og et sekundærdiagonalelement som er avhengig av rotasjonsvinkelen a.
Vektoren multipliseres nå med den tredje løftematrise, dvs. løftematrisen helt til høyre i likningen ovenfor, og dermed fåes en første resultatvektor. Dette er illustrert på flg. 3 med midler 18. Nå avrundes den første resultatvektor ved hjelp av en avrundingsfunksjon som avbilder mengden av reelle tall til mengden av heltall, som vist på fig. 3 ved midler 20. Ved utgangen fra midlene 20, er en avrundet første resultatvektor fremskaffet. Den avrundede første resultatvektor forsynes så til midler 22 for å multiplisere den med den sentrale, dvs. den andre løftematrise for således å oppnå en andre resultatvektor som igjen avrundes ved midler 24 for å fremskaffe en avrundet andre resultatvektor. Den andre avrundede resultatvektor forsynes nå til midler 26 hvor den multipliseres med løfte-matrisen vist til venstre i likningen ovenfor, dvs. den første for å fremskaffe en tredje resultatvektor som til slutt avrundes med midler 28 for således til slutt å fremskaffe heltalls vindusdelte sampler ved utgangen 12 som, dersom det er ønskelig med en spektral representasjon av denne, nå må prosesseres med midler 14 for å fremskaffe heltalls spektralverdier ved spektralutgangen 30.
Midlene 14 er fortrinnsvis implementert som en heltalls DCT.
Den diskrete kosinus-transformasjon ifølge type 4 (DCT-IV) med en lengde N er gitt ved følgende likning.
Koeffisientene i DCT-IV danner en ortogonal NxN-matrise. Hver ortogonal NxN-matrise kan dekomponeres til N (N-l)/2 Givens-rotasjoner, som omtalt i spesialistpublika-sjonen P.P. Vaidyanathan, "Multirate systems and fllterbanks", Prentice Hall, Englewood Cliffs, 1993. Det skal bemerkes at andre mulige dekomponeringer også eksisterer.
Med hensyn til klassifikasjonene av de forskjellige DCT-algoritmer vises det til H.S. Malvar, "Signal processing with lapped transforms", Artech House, 1992. Generelt varierer DCT-algoritmene ved deres basisfunksjoner. Mens den her foretrukne DCT-IV omfatter ikke-symmetriske basisfunksjoner, dvs. en kosinus-kvartbølge, en kosinus 3/4- bøle, en kosinus 5/4-bølge, en kosinus 7/4-bølge, etc., har den diskrete kosinus-transformasjonen av for eksempel type II (DCT-II) aksisymmetriske og punktsymmetriske basisfunksjoner. Den nulte basisfunksjon har en DC-komponent, den første basisfunksjon er en halv kosinusbølge, den andre basisfunksjon er en hel kosinusbølge, etc. På grunn av det faktum at DCT-II legger spesielt vekt på DC-komponenten, anvendes den til videokoding, men ikke til audiokoding, fordi DC-komponenten ikke er relevant ved audiokoding i motsetning til videokoding.
I det følgende vil en drøftelse av hvordan rotasjons vinkelen a i Givens-rotasjonen avhenger av video-funksjonen bli utført.
En MDCT med en vinduslengde på 2N kan reduseres til en diskret kosinus-transformasjon av type IV med en lengde N. Dette oppnås eksplisitt ved å utføre TDAC-operasjonen i tidsområdet og så anvende DCT-IV. I tilfellet en overlapping på 50 %, overlapper venstre halvdel av vinduet for blokk t høyre halvdel av den foregående blokk, dvs. blokk t-1. De overlappende deler av to påfølgende blokker t-1 og t forprosesseres i tidsområdet, dvs. før transformasjonen, som følger, dvs. den prosesseres mellom inngangen 10 og utgangen 12 på fig. 3:
Verdiene merket med bølgestrek er verdiene ved utgangen 12 på fig. 3, mens x-verdiene ikke merket med bølgestrek i likningen ovenfor er verdiene ved inngangen 10 og/eller utgangen fra midlene 16 for selektering. Indeksen k løper fra 0 til N/2-1, mens w representerer vindusfunksjonen.
På grunn av TDAC-betingelsen for vindusfunksjonen w, gjelder følgende:
For bestemte vinkler eik, k = 0,N/2-1, kan, som omtalt, denne forprosessering i tid anses å være en Givens-rotasjon.
Vinkelen a i denne rotasjon avhenger av vindusfunksjonen w på følgende måte:
Det skal bemerkes at hvilken som helst vindusfunksjon w kan benyttes så lenge den tilfredsstiller TDAC-betingelsen.
I det følgende beskrives en kaskadekoder og dekoder med henvisning til fig. 4. De tidsdiskrete sampler x(0) til x(2N-l), som er vindusdelt sammen av et vindu, velges først av midlene 16 på fig. 3 slik at samplet x(0) og samplet x(N-l), dvs. et sampel fra den første fjerdedel av vinduet og et sampel fra den andre fjerdedel av vinduet, velges for å danne vektoren ved utgangen fra midler 16. Krysspilene representerer skjematisk løfte-multiplikasjonene og de påfølgende avrundinger ved midlene 18, 20 og 22, 24 og 26, 28, respektivt, for å fremskaffe de heltalls vindusdelte sampler ved inngangen til DCT-IV-blokkene.
Når den første vektor er blitt prosessert som beskrevet ovenfor, velges videre en andre vektor fra samplene x(N/2-l) og x(N/2), dvs. enda et sampel fra den første fjerdedel av vinduet og en sampel av den andre fjerdedel av vinduet, som igjen prosesseres ved algoritmen beskrevet på fig. 3. Alle de andre sampler fra de første og andre fjerdedeler av vinduet prosesseres på tilsvarende måte. Den samme prosessering utføres også for de tredje og fjerde fjerdedeler av det første vindu. Det foreligger nå 2N vindusdelte heltalls sampler ved utgangen 12 som så forsynes til en DCT-IV transformasjon som illustrert på fig. 4. Mer spesifikt avgis de vindusdelte heltallssampler fra de andre og tredje fjerdedeler til en DCT. De vindusdelte heltallssampler i den første fjerdedel av vinduet prosesseres i en foregående DCT-IV sammen med de vindusdelte heltallssampler i den fjerde fjerdedel av det foregående vindu. På samme måte som vist på fig. 4, avgis den fjerde fjerdedel av de vindusdelte sampler til en DCT-IV transformasjon sammen med den første fjerdedel av det neste vindu. Den sentrale heltalls DCT-IV-transformasjon 32 vist på fig. 4 fremskaffer nå N heltalls spektralverdier y(0) til y(N-l). Disse heltalls spektralverdier kan nå for eksempel enkelt entropikodes uten at en kvantisering i tillegg er nødvendig, fordi vindusdelingen og transformasjonen avgir heltallsverdier.
I den høyre halvdel av fig. 4 er en dekoder vist. Dekoderen som består av en revers transformasjon og en "invers vindusdeling" fungerer motsatt i forhold til koderen. Det er kjent at en invers DCT-IV kan benyttes som en revers transformasjon av en DCT-IV som vist på fig. 4. Utgangsverdiene fra dekoderen DCT-IV 34 prosesseres nå inverst med de korresponderende verdier fra den foregående transformasjon og/eller den påfølgende transformasjon, som vist på fig. 4, for igjen å kunne generere tidsdiskrete audiosampler x(0) - x(2-Nl) fra de vindusdelte heltallssampler ved utgangen av midler 34 og/eller den foregående eller påfølgende transformasjon.
Operasjonen på utgangssiden foregår ved en invers Givens-rotasjon, dvs. slik at blokkene 26, 28 og 22, 24 og 18, 20, traverseres i motsatt retning. Dette vil bli illustrert mer detaljert i forhold til den andre løftematrise i likning 1. Når (i koderen) den andre resultatvektor dannes ved at den første avrundede resultatvektor multipliseres med den andre løftematrise (midler 22), vil det følgende bli resultatet:
Verdiene x, y på høyresiden i likning 6 er heltall. Dette gjelder imidlertid ikke for verdien x sin a. Her må avrundingsfunksjonen r innføres, som illustrert i følgende likning:
Denne operasjon utføres ved hjelp av midler 24.
Den inverse avbildning (i dekoderen) defineres som følger:
På grunn av minustegnet foran avrundingsleddet er det åpenbart at heltallstilnærmingen i løftetrinnet kan reverseres uten at det innføres en feil. Anvendelsen av denne tilnærming på hver av de tre løftetrinnene gir en heltallstilnærming for Givens-rotasjon. Den avrundede rotasjon (i koderen) kan reverseres (i dekoderen) uten at det introduseres en feil ved å traversere de invers avrundede løftetrinn i motsatt rekkefølge, dvs. dersom algoritmen på fig. 3 ved dekodingen utføres fra bunnen til toppen.
Dersom avrundingsfunksjonen er punktsymmetrisk, vil den inverst avrundede rotasjon være identisk med den avrundede rotasjon med en vinkel på -a og kan uttrykkes som følger:
Løftematrisene for dekoderen, dvs. for den inverse Givens-rotasjon, oppnås i dette tilfelle direkte fra likning 1 ved å erstatte uttrykket "sin a" med uttrykket "-sin a".
I det følgende skal en dekomponering av en vanlig MDCT med overlappende vinduer 40-46 igjen illustreres i forbindelse med fig. 5. Vinduene 40-46 har hvert en overlapping på 50 %. Først utføres Givens-rotasjonen i hvert vindu i den første og andre fjerdedel i vinduet og/eller i den tredje og fjerde fjerdedel i vinduet, som skjematisk illustrert ved pilene 48. Så avgis de roterende vinduer, dvs. de vindusdelte heltallssampler, til en N-til-N DCT slik at de andre og tredje fjerdedeler av et vindu henholdsvis den fjerde og første fjerdedel av et påfølgende vindu, alltid omformes til en spektralrepresentasjon sammen ved hjelp av en DCT-IV-algoritme.
De vanlige Givens-rotasjoner dekomponeres derfor i løftematriser som anvendes sekvensielt, hvor det etter hver løftematrisemultiplikasjon utføres et avrundingstrinn slik at flyttallene avrundes umiddelbart etter at de er generert og slik at før hver multiplikasjon av en resultatvektor med en løftematrise, vil denne resultatvektor bare bestå av heltall.
Utgangsverdiene antar således alltid en heltallsverdi, mens det fortrinnsvis også benyttes heltallsverdier for inngangsverdiene. Dette utgjør ikke noen begrensning, fordi alle eksempler på PCM-sampler antar heltallsverdier når de lagres på en CD, med et verdiområde som varierer avhengig av bitbredden, dvs. avhengig av om de tidsdiskrete digitale inngangsverdiene er 16-bitverdier eller 24-bitverdier. Uansett kan hele prosessen reverseres, som omtalt ovenfor, ved å utføre de inverse rotasjoner i omvendt rekkefølge. Det foreligger således en heltallstilnærming i MDCT med en perfekt rekonstruksjon, dvs. en tapsfri transformasjon.
Den beskrevne transformasjon tilveiebringer heltalls utgangsverdier i stedet for flytetallsverdier. Den tilveiebringer en perfekt rekonstruksjon slik at det ikke introduseres noen feil når en forover- etterfulgt av en reverstransformasjon utføres. Ifølge en foretrukket utførelsesform av oppfinnelsen, er denne transformasjon en erstatning for den modifiserte diskrete kosinus-transformasjon. Andre transformasjonsmetoder kan imidlertid også utføres på heltall så lenge en dekomponering i rotasjoner og en dekomponering av rotasjonene i løftetrinn er mulig.
Heltalls MDCT har de fleste av de gunstige egenskaper til MDCT. Den har en overlappingsstruktur, hvorved det oppnås en bedre frekvensutvelgelse enn med ikke-overlappende blokktransformasjoner. På grunn av TDAC-funksjonen, som allerede er benyttet ved vindusdelingen for transformasjonen, opprettholdes en kritisk sampling slik at det totale antall spektralverdier som representerer et audiosignal er lik det totale antall inngangssampler.
Sammenliknet med en vanlig MDCT som tilveiebringer flytetallssampler, viser den beskrevne og foretrukne heltallstransformasjon at støyen økes sammenliknet med den vanlige MDCT bare i spektralområdet hvor signalnivået er lavt, mens denne økningen i støy ikke blir merkbar ved signifikante signalnivåer. For øvrig medfører heltallspro-sesseringen selv at det legges til rette for en effektiv maskinvareimplementasj on, fordi det bare benyttes multiplikasjonstrinn som kan enkelt dekomponeres i skifte/addertrinn som kan maskinvareimplementeres på en enkel og rask måte. En programvareimplementasjon er selvsagt også mulig.
Heltallstransformasjonen tilveiebringer en god spektralrepresentasjon for audiosignalet samtidig som den forblir i heltallsområdet. Når den anvendes på de tonale deler av et audiosignal, resulterer dette i en god energikonsentrasjon. Dermed kan en effektiv tapsfri koding konstrueres ved å utvide kaskademessig vindusdelingen/transformasjonen illustrert på fig. 3 med en entropikode. Spesielt er en komprimert koding som benytter escape-verdier, slik som den anvendes ved MPEG AAC, fordelaktig. Fortrinnsvis nedskaleres alle verdier med en andre potens til de passer inn i en ønsket kodetabell og så i tillegg kode de utelatte minst signifikante bits. Sammenliknet med å benytte større kodetabeller, er det beskrevne alternativ mer gunstig med hensyn til bruk av lagringsplass ved lagring av kodetabeller. En nesten tapsfri koder kunne også tilveiebringes ved rett og slett å utelate noen av de minst signifikante bits.
Spesielt for tonesignaler gir entropikoding av heltalls spektralverdier god gevinst. For transiente deler av signalet er gevinsten for kodingen liten, nemlig på grunn av det flate spekteret av transiente signaler, dvs. på grunn av et lite antall spektralverdier som er lik eller nær 0. Som beskrevet i J. Herre, J.D. Johnston: "Enhancing the performance of perceptual audio coders by using temporal noise shaping (TNS)" 101. AES Convention, Los Angeles, 1996, fortrykk 4384, kan denne flatheten imidlertid brukes ved å benytte en lineær prediksjon i frekvensområdet. Et alternativ er en prediksjon med en åpen sløyfe, mens et annet alternativ er en prediktor med en lukket sløyfe. Det første alternativ, dvs. en prediktor med åpen sløyfe, benevnes TNS. Kvantiseringen etter prediksjonen fører til et opptak av den resulterende kvantiseringsstøy i den temporale strukturen til audiosignalet og forhindrer således for-ekkoet i psykoakustiske audiokodere. For tapsfri audiokoding vil det andre alternativet, dvs. prediktor med en lukket sløyfe, være mer passende, siden prediksjon med lukket sløyfe gir en nøyaktig rekonstruksjon av inngangssignålet. Når denne teknikk anvendes på et generert spektrum, må et avrundingstrinn utføres etter hvert trinn i prediksjonsfilteret for å kunne bli værende i heltallsområdet. Ved å benytte det inverse filter og den samme avrundingsfunksjon, kan det opprinnelige spektrum reproduseres nøyaktig.
For å kunne benytte redundansen mellom to kanaler for datareduksjon, kan en senter-sidekoding også anvendes på en tapsfri måte, dersom en avrundet rotasjon med en vinkel på n/ 4 benyttes. Sammenliknet med alternativet å beregne summen og differansen av de venstre og høyre kanaler i et stereosignal, har avrundet rotasjon den fordel at den bevarer energi. Bruken av såkalt felles stereokodeteknikker kan slås på og av for hvert bånd, slik den også anvendes i standard MPEG AAC. Andre rotasjonsvinkler kan også taes i betraktning for en mer fleksibel redundansreduksjon mellom to kanaler.
Spesielt tilveiebringer transformasjonskonseptet illustrert i forbindelse med flg. 3 en heltallsimplementasjon av MDCT, det vil si en IntMDCT, som fungerer tapsfritt ved forovertransformasjon og den påfølgende reverstransformasjon. Ved avrundingstrinnene 20, 24, 28 og de korresponderende avrundingstrinn i heltalls-DCT (blokk 14 på fig. 3), er en heltallsprosessering videre alltid mulig, dvs. en prosessering med grovere kvantiserte verdier enn opprinnelig generert, for eksempel ved flytetallsmultiplikasjon med en løfte-matrise (blokkene 18,22, 26 på flg. 3).
Resultatet er at hele IntMDCT kan utføres effektivt når det gjelder beregninger.
Tapsfriheten på denne IntMDCT, eller tapsfrihet generelt for alle kodingsalgoritmer betegnet som tapsfrie, bygger på det faktum at signalet, når det kodes for å oppnå et kodesignal og når det etterpå dekodes for å oppnå et kodet/dekodet signal, "ser" nøyaktig ut slik som det opprinnelige signal. Det opprinnelige signal er med andre ord identisk med det kodede/dekodede opprinnelige signal. Dette er i åpenbar kontrast med såkalte kodinger beheftet med tap, hvor, som ved audiokodere som fungerer på en psykoakustisk basis, data er ugjenkallelig tapt ved kodingsprosessen og spesielt ved kvantiseringsprosessen styrt etter en psykoakustisk modell.
Selvfølgelig oppstår det en del avrundingsfeil. Således utføres avrundingstrinn, som vist i forbindelse med fig. 3 i blokkene 20, 24, 28, som selvfølgelig introduserer en avrundingsfeil som bare "elimineres" i dekoderen når de inverse operasjoner utføres. Således skiller det tapsfrie koding/dekodingkonseptet seg vesentlig fra koding/dekoding-konseptet som er beheftet med tap ved at det ved tapsfrie koding/dekodingkonseptet introduseres en avrundingsfeil som senere kan elimineres, mens dette ikke er tilfellet ved koding/dekodingkonseptet som er beheftet med tap.
Dersom man imidlertid tar i betraktning det kodede signal, dvs. eksempelt for transformasjonskoding med spekteret for en blokk med tidssampler, fører avrundingen i forovertransformasjonen og/eller generelt kvantiseringen av et slikt signal, til at en feil introduseres i signalet. Således tillegges en avrundingsfeil det ideelle feilfrie spekteret av signalet, der denne feilen typisk omfatter, for eksempel i tilfellet i forbindelse med fig. 3, hvit støy som i like stor grad omfatter alle frekvenskomponentene i det aktuelle spektralområdet. Dette tillegg av hvit støy i det ideelle spektrum representerer således avrundingsfeilen som oppstår, for eksempel ved avrundingen i blokkene 20, 24, 28 under vindusdelingen, dvs. forprosesseringen av signalet før den aktuelle DCT i blokk 14. Det skal spesielt bemerkes at for å tilfredsstille et krav om tapsfrihet, må nødvendigvis hele avrundingsfeilen kodes, dvs. sendes til dekoderen, fordi dekoderen krever at hele avrundingsfeilen tilføres koderen for å kunne oppnå en korrekt tapsfri rekonstruksjon.
Avrundingsfeilen trenger ikke være problematisk når ingen ting "gjøres" med den spektrale representasjon, dvs. når den spektrale representasjon bare lagres, sendes for så igjen å dekodes av en nøye tilpasset invers dekoder. I dette tilfelle vil kriteriet for tapsfrihet alltid oppfylles, uansett hvor stor avrundingsfeilen introdusert i spekteret er. Hvis noe imidlertid gjøres med den spektrale representasjon, dvs. med den ideelle spektrale representasjon av et opprinnelig signal som inneholder en avrundingsfeil, for eksempel dersom skalerbarhetssjikt genereres, etc, vil alle disse tingene fungere bedre jo mindre avrundingsfeilen er.
Således stilles det også et krav til tapsfri kodinger/dekodinger ved, at på den ene side et signal bør være tapsfritt rekonstruerbart av spesielle dekodere, men at et signal også bør ha en så liten avrundingsfeil som mulig i sin spektrale representasjon for å bevare fleksibilitet ved at også ikke-ideelle tapsfrie dekodere kan mates med den spektrale representasjon eller at skaleringssjikt etc, kan genereres.
Som diskutert ovenfor gjør avrundingsfeilen seg gjeldende i form av hvit støy over hele det aktuelle spektrum. På den annen side, spesielt ved høykvalitetsanvendelser som ved det tapsfrie tilfelle, dvs. ved audioanvendelser med meget høye samplings-frekvenser, for eksempel ved 96 kHz, har audiosignalet et innhold av et rimelig omfang i bare disse spektralområder, som typisk bare strekker seg til maksimalt 20 kHz. Området hvor signalenergien til audiosignalet er mest konsentrert vil typisk være i området mellom 0 og 10 kHz, mens signalenergien avtar betraktelig i området over 10 kHz. Dette har imidlertid ikke noen betydning for den hvite støy som introduseres ved avrunding. Den bygger seg opp over hele det aktuelle spektralområde for signalenergien. Som et resultat av dette vil det i spektralområdene, dvs. typisk i de høye spektralområder hvor det ikke er noen eller meget liten signalenergi, bare foreligge avrundingsfeil. Samtidig, spesielt på grunn av dens ubestemte natur, er avrundingsfeilen også vanskelig å kode, dvs. den er bare kodbar ved bruk av relativt mange bit. Bit-kravet spiller ikke noen avgjørende rolle, spesielt ved noen tapsfrie anvendelser. For at anvendelser av tapsfri koding skal bli mer omfattende, er det imidlertid svært viktig at det også her opereres biteffektivt for å kunne kombinere den iboende fordel med tapsfrie anvendelser når det gjelder fraværet av kvalitetsreduksjon med en biteffektivitet sett fra kodingskonseptet beheftet med tap.
Selv om således en avrundingsfeil ikke er problematisk når det ikke er tap, har den likevel stor betydning generelt. Den gjør nemlig at spekteret blir med feil, altså noe forvrengt. Særlig når kodesignalet er viktig for f.eks. skalering i lag trengs så liten avrundingsfeil som mulig, men ingen slik feil er eliminert, som er påkrevd for en rekonstruksjon.
Som tidligere kjent teknikk nevnes også patentsøknad US2003/0108248 om-handler et system og en fremgangsmåte for komprimering av bildedata som omfatter å utføre en fargetransformasjon av dataene, å bruke wavelet-transformasjon av de farge-transformerte data via divisjons- og multipli-kasjonsoperasjoner som bli substituert med seks oppslagstabeller for å gi en serie med wavelet-koeffisienter i ulike nivåer av wavelet-transformasjon delbånd, å kvantisere i samsvar med en spesiell ligning der wavelet-koeffisientene som faller over en forhånds-bestemt terskelverdi gir en serie av kvantiserte wavelet-koeffisienter, å søke en entropi koding til de kvantiserte wavelet-koeffisientene med en bestemt Huffman-tabell, og å komprimere de kodede wavelet-koeffisientene for å gi komprimerte data.
Oppfinnelsen er basert på det ovenstående og har som mål å komme frem til et artefaktredusert konsept for behandling av inngangsstørrelser.
Dette mål er nådd med et apparat for å gjøre dette, altså for behandling av minst to inngangsstørrelser, i samsvar med patentkrav 1, eller en fremgangsmåte for å utføre denne behandling, slik det fremgår av krav 11. Videre oppnås målet med et datamaskinprogram slik det fremgår av patentkrav 12.
Oppfinnelsen bygger på at man har funnet at en reduksjon av avrundingsfeilen kan oppnås ved å redusere denne feil i de tilfeller to verdier i virkeligheten må avrundes og disse verdier deretter kan kombineres til en tredje ytterligere verdi, for eksempel ved å tilføye, i en første summering, de to verdier i ikke avrundet tilstand, særlig representert ved flytende komma, hvoretter bare den summerte utgangsverdi tilføyes den tredje verdi. Sammenliknet med de vanlige prosedyrer for slik avrunding og hvor hver verdi behandles uavhengig av andre verdier fører oppfinnelsen til at man sparer en summering og en avrunding, slik at man i tillegg til faktumet at avrundingsfeilen reduseres også bidrar til en mer effektiv algoritmeutførelse.
I en foretrukket utførelse av oppfinnelsen brukes konseptet for å redusere avrundingsfeilen når to rotasjoner som er oppdelt i løftetrinn "butter i" hverandre, dvs. når man har en situasjon hvor først en første verdi skal roteres sammen med en tredje verdi og når resultatet av denne første fellesrotasjon igjen skal roteres sammen med en andre verdi.
Nok et anvendelsestilfelle av oppfinnelsen gjelder avrunding av avrundingsfeil i de tilfeller et løftetrinn i et flerdimensjonalt løftekonsept først behandles i en "butterfly procedure", slik at reduksjonen finner sted når en N-punkts transformasjon av typen DCT er delt i to slike transformasjoner, hver med halvparten av lengden, dvs. hver med N/2 punkter. I dette tilfellet vil man før den aktuelle flerdimensjonale løfting ha et slikt "butterflytrinn", hvoretter man vil ha et rotasjonstrinn etter den flerdimensjonale løfting. Særlig vil de avrundinger som kreves i "butterflytrinnet" kunne kombineres med av-rundingene i det første løftetrinn i den flerdimensjonale løfting, for å redusere avrundingsfeilen.
Siden antallet avrundingstrinn i en heltallstransformasjon av typen MDCT med heltallig vindusforprosessering og flerdimensjonal løfteprosessering for transformasjonen, allerede er betydelig redusert i forhold til løsningene i den kjente teknikk og uten da å bruke oppfinnelsens konsept, særlig i denne situasjon, vil dette konsept bidra til en betydelig reduksjon av de resterende avrundingsfeil, selv om disse allerede er små. Dette fører for eksempel til en spektrum som deretter bare får et lite avvik i forhold til et helt ideelt spektrum, nemlig på grunn av den fremdeles tilstedeværende, men nå i langt større grad reduserte avrundingsfeil.
Spesielt i forbindelse med tapsfri koding/dekoding vil en avrundingsfeil spektralt formes slik at den befinner seg i det frekvensområde av signalet som skal kodes hvor signalet har en høy signalenergi allerede, og at en avrundingsfeil som er konsekvens av dette ikke er til stede i området der signalet i utgangspunktet ikke har noen energi. Mens en avrundingsfeil i kjent teknikk distribueres som hvit støy over hele spekteret av signalet håndteres avrundingsfeilen ved tapsfri koding, og spesielt ved tapsfri koding på basis av heltallsalgoritmer ifølge oppfinnelsen, blir den oppsamling i det ideelle spektrum i form av rosa støy, dvs. slik at støy energien på grunn av avrunding er til stede der signalet i utgangspunktet har sin høyeste signalenergi, og at støyen på grunn av avrundingsfeil således har liten eller ingen energi der signalet som skal kodes selv ikke har noen energi. Således unngås det mest ugunstige tilfellet, hvor avrundingsfeilen som er et stokastisk signal og som således er vanskelig å kode, er det eneste signal som skal kodes i et frekvensområde og som således i unødvendig grad øker bitraten.
Med audiosignalet hvor energien er i lavfrekvensområdet, er midlene for avrunding konstruert for å oppnå en spektral lavpassforming av den genererte avrundingsfeil slik at det ved høye frekvenser av det kodede signal, ikke foreligger verken signalenergi eller støyenergi, mens avrundingsfeilen avbildes til det område hvor signalet i utgangspunktet har mye energi.
Spesielt ved tapsfrie kodingsanvendelser står dette i kontrast til kjent teknikk hvor en avrundingsfeil høypassfiltreres spektralt for å få avrundingsfeilen ut på det hørbare område. Dette er også i samsvar med det tilfelle der spektralområdet hvor avrundingsfeilen befinner seg filtreres ut enten elektronisk eller ved hjelp av øret selv for å eliminere avrundingsfeil. For tapsfri koding/dekoding er imidlertid avrundingsfeilen absolutt påkrevd i dekoderen, fordi algoritmer benyttet i de dekodere invers for den tapsfrie kodingsalgoritme, ellers vil generere forvrengninger.
Det oppfinneriske konsept med den spektrale forming av avrundingsfeilen benyttes fortrinnsvis ved tapsfrie anvendelser med en høy samplingsrate, fordi, spesielt i tilfelle der spektra teoretisk kan strekke seg opp mot mer enn 40 kHz (pga. oversampling), det oppnås en situasjon i det høye frekvensområde hvor det i utgangspunktet ikke er noen signalenergi og hvor kodingen følgelig kan utføres meget effektivt, lik den ved ikke-hel-tallskoding, der signalenergien også er null i høyfrekvensdelen av området.
Et stort antall nuller kodes svært effektivt og avrundingsfeilen, som er problematisk å kode, flyttes til det område som i utgangspunktet typisk kodes svært fint, reduseres således den gjennomsnittlige datarate til signalet sammenliknet med det tilfelle hvor avrundingsfeilen distribueres som hvis støy over hele frekvensområdet. Videre vil kodingseffektiviteten, og dermed også dekodingseffektiviteten, økes, fordi det ikke trengs regnetid for kodingen og dekodingen i høyfrekvensområdet. Det oppfinneriske konsept resulterer således i at det kan oppnås en raskere signalprosessering for koderen og/eller dekoderen.
I en foretrukket utførelsesform av oppfinnelsen, anvendes det oppfinneriske konsept med forming/redusering av tilnærmingsfeil på inverterbare heltallstransformasjoner, spesielt IntMDCT. Det finnes to områder for anvendelse, på den ene side multidimensjonal løfting gjennom hvilken MDCT kan forenkles betraktelig når det gjelder de påkrevde avrundingstrinn, og på den annen side avrundingsoperasjonene som trengs ved heltalls vindusdeling, slik som ved forprosesseringen av den aktuelle DCT.
Ifølge oppfinnelsen benyttes et konsept for feil-feedback for den spektrale forming av avrundingsfeilen, der avrundingsfeilen flyttes til det frekvensområde hvor signaler som prosesseres har sin høyeste signalenergi. For audiosignaler, og spesielt også for videosignaler, vil dette være et lavfrekvensområde, slik at feil-feedback-systemet har en lavpassegenskap. Dette resulterer i færre avrundingsfeil i det øvre frekvensområde, hvor det normalt er færre signalkomponenter. Ved kjent teknikk foreligger det omfattende avrundingsfeil i det øvre område, som derfor må kodes og som således øker antallet bits nødvendig for kodingen. Ifølge oppfinnelsen reduseres denne avrundingsfeil i de høyere frekvenser, noe som direkte reduserer antallet bits nødvendig for kodingen.
De foretrukne utførelsesformer av oppfinnelsen vil bli utlagt i større detalj under og med henvisning til de vedlagte tegninger, hvor: Fig. 1 viser et kretsblokkdiagram av det oppfinneriske konsept for prosessering av et signal med en sekvens av diskrete verdier, fig. 2A viser et kjent konsept for høypasspektralforming av en kvantiseringsfeil, fig. 2B viser et konsept for lavpassforming av en avrundingsfeil ifølge oppfinnelsen, fig. 2c viser et kretsblokkdiagram ifølge en foretrukken utførelsesform av oppfinnelsen for spektral forming/avrundingsblokken, fig. 3 viser et kretsblokkdiagram av en foretrukken innretning for kvantisering av tidsdiskrete audiosampler for å fremskaffe heltallsverdier fra hvilke heltallsspektralverdier kan bestemmes, fig. 4 er en skjematisk illustrasjon av dekomponeringen av en MDCT og en invers MDCT i Givens-rotasjoner og to DCT-IV-operasjoner, fig. 5 er en illustrasjon som viser dekomponeringen av MDCT med 50 % overlapping i rotasjonen og DCT-IV-operasjoner, fig. 6A viser et skjematisk kretsblokkdiagram av en kjent koder med MDCT og 50 % overlapping, fig. 6B viser et kretsblokkdiagram av en kjent dekoder for dekoding av verdiene generert på fig. 10A, fig. 7 er en illustrasjon av løftingen i vindusdelingen ifølge fig. 3, fig. 8 er en alternativ illustrasjon av løftingen på fig. 7 med vindusdeling før den egentlige transformasjon, fig. 9 viser en anvendelse av oppfinnelsen for vindusdelingen ifølge fig. 3, 7 og 8, fig. 10A-10C viser kretsblokkdiagrammer av en innretning for omforming ifølge en foretrukken utførelsesform av oppfinnelsen, fig. 11 viser en innretning for invers omforming ifølge en foretrukken utførelsesform av oppfinnelsen, fig. 12 er en illustrasjon av transformasjonen av to påfølgende blokker av verdier, slik den benyttes i oppfinnelsen, fig. 13 er en detaljert illustrasjon av et flerdimensjonalt løftetrinn med en forovertransformasjonsmatrise, fig. 14 er en illustrasjon av et flerdimensjonalt inverst løftetrinn med en revers transformasjonsmatrise, fig. 15 er en illustrasjon av oppfinnelsen av dekomponeringen av en DCT-IV med lengde N i to DCT-IV med lengde N/2, fig. 16 viser en anvendelse av det oppfinneriske konsept med transformasjonen med flerdimensjonal løfting ifølge fig. 10, fig. 17 er en illustrasjon av to påfølgende løftetrinn, fig. 18 er en illustrasjon av konseptet for reduksjon av avrundingsfeil ved de to påfølgende løftetrinn ifølge fig. 17, og fig. 19 viser en oppfinnerisk kombinasjon av konseptet ifølge fig. 18 med konseptet ifølge fig. 16.
Fig. 1 viser en innretning for prosessering av et signal med en sekvens av diskrete verdier som avgis til middelet 202 for manipulering via en signalinngang 200. Signalet dannes typisk slik at det har et første frekvensområde der signalet har en høy energi og et andre frekvensområde der signalet har en forholdsvis lav energi. Dersom det første signal er et audiosignal, vil det ha den høye energi i det første frekvensområde, dvs. det lave frekvensområde, og det vil ha denne lave energi i det høye frekvensområde. Hvis signalet derimot er et videosignal, vil det også ha den høye energi i det lave område og den lave energi i det høye område, men i motsetning til audiosignalet er frekvensområdet for videosignalet et romlig frekvensområde, hvis ikke suksessive billedrammer tas i betraktning og det også vil foreligge en temporal frekvens, for eksempel relatert til et utvalgt billedområde i suksessive rammer.
Midlene 202 for manipulering er generelt konstruert for å manipulere sekvensen av diskrete verdier slik at en sekvens av manipulerte verdier fremskaffes som i det minste omfatter en manipulert verdi som ikke er et heltall. Denne sekvens av ikke-heltalls diskrete verdier mates til midlene 204 for avrunding av sekvensen av manipulerte verdier for å fremskaffe en sekvens av avrundede manipulerte verdier. Ifølge oppfinnelsen er midlene 204 for avrunding konstruert for å sette i verk en spektral forming av en avrundingsfeil generert ved avrundingen, slik at det i det første frekvensområde, dvs. i det frekvensområde hvor det opprinnelige signal har en høy energi, foreligger en spektralt formet avrundingsfeil som også har en høy energi, og at det i det andre frekvensområde, dvs. i det frekvensområde der det opprinnelige signal har en lav energi, foreligger en spektralt formet avrundingsfeil som også har lav eller ingen energi. Således er energien til den spektralt formede avrundingsfeil i det første frekvensområde generelt høyere enn energien til den spektralt formede avrundingsfeil i det andre frekvensområde. Fortrinnsvis endrer den spektrale formingen imidlertid ikke den samlede energi til avrundingsfeilen.
Fortrinnsvis koples den oppfinneriske innretning for generering av sekvenser av avrundede manipulerte verdier inneholdende feil til midler 206 for omforming til en spektral representasjon enten direkte eller via videre manipulasjon eller avrundingskombina-sjoner. Således kan sekvensen av avrundede manipulerte verdier inneholdende feil mates direkte til midlene 206 for omforming til en spektral representasjon for å oppnå et direkte spektrum av sekvensen av avrundede manipulerte verdier inneholdende feil.
I en foretrukket utførelsesform av oppfinnelsen er imidlertid midlene for manipulering et løftetrinn og/eller en løftematrise, og midlene for avrunding er konstruert for å avrunde ikke-heltall resultater fra løftetrinnet. I dette tilfelle vil videre midler 204 etter-følges av midler for manipulering som utfører det andre løftetrinnet, som i sin tur etter-følges av midler for avrunding, som så i sin tur etterfølges av et tredje middel for manipulering som implementerer det tredje løftetrinn, der det så utføres en annen slik at alle tre løftetrinn blir gjennomført. Således genereres en sekvens av avrundede manipulerte verdier inneholdende feil fra den opprinnelige sekvens av avrundede manipulerte verdier inneholdende feil ved utgangen av midlet 204, som så til slutt omformes til en spektral representasjon, fortrinnsvis også ved hjelp av en heltall-transformasjon særlig en heltalls transformasjon utstyrt med det oppfinneriske konsept, slik dette er vist i blokken 206. Utgangssignalet for den spektrale representasjon ved utgangen av blokk 206 har nå et spektrum, som i kontrast til kjent teknikk ikke lenger har en avrundingsfeil distribuert som hvit støy, men en avrundingsfeil formet spektralt, dvs. slik at det også foreligger en høy avrundingsfeilenergi der det aktuelle endelige spektrum har en høy signalenergi, mens det i beste fall ikke foreligger noen avrundingsfeilenergi i de frekvensområdene hvor det ikke foreligger noen signalenergi.
Dette spektrum generert i henhold til oppfinnelsen mates så til midlene 208 for entropikoding av den spektrale representasjon. Midlene for entropikoding kan omfatte hvilken som helst kodemetode, slik som en Huffman-koding, en aritmetisk koding, etc. Spesielt for koding av et stort antall spektrallinjer, som er null og som grenser mot hverandre, vil bruk av en løpelengdekoding også være passende, noe som selvsagt ikke kan anvendes ved kjent teknikk, fordi her må et deterministisk signal kodes i slike frek-vensområder som imidlertid har et hvitt spektrum og som således er spesielt ugunstig for hvilken som helst type kodeverktøy, fordi de individuelle spektralverdier er fullstendig ukorrelerte til hverandre.
I det følgende skal en foretrukken utførelsesform av midlene 204 for avrunding med spektral forming omtales med henvisning til fig. 2A, 2B, 2C.
Fig. 2A viser et kjent feil-feedback-system for den spektrale forming av en kvantiseringsfeil, slik den er beskrevet i fagpublikasjonen "Digitale Audiosignal-verarbeitung", U. Zoelzer, Teubner-Verlag, Stuttgart, 1997. En inngangsverdi x(i) mates til en inngangssummerer 210. Utgangssignalet fra summereren 210 mates til en kvanti-serer 212 som tilveiebringer en kvantisert utgangs verdi y(i) med utgangen av den spektrale formingsinnretning. En andre summerer 214 bestemmer differansen mellom verdier etter kvantisereren 212 og verdien før kvantisereren 212, dvs. avrundingsfeilen e(i). Utgangssignalet fra den andre summerer 214 mates til en forsinkelsesinnretning 216. Feilen e(i) forsinket med én tidsenhet subtraheres så fra inngangsverdien ved hjelp av adderingsenheten 210. Dette resulterer i en høypassevaluering av det opprinnelige feilsignal e(n).
Dersom z"'(-2 + z"<1>) benyttes i stedet for forsinkelsen z"<1>med henvisningsbetegnelse 216 på fig. 2A, vil resultatet bli en andreordens høypassevaluering. I visse ut-førelsesformer benyttes slike spektrale forminger av kvantiseringsfeilen til å "avmaske" kvantiseringsfeilen fra det sansbare område, dvs. for eksempel fra lavpassområdet til signalet x(n), slik at kvantiseringsfeilen ikke oppfattes.
Ifølge oppfinnelsen, som vist på fig. 2B, utføres i stedet en lavpassevaluering for å oppnå en spektralforming av feilen, ikke utenfor det sansbare område, men innenfor dette område. For å oppnå dette mates utgangssignalet fra adderingsenheten 210, som vist på fig. 2B, til en avrundingsblokk 218 som implementerer en avrundingsfunksjon som for eksempel kan bestå i en avrunding oppover, en avrunding nedover, avrunding ved trunkering, en avrunding oppover/avrunding nedover til det neste heltall eller til det andre påfølgende/foregående eller det tredje påfølgende/foregående heltall. I feil-feedback-banen, dvs. mellom adderingsenheten 214 og adderingsenheten 210, foreligger nå en ytterligere feedback-blokk 220 med en impulsrespons h(n) og/eller en overførings-funksjon H(z) i tillegg til forsinkelseselementet 216. z-transformasjonen av utgangs-sekvensen, dvs. Y(z), avhenger av inngangssekvensen X(z) som angitt i likningen vist på
fig. 2B:
I likningen ovenfor er x'(n) utgangssignalet fra adderingsenheten 210, og y(n) er utgangssignalet fra avrundingsblokken 218.
Videre gjelder følgende likning: y(n) = round (x'(n))
I likningen ovenfor representerer "round" avrundingsfunksjonen implementert av blokken 218. Videre gjelder følgende likning, der<*>representerer foldingsoperasjonen:
I Z-området gjelder følgende resultat:
Siden E(z) er avrundingsfeilen, formes den spektralt ved filteret (1 - z"<1>H(z)). Ifølge oppfinnelsen benyttes nå en lavpassliknende overføringsfunksjon. Den enkleste lavpassliknende overføringsfunksjon kan oppnås ved for eksempel å sette H(z) = -1. I dette enkle eksemplet adderes bare avrundingsfeilen fra den foregående avrundingsoperasjon til den verdi som skal avrundes før den nese avrundingsoperasjon. Således oppnås en enkel lavpassfiltrering av avrundingsfeilen, som for oppfinnelsen er svært effektivt og derfor foretrukket.
En implementering er vist på fig. 2C. Spesielt vises midlene 202 for manipulering av en opprinnelig sekvens av diskrete heltallsverdier som tilveiebringer sekvensen av diskrete ikke heltallsverdier y0, yi, y2, ..., yi ved utgangssiden. I motsetning til den kjente teknikk avrundes ikke lenger hver verdi for seg selv, som for eksempel vist i forbindelse med blokkene 20, 24, 28 på fig. 3 eller i forbindelse med blokkene 104, 110, 142 på fig. 10C eller 126, 132, 150 på fig. 11.1 stedet filtreres de ikke heltallige diskrete verdier for sekvensen y0, yi, y2, ..., avhengig av hverandre med lavpasskarakteristikk i feedback-grenen av "nettverket" vist på fig. 2, slik at resultatet er den oppfinneriske spektrale forming. Like elementer på fig. 2C og fig. 2B vises med samme henvisningsbetegnelse.
Fig. 2C viser videre en parallell implementasjon, dvs. en implementasjon der verdiene som skal avrundes tilveiebringes i parallell. Denne illustrasjon er selvfølgelig bare skjematisk. Verdiene y0, yi, y2, ... kan tilveiebringes sekvensielt for således å oppnå sekvensielle utgangsverdier, der det i dette tilfelle vil være tilstrekkelig med en enkel implementasjon av elementene 210, 214, 216, 218, 220. Repetisjonen av elementene 214, 218, 210, 220 vises bare for klarhets skyld.
Midlene 204 for avrunding vist på fig. 2C beregner således først av-rundingsverdien [y0]. Deretter beregnes avrundingsfeilen i0. Så vekttillegges (filtreres) avrundingsfeilen io i blokken 220 ved hjelp av overføringsfunksjonen H(z) som fortrinnsvis er lik -1, og mates så til adderingsenheten 210. Denne filtrerte avrundingsfeil adderes så til den neste verdi i sekvensen yi? hvorpå resultatet i adderingsenheten 210 avrundes i blokken 218 for således å fremskaffe den avrundede neste verdi [yj. Deretter bestemmes avrundingsfeilen igjen ved adderingsenheten 214, dvs. ved å anvende den avrundede verdi [yi]og den opprinnelige verdi yi, der denne fremskaffede avrundingsfeil yi igjen filtreres i blokken 220 for så å utføre den samme prosedyre for den neste verdi y2i sekvensen.
Ved dette punkt skal det bemerkes at retningen ikke er relevant. Det betyr at det også er mulig å fortsette fra y; med større indekser til y; med mindre indekser, dvs. i den motsatte retning av den som spesielt angis ved pilene på fig. 2C som strekker seg fra blokken 220 til adderingsenheten 210. Rekkefølgen, dvs. om prosedyren foregår fra lave til høye sekvensindekser eller fra høye til lave sekvensindekser, er således ikke viktig.
Spesifikt ved anvendelse av heltalls MDCT (IntMDCT) vil bruk av spektral forming av avrundingsfeilen være spesielt effektiv, og dermed å foretrekke, i tilfellet der følgende betingelser er oppfylt:
-En avrundingsfeil tillegges flere tilliggende verdier uavhengig av hverandre.
-De tilliggende verdier er i videst betydning tidssignaler som senere omformes til en spektral representasjon ved en transformasjon, dvs. som omformes til frekvensområdet.
I det følgende gis en mer detaljert utlegning av hvilke deler av heltalls MDCT den spektrale forming av avrundingsfeilen fortrinnsvis benyttes.
Den første foretrukne utførelsesform omfatter vindusdelingen før den aktuelle transformasjon, dvs. for avrundingen spesifisert på flg. 3 ved blokkene 20, 24, 28. Løfteoperasjonen slik den utføres på hvert opprinnelig sampel xu..., xNog gjennomføres basert på flg. 3, kan også illustreres ved diagrammet vist på flg. 7. Her illustreres anvendelsen av de tre løftematriser, dvs. de tre multiplikasjoner av en sampel med en faktor, på enhver sampel, slik at resultatet blir sekvensen "fra topp til bunn", "fra bunn til topp" og "fra topp til bunn".
Når det gjelder notasjonen på flg. 7 skal det bemerkes at når en pil møter en horisontal linje, vil en addisjon utføres der. En slik addisjon er for eksempel ved 27 på fig. 7. Når fig. 4 sammenliknes med fig. 7, vil den eneste forskjellen være at x(0) på fig. 4 korresponderer til X! på fig. 7.1 denne forbindelse korresponderer xNpå fig. 7 med x(N-l) på fig. 4. x(N/2-l) på fig. 4 korresponderer imidlertid til xN/2på fig. 7. Videre korresponderer x(N/2) på fig. 4 med xN/2+ipå fig. 7, slik at resultatet blir sommerfuglene vist på fig. 2 ved hvilke alltid en verdi av den første fjerdedel av vinduet vekttillegges med én verdi fra den andre fjerdedel av vinduet ifølge løftetrinnene, mens en verdi i den tredje fjerdedel av vinduet prosesseres med en verdi i den fjerde fjerdedel av vinduet på samme måte ved "ned-opp-ned-systemet" som vist på fig. 7.
Det foreligger en korresponderende prosedyre for paret av verdier xN/2og xN/2+i. Det foreligger igjen en ned-opp-ned-sekvens, der et ned-trinn 29a etterfølges av et opp-trinn 29b, som i sin tur etterfølges av et ned-trinn 29c. Fig. 7 viser således heltallsvindusdelingen ved løfting. Denne beregning kan greit anvendes uten at resultatet forandres, som vist på fig. 8. Således kan selvfølgelig alle nedovertrinn (alle trinn 29a) utføres først. Så kan alle oppovertrinn (29b) utføres for så til slutt å utføre alle nedovertrinn (29c), slik at resultatet vil være en nedoverblokk 31a, en oppoverblokk 31b og igjen en nedoverblokk 31c. Det skal bemerkes at fig. 8 korresponderer til fig. 7, men er illustrert på en måte som er mer gunstig for forståelsen av oppfinnelsen. Fig. 9 viser nå det oppfinneriske konsept der avrundingen ifølge oppfinnelsen utføres for avrunding med spektral forming. Løfteberegningskonseptet vist på fig. 9 korresponderer til fig. 1 ved at inngangsverdiene xi, xN/2representerer den opprinnelige sekvens av heltalls diskrete verdier ved inngangen 200. Evalueringsblokkene esi, cs2, ..., eski nedoverblokken 31a utgjør sammen midlene 202 for manipulering. Blokken betegnet [.]/NoiseShaping representerer midlene 204 for avrunding på fig. 1. Sekvensen av avrundede manipulerte verdier inneholdende feil vil nå være resultatet ved utgangen av denne blokk 204.
I utførelsesformen vist på fig. 9 adderes sekvensen av avrundede manipulerte verdier inneholdende feil til en sekvens xN/2+itil xNfor å fremskaffe en ny sekvens av diskrete heltallsverdier, som i sin tur manipuleres (av blokkene Si, sk i oppoverblokken 31b) for igjen å oppnå en avrunding ifølge oppfinnelsen i oppoverblokken 31b av elementet 204b. Så tilveiebringes igjen en adderingsenhet 205b, som ved nedoverblokken 31a, dvs. analogt med adderingsenheten 205a, for å fremskaffe en ny sekvens som i sin tur mates til en manipulator 202c, der utgangssignalet av manipulatoren 202c er et ikke-heltall som avrundes i en ytterligere avrunder 204c som så i sin tur adderes til en ytterligere adderingsenhet 205c, dvs. til sekvensen matt til manipulatoren 202b.
I utførelsesformen vist på fig. 9 er resultatet på utgangssiden en blokk av vindusdelte sampler, som ifølge systemskjemaet illustrert i forbindelse med fig. 4 mates til korresponderende forskjøvne DCT-IV-blokker. Disse forskjøvne DCT-blokker tilveie bringer en transformasjon for å omforme en sekvens av avrundede manipulerte verdier inneholdende feil til en spektral representasjon. DCT-IV-blokkene på fig. 4 representerer således en implementasjon av midlene 206 på fig. 1. På samme måte representerer blokkene for utføring av den inverse heltalls DCT-IV analoge midler for omforming til en temporal representasjon.
I det følgende utlegges en anvendelse av den flerdimensjonale løfting med henvisning til flg. 10-15 for å presentere en heltallsimplementasjon av midlene for omforming til den spektrale representasjon 206 på fig. 10A og/eller en analog heltallsimplementasjon av den inverse omforming (for en dekoder). Konseptet for den flerdimensjonale løfting er utlagt i tysk patentsøknad med den offisielle referanse 10331803.8.
Fig. 10A viser en innretning for omforming av diskrete verdier til en transformert representasjon bestående av heltallsverdier. De diskrete verdier mates til innretningen via en første inngang 100a og via en andre inngang 100b. En første blokk av diskrete verdier mates via inngangen 100a, mens en andre blokk av diskrete verdier mates via inngangen 100b. De diskrete verdier representerer audiodata eller bildedata og/eller videodata. Som diskutert nedenfor, kan den første blokk av diskrete verdier og den andre blokke av diskrete verdier faktisk omfatte to temporalt suksessive blokker av audiosampler. Den første og den andre blokk av diskrete verdier kan også omfatte to bilder representert ved diskrete verdier og/eller restverdier etter en prediksjon eller differanseverdier i en differansekoding etc. Alternativt kan de blokker av diskrete verdier imidlertid ha gjennomgått en forprosessering, slik som med heltallsimplementeringen av MDCT, der den første og andre blokk av diskrete verdier er generert med Givens-rotasjoner av vindusdelte sampler. Den første og andre blokk av diskrete verdier kan således fremskaffes fra opprinnelige audiodata eller bildedata ved en form for prosessering, slik som rotasjoner, permutasjoner, pluss/minus butterflies<*>, skaleringer, etc. Den første og andre blokk av diskrete verdier angir likevel audioinformasjon og/eller bildeinformasjon, selv om de ikke er direkte audiosamplet eller diskrete bildeverdier.
Den første blokk av diskrete verdier mates til midlene 102 for prosessering av denne blokk av diskrete verdier ved bruk av en første transformasjonsregel via inngangen 100a for å fremskaffe en første blokk av transformerte verdier ved en utgang fra midlene 102, som vist på fig. 10A. Denne første blokk av transformerte verdier vil typisk ikke bestå av heltall, men vil omfatte flytetall slik disse typisk fremskaffes ved bruk av en form for transformasjonsregel, slik som en fourier-transformasjon, en Laplace-transformasjon, en FFT, en DCT, en DST, en MDCT, en MDST eller en annen form for transformasjon, slik som en wavelet-transformasjon<*>med basisfunksjoner av et eller annet slag. Den første blokk av transformerte verdier mates til midlene 104 for avrunding, for å fremskaffe en første blokk av avrundede transformerte verdier på utgangssiden. Midlene 104 for avrunding er konstruert for å utføre en avrundingsfunksjon, slik som avrunding ved trunkering eller avrunding opp og/eller avrunding ned, avhengig av flytetallsverdien, etc.
Avrundingsregelen implementert av midlene 104 er således ansvarlig for den første blokk av avrundede transformerte verdier som igjen omfatter bare heltallsverdier hvis nøyaktighet bestemmes av avrundingsregelen benyttet av midlene 104. Den første blokk av avrundede transformerte verdier, på samme måte som den andre blokk av diskrete verdier avgitt til den andre inngang 100b, mates så til midlene 106 for addering for å fremskaffe en andre blokk av adderte verdier. I tilfellet med audiosignalet er det åpenbart at spektralverdier fra den første blokk av avrundede transformerte verdier adderes til tidsverdier fra den andre blokk av diskrete verdier av midlene 106. Dersom de diskrete verdier i den andre blokk for eksempel er spenningsverdier, er det å foretrekke at den første blokk av avrundede transformerte verdier også består av spenningsamplituder, dvs. av verdier med enheten V. Da vil det ikke oppstå problemer med enhetene ved adderingen. Det vil imidlertid være åpenbart for fagfolk på området at en enhetsnorma-lisering kan utføres for den første blokk av avrundede transformerte verdier og/eller den andre blokk av diskrete verdier, for eksempel ved at både den første blokk av avrundede transformerte verdier og den andre blokk av diskrete verdier er enhetsløse.
Den andre blokk av adderte verdier mates til midlene 108 for prosessering av denne blokk ved bruk av en andre transformasjonsregel for å fremskaffe en andre blokk av transformerte verdier. Dersom transformasjonsregelen benyttet i midlene 102 for eksempel er en tid-frekvens-transformasjonsregel, så er den andre transformasjonsregel benyttet i blokken 108 for eksempel en frekvens-tid-transformasjonsregel. Disse relasjoner kan imidlertid reverseres, slik at den første og andre blokk av diskrete verdier for eksempel er spektralverdier, slik at tidsverdier fremskaffes ved midlene 102 for prosessering ved transformasjonsregelen, mens spektralverdier igjen fremskaffes ved midlene for prosessering ved hjelp av den inverse transformasjonsregel, dvs. midlene 108. Den første og andre transformasjonsregel kan således være en forover eller en revers transformasjonsregel, der den inverse transformasjonsregel kan være reverstransformasjonsregelen hhv. forovertransformasjonsregelen.
Den andre blokk av transformerte verdier mates til midlene 110 for avrunding, som vist på fig. 10A, for å fremskaffe en andre blokk av avrundede transformerte verdier som til slutt mates til midlene 112 for subtrahering for å subtrahere den andre blokk av avrundede transformerte verdier fra den første blokk av diskrete verdier tilveiebrakt via den første inngang 108a for slik å fremskaffe en blokk av heltalls utgangsverdier av den transformerte representasjon som kan avgis ved utgangen 114. Ved å prosessere blokken av heltalls utgangsverdier av den transformerte representasjon ved å benytte hvilken som helst tredje transformasjonsregel som kan være blitt benyttet i midlene 102 eller som kan skille seg fra samme, og ved en påfølgende avrunding av blokken av transformerte utgangsverdier for å fremskaffe en blokk av avrundede transformerte utgangsverdier samt ved en påfølgende addering av blokken av avrundede transformerte utgangsverdier og den andre blokk av adderte verdier, kan en ytterligere blokk av heltalls utgangsverdier av den transformerte representasjon fremskaffes for således å tilveiebringe en fullstendig transformert representasjon av den første og den andre blokk av diskrete verdier via blokken av heltalls utgangsverdier avgitt til utgangen 114.
Deler av denne fullstendig transformerte representasjon kan likevel fremskaffes uten de siste tre trinn med prosessering, avrunding og addering, der blokken av hel-tallsutgangsverdier av den transformerte representasjon ved utgangen 114 benyttes, for eksempel den første halvdel, som når den gjennomgår den inverse prosessering, tilveiebringer en gjenopprettelse av den første og den andre blokk av diskrete verdier.
På dette punkt skal bemerkes at, avhengig av transformasjonsregelen, kan den første, den andre og den tredje transformasjonsregel være identiske. Dette er for eksempel tilfellet med DCT-IV. Dersom en FFT benyttes som den første transformasjonsregel, kan IFFT, som ikke er identisk med FFT, benyttes som den andre (invers) transformasjonsregel.
For å legge til rette for beregningen er det å foretrekke at transformasjonsregelen tilveiebringes i form av en matrise, som dersom antallet diskrete verdier i den første blokk er lik antallet diskrete verdier i den andre blokk, er en kvadratisk N x N-matrise, dersom det er N diskrete verdier i både den første og andre blokk.
I en særlig utførelsesform er midlene 104 og 110 for avrunding konstruert for å avrunde i henhold til en avrundingsfunksjon som tilveiebringer avrundede resultater hvis nøyaktighet er mindre enn maskinnøyaktigheten for en datamaskin som utfører funksjo-nene vist på fig. 10A. Når det gjelder avrundingsfunksjonen skal det bemerkes at den avbilder et ikke heltall til det neste større eller mindre heltall bare i én foretrukket ut-førelsesform. Avrundingsfunksjonen kan også avbilde på andre heltall, dvs. tallet 17,7 kan avbildes til tallet 10 eller til tallet 20, så lenge som avrundingsfunksjonen medfører en reduksjon av nøyaktigheten til tallet som skal avrundes. I eksemplet ovenfor er det ikke avrundede tall et tall med ett siffer bak komma, mens det avrundede tall er et tall som ikke lenger har noe siffer bak kommaet.
Selv om midlene 102 for prosessering ved bruk av den første transformasjonsregel og midlene 108 for prosessering ved bruk av den andre transformasjonsregel på fig. 10A er vist som atskilte midler, skal det bemerkes at i en konkret implementasjon kan det være at det bare eksisterer én transformasjonsfunksjonsenhet som, styrt av en spesiell styreenhet, først transformerer den første blokk av diskrete verdier og så inverst transformerer den andre blokk av adderte verdier på samme tidspunkt i algoritmen. I dette tilfelle ville den første og den andre transformasjonsregel være identiske. Det samme gjelder for de to midler 104, 110 for avrunding. De trenger heller ikke være tilveiebrakt som separate midler, men kan være implementert ved én avrundingsfunksjonsenhet, som, igjen styrt av styreenheten, først avrunder den første blokk av transformerte verdier for så å avrunde den andre blokk av transformerte verdier, avhengig av betingelsene i algoritmen.
I en særlig utførelsesform er den første og andre blokk av diskrete verdier de heltall vindusdelte sampler, slik de er fremskaffet ved utgangen av blokk 28 på fig. 3. Heltalls DCT i blokk 14 på fig. 3 implementeres da av heltallsalgoritmen vist på fig. 1 slik at den transformerte representasjon i eksemplet med audiosignal ifølge fig. 3 representerer heltallsspektralverdiene ved utgangen 30 i innretningen vist på fig. 3.
Midler for invers omforming i overensstemmelse med fig. 10A illustreres på fig. 10B, hvor det i tillegg til blokken med heltalls utgangsverdier ved utgangen av blokk 112 på fig. 10A, også gjøres bruk av den andre blokk av adderte verdier ved utgangen av midlene 106 på fig. 10A. Når det gjelder fig. 11, som vil bli beskrevet i større detalj nedenfor, korresponderer denne til det tilfelle der bare blokkene 150 og 130 foreligger, men ikke transformasjonsblokken 124.
Fig. 10B viser en innretning for invers omforming av en blokk av heltalls utgangsverdier av den transformerte representasjon, slik denne fremskaffes ved utgangen 114 på fig. 10A, samt den andre blokk av adderte verdier. Den andre blokk av adderte verdier mates til en inngang 120 i innretningen for invers omforming vist på fig. 10B. Blokken av utgangsverdier av den transformerte representasjon mates til en ytterligere inngang 122 i innretningen for invers omforming.
Den andre blokk av adderte verdier mates til midlene 130 for prosessering av denne blokk ved benyttelse av den andre transformasjonsregel, dersom transformasjonsregelen brukt ved den siste koding var den andre transformasjonsregel. Midlene 130 tilveiebringer en første blokk av transformerte verdier på utgangssiden som avgis til midlene 132 for avrunding, som i sin tur genererer en første blokk av avrundede transformerte verdier på utgangssiden. Den første blokk av avrundede transformasjonsverdier subtraheres så fra blokken av utgangsverdier fra den transformerte representasjon ved hjelp av midler 134 for slik å fremskaffe den første blokk av diskrete verdier ved en første utgang 149 av innretningen på fig. 10B.
Den første blokk av diskrete verdier avgis til midler 150 for prosessering av denne blokk ved benyttelse av en første transformasjonsregel for slik å fremskaffe en andre blokk av transformerte verdier ved utgangen av midlene 150. Denne andre blokk av transformerte, subtraherte verdier avrundes i sin tur i midlene 152 for slik å fremskaffe en andre blokk av avrundede transformerte verdier. Denne andre blokk av avrundede transformerte verdier subtraheres fra den andre blokk av adderte verdier tilveiebrakt på inngangssiden, mottatt via inngangen 120, for slik å fremskaffe en andre blokk av diskrete verdier med utgangen 136 på utgangssiden.
Når det gjelder forholdet mellom den første, den andre og den tredje transformasjonsregel og i forbindelse med den spesielle implementering av de individuelle funksjonsblokker på fig. 10b med felles funksjonsenheter og en korresponderende data-flytstyreenhet/sperreenhet, vises det til utlegningen gitt i forbindelse med fig. 10A.
I det følgende skal en foretrukken utførelsesform av innretningen for omforming til en transformert representasjon generelt illustrert på fig. 10A beskrives i forbindelse med fig. 10C. Utførelsesformen ifølge fig. 10C omfatter en ytterligere transformasjon/avrunding sammenliknet med fig. 10A for å generere blokken av heltalls utgangsverdier fra den andre blokk av adderte verdier.
Den første inngang 100a omfatter N inngangslinjer xo, ..., xN_ifor mottak av N verdier for en første blokk av diskrete verdier. Den andre inngang 100b omfatter også N linjer for mottak av N verdier xN,x2n-i fra den andre blokk av diskrete verdier. Midlene 102 på fig. 10A er angitt som DCT-IV-transformer på fig. 10C. DCT-transformeren 102 er konstruert for å generere N utgangsverdier fra N inngangsverdier, som så avrundes ved avrundingsregelen betegnet som "[.]", illustrert ved midler 104 på fig. 10C. Midlene 106 for addering er vist slik at det foreligger en addering av verdiene. Dette betyr at ut-gangsverdien fra midlene 102 med indeks 0 adderes med den første verdi i den andre blokk av diskrete verdier med indeks N. Generelt adderes verdien i den første blokk av avrundede transformerte verdier med utgangen fra avrundingsmidlene 104 med plasseringen i individuelt med den diskrete verdi i den andre blokk av utgangsverdier med plasseringen N+i, der i er en indeks som løper fra 0 til N-l.
Midlene 108 for prosessering som benytter den andre transformasjonsregel er også angitt som DCT-IV-transformer. I den foretrukne utførelsesform vist på fig. 10C er midlene 112 for subtrahering også konstruert for å utføre en verdimessig subtraksjon, dvs. slik at utgangsverdiene fra avrunderen 110, det vil igjen si verdiene fra den andre blokk av avrundede transformerte verdier, subtraheres individuelt fra den første blokk av diskrete verdier. I utførelsesformen vist på fig. 10C er det å foretrekke at den korresponderende subtraksjon utføres slik at en verdi i den andre blokk ved plasseringen N+i subtraheres fra en verdi i den første blokk med plasseringen i, der i igjen løper fra 0 til N-l. Det kan imidlertid utføres alternative adderinger/subtraksjoner, slik at for eksempel en verdi i blokken med plasseringen er -1 subtraheres fra en verdi i den andre blokk med plasseringen N, så lenge det tas nødvendig hensyn til dette ved den inverse omforming.
Midlene 112 for subtraksjon tilveiebringer allerede en blokk av heltall utgangsverdier for den transformerte representasjon på utgangssiden, dvs. heltalls utgangsverdiene yotil yN_iav den transformerte representasjon. For å kunne fremskaffe også de gjenværende heltalls utgangsverdier til den transformerte representasjon, dvs. de ytterligere verdier yNtil y2N-i, kan om ønskelig blokken av heltalls utgangsverdier av den transformerte representasjon avgitt til utgangen 114 undergå en transformasjon ved å benytte den tredje transformasjonsregel ved hjelp av forovertransformeren 140, der utgangsverdiene av denne igjen avrundes, som illustrert ved avrundingsmidlene 142, for nå å utføre en addisjon av disse verdier med den andre blokk av adderte verdier ved utgangen av addereren 106, som illustrert ved henvisningsbetegnelsen 144 på fig. 10C. Utgangsverdiene fra addereren 144 representerer da en ytterligere blokk 146 av heltalls utgangsverdier av den transformerte representasjon som benevnes yNtilV2n-i-
I det følgende vil en innretning ifølge en utførelsesform for invers omforming av den transformerte representasjon bli beskrevet i forbindelse med fig. 11. Det skal bemerkes at operasjonene utført ved innretningen vist på fig. 10C reverseres tapsfritt av innretningen illustrert på fig. 11. Fig. 11 korresponderer med fig. 10B med unntak av det ytterligere transformasjons/avrundingstrinn for å generere den andre blokk av adderte verdier, som mates til inngangen 120 i utførelsesformen vist på fig. 10B, fra den ytterligere blokk av transformerte utgangsverdier. Det skal bemerkes at adderingsfunksjonen reverseres ved subtraheringsfunksjonen. Det skal videre bemerkes at et adderer/sub-trahererpar (144 på fig. 10C og 128 på fig. 11) også kan tilføres inngangsverdier med motsatt fortegn, slik at dersom en gruppe av inngangsverdier har negativt fortegn sammenliknet med det viste tilfelle, vil adderingsenheten 144 faktisk utføre en subtraksjon, så lenge dette tas med i beregningen i den motsvarende innretning (128 på fig. 11), som da faktisk ville utføre en addisjon.
Subtrahereren 128 vist på fig. 11, adderingsenheten 134 og den andre subtraherer 154 er igjen konstruert for å utføre en individuell verdimessig addisjon/subtraksjon, der igjen den samme plasseringsbaserte prosessering benyttes som beskrevet i forbindelse med fig. 10C. Dersom det benyttes et annet indekssystem enn det som er vist på fig. 10C, vil dette tas med i beregningen i det korresponderende system på fig. 11.
Ved utgangen av subtrahereren 134 foreligger allerede den første blokk av diskrete verdier 136 benevnt x0til xN_i. For å kunne fremskaffe også resten av den bakovertransformerte representasjon, mates den første blokk av diskrete verdier til transformeren 150 som opererer med den første transformasjonsregel, hvis verdier på utgangssiden avrundes av avrunderen 152 og subtraheres fra den andre blokk av subtraherte verdier ved utgangen av subtrahereren 128 for således å beslutte å fremskaffe den andre blokk av diskrete verdier 156 benevnt xN,x2n-i-
I det følgende vil det matematiske grunnlag for innretningene, tidligere beskrevet i forbindelse med fig. 10A, 10B, 10C og 11, utlegges med henvisning til fig. 12-15. Ved den angitte innretning for omforming og/eller invers omforming er det tilveiebrakt heltalls transformasjonsmetoder for en tapsfri audiokoding der tilnærmingsfeilen er redusert. I tillegg tas regnekraften i betraktning ved at grunnlaget ikke lenger er den kjente tilnærming med å anvende løfteskjemaet på hver Givens-rotasjon, der det alltid foreligger trivielle sum-differanse-butterflies. Foreliggende metode vil øke regnekraften betraktelig sammenliknet med den opprinnelige ikke heltalls versjon av transformasjonen.
Normalt brukes løfteskjemaet for å fremskaffe en inverterbar heltalls tilnærming fra en Givens-rotasjon.
Denne heltallstilnærming oppnås ved å bruke en avrundingsfunksjon etter hver addisjon, dvs. etter hvert løftetrinn. Løfteskjemaet kan også benyttes som en inverterbar heltallstilnærming ved spesielle skaleringsoperasjoner. I fagpublikasjonen R. Geiger og G. Schuller, "Integer low delay and MDCT filter banks", Proe. of the Asilomar Conf. on Signals, Systems and Computers, 2002, omtales og beskrives den følgende løftedekompo-neringen av en 2x2 skaleringsmatrise med en determinant lik 1:
Denne løftedekomponering som er endimensjonal, dvs. at den gjelder bare for 2x2 skaleringsmatriser, utvides for anvendelse i det flerdimensjonale tilfelle. Spesifikt erstattes alle verdier i likningen ovenfor av nxn matriser, der n, dvs. antallet diskrete verdier i en blokk, er større enn eller lik 2. Således blir resultatet at for hvilken som helst nxn-matrise T, som fortrinnsvis er inverterbar, er følgende dekomponering i 2n x 2n blokkmatriser mulig, der En angir nxn enhetsmatrisen:
I tillegg til å bestå av enkle operasjoner slik som permutasjoner eller multiplikasjoner med -1, har alle tre blokker i denne dekomponering følgende generelle struktur:
For denne 2n x 2n blokkmatrise kan et generelt løfteskjema benyttes som i det følgende vil bli referert til som en flerdimensjonal løfting.
For en vektor med verdiene x = (x0, ..., x2N-i) vil anvendelsen av denne blokkmatrise tilveiebringe følgende likning:
Det skal bemerkes at høyresiden i likningen ovenfor er en vektor med dimensjon, dvs. hvis antall linjer er lik 2n. De første n komponenter, dvs. komponentene fra 0 til n-l, korresponderer til x0til xn_i. De neste n komponenter, dvs. den andre halvdel av vektoren på høyresiden i likningen ovenfor, er lik summen av den andre blokk av diskrete verdier, dvs. xn,X2n-i, og matrisen A tilsvarende transformasjonsmatrisen på fig. 10A, 10B, 10C og 11, multiplisert med den første blokk av diskrete verdier x0, ..., xn_i. Transformasjonsmatrisen representerer henholdsvis den første, andre og tredje transformasjonsregel.
På samme måte som med det vanlige løfteskjema med 2x2 matriser av formen
kan disse 2n x 2n matriser benyttes ved inverterbare heltallstilnærminger av transformasjonen T på følgende måte. For heltalls inngangsverdier (x0, ..., x2n-i), avrundes flytetallsutgangsverdiene (yo, ..., yn-i) = A-(x0, ..., xn_i) til heltallsverdier før de adderes til heltallsverdiene (xn,x2n-i). Den inverse av blokkmatrisen har følgende resultat:
Således kan denne prosess inverteres uten feil ved rett og slett å benytte samme matrise A og samme avrundingsfunksjon, og ved nå å subtrahere de resulterende verdier i stedet for å addere dem slik som med foroverprosesseringen. Foroverprosesseringen er illustrert på fig. 13 mens reversprosesseringen er illustrert på fig. 14. Det skal bemerkes at transformasjonsmatrisen på fig. 13 er identisk med transformasjonsmatrisen på fig. 14, hvilket er å foretrekke for å oppnå en enkel implementering.
Siden verdiene (x0,xn_!) ikke modifiseres ved forovertrinnet vist på fig. 13, vil de være de samme ved det inverse trinn, dvs. ved reverstrinnet vist på fig. 14. Det skal bemerkes at det ikke foreligger noen spesielle restriksjoner på matrisen A. Den trenger derfor ikke nødvendigvis å være inverterbar.
For å kunne fremskaffe en inverterbar heltallstilnærming av den kjente MDCT dekomponeres MDCT i et første trinn i Givens-rotasjonen, der dette trinn består av vindusdelingen, samt i et påfølgende DCT-IV-trinn. Denne dekomponering er vist på fig. 3, er beskrevet i detalj i DE 10129240 Al, og vil bli omtalt i det følgende: I motsetning til den kjente teknikk der DCT-IV dekomponeres i flere trinn av Givens-rotasjonen, forblir transformasjonen selv uendret og avrundes etterpå.
Det er således kjent at heltallstilnærminger av DCT-IV utføres gjennom flere trinn av løftebaserte Givens-rotasjoner. Antallet Givens-rotasjoner bestemmes av den underliggende raske algoritme. Antallet Givens-rotasjoner er således gitt ved O (N log N) ved en transformasjon med lengde N. Vindusdelingstrinnet for hver MDCT-dekomponering består bare av N/2 Givens-rotasjoner eller av 3N/2 avrundingstrinn. Således tilveiebringer spesielt transformasjoner med stor lengde, slik som for eksempel med anvendelser i audiokoding (f.eks. 1024), heltallstilnærminger av DCT-IV hoveddelen av tilnærmingsfeil.
Denne tilnærmingsmåte benytter det såkalte flerdimensjonale løfteskjema. Således reduseres antallet avrundingstrinn i DCT-IV til 3N/2, dvs. det er lik antallet avrundingstrinn ved vindusdelingstrinnet, mot ca. 2N log2N avrundingstrinn ved den konvensjonelle løftebaserte tilnærmingsmåte.
DCT-IV anvendes på to blokker av signaler samtidig. Ett eksempel på dette er illustrert på fig. 12, der to temporalt suksessive blokker av sampler gjennomgår en DCT-IV. De to blokker som gjennomgår de to transformasjoner kan imidlertid også være sampler fra to kanaler i et flerkanalssignal. Dekomponeringen fra den tredimensjonale Løftelikningen beskrevet ovenfor anvendes til transformasjonsregelen som også kan betraktes som en N x N matrise. Siden den inverse, spesielt for DCT-IV, igjen er DCT-IV, vil resultatet blir følgende dekomponering for konseptet vist på fig. 12:
Permutasjonene av multiplikasjoner med -1 kan angis i egne blokkmatriser, slik at resultatet blir det følgende:
Således kan en anvendelse av en transformasjon på to blokker av signaler, dvs. to blokker av diskrete verdier, fremskaffes med fortrinnsvis tre flerdimensjonale løftetrinn:
Likningen ovenfor illustreres grafisk på fig. 10C basert på en utførelsesform. Den tilsvarende inverse omforming er vist på fig. 11, som omtalt tidligere.
Ved denne tilnærmingsmåte kan to DCT-IV-transformasjoner med lengde N implementeres på en inverterbar måte, der det bare kreves 3N avrundingstrinn, dvs. 3N/2 avrundingstrinn per transformasjon.
DCT-IV på de tre flerdimensjonale løftetrinn kan implementeres på hvilken som helst måte, for eksempel en flytetallsbasert eller en fastpunktbasert implementering. Den trenger ikke en gang å være inverterbar. Den må bare utføres på nøyaktig samme måte ved forover- og ved reversprosesseringen. Et resultat av dette er at dette konsept er passende for transformasjoner med stor lengde, slik som 1024, slik de for tiden anvendes ved audiokoding.
Den samlede beregningskompleksitet er 1,5 ganger så stor som beregnings-kompleksiteten til ikke-heltallsimplementeringen i de to DCT-IV-transformasjoner. Denne beregningskompleksitet er likevel betydelig lavere enn for konvensjonelle løftebaserte heltallsimplementeringer som er omtrent dobbelt så komplekse som den konvensjonelle DCT-IV, fordi disse implementeringer må benytte de trivielle pluss/minus-butterflies<*>basert på det anvendte løfteskjema for å oppnå energikon-servering, slik dette er omtalt i R. Geiger, T. Sporer, J. Koller og K. Brandenburg, "Audio coding based on integer transforms" i 111. AES Convention, New York, 2001.
Den illustrerte tilnærmingsmåte beregner minst to DCT-IV-transformasjoner på samme tid, dvs. innenfor én omforming. Dette kan for eksempel oppnås ved å beregne DCT-IV-transformasjonen for to suksessive blokker av audiosignaler eller to suksessive bilder av et billedsignal. Dersom det dreier seg om et tokanals stereosignal kan dette også oppnås ved beregning av DCT-IV for den venstre og den høyre kanal i en omformingsprosess og/eller invers omformingsprosess. I det første tilfelle introduseres det ytterligere forsinkelse av en blokk i systemet. Det andre tilfelle kan benyttes for stereokanalen og/eller generelle flerkanals signaler.
Dersom begge alternativer ikke er ønskelig, men en normal prosessering av blokker med N verdier ønskes opprettholdt, kan alternativt DCT-IV med lengde N også dekomponeres i to DCT-IV-transformasjoner med lengde N/2.1 denne sammenheng vises det til Y. Zeng, G. Bi og Z. Lin, "Integer sinusoidal transforms based on lifting factorization" i Proe. ICASSP'01, mai 2001, sider 1181-1184, der denne dekomponering omtales. I tillegg til de to DCT-transformasjoner med lengde N/2 kreves flere trinn av Givens-rotasjoner. I denne algoritme anvendes videre en blokkmatrise
dvs. N/2 pluss/minus butterflies, en blokkdiagonalmatrise med N/2 Givens-rotasjoner og videre noen permutasjonsmatriser. Når disse ytterligere trinn av N/2 Givens-rotasjoner benyttes kan tilnærmingsmåten med flerdimensjonal løfting også brukes ved beregning av bare DCT-IV med lengde N. Den grunnleggende struktur i denne algoritme er vist på fig. 15, der det ved siden av det faktiske omformingstrinn hvor to DCT-IV-transformasjoner med lengde N/2 benyttes, først utføres et butterfly-trinn for å beregne den første og den andre blokk av diskrete verdier, som nå imidlertid bare har en lengde på N/2. Det er videre tilveiebrakt et rotasjonstrinn på utsiden for å fremskaffe utgangs verdiene y0,yN_i fra blokken av utgangsverdier fra den transformerte representasjon og den andre blokk av utgangsverdier fra den transformerte representasjon, som nå imidlertid bare omfatter N/2 verdier hver, der den første får de samme utgangsverdier som DCT-IV-operasjonen vist på flg. 12, og dette blir åpenbart ved sammenlikning av indeksene på inngangssiden og utgangssiden på fig. 15 og 12.
Hittil er bare omtalt en anvendelse av flerdimensjonal drøfting på blokkmatriser som har følgende form:
Det er imidlertid også mulig å dekomponere andre blokkmatriser i flerdimensjonale løftetrinn. For eksempel kan følgende dekomponering benyttes for å implementere en kombinasjon av et trinn med normalisert pluss/minus-butterflies og to blokker av DCT-IV-transformasjoner ved tre trinn flerdimensjonal løfting.
Det er åpenbart fra likningen ovenfor at den første transformasjonsregel, som benyttes på venstresiden i likningen, og den andre transformasjonsregel, som benyttes i den sentrale del av likningen ovenfor, og den tredje transformasjonsregel, som benyttes på høyresiden i likningen, ikke trenger å være identiske. Videre blir det åpenbart fra likningen ovenfor at ikke bare blokkmatriser som bare har elementer på hoveddiagonalen kan dekomponeres, men at også fulle matriser kan prosesseres. Det skal videre bemerkes at det ikke foreligger noen begrensninger ved at transformasjonsreglene benyttet ved omforming til en transformert representasjon må være identiske eller på noen som helst måte relatert til hverandre, for eksempel ved at den andre transformasjonsregel er reverstransformasjonsregelen på den første transformasjonsregel. Det kan hovedsakelig benyttes tre gjensidig forskjellige transformasjonsregler så lenge denne forskjell tas i betraktning ved den inverse representasjon.
I denne sammenheng vises det igjen til fig. 10C og 11. Ved omformingen av de diskrete verdier til en transformert representasjon kan midlene 102 være konstruert for å implementere en hvilken som helst transformasjonsregel 1. Videre kan midlene 108 også være konstruert for å benytte hvilken som helst annen eller den samme transfor masjonsregel benevnt som transformasjonsregel 2. Midlene 140 kan videre være generelt konstruert for å kunne bruke hvilken som helst transformasjonsregel 3 som ikke nødven-digvis trenger å være den samme som den første eller den andre transformasjonsregel.
Ved den inverse omforming av den transformerte representasjon må det imidlertid foreligge en tilpasning til transformasjonsreglene 1-3 omtalt på fig. 10C, slik at de første midler 124 for omforming ikke utfører hvilken som helst transformasjonsregel, men derimot transformasjonsregel 3 som ble utført i blokk 140 på fig. 10C. På samme måte må midlene 130 på fig. 11 utføre transformasjonsregel 2 som også ble utført ved blokken 108 på fig. 10C. Endelig må midlene 150 på fig. 11 utføre transformasjonsregel 1 som også ble utført av midlene 102 på fig. 10C, slik at det oppnås en tapsfri invers omforming.
Fig. 16 viser en modifikasjon av konseptet omtalt i forbindelse med fig. 10C. Mer spesifikt utføres avrundingen i elementene 104, 110, 142 ved forovertransformasjonen eller i elementene 126, 132, 152 ved reverstransformasjonen ikke lenger på samplene, men slik at det oppnås en spektral forming av avrundingsfeilen.
Når fig. 10C og fig. 16 sammenliknes er det åpenbart at det er å foretrekke at blokken 104 erstattes med blokken 204a, samt å anvende blokken 204b i stedet for avrundingsblokken 110. Dette er tilfellet fordi konseptet er spesielt fordelaktig når det foretas en påfølgende transformasjon inn i frekvensområdet hvor hvit støy fra avrundingsfeilen er problematisk når det ikke utføres noen form for spektralforming. Siden det ikke foreligger noen frekvenstransformasjon etter avrundingen 142 ville denne fordel ikke lenger kunne oppnås ved en spektral forming i blokken 142. Dette er imidlertid tilfellet for blokken 204a, fordi det her foretas en ytterligere frekvensomforming ved transformasjonen i blokken 108. Den spektrale forming ifølge oppfinnelsen i blokken 204b er således særdeles attraktiv, fordi det her foretas en ytterligere transformasjon ved den siste blokk 140. Slik det imidlertid blir åpenbart i forbindelse med fig. 16 foreligger den støyformede avrundingsfeil allerede i utgangsblokken 114, slik at det kunne utføres en felles avrunding allerede i blokken 204b, som illustrert ved blokkene 110 på fig. 10C, i stedet for å utføre den spektrale forming av avrundingsfeilen.
Hver enkelt anvendelse vil være avgjørende om det benyttes en spektral formingsavrunding eller en felles avrunding, dvs. med en avrundingsfeil som har en hvit støy spektraldistribusjon ved fullførelsen av den andre transformasjon, dvs. transformasjonen 108.
Således vil den uavhengige avrunding av et bestemt antall verdier, f.eks. k verdier, erstattes med avrunding med spektralforming, som også kan benevnes som en "avhengig avrunding".
Det er åpenbart fra omtalen av fig. 16 ovenfor at den spektrale forming av avrundingsfeilen også kan benyttes ved den heltalls DCT som er påkrevd for IntMDCT. Imidlertid må det her tas i betraktning at den spektrale forming ved feil-feedback bare er særlig fordelaktig når verdien som skal avrundes er tidssignaler som omformes til frekvensområdet gjennom et ytterligere transformasjonstrinn. Som illustrert i forbindelse med den flerdimensjonale løfting vist på fig. 16, vil den spektrale forming derfor være fordelaktig i de to første trinn, men ikke nødvendigvis være fordelaktig i det tredje trinn.
Det skal bemerkes at fig. 16 viser et eksempel på en koder ifølge oppfinnelsen som korresponderer til fig. 10C. Dekoderen ifølge fig. 16 følger direkte fra en sammenlikning mellom fig. 16 og fig. 11. Dekoderen ifølge fig. 16 følger fra fig. 11 ved at alle blokker opererer identisk, med unntak av de to avrundingsblokker 132, 152. På fig. 11 er disse avrundingsblokker uavhengige avrundingsblokker og ville bli erstattet i dekoderen ifølge oppfinnelsen, av de avhengige avrundingsblokker 204a, 204b, som alle har strukturen som for eksempel vist i forbindelse med fig. 2C. Det skal spesielt bemerkes at nøyaktig den samme avrundingsalgoritmen med spektral forming benytte i dekoderen og i koderen. Konseptet vist på fig. 2b og 2c, spesielt når H(z) = -1, er videre spesielt egnet for bruk ved reduksjon av avrundingsfeilen og spesielt ved reduksjon av avrundingsfeilen ved heltallstransformasjonen.
En slik reduksjon av avrundingsfeilen vil, ifølge oppfinnelsen alltid være mulig når to flytetallsverdier avrundes og adderes til samme verdi i stedet for til forskjellige verdier. En slik foretrukket situasjon er illustrert på fig. 17. Her foretas det først et første løftetrinn med en sekvens av nedover-oppover-nedover mellom løfteelementene Xi og x3. Det foretas videre en annen løftesekvens med den kjente sekvens av nedover-oppover-nedover, men nå med løfteelementene x2og x3. Spesielt benyttes verdien x3fremskaffet ved den første løfteoperasjon som addisjonselement ved det andre løftetrinn, slik det kan ses fra fig. 17. Det skal igjen bemerkes at når en pil når en horisontal linje, representerer dette en addisjon. Med andre ord adderes en verdi som nettopp er blitt avrundet således til verdien som korresponderer til den horisontale linje.
Mer spesifikt, i eksemplet vist på fig. 17, vekttillegges først verdien xi (blokk 250) og så avrundes individuelt (blokk 252). Utgangssignalet fra blokk 252 adderes så til x3(blokk 254). Resultatet av denne addering 254 vekttillegges så igjen (blokk 256) og avrundes igjen (blokk 258). Resultatet av denne avrunding 258 adderes nå til xi (260). Resultatet av adderingen 260 vekttillegges igjen (blokk 262) og avrundes (blokk 264) for så å bli addert til den aktuelle verdi av x3(til blokk 266). På tilsvarende måte vekttillegges verdien x2av en blokk 270 og avrundes så av en blokk 272. Resultatet fra blokk 272 adderes (274) til den nå aktuelle verdi av x3. Så foretas det igjen en vekting (276) og avrunding (278) for så å addere (280) resultatet av blokken 278 igjen til den aktuelle verdi av x2. Resultatet av denne addisjon 280 vekttillegges igjen (blokk 282), og det vekttilleggede resultat avrundes (blokk 284) for så å addere resultatet fra avrundingsblokken 284 igjen til den nå aktuelle verdi av x3(blokk 286) for således å fremskaffe en resultatverdi forX3. Det er åpenbart fra fig. 17 at det først avrundes en første verdi, dvs. resultatet fra blokk 262, før den adderes til x3. I tillegg avrundes (blokk 272) også en andre verdi, dvs. resultatet fra blokk 270, før denne andre verdi adderes til verdien x3(adderingsenheten 274). Så situasjonen er den at to flytetallsverdier avrundes den ene etter den andre og adderes til de samme verdier i stedet for til forskjellige verdier. I eksemplet vist på fig. 17 adderes resultatet av det tredje og fjerde løftetrinn til samme verdi, dvs. x3, slik at adderingen utføres med avrundingsfunksjonen [.]:
Dersom avrundingsfeilen for det tredje løftetrinn mates til det fjerde løftetrinn, kan feilen fra det tredje trinn også benyttes her og bare én avrundingsfeil genereres i stedet for to avrundingsfeil. Beregningene utføres som følger:
Med denne beregning vil en mating av avrundingsfeilen til det neste avrundingstrinn således tilsvare en addisjon av verdiene og en påfølgende avrunding. Denne situasjon er illustrert på fig. 18 som korresponderer til fig. 17, der imidlertid de to separate avrundingsblokker 264, 272 og de to separate adderingsenheter 266, 274 erstattes av en blokk 268 konstruert for å implementere likningen ovenfor. Resultatene fra de to blokker 262 og 270 adderes derfor først i ikke avrundet form og avrundes. I gunstige tilfeller halveres således avrundingsfeilen. Ved utgangen fra blokk 268 foreligger det nå bare én enkelt verdi som adderes til x3ved hjelp av en adderingsenhet 269.
Det kan også foreligge en kombinasjon av en reduksjon og en forming av avrundingsfeilen, for eksempel når et sett av Givens-rotasjoner og et flerdimensjonalt løftetrinn etterfølger hverandre, som illustrert på fig. 19. Her angis bare som et eksempel at det siste trinn i en nedover-oppover-nedover-sekvens for flere verdier utføres på verdiene xi tilX4, for eksempel nedovertrinnet 31c på fig. 9. Disse verdier skal så adderes til korresponderende verdier, til hvilke også de avrundede verdier på flg. 16, dvs. verdiene ved utgangen av blokk 204a, skal adderes. I dette tilfelle er det å foretrekke at de ikke avrundede verdier adderes først, nemlig ved hjelp av adderingsenhetene 203 vist på fig. 19, for så å avrunde de adderte verdier i blokk 204 på fig. 19 og samtidig utsette dem for støyforming slik at det bare fremskaffes en enkelt avrundingsfeil og utgangsverdiene etter adderingen av adderingsenhetene 106 inneholder mindre feil. Situasjonen på flg. 19 er således resultatet når fig. 9 settes til venstre for fig. 16, og spesielt når en DCT-IV med N/2 verdier benyttes i stedet for en DCT-IV med N verdier.
Ifølge oppfinnelsen er det således å foretrekke at en reduksjon av avrundingsfeilen kombineres med en forming av avrundingsfeilen. Ved reduksjon av avrundingsfeilen prosesseres således flere inngangsverdier for så å avrundes sammen, hvorpå de avrundede verdier adderes til én verdi, mens det ved den spektrale forming av avrundingsfeilene foretas en individuell avrunding av de avrundede verdier med en påfølgende addering til flere forskjellige verdier.
Det skal videre bemerkes at det kan oppstå en situasjon som angitt på flg. 19 også når N/2 DCT benyttes, slik som vist på flg. 15. Her foreligger trinnet benevnt som butterfly-trinnet på fig. 15 før omformingstrinnet, dvs. før de to DCT-blokkene, der inngangsverdiene x0 til xN/2.itilsvarende vekttillegges og avrundes for så å adderes til de samme verdier som også verdiene i et DCT-IV-trinn adderes til. Det skal videre bemerkes at omformingstrinnet på fig. 15 bare vises skjematisk. De to DCT-IV-blokkene illustrert skjematisk på fig. 15 ville i en konkret implementering bli erstattet med komponentene vist på fig. 16, dersom xN_i på denne figur erstattes av xN/2.i, og omvendt, og dersom xN/2erstatter xN.
Fig. 19 viser således en foretrukket implementering spesielt for mono-anvendelsen, dvs. for anvendelse der en N/2 DCT-IV skal benyttes.
Avhengig av omstendighetene kan den oppfinneriske fremgangsmåte for avrunding av et signal ved en sekvens av diskrete verdier implementeres i maskinvaren eller i programvaren. Implementeringen kan gjøres på et digitalt lagringsmedium, spesielt på en diskett eller en cd med styringssignaler som kan leses elektronisk, som kan samordnes med et programmerbart datamaskinsystem slik at fremgangsmåten kan utføres. Oppfinnelsen omfatter således også et datamaskinprogram med en programkode for ut-førelse av den oppfinneriske fremgangsmåte lagret i en maskinlesbar bærer, når datamaskinprogrammet kjøres i en datamaskin. Med andre ord omfatter oppfinnelsen således også et datamaskinprogram med en programkode for utførelse av fremgangsmåten, når datamaskinprogrammet kjøres i en datamaskin.

Claims (11)

1 Apparat for behandling av minst to inngangsstørrelser,karakterisert ved o en innretning (202, 250, 252, 254, 256, 258, 260, 262) for klargjøring av en første ikke heltallig inngangsstørrelse og en andre heller ikke heltallig inngangstørrelse, idet denne innretning er innrettet for veining av en første opprinnelig størrelse for å komme frem til den første inngangsstørrelse og videre er innrettet for å kunne beregne den andre inngangsstørrelse ved en transformasjon av en sekvens av opprinnelige inngangsstørrelser, hvor den opprinnelige første størrelse (xi) til denne sekvens, eller for å komme frem til den første inngangsstørrelse fra en første opprinnelig størrelse og en tredje størrelse (x3) ved et første og et andre løftetrinn og en tilhørende veining (262), og for å danne den andre inngangsstørrelse ved veining (270) ut fra en opprinnelig andre inngangsstørrelse (x2), og o en innretning (268) for kombinasjon av den første og den andre inngangstørrelse for å komme frem til en ikke heltallig utgangsstørrelse, idet denne utgangsstørrelse deretter avrundes.
2 Apparat ifølge krav 1,karakterisert ved at innretningen for kombinasjon er utformet for å kunne danne en sum eller en differanse.
3 Apparat ifølge krav 1 eller 2,karakterisert ved at den første og den andre inngangsstørrelse er diskrete størrelser som omfatter audio-og/eller videoinformasjon.
4 Apparat ifølge ett av de foregående krav,karakterisert veden innretning (269) for kopling av utgangsstørrelsene til en tredje inngangsstørrelse for å danne en resulterende utgangsstørrelse.
5 Apparat ifølge krav 4,karakterisert ved at innretningen (269, 104) for kopling er utformet som en summerings- eller en subtraksj onskrets.
6 Apparat ifølge krav 4 eller 5,karakterisert ved at den tredje inngangsstørrelse er heltallig, slik at den resulterende utgangsstørrelse likeledes blir heltallig.
7 Apparat ifølge krav 1,karakterisert ved å være tilpasset å summere den heltallige inngangsstørrelse med en modifisert tredje inngangsstørrelse hvis modifikasjon er utført i et løftetrinn, hvoretter denne modifiserte tredje størrelse og den andre inngangsstørrelse tillates rotasjon i et andre og et tredje løftetrinn.
8 Apparat ifølge krav 1,karakterisert ved en innretning (106) for summering av de heltalllige inngangsverdier til en ytterligere inngangsverdi som inngår som en del av en sekvens behandlet i en første transformasjonsforskrift (102), og oppnå en andre verdi av en ytterligere sekvens som er tilpasset på gjennomgå en andre transformasjonsforskrift, idet begge disse forskrifter fastlegger et første hhv. andre flerdimensjonalt løftetrinn.
9 Fremgangsmåte for behandling av minst to inngangsstørrelser,karakterisert ved: o klargjøring (202, 250, 252, 254, 256, 258, 260, 262) av en første og en andre ikke heltallig inngangsstørrelse, idet klargjøringen omfatter veining av en første opprinnelig størrelse for å komme frem til den første inngangsstørrelse, og beregning av den andre inngangsstørrelse ved en transformasjon ut fra en sekvens av opprinnelig inngangsstørrelser, til hvilken sekvens den opprinnelige første verdi (x0 hører, eller hvor klargjøringstrinnet bygger på en første opprinnelig verdi og en tredje verdi (x3) via en første og et andre løftetrinn og en tilhørende veining (262), og hvor dannelsen av den andre inngangsstørrelse fremkommer ved veining (270) av en opprinnelige andre inngangsstørrelse (x2), og o kombinasjon (268) av den første og andre inngangsstørrelse for å komme frem til en ikke heltallig utgangsstørrelse, og o avrunding av denne utgangsstørrelse for å danne en avrundet verdi.
10 Fremgangsmåte ifølge krav 11,karakterisert ved at følgende trinn utføres etter kombinasjonen: kopling (269) av utgangsstørrelsene med en tredje heltallig inngangsstørrelse for å komme frem til en heltallig resulterende utgangstørrelse.
11 Datamaskinprogram som omfatter en programkode for gjennomføring av fremgangsmåten ifølge 9, når programmet kjøres på en datamaskin. Tekst til tegningene Fig.l 200: Sekvens av (heltalls) diskrete verdier 202: Midler for manipulering Sequence of non-integer discrete values = Sekvens av ikke-heltalls diskrete verdier 204: Midler for avrunding med spektral forming av avrundingsfeilen (f.eks. med lavpassfiltrering) Error-containing sequence of rounded manipulated values = Sekvens av avrundede manipulerte verdier inneholdende feil 206: Midler for omforming til spektral representasjon 208: Midler for (entropi) koding av den spektrale representasjon
NO20061450A 2003-10-02 2006-03-30 Apparat og fremgangsmåte for behandling av minst to inngangsstørrelser NO334930B1 (no)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10345996A DE10345996A1 (de) 2003-10-02 2003-10-02 Vorrichtung und Verfahren zum Verarbeiten von wenigstens zwei Eingangswerten
PCT/EP2004/010855 WO2005033965A1 (de) 2003-10-02 2004-09-28 Vorrichtung und verfahren zum verarbeiten von wenigstens zwei eingangswerten

Publications (2)

Publication Number Publication Date
NO20061450L NO20061450L (no) 2006-06-14
NO334930B1 true NO334930B1 (no) 2014-07-14

Family

ID=34399212

Family Applications (1)

Application Number Title Priority Date Filing Date
NO20061450A NO334930B1 (no) 2003-10-02 2006-03-30 Apparat og fremgangsmåte for behandling av minst to inngangsstørrelser

Country Status (16)

Country Link
US (1) US7873227B2 (no)
EP (1) EP1654674B1 (no)
JP (1) JP4328805B2 (no)
KR (1) KR100804053B1 (no)
CN (1) CN100435137C (no)
AT (1) ATE364206T1 (no)
AU (1) AU2004278829B2 (no)
BR (1) BRPI0415152B1 (no)
CA (1) CA2540581C (no)
DE (2) DE10345996A1 (no)
DK (1) DK1654674T3 (no)
HK (1) HK1086367A1 (no)
IL (1) IL174318A (no)
NO (1) NO334930B1 (no)
RU (1) RU2323469C2 (no)
WO (1) WO2005033965A1 (no)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8214200B2 (en) * 2007-03-14 2012-07-03 Xfrm, Inc. Fast MDCT (modified discrete cosine transform) approximation of a windowed sinusoid
EP2063417A1 (en) 2007-11-23 2009-05-27 Deutsche Thomson OHG Rounding noise shaping for integer transform based encoding and decoding
US8447591B2 (en) 2008-05-30 2013-05-21 Microsoft Corporation Factorization of overlapping tranforms into two block transforms
PL2311032T3 (pl) 2008-07-11 2016-06-30 Fraunhofer Ges Forschung Koder i dekoder audio do kodowania i dekodowania próbek audio
RU2523035C2 (ru) * 2008-12-15 2014-07-20 Фраунхофер-Гезелльшафт цур Фёрдерунг дер ангевандтен Форшунг Е.Ф. Аудио кодер и декодер, увеличивающий полосу частот
PL4053838T3 (pl) 2008-12-15 2023-11-13 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Dekoder powiększania szerokości pasma audio, powiązany sposób oraz program komputerowy
CA2763793C (en) * 2009-06-23 2017-05-09 Voiceage Corporation Forward time-domain aliasing cancellation with application in weighted or original signal domain
JP5774010B2 (ja) 2009-09-25 2015-09-02 グラクソスミスクライン バイオロジカルズ ソシエテ アノニム インフルエンザウイルスのための免疫拡散アッセイ
EP2524374B1 (en) 2010-01-13 2018-10-31 Voiceage Corporation Audio decoding with forward time-domain aliasing cancellation using linear-predictive filtering
WO2012070866A2 (ko) * 2010-11-24 2012-05-31 엘지전자 주식회사 스피치 시그널 부호화 방법 및 복호화 방법
BR112013020588B1 (pt) 2011-02-14 2021-07-13 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Aparelho e método para codificação de uma parte de um sinal de áudio utilizando uma detecção transiente e um resultado de qualidade
ES2529025T3 (es) 2011-02-14 2015-02-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Aparato y método para procesar una señal de audio decodificada en un dominio espectral
PL2676266T3 (pl) 2011-02-14 2015-08-31 Fraunhofer Ges Forschung Układ kodowania na bazie predykcji liniowej wykorzystujący kształtowanie szumu w dziedzinie widmowej
PT2676267T (pt) 2011-02-14 2017-09-26 Fraunhofer Ges Forschung Codificação e descodificação de posições de pulso de faixas de um sinal de áudio
MX2012013025A (es) * 2011-02-14 2013-01-22 Fraunhofer Ges Forschung Representacion de señal de informacion utilizando transformada superpuesta.
MX2013010537A (es) 2011-03-18 2014-03-21 Koninkl Philips Nv Codificador y decodificador de audio con funcionalidad de configuracion.
ES2617958T3 (es) * 2011-04-05 2017-06-20 Nippon Telegraph And Telephone Corporation Codificación de una señal acústica
CA2900437C (en) 2013-02-20 2020-07-21 Christian Helmrich Apparatus and method for encoding or decoding an audio signal using a transient-location dependent overlap
EP2830063A1 (en) 2013-07-22 2015-01-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus, method and computer program for decoding an encoded audio signal
US9094033B1 (en) 2015-01-23 2015-07-28 Pmc-Sierra Us, Inc. Quantization noise-shaping device
US10743025B2 (en) * 2016-09-01 2020-08-11 Lg Electronics Inc. Method and apparatus for performing transformation using layered givens transform
CN109408427B (zh) * 2017-08-18 2021-01-22 龙芯中科技术股份有限公司 一种跨时钟域数据处理方法及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6757659B1 (en) * 1998-11-16 2004-06-29 Victor Company Of Japan, Ltd. Audio signal processing apparatus
DE10129240A1 (de) * 2001-06-18 2003-01-02 Fraunhofer Ges Forschung Verfahren und Vorrichtung zum Verarbeiten von zeitdiskreten Audio-Abtastwerten
JP2003108248A (ja) * 2001-09-27 2003-04-11 Alpine Electronics Inc 操作装置
US7076108B2 (en) * 2001-12-11 2006-07-11 Gen Dow Huang Apparatus and method for image/video compression using discrete wavelet transform
CN1154084C (zh) * 2002-06-05 2004-06-16 北京阜国数字技术有限公司 一种基于伪小波滤波的音频编/解码方法
KR100885437B1 (ko) 2003-09-29 2009-02-24 에이전시 포 사이언스, 테크놀로지 앤드 리서치 시간 도메인에서 주파수 도메인으로 그리고 그 반대로디지털 신호를 변환하는 방법
DE10345995B4 (de) 2003-10-02 2005-07-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Verarbeiten eines Signals mit einer Sequenz von diskreten Werten

Also Published As

Publication number Publication date
RU2006110319A (ru) 2007-10-20
JP4328805B2 (ja) 2009-09-09
HK1086367A1 (en) 2006-09-15
ATE364206T1 (de) 2007-06-15
RU2323469C2 (ru) 2008-04-27
CA2540581A1 (en) 2005-04-14
CN1864158A (zh) 2006-11-15
WO2005033965A1 (de) 2005-04-14
JP2007508605A (ja) 2007-04-05
BRPI0415152A (pt) 2006-11-28
US7873227B2 (en) 2011-01-18
NO20061450L (no) 2006-06-14
AU2004278829B2 (en) 2008-04-24
DK1654674T3 (da) 2007-10-08
BRPI0415152B1 (pt) 2017-03-07
IL174318A0 (en) 2006-08-01
US20070196022A1 (en) 2007-08-23
KR20060071425A (ko) 2006-06-26
IL174318A (en) 2010-11-30
EP1654674B1 (de) 2007-06-06
CA2540581C (en) 2012-11-27
AU2004278829A1 (en) 2005-04-14
KR100804053B1 (ko) 2008-02-18
DE502004004043D1 (de) 2007-07-19
DE10345996A1 (de) 2005-04-28
CN100435137C (zh) 2008-11-19
EP1654674A1 (de) 2006-05-10

Similar Documents

Publication Publication Date Title
NO334930B1 (no) Apparat og fremgangsmåte for behandling av minst to inngangsstørrelser
NO337159B1 (no) Apparat og fremgangsmåte for behandling av et signal med en sekvens av diskrete verdier
US8195730B2 (en) Apparatus and method for conversion into a transformed representation or for inverse conversion of the transformed representation
US7343287B2 (en) Method and apparatus for scalable encoding and method and apparatus for scalable decoding
AU2010249173B2 (en) Complex-transform channel coding with extended-band frequency coding
US7275036B2 (en) Apparatus and method for coding a time-discrete audio signal to obtain coded audio data and for decoding coded audio data
US7953604B2 (en) Shape and scale parameters for extended-band frequency coding
JP5820464B2 (ja) オーディオまたはビデオエンコーダ、オーディオまたはビデオデコーダ、及び予測方向可変の予測を使用したマルチチャンネルオーディオまたはビデオ信号処理方法
CA2482427C (en) Apparatus and method for coding a time-discrete audio signal and apparatus and method for decoding coded audio data
US20070172071A1 (en) Complex transforms for multi-channel audio
JP3814611B2 (ja) 時間離散オーディオサンプル値を処理する方法と装置
MXPA06003309A (en) Device and method for processing at least two input values