JP5001458B1 - Recording medium on which a two-part processing compression program is recorded - Google Patents

Recording medium on which a two-part processing compression program is recorded Download PDF

Info

Publication number
JP5001458B1
JP5001458B1 JP2011284551A JP2011284551A JP5001458B1 JP 5001458 B1 JP5001458 B1 JP 5001458B1 JP 2011284551 A JP2011284551 A JP 2011284551A JP 2011284551 A JP2011284551 A JP 2011284551A JP 5001458 B1 JP5001458 B1 JP 5001458B1
Authority
JP
Japan
Prior art keywords
array
data
assigned
compressed
file
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
Application number
JP2011284551A
Other languages
Japanese (ja)
Other versions
JP2013135344A (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 JP2011284551A priority Critical patent/JP5001458B1/en
Application granted granted Critical
Publication of JP5001458B1 publication Critical patent/JP5001458B1/en
Publication of JP2013135344A publication Critical patent/JP2013135344A/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

【課題】
可逆圧縮技術に於いて、圧縮率を向上させる事を目的とする。非可逆圧縮を適用している圧縮ファイルの場合は、非可逆圧縮の利用量を減らす事と、従来方式の非可逆圧縮よりも、圧縮率を向上させる事を目的とする。
【解決手段】
圧縮対象ファイルを読み込んだ配列のデーターの位置を示す番号が奇数の場合と偶数の場合とで二つに分けた配列を作成し、偶数の位置のデーターだけの配列にランレングス圧縮してファイルを圧縮する事で高圧縮率を得る方法を提供する。
【選択図】 図1
【Task】
The purpose is to improve the compression rate in lossless compression technology. In the case of a compressed file to which irreversible compression is applied, the purpose is to reduce the amount of use of irreversible compression and to improve the compression rate compared to the conventional irreversible compression.
[Solution]
Create a two-part array for when the number indicating the position of the data in the array from which the file to be compressed is read is odd and even, and run-length-compress the file into an array containing only the data at the even position. Provides a method to obtain a high compression ratio by compressing.
[Selection] Figure 1

Description

本発明は、コンピューターで使われているファイルの圧縮技術に関する The present invention relates to a file compression technique used in a computer.

圧縮技術に関する文献としては、〔非特許文献1〕がある。
奥村晴彦・山崎敏 著 LHAとZIP 圧縮アルゴリズム×プログラミング入門 ソフトバンク パブリッシング株式会社 2003/12/6 初版 亀山渉・金子格・渡辺裕 著 そこが知りたい最新技術 オーディオ・ビデオ圧縮入門 株式会社 インプレスR&D 2007/4/1 初版第1刷発行
There is [Non-Patent Document 1] as a document relating to compression technology.
Okumura Haruhiko and Yamazaki Satoshi LHA and ZIP Compression Algorithm x Introduction to Programming Softbank Publishing Co., Ltd. 2003/12/6 First Edition Kameyama Wataru, Kaneko Masaru, Watanabe Hiroshi The latest technology that I want to know there Introduction to audio and video compression Impress R & D Co., Ltd.

この〔非特許文献1〕は、LZHとZIP形式の圧縮技術について詳しく記述しているが、本発明の2分割処理圧縮プログラムを記録した記録媒体の様に、圧縮を行うファイルを2分割する処理工程は記載されていない。また、〔非特許文献2〕は、非加逆圧縮技術を網羅した書籍ですが、基本的な圧縮技術も記載されている文献である。しかしながら、記述された基本的な圧縮技術の中にも、非加逆圧縮技術の記載部分にも本発明の2分割処理圧縮プログラムを記録した記録媒体の様に、圧縮を行うファイルを2分割する処理工程は記載されていない。 This [Non-Patent Document 1] describes in detail the compression technology in the LZH and ZIP formats, but the process of dividing the file to be compressed into two, like a recording medium recording the two-part processing compression program of the present invention. The process is not described. [Non-Patent Document 2] is a book that covers non-reciprocal compression techniques, but also describes basic compression techniques. However, the file to be compressed is divided into two as in the recording medium on which the two-division processing compression program of the present invention is recorded both in the basic compression technique described and in the description part of the non-reciprocal compression technique. Processing steps are not described.

可逆圧縮技術及び非可逆圧縮技術ともに、圧縮率を向上させる事を目的とする。非可逆圧縮技術の場合は、非可逆圧縮技術の利用量を軽減させる事で、高鮮明な画像と高音性の音を提供する事を目的とする。 Both lossless compression technology and lossy compression technology are aimed at improving the compression rate. In the case of the irreversible compression technology, an object is to provide a clear image and a high-sounding sound by reducing the amount of use of the irreversible compression technology.

本発明は、2分割処理圧縮プログラムを記録した記録媒体という題名であるが、2分割処理圧縮プログラムを記録したコンピューターが読み取る事ができる記録媒体の事である。また、コンピューターで普通に使われているテキスト文字(日本国では、ASCIIコード2文字で1文字を表す全角文字とASCIIコード1文字で表す半角文字のこと)を、テキスト文字と略して記述する事とする。また、テキスト文字の事を文字コードという事がある。また、コンピューターで普通に使われている機械語を機械語と略して記述する事とする。コンピューターで普通に使われている機械語とは、コンピューターに搭載されているCPUと呼ばれる中央演算処理装置が処理を予定している命令文の事を言う。また、機械語と呼ばれる数値には、BCD数値と呼ばれる4bitの数値があるが、この4bitのBCD数値を元に拡張されて作られたEBCDICと一般的に呼ばれる文字コードがある。このEBCDICと一般的に呼ばれる文字コードの事をこの文献でもEBCDICと呼ぶ。 The present invention is titled as a recording medium on which a two-part processing compression program is recorded, but is a recording medium that can be read by a computer on which a two-part processing compression program is recorded. In addition, text characters commonly used in computers (in Japan, two-byte characters representing one character with two ASCII codes and one-byte characters representing one ASCII code) are abbreviated as text characters. And A text character is sometimes called a character code. In addition, the machine language normally used in computers is abbreviated as machine language. Machine language commonly used in computers refers to statements that are scheduled to be processed by a central processing unit called a CPU installed in computers. In addition, numerical values called machine languages include 4-bit numerical values called BCD numerical values, and there is a character code generally called EBCDIC that is created based on the 4-bit BCD numerical values. The character code generally called EBCDIC is also called EBCDIC in this document.

また、配列とは、データーを1個から複数のデーターを代入する事が出来るものを言い、配列のサイズとは、配列に代入する事が出来るデーターの数の事を言う。配列のサイズの事を配列サイズと言ったりする事がある。配列に代入したデーターの事を配列要素または、配列の要素と呼び、配列要素または、配列の要素の合計数を配列要素数または、配列の要素数と呼ぶ事とする。また、配列のサイズの事を配列サイズと呼ぶ事がある。配列の型とは、配列に代入する事ができる1個のデーターが使用するコンピューターに在る本体メモリーで使用するbit数または、byte数を意味するものである。この型は、配列を作成する場合に指定するものであり、作成する配列のデーターを代入する事ができる領域の全てに適用されるものである。前述の「領域の全てに適用されるものである」という意味は、型の違うデーターを配列のデーターを代入する事ができる領域に混在させることが出来ないという事である。変数にも配列と同じく型が存在し、変数の型の意味は、配列の型の場合と全く同じである。また、配列のインデックスとは、配列の添字または、配列番号などとも呼ばれる事があるものである。以降、配列のインデックスを配列の添字または、配列番号と呼ぶ事がある。配列を作成する時点で配列のインデックスを何番から作成するという具合に配列のインデックスを指定せずに配列を作成すると通常、配列のデーターを代入できる領域の最初の位置に付けられるインデックスは0番となり順次1づつ番号が増えた数値が配列のデーターを代入できる各々の配列の位置にコンパイラによって自動的に付けられるものである。つまり、言い換えると配列のインデックスとは、配列に代入されるデーターの位置を示す番号の事を言うという事になる。これによって、プログラマーは、配列のインデックスを指定する事で簡便に配列に代入されたデーターの位置を指定する事ができる様にしているものである。インデックスを取得する場合、数値として取得される。本発明では、1byteの型で全ての変数や配列を作成する事とする。そして、1byteの型で作成された変数や配列にインデックスを代入する事とした。また、配列のデーターを代入する事ができる領域の最初の位置という表現を配列の最初の位置という様に略した表現を行う場合がある。また、配列のデーターを代入する事ができる領域の最後の位置とい表現を配列の最後の位置という様に略した表現を行う場合がある。 An array refers to a data that can be assigned from one to a plurality of data, and an array size refers to the number of data that can be assigned to the array. The size of the array is sometimes called the array size. Data assigned to an array is called an array element or array element, and the total number of array elements or array elements is called an array element number or array element number. In addition, the size of the array is sometimes called the array size. The type of array means the number of bits or bytes used in the main memory in the computer that uses one piece of data that can be assigned to the array. This type is specified when an array is created, and is applied to all areas where data of the created array can be assigned. The above-mentioned meaning “applies to all of the areas” means that data of different types cannot be mixed in an area where array data can be assigned. Variables have the same type as arrays, and the meaning of variable types is exactly the same as for array types. An array index may also be called an array subscript or an array number. Hereinafter, an array index may be referred to as an array index or array number. When creating an array without specifying the array index, such as creating the array index from the time of creating the array, the index that is assigned to the first position of the area where the array data can be assigned is usually number 0 The numerical value with the number incremented by 1 is automatically assigned by the compiler to each array position where array data can be substituted. In other words, the array index is a number indicating the position of data to be assigned to the array. This allows the programmer to easily specify the position of the data assigned to the array by specifying the array index. When acquiring an index, it is acquired as a numerical value. In the present invention, all variables and arrays are created with a 1-byte type. Then, we decided to assign an index to a variable or array created with a 1-byte type. In some cases, the expression of the first position of the area into which the array data can be substituted is abbreviated as the first position of the array. In some cases, the last position of the area into which the array data can be substituted is abbreviated as the last position of the array.

バイナリー形式でファイルを読み込むという場合は、1byteづつASCIIコードとして配列に読み込む事を言い、テキスト形式でファイルを読み込むという場合は、テキスト文字一文字分づつ読み込む場合を言う。テキスト形式でファイルを読み込むという場合、半角文字は、1byteとなるが、通常、処理速度の関係上から半角文字の場合であっても、2byteづつ読み込むものである。従って、テキスト形式でファイルを読み込む場合は、2byteづつ読み込む事になる。以下に、配列の最初の位置から代入する度に代入する位置を一つづつずらして、一つづつデーターを配列に代入するという具合に一つづつという表現で説明している場合があるが、正確には、上記の様に、バイナリー形式でファイルを読み込んでいる場合は、1byteづつとし、テキスト形式でファイルを読み込んでいる場合は、2byteづつとする。また、ファイルを作成する時も形式指定がある。すなわち、バイナリー形式でファイルに記録して保存する場合とテキスト形式でファイルに記録して保存する場合である。バイナリー形式でファイルに記録して保存する場合に使う表現のデーター一つづつは、1byteづつとなる。テキスト形式でファイルに記録して保存する場合に使う表現のデーター一つづつは、2byteづつとなる。但し、配列や変数に4bitづつデーターを代入している場合もある。この配列や変数に4bitづつデーターを代入している場合は、データーの一つづつ分とは、4bitづつとなる。 When reading a file in binary format, it means reading into the array as ASCII code one byte at a time. When reading a file in text format, it means reading one text character at a time. When reading a file in text format, the single-byte character is 1 byte, but normally, even if it is a single-byte character due to processing speed, it is read in 2 byte units. Therefore, when reading a file in text format, it will be read 2 bytes at a time. In the following, there are cases in which the position to be assigned is shifted one by one each time assignment is made from the first position of the array, and the data is assigned to the array one by one, etc. To be exact, when reading a file in binary format as described above, it is 1 byte, and when reading a file in text format, it is 2 bytes. There is also a format specification when creating a file. That is, when recording and saving in a file in binary format and when recording and saving in a file in text format. Each expression data used when recording and saving in a binary format file is 1 byte. Each expression data used when recording and saving to a file in text format is 2 bytes. However, there are cases where 4 bits of data are assigned to arrays and variables. When 4 bits of data is assigned to this array or variable, each data is 4 bits.

日本語のかたかなで「アイウエオ」という文字列が書かれたファイルを想定してみた場合、このファイルの場合は、普通の圧縮工程では、一切圧縮ができないファイルであるとなってしまう。ランレングス圧縮とは、「アアアアア」と同じ文字が続いている場合「ア」が5文字と表現する事で短く表現する。この短く表現するというのが圧縮方法なのである。また、辞書圧縮というものがある。既に出現した文字列が二回目に出現した場合に何文字前の何文字と同じとする事で短く表現する方法である。つまり、「公園で遊ぼうよ」という言葉が二回出現するファイルの場合、二回目に出現した時に、例えば10文字前の7文字と同じとするのである。記録内容としては、10と7という数値2byteで表現できるというものである。従って、「アイウエオ」という文字列が記録されたファイルに対しては辞書圧縮も出来ない事になる。全く同じ文字列が無いからである。スライド辞書圧縮とは、辞書圧縮の新型であり、基本的には、辞書圧縮と同じである。この様に従来からの圧縮技術では全く圧縮出来ない文字列があるのである。しかし、以下の様に文字を文字コードの特性を利用して2分割すると圧縮する事が可能になる。日本語をコンピューター上で、テキストにすると、文字コードでファイルに記述されるようになっている。日本語のかたかなで「アイウエオ」という文字列を文字コードにすると、以下の様になる。
131
65
131
67
131
69
131
71
131
73
必ず、131という文字コードが互い違いに記述されるのである。従って、131をまとめてしまえば、単純計算で50%の圧縮率が得られるという事になるのである。和文の文章の場合は、殆どの場合がこの様な文字コードの組み合わせになりので、その為、かなりの高圧縮率を期待できるのである。そこで、圧縮前の処理として1文字目だけのデーターを代入した配列と2文字目だけのデーターを代入した配列を作成して、その配列に代入されたデーターが1文字目だけにまとめられた方の配列に対してランレングス圧縮を行う事でファイルを圧縮するプログラムを提供する事で圧縮率の向上を図ったプログラムを提供する事とした。本発明のASCIIコードを使用した圧縮を行う圧縮工程をテキストレベルの圧縮と呼ぶ事がある。また、本発明の技術で圧縮したファイルを復号する復号工程をテスキトレベルの復号と呼ぶ事がある。
Assuming a Japanese kana file in which the character string “Aiueo” is written, this file cannot be compressed at all in the normal compression process. Run-length compression is expressed in a short way by expressing “A” as 5 characters when the same characters as “AAAAAA” continue. This short expression is a compression method. There is also dictionary compression. This is a method of expressing a character string that has already appeared for the second time by making the character string the same as how many characters before. In other words, in the case of a file in which the word “Let's play in the park” appears twice, it will be the same as, for example, seven characters ten characters before when it appears twice. The recorded contents can be expressed by numerical values 2 bytes of 10 and 7. Therefore, dictionary compression cannot be performed for a file in which the character string “Aiweo” is recorded. This is because there is no exact character string. Slide dictionary compression is a new type of dictionary compression and is basically the same as dictionary compression. In this way, there are character strings that cannot be compressed at all by conventional compression techniques. However, if the character is divided into two parts using the character code characteristics as described below, the character can be compressed. When Japanese is converted to text on a computer, it is written in a file with character codes. If the character string “aiueo” is used as a character code in Japanese kana, it will be as follows.
131
65
131
67
131
69
131
71
131
73
The character code 131 is always written alternately. Therefore, if 131 is put together, a compression rate of 50% can be obtained by simple calculation. In the case of Japanese sentences, in most cases, such a combination of character codes is used, so that a considerably high compression rate can be expected. Therefore, as a pre-compression process, create an array with the first character data assigned and an array with the second character data assigned, and the data assigned to the array is compiled into only the first character. We decided to provide a program that improved the compression rate by providing a program that compresses files by performing run-length compression on this array. The compression process for performing compression using the ASCII code of the present invention is sometimes called text level compression. In addition, a decoding process for decoding a file compressed by the technique of the present invention may be referred to as tesquite level decoding.

ファイルをバイナリー形式で読み込んだデーター全てを代入できるサイズで配列を作成して、この配列をA配列と呼ぶ事とする。ファイルをバイナリー形式で1byteづつ読み込んで作成したA配列の最初の位置から代入する度に1byte分づつ代入する位置をずらして、1byteづつデーターをA配列に代入する。二つの配列を作成して、各々の配列を第一配列と第二配列と呼ぶ事とする。第一配列に1文字目(A配列の偶数のインデックスに代入されたデーター)だけのデーターを第一配列の最初の位置から代入する度に1byteづつ代入する位置をずらして、第一配列に代入し、第二配列に2文字目(A配列の奇数のインデックスに代入されたデーター)だけのデーターを第二配列の最初の位置から代入する度に1byteづつ代入する位置をずらして、第二配列に代入する事で同じ数値を並べた配列が第一配列と第二配列のどちらかに作成する事ができる事になる。 An array is created with a size that allows substitution of all the data read in the binary format, and this array is called an A array. Each time you assign from the first position of the A array that was created by reading the file in 1 byte in binary format, the position to be assigned is shifted by 1 byte, and the data is assigned to the A array by 1 byte. Two arrays are created, and each array is called a first array and a second array. Each time the data of the first character (data assigned to the even index of the A array) is assigned to the first array from the first position of the first array, the position to be assigned is shifted by 1 byte and assigned to the first array. Then, every time the data of only the second character (data assigned to the odd index of the A array) is assigned to the second array from the first position of the second array, the position where the 1 byte is substituted is shifted, and the second array By substituting into, an array with the same numerical values can be created in either the first array or the second array.

ASCIIコードを使用していない他のコンピューターでも本発明の2分割処理圧縮プログラムを記録した記録媒体と同じ事が出来ると考えられる。第一の方法として、一定のbit数で1文字の数値を表し、2文字の数値で1文字の文字を表す方式のコードを使用している場合、どちらか一方の1文字の数値を基準に分類する事ができる様な文字コードの場合(ASCIIコード2文字で1文字を表す文字と酷似している場合という意味である)は、全く同じように1文字目(配列の偶数のインデックスに代入されたデーター)と2文字目(配列の奇数のインデックスに代入されたデーター)とで二つに分割する事ができると考えられる。第二の方法として、ASCIIコードを使用していない他のコンピューターでも、分割する為の分割用特殊文字コードを作成する事で本発明のソフトウェアと同じ事を行う事ができると考えている。この場合は、分割する為の分割用特殊文字コードをASCIIコードと同じ様なものにし、ASCIIコードを使用していない他のコンピューターの文字コードを分割する為の分割用特殊文字コードに変換する事で実現する事が可能になるはずである。ASCIIコードを使用していない他のコンピューターで本発明のテキストレベルの圧縮を行う、第一の方法と第二の方法の両方とも本発明の2分割処理圧縮プログラムを記録した記録媒体である事を明言する。また、第二の方法と同じ様な方法であるが、特殊な文字コードを作成する事などで暗号化を行うという方法を使う事によって、ASCIIコードを使用しているコンピューターとASCIIコードを使用していないコンピューターの両方で高効率な圧縮が可能になる方法が考えられると思われるが、この場合も本発明の2分割処理圧縮プログラムを記録した記録媒体であると明言する。特殊な文字コードを作成する事などで暗号化を行うという方法で高効率な圧縮を行うとは、どういうものかを説明する。これを説明するに当たって、2進数という数値を9bitで表現できる数値の全て(2進数で000000000から111111111までの数値、10進数で0から511までの数値)を使用した文字コードを作成した場合で説明する事とする。作成した文字コードを二つ組み合わせる事で、左側部分の9bit(偶数部分)と右側部分の9bit(奇数部分)のそれぞれで、同じコードが連続して出現する確率を上昇させるという方法が考えられるのである。ASCIIコードでは、8bitで表現できる2進数の全てを使用している。(2進数で00000000から11111111までの数値、10進数で0から255までの数値)従って、8bitの2進数の組み合わせで暗号化する為の文字コードを表現できないので、説明では、9bitの2進数を全て使った暗号化を使用した。しかし、圧縮ファイルを作るという意味では、多少、問題が残るかもしれない。なぜなら、ASCIIコードは、二文字分で16bitであるが、9bitを一文字として二文字分だと、18bitになる為、元の文字コードのbit数よりも増えてしまうからである。研究の余地が残っている課題であるが、それでも、偶数部分と奇数部分に同じ文字コードが連続する確率は、二倍に増えるのである。研究の余地が残っている課題を記述すると以下の様な内容である。16bitで表現できる2進数は、10進数で0から65535である。16bitで表現できる数値を一文字として二文字を使用して組み合わせで一文字を表現するという事は、日本語で書かれたテキストファイルを圧縮するという場合に限って言うならば、意味が無い。何故なら、65535文字も日本語では使用していないから、偶数部分か奇数部分の片一方にだけランレングス圧縮をする事が出するだけのものになってしまい圧縮率が最大でも50%止まりになるからである。圧縮率が50%だと、元々ASCIIコードは、一文字8bitで二文字使用して一文字を表した場合、16bitであるから、16bitで一文字として二文字を使用して一文字を表す文字コードだと、元々のASCIIコードで使用しているbit数にしかならないから、圧縮失敗となってしまうのである。だから、意味が無いのである。しかし、ランレングス圧縮を行わなかったもう片一方には、辞書圧縮などの方法で圧縮する事は可能である。但し、中国語などの様な文字数の多い言語の場合は、意味があるかもしれない。16bitで意味が無いのであるならば、15bitで表現できる2進数の場合は、どうであろうかと考えてしまう。15bitで表現できる2進数は、10進数で0から32767までの数値である。14bitで表現できる2進数は、10進数で0から16383までの数値である。13bitで表現できる2進数は、10進数で0から8191までの数値である。12bitで表現できる2進数は、10進数で0から4095までの数値である。11bitで表現できる2進数は、10進数で0から2047までの数値である。10bitで表現できる2進数は、10進数で0から1023までの数値である。これらの一文字を表すbit数を変化させた文字コードの内で、どの文字コードが最高の圧縮率を生み出すのかという問題と、頻繁に使われる文字の数に応じて文字コードを調整して使用するとか、圧縮対象のファイルに出現する文字種全ての数に対して最高の圧縮率が得られる様に文字コードを調整する方法等いろいろ考えられる。これらのいろいろな方法で最高の圧縮率を得られる暗号化を行う文字コード何bitの2進数の組み合わせなのかという問題である。これらの全ての方法で研究余地のある暗号化の為の文字コード表の作成であるが、これらの暗号化する為の文字コード表を使用した圧縮方法とその圧縮方法で作成した圧縮ファイルを復元する復号方法の両方の方法とも本発明の2分割処理圧縮プログラムを記録した記録媒体であると明言する。また、EBCDICに似た特殊な4bitの2進数を2個組み合わせる事でASCIIコードの8bitで出来た一文字分を表す数値がある。この特殊な4bitの2進数を使用しても同じ様な処理を行う事が可能であると考えられる。この特殊な4bitの2進数を使用して同じ様な処理を行っても本発明の2分割処理圧縮プログラムを記録した記録媒体である事を明言する。段落〔0011〕に前述のEBCDICに似た特殊な4bitの2進数を二つ組み合わせてASCIIコードを表す数値を表記する。この数値は、MicroSoft株式会社のVisual Stadio2005 C#というコンパイラを使用した場合、このVisual
Stadio2005 C#というコンパイラには、BitArrayと呼ばれるプログラムが用意されていて、このBitArrayプログラムを使用すると1bitづつデーターを処理する事ができる様になっている。つまり、言い換えると、データーを1bitづつ処理する場合に使用するプログラムがBitArrayと呼ばれているプログラムなのである。このBitArrayというプログラムをASCIIコードで使う場合、まず、ASCIIコードを1byteづつ配列に代入しする。必ず1byteづつ配列に代入しておかなければBitArrayプログラムを使用する事ができない。配列に代入したASCIIコードの数値をBitArrayプログラムで処理して1bitづつ取得すると、trueとfalseという特殊な形式で取得される。Visual
Stadio2005 C#の使用説明書によると、得られたtrueは、ONで、falseは、0FFとされている。取得されたtrueとfalseで表現されたデーターを4bit分づつ0と1という数値で表現した2進数の形式の変換させると、段落〔0011〕の特殊な4bitの数値が取得されるものである。取得された特殊な4bitの数値は、完全に逆順の2進数であるが、正順の2進数の組み合わせでも本発明の2分割処理圧縮プログラムを記録した記録媒体である事を明言する。また、段落〔0011〕の二つの特殊な4bitの数値は、スペースで区切っているが、スペースで区切った左側の4bitと右側の4bitを入れ替えたものを使用したものでも本発明の2分割処理圧縮プログラムを記録した記録媒体である事を明言する。
It is considered that other computers that do not use the ASCII code can do the same as the recording medium on which the two-division processing compression program of the present invention is recorded. As a first method, when using a code that represents a single character with a fixed number of bits and a single character with a two-character value, either one character is used as a reference. In the case of a character code that can be classified (meaning that it is very similar to a character that represents one character with two ASCII codes), the first character (assigned to the even index of the array) in exactly the same way Data) and the second character (data assigned to the odd index of the array) can be divided into two. As a second method, it is considered that other computers that do not use the ASCII code can do the same as the software of the present invention by creating a special character code for division for division. In this case, the special character code for division for dividing should be the same as the ASCII code, and converted to the special character code for division for dividing the character code of other computers that do not use the ASCII code. This should be possible. The text level compression of the present invention is performed on another computer that does not use the ASCII code. Both the first method and the second method are recording media on which the two-division processing compression program of the present invention is recorded. I make a statement. Also, it is the same method as the second method, but by using a method that performs encryption by creating a special character code, etc., the computer using the ASCII code and the ASCII code are used. A method that enables high-efficiency compression on both of the computers that have not been considered is conceivable. In this case as well, it is clearly stated that the recording medium is recorded with the two-division processing compression program of the present invention. Explain what it means to perform high-efficiency compression, such as by creating a special character code. To explain this, it is explained when a character code using all numeric values (binary numbers from 000000000 to 111111111, decimal numbers from 0 to 511) that can represent binary numbers in 9 bits is explained. I will do it. By combining two created character codes, there is a way to increase the probability that the same code will appear continuously in each of 9 bits (even part) on the left side and 9 bits (odd part) on the right side. is there. ASCII code uses all binary numbers that can be expressed in 8 bits. (Numeric value from 00000000 to 11111111 in binary number, numeric value from 0 to 255 in decimal number) Therefore, the character code for encryption can not be expressed by the combination of 8-bit binary number. All used encryption was used. However, in the sense of creating a compressed file, some problems may remain. This is because the ASCII code is 16 bits for 2 characters, but if it is 2 characters with 9 bits as one character, it will be 18 bits, which increases the number of bits of the original character code. Although there is still room for research, the probability that the same character code continues in the even and odd parts will still double. The following is a list of issues that still have room for research. Binary numbers that can be expressed in 16 bits are decimal numbers from 0 to 65535. Representing one character using a combination of two characters that can be expressed in 16 bits is meaningless if it is limited to compressing a text file written in Japanese. This is because 65535 characters are not used in Japanese, so it is only possible to perform run-length compression on either the even part or the odd part, and the compression rate stops at 50% at the maximum. Because it becomes. If the compression rate is 50%, the original ASCII code is 16 bits when using 2 characters per character and representing one character, so if it is a character code representing one character using 2 characters as one character in 16 bits, Since it is only the number of bits used in the original ASCII code, compression fails. So there is no meaning. However, the other side that has not been run-length compressed can be compressed by a method such as dictionary compression. However, in the case of languages with a large number of characters such as Chinese, it may make sense. If it is meaningless in 16 bits, I will wonder if it is a binary number that can be expressed in 15 bits. A binary number that can be expressed in 15 bits is a decimal number from 0 to 32767. A binary number that can be expressed in 14 bits is a decimal number from 0 to 16383. A binary number that can be expressed in 13 bits is a decimal number from 0 to 8191. A binary number that can be expressed in 12 bits is a decimal number from 0 to 4095. The binary number that can be expressed by 11 bits is a decimal number from 0 to 2047. The binary number that can be expressed in 10 bits is a decimal number from 0 to 1023. Among the character codes that change the number of bits representing one character, the character code is adjusted according to the problem of which character code produces the highest compression rate and the number of frequently used characters. Various methods such as adjusting the character code so that the highest compression rate can be obtained with respect to the number of all character types appearing in the file to be compressed can be considered. It is a question of how many bits of a binary code are combined with a character code for encryption which can obtain the highest compression rate by these various methods. The creation of character code tables for encryption with room for research by all these methods, but the compression method using these character code tables for encryption and the compressed files created by that compression method are restored. Both of the decoding methods are clearly described as recording media on which the two-division processing compression program of the present invention is recorded. In addition, there is a numerical value that represents one character made up of 8 bits of ASCII code by combining two special 4-bit binary numbers similar to EBCDIC. It is considered that the same processing can be performed even if this special 4bit binary number is used. It is clearly stated that even if similar processing is performed using this special 4-bit binary number, the recording medium is recorded with the two-division processing compression program of the present invention. Paragraph [0011] describes a numerical value representing an ASCII code by combining two special 4-bit binary numbers similar to the above-mentioned EBCDIC. This number is calculated by using Visual Stadio2005 C # compiler from MicroSoft Corporation.
The compiler called Stadio2005 C # has a program called BitArray that can process data bit by bit using this BitArray program. In other words, the program used when processing data bit by bit is a program called BitArray. When using this BitArray program with ASCII code, first assign the ASCII code to the array one byte at a time. The BitArray program cannot be used unless it is assigned to the array by 1 byte. If the numerical value of the ASCII code assigned to the array is processed by the BitArray program and acquired one bit at a time, it is acquired in a special format of true and false. Visual
According to the instruction manual of Stadio2005 C #, the obtained true is ON, and false is 0FF. When the acquired data expressed as true and false is converted into a binary number format expressed by numerical values of 0 and 1 for 4 bits, a special 4-bit numerical value in paragraph [0011] is acquired. The acquired special 4-bit numerical value is a completely reverse binary number, but it is clearly stated that the combination of the normal binary numbers is a recording medium on which the two-division process compression program of the present invention is recorded. In addition, the two special 4-bit values in paragraph [0011] are separated by a space. However, even if the left 4 bits and the right 4 bits separated by a space are used, the two-part processing compression of the present invention is used. It is stated that the program is a recording medium on which the program is recorded.

