SE527621C2 - Metod och system för komprimering av bilddata - Google Patents

Metod och system för komprimering av bilddata

Info

Publication number
SE527621C2
SE527621C2 SE0301664A SE0301664A SE527621C2 SE 527621 C2 SE527621 C2 SE 527621C2 SE 0301664 A SE0301664 A SE 0301664A SE 0301664 A SE0301664 A SE 0301664A SE 527621 C2 SE527621 C2 SE 527621C2
Authority
SE
Sweden
Prior art keywords
sequence
integer
integers
frame
data
Prior art date
Application number
SE0301664A
Other languages
English (en)
Other versions
SE0301664L (sv
SE0301664D0 (sv
Inventor
Jan-Olov Stroemberg
Oeyvind Bjoerkaas
Original Assignee
Jan-Olov Stroemberg
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jan-Olov Stroemberg filed Critical Jan-Olov Stroemberg
Priority to SE0301664A priority Critical patent/SE527621C2/sv
Publication of SE0301664D0 publication Critical patent/SE0301664D0/sv
Priority to HUE04735836A priority patent/HUE033524T2/en
Priority to PL04735836T priority patent/PL1639831T3/pl
Priority to DK04735836.1T priority patent/DK1639831T3/en
Priority to PCT/SE2004/000847 priority patent/WO2004110070A1/en
Priority to TR2017/08179T priority patent/TR201708179T4/tr
Priority to SI200432392T priority patent/SI1639831T1/sl
Priority to KR1020057023711A priority patent/KR101063094B1/ko
Priority to EP04735836.1A priority patent/EP1639831B1/en
Priority to CNB2004800223818A priority patent/CN100539703C/zh
Priority to ES04735836.1T priority patent/ES2627556T3/es
Priority to US10/560,056 priority patent/US7355533B2/en
Priority to PT47358361T priority patent/PT1639831T/pt
Publication of SE0301664L publication Critical patent/SE0301664L/sv
Publication of SE527621C2 publication Critical patent/SE527621C2/sv
Priority to HK07104025.4A priority patent/HK1097976A1/xx

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/507Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction using conditional replenishment
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

20 25 30 35 527 621 Ett syfte med den föreliggande uppfinningen är att tillhandahålla en förbättrad metod för komprimering och dekomprimering av data i ett kommunikationssystem. Dessa och andra syften uppnås enligt föreliggande uppfinning genom att metoder och system som patentkraven. Föredragna har särdrag som är definierade i de oberoende utföringsformer är definierad i de beroende patentkraven.
I enlighet med en första aspekt av föreliggande uppfinning tillhandahålls en metod för att komprimera data innefattande av följande steg att: transformera data fràn en bildruta till en första sekvens av reella tal genom att använda en entropiökande transformmetod; kvantisera nämnda sekvens av reella tal i denna bild för att erhålla en första sekvens av heltal; kvantisera nämnda sekvens av heltal i denna bild med hjälp av en predikterad sekvens av heltal som representerar nämnda sekvens för att bilda en andra sekvens av heltal; och att koda denna nämnda andra sekvens av heltal i nämnda bild till ett bitflöde som representerar den komprimerade sekvensen av heltal i nämnda bild.
I enlighet med en andra aspekt av föreliggande uppfinning tillhandahålls ett system för komprimering och dekomprimering av data bestående av: lagringsanordning för att lagra data; transformeringsorgan som år anordnad att transformera en bildruta med data till reella tal; kvantiseringsorgan anordnad att kvantisera ovannämnda första sekvens av reella tal för en sekvens av komprimeringsbehandlingsorgan innefattande att bilda en andra sekvens av heltal; kvantiseiingsorgan anordnat att adaptivt kvantisera nämnda första sekvens av heltal för att bilda en andra sekvens av heltal med hjälp av en predikterad sekvens heltal som representerar ovannânmda första sekvens av heltal; och kodningsorgan anordnad att koda nänmda sekvens av heltal av nämnda andra sekvens till ett bitflöde som representerar den komprimerade sekvensen av heltal till denna bild.
I enlighet med en tredje aspekt av föreliggande uppfinning tillhandahålls det ett datorläsbart medium som innehåller instruktioner för att bringa en dator att utföra en metod enligt i uppfinningens första aspekt.
Föreliggande uppfinning är baserad på insikten att använda korrelationen mellan på varandra följande bilder eller bildrutor med data till exempel, seismisk data eller videoinformation. Den föreliggande uppfirmingen gör med andra ord, bruk av det faktum att endast när det år aktivitet i dataflödet, d.v.s. det år en förändring i data mellan två på 10 15 20 25 30 35 527 621 varandra följande fält, så är det nödvändigt att uppdatera nämnda data. I fallet med videodata, kan en förändring motsvara en rörelse av ett objekt som bevakas, och i fallet med seismisk data kan en förändring motsvara seismisk aktivitet i det område som bevakas. När det inte är någon förändring av data mellan två på varandra följande bilder kommer alla pixelvärden i de två rutorna vara väsentligen lika och följaktligen så erfordras ingen uppdatering av Överförd data. Följaktligen är komprimeringen anpassad till aktivitetsmängden i bildrutoma, med andra ord är komprimeringen dynamisk. När aktivitetsmängden är mycket liten, d.v.s. på varandra följande fält är mer eller mindre identiska, så blir dataöverföringen låg och allteftersom aktiviteten ökar, till exempel vid seismisk aktivitet i seismisk data eller rörelse i videodata ökar mängden av data som överförs.
Följaktligen är den metod enligtimen föreliggande uppfinning särskilt användbar när rörelse förekommer endast i mindre delar av bilden eller scenen, rörelse som fångas av inspelningsenheten och när den största delen av bilden har en stationär bakgrund.
Sådana villkor föreligger, till exempel, vid övervakningstillämpningar, videokonferenser, nyhetssändningar, eller inspelningar där en handhållen mobilkamera används, med inbyggd en stabiliseringsenhet eller liknande.
Dessutom kan metoden enligt föreliggande uppfinning utnyttjas i andra tillämpningar, såsom Lex., vid komprimering av seismisk data eller vid komprimering av ljud eller audiodata. I själva verket är den föreliggande uppfinningens metod användbar vid alla tillämpningar där data som karakteriseras av en hög grad av korrelation.
En inom området inser att de metoder som firms i föreliggande uppfinning, såväl som de föreslagna genomföringarna, är lämpliga att realisera som dataprogram eller datorläsbart medium.
Dessa och andra fördelar med och aspekter av föreliggande uppfinning kommer att förtydligas genom följande detaljerade beskrivning och genom medföljande ritningar.
KORT BESKRIVNING AV RITNINGARNA l följande beskrivning av en utföringsforrn av uppfinningen kommer det att göras hänvisningar till medföljande figurer, på vilka: 10 15 20 25 30 35 527 621 4 Fig.l visar schematiska dataflödet vid metoden för komprimering och dekomprimering av data enligt den föreliggande uppfinningen; en utföringsform av en komprimeringsdel i ett Fig.2 visar schematiskt videodatakomprimeringssystem enligt den föreliggande uppfinning; Fig.3 schematiskt dekomprimeringsdelen av videodatasystemet i fig.2; visar en utföringsform av Fig. 4 âr ett flödesschema som illustrerar steg för att utföra operationerna i det adaptiva kvantiseringsblocket i komprimeringsdelen som visas i fig.2; Fig.5 .är ett flödesschema som illustrerar steg för att utföra operationerna i blocket för invers adaptiv kvantisering i dekomprimeringsdelen som visas i fig.3; Fig.6a och 6b visar schemafiskt en altemativ utföringsform som inkluderar rörelseprediktionsblock enligt den föreliggande uppfinningen.
DETALJERAD BESKRIVNING AV UPPFINNINGEN I det följande kommer vi att diskutera föredragna utföringsformer av metoder för komprimering av videodata i enlighet med föreliggande uppfinning. Vi kommer att referera till de i ritningarna givna referensbeteckningar som tillordnats motsvarande delar som genomgående förekommer i de olika illustrationema. Som nämnt ovan, så är metoden i enlighet med föreliggande uppfinning sârsldlt användbar i tillämpningar där rörelser förekommer endast i mindre delar av bilden eller scenen som uppfångas av inspelningsenheten och bakgrunden av större delen av bilden är stationär. Sådan villkor existerar i, till exempel, övervakningstillâmningar, videokonferenser, nyhetssändningar, intervjuer, eller inspelningar med eller liknande. I tillägg, kan metoden, i enlighet med föreliggande uppfinning genomföras i andra tillämpningar ån videokomprimering, till exempel, vid komprimering av seismisk data eller komprimering av ljud eller audiodata. I själva verket, metoden i enlighet med uppfimiingen år användbar i all applikationer där data karakteriseras av en hög grad av korrelation.
Med hänvisning till fig. 1 kommer vi först att visa schematiskt dataflödet i metoderna för komprimering och dekomprimering av data i enlighet med den föreliggande 10 15 20 25 30 35 527 621 uppfinningen. Hela linjer representerar faktiskt dataflöde i tillämpningen, tex. det data som ska komprimeras, streckade linjer representerar dataflöde av kontmlldata, och prickade linjer representerar virtuella dataflöden.
Ingångsdata, till exempel bitmapdata, som har hög grad av kor-relation, transformeras 10 först till en mängd av koefficienter, förslagsvis floats (flyttal). Därefter, kvantiseras 12 den första mängden till en andra mängd av koeificienter, förslagsvis integers (heltal), varvid en förvald parameter kommer i bruk, så som kommer diskuteras nedan. Den andra mängden av koetficienter kvantiseras adaptivt 14 till en tredje mängd av koeflicienter, med hjälp dynamiska parametrar och information om en mängd av predikterade koefilcienter, vilket kan vara sekvensen av heltal från tidigare mängden eller en simulerad rekonstruerad sekvens av heltal 'av föregående mängd, så som kommer att förklaras i mer detalj nedan. Vidare, associeras kontrolldata till nämnda adaptivt kvantiserade data. Därefter så kodas 16 den tredje mängden av koefficienter till ett flöde av bitar som representerar bitmapdata. Vid komprimeringen, avkodas 18 bitflödet som representerar bitmapdata. Sedan går nämnda avkodade data igenom en process som inverterar stegen av adaptiva kvantisering 20 , kvantisering 22 och 24 transformering, med hjälp av kontrolldata, de förvalda parametrar och dynamiska parametrar.
Med hänvisning nu till fig. 2 och 3 kommer ett datakomprimerings och dekomprimeringssystem i enlighet med en utföringsform av föreliggande uppfimiing att beskrivas. Detta system ar anpassat för att användas i videodataapplikationer. I systemet är en digital videoinspelare 105 kopplad via en bildforrnaterarewisas inte) fill en hårddisk.
Datorenheten 100 ett komprimeringsblock 130. Vidare så består komprimeringsblocket 130 av ett kvantiseringsblock 140, ett adaptivt kvantiseringsblock 150, och ett kodningsblock 160. Komprimeringsblocket 130 är kopplat till en kommunikationsenhet 170, till exempel, ett modem i operativsystemet eller en mobiltelefon, som i sin tur är tillkopplat ett kommunikationsnâtverk 180. Komrnunikationsnâtverket 180 kan vara ett trådlöst kommunikationssystem som GSM, UMTS, eller GPRS, ett optiskt nätverk, eller ett kabelnåtverk. datorenhet 100 som har lagringsmedia med stor kapacitet såsom en Vidare, med hänvisning till fig.3, så består datorenheten 100 av ett dekomprimeringsblock 210 som år kopplat till nätverket 180 via kommunikationsenheten 170 och som bl.a. innehåller ett rekonstruktions- eller 10 15 20 25 30 35 527 621 dekomprirneringsblock 220 och ett block 230 för invers transformering.
Rekonstruktionsblocket 220, i sin tur, innehåller ett avkodningsblock 240, ett block 250 för invers adaptiv kvantisering, och ett block 260 för invers kvantisering. En visningsenhet 270 för att visa videodata är kopplad till enhet 100. Vidare, är en dataomvandlare (visas inte) kopplad mellan dekomprimeringsblocket 210 och display enheten 270 för att konvertera data från block 210 till ett format som kan visas i visningsenheten 270.1 videodatakomprimerings- och dekomprimeringssystemet som visas i fig.2 och fig.3 så spelas digital videodata från en ruta eller bild med den digitala videoinspelaren 100. Konverteraren av bildformat konverterar mottagen videodata till bitmapdata. Sedan levereras dataflödet till wavelettransforrnblocket 120 där dataflödet, d.v.s. reella tal, behandlas med hjälp någon transform metod som ökar som ökar entropin, till exempel wavelettransformen. För göra det klart, så antar vi att en sekvens av data motsvarar en ruta eller en bild. Alternativt kan data flödet lagras lagringsenheten i dator enhet 100.
Sedan matas sekvensen av reella tal från varje ruta in till kvanüseringsblock 140 där sekvensen blir kvantiserad med användning ett tröskelvårde enligt kända metoder.
Därvid erhålles en sekvens av heltal. transformblocket och kvantiseringsblocket fungerar och realiseras och därför kommer För fackmannen år det väl känt hur det inte ges någon ytterligare beslcrivning av dem här, se, till exempel. "Fast adaptive wavelet packet image compression", IEEE Transactions on image processing, 9,pp 792 - 800, Meyer, Francois G., Averbuch, Amir Z., Jan-Olov Strömberg, Coifman R,. and Vassiliou A. "A video compression Communications of the ACM. 34 (199l),pp 46 - 58. Le DalLDidier eller “Low bit-rate efficient compression for seismic data". IEEE Transactions on image processing. 10(2001), Meyer, Francois G., Averbuch, Amir Z., Jan-Olov Strömberg, Coifman R,. and Vassiliou A. standard for multimedia applications" Härefter matas sekvensen av heltal in till det adaptiva kvantiseringsblocket 150 där sekvensen behandlas med en adaptiv kvantisering och där en resulterande sekvens av heltal erhålles för varje ruta. Det förklaras i detalj hur detta block fungerar i samband , med fig.4. Resultatet (Outpuflfrån det adaptiva kvantiseringsblocket 150 överförs till kodningsblocket 160, där den resulterande sekvens/differens - sekvensen från varje ruta kodas med hjälp av till exempel "run-length"-kodning, och där det bildas ett bitflöde, som representerar den komprimerade sekvensen fiån rutan, som kan överföras till en mottagare via ett nätverk. Det är väl känt för fackmannen inom området hur 10 15 20 25 30 35 527 621 kodningsblocket fungerar och realiseras, och det kommer därför inte att förklaras t' packet image compression", IEEE Transactions on image processing, 9 , pp 792 - 800,Meyer, Francois G., Averbuchßmir Z., StrömbergJan-Olov, Coifman R,. and Vassiliou A.
Communications of the ACM. 34(1991), pp 46 - 58, Le Gall, Didier eller “Low bit-rate eñicient compression for seismic data", IEEE Transactions on image processing, 10(200l), Meyer, Francois G., Averbuch,Amir Z., Strömberg,Jan-Olov,, Coifman R,. and Vassiliou A.
"A video compression standard for multimedia applications", I nästa steg kan bitflödet för varje ruta transformeras till kommunikationsenheten 170 för efterföljande överföring via kommunikationsnâtverket 180 en mottagande enhet 170, vilket kan vara en dator enhet som ovannämnda datorenheten 110 eller den kan lagras i lagringsmediet i dator enhet 100 såsom en komprimerad representation av sekvensen till derma ruta.
På motsvarande sätt, men emellertid i motsatt ordning, kan ett bitflöde dekomprimeras, ett bitflöde, som representerar en rutans komprimerade sekvensen av heltal. Når bitflödet, som representerar en komprimerad heltalssekvens från en ruta av videodata vilkens sekvens har överförts från datorenhet via kommunikationsnâtverket 180 eller har plockats fram från lagringsmediet till datorenhet 100 för efterföljande dekomprimering, bitflödet till avkodningsblocket 240 av rekonstruktionsblocket 220. I avkodningsblocket som blir bitflödet till varje ruta avkodat som motsvarar inversen till kodningsmetoden i så matas med en avkodningsmetod kodningsblocket och en sekvens med heltal erhålles, som motsvarar den resulterande sekvensen. Det år väl känt för fackmarmen inom området hur kodningslocket fungerar och realiseras, och därför kommer detta inte att förklaras ytterligare hår, se till exempel, "Fast adaptive wavelet packet image compression", IEEE 'Transactions on image processing, 9 , pp 792 - 800,Meyer, Francois G., Averbuch,Amir Z., StrömbergJan-Olov, Coifman R,. and Vassiliou A. "A video compress Communications of the ACM. 34(199 l), pp 46 - 58, Le Gall, Didier eller “Low bit-rate efficient compression for seismic data", IEEE Transactions on image processing, l0(200 1), Meyer, Francois G., Averbuch,Amir Z., StrömbergJan-Olov" Coifman R,. and Vassiliou A.
Därefter sändes den avkodade sekvensen av heltal till blocket 250 för invers adaptiv kvantisering där sekvenser behandlas med en invers kvantisering för att få fram, en rekonstruerad sekvens heltal för varje ruta. Denna rekonstruerade sekvensen motsvarar i 10 15 '20 25 30 35 527 621 sekvensen heltal som erhölls i kvantiseringen i block 140. Det vill förklaras i mer detalj i anknytning till fig.5, hur detta block fungerar. Utflödet från blocket 250 för invers adaptiv kvantisering överförs till blocket 260 för invers kvantisering, där den rekonstruerade varje kvantiseringsprocessen med hjälp av tröskelvärdet i enlighet med kända metoder. Det är sekvensen från ruta går igenom den inversa väl känt för fackmannen inom området hur kvantiseringsblocket fungerar och hur det realiseras och därför vill inte detta förklaras ytterligare här, se till exempel: "Fast adaptive wavelet packet image compression", IEEE Transacrions on image processing, 9,pp 792 - 800, Meyer, Francois G., Averbuch, Amir Z., Jan-Olov Strömberg, Coifman R,. and Vassiliou A. "A video compression standard for multimedia applications" Communications of the ACM. 34 (199 1),pp 46 - 58. Le Dall,Didier eller “Low bit-rate efficient compression for siesmic data". IEEE Transactions on image processing. 10(200 1), Meyer, Francois G., Averbuch, Amir Z., Jan-Olov Strömberg, Coifman R,. and Vassiliou A.
I nästa steg sändes den inverterat kvantiserade sekvensen till blocket 230 för invers transformering, där sekvensen går igenom en invers transformationsprocess. Härvid erhålles en rekonstruerad sekvens av heltal som motsvarar den sekvens av heltal som är inflöde till block 120. Hur detta fungerar och kan realiseras år väl känt för fackmannen inom området och kommer därför inte att bli närmare förklarat här, se, till exempel: "Fast adaptive wavelet packet image compression", IEEE Transacrions on image processing, 9,pp 792 - 800, Meyer, Francois G., Averbuch, Amir Z., Jan-Olov Strömberg, Coifman R,. and Vassiliou A. "A video compression standard for multimedia applications" Communications of the ACM. 34 (l99l),pp 46 - 58. Le Dall,Didier eller “Low bit-rate efllcient compression for siesmic data". IEEE Transactions on image processing. l0(2001), Meyer, Francois G., Averbuch, Amir Z., Jan-Olov Strömberg, Coifman R,. and Vassiliou A.
Sedan konverteras följden av heltal till ett bildformat som kan reproduceras av datakonverteraren i visningsenhetet, d.v.s. till det rekonstruerade bitmapdata.
Metoden för komprimering och dekomprimering i enlighet med föreliggande uppfinning år förslagsvis utförd i realtid (25 bildrutor/ sekund) för 24 bitars fårgvideo med storlek 352x240,Metoden i enlighet med uppfinningen kan lätt implementeras i, till exempel ett datorprogram. Vanligen, med bildstorlek 288x360, överförs ungefär 100 bytes per bildruta när ingen rörelse i bilden förekommer. Vid mindre rörelser behövs kanske 300 - 10 15 20 25 30 35 527 621 400 bytes /bildruta och vid större rörelser behövs upp mot 1000 bytes / bildruta.
Om man använder föreliggande uppfinning i GSM nätverket så år det möjligt med en överföringshastighet på 19200 b/ s, vilket med 6 bilrutor/ sekund motsvarar 400 bytes/bildruta. Därför kan man, om man tillåter en tidsförskjutningen på några få sekunder, tillåta i medeltal 400 bytes/ bildruta. Om rörelseaktiviteten år låg åtgår det vål under 100 bytes för varje bildruta med den storlek på bildskârmen till en mobiltelefon. Om rörelseaktiviteten ökar, kan bildkvaliteten försämras med syfte att kompensera för den ökade mängden av bytes / bildruta som lcråvs.
Med hänvisning till fig.4, kommer operationema i det adaptiva kvantiseringsblocket att förklaras med hjälp av ett flödesschema. För videosekvenser där kameran eller inspelningsenheten år orörlig eller stationär eller har en inbyggd stabiliseringsenhet, kan koefiicienterna till en bild eller bildruta oftast bli mycket bra predikterade med motsvarande koefficienter i föregående bild. Dårför kommer, om ingen förändring har ägt rum mellan på varandra följande bilder, motsvarande koefficient i det två bildema att vara identiska. För att uttrycka detta på ett annat sätt, om ingen rörelse har ägt rum, så kommer clifferensen mellan motsvarande koefñcienter i två på varandra följande bilder att vara noll eller åtminstone att vara väldigt liten eftersom det alltid finns med en viss mängd av brus, vilket kan förorsaka små differenser. Generellt sett i situationer till exempel som när man använder en övervalcningskamera till att bevaka ett område, exempelvis ett lagerutrymme, en fabrik, ett kontor eller något liknande så är huvudparten av koefficienterna oförändrade mellan två på varandra följande bildrutor eftersom övervakningen ofta utföres under nattetid då rörelseaktiviteten i sådana områden, för det mesta, âr obetydlig.
En sekvens heltal av nuvarande bildruta 300 införs under operationen i block 310. I block 310 år en predikterad sekvens bestämd och lagrad. Denna predikterade sekvensen kan, exempelvis vara motsvarande sekvens av heltal från föregående bild. I själva verket, i det fall det år motsvarande heltalssekvens från föregående bild så år det en simulerad rekonstruerad heltalssekvens från föregående bild. Till exempel så kan simuleringen implementeras genom att integrera ett avkodningsblock liknande avkodningsblocket 240 i block 150. Detta avkodningsblock behandlar det inkommande bitflödet från en bildruta på samma sått som avkodningsblocket 240 kommer att behandla det mottagna bitflödet som representerar denna bildruta och vill följaktligen ta fram exakt samma sekvens av avkodade heltal som avkodningsblocket 240. 10 15 20 25 30 35 527 621 10 Vidare om en bakgrunds/referensbildruta används, är också en referensekvens som representerar denna bildruta lagrad i detta block.
I block 320 jämföres sedan varje koeñlcient i den predikterade sekvensen med motsvarande koefficient eller heltal av nuvarande sekvens och, om så behövs, med motsvarande koefficienter från referenssekvensen. Detta sker på följande sätt: c'=c-r om p=r eller (c-r)/(p-r) < 1/2, (1) c'=c-p i annat fall, där c är en koefficient eller heltal i sekvensen till nuvarande bildruta, r är motsvarande referenskoefñcient från referensbildrutan och p är motsvarande predikterade koefficient.
Om referensbildrutan är en svart bild så kommer motsvarande referenskoeflicienter att vara 0. Därefter, utföres ett urvalsprocess där kodlängden till varje koeücient estimeras och den koefiicient som resulterar i kortaste koden blir vald för varje position i den resulterande sekvensen. Detta sker på så sätt att absolutvårdet bestärnmes för det altemativa valen av c' för varje koefficient och det val av c' där c' får det minsta absolutvârdet utväljes till diñerenssekvensen.
Det år inte nödvändigt att förse rekonstruktionsalgoritrnen eller rekonstruktionsblocket 220 med information om valet av c' koeflïcient utom i tillfället då c - r p-r och rekonstruktionsblocket har för varje koefiicient tillgång till det predikterade värdet vilket har beräknats från tidigare rekonstruerade kvantiserade heltal som hålls eller är lagrade i prediktionsblocket 430 (se fig.5) pair and -šš <š. (2) I tillfällen som då (2) inträffar så måste rekonstruktionsblocket 220 få information om koefiicienten från nuvarande sekvens eller difïerensen mellan nuvarande koefiicient och predikterad koefficient har valt ut. För detta ändamål, genereras i block 330 ett kontrollbit med information of urvalet i block 320. Med detta år det möjligt för rekonstruktions eller dekomprimeringsblocket 220 att identifiera vilken av relationerna mellan heltalet sekvensen från nuvarande bildruta och motsvarande referenskoeücient från rcferensbildmtan och motsvarande predikterad koeificient som har valts ut. 10 15 20 25 30 35 527 621 ll Sekvensen av kontrollbitar är i själva verket en serie av heltal, ettor eller nollor, och den blir komprimerad på samma sätt som differenssekvensen, med det undantagen att det inte behövs något tecken-bit fór dess heltal. Eftersom kontrollbitar endast består av nollor och ettor kodas de med en 'Tun-length-kodning".
Prediktionsurvalet som äger rum i block 150 är baserat på visa regler, exempelvis de ovan nämnda reglerna som är uttryckta med sambanden (l) och (2). Som nämnts ovan så har inte rekonstruktionsblocket direkt information om utfallet av urvalet, men har istället information om reglerna som reglerar urvalsprocessen.
Sedan, i block 340, en sker en process som behandlar små variationer i data som representerar bilden eller bildrutan och som kan ha förorsakats av brus. Bruset uppstår bl.a. av små skillnader i ljus förhållanden och signalbrus frän kameran. Om följande uttryck är uppfyllt [differens] där differens är koefficienterna i difierenssekvensen och T1 är ett tröskelvärde sättes diiïerenskoefiicienten till noll. 'Pröskelvärdet är företrädesvis ett, men andra heltal är möjliga, till exempel 2,3,4 eller 5. Om koefiícienterna i differensen sekvensen d.v.s. differensen mellan predikterat och nuvarande värde är mindre än T1, är det förutbestämt att det predikterade värdet ska kodas istället för nuvarande värde. Detta medför således att en kontrollbit inte är nödvändig och med syfte att hålla kontrollbitsekvensen synkroniserad är det viktigt att inte skicka kontrollbiten som är associerad med den aktuella koefficienten, vilket utförs i block 35. Genom att göra tester med kamera i ett system kan ett lämpligt värde på T; väljas. Om kameran producerar mycket brus kan värdet på T; sättas högre. Om ljusvillkoren förväntas variera i styrka kan man göra på motsvarande sätt. Nackdelar med att sätta värdet på T; alltför högt kan visa sig, bl.a. att det kan uppstå skuggor efter rörliga objekt i bilden eller bildrutan.
Förslagsvis sättes värdet på T; till 2 eller 3.
Därefter, i block 360, utförs en begränsning av mängden av byte på sekvensen. Till detta ändamål användes ett tröskelvärde Tg och förslagsvis Tz 2 1 (4) 10 15 20 25 30 35 527 621 12 Om T2=l äger ingen begränsning rum och om T2>1 vill utflödet från kodaren bli avkortat. Ett högre värde på Ta medför en kortare kod. I praktiken fungerar begrånsningsförloppet som följer. Låt oss anta att d âr ett heltal i differenssekvensen och uid år (ett positivt heltal) som är bitrepresentationen av flyttalet d, uiTz bitrepresenatationen av flyttalet T; och uil.0 är bitrepresentationen av flyttalet 1.0. Till exempel i ett binärt talsystem blir uil.0 Olllll1110000000000000000000000 vilket (vilket är det binâra representationen av flyttalet 1.0) och om d>T2 så kommer d att ersättas av talet dl som är talet d0 avrundat nedåt till ett heltal, där uid0 = uid - (uiTz - uil.0). (5) uid0 âr et bitrepresentation av ett flyttalet d0. Detta flyttal ligger nära flyttalet dl och följaktligen kommer uidl att ligga nära uidO.
Vid rekonstruktionen blir talet d approximerat med talet d2 avrundat till heltal där uid2 = uidl + (um - uiro) där uid2 är bitrepresentationen av flyttalet d0. Följaktligen kommer talet d2 och avrundningen av det till heltal att ligga nära talet d.
Om d -d med efterföljande teckenbyte till negativt heltal. Om [dl <= -Tg kommer motsvarande att göras med det positiva talet Denna process resulterar i att mängden av tillgängliga heltal som kan kodas exakt successivt minskar, d.v.s. det blir en delmângd av heltal som blir alltmer gles ju större som T; är. Valet av tröskelvârdet T; kan utföras i en automatiskt med en satt övre gräns för antal bytes per byte/ bildruta. l praktiken så. utföres detta block 360 i kodningsblocket 160. I princip år metoden utformad på. följande sätt. En tidigare tröskelvârde år valt. Sedan simuleras kodningen på ett sådant sätt att antalet bitar, som skulle ha blivit kodade, kan räknas, exempelvis så beräknar man inte innehållet i bitflödet för att sett räkna antalet bitar det innehåller.
Det antages att antalet bitar i bitflödet minskar med ett ökat tröskelvärde. I ett första steg ökas (eller minskas) tröskelvârdet med en faktor 2 tills tröskelvârdet resulterar i ett 10 15 20 25 30 35 527 621 13 mindre antal bitar än vad som var efterfrågat, och sådan att hälften av detta tröskelvärde resulterar i fler antal bitar än vad som efterfrägats.
Utifrån dessa tröskelvärden och motsvarande antal bitar erhålles ett nytt tröskelvärde i steg 2 genom interpolation. Därefter i steg 3 beräknas antalet bitar vilket kan bli större eller mindre än det efterfrågade antalet bitar. I steg 4, med hjälp av dessa tröskelvården och motsvarande antal bitar får man ytterligare ett nytt tröskelvärde med interpolation.
Stegen 3 och 4 upprepas tills antalet beräknade bitar med ett tröskelvärde är inom en satt toleransmarginal av efterfrågat antal bitar eller till dess att ett uppsatt maximalt antal iterationer har utförts.
Sålunda är kontrollbitarna i block 350 synkroniserade för att sända endast de bitar som är nödvändiga. Som nämnts ovan, kan vissa kontrollbitar som ett resultat av processen i block 340 bli överflödiga.
Som ett extra tillval det sättas in en box 370 som reagerar på låg aktivitet. Om rörelsealctiviteten i är väldigt liten i videoscenen, exempelvis i omrâdet som inspelningsenheten bevakar, kan ett byte med värdet noll sändas för varje sådan bildmtan med liten rörelse. Detta kan användas exempelvis till att stänga av överför-ingen når man använder mobiltelefon som ett modem. När rörelseaktiviteten ökar i det bevakade området, kopplas telefonen upp igen och överföringen återupptas. Detta kan realiseras genom att sätta upp en parameter med en kortaste tillåtna längd för längden kodade bytes som representerar en bildruta. Om längden av koden som produceras av kodningsblocket 160 inte når över värdet på denna parameter, så sändes inte koden och prediktionen uppdateras inte. Med andra ord "sover" kodaren men behandlar hela tiden inkommande data. Slutligen, skickas den kvantiserade sekvensen av heltal 380 och associerade kontrollbitar 390 ut till kodningsblocket och sedan vidare till en mottagare via kommunikationsnätverket.
Med hänvisning till fig.5, kommer operationer-na i blocket 250 för invers kvanüsering att förklaras med hjälp av ett flödesschema. Som det är indikerat med 400 kommer den avkodade sekvensen av heltal (en för varje bildruta), d.v.s. den komprimerade sekvensen av heltal och, om det år några kontrollbitar 405 kommer dessa sättas in i block 405 frän, till exempel 100 kommunikationsnâtverket 180. datorenhetens lagringsenhet eller mottagas via 10 15 20 25 30 35 527 621 14 Under operationen väljs en prediktion i block 410. Om p=0 eller c / p <1/ 2 så ersätts koefficienten i den avkodade sekvensen c' med c - r, om referensbildrutan är en svart bild kommer referenskoefiïcienten att vara O och i armat fall ersätts c' med c-p.
Kontrollbitar år såsom indikerats ovan nödvändiga när sambandet (2) gäller, d.v.s. när c-r p-r pafir och -å-S <-:- I sådana fall måste, som nämnts ovan, måste rekonstruktíonsblocket 220 få besked om huruvida koeñcienten till nuvarande sekvens eller differensen mellan nuvarande koeflïcient och den predikterade koefiicienten blev utvald, vilket i sådana göres med ett kontrollbitar.
Valet av prediktion som äger rum i block 150 är baserat på vissa regler, till exempel. de ovannämnda reglema som är uttryckta med relationerna (1) och (2). Som ytterligare nämnd ovan, så har rekonstruktionsblocket inte information om utfallet av urvalet men snarare de regler eller relationer som reglerar denna urvalsprocess. Emellertid, för varje prediktion och för den mottagen differensen, dvs. heltalet i den komprimerade sekvensen, så kan blocket 220 undersöka vad heltalet i den nuvarande sekvensen skulle ha varit och se om valet av prediktion år ord konsistent med den mängd av regler Lex. används sambanden (l) och (2). För detta ändamål är det tre möjligheter. 1. Det är flera konsistenta val av prediktion, i vilket fall ytterligare information erfordras i form av kontrollbitar. 2. Det är endast ett konsistent val av prediktion, ivilket fall ingen ytterligare information erfordras. 3. Det finns inget konsistent val av prediktion. Detta alternativ antages inte kunna hända om block 150 följer de uppsatta reglema.
I utföringsformen som är beskriven ovan, så föreligger det första alternativet när relation (2) gäller. Alla data som erfordras i block 4 10 år framtagna från ett prediktionsblock 430.
Därefter, i block 420, så blir koeflicientema till den avkodade sekvensen ersatta enligt följ ande 10 15 20 25 30 35 527 621 15 c=c'+r r<š, (Ö) p-r om p = r eller c = c' + r armars dår c' år ett heltal i den komprimerade sekvensen, r år motsvarande heltal till referensbilden, p âr motsvarande predikterat heltal och c år motsvarande heltal av den rekonstruerade sekvensen som representera den första sekvensen av nuvarande bildruta. Härvid erhålles en rekonstruerad sekvens som svarar exakt eller approximativt mot sekvensen som stoppades in i komprimeringsblocket l30. Denna rekonstruerade sekvensinformation år också fillbakaförd data 450 till prediktionsblocket 430, där bl.a. prediktion av föregående bildruta och, om en sådan finns, referensbilder bl.a. bakgrundspredilctioner är lagrade. På detta sätt år all erfordrad data i blocken 410 och 420 'framtagna från blocket 430.
Om en bakgrundsprediktion användes, så utföres en uppdatering av bakgrunden i block 440 på följande sätt. En parameter N år uppsatt. Om den rekonstruerade kvantiserade heltalsvårdet a till en koeflïcient av nuvarande bilden inte år lika med motsvarande värde i bakgrunds / referens bilden, och om a inte har ändrats under de senast N bildrutoma, uppdateras backgrunden, eller i själva verket bakgrundssekvensen med a och överförs 460 till block 430.
Slutligen sänds den rekonstruerade sekvensen av heltal 470 ut till blocket 230 för invers transformering.
Den allmårma principen för att handskas med prediktioner i det adaptiva kvantiseringblocket 150 och blocket 250 för invers adaptiv kvantisering kommer att diskuteras nedan.
En prediktion kan vara en hel bildruta med koefficienter (QI) eller en delmångd av en bildruta. Man kan ha flera prediktioner samtidigt. Detta betyder att det kan vara olika antal prediktioner för individuella koefñcienter. Prediktionema for olika koeflicienter behandlas separat, utom i några tillfällen när det inte finns något entydigt optimalt val av predikfion. I dessa fall , ska man minimera extra informationen, dvs. de kontrollbitar som måste överföras. För varje fixerad koefiicient q har vi en mängd prediktioner. Det vill såga en mängd av predikterade vården {p," },, . 10 15 20 25 30 527 621 16 Prediktionerna som ligger nära varandra kommer först att grupperas. Denna procedur kontrolleras av en heltalsparameter T0>0. Sedan identifieras en delmängd av prediktoner {p,."}, c {pf },, som sådan att pf -pf'|_>.T° for sats' (7) och att för varje prediktion pf firms det en prediktion pf i delmândgen sådan att Ip? -pf <1; (ß).
Denna delmängd av predikfioner ordnas som en ordnad mängd av heltal. p) < p? < mp? (9) där antalet n=n(i) kan skilja sig från koeflïcient till koefficient.
Därefter göres ett första urval av prediktionen Om c; är koeflicienten som ska kodas, . Det är en unik prektion används den prediktion pf som minimerar uttrycket Ic, -pf som minimerar uttrycket förutom I fallet när koefficientvärdet ci är exakt i mitten av två prediktioner i vilket fall |c,. - pf . I detta görs valet mellan pf och pf" l ett =|ci "PÉM andra urval som kommer att beskrivas i det kommande.
Det förlustfria ATQI-värdet (”Adative quantized integer”) är di = c, - pf' där pf' är den utvalda prediktionen för koeflicienten ef. Det är möjligt att exakt rekonstruera värdet c; från ATQI heltalet di förutsatt att prediktionerna är kända och att det är känt vilken prediktion som blev vald. i 10 15 20 25 30 527 621 17 ATQI värdet ä, kan vara samma som d; ovan men det kan istället vara en approximation av detta värde. Detta kontrolleras av de två parametrarna T; och T; som införts för att kontrollera den övre gränsen för bitflödet ut från kodaren. När |di| Då göres ytterlige en kvantisering så att e 2,2 där 2,, âr en delmängd av alla heltal.
Approximationen är ord så att OSÃ/ d,<=1 när d, #0. Med ATQI värdet ä, kan vi rekonstruera ett approzdmativt värde Z,i till koefiicienten ci förutsatt att urvalet av prediktion är känt.
E, =<í+pf (10) »- När väl värdet d.
I mängden predikfioner p: < pf <...p,f' kända, kan några prediktioner komma att exkluderas som icke-tillåtna prediktioner eftersom det kommer att leda till en motsägelse mot den första urvalsregeln i fallet när d~i>0: s Detta tyder på att pf inte kan vara något möjligt val av prediktion. Antag att p: är den valda predíktionen, varvid, c, z p; +51, (12) och således |c,- -ppm , vilket innebär att prediktionen pf inte ger minsta värde och därför inte skull ha blivit valt enlig den första urvalsregels som beskrives ovan. I fallet när ä, <0 är en predíkton är p: icke-tillåten om 10 15 20 25 30 527 621 18 s>1 och pf' >pf+2cz (14). Återigen, tyder detta på. att p: inte kan var en av de utvalda prediktionema.
När listan av prediktioner {p,.'}, och ATQI värdet ä, är kända så kan man identifiera antalet tillåtna prediktoner. Talet ad(i) beräknas både i det adaptiva kvantiseringsblocket 150 och blocket 250 för invers adaptiv kvantisering.
Informationen om valet av prediktioner är en information om urvalen som informerar fór varje koefficient (indicerat med ) om vilken av de ad(i) tillåtna prediktionerna som blev använd. Detta kan göras exempelvis med iterativ "run-lengthWkodning , som liknar "run-length"-kodningen som göres med koeñicientvârdena, och där koefiicienterna delas p upp i grupper alltefter vilka dyadiska intervall som koeñïcienterna har sina värden. Når man kodar informationen om vilken tillåten prediktion som valts, så ger funktionen ad(i) gränser på antalet möjliga prediktioner för varje koeücient.
Låt s(i) vara det index för vilken prediktionen blev urval för koefiicienten ci, då är l$s(í)$ad(i) låt Su = {I, s(i) = k}. Då är {S,,},,g index till koefiicientema i bildrutan sådan att deras union år mängden S av index till alla koefficienter. Kontrollbitama ska överföra informationen om alla dessa mängder S1, som delmängder i S. Låt en samling av disjunkta mängder av D. 38, (15) och E, = {i e Dk så att a(i) > k} (16) och F1<= Du \ Ek (17).
En induktion över k S1 som startar med k=l är inte nödvändig. Vi har Di= S (18) 10 15 20 25 30 35 527 621 19 och förk= 1, 2, 3, harvi Fk ={ieD,, så att a(i)=k} (19) Ek= Dk \ Fk (20) och “run-lengtlf-kodning använd för att hitta Dm som en delmängd av Ek.
Denna process att med ökande heltal k för att få Dm som en delmângd av Dk med "run length"-kodning fortsätter så länge som Dk inte år den tomma mängden.
Slutligen erhålles Sk= Dk+1 \ Du (21) I fallet då det år två optimala val av bästa prediktion p: och pflufiördes ett andra selektion mellan dessa två prediktioner. I denna andra selektion söker man minimera den "run-length" som användes i den iterativa run-length kodningen som beskrevs ovan.
Strategin år att få så långa sekvenser som möjligt med samma bit (0 eller 1) och att söka göra detta genom att välja prediktionsindex så nåra som möjligt till motsvarande prediktionsindex som hör till föregående koefficient i sekvensen. Det vill såga m) = {: e {s,s +1} som mnumem |z - sp -1)]} .
I ett alternativt genomförande av metoden enlig föreliggande uppfinning kan block fór rörelsepredilction inkluderas för att förbättra kvalitén på komprimerad och dekomprimerad data når, till exempel, graden av korrelation reduceras på grund av vibrationer i inspelningsenheten eller när objektet rör sig i inspelningsrumet, bl.a. en bil som rör sig genom videoscenen.
Enlig det utlörande som beskrivits ovan, så är det faktiskt en så kallad autonom 10 15 20 25 30 35 527 621 20 prediktion som används. Den baseras på att exakt samma algoritm används på komprimeringssidan som på dekomprimeringssidan. Denna algoritm är deterministisk, dvs. inga stokastiska processer är involverade, så att de resulterande prediktionerna på sidan med adaptiva kvantisering, d.v.s. i adaptiva kvantiseringblock 150, och på sidan med invers adaptiv kvantisering, d.v.s. i blocket 250 för invers adaptiv kvantisering, blir identiska. På grund av detta så behöver inte någon information om prediktionen överföras, förutom att dekomprimeringsblocket måste veta vilket algoritm som ska användas. Notera att det vid autonom prediktion inte år tillåtet att använda någon information från nuvarande bildruta som år i färd med att komprimeras.
Ett exempel med autonom prediktion är nollpreditionen: alla koefficientvärden predikteras till noll. Ett annat exempel är föregående-bildruta-prediktionen: prediktionskoefficientema såttes till de rekonstruerade kvantiserade heltalen från föregående bildruta.
Med hänvisning till fig. 6a och fig. 6b, visas ett alternativs utförande som inkluderar rörelesprediktionsblock. Ett första prediktionsblock 610 som kontrolleras av parametrar, och ett estimeringsblock 620, som estimerar dessa prediktionsparametrar, är inkluderade i komprimeringsblocket vid det adaptiva kvantiseringblocket 150, se fig. 6a; och ett andra prediktionsblock 630 kontrollerat av samma parametrar, inkluderas i dekomprimeringsblocket 220 vid blocket 250 för invers adaptiv kvantisering.
Prediktionen består av två steg. Först estimeras den parameter somska användas i estimeringsblocket 620. All information baserad på historien av tidigare bildrutor så vâl som information från nuvarande bildruta, d.v.s. de kvantiserade heltal som är märkta med 680. När parametrarna blivit estimerade sändes de (märkta med 640) tillsammans med kontrollbitama (märkta med 650), till blcmket 250 för invers adaptiv kvantisering. I det andra steget körs en algoritm parallellt i prediktíonsblocken 610 och 630 båda med de estimerade parametrarna 640 och respektive utflöde 660 från kvantiseringblocket 150 och utflöde 670 från blocket 250 för invers kvantisering. Ingen information användes från nuvarande bildruta förutom den information som ges genom global translationsprediktering. Nuvarande bild matchas mot föregående bild genom att parametrarna 640. Ett exempel av parameterkontrollerad prediktion år translatera föregående bilden för att få fram den translationsparameter som beskriver den translation som ger den bästa matchningen. Sedan rekonstrueras den föregående bilden från föregående mängd av rekonstruerande heltal, denna bild translateras och ett ny mängd av kvantiserad heltal konstrueras utifrån den tranlsaterade bilden. Denna nya 10 15 20 25 30 35 527 621 21 mäng av kvantiserade heltal används sedan som prediktionsvården.
I denna utföringsform måste en av algoritmema i det första eller det andra kontrollerade prediktionsblocken 610 och 630 ha kännedom om den geometriska ordningen av de kvantiserade blocken och till wavelet-algoritmen som använts vid förbehandlingen för att kunna göra de inversa transformationerna och sedan - efter att ha funnit den bästa translationen- kunna beräkna de nya kvantiserade heltalen.
Denna globala translationsprediktion resulterar i en bättre kompression av, exempelvis en videosekvens taken med en handhållen (icke-stabiliserad) kamera.
Användning av global translationsprediktering tillsammans med autonom prediktering leder till ett effektiv sätt att koda ett rörligt objekt mot en fixerad bakgrund - om man har tillgång till det värde på translationsparameter som motsvarar rörelsen av objektet från föregående bildruta till nuvarande bildruta. Information om formen på objektet erfordras inte.
Globala affina transformationer kan också inkluderas - detta skulle kunna hantera videosekvenser med rotation och zoomning. användas - där Lokala kan också translationsparametrarna är baserade på estimat genom som erhålles genom matchning autonoma translationsprediktioner mellan rekonstruerade bilder från föregående mängden av rekonstruerade kvantiserad heltal och från tidigare mängder av rekonstruerade kvantiserad heltal. Detta är lokalt på det sättet att bildrutan kan delas in i lokala boxar för vilka parametrarna estimeras individuellt, och sedan kan den förväntade tranlationen extrapoleras. Notera att det kan bli ett (stort) antal av lokala translaüonsparametras, men de genereras på varje sida separat, d.v.s. såväl i det adaptiva kvanitseringblocket som i blocket för invers kvantisering.
Beräkningen vid matchning kan utföras som följer. Antag at bilden är en matris, där f är nuvarande matris och g är matrisen som den skall matchas mot och att Xia âr en indexfunktion för den lokala boxen B. Uttrycket m= J1f-g|”z,dx (22) 10 15 20 25 30 527 621 22 där x anger position i nuvarande bildruta, y beskriver translationen och x-y anger den ursprungliga position i föregående bildruta , minimeras. Detta kan göras genom att utföra beräkningarna flfoøfzßoødx (231 faltningarna (ffs) =r§(y) och (1,)*|§]2(y), där §(x)= g(-x). Faltningarna utföres som multiplikationer på Fouriertransform sidan. Med Fast Fourier Transform (FFT) algoritmen så kan beräkningen göras med antalet beräkningssteg av storleksordningen N*log(N), där N är antalet element i matrisen. Detta matchningsförfarande är väl känt för personer insatta i ämnet.
För att hantera problemet med inspelningsvillkor med flimrande ljus så kan ett medelvärde beräknas från nuvarande bild. Detta förbehandling som utföres innan man får fram de kvantiserade heltalen. I fallet med waveletkoefficienter, kan detta lätt utföras med metoder som är välkända för fackmannen. Sedan utföres en multiplikativ kalibrering genom att modifiera tröskelvärdet innan kvantiseringen. I en altemafiv metod att handskas med flimrande ljusvillkor så kan en global translation utföras med en multiplikativ faktor. Uttrycket m= flf-«g|*wf (24) där f år nuvarande bildruta och g är den föregående bildrutan, där x är positionen i nuvarande bildruta, y beskriver translationen och x-y är den ursprungliga position i föregående bildruta, som blivit translaterat till position x vid rnatchningen och a är en multiplikaüv faktor. Maximum uppnås när a=arnin(y). f *š(y) flšlz dx (25) “man (Y) = där §(x) = g(-x). Insättning av a = ami,,(y] i (24) ger 10 15 20 25 30 527 621 23 _|f*§o>|* flšlz dr (26). m Slutligen minimeras uttrycket m(y, amin(y)) över translationsvektorema y. Även om specifika utföringsformer har visats och beskrivits hâri i illustrerande och exemplifierande syfte, inses det av fackrnannen inom området att de specifika utföringsformer som har visats och beskrivits kan ersättas med en stor variation av alternativ och / eller ekvivalenta implementationer utan att frångå det som år kärnan i uppfinningen. Fackmannen inom området kommer vid genomlâsningen inse att föreliggande uppfinning skulle kunna implementeras genom en stor variation av och mjukvaru- kombinationer av dessa. Exempelvis så kan man funktioner som beskrivits ovan utföranden, som inkluderar hårdvartv, implementationer och erhållas och genomföras genom lämplig mjukvara insatt i et mikro-chip eller liknande databârare. Denna ansökan är avsedd att täcka varje modifiering eller variation av föredragna utföringsformer som har diskuterats hâri. Följaktligen definieras föreliggande uppfinning av ordalydelsen i bifogade patentkrav och ekvivalenta omformuleríngar av dessa.

