KR20070054055A - 데이터 처리 장치 - Google Patents

데이터 처리 장치 Download PDF

Info

Publication number
KR20070054055A
KR20070054055A KR1020050112036A KR20050112036A KR20070054055A KR 20070054055 A KR20070054055 A KR 20070054055A KR 1020050112036 A KR1020050112036 A KR 1020050112036A KR 20050112036 A KR20050112036 A KR 20050112036A KR 20070054055 A KR20070054055 A KR 20070054055A
Authority
KR
South Korea
Prior art keywords
data
character
translation
translation table
compression
Prior art date
Application number
KR1020050112036A
Other languages
English (en)
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 삼성전자주식회사
Priority to KR1020050112036A priority Critical patent/KR20070054055A/ko
Publication of KR20070054055A publication Critical patent/KR20070054055A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1744Redundancy elimination performed by the file system using compression, e.g. sparse files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/40Specific encoding of data in memory or cache
    • G06F2212/401Compressed data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 데이터 처리 장치에 관한 것이다. 본 발명에 따른 데이터 처리 장치는 트랜스레이션 테이블을 저장하기 위한 메모리부와; 상기 데이터 파일을 압축 처리하기 위한 트랜스레이션 데이터를 상기 트랜스레이션 테이블에 저장하고, 상기 데이터 파일의 압축 처리 과정 중에 상기 트랜스레이션 테이블의 저장 공간이 남아있지 않으면 상기 트랜스레이션 테이블의 모든 상기 트랜스레이션 데이터를 삭제하고, 상기 데이터 파일의 압축 처리 되지 아니한 나머지 데이터를 압축 처리하기 위한 트랜스레이션 데이터를 상기 트랜스레이션 테이블에 저장하는 압축신장부를 포함한다. 이에 의해, 데이터 파일에 대한 압축과 신장의 효율을 향상시킨다

Description

