NO314709B1 - Fremgangsmåte og anordning til behandling av et sett av transformkoeffisienter - Google Patents

Fremgangsmåte og anordning til behandling av et sett av transformkoeffisienter Download PDF

Info

Publication number
NO314709B1
NO314709B1 NO19944138A NO944138A NO314709B1 NO 314709 B1 NO314709 B1 NO 314709B1 NO 19944138 A NO19944138 A NO 19944138A NO 944138 A NO944138 A NO 944138A NO 314709 B1 NO314709 B1 NO 314709B1
Authority
NO
Norway
Prior art keywords
parity
transform
transform coefficients
block
coefficients
Prior art date
Application number
NO19944138A
Other languages
English (en)
Other versions
NO944138D0 (no
NO944138L (no
Inventor
Teruniko Suzuki
Yoichi Yagasaki
Tatsuya Sudo
Toru Okazaki
Original Assignee
Sony Corp
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=26379647&utm_source=***_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=NO314709(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Sony Corp filed Critical Sony Corp
Publication of NO944138D0 publication Critical patent/NO944138D0/no
Publication of NO944138L publication Critical patent/NO944138L/no
Publication of NO314709B1 publication Critical patent/NO314709B1/no

Links

Classifications

    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • 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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • H04N19/45Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder performing compensation of the inverse transform mismatch, e.g. Inverse Discrete Cosine Transform [IDCT] mismatch
    • 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
    • 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
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Discrete Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Color Television Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Error Detection And Correction (AREA)
  • Television Signal Processing For Recording (AREA)
  • Complex Calculations (AREA)
  • Apparatus For Radiation Diagnosis (AREA)
  • Detection And Correction Of Errors (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Tone Control, Compression And Expansion, Limiting Amplitude (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Color Television Image Signal Generators (AREA)
  • Image Processing (AREA)

Description

Denne oppfinnelse vedrører:
en fremgangsmåte til behandling av et sett av transformkoeffisienter, som
angitt i ingressen av krav 1,
en anordning til forbehandling av et sett med transformkoeffisienter, som
angitt i ingressen av krav 10,
en fremgangsmåte til ortogonal transformering av et sett transformkoeffisienter uten innføring av avrundingsfeil, som angitt i ingressen av krav 16,
en anordning til invers ortogonal transformering av et sett med transformkoeffisienter uten innføring av avrundingsfeil, som angitt i ingressen av henholdsvis krav 17 og 21.
Ortogonale transformeringer anvendes på forskjellige områder i flere digitale signalbehandlingssystemer. Ortogonale transformeringer gjør det mulig å utføre signalbehandling i frekvensområdet. Hurtig Fourier og Transform (FFT) og diskret cosinustransform (DCT) etc er velkjente typer av ortogonal transformering. En ortogonal transformering analyserer, f.eks, et bruddstykke av et signal i tidsområder til frekvenskomponenter (varierende av den ortogonale transformfunksjon som anvendes) til angivelse av spektere (dvs fordelingen av energi i forhold til frekvens) i det opprinnelige signalbruddstykke i tidsområdet. Ved behandling på forskjellige måter av frekvenskomponentene (som regel betegnet som transformkoeffisienter) som er resultat av ortogonal transformering av signalbruddstykket kan redundans i det opprinnelige signalbruddstykket minskes. Ved ortogonal transformering av det opprinnelige signalbruddstykket og behandling av de resulterende transformkoeffisienter kan med andre ord det opprinnelige signalbruddstykket representeres ved bruk av langt mindre biter enn det som ble benyttet for årepresentere det opprinnelige signalbruddstykket. Ved invers ortogonal transformering av transformkoeffisientene kan videre det opprinnelige signalbruddstykket i tidsområdet gjenopprettes.
En anordning til komprimering av et signal for levende bilde og for ekspansjon av et komprimert signal for levende bilde er vanlige eksempler på digitale signalbehandlingssystemer som gjør bruk av ortogonal transformbehandling.
Det er kjent at signaleffekten i signaler med en høy korrelasjon er konsentrert ved lavere frekvenser i frekvensområdet. Etter hvert som konsentrasjonen av signaleffekten øker langs en bestemt koordinatakse (f.eks frekvensaksen) kan signalredundansen reduseres progressivt og signalet kan komprimeres mer effektivt.
Siden et signal for levende bilde i alminnelighet er høyt korrelert både rommessig og i tid kan ortogonal transformbehandling anvendes for å konsentrere signaleffekten langs en bestemt koordinatakse og signalet for levende bilde kan komprimeres med høy virkningsgrad.
Hittil har en overordentlig stor mengde informasjon vært nødvendig for å representere et levende bilde ved bruk f.eks av et standard NTSC videosignal. På grunn av dette har innspilling av et signal for levende bilde krevd et innspillingsmedium med meget høy lagringskapasitet hvis mediet skal gi en godtakbar lang innspillingstid. Den informasjonstakt hvormed signalet for levende bilde spilles inn og spilles av fra et medium av denne art må dessuten være meget høy. Fysisk store magnetbånd eller optiske plater har derfor vært nødvendige for å lagre signaler for levende bilde.
Hvis det er ønskelig å spille inn et signal for levende bilde på et mer kompakt innspillingsmedium med en innspillingstid som er lang nok til at den kan godtas må signalkomprimering foretas for signalet for levende bilde for å redusere den informasjonsmengde som det er nødvendig å lagre. I tillegg må det tilveiebringes en anordning som er i stand til å ekspandere det komprimerte signal for levende bilde som gjengis fra det kompakte innspillingsmedium.
For å tilfredsstille de krav som nettopp er beskrevet er det blitt foreslått forskjellige komprimeringssystemer for signaler til levende bilde der man utnytter korreleringen mellom og i deler av signalet for levende bilde som representerer de bilder som utgjør signalet for det levende bilde. For eksempel er dekomprimeirngssystem for signal til levende bilde som er foreslått av Moving Picture Experts Group (MPEG) velkjent. Siden MPEG systemet er blitt omfattende beskrevet i forskjellige trykte publikasjoner vil en detaljert forklaring av MPEG systemet ikke bli gjentatt her.
I den følgende beskrivelse vil det stadig bli henvist til et "bilde". Da signalbehandlings-teknikkene som her blir beskrevet er knyttet til behandling av et signal som representerer et levende bilde skal det påpekes at ordet "bilde" slik det generelt benyttes i denne beskrivelse gjelder den del av et signal for levende bilde som representerer et bilde i det levende bilde. Videre kan et signal for levende bilde representere et bilde i det levende bildet i form av et delbilde eller et felt. Hvis det ikke sies noe om det betyr et "bilde" et
felt eller et delbilde.
MPEG systemet bestemmer først forskjellen mellom de bilder som til sammen utgjør signalet for det levende bilde for å minske redundansen for signalet for det levende bilde i tidsområdet. Deretter reduserer MPEG systemet redundansen i signalet for det levende bilde i romområdet ved å utføre ortogonal transformbehandling på blokker av forskjeller mellom bilder i romområdet. MPEG utøver diskret cosinus transform (DCT) behandling som den ortogonale transformbehandling. Ved å minske redundansen i både tidsområdet og i romområdet blir det levende bilde komprimert meget effektivt. Det komprimerte signal for levende bilde som er resultatet av den komprimeringsprosess som her er beskrevet kan så spilles inn på et innspillingsmedium eller overføres via et egnet over-føringsmedium. Når det komprimerte signal for levende bilde blir gjengitt fra innspillingsmediet eller blir mottatt fra overføringsmediet blir blokkene for transformkoeffisienter som er resultatet fra DCT transformeringen trukket ut fra det komprimerte signal for levende bilde. Transformkoeffisientene blir behandlet ved bruk av en invers ortogonal transformering (en invers diskret cosinustransform (IDCT) i MPEG systemet) for å gjenopprette blokker med forskjellen mellom bilder under gjenoppbygningen av bildene med det opprinnelige signal for det levende bilde.
Et eksempel på oppbygningen av en anordning til komprimering av signaler for det levende bilde, basert på MPEG systemet er vist på fig 1.1 komprimeringsanordningen som er vist på fig 1 blir et digitalt signal for levende bilde matet inn i blokkformaterings-kretsen 101 der det blir omformet fra et standard videoformat f.eks fra NTSC standard videosignal format til et blokkformat for å frembringe et blokkdannet signal for levende bilde. Her blir hvert bilde i signalet for det levende bilde delt opp i romområdet, dvs horisontalt og vertikalt i makroblokker på f.eks 16x16 piksler. Makroblokkene blir så videre oppdelt i blokker på 8 x 8 piksler.
Anordningen som er vist på fig 1 komprimerer hvert bilde i signalet for det levende bilde. Blokk-for-blokk inntil alle blokker som utgjør bildet er blitt behandlet. Anordningen vil så behandle et annet bilde i signalet for det levende bilde som kan men behøver ikke være det neste bildet i sekvensen av bilder som utgjør det levende bilde. I den følgende beskrivelse av anordningen som er vist på fig 1 vil komprimering av en blokk med piksler i et bilde bli beskrevet. Blokken med piksler som blir komprimert er den pågående bildeblokk som er en blokk av det løpende bildet. Det blokkdannende signal for det levende bilde mates til bevegelsesprediktoren 102. Bevegelsesprediktoren mater det løpende bildet innbefattende den løpende bildeblokk Sl, blokk-for-blokk til kretsen
103 for beregning av en forskjellsblokk.
Når kretsen 103 til beregning av forskjellsblokken mottar den løpende bildeblokk fra bevegelsesprediktoren 102 mottar den også tilpasningsblokken S2 som tilsvarer den løpende bildeblokk fra bevegelsesprediktoren 102. Tilpasningsblokken blir avledet fra de rekonstruerte bilder som er lagret i bildeminneblokken 112 av predikteren 113. Kretsen 103 til beregning av forskjellsblokken bestemmer piksel-for-piksel forskjellen mellom den løpende bildeblokk Sl og dens tilsvarende tilpasningsblokk S2. Den resulterende blokk med forskjeller, nemlig forskjellsblokken S3 blir matet til den ortogonale transformkrets 104.
Den ortogonale transformkrets 104 som vanligvis er en diskret cosinus transform (DCT) krets utøver en ortogonal transformprosess på forskjellsblokken S3 og mater den resulterende blokk med transformkoeffisienter til kvantisereren 105. Kvantisereren 105 kvantiserer blokken med transformkoeffisienter for å danne en blokk med kvantiserte transformkoeffisienter. Koderen 106 som kan kode med variabel lengde underkaster blokken av kvantiserte transformkoeffisienter fra kvantisereren 105 variabel lengdekoding, som f.eks Huffrnan-koding eller kjørelengdekoding etc. Den resulterende blokk med kodede transformkoeffisienter blir så matet til f.eks en digital overføringsbane via utgangsbufferen 107.
Et styresignal som angir antall biter som er lagret i utgangsbufferen 107 mates tilbake til kvantisereren 105. Kvantisereren justerer størrelsen på kvantiseringstrinnet som resultat av styresignalet for å hindre utgangsbufferen i å overflyte eller underflyte. Økning eller reduksjon i kvantiseringstrinnets størrelse reduserer eller øker antall biter som mates inn i utgangsbufferen.
Blokken med kvantiserte transformkoeffisienter blir også ført fra kvantiserereren 105 til den inverse kvantiserer 108 som utgjør en del av den lokale dekoder i komprimeringsanordningen for utfra de kvantiserte transformkoeffisienter årekonstruere bildene som benyttes i prediksjonskodingen. Den inverse kvantiserer 108 vil inverst kvantisere blokken av kvantiserte transformkoeffisienter ved utførelse av en behandling som er komplementær med kvantiseringsprosessen som ble utført av kvantisereren 105. Den resulterende blokk av transformkoeffisienter blir matet til den inverse ortogonale transformkrets 109 der den blir inverst ortogonalt transformert ved en behandling som er komplementær til den ortogonale transformbehandling utført i den ortogonale transformkrets 104. Den resulterende gjenopprettede forskjellsblokk S4 mates til
addereren 110.
Addereren 110 mottar også tilpasningsblokken S2 for den løpende bildeblokk Sl fra et av bildeminnene i bildeminnegruppen 112 som blir valgt av predikteren 113. Addereren 110 foretar en piksel-for-piksel addisjon mellom den gjenopprettede forskjellsblokk S4 fra den inverse ortogonale transformkrets 109 og tilpasningsblokken S2 fra bildeminnegruppen 112 for å frembringe den rekonstruerte bildeblokk S5. Den rekonstruerte bildeblokk blir matet til et av bildeminnene 112 A til 112D som velges av velgeren 111 når den lagres.
Den rekonstruerte bildeblokk blir lagret i det utvalgte bildeminnet der den danner en blokk (svarende til den pågående blokk) for det rekonstruerte bildet som blir rekonstruert blokk-for-blokk fra de rekonstruerte bildeblokker i det valgte bildeminnet. Når det er fullstendig vil det rekonstruerte bildet bli benyttet til utledning av tilpasningsblokker til utførelse av prediksjonskoding for å komprimere andre bilder i signalet for det levende bilde.
Bevegelsesprediktoren 102 bestemmer, for hver makroblokk i det løpende bildet, en bevegelsesvektor mellom makroblokken for det løpende bildet og forskjellige makroblokker for andre bilder av signaler for det levende bilde som er lagret. Bevegelsesprediktoren frembringer også en sum av de absolutte verdier for forskjellene (den "absolutte sum av forskjellsverdi") mellom pikselene i hver makroblokk for det løpende bildet og de forskjellige makroblokker for de andre bilder. Hver absolutt forskjellsverdisum angir graden av tilpasning mellom hver makroblokk i det løpende bildet og makroblokkene for det andre bildet. Bevegelsesprediktoren mater hver bevegelsesvektor og dens tilsvarende absolutte forskjellsverdisum til kretsen 115 for bestemmelse av prediksjonsmodus.
Kretsen 115 til bestemmelse av prediksjonsmodus gjør bruk av de data som mottas fra bevegelsesprediktoren 102 for å bestemme den prediksjonsmodus som vil bli benyttet til prediksjonskoding av det løpende bildet i forhold til et eller flere rekonstruerte bilder. Det løpende bildet kan bli prediksjonskodet ved bruk av en hvilken som helst av de følgende prediksjonsmodi: (1) Intra-bildemodus der bildet blir komprimert med seg selv uten tilknytning til andre bilder. Et bilde som er kodet på denne måte kalles et I-bilde. (2) Foroverrettet prediksjonsmodus der prediksjonen utføres med tilknytning til et rekonstruert bilde som opptrer tidligere i det levende bilde. Et bilde som er kodet på denne måte kalles et P-bilde. (3) Toveisprediksjonsmodus der blokk-for-blokk prediksjon utføres med tilknytning til en referanseblokk som er avledet fra et rekonstruert bilde som opptrer tidligere i det levende bilde, et rekonstruert bilde som opptrer senere i det levende bilde eller ved utførelse en lineær piksel-for-piksel operasjon (f.eks beregning av en gjennomsnittsverdi) mellom et tidligere rekonstruert bilde og et senere rekonstruert bilde. Et bilde som er kodet på denne måte kalles et B-bilde.
Med andre ord er et I-bilde et bilde der intra-bildekoding blir fullført i selve bildet. Et P-bilde blir forutsett ut fra et rekonstruert I-bilde eller P-bilde som opptrer tidligere i det levende bilde. Et B-bilde som blir forutsett blokk-for-blokk ved bruk av et tidligere eller et senere rekonstruert I-bilde eller P-bilde eller ved bruk av en blokk som fremkommer ved utførelse av en lineær operasjon ved bruk av et rekonstruert I-bilde eller P-bilde som opptrer tidligere i det levnende bilde og et rekonstruert I-bilde eller P-bilde som opptrer senere i det levende bilde.
Kretsen 115 til bestemmelse av prediksjonsmodus sender prediksjonsmodus og den tilsvarende bevegelsesvektor til prediktoren 113 og til generatoren 114 for utlesning av adresse. Generatoren 114 for utlesning av adresse gir utleste adresser til bildeminnegruppen 112 som reaksjon på bevegelsesvektoren, noe som bringer hvert bildeminne 112A til 112D til å lese ut en blokk av det rekonstruerte bildet som er lagret i dette. Plasseringen av den utleste blokk i det rekonstruerte bildet tildeles av bevegelsesvektoren. Prediktoren 113 velger en av de utleste blokker fra bildeminnene 112A til 112D som reaksjon på signalet PM for prediksjonsmodus som mottas fra kretsen 115 til bestemmelse av prediksjonsmodus. Den valgte utleste blokk danner tilpasningsblokken S2 for den løpende blokk Sl. Når den løpende blokk er en del av et B-bilde foretar prediktoren også lineære operasjoner på de blokker som er lest ut fra bildeminnene 112A til 112D for å frembringe den nødvendige tilpasningsblokk. Prediktoren viderefører tilpasningsblokken S2 til kretsen 103 for beregning av differanseblokker og til addereren 110.
Et eksempel på konstruksjonen av et apparat til ekspansjon av et komprimert signal for levende bilde basert på MP AG systemet er vist på fig 2. Her blir det komprimerte signal for levende bilde som mottas direkte fra komprimeringsanordningen eller som fås ved reproduksjon fra et innspillingsmedium matet som en bitstrøm inn i inngangsbufferen
121 der det blir midlertidig lagret. Det komprimerte digitale signal innbefatter blokker av kodete transformkoefFisienter (innbefattende en blokk med kodete transformkoefiisienter som representerer den løpende blokk) og prediksjonsmodusinformasjon, informasjon om størrelsen på kvantiseringstrinnet og en bevegelsesvektor for hver blokk.
Det komprimerte signal for levende bilde leses ut av inngangbufferen 121 med et bilde om gangen og blir matet til den inverse koder med variabel lengde (TVLC) 122. Den inverse koder 122 med variabel lengde utfører en invers variabel lengdekoding på det komprimerte signal for levende bilde og deler opp det komprimerte signal for levende bilde i dets komponenter innbefattende blokker av kvantiserte transformkoeffisienter og prediksjonsmodusinformasjon, informasjon om trinnstørrelse og en bevegelsesvektor for hver blokk.
Hver blokk med kodete transformkoeffisienter blir matet til den inverse kvantiserer 123 som benytter informasjon om trinnstørrelse for blokken til invers kvantisering av blokken med kvantiserte transformkoeffisienter for å danne en blokk med transformkoeffisienter. Den inverse ortogonale transformkrets 124 utfører en invers ortogonal transformbehandling, normalt IDCT behandling av blokken med transformkoeffisienter for å frembringe en gjenopprettet differanseblokk. Den inverse kvantiserer 123 og den inverse ortogonale transformkrets 124 utfører henholdsvis prosesser som er komplementære med det som ble utført av kvantisereren 105 og den ortogonale transformkrets 104 i den komprimeringsanordning som er vist på fig 1.
Generatoren 130 for utlesning av adresser frembringer en utlest adresse til bildeminnene 128A til 128D som reaksjon på bevegelsesvektoren for den løpende blokk fra koderen 122 med invers variabel lengde. Som resultat av den utleste adresse vil hvert av bildeminnene 128A til 128D lese ut en blokk av det rekonstruerte bildet som er lagret i disse. Prediktoren 129 velger en av de utleste blokker fra bildeminnene 128A til 128D som reaksjon på prediksjonsmodussignalet PM som også mottas fra koderen 122 med invers variabel lengde. Den valgte utleste blokk frembringer tilpasningsblokken for rekonstruksjon av den løpende blokk. Når den løpende blokk er en del av et bilde som er kodet som et B-bilde utfører prediktoren også lineære operasjoner på de utleste blokker fra bildeminnene 112A til 112D for å skape tilpasningsblokken. Prediktoren 129 avgir tilpasningsblokken til addereren 125.
differanseblokk fra den inverse transformkrets 124 og tilpasningsblokken fra prediktoren 129 for årekonstruere den løpende bildeblokk for det løpende bildet. Velgeren 126 mater den rekonstruerte løpende bildeblokk for lagring i et av bildeminnene 128A til 128D der det løpende bildet blir rekonstruert. Den rekonstruerte løpende bildeblokk blir lagret i det valgte bildeminnet i posisjonen for den løpende bildeblokk i det rekonstruerte løpende bildet. Når alle de rekonstruerte blokker i det løpende bildet er blitt lagret i det valgte bildeminnet 128A til 128D er det rekonstruerte løpende bildet klar for utlesning og også til bruk som et referansebilde for rekonstruksjon av andre bilder som opptrer tidligere eller senere i det levende bilde.
De rekonstruerte bilder som er lagret i bildeminnene 128A til 128D blir utlest som utgangssignaler for det levende bilde via selektoren 126 som reaksjon på utlesningsadressene som er frembrakt av generatoren 127 for visningsadresser. En avsøkende omformer (ikke vist) omformer utgangssignalet for det levende bilde, som blir utlest fra bildeminnene 128A til 128D til rasterformatet for det ønskede videosignalformat, f.eks NTSC. Det resulterende utgangssignal for det levende bilde kan så vises på en passende visningsanordning f.eks en billedskjerm etc. I dette eksempel er synk signalgeneratoren 131 låst til en ekstern synk-kilde og frembringer periodisk et synk-signal for delbilde for videreføring til visningsadressegeneratoren 127. Visningsadressegeneratoren 127 frembringer utlesningsadressene i synkronisme med synk-signalet for delbilde.
De ortogonale transformkretser, f.eks DCT og IDCT kretsene som benyttes i komprimeringsanordningen og i ekspansjonsanordningen som er beskrevet ovenfor utfører hver for seg aritmetiske operasjoner på pikselverdier og transformkoeffisienter som representeres av hele tall med et endelig antall biter. Dermed kan de ortogonale transformoperasjoner som utføres av de ortogonale transformkretser resultere i en avkortning av antallet av biter. Av denne grunn kan forskjellen i nøyaktighet ved den ortogonale transformoperasjon som gjør bruk av reelle tall eller en forskjell i oppbygningen av den krets som benyttes til utførelse av den ortogonale transformoperasjon forandre resultatet av den ortogonale transformoperasjon. Dette kan føre til en mistilpassning mellom komprimeringsanordningen og ekspansjonsanordningen og til mistilpassninger mellom ekspansjonsanordninger som ekspanderer et felles komprimert signal.
For eksempel blir i komprimeringsanordningen forskjellsblokken som er avledet fra signalet for det levende bilde ortogonalt transformert og en på forhånd bestemt behandling utføres for å kvantisere de resulterende transformkoeffisienter under frembringelse av den komprimerte signal for levende bilde. Hvis nå, i ekspansjonsanordningen nøyaktigheten ved operasjonen med reelle tall eller oppbygningen av den inverse ortogonale transformkrets ikke tilsvarer disse detaljer i komprimeringsanordningen er det mulig at utgangen fra ekspansjonsanordningen vil skille seg fra inngangen til komprimeringsanordningen. Av den grunn kan utgangen fra ekspansjonsanordningen avhenge av nøyaktigheten ved og oppbygningen av det utstyr som anvendes for ekspansjonsanordningen.
Operasjonsnøyaktigheten eller oppbygningen av en invers ortogonal transform kan variere avhengig av det utstyr som benyttes til utførelse av den inverse ortogonale transform. For eksempel vil invers transformering av en blokk av transform koeffisienter ved bruk av to forskjellige konstruksjoner av samme type av krets for invers ortogonal transform kunne frembringe forskjellige resultater. En slik forskjell i resultatene blir kalt en mistilpassningsfeil ved invers ortogonal transform (også benevnt som avrundingsfeil").
MPEG systemet definerer operasjonsnøyaktigheten hvormed DCT og IDCT skal utføres, men fastlegger ikke operasjonsmetoden og oppbygningen. Årsaken til dette er at kretser og fremgangsmåter til utførelse av DCT og IDCT ble utviklet før MPEG standardene ble fastlagt.
I MPEG systemet som er beskrevet ovenfor vil komprimeringsanordningen implementere f.eks interbilde bevegelseskompensert prediksjonskoding i signalet for det levende bilde. Ved dette blir signalet for det levende bilde delt opp i blokker, en forskjellsblokk blir utledet fra den løpende bildeblokk og en tilpasningsblokk som fremkommer ved påtrykning av bevegelseskompensasjon på et rekonstruert bilde, forskjellsblokken blir ortogonalt transformert ved bruk av DCT behandling, de resulterende transformkoeffisienter blir kvantisert, de kvantiserte fransformkoeffisienter blir underkastet variabel lengdekoding og de kodede transformkoeffisienter blir samlet sammen med prediksjonsmodusinformasjon, informasjon om kvantiseringstrinnets størrelse og bevegelsesvektorer for å danne det komprimerte signal for levende bilde.
Ekspansjonsanordningen påtrykker invers variabel lengdekoding på de kodede transformkoeffisienter, invers kvantisering av de kvantiserte transformkoeffisienter som blir resultatet av den inverse variable lengdekoding og IDCT behandling av transformkoeffisientene som er resultatet av den inverse kvantisering. Den gjenopprettede differanseblokk blir summert med en tilpasningsblokk som fremkommer ved påtrykning av bevegelseskompensasjon på et rekonstruert bilde som reaksjon på bevegelsesvektoren. Den resulterende rekonstruerte bildeblokk blir lagret som en blokk i et rekonstruert bilde, som danner et bilde av utgangssignalet for det levende bilde og også står til rådighet for bruk som et referansebilde.
Komprimeringsanordningen innbefatter en lokal dekoder som fra de kvantiserte transformkoeffisienter utleder rekonstruerte bilder til bruk ved utførelse av prediksjonskodingen. Den lokale dekoder innbefatter en invers kvantiserer og en invers ortogonal transformkrets.
Hvis oppbygningen av IDCT kretsen i den lokale dekoder i komprimeringsanordningen er forskjellig fra det samme i IDCT kretsen i ekspansjonsanordningen oppstår det tilfeller der rekonstruerte bilder som frembringes av den lokale dekoder i komprimeringsanordningen er forskjellig fra de rekonstruerte bilder som frembringes av ekspansjonsanordningen. Avhengigheten av IDCT behandlingen ved implementering kan skape problemer når det komprimerte signal for det levende bilde, frembrakt av en komprimeringsanordning som tilfredsstiller MPEG standard blir spilt inn på et innspillingsmedium som f.eks en optisk plate etc. for utsendelse til publikum. Når det komprimerte signal for det levende bilde som blir reprodusert fra den optiske plate blir ekspandert av ekspansjonsanordninger som er fremstilt og blir solgt av forskjellige produsenter kan det reproduserte bildet være forskjellig fra det opprinnelige bildet. Videre kan forskjellene avhenge av den virkelige ekspansjonsanordning som benyttes. Tilsvarende uoverensstemmelser mellom forskjellige ekspansjonsanordninger kan også oppstå når det komprimerte signal for det levende bilde blir utsendt over et distribu-sjonssystem som f.eks jordbundet kringkasting eller satelittoverføringer, telefonsystemer, ISDN system eller kabel- eller optiske distribusjonssystemer etc.
Avrundingsfeil er særlig problematiske når interbildet prediksjonskodingutføres. Interbildet prediksjonskoding kan være inter-feltkoding eller inter-delbildekoding. Inter-bilde prediksjonskoding kan føre til avrundingsfeil som vil bygge seg opp i en slik utstrekning at de resulterer i alvorlige mangler i de rekonstruerte bilder.
I den komprimering av signalet for det levende bilde som foretas i MPEG systemet blir hver videosekvens delt opp i grupper av bilder (GOP) på f.eks 8 eller 12 bilder. Hvert bilde blir klassifisert som et I-bilde, et P-bilde og et B-bilde som beskrevet tidligere. Et B-bilde blir ikke benyttet som et referansebilde ved utførelse av bevegelsesprediksjon. Derfor vil en avrundingsfeil som opptrer i et B-bilde ikke føre til feil i andre bilder.
Når en avrundingsfeil opptrer i et P-bilde blir bildet med avrundingsfeilen lagret i bildeminnet til bruk ved utførelse av prediksjonskoding. Der inter-bildeprediksjons-koding blir utført vil som en følge av dette feilen i det P-bildet som er lagret i bildeminnet gradvis spre seg til de P-bilder og B-bilder som er utledet fra minnet ved prediksjonskoding. Feilen samles inntil bildet blir byttet ut med et I-bilde eller et P-bilde som ikke har en slik feil.
På tilsvarende måte, når en avrundingsfeil opptrer i et I-bilde, blir det rekonstruerte bildet med avrundingsfeilen lagret i bildeminnet til bruk ved utførelse av prediksjonskoding. Når således en interbilde prediksjonskoding blir utført vil feilen i I-bildet som er lagret i bildeminnet spre seg til P-bildene og B-bildene som er utledet ved prediksjonskodingen. Feilen bygger seg opp inntil bildet blir byttet ut med et nytt I-bilde som ikke har en slik feil.
Feiloppbygningen er vist på fig 3. Hvis avrundingsfeilen ved dekoding av et I-bilde er EI på fig 3 og avrundingsfeilen ved dekoding av P-bilde Pl er EP1 vil verdien av feilen i det rekonstruerte P-bildet Pl være E1+EP1. Videre, når avrundingsfeil ved dekodingen av P-bildet P2 er EP2 vil verdien av feilen i det rekonstruerte P-bildet P2 være EI+EP1+EP2. Selv om avrundingsfeilene enkeltvis er små vil den gradvise opphopning av disse feil resultere i en større feil.
Avrundingsfeil som fremkommer ved EDCT behandlingen som benyttes i MPEG dekodere både i komprimeringsanordningen og ekspansjonsanordningen kan klassifiseres i to klart forskjellige typer:
Type (1): Feil som skyldes utilstrekkelig operasjonsnøyaktighet.
Type (2): Feil som skyldes systematiske forskjeller ved avrunding.
MPEG standarden stiller krav til operasjonsnøyaktighet. Dette krav er imidlertid ikke så strengt at det kan garantere at en avrundingsfeil ikke vil oppstå. Av den grunn kan en type (1) avrundingsfeil oppstå mellom IDCT anordninger med operasjonsnøyaktighet som tilfredsstiller MPEG kravet.
Utgangene fra IDCT behandlingen er hele tall. Etter IDCT behandlingen er utført ved bruk av reelle tall må derfor behandlingsresultatene avrundes. I alminnelighet blir behandlingsresultatene avrundet til det nærmeste hele tall. Et problem oppstår imidlertid når behandlingsresultatet er <*>,5 der <*> er et hvilket som helst helt tall. MPEG standarden fastlegger ikke hvorledes et behandlingsresultat på <*>,5 skal avrundes. Noen IDCT anordninger avrunder <*>,5 oppad og andre IDCT anordninger avrunder <*>,5 ned. Videre er det eksempler der avrunding opp eller avrunding ned avhenger av fortegnet for behandlingsresultatet. Avrundingsfeil som skyldes de systematiske avrundingsfeil som nettopp er beskrevet er avrundingsfeil av type (2).
Avrundingsfeil av type (1) skiller seg fra avrundingsfeil av type (2) ved at type (1) feil opptrer tilfeldig mens type (2) feil er systematiske. Fordi type (1) feil er tilfeldige vil positive feil og negative feil opptre med stort sett like stor sannsynlighet. Når prediksjonskoding utføres over en lang tid kan det således antas at avrundingsfeil av type (1) vil bli utlignet.
På den annen side vil avrundingsfeil av type (2) siden de er systematiske og ligger i selve IDCT prosessen vil slike feil hele tiden ha samme polaritet. Når prediksjonskoding blir utført over en lang tid vil derfor avrundingsfeil være kumulative i en retning. Selv om avrundingsfeil av type (2) bare er +1 eller -1, vil hvis mange avrundingsfeil bygger seg opp i en retning, den kumulative avrundingsfeil være stor.
Da avrundingsfeil av type (1), selv om de frembringes midlertidig, utlignes med tiden er type (1) feil forholdsvis uproblematiske. På den annen side vil avrundingsfeil av type (2) som bygger seg opp i en retning være problematiske. På grunn av dette er det ønskelig å hindre at kumulative avrundingsfeil av type (2) oppstår.
Det er blitt foreslått i MPEGl systemet å foreta en behandling før IDCT behandlingen for å hindre avrundingsfeil av type (2) i å oppstå. Behandlingen setter transformkoeffisientene for alle komponenter til en oddetallsverdi bortsett fra transformkoeffisienten for komponenten (0,0) for en makroblokk fra et intrabildekodet bilde (en "intramakroblokk"). I en intramakroblokk er komponenten (0,0) DC komponenten. Som vist som eksempel på fig 4 er transformkoeffisientene for komponentene (0,1), (7,1), (2,3), (5,3), (1,5), (6,5), (3,7) og (4,7) alle opprinnelig på 568. Da dette er et liketall setter forbehandlingen verdiene for disse koeffisienter til en oddetallsverdi f.eks 567. Når IDCT behandling foretas på de forbehandlede transformkoeffisienter vil ffaksjonsresultater aldri oppstå.
Siden DC komponenten i intramakroblokken er meget viktig når det gjelder utseendet av det bilde som avledes fra det komprimerte signal for levende bilde er dens nøyaktighet bare begrenset til 8 biter. Komponenten blir ikke utsatt for omformning til en oddetallsverdi siden dette ville degradere nøyaktigheten for denne viktige komponent. På den annen side vil alle transformkoeffisienter som er resultatet av transformering av en makroblokk for et bilde som er kodet ved bruk av inter-bildekoding ("ikke-intramakroblokk") bli underkastet en behandling svarende til behandlingen av transformkoeffisientene for de andre komponenter enn DC komponenten i en intramakroblokk for å begrense transformkoeffisientene bare til oddetallsverdier.
Den behandling der verdiene for transformkoeffisientene som underkastes IDCT behandlingen btir satt til en oddetallsverdi kalles oddifiseringsbehandling.
Ved å utføre oddifiseringsbehandling vil IDCT behandlingen både i komprimeringsanordningen og i ekspansjonsanordningen foreta avrunding i overensstemmelse med en felles regel. Dette vil gjøre det mulig å opprettholde jevn bildekvalitet mellom forskjellige ekspansjonsanordninger.
På tross av den ovenfor beskrevne oddifiseringsbehandling vil imidlertid de ovenfor beskrevne kumulative avrundingsfeil av type (2) fremdeles oppstå i MPEG prosessorer fordi IDCT behandlingen fremdeles kan frembringe resultater med <*>,5 der <*> betegner et helt tall. Forhold som fører til et resultat på <*>,5 vil bli beskrevet i det følgende der det som eksempel brukes det todimensjonale 8x8 IDCT som anvendes i MPEG systemet.
Den todimensjonale 8x8 IDCT kan uttrykkes ved følgende ligning:
I den ovenstående ligning angir F(u,v) de DCT koeffisienter som blir underkastet den todimensjonale IDCT. I ligningen (1) er hver utgangsverdi for IDCT et reelt tall dvs et rasjonalt tall eller et irrasjonalt tall. Fordi <*>,5 er et rasjonalt tall vil man ved å gjøre utgangsverdien for IDCT til et irrasjonalt tall hindre en kumulativ avrundingsfeil i å oppstå. Når utgangsverdien er et rasjonalt tall er det imidlertid mulig for utgangsverdien å være <*>,5.
DCT koeffisientene F(0,0), F(0,4), F(4,0) eller F(4,4) er spesielle DCT koeffisienter. Når en hvilken som helst av DCT koeffisientene har en verdi som ikke er 0 vil utgangsverdien for IDCT være et rasjonalt tall. Utgangsverdiene for IDCT er i dette tilfellet uttrykt ved ligning (2)
Når bare en av de spesielle DCT koeffisienter F(0,0), F(0,4), F(4,0), F(4,4) har en verdi som ikke er 0 og som er et multiplum av 4 men ikke et multiplum av 8 er utgangsverdien lik ♦ 5.
Når de fire spesielle DCT koeffisienter er de eneste koeffisienter med en verdi som ikke er 0 uttrykkes utgangsverdien for EDCT med ligning (3)
Med forskjellige kombinasjoner med x og y kan f(x,y) i ligning 3 ha de følgende verdier:
Når således verdiene for de fire spesielle koeffisienter er slik at et hvilket som helst av uttrykkene som er gjengitt i ligning (4) er et multiplum av 4 men ikke av 8 vil et resultat på <*>,5 oppstå.
Når således de fire spesielle koeffisienter har verdier som ikke er 0 er det en stor sannsylighet for at utgangsverdien for IDCT vil være lik <*>,5.
Dessuten kan forskjellige symmetriske par med DCT koeffisienter som ikke har verdien 0 i tillegg til de fire spesielle koeffisienter som nettopp er omhandlet frembringe en utgangsverdi på <*>,5: (1) når paret av koeffisienter X(2n+1,2m+l), X(2m+1,2n+l) har de samme verdier som ikke er 0 og verdien er et multiplum av 4 men ikke et multiplum av 8,
eller
(2) når paret av koeffisienter X(2n+1,2n+l), X(8-2n-l, 8-2n-l) har samme verdier som ikke er 0 og verdien er et multiplum av 4 men ikke av 8. 1 uttrykkene ovenfor er X(i j) transformkoeffisienten for en komponent i en todimensjonal 8x8 DCT.
Når et virkelig signal for levende bilde blir komprimert med en komprimeringsanordning ifølge MPEG systemet blir DCT koeffisienter som ikke er 0 ofte frembragt i de mønstre som nettopp er nevnt og som kan føre til en IDCT utgangsverdi lik <*>,5. Videre er verdiene for de fire spesielle koeffisienter ikke 0 størsteparten av tiden.
Siden den vanligste årsak til et resultat på <*>,5 er mønstret for DCT koeffisientene der verdiene for de fire spesielle koeffisienter ikke er 0 hindre en avrundingsfeil i åoppstå ved at de fire spesielle koeffisienter i betydelig grad reduserer sannsynligheten for at en avrundingsfeil oppstår.
Behandlingsmåten hvormed en intramakroblokk og en ikke-intramakroblokk blir inverst kvantisert i MPEG1 er vist på fig 5. På fig 5 QAC(i.j) er den (ij)-nte DCT koeffisient, Wi (i j) er det (i j)-nte element av en vektmatrise, mkvant er kvantiseringskoeffisienten og rec(i j) er den (i j)-nte inverst kvantiserte DCT koeffisient. Behandlingsmåten er skrevet med syntaks fra C programmeringsspråket. Syntaksen for dette språk er omhandlet hos Herbert Schildt, Using Turbo C, Osborne McGraw Hill (1988) særlig på sidene 83-87.
koeffisienter blir så underkastet IDCT behandling. Imidlertid får, i MPEG1 de DCT koeffisienter som har en partallsverdi tilføyet +1 eller -1 for å sikre at DCT koeffisientene som blir underkastet IDCT behandling for oddetallsverdier. Når f.eks bare en av de fire spesielle koeffisienter F(0,0) har en verdi som ikke er 0 fordi en avrundingsfeil oppstår når F(0,0) er et multiplum av 4 men ikke et multiplum av 8 og hvis DCT koeffisientene er behandlet slik at de alle får en oddetallsverdi vil resultatet av denne operasjon ikke kunne være lik <*>,5 når DCT koeffisienten blir underkastet IDCT behandling. Når bare en av de andre fire spesielle koeffisienter F(0,4), F(4,0), F(4,4) har en verdi som ikke er 0 vil på tilsvarende måte heller ikke en avrundingsfeil kunne oppstå. Når flere av de fire spesielle koeffisienter har en verdi som ikke er 0 som vist på fig 4 eller når par av symmetrisk anordnede koeffisienter opptrer slik tilfellet er under (1) og (2) som er nevnt ovenfor slik at alle DCT koeffisienter får en oddetallsverdi vil dette imidlertid ikke hindre at det opptrer en avrundingsfeil.
På denne måte vil oddifiseringsbehandlingen i MPEG1 ikke hindre en kumulativ avrundingsfeil i å oppstå når to eller flere av DCT koeffisientene har en verdi som ikke er 0. Videre vil oddifiseringsbehandlingen med MPEG1 redusere oppløsningen av de kvantiserte transformkoeffisienter med en faktor på 2 siden transformkoeffisienter med like verdier ikke er tillatt. Dette vil forringe bildets kvalitet. Dette er et problem hvis det kreves høy bildekvalitet. En bedre måte for å forhindre kumulative avrundingsfeil enn det som er foreslått i MPEG1 standarden er helt tydelig ønskelig.
For å løse best mulig de ovennevnte problemer ved det som er tidligere kjent er en hensikt med denne oppfinnelse å komme frem til fremgangsmåter og anordninger som innledningsvis definert, og der de for oppfinnelsen kjennetegnede trekk fremgår av de vedlagte patentkrav 1,10,16 og 17, og de dertil hørende, respektive underkrav, samt av vedlagte patentkrav 21.
Den måte hvorpå oppfinnelsen forhindrer kumulative avrundingsfeil vil nå bli beskrevet., også under henvisning til de vedlagte tegninger.
Gjennomgåelse av ligning (4) viser at en mistilpasning finner sted når uttrykkene i ligningen gir et resultat på (2n+l)/2, der n er et hvilket som helst helt tall.
Ligning (4) kan oppsummeres slik:
f(x,y) = 1/8 ACC
der ACC er summen av alle koeffisienter.
Det hyppigste mistilpasningsmønster er:
Av dette vil det sees at hvis ACC gjøres til et oddetall vil en avrundingsfeil aldri oppstå.
Med dette som bakgrunn gjør oppfinnelsen bruk av en fremgangsmåte for invers kvantisering av DCT koeffisientene for deretter, før IDCT behandlingen å beregne summen av DCT koeffisientene. Hvis summen av DCT koeffisientene er et partall (dvs at pariteten av summen er en partallsverdi) blir pariteten for en av DCT koeffisientene endret for at summen av DCT koeffisientene skal bli en oddetallsverdi (dvs for å gjøre pariteten av summen til oddetall). Det er tilstrekkelig å endre pariteten for bare en DCT koeffisient for å oddifisere summen av DCT koeffisientene. Videre kan pariteten for den koeffisient som har minst innvirkning på utgangsverdien for IDCT endres. Med andre ord vil denne oppfinnelse ved kontroll av pariteten i summen av DCT koeffisientene før IDCT behandlingen og hvis pariteten i summen er en partallsverdi vil oppfinnelsen ved å endre pariteten for en av DCT koeffisientene for å oddifisere summen av DCT koeffisientene, på en effektiv måte forhindre avrundingsfeil i å oppstå.
Det skal påpekes at i henhold til oppfinnelsen er det tilstrekkelig å forandre pariteten bare for en DCT koeffisient for å oddifisere summen av DCT koeffisientene. MPEG1 oddifiserer alle DCT koeffisienter noe som reduserer oppløsningen for de DCT koeffisienter som blir underkastet IDCT behandling med en faktor på 2. Prosedyren med å forhindre avrundingsfeil ifølge oppfinnelsen vil på den annen side oddifisere summen av DCT koeffisientene på en måte som i ubetydelig grad reduserer nøyaktighetene for inngangsverdier og utgangsverdier ved IDCT. Når oppfinnelsen anvendes i en anordning til komprimering av et signal for et levende bilde, en anordning til ekspansjon av et komprimert signal for levende bilde eller en anordning for overføring av et komprimert signal for levende bilde vil forringelsen av bildekvaliteten bli brakt ned på et minimum.
Når fremgangsmåten ifølge oppfinnelsen anvendes på MPEG systemet kan i tillegg det minste kvantiseringstrinn være 1 i motsetning til den tidligere kjente fremgangsmåte der det minste kvantiseringstrinn var 2. Fig 1 er et blokkskjema som viser oppbygningen av en vanlig anordning til komprimering av et signal for levende bilde i henhold til MPEG systemet. Fig 2 er et blokkskjema som viser oppbygningen av en vanlig anordning til ekspansjon av et komprimert signal for levende bilde i henhold til MPEG systemet. Fig 3 viser den sekvens hvormed et signal for levende bilde blir komprimert i MPEG systemet.
Fig 4 viser virkelige eksempler på verdiene for DCT koeffisienter.
Fig 5 viser behandlingstrinnene som anvendes for inverst å kvantisere både intramakroblokker og ikke-intramakroblokker i det vanlige MPEG1 system. Fig 6 er et blokkskjema som viser oppbygningen av en første utførelsesform av en anordning i henhold til oppfinnelsen til komprimering av et signal for levende bilde. Fig 7 viser hvorledes en blokk med DCT koeffisienter blir lest ved bruk av sikk-sakk avsøkning. Fig 8 er et blokkskjema for en første praktisk utførelse av kretsen 14 som er vist på fig 6, til oddifisering av en sum. Fig 9 er et flytskjema som viser operasjonen av den sumoddifiserende krets som er vist på fig 8. Fig 10A er et blokkskjema for en andre utførelsesform for den sumoddifiserende krets som er vist på fig 6. Fig 10B viser en variant av den andre utførelsesform av den sumoddifiserende krets som er vist på fig 6. Fig 11 er et blokkskjema som viser en første utførelse av paritetsinvertereren som er vist på fig 8. Fig 12 er et flytskjema til forklaring av virkemåten for en andre utførelse av den ovennevnte paritetsinverterer. Fig 13 er et blokkskjema for den andre utførelse av den ovenfor nevnte paritetsinverterer. Fig 14 er et flytskjema til forklaring av virkemåten for en tredje utførelse av den ovenfor nevnte paritetsinverterer. Fig 15 er et blokksjema for den tredje utførelse av den ovenfor nevnte paritetsinverterer. Fig 16 er et flytskjema til forklaring av virkemåten for en fjerde utførelse av den ovenfor nevnte paritetsinverterer. Fig 17 er et blokkskjema for den fjerde utførelse av den ovennevnte paritetsinverterer. Fig 18 er et blokkskjema for en tredje utførelse av den sumoddifiserende krets som er vist på fig 6. Fig 19 er et skjema som viser oppbygningen av den første utførelse av en anordning i henhold til oppfinnelsen til ekspansjon av et komprimert levende bilde. Fig 20 er et blokkskjema for den inverse kvantiserer og sumoddifiserer i anordningen som er vist på fig 19 til ekspansjon av det komprimerte signal for levende bilde. Fig 21 er et tidsskjema som forklarer operasjonen for den ovenfor nevnte inverse kvantiserer og sumoddifiserer. Fig 22 er et blokkskjema som viser oppbygningen av en andre utførelsesform for anordning ifølge oppfinnelsen til komprimering av signalet for levende bilde. Fig 23 er et blokkskjema som viser en første utførelse av den sumoddifiserende krets i den andre utførelse av anordningen til komprimering av signalet for levende bilde som er vist på fig 22. Fig 24 er et blokkskjema som viser en andre utførelse av den sumoddifiserende krets i den andre utførelse av anordningen som er vist på fig 22 for komprimering av signalet for levende bilde. Fig 25 er et blokkskjema som viser en tredje utførelse av den sumoddifiserende krets i den andre utførelse av anordningen som er vist på fig 22 for komprimering av signalet for levende bilde. Fig 26 er et blokkskjema som viser en utførelse av paritetsinvertereren i de sumoddifiserende kretser som er vist på figurene 23-25.
Fig 27 viser en første variant av paritetsinvertereren som er vist på fig 26.
Fig 28 viser en andre variant av paritetsinvertereren som er vist på fig 26.
Fig 29 viser en tredje variant av paritetsinvertereren som er vist på fig 26.
Fig 30 er et blokkskjema som viser oppbygningen av en andre utførelse av anordningen ifølge oppfinnelsen til ekspansjon av det komprimerte signal for levende bilde.
Foretrukne utførelser av en invers diskret cosinus transformmetode, en invers cosinus transformanordning, en anordning for komprimering av et signal for levende bilde, en anordning til ekspansjon av et komprimert signal for levende bilde, et innspillingsmedium og en overføringsanordning vil nå bli beskrevet med henvisning til tegningene.
Oppfinnelsen blir anvendt i et hybrid kodesystem der bevegelseskompenserende prediksjonskoding og diskret cosinus transform (DCT) behandling er kombinert. Dette hybride kodesystem er beskrevet i H. 261 av ISO-IEC/JTC1/SC2/WG11 (vanligvis kalt MPEG) fra Consultative Committee for International Telegraph and Telephone (CCITT) som er en internasjonal komité til utarbeidelse av standarder for blant annet komprimering av signaler for levende bilde og for komprimering av levende bilder for lagring på et innspillingsmedium. Den grunnleggende utforming for det hybride MPEG kodesystem er velkjent. Rapporten WG11 inneholder en nyttig ordliste over de uttrykk som her benyttes.
Bevegelseskompenserende prediksjonskoding er en fremgangsmåte til reduksjon av redundansen i et signal for levende bilde ved utnyttelse av korrelasjonen av signalet for levende bilde i tidsområdet. Bevegelseskompenserende prediksjon av det løpende bilde (dvs det bilde som i øyeblikket kodes) blir foretatt ved bruk av et annet allerede dekodet bilde i det levende bilde som et referansebilde. De resulterende bevegelseskompenserte prediksjonsfeil er innbefattet i det komprimerte signal sammen med en bevegelsesvektor og en prediksjonsmodus etc. Dette vil i betydelig grad redusere den mengde informasjon i det komprimerte signal for levende bilde som er nødvendig for å representere det løpende bilde.
Det bevegelseskompenserte prediksjonsfeilsignal blir komprimert ved bruk av en signalkomprimerende anordning som utnytter romkorrelasjonen i hvert bilde som utgjør det levende bilde. Komprimeringsanordningen for forskjellsignalet innbefatter som regel en ortogonal transformkrets som f.eks en DCT krets og en kvantiserer. DCT er en form for ortogonal transformering som konsentrerer signalenergien i bestemte frekvenskomponenter som et resultat av den intrabildemessige (delbilde eller felt) todimensjonale korrelasjon av bildet. På denne måte blir bare de konsentrerte og fordelte koeffisienter innbefattet i det komprimerte signal enten direkte eller etter ytterligere komprimering. Dette vil videre redusere informasjonsmengden i det komprimerte signal for levende bilde som er nødvendig for å representere det løpende bilde. Den interbilde bevegelseskompenserende prediksjonskoding kan utføres mellom delbilder i signalet for det levende bilde. Hvis signalet for det levende bilde er et innfelt signal kan som et alternativ den bevegelseskompenserende prediksjonskoding utføres mellom felt. I tillegg kan interbilde bevegelseskompenserende prediksjonskoding adaptivt veksles mellom interdelbilde-koding og interfeltkoding avhengig av egenskapene ved signalet for det levende bildet.
Den praktiske oppbygning av en første utførelse av anordningen til komprimering av signalet for det levende bilde som oppfinnelsen er knyttet til, er vist på fig 6.1 anordningen som er vist på fig 6 er signalet for det levende bilde delt i to bilder og blir komprimert bilde-for-bilde. Hvert bilde er delt i bildeblokker og bildet blir komprimert blokk-for-blokk. Bildeblokken som blir komprimert vil bli kalt den løpende bildeblokk. Den løpende bildeblokk er en blokk i et bilde som kalles det løpende bilde.
Signalet for det levende bilde, normalt et videosignal, blir tilført den første bildeminnegruppe 2 der flere bilder i signalet for det levende bilde er midlertidig lagret. Minnestyreren 3 styrer lesingen av bilder fra den første bildeminnegruppe 2 og den andre bildeminnegruppe 4. Minnestyreren 3 avgjør også radstartsignalet SS og makroblokk-startsignalet BS til rad/makroblokktelleren 5. Minnestyreren avgir disse signaler synkront med hver rad og hver makroblokk av hvert bilde (f.eks det løpende bilde) som leses ut av den første bildeminnegruppe 2 for komprimering. En rad er en horisontal rad av blokker som dekker bildets bredde.
Bevegelsesprediktoren 6 utfører bevegelsesprediksjon ved at den foretar en blokk-tilpasning mellom den løpende bildeblokk og flere blokker i de tidligere og følgende bilder som er lagret i den første bildeminnegruppe 2. Blokktilpasningen utføres ved bruk av blokker på f.eks 16 x 16 piksler. Referansebildets signal som angir bevegelsesprediksjon, frembragt av minnestyreren 3 velger blokkene fra de foregående og påfølgende bilder som er lagret i den første bildeminnegruppe 2 som skal være blokker tilpasset den løpende blokk. Bevegelsesprediktoren 6 tilfører så til bevegelseskompensatoren 7 som bevegelsesvektor MV posisjonen av en blokk i et av de tidligere eller påfølgende bilder som er lagret i den første bildeminnegruppe for hvilke forskjellene mellom blokken og den løpende bildeblokk, dvs bevegelsesprediksjonsfeilen ligger på et minimum.
Som resultat av bevegelsesvektoren MV bringer bevegelseskompensatoren 7 en blokk fra hvert av de rekonstruerte bilder som er lagret i den andre bildeminnegruppe 4 til å bli lest ut som en potensiell tilpasningsblokk. Posisjonen i de rekonstruerte bilder hvorfra de potensielle tilpasningsblokker blir lest blir angitt av bevegelsesvektoren MV. Referansebildets signal som angir bevegelseskompensasjon, fra minnestyreren 3 vil så velge en av de potensielle tilpasningsblokker som er lest ut fra den andre bildeminnegruppe 4 som tilpasningsblokken for den løpende blokk. De rekonstruerte bilder som er lagret i den andre bildeminnegruppe 4 er bilder som er blitt rekonstruert ved lokal dekoding av de kvantiserte DCT koeffisienter frembragt av forskjellsblokk-koderen 9 som vil bli beskrevet i det følgende.
Det rekonstruerte bilde hvorfra tilpasningsblokken blir valgt av referansebildets signal til angivelse av bevegelseskompensasjon avhenger av prediksjonsmodus for det løpende bilde. I den foroverrettede prediksjonsmodus blir tilpasningsblokken valgt fra et tidligere rekonstruert bilde. I den toveis prediksjonsmodus blir tilpasningsblokken valgt fra et tidligere rekonstruert bilde, et fremtidig rekonstruert bilde eller kan frembringes ved utførelse av en lineær operasjon (f.eks beregning av gjennomsnittsverdi) på blokker fra et tidligere rekonstruert bilde og et fremtidig rekonstruert bilde. Når det løpende bilde er kodet i den intrabildekodemodus (dvs at bilde er kodet uten prediksjon vil sluttelig en nullblokk hvori alle pikselverider er stilt på null bli benyttet som tilpasningsblokken. Tilpasningsblokkene som blir lest ut fra den andre bildeminnegruppe 4 blir adaptivt modifisert slik at en optimal tilpassende tilpasningsblokk blir valgt for hver blokk i signalet for det levende bilde.
Bildekompensatoren 7 velger prediksjonsmodus for hvert bilde ved først å beregne summen av de absolutte verdier for piksel-for-piksel forskjellene mellom den løpende bildeblokk og de potensielle tilpasningsblokker som frembringes i de forskjellige prediksjonsmodi. Deretter velger bevegelseskompensatoren den prediksjonsmodus for hvilken denne sum er på et minimum. Bevegelseskompensatoren mater prediksjonsmodussignalet MM som angir den valgte prediksjonsmodus til koderen 17 med variabel lengde, som beskrevet i det følgende. Bevegelseskompensatoren 7 bringer også den andre bildeminnegruppe 4 til å mate tilpasningsblokken S2 for den valgte prediksjonsmodus til den forskjellsfrembringende krets 8.
Den forskjellsfrembringende krets 8 mottar også den løpende bildeblokk Sl i signalet for det levende bilde, utlest fra den første bildeminnegruppe 2 og beregner piksel-for-piksel forskjellen mellom den løpende bildeblokk Sl og tilpasningsblokken S2. Den forskjells-genererende krets mater den resulterende differanseblokk S3 til differanseblokk-koderen 9. Differanseblokk-koderen 9 komprimerer differanseblokken S3 for å danne blokken av kvantiserte transformkoeffisienter SC. Blokken av kvantiserte transformkoeffisienter SC blir matet til den lokale dekoder 10 der den blir ekspandert for å danne den gjenopprettede differanseblokk S4. Den lokale dekoder 10 i anordningen til komprimering av signalet for det levende bilde har en oppbygning som svarer til anordningen for ekspansjon av det komprimerte signal for levende bilde, som skal beskrives i det følgende, men der detaljer kan være forskjellig.
Differanseblokk-koderen 9 og den lokale dekoder 10 vil nå bli beskrevet. Differanseblokk-koderen 9 omfatter DCT kretsen 11 og kvantisereren 12 som vist på fig 6. DCT kretsen 11 gjør bruk av DCT behandling for ortogonal transformering av differanseblokken S3 fra den differanseblokkfrembringende krets 8. DCT kretsen 11 mater den resulterende blokk med DCT koeffisienter til kvatisereren 12. Kvantisereren 12 kvantiserer blokken med DCT koeffisienter for å danne blokken av kvantiserte DCT koeffisienter SC.
Den lokale dekoder 10 omfatter den inverse kvantiserer 13, den sumoddifiserende krets 14 og IDCT kretsen 15 som vist på fig 6. Den inverse kvantiserer 13 gjør bruk av en kvantiseringstabell for inverst å kvantisere blokken av kvantiserte DCT koeffisienter SC fra kvantisereren 12. Oddifiseringskretsen foretar en paritetsinverterende operasjon på den resulterende blokk med DCT koeffisienter når summen for DCT koeffisientene ikke er et oddetall. Dette forhindrer en avrundingsfeil i å oppstå når blokken av sumoddifiserte DCT koeffisienter blir inverst ortogonalt transformert. IDCT kretsen 15 utfører en invers diskret cosinustransform (IDCT) behandling av den sumoddifiserte blokk med DCT koeffisienter fra oddifiseringskretsen 14 for å frembringe en gjenopprettet differanseblokk.
Kvantiseringen som foretas av kvantisereren 12 vil nå bli beskrevet. Hver blokk på 8 x 8
DCT koeffisienter blir kvantisert. Hver blokk av et bilde som er komprimert i den intrabildekodemodus (et I-bilde) kalles en intramakroblokk. Hver blokk som er komprimert i en interbildekodemodus blir kalt en ikke-intramakroblokk. Når en intramakroblokk blir ortogonalt transformert er DCT koeffisienten for (0,0) komponenten DC koeffisienten. DC koeffisienten blir kvantisert ved divisjon med avrunding, DCT koeffisienten med 8 ved kvantisering med 8 biters nøyaktighet, med 4 ved kvantisering med 9 biters nøyaktighet, med 2 ved kvantisering med 10 biters nøyaktighet og med 1 ved kvantisering med 11 biters nøyaktighet. DC komponenten for en intramakroblokk blir kvantisert i henhold til de følgende ligninger som er skrevet i syntaks for C programmeringsspråket:
hvor dc er DC koeffisienten og QDC er den kvantiserte DC koeffisient.
DCT koeffisientene andre enn DC koeffisienten, som er resultat fra ortogonal transformering av en intramakroblokk ("AC komponentene"), blir kvantisert ved bestemmelse av kvantiseringsfaktorene ac"(i j) ved vekting av DCT koeffisientene ac(i j) med vektmatrisen Wi i henhold til følgende ligning:
Koeffisientene for vektmatrisen Wi er som følger:
Ved bruk av den følgende ligning blir så kvantiseringsfaktorene ac"(i j) kvantisert for å bestemme kvantiseringsnivåene QAC(ij) for de respektive AC koeffisienter.
(2<*>mkvant)
I den ovenstående ligning er p og q vilkårlige faste hele tall f.eks p=3 og q=4 og mkvant er den kvantiserende koeffisient. DCT koeffisientene som blir resultatet av den ortogonale transformering av en interbildekodende makroblokk (en "ikke-intramakroblokk") blir kvantisert ved bestemmelse av kvantiseringsfaktorene ac"(i j) ved veining av alle DCT koeffisienter som fremkommer ved transformering av den ikke-intramakroblokk med vektmatrisen Wn i henhold til den følgende ligning:
Koeffisientene for vektmatrisen Wn er som følger:
Ved deretter å bruke den følgende ligning blir kvantiseringsfaktorene ac"(i j) kvantisert for å bestemme kvantiseringsnivåene QAC(i j) av AC koeffisientene.
De resulterende kvantiseringsnivåer QAC(ij) blir matet til den variable lengdekoder 17 og til den lokale dekoder 10 som den ovenfor beskrevne blokk med kvantiserte DCT koeffisienter SC.
Den variable lengdekoder 17 innfører variabel lengdekoding i blokken med kvantiserte DCT koeffisienter som fremkommer ved kvantisering av blokken med DCT koeffisienter. Den variable lengdekoder 17 bestemmer forskjellene mellom de kvantiserte transformkoeffisienter i de fire luminansblokker som utgjør hver makroblokk og DC koeffisienten for den respektive intramakroblokk. Den variable lengdekoder bruker deretter en tabell for variabel lengdekoding for utøvelse av variabel lengdekoding av de resulterende differanseverdier. Denne teknikk utnytter den høye korrelasjonen mellom de fire sammenstående luminansblokker som betyr at DC koeffisienten har stort sett samme verdi. Den variable lengdekoder 17 bestemmer også forskjellen mellom de kvantiserte koeffisienter i de to fargeforskjellsblokker og benytter en tabell for variabel lengdekoding til utførelse av variabel lengdekoding av de resulterende differanseverdier. Den variable lengdekodetabell for luminanskoeffisientene og for fargeforskjellene er forskjellige fra hverandre.
Den variable lengdekoder 17 utfører variabel lengdekoding av blokken av kvantiserte DCT koeffisienter ved å lese blokken med kvantiserte DCT koeffisienter ved avsøkning i sikksakk med start ved DCT koeffisienten for komponenten (0,0) som vist på fig 7. Blokken med kvantiserte DCT koeffisienter blir lest med sikk-sakk avsøkning fordi DCT koeffisienter som ikke er 0 og som er resultatet av DCT behandlingen i alminnelighet er konsentrert i området ved (0,0) komponenten. Dermed vil lesning av DCT koeffisientene ved sikk-sakk avsøkning øke effektiviteten av den variable lengdekoding ved økning av løpet for på hverandre følgende null DCT koeffisienter som blir lest mellom hver DCT koeffisient som ikke er null.
Den variable lengdekoder 17 leser DCT koeffisientene i et sikksakk mønster og bestemmer verdien (med andre ord nivået) for hver DCT koeffisient som ikke er null og antallet (med andre ord forløpet) av forangående DCT koeffisienter som er null. Dette utfører todimensjonal variabel lengdekoding av blokken av DCT koeffisienter. Etter koding blir koeffisientene i blokken uttrykt med et antall forløp og nivåpar. Den variable lengdekoder tilføyer også en tobit kode, EOB som angir den DCT koeffisient som ikke er null og som er den siste DCT koeffisient som ikke er null. Den variable lengdekoder 17 overfører til en adresseomformer (ikke vist) adressen for den siste koeffisient som ikke er null i en sikk-sakk avsøkning. Adresseomformeren omformer adressen i sikk-sakk avsøkningen til en adresse EOB adrs i Tasteravsøkning. Den variable lengdekoder mater adressen EOB_adrs til sumoddifiseirngskretsen 14.
Sumoddifiseirngskretsen 14 lagrer adressen EOB adrs i rasteravsøkning i registeret 25 som er vist f.eks på fig 8 og som vil bli beskrevet i det følgende.
Den inverse kvantiserer 13 vil nå bli beskrevet. Den inverse kvantiserer 13 mottar blokken av kvantiserte DCT koeffisienter SC fra differanseblokk-koderen 10 og kvantiserer inverst blokken av kvantiserte DCT koeffisienter for åfrembringe en blokk med DCT koeffisienter. I praksis vil den inverse kvantiserer 13 inverst kvantisere de kvantiserte DC koeffisienter som er resultatet fra ortogonal transformering av en intramakroblokk ved bruk av den behandling som er definert i ligning 12 for å frembringe respektive DC koeffisienter. Den inverse kvantiserer 13 vil også inverst kvantisere AC koeffisientene som er resultatet av ortogonal transformering av en intramakroblokk ved bruk av den behandling som er definert i ligning 13. Sluttelig vil den inverse kvantiserer 13 inverst kvantisere alle de kvantiserte koeffisienter som er resultatet fra den ortogonale transformering av en ikke-intramakroblokk ved bruk av den behandling som er definert i ligning 14.
Den resulterende blokk med DCT koeffisienter blir matet fra den inverse kvantiserer 13 til sumoddifiseirngskretsen 14 og et praktisk eksempel på dette er vist på fig 8.
Den sumoddifiserende krets 14 omfatter akkumulatoren 23 A, paritetsvurderingskretsen 21 og paritetsinvertereren 28. Akkumulatoren 23 A bestemmer summen av DCT koeffisientene i blokken av DCT koeffisienter som mottas fra den inverse kvantiserer 13. Paritetsvurderingskretsen 21 vurderer om summen av DCT koeffisienter som bestemmes av akkumulatoren 23A er et oddetall eller et partall, dvs om pariteten for summen av DCT koeffisienter er oddtalls eller partalls. Bare når paritetsvurderingskretsen bestemmer at pariteten for summen av DCT koeffisienter er en partallsverdi vil paritetsinvertereren 28 forandre pariteten av minst en av DCT koeffisientene i blokken for å gjøre summen av DCT koeffisientene til en oddetallsverdi, dvs at summen av DCT koeffisientene blir oddifisert. Dette hindrer en avrundingsfeil i å oppstå når blokken med sumoddifiserte DCT koeffisienter fra sumoddifiseringskretsen 14 blir inverst ortogonalt transformert med IDCT kretsen 15.
Telleren 20 teller antallet av DCT koeffisienter som blir mottatt fra den inverse kvantiserer 13 og mater den resulterende tellekoeffisientadresse (coef_adrs) til den paritetsvurderende krets 21 og til minnevelgeren 22. Akkumulatoren 23 A omfatter addereren 23 og registeret 24. Addereren føyer hver DCT koeffisient i en blokk med DCT koeffisienter som mottas fra den inverse kvantiserer 13 til summen av allerede mottatte DCT koeffisienter i den blokk som er lagret i registeret 24. Registeret 24 blir tilbakestilt etter at summen er blitt bestemt for hver blokk med DCT koeffisienter. Den resulterende sum av DCT koeffisienter blir matet fra addereren 23 til registeret 24 og til den paritetsvurderende krets 21. Akkumulatoren 23 A behøver bare å summere de minst signifikante biter av DCT koeffisientene i blokken for å gi et resultat som er egnet for den paritetsvurderende krets slik at denne kan bestemme om pariteten for summen av DCT koffisienten er oddetalls eller partalls.
Den paritetsvurderende krets 21 bestemmer om pariteten for summen av DCT koeffisienter i blokken med DCT koeffisienter er oddetall eller partall som resultatet av den tellende verdi coeff adrs som blir mottatt fra telleren 20. Når alle DCT koeffisienter i blokken er blitt tilført akkumulatoren 23A angir verdien for coeff adrs at akkumulatoren 23A har bestemt summen av alle DCT koeffisienter i blokken. Som resultatet av den tellede verdi for coeffadrs vil paritetsvurderingskretsen 21 bestemme om pariteten for summen av DCT koeffisienter fra akkumulatoren 23A er odd eller lik. For eksempel, når det gjelder en todimensjonal 8x8 DCT transform bestemmer den paritetsvurderende krets 21 om pariteten i summen av DCT koeffisienter fra akkumulatoren 23 A er odd eller lik når verdien for coeff adrs angir at alle 64 DCT koeffisienter i blokken er blitt overført til akkumulatoren 23A.
Når f.eks hver DCT koeffisient er representert av et binært tall vil i praksis den paritetsvurderende krets 21 undersøke den minst signifikante bit (LSB) i summen av
DCT koeffisienter som mottas fra akkumulatoren 23 A. En LSB med verdien null angir at pariteten for summen er en lik verdi. I dette tilfellet vil den paritetsvurderende krets 21
mate signalet REQ1 som er en anmodning om behandling til paritetsinvertereren 28 for å sørge for at paritetsinvertereren foretar en paritetsinverterende operasjon. Som resultat av signalet REQ1 med anmodning om behandling vil paritetsinvertereren 28 endre pariteten for minst en (dvs en oddetallsstørrelse) av DCT koeffisienter for å oddifisere summen av DCT koeffisienter. På den annen side vil en LSB verdi på 1 angi at pariteten for summen er oddetalls. I dette tilfelle vil den paritetsvurderende krets 21 ikke avgi signalet REQ1 med anmodning om behandling og paritetsinvertereren 28 lar pariteten for alle DCT koeffisienter i blokken være uendret.
I den praktiske krets som er vist blir DCT koeffisientene fra den inverse kvantiserer 13 lagret i det første minnet 26 eller i det andre minnet 27 via minnevelgeren 22. Minnevelgeren 22 arbeider som resultat av den tellede verdi for coeff_adrs som mottas fra telleren 20. Når, som eksempel, minnevelgeren 22 bestemmer at alle DCT koeffisienter i blokken er blitt lagret i det første minnet 26 vil således minnevelgeren angi det andre minnet slik at DCT koeffisientene for den neste blokk blir lagret i det andre minnet 27. På hverandre følgende blokker med DCT koeffisienter blir dermed lagret avvekslende i det første minnet 26 og det andre minnet 27. Når alle DCT koeffisienter i blokken er blitt lagret i enten det første minnet 26 eller det andre minnet 27 vil det minne hvori alle DCT koeffisienter i blokken er lagret mate signal om fullt minne, FULL1 eller FULL2 til paritetsinvertereren 28.
Når paritetsinvertereren 28 mottar signal fullt minne, FULL1 eller signal om fullt minne FULL2 mater den signalet RD EN1 eller RD_EN2 om åpning av lesning til det minne som har avgitt signal om fullt minne. Dette fører til at blokken av DCT koeffisienter blir matet fra minnet som frembragte signalet om fullt minne til paritetsinvertereren. Paritetsinvertereren arbeider på blokken med DCT koeffisienter som lest ut av minnet på en,av to måter, avhengig om paritetsvurderingskretsen 21 har frembragt signalet REQ1 med anmodning om behandling. Når paritetsinvertereren 28 mottar signalet REQ1 med anmodning om behandling inverterer den den minst signifikante bit (LSB) for en av DCT koeffisientene i blokken f.eks den siste koeffisient som ikke er null i sikk-sakk avsøk-ningen. Paritetsinvertereren identifiserer den DCT koeffisient hvis paritet kan inverteres ved bruk av adressen for de DCT koeffisienter hvis paritet kan inverteres og som er lagret i registret 25. For eksempel viser fig 8 adressen for den siste koeffisient som ikke er null, EOB adrs som blir matet til komparatoren 62. DCT koeffisienten hvis paritet kan inverteres er således i dette eksemplet den siste koeffisient som ikke er null. Når paritetsinvertereren 28 vender om pariteten for den koeffisient hvis paritet kan inverteres blir pariteten for summen av koeffisienter som ikke er null i blokken fra den første til den siste omgjort til en odd verdi. Paritetsinvertereren 28 mater alle DCT koeffisienter bortsett fra den DCT koeffisient med sin LSB invertert, til IDCT kretsen 15 sammen med tilstanden for deres minst signifikante biter uendret. Paritetsinvertereren 28 mater også den DCT koeffisient hvis paritet kan inverteres til IDCT kretsen sammen med tilstanden for dens minst signifikante bit avhengig av om paritetsinvertereren har mottatt signalet REQ1 med anmodning om behandling.
Paritetsinvertereren 28 kan gjøre bruk av en datamaskin eller digital signalprosessor som arbeider i overensstemmelse med f.eks det flytskjema som er vist på fig 9.1 dette eksempel er den DCT koeffisient hvis paritet kan inverteres den siste koeffisient som ikke er null. Ved trinn Sl vil paritetsinvertereren 28 på grunnlag av adressen EOB adrs bestemme om DCT koeffisienten som behandles er den DCT koeffisient hvis paritet kan inverteres ved invertertering av dens LSB eller ikke. Hvis resultatet ved trinn Sl er ja fortsetter utføringen til trinn S2. Ellers vil utføringen fortsette til trinn S5 noe som vil bli beskrevet i det følgende. Ved trinn S2 bestemmer paritetsinvertereren 28 om signalet REQ1 med anmodning om behandling er blitt mottatt. Hvis resultatet ved trinn S2 er ja, noe som indikerer at signalet REQ1 med anmodning om behandling er blitt mottatt fortsetter utføringen til trinn S3. Hvis ingen anmodning om behandling er mottatt går utføringen videre til trinn S5.
Ved trinn S3 vil paritetsinvertereren 28 invertere LSB for den DCT koeffisient hvis paritet kan inverteres for å invertere dens paritet og dermed endre pariteten for summen av DCT koeffisientene. Utføringen fortsetter til trinn S4 der den paritetsinverterte DCT koeffisient blir matet til IDCT kretsen 15 (fig 10A). Deretter går utføringen tilbake til trinn Sl der den neste DCT koeffisient blir behandlet.
Utføringen går til trinn S5 når DCT koeffisienten som blir behandlet ikke er den DCT koeffisient hvis paritet kan inverteres eller når DCT koeffisienten hvis paritet skal inverteres ikke skal få invertert paritet, dvs når signalet REQ1 med anmodning om behandling ikke er blitt mottatt. Ved trinn S5 blir DCT koeffisienten matet til IDCT kretsen 15 uten modifikasjon. Deretter går utføringen tilbake til trinn Sl der den neste DCT koeffisient blir behandlet.
Når DCT koeffisientene er representert av en 2'er komplement representasjon vil den ovenfor nevnte minst signifikante bit være den minst signifikante bit i 2'er komplement representasjonen. På den annen side når DCT koeffisienten er representert med et fortegn og en absolutt verdi vil den ovennevnte LSB være den minst signifikante bit for den absolutte verdi.
Oppbygningen av den sumoddiifsierende krets 14 er ikke begrenset til det som er vist på fig 8.1 f.eks den sumoddifiserende krets som er vist på fig 10A er LSB detektoren 29 tilføyet og den eksklusive-ELLER port 30 har erstatte summereren 23 i den sumoddifiserende krets som er vist på fig 8. Elementer i kretsen som er vist på fig 10A som tilsvarer de som finnes i kretsen som er vist på fig 8 er betenget med samme henvisningstall og vil ikke bli beskrevet på nytt her.
På figur 10A vil LSB detektoren 29 påvise LSB for hver DCT koeffisient i blokken med DCT koeffisienter. Eksklusiv-ELLER porten 30 foretar en eksklusiv-ELLER operasjon mellom hver DCT koeffisient i blokken og den eksklusive logiske sum er lagret i registret 24 for de minst signifikante biter av DCT-koeffisientene i blokken som allerede er behandlet. Dermed vil Eksklusiv-ELLER porten 30 og registeret 24 utlede den eksklusive logiske sum for de minst signifikante biter (LSB) for DCT koeffisientene i hver blokk. Kombinasjonen av Eksklusiv- ELLER porten 30 og registerert 24 kan betraktes som om den teller de DCT koeffisienter som har en LSB på 1. Når så alle DCT koeffisientene i blokken er blitt mottatt vil tilstanden ved utgangen fra Eksklusive-ELLER porten 30 angi om tellingen av DCT koeffisienten med en LSB på 1 er oddtall eller partall. Den paritetsvurderende krets 21 avgir da signalet REQ1 med anmodning om behandling når tellingen av DCT koeffisienten med en LSB på 1 er en partallsverdi.
Fig 10B viser en alternativ oppbygning som kan erstatte Eksklusiv-ELLER porten 30 og registeret 24. Her blir de minst signifikante biter for hver DCT koeffisient mottatt fra den inverse kvantiserer 13 matet fra LSB detektoren 29 til OG porten 88. OG porten slipper gjennom bare de minst signifikante biter som er en éner til telleren 89. Telleren blir tilbakestilt ved begynnelsen av hver blokk med DCT koeffisient og teller hver minst signifikante bit på 1 som den mottar. Den minst signifikante bit i tellingen TELLER fra telleren 89 blir matet til den paritetsvurderende krets 21. Ved slutten av hver blokk bestemmer den paritetsvurderende krets pariteten for den minst signifikante bit (LSB) i tellingen TELLING fra telleren 89. Hvis pariteten for tellingen TELLING er en oddetallsverdi (dvs LSB i TELLINGEN er en éner), viser dette at det er et oddetallsantall DCT koeffisienter med en LSB på 1 i blokken og at pariteten for summen av DCT koeffisienter i blokken er en oddetallssum. Hvis på den annen siden pariteten for tellingen TELLING er en partallsverdi, dvs at LSB i TELLINGEN er et null) viser dette at det foreligger et partallsantall DCT koeffisienter med en LSB på 1 i blokken og at pariteten for summen av DCT koeffisienter i blokken er et partall.
En praktisk oppbygning av en første utførelse av paritetsinvertereren 28 i de sumoddifiserende kretser på figurene 8 og 1 OA vil nå bli beskrevet med henvisning til fig 11. Paritetsinvertereren 28 omfatter en utlesende teller 61, adressekomparatoren 62, LSB invertereren 63, OG portene 64, 65, 67 og 68, ELLER portene 66 og 69 og invertererene 71 og 72.
Paritetsinvertereren 28 virker som følger. Når den utlesende teller 61 mottar signalet FULL om fullt minne fra det første minne 26 eller det andre minne 27, avgir den signalet RD EN om åpning av lesning til det første minne 26 eller det andre minne 27. Signalet om åpning av lesning fører til at det respektive minne sekvensmessig mater DCT koeffisientene i blokken med DCT koeffisienter som er lagret i minnet til den første OG porten 67 via den bane som er merket med RDATA.
Signalet FULL for fullt minne bringer også den utlesende teller 61 til å starte telling av de DCT koeffisienter som blir mottatt for å gi komparatoren 62 en tellende verdi som angir antallet av mottatte DCT koeffisienter. Komparatoren 62 sammenligner den talte verdi med den adresse som er mottatt fra registret 25 for å bestemme om DCT koeffisienten som blir mottatt av den første OG port 67 er den DCT koeffisient hvis paritet kan inverteres, dvs. den DCT koeffisient hvis minst signifikante bit (LSB) kan inverteres. I det eksempel som er vist på fig 11 er den DCT koeffisient hvis paritet kan inverteres den siste DCT koeffisient som ikke er null og som blir identifisert med adressen EOB_adrs, som er lagret i registret 62. Når den tellende verdi blir lik adressen for DCT koeffisienten hvis paritet kan inverteres, i dette eksempel EOB_adrs, bestemmer komparatoren 62 at DCT koeffisienten er den DCT koeffisient hvis paritet kan inverteres og endrer tilstanden for dens utmating fra et 0 til en 1.
Utmatingen fra komparatoren 62 blir matet direkte til den andre OG port 68 og via invertereren 72 til den første OG port 67. Når således den tellede verdi ikke er lik adressen EOB adrs er den første OG port 67 åpen og den andre OG portkrets 68 er sperret. Dermed vil DCT koeffisientene passere uendret gjennom den første OG port 67 og ELLER porten 69 til IDCT kretsen 15.
På den annen side, når den DCT koeffisient som tilføres paritetsinvertereren 68 er den DCT koeffisient hvis paritet kan inverteres og telleverdien er lik adressen for koeffisienten hvis paritet kan inverteres, i dette eksempel EOB_adrs, vil utgangen fra komparatoren 62 endre tilstand som beskrevet ovenfor. Dette sperrer den første OG port 67 og åpner den andre OG port 68. Som et resultat blir DCT koeffisienten med sin LSB invertert mottatt via ELLER porten 66 og matet via den andre OG port 68 og ELLER porten 69 til IDCT kretsen 15.
DCT koeffisienten med sin LSB invertert blir selektivt tilført IDCT kretsen 15 som resultat av signalet REQ1 med anmodning om behandling ved matning av de mottatte DCT koeffisienter over banen RDATA inn i den tredje OG port 64 og til LSB invertereren 63. Signalet REQ1 med anmodning om behandling tilføres fra den paritetsvurderende krets 21 direkte til den fjerde OG port 65 og via invertereren 71 til den tredje OG portkrets 64. LSB invertereren 63 inverterer den minst signifikante bit for hver DCT koeffisient som mottas over banen RDATA og mater den resulterende DCT koeffisient med sin LSB invertert til den fjerde OG port 65.
Fravær av signalet REQ1 med anmodning om behandling, dvs at signalet med anmodning om behandling er i sin null-tilstand, angir at den DCT koeffisient hvis paritet kan inverteres skal tilføres IDCT kretsen uten den LSB invertert. Signalet med anmodning om behandling i sin null-tilstand går til den tredje OG port 64 og sperrer den fjerde OG port 65. Dette mater den DCT koeffisient hvis paritet kan inverteres med sin LSB uendret fra banen RDATA til IDCT kretsen 15 via den tredje OG port 64, ELLER porten 66, den andre OG port 68 og ELLER porten 69.
På den annen side vil tilstedeværelse av signalet REQ1 med anmodning om behandling, dvs at signalet REQ1 med anmodning om behandling i sin ene tilstand, angi at den DCT koeffisient hvis paritet kan inverteres skal tilføres IDCT kretsen med sin LSB invertert for å endre pariteten for summen av DCT koeffisienter. Signalet med anmodning om behandling i sin ene tilstand sperrer den tredje OG port 64 og åpner den fjerde OG portkrets 65. Dette fører den DCT koeffisient hvis paritet kan inverteres med sin LSB invertert fra LSB invertereren 63 til IDCT kretsen 15 via den fjerde OG port 65, ELLER porten 66, den andre OG port 68 og ELLER porten 69.
En andre utførelsesform for paritetsinvertereren 68 vil nå bli beskrevet med henvisning til fig 12. Når den andre utførelse av paritetsinvertereren 68 mottar signalet REQ1 med anmodning om behandling oddifiserer den summen av DCT koeffisientene ved å tilføye 1 til den DCT koeffisient hvis paritet kan inverteres.
Den andre utførelse av paritetsinvertereren 28 kan være utstyrt med en datamaskin eller en digital signalprosessor som arbeider i overensstemmelse med flytskjema som er vist på fig 12. Flytskjemaet som er vist på fig 12 svarer til flytskjemaet som er vist på fig 9 bortsett fra den operasjon som utføres ved trinn S3. Ved trinn S3 vil den andre utførelse av paritetsinvertereren 28 oddifisere summen av DCT koeffisienter ved tilføyelse av 1 til den DCT koeffisient hvis paritet kan inverteres, i stedet for invertertering av den minst signifikante bit (LSB) for den DCT koeffisient hvis paritet kan inverteres. DCT koeffisienten hvis paritet kan inverteres kan f.eks være den siste koeffisient som ikke er null i blokken eller DCT koeffisienten med den høyeste frekvenskomponent i blokken.
En praktisk kretsoppbygning av den andre utførelse av paritetsinvertereren der en éner blir tilføyet den DCT koeffisient hvis paritet kan inverteres for å oddifisere summen av DCT koeffisienter i blokken med DCT koeffisienter vil nå bli beskrevet med henvisning til fig 13. Den andre utførelse av paritetsinvertereren som er vist på fig 13 svarer til den første utførelse av paritetsinvertereren 28 som er vist på fig 11. Elementer i den krets som er vist på fig 13 som tilsvarer de som finnes i kretsen som er vist på fig 11 er betegnet med samme henvisningstall og vil ikke bli beskrevet på nytt her.
Paritetsinvertereren som er vist på fig 13 innbefatter +1 addereren 73 i stedet for LSB invertereren 63 som er vist på fig 11. +1 addereren 73 legger til 1 til hver DCT koeffisient som leses ut av det første minne 26 eller fra det andre minne 27 og som blir mottatt via banen RDATA. En av DCT koeffisientene som har fått tilføyet 1 velges ut som svar på signalet REQ1 med anmodning om behandling for å oddifisere summen av DCT koeffisienter.
Virkemåten for paritetsinvertereren som er vist på fig 13 er identisk med den for den krets som er vist på fig 11 bortsett fra at +1 addereren 73 adderer en til hver DCT koeffisient som blir mottatt over RDATA banen. Når signalet REQ1 med anmodning om behandling er tilstede og den DCT koeffisient hvis paritet kan inverteres er påvist blir DCT koeffisienten med en tilføyet matet fra +1 addereren til IDCT kretsen 15 via den fjerde OG port 65, ELLER porten 66, den andre OG port 68 og ELLER porten 69.
Én tredje utførelse av paritetsinvertereren 28 vil nå bli beskrevet med henvisning til figurene 14 og 15.
Når den tredje utførelse av paritetsinvertereren mottar signalet REQ1 med anmodning om behandling oddifiserer denne summen av de DCT koeffisienter i blokken ved å bytte ut den DCT koeffisient hvis paritet skal inverteres med den DCT koeffisient hvis paritet skal inverteres hvorfra en éner er blitt subtrahert når fortegnet for DCT koeffisienten er positivt og som en éner er blitt addert til når fortegnet for DCT koeffisienten er negativ. Denne behandling vil ikke bare invertere pariteten for DCT koeffisienten hvis paritet skal inverteres, men reduserer også verdien av denne DCT koeffisient, dvs gjør DCT koeffisienten hvis paritet skal inverteres mer lik null. Den behandling som foretas med den DCT koeffisient hvis paritet skal inverteres er definert med den følgende ligning:
hvor rec er den DCT koeffisient hvis paritet skal inverteres.
Denne tredje utførelse av paritetsinvertereren 28 kan benyttes ved bruk av en datamaskin eller en digital signalprosessor som arbeider ifølge flytskjemaet som er vist på fig 14. Ved trinn Sl vurderer paritetsinvertereren 28 utfra adressen EOBadrs om DCT koeffisienten er den DCT koeffisient hvis paritet skal inverteres eller ikke. For eksempel vil paritetsinvertereren vurdere om DCT koeffisienten er den siste DCT koeffisient som ikke er null eller ikke. Hvis resultatet ved trinn Sl er ja og DCT koeffisienten er den DCT koeffisient hvis paritet kan inverteres, går utførelsen videre til trinn S2. Ellers, og hvis DCT koeffisienten ikke er en DCT koeffisient hvis paritet kan inverteres, går utførelsen videre til trinn S8.
Ved trinn S8 bestemmer paritetsinvertereren 28 om signalet REQ1 med anmodning om behandling er blitt mottatt eller ikke. Hvis resultatet ved trinn S2 er ja noe som viser at signalet REQ1 med anmodning om behandling er blitt mottatt går utførelsen videre til trinn S3. Ellers er ingen anmodning om behandling blitt mottatt og utførelsen fortsetter til trinn S8. Siden et JA resultat ved trinn S2 bare kan opptre hvis et JA resultat er frem-kommet ved Sl, vil JA resultatet ved trinn S2 angi at DCT koeffisienten er den DCT koeffisient hvis paritet skal inverteres.
Ved trinn S3 bestemmer paritetsinvertereren 28 polariteten for den DCT koeffisient hvis paritet skal inverteres. Hvis resultatet ved trinn S3 er JA, noe som angir at polariteten for DCT koeffisienten er positiv fortsetter utførelsen til trinn S4. Ellers er polariteten for DCT koeffisienten null eller negativ og utførelsen fortsetter til trinn S6.
Ved trinn S4 vil paritetsinvertereren 28 subtrahere en ener fra DCT koeffisienten hvis paritet skal inverteres (dvs tilføyer -1 til denne) hvoretter utførelsen går videre til trinn S5 der den paritetsinverterte DCT koeffisient blir matet til IDCT kretsen 15 (fig 10A). Deretter går utførelsen til trinn Sl der den neste DCT koeffisient blir behandlet.
Ellers, ved trinn S6, vil paritetsinvertereren 28 legge en ener til den DCT koeffisient hvis paritet skal inverteres hvoretter utførelsen fortsetter til trinn S7 der den paritetsinverterte DCT koeffisient er blitt matet til IDCT kretsen 15. Deretter går utførelsen tilbake til Sl der den neste DCT koeffisient blir behandlet.
Utførelsen går til trinn S8 når DCT koeffisienten ikke er den DCT koeffisient hvis paritet skal inverteres eller når DCT koeffisienten hvis paritet kan inverteres ikke har sin paritet invertert, dvs. når signalet er REQ1 med anmodning om behandling ikke er blitt mottatt. Ved trinn S8 blir DCT koeffisienten matet til IDCT kretsen 15 uten modifikasjon. Utførelsen går tilbake til trinn Sl når den neste DCT koeffisient skal behandles.
Figur 15 viser et praktisk eksempel på kretsutformingen i den tredje utførelse av paritetsinvertereren 28 der paritetsinverteringen utføres for å redusere verdien av den DCT koeffisient hvis paritet er invertert, dvs gjøre den DCT koeffisient hvis paritet er blitt invertert nærmere null.
Paritetsinvertereren som er vist på fig 15 tilsvarer den paritetsinverterer 28 som er vist på fig 11. Deler i den krets som er vist på fig 15 og som svarer til deler av kretsen som er vist på fig 11 har samme henvisningstall og vil ikke bli beskrevet på nytt her. Paritetsinvertereren som er vist på fig 15 skiller seg fra paritetsinvertereren som er vist på fig 11 ved at den innbefatter verdireduksjonskretsen 80 i stedet for LSB invertereren 63.
Verdireduksjonskretsen 80 bestemmer polariteten for hver DCT koeffisient som blir mottatt fra det første minne 26 eller det andre minne 27 via banen RDATA. Når polariteten for DCT koeffisienten er positiv vil den verdireduserende krets subtrahere en éner fra DCT koeffisienten mens kretsen, når polariteten for DCT koeffisienten er null eller negativ vil legge til en éner til DCT koeffisienten. Den paritetsinverterende krets som er vist på fig 15 oddifiserer summen av DCT koeffisientene i blokken ved å velge den DCT koeffisient hvis paritet er blitt invertert i den verdireduserende krets 80 og setter inn den verdireduserte, paritetsinverterte DCT koeffisient i stedet for den DCT koeffisient hvis paritet skal inverteres.
Den verdireduserende krets 80 omfatter den polaritetsvurderende krets 81 som styrer den femte OG port 84 direkte og den sjette OG port 85 via invertereren 87. Den verdireduserende krets 80 innbefatter også -1 subtrahereren 82 og +1 addereren 83 som henholdsvis subtraherer en éner fra og legger en éner til hver DCT koeffisient som blir mottatt på banen RDATA. Enten blir utgangen fra -1 subtrahereren 82 eller utgangen fra +1 addereren 83 valgt av den femte OG port 84 eller den sjette OG port 85 som reaksjon på utgangen fra den polaritetsvurderende krets 81. Utgangene fra OG portene 84 og 85 mater ELLER porten 86 som avgir den valgte verdireduserte DCT koeffisient til den fjerde OG port 65. Når pariteten for summen av DCT koeffisientene i blokken behøver å inverteres velger den fjerde OG port den verdireduserte paritetsinverterte utgang fra den verdireduserende krets 80 til matning av IDCT kretsen 15 i stedet for den DCT koeffisient hvis paritet kan inverteres.
Den polaritetsvurderende krets 81 vurderer polariteten for hver DCT koeffisient i blokken med DCT koeffisienter som blir mottatt på banen RDATA og setter tilstanden for dens utgang til en éner eller et null avhengig av om polariteten på DCT koeffisienten er positiv eller negativ. Når den polaritetsvurderende krets bestemmer at polariteten for DCT koeffisienten er positiv vil utgangen fra den polaritetsvurderende krets åpne den femte OG porten 84 og lukke den sjette OG portkrets 85. Dette mater utgangen fra -1 subtrahereren 82 dvs den DCT koeffisient hvorfra en ener er blitt subtrahert til den fjerde OG port 65 via den femte OG port 84 og ELLER porten 86. På den annen side, når den polaritetsvurderende krets 81 finner at polariteten på DCT koeffisienten er negativ eller null vil utgangen fra den polaritetsvurderende krets lukke den femte OG port 84 og åpne den sjette OG 85. Dette mater utgangen fra +1 addereren 83 dvs den DCT koeffisient som har fått en ener tilføyet til den fjerde OG port 65 via den sjette OG port 85 og ELLER porten 86.
Den fjerde OG port 65 mater den paritetsinverterte verdireduserte DCT koeffisient fra den verdireduserende krets 80 til den andre OG port 68 som reaksjon på signalet REQ1 med anmodning om behandling. Når sammenligneren 62 bestemmer at DCT koeffisienten som er mottatt på banen RDATA er den DCT koeffisient hvis paritet kan inverteres, blir den verdireduserte polaritetinverterte DCT koeffisient matet fra den verdireduserende krets 80 til IDCT kretsen 15 (fig 10A) på den måte som er beskrevet ovenfor i forbindelse med fig 11. På den annen side, når den tredje utførelse av paritetsinvertereren som er vist på fig 15 ikke mottar noe signal REQ1 for anmodning om behandling, blir DCT koeffisienten hvis paritet kan inverteres matet til IDCT kretsen 15 Når summen av DCT koeffisienter skal oddifiseres vil den tredje utførelse av paritetsinvertereren 28 som er vist på fig 15 tilføre IDCT kretsen 15 den DCT koeffisient hvis paritet er blitt invertert ved at det her er fratrukket en éner når dens polaritet er positiv og tilfører til IDCT kretsen 15 den DCT koeffisient hvis paritet er blitt invertert, ved tilføyelse av en éner til denne når dens polaritet er 0 eller negativ. Denne behandling inverterer pariteten og reduserer verdien for den DCT koeffisient hvis paritet skal inverteres og oddifiserer summen av DCT koeffisientene.
En fjerde utførelse av paritetsinvertereren 28 vil nå bli beskrevet med henvisning til figurene 16 og 17.
Når den fjerde utførelse av paritetsinvertereren mottar signalet REQ1 med anmodning om behandling vil den oddifisere summen av DCT koeffisienter i blokken ved å bytte ut den DCT koeffisient hvis paritet skal inverteres med den DCT koeffisient hvis paritet skal inverteres og til hvilken det er blitt føyet en éner når fortegnet for DCT koeffisienten er positiv og fra hvilken det er blitt subtrahert en éner når fortegnet for DCT koeffisienten er negativ. Denne behandling inverterer ikke bare pariteten for DCT koeffisienten hvis paritet skal inverteres, men øker også verdien på denne DCT koeffisient, dvs legger DCT koeffisienten hvis paritet skal inverteres lenger fra null. Denne behandling, utført på den DCT koeffisient hvis paritet skal inverteres er definert med følgende ligning:
der rec er den DCT koeffisient hvis paritet skal inverteres.
Den fjerde utførelse av paritetsinvertereren 28 kan benyttes ved bruk av en datamaskin eller digital signalprosessor som arbeider i overensstemmelse med det flytskjema som er vist på fig 16. Ved trinn Sl vurderer paritetsinvertereren 28, på grunnlag av adressen EOB adrs om DCT koeffisienten er den DCT koeffisient hvis paritet kan inverteres eller ikke. For eksempel vurderer paritetsinvertereren om DCT koeffisienten er den siste DCT koeffisient som ikke er null eller ikke. Hvis resultatet ved trinn Sl er JA og DCT koeffisienten er den DCT koeffisient hvis paritet kan inverteres, fortsetter utførelsen til trinn S2. Hvis ikke, og DCT koeffisienten ikke er den DCT koeffisient hvis paritet kan inverteres går utførelsen videre til trinn S8. Ved trinn S2 bestemmer paritetsinvertereren 28 om signalet er REQ1 med anmodning om behandling er blitt mottatt eller ikke. Hvis resultatet ved trinn S2 er JA noe som viser at signalet REQ1 med anmodning om behandling er blitt mottatt fortsetter utførelsen til trinn $3. Hvis ikke er ingen anmodning om behandling blitt mottatt og utførelsen fortsetter til trinn S8. Siden et JA resultat ved trinn S2 bare kan fremkomme hvis et JA resultat er oppnådd ved trinn Sl, vil JA resultatet ved S2 vise at DCT koeffisienten er den DCT koeffisient hvis paritet skal inverteres.
Ved trinn S3 bestemmer paritetsinvertereren 28 polariteten for DCT koeffisienten. Hvis resultatet ved trinn S3 er JA, noe som angir at polariteten for DCT koeffisienten er positiv, fortsetter utførelsen til trinn S4. Hvis ikke er polariteten for DCT koeffisienten null eller negativ og utførelsen går videre til trinn S6.
Ved trinn S4 vil paritetsinvertereren 28 tilføye en éner til DCT koeffisienten hvoretter utførelsen går til trinn S5 der den paritetsinverterte DCT koeffisient, blir matet til IDCT kretsen 15 (fig 10A). Deretter går utførelsen tilbake til trinn Sl der den neste DCT koeffisient blir behandlet. Ellers vil paritetsinvertereren 28 ved trinn S6 subtrahere en éner fra DCT koeffisienten (dvs tilføye -1 til denne) hvoretter utførelsen fortsetter til trinn S7 der den paritetinverterte DCT koeffisient blir matet til IDCT kretsen 15. Deretter går utførelsen til trinn Sl der den neste DCT koeffisient blir behandlet. Utførelsen går videre til trinn S8 når DCT koeffisienten ikke er den DCT koeffisient hvis paritet kan inverteres eller når DCT koeffisienten hvis paritet kan inverteres ikke skal ha sin paritet invertert, dvs når signalet REQ1 med anmodning om behandling ikke er blitt mottatt. Ved trinn S8 blir DCT koeffisienten matet til IDCT kretsen 15 uten endring. Deretter går utførelsen tilbake til trinn Sl der den neste DCT koeffisient blir behandlet.
Figur 17 viser et praktisk eksempel på kretsoppbygningen for den fjerde utførelse av paritetsinvertereren 28 der paritetsinverteringen utføres for å øke verdien av den DCT koeffisient hvis paritet er blitt invertert, dvs. for å legge den DCT koeffisient hvis paritet er blitt invertert lenger fra null.
Paritetsinvertereren som er vist på fig 14 svarer til paritetsinvertereren 28 som er vist på fig 11. Deler i kretsen som er vist på fig 17 svarende til de i kretsen som er vist på fig 11 er betegnet med samme henvisningstall og vil ikke bli beskrevet på nytt her. Paritetsinvertereren som er vist på fig 17 skiller seg fra paritetsinvertereren som er vist på fig 11
ved at den innbefatter den verdiøkende krets 90 i stedet for LSB invertereren 63.
Den verdiøkende krets 90 bestemmer polariteten for hver DCT koeffisient som blir mottatt fra det første minne 26 eller det andre minne 27 via banen RDATA. Når polariteten for DCT koeffisienten er positiv vil den verdiøkende krets tilføye en éner til DCT koeffisienten, mens den når polariteten på DCT koeffisienten er null eller negativ vil subtrahere en éner fra DCT koeffisienten. Den paritetsinverterende krets som er vist på fig 17 oddifiserer summen av DCT koeffisienter i blokken ved å velge den DCT koeffisient hvis paritet skal inverteres fra den verdiøkende krets og bytte ut den verdiøkte DCT koeffisient med den DCT koeffisient hvis paritet skal inverteres.
Den verdiøkende krets 90 omfatter den polaritetsvurderende krets 91 som styrer den femte OG port 94 direkte og den sjette OG port 95 via invertereren 97. Den verdiøkende krets 90 innbefatter også +1 addereren 92 og -1 subtrahereren 93 som henholdsvis føyer til en éner og subtraherer en éner fra DCT koeffisienten. Enten blir utmatningen fra +1 addereren 92 eller utmatningen fra -1 subtrahereren 93 valgt av femte OG port 94 eller av den sjette OG port 95 som reaksjon på utmatningen fra den polaritetsvurderende krets 91. Utmatningene fra OG portene 94 og 95 mater ELLER port 96 som avgir den valgte verdiøkte DCT koeffisient til den fjerde OG port 65. Når pariteten for summen av DCT koeffisienter i blokken skal inverteres vil den fjerde OG port 65 velge den paritetsinverterte verdiøkte utmatningen fra den verdiøkende krets 90 for videreføring til IDCT kretsen 15, i stedet for DCT koeffisienten, hvis paritet kan inverteres.
Den polaritetsvurderende krets 91 vurderer polariteten for hver DCT koeffisient i blokken med DCT koeffisienter som er mottatt over banen RDATA og setter tilstanden av sin utgang til en éner eller et null avhengig av om polariteten på DCT koeffisienten er positiv eller negativ. Når den polaritetsvurderende krets finner at polariteten for DCT koeffisienten er positiv vil utmatningen fra den polaritetsvurderende krets åpne den femte OG port 94 og stenge den sjette OG portkrets 95. Dette fører utmatningen fra +1 addereren 92, dvs den DCT koeffisient som har fått tilføyet en éner, til den fjerde OG port 65 via den femte OG port 94 og ELLER porten 96.
Når på den annen side den polaritetsvurderende krets 91 finner at polariteten på DCT koeffisienten er negativ eller null vil utmatningen fra den polaritetsvurderende krets stenge den femte OG port 94 og åpne den sjette OG port 95.
Den fjerde OG port 65 mater den paritetsanvendte, verdiøkede DCT koeffisient fra den verdiøkende krets 90 til den andre OG port 68 ved mottakning av signalet REQ1 med anmodning om behandling. Når sammenligneren 62 bestemmer at den DCT koeffisient som ble mottatt på banen er DATA er den DCT koeffisient hvis paritet kan inverteres, blir DCT koeffisienten matet fra den verdiøkende krets til IDCT kretsen 15 (fig 10A) på den måte som er beskrevet tidligere med henvisning til fig 11.
På den annen side, når den fjerde utførelse av paritetsinvertereren som er vist på fig 17 ikke mottar noe signal REQ1 med anmodning om behandling, forblir DCT koeffisienten hvis paritet kan inverteres matet uforandret til IDCT kretsen 15.
Når summen av DCT koeffisientene skal oddifiseres vil den fjerde utførelse av paritetsinvertereren 28 som er vist på fig 17 mate IDCT kretsen 15 med den koeffisient hvis paritet er blitt invertert ved at det til koeffisienten føyes en éner når polariteten er positiv og mater til IDCT kretsen 15 den koeffisient hvis paritet er blitt invertert ved subtraksjon av en éner fra denne når polariteten er null eller negativ. Denne behandling inverterer pariteten og øker verdien av DCT koeffisienten hvis paritet er invertert og oddifiserer summen av DCT koeffisientene.
De paritetsinverterere 28 som er vist på figurene 11, 13, 15 og 17 og har virkemåte ifølge de flytskjemaer som er vist på figurene 9,12,14 og 16, kan endres for å oddifisere summen av DCT koeffisientene ved å forandre pariteten for en DCT koeffisient som er forskjellig fra den siste DCT koeffisient med en verdi som ikke er null og er utlest ved sikk-sakk avsøkning. I f.eks en todimensjonal 8x8 DCT transform kan pariteten på en for DCT komponentenes DCT koeffisient, DCT koeffisienten for komponenten (7,7), dvs komponenten med høyest frekvens, DCT koeffisienten for komponenten (7,0) ved det øvre høyre hjørne eller DCT koeffisienten for komponenten (0,7) ved det nedre venstre hjørne forandres. Siden DCT koeffisienten for komponenten (7,7) som er komponenten med høyest frekvens, har en liten innvirkning på bildekvaliteten er denne komponent særlig egnet til å være den koeffisient hvis paritet kan forandres.
I de paritetsinverterere som er vist på figurene 11, 13, 15 og 17 kan alternative DCT koeffisienter velges som de DCT koeffisienter hvis paritet kan forandres ved å bytte ut adressene for DCT koeffisienten med den adresse EOB adrs som blir matet inn i sammenligneren 62. Hvis, som et alternativ, pariteten for DCT koeffisienten med den høyeste frekvenskomponent skal forandres kan utlesningstelleren 61 og sammenligneren 62 utelates og minnets signal for FULL kan benyttes for å identifisere DCT koeffisienten med den høyeste frekvenskomponent som den DCT koeffisient hvis paritet kan
forandres.
I et ytterligere alternativ kan de sumoddifiserende kretser 14 som er vist på figurene 6, 8 og 10 finne summen av bestemte DCT koeffisienter f.eks DCT koeffisientene for komponenten (0,0), komponenten (4,0), komponenten (0,4) og komponenten (4,4). Deretter vil den sumoddifiserende krets foreta paritetsinversjonsoperasjonen for å gjøre summen av de bestemte DCT koeffisienter til et oddetall. Figur 18 viser en variasjon i den sumoddifiserende krets 17 som er vist på fig 8.1 denne krets blir summen av bestemte DCT koeffisienter fastslått for å finne ut om paritetsinversjon er nødvendig. Deler i den krets som er vist på fig 18 og som tilsvarer delene i den krets som er vist på fig 8 er betegnet med samme henvisningstall og vil ikke bli beskrevet på nytt her.
I den sumoddifiserende krets som er vist på fig 8 bryter velgeren 51 linjen mellom den inverse kvantiserer 13 og akkumulatoren 23 A. Velgeren 51 mottar fra telleren 20 telleverdien koeffadrs, som angir det antall DCT koeffisienter i blokken som er blitt mottatt fra den inverse kvantiserer 13.
Som resultat av telleverdien koeff_adrs som er mottatt fra telleren 20 bestemmer
velgeren 51 om hver DCT koeffisient som er mottatt fra den inverse kvantiserer 13 er en av de bestemte DCT koeffisienter og derfor skal inkluderes i den sum som bestemmes av akkumulatoren 23A eller ikke. For eksempel bestemmer således velgeren om den tellede verdi koeff_adrs er en verdi som tilsvarer komponenten (0,0), komponenten (4,0), komponenten (0,4) eller komponenten (4,4). Når velgeren 51 bestemmer at DCT koeffisienten er en av de bestemte DCT koeffisienter overfører den DCT koeffisienten til akkumulatoren 23A. Som følge av dette vil den sumoddifiserende krets som er vist på fig 18 bestemme summen av de bestemte DCT koeffisienter i blokken og hvis pariteten for summen er et partall forandrer den pariteten for minst en av DCT koeffisientene for å gjøre summen til et oddetall. Den sumoddifiserende krets som er vist på fig 18 mater deretter blokken med paritetsjusterte DCT koeffisienter til IDCT kretsen 15.
Utførelsen som er vist på fig 18 kan modifiseres på en måte svarende til det som er vist på fig 10A for å sette kretsen i stand til å bestemme den eksklusive logiske sum av LSB enheter for de bestemte DCT koeffisienter. Kretsen på fig 18 er modifisert ved å bytte ut addereren 23 med LSB detektoren 29 og Eksklusiv-ELLER porten 30 som er vist på fig 10A.
Med henvisning nå tilbake til fig 6 blir DCT koeffisientene i blokken med DCT koeffisienter matet fra den sumoddifiserende krets 14 til IDCT kretsen 15 som beskrevet ovenfor. Summen av DCT koeffisienter fra den sumoddifiserende krets er et oddetall. Hvis summen av DCT koeffisienter fra den inverse kvantiserer var et partall forandret den sumoddifiserende krets 14 pariteten for minst en av DCT koeffisientene for åoddifisere summen av DCT koeffisienter som ble matet til IDCT kretsen 15. IDCT kretsen 15 foretar IDCT behandlingn av DCT koeffisienten i blokken for å frembringe den gjenopprettede forskjellsblokk S4. Den gjenopprettede forskjellsblokk blir matet til addereren 16.
Addereren 16 foretar en piksel-for-piksel addisjon mellom den gjenopprettede forskjellsblokk S4 og tilpasningsblokken S2 som blir mottatt fra den andre bildeminnegruppe 4. Den resulterende rekonstruerte bildeblokk S5 føres til bildeminnegruppen 4 der den danner en blokk for det rekonstruerte bilde som er lagret i et av de bildeminner som angis av minnestyreren 3.
Den variable lengdekoder 17 foretar variabel lengdekoding så som Huffman koding etc for hver blokk med kvantiserte DCT koeffisienter SC fra forskjellsblokk-koderen 9 og dens bevegelsesvektor MV bevegelseskompensasjonsmodus MM, data fra kvantiseringstabell etc. Den variable lengdekoder samler også de variabelt lengdekodede data med startkodene og topptekstinformasjon for de respektive lag av MPEG standarden for å danne det komprimerte signal for levende bilde.
Radmakroblokktelleren 5 teller radstartsignalene SS og makroblokkstartsignaler BS som frembringes av minnestyreren 3 i synkronisme med starten for hver rad og hver makroblokk i bildene som blir lest ut av den første bildeminnegruppe 2 for behandling. Når denne telling når en på forhånd bestemt verdi vil radmakroblokktelleren 5 frembringe startsignalet SO som blir matet til den variable lengdekoder 17.
Som resultat av startsignalet vil den variable lengdekoder 17 mate det komprimerte
signal for levende bilde til utgangsbuffere 19 der det blir midlertidig lagret. Deretter blir det komprimerte signal for levende bilde lest ut av utgangsbufferen som en bitstrøm med en på forhånd bestemt bittakt. Bitstrømmen for det komprimerte signal for levende bilde blir matet til en komplementær ekspansjonsanordning via en overføringsbane eller ved innspilling av bitstrømmen for det komprimerte signal for levende bilde på et egnet innspillingsmedium som f.eks en optisk skive.
Innspillingsmediet er et innspillingsmedium hvorpå det komprimerte signal for levende bilde som er avledet fra signalet for levende bilde ved prediksjonskoding og diskret consinus transformbehandling er innspilt. Hver blokk for hvert rekonstruerte bilde som blir benyttet som et referansebilde ved prediksjonskodingen er rekonstruert ved invers kvantisering av en blokk med kvantiserte DCT koeffisienter som er innbefattet i det komprimerte signal for levende bilde, med oddifisering av summen av DCT koeffisienter i den resulterende blokk av DCT koeffisienter og med invers ortogonal transformering av den sumoddifiserte blokk av DCT koeffisienter.
En overføringsanordning ifølge oppfinnelsen kan innbefatte en komprimeringsanordning ifølge oppfinnelsen som beskrevet ovenfor.
Det kan tenkes at det ville være bedre å utføre den sumoddifiserende operasjon i forskjellsblokk-koderen 9 i kompressoren. Den sumoddifiserende operasjon vil føre til at summen av DCT koeffisienter i hver blokk med kvantiserte DCT koeffisienter som er innbefattet i det komprimerte signal for levende bilde blir et oddetall. Det kan tenkes at behandlingen av det komprimerte signal for levende bilde på denne måte kunne gjøre det unødvendig å oddifisere summen av DCT koeffisienter i ekspansjonsanordningen. Ved en slik utførelse vil det imidlertid være en mulighet for, etter DCT koeffisienten er blitt kvantisert i kompressoren og inverst kvantisert i ekspansjonsanordningen, at summen av DCT koeffisienter som kommer inn i IDCT kretsen i ekspansjonsanordningen ikke lenger er et oddetall. Av den grunn må sumoddifiseirngsprosessen utføres før IDCT prosessen i ekspansjonsanordningen for å sikre at en avrundingsfeil ikke vil oppstå.
En ekspansjonsanordning for dekomprimerte signal for levende bilde som denne oppfinnelse kan anvendes sammen med vil nå bli beskrevet med henvisning til fig 19. På fig 19 blir det komprimerte signal for levende bilde mottatt som en bitstrøm via en overføringslinje fra kompressoren eller ved reproduksjon av det komprimerte signal for levende bilde fra et egnet innspillingsmedium som f.eks en optisk plate. Bitstrømmen blir matet til inngangsbufferen 31 der den blir midlertidig lagret og hvorfra den blir lest ut, bilde-for-bilde til invers variabel lengdekoder ("IVLC") 32, som trekker ut fra det komprimerte signal for levende bilde topptekstinformasjonen for de respektive lag av MPEG kodingen og trekker fra topptekstinformasjonen ut styreinformasjon PH for dekoding av bilde og dette mates til minnestyreren 33.
IVLC 32 påtrykker invers variabel lengdekoding på blokkene av variabel lengdekodede DCT koeffisienter for å danne blokker med kvantiserte DCT koeffisienter innbefattende den løpende blokk med kvantiserte DCT koeffisienter Cb. Blokken med kvantiserte DCT koeffisienter Cb overføres til forskjellsblokkdekoderen 34. Forskjellsblokkdekoderen 34 dekoder blokken med kvantiserte DCT koeffisienter Cb for å danne den gjenopprettede forskjellsblokk BS, og mater den gjenopprettede forskjellsblokk til addereren 39.
IVLC 32 trekker ut fra det komprimerte signal for levende bilde bevegelsesvektoren MV og bevegelseskompensasjonsmodus MM for blokken med kvantiserte DCT koeffisienter Cb og mater disse til bevegelseskompensatoren 37. Bevegelseskompensatoren 37 får en tilpasningsblokk for den gjenopprettede forskjellsblokk BS til å bli lest ut fra bildeminnegruppen 38.
Bildeminneblokken innbefatter flere bildeminner der hvert av disse lagrer et allerede rekonstruert bilde. Tilpasningsblokken BS er en blokk av det rekonstruerte bilde som er lagret i et av bildeminnene ved en adresse som blir angitt av bevegelsesvektoren MV. Bildeminne i bildeminnegruppen 38 som lagrer det rekonstruerte bilde som tilpasningsblokken er utlest fra, blir angitt av minnestyreren 33.
Som nevnt ovenfor kan et bilde bli kodet ved prediksjon fra et tidligere rekonstruert bilde, ved prediksjon fra et følgende rekonstruert bilde og ved prediksjon fra en blokk som fremkommer ved utførelse av en piksel-for-piksel lineær operasjon på et tidligere rekonstruert bilde og et påfølgende rekonstruert bilde. Sluttelig kan et bilde kodes uten bruk av noen prediksjon i det hele tatt. I dette tilfelle er tilpasningsblokken som finnes i bildeminnegruppen 38 en nullblokk, dvs en blokk hvori alle pikselverdier er stillet på null. De bevegelseskompenserte tilpasningsblokker som finnes i bildeminnegruppe 38 blir adaptivt modifisert og den optimale velges for hver blokk. Denne prosess utføres ved bruk av en blokk med en blokkstørrelse på 16 x 16 piksler.
Hver tilpasningsblokk som avgis av bildeminnegruppen 38 blir tilført addereren 39. Addereren 39 foretar en piksel-for-piksel addisjon mellom den gjenopprettede forskjellsblokk BS som er mottatt fra forskjellsblokkdekoderen 34 og tilpasningsblokken som avgis av bildeminnegruppen 38. Resultatet av denne addisjon er en rekonstruert bildeblokk som er lagret i et av bildeminnene i bildeminnegruppe 38, spesifisert av minnestyreren 33. De rekonstruerte bildeblokker som frembringes av addereren 39 blir lagret en-for-en i det valgte bildeminne med overskrivning av det rekonstruerte bilde som tidligere var lagret i bildeminnet for å danne et nytt rekonstruert bilde. De rekonstruerte bilder som er lagret i bildeminnegruppe 38 blir lest ut i en rekkefølge som styres av et signal for angivelse av utgangsbilde og som finnes i minnestyreren 33. De utleste bilder blir overført som et reprodusert signal for levende bilde til en egnet gjengiveranordning for bilde, f.eks en videomonitor. Fremvisningsanordningen for bilde viser et levende bilde som er resultatet av det reproduserte signal for levende bilde.
Forskjellsblokk-koderen 34 vil nå bli beskrevet under henvisning til fig 19. Forskjellsblokk-koderen 34 omfatter den inverse kvantiserer 40, den sumoddifiserende krets 35 og den inverse diskrete cosinus transformkrets 36. Den inverse kvantiserer 40 gjør bruk av en kvantiseringstabell for inverst å kvantisere blokken av kvantiserte transformkoeffisienter Cb som er mottatt fra den inverse variabel lengdekoder 32. Den sumoddifiserende krets 35 mottar den resulterende blokk med DCT koeffisienter fra den inverse kvantiserer 40 og forhindrer avrundingsfeil i å oppstå under IDCT behandlingen med IDCT kretsen 36. IDCT kretsen 36 sørger for IDCT behandling av blokken med sumoddifiserte DCT koeffisienter fra den sumoddifiserende krets 35.
Figur 20 viser et eksempel på oppbygningen av den inverse kvantiserer 40. Hoved-komponentene i den inverse kvantiserer 40 er kjøre/nivådekoderen 41, adressetelleren 47, adresseomformeren 48, velgeren 49, det første blokkminne 42, det andre blokkminne 43 og den inverse kvantiseringskrets ("IQ kretsen") 46.
Kjøre/nivådekoderen 41 mottar blokken med kvantiserte DCT koeffisienter Cb fra den inverse variabel lengdekoder 32. Kjøre/nivådekoderen dekoder den kjøre/nivåkoding som ble foretatt med kvantiserte DCT koeffisienter i den variabel lengdekoder i kompressoren. Den resulterende blokk med kvantiserte DCT koeffisienter blir matet til det første blokkminne 42 eller til det andre blokkminne 43 i et sikk-sakk avsøknings-mønster. Det første blokkminne 42 og det andre blokkminne 43 lagrer hver en blokk med kvantiserte DCT koeffisienter.
Adressetelleren 47 og adresseomformeren 48 frembringer henholdsvis skriveadresser og leseadresser for det første blokkminne 42 og det andre blokkminne 43. Blokker med kvantiserte DCT koeffisienter blir avvekslende skrevet inn i og lest ut av det første blokkminne og det andre blokkminne. Hver blokk med kvantiserte DCT koeffisienter blir skrevet inn i et av blokkminnene i sikk-sakk avsøkningsmønster ved påvirkning fra adressene som frembringes av adressetellereren 47 og blir lest ut av blokkminnet i et rasteravsøkningsmønster som reaksjon på adressene som frembringes av adresseomformeren 48. Den forskjellige rekkefølge av adresser mellom skriving og lesing omformer rekkefølgen av kvantiserte DCT koeffisienter i blokken fra et sikk-sakk avsøkningsmønster til et rasteravsøkningsmønster.
Adressetelleren 47 frembringer skriveadressene i et sikksakk avsøkningsmønster.
Adresseomformeren 48 mottar adressene i sikksakk avsøkningsmønster fra adressetelleren og bruker en adresseomformningstabell for å omforme adressene til adressene i et rasteravsøkningsmønster. Adressene som frembringes av adressetelleren 47 og av adresseomformeren 48 blir valgt ut av velgeren 49 for overføring til det første blokkminne 42 og det andre blokkminne 43 som adressene adrsl og adrs2. Når blokken med kvantifiserte DCT koeffisienter fra kjøre/nivådekoderen 41 blir skrevet inn i det første blokkminne 42 eller det andre blokkminne 43 blir de respektive adresser adrsl og adrs2 frembragt av adressetelleren 47 via velgeren 49 i en sikk-sakk avsøkningsmønster. Når blokken med kvantiserte DCT koeffisienter blir lest ut av det første blokkminne 42 eller det andre blokkminne 43 til den inverse kvantiserer 46 blir de respektive adresser adrsl og adrs2 avlevert av adresseomformeren 48 via velgeren 49 i et rasteravsøkningsmønster. Når alle de kvantiserte DCT koeffisienter i blokken er blitt lagret i det første blokkminne 42 eller det andre blokkminne 43 blir blokken med DCT koeffisienter lest ut i et raster-avsøkningsmønster til den inverse kvantiserer ("IQ") 46. IQ 46 kvantiserer inverst de kvantiserte DCT koeffisienter i blokken og mater den resulterende blokk med DCT koeffisienter til den sumoddifiserende krets 35. Den inverse kvantisering som foretas av IQ 46 er det samme som den inverse kvantisering som foretas av den inverse kvantiserer 13 i den lokale dekoder i anordningen for komprimering av signalet for levende bilde som er vist på fig 6.
Når den sumoddifiserende krets 35 bestemmer at pariteten for summen av DCT koeffisienter i blokken med DCT koeffisienter fra den inverse kvantiserer 40 er et partall minst en DCT koeffisient i blokken for å gjøre summen av DCT koeffisienter i blokken til et oddetall. Den sumoddifiserende krets 35 mater blokken med sumoddifiserende DCT koeffisienter til IDCT kretsen 36. Den sumoddifiserende operasjon som utføres av den sumoddifiserende krets 35 er den samme som den sumoddifiserende operasjon som foretas av den sumoddifiserende krets 14 i den lokale dekoder i komprimeringsanordningen for signalet til levende bilde som vist på fig 6.
IDCT kretsen 36 foretar IDCT behandling av blokken med sumoddifiserte DCT koeffisienter for å frembringe den gjenopprettede forskjellsblokk BS som blir tilført addereren 39.
Den praktiske virkemåte for den inverse kvantiserer 40 som er vist på fig 20 er illustrert med tidskjema på figurene 21A til 211. Nevnte invers variabel lengdekoder 32 trekker ut blokken med kvantiserte DCT koeffisienter Cb fra det komprimerte signal for levende bilde. Lengdekoden 32 frembringer det hendelsesåpnende signal EV EN som er vist på fig 21A og som instruerer kjøre/nivådekoderen 41 til å lese blokken med kvantiserte DCT koeffisienter. De kvantiserte DCT koeffisienter i blokken med kvantiserte DCT koeffisienter Cb blir kjøre/nivåkodet.
IVLC 32 frembringer også hendelsesantallsignalet EVENTNO som føres til kjøre/ nivådekoderen 41 som vist på fig 21B. Hendelsesantallsignalet angir antallet av kjøre/nivå-par i blokken med kvantiserte DCT koeffisienter Cb, dvs antallet av par med data som angir kjøring og nivå.
Når kjøre/nivådekoderen 41 mottar hendelsesantallsignalet EVENT NO mater den et signal RE_REQ med anmodning om utlesning for hvert kjøre/nivåpar tilbake til den inverse variabel lengdekoder 32 som vist på fig 21C. Hver gang den mottar signalet REREQ med anmodning om utlesning mater invers variabel lengdekoder 32 et kjøre/ nivåpar til kjøre/nivådekoderen 21 som vist på figurene 21D og 21E. Således mater IVLC 32 til kjøre/nivådekoderen 41 antallet av kjøre/nivåpar som tilsvarer antallet av
. signalet med anmodning om utlesning den mottar.
Kjøre/nivådekoderen 41 dekoder kjøre/nivåkodingen av de kjøre/nivåkodede kvantiserte DCT koeffisienter for å avgi en blokk med kvantiserte DCT koeffisienter i et sikk-sakk avsøkningsmønster som WDATA til det første blokkminne 42 som vist på fig 21G. Samtidig, som vist på fig 21 F, teller adressetelleren 47 de kvantiserte DCT koeffisienter fra kjøre/ni vådekodere og mater adressesignalet adrsl i sikk-sakk avsøkningsmønster noe som angir skriveadressene for hver kvantisert DCT koeffisient, via velgeren 49 til det første blokkminne 42.
Når kjøre/nivådekoderen 41 mottar EOB koden fra IVLC 32, noe som angir at den har mottatt den siste DCT koeffisient som ikke er null, stiller kjøre/ni vådekodere den kvantiserte DCT koeffisient svarende til EOB koden og alle de følgende kvantiserte DCT koeffisienter til null og mater disse null DCT koeffisienter inn i det første blokkminne 42. Når den mottar EOB koden vil kjøre/nivådekoderen 41 også mate signalet EOBEN
til posisjonsregisteret (POS REG) 44 og 45 som vist på fig 21H. EOB EN signalet angir til posisjonsregistrene at EOB koden er blitt mottatt. Posisjonsregistrene mottar også fra adressetelleren 47 via adresseomformeren 48 adressen for hver kvantisert DCT
koeffisient som er matet til det første og andre blokkminne 42 og 43. Når kjøre/nivådekoderen mottar EOB koden vil adressen som frembringes av adressetelleren 47 være adressen for den siste koeffisient som ikke er null. EOB EN signalet fører til at adressen, EOB_POS for den siste koeffisient som ikke er null, omformet til en rasteravsøkt adresse
i omformeren 48 blir skrevet inn i posisjonsregistret for blokkminne hvori blokken med kvantiserte DCT koeffisienter er skrevet. Et av POS registrene 44 og 45 vil dermed lagre adressen for den siste koeffisient som ikke er null i blokken med kvantiserte DCT koeffisienter.
Når kjøre/nivådekoderen 41 har matet den fullstendige blokk med kvantiserte DCT koeffisienter i det første blokkminne 42 eller det andre blokkminne 43 fører adressetelleren 47 BANK vekslingssignalet til det første blokkminne 42 og det andre blokkminne 43. BANK signalet veksler modus for blokkminnene slik at det første blokkminne som tidligere var i skrivemodus veksler til lesemodus og det andre blokkminne blir vekslet til skrivemodus. Når kjøre/nivådekoderen 41 dekoder den neste blokk med kvantiserte DCT koeffisienter vil således de resulterende kvantiserte DCT koeffisienter bli skrevet inn i det andre blokkminne 43. BANK signalet veksler også over velgeren 49 slik at adressene som ble matet til blokkminnet i skrivemodus er adressene i sikk-sakk avsøkningsmønster fra adressetelleren 47 og adressene som ble matet til blokkminnet i lesemodus er adressene i rasteravsøkningsmønsteret fra adresseomformeren 48.
Dessuten, når kjøre/nivådekoderen 41 har matet de fullstendige blokker med kvantiserte DCT koeffisienter inn i det første blokkminne 42 vil det første blokkminne 42 mate signalet FULL1 for fullt minne til den inverse kvantiserer 46. Signalet for fullt minne angir at de kvantiserte DCT koeffisienter i blokken er blitt lagret. Når IQ 46 mottar signalet FULL1 om fullt minne sender den signalet RD_EN med anmodning om utlesning til det første blokkminne 42. Signalet med anmodning om utlesning får det første blokkminne til ålese ut de kvantiserte DCT koeffisienter som er lagret i dette som reaksjon på de adresser adrsl som foreligger i rasteravsøkningsmønster fra adresseomformeren 48 via velgeren 49. Som en følge av dette blir de kvantiserte DCT koeffisienter i blokken lest ut av det første blokkminne 42. De DCT koeffisienter som blir lest ut ved påvirkning fra hver adresse blir matet til den inverse kvantiserer 46.
Samtidig med at de kvantiserte koeffisienter i blokken blir lest ut fra det første blokkminne 42 blir de kvantifiserte koeffisienter i den neste blokk skrevet i sikk-sakk avsøkningsmønster inn i det andre blokkminne 43 ved påvirkning fra adressene fra adressetelleren 47.
Den inverse kvantiserer 46 kvantiserer inverst de kvantiserte DCT koeffisienter i blokken med kvantiserte DCT koeffisienter på en måte som svarer til den inverse kvantiserer 13 i kompressoren for signalet til levende bilder som beskrevet ovenfor i forbindelse med fig 6. Den resulterende blokk med DCT koeffisienter blir matet til den sumoddifiserende krets 35.
Når pariteten for summen av DCT koeffisienter i blokken er et partall vil den sumoddifiserende krets 35 behandle minst én av DCT koeffisientene i blokken for å oddifisere summen av DCT koeffisientene i blokken på en måte som svarer til den sumoddifiserende krets 14 i kompressoren for signalet til levende bilde som beskrevet ovenfor. Den resulterende blokk med sumoddifiserte DCT koeffisienter blir matet til IDCT kretsen 36. For eksempel kan den sumoddifiserende krets 35 henvise til POS registerene 44 og 45 for å bestemme om den løpende DCT koeffisient er den siste koeffisient som ikke er null i sikk-sakk avsøkningsmønsteret eller ikke slik at den sumoddifiserende krets kan endre pariteten for den siste DCT koeffisient som ikke er null for dermed å oddifisere summen av DCT koeffisienter i blokken. Som et alternativ kan de sumoddifiserende kretser 35 virke på den DCT koeffisient som har den høyeste frekvenskompoent for å oddifisere summen av DCT koeffisienter. Invertertering av pariteten for DCT koeffisienten med den høyeste frekvenskomponent kan være å foretrekke fordi den høyeste frekvenskomponent har en liten innvirkning på bildekvaliteten og det er her ikke nødvendig å bestemme hvilken av DCT koeffisientene som er den siste koeffisient som ikke er null. Dette gjelder også når avsøkningsmønstret er et annet enn sikk-sakk avsøkningsmønster.
Det skal påpekes at for å unngå avrundingsfeil må sumoddifiseringsoperasjonene som foretas i kompressoren for signalet til levende bilde og i ekspansjonsanordningen for det komprimerte signal for levende bilde være lik hverandre.
Oppbygningen av en andre utførelse av kompressoren for signalet til levende bilde er vist på fig 22. Den andre utførelse er en foretrukken utførelse av oppfinnelsen. Oppbygningen av den sumoddifiserende krets 50 i kompressoren for signalet til levende bilde som er vist på fig 22 er vist på fig 23. Deler av den andre utførelse av kompressoren for signalet til levende bilde som svarer til delene i den første utførelse av kompressoren for signalet til levende bilde som er vist på fig 6 er angitt med samme henvisningstall og vil ikke bli beskrevet på nytt her. Den andre utførelse skiller seg fra den første utførelse når det gjelder oppbygningen av den sumoddifiserende krets 50.1 den sumoddifiserende krets 50 som er vist i detalj på fig 23 teller telleren 20 antallet av DCT koeffisienter som blir mottatt av den inverse kvantiserer 13 og mater den resulterende tellede verdi koeff adrs til paritetsvurderingskretsen 21.
Akkumulatoren 23A omfatter addereren 23 og registeret 24. Addereren 23 adderer hver DCT koeffisient i en blokk med DCT koeffisienter som mottas fra den inverse kvantiserer 13 til summen av de allerede mottatte DCT koeffisienter i den blokk som er lagret i registeret 24. Registeret 24 blir tilbakestilt etter at summen er blitt bestemt for hver blokk med DCT koeffisienter. Den resulterende sum av DCT koeffisienter føres fra addereren 23 til registeret 24 og til den paritetsvurderende krets 21. Akkumulatoren 23A trenger bare å summere de minst signifikante biter av DCT koeffisientene i blokken for å frembringe et resultat som er egnet for paritetsvurderingskretsen til bestemmelse om pariteten i summen av DCT koeffisienter er en oddetallsverdi eller partallsverdi.
Den paritetsvurderende krets 21 trer i virksomhet ved påvirkning fra telleverdien koeff_adrs som mottas fra telleren 20 på følgende måte. Når telleverdien angir at alle DCT koeffisienter i blokken er blitt summert i akkumulatoren 23 A vil den paritetsvurderende krets 21 bestemme om pariteten for summen av DCT koeffisienter som blir mottatt fra akkumulatoren 23A har oddetallsverdi eller partallsverdi. For eksempel, når det gjelder en todimensjonal 8x8 DCT transform vil den paritetsvurderende krets 21, når telleverdien angir at summen av de 64 DCT koeffisienter i blokken er blitt bestemt, bestemme om pariteten for summen av DCT koeffisienter som er mottatt fra akkumulatoren 23 A har oddetallsverdi eller partallsverdi.
Når DCT koeffisientene i praksis er representert med binære tall vil den paritetsvurderende krets 21 eksaminere den minst signifikante bit (LSB) i summen av DCT koeffisienter som er mottatt fra akkumulatoren 23 A. En LSB på null angir at pariteten i summen er en partallsverdi. I dette tilfelle vil den paritetsvurderende krets 21 mate signalet REQ1 med anmodning om behandling til paritetsinvertereren 53 for å få paritetsinvertereren til å utføre en paritetsinverterende operasjon. Ved påvirkning fra signalet REQ1 med anmodning om behandling inverterer paritetsinvertereren 53 pariteten for minst en (dvs et ulike antall) av DCT koeffisientene i blokken for å oddifisere summen av DCT koeffisienter. På den annen side vil en LSB lik én angi at pariteten i summen er en oddetallsverdi. I dette tilfelle frembringer paritetsvurderingskretsen 53 ikke noe signal REQ1 med anmodning om behandling og paritetsinvertereren 53 lar pariteten for alle DCT koeffisienter i blokken være uforandret fordi pariteten for summen av DCT koeffisienter allerede er et oddetall.
Blokken med DCT koeffisienter blir matet fra den inverse kvantiserer 13 ikke bare til akkumulatoren 23A men også til paritetsinvertereren 53 via forsinkelseskretsen 52. Forsinkelseskretsen 52 forsinker DCT koeffisientene i blokken med en tid som svarer til behandlingstiden for akkumulatoren 23A og paritetsvurderingskretsen 21 slik at den siste DCT koeffisient, dvs. koeffisienten med høyest frekvens (f.eks DCT koeffisienten for komponenten (7,7) i en 8 x 8 DCT transform) kommer frem til paritetsinvertereren 53 samtidig med signalet REQ1 med anmodning om behandling.
Paritetsinvertereren 53 vil dermed mate alle DCT koeffisienter bortsett fra den koeffisient med høyest frekvens uforandret til IDCT kretsen 15. Når den paritetsvurderende krets 21 ikke har frembragt noe signal REQ1 med anmodning om behandling vil paritetsinvertereren 53 også mate DCT koeffisienten med den høyeste frekvens uforandret til IDCT kretsen. Bare når paritetsvurderingskretsen 21 har frembragt signalet REQ1 med anmodning om behandling, vil paritetsinvertereren 53 også mate DCT koeffisienten med den høyeste frekvens uforandret til IDCT kretsen. Bare når den paritetsvurderende krets 21 har frembragt signalet REQ1 med anmodning om behandling vil paritetsinvertereren 53 vende om den minst signifikante bit (LSB) for DCT koeffisienten med den høyeste frekvens og mate den paritetsinverterte DCT koeffisient med høyest frekvens til IDCT kretsen 15. Når således den paritetsvurderende krets 21 angir at pariteten for summen av DCT koeffisientene i blokken er et partall vil paritetsinvertereren 53 behandle den DCT koeffisient som har den høyeste frekvens (f.eks DCT koeffisienten for (7,7) komponenten i en 8 x 8 DCT transform) i blokken. Paritetsinvertereren vender om pariteten for DCT komponent som har høyest frekvens og vil dermed oddifisere summen av DCT koeffisienter i blokken med DCT koeffisienter som blir matet til IDCT kretsen 15. Dermed vil pariteten for summen av DCT koeffisientene i blokken med DCT koeffisienter alltid være et oddetall. DCT koeffisienten for (7,7) komponenten er den koeffisient som har den minste innvirkning på utgangsverdiene for IDCT.
Ytterligere eksempler på den sumoddifiserende krets 15 ifølge den foretrukne utførelse av oppfinnelsen vil nå bli beskrevet.
Figur 24 viser et eksempel der LSB detektoren 23 og den Eksklusiv-ELLER (EXOR) porten 30 er satt i stedet for addereren 23 på fig 23. De deler i kretsen som er vist på fig 24 som tilsvarer delene i den krets som er vist på fig 23 er betegnet med samme henvisningstall og vil ikke her bli beskrevet på nytt. LSB detektoren påviser den minst signifikante bit (LSB) for hver DCT koeffisient i blokken og EXOR kretsen 30 og registeret 24 vil sammen bestemme den eksklusive logiske sum av de minst signifikante biter for DCT koeffisientene i blokken. Pariteten for den eksklusive logiske sum blir bestemt av den paritetsvurderende krets 21 som beskrevet ovenfor under henvisning til
figurene 10A og 23.
Som et alternativ kan OG porten 88 og telleren 89 som er vist på fig 10B bli erstattet med Eksklusiv- ELLER porten 30 og det register 24 som er vist på fig 24.
Et annet eksempel er vist på fig 25. Her er velgeren 51 innskutt mellom den inverse
kvantiserer 13 og akkumulatoren 23A i den sumoddifiserende krets 50 som er vist på fig 23. Deler i den krets som er vist på fig 25, som svarer til delene i den krets som er vist på fig 23 er angitt med samme henvisningstall og vil ikke bli beskrevet på nytt her. Kretsen som er vist på fig 25 bestemmer summen av DCT koeffisienter for bare bestemte koeffisienter f.eks (0,0) komponenten, (4,0) komponenten, (0,4) komponenten og (4,4) komponenten for å bestemme om en oddifisering av summen er nødvendig. Velgeren 51 mottar telleverdiens koeff adrs fra telleren 20 for å bestemme om hver DCT koeffisient som mottas fra den inverse kvantiserer 13 er en av de bestemte koeffisienter eller ikke og derfor skal summeres opp. Når velgeren bestemmer at DCT koeffisienten er en av de bestemte koeffisienter og skal summeres, dvs at telleverdiens koeff adrs har en verdi svarende til f.eks (0,0) komponenten, (4,0) komponenten, (0,4) komponenten eller (4,4) komponenten overfører velgeren 51 DCT koeffisienten til akkumulatoren 23 A. Velgeren 51 sørger for at den sumoddifiserende krets som er vist på fig 25 bestemmer summen av de bestemte koeffisienter. Paritetsinvertereren 53 vil så arbeide på minst en av de bestemte DCT koeffisienter om nødvendig for å gjøre summen av den bestemte DCT koeffisient til et oddetall. Blokken med sumoddifiserte DCT koeffisienter blir så matet til IDCT kretsen 15.
Som et annet alternativ kan velgeren 51 som er vist på fig 25 innskytes i linjen mellom den inverse kvantiserer 13 og LSB detektoren 29 i den krets som er vist på fig 24. Kretsen som er vist på fig 24 vil modifisert på denne måte bestemme den eksklusive logiske sum for de minst signifikante biter (LSB) for de bestemte DCT koeffisienter som er valgt av velgeren.
I en ytterligere alternativ utførelse av den sumoddifiserende krets 50, når den siste DCT koeffisient som blir mottatt fra den inverse kvantiserer 13 er DCT koeffisienten for DC komponenten, dvs når rekkefølgen av rasteravsøkningen er mottsatt den av utførelses-formene som er beskrevet ovenfor, vil DCT koeffisienten som er blitt underkastet paritetsinverteringen, ikke være den DCT komponent som har høyest frekvens, men DCT koeffisienten for komponenten.
Et eksempel på den praktiske oppbygning av kretsen for paritetsinvertereren 53 vil nå bli beskrevet med henvisning til fig 26. Paritetsinvertereren 53 er en forenklet versjon av den ovenfor beskrevne paritetsinverterer 28 som er vist på fig 11. Paritetsinvertereren 53 innbefatter LSB invertereren 63, de tredje og fjerde OG porter 64 og 65, ELLER porten 66 og invertereren 71.
I paritetsinvertereren 53 vil LSB invertereren 63 invertere LSB for hver DCT koeffisient i blokken med DCT koeffisienter som blir mottatt fra den inverse kvantiserer 13. Dette inverterer pariteten for hver DCT koeffisient. Normalt er signalet REQ1 med anmodning om behandling fraværende slik at paritetsinvertereren mater hver DCT koeffisient som er mottatt til IDCT kretsen 15 (fig 23) via den tredje OG port 64 og ELLER porten 69.
Når den DCT koeffisient som har høyest frekvens i blokken blir mottat av den sumoddifiserende krets 50 (fig 23) vil telleverdiens koeff_adrs fra telleren 20 angi for paritetsvurderingskretsen 21 at den verdi som er mottatt av den paritetsvurderende krets er summen av alle DCT koeffisienter i blokken. Som reaksjon på dette bestemmer den paritetsvurderende krets om pariteten for summen av DCT koeffisienter er et oddetall eller partall.
Når den paritetsvurderende krets 21 bestemmer at pariteten for summen av DCT koeffisienter i blokken er et partall mater den signalet REQ1 med anmodning om behandling til paritetsinvertereren 53. Signalet med anmodning om behandling overføres til paritetsinvertereren 53 via forsinkelseskretsen 52 samtidig med den DCT koeffisient som har høyest frekvens. Signalet REQ1 med anmodning om behandling forandrer tilstanden for de tredje og fjerde OG porter 64 og 65. Dette mater den LSB-inverterte DCT koeffisient med høyest frekvens fra LSB invertereren 63 til IDCT kretsen 15 via den fjerde OG port 65 og ELLER porten 69. Den LSB-inverterte DCT koeffisient med høyest frekvens blir matet til IDCT kretsen i stedet for den normale DCT koeffisient med høyest frekvens for åoddifisere summen av DCT koeffisienter som er matet til IDCT kretsen.
Når på den annen side den paritetsvurderende krets 21 bestemmer at pariteten for summen av DCT koeffisienter i blokken er et oddetall blir signalet med anmodning om behandling ikke frembragt. Paritetsinvertereren 53 mater den normale DCT koeffisient med høyest frekvens til IDCT kretsen 15 via OG porten 64 og ELLER porten 69 siden sumoddifisering av blokken av DCT koeffisienter ikke er nødvendig.
Modifikasjoner av det praktiske eksempel på paritetsinverterer 53 som er vist på fig 26 er
gjengitt på figurene 27 til 29.
Figur 27 viser +1 addereren 73 som tilsvarer +1 addereren som er vist på fig 13 som har erstattet LSB invertereren 63 i paritetsinvertereren som er vist på fig 26. Kretsen forøvrig er uforandret. Paritetsinvertereren som er modifisert som vist på fig 27 inverterer pariteten for hver DCT koeffisient i blokken ved tilføyelse av en éner. Når således den paritetsvurderende krets 21 mater signalet REQ1 med anmodning om behandling til paritetsinvertereren, vil paritetsinvertereren mate til IDCT kretsen 15 den DCT koeffisient som har høyest frekvens med en éner tilføyet i stedet for den normale DCT koeffisient med høyest frekvens. Denne utbytning oddifiserer summen av DCT koeffisienter i blokken.
Som vist på fig 28 kan den verdireduserende krets 80 som er vist på fig 15 byttes ut med LSB invertereren 63 i den krets som er vist på fig 26. Kretsen som er vist på fig 26 er forøvrig uendret. Paritetsinvertereren som er vist på fig 26, modifisert som vist på fig 28 oddifiserer summen av DCT koeffisientene ifølge ligning (15) som er beskrevet ovenfor. Når den paritetsvurderende krets 21 frembringer signalet REQ1 med anmodning om behandling vil summen av DCT koeffisienter i blokken bli oddifisert ved overføring av den DCT koeffisient som har høyest frekvens og har sin paritet invertert, til IDCT kretsen 15. Pariteten for DCT koeffisienten med høyest frekvens blir invertert på en av to måter: en éner blir subtrahert fra DCT koeffisienten som har høyest frekvens av -1 subtrahereren 82 når DCT koeffisienten med høyest frekvens er positiv eller en éner blir tilføyet den DCT koeffisient som har høyest frekvens av +1 addereren 63 når DCT koeffisienten med høyest frekvens er null eller negativ.
Som vist på fig 29 kan den verdiøkende krets 90 som er vist på fig 17 være erstatning for LSB invertereren 63 i kretsen på fig 26. Kretsen som er vist på fig 26 er forøvrig uendret. Paritetsinvertereren som er vist på fig 26, modifisert som vist på fig 29 oddifiserer summen av DCT koeffisientene ifølge ligning (16) som er beskrevet ovenfor. Når den paritetsvurderende'krets 21 frembringer signalet REQ1 med anmodning om behandling blir summen av DCT koeffisienter i blokken oddifisert ved mating av den DCT koeffisient med høyest frekvens som har sin paritet invertert, til IDCT kretsen 15. Pariteten for DCT koeffisienten med høyest frekvens blir invertert på en av to måter: en éner blir subtrahert fra koeffisienten med høyest frekvens av -1 subtrahereren 93 når den DCT koeffisient som har høyest frekvens er null eller negativ, eller en éner blir tilføyet den DCT koeffisient som har høyest frekvens av +1 addereren 92 når den DCT koeffisient som har høyest frekvens er positiv.
En andre utførelse av ekspansjonsanordningen for det komprimerte signal for levende bilde vil nå bli beskrevet.
I den andre utførelse av ekspansjonsanordningen for det komprimerte signal for levende bilde, er den sumoddifiserende krets 50 erstatning for den sumoddifiserende krets 35 i den første utførelsesform av dekoderen for det komprimerte signal for levende bilde som er vist og beskrevet med henvisning til fig 19. Kretsen som er vist på fig 19 er ellers uforandret. I den andre utførelse av ekspansjonsanordningen for det komprimerte signal for levende bilde blir prosessen med å oddifisere summen av DCT koeffisientene utført på en måte som svarer til den behandling som utføres av den sumoddifiserende krets i den andre utførelsesform av kompressoren for signalet for levende bilde som er vist i og beskrevet med henvisning til fig 22. Dermed blir det med den andre utførelse av ekspansjonsanordningen for det komprimerte signal for levende bilde unødvendig å mate adressen EOB adrs fra nevnte invers variabel lengdekoder 32 til den sumoddifiserende krets 50.
Oppfinnelsen som er beskrevet ovenfor gjøre det mulig å komme frem til en invers diskret cosinus transform metode og en invers cosinus transformanordning, en kompressor for signal til levende bilde, en ekspansjonsanordning for det komprimerte signal for levende bilde og en senderanordning for et komprimert signal for levende bilde, der sannsynligheten for at en avrundingsfeil skal oppstå i løpet av den inverse diskrete cosinus transformprosess er redusert til det punkt der en avrundingsfeil ikke opptrer i praksis. Videre gjør oppfinnelsen det mulig å komme frem til et innspillingsmedium der ingen avrundingsfeil oppstår når et komprimert signal for levende bilde reproduseres fra innspillingsmediet og blir ekspandert ved behandling som innbefatter en invers ortogonal transform.
Når en diskret cosinus transform er benyttet til komprimering av signalet for levende bilde og en invers diskret cosinus transform benyttes ved ekspansjon av det komprimerte signal for levende bilde gjør oppfinnelsen det mulig å forhindre at avrundingsfeil med invers diskret cosinus transform oppstår. Dette motvirker forringelse av bildekvalitet. I en kompressor for et signal for levende bilde og i en ekspansjonsanordning for et komprimert signal for levende bilde som oppfinnelsen er tatt i bruk for vil det således ikke være noen mulighet tilstede for at lokalt dekodede bilder i kompressoren og bilder som er rekonstruert av ekspansjonsanordningen er forskjellige fra hverandre. Dermed oppnås en høy bildekvalitet.

Claims (21)

1. Fremgangsmåte til behandling av et sett transformkoeffisienter der hver av transformkoeffisientene har paritet, for å frembringe et feilimmunt sett med transformkoeffisienter til behandling med en invers ortogonal transform, der det feilimmune sett med transformkoeffisienter er immunt overfor avrundingsfeil når det underkastes den inverse ortogonale transform, karakterisert ved at fremgangsmåten omfatter følgende trinn: - å summere transformkoeffisientene for å gi en sum der denne har paritet; - å vurdere summens paritet; - når pariteten for summen er et partall, å invertere pariteten av en av transformkoeffisientene for å danne en paritetsinvertert transformkoeffisient, hvilken paritetsinverterte transformkoeffisient gjør pariteten av summen til et oddetall; og - å frembringe transformkoeffisientene innbefattende den paritetsinverterte transformkoeffisient som et sett som er immunt mot feil.
2. Fremgangsmåte som angitt i krav 1, karakterisert ved- å behandle transformkoeffisienter som er resultat fra en todimensjonal diskret cosinus transform, idet settet med transformkoeffisienter innbefatter en transformkoeffisient som representerer en DC komponent; og - i trinnet med invertering av pariteten av en av transformkoeffisientene, å invertere pariteten for en av transformkoeffisientene som er en annen en transformkoeffisienten som representerer DC komponenten.
3. Fremgangsmåte som angitt i krav 2, karakterisert ved at settet med transformkoeffisienter også innbefatter en transformkoeffisient som representerer en komponent med høyeste frekvens; og - i trinnet med invertering av pariteten for en av transformkoeffisientene, å invertere pariteten for den transformkoeffisient som representerer komponenten med høyest frekvens.
4. Fremgangsmåte som angitt i krav 3, karakterisert ved at hver transformkoeffisient i settet er representert med et binært tall med en minst signifikant bit; og - i trinnet med invertering av pariteten for en av transformkoeffisientene, å invertere den minst signifikante bit for en av transformkoeffisentene.
5. Fremgangsmåte som angitt i krav 2, karakterisert ved at hver transformkoeffisient i settet har en polaritet, og at trinnet med invertering av pariteten for en av transformkoeffisientene innbefatter følgende trinn: - å bestemme polariteten for en av transformkoeffisientene, når polariteten er negativ, - å tilføye en på forhånd bestemt oddetallsverdi til den ene av fransformkoeffisientene, og - når polariteten er positiv, å subtrahere den på forhånd bestemte oddetallsverdi fra en av transformkoeffisientene.
6. Fremgangsmåte som angitt i krav 2, karakterisert ved i tillegg å motta transformkoeffisientene i settet i seriemessig rekkefølge, idet transformkoeffisientene har en sist mottatt transformkoeffisient, og i trinnet med invertering av pariteten av en av transformkoeffisientene, å invertere pariteten for den sist mottatte transformkoeffisient.
7. Fremgangsmåte som angitt i krav 1, karakterisert ved at alle transformkoeffisienter i settet har en verdi som avviker fra null.
8. Fremgangsmåte som angitt i krav 1, karakterisert ved at hver transformkoeffisient i settet er representert av et binært tall med en minst signifikant bit, og at i trinnet med summering av transformkoeffisienten summeres bare den minst signifikante bit for hver transformkoeffisient.
9. Fremgangsmåte som angitt i krav 1,karakterisert ved at den videre omfatter trinnet med å velge ut transformkoeffisientene i settet fra en blokk med transformkoeffisienter.
10. Anordning til forbehandling av et sett med transformkoeffisienter, der hver av transformkoeffisientene har paritet for å frembringe et feilimmunt sett med transformkoeffisienter til behandling med en invers ortogonal transform, der det feilimmune sett med transformkoeffisienter er immunt mot avrundingsfeil når det underkastes den inverse ortogonale transform, karakterisert ved at den omfatter: - en akkumulator, der akkumulatoren mottar hver av transformkoeffisientene i settet og frembringer en sum som har paritet; - anordning til paritetsvurdering, som mottar summen fra akkumulatoren for vurdering av summens paritet; paritetsinvertererende anordning som bare trer i virksomhet når den paritetsvurderende anordning finner at pariteten i summen er et partall, for invertering av pariteten av en av transformkoeffisientene for å danne en paritetsinvertert transformkoeffisient, der den paritetsinverterte transformkoeffisient gjør pariteten av summen til et oddetall, og - anordning til frembringelse av transformkoeffisientene innbefattende den paritetsinverterte transformkoeffisient som det feilimmune sett.
11. Anordning som angitt i krav 10, karakterisert ved- at anordningen er beregnet til forbehandling av et sett transforrnkoeffisienter som er frembragt ved todimensjonal diskret cosinus transform; - at settet med transformkoeffisienter innbefatter en transformkoeffisient som representerer en DC komponent; og - at den paritetsinvertererende anordning er beregnet på invertering av pariteten for en av transformkoeffisentene som er en annen enn den transformkoeffisient som representerer DC komponenten.
12. Anordning som angitt i krav 11, karakterisert ved : - at settet med transformkoeffisienter også innbefatter en transformkoeffisient som representerer en komponent med høyest frekvens, og - at den paritetsinvertererende anordning er beregnet på invertering av pariteten for den transformkoeffisient som representerer komponenten med høyest frekvens.
13. Anordning som angitt i krav 12, karakterisert ved- at hver transformkoeffisient i settet er representert med et binært tall som har en minst signifikant bit; og - at den paritetsinvertererende anordning innbefatter innretninger til invertering av den minst signifikante bit av en av transformkoeffisientene.
14. Anordning som angitt i krav 10, karakterisert ved- at hver transformkoeffisient i settet er representert av et binært tall med en minst signifikant bit; og -at akkumulatoren har innretning til summering av bare den minst signifikante bit i hver transformkoeffisient.
15. Anordning som angitt i krav 10, karakterisert ved at anordningen i tillegg omfatter innretninger til valg av transformkoeffisienter i settet fra en blokk med transformkoeffisienter.
16. Fremgangsmåte til ortogonal transformering av et sett transformkoeffisienter uten innføring av avrundingsfeil, der hver av transformkoeffisientene er representert av et binært tall som har en minst signifikant bit, karakterisert ved at fremgangsmåten omfatter følgende trinn: - å bestemme den minst signifikante bit for hver av transformkoeffisientene; - å telle de transformkoeffisienter som har en minst signifikant bit lik en for å danne en telling; - å vurdere når tellingen er et partall; - når tellingen er et partall, å endre en av transformkoeffisientene for å frembringe en endret transformkoeffisient, der den endrede transformkoeffisient gjør tellingen til et oddetall; og - å transformere inverst ortogonalt settet av transformkoeffisienter innbefattende den endrede transformkoeffisient.
17. Anordning til invers ortogonal transformering av et sett med transformkoeffisienter uten innføring av avrundingsfeil, der hver av transformkoeffisientene har paritet, karakter isert ved at anordningen omfatter: - en innretning for summering av transformkoeffisientene for åfrembringe en sum, der summen har paritet; - paritetsvurderende innretning for vurdering av summens paritet; - sumoddifiserende innretning som trer i virksomhet når den paritetsvurderende innretning finner at pariteten for summen er et partall, for invertering av pariteten for en av transformkoeffisientene for å danne en paritetsinvertert transformkoeffisient, hvilken paritetsinvertert transformkoeffisient gjør summen til et oddetall; og - en invers ortogonal transformkrets som mottar settet med transforrnkoeffisienter, innbefattende den paritetsinverterte transformkoeffisient fra den sumoddifiserende innretning.
18. Anordning som angitt i krav 17, karakterisert ved at den oddifiserende anordning føyer en éner til en av transformkoeffisientene når den paritetsvurderende innretning finner at pariteten for summen er et partall.
19. Anordning som angitt i krav 17, karakterisert ved : - at hver transformkoeffisient har en polaritet; og - at den sumoddifiserende innretning innbefatter: - polaritetsbestemmende innretning til bestemmelse av polariteten for hver transformkoeffisient, innretning som trer i virksomhet for tilføyelse av en éner til transformkoeffisienten når den polaritetsbestemmende innretning finner at polariteten for fransformkoeffisienten er positiv og for å subtrahere en éner fra transformkoeffisienten når den polaritetsbestemmende innretning finner at polariteten for transformkoeffisienten er negativ.
20. Anordning som angitt i krav 17, karakterisert ved : - at hver transformkoeffisient er representert av et binært tall med en minst signifikant bit (LSB); og - at den paritetsvurderende anordning omfatter: - en LSB påvisningsinnretning til påvisning av den minst signifikante bit for hver transformkoeffisient; - en logisk eksklusiv-ELLER port innbefattende en første inngang som mottar den minst signifikante bit i hver transformkoeffisient fra den LSB påvisende innretning, en andre inngang og en utgang; - et register med en inngang forbundet med utgangen fra nevnte eksklusiv-ELLER port og en utgang forbundet med den andre inngang til nevnte eksklusiv-ELLER port; og en paritetsvurderende krets forbundet med registerets utgang.
21. Anordning til invers ortogonal transformering av et sett med transformkoeffisienter uten innføring av avrundingsfeil, der av transformkoeffisientene er representert med et binært tall innbefattende en minst signifikant bit med en tilstand, karakterisert ved at den omfatter: - innretning til vurdering av den minst signifikante bit for vurdering av tilstanden for den minst signifikante bit i hver transformkoeffisient; - telleinnretning til frembringelse av en telling ved telling av transformkoeffisientene hvorav den minst signifikante bit blir vurdert av nevnte innretning for vurdering av den minst signifikante bit for å være i den ene tilstand; - tellingsvurdererende innretning for vurdering av når tellingen fra telleinnretningen er et partall; telleoddifiseirngsinnretning som trer i virksomhet når tellevurderingsinnretningen finner at tellingen er et partall for endring av en av transformkoeffisientene til frembringelse av en endret transformkoeffisient slik at den endrede transformkoeffisient gjør tellingen til et oddetall; og - en invers ortogonal transformkrets som mottar settet med transformkoeffisienter innbefattende den endrede transformkoeffisient, fra den tellings-oddifiserende innnretningen.
NO19944138A 1993-03-01 1994-10-31 Fremgangsmåte og anordning til behandling av et sett av transformkoeffisienter NO314709B1 (no)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP4020393 1993-03-01
JP5990993 1993-03-19
PCT/JP1994/000329 WO1994021083A1 (en) 1993-03-01 1994-03-01 Methods and apparatus for preventing rounding errors when transform coefficients representing a motion picture signal are inversely transformed

Publications (3)

Publication Number Publication Date
NO944138D0 NO944138D0 (no) 1994-10-31
NO944138L NO944138L (no) 1994-12-23
NO314709B1 true NO314709B1 (no) 2003-05-05

Family

ID=26379647

Family Applications (2)

Application Number Title Priority Date Filing Date
NO19944138A NO314709B1 (no) 1993-03-01 1994-10-31 Fremgangsmåte og anordning til behandling av et sett av transformkoeffisienter
NO20010762A NO314710B1 (no) 1993-03-01 2001-02-15 Anordning og fremgangsmåte til komprimering av et signal for levende bilde,og anordning til ekspansjon et komprimert signal for levendebilde

Family Applications After (1)

Application Number Title Priority Date Filing Date
NO20010762A NO314710B1 (no) 1993-03-01 2001-02-15 Anordning og fremgangsmåte til komprimering av et signal for levende bilde,og anordning til ekspansjon et komprimert signal for levendebilde

Country Status (29)

Country Link
US (2) US5481553A (no)
EP (5) EP2276258B1 (no)
JP (2) JP3610578B2 (no)
KR (1) KR100287490B1 (no)
CN (1) CN1076935C (no)
AT (2) ATE185663T1 (no)
AU (1) AU673244B2 (no)
BR (1) BR9404321A (no)
CA (1) CA2134444C (no)
DE (2) DE69421135T2 (no)
DK (5) DK2276258T3 (no)
EG (1) EG20330A (no)
ES (5) ES2389797T3 (no)
FI (1) FI112579B (no)
GR (1) GR3032133T3 (no)
HK (2) HK1013575A1 (no)
HU (1) HU217744B (no)
IL (1) IL108787A (no)
MY (1) MY110794A (no)
NO (2) NO314709B1 (no)
NZ (1) NZ261907A (no)
OA (1) OA10108A (no)
PL (1) PL173287B1 (no)
PT (4) PT954182E (no)
RO (1) RO115926B1 (no)
RU (1) RU2119727C1 (no)
TR (1) TR28436A (no)
TW (1) TW224553B (no)
WO (1) WO1994021083A1 (no)

Families Citing this family (145)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5515388A (en) * 1993-03-19 1996-05-07 Sony Corporation Apparatus and method for preventing repetitive random errors in transform coefficients representing a motion picture signal
EP0671816B1 (en) * 1993-09-28 2000-03-29 Sony Corporation Encoding/decoding device with all odd or all even value rounding
US5796438A (en) * 1994-07-05 1998-08-18 Sony Corporation Methods and apparatus for interpolating picture information
JP3794502B2 (ja) 1994-11-29 2006-07-05 ソニー株式会社 画像領域抽出方法及び画像領域抽出装置
US5623423A (en) * 1994-12-12 1997-04-22 Univ. Of Texas Apparatus and method for video decoding
US5675666A (en) * 1995-03-02 1997-10-07 Sony Corportion Image data compression method and apparatus with pre-processing to compensate for the blocky effect
JP3855286B2 (ja) * 1995-10-26 2006-12-06 ソニー株式会社 画像符号化装置および画像符号化方法、画像復号化装置および画像復号化方法、並びに記録媒体
JPH09128529A (ja) * 1995-10-30 1997-05-16 Sony Corp ディジタル画像の雑音の投影に基づく除去方法
KR100355375B1 (ko) * 1995-11-01 2002-12-26 삼성전자 주식회사 영상부호화장치에있어서양자화간격결정방법및회로
JP3994445B2 (ja) * 1995-12-05 2007-10-17 ソニー株式会社 動きベクトル検出装置及び動きベクトル検出方法
US6256349B1 (en) * 1995-12-28 2001-07-03 Sony Corporation Picture signal encoding method and apparatus, picture signal transmitting method, picture signal decoding method and apparatus and recording medium
US6057893A (en) * 1995-12-28 2000-05-02 Sony Corporation Picture encoding method, picture encoding apparatus, picture transmitting method and picture recording medium
US5822005A (en) * 1996-01-11 1998-10-13 Tektronix, Inc. Pre-oddification
US5710732A (en) * 1996-04-22 1998-01-20 Samsung Electronics Co., Ltd. Calculating the average of four integer numbers rounded away from zero in a single instruction cycle
US5751617A (en) * 1996-04-22 1998-05-12 Samsung Electronics Co., Ltd. Calculating the average of two integer numbers rounded away from zero in a single instruction cycle
TW357327B (en) * 1996-08-02 1999-05-01 Sony Corp Methods, apparatus and program storage device for removing scratch or wire noise, and recording media therefor
US5930159A (en) * 1996-10-17 1999-07-27 Samsung Electronics Co., Ltd Right-shifting an integer operand and rounding a fractional intermediate result to obtain a rounded integer result
EP1689189A3 (en) 1996-11-07 2008-12-10 Panasonic Corporation Image encoder and image decoder
US5917739A (en) * 1996-11-14 1999-06-29 Samsung Electronics Co., Ltd. Calculating the average of four integer numbers rounded towards zero in a single instruction cycle
US6007232A (en) * 1996-11-14 1999-12-28 Samsung Electronics Co., Ltd. Calculating the average of two integer numbers rounded towards zero in a single instruction cycle
EP0786907A3 (en) * 1997-01-24 2001-06-13 Texas Instruments Incorporated Video encoder
EP2369847B1 (en) * 1997-02-13 2016-04-20 Mitsubishi Denki Kabushiki Kaisha Moving picture decoding method
WO1998041011A1 (en) * 1997-03-12 1998-09-17 Matsushita Electric Industrial Co., Ltd. Hdtv downconversion system
US6078616A (en) 1997-03-13 2000-06-20 Sony Corporation Methods and apparatus for error concealment utilizing temporal domain motion vector estimation
US6128340A (en) * 1997-03-14 2000-10-03 Sony Corporation Decoder system with 2.53 frame display buffer
AU1941797A (en) * 1997-03-17 1998-10-12 Mitsubishi Denki Kabushiki Kaisha Image encoder, image decoder, image encoding method, image decoding method and image encoding/decoding system
US5903311A (en) * 1997-05-30 1999-05-11 Sony Corporation Run level pair buffering for fast variable length decoder circuit
US7801380B2 (en) * 1997-06-09 2010-09-21 Hitachi, Ltd. Recording medium having recorded thereon coded information using plus and/or minus rounding of images
US6574371B2 (en) 1997-06-09 2003-06-03 Hitachi, Ltd. Image decoding method
EP1237376B1 (en) 1997-06-09 2015-08-05 Hitachi, Ltd. Image information recording medium
SE512171C2 (sv) * 1997-07-02 2000-02-07 Forskarpatent I Linkoeping Ab Videoöverföring
US6351563B1 (en) * 1997-07-09 2002-02-26 Hyundai Electronics Ind. Co., Ltd. Apparatus and method for coding/decoding scalable shape binary image using mode of lower and current layers
WO1999010719A1 (en) 1997-08-29 1999-03-04 The Regents Of The University Of California Method and apparatus for hybrid coding of speech at 4kbps
AU728938B2 (en) * 1997-09-29 2001-01-18 Canon Kabushiki Kaisha A method for data compression
US6937659B1 (en) 1997-11-14 2005-08-30 Ac Capital Management, Inc. Apparatus and method for compressing video information
US6222832B1 (en) * 1998-06-01 2001-04-24 Tantivy Communications, Inc. Fast Acquisition of traffic channels for a highly variable data rate reverse link of a CDMA wireless communication system
US6137844A (en) * 1998-02-02 2000-10-24 Oki Telecom, Inc. Digital filter for noise and error removal in transmitted analog signals
EP0936743A1 (fr) * 1998-02-17 1999-08-18 Koninklijke Philips Electronics N.V. Décodage itératif pour codes binaires en bloc
GB2335815B (en) * 1998-03-25 2002-02-27 Sony Uk Ltd Data compression
US6393155B1 (en) * 1998-11-04 2002-05-21 International Business Machines Corporation Error reduction in transformed digital data
US6256422B1 (en) * 1998-11-04 2001-07-03 International Business Machines Corporation Transform-domain correction of real-domain errors
EP1166566A2 (en) * 1999-04-01 2002-01-02 Ravisent Technologies, Inc. Memory management method for high speed streaming data processing in a computer device
US6567557B1 (en) 1999-12-10 2003-05-20 Stmicroelectronics, Inc. Method for preventing dual-step half-pixel motion compensation accumulation errors in prediction-rich MPEG-2 sequences
GB2352905B (en) * 1999-07-30 2003-10-29 Sony Uk Ltd Data compression
US6735249B1 (en) * 1999-08-11 2004-05-11 Nokia Corporation Apparatus, and associated method, for forming a compressed motion vector field utilizing predictive motion coding
US6377627B1 (en) 1999-08-31 2002-04-23 Sony Corporation Method and apparatus for decoding MPEG video data
US6456663B1 (en) 2000-03-29 2002-09-24 Matsushita Electric Industrial Co., Ltd. DCT domain down conversion system that compensates for IDCT mismatch
GB2364459B (en) * 2000-06-30 2004-03-31 Nokia Mobile Phones Ltd Video error resilience
US7168069B1 (en) 2000-07-12 2007-01-23 Stmicroelectronics, Inc. Dynamic generation of multimedia code for image processing
EP1176833A3 (en) * 2000-07-25 2012-06-27 Panasonic Corporation Image decoding method, image decoding apparatus, and data storage medium
FR2815748B1 (fr) * 2000-10-20 2003-01-24 Canon Kk Procede et dispositif de traitement et de decodage d'un signal numerique code
US8374237B2 (en) 2001-03-02 2013-02-12 Dolby Laboratories Licensing Corporation High precision encoding and decoding of video images
ES2665693T3 (es) 2001-11-06 2018-04-26 Panasonic Intellectual Property Corporation Of America Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento
KR100434740B1 (ko) * 2001-11-09 2004-06-10 주식회사 휴맥스 디지털 방송 프로그램에서의 저배속 재생방법
WO2003056838A1 (en) * 2001-12-25 2003-07-10 Matsushita Electric Industrial Co., Ltd. Moving picture compression/coding apparatus and motion vector detection method
KR100491530B1 (ko) 2002-05-03 2005-05-27 엘지전자 주식회사 모션 벡터 결정 방법
US7016547B1 (en) * 2002-06-28 2006-03-21 Microsoft Corporation Adaptive entropy encoding/decoding for screen capture content
US7433824B2 (en) * 2002-09-04 2008-10-07 Microsoft Corporation Entropy coding by adapting coding between level and run-length/level modes
ES2297083T3 (es) 2002-09-04 2008-05-01 Microsoft Corporation Codificacion entropica por adaptacion de la codificacion entre modos por longitud de ejecucion y por nivel.
KR100506864B1 (ko) 2002-10-04 2005-08-05 엘지전자 주식회사 모션벡터 결정방법
JP2006506929A (ja) * 2002-11-12 2006-02-23 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 変換ドメインのサンプル毎の判定帰還型等化器
US7292867B2 (en) * 2003-01-16 2007-11-06 Bones In Motion, Inc. Location-aware fitness training device, methods, and program products that support real-time interactive communication and automated route generation
US7403561B2 (en) * 2003-04-04 2008-07-22 Avid Technology, Inc. Fixed bit rate, intraframe compression and decompression of video
US7602851B2 (en) * 2003-07-18 2009-10-13 Microsoft Corporation Intelligent differential quantization of video coding
US7738554B2 (en) 2003-07-18 2010-06-15 Microsoft Corporation DC coefficient signaling at small quantization step sizes
US7580584B2 (en) * 2003-07-18 2009-08-25 Microsoft Corporation Adaptive multiple quantization
US10554985B2 (en) 2003-07-18 2020-02-04 Microsoft Technology Licensing, Llc DC coefficient signaling at small quantization step sizes
US8218624B2 (en) * 2003-07-18 2012-07-10 Microsoft Corporation Fractional quantization step sizes for high bit rates
US7688894B2 (en) * 2003-09-07 2010-03-30 Microsoft Corporation Scan patterns for interlaced video content
US7782954B2 (en) * 2003-09-07 2010-08-24 Microsoft Corporation Scan patterns for progressive video content
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
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
US7801383B2 (en) * 2004-05-15 2010-09-21 Microsoft Corporation Embedded scalar quantizers with arbitrary dead-zone ratios
US8331445B2 (en) * 2004-06-01 2012-12-11 Qualcomm Incorporated Method, apparatus, and system for enhancing robustness of predictive video codecs using a side-channel based on distributed source coding techniques
KR20070085310A (ko) * 2004-11-16 2007-08-27 코닌클리케 필립스 일렉트로닉스 엔.브이. 송신기측 채널 적응 비디오 전송
KR100669634B1 (ko) * 2004-12-06 2007-01-15 엘지전자 주식회사 동영상 압축 및 복원 방법
US8311119B2 (en) * 2004-12-31 2012-11-13 Microsoft Corporation Adaptive coefficient scan order
JP4270161B2 (ja) * 2005-04-15 2009-05-27 ソニー株式会社 情報記録再生システム、情報記録再生装置及び情報記録再生方法
US8422546B2 (en) 2005-05-25 2013-04-16 Microsoft Corporation Adaptive video encoding using a perceptual model
US7684981B2 (en) * 2005-07-15 2010-03-23 Microsoft Corporation Prediction of spectral coefficients in waveform coding and decoding
US7599840B2 (en) * 2005-07-15 2009-10-06 Microsoft Corporation Selectively using multiple entropy models in adaptive coding and decoding
US7693709B2 (en) 2005-07-15 2010-04-06 Microsoft Corporation Reordering coefficients for waveform coding or decoding
US8599925B2 (en) * 2005-08-12 2013-12-03 Microsoft Corporation Efficient coding and decoding of transform blocks
US7933337B2 (en) * 2005-08-12 2011-04-26 Microsoft Corporation Prediction of transform coefficients for image compression
US7565018B2 (en) * 2005-08-12 2009-07-21 Microsoft Corporation Adaptive coding and decoding of wide-range coefficients
US7995649B2 (en) 2006-04-07 2011-08-09 Microsoft Corporation Quantization adjustment based on texture level
US8130828B2 (en) 2006-04-07 2012-03-06 Microsoft Corporation Adjusting quantization to preserve non-zero AC coefficients
US8503536B2 (en) * 2006-04-07 2013-08-06 Microsoft Corporation Quantization adjustments for DC shift artifacts
US7974340B2 (en) * 2006-04-07 2011-07-05 Microsoft Corporation Adaptive B-picture quantization control
US8059721B2 (en) 2006-04-07 2011-11-15 Microsoft Corporation Estimating sample-domain distortion in the transform domain with rounding compensation
US8711925B2 (en) 2006-05-05 2014-04-29 Microsoft Corporation Flexible quantization
US8571340B2 (en) 2006-06-26 2013-10-29 Qualcomm Incorporated Efficient fixed-point approximations of forward and inverse discrete cosine transforms
US8606023B2 (en) 2006-06-26 2013-12-10 Qualcomm Incorporated Reduction of errors during computation of inverse discrete cosine transform
US8275045B2 (en) 2006-07-12 2012-09-25 Qualcomm Incorporated Video compression using adaptive variable length codes
US20080036864A1 (en) * 2006-08-09 2008-02-14 Mccubbrey David System and method for capturing and transmitting image data streams
US8325819B2 (en) 2006-10-12 2012-12-04 Qualcomm Incorporated Variable length coding table selection based on video block type for refinement coefficient coding
US9319700B2 (en) 2006-10-12 2016-04-19 Qualcomm Incorporated Refinement coefficient coding based on history of corresponding transform coefficient values
US8565314B2 (en) 2006-10-12 2013-10-22 Qualcomm Incorporated Variable length coding table selection based on block type statistics for refinement coefficient coding
US8599926B2 (en) 2006-10-12 2013-12-03 Qualcomm Incorporated Combined run-length coding of refinement and significant coefficients in scalable video coding enhancement layers
DE102006049232B4 (de) * 2006-10-18 2010-02-04 Ods Technology Gmbh Verfahren und Vorrichtung zur Vermeidung von Fehlern beim Runden von Werten nach Durchführung einer inversen diskreten Kosinus-Transformation
US8300698B2 (en) 2006-10-23 2012-10-30 Qualcomm Incorporated Signalling of maximum dynamic range of inverse discrete cosine transform
US8238424B2 (en) * 2007-02-09 2012-08-07 Microsoft Corporation Complexity-based adaptive preprocessing for multiple-pass video compression
US8184710B2 (en) * 2007-02-21 2012-05-22 Microsoft Corporation Adaptive truncation of transform coefficient data in a transform-based digital media codec
US8498335B2 (en) * 2007-03-26 2013-07-30 Microsoft Corporation Adaptive deadzone size adjustment in quantization
US8243797B2 (en) 2007-03-30 2012-08-14 Microsoft Corporation Regions of interest for quality adjustments
KR101442278B1 (ko) * 2007-03-30 2014-09-22 소니 주식회사 정보 처리 장치 및 방법
KR101370286B1 (ko) 2007-04-06 2014-03-06 삼성전자주식회사 레지듀얼 블록의 변형을 이용한 영상 부호화, 복호화 방법및 장치
US8442337B2 (en) * 2007-04-18 2013-05-14 Microsoft Corporation Encoding adjustments for animation content
US8331438B2 (en) 2007-06-05 2012-12-11 Microsoft Corporation Adaptive selection of picture-level quantization parameters for predicted video pictures
US8571104B2 (en) 2007-06-15 2013-10-29 Qualcomm, Incorporated Adaptive coefficient scanning in video coding
US8488668B2 (en) 2007-06-15 2013-07-16 Qualcomm Incorporated Adaptive coefficient scanning for video coding
US7774205B2 (en) * 2007-06-15 2010-08-10 Microsoft Corporation Coding of sparse digital media spectral data
KR101401967B1 (ko) * 2007-12-04 2014-06-27 삼성전자주식회사 암호화된 데이터 스트림의 트릭 플레이 방법 및 장치
US8189933B2 (en) * 2008-03-31 2012-05-29 Microsoft Corporation Classifying and controlling encoding quality for textured, dark smooth and smooth video content
US8179974B2 (en) 2008-05-02 2012-05-15 Microsoft Corporation Multi-level representation of reordered transform coefficients
US8897359B2 (en) * 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
RU2471306C2 (ru) * 2008-06-27 2012-12-27 Сони Корпорейшн Устройство обработки изображений и способ обработки изображений
WO2009157580A1 (ja) * 2008-06-27 2009-12-30 ソニー株式会社 画像処理装置及び画像処理方法
JPWO2009157581A1 (ja) * 2008-06-27 2011-12-15 ソニー株式会社 画像処理装置及び画像処理方法
US8406307B2 (en) 2008-08-22 2013-03-26 Microsoft Corporation Entropy coding/decoding of hierarchically organized data
US8798152B2 (en) * 2008-09-11 2014-08-05 General Instrument Corporation Method and apparatus for fast motion estimation
KR101834825B1 (ko) 2009-01-27 2018-03-06 톰슨 라이센싱 비디오 인코딩 및 디코딩에서 변환 선택을 위한 방법 및 장치
EP2222086A1 (de) 2009-02-18 2010-08-25 EcoDisc Technology AG Verfahren und Vorrichtung zur Vermeidung von Rundungsfehlern nach Durchführung einer inversen diskreten orthogonalen Transformation
US8457425B2 (en) * 2009-06-09 2013-06-04 Sony Corporation Embedded graphics coding for images with sparse histograms
KR101456498B1 (ko) * 2009-08-14 2014-10-31 삼성전자주식회사 계층적 부호화 단위의 스캔 순서를 고려한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
JP5530198B2 (ja) 2009-11-20 2014-06-25 パナソニック株式会社 画像符号化方法、復号化方法、装置
JP5546329B2 (ja) * 2010-04-14 2014-07-09 キヤノン株式会社 データ変換装置
KR101690253B1 (ko) * 2010-05-06 2016-12-27 삼성전자주식회사 영상 처리 장치 및 그 방법
GB2483282B (en) * 2010-09-03 2017-09-13 Advanced Risc Mach Ltd Data compression and decompression using relative and absolute delta values
RU2599959C2 (ru) * 2011-12-21 2016-10-20 Интел Корпорейшн Схема сжатия dram для снижения потребления энергии при компенсации движения и обновления отображения
US9008184B2 (en) 2012-01-20 2015-04-14 Blackberry Limited Multiple sign bit hiding within a transform unit
EP2675159B1 (en) * 2012-06-15 2018-08-08 BlackBerry Limited Multi-bit information hiding using overlapping subsets
JPWO2014002896A1 (ja) * 2012-06-29 2016-05-30 ソニー株式会社 符号化装置および符号化方法、復号装置および復号方法
US20140133574A1 (en) * 2012-11-13 2014-05-15 Mediatek Inc. Method and Apparatus for Sign Data Hiding of Video and Image Data
KR101757341B1 (ko) * 2013-01-29 2017-07-14 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에.베. 저-복잡도 음조-적응 오디오 신호 양자화
US10306229B2 (en) 2015-01-26 2019-05-28 Qualcomm Incorporated Enhanced multiple transforms for prediction residual
WO2017142319A1 (ko) * 2016-02-16 2017-08-24 삼성전자 주식회사 영상 부호화 방법 및 장치와 영상 복호화 방법 및 장치
US10623774B2 (en) 2016-03-22 2020-04-14 Qualcomm Incorporated Constrained block-level optimization and signaling for video coding tools
US10225562B1 (en) * 2017-08-21 2019-03-05 Google Llc Embedding information about EOB positions
US11323748B2 (en) 2018-12-19 2022-05-03 Qualcomm Incorporated Tree-based transform unit (TU) partition for video coding
US11962757B2 (en) 2019-03-23 2024-04-16 Lg Electronics Inc. Residual signal encoding/decoding method and apparatus employing intra sub-partitions (ISP), and method for transmitting bitstream
WO2021038625A1 (ja) 2019-08-23 2021-03-04 三菱電機株式会社 画像送信装置、画像受信装置、画像送信プログラム及び画像受信プログラム
KR20210156985A (ko) 2020-06-19 2021-12-28 삼성전자주식회사 일 함수 층들을 갖는 반도체 소자들
KR20210158607A (ko) 2020-06-24 2021-12-31 삼성전자주식회사 캡핑층을 포함하는 반도체 소자
KR20210158615A (ko) 2020-06-24 2021-12-31 삼성전자주식회사 게이트 라인을 포함하는 집적회로 소자

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3138816A1 (de) * 1981-09-30 1983-04-14 Philips Patentverwaltung Gmbh, 2000 Hamburg Anordnung zum speichern oder uebertragen und zum rueckgewinnen von bildsignalen
WO1987002210A1 (en) * 1985-10-02 1987-04-09 Deutsche Thomson-Brandt Gmbh Process for correcting transmission errors
ES2031499T3 (es) * 1986-03-20 1992-12-16 American Telephone And Telegraph Company Metodo y codificador para codificar senales de datos.
US5218650A (en) * 1991-01-02 1993-06-08 Ricoh Corporation Quantization method for use in image compression
JP2909239B2 (ja) * 1991-03-27 1999-06-23 株式会社東芝 高能率符号化記録再生装置

Also Published As

Publication number Publication date
ATE252806T1 (de) 2003-11-15
MY110794A (en) 1999-04-30
ES2389766T3 (es) 2012-10-31
DK2276259T3 (da) 2012-09-17
EP0903944A3 (en) 2000-04-05
CA2134444A1 (en) 1994-09-15
EP0903944A2 (en) 1999-03-24
DK2276258T3 (da) 2012-09-17
DE69421135D1 (de) 1999-11-18
EP2276259B1 (en) 2012-08-22
JPH07506954A (ja) 1995-07-27
ES2389718T3 (es) 2012-10-30
HK1013575A1 (en) 1999-08-27
PT2276258E (pt) 2012-09-20
EP2276258A3 (en) 2012-03-07
HU217744B (hu) 2000-04-28
PL173287B1 (pl) 1998-02-27
JP3593988B2 (ja) 2004-11-24
CN1076935C (zh) 2001-12-26
PT903944E (pt) 2004-03-31
HK1025448A1 (en) 2000-11-10
US5590139A (en) 1996-12-31
DK0638218T3 (da) 2000-01-31
FI112579B (fi) 2003-12-15
PL306007A1 (en) 1995-02-20
CN1106988A (zh) 1995-08-16
DE69433272D1 (de) 2003-11-27
IL108787A (en) 1997-07-13
DE69433272T2 (de) 2004-08-12
EP2276258A2 (en) 2011-01-19
EP2276259A3 (en) 2012-03-07
JP3610578B2 (ja) 2005-01-12
CA2134444C (en) 2003-10-14
AU673244B2 (en) 1996-10-31
NO944138D0 (no) 1994-10-31
EP0638218B1 (en) 1999-10-13
HU9403127D0 (en) 1995-02-28
KR950701486A (ko) 1995-03-23
DK0903944T3 (da) 2004-03-01
GR3032133T3 (en) 2000-04-27
NO20010762L (no) 1994-12-23
ES2137358T3 (es) 1999-12-16
ES2209032T3 (es) 2004-06-16
ES2389797T3 (es) 2012-10-31
EG20330A (en) 1998-10-31
EP0903944B1 (en) 2003-10-22
BR9404321A (pt) 1999-07-27
TW224553B (en) 1994-06-01
WO1994021083A1 (en) 1994-09-15
NZ261907A (en) 1996-09-25
NO20010762D0 (no) 2001-02-15
HUT76452A (en) 1997-09-29
PT2276259E (pt) 2012-09-20
KR100287490B1 (ko) 2001-04-16
JP2001292451A (ja) 2001-10-19
US5481553A (en) 1996-01-02
EP0954182A1 (en) 1999-11-03
FI945106A0 (fi) 1994-10-31
OA10108A (en) 1996-12-18
NO314710B1 (no) 2003-05-05
EP2276259A2 (en) 2011-01-19
NO944138L (no) 1994-12-23
EP2276258B1 (en) 2012-09-05
TR28436A (tr) 1996-06-24
FI945106A (fi) 1994-12-30
ATE185663T1 (de) 1999-10-15
DE69421135T2 (de) 2000-05-25
DK0954182T3 (da) 2012-09-24
PT954182E (pt) 2012-09-03
EP0954182B1 (en) 2012-07-11
EP0638218A1 (en) 1995-02-15
RO115926B1 (ro) 2000-07-28
AU6116194A (en) 1994-09-26
RU2119727C1 (ru) 1998-09-27

Similar Documents

Publication Publication Date Title
NO314709B1 (no) Fremgangsmåte og anordning til behandling av et sett av transformkoeffisienter
US6275527B1 (en) Pre-quantization in motion compensated video coding
US9414086B2 (en) Partial frame utilization in video codecs
US20070223021A1 (en) Image encoding/decoding method and apparatus
US20080008238A1 (en) Image encoding/decoding method and apparatus
US7995848B2 (en) Method and apparatus for encoding and decoding image data
US20060098881A1 (en) Method and apparatus for encoding and decoding image data
US20090207913A1 (en) Method and apparatus for encoding and decoding image
KR20010053814A (ko) 영상 부호화 시스템의 부호화방식 선택장치 및 방법
US20040013200A1 (en) Advanced method of coding and decoding motion vector and apparatus therefor
US20060227874A1 (en) System, method, and apparatus for DC coefficient transformation
JP4154772B2 (ja) 画像情報変換装置および変換方法
JP5488168B2 (ja) 画像符号化装置
JPH10164594A (ja) 動画像の圧縮符号化方法およびその装置
JPH09238345A (ja) 画像信号符号化方法及び装置、画像信号伝送方法、画像信号復号方法及び装置並びに記録媒体
KR0129576B1 (ko) 영상 복호기에 있어서의 반픽셀 움직임 보상회로
JPH11308621A (ja) 動画像圧縮符号化装置及び動画像圧縮復号装置
JP2005117680A (ja) 画像信号符号化方法及び装置、画像信号伝送方法、並びに画像信号復号方法及び装置
JPH07264593A (ja) 画像符号化装置
JPH11122616A (ja) 画像復号装置
JPH06303598A (ja) フレーム間符号化方法およびフレーム間符号化装置

Legal Events

Date Code Title Description
MK1K Patent expired