Claims (15)

10 15 20 25 30 527 621 24 Patentkrav
1. Metod för att komprimera data för en bild, vilken bild ingår i en sekvens med bilder, innefattande stegen att: omvandla data för en bildruta i nämnda sekvens till en första sekvens med reella tal genom användning av en wavelettransformmetod; kvantisera nämnda första sekvens med reella tal för att erhålla en första sekvens heltal; kvantisera nämnda första sekvens med heltal för nämnda bildruta genom användning av en predikterad sekvens med heltal som representerar nämnda första sekvens med heltal för att framställa en andra sekvens med heltal där man, för varje koeflïcient i nämnda andra sekvens, väljer ett förhållande mellan ett heltal i nänmda första sekvens med heltal för nämnda bild och motsvarande heltal i en referensbild och motsvarande heltal i den predikterade sekvensen baserat på ett utvärderingsvärde för nämnda förhållande, varvid nämnda predikterade sekvens är baserad på åtminstone en tidigare bildruta i nämnda sekvens med bilder; och koda nämnda heltal i nämnda andra sekvens för nämnda bildruta till en bitström som representerar den komprimerade sekvensen med heltal för nämnda bild.
2. . Metod enligt krav 1, varvid steget att välja innefattar steget att , för varje koefiicient i nämnda andra sekvens med heltal, jämföra ett första förhållande mellan heltalet i nämnda första sekvens med heltal för nämnda bildruta och motsvarande heltal i referensbilden och ett andra förhållande mellan nämnda heltal och motsvarande heltal i den predikterade sekvensen; och . fastställa utvärdezingsvärdet för varje förhållande baserat på respektive förhållande i kodad form.
3. . Metod enligt krav 2, varvid steget att fastställa innefattar steget att: fastställa absolutvärdet för respektive förhållande, varvid utvärderingsvårdet för varje förhållande år satt till motsvarande absolutvärde. 10 15 20 25 30 35 527 621 25
4. . Metod enligt krav 3, varvid steget att välja innefattar steget att välja det förhållande som har det lägsta absolutvärdet.
5. . Metod enligt krav 1 eller 2, varvid steget att välja innefattar steget att välja nämnda förhållande enligt , c-r l c =c-r om p = r eller < - , p -r 2 c'=c-p annars , där c' är ett heltal i den andra sekvensen, p är motsvarande heltal i den predikterade sekvensen, c är motsvarande heltal i den första sekvensen för en aktuell bildruta och r är motsvarande heltal för en referens bildruta.
6. . Metod enligt krav 3, varvid steget att kvantisera nämnda första sekvens med heltal i samma bildruta innefattar steget att: om c-r p-r pafir och -ås <š, associera en kontrollbit som identifierar det valda förhållandet.
7. . Metod enligt något av föregående krav, vidare innefattande steget att: lagra nämnda bitström som en komprimerad representation av nämnda sekvens för nämnda bildruta.
8. . Metod enligt något av föregående krav, vidare innefattande dekomprimering av nämnda komprimerade sekvens genom att invertera stegen att transformera, kvantisera nämnda första sekvens med reella tal, kvantisera nämnda första sekvens med heltal för nämnda bildruta och att avkoda i omvänd ordning.
9. . Metod enligt krav 8, varvid steget att invertera steget att kvantísera nämnda första sekvens med heltal innefattar stegen att: rekonstruera en sekvens med heltal i en aktuell bildruta enligt c-r 1 c=c'+r om p=r eller <-, p-r 2 10 15 20 25 30 35 527 621 26 c=c'+r iannatfall , där c' år ett heltal i den komprimerade sekvensen, r är motsvarande heltal i referensbildrutan och c är motsvarande heltal i den rekonstruerade sekvensen som representerar den första sekvensen i den aktuella bildrutan.
10. Metod enligt krav 9, varvid steget att rekonstruera innefattar steget att
11. Om c-r p-r p a: r and -å- .<. < â- , där p är ett heltal i den predikterade sekvensen och c är motsvarande heltal I den aktuella bildrutan, genom användning av den associerade kontrollbiten för att identifiera förhållandet mellan ett heltal, c', i den komprimerade sekvensen, motsvarande heltal, r, i referensbildrutan och motsvarande heltal, c, i den rekonstruerade sekvensen som representerar den första sekvensen i den aktuella bildrutan. ll.Metod enligt krav 9 eller 10, vidare innefattande steget att lagra den rekonstruerade sekvensen med heltal.
12. Metod enligt något av föregående krav, varvid den predikterade sekvensen år en simulerad rekonstruerad sekvens för en tidigare bildruta.
13. System för att komprimera och dekomprimera data, innefattande: en lagringsanordning för att lagra data; transformorgan anordnat att transformera data för en bildruta till en sekvens med reella tal; komprimeringsbehandlingsorgan anordnat att kvantisera nämnda första sekvens med reella tal för att producera en andra sekvens med heltal; organ för adaptiv kvantisering anordnat att kvantisera nämnda första sekvens med heltal genom användning av en predikterad sekvens med heltal som representerar nämnda första sekvens med heltal för att framställa en andra sekvens med heltal där, för varje koeñicient i nämnda andra sekvens, 10 15 20 25 527 621 27 förhållande mellan ett heltal i nämnda första sekvens med heltal för nämnda bild och motsvarande heltal i en referensbild och motsvarande heltal i den predikterade sekvensen baserat pä ett utvärderingsvärde för nämnda förhållande välj s, varvid nämnda predikterade sekvens är baserad på åtminstone en tidigare bildruta i nämnda sekvens med bilder; och kodningsorgan anordnat att koda nämnda heltal i nämnda andra sekvens för nämnda bildruta till en bitström som representerar den komprimerade sekvensen med heltal för nämnda bildruta.
14. System enligt krav 13, vidare innefattande rekonstruktionsorgan anordnade att avkoda en bitström som representerar en komprimerad sekvens med heltal till en tredje sekvens med heltal; i organ för invers aclaptiv kvantisering anordnat att inverst kvantisera nämnda fjärde sekvens med heltal för att producera en rekonstruerad först sekvens med heltal genom att använda den predikterade sekvensen med heltal som representerar nämnda första sekvens med heltal; och organ för invers kvantiseringen anordnat att inverst transformera nämnda rekonstruerade första sekvens med heltal för att producera en andra sekvens med reella tal; och organ för invers transformering anordnat att inverst transformera nämnda sekvens med reella tal till en rekonstruerad bildruta med data.
15. Datorläsbart medium innefattande instruktioner för att bringa en dator att utföra metoden enligt något av kraven 1- 12.
SE0301664A 2003-06-10 2003-06-10 Metod och system för komprimering av bilddata SE527621C2 (sv)

Priority Applications (14)

Application Number Priority Date Filing Date Title
SE0301664A SE527621C2 (sv) 2003-06-10 2003-06-10 Metod och system för komprimering av bilddata
PT47358361T PT1639831T (pt) 2003-06-10 2004-06-02 Método para compressão de dados
SI200432392T SI1639831T1 (sl) 2003-06-10 2004-06-02 Metoda za stiskanje podatkov
EP04735836.1A EP1639831B1 (en) 2003-06-10 2004-06-02 Method for compression of data
DK04735836.1T DK1639831T3 (en) 2003-06-10 2004-06-02 PROCEDURE FOR DATA COMPRESSION
PCT/SE2004/000847 WO2004110070A1 (en) 2003-06-10 2004-06-02 Method for compression of data
TR2017/08179T TR201708179T4 (tr) 2003-06-10 2004-06-02 Veri sıkıştırma yöntemi.
HUE04735836A HUE033524T2 (en) 2003-06-10 2004-06-02 Procedure for compressing data
KR1020057023711A KR101063094B1 (ko) 2003-06-10 2004-06-02 데이터 압축을 위한 방법
PL04735836T PL1639831T3 (pl) 2003-06-10 2004-06-02 Sposób kompresowania danych
CNB2004800223818A CN100539703C (zh) 2003-06-10 2004-06-02 压缩数据的方法和***
ES04735836.1T ES2627556T3 (es) 2003-06-10 2004-06-02 Método para compresión de datos
US10/560,056 US7355533B2 (en) 2003-06-10 2004-06-02 Method for compression of data
HK07104025.4A HK1097976A1 (en) 2003-06-10 2007-04-17 Method and system for compression of data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE0301664A SE527621C2 (sv) 2003-06-10 2003-06-10 Metod och system för komprimering av bilddata

Publications (3)

Publication Number Publication Date
SE0301664D0 SE0301664D0 (sv) 2003-06-10
SE0301664L SE0301664L (sv) 2004-12-11
SE527621C2 true SE527621C2 (sv) 2006-04-25

Family

ID=29212400

Family Applications (1)

Application Number Title Priority Date Filing Date
SE0301664A SE527621C2 (sv) 2003-06-10 2003-06-10 Metod och system för komprimering av bilddata

Country Status (14)

Country Link
US (1) US7355533B2 (sv)
EP (1) EP1639831B1 (sv)
KR (1) KR101063094B1 (sv)
CN (1) CN100539703C (sv)
DK (1) DK1639831T3 (sv)
ES (1) ES2627556T3 (sv)
HK (1) HK1097976A1 (sv)
HU (1) HUE033524T2 (sv)
PL (1) PL1639831T3 (sv)
PT (1) PT1639831T (sv)
SE (1) SE527621C2 (sv)
SI (1) SI1639831T1 (sv)
TR (1) TR201708179T4 (sv)
WO (1) WO2004110070A1 (sv)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100754611B1 (ko) * 2006-01-24 2007-09-05 삼성전자주식회사 데이터 전송 장치 및 방법
US8010704B2 (en) * 2008-05-29 2011-08-30 GM Global Technology Operations LLC Method of efficient compression for measurement data
CN103312336A (zh) * 2013-06-28 2013-09-18 京信通信***(中国)有限公司 一种数据压缩的方法及装置
CN104378118B (zh) * 2014-10-29 2017-08-11 中国科学院地质与地球物理研究所 高效自适应地震数据流无损压缩及解压缩方法
US20230318622A1 (en) * 2017-06-22 2023-10-05 Nippon Telegraph And Telephone Corporation Encoder, decoder, encoding method, decoding method and program
JP7139897B2 (ja) * 2018-11-07 2022-09-21 日本電信電話株式会社 符号化装置、復号装置、符号化方法、復号方法、符号化プログラム、復号プログラム
CN112181360B (zh) * 2019-07-04 2023-06-16 福建天泉教育科技有限公司 浮点数的乘法运算方法及计算机可读存储介质
CN117221414B (zh) * 2023-11-09 2024-01-16 东莞中杰艾克森电子有限公司 一种调制解调器数据智能传输方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2520306B2 (ja) * 1989-05-24 1996-07-31 三菱電機株式会社 変換符号化装置
US6275533B1 (en) 1997-06-20 2001-08-14 Matsushita Electric Industrial Co., Ltd. Image processing method, image processing apparatus, and data recording medium
JP3205532B2 (ja) 1997-12-04 2001-09-04 松下電器産業株式会社 画像処理方法及び画像処理装置,並びにデータ記憶媒体
US6888891B2 (en) * 2002-01-09 2005-05-03 Octa Technology, Inc. Wavelet domain half-pixel motion compensation
WO2003092169A1 (en) * 2002-04-26 2003-11-06 Ntt Docomo, Inc. Signal encoding method, signal decoding method, signal encoding device, signal decoding device, signal encoding program, and signal decoding program

Also Published As

Publication number Publication date
EP1639831B1 (en) 2017-03-08
HUE033524T2 (en) 2017-12-28
CN100539703C (zh) 2009-09-09
SE0301664L (sv) 2004-12-11
SI1639831T1 (sl) 2017-09-29
TR201708179T4 (tr) 2019-02-21
PT1639831T (pt) 2017-06-20
ES2627556T3 (es) 2017-07-28
KR101063094B1 (ko) 2011-09-07
DK1639831T3 (en) 2017-06-19
CN1857007A (zh) 2006-11-01
PL1639831T3 (pl) 2017-10-31
HK1097976A1 (en) 2007-07-06
EP1639831A1 (en) 2006-03-29
WO2004110070A1 (en) 2004-12-16
US20060220934A1 (en) 2006-10-05
US7355533B2 (en) 2008-04-08
SE0301664D0 (sv) 2003-06-10
KR20060055466A (ko) 2006-05-23

Similar Documents

Publication Publication Date Title
US5768437A (en) Fractal coding of data
US6891973B1 (en) Lossy/lossless region-of-interest image coding
US6801665B1 (en) Method and apparatus for compressing and decompressing images
EP1062623B1 (en) Method and apparatus for compressing images
JP5373909B2 (ja) 圧縮ビデオにおける構文要素のcabac/avc準拠の透かし入れ
CN102017634B (zh) 重新排序的变换系数的多级表示
US7869659B2 (en) Image-comparing apparatus, image-comparing method, image-retrieving apparatus and image-retrieving method
Du et al. High capacity lossless data hiding in JPEG bitstream based on general VLC mapping
Wei et al. Distortion function based on residual blocks for JPEG steganography
JPH0630391A (ja) 大域ブロック変換を用いた圧縮画像データに頑強性を付与するための装置および方法
SE527621C2 (sv) Metod och system för komprimering av bilddata
JP2003188733A (ja) 符号化方法及び装置
KR100742518B1 (ko) 정보의 압축 저장
US10687062B1 (en) Compression across multiple images
CN113613022A (zh) 一种jpeg图像的压缩方法、装置、设备及可读介质
Tilki et al. Image data compression using multiple bases representation
Kadim et al. Lossless Biometric Signal Compression.
EP1862940A1 (en) Image compression

Legal Events

Date Code Title Description
NUG Patent has lapsed