0000 0000 は、ASCIIコードの0である。
1000 0000 は、ASCIIコードの1である。
0100 0000 は、ASCIIコードの2である。
1100 0000 は、ASCIIコードの3である。
0010 0000 は、ASCIIコードの4である。
1010 0000 は、ASCIIコードの5である。
0110 0000 は、ASCIIコードの6である。
1110 0000 は、ASCIIコードの7である。
0001 0000 は、ASCIIコードの8である。
1001 0000 は、ASCIIコードの9である。
0101 0000 は、ASCIIコードの10である。
1101 0000 は、ASCIIコードの11である。
0011 0000 は、ASCIIコードの12である。
1011 0000 は、ASCIIコードの13である。
0111 0000 は、ASCIIコードの14である。
1111 0000 は、ASCIIコードの15である。
0000 1000 は、ASCIIコードの16である。
1000 1000 は、ASCIIコードの17である。
0100 1000 は、ASCIIコードの18である。
1100 1000 は、ASCIIコードの19である。
0010 1000 は、ASCIIコードの20である。
1010 1000 は、ASCIIコードの21である。
0110 1000 は、ASCIIコードの22である。
1110 1000 は、ASCIIコードの23である。
0001 1000 は、ASCIIコードの24である。
1001 1000 は、ASCIIコードの25である。
0101 1000 は、ASCIIコードの26である。
1101 1000 は、ASCIIコードの27である。
0011 1000 は、ASCIIコードの28である。
1011 1000 は、ASCIIコードの29である。
0111 1000 は、ASCIIコードの30である。
1111 1000 は、ASCIIコードの31である。
0000 0100 は、ASCIIコードの32である。
1000 0100 は、ASCIIコードの33である。
0100 0100 は、ASCIIコードの34である。
1100 0100 は、ASCIIコードの35である。
0010 0100 は、ASCIIコードの36である。
1010 0100 は、ASCIIコードの37である。
0110 0100 は、ASCIIコードの38である。
1110 0100 は、ASCIIコードの39である。
0001 0100 は、ASCIIコードの40である。
1001 0100 は、ASCIIコードの41である。
0101 0100 は、ASCIIコードの42である。
1101 0100 は、ASCIIコードの43である。
0011 0100 は、ASCIIコードの44である。
1011 0100 は、ASCIIコードの45である。
0111 0100 は、ASCIIコードの46である。
1111 0100 は、ASCIIコードの47である。
0000 1100 は、ASCIIコードの48である。
1000 1100 は、ASCIIコードの49である。
0100 1100 は、ASCIIコードの50である。
1100 1100 は、ASCIIコードの51である。
0010 1100 は、ASCIIコードの52である。
1010 1100 は、ASCIIコードの53である。
0110 1100 は、ASCIIコードの54である。
1110 1100 は、ASCIIコードの55である。
0001 1100 は、ASCIIコードの56である。
1001 1100 は、ASCIIコードの57である。
0101 1100 は、ASCIIコードの58である。
1101 1100 は、ASCIIコードの59である。
0011 1100 は、ASCIIコードの60である。
1011 1100 は、ASCIIコードの61である。
0111 1100 は、ASCIIコードの62である。
1111 1100 は、ASCIIコードの63である。
0000 0010 は、ASCIIコードの64である。
1000 0010 は、ASCIIコードの65である。
0100 0010 は、ASCIIコードの66である。
1100 0010 は、ASCIIコードの67である。
0010 0010 は、ASCIIコードの68である。
1010 0010 は、ASCIIコードの69である。
0110 0010 は、ASCIIコードの70である。
1110 0010 は、ASCIIコードの71である。
0001 0010 は、ASCIIコードの72である。
1001 0010 は、ASCIIコードの73である。
0101 0010 は、ASCIIコードの74である。
1101 0010 は、ASCIIコードの75である。
0011 0010 は、ASCIIコードの76である。
1011 0010 は、ASCIIコードの77である。
0111 0010 は、ASCIIコードの78である。
1111 0010 は、ASCIIコードの79である。
0000 1010 は、ASCIIコードの80である。
1000 1010 は、ASCIIコードの81である。
0100 1010 は、ASCIIコードの82である。
1100 1010 は、ASCIIコードの83である。
0010 1010 は、ASCIIコードの84である。
1010 1010 は、ASCIIコードの85である。
0110 1010 は、ASCIIコードの86である。
1110 1010 は、ASCIIコードの87である。
0001 1010 は、ASCIIコードの88である。
1001 1010 は、ASCIIコードの89である。
0101 1010 は、ASCIIコードの90である。
1101 1010 は、ASCIIコードの91である。
0011 1010 は、ASCIIコードの92である。
1011 1010 は、ASCIIコードの93である。
0111 1010 は、ASCIIコードの94である。
1111 1010 は、ASCIIコードの95である。
0000 0110 は、ASCIIコードの96である。
1000 0110 は、ASCIIコードの97である。
0100 0110 は、ASCIIコードの98である。
1100 0110 は、ASCIIコードの99である。
0010 0110 は、ASCIIコードの100である。
1010 0110 は、ASCIIコードの101である。
0110 0110 は、ASCIIコードの102である。
1110 0110 は、ASCIIコードの103である。
0001 0110 は、ASCIIコードの104である。
1001 0110 は、ASCIIコードの105である。
0101 0110 は、ASCIIコードの106である。
1101 0110 は、ASCIIコードの107である。
0011 0110 は、ASCIIコードの108である。
1011 0110 は、ASCIIコードの109である。
0111 0110 は、ASCIIコードの110である。
1111 0110 は、ASCIIコードの111である。
0000 1110 は、ASCIIコードの112である。
1000 1110 は、ASCIIコードの113である。
0100 1110 は、ASCIIコードの114である。
1100 1110 は、ASCIIコードの115である。
0010 1110 は、ASCIIコードの116である。
1010 1110 は、ASCIIコードの117である。
0110 1110 は、ASCIIコードの118である。
1110 1110 は、ASCIIコードの119である。
0001 1110 は、ASCIIコードの120である。
1001 1110 は、ASCIIコードの121である。
0101 1110 は、ASCIIコードの122である。
1101 1110 は、ASCIIコードの123である。
0011 1110 は、ASCIIコードの124である。
1011 1110 は、ASCIIコードの125である。
0111 1110 は、ASCIIコードの126である。
1111 1110 は、ASCIIコードの127である。
0000 0001 は、ASCIIコードの128である。
1000 0001 は、ASCIIコードの129である。
0100 0001 は、ASCIIコードの130である。
1100 0001 は、ASCIIコードの131である。
0010 0001 は、ASCIIコードの132である。
1010 0001 は、ASCIIコードの133である。
0110 0001 は、ASCIIコードの134である。
1110 0001 は、ASCIIコードの135である。
0001 0001 は、ASCIIコードの136である。
1001 0001 は、ASCIIコードの137である。
0101 0001 は、ASCIIコードの138である。
1101 0001 は、ASCIIコードの139である。
0011 0001 は、ASCIIコードの140である。
1011 0001 は、ASCIIコードの141である。
0111 0001 は、ASCIIコードの142である。
1111 0001 は、ASCIIコードの143である。
0000 1001 は、ASCIIコードの144である。
1000 1001 は、ASCIIコードの145である。
0100 1001 は、ASCIIコードの146である。
1100 1001 は、ASCIIコードの147である。
0010 1001 は、ASCIIコードの148である。
1010 1001 は、ASCIIコードの149である。
0110 1001 は、ASCIIコードの150である。
1110 1001 は、ASCIIコードの151である。
0001 1001 は、ASCIIコードの152である。
1001 1001 は、ASCIIコードの153である。
0101 1001 は、ASCIIコードの154である。
1101 1001 は、ASCIIコードの155である。
0011 1001 は、ASCIIコードの156である。
1011 1001 は、ASCIIコードの157である。
0111 1001 は、ASCIIコードの158である。
1111 1001 は、ASCIIコードの159である。
0000 0101 は、ASCIIコードの160である。
1000 0101 は、ASCIIコードの161である。
0100 0101 は、ASCIIコードの162である。
1100 0101 は、ASCIIコードの163である。
0010 0101 は、ASCIIコードの164である。
1010 0101 は、ASCIIコードの165である。
0110 0101 は、ASCIIコードの166である。
1110 0101 は、ASCIIコードの167である。
0001 0101 は、ASCIIコードの168である。
1001 0101 は、ASCIIコードの169である。
0101 0101 は、ASCIIコードの170である。
1101 0101 は、ASCIIコードの171である。
0011 0101 は、ASCIIコードの172である。
1011 0101 は、ASCIIコードの173である。
0111 0101 は、ASCIIコードの174である。
1111 0101 は、ASCIIコードの175である。
0000 1101 は、ASCIIコードの176である。
1000 1101 は、ASCIIコードの177である。
0100 1101 は、ASCIIコードの178である。
1100 1101 は、ASCIIコードの179である。
0010 1101 は、ASCIIコードの180である。
1010 1101 は、ASCIIコードの181である。
0110 1101 は、ASCIIコードの182である。
1110 1101 は、ASCIIコードの183である。
0001 1101 は、ASCIIコードの184である。
1001 1101 は、ASCIIコードの185である。
0101 1101 は、ASCIIコードの186である。
1101 1101 は、ASCIIコードの187である。
0011 1101 は、ASCIIコードの188である。
1011 1101 は、ASCIIコードの189である。
0111 1101 は、ASCIIコードの190である。
1111 1101 は、ASCIIコードの191である。
0000 0011 は、ASCIIコードの192である。
1000 0011 は、ASCIIコードの193である。
0100 0011 は、ASCIIコードの194である。
1100 0011 は、ASCIIコードの195である。
0010 0011 は、ASCIIコードの196である。
1010 0011 は、ASCIIコードの197である。
0110 0011 は、ASCIIコードの198である。
1110 0011 は、ASCIIコードの199である。
0001 0011 は、ASCIIコードの200である。
1001 0011 は、ASCIIコードの201である。
0101 0011 は、ASCIIコードの202である。
1101 0011 は、ASCIIコードの203である。
0011 0011 は、ASCIIコードの204である。
1011 0011 は、ASCIIコードの205である。
0111 0011 は、ASCIIコードの206である。
1111 0011 は、ASCIIコードの207である。
0000 1011 は、ASCIIコードの208である。
1000 1011 は、ASCIIコードの209である。
0100 1011 は、ASCIIコードの210である。
1100 1011 は、ASCIIコードの211である。
0010 1011 は、ASCIIコードの212である。
1010 1011 は、ASCIIコードの213である。
0110 1011 は、ASCIIコードの214である。
1110 1011 は、ASCIIコードの215である。
0001 1011 は、ASCIIコードの216である。
1001 1011 は、ASCIIコードの217である。
0101 1011 は、ASCIIコードの218である。
1101 1011 は、ASCIIコードの219である。
0011 1011 は、ASCIIコードの220である。
1011 1011 は、ASCIIコードの221である。
0111 1011 は、ASCIIコードの222である。
1111 1011 は、ASCIIコードの223である。
0000 0111 は、ASCIIコードの224である。
1000 0111 は、ASCIIコードの225である。
0100 0111 は、ASCIIコードの226である。
1100 0111 は、ASCIIコードの227である。
0010 0111 は、ASCIIコードの228である。
1010 0111 は、ASCIIコードの229である。
0110 0111 は、ASCIIコードの230である。
1110 0111 は、ASCIIコードの231である。
0001 0111 は、ASCIIコードの232である。
1001 0111 は、ASCIIコードの233である。
0101 0111 は、ASCIIコードの234である。
1101 0111 は、ASCIIコードの235である。
0011 0111 は、ASCIIコードの236である。
1011 0111 は、ASCIIコードの237である。
0111 0111 は、ASCIIコードの238である。
1111 0111 は、ASCIIコードの239である。
0000 1111 は、ASCIIコードの240である。
1000 1111 は、ASCIIコードの241である。
0100 1111 は、ASCIIコードの242である。
1100 1111 は、ASCIIコードの243である。
0010 1111 は、ASCIIコードの244である。
1010 1111 は、ASCIIコードの245である。
0110 1111 は、ASCIIコードの246である。
1110 1111 は、ASCIIコードの247である。
0001 1111 は、ASCIIコードの248である。
1001 1111 は、ASCIIコードの249である。
0101 1111 は、ASCIIコードの250である。
1101 1111 は、ASCIIコードの251である。
0011 1111 は、ASCIIコードの252である。
1011 1111 は、ASCIIコードの253である。
0111 1111 は、ASCIIコードの254である。
1111 1111 は、ASCIIコードの255である。
0000 0000 is ASCII code 0.
1000 0000 is the ASCII code 1.
0100 0000 is the ASCII code 2.
1100 0000 is the ASCII code 3.
0010 0000 is ASCII code 4.
1010 0000 is the ASCII code 5.
0110 0000 is 6 of the ASCII code.
1110 0000 is the ASCII code 7.
0001 0000 is ASCII code 8.
1001 0000 is the ASCII code 9.
0101 0000 is the ASCII code 10.
1101 0000 is the ASCII code 11.
0011 0000 is the ASCII code 12.
1011 0000 is the ASCII code 13.
0111 0000 is 14 of the ASCII code.
1111 0000 is 15 of the ASCII code.
0000 1000 is the ASCII code 16.
1000 1000 is the ASCII code 17.
0100 1000 is 18 of the ASCII code.
1100 1000 is 19 of the ASCII code.
0010 1000 is the ASCII code 20.
1010 1000 is the ASCII code 21.
0110 1000 is the ASCII code 22.
1110 1000 is the ASCII code 23.
0001 1000 is 24 of the ASCII code.
1001 1000 is 25 of the ASCII code.
0101 1000 is ASCII code 26.
1101 1000 is ASCII code 27.
0011 1000 is ASCII code 28.
1011 1000 is the ASCII code 29.
0111 1000 is the ASCII code 30.
1111 1000 is the ASCII code 31.
0000 0100 is the ASCII code 32.
1000 0100 is the ASCII code 33.
0100 0100 is ASCII code 34.
1100 0100 is the ASCII code 35.
0010 0100 is 36 of the ASCII code.
1010 0100 is the ASCII code 37.
0110 0100 is ASCII code 38.
1110 0100 is the ASCII code 39.
0001 0100 is the ASCII code 40.
1001 0100 is the ASCII code 41.
0101 0100 is ASCII code 42.
1101 0100 is the ASCII code 43.
0011 0100 is 44 of the ASCII code.
1011 0100 is 45 of the ASCII code.
0111 0100 is 46 of the ASCII code.
1111 0100 is the ASCII code 47.
0000 1100 is 48 of the ASCII code.
1000 1100 is the ASCII code 49.
0100 1100 is the ASCII code 50.
1100 1100 is the ASCII code 51.
[0010] 1100 is 52 of the ASCII code.
1010 1100 is the ASCII code 53.
0110 1100 is ASCII code 54.
1110 1100 is the ASCII code 55.
0001 1100 is ASCII code 56.
1001 1100 is 57 of the ASCII code.
0101 1100 is ASCII code 58.
1101 1100 is the ASCII code 59.
[0011] 1100 is 60 of the ASCII code.
1011 1100 is 61 of the ASCII code.
0111 1100 is the ASCII code 62.
1111 1100 is the ASCII code 63.
0000 0010 is the ASCII code 64.
1000 0010 is the ASCII code 65.
0100 0010 is ASCII code 66.
1100 0010 is 67 of the ASCII code.
0010 is ASCII code 68.
1010 0010 is 69 of the ASCII code.
[0110] The ASCII code is 70.
1110 0010 is ASCII code 71.
0001 0010 is 72 of the ASCII code.
1001 0010 is 73 of the ASCII code.
0101 0010 is ASCII code 74.
1101 0010 is 75 of the ASCII code.
0010 0010 is ASCII code 76.
1011 0010 is 77 of the ASCII code.
0111 0010 is 78 of the ASCII code.
1111 0010 is ASCII code 79.
0000 1010 is the ASCII code 80.
1000 1010 is the ASCII code 81.
0100 1010 is the ASCII code 82.
1100 1010 is the ASCII code 83.
[0010] 1010 is ASCII code 84.
1010 1010 is the ASCII code 85.
0110 1010 is ASCII code 86.
1110 1010 is the ASCII code 87.
0001 1010 is the ASCII code 88.
1001 1010 is the ASCII code 89.
0101 1010 is the ASCII code 90.
1101 1010 is the ASCII code 91.
[0011] 1010 is the ASCII code 92.
1011 1010 is the ASCII code 93.
0111 1010 is the ASCII code 94.
1111 1010 is the ASCII code 95.
0000 0110 is 96 of the ASCII code.
1000 0110 is the ASCII code 97.
0100 0110 is ASCII code 98.
1100 0110 is the ASCII code 99.
0010 0110 is the ASCII code 100.
1010 0110 is 101 of the ASCII code.
0110 0110 is 102 of the ASCII code.
1110 0110 is 103 of the ASCII code.
0001 0110 is the ASCII code 104.
1001 0110 is 105 of the ASCII code.
0101 0110 is 106 of the ASCII code.
1101 0110 is 107 of the ASCII code.
0011 0110 is 108 of the ASCII code.
1011 0110 is 109 of the ASCII code.
0111 0110 is the ASCII code 110.
1111 0110 is the ASCII code 111.
0000 1110 is the ASCII code 112.
1000 1110 is the ASCII code 113.
0100 1110 is the ASCII code 114.
1100 1110 is 115 of the ASCII code.
[0010] 1110 is ASCII code 116.
1010 1110 is the ASCII code 117.
[0110] 1110 is the ASCII code 118.
1110 1110 is the ASCII code 119.
0001 1110 is the ASCII code 120.
1001 1110 is the ASCII code 121.
0101 1110 is the ASCII code 122.
1101 1110 is the ASCII code 123.
[0011] 1110 is the ASCII code 124.
1011 1110 is the ASCII code 125.
0111 1110 is the ASCII code 126.
1111 1110 is the ASCII code 127.
0000 0001 is 128 of the ASCII code.
1000 0001 is ASCII code 129.
0100 0001 is the ASCII code 130.
1100 0001 is the ASCII code 131.
[0010] 0001 is the ASCII code 132.
1010 0001 is the ASCII code 133.
[0110] 0001 is the ASCII code 134.
1110 0001 is 135 of the ASCII code.
0001 0001 is the ASCII code 136.
1001 0001 is the ASCII code 137.
0101 0001 is the ASCII code 138.
1101 0001 is ASCII code 139.
0001 0001 is the ASCII code 140.
1011 0001 is the ASCII code 141.
0111 0001 is the ASCII code 142.
1111 0001 is the ASCII code 143.
0000 1001 is the ASCII code 144.
1000 1001 is the ASCII code 145.
0100 1001 is ASCII code 146.
1100 1001 is the ASCII code 147.
[0010] 1001 is the ASCII code 148.
1010 1001 is ASCII code 149.
0110 1001 is the ASCII code 150.
1110 1001 is the ASCII code 151.
0001 1001 is the ASCII code 152.
1001 1001 is the ASCII code 153.
0101 1001 is ASCII code 154.
1101 1001 is the ASCII code 155.
[0011] 1001 is the ASCII code 156.
1011 1001 is the ASCII code 157.
0111 1001 is ASCII code 158.
1111 1001 is the ASCII code 159.
0000 0101 is the ASCII code 160.
1000 0101 is 161 of the ASCII code.
0100 0101 is the ASCII code 162.
1100 0101 is 163 of the ASCII code.
[0010] 0101 is the ASCII code 164.
1010 0101 is the ASCII code 165.
0110 0101 is the ASCII code 166.
1110 0101 is the ASCII code 167.
0001 0101 is the ASCII code 168.
1001 0101 is ASCII code 169.
0101 0101 is 170 of the ASCII code.
1101 0101 is 171 of the ASCII code.
[0011] 0101 is ASCII code 172.
1011 0101 is ASCII code 173.
0111 0101 is ASCII code 174.
1111 0101 is ASCII code 175.
0000 1101 is ASCII code 176.
1000 1101 is ASCII code 177.
0100 1101 is ASCII code 178.
1100 1101 is ASCII code 179.
[0010] 1101 is the ASCII code 180.
1010 1101 is ASCII code 181.
0110 1101 is ASCII code 182.
1110 1101 is the ASCII code 183.
0001 1101 is the ASCII code 184.
1001 1101 is the ASCII code 185.
0101 1101 is the ASCII code 186.
1101 1101 is the ASCII code 187.
[0011] 1101 is the ASCII code 188.
1011 1101 is ASCII code 189.
0111 1101 is 190 of the ASCII code.
1111 1101 is ASCII code 191.
0000 0011 is the ASCII code 192.
1000 0011 is the ASCII code 193.
0100 0011 is the ASCII code 194.
1100 0011 is the ASCII code 195.
0011 0011 is ASCII code 196.
1010 0011 is ASCII code 197.
0110 0011 is ASCII code 198.
1110 0011 is the ASCII code 199.
0001 0011 is the ASCII code 200.
1001 0011 is 201 of the ASCII code.
“0101” is the ASCII code 202.
1101 0011 is 203 of the ASCII code.
[0011] 0011 is the ASCII code 204.
1011 0011 is 205 of the ASCII code.
0111 0011 is 206 of the ASCII code.
1111 0011 is the ASCII code 207.
0000 1011 is the ASCII code 208.
1000 1011 is the ASCII code 209.
0100 1011 is 210 of the ASCII code.
1100 1011 is 211 of the ASCII code.
[0010] 1011 is the ASCII code 212.
1010 1011 is the ASCII code 213.
0110 1011 is the ASCII code 214.
1110 1011 is ASCII code 215.
0001 1011 is ASCII code 216.
1001 1011 is ASCII code 217.
0101 1011 is ASCII code 218.
1101 1011 is the ASCII code 219.
[0011] 1011 is the ASCII code 220.
1011 1011 is the ASCII code 221.
0111 1011 is the ASCII code 222.
1111 1011 is the ASCII code 223.
0000 0111 is ASCII code 224.
1000 0111 is the ASCII code 225.
0100 0111 is ASCII code 226.
1100 0111 is ASCII code 227.
0010 0111 is ASCII code 228.
1010 0111 is ASCII code 229.
0110 0111 is ASCII code 230.
1110 0111 is ASCII code 231.
0001 0111 is ASCII code 232;
1001 0111 is ASCII code 233.
0101 0111 is ASCII code 234.
1101 0111 is ASCII code 235.
0011 0111 is ASCII code 236.
1011 0111 is the ASCII code 237.
0111 0111 is ASCII code 238.
1111 0111 is ASCII code 239.
0000 1111 is the ASCII code 240.
1000 1111 is ASCII code 241.
0100 1111 is ASCII code 242.
1100 1111 is the ASCII code 243.
[0010] 1111 is ASCII code 244.
1010 1111 is ASCII code 245.
0110 1111 is ASCII code 246.
1110 1111 is the ASCII code 247.
0001 1111 is ASCII code 248.
1001 1111 is ASCII code 249.
0101 1111 is the ASCII code 250.
1101 1111 is ASCII code 251.
[0011] 1111 is ASCII code 252.
1011 1111 is the ASCII code 253.
0111 1111 is the ASCII code 254.
1111 1111 is the ASCII code 255.

