NL8104352A - DECODER FOR CODES PROPOSED BY A CODE TREE. - Google Patents

DECODER FOR CODES PROPOSED BY A CODE TREE. Download PDF

Info

Publication number
NL8104352A
NL8104352A NL8104352A NL8104352A NL8104352A NL 8104352 A NL8104352 A NL 8104352A NL 8104352 A NL8104352 A NL 8104352A NL 8104352 A NL8104352 A NL 8104352A NL 8104352 A NL8104352 A NL 8104352A
Authority
NL
Netherlands
Prior art keywords
data
decoding
input
code
bits
Prior art date
Application number
NL8104352A
Other languages
Dutch (nl)
Other versions
NL190094B (en
NL190094C (en
Original Assignee
Nippon Telegraph & Telephone
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 Nippon Telegraph & Telephone filed Critical Nippon Telegraph & Telephone
Publication of NL8104352A publication Critical patent/NL8104352A/en
Publication of NL190094B publication Critical patent/NL190094B/en
Application granted granted Critical
Publication of NL190094C publication Critical patent/NL190094C/en

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
    • 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/4025Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code constant length to or from Morse code conversion

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

*> * N.0. 30.435 -1-*> * N.0. 30,435 -1-

De co derings inrichting voor codes voorgesteld door een oodeboom.The coding device for codes represented by an ood tree.

i Be uitvinding heeft betrekking op een inrichting voor het decoderen van een code van variabele lengte voorgesteld door een code-boom.The invention relates to a device for decoding a variable length code represented by a code tree.

| Een bekende code met variabele lengte voorgesteld door een co-5deboom is bijvoorbeeld de gemodificeerde code van "Huffman". Beze wordt verkregen door het coderen van een zwarte en witte looplengte van een afgetast beeld door het coderingsschema van "Huffman" zoals ; bijvoorbeeld beschreven in het artikel "International Digtal Facsimile Coding Standards" van R. Hunter et al, verschenen in Proceeding 10 of the IEEE, juli 1980, vol. 68, nr. 7» bladz. 854 - 867, hoofdstuk ΓΥ, "One-Dimensional Coding Scheme". Een bekende decoderingsmethode |voor deze gemodificeerde code van "Huffman" is het kiezen van één t-uit twee takken in elk knooppunt in een codeboom afhankelijk van de detectie van een "1" of "0" voor individuele bits van de ingangscode, :15 waarbij uiteindelijk een eindknooppunt wordt bereikt, dat een gedecodeerd resultaat aangeeft. Om dit te bereiken is het noodzakelijk om toegang te verkrijgen tot een decoderend tabelgeheugen voor elke bit van de ingangsinformatie en om voor elke geheugenuitgang te be-slissen of het eindknooppunt wel dan niet is bereikt. Dit verhoogt 20 het aantal bewerkingsstappen, omvattende de tijdrovende geheugentoegang en beslissing, met als gevolg dat de totale bewerkingstijd be- : trekkelijk lang wordt. Daarom is de hierboven genoemde bekende deco-; deringsmethode nadelig, doordat deze slechts kan worden gerealiseerd door de toepassing van een microprocessor met hoge snelheid of een 25 bedrade logische schakeling.| For example, a known variable length code represented by a code tree is the modified code of "Huffman". Beze is obtained by encoding a black and white barrel length of a scanned image through the "Huffman" encoding scheme such as; for example, described in the article "International Digtal Facsimile Coding Standards" by R. Hunter et al, published in Proceeding 10 of the IEEE, July 1980, vol. 68, No. 7 »p. 854-867, Chapter ΓΥ, "One-Dimensional Coding Scheme". A known decoding method for this modified "Huffman" code is to choose one t-out of two branches in each node in a codeboom depending on the detection of a "1" or "0" for individual bits of the input code,: 15 eventually reaching an end node, indicating a decoded result. To achieve this it is necessary to access a decoding table memory for each bit of the input information and to decide for each memory output whether or not the end node has been reached. This increases the number of processing steps, including the time consuming memory access and decision, with the result that the total processing time becomes relatively long. Therefore, the above-mentioned known deco; disadvantageous method because it can only be realized by the use of a high speed microprocessor or a wired logic circuit.

Hoewel niet bedoeld voor de code van facsimile, is een werkwijze voor het verhogen van de decoderingssnelheid voor de code van "Huffman" beschreven in het Amerikaanse octrooischrift 3.883.847 verleend 13 mei 1975 onder de titel "Uniform Decoding of Minimum-30:Redundancy Codes". Bij de decoderingsmethode volgens dit octrooischrift wordt een informatie van een vooraf bepaald aantal bits uit een ingangscodetrein ingevoerd om deze toe te voeren aan een primair decoderend tabelgeheugen om deze uit te lezen en in het geval dat de decodering door de uitlezing niet wordt voltooid, wordt een adres van 35|een secundair decoderend tabelgeheugen waartoe daarna toegang moet worden verkregen, bepaald onder toepassing van de uitgelezen infor-imatie en wordt daarna tot het secundaire tabelgeheugen toegang verkregen door een ingangsinformatie uit een aantal bits dat daarna c 8104352 > -2- wordt ingevoerd, zodat een gedecodeerd resultaat wordt verkregen. Deze methode verhoogt de decoderingssnelheid, maar gebruikt twee deco-| I derende tabelgeheugens en heeft aldus het nadeel dat de totale opslagcapaciteit groot is.Although not intended for the facsimile code, a method of increasing the decoding rate for the "Huffman" code described in U.S. Patent 3,883,847 was granted May 13, 1975 under the title "Uniform Decoding of Minimum-30: Redundancy Codes ". In the decoding method according to this patent, an information of a predetermined number of bits from an input code train is input to feed it to a primary decoding table memory for reading it out, and in case the decoding is not completed by the readout, a address of 35 | a secondary decoding table memory to be subsequently accessed, determined using the information read out, and then the secondary table memory is accessed by an input information from a number of bits then entered c 8104352> -2- , so that a decoded result is obtained. This method increases the decoding speed, but uses two deco | This has the disadvantage of the total storage capacity.

5 De uitvinding heeft ten doel te voorzien in een decoderingsin- richting die een code van variabele lengte voorgesteld door een code-boom, zeer snel kan decoderen, zonder .dat de bit-voor-bit decode-ringsbewerking nodig is, en die een kleine opslagcapaciteit heeft voor de te gebruiken decoderingstabel.The object of the invention is to provide a decoding device which can decode a variable length code represented by a code tree very quickly, without requiring the bit-by-bit decoding operation, and which requires a small has storage capacity for the decoding table to be used.

10 Volgens een aspekt van de uitvinding heeft het decoderende ta- ;belgeheugen een gebied voor het opslaan van eindinformatie en een gebied voor het opslaan van tussentijdse informatie. De eindinforma-I tie omvat ten minste informatie die de voltooiing van de decodering j aangeeft en informatie die het resultaat van de decodering aangeeft,! !15 terwijl de tussentijdse informatie ten minste informatie omvat die de onvoltooide decodering aangeeft, informatie die het aantal bits aangeeft die daarna uit een ingangscodetrein moeten worden ingevoerd, ! ;en informatie waarop het adres van het decoderende tabelgeheugen is | gebaseerd, waartoe daarna toegang moet worden verkregen. Het tabel- 20 geheugen wordt geadresseerd en uitgelezen en door middel van beslis-singsmiddelen wordt beslist of de uitgelezen informatie uit het de-icoderende tabelgeheugen een eindinformatie of een tussentijdse in-I formatie is. In het geval van een eindinformatie wordt de informatie die het resultaat van decodering aangeeft, uit de decoderingsinrich-25 ting afgegeven. In het geval van een tussentijdse informatie wordt de volgende informatie uit de ingangscodetrein opgehaald met een aantal bits dat wordt bepaald door de informatie van de tussentijdse gegevens, die het aantal daarop volgende in te voeren bits aangeeft en de ingevoerde gegevens en.de informatie van de tussentijdse gege-30'vens voor het bepalen van het adres van het decoderende tabelgeheugen waartoe daarna toegang moet worden verkregen, worden bewerkt om het volgende adres te verkrijgen en daarna wordt toegang verkregen ' tot het adres van het decoderende tabelgeheugen. Deze bewerkingen worden herhaald totdat de eindgegevens uit het decoderende tabelge-35 .heugen worden uitgelezen.According to an aspect of the invention, the decoding table memory has an area for storing final information and an area for storing intermediate information. The final information includes at least information indicating the completion of the decoding j and information indicating the result of the decoding. While the intermediate information includes at least information indicating the incomplete decoding, information indicating the number of bits to be subsequently input from an input code train,! ; and information on which the address of the decoding table memory is | based, which must then be accessed. The table memory is addressed and read out and it is decided by decision means whether the read out information from the decoding table memory is an end information or an intermediate information. In the case of a final information, the information indicating the result of decoding is outputted from the decoding device. In the case of an intermediate information, the following information is retrieved from the input code train with a number of bits determined by the information of the intermediate data, indicating the number of bits to be entered subsequently, and the input data and information of the intermediate data for determining the address of the decoding table memory to be accessed thereafter is processed to obtain the next address and then the address of the decoding table memory is accessed. These operations are repeated until the final data is read from the decoding table memory.

Doordat uit de uitgelezen gegevens het aantal bits van de daarna in te voeren code wordt bepaald en doordat het adres van het de-I coderende tabelgeheugen waartoe daarna toegang moet worden verkregen, wordt bepaald door het verwerken van de gegevens die worden inge-40 voerd door zulk een vooraf bepaald aantal bits, en de uitgelezen in- ; 8 1 0 4 3 52 v -3- :formatie, is het mogelijk een code van verscheidene bits op één tijd-!stip te decoderen zonder de noodzaak van het kiezen van één uit twee :takken in elk knooppunt van de codeboom en om het aantal herhalen van een toegang tot het decoderende tabelgeheugen te verminderen, 5 waardoor een decodering met een hoge snelheid mogelijk is. Voorts wordt herhaaldelijk toegang verkregen tot hetzelfde decoderende tabelgeheugen en aldus kan dit effektief worden gebruikt en kan de afmeting daarvan klein zijn. Wanneer de decodering van één code is voltooid, geeft bovendien een eerste bit van de ingangscodetrein de 10 voorste bit van de volgende code aan.Because the number of bits of the code to be entered thereafter is determined from the data read out and the address of the de-I coding table memory to be accessed thereafter is determined by processing the data entered by such a predetermined number of bits, and the read out; 8 1 0 4 3 52 v -3-: formation, it is possible to decode a code of several bits at one time without the need of choosing one of two branches in each node of the code tree and to reduce the number of repetitions of an access to the decoding table memory, enabling high-speed decoding. Furthermore, the same decoding table memory is repeatedly accessed and thus it can be used effectively and its size can be small. In addition, when the decoding of one code is completed, a first bit of the input code train indicates the front 10 bit of the next code.

Volgens een ander aspekt van de uitvinding omvatten de eindgegevens in het decoderende tabelgeheugen informatie die de voltooiing Ivan de decodering aangeeft, informatie die het resultaat van de de-!codering aangeèft en informatie die het daarop volgend in te voeren ; 15 aantal bits aangeeft, terwijl de tussentijdse gegevens informatie ! 1 omvatten die de onvoltooide decodering aangeeft en informatie waar- j ;op het adres van het decoderende tabelgeheugen is gebaseerd, waartoe' : daarna toegang moet worden verkregen. Nadat het decoderende tabelge heugen is uitgelezen wordt door middel van beslissingsmiddelen be-20 slist of de uitgelezen gegevens eindgegevens of tussentijdse gegevens zijn. In het geval van eindgegevens wordt de informatie van de gegevens die het decoderingsresultaat aangeeft, uitgevoerd en de volgende gegevens worden uit een ingangscodetrein opgehaald met het aantal bits dat bepaald is door de informatie van de uitgelezen ge-25 gevens die het aantal daarna in te voeren bits aangeeft. In het geval van tussentijdse gegevens worden de volgende gegevens uit de ingangscodetrein opgehaald met een vast aantal bits m (m is een geheel getal 2 of meer) en worden de ingevoerde gegevens en de informatie van de uitgelezen gegevens voor het bepalen van het adres van het de-;30 coderende tabelgeheugen waartoe daarna' toegang moet worden verkregen, verwerkt, waarna het resultaat van de bewerking wordt gebruikt om toegang te verkrijgen tot het decoderende tabelgeheugen. Deze be-: werkingen worden herhaald om de codes van de ingangscodetrein de een j na de ander te decoderen. Het daarna in te voeren aantal bits in de :35 eindgegevens wordt bepaald door L-(n-l).m, waarbij L een gedecodeerde codelengte is en n het aantal herhalingen van de toegangen tot het .decoderende tabelgeheugen.According to another aspect of the invention, the end data in the decoding table memory includes information indicating completion of the decoding, information indicating the result of the decoding, and information to be entered subsequently; 15 number of bits indicates, while the intermediate data information! 1 that indicate the incomplete decoding and information based on the address of the decoding table memory to which access is to be subsequently made. After the decoding table memory has been read out, it is decided by means of decision means whether the data read out is final data or intermediate data. In the case of end data, the information of the data indicating the decoding result is outputted and the following data is retrieved from an input code train by the number of bits determined by the information of the data read out which then the number inputted bits. In the case of intermediate data, the following data is retrieved from the input code train with a fixed number of bits m (m is an integer 2 or more) and the input data and the information of the read data are determined to determine the address of the The encoding table memory to be subsequently accessed is processed, after which the result of the operation is used to access the decoding table memory. These operations are repeated to decode the codes of the input code train one after the other. The number of bits to be subsequently entered into the final data is determined by L- (n-1) .m, where L is a decoded code length and n is the number of repetitions of the entries to the decoding table memory.

De uitvinding zal hierna nader worden toegelicht aan de hand ί j van de tekeningen. In de tekeningen toont: 40 fig. 1 een diagram dat een deel van een decoderingstabel van de ^ 8104352 -4- gemodficeerde code van "Huffman" illustreert bij een bekende bit-voor-bit decoderingsmethode waarbij een codeboom wordt gebruikt; fig. 2 een diagram dat de stappen van het onder toepassing van de decoderingstabel volgens fig. 1 weergeeft van een ingangscode 5 "11011" dat een witte looplengte 64 aangeeft; fig. 3 ©en blokschema van een decoderingsinrichting die in het : Amerikaanse octrooischrift 3.883.847 is beschreven; fig. 4 een diagram dat een voorbeeld van een decoderingstabel voor witte codes illustreert, dat wordt gebruikt in de decoderings-;10 inrichting volgens de uitvinding; fig. 5A een voorbeeld van het gegevensformaat van eindgegevens; fig. 5B een voorbeeld van het gegevensformaat van tussentijdse gegevens; fig. 6 een diagram dat de stappen weergeeft van het onder, toe- ; passing van de decoderingstabel volgens fig. 4 decoderen van een in-: ! gangscode "11011" die een witte looplengte 64 aangeeft; fig. 7 een blokschema van de decoderingsinrichting volgens de uitvinding waarbij de decoderingstabel volgens fig. 4 wordt toegepast; ; 20 fig. 8 een voorbeeld van een deel vaii een decoderingstabel voor' 'witte codes, dat in een andere uitvoeringsvorm van de decoderingsinrichting volgens de uitvinding wordt toegepast; fig. 9 een diagram dat de stappen illustreert van het onder toepassing van de decoderingstabel volgens fig. 8 decoderen van een ; 25 ingangscode "11011" die een witte looplengte 64 aangeeft; fig. 10 een blokschema van een andere uitvoeringsvorm van de decoderingsinrichting volgens de uitvinding, waarbij een decoderingstabel volgens fig. 8 wordt toegepast; fig. 11 een blokschema van een andere uitvoeringsvorm van de 30 decoderingsinrichting volgens dje uitvinding,'waarbij de decoderingstabel volgens fig. 4 wordt toegepast en waarbij een microprocessor wordt gebruikt; fig. 12 een stroomdiagram dat een werkvoorbeeld van de decode-ringsinrichting volgens fig. 11; illustreert; :35 fig. 13 een diagram dat overeenkomt met dat van fig. 4, waar bij een voorbeeld van een decoderingstabel voor een zwarte code wordt getoond; fig. 14 een grafiek van de betrekking tussen diverse decode-ringssystemen en de daarvoor benodigde capaciteiten van de decoderen-"40'de tabelgeheugens; ui 2!/; 8104352 -5- fig. 15 een tabel van de betrekkingen tussen diverse decode-ringssystemen en de benodigde tijden voor de toegang tot de decode- ; rende tabelgeheugens; en fig. 16 een tabel van de relaties tussen de capaciteiten van de i 5 decoderende tabelgeheugens en de toegangstijden die in elke decode-ringsinrichting nodig zijn in het geval dat de capaciteit van het decoderende tabelgeheugen en de toegangstijden die nodig zijn in de , eerste uitvoeringsvorm volgens de uitvinding elk worden voorgesteld : !door 1.The invention will be explained in more detail below with reference to the drawings. In the drawings: Fig. 1 shows a diagram illustrating part of a decoding table of the "8104352-4-modified" Huffman "code in a known bit-by-bit decoding method using a code tree; FIG. 2 is a diagram showing the steps of using an input code 5 "11011" indicating a white run length 64 using the decoding table of FIG. 1; FIG. 3 © is a block diagram of a decoder described in: U.S. Patent 3,883,847; Fig. 4 is a diagram illustrating an example white code decoding table used in the decoding apparatus according to the invention; Fig. 5A shows an example of the data format of end data; Fig. 5B shows an example of the data format of intermediate data; Fig. 6 is a diagram showing the steps from the bottom; fitting of the decoding table according to fig. 4 decoding an input:! gait code "11011" indicating a white run length 64; FIG. 7 is a block diagram of the decoding apparatus according to the invention using the decoding table of FIG. 4; ; Fig. 8 shows an example of part of a decoding table for white codes, which is used in another embodiment of the decoding device according to the invention; FIG. 9 is a diagram illustrating the steps of decoding a using the decoding table of FIG. 8; Input code "11011" indicating a white run length 64; FIG. 10 is a block diagram of another embodiment of the decoding apparatus according to the invention, using a decoding table of FIG. 8; FIG. 11 is a block diagram of another embodiment of the decoding apparatus according to the invention, using the decoding table of FIG. 4 and using a microprocessor; FIG. 12 is a flow chart illustrating a working example of the decoding apparatus of FIG. 11; illustrates; : 35 FIG. 13 is a diagram similar to that of FIG. 4, showing an example of a black code decoding table; FIG. 14 is a graph of the relationship between various decoding systems and the capacities of the decoding table memories required for this purpose. FIG. 15 8104352-5 FIG. 15 is a table of the relations between various decoding systems and the times needed to access the decoding table memories; and Figure 16 is a table of the relationships between the capacities of the decoding table memories and the access times required in each decoder in case the capacity of the decoding table memory and the access times required in the first embodiment of the invention are each represented by 1.

'10; Voor een beter begrip van de uitvinding zal eerst een beschrij-; :ving worden gegeven van de bekende bit-voor-bit decoderingsmethode. Fig. 1 toont een deel van een witcodeboom van de gemodificeerde code; | van "Huffman" gebaseerd op de bekende bit-voor-bit decoderingsmetho-: ;de, waarbij de codeboom een decoderingstabel vormt. Een oorsprong 1 ;15:Wordt verdeeld in twee takken 4 die elk eindigen in een knooppunt 2. iHet knooppunt 2 is onderverdeeld in twee takken 4» die elk voorts zijn onderverdeeld in twee takken 4 in elk knooppunt 2. Op deze wijze worden eindknooppunten 3 bereikt. Boven de tak 4 in elk knooppunt1 2 zijn voor de verdeling een adres <XX> van de decoderingstabel en 1 !20 een decoderingstabel gegeven (XX) of een looplengte [XX] getoond. De ;X-en van dit adres en gegeven nemen elk van de waarden 0, 1, 2, 3> ... 9, A, B, C, D, E en F aan; "XX" stelt namelijk een tweecijferig ;hexadecimaal getal voor. In het geval van de looplengte geeft de X echter een decimaal getal aan. Een kleine letter "c" geeft een ver- 25 dere uitbreiding van de codeboom aan.'10; For a better understanding of the invention, a description will first be given; : caught from the known bit-by-bit decoding method. Fig. 1 shows part of a white code tree of the modified code; | from "Huffman" based on the known bit-by-bit decoding method, the codeboom forming a decoding table. An origin 1; 15: Is divided into two branches 4 each ending in a node 2. iThe node 2 is divided into two branches 4 »each further divided into two branches 4 in each node 2. In this way, end nodes 3 reached. Above the branch 4 in each node 1 2, for the distribution, an address <XX> of the decoding table and 1! 20 a decoding table given (XX) or a run length [XX] are shown. The X's of this address and data assume each of the values 0, 1, 2, 3> ... 9, A, B, C, D, E and F; Namely, "XX" represents a two-digit hexadecimal number. In the case of run length, however, X indicates a decimal number. A lowercase letter "c" indicates a further extension of the code tree.

Fig. 2 toont een voorbeeld van het decoderen van een code "11011" die een witte looplengte 64 voorstelt en die als een ingangs-codetrein (gegevenstrein) wordt ingevoerd in de decoderingstabel volgens fig. 1. De decoderingsprocedure start bij de voorbereiding van ;50 (00) als een begingegeven. De eerste bit "1" van het ingangsgegeven :wordt ingevoerd, die bij het begingegeven (oo) wordt opgeteld om een' sprongadres <01> te verkrijgen. Een gegeven (04) van het sprongadres wordt uitgelezen. Met het gegeven (04) wordt gecontroleerd of een eindknooppunt van.de codeboom wel dan niet is bereikt. De gegevens 35 (X2=0, X^=4) worden respectievelijk voorgesteld als binaire getallen en of een eindknooppunt wel dan niet is bereikt wordt vastgesteld afhankelijk van het feit of de bit van de hoogste waarde (MSB) van "^^l"’ <lat wil zeggen "00000100" een "1" of "0" is. Aangezien in dit geval de bit van de hoogste waarde (MSB) "0" is, wordt beslist 40 dat het eindknooppunt niet is bereikt (in het geval dat de meest sig- 8 1 0 4 3 5 2 -6- nificante bit"1" is, wordt beslist dat het eindknooppunt is bereikt). Daarna wordt de volgende bit "1" van het ingangsgegeven opgeteld bij: het gegeven (04) om een sprongadres <05^ te verkrijgen. Op deze wij-; ze wordt voor elk knooppunt één uit twee takken gekozen afhankelijk : 5 van het feit of elk één-bitgegeven een ”0" of "1" is. Daarna worden de toegang tot de decoderingstabel, de beslissing over het eindknooppunt en de formatie van een sprongadres op dezelfde wijze herhaald bij elke toevoer van één bit van het ingangsgegeven, waardoor uiteindelijk een eindknooppunt wordt bereikt.Fig. 2 shows an example of decoding a code "11011" representing a white run length 64 which is entered as an input code train (data train) in the decoding table of FIG. 1. The decoding procedure starts at the preparation of; 50 (00 ) as a starting point. The first bit "1" of the input data: is entered, which is added to the start data (oo) to obtain a "jump address <01>". A data (04) of the jump address is read. The data (04) checks whether or not an end node of the code tree has been reached. The data 35 (X2 = 0, X ^ = 4) is represented as binary numbers, respectively, and whether or not an end node has been reached is determined depending on whether the bit of the highest value (MSB) of "^^ 1" <lat means "00000100" is a "1" or "0". Since in this case the bit of the highest value (MSB) is "0", it is decided 40 that the end node is not reached (in the case that the most significant bit "1" 8 1 0 4 3 5 2 -6 " ", it is decided that the end node has been reached). Thereafter, the next bit "1" of the input data is added to: the data (04) to obtain a jump address <05 ^. In this way; it is chosen one of two branches for each node depending on whether each one bit data is a "0" or "1", then access to the decoding table, the decision on the end node and the formation of a jump address repeated in the same manner with each one-bit supply of the input data, ultimately reaching an end node.

10 Aldus wórdt een adres <21> bereikt en het gegeven (Cl) daarvan,: dat wil zeggen "11000001" wordt uitgelezen. Aangezien de bit van de |hoogste waarde van dit gegeven "1" is, wordt beslist dat het eindknooppunt is bereikt en de looplengte wordt gedecodeerd onder toe- ! passing van het gegeven (C1) van dit eindknooppunt. Dat wil zeggen j j15 dat het gegeven van de bit naast de bit van hoogste waarde van het ' gegeven (C1=11Ö00001)(een eindcode of opbouwcode aangeeft. In het ge- | val dat deze bit "1" is, geeft dit aan dat de opbouwcode en de loop-: lengte wordt verkregen door het vermenigvuldigen van 64 met een getal van de zes cijfers van lagere orde, dat wil zeggen "000001" (een 20 binair getal) = 1 (een decimaal getal) in dit geval. Wanneer het gegeven van de tweede bit vanaf de bit van hoogste waarde van het uit-j , gelezen gegeven "0" is, geëft dit de eindcode aan en de waarde van de zes bits van lagere orde van het gegeven geeft de looplengte aan. Volgens de stand van de techniek is het nodig om voor elke bit van :25 het gegeven toegang te verkrijgen tot de decoderingstabel en om een beslissing te nemen op basis van het gegeven zoals hierboven is beschreven. Dit heeft onvermijdelijk tot gevolg dat de decoderings-snelheid wordt verlaagd.Thus, an address <21> is reached and its data (Cl), ie "11000001", is read out. Since the bit of the highest value of this data is "1", it is decided that the end node has been reached and the run length is decoded under acc. fit of the data (C1) of this end node. That is, the data of the bit next to the bit of highest value of the data (C1 = 110000001) (indicates an end code or build-up code. In case this bit is "1", this indicates that the build code and run length is obtained by multiplying 64 by a six-digit lower order number, ie "000001" (a 20 binary number) = 1 (a decimal number) in this case. When the data of the second bit from the highest value bit of the out-j read data is "0", this indicates the end code and the value of the six lower order bits of the data indicates the run length. In the prior art, for each bit of the data, it is necessary to access the decoding table and to make a decision based on the data as described above, which inevitably results in the decoding rate being lowered.

Aan de hand van fig. 3 zal een korte beschrijving worden gege-30 ven van een decoderingsmethode die in het Amerikaanse octrooischrift 3.883.847 is voorgesteld. Een ingangsgegeven wordt ingevoerd in een ingangsregister 210, waarbij slechts K bits van het ingangsgegeven naar een register 211 worden overgedragen. Het gegeven van K bits dat aldus aan het register 211 wordt toegevoerd, wordt in een optel-35 inrichting 212 verhoogd met 1, waarvan het uitgangssignaal wordt ge-; bruikt als een adres om toegang te verkrijgen tot een primair tabel-geheugen 214 via een adresseringsschakeling 213 en een blokkeerpoort! :281. Wanneer het gegeven uit het geheugen 214 een gedecodeerd resul-! taat is, wordt de gedecodeerde code uit een register 217 afgegeven 40 aan een uitgangsleiding 243 door middel van een blokkeerpoort 241 en; 8104352 -7- een OF-poort 242. Voorts wordt het aantal hits gebruikt in het ingevoerde gegeven van E-bits, uit een register 216 geleverd aan een ver-menigvuldigingsinrichting 218 van binaire waarden via een blokkeer-, poort 283 en een OF-poort 286. Het ingangsregister 210 wordt bestuurd 5 door de verménigvuldigingsinrichting 218 overeenkomstig het aantal bits dat daarbij wordt gebruikt om de overeenkomstige hoeveelheid ingangsgegevens in het register 211 in te voeren.Referring to FIG. 3, a brief description will be given of a decoding method proposed in U.S. Pat. No. 3,883,847. An input data is input to an input register 210, only K bits of the input data being transferred to a register 211. The data of K bits thus supplied to register 211 is incremented by 1 in an adder 212, the output of which is output; uses as an address to access a primary table memory 214 through an addressing circuit 213 and a blocking gate! : 281. When the data from the memory 214 has a decoded result! the decoded code from a register 217 is output 40 to an output line 243 through a blocking gate 241 and; 8104352 -7- an OR gate 242. Furthermore, the number of hits used in the input data of E bits is supplied from a register 216 to a multiplier 218 of binary values via a blocking gate 283 and an OR- gate 286. The input register 210 is controlled by the multiplier 218 according to the number of bits used thereby to input the corresponding amount of input data into the register 211.

Anderzijds geldt dat in het geval dat wanneer de E bits van het gegeven1^ het register 211 zijn ingevoerd, geen code vormen, het re-10 gister 217 een signaal voortbrengt, dat een indicatie is dat geen ge- idecodeerd resultaat aanwezig is wanneer toegang is verkregen tot het ! :primaire tabelgeheugen. Door dit signaal wordt de blokkeerpoort 283 geblokkeerd en een flip-flop 285 wordt ingesteld. Het uitgangssignaal van de flip-flop 285 wordt toegevoerd aan de blokkeerpoorten 15'241 en 281 om deze te blokkeren. Voorts wordt het uitgangssignaal i van het register 217 via de poort 286 toegevoerd aan de vermenigvul-i | diger 218 om deze te besturen, waarbij de E bits van het ingangsge- j ;geven via het register 210 in het register 211 worden ingevoerd. Onnodige bits in het gegeven van het register 211 wordm gemaskeerd 20 door het uitgangssignaal uit het register 216 in een decodeerschake-: Hing 260 om de vereiste A bits af te nemen. Het uitgangssignaal van i i de deoodeerschakeling 260 wordt in een optelschakeling 261 verhoogd met 1 en het opgetelde resultaat wordt gebruikt als een adres om via een adresseringsschakeling 251 toegang te verkrijgen tot een secun-25 dair 'tabelgeheugen 250. In dit geval, wordt de adresseringsschakeling :251 bestuurd door het uitgangssignaal van het register 217 om te bepalen tot welke tabel van het secundaire tabelgeheugen 250 toegang wordt verkregen. Wanneer het geheugen 250 wordt uitgelezen, wordt het gedecodeerde resultaat uit een register 272 via poorten 292 en 2Q 242 afgegeven aan de uitgangsleiding 243 en het aantal bits gebruikt voor het decoderen wordt uit een register 271 via de poort 286 toe- ; gevoerd aan de vermenigvuldigingsschakeling 218. Bij detectie van het einde van het ingangsgegeven door een detector 221 wordt een flip- ! ! .On the other hand, in the case that when the E bits of the data 1 ^ the register 211 are entered, do not form a code, the register 217 produces a signal, which is an indication that no coded result is present when access is obtained until it! : primary table memory. By this signal, the blocking gate 283 is blocked and a flip-flop 285 is set. The output of flip-flop 285 is applied to blocking gates 15'241 and 281 to block it. Furthermore, the output signal i of the register 217 is applied through the gate 286 to the multiplier digger 218 to control it, in which the E bits of the input data are input through register 210 into register 211. Unnecessary bits in the data of register 211 are masked by the output from register 216 in a decoder circuit 260 to take the required A bits. The output of the deodorization circuit 260 is increased by 1 in an adder circuit 261 and the added result is used as an address to access a secondary table memory 250 via an addressing circuit 251. In this case, the addressing circuit becomes: 251 controlled by the output of register 217 to determine which table of secondary table memory 250 is accessed. When the memory 250 is read, the decoded result from a register 272 is output through ports 292 and 2Q 242 to the output line 243 and the number of bits used for decoding is input from a register 271 through the port 286; applied to the multiplier circuit 218. When the end of the input data is detected by a detector 221, a flip-flop is applied. ! .

flop 222 ingesteld en zijn uitgangssignaal wordt toegevoerd aan een 25;blokkeerpoort 224 om deze te blokkeren, waardoor de werking van deze i decoderingsiirrichting wordt beëindigd.flop 222 is set and its output is applied to a blocking gate 224 to block it, thereby terminating the operation of this decoding device.

De decoderingsinrichting volgens het hierboven genoemde Amerikaanse octrooischrift is van het type waarbij tot het primaire tabel-;geheugen 214 toegang wordt verkregen door toepassing van een aantal bits van het ingangsgegeven, terwijl elke bit niet wordt gecontro- = - 8104352 -8- : leerd. of deze wel dan niet is gedecodeerd; aldus is het aantal benodigde geheugentoegangen klein om een snelle decodering toe te laten. Deze inrichting vraagt echter om de voorziening van de eerste en tweede tabelgeheugens 214 en 250 met als resultaat een toegenomen ^ scala van geheugens.The decoder of the above-mentioned U.S. Patent is of the type that accesses primary table memory 214 by using a number of bits of the input data, while each bit is not checked. whether or not it is decoded; thus, the number of memory accesses required is small to allow fast decoding. However, this arrangement requires provision of the first and second table memories 214 and 250, resulting in an increased range of memories.

Fig. 4 illustreert een voorbeeld van een decoderingstabel die kan worden gebruikt in de decoderingsinrichting volgens de uitvinding; deze is een decoderingstabel waarbij een witcodeboom van de gemodificeerde "Huffman"-code wordt gebruikt. In dit geval is de ge-1 q gevenslengte (XX) acht bits, het geheugenadres <XX> acht bits en het aantal op een moment te kiezen takken, dat wil zeggen het aantal op leen moment te decoderen codebit's is 1, 2 of 4· Het is vanzelfsprekend dat de gegevenslengte, de lengte van het geheugenadres en het ; aantal op een moment te kiezen takken willekeurig zijn. Ook het aan-^ tal op een moment te kiezen takken kan vast zijn of in het bijzonder beperkt tot bijvoorbeeld 2^. De verwijzingsnummers 1 tot en met 4 zijn identiek aan die in fig. 1 /gebruikt, maar een gegeven tijdens de codering wordt aangegeven door een intern knooppunt 5· Hier is het aantal op een moment te kiezen takken zodanig gekozen, dat dit niet het 20 aantal takken 4 vanaf de oorsprong 1 of het interne knooppunt 5 Hat het dichtst bij het eindknooppunt 3 ligt, overschrijdt. In fig. 4 liggen de het dichtst bij de oorsprong 1 gelegen eindknooppunten 3 met adressen <07> , ^08^>, <0B>, <0C>, <0E^ en <0F^ op een lijn 61 en zij zijn de vierde vanaf de oorsprong 1. Bij beschouwing van de 25 interne knooppunten op de lijn 61 wordt bijvoorbeeld met een adres <03> het dichtst bij gelegen eindknooppunt 3 bereikt bij een adres <10> , dat een tak voorstelt nabij het adres <03> én het aantal gekozen takken is één. In het geval van een adres ^00y is er echter geen eindknooppunt tot aan een tweede tak, dat wil zeggen een tak op 30 een lijn 62, bijvoorbeeld als een adres <13> is bereikt. Daaróm is het aantal gekozen takken vanaf het adres <00> naar het het dichts bij gelegen eindknooppunt gelijk aan 2. De gegevens(FF) en (EF) stellen een lijnsynchronisatiesignaal EOL voor en het gegeven (8F) een | decoderingsfout.Fig. 4 illustrates an example of a decoding table that can be used in the decoding device according to the invention; this is a decoding table using a white code tree of the modified "Huffman" code. In this case, the data length (XX) is eight bits, the memory address <XX> eight bits and the number of branches to be selected at one time, i.e. the number of code bits to be decoded at one time is 1, 2 or 4 It goes without saying that the data length, the length of the memory address and the; number of branches to be selected at a time are arbitrary. The number of branches to be selected at a time can also be fixed or in particular limited to, for example, 2 ^. Reference numbers 1 to 4 are identical to those used in Fig. 1 /, but a data item during encoding is indicated by an internal node 5 · Here, the number of branches to be selected at one time is chosen so that it is not the 20 number of branches 4 from the origin 1 or the internal node 5 which is closest to the end node 3. In Fig. 4, the end nodes closest to origin 1 with addresses <07>, ^ 08 ^>, <0B>, <0C>, <0E ^ and <0F ^ are on a line 61 and they are the fourth from origin 1. Considering the 25 internal nodes on the line 61, for example, with an address <03> the closest end node 3 is reached at an address <10>, which represents a branch near the address <03> and the number of branches chosen is one. In the case of an address 0000y, however, there is no end node up to a second branch, ie a branch on a line 62, for example when an address <13> has been reached. Therefore, the number of selected branches from the address <00> to the nearest node is equal to 2. The data (FF) and (EF) represent a line synchronization signal EOL and the data (8F) a | decoding error.

35 Het gegeven (XX) wordt opgeslagen op een adres <XX> van een de- :coderingstabelgeheugen volgend op de decoderingstabel van fig. 4· I[XX] geeft de looplengte aan en in dit geval is X een decimaal getal. Het decoderingsgeheugen heeft een gebied voor het opslaan van j | eindgegevens en een gebied voor het opslaan van tussentijdse gege-40 vens. Bij deze uitvoeringsvorm heeft het decoderings tabelgeheugen 8104352 -9- een capaciteit van één woord van acht bits en de eindgegevens en tussentijdse gegevens zijn elk acht bits. Het formaat van het eindgege-ven is in fig. 5A getoond. Wanneer de bit B^ van de laagste waarde een "1" is, geeft dit een eindknooppunt J aan, dat wil zeggen een 5 eindgegeven, De bit B^ naast de minst significante bit B^ geeft het soort aan van de gedecodeerde code; in dit voorbeeld geeft deze aan of het gedecodeerde resultaat een eindcode of een opbouwcode is. De zes bits B^ tot en met Bg stellen het gedecodeerde resultaat voor, dat wil zeggen de looplengte. Wanneer de bit B£ "1" is, is de gede-10 codeerde resultaatinformatie de eindcode en zoals met het verwijzings-nummer 44 is aangegeven krijgen de bits B, tot en met Bft de respec-tievelijke gewichten 2 tot en met . Wanneer de bit B^ "0" is is de gecodeerde resultaatinformatie de opbouwcode en wordt aangegeven 1 : i ! met het verwijzingsnummer 45» waarbij de bits B, tot en met B0 de j 6 11' ° 15 respectievelijke gewichten 2 tot en met 2 krijgen.The data (XX) is stored at an address <XX> of a decoding table memory following the decoding table of Fig. 4 · I [XX] indicates the run length and in this case X is a decimal number. The decoding memory has an area for storing j | final data and an area for storing intermediate data. In this embodiment, the decoding table memory 8104352-9 has one word capacity of eight bits and the final data and intermediate data are eight bits each. The format of the final data is shown in Fig. 5A. When the bit B ^ of the lowest value is a "1", it indicates an end node J, that is, an end data. The bit B ^ next to the least significant bit B ^ indicates the type of the decoded code; in this example, it indicates whether the decoded result is an end code or a build code. The six bits B to Bg represent the decoded result, that is, the run length. When the bit B is "1", the decoded result information is the end code, and as indicated by reference numeral 44, bits B through Bft are given weights 2 through 6, respectively. When the bit B ^ is "0", the encoded result information is the build code and 1: i is indicated! with reference numeral 45, wherein bits B to B0 are given the weights 11 to 15, respectively, weights 2 to 2.

Het formaat van de tussentijdse gegevens in fig. 5® getoond. Wanneer de bit B^ van de laagste waarde ”0" is, stelt deze het interne knooppunt 5 voor, en geeft deze namelijk aan dat het gegeven ! , ! een tussentijds gegeven is tijdens de decodering. De tweede bit Bg 20'geeft het aantal bits aan dat daarop volgend uit de ingangscode-j trein moet worden ingevoerd. Wanneer de bit Bg "O" is, wordt één bit ; ingevoerd en wanneer de bit B? "1" is, worden twee bits ingevoerd.The format of the intermediate data is shown in Fig. 5®. When the bit B ^ of the lowest value is "0", it represents the internal node 5, namely it indicates that the data!,! Is an intermediate data during decoding. The second bit Bg 20 'gives the number bits to be subsequently input from the input code j train When the bit Bg is "0", one bit is inputted and when the bit B? is "1", two bits are inputted.

De bits B^ tot en met BQ stellen informatie voor om het adres van het decoderings tabelgeheugen te bepalen waartoe daarna toegang 25 moet worden verkregen.Bits B through BQ represent information to determine the address of the decoding table memory to be subsequently accessed.

Big. 6 illustreert een decoderingsvoorbeeld in het geval dat "11011" die de witlooplengte 64 aangeeft, als een ingangsgegeven wordt ingevoerd in de decoderingstabel volgens fig. 4· De decode-ringsbewerking van dit geval zal aan de hand van fig. 6 worden be-50 schreven. Als begingegeven wordt (OO) voorbereid. Zoals hierboven is vermeld is het aantal takken dat eerst moet worden gekozen, dat wil zeggen het aantal bits dat bij de start van het decoderen van elke code moet worden ingevoerd, gelijk aan 4 en vier bits "1101" ;("0D" in de hexadecimale code) van het ingangsgegeven worden opgeteld '35 bij het begingegeven (OO) om een sprongadres <0D^ te verkrijgen. Uit I het sprongadres wordt het gegeven (34) daarvan uitgelezen. Door detectie van de bit B^ van de laagste waarde van de binaire voorstel- 1 I ling "00110100" van dit gegeven wordt vastgesteld of een eindknoop-ipunt 3 van de codeboom wel dan niet is bereikt. Aangezien de bit B^ :4q van de laagste waarde "0" is, is het gegeven een tussentijds gege- 8104352 " -10- i ;ven en de decodering daarvan is niet voltooid. Uit de tweede bit 0 van de binaire voorstelling van het uitgelezen gegeven (34) wordt ; vastgesteld dat het aantal takken dat daarna moet worden gekozen, gelijk aan één is. Daarna wordt de volgende bit "1" van het ingangs-: : 5 gegeven ingevoerd en wordt opgeteld bij een gegeven waarin de bits ! B,j en B2 van het uitgelezen gegeven (34) "0" is gemaakt, waardoor een sprongadres <35> wordt verkregen. Uit het sprongadreèszijn gegeven (07) uitgelezen. Aangezien de bit B^ van de laagste waarde van de binaire voorstelling "00000111" van het gegeven een "1" is, wordt vast-10gesteld dat een eindknooppunt van de oodeboom is bereikt. Uit de bit ;b2=1 van het uitgelezen gegeven volgt dat het gegeven de opbouwcode !is. Aldus betekent de gedecodeerde resultaatinformatie BQBr,... B,= ; O I 3 '000001 een looplengte van 64 die Wordt afgeleid door vermenigvuldi- i ging van het gedecodeerde resultaat ("1" in het decimale stelsel) met: 15 64.Big. 6 illustrates a decoding example in the case where "11011" indicating the white run length 64 is input as an input data into the decoding table of FIG. 4. The decoding operation of this case will be described with reference to FIG. . (OO) is being prepared as initial data. As mentioned above, the number of branches to be selected first, i.e. the number of bits to be input at the start of decoding each code, is equal to 4 and four bits "1101"; ("0D" in the hexadecimal code) of the input data are added '35 to the start data (OO) to obtain a jump address <0D ^. The data (34) thereof is read from the jump address. By detecting the bit B1 of the lowest value of the binary representation "00110100" of this data, it is determined whether or not an end node point 3 of the code tree has been reached. Since the bit B ^: 4q of the lowest value is "0", the data is an intermediate data 8104352 "-10-1 and the decoding thereof is not completed. From the second bit 0 of the binary representation of the read data (34), it is determined that the number of branches to be subsequently selected is equal to 1. Then the next bit "1" of the input data: 5 is input and added to a data in which the bits! B, j and B2 of the read data (34) is made "0", whereby a jump address <35> is obtained. From the jump address data (07) are read. Since the bit B ^ of the lowest value of the binary representation " 00000111 "of the data is a" 1 ", it is determined that an end node of the ood tree has been reached. From the bit; b2 = 1 of the data read it follows that the data is the build code! Thus, the decoded result information means BQBr , ... B, =; OI 3 '000001 a run length of 64 which is derived by v multiplication of the decoded result ("1" in the decimal system) by: 15 64.

Fig. 7 illustreert een uitvoeringsvorm van de decodeerinrich-:ting volgens de uitvinding gebaseerd op het voorbeeld van de decode-; ringstabel van de gemodificeèrde "Huffman"-code getoond in fig. 4·Fig. 7 illustrates an embodiment of the decoder according to the invention based on the example of the decoder; ring table of the modified "Huffman" code shown in fig. 4 ·

De werking van deze inrichting zal hierna aan de hand van een geval 20 worden beschreven, waarbij het ingangsgegeven "11011" wordt ingevoerd zoals in het geval van fig. 6. Yoor het starten van de decode-, ringsbewerking wordt een decoderingsstartsignaal als een hoog niveau "1" uit een leiding 11 toegevoerd aan een decoderingsvoltooiing-de-tectorschakeling 12, bijvoorbeeld gedurende een bepaalde tijdsperio-25 de. Door stijging van het uitgangssignaal uit een uitgangssignaal-:leiding 32 van de detectieschakeling 12 wordt een flip-flop 14 die een indikatie geeft of het ingangsgegeven een witgegeven of een . zwartgegeven is, teruggesteld om de decodering van een witcode voor te.bereiden en tegelijkertijd wordt een geheugenadres-grendelschake-^0 ling 15 teruggesteld. Yoor het gemodificeerde "Huffman"-codeschema begint de decoderingsbewerking van een facsimile-code met een witco-jde. Een geheugenadres uit de grendelschakeling 15 wordt gebruikt om een geheugen 16 uit te lezen waarin de decoderingstabel volgens fig,.: 4 is opgeslagen en het uitgelézen begingegeven (OO) wordt afgegeven 22 aan een gegevengrendelschakeling 17· In de detectieschakeling 12 brengt het hierboven genoemde decoderingsstartsignaal een laag niveau tot stand op een uitgangsleiding 18 via een 0P-poort 33 en een ;invertor 34· Tegelijkertijd brengt de uitgang van de invertor 34 een laag niveau voort op een uitgangsleiding 38 via een pulsverlengings-:40 schakeling 39.bestaande uit een vertragingsschakeling en een EN- o···/'::· l:: 8104352 -11- : i · poort. Bij deze niveau's zijn de gegevenskiezers 19, 20 en 21 respectievelijk doorverbonden naar de zijde b. Door de hierboven genoemde bewerking wordt de gegevenskiezer 20 doorverbonden naar een beginge-gevengeheugen 23 onmiddellijk na het starten van de decoderingsbe-5 werking. Het geheugen 23 wordt bestuurd door een uitgangssignaal "0" (dat een witcodedecodering aangeeft) uit de flip-flop 14 om een waarde 4 in een ingangsgegeventeller 24 via de kiezer 20 in te stellen.The operation of this device will be described below with reference to a case 20, in which the input data "11011" is input as in the case of Fig. 6. By starting the decoding operation, a decoding start signal as a high level "1" from a line 11 applied to a decoding completion detector circuit 12, for example, for a specified period of time. By increasing the output signal from an output signal line 32 of the detecting circuit 12, a flip-flop 14 which indicates whether the input data is a white data or a. black is reset to prepare the decoding of a white code and at the same time a memory address latch 15 is reset. For the modified "Huffman" code scheme, the decoding operation of a facsimile code begins with a white code. A memory address from the latch circuit 15 is used to read out a memory 16 in which the decoding table of FIG. 4 is stored and the read out initial data (OO) is output 22 to a data latch circuit 17 · In the detection circuit 12, the above decoding start signal establishes a low level on an output line 18 through a 0P gate 33 and an inverter 34 · At the same time, the output of inverter 34 produces a low level on an output line 38 via a pulse extension: 40 circuit 39 consisting of a delay circuit and an EN- o·· / ':: · l :: 8104352 -11-: i gate. At these levels, the data selectors 19, 20 and 21 are respectively transferred to side b. By the above-mentioned operation, the data selector 20 is transferred to an initial memory 23 immediately after the decoding operation is started. The memory 23 is controlled by an output "0" (indicating a white code decoding) from the flip-flop 14 to set a value 4 in an input data counter 24 through the selector 20.

|Ingangsklokpulsen uit een klem 25 worden toegevoerd aan de teller 24 :en in synchronisatie daarmee wordt een ingangsgegeven van vier bits i 10 "1101" via een leiding 27 ingevoerd in een serie-parallelomzetschake-l· | ling 26 voor het ingangsgegeven. Daarna wordt het ingangsgegeven ; "1101" uit de serie-parallelomzetschakeling 26 toegevoerd aan een 'optelschakeling 22 van acht bits, waarna de omzetschakeling 26 wordt teruggesteld. Dat wil zeggen dat zijn ingangsstatus "0000" wordt ge-15 maakt, terwijl het uitgangssignaal daarvan ongewijzigd wordt gehou- j den, dat wil zeggen "1101". In deze periode wordt de bit van laagste 'waarde B^=0 van het begingegeven (OO) dat zoals hierboven is beschreven in de gegevensgrendelschakeling 17 wordt ingelezen, toegevoerd aan de detectieschakeling 12 om een hoog niveau op de uitgangslei-20 ding 18 via de 0F-poort 33 tot stand te brengen, waarbij de kiezers 19 en 21 worden doorgeschakeld naar de zijde a. Als gevolg daarvan wordende bits Bg tot en met B^ van het begingegeven (OO) uit de gren-delschakeling 17 via de kiezer 21 toegevoerd aan de optelschakeling 22 van acht bits. Dit begingegeven (OO) en het ingangsgegeven "1101"; 25 uit de serie-parallelomzetschakeling 26 worden in de optelschakeling 22 opgeteld om een sprongadres .40D> te verkrijgen. De kiezer 20 wordt overgeschakeld naar de zijde a door de pulsverlengingsscha-keling 39 na de overschakeling van de kiezers 19 en 20, dat wil zeg-; gen na het uitvoeren van het sprongadres <0D>.Input clock pulses from a terminal 25 are applied to the counter 24: and in synchronization therewith an input of four bits 10 "1101" is input through a line 27 into a series-parallel converter. 26 for the entry data. Then the entry is given; "1101" from the series-parallel converting circuit 26 is applied to an eight-bit adding circuit 22, after which the converting circuit 26 is reset. That is, its input status is made "0000" while its output is kept unchanged, ie "1101". During this period, the bit of lowest value B ^ = 0 of the initial data (OO) read into the data latch 17 as described above is applied to the detection circuit 12 to provide a high level on the output line 18 through the 0F gate 33, whereby selectors 19 and 21 are forwarded to side a. As a result, bits Bg to B ^ of the initial data (OO) are fed from the latch circuit 17 through selector 21 to the eight-bit adder 22. This initial data (OO) and the input data "1101"; 25 from the series-parallel conversion circuit 26 are added to the adder circuit 22 to obtain a jump address .40D>. The selector 20 is switched to the side a by the pulse extension circuit 39 after the switch of the selectors 19 and 20, i.e. after executing the jump address <0D>.

30 Het sprongadres. 40D> wordt aan de geheugeiadres-grendelschake- ling 15 afgegeven. Tot het geheugen 16 wordt toegang verkregen door het leessignaal op een agnaalleiding 28 om het gegeven (34) uit te lezen, dat overeenkomt met het sprongadres 40D>, welk gegeven aan de :grendelschakeling 17 wordt geleverd. Daarom geldt in dit geval B^=0 : 35 en B2=0. Aangezien de bit van de laatste waarde B^ "0" is, is dit gegeven niet een eindgegeven maar een tussentijds gegeven. Derhalve j ' worden de gegevenskiezers 19 tot en met 21 door de detectorschake-ling 12 in de naar de zijde a doorgeschakelde toestand gehouden. De bit B2=0 wordt als een adres toegevoerd aan een volgend gegevensge-40 heugen 36 om de inhoud "1" uit te lezen, die op zijn beurt wordt in- 8104352 -12- 'gelezen in de ingangsgegevensteller 24 via de kiezer 20. Als gevolg daarvan wordt de volgende bit "1" van het ingangsgegeven van de leiding 27 af ingevoerd in de serie-parallelomzetschakeling 26 in synchronisatie met de ingangsklokpuls. Het uitgangssignaal uit de om-5 zetschakeling 26 wordt "0001" en het ingangssignaal van de optelscha-keling 22 wordt (01). De bits Bg tot en met B^ van het uitgangssignaal (34) uit de grendelschakeling 17 worden toegevoerd aan de optel-schakeling 22. Door de optelschakeling 22 worden (01) en (34) -"B2B.1" opgeteld om een sprongadres <3"te verkrijgen, dat aan de 10!geheugenadres-grendelschakeling 15 wordt geleverd. Uit het adres :<35> van het geheugen 16 wordt een gegeven (07) uitgelezen, dat aan de grendelschakeling 17 wordt afgegeven. Daardoor worden de bits B^ en Bj beide "1".30 The jump address. 40D> is delivered to the memory address latch 15. The memory 16 is accessed by reading the signal on an agnal line 28 to read the data (34) corresponding to the jump address 40D supplied to the latch 17. Therefore, in this case, B ^ = 0: 35 and B2 = 0. Since the bit of the last value B ^ is "0", this data is not an end data but an intermediate data. Therefore, the data selectors 19 to 21 are held by the detector circuit 12 in the forwarded side a. The bit B2 = 0 is applied as an address to a subsequent data memory 36 to read the content "1", which in turn is read into the input data counter 24 via the selector 20. As a result, the next bit "1" of the input data from the line 27 is input to the serial-parallel conversion circuit 26 in synchronization with the input clock pulse. The output signal from the converting circuit 26 becomes "0001" and the input signal from the adding circuit 22 becomes (01). The bits Bg to B ^ of the output signal (34) from the latch 17 are supplied to the adder 22. The adder 22 adds (01) and (34) - "B2B.1" to a jump address < 3 "to be supplied to the memory address latch circuit 15. A data (07) is read from the address: <35> of the memory 16, which is output to the latch circuit 17. The bits B ^ and Bj both "1".

Aangezien de minst significante bit B^ "1" is, wordt door de ;15 detectieschakeling 12 gedetecteerd dat het gegeven een eindgegeven is, dat wil zeggen dat een eindknooppunt is bereikt en door het uitgangssignaal van de detector worden de kiezers 19 tot en met 21 door-!geschakeld naar de zijde b. Aangezien de bit B^ "1" is, wordt de ge-:gevenskiezer 29 doorgeschakeld naar de zijde MC en de bits Bg tot en 20 met in de grendelschakeling 17 worden toegevoerd aan de zés bits van hogere orde van een looplengte-uitgangsgrendelschakeling. Als gevolg daarvan wordt "000001000000", dat wil zeggen de looplengte "64" uitgevoerd, waardoor de decoderingsbewerking ten einde is. Bij het gemodificeerde "Huffman"-codeschema wordt wanneer een looplengte 25 langer is dan 63, deze voorgesteld door een combinatie van een op-bouwcode en een eindcode. Bijvoorbeeld wordt een witloop 80 voorgesteld door een witloop 64 + een witloop 16. Daarom wordt het decoderen voor een opbouwcod'e steeds gevolgd door een eindcode van dezelfde kleur als de voorafgaande, hetgeen wordt uitgevoerd in de de-50 coderingsinrichting volgens de uitvinding, zodanig dat het gedecodeerde resultaat van de opbouwcode, dat wil zeggen het eindgegeven, steeds "1" levert bij de tweede bit vanaf de minst significante bit B^ en de bit Bg=1 van het eindgegeven wordt, toegevoerd aan de detectieschakeling 12 om zijn blokkeerpoort 35 te blokkeren. Derhalve 35 wordt de bit met de laagste waarde B^=1 toegevoerd aan de poort 33 en de decoderingsbewerking voor de volgende code begint met de wit-code. In het geval van de witloop 64 zoals hierboven is toegelicht, wordt het gegeven gedecodeerd in de vorm van een witloop 64 + een witloop 0. Wanneer het gedecodeerde gegeven een eindcode is wordt de i^O "bit van ^et ein<3-S®Seven "0" en wordt de bit B^=1 via de blokkeer- „ 8104352 -13- ;poort 55 toegevoerd aan de flip-flop 14 om deze bit te inverteren, waarbij het uitlezen van het decoderings tabelgeheugen Aè wordt over-igeschakeld van de decoderingstabel voor de witcode naar de decoderingstabel voor de zwartcode en omgekeerd. Tegelijkertijd wordt de : 5 geheugenadres-grendelschakeling 15 teruggesteld om het volgende in- : gangsgegeven te decoderen op dezelfde wijze zoals in het geval van het ingangsgegeven "11011".Since the least significant bit B ^ is "1", the detection circuit 12 detects that the data is an end data, that is, that an end node has been reached, and by the detector output signal, the selectors 19 through 21 forwarded to side b. Since the bit B1 is "1", the data selector 29 is forwarded to the side MC and the bits Bg to 20 with in the latch circuit 17 are applied to the six higher order bits of a run length output latch. As a result, "000001000000", that is, the run length "64" is executed, thereby ending the decoding operation. In the modified "Huffman" code scheme, when a run length is longer than 63, it is represented by a combination of a build code and an end code. For example, a white-run 80 is represented by a white-run 64 + a white-run 16. Therefore, decoding for a build-up code is always followed by an end code of the same color as the previous one, which is performed in the de-50 encoder according to the invention, such that the decoded result of the build code, that is, the end data, always yields "1" at the second bit from the least significant bit B ^ and the bit Bg = 1 of the end data is applied to the detection circuit 12 about its blocking gate 35 to block. Therefore, the bit with the lowest value B ^ = 1 is supplied to the gate 33 and the decoding operation for the next code begins with the white code. In the case of the whitewash 64 as explained above, the data is decoded in the form of a whitewash 64 + a whitewash 0. When the decoded data is an end code, the i ^ O "bit of ^ et ein <3-S Seven "0" and the bit B ^ = 1 is applied to the flip-flop 14 through the blocking "8104352 -13-; gate 55 to invert this bit, thereby switching the readout of the decoding table memory Aè from the white code decoding table to the black code decoding table and vice versa At the same time, the: 5 memory address latch 15 is reset to decode the following input data in the same manner as in the case of the input data "11011".

Pig. 8 toont een gedeelte van de decoderingstabel van de gemodificeerde "Huffman"-code in een andere uitvoeringsvorm van de deco- .j.Pig. 8 shows part of the decoding table of the modified "Huffman" code in another embodiment of the dec. J.

10 deringsinrichting volgens de uitvinding. In fig. 8 zijn de delen die overeenkomen met die in fig. 4 aangegeven met dezelfde verwijzings-nummers. In dit geval is de gegevenslengte 10 bit, het geheugenadres lacht bit en het aantal op een moment te kiezen takken, dat wil zeggen het aantal bits van een daarna in te voeren ingangsgegeven in 15 het geval van een onbeëindigde decodering, is vastgesteld op vier.10 device according to the invention. In FIG. 8, the parts corresponding to those in FIG. 4 are designated by the same reference numbers. In this case, the data length is 10 bit, the memory address is a bit bit and the number of branches to be selected at a time, ie the number of bits of an input data to be subsequently input in the case of an unencrypted decoding, is set at four.

Ook in dit geval is X een cijfer van een hexadecimaal getal en indien de bittoewijzing in het geval dat elk cijfer van het gegeven (XXX) wordt omgezet in de binaire voorstelling, Γβ.^Β-Β-Β^Β^Β^ΧΧΒ .B J30B.,) lUyöfoj 4?*- I .Also in this case X is a digit of a hexadecimal number, and if the bit assignment in the case where each digit of the data (XXX) is converted into the binary representation, Γβ. ^ Β-Β-Β ^ Β ^ Β ^ ΧΧΒ. B J30B., LUyöfoj 4? * - I.

wordt gekozen, dan geeft de bit B^ het einde of voortzetting van de ; |20 doooderingsbewerking aan; de bits B^ en B^ geven het aantal daarna :in te voeren begingegevenbits aanjaan het einde van de decoderings- i ! :bewerking, dat wil zeggen wanneer het uitgelezen gegeven een eindge-;geven is; de bit B^ geeft aan of het gedecodeerde gegeven een opbouw :of een eindcode is aan het einde van de decoderingsbewerking; en de . 25 bits Bj. tot en met B^q een adresgegeven voorstellen in het geval van! ;een tussentijds gegeven en het gedecodeerde resultaat in het geval ;van een eindgegeven. "X" is "1" of "0" en dit wordt niet gebruikt Ivoor de decoderingsbewerking.is selected, the bit B ^ indicates the end or continuation of the; 20 kill operation; the bits B ^ and B ^ indicate the number of initial data bits to be entered after the end of the decoding i! processing, that is to say when the read data is an end data; bit B ^ indicates whether the decoded data is a build: or an end code at the end of the decoding operation; and the . 25 bits Bj. through B ^ q propose an address given in case of! an interim data and the decoded result in the case of an end data. "X" is "1" or "0" and it is not used for the decoding operation.

Pig. 9 toont een voorbeeld van de decoderingsbewerking in het 30|g®val dat de decoderingstabel volgens fig. 8 wordt gebruikt en het ;gegeven "11011" dat de witlooplengte 64 aangeeft, als een ingangsgegeven wordt ingevoerd. Deze bewerking zal later worden beschreven.Pig. 9 shows an example of the decoding operation in the 30 | g® trap that the decoding table of FIG. 8 is used and the data "11011" indicating the white run length 64 is input as an input data. This operation will be described later.

Pig. 10 illustreert een andere uitvoeringsvorm van de decode-ringsinrichting volgens de uitvinding, waarbij de decoderingstabel jj voor de gemodificeerde "Huffman"-code wordt gebruikt, die in fig. 8 lis getoond. In fig. 10 zijn de onderdelen die overeenkomen met die van fig. 7 aangegeven met dezelfde verwijzingsnummers. De gegevens-kiezer 20 kiest of de waarde van de ingangsgegeventeller 24 wordt ingesteld op een vast aantal ingangsgegevens uit een instelgeheugen 40 35 j of op het aantal gegevens uit een instelschakeling 57 voor het 8104352 -14- 'aantal beginbits. De instelschakeling 37 stelt het aantal begin-.ingangsgegevens voor een daarna te decoderen code in uit de uitgangs-gegevens B^ en B^ in de gegevensgrendelschakeling 17 en dit aantal is niet vast. Het instelgeheugen 35 voor een vast aantal bits wordt 5 gebruikt om een vast aantal ingangsgegevens in te voeren tijdens de decodering.Pig. 10 illustrates another embodiment of the decoding apparatus according to the invention, using the decoding table jj for the modified "Huffman" code shown in FIG. 8l. In Fig. 10, parts corresponding to those in Fig. 7 are indicated by the same reference numbers. The data selector 20 selects whether the value of the input data counter 24 is set to a fixed number of input data from a setting memory 40, or to the number of data from a setting circuit 57 for the number of initial bits 8104352-14. The setting circuit 37 sets the number of initial input data for a code to be decoded thereafter from the output data B ^ and B ^ in the data latch circuit 17 and this number is not fixed. The fixed bit setting memory 35 is used to input a fixed number of input data during the decoding.

De werking van de inrichting volgens fig. 10 zal worden beschreven aan de hand van het geval dat een in fig. 9 getoond ingangsgegeven "11011000" wordt ingevoerd. Voor het starten van de decoderings-10'bewerking wordt via de leiding 11 een decoderingsstartsignaal aan de detectieschakeling 12 toegevoerd om de flip-flop 14 via de signaal-!leiding 32 terug te stellen, waardoor het decoderings tabelgeheugen !16 in de uitleestoéstand van de witcode wordt gebracht. Tevens wordt; !de adresgeheugen-grendelschakeling 15 teruggesteld om een gegeven 15 (OOO) uit het geheugen 16 uit te voeren naar de gegevensgrendelscha-keling 17· Anderzijds levert de detectieschakeling 12 in responsie op het startsignaal lage niveau's op de uitgangsleidingen 18 en 32 om de gegevenskiezers 20 en 21 door te schakelen naar de zijde b zo-; als in het geval van fig. 7· Door deze bewerking is de kiezer 20 ;20 doorgeschakeld naar de schakeling 37 voor het instellen van het aantal beginbits. De instelschakeling 37 wordt door het startsignaal teruggesteld om een insteltelgegeven "4" in de ingangsgegeventeller ;24 in te stellen. De eerste vier bits "1101" van het ingangsgegeven ^ worden in synchronisatie met de ingangsklokpulsen uit de klem 25 25 toegevoerd aan de serie-parallelomzetschakeling 26 voor de ingangsgegevens. Het ingevoerde gegeven kan worden voorgesteld door (OD) in de hexadecimale notatie. Daarna levert de omzetschakeling 26 het ingangsgegeven "1101" aan de optelschakeling 22 van acht bits. In deze periode wordt de bit van de laagste waarde B^=0 van het begin-301gegeven (OOO) ingeschreven in de gegevensgrendelschakeling 17» toegevoerd aan de detectieschakeling 12 om een hoog niveau op de uitgangs-leiding 18 via de 0F-poort 33 voort te brengen, waarbij de kiezer 21: wordt doorgeschakeld naar de zijde. a. Als gevolg daarvan worden de bits B^q tot en met B^ van het begingegeven (OOO) vanuit de grendel-35 schakeling 17 via de gegevenskiezer 21 ingevoerd in de optelschakeling 22 van acht bits. Het ingangsgegeven "1101" dat wil zeggen (0D) en het begingegeven (OO) dat wil zeggen (OOO) - "B^B^B^E^" worden opgeteld om een sprongadres <0D> te verkrijgen, dat wordt afgegeven aan de geheugenadres-grendelschakeling 15· Door de pulsverlengings- ; -40 schakeling 39 wordt de kiezer 20 na' de kiezer' 21 doorgeschakeld 8104352 -15- naar de zijde a, dat wil zeggen na de uitvoer van het sprongadres . |<0D>. Door het signaal dat uit de optelschakeling 22 van acht bits op de signaalleiding 28 wordt geleverd, wordt een gegeven (AOO) "*^1000000000" volgens de binaire voorstel-: 5 ling), dat overeenkomt met het sprongadres <0D>,uit het tabelgeheu-gen 16 uügelezen en ingevoerd in de grendelschakeling 17. Dit gegeven is een tussentijds gegeven voor een intern knooppunt, omdat de 'minst significante bit B^ "0" is. Door de detectieschakeling 12 wor-!den de kiezers 20 en 21 in hun "onvoltooide" toestand gehouden (door-10|geschakeld naar de zijde a). 'The operation of the device of FIG. 10 will be described in the case of input data "11011000" shown in FIG. 9 being input. Before starting the decoding 10 operation, a decoding start signal is applied through the line 11 to the detection circuit 12 to reset the flip-flop 14 through the signal line 32, thereby bringing the decoding table memory 16 into the readout state of the white code is brought. Also; the address memory latch 15 is reset to output a data 15 (OOO) from the memory 16 to the data latch 17 · On the other hand, the detection circuit 12 in response to the start signal provides low levels on the output lines 18 and 32 to the data selectors 20 and 21 to switch to side b zo-; as in the case of Fig. 7. By this operation, the selector 20; 20 is diverted to circuit 37 for setting the number of initial bits. The setting circuit 37 is reset by the start signal to set a setting count data "4" in the input data counter; 24. The first four bits "1101" of the input data are applied in synchronization with the input clock pulses from the terminal 25 to the series parallel converter 26 for the input data. The data entered can be represented by (OD) in hexadecimal notation. Then, the conversion circuit 26 supplies the input data "1101" to the eight-bit adder 22. During this period, the bit of the lowest value B ^ = 0 of the initial 301 data (OOO) written in the data latch 17 is applied to the detection circuit 12 to advance a high level on the output line 18 through the 0F gate 33 the selector 21: is diverted to the side. As a result, bits B ^ q through B ^ of the initial data (OOO) from the latch 35 circuit 17 are input through the data selector 21 to the eight-bit adder 22. The input data "1101" i.e. (0D) and the initial data (OO) i.e. (OOO) - "B ^ B ^ B ^ E ^" are added to obtain a jump address <0D>, which is output to the memory address lock circuit 15 · By the pulse extension; 40, the selector 20 is diverted after the selector 21 to the side a, i.e. after the output of the jump address. | <0D>. By the signal outputted from the eight-bit adder 22 to the signal line 28, a data (AOO) "* ^ 1000000000" according to the binary representation, which corresponds to the jump address <0D>, is output from the Table memories 16 are read uh and entered into the latch circuit 17. This data is an intermediate data for an internal node, because the "least significant bit B" is "0". Detection circuit 12 maintains selectors 20 and 21 in their "unfinished" state (switched to side a). '

Derhalve wordt "4" door het instelgeheugen 35 ingesteld in de ;ingangsgegeventeller 24 en worden vier bits "1000" van het volgende | ;ingangsgegeven ingevoerd in de omzetschakeling 26 in synchronisatie | met de ingangsklokpulsen. Het uitgangssignaal van de serie-parallëL-15 omzetschakeling wordt "1000" en het ingangssignaal van de optelscha-; keling 22 van acht bits wordt "00001000" (08 volgens de hexadecimale voorstelling). De bits B,- tot en met B^q van het uitgangssignaal van de grendelschakeling 17 worden aan de optelschakeling 22 afgegeven 'om daaraan een ander ingangssignaal (A0) toe te voeren. In de optel- :20;schakeling 22 worden (08) en (AO) bij elkaar opgeteld om een sprong-: adres <A8"7 te verkrijgen, dat aan de geheugenadres-grendelschakeling; 15 'wordt geleverd. Daarbij wordt het gegeven (049) (Β^Β^ΒρΒ^Β^Β,-ΧΧΒ^ B^BgB^="000001001001" volgens de binaire voorstelling) uit het deco-deringe tabelgeheugen 16 uitgelezen en ingevoerd in de gegevensgren-. 251delschakeling 17· De bit van de laagste waarde B^="1" geeft aan dat i het betreffende gegeven een eindgegeven is, dat wil zeggen het eind-knooppunt is bereikt om de decoderingsbewerking te beëindigen. De kiezers 20 en 21 worden door de detectieschakeling 12 doorgeschakeld1 naar de zijde b ("einde"). Aangezien de bit B^ "1" is, wordt de ge- i 130 gevenskiezer 29 overgeschakeld naar de zijde MC, dat wil zeggen het uitgangssignaal van de kiezer 29woröfcals een opbouwcode ingevoerd in de uitgangsgrendelschakeling voor de looplengte 31, teneinde "00000.1000000" volgens de binaire voorstelling te verkrijgen, dat wil zeggen de looplengte "64", zodat de decoderingsbewerking wordt 35 beëindigd.Therefore, "4" is set by the setting memory 35 in the input data counter 24 and four bits "1000" of the following | input data input into the converting circuit 26 in synchronization | with the input clock pulses. The output of the series parallel 15 conversion circuit becomes "1000" and the input of the adder; eight bit circuit 22 becomes "00001000" (08 according to the hexadecimal representation). Bits B1 through B1 of the output signal of the latch circuit 17 are output to the adder circuit 22 for supplying another input signal (A0) thereto. In the adder: 20; circuit 22, (08) and (AO) are added together to obtain a jump: address <A8 "7, which is supplied to the memory address latch; 15". 049) (Β ^ Β ^ ΒρΒ ^ Β ^ Β, -ΧΧΒ ^ B ^ BgB ^ = "000001001001" according to the binary representation) read out from the decrepit table memory 16 and entered into the data boundary circuit 17 · The bit of the lowest value B ^ = "1" indicates that the data in question is an end data, that is, the end node has been reached to end the decoding operation. The selectors 20 and 21 are forwarded by the detection circuit 12 to the side b ("end") Since the bit B ^ is "1", the data selector 29 is switched to the side MC, that is, the output of the selector 29 is a build code input into the run length output latch circuit 31, in order to obtain "00000.1000000" according to the binary representation, i.e. the lo length "64" so that the decoding operation is ended.

Een gegeven B^Bg^'OO" van de grendelschakeling 17 wordt toege-jvoerd aan de instelschakeling 37> waar "00" met één wordt verhoogd om een waarde "1" te leveren, die een verschil tussen het vaste aan- j .tal bits van het ingangsgegeven "4" en het aantal bits "3" van het 40igegeven "000" voorstelt, dat niet wordt gebruikt voor het decoderen ; 8104352 -16- ivan het ingangsgegeven "11011000". De waarde "1" wordt ,als een begin-gegeven ingevoerd in de ingangsgegevensteller 24. In dit voorbeeld stelt aangezien de bit B^ van het uitgelezen eindgegeven "1" is, de detectieschakeling 12 de grendelschakeling 15 terug, terwijl de flip-5 flop 14 ongewijzigd blijft, dat wil zeggen in de toestand van het decoderen van de witcode blijft. Uit het geheugen 16 wordt het gegeven (OOO) uitgelezen en ingevoerd in de grendelschakeling 17· Daarna wordt bij gegevensinvoer in de serie-parallelomzetschakeling 26, het decoderen van het volgende ingangsgegeven uitgevoerd op dezelfde 10;wijze als in het geval van het ingangsgegeven "11011". In het geval dat de bit B, "0" is wanneer het eindgegeven is uitgelezen, keert de; detectieschakeling 12 de flip-flop 14 om om het uitlezen van het de-: coderings tabelgeheugen 16 te wijzigen naar het uitlezen van de zwartcodetabel en stelt de grendelschakeling 15 terug. Bij de uit-15 voeringsvorm die hierboven aan de hand van de fig. 8 en 10 is beschreven, wordt het gegeven met de stappen van een vast aantal, bits ingevoerd, in dit voorbeeld vier bits, tijdens de decodering en worden die bits van het ingevoerde gegeven van vier bits die niet voor de decodering wordm gebruikt, dat wil zeggen de drie bits "000" in het 20 hierboven toegelichte voorbeeld, gebruikt voor de daarop volgende decodering. Derhalve wordt de decodering hervat onder toepassing van deze drie bits en één bit van het volgende gegeven (het vaste aantal bits, dat wil zeggen vier bits in dit voorbeeld ).A given B ^ Bg ^ 'O0 "of the latch circuit 17 is applied to the setting circuit 37> where" 00 "is incremented by one to yield a value" 1 ", which is a difference between the fixed number represents bits of the input data "4" and the number of bits "3" of the 40i data "000" that is not used for decoding, 8104352 -16- of the input data "11011000". The value "1" becomes, as a start data input in the input data counter 24. In this example, since the bit B ^ of the read end data is "1", the detection circuit 12 resets the latch circuit 15, while the flip-5 flop 14 remains unchanged, i.e. The state of the decoding of the white code remains.From the memory 16, the data (OOO) is read out and input into the latch circuit 17 · Then, when data is input into the serial-parallel conversion circuit 26, the decoding of the following input data is performed in the same 10; as in the case of hey t input "11011". In the case where the bit B is "0" when the final data has been read, the; detecting circuit 12 the flip-flop 14 to change the reading of the decoding table memory 16 to the reading of the black code table and resets the latch 15. In the embodiment described above with reference to Figures 8 and 10, the data is entered in the steps of a fixed number of bits, in this example four bits, during the decoding and those bits of the data are input data of four bits not used for the decoding, ie the three bits "000" in the example explained above, used for the subsequent decoding. Therefore, decoding is resumed using these three bits and one bit of the following data (the fixed number of bits, i.e. four bits in this example).

De decoderingsinrichting volgens de uitvinding kan niet uitslui-25 tend worden gevormd door toepassing van een bedrade logische schakeling zoals in fig. 7 en 10 is getoond, maar ook door toepassing van een schakeling met een algemene funktie worden gevormd, die is uitgerust met een geheugentoegangsfunktie en een gegevensbeslissing- en berekeningsfunktie, zoals bijvoorbeeld een microprocessor. Aan de :30 hand van fig. 11 wordt een voorbeeld van een decoderingsinrichting beschreven, waarbij de microprocessor in verband met de toegepaste ,decoderingstabel volgens fig. 4 wordt gebruikt. Een microprocessor :42, een serie-parallelomzetschakeling 43» een ontvangend bufferge-heugen 44» een programmageheugen 45» een uit voer poort 46 en het de-33 coderingstabelgeheugen 16 zijn verbonden met een bus 41· In het de-coderingstabelgeheugen 16 is de decoderingstabel van fig. 4 opgeslagen, dat wil zeggen het gegeven voorgesteld door (xx) is in elk adres voorgesteld door <XX> opgeslagen. De microprocessor 42 heeft een aantal algemene registers 47» adresseert sekwentieel het programmage-40 heugen 45 om de uitgelezen instrukties in het instruktieregister 48 ! 8104352 -17- in te voeren, decodeert deze in een decodeerschakeling 49 en voert diverse invoer- en uitvoerbesturingen, bewerkingen en beslissingen uit, die gebaseerd zijn op de gedecodeerde resultaten. De logische bewerkingen van optellen en beslissen worden geleid door een bestu-5 ringsinrichting 51 aan de hand van gegevens uit de algemene registers 47· De resultaten van de bewerkingen worden opgeslagen in de |algemene registers 47. Het decoderingstabelgeheugen 16 en het pro-grammageheugen 56 kunnen worden gevormd door één geheugen. Een in-gangscodetrein wordt via de leiding 27 ingevoerd in de serie-paral-10 lelomzetschakeling 45· Hij elke toevoer van bijvoorbeeld acht bits wordt een interrupt-signaal via een interrupt-leiding 52 toegevoerd ; i ' laan een interrupt-schakeling 53 van de microprocessor 42. Wanneer het i .The decoder according to the invention cannot be formed solely by using a wired logic circuit as shown in FIGS. 7 and 10, but can also be formed by using a circuit of general function equipped with a memory access function and a data decision and calculation function, such as, for example, a microprocessor. An example of a decoding apparatus using the microprocessor in connection with the used decoding table of FIG. 4 is described with reference to FIG. A microprocessor: 42, a series-parallel conversion circuit 43 »a receiving buffer memory 44» a program memory 45 »an output port 46 and the de-33 encoding table memory 16 are connected to a bus 41 · In the decoding table memory 16, the decoding table of FIG. 4, i.e., the data represented by (xx) is stored in each address represented by <XX>. The microprocessor 42 has a number of general registers 47 »sequentially addresses the program 40 memory 45 for the read instructions in the instruction register 48! 8104352-17, decodes it into a decoding circuit 49 and performs various input and output controls, operations and decisions based on the decoded results. The logic operations of addition and decisions are conducted by a controller 51 on the basis of data from the general registers 47. The results of the operations are stored in the general registers 47. The decoding table memory 16 and the program memory 56 can be formed by one memory. An input code train is inputted through line 27 into the serial-parallel converting circuit 45. Each input of, for example, eight bits is supplied with an interrupt signal through an interrupt line 52; I interrupt circuit 53 of microprocessor 42. When i.

interrupt-signaal wordt toegevoerd, slaat de microprocessor 42 een seriegegeven,van acht bits uit de omzetschakeling 43 op in het ont-15|vangbuffergeheugen 44· De uitvoerpoort 46 moet gedecodeerde resul-taten afgeven.interrupt signal is supplied, the microprocessor 42 stores an eight-bit serial data from the converting circuit 43 into the receive buffer memory 44. The output port 46 must output decoded results.

| Thans zal aan de hand van een stroomdiagram van fig. 12 een voor dbeeld van de werking van de hierboven beschreven decoderingsinrich- : ting worden beschreven. De bewerking begint met een stap waarin 20 het aantal begininvoerbits, dat wil zeggen het aantal bits dat eerst: moet worden ingevoerd uit de ingangscodetrein, "4" in dit voorbeeld,: wordt ingeschreven in een algemeen register 47a en een beginadres-gegeven voor het decoderingstabelgeheugen 16, dat wil zeggen (OO) in dit voorbeeld, wordt ingeschreven in een algemeen register 47b. In 25:de volgende stap S2 wordt gecontroleerd of bijvoorbeeld alle bits ivan de ingevoerde code van acht bits, ingevoerd in een algemeen re- : :gister 47a uit het ontvangbuffergeheugen 44 wel dan niet is gebruikt. Wanneer de ingevoerde code reeds is gebruikt, gaat de bewerking verder naar een stap S^, waarin het volgende gegeven van acht bits uit :30 Het ontvangbuffergeheugen 44 wordt ingevoerd in het algemene regis- ! ter 47c· In een stap wordt het gegeven dat overeenkomt met het aantal invoerbits "4" dat in het register 47a in de stap is ingevoerd, overgedragen uit het register 47a naar een algemeen register : '47b. In een stap S,. worden het gegeven dat aldus werd overgedragen ;35 naar het algemene register 47d, en het beginadresgegeven (OO) ingeschreven in het register 47b in de stap , . . . bij elkaar opge teld om een adres te verkrijgen. Dit adres wordt gebruikt om in een ;stap Sg toegang te verkrijgen tot het decoderingstabelgeheugen 16.| An example of the operation of the decoder described above will now be described with reference to a flow chart of FIG. The operation begins with a step in which the number of initial input bits, that is, the number of bits to be first input from the input code train, "4" in this example, is written into a general register 47a and an initial address data for the decoding table memory 16, i.e. (OO) in this example, is written into a general register 47b. In the next step S2, it is checked whether, for example, all bits of the eight-bit code entered, entered in a general register 47a from the receive buffer memory 44, have been used or not. When the entered code has already been used, the operation proceeds to a step S ^, in which the following eight bit data is out: The receive buffer memory 44 is entered into the general register. ter 47c In one step, the data corresponding to the number of input bits "4" entered in the register 47a in the step is transferred from the register 47a to a general register: "47b. In a step S ,. the data thus transferred 35 to the general register 47d, and the start address data (OO) are written to the register 47b in the step,. . . added together to get an address. This address is used to access the decoding table memory 16 in one step Sg.

:In een stap wordt gecontroleerd of de bit van de laagste waarde 40 van het gegeven dat uit het decoderingstabelgeheugen 16 is uitge- 8104352 -18- :lezen, wel dan niet een "1" is. Indien de "bit niet "l" is, is het uitgelezen gegeven een tussentijds gegeven en het volgende adresgegeven en het aantal daarna in te voeren hits wordt ingesteld. Bit houdt in dat in het hierboven beschreven voorbeeld er in de stap Sg 5 wordt gecontroleerd of de bit Bg van het uitgelezen gegeven wel dan niet een "1" is. Indien de bit Bg niet "1" is, is het aantal daarop volgend in te voeren bits "1" en in een stap Sn worden de bits B,In a step, it is checked whether the bit of the lowest value 40 of the data output from the decoding table memory 16 is a "1" or not. If the "bit is not" 1 ", the read data is an intermediate data and the next address data and the number of hits to be entered thereafter is set. Bit means that in the above-described example, it is checked in step Sg 5 whether the bit Bg of the data being read is or is not a "1." If the bit Bg is not "1", the number of bits to be subsequently entered is "1" and in a step Sn, the bits B,

7 J7 J

tot en met Bg van het gegeven die uit het decoderingstabelgeheugen 16WOr^uitgelezen, als een adresgegeven ingeschreven in het algemene 10 register 47b en tegelijkertijd wordt het aantal invoercodebits "1" ingesteld in het algemene register 47a. In het geval dat in een stap Sg wordt vastgesteld dat de bit Bg "1" is, is het aantal daarop volgend in te voeren codebits "2" en in een stap worden de bits B^ tot en met B_ van het uitgelezen gegeven geladen in het algemene re- . i ° 15 gister 47¾ en tegelijkertijd wordt het aantal volgende invoercode- ' bits "2" geladen in het algemene register 47a. Na de stap of : keert de bewerking terug naar de stap Sg om de hierboven beschreven ; | procedure te herhalen.through Bg of the data read out from the decoding table memory 16WOr, as an address data inscribed in the general register 47b and at the same time, the number of input code bits "1" is set in the general register 47a. In the case where it is determined in a step Sg that the bit Bg is "1", the number of code bits to be entered subsequently is "2" and in a step, the bits B ^ to B_ of the read data are loaded into the general re-. i ° 15 yesterday 47¾ and at the same time the number of subsequent input code bits "2" is loaded into the general register 47a. After the step or: the operation returns to the step Sg to the above described; | repeat the procedure.

Wanneer in de stap is vastgesteld dat de bit van de laagste 20;waarde B^ "1" is, is het gegeven dat uit het decoderingstabelgeheugen 16 is uitgelezen, een eindgegeven en de bewerking springt naar een stap , waarin wordt gecontroleerd of de bit Bg van het gegeven wel dan niet "1" is. Indien is vastgesteld dat de bit Bg "1" is,; is het gegeven een opbouwcode en n (een decimaal getal) voorgesteld ; 25 door de bits B^ tot en met Bg van het gegeven,moet worden vermenigvuldigd met 64 om de looplengte (stap S^g) te verkrijgen. In het geval dat in een stap S^ is vastgesteld dat de bit van de laagste waarde B^ "0" is en het uitgelezen gegeven een eindcode is, worden de bits B^ tot en met Bg van het gegeven verkregen als de looplengte 50 in een stap S.^. Het in de stap S^g of verkregen gedecodeerde resultaat wordt als een gedecodeerd uitgangssignaal in de stap uitgevoerd via de uitvoerpoort 46 (fig. 11). Baarna wordt in de stap gecontroleerd of de decodering wel dan niet volledig is uit-i gevoerd. Bit kan worden vastgesteld gebaseerd op het invoercodegege-55 ven of het gecodeerde gegeven zoals in het geval van de stand van de techniek. Wanneer wordt vastgesteld dat de decodering nog niet is voltooid, gaat de bewerking verder naar een stap S.jg, waarin wanneer wordt vastgesteld dat de gedecodeerde code een eindcode is, dat wil zeggen wanneer in de stap is vastgesteld dat de bit Bg ”0" is, 40 de volgende decoderingsbewerking geschakeld tussen de decodering van 8104352 -19- · de witcode en de decodering van de zwartcode en omgekeerd, waarna de bewerking terugkeert naar de stap . Wanneer in de stap wordt ! vastgesteld dat de decodering nog niet is voltooid en in de stap wordt vastgesteld dat de bit B^ "1" is, keert de bewerking terug 5.naar de stap zonder de stap te doorlopen.When it is determined in the step that the bit of the lowest 20; value B ^ is "1", the data read from the decoding table memory 16 is an end data and the operation jumps to a step in which it is checked whether the bit Bg the data may or may not be "1". If it is determined that the bit Bg is "1" ,; the construct code and n (a decimal number) have been proposed; 25 by bits B ^ to Bg of the data must be multiplied by 64 to obtain the run length (step S ^ g). In the case where it is determined in a step S ^ that the bit of the lowest value B ^ is "0" and the read data is an end code, the bits B ^ to Bg of the data are obtained if the run length 50 in one step S. ^. The decoded result obtained in step Sg or obtained is output as a decoded output signal in the step through the output port 46 (Fig. 11). After that, it is checked in the step whether or not the decoding has been fully performed. Bit can be determined based on the input code data or the coded data as in the case of the prior art. If it is determined that the decoding has not yet been completed, the operation proceeds to a step S.jg wherein when it is determined that the decoded code is an end code, that is, when it is determined in the step that the bit Bg "0" 40, the next decoding operation is switched between the decoding of the white code and the decoding of the black code and vice versa, after which the operation returns to the step When it is determined in the step that the decoding has not yet been completed and in the step it is determined that the bit B ^ is "1", the operation returns to the step 5. without going through the step.

Een voorbeeld van de decoderingstabel voor zwartcodes is in fig. 1J getoond op dezelfde wijze zoals in fig. 4· Zoals uit deze tabel blijkt is er een eindknooppunt in een tweede tak vanaf de oorsprong 1, zodat het aantal.eerst in te voeren ingangscodebits "2" 10 is. Zoals uit de fig. 4 en 13 blijkt bevatten deze decoderingstabel-| len ongebruikte adressen (bijvoorbeeld <0A> en <0B> in fig. 13) en derhalve is op dit punt het decoderingstabelgeheugen niet efficiënt gebruikt. Door het zodanig inrichten van het decoderingstabelgeheugen dat zulke ongebruikte adressen niet kunnen bestaan, kan de ge-15 heugencapaciteit verder worden verkleind.An example of the black code decoding table is shown in Fig. 1J in the same manner as in Fig. 4 · As can be seen from this table, there is an end node in a second branch from origin 1, so that the number of input code bits to be entered first " 2 "is 10. As can be seen from Figs. 4 and 13, these decoding table | unused addresses (for example, <0A> and <0B> in Fig. 13) and therefore the decoding table memory has not been used efficiently at this point. By arranging the decoding table memory such that unused addresses cannot exist, the memory capacity can be further reduced.

Aangezien bij de uitvoeringsvorm volgens fig. 7 een geheugen van één woord van acht bits als decoderingstabelgeheugen.16 wordt gebruikt en acht bits als gedecodeerde resultaatinformatie en het gegeven voor het bepalen van het volgende adres worden gebruikt, 20 wordt het aantal invoerbits dat voor elke code eerst moet worden inge-; voerd, "4", ingesteld in het geheugen 23- Het is echter moge- ; lijk om zulk een inrichting te verkrijgen, dat in het geval waarin het aantal op een moment in te voeren bits met inbegrip van het eerst in te voeren bits, "2" of minder is, het aantal in te voeren 25 bits steeds wordt bepaald door informatie die het aantal invoerbits !in het gegeven vaststelt, dat uit het decoderingstabelgeheugen 16 wordt uitgelezen. Doordat het aantal bits dat één woord van het decoderingstabelgeheugen 16 vormt, groter dan acht wordt gekozen, is het mogelijk dat in het geval waarin het aantal op een moment in te :30 voeren bits, mèt inbegrip van het aantal eerst in te voeren bits, groter is dan 2., ook het aantal bits dat overeenkomt met een maximaal aantal invoerbits., steeds wordt bepaald door de informatie die het aantal invoerbits in het gegeven vaststelt, dat uit het decoderings-; tabelgeheugen 16 wordt uitgelezen.Since in the embodiment of Fig. 7, a one-word memory of eight bits is used as the decoding table memory.16 and eight bits are used as decoded result information and the data for determining the next address, the number of input bits used for each code must be entered first; entered, "4", set in memory 23- However, it is possible; Similarly, to obtain such a device that in the case where the number of bits to be input at a time including the bits to be input first is "2" or less, the number of 25 bits to be input is always determined by information determining the number of input bits in the data which is read from the decoding table memory 16. Since the number of bits forming one word of the decoding table memory 16 is selected to be greater than eight, it is possible that in the case where the number of bits to be input at a time, including the number of bits to be input first, is greater than 2, also the number of bits corresponding to a maximum number of input bits. is always determined by the information determining the number of input bits in the data, which is extracted from the decoding; table memory 16 is read.

35 Met de hierboven beschreven decoderingsinrichting volgens de uitvinding is het mogelijk om de vereiste capaciteit van het deco-' deringstabelgeheugen te verlagen. Fig. 14 toont geheugencapaciteiten; die nodig zijn voor diverse decoderingsmethoden. Langs de abscis zijn de decoderingsmethoden uitgezet. toont een decoderingsme-40 thode waarbij een codetabel wordt gebruikt en waarbij codes van de . „ 81 0 4 3 52 * -20- opgeslagen codetabel sekwentieel worden opgewekt voor de vergelijking met een ingevoerde code om een gedecodeerd resultaat op basis jvan coïncidentie daartussen te verkrijgen. (^) , (J) en (^) "tonen elk het geval van de toepassing van de werkwijze die hierboven aan 5 de hand van fig. 7 is beschreven, terwijl het geval is dat het ; aantal ingangscodebits' op een voorkeurswaarde voor elk knooppunt van de codeboom wordt gekozen, ^3^ het geval is waarbij het aantal op een moment in te voeren bits uit één van de waarden "1", "2" en "4" wordt gekozen, en het geval is waarin het aantal op een moment 1 10 in te voeren bits "1" of "2" is. (jT) toont de bit-voor-bit decode-ringsmethode die hierboven aan de hand van fig. 1 is beschreven. (^T) tot en met (To) tonen elk het geval van de toepassing van de deco-j ;deringsmethode die hierboven aan de hand van fig. 10 is beschreven. I Bij tot en met (To) wordt het vaste aantal op een moment in ! 15 te voeren bits respectievelijk "2", "3", "4"» "5" en "6" gekozen.With the decoding device according to the invention described above, it is possible to decrease the required capacity of the decoding table memory. Fig. 14 shows memory capacities; required for various decoding methods. The decoding methods are plotted along the abscissa. shows a decoding method using a code table and using codes from the. 81 0 4 3 52 * -20 stored code table are generated sequentially for comparison with an entered code to obtain a decoded result based on coincidence between them. (^), (J) and (^) "each show the case of applying the method described above with reference to FIG. 7, while the number of input code bits is set to a preferred value for each node of the codeboom is selected, ^ 3 ^ is the case where the number of bits to be input at one time is selected from one of the values "1", "2" and "4", and the case is where the number on a moment 1 is 10 bits to be input "1" or "2". (jT) shows the bit-by-bit decoding method described above with reference to Fig. 1. (^ T) to ( To) each show the case of applying the decoding method described above with reference to Fig. 10. At to (To), the fixed number of bits to be input at one time, respectively, is "2", "3", "4", "5" and "6" are selected.

Θ tot en met Θ tonen elk het geval van toepassing van de deco- : 'deringsmethode die hierboven aan de hand van fig. 3 is beschreven.Θ to elk each show the case of applying the decoding method described above with reference to Fig. 3.

Bij 0 tot en met Θ is het aantal op eennoment in te voeren bits respectievelijk "7", "8", "9", "10", "11", "12" en "13" geko-20 zen. Langs de ordinaat is de opslagcapaciteit uitgezet. De kurve 63 ' geldt voor de toepassing van een geheugen van één woord van 16 bits en de kurve 64 voor een geheugen van één woord van acht bits. Uit fig. 14 blijkt dat de opslagcapaciteit die voor de inrichting volgens . fig. 7 nodig is, gelijk is aan het minimum van de opslagcapaciteiten 25 die bij de bekende methoden nodig zijn, in het bijzonder ongeveer I/3 |van de kleinste van de capaciteiten in de gevallen van de toepassing van de methode volgens fig. 3· Bij de inrichting volgens fig. 10 veroorzaakt een toename van het aantal eerst in te voeren bits een toename van de benodigde opslagcapaciteit, maar is kleiner dan of 5Q nagenoeg gelijk aan de opslagcapaciteit die nodig is in het geval van fig. 3.At 0 to Θ, the number of bits to be input at a time is "7", "8", "9", "10", "11", "12", and "13", respectively. The storage capacity has been expanded along the ordinate. The curve 63 'applies to the application of a one-word memory of 16 bits and the curve 64 to the application of a one-word memory of eight bits. It can be seen from Fig. 14 that the storage capacity for the device according to. Fig. 7 is equal to the minimum of the storage capacities required by the known methods, in particular about 1/3 of the smallest of the capacities in the cases of applying the method of Fig. 3 In the device according to Fig. 10, an increase in the number of bits to be entered first causes an increase in the required storage capacity, but is less than or 5Q substantially equal to the storage capacity required in the case of Fig. 3.

Fig. 15 toont de geheugentoegangstijden die bij de diverse de-coderingsmethoden nodig zijn. Langs de abscis zijn dezelfde methoden uitgezet die hierboven in verband met fig. 14 zijn genoemd en langs ; :55 de ordinaat is het aantal toegangen uitgezet. De kurven 65 en 65* gelden elk voor maximale toegangstijden, de kurven 66 en 66' voor gemiddelde toegangstijden en de kurven 67 en 67' gewogen gemiddelde toegangstijden waarbij rekening is gehouden met de waarschijnlijkheid van optreden van elke code; de kurven 65', 66' en 67* illustre-40 ren de gevallen van de toepassing van een geheugen van één woord van.Fig. 15 shows the memory access times required by the various decryption methods. Along the abscissa, the same methods mentioned above in connection with Fig. 14 have been plotted and along; : 55 The ordinance has plotted the number of entrances. The curves 65 and 65 * are each for maximum access times, the curves 66 and 66 'for average access times and the curves 67 and 67' weighted average access times taking into account the probability of occurrence of each code; curves 65 ', 66' and 67 * illustrate the cases of the application of a one word memory of.

8104352 -21- ;16 "bits en de andere de gevallen van de toepassing van een geheugen van één woord van acht hits. Uit fig. 15 "blijkt dat de toegangstij-!den die hij de inrichting volgens de uitvinding nodig zijn, veel kleiner zijn dan het aantal toegangen dat nodig is in het geval van 5 een hit-voor-hit decodering (jT) en slechts enigszins groter dan voor de bekende inrichting volgens fig. 5· In termen van gewogen gemiddelde toegangstijden, die in de praktijk van het meeste belang zijn, ligt de inrichting volgens de uitvinding zeer dicht hij de inrichting volgens fig. 5· 10 Fig. 16 toont, gebaseerd op de hierboven genoemde feiten, de capaciteit van het decoderingstabelgeheugen en de toegangstijden in elk van de diverse inrichtingen, waarbij de capaciteit van het deco-deringstabelgeheugen en het aantal toegangen bij de inrichting volgens fig. 7 respectievelijk zijn voorgesteld door 1.8104352-21-; 16 "bits and the other cases of the application of a one-word memory of eight hits. Fig. 15" shows that the access times required by the device according to the invention are much smaller. are then the number of accesses required in case of a hit-by-hit decoding (jT) and only slightly larger than for the known device according to Fig. 5 · In terms of weighted average access times, which in practice most importantly, the device according to the invention is very close to the device according to fig. 16 shows, based on the above facts, the capacity of the decoding table memory and the access times in each of the various devices, the capacity of the decoding table memory and the number of accesses in the device of FIG. 7 being respectively represented by 1.

15 Zoals hierboven is beschreven wordt volgens de uitvinding het aantal daarop volgend in te voeren codebits bepaald door het uitlezen van het decoderingstabelgeheugen, een optelling of soortgelijke bewerking van het gegeven dat uit het decoderingstabelgeheugen wordt: uitgelezen, en wordt de ingevoerde code bewerkt om het adres vast te 20 stellen waartoe daarna toegang moet worden verkregen, waarna hetzelfde decoderingsgeheugen wordt geadresseerd onder toepassing van het |adres. Dit verlaagt de geheugencapaciteit en het aantal toegangen en ilaat dus een zeer snelle decodering toe met weinig apparatuur. Bovendien wordt bij de uitvoeringsvorm volgens fig. 7 wanneer één code 25 wordt gedecodeerd, de voorste bit van de ingangscode de eerste bit van de volgende code, waardoor de volgende bewerking mogelijk wordt.As described above, according to the invention, the number of code bits to be entered subsequently is determined by reading out the decoding table memory, adding or similar processing of the data being read out from the decoding table memory, and the entered code is processed for the address determine what to access next, after which the same decoding memory is addressed using the address. This reduces the memory capacity and the number of accesses and thus allows very fast decoding with little equipment. In addition, in the embodiment of Fig. 7, when one code 25 is decoded, the front bit of the input code becomes the first bit of the next code, allowing the next operation.

Hoewel hierboven is gesteld dat het adres waartoe daarna toegang moet worden verkregen, wordt afgeleid door bij elkaar optellen van het gegeven dat uit het decoderingstabelgeheugen wordt uitgele- is ;30.zen, en de ingangscode, het eveneens mogelijk dit adres te verkrijgen door andere bewerkingen daarvan, zoals aftrekken en vermenigvuldigen. Aangezien hierboven de uitvoeringsvormen van de uitvinding zijn beschreven als een toepassing van de decodering van de gemodificeerde "Huffman"-code, is de informatie die de codesoort voorstelt, 35 dat wil zeggen of de code een opbouw of eindcode is, in de eindcode inbegrepen, maar in het geval van een zuivere "Huffman"-code is de informatie die de codesoort voorstelt, niet nodig. Voorts is de uit- i vinding ook toepasbaar op het decoderen van codes met variabele lengte die in het algemeen worden voorgesteld door een codeboom.Although it has been stated above that the address to be subsequently accessed is derived by adding together the data being read from the decoding table memory, and the input code, it is also possible to obtain this address by other operations from it, such as subtract and multiply. Since the embodiments of the invention have been described above as an application of the decoding of the modified "Huffman" code, the information representing the code type, ie whether the code is a build-up or end code, is included in the end code, but in the case of a pure "Huffman" code, the information representing the code type is not necessary. Furthermore, the invention is also applicable to decoding variable length codes generally represented by a code tree.

'40 Het zal duidelijk zijn dat binnen het kader van de uitvinding diverse varianten mogelijk zijn.It will be clear that various variants are possible within the scope of the invention.

8 1 0 4 3 528 1 0 4 3 52

Claims (11)

1. Inrichting voor het decoderen van een code met een variabele: lengte voorgesteld door een codeboom, waarbij tot een decoderingstabelgeheugen toegang wordt verkregen door een uitleesmiddel om daar-: 5iuit gegevens uit te lezen, waarbij door beslissingsmiddelen wordt !beslist of het uitgelezen gegeven een eindgegeven of een tussengege-|ven is, waarbij in het geval van een eindgegeven, de informatie daarin die het resultaat van de decodering voorstelt, wordt uitgevoerd door uitvoermiddelen, en waarbij in het geval van een tussentijds 10 gegeven, het decoderingstabelgeheugen wordt uitgelezen gebaseerd op : een adresgegeven in het tussentijdse gegeven, met het kenmerk , dat het decoderingstabelgeheugen (16) een gebied heeft .voor het opslaan van het eindgegeven (fig. 5-A) omvattende informatie : :die de voltooiing van de decodering aangeeft en informatie die het 15|gedecodeerde resultaat voorstelt, en een gebied voor het opslaan van ;het tussentijdse gegeven (fig. 5®)> omvattende informatie die de on-! voltooide decodering aangeeft, informatie die het aantal bits aan- | igeeft, dat uit een ingangscodetrein moet worden ingevoerd, en infor-: ;matie voor het bepalen van het adres van het decoderingstabelgeheu-20 gen waartoe toegang moet worden verkregen, en dat er invoermiddelen (24, 26, 56) aanwezig zijn om in het geval van het tussentijdse gegeven een gegeven uit de ingangscodetrein in te voeren met een aantal bits dat door de informatie van het tussentijdse gegeven wordt bepaald, die het aantal in te voeren bits voorstelt, en voorts 25 adresbewerkingsmiddelen (22.) aanwezig zijn om in het geval van een tussentijds gegeven de informatie van het tussentijdse gegeven te bewerken om het adres van het decoderingstabelgeheugen te bepalen, waartoe toegang moet worden verkregen en om het door de invoermidde-i len in te voeren gegev.en te bewerken om het adres van het decode-:30 ringstabelgeheugen te verkrijgen, waartoe daarna toegang moet worden verkregen.1. Device for decoding a variable length code represented by a code tree, a decoding table memory being accessed by a reading means to read data therefrom, deciding whether the read data is a is final data or is an intermediate data, wherein in the case of a final data, the information therein representing the result of the decoding is outputted from output means, and in the case of an intermediate data, decoding table memory is read based on : an address data item in the intermediate data item, characterized in that the decoding table memory (16) has an area for storing the end data item (Fig. 5-A) including:: indicating the completion of the decoding and information 15 | represents decoded result, and an area for storing the intermediate data (fig. 5®)> including information tie the on-! indicates decoding completed, information indicating the number of bits indicates that an input code train must be input, and information for determining the address of the decoding table memories to be accessed, and that input means (24, 26, 56) is provided to enter the case of the intermediate data to input a data from the input code train with a number of bits determined by the information of the intermediate data representing the number of bits to be input, and further address processing means (22.) are provided for in case of an intermediate data, edit the information of the intermediate data to determine the address of the decoding table memory to be accessed and to edit the data to be input by the input means to the address of the decode -: 30 to obtain ring table memory, which must then be accessed. 2. Decoderingsinrichting volgens conclusie 1, met het kenmerk, dat de informatie die het aantal in te voeren bits ivoorstelt, wordt gekozen als een.variabel getal dat kleiner is dan 35 het aantal takken vanaf een oorsprong of intern knooppunt naar het meest nabij gelegen eindknooppunt in de codeboom.Decoding apparatus according to claim 1, characterized in that the information representing the number of bits to be entered is selected as a variable number less than the number of branches from an origin or internal node to the nearest end node. in the code tree. 3· Decoderingsinrichting volgens conclusie 1, met het kenmerk , dat het aantal eerst in te voeren bits voor elke code van de ingangscodetrein wordt opgeslagen in een begingegevenge-40'heugen dat gescheiden van het decoderingstabelgeheugen is aangebracht. 8104352 * \ -23-Decoding apparatus according to claim 1, characterized in that the number of bits to be entered first for each code of the input code train is stored in an initial data memory 40 which is arranged separately from the decoding table memory. 8104352 * \ -23- 4. Inrichting voor het decoderen van een code met een variabele •lengte voorgesteld door een codeboom, waarbij door uitleesmiddelen itoegang wordt verkregen door een decoderingstabelgeheugen om daaruit: ! gegevens uit te lezen, door beslissingsmiddelen wordt beslist of het ' 5 :uitgelezen gegeven een eindgegeven of een tussentijds gegeven is, waarbij in het geval van een eindgegeven de informatie die het deco-: deringsresultaat in het eindgegeven voorstelt, wordt uitgevoerd door| uitvoermiddelen, en waarbij in het geval van een tussentijds gege- ! ven het decoderingstabelgeheugen wordt uitgelezen gebaseerd op een 10 adresgegeven in het tussentijdse gegeven, met het ken-m e r k , dat het decoderingstabelgeheugen (l6)een gebied heeft voor 'het opslaan van het eindgegeven omvattende informatie die de voltooiing van de decodering voorstelt, informatie die een gedecodeerd resultaat voorstelt, en informatie die het aantal eerst in te voeren 15 bits voor elke code voorstelt, en een gebied voor het opslaan van het 'tussentijdse gegeven omvattende informatie die de onvoltooide decodering voorstelt en informatie voor het bepalen van het adres van het decoderingstabelgeheugen, waartoe toegang moet worden verkregen, en dat er voorzien is in invoermiddelen (24» 26, 35) om in het geval 20 van een tussentijds gegeven, uit de ingangscodetrein een gegeven met een vast aantal bits (m) in te voeren, waarbij m een geheel getal 2 of hoger is; adresbewerkingsmiddelen (22) om in het geval van het tussentijdse gegeven de informatie voor het bepalen van het adres van het decoderingstabelgeheugen, waartoe tóègang moet worden 25 verkregen, te bewerken en om het gegeven dat door de invoermiddelen is ingevoerd, te bewerken om het adres van het decoderingstabelgeheugen vast te stellen, waartoe daarna toegang moet worden verkregen; middelen (12) voor het herhaaldelijk activeren van de uitlees- ; middelen, de invoermiddelen, de beslissingsmiddelen en de adresbe-|30 werkingsmiddelen totdat het eindgegeven wordt uitgelezen; en tweede invoermiddelen (24, 26, 37) om in het geval van een eindgegeven een gegeven uit de ingangscodetrein in te voeren met een aantal bits dat door de informatie wordt bepaald, die het aantal eerst in te voeren bits voorstelt.4. A device for decoding a variable-length code represented by a code tree, wherein readout means access it through a decoding table memory to: data to be read, it is decided by decision means whether the '5: data read out is an end data or an interim data, whereby in the case of a data end, the information representing the decoding result in the final data is output by | means of output, and where, in the event of an interim data! The decoding table memory is read based on an address data in the intermediate data, characterized in that the decoding table memory (16) has an area for storing the end data including information representing the completion of the decoding. represents a decoded result, and information representing the number of first 15 bits to be entered for each code, and an area for storing the intermediate data including information representing the incomplete decoding and information for determining the address of the decoding table memory , to which access is to be obtained, and that input means (24, 26, 35) are provided for in the case of an intermediate entry, to input from the input code train an entry with a fixed number of bits (m), wherein m an integer 2 or higher; address editing means (22) in the case of the intermediate data, to edit the information for determining the address of the decoding table memory to which access is to be obtained, and to edit the data entered by the input means to address the address of determine the decryption table memory to be accessed thereafter; means (12) for repeatedly activating the readout; means, the input means, the decision means and the address processing means until the final data is read; and second input means (24, 26, 37) for in the case of an end entry, to input a data from the input code train with a number of bits determined by the information representing the number of bits to be input first. 5· Decoderingsinrichting volgens conclusie 4> m e t h e t kenmerk , dat de informatie over het aantal eerst in te voeren ;bits L-(n-1)m is, waarbij L de codelengte is die op dat moment wordt igedecodeerd, en n het aantal toegangen is, dat voor het decoderen tót het decoderingstabelgeheugen wordt uitgevoerd. j 4qDecoding apparatus according to claim 4, characterized in that the information about the number to be entered first is bits L- (n-1) m, where L is the code length currently being decoded, and n is the number of accesses , which is performed for decoding to the decoding table memory. j 4q 6. Decoderingsinrichting volgens conclusie 4» met het 8104352 * . * -24- <_ |k e n m e r k , dat middelen aanwezig zijn voor het opslaan van een vast aantal (m) , welk aantal bits wordt ingevoerd in het geval dat het uitgelezen gegeven door het beslissingsmiddel is vastgesteld als een tussentijds gegeven. : 56. Decoding device as claimed in claim 4 »with the 8104352 *. * -24- <_ | c h e r, that means are present for storing a fixed number (m), which number of bits is entered in the event that the read out data is determined by the decision means as an intermediate data. : 5 7. Decoderingsinrichting volgens conclusie 1 of 4( met het kenmerk, dat het eindgegeven informatie omvat die het soort van een gedecodeerde code voorstelt.Decoding device according to claim 1 or 4 (characterized in that it comprises end-of-line information representing the type of a decoded code. 8. Decoderingsinrichting volgens conclusie 7> met het kenmerk, dat de uitvoermiddelen zodanig zijn ingericht, dat in 10 het geval waarin het uitgelezen gegeven door het beslissingsmiddel wordt vastgesteld als een eindgegeven, de bestemming van de gedecodeerde resultaatinformatie van het eindgegeven wordt gewijzigd volgens de informatie van het eindgegeven, die de codesoort aangeeft.8. Decoding device according to claim 7, characterized in that the output means are arranged such that in the case where the read-out data is determined by the decision-making means as an end data, the destination of the decoded result information of the end data is changed according to the information of the end data, which indicates the code type. ! 9· Decoderingsinrichting volgens conclusie 1 of 4> met het 15;k e n m e r k , dat de adresbewerkingsmiddelen middelen zijn voor het uitvoeren van een optelbewerking. j! Decoding device according to claim 1 or 4, characterized in that the address processing means are means for performing an addition operation. j 10. Decoderingsinrichting volgens conclusie 1 of 4» met :h e t kenmerk, dat in het gegevenformaat van het eindgegeven1 ! :en het tussentijdse gegeven, dezelfde bit is toegevoegd aan de in- 20 formatie die de voltooiing van de decodering aangeeft en de informa-. i tie die de onvoltooide decodering voorstelt.10. Decoding device according to claim 1 or 4, characterized in that it is in the data format of the end data 1! : and the intermediate data, the same bit is added to the information indicating the completion of the decoding and the information. i suggestion of the incomplete decoding. , 11. Decoderingsinrichting volgens conclusie 1 of 4i met het kenmerk, dat in het gegevenformaat van het eindgegeven i ; · ’ 1 - en het tussentijdse gegeven de bittoewijzing aan de gedecodeerde re-25 suitaatinformatie en de bittoewijzing aan de informatie voor het bepalen van het adres van het decoderingstabelgeheugen waartoe toegang moet worden verkregen, elkaar ten minste overlappen. 8104352Decoding device according to claim 1 or 4i, characterized in that in the data format of the final data i; · "1 - and the intermediate data bit assignment to the decoded decipheration information and bit allocation to the information for determining the address of the decoding table memory to be accessed at least overlap. 8104352
NL8104352A 1980-09-22 1981-09-22 DEVICE FOR DECODING A VARIABLE LENGTH CODE PROPOSED BY A CODE TREE. NL190094C (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP13186280A JPS5755668A (en) 1980-09-22 1980-09-22 Decoding method for run-length code
JP13186280 1980-09-22

Publications (3)

Publication Number Publication Date
NL8104352A true NL8104352A (en) 1982-04-16
NL190094B NL190094B (en) 1993-05-17
NL190094C NL190094C (en) 1993-10-18

Family

ID=15067855

Family Applications (1)

Application Number Title Priority Date Filing Date
NL8104352A NL190094C (en) 1980-09-22 1981-09-22 DEVICE FOR DECODING A VARIABLE LENGTH CODE PROPOSED BY A CODE TREE.

Country Status (5)

Country Link
JP (1) JPS5755668A (en)
DE (1) DE3137704C2 (en)
FR (1) FR2490899A1 (en)
GB (1) GB2084366B (en)
NL (1) NL190094C (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5937773A (en) * 1982-08-26 1984-03-01 Canon Inc Run-length coding and decoding device
JPS59225676A (en) * 1983-06-06 1984-12-18 Usac Electronics Ind Co Ltd Generating circuit of bit length variable code
JPS6041883A (en) * 1983-08-17 1985-03-05 Fujitsu Ltd Decoding system of coded data
JPS6098768A (en) * 1983-11-04 1985-06-01 Sony Corp Decoding method of run length code
JPS61139069U (en) * 1985-02-18 1986-08-28
GB2178577B (en) * 1985-07-27 1989-01-11 Plessey Co Plc A signal converter
US4800441A (en) * 1986-02-28 1989-01-24 Kabushiki Kaisha Toshiba Binary data compression and expansion processing apparatus
JPH0656958B2 (en) * 1986-07-03 1994-07-27 キヤノン株式会社 Information data restoration device
JP3227292B2 (en) * 1993-12-20 2001-11-12 キヤノン株式会社 Encoding device, encoding method, decoding device, decoding method, encoding / decoding device, and encoding / decoding method
US6408102B1 (en) 1993-12-20 2002-06-18 Canon Kabushiki Kaisha Encoding/decoding device
KR0152038B1 (en) * 1994-10-17 1998-10-15 김광호 Variable length decode apparatus using partner address

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2208664A1 (en) * 1971-02-26 1972-08-31 Ibm Method for decoding a prefix-free compression code of variable length
US3701111A (en) * 1971-02-08 1972-10-24 Ibm Method of and apparatus for decoding variable-length codes having length-indicating prefixes
US3835467A (en) * 1972-11-10 1974-09-10 Ibm Minimal redundancy decoding method and means
US3918047A (en) * 1974-03-28 1975-11-04 Bell Telephone Labor Inc Decoding circuit for variable length codes

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3883847A (en) * 1974-03-28 1975-05-13 Bell Telephone Labor Inc Uniform decoding of minimum-redundancy codes

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3701111A (en) * 1971-02-08 1972-10-24 Ibm Method of and apparatus for decoding variable-length codes having length-indicating prefixes
DE2208664A1 (en) * 1971-02-26 1972-08-31 Ibm Method for decoding a prefix-free compression code of variable length
US3835467A (en) * 1972-11-10 1974-09-10 Ibm Minimal redundancy decoding method and means
US3918047A (en) * 1974-03-28 1975-11-04 Bell Telephone Labor Inc Decoding circuit for variable length codes

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
IBM TECHNICAL DISCLOSURE BULLETIN, vol. 15, nr. 4, september 1972 NEW YORK (US) *
IBM TECHNICAL DISCLOSURE BULLETIN, vol. 16, nr. 11, april 1974 NEW YORK (US) *
IBM TECHNICAL DISCLOSURE BULLETIN, vol. 19, nr. 5, oktober 1976 NEW YORK (US) *
IBM TECHNICAL DISCLOSURE BULLETIN, vol. 23, nr. 3, augustus 1980 NEW YORK (US) *

Also Published As

Publication number Publication date
GB2084366A (en) 1982-04-07
FR2490899B1 (en) 1984-12-28
JPS6338153B2 (en) 1988-07-28
FR2490899A1 (en) 1982-03-26
DE3137704C2 (en) 1986-01-09
DE3137704A1 (en) 1982-04-15
NL190094B (en) 1993-05-17
NL190094C (en) 1993-10-18
JPS5755668A (en) 1982-04-02
GB2084366B (en) 1985-07-03

Similar Documents

Publication Publication Date Title
US4475174A (en) Decoding apparatus for codes represented by code tree
US4800441A (en) Binary data compression and expansion processing apparatus
KR950003199B1 (en) Method of transmitting informaiton encoding and decoding device
NL8104352A (en) DECODER FOR CODES PROPOSED BY A CODE TREE.
US5815737A (en) Approach for identifying a subset of asynchronous transfer mode (ATM) VPI/VCI values in the complete VPI/VCI range
GB1570343A (en) Information storage and retrieval system
JPH10187410A (en) Method and device for compressing data
US5467088A (en) Huffman code decoding circuit
US4285049A (en) Apparatus and method for selecting finite success states by indexing
EP0467678B1 (en) Variable length coding apparatus and variable length decoding apparatus
US6054942A (en) System and method for scaleable encoding and decoding of variable bit frames
US5404138A (en) Apparatus for decoding variable length codes
US4185302A (en) Run length encoding of facsimile signals
US4580129A (en) Variable word length decoder
EP0212905A2 (en) Decoding apparatus for image code
US5274835A (en) Merge device using FIFO buffers
US5960117A (en) Method of adaptive arithmetic encoding/decoding according to JBIG standard
JPH0460391B2 (en)
NL8601086A (en) METHOD AND APPARATUS FOR PROCESSING AN IMAGE SIGNAL
EP0152480B1 (en) Picture element generator for facsimile receiver
US4185303A (en) Run length encoding of facsimile pictures
US5991340A (en) Method and system for encoding and decoding data using run prediction
US5854791A (en) Communication control apparatus
JP3317079B2 (en) Variable length code decoding device
US5953454A (en) Minimum distance storage device

Legal Events

Date Code Title Description
A1A A request for search or an international-type search has been filed
BB A search report has been drawn up
A85 Still pending on 85-01-01
BC A request for examination has been filed
CNR Transfer of rights (patent application after its laying open for public inspection)

Free format text: NIPPON TELEGRAPH AND TELEPHONE CORPORATION

V4 Discontinued because of reaching the maximum lifetime of a patent

Free format text: 20010922