SE511514C2 - Method and apparatus for image compression - Google Patents

Method and apparatus for image compression

Info

Publication number
SE511514C2
SE511514C2 SE9701768A SE9701768A SE511514C2 SE 511514 C2 SE511514 C2 SE 511514C2 SE 9701768 A SE9701768 A SE 9701768A SE 9701768 A SE9701768 A SE 9701768A SE 511514 C2 SE511514 C2 SE 511514C2
Authority
SE
Sweden
Prior art keywords
sub
level
counting
matrix
symbols corresponding
Prior art date
Application number
SE9701768A
Other languages
Swedish (sv)
Other versions
SE9701768D0 (en
SE9701768L (en
Inventor
Per Thorell
Torbjoern Einarsson
Filippo Passaggio
Original Assignee
Ericsson Telefon Ab L M
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ericsson Telefon Ab L M filed Critical Ericsson Telefon Ab L M
Priority to SE9701768A priority Critical patent/SE511514C2/en
Publication of SE9701768D0 publication Critical patent/SE9701768D0/en
Priority to PCT/SE1998/000839 priority patent/WO1998052346A1/en
Priority to DE69812929T priority patent/DE69812929T2/en
Priority to CA002289858A priority patent/CA2289858C/en
Priority to AU74625/98A priority patent/AU741547B2/en
Priority to CNB988051036A priority patent/CN1201562C/en
Priority to EP98921985A priority patent/EP0981896B1/en
Priority to JP54912798A priority patent/JP3631256B2/en
Publication of SE9701768L publication Critical patent/SE9701768L/en
Publication of SE511514C2 publication Critical patent/SE511514C2/en
Priority to US09/434,493 priority patent/US6373988B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • H04N1/411Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures
    • H04N1/413Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree

Abstract

In a method and a device for coding binary matrices, in particular sparse binary matrices, a matrix is gradually partitioned into sub-matrices During the gradual partitioning the number of binary ones are counted for each resulting sub-matrix. If a resulting sub-matrix does not consist of mixed symbols no further partitioning of that sub-matrix is required. The counted number of binary ones for each sub-matrix is then coded and transmitted. The method provides an efficient coding particularly for sparse binary matrices such as bi-level images or bit maps.

Description

lO 15 20 25 30 35 511 514 Det finns ett antal olika standardförfaranden för att komprimera tvånivåbilder (bi-level images), t ex ITU-T G4,ISO JBIG och Quadtree coding. 10 15 20 25 30 35 511 514 There are a number of different standard procedures for compressing bi-level images, such as ITU-T G4, ISO JBIG and Quadtree coding.

Dessutom beskriver US-patentet 4 261 018 ett förfarande för att progressivt överföra en binär svart och vit bild. För- farandet delar upp en sådan binär bild i mindre och mindre block tills ett block skapas som endast består av vita eller endast svarta element. När en viss storlek hos små block uppnås utförs ingen vidare uppdelning och de små blocken som fortfarande innefattar både vita och svarta element kodas.In addition, U.S. Patent 4,261,018 discloses a method for progressively transferring a binary black and white image. The procedure divides such a binary image into smaller and smaller blocks until a block is created which consists only of white or only black elements. When a certain size of small blocks is reached, no further division is performed and the small blocks that still include both white and black elements are coded.

Problemet med de ovan beskrivna förfarandena är att de inte är optimerade och därför ger relativt dåliga resultat för ett antal olika utmönster som alstras av ett antal olika algoritmer, exempelvis algoritmen som beskrivs i vår samtidigt oavgjorda internationella patentansökan PCT/sßss/00943. nnnocönnLsE Fön UPPFINNINGEN Det är ett syfte med föreliggande uppfinning att övervinna problemen som hör samman med teknikens ståndpunkt och att öka effektiviteten och prestanda vid kodning av tvånivåbilder eller matriser.The problem with the methods described above is that they are not optimized and therefore give relatively poor results for a number of different designs generated by a number of different algorithms, for example the algorithm described in our co-pending international patent application PCT / sßss / 00943. OBJECT OF THE INVENTION It is an object of the present invention to overcome the problems associated with the prior art and to increase the efficiency and performance of coding two-level images or matrices.

Detta syfte uppnås med ett förfarande och en anordning för att koda binära matriser, särskilt glesa binära matriser, varvid en matris gradvis delas upp i undermatriser. Under den gradvisa uppdelningen räknas antalet binära ettor för var och en av de resulterande undermatriserna. Om en resulterande undermatris inte består av blandade symboler behövs ingen vidare uppdelning av den undermatrisen. Det räknade antalet binära ettor för varje submatris kodas och överförs sedan.This object is achieved with a method and an apparatus for encoding binary matrices, in particular sparse binary matrices, a matrix being gradually divided into sub-matrices. During the gradual division, the number of binary ones for each of the resulting sub-matrices is counted. If a resulting sub-matrix does not consist of mixed symbols, no further subdivision of that sub-matrix is needed. The counted number of binary ones for each submatrix is encoded and then transmitted.

Således kan förfarandet innefatta följande steg för en tvånivåbild: Tvånivåbilden transformeras först till ett binärt träd. 10 15 20 25 30 35 511 514 3 Trädet genomkorsas sedan och värdena i noderna entropikodas effektivt med användning av aritmetisk kodning. Varje nod i det skapade binära trädet motsvarar ett specifikt område i bilden. Värdena i noderna innehåller antalet vita pixel i motsvarande område av bilden.Thus, the method may include the following steps for a two-level image: The two-level image is first transformed into a binary tree. 10 15 20 25 30 35 511 514 3 The tree is then traversed and the values in the nodes are entropy coded efficiently using arithmetic coding. Each node in the created binary tree corresponds to a specific area in the image. The values in the nodes contain the number of white pixels in the corresponding area of the image.

Således kan för en tvånivåbild, exempelvis en bitmatris där vita pixel kodas med den binära symbolen och svarta pixel med den binära symbolen 0. Ett schema utformas på följande sätt.Thus, for a two-level image, for example a bit matrix where white pixels are coded with the binary symbol and black pixels with the binary symbol 0. A scheme is designed as follows.

Först räknas antalet binära ettor i bitmatrisen och det resulterande talet placeras i rotnoden hos ett binärt träd.First, the number of binary ones in the bit matrix is counted and the resulting number is placed in the root node of a binary tree.

Bitmatrisen delas sedan i två delar och antalet binära ettor i var och en av de två delarna räknas. Summan av det två talen som erhålls på detta sätt kommer att vara lika med talet i den tidigare rotnoden.The bit matrix is then divided into two parts and the number of binary ones in each of the two parts is counted. The sum of the two numbers obtained in this way will be equal to the number in the previous root node.

Det binära trädet utvidgas sedan genom att placera dessa två tal som löv under rotnoden.The binary tree is then expanded by placing these two numbers as leaves under the root node.

Varje subbild som på detta sätt erhålls, och som inte är helt fylld med antingen binära ettor eller nollor, delas sedan igen och de ovan beskrivna stegen utförs igen. Slutligen kodas det binära trädet som representerar en sådan uppdelning när alla subbilder av den ursprungliga bitmatrisen endast består av antingen svarta eller vita pixel.Each sub-image obtained in this way, which is not completely filled with either binary ones or zeros, is then divided again and the steps described above are performed again. Finally, the binary tree representing such a division is encoded when all sub-images of the original bit matrix consist only of either black or white pixels.

En sådan kodning kan exempelvis utföras med hjälp av entropi- kodning av summan i rotnoden och att sedan entropikoda nodens löv. Detta görs företrädesvis medelst användning av aritme- tisk kodning. Eftersom summan av två löv är känd genom sin nod behöver endast ett av de två löven kodas. Indata till den aritmetiska kodningen är symbolen som betecknar talet och en fördelningsfunktion som är lämplig för den aktuella bildtypen som skall kodas.Such coding can be performed, for example, by means of entropy coding of the sum in the root node and then entropy coding the leaves of the node. This is preferably done by using arithmetic coding. Since the sum of two leaves is known by its node, only one of the two leaves needs to be coded. Input to the arithmetic coding is the symbol that denotes the number and a distribution function that is suitable for the current image type to be coded.

Sättet att dela upp bitmatrisen är företrädesvis förutbestämt och känt både av kodaren och avkodaren. Eftersom uppdelningen 10 15 20 25 30 35 511 514 4 i sådana fall är implicit kodad behöver ingen information avseende uppdelningen överföras till avkodaren.The method of dividing the bit matrix is preferably predetermined and known by both the encoder and the decoder. Since the division 10 15 20 25 30 35 511 514 4 in such cases is implicitly coded, no information regarding the division needs to be transmitted to the decoder.

Detta sätt att koda tvånivåbilder har visat sig ge mycket goda resultat vad gäller kompressionsgrad. Det har också visat sig vara särskilt lämpat för kodning av tvånivåbilder där antalet eller svarta pixel är mycket dominerande, så kallade glesa tvånivåbilder.This way of encoding two-level images has been shown to give very good results in terms of compression ratio. It has also been found to be particularly suitable for encoding two-level images where the number or black pixels are very dominant, so-called sparse two-level images.

KORTFATTAD BESKRIVNING AV RITNINGARNA Föreliggande uppfinning kommer nu att beskrivas mer i detalj med hjälp av icke-begränsande exempel och med hänvisning till de bilagda ritningarna, i vilka: - Figurerna la-lf visar olika steg som utförs när en två- nivåbild representeras och kodas.BRIEF DESCRIPTION OF THE DRAWINGS The present invention will now be described in more detail by means of non-limiting examples and with reference to the accompanying drawings, in which: Figures 1a-1f show different steps performed when a two-level image is represented and coded.

- Figur 2 är ett flödesschema för kodning av tvånivåbilder.Figure 2 is a flow chart for encoding two-level images.

- Figur 3 är en schematisk bild över ett transmissions- system för tvånivåbilder.Figure 3 is a schematic view of a transmission system for two-level images.

BESKRIVNING AV EN FÖREDRAGEN UTFÖRINGSFORM I figurerna la-lf visas olika steg vid kodning av tvånivå- bild. Således visas i figur 1a en tvånivåbild 101 som består av binära ettor och nollor som skall kodas. En kodning utförs sedan i syfte att minimera den information som behövs för att överföra eller lagra bilden och som utförs som följer.DESCRIPTION OF A PREFERRED EMBODIMENT Figures 1a-1f show different steps in encoding a two-level image. Thus, Figure 1a shows a two-level image 101 consisting of binary ones and zeros to be coded. An encoding is then performed in order to minimize the information needed to transmit or store the image and which is performed as follows.

Först räknas antalet binära ettor (eller nollor) i den binära bilden. I detta exempel räknas antalet binära ettor och dessa visar sig vara 18. Detta tal lagras och placeras i rotnoden 103 i ett binärt träd, se figur lb.First, the number of binary ones (or zeros) in the binary image is counted. In this example, the number of binary ones is counted and these turn out to be 18. This number is stored and placed in the root node 103 of a binary tree, see Figure 1b.

Därefter uppdelas den ursprungliga binära bilden 101 i två bilder. I detta exempel utförs en delning i två subbilder längs mitten alternerande horisontellt och vertikalt. Andra delningsförfaranden av bilden är emellertid naturligtvis möjliga. Det är också föredraget att schemat enligt vilket uppdelningen utförs är förutbestämd så att ingen information avseende delningsschemat behöver överföras från en kodare som 10 15 20 25 30 35 511 514 5 använder kodningsalgoritmen till den avsedda avkodaren.Thereafter, the original binary image 101 is divided into two images. In this example, a division into two sub-images along the center is performed alternately horizontally and vertically. However, other image sharing methods are of course possible. It is also preferred that the scheme according to which the division is performed is predetermined so that no information regarding the division scheme needs to be transmitted from an encoder using the coding algorithm to the intended decoder.

Således delas, såsom visas i figur 1c, den ursprungliga bilden 101 genom en horisontell delning längs dess mittpunkt.Thus, as shown in Figure 1c, the original image 101 is divided by a horizontal division along its center point.

Antalet binära ettor i de erhållna subbilderna räknas sedan och visar sig vara två i den övre subbilden 105 och 16 i den undre subbilden 107. Dessa på detta sätt erhållna värden placeras som löv 109 respektive 111 till rotnoden, se figur ld.The number of binary ones in the obtained sub-pictures is then counted and turns out to be two in the upper sub-picture 105 and 16 in the lower sub-picture 107. These values obtained in this way are placed as leaves 109 and 111, respectively, of the root node, see figure ld.

Varje subbild delas sedan i två nya subbilder, denna gång medan en vertikal delning. Den alternerande delningen av subbilderna och subbilderna fortsätts tills en sådan subbild består av antingen endast binära ettor eller binära nollor.Each sub-picture is then divided into two new sub-pictures, this time while a vertical split. The alternating division of the sub-pictures and the sub-pictures continues until such a sub-picture consists of either only binary ones or binary zeros.

Resultatet av en sådan delning visas i figur le.The result of such a division is shown in Figure 1c.

Efter varje uppdelning placeras antalet ettor i var och en av de erhållna subbilderna som löv till noden som svarar mot subbilden som delats. Det resulterande binära trädet från en sådan operation, svarande mot delningen som utförs i detta exempel och visad i figur le, visas i figur lf.After each division, the number of ones in each of the obtained sub-images is placed as a leaf to the node corresponding to the divided sub-image. The resulting binary tree from such an operation, corresponding to the division performed in this example and shown in Figure 1c, is shown in Figure 1f.

Således är det binära träd som visas i figur lf, i kombina- tion med informationen att subbilderna erhålls genom alterne- rande horisontell och vertikal delning som börjar med en horisontell delning, en unik representation av ursprungs- bilden som visas i figur la.Thus, the binary tree shown in Figure 1f, in combination with the information that the sub-images are obtained by alternating horizontal and vertical division beginning with a horizontal division, is a unique representation of the original image shown in Figure 1a.

Huvudfördelen med att bilda det binära trädet på ovan be- skrivet sätt är att det kräver att en liten mängd data kodas för lagrings- och överföringssyfte.The main advantage of forming the binary tree in the manner described above is that it requires a small amount of data to be encoded for storage and transmission purposes.

Informationen som behöver kodas är för det första rotnoden.The information that needs to be coded is first of all the root node.

Sedan behöver endast ett av de två löven som rotnoden har kodas eftersom det andra ges implicit av det faktum att summan av de två löven är lika med rotnoden. Detta är fallet för alla lövpar som alstras från en nod. 10 15 20 25 30 35 511 514 6 Det bör observeras att antalet symboler som behövs för att koda ett visst löv relativt snabbt blir litet eftersom det högsta tal som är möjligt för ett löv är begränsat av sin nod. Kodningen för varje löv kan därför göras mycket effektiv.Then only one of the two leaves that the root node has coded because the other is implicitly given by the fact that the sum of the two leaves is equal to the root node. This is the case for all leaf pairs generated from a node. 10 15 20 25 30 35 511 514 6 It should be noted that the number of symbols needed to encode a particular leaf becomes relatively fast because the maximum number possible for a leaf is limited by its node. The coding for each leaf can therefore be made very efficient.

Denna information matas till en kodare, möjligen också tillsammans med information rörande en fördelningsfunktion eller sannolikhetsmodell som kodar det binära trädet på ett effektivt sätt. Kodningen utförs företrädesvis medelst användning av en aritmetisk entropikodare. Entropikodaren kan t ex vara en "Syntax-based Arithmetic Coding mode"- (SAC)- kodare beskriven i annex E av H.263-standard.This information is fed to an encoder, possibly also together with information concerning a distribution function or probability model which encodes the binary tree in an efficient manner. The coding is preferably performed by using an arithmetic entropy encoder. The entropy encoder may be, for example, a "Syntax-based Arithmetic Coding mode" (SAC) encoder described in Annex E of the H.263 standard.

I figur 2 visas ett schematiskt flödesschema för att realisera algoritmen. Behandlingen startar i ett block 201.Figure 2 shows a schematic flow chart for realizing the algorithm. The treatment starts in a block 201.

Sedan inmatas en tvånivåbild som skall överföras eller lagras i ett block 203 och antalet binära ettor i bilden räknas i ett block 205. Detta tal lagras i en buffert 207. Därefter delas den binära bilden i två subbilder i ett block 209.Then, a two-level image to be transmitted or stored in a block 203 is input and the number of binary ones in the image is counted in a block 205. This number is stored in a buffer 207. Thereafter, the binary image is divided into two sub-images in a block 209.

Antalet binära ettor i varje subbild räknas sedan i ett block 215 och matas till bufferten 207.The number of binary ones in each sub picture is then counted in a block 215 and fed to the buffer 207.

Sedan fortsätter processen till ett block 211 där det kontrolleras om alla subbilder endast består av binära ettor eller binära nollor. Om detta är fallet fortsätter processen till blocket 213 där informationen som är lagrad i bufferten hämtas och kodas.Then the process proceeds to a block 211 where it is checked whether all sub-images consist only of binary ones or binary zeros. If this is the case, the process proceeds to block 213 where the information stored in the buffer is retrieved and encoded.

Om å andra sidan det fortfarande finns subbilder som består av en blandning av binära ettor och nollor returneras dessa subbilder till blocket 209. Således utförs en rekursiv delning av den inmatade bilden tills dess att den består av subbilder som endast har primära ettor eller nollor.On the other hand, if there are still sub-pictures consisting of a mixture of binary ones and zeros, these sub-pictures are returned to block 209. Thus, a recursive division of the input picture is performed until it consists of sub-pictures having only primary ones or zeros.

Stegen ovan beskriver algoritmens allmänna idé. När algoritmen implementeras i mjukvara eller hårdvara kan det vara bättre att skapa det binära trädet genom att använda ett förfarande från botten och upp i stället för ett förfarande 10 15 20 25 30 35 511 514 7 uppifrån och ned. Den uppskattade sannolikhetsfunktionen som matas till kodaren bör emellertid också vara optimerad för egenskaperna hos de inmatade bilderna.The steps above describe the general idea of the algorithm. When the algorithm is implemented in software or hardware, it may be better to create the binary tree using a bottom-up method instead of a top-down method. However, the estimated probability function fed to the encoder should also be optimized for the properties of the input images.

I figur 3 visas en schematisk vy över ett transmissionssystem som använder algoritmen och som har en sändare 300 och en mottagare 311. Således inmatas en binär tvånivåbild i sändaren 300 i ett block 301. I blocket 301 transformeras den binära bilden till ett motsvarande binärt träd, exempelvis såsom beskrivits ovan i samband med figurerna 1 och 2. Den binära trädrepresentationen matas sedan till en kodare 303.Figure 3 shows a schematic view of a transmission system using the algorithm and having a transmitter 300 and a receiver 311. Thus, a binary two-level image is input to the transmitter 300 in a block 301. In block 301, the binary image is transformed into a corresponding binary tree. for example as described above in connection with Figures 1 and 2. The binary tree representation is then fed to an encoder 303.

Kodaren 303 kan t ex vara SAC-kodaren som hänvisats till OVan .The encoder 303 may be, for example, the SAC encoder referred to above.

Därefter överförs informationen på en kanal 305 från sändaren 300 till den avsedda mottagaren 311. Mottagaren 311 avkodar den mottagna informationen i ett block 307 genom att använda en avkodningsalgoritm som svarar mot den använda kodnings- algoritmen. Den avkodade informationen som representerar det överförda binära trädet matas till ett block 309 i vilket det binära trädet transformeras till en motsvarande binär bild.Thereafter, the information on a channel 305 is transmitted from the transmitter 300 to the intended receiver 311. The receiver 311 decodes the received information in a block 307 by using a decoding algorithm corresponding to the coding algorithm used. The decoded information representing the transmitted binary tree is fed to a block 309 in which the binary tree is transformed into a corresponding binary image.

Den binära bilden utmatas sedan från blocket 309.The binary image is then output from block 309.

Dessutom kan förfarandet också användas för att koda vilken binär matris som helst av godtycklig storlek, dvs med en dimension som är större än två. Således kan förfarandet exempelvis användas för att koda vilken binär gråskalebild som helst. Uppdelningen utvidgas då till att innefatta den tredje dimensionen.In addition, the method can also be used to encode any binary matrix of any size, i.e. with a dimension greater than two. Thus, for example, the method can be used to encode any binary grayscale image. The division is then extended to include the third dimension.

Exempelvis kan en gråskalebitplanrepresenterad bild som utgörs av ett antal pixel betraktas som en tredimensionell matris med längd längs en x-axel, en höjd längs en y-axel och ett djup längs en z-axel. Uppdelningen och alstrandet av subbilder eller submatriser utförs då på ett sätt som svarar mot förfarandet som beskrivits ovan.For example, a gray scale bit plane represented image consisting of a number of pixels can be considered as a three-dimensional matrix with length along an x-axis, a height along a y-axis and a depth along a z-axis. The division and generation of sub-images or sub-matrices is then performed in a manner similar to the method described above.

Sålunda delas först den tredimensionella matrisen längs en av axlarna, exempelvis x-axeln och sedan längs en annan axel, 10 15 511 514 8 exempelvis y-axeln och därefter längs den tredje axeln, exempelvis z-axeln. Därefter kan delningen återgå till att dela längs den första axeln, etc.Thus, first the three-dimensional matrix is divided along one of the axes, for example the x-axis and then along another axis, for example the y-axis and then along the third axis, for example the z-axis. Then the division can return to dividing along the first axis, etc.

Algoritmen som beskrivits häri fungerar mycket bra för att koda tvånivåbilder, särskilt glesa tvånivåbilder, exempelvis de som blir resultatet genom algoritmen som beskrivs i vår samtidigt oavgjorda internationella patentansökan PCT/sE96/00943.The algorithm described herein works very well for encoding two-level images, especially sparse two-level images, for example those that result from the algorithm described in our co-pending international patent application PCT / sE96 / 00943.

Algoritmen är mycket flexibel och genom att ändra ekvationerna för den använda sannolikhetsuppskattningen är det möjligt att finjustera för ett antal olika tillämpningar.The algorithm is very flexible and by changing the equations for the probability estimate used, it is possible to fine-tune for a number of different applications.

Sådana tillämpningar skulle kunna vara: - Kodning av telefaxmeddelanden eller andra tvånivåbilder.Such applications could be: - Encryption of fax messages or other two-level images.

- Kodning av former och objekt i videosekvenser.- Coding of shapes and objects in video sequences.

Claims (12)

10 15 20 25 30 35 511514 PATENTKRAV10 15 20 25 30 35 511514 PATENT CLAIMS 1. Förfarande för att koda en digitaliserad tvånivåbild, kännetecknat av stegen att: a) räkna antalet symboler som svarar mot en nivå i bilden, b) dela upp bilden i två subbilder, c) räkna antalet symboler som svarar mot en nivå i var och en av subbilderna, d) upprepa stegen b) - c) för varje subbild som består av blandade symboler, tills dess att bilden består av subbilder som endast består av symboler svarande mot en nivå och e) koda talen som erhålls i stegen a) och c).Method for encoding a digitized two-level image, characterized by the steps of: a) counting the number of symbols corresponding to a level in the image, b) dividing the image into two sub-images, c) counting the number of symbols corresponding to a level in each one of the sub-images, d) repeat steps b) - c) for each sub-image consisting of mixed symbols, until the image consists of sub-images consisting only of symbols corresponding to one level and e) code the numbers obtained in steps a) and c). 2. Förfarande enligt krav 1, kännetecknat av att uppdelningen utförs alternerande horisontellt och vertikalt längs mitten på bilden och subbilderna.Method according to claim 1, characterized in that the division is performed alternately horizontally and vertically along the center of the image and the sub-images. 3. Förfarande enligt krav 2 eller 3, kännetecknat av att kodningen utförs medelst användning av aritmetisk kodning.Method according to Claim 2 or 3, characterized in that the coding is carried out by means of arithmetic coding. 4. Förfarande för att koda en bitplan-representerad digitaliserad gråskalebild, kännetecknat av stegen att: a) för varje bitplan räkna antalet symboler som svarar mot en nivå i bitplanet b) dela upp var och en av bitplanen i två subbitplan, c) räkna antalet symboler som svarar mot en nivå i var och en av subbitplanen, d) upprepa stegen b)-c) för varje subbitplan som består av blandade symboler tills dess att varje bitplan består av subbitplan som endast består av symboler som svarar mot en nivå och e) koda talen som erhålls i stegen a) och c).Method for encoding a bit plane-represented digitized gray scale image, characterized by the steps of: a) for each bit plane counting the number of symbols corresponding to a level in the bit plane b) dividing each of the bit planes into two subbit planes, c) counting the number symbols corresponding to a level in each of the subbit planes, d) repeat steps b) -c) for each subbit plane consisting of mixed symbols until each bit plane consists of subbit planes consisting only of symbols corresponding to a level and e code the numbers obtained in steps a) and c). 5. Förfarande för att koda en binär matris med en dimension n, där n är ett positivt heltal, kännetecknat av stegen att: a) räkna antalet symboler som svarar mot en nivå i matrisen, b) dela upp matrisen i två submatriser, c) räkna antalet symboler som svarar mot en nivå i var och en 10 15 20 25 30 35 511 514 10 av submatriserna, d) upprepa stegen b) - c) för varje submatris som består av blandade symboler tills dess att matrisen består av sub- matriser som endast består av symboler som svarar mot en nivå och e) koda talen som erhålls i stegen a) och c).Method for encoding a binary matrix with a dimension n, where n is a positive integer, characterized by the steps of: a) counting the number of symbols corresponding to a level in the matrix, b) dividing the matrix into two submatrices, c) count the number of symbols corresponding to a level in each of the sub-matrices, d) repeat steps b) - c) for each sub-matrix consisting of mixed symbols until the matrix consists of sub-matrices consisting only of symbols corresponding to a level and e) code the numbers obtained in steps a) and c). 6. Anordning för att koda en digitaliserad tvånivåbild innefattande organ för att koda en utström av digitaliserade tal, kännetecknad av: - organ för att räkna antalet symboler som svarar mot en nivå i bilden, - organ för att uppdela bilden i två subbilder, - organ för att räkna antalet symboler som svarar mot en nivå i var och en av subbilderna, - styrorgan anslutna till uppdelningsorganen och till räkningsorganen anordnade att upprepa uppdelningen och räkningen för varje subbild som består av blandade symboler tills dess att bilden består av subbilder som endast består symboler svarande mot en nivå och - organ för att mata talen som svarar mot ennivåsubbilderna till kodningsorganet.Apparatus for encoding a digitized two-level image comprising means for encoding an output stream of digitized numbers, characterized by: - means for counting the number of symbols corresponding to a level in the image, - means for dividing the image into two sub-images, - means to count the number of symbols corresponding to a level in each of the sub-pictures, - control means connected to the dividing means and to the counting means arranged to repeat the division and counting for each sub-picture consisting of mixed symbols until the picture consists of sub-pictures consisting only of symbols corresponding to a level and means for feeding the numbers corresponding to the one-level sub-pictures to the coding means. 7. Anordning enligt krav 6, kännetecknad av att delnings- organet är anordnat att utföra delningen alternerande horisontellt och vertikalt längs mitten på bilden och sub- bilderna.Device according to claim 6, characterized in that the dividing means is arranged to perform the division alternately horizontally and vertically along the center of the image and the sub-images. 8. Anordning enligt krav 6 eller 7, kännetecknad av att det använda kodningsorganet är en aritmetisk kodare.Device according to claim 6 or 7, characterized in that the coding means used is an arithmetic encoder. 9. Anordning för att koda en bitplan representerad digitaliserad gråskalebild, kännetecknad av: - organ för att räkna antalet symboler som svarar mot en nivå i ett bitplan för varje bitplan, - organ för att dela varje bitplan i två subbitplan, - organ för att räkna antalet symboler som svarar mot en nivå i var och en av subbitplanen, - styrorgan anslutna till delningsorganet och till räknings- 10 15 20 25 30 35 511 514 ll organet anordnat att upprepa delningen av varje bitplan i två subbitplan och räkningen av antalet symboler som svarar mot en nivå i vart och ett av subbitplanen för varje subbitplan som består av blandade symboler tills dess att bitplanet består av subbitplan som endast består av symboler som svarar mot en nivå och - organ anslutna till räkningsorganet för att koda de erhållna talen.Device for encoding a bit plane represented by a digitized gray scale image, characterized by: - means for counting the number of symbols corresponding to a level in one bit plane for each bit plane, - means for dividing each bit plane into two subbit planes, - means for counting the number of symbols corresponding to a level in each of the subbit planes, - control means connected to the dividing means and to the counting means arranged to repeat the division of each bit plane into two subbit planes and the counting of the number of symbols corresponding to to a level in each of the subbit planes for each subbit plane consisting of mixed symbols until the bit plane consists of subbit planes consisting only of symbols corresponding to a level and means connected to the counting means for encoding the obtained numbers. 10. Anordning för att koda en binär matris med dimension n, där n är ett positivt heltal, kännetecknad av: - organ för att räkna antalet symboler som svarar mot en nivå i matrisen, - organ för att dela matrisen i två submatriser, - organ för att räkna antalet symboler som svarar mot en nivå i var och en av submatriserna, - styrorgan anslutna till delningsorganet och till räknings- organet anordnat att upprepa delningen av matrisen i två submatriser och räknandet av antalet symboler som svarar mot en nivå i varje submatris för varje submatris som består av blandade symboler tills dess att matrisen består av sub- matriser som endast består av symboler som svarar mot en nivå och - organ anslutna till räkningsorganet för att koda de erhållna talen.Device for coding a binary matrix with dimension n, where n is a positive integer, characterized by: - means for counting the number of symbols corresponding to a level in the matrix, - means for dividing the matrix into two sub-matrices, - means to count the number of symbols corresponding to a level in each of the sub-matrices, - control means connected to the dividing means and to the counting means arranged to repeat the division of the matrix into two sub-matrices and the counting of the number of symbols corresponding to a level in each sub-matrix for each sub-matrix consisting of mixed symbols until the matrix consists of sub-matrices consisting only of symbols corresponding to a level and means connected to the counting means for coding the numbers obtained. 11. System innefattande en sändare och en mottagare för överföring av en binär matris med dimension n, där n är ett positivt heltal, kännetecknat av - organ i sändaren för att räkna antalet symboler som svarar mot en nivå i matrisen, - organ i sändaren för att dela i matrisen i två submatriser, - organ i sändaren för att räkna antalet symboler som svarar mot en nivå i var och en av submatriserna, - styrorgan i sändaren anslutna till delningsorganet och till räkningsorganet anordnat att upprepa delningen av matrisen i två submatriser och räkningen av antalet symboler som svarar mot en nivå i var och en av submatriserna för varje submatris som består av blandade symboler tills dess att matrisen 10 511 514 12 består av submatriser som endast består av symboler som svarar mot en nivå, - organ i sändaren anslutna till räkningsorganet för att koda de erhållna talen och - motsvarande organ i mottagaren för att avkoda de kodade talen.A system comprising a transmitter and a receiver for transmitting a binary matrix of dimension n, where n is a positive integer, characterized by - means in the transmitter for counting the number of symbols corresponding to a level in the matrix, - means in the transmitter for dividing the matrix into two sub-matrices, - means in the transmitter for counting the number of symbols corresponding to a level in each of the sub-matrices, - control means in the transmitter connected to the dividing means and to the counting means arranged to repeat the division of the matrix into two sub-matrices and the count of the number of symbols corresponding to a level in each of the sub-matrices of each sub-matrix consisting of mixed symbols until the matrix 10 511 514 12 consists of sub-matrices consisting only of symbols corresponding to one level, - means in the transmitter connected to the counting means for encoding the obtained numbers and - the corresponding means in the receiver for decoding the coded numbers. 12. System enligt krav 11, kännetecknat av att det använda kodningsorganet är en aritmetisk kodare.System according to claim 11, characterized in that the coding means used is an arithmetic encoder.
SE9701768A 1997-05-13 1997-05-13 Method and apparatus for image compression SE511514C2 (en)