本発明の2分割処理圧縮プログラムを記録した記録媒体は、二つの発明をひとつにまとめて出願したものである。第一の発明は、テキスト文字で書かれたファイルを圧縮する際、圧縮を行うファイルをバイナリー形式で1byteづつ読み込んで、読み込んだデーターを配列の最初の位置から代入する度に1byteづつ代入する位置をずらして、1byteづつ配列に代入する。圧縮を行うファイルのデーターを読み込ませた配列の位置を示すインデックスを奇数と偶数とで分割する。二つの配列を作成し、圧縮を行うファイルを読み込ませた配列の位置を示すインデックスが偶数の場合のデーターだけを集めた配列を作成し、これを第一配列と仮称する。圧縮を行うファイルを読み込ませた配列の位置を示すインデックスが奇数の場合のデーターだけを集めた配列を作成し、これを第二配列と仮称する。第一配列か第二配列のどちらか一方を基準として残して、残さなかった片方の配列にランレングス圧縮処理をして、ファイルを圧縮するプログラムである。実施例では、第一配列に代入されたデーターをランレングス圧縮した。第二の発明は、第一の発明の方法で圧縮したファイルを元に戻す復号工程処理を行うプログラムである。 The recording medium on which the two-division processing compression program of the present invention is recorded is an application for filing two inventions together. In the first invention, when compressing a file written in text characters, the file to be compressed is read 1 byte in binary format, and each time the read data is substituted from the first position of the array, the position to substitute 1 byte Shift and assign to the array one byte at a time. The index indicating the position of the array from which the data of the file to be compressed is read is divided into an odd number and an even number. Two arrays are created, and an array is created by collecting only data when the index indicating the position of the array from which the file to be compressed is read is an even number, and this is tentatively referred to as a first array. An array in which only data when the index indicating the position of the array into which the file to be compressed is read is an odd number is collected is referred to as a second array. This is a program that compresses a file by performing a run-length compression process on one of the first array and the second array that is left unremained as a reference. In the example, data assigned to the first array was run-length compressed. The second invention is a program for performing a decoding process for restoring a file compressed by the method of the first invention.

実施例は、テキストレベルの圧縮の圧縮工程は、「アイウエオ」とテキスト文字で記録されたファイルをテストファイルとして使用している。このテストファイルの事を圧縮対象テストファイルと仮称する。図4の<圧縮対象テストファイルの内容を示した図>を参照。突然であるが、本発明は、この圧縮対象テストファイルというファイルだけを圧縮処理できる処理工程である。従って、圧縮工程でヘッダー部分にランレングス圧縮を行った部分を示す配列の位置を示すインデックスを取得して記録すべきだが記録していない、または、圧縮工程でヘッダー部分にランレングス圧縮を行っていない部分を示す配列の位置を示すインデックスを取得して記録すべきだが記録していない等の欠落した処理工程になっている。 In the embodiment, the compression process of the text level compression uses a file recorded with text characters “Aiweo” as a test file. This test file is temporarily referred to as a compression target test file. See <Figure showing contents of test file to be compressed> in FIG. Suddenly, the present invention is a processing step that can compress only the compression target test file. Therefore, an index indicating the position of the array indicating the portion that has been run-length compressed in the compression process should be acquired and recorded, but not recorded, or run-length compression is performed in the header process during the compression process. An index indicating the position of the array indicating a non-existing portion should be acquired and recorded, but the processing step is missing such as not recording.

実施例の圧縮工程のプログラムによる処理で圧縮対象テストファイルを使用して圧縮ファイルを作成するが、作成する圧縮ファイルに記録するデーターの内容と記録する順番を予め規則として決めておく事が必要である。この予め決めておく規則は、圧縮対象テストファイルを基に本発明の2分割処理圧縮プログラムを記録した記録媒体で作成した圧縮ファイルを圧縮する前の元の状態に戻す為の処理を行う時に必要となる規則である。以下に、本発明の圧縮工程で作成する圧縮ファイルに記録するデーターの内容と記録する順番を記述し、実施例で代入される数値を記述して説明する。作成された圧縮ファイルに記録される内容と記録する順番を定めた圧縮記録規則は、以下の通りである。圧縮ファイルの最初のデーターは、基準数を数値として1byte分で記録する事とするが、実施例で代入される数値は、「5」である。圧縮ファイルの二番目のデーターは、基準として残した文字列を代入する事とするが、実施例で、代入される文字コードは、「65,67,69,71,73」の5文字であるから、5byteとなる。圧縮ファイルの三番目のデーターは、何と言う文字コードを圧縮したかを1byte分で記録する事とするが、実施例では、文字コード「131」を代入する事になる。最後のデーターは、圧縮した文字コードが何文字連なっていたかという記録の文字数を1byte分で数値として記録するという事を規則とするが、実施例では、「131」が5個連なっていたので「5」という数値を代入する事になる。この作成する圧縮ファイルに記録するデーターの内容と記録する順番を予め決めておく規則の事を圧縮記録規則と仮称する。このような圧縮記録規則で圧縮ファイルを作成するので、圧縮対象テストファイルを使用して圧縮ファイルを作成した場合の作成した圧縮ファイルのサイズは、8byteとなる。圧縮対象テストファイルを使用して圧縮ファイルを作成した場合の作成した圧縮ファイルのサイズをもう少し説明する。基準データーとして残したデーター数の5に1を加算した数値に、ランレングス圧縮したデーターを記録した部分のデーターの数を加えた数が圧縮ファイルのサイズになる。ランレングス圧縮したデーターを記録した部分のデーターの数は、2となるので、この2を加えた数が圧縮ファイルのサイズとなる。ランレングス圧縮したデーターを記録した部分のデーターの数は2となるが、その配列に代入されたデーターの内訳は、何と言う文字コードを圧縮したかを記録する為の文字コードと同じ文字が何文字連なっていたかを記録する為の数値の二つである。本来のランレングス圧縮の場合は、元のファイルの何文字目から何と言う文字が何文字連なっていたという事を示す文字コードと数値を二つ圧縮ファイルに記録するが、圧縮対象テストファイルに限定して動作する発明なので元のファイルの何と言う文字が何文字連なっていたという記録だけを行うという規則にした。この記録は、圧縮ファイルの末尾に二つのデーターを順次記録するという規則にした。前述の圧縮記録規則を基に本発明の復号工程を行う事とする。 In the process of the compression process of the embodiment, a compressed file is created by using the compression target test file. However, it is necessary to determine in advance the contents of data to be recorded and the order of recording in the compressed file to be created. is there. This pre-determined rule is necessary when performing a process for restoring a compressed file created on a recording medium on which a two-part process compression program of the present invention is recorded based on a test target file to be compressed. Is the rule. The contents of the data to be recorded in the compressed file created in the compression process of the present invention and the order of recording will be described below, and the numerical values substituted in the embodiment will be described and described. The compression recording rule that defines the content to be recorded in the created compressed file and the recording order is as follows. The first data of the compressed file is recorded in 1 byte with the reference number as a numerical value, but the numerical value substituted in the embodiment is “5”. The second character of the compressed file is assigned the character string left as a reference. In the embodiment, the character code to be assigned is five characters “65, 67, 69, 71, 73”. To 5 bytes. The third data of the compressed file records what character code is compressed in 1 byte, but in the embodiment, the character code “131” is substituted. The last data rule is to record the number of characters of the compressed character code as a numerical value in 1 byte, but in the example, since “131” was 5 consecutive, The value “5” will be substituted. A rule that predetermines the content of data to be recorded in the created compressed file and the order in which the data is recorded is referred to as a compression recording rule. Since the compressed file is created with such a compression recording rule, the size of the created compressed file when the compressed file is created using the test file to be compressed is 8 bytes. The size of the created compressed file when creating a compressed file using the test file to be compressed will be explained a little more. The size of the compressed file is the number obtained by adding 1 to 5 of the number of data remaining as the reference data and the number of data in the portion where the run-length compressed data is recorded. Since the number of pieces of data in which the run-length compressed data is recorded is 2, the number obtained by adding 2 is the size of the compressed file. The number of data in the portion where the run-length compressed data is recorded is 2, but the breakdown of the data assigned to the array is what is the same character code as the character code for recording what character code is compressed. It is two of the numerical values to record whether it was a string of characters. In the case of the original run length compression, the character code and the numerical value indicating that the character from what number of what character in the original file is continuous are recorded in the compressed file, but it is limited to the test file to be compressed. Since the invention works, the rule is to only record how many characters in the original file are connected. This recording is based on the rule that two data are sequentially recorded at the end of the compressed file. The decoding process of the present invention is performed based on the above-described compression recording rule.

本発明の2分割処理圧縮プログラムを記録した記録媒体の技術で圧縮対象テストファイルを使用して圧縮ファイルを作成し、作成した圧縮ファイルを圧縮前の圧縮対象テストファイルの状態に戻す工程を復号工程と呼ぶ。復号工程でも、圧縮工程でヘッダー部分にランレングス圧縮を行った部分を示す配列の位置を示すインデックスを取得して記録すべきだが記録していない、または、圧縮工程でヘッダー部分にランレングス圧縮を行っていない部分を示す配列の位置を示すインデックスを取得して記録すべきだが記録していない等の欠落した処理工程になっている為、ヘッダー部分に本来記録されているはずのランレングス圧縮を行った部分を明確にする配列の位置を示すインデックスを読み込む処理工程がなく、読み込んだ配列の位置を示すインデックスによって処理を変更する工程も無い、または、ヘッダー部分に本来記録されているはずのランレングス圧縮を行っていない部分を明確にする配列の位置を示すインデックスを読み込む処理工程がなく、読み込んだ配列の位置を示すインデックスによって処理を変更する工程も無い等の欠落した処理工程になっている。 A decoding step of creating a compressed file using a compression target test file with the recording medium technology recording the two-division processing compression program of the present invention and returning the created compressed file to the state of the compression target test file before compression Call it. Even in the decoding process, an index indicating the position of the array indicating the part that has been run-length compressed in the compression process should be acquired and recorded, but not recorded, or run-length compression is applied to the header part in the compression process. The index indicating the position of the array indicating the part that is not performed should be acquired and recorded, but since it is a missing processing step such as not recording, run length compression that should be originally recorded in the header part is performed There is no processing step to read the index indicating the position of the array to clarify the performed part, there is no step to change the processing according to the index indicating the position of the read array, or the run that should have been recorded in the header part There is no processing step to read the index that indicates the position of the array to clarify the part that has not been length-compressed. Has become missing processing step, for example, no step of changing the processing by an index indicating the position of the elaborate array.

実施例で使用している圧縮対象テストファイルは全て全角文字で記録されたファイルである。半角文字が混じったファイルなど、その他の全てのファイルに対応した改良品も含めて、コンピューターで使用されている機械語でASCIIコードを表した場合の規則性を利用して圧縮対象配列を二つに分けた後、二つに分けた配列のどちらかの一方または、両方にランレングス圧縮や辞書圧縮するものや、この方法で圧縮したファイルを元に戻す復号工程の処理は、本発明の2分割処理圧縮プログラムを記録した記録媒体である事を明言する。 The compression target test files used in the examples are all files recorded in double-byte characters. Two sequences to be compressed using the regularity when ASCII codes are expressed in machine language used in computers, including improved products that support all other files, such as files with mixed single-byte characters. The process of the decoding process for restoring the file compressed by this method to run length compression or dictionary compression to one or both of the two divided arrays and the file compressed by this method is the 2 of the present invention. It is stated that this is a recording medium on which a divided processing compression program is recorded.

ランレングス圧縮や辞書圧縮は、圧縮工程も復号工程もどちらも、既にある技術であるから段落〔0012〕には、本発明は、圧縮するプログラムであり、圧縮したファイルを元に戻す復号工程処理を行うプログラムとしているが、基本的には本発明の2分割処理圧縮プログラムを記録した記録媒体の特許に含まれるものではないというのは当然の事である。もしも、この圧縮工程にランレングス圧縮の工程を含まないものであるとした場合は、ランレングス圧縮が出来ない文字列や辞書圧縮が出来ないファイルやランレングス圧縮と辞書圧縮の両方ができないファイルや辞書圧縮やランレングス圧縮が可能なファイルを圧縮する前に圧縮を行うファイルを第一配列と第二配列の二つに分割処理する事で高圧縮率の圧縮を可能にするソフトウェアであると言える。また、本発明の技術を使用して作成した圧縮ファイルを圧縮する前の圧縮を行うファイルに戻す工程、または、圧縮する前の圧縮を行うファイルをバイナリー形式で全て読み込んだデーターを配列の最初の位置から代入する度に1byte分づつ代入する位置をずらして、1byteづつ配列に代入した状態の配列に戻す復号工程は、第一配列と第二配列の二つに分割処理された配列を圧縮する前の圧縮を行うファイルをバイナリー形式で全て読み込んだデーターを配列の最初の位置から代入する度に1byte分づつ代入する位置をずらして、1byteづつ配列に代入した配列の状態に戻す工程、または、圧縮前の圧縮を行うファイルに戻す工程を行うプログラムであるという事ができるものである。 Since run-length compression and dictionary compression are already existing techniques in both the compression process and the decoding process, the paragraph [0012] shows that the present invention is a program to be compressed and a decoding process for restoring a compressed file to its original state. However, it is a matter of course that the program is basically not included in the patent of the recording medium on which the two-division processing compression program of the present invention is recorded. If this compression process does not include the run-length compression process, text that cannot be run-length compressed, files that cannot be dictionary compressed, files that cannot be run-length compressed and dictionary compressed, It can be said that it is software that enables compression with a high compression ratio by dividing the file to be compressed into two of the first array and the second array before compressing the file that can be dictionary compressed or run length compressed . In addition, the step of returning the compressed file created by using the technique of the present invention to the file to be compressed before compression, or the data read in the binary format before the file to be compressed is all first read in the array. Every time substitution is made from the position, the assignment position is shifted by 1 byte, and the decoding process to return to the array that has been assigned to the array by 1 byte compresses the array that has been divided into the first array and the second array. Shifting the position to be assigned by 1 byte each time the data that was previously read in binary format is read from the first position of the array and returning it to the state of the array assigned to the array by 1 byte, or It can be said that it is a program that performs a process of returning to a file to be compressed before compression.

可逆圧縮に於いて、従来よりも、より高圧縮が可能になる。非可逆圧縮は、ビデオ画像やテレビ画像または、音声ファイルなどで広く使われている圧縮技術であるが、これらのビデオ画像やテレビ画像または、音声ファイルなどにおいても、可逆圧縮技術は、復号する場合に於いて重要な技術となっている。ビデオ画像やテレビ画像または、音声ファイルなどの圧縮技術に利用した場合は、従来よりも、より正確な復号ができるようになり、同じ圧縮率でも画像の鮮明さなどに大きな差を生む技術である。勿論、ビデオ画像やテレビ画像または、音声ファイルなどでの圧縮を行う際、圧縮率だけを高めようとした場合は、本発明のソフトウェアを利用する事で、従来よりも大きく圧縮率を高める事が出来る。 In lossless compression, higher compression than before is possible. Lossy compression is a compression technology widely used for video images, television images, or audio files. However, lossless compression technology is also used for decoding video images, television images, or audio files. It has become an important technology. When used for compression technology such as video images, TV images, or audio files, it will be able to decode more accurately than before, and it will make a big difference in image clarity even with the same compression rate. . Of course, when compressing only video images, television images, audio files, etc., if only the compression rate is to be increased, the software of the present invention can be used to increase the compression rate more than before. I can do it.

本発明の2分割処理圧縮プログラムを記録した記録媒体は、全く圧縮出来なかった圧縮を行うファイルまたは、圧縮を行うファイルの中の一部分が圧縮出来なかった場合であっても圧縮する事ができるようになるので圧縮率を向上させるが可能になる。特に画像処理の場合は、従来、画素単位で圧縮を行うのが普通であるが、本発明の2分割処理圧縮プログラムを記録した記録媒体では、画素単位で処理を行う必要性が無くなり為、どのようなフォーマット形式で作られた画像ファイルあっても、画素という状態にする必要が無く、ファイルを先頭から最後までファイルとして処理する事が出来るようになる。その為、画素単位での圧縮工程や復号工程とよりも高速な処理を行えるようになる。画像処理で使用した場合に於いても、全く圧縮出来なかった圧縮を行うファイルまたは、圧縮を行うファイルの中の一部分が圧縮出来なかった場合であっても圧縮する事が出来るものとなるので圧縮率を向上させる事が可能になる。また、従来の技術で既に圧縮されたファイルに対して本発明の圧縮を行う事が可能であるという事から高圧縮率を得る事ができる。 The recording medium on which the two-part processing compression program of the present invention is recorded can be compressed even when a file that cannot be compressed at all or a part of the file that is compressed cannot be compressed. Therefore, the compression rate can be improved. Particularly in the case of image processing, conventionally, compression is usually performed in units of pixels. However, in the recording medium on which the two-division processing compression program of the present invention is recorded, there is no need to perform processing in units of pixels. Even an image file created in such a format does not need to be in a pixel state and can be processed as a file from the beginning to the end. Therefore, it becomes possible to perform processing faster than the compression process and decoding process in units of pixels. Even if it is used in image processing, it can be compressed even if it cannot be compressed, or even if a part of the file to be compressed cannot be compressed. It becomes possible to improve the rate. In addition, it is possible to obtain a high compression ratio because the compression of the present invention can be performed on a file that has already been compressed by the conventional technique.

また、本発明の実施例で基準として残した、もう片一方の配列(代入された数値が違うものが多い方の配列、第二配列の方)に対しても、ランレングス圧縮や辞書圧縮やスライド辞書圧縮をする事が出来る。また、基準として残さずにランレングス圧縮した配列(第一配列の方)に対しても更に、辞書圧縮やスライド辞書圧縮を行う事ができる。更に、両方の配列に対して圧縮処理後に全体をランレングス圧縮やスライド辞書圧縮や辞書圧縮する事もできる。この様に圧縮技術を組み合わせて圧縮する事ができるので全体として大きく圧縮率を高める事が出来る技術である。これらの組み合わせで作成された圧縮ソフトウェアも本発明のレパートリーであると明言する。 In addition, run length compression, dictionary compression, and the like for the other array (the array with a larger number of assigned values and the second array) left as a reference in the embodiment of the present invention You can compress slide dictionary. Furthermore, dictionary compression and slide dictionary compression can be further performed on an array (first array) that has been run-length compressed without being left as a reference. Furthermore, after the compression process for both arrays, the whole can be run-length compressed, slide dictionary compressed or dictionary compressed. In this way, since compression can be performed by combining compression techniques, the compression ratio can be greatly increased as a whole. It is stated that the compression software created by these combinations is also a repertoire of the present invention.

以下の図2、図3、図4、図5、図6は、実際とは、多少異なる。また、実施例の分岐処理に於いて分岐条件に該当しない場合どうするかを記述していない場合があるが、分岐条件に該当しない場合どうするかを記述していない場合は、何も処理を行わないという事である。実施に於いては、MicroSoft株式会社のVisual Stadio2005 C#というコンパイラを使用してプログラムを作成した。 The following FIG. 2, FIG. 3, FIG. 4, FIG. 5, and FIG. Also, in the branch processing of the embodiment, there is a case where it is not described what to do when it does not correspond to the branch condition, but if it is not described what to do when it does not correspond to the branch condition, no processing is performed. That's it. In the implementation, a program was created using a compiler called Visual Stadio2005 C # of MicroSoft Corporation.

本発明の2分割処理圧縮プログラムを記録した記録媒体は、図3の<本発明に使用した機材の説明図>に示した様なハードウェア資源で動作するプログラムである。図3の<本発明に使用した機材の説明図>に示した様なハードウェア資源は、図符号Iのコンピューター本体と図符号Hのモニターと図符号Jのキーボードと図符号Kのマウスの合計4個のパーツで構成された機材であるが、これらの合計4個のパーツで構成された機材を一般的にコンピューターと呼んでいる。図符号Iのコンピューター本体は、DOS/V機コンピューターと呼ばれるコンピューターである。図符号Iのコンピューター本体には、ハードディスクドライブなどの記録媒体やCPUや本体メモリーなどと呼ばれる装置が内蔵されており、本発明の2分割処理圧縮プログラムを記録した記録媒体は、図符号Iのコンピューター本体内部に在るハードディスクドライブなどの記録媒体にインストールされているものとする。図符号Iのコンピューター本体に接続された外部に在るハードディスクドライブなどの記録媒体に本発明のソフトウェアがインストールされていて、図符号Iのコンピューター本体から本発明のソフトウェアを起動する事が出来る場合は、図符号Iのコンピューター本体に接続された外部に在るハードディスクドライブなどの記録媒体に本発明のソフトウェアがインストールされているものとする。本発明のソフトウェアがインストールされている図符号Iのコンピューター本体内部に在るハードディスクドライブなどの記録媒体または、図符号Iのコンピューター本体に接続された外部に在るハードディスクドライブなどの記録媒体にインストールされている本発明のソフトウェアを起動すると本発明のソフトウェアは、図符号Iのコンピューター本体に内蔵された本体メモリーに適時に必要量読み込まれる。図符号Iのコンピューター本体に内蔵された本体メモリーに適時に必要量読み込まれた本発明のソフトウェアに書かれたCPUが処理を予定している命令文が必要な時に必要量CPUに読み込まれ、そのCPUに読み込まれた命令文がCPUによって実行される事によってコンピューターによって本発明の2分割処理圧縮プログラムを記録した記録媒体が動作する。従って、本発明の2分割処理圧縮プログラムを記録した記録媒体がハードウェア資源を利用してどのような工程で処理されるのかを簡単な表現で説明すると、本発明の2分割処理圧縮プログラムを記録した記録媒体に書かれた命令文は、コンピューター本体のCPUによって処理されると表現しなおす事ができるものである。 The recording medium on which the two-division processing compression program of the present invention is recorded is a program that operates with hardware resources as shown in <Explanation of equipment used in the present invention> in FIG. The hardware resources as shown in <Explanatory drawing of equipment used in the present invention> in FIG. 3 are the total of the computer main body indicated by symbol I, the monitor indicated by symbol H, the keyboard indicated by symbol J, and the mouse indicated by symbol K. Although this equipment is composed of four parts, the equipment composed of a total of four parts is generally called a computer. The computer body indicated by symbol I is a computer called a DOS / V computer. The computer main body indicated by symbol I incorporates a recording medium such as a hard disk drive or a device called a CPU or main body memory, and the recording medium storing the two-part processing compression program of the present invention is the computer indicated by symbol I. It is assumed that it is installed in a recording medium such as a hard disk drive inside the main body. When the software of the present invention is installed in a recording medium such as an external hard disk drive connected to the computer main body of Fig. I, and the software of the present invention can be started from the computer main body of Fig. I It is assumed that the software of the present invention is installed in a recording medium such as an external hard disk drive connected to the computer main body denoted by reference numeral I. It is installed on a recording medium such as a hard disk drive inside the computer main body indicated by the symbol I in which the software of the present invention is installed, or on a recording medium such as an external hard disk drive connected to the computer main body indicated by the symbol I. When the software of the present invention is started up, the necessary amount of software of the present invention is read into the main body memory built in the computer main body indicated by the reference symbol I in a timely manner. The necessary amount of time is read by the CPU written in the software of the present invention, which is read in a timely manner into the main body memory built in the computer body of the symbol I, and is read into the required amount of CPU when necessary. The recording medium in which the two-division processing compression program of the present invention is recorded by the computer is operated by executing the instruction sentence read into the CPU by the CPU. Therefore, in a simple expression, it will be described in what process the recording medium on which the two-division processing compression program of the present invention is recorded is processed using hardware resources. The two-division processing compression program of the present invention is recorded. The command statement written on the recording medium can be re-expressed as being processed by the CPU of the computer body.

図3の<本発明に使用した機材の説明図>に示した様なハードウェア資源で動作するソフトウェアであると段落〔0022〕にて説明したが、コンピューターの形状は、図3の<本発明に使用した機材の説明図>に示した様なハードウェア資源に限定できるものではなく、図符号Hのモニター、図符号Iのコンピューター本体、図符号Jのキーボード、図符号Kのマウスが一体化したものや、図符号Kのマウスが存在しない構成のものや、図符号Hのモニター、図符号Iのコンピューター本体の二つを一体化した構成のもの等いろいろある。今後ももっと、いろいろな形状のコンピューターが開発されていくであろうと考えられる。図3の<本発明に使用した機材の説明図>に示した様なハードウェア資源でなくても、類似と言い得る、いわゆるコンピューターを本発明の2分割処理圧縮プログラムを記録した記録媒体で動作させている場合も本発明の2分割処理圧縮プログラムを記録した記録媒体であると明言する。 As described in paragraph [0022], the software operates on hardware resources as shown in <Explanatory diagram of equipment used in the present invention> in FIG. It is not limited to the hardware resources as shown in the explanatory diagram of the equipment used in Fig. 1. The monitor with the symbol H, the computer body with the symbol I, the keyboard with the symbol J, and the mouse with the symbol K are integrated. There are various types, such as the one without the mouse with the symbol K, the monitor with the symbol H, and the computer body with the symbol I integrated. It is thought that computers of various shapes will be developed in the future. Even if it is not a hardware resource as shown in <Explanatory diagram of equipment used in the present invention> in FIG. 3, a so-called computer can be operated by a recording medium in which the two-division processing compression program of the present invention is recorded. Even in the case of the recording medium, it is clearly stated that the recording medium records the two-division processing compression program of the present invention.

以下の段落に於いて、配列や変数などを作成すると記述しているが配列や変数などが作成される場所は、図符号Iのコンピューター本体の内部にある本体メモリーに作成される。但し、OSと呼ばれるソフトウェアによって仮想メモリー領域に作成される場合もある。仮想メモリー領域とは、図符号Iのコンピューター本体の内部に在るハードディスクドライブなどの記録媒体の一部分を仮想的に本体メモリーとして使用する場合に使用する図符号Iのコンピューター本体の内部に在るハードディスクドライブなどの記録媒体の一部分の事を言う。この図符号Iのコンピューター本体の内部にある本体メモリーまたは、図符号Iのコンピューター本体の内部にあるハードディスクドライブなどの記録媒体の一部分を仮想的に本体メモリーとして使用する場合に使用する図符号Iのコンピューター本体の内部に在るハードディスクドライブなどの記録媒体の一部分の事をコンピューター内部のメモリー装置と呼ぶ事とする。従って、配列や変数などを作成すると記述している場合の配列や変数などが作成される場所を端的な表現をして説明するならば、コンピューター内部のメモリー装置内に作成されるという表現になる。 In the following paragraphs, it is described that arrays and variables are created. However, the locations where the arrays and variables are created are created in the main body memory inside the computer main body indicated by symbol I. However, it may be created in the virtual memory area by software called an OS. The virtual memory area is a hard disk in the computer main body of the symbol I used when a part of a recording medium such as a hard disk drive in the computer main body of the symbol I is virtually used as the main memory. A part of a recording medium such as a drive. The figure memory I used when the main body memory inside the computer main body indicated by the reference numeral I or a part of a recording medium such as a hard disk drive inside the computer main body indicated by the reference numeral I is virtually used as the main body memory. A part of a recording medium such as a hard disk drive in the computer main body is called a memory device inside the computer. Therefore, if the place where an array or variable is created when it is described that an array or variable is created is explained in a simple way, it will be created in a memory device inside the computer. .

以下の段落に於いて、配列の末尾にデーターを代入すると記述している場合がある。未だに配列に代入されたデーターが無い場合は、普通、配列の最初の位置にデーターを代入するものである。しかし、配列の最初の位置から代入する度に1byteづつ代入する位置をずらして、データーを1byteづつ代入していく場合、配列の最初の位置にデーターを代入した後は、配列に代入されたデーターの最後の位置にあるデーターの次の位置に代入するという事になる。この場合、配列の最初の位置に既にデーターを代入した後の位置の指定を末尾と表現する事が出来る。未だに配列に代入されたデーターが無い場合で、配列の最初の位置から代入する度に1byteづつ代入する位置をずらして1byteづつデーターを配列に代入していく場合で、配列の最初の位置にデーターを代入する場合でも、配列の末尾にデーターを代入すると表現する事が出来ると考えられる。そこで、配列の最初の位置から代入する度に1byteづつ代入する位置をずらして、1byteづつデーターを配列に代入していく場合は、配列の最初の位置に代入する場合であっても、配列の末尾に代入すると記述している場合がある。また、以下の段落で、配列の最初の位置から代入する度に1byteづつ代入する位置をずらして、1byteづつデーターを配列に代入していく場合に於いて、配列に代入するデーターの順番について断り書きが無い場合は、取得した元のデーター(作成したデーターや取得したデーターや読み込んだデーターや元の配列に代入されていたデーターなど)の順番通りに1byteづつ配列に代入するものとする。 In the following paragraphs, it may be described that data is assigned to the end of the array. If there is still no data assigned to the array, the data is usually assigned to the first position of the array. However, every time you assign from the first position of the array, the position to be assigned is shifted by 1 byte, and when assigning data by 1 byte, after assigning the data to the first position of the array, the data assigned to the array Is assigned to the next position of the data at the last position. In this case, the position specification after data is already assigned to the first position of the array can be expressed as the end. If there is still no data assigned to the array, and every time you assign from the first position of the array, the assignment position is shifted by 1 byte and the data is assigned to the array by 1 byte. Even when substituting, it can be expressed by substituting data at the end of the array. So, every time you assign from the first position of the array, the position to be assigned is shifted by 1 byte, and if you assign data to the array by 1 byte, even if you assign to the first position of the array, It may be described that it is assigned at the end. Also, in the following paragraphs, when assigning 1 byte each to the array by shifting the assignment position by 1 byte each time it is assigned from the first position of the array, the order of the data to be assigned to the array is refused. When there is no writing, it is assumed that the original data acquired (created data, acquired data, read data, data assigned to the original array, etc.) is assigned to the array one byte at a time.

以下の段落に於いて、全て一次元配列を利用してプログラムを作成しているが、多次元配列を利用する事や、ファイルを利用する事でも同じ処理が出来ると考えられる。また、一次元配列と多次元配列とファイルの組み合わせによっても、同じ処理が出来ると考えられる。これらはプログラムの書き方の違いであって、全て本発明の単純なレパートリーでしかないという事を明言する。 In the following paragraphs, all programs are created using one-dimensional arrays, but the same processing can be performed by using multidimensional arrays or files. Also, the same processing can be performed by combining a one-dimensional array, a multi-dimensional array, and a file. It is clear that these are differences in the way of writing the program, all of which are simply the repertoire of the present invention.

また、以下の段落で、本発明の2分割処理圧縮プログラムを記録した記録媒体とコンピューターによる自動処理の場合は、いちいち、本発明の2分割処理圧縮プログラムを記録した記録媒体とコンピューターによる自動処理である事を記述しない。記述していない場合は、本発明の2分割処理圧縮プログラムを記録した記録媒体とコンピューターによる自動処理である。しかし、図1の<本発明の2分割処理圧縮プログラムを記録した記録媒体のフローチャート図>には、図符号Lの人為的な手動による操作または、入力と、図符号Mの本発明の2分割処理圧縮プログラムを記録した記録媒体とコンピューターによる自動処理の二つに分けて示す事とした。以下の2分割処理圧縮プログラムを記録した記録媒体とコンピューターによる自動処理の部分の処理工程を記述したCPUに対する命令文の事をプログラムと呼ぶ事とする。また、配列のサイズの調整なども当該事業者にとって常識的な技術であると考えられる事であるから何も書いていない場合がある。また、配列の型の変換処理なども当該事業者にとって常識的な技術であると考えられる事であるから何も書いていない場合がある。また、変数の型についても当該事業者にとって常識的な技術であると考えられる事であるから何も書いていない場合がある。 Further, in the following paragraphs, in the case of the automatic processing by the computer and the recording medium on which the two-division processing compression program of the present invention is recorded, the recording medium in which the two-division processing compression program of the present invention is recorded and the automatic processing by the computer each time. Do not describe something. When it is not described, it is automatic processing by a recording medium on which the two-division processing compression program of the present invention is recorded and a computer. However, the <flowchart diagram of the recording medium on which the two-division processing compression program of the present invention is recorded> in FIG. 1 includes an artificial manual operation or input of the symbol L and the two-division of the present invention of the symbol M It was decided to divide it into two types: a recording medium on which a processing compression program is recorded and an automatic processing by a computer. A recording medium on which the following two-division processing compression program is recorded and a CPU instruction statement describing the processing steps of the automatic processing portion by the computer are referred to as a program. In addition, there is a case where nothing is written because adjustment of the size of the array is considered to be a common-sense technique for the operator. In addition, there is a case where nothing is written because the conversion processing of the array type is considered to be a common sense technique for the operator. In addition, there is a case where nothing is written about the variable type because it is considered to be a common sense technology for the operator.

図1の<本発明の2分割処理圧縮プログラムを記録した記録媒体のフローチャート図>を参照の事。図符号Lの人為的な手動による操作または、入力と図符号Mの本発明の2分割処理圧縮プログラムを記録した記録媒体とコンピューターによる自動処理には、ステップ番号を付したので、このステップ番号順に説明する。まず、本発明の2分割処理圧縮プログラムを記録した記録媒体を起動すると、図2の<本発明の2分割処理圧縮プログラムを記録した記録媒体の操作画面図>の様な操作画面が図符号Hのモニターに表示される。 See <Flowchart of recording medium on which the two-division processing compression program of the present invention is recorded> in FIG. Step numbers are given to the manual operation of the figure L or the automatic processing by the input and the recording medium recording the two-division processing compression program of the present invention of the figure M and the computer, in order of the step numbers. explain. First, when the recording medium on which the two-division processing compression program of the present invention is recorded is activated, an operation screen such as the <operation screen diagram of the recording medium on which the two-division processing compression program of the present invention is recorded> in FIG. Displayed on the monitor.

圧縮を行うファイルを本発明の2分割処理圧縮プログラムを記録した記録媒体を使用して圧縮する場合を説明する。これを圧縮工程と仮称する。この圧縮工程で必要とする技術は、一般的に知られたランレングス圧縮を行う方法(圧縮方法)で圧縮されたファイルを作成する技術または、配列を圧縮する技術を使用する事でも可能である。この一般的に知られたランレングス圧縮する技術で作成されたファイルまたは、圧縮された配列を作成する技術は、当該事業者に於いては、常識的技術である。 A case will be described in which a file to be compressed is compressed using a recording medium in which the two-division processing compression program of the present invention is recorded. This is tentatively referred to as a compression process. The technology required in this compression process can be achieved by using a technique for creating a file compressed by a generally known method for performing run length compression (compression method) or a technique for compressing an array. . A file created by this generally known run-length compression technique or a technique for creating a compressed array is a common-sense technique for the operator.

テキスト文字で書かれたファイルを圧縮する処理工程を説明する。「アイウエオ」と横一行に書かれたテキストファイルを用意した。この用意したテキストファイルを圧縮対象テストファイルと呼ぶ。図4の<圧縮対象テストファイルの内容を示した図>を参照の事。 A process for compressing a file written in text characters will be described. A text file with “Iueo” written in a horizontal line was prepared. This prepared text file is called a compression target test file. See <Figure showing contents of test file to be compressed> in FIG.

ステップ101に進む。ステップ101は、人為的処理である。図符号Gの参照ボタンを図符号Kのマウスなどの入力デバイスを使用してクリックする。これによって、記録媒体の中を閲覧できるので、記録媒体から圧縮を行うファイルを選択する。選択すると圧縮を行うファイルのフルパスが図符号Aの2分割処理圧縮するファイルの指定テキストボックスに入力される。また、図符号Jのキーボードなどの入力デバイスを使って図符号Aの2分割処理圧縮するファイルの指定テキストボックスに、直接入力出来るようになっている。ここで圧縮対象テストファイルを選択して図符号Aの2分割処理圧縮するファイルの指定テキストボックスに指定する。 Proceed to step 101. Step 101 is an artificial process. A reference button indicated by a symbol G is clicked using an input device such as a mouse indicated by a symbol K. Thus, since the inside of the recording medium can be browsed, a file to be compressed is selected from the recording medium. When selected, the full path of the file to be compressed is input to the text box for designating the file to be compressed by the two-part process A in FIG. In addition, it is possible to directly input into a designated text box of a file to be compressed by the two-division process of FIG. A using an input device such as a keyboard of FIG. Here, the test file to be compressed is selected and designated in the designation text box of the file to be compressed by the two-part process of FIG.

図符号Kのマウスなどの入力デバイスを使用して、図符号Fの実行ボタンをクリックする。そうすると、本発明の2分割処理圧縮プログラムを記録した記録媒体の圧縮工程がスタートする。図1の<本発明の2分割処理圧縮プログラムを記録した記録媒体のフローチャート図>のステップ103には、分割処理と書いているが、本発明の2分割処理圧縮プログラムを記録した記録媒体に於ける2分割処理工程の事である。尚、図1の<本発明の2分割処理圧縮プログラムを記録した記録媒体のフローチャート図>のステップ107には、分割して処理するという記述があるが、これは、本発明の2分割処理圧縮プログラムを記録した記録媒体に於ける2分割処理工程の事ではない。 Using an input device such as a mouse indicated by symbol K, an execution button indicated by symbol F is clicked. Then, the compression process of the recording medium on which the two-division process compression program of the present invention is recorded starts. In step 103 of <the flowchart of the recording medium on which the two-division processing compression program of the present invention is recorded> in FIG. 1, the division processing is written, but in the recording medium on which the two-division processing compression program of the present invention is recorded. This is a two-part process step. Note that step 107 in <flowchart diagram of recording medium on which the two-division processing compression program of the present invention is recorded> in FIG. 1 has a description of division processing. This is the two-division processing compression of the present invention. This is not a two-part process in the recording medium on which the program is recorded.

ステップ102に進む。図符号Aの2分割処理圧縮するファイルの指定テキストボックスに入力されたフルパスのファイル名を基に、圧縮を行うファイルとして、圧縮対象テストファイルをハードディスクドライブなどの記録媒体から探し出してバイナリー形式でファイルを1byteづつ読み込む。圧縮対象テストファイルをバイナリー形式で読み込んだデーターを全て代入できるサイズで配列を作成する。この配列を仮称A配列と仮称する。A配列に圧縮対象テストファイルから読み込んだデーターをA配列の最初の位置から代入する度に1byteづつ代入する位置をずらして、圧縮対象テストファイルから読み込んだデーターを1byteづつ代入する。 Proceed to step 102. Based on the full path file name entered in the text file specification text box of Figure A, the file to be compressed As the file to be compressed, the test target file is searched from a recording medium such as a hard disk drive and the file is in binary format. Is read one byte at a time. Create an array with a size that can be substituted for all the data read in the binary format of the test file to be compressed. This array is tentatively referred to as a tentative name A array. Each time the data read from the compression target test file is assigned to the A array from the first position of the A array, the assignment position is shifted by 1 byte, and the data read from the compression target test file is assigned by 1 byte.

ステップ103に進む。A配列の配列サイズは、圧縮対象テストファイルに書かれている「アイウエオ」という文字列で全角の5文字であるから、ASCIIコードで10byteとなる。A配列の配列サイズを2で割ったサイズで配列を2個作成し、第一配列と第二配列と仮称する。A配列の最初から最後まで繰り返し処理を行う。この繰り返し処理を仮称、セパレート繰り返し処理とする。セパレート繰り返し処理では、A配列のデーターが代入されている位置を示すインデックスを2で割った余りがある場合とA配列のデーターが代入されている位置を示すインデックスを2で割った余りがない場合とに分岐する。 Proceed to step 103. The array size of the A array is 10 bytes in ASCII code because it is the full-width 5 characters in the character string “Aiweo” written in the test file to be compressed. Two arrays are created by dividing the array size of the A array by 2 and are temporarily referred to as a first array and a second array. Iterates from the beginning to the end of the A array. This repetition process is referred to as a temporary name, a separate repetition process. In separate repetition processing, there is a remainder when the index indicating the position where the data of the A array is assigned is divided by 2, and there is no remainder when the index indicating the position where the data of the A array is assigned is divided by 2 Branch to.

この分岐を分岐1と仮称する。この分岐1のA配列のデーターが代入されている位置を示すインデックスを2で割った余りがない場合は、偶数であるという事になる。この分岐1のA配列のデーターが代入されている位置を示すインデックスを2で割った余りがない場合は、A配列に代入されたデーターが代入されている位置を示すインデックスを使用してA配列に代入されたデーターを取得して、取得したデーターを第一配列の末尾に代入する。この分岐1のA配列のデーターが代入されている位置を示すインデックスを2で割った余りがある場合は、奇数であるという事になる。この分岐1のA配列のデーターが代入されている位置を示すインデックスを2で割った余りがある場合は、A配列に代入されたデーターが代入されている位置を示すインデックスを使用してA配列に代入されたデーターを取得して、取得したデーターを第二配列の末尾に代入する。これで分岐1を終了する。A配列に代入された全てのデーターに対して処理し終わったら、セパレート繰り返し処理を終了する。 This branch is tentatively referred to as branch 1. If there is no remainder obtained by dividing the index indicating the position where the data of the A array of branch 1 is assigned by 2, it is an even number. If there is no remainder when the index indicating the position where the data of the A array in branch 1 is assigned is divided by 2, the index indicating the position where the data assigned to the A array is assigned is used as the A array. The data assigned to is acquired, and the acquired data is assigned to the end of the first array. If there is a remainder obtained by dividing the index indicating the position where the data of the A array of branch 1 is assigned by 2, it is an odd number. If there is a remainder obtained by dividing the index indicating the position where the data of the A array in branch 1 is assigned by 2, the index indicating the position where the data assigned to the A array is assigned is used as the A array. The data assigned to is acquired, and the acquired data is assigned to the end of the second array. This ends branch 1. When processing has been completed for all data assigned to the A array, the separate repetition processing is terminated.

ステップ104に進む。第一配列に代入された最初の位置のデーターから順次1byteづつ、図符号Aの第一配列の内容を表示するリストボックスに全て表示する。第二配列に代入された最初の位置のデーターから順次1byteづつ、図符号Bの第二配列の内容を表示するリストボックスに全て表示する。次に、第一配列に代入された全てのデーターにランレングス圧縮を行う。ランレングス圧縮を行う方法(圧縮方法)とランレングス圧縮を行う方法で圧縮されたファイルまたは、配列を圧縮していない元のファイルまたは、配列の状態に戻す方法(復元方法)は、当該事業者に於いては、常識的技術である。 Proceed to step 104. All of the first position data assigned to the first array is sequentially displayed in a list box that displays the contents of the first array of FIG. All the data of the first position assigned to the second array is sequentially displayed in a list box that displays the contents of the second array of the figure B, one byte at a time. Next, run length compression is performed on all data assigned to the first array. Files that have been compressed using the run-length compression method (compression method) and the run-length compression method, or the original file that has not been compressed, or the method of restoring the sequence (restoration method), is the relevant operator. It is a common-sense technique.

1個のデーターを1byteとして、2個のデーターを代入できるサイズで配列を作成する。つまり、言い換えると1byteの型で配列のサイズを2とした配列を作成するという事である。この配列をランレングス圧縮配列と仮称する。ここからランレングス圧縮配列にデーターを代入する処理工程を行う。ランレングス圧縮配列のデーターを代入する事ができる領域の最初の位置に代入するデーターは、何と言う文字コードを圧縮したかという文字コードを代入する。ランレングス圧縮配列のデーターを代入する事ができる領域の最後の位置に代入するデーターは、ランレングス圧縮配列のデーターを代入する事ができる領域の最初の位置に代入された文字コードが何文字連なっていたかという記録をする為の文字数を代入する。第一配列の最初の位置に代入されたデーターを取得してランレングス圧縮配列の最初の位置に代入する。1byteの型で変数を作成して、この変数をカウント変数と仮称する。カウント変数に初期値として0を代入する。 One data is 1 byte, and an array is created with a size that can be substituted for two data. In other words, creating an array with a 1-byte type and an array size of 2. This arrangement is tentatively referred to as a run-length compression arrangement. From here, the process of substituting data into the run-length compressed array is performed. For the data to be assigned to the first position of the area where the data of the run-length compressed array can be assigned, the character code indicating what the character code is compressed is assigned. The data to be assigned to the last position of the area where the run-length compressed array data can be assigned is the number of character codes assigned to the first position of the area where the run-length compressed array data can be assigned. Substitute the number of characters to record that it was. Data assigned to the first position of the first array is acquired and assigned to the first position of the run-length compressed array. A variable is created with a 1-byte type, and this variable is temporarily called a count variable. Assign 0 as the initial value to the count variable.

第一配列に代入された全てのデーターに対して以下の繰り返し処理を行う。この繰り返し処理を文字コードランレングス処理と仮称する。文字コードランレングス処理は、ランレングス圧縮配列の最初の位置に代入されたデーターと第一配列の最初の位置から最終までの位置に代入された全てのデーターを比較検査する。比較検査している第一配列に代入されたデーターの位置を注目位置と仮称する。文字コードランレングス処理では、ランレングス圧縮配列の最初の位置に代入されたデーターと第一配列の注目位置にあるデーターが同じデーターであったら、カウント変数に代入された数値に1を加えた数値を算出してカウント変数に上書き処理をして、第一配列の注目位置を一つ進める事で第一配列に代入された次の位置のデーターと比較検査を行う事とする。ランレングス圧縮配列の最初の位置に代入されたデーターと第一配列の注目位置にあるデーターが違うデーターであったら、何も行わないで、第一配列の注目位置を一つ進める事で第一配列に代入された次の位置のデーターと比較検査を行う事とする。注目位置を第一配列の最初の位置から最終までの位置にずらす事で第一配列に代入された全てのデーターに対してランレングス圧縮配列の最初の位置に代入されたデーターと比較検査する処理を行う。第一配列に代入された全てのデーターとランレングス圧縮配列の最初の位置に代入されたデーターを比較検査し終わったら、文字コードランレングス処理を終了する。文字コードランレングス処理の工程では、ランレングス圧縮配列の最初の位置に代入されたデーターだけを第一配列に代入された全てのデーターと比較検査しているが、これは、本発明の2分割処理圧縮プログラムを記録した記録媒体が、段落〔0030〕に記述している圧縮対象テストファイルに限定して動作させている為に、検査データー配列の最初の位置に代入されたデーターを第一配列に代入された全てのデーターと比較検査するという簡略的な処理で済ませているものである。この様な理由でランレングス圧縮配列の最初の位置にだけデーターを代入した時点で、文字コードランレングス処理を行うという簡略的な処理工程にしたものである。この時点では、ランレングス圧縮配列には、最初の位置に代入された1個のデーター以外にはデーターが代入されていないから、他のデーターの検査を行おうとしても行えない状態であるから、この説明書きそのものが意味不明なものである可能性があるが、一応、記述しておく。 The following iterative process is performed for all data assigned to the first array. This repetition process is tentatively referred to as a character code run length process. In the character code run length process, the data assigned to the first position of the run length compressed array is compared with all the data assigned to the positions from the first position to the end of the first array. The position of the data assigned to the first array being compared and inspected is temporarily referred to as the position of interest. In character code run-length processing, if the data assigned to the first position of the run-length compressed array and the data at the target position of the first array are the same data, the numerical value obtained by adding 1 to the numerical value assigned to the count variable Is calculated, the count variable is overwritten, and the target position of the first array is advanced by one to perform comparison inspection with the data at the next position assigned to the first array. If the data assigned to the first position of the run-length compressed array is different from the data at the target position of the first array, do nothing and advance the target position of the first array by one. A comparison check is performed with the data at the next position assigned to the array. Processing to compare all data assigned to the first array with the data assigned to the first position of the run-length compressed array by shifting the target position from the first position to the end of the first array I do. When all the data assigned to the first array and the data assigned to the first position of the run-length compressed array are compared and checked, the character code run-length process is terminated. In the character code run-length process, only the data assigned to the first position of the run-length compressed array is compared with all the data assigned to the first array. Since the recording medium on which the processing compression program is recorded operates only on the compression target test file described in paragraph [0030], the data assigned to the first position of the inspection data array is the first array. This is a simple process of comparing and checking with all data assigned to. For this reason, when the data is substituted only at the first position of the run-length compressed array, a simple processing process is performed in which the character code run-length process is performed. At this point, no data is assigned to the run-length compressed array other than the one data assigned to the first position, so it is not possible to check other data. There is a possibility that the explanation itself is unclear, but it is described once.

ランレングス圧縮配列の末尾(数値を代入できる領域の最後の位置)にカウント変数に代入された数値を代入する。ここまででランレングス圧縮配列にデーターを代入する処理工程を終了する。 The numerical value assigned to the count variable is assigned to the end of the run-length compressed array (the last position in the area where numerical values can be assigned). At this point, the processing step of assigning data to the run-length compressed array is completed.

第二配列の配列のサイズとランレングス圧縮配列の配列のサイズとを加算した数値に1を加えた数値を配列のサイズとして配列を作成する。この配列を圧縮配列と仮称する。作成した圧縮配列にデーターを代入する処理を行う。復号工程で必要とするデーターを代入する為のデーターをヘッダーデーターと呼び、1byteの型で変数を作成し、この変数をヘッダー変数と仮称する。このヘッダー変数に、第二配列の配列のサイズを代入する。つまり、第二配列の配列のサイズがヘッダーデーターとなる。第二配列の配列サイズは、「アイウエオ」と横一列に書かれたテキスト形式で書かれた圧縮対象テストファイルの圧縮処理を行わないで基準として残した文字列の部分のサイズであるから、圧縮対象テストファイルのサイズの半分となるので、5という数値を代入する事になる。圧縮配列の最初の位置にヘッダー変数のデーターを代入する。 An array is created using the value obtained by adding 1 to the value obtained by adding the size of the array of the second array and the size of the array of the run-length compressed array as the size of the array. This array is tentatively referred to as a compressed array. Perform processing to assign data to the created compressed array. Data for substituting data required in the decoding process is called header data, a variable is created with a 1-byte type, and this variable is temporarily called a header variable. Substitute the size of the second array into this header variable. That is, the size of the second array is header data. The array size of the second array is the size of the portion of the character string that is left as a standard without compressing the compression target test file written in the text format written in a horizontal row as “Aiueo”. Since it is half the size of the target test file, a value of 5 is substituted. Assign the header variable data to the first position of the compressed array.

圧縮配列の末尾に、第二配列に代入された最初の位置から最後の位置までの全てのデーターを代入する度に1byte分づつ代入する位置をずらして1byteづつ代入する。圧縮配列の末尾に、ランレングス圧縮配列の最初から最後までの全てのデーターを、代入する度に1byte分づつ代入する位置をずらして1byteづつ代入する。ここまでで、圧縮配列にデーターを代入する処理を終了する。圧縮配列の最初から最後までの全てのデーターをバイナリー形式で1byteづつファイルの末尾に付け加えて記録保存する事で圧縮ファイルを作成する。圧縮工程を終了する。ここまでの圧縮工程の処理をコンピューターに実行させるプログラムを記録したコンピューターが読み取る事が可能な記録媒体が第一の発明である。 Each time all data from the first position assigned to the second array to the last position is assigned to the end of the compressed array, the position to be assigned is shifted by 1 byte and assigned by 1 byte. At the end of the compressed array, all the data from the beginning to the end of the run-length compressed array is substituted 1 byte at a time, with the position to be substituted 1 byte shifted. At this point, the process of assigning data to the compressed array is completed. A compressed file is created by adding all the data from the beginning to the end of the compressed array in binary format to the end of the file one byte at a time and saving it. The compression process ends. A recording medium that can be read by a computer that records a program for causing a computer to execute the processing of the compression process so far is the first invention.

第一配列に代入された全てのデーターを対象に既に一般的に知られている技術のランレングス圧縮を行った場合は、段落〔0031〕から段落〔0036〕までと同じ処理を行う。その後、ランレングス圧縮配列を作成する。既に一般的に知られている技術のランレングス圧縮を行った場合に作成されるデーターをランレングス圧縮配列の配列のデーターを代入できる領域の最初から最後までの位置に代入する度に1byte分づつ代入する位置をずらして1byteづつ代入する。ランレングス圧縮配列の配列のサイズと第二配列の配列のサイズを加算した数値に1を加えた数値を配列のサイズとして配列を作成する。この配列を圧縮配列と仮称する。作成した圧縮配列にデーターを代入する処理を行う。復号工程で必要とするデーターを代入する為のデーターをヘッダーデーターと呼び、1byteの型で変数を作成し、この変数をヘッダー変数と仮称する。このヘッダー変数に、第二配列の配列のサイズを代入する。つまり、第二配列の配列のサイズがヘッダーデーターとなる。第二配列の配列サイズは、「アイウエオ」と横一列に書かれたテキスト形式で書かれた圧縮対象テストファイルの圧縮処理を行わないで基準として残した文字列の部分のサイズであるから、圧縮対象テストファイルのサイズの半分となるので、5という数値を代入する事になる。圧縮配列の最初の位置にヘッダー変数のデーターを代入する。圧縮配列の末尾に、第二配列に代入された最初の位置から最後の位置までの全てのデーターを代入する度に1byte分づつ代入する位置をずらして1byteづつ代入する。圧縮配列の末尾に、ランレングス圧縮配列の最初から最後までの全てのデーターを、代入する度に1byte分づつ位置をずらして1byteづつ代入する。ここまでで、圧縮配列にデーターを代入する処理を終了する。圧縮配列の最初から最後までの全てのデーターをバイナリー形式で1byteづつファイルの末尾に付け加えて記録保存する事で圧縮ファイルを作成する。この様な処理工程が圧縮工程となる。 When run-length compression of a technique that is already generally known is performed on all data assigned to the first array, the same processing as in paragraphs [0031] to [0036] is performed. Then, a run length compressed array is created. Every time 1 byte is assigned to the position from the beginning to the end of the area where the data of the array of the run length compression array can be assigned, the data created when the run length compression of the already known technique is performed Shift the position to substitute and substitute 1 byte at a time. An array is created using the value obtained by adding 1 to the value obtained by adding the size of the array of the run-length compressed array and the size of the array of the second array as the array size. This array is tentatively referred to as a compressed array. Perform processing to assign data to the created compressed array. Data for substituting data required in the decoding process is called header data, a variable is created with a 1-byte type, and this variable is temporarily called a header variable. Substitute the size of the second array into this header variable. That is, the size of the second array is header data. The array size of the second array is the size of the portion of the character string that is left as a standard without compressing the compression target test file written in the text format written in a horizontal row as “Aiueo”. Since it is half the size of the target test file, a value of 5 is substituted. Assign the header variable data to the first position of the compressed array. Each time all data from the first position assigned to the second array to the last position is assigned to the end of the compressed array, the position to be assigned is shifted by 1 byte and assigned by 1 byte. At the end of the compressed array, all the data from the beginning to the end of the run-length compressed array is substituted 1 byte at a time with the position shifted by 1 byte each time it is assigned. At this point, the process of assigning data to the compressed array is completed. A compressed file is created by adding all the data from the beginning to the end of the compressed array in binary format to the end of the file one byte at a time and saving it. Such a processing step is a compression step.

図5の<圧縮対象テストファイルを圧縮工程の処理により圧縮ファイルを作成した状態を示した操作画面図>は、この圧縮工程の処理を終了した状態の図である。 <Operation screen diagram showing a state in which a compressed file is created by the compression process for the compression target test file> in FIG. 5 is a state where the compression process has been completed.

次に、本発明の2分割処理圧縮プログラムを記録した記録媒体を使用して作成した圧縮ファイルを圧縮する前の状態のファイルに戻す場合の説明をする。また、本発明の2分割処理圧縮プログラムを記録した記録媒体を使用して作成した圧縮ファイルを圧縮する前の状態のファイルに戻すという処理で作成するファイルの事を復元ファイルと仮称する。圧縮工程で作成した圧縮ファイルを圧縮する前の元の状態に戻す処理を行う事でファイルを作成するが、作成するファイルを復元ファイルと仮称し、段落〔0014〕に記述した圧縮工程で圧縮ファイルを作成する際に使用する圧縮記録規則を使用して復元ファイルを作成する事とする。この本発明の2分割処理圧縮プログラムを記録した記録媒体の圧縮工程で作成した圧縮ファイルを圧縮する前の状態のファイルに戻す工程を復号工程と仮称する。この復号工程で必要とする技術は、一般的に知られたランレングス圧縮を行う方法(圧縮方法)で圧縮されたファイルまたは、配列を圧縮していない元のファイルの状態に戻す方法または、圧縮していない元の配列の状態に戻す方法(復元方法)を使用する事でも可能である。このランレングス圧縮されたファイルまたは、配列を圧縮されていない元のファイルや配列の状態に戻す方法は、当該事業者に於いては、常識的技術である。この復号工程は、圧縮工程を実行後に行うものとする。なぜならば、圧縮ファイルが存在しない限り復号工程を行う事が出来ないからである。 Next, a description will be given of a case where a compressed file created using a recording medium on which the two-division processing compression program of the present invention is recorded is returned to a file in a state before being compressed. In addition, a file created by the process of returning a compressed file created using a recording medium recording the two-division processing compression program of the present invention to a file in a state before being compressed is temporarily called a restored file. A file is created by performing processing to return the compressed file created in the compression process to the original state before compression. The file to be created is tentatively called a restored file, and the compressed file is created in the compression process described in paragraph [0014]. The decompressed file is created using the compression recording rule used when creating the file. The step of returning the compressed file created in the compression step of the recording medium recording the two-division processing compression program of the present invention to the file in the state before being compressed is temporarily called a decoding step. The technology required for this decoding step is a method of compressing a file compressed by a generally known method of performing run-length compression (compression method), or returning an array to its original uncompressed state or compression. It is also possible to use a method (restoration method) to restore the original array state that has not been performed. The method of returning the run-length compressed file or the sequence to the original uncompressed file or sequence is a common-sense technique for the business operator. This decoding process is performed after the compression process. This is because the decryption process cannot be performed unless there is a compressed file.

ステップ105に進む。ステップ105は、人為的処理である。図符号Gの参照ボタンを図符号Kのマウスなどの入力デバイスを使用してクリックする。これによって、ハードディスクなどの記録媒体の中を閲覧する事が可能になるので、ハードディスクなどの記録媒体から本発明の2分割処理圧縮プログラムを記録した記録媒体の技術で、圧縮対象テストファイルを基に圧縮する事で作成された圧縮ファイルを選択する。選択すると圧縮ファイルのフルパスが図符号Aの2分割処理圧縮するファイルの指定テキストボックスに入力される。また、図符号Jのキーボードなどの入力デバイスを使って図符号Aの2分割処理圧縮するファイルの指定テキストボックスに、直接入力出来るようになっている。ここで、圧縮工程で作成した圧縮ファイルを選択して図符号Aの2分割処理圧縮するファイルの指定テキストボックスに指定する。図符号Kのマウスなどの入力デバイスを使用して、図符号Eの復号ボタンをクリックする。 Proceed to step 105. Step 105 is an artificial process. A reference button indicated by a symbol G is clicked using an input device such as a mouse indicated by a symbol K. As a result, it is possible to browse the recording medium such as a hard disk, so that the recording medium technology in which the two-part processing compression program of the present invention is recorded from the recording medium such as the hard disk is used on the basis of the test file to be compressed. Select the compressed file created by compressing. When selected, the full path of the compressed file is input to the text box for designating the file to be compressed by the two-part process A in FIG. In addition, it is possible to directly input into a designated text box of a file to be compressed by the two-division process of FIG. A using an input device such as a keyboard of FIG. Here, the compressed file created in the compression process is selected and designated in the designation text box of the file to be compressed by the two-part process of FIG. Using an input device such as a mouse indicated by symbol K, a decoding button indicated by symbol E is clicked.

ステップ106に進む。図符号Aの2分割処理圧縮するファイルの指定テキストボックスに入力されたファイルのサイズを取得するが、このファイルのサイズを取得する方法は、ファイルが何byteあるかを検査する事で取得できる。普通、使用しているコンパイラと呼ばれるプログラムを作成する為に使用するソフトウェアにファイルのサイズを取得するプログラムが用意されているので、用意されたプログラムを使用してファイルサイズを取得するものである。自作でプログラムを作成するという方法でファイルサイズを取得する方法も可能である。自作の場合、ファイルを1byteづつ読み込みながら、カウントし、最後までファイルを読み込み終わった後でカウント終了後の数値を取得すれば、何byteあったかを取得できるのである。また、ファイルの最初から最後まで全て読み込んで、読み込んだbit数を取得し、取得したbit数を8で割ると何byteであったかを取得できる。これらの方法は、既に一般的に知られている方法であり、当該事業者に於いては常識である。図符号Aの2分割処理圧縮するファイルの指定テキストボックスに入力されたファイルは、圧縮工程で作成された圧縮ファイルであるが、このファイルのサイズを取得して、取得したファイルのサイズで配列を作成し、この配列をAd配列と仮称する。図符号Aの2分割処理圧縮するファイルの指定テキストボックスに入力された圧縮工程で作成された圧縮ファイルをハードディスクドライブなどの記録媒体から探し出して、バイナリー形式で1byteづつ全て読み込んで、Ad配列の最初の位置から代入する度に1byte分づつ代入する位置をずらして、圧縮ファイルからバイナリー形式で1byteづつ読み込んだデーターを1byteづつAd配列に代入する。 Proceed to step 106. The size of the file input in the designated text box for the file to be compressed in FIG. A divided into two is acquired. A method for acquiring the size of the file can be acquired by examining how many bytes the file is. Usually, since a program for obtaining the file size is prepared in software used for creating a program called a compiler used, the file size is obtained using the prepared program. It is also possible to obtain the file size by creating a program by yourself. In the case of self-made, it is possible to obtain the number of bytes by counting while reading the file one byte at a time, and obtaining the numerical value after the count is completed after reading the file to the end. You can also read all of the file from the beginning to the end, get the number of bits read, and divide the number of bits acquired by 8 to get the number of bytes. These methods are already commonly known methods and are common sense in the business operators concerned. The file input to the file designation text box for the two-part process compression shown in Fig. A is a compressed file created in the compression process. The size of this file is acquired, and the array is arranged with the size of the acquired file. It is created and this sequence is tentatively referred to as an Ad sequence. Search for the compressed file created in the compression process entered in the text box for specifying the file to be compressed in figure A by the compression process, and read all 1 byte at a time in binary format. Every time you substitute from the position of, shift the position to be substituted by 1 byte, and substitute the data read from the compressed file 1 byte at a time in binary format into the Ad array 1 byte at a time.

ステップ107に進む。Ad配列の最初の位置に代入されているデーターを取得して、取得したデーターを基準データー数と仮称し、基準データー数を配列のサイズとして配列を作成する。この配列を第二配列と仮称する。ここから第二配列にデーターを代入する処理を行う。第二配列の最初の位置から最後の位置まで代入する度に1byteづつ代入する位置をずらして、Ad配列の二番目以降に代入されているデーターを1byteづつ第二配列に代入する。第二配列の最後の位置まで代入し終わったら第二配列にデーターを代入する処理を終了する。 Proceed to step 107. The data assigned to the first position of the Ad array is acquired, the acquired data is tentatively referred to as the reference data number, and the array is created with the reference data number as the array size. This array is tentatively referred to as a second array. From here, the process of substituting data into the second array is performed. Each time you assign from the first position to the last position of the second array, the position to be assigned is shifted by 1 byte, and the data assigned to the second and subsequent positions of the Ad array is assigned to the second array by 1 byte. When the assignment to the last position of the second array is completed, the process of assigning data to the second array is terminated.

Ad配列の最後の位置に代入されている数値を取得して、その取得した数値を配列のサイズとした配列を作成する。この作成した配列を第一配列と仮称する。ここから第一配列にデーターを代入する処理を行う。Ad配列の最後の位置よりも1byte手前の位置に代入されている数値を取得して、その取得した数値を第一配列の最初の位置から最後の位置までの全ての位置に数値を代入する。ここまでで第一配列にデーターを代入する処理を終了する。Ad配列の最後の位置よりも1byte手前の位置に代入されている数値は、何と言う文字コードを圧縮したのかを示す文字コードを代入してあるのであるから、取得した数値を何と言う文字が何文字連なっていたかを記録してあるAd配列の最後の位置に代入されている数値分だけ、第一配列の最初から最後までの位置に1byteづつ同じ文字コードを代入すれば、元の第一配列の状態に戻す事ができる事になるので、この様な処理工程になる。 The numerical value assigned to the last position of the Ad array is acquired, and an array is created with the acquired numerical value as the size of the array. This created array is tentatively referred to as a first array. From here, the process of substituting data into the first array is performed. The numerical value assigned to the position 1 byte before the last position of the Ad array is acquired, and the acquired numerical value is assigned to all positions from the first position to the last position of the first array. Thus, the process of assigning data to the first array is completed. Since the numerical value assigned to the position 1 byte before the last position of the Ad array is assigned a character code indicating what character code is compressed, what is the character that says what the obtained numerical value is? If the same character code is assigned 1 byte at a time from the beginning to the end of the first array for the numerical value assigned to the last position of the Ad array that records whether the characters are connected, the original first array It is possible to return to this state, so this processing step is performed.

ステップ108に進む。第一配列の配列のサイズと第二配列の配列のサイズを取得して、取得した両方の数値を加算した数値を配列のサイズとした配列を作成する。作成した配列を復号結果配列と仮称する。1byteの型で変数を二個作成して、この作成した二個の変数を各々回数変数1、回数変数2と仮称する。回数変数1に初期値として0という数値を代入する。回数変数2に初期値として0という数値を代入する。1byteの型で変数を作成する。作成した変数を奇遇数と仮称する。復号結果配列に全てのデーターを代入する為に以下の繰り返し処理を行う。この繰り返し処理を復号結果繰り返し処理と仮称する。復号結果繰り返し処理では、復号結果配列の最初の位置を示すインデックスから最後の位置を示すインデックスまでの全てのインデックスを一つづつ順番に取得して、取得したインデックスを遇奇数に上書き処理(最初だけは遇奇数に代入するだけで上書きしない)で代入する。遇奇数に数値が代入される事によって遇奇数に代入された数値が変わる度に(最初に遇奇数に代入された数値も含めて)以下の処理を行う。遇奇数に代入された数値を2で割った数値が0の場合(偶数の場合)と0ではない場合(奇数の場合)とに分岐処理する。この分岐を分岐2と仮称する。この分岐2で、遇奇数に代入された数値を2で割った数値が0の場合(偶数の場合)は、回数変数1に代入された数値を取得して、取得した数値を第一配列のインデックスとして使用して第一配列に代入されているデーターを取得して、遇奇数に代入された数値を復号結果配列のインデックスとして使用して復号結果配列のインデックスの位置に代入する。次いで、回数変数1に代入された数値に1を加算する。次のインデックスの数値を取得して遇奇数に上書き処理で代入する。この分岐2で、遇奇数に代入された数値を2で割った数値が0ではない場合(奇数の場合)は、回数変数2に代入された数値を取得して、取得した数値を第二配列のインデックスとして使用して第二配列に代入されているデーターを取得して、遇奇数に代入された数値を復号結果配列のインデックスとして使用して復号結果配列のインデックスの位置に代入する。次いで、回数変数2に代入された数値に1を加算する。次のインデックスの数値を取得して遇奇数に上書き処理で代入する。ここまでで、分岐2を終了する。この処理を復号結果配列に付けられた全てのインデックスに対して処理を行い終えたら、復号結果繰り返し処理を終了する。 Proceed to step 108. The size of the array of the first array and the size of the array of the second array are acquired, and an array is created with the numerical value obtained by adding both the acquired numerical values as the array size. The created array is tentatively referred to as a decoding result array. Two variables are created in a 1-byte type, and the created two variables are tentatively called a count variable 1 and a count variable 2, respectively. Substitute a numerical value of 0 as the initial value for the count variable 1. Substitute a numerical value of 0 as the initial value for the count variable 2. Create a variable with 1 byte type. The created variable is tentatively called an odd number. The following iterative process is performed to assign all data to the decoding result array. This iterative process is tentatively referred to as a decoding result iterative process. In the decoding result repetition process, all indexes from the index indicating the first position of the decoding result array to the index indicating the last position are acquired one by one in order, and the acquired index is overwritten with odd numbers (only the first Is assigned to odd numbers, not overwritten). Each time the numerical value assigned to the odd odd number is changed by assigning the numerical value to the odd odd number (including the numerical value initially assigned to the odd odd number), the following processing is performed. Branch processing is performed when the numerical value assigned to the odd number divided by 2 is 0 (even number) and not 0 (odd number). This branch is tentatively referred to as branch 2. In this branch 2, if the numerical value assigned to the odd number is divided by 2 and the value is 0 (even), the numerical value assigned to the number variable 1 is obtained, and the obtained numerical value is The data assigned to the first array is obtained by using it as an index, and the numerical value assigned to the odd number is used as the index of the decoding result array and assigned to the index position of the decoding result array. Next, 1 is added to the numerical value assigned to the number variable 1. The numerical value of the next index is acquired and assigned to the odd number by overwriting. In this branch 2, if the numerical value assigned to odd odd number divided by 2 is not 0 (in the case of odd number), the numerical value assigned to number variable 2 is acquired, and the acquired numerical value is stored in the second array. The data assigned to the second array is obtained as an index of the data, and the numerical value assigned to the odd number is used as the index of the decoding result array, and assigned to the index position of the decoding result array. Next, 1 is added to the numerical value assigned to the number variable 2. The numerical value of the next index is acquired and assigned to the odd number by overwriting. At this point, the branch 2 is completed. When this process is completed for all indexes attached to the decoding result array, the decoding result repetition process is terminated.

前述の圧縮工程で既に知られているランレングス圧縮の技術を使用して圧縮ファイルを作成した場合は、この復号工程は、以下の様になる。ランレングス圧縮した部分をAd配列に代入された全てのデーターの中から、Ad配列に記録されたランレングス圧縮部分がAd配列のどの位置からどの位置までに記録されているかを指し示すデーターを取得して、取得したデーターを元にランレングス圧縮した部分をAd配列に代入された全てのデーターの中から、抽出して、抽出したデーターを第一配列の最初の位置から最後の位置までに代入する度に1byte分づつ代入する位置をずらして代入する。Ad配列に記録されたランレングス圧縮部分を除いた部分のデーターをAd配列に記録されたデーターから抽出して、第二配列の最初の位置から最後の位置までに、代入する度に1byte分づつ代入する位置をずらして代入する。第一配列と第二配列にデーターを代入した後は、段落〔0049〕の処理を行い、段落〔0051〕から段落〔0052〕の処理を行って処理を終了するという復号工程となる。 When a compressed file is created using the run-length compression technique already known in the above-described compression process, the decoding process is as follows. Acquires the data that indicates from which position of the Ad sequence the run-length compressed part recorded in the Ad sequence is recorded from all the data in which the run-length compressed part is assigned to the Ad array. Then, the run-length compressed part based on the acquired data is extracted from all the data assigned to the Ad array, and the extracted data is assigned from the first position to the last position of the first array Shift the position to be substituted by 1 byte each time. The data of the part excluding the run-length compressed part recorded in the Ad array is extracted from the data recorded in the Ad array, and it is 1 byte each time it is substituted from the first position to the last position of the second array. Substitute the position to substitute. After the data is assigned to the first array and the second array, the process of paragraph [0049] is performed, the processes of paragraphs [0051] to [0052] are performed, and the process ends.

復号結果配列に代入された全てのデーターを1byteづつ取得して、図符号Dの復号結果を表示するリストボックスに全て表示させる。 All the data assigned to the decoding result array is acquired one byte at a time, and all the data is displayed in the list box that displays the decoding result of the graphic code D.

復号結果配列に代入されたの最初から最後までの全てのデーターをバイナリー形式で1byteづつファイルの末尾に付け加えて記録保存する事で復元ファイルを作成する。復号工程を終了する。ここまでの処理工程の処理をコンピューターに実行させるプログラムを記録したコンピューターが読み取る事が可能な記録媒体が第二の発明である。 A restoration file is created by adding all the data from the beginning to the end assigned to the decoding result array to the end of the file one byte at a time in binary format and recording and saving it. The decoding process ends. A recording medium that can be read by a computer that records a program for causing a computer to execute the processing steps so far is a second invention.

図6の<圧縮対象テストファイルから作成した圧縮ファイルを復号工程の処理を行った状態を示した操作画面図>がこの復号工程を終了した状態の図である。 FIG. 6 is an operation screen diagram showing a state in which the compressed file created from the compression target test file is subjected to the decryption process. FIG.

段落〔0049〕の配列に付けられたインデックスの取得方法は、当該事業者に於いては常識的技術である。説明する必要性が無いと思われるが少し説明しておく事とする。コンパイラと呼ばれるプログラムを作成する為に用いるプログラムを使用している場合、自動的にこのコンパイラと呼ばれるプログラムによって配列の最初から最後の位置までに0番から順次1づつ数値が増えて行く連番が付けられるものである。この事は、段落〔0006〕で説明済みである。配列のサイズが10の配列の場合、インデックスは、0から9までの数値がコンパイラと呼ばれるプログラムによって自動的に付けられるという事である。従って、0から9までの数値が配列のインデックスとなるのである。段落〔0049〕の配列の最初から最後までのインデックスを一つづつ取得すると記述しているが、そのインデックスを取得する方法は、0番から配列の最後の位置までの連番を作成して、その連番の中から1個づつ順番に数値を取得する事で実現するものである。配列のサイズが10の場合で説明すると、0から9までの10個の数値を作成して、1個づつ取得するという意味である。配列の位置を指定する時に配列のインデックスを指定する事はできるが、その反対に代入されたデーターからインデックスを取得する事は出来ない。代入されたデーターの位置を0から1づつカウントして数値を得る事でインデックスと同じ数値を取得するというのが普通のインデックスの取得方法である。 The method of obtaining the index attached to the array in paragraph [0049] is a common-sense technique for the operator. There seems to be no need to explain, but I will explain a little. If you are using a program used to create a program called a compiler, the program called this compiler will automatically increase the number from 0 to 1 in order from the beginning to the end of the array. It is attached. This has been explained in paragraph [0006]. In the case of an array having an array size of 10, an index is automatically assigned a numerical value from 0 to 9 by a program called a compiler. Therefore, a numerical value from 0 to 9 becomes an index of the array. Although it is described that the index from the beginning to the end of the array of paragraph [0049] is acquired one by one, the method of acquiring the index is to create a serial number from 0 to the last position of the array, This is achieved by acquiring numerical values one by one from the serial number. In the case where the size of the array is 10, it means that 10 numerical values from 0 to 9 are created and acquired one by one. You can specify the index of the array when specifying the position of the array, but you cannot get the index from the assigned data. An ordinary index acquisition method is to acquire the same numerical value as the index by counting the position of the assigned data one by one from 0 to obtain the numerical value.

本発明の2分割処理圧縮プログラムを記録した記録媒体のフローチャート図The flowchart figure of the recording medium which recorded the 2 division | segmentation process compression program of this invention 本発明の2分割処理圧縮プログラムを記録した記録媒体の操作画面図Operation screen diagram of a recording medium on which the two-division processing compression program of the present invention is recorded 本発明に使用した機材の説明図Illustration of the equipment used in the present invention 圧縮対象テストファイルの内容を示した図Figure showing contents of test file to be compressed 圧縮対象テストファイルを圧縮工程の処理により圧縮ファイルを作成した状態を示した操作画面図Operation screen showing the compressed file created by the compression process for the test file to be compressed 圧縮対象テストファイルから作成した圧縮ファイルを復号工程の処理を行った状態を示した操作画面図Operation screen showing a state where the compressed file created from the test file to be compressed is processed in the decryption process

A:2分割処理圧縮するファイルの指定テキストボックス
B:第一配列の内容を表示するリストボックス
C:第二配列の内容を表示するリストボックス
D:復号結果を表示するリストボックス
E:復号ボタン
F:実行ボタン
G:参照ボタン
H:モニター
I:コンピューター本体
J:キーボード
K:マウス
L:人為的な手動による操作または、入力
M:本発明の2分割処理圧縮プログラムを記録した記録媒体とコンピューターによる自動処理
A: Designating text box for file to be divided into two parts B: List box for displaying the contents of the first array C: List box for displaying the contents of the second array D: List box for displaying the decoding result E: Decoding button F : Execution button G: Reference button H: Monitor I: Computer main body J: Keyboard K: Mouse L: Artificial manual operation or input M: Recording medium recording the two-part processing compression program of the present invention and automatic by computer processing

Claims (2)

以下に、配列や変数などを作成すると記述しているが配列や変数などが作成される場所は、コンピューター本体の内部にある本体メモリーに作成される事とし、1byteの型で全ての変数や配列を作成する事とし、以下に、配列の最初の位置から代入する度に1byte分づつ代入する位置をずらして、データーを配列に代入していく場合は、配列の最初の位置に代入する場合であっても、配列の末尾に代入すると記述している場合があるとし、以下の分岐処理に於いて分岐条件に該当しない場合どうするかを記述していない場合があるが、分岐条件に該当しない場合どうするかを記述していない場合は、何も処理を行わないという事とし、コンピューターで普通に使われているテキスト文字(日本国では、ASCIIコード2文字で1文字を表す全角文字とASCIIコード1文字で表す半角文字のこと)をテキスト文字と呼んだり、テキスト文字の事を文字コードと呼んだりする事があるとし、1byteづつデーターを配列に代入していく場合に於いて、配列に代入するデーターの順番について断り書きが無い場合は、取得した元のデーター(作成したデーターや取得したデーターや読み込んだデーターや元の配列に代入されていたデーターなど)の順番通りに1byteづつ配列に代入する事とし、以下に、配列の型とは、配列に代入する事ができる1個のデーターが使用するコンピューターに在る本体メモリーで使用するbit数または、byte数を意味するものであり、変数にも同じく型があるが、変数の型も配列の型と全く同じであるとし、配列のサイズとは、配列に代入する事が出来るデーターの数の事を言う事とし、以下に、配列のインデックスとは、配列に代入されるデーターの位置を示す番号の事を言うという事とし、配列のデーターを代入できる領域の最初の位置に付けられるインデックスは、0番となり、順次1づつ番号が増えた数値が配列のデーターを代入できる各々の配列の位置に付されるものとし、以下に、「アイウエオ」と横一行に書かれたテキストファイルの事を圧縮対象テストファイルと呼ぶ事とし、以下のプログラムによる処理で圧縮対象テストファイルを使用して圧縮ファイルを作成するが、作成した圧縮ファイルを圧縮する前の元の状態に戻す為の処理を行う時に必要となる規則であり、この作成する圧縮ファイルに記録するデーターの内容と記録する順番を予め決めておく規則の事を圧縮記録規則と仮称し、圧縮ファイルの最初のデーターは、基準数を数値として1byte分で記録する事とし、圧縮ファイルの二番目のデーターは、基準として残した文字列を代入する事をとし、圧縮ファイルの三番目のデーターは、何と言う文字コードを圧縮したかを1byte分で記録する事とし、最後のデーターは、圧縮した文字コードが何文字連なっていたかという記録の文字数を1byte分の数値として記録するという事を規則とする事を圧縮記録規則とし、圧縮対象テストファイルをバイナリー形式で読み込んだデーターを全て代入できるサイズで配列を作成し、作成した配列を仮称A配列と仮称し、A配列に圧縮対象テストファイルから読み込んだデーターをA配列の最初の位置から代入する度に1byteづつ代入する位置をずらして、圧縮対象テストファイルから読み込んだデーターを1byteづつ代入し、A配列の配列サイズを2で割ったサイズで配列を2個作成し、第一配列と第二配列と仮称し、A配列の最初から最後まで繰り返し処理を行うが、この繰り返し処理をセパレート繰り返し処理と仮称し、セパレート繰り返し処理では、A配列のデーターが代入されている位置を示すインデックスを2で割った余りがある場合とA配列のデーターが代入されている位置を示すインデックスを2で割った余りがない場合とに分岐し、この分岐を分岐1と仮称し、この分岐1のA配列のデーターが代入されている位置を示すインデックスを2で割った余りがない場合は、A配列に代入されたデーターが代入されている位置を示すインデックスを使用してA配列に代入されたデーターを取得して、取得したデーターを第一配列の末尾に代入し、この分岐1のA配列のデーターが代入されている位置を示すインデックスを2で割った余りがある場合は、A配列に代入されたデーターが代入されている位置を示すインデックスを使用してA配列に代入されたデーターを取得して、取得したデーターを第二配列の末尾に代入し、これで分岐1を終了し、A配列に代入されたデーターを全て処理し終わったら、セパレート繰り返し処理を終了し、1byteの型で配列のサイズを2とした配列を作成し、この配列をランレングス圧縮配列と仮称し、ここからランレングス圧縮配列にデーターを代入する処理工程を行う事とし、ランレングス圧縮配列のデーターを代入する事ができる領域の最初の位置に代入するデーターは、何と言う文字コードを圧縮したかという文字コードを代入する事とし、ランレングス圧縮配列のデーターを代入する事ができる領域の最後の位置に代入するデーターは、ランレングス圧縮配列のデーターを代入する事ができる領域の最初の位置に代入された文字コードが何文字連なっていたかという記録をする為の文字数を代入する事とし、第一配列の最初の位置に代入されたデーターを取得してランレングス圧縮配列の最初の位置に代入し、1byteの型で変数を作成して、この変数をカウント変数と仮称し、カウント変数に初期値として0を代入し、第一配列に代入された全てのデーターに対して以下の繰り返し処理を行うが、この繰り返し処理を文字コードランレングス処理と仮称し、文字コードランレングス処理は、ランレングス圧縮配列の最初の位置に代入されたデーターと第一配列の最初の位置から最終までの位置に代入された全てのデーターを比較検査する事とし、比較検査している第一配列に代入されたデーターの位置を注目位置と仮称し、文字コードランレングス処理では、ランレングス圧縮配列の最初の位置に代入されたデーターと第一配列の注目位置にあるデーターが同じデーターであったら、カウント変数に代入された数値に1を加えた数値を算出してカウント変数に上書き処理をして、第一配列の注目位置を一つ進める事で第一配列に代入された次の位置のデーターと比較検査を行う事とし、ランレングス圧縮配列の最初の位置に代入されたデーターと第一配列の注目位置にあるデーターが違うデーターであったら、何も行わないで、第一配列の注目位置を一つ進める事で第一配列に代入された次の位置のデーターと比較検査を行う事とし、注目位置を第一配列の最初の位置から最終までの位置にずらす事で第一配列に代入された全てのデーターに対してランレングス圧縮配列の最初の位置に代入されたデーターと比較検査する処理を行う事とし、第一配列に代入された全てのデーターとランレングス圧縮配列の最初の位置に代入されたデーターを比較検査し終わったら、文字コードランレングス処理を終了し、ランレングス圧縮配列の末尾にカウント変数に代入された数値を代入し、ここまででランレングス圧縮配列にデーターを代入する処理工程を終了し、第二配列の配列のサイズとランレングス圧縮配列の配列のサイズとを加算した数値に1を加えた数値を配列のサイズとして配列を作成し、この配列を圧縮配列と仮称し、作成した圧縮配列にデーターを代入する処理を行う事とし、1byteの型で変数を作成し、この変数をヘッダー変数と仮称し、このヘッダー変数に第二配列の配列のサイズを代入し、圧縮配列の最初の位置にヘッダー変数のデーターを代入し、圧縮配列の末尾に、第二配列に代入された最初の位置から最後の位置までの全てのデーターを代入する度に1byte分づつ代入する位置をずらして1byteづつ代入し、圧縮配列の末尾に、ランレングス圧縮配列の最初から最後までの全てのデーターを代入する度に1byte分づつ代入する位置をずらして1byteづつ代入し、ここまでで、圧縮配列にデーターを代入する処理を終了し、圧縮配列の最初から最後までの全てのデーターをバイナリー形式で1byteづつファイルの末尾に付け加えて記録保存する事で圧縮ファイルを作成するという処理をコンピューターに実行させるプログラムを記録したコンピューターが読み取る事が可能な記録媒体 In the following, it is described that arrays and variables are created, but the place where arrays and variables are created is to be created in the internal memory inside the computer, and all variables and arrays are 1 byte type. If you assign the data to the array by shifting the assignment position by 1 byte each time you assign from the first position of the array, the following is the case of assigning to the first position of the array Even if there is a case where it is described to be assigned to the end of the array, there is a case where it does not describe what to do when it does not meet the branch condition in the following branch processing, but it does not correspond to the branch condition If you do not describe what to do, do nothing, and use text characters that are normally used on computers (in Japan, two-byte ASCII code representing one character and ASCI). An I-code half-width character) is called a text character, or a text character is called a character code. When substituting data into an array one byte at a time, an array If there is no notice about the order of the data to be assigned to, an array of 1 byte according to the order of the acquired original data (created data, acquired data, read data, data assigned to the original array, etc.) In the following, the type of array means the number of bits or bytes used in the main memory of the computer that uses one piece of data that can be assigned to the array. The variable has the same type, but the variable type is exactly the same as the array type, and the size of the array is the number of data that can be assigned to the array. In the following, the array index means the number indicating the position of the data to be assigned to the array, and the index assigned to the first position of the area where the array data can be assigned is number 0, A numerical value that is incremented one by one is added to each array position where array data can be assigned, and the text file written in the horizontal line as “Aiweo” is the test file to be compressed. The following program will create a compressed file using the compression target test file, but this rule is necessary when performing the process to restore the compressed file to its original state before compression. Yes, the rule that predetermines the contents of data to be recorded in the compressed file to be created and the order of recording is tentatively called the compression recording rule. The first data is recorded as 1 byte with the reference number as a numerical value, the second data of the compressed file is substituted with the character string left as the reference, and the third data of the compressed file is It shall be recorded in 1 byte whether the character code is compressed, and the last data shall be recorded as a numerical value of 1 byte, which is the number of recorded characters indicating how many compressed character codes are connected. Is a compression recording rule, and an array is created with a size that can be substituted for all the data read from the test file to be compressed in binary format. The created array is tentatively named A array, and the data read from the test file to be compressed into A array Each time a value is assigned from the first position in the A array, the assignment position is shifted by 1 byte, and the data read from the test file to be compressed is incremented by 1 byte. Substitute and create two arrays by dividing the array size of A array by 2 and tentatively name them as the first array and the second array, and repeat the process from the beginning to the end of the A array. This is tentatively called separate repetition processing. In separate repetition processing, there is a remainder when the index indicating the position where the data of the A array is assigned is divided by 2, and the index indicating the position where the data of the A array is assigned is 2. If there is no remainder when divided by 1, this branch is tentatively called branch 1, and if there is no remainder when the index indicating the position where the data of the A array of branch 1 is assigned is divided by 2, A Get the data assigned to the A array using the index that indicates the position where the data assigned to the array is assigned, and assign the obtained data to the end of the first array. If there is a remainder when the index indicating the position where the column data is assigned is divided by 2, the data assigned to the A array using the index indicating the position where the data assigned to the A array is assigned Is obtained, and the obtained data is assigned to the end of the second array, and branch 1 is terminated. When all the data assigned to the A array has been processed, the separate repetition process is terminated and the 1-byte type is obtained. Create an array with an array size of 2 and tentatively name this array as a run-length compressed array. From here, the process of assigning data to the run-length compressed array is performed, and the data of the run-length compressed array is assigned. For the data to be assigned to the first position of the area that can be used, the character code indicating what the character code is compressed is assigned, and the data of the run-length compressed array is assigned. -The data to be assigned to the last position of the area where the value can be assigned is a record of how many consecutive character codes were assigned to the first position of the area where the data of the run length compression array can be assigned. The number of characters to be substituted is assigned, the data assigned to the first position of the first array is obtained, assigned to the first position of the run-length compressed array, a variable is created with a 1-byte type, and this variable Is temporarily called a count variable, and 0 is assigned to the count variable as an initial value, and the following iteration is performed for all data assigned to the first array. This iteration is called character code run-length processing. However, the character code run-length process is performed using the data assigned to the first position of the run-length compressed array and all data assigned to the positions from the first position to the end of the first array. The position of the data assigned to the first array being compared and inspected is tentatively referred to as the position of interest. In the character code run-length process, the data assigned to the first position of the run-length compressed array If the data at the position of interest in the first array is the same data, calculate the value obtained by adding 1 to the numerical value assigned to the count variable, overwrite the count variable, and change the position of interest in the first array. By proceeding one step, the data at the next position assigned to the first array will be compared and checked, and the data assigned to the first position of the run-length compressed array is different from the data at the target position of the first array. If it is data, do nothing, and advance the attention position of the first sequence by one to compare with the data of the next position assigned to the first array, and the attention position of the first sequence By shifting from the first position to the last position, all the data assigned to the first array is compared with the data assigned to the first position of the run-length compressed array. When all the data assigned to the array is compared with the data assigned to the first position of the run-length compressed array, the character code run-length processing is terminated, and the count variable is assigned to the end of the run-length compressed array. This completes the process of assigning data to the run-length compressed array so far, and 1 is added to the value obtained by adding the size of the array of the second array and the size of the array of the run-length compressed array. Create an array with numeric values as the size of the array, tentatively name this array as a compressed array, and perform processing to assign data to the created compressed array. Create and tentatively call this variable a header variable, assign the size of the second array array to this header variable, assign the header variable data to the first position of the compressed array, and add the second variable to the end of the compressed array. Every time all data from the first position assigned to the array to the last position is assigned, the assignment position is shifted by 1 byte, and assigned 1 byte at a time. At the end of the compressed array, the run-length compressed array starts from the end. Every time all the data up to is substituted, the substitution position is shifted by 1 byte and substituted by 1 byte, so far, the process of assigning data to the compressed array is completed, and all the data from the beginning to the end of the compressed array are finished. A program that records the program that causes the computer to execute the process of creating a compressed file by adding data to the end of the file in binary format and recording and saving it. Recording medium can be pewter reads 以下に、配列や変数などを作成すると記述しているが配列や変数などが作成される場所は、コンピューター本体の内部にある本体メモリーに作成される事とし、1byteの型で全ての変数や配列を作成する事とし、以下に、配列の最初の位置から代入する度に1byte分づつ代入する位置をずらして、データーを配列に代入していく場合は、配列の最初の位置に代入する場合であっても、配列の末尾に代入すると記述している場合があるとし、以下の分岐処理に於いて分岐条件に該当しない場合どうするかを記述していない場合があるが、分岐条件に該当しない場合どうするかを記述していない場合は、何も処理を行わないという事とし、コンピューターで普通に使われているテキスト文字(日本国では、ASCIIコード2文字で1文字を表す全角文字とASCIIコード1文字で表す半角文字のこと)をテキスト文字と呼んだり、テキスト文字の事を文字コードと呼んだりする事があるとし、1byteづつデーターを配列に代入していく場合に於いて、配列に代入するデーターの順番について断り書きが無い場合は、取得した元のデーター(作成したデーターや取得したデーターや読み込んだデーターや元の配列に代入されていたデーターなど)の順番通りに1byteづつ配列に代入する事とし、以下に、配列の型とは、配列に代入する事ができる1個のデーターが使用するコンピューターに在る本体メモリーで使用するbit数または、byte数を意味するものであり、変数にも同じく型があるが、変数の型も配列の型と全く同じであるとし、配列のサイズとは、配列に代入する事が出来るデーターの数の事を言う事とし、以下に、配列のインデックスとは、配列に代入されるデーターの位置を示す番号の事を言うという事とし、配列のデーターを代入できる領域の最初の位置に付けられるインデックスは、0番となり、順次1づつ番号が増えた数値が配列のデーターを代入できる各々の配列の位置に付されるものとし、以下に、「アイウエオ」と横一行に書かれたテキストファイルの事を圧縮対象テストファイルと呼ぶ事とし、〔請求項1〕で作成した圧縮ファイルを圧縮する前の元の状態に戻す処理を行う事でファイルを作成するが、作成するファイルを復元ファイルと仮称し、〔請求項1〕の圧縮記録規則を使用して復元ファイルを作成する事とし、〔請求項1〕で作成した圧縮ファイルのサイズを取得し、取得した圧縮ファイルのサイズで配列を作成し、作成した配列をAd配列と仮称し、〔請求項1〕で作成した圧縮ファイルをバイナリー形式で1byteづつ全て読み込んで、Ad配列の最初の位置から代入する度に1byte分づつ代入する位置をずらして、圧縮ファイルからバイナリー形式で1byteづつ読み込んだデーターを1byteづつAd配列に代入し、Ad配列の最初の位置に代入されているデーターを取得して、取得したデーターを基準データー数と仮称し、基準データー数を配列のサイズとして配列を作成し、この配列を第二配列と仮称し、ここから第二配列にデーターを代入する処理を行う事とし、第二配列の最初の位置から最後の位置まで代入する度に1byteづつ代入する位置をずらして、Ad配列の二番目以降に代入されているデーターを1byteづつ第二配列に代入し、第二配列の最後の位置まで代入し終わったら第二配列にデーターを代入する処理を終了し、Ad配列の最後の位置に代入されている数値を取得して、その取得した数値を配列のサイズとした配列を作成し、この作成した配列を第一配列と仮称し、ここから第一配列にデーターを代入する処理を行う事とし、Ad配列の最後の位置よりも1byte手前の位置に代入されている数値を取得して、その取得した数値を第一配列の最初の位置から最後の位置までの全ての位置に数値を代入し、ここまでで第一配列にデーターを代入する処理を終了し、第一配列の配列のサイズと第二配列の配列のサイズを取得して、取得した両方の数値を加算した数値を配列のサイズとした配列を作成し、作成した配列を復号結果配列と仮称し、1byteの型で変数を二個作成して、この作成した二個の変数を各々回数変数1、回数変数2と仮称し、回数変数1に初期値として0という数値を代入し、回数変数2に初期値として0という数値を代入し、1byteの型で変数を作成し、作成した変数を奇遇数と仮称し、復号結果配列に全てのデーターを代入する為に以下の繰り返し処理を行うが、この繰り返し処理を復号結果繰り返し処理と仮称し、復号結果繰り返し処理では、復号結果配列の最初の位置を示すインデックスから最後の位置を示すインデックスまでの全てのインデックスを一つづつ取得して、取得したインデックスを遇奇数に上書き処理(最初だけは遇奇数に代入するだけで上書きしない)で代入し、遇奇数に数値が代入される事によって遇奇数に代入された数値が変わる度に(最初に遇奇数に代入された数値も含めて)以下の処理を行う事とし、遇奇数に代入された数値を2で割った数値が0の場合(偶数の場合)と0ではない場合(奇数の場合)とに分岐処理し、この分岐を分岐2と仮称し、この分岐2で、遇奇数に代入された数値を2で割った数値が0の場合(偶数の場合)は、回数変数1に代入された数値を取得して、取得した数値を第一配列のインデックスとして使用して第一配列に代入されているデーターを取得して、遇奇数に代入された数値を復号結果配列のインデックスとして使用して復号結果配列のインデックスの位置に代入し、次いで、回数変数1に代入された数値に1を加算し、次のインデックスの数値を取得して遇奇数に上書き処理で代入し、この分岐2で、遇奇数に代入された数値を2で割った数値が0ではない場合(奇数の場合)は、回数変数2に代入された数値を取得して、取得した数値を第二配列のインデックスとして使用して第二配列に代入されているデーターを取得して、遇奇数に代入された数値を復号結果配列のインデックスとして使用して復号結果配列のインデックスの位置に代入し、次いで、回数変数2に代入された数値に1を加算し、次のインデックスの数値を取得して遇奇数に上書き処理で代入し、ここまでで分岐2を終了し、この処理を復号結果配列に付けられた全てのインデックスに対して処理を行い終えたら、復号結果繰り返し処理を終了する。この処理を全ての復号結果配列のインデックスに対して処理を行い終えたら、復号結果繰り返し処理を終了し、復号結果配列に代入されたの最初から最後までの全てのデーターをバイナリー形式で1byteづつファイルの末尾に付け加えて記録保存する事で復元ファイルを作成するという処理をコンピューターに実行させるプログラムを記録したコンピューターが読み取る事が可能な記録媒体 In the following, it is described that arrays and variables are created, but the place where arrays and variables are created is to be created in the internal memory inside the computer, and all variables and arrays are 1 byte type. If you assign the data to the array by shifting the assignment position by 1 byte each time you assign from the first position of the array, the following is the case of assigning to the first position of the array Even if there is a case where it is described to be assigned to the end of the array, there is a case where it does not describe what to do when it does not meet the branch condition in the following branch processing, but it does not correspond to the branch condition If you do not describe what to do, do nothing, and use text characters that are normally used on computers (in Japan, two-byte ASCII code representing one character and ASCI). An I-code half-width character) is called a text character, or a text character is called a character code. When substituting data into an array one byte at a time, an array If there is no notice about the order of the data to be assigned to, an array of 1 byte according to the order of the acquired original data (created data, acquired data, read data, data assigned to the original array, etc.) In the following, the type of array means the number of bits or bytes used in the main memory of the computer that uses one piece of data that can be assigned to the array. The variable has the same type, but the variable type is exactly the same as the array type, and the size of the array is the number of data that can be assigned to the array. In the following, the array index means the number indicating the position of the data to be assigned to the array, and the index assigned to the first position of the area where the array data can be assigned is number 0, A numerical value that is incremented one by one is added to each array position where array data can be assigned, and the text file written in the horizontal line as “Aiweo” is the test file to be compressed. The file is created by performing the process of restoring the compressed file created in [Claim 1] to the original state before compression. The file to be created is tentatively called a restored file, and [Claim 1]. The decompression file is created using the compression recording rule of, the size of the compressed file created in [Claim 1] is obtained, and an array is created with the obtained size of the compressed file. The created array is tentatively named Ad array, and the compressed file created in [Claim 1] is read in 1 byte in binary format, and the substitution position is shifted by 1 byte each time it is substituted from the first position of Ad array. The data read from the compressed file in binary format in 1 byte is substituted into the Ad array by 1 byte, the data assigned to the first position of the Ad array is obtained, and the obtained data is tentatively referred to as the reference data number. Create an array with the number of data as the size of the array, tentatively name this array as the second array, and assign data to the second array from here, from the first position to the last position of the second array Each time it is assigned, the assignment position is shifted by 1 byte, the data assigned after the second of the Ad array is assigned to the second array by 1 byte, and the assignment to the last position of the second array is completed. Finishes the process of assigning data to the second array, obtains the numerical value assigned to the last position of the Ad array, creates an array with the obtained numerical value as the size of the array, and creates this array Tentatively named as the first array, and from here the data is assigned to the first array, and the numerical value assigned to the position 1 byte before the last position of the Ad array is obtained and obtained. Substituting numerical values into all positions from the first position to the last position of the first array, and ending the process of assigning data to the first array so far, the size of the array of the first array and the second The array size is obtained, and an array is created with the number obtained by adding both of the obtained values as the array size. The created array is tentatively called the decoding result array, and two variables of 1 byte type are created. Then, the created two variables are each set to the number of times variable 1 , Tentatively named the number variable 2, assign a numerical value of 0 as the initial value to the number variable 1, assign a numerical value of 0 as the initial value to the number variable 2, create a variable with a 1-byte type, and the created variable is odd The following iterative process is performed in order to assign all data to the decoding result array, and this iterative process is tentatively referred to as a decoding result repetition process. In the decoding result repetition process, the first position of the decoding result array All the indexes from the index indicating the index to the index indicating the last position are acquired one by one, and the acquired index is overwritten to the odd number (only the first is assigned to the odd number and not overwritten), Each time the numerical value assigned to the odd odd number is changed by assigning a numerical value to the odd odd number (including the numerical value initially assigned to the odd odd number), the following processing is performed. When the number divided by 2 is 0 (even number) and not 0 (odd number), branch processing is performed, this branch is tentatively named branch 2, and this branch 2 is treated as odd If the assigned number divided by 2 is 0 (if it is an even number), the number assigned to the number variable 1 is obtained, and the obtained number is used as the first array index. Is obtained, and the numerical value assigned to the odd number is used as the index of the decoding result array, and assigned to the index position of the decoding result array. If 1 is added, the value of the next index is obtained and assigned to the odd number by overwriting, and the value assigned to odd number is divided by 2 in this branch 2 is not 0 (in case of odd number) ) Acquires the numerical value assigned to the count variable 2 and sets the acquired numerical value to the second Use the column index to get the data assigned to the second array, use the odd number assigned as the decoding result array index, assign it to the decoding result array index position, then , 1 is added to the numerical value assigned to the number variable 2, the numerical value of the next index is obtained and assigned to the odd number by overwriting, branch 2 is completed so far, and this processing is attached to the decoding result array. When all the indexes are processed, the decoding result repetition process is terminated. When this process is completed for all the decoding result array indexes, the decoding result repetition process is terminated, and all the data from the beginning to the end assigned to the decoding result array is filed in 1-byte binary format. Recording medium that can be read by a computer that records a program that causes the computer to execute the process of creating a restoration file by adding to the end of the file and saving it
JP2011284551A 2011-12-26 2011-12-26 Recording medium on which a two-part processing compression program is recorded Expired - Fee Related JP5001458B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011284551A JP5001458B1 (en) 2011-12-26 2011-12-26 Recording medium on which a two-part processing compression program is recorded

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011284551A JP5001458B1 (en) 2011-12-26 2011-12-26 Recording medium on which a two-part processing compression program is recorded

Publications (2)

Publication Number Publication Date
JP5001458B1 true JP5001458B1 (en) 2012-08-15
JP2013135344A JP2013135344A (en) 2013-07-08

Family

ID=46793979

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011284551A Expired - Fee Related JP5001458B1 (en) 2011-12-26 2011-12-26 Recording medium on which a two-part processing compression program is recorded

Country Status (1)

Country Link
JP (1) JP5001458B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000201080A (en) * 1999-01-07 2000-07-18 Fujitsu Ltd Data compressing/restoring device and method using additional code
JP2010186334A (en) * 2009-02-12 2010-08-26 Fujitsu Ltd Program, apparatus and method for processing data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000201080A (en) * 1999-01-07 2000-07-18 Fujitsu Ltd Data compressing/restoring device and method using additional code
JP2010186334A (en) * 2009-02-12 2010-08-26 Fujitsu Ltd Program, apparatus and method for processing data

Also Published As

Publication number Publication date
JP2013135344A (en) 2013-07-08

Similar Documents

Publication Publication Date Title
US9230016B2 (en) User input auto-completion
US7663511B2 (en) Dynamic character encoding
JP6476647B2 (en) Compression program, compression apparatus, compression method, decompression program, decompression apparatus, and decompression method
JP5812188B2 (en) Program, compressed data generation method, decompression method, information processing apparatus, and recording medium
US20160006454A1 (en) Compression device, compression method, decompression device, decompression method, information processing system, and recording medium
CN110716739A (en) Code change information statistical method, system and readable storage medium
JP2019067096A (en) Recording medium recording code-code classification and search software
JP5001458B1 (en) Recording medium on which a two-part processing compression program is recorded
CN106354450B (en) Communication system and communication means
JP6719862B2 (en) PDF data retrieval system and program for PDF data retrieval system
JP6931442B2 (en) Coding program, index generator, search program, coding device, index generator, search device, coding method, index generation method and search method
US9424293B2 (en) Row, table, and index compression
US8463759B2 (en) Method and system for compressing data
WO2015008650A1 (en) Medical-image management device, and medical-image management method
JP6512294B2 (en) Compression program, compression method and compression apparatus
JP5674974B2 (en) Compressed data processing program, compressed data editing program
US20130144885A1 (en) File search apparatus and method using attribute information
JP6096970B1 (en) Recording medium on which Malmo compression software is recorded
JP5336645B1 (en) Recording medium recording multiple multiplier division software
US20150193462A1 (en) Control method and control device
JP5149454B1 (en) Recording medium on which YKM format compression program is recorded
JP5346156B2 (en) Program, inverted index storage method and search method
JP6511752B2 (en) Encoding apparatus, encoding method, decoding apparatus, decoding method, and program
US20160210304A1 (en) Computer-readable recording medium, information processing apparatus, and conversion process method
JP7073431B2 (en) Source code analysis system and source code analysis method

Legal Events

Date Code Title Description
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: 20120508

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150525

R154 Certificate of patent or utility model (reissue)

Free format text: JAPANESE INTERMEDIATE CODE: R154

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150525

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5001458

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees