JP6476618B2 - 伸長方法、伸長プログラムおよび伸長装置 - Google Patents
伸長方法、伸長プログラムおよび伸長装置 Download PDFInfo
- Publication number
- JP6476618B2 JP6476618B2 JP2014140059A JP2014140059A JP6476618B2 JP 6476618 B2 JP6476618 B2 JP 6476618B2 JP 2014140059 A JP2014140059 A JP 2014140059A JP 2014140059 A JP2014140059 A JP 2014140059A JP 6476618 B2 JP6476618 B2 JP 6476618B2
- Authority
- JP
- Japan
- Prior art keywords
- character
- data
- storage area
- code
- decompression
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
- H03M7/3086—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing a sliding window, e.g. LZ77
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/42—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
- H03M7/425—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory for the decoding process only
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6005—Decoder aspects
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
図2A〜図2Fは、LZ77系を利用した伸長処理の一例を示す図である。図2Aに示すように、記憶領域A1、A2、および、B1、B2が、それぞれメモリ内に確保される。記憶領域A1とA2は、スライド窓に対応し、例えば、符号化部と参照部と呼ばれる。記憶領域B1とB2は、例えば、リードバッファとライトバッファと呼ばれる。また、ポインタPB1、PB2、PA2が、それぞれメモリ内に設定される。ファイルF1内のコンテンツ部分の圧縮データは、記憶領域B1にリードされる。リードバッファB1には、「十一才から十二才まで」という処理対象の文字列について、UTF−8における文字コードをLZ系圧縮した圧縮データが含まれる。なお、リードバッファB1に含まれる「△△△」は、「才から」という文字列の圧縮データであるとする。
図3Aおよび図3Bは、実施例に係る伸長変換処理を示す図である。図3Aに示すように、伸長変換処理は、圧縮データ毎に、参照部を用いて圧縮データを伸長し、伸長した伸長データを中間伸長部に蓄積する。伸長変換処理は、中間伸長部に蓄積した伸長データの先頭バイトに基づいて文字長を取得する。そして、伸長変換処理は、中間伸長部の蓄積された伸長データが文字長以上となった場合に、文字変換部を用いて中間伸長部の先頭から文字長分の伸長データの文字コードを変換し、変換データを生成する。なお、圧縮データを伸長した結果の伸長データは、部分データの一例である。
図4A〜図4Lは、実施例に係る伸長変換処理の一例を示す図である。図4Aに示すように、記憶領域A1〜A4、B1、B2が、それぞれメモリ内に確保される。また、ポインタPB1、PB2、PA2が、それぞれメモリ内に設定される。なお、記憶領域A1、A2、B1、B2、およびポインタPB1、PB2、PA2は、図1Bに示す伸長処理と同一の構成である。記憶領域A3は、例えば、中間伸長部と呼ばれる。記憶領域A4は、例えば、文字変換部と呼ばれる。ファイルF1内のコンテンツ部分の圧縮データは、記憶領域B1にリードされる。リードバッファB1には、「十一才から十二才まで」という処理対象の文字列について、UTF−8におけるコードをLZ系圧縮した圧縮データが含まれる。なお、リードバッファB1に含まれる「△△△」は、「才から」という文字列の圧縮データであるとする。また、圧縮データは、前述した最長一致データの探索により得られる形式のデータであるとする。
次に、図5を参照して、LZ777系を利用した参考例に係る伸長変換処理を実行する伸長装置の機能構成について説明する。図5は、伸長装置の機能構成の第1の例を示す図である。図5に示すように、伸長装置100は、制御部110と記憶部120とを有する。
次に、図6を参照して、実施例に係る伸長変換処理を実行する伸長装置の機能構成について説明する。図6は、伸長装置の機能構成の第2の例を示す図である。図6に示すように、伸長装置1は、制御部10と記憶部20とを有する。
次に、図7を参照して、文字コード変換テーブルのデータ構造について説明する。図7は、文字コード変換テーブル21のデータ構造の一例を示す図である。図7に示すように、文字コード変換テーブル21は、UTF−8の文字コード21aとシフトJISの文字コード21bとを対応付けて記憶する。UTF−8の文字コード21aは、文字コード系がUTF−8である場合の1文字に対応する文字コードのデータ列である。シフトJISの文字コード21bは、文字コード系がシフトJISである場合の1文字に対応する文字コードのデータ列である。一例として、文字が「十」である場合、UTF−8の文字コード21aとして「E2BC98h」、シフトJISの文字コード21bとして「8F5Ch」と記憶している。なお、図7の例では、文字コード変換テーブル21は、UTF−8の文字コードとシフトJISの文字コードとの対応付けとしたが、これに限定されず、異なる文字コード系の対応付けであれば良い。
次に、図8を参照して、伸長変換処理の手順を説明する。図8は、伸長変換処理のフローチャートを示す図である。
上記実施例によれば、伸長装置1は、圧縮された符号列を文字の区切りを認識しないで伸長する場合に、符号列内の符号を伸長して得られたデータ列を中間伸長部に蓄積する。そして、伸長装置1は、中間伸長部に蓄積されたデータ列に第1の文字コードの文字を認識すると、認識した文字のデータ列を第2の文字コードのデータ列に変換する。かかる構成によれば、伸長装置1は、圧縮された符号列を文字の区切りを認識しないで伸長するが、伸長して得られたデータ列のうち文字と認識されたデータ列を文字コード変換するので、伸長処理に用いられる記憶領域の無駄をなくすことができるとともに、処理時間を短縮できる。
以下、上述の実施形態における変形例の一部を説明する。下記の変形例のみでなく、本発明の本旨を逸脱しない範囲の設計変更は適宜行われうる。
図9は、伸長装置のハードウェア構成を示す図である。図9が示すように、コンピュータ500は、各種演算処理を実行するCPU501と、ユーザからのデータ入力を受け付ける入力装置502と、モニタ503とを有する。また、コンピュータ500は、記憶媒体からプログラムなどを読み取る媒体読取装置504と、他の装置と接続するためのインターフェース装置505と、他の装置と無線により接続するための無線通信装置506とを有する。また、コンピュータ500は、各種情報を一時記憶するRAM(Random Access Memory)507と、ハードディスク装置508とを有する。また、各装置501〜508は、バス509に接続される。
10,110 制御部
11,111 ファイルリード部
12,112 圧縮符号判定部
13,113 1文字伸長部
14,114 最長一致文字列伸長部
15,115 参照部更新部
16 中間伸長部更新部
17 文字コード変換部
18,116 ライトバッファ更新部
19,118 ファイルライト部
20,120 記憶部
117 文字切り出し変換部
21 文字コード変換テーブル
22 対応関係テーブル
Claims (6)
- コンピュータが、
第1の文字コードのデータを最長一致探索により圧縮した符号列に含まれる符号を、スライド窓を用いて最長一致となる特定の固まりのバイト列を示す部分データに伸長し、伸長した部分データを記憶領域に蓄積し、
前記符号を伸長したタイミングで、該伸長された部分データであって前記記憶領域に蓄積された部分データに対し、前記第1の文字コードの情報に基づいて、文字区切りを検出したかどうかを判定し、
前記記憶領域に蓄積された部分データに前記文字区切りを検出したと判定された場合に、該検出された文字区切りで区切られた単位で、前記第1の文字コードと第2の文字コードとを対応づけた情報に基づいて、該伸長された部分データの少なくとも一部を、前記第2の文字コードのデータに変換する
処理を実行することを特徴とする伸長方法。 - 前記判定する処理は、文字の先頭バイトの文字コードと文字の文字コードの長さを示す文字長との対応関係に基づいて、前記記憶領域に蓄積された部分データの先頭バイトの文字コードに対応する文字長を取得し、前記記憶領域に蓄積された部分データの長さが、取得された文字長以上であるか否かを判定することで前記部分データに前記文字区切りを検出したかどうかを判定し、
前記変換する処理は、前記判定する処理によって前記記憶領域に蓄積された部分データの長さが、取得された文字長以上であると判定された場合に、前記部分データに前記文字区切りを検出したと判定し、前記記憶領域に蓄積された部分データの先頭から前記文字長分のデータを前記第2の文字コードのデータに変換する
処理を実行することを特徴とする請求項1に記載の伸長方法。 - 前記変換する処理は、前記記憶領域に蓄積された部分データの先頭から前記文字長分のデータを前記第2の文字コードのデータに変換するとともに、前記文字長分のデータを削除する方向にシフトする
処理を実行することを特徴とする請求項2に記載の伸長方法。 - 前記変換する処理は、文字毎に変換元の文字コードのデータと変換先の文字コードのデータとを対応付けた変換情報であって、変換元の文字コードおよび変換先の文字コードを組とした複数の変換情報から、変換元の文字コードおよび変換先の文字コードに応じた変換情報を選択し、選択した変換情報を用いて、前記記憶領域に蓄積された部分データの先頭から前記文字長分のデータを変換先の文字コードのデータに変換する
処理を実行することを特徴とする請求項2に記載の伸長方法。 - 第1の文字コードのデータを最長一致探索により圧縮した符号列に含まれる符号を、スライド窓を用いて最長一致となる特定の固まりのバイト列を示す部分データに伸長し、伸長した部分データを記憶領域に蓄積する伸長部と、
前記符号を伸長したタイミングで、前記伸長部によって伸長された部分データであって前記記憶領域に蓄積された部分データに対し、前記第1の文字コードの情報に基づいて、文字区切りを検出したかどうかを判定する検出部と、
前記検出部によって前記記憶領域に蓄積された部分データに前記文字区切りを検出したと判定された場合に、該検出された文字区切りで区切られた単位で、前記第1の文字コードと第2の文字コードとを対応付けた情報に基づいて、前記伸長された部分データの少なくとも一部を、前記第2の文字コードのデータに変換する変換部と、
を有することを特徴とする伸長装置。 - コンピュータに、
第1の文字コードのデータを最長一致探索により圧縮した符号列に含まれる符号を、スライド窓を用いて最長一致となる特定の固まりのバイト列を示す部分データに伸長し、伸長した部分データを記憶領域に蓄積し、
前記符号を伸長したタイミングで、該伸長された部分データであって前記記憶領域に蓄積された部分データに対し、前記第1の文字コードの情報に基づいて、文字区切りを検出したかどうかを判定し、
前記記憶領域に蓄積された部分データに前記文字区切りを検出したと判定された場合に、該検出された文字区切りで区切られた単位で、前記第1の文字コードと第2の文字コードとを対応づけた情報に基づいて、該伸長された部分データの少なくとも一部を、前記第2の文字コードのデータに変換する
処理を実行させることを特徴とする伸長プログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014140059A JP6476618B2 (ja) | 2014-07-07 | 2014-07-07 | 伸長方法、伸長プログラムおよび伸長装置 |
US14/751,578 US9515677B2 (en) | 2014-07-07 | 2015-06-26 | Decoding method, decoding apparatus, and computer-readable recording medium |
CN201510367308.4A CN105282554B (zh) | 2014-07-07 | 2015-06-29 | 解码方法及解码装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014140059A JP6476618B2 (ja) | 2014-07-07 | 2014-07-07 | 伸長方法、伸長プログラムおよび伸長装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016019113A JP2016019113A (ja) | 2016-02-01 |
JP6476618B2 true JP6476618B2 (ja) | 2019-03-06 |
Family
ID=55017777
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014140059A Expired - Fee Related JP6476618B2 (ja) | 2014-07-07 | 2014-07-07 | 伸長方法、伸長プログラムおよび伸長装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9515677B2 (ja) |
JP (1) | JP6476618B2 (ja) |
CN (1) | CN105282554B (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110035287B (zh) | 2018-01-12 | 2023-05-09 | 富士通株式会社 | 对统一转换单元模式进行分组标识的方法、装置和电子设备 |
CN114330332B (zh) * | 2021-12-28 | 2024-07-30 | 中国农业银行股份有限公司 | 表单数据的处理方法、装置、电子设备及存储介质 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5448474A (en) * | 1993-03-03 | 1995-09-05 | International Business Machines Corporation | Method for isolation of Chinese words from connected Chinese text |
JPH07239772A (ja) * | 1994-02-25 | 1995-09-12 | Fuji Xerox Co Ltd | 文字コード変換装置 |
DE69524999T2 (de) * | 1994-08-01 | 2002-07-18 | Opentv, Inc. | Verfahren zum Komprimieren und Dekomprimieren von Dateien |
JP3305191B2 (ja) * | 1996-03-19 | 2002-07-22 | 富士通株式会社 | 文書管理装置及びデータ圧縮方法及びデータ復元方法 |
AUPQ849500A0 (en) * | 2000-06-30 | 2000-07-27 | Canon Kabushiki Kaisha | Hash compact xml parser |
JP3832807B2 (ja) | 2001-06-28 | 2006-10-11 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データ処理方法及びその手法を用いたエンコーダ、デコーダ並びにxmlパーサ |
GB0213687D0 (en) * | 2002-06-14 | 2002-07-24 | Ibm | Multi-byte lempel-ziv 1 (LZ1) decompression |
JP4072691B2 (ja) * | 2004-07-15 | 2008-04-09 | ソニー株式会社 | 文字情報変換装置および文字情報変換方法 |
JP4446102B2 (ja) * | 2006-04-12 | 2010-04-07 | 株式会社エクサ | データ圧縮/復元システム、データ圧縮装置、データ復元装置、及びプログラム |
FR2926378B1 (fr) * | 2008-01-14 | 2013-07-05 | Canon Kk | Procede et dispositif de traitement pour l'encodage d'un document de donnees hierarchisees |
US8429196B2 (en) * | 2008-06-06 | 2013-04-23 | Oracle International Corporation | Fast extraction of scalar values from binary encoded XML |
JP2013214832A (ja) * | 2012-03-30 | 2013-10-17 | Fujitsu Ltd | 圧縮及び伸長システム、圧縮装置、伸長装置、圧縮及び伸長方法、圧縮プログラム及び伸長プログラム |
-
2014
- 2014-07-07 JP JP2014140059A patent/JP6476618B2/ja not_active Expired - Fee Related
-
2015
- 2015-06-26 US US14/751,578 patent/US9515677B2/en not_active Expired - Fee Related
- 2015-06-29 CN CN201510367308.4A patent/CN105282554B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
US20160006455A1 (en) | 2016-01-07 |
CN105282554B (zh) | 2019-01-15 |
JP2016019113A (ja) | 2016-02-01 |
US9515677B2 (en) | 2016-12-06 |
CN105282554A (zh) | 2016-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6550765B2 (ja) | 文字データ変換プログラム、文字データ変換装置および文字データ変換方法 | |
US9509334B2 (en) | Non-transitory computer-readable recording medium, compression method, decompression method, compression device and decompression device | |
JP6319740B2 (ja) | データ圧縮を高速化する方法、並びに、データ圧縮を高速化するためのコンピュータ、及びそのコンピュータ・プログラム | |
JP6531398B2 (ja) | プログラム | |
US9496891B2 (en) | Compression device, compression method, decompression device, decompression method, and computer-readable recording medium | |
US9509333B2 (en) | Compression device, compression method, decompression device, decompression method, information processing system, and recording medium | |
US9479195B2 (en) | Non-transitory computer-readable recording medium, compression method, decompression method, compression device, and decompression device | |
US20190052284A1 (en) | Data compression apparatus, data decompression apparatus, data compression program, data decompression program, data compression method, and data decompression method | |
JP6476618B2 (ja) | 伸長方法、伸長プログラムおよび伸長装置 | |
CN106354746A (zh) | 搜索方法和搜索设备 | |
US20150248432A1 (en) | Method and system | |
WO2014030189A1 (ja) | 圧縮プログラム、圧縮方法、圧縮装置、伸張プログラム、伸張方法、伸張装置およびデータ転送システム | |
JP6135788B2 (ja) | 圧縮プログラム、圧縮方法、圧縮装置、伸張プログラム、伸張方法、伸張装置およびデータ転送システム | |
JP5939259B2 (ja) | 照合制御プログラム、照合制御装置および照合制御方法 | |
JP2016134808A (ja) | データ圧縮プログラム、データ復元プログラム、データ圧縮装置、及びデータ復元装置 | |
JP4600342B2 (ja) | データ圧縮プログラム | |
JP7006462B2 (ja) | データ生成プログラム、データ生成方法および情報処理装置 | |
US20160210304A1 (en) | Computer-readable recording medium, information processing apparatus, and conversion process method | |
JP2011164908A (ja) | ファイル名管理方法及びファイル名管理装置 | |
KR20070054055A (ko) | 데이터 처리 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170406 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180209 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180306 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180425 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20180911 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181204 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20181211 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20190108 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190121 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6476618 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |