FI115350B - Menetelmä ja laite datarakenteen käyttämiseksi datanpakkauksessa - Google Patents

Menetelmä ja laite datarakenteen käyttämiseksi datanpakkauksessa Download PDF

Info

Publication number
FI115350B
FI115350B FI961369A FI961369A FI115350B FI 115350 B FI115350 B FI 115350B FI 961369 A FI961369 A FI 961369A FI 961369 A FI961369 A FI 961369A FI 115350 B FI115350 B FI 115350B
Authority
FI
Finland
Prior art keywords
node
end node
string
search
linked list
Prior art date
Application number
FI961369A
Other languages
English (en)
Swedish (sv)
Other versions
FI961369A (fi
FI961369A0 (fi
Inventor
Frank Fulling
Wayne M Demello
Original Assignee
Motorola Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Motorola Inc filed Critical Motorola Inc
Publication of FI961369A publication Critical patent/FI961369A/fi
Publication of FI961369A0 publication Critical patent/FI961369A0/fi
Application granted granted Critical
Publication of FI115350B publication Critical patent/FI115350B/fi

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/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3088Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing the use of a dictionary, e.g. LZ78
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching

Description

115350
Menetelmä ja laite datarakenteen käyttämiseksi datanpak-kauksessa Tämä keksintö liittyy datapakkaukseen (data compression) 5 dataliikennelaitteistossa ja erityisesti datapakkaustek- niikkoihin, jotka käyttävät datarakenteita tehokkaaseen datapakkaukseen.
Datamuisti- ja dataliikennejärjestelmät käsittelevät tyy-10 pillisesti merkittävän määrän redundanssia sisältävää dataa. Dataa varten tarvittavan muistin sekä sen olennaisen datan, joka on tarpeen lähettää alkuperäisen datan aikaansaamiseksi, määrän pienentämiseksi on käytetty monia tekniikkoja. Nykyaikainen tekniikka sallii siten datan 15 lähettämisen lyhyemmässä ajassa viestintäkanavalla. Tavallista on, että pakkaus pienentää datatiedoston kokoa vähintään suhteessa 2:1.
Tietyt tyyppikohtaiset menetelmät ovat tavallisesti olleet 20 tehokkaampia tietyillä tiedostotyypeillä kuin yleiset algoritmit. Jotkin tyyppikohtaiset menetelmät vaativat .;\ kuitenkin merkittävästi laskentakuormitusta yleiseen pak- • · kausmenetelmään verrattuna. Jotkin tunnetuista tekniikois- * · · .!*! ta tekevät implisiittisiä oletuksia käsiteltävästä datasta » · « ' 25 tai datatiedoston tyypistä. Esimerkiksi videonäytöissä voidaan olettaa, että vain pienet videonäytön osat muuttu-'>·’ vat, ja on välttämätöntä seurata vain muutoksia ja pysyt- ·.· ‘ tää muuttumattomat osat entisellään.
,tjj* 30 Pakkaus- ja dekompressointinopeus on tärkeä siinä suhtees- : sa, että pakkaustekniikka ei ehkä ole hyväksyttävä, jos laskentakuormitus alentaa tiedonsiirtonopeutta liikaa • · . aiheuttaen järjestelmän suorituskyvyn heikkenemisen. Esi- • » » I · • · . merkiksi jononpituuskoodaus (run-length encoding) käyttää 35 hyväksi saman merkin, kuten välilyönnin tai nollan, tois- 2 115350 tuvia merkkijonoja. Jononpituuskoodaus siis koodaa toistuneet merkkijonot "escape”-merkkiä, toistomerkkiä, ja toistettavaa merkkiä käyttäen. Jononpituuskoodaus on selvästikin tehoton, mikäli merkit eivät toistu.
5
Kun yhä useammat käyttäjät suorittavat datantallennusta ja dataliikennettä, niin on olemassa entistä tehokkaamman datantallennuksen ja nopeamman dataliikenteen tarve.
10 Kuvio 1 on erään esillä olevan keksinnön menetelmän mukaisten vaiheiden suoritusmuodon vuokaavio.
Kuvio 2 on vuokaavio, joka esittää erästä esillä olevan keksinnön menetelmän vaiheiden toista suoritusmuotoa.
15
Kuvio 3 on esillä olevan keksinnön mukaisen päätesolmuun (termination node) perustuvan uuden menetelmän vaihtoehtoisten suoritusmuotojen kaavio.
20 Kuvio 4 on merkkijonon etsintälaitteen lohkokaavio suorittimessa, joka käsittelee syötettyjä merkkejä sekä tehok-'. kaasti käyttää ja ylläpitää linkitettyä listadataraken- netta esillä olevan keksinnön mukaan.
25 Kuvio 5 on dataliikennejärjestelmän erään suoritusmuodon • · · lohkokaavio, joka dataliikennejärjestelmä käsittää useita f « dataliikennelaitteita, joissa kussakin on merkkijonon etsintälaite suorittimessa, joka käsittelee syötettyjä merkkejä sekä tehokkaasti käyttää ja ylläpitää linkitettyä » 30 listadatarakennetta esillä olevan keksinnön mukaan.
Esillä oleva keksintö saa aikaan menetelmän ja laitteen, jotka käsittävät ainutlaatuisen ja tehokkaan kaavan Iin- > · . kitetyn listadatarakenteen käyttämiseksi käyttäjädatan 35 koodauksessa ja dekoodauksessa parantaen siten dataliiken- > 3 115350 teen tehokkuutta ja nopeutta. Esillä olevan keksinnön menetelmä ja laite minimoivat suorittimen laskentakäytön, minimoivat läpäisyviiveen ja maksimoivat dataliikennejär-jestelmän läpäisykyvyn.
5 V.42bis on datanpakkauksessa käytettävä merkkijonon pak-kausalgoritmi, joka käyttää linkitettyä listadataraken-netta käyttäjädatan merkkijonojen muodostamiseksi ja ylläpitämiseksi. Käyttämällä erityistä lisäelementtiä esillä 10 oleva keksintö saa aikaan tehokkaan datanpakkauksen verrattuna sellaiseen datanpakkaukseen, jossa käytetään vain V.42bis-tyyppistä linkitettyä listadatarakennetta. Tämä erityinen lisäelementti on määritelty "päätesolmuksi" ("termination node"). Päätesolmu aiheuttaa olemassaoleval-15 le datarakenteelle mitättömän lisärasituksen, mitä luku-kirjoi tusmuistin (RAM, random access memory) tarpeeseen tulee. Tämä keksintö myös yksinkertaistaa linkitetyn listan ylläpitoa ja sallii datanpakkauslogiikan vapaakäynti-syyden eliminoiden siten poikkeuskäsittelyn. Edellä mai-20 nittu yksinkertaistus ja jälleenkäyttö vähentää lukumuis-tin (ROM, read only memory) tarvetta V.42bis-toteutukses-sa. Lisäksi tämä keksintö sallii erityisen menetelmän • i kooderin ja dekooderin keskinäisen synkronoinnin ^ menetyksen ilmaisemiseksi.
25
Tyypillisiä V.42bis-operaatioita ovat: etsintä linkitetys- • · i tä listasta, solmujen lisäys linkitettyyn listaan, lehti- • · · *·’ * solmujen (leaf nodes) löytäminen linkitetystä listasta ja lehtisolmujen poistaminen linkitetystä listasta. Esillä 30 oleva keksintö parantaa näiden kunkin operaation tehok- • · » : kuutta.
• · >tt . Etsintäoperaatio suorittaa etsinnän peräkkäisesti linkite- • · . tystä listasta tarkistaen kunkin linkitetyssä listassa 35 olevan soimiin merkkikentän yhtäpitävyyden syötetyn merkin * · 4 115350 kanssa. Etsintäoperaatio käyttää toistologiikkaa, joka tarkistaa solmun yhtäpitävyyden ja siirtyy ei-yhtäpitävyyden tapauksessa järjestyksessä seuraavaan solmuun jatkamaan etsintää. Etsintäoperaatio tyypillisesti tarkistaa 5 mahdollisen yhtäpitävyysehdon sekä ehdon, joka ilmaisee linkitetyn listan lopun. Päätesolmun käyttäminen sallii mahdollisen yhtäpitävyysehdon tarkistuksen olevan riittävän hakulogiikan suorituksen päättämiseksi. Koska linkitetty lista on leksikografisesti järjestetty lista, niin 10 etsintäoperaatio voidaan päättää sen jälkeen kun on löydetty solmu, joka sisältää merkkikentässä sellaisen merkin, joka on suurempi tai yhtäsuuri kuin syötetty merkki. Päätesolmu alustetaan sisältämään merkkikentässä sellaisen merkin, joka on suurempi kuin kaikki mahdolliset syötettä-15 vät merkit, missä merkki vastaa 8 bittiä. Toisaalta tämän keksinnön mukaan päätesolmu sijaitsee aina leksikografi-sesti linkitetyn listan päässä. Tämä päätesolmun sijoitus takaa sen, että etsintäoperaatio päättyy sen jälkeen, kun linkitetystä listasta on löydetty sellainen solmu, joka on 20 suurempi tai yhtäsuuri kuin syötetty merkki, ilman että mennään linkitetyn listan loppuun asti. Linkitetyn listan lopun tarkistuksen elimininointi yksinkertaistaa logiikkaa ja vähentää käsittelyaikaa syötettyä merkkiä kohti.
25 Jos edellä kuvatusta etsintäoperaatiosta aiheutuu ei-yhtä- > · pitävä-tila, niin syötettyä merkkiä käytetään tyypillises-ti muodostamaan uusi solmu, joka lisätään tutkittavaan linkitettyyn listaan. Uusi solmu lisätään linkitettyyn listaan oikeassa leksikografisessa järjestyksessä. Tyypil-1' 30 lisesti on kolme lisäysluokkaa, jotka voivat esiintyä. Voi : olla tarpeen lisätä uusi solmu ensimmäiseksi solmuksi lis- _ ' . taan, ensimmäisen ja viimeisen listassa olevan solmun vä lille tai viimeiseksi solmuksi listaan. Kukin näistä li-. säystapauksista vaatii erityisen logiikan asianomaisten 'ί'Ί 35 linkkien muuttamiseksi uuden solmun lisäämistä varten.
5 115350 Päätesolmun käyttäminen eliminoi yhden näistä kolmesta li-säystapauksesta, erityisesti viimeiseksi solmuksi lisäämistä koskevan tapauksen. Viimeisen solmun lisäys ei enää ole välttämätön, koska päätesolmu on aina viimeinen solmu 5 missä tahansa linkitetyssä listassa. Viimeisen solmun lisäämisen eliminointi yksinkertaistaa logiikkaa/vähentää lukumuistin (ROM) tarvetta ja vähentää käsittelyaikaa syötettyä merkkiä kohti.
10 V.42bis:n rajoitusten puitteissa, aina kun uusi solmu lisätään, jokin muu solmu täytyy poistaa. Poistettava solmu valitaan hakemalla järjestyksessä seuraava lehtisolmu. Lehtisolmu on sellainen solmu, jolla ei ole linkitettyä lapsilistaa (child list). Lehtisolmun hakuoperaatio on 15 luonteeltaan toistuva ja tarkistaa peräkkäisiä solmuja, kunnes lehtisolmu löytyy. Tyypillisesti tällä logiikalla on kaksi ehtoa, jotka täytyy tarkistaa. Logiikan täytyy tarkistaa, onko solmu lehtisolmu, ja sen täytyy tarkistaa myös, onko datarakenteen loppu saavutettu. Esillä olevassa 20 keksinnössä viimeksi mainittu tarkistus voidaan eliminoida päätesolmun käyttämisen vuoksi, koska päätesolmu sijaitsee ·. viimeisenä solmiona koko datarakenteessa. Itse päätesolmu on siis lehtisolmu. Tämä takaa sen, että lehtisolmun ha- . kuoperaatio aina löytää lehtisolmun, eliminoiden lisätar- • · » » * 25 kistuksen datarakenteen lopun löytämiseksi toistologiikas- • > · sa. Viimeisen solmun tarkistuksen eliminointi yksinker- • « ' ·’ taistaa logiikkaa/vähentää ROM:n tarvetta ja vähentää V ’ käsittelyaikaa syötettyä merkkiä kohti.
t _*;· 30 Sen jälkeen kun lehtisolmu on valittu, lehtisolmu täytyy poistaa sen linkitetystä listasta. Poistettava solmu voi • · · olla ensimmäinen solmu listassa, ensimmäisen ja viimeisen , listassa olevan solmun välillä tai oikeanpuoleisin solmu listassa. Kukin näistä poistotapauksista vaatii erityisen 35 logiikan asianomaisten linkkien muuttamiseksi solmun pois- 6 115350 tamiseksi. Päätesolmu eliminoi yhden näistä kolmesta tapauksesta. Erityisesti tapaus, jossa viimeinen solmu poistetaan, ei ole enää välttämätön, koska päätesolmu aina on viimeinen solmu missä tahansa linkitetyssä listassa. Tämän 5 tapauksen eliminointi yksinkertaistaa logiikkaa/vähentää ROM:n tarvetta ja vähentää käsittelyaikaa syötettyä merkkiä kohti.
Päätesolmua voidaan käyttää myös välittömän ei-yhtäpitävä-10 tilan pakottamiseksi aloittamalla etsintä itse pää-tesolmusta, mikä V.42bis:n puitteissa on useista syistä toivottavaa. Aloitettaessa etsintä päätesolmusta välitön ei-yhtäpitävä-tila on taattu, koska päätesolmu on lehti-solmu. Kun ei-yhtäpitävä-tila tietyllä syötetyllä merkillä 15 on taattu, erityisen, ylimääräisen logiikan tarve ei-yhtä-pitävä-tilan takaamiseksi eliminoituu. Päätesolmun käyttö yksinkertaistaa siten logiikkaa ja vähentää käsittelyaikaa syötettyä merkkiä kohti takaamalla ei-yhtäpitävä-tilan.
20 Lisäksi päätesolmua voidaan käyttää erityisenä menetelmänä kooderin ja dekooderin keskinäisen synkronoinnin , ·, menetyksen ilmaisemiseksi. Dekooderi tyypillisesti vastaanottaa koodisanoja kooderilta, missä koodisanat • · . I edustavat merkkijonoja dekooderin linkitetyssä listadata- • · • ·[ 25 rakenteessa. Kooderin ja dekooderin keskinäisen tahdin » i · menetyksen ilmaisemiseksi dekooderin täytyy tarkkailla « tiettyjä virhetiloja. Eräs näistä tiloista voi olla ·. ’ linkittämätöntä solmua edustavan koodisanan vastaanotto.
Linkitettäessä kaikki ei-linkitetyt solmut päätesolmuun ·;· 30 dekooderi voi välittömästi ilmaista tämän virhetilan ja suorittaa tahdin menetyksen johdosta asianmukaiset '. toimenpiteet.
Kuvio 1, viitenumero 100, on erään esillä olevan keksinnön •:": 35 menetelmän mukaisten vaiheiden suoritusmuodon vuokaavio.
» » · • · 7 115350
Menetelmä saa aikaan merkkijonon etsinnän datanpakkaus-järjestelmässä linkitetyn listadatarakenteen tehokkaaksi käyttämiseksi ja ylläpitämiseksi syötetyillä merkeillä. Menetelmä käsittää seuraavat vaiheet: A) sijoitetaan pää-5 tesolmu, missä päätesolmu on linkitetty jokaiseen juuri-solmuun (root node) (102); ja B) käytetään hyväksi pääte-solmua (104) ainakin yhdessä seuraavista vaiheista 1-4: 1) määritetään mahdollinen yhtäpitävyys lapsilistassa (106); 2) lisätään uusi solmu päätesolmun edelle (108); 10 3) määritetään seuraava lehtisolmu, ja mikäli seuraava lehtisolmu on päätesolmu, palataan datarakenteen alkuun (110); ja 4) mikäli seuraava lehtisolmu ei ole päätesolmu, poistetaan lehtisolmu päätesolmun edeltä (112).
15 Kuvio 2, viitenumero 200, on vuokaavio, joka esittää esillä olevan keksinnön menetelmän vaiheiden erästä toista suoritusmuotoa. Merkkijonon etsintämenetelmä käyttää ja ylläpitää linkitettyä listadatarakennetta syötetyillä merkeillä datanpakkausrakenteessa tehokkaasti ja käsittää 20 seuraavat vaiheet: A) sijoitetaan päätesolmu muistiyksik-köön, missä päätesolmu on linkitetty muistiyksikön jokaiseen juurisolmuun (202), B) käytetään hyväksi päätesolmuun I * perustuvaa uutta kaavaa merkkijonon etsintämenettelyn yksinkertaistamiseksi suorittimessa, missä käsittely on : ·’ 25 minimoitu ja läpäisykyky maksimoitu (204) .
.* Kuten kuviossa 3, viitenumero 300, on esitetty, päätesol- : muun perustuva uusi kaava voidaan valita käsittämään ainakin yksi seuraavista: käytetään päätesolmua mahdollisen :· 30 yhtäpitävyyden määrittämiseksi lapsilistassa (302); käyte tään päätesolmua uuden solmun lisäämiseksi päätesolmun . edelle (304); määritetään seuraava lehtisolmu, ja mikäli | seuraava lehtisolmu on päätesolmu, palataan datarakenteen alkuun (306); mikäli seuraava lehtisolmu ei ole päätesol-• 35 mu, poistetaan lehtisolmu päätesolmun edeltä (308); käyte- 8 115350 tään päätesolmua välittömän ei-yhtäpitävä-tilan pakottamiseksi (310); ja käytetään datanpakkausjärjestelmässä päätesolmua datanpakkausjärjestelmän kooderin ja dekooderin keskinäisen tahdin menetyksen ilmaisemiseksi (312).
5
Kuvio 4, viitenumero 400, on merkkijonon etsintälaitteen lohkokaavio suorittimessa (402), joka käsittelee syötettyjä merkkejä sekä tehokkaasti käyttää ja ylläpitää linkitettyä listadatarakennetta esillä olevan keksinnön mukaan. 10 Merkkijonon etsintälaite (410) käsittää: A) päätesolmun sijoittimen (404), joka määrittää päätesolmun muistiyksi-kössä (408), missä päätesolmu on alkuaan linkitetty muis-tiyksikön (408) jokaiseen solmuun merkkijonon etsimisen helpottamiseksi, ja B) päätesolmun linkittimen (406), joka 15 on toiminnallisesti kytketty päätesolmun sijoittimeen (404) ja muistiyksikköön (408) ja joka linkittää päätesolmun merkkijonon etsinnässä käytettävään datarakenteeseen merkkijonon etsintävaiheen yksinkertaistamiseksi suorittimessa, missä käsittely on minimoitu ja läpäisykyky on mak-20 simoitu.
Merkkijonon etsintäyksikössä (410) oleva suoritin käsittää tyypillisesti merkkijonon etsintäyksikön (410), joka on ;1 toiminnallisesti kytketty päätesolmun linkittimeen (406) 25 ja päätesolmun sijoittimeen (404) ja joka suorittaa aina- • kin yhden seuraavista: käytetään päätesolmua mahdollisen yhtäpitävyyden määrittämiseksi lapsilistassa; käytetään : päätesolmua uuden solmun lisäämiseksi päätesolmun edelle; määritetään seuraava lehtisolmu, ja mikäli seuraava leh-;· 30 tisolmu on päätesolmu, palataan datarakenteen alkuun; mikäli seuraava lehtisolmu ei ole päätesolmu, poistetaan t lehtisolmu päätesolmun edeltä; käytetään päätesolmua vä- •tr.» littömän ei-yhtäpitävä-tilan pakottamiseksi; ja käytetään t » datanpakkausjärjestelmässä päätesolmua datanpakkausjär- 35 jestelmän kooderin ja dekooderin keskinäisen tahdin mene- 9 115350 tyksen ilmaisemiseksi.
Kuvio 5, viitenumero 500, on dataliikennejärjestelmän erään suoritusmuodon lohkokaavio, joka dataliikennejär-5 jestelmä käsittää useita dataliikennelaitteita (502, 504, ...), joissa kussakin on merkkijonon etsintälaite (506, 508, ...) suorittimessa (510, 512, ...), joka käsittelee syötettyjä merkkejä sekä tehokkaasti käyttää ja ylläpitää linkitettyä listadatarakennetta esillä olevan keksinnön 10 mukaan. Merkkijonon etsintälaite (506, 508, ...) käsittää päätesolmun sijoittimen (514, 516, ...) päätesolmun määrittämiseksi muistiyksikössä (518, 520, ...), missä pää- tesolmu on sijoitettu merkkijonon etsinnässä käytettävän datarakenteen loppuun lehtisolmun tekemiseksi viimeiseksi 15 solmuksi datarakenteessa merkkijonon etsimisen helpottamiseksi, sekä päätesolun linkittimen (522, 524, ...), joka on toiminnallisesti kytketty päätesolmun sijoittimeen (514, 516, ...) päätesolmun linkittämiseksi merkkijonon etsinnässä käytettävään datarakenteeseen merkkijonon et-20 sintävaiheen yksinkertaistamiseksi suorittimessa, missä käsittely on minimoitu ja läpäisykyky on maksimoitu. Kus-sakin DCE:ssä (502, 504, ...) on myös lähetin (526, 528, * , ...), joka lähettää syötetyt merkit toiselle DCE:lle.
; Merkkijonon etsintälaite on sellainen kuin edellä on yksi- • 25 tyiskohtaisemmin selitetty.
I · .* Vaikka edellä on selitetty esimerkinomaisia suoritusmuoto- ; ja, niin alan asiantuntijoille on ilmeistä, että tästä keksinnöstä poikkeamatta voidaan tehdä monia vaihdoksia ja !· 30 muutoksia. Näin ollen tarkoituksena on, että kaikki täi- laiset vaihdokset ja muutokset ovat oheisissa patenttivaatimuksissa määritellyn keksinnön hengessä tehtyjä ja kuu- 1' · | luvat sen suojapiiriin.
> · i
' I