Priority Applications (9)

Application Number Priority Date Filing Date Title
SE9701768A SE511514C2 (en) 1997-05-13 1997-05-13 Method and apparatus for image compression
JP54912798A JP3631256B2 (en) 1997-05-13 1998-05-07 Tree-coded lossless image compression
AU74625/98A AU741547B2 (en) 1997-05-13 1998-05-07 Lossless image compression with tree coding
DE69812929T DE69812929T2 (en) 1997-05-13 1998-05-07 LOSS-FREE IMAGE COMPRESSION WITH TREE CODING
CA002289858A CA2289858C (en) 1997-05-13 1998-05-07 Lossless image compression with tree coding
PCT/SE1998/000839 WO1998052346A1 (en) 1997-05-13 1998-05-07 Lossless image compression with tree coding
CNB988051036A CN1201562C (en) 1997-05-13 1998-05-07 Lossless image compression with tree coding
EP98921985A EP0981896B1 (en) 1997-05-13 1998-05-07 Lossless image compression with tree coding
US09/434,493 US6373988B1 (en) 1997-05-13 1999-11-05 Lossless image compression with tree coding

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE9701768A SE511514C2 (en) 1997-05-13 1997-05-13 Method and apparatus for image compression

Publications (3)

Publication Number Publication Date
SE9701768D0 SE9701768D0 (en) 1997-05-13
SE9701768L SE9701768L (en) 1998-11-14
SE511514C2 true SE511514C2 (en) 1999-10-11

