KR100597513B1 - 파일 처리 방법, 데이터 처리 장치 및 기억 매체 - Google Patents

파일 처리 방법, 데이터 처리 장치 및 기억 매체 Download PDF

Info

Publication number
KR100597513B1
KR100597513B1 KR1020027001931A KR20027001931A KR100597513B1 KR 100597513 B1 KR100597513 B1 KR 100597513B1 KR 1020027001931 A KR1020027001931 A KR 1020027001931A KR 20027001931 A KR20027001931 A KR 20027001931A KR 100597513 B1 KR100597513 B1 KR 100597513B1
Authority
KR
South Korea
Prior art keywords
data
section
compression
file
delete delete
Prior art date
Application number
KR1020027001931A
Other languages
English (en)
Other versions
KR20020020814A (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 KR20020020814A publication Critical patent/KR20020020814A/ko
Application granted granted Critical
Publication of KR100597513B1 publication Critical patent/KR100597513B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0677Optical disk device, e.g. CD-ROM, DVD
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00007Time or data compression or expansion
    • 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/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • 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/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • 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/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • 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/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Abstract

파일 내의 국소적인 데이터의 편중에 대응하기 위해서, 파일을 복수의 구간으로 분할하여, 분할된 각 구간마다 문자의 출현 빈도를 조사하여 구간마다의 압축 파라미터를 구하고, 이들 압축 파라미터에 기초하여 각 구간마다 파일의 데이터를 압축하고, 압축의 효과가 있는 경우에는 압축된 데이터를 기록하고, 효과가 없는 경우에는 압축되어 있지 않은 데이터를 기록함과 함께, 각 구간의 데이터가 어떤 방식으로 기록되었는가를 식별하는 정보를 기록하는 파일 처리 방법, 데이터 처리 장치 및 기록 매체.
영역 분할 처리부, 출현 빈도 연산 처리부, 압축 파라미터 연산 처리부, 편중 플래그/카운터

Description

파일 처리 방법, 데이터 처리 장치 및 기억 매체{FILE PROCESSING METHOD, DATA PROCESSING DEVICE AND STORAGE MEDIUM}
본 발명은 파일 처리 방법, 데이터 처리 장치 및 기억 매체에 관한 것으로, 특히 높은 압축율로 파일을 압축하여 기억 매체에 저장하고 판독하는 파일 처리 방법 및 데이터 처리 장치 및 압축된 파일을 저장하는 기억 매체에 관한 것이다.
최근, 사전이나 백과 사전 등의 정보를 미리 CD-ROM 등의 기억 매체에 저장해 두고, 컴퓨터로 CD-ROM을 액세스함으로써, 사전이나 백과 사전 등의 정보를 판독하여 표시하는 것이 행해지게 되었다. 이에 따라, 사전이나 백과 사전 등의 방대한 정보를 매우 컴팩트한 1장의 CD-ROM에 저장할 수 있다. 또한, 컴퓨터 사용 중에 사전이나 백과 사전 등을 펼쳐서 필요한 정보를 입수하는 대신에, CD-ROM으로부터 필요한 정보를 판독할 수 있기 때문에, 필요한 정보를 입수하는 수고가 대폭 경감된다.
사전이나 백과 사전 등의 정보를 저장한 종래의 CD-ROM에서는 사전 파일이 사전 데이터 및 인덱스의 데이터(이하, 인덱스 데이터라 함)로 이루어진다. 예를 들면, 백과 사전의 경우, 사전 데이터에는 단어의 의미를 설명하는 텍스트의 데이터(이하, 텍스트 데이터라 함), 예를 들면, 단어가 동물이면 그 동물을 나타내는 화상의 데이터(이하, 화상 데이터라 함), 예를 들면 단어가 새이면 그 새의 울음소리를 나타내는 음성의 데이터(이하, 음성 데이터라 함) 등이 포함된다. 인덱스는 사전 파일로부터 원하는 사전 데이터를 검색하기 위해서 사용되는 것으로, 사전 데이터에 설치되어 있으며, 키워드라 불리는 경우도 있다. 인덱스 데이터에는 표제의 포인터나 항목의 포인터 등이 포함된다. 표제 데이터에는 표제어가 포함된다. 또한, 항목 데이터에는 표제어나 해설문 등이 포함된다.
종래는 CD-ROM의 기억 용량이 비교적 크기 때문에, 텍스트 데이터나 인덱스 데이터는 압축되지 않고 CD-ROM에 저장되어 있다. 한편, 화상 데이터 및 음성 데이터는 특히 화상 데이터의 정보량이 많은 경우도 있어, 각각 적절한 압축 방식으로 압축되어 CD-ROM에 저장되어 있다.
그러나, 사전이나 백과 사전마다 1장의 CD-ROM을 필요로 한다면, 사전 데이터의 사용이 불편하다. 그래서, 1장의 CD-ROM에 복수의 사전이나 백과 사전 등의 정보를 저장하는 것이 바람직하지만, 이 경우, 저장해야 되는 정보량이, 사전 데이터를 압축해도 1장의 CD-ROM의 기억 용량을 초과할 가능성이 있다고 하는 문제가 있었다. 또한, CD-ROM에 저장해야 되는 사전 파일이 단일 사전이나 백과 사전 등의 것이어도, 사전 파일의 정보량이 증대하면, 사전 데이터를 압축해도 1장의 CD-ROM의 기억 용량을 초과할 가능성도 있었다.
이 때문에, 사전 데이터뿐만 아니라, 인덱스 데이터를 포함하는 사전 파일 전체를 압축하여 CD-ROM에 저장하는 것을 생각할 수 있지만, 비교적 간단한 방법으로 효율적으로 사전 파일 전체를 압축함과 함께, 압축 사전 파일을 단시간에 신장 가능한 방법은 제안되어 있지 않다. 특히 사전이나 백과 사전 등의 경우에는 인덱스 데이터의 정보량이 많기 때문에, 사전 파일의 신장 시에 인덱스 데이터를 복원하는 처리에 시간이 걸리면, 원하는 인덱스 데이터 또는 사전 데이터에의 액세스 시간이 길어져, 사전이나 백과 사전 등을 사용하는데 불편함이 따른다.
또한, 예를 들면 사전 데이터를 인덱스의 항목 단위 또는 고정 길이 단위로 압축하는 경우, 특히 사전이나 백과 사전 등에는 인덱스 데이터의 정보량이 많기 때문에, 상기한 바와 마찬가지로 사전 파일의 신장 시의 처리에 시간이 걸려, 사전이나 백과 사전 등을 사용하는데 불편함이 따른다. 예를 들면, 특개평9-26969호 공보에서는 이와 유사한 방법을 이용한 전화번호부 검색 시스템이 제안되어 있지만, 이 제안 방법에서는 인덱스 데이터는 압축되지 않는다. 이는 전화번호부의 경우, 인덱스 데이터의 정보량은 사전 데이터에 대응하는 전화 번호-성, 이름, 법인명, 주소의 정보량에 비교하면 작고, 압축해도 전체로서의 정보 압축 효율이 그다지 향상하지 않기 때문이다. 이 때문에, 이 제안 방법을 사전이나 백과 사전 등의 정보를 기억 매체에 저장할 때에 적용해도, 사전 파일 전체로서의 정보 압축 효율은 그다지 향상하지 않는다.
따라서, 종래는 사전이나 백과 사전 등과 같이, 인덱스 데이터의 정보량이 사전 데이터의 정보량과 비교해도 비교적 큰 경우, 사전 파일을 효율적으로 압축하여 기억 매체에 저장함과 함께, 압축 사전 파일을 비교적 간단한 처리에 의해 단시간에 액세스할 수 없었다.
그래서, 데이터 및 데이터에 대한 인덱스 데이터를 복수의 구간으로 분할하 여 압축하는 방법이, 예를 들면 특허 협력 조약에 기초하여 공개된 국제 출원(국제 출원 번호 PCT/JP98/04736호, 국제 공개 번호 WO99/21092호)의 공개 공보로써 제안되었다. 이 제안 방법에 의하면, 사전이나 백과 사전 등과 같이, 인덱스 데이터의 정보량이 사전 데이터의 정보량과 비교하여 비교적 큰 경우라도, 사전 파일 등의 파일을 효율적으로 압축하여 기억 매체에 저장함과 함께, 압축 사전 파일 등의 압축 파일을 비교적 간단한 처리에 의해 단시간에 액세스 가능해진다.
그러나, 상기 종래 방법 및 상기 제안 방법에 의하면, 검색의 고속화를 위해서, 압축·신장 방식은 허프만(haffman) 압축에 기초한 방식을 채용하고 있었다. 또한, 단일 압축 파라미터를 이용하여 데이터의 압축을 행하고 있었다. 이 때문에, 다음과 같은 문제가 있었다.
우선, 사전이나 백과 사전 등의 데이터의 압축에 허프만 압축을 채용하면, 기억 매체에 수록해야 되는 단어수가 많아져, 해설에 이용되는 단어의 종류가 증가함에 따라 데이터 압축율이 저하하는 문제가 있었다.
또한, 데이터를 압축했음에도 불구하고, 압축 데이터가 비 압축 데이터보다 정보량이 많아지는 특이한 구간도 존재하는 문제가 있었다.
또한, 데이터의 각 구간의 말미에는 구간의 종료를 나타내는 종료 정보를 부가할 필요가 있기 때문에, 전체로서의 데이터 압축율을 대폭 향상하기 위해서는 한계가 있는 문제가 있었다.
한편, 사전이나 백과 사전 등의 데이터 이외의 데이터로 이루어지는 파일을 압축할 때에도, 마찬가지로 데이터 압축율을 향상시키는 것이 파일 장치 등의 분야 에서 요망되고 있다.
〈발명의 개시〉
그래서, 본 발명은 상기한 문제점을 해결한, 신규, 또한, 유용한 파일 처리 방법, 데이터 처리 장치 및 기억 매체를 제공하는 것을 개괄적 목적으로 한다.
본 발명의 다른 목적은, 파일을 복수의 구간으로 분할하고 복수의 압축 파라미터를 이용하여 파일의 각 구간을 압축하는 압축 단계와, 압축된 파일을 기억 매체에 저장하는 저장 단계를 포함하는 파일 처리 방법을 제공하는 데 있다. 본 발명에 따르면, 데이터 압축율을 대폭 향상시킬 수 있다.
본 발명의 또 다른 목적은, 파일을 복수의 구간으로 분할하고 복수의 압축 파라미터를 이용하여 파일의 각 구간을 압축하는 압축 처리부와, 압축된 파일을 기억 매체에 저장하는 저장 처리부를 포함한 데이터 처리 장치를 제공하는 데 있다. 본 발명에 따르면, 데이터 처리 장치의 데이터 압축율을 대폭 향상시킬 수 있다.
본 발명의 또 다른 목적은, 컴퓨터로 판독 가능한 정보를 저장한 기억 매체에 있어서, 컴퓨터에, 파일을 복수의 구간으로 분할하고 복수의 압축 파라미터를 이용하여 파일의 각 구간을 압축시키는 압축 처리 수단과, 컴퓨터에, 압축된 파일을 기억 수단에 저장시키는 저장 처리 수단을 포함한 프로그램을 저장한 기억 매체를 제공하는 데 있다. 본 발명에 따르면, 컴퓨터의 데이터 압축율을 대폭 향상시킬 수 있다.
본 발명의 또 다른 목적은, 컴퓨터로 판독 가능한 정보를 저장한 기억 매체에 있어서, 복수의 구간으로 분할된 파일이, 복수의 압축 파라미터를 이용하여 각 구간이 압축되어 기억된 영역과, 상기 압축 파라미터가 기억된 영역을 갖는 기억 매체를 제공하는 데 있다. 본 발명에 따르면, 데이터 압축율이 대폭 향상된 압축 파일을 기억 매체에 저장할 수 있다.
본 발명의 또 다른 목적은, 컴퓨터의 어플리케이션 소프트웨어와는 독립된 드라이버 소프트웨어가 더 저장되어 있고, 상기 드라이버 소프트웨어는, 컴퓨터에, 기억 매체로부터 판독된 압축 파일을 신장시키는 신장 처리 수단을 포함한 프로그램을 포함하는 기억 매체를 제공하는 데 있다. 본 발명에 따르면, 어플리케이션 소프트웨어를 각 압축 파일에 합쳐서 구성할 필요가 없고, 드라이버 소프트웨어만의 변경에 의해 기존의 어플리케이션 소프트웨어를 이용해도 압축 파일의 리드·신장 처리가 가능해진다.
본 발명의 다른 목적은, 복수의 압축 파라미터와, 복수의 압축 파라미터에 의해 원(原)파일이 복수의 구간으로 분할되고 상기 구간마다 압축된 복수의 구간 데이터로 구성되는 압축 파일이 기록된 기록 매체에 액세스하는 판독 단계와, 판독 단계에 의해 기록 매체로부터 판독되는 구간 데이터를, 구간 데이터에 대응하는 압축 파라미터에 의해 신장하는 신장 단계를 포함하는 파일 처리 방법을 제공하는 데 있다. 본 발명에 따르면, 비교적 간단한 구성 및 처리로, 높은 데이터 압축율로 압축된 압축 파일을 양호하게 신장할 수 있다.
본 발명의 또 다른 목적은, 복수의 압축 파라미터와, 복수의 압축 파라미터에 의해 원파일이 복수의 구간으로 분할되고 구간마다 압축된 복수의 구간 데이터로 구성되는 압축 파일이 기록된 기록 매체에의 액세스를 제어하는 리드 처리부와, 리드 처리부에 의해 기록 매체로부터 판독되는 구간 데이터를, 구간 데이터에 대응하는 압축 파라미터에 의해 신장하는 신장 처리부를 포함한 데이터 처리 장치를 제공하는 데 있다. 본 발명에 따르면, 비교적 간단한 구성 및 처리로, 높은 데이터 압축율로 압축된 압축 파일을 양호하게 신장할 수 있다.
본 발명의 다른 목적은, 어플리케이션 소프트웨어로부터의 판독 요구에 따라, 복수의 압축 파라미터와, 복수의 압축 파라미터에 의해 원파일이 복수의 구간으로 분할되고 구간마다 압축된 복수의 구간 데이터로 구성되는 압축 파일이 기록된 기록 매체에의 액세스를 제어하는 리드 처리부와, 리드 처리부에 의해 기록 매체로부터 판독되는 구간 데이터를, 구간 데이터에 대응하는 압축 파라미터에 의해 신장하여, 상기 어플리케이션 소프트웨어에 공급하는 신장 처리부를 포함한 데이터 처리 장치를 제공하는 데 있다. 본 발명에 따르면, 비교적 간단한 구성 및 처리로, 높은 데이터 압축율로 압축된 압축 파일을 양호하게 신장할 수 있다.
본 발명의 또 다른 목적은, 컴퓨터로 판독 가능한 정보를 저장한 기억 매체에 있어서, 컴퓨터에, 복수의 압축 파라미터와, 복수의 압축 파라미터에 의해 원파일이 복수의 구간으로 분할되고 구간마다 압축된 복수의 구간 데이터로 구성되는 압축 파일이 기록된 기록 매체에의 액세스를 제어시키는 리드 처리 수단과, 컴퓨터에, 리드 처리 수단에 의해 기록 매체로부터 판독되는 구간 데이터를, 구간 데이터에 대응하는 압축 파라미터에 의해 신장시키는 신장 처리 수단을 포함한 프로그램을 저장한 기억 매체를 제공하는 데 있다. 본 발명에 따르면, 비교적 간단한 구성 및 처리로, 높은 데이터 압축율로 압축된 압축 파일을 양호하게 신장할 수 있다.
본 발명의 다른 목적은, 컴퓨터로 판독 가능한 정보를 저장한 기억 매체에 있어서, 컴퓨터에, 어플리케이션 소프트웨어로부터의 판독 요구에 따라, 복수의 압축 파라미터와, 복수의 압축 파라미터에 의해 원파일이 복수의 구간으로 분할되고 구간마다 압축된 복수의 구간 데이터로 구성되는 압축 파일이 기록된 기록 매체에의 액세스를 제어시키는 리드 처리 수단과, 컴퓨터에, 리드 처리 수단에 의해 상기 기록 매체로부터 판독되는 구간 데이터를, 구간 데이터에 대응하는 압축 파라미터에 의해 신장하고, 어플리케이션 소프트웨어에 공급시키는 신장 처리 수단을 포함한 프로그램을 저장한 기억 매체를 제공하는 데 있다. 본 발명에 따르면, 비교적 간단한 구성 및 처리로, 높은 데이터 압축율로 압축된 압축 파일을 양호하게 신장할 수 있다.
또한, 본 발명의 다른 목적 및 특장은, 이하 도면과 함께 진술하는 설명으로 더욱 분명해 질 것이다.
도 1은 파일 처리 방법의 제1 실시예를 채용한 컴퓨터 시스템의 개략 구성을 나타내는 블록도.
도 2는 데이터 처리 장치의 제1 실시예에 있어서 구성되는 파일 압축 시스템을 나타내는 기능 블록도.
도 3은 영역 분할 처리 및 출현 빈도 연산 처리를 설명하는 흐름도.
도 4는 영역 분할 처리 및 출현 빈도 연산 처리를 설명하는 흐름도.
도 5는 압축 파라미터 연산 처리를 설명하는 흐름도.
도 6은 압축 파라미터의 데이터 구조를 나타내는 도면.
도 7은 데이터 압축 처리 및 어드레스 정보 연산 처리를 설명하는 흐름도.
도 8은 압축 파일 합성 처리를 설명하는 흐름도.
도 9는 압축 파일의 합성을 설명하는 도면.
도 10은 압축 데이터의 형식을 설명하는 도면.
도 11은 데이터 처리 장치의 제1 실시예에 있어서 구성되는 파일 검색·표시 시스템을 나타내는 기능 블록도.
도 12는 인덱스 리드 처리를 설명하는 흐름도.
도 13은 데이터 신장 처리를 설명하는 흐름도.
도 14는 텍스트 리드 처리를 설명하는 흐름도.
도 15는 본 발명이 되는 데이터 처리 장치의 제2 실시예에 있어서의 검색·표시 제어부의 구성을 나타내는 블록도.
도 16은 파일의 리드 처리를 설명하는 흐름도.
도 17은 리드·신장 처리를 설명하는 흐름도.
〈발명을 실시하기 위한 최량의 형태〉
본 발명이 되는 파일 처리 방법 및 데이터 처리 장치의 제1 실시예를 설명한다. 파일 처리 방법 및 데이터 처리 장치의 제1 실시예는 본 발명이 되는 기억 매체의 제1 실시예를 이용한다. 또, 기억 매체의 제1 실시예에서는 본 발명이 CD-ROM에 적용되고 있지만, 기억 매체 자체는 CD-ROM에 한정되지 않고, 본 발명은 CD- ROM 이외의 광학적 정보 기억 매체, 광 자기 디스크 등의 광 자기 기억 매체, 플로피 디스크 등의 자기 기억 매체, 각종 반도체 메모리 디바이스 등에도 마찬가지로 적용 가능한 것은 물론이다.
도 1은 파일 처리 방법의 제1 실시예를 채용한 컴퓨터 시스템의 개략 구성을 나타내는 블록도로서, 데이터 처리 장치의 제1 실시예에 대응한다. 도 1에서, 컴퓨터 시스템은, 대략 버스(9)에 의해 접속된 중앙 처리 장치(CPU: 1), 랜덤 액세스 메모리(RAM) 등으로 이루어지는 주기억 장치(2), 하드디스크 드라이브 등으로 이루어지는 보조 기억 장치(3), 키보드나 마우스 등으로 이루어지는 입력 장치(4), 표시 장치(5) 및 CD-ROM 드라이브 등으로 이루어지는 CD-ROM 입출력 장치(6)를 포함한다. 컴퓨터 시스템을 구성하는 각 요소 자체는 주지의 구성인 것으로 구성할 수 있다.
입력 장치(4)는 CPU(1)에 지시나 데이터를 입력하는 데 이용되고, CPU(1)는 이들 지시나 데이터에 기초하여 보조 기억 장치(3)에 저장된 프로그램을 실행함으로써, 사용자가 요구하는 처리를 행한다. 보조 기억 장치(3)에 저장된 프로그램은 미리 인스톨되어 있어도, CD-ROM 입출력 장치(6)에 로드된 CD-ROM(6a)으로부터 로드되어도 된다. 주기억 장치(2)는 CPU(1)가 행하는 연산 처리 등의 중간 결과나 연산에 사용되는 데이터 등을 일시적으로 저장하는 데 이용된다. 표시 장치(5)는 CPU(1)가 행한 처리의 결과나 사용자에게 지시나 데이터의 입력을 재촉하는 메시지를 표시한다. 또, 표시 장치(5) 대신에, 또는 표시 장치(5) 외에, CPU(1)가 행한 처리의 결과 등을 인쇄하는 프린터(도시하지 않음)를 버스(9)에 접속해도 된다.
우선, CD-ROM 입출력 장치(6)에 로드된 CD-ROM(6a)에, 사전이나 백과 사전 등의 사전 파일을 저장하는 파일 저장 처리에 대하여 설명한다. 파일 저장 처리는 대략 압축 파라미터 연산 처리와, 인덱스나 텍스트 등의 데이터 압축 처리와, 어드레스 정보 연산 처리와, 압축 파일 합성 처리와, 압축 파일 저장 처리로 이루어진다. 본 실시예에서는 설명의 편의상, CD-ROM(6a)은 CPU(1)에 파일 저장 처리를 행하게 하는 프로그램이 저장되어 있으며, CPU(1)는 주지의 방법으로 이 프로그램을 CD-ROM(6a)으로부터 판독하여 보조 기억 장치(3)에 로드하는 것으로 한다. 또한, 사전이나 백과 사전 등의 사전 파일은, 호스트 장치(도시하지 않음)로부터 전송되어 버스(9)를 통해 보조 기억 장치(3)에 저장되어 있거나, 또는 CD-ROM 입출력 장치(6)에 의해 CD-ROM(6a)과는 다른 CD-ROM으로부터 판독되어 버스(9)를 통해 보조 기억 장치(3)에 저장되어 있는 것으로 한다.
도 2는 데이터 처리 장치의 제1 실시예에 있어서 구성되는 파일 압축 시스템을 나타내는 기능 블록도이다. 도 2에서, 도 1과 동일 부분에는 동일 부호를 붙여, 그 설명은 생략한다.
도 2에 도시한 파일 압축 시스템은 대략 파일 압축 제어부(11)와, CD-ROM 전자 출판의 사전 파일(12)과, 압축 파일(13)과, 데이터 파일(14, 15)로 이루어진다. 파일 압축 제어부(11)는 도 1에 도시한 CPU(1)에 의해 구성되고, 영역 분할 처리부(21), 출현 빈도 연산 처리부(22), 압축 파라미터 연산 처리부(23), 데이터 압축 처리부(24), 어드레스 정보 연산 처리부(25) 및 압축 파일 합성 처리부(26)로 이루어진다. 본 실시예에서는 사전 파일(12) 및 압축 파일(13)은 예를 들면 CD- ROM(6a)에 의해 구성되고, 데이터 파일(14, 15)은 예를 들면 보조 기억 장치(3)에 의해 구성된다.
영역 분할 처리부(21)는 사전 파일(12)을 복수의 영역으로 분할하고, 영역 분할 수를 데이터 파일(14)에 저장한다. 출현 빈도 연산 처리부(22)는 사전 파일(12)의 각 영역의 문자의 출현 빈도를 연산에 의해 구하고, 영역·출현 빈도 카운트를 데이터 파일(14)에 저장한다. 또한, 출현 빈도 연산 처리부(22)는 각 영역마다의 문자의 편중을 연산에 의해 구하고, 편중 플래그, 편중 카운트 등을 데이터 파일(14)에 저장한다. 또, 분할 영역의 수는 압축에 이용하는 압축 파라미터의 종류의 수의, 예를 들면 십 수배로 설정된다.
압축 파라미터 연산 처리부(23)는 사전 파일(12)의 각 영역마다, 복수의 압축 파라미터를 연산에 의해 구하고, 데이터 파일(15)에 저장한다. 데이터 압축 처리부(24)는 각 압축 파라미터에 기초하여 사전 파일(12)의 데이터를 압축하고, 압축 데이터를 데이터 파일(15)에 저장한다. 어드레스 정보 연산 처리부(25)는 사전 파일(12)의 각 영역마다 어드레스 정보를 생성하여, 데이터 파일(15)에 저장한다. 압축 파일 합성 처리부(26)는 데이터 파일(14, 15)에 저장된 데이터를 합성하여 압축 파일을 생성하여, 압축 파일(13)에 저장한다.
1a) 영역 분할 처리 및 출현 빈도 연산 처리:
도 3 및 도 4는 파일 압축 제어부(11)의 영역 분할 처리부(21) 및 출현 빈도 연산 처리부(22), 즉, CPU(1)가 행하는 영역 분할 처리 및 출현 빈도 연산 처리를 설명하는 흐름도이다.
도 3에서, 단계 S1은 CD-ROM(6a)을 액세스하여 사전 파일(12)을 오픈하고, 단계 S2는 입력 장치(4)로부터 키 입력된 압축 파라미터의 수량을 입력한다. 단계 S3은 입력 장치(4)로부터 키 입력된 사전 파일(12)의 분할 영역의 수량을 입력한다. 단계 S4는 영역의 어드레스를 개별 지정하는지의 여부를 판정하고, 판정 결과가 YES이면 처리는 단계 S5로 진행하고, 판정 결과가 NO이면 처리는 단계 S6으로 진행한다. 단계 S5는 각 영역별 선두 어드레스를 입력하고, 처리는 단계 S8로 진행한다.
단계 S6은 사전 파일(12)의 파일 사이즈를 획득하고, 단계 S7은 사전 파일(12)을 분할 영역의 수량으로 등분할한다. 단계 S7 또는 단계 S5 후, 단계 S8은 CPU(1) 내의 영역·출현 빈도 카운터의 영역·출현 빈도 카운트를 초기화한다. 단계 S9는 영역이 바뀌어, 신영역의 처리로 이행했는지의 여부를 판정하고, 판정 결과가 YES이면 처리는 단계 S10으로 진행하고, 판정 결과가 NO이면 처리는 단계 S11로 진행한다. 단계 S10은 영역·출현 빈도 카운터를 신 영역의 영역·출현 빈도 카운터로 전환한다.
단계 S10 후, 또는 단계 S9의 판정 결과가 NO이면, 단계 S11은 사전 파일(12)로부터 1문자에 대응하는 16비트 코드를 판독한다. 또한, 단계 S12는 해당 코드의 출현 빈도 카운터의 출현 빈도 카운트를 증가한다. 단계 S13은 사전 파일(12)의 최종 문자를 처리했는지의 여부를 판정하고, 판정 결과가 NO이면 처리는 단계 S9로 되돌아가 판정 결과가, YES이면 처리는 단계 S14로 진행하여 사전 파일(12)을 클로즈한다.
단계 S15는 각 분할 영역마다 1문자를 출현 빈도 순으로 소트하고, 단계 S16은 출현 빈도 순으로 예를 들면 1024개의 문자를 선택한다. 단계 S17은 선두 분할 영역의 최고 출현 빈도의 문자에 대하여 초기화를 행하고, 단계 S18은 해당 문자의 다른 분할 영역에서의 출현 빈도와 상기 선두 분할 영역에서의 출현 빈도를 비교하여 출현 빈도의 편중을 산출한다. 단계 S19는 출현 빈도의 편중이 있는 문자가 존재하는지의 여부를 판정하고, 판정 결과가 YES이면 처리는 단계 S20으로 진행하고, 판정 결과가 NO이면 처리는 단계 S22로 진행한다.
단계 S20은 편중 플래그를 각 분할 영역의 각 문자마다 세트하고, 단계 S21은 편중 카운터의 편중 카운트를 각 분할 영역마다 카운트 업한다. 단계 S19의 판정 결과가 NO이거나, 또는 단계 S21 후, 단계 S22는 다음 출현 빈도의 문자로 전환한다. 단계 S23은 1024번째의 문자를 초과했는지의 여부를 판정하고, 판정 결과가 NO이면 처리는 단계 S18로 되돌아간다. 한편, 단계 S23의 판정 결과가 YES이면, 단계 S24는 다음 분할 영역으로 전환하고, 단계 S25는 최종 분할 영역을 초과했는지의 여부를 판정한다. 단계 S25의 판정 결과가 NO이면, 처리는 단계 S18로 되돌아간다. 단계 S25의 판정 결과가 YES이면, 단계 S26은 편중 카운트에 기초하여 각 분할 영역을 소트하고, 처리는 도 4에 도시한 단계 S27로 진행한다.
도 4에서, 단계 S27은 편중이 가장 큰 분할 영역의 압축 패턴의 초기치를 세트한다. 단계 S28은 다음의 분할 영역의 편중이 이전의 압축 패턴과 유사한지의 여부를 판정한다. 단계 S28의 판정 결과가 NO이면, 단계 S29는 압축 패턴의 나머지가 있는지의 여부를 판정하고, 판정 결과가 YES이면, 단계 S30은 해당 분할 영역 에 압축 패턴의 다음의 값을 세트한다.
한편, 단계 S28의 판정 결과가 YES, 또는 단계 S29의 판정 결과가 NO이면, 단계 S31은 해당 분할 영역에 유사 분할 영역의 압축 패턴의 값을 세트한다. 단계 S30 또는 단계 S31 후, 단계 S32는 최종 분할 영역인지의 여부를 판정한다. 단계 S32의 판정 결과가 NO이면, 처리는 단계 S28로 되돌아가 판정 결과가 YES이면, 처리는 종료한다.
1b) 압축 파라미터 연산 처리:
도 5는 파일 압축 제어부(11)의 압축 파라미터 연산 처리부(23), 즉, CPU(1)이 행하는 압축 파라미터 연산 처리를 설명하는 흐름도이다.
도 5에서, 단계 S41은 CD-ROM(6a)을 액세스하여 사전 파일을 오픈한다. 단계 S42는 압축 패턴의 초기치를 세트하고, 단계 S43은 분할 영역의 초기치를 세트한다. 단계 S44는 처리하는 분할 영역이 해당 압축 패턴에 속하는지의 여부를 판정하고, 판정 결과가 YES이면 처리는 단계 S46으로 진행하고, 판정 결과가 NO이면 처리는 단계 S45로 진행한다. 단계 S45는 비해당 분할 영역을 점프한다.
단계 S46은 1문자에 대응하는 16비트 코드를 판독한다. 단계 S47은 해당 16비트 코드의 출현 빈도 카운터의 출현 빈도 카운트를 증가하고, 단계 S48은 최종 분할 영역을 처리했는지의 여부를 판정하고, 판정 결과가 NO이면 처리는 단계 S44로 되돌아간다. 단계 S48의 판정 결과가 YES이면, 단계 S49는 압축 패턴을 갱신한다. 단계 S50은 최종 압축 패턴을 처리했는지의 여부를 판정하고, 판정 결과가 NO이면 처리는 단계 S44로 되돌아간다.
한편, 단계 S50의 판정 결과가 YES이면, 단계 S51은 압축 패턴의 초기치를 세트하고, 단계 S52는 해당 압축 패턴의 압축 파라미터를 이용하는 분할 영역을 초기화한다. 단계 S53은 16비트 코드를 출현 빈도 순으로 소트하고, 단계 S54는 1024개의 16비트 코드를 출현 빈도 순으로 선택한다. 단계 S55는 남은 16비트 코드에 대해서는 8비트 코드로 분해하여, 그 출현 빈도를 산출한다. 단계 S56은 8비트 코드의 출현 빈도를 약 1/2로 하여 16비트 코드와의 보정을 행한다.
단계 S57은 예를 들면 보조 기억 장치(3)를 액세스하여 압축 파라미터의 퇴피(退避) 파일을 데이터 파일(15) 내에 오픈한다. 단계 S58은 1024개의 16비트 코드와 이들 출현 빈도를 데이터 파일(15) 내의 압축 파라미터의 퇴피 파일에 기입한다. 또한, 단계 S59는 256개의 8비트 코드와 이들 출현 빈도를 데이터 파일(15) 내의 압축 파라미터의 퇴피 파일에 기입한다. 단계 S60은 데이터 파일(15) 내의 압축 파라미터의 퇴피 파일을 닫고, 단계 S61은 압축 패턴을 갱신한다. 단계 S62는 최종 압축 패턴을 처리했는지의 여부를 판정하고, 판정 결과가 NO이면 처리는 단계 S52로 되돌아가고, 판정 결과가 YES이면 처리는 종료한다.
도 6은 압축 파라미터의 데이터 구조도이다. 허프만 부호에 의한 압축인 경우, 도 6에 도시한 바와 같이 각 압축 파라미터는 예를 들면 1024종의 16비트 코드마다의 256종의 출현 빈도 및 8비트 코드마다의 256종의 출현 빈도로 이루어진다. 이들 출현 빈도는 허프만 트리의 생성을 위한 데이터가 된다. 또, 유니버설 부호에 의한 압축의 경우의 압축 파라미터는 트라이의 트리 또는 그것을 생성하기 위한 등록 기호 예와 그 참조 번호 등의 데이터로 구성된다.
1c) 데이터 압축 처리 및 어드레스 정보 연산 처리:
도 7은 파일 압축 제어부(11)의 데이터 압축 처리부(24) 및 어드레스 정보 연산 처리부(25), 즉, CPU(1)가 행하는 데이터 압축 처리 및 어드레스 정보 연산 처리를 설명하는 흐름도이다.
도 7에서, 단계 S71은 복수의 압축 파라미터로부터 변환 테이블, 즉, 본 실시예에서는 허프만 압축을 행하기 때문에 허프만 트리를 작성한다. 단계 S72는 CD-ROM(6a)에 액세스하여 사전 파일(12)을 오픈한다. 단계 S73은 보조 기억 장치(3)에 액세스하여 압축 데이터의 퇴피 파일 및 어드레스 정보의 퇴피 파일을 데이터 파일(15) 내에 오픈한다. 단계 S74는 선두 분할 영역을 세트한다.
단계 S75는 사전 파일(12)로부터 1구간을 판독한다. 이 구간은 고정 길이이어도, 가변 길이이어도 좋지만, 본 실시예에서는 가변 길이인 것으로 한다. 또한, 상기 구간은 블록이라 불리는 경우도 있다. 단계 S76은 허프만 트리를 이용하여 1구간의 압축 데이터를 연산한다. 이 압축 데이터의 연산 시에는 각 분할 영역에 대응한 압축 파라미터를 이용한다. 단계 S77은 1구간이 고정 길이인지의 여부를 판정하고, 판정 결과가 NO이면 처리는 단계 S80으로 진행한다. 한편, 단계 S77의 판정 결과가 YES이면, 단계 S78은 압축 데이터의 사이즈가 압축 전의 비 압축 데이터의 사이즈보다 긴지의 여부를 판정하고, 판정 결과가 NO이면 처리는 단계 S80으로 진행한다. 단계 S78의 판정 결과가 YES이면, 단계 S79는 데이터가 비 압축 데이터인 것을 나타내는 비 압축 플래그를 포함하는 제어 정보 및 비 압축 데이터를 생성하고, 처리는 단계 S81로 진행한다. 이 경우, 구간이 최종 구간이면, 구간의 끝에 종료 정보(EOB: End Of Block)가 부가되고, 구간이 최종 구간 이외의 도중 구간이면, EOB가 부가되지 않는 대신에, 제어 정보에 EOB가 삭제되어 있는 것을 나타내는 EOB 삭제 플래그를 포함시킨다.
단계 S80은 제어 정보, 압축 데이터, EOB 등을 각 플래그나 압축 파라미터 종별로 대응시켜 생성하고, 처리는 단계 S81로 진행한다. 이 경우, 구간이 최종 구간이면, 구간의 끝에 EOB가 부가되고, 구간이 최종 구간 이외의 도중 구간이면, EOB가 부가되지 않는 대신에, 제어 정보에 EOB가 삭제되어 있는 것을 나타내는 EOB 삭제 플래그를 포함시킨다. 단계 S81은 압축 데이터를 데이터 파일(15) 내의 퇴피 파일에 기입한다.
또, 제어 정보나 EOB 등에 대해서는 후술하는 도 9 및 도 10을 참조하여 보다 상세하게 설명한다.
단계 S82는 해당 구간이 저장되는 어드레스 정보를 연산한다. 예를 들면 구간이 고정 길이인 경우, 어드레스 정보는 각 구간에 붙여진 구간 번호에 기초하여 연산된다. 단계 S83은 어드레스 정보를 데이터 파일(15) 내의 어드레스 정보의 퇴피 파일에 기입한다. 단계 S84는 해당 분할 영역의 최종 구간을 처리했는지의 여부를 판정하고, 판정 결과가 NO이면 처리는 단계 S75로 되돌아간다.
최종 구간을 처리했는지의 여부는 예를 들면 구간 번호나 최종 구간에 부가된 최종 구간 부호에 기초하여 판정할 수 있다.
한편, 단계 S84의 판정 결과가 YES인 경우, 단계 S85는 분할 영역을 갱신하고, 단계 S86은 사전 파일(12)의 최종 구간을 처리했는지의 여부를 판정한다. 단 계 S86의 판정 결과가 NO이면 처리는 단계 S75로 되돌아가고, 판정 결과가 YES이면 처리는 단계 S87로 진행한다. 단계 S87은 압축 데이터의 퇴피 파일 및 어드레스 정보의 퇴피 파일을 각각 클로즈한다. 또한, 단계 S88은 사전 파일(12)을 클로즈하고, 처리는 종료한다.
1d) 압축 파일 합성 처리:
도 8은 파일 압축 제어부(11) 내의 압축 파일 합성 처리부(26), 즉, CPU(1)이 행하는 압축 파일 합성 처리를 설명하는 흐름도이다.
도 8에서, 단계 S91은 압축 파일(13)을 오픈한다. 단계 S92는 압축 파일의 선두 식별용 헤더의 데이터를 편집한다. 단계 S93은 보조 기억 장치(3)의 데이터 파일(15) 내의 압축 파라미터의 퇴피 파일을 오픈하고, 단계 S94는 압축 파라미터의 퇴피 파일의 압축 파라미터를 압축 파일(13)에 복사한다. 단계 S95는 압축 파라미터의 퇴피 파일을 클로즈한다.
단계 S96은 보조 기억 장치(3)의 데이터 파일(15) 내의 어드레스 정보의 퇴피 파일을 오픈하고, 단계 S97은 어드레스 정보의 퇴피 파일의 어드레스 정보를 압축 파일(13)에 복사한다. 단계 S98은 어드레스 정보의 퇴피 파일을 클로즈한다. 또한, 단계 S99는 보조 기억 장치(3)의 데이터 파일(15) 내의 압축 데이터의 퇴피 파일을 오픈하고, 단계 S100은 압축 데이터의 퇴피 파일의 압축 데이터를 압축 파일(13)에 복사한다. 단계 S101은 압축 데이터의 퇴피 파일을 클로즈한다. 단계 S102는 압축 파일의 말미 식별용 트레일러의 데이터를 편집하고, 단계 S103은 압축 파일(13)을 CD-ROM(6a)에 저장한다. 또한, 단계 S104는 압축 파일(13)을 클로즈하 고, 처리는 종료한다.
도 9는 상기한 바와 같은 1a) 영역 분할 처리 및 출현 빈도 연산 처리, 1b) 압축 파라미터 연산 처리, 1c) 데이터 압축 처리 및 어드레스 정보 연산 처리 및 1d) 압축 파일 합성 처리에 의한 압축 파일의 합성을 설명하는 도면이다. 도 9의 (a)는 압축 파라미터를 나타내며, 본 실시예에서는 허프만 부호에 의한 압축을 행하기 위한 압축 파라미터이다. 도 9의 (b)는 사전 파일의 구간을 나타내며, 본 실시예에서는 각 구간이 예를 들면 2kbyte이고, 각 구간은 사전 데이터 및 인덱스 데이터로 이루어진다. 예를 들면 백과 사전인 경우, 사전 데이터에는 단어의 의미를 설명하는 텍스트의 텍스트 데이터, 예를 들면 단어가 동물이면 그 동물을 나타내는 화상 데이터, 예를 들면 단어가 새이면 그 새의 울음소리를 나타내는 음성 데이터 등이 포함된다. 인덱스는 사전 파일로부터 원하는 사전 데이터를 검색하기 위해서 사용되는 것으로, 사전 데이터에 대하여 설치되어 있고, 키워드라고 불리는 경우도 있다. 인덱스 데이터에는 표제의 포인터나 항목의 포인터 등이 포함된다. 표제 데이터에는 표제어가 포함된다. 또한, 항목 데이터에는 표제어나 해설문 등이 포함된다.
도 9의 (c)는 압축 데이터를 나타내며, 각 구간이 가변 길이로 압축되어 있는 상태를 나타낸다. 또한, 도 9의 (d)는 각 구간에 대하여 연산된 어드레스 정보를 나타내고, 도 9의 (e)는 압축 파라미터와, 어드레스 정보와, 압축 데이터를 합성하여 관리 정보를 선두에 부가함으로써 얻어지는 압축 파일을 나타낸다. 관리 정보는 사전 파일명, 사전 파일의 종별, 사전 파일의 압축 종별 등의, 압축 파일을 검색할 때 사용되는 정보가 포함된다. 또한, 도 9의 (f)는 헤더 및 트레일러가 부가된 압축 파일을 나타낸다.
도 10은 압축 파일 내의 압축 데이터의 형식을 설명하는 도면이다. 도 10의 (a)는 압축 파라미터를 나타내고, 본 실시예에서는 허프만 부호에 의한 압축을 행하기 위한 압축 파라미터이다. 또한, 도 10의 (b)는 압축 데이터를 나타내고, 각 구간이 가변 길이로 압축되어 있는 상태를 나타낸다. 각 구간은 도 9의 (c)에 도시한 바와 같이 제어 정보와, 압축 데이터와, EOB로 이루어진다. 제어 정보는 도 9의 (d)에 도시한 바와 같이, EOB 삭제 플래그, 비 압축 플래그, 압축 파라미터 종별 등으로 이루어진다.
각 구간의 끝을 나타내는 EOB는 예를 들면 18비트∼24비트이다. 그러나, 각 구간을 고정 길이로 한 경우에는 최종 구간 이외로서는 EOB를 생략할 수 있다. 그래서, 데이터 압축율을 더욱 향상하기 위해서, EOB 삭제 플래그가 설치되고, EOB가 삭제되어 있는지의 여부를 나타낸다.
또한, 출현 빈도가 낮은 단어가 많은 특이한 구간에서는, 압축 데이터가 비 압축 데이터보다 길어지는 현상이 발생한다. 그래서, 이러한 경우의 데이터 압축율을 더욱 향상하기 위해서, 상기와 같이 압축 데이터 대신에 비 압축 데이터가 압축 파일에 저장된다. 비 압축 플래그는 이와 같이 압축 데이터 대신에 비 압축 데이터가 저장되어 있는지의 여부를 나타낸다.
압축 파라미터 종별(또는 압축 파라미터 식별 번호)은 해당하는 구간의 압축에 이용되고 있는, 예를 들면 1∼n까지의 n종류의 압축 파라미터 중의 하나를 나타 낸다. 이에 따라, 각 구간의 압축에 이용되고 있는 압축 파라미터를 각 구간의 선두에 설치되어 있는 제어 정보로부터 알 수 있다.
도 11은 데이터 처리 장치의 제1 실시예에 있어서 구성되는 파일 검색·표시 시스템을 나타내는 기능 블록도이다. 도 11에서, 도 1과 동일 부분에는 동일 부호를 붙이고, 그 설명은 생략한다.
도 11에 도시한 파일 검색·표시 시스템은, 대략 검색·표시 제어부(31)와, 압축 파일(13)과, 입력부(33)와, 검색 결과 표시부(35)로 이루어진다. 검색·표시 제어부(31)는, 도 1에 도시한 CPU(1)에 의해 구성되고, 입력 처리부(41), 검색 제어부(42), 리드 처리부(43, 44), 신장 처리부(45) 및 표시 처리부(46)로 이루어진다. 압축 파일(13)은 예를 들면 도 1에 도시한 CD-ROM(6a)에 의해 구성된다. 입력부(33)는 도 1에 도시한 입력 장치(4)에 의해 구성된다. 또한, 검색 결과 표시부(35)는 도 1에 도시한 표시 장치(5)에 의해 구성된다.
각 처리의 내용과 제어 시퀀스는 입력부(33)로부터 입력된 검색 모드, 키워드 등에 기초하여, 입력 처리부(41) 및 검색 제어부(42)에 의해 결정된다. 입력부 (33)로부터 입력된 인덱스 데이터에 대응하는 인덱스 포인터는, 리드 처리부(43)에 의해 압축 파일(13)로부터 판독되고, 인덱스 포인터의 데이터는 신장 처리부(45)에 의해 신장된다. 해당하는 본문의 텍스트 데이터는 획득된 인덱스 포인터의 값에 기초하여 리드 처리부(44)에 의해 판독되고, 본문의 텍스트 데이터는 신장 처리부 (45)에 의해 신장된다. 상기한 같은 일련의 검색 처리에 의해 얻어지는 검색 결과는 표시 처리부(46)에 의해 검색 결과 표시부(35) 상에 표시된다.
다음으로, CD-ROM 입출력 장치(6)에 로드된 CD-ROM(6a)에 저장된 압축 파일(13)을 판독하여 원하는 데이터를 검색·표시하는 파일 검색·표시 처리에 대하여 설명한다. 파일 검색·표시 처리는, 대략 인덱스 리드 처리와, 텍스트 리드 처리로 이루어져, 데이터 신장 처리를 호출하여 실행된다. 본 실시예에서는 설명의 편의상, CD-ROM(6a)에는 CPU(1)에 파일 검색·표시 처리를 행하게 하는 프로그램이 저장되어 있고, CPU(1)는 주지의 방법으로 이 프로그램 및 압축 파일을 CD-ROM(6a)으로부터 판독하여 보조 기억 장치(3)에 로드하는 것으로 한다.
2a) 인덱스 리드 처리:
도 12는 검색·표시 처리부(31)의 리드 처리부(43) 및 신장 처리부(45), 즉, 도 1에 도시한 CPU(1)가 행하는 인덱스 리드 처리를 설명하는 흐름도이다. 도 12에서, 단계 S111은 사용자가 입력부(33)로부터 입력한 인덱스 데이터에 기초하여, 최상위 인덱스의 어드레스 정보를 설정한다. 단계 S112는 데이터 신장 처리를 호출하고, 보조 기억 장치(3) 내의 파일 검색 처리를 행하게 하는 프로그램으로부터 데이터 신장 처리를 행하게 하는 루틴을 판독함으로써, 압축 파일(13) 내의 최상위 인덱스의 어드레스를 신장한다. 단계 S113은 상기 인덱스 데이터에 기초하여, 최상위 인덱스의 두문자(頭文字)인 상위 인덱스의 어드레스를 획득한다. 단계 S114는 데이터 신장 처리를 호출하고, 압축 파일(13) 내의 상위 인덱스의 어드레스를 신장한다. 단계 S115는 상기 인덱스 데이터에 기초하여, 다음 계층의 하위 인덱스의 어드레스를 획득한다. 단계 S116은 데이터 신장 처리를 호출하고, 압축 파일 (13) 내의 상기 다음 계층의 하위 인덱스의 어드레스를 신장한다. 단계 S117은 최 하위 인덱스의 어드레스의 신장이 종료했는지의 여부를 판정하고, 판정 결과가 NO이면, 처리는 단계 S115로 되돌아간다. 한편, 단계 S117의 판정 결과가 YES인 경우, 처리는 종료한다.
2b) 데이터 신장 처리:
도 13은 검색·표시 제어부(31)의 신장 처리부(45), 즉, 도 1에 도시한 CPU (1)가 행하는 데이터 신장 처리를 설명하는 흐름도이다. 데이터 신장 처리는 인덱스 리드 처리 및 텍스트 리드 처리에 의해 호출된다.
도 13에서, 단계 S121은 사용자가 입력부(33)로부터 입력한 인덱스 데이터에 기초하여, 요구된 신장 어드레스, 데이터 사이즈나 기억 영역을 보조 기억 장치(3)에 기억하여, 신장된 데이터 사이즈에 대하여 충분한 크기의 기억 영역을 보조 기억 장치(3) 내에 준비한다. 단계 S122는 CD-ROM(6a)으로부터 판독하여 보조 기억 장치(3)에 로드된 압축 파일(13)이 오픈되어 있는지의 여부를 판정하고, 판정 결과가 NO이면, 단계 S123은 보조 기억 장치(3) 내의 압축 파일(13)을 오픈한다. 단계 S124는 헤더와 트레일러가 세트되어 있는지의 여부를 판정하고, 판정 결과가 NO이면 주지의 에러 처리로 이행한다.
한편, 단계 S124의 판정 결과가 YES이면, 단계 S125는 압축 파일(13)로부터 압축 파라미터를 판독하고, 압축 파라미터 내의 8비트 코드의 출현 빈도 및 16비트 코드와 그 출현 빈도를 판독한다. 단계 S126은 8비트 코드의 출현 빈도 및 16비트 코드의 출현 빈도에 기초하여, 복수의 압축 파라미터의 각각에 해당하는 허프만 트리를 작성하고, 처리는 후술하는 단계 S127로 진행한다. 또한, 허프만 트리의 리 프(leaf)의 데이터에는 8비트 코드인지 16비트 코드인지의 판정용 플래그가 부가되어 있다.
단계 S122의 판정 결과가 YES 또는 단계 S126의 후, 단계 S127은 요구된 신장 어드레스에 대응하는 어드레스 정보를 압축 파일(13)로부터 판독한다. 단계 S128은 어드레스 정보에 기초하여, 압축 파일(13)로부터 대응하는 압축 데이터의 구간을 판독한다. 단계 S129는 제어 정보 내의 비 압축 플래그가 세트되어 온인지의 여부를 판정한다. 단계 S129의 판정 결과가 YES이면 처리는 후술하는 단계 S132로 진행하며, 판정 결과가 NO이면 처리는 단계 S130으로 진행한다.
단계 S130은 제어 정보 내의 압축 파라미터 종별에 대응하는 허프만 트리에 의해 압축 데이터의 구간을 신장하고, 단계 S131은 8비트 코드인지 16비트 코드인지의 판정용 플래그에 기초하여, 신장된 데이터를 상기 기억 영역에 복사하여, 처리는 단계 S133으로 진행한다. 이 경우, 구간이 최종 구간이면, 구간의 끝에 EOB가 부가되어 있기 때문에 EOB까지의 가변 길이의 구간의 데이터를 신장하여 복사하고, 구간이 최종 구간 이외의 도중 구간이면, 제어 정보에 EOB가 삭제되어 있는 것을 나타내는 EOB 삭제 플래그가 포함되어 있기 때문에 2kbyte의 고정 길이의 구간의 데이터를 신장하여 복사한다.
한편, 단계 S132는 8비트 코드인지 16비트 코드인지의 판정용 플래그에 기초하여, 비 압축 데이터를 상기 기억 영역에 복사하고, 처리는 단계 S133으로 진행한다. 이 경우, 구간이 최종 구간이면, 구간의 끝에 EOB가 부가되어 있기 때문에 EOB까지의 가변 길이의 구간의 비 압축 데이터를 그대로 복사하고, 구간이 최종 구 간 이외의 도중 구간이면, 제어 정보에 EOB가 삭제되어 있는 것을 나타내는 EOB 삭제 플래그가 포함되어 있기 때문에 2kbyte의 고정 길이의 구간의 비 압축 데이터를 그대로 복사한다.
단계 S133은 구간의 어드레스 정보를 갱신하고, 단계 S134는 압축 파일(13)에 대하여 요구된 데이터 사이즈의 신장이 완료됐는지의 여부를 판정한다. 단계 S134의 판정 결과가 NO인 경우, 단계 S127은 다음의 구간의 신장 어드레스에 대응한 어드레스 정보를 압축 파일(13)로부터 판독한다. 단계 S128은 이 다음의 구간의 신장 어드레스에 대응한 어드레스 정보에 기초하여, 압축 파일(13)로부터 대응하는 압축 데이터의 구간을 판독하고, 처리는 단계 S129로 진행한다. 한편, 단계 S134의 판정 결과가 YES이면, 처리는 종료한다.
2c) 텍스트 리드 처리:
도 14는 검색·표시 제어부(31)의 리드 처리부(44) 및 신장 처리부(45), 즉, 도 1에 도시한 CPU(1)가 행하는 텍스트 리드 처리를 설명하는 흐름도이다.
도 14에서, 단계 S141은 사용자가 입력부(33)로부터 입력한 인덱스 데이터에 기초하여, 신장된 데이터 중, 인덱스와 일치하는 항목을 카운트한다. 단계 S142는 입력된 인덱스 데이터에 기초하여 인덱스의 항목 포인터의 값을 어드레스에 설정한다. 단계 S143은 데이터 신장 처리를 호출하고, 보조 기억 장치(3) 내의 파일 검색 처리를 행하게 하는 프로그램으로부터 데이터 신장 처리를 행하게 하는 루틴을 판독함으로써, 압축 파일(13) 내의 항목 포인터로 나타내는 텍스트, 즉, 사전 데이터를 1구간분 신장한다.
단계 S144는 항목 포인터로 나타내는 사전 데이터가 종료했는지의 여부를 판정하고, 판정 결과가 NO이면, 단계 S145는 다음의 1구간의 어드레스를 설정한다. 또한, 단계 S146은 데이터 신장 처리를 호출하여, 압축 파일(13) 내의 항목 포인터로 나타내는 사전 데이터를 이 다음의 1구간분 신장하고, 처리는 단계 S144로 되돌아간다. 한편, 단계 S144의 판정 결과가 YES인 경우, 단계 S147은 입력된 인덱스 데이터에 기초하여, 모든 항목에 대한 처리가 종료했는지의 여부를 판정하고, 판정 결과가 NO이면, 처리는 단계 S142로 되돌아간다. 단계 S147의 판정 결과가 YES이면, 단계 S148은 모든 항목에 대하여 신장된 사전 데이터를 검색 결과 표시부(35)에 표시하고, 처리는 종료한다.
또한, 단계 S148은 단계 S147 전에 행하도록 해도 된다. 이 경우, 단계 S148은 각 항목에 대하여 신장된 사전 데이터를 그 때마다 검색 결과 표시부(35)에 표시한다.
상기 실시예에서는 설명의 편의상, 구간이 가변 길이인 것으로 하였다. 구간이 가변 길이이면, 데이터 신장 속도를 향상시킬 수 있다. 이는 데이터의 종별이나 구분에 대응하여 적절한 길이의 구간을 설정할 수 있고, 여분의 데이터를 신장할 필요가 없게 됨에 따른다.
한편, 구간이 고정 길이이면, 데이터 압축 효율이 좋고, 또한 구간의 압축 전의 어드레스 정보를 압축 파일에 저장해 두지 않아도 어드레스 정보를 압축 파일로부터 복원 가능하다. 이는 구간이 고정 길이로서, 각 구간에는 구간 번호가 부가되어 있기 때문에, 각 구간의 다른 구간에 대한 상대 위치가 산출 가능한 것에 따른다.
또한, 구간을 가변 길이로 한 경우에는 구간의 압축 전의 어드레스 정보를 압축 파일에 저장해 둘 필요가 있다. 따라서, 구간을 고정 길이로 할지, 가변 길이로 할지는, 데이터 압축율을 우선할지, 데이터 신장 속도를 우선할지에 의해 결정하면 된다.
또한, CD-ROM(6a)에 저장되는 사전 파일은 1이상이어도 된다. 복수의 사전이나 백과 사전 등에 관한 복수의 사전 파일을 CD-ROM(6a)에 저장한 경우라도, 도 9의 (e)에 도시한 관리 정보 내의 사전 파일명이나 사전 파일의 종별로부터 검색하고자 하는 사전 파일을 특정할 수 있다.
상기 실시예에서는 데이터 압축에 허프만 부호를 이용했지만, 유니버설 부호 등도 사용할 수 있고, 사전 데이터를 각 구간마다 공통인 압축 파라미터로 효율적으로 압축할 수 있는 데이터 압축 방식이면, 허프만 부호에 한정되는 것이 아니다. 또한, 데이터 압축 및 신장의 대상이 되는 데이터는 사전 데이터에 한정되지 않고, 인덱스와 데이터로 이루어지는 데이터 베이스의 데이터도 포함한다.
또한, 상기 실시예에서는 파일 검색 처리 프로그램 및 압축 파일을 보조 기억 장치(3)에 복사하여 검색 처리를 행하는 것을 설명하고 있지만, 이들을 보조 기억 장치(3)에 복사하지 않고, 프로그램과 압축 파일을 주기억 장치(2)에 전개하여, 상술한 바와 마찬가지의 처리를 행하도록 해도 된다.
또한, 상기 실시예에서 이용하는 압축 알고리즘에 의해, 통상의 8비트로의 허프만 부호에 의한 데이터 압축 처리에 의해 압축율이 향상하고, CD-ROM이나 보조 기억 장치로서 설명한 하드디스크 등의 기억 매체에 기록되는 압축 파일의 영역은 적어진다. 압축 알고리즘에 의해 압축율은 향상하지만, 압축 파일을 신장하기 위한 처리 시간은 통상의 허프만 부호 압축일 때와 거의 변하지 않는다.
검색 처리에 관한 시간은 판독 장치(드라이브)의 씨크 시간과 압축 파일의 리드 시간과 신장 처리 시간으로 이루어진다.
상술된 바와 같이 압축 알고리즘에 의해 압축율이 향상함으로써, 기억 매체에 기록되는 압축 파일의 기록 영역이 적어지지 때문에, 검색 프로그램의 검색 처리에 관한 시간의 씨크 시간이 감소하고, 그 결과, 검색 속도가 향상한다. 이 효과는 하드웨어의 성능 향상에 따라 더욱 현저하게 된다.
다음으로, 본 발명의 파일 처리 방법 및 데이터 처리 장치의 제2 실시예를 설명한다. 파일 처리 방법 및 데이터 처리 장치의 제2 실시예는 본 발명이 되는 기억 매체의 제2 실시예를 이용한다. 또한, 기억 매체의 제2 실시예에서는 본 발명이 CD-ROM에 적용되고 있지만, 기억 매체 자체는 CD-ROM에 한정되지 않고, 본 발명은 CD-ROM 이외의 광학적 정보 기억 매체, 광 자기 디스크 등의 광 자기 기억 매체, 플로피 디스크 등의 자기 기억 매체, 각종 반도체 메모리 디바이스 등에도 마찬가지로 적용 가능한 것은 물론이다.
파일 처리 방법의 제2 실시예를 채용한 컴퓨터 시스템의 개략 구성은 도 1에 도시한 블록도와 마찬가지이고, 데이터 처리 장치의 제2 실시예에 대응한다. 데이터 처리 장치의 제2 실시예에서는 검색·표시 제어부가 도 15에 도시한 바와 같은 구성을 갖는다. 도 15에서, 도 11과 동일 부분에는 동일 부호를 붙여, 그 설명은 생략한다.
도 15에서, 검색·표시 제어부는 대략 CD-ROM 어플리케이션(51), 오퍼레이팅 시스템(OS: 52), 랜덤 파일 매니저(FM: 53), 직렬 파일 매니저(FM: 54), CD-ROM (6a)용 드라이버 소프트웨어(DV: 55), 보조 기억 장치(3)를 구성하는 하드디스크 (3a)용 드라이버 소프트웨어(DV: 56, 57) 및 표시 장치(5)용 드라이버 소프트웨어 (DV: 58)를 포함한다.
CD-ROM 어플리케이션(51)은 어플리케이션 제어부(61), 입력 처리부(62), 리드 처리부(63) 및 표시 처리부(64)를 포함한다. 또한, DV(55)에는 도 11에 도시한 리드 처리부(43, 44) 및 신장 처리부(45)에 대응하는 리드·신장 처리부(71)가 삽입되어 있다. 어플리케이션 제어부(61)는 도 11에 도시한 검색 제어부(42)에 대응하여, 각 처리의 내용과 제어 시퀀스를 결정한다. 입력 처리부(62)는 도 11에 도시한 입력 처리부(41)에 대응하여, 동작 모드의 입력이나 대상 파일의 선택을 행한다. 리드 처리부(63) 및 DV(55)에 삽입되어 있는 리드·신장 처리부(71)는 해당하는 압축 데이터를 압축 파일(13)로부터 판독하여 신장한다. 신장된 데이터에 기초하여 여러가지의 처리가 행해지고, 표시 처리부(64)에 의해 검색 결과가 검색 결과 표시부(35) 상에 표시된다. 표시 처리부(64)는 도 11에 도시한 표시 처리부(46)에 대응한다. 본 실시예에서는 압축 파일(13)에 저장되어 있는 데이터는 제1 실시예와 같은 사전, 백과 사전 등의 인덱스와 실제 데이터를 포함하는 것에 한정되지 않고, 어떠한 데이터라도 무방하다. 또한, 데이터 처리 장치는 파일 제어 장치를 구성한다.
CD-ROM 어플리케이션(51)은 사전에 보조 기억 장치(3)에 인스톨되어 있어도, CD-ROM(6a) 등으로부터 판독하여 보조 기억 장치(3)에 인스톨해도 된다. 또한, DV(55)은 DV(56∼58)과 마찬가지로, 사전에 보조 기억 장치(3)에 인스톨되어 있어도, CD-ROM(6a) 등으로부터 판독하여 보조 기억 장치(3)에 인스톨해도 된다. 또한, 설명의 편의상, OS(52) 및 FM(53, 54)은 사전에 보조 기억 장치(3)에 인스톨되어 있는 것으로 한다.
따라서, 기억 매체의 제2 실시예는 압축 파일(13) 및 DV(55) 중 적어도 한쪽을 저장하고 있으며, CD-ROM 어플리케이션(51)을 더 저장하고 있어도 된다.
이와 같이 본 실시예에서는 DV(55)에 신장 라이브러리(리드·신장 처리부 (71))를 삽입함으로써, 어플리케이션 소프트웨어를 각 압축 파일에 맞춰 구성할 필요가 없고, DV(55)만의 변경에 의해 기존의 어플리케이션 소프트웨어를 이용해도 압축 파일의 리드·신장 처리가 가능해진다.
도 16은 CD-ROM 어플리케이션(51)의 리드 처리부(63)가 DV(55)의 리드·신장 처리부(71)와 함께 행하는 리드 처리, 즉, 도 1에 도시한 CPU(1)의 리드 처리를 설명하는 흐름도이다.
도 16에서, 단계 S151은 CPU(1) 내의 리드 버퍼를 초기화한다. 단계 S152는 압축 파일(13)의 리드 어드레스(논리 어드레스)를 세트한다. 단계 S153은 구간의 리드 길이를 세트한다. 또한, 단계 S154는 리드·신장 처리를 호출하고, 처리는 종료한다.
도 17은 DV(55)의 리드·신장 처리부(71)가 행하는 리드·신장 처리, 즉, 도 1에 도시한 CPU(1)의 리드·신장 처리를 설명하는 흐름도이다.
도 17에서, 단계 S161은 사용자가 입력부(33)로부터 입력한 인덱스 데이터에 기초하여, 요구된 신장 어드레스, 데이터 사이즈나 기억 영역을 보조 기억 장치(3)에 기억하고, 신장된 데이터 사이즈에 대하여 충분한 크기의 기억 영역을 보조 기억 장치(3) 내에 준비한다. 단계 S162는 CD-ROM(6a)으로부터 판독하여 보조 기억 장치(3)에 로드된 압축 파일(13)이 오픈되어 있는지의 여부를 판정하고, 판정 결과가 NO이면, 단계 S163은 보조 기억 장치(3) 내의 압축 파일(13)을 오픈한다. 단계 S164는 헤더와 트레일러가 세트되어 있는지의 여부를 판정하고, 판정 결과가 NO이면 주지의 일반 파일의 처리로 이행한다.
한편, 단계 S164의 판정 결과가 YES이면, 단계 S165는 압축 파일(13)로부터 압축 파라미터를 판독하고, 압축 파라미터 내의 8비트 코드의 출현 빈도 및 16비트 코드와 그 출현 빈도를 판독한다. 단계 S166은 8비트 코드의 출현 빈도 및 16비트 코드의 출현 빈도에 기초하여, 복수의 압축 파라미터의 각각에 해당하는 허프만 트리를 작성하고, 처리는 후술하는 단계 S127로 진행한다. 또한, 허프만 트리의 리프의 데이터에는 8비트 코드인지 16비트 코드인지의 판정용 플래그가 부가되어 있다.
단계 S162의 판정 결과가 YES 또는 단계 S166의 후, 단계 S167은 요구된 신장 어드레스에 대응하는 어드레스 정보를 압축 파일(13)로부터 판독한다. 단계 S168은 어드레스 정보에 기초하여, 압축 파일(13)로부터 대응하는 압축 데이터의 구간을 판독한다. 단계 S169는 제어 정보 내의 비 압축 플래그가 세트되어 온인지 의 여부를 판정한다. 단계 S169의 판정 결과가 YES이면 처리는 후술하는 단계 S172로 진행하고, 판정 결과가 NO이면 처리는 단계 S170으로 진행한다.
단계 S170은 제어 정보 내의 압축 파라미터 종별에 대응하는 허프만 트리에 의해 압축 데이터의 구간을 신장하고, 단계 S171은 8비트 코드인지 16비트 코드인지의 판정용 플래그에 기초하여, 신장된 데이터를 상기 기억 영역에 복사하고, 처리는 단계 S173으로 진행한다. 이 경우, 구간이 최종 구간이면, 구간의 끝에 EOB가 부가되어 있기 때문에 EOB까지의 가변 길이의 구간의 데이터를 신장하여 복사하고, 구간이 최종 구간 이외의 도중 구간이면, 제어 정보에 EOB가 삭제되어 있는 것을 나타내는 EOB 삭제 플래그가 포함되어 있기 때문에 2kbyte의 고정 길이의 구간의 데이터를 신장하여 복사한다.
한편, 단계 S172는 8비트 코드인지 16비트 코드인지의 판정용 플래그에 기초하여, 비 압축 데이터를 상기 기억 영역에 복사하고, 처리는 단계 S173으로 진행한다. 이 경우, 구간이 최종 구간이면, 구간의 끝에 EOB가 부가되어 있기 때문에 EOB까지의 가변 길이의 구간의 비 압축 데이터를 그대로 복사하고, 구간이 최종 구간 이외의 도중 구간이면, 제어 정보에 EOB가 삭제되어 있는 것을 나타내는 EOB 삭제 플래그가 포함되어 있기 때문에 2kbyte의 고정 길이의 구간의 비 압축 데이터를 그대로 복사한다.
단계 S173은 구간의 어드레스 정보를 갱신하고, 단계 S174는 압축 파일(13)에 대하여 요구된 데이터 사이즈의 신장이 완료됐는지의 여부를 판정한다. 단계 S174의 판정 결과가 NO인 경우, 단계 S167은 다음의 구간의 신장 어드레스에 대응 한 어드레스 정보를 압축 파일(13)로부터 판독한다. 단계 S168은 이 다음의 구간의 신장 어드레스에 대응한 어드레스 정보에 기초하여, 압축 파일(13)로부터 대응하는 압축 데이터의 구간을 판독하고, 처리는 단계 S169로 진행한다. 한편, 단계 S174의 판정 결과가 YES이면, 처리는 종료한다.
제2 실시예에서는 어플리케이션으로서 CD-ROM(6a)을 사용하는 CD-ROM 어플리케이션(51)을 예시했지만, 이에 한정되는 것이 아니고, 파일을 취급하는 어떠한 어플리케이션이라도 본 발명이 적용된 드라이버 소프트웨어를 이용할 수 있다.
또한, 본 발명의 리드·신장 처리부(71)를 CD-ROM용 드라이버 소프트웨어에 삽입한 예를 나타내었지만, 다른 기억 장치에 대응하는 드라이버 소프트웨어(하드디스크 드라이브용 드라이버 소프트웨어, 도시하지 않은 플로피 디스크 드라이브용 드라이버 소프트웨어 등)에 리드·신장 처리부(71)를 삽입하는 것으로 마찬가지의 처리가 가능하고, 마찬가지의 효과를 얻을 수 있다.
이상, 본 발명을 실시예에 의해 설명했지만, 본 발명은 본 발명의 범위 내에서 여러가지의 변형 및 개량이 가능한 것은 물론이다.

