KR100292105B1 - 연관메모리사용lzw데이터압축방법및그장치 - Google Patents

연관메모리사용lzw데이터압축방법및그장치 Download PDF

Info

Publication number
KR100292105B1
KR100292105B1 KR1019970704428A KR19970704428A KR100292105B1 KR 100292105 B1 KR100292105 B1 KR 100292105B1 KR 1019970704428 A KR1019970704428 A KR 1019970704428A KR 19970704428 A KR19970704428 A KR 19970704428A KR 100292105 B1 KR100292105 B1 KR 100292105B1
Authority
KR
South Korea
Prior art keywords
memory
register
character
code
string
Prior art date
Application number
KR1019970704428A
Other languages
English (en)
Other versions
KR980701157A (ko
Inventor
앨버트 비. 쿠퍼
Original Assignee
보베테 죤스
유니시스 코포레이션
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 보베테 죤스, 유니시스 코포레이션 filed Critical 보베테 죤스
Publication of KR980701157A publication Critical patent/KR980701157A/ko
Application granted granted Critical
Publication of KR100292105B1 publication Critical patent/KR100292105B1/ko

Links

Images

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)

Abstract

조합 메모리(11)가 LZW 데이터 압축을 수행하기 위해 사용된다. 메모리의 각 위치들은 프리픽스 코드 필드(12)와 문자 필드(13)를 포함한다. 코드 필드(21)와 문자 필드(22)를 담고 있는 레지스터(20)는 조합하여서 매치가 존재하는가의 여부를 결정하기 위해 메모리의 위치와 비교된다. 만약 매치가 발견된다면, 매치의 주소(14)가 레지스터의 코드 필드내로 삽입되고 다음의 입력 문자가 그 문자 필드내로 삽입된다. 이같은 과정이 어떠한 매치도 발생되지 않을 때까지 계속된다. 레지스터의 코드 필드내에 존재하는 코드는 스트링의 압축 코드로서 전송되며(34), 레지스터의 내용이 메모리의 다음 비어있는 위치내로 기록된다. 레지스터의 코드 필드를 영(0)으로 하고 (40) 상기 설명된 단계를 반복하므로써 다음의 주기가 초기화된다.

Description