Family

ID=20406911

Family Applications (1)

Application Number Title Priority Date Filing Date
SE9701768A SE511514C2 (en) 1997-05-13 1997-05-13 Method and apparatus for image compression

Country Status (9)

Country Link
US (1) US6373988B1 (en)
EP (1) EP0981896B1 (en)
JP (1) JP3631256B2 (en)
CN (1) CN1201562C (en)
AU (1) AU741547B2 (en)
CA (1) CA2289858C (en)
DE (1) DE69812929T2 (en)
SE (1) SE511514C2 (en)
WO (1) WO1998052346A1 (en)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6356665B1 (en) * 1998-12-09 2002-03-12 Sharp Laboratories Of America, Inc. Quad-tree embedded image compression and decompression method and apparatus
JP2002064821A (en) * 2000-06-06 2002-02-28 Office Noa:Kk Method for compressing dynamic image information and its system
US6707932B1 (en) * 2000-06-30 2004-03-16 Siemens Corporate Research, Inc. Method for identifying graphical objects in large engineering drawings
JP3636983B2 (en) * 2000-10-23 2005-04-06 日本放送協会 Encoder
JP2007531078A (en) * 2003-07-16 2007-11-01 ハンヤン ハク ウォン カンパニー,リミテッド Method and apparatus for encoding and decoding three-dimensional mesh information
US8949395B2 (en) 2004-06-01 2015-02-03 Inmage Systems, Inc. Systems and methods of event driven recovery management
US7583849B2 (en) * 2005-07-25 2009-09-01 Microsoft Corporation Lossless image compression with tree coding of magnitude levels
KR20090005001A (en) 2006-04-21 2009-01-12 가부시끼가이샤 도시바 Method and apparatus for entropy coding and decoding
CN101933329B (en) * 2008-02-05 2013-05-29 汤姆逊许可公司 Methods and apparatus for implicit block segmentation in video encoding and decoding
US8069227B2 (en) * 2008-12-26 2011-11-29 Inmage Systems, Inc. Configuring hosts of a secondary data storage and recovery system
US9558078B2 (en) 2014-10-28 2017-01-31 Microsoft Technology Licensing, Llc Point in time database restore from storage snapshots
US10108633B2 (en) 2014-12-27 2018-10-23 Ascava, Inc. Using a distributed prime data sieve for efficient lossless reduction, search, and retrieval of data
CN106604033B (en) * 2017-02-24 2019-09-17 湖南大学 Image coding and logical calculation method and device

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4261018A (en) * 1979-06-18 1981-04-07 Bell Telephone Laboratories, Incorporated Progressive image transmission
US4858017A (en) * 1988-01-22 1989-08-15 The Trustees Of Columbia University In The City Of New York System and method for hierarchal image encoding and decoding
US5442458A (en) * 1991-12-18 1995-08-15 Eastman Kodak Company Method and associated apparatus for encoding bitplanes for improved coding efficiency
GB9201856D0 (en) * 1992-01-29 1992-03-18 British Telecomm Method of forming a template
US5392133A (en) * 1992-06-30 1995-02-21 Canon Kabushiki Kaisha Apparatus and method for transmitting image data in a format adapted to a condition of a destination
US5602589A (en) * 1994-08-19 1997-02-11 Xerox Corporation Video image compression using weighted wavelet hierarchical vector quantization
KR960013055A (en) * 1994-09-27 1996-04-20 김광호 Conditional Quidtree Segmentation Image Compression Method and Apparatus
JP3364074B2 (en) * 1995-06-05 2003-01-08 株式会社リコー Bit plane coding device

