SE528172C2 - Metod för behandling av en digital bild och bildrepresentationsformat - Google Patents

Metod för behandling av en digital bild och bildrepresentationsformat

Info

Publication number
SE528172C2
SE528172C2 SE0501601A SE0501601A SE528172C2 SE 528172 C2 SE528172 C2 SE 528172C2 SE 0501601 A SE0501601 A SE 0501601A SE 0501601 A SE0501601 A SE 0501601A SE 528172 C2 SE528172 C2 SE 528172C2
Authority
SE
Sweden
Prior art keywords
image
bitstream
coefficients
block
coefficient
Prior art date
Application number
SE0501601A
Other languages
English (en)
Other versions
SE0501601L (sv
Inventor
Johan Sten
Karl-Anders Johansson
Sami Niemi
Original Assignee
Scalado Ab
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
Priority claimed from SE0303085A external-priority patent/SE0303085D0/sv
Priority claimed from SE0303204A external-priority patent/SE0303204D0/sv
Priority claimed from PCT/SE2004/001677 external-priority patent/WO2005050567A1/en
Application filed by Scalado Ab filed Critical Scalado Ab
Priority to SE0501601A priority Critical patent/SE528172C2/sv
Publication of SE0501601L publication Critical patent/SE0501601L/sv
Publication of SE528172C2 publication Critical patent/SE528172C2/sv

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

20 25 30 35 *IIIIIIIIIIIIIIIIIIIIIIlill----IIIIIIIII-ll 528 172 2 bilder är JPEG (Joint Photographic Experts Group)- standarden. JPEG-standarden definieras i CCITT Rec. T. 81.
För tydlighets skull presenteras emellertid i det följande en kort beskrivning av bildfilsformatet enligt JPEG-standarden.
JPEG-standarden definierar ett förstörande baslinje- kodningssystem, vilket system är baserat på DCT-transfor- mationen, och ett utökat kodningssystem för presentation av den transformerade bilden i mindre mängder data. Vid omvandling av en digital bild till JPEG-filformatet görs en DCT-transformation och kvantisering av bilden, varvid varje komponent hos en färgrymdsmodell för bilden separat DCT-transformeras. Alla färgkomponenter representeras som block, vilka behandlas sekventiellt. De DCT-transforme- rade blocken trösklas och kvantiseras så att information från basfunktioner som har låg inverkan på hur bilden uppfattas förkastas. Den nollte ordningens koefficient (DC-koefficient) hos varje komponent hos varje block lagras som skillnaden till föregående DC-koefficient med hjälp av Huffman-kodning. De högre ordningarnas koeffi- cienter (AC~koefficienter) arrangeras sekventiellt, varvid sekvensen erhålls genom en sicksack-ordning från uppställningen. AC-koefficienterna nollföljdlängdskodas (zero run length code) och kodas dessutom med Huffman- kodning.
JPEG-filformatet är utvecklat för skapande av en standardkomprimering som väsentligt minskar lagrings- storleken för en digital bild. Således är JPEG- filformatet inte lämpat för manipulation av bilder. Om det finns en önskan att behandla en digital bild är det mest praktiskt att överföra den digitala bilden tillbaks i en representation i rumsdomänen. Vid behandling av bilder på en enhet som har litet lagringsutrymme, såsom en mobiltelefon, är det emellertid inte med säkerhet möjligt att hantera det stora lagringskravet hos den digitala bilden som representeras i rumsdomänen. lfifšêflöë--iê 30:56 1=':\jicwšrganisaticrfxstàïuëlïö âB\PATFïï~1'P\__lS-o}ïarnily\SE\2LOZüYBSXZIOZíY/*Išö AppïJcatinnfextïolnstrucïfix IAS 3QÜ5~Û8-ll i.doc 10 15 20 25 30 35 528 172 3 EP 1 037 165 beskriver en metod för manipulering av digitala bilder som är lagrade i JPEG-format. Bitströmmen av JPEG-bilden förskannas för identifiering av lägen för bildområden i bitströmmen. Vissa utsedda lägen lagras i en förskanningstabell för att enkelt åtkommas, varigenom valda områden av bilden kan åtkommas utan behovet att avkoda hela bitströmmen när ett parti av bilden skall manipuleras. Det finns emellertid fortfarande ett behov att ytterligare öka hastigheten för bildbehandling medan låga minneskrav bibehålls.
Sammanfattning av uppfinningen Det är ett ändamål med uppfinningen att tillhanda- hålla komprimerade bilder som enkelt kan analyseras och/eller manipuleras. Det är ett ytterligare ändamål med uppfinningen att tillhandahålla en möjlighet att enkelt sammanfoga digitala bilder till ett komprimerat bild- representationsformat.
Dessa och andra ändamål med uppfinningen uppnås, enligt en första aspekt av uppfinningen, genom en metod att behandla en digital bild. Metoden innefattar: att tillhandahålla den digitala bilden i ett komprimerat format, i vilket den digitala bilden är representerad som en bitström som representerar sekventiella bildblock, varvid varje block innefattar en eller flera komponenter, vilka var och en innefattar en eller flera dataenheter och varje dataenhet representeras som en Huffman-kodad ström av koefficienter av basfunktioner, och varvid en nollte ordningens koefficient representeras som en skill- nad till föregående nollte ordningens koefficient hos motsvarande komponent, och en blockinformationstabell, som innefattar: indikatorer till en nollte ordningens eller första ordningens koefficient hos varje bildblock i bitströmmen, information som indikerar antalet bitar i bitströmmen mellan koefficienter av nollte eller första ordningen i intilliggande dataenheter hos bildblocket och den nollte ordningens koefficient för åtminstone en “3006~f;6~29 10:56 '=.=':[blofixgarxisatiormscialšxßi) AE-\¥?P.'SEZ\IT\V_I:1oFamily\SE\2lO20?3ífiiïlcàüïïšeš àpp~lic'ati'nritszt'l“olnstrutrtczi" CAS ïüíjí--ßß-ll Laws. 10 15 20 25 30 35 528 172 4 dataenhet hos varje komponent, varvid nämnda nollte ordningens koefficient representeras i en icke-differen- tiell form. Metoden innefattar vidare för varje dataenhet hos_àtminstone ett bildblock: att hämta den nollte ord- ningens koefficient hos dataenheten och Huffman-avkoda ingen eller ett förbestämt antal koefficienter hos data- enheten, att hoppa över resten av koefficienterna genom att hoppa till nästa nollte eller första ordningens koefficient i bitströmmen med hjälp av informationen i blockinformationstabellen avseende antalet bitar mellan koefficienter i intilliggande dataenheter i bitströmmen, varigenom en minskad uppsättning Huffman-kodade koeffi- cienter avkodas.
I denna ansökans sammanhang skall termen "bildblock" tolkas att representera ett parti i rummet av en bild, varvid nämnda block kan ha information från olika färgrymdskomponenter. Varje bildblock kan representeras som en eller flera uppsättningar av koefficienter för varje färgrymdskomponent.
Enligt en andra aspekt av uppfinningen uppnås ändamàlen med ett bildrepresentationsformat för represen- tation av en digital bild. Bildrepresentationsformatet innefattar: bildinformation, som är lagrad som en bit- ström som representerar sekventiella bildblock, varvid varje block innefattar en eller flera komponenter, vilka var och en innefattar en eller flera dataenheter och varje dataenhet representeras som en Huffman-kodad ström av koefficienter av basfunktioner, och varvid en nollte ordningens koefficient representeras som en skillnad till föregående nollte ordningens koefficient hos motsvarande komponent; och en blockinformationstabell, som inne- fattar: indikatorer till en nollte ordningens eller första ordningens koefficient hos varje bildblock i nämnda bitström; information, som indikerar antalet bitar i bitströmmen mellan koefficienter av nollte eller första ordningen i intilliggande dataenheter hos bildblocket; och den nollte ordningens koefficient för åtminstone en Û Û EMEê-Z 9 1813 *É V:\__I~1-.>!§«1¿¿:1r;l:hat ionï SCEÄLF-:IÜ šB\ PÉ-*CPEXGTX NO-Faïfii l f;'\š'-3E“~\2 1 Olífifi 2:1 3,2 "LOLÉ 1373 ëPlßllcatiønt:ztToïnstrnfrf-a iïß-.ß SU-”JE-TJB-ll L-'lo-c 10 15 20 25 30 35 528 172 5 dataenhet hos varje komponent, varvid nämnda nollte ordningens koefficient representeras i en icke-diffe- rentiell.form.
Enligt en tredje aspekt av uppfinningen tillhanda- hålls en metod för kodning av råbilddata till en kompri- merad digital bildrepresentation. Metoden innefattar: att i godtycklig ordning läsa bildblock av en specificerad storlek hos nämnda råbilddata och för varje bildblock: transformera bildblocket till en eller flera dataenheter för en eller flera komponenter, varvid nämnda transfor- mation skapar en representation av varje dataenhet som koefficienter av basfunktioner; beräkna en kvantiserad approximation av nämnda koefficienter; representera åtminstone nägra av de kvantiserade koefficienterna som en ström av koefficienter av sekventiella bildblock; Huffman-koda nämnda ström av koefficienter, varvid en nollte ordningens koefficient representeras som en skillnad till föregående nollte ordningens koefficient hos motsvarande komponent; lagra nämnda Huffman-kodade ström av koefficienter i en bitström; lagra i en blockinformationstabell indikatorer till en nollte ordningens eller första ordningens koefficient för varje bildblock i bitströmmen; lagra i blockinformations- tabellen information som indikerar antalet bitar i bitströmmen mellan koefficienter av nollte eller första ordningen i intilliggande dataenheter hos bildblocket; och lagra i blockinformationstabellen den nollte ordningens koefficient för åtminstone en dataenhet hos varje komponent, varvid nämnda nollte ordningens koefficient representeras i en icke-differentiell form.
Enligt en fjärde aspekt av uppfinningen tillhanda- hålls en metod att analysera en JPEG-komprimerad digital bild, varvid den JPEG-komprimerade digitala bilden representeras som en bitström, varvid nämnda bitström representerar sekventiella bildblock, vilka block vart och ett innefattar en eller flera komponenter, vilka var och en innefattar en eller flera dataenheter och varje 'Yïüê-üê-fr? 10:56 V:\__I»Ic-fï>1'qar1is=atÅormSCALADO AB\PATENT\__Nc=FamiJ.y“-,SEX2lO2ü?3š5\2lÛ2ê736 ÄDplittativntsxtToI:astructor *JAS 3ÜüE~ü6~1l Ldm; 10 15 20 25 30 35 528 172 6 dataenhet representeras som en Huffman~kodad ström av koefficienter av basfunktioner, och varvid en nollte ordningens koefficient representeras som en skillnad till föregående nollte ordningens koefficient hos motsvarande komponent. Metoden innefattar: att sekventiellt stega igenom bitströmmen och under stegningen genom bit~ strömmen: lagra en indikator i en blockinformationstabell till en nollte ordningens eller första ordningens koeffi- cient hos varje bildblock; avkoda de nollte ordningens koefficienter och lagra i blockinformationstabellen den nollte ordningens koefficient för åtminstone en dataenhet hos varje komponent, varvid nämnda nollte ordningens koefficient representeras i en icke-differentiell form; och lagra i blockinformationstabellen information som indikerar antalet bitar i bitströmmen mellan koeffi- cienter av nollte eller första ordningen i intilliggande dataenheter hos bildblocket. Stegningen genom icke-nollte ordningens koefficienter hos en dataenhet i bitströmmen, vilka icke-nollte ordningens koefficienter representeras av en sekvens av bitströmsposter, innefattar: att titta på en bitsekvens av ett förbestämt antal av de följande bitarna i bitströmmen; att göra en tabelluppslagning för bestämning av kategorin och nollföljdslängden hos åtminstone den första bitströmsposten i bitsekvensen och för bestämning av bitlängden hos den första bitströms- posten; att hoppa över det antal bitar i bitströmmen som motsvarar den bestämda bitlängden; att sumera antalet överhoppade bitar för insamling av information avseende antalet bitar i bitströmmen mellan koefficienter av nollte eller första ordningen i intilliggande data- enheter; och att summera antalet koefficienter som har stegats igenom tills alla koefficienter hos dataenheten har stegats igenom eller en blockslutssymbol påträffas.
Enligt en femte aspekt av uppfinningen tillhanda- hålls en metod för sammanfogning av två digitala bilder.
Metoden innefattar: att bestämma ett förhållande i rummet mellan de två digitala bilderna; att tilldela bildblock itlüfš-ßš-S-ZQ 1? z 5 6 v: \._!~Ief.ï.1:gani ss-.at .i.f.>n'xS(:?\LADO AB~2Pš\TENT\._NoFarnilyäßëšäâ1020736\2l02<ï>736 àpnlicationtzzxt'ï'fllnstruc'tor PAS "IIJG'í-- 08- il . dot- 10 15 20 25 30 35 528 172 7 av digital bildinformation i de två digitala bilderna index i enlighet med förhållandet i rummet mellan de två digitala bilderna; att bilda en bitström som represen- terar sekventiella bildblock i enlighet med de tilldelade indexen, varvid varje block innefattar en eller flera komponenter, vilka var och en innefattar en eller flera dataenheter och varje dataenhet representeras som en Huffman-kodad ström av koefficienter av basfunktioner; att lagra bildblocksinformation för varje bildblock i en blockinformationstabell i enlighet med positionen för bildblocket, varvid nämnda bildblocksinformation innefattar: indikatorer till en nollte ordningens eller första ordningens koefficient hos varje bildblock i nämnda bitström, information som indikerar antalet bitar i bitströmmen mellan koefficienter av nollte eller första ordningen i intilliggande dataenheter hos bildblocket, och den nollte ordningens koefficient hos åtminstone en dataenhet hos varje komponent, varvid nämnda nollte ordningens koefficient representeras i en icke-differen- tiell form.
Tack vare åtminstone några av aspekterna av uppfin- ningen representeras en digital bild i ett bildrepresen- tationsformat som kräver litet lagringsutrymme, medan den digitala bilden i det komprimerade representationsfor- matet fortfarande enkelt kan behandlas. Detta är speciellt användbart för applikationer med litet lagringsutrymme och låg databehandlingskraft, såsom mobiltelefoner. Uppfinningen möjliggör att en digital bild lagras i ett komprimerat format, men fortfarande kan behandlas och manipuleras i realtid medan den presenteras på en skärm. Tack vare bildrepresentationsformatet och metoden att behandla en bild enligt uppfinningen kan bilden mycket snabbt presenteras i en minskad skala eller med en försämrad upplösning. Lagringen av den nollte ordningens koefficienter hos bildblocken innebär att den nollte ordningens koefficient inte behöver beräknas med hjälp av information hos föregående nollte ordningens 20Ü6~<1=6~29 10:56 VH. Noöšrgani.satíonëSCàLADO AMPATEIJTX IiøFamilyKSEVÉ1Û2ü736\2l()213736 F-.pplicatisrltcxtTcïaistrucfcox -IAE :IG-HE ll Lrloc _ 10 15 20 25 30 35 528 172 8 koefficienter. Vidare kan vilket som helst önskat antal icke-nollte ordningens koefficienter avkodas. Resten av de icke-nollte ordningens koefficienter i bitströmmen kan snabbt hoppas över eftersom blockinformationstabellen tillhandahåller information om bitlängden mellan koeffi- cienter av intilliggande dataenheter, vilket möjliggör snabb åtkomst till nästa dataenhet. Detta innebär att bilden snabbt kan avkodas i en minskad skala, eftersom det inte finns något behov att avkoda de icke-nollte ordningens koefficienter i bitströmmen för att starten av nästa dataenhet i bildblocket eller starten av nästa bildblock skall hittas. Således tillåter bildrepresenta- tionsformatet snabb åtkomst till en digital bild.
Lagringen av indikatorer till en nollte ordningens eller första ordningens koefficient hos varje bildblock tillhandahåller snabb åtkomst till särskilda partier hos bilderna, utan behovet att avkoda den Huffman~kodade strömmen av koefficienter från starten av strömmen.
Istället kan bildblocket kommas åt direkt med hjälp av indikatorn. Vidare representeras den nollte ordningens koefficient hos åtminstone en dataenhet hos varje komponent i en icke-differentiell form i blockinforma- tionstabellen. Således undviks behovet att beräkna värdet Detta möjliggör presentation och manipulation av delar av den fràn den Huffman-kodade strömmen av koefficienter. digitala bilden, medan den är i det komprimerade bildrepresentationsformatet, eftersom delar av bilden kan kommas åt och analyseras slumpvis.
I enlighet med bildrepresentationsformatet enligt uppfinningen lättas något på målet att komprimera en digital bild till minimal storlek. Således är storleken för den digitala bilden inte optimalt komprimerad, men istället lagras viss ytterligare information om den Huffman-kodade strömmen av koefficienter separat för möjliggörande av snabb inhämtning av vissa partier av bilden. Speciellt är det möjligt att avkoda bilden eller delar av en bild mycket snabbt i en annan skala genom iüüê-Lmi-ZS* 10:56 v:“xjlasïlrganisaticlnxåflataïëâ) AB\E>š-.“».'i:;2-ZT\. lêoFaznily\SE\21020736\2lC2&736 Appzlifatiorrtextiïfoïrzstructor CAS 3305-08-11 Ldoc 10 15 20 25 30 35 528 1 '72 9 Huffman-avkodning av endast en fraktion av de icke-nollte ordningens koefficienter och användning av en invers diskret kosinustransform som är anpassad till ett mindre block, såsom 4 x 4, för beräkning av ett block av mindre storlek. Bildrepresentationsformatet kan enkelt överföras till en JPEG-bild, eftersom bildrepresentationsformatet är mycket likt JPEG-bildformatet. Således är det möjligt att verkställa överföringen till en JPEG-bild och avlägs- na indikatorerna och de lagrade värdena av koefficien- terna, när bilden inte behöver någon ytterligare mani- pulation.
Den Huffman-kodade strömmen av koefficienter behöver inte innefatta de nollte ordningens koefficienter som är separat lagrade i blockinformationstabellen. Den Huffman- kodade strömmen av koefficienter kan emellertid i alla Detta kan vara lämpligt om bildrepresentationsformatet skall överföras i ett annat bildformat, eftersom bitströmmen själv då direkt kan användas i det andra bildformatet.
Termen "blockinformationstabell“ skall inte strikt tolkas som en tabell, utan enbart som det faktum att fall innefatta alla koefficienter. information som lagras lagras pà ett kontrollerat sätt där positionen för den lagrade informationen i tabellen är relaterad till positionen i rummet i bilden, vilken position informationen representerar. Således kan blockinformationstabellen t ex vara uppdelad i flera listor eller tabeller. Vidare betyder "Huffman-kodad ström av koefficienter" inte nödvändigtvis att hela strömmen är Huffman-kodad. Strömmen kan innefatta Huffman-koder som är uppblandade med ràdata för koefficienterna. Exempelvis i en JPEG-komprimerad fil är en nollföljdslängd och kategori av koefficienter Huffman- kodade och värdet för en koefficient inom en kategori beskrivs av okomprimerade bitar.
Genom lagring av indikatorer och koefficienter i en blockinformationstabell erhålls en distinkt struktur att lagra bildinformationen. 20f26~O6~Z9 lêzâš V9-, ëIQOr-'Ltanisationïfitàlëaïšàï ABU/ATENTK. Iiøïamilv'\SE\2ïO2ü73¿í\2]929736 åvplicanfsw+ax+ma1ns:rutt@r mas :ena-os-11 1.aac " 10 15 20 25 30 35 528 1:72 10 Ett bildblock kan t ex innefatta tre färgrymde- komponenter, en luminanskomponent och tvâ krominans~ komponenter. Representation av den digitala bilden i en luminanskomponent och två färgkomponenter innebär att färgkomponenterna kan representeras i en lägre upplösning utan att egentligen någon information sam ett öga kan uppfatta förloras. Således kan en inledande komprimering av informationen i den digitala bilden åstadkommas relativt en representation av den digitala bilden sdm tre färgkomponenter. Vid användning av en sådan komprimering kan varje bildblock t ex innefatta fyra dataenheter för luminanskomponenten och en dataenhet för varje färg- komponent. Dataenheterna ordnas sekventiellt i den Huffman-kodade strömmen av koefficienter.
Enligt en sjätte aspekt av uppfinningen tillhanda- hålls ett bildrepresentationsformat för representation av en digital bild. Bildrepresentationsformatet innefattar: bildinformation som är lagrad som en bitström sdm representerar sekventiella bildblock, vilka block vart och ett innefattar en eller flera komponenter, vilka var och en innefattar en eller flera dataenheter och varje dataenhet representeras som en Huffman-kodad ström av koefficienter av basfunktioner, varvid en nollte ordningens koefficient representeras som en skillnad till föregående nollte ordningens koefficient hos motsvarande komponent, och bitströmsinformation, som är lagrad i anslutning till bitströmmen, vilken bitströmsinformation innefattar information som indikerar antalet bitar hos varje dataenhet i bildblocken.
Detta bildrepresentationsformat kräver ett relativt litet lagringsutrymme. Bildrepresentationsformatet innehåller endast bitströmsinformation som möjliggör snabbt skapande av en blockinformationstabell i enlighet med bildrepresentationsformatet hos den andra aspekten av uppfinningen. Därför är detta bildrepresentationsformat enligt den sjätte aspekten av uppfinningen lämpligt för långtidslagring av en bild. När bilden hämtas kan Il1fJ6-1”J6~29 lfizbá- V:\__låow3rgar1is~ationXSIiRLâDO AB\PATENTXjJoFatHilyKSEXZIC2IE736\2lO20736 Åpplicatifivrlteztïtzlxïstrucfzor CAS lüflÉ-Otkll Lcløc 30 35 vszß 172 11 bitströmsinformationen användas för snabb analys av bitströmmen och skapande av en blockinformationstabell.
Informationen som indikerar antalet bitar hos varje dataenhet i bildblocken kan användas för snabb åtkomst av dataenheterna. När dataenheterna hämtas kan indikatorerna skapas, informationen som indikerar antalet bitar mellan nollte eller första ordningens koefficienter hos intilliggande dataenheter kan insamlas och den nollte ordningens koefficienter kan avkodas för lagring av åtminstone en nollte ordningens koefficient hos varje komponent i en icke-differentiell form.
Bitströmsinformationen kan vara komprimerad. Detta innebär att bildrepresentationsformatet enligt den sjätte aspekten kan vara ännu mer effektivt lagrad.
Indikatorerna i blockinformationstabellen kan indikera bitförskjutningen från en statisk position till koefficienten av nämnda specificerade ordning. Den sta- tiska positionen kan t ex vara starten för bitströmmen.
Således realiseras indikatorerna som pekare till en specifik bitposition i varje bildblock. Detta innebär att varje bildblock snabbt kan hämtas, varigenom åtkomst till specifika delar av den Huffman-kodade strömmen av koefficienter kan snabbas upp.
Alternativt kan indikatorerna i blockinformations- tabellen indikera bitförskjutningen till koefficienten från ett riktmärke i bitströmmen. Bildrepresentationsfor- matet kan då också innefatta en lista som tillhandahåller information om i vilket bildblock varje riktmärke i bitströmmen är beläget. På detta sätt kan bitförskjut- ningen för indikatorn lagras med ett färre antal bitar, eftersom bitförskjutningen från ett riktmärke i bit- strömmen nästan alltid är mindre än bitförskjutningen från en statisk position. Detta innebär att indikatorerna kan lagras med hjälp av mindre minne. Istället behövs en lista som tillhandahåller information om i vilket bildblock varje riktmärke i bitströmen är beläget. När ett specifikt bildblock skall kommas åt görs således '2006-(16-29 10:56 V:Lïießïwgariiz-»atioIYxSCALADO AEWATENTLNOFæni13'“~,SE\2lO2ü?36\2ï02ü?3ü špfJlicatioriteztToïnstrustar CAS 3052-05-11 lmloc 10 15 20 25 30 35 528 172 12 först en check i listan så att det sista riktmärket i bitströmmen före det specifika bildblocket hittas. Sedan används informationen om det relevanta riktmärket i bitströmmen och bitförskjutningen från riktmärket för hittande av det önskade bildblocket i bitströmen.
Indikatorn kan peka till en nollte ordningens eller första ordningens koefficient hos ett bildblock. När indikatorn pekar till en nollte ordningens koefficient kan starten hos en dataenhet enkelt kommas åt. Då behöver den nollte ordningens koefficient avkodas för åtkomst av de icke-nollte ordningens koefficienter, även om den nollte ordningens koefficient redan kan vara lagrad i ett icke-differentiellt format i blockinformationstabellen.
När indikatorn pekar till en första ordningens koeffi- cient kan de icke-nollte ordningens koefficienter direkt kommas åt.
Informationen som indikerar antalet bitar i bitströmmen mellan koefficienter av intilliggande dataenheter kan vidare indikera antalet bitar mellan vilken kombination som helst av nollte ordningens och första ordningens koefficienter. Denna information kan användas för snabbt hopp i bitströmmen från en dataenhet till en intilliggande dataenhet. Såsom beskrivs ovan kan informationen hos en dataenhet enkelt kommas åt antingen genom åtkomst av den nollte ordningens koefficient eller, när den nollte ordningens koefficient är känd från blockinformationstabellen, genom direkt åtkomst av den första ordningens koefficient. Därför kan informationen som indikerar antalet bitar antingen indikera antalet bitar till den nollte ordningens koefficient eller till den första ordningens koefficient. Likaledes är bildrepresentationsformatet strukturerat på ett sådant sätt att det är lämpligt att antingen indikera antalet bitar från den nollte ordningens koefficient eller den första ordningens koefficient.
Indikatorn kan också peka till en koefficient i vilken dataenhet som helst i bildblocket. Då kan 'Exïfßê-üê-Z? 'Líëzišiï iFz\__Noñrgarils-:1t ionkišfilALšxfflí) AB\PATEI-IïfljlilïarnllyESERZ102(!?36\2102$'?3G Eepliciati-T-rltextTolnstz-uctfn. 'ÅAS 20175 36 l*- Lrløc- 10 15 20 25 30 35 528 172 13 informationen om antalet bitar mellan intilliggande dataenheter användas för åtkomst av vilken dataenhet som helst i bildblocket. Den nollte ordningens koefficient hos den dataenhet som indikatorn pekar till är vidare företrädesvis lagrad i blockinformationstabellen. De nollte ordningens koefficienter hos de andra data- enheterna hos komponenten kan beräknas med hjälp av informationen om skillnaden mellan de nollte ordningens koefficienterna som är lagrade i bitströmmen. Det är lämpligt att indikatorn pekar till den nollte eller första ordningens koefficient i den första dataenheten hos bildblocket. Således ges direkt åtkomst till starten av bildblocket med hjälp av indikatorn.
Blockinformationstabellen kan innefatta den nollte ordningens koefficient representerad i en icke-diffe- rentiell form för varje nollte ordningens koefficient som är representerad i bitströmmen som en skillnad till en nollte ordningens koefficient hos ett föregående bild- block. Detta innebär att varje bildblock oberoende kan kommas åt, eftersom blockinformationstabellen till- handahàller all information som är presenterad i bitströmmen som beroende av föregående bildblock. Enligt en specifik utföringsform innefattar blockinformations- tabellen indikatorer som indikerar bitförskjutningen för koefficienten från ett riktmärke i bitströmmen och endast den nollte ordningens koefficienter i icke-differentiell form för koefficienter som är representerade i bit- strömmen som en skillnad till en nollte ordningens koefficient hos ett föregående bildblock. Denna utföringsform tillhandahåller en blockinformationstabell av en liten storlek, vilket är fördelaktigt när lagringskapacitet är begränsad.
Alternativt innefattar blockinformationstabellen varje nollte ordningens koefficient representerad i en icke-differentiell form. Detta innebär att det inte finns något behov att beräkna den nollte ordningens koefficient för dataenheter, vars nollte ordningens koefficient Züüê--ízi-'VPQ 10:56 \1:\__t~!=>O1'ç%fi swïtionßííàlšxßü AEXPÅTBNTK šJoFalnily\SE\¿'LO3Ü736X21Û2Ü?36 AppliusatioïztaztToïnsLruuiøi. Iüßï--fšzš-ll 1.310: __ 10 15 20 25 30 35 528 172 14 representeras i bitströmmen som en skillnad till den nollte ordningens koefficient hos en dataenhet inom bildblocket. Således kan informationen hos bildblocket snabbare kommas åt. Mer information krävs emellertid i blockinformationstabellen.
Vidare kan bitströmmen representera den digitala bilden i JPEG-formatet. Således kan en vanlig JPEG- komprimering eller en redan komprimerad JPEG~bild vara förknippad med extra information för snabb åtkomst, manipulation, och/eller analys av specifika delar av bilden.
Enligt en utföringsform av metoden enligt den första aspekten av uppfinningen, innefattar metoden vidare att presentera de avkodade bildblocken till en datahante- rings- eller datapresentationsenhet, varigenom bilden eller en del av bilden presenteras i en minskad skala.
Datahanterings- eller datapresentationsenheten kan vara t ex en skärm, en skrivare eller en hàrdvaruenhet för utförande av bildbehandling. Bilden eller delar av bilden kan snabbt presenteras på t ex en skärm, eftersom metoden på ett mycket snabbt sätt avkodar de relevanta delarna av den digitala bilden för presentation på skärmen. Detta innebär att bilden kan presenteras för en användare utan att användaren upplever irriterande väntetider.
Metoden kan vidare innefatta att utföra beräkningar för bildbehandling på de avkodade bildblocken. På detta sätt behövs färre beräkningar eftersom bilden avkodas till en minskad uppsättning av Huffman-kodade koeffi- cienter. Därför kan bildbehandlingen relativt snabbt utföras.
Metoden kan vidare innefatta att presentera resultat av de utförda beräkningarna på en skärm när beräkningarna utförs. Metoden tillhandahåller presentation av en bild som är lagrad i ett komprimerat format i realtid när bilden väljs och presentation av manipulationer av bilden i realtid, eftersom metoden tillhandahåller ett mycket snabbt sätt att komma åt relevanta delar av bilden och fiPíI-“ëfßš-ZQ 93:56- V:*pjloflïrqazïisitLonESíIALADG AB\E'ATEI-IT\_~IIoFanfilyRSE\2l02f173i5\2lC20736 àppticarn*nr-taztToïrrstruct-oi" 'SAS ÉGüE-'Jíš-ll 'Ldoc 10 15 20 25 30 35 528 1 7 2 15 avkoda dem till en liten mängd data så att manipulation snabbt kan utföras och presenteras. Metoden tillåter vidare definiering och utförande av manipulationer av bilder på en anordning som har ett litet minnesutrymme, såsom en mobiltelefon.
Enligt en utföringsform av metoden enligt den första aspekten av uppfinningen används det antal koefficienter hos dataenheten som Huffman-avkodas för approximering av ett avkodat bildblock som motsvarar ett större antal koefficienter. Approximationen tillåter de Huffman- avkodade koefficienterna att representera fler koeffi- cienter, varigenom en bild av lägre kvalitet kan skapas eller en mindre bild som har färre pixlar per bildblock kan skapas. Även om approximationen förlorar de finaste detaljerna hos bilden kan kvaliteten hos bilden fort- farande vara nöjaktig, eftersom de grova särdragen hos bilden representeras av de första koefficienterna i varje dataenhet.
Det förbestämda antalet koefficienter som Huffman- avkodas kan vara t ex fyra, nio, tretton, arton eller tjugofyra. När fyra respektive tjugofyra koefficienter avkodas representerar de avkodade koefficienterna en skalning av varje bildblock från 8 x 8 pixlar till 2 x 2 pixlar respektive 4 x 4 pixlar. När nio, tretton eller arton koefficienter Huffman-avkodas kan de avkodade koefficienterna användas för approximering av en repre- sentation av ett bildblock i 4 x 4 pixlar. Dessa antal av avkodade koefficienter är speciellt lämpliga, eftersom koefficienterna som omedelbart följer de nionde, trettonde och artonde koefficienterna inte kan användas som information hos ett 4 x 4 pixlars bildblock.
Enligt en utföringsform av bildrepresentations- formatet enligt den andra aspekten av uppfinningen lagras indikatorerna, informationen som indikerar antalet bitar mellan koefficienter hos intilliggande dataenheter och den nollte ordningens koefficienter representerade i en icke-differentiell form i en ström i blockinformations- lüfßfš-Oêflïñ 50:56 šf':'~.__l~1gf.nganísBUCiOIfiSCALAIIO šB\L-'A'l'l§l\1'1'\,_J:-10b'amilyKSEIXZIQQOTFIšÜQlÜZfHBö àpjn-liczazionteztToïnetructoi* iïlefi :IO-”JE-TJE-ll 1,311: 10 15 20 25 30 35 528 172 16 tabellen. I en alternativ utföringsform lagras indika~ torerna, värdena för koefficienterna och bildinforma- tionen i separata minnesområden.
Enligt en utföringsform av metoden enligt den fjärde aspekten av uppfinningen innefattar varje bitsekvens som tittas på sexton bitar. Detta är speciellt lämpligt för formatet för bitströmsposter. En bitströmspost som kodar de icke-nollte koefficienterna består av två delar. Den första delen är Huffman-kodad och kodar nollföljdslängden och kategorin för värdet av den aktuella koefficienten.
Den andra delen är data som representerar värdet för den aktuella koefficienten. Den första delen hos bitströms- posten innehåller således information om hur många koefficienter som kodas av posten (nollföljdslängden + 1 koefficient) och hur många bitar bitströmsposten består av. Eftersom den första delen hos en bitströmspost är maximalt sexton bitar lång är det lämpligt att titta på sexton bitar. När man tittar på sexton bitar åt gången kommer således varje bitsekvens alltid att innefatta åtminstone den första delen hos en bitströmspost och de sexton bitarna komer därför att innehålla information om antalet koefficienter som kodas av bitströmsposten och längden för bitströmsposten.
Uppslagningen i tabell kan innefatta att göra en första tabelluppslagning för de första åtta bitarna hos bitsekvensen. Om en tabelluppslagning görs för de sexton bitarna på en gång behövs en tabell med 65.536 poster, vilket förbrukar ganska mycket minne. Vidare är den första delen hos de vanligaste bitströmsposterna åtta bitar eller kortare. Därför kommer en tabelluppslagning av de första åtta bitarna i de flesta fall att ge den information som behövs om bitströmsposten.
Den första tabelluppslagningen kan returnera information om bitlängden hos den första bitströmsposten och antalet koefficienter som genomstegas eller returnera information till en andra tabelluppslagning. På detta sätt kommer den första tabelluppslagningen antingen att lüíêê- fßë-ffê 10:56 X1:\_t~lo1ätgarlisxatiOnXSCALADO àB\E'š=.TEi~1T\.__IêoFatnilSASEÅZIOQÜ?3G\2l02ü?3>š ÅPPILCfiïiâwilïexíffolxïstrucitul CAE Zi-'Ûš-Ûåwll Ldoc' 10 15 20 25 30 35 528 172 17 returnera den information som behövs om bitströmsposten eller returnera information för analys av den första delen av bitströmsposten med hjälp av de sista åtta bitarna hos bitsekvensen.
Uppslagningen i tabellen kan vidare innefatta att göra en andra tabelluppslagning för de sista åtta bitarna hos bitsekvensen för bestämning av bitlängden hos den första bitströmsposten och antalet koefficienter som stegas igenom. När en andra tabelluppslagning behövs kan den första tabelluppslagningen returnera en pekare till en tabell som skall användas i den andra uppslagningen beroende på de första åtta bitarna. Det finns endast ett behov för några få olika tabeller för den andra tabell- uppslagningen, eftersom det endast finns några få kombinationer för de första åtta bitarna, där den första delen av bitströmsposten är längre än åtta bitar. När en tabelluppslagning görs i två steg finns det således inte ett behov av lika många tabellposter för analys av den första bitströmsposten hos varje bitsekvens.
Enligt en utföringsform av metoden enligt den femte aspekten av uppfinningen manipuleras vissa bildblock hos en av de digitala bilderna med information från den andra digitala bilden. Manipulationen kan utgöra blandning av inverkan på bildblocket från de två digitala bilderna, om innehållet i bildblocket avbildas i båda de digitala bilderna. Detta innebär att de två digitala bilderna mjukare kan sammanfogas till varandra.
Enligt en ytterligare utföringsform hanteras först bildblock hos en del av en första digital bild, medan bildblocken hos resten av bilden tillfälligt lagras i ett okomprimerat format. Sedan kan dessa senare bildblock användas för beräkning av manipulationen av den andra digitala bilden, före bildblocken hos den andra digitala bilden hanteras.
Den sammanfogade bilden kan vidare överföras till ett annat bildkomprimeringsformat, såsom JPEG-formatet, genom sekventiell hämtning av bildblocken hos den .ïüüê-Ûë-'zå lfizâê V:\__No<31ganisationßßâlàöü AB*.E>ATEI~JT\ lloFaznilg^~víïExllGâlflfšöäâlüâwâö Agaplicfltioritemïfïoïnstructor CAB 'ZJOÉ-flê-íl Lrloc H 10 15 20 25 30 35 528 172 18 sammanfogade bilden med hjälp av indikatorerna hos bildrepresentationsformatet och lagring av strömmen av Huffman-kodade koefficienter för sekventiella bildblock med nollte ordningens koefficienter representerade som en skillnad till motsvarande föregående nollte ordningens koefficient. Således kan de digitala bilderna sammanfogas och manipuleras medan de kräver liten minneskapacitet och när sammanfogningen är fullbordad kan bilden föras till ett representationsformat som är ännu bättre komprimerat.
Kort beskrivning av ritningarna Uppfinningen kommer nu att beskrivas mer i detalj i exemplifierande syfte med hänvisning till bifogade ritningar, på vilka: fig 1 är ett flödesschema för en metod för komprimering av en digital bild enligt en utföringsform av uppfinningen.
Fig 2a~c är schematiska vyer av bildrepresentations- formatet enligt utföringsformer av uppfinningen.
Fig 3 är ett flödesscbema för en metod att analysera en dataenhet i bitströmmen.
Fig 4 är ett flödesschema för en metod för läsning av en specifik del av en digital bild som är lagrad i ett komprimerat bildfilsformat.
Fig 5 är ett flödesschema för en metod för avkodning av en dataenhet för manipulation av en digital bild som är lagrad i ett komprimerat bildfilsformat enligt en utföringsform av uppfinningen.
Fig 6 är ett flödesschema för en metod för samman- fogning av två digitala bilder till ett komprimerat bildfilsformat enligt en utföringsform av uppfinningen.
Fig 7 är en schematisk översikt av sammanfogningen av två digitala bilder.
Fig 8-9 är skärmbilder av en anordning som fångar digitala bilder och sammanfogar de digitala bilderna till ett komprimerat bildfilsformat. 'lüfß-šwê--Zšä 19:56 V:\__t~le=2>xganis»aríonXSCALAEO ABXPATEIQT\ èloš-*amilj/XSEAZ1020736\21021}?36 Äpplicaciorntextíkflzstrutftor CAS 2005-08-11 Ldoc u" 10 15 20 25 30 35 528 172 19 Detaljerad beskrivning av en föredragen utföringsform I följande beskrivning kommer komprimering av bilder att beskrivas med hänvisning till JPEG-komprimering även om andra komprimeringar som använder andra transformer kan tänkas. Det bör observeras att skyddsomfànget för föreliggande uppfinning inte på något sätt är begränsat till JPEG-komprimering.
Med hänvisning till fig 1 kommer nu en metod att komprimera en digital bild att beskrivas. Först represen- teras den digitala bilden i YUV-färgmodellen, steg 10, varvid varje pixel i bilden har tre komponenter: luminans, Y och två färgkomponenter U och V. De två färgkomponenterna U och V representerar färgsärdrag, vars finaste detaljer är svåra att upptäcka för människoögat.
Således kan dessa komponenter representeras i en lägre upplösning än luminanskomponenten. Ett 16 x 16 pixelblock av bilden, som är ett exempel på ett bildblock såsom definierat häri, kan representeras av fyra Y-dataenheter om 8 x 8 pixlar vardera, en U-dataenhet om 8 x 8 pixlar och en V-dataenhet om 8 x 8 pixlar. Detta motsvarar en 50% komprimering av datamängden jämfört med en RGB- representation av den digitala bilden. Fyra U-dataenheter och fyra V-dataenheter kan emellertid också användas, varvid ingen komprimering erhålls jämfört med RGB- representationen.
Bilden behandlas som diskreta 16 x 16 bildblock i vilken ordning som helst. Varje dataenhet hos varje komponent transformeras med hjälp av den diskreta kosinustransformen (DCT), steg 12. Eftersom varje dataenhet hos varje komponent innefattar 64 pixlar, kommer DCT-transformen att generera 64 koefficienter för basfunktionerna hos DCT-transformen. Dessa koefficienter innefattar en nollte ordningens koefficient (DC-koeffi- cient) och 63 koefficienter av högre ordning (AC-koeffi- cienter).
Sedan skapas en trösklad och kvantiserad approxi- mation av koefficienterna för varje dataenhet, steg 14. 2006-136-29 19:56 V:\_I~I-;>Organis-sutíOxHSCALADO ABAPATENTäWlIaFamilï\$E\Ii1O2O736\2ï<320'73í5 F-.ppliczatiorrtezffslnstructoi CAS 'ZCIQÉ--Üßfll l.df.-c: D10 15 20 25 30 35 528 172 20 Den trösklade och kvantiserade approximationen åstad- komes genom skalning och kapning av varje koefficient genom att man delar den med ett värde enligt en norma- liseringsmatris. Detta innebär att koefficienten för basfunktioner som har bestämts att ha låg perceptuell vikt ges låg vikt och många koefficienter får värdet 0 (noll).
Sedan omorganiseras koefficienterna till en ström av koefficienter med hjälp av en zickzack-ordning. Enligt standardmässig JPEG-komprimering representeras DC-koeffi- cienterna som skillnaden till den föregående DC-koeffi- cienten hos den föregående dataenheten av samma färgkom- ponent och skillnaden Huffman-kodas. AC-koefficienterna nollföljdlängdskodas och kodas vidare med Huffman-kodning och lagras direkt efter den Huffman-kodade DC-koefficien- ten. När det endast finns AC-koefficienter som har ett nollvärde kvar i dataenheten införs en blockslutskod i strömen av koefficienter. Således erhålls en bitström av Huffman-kodade koefficienter för sekventiella dataenheter och bildblock. Enligt en utföringsform av uppfinningen beräknas de Huffman-kodade koefficienterna på ett liknande sätt som för standardmässig JPEG-komprimering, steg 16. Bitströmmen utgör en komprimerad representation av den digitala bilden.
Eftersom en nollföljdslängdskodning och Huffman- kodning används är emellertid längden för varje dataenhet okänd. Därför är starten för en dataenhet okänd tills bitströmmen har avkodats från starten av bitströmmen till starten av dataenheten. Eftersom representationen av DC- koefficienten är beroende av den föregående DC-koeffi- cienten är vidare DC-koefficienten hos en dataenhet inte känd om inte den föregående DC-koefficienten har bestämts genom avkodning av den Huffman-kodade strömmen av före- gående koefficienter.
För möjliggörande av snabb hämtning av specifika block hos bilden och därigenom manipulering och/eller analys av det specifika blocket skapas en blockinforma- .ÜCfJG-ÛfS-Z? 10:56 **'=\_ï~}o1f=:'garis-aríonßíïšïlšællfi àPfxPATENT\g_ïisl“axnilyXSE\2l02Ü'?36XèÉlOZU736 Applicatlorltextffc-ïzzatrutctor »CAS 1005-05-11 Ldoc' 10 15 20 25 30 35 528 172 21 tionstabell, steg 18, vilken innefattar en indikator till varje bildblock, information som indikerar antalet bitar i bitströmmen mellan intilliggande koefficienter av en specificerad ordning och en DC-koefficient för varje färgkomponent hos varje bildblock, varvid DC-koefficien- ten representeras i en icke-differentiell form.
Enligt andra utföringsformer av uppfinningen kan bitströmmen av Huffman-kodade koefficienter ha olika innehåll eller vara lagrade pà andra sätt. Eftersom DC- koefficienterna som beror på ett föregående bildblock redan är lagrade i blockinformationstabellen behöver de exempelvis inte finnas i bitströmmen.
Vidare är all information om ett bildblock känd från blockinformationstabellen, vilken inkluderar DC-koeffi- cienterna som beror på andra bildblock och en indikator till bildblocket i bitströmmen. Således behöver bit- strömmen inte vara representerad som en specifik sekvens av bildblock eller ens vara lagrad i en ström.
Enligt en utföringsform av uppfinningen är således informationen lagrad i blockinformationstabellen på ett sätt där positionen för en blockinformation i tabellen specificerar vilken del av bilden den representerar.
Blockinformationen kan också vara lagrad pà ett sätt där positionen den representerar är lagrad tillsammans med den andra blockinformationen. Den Huffman-kodade strömmen av koefficienter för bildblocken kan till och med vara lagrad i anslutning till blockinformationen. Den lagrade blockinformationen kan också ha en mekanism för bestäm- ning om blocket har kodats, vilket gör det möjligt att behandla de icke-kodade blocken som exempelvis svarta block.
Ett paket av den Huffman-kodade strömmen av koeffi- cienter och blockinformationstabellen utgör således en representation av en digital bild, vilken kräver liten lagringskapacitet medan den möjliggör analys och manipulation av specifika delar av bilden utan behovet att avkoda hela bilden. Detta möjliggör också kompri- J" -06-29 19:56 V:“çlkwargarlisatíOnXSCALAQiD ABXPATEI~ITX èëoFamw'1.yRSERZlOEÜÉBSKxVZlOZD7BG ÅPL-*lififxticnram-ffnïnstructør lll-är: íífiüë--Tnfš-ll Lclcc m 10 15 20 25 30 35 528 172 22 mering av bilden på ett icke-linjärt sätt, där ordningen i vilken blocken komprimeras inte är väsentlig.
Hänvisning görs nu till fig 2a, i vilken strukturen för det komprimerade bildrepresentationsformatet presenteras. Blockinformationstabellen kan vara lagrad i RAM hos en anordning, medan en slumpmässig åtkomst för läsning eller skrivande av bildblock behövs av anord- ningen. Såsom visas i fig 2b, kan blockinformations- tabellen 30 och bitströmmen för Huffman-kodade koeffi- cienter 36 lagras i separata minnesutrymmen. Blockinfor- mationstabellen 30 innefattar indikatorn 31, information 32 som indikerar antalet bitar i bitströmmen mellan koefficienter av nollte eller första ordningen i intilliggande dataenheter och DC-koefficienterna lagrade i en icke-differentiell form 33. Indikatorn 31 hos blockinformationstabellen 30 innefattar då en indikering till den första koefficienten av en specificerad ordning hos bildblocket i bitströmmen 36.
Som ett alternativ, som visas i fig 2c, kan blockinformationstabellen 30' vara lagrad som ett huvud eller som en speciell markör till bitströmmen 36', vilken kan utgöra ett standardmässigt JPEG-format.
Det inses också att när information lagras i huvudet för bitströmmen behöver huvudet inte innefatta all information som behövs i blockinformationstabellen.
Istället kan huvudet innefatta information för tillåtande att blockinformationstabellen mycket snabbt skapas.
Huvudet för bitströmmen 36' behöver således endast hälla information om längderna för varje dataenhet. När bilden hämtas kan då blockinformationstabellen snabbt skapas och laddas till RAM. Med hjälp av längderna för dataenheterna kan informationen som behövs i blockinformationstabellen snabbt kommas åt. Dataenheterna stegas igenom medan indikatorer skapas till starten för varje bildblock, DC- koefficienterna avkodas och lagras och informationen som indikerar antalet bitar i bitströmmen mellan koefficien- ApplicationteztTcInstrucLul »TAE 20-'15-08-11 leda-c 10 15 20 25 30 35 528 1272 23 ter av nollte eller första ordningen i intilliggande dataenheter uppdateras.
Detta huvud kan till och med vara komprimerat, t ex Huffman-kodat, så att lagringsutrymme sparas. Längd- informationen har värden som endast lätt varierar. Därför skulle Huffman-kodning av längderna på ett sätt som motsvarar kodningen av DC-koefficienter väsentligt komprimera informationen. Den väsentliga komprimeringen av filen innebär att filen kan lagras på ett utrymmes- effektivt format medan det tillåter blockinformations- tabellen att snabbt skapas. Huvudet avkodas då när hämtning av bilden sker.
Det bör emellertid observeras att uppfinningen inte pà något sätt är begränsad till dessa presenterade sätt att representera bilden.
Indikatorn 31 kan peka till den första nollte ordningens koefficient hos bildblocket. Eftersom den nollte ordningens koefficient tillhandahålls i block- informationstabellen finns det emellertid inget behov att komma åt den nollte ordningens koefficient. Således kan indikatorn 31 alternativt peka till den första första ordningens koefficient hos bildblocket. Indikatorn kan implementeras som en bitförskjutning från en statisk position i bitströmmen till koefficienten av en speci- ficerad ordning i bildblocket. Företrädesvis till- handahåller indikatorn information om bitförskjutningen till koefficienten från starten av bitströmmen.
Indikatorn 31 kan alternativt indikera bitförskjut- ningen till koefficienten från ett riktmärke i bit- strömmen. Om indikatorn 31 indikerar bitförskjutningen från starten av bitströmmen skulle en bitström av en storlek större än 2 Mbyte kräva indikatorer som repre- senteras av 4 bytes. Riktmärkena i bitströmmen kan placeras i bitströmmen så att en indikator 31 kan representeras av 2 bytes. När förskjutningen blir större än t ex 65.536 bitar (det största tal som representeras av 2 bytes), registreras ett riktmárke i bitströmmen. 23136--216--29 30:56 V:”xjl-:DrganisatiornSCALAItë AB\EA'JEI~IT\ IJcFarnilgflsEïâl020736\21020?36 Äïëßl.Lcationteztïøïnstructor CAS .IÛIJE--ÜS-ll lxlcc v' 10 15 20 25 30 35 528 172 24 Riktmärkena i bitströmmen är sekventiellt numrerade. En lista av riktmärken i bitströmmen skapas för tillhanda- hållande av information om vilket bildblock varje rikt- märke i bitströmmen är beläget i. När ett bildblock skall kommas åt med hjälp av indikatorn görs åtkomst i två steg. Först görs en jämförelse med listan av riktmärken i bitströmen så att numret för riktmärket i bitströmmen som är beläget närmast i bitströmen före det bildblock som skall komas åt hittas. Sedan kan bitförskjutningen för bildblocket från starten av bitströmmen beräknas som (numret för riktmärket i bitströmmen) * 65.536 + bitför- skjutningen som tillhandahålls av indikatorn. Naturligt- vis skulle vilket antal bitar som helst kunna användas mellan riktmärkena i bitströmmen.
Informationen som indikerar antalet bitar mellan intilliggande koefficienter av den specificerade ordningen skulle kunna användas för snabb åtkomst av specifika dataenheter inuti ett bildblock. Det finns inget behov att avkoda de föregående dataenheterna för att man skall veta var en dataenhet startar. Detta skulle med fördel kunna användas för snabb avkodning av bild- block till en minskad uppsättning av avkodade koefficien- ter, såsom beskrivs mer i detalj nedan.
Blockinformationstabellen kan innefatta DC-koeffi- cienten representerad i en icke-differentiell form för varje dataenhet. Detta innebär att det inte finns något behov att beräkna DC-koefficienten för någon dataenhet.
Blockinformationstabellen kan emellertid alternativt innefatta endast DC-koefficienterna som är representerade i bitströmmen som en skillnad till en DC-koefficient hos ett föregående bildblock. Då ett bildblock innefattar flera dataenheter för varje komponent finns det endast ett behov att lagra DC-koefficienten för den första dataenheten hos varje komponent. Detta innebär att blockinformationstabellen kräver mindre lagringsutrymme.
Strukturen för det komprimerade bildrepresentations- formatet kan också erhållas genom att man utgår från en ^70fJ6~~l16~29 10:56 *JU-_ t-lf. “ 'ganisstionkSCšïr-ÅDO ABXPATBIJTë Iflolfarnil*;\SE\2lOllïïßïtêlüäftVfšiš Applicationtf2ztï'oIn.st.r|.-_.tcn: CAS Süüï--ÛB-il Ldo: 10 15 20 25 30 35 5-28 1 7 2 25 redan komprimerad JPEG-fil. Då avkodas JPEG-filen för bestämning av indikatorerna till varje bildblock, information som indikerar antalet bitar mellan intillig- gande koefficienter av specificerad ordning och en DC- koefficient i en icke-differentiell form för varje komponent hos varje bildblock. Således lagras indexen och DC-koefficienterna i blockinformationstabellen, medan den Huffman-kodade strömmen av koefficienter behålls intakt.
AC-koefficienterna hos en sådan JPEG-bild kan alternativt kopieras till ett nytt minnesutrymme, varigenom all information hos JPEG-bilden kommer att vara àtkomlig utan behovet att behålla den ursprungliga JPEG-bilden lagrad i anordningen.
Det på detta sätt skapade bildrepresentationsfor- matet öppnar möjligheter att utföra bildbehandling direkt på en JPEG-fil.
En specifik metod att analysera en JPEG-bild för skapande av bildrepresentationsformatet kommer nu att beskrivas. Metoden innefattar att sekventiellt stega igenom bitströmmen för insamling av den information som behövs. Under genomstegningen av bitströmmen lagras indikatorerna till varje bildblock, informationen som indikerar antalet bitar i bitströmmen mellan intillig- gande koefficienter av specificerad ordning och DC- koefficienterna för åtminstone den första dataenheten hos varje komponent i blockinformationstabellen.
Under genomstegningen av bitströmmen avkodas DC- koefficienterna för komponenterna och den sista koeffi- cienten lagras tillfälligt för möjliggörande av bestäm- ning av nästa DC-koefficient.
Med hänvisning till fig 3 kommer stegning genom AC- koefficienter hos en dataenhet i bitströmen att beskrivas. Analysen vill endast bestämma var nästa dataenhet startar och antalet bitar mellan DC-koeffi- cienterna eller första AC-koefficienterna hos intillig- gande dataenheter. Därför är det inte nödvändigt att avkoda AC-koefficienterna.
:Zívfléé--Giï-Z? 10:56- V:\_t<\oOrganis=ationkßtïšalåïaü AB\PATENT\_IIc«FamiLyïSE\.2102ü'?3931020736 âpplicativnteztïcßïlxstrnctrir *SAS JGUE--êâ-lí Ldoc 10 15 20 25 30 35 528 172 26 En bitströmspost hos AC-koefficienterna består av två delar. Den första delen är en Huffman-kod som kodar hur många noll~koefficienter som föregår den aktuella koefficienten och i vilken kategori värdet för den aktuella koefficienten är. Kategorin bestämmer antalet bitar för den andra delen av bitströmsposten, vilken kodar det aktuella värdet för koefficienten. Genom analys av den första delen av bitströmsposten kan således antalet koefficienter som kodas av bitströmsposten och antalet bitar som används av bitströmsposten bestämmas.
Stegningen genom AC-koefficienterna innefattar att titta på en bitsekvens av ett förbestämt antal bitar i bitströmmen, steg 20. Företrädesvis är bitsekvensen 16 antal bitar lång, vilket motsvarar den längsta första delen hos vilken bitströmspost som helst. Genom att titta på 16 bitar åt gången kan således den behövda informatio- nen alltid insamlas för åtminstone en bitströmspost.
Informationen insamlas genom att en tabelluppslagning görs, steg 22. Tabelluppslagningen returnerar således bitlängden för åtminstone den första bitströmsposten som förekommer i bitsekvensen och antalet koefficienter som kodas av Huffman-koden. Ett antal bitar som motsvarar den bestämda bitlängden hoppas sedan över, steg 24. Det ackumulerade antalet överhoppade bitar sumeras, steg 26, och det ackumulerade antalet överhoppade koefficienter summeras, steg 28. Om en blockslutssymbol inte har påträffats och det maximala antalet koefficienter hos en dataenhet inte har hoppats över återförs processen till steg 20 och en ny bitsekvens tittas pà.
Tabelluppslagningen i steg 22 kan utföras i två steg. Först görs en tabelluppslagning för de första åtta bitarna i bitsekvensen. Denna uppslagning är tillräcklig för bestämning av den första delen av Huffman-koden för de flesta uppslagningarna för normala JPEG-bilder. Om den första tabelluppslagningen är tillräcklig för bestämning av den första delen av den första Huffman-koden analy- seras inte de sista åtta bitarna vidare i detta skede. Om ÉOfJGflEE-ffíï 1.015?- “.~':“x__E~IoOrqanis¿xtion\SCALADQ QB\E>ATEIV3T“-._ Ešaïaznil=,:\3Eï2lí)20?3öïllßfifißä äpplicatiorrtezffoïnstructcr (IAS IOCšHÜS-'íl Lzloç: 10 15 20 25 30 35 5243 172 27 den första delen av Huffman-koden är längre än åtta bitar behövs en ytterligare tabelluppslagning. Den första tabelluppslagningen returnerar då en pekare till en ny tabell, där en uppslagning av de sista åtta bitarna skall göras. Pekaren är beroende av de första åtta bitarna i bitsekvensen. Den andra tabelluppslagningen kommer då att bestämma antalet bitar för Huffman-koden och antalet koefficienter som hoppas över. Den andra tabelluppslag- ningen kan göras i olika tabeller eller i olika delar av samma tabell. Det finns endast några få varianter av de första åtta bitarna av Huffman-koder som är längre än åtta bitar. Därför är antalet poster i den andra tabellen begränsade och mycket färre än 65.536 (d v s det totala antalet möjliga bitsekvenser av sexton bitar).
Alternativt utförs tabelluppslagningen i steg 22 i ett steg. Då utförs en tabelluppslagning för en 16 bitars kod. Denna tabelluppslagning kan i vissa fall returnera information om två eller flera Huffman-koder. Där bit- sekvensen innefattar den första delen för flera Huffman- koder kan således dessa Huffman-koder samtidigt hoppas över. Det är också möjligt att hoppa över flera Huffman- koder samtidigt när en uppslagning görs för åtta bitar.
Det är emellertid endast några få Huffman-koder som är tillräckligt korta för att ge den erforderliga informa- tionen i åtta bitar.
Med hänvisning till fig 4 kommer nu en metod att läsa en specifik del i en digital bild som är lagrad i bildrepresentationsformatet att beskrivas.
Först definieras positionen eller området av intresse i bilden, steg 40. Sedan bestäms det korrekta bildblocket eller -blocken som motsvarar den definierade positionen eller området genom att förflyttningen åt höger respektive nedåt från det övre vänstra hörnet helt enkelt korreleras till sekvensen av bildblocken, steg 42.
Därefter bestäms positionen för det korrekta bildblocket eller -blocken i bitströmmen genom uppslagning i blockinformationstabellen, steg 44. Vidare hämtas DC- 20136416-29 “íüzßí-š V:XjloörgarlisatirnrIaSCaLADÖ ABÉPÄTENTK š-IoFamily\SE\2lO2073ä\2L020?3i5 ApplicaticntextTc-Instrue-to: CAS :Iilgïwßå-ll lxlsç: 10 15 20 25 30 35 528 172 28 koefficienten för det korrekta bildblocket eller ~blocken från blockinformationstabellen, steg 46. Sedan ges åtkomst till positionen i bitströmmen, steg 48, och avkodas bildblocket vid denna position, steg 50, med hjälp av den hämtade DC-koefficienten.
Med hänvisning till fig 5 kommer nu en metod att behandla och manipulera en digital bild som är lagrad i bildrepresentationsformatet att beskrivas. Behandlingen och manipulationen av den digitala bilden är så snabb att den kan utföras och visas på en mobiltelefon i realtid till en användare. Således kan användaren definiera manipulationerna som skall utföras och se dem utföras inom några få sekunder.
Användaren kan först definiera en bild eller del av en bild som skall visas. För att bilden skall tillåtas att snabbt avkodas för visning på en skärm avkodas endast en reducerad mängd av Huffman-kodade koefficienter för varje dataenhet. Den reducerade mängden av koefficienter kan användas för approximering av bilden med försämrad upplösning eller för visning av en bild med färre pixlar.
Antalet AC-koefficienter som avkodas kan lämpligen vara noll, vilket reducerar ett bildblock om 8 x 8 pixlar till l pixel, fyra, vilket reducerar bildblocket till 2 x 2 pixlar eller tjugofyra, vilket reducerar bildblocket till 4 x 4 pixlar. När bildblocket reduceras till 4 x 4 pixlar kan ett färre antal AC-koefficienter avkodas för approxi- mering av bildblocket om 4 x 4 pixlar. Således kan t ex nio, tretton eller arton koefficienter avkodas. Eftersom den huvudsakliga informationen hos varje bildblock är placerad i de första koefficienterna är den information som förloras i de icke-avkodade koefficienterna inte särskilt betydelsefull.
Tack vare bildrepresentationsformatet kan den reducerade mängden av Huffman-kodade koefficienter mycket snabbt hämtas och avkodas för visning av bilden eller delen av bilden. Först bestäms de bildblock som skall avkodas, steg 60. Åtkomst ges till varje bildblock genom Éïlflí-l-ü 6-29 'l C t 5 6 V: \. _i~lo'fi>r gar: i s-ízt .i OIIXSCALÄILÄ šXE'-\ PäTEïfiTï jIQFavnJLK yVEFS ïlï 'i 031373 6\2 102 0736 Apr. i z ratio-rr: extïzsl nat rutter iÉAS 2 Q TJ fl- ~ 38 - ll l . det' 10 15 20 25 30 35 5.223 1 7 2 29 användning av indikatorerna i blockinformationstabellen, steg 62. DC-koefficienten för den första dataenheten hos varje komponent tillhandahålls också av blockinforma- tionstabellen, steg 64. Sedan avkodas det önskade antalet AC-koefficienter, steg 66. Därefter hämtas snabbt nästa dataenhet hos bildblocket genom överhoppning av resten av AC-koefficienterna med hjälp av informationen som indike- rar antalet bitar mellan t ex de första AC-koefficien- terna i intilliggande dataenheter, steg 68. Nu kan nästa dataenhet avkodas. På detta sätt avkodas bilden mycket snabbt för presentation på en skärm, vilket minskar irri- terande väntetider för en användare. Detta är speciellt användbart när en enhet med låg databehandlingskraft och litet lagringsutrymme används, såsom en mobiltelefon.
Användaren kan då definiera en manipulation som skall utföras på den bild som presenteras på skärmen.
Beräkningarna som behövs för manipulationen kan nu utföras på den minskade mängden av Huffman-avkodade koefficienter. Således kan beräkningarna snabbare utföras och resultaten kan visas på en display i realtid, utan att användaren upplever långa väntetider.
Med hänvisning till fig 6-9 kommer nu en metod för sammanfogning av två digitala bilder till ett komprimerat bildfilsformat att beskrivas. I fig 6 visas ett flödes- schema som presenterar en översikt av metoden. I fig 7 visas en schematisk översikt av sammanfogningen av bilder, medan fig 8-9 visar olika steg i metoden när den är implementerad på en anordning för upptagning av bilder, såsom en mobiltelefon med en inbyggd kamera.
Först upptas en första digital bild 200, steg 100.
Innehållet hos den digitala bilden visas i sökaren hos en kamera i fig 8. Den upptagna bilden transformeras sedan så att hänsyn tas till linskorrigeringar och en projek- tion av den korrigerade bilden på en cylinder skapas.
Således är den upptagna bilden anpassad för att samman- fogas med en annan bild för skapande av en panoramabild.
En sektion B hos den digitala bilden 200 komprimeras “IilfJE-fšêïïf* 10:36 V:*rwtâcflïïgariisationïSCALAI-O AB\PATEI~1T\__lIoFa1nily\SE\2l03073í5\2lO2Ü?36 App-li-iatiorltezïffoïnsLrucL-sl CAS "lüUE--US-ll Ldoc 10 15 20 25 30 35 528 172 30 sedan till det komprimerade bildrepresentationsformatet, såsom beskrivs med hänvisning till fig 1, steg 102, varvid bildblocken tilldelas index för positioner i bilden i enlighet med deras aktuella position i rummet i bilden. Den andra sektionen A hos bilden lagras, steg 104, med avsikt att en blandningsoperation senare skall utföras. Om användaren skulle vilja skapa en panoramabild kan riktningen för panoreringen definieras i anordningen för upptagning av bilder. En sektion av den upptagna första digitala bilden 200 som är närmast riktningen för panoreringen lagras då som den sektion som lagras med avsikt att blandas.
Denna sektion A av den första bilden kan presenteras i sökaren hos kameran, steg 106, när en andra bild skall upptas. Sektionen för den första digitala bilden kan presenteras i ett första lager på sökaren, varvid varannan pixel är transparent så att objektrymden som betraktas av kameran och presenteras i ett andra lager på sökaren kan uppfattas bakom sektionen av den första digitala bilden, såsom visas i fig 9. Om en panorama görs i en högergàende riktning kommer en sektion längst till höger av den första digitala bilden att presenteras i den_ del som är längst till vänster hos sökaren. Om kameran själv utför linskorrigeringen och den cylindriska projektionen, såsom beskrivs ovan, i realtid kan den lagrade sektionen A hos den första bilden helt enkelt presenteras i sökaren. Om ingen korrigering utförs i realtid av kameran inverstransformeras emellertid sektion A som vore den placerad i positionen längst till vänster i sökaren så att den bättre skall passa objektrymden som visas i sökaren. Användaren leds således att uppta en andra bild 202, steg 108, som positionerar motsvarande objekt i de första och andra digitala bilderna i ett överlappande område i sökaren. Den upptagna bilden transformeras sedan så att hänsyn tas till linskorrige- ringar och en projektion av den korrigerade bilden på en cylinder görs. 20í16-O6~29 Ulwâê 259: _ï~1f:.~1')\'gar-isatíoIYaSCALAIFO .ÅBUTIPIEEEITX ZflQPatUlJ.y\SE*.¿1Q2Ü'I3ü*ßiêfififlßö Äpplicaticrita-xtTczïxistrucifior CAS 2005-06-11 lfàoa; 10 15 20 25 30 35 528 172 31 Den andra digitala bilden innefattar nu en sektion C, som väsentligen motsvarar sektionen A hos den första digitala bilden. Således kan kameran enkelt korrelera de två digitala bilderna till varandra, steg 110, så att de två bilderna korrekt kan sammanfogas med varandra.
Naturligtvis kan korrelationen mellan de två digitala bilderna erhållas på vilket annat sätt som helst. Exem- pelvis kan en datorenhet beräkna och hitta korrelationen mellan de två bilderna eller kan korrelationen definieras av en användare, t ex när det inte finns några överlap- pande områden. Korrelationen bestämmer en förskjutning av bilderna i förhållande till varandra.
Därefter blandas den sektion A som lagrats för blandning in i den andra bilden i enlighet med korrela- tionen, steg 112. Sedan komprimeras en sektion D av den andra bilden med korrekta index till bildblocken, i enlighet med den bestämda förskjutningen, in i det komprimerade bildrepresentationsformatet såsom beskrivs med hänvisning till fig 1, steg 114. Vidare lagras en annan sektion E av den andra bilden i ett okomprimerat format, steg 116, med avsikt att användas i en bland- ningsoperation som skall utföras om ytterligare bilder skall upptas till panoramat. Såsom framgår av fig 7 kan sektion E innefatta partier som inte innehåller någon bildinformation, på grund av förskjutningen av de två upptagna bilderna i förhållande till varandra. Lagringen av bildsektionen E har således en mekanism för bestäm- mande av om en pixel som är lagrad representerar bilddata eller okänd information på grund av förskjutningen. Denna information används senare av blandningen och kan också användas i korreleringsoperationen.
Sedan upprepas stegen 106-116 om så önskas för sammanfogning av ytterligare bilder till de redan samman- fogade bilderna, steg 118. Den sist infogade bilden komprimeras i sin helhet till bildrepresentationsformatet såsom beskrivs med hänvisning till fig 1. ÉÛÜ_6--06-29 10:56 V:\__NoOrganisaïíonXSCÄLADC AB-VEATEiITXWNNOFaYnilyRESEXB'lO2f>73fi\2Il.O20'?36 àppiic-atierltextffoïnstructoi CAS ÉWJDLI--Uê-ll Ldoc» 10 15 20 25 30 35 528 172 32 Därefter bestäms den största rektangulära bild som det är möjligt att bilda från de två eller flera digitala bilderna och det första bildblocket som helt passar in i rektangeln i det övre, vänstra hörnet, bestäms. Sedan omvandlas bildrepresentationsformatet till en JPEG- bildfil av de sammanfogade bilderna, steg 120, genom införande av den Huffman-kodade strömmen av koefficienter hos de sekventiella blocken, med början från det bestämda blocket och förflyttning från vänster till höger och från topp till botten genom den bestämda, största rektangulära bilden. På detta sätt kommer en stor, sammanfogad bild att representeras i ett JPEG-bildfilsformat. De samman- fogade digitala bilderna kan nu visas på en skärm hos mobiltelefonen som innefattar kameran. Även om metoden för sammanfogning har beskrivits som en sekvens, i vilken en första digital bild först komprimeras till ett komprimerat bildfilsformat och den andra digitala bilden senare adderas till detta kompri- merade bildrepresentationsformat, är det tänkbart att det komprimerade bildrepresentationsformatet kan skapas genom att de två digitala bilderna direkt införlivas i det komprimerade bildrepresentationsformatet eller alterna- tivt att de tvà digitala bilderna var och en kan repre- senteras i ett komprimerat bildfilsformat och kombineras till en stor bild via en representation i det kompri~ merade bildrepresentationsformatet.
I motsats till sammanfogning av bilder kommer nu en metod för beskärning av en JPEG~baslinjekodad bild att beskrivas. Första analyseras JPEG-bilden genom avkodning av Huffman-kodad data. Under denna avkodning lagras indikatorer till varje bildblock och information som indikerar antalet bitar mellan dataenheter i blockinfor- mationstabellen. DC-koefficienten för den första data- enheten hos varje färgkomponent i varje bildblock beräknas vidare och lagras i blockinformationstabellen.
Nu åstadkommes beskärandet av en JPEG-bild till en ny JPEG-baslinjekodad representation av ett parti av bilden ¿'Jf:ë-\.=6~2:9 10:56 V:\___í~1o0rganis«ationXSCäLAEfi AEÅ.PàTßâäTëjfloïamilf2\SE\21ÛI3f173í5\Z]92f>f'3iš àpplirzaticntfi.azztTolzisrruzrzci :IAS INJÉ-Wßfll Ld-:fc 10 15 20 25 30 528 172 33 genom att först ett område som skall kvarhàllas från beskärandet bestäms. För det bildblock längst till vänster i varje rad av området behöver en ny differens för DC-koefficienterna beräknas med hjälp av informa- tionen om DC-koefficienten i blockinformationstabellen.
Därefter kan representationen av resten av raden helt enkelt kopieras bit för bit från nämnda Huffman-kodade data hos den ursprungliga JPEG-bilden till den nya JPEG- bilden med hjälp av indexen i blockinformationstabellen för bestämning av den bitlängd som skall kopieras.
Således kan en ny, beskuren JPEG-bild mycket enkelt skapas.
Om beskärandet av JPEG-bilden skall utföras till en okomprimerad representation av bilden istället bestäms bildblocken i området och avkodas dessa till den korrekta positionen i den okomprimerade representationen av bilden med hjälp av indexen i blockinformationstabellen. Avkod- ningen utförs med hjälp av DC-koefficienterna i block- informationstabellen, varigenom allt Huffman-kodad data inte behöver avkodas vid detta tillfälle.
JPEG-bilden kan vidare också manipuleras genom behandling av bilden, medan bildinformationen represen- teras som DCT-koefficienterna. Genom omvandling av JPEG- bilden till det bildrepresentationsformat som presenteras häri kan manipulationer utföras på bildblocken, medan de representeras som DCT-koefficienter. Med hjälp av matris- operationer kan således bilden t ex roteras eller skalas.
Det bör betonas att de föredragna utföringsformer som beskrivs häri inte på något sätt är begränsande och att många alternativa utföringsformer är möjliga inom det skyddsomfång som definieras av bifogade krav.
ZÜFJG-GQZC» 10:56 V:ïmblofbrqanis-atiomSCsLADO RB”.fiíaTàïïñ^ß\_šlfnïarnilyäßßfiiíläüïfivêßllfi3ü735 App-litatifnieztfrcllnstruota: IIAE lillüi--FJG-ll Ldm:

Claims (35)

10 15 20 25 30 35 528 172 34 PATENTKRAV
1. l. Metod för behandling av en digital bild, vilken metod innefattar: att tillhandahålla den digitala bilden i ett kompri- merat format, i vilket den digitala bilden är represen- terad som en bitström som representerar sekventiella bildblock, varvid varje block innefattar en eller flera komponenter, vilka var och en innefattar en eller flera dataenheter och varje dataenhet representeras som en Huffman-kodad ström av koefficienter av basfunktioner, och varvid en nollte ordningens koefficient representeras som en skillnad till föregående nollte ordningens koeffi- cient hos motsvarande komponent, och en blockinforma~ tionstabell, som innefattar: indikatorer till en nollte ordningens eller första ordningens koefficient hos varje bildblock i bitströmmen, information som indikerar antalet bitar i bit- strömmen mellan koefficienter av nollte eller första ordningen i intilliggande dataenheter hos bild- blocket, och den nollte ordningens koefficient för åtminsto- ne en dataenhet hos varje komponent, varvid nämnda nollte ordningens koefficient representeras i en icke-differentiell form, och för varje dataenhet hos åtminstone ett bildblock: att hämta den nollte ordningens koefficient för data- enheten och att Huffman-avkoda ingen eller ett förbestämt antal koefficienter hos dataenheten, att hoppa över resten av koefficienterna genom att hoppa till nästa nollte eller första ordningens koefficient i bitströmmen med hjälp av informationen i blockinformationstabellen avseende antalet bitar mellan koefficienter i intillig- gande dataenheter i bitströmmen, varigenom en minskad uppsättning av Huffman-kodade koefficienter avkodas. 'IUC-Eflbé-ZE? 10:56 V22jloürgarflsationïSCALAšw AE-“xFATEHTLrJoFamilyïsßïï102fTI3äï2l021T136 ApplicatißnteztTcïzxaftrucrtor »SALä CÛÜE--CB-ll Ldoc 10 15 20 25 30 35 5218 1472 35
2. Metod enligt krav 1, varvid den digitala bilden tillhandahålls i ett komprimerat format och varvid indi- katorerna i blockinformationstabellen indikerar bitför- skjutningen till koefficienten från en statisk position.
3. Metod enligt krav 1, varvid den digitala bilden tillhandahålls i ett komprimerat format, varvid indika- torerna i blockinformationstabellen indikerar bitför- skjutningen till koefficienten från ett riktmärke i bit- strömmen och varvid den digitala bilden vidare represen- teras av en lista som tillhandahåller information om i vilket bildblock varje riktmärke i bitströmmen är beläget.
4. Metod enligt något av föregående krav, varvid den digitala bilden tillhandahålls i ett komprimerat format och varvid blockinformationstabellen innefattar den nollte ordningens koefficient representerad i en icke- differentiell form för varje nollte ordningens koeffi- cient som är representerad i bitströmmen som en skillnad till en nollte ordningens koefficient hos ett föregående bildblock.
5. Metod enligt något av krav 1-3, varvid den digitala bilden tillhandahålls i ett komprimerat format och varvid blockinformationstabellen innefattar varje nollte ordningens koefficient representerad i en icke- differentiell form.
6. Metod enligt något av föregående krav, vilken vidare innefattar att presentera de avkodade bildblocken till en datahanteringsenhet, varigenom bilden eller en del av bilden presenteras i en minskad skala.
7. Metod enligt något av föregående krav, vilken vidare innefattar att utföra beräkningar för bildbehand- ling på de avkodade bildblocken.
8. Metod enligt krav 7, vilken vidare innefattar att presentera resultat av de utförda beräkningarna på en skärm medan beräkningarna utförs.
9. Metod enligt något av föregående krav, vid vilken antalet koefficienter hos dataenheten som Huffman-avkodas 2006-ßë~29 lfl:56 Vzï Noürga àpplica:ionrsx+Toïnstrnctor .ms “ n\SCALšDO BRXPATR$TäñNoFami1y2$ER2l02Û73ö\2lC2ü?36 _J0t-G8-ll l.dcc 10 15 20 25 30 35 528 172 36 används för approximering av ett avkodat bildblock som motsvarar ett större antal koefficienter.
10. Metod enligt något av föregående krav, varvid det förbestämda antalet koefficienter som Huffman-avkodas är fyra, nio, tretton, arton eller tjugofyra.
11. Metod enligt något av föregående krav, varvid bitströmmen representerar den digitala bilden i JPEG- formatet.
12. Bildrepresentationsformat för representation av en digital bild, vilket bildrepresentationsformat innefattar: bildinformation, som är lagrad som en bitström, som representerar sekventiella bildblock, varvid varje block innefattar en eller flera komponenter, vilka var och en innefattar en eller flera dataenheter och varje dataenhet som en Huffman-kodad ström av koefficienter av basfunktioner, och varvid en nollte ordningens koeffi- representeras cient representeras som en skillnad till föregående nollte ordningens koefficient hos motsvarande komponent, och en blockinformationstabell, som innefattar: indikatorer till en nollte ordningens eller första ordningens koefficient hos varje bildblock i nämnda bitström, information som indikerar antalet bitar i bit- strömmen mellan koefficienter av nollte eller första ordningen i intilliggande dataenheter hos bild- blocket, den nollte ordningens koefficient för åtminsto- ne en dataenhet hos varje komponent, varvid nämnda nollte ordningens koefficient representeras i en icke-differentiell form. och
13. Bildrepresentationsformat enligt krav 12, varvid indikatorerna i blockinformationstabellen indikerar bit- förskjutningen till koefficienten från en statisk position. iUYJG-írê-fêä 13:56 V:\___HesI>xgar:if:-ariomSKlALADO AB\P.=\TL'EI~1T\__téok='smilyKSERLBl020736\2lO2í_rï3¿5 ZappiicationtextTuïnstructor CAS SÜFJE--üâ-ll Judo-r: 10 15 20 25 30 35 528 17 2 37
14. Bildrepresentationsformat enligt krav 12, varvid indikatorerna i blockinformationstabellen indikerar bitförskjutningen till koefficienten från ett riktmärke i bitströmmen och bildrepresentationsformatet vidare innefattar en lista, som tillhandahåller information om i vilket bildblock varje riktmärke i bitströmmen är beläget.
15. Bildrepresentationsformat enligt något av krav 12-14, varvid blockinformationstabellen innefattar nollte ordningens koefficient representerad i en icke-differen- tiell form för varje nollte ordningens koefficient som är representerad i bitströmmen som en skillnad till en noll- te ordningens koefficient hos ett föregående bildblock.
16. Bildrepresentationsformat enligt något av krav 12-14, varvid blockinformationstabellen innefattar varje nollte ordningens koefficient representerad i en icke- differentiell form.
17. Bildrepresentationsformat enligt något av krav 12-16, varvid bitströmmen representerar den digitala bilden i JPEG-formatet.
18. Metod för kodning av ràbilddata till en kompri- merad digital bildrepresentation, vilken metod inne- fattar: att i godtycklig ordning läsa bildblock av en specificerad storlek hos nämnda ràbilddata och för varje bildblock: transformera bildblocket till en eller flera dataenheter för en eller flera komponenter, varvid transformationen skapar en representation av varje dataenhet som koefficienter för basfunktioner, beräkna en kvantiserad approximation av nämnda koefficienter, representera åtminstone några av de kvantise- rade koefficienterna som en ström av koefficienter av sekventiella bildblock, Huffman-koda nämnda ström av koefficienter, varvid en nollte ordningens koefficient represen- fÛÛí~C$-29 Lüzbê V åpp1ieati:ntextToL :OxqanisationXSCåLâDO äšïPATENTK_floFamily\SE\2l02ü735\3lO¿ü73ü uctor CAS ÉQJE-08-ll l.floæ 10 15 20 25 30 35 528 172 38 teras som en skillnad till den föregående nollte ordningens koefficient hos motsvarande komponent, lagra nämnda Huffman-kodade ström av koeffi- cienter i en bitström, lagra i en blockinformationstabell indikatorer till en nollte ordningens eller första ordningens koefficient för varje bildblock i bitströmmen, lagra i blockinformationstabellen information som indikerar antalet bitar i bitströmmen mellan koefficienter av nollte eller första ordningen i intilliggande dataenheter hos bildblocket, och lagra i blockinformationstabellen den nollte ordningens koefficient för åtminstone en dataenhet hos varje komponent, varvid nämnda nollte ordningens koefficient representeras i en icke-differentiell form.
19. Metod enligt krav 18, varvid indikatorerna i blockinformationstabellen lagras som indikatorer för bitförskjutningen till koefficienten från en statisk position.
20. Metod enligt krav 18, varvid indikatorerna i blockinformationstabellen lagras som indikatorer för bitförskjutningen till koefficienten från ett riktmärke i bitströmmen och bildrepresentationsformatet vidare inne- fattar en lista som tillhandahåller information om i vilket bildblock varje riktmärke i bitströmmen är beläget.
21. Metod enligt något av krav 18-20, varvid den nollte ordningens koefficient lagras representerad i en icke-differentiell form för varje nollte ordningens koefficient som är representerad i bitströmmen som en skillnad till en nollte ordningens koefficient hos ett föregående bildblock.
22. Bildrepresentationsformat enligt något av krav 18-20, varvid varje nollte ordningens koefficient lagras representerad i en icke-differentiell form. 'ÉÛCEfOG-íà? lêzäê V:'awiiclïßnfganisationïsfiíàllšåïli) AB\E*àTENT\__;1-:\Fau@il3'\SE\21020736\210297315 applicatiantazfvñrflnsfmatar lins :Lfl-:xç-:vs-ïl Lfim 10 15 20 25 30 35 _ 5.28 'I 72 39
23. Metod enligt något av krav 18-22, varvid bitströmmen representerar den digitala bilden i JPEG- formatet.
24. Metod att analysera en JPEG-komprimerad digital bild, varvid den JPEG-komprimerade digitala bilden representeras som en bitström, varvid nämnda bitström representerar sekventiella bildblock, vilka block vart och ett innefattar en eller flera komponenter, vilka var och en innefattar en eller flera dataenheter och varje dataenhet representeras som en Huffman-kodad ström av koefficienter av basfunktioner, och varvid en nollte ordningens koefficient representeras som en skillnad till föregående nollte ordningens koefficient hos motsvarande komponent, vilken metod innefattar: att sekventiellt stega igenom bitströmmen och under stegningen genom bitströmmen lagra en indikator i en blockinformationstabell till en nollte ordningens eller första ordningens koefficient hos varje bildblock, avkoda de nollte ordningens koefficienter och lagra i blockinformationstabellen den nollte ordningens koeffi- cient för åtminstone en dataenhet hos varje komponent, varvid nämnda nollte ordningens koefficient representeras i en icke~differentiell form, och lagra i blockinformationstabellen information som indikerar antalet bitar i bitströmmen mellan koefficien- ter av nollte eller första ordningen i intilliggande dataenheter hos bildblocket, varvid genomstegningen av icke-nollte ordningens koefficienter hos en dataenhet i bitströmmen, vilka nämnda icke-nollte ordningens koefficienter representeras av en sekvens av bitströmsposter, innefattar: att titta på en bitsekvens av ett förbestämt antal av följande bitar i bitströmmen, att göra en tabelluppslagning för bestämning av kategorin och nollföljdslängden hos åtminstone den första bitströmsposten i bitsekvensen och för iüffš-üírï-Z? 10:56 \J:\__í~IeOrganis-aráorfiSCALADO ABK,VATENTXNQFamily\SE'\2lO2O73ë\2lOâüïšš špplitatiantextToïnstrugïtor IIAS ÉOYIE-OS-ll Ldoc. 10 15 20 25 30 35 528 172 40 bestämning av bitlängden hos den första bitströms- posten, att hoppa över det antal bitar i bitströmmen som motsvarar den bestämda bitlängden, att summera antalet överhoppade bitar för insamling av information avseende antalet bitar i bitströmmen mellan koefficienter av nollte eller första ordningen i intilliggande dataenheter, och att summera antalet koefficienter som har stegats igenom tills alla koefficienter av data- enheten har stegats igenom eller en blockslutssymbol påträffas.
25. Metod enligt krav 24, varvid varje bitsekvens som tittas på innefattar sexton bitar.
26. Metod enligt krav 25, varvid tabelluppslagningen innefattar att göra en första tabelluppslagning för de första åtta bitarna i bitsekvensen.
27. Metod enligt krav 26, varvid den första tabell- uppslagningen returnerar information om bitlängden för den första bitströmsposten och antalet koefficienter som stegats igenom eller returnerar information till en andra tabelluppslagning.
28. Metod enligt krav 27, varvid tabelluppslagningen vidare innefattar att göra en andra tabelluppslagning för de sista åtta bitarna i bitsekvensen för bestämning av bitlängden för den första bitströmsposten och antalet koefficienter som stegats igenom.
29. Metod enligt något av krav 24-28, varvid indikatorerna i blockinformationstabellen lagras som indikatorer för bitförskjutningen till koefficienten från en statisk position.
30. Metod enligt något av krav 24-28, varvid indikatorerna i blockinformationstabellen lagras som indikatorer för bitförskjutningen till koefficienten från ett riktmärke i bitströmmen och bildrepresentationsfor- matet vidare innefattar en lista som tillhandahåller ZÛCE-iJéWZQ lüzßš Vf. ïäoörgariisationHSCALALO AB\.PATENT\ tloF-amily*-XSE\2l02O736\2l@2ü?36 spplicaticnrezfloïnstrucrcz »SAS *Jfßíëä-»OS-ll 1.doc~ 10 15 20 25 30 35 528 172 41 information om i vilket bildblock varje riktmärke i bitströmmen är beläget.
31. Metod enligt något av krav 24-30, varvid den nollte ordningens koefficient lagras representerad i en icke-differentiell form för varje nollte ordningens koefficient som är representerad i bitströmen som en skillnad till en nollte ordningen koefficient hos ett föregående bildblock.
32. Metod enligt något av krav 24-30, varvid varje nollte ordningens koefficient lagras representerad i en icke-differentiell form.
33. Metod för sammanfogning av två digitala bilder, vilken metod innefattar: att bestämma ett förhållande i rummet mellan de två digitala bilderna, att tilldela bildblock av digital bildinformation i de två digitala bilderna index i enlighet med förhållan- det i rummet mellan de tvà digitala bilderna, att bilda en bitström som representerar sekventiella bildblock i enlighet med de tilldelade indexen, varvid varje block innefattar en eller flera komponenter, vilka var och en innefattar en eller flera dataenheter och varje dataenhet representeras som en Huffman-kodad ström av koefficienter av basfunktioner, att lagra bildblocksinformation för varje bildblock i en blockinformationstabell i enlighet med positionen för bildblocket, varvid nämnda bildblocksinformation innefattar: indikatorer till en nollte ordningens eller första ordningens koefficient hos varje bildblock i nämnda bitström, information som indikerar antalet bitar i bit- strömmen mellan koefficienter av nollte eller första ordningen i intilliggande dataenheter hos bild- blocket, och den nollte ordningens koefficient för åtminsto- ne en dataenhet hos varje komponent, varvid nämnda iüikê-ÜE-ZQ 10:56 '6-*~=_!~3~>01'ganis-ationwCALADO AEÅ.Pë-TlšblïwurésifamilylßßflåLOZOHPQIQZCVEJ F-.pplicuatifzritext'ï“c-ïnstrçzctoz SAE 2005-08-11 Lclcc. 10 15 20 L.._._____ 528 172 42 nollte ordningens koefficient representeras i en icke-differentiell form.
34. Bildrepresentationsformat för representation av en digital bild, varvid nämnda bildrepresentationsformat innefattar: bildinformation, som är lagrad som en bitström som sekventiella bildblock, varvid varje block eller flera komponenter, vilka var och en eller flera dataenheter och varje dataenhet som en Huffman-kodad ström av koefficienter av basfunktioner, och varvid en nollte ordningens koeffi- representerar innefattar en innefattar en representeras cient representeras som en skillnad till den föregående nollte ordningens koefficient hos motsvarande komponent, och bitströmsinformation, som är lagrad i anslutning till bitströmmen, varvid nämnda bitströmsinformation innefattar information som indikerar antalet bitar hos varje dataenhet i bildblocken.
35. Bildrepresentationsformat enligt krav 34, varvid bitströmsinformationen är komprimerad. Ûlïïißflåtï* 19255- VrKjüeürítariís-atiQINSCÄLADO ABKPATEN'I'\__tl-9Faïnily\SE}\2lO2Û73ERÉIOZUTBE Applicati-.arltextTolnstrucLoi GAS Z-'Clfšt--Oßfll 'Lila-c
SE0501601A 2003-11-18 2005-07-08 Metod för behandling av en digital bild och bildrepresentationsformat SE528172C2 (sv)

Priority Applications (1)

Application Number Priority Date Filing Date Title
SE0501601A SE528172C2 (sv) 2003-11-18 2005-07-08 Metod för behandling av en digital bild och bildrepresentationsformat

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
SE0303085A SE0303085D0 (sv) 2003-11-18 2003-11-18 Method for creating a compressed digital image representation and image representation format
SE0303204A SE0303204D0 (sv) 2003-11-26 2003-11-27 S method and device for image processing
PCT/SE2004/001677 WO2005050567A1 (en) 2003-11-18 2004-11-16 Method for processing a digital image and image representation format
SE0501601A SE528172C2 (sv) 2003-11-18 2005-07-08 Metod för behandling av en digital bild och bildrepresentationsformat

Publications (2)

Publication Number Publication Date
SE0501601L SE0501601L (sv) 2005-09-07
SE528172C2 true SE528172C2 (sv) 2006-09-19

Family

ID=35098447

Family Applications (1)

Application Number Title Priority Date Filing Date
SE0501601A SE528172C2 (sv) 2003-11-18 2005-07-08 Metod för behandling av en digital bild och bildrepresentationsformat

Country Status (1)

Country Link
SE (1) SE528172C2 (sv)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9137443B2 (en) 2011-04-26 2015-09-15 Blackberry Limited Fast estimation of binary data length using memory corruption

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9137443B2 (en) 2011-04-26 2015-09-15 Blackberry Limited Fast estimation of binary data length using memory corruption

Also Published As

Publication number Publication date
SE0501601L (sv) 2005-09-07

Similar Documents

Publication Publication Date Title
JP5238891B2 (ja) ディジタル画像を処理するための方法および画像表現形式
US8121428B2 (en) Accelerated image rendering
US20080198177A1 (en) Method for Processing a Digital Image
US8306346B2 (en) Static image compression method and non-transitory computer readable medium having a file with a data structure
US20010049778A1 (en) Compressed storage of data items
SE528172C2 (sv) Metod för behandling av en digital bild och bildrepresentationsformat
JP3614361B2 (ja) 画像復号装置
CN101635853B (zh) 处理数字图像的方法
TWI454150B (zh) 影像檔案的處理方法
KR100777286B1 (ko) 다수개의 정지영상 빠른 검색 장치 및 방법
KR20040056403A (ko) 고해상도 영상신호를 저해상도 디스플레이 장치에디스플레이하는 디스플레이 방법
KR20040050070A (ko) 데이터 아이템의 압축저장
JPH03144780A (ja) 画像符号化装置及び画像復号装置
KR20040052176A (ko) 이미지 압축 부호화 방법 및 시스템

Legal Events

Date Code Title Description
NUG Patent has lapsed