JP5001458B1 - 2分割処理圧縮プログラムを記録した記録媒体 - Google Patents
2分割処理圧縮プログラムを記録した記録媒体 Download PDFInfo
- 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
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
可逆圧縮技術に於いて、圧縮率を向上させる事を目的とする。非可逆圧縮を適用している圧縮ファイルの場合は、非可逆圧縮の利用量を減らす事と、従来方式の非可逆圧縮よりも、圧縮率を向上させる事を目的とする。
【解決手段】
圧縮対象ファイルを読み込んだ配列のデーターの位置を示す番号が奇数の場合と偶数の場合とで二つに分けた配列を作成し、偶数の位置のデーターだけの配列にランレングス圧縮してファイルを圧縮する事で高圧縮率を得る方法を提供する。
【選択図】 図1
Description
奥村晴彦・山崎敏 著 LHAとZIP 圧縮アルゴリズム×プログラミング入門 ソフトバンク パブリッシング株式会社 2003/12/6 初版 亀山渉・金子格・渡辺裕 著 そこが知りたい最新技術 オーディオ・ビデオ圧縮入門 株式会社 インプレスR&D 2007/4/1 初版第1刷発行
131
65
131
67
131
69
131
71
131
73
必ず、131という文字コードが互い違いに記述されるのである。従って、131をまとめてしまえば、単純計算で50%の圧縮率が得られるという事になるのである。和文の文章の場合は、殆どの場合がこの様な文字コードの組み合わせになりので、その為、かなりの高圧縮率を期待できるのである。そこで、圧縮前の処理として1文字目だけのデーターを代入した配列と2文字目だけのデーターを代入した配列を作成して、その配列に代入されたデーターが1文字目だけにまとめられた方の配列に対してランレングス圧縮を行う事でファイルを圧縮するプログラムを提供する事で圧縮率の向上を図ったプログラムを提供する事とした。本発明のASCIIコードを使用した圧縮を行う圧縮工程をテキストレベルの圧縮と呼ぶ事がある。また、本発明の技術で圧縮したファイルを復号する復号工程をテスキトレベルの復号と呼ぶ事がある。
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分割処理圧縮プログラムを記録した記録媒体である事を明言する。
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である。
B:第一配列の内容を表示するリストボックス
C:第二配列の内容を表示するリストボックス
D:復号結果を表示するリストボックス
E:復号ボタン
F:実行ボタン
G:参照ボタン
H:モニター
I:コンピューター本体
J:キーボード
K:マウス
L:人為的な手動による操作または、入力
M:本発明の2分割処理圧縮プログラムを記録した記録媒体とコンピューターによる自動処理
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づつファイルの末尾に付け加えて記録保存する事で圧縮ファイルを作成するという処理をコンピューターに実行させるプログラムを記録したコンピューターが読み取る事が可能な記録媒体
- 以下に、配列や変数などを作成すると記述しているが配列や変数などが作成される場所は、コンピューター本体の内部にある本体メモリーに作成される事とし、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づつファイルの末尾に付け加えて記録保存する事で復元ファイルを作成するという処理をコンピューターに実行させるプログラムを記録したコンピューターが読み取る事が可能な記録媒体
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011284551A JP5001458B1 (ja) | 2011-12-26 | 2011-12-26 | 2分割処理圧縮プログラムを記録した記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011284551A JP5001458B1 (ja) | 2011-12-26 | 2011-12-26 | 2分割処理圧縮プログラムを記録した記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5001458B1 true JP5001458B1 (ja) | 2012-08-15 |
JP2013135344A JP2013135344A (ja) | 2013-07-08 |
Family
ID=46793979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011284551A Expired - Fee Related JP5001458B1 (ja) | 2011-12-26 | 2011-12-26 | 2分割処理圧縮プログラムを記録した記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5001458B1 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000201080A (ja) * | 1999-01-07 | 2000-07-18 | Fujitsu Ltd | 付加コ―ドを用いたデ―タ圧縮/復元装置および方法 |
JP2010186334A (ja) * | 2009-02-12 | 2010-08-26 | Fujitsu Ltd | データ処理プログラム、データ処理装置およびデータ処理方法 |
-
2011
- 2011-12-26 JP JP2011284551A patent/JP5001458B1/ja not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000201080A (ja) * | 1999-01-07 | 2000-07-18 | Fujitsu Ltd | 付加コ―ドを用いたデ―タ圧縮/復元装置および方法 |
JP2010186334A (ja) * | 2009-02-12 | 2010-08-26 | Fujitsu Ltd | データ処理プログラム、データ処理装置およびデータ処理方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2013135344A (ja) | 2013-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9230016B2 (en) | User input auto-completion | |
US7663511B2 (en) | Dynamic character encoding | |
US9509333B2 (en) | Compression device, compression method, decompression device, decompression method, information processing system, and recording medium | |
JP6476647B2 (ja) | 圧縮プログラム、圧縮装置、圧縮方法、伸長プログラム、伸長装置および伸長方法 | |
JP5812188B2 (ja) | プログラム、圧縮データ生成方法、伸張方法、情報処理装置、および記録媒体 | |
US20190052284A1 (en) | Data compression apparatus, data decompression apparatus, data compression program, data decompression program, data compression method, and data decompression method | |
JP6343081B1 (ja) | 符号符号分類検索ソフトウェアを記録した記録媒体 | |
JP5001458B1 (ja) | 2分割処理圧縮プログラムを記録した記録媒体 | |
CN106354450B (zh) | 通信系统以及通信方法 | |
US10318483B2 (en) | Control method and control device | |
US8463759B2 (en) | Method and system for compressing data | |
JP6931442B2 (ja) | 符号化プログラム、インデックス生成プログラム、検索プログラム、符号化装置、インデックス生成装置、検索装置、符号化方法、インデックス生成方法および検索方法 | |
US9424293B2 (en) | Row, table, and index compression | |
JP5674974B2 (ja) | 圧縮データ処理プログラム、圧縮データ編集プログラム | |
JP7073431B2 (ja) | ソースコード解析システムおよびソースコード解析方法 | |
JP5336645B1 (ja) | 倍数乗数分割ソフトウェアを記録した記録媒体 | |
JP6512294B2 (ja) | 圧縮プログラム、圧縮方法および圧縮装置 | |
JP6096970B1 (ja) | マルメ圧縮ソフトウェアを記録した記録媒体 | |
JP5149454B1 (ja) | Ykm形式圧縮プログラムを記録した記録媒体 | |
JPWO2015008650A1 (ja) | 医用画像管理装置及び医用画像管理方法 | |
JP5346156B2 (ja) | プログラム、転置インデックスの格納方法及び検索方法 | |
KR102739945B1 (ko) | 압축된 게노믹 데이터로부터 파일업 파일을 생성하는 방법 및 장치 | |
JP6511752B2 (ja) | 符号化装置、符号化方法、復号装置、復号方法、及び、プログラム | |
US20160210304A1 (en) | Computer-readable recording medium, information processing apparatus, and conversion process method | |
JP4944266B1 (ja) | 2分割文字検索ソフトウェア |
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 |