Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
AU672321B2 - Data encoding and decoding apparatus and method - Google Patents
[go: Go Back, main page]

AU672321B2 - Data encoding and decoding apparatus and method - Google Patents

Data encoding and decoding apparatus and method Download PDF

Info

Publication number
AU672321B2
AU672321B2 AU70246/94A AU7024694A AU672321B2 AU 672321 B2 AU672321 B2 AU 672321B2 AU 70246/94 A AU70246/94 A AU 70246/94A AU 7024694 A AU7024694 A AU 7024694A AU 672321 B2 AU672321 B2 AU 672321B2
Authority
AU
Australia
Prior art keywords
data
code
bits
consecutive
input
Prior art date
Legal status (The legal status 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 status listed.)
Expired
Application number
AU70246/94A
Other versions
AU7024694A (en
Inventor
Michael Hudson
David Reed
Kazuhiro Saito
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to AU70246/94A priority Critical patent/AU672321B2/en
Priority to JP6290051A priority patent/JPH0856164A/en
Publication of AU7024694A publication Critical patent/AU7024694A/en
Application granted granted Critical
Publication of AU672321B2 publication Critical patent/AU672321B2/en
Anticipated expiration legal-status Critical
Expired legal-status Critical Current

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

TITLE OQF THE INVENTIQU DATA ENCODflNG AND DECODXNG APPARATUS AND METHOD BACKGROUND OE THE INVENTION The present invention relates to a encoding and decoding apparatus and method therefor and, more particularly, to the apparatus and method for encoding and decoding image data and the like, As a conventional encoding method, a Huffman coding method is widely known as a method which compresses a great deal of data, such as image data, in order I:o reduce a transmission time and an amount of memory for off, 00 data storage.
The basic idea of the method is to assign a shorter codAe to an input data (symbol) which occurs more 15 frequently, and assign a~ longer code to data which less frequently occurs.
A Huffman coding method is explained below with reference to P~igs. 5 to 7, F'ig. S shows a table for illustrating a generation process of a Huffman code. The f'irst column of the table represents inputted symbols, the second column shows occurrence probabilities of symbols at which a symibol occurs, and the third column shows a tree diagram illuatrating a process to generate a code which corresponds to the symbol according to the occurrence probability of the symbol.
The symbols are arranged from higher to lower in probability sequence in the table so that the explanation of the process can be understood well.
First, two symbols which have first and second lowest probabilities are chosen, and I and 0 are assigned to the symbols, respectively. I and 0 are given to either one of the chosen two symbols. in the example, I is given to symbol and 0 to symbol 16N.
Next, the probabilities of the two symbols are added, an4 those two symbols are considered to make an integrated sym~bol having the same probability. Then, tv~ symbols, the probabilities of which are a first and second lowest, are selected out of the remaining symbols s* including the integrated symbol. in the example of Fig.
5, symbol "S5' (probability is 0.04) and tho integrated symk'ol (probability is 0.03) are chosen, because thtay are the two l0oet. Then, the selected two symbols are assigned with I and 0, respectively. In the example, 1 is given to the Integrated symbol, and 0 is given to symbol 'I" Addition of probabilities of selected two symbols, aelection of further two symbols which have lowest probabilities, and assignments of 1 and 0 to the selected symbols are applied until only oneo uncompared symbol is left* In the example of Pig. 5, since the integrated symbol generated from symbol 'w4a has value "10.13"1, and the probability value is larger than any two symbol.s of the~ remaining symbols and 113"), the lowest symbols, "12" and are selected.
in the every assignment operation to two symbols with 1 and 0, 1 should be g!,veri to one symbol whose code is longer and 0 is given to the other symbol whose code is shorter.
When the only one unprocessed symbol is left, codes are assigned to all the symbols. Codes are built by collecting assigned bits in an order that is reverse to the generation order. F~or example, symbol 111 is given "1111110"1, and symbol is given"111.
The generated codes are shown in the fourth column in Fig. 5. The fifth column represents respective lengths (minus 1) of the generated codes. The generated code and the code-length in one line correspond to the symbol in the same line.
Fig. 6 is a block diagrami illustrating an encoding apparatus, which encodes an inputted symbol and arranges the code in one dimensional sequence, further generates a stream of coded data in 16 bit unit, and stores the icoded data in a memory 605.
xn Pig. 61 reference numeral 601 denotes an input device. Where input symbols are image data, the input device may be a scanner or the like. 602 in a encoding table for outputting a code which correspondo to the inputted symbol. 603 is a code-length table which outputs a code-length corresponding to the inputted symbol. Reference numeral 604 denotes a barrel shifter, which concatenates successive codes from encode table 602 using code-length data from code-length table 603, to form a one dimensional stream of coded data. The barrel shifter also partiLtions this code stream into 16 bit segments. The 16 bit code segments from the barrel shifter are stored in 16 bit forma: in the memory 605.
Fig. 7 is a block diagram illustrating an appar~atus which decod~es the compressed coded data stream into a symbol, and outputs the symbol to an output device.
The coded data is stored in a memory 701. A barrel shifter 702 receives 16 bit segments of code data from the memory 701, and outputs each code to the decoding table 703 and the code-length table 704. The decoding table 703 converts each code to the original symbol asoiated with the code. The code-length table converts each code into code-length in~formation. The code-length information ia used by the barrel shifter 702 to shift out the next code to be applied to the decode table 703 and the code-length table 704. Each shift operation performed by the barrel abifter gives rise to vacant bit positions inside the barrel shifter.
If the number of vacant bits inside the barrel shifter 702 reahes; 16 or more bit positions, another 16 bit segment of code data is output from the memory 701 to the barrel shifter 702. By repeating this process, the ono. dimensional stream of code data is eventually decoded into the original sequence of symbols input to the encode process. The decoded symbols are passed to an output device 705.
According to this conventional method, the tables are used for decoding. Thiere is another decoding method which uses a decoding algorithm instead of using the decoding tables. When the decoding algorithm is adopted, the decoding process is operated one bit at a time, thus there is a need for at least 16 processes to decode a 16 bit code.
too$ Therefore, where a faster decoding process is too 15 required, methods of using such decoding tablcG have been commonly employed.
in the aforementioned conventional examples, the encoding apparatus requires a memory for a table of, toS 2 to (numbt'r of bits of symbol)-th power to" x (number of bits of code 'Joe: number of bits of code-length).
Thus, the apparatus shown in F~ig. 6 requires a 72 2S bit memory.
-6- Further, the decoding apparatus requires a memory for a table of, 2 to (number of bits of code)-th power x (number of bits of symbol number of bits of code-length) Thus, the apparatus shown in Fig. 7 requires a 384 bit memory.
Therefore, as numbers of bits of a symbol, a code, and a code-length increase, a memory of larger capacity is required, therefore, the cost also increases.
SUMMARY OP THE INYENTION According to an aspect of the present invention, there is provided an encoding 1o apparatus which generates a code by subjecting input data to encoding using tables, said apparatus comprising: first table means for inputting said input data as an address input, and generating first data indicative of a number of consecutive l's or O's starting at tile beginning of the code: I second table means for inputting said input data as an address input, and generating second data indicative of the remaining code bits of the input data, said t* remaining .ode bits being bits following said consecutive l's or O's: third table means for inputting said input data as an address input, and T: generating third data indicative of a code-length of the code: and 20 means for multiplexing said first data, second data and third data to generate a code.
*55* Sn. According to a further aspect of the present invention, there is provided a method of encoding input data into a code, said method comprising the steps of: generating first data indicative of a number of consecutive I's bits of the input 2 data and second data indicative of the remaining code bits following the consecutive I's bits of the input data: and w &I #AE5:: O 7generating third data indicative of a code-length of the code-, and multiplexing the first data, second dataand third data to generate a code.
According to a further aspect of the present invention, there is provided a decoding apparatus which decodes a code by using table mecans to obtain decoded data, said decoding apparatus comprising: count means for counting a niimber of consecutive I's bits or O's bits of' the coded dlata to output the count numiber, means for rewriting the table means based on the coded data*, gen, ration means fo~r generating the remaining significant bits out of the coded 04)" io data excluding said I's or O's bits-, and to* table means for inputting the count number and the remaining significant bits as an address, andl for generating the decoded data and a codle-length of the decoded data, The accompanying drawings, Wvhichi are incorporated in and constitute a part of ic the specification, illustrate embodiment of the invention and, together with tle description, serve to explain the principles of the invention.
Fig. I s a diagram, illustrating an encoding process of the present invention; Fig. 2 is a table showing relationship between a code, consecutive I's, thle remaining code bits, and a, code-length according to the embodiment-, 8 Fig. 3 is a view showing the method for generating a table for the numbers of consecutive 1's and the remaining code bits in an embodiment; Fig. 4 is a diagram explaining a decoding process of the present invention; Fig. 5 is a diagram showing a proces of generating the Huffman codes; Fig. 6 is a diagram showing an encoding apparatus by using the Huffman codes; and Fig. 7 is a diagram showing a decoding apparatus which decodes the HuEffman coded data.
DETLED D S 9 PRIETTOU TH9E PRIERRED OD 4 PMN A preferred embodiment of the present invention 15 will be described in detail with reference to iqgn. I and 4.
The embodiment explains a case where the Huffman coding method is employed and where 1 is asigned to longer code.
20 Prst, the principle of the embodiment io explained with referernce to Pig. 2.
Pig. 2 is a table showing relationship between *code*, *nuber of consecutive rmaining code bitso, and "code length (minuS by In Pig. 2 the firat to fifth columnSo from the left reproes nt input 6 s 99** fell
I
##os *4# 0 ji
I
f ee so- 41 0 #s
I.
symbols, encoded codes, number of consecutive l's, remaining code bits, and code lengths, respectively.
The principle of the embodiment is to encode input symbols into a data format that efficiently represents Huffman codes. This data format is subsequently translated into Huffman codes. The data for, at used to initially encode the input symbols is comprised of three fields; "number of consecutive "remaining code bits", and "code-length (minus fields. In the embodiment, encode tables are used to generate these data fields. The objective of the embodiment is to reduce the sizes of the tables, when it is compared to tables of the conventional method in which Huffman codes m .themselves are stored.
is In Pig. 2, codes represent Huffman codes corresponding to input symbols. "Number of consecutive I's" indicates the number of I's bits from the beginning of an encoded code (in the second column). "Remaining bits" represents the remaining bits of the code from which the consecutive l's and the successive 0 are removed. The last row of the table indicates the number 4 of bits required to represent *symbol", "code", "consecutive 1'o, remaininq bits", and *code length".
In the example of Piq. 2, symbol" is in hex-decimal and has eight-bitiength. The embodiment can deal with up to 256 symbols. "Code", which is Huffman code, has up to sixteen bit length, as an example. As will be described, "consecutive l's" is represented in four-bitlength, "remaining bits" is six-bit-length, and "code length (minus is four-bit-length.
Since the codes have variable lengths, the codelengths differ depending on the codes, however, the longest code-length is 16 bits.
In this embodiment, the number of consecutive I's is 4 bits and the remaining code bits is 6 bits, thus, it is assumed that there are no codes containing more than 7 bits after their leading l's.
.1 In Fig. 2, the "number of consecutive column 00!" "represents the number of consecutive leading l's in a I Huffman code, starting at the leftmost bit position.
66#4 15 The "remaining code bits" column is comprised of code bits to the right of the leading l's but not including the first 0. The "code-length 1" column represents the length of the Huffman code minus 1.
S' As an example, a code '1010' corresponding to a I symbol 25 (hex) is considered in the first row. The number of consecutive l's of '1010' at the begging of aa a I the code is 1. Since the remaining code bits excluding the first 's and the successive 0 is '0lOxxx' (where, x denoces an insignificant bit), the code-length -1 corresponding to 'lOxxxx' is '0011'.
Further, a code corresponding to a symbol OA (in hex) in the second row is and the consecutive l's does not exit, thus the number of consecutive I's is '0000'. Theefore, the remaining code bits is 'Oxxxxx', which corresponds to '0001' according to the code-length -1.
In the same manner, codes which correspond to symbols the numbers of consecutive l's of the codes, and the remaining code bits are shown in the table.
The number of connsecutiv l's" can be represented by 4 bit data, the "remaining bits" by 6 bit data, and 42 the Ocode length" by 4 bit data. The total number of these bits is fourteen. Thus, according to this o*#t enmboeeiment, it is possible to express the code with ties 1 shorter bits by deascribing the symbol with "a number of consoutive "the remaining cde bitOs", and "a .:b9 066, 0code-length data.
so 9 The conventional encoding apparatun as described 66 'to above requires a memory for a table of, *0 #0#4 os 40 2 to (number of bit of symrbol)-th power x (number of bits of code number of bits of code-longthl.
Thus, to encode the aymboln in P'ig. 2, the conventional encoding apparatus requires a mroemory of the crapacity of, 28 X (16 4) 5120 bits.
In comparison, according to the present embodiment, the apparatus requires a memory which has a capacity of, 2 to (number of bits of symbol)-th power x (number of bits of consecutive i's number of bits of remaining code bits number of bits of code.-length) *4 Thus, to encode the symbols in Fig. 2, the present .0.0 4 apparatus requires a memory having the capacity of, 4 15 28 x (4 6 4) 3584 bits *44* 4 *4 4 Therefore, the required capacity of the memory is reduced, thereby the cost is also reduced by employing the method o£ the present embodiment.
4 .20 Next, an encoding apparatus and encoding method which perform the aforementioned encoding will be described with reference to Figs, 1 and 3.
Referrin to Pig. 1, the encoding apparatun in this embodiment comprioes an input device 105, a table 101 for the *number of consecutive la", a table 102 for the wromaining code bitsn a table 103 eode-lengtho, a barrel shifter 104, a memory 106, and a CPU for controlling the entire operation of the apparatus, schematically. The CPU 107 is connected to a Rom 108 where programs, such as encoding control program (which will be described later), are stored and to a RAM 109 as a temporary storing means.
Further, the input means in this embodiment can be a scanner, a video camera, or the like. An image signal from those input means is orthogonally converted using DCT or the like, and is quantized. The obtained.
quantized data is 4onsidered as an input symbol.
it will be understood that the sizes of the tables 101 103 are reduced in the arranged apparatus as shown in Fig. I in comparison to the conventional apparatus.
is The CPU 107 accoi:ding to the qmbodiment can generate or retrieve from the ROM 108 Huffman table data suitable for the input data which has been transmitted through the input device 105. The CPU 107 will replace the contents of the tables 101 103 with the generated or retrieved table data. These oporation are executed based on tho Huffman table generating program which in stored in the ROM 108.
The present embodied appari.tust it,- implemented wl.th input means (which is not ahown) to specify an encoding method, such ar, JPEG, MPEG, and no on, to determine the contents of tho tablea 101 103. Data for the tables has been generated in advance in accordance with such encoding methods, and stored in the ROM 108. In a case where the encoding method is specified by the input means, data for the tables are selected and retrieved from the ROM 108 in accordance with the specified method, and are loaded into the "number of consecutive Ils" table 101, the "remaining code bitsm table 102, and the Ocode-length. tab.e 103.
Once the tables 101 103 are organized or rewritten as described above, an input symbol via the input means 105 is outputted as addresses of the "number of consecutive l's" table 101, the "remaining code bits' table 102, and the t 'code-lengtho table 103. The "number of consecutive I's" table 101 outputs a bit number of
S
consecutive l's corresponding to a Huffman code corresponding to the symbol, the "remaining code bits" table 102 outputs the remaining code bits of the code too* corresponding to the symbol, and the "code-length" table 103 outputs the code-length -1 of the symbol, to the Huffman encoder 104.
Data stored in the "number of consecutive 1's" table 101 represents the number of leading consecutive I's of the Huffman code corresponding to the symbol, beginning from the leftmost bit position of the code.
The *number of consecutive I'a" table 101 outputs this data in four bit forntat according to an index provided by the input symbol.
Similarly, the "remaining code bits" table 102 stores data which excludes the first consecutive l's bits in the Huffman code of the symbol and also excludes the first "10"1 bit following the consecutive 1's bits.
The data format of the "remaining code bits" table 102 is 6 bit format. The data is output according to an index provided by each input symbol.
10 The Hiuffman encoder 104 includes operation means (not shown) for operating and generating a HuDffman coda from the data relating to the "number of consecutive :*to I'so and the "remaining code bitaff, and a barrel shifter which converts the generated Huffman code to sequential ea data of 16 bits. it should be noted that the %remaining code bits# are a part of the H~uffman code. Therefore, 6 6 0.the operation means generates a Huffman code corresponding to a bit num~ber of "consecutive I's" and integrates the Hluffman code, 0, and the remaining code '6 20 bits into a -Complete# Huffman code corresponding to the input symbol. more specifically, the 1iuff"'ri encoder 104 divides each tranoumitted data of ,*the )or of conz.ueutive 11so and "the rem~aining code bit 0based on the code-length data, and encoes each data.
The coded data divided into 16 bits in temporarily stored in the m~em~ory 106.
Next, the operation of the encoding apparatus is explained with reference to a flowchart in Fig. 3.
Fig. 3 is a flowchart illustrating the encoding method of the Huffman table generating program for encoding H-uffman codes from input symbols. The flowchart also describes a control procedure generating the tables of numbers of "consecutive 1's bits", and of the remaining code bits.
Steps S301 and S302, which are optional steps, illustrate how to generate the data of Lhe tables.
First, in step S301., data for the 81number of consecutive CI l'so table 101., the ,~remainiing code bitam table 102, and the "code-length" table is generated based on input data. more specifically, the Fig. I. apparatus inputs all the input data, determines the most suitable Hiuffman tables for the input data, and the generates the table data fro-M the Huffman tables. As set forth, in a care where the encoding method is specified by the input 'means, the apparatuxs may be arranged to select and generate table data from Huffman tables corresponding to the specified encoding method. Once the table data is established in stop 8302t the tables are loaded with the generattd or selected table data.
Steps 9303 to SM0 depict to encode innut dat,-a to a Huffman code.
more specifically, in step S303, completion of encoding all the input data is checked, and if so, the process proceeds to the end in S307, thereby the entire process is completed.
If the encoding is still in process, consecutive I's of the code corresponding to the input &:ta is taken from the beginning bit of the code, and then the count is obtained. Then in step $305, the remaining- code bits excluding the first consecutive I's and the successive 0 following the first consecutive Ila are extracted.
After this process, a complete Huf fman code is finally encoded at step S36 More specifically, at ft.*,,,,step 5306t the operation means of the Huffman encoder 104 generates a "partial" Huffman code corresponding to 15 the number of consecutive I's bits which is obtained at step $304, and the Huffman encoder 104 combines the ft ft Opartialm Huffman code with a 0 bit and the *remaining code bits" obtained at stop 9305, to form a complete Huffmnan code.
20 All the "complete" Huffman codes for all the input symbols are generated by repeating steps 8303 to S306 until the last code in processed. Then, the process ic terminated in step 8307.
Thus, the encoding apparatus according tq this embodiment can encode and generates *completelt Huffmtan codes from input data usingj the tables 101 -103 whose 18 sizes are much less than sizes of tables of the conventional apparatuses.
Input data may contain symbols which have various occurrence probabilities, therefore Huffman codes should be determined in accordance with the input data. The apparatus determines and establishes the table data of the tables 101 103 on the basis of the input data.
Therefore, the apparatus can deal with the various kinds of input data without deteriorating compression efficiency.
el4 Note that sceps $301 and S302 are optional, therefore the contents of the tables 101 1(3 may be
I
rewritten, if necessary.
9 Next, the decoding apparatus and the decoding IS method of this invention are described below.
4 44w Fig. 4 is a diagram illustrating the decoding 4 41 apparatus. Process in the decoding apparatus is got* basically opposite to the aforementioned encoding 4 procedure.
20 in Pig. 4, reference numeral 401 denotes a barrel shiftor, 402 denotes a counter, 403 denotes a barrel shifter for the "remaining code bits' 404 denotes a decoding table, 405 denotes a code-length table, 406 denotes a mnemory as an input device, 407 denotots an output device, and 408 denotes a CPU for controlling the operation. The CPU 408 is connected to a ROM 409 rnd a RAM 410 which stores a decoding program and table data of the decoding table corresponding to the table data used in the aforenentioned encoding apparatus.
The memory 406 buffers coded data transmitted from the memory 106 of said encoding apparatus. The encoding apparatus also transmits data corresponding to the Huffman table data stored in the tables 101 103 into the memory. The memory 406 also can receive coded data transmitted from various kinds of communication apparatus, such as CD-ROM, or the like. The CPU 408 takes the information data, and overwrites the decoding 4 table 404 and the code-length table 405.
In a case where the coded data from various kinds of communication apparatus, CD-ROM, or the like is to be decoded, the CPU 408 detects a coding method from the header or the like of the transmitted coded data, and overwrites the contents of the decoding table 404 and the code-length table 405 based on the Huffman tables corresponding to the detected encoding method.
20 The barrel shIftor 401 includes an internal 31 bit register, and outputs the sixteen (16) most significant bitas to the counter 402 and the barrel shifter 403.
Then the barrel shiftor 401 ahit5t by the number of bits indicated by the data from the codeeltngth table, which repreeont the number of bits present in the code currently output by the barrel hifter 401. If the significant bits from the shifter 401 are shorter than the 16 bits, further coded data is applied from the memory 406 to the register after the beginning insignificant bit.
The shift operation performed by the barrel shifter 401 aligns the bits of the next code to the 16 bit output register of the barrel shifter. The counter 402 counts the number of consecutive I's bits from the internal register, and the counted number is outputted 10 to the decoding table 404, the barrel shifter 403, and the code-length table 403.
The barrel shifter 403 outputs 6 bits, which are after the consecutive I's and another one bit, as the remaining code bits to the decoding table 404 and the code-length table 405.
The decoding table 404 outputs decoded data Sto* *o corresponding to the code. The decoding table 104 inputs 10 bits as an address which are composed of four 0 to: bits indicative of the number of consecutive l's *0 20 from the counter 402 and six bits indicative of the remaining code bits from the barrel shifter 403.
The code-length tablc! 409 outputo the code=1ength -l of the code. The ta 405 inputs 10 bito as an address which is comp,ed of four bits indicative of the number of con' sitive 1s from thu counter 402 and six bits indisative of the remaining code bits from the barrel shifter 403, and outputs a code length to the barrel shifter 401, aid also initiates the next data read.
According to the decoding apparatus as set forth, the tables are dramatically reduced in size, compared to the tables used in the conventional apparatus.
In other words, the conventional decoding apparatus requires a memory o£ the capacity of, 10 2 to (number o£ bits of the largeot code)-th 9.9.
9.9 power x (number of bits of a symbol number of bits of a code-length) t i 460*
I«*
Thus, the conventional decoding apparatus whieh employ.
9*1 15 the same deeoding process which is explained in this t* t embodiment requires a memory of the capacity of, 9* 9 *9*9 216 x (8 4) n 786k bits 9 be 20 in comparison, according to the present invention, the decoding apparatus requires a memory which has a capacity of, 2 to (number of bits of eonceeutive 1* number of£ bitas of the remaining eode bifto) th power x (number of bitt of oymbol number of bits of code-length) Thust in a case where the encodingr proceso which is afore-explained kn the embodiment ia adopted, required capacity o.i the memory for tablos iao 21'6) (8 12.3 k bits Therefore, the required capacity of the memory in dramatically reduced, thereby the cost in also reduced by employing the method of the present invention.
in this embodiment, the successive bit to the Onumber of consecutive is aiwayn 0, thuo, one bit between the "number of conSecutive l'sv and 'the remainnq code bita, can be omitted.
Further, accordin7 to this embodiment, the tables, such an the decodinu table 404, are overwritten bated on to r the input coding data, therefore, codeod data encoded by various methods is able to be decoded.
I n this embodinrnt, only the case where eonLtecutive I's ari detected in the scanning direction for coding into lluf.f4riai codes in explained. in a case where consecutive Ota aro asserilgned in the Ccanninq diretion, 'la and 0's of th(e cos n 'iig. 2 bo~t poite each other. In such ecase), ding and deOding prucEue can be done bun eur by ding a -of instead of "the olv er ect ecutivo 'so As is explained above, in the encoding apparatus, the required capacity of the memory for tables is reduced, thereby the cost is also reduced by using the tables which generates "the number of consecutive l's", "the remaining code bits", and "the code-length", instead of using the tables generating a code and a code-length in accordance with an input data.
Further, in the decoding apparatus, the required capacity of the memory is dramatically reduced, thereby 1 0 Ihe cost is also reduced by a large amount by using the tables composed of the code-length table and the decoding tfa'olo whose addresses are the counter to count a +fthe number of consecutive "the number of consecutive which is the counted result, and "the a 15 remaining code bits".
The embodiment above described is what the present a a.
invention is applied into a Huffman encoding method.
However, the present invention can be applied to other encoding methods as long as the methods is adopted to assign a longer code to an input symbol which io of less occeurrene probability, and a shorter code to an input symbol o£ higher occurrence probability.
The present invention is not limited to the above embodimenft and various changes and modifications can be made within the spirit and SCOpe of the prosent invention. Therefore, to apprise the public of the scope of the present invention, the following claims are made.
too.
40:0 *000 s* 0 0 0 *6 to ob

Claims (6)

  1. 2. A method of encoding Input data into a code, said method comprising the is steps oft generating first data indicative of a number of consecutive I bits of the input data and second data indicative of the remaining code bits following the consecutive I's bits of the input data-, and generating th ird data, indicative of a code-length of the codle; and multiplexing the first data, second data and third data to generate a code.
  2. 3. A decoding apparatus which decodes a code by using table means to obtain (dccoded, data, said decoding apparatus comprising- count means for counting a number of consecutive I 's bits or 0's bits of the coded data, to output the count number-, it) means for rewriting the table means based on the coded data#, generation means for generating the remaining significant bits out of the oded data excluding said or O's bits; and table mneanis for inputting the count number and the remaining significant bits as art iddress, and for generating the decoded data and a code-length of the decoded data.
  3. 4. A decoding method for decoding encoded input data, said meothod comprising the steps of: rewriting a table meant based on the encoded input data-, counting a number of consecutive I's bits or O's bits of the coded data to output w~e count numfber; StS generating the remaining significant bits out of the coded data excluding said I "s or O's bits; and inputting the cow~ted number and the remaining sig-u1icat bits as ant address t) Sgenerate the decoded data anid a code-length of the decoded data. fz I NJ P. -26- An encoding apparatus for generating a code by subjecting input data to encoding using tables, said apparatus comprising: first table means for inputting said input data as an address input to generate first data indicative of a number of consecutive l's or O's starting at the beginning of the s code; second table means for inputting said input data as an address input to generate second data indicative of the remaining code bits of the input data, said remaining code bits being bits following said consecutive I's or t's; third table means for inputting said input data as an address input to generate to third data Indicative of a code-length of the code; means for multiplexing said first data, second data and third data to generate a code; and means for altering contents of the first, second and third table means in accordance with the input data, Is 6. An encoding apparatus substantially as described herein with reference to Pigs. I to 3 of the drawings.
  4. 7. A decoding apparatus substantially as described herein with reference to FPigs. 2 to 4 of the drawings.
  5. 8. A method of encoding data substantially as described herein with reference 2o to Pigs. 2 and 3 of the drawings.
  6. 9. A method of decoding data substantially as described herein with reference to Pigs. 2 and 3 of the drawings. DATED this Eighteenth Day of July 1996 SCanon Kabushil Knalsl Patent Attorneys for the Applicant SPRUSON PFRGUSON S IN.tfallboolOOMOIAO Data Encoding and Decoding Apparatus and Method ABSTRACT A method of encoding input data into a code comprising: generating (101) first data Indicative of a number of consecutive I 's bits of the b codp and second data (102) indicative of the remaining code bits fol lowi ng the consecuti ve I Is bi ts of the code; and generati ng the code using tables (103) which relate to the first and second data. Figure 1 ,too too# 9004 v *0.4 #.e 3275FICHS
AU70246/94A 1994-08-12 1994-08-12 Data encoding and decoding apparatus and method Expired AU672321B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
AU70246/94A AU672321B2 (en) 1994-08-12 1994-08-12 Data encoding and decoding apparatus and method
JP6290051A JPH0856164A (en) 1994-08-12 1994-11-24 Data encoding / decoding apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
AU70246/94A AU672321B2 (en) 1994-08-12 1994-08-12 Data encoding and decoding apparatus and method

Publications (2)

Publication Number Publication Date
AU7024694A AU7024694A (en) 1996-02-22
AU672321B2 true AU672321B2 (en) 1996-09-26

Family

ID=3753517

Family Applications (1)

Application Number Title Priority Date Filing Date
AU70246/94A Expired AU672321B2 (en) 1994-08-12 1994-08-12 Data encoding and decoding apparatus and method

Country Status (2)

Country Link
JP (1) JPH0856164A (en)
AU (1) AU672321B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4559652B2 (en) * 2000-03-24 2010-10-13 パナソニック株式会社 Variable length decoding circuit
CN102237878B (en) * 2010-04-20 2015-09-02 慧荣科技股份有限公司 A Huffman decoding method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4899149A (en) * 1986-02-28 1990-02-06 Gary Kahan Method of and apparatus for decoding Huffman or variable-length coees
US5181031A (en) * 1991-07-30 1993-01-19 Lsi Logic Corporation Method and apparatus for decoding huffman codes by detecting a special class
US5254991A (en) * 1991-07-30 1993-10-19 Lsi Logic Corporation Method and apparatus for decoding Huffman codes

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4899149A (en) * 1986-02-28 1990-02-06 Gary Kahan Method of and apparatus for decoding Huffman or variable-length coees
US5181031A (en) * 1991-07-30 1993-01-19 Lsi Logic Corporation Method and apparatus for decoding huffman codes by detecting a special class
US5254991A (en) * 1991-07-30 1993-10-19 Lsi Logic Corporation Method and apparatus for decoding Huffman codes

Also Published As

Publication number Publication date
AU7024694A (en) 1996-02-22
JPH0856164A (en) 1996-02-27

Similar Documents

Publication Publication Date Title
US5471207A (en) Compression of palettized images and binarization for bitwise coding of M-ary alphabets therefor
EP0665653B1 (en) Apparatus and method for decoding variable-length code
RU2154350C2 (en) Method and system of coding, method and system for decoding
EP0683568B1 (en) Decoding of Huffman Codes with MSB and LSB look-up tables
EP2317476A2 (en) Multimedia signature coding and decoding
EP0467678B1 (en) Variable length coding apparatus and variable length decoding apparatus
JPS5831791B2 (en) Image information band compression transmission device
EP0658982B1 (en) System for bi-level symbol coding-decoding with saved storage and method for the same
US5960117A (en) Method of adaptive arithmetic encoding/decoding according to JBIG standard
AU672321B2 (en) Data encoding and decoding apparatus and method
JPH0779415B2 (en) Decompression method of compressed data
CN119031137B (en) A security monitoring video compression transmission method and system
JPH07264417A (en) Image coding method
JP4455199B2 (en) Adaptive variable length encoding apparatus, adaptive variable length decoding apparatus, adaptive variable length encoding / decoding method, and adaptive variable length encoding / decoding program
JPH08186723A (en) Encoder for image processing device
JP2000217003A (en) Encoding device and decoding device
JP2812064B2 (en) Image processing device
JPH05151349A (en) Image data compression method and encoding circuit
JPS5817763A (en) Picture information storage system
JPS6364948B2 (en)
JP3123797B2 (en) Coding device and decoding device for predictive coding method
JP2001217722A (en) Information encoding apparatus, information encoding method, and computer-readable storage medium
JP3108243B2 (en) Encoding and decoding device
JP3368164B2 (en) Encoding / decoding system
JP4279887B2 (en) Arithmetic coding apparatus, arithmetic coding method, and arithmetic decoding apparatus