Also Published As

Publication number Publication date
JP3631256B2 (en) 2005-03-23
AU7462598A (en) 1998-12-08
CN1201562C (en) 2005-05-11
SE9701768D0 (en) 1997-05-13
DE69812929D1 (en) 2003-05-08
CN1256043A (en) 2000-06-07
EP0981896A1 (en) 2000-03-01
EP0981896B1 (en) 2003-04-02
DE69812929T2 (en) 2004-01-29
SE9701768L (en) 1998-11-14
CA2289858A1 (en) 1998-11-19
US6373988B1 (en) 2002-04-16
AU741547B2 (en) 2001-12-06
WO1998052346A1 (en) 1998-11-19
JP2001525143A (en) 2001-12-04
CA2289858C (en) 2004-11-09

Similar Documents

Publication Publication Date Title
EP0146728B1 (en) Image processing system
JP3978478B2 (en) Apparatus and method for performing fixed-speed block-unit image compression with estimated pixel values
JP4113114B2 (en) DCT compression using GOLOMB-RICE coding
KR100530681B1 (en) How to send and receive coded video images
EP3611922A1 (en) Method and device for entropy encoding, decoding video signal
EP0327931A2 (en) Method of storing and transmitting image data as image file suitable for image search
EP1104176A2 (en) Re-indexing for efficient compression of palettized images
SE512291C2 (en) Embedded DCT-based still image coding algorithm
SE511514C2 (en) Method and apparatus for image compression
JPH06121175A (en) Picture processor
KR102155184B1 (en) Method for encoding a current block of a first image component relative to a reference block of at least one second image component, encoding device and corresponding computer program
US11469771B2 (en) Method and apparatus for point cloud compression
CN102396223A (en) Method of compression of graphics images and videos
CN107018419A (en) A kind of image compression encoding method based on AMBTC
US10142635B2 (en) Adaptive binarizer selection for image and video coding
CN115280366A (en) Point cloud decoding device, point cloud decoding method, and program
JPH0937246A (en) Image processing unit and its method
CN1159922C (en) Method for encoding binary shape signal
JP3466164B2 (en) Image encoding device, image decoding device, image encoding method, image decoding method, and medium
JPH0690360A (en) Method for encoding of halftone image
JPH08125868A (en) Method and device for processing picture
EP3182705A2 (en) Binarizer selection for image and video coding
CN116615753A (en) Palette mode video coding with hierarchical palette table generation
CN104904199A (en) Method and apparatus for efficient coding of depth lookup table
JP2000261812A (en) Image coder and decoder

Legal Events

Date Code Title Description
NUG Patent has lapsed