Claims (48)

  1. 텍스트 데이터, 화상 데이터 및 음성 데이터 중 적어도 하나로 이루어진 데이터와 해당 데이터를 검색하기 위해 사용되는 인덱스 데이터의 양쪽을 복수의 구간으로 분할하는 단계와,
    해당 데이터 중 소정 개수의 16비트 코드를 출현 빈도순으로 선택하고, 선택되지 않은 나머지 16비트 코드를 8비트 코드로 분해하며, 해당 8비트 코드를 출현 빈도순으로 선택한 결과에 기초하여 각 구간에 대한 변환 테이블을 작성하는 단계와,
    복수의 압축 파라미터를 이용하여 각 구간을 그에 대한 변환 테이블에 기초하여 압축하고 압축 테이블을 구하는 압축 단계와,
    해당 압축 테이블을 상기 각 구간의 압축 후의 데이터가 저장되는 어드레스 정보 및 상기 압축 파라미터와 함께 기억 매체에 저장하는 저장 단계
    를 포함하는 파일 처리 방법.
  2. 제1항에 있어서,
    상기 압축 단계는 상기 파일 내의 단어별 출현 빈도의 분포에 기초한 복수의 압축 파라미터를 이용하는 파일 처리 방법.
  3. 제1항에 있어서,
    상기 압축 단계는 압축 데이터가 비 압축 데이터보다 정보량이 많아지는 구간의 데이터에 대해서는 비 압축 데이터 그대로 비 압축 데이터를 나타내는 플래그를 해당 구간의 제어 정보에 포함시키는 파일 처리 방법.
  4. 제1항에 있어서,
    상기 압축 단계는 각 구간의 제어 정보에 압축 파라미터의 식별 정보를 포함시키는 파일 처리 방법.
  5. 제1항에 있어서,
    상기 압축 단계는 상기 구간의 끝을 나타내는 종료 정보를 각 구간의 말미에 부가함과 함께, 상기 구간이 고정 길이인 경우에는 최종 구간에만 상기 종료 정보를 부가하고 상기 최종 구간 이외의 구간에서는 종료 정보를 삭제한 것을 나타내는 플래그를 해당 구간의 제어 정보에 포함시키는 파일 처리 방법.
  6. 제1항에 있어서,
    컴퓨터의 어플리케이션 소프트웨어와는 독립된 드라이버 소프트웨어에 의해 상기 기억 매체로부터 판독된 압축 파일을 신장하는 단계를 더 포함하는 파일 처리 방법.
  7. 텍스트 데이터, 화상 데이터 및 음성 데이터 중 적어도 하나로 이루어진 데이터와 해당 데이터를 검색하기 위해 사용되는 인덱스 데이터의 양쪽을 복수의 구간으로 분할하고, 해당 데이터 중 소정 개수의 16비트 코드를 출현 빈도순으로 선택하며, 선택되지 않은 나머지 16비트 코드를 8비트 코드로 분해하고, 해당 8비트 코드를 출현 빈도순으로 선택한 결과에 기초하여 각 구간에 대한 변환 테이블을 작성하며, 복수의 압축 파라미터를 이용하여 각 구간을 그에 대한 변환 테이블에 기초하여 압축하고 압축 테이블을 구하는 압축 처리부와,
    해당 압축 테이블을 상기 각 구간의 압축 후의 데이터가 저장되는 어드레스 정보 및 상기 압축 파라미터와 함께 기억 매체에 저장하는 저장 처리부
    를 포함하는 데이터 처리 장치.
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 컴퓨터로 판독 가능한 정보를 저장한 기억 매체에 있어서,
    컴퓨터에, 텍스트 데이터, 화상 데이터 및 음성 데이터 중 적어도 하나로 이루어진 데이터와 해당 데이터를 검색하기 위해 사용되는 인덱스 데이터의 양쪽을 복수의 구간으로 분할하고, 해당 데이터 중 소정 개수의 16비트 코드를 출현 빈도순으로 선택하며, 선택되지 않은 나머지 16비트 코드를 8비트 코드로 분해하고, 해당 8비트 코드를 출현 빈도순으로 선택한 결과에 기초하여 각 구간에 대한 변환 테이블을 작성하며, 복수의 압축 파라미터를 이용하여 각 구간을 그에 대한 변환 테이블에 기초하여 압축하고 압축 테이블을 구하는 압축 처리 단계와,
    컴퓨터에, 해당 압축 테이블을 상기 각 구간의 압축 후의 데이터가 저장되는 어드레스 정보 및 상기 압축 파라미터와 함께 기억 매체에 저장하는 저장 처리 단계
    를 포함하는 프로그램을 저장한 기억 매체.
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 압축 테이블을 기록한 컴퓨터 판독 가능한 기억 매체에 있어서,
    텍스트 데이터, 화상 데이터 및 음성 데이터 중 적어도 하나로 이루어진 데이터와 해당 데이터를 검색하기 위해 사용되는 인덱스 데이터의 양쪽을 복수의 구간으로 분할하고, 해당 데이터 중 소정 개수의 16비트 코드를 출현 빈도순으로 선택하며, 선택되지 않은 나머지 16비트 코드를 8비트 코드로 분해하고, 해당 8비트 코드를 출현 빈도순으로 선택한 결과에 기초하여 각 구간에 대한 변환 테이블을 작성하며, 복수의 압축 파라미터를 이용하여 각 구간을 그에 대한 변환 테이블에 기초하여 압축된 압축 테이블이 기록된 영역과,
    상기 각 구간의 압축 후의 데이터가 저장되는 어드레스 정보 및 상기 압축 파라미터와 기억된 영역
    을 갖는 기억 매체.
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 텍스트 데이터, 화상 데이터 및 음성 데이터 중 적어도 하나로 이루어진 데이터와 해당 데이터를 검색하기 위해 사용되는 인덱스 데이터의 양쪽을 복수의 구간으로 분할하고, 해당 데이터 중 소정 개수의 16비트 코드를 출현 빈도순으로 선택하며, 선택되지 않은 나머지 16비트 코드를 8비트 코드로 분해하고, 해당 8비트 코드를 출현 빈도순으로 선택한 결과에 기초하여 각 구간에 대한 변환 테이블을 작성하며, 복수의 압축 파라미터를 이용하여 각 구간을 그에 대한 변환 테이블에 기초하여 압축하는 것으로 구해진 압축 파일을 상기 각 구간의 압축 후의 데이터가 저장되는 어드레스 정보 및 상기 압축 파라미터와 함께 상기 매 구간에서 기록 매체로부터 판독하는 판독 단계와,
    해당 판독 단계에 의해 그 기록 매체로부터 판독되는 매 구간의 데이터를 해당 매 구간의 데이터에 대응하는 압축 파라미터에 의해 신장하는 신장 단계
    를 포함하는 파일 처리 방법.
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 텍스트 데이터, 화상 데이터 및 음성 데이터 중 적어도 하나로 이루어진 데이터와 해당 데이터를 검색하기 위해 사용되는 인덱스 데이터의 양쪽을 복수의 구간으로 분할하고, 해당 데이터 중 소정 개수의 16비트 코드를 출현 빈도순으로 선택하며, 선택되지 않은 나머지 16비트 코드를 8비트 코드로 분해하고, 해당 8비트 코드를 출현 빈도순으로 선택한 결과에 기초하여 각 구간에 대한 변환 테이블을 작성하며, 복수의 압축 파라미터를 이용하여 각 구간을 그에 대한 변환 테이블에 기초하여 압축하는 것으로 구해진 압축 파일을 상기 각 구간의 압축 후의 데이터가 저장되는 어드레스 정보 및 상기 압축 파라미터와 함께 상기 매 구간에서 기록 매체로부터 판독하는 리드 처리부와,
    상기 리드 처리부에 의해 해당 기록 매체로부터 판독되는 매 구간의 데이터를 해당 매 구간의 데이터에 대응하는 압축 파라미터에 의해 신장하는 신장 처리부
    를 포함하는 데이터 처리 장치.
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 애플리케이션 소프트웨어로부터의 판독 요구에 따라, 텍스트 데이터, 화상 데이터 및 음성 데이터 중 적어도 하나로 이루어진 데이터와 해당 데이터를 검색하기 위해 사용되는 인덱스 데이터의 양쪽을 복수의 구간으로 분할하고, 해당 데이터 중 소정 개수의 16비트 코드를 출현 빈도순으로 선택하며, 선택되지 않은 나머지 16비트 코드를 8비트 코드로 분해하고, 해당 8비트 코드를 출현 빈도순으로 선택한 결과에 기초하여 각 구간에 대한 변환 테이블을 작성하며, 복수의 압축 파라미터를 이용하여 각 구간을 그에 대한 변환 테이블에 기초하여 압축하는 것으로 구해진 압축 파일을 상기 각 구간의 압축 후의 데이터가 저장되는 어드레스 정보 및 상기 압축 파라미터와 함께 상기 매 구간에서 기록 매체로부터 판독하는 리드 처리부와,
    해당 리드 처리부에 의해 해당 기록 매체로부터 판독되는 매 구간의 데이터를 해당 매 구간의 데이터에 대응하는 압축 파라미터에 의해 신장하여, 그 어플리케이션 소프트웨어에 공급하는 신장 처리부
    를 포함하는 데이터 처리 장치.
  40. 컴퓨터로 판독 가능한 정보를 저장한 기억 매체에 있어서,
    컴퓨터에, 텍스트 데이터, 화상 데이터 및 음성 데이터 중 적어도 하나로 이루어진 데이터와 해당 데이터를 검색하기 위해 사용되는 인덱스 데이터의 양쪽을 복수의 구간으로 분할하고, 해당 데이터 중 소정 개수의 16비트 코드를 출현 빈도순으로 선택하며, 선택되지 않은 나머지 16비트 코드를 8비트 코드로 분해하고, 해당 8비트 코드를 출현 빈도순으로 선택한 결과에 기초하여 각 구간에 대한 변환 테이블을 작성하며, 복수의 압축 파라미터를 이용하여 각 구간을 그에 대한 변환 테이블에 기초하여 압축하는 것으로 구해진 압축 파일을 상기 각 구간의 압축 후의 데이터가 저장되는 어드레스 정보 및 상기 압축 파라미터와 함께 상기 매 구간에서 기록 매체로부터 판독하는 리드 처리 단계와,
    컴퓨터에, 해당 리드 처리 단계에 의해 해당 기록 매체로부터 판독되는 매 구간의 데이터를 해당 매 구간의 데이터에 대응하는 압축 파라미터에 의해 신장시키는 신장 처리 단계
    를 포함하는 프로그램을 저장한 기억 매체.
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 컴퓨터로 판독 가능한 정보를 저장한 기억 매체에 있어서,
    컴퓨터에, 어플리케이션 소프트웨어로부터의 판독 요구에 따라, 텍스트 데이터, 화상 데이터 및 음성 데이터 중 적어도 하나로 이루어진 데이터와 해당 데이터를 검색하기 위해 사용되는 인덱스 데이터의 양쪽을 복수의 구간으로 분할하고, 해당 데이터 중 소정 개수의 16비트 코드를 출현 빈도순으로 선택하며, 선택되지 않은 나머지 16비트 코드를 8비트 코드로 분해하고, 해당 8비트 코드를 출현 빈도순으로 선택한 결과에 기초하여 각 구간에 대한 변환 테이블을 작성하며, 복수의 압축 파라미터를 이용하여 각 구간을 그에 대한 변환 테이블에 기초하여 압축하는 것으로 구해진 압축 파일을 상기 각 구간의 압축 후의 데이터가 저장되는 어드레스 정보 및 상기 압축 파라미터와 함께 상기 매 구간에서 기록 매체로부터 판독하는 리드 처리 단계와,
    해당 리드 처리부에 의해 해당 기록 매체로부터 판독되는 매 구간의 데이터를 해당 매 구간의 데이터에 대응하는 압축 파라미터에 의해 신장하여, 그 어플리케이션 소프트웨어에 공급하는 신장 처리 단계
    를 포함하는 프로그램을 저장한 기억 매체.
  48. 삭제