Claims (8)

115350 ίο
1. Merkkijonon etsintämenetelmä datanpakkausjärjestel-mässä linkitetyn listadatarakenteen tehokkaaksi käyttämi-5 seksi ja ylläpitämiseksi syötetyillä merkeillä, joka menetelmä käsittää seuraavat vaiheet: A) etsitään perättäisesti linkitetystä listasta; B) tarkistetaan kunkin solmun merkkikentän yhtäpitävyys 10 syötetyn merkin kanssa; C) käytetään hyväksi toistologiikkaa, joka tarkistaa kunkin solmun yhtäpitävyyden syötettyyn merkkiin nähden ja siirtyy ei-yhtäpitävyyden tapauksessa järjestyksessä seuraavaan solmuun jatkamaan etsintää ja näin valittuna 15 tarkistetaan ehto, joka ilmaisee linkitetyn listan lopun; tunnettu siitä, että D) käytetään päätesolmua linkitetyn listan lopussa, jolloin päätesolmu alustetaan sisältämään merkkikentässä sellainen merkki, joka on suu- 20 rempi kuin ennalta määritelty syötettävien merkkien määrä, sen mahdollistamiseksi että saavutetaan mahdollinen yhtäpitävyys ehdon täyttyminen etsintäoperaation . *. päättämiseksi: • * E) päätetään etsintä perättäisesti linkitetystä listasta j t ti\ 25 kun löydetään solmu, jonka merkkikentän merkin arvo on * · suurempi tai yhtäsuuri kuin syötetty merkki; r · ; ; F) etsintäoperaation ei-yhtäpitävyystilanteessa käytetään 1 · ’ * syötettyä merkkiä muodostamaan uusi solmu, joka lisätään linkitettyyn listaan tutkittavaksi leksikografisessa 30 järjestyksessä, jolloin uusi solmu lisätään yhtenä seuraavista: ensimmäiseksi solmuksi listaan ja ensimmäisen ja päätesolmun välille listaan käyttäen erityistä logiikkaa linkkien muuttamiseksi uuden solmun lisäämistä varten; ja 35 115350 G) kun uusi solmu on muodostettu poistetaan toinen solmu tarkistamalla peräkkäisesti solmuja kunnes löydetään lehtisolmu ja poistetaan lehtisolmu sen linkitetystä listasta. 5
2. Merkkijonon etsintämenetelmä datanpakkausjärjestel-mässä linkitetyn listadatarakenteen tehokkaaksi käyttämiseksi ja ylläpitämiseksi syötetyillä merkeillä, tunnettu siitä, että se käsittää seuraavat vaiheet:
10 A) sijoitetaan päätesolmu, missä päätesolmu on alkuaan linkitetty jokaiseen juurisolmuun, ja B) käytetään päätesolmua ainakin yhteen seuraavista: mahdollisen yhtäpitävyyden määrittämiseksi linkitetyssä listassa, uuden solmun lisäämisen päätesolmun edelle, ja 15 seuraavan lehtisolmun määrittämisen, ja mikäli seuraava lehtisolmu on päätesolmu, palaamisen datarakenteen alkuun.
3. Merkkijonon etsintälaite suorittimessa (510), joka käsittelee syötettyjä merkkejä sekä tehokkaasti käyttää ja 20 ylläpitää linkitettyä listadatarakennetta, tunnettu siitä, että se käsittää: * · · , ·, A) päätesolmun sijoittimen (514), joka määrittää • · · ! päätesolmun linkitetyssä listassa muistiyksikössä, missä i « ’ *. 25 päätesolmu sijoitetaan merkkijonon etsinnässä käytettävän m > M datarakenteen loppuun lehtisolmun tekemiseksi viimeiseksi ’··* solmuksi datarakenteessa merkkijonon etsinnän * helpottamiseksi, jolloin määrittely käsittää päätesolmun käyttämisen mahdollisen yhtäpitävyyden määrittämiseksi ; : 30 linkitetyssä listassa, uuden solmun lisäämisen päätesolmun edelle, ja seuraavan lehtisolmun määrittämisen, ja mikäli seuraava lehtisolmu on päätesolmu, palaamisen * · * datarakenteen alkuun, ja 1 * B) päätesolmun linkittimen (522) , joka on ’ 35 toiminnallisesti kytketty päätesolmun sijoittimeen (514) ·* » 1 » 115350 ja muistiyksikköön ja joka linkittää päätesolmun merkkijonon etsinnässä käytettävään datarakenteeseen merkkijonon etsintävaiheen yksinkertaistamiseksi suorittimessa, missä käsittely on minimoitu ja läpäisykyky 5 on maksimoitu.
4. Patenttivaatimuksen 3 mukainen merkkijonon etsintälai-te, tunnettu ainakin yhdestä A-C: 4A) suoritin (402) käsittää lisäksi merkkijonon 10 etsintäyksikön (410), joka on toiminnallisesti kytketty päätesolmun linkittimeen (406) ja päätesolmun sijoittimeen (404) ja joka käyttää päätesolmua mahdollisen yhtäpitävyyden määrittämiseksi linkitetyssä listassa; 4B) suoritin käsittää lisäksi merkkijonon etsintäyksikön 15 (410), joka on toiminnallisesti kytketty päätesolmun linkittimeen (406) ja päätesolmun sijoittimeen (404) ja joka käyttää päätesolmua uuden solmun lisäämiseksi päätesolmun edelle; ja 4C) suoritin (510) käsittää lisäksi merkkijonon 20 etsintäyksikön (410), joka on toiminnallisesti kytketty päätesolmun linkittimeen (406) ja päätesolmun :·. sijoittimeen (404) ja joka määrittää seuraavan lehtisolmun, ja mikäli seuraava lehtisolmu on päätesolmu, palataan linkitetyn datarakenteen alkuun. 25 i
· , 5. Patenttivaatimuksen 3 mukainen merkkijonon etsintälai- » · te, tunnettu ainakin yhdestä A-C: * · '· * A) suoritin (402) käsittää lisäksi merkkijonon etsintäyksikön (410), joka on toiminnallisesti kytketty 30 päätesolmun linkittimeen (406) ja päätesolmun sijoittimeen (404) ja joka, mikäli seuraava lehtisolmu ei ole ,,,,,· päätesolmu, poistaa lehtisolmun päätesolmun edeltä; » » i>i(. B) suoritin (510) käsittää lisäksi merkkijonon » · . etsintäyksikön, joka on toiminnallisesti kytketty '"· 35 päätesolmun linkittimeen (406) ja päätesolmun sijoittimeen * I 115350 (404) ja joka käyttää päätesolmua välittömän ei-yhtäpitävä-tilan pakottamiseksi; ja 6C) suoritin (402) käsittää lisäksi merkkijonon etsintäyksikön, joka on toiminnallisesti kytketty 5 päätesolmun linkittimeen ja päätesolmun sijoittimeen ja joka datanpakkausjärjestelmässä käyttää päätesolmua datanpakkausjärjestelmän kooderin ja dekooderin keskinäisen tahdin menetyksen ilmaisemiseksi.
6. Dataliikennejärjestelmä, joka käsittää useita datalii- kennelaitteita, joissa kussakin on merkkijonon etsintä-laite suorittimessa (402), joka käsittelee toisen dataliikennelaitteiston lähettimeltä syötettyjä merkkejä sekä tehokkaasti käyttää ja ylläpitää linkitettyä lista-15 datarakennetta, tunnettu siitä, että merkkijonon etsintälaite käsittää: A) päätesolmun sijoittimen (404), joka määrittää päätesolmun linkitetyssä listassa muistiyksikössä, missä päätesolmu sijoitetaan merkkijonon etsinnässä käytettävän 20 datarakenteen loppuun lehtisolmun tekemiseksi viimeiseksi solmuksi datarakenteessa merkkijonon etsinnän helpottamiseksi, jolloin määrittely käsittää päätesolmun , ,·. käyttämisen mahdollisen yhtäpitävyyden määrittämiseksi linkitetyssä listassa, uuden solmun lisäämisen päätesolmun 25 edelle, ja seuraavan lehtisolmun määrittämisen, ja mikäli ♦ · « * · seuraava lehtisolmu on päätesolmu, palaamisen * · · ’··* datarakenteen alkuun: ja • » · * » · ’·’ * B) päätesolmun linkittimen (406) , joka on toiminnallisesti kytketty päätesolmun sijoittimeen, 30 päätesolmun linkittämiseksi merkkijonon etsinnän datarakenteeseen merkkijonon etsintävaiheen yksin- ,I,; kertaistamiseksi suorittimessa, missä käsittely on mini- » · moitu ja läpäisykyky on maksimoitu. * i
7. Patenttivaatimuksen 6 mukainen dataliikennelaitteisto, • t * 115350 tunnettu ainakin yhdestä A-C: A) suoritin (402) käsittää lisäksi merkkijonon etsintäyksikön (410), joka on toiminnallisesti kytketty päätesolmun linkittimeen ja päätesolmun sijoittimeen ja 5 joka käyttää päätesolmua mahdollisen yhtäpitävyyden määrittämiseksi lapsilistassa; B) suoritin käsittää lisäksi merkkijonon etsintäyksikön, joka on toiminnallisesti kytketty päätesolmun linkittimeen ja päätesolmun sijoittimeen ja joka käyttää päätesolmua 10 uuden solmun lisäämiseksi päätesolmun edelle; ja C) suoritin käsittää lisäksi merkkijonon etsintäyksikön, joka on toiminnallisesti kytketty päätesolmun linkittimeen ja päätesolmun sijoittimeen ja joka määrittää seuraavan lehtisolmun, ja mikäli seuraava lehtisolmu on päätesolmu, 15 palataan linkitetyn datarakenteen alkuun.
8. Patenttivaatimuksen 6 mukainen dataliikennelaitteisto, tunnettu ainakin yhdestä A-C: A) suoritin (402) käsittää lisäksi merkkijonon 20 etsintäyksikön (410), joka on toiminnallisesti kytketty päätesolmun linkittimeen (406) ja päätesolmun sijoittimeen (404) ja joka, mikäli seuraava lehtisolmu ei ole ·. päätesolmu, poistaa lehtisolmun päätesolmun edeltä; B) suoritin (402) käsittää lisäksi merkkijonon 25 etsintäyksikön, joka on toiminnallisesti kytketty • · , päätesolmun linkittimeen ja päätesolmun sijoittimeen ja ;;* joka käyttää päätesolmua välittömän ei-yhtäpitävä-tilan ’ pakottamiseksi; ja C) suoritin (402) käsittää lisäksi merkkijonon 30 etsintäyksikön, joka on toiminnallisesti kytketty • I > it>.’ päätesolmun linkittimeen ja päätesolmun sijoittimeen ja joka datanpakkausjärjestelmässä käyttää päätesolmua datanpakkausjärjestelmän kooderin ja dekooderin » . keskinäisen tahdin menetyksen ilmaisemiseksi. » 115350
FI961369A 1994-07-28 1996-03-25 Menetelmä ja laite datarakenteen käyttämiseksi datanpakkauksessa FI115350B (fi)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US28194694 1994-07-28
US08/281,946 US5564045A (en) 1994-07-28 1994-07-28 Method and apparatus for string searching in a linked list data structure using a termination node at the end of the linked list
US9506349 1995-05-22
PCT/US1995/006349 WO1996003809A1 (en) 1994-07-28 1995-05-22 Method and apparatus for a unique and efficient use of a data structure for compressing data

Publications (3)

Publication Number Publication Date
FI961369A FI961369A (fi) 1996-03-25
FI961369A0 FI961369A0 (fi) 1996-03-25
FI115350B true FI115350B (fi) 2005-04-15

Family

ID=23079436

Family Applications (1)

Application Number Title Priority Date Filing Date
FI961369A FI115350B (fi) 1994-07-28 1996-03-25 Menetelmä ja laite datarakenteen käyttämiseksi datanpakkauksessa

Country Status (7)

Country Link
US (1) US5564045A (fi)
EP (1) EP0721699B1 (fi)
CN (1) CN1097881C (fi)
CA (1) CA2170895A1 (fi)
DE (1) DE69530470T2 (fi)
FI (1) FI115350B (fi)
WO (1) WO1996003809A1 (fi)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1152365A (zh) * 1994-06-06 1997-06-18 诺基亚电信公司 一种存储和检索数据的方法和一种存储器配置
US6117185A (en) * 1997-09-24 2000-09-12 International Business Machines Corporation Skip list data storage during compilation
US6922830B1 (en) 2000-03-10 2005-07-26 International Business Machines Corporation Skip list data storage during compilation
US6581063B1 (en) * 2000-06-15 2003-06-17 International Business Machines Corporation Method and apparatus for maintaining a linked list
JP2006295853A (ja) * 2005-04-14 2006-10-26 Sony Corp 符号化装置、復号装置、および、符号化方法ならびに復号方法
US7770091B2 (en) * 2006-06-19 2010-08-03 Monro Donald M Data compression for use in communication systems
WO2012033498A1 (en) * 2010-09-10 2012-03-15 Hewlett-Packard Development Company, L.P. Systems and methods for data compression

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5058144A (en) * 1988-04-29 1991-10-15 Xerox Corporation Search tree data structure encoding for textual substitution data compression systems
GB8815978D0 (en) * 1988-07-05 1988-08-10 British Telecomm Method & apparatus for encoding decoding & transmitting data in compressed form
JP3083344B2 (ja) * 1990-05-25 2000-09-04 ヒューレット・パッカード・カンパニー データの圧縮及び圧縮解除方法
US5151697A (en) * 1990-10-15 1992-09-29 Board Of Regents Of The University Of Washington Data structure management tagging system
US5239298A (en) * 1992-04-17 1993-08-24 Bell Communications Research, Inc. Data compression

Also Published As

Publication number Publication date
FI961369A (fi) 1996-03-25
CN1131480A (zh) 1996-09-18
EP0721699A4 (en) 1999-03-10
US5564045A (en) 1996-10-08
CN1097881C (zh) 2003-01-01
EP0721699B1 (en) 2003-04-23
EP0721699A1 (en) 1996-07-17
DE69530470T2 (de) 2003-11-20
DE69530470D1 (de) 2003-05-28
CA2170895A1 (en) 1996-02-08
FI961369A0 (fi) 1996-03-25
WO1996003809A1 (en) 1996-02-08

Similar Documents

Publication Publication Date Title
US5151697A (en) Data structure management tagging system
CN101800556B (zh) 数据传输及编码数据字符串的方法
US7770091B2 (en) Data compression for use in communication systems
US8015218B2 (en) Method for compressing/decompressing structure documents
US5023610A (en) Data compression method using textual substitution
US5970177A (en) Data compression using selective encoding
JPH11249987A (ja) メッセージ処理装置およびその方法ならびにメッセージ処理制御プログラムを格納した記憶媒体
PT1753244E (pt) Métodos e sistemas para impedir a emulação de códigos iniciais e preenchimento de dados
KR960043552A (ko) 에러정정 부호화 복호화방법 및 이 방법을 사용하는 회로
CN109104405A (zh) 二进制协议编码、解码方法和装置
FI115350B (fi) Menetelmä ja laite datarakenteen käyttämiseksi datanpakkauksessa
US9529932B2 (en) XML node labeling and querying using logical operators
JPS6356726B2 (fi)
CN113132416A (zh) 一种数据包检测方法及装置
US6122402A (en) Pattern encoding and decoding method and encoder and decoder using the method
US6919827B2 (en) Method and apparatus for effectively decoding Huffman code
US7420975B1 (en) Method and apparatus for a high-speed frame tagger
CA2123435A1 (en) System and method for fast huffman decoding
EP2015456A2 (en) A computer-implemented method for encoding numeric data and a method for encoding data structures for transmission in a telecommunications system, based on said method of encoding numeric data.
CN108573069A (zh) 一种加速压缩流量正则表达式匹配的Twins方法
US6356214B1 (en) Fast look-up table based scheme for NRZI encoding/decoding and zero insertion/removal in serial bit streams
US6785299B1 (en) Optimized high-level data link control encoding/decoding
WO1997008616A1 (en) System and method for parsing and building data signals
US20190020743A1 (en) Data transmitting apparatus, data receiving apparatus and method thereof
US20020093978A1 (en) Synchronous protocol encoding and decoding method

Legal Events

Date Code Title Description
FG Patent granted

Ref document number: 115350

Country of ref document: FI

MA Patent expired