데이터 처리 장치{DATA PROCESSING APPARATUS}
도 1은 본 발명에 따른 데이터 처리 장치의 제어 블록도 이다.
도 2는 본 발명에 따른 데이터 처리 장치의 제어 흐름도이다.
* 도면의 주요 부분에 대한 부호의 설명 *
10 : 기억장치부 20 : 입력부
30 : 압축신장부 33 : 검색부
40 : 메모리부 50 : 출력부
100 : 데이터 처리 장치
본 발명은 데이터 처리 장치에 관한 것으로서, 보다 상세하게는, 데이터 파일의 압축 및 신장 처리 방법을 개선한 알고리즘을 포함하는 데이터 처리 장치에 관한 것이다.
일반적으로 데이터 처리 장치는 데이터의 압축과 신장을 위해 여러 가지 알고리즘을 사용할 수 있으며, 여러 알고리즘 중에서도 렘펠 지브 웰치(LZW : Lempel Zive Welch, 이하 LZW) 알고리즘이 널리 사용되고 있다.
종래의 데이터 처리 장치는 데이터 파일을 압축 처리하기 위해 사용되는 트랜스레이션 테이블을 저장하는 메모리부와, 트랜스레이션 테이블에 저장된 트랜스레이션 데이터를 참조하여 데이터 파일를 압축 처리하는 압축신장부를 포함한다. 압축신장부는 데이터 파일을 압축 처리하기 위해 데이터를 문자 단위로 읽어오는데 현재 문자와 이전에 읽어와 문자를 결합한 결합문자를 트랜스레이션 테이블에서 검색하여 일치하는 트랜스레이션 데이터가 없으면 결합문자를 트랜스레이션 테이블에 저장한다.
데이터 처리 장치는 데이터 파일을 반영구적으로 보관하는 하드디스크 또는 이동식 저장매체등과 같은 기억장치부와, 기억장치부로부터 데이터 파일을 읽어오는 입력부와, 트랜스레이션 테이블에서 트랜스레이션 데이터를 검색하기 위한 검색부 및 압축 처리된 데이터을 순서대로 출력받는 출력부를 포함한다.
종래의 데이터 처리 장치는 압축신장부가 데이터 파일을 압축 처리하는 중 트랜스레이션 테이블에 더 이상 트랜스레이션 데이터를 저장할 공간이 남아있지 않으면, 이후에 압축신장부가 읽어 오는 데이터에 대해서는, 트랜스레이션 테이블에 저장돼 있을 때만 압축 처리하고, 없을때는 상기 데이터를 바이패스(bypass)하여 출력부에 출력한다. 따라서 종래의 데이터 처리 장치는 트랜스레이션 테이블의 저장 공간이 남아있지 않게 되면 압축 효율이 떨어질 수 있다.
따라서, 본 발명의 목적은 데이터 파일에 대한 압축과 신장의 효율을 향상시키기 위해 트랜스레이션 테이블의 효율적으로 관리할 수 있는 데이터 처리 장치를 제공하기 위한 것이다.
상기 목적을 달성하기 위해서, 본 발명에 따른 데이터 처리 장치는 트랜스레이션 테이블을 저장하기 위한 메모리부와; 상기 데이터 파일을 압축 처리하기 위한 트랜스레이션 데이터를 상기 트랜스레이션 테이블에 저장하고, 상기 데이터 파일의 압축 처리 과정 중에 상기 트랜스레이션 테이블의 저장 공간이 남아있지 않으면 상기 트랜스레이션 테이블의 모든 상기 트랜스레이션 데이터를 삭제하고, 상기 데이터 파일의 압축 처리 되지 아니한 나머지 데이터를 압축 처리하기 위한 트랜스레이션 데이터를 상기 트랜스레이션 테이블에 저장하는 압축신장부를 포함한다.
상기 압축신장부는 상기 데이터 파일의 압축 및 신장 중 적어도 하나를 수행할 수 있다. 그리고, 상기 압축신장부는 렘펠 지브 웰치(LZW : Lempel Zive Welch) 알고리즘에 의해 상기 데이터 파일을 압축 및 신장 처리할 수 있다.
그리고, 상기 압축신장부는 상기 데이터 파일을 문자 단위로 읽어와 압축 처리할 수 있다.
그리고, 상기 압축신장부는 상기 데이터 파일로부터 데이터를 문자 단위로 읽어오면, 상기 문자를 이전에 읽어온 문자와 결합하여 결합문자를 만들고 상기 결합문자가 상기 트랜스레이션 테이블에 없으면, 상기 결합문자를 상기 트랜스레이션 테이블에 저장하고 상기 결합문자에 고유의 코드를 할당할 수 있다.
이하에서는 첨부도면을 참조하여 본 발명에 대해 상세하게 설명한다.
도 1에 도시한 바와 같이, 본 발명에 따른 데이터 처리 장치는 데이터 파일 를 압축 처리하는데 있어서 필요한 트랜스레이션 테이블을 저장하는 메모리부(40)와, 데이터 파일를 압축 처리하는 압축신장부(30)를 포함한다. 그리고, 데이터를 반영구적으로 보관할 수 있는 기억장치부(10)와, 기억장치부(10)로부터 압축 처리할 데이터 파일를 읽어오는 입력부(20) 및 압축 처리된 데이터를 기억장치부(10)에 출력하는 출력부(50)를 포함할 수 있다. 여기서 전술한 압축 처리는 압축된 데이터 파일을 압축과 신장 중 적어도 하나를 포함한다고 정의한다.
메모리부(40)에는 압축신장부(30)가 데이터 파일를 압축 처리하기 위해 사용할 트랜스레이션 테이블이 저장된다.
트랜스레이션 테이블은 배열 구조로 마련될 수 있으며, 트랜스레이션 테이블은 트랜스레이션 데이터들이 저장되는 엘리먼트들을 포함하고 하나의 트랜스레이션 데이터는 하나의 엘리먼트에 저장된다. 예를 들어 트랜스레이션 테이블이 Trans_Tbl[4096]로 정의 되었다면 트랜스레이션 테이블은 소정의 크기를 갖는 엘리먼트를 4096개 갖는 다는 것을 의미한다. 일반적으로 트랜스레이션 테이블의 배열구조의 0번째 엘리먼트에서 255번째 엘리먼트까지는 일반 문자, 특수 문자 등이 저장된다. 그리고, 후술할 압축신장부는 트랜스레이션 테이블에 저장되는 트랜스레이션 데이터들에 대해서는 266번째 엘리먼트부터 4095번째 엘리먼트에 저장한다.
출력부(50)는 압축신장부(30)에 의해 문자 단위로 압축 처리된 데이터를 출력하면 이 데이터를 받아 파일 형식의 데이터 파일로 완성하여 기억장치부(10) 등에 저장되도록 출력한다.
압축신장부(30)는 데이터 파일을 압축 처리하기 위해 트랜스레이션 테이블을 검색하는 검색부(33)를 포함 할 수 있다.
압축신장부(30)는 데이터 파일을 압축하기 위해 입력부(20)로부터 문자 단위로 데이터를 읽어온다. 그리고 압축신장부(30)는 바로 이전에 읽어온 문자와 현재 읽어온 문자를 결합한 결합문자가 트랜스레이션 테이블에 저장되어 있는지 여부를 판단하여 결합문자와 일치하는 트랜스레이션 데이터가 없으면 결합문자를 트랜스레이션 데이터로 사용하기 위해 트랜스레이션 테이블에 저장하고, 트랜스레이션 데이터가 있으면 결합문자에 할당된 코드를 출력부(50)에 출력한다.
다음은 압축신장부(30)의 LZW 알고리즘 압축 처리 루틴이다.
Line 110 -> STRING = get input character
Line 120 -> WHILE there are still input character DO
Line 130 -> CHARACTER = get input character
Line 140 -> IF STRING+CHARACTER is in the Translation Table THEN
Line 150 -> STRING = STRING + CHARACTER
Line 160 -> ELSE
Line 170 -> output the code for STRING
Line 180 -> add STRING+CHARACTER to the Translation Table
Line 190 -> IF Translation Table is Full THEN
Line 200 -> Clear Translation Data
Line 210 -> STRING = CHARACTER
Line 220 -> END of IF
Line 230 -> END of WHILE
Line 240 -> output the code for STRING
위의 LZW 알고리즘을 바탕으로 예시를 들어 압축 처리 루틴을 설명한다.
입력부(20)가 압축 처리할 데이터 파일로 AAA.TXT를 읽어 들이고, 그리고 AAA.TXT 파일내에 "/WED/WE/WEE/WEB..."과 같은 데이터가 있는 것을 일예로 설명한다. 차후에 압축 처리된 결과 데이터와 비교하기 위해 콤마(,)로 구분하면 /,W,E,D,/,W,E,/,W,E,E,/,W,E,B...가 된다.
먼저, 압축신장부(30)는 입력부(20)로부터 첫 번째 문자인 "/"를 읽어와 변수 STRING에 대입한다(Line 110). 그리고, 압축신장부(30)는 데이터 파일 내에 압축 처리할 데이터가 남아 있는지 확인한다(Line 120). 그리고, 압축신장부(30)는 문자 "/"의 다음 문자인 "W"를 읽어와 변수 CHARACTER에 대입한다(Line 130).
검색부(33)는 변수 STRING에 대입된 문자와 변수 CHARACTER에 대입된 문자를 합성한 결합문자 STRING+CHARACTER 즉, 문자 "/"와 문자 "W"의 결합문자인 "/W"와 일치하는 트랜스레이션 데이터가 있는지 트랜스레이션 테이블을 검색한다(Line 140). 그리고, 검색부(33)는 결합문자 "/W"를 트랜스레이션 테이블에서 찾았다면, 변수 STRING에 STRING+CHARACTER인 결합문자 "/W"를 대입하고(Line 150), Line 120로 이동한다(Line 230).
검색부(33)의 검색 결과, 결합문자 "/W"와 일치하는 트랜스레이션 데이터가 없다고 판단되는 경우(Line 160). 압축신장부(30)는 트랜스레이션 테이블에 결합문자 "/W"와 일치하는 트랜스레이션 데이터가 없으면 변수 STRING에 대입된 "/" 문자 에 대한 코드를 출력부(50)에 출력한다(Line 170).
압축신장부(30)는 STRING+CHARACTER인 결합문자 "/W"를 트랜스레이션 데이터로 사용하기 위해 트랜스레이션 테이블에 결합문자 "/W"를 저장하면서 코드 256에서 코드 4096중 하나를 결합문자에 할당한다(Line 180). 만일 처음 저장되는 트랜스레이션 데이터이면 코드 256를 할당하고 이후에 저장되는 결합문자에 대해서는 순서대로 코드를 할당한다. 코드 256이 할당된 이유는 0에서 255까지는 일반문자 및 특수문자를 위해 할당된 코드이기 때문이다.
그리고, 압축신장부(30)는 트랜스레이션 테이블의 저장 공간이 남아 있는지 확인한다(Line 190). 만일, 트랜스레이션 테이블의 저장 공간이 남아있지 않다면 트랜스레이션 테이블의 트랜스레이션 데이터를 모두 삭제한다(Line 200).
압축신장부(30)는 변수 CHARACTER에 대입했던 문자 "W"를 변수 STRING에 대입한다.(Line 210).
압축신장부(30)는 데이터 파일의 첫 번째 문자는 변수 STRING에 대입만 하고 바로 출력부(50)로 출력한다. 그 후, 압축신장부(30)는 데이터 파일의 두 번째 문자부터 마지막 문자를 읽어 들일 때까지 Line 120에서 Line 230까지 루프(Loop)내에 있는 실행문들을 수행하여 압축 처리한다.
압축신장부(30)는 입력부가 읽어드린 데이터 파일에 압축할 데이터 문자가 더 이상 없을 경우, 마지막 문자를 출력한다(Line 240).
만일 위의 절차에 따라 압축신장부(30)가 문자 "/", "W", "E", "D", "/"까지 압축 처리를 수행한 경우, 압축신장부(30)는 변수 CHARACTER에 다섯 번째 문자인 "/"를 대입한 상태이다. 그 후 압축신장부(30)는 변수 STRING에 변수 CHARACTER를 대입하므로 문자 "/"을 대입하고(Line 210), 압축신장부(30)는 문자 "/"의 다음 문자인 문자 "W"를 읽어와 변수 CHARACTER에 문자 "W"를 대입한다(Line 130).
검색부(33)는 STRING+CHARACTER 즉, 결합문자 "/W"와 일치하는 트랜스레이션 데이터가 트랜스레이션 테이블에 있는지 검색한다(Line 140).
압축신장부(30)는 트랜스레이션 테이블에 트랜스레이션 데이터 "/W"가 있으면 STRING+CHARACTER인 결합문자 "/W"를 변수 STRING에 다시 대입하고, Line 120으로 이동한다(Line 150).
압축신장부(30)는 문자 "W"의 다음 문자인 "E"를 읽어와 변수 CHARACTER에 문자 "E"를 대입한다(Line 130).
검색부(33)는 STRING+CHARACTER의 결합문자인 "/WE"와 일치하는 트랜스레이션 데이터가 트랜스레이션 테이블에 있는지 검색한다(Line 140).
결합문자 "/WE"와 일치하는 트랜스레이션 데이터가 없으므로, 압축신장부(30)는 현재 STRING 변수의 대입 값 "/W"에 대한 코드 256를 출력한다(Line 170).
압축신장부(30)는 STRING+CHARACTER인 결합문자 "/WE"를 트랜스레이션 데이터로 사용하기 위해 트랜스레이션 테이블에 저장하고 코드 260(표 2 참조)을 할당한다(Line 180).
다음 표 1과 표 2는 데이터 파일 AAA.TXT가 위의 압축 처리후의 결과와 트랜스레이션 테이블을 표로 보여주는 것이다
Figure 112005067339580-PAT00001
압축 처리된 결과를 AAA.LZW 데이터 파일이라고 하면 AAA.TXT 데이터 파일의 데이터는 /WED256E260261257B 즉"/,W,E,D,256,E,260,261,257,B"이 된다. /, W, E, D, B는 문자를 나타내는 코드를 의미한다. 또한 표 2와 같은 트랜스레이션 테이블이 만들어 졌다.
만일 데이터 파일 AAA.TXT 내에 데이터들이 /WED/WE/WEE/WEB 의 뒤를 이어 계속해서 있다면, 압축신장부(30)가 압축 처리 중 T1이라는 시점에 트랜스레이션 테이블에 트랜스레이션 데이터를 저장할 수 있는 공간이 남아있지 않게 될 것이다. 이때 압축신장부(30)는 트랜스레이션 테이블의 트랜스레이션 데이터를 모두 삭제하고 T1 시점 이후의 데이터들에 대해서 압축 처리를 계속 진행하며 트랜스레이션 테이블에 T1 시점 이후의 데이터들에 대한 트랜스레이션 데이터를 저장하게 된다.
다음은 압축신장부(30)의 LZW 알고리즘 신장 처리 루틴이다.
Line 310 -> Read OLD_CODE
Line 320 -> output OLD_CODE
Line 330 -> WHILE there are still input character DO
Line 340 -> Read NEW_CODE
Line 350 -> STRING = get Translation of NEW_CODE
Line 360 -> output STRING
Line 370 -> CHARACTER = first character in STRING
Line 380 -> add OLD_CODE+CHARACTER to the Translation Table
Line 390 -> IF Translation Table is Full THEN
Line 400 -> Clear Translation Data
Line 410 -> OLD_CODE = NEW_CODE
Line 420 -> END of WHILE
위의 알고리즘을 바탕으로 예시를 들어 신장 처리 루틴을 설명한다.
입력부(20)가 신장 처리할 데이터 파일로 AAA.LZW를 입력받았다. 그리고 AAA.LZW 파일내에 /WED256E260261257B 즉"/,W,E,D,256,E,260,261,257,B"과 같은 데이터가 있다. /, W, E, D, B는 실제로 문자의 코드를 의미한다.
먼저 압축신장부(30)은 입력부(20)로부터 첫 번째 문자 코드 OLD_CODE를 읽어온다. 이때 OLD_CODE는 문자 "/"에 대한 코드를 의미한다(Line 310). 그리고, 압축신장부(30)는 첫 번째 문자 코드에 대해서는 OLD_CODE에 대입하고 출력부(50)에 출력한다(Line 320). 그리고, 압축신장부(30)가 파일내에 신장 처리할 데이터가 남아 있는지 확인한다(Line 330).
압축신장부(30)는 입력부(20)로부터 NEW_CODE를 읽어온다. NEW_CODE는 OLD_CODE의 다음 코드인 문자 "W"에 대한 코드를 의미한다.(Line 340). 그리고, 압축신장부(30)는 NEW_CODE에 해당하는 문자를 변수 STRING에 대입한다. 여기선 변수 STRING에 문자 "W"를 대입한다(Line 350).
압축신장부(30)는 변수 STRING에 대입된 문자 "W"를 출력부(50)에 출력한다(Line360).
압축신장부(30)는 위의 변수 STRING에 대입된 문자들 중 첫 번째 문자를 변수 CHARACTER에 대입한다. 여기에선 변수 STRING에 대입된 문자들은 문자 "W"밖에 없으므로 변수 CHARACTER에 문자 "W"를 대입한다(Line 370).
압축신장부(30)는 OLD_CODE+NEW_CODE 즉 "/W"인 결합문자를 트랜스레이션 데이터로 사용하기 위해 트랜스레이션 테이블에 저장하고 코드 256(표 4 참조)를 할당한다(Line 380). 코드 256이 할당된 이유는 0에서 255까지는 일반문자 및 특수문자를 위해 할당된 코드이기 때문이다.
압축신장부(30)는 트랜스레이션 테이블에 트랜스레이션 데이터를 저장할 수 있는지 확인한다(Line 390).
만일 압축신장부(30)가 트랜스레이션 테이블을 확인하고 저장 공간이 남아있지 않다면 트랜스레이션 데이터를 모두 제거한다(Line 400).
압축신장부(30)는 OLD_CODE에 NEW_CODE 즉 문자 "W"를 대입한다(Line 410).
만일 위의 절차에 따라 압축신장부(30)가 문자 /, W, E, D까지 신장 처리를 수행하였다고 가정하면, 압축신장부(30)는 Line 410에서 NEW_CODE가 가지고 있는 문자 "D"에 대한 코드를 OLD_CODE에 대입했고, "D"의 다음 코드인 256을 읽어와 변수 NEW_CODE에 대입했다(Line 340).
압축신장부(30)는 NEW_CODE 즉 코드 256에 해당하는 문자열을 트랜스레이션 테이블로부터 읽어와 변수 STRING에 대입하고(Line 350). 변수 STRING에 대입된 문자열 "/W"를 출력부(50)에 출력한다(Line 360). 그리고, 압축신장부(30)는 변수 STRING에 대입된 문자열 "/W" 중 첫 번째 문자 "/"를 변수 CHARACTER에 대입한다(Line 370). 또한, 압축신장부(30)는 OLD_CODE+CHARACTER 즉 "D/"인 결합문자를 트랜스레이션 데이터로 사용하기 위해 트랜스레이션 테이블에 저장하고 코드 259를 할당한다(Line 380).
압축신장부(30)는 트랜스레이션 테이블의 저장 공간이 남아 있는지 여부를 판단하고(Line 390), 트랜스레이션 테이블의 저장 공간이 남아있지 않으면 트랜스레이션 테이블의 트랜스레이션 데이터를 모두 삭제한다(Line 400).
위와 같은 절차는 압축신장부(30)가 입력부(20)로부터 데이터 파일 AAA.LZW의 문자 코드를 읽어올 때 마다 Line 330에서 Line 420까지의 실행문을 수행한다.
다음 표 3과 표 4는 데이터 파일 AAA.LZW가 위의 신장 처리후의 결과와 트랜스레이션 테이블을 표로 보여주는 것이다.
Figure 112005067339580-PAT00002
신장 처리된 결과, 압축 데이터 파일 AAA.LZW은 AAA.TXT 데이터 파일로 복원되었고 표 4의 OUTPUT 열에 표시된 것과 같이 /WED/WE/WEE/WEB 즉"/,W,E,D,/,W,E,/,W,E,E,/,W,E,B"이 된다. 또한 표 4와 같은 트랜스레이션 테이블이 만들어 졌다.
만일 압축 데이터 파일 AAA.LZW 내에 데이터들이 /WED256E260261257B의 뒤를 이어 있고, 압축신장부(30)가 신장 처리 중 T2라는 시점에 트랜스레이션 테이블에 트랜스레이션 데이터를 저장할 수 있는 저장 공간이 남아 있지 않게 될 수 있다. 이때, 압축신장부(30)는 트랜스레이션 테이블의 트랜스레이션 데이터를 모두 삭제하고 T2 시점 이후의 데이터들에 대해서 신장 처리를 계속 진행하며 트랜스레이션 테이블에 T2 시점 이후의 데이터들에 대한 트랜스레이션 데이터를 저장하게 된다.
도 2에 도시된 바와 같이, 본 발명에 따른 데이터 처리장치에서 데이터 파일을 압축 처리하는 경우, 압축신장부(30)가 데이터 파일의 첫 번째 문자를 읽어와 변수 STRING에 대입한다(S10). 압축신장부(30)는 데이터 파일에 읽어올 데이터가 남아 있는지 확인한다(S13). 압축신장부(30)는 읽어올 데이터가 남아 있을 경우, 다음 문자를 읽어와 변수 CHARACTER에 대입하고(S15), 읽어올 데이터가 없다면 압축 처리 루틴을 빠져나온다. 검색부(33)가 STRING+CHARACTER 결합문자가 트랜스레이션 테이블에 있는지 검색한다(S17). 만일 트랜스레이션 테이블에 결합문자가 있다면 압축신호부(30)는 변수 STRING에 STRING+CHARACTER 결합문자를 대입한 후(S18), S13 단계로 이동한다. 트랜스레이션 테이블에 결합문자가 없다면 압축신장부(30)는 변수 STRING에 대입돼 있는 문자를 출력부(50)에 출력한다(S19). 압축신장부(30)는 트랜스레이션 데이터로 사용하기 위해 STRING+CHARACTER 결합문자를 트랜스레이션 테이블에 저장한다(S21). 압축신장부(30)는 변수 CHARACTER에 대입돼 있는 문자를 변수 STRING에 대입한다(S23).
전술한 실시예에서, 본 발명에 따른 압축 및 신장 처리 알고리즘은 LZW 압축 및 신장 처리 알고리즘에 의해 압축 및 신장 처리 절차를 설명한 것이고, 그밖에 다른 압축 및 신장 처리 알고리즘에서 적용할 수 있다.
본 발명에 따른 데이터 처리 장치는 데이터를 처리 및 가공할 수 있는 컴퓨터 및 복합기 등 데이터를 압축 및 신장 처리할 수 있는 장치들을 다양하게 포함할 수 있다.
비록 본 발명의 몇몇 실시예들이 도시되고 설명되었지만, 본 발명에 속하는 기술분야의 통상의 지식을 가진 당업자라면 본 발명의 원칙이나 정신에서 벗어나지 않으면서 본 실시예를 변형할 수 있음을 알 수 있을 것이다. 발명의 범위는 첨부된 청구항과 그 균등물에 의해 정해질 것이다.
이상 설명한 바와 같이, 본 발명에 따르면, 데이터 파일을 압축 처리하기 위해 트랜스레이션 데이터를 트랜스레이션 테이블에 저장하고, 데이터 파일을 압축 처리하는 과정 중 어느 시점에서 트랜스레이션 테이블에 트랜스레이션 데이터를 저장할 공간이 남아있지 않으면 트랜스레이션 테이블의 모든 트랜스레이션 데이터를 삭제하고 상기 시점 이후 나머지 데이터들에 대해 트랜스레이션 테이블의 트랜스레이션 데이터를 저장하는 압축신장부를 구비한 데이터 처리 장치를 제공된다.

Claims (5)

  1. 데이터 처리 장치에 있어서,
    트랜스레이션 테이블을 저장하기 위한 메모리부와;
    상기 데이터 파일을 압축 처리하기 위한 트랜스레이션 데이터를 상기 트랜스레이션 테이블에 저장하고, 상기 데이터 파일의 압축 처리 과정 중에 상기 트랜스레이션 테이블의 저장 공간이 남아있지 않으면 상기 트랜스레이션 테이블의 모든 상기 트랜스레이션 데이터를 삭제하고, 상기 데이터 파일의 압축 처리 되지 아니한 나머지 데이터를 압축 처리하기 위한 트랜스레이션 데이터를 상기 트랜스레이션 테이블에 저장하는 압축신장부를 포함하는 것을 특징으로 하는 데이터 처리 장치.
  2. 제1항에 있어서,
    상기 압축신장부는 상기 데이터 파일의 압축 및 신장 중 적어도 하나를 수행하는 것을 특징으로 하는 데이터 처리 장치.
  3. 제2항에 있어서,
    상기 압축신장부는 렘펠 지브 웰치(LZW : Lempel Zive Welch) 알고리즘에 의해 상기 데이터 파일을 압축 처리하는 것을 특징으로 하는 데이터 처리 장치.
  4. 제2항 또는 제 3항에 있어서,
    상기 압축신장부는 상기 데이터 파일을 문자 단위로 읽어와 압축 처리하는 것을 특징으로 하는 데이터 처리 장치.
  5. 제4항에 있어서,
    상기 압축신장부는 상기 데이터 파일로부터 데이터를 문자 단위로 읽어오면, 상기 문자를 이전에 읽어온 문자와 결합하여 결합문자를 만들고 상기 결합문자가 상기 트랜스레이션 테이블에 없으면, 상기 결합문자를 상기 트랜스레이션 테이블에 저장하고 상기 결합문자에 고유의 코드를 할당하는 것을 특징으로 하는 데이터 처리 장치.
KR1020050112036A 2005-11-22 2005-11-22 데이터 처리 장치 KR20070054055A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050112036A KR20070054055A (ko) 2005-11-22 2005-11-22 데이터 처리 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050112036A KR20070054055A (ko) 2005-11-22 2005-11-22 데이터 처리 장치

Publications (1)

Publication Number Publication Date
KR20070054055A true KR20070054055A (ko) 2007-05-28

Family

ID=38276042

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050112036A KR20070054055A (ko) 2005-11-22 2005-11-22 데이터 처리 장치

Country Status (1)

Country Link
KR (1) KR20070054055A (ko)

Similar Documents

Publication Publication Date Title
AU2016200550B2 (en) Encoding program, decompression program, compression method, decompression method, compression device and decompression device
US5870036A (en) Adaptive multiple dictionary data compression
US6570511B1 (en) Data compression method and apparatus implemented with limited length character tables and compact string code utilization
US8838551B2 (en) Multi-level database compression
KR101074010B1 (ko) 블록 단위 데이터 압축 및 복원 방법 및 그 장치
JP6550765B2 (ja) 文字データ変換プログラム、文字データ変換装置および文字データ変換方法
JP4814292B2 (ja) データ圧縮及び復元装置、並びに方法
AU2014226446B2 (en) Managing operations on stored data units
US20160211863A1 (en) Converting device and converting method
JPWO2013094280A1 (ja) 記憶装置アクセス・システム
CN107729406B (zh) 一种数据分类存储方法及装置
US20190052284A1 (en) Data compression apparatus, data decompression apparatus, data compression program, data decompression program, data compression method, and data decompression method
JP2017073615A (ja) 符号化プログラム、符号化方法、符号化装置、復号化プログラム、復号化方法および復号化装置
US9520896B1 (en) Non-transitory computer-readable recording medium, encoding method, encoding device, decoding method, and decoding device
US6400286B1 (en) Data compression method and apparatus implemented with limited length character tables
JP6467937B2 (ja) 文書処理プログラム、情報処理装置および文書処理方法
EP3295568A1 (en) Improved compressed caching in a virtual memory system
JP2007537642A (ja) Xmlデータの構造化されたブロック単位の圧縮及び解凍方法及び装置
JP4156381B2 (ja) 文字テーブルによって実施されるデータ圧縮の方法および装置
US9479195B2 (en) Non-transitory computer-readable recording medium, compression method, decompression method, compression device, and decompression device
US20150248432A1 (en) Method and system
US9496895B2 (en) Compression method and decompression method
JPWO2014030189A1 (ja) 圧縮プログラム、圧縮方法、圧縮装置、伸張プログラム、伸張方法、伸張装置およびデータ転送システム
KR20070054055A (ko) 데이터 처리 장치
US6650259B1 (en) Character table implemented data decompression method and apparatus

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination