[go: up one dir, main page]

SE528172C2 - Digital image processing method for mobile phone, involves performing Huffman decoding of preset number of coefficients of data unit, so that rest of coefficient is skipped by jumping to next zeroth/first order coefficient in bitstream - Google Patents

Digital image processing method for mobile phone, involves performing Huffman decoding of preset number of coefficients of data unit, so that rest of coefficient is skipped by jumping to next zeroth/first order coefficient in bitstream

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
Swedish (sv)
Other versions
SE0501601L (en
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/en
Priority claimed from SE0303204A external-priority patent/SE0303204D0/en
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/en
Publication of SE0501601L publication Critical patent/SE0501601L/en
Publication of SE528172C2 publication Critical patent/SE528172C2/en

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 Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

The zeroth order coefficient of each data unit of an image block, is accessed. The Huffman decoding is not performed/performed to preset number of coefficients of data unit, so that the rest of the coefficient is skipped by jumping to next zeroth/first order coefficient in bitstream (36) using information (32) related to number of bits in bitstream between coefficients zeroth/first order in adjacent data unit. Independent claims are also included for the following: (1) image representation format; (2) method for encoding raw image data into compresses digital image representation; (3) method for analyzing JPEG-compressed digital image; and (4) method for stitching two digital images.

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. 20 25 30 35 * IIIIIIIIIIIIIIIIIIIIIIlill ---- IIIIIIIII-ll 528 172 2 images are the JPEG (Joint Photographic Experts Group) standard. The JPEG standard is defined in CCITT Rec. T. 81.

För tydlighets skull presenteras emellertid i det följande en kort beskrivning av bildfilsformatet enligt JPEG-standarden.For the sake of clarity, however, a brief description of the image file format according to the JPEG standard is presented below.

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.The JPEG standard defines a destructive baseline coding system, which system is based on the DCT transformation, and an extended coding system for presenting the transformed image in smaller amounts of data. When converting a digital image to the JPEG file format, a DCT transformation and quantization of the image is performed, whereby each component of a color space model for the image is separately DCT-transformed. All color components are represented as blocks, which are processed sequentially. The DCT-transformed blocks are thresholded and quantized so that information from basic functions that have a low impact on how the image is perceived is rejected. The zero order coefficient (DC coefficient) of each component of each block is stored as the difference to the previous DC coefficient using Huffman coding. The higher order coefficients (AC coefficients) are arranged sequentially, the sequence being obtained by a zigzag order from the array. The AC coefficients are zero run length code (zero run length code) and are also coded with Huffman coding.

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.The JPEG file format is designed to create a standard compression that significantly reduces the storage size of a digital image. Thus, the JPEG file format is not suitable for image manipulation. If there is a desire to process a digital image, it is most convenient to transfer the digital image back to a representation in the space domain. However, when processing images on a device that has a small storage space, such as a mobile phone, it is not possible to handle with certainty the large storage requirement of the digital image represented in the space domain. l fi fšê fl öë - iê 30:56 1 = ': \ jicwšrganisaticrfxstàïuëlïö âB \ PATFïï ~ 1'P \ __ lS-o} ïarnily \ SE \ 2LOZüYBSXZIOZíY / * Išö AppïJcatinnfextïl 30 Icn 30 x8 25 I EP 1 037 165 describes a method for manipulating digital images stored in JPEG format. The bitstream of the JPEG image is scanned to identify positions for image areas in the bitstream. Certain designated modes are stored in a pre-scan table for easy access, allowing selected areas of the image to be accessed without the need to decode the entire bitstream when manipulating a portion of the image. However, there is still a need to further increase the speed of image processing while maintaining low memory requirements.

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.SUMMARY OF THE INVENTION It is an object of the invention to provide compressed images that can be easily analyzed and / or manipulated. It is a further object of the invention to provide an opportunity to easily merge digital images into a compressed image representation format.

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.These and other objects of the invention are achieved, according to a first aspect of the invention, by a method of processing a digital image. The method comprises: providing the digital image in a compressed format, in which the digital image is represented as a bitstream representing sequential image blocks, each block comprising one or more components, each of which comprises one or more data units and each data unit is represented as a Huffman-coded stream of base function coefficients, and a zero order coefficient is represented as a difference to the previous zero order coefficient of the corresponding component, and a block information table, comprising: indicators of a zero order or first order coefficient of each image block in the bitstream, information indicating the number of bits in the bitstream between zero or first order coefficients in adjacent data units of the image block and the zero order coefficient for at least one “3006 ~ f; 6 ~ 29 10:56 '=. =': [blo fi xgarxisatiormscialšxßi ) AE- \ ¥? P.'SEZ \ IT \ V_I: 1oFamily \ SE \ 2l O20? 3í fi iïlcàüïïšeš àpp ~ lic'ati'nritszt'l “olnstrutrtczi" CAS ïüíjí - ßß-ll Laws. 10 15 20 25 30 35 528 172 4 data unit of each component, said zero order coefficient being represented in a non-differential form. The method further comprises for each data unit of at least one image block: retrieving the zero order coefficient from the data unit and Huffman decoding no or a predetermined number of coefficients of the data unit, skipping the rest of the coefficients by skipping to the next zero or first order coefficient in the bitstream by means of the information in the block information table regarding the number of bits between coefficients in adjacent data units in the bitstream, whereby a reduced set of Huffman-coded coefficients is decoded.

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.In the context of this application, the term "image block" is to be construed to represent a portion of the space of an image, said block being capable of having information from various color space components. Each image block can be represented as one or more sets of coefficients for each color space component.

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.According to a second aspect of the invention, the objects are achieved with an image representation format for representing a digital image. The image representation format comprises: image information stored as a bitstream representing sequential image blocks, each block comprising one or more components, each comprising one or more data units and each data unit being represented as a Huffman-encoded stream of coefficients of basic functions , and wherein a zero order coefficient is represented as a difference to the previous zero order coefficient of the corresponding component; and a block information table, comprising: indicators of a zero order or first order coefficient of each image block in said bitstream; information indicating the number of bits in the bitstream between zero or first order coefficients in adjacent data units of the image block; and the zero order coefficient for at least one Û Û EMEê-Z 9 1813 * É V: \ __ I ~ 1 -.>! § «1¿¿: 1r; l: hat ionï SCEÄLF-: IÜ šB \ PÉ- * CPEXGTX NO -Faï fi i lf; '\ š'-3E “~ \ 2 1 Olí fi fi 2: 1 3,2" LOLÉ 1373 ëPlßllcatiønt: ztToïnstrnfrf-a iïß-.ß SU- ”JE-TJB-ll L-'lo-c 10 15 Data unit of each component, said zero order coefficient being represented in a non-differential 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.According to a third aspect of the invention, there is provided a method of encoding raw image data into a compressed digital image representation. The method comprises: arbitrarily reading image blocks of a specified size of said raw image data and for each image block: transforming the image block into one or more data units for one or more components, said transformation creating a representation of each data unit as coefficients of basic functions; calculate a quantized approximation of said coefficients; representing at least some of the quantized coefficients as a stream of coefficients of sequential image blocks; Huffman encodes said stream of coefficients, wherein a zero order coefficient is represented as a difference to the previous zero order coefficient of the corresponding component; storing said Huffman-encoded stream of coefficients in a bitstream; storing in a block information table indicators to a zero order or first order coefficient for each image block in the bitstream; storing in the block information table information indicating the number of bits in the bitstream between zero or first order coefficients in adjacent data units of the image block; and storing in the block information table the zero order coefficient for at least one data unit of each component, said zero order coefficient being represented in a non-differential 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.According to a fourth aspect of the invention, there is provided a method of analyzing a JPEG-compressed digital image, the JPEG-compressed digital image being represented as a bitstream, said bitstream representing sequential image blocks, each block comprising one or more components, which each comprises one or more data units and each '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; Data unit is represented as a Huffman-encoded stream of coefficients of base functions, and a zero order coefficient is represented as a difference to the previous zero order coefficient of the corresponding component. The method comprises: sequentially stepping through the bitstream and during the stepping through the bitstream: storing an indicator in a block information table to a zero order or first order coefficient of each image block; decoding the zero order coefficients and storing in the block information table the zero order coefficient for at least one data unit of each component, said zero order coefficient being represented in a non-differential form; and storing in the block information table information indicating the number of bits in the bitstream between zero or first order coefficients in adjacent data units of the image block. The step through the non-zero order coefficients of a data unit in the bitstream, which non-zero order coefficients are represented by a sequence of bitstream records, comprises: looking at a bit sequence of a predetermined number of the following bits in the bitstream; making a table lookup for determining the category and the zero sequence length of at least the first bitstream record in the bit sequence and for determining the bit length of the first bitstream record; skipping the number of bits in the bitstream corresponding to the determined bit length; summing the number of skipped bits for collecting information regarding the number of bits in the bitstream between zero or first order coefficients in adjacent data units; and summing the number of coefficients that have been stepped through until all the coefficients of the data unit have been stepped through or a block end symbol is encountered.

Enligt en femte aspekt av uppfinningen tillhanda- hålls en metod för sammanfogning av två digitala bilder.According to a fifth aspect of the invention, there is provided a method of joining two digital images.

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.The method comprises: determining a relationship in the space between the two digital images; to assign image blocks itlüfš-ßš-S-ZQ 1? z 5 6 v: \ ._! ~ Ief.ï.1: gani ss-.at .if> n'xS (:? \ LADO AB ~ 2Pš \ TENT \ ._ NoFarnilyäßëšäâ1020736 \ 2l02 <ï> 736 àpnlicationtzzxt'ï ' digital image information in the two digital images index according to the ratio in the space between the two digital images; to form a bitstream; representing sequential image blocks according to the assigned indices, each block comprising one or more components, each comprising one or more data units and each data unit being represented as a Huffman-encoded stream of coefficients of basic functions; storing image block information for each image block in a block information table according to the position of the image block, said image block information comprising: indicators of a zero order or first order coefficient of each image block in said bitstream, information indicating the number of bits in the bitstream between coefficients of zero e or the first order in adjacent data units of the image block, and the zero order coefficient of at least one data unit of each component, said zero order coefficient being represented in a non-differential 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.Thanks to at least some of the aspects of the invention, a digital image is represented in an image representation format that requires little storage space, while the digital image in the compressed representation format can still be easily processed. This is especially useful for applications with small storage space and low computing power, such as mobile phones. The invention enables a digital image to be stored in a compressed format, but can still be processed and manipulated in real time while being presented on a screen. Thanks to the image representation format and the method of processing an image according to the invention, the image can be presented very quickly on a reduced scale or with a reduced resolution. The storage of the zero order coefficients of the image blocks means that the zero order coefficient does not need to be calculated using information of the previous zero order 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 coffic. Furthermore, any desired number of non-zero order coefficients can be decoded. The rest of the non-zero order coefficients in the bitstream can be quickly skipped because the block information table provides bit length information between coefficients of adjacent data units, enabling fast access to the next data unit. This means that the image can be decoded quickly on a reduced scale, since there is no need to decode the non-zero order coefficients in the bitstream to find the start of the next data unit in the image block or the start of the next image block. Thus, the image representation format allows quick access to a digital image.

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.The storage of indicators to a zero-order or first-order coefficient of each image block provides quick access to particular portions of the images, without the need to decode the Huffman-encoded stream of coefficients from the start of the stream.

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.Instead, the image block can be accessed directly using the indicator. Furthermore, the zero order coefficient of at least one data unit of each component is represented in a non-differential form in the block information table. Thus, the need to calculate the value is avoided. This allows the presentation and manipulation of parts of it from the Huffman-coded stream of coefficients. digital image, while it is in the compressed image presentation format, since parts of the image can be accessed and analyzed at random.

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.In accordance with the image representation format of the invention, the goal of compressing a digital image to a minimal size is somewhat eased. Thus, the size of the digital image is not optimally compressed, but instead some additional information about the Huffman-encoded stream of coefficients is stored separately to enable rapid acquisition of certain portions of the image. In particular, it is possible to decode the image or parts of an image very quickly on another scale by 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 decoding only a fraction of the non-zero order coefficients and using an inverse discrete fit industry form to a smaller block, such as 4 x 4, for calculating a smaller size block. The image representation format can be easily transferred to a JPEG image, since the image representation format is very similar to the JPEG image format. Thus, it is possible to perform the transfer to a JPEG image and remove the indicators and the stored values of the coefficients, when the image does not need any further manipulation.

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.The Huffman-coded stream of coefficients need not include the zero-order coefficients stored separately in the block information table. However, the Huffman-encoded stream of coefficients can be in all This may be appropriate if the image representation format is to be transferred to another image format, since the bitstream itself can then be used directly in the second image format.

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.The term "block information table" should not be interpreted strictly as a table, but only as the fact that cases include all coefficients. Thus, for example, the block information table may be divided into several lists or tables.Furthermore, "Huffman-coded stream of coefficients" does not necessarily mean that the whole stream is Huffman-coded.The stream may include Huffman codes mixed with raw data for the coefficients. For example, in a JPEG compressed file, a zero sequence length and category of coefficients are Huffman encoded and the value of a coefficient within a category is described by uncompressed bits.

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.By storing indicators and coefficients in a block information table, a distinct structure is obtained to store the image information. 20f26 ~ O6 ~ Z9 read V9-, ëIQOr-'Ltanisationï fi tà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 An image block can, for example, include three Representation of the digital image in one luminance component and two color components means that the color components can be represented in a lower resolution without actually losing any information perceived by one eye. the information in the digital image is provided relative to a representation of the digital image sdm three color components.Using such compression, each image block may, for example, comprise four data units for the luminance component and one data unit for each color component.The data units are arranged sequentially in the Huffman coded the stream of coefficients.

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.According to a sixth aspect of the invention, there is provided an image representation format for representing a digital image. The image representation format comprises: image information stored as a bitstream sdm representing sequential image blocks, each block each comprising one or more components, each comprising one or more data units and each data unit being represented as a Huffman-encoded stream of coefficients of basic functions, wherein a zero order coefficient is represented as a difference to the previous zero order coefficient of the corresponding component, and bitstream information stored adjacent to the bitstream, which bitstream information includes information indicating the number of bits of each data unit in the image blocks.

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.This image representation format requires a relatively small storage space. The image representation format contains only bitstream information that enables rapid creation of a block information table in accordance with the image representation format of the second aspect of the invention. Therefore, this image representation format according to the sixth aspect of the invention is suitable for long-term storage of an image. When the image is retrieved, Il1fJ6-1 ”J6 ~ 29 l fi zbá- V: \ __ låow3rgar1is ~ ationXSIiRLâDO AB \ PATENTXjJoFatHilyKSEXZIC2IE736 \ 2lO20736 Åpplicati fi vrlteztïtzlxïüllcfs

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.The information indicating the number of bits of each data unit in the image blocks can be used for quick access of the data units. When the data units are retrieved, the indicators can be created, the information indicating the number of bits between zero or first order coefficients of adjacent data units can be collected and the zero order coefficients can be decoded to store at least one zero order coefficient of each component in a non-differential form.

Bitströmsinformationen kan vara komprimerad. Detta innebär att bildrepresentationsformatet enligt den sjätte aspekten kan vara ännu mer effektivt lagrad.The bitstream information may be compressed. This means that the image representation format according to the sixth aspect can be stored even more efficiently.

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.The indicators in the block information table may indicate the bit offset from a static position to the coefficient of said specified order. The static position can, for example, be the start of the bitstream.

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.Thus, the indicators are realized as pointers to a specific bit position in each image block. This means that each image block can be quickly retrieved, thereby speeding up access to specific parts of the Huffman-encoded stream of coefficients.

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.Alternatively, the indicators in the block information table may indicate the bit offset to the coefficient from a benchmark in the bitstream. The image representation format can then also include a list that provides information about in which image block each benchmark in the bitstream is located. In this way, the bit offset of the indicator can be stored with a smaller number of bits, since the bit offset from a benchmark in the bit stream is almost always smaller than the bit offset from a static position. This means that the indicators can be stored using less memory. Instead, a list is needed that provides information about in which image block each benchmark in the bitstream is located. When a specific block of images is to be accessed, the following is done '2006- (16-29 10:56 V: Lïießïwgariiz- »atioIYxSCALADO AEWATENTLNOFæni13'“ ~, SE \ 2lO2ü? 36 \ 2ï02ü? 25 30 35 528 172 12 first a check in the list so that the last benchmark in the bitstream before the specific image block is found, then the information about the relevant benchmark in the bitstream and the bit offset from the benchmark is used to find the desired image block in the bitstream.

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.The indicator can point to a zero-order or first-order coefficient of an image block. When the indicator points to a zero order coefficient, the start of a data unit can be easily accessed. Then the zero order coefficient needs to be decoded to access the non-zero order coefficients, even though the zero order coefficient may already be stored in a non-differential format in the block information table.

När indikatorn pekar till en första ordningens koeffi- cient kan de icke-nollte ordningens koefficienter direkt kommas åt.When the indicator points to a first-order coefficient, the non-zero-order coefficients can be accessed directly.

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.The information indicating the number of bits in the bitstream between coefficients of adjacent data units may further indicate the number of bits between any combination of zero order and first order coefficients. This information can be used for fast jump in bitstream from a data unit to an adjacent data unit. As described above, the information of a data unit can be easily accessed either by accessing the zero order coefficient or, when the zero order coefficient is known from the block information table, by directly accessing the first order coefficient. Therefore, the information indicating the number of bits can either indicate the number of bits to the zero order coefficient or to the first order coefficient. Likewise, the image representation format is structured in such a way that it is convenient to indicate either the number of bits from the zero order coefficient or the first order coefficient.

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.The indicator can also point to a coefficient in any data unit in the image block. Then can 'Exïfßê-üê-Z? 'Líëzišiï iFz \ __ Noñrgarils-: 1t ionkišfilALšxf fl í) AB \ PATEI-Iï fl jlilïarnllyESERZ102 (!? 36 \ 2102 $'? 3G Eepliciati-T-rltextTolnstz-uctfn. 'ÅAS 205 25c 36 l *. Furthermore, the zero order coefficient of the data unit to which the indicator points is preferably stored in the block information table. The zero order coefficients of the other data units of the component can It is appropriate for the indicator to point to the zero or first order coefficient in the first data unit of the image block, thus direct access to the start of the image block is used .

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.The block information table may include the zero order coefficient represented in a non-differential form for each zero order coefficient represented in the bitstream as a difference to a zero order coefficient of a previous image block. This means that each image block can be accessed independently, since the block information table provides all the information presented in the bitstream as dependent on the previous image block. According to a specific embodiment, the block information table includes indicators indicating the bit shift of the coefficient from a benchmark in the bitstream and only the zero order coefficients in non-differential form for coefficients represented in the bit stream as a difference to a zero order coefficient of a previous one. image blocks. This embodiment provides a block information table of a small size, which is advantageous when storage capacity is limited.

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.Alternatively, the block information table includes each zero order coefficient represented in a non-differential form. This means that there is no need to calculate the zero order coefficient for data units, whose zero order coefficient 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 is represented in the bitstream as a difference to the zero order coefficient of a data unit within the image block. Thus, the information of the image block can be accessed more quickly. However, more information is required in the block information table.

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.Furthermore, the bitstream can represent the digital image in the JPEG format. Thus, a standard JPEG compression or an already compressed JPEG image may be associated with additional information for quick access, manipulation, and / or analysis of specific parts of the image.

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.According to an embodiment of the method according to the first aspect of the invention, the method further comprises presenting the decoded image blocks to a data handling or data presentation unit, whereby the image or a part of the image is presented on a reduced scale.

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.The data management or data presentation unit may be, for example, a monitor, a printer or a hardware unit for performing image processing. The image or parts of the image can be quickly presented on, for example, a screen, since the method decodes the relevant parts of the digital image for presentation on the screen in a very fast way. This means that the image can be presented to a user without the user experiencing annoying waiting times.

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.The method may further comprise performing calculations for image processing on the decoded image blocks. In this way, fewer calculations are needed because the image is decoded into a reduced set of Huffman-coded coefficients. Therefore, the image processing can be performed relatively quickly.

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.The method may further comprise presenting results of the performed calculations on a screen when the calculations are performed. The method provides presentation of an image stored in a compressed format in real time when the image is selected and presentation of manipulations of the image in real time, as the method provides a very fast way to access relevant parts of the image and fi PíI- “ëfßš-ZQ 93: 56- V: * pjlo fl ïrqazïisitLonESíIALADG AB \ E'ATEI-IT \ _ ~ IIoFanfilyRSE \ 2l02f173i5 \ 2lC20736 àppticarn * nr-taztToïrrstruct-oi "'SAS ÉGüE-'Jíoc-52 8 15 2 L' 25 decode them into a small amount of data so that manipulation can be quickly performed and presented.The method further allows the definition and execution of manipulations of images on a device having a small memory space, such as a mobile telephone.

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.According to one embodiment of the method according to the first aspect of the invention, the number of coefficients of the data unit used by Huffman is decoded to approximate a decoded image block corresponding to a larger number of coefficients. The approximation allows the Huffman-decoded coefficients to represent more coefficients, whereby a lower quality image can be created or a smaller image that has fewer pixels per image block can be created. Even if the approximation loses the finest details of the image, the quality of the image can still be satisfactory, since the rough features of the image are represented by the first coefficients in each data unit.

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.The predetermined number of coefficients that Huffman decodes can be, for example, four, nine, thirteen, eighteen or twenty-four. When four and twenty-four coefficients are decoded, respectively, the decoded coefficients represent a scaling of each image block from 8 x 8 pixels to 2 x 2 pixels and 4 x 4 pixels, respectively. When nine, thirteen or eighteen coefficients are Huffman decoded, the decoded coefficients can be used to approximate a representation of an image block in 4 x 4 pixels. These numbers of decoded coefficients are particularly suitable, since the coefficients immediately following the ninth, thirteenth and eighteenth coefficients cannot be used as information in a 4 x 4 pixel image block.

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.According to an embodiment of the image representation format according to the second aspect of the invention, the indicators, the information indicating the number of bits between coefficients of adjacent data units and the zero order coefficients represented in a non-differential form are stored in a block in block information lüfßfš-Oê fl ïñ 50:56. sš '' ''. 1,311: 10 15 20 25 30 35 528 172 16 tables. In an alternative embodiment, the indicators, the values of the coefficients and the image information are stored in separate memory areas.

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.According to one embodiment of the method according to the fourth aspect of the invention, each bit sequence viewed comprises sixteen bits. This is especially suitable for the format of bitstream records. A bitstream record encoding the non-zero coefficients consists of two parts. The first part is Huffman-coded and encodes the zero-sequence length and the category for the value of the current coefficient.

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.The second part is data that represents the value of the current coefficient. The first part of the bitstream record thus contains information about how many coefficients are coded by the record (zero sequence length + 1 coefficient) and how many bits the bitstream record consists of. Since the first part of a bitstream record is a maximum of sixteen bits long, it is advisable to look at sixteen bits. Thus, when looking at sixteen bits at a time, each bit sequence will always comprise at least the first part of a bitstream record and the sixteen bits will therefore contain information about the number of coefficients encoded by the bitstream record and the length of the bitstream record.

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.The lookup in table may include doing a first table lookup for the first eight bits of the bit sequence. If a table lookup is done for the sixteen bits at once, a table with 65,536 entries is needed, which consumes quite a lot of memory. Furthermore, the first part of the most common bitstream entries is eight bits or shorter. Therefore, a table lookup of the first eight bits will in most cases provide the information needed about the bitstream record.

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.The first table lookup can return information about the bit length of the first bitstream record and the number of coefficients passed through or return information to a second table lookup. In this way, the first table lookup will either lüíêê- fßë-ffê 10:56 X1: \ _ t ~ lo1ätgarlisxatiOnXSCALADO àB \ E'š = .TEi ~ 1T \ .__ IêoFatnilSASEÅZIOQÜ? 3G \ 2l02ü? Return the required information about the bitstream record or return information for analysis of the first part of the bitstream record using the last eight bits of the bit sequence.

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.The lookup in the table may further comprise doing a second table lookup for the last eight bits of the bit sequence to determine the bit length of the first bitstream record and the number of coefficients being stepped through. When a second table lookup is needed, the first table lookup can return a pointer to a table to be used in the second lookup depending on the first eight bits. There is only a need for a few different tables for the second table lookup, since there are only a few combinations for the first eight bits, where the first part of the bitstream record is longer than eight bits. Thus, when a table lookup is done in two steps, there is no need for as many table records for analysis of the first bitstream record of each bit sequence.

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.According to an embodiment of the method according to the fifth aspect of the invention, certain image blocks of one of the digital images are manipulated with information from the other digital image. The manipulation can be a mixture of effects on the image block from the two digital images, if the contents of the image block are imaged in both the digital images. This means that the two digital images can be more seamlessly joined together.

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.According to a further embodiment, image blocks of a part of a first digital image are first handled, while the image blocks of the rest of the image are temporarily stored in an uncompressed format. Then, these later image blocks can be used to calculate the manipulation of the second digital image, before the image blocks of the second digital image are handled.

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.The merged image can be further transferred to another image compression format, such as the JPEG format, by sequentially retrieving the image blocks of the .ïüüê-Ûë-'zå l fi zâê V: Agaplicfltioritemïfïoïnstructor CAB 'ZJOÉ-flê-íl Lrloc H 10 15 20 25 30 35 528 172 18 merged the image using the indicators of the image representation format and storing the stream of Huffman-coded coefficients for sequential image blocks with zero order corresponding coefficients corresponding to zero scheme coefficient. Thus, the digital images can be merged and manipulated while requiring little memory capacity, and when the merging is completed, the image can be moved to a representation format that is even better compressed.

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.Brief Description of the Drawings The invention will now be described in more detail, by way of example, with reference to the accompanying drawings, in which: Fig. 1 is a flow chart of a method for compressing a digital image according to an embodiment of the invention.

Fig 2a~c är schematiska vyer av bildrepresentations- formatet enligt utföringsformer av uppfinningen.Figures 2a ~ c are schematic views of the image representation format according to embodiments of the invention.

Fig 3 är ett flödesscbema för en metod att analysera en dataenhet i bitströmmen.Fig. 3 is a flow chart of a method of analyzing a data unit in the bitstream.

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. 4 is a flow chart of a method for reading a specific part of a digital image stored in a compressed image file format.

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. 5 is a flow chart of a method for decoding a data unit for manipulating a digital image stored in a compressed image file format according to an embodiment of the invention.

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. 6 is a flow chart of a method for merging two digital images into a compressed image file format according to an embodiment of the invention.

Fig 7 är en schematisk översikt av sammanfogningen av två digitala bilder.Fig. 7 is a schematic overview of the joining of two digital images.

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.Figs. 8-9 are screenshots of a device that captures digital images and merges the digital images into a compressed image file format. 'lüfß-šwê - Zšä 19:56 V: \ __ t ~ le = 2> xganis »aríonXSCALAEO ABXPATEIQT \ èloš- * amilj / XSEAZ1020736 \ 21021}? 36 Äpplicaciorntextík fl zstrutftor CAS 2005-08-11 20 Ldoc 25" 10 Detailed Description of a Preferred Embodiment In the following description, image compression will be described with reference to JPEG compression, although other compressions using other transformers are conceivable. to JPEG compression.

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.Referring to Fig. 1, a method of compressing a digital image will now be described. First, the digital image is represented in the YUV color model, step 10, with each pixel in the image having three components: luminance, Y and two color components U and V. The two color components U and V represent color features, the finest details of which are difficult to detect for the human eye.

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.Thus, these components can be represented in a lower resolution than the luminance component. A 16 x 16 pixel block of the image, which is an example of an image block as defined herein, may be represented by four Y x data units of 8 x 8 pixels each, a U x data unit of 8 x 8 pixels and a V data unit of 8 x 8 pixels. This corresponds to a 50% compression of the amount of data compared to an RGB representation of the digital image. However, four U-data units and four V-data units can also be used, whereby no compression is obtained compared to the RGB representation.

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).The image is treated as discrete 16 x 16 image blocks in any order. Each data unit of each component is transformed using the discrete cosine transform (DCT), step 12. Since each data unit of each component comprises 64 pixels, the DCT transform will generate 64 coefficients for the basic functions of the DCT transform. These coefficients include a zero order coefficient (DC coefficient) and 63 higher order coefficients (AC coefficients).

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).Then, a thresholded and quantized approximation of the coefficients for each data unit is created, step 14. 2006-136-29 19:56 V: \ _ I ~ I -;> Organizational sutíOxHSCALADO ABAPATENTäWlIaFamilï \ $ E \ Ii1O2O736 \ 2ï <320'73í5 F-.ppliczatiorrtezffslnstructoi CAS 'ZCIQÉ - Üß fl l l.df.-c: D10 15 20 25 30 35 528 172 20 a normalization matrix. This means that the coefficient for basic functions that have been determined to have low perceptual weight is given low weight and many coefficients are given the value 0 (zero).

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.Then the coefficients are reorganized into a stream of coefficients by means of a zigzag arrangement. According to standard JPEG compression, the DC coefficients are represented as the difference to the previous DC coefficient of the previous data unit by the same color component and the difference is Huffman coded. The AC coefficients are zero-sequence length-coded and further coded with Huffman coding and stored directly after the Huffman-coded DC coefficient. When there are only AC coefficients that have a zero value left in the data unit, a block end code is entered into the stream of coefficients. Thus, a bitstream of Huffman-coded coefficients for sequential data units and image blocks is obtained. According to one embodiment of the invention, the Huffman-coded coefficients are calculated in a similar manner as for standard JPEG compression, step 16. The bitstream constitutes a compressed representation of the digital image.

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.However, since a zero-sequence length coding and Huffman coding are used, the length of each data unit is unknown. Therefore, the start of a data unit is unknown until the bitstream has been decoded from the start of the bitstream to the start of the data unit. Furthermore, since the representation of the DC coefficient depends on the previous DC coefficient, the DC coefficient of a data unit is not known unless the previous DC coefficient has been determined by decoding the Huffman-encoded stream of previous coefficients.

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.To enable fast retrieval of specific blocks of the image and thereby manipulation and / or analysis of the specific block, a block information is created .ÜCfJG-ÛfS-Z? 10:56 ** '= \ _ ï ~} o1f =:' garis-aríonßíïšïlšæll fi àPfxPATENT \ g_ïisl “axnilyXSE \ 2l02Ü '? 36XèÉlOZU736 Applicatlorltextffc-ïzzatrutctor» CAS 1005-05-11 17 20 30 52 '5 , step 18, which includes an indicator for each image block, information indicating the number of bits in the bit stream between adjacent coefficients of a specified order and a DC coefficient for each color component of each image block, the DC coefficient being represented in a non-differential 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.According to other embodiments of the invention, the bitstream of Huffman-coded coefficients may have different contents or be stored in other ways. For example, since the DC coefficients due to a previous image block are already stored in the block information table, they do not need to be in the bitstream.

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.Furthermore, all information about an image block is known from the block information table, which includes the DC coefficients that depend on other image blocks and an indicator of the image block in the bitstream. Thus, the bitstream need not be represented as a specific sequence of image blocks or even be stored in a stream.

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.Thus, according to an embodiment of the invention, the information is stored in the block information table in a manner where the position of a block information in the table specifies which part of the image it represents.

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.The block information may also be stored in a manner where the position it represents is stored together with the other block information. The Huffman-encoded stream of image block coefficients may even be stored adjacent to the block information. The stored block information can also have a mechanism for determining whether the block has been coded, which makes it possible to process the non-coded blocks as, for example, black blocks.

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.A packet of the Huffman-encoded stream of coefficients and the block information table thus constitutes a representation of a digital image, which requires little storage capacity while enabling analysis and manipulation of specific parts of the image without the need to decode the entire image. This also enables compri- J "-06-29 19:56 V:" çlkwargarlisatíOnXSCALAQiD ABXPATEI ~ ITX èëoFamw'1.yRSERZlOEÜÉBSKxVZlOZD7BG ÅPL- * li fi fxticnram-ffnënl ln - ll 528 172 22 of the image in a non-linear manner, where the order in which the blocks are compressed is not essential.

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.Reference is now made to Fig. 2a, in which the structure of the compressed image representation format is presented. The block information table may be stored in the RAM of a device, while a random access for reading or writing image blocks is required by the device. As shown in Fig. 2b, the block information table 30 and the bitstream of Huffman-coded coefficients 36 can be stored in separate memory spaces. The block information table 30 includes the indicator 31, information 32 indicating the number of bits in the bitstream between zero or first order coefficients in adjacent data units and the DC coefficients stored in a non-differential form 33. The indicator 31 of the block information table 30 then includes an indication of the the first coefficient of a specified order of the image block in the bitstream 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.As an alternative, as shown in Fig. 2c, the block information table 30 'may be stored as a header or as a special marker to the bitstream 36', which may be a standard 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.It will also be appreciated that when information is stored in the bitstream header, the header need not include all the information needed in the block information table.

Istället kan huvudet innefatta information för tillåtande att blockinformationstabellen mycket snabbt skapas.Instead, the header may include information to allow the block information table to be created very quickly.

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.Thus, the bitstream head 36 'only needs to pour information about the lengths of each data unit. When the image is retrieved, the block information table can then be quickly created and loaded into RAM. Using the lengths of the data units, the information needed in the block information table can be quickly accessed. The data units are incremented while indicators are created to the start of each image block, the DC coefficients are decoded and stored and the information indicating the number of bits in the bitstream between the coefficient- ApplicationteztTcInstrucLul »TAE 20-'15-08-11 lead-c 10 15 20 25 30 35 528 1272 23 ter of zero or first order in adjacent data units are updated.

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.This head can even be compressed, eg Huffman-coded, so that storage space is saved. The length information has values that only slightly vary. Therefore, Huffman coding of the lengths in a manner corresponding to the coding of DC coefficients would substantially compress the information. The essential compression of the file means that the file can be stored in a space-efficient format while allowing the block information table to be created quickly. The head is then decoded when the image is retrieved.

Det bör emellertid observeras att uppfinningen inte pà något sätt är begränsad till dessa presenterade sätt att representera bilden.It should be noted, however, that the invention is in no way limited to these presented ways of representing the image.

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.The indicator 31 can point to the first zero order coefficient of the image block. However, since the zero order coefficient is provided in the block information table, there is no need to access the zero order coefficient. Thus, the indicator 31 may alternatively point to the first order coefficient of the image block. The indicator can be implemented as a bit offset from a static position in the bit stream to the coefficient of a specified order in the image block. Preferably, the indicator provides information about the bit offset to the coefficient from the start of the bit stream.

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.The indicator 31 can alternatively indicate the bit offset to the coefficient from a benchmark in the bit stream. If the indicator 31 indicates the bit offset from the start of the bit stream, a bit stream of a size larger than 2 Mbytes would require indicators represented by 4 bytes. The benchmarks in the bitstream can be placed in the bitstream so that an indicator 31 can be represented by 2 bytes. When the offset becomes larger than, for example, 65,536 bits (the largest number represented by 2 bytes), a benchmark is registered in the bitstream. 23136--216--29 30:56 V: ”xjl-: DrganisatiornSCALAItë AB \ EA'JEI ~ IT \ IJcFarnilg fl sEïâl020736 \ 21020? 36 Äïëßl.Lcationteztïøïnstructor CAS .IÛIJE - ÜS-ll 15 xx 25 ' 528 172 24 The benchmarks in the bitstream are sequentially numbered. A list of benchmarks in the bitstream is created to provide information about which image block each benchmark in the bitstream is located in. When an image block is to be accessed using the indicator, access is made in two steps. First, a comparison is made with the list of benchmarks in the bitstream so that the number of the benchmark in the bitstream that is located closest to the bitstream before the image block to be accessed is found. Then the bit offset of the image block from the start of the bit stream can be calculated as (the number of the benchmark in the bit stream) * 65.536 + the bit offset provided by the indicator. Of course, any number of bits could be used between the benchmarks in the bitstream.

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.The information indicating the number of bits between adjacent coefficients of the specified order could be used for quick access of specific data units within an image block. There is no need to decode the previous data units to know where a data unit starts. This could be used to advantage for fast decoding of image blocks to a reduced set of decoded coefficients, as described in more detail below.

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.The block information table may include the DC coefficient represented in a non-differential form for each data unit. This means that there is no need to calculate the DC coefficient for any data unit.

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.However, the block information table may alternatively include only the DC coefficients represented in the bitstream as a difference to a DC coefficient of a previous image block. Since an image block comprises several data units for each component, there is only a need to store the DC coefficient of the first data unit of each component. This means that the block information table requires less storage space.

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.The structure of the compressed image representation format can also be obtained by starting from a ^ 70fJ6 ~~ l16 ~ 29 10:56 * JU-_ t-lf. “'GanisstionkSCšïr-ÅDO ABXPATBIJTë I fl olfarnil *; \ SE \ 2lOllïïßïtêlüäftVfšiš Applicationtf2ztï'oIn.st.r |.-_. Tcn: CAS Süüï - ÛB-il Ldo: 10 15 20 25 30 35 5-28 compressed JPEG file. The JPEG file is then decoded to determine the indicators for each image block, information indicating the number of bits between adjacent coefficients of specified order and a DC coefficient in a non-differential form for each component of each image block. Thus, the indices and DC coefficients are stored in the block information table, while the Huffman-coded stream of coefficients is kept intact.

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.The AC coefficients of such a JPEG image can alternatively be copied to a new memory space, whereby all information of the JPEG image will be accessible without the need to keep the original JPEG image stored in the device.

Det på detta sätt skapade bildrepresentationsfor- matet öppnar möjligheter att utföra bildbehandling direkt på en JPEG-fil.The image representation format created in this way opens up possibilities for performing image processing directly on a JPEG file.

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.A specific method of analyzing a JPEG image for creating the image representation format will now be described. The method involves sequentially stepping through the bitstream to collect the information needed. During the bypass of the bitstream, the indicators for each image block are stored, the information indicating the number of bits in the bitstream between adjacent coefficients of specified order and the DC coefficients of at least the first data unit of each component in the block information table.

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.During the traversal of the bitstream, the DC coefficients for the components are decoded and the last coefficient is stored temporarily to enable determination of the next DC coefficient.

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.Referring to Fig. 3, increment by AC coefficients of a data unit in the bitstream will be described. The analysis only wants to determine where the next data unit starts and the number of bits between the DC coefficients or the first AC coefficients of adjacent data units. Therefore, it is not necessary to decode the AC coefficients.

: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.: Zív fl éé - 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 35 the coefficients consist of two parts. The first part is a Huffman code that encodes how many zero coefficients precede the current coefficient and in which category the value of the current coefficient is. The category determines the number of bits for the second part of the bitstream record, which encodes the current value of the coefficient. Thus, by analyzing the first part of the bitstream record, the number of coefficients encoded by the bitstream record and the number of bits used by the bitstream record can be determined.

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.The step through the AC coefficients involves looking at a bit sequence of a predetermined number of bits in the bitstream, step 20. Preferably, the bit sequence 16 is a number of bits long, which corresponds to the longest first part of any bitstream record. Thus, by looking at 16 bits at a time, the required information can always be collected for at least one bitstream record.

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à.The information is collected by making a table lookup, step 22. The lookup table thus returns the bit length of at least the first bitstream record that occurs in the bit sequence and the number of coefficients encoded by the Huffman code. A number of bits corresponding to the determined bit length is then skipped, step 24. The accumulated number of skipped bits is summed, step 26, and the accumulated number of skipped coefficients is summed, step 28. If a block end symbol has not been found and the maximum number of coefficients of a data unit has not been skipped, the process is returned to step 20 and a new bit sequence is watched.

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).The table lookup in step 22 can be performed in two steps. First, a table lookup is performed for the first eight bits of the bit sequence. This lookup is sufficient to determine the first part of the Huffman code for most lookups for normal JPEG images. If the first table lookup is sufficient to determine the first part of the first Huffman code, the last eight bits are not further analyzed at this stage. Om ÉOfJG fl EE-ffíï 1,015? - “. ~ ':“ X__E ~ IoOrqanis¿xtion \ SCALADQ QB \ E> ATEIV3T “-._ Ešaïaznil =,: \ 3Eï2lí) 20? 3öïllß fifi ßä äpplicasIrocrrz ( The first part of the Huffman code is longer than eight bits, an additional table lookup is needed, the first table lookup then returns a pointer to a new table, where a lookup of the last eight bits is to be done. of the first eight bits of the bit sequence.The second table lookup will then determine the number of bits for the Huffman code and the number of coefficients skipped.The second table lookup can be done in different tables or in different parts of the same table. few variants of the first eight bits of Huffman codes that are longer than eight bits, so the number of entries in the second table is limited and much less than 65,536 (ie the total number of possible bit sequences of sixteen bits).

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.Alternatively, the table lookup in step 22 is performed in one step. Then a table lookup is performed for a 16 bit code. This table lookup may in some cases return information about two or more Huffman codes. Where the bit sequence includes the first part of several Huffman codes, these Huffman codes can thus be skipped at the same time. It is also possible to skip multiple Huffman codes at the same time when an eight-bit lookup is performed.

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.However, only a few Huffman codes are short enough to provide the required eight-bit information.

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.Referring to Fig. 4, a method of reading a specific part of a digital image stored in the image representation format will now be described.

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.First, the position or area of interest in the image is defined, step 40. Then the correct image block or blocks corresponding to the defined position or area are determined by simply correlating the movement to the right and down from the upper left corner to the sequence of the image blocks, step 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.Then, the position of the correct image block or blocks in the bitstream is determined by lookup in the block information table, step 44. Further, DC- 20136416-29 “íüzßí-š V: to: CAS: Iilgïwßå-ll lxlsç: 10 15 20 25 30 35 528 172 28 the coefficient of the correct image block or blocks from the block information table, step 46. Then access the position in the bitstream, step 48, and decode the image block at this position, step 50, using the retrieved DC coefficient.

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.Referring to Fig. 5, a method of processing and manipulating a digital image stored in the image representation format will now be described. The processing and manipulation of the digital image is so fast that it can be performed and displayed on a mobile phone in real time to a user. Thus, the user can define the manipulations to be performed and see them performed within a few seconds.

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.The user can first define an image or part of an image to be displayed. To allow the image to be quickly decoded for display on a screen, only a reduced amount of Huffman-encoded coefficients is decoded for each data unit. The reduced amount of coefficients can be used to approximate the image with degraded resolution or to display an image with fewer pixels.

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.The number of AC coefficients decoded can suitably be zero, which reduces an image block of 8 x 8 pixels to 1 pixel, four, which reduces the image block to 2 x 2 pixels or twenty-four, which reduces the image block to 4 x 4 pixels. When the image block is reduced to 4 x 4 pixels, a smaller number of AC coefficients can be decoded to approximate the image block by 4 x 4 pixels. Thus, for example, nine, thirteen or eighteen coefficients can be decoded. Since the main information of each image block is placed in the first coefficients, the information lost in the non-decoded coefficients is not very significant.

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.Thanks to the image representation format, the reduced amount of Huffman-coded coefficients can be retrieved and decoded very quickly for displaying the image or part of the image. First, the image blocks to be decoded are determined, step 60. Access to each image block is given by Éïlflí-l-ü 6-29 'l C t 5 6 V: \. _i ~ lo 'fi> r gar: i s-ízt .i OIIXSCALÄILÄ šXE' - \ PäTEï fi Tï 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. the use of the indicators in the block information table, step 62. The DC coefficient of the first data unit of each component is also provided by the block information table, step 64. Then the desired number of AC coefficients is decoded , step 66. Then the next data unit of the image block is quickly retrieved by skipping the rest of the AC coefficients using the information indicating the number of bits between, for example, the first AC coefficients in adjacent data units, step 68. Now the next data unit can decoded. In this way, the image is decoded very quickly for presentation on a screen, which reduces annoying waiting times for a user. This is especially useful when using a device with low computing power and small storage space, such as a mobile phone.

Användaren kan då definiera en manipulation som skall utföras på den bild som presenteras på skärmen.The user can then define a manipulation to be performed on the image presented on the screen.

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.The calculations required for the manipulation can now be performed on the reduced amount of Huffman-decoded coefficients. Thus, the calculations can be performed faster and the results can be displayed on a display in real time, without the user experiencing long waiting times.

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.Referring to Figs. 6-9, a method of merging two digital images into a compressed image file format will now be described. Fig. 6 shows a flow chart presenting an overview of the method. Fig. 7 shows a schematic overview of the merging of images, while Figs. 8-9 show different steps in the method when it is implemented on a device for capturing images, such as a mobile telephone with a built-in camera.

Först upptas en första digital bild 200, steg 100.First, a first digital image 200, step 100, is recorded.

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.The contents of the digital image are displayed in the viewfinder of a camera in Fig. 8. The captured image is then transformed so that lens corrections are taken into account and a projection of the corrected image on a cylinder is created.

Således är den upptagna bilden anpassad för att samman- fogas med en annan bild för skapande av en panoramabild.Thus, the captured image is adapted to be merged with another image to create a panoramic image.

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.A section B of the digital image 200 is compressed "IilfJE-fšêïïf * 10:36 V: * rwtâcflïïgariisationïSCALAI-O AB \ PATEI ~ 1T \ __ lIoFa1nily \ SE \ 2l03073í5 \ 2lO2Ü? U.S. Pat. the second section A of the image is stored, step 104, with the intention of performing a blending operation later.If the user wishes to create a panoramic image, the direction of the panning can be defined in the image recording apparatus. the direction of the panning is then stored as the section stored with the intention of mixing.

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.This section A of the first image can be presented in the viewfinder of the camera, step 106, when a second image is to be recorded. The section for the first digital image can be presented in a first layer on the viewfinder, each other pixel being transparent so that the object space viewed by the camera and presented in a second layer on the viewfinder can be perceived behind the section of the first digital image, as shown in Fig. 9. If a panorama is made in a right-hand direction, a section on the far right of the first digital image will be presented in the part on the far left of the viewfinder. If the camera itself performs the lens correction and the cylindrical projection, as described above, in real time, the stored section A of the first image can simply be presented in the viewfinder. However, if no real-time correction is performed by the camera, section A is inversely transformed as if it were located in the far left position of the viewfinder so that it better fits the object space displayed in the viewfinder. The user is thus guided to record a second image 202, step 108, which positions corresponding objects in the first and second digital images in an overlapping area of the viewfinder. The captured image is then transformed so that lens corrections are taken into account and a projection of the corrected image on a cylinder is made. 20í16-O6 ~ 29 Ulwâê 259: _ï ~ 1f:. ~ 1 ') \' gar-isatíoIYaSCALAIFO .ÅBUTIPIEEEITX Z fl QPatUlJ.y \ SE * .¿1Q2Ü'I3ü * ßiê fififl ßö Äpplicaticrita-CAS-ust 2005; The second digital image now comprises a section C, which substantially corresponds to the section A of the first digital image. Thus, the camera can easily correlate the two digital images to each other, step 110, so that the two images can be correctly merged with each other.

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.Of course, the correlation between the two digital images can be obtained in any other way. For example, a computer unit can calculate and find the correlation between the two images or the correlation can be defined by a user, eg when there are no overlapping areas. The correlation determines a displacement of the images in relation to each other.

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.Then, the section A stored for mixing is mixed into the second image according to the correlation, step 112. Then, a section D of the second image with the correct index is compressed into the image blocks, according to the determined offset, into the compressed the image representation format as described with reference to Fig. 1, step 114. Further, another section E of the second image is stored in an uncompressed format, step 116, with the intention of being used in a mixing operation to be performed if additional images are to be recorded to the panorama. As shown in Fig. 7, section E may include portions which do not contain any image information, due to the displacement of the two recorded images relative to each other. The storage of the image section E thus has a mechanism for determining whether a pixel that is stored represents image data or unknown information due to the offset. This information is used later by the mixture and can also be used in the correlation operation.

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.Then, steps 106-116 are repeated if desired to merge additional images into the already merged images, step 118. The last inserted image is compressed in its entirety into the image representation format as described with reference to Fig. 1. ÉÛÜ_6--06-29 10 : 56 V: \ __ NoOrganisaïíonXSCÄLADC AB-VEATEiITXWNNOFaYnilyRESEXB'lO2f> 73 fi \ 2 Il.O20 '? 36 àppiic-atierltextffoïnstructoi CAS ÉWJDLI - Uê-ll Ldoc »10 15 20 32 32 det 32 är 32 25 32 25 possible to form from the two or more digital images and the first image block that completely fits into the rectangle in the upper left corner is determined. Then, the image representation format is converted to a JPEG image file of the merged images, step 120, by introducing the Huffman-coded stream of coefficients of the sequential blocks, starting from the determined block and moving from left to right and from top to bottom through it. definite, largest rectangular image. In this way, a large, merged image will be represented in a JPEG image file format. The merged digital images can now be displayed on a screen of the mobile phone that includes the camera. Although the method of merging has been described as a sequence in which a first digital image is first compressed into a compressed image file format and the second digital image is later added to this compressed image representation format, it is conceivable that the compressed image representation format may be created by the digital images are directly incorporated in the compressed image representation format or alternatively that the two digital images can each be represented in a compressed image file format and combined into a large image via a representation in the compressed image representation format.

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.In contrast to merging images, a method for cropping a JPEG ~ baseline coded image will now be described. First, the JPEG image is analyzed by decoding Huffman-encoded data. During this decoding, indicators for each image block and information indicating the number of bits between data units are stored in the block information table. The DC coefficient of the first data unit of each color component in each image block is further calculated and stored in the block information table.

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.Now the cropping of a JPEG image to a new JPEG baseline coded representation of a portion of the image is accomplished ¿'Cf. \ 21ÛI3f173í5 \ Z] 92f> f'3iš àpplirzaticnt fi. AzztTolzisrruzrzci: IAS INJÉ-Wß fl l Ld-: fc 10 15 20 25 30 528 172 33 by first determining an area to be retained from pruning. For the image block on the far left of each row of the area, a new difference for the DC coefficients needs to be calculated using the information about the DC coefficient in the block information table.

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.Then, the representation of the rest of the line can be simply copied bit by bit from the Huffman-encoded data of the original JPEG image to the new JPEG image using the indexes in the block information table to determine the bit length to be copied.

Således kan en ny, beskuren JPEG-bild mycket enkelt skapas.Thus, a new, cropped JPEG image can be created very easily.

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.If the cropping of the JPEG image is to be performed to an uncompressed representation of the image instead, the image blocks in the area are determined and decoded to the correct position in the uncompressed representation of the image using the indexes in the block information table. The decoding is performed using the DC coefficients in the block information table, so that all Huffman-encoded data does not have to be decoded at this time.

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.Furthermore, the JPEG image can also be manipulated by processing the image, while the image information is represented as the DCT coefficients. By converting the JPEG image to the image representation format presented herein, manipulations can be performed on the image blocks, while being represented as DCT coefficients. With the help of matrix operations, the image can thus, for example, be rotated or scaled.

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.It should be emphasized that the preferred embodiments described herein are in no way limiting and that many alternative embodiments are possible within the scope defined by the appended claims.

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:ZÜFJG-GQZC »10:56 V: ïmblofbrqanis-atiomSCsLADO RB”. Fi íaTàïïñ ^ ß \ _šlfnïarnilyäßßfi

Claims (35)

10 15 20 25 30 35 528 172 34 PATENTKRAV10 15 20 25 30 35 528 172 34 PATENT REQUIREMENTS 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 35A method of processing a digital image, the method comprising: providing the digital image in a compressed format, in which the digital image is represented as a bitstream representing sequential image blocks, each block comprising a or several components, each comprising one or more data units and each data unit being represented as a Huffman-encoded stream of coefficients of base functions, and a zero order coefficient being represented as a difference to the previous zero order coefficient of the corresponding component, and a block information table, comprising: indicators of a zero order or first order coefficient of each image block in the bitstream, information indicating the number of bits in the bitstream between zero or first order coefficients of adjacent data units of the image block, and the zero the order coefficient for at least one data unit of each comm component, said zero order coefficient being represented in a non-differential form, and for each data unit of at least one image block: retrieving the zero order coefficient for the data unit and Huffman decoding no or a predetermined number of coefficients of the data unit, to skip over the rest of the coefficients by skipping to the next zero or first order coefficient in the bitstream using the information in the block information table regarding the number of bits between coefficients in adjacent data units in the bitstream, thereby decoding a reduced set of Huffman-encoded coefficients. 'IUC-E fl bé-ZE? 10:56 V22jloürgar fl sationïSCALAšw AE- “xFATEHTLrJoFamilyïsßïï102fTI3äï2l021T136 ApplicatißnteztTcïzxaftrucrtor» SALä CÛÜE - CB-ll Ldoc 10 15 20 25 30 35 5218 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.The method of claim 1, wherein the digital image is provided in a compressed format and wherein the indicators in the block information table indicate the bit offset to the coefficient from a static 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.The method of claim 1, wherein the digital image is provided in a compressed format, the indicators in the block information table indicating the bit offset to the coefficient from a benchmark in the bitstream, and wherein the digital image is further represented by a list providing information about in which image block each benchmark in the bitstream is located. 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.A method according to any one of the preceding claims, wherein the digital image is provided in a compressed format and wherein the block information table comprises the zero order coefficient represented in a non-differential form for each zero order coefficient represented in the bitstream as a difference to a zero order coefficient of a previous image block. 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.The method of any of claims 1-3, wherein the digital image is provided in a compressed format and wherein the block information table comprises each zero order coefficient represented in a non-differential 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.A method according to any one of the preceding claims, further comprising presenting the decoded image blocks to a data management unit, whereby the image or a part of the image is presented on a reduced scale. 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.A method according to any one of the preceding claims, which further comprises performing calculations for image processing on the decoded image blocks. 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.The method of claim 7, further comprising presenting results of the calculations performed on a screen while the calculations are being performed. 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.Method according to one of the preceding claims, in which the number of coefficients of the data unit which Huffman decodes 2006-ßë ~ 29 l fl: 56 Vzï Noürga application: ionrsx + Toïnstrnctor .ms “n \ SCALšDO BRXPATR $ TäñNoFami1y2 $ ER2l0lC2073ö -G8-ll l.dcc 10 15 20 25 30 35 528 172 36 is used to approximate a decoded image block corresponding to a larger number of coefficients. 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.A method according to any one of the preceding claims, wherein the predetermined number of coefficients that Huffman decodes is four, nine, thirteen, eighteen or twenty-four. 11. Metod enligt något av föregående krav, varvid bitströmmen representerar den digitala bilden i JPEG- formatet.A method according to any one of the preceding claims, wherein the bitstream represents the digital image in the JPEG format. 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. ochAn image representation format for representing a digital image, the image representation format comprising: image information stored as a bitstream representing sequential image blocks, each block comprising one or more components, each comprising one or more data units and each data unit comprising a Huffman-coded stream of coefficients of base functions, and wherein a zero-order coefficient is represented as a difference to the previous zero-order coefficient of the corresponding component, and a block information table, comprising: indicators of a zero-order or first-order coefficient of each image block in said bitstream, information indicating the number of bits in the bitstream between zero or first order coefficients in adjacent data units of the image block, the zero order coefficient for at least one data unit of each component, said zero order cow fficient is represented in a non-differential form. and 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 37The image representation format of claim 12, wherein the indicators in the block information table indicate the bit offset to the coefficient from a static position. iUYJG-írê-fêä 13:56 V: \ ___ HesI> xgar: if: -ariomSKlALADO AB \ P. = \ TL'EI ~ 1T \ __ téok = 'smilyKSERLBl020736 \ 2lO2í_rï3¿5 ZappiicationtextTuJluctor S-lUJstructor CAS - : 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.The image representation format according to claim 12, wherein the indicators in the block information table indicate the bit offset to the coefficient from a benchmark in the bitstream and the image representation format further comprises a list providing information on in which image block each benchmark in the bitstream is located. 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.The image representation format according to any of claims 12-14, wherein the block information table comprises the zero order coefficient represented in a non-differential form for each zero order coefficient represented in the bitstream as a difference to a zero order coefficient of a previous image block . 16. Bildrepresentationsformat enligt något av krav 12-14, varvid blockinformationstabellen innefattar varje nollte ordningens koefficient representerad i en icke- differentiell form.The image representation format according to any of claims 12-14, wherein the block information table comprises each zero order coefficient represented in a non-differential form. 17. Bildrepresentationsformat enligt något av krav 12-16, varvid bitströmmen representerar den digitala bilden i JPEG-formatet.The image representation format according to any one of claims 12-16, wherein the bitstream represents the digital image in the JPEG format. 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.A method of encoding raw image data into a compressed digital image representation, the method comprising: arbitrarily reading image blocks of a specified size of said raw image data and for each image block: transforming the image block into one or more data units for one or more components, the transformation creating a representation of each data unit as coefficients for base functions, calculating a quantized approximation of said coefficients, representing at least some of the quantized coefficients as a stream of coefficients of sequential image blocks, Huffman coding said stream of coefficients, wherein a zero coefficient of representation represent- fÛÛí ~ C $ -29 Lüzbê V åpp1ieati: ntextToL: OxqanisationXSCåLâDO äšïPATENTK_ fl oFamily \ SE \ 2l02ü735 \ 3lO¿ü73ü uctor CAS ÉQJE-08-35-l2 las 15. unlike the previous zero order coefficient of the corresponding component, store said Huffman-coded stream of coefficient - cents in a bitstream, store in a block information table indicators of a zero order or first order coefficient for each image block in the bitstream, store in the block information table information indicating the number of bits in the bitstream between zero or first order coefficients in adjacent data units of the image block, and store in the block information table the zero order coefficient of at least one data unit of each component, said zero order coefficient being represented in a non-differential form. 19. Metod enligt krav 18, varvid indikatorerna i blockinformationstabellen lagras som indikatorer för bitförskjutningen till koefficienten från en statisk position.The method of claim 18, wherein the indicators in the block information table are stored as indicators of the bit offset to the coefficient from a static 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.The method of claim 18, wherein the indicators in the block information table are stored as indicators of the bit offset to the coefficient of a benchmark in the bitstream and the image representation format further comprises a list providing information on in which image block each benchmark in the bitstream is located. 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.The method of any of claims 18-20, wherein the zero order coefficient is stored represented in a non-differential form for each zero order coefficient represented in the bitstream as a difference to a zero order coefficient of a previous image block. 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 39An image representation format according to any one of claims 18-20, wherein each zero order coefficient is stored represented in a non-differential form. 'ÉÛCEfOG-íà? lêzäê V: 'awiiclïßnfganisationïs fi íàllšåïli) AB \ E * àTENT \ __; 1 -: \ Fau @ il3' \ SE \ 21020736 \ 210297315 applicatiantazfvñr fl nsfmatar lins: L fl-: xç-: x-15 30-ï5 '25-ï5' 25-ï8 25 I 72 39 23. Metod enligt något av krav 18-22, varvid bitströmmen representerar den digitala bilden i JPEG- formatet.A method according to any one of claims 18-22, wherein the bitstream represents the digital image in the JPEG format. 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.A method of analyzing a JPEG compressed digital image, the JPEG compressed digital image being represented as a bitstream, said bitstream representing sequential image blocks, each block comprising one or more components, each comprising one or more data units and each data unit is represented as a Huffman-coded stream of coefficients of base functions, and a zero order coefficient is represented as a difference to the previous zero order coefficient of the corresponding component, which method comprises: sequentially stepping through the bit stream and storing through the bit stream an indicator in a block information table to a zero order or first order coefficient of each image block, decode the zero order coefficients and store in the block information table the zero order coefficient for at least one data unit of each component, said zero order coefficient nt is represented in a non-differential form, and storing in the block information table information indicating the number of bits in the bitstream between zeros or first order coefficients in adjacent data units of the image block, the passing of the non-zero order coefficients of a data unit in the bitstream, which said non-zero order coefficients are represented by a sequence of bitstream records, comprising: looking at a bit sequence of a predetermined number of the following bits in the bitstream, making a table lookup for determining the category and the zero sequence length of at least the first bitstream record in the bit sequence and for iüffš -üírï-Z? 10:56 \ J: \ __ í ~ IeOrganis-aráor fi SCALADO ABK, VATENTXNQFamily \ SE '\ 2lO2O73ë \ 2lOâüïšš špplitatiantextToïnstrugïtor IIAS ÉOYIE-OS-ll Ldoc. Determining the bit length of the first bitstream record, skipping the number of bits in the bitstream corresponding to the determined bit length, summing the number of skipped bits for collecting information regarding the number of bits in the bitstream between coefficients of zero or first order in adjacent data units, and to sum the number of coefficients that have been stepped through until all coefficients of the data unit have been stepped through or a block end symbol is found. 25. Metod enligt krav 24, varvid varje bitsekvens som tittas på innefattar sexton bitar.The method of claim 24, wherein each bit sequence viewed comprises sixteen bits. 26. Metod enligt krav 25, varvid tabelluppslagningen innefattar att göra en första tabelluppslagning för de första åtta bitarna i bitsekvensen.The method of claim 25, wherein the table lookup comprises making a first lookup table for the first eight bits of the bit sequence. 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.The method of claim 26, wherein the first table lookup returns information about the bit length of the first bitstream record and the number of coefficients passed through or returns information to a second table lookup. 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.The method of claim 27, wherein the table lookup further comprises making a second table lookup for the last eight bits of the bit sequence to determine the bit length of the first bitstream record and the number of coefficients stepped through. 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.The method of any of claims 24-28, wherein the indicators in the block information table are stored as indicators of the bit offset to the coefficient from a static 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.The method of any of claims 24-28, wherein the indicators in the block information table are stored as indicators of the bit offset to the coefficient from a bitstream benchmark and the image representation format further comprises a list providing ZÛCE-iJéWZQ lüzßš Vf. ïäoörgariisationHSCALALO AB \ .PATENT \ tloF-amily * -XSE \ 2l02O736 \ 2l @ 2ü? 36 spplicaticnrez fl oïnstrucrcz »SAS * Jfßíëä-» OS-ll 1.doc ~ 10 15 20 25 30 35 528 17b 41 information om each in the bitstream is located. 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.The method of any of claims 24-30, wherein the zero order coefficient is stored represented in a non-differential form for each zero order coefficient represented in the bitstream as a difference to a zero order coefficient of a previous image block. 32. Metod enligt något av krav 24-30, varvid varje nollte ordningens koefficient lagras representerad i en icke-differentiell form.The method of any of claims 24-30, wherein each zero order coefficient is stored represented in a non-differential 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.A method of merging two digital images, the method comprising: determining a relationship in the space between the two digital images, assigning image blocks of digital image information in the two digital images indices according to the relationship in the space between the two digital images the images, to form a bitstream representing sequential image blocks according to the assigned indices, each block comprising one or more components, each comprising one or more data units and each data unit being represented as a Huffman-coded stream of coefficients of basic functions, storing image block information for each image block in a block information table according to the position of the image block, said image block information comprising: indicators of a zero order or first order coefficient of each image block in said bit stream, information indicating the number of bits in the bit stream between coefficients of zero or first or in the adjacent data units of the image block, and the zero order coefficient of at least one data unit of each component, said 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 the zero coefficient of the order is represented in a non-differential 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.An image representation format for representing a digital image, said image representation format comprising: image information stored as a bitstream as sequential image blocks, each block or components being each or more data units and each data unit as a Huffman-encoded stream. of coefficients of base functions, and wherein a zero order coefficient represents comprises a represented cient is represented as a difference to the previous zero order coefficient of the corresponding component, and bitstream information stored in connection with the bitstream, said bitstream information comprising information indicates the number of bits of each data unit in the image blocks. 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-cThe image representation format of claim 34, wherein the bitstream information is compressed. Û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ß cß.
SE0501601A 2003-11-18 2005-07-08 Digital image processing method for mobile phone, involves performing Huffman decoding of preset number of coefficients of data unit, so that rest of coefficient is skipped by jumping to next zeroth/first order coefficient in bitstream SE528172C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
SE0501601A SE528172C2 (en) 2003-11-18 2005-07-08 Digital image processing method for mobile phone, involves performing Huffman decoding of preset number of coefficients of data unit, so that rest of coefficient is skipped by jumping to next zeroth/first order coefficient in bitstream

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
SE0303085A SE0303085D0 (en) 2003-11-18 2003-11-18 Method for creating a compressed digital image representation and image representation format
SE0303204A SE0303204D0 (en) 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 (en) 2003-11-18 2005-07-08 Digital image processing method for mobile phone, involves performing Huffman decoding of preset number of coefficients of data unit, so that rest of coefficient is skipped by jumping to next zeroth/first order coefficient in bitstream

Publications (2)

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

Family

ID=35098447

Family Applications (1)

Application Number Title Priority Date Filing Date
SE0501601A SE528172C2 (en) 2003-11-18 2005-07-08 Digital image processing method for mobile phone, involves performing Huffman decoding of preset number of coefficients of data unit, so that rest of coefficient is skipped by jumping to next zeroth/first order coefficient in bitstream

Country Status (1)

Country Link
SE (1) SE528172C2 (en)

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 (en) 2005-09-07

Similar Documents

Publication Publication Date Title
US7720298B2 (en) Method for processing a digital image and image representation format
US6999626B2 (en) Memory management of compressed image data
US20080198177A1 (en) Method for Processing a Digital Image
US7962542B2 (en) Method and apparatus for inverse discrete cosine transform
US8121428B2 (en) Accelerated image rendering
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 (en) Digital image processing method for mobile phone, involves performing Huffman decoding of preset number of coefficients of data unit, so that rest of coefficient is skipped by jumping to next zeroth/first order coefficient in bitstream
JP2008166895A (en) Video display device, its control method, program and recording medium
CN101635853B (en) Method for processing a digital image
TWI454150B (en) Processing method for image file
KR100495001B1 (en) Image compression encoding method and system
US20040233702A1 (en) Compressed storage of data items
KR100777286B1 (en) Multiple still image quick search device and method
JPH03144780A (en) Image compressing system
JP2001238086A (en) Picture processor and its method

Legal Events

Date Code Title Description
NUG Patent has lapsed