연관 메모리 사용 LZW 데이터 압축방법 및 그 장치{LZW DATA COMPRESSION USING AN ASSOCIATIVE MEMORY}
LZW는 데이터를 압축하고 해제하는 널리 알려진 방법이며 모뎀 통신을 위한 CCITT V.42 비스 스탠다드와 같은 응용에서 사용된다. LZW는 ″고속 데이터 압축 및 해제 장치 및 방법″이라는 명칭으로 테리 에이. 웰치에게 1985년 11월 10일자로 미국 특허 제 4,558,302 호로 특허된 특허에서 설명된다. 상기 특허 제 4,558,302 호는 본원 명세서에서 참고로 사용되며 본 발명의 양수인에게 양도되었다.
LZW 데이터 압축은 입력에서 맞게 되는 데이터 문자의 스트링들을 저장하고 입력 스트립을 사전내에 저장된 스트링과 비교하여 가장 긴 매칭(matching)을 결정하도록 하기 위한 사전을 사용한다. 이 사전은 가장 긴 매칭을 다음 입력 데이터 문자에 의해 확장된 가장 긴 매칭으로 구성된 확장된 스트링을 저장하므로써 증가된다. 상기 자료 압축 사전은 RAM 기억장치에 의해 실시된다. 웰치(welch)는 상기 특허 제 4,558,302 호 (52 칼럼, 30-34 째줄) 에서 내용-어드레스 가능한 또는 연관 메모리가 제어 복잡성을 줄이는 RAM 대신에 사용될 수 있다. 그러나 웰치는 이것이 어떻게 달성되는가를 설명하지 못했다. 이제까지 공지 기술에서는 LZW 압축 알고리즘의 연관 메모리 실시예가 제공되지 않았다.
반면에 ″연관 메모리 조사 시스템″이라는 명칭으로 1982년 12월 29일자로 클라우스 이. 홀쯔(Klaus E. Holtz)에게 특허된 미국 특허 제 4,366,551 호는 연관 메모리를 사용하는 저장 및 조사 시스템을 공개한 것이다. 그러나 상기 특허 제 4,366,551 호는 LZW 알고리즘의 연관 메모리 실시예를 제안하거나 공개하지 않는다. 상기 특허 제 4,366,551 호가 상기 특허 제 4,558,302 호의 재심사에서 인용되었으나 극복되었으며 1994년 1월 4일자 재심사 증명서 B 4,558,302 호로 특허된 바 있다.
본 발명은 데이터 압축 및 압축 해제에 대한 것이다.
도 1 은 본 발명에 따라 실시된 데이터 압축장치의 개략적 블럭도.
도 2 는 도 1 의 출력을 압축해제하기 위한 데이터 압축해제장치의 개략적 블럭도.
* 부호설명
10...데이터 압축기 11...메모리
12...코드 필드(code field) 13...문자 필드(character field)
14...주소 섹션 20...레지스터
24...Hit/Miss 출력 25...출력
26...주소 입력 31...주소 계수기
33...입력 데이터 레지스터 41...제어 논리
50...데이터 압축 해제기 51...RAM
53...레지스터 54...RAM 주소 레지스터
55...프리픽스 코드 필드 56...문자 필드
62...푸시다운 스택 73...제어논리
80...비교기
데이터 문자 신호의 스트림은 프리픽스(접두) 코드, 문자 쌍을 가지는 레지스터의 내용을 프리픽스 코드, 문자 쌍들을 저장하는 연관 메모리의 내용과 비교하므로써 압축된 코드 신호 스트림내로 압축된다. 레지스터의 문자 부분은 데이터 문자 신호 입력 스트림으로부터 흡수되는 때 데이터 문자 신호들을 순서적으로 보유한다. 상기의 비교가 결국 Hit를 일으키게 된다면, Hit 주소는 저항기에서 프리픽스 코드를 대신하여 대체되며, 다음 데이터 문자 신호가 상기 레지스터내 문자를 대신하여 대체된다. 이같은 과정은 착오가 발생되어 상기 레지스터내 프리픽스 코드가 압축된 코드 신호로 전송되는 때까지 반복된다. 주소 계수기는 상기 연관 메모리 내 다음 비어 있는 이용가능 위치의 주소를 제공한다. 상기 레지스터의 내용이 이같은 위치에 저장되며 주소 계수기가 증가된다.
본 발명의 실시예는 모든 단일 문자 스트링(string)들을 포함하는 것으로 시작되는 또는 공백(null) 스트링만을 포함하는 것으로 시작되는 사전과 함께 동작된다. 상기 단일 문자 스트링 초기화 실시예가 먼저 설명된다.
도 1 에서, 본 발명에 따라 구성된 데이터 압축기(10)가 설명된다. 데이터 압축기(10)는 각각이 한 프리픽스 코드를 저장하기 위한 한 필드(12)와 한 문자를 저장하기 위한 한 필드(13)를 갖는 N개의 위치를 갖는 내용 주소가능 메모리(11)를 포함한다. 상기 메모리(11)는 메모리 위치의 주소들을 나타내기 위한 한 주소 섹션을 더욱더 포함한다.
압축기(10)는 [A] 문자들을 가지는 알파벳 데이터 문자 신호의 스트림을 압축한다. 가령, ASCII 코드 방식에서, 256의 알파벳 크기가 사용된다. 데이터 압축기(10)의 단일 문자 스트링 초기화 실시예에서, 메모리(11)의 첫 번째 [A] 위치는 [A] 단일 문자 스트링들을 포함하도록 초기화된다. 단일 문자 스트링을 저장하는 위치의 필드(12) 내 프리픽스 코드는 제로로 세트되며 필드(13)는 이진수 형태로 문자를 저장한다. 가령, ASCII 코드에서 문자 필드(13)는 8비트를 사용한다. 프리픽스 코드 필드(12)는 충분한 비트를 포함하여 메모리(11)의 N 위치를 수용하도록 한다.
위치 [A]+1로 시작되는 메모리(11)의 위치는 모든 문자 필드(13)를 알파벳 어느 한 문자로서 인식되지 않는 임의의 비트 패턴으로 리세트하므로써 초기화된다.
데이터 압축기(10)는 한 코드를 저장하기 위한 필드(21) 그리고 한 문자를 저장하기 위한 필드(22)를 가지는 레지스터(20)를 더욱더 포함한다. 메모리(11)는 레지스터(20)의 내용이 메모리(11)의 내용과 비교되는 연관 또는 판독 모드로 동작된다.
이같은 동작은 참고 번호(23)로 표기된다. 만약 레지스터(20)의 내용이 메모리(11)내 위치의 한 위치의 내용과 부합한다면, Hit 신호가 Hit/Miss 출력(24)에서 나타난다. Hit가 발견되는 위치의 주소는 출력(25)에서 주소 섹션(14)으로부터 제공된다. 상기 출력(25)은 레지스터(20)의 코드 필드(21)로 한 입력을 제공한다. 만약 레지스터(20) 내용이 메모리(11)에서 발견되지 않는다면 한 Miss가 출력(24)에서 나타난다.
메모리(11)는 기록 모드로 동작되기도 하는데, 이때 레지스터 코드 필드(21)와 문자 필드(22)의 내용이 한 주소 입력(26)에 의해 어드레스된 한 위치에서 메모리(11)의 프리픽스 코드 필드(12)와 문자 필드(13) 각각으로 기록된다. 메모리 주소들은 주소 입력(26)에서 주소 계수기(31)로부터 제공된다. 기록 모드 내 메모리(11)로의 코드, 문자 입력이 참고 부호(27)(28) 각각에 의해 표시된다. 메모리(11)의 기록/판독 모드는 입력(30)에 의해 선택된다.
압축되어질 문자의 입력 데이터 스트림이 입력 데이터 레지스터(33)를 통해 입력(32)에서 레지스터(20)의 문자 필드(22)로 적용된다. 데이터 압축기(10)로부터 압축된 코드는 출력 블럭(34)을 통해 레지스터(20)의 코드 필드(21)로 부터 제공된다. 공백(null) 코드 입력(40)은 레지스터(20)의 코드 필드(21)를 제로로 하기 위해 사용된다.
제어논리(41)는 (42)에서 표시된 바와 같이 데이터 압축기(10)의 모든 컴포넌트로 입력을 제공한다. 제어논리(41)는 메모리 출력(24)에서 Hit/Miss 신호를 수신하며 메모리 입력(30)을 통해서 메모리(11)로 기록/판독 제어를 제공한다.
데이터 압축기(10)의 단일 문자 스트링이 초기화된 실시예에서 동작하는 때 메모리(11)의 첫 번째 [A] 위치가 모든 가능한 단일 문자 스트링을 저장하도록 초기화된다. 이들 초기화된 위치에서, 프리픽스 코드 필드(12)가 제로로 세트되며 문자 필드(13)는 알파벳 각 문자의 이진 표시로 세트된다. 주소 계수기(31)는 [A]+1로 세트된다. 압축되어질 입력 문자 스트림은 입력(32)에서 공급되며 입력 데이터 레지스터(33)에서 버퍼된다.
데이터 압축기(10) 주기는 다음과 같이 일어난다.
레지스터(20)의 코드 필드(21)는 공백(null) 코드에 의해 제로로 된다. 문자 필드(22)는 이전 주기 출력에서 Miss 표시를 만드는 문자를 저장한다. 그러나 데이터 압축기(10)가 첫 번째 주기를 시작하면 입력 스트림 내 첫 번째 문자가 입력 데이터 레지스터(33)로부터 문자 필드(22)내로 놓이게 된다.
제어 논리(41)는 연관 모드로 동작하기 위해 입력(30)을 통해 메모리(11)를 제어한다. 레지스터(20)의 내용은 경로(23)를 통해 메모리(11)의 내용과 비교되며, 상기 비교내용이 같게되면 제어 논리(41)로의 출력(24)을 통하여 Hit가 등록된다. Hit가 발생되었던 주소는 레지스터(20)의 코드 필드(21)내로 적재되며 다음 입력 문자가 문자 필드(22)내로 적재된다. 이같은 과정은 제어 논리(41)로의 출력(24)을 통하여 Miss가 등록될 때까지 반복된다. 이같은 일이 일어나는 때 레지스터(20) 필드(21) 내 코드가 출력 블록(34)을 통해서 당해 주기에 대한 압축된 코드 출력으로서 제공된다.
다음에 제어 논리(41)가 제어 입력(30)을 통해서 기록 모드로 동작하도록 메모리(11)를 제어하며 입력(27)으로부터의 코드와 입력(28)으로부터의 문자를 주소 계수기(31)에 의해 주소된 위치의 프리픽스 코드 필드(12)와 문자 필드(13)내로 기록하도록 한다. 다음에 주소 계수기(31)가 하나씩 증가되며 코드 필드(21)가 공백(null) 코드(40)를 통해 제로로 된다.
다음에 압축 주기가 완성되며, 데이터 압축기(10)는 다음 주기를 수행할 준비가 된다.
제어 논리(41)는 상기 설명된 동작을 제어하기 위해 데이터 압축기(10)의 모든 블럭으로 제어 신호를 제공한다. 제어 논리(41)는 종래의 상태 머신에 의해 편리하게 실시될 수 있다.
상기 설명된 동작 주기에 의해, 입력 스트림 내 문자들의 입력 스트링이 데이터 압축기(10)에 의해 흡수되었으며 입력과의 가장 긴 매칭이 달성될 때까지 메모리(11)의 내용과 비교된다. 이와 같이 하여 가장 긴 매칭의 프리픽스 코드는 출력되며, 상기 메모리는 입력 스트림 내 다음 문자에 의해 확장된 가장 긴 매칭(matching)으로 구성된 메모리(11) 내 확장된 한 스트링을 저장하므로써 갱신된다.
따라서 데이터 처리기(10)가 대개 이같은 압축 타입과 관련 또는 연관이 있는 RAM 조사 오버헤드 없이 LZW 압축을 수행한다. 대신에 메모리(11)의 내용과 레지스터(20) 내용의 내용을 어드레스할 수 있는 비교가 수행된다.
도 2 에서는 도 1 의 데이터 압축기(10) 압축된 코드 압축 해제를 위한 데이터 압축 해제기(50)가 도시된다. 데이터 압축 해제기(50)는 압축된 코드 출력을 도 1 의 출력 블럭(34)으로부터 수신하며, 상응하는 데이터 문자 스트림을 회복시킨다. 압축 해제기(50)는 상기 특허 제 4,558,302 호에서 설명된 바와 같은 유사한 방식으로 RAM(51)을 사용한다. 압축 해제기(50)는 상기 특허 제 4,558,302 호에서와 유사한 방식으로 구성되며 동작한다.
압축된 코드는 입력(52)에서 수신되고 입력 코드 레지스터(53)내에 보유된다. 레지스터(53)로부터의 입력 코드는 RAM 주소 레지스터(54) 내 압축 코드로 나타내진 위치에서 RAM(51)에 접근하기 위해 RAM 주소 레지스터(54)로 적용된다. RAM(51)의 각 위치는 프리픽스 코드 필드(55)와 문자 필드(56)를 포함한다.
도 1 과 관련하여 상기에서 설명된 것과 유사하게 RAM(51)이 모든 단일 문자 스트링들을 포함하도록 초기화된다. 따라서 RAM(51)의 첫 번째 [A] 위치는 램의 프리픽스 코드 필드(55)가 제로를 저장하고 그의 문자 필드(56)는 각 알파벳 문자의 이진 표시를 저장하도록 초기화된다.
압축 해제기(50)는 압축해제 동작의 시작시에 [A]+1로 초기화되는 한 주소 계수기를 또한 포함한다. 주소 계수기(60)의 출력은 RAM(51)으로 접근하기 위해 RAM 주소 레지스터(54)로 한 입력을 제공한다. RAM(51)은 도 1 의 내용을 주소로 불러낼 수 있는 메모리(11)의 N 위치에 해당하는 N 위치를 포함한다.
RAM(51)은 문자들의 스트링이 회복되고 있는 때 판독 모드로 동작되며 RAM(51)이 갱신되고 있는 때 기록 모드로 동작된다. 판독 모드에서, RAM 주소 레지스터(54)에 의해 접근되는 위치 내 프리픽스 코드가 경로(61)를 통해 적용되며 접근된 위치로부터의 문자가 경로(63)를 통해서 푸시다운 스택(pushdown stack)(62)으로 적용된다. 경로(61)를 통해 프리픽스 코드는 한 입력으로서 RAM 주소 레지스터(54)로 적용된다. 스택(62)은 출력(64)에서 순서적으로 나오는 회복된 스트링의 문자들을 보유하도록 사용된다.
RAM(51)의 기록 모드에서, 경로(71)를 통해 종전 코드 레지스터(70)로부터 제공된 코드가 RAM 주소 레지스터(54)에 의해 접근된 위치의 프리픽스 코드 필드(55)내로 기록된다. 스택(62)은 이와 같이 하여 접근된 위치의 문자 필드(56)내로 기록되도록 입력(72)을 통해 한 문자를 제공한다. 압축 해제 주기가 끝나는 때, 입력 코드 레지스터(53) 내 코드는 종전 코드 레지스터(70)로 전달된다.
상기 압축 해제기(50)는 제어 논리(73)를 더욱더 포함하여 참고 부호(74)로 표시된 바와 같은 압축 해제기(50)의 모든 컴포넌트로 제어 입력을 제공하도록 한다. 제로 탐지기(75)는 언제 RAM(51)의 프리픽스 코드 출력(61)이 제로 인가를 탐지하고 경로(76)를 통해서 제어 논리(73)로 이같은 표시를 제공한다.
″예외 경우(exception case)″ 처리를 설명하기 위해, 압축해제기(50)는 입력 코드 레지스터(53) 내 코드를 주소 계수기(60)의 내용과 비교하는 비교기(80)를 포함하고, 이들 크기가 같은 때 경로(81)를 통하여 제어 논리(73)로 한 표시를 제공한다.
동작시에, 압축해제기(50)는 출력(64)에서 압축 코드에 상응하는 문자 스트링을 회복하고 이를 제공하기 위해 입력(52)에서 수신된 압축된 코드 각각에 대한 한 압축 해제 주기를 수행한다. 압축해제 주기는 대개 다음과 같이 발생된다.
레지스터(53) 내 입력 코드는 RAM(51)에 접근하기 위해 RAM 주소 레지스터(54)로 적용된다. 제어 논리(73)는 RAM(51)을 제어하여 판독 모드로 한다. 접근된 위치내에 저장된 문자는 출력(63)으로 판독되며 스택(62)내로 푸쉬(push)된다. 접근된 위치로부터의 프리픽스 코드는 출력(61)으로 판독되며 접근된 다음 위치를 어드레스하기 위해 RAM 어드레스 레지스터로 적용된다. 이같은 과정이 판독 프리픽스 코드가 제로임을 제로 탐지기(75)가 탐지할 때까지 계속된다. 이같은 과정이 발생되는 때 스택(62)내로 푸쉬된 문자들의 스트링이 출력(64)에서 반대 순서로 나와서 입력(52)에서 수신된 압축된 코드에 상응하는 회복된 스트링을 제공하도록 한다.
제어 논리(73)는 RAM(51)을 기록 모드로 제어하며 종전 코드 레지스터(70)의 내용을 주소 계수기(60)에 의해 접근된 RAM 위치내로 기록한다. 스택(62) 상부에 있는 문자는 스택 출력(72)을 통해서 이같이 접근된 위치의 문자 필드(56)내로 기록된다. 문자 필드(56)내로 기록된 문자는 현재 회복된 스트링의 첫 번째 문자이며 저장되어있는 확장 스트링의 확장 문자이다.
압축해제 주기가 끝나는 때 주소 계수기(60)가 증가되며 입력 코드 레지스터(53) 내 코드가 종전 코드 레지스터(70)로 전달된다. 다음에 압축 해제기(50)가 다음 코드를 수신하기 위해 준비된다.
압축 해제기(50)의 첫 번째 주기에서는 종전 코드 레지스터(70)내에 이때에는 어떠한 종전 코드도 없으므로 기록 작업은 수행되지 않는다.
″예외 경우″는 도 1 의 압축기가 이전의 압축기 주기에서 저장되었던 스트링의 코드를 출력하는때 발생된다. 이 경우 압축해제기에 의해 수신된 압축된 코드는 압축 해제기가 아직 이같은 스트링을 저장하지 않았기 때문에 인식되지 않을 것이다. 레지스터(53)내로 수신된 입력 압축 코드가 주소 계수기(60)의 내용과 같은때 상기 예외 경우가 일어난다.
상기 예외 경우 처리는 다음과 같이 수행된다. 종전 코드 레지스터(70) 내 코드는 경로(90)를 통해서 RAM 주소 레지스터(54)로 전달된다. 스택(62)은 스택으로부터 나오는 마지막 문자가 아직은 상부 스택 레지스터내에 있게 되는 미국 특허 제 4,558,302 호에서 설명된 타입을 한다. 정상적인 처리에서 이같은 문자는 확장문자를 제공하며, 그 뒤에 입력(63)에서 문자가 수신되는때 다시 기록된다. 상기 예외 경우 처리에서는 이같은 문자가 현재 RAM 주소 레지스터(54)내에 있는 코드로부터 회복된 문자가 뒤이어지는 스택내로 푸시된다. 다음에 이같은 스트링이 스택(62)으로부터 나와서 출력(64)을 통해 회복된 스트링을 제공하도록 한다. 이제 주소 계수기(60)는 RAM 주소 레지스터(54)를 통해서 RAM(51)에 접근하며 스택(62) 상부에서의 문자가 접근된 위치의 문자 필드내로 기록된다. 종전 코드 레지스터(70) 내 현재의 코드는 프리픽스 코드 필드(55)내로 기록된다. 다음에 입력 코드 레지스터(53) 내 코드가 종전 코드 레지스터(70)로 전달되며, 주소 계수기(60)가 증가되어 예외 경우 주기를 끝내도록 한다.
상기에서 설명된 특허 제 4,558,302 호에서 설명된 것과 유사한 방식으로, 스트링이 입력 코드에 응답해서 RAM(51)으로부터 반대순서로 회복된다. 스택(62)이 다음에 올바른 순서로 문자들을 제공하는 회복된 스트링의 순서를 거꾸로 하도록 사용된다.
본 발명의 상기 설명된 실시예는 모드 단일 문자 스트링인 도 1 의 메모리(11)와 도 2 의 RAM(51)을 초기화하여 설명되었다. 본 발명은 공백(null) 스트링으로 갖도록 초기화된 실시예에 적용될 수 있기도 하다. 이같은 실시예에서, 전체 메모리(11)(51)가 클리어되며 주소 계수기(31)(60)가 같은 한 계수에서 시작된다. 처리 과정은 상기에서 설명된 것과 유사한 방식으로 발생되는데, 다만 문자가 처음으로 적용될 때 압축 해제기가 압축기와 동기화되어 있도록 압축되지 않은 채로 전송된다. 이는 상기 문자 뒤에 제로 코드를 전송하므로써 압축기(10)에 의해 달성되며, 상기 문자는 압축 해제기(50)에 의해 인식되며 회복될 수 있다. 이같은 실시예에서, 제로 코드가 제로 탐지기로 입력 코드 레지스터(53)에서 탐지된다.
이같은 제로 코드와 문자 전송은 레지스터(20)의 문자 필드(22)로부터 출력 블럭(34)으로의 한 경로로 달성될 수 있다. 출력 블럭(34)은 필드(21)로부터의 제로 코드와 레지스터 필드(22)로부터의 문자를 어셈블하여 그 출력 전송을 제공하도록 한다. 또한 도 2 의 입력 코드 레지스터(53)는 스택(62)을 통해서 출력(64)으로 단일 문자 전송을 제공하도록 수정될 수 있다. 이때의 문자는 제로 프리픽스 코드를 가지는 RAM(51)내에 저장되게 된다. 주소 계수기(60)는 상기에서 설명된 단일 문자 스트링 초기화 실시예와 관련하여 이들의 차이를 수용할 수 있도록 적절히 증가된다.
상기 설명된 실시예는 소프트웨어, 펌웨어, 논리, 하드웨어 및 기타 이들의 조합으로 실시될 수 있다.

Claims (20)

  1. 데이터 문자 신호의 입력 스트림(32)을 압축된 코드 신호의 스트림내로 압축하며, 상기 데이터 문자 신호는 [A] 문자를 담고 있는 데이터 문자 신호의 알파벳에 속하는 데이터 압축 방법에 있어서,
    (a) 데이터 문자 신호들의 스트링을 저장하기 위한 다수의 위치를 가지며, 각 위치가 프리픽스 코드 필드(12)와 문자 필드(13)를 가지며 각 위치는 위치와 관련된 주소를 갖고, 상기 주소는 저장된 스트링을 위한 압축된 코드 신호를 제공하는 연관 메모리(11)를 사용하며,
    (b) 상기 메모리의 [A] 위치 프리픽스 코드 필드를 공백(null)으로 하므로써 상기 알파벳의 [A] 단일 문자 스트링을 포함하기 위해 상기 메모리를 초기화하고, 상기 알파벳의 데이터 문자 신호를 상기 [A] 위치의 문자 필드 각각으로 삽입시키며,
    (c) 코드 필드(21)와 문자 필드(22)를 가지는 레지스터(20)를 사용하며,
    (d) 상기 레지스터의 코드 필드를 공백(null)으로 하고 (40), 입력 데이터 문자(33)를 상기 레지스터의 문자 필드(22)내로 삽입하며,
    (e) 상기 레지스터의 내용을 상기 메모리의 위치내용과 연관적으로 비교하여 매칭(matching)을 결정하도록 하고 (23),
    (f) 매칭이 결정되면, 매칭된 위치와 연관된 주소(25)를 상기 레지스터의 코드 필드내로 삽입시키고, 상기 입력 스트림의 다음 데이터 문자(33)를 상기 레지스터의 문자 필드내로 삽입시키며,
    (g) 더 이상의 매칭이 없을때까지 단계(e)와 (f)를 반복하고, 이에 의해서 상기 메모리내에 저장된 가장 긴 스트링이 상기 입력 스트링과 매칭됨을 발견하도록 하고,
    (h) 단계 (e)에서 어떠한 매칭도 발견되지 않는 때, 상기 레지스터의 코드 필드 내용을 압축된 코드 신호로서 제공하며 (34), 이에 의해서 상기 가장 긴 매칭되어 저장 스트링의 압축된 코드 신호를 제공하고,
    (i) 상기 레지스터의 코드 필드와 문자 필드의 내용(27, 28)을 상기 메모리 내 비어있는 다음 위치의 프리픽스 코드 필드와 문자 필드내로 기록하며, 이에 의해서 상기 입력 스트림 내 다음 뒤따르는 데이터 문자 신호에 의해 확장된 가장 긴 매칭된 저장 스트링으로 구성된 한 확장 스트링을 상기 메모리내로 삽입시키고, 상기 비어있는 다음 위치의 주소가 상기 메모리내로 삽입된 확장 스트링에 대한 압축 코드 신호를 제공하며,
    (j) 상기 확장 스트링을 상기 메모리내로 삽입한 후에 상기 레지스터의 코드 필드를 공백(null)으로 하고(40), 그리고
    (k) 데이터 문자 신호(32)의 어떠한 입력 스트림도 더이상 압축할 필요가 없을 때까지 단계 (e) 내지 단계 (j)를 반복함을 포함함을 특징으로 하는 연관 메모리 사용 LZW 데이터 압축 방법.
  2. 제 1 항에 있어서, 상기 메모리의 순차적으로 비어있는 위치에 접근하기 위해 순차적인 주소(31)들을 할당하여 단계 (i)의 비어있는 다음 위치를 제공하도록함을 더욱더 포함하며,
    상기 순차적인 주소들이 [A]+1로 시작함을 특징으로 하는 연관 메모리 사용 LZW 데이터 압축 방법.
  3. 제 1 항에 있어서, 상기 초기화 단계가 상기 메모리 위치의 문자 필드내로 상기 [A] 위치를 제외하고 상기 알파벳의 데이터 문자 신호로 인식되지 않는 임의의 비트 패턴을 삽입함을 포함함을 특징으로 하는 조합 메모리 사용 LZW 연관 압축 방법.
  4. 제 1 항에 있어서, 해당하는 입력 데이터 문자 신호의 스트림을 회복하기 위해 압축된 코드 신호의 스트림을 압축해제하기 위해 데이터를 압축 해제하는 방법을 더욱더 포함하며(도 2),
    다음의 단계(o) 내지 (y)가 압축해제 주기를 포함하고, 상기 데이터 압축해제 방법이
    (l) 데이터 문자 신호의 스트링을 저장하기 위한 다수의 위치들을 갖는 압축 해제 메모리(51)를 사용하며, 각 위치가 한 프리픽스 코드 필드(55)와 문자 필드(56)를 가지며, 각 위치가 연관된 한 주소를 갖고, 이 주소가 상기 압축 해제 메모리내에 저장된 스트링을 위한 압축된 코드 신호를 제공하고,
    (m) 상기 압축해제 메모리의 [A] 위치 프리픽스 코드 필드를 공백(null)으로 하고 상기 알파벳의 데이터 문자 신호를 상기 [A] 위치의 문자 필드내로 삽입시키므로써 상기 알파벳의 [A] 단일 문자 스트링을 포함하도록 상기 압축해제 메모리를 초기화하며,
    (n) 상기 압축 해제 메모리의 상기 위치에 접근하기 위해 한 주소 레지스터(54)를 사용하고,
    (o) 입력 코드 레지스터 (53)내로 한 압축된 코드 신호(52)를 수신하며,
    (p) 상기 입력 코드 레지스터 내용을 상기 주소 레지스터로 전달하며,
    (q) 현재의 압축해제 주기 이전 압축해제 주기에서 수신된 압축된 코드 신호를 보유하기 위해 종전의 코드 레지스터(70)를 사용하고,
    (r) 상기 주소 레지스터의 내용에 해당하는 압축해제 메모리의 위치에 접근하며,
    (s) 접근된 위치의 문자 필드 내용(63)을 스택(62)내로 삽입시키고, 이에 의해서 접근된 위치의 문자 필드 내 데이터 문자 신호를 상기 스택내로 삽입하며,
    (t) 접근된 위치의 프리픽스 코드 필드의 내용(61)을 상기 주소 레지스터내로 삽입하고,
    (u) 상기 주소 레지스터의 내용이 공백(null)이 될 때까지 단계(r) 내지 (t)를 반복하며 (75), 이에 의해서 상기 스택내로 압축 수신된 코드 신호에 해당하는 데이터 문자 신호들을 삽입하며,
    (v) 상기 주소 레지스터 내로 비어있는 다음 위치 주소를 삽입하고(60),
    (w) 상기 주소 레지스터에 의해 접근되는 상기 압축해제 메모리 위치의 프리픽스 코드 필드와 문자 필드 내로 각각 갱신 프리픽스 코드(71)와 갱신 문자(72)를 기록하며, 상기 갱신 프리픽스 코드가 상기 종전 코드 레지스터에 의해 제공되고, 상기 갱신 문자가 상기 스택내로 삽입된 마지막 데이터 문자 신호에 의해 제공되며, 이에 의해서 상기 연관 메모리내로 삽입된 확장 스트링에 상응하는한 확장 스트링을 상기 압축해제 메모리내로 삽입하고, 상기 비어있는 다음 위치의 주소가 상기 압축해제 메모리내로 삽입된 확장 스트링을 위한 압축된 코드 신호를 제공하며,
    (x) 상기 스택 내용을 출력시키고(64), 이에 의해 압축 수신된 코드 신호에 해당하는 데이터 문자 신호의 스트링을 회복하고,
    (y) 상기 입력 코드 레지스터 내 압축 수신된 코드 신호를 상기 종전 코드 레지스터내로 전달시키며,
    (z) 압축된 코드 신호의 어떠한 스트림도 압축이 해제되지 않을 때까지 단계 (o) 내지 (y)를 반복함을 특징으로 하는 연관 메모리 사용 LZW 데이터 압축 방법.
  5. 제 4 항에 있어서, 상기 압축해제 메모리의 순차적으로 비어있는 위치에 접근하기 위해 순차적 주소(60)들을 할당함을 포함하며, 이에 의해서 단계(v)의 다음 비어있는 다음 위치의 주소를 제공하고, 상기 순차적으로 비어있는 위치가 [A]+1에서 시작됨을 특징으로 하는 연관 메모리 사용 LZW 데이터 압축 방법.
  6. 제 4 항에 있어서, 상기 출력 단계가 데이터 문자 신호들이 상기 스택내로 삽입되었던 순서의 역 순서로 상기 스택으로부터 데이터 문자 신호들을 출력시킴을 포함함을 특징으로 하는 연관 메모리 사용 LZW 데이터 압축 방법.
  7. 제 4 항에 있어서, 상기 압축해제 방법이 압축 수신된 코드 신호(52)가 상기 압축해제 메모리(51)내에 저장된 상응하는 스트링을 갖지 않는때 사용되는 예외 처리(exception processing) 방법을 포함하고, 이에 의해서 상기 수신된 압축수신된 코드 신호가 인식되지 않게되며, 상기 예외 처리 방법이
    상기 갱신 문자에 의해 확장된 상기 종전 코드 레지스터 내 압축된 코드 신호에 해당하는 스트링으로 이루어진 한 예외 확장 스트링을 발생시키고,
    상기 예외 확장 스트링을 출력하며, 이에 의해서 상기 인식되지 않은 압축된 코드 신호에 해당하는 스트링을 출력하며, 그리고
    상기 압축해제 메모리(51)내에 상기 예외 확장 신호를 저장하고, 상기 인식되지 않은 압축된 코드 신호가 상기 저장된 예외 확장 스트링에 해당되는 압축된 코드 신호를 제공함을 포함함을 특징으로 하는 연관 메모리 사용 LZW 데이터 압축 방법.
  8. 제 7 항에 있어서, 상기 예외 처리 방법이
    상기 갱신 문자를 상기 스택(62)내로 삽입하며,
    상기 종전 코드 레지스터의 내용을 상기 주소 레지스터로 전달하고(90),
    단계 (r) 내지 (x)를 수행하며, 이에 의해서 상기 예외 확장 스트링을 발생시키고, 상기 예외 확장 스트링을 출력하며, 단계 (v)의 주소를 갖는 상기 압축 해제 메모리(51)내에 상기 예외 확장 스트링을 저장하고 상기 예외 확장 스트링을 위한 상기 인식되지 않은 압축된 코드 신호를 제공하며, 그리고
    상기 압축해제 방법을 단계 (y)와 함께 계속함을 포함함을 특징으로 하는 연관 메모리 사용 LZW 데이터 압축 방법.
  9. 제 8 항에 있어서,
    단계 (e) 내지 (j)가 한 압축 주기를 포함하며, 그리고
    상기 압축 방법이 한 종전 압축 주기를 수행한 뒤에 현재의 압축 주기를 수행함을 포함하고, 상기 압축 방법이 현재의 압축 주기 내 압축 방법이 상기 종전 압축 주기의 단계 (i)에서 상기 연관 메모리내로 삽입된 확장 스트링의 압축된 코드 신호를 제공하는 때 상기 인식되지 않은 압축 코드 신호를 제공함을 특징으로 하는 연관 메모리 사용 LZW 데이터 압축 방법.
  10. 제 8 항에 있어서,
    상기 압축해제 메모리(51)의 순차적으로 비어있는 위치에 접근하기 위해 순차적인 주소를 할당하기 위한 주소 계수기(60)를 사용하며, 이에 의해서 단계 (v)의 상기 비어있는 다음 위치의 주소를 제공하며, 상기 순차적으로 비어있는 위치가 [A]+1에서 시작하고,
    상기 입력 코드 레지스터(53) 내 수신되고 압축된 코드 신호와 상기 주소 계수기(60)의 내용 사이의 비교(80)에 따라 상기 예외 처리 방법을 사용함을 더욱더 포함함을 특징으로 하는 연관 메모리 사용 LZW 데이터 압축 방법.
  11. 데이터 문자 신호의 입력 스트림(32)을 압축된 코드 신호의 스트림내로 압축하며, 상기 데이터 문자 신호는 [A] 문자를 담고 있는 데이터 문자 신호의 알파벳에 속하는 데이터 압축 장치에 있어서,
    (a) 데이터 문자 신호들의 스트링을 저장하기 위한 다수의 위치를 가지며, 각 위치가 프리픽스 코드 필드(12)와 문자 필드(13)를 가지며 각 위치는 위치와 관련된 주소를 갖고, 상기 주소는 저장된 스트링을 위한 압축된 코드 신호를 제공하는 연관 메모리(11),
    (b) 상기 메모리의 [A] 위치 프리픽스 코드 필드를 공백(null)으로 하므로써 상기 알파벳의 [A] 단일 문자 스트링을 포함하기 위해 상기 메모리를 초기화하고 상기 알파벳의 데이터 문자 신호를 상기 [A] 위치의 문자 필드 각각으로 삽입시키기 위한 수단,
    (c) 코드 필드(21)와 문자 필드(22)를 가지는 레지스터(20),
    (d) 상기 레지스터의 코드 필드를 공백(null)으로 하고 (40), 입력 데이터 문자(33)를 상기 레지스터의 문자 필드(22)내로 삽입하기 위한 수단,
    (e) 상기 레지스터의 내용을 상기 메모리의 위치내용과 연관적으로 비교하여 (23) 매칭(matching)을 결정하기 위해 상기 메모리를 동작시키기 위한 메모리와 레지스터에 결합된 제어 수단(41),
    (f) 매칭이 결정되면, 매칭된 위치와 연관된 주소(25)를 상기 레지스터의 코드 필드내로 삽입시키고, 상기 입력 스트림의 다음 데이터 문자(33)를 상기 레지스터의 문자 필드내로 삽입시키도록 상기 제어 수단이 동작되고,
    (g) 더 이상 매칭이 없을때까지 단계(e)와 (f)를 반복하고, 이에 의해서 상기 메모리내에 저장된 가장 긴 스트링이 상기 입력 스트링과 매칭됨을 발견하도록 제어 수단이 동작되며,
    (h) 단계 (e)에서 어떠한 매칭도 발견되지 않는 때, 상기 레지스터의 코드 필드 내용을 압축된 코드 신호로서 제공하며 (34), 이에 의해서 상기 가장 긴 매칭된 저장 스트링의 압축된 코드 신호를 제공하도록 제어 수단이 동작되고,
    (i) 상기 레지스터의 코드 필드와 문자 필드의 내용(27, 28)을 상기 메모리 내 비어있는 다음 위치의 프리픽스 코드 필드와 문자 필드내로 각각 기록하며, 이에 의해서 상기 입력 스트림 내 다음 뒤따르는 데이터 문자 신호에 의해 확장된 가장 긴 매칭된 저장 스트링으로 구성된 한 확장 스트링을 상기 메모리내로 삽입시키고, 상기 비어있는 다음 위치의 주소가 상기 메모리내로 삽입된 확장 스트링을 위한 압축된 코드 신호를 제공하도록 제어 수단이 동작되며,
    (j) 상기 확장 스트링을 상기 메모리내로 삽입한 후에 상기 레지스터의 코드 필드를 공백(null)으로 하기 위한 수단(40),
    (k) 데이터 문자 신호(32)의 어떠한 입력 스트림도 더이상 압축할 필요가 없을때까지 단계 (e) 내지 단계 (j)를 반복하도록 상기 제어 수단이 동작됨을 특징으로 하는 연관 메모리 사용 LZW 데이터 압축 장치.
  12. 제 11 항에 있어서, 상기 메모리의 순차적으로 비어있는 위치에 접근하기 위해 순차적인 주소(31)들을 할당하여 단계 (i)의 비어있는 다음 위치를 제공하도록 하기 위한 주소 계수기(31)를 더욱더 포함하며,
    상기 순차적인 주소들이 [A]+1로 시작함을 특징으로 하는 연관 메모리 사용 LZW 데이터 압축 방법.
  13. 제 11 항에 있어서, 상기 초기화 단계가 상기 메모리 위치의 문자 필드내로 상기 [A] 위치를 제외하고 상기 알파벳의 데이터 문자 신호로 인식되지 않는 임의의 비트 패턴을 삽입하기 위한 수단을 더욱더 포함함을 특징으로 하는 연관 메모리 사용 LZW 데이터 압축 장치.
  14. 제 11 항에 있어서, 해당하는 입력 데이터 문자 신호의 스트림을 회복하기 위해 압축된 코드 신호의 스트림을 압축해제하기 위해 데이터를 압축 해제하는 장치를 더욱더 포함하며(도 2),
    다음의 단계(o) 내지 (y)가 압축해제 주기를 포함하고, 상기 데이터 압축해제 장치가
    (l) 데이터 문자 신호의 스트링을 저장하기 위한 다수의 위치들을 갖는 압축 해제 메모리(51)로서, 각 위치가 한 프리픽스 코드 필드(55)와 문자 필드(56)를 가지며, 각 위치가 연관된 한 주소를 갖고, 이 주소가 상기 압축 해제 메모리내에 저장된 스트링을 위한 압축된 코드 신호를 제공하는 상기 메모리,
    (m) 상기 압축해제 메모리의 [A] 위치 프리픽스 코드 필드를 공백(null)으로 하고 상기 알파벳의 데이터 문자 신호를 상기 [A] 위치의 문자 필드내로 삽입시키므로써 상기 알파벳의 [A] 단일 문자 스트링을 포함하도록 상기 압축해제 메모리를 초기화하기 위한 수단,
    (n) 상기 압축 해제 메모리의 상기 위치에 접근하기 위한 한 주소 레지스터(54),
    (o) 압축된 코드 신호(52)를 수신하기 위한 상기 입력 코드 레지스터 (53), (p) 상기 입력 코드 레지스터 내용을 상기 주소 레지스터로 전달하기 위한 수단,
    (q) 현재의 압축해제 주기 이전 압축해제 주기에서 수신된 압축된 코드 신호를 보유하기 위한 종전의 코드 레지스터(70),
    (r) 스택(62),
    (s) 상기 주소 레지스터의 내용에 해당하는 압축해제 메모리의 위치에 접근하기 위해 상기 압축해제 메모리를 동작시키기 위한 압축해제 메모리, 주소 레지스터, 입력 코드 레지스터, 종전코드 레지스터 그리고 스택에 결합된 압축해제 제어 수단(73),
    (t) 접근된 위치의 문자 필드 내용(63)을 스택(62)내로 삽입시키고, 이에 의해서 접근된 위치의 문자 필드 내 데이터 문자 신호를 상기 스택내로 삽입하도록 상기 압축해제 제어 수단이 동작되며,
    (u) 접근된 위치의 프리픽스 코드 필드의 내용(61)을 상기 주소 레지스터내로 삽입하도록 상기 압축해제 제어 수단이 동작되고,
    (v) 상기 주소 레지스터의 내용이 공백(null)이 될 때까지 단계(s) 내지 (u)를 반복하며 (75), 이에 의해서 상기 스택내로 압축 수신된 코드 신호에 해당하는 데이터 문자 신호들을 삽입하도록 상기 압축해제 제어 수단이 동작되며,
    (w) 상기 주소 레지스터 내로 비어있는 다음 위치 주소를 삽입하고(60),
    상기 주소 레지스터에 의해 접근되는 상기 압축해제 메모리 위치의 프리픽스 코드 필드와 문자 필드 내로 각각 갱신 프리픽스 코드(71)와 갱신 문자(72)를 기록하며, 상기 갱신 프리픽스 코드가 상기 종전 코드 레지스터에 의해 제공되고, 상기 갱신 문자가 상기 스택내로 삽입된 마지막 데이터 문자 신호에 의해 제공되며, 이에 의해서 상기 연관 메모리내로 삽입된 확장 스트링에 상응하는한 확장 스트링을 상기 압축해제 메모리내로 삽입하고, 상기 비어있는 다음 위치의 주소가 상기 압축해제 메모리내로 삽입된 확장 스트링을 위한 압축된 코드 신호를 제공하도록 상기 압축해제 제어 수단이 동작되며,
    (x) 상기 스택 내용을 출력시키고(64), 이에 의해 압축 수신된 코드 신호에 해당하는 데이터 문자 신호의 스트링을 회복하도록 상기 압축해제 제어 수단이 동작되고,
    (y) 상기 입력 코드 레지스터 내 압축 수신된 코드 신호를 상기 종전 코드 레지스터내로 전달시키도록 상기 압축해제 제어 수단이 동작되며,
    (z) 압축된 코드 신호의 어떠한 스트림도 압축이 해제될 것을 필요로 하지 않을 때까지 단계 (o) 내지 (y)를 반복하도록 상기 압축해제 제어 수단이 동작됨을 특징으로 하는 연관 메모리 사용 LZW 데이터 압축 방법.
  15. 제 14 항에 있어서, 상기 압축해제 메모리의 순차적으로 비어있는 위치에 접근하기 위해 순차적 주소들을 할당하기 위한 주소 계수기(60)를 더욱더 포함하며, 이에 의해서 비어있는 다음 위치의 주소를 제공하고, 상기 순차적으로 비어있는 위치가 [A]+1에서 시작됨을 특징으로 하는 연관 메모리 사용 LZW 데이터 압축 방법.
  16. 제 14 항에 있어서, 상기 출력 단계가 데이터 문자 신호들이 상기 스택내로 삽입되었던 순서의 역 순서로 상기 스택으로부터 데이터 문자 신호들을 출력시키도록 상기 압축해제 제어 수단이 동작됨을 특징으로 하는 연관 메모리 사용 LZW 데이터 압축 방법.
  17. 제 14 항에 있어서, 상기 압축해제 제어 수단(73)이 압축 수신된 코드 신호(52)가 상기 압축해제 메모리(51)내에 저장된 상응하는 스트링을 갖지 않는때 사용되는 예외 처리 방법에서 압축해제 장치를 동작시키도록 동작되며, 이에 의해서 상기 압축 수신된 코드 신호가 인식되지 않게되며, 상기 예외 처리 방법에서 동작되는 압축해제 제어 수단이
    상기 갱신 문자에 의해 확장된 상기 종전 코드 레지스터 내 압축된 코드 신호에 해당하는 스트링으로 이루어진 한 예외 확장 스트링을 발생시키고,
    상기 예외 확장 스트링을 출력하며, 이에 의해서 상기 인식되지 않은 압축된 코드 신호에 해당하는 스트링을 출력하며, 그리고
    상기 압축해제 메모리(51)내에 상기 예외 확장 스트링을 저장하고, 상기 인식되지 않은 압축된 코드 신호가 상기 저장된 예외 확장 스트링에 해당되는 압축된 코드 신호를 제공함을 포함함을 특징으로 하는 연관 메모리 사용 LZW 데이터 압축 방법.
  18. 제 17 항에 있어서,
    상기 갱신 문자를 상기 스택(62)내로 삽입하며,
    상기 종전 코드 레지스터의 내용을 상기 주소 레지스터로 전달하고(90),
    단계 (s) 내지 (x)를 수행하며, 이에 의해서 상기 예외 확장 스트링을 발생시키고, 상기 예외 확장 스트링을 출력하며, 단계 (w)의 주소를 갖는 상기 압축 해제 메모리(51)내에 상기 예외 확장 스트링을 저장하고 상기 예외 확장 스트링을 위한 상기 인식되지 않은 압축된 코드 신호를 제공하며, 그리고
    단계 (y)와 함께 상기 압축해제 주기를 계속하도록 상기 압축해제 제어 수단이 상기 예외 처리 모드에서 동작됨을 특징으로 하는 연관 메모리 사용 LZW 데이터 압축 방법.
  19. 제 8 항에 있어서,
    단계 (e) 내지 (j)가 한 압축 주기를 포함하며, 그리고
    상기 압축 장치가 한 종전 압축 주기를 수행한 뒤에 현재의 압축 주기를 수행하고, 상기 압축 장치가 현재의 압축 주기 내 압축 장치가 상기 종전 압축 주기의 단계 (i)에서 상기 연관 메모리내로 삽입된 확장 스트링의 압축된 코드 신호를 제공하는 때 상기 인식되지 않은 압축 코드 신호를 제공함을 특징으로 하는 연관 메모리 사용 LZW 데이터 압축 방법.
  20. 제 18 항에 있어서,
    상기 압축해제 메모리(51)의 순차적으로 비어있는 위치에 접근하기 위해 순차적인 주소를 할당하기 위한 주소 계수기(60)로서, 이에 의해서 단계 (w)의 상기 비어있는 다음 위치의 주소를 제공하며, 상기 순차적으로 비어있는 위치가 [A]+1에서 하게되는 주소 계수기, 그리고
    상기 입력 코드 레지스터(53) 내 수신되고 압축된 코드 신호와 상기 주소 계수기(60)의 내용을 비교하기 위한 수단(80)을 포함하며,
    상기 압축해제 제어 수단이 상기 입력 코드 레지스터 내 수신된 압축 코드 신호와 상기 주소 계수기의 내용 사이의 비교에 따라 상기 예외 처리 방법을 사용하도록 동작됨을 특징으로 하는 연관 메모리 사용 LZW 데이터 압축 방법.
KR1019970704428A 1994-12-29 1995-12-18 연관메모리사용lzw데이터압축방법및그장치 KR100292105B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US8/366356 1994-12-29
US08/366356 1994-12-29
US08/366,356 US5642112A (en) 1994-12-29 1994-12-29 Method and apparatus for performing LZW data compression utilizing an associative memory
PCT/US1995/016615 WO1996021283A1 (en) 1994-12-29 1995-12-18 Lzw data compression using an associative memory

Publications (2)

Publication Number Publication Date
KR980701157A KR980701157A (ko) 1998-04-30
KR100292105B1 true KR100292105B1 (ko) 2001-06-01

Family

ID=23442676

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970704428A KR100292105B1 (ko) 1994-12-29 1995-12-18 연관메모리사용lzw데이터압축방법및그장치

Country Status (14)

Country Link
US (2) US5642112A (ko)
EP (1) EP0800726B1 (ko)
JP (1) JP3016868B2 (ko)
KR (1) KR100292105B1 (ko)
CN (1) CN1110904C (ko)
AT (1) ATE178442T1 (ko)
AU (1) AU702620B2 (ko)
DE (1) DE69508796T2 (ko)
DK (1) DK0800726T3 (ko)
ES (1) ES2130696T3 (ko)
FI (1) FI972779A (ko)
GR (1) GR3030107T3 (ko)
RU (1) RU2159989C2 (ko)
WO (1) WO1996021283A1 (ko)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6002718A (en) * 1995-10-27 1999-12-14 Hewlett-Packard Company Method and apparatus for generating runlength-limited coding with DC control
US6191711B1 (en) * 1999-02-25 2001-02-20 Nortel Networks Ltd. Binary data compression/decompression apparatus and method of operation for use with modem connections
US6320523B1 (en) * 1999-07-30 2001-11-20 Unisys Corporation Method and apparatus for reducing the time required for compressing data
US6728426B1 (en) 1999-08-23 2004-04-27 International Business Machines Corporation Compression of form images in gray-level
US6404362B1 (en) * 1999-09-21 2002-06-11 Unisys Corporation Method and apparatus for reducing the time required for decompressing compressed data
US6522784B1 (en) 2000-04-11 2003-02-18 International Business Machines Corporation Enhanced compression of gray-level images
US6348881B1 (en) 2000-08-29 2002-02-19 Philips Electronics No. America Corp. Efficient hardware implementation of a compression algorithm
US6426711B1 (en) * 2001-05-14 2002-07-30 Unisys Corporation Character table implemented data compression method and apparatus
US20030088537A1 (en) * 2001-08-08 2003-05-08 Nec Eluminant Technologies, Inc. High speed data compression and decompression apparatus and method
US6653950B2 (en) * 2001-09-13 2003-11-25 Unisys Corporation Data compression method and apparatus utilizing cascaded subdictionaries
US7185041B1 (en) 2001-10-05 2007-02-27 Unisys Corporation Circuit and method for high-speed execution of modulo division
US6466144B1 (en) * 2001-11-30 2002-10-15 Unisys Corporation Data decompressor for use with a data compressor implemented with limited length character tables and compact string codes
US6614368B1 (en) * 2002-01-16 2003-09-02 Unisys Corporation Data compression method and apparatus utilizing cascaded character tables
US6628211B1 (en) * 2002-03-19 2003-09-30 Unisys Corporation Prefix table implemented data compression method and apparatus
US6624762B1 (en) 2002-04-11 2003-09-23 Unisys Corporation Hardware-based, LZW data compression co-processor
US7136960B2 (en) * 2002-06-14 2006-11-14 Integrated Device Technology, Inc. Hardware hashing of an input of a content addressable memory (CAM) to emulate a wider CAM
DE10310858A1 (de) * 2003-03-11 2004-09-23 Bergische Universität Wuppertal Verfahren und Vorrichtung zur Kompression einer Zeichenkette
US7664173B2 (en) * 2004-06-07 2010-02-16 Nahava Inc. Method and apparatus for cached adaptive transforms for compressing data streams, computing similarity, and recognizing patterns
RU2004113857A (ru) * 2004-07-19 2005-12-20 Николай Михайлович Алексеев (RU) Способ сжатия информации, представленной в электронной форме
US7256715B1 (en) * 2005-01-07 2007-08-14 Altera Corporation Data compression using dummy codes
CN101536178B (zh) * 2006-11-17 2011-08-03 高通股份有限公司 内容可寻址存储器
US8438558B1 (en) 2009-03-27 2013-05-07 Google Inc. System and method of updating programs and data
CN101572552B (zh) * 2009-06-11 2012-07-18 哈尔滨工业大学 基于内容可寻址存储器的高速无损数据压缩系统
US8427347B1 (en) 2011-03-30 2013-04-23 Altera Corporation Dynamic data compression and decompression
EP2843842A1 (en) * 2013-09-03 2015-03-04 Compact AG Method and system for LZW based decompression
US11169717B2 (en) * 2018-12-28 2021-11-09 Micron Technology, Inc. Unauthorized access command logging using a key for a protected region of memory

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5151697A (en) * 1990-10-15 1992-09-29 Board Of Regents Of The University Of Washington Data structure management tagging system
US5373290A (en) * 1991-09-25 1994-12-13 Hewlett-Packard Corporation Apparatus and method for managing multiple dictionaries in content addressable memory based data compression
US5339076A (en) * 1992-04-27 1994-08-16 Integrated Information Technology Data compression using content addressable memory
US5485526A (en) * 1992-06-02 1996-01-16 Hewlett-Packard Corporation Memory circuit for lossless data compression/decompression dictionary storage
US5469161A (en) * 1992-08-13 1995-11-21 International Business Machines Corporation Algorithm for the implementation of Ziv-Lempel data compression using content addressable memory
US5455576A (en) * 1992-12-23 1995-10-03 Hewlett Packard Corporation Apparatus and methods for Lempel Ziv data compression with improved management of multiple dictionaries in content addressable memory
US5369605A (en) * 1993-07-07 1994-11-29 Dell Usa, L.P. Incremental search content addressable memory for increased data compression efficiency
US5532693A (en) * 1994-06-13 1996-07-02 Advanced Hardware Architectures Adaptive data compression system with systolic string matching logic

Also Published As

Publication number Publication date
WO1996021283A1 (en) 1996-07-11
FI972779A0 (fi) 1997-06-27
JPH10508170A (ja) 1998-08-04
RU2159989C2 (ru) 2000-11-27
EP0800726B1 (en) 1999-03-31
DE69508796D1 (de) 1999-05-06
EP0800726A1 (en) 1997-10-15
US5642112A (en) 1997-06-24
CN1171868A (zh) 1998-01-28
FI972779A (fi) 1997-06-27
ES2130696T3 (es) 1999-07-01
CN1110904C (zh) 2003-06-04
US5838264A (en) 1998-11-17
DE69508796T2 (de) 1999-08-19
ATE178442T1 (de) 1999-04-15
DK0800726T3 (da) 1999-10-11
GR3030107T3 (en) 1999-07-30
AU702620B2 (en) 1999-02-25
JP3016868B2 (ja) 2000-03-06
AU4525996A (en) 1996-07-24
MX9704896A (es) 1997-10-31
KR980701157A (ko) 1998-04-30

Similar Documents

Publication Publication Date Title
KR100292105B1 (ko) 연관메모리사용lzw데이터압축방법및그장치
US5151697A (en) Data structure management tagging system
US5371499A (en) Data compression using hashing
JP3342700B2 (ja) ストリングリバーサル機構を具備した単一クロックサイクルデータ圧縮装置/圧縮解除装置
KR100332709B1 (ko) 스트링 검색이 포함되어 있는 즉각적인 사전 갱신을 갖춘 데이터
US6876774B2 (en) Method and apparatus for compressing data string
US3675211A (en) Data compaction using modified variable-length coding
US5936560A (en) Data compression method and apparatus performing high-speed comparison between data stored in a dictionary window and data to be compressed
US5136289A (en) Dictionary searching system
RU97112940A (ru) Способ и устройство сжатия данных с использованием ассоциативной памяти
US6404362B1 (en) Method and apparatus for reducing the time required for decompressing compressed data
US6426711B1 (en) Character table implemented data compression method and apparatus
JP2003521140A (ja) データの圧縮に必要な時間を短縮するための方法および装置
CA2208049C (en) Method and apparatus for performing lzw data compression utilizing an associative memory
JP2729416B2 (ja) テキストデータの復元方法
JP3130324B2 (ja) データ圧縮方式
MXPA97004896A (en) Method and device for completing data lzw using an asociat memory
JP2535655B2 (ja) 辞書検索方式
US6653950B2 (en) Data compression method and apparatus utilizing cascaded subdictionaries
JP4380052B2 (ja) スライド辞書の故障検出方法及び故障検出装置
JPH0683575A (ja) データ圧縮及び復元方式

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20040113

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee