WO1994024672A1 - Circuit for decoding variable-length code, and system for decoding variable-length code which uses the circuit - Google Patents

Circuit for decoding variable-length code, and system for decoding variable-length code which uses the circuit Download PDF

Info

Publication number
WO1994024672A1
WO1994024672A1 PCT/JP1994/000646 JP9400646W WO9424672A1 WO 1994024672 A1 WO1994024672 A1 WO 1994024672A1 JP 9400646 W JP9400646 W JP 9400646W WO 9424672 A1 WO9424672 A1 WO 9424672A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
variable
code
length code
circuit
Prior art date
Application number
PCT/JP1994/000646
Other languages
English (en)
French (fr)
Inventor
Eiji Komoto
Takao Nakamura
Original Assignee
Oki Electric Industry Co., Ltd.
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 Oki Electric Industry Co., Ltd. filed Critical Oki Electric Industry Co., Ltd.
Priority to US08/351,253 priority Critical patent/US5642114A/en
Priority to DE69428408T priority patent/DE69428408T2/de
Priority to EP94912701A priority patent/EP0646932B1/en
Publication of WO1994024672A1 publication Critical patent/WO1994024672A1/ja

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/42Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
    • H03M7/425Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory for the decoding process only
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/005Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor comprising combined but independently operative RAM-ROM, RAM-PROM, RAM-EPROM cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • G11C15/04Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements

Definitions

  • the present invention relates to a variable-length code decoding circuit for decoding a variable-length code such as compressed image data, and a variable-length code decoding system using the same.
  • This document describes a technique using variable length codes as a technique for compressing image data or restoring compressed image data.
  • Variable-length codes are assigned according to the frequency of occurrence of parameters after performing arithmetic operations such as Fourier cosine transform (DCT) processing and quantization processing on image data. Is the sign. That is, a short code is given to a parameter with a high occurrence frequency, and a long code is assigned to a parameter with a low occurrence frequency. As described above, since the number of codes can be reduced by making the code length variable, an improvement in the compression ratio of image data can be realized.
  • DCT Fourier cosine transform
  • variable-length code When restoring a moving image, it is necessary to observe the image display rate of a television or display, so the above-mentioned variable-length code is always restored at a fixed rate. Need to be issued. In practice, it is desirable that one variable-length code be decoded in one clock cycle. In recent years, where higher image data processing speeds have been required, improving the decoding speed of variable-length codes is important as one means for achieving higher image data processing speeds.o
  • An object of the present invention is to provide a variable-length code decoding circuit that achieves a higher operation speed.
  • Still another object of the present invention is to provide a variable-length code decoding system that achieves an increase in operating speed. Disclosure of the invention
  • the present invention provides a data line to which first data is supplied, and a storage circuit connected to the data line for storing second data, wherein the first data and the second data
  • a matching circuit that outputs the matching result, a matching result output line to which the matching result is given, and a matching result that is connected between the storage circuit and the matching result output line and that responds to the control signal to match the matching result. It is provided with a gate for inhibiting output to the output line and a control circuit for outputting a control signal.
  • the present invention further provides a plurality of data lines to which each of a plurality of first code data of the first variable-length code data is provided, and a plurality of data lines connected to the plurality of data lines, respectively.
  • a plurality of storage circuits for storing a plurality of second code data of the second variable length code data, wherein the first and second code data are collated and collated.
  • a plurality of gates that are prohibited from being output to the collation result output line, And a plurality of control circuits for outputting control signals.
  • the present invention is directed to a plurality of data lines to which each of a plurality of first code data included in first variable length code data is provided, and a plurality of data lines connected to the plurality of data lines, respectively.
  • a plurality of first storage circuits that output results, a first matching result output line to which a first matching result is given, and a plurality of first storing circuits and a first matching result output line, respectively.
  • a second control circuit is provided.
  • the present invention provides an input node to which a variable-length code string having a plurality of variable-length codes is provided, one variable-length code in the variable-length code string is detected, and the code length is detected.
  • a variable-length code decoding circuit that outputs first data indicating the position of the variable-length code in the variable-length code sequence given to the input node in response to the clock signal.
  • a first latch circuit for latching and outputting data, and a variable length code decoding circuit connected to the input node for responding to the first data and the second data.
  • An adjustment circuit that shifts and outputs the position of the variable-length code in the variable-length code sequence given to the input node so that the power-variable code is first, and an output of the adjustment circuit in response to the clock signal And a second latch circuit for latching and outputting the result to the variable-length code decoding circuit.
  • FIG. 1 is a circuit diagram showing one embodiment of a main part of a variable length code decoding circuit of the present invention.
  • FIG. 2 is a circuit diagram showing one embodiment of the variable-length code decoding circuit of the present invention.
  • FIG. 3 is a diagram showing one embodiment of the variable length code table of the variable length code decoding circuit of the present invention shown in FIG.
  • FIG. 4 is a circuit diagram showing one embodiment of the variable-length code decoding system according to the present invention.
  • FIG. 5 is a time chart showing the operation of the variable-length code decoding system of the present invention.
  • FIG. 6 is a diagram showing an outline of a variable length code circuit and a variable length code decoding system of the present invention.
  • the general processing flow of image data is, for example, the one shown in FIG. 6 (A). That is, the input image D in is subjected to a Fourier Cosine Transform (hereinafter referred to as DCT) process, further subjected to a quantization process, and sent to the variable-length code encoding circuit 61.
  • the variable length encoding circuit 6001 encodes the quantized data and outputs compressed data D as shown in FIG. 6 (B). This compressed data D is sent to the variable-length code decoding circuit 6. After being decoded at 03, it is subjected to inverse quantization processing and then inverse DCT processing to become an output image D out.
  • the present invention described in detail below relates to a configuration corresponding to the variable-length code decoding circuit 603 shown in FIG. 6A, and the present invention will be described in detail below.
  • FIG. 1 is a diagram showing an embodiment of a main part of a variable length code decoding circuit of the present invention.
  • This circuit consists of a CAM (Cntent Addressable Memory) cell 10 provided at the intersection of a bit line pair (BL1, inverted BL1) and a lead line WL, and a bit line pair (BL2, inverted BL1). 2) and a word line, and a RAM (Random Access Memory) cell 20 paired with the CAM cell 10 and a CAM cell 10 in response to the output of the RAM cell 20 And a switch (MOS transistor 30) for electrically connecting the match line ML to the match line ML.
  • CAM Content Addressable Memory
  • the CAM cell 10 includes a data storage unit for storing codes constituting a variable length code, and a data collation unit for outputting a collation result between a code given from a bit line pair and a code stored in the data storage unit. It is composed of a part and a part.
  • the data storage section has a flip-flop 11 (latch circuit) for storing a code constituting the variable length code, and a gate controlled by the potential of the connection line WL.
  • the NMOS 12 electrically connects one node of the flip-flop 1 to the bit line BL 1 and the other node of the flip-flop 11 having a gate controlled by the potential of the word line WL. It is composed of an NMO S 13 that electrically connects the bit line inversion BL 1.
  • the data collating unit is composed of NMOS14, NMOS15, NMOS16, and NMOS17 connected in series between bit line BL1 and bit line inversion BL1.
  • the gates of NMO S 14 and NMO S 17 are commonly connected to a match enable line MEL, and the gate of NMO S 15 is It is connected to one node of the flip-flop 11 and the gate of the NMOS 16 is connected to the other node of the flip-flop 11. Further, NMO S 15 and NMO S 16 are commonly connected to the matching result output node N 1.
  • the RAM cell 20 has a flip-flop 21 (latch circuit) as data storage means for storing mask data, and a gate controlled by the potential of the word line WL.
  • An NMOS 22 electrically connects one node to the bit line inversion BL 2, and the other node of the flip-flop 21 having a gate controlled by the potential of the read line WL. It consists of NMO S 23 that electrically connects bit line inversion BL 2
  • the matching result output FN 1 of the CAM cell 10 there is a gate controlled by the potential appearing at one node of the flip-flop 21, and the matching result output node NMO S is connected for 30 s to electrically connect N 1 and match line ML.
  • variable-length code decoding circuit of the present invention configured as described above will be described below.
  • NM ⁇ S 22 and NMOS 23 are turned on.
  • H level for example, VCC level
  • NM ⁇ S 22 and NMOS 23 are turned on.
  • the H level is given to the bit line BL 2 and the L level is given to the bit line inverted BL 2.
  • Data "1" is given to the bit line pair connected to the RAM cell.
  • the H-level potential of the bit line BL2 changes to the flip-flop 2 via the NM ⁇ S22. 1 and the L-level potential of the bit line BL2 is supplied to the other node of the flip-flop 21 via the NMOS 23.
  • flip 'flop 2 1 Means that the data "1" is stored.
  • bit line BL 2 to L level the bit line inversion BL 2
  • H level (de one data "0" Ca?, Bit line pairs connected to the RAM cells
  • the potential of the L level of the bit line BL2 is supplied to one node of the flip-flop 21 via the NMOS 22 and the H level of the bit line BL2 is inverted. Is applied to the other node of the flip-flop 21 via the NMOS 23. In other words, flip 'flop 21 stores data "0", contrary to the above.
  • the data storage section (flip flop 11, NMOS 12, NMOS 13) of the CAM cell 10 operates in the same manner as the RAM cell 20.
  • the difference between the CAM cell 10 and the RAM cell 20 is that the CAM cell 10 has a data collating unit.
  • the data storage unit stores data "1".
  • code data "1" forming a variable length code is applied to the bit line pair connected to the CAM cell 10, and at the same time, the potential of the match enable line MEL becomes Assume H level.
  • the output node N3 of the data storage unit is at the H level, NM ⁇ ⁇ ⁇ S15 is in the ON state.
  • NMOS14 since the potential of the match enable line MEL is at the H level, NMOS14 is also in the 0N state. Therefore, the H-level potential of the bit line BL1 is supplied to the comparison result output node N1 via NMOS14 and NMOS15.
  • the NMOS 16 is in the 0FF state. Therefore, the L-level potential of the bit line inversion BL1 is not supplied to the comparison result output node N1.
  • a variable length code is configured on the bit line pair connected to the CAM cell 10. It is assumed that code data "0" is given. Since the output node FN3 of the data storage unit is at the H level, NM ⁇ S15 is in the 0N state. Also, since the potential of the match enable line MEL is at the H level, the NMOS 14 is also in the ON state. Therefore, the L-level potential of the bit line BL1 is supplied to the comparison result output node N1 via NM ⁇ S14 and NMOS15. On the other hand, since the other potential of the flip-flop 11 is at the L level, the NM ⁇ S 16 is in the 0FF state. Therefore, the H-level potential of the bit line inverted BL 1 is not supplied to the comparison result output node N 1.
  • the flip-flop which is the output node N 2 of the RAM cell 20.
  • the potential of one node of the flip-flop 21 is at the H level (that is, the data stored in the RAM cell 20 is “1”).
  • the potential applied to the comparison result output node is applied to the match line ML.
  • the code data "1” is given to the bit line pair connected to the CAM cell 10
  • the potential of the match line ML becomes H level due to the H level potential of the comparison result output node N1.
  • the code data “0” is given to the bit line pair connected to the ⁇ 8 1 ⁇ cell 10
  • the potential of the match line ML becomes the L level of the comparison result output node N 1.
  • the CAM cell 10 outputs a matching result when the data supplied to the bit line pair connected to the CAM cell 10 and the data stored in the CAM cell 10 match. Outputs an H level, and if they do not match, outputs an L level.
  • the RAM cell 20 stores data "1" in advance when the operation result of the CAM cell 10 needs to be transmitted to the match line ML, and stores data "0" when unnecessary. Whether or not it is necessary to transmit the operation result of the CAM cell 10 to the match line ML is to store the code data in the CAM cell 10 Is sometimes determined. This will be described later.
  • variable length code decoding circuit of the present invention Next, an embodiment of the variable length code decoding circuit of the present invention will be described.
  • FIG. 2 is a diagram showing one embodiment of the variable-length code decoding circuit of the present invention.
  • This circuit includes a plurality of memory cell selection word lines WL (0) to WL (m-1), a plurality of match lines ML (0) to ML (m-1), and a plurality of match enable lines MEL. (0) to MEL (m-1), and bit line pairs BL1 (0) to BL1 (n-1) that intersect with these lead lines, match lines, and match enable lines.
  • FIG. 2 only one bit line pair is shown for ease of explanation. In practice, the bit lines are paired as shown in FIG.
  • each intersection of the lines there are a plurality of sets of CAM cells 10 (0, 0) to 10 (m ⁇ 1, n ⁇ 1) and RAM cells 20 (0, 0) to 20 (m ⁇ 1, n_ l) and a pair are arranged. And, between each CAM cell and the match line, the MOS transistors 30 (0, 0) to 30 (m-l, n-l) as switches controlled by the output of the RAM cell Is connected.
  • the arrangement of the CAM cells and the RAM cells in FIG. 2 is obtained by arranging a plurality of the CAM cells and the RAM cells described in FIG. 1 in an array.
  • Each CAM cell stores code data constituting a variable length code.
  • One variable length code is composed of a plurality of code data stored in a plurality of CAM cells corresponding to the same word line. The data stored in each RAM cell differs depending on whether the corresponding CAM cell requires a matching operation, as shown in FIG.
  • FIG. 3 is a diagram showing a variable length code table of the variable length code decoding circuit of the present invention shown in FIG.
  • each bit position indicates a position where each CAM cell (RAM cell) shown in FIG. 2 is arranged.
  • the "0" force s
  • the listed bit position code data storage of "0" to the CAM cell The bit position where "1” is described indicates that the code data "1” is stored in the CAM cell.
  • the bit position in which "X” is described indicates that the data of "0" is stored in the RAM cell, that is, the corresponding CAM cell regardless of the code data stored in the corresponding CAM cell. Indicates that the matching result output of is not given to the match line ML.
  • variable-length code "00001" stored in the first code is 5 bits, it is not necessary to perform the collation operation for the 6th bit and thereafter.
  • the first word is a method for performing a check on the variable-length code "00001”, so that it is meaningless to perform a check operation on the sixth and subsequent bits. Therefore, the RAM cells located after the 6th bit disable the output of the corresponding CAM cell. ⁇ (This means that the matching itself may be performed, but the matching result must not be output to the match line ML.) 2 ⁇ ⁇
  • the variable-length code "10" stored in the first dot is 2 bits. There is no need to perform the matching operation for the third and subsequent bits.
  • the second word is a word for collating with the variable-length code "10"
  • the variable-length code stored in the fourth word "1 1 1 1 1 1 1 1 1 1 Since 00 11 0 1 1 "has 16 bits, data" 1 "is stored in all the corresponding RAM cells so that the output of all CAM cells to the match line is valid.
  • each CAM cell is connected to match lines ML (0) to ML (m-1) via NMOSs 30 (0, 0) to 30 (m-1, n-1). ing. These NMOS 30 (0, 0) to 30 (m-1, nl) are controlled to be ON and FFFF by the output of the corresponding RAM cell. ing. A plurality of NMOSs 30 (0, 0) to 30 (0, n—1) corresponding to the same word line WL (0) are connected to one match line corresponding to the same word line WL (0). Wired-OR to ML (0) and connected to match line output circuit 80 (0). The same applies to the connection relationship between the match line ML and the match line output circuit for the other NMO S30s.
  • the plurality of read lines WL (0) to WL (m-1) are selected by an address decoder 40 that decodes the address signal Ai.
  • the address decoder 40 has an inverting input enable terminal OEZ for inputting the match enable signal EB.
  • Each bit line pair BL1 (0) to BL1 (n-1), BL2 (0) to BL2 (n-1) has a write circuit, a read circuit, and a CAM cell.
  • Input / output circuits 50 (0) to 50 (n-1) each having a selection circuit for selecting either the bit line pair or the bit line pair connected to the RAM cell are connected.
  • bit line pairs are connected to the power supply potential VCC via NMOS 61 (0) to 61 (n—1) and NMOS 62 (0) to 62 (n—l) for load. Is given. However, the driving capability of these load NMOSs is set small. Therefore, during data writing and data reading, the potential of the bit line pair cannot be changed by the load NMOS.
  • Each of the input / output circuits 50 (0) to 50 (n-1) has input / output terminals I 0 (0) to IO (n-1) for inputting and outputting data and control for controlling the input and output of data.
  • the control terminals CS to which the signal CS is applied are connected respectively.
  • the match enable lines MEL (0) to MEL (m-1) are commonly connected to a match enable terminal EB to which a match enable signal EB is supplied.
  • One end of each of the match lines ML (0) to ML (m-1) is supplied with the power supply potential VCC through the load NMOS 70 (0) to NMOS 70 (m-l). The other end is connected to match output terminals OUT (0) to OUT (m-1) via match line output circuits 80 (0) to 80 (m-1).
  • variable length code decoding circuit of the present invention configured as described above will be described in detail below with reference to FIGS.
  • variable-length code decoding circuit of the present invention is as follows: 1. Write a variable-length code as shown in FIG. 3 to each CAM cell and RAM cell, and write the remaining bit positions where the variable-length code is not written. The output of the corresponding CAM cell is invalidated (so-called mask processing). The variable length code writing operation is performed. 2. The matching operation is performed in which the variable length code is compared with the variable length code stored in the CAM cell.
  • the match enable signal EB is set to L level. Then, the level of the match enable lines MEL (0) to MEL (m-1) becomes the level, and a plurality of NMOS14 and NMOS17 in each CAM cell are turned off.
  • the NMO S14 and NMO S17 enters the 0FF state, the operation of the data collating unit in each CAM cell is prohibited. Therefore, each CAM cell operates as a normal RAM that does not perform a data collating operation.
  • the address decoder 40 When the match enable signal EB is set to L level, the address decoder 40 is enabled. The enabled address decoder 40 sets the potential of only one read line WL to the H level in response to the input address signal A i. (Only one word line WL is selected.) Next, when the control signal CS is set to the L level, the write circuit (not shown) in the input / output circuits 50 (0) to 50 (n ⁇ 1) is enabled. Become. A selection circuit (not shown) in the input / output circuits 50 (0) to 50 (n-1) selects the bit line pair BL1 (0) to BL1 (n-1) connected to the CAM cell. Ready to input the variable length code into the CAM cell I do.
  • the address signal A i is set so that the address decoder 40 selects the word line WL (1), and data “1” is input to the input / output terminal 10 (0) and input / output terminal 10 (1). Give data "0”. Then, the code data “1” is written to the CAM cell 10 (0, 0), and the code data “0” is written to the CAM cell 10 (0, 1).
  • a selection circuit in the input / output circuits 50 (0) to 50 (n ⁇ 1) connects the bit line pair BL 2 (0) to: BL 2 (n ⁇ 1) connected to the RAM cell.
  • the address signal A i is set so that the address decoder 40 selects the word line WL (1), and the mask data “1” is given to each of the input / output terminals I 0 (0) to I ⁇ (1).
  • the mask data “0” is given to the input / output terminals I 0 (2) to I 0 (15), respectively.
  • the mask data "0” is written into the RAM cells 10 (0, 0) to AM cells 10 (0, 1), and the RAM cells 10 (0, 2) to 10 (0, 1) are written. 5) is written with mask data "1".
  • variable-length code stored in the second word is “10”, and the code length is “2 bits” (16 bits one “1”).
  • G) means
  • a memory such as RAM is connected to the match output terminal OUT (1), and the code position corresponding to the match output terminal OUT (1) is a variable length code having a code length of "2 bits". The fact that "10" is stored is stored in this memory.
  • the above operation corresponds to the 2nd first dot in FIG.
  • variable length code and the mask data are written in each of the layers.
  • the match enable signal EB is set to the H level. Then, the operation of the address decoder 40 is disabled, and the address decoder 40 is connected to the address decoder 40.
  • the potentials of all the read lines WL (0) to WL (m-1) are set to L level. At the same time, the bit line pairs BL1 (0) to BL1 (n-1) and BL2 (0) to BL2 (n-1) become H level.
  • the write circuits (not shown) in the input / output circuits 50 (0) to 50 (n ⁇ 1) are enabled.
  • a selection circuit (not shown) in the input / output circuits 50 (0) to 50 (n-l) selects the bit line pair BL1 (0) to BL1 (n_l) connected to the CAM cell.
  • the preparation for inputting the variable length code to be decoded to the CAM cell is completed.
  • variable-length code data Di to be decoded in an infinite sequence as shown in FIG. 6 (B) is given to the input / output terminals I ⁇ (0) to I0 (15).
  • the variable-length code decoding circuit of this embodiment can decode a variable-length code of up to 16 bits. Therefore, the data Di up to the 16th bit counted from the top is given to the input / output terminals 10 (0) to 10 (15) at a time.
  • the 16-bit data Di is given to the input / output terminals I 0 (0) to I 0 (15)
  • the 16-bit data Di is applied to the bit line pair BL 1 (0). ⁇ BL 1 (n-1).
  • the first data "000 1" of the 16-bit data Di matches the data in the sixth word of the variable-length code table. You can see that.
  • the CAM cells 10 (5, 0) to 10 (5, 3) corresponding to the 6th mode of the variable-length code decoding circuit output an H level to each matching result output node. Becomes H level. As for other words, one of the CAM cells located in the same word outputs an L level, so that all the match lines ML are at an L level.
  • the match line output circuit 80 (5) outputs to the output terminal OUT (5) a detection signal indicating that the match line ML (5) has become H level.
  • the RAM not shown
  • the variable length code "0 00 1" of the code length "4 bits" is detected. This is notified to an external circuit described later.
  • the external circuit truncates the first decoded data.
  • an external circuit shifts the data D i to the left by the code length of the first data (4 bits) and re-shifts the shifted data to a variable length code. It is given to the input / output terminals I 0 (0) to I ⁇ (15) of the decoding circuit.
  • this data Di is given to the input / output terminals 10 (0) to 10 (15), it is given to the bit line pair BL1 (0) to BL1 (n-1) as before. Since all the CAM cells are connected to the bit line pair B L1 (0) to B L1 (n-1), all the CAM cells simultaneously start the collation operation with the data Di.
  • the second data “0 10” of this data Di matches the data of the third word of the variable length code table.
  • the match line ML2 becomes H level.
  • any one of the CAM cells located in the same row outputs the L level, so that all the match lines ML are at the L level.
  • the match line output circuit 80 (2) outputs a detection signal to the output terminal OUT (2) to notify that the match line ML (2) has become H level.
  • the RAM not shown
  • a variable-length code "0 1 0" having a code length of "3 bits" was detected. This is notified to an external circuit described later.
  • variable length code decoding circuit of the present invention decodes an infinite sequence of variable length codes and their code lengths.
  • variable-length code decoding circuit of the present invention performs collation in the order from the storage circuit at the first code position to the storage circuit at the last code position in the collation operation of the input variable-length code. It means that it is faster than any other circuit.
  • a control circuit that inhibits the output operation of the storage circuit that stores variable-length codes is provided for each storage circuit, so that the code length is detected simultaneously with the collation operation. It is possible to do.
  • the fact that the code length can be detected simultaneously with the collation operation eliminates the need to add the code length of each input variable-length code data. Therefore, compression of image data is further promoted, and as a result, an increase in the speed of image processing can be expected.
  • Ma since the truncation speed of the variable-length code that has already been collated can be increased, the speed of decoding the variable-length code can be expected to increase as a result.
  • variable-length code decoding system Next, an embodiment of a variable-length code decoding system according to the present invention will be described with reference to FIGS.
  • FIG. 4 is a circuit diagram showing one embodiment of the variable-length code decoding system of the present invention.
  • the variable-length code decoding circuit 4 17 is the above-described variable-length code decoding circuit, and the RAM 4 15 connected to the output of the variable-length code decoding circuit 4 17 is shown in FIG. This is the RAM described earlier as RAM.
  • the variable-length code decoding system according to the present invention shifts stored data in response to a variable-length code decoding section 4 13 and a shift signal (instruction) input to the shift terminal S.
  • First and second shifters 401 and 400 for latching and outputting data, a latch circuit and latch circuit for latching data in response to a clock signal, and a variable length code decoding unit. It is composed of an adder circuit 407 that adds the shift instruction S 415 output from 413 and the shift instruction output from the latch circuit 411, and a reset circuit 409. .
  • the first shifter 401 is supplied with, for example, 16-bit variable length code data Di. And is this first shifter 401 a shift instruction S411? The variable length code data D i is shifted in response to the indicated shift amount. Further, the first shifter 401 outputs the shifted data Di as data S401 to the second shifter.
  • the data S401 output from the first shifter s is given to the second shifter 403. Then, the second shifter 403 responds to the shift amount indicated by the shift instruction S 415 (at the time of initialization, responds to the output S 409 of the reset circuit 409). 0 Shift 1 Further, the second shifter 403 outputs the shifted data as data S 403 to the latch circuit 405. Power.
  • the latch circuit 405 latches the data S 403 output by the second shifter in response to the clock signal, and uses the latched data as data S 405 as a variable-length code decoding circuit 4 17 Output to the input / output terminal.
  • the RAM 415 detects the collated variable-length code and its code length as described above. In this variable-length code decoding system, the RAM 415 outputs the code length of the collated variable-length code as a shift instruction S 415.
  • the latch circuit 411 latches the shift instruction S 407 output by the adder circuit 407 in response to the clock signal, and treats the latched instruction as a shift instruction 411 as the first shifter 410. Output to 1.
  • FIG. 5 (A) is a diagram showing input variable-length code data D i.
  • FIG. 5B is a time chart showing the operation of the variable-length code decoding system of the present invention.
  • the operation of the variable length code decoding system shown in FIG. 4 will be described with reference to FIGS. 5 (A) and 5 (B).
  • the shift instruction S411, which is the output thereof, is "0".
  • the latch circuit 411 gives the first shifter 410 a command to shift the data by 0 bits.
  • the reset circuit 409 outputs a shift instruction S409 of 0 in the initial state. Accordingly, the shift amount of the first shifter 401 and the second shifter 403 is zero. In addition, since the matching of the variable-length code is not currently performed, the description will proceed with the assumption that the shift instruction S4l5 is also 0.
  • variable-length code string (the first data of 4 bits and the second data of 3 bits') as shown in FIG. 0 Input to 1.
  • the first shift The data 401 shifts the variable-length code sequence by the amount (0 bits) specified by the shift instruction S411. Therefore, the first shifter 401 outputs the shift data S 4101 (000 1 0 10%) To the second shifter 403.
  • the output S401 of the first shifter 401 does not change unless the shift instruction S411 changes.
  • the shift instruction S411 changes only when the clock signal rises. Therefore, output S401 does not change during cycle T1.
  • the second shifter 403 sets the amount specified by the shift instruction S 415 (In the initial state, the reset signal is output from the reset circuit 409, The data S401 is shifted only by a shift amount of 0 bits, and the data S403 (00001101,%) Obtained by shifting the data S401 is latched by a latch circuit 4005. Output to
  • the latch circuit 405 latches the data S 403 in response to the rising edge of the clock signal, and stores the latched data S 403 in the data S 405 (0 00 1 0 1 0 ) To the variable-length code decoding unit 4 13.
  • the latch circuit 405 updates the data S405 in response to the rise of the clock signal. Therefore, data S405 does not change during cycle T1.
  • variable-length code decoding unit 413 Upon receiving the data S405, the variable-length code decoding unit 413 performs the above-described collation operation. (Match detection period) In the vicinity of the center of the cycle T1, the variable-length code decoding unit 413 outputs an instruction S415 indicating the code length of the variable-length code as the result of the comparison. In the cycle of T1, the variable-length code decoding unit 413 detected a variable-length code “00001” having a code length of “4 bits”. Then, the instruction S 415 for shifting the data by 4 bits, the input terminal A of the adder circuit 407 and the shift input terminal S of the second shifter are given. (The operation of the reset circuit 409 has already been cleared. Then, a shift instruction S 415 is given to the shift input terminal S of the second shifter 403 via the reset circuit 409. )
  • the second shifter 400 3 shifts the data (0 0 0 0 1 1%) Output at the beginning of T 1 by 4-bit data.
  • a certain S 403 (0 1 0 1 00 ⁇ ) is output to the latch circuit 405.
  • shift instruction S407 which is the output of adder circuit 407, is also shifted by four bits from the instruction to shift 0 bits in response to shift instruction S415. It changes to the instruction.
  • the output S401 of the first shifter 401 is a variable-length code sequence (0000) in which the currently decoded variable-length code (first data) is at the head. ), And the output S405 of the latch circuit 405 is also a variable-length code string (0 0) such that the variable-length code (first data) currently being decoded is at the top. 0 1...), And the output S 4 11 1 of the latch circuit 4 11 1 indicates the head position (0th bit counted from the initial state) of the currently decoded variable-length code.
  • the output 5403 of the second shifter 4003 is variable so that the variable length code (second data) to be decoded in the next cycle is the first one. Indicates a long code string (0 1 ⁇ ⁇ ⁇ ⁇ ).
  • the latch circuit 4111 latches the shift instruction S407 (an instruction to shift by 4 bits). Then, the latch circuit S411 outputs a shift instruction S411 to shift by 4 bits to the first shifter 401.
  • the first shifter 401 has four bits in response to the shift instruction S411. Shift the variable-length code string. Therefore, the first shifter 401 outputs the shift data S401 (0101010) to the second shifter 403.
  • the latch circuit 405 latches the data S 4 0 3 (0 1 0 1 0). Then, the latch circuit 405 outputs the latched data (0101%) To the variable-length code decoding unit 413 as data S405.
  • variable-length code decoding unit 413 Upon receiving the data S405, the variable-length code decoding unit 413 performs a collation operation. (Match detection period) In the vicinity of the center of the cycle T2, the variable-length code decoding unit 413 outputs an instruction S415 indicating the code length of the variable-length code as the result of the comparison. In the cycle of T2, the variable-length code decoding section 4 13 detected a variable-length code “0 10” having a code length of “3 bits”. Then, the instruction S 415 for shifting the data by 3 bits, the input terminal A of the adder circuit 407 and the shift input terminal S of the second shifter are given.
  • the second shifter 403 is a data obtained by shifting the data (0100100) output at the beginning of T2 by 3 bits in response to the shift instruction S415. Output S 4 0 3 (1 0 0 0 0 ⁇ ) to the latch circuit 4 0 5.
  • the adder circuit 407 adds the command to the input terminal B for shifting by 4 bits and the command to the input terminal A to shift by 3 bits, and
  • the instruction S 407 for performing a bit shift is output to the latch circuit 411.
  • the output S401 of the first shifter 401 is a variable-length code sequence (0110) in which the currently decoded variable-length code (second data) is at the head.
  • the output S405 of the latch circuit 405 is also A (0 10 ⁇ ⁇ ⁇ ⁇ ) variable-length code string in which the variable-length code (second data) currently being decoded is at the top, and the output S 4 1 1 of the latch circuit 4 1 1 is Indicates the beginning position (4th bit counted from the initial state) of the variable-length code currently being decoded.
  • the output S403 of the second shifter 403 is a variable length code (third data) to be decoded in the next cycle. Indicates a long code string (10 ⁇ ⁇ ⁇ ⁇ ).
  • the latch circuit 411 latches a shift instruction S407 (an instruction to shift 7 bits). Then, the latch circuit S411 outputs a shift instruction S411 to shift by 7 bits to the first shifter 401.
  • the first shifter 401 shifts the variable-length code string by 7 bits in response to the shift instruction S411. Therefore, the first shifter 401 outputs the shift data S 410 (100 000-) to the second shifter 403.
  • the latch circuit 405 Latches the data S 403 (100 000). Then, the latch circuit 405 outputs the latched data (100 000%) To the variable-length code decoding unit 413 as data S405.
  • variable-length code decoding unit 413 Upon receiving the data S405, the variable-length code decoding unit 413 performs a collation operation. (Match detection period) In the vicinity of the center of cycle # 3, the variable-length code decoding unit 413 outputs an instruction S415 indicating the code length of the variable-length code that is the comparison result. In the cycle of No. 3, the variable-length code decoding unit 413 detected a variable-length code “10” having a code length of “2 bits”. You That the instruction to spill 2 bits Toshifu DOO data S 4 1 5 force J, supplied to the input terminal A and a second shifter shifting the input terminal S of the adder circuit 4 0 7. The second shifter 403 responds to the shift instruction S 415 by shifting the data (100 000 ⁇ ' ⁇ ) output at the beginning of T 3 by two bits. A certain S 403 (0000 001) is output to the latch circuit 405.
  • the adder circuit 407 adds the 7-bit shift instruction given to the input terminal B and the 2-bit shift instruction given to the input terminal A.
  • the instruction S 407 for performing a bit shift is output to the latch circuit 411.
  • the output S401 of the first shift register 401 is a variable-length code sequence (100) in which the currently decoded variable-length code (third data) is the first one. ),
  • the output S405 of the latch circuit 405 is also the variable-length code string (1) in which the currently decoded variable-length code (third data) is at the top. ),
  • the output S411 of the latch circuit 411 indicates the head position (the seventh bit counted from the initial state) of the currently decoded variable-length code.
  • the output S 403 of the second shifter 403 is variable such that the variable length code (fourth data) to be decoded in the next cycle is at the top. It shows a long code string (0 0 0 0 0 1 ⁇ ).
  • variable length code decoding system of the present invention decodes the input variable length code sequence by repeating the above operations.
  • variable-length code decoding system of the present invention shifts the variable-length code sequence so that the variable-length code to be decoded in the next cycle comes first before the next cycle appears. Therefore, variable-length codes can always be decoded in one cycle. Therefore, display the image when restoring the image It can satisfy the display rates of TVs and displays. In other words, the correct image can be displayed on the screen. As a result, the processing speed of the image processing is increased.
  • variable length code decoding circuit of the present invention As described above, according to the variable length code decoding circuit of the present invention, the speed of detecting the contents of input data and the length of the data becomes higher.
  • variable length code decoding circuit of the present invention even when the order of the input data and the length of the data are undefined, the speed of detecting the content of the input data and the length of the data is higher. Be faster.
  • variable length code decoding system of the present invention it is possible to always decode data input in one cycle. Therefore, as a result, the processing speed of image processing becomes higher.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

明細書 可変長符号復号化回路およびそれを用いた可変長符号復号化システム 技術分野
本発明は、 圧縮された画像データ等の可変長符号を復号化する可変長 符号複号化回路およびそれを用いた可変長符号複号化システムに関する ものである。 背景技術
従来、 可変長符号の復号化に関する技術として、 以下の文献に示され るようなものがあった。
文献: IEEE 1992 Custom Integrated Circuits Conference, "A Video-Rate, JPEG Chip Set" P26. 2. 1-26. 2. 4. , Daniel A. Luthi, Po Tong, Peter A. Ruetz.
この文献には、 画像データを圧縮または圧縮された画像データを復元 する手法として、 可変長符号を使用する技術が記載されている。
可変長符号は、 画像データに対してフーリエ余弦変換 (Discrete Cosine Transform, 以下 D C Tとする。 ) 処理、 量子化処理といった算術的な演算 処理を施した後のパラメータの発生頻度に応じて割り当てられた符号で ある。 つまり、 発生頻度が高いパラメータには短い符号が与えられ、 発 生頻度が低いパラメ一タには長い符号が割り当てられる。 以上のよう に、 符号の長さを可変にすることによ り、 全体の符号の数を減らすこと ができるので、 画像データの圧縮率の向上が実現できる。
動画像を復元する場合、 デレビやディスプレイの画像表示レートを守 る必要があるため、 以上のような可変長符号は、 常に一定のレー トで復 号される必要がある。 実際には、 1 クロックサイクルで 1つの可変長符 号が復号されることが望ましい。 画像データの処理速度の高速化が要求 されている近年において、 可変長符号の復号速度を向上させることは、 画像データの処理速度の高速化を実現するための一手段として重要であ る o
本発明の目的は、 動作速度の高速化を実現した可変長符号復号化回路 を提供することである。
さらに本発明の他の目的は、 動作速度の高速化を実現した可変長符号 複号化システムを提供することである。 発明の開示
前記目的を達成するため、 本願発明は、 第 1のデータが与えられる データ線と、 このデータ線に接続され第 2のデータを記憶する記憶回路 であってこの第 1のデータと第 2のデータとを照合し照合結果を出力す る記憶回路と、 照合結果が与えられる照合結果出力線と、 記憶回路と照 合結果出力線との間に接続され制御信号に応答して照合結果が照合結果 出力線に出力されることを禁止するゲートと、 制御信号を出力する制御 回路とを設けたものである。
また前記目的を達成するために、 本願発明は、 第 1の可変長符号デー タが有する複数の第 1の符号データの各々が与えられる複数のデータ線 と、 この複数のデータ線に各々接続され第 2の可変長符号デ—タが有す る複数の第 2の符号データの各々を記憶する複数の記憶回路であって第 1の符号データと第 2の符号デ一タとを照合し照合結果を出力する複数 の記憶回路と、 照合結果が与えられる照合結果出力線と、 複数の記憶回 路と照合結果出力線との間に各々接続され各々が制御信号に応答して照 合結果が照合結果出力線に出力されることを禁止する複数のゲ一トと、 制御信号を出力する複数の制御回路とを設けたものである。
さらに前記目的を達成するために、 本願発明は、 第 1の可変長符号 データが有する複数の第 1の符号データの各々が与えられる複数のデ— タ線と、 この複数のデータ線に各々接続され第 2の可変長符号データが 有する複数の第 2の符号データの各々を記憶する複数の第 1の記憶回路 であって第 1の符号データと 2の符号データとを照合し第 1の照合結果 を出力する複数の第 1の記憶回路と、 第 1の照合結果が与えられる第 1 の照合結果出力線と、 複数の第 1の記憶回路と第 1の照合結果出力線と の間に各々接続され各々が第 1の制御信号に応答して第 1の照合結果が 第 1の照合結果出力線に出力されることを禁止する複数の第 1のゲ一ト と、 第 1の制御信号を出力する複数の第 1の制御回路と、 複数のデータ 線に各々接続され第 3の可変長符号データが有する複数の第 3の符号 データの各々を記憶する複数の第 2の記憶回路であって第 1の符号デ— タと第 3の符号データとを照合し第 2の照合結果を出力する複数の第 2 の記憶回路と、 第 2の照合結果が与えられる第 2の照合結果出力線と、 複数の第 2の記憶回路と第 2の照合結果出力線との間に各々接続され、 各々が第 2の制御信号に応答して第 2の照合結果が第 2の照合結果出力 線に出力されることを禁止する複数の第 2のゲートと、 第 2の制御信号 を出力する複数の第 2の制御回路とを設けたものである。
さらに前記目的を達成するために、 本願発明は、 複数の可変長符号を 有する可変長符号列が与えられる入力ノードと、 この可変長符号列中の 1つの可変長符号を検出すると共にその符号長を示す第 1のデ一タを出 力する可変長符号復号化回路と、 クロック信号に応答して入カノ一ドに 与えられた可変長符号列中の可変長符号の位置を示す第 2のデータを ラッチして出力する第 1のラッチ回路と、 入力ノードに接続され第 1の データと第 2のデータとに応答して、 可変長符号復号化回路で復号化す べき可変長符号が先頭になるよう入力ノードに与えられた可変長符号列 中の可変長符号の位置をシフ トして出力する調整回路と、 ク口ック信号 に応答して調整回路の出力をラッチして可変長符号復号化回路へ出力す る第 2ラツチ回路とを設けたものである。 図面の簡単な説明
図 1は、 本発明の可変長符号複号化回路の要部の一実施例を示す回路 図である。
図 2は、 本発明の可変長符号復号化回路の一実施例を示す回路図であ る。
図 3は、 図 2に示す本発明の可変長符号復号化回路の可変長符号テー ブルの一実施例を示す図である。
図 4は、 本発明の可変長符号復号化システムの一実施例を示す回路図 である。
図 5は、 本発明の可変長符号複号化システムの動作を示すタ イム チャートである。
図 6は、 本発明の可変長符号回路および可変長符号複号化システムの 概要を示す図である。 発明を実施するための最良の形態
一般的な画像データの処理フローは、 例えば図 6 ( A ) に示すようなフ 口一である。 すなわち、 入力画像 D i nがフーリエ余弦変換(Discrete Cosine Transform、 以下 D C Tとする。 ) 処理され、 さらに量子化処理されて 可変長符号符号化回路 6 0 1へ送られる。 可変長符号符号化回路 6 0 1 は、 量子化処理されたデータを符号化処理し、 図 6 ( B ) に示すような圧 縮データ Dを出力する。 この圧縮データ Dは、 可変長符号複号化回路 6 0 3で復号化された後逆量子化処理され、 その後逆 DC T処理され出力 画像 D o u t となる。 以下に詳細に説明する本願発明は、 図 6 (A) に示 された可変長符号複号化回路 6 0 3に相当する構成に関するものであ 以下、 本願発明を詳細に説明する。
図 1は、 本願発明の可変長符号複号化回路の要部の一実施例を示す図 である。 この回路は、 ビッ ト線対 (B L 1、 反転 B L 1 ) とヮード線 WL との交差する点に設けられた C A M (Cntent Addressable Memory) セル 1 0 と、 ビッ ト線対 (B L 2、 反転 B L 2) とワード線との交差する点に設け られ、 CAMセル 1 0と対を構成する RAM (Random Access Memory) セ ル 2 0と、 RAMセル 2 0の出力に応答して CAMセル 1 0とマッチ線 MLとを電気的に導通させるスィツチ (MO S トランジスタ 3 0 ) とで構 成される。
CAMセル 1 0は、 可変長符号を構成する符号を記憶するデータ記憶 部と、 ビッ ト線対から与えられた符号とデータ記憶部が記憶している符 号との照合結果を出力するデータ照合部とで構成されている。
データ記憶部は、 可変長符号を構成する符号を記憶するフリ ップ - フ ロップ 1 1 (ラッチ回路) と、 ヮ一ド線 WLの電位に制御されるゲートを 有しフリ ップ . フロップ 1 1の一方のノードとビッ ト線 B L 1 とを電気 的に接続させる NMO S 1 2 と、 ワード線 WLの電位に制御されるゲー トを有しフリ ップ ' フロップ 1 1の他方のノードとビッ ト線反転 B L 1 とを電気的に接続させる NMO S 1 3とで構成されている。
データ照合部は、 ビッ ト線 B L 1 とビッ ト線反転 B L 1 との間に直列 に接続された NMO S 1 4、 NMO S 1 5、 NMO S 1 6、 NMO S 1 7とで構成されている。 NMO S 1 4 と NMO S 1 7のゲートは、 マツ チイネーブル線 ME Lに共通に接続され、 NMO S 1 5のゲートは、 フ リ ップ . フロップ 1 1の一方のノードに接続され、 NMO S 1 6のゲー トは、 フリ ップ · フロップ 1 1の他方のノ一ドに接続されている。 さら に NMO S 1 5と NMO S 1 6は、 照合結果出カノ一ド N 1に共通に接 続されている。
RAMセル 2 0は、 マスクデータを記憶するデータ記憶手段であるフ リップ . フロップ 2 1 (ラッチ回路) と、 ワード線 WLの電位に制御され るゲー トを有しフリ ップ ' フロップ 1 2の一方のノードとビッ ト線反転 B L 2とを電気的に接続させる NMO S 2 2と、 ヮード線 WLの電位に 制御されるゲートを有しフリ ップ ' フロップ 2 1の他方のノ一ドとビッ ト線反転 B L 2とを電気的に接続させる NMO S 2 3とで構成されてい る
さらに CAMセル 1 0の照合結果出カノ一 FN 1 とマッチ線 MLとの 間には、 フリ ップ ' フロップ 2 1の一方のノードに現れる電位に制御さ れるゲートを有し、 照合結果出力ノード N 1 とマッチ線 MLとを電気的 に接続させる NMO S 30力 s接続されている。
以上のように構成された本願発明の可変長符号復号化回路の要部の動 作を以下に説明する。
(RAMセル 20の動作)
まずワード線 WLが Hレベル (例えば、 VCCレベルである。 ) になる と、 NM〇 S 22および NMO S 2 3は ON状態になる。 この時、 ビッ ト線 B L 2に Hレベル、 ビッ ト線反転 B L 2に Lレベルが与えられてい るとする。 (データ" 1 "が、 RAMセルに接続されたビッ ト線対に与え られている。 ) すると、 ビッ ト線 B L 2の Hレベルの電位が NM〇 S 22 を介してフリ ップ ' フロップ 2 1の一方のノードに与えられ、 ビッ ト線 反転 B L 2の Lレベルの電位が NMO S 2 3を介してフリ ップ ' フロッ プ 2 1の他方のノ一ドに与えられる。 つま り、 フリ ップ ' フロップ 2 1 は、 デ一タ" 1 " を記憶したことになる。 一方、 ビッ ト線 B L 2に Lレべ ル、 ビッ ト線反転 B L 2に Hレベルが与えられているとすると、 (デ一 タ" 0"カ?、 RAMセルに接続されたビッ ト線対に与えられている。 ) ビッ ト線 B L 2の Lレベルの電位が NMO S 22を介してフリ ップ ' フ ロップ 2 1の一方のノー ドに与えられ、 ビッ ト線反転 B L 2の Hレベル の電位が NMO S 23を介してフリ ップ ' フロップ 2 1の他方のノード に与えられる。 つまり、 先とは反対にフリ ップ ' フロップ 2 1は、 デー タ" 0" を記憶したことになる。
(CAMセル 1 0の動作)
この CAMセル 1 0のデータ記憶部 (フリップ ' フロップ 1 1、 NMO S 1 2、 NMOS 1 3) は、 RAMセル 20と同様の動作をする。 この C AMセル 1 0と RAMセル 2 0との違いは、 C AMセル 1 0がデータ照 合部を有していることである。
今、 仮にデータ記憶部がデータ" 1" を記憶しているとする。 ワード線 WLの電位が Hレベルになった時、 CAMセル 1 0に接続されたビッ ト 線対に可変長符号を構成する符号データ" 1 "が与えられ、 同時にマッチ ィネーブル線 ME Lの電位が Hレベルであると仮定する。 データ記憶部 の出カノ一ドであるノ一ド N 3は Hレベルであるので、 NM〇 S 1 5は ON状態である。 また、 マッチイネ一ブル線 ME Lの電位は Hレベルで あるので、 NMO S 1 4も 0 N状態である。 したがって、 ビッ ト線 B L 1の Hレベルの電位は、 NMO S 1 4、 NMO S 1 5を介して照合結果 出力ノード N 1に与えられる。 一方、 フリ ップ ' フロップ 1 1の他方の 電位は Lレベルであるので、 NMO S 1 6は 0 F F状態である。 した がって、 ビッ ト線反転 B L 1の Lレベルの電位は、 照合結果出力ノー ド N 1に与えられない。
次に、 CAMセル 1 0に接続されたビッ ト線対に可変長符号を構成す る符号データ" 0"が与えられたと仮定する。 デ一タ記憶部の出力ノード であるノ一 FN 3は Hレベルであるので、 NM〇 S 1 5は 0 N状態であ る。 また、 マツチイネーブル線 ME Lの電位は Hレベルであるので、 N MO S 1 4 も ON状態である。 したがって、 ビッ ト線 B L 1の Lレベル の電位は、 NM〇 S 1 4、 NMO S 1 5を介して照合結果出カノ一 ド N 1に与えられる。 一方、 フリ ップ ' フロップ 1 1の他方の電位は Lレべ ルであるので、 NM〇 S 1 6は 0 F F状態である。 したがって、 ビッ ト 線反転 B L 1の Hレベルの電位は、 照合結果出カノ一ド N 1 に与えられ ない。
ここで、 R A Mセル 2 0の出力ノード N 2であるフリ ップ . フロップ 2 1の一方のノードの電位が Hレベルである (すなわち、 R AMセル 2 0 が記憶しているデータが" 1 "である) とすると、 NMO S 3 0は ON状 態になるので、 照合結果出力ノー ドに与えられた電位が、 マッチ線 ML に与えられる。 CAMセル 1 0に接続されたビッ ト線対に符号データ" 1 "が与えられた場合、 マッチ線 MLの電位は、 照合結果出力ノード N 1 の Hレベルの電位によって Hレベルになる。 一方、 〇八1^セル 1 0に接 続されたビッ ト線対に符号デ一タ" 0 "が与えられた場合、 マッチ線 M L の電位は、 照合結果出カノ一 ド N 1の Lレベルの電位によって Lレベル になる。 つまり、 CAMセル 1 0は、 CAMセル 1 0に接続されたビッ ト線対に与えられたデータと、 C AMセル 1 0に記憶されたデータとが 一致している時照合結果出カノ一ドから Hレベルを出力し、 不一致の時 Lレベルを出力する。
RAMセル 2 0は、 CAMセル 1 0の動作結果をマッチ線 M Lに伝え る必要がある場合には、 あらかじめデータ" 1 " を記憶し、 不必要なとき はデータ" 0" を記憶する。 CAMセル 1 0の動作結果をマッチ線 MLに 伝える必要があるか否かは、 CAMセル 1 0に符号データを記憶させる 時に決定される。 この点については後述する。
次に、 本願発明の可変長符号複号化回路の一実施例を説明する。
図 2は、 本願発明の可変長符号複号化回路の一実施例を示す図であ る。 この回路は、 複数のメモリセル選択用ワード線 WL (0)〜WL (m 一 1 ) と、 複数のマッチ線 ML (0)〜ML (m— 1 ) と、 複数のマッチ イネ一ブル線 M E L (0)〜ME L (m- 1 ) と、 これらヮ一ド線、 マッ チ線およびマッチイネ一ブル線と交差配置されたビッ ト線対 B L 1 ( 0 ) 〜B L 1 (n— 1 ) 、 B L 2 (0) 〜B L 2 (n— l ) とを有している。 (図 2において、 各ビッ ト線対は説明を容易にするため 1本のみ記載して いる力 ^ 実際にはビッ ト線は図 1のように対になっている。 ) そして、 こ れらの線の各交差部には、 複数組の CAMセル 1 0 (0, 0)〜 1 0 (m - 1 , n— 1 ) と RAMセル 2 0 (0, 0) 〜20 (m— 1, n_ l ) と の対が配置されている。 そして各 CAMセルとマッチ線との間には、 R AMセルの出力によつて制御されたスィツチとしての MO S トランジス タ 3 0 (0, 0) 〜 3 0 (m— l, n— l )が接続されている。 図 2にお ける CAMセルと RAMセルの配置は、 図 1において説明した CAMセ ルと RAMセルとの構成をアレイ状に複数配置したものである。
各 CAMセルには、 可変長符号を構成する符号データが記憶されてい る。 1つの可変長符号は、 同一のワード線に対応する複数の CAMセル に記憶された複数の符号データで構成されている。 各 RAMセルに記憶 されるデータは、 図 3に示すように、 対応する CAMセルが照合動作を 必要とするか否かで異なる。
図 3は、 図 2に示す本発明の可変長符号復号化回路の可変長符号テ— ブルを示す図である。 図 3において、 各ビッ ト位置は、 図 2に示す各 C AMセル (RAMセル) が配置された位置を示している。 そして" 0 "力 s 記載されているビッ ト位置は、 CAMセルに" 0"の符号データが記憶さ れていることを示し、 " 1 "が記載されているビッ ト位置は、 CAMセル に" 1 "の符号データが記憶されていることを示している。 " X"が記載 されているビッ ト位置は、 RAMセルに" 0"のデータが記憶されている ことを示す、 すなわち、 対応する CAMセルに記憶された符号データに 関わらず、 対応する CAMセルの照合結果出力がマッチ線 MLに与えら れないことを示す。 例えば、 1ヮード目に記憶された可変長符号" 000 0 1"は 5ビッ トであるので、 6ビッ ト目以降に関しては照合動作を行う 必要がない。 つまり 1ワード目は、 可変長符号" 0000 1 " に対する照 合を行うヮ一ドなので、 6ビッ ト目以降に関しては照合動作を行っても 意味がない。 従って、 6ビッ ト目以降に位置する RAMセルは、 対応す る C AMセルの出力を無効にしている。 · (照合自体を行っても良いが、 マッチ線 MLに照合結果を出力してはいけないという意味である。 ) 2 ヮ一ド目に記憶された可変長符号" 1 0"は 2ビッ トであるので、 3ビッ ト目以降に関しては照合動作を行う必要がない。 つまり 2ワード目は、 可変長符号" 1 0" に対する照合を行うワードなので、 3ビッ ト目以降に 関しては照合動作を行っても意味がない。 従って、 3ビッ ト目以降に位 置する RAMセルは、 対応する CAMセルの出力を無効にしている。 (照 合自体を行っても良いが、 マッチ線 MLに照合結果を出力してはいけな いという意味である。 ) 4ワード目に記憶された可変長符号" 1 1 1 1 1 1 1 1 00 1 1 0 1 1 "は、 1 6ビッ トあるので、 すべての C AMセルの マツチ線への出力が有効になるように、 対応する RAMセルすべてに データ" 1 "が記憶されている。
各 CAMセルの照合結果出カノ一ドは、 NMOS 30 (0, 0) 〜30 (m- 1, n - 1 ) を介してマッチ線 ML (0) 〜ML (m— 1 ) に接続さ れている。 この NMO S 30 (0, 0) 〜 3 0 (m— 1, n— l ) は、 対 応する R AMセルの出力によって、 ON、 〇 F F制御されるようになつ ている。 そして同一ヮ一 ド線 WL ( 0 ) に対応する複数の NMO S 3 0 (0, 0) 〜 30 (0, n— 1 ) は、 同一ワード線 WL (0) に対応する一 本のマッチ線 ML (0) にワイヤー ド ORされ、 マッチ線出力回路 80 (0) に接続されている。 他の NMO S 30に関するマッチ線 MLとマツ チ線出力回路との接続関係も同様である。
複数のヮード線 WL (0) 〜WL (m- 1 ) は、 ァドレス信号 A i をデ コードするア ドレスデコーダ 4 0によつて選択される。 ア ドレスデコー ダ 4 0は、 マッチイネ一ブル信号 E Bを入力する反転ァゥ トプッ トイ ネ一ブル端子 OEZを有している。 各ビッ ト線対 B L 1 ( 0 ) 〜 B L 1 (n— 1 ) 、 BL 2 (0) 〜BL 2 (n— 1 ) には、 書き込み回路、 読み出 し回路および C AMセルに接続されたビッ ト線対か RAMセルに接続さ れたビッ ト線対かのいずれか一方を選択する選択回路とを有する入出力 回路 50 (0) 〜 50 ( n - 1 )がそれぞれ接続されている。 さらにこれ らのビッ ト線対には、 負荷用の NMO S 6 1 (0) 〜 6 1 (n— 1 ) 、 N MO S 62 (0) 〜 62 (n— l ) を介して電源電位 V C Cが与えられて いる。 但し、 これら負荷用の NMO Sの駆動能力は小さく設定されてい る。 したがって、 データ書き込み時おょぴデータ読み出し時において、 ビッ ト線対の電位が負荷用の NMO Sによって変化させられることはな レ 。
各入出力回路 50 (0) 〜 50 (n - 1 ) には、 データの入出力を行う 入出力端子 I 0 (0) 〜I O (n— 1 ) およびデータの入出力の制御を行 う制御信号 C Sが与えられる制御端子 C Sがそれぞれ接続されている。 マッチイネ一ブル線 M E L ( 0 ) 〜M E L (m— 1 ) は、 マッチイネ一ブ ル信号 E Bが与えられるマッチイネ一ブル端子 E Bに共通に接続されて いる。 マッチ線 ML ( 0 ) 〜ML (m- 1 ) の一端は、 負荷用の NMO S 7 0 (0) 〜NMO S 7 0 (m— l ) を介して電源電位 V C Cが与えら れ、 他端は、 マッチ線出力回路 80 (0) 〜 80 (m— 1 ) を介してマツ チ出力端子 OUT (0) 〜OUT (m- 1 ) に接続されている。
以上のように構成された本願発明の可変長符号復号化回路の動作を図 2及び図 3を用いて以下詳細に説明する。
本願発明の可変長符号復号化回路の動作は、 1. 各 CAMセルおよび RAMセルに対して図 3に示すような可変長符号を書き込むとともに、 可変長符号が書き込まれない残りのビッ ト位置に対応する CAMセルの 出力を無効にする (いわゆるマスク処理) 可変長符号書き込み動作、 2. 可変長符号と CAMセルに記憶された可変長符号との照合を行うマッチ ング動作とからなる。
1. 可変長符号書き込み動作
まず、 マッチイネ一ブル信号 E Bを Lレベルにする。 すると、 マッチ イネ一ブル線 ME L (0) 〜ME L (m— 1 ) が レベルになり、 各 C A Mセル内の複数の NMO S 1 4、 NMO S 1 7が OFF状態になる。 各 NMO S 1 4、 NMO S 1 7が 0 F F状態になると、 各 CAMセル内の データ照合部の動作が禁止される。 従って、 各 CAMセルはデータの照 合動作を行わない通常の RAMとして動作する。
またマッチイネ一ブル信号 EBを Lレベルにすると、 ア ドレスデコ一 ダ 4 0がイネ一ブルになる。 イネ一ブルとなったア ドレスデコーダ 4 0 は、 入力されたア ドレス信号 A i に応答して、 ただ 1本のヮード線 W L の電位を Hレベルにする。 (ただ 1本のワード線 WLを選択する。 ) 次に、 制御信号 C Sを Lレベルにすると、 入出力回路 50 (0) 〜 50 (n— 1 ) 内の図示しない書き込み回路がイネ一ブルになる。 そして、 こ の入出力回路 50 (0) 〜 50 (n— 1 ) 内の図示しない選択回路が C A Mセルに接続されたビッ ト線対 B L 1 (0) 〜B L 1 (n— 1 ) を選択す るように動作させると、 CAMセルに可変長符号を入力する準備が完了 する。 ここで例えば、 ア ドレスデコーダ 4 0がワード線 WL (1 ) を選択 するようにァドレス信号 A i を設定し、 入出力端子 10 ( 0 ) にデータ" 1 " を入出力端子 10 ( 1 ) にデータ" 0"与える。 すると、 CAMセル 1 0 (0, 0) に符号データ" 1 "が書き込まれ、 CAMセル 1 0 (0, 1) に符号データ" 0"が書き込まれる。
次に、 この入出力回路 50 (0) 〜 50 (n— l ) 内の図示しない選択 回路が RAMセルに接続されたビッ ト線対 B L 2 (0) 〜: B L 2 (n— 1 ) を選択するように動作させると、 RAMセルにマスクデータを入力す る準備が完了する。 ここで、 ア ドレスデコーダ 40がワード線 WL (1 ) を選択するようにァドレス信号 A i を設定し、 入出力端子 I 0 (0) 〜 I 〇 ( 1 ) に各々マスクデータ" 1 " を与え、 入出力端子 I 0 (2) 〜 I 0 ( 1 5) に各々マスクデータ" 0" を与える。 すると、 RAMセル 1 0 (0, 0) 〜: AMセル 1 0 (0, 1 ) にマスクデータ" 0 "が書き込ま れ、 RAMセル 1 0 (0, 2) 〜RAMセル 1 0 (0, 1 5) にマスク データ" 1 "が書き込まれる。
以上の動作は、 2ワード目に記憶された可変長符号は" 1 0"であり、 その符号長が" 2ビッ ト" ( 1 6ビッ ト一" 1 " のマスクデータが記憶さ れたビッ ト) であることを意味する。 また、 マッチ出力端子 OUT ( 1 ) に R AM等のメモリを接続し、 マッチ出力端子 OUT ( 1 ) に対応する ヮ—ド位置には、 符号長が" 2ビッ ト"である可変長符号" 1 0"が記憶 されていることをこのメモリに記憶させておく。 以上の動作は、 図 3の 2ヮ一ド目に対応するものである。
同様にして、 各ヮ一ドに可変長符号およびマスクデータを書き込む。 2. マツチング動作
まずマツチイネーブル信号 EBを Hレベルにする。 すると、 アドレス デコーダ 4 0が動作禁止状態になり、 ア ドレスデコーダ 4 0に接続され た全てのヮード線 WL (0 ) 〜WL (m- 1 ) の電位が Lレベルになる。 同時にビッ ト線対 B L 1 ( 0 )〜 B L 1 ( n— 1 )、 B L 2 ( 0 ) 〜 B L 2 (n— 1 ) が Hレベルになる。
次に、 制御信号 C Sを Lレベルにすると、 入出力回路 50 (0) 〜 50 (n— 1 ) 内の図示しない書き込み回路がイネ一ブルになる。 そして、 こ の入出力回路 50 (0) 〜 50 (n— l ) 内の図示しない選択回路が C A Mセルに接続されたビッ ト線対 B L 1 (0) 〜B L 1 (n_ l ) を選択す るように動作させると、 CAMセルに復号化すべき可変長符号を入力す る準備が完了する。
そこで例えば、 図 6 (B) に示すような無限列の複号化すべき可変長符 号データ D iが入出力端子 I〇 (0) 〜 I 0 ( 1 5) に与えられる。 本実 施例の可変長符号復号化回路は、 最大 1 6ビッ トの可変長符号が復号で きるものである。 したがって、 先頭から数えて 1 6番目のビッ トまでの データ D iが 1度に入出力端子 10 (0) 〜 10 ( 1 5) に与えられる。 1 6ビッ トのデータ D iが、 入出力端子 I 0 (0) 〜 I 0 ( 1 5) に与え られると、 この 1 6ビッ トのデータ D iは、 ビッ ト線対 B L 1 ( 0 ) 〜 B L 1 ( n - 1 ) に与えられる。 全ての CAMセルがビッ ト線対 B L 1 (0) 〜: B L 1 (n - 1 ) に接続されているので、 全ての CAMセルが 1 6ビッ トのデータ D i との照合動作を同時に開始する。 そして、 CAM セルに記憶された符号データと入力されたデータとがー致した場合、 対 応するマッチ線に Hレベルを出力し、 不一致の場合 Lレベルを出力す る。 同一ワードにおいて、 1つでも不一致が検出されると、 マッチ線 M Lは Lレベルになる。 また、 " 0"のマスクデータを記憶している RAM セルに対応する CAMセルは、 マツチ線 MLから電気的に切り放されて いるので、 実際に照合結果を出力する CAMセルは、 " 1 "のマスクデ一 タを記憶している RAMセルに対応する CAMセルのみである。 図 3の可変長符号テ一ブルを参照すると、 1 6ビッ トのデータ D iの うちの第 1のデータ" 000 1 "せ、 可変長符号テーブルの 6ワー ド目の データと一致していることがわかる。 可変長符号復号化回路の 6ヮー ド 目に対応する CAMセル 1 0 ( 5, 0) 〜 1 0 (5, 3) は、 各照合結果 出力ノードに Hレベルを出力するので、 マッチ線 ML 5は Hレベルにな る。 その他のワードに関しては、 同一ワー ドに位置する CAMセルのう ちいずれか 1つの C AMセルが Lレベルを出力するので、 マッチ線 ML は全て Lレベルになる。
マッチ線出力回路 80 (5) は、 出力端子 OUT (5) にマッチ線 ML (5)が Hレベルになったことを知らせる検出信号を出力する。 出力端子 OUT (5) に接続された図示しない RAMは、 出力端子 OUT (5) が 出力した検出信号を受信すると、 コ一ド長" 4ビッ ト"の可変長符号" 0 00 1"が検出されたことを後述する外部の回路に知らせる。
可変長符号" 000 1 " に続く可変長符号を復号化するために、 外部の 回路は、 すでに復号化した第 1のデータを切り捨てる。 第 1のデータを 切り捨て,るための手段として、 外部の回路は第 1のデータの符号長分(4 ビッ ト) データ D i を左にシフトさせ、 このシフトさせたデータを再び可 変長符号復号化回路の入出力端子 I 0 (0) 〜 I〇 ( 1 5) に与える。 こ のデータ D iが入出力端子 10 (0) 〜 10 (1 5) に与えられると、 先 と同様、 ビッ ト線対 B L 1 (0) 〜BL 1 (n— 1 ) に与えられる。 全て の CAMセルがビッ ト線対 B L 1 (0) 〜B L 1 (n— 1 ) に接続されて いるので、 全ての C AMセルがこのデータ D i との照合動作を同時に開 始する。
図 3の可変長符号テーブルを参照すると、 このデータ D iのうちの第 2のデータ" 0 1 0 "力、 可変長符号テーブルの 3ワード目のデータと一 致していることがわかる。 可変長符号複号化回路の 3ヮ一ド目に対応す る CAMセル 1 0 (2 , 0) 〜 1 0 (2, 1 ) は、 各照合結果出力ノード に Hレベルを出力するので、 マッチ線 ML 2は Hレベルになる。 その他 のワードに関しては、 同一ヮ一ドに位置する C AMセルのうちいずれか 1つの CAMセルが Lレベルを出力するので、 マッチ線 MLは全て Lレ ベルになる。
マッチ線出力回路 8 0 (2) は、 出力端子 OUT (2) にマッチ線 ML (2) が Hレベルになったことを知らせる検出信号を出力する。 出力端子 OUT (2) に接続された図示しない RAMは、 出力端子 OUT (2) が 出力した検出信号を受信すると、 コード長" 3ビッ ト"の可変長符号" 0 1 0"が検出されたことを後述する外部の回路に知らせる。
以上のような動作を繰り返し、 本願発明の可変長符号復号化回路は、 無限列の可変長符号およびその符号長を復号化していく。
以上の動作において特に注目すべき点が 2点存在する。 照合動作時にお いて、 可変長符号を記憶している記憶回路の全てが、 対応するビッ ト線 に接続されるので、 入力される可変長符号に対応する可変長符号を記憶 している記憶回路のヮード位置に関わらず照合動作速度は一定であると いう点である。 すなわち、 本願発明の可変長符号復号化回路は、 入力さ れる可変長符号の照合動作において、 最初のヮ—ド位置にある記憶回路 から最後のヮード位置にある記憶回路に至るまで順に照合していく よう な回路と比較して、 よ り高速であるということを意味する。 さらに、 注 目すべき点は、 可変長符号を記憶している記憶回路の出力動作を禁止す る制御回路を各記憶回路に対応させて設けたので、 照合動作と同時に符 号長をも検出することができるということである。 照合動作と同時に符 号長を検出できるということは、 入力する可変長符号の各データにその データの符号長を付与する必要がなくなる。 従って、 画像データの圧縮 がより促進され、 結果として画像処理の速度の高速化が期待できる。 ま た、 既に照合された可変長符号の切り捨て速度の高速化ができるので、 結果として可変長符号復号化の速度の高速化が期待できる。
次に、 本発明の可変長符号複号化システムの一実施例を図 4及び図 5 を用いて説明する。
図 4は、 本発明の可変長符号複号化システムの一実施例を示す回路図 である。 図 4において、 可変長符号復号化回路 4 1 7は上述した可変長 符号復号化回路であり、 その可変長符号複号化回路 4 1 7の出力に接続 されている R A M 4 1 5は、 図示しない R A Mとして先に説明した R A Mである。 本発明の可変長符号複号化システムは、 可変長符号複号化部 4 1 3と、 シフト端子 Sに入力されるシフ ト信号 (命令) に応答して、 格 納されているデータをシフトして出力する第 1のシフタ 4 0 1及び第 2 のシフタ 4 0 3 と、 クロック信号に応答してデータをラッチするラッチ 回路 4 0 5及びラツチ回路 4 1 1 と、 可変長符号復号化部 4 1 3から出 力されるシフ ト命令 S 4 1 5とラッチ回路 4 1 1から出力されたシフ ト 命令とを加算する加算回路 4 0 7と、 リセッ ト回路 4 0 9とから構成さ れる。
第 1 のシフタ 4 0 1には、 例えば 1 6ビッ トの可変長符号デ一タ D i が与えられる。 そしてこの第 1のシフタ 4 0 1はシフト命令 S 4 1 1力? 示すシフ ト量に応答して可変長符号データ D i をシフ トする。 さらに、 第 1 のシフタ 4 0 1 は、 シフ トされたデータ D i をデータ S 4 0 1 と し て第 2のシフタに出力する。
第 2のシフタ 4 0 3には、 第 1 のシフタが出力するデータ S 4 0 1力 s 与えられる。 そして、 第 2のシフタ 4 0 3はシフ ト命令 S 4 1 5が示す シフト量に応答して (初期化時は、 リセッ ト回路 4 0 9の出力 S 4 0 9に 応答する) データ S 4 0 1をシフトする。 さらに第 2のシフタ 4 0 3は、 このシフ トされたデ一夕をデータ S 4 0 3 としてラツチ回路 4 0 5に出 力する。
ラッチ回路 4 0 5は、 クロック信号に応答して第 2のシフタが出力し たデータ S 4 0 3をラッチし、 このラッチしたデータをデータ S 4 0 5 として可変長符号復号化回路 4 1 7の入出力端子に出力する。
RAM4 1 5は、 上述したように照合された可変長符号およびその符 号長を検出する。 この可変長符号復号化システムにおいて、 RAM4 1 5は、 照合された可変長符号の符号長をシフト命令 S 4 1 5として出力 する。
ラッチ回路 4 1 1は、 クロック信号に応答して加算回路 4 0 7が出力 したシフ ト命令 S 4 0 7をラッチするとともに、 このラッチした命令を シフト命令 4 1 1 として第 1のシフタ 4 0 1に出力する。
図 5 (A) は、 入力される可変長符号のデータ D i を示す図である。 そ して、 図 5 (B) は本発明の可変長符号複号化システムの動作を示すタイ ムチャートである。 以下、 図 4に示す可変長符号復号化システムの動作 を図 5 (A) 、 図 5 (B) を用いて説明する。
まず初期状態において、 ラツチ回路 4 1 1 はリセッ トされているの で、 その出力であるシフト命令 S 4 1 1は 0である。 (ラッチ回路 4 1 1 は、 データを 0ビッ トシフトせよという命令を第 1のシフタ 4 0 1に与 んる。 )
リセッ ト回路 4 0 9は初期状態においては 0のシフト命令 S 4 0 9を 出力している。 従って第 1のシフタ 4 0 1及び第 2のシフタ 4 0 3のシ フ ト量は 0である。 また、 現在可変長符号の照合を行っていないので、 シフト命令 S 4 1 5も 0であるとして話を進める。
以上のような初期状態において、 図 5の (A) に示すような可変長符号 列 ( 4ビッ トの第 1のデータ、 3ビッ トの第 2のデータ ' · · ) が第 1の シフタ 4 0 1に入力される。 クロック信号が立ち上がると、 第 1のシフ タ 4 0 1は、 シフト命令 S 4 1 1によって指定される量 (0ビッ ト) だけ 可変長符号列をシフ トする。 従って、 第 1のシフタ 4 0 1はシフ トデー タ S 4 0 1 (000 1 0 1 0 · · · ) を第 2のシフタ 4 0 3に出力する。 第 1のシフタ 4 0 1の出力 S 4 0 1は、 シフト命令 S 4 1 1が変化しな い限り変化しない。 一方シフ ト命令 S 4 1 1は、 クロック信号が立ち上 がったときにのみ変化する。 従って、 出力 S 4 0 1は、 サイクル T 1の 間変化しない。
サイクル T 1の初期において、 第 2のシフタ 4 0 3はシフ ト命令 S 4 1 5によって指定される量 (初期状態においては、 リセッ ト信号がリセッ ト回路 4 0 9から出力されているので、 シフト量は 0ビッ ト) だけデータ S 4 0 1 をシフ ト し、 このデータ S 4 0 1 をシフ ト したデータ S 4 0 3 (0 00 1 0 1 0 · · · ) をラツチ回路 4 0 5に出力する。
ラッチ回路 4 0 5は、 クロック信号の立ち上がりに応答して、 データ S 4 0 3をラッチし、 このラッチされたデータ S 4 0 3をデータ S 4 0 5 (0 00 1 0 1 0 · · · ) として可変長符号復号部 4 1 3へ出力する。 ラッチ回路 4 0 5は、 クロック信号の立ち上がりに応答して、 データ S 4 0 5を更新する。 従って、 データ S 4 0 5は、 サイクル T 1の間変化 しない。
可変長符号復号部 4 1 3は、 データ S 4 0 5を受信すると、 上述した ような照合動作を行う。 (一致検出期間) そして、 サイクル T 1の中心付 近において、 可変長符号復号部 4 1 3は、 照合結果である可変長符号の 符号長を示す命令 S 4 1 5を出力する。 この T 1のサイクルにおいて、 可変長符号復号部 4 1 3は、 符号長が" 4ビッ ト"の可変長符号" 0 0 0 1 " を検出した。 するとデータを 4ビッ トシフトせよという命令 S 4 1 5 、 加算回路 4 0 7の入力端子 Aおよび第 2のシフタのシフ ト入力端子 Sに与えられる。 (リセッ ト回路 4 0 9の動作は既にクリァされているの で、 第 2のシフタ 4 0 3のシフ ト入力端子 Sには、 リセッ ト回路 4 0 9 を介してシフ ト命令 S 4 1 5が与えられる。 )
第 2のシフタ 4 0 3は、 このシフ ト命令 S 4 1 5に応答して、 T 1の 初期に出力していたデータ (0 0 0 1 0 1 · · · ) を 4ビッ トシフトした データである S 4 0 3 ( 0 1 0 1 00 · · · ) をラツチ回路 4 0 5へ出力 する。
サイクル T 1の中心付近において、 加算回路 4 0 7の出力であるシフ ト命令 S 4 0 7 も、 シフ ト命令 S 4 1 5に応答して 0ビッ トシフ トせよ という命令からから 4ビッ トシフトせよという命令へと変化する。
サイクル T 1において、 第 1のシフタ 4 0 1の出力 S 4 0 1は、 現在 復号している可変長符号 (第 1のデータ) が先頭になっているような可変 長符号列 ( 0 0 0 1 · · · ) を示し、 ラツチ回路 4 0 5の出力 S 4 0 5 も、 現在復号している可変長符号 (第 1のデータ) が先頭になっているよ うな可変長符号列 (0 0 0 1 · · · ) を示し、 ラツチ回路 4 1 1の出力 S 4 1 1は、 現在復号している可変長符号の先頭の位置 (初期状態から数え て 0ビッ ト目) を示している。 また、 サイクル T 1の後期において、 第 2 のシフタ 4 0 3の出カ 54 0 3は、 次のサイクルにおいて復号すべき可 変長符号 (第 2のデータ) が先頭になっているような可変長符号列 (0 1 · · · ) を示している。
次に、 サイクル T 1に続くサイクル T 2が開始されたときの動作を説 明する。
クロック信号が立ち上がると、 ラッチ回路 4 1 1は、 シフ ト命令 S 4 0 7 ( 4ビッ トシフ トせよという命令) をラッチする。 そして、 ラッチ回 路 S 4 1 1は、 4ビッ トシフ トせよという シフ ト命令 S 4 1 1を第 1の シフタ 4 0 1に出力する。
第 1のシフタ 4 0 1は、 シフ ト命令 S 4 1 1 に応答して、 4ビッ トだ け可変長符号列をシフ トする。 従って、 第 1のシフタ 4 0 1 はシフ ト データ S 4 0 1 (0 1 0 1 0 0 · · · ) を第 2のシフタ 4 0 3に出力す る。
クロック信号が立ち上がると、 ラツチ回路 4 0 5は、 データ S 4 0 3 (0 1 0 1 0 0 · * · ) をラッチする。 そして、 ラッチ回路 4 0 5はこの ラツチしたデータ (0 1 0 1 0 0 · · · ) をデータ S 4 0 5として可変長 符号復号部 4 1 3へ出力する。
可変長符号復号部 4 1 3は、 データ S 4 0 5を受信すると、 照合動作 を行う。 (一致検出期間) そして、 サイクル T 2の中心付近において、 可 変長符号復号部 4 1 3は、 照合結果である可変長符号の符号長を示す命 令 S 4 1 5を出力する。 この T 2のサイクルにおいて、 可変長符号復号 部 4 1 3は、 符号長が" 3ビッ ト" の可変長符号" 0 1 0" を検出した。 するとデータを 3ビッ トシフ トせよという命令 S 4 1 5 、 加算回路 4 0 7の入力端子 Aおよび第 2のシフタのシフ ト入力端子 Sに与えられ る。
第 2のシフタ 4 0 3は、 このシフ ト命令 S 4 1 5に応答して、 T 2の 初期に出力していたデータ (0 1 0 1 00 · · · ) を 3ビッ トシフトした データである S 4 0 3 ( 1 00 0 0 0 · · · ) をラッチ回路 4 0 5へ出力 する。
サイクル T 2の中心付近において、 加算回路 4 0 7は、 入力端子 Bに 与えられた 4ビッ トシフ トせよという命令と入力端子 Aに与えられた 3 ビッ トシフ トせよという命令とを加算し、 7ビッ トシフ トせよという命 令 S 4 0 7をラッチ回路 4 1 1に出力する。
サイクル T 2において、 第 1のシフタ 4 0 1の出力 S 4 0 1は、 現在 復号している可変長符号 (第 2のデータ) が先頭になっているような可変 長符号列 (0 1 0 · · · ) を示し、 ラツチ回路 4 0 5の出力 S 4 0 5も、 現在復号している可変長符号 (第 2のデータ) が先頭になっているような (0 1 0 · · · ) 可変長符号列を示し、 ラツチ回路 4 1 1の出力 S 4 1 1 は、 現在復号している可変長符号の先頭の位置 (初期状態から数えて 4 ビッ ト目) を示している。 また、 サイクル T 2の後期において、 第 2のシ フタ 4 0 3の出力 S 4 0 3は、 次のサイクルにおいて復号すべき可変長 符号 (第 3のデータ) が先頭になっているよう な可変長符号列 ( 1 0 · · · ) を示している。
次に、 サイクル T 2に続くサイクル T 3が開始されたときの動作を説 明する。
クロック信号が立ち上がると、 ラッチ回路 4 1 1は、 シフ ト命令 S 4 0 7 (7ビッ トシフトせよという命令) をラツチする。 そして、 ラツチ回 路 S 4 1 1は、 7ビッ トシフ トせよという シフ ト命令 S 4 1 1 を第 1の シフタ 4 0 1に出力する。
第 1のシフタ 4 0 1は、 シフ ト命令 S 4 1 1に応答して、 7ビッ トだ け可変長符号列をシフ トする。 従って、 第 1のシフタ 4 0 1 はシフ ト データ S 4 0 1 ( 1 0 0 0 0 0 - · · ) を第 2のシフタ 4 0 3に出力す クロック信号が立ち上がると、 ラツチ回路 4 0 5は、 データ S 4 0 3 ( 1 0 0 0 0 0 · · · ) をラッチする。 そして、 ラッチ回路 4 0 5はこの ラッチしたデータ ( 1 00 000 · · · ) をデータ S 4 0 5として可変長 符号復号部 4 1 3へ出力する。
可変長符号復号部 4 1 3は、 データ S 4 0 5を受信すると、 照合動作 を行う。 (一致検出期間) そして、 サイクル Τ 3の中心付近において、 可 変長符号復号部 4 1 3は、 照合結果である可変長符号の符号長を示す命 令 S 4 1 5を出力する。 この Τ 3のサイクルにおいて、 可変長符号復号 部 4 1 3は、 符号長が" 2ビッ ト" の可変長符号" 1 0" を検出した。 す るとデータを 2ビッ トシフ トせよという命令 S 4 1 5力 J、 加算回路 4 0 7の入力端子 Aおよび第 2のシフタのシフト入力端子 Sに与えられる。 第 2のシフタ 4 0 3は、 このシフ ト命令 S 4 1 5に応答して、 T 3の 初期に出力していたデータ ( 1 0 0 0 0 0 · ' · ) を 2ビッ トシフトした データである S 4 0 3 ( 0 0 0 0 0 1 · · · ) をラッチ回路 4 0 5へ出力 する。
サイクル T 3の中心付近において、 加算回路 4 0 7は、 入力端子 Bに 与えられた 7ビッ トシフ トせよという命令と入力端子 Aに与えられた 2 ビッ トシフ トせよという命令とを加算し、 9ビッ トシフ トせよという命 令 S 4 0 7をラッチ回路 4 1 1に出力する。
サイクル T 3において、 第 1のシフ夕 4 0 1の出力 S 4 0 1は、 現在 復号している可変長符号 (第 3のデータ) が先頭になっているような可変 長符号列 (1 0 ' · · ) を示し、 ラツチ回路 4 0 5の出力 S 4 0 5も、 現 在復号している可変長符号 (第 3のデータ) が先頭になっているような可 変長符号列 ( 1 0 · · · ) を示し、 ラツチ回路 4 1 1の出力 S 4 1 1は、 現在復号している可変長符号の先頭の位置 (初期状態から数えて 7ビッ ト 目) を示している。 また、 サイクル T 3の後期において、 第 2のシフタ 4 0 3の出力 S 4 0 3は、 次のサイクルにおいて復号すべき可変長符号 (第 4のデータ) が先頭になっているよ う な可変長符号列 ( 0 0 0 0 0 1 · · · ) を示している。
本願発明の可変長符号復号化システムは、 以上のような動作を繰り返 すことにより、 入力された可変長符号列を復号化していく。
以上のように本願発明の可変長符号複号化システムは、 次のサイクル が現れる前に、 次のサイクルで復号すべき可変長符号が先頭にくるよう に可変長符号列をシフ トさせるようにしたので、 常に 1サイクルで可変 長符号を復号することができる。 従って、 画像復元時に画像を表示する テレビゃディスプレイ等の表示レ一 トを満足することができる。 つま り、 画面に正しい画像を表示することができる。 そして、 結果として画 像処理の処理速度が高速になる。 産業上の利用可能性
以上のように本願発明の可変長符号復号化回路によれば、 入力される デ一タの内容及びデ一タの長さを検出する速度がより高速になる。
また本願発明の可変長符号復号化回路によれば、 入力されるデータの 順序及びデータの長さが不定の場合においても、 その入力されるデータ の内容およびデータの長さを検出する速度がより高速になる。
さらに本願発明の可変長符号復号化システムによれば、 常に 1サイク ルで入力されるデータを復号することができる。 従って、 結果として画 像処理の処理速度がより高速になる。

Claims

請求の範囲
1 . 第 1のデータが与えられるデータ線と、
前記データ線に接続され第 2のデータを記憶する記憶回路であって、 前記第 1のデ一タと前記第 2のデータとを照合し照合結果を出力する記 憶回路と、
前記照合結果が与えられる照合結果出力線と、
前記記憶回路と前記照合結果出力線との間に接続され、 制御信号に応 答して前記照合結果が前記照合結果出力線に出力されることを禁止する ゲートと、
前記制御信号を出力する制御回路とを有することを特徴とする可変長 符号復号化回路。
2 . 前記記憶回路は、 前記第 2のデータを記憶するデータ記憶部と、 前記第 1のデータと前記第 2のデータとに応答して前記照合結果を出力 するデータ照合部とを有することを特徴とする請求項 1記載の可変長符 号復号化回路。
3 . 第 1の可変長符号データが有する複数の第 1の符号データの各々 が与えられる複数のデータ線と、
前記複数のデータ線に各々接続され第 2の可変長符号データが有する 複数の第 2の符号データの各々を記憶する複数の記憶回路であって、 前 記第 1の符号データと前記第 2の符号データとを照合し照合結果を出力 する複数の記憶回路と、
前記照合結果が与えられる照合結果出力線と、
複数の前記記憶回路と前記照合結果出力線との間に各々接続され、 各々が制御信号に応答して前記照合結果が前記照合結果出力線に出力さ れることを禁止する複数のゲ一トと、 前記制御信号を出力する複数の制御回路とを有することを特徴とする 可変長符号復号化回路。
4 . 前記記憶回路の各々は、 前記第 2の符号データを記憶するデータ 記憶部と、 前記第 1の符号データと前記第 2の符号データとに応答して 前記照合結果を出力するデータ照合部とを有することを特徴とする請求 項 3記載の可変長符号複号化回路。
5 . 第 1の可変長符号データが有する複数の第 1の符号データの各々 が与えられる複数のデータ線と、
前記複数のデータ線に各々接続され第 2の可変長符号データが有する 複数の第 2の符号データの各々を記憶する複数の第 1の記憶回路であつ て、 前記第 1の符号データと前記第 2の符号データとを照合し第 1の照 合結果を出力する複数の第 1の記憶回路と、
前記第 1の照合結果が与えられる第 1の照合結果出力線と、
複数の前記第 1の記憶回路と前記第 1の照合結果出力線との間に各々 接続され、 各々が第 1の制御信号に応答して前記第 1の照合結果が前記 第 1の照合結果出力線に出力されることを禁止する複数の第 1のゲート と、
前記第 1の制御信号を出力する複数の第 1の制御回路と、
前記複数のデータ線に各々接続され第 3の可変長符号データが有する複 数の第 3の符号データの各々を記憶する複数の第 2の記憶回路であつ て、 前記第 1の符号データと前記第 3の符号データとを照合し第 2の照 合結果を出力する複数の第 2の記憶回路と、
前記第 2の照合結果が与えられる第 2の照合結果出力線と、
複数の前記第 2の記憶回路と前記第 2の照合結果出力線との間に各々 接続され、 各々が第 2の制御信号に応答して前記第 2の照合結果が前記 第 2の照合結果出力線に出力されることを禁止する複数の第 2のゲート と、
前記第 2の制御信号を出力する複数の第 2の制御回路とを有すること を特徴とする可変長符号復号化回路。
6 . 前記第 1の記憶回路の各々は、
前記第 2の符号デ一タを記憶する第 1のデータ記憶部と、
前記第 1の符号データと前記第 2の符号データとに応答して前記第 1 の照合結果を出力する第 1のデータ照合部とを有し、
前記第 2の記憶回路の各々は、
前記第 3の符号データを記憶する第 2のデータ記憶部と
前記第 1の符号デ一タと前記第 3の符号データとに応答して前記第 2 の照合結果を出力する第 2のデータ照合部とを有することを特徴とする 請求項 5記載の可変長符号複号化回路。
7 . 複数の可変長符号を有する可変長符号列が与えられる入カノ一ド と、
前記可変長符号列中の 1つの前記可変長符号を検出すると共にその符 号長を示す第 1のデータを出力する可変長符号復号化回路と、
クロック信号に応答して前記入力ノードに与えられた前記可変長符号 列中の可変長符号の位置を示す第 2のデータをラツチして出力する第 1 のラツチ回路と、
前記入カノ一ドに接続され前記第 1のデータと前記第 2のデータとに 応答して、 前記可変長符号復号化回路で復号化すべき前記可変長符号が 先頭になるよう前記入力ノードに与えられた前記可変長符号列中の可変 長符号の位置をシフトして出力する調整回路と、
前記クロック信号に応答して前記調整回路の出力をラツチして前記可 変長符号複号化回路へ出力する第 2ラツチ回路とを有することを特徴と する可変長符号復号化システム。
8 . 前記調整回路は、
前記第 1 のデータが示すシフト量分だけ前記入カノ一 ドに与えられた 前記可変長符号列をシフ トし、 このシフトした可変長符号列を第 1のシ フ トデータとして出力する第 1のシフタと、
前記第 2のデータが示すシフト量分だけ前記第 1のシフ トデータをシ フ ト し、 このシフ ト した第 1 のシフ トデータを第 2のシフ トデータと し て前記第 2のラッチ回路へ出力することを特徴とする請求項 7記載の可 変長符号復号化システム。
9 . 前記可変長符号複号化回路は、 入力される可変長符号に各々対応 した複数の被復号対象用可変長符号および該被復号対象用可変長符号の 符号長とを記憶し、 前記可変長符号と前記被復号対象用可変長符号とを 照合し前記可変長符号と一致した 1つの前記被復号対象用可変長符号の 符号長を出力することを特徴とする請求項 7記載の可変長符号復号化シ ステム。
PCT/JP1994/000646 1993-04-19 1994-04-19 Circuit for decoding variable-length code, and system for decoding variable-length code which uses the circuit WO1994024672A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US08/351,253 US5642114A (en) 1993-04-19 1994-04-19 Variable length code decoder using a content addressable memory with match inhibiting gate
DE69428408T DE69428408T2 (de) 1993-04-19 1994-04-19 Dekodierungsschaltung für codes variabler länge, und dekodierungssystem für codes variabler länge unter verwendung dieser schaltung.
EP94912701A EP0646932B1 (en) 1993-04-19 1994-04-19 Circuit for decoding variable-length code, and system for decoding variable-length code which uses the circuit

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP9161993 1993-04-19
JP9162093 1993-04-19
JP5/91619 1993-04-19
JP5/91620 1993-04-19

Publications (1)

Publication Number Publication Date
WO1994024672A1 true WO1994024672A1 (en) 1994-10-27

Family

ID=26433064

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1994/000646 WO1994024672A1 (en) 1993-04-19 1994-04-19 Circuit for decoding variable-length code, and system for decoding variable-length code which uses the circuit

Country Status (4)

Country Link
US (1) US5642114A (ja)
EP (1) EP0646932B1 (ja)
DE (1) DE69428408T2 (ja)
WO (1) WO1994024672A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6026326A (en) * 1997-01-13 2000-02-15 Medtronic, Inc. Apparatus and method for treating chronic constipation

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2812262B2 (ja) * 1995-08-31 1998-10-22 日本電気株式会社 連想記憶装置
US5835035A (en) * 1995-12-28 1998-11-10 Philips Electronics North America Corporation High performance variable length decoder with two-word bit stream segmentation and related method
US5940852A (en) * 1997-05-01 1999-08-17 Altera Corporation Memory cells configurable as CAM or RAM in programmable logic devices
US6263400B1 (en) * 1997-08-21 2001-07-17 Altera Corporation Memory cells configurable as CAM or RAM in programmable logic devices
US6078987A (en) * 1997-09-30 2000-06-20 Sun Microsystems, Inc. Translation look aside buffer having separate RAM arrays which are accessable with separate enable signals
US5936873A (en) * 1997-09-30 1999-08-10 Sun Microsystems, Inc. Single ended match sense amplifier
US6199140B1 (en) 1997-10-30 2001-03-06 Netlogic Microsystems, Inc. Multiport content addressable memory device and timing signals
US6130631A (en) * 1998-05-11 2000-10-10 Oak Technology, Inc. Method and apparatus utilizing a simplified content-addressable memory for JPEG decoding
US6499081B1 (en) 1999-02-23 2002-12-24 Netlogic Microsystems, Inc. Method and apparatus for determining a longest prefix match in a segmented content addressable memory device
US6574702B2 (en) 1999-02-23 2003-06-03 Netlogic Microsystems, Inc. Method and apparatus for determining an exact match in a content addressable memory device
US6460112B1 (en) 1999-02-23 2002-10-01 Netlogic Microsystems, Llc Method and apparatus for determining a longest prefix match in a content addressable memory device
US6539455B1 (en) 1999-02-23 2003-03-25 Netlogic Microsystems, Inc. Method and apparatus for determining an exact match in a ternary content addressable memory device
US6892272B1 (en) 1999-02-23 2005-05-10 Netlogic Microsystems, Inc. Method and apparatus for determining a longest prefix match in a content addressable memory device
US6137707A (en) * 1999-03-26 2000-10-24 Netlogic Microsystems Method and apparatus for simultaneously performing a plurality of compare operations in content addressable memory device
US6317349B1 (en) 1999-04-16 2001-11-13 Sandisk Corporation Non-volatile content addressable memory
US6157558A (en) * 1999-05-21 2000-12-05 Sandisk Corporation Content addressable memory cell and array architectures having low transistor counts
US6166938A (en) * 1999-05-21 2000-12-26 Sandisk Corporation Data encoding for content addressable memories
JP3415481B2 (ja) * 1999-05-27 2003-06-09 Necエレクトロニクス株式会社 可変長符号の復号装置
US7143231B1 (en) 1999-09-23 2006-11-28 Netlogic Microsystems, Inc. Method and apparatus for performing packet classification for policy-based packet routing
US6934795B2 (en) * 1999-09-23 2005-08-23 Netlogic Microsystems, Inc. Content addressable memory with programmable word width and programmable priority
US6944709B2 (en) 1999-09-23 2005-09-13 Netlogic Microsystems, Inc. Content addressable memory with block-programmable mask write mode, word width and priority
US7272027B2 (en) * 1999-09-23 2007-09-18 Netlogic Microsystems, Inc. Priority circuit for content addressable memory
US6154384A (en) * 1999-11-12 2000-11-28 Netlogic Microsystems, Inc. Ternary content addressable memory cell
US6134135A (en) * 2000-01-10 2000-10-17 Switchcore, A.B. Mask arrangement for scalable CAM/RAM structures
US6615310B1 (en) * 2000-05-18 2003-09-02 International Business Machines Corporation Lossless data compressor with all CAM words available
FR2813698B1 (fr) * 2000-09-04 2002-11-29 St Microelectronics Sa Cellule cache a masquage
US6452822B1 (en) 2001-04-26 2002-09-17 International Business Machines Corporation Segmented match line arrangement for content addressable memory
JP3808753B2 (ja) * 2001-10-31 2006-08-16 川崎マイクロエレクトロニクス株式会社 連想メモリ装置
US20030090921A1 (en) * 2001-11-15 2003-05-15 Afghahi Morteza Cyrus Content addressable memory match line sensing techniques
WO2008087750A1 (ja) 2007-01-19 2008-07-24 Mitsubishi Electric Corporation テーブル装置、可変長符号化装置、可変長復号装置及び可変長符号化復号装置
US9697899B1 (en) * 2015-12-21 2017-07-04 Intel Corporation Parallel deflate decoding method and apparatus

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0245277B2 (ja) * 1983-06-07 1990-10-08 Tektronix Inc
JPH0312896A (ja) * 1989-06-09 1991-01-21 Fujitsu Ltd 半導体記憶装置
JPH04258025A (ja) * 1991-02-13 1992-09-14 Fujitsu Ltd 可変長符号復号回路
JPH0563586A (ja) * 1991-09-02 1993-03-12 Seiko Epson Corp 可変長符号の復号装置
JPH0595292A (ja) * 1991-03-07 1993-04-16 Oki Electric Ind Co Ltd 可変長復号化器

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0692228B2 (ja) * 1988-08-04 1994-11-16 株式会社クボタ 作業車の操向構造
US5173695A (en) * 1990-06-29 1992-12-22 Bell Communications Research, Inc. High-speed flexible variable-length-code decoder
US5245338A (en) * 1992-06-04 1993-09-14 Bell Communications Research, Inc. High-speed variable-length decoder
NL194527C (nl) * 1993-02-22 2002-06-04 Hyundai Electronics Ind Adaptief apparaat voor variabele-lengtecodering.

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0245277B2 (ja) * 1983-06-07 1990-10-08 Tektronix Inc
JPH0312896A (ja) * 1989-06-09 1991-01-21 Fujitsu Ltd 半導体記憶装置
JPH04258025A (ja) * 1991-02-13 1992-09-14 Fujitsu Ltd 可変長符号復号回路
JPH0595292A (ja) * 1991-03-07 1993-04-16 Oki Electric Ind Co Ltd 可変長復号化器
JPH0563586A (ja) * 1991-09-02 1993-03-12 Seiko Epson Corp 可変長符号の復号装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6026326A (en) * 1997-01-13 2000-02-15 Medtronic, Inc. Apparatus and method for treating chronic constipation

Also Published As

Publication number Publication date
EP0646932B1 (en) 2001-09-26
US5642114A (en) 1997-06-24
DE69428408T2 (de) 2002-05-29
DE69428408D1 (de) 2001-10-31
EP0646932A4 (en) 1996-10-02
EP0646932A1 (en) 1995-04-05

Similar Documents

Publication Publication Date Title
WO1994024672A1 (en) Circuit for decoding variable-length code, and system for decoding variable-length code which uses the circuit
US6381673B1 (en) Method and apparatus for performing a read next highest priority match instruction in a content addressable memory device
US5261068A (en) Dual path memory retrieval system for an interleaved dynamic RAM memory unit
US6965964B2 (en) Nand flash memory device
US4958345A (en) Memory testing device
JPS61107596A (ja) 連想記憶装置
US20110085405A1 (en) Semiconductor memory device having advanced tag block
JPS6234182B2 (ja)
US5511189A (en) Data sorting apparatus capable of detecting completion of data sorting early and sorting method therefor
US20040075591A1 (en) Circuit and method for generating mode register set code
EP0690450B1 (en) Memory circuit sequentially accessible by arbitrary address
JP2588936B2 (ja) 半導体記憶装置
JPH07319764A (ja) シーケンシャルアクセスメモリ
US4975882A (en) User programmable redundant memory
US7363460B2 (en) Semiconductor memory device having tag block for reducing initialization time
JPH06275100A (ja) 半導体記憶装置
US5276846A (en) Fast access memory structure
KR20010105938A (ko) 플레쉬 메모리를 내장하는 마이크로 컨트롤러 유닛 및그의 인터리빙 방식을 이용한 메모리 억세스 제어 방법
US5541882A (en) Method of performing a column decode in a memory device and apparatus thereof
US6032222A (en) Semiconductor memory device with simultaneously write capability
US11862291B2 (en) Integrated counter in memory device
JP2733753B2 (ja) コンピューター用データの入出力制御回路及び入出力制御方法
EP0645700B1 (en) Programmable logic array
US6614675B1 (en) Pipelined content addressable memory with read only element encoding scheme
JPH0757459A (ja) 半導体メモリ

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE

WWE Wipo information: entry into national phase

Ref document number: 1994912701

Country of ref document: EP

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 08351253

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 1994912701

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 1994912701

Country of ref document: EP