KR1020027001931A 1999-08-13 1999-08-13 파일 처리 방법, 데이터 처리 장치 및 기억 매체 KR100597513B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP1999/004387 WO2001013237A1 (fr) 1999-08-13 1999-08-13 Traitement de fichier, dispositif informatique et support memoire

Publications (2)

Publication Number Publication Date
KR20020020814A KR20020020814A (ko) 2002-03-15
KR100597513B1 true KR100597513B1 (ko) 2006-07-10

Family

ID=14236462

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027001931A KR100597513B1 (ko) 1999-08-13 1999-08-13 파일 처리 방법, 데이터 처리 장치 및 기억 매체

Country Status (7)

Country Link
US (1) US7016908B2 (ko)
EP (1) EP1211601A4 (ko)
KR (1) KR100597513B1 (ko)
CN (1) CN1167014C (ko)
AU (1) AU771959B2 (ko)
CA (1) CA2387653C (ko)
WO (1) WO2001013237A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011027989A2 (en) * 2009-09-04 2011-03-10 Estsoft Corp. Method and apparatus for compressing and decompressing block unit data

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003006216A (ja) * 2001-06-26 2003-01-10 Sony Corp 情報処理装置および情報処理方法、記録媒体、プログラム、並びに電子出版用データ提供システム
KR100388612B1 (ko) * 2001-07-25 2003-06-25 엘지전자 주식회사 교환 시스템에서의 패키징 압축 방법
US7162584B2 (en) * 2003-12-29 2007-01-09 Intel Corporation Mechanism to include hints within compressed data
US8099791B1 (en) * 2004-06-25 2012-01-17 Lexmark International, Inc. Method of authenticating a consumable in an imaging device
US8677123B1 (en) 2005-05-26 2014-03-18 Trustwave Holdings, Inc. Method for accelerating security and management operations on data segments
JP4256397B2 (ja) 2006-02-17 2009-04-22 誠 後藤 ファイル格納装置
US20090112900A1 (en) * 2007-10-31 2009-04-30 Krishnamurthy Viswanathan Collaborative Compression
US8234310B2 (en) * 2007-12-20 2012-07-31 Pottenger William M Social networking on a website with topic-based data sharing
US8301768B2 (en) * 2007-12-20 2012-10-30 Pottenger William M Peer-to-peer indexing-based marketplace
US8239492B2 (en) * 2007-12-20 2012-08-07 Pottenger William M System for content-based peer-to-peer indexing of data on a networked storage device
US8572071B2 (en) * 2008-12-19 2013-10-29 Rutgers, The State University Of New Jersey Systems and methods for data transformation using higher order learning
US8229972B2 (en) 2009-08-28 2012-07-24 International Business Machines Corporation Extended data storage system
EP2477363A4 (en) * 2010-08-24 2012-08-22 Huawei Tech Co Ltd METHOD AND DEVICES FOR CONSTRUCTION, COMPRESSION AND SEARCH BINARY HIERARCHIES
US8484170B2 (en) * 2011-09-19 2013-07-09 International Business Machines Corporation Scalable deduplication system with small blocks
JP5336645B1 (ja) * 2012-12-17 2013-11-06 義尚 神山 倍数乗数分割ソフトウェアを記録した記録媒体
JP6107513B2 (ja) * 2013-07-29 2017-04-05 富士通株式会社 情報処理システム、情報処理方法、および情報処理プログラム
CN106169020A (zh) * 2016-06-27 2016-11-30 臻和(北京)科技有限公司 一种数据处理方法和基于基因分型的肿瘤伴随诊断系统
JP6794782B2 (ja) * 2016-11-02 2020-12-02 富士通株式会社 情報処理装置、情報処理プログラム、及び情報処理方法
CN108509308A (zh) * 2018-02-08 2018-09-07 广州视源电子科技股份有限公司 板卡数据监控方法、系统、可读存储介质及计算机设备
CN110442489B (zh) * 2018-05-02 2024-03-01 阿里巴巴集团控股有限公司 数据处理的方法和存储介质
CN111382855B (zh) * 2018-12-28 2022-12-09 上海寒武纪信息科技有限公司 数据处理装置、方法、芯片及电子设备
CN112416315A (zh) * 2020-06-16 2021-02-26 上海哔哩哔哩科技有限公司 Css代码的压缩方法、电子设备和存储介质
CN116346940B (zh) * 2023-05-29 2023-08-22 德州禹工环保设备有限公司 一种智慧海绵城市的监测管理系统

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5333313A (en) * 1990-10-22 1994-07-26 Franklin Electronic Publishers, Incorporated Method and apparatus for compressing a dictionary database by partitioning a master dictionary database into a plurality of functional parts and applying an optimum compression technique to each part
JPH04225625A (ja) * 1990-12-27 1992-08-14 Sony Corp ディジタル変調方式
JPH04359315A (ja) * 1991-06-05 1992-12-11 Matsushita Electric Ind Co Ltd データ圧縮制御装置及びデータ復元制御装置
US5414850A (en) * 1991-08-23 1995-05-09 Stac Electronics, Inc. System for transparently compressing data files in a computer system
JPH0628150A (ja) 1992-07-08 1994-02-04 Funai Techno Syst Kk プログラム容量圧縮方法
US5442350A (en) 1992-10-29 1995-08-15 International Business Machines Corporation Method and means providing static dictionary structures for compressing character data and expanding compressed data
JP3051014B2 (ja) 1993-12-27 2000-06-12 ローム株式会社 データ記憶装置及びデータシステム
JPH08241325A (ja) 1995-03-03 1996-09-17 Matsushita Electric Ind Co Ltd 電子辞書及びその製造方法並びにインデックス圧縮・伸長装置
JPH0926969A (ja) 1995-07-10 1997-01-28 Hitachi Maxell Ltd 電話帳検索システム
JPH0926902A (ja) 1995-07-12 1997-01-28 Fujikura Ltd ファイル圧縮並びに復元方法
US5809295A (en) * 1995-09-26 1998-09-15 Microsoft Corporation Method and apparatus for storing compressed file data on a disk where each MDFAT data structure includes an extra byte
US5951623A (en) * 1996-08-06 1999-09-14 Reynar; Jeffrey C. Lempel- Ziv data compression technique utilizing a dictionary pre-filled with frequent letter combinations, words and/or phrases
US5797008A (en) * 1996-08-09 1998-08-18 Digital Equipment Corporation Memory storing an integrated index of database records
US6112208A (en) * 1997-08-25 2000-08-29 Fujitsu Limited Data compressing method and apparatus to generate bit maps in accordance with extracted data symbols
CN100535889C (zh) 1997-10-21 2009-09-02 富士通株式会社 文件处理方法和数据处理装置
US6438556B1 (en) * 1998-12-11 2002-08-20 International Business Machines Corporation Method and system for compressing data which allows access to data without full uncompression
US6574627B1 (en) * 1999-02-24 2003-06-03 Francesco Bergadano Method and apparatus for the verification of server access logs and statistics
US6349372B1 (en) * 1999-05-19 2002-02-19 International Business Machines Corporation Virtual uncompressed cache for compressed main memory
US6879988B2 (en) * 2000-03-09 2005-04-12 Pkware System and method for manipulating and managing computer archive files

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011027989A2 (en) * 2009-09-04 2011-03-10 Estsoft Corp. Method and apparatus for compressing and decompressing block unit data
WO2011027989A3 (en) * 2009-09-04 2011-06-30 Estsoft Corp. Method and apparatus for compressing and decompressing block unit data
KR101074010B1 (ko) * 2009-09-04 2011-10-17 (주)이스트소프트 블록 단위 데이터 압축 및 복원 방법 및 그 장치
US8593312B2 (en) 2009-09-04 2013-11-26 Estsoft Corp. Method and apparatus for compressing and decompressing block unit data

Also Published As

Publication number Publication date
EP1211601A1 (en) 2002-06-05
WO2001013237A1 (fr) 2001-02-22
AU771959B2 (en) 2004-04-08
CN1367896A (zh) 2002-09-04
CN1167014C (zh) 2004-09-15
AU5197799A (en) 2001-03-13
US7016908B2 (en) 2006-03-21
CA2387653A1 (en) 2001-02-22
US20020078062A1 (en) 2002-06-20
CA2387653C (en) 2006-11-14
KR20020020814A (ko) 2002-03-15
EP1211601A4 (en) 2004-03-10

Similar Documents

Publication Publication Date Title
KR100597513B1 (ko) 파일 처리 방법, 데이터 처리 장치 및 기억 매체
JP3178475B2 (ja) データ処理装置
US7072889B2 (en) Document retrieval using index of reduced size
EP0293161B1 (en) Character processing system with spelling check function
US20060020645A1 (en) Information processing apparatus and recording medium
US5566329A (en) System and method for mutation of selected assignment operations on large data objects
JPH07325801A (ja) マルチメディア編集およびデータ回復の方法および装置
JPH08255155A (ja) 全文登録語検索装置および方法
JP3770919B2 (ja) ファイル処理方法、データ処理装置及び記憶媒体
JP2000305822A (ja) データベース管理装置,データベースレコード抽出装置,データベース管理方法及びデータベースレコード抽出方法
JP3236152B2 (ja) ファイル圧縮処理装置
JPH11259515A (ja) 類似文書検索装置、類似文書検索方法、および類似文書検索のためのプログラムが記録された記録媒体
JP4116434B2 (ja) 計算ユニットにおけるテキスト処理方法及び計算ユニット
JP2002092017A (ja) 概念辞書拡張方法、装置、および概念辞書拡張プログラムを記録した記録媒体
JP2002049512A (ja) ファイル圧縮処理装置
JP3504002B2 (ja) ノード・リンク自動生成方法
JPH08190571A (ja) 文書検索方法
JPH1069409A (ja) 可換記憶媒体及び制御方法及び計算機システム
JPH1166076A (ja) データ派生装置及び方法、並びに、データ派生プログラムを格納した記憶媒体
JP2002007411A (ja) 情報検索方法及びその実施装置並びにその処理プログラムを記録した記録媒体
JPH1097542A (ja) 全文検索装置及び全文検索方法
JPH08272814A (ja) 文字列検索装置
JP2001109768A (ja) データベースの索引創成装置
JPH0391077A (ja) キーワード索引生成方式
JP2000276490A (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: 20110527

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee