SE511186C2 - Förfarande och anordning för att koda datasekvenser - Google Patents

Förfarande och anordning för att koda datasekvenser

Info

Publication number
SE511186C2
SE511186C2 SE9701351A SE9701351A SE511186C2 SE 511186 C2 SE511186 C2 SE 511186C2 SE 9701351 A SE9701351 A SE 9701351A SE 9701351 A SE9701351 A SE 9701351A SE 511186 C2 SE511186 C2 SE 511186C2
Authority
SE
Sweden
Prior art keywords
symbol
difference
coding
predicted
coded
Prior art date
Application number
SE9701351A
Other languages
English (en)
Other versions
SE9701351L (sv
SE9701351D0 (sv
Inventor
Filippo Passaggio
Torbjoern Einarsson
Per Thorell
Original Assignee
Ericsson Telefon Ab L M
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 Ericsson Telefon Ab L M filed Critical Ericsson Telefon Ab L M
Priority to SE9701351A priority Critical patent/SE511186C2/sv
Publication of SE9701351D0 publication Critical patent/SE9701351D0/sv
Priority to JP54380998A priority patent/JP2001520822A/ja
Priority to PCT/SE1998/000652 priority patent/WO1998047234A1/en
Priority to CN98804099.9A priority patent/CN1252187A/zh
Priority to EP98917870A priority patent/EP1016221A1/en
Priority to CA002286184A priority patent/CA2286184A1/en
Priority to AU70919/98A priority patent/AU740091B2/en
Publication of SE9701351L publication Critical patent/SE9701351L/sv
Publication of SE511186C2 publication Critical patent/SE511186C2/sv
Priority to US09/413,213 priority patent/US6317520B1/en

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3066Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction by means of a mask or a bit-map
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M3/00Conversion of analogue values to or from differential modulation
    • H03M3/04Differential modulation with several bits, e.g. differential pulse code modulation [DPCM]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3002Conversion to or from differential modulation
    • H03M7/3048Conversion to or from one-bit differential modulation only, e.g. delta modulation [DM]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3059Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3068Precoding preceding compression, e.g. Burrows-Wheeler transformation
    • H03M7/3071Prediction
    • H03M7/3073Time
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3068Precoding preceding compression, e.g. Burrows-Wheeler transformation
    • H03M7/3079Context modeling
    • 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/164Feedback from the receiver or from the transmission channel
    • 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
    • H04N7/36

Description

511 186 representeras med långa koder vilket leder till en kortare total längd av den digitala strömmen. Ett sådant schema kallas förlustfritt eftersom ingen distorsion påförs data genom komprimeringen och den ursprungliga datasekvensen sålunda perfekt kan återskapas.
Den andra strategin som används för att åstadkomma ytter- ligare komprimering tar bort lite av informationen och är känd som förlustbehäftad datakomprimering. Målet med en sådan procedur är att göra distorsionen som påförs av det förlust- behäftade schemat så omärkligt som möjligt. Förlustbehäftad datakomprimering används i de flesta effektiva ljud-, bild- och videokomprimeringsalgoritmerna.
En vanlig teknik att koda data kallas bit-plankodning (BPC). Givet en uppsättning digitala tal i det dynamiska området R = [0, 2k -1] (t ex, R = [0, 255] svarande mot k = 8- bitars digitala tal), betraktas talen som k uppsättningar/plan av binära siffror (bitar) {0,1}. Varje bit-plan svarar mot en bit i den binära representationen av alla talen. När denna standard-bit-planuppdelning görs återstår en stark korrelation mellan bit-plan. Denna korrelation kan utnyttjas i ett prediktivt kodningsschema, t ex, genom att koda de minst signifikanta bit-planen med avseende på mer signifikanta bit- plan. Se t ex M. Rabbani, P. Melnychuck, “Conditioning Context for the Arith. Coding of Bit-Planes“, IEEE trans. on Signal Prcc., vol. 40 nr. 1, januari 1992 och US A 5 442 458, Ett annat sätt är att avkorrelera bit-planer genom att använda Gray-kodning på alla datavärden innan bit-planuppdel- ningen görs. Därefter kan bit-planen kodas oberoende med ungefär samma resultat som för prediktiv kodning men med lägre komplexitet.
Motivet för en sådan uppdelning är att varje bit-plan kan kodas effektivt genom att använda binära kompressionstekniker.
Att arbeta i den binära domänen minskar komplexiteten för inom- plansprediktionsmodellen och högre ordningens prediktion kan användas. Exempelvis kan i fallet med videokodning ett större spatiellt område kring elementet tas med i beaktande för prediktionen.
Vid beaktande av bit-planrepresentation av vanliga naturliga bildsekvenser är vanligen fallet det att mindre 511 186 variation och mer korrelation finns mellan sampel i de mest signifikanta bit-planen. Sålunda kan dessa kodas mer effektivt än de mindre signifikanta bit-planen. Ur denna synvinkel kan en märkbar ökning i kompressionsförhållandet uppnås genom att använda förlustbehäftad kodning genom att inte beakta de minst signifikanta bit-planen.
Komprimering av de mest signifikanta bit-planen tillsammans med icke användning av de minst signifikanta planen har använts inom området för kompression av visuella data t ex såsom beskrivs i den samtidigt oavgjorda internationella patent- ansökan PCT/SE96/00943 som beskriver en algoritm som är baserad på en utökad BPC-teknik för videosekvenser. om alla symboler är lika sannolika kan ingen (förlustfri) kompression göras. Om man kan hitta en statistisk modell för att prediktera data från tidigare värden kan emellertid, såsom beskrivits ovan, en ny sekvens konstrueras av symboler som har en sannolikhetsfördelning med mindre varians vilken sedan kan komprimeras. Detta svarar mot en minskning av entropin om symbolerna behandlas som oberoende.
Betrakta en symbolkälla, S = {s(1),s(2),s(3),...}, som representeras som heltal i det dynamiska området R (där s(i) är symbolen som alstras vid tidpunkten i). Varje tal har k-bitar och det dynamiska området är R = [0, 2k -1]. Således om k=3, R=[o,7}.
Om dessa symboler är en uppsättning av antingen spatiellt eller temporärt successiva sampel i en ljud- eller videosekvens är de korrelerande i den meningen att intilliggande värden ofta ligger nära varandra.
En vanlig metod för att utnyttja denna korrelation är att skapa en ny symbolkälla O = {o(1),o(2),o(3),...) ur den ursprungliga vars sannolikhetsfördelning är mycket mer koncentrerad kring ett fåtal värden och därför tillåter en högre komprimering.
En i litteraturen känd lösning är att göra O skillnaden mellan successiva värden: °(l) S(1) o(i) s(i) - S(i-1) ur vilket ursprungssekvensen perfekt kan återskapas som s(i) = 0(1) , Il 511 186 s(i) = o(i) + s(i-1).
Förfarandet är känt som differentiell pulskodmodulering (DPCM).
Ett sätt att se på s(i-1) är som en prediktion av värdet på s(i) och att se på o(i) som prediktionsfelet. Detta är ett exempel på att utnyttja första ordningens korrelation mellan data. För en stationär källa kan det allmänna sättet att skapa O skrivas som: O(i) = s(i) - s'(i) där s'(i) betecknar prediktionen som i det allmänna fallet ges som: s'(i) = f(s(i-1), s(i-2)....) där f är funktionen som genererar den nya representationen.
I det följande betecknar s'(i) prediktionen.
I det enkla fallet med en första ordningens korrelation kan en tvådimensionell grafisk representation av funktionen f skapas. Ett exempel med en 3-bitars dynamiskt område (0, 7] som visar DPCM-värdena för varje kombination av s”(i) = s(i-1) och s(i) visas i tabellen i fig 1.
Observera att varje (sub-)diagonal representerar ett visst euklidiskt avstånd mellan värdena s(i) och prediktionen s'(i).
Histogrammet för o(i) för typiska källor, t ex ljud- signaler, är koncentrerade kring noll p g a likheten mellan successiva sampel och den lägre varianser möjliggör en effektiv kodning av o(i). Detta medför att s'(i) = s(i-1) är en god prediktion.
Subtraktionen som används i DPCM bevarar emellertid inte det dynamiska omrâdet. Om exempelvis källsymbolerna känne- tecknas av ett 8-bitars dynamiskt område [0,255] kommer ut- signalen att ha ett dubblerat dynamiskt område [-255, 255] svarande mot 9-bitars tal. Detta medför en minskning i kompressionen när, exempelvis, en bit-plankodningsteknik beaktas (ett bit-plan till måste kodas). För det andra fås en ökning i komplexiteten ur arkitektursynpunkt. Ett exempel är att arkitekturen för vanliga digitala system är baserade på 511 186 byte som minsta dataenhet (1 byte = 8 bit); och ökningen i dynamiskt område kan då kräva en utökning till att använda 2 byte för varje sampel.
Vidare beskrivs i Ying Wang, “A set of Transformations for Lossless Image Compression“, IEEE Transactions on image processing, vol. 4, nr 5, maj 1995, sid 677-699, en trans- formation som bevarar det dynamiska området hos DPCM för ett stillbildkodningsschema. Denna artikel beaktar också möjlig- heten att permutera hela symboler i tabell 2a i syfte att koda symbolerna mer effektivt. Exempel på motsvarande tabeller visas i fig 3a resp 4a. Det motsvarande antalet “ettor“ som krävs för att koda varje skillnadssymbol visas i fig 2b, 3b respektive 4b. Antalet ettor betyder i detta fall antalet binära ettor som används för att koda en specifik symbol i tabellposterna. Om exempelvis symbolen som skall kodas är “4“ är den binära representationen för denna symbol “l0O“ vilket innehåller en binär etta. En minskning av antalet ettor kommer att åstadkomma en mer effektiv bit-plankodning.
Således visar tabellen i fig 1 de olika kodade värdena för olika kombinationer av föregående och aktuella symboler för en datasekvens med ett 3-bit dynamiskt område och kodad enligt den vanliga DPCM-algoritmen. Om värdet 8 läggs till alla negativa poster i tabellen i fig 1 åstadkommas tabellen som visas i fig 2a. Tabellen i fig 2 är i många fall att föredra framför tabellen i fig 1 eftersom den ger samma information utan att orsaka någon ökning i det dynamiska området. Således betyder detta i den grafiska representationen att endast tal i det ursprungliga dynamiska området finns i tabellen 2a.
Vidare är tabellerna 3a och 4a modifieringar av fig 2a som också visar inverterbara permutativa koder.
Inverterbar i detta fall betyder att tabellen är en grupp- multiplikationstabell och att sekvensen kan avkodas åt motsatt håll, dvs sekvensen är reverserbar. Permutativ betyder att strukturen hos koderna är samma som strukturen som visas i fig 2a men att symbolposterna har permuterats.
Redogörelse för uppfinningen Det är ett syfte med föreliggande uppfinning att förbättra kompressionen som är möjlig att uppnå enligt teknikens stånd- punkt och det är också ett syfte att använda sådana scheman för 511 186 kompression av video- och ljudsekvenser.
Dessa syften och andra uppnås medelst ett allmänt för- farande som utnyttjar korrelationen som finns mellan digitala värden samtidigt som det dynamiska området bibehålls. För- farandet baseras på insikten att de kodningsscheman som be- skrivs i teknikens ståndpunkt inte tar bort all redundans från kodningen. Sålunda finns det fortfarande reversibla för- hållanden mellan konsekutiva sampel.
Således kan en mycket mer flexibel kodningsalgoritm uppnås genom att skapa differentiella kodningsalgoritmer som inte på något sätt är reversibla. Flexibiliteten används för att ut- forma kodningsalgoritmen på ett sådant sätt att utsignalen blir möjlig att komprimera vid ett så högt kompressionsförhållande som möjligt.
Enligt en annan aspekt av uppfinningen används den differentiella kodningsalgoritmen i en förlustbehäftad miljö. I vissa tillämpningar behöver ursprungssekvensen inte vara perfekt rekonstruerad i syfte att uppnå ett acceptabelt resultat.
Kortfattad beskrivning av ritningarna Föreliggande uppfinning kommer nu att beskrivas mer i detalj med hjälp av ett icke begränsande utföringsexempel och med hänvisning till de bilagda ritningarna i vilka: - Fig 1 visar en DPCM-tabell enligt teknikens ståndpunkt.
- Fig 2a och 2b visar DPCM-tabeller enligt teknikens stånd- punkt som bevarar det dynamiska området och motsvarande antal ettor som behövs.
- Fig 3a och 3b visar tabeller enligt teknikens ståndpunkt liknande de som visas i fig 2a och 2b.
- Fig 4a och 4b visar tabeller enligt teknikens ståndpunkt liknande de som visas i fig 2a och 2b.
- Fig 5 visar en tabell som används för differentiell kod- ning.
- Fig 6a och 6b visar tabeller som används för differentiell kodning och minimering av antalet ettor.
- Fig 7a och 7b visar exempel på tabeller med en icke inverterbar kod.
- Fig 8a och 8b är tabeller som liknar tabellerna i fig 7a och 7b i vilka klusterbildningen maximerats. 7 511 186 - Fig 9a och 9b är tabeller som liknar de som visats i fig 8a och 8b men som är asymmetriska.
- Fig 10 är en tabell som liknar tabellen i fig 7.
- Fig ll är den inversa tabellen av fig 10.
- Fig 12 är en tabell som liknar den som visas i fig 10.
- Fig 13 är ett exempel på en tabell som har dynamiskt ökande/minskande nollalstring.
Beskrivning av föredragna utföringsformer Allmänt finns det många olika sätt att bilda inverterbara permutativa förhållanden. För det fall då syftet är att åstad- komma en utström som är komprimerad så mycket som möjligt bör emellertid tabellen väljas på ett sådant sätt så att utströmmen 0 optimeras med avseende på procedurens mål. För att exempelvis avkorrelera bit-planen hos 0 kan man Gray-koda posterna i tabellen i fig 2a vilket ger tabellen i fig 5.
En sådan tabell åstadkommer en mycket bättre utström ur kompressionssynpunkt och är därför att föredra framför tabellerna som visas i fig 2a, 3a och 4a.
I fig 6a visas en ännu bättre utföringsform där tabellen är en inverterbar icke permutativ kod. Tabellen i fig 6a är mycket bättre i den bemärkelsen att små skillnader kodas med ett minimum av antal ettor, se fig 6b, vilket sålunda ökar kompressionsförhållandet. Egenskapen som utnyttjas i detta fall är att den statistiska fördelningsfunktionen för paret [s(i), s'(i)] är starkt koncentrerad kring huvuddiagonalen s(i) = s'(i) med avtagande sannolikhet för subdiagonalerna. Detta utnyttjande är möjligt tack vare koden som blir resultatet från det icke permutativa sätt på vilket koden är utformad.
Således består inte de olika subdiagonalerna i tabellen 6a av identiska symboler till skillnad från tabellerna i fig 2-5.
Denna egenskap, dvs att ha olika symboler längs respektive subdiagonal, möjliggör en mer flexibel och optimal kodning av skillnadssymbolerna.
Tabellerna i fig 2a-Ga svarar mot “gruppmultiplikations- tabeller“ och är inverterbara eftersom varje tal endast före- kommer en gång i varje rad och kolumn. Perfekt rekonstruktion av S från O är därför garanterad. Tabellerna 2-5 är vidare permutativa, dvs de har identiska symboler längs respektive subdiagonaler medan tabellen 6a är icke permutativ, dvs några 511 186 av symbolerna längs en viss subdiagnonal skiljer sig från varandra. Denna inverterbara egenskap kan vara fördelaktig i några tillämpningar.
I datakompression är emellertid målet att komprimera en sekvens av datasymboler till ett minimum. Beroende på kraven hos en viss tillämpning kan kompressionen antingen vara förlustfri eller behäftad med förluster. I båda dessa fall har den differentiella kodningen enligt teknikens ståndpunkt, exempelvis utformad enligt tabellerna i fig 1-4, inte visat sig vara optimal.
Resultaten som åstadkommes av kodningen enligt teknikerna i tabellerna 5 och 6a kan i detta avseende också ytterligare förbättras.
Detta har visat sig bero på det faktum att dessa tabeller ger mer information än som är nödvändigt, dvs förfarandena som beskrivs i samband med fig 1-4 och också i samband med fig 5 och 6a tar inte bort all redundant information. Således har det visat sig att givet o(i) kan man återskapa s(i) från s(i-1) men man kan också återskapa s(i-1) från s(i). Således kan man antingen utföra framåt- eller bakåtavkodning av symbolströmmen, dvs en inverterbar tabell svarar mot reversibel avkodning.
Eftersom i normala kodningstillämpningar endast framåt- rekonstruktion av s(i) från s(i-1) och o(i) används är grupp- multiplikationsstrukturen hos tabellerna som visas i fig 2a-6a onödigt begränsad och innehåller information som inte behövs.
Således, givet att s(i-1) redan har återskapats när rekonstruktionen av s(i) börjar är det enda villkoret på o(i)- tabellen att varje tal i området R endast skall finnas exakt en gång i varje kolumn. Med andra ord bör varje kolumn vara en permutation av R. Det finns ingen begränsning för fördelningen av talen i varje rad som det finns för en vanlig grupp- multiplikationstabell. Ett exempel på en tabell utformad enligt detta förfarande visas i fig 7a.
Detta mest allmänna förhållande som garanterad perfekt rekonstruktion av ursprungssignaler kan således skrivas som: Û(i) = fs' (i)(s(í)) där f§(i) (x) representerar en permutation av R.
För enkelhetens skull användas endast ett prediktionsvärde s'(i) i argumentet ovan. Förfarandet kan emellertid enkelt 511 186 generaliseras till mer komplexa fall genom att välja att permutationen beror på två, tre etc prediktionsvärden.
Motsvarande grafiska representation skulle då vara tre-, fyr- dimensionell etc.
Förfarandet är allmänt och kan användas under många olika förhållanden. Begränsningen att varje kolumn är en permutation ger stor frihet för att justera kodningen för en viss tillämpning. Fallet med bit-plankodning är särskilt intressant.
Förfarandet kan t ex användas i fallet med kodning av bit- plankodade videosekvenser. Den ursprungliga dataströmmen är då en sekvens av matriser av digitala tal där varje matris svarar mot en bild och där de digitala talen sträcker sig från 0-7. I detta exempel beaktas den temporala korrelationen och de konsekutiva digitala värdena s(l),s(2),... hos ett särskilt pixel vid tidpunkterna 1, 2,... betraktas som källan S. För vanliga videosekvenser (utan scenändringar) är konsekutiva sampels mycket korrelerade och den absoluta skillnaden beloppet av [s(i)-s(i-1)] är starkt koncentrerad kring noll. De flesta dataströmmar som härrör från sampling av en kontinuerlig signal visar liknande korrelation. Detta är t ex fallet för den spatiala korrelationen inom en bild i bildsekvensen och för en vanlig ljudström. Som ett alternativ kan man använda prediktion i planet s”(i).
Om man vill koda sekvensen genom att använda en bit-plan- kodningsteknik såsom i fallet med den citerade internationella patentansökan PCT/SE96/00943 kan en tabell av den typen som visas i fig 7a utformas i syfte att maximera kompressions- förhållandet. Olika strategier kan då användas. En strategi är att alstra en signal O så att det totala antalet ettor i bit- planet blir så litet som möjligt samtidigt som korrelationen mellan bit-planen görs liten.
Om s'(i) är en god prediktion är paret (s(i), s'(i)) starkt koncentrerad kring huvuddiagonalen s(i) = s'(i) med avtagande sannolikhet för subdiagonalerna. Detta är också fallet i detta exempel där s'(i) = s(i-1). I syfte att minimera det totala antalet ettor placeras kodtalen som har det minsta antalet ettor i sin binära representation närmast diagonalen.
Ett exempel på en möjlig tabell visas i fig 7a. Motsvarande antal ettor visas i tabellen i fig 7b. 511 186 1° Detta garanterar en ganska lyckad kodning av bit-planen men man måste i allmänhet justera den använda transformationen som använts tillsammans med en faktiska bit-plankodningsalgoritmen.
Vidare visar fig 8a ett exempel på en icke inverterbar kod som minimerar antalet ettor och maximerar storleken på kluster med ettor i bit-planen såsom syns i fig 8b. Tabellen i fig 8a är inte längre en gruppmultiplikationstabell eftersom posterna upprepas inom de individuella raderna.
I fig 9a som liknar fig Sa är symmetrin av ettor längs diagonalen borttagen, se fig 9b, vilket är fördelaktigt i vissa tillämpningar.
Förfarandet som beskrivs häri kan också användas som ett förfarande för att åstadkomma en effektiv förlustbehäftad kompression av data.
Således användes förfarandet ovan som ett förlustfritt schema. Detta betyder att en perfekt rekonstruktion av indata- sekvensen är garanterad. För att åstadkomma ännu högre kompression kan förfarandet generaliseras till det förlust- behäftade fallet genom att ta bort villkoret att varje kolumn måste vara en permutation i området R.
I det förlustbehäftade fallet tillåts varje kolumn att bestå av vilken delmängd som helst av R. Ett intressant fall är när subdiagonalen i tabellen i fig 7a som svarar mot beloppet [s(i) - s'(i)] = 1 sätts till “0“. Den resulterande tabellen visas i tabellen i fig 10.
Ett viktigt steg när man använder en förlustbehäftad tabell såsom den som visas i fig 10 är att det rekonstruerade värde av s'(i), betecknat gllil, skall användas i stället för s'(i) i syfte att undvika drift hos det rekonstruerade värdet med avseende på s(i).
I fallet med en förlustbehäftad transformationstabell är inte den inversa tabellen otvetydigt definierad utan måste specificeras explicivt. Man måste välja ett rekonstruerat värde för varje grupp av degenererade värden i varje kolumn. I fallet med tabellen i fig 10 kan man använda inversen hos den förlust- fria tabellen i fig 7a vilket betyder att diagonalen återskapas perfekt. Denna inversa tabell visas i tabellen i fig 11. Den enda skillnaden i det förlustbehäftade fallet är att vissa kombinationer av s'(i) och o(i) aldrig kommer att inträffa och ll 511 186 är irrelevanta för det förlustbehäftade fallet.
För att illustrera det förlustbehäftade fallet kan man betrakta sampelsekvensen s(i): 2 4 5 7 2 3 5 3 som kommer att återskapas som, om tabellen i fig 6 används: s(i): 24472253 Detta förfarande medger stor frihet i utformningen av tabeller och kan leda till en stor ökning i kompressions- förhållandet. I det specifika fallet som beskrivits ovan där den absoluta skillnaden beloppet av [s(i) - s(i-1)] används som är starkt koncentrerad kring noll leder användandet av tabellen i fig 10 till en stor minskning i det totala antalet ettor.
Ur kvalitativ synpunkt kan kvalitetsminskningen som påförs av detta särskilda förlustbehäftade schema effektivt styras.
Således återskapas de korrekta värdena när felet stiger över ett tröskelvärde. Särskilt används i schemat som visas i tabellen i fig 6a ett tröskelvärde på 1.
Exempelvis leder i fallet som beskrivits ovan i samband med videokodningstillämpning där s'(i) och s(i) är pixelvärden i samma position i successiva bilder förfarandet till en förlust av information i vissa pixel vid vissa ögonblick så att en distorsion ur visuell synpunkt införs.
Förluster införs emellertid endast längs subdiagonalerna.
Därför är kvalitetsförlusten begränsad och inte alltför stör- ande ur visuell synpunkt.
Kompressionen kan ökas ytterligare med avseende på fallet i fig 10 genom att modifiera tabellen på det sätt som visas i fig 12. I fig 12 svarar ingen symbol mot tre ettor. Detta åstad- kommeš genom att byta ut symbolen som svarar mot tre ettor mot en annan symbol vilket är möjligt i detta fall eftersom symbol- området har minskats tack vare införandet av förlustbehäftad kodning.
En annan fördel med det förlustbehäftade schemat är att det tillåter införande av bit-hastighetsstyrning. Detta åstadkommes genom att använda förfarandet som ett mer flexibelt schema där inte hela subdiagonaler nollställs utan endast vissa element däri. Antalet nollor i subdiagonalen ökas eller minskas dynamiskt i enlighet med kravet på kvalitet/kompression. En sådan teknik visas i fig 13 när nollor i de första sub- 511 186 12 diagonalerna delvis införts, jämför med fig 7a och 12.
På detta sätt kan en steglös försämring av kvaliteten åstadkommas när lasten på den använda kanalen ökar/minskar.
Sålunda, kan förfarandet som beskrivs i samband med fig 13 åstadkomma en mycket effektiv kodning som kan anpassas till den för närvarande tillgängliga bandbreddennär kanalen över vilken data överförs för annan trafik.
En ytterligare tillämpning är att jämna ut signalen genom att införa ett maximalt steg i tabellen som bevarar det dynamiska området så att alla skillnader större än, t ex 5, ges värdet 5.
Förfarandet som beskrivs häri kan utnyttja korrelationen i en ström av digitala tal utan att öka talens dynamiska område.
De tjänar därför som ett effektivt första steg i kodning av digitala data.
Vidare är förfarandet mycket allmänt och kan anpassas till mycket olika strategier och tillämpningar. Särskilt har det visat sig vara mycket effektivt i samband med entropi- kodningsschemat såsom de som baseras på bit-plankodning där möjligheten att utnyttja korrelationen mellan elementen utan att öka det dynamiska området är viktigt.
Förfarandet är också möjligt att använda både i ett förlustfritt fall samt i ett förlustbehäftat fall varvid för- farandet ger stor möjlighet att utforma optimala tabeller för en viss tillämpning.
Under förlustbehäftade förhållanden tillåter förfarandet en mycket hög kompression. De förlustbehäftade tabellerna kan också användas för att åstadkomma bit-hastighetsstyrning samt för att utjämna signalen. Det kan vidare användas för on-line- finjustering av kodningsschemat.
Ur beräkningsmässig synpunkt är förfarandet mycket billigt.
Det kan implementeras genom en enkel uppslagstabell.
Förfarandet kan användas'för att koda vilken ström av digitala tal som helst som har ett fixt område. Det är särskilt användbart för att koda ljud-, bild- och videoströmmar där en kontinuerlig signal har digitaliserats och där stor korrelation finns mellan näraliggande sampel eller i andra fall där en effektiv prediktion kan åstadkommas. Det kan enkelt generaliseras bortom första ordningens korrelationer genom att 13 511 186 införa flerdimensionella upps lagstabel ler .

Claims (16)

511 186 14 PATENTKRAV
1. Förfarande för förlustfri eller förlustbehäftad kodning av en sekvens av datasymboler som skall överföras eller lagras, kännetecknat av att varje symbol kodas med en dynamisk områdesbevarande skillnadssymbol som representerar en skillnad mellan en aktuell symbol och en predikterad symbol så att den kodade symbolen eller estimat av den kodade symbolen kan bestämmas genom att ha kännedom av den predikterade symbolen och skillnadssymbolen och att nämnda skillnadssymbol kodas på ett icke reverserbart sätt så att en föregående symbol inte unikt kan bestämmas genom den kodade symbolen och skillnads- symbolen.
2. Förfarande enligt krav 1, kännetecknat av att skillnadssymboler som är associerade med små prediktionsfel representeras med ett litet antal binära ettor i förhållande till stora prediktionsfel.
3. Förfarande enligt krav 1 eller 2, för det fall då kodningen är förlustbehäftad, kännetecknat av att den predikterade symbolen används som korrekt aktuell symbol, om skillnaden mellan den predikterade symbolen och den aktuella symbolen är mindre än ett första förutbestämt värde.
4. Förfarande enligt något av kraven 1-3, i fallet då kodningen är förlustbehäftad, kännetecknat av att symbolen som är associerad med det andra förutbestämda värdet används som skillnadssymbol, om skillnaden mellan den predikterade symbolen och den aktuella symbolen är större än ett andra förutbestämt värde.
5. Förfarande enligt något av kraven 3-4, kännetecknat av att det första och/eller det andra förutbestämda värdet ändras i enlighet med den momentant tillgängliga bandbredden hos en kanal som används för överföring av skillnadssymbolerna.
6. Förfarande enligt något av kraven 1-5, kännetecknat av att den predikterade symbolen åstadkommes genom att använda den föregående avkodade symbolen.
7. Kodningsanordning för förlustfri eller förlustbehäftad kodning av en sekvens av datasymboler, som skall överföras eller lagras, kännetecknad av - organ för att koda varje symbol med en dynamisk områdes- bevarande skillnadssymbol som representerar en skillnad mellan 15 511 186 en aktuell symbol och en predikterad symbol så att den kodade symbolen eller ett estimat av den kodade symbolen kan bestämmas med kännedom om den predikterade symbolen och skillnadssymbolen och - organ för att koda nämnda skillnadssymbol på ett icke reversibelt sätt så att en föregående symbol inte unikt kan bestämmas av den kodade symbolen och skillnadssymbolen.
8. Anordning enligt krav 7, kännetecknad av - organ för att koda skillnadssymbolerna som är associerade med små prediktionsfelen med få binära ettor i förhållande till skillnadssymbolerna som är_associerade med stora prediktions- fel.
9. Anordning enligt krav 7 eller 8, i fallet då kodningen är förlustbehäftad, kännetecknad av - organ för att koda den aktuella symbolen som den predikterade symbolen om skillnaden mellan den predikterade symbolen och den aktuella symbolen är mindre än ett första förutbestämt värde.
10. Anordning enligt något av kraven 7-9, i fallet då kodningen är förlustbehäftad, kännetecknad av - organ för att koda den aktuella symbolen som skillnads- symbolen associerad med ett andra förutbestämt värde om skillnaden mellan den predikterade symbolen och den aktuella symbolen är större än ett andra förutbestämt värde.
11. Anordning enligt något av kraven 9-10, kännetecknad av - organ för att ändra det första och/eller det andra förut- bestämda värdet i enlighet med den momentant tillgängliga band- bredden på en kanal som används för att överföra skillnads- symbolerna.
12. Anordning enligt något av kraven 7-11, kännetecknad av - organ för att åstadkomma den predikterade symbolen genom att använda den föregående avkodade symbolen.
13. Förfarande för förlustfri eller förlustbehäftad kodning av en sekvens av datasymboler som skall överföras eller lagras, kännetecknat av att varje symbol kodas med en dynamiskt områdesbevarande skillnadssymbol som representerar en skillnad mellan en aktuell symbol och en predikterad symbol så att den kodade symbolen eller ett estimat av den kodade symbolen kan bestämmas med kännedom om den predikterade symbolen och av 511 186 16 skillnadssymbolen och att nämnda skillnadssymbol kodas med hjälp av en icke permutativ gruppmultiplikationstabell.
14. Förfarande enligt krav 13, kännetecknat av att den predikterade symbolen åstadkommes genom att använda den före- gående avkodade symbolen.
15. Anordning för förlustfri eller förlustbehäftad kodning av en sekvens av datasymboler som skall överföras eller lagras, kännetecknad av - organ för att koda varje symbol med en dynamiskt områdes- bevarande skillnadssymbol representerande en skillnad mellan en aktuell symbol och en predikterad symbol så att den kodade symbolen eller ett estimat av den kodade symbolen kan bestämmas med kännedom av den predikterade symbolen och av skillnads- symbolen och - organ för att koda nämnda skillnadssymbol med hjälp av en icke permutativ gruppmultiplikatíonstabell.
16. Anordning enligt krav 15, kännetecknad av - organ för att åstadkomma den predikterade symbolen genom att använda den föregående avkodade symbolen.
SE9701351A 1997-04-11 1997-04-11 Förfarande och anordning för att koda datasekvenser SE511186C2 (sv)

Priority Applications (8)

Application Number Priority Date Filing Date Title
SE9701351A SE511186C2 (sv) 1997-04-11 1997-04-11 Förfarande och anordning för att koda datasekvenser
JP54380998A JP2001520822A (ja) 1997-04-11 1998-04-08 データ系列符号化の方法と装置
PCT/SE1998/000652 WO1998047234A1 (en) 1997-04-11 1998-04-08 A method and a device for coding data sequences
CN98804099.9A CN1252187A (zh) 1997-04-11 1998-04-08 用于编码数据序列的一种方法和一种设备
EP98917870A EP1016221A1 (en) 1997-04-11 1998-04-08 A method and a device for coding data sequences
CA002286184A CA2286184A1 (en) 1997-04-11 1998-04-08 A method and a device for coding data sequences
AU70919/98A AU740091B2 (en) 1997-04-11 1998-04-08 A method and a device for coding data sequences
US09/413,213 US6317520B1 (en) 1997-04-11 1999-10-05 Non-reversible differential predictive compression using lossy or lossless tables

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE9701351A SE511186C2 (sv) 1997-04-11 1997-04-11 Förfarande och anordning för att koda datasekvenser

Publications (3)

Publication Number Publication Date
SE9701351D0 SE9701351D0 (sv) 1997-04-11
SE9701351L SE9701351L (sv) 1998-10-12
SE511186C2 true SE511186C2 (sv) 1999-08-16

Family

ID=20406538

Family Applications (1)

Application Number Title Priority Date Filing Date
SE9701351A SE511186C2 (sv) 1997-04-11 1997-04-11 Förfarande och anordning för att koda datasekvenser

Country Status (8)

Country Link
US (1) US6317520B1 (sv)
EP (1) EP1016221A1 (sv)
JP (1) JP2001520822A (sv)
CN (1) CN1252187A (sv)
AU (1) AU740091B2 (sv)
CA (1) CA2286184A1 (sv)
SE (1) SE511186C2 (sv)
WO (1) WO1998047234A1 (sv)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030039445A (ko) * 2001-11-13 2003-05-22 삼성전자주식회사 영상 신호 송수신 장치
KR100422252B1 (ko) * 2001-12-20 2004-03-11 삼성전자주식회사 씬 클라이언트 네트워크 시스템과 그 네트워크 시스템의데이터 전송 방법
US7336720B2 (en) 2002-09-27 2008-02-26 Vanguard Software Solutions, Inc. Real-time video coding/decoding
US7684629B2 (en) 2004-01-26 2010-03-23 Fujifilm Corporation Data compression apparatus, and data compression program storage medium
US7689051B2 (en) * 2004-04-15 2010-03-30 Microsoft Corporation Predictive lossless coding of images and video
US7183950B2 (en) 2005-02-07 2007-02-27 Fuji Photo Film Co., Ltd. Data compression apparatus, and data compression program storage medium
US7826670B2 (en) 2005-06-15 2010-11-02 Fujifilm Corporation Data compression apparatus and data compression program storage medium
JP4633576B2 (ja) 2005-08-24 2011-02-16 富士フイルム株式会社 データ圧縮装置およびデータ圧縮プログラム
KR101237413B1 (ko) * 2005-12-07 2013-02-26 삼성전자주식회사 오디오 신호의 부호화 및 복호화 방법, 오디오 신호의부호화 및 복호화 장치
US8023562B2 (en) 2007-09-07 2011-09-20 Vanguard Software Solutions, Inc. Real-time video coding/decoding
US8526488B2 (en) 2010-02-09 2013-09-03 Vanguard Software Solutions, Inc. Video sequence encoding system and algorithms
EP2550529B1 (en) 2010-03-23 2021-11-17 Iogenetics, LLC. Bioinformatic processes for determination of peptide binding
US8693551B2 (en) 2011-11-16 2014-04-08 Vanguard Software Solutions, Inc. Optimal angular intra prediction for block-based video coding
US9106922B2 (en) 2012-12-19 2015-08-11 Vanguard Software Solutions, Inc. Motion estimation engine for video encoding
US10277247B1 (en) * 2018-04-11 2019-04-30 Bae Systems Information And Electronic Systems Integration Inc. Stateful compression scheme for efficient packing of kinematic data
US11431350B1 (en) * 2021-02-05 2022-08-30 Cox Communications, Inc. Lossy statistical data compression

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6327001A (ja) 1986-07-18 1988-02-04 松下電器産業株式会社 薄膜サ−ミスタ
JP2829954B2 (ja) * 1987-08-22 1998-12-02 ソニー株式会社 画像信号の高能率符号化装置及び方法
US4791483A (en) * 1987-11-20 1988-12-13 The Grass Valley Group, Inc. Adaptive differential pulse code modulation video encoder
IT1272417B (it) * 1993-04-29 1997-06-23 Alcatel Italia Metodo per la codifica e decodifica differenziale e relativi circuiti
JPH06327001A (ja) * 1993-05-11 1994-11-25 Olympus Optical Co Ltd 画像処理装置
DE69535800D1 (de) * 1994-06-08 2008-09-11 Matsushita Electric Ind Co Ltd Bildumsetzungsvorrichtung
JPH0863198A (ja) * 1994-08-22 1996-03-08 Nec Corp ベクトル量子化器
JPH08125868A (ja) * 1994-10-19 1996-05-17 Canon Inc 画像処理装置及び方法
AU6376296A (en) * 1995-07-11 1997-02-10 Telefonaktiebolaget Lm Ericsson (Publ) Video coding

Also Published As

Publication number Publication date
WO1998047234A1 (en) 1998-10-22
SE9701351L (sv) 1998-10-12
CA2286184A1 (en) 1998-10-22
CN1252187A (zh) 2000-05-03
AU740091B2 (en) 2001-11-01
EP1016221A1 (en) 2000-07-05
AU7091998A (en) 1998-11-11
JP2001520822A (ja) 2001-10-30
US6317520B1 (en) 2001-11-13
SE9701351D0 (sv) 1997-04-11

Similar Documents

Publication Publication Date Title
Jayasankar et al. A survey on data compression techniques: From the perspective of data quality, coding schemes, data type and applications
SE511186C2 (sv) Förfarande och anordning för att koda datasekvenser
US5023611A (en) Entropy encoder/decoder including a context extractor
US6128413A (en) Method and apparatus for data compression
JP4343440B2 (ja) Dwtベース技法によって圧縮された画像を符号化するための実時間アルゴリズムおよびアーキテクチャ
JP5052541B2 (ja) Sarデータを圧縮する方法、およびsarデータを符号化するための装置
RU2417518C2 (ru) Эффективное кодирование и декодирование блоков преобразования
US4281344A (en) Video interframe transform coding technique
JP3269858B2 (ja) 伝送装置
US6504877B1 (en) Successively refinable Trellis-Based Scalar Vector quantizers
Kim New finite state vector quantizers for images
JPH0529172B2 (sv)
US20030016878A1 (en) Dynamic image compression coding apparatus
CN1726644A (zh) 用于多种描述编码的设备和方法
KR100733949B1 (ko) 유한 알파벳 데이터의 비손실 적응 인코딩
Effros Practical multi-resolution source coding: TSVQ revisited
US8320687B2 (en) Universal lossy compression methods
KR100617407B1 (ko) 품질 우선 순위 이미지 저장 및 통신
KR100242635B1 (ko) 가변장 부호화 및 가변장 복호화 시스템
EP1333679A1 (en) Data compression
EP0731611A2 (en) Apparatus and methods for selectively reducing a huffman coding rate
CN111787326B (zh) 一种熵编码及熵解码的方法和装置
JP2024507299A (ja) バイナリデータを送信する方法及びデバイス
EP0731610A2 (en) Apparatus and methods for determining an initial huffman coding rate
KR100216600B1 (ko) 영상 신호 벡터 양자화기를 위한 다중 부호어 전송 방법

Legal Events

Date Code Title Description
NUG Patent has lapsed