図面 (/)

技術 倍数乗数分割ソフトウェアを記録した記録媒体

出願人 神山義尚
発明者 神山義尚
出願日 2012年12月17日 (8年5ヶ月経過) 出願番号 2012-274162
公開日 2014年6月30日 (6年10ヶ月経過) 公開番号 2014-119934
状態 特許登録済
技術分野 検索装置 計算機におけるファイル管理 データ変換
主要キーワード 判断変数 パターン解析処理 EBCDIC タブレット型コンピューター 配列要素数 byte目 終端マーク 多次元配列
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2014年6月30日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (6)

課題

コンピューターで使われているファイル圧縮する場合や差分ファイルを作成する場合などで従来方式の2進数表記した文字を2byteや4byte文字列として記録する方法だと、圧縮や差分ファイル作成を行うファイルに処理可能最大ファイルサイズが発生してしまうという問題と固定長ファイル分割方法分割サイズを変化させてファイルを分割すると分割サイズをファイルのどこかに記録する必要があるという問題がある。

解決手段

255を超える数値を255以下の数値に分割して記録する為に、255を超える数値を254で割って、倍数で記録し、その倍数が254を超える場合は、乗数で記録するという数値分割処理を行う事で問題を解決する。

概要

背景

圧縮技術に関する文献としては、〔非特許文献1〕と〔非特許文献2〕がある。
晴彦・山崎敏 著LHAとZIP圧縮アルゴリズム×プログラミング入門ソフトバンクパブリッシング株式会社 2003/12/6初版
亀山渉 金子格 渡辺裕 著 そこが知りたい最新技術オーディオビデオ圧縮技術入門 株式会社インプレスR&D2007年4月1日初版第1刷発行

〔非特許文献1〕は、ZIP形式の圧縮技術とLZH形式の圧縮技術を説明した文献である。それとともに、今日までに開発された圧縮技術を紹介している文献である。この文献では、LZH形式の圧縮技術の場合は、2byteの記録サイズ2進数で記録する方法を紹介している。ZIP形式のの圧縮技術の場合は、4byteの記録サイズに2進数で記録する方法を紹介している。しかし、本発明の倍数乗数分割ソフトウェアを記録した記録媒体の様な2進数で表現された数値を254や255の倍数や乗数と余りという数値を算出して記録する方法は一切記載されていない。

〔非特許文献2〕は、基礎的な圧縮技術として可逆圧縮非可逆圧縮の説明がされている。その説明の後でJPEG形式の圧縮技術やMPEG形式の圧縮技術やH.264/AVC形式の圧縮技術などの圧縮技術を説明している。しかし、本発明の倍数乗数分割ソフトウェアを記録した記録媒体の様な2進数で表現された数値を254や255の倍数や乗数と余りという数値を算出して記録する方法は一切記載されていない。

概要

コンピューターで使われているファイルを圧縮する場合や差分ファイルを作成する場合などで従来方式の2進数で表記した文字を2byteや4byte文字列として記録する方法だと、圧縮や差分ファイル作成を行うファイルに処理可能最大ファイルサイズが発生してしまうという問題と固定長ファイル分割方法分割サイズを変化させてファイルを分割すると分割サイズをファイルのどこかに記録する必要があるという問題がある。255を超える数値を255以下の数値に分割して記録する為に、255を超える数値を254で割って、倍数で記録し、その倍数が254を超える場合は、乗数で記録するという数値分割処理を行う事で問題を解決する。

目的

本発明の倍数乗数分割ソフトウェアを記録した記録媒体の技術は、数値を分割処理する為の技術であって、ファイルの終了位置を記す事を目的とする

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

以下に、配列や変数などを作成すると記述しているが配列や変数などが作成される場所は、コンピューター本体の内部にある本体メモリーに作成される事とし、以下に、配列の末尾データー代入すると記述している場合があるが、配列の最初の位置に代入する場合でも配列の末尾に代入するという記述をする事があるとし、ファイルの末尾に書き込むという記述の場合は、ファイルの最初の位置に書き込む場合でもファイルの末尾に書き込むと記述している場合がある事とし、以下の分岐処理に於いて分岐条件に該当しない場合どうするかを記述していない場合があるが、分岐条件に該当しない場合どうするかを記述していない場合は、何も処理を行わないという事とし、また、コンピューターで普通に使われているテキスト文字(日本国では、ASCIIコード文字で1文字を表す全角文字とASCIIコード1文字で表す半角文字のこと)をテキスト文字と呼んだり、テキスト文字の事を文字コードまたは、文字と呼んだりする事があるとし、また、2進数数値を2進数と呼んだり、10進数の数値を10進数と略して呼んだりする事があるとし、データーを配列に代入していく場合に於いて、配列に代入するデーターの順番について断り書きが無い場合は、取得した元のデーター(作成したデーターや取得したデーターや読み込んだデーターや元の配列に代入されていたデーターなど)の順番通りに配列に代入する事とし、以下に、配列の型とは、配列に代入する事ができる1個のデーターが使用するコンピューターに在る本体メモリーで使用するbit数または、byte数を意味するものであり、変数にも同じく型があるが、変数の型も配列の型と全く同じであるとし、配列のサイズとは、配列に代入する事が出来るデーターの数の事を言う事とし、string型で配列や変数を作成して、作成したstring型の配列や変数に文字列や文字を代入すると自動的に文字コードに変換されて配列や変数に代入されるものであるが、この様なstring型の配列や変数の事を文字列を代入する事が出来る配列や変数と表現する事とし、文字列を代入する事が出来る配列を作成する場合は、「何bitのstring型で幾つのサイズで配列を作成する」という表現で配列を作成する事とし、文字列を代入する事が出来る変数を作成する場合は、「何byteまたは、何bitのstring型で変数を作成する」という表現をする事とし、string型ではない配列を作成する場合は、「何bitの型で幾つのサイズで配列を作成する」という表現をする事とし、string型ではない変数を作成する場合は、「何bitの型で変数を作成する」という表現で変数を作成する事とし、以下に、配列番号とは、配列に代入されるデーターの位置を示す番号の事を言うという事とし、配列のデーターを代入できる領域の最初の位置に付けられる番号は、0番となり、順次1づつ番号が増えた数値が配列のデーターを代入できる各々の配列の位置に付されるものとし、以下の処理で数値を分割処理する工程を行う事とするが、数値を255以下数値に分割する工程を分割工程と呼ぶ事とし、分割工程で処理する事ができる数値は、0から9,223,372,036,854,775,807までの小数点以下の数値を含まない正数値である事とし、0から9,223,372,036,854,775,807までの小数点以下の数値を含まない正数値の中から、任意に決めた数値を元データー変数に代入し、元データー変数に対して分割工程を実行させる事とし、分割工程では、終端マークとして255を使用する事とし、1byteに代入する事ができる最大値は、254とし、255を数値として使用しない事とし、中間マークには、0を使用する事とし、64bitの型で16個の変数を作成し、各々の変数を、最初の余り変数、倍数変数、倍数の余り変数、ユニット変数、ユニット2変数、ユニット3変数、ユニット4変数、ユニット5変数、ユニット6変数、ユニットの余り変数、ユニット2の余り変数、ユニット3の余り変数、ユニット4の余り変数、ユニットの5余り変数と、仮称し、倍数値を算出させて、算出させた数値を代入する為の変数を64bitの型で作成して、算出倍数変数と呼ぶ事とし、余りを算出させて算出させた数値を代入する変数を64bitの型で作成して、算出余り変数と呼ぶ事とし、1byteの型で変数を作成して、作成した変数を判断変数と呼ぶ事とし、1byteの型で0のサイズで配列を作成して、作成した配列を分割配列と呼ぶ事とし、以下で既に作成した分割配列のサイズ(配列に代入できるデーターの数)を指定して作成しなおすという処理を行うが、この配列のサイズ変更リサイズ処理と呼ぶ事とし、元データー変数に代入された数値が254より小さい場合と254と等しい場合と254より大きい場合との3種類に分岐し、この分岐を分割1分岐と呼ぶ事とし、分割1分岐で、元データー変数に代入された数値が254より小さい場合は、計算せずにそのままの数値を計算結果とし、分割配列のサイズを1byteの型で1のサイズにリサイズ処理をして、計算結果を分割配列の最初の位置に代入する事とし、判断変数に、0を代入し、分割1分岐で、元データー変数に代入された数値が254と等しい場合は、計算せずに計算結果をそのままの数値の254とし、分割配列のサイズを1byteの型で2のサイズにリサイズ処理をして、計算結果の254という数値を分割配列の最初の位置に代入し、分割配列の最後の位置に終端マークの255という数値を代入する事とし、判断変数に、0を代入し、分割1分岐で、元データー変数に代入された数値が254より大きい場合は、以下の処理を行う事とし、判断変数に、1を代入し、元データー変数に代入された数値を254で割って得られた数値に小数点以下の数値が無い場合は、そのままの数値を算出倍数変数に代入し、元データー変数に代入された数値を254で割って得られた数値に小数点以下の数値が無い場合は、算出余り変数には0を代入し、元データー変数に代入された数値を254で割って得られた数値に小数点以下の数値がある場合は、少数点以下を切り捨てた数値を算出倍数変数に代入し、元データー変数に代入された数値を254で割って得られた数値に小数点以下の数値がある場合は、元データー変数に代入された数値を254で割った場合の余りを、算出余り変数に代入し、算出倍数変数に代入された数値を倍数変数に代入し、算出余り変数に代入されている数値を最初の余り変数に代入し、分割1分岐を終了する事とし、判断変数に代入された数値で分岐する事とし、この分岐を分割2分岐と呼ぶ事とし、分割2分岐で、判断変数に代入された数値が1の場合と判断変数に代入された数値が0の場合とに分岐する事とし、分割2分岐で、判断変数に代入された数値が1の場合は、倍数変数に代入された数値が254以下の場合と255以上の場合とに分岐する事とし、この分岐を大小1分岐と仮称し、大小1分岐で、算出倍数変数に代入された数値が254以下の場合は、以下の処理を行う事とし、分割配列のサイズを1byteの型で5のサイズにリサイズ処理をして、254を分割配列の最初の位置に代入し、中間マークの0を分割配列の2番目の位置に代入し、倍数変数に代入された数値を分割配列の3番目の位置に代入し、最初の余り変数に代入された数値を分割配列の4番目の位置に代入し、終端マークの255を分割配列の最後の位置に代入する事とし、判断変数に、0を代入し、大小1分岐で、算出倍数変数に代入された数値が255以上の場合は、以下の処理を行う事とし、算出倍数変数に代入された数値を254で割って得られた数値に小数点以下の数値が無かった場合は、そのままの数値を算出倍数変数に上書きで代入し、算出倍数変数に代入された数値を254で割って得られた数値に小数点以下の数値が無かった場合は、算出余り変数に0を上書きで代入し、算出倍数変数に代入された数値を254で割って得られた数値に小数点以下があった場合は、小数点以下を切り捨てて、得られた数値を算出倍数変数に上書きで代入し、算出倍数変数に代入された数値を254で割って得られた数値に小数点以下があった場合は、算出倍数変数に代入された数値を254で割って得られた余りを、算出余り変数に上書きで代入し、算出倍数変数に代入された数値をユニット変数に代入し、算出余り変数に代入されている数値を倍数の余り変数に代入し、大小1分岐で、ユニット変数に代入された数値が254以下の場合と255以上の場合とに分岐する事とし、この分岐を大小子1分岐と仮称し、大小子1分岐で、ユニット変数に代入された数値が254以下の場合は、以下の処理を行う事とし、分割配列を1byteの型で5のサイズにリサイズ処理をして、254を分割配列の最初の位置に代入し、ユニット変数に代入された数値を分割配列の2番目の位置に代入し、倍数の余り変数に代入された数値を分割配列の3番目の位置に代入し、最初の余り変数に代入された数値を分割配列の4番目の位置に代入し、終端マークの255を分割配列の最後の位置に代入する事とし、判断変数に、0を代入し、大小子1分岐で、ユニット変数に代入された数値が255以上の場合は、以下の処理を行う事とし、判断変数に、1を代入し、大小子1分岐を終了する事とし、判断変数に代入された数値が1であった場合と0であった場合で分岐する事とし、この分岐を判断1分岐と仮称し、判断1分岐で、判断変数に代入された数値が1であった場合は、以下の処理を行う事とし、ユニット変数に代入された数値から254を減算して得た数値を算出倍数変数に上書きで代入し、算出倍数変数の数値を254で割って得られた数値に小数点以下の数値が無い場合は、そのままの数値を算出倍数変数に上書きで代入し、算出倍数変数の数値を254で割って得られた数値に小数点以下の数値が無い場合は、算出余り変数に0を上書きで代入し、算出倍数変数の数値を254で割って得られた数値に小数点以下の数値があった場合は、小数点以下を切り捨てて、算出倍数変数に上書きで代入し、算出倍数変数の数値を254で割って得られた数値に小数点以下の数値があった場合は、算出倍数変数の数値を254で割って得られた余りを算出余り変数に上書きで代入し、ユニット2変数に算出倍数変数に代入された数値を代入し、ユニットの余り変数に算出余り変数に代入された数値を代入し、判断1分岐で、ユニット2変数に代入された数値が254以下の場合と255以上の場合とに分岐する事とし、この分岐を大小子2分岐と仮称し、大小子2分岐でユニット2変数に代入された数値が254以下の場合は、分割配列を1byteの型で7のサイズにリサイズ処理して、分割配列の最初の位置に254を代入し、分割配列の2番目の位置に254を代入し、分割配列の3番目の位置にユニット2変数の数値を代入し、分割配列の4番目の位置にユニットの余り変数に代入された数値を代入し、分割配列の5番目の位置に倍数の余り変数に代入された数値を代入し、分割配列の6番目の位置に最初の余り変数の数値を代入し、分割配列の最後の位置に、終端マークの255を代入する事とし、判断変数に0を代入し、大小子2分岐でユニット2変数に代入された数値が255以上の場合は、判断変数に1を代入して、大小子2分岐を終了する事とし、判断1分岐で、判断変数に代入された数値が0であった場合は、何も処理をせずに、判断1分岐を終了する事とし、判断変数に代入された数値が0の場合と1の場合とに分岐する事とし、この分岐を判断2分岐と仮称し、判断2分岐で、判断変数に代入された数値が1の場合は、以下の処理を行う事とし、ユニット2変数に代入された数値から254を減算して得た数値を算出倍数変数に上書きで代入し、算出倍数変数の数値を254で割って得られた数値に小数点以下の数値が無い場合は、そのままの数値を算出倍数変数に上書きで代入し、算出倍数変数の数値を254で割って得られた数値に小数点以下の数値が無い場合は、算出余り変数に0を上書きで代入し、算出倍数変数の数値を254で割って得られた数値に小数点以下の数値があった場合は、小数点以下を切り捨てて、算出倍数変数に上書きで代入し、算出倍数変数の数値を254で割って得られた数値に小数点以下の数値があった場合は、算出倍数変数の数値を254で割って得られた余りを算出余り変数に上書きで代入し、ユニット3変数に算出倍数変数に代入された数値を代入し、ユニット2の余り変数に算出余り変数に代入された数値を代入し、判断2分岐で、ユニット3変数に代入された数値が254以下の場合と255以上の場合とに分岐する事とし、この分岐を大小子3分岐と仮称し、大小子3分岐で、ユニット3変数に代入された数値が254以下の場合は、分割配列を1byteの型で9のサイズにリサイズ処理して、分割配列の最初の位置に254を代入し、分割配列の2番目の位置に254を代入し、分割配列の3番目の位置に254を代入し、分割配列の4番目の位置にユニット3変数の数値を代入し、分割配列の5番目の位置にユニット2の余り変数の数値を代入し、分割配列の6番目の位置にユニットの余り変数に代入された数値を代入し、分割配列の7番目の位置に倍数の余り変数に代入された数値を代入し、分割配列の8番目の位置に最初の余り変数に代入された数値を代入し、分割配列の最後の位置に、終端マークの255を代入する事とし、判断変数に0を代入し、大小子3分岐で、ユニット3変数に代入された数値が255以上の場合は、判断変数に1を代入して、大小子3分岐を終了する事とし、判断2分岐で、判断変数に代入された数値が0の場合は、何も行わずに判断2分岐を終了する事とし、判断変数に代入された数値が0の場合と1の場合とに分岐する事とし、この分岐を判断3分岐と仮称し、判断3分岐で、判断変数に代入された数値が1の場合は、以下の処理を行う事とし、ユニット3変数に代入された数値から254を減算して得た数値を算出倍数変数に上書きで代入し、算出倍数変数の数値を254で割って得られた数値に小数点以下の数値が無い場合は、そのままの数値を算出倍数変数に上書きで代入し、算出倍数変数の数値を254で割って得られた数値に小数点以下の数値が無い場合は、算出余り変数に0を上書きで代入し、算出倍数変数の数値を254で割って得られた数値に小数点以下の数値があった場合は、小数点以下を切り捨てて、算出倍数変数に上書きで代入し、算出倍数変数の数値を254で割って得られた数値に小数点以下の数値があった場合は、算出倍数変数の数値を254で割って得られた余りを算出余り変数に上書きで代入し、ユニット4変数に算出倍数変数に代入された数値を代入し、ユニット3の余り変数に算出余り変数に代入された数値を代入し、判断3分岐で、ユニット4変数に代入された数値が254以下の場合と255以上の場合とに分岐する事とし、この分岐を大小子4分岐と仮称し、大小子4分岐で、ユニット4変数に代入された数値が254以下の場合は、分割配列を1byteの型で11のサイズにリサイズ処理して、分割配列の最初の位置に254を代入し、分割配列の2番目の位置に254を代入し、分割配列の3番目の位置に254を代入し、分割配列の4番目の位置に254を代入し、分割配列の5番目の位置にユニット4変数の数値を代入し、分割配列の6番目の位置にユニット3の余り変数の数値を代入し、分割配列の7番目の位置にユニット2の余り変数に代入された数値を代入し、分割配列の8番目の位置にユニットの余り変数に代入された数値を代入し、分割配列の9番目の位置に倍数の余り変数に代入された数値を代入し、分割配列の10番目の位置に最初の余り変数に代入された数値を代入し、分割配列の最後の位置に、終端マークの255を代入する事とし、判断変数に0を代入し、大小子4分岐で、ユニット4変数に代入された数値が255以上の場合は、判断変数に1を代入して、大小子4分岐を終了する事とし、判断3分岐で、判断変数に代入された数値が0の場合は、何も行わずに判断3分岐を終了する事とし、判断変数に代入された数値が0の場合と1の場合とに分岐する事とし、この分岐を判断4分岐と仮称し、判断4分岐で、判断変数に代入された数値が1の場合は、以下の処理を行う事とし、ユニット4変数に代入された数値から254を減算して得た数値を算出倍数変数に上書きで代入し、算出倍数変数の数値を254で割って得られた数値に小数点以下の数値が無い場合は、そのままの数値を算出倍数変数に上書きで代入し、算出倍数変数の数値を254で割って得られた数値に小数点以下の数値が無い場合は、算出余り変数に0を上書きで代入し、算出倍数変数の数値を254で割って得られた数値に小数点以下の数値があった場合は、小数点以下を切り捨てて、算出倍数変数に上書きで代入し、算出倍数変数の数値を254で割って得られた数値に小数点以下の数値があった場合は、算出倍数変数の数値を254で割って得られた余りを算出余り変数に上書きで代入し、ユニット5変数に算出倍数変数に代入された数値を代入し、ユニット4の余り変数に算出余り変数に代入された数値を代入し、判断4分岐で、ユニット5変数に代入された数値が254以下の場合と255以上の場合とに分岐する事とし、この分岐を大小子5分岐と仮称し、大小子5分岐で、ユニット5変数に代入された数値が254以下の場合は、分割配列を1byteの型で13のサイズにリサイズ処理して、分割配列の最初の位置に254を代入し、分割配列の2番目の位置に254を代入し、分割配列の3番目の位置に254を代入し、分割配列の4番目の位置に254を代入し、分割配列の5番目の位置に254を代入し、分割配列の6番目の位置にユニット5変数の数値を代入し、分割配列の7番目の位置にユニット4の余り変数の数値を代入し、分割配列の8番目の位置にユニット3の余り変数に代入された数値を代入し、分割配列の9番目の位置にユニット2の余り変数に代入された数値を代入し、分割配列の10番目の位置にユニットの余り変数に代入された数値を代入し、分割配列の11番目の位置に倍数の余り変数に代入された数値を代入し、分割配列の12番目の位置に最初の余り変数に代入された数値を代入し、分割配列の最後の位置に、終端マークの255を代入する事とし、判断変数に0を代入し、大小子5分岐で、ユニット5変数に代入された数値が255以上の場合は、判断変数に1を代入して、大小子5分岐を終了する事とし、判断4分岐で、判断変数に代入された数値が0の場合は、何も行わずに判断4分岐を終了する事とし、判断変数に代入された数値が0の場合と1の場合とに分岐する事とし、この分岐を判断5分岐と仮称し、判断5分岐で、判断変数に代入された数値が1の場合は、以下の処理を行う事とし、ユニット5変数に代入された数値から254を減算して得た数値を算出倍数変数に上書きで代入し、算出倍数変数の数値を254で割って得られた数値に小数点以下の数値が無い場合は、そのままの数値を算出倍数変数に上書きで代入し、算出倍数変数の数値を254で割って得られた数値に小数点以下の数値が無い場合は、算出余り変数に0を上書きで代入し、算出倍数変数の数値を254で割って得られた数値に小数点以下の数値があった場合は、小数点以下を切り捨てて、算出倍数変数に上書きで代入し、算出倍数変数の数値を254で割って得られた数値に小数点以下の数値があった場合は、算出倍数変数の数値を254で割って得られた余りを算出余り変数に上書きで代入し、ユニット6変数に算出倍数変数に代入された数値を代入し、ユニット5の余り変数に算出余り変数に代入された数値を代入し、判断5分岐で、ユニット6変数に代入された数値が254以下の場合と255以上の場合とに分岐する事とし、この分岐を大小子6分岐と仮称し、大小子6分岐で、ユニット6変数に代入された数値が254以下の場合は、分割配列を1byteの型で15のサイズにリサイズ処理する事とし、分割配列の最初の位置に254を代入し、分割配列の2番目の位置に254を代入し、分割配列の3番目の位置に254を代入し、分割配列の4番目の位置に254を代入し、分割配列の5番目の位置に254を代入し、分割配列の6番目の位置に254を代入し、分割配列の7番目の位置にユニット6変数の数値を代入し、分割配列の8番目の位置にユニット5の余り変数の数値を代入し、分割配列の9番目の位置にユニット4の余り変数に代入された数値を代入し、分割配列の10番目の位置にユニット3の余り変数に代入された数値を代入し、分割配列の11番目の位置にユニット2の余り変数に代入された数値を代入し、分割配列の12番目の位置にユニットの余り変数に代入された数値を代入し、分割配列の13番目の位置に倍数の余り変数に代入された数値を代入し、分割配列の14番目の位置に最初の余り変数に代入された数値を代入し、分割配列の最後の位置に、終端マークの255を代入する事とし、判断変数に0を代入し、大小子5分岐で、ユニット6変数に代入された数値が255以上の場合は、判断変数に1を代入して、大小子6分岐を終了する事とし、判断5分岐で、判断変数に代入された数値が0の場合は、何も行わずに判断5分岐を終了する事とし、これで、大小1分岐を終了する事とし、分割2分岐で、判断変数に代入された数値が0の場合は、何も処理を行わずに、分割2分岐を終了する事とし、バイナリー形式でファイルを作成して、作成したファイルに分割配列の最初の位置から最後の位置までに代入された1byteづつの数値をファイルの末尾に1byteづつ書き込んでファイルを作成する処理をコンピューターに実行させるプログラムを記録したコンピューターが読み取る事が可能な記録媒体

請求項2

以下に、配列や変数などを作成すると記述しているが配列や変数などが作成される場所は、コンピューター本体の内部にある本体メモリーに作成される事とし、以下に、配列の末尾にデーターを代入すると記述している場合があるが、配列の最初の位置に代入する場合でも配列の末尾に代入するという記述をする事があるとし、以下の分岐処理に於いて分岐条件に該当しない場合どうするかを記述していない場合があるが、分岐条件に該当しない場合どうするかを記述していない場合は、何も処理を行わないという事とし、また、コンピューターで普通に使われているテキスト文字(日本国では、ASCIIコード2文字で1文字を表す全角文字とASCIIコード1文字で表す半角文字のこと)をテキスト文字と呼んだり、テキスト文字の事を文字コードまたは、文字と呼んだりする事があるとし、また、2進数の数値を2進数と呼んだり、10進数の数値を10進数と略して呼んだりする事があるとし、データーを配列に代入していく場合に於いて、配列に代入するデーターの順番について断り書きが無い場合は、取得した元のデーター(作成したデーターや取得したデーターや読み込んだデーターや元の配列に代入されていたデーターなど)の順番通りに配列に代入する事とし、以下に、配列の型とは、配列に代入する事ができる1個のデーターが使用するコンピューターに在る本体メモリーで使用するbit数または、byte数を意味するものであり、変数にも同じく型があるが、変数の型も配列の型と全く同じであるとし、配列のサイズとは、配列に代入する事が出来るデーターの数の事を言う事とし、string型で配列や変数を作成して、作成したstring型の配列や変数に文字列や文字を代入すると自動的に文字コードに変換されて配列や変数に代入されるものであるが、この様なstring型の配列や変数の事を文字列を代入する事が出来る配列や変数と表現する事とし、文字列を代入する事が出来る配列を作成する場合は、「何bitのstring型で幾つのサイズで配列を作成する」という表現で配列を作成する事とし、文字列を代入する事が出来る変数を作成する場合は、「何byteまたは、何bitのstring型で変数を作成する」という表現をする事とし、string型ではない配列を作成する場合は、「何bitの型で幾つのサイズで配列を作成する」という表現をする事とし、string型ではない変数を作成する場合は、「何bitの型で変数を作成する」という表現で変数を作成する事とし、以下に、配列番号とは、配列に代入されるデーターの位置を示す番号の事を言うという事とし、配列のデーターを代入できる領域の最初の位置に付けられる番号は、0番となり、順次1づつ番号が増えた数値が配列のデーターを代入できる各々の配列の位置に付されるものとし、〔請求項1〕で作成したファイルを復元対象ファイルと呼ぶ事とし、復元対象ファイルを1byteの型で1byteづつ読み込むのに必要なサイズの配列を作成し、この配列を復元対象配列と仮称し、復元対象ファイルをバイナリー形式で開いてファイルに記録されている全ての数値を1byteづつ読み込んで、読み込んだ1byteづつの数値を復元対象配列の最初の位置から最後の位置までに、1byte代入する度に1byte分づつ代入する位置をずらして代入し、計算結果を代入する変数を64bitの型で作成する事とし、この作成した変数を計算結果変数と呼ぶ事とし、復元対象配列の最初の位置に代入された数値が254より小さい場合と254と等しい場合とに分岐する事とし、この分岐をD大小分岐と仮称し、復元対象配列の最初の位置に代入された数値を配列1と呼び、復元対象配列の2番目の位置に代入された数値を配列2と呼び、復元対象配列の3番目の位置に代入された数値を配列3と呼び、復元対象配列の4番目の位置に代入された数値を配列4と呼び、復元対象配列の5番目の位置に代入された数値を配列5と呼び、復元対象配列の6番目の位置に代入された数値を配列6と呼び、復元対象配列の7番目の位置に代入された数値を配列7と呼び、復元対象配列の8番目の位置に代入された数値を配列8と呼び、復元対象配列の9番目の位置に代入された数値を配列9と呼び、復元対象配列の10番目の位置に代入された数値を配列10と呼び、復元対象配列の11番目の位置に代入された数値を配列11と呼び、復元対象配列の12番目の位置に代入された数値を配列12と呼び、復元対象配列の13番目の位置に代入された数値を配列13と呼び、復元対象配列の14番目の位置に代入された数値を配列14と呼び、復元対象配列の15番目の位置に代入された数値を配列15と呼ぶ事とし、また、復元対象配列に代入された数値を示す場合に、配列1とか配列2とか配列3という具合に略して配列に代入された数値を示す事があるという事とし、D大小1分岐で、配列1が254より小さい場合は、計算せずにそのままの数値を計算結果として、計算結果変数に代入する事とし、D大小1分岐で、配列1が254と等しい場合は、以下の場合に分岐する事とし、この分岐をD大小2分岐と仮称し、D大小2分岐で、配列2が255である場合は、254を計算結果として、計算結果変数に代入する事とし、D大小2分岐で、配列2が0と等しくて、配列3が1以上で、配列4が0以上で、配列5が255であった場合は、以下の計算を行う事とし、(配列3×254)+(配列4)を算出して、計算結果変数に代入する事とし、D大小2分岐で、配列2が1以上で、配列3が1以上で、配列4が0以上で、配列5が255の場合は、以下の計算を行う事とし、(配列2×254×254)+(配列3×254)+(配列4)を算出して、計算結果変数に代入する事とし、D大小2分岐で、配列2が254で、配列3が1以上で、配列4が1以上で、配列5が1以上で、配列6が0以上で、配列7が255の場合は、以下の計算を行う事とし、(配列2×254×254×254)+(配列3×254×254×254)+(配列4×254×254)+(配列5×254)+(配列6)を算出して、計算結果変数に代入する事とし、D大小2分岐で、配列2が254で、配列3が254で、配列4が1以上で、配列5が1以上で、配列6が1以上で、配列7が1以上で、配列8が0以上で、配列9が255の場合は、以下の計算を行う事とし、(配列2×254×254×254×254)+(配列3×254×254×254)+(配列4×254×254×254×254)+(配列5×254×254×254)+(配列6×254×254)+(配列7×254)+(配列8)を算出して、計算結果変数に代入する事とし、D大小2分岐で、配列2が254で、配列3が254で、配列4が254で、配列5が1以上で、配列6が1以上で、配列7が1以上で、配列8が1以上で、配列9が1以上で、配列10が0以上で、配列11が255の場合は、以下の計算を行う事とし、(配列2×254×254×254×254×254)+(配列3×254×254×254×254)+(配列4×254×254×254×254)+(配列5×254×254×254×254×254)+(配列6×254×254×254×254)+(配列7×254×254×254)+(配列8×254×254)+(配列9×254)+(配列10)を算出して、計算結果変数に代入する事とし、D大小2分岐で、配列2が254で、配列3が254で、配列4が254で、配列5が254で、配列6が1以上で、配列7が1以上で、配列8が1以上で、配列9が1以上で、配列10が1以上で、配列11が1以上で、配列12が0以上で、配列13が255の場合は、以下の計算を行う事とし、(配列2×254×254×254×254×254×254)+(配列3×254×254×254×254×254)+(配列4×254×254×254×254)+(配列5×254×254×254)+(配列6×254×254×254×254×254×254)+(配列7×254×254×254×254×254)+(配列8×254×254×254×254)+(配列9×254×254×254)+(配列10×254×254)+(配列11×254)+(配列12)を算出して、計算結果変数に代入する事とし、D大小2分岐で、配列2が254で、配列3が254で、配列4が254で、配列5が254で、配列6が254で、配列7が1以上で、配列8が1以上で、配列9が1以上で、配列10が1以上で、配列11が1以上で、配列12が1以上で、配列13が1以上で、配列14が0以上で、配列15が255の場合は、以下の計算を行う事とし、(配列2×254×254×254×254×254×254×254)+(配列3×254×254×254×254×254×254)+(配列4×254×254×254×254×254)+(配列5×254×254×254×254)+(配列6×254×254×254)+(配列7×254×254×254×254×254×254×254)+(配列8×254×254×254×254×254×254)+(配列9×254×254×254×254×254)+(配列10×254×254×254×254)+(配列11×254×254×254)+(配列12×254×254)+(配列13×254)+(配列14)を算出して、計算結果変数に代入する事とし、D大小2分岐で、分岐条件に該当しない倍は、エラーとして計算結果変数に-1を代入して、D大小2分岐を終了する事とし、D大小1分岐で、分岐条件に該当しない場合は、エラーとして計算結果変数に-1を代入して、D大小1分岐を終了する事とし、計算結果変数に代入された数値を表示するという処理をコンピューターに実行させるプログラムを記録したコンピューターが読み取る事が可能な記録媒体

技術分野

0001

本発明は、コンピューターで使用するファイルから圧縮ファイル差分ファイルを作成する際にデーターを記録するが、その記録データー記録方法に関する

背景技術

0002

圧縮技術に関する文献としては、〔非特許文献1〕と〔非特許文献2〕がある。
晴彦・山崎敏 著LHAとZIP圧縮アルゴリズム×プログラミング入門ソフトバンクパブリッシング株式会社 2003/12/6初版
亀山渉 金子格 渡辺裕 著 そこが知りたい最新技術オーディオビデオ圧縮技術入門 株式会社インプレスR&D2007年4月1日初版第1刷発行

0003

〔非特許文献1〕は、ZIP形式の圧縮技術とLZH形式の圧縮技術を説明した文献である。それとともに、今日までに開発された圧縮技術を紹介している文献である。この文献では、LZH形式の圧縮技術の場合は、2byteの記録サイズ2進数で記録する方法を紹介している。ZIP形式のの圧縮技術の場合は、4byteの記録サイズに2進数で記録する方法を紹介している。しかし、本発明の倍数乗数分割ソフトウェアを記録した記録媒体の様な2進数で表現された数値を254や255の倍数や乗数と余りという数値を算出して記録する方法は一切記載されていない。

0004

〔非特許文献2〕は、基礎的な圧縮技術として可逆圧縮非可逆圧縮の説明がされている。その説明の後でJPEG形式の圧縮技術やMPEG形式の圧縮技術やH.264/AVC形式の圧縮技術などの圧縮技術を説明している。しかし、本発明の倍数乗数分割ソフトウェアを記録した記録媒体の様な2進数で表現された数値を254や255の倍数や乗数と余りという数値を算出して記録する方法は一切記載されていない。

発明が解決しようとする課題

0005

本発明は、倍数乗数分割ソフトウェアを記録した記録媒体という題名であるが、コンピューターに実行させる倍数乗数分割ソフトウェアを記録したコンピューターが読み取る事が可能な記録媒体の事である。また、本発明の倍数乗数分割ソフトウェアを記録した記録媒体の事を倍数乗数分割ソフトウェアと略して記述する事がある。

0006

また、コンピューターで普通に使われているテキスト文字(日本国では、ASCIIコード文字で1文字を表す全角文字とASCIIコード1文字で表す半角文字の事)を、テキスト文字と略して記述する事とする。また、テキスト文字の事を文字コードという事がある。また、コンピューターで普通に使われている機械語を機械語と略して記述する事とする。コンピューターで普通に使われている機械語とは、コンピューターに搭載されているCPUと呼ばれる中央演算処理装置が処理を予定している命令文の事を言う。

0007

コンピューターで使用されている機械語の中でも特に、二進化十進数と呼ばれる2進数で数値を表す機械語がある。この二進化十進数は、BCD数とかEBCDIC数とか3増し符号などで使用されている2進数で表現した機械語である。従来から在る二進化十進数に相当する2進数の事を全て二進化十進数と呼ぶ事とする。従来から在る二進化十進数に相当する2進数には、BCD数やEBCDIC数や3増し符号などがある。

0008

また、2進数の数値を2進数値と呼んだり、10進数の数値を10進数値と呼んだりすることがある。また、配列とは、データーを1個から複数のデーターを代入する事が出来るものを言い、配列のサイズとは、配列に代入する事が出来るデーターの数の事を言う。配列のサイズの事を配列サイズと言ったりする事がある。配列に代入したデーターの事を配列要素または、配列の要素と呼び、配列要素または、配列の要素の合計数配列要素数または、配列の要素数と呼ぶ事とする。また、配列のサイズの事を配列サイズと呼ぶ事がある。配列の型とは、配列に代入する事ができる1個のデーターがコンピューターに在る本体メモリーで使用するbit数または、byte数を意味するものである。この型は、配列を作成する場合に指定するものであり、作成する配列のデーターを代入する事ができる領域の全てに適用されるものである。前述の「領域の全てに適用されるものである」という意味は、型の違うデーターを配列のデーターを代入する事ができる領域に混在させることが出来ないという事である。配列を作成する場合に、「何bitの型で幾つのサイズで配列を作成する」という表現をする事とする。これを8bitの型で10の配列サイズで配列を作成するという表現で説明している場合で意味を説明する。この場合は、配列の要素1個に8bitのデーターを1個代入できる様なものとして、配列要素数10個で配列を作成するという意味である。

0009

変数にも配列と同じく型が存在し、変数の型の意味は、配列の型の場合と全く同じである。「何bitの型で変数を作成する」という表現で変数を作成する事とする。8bitの型で変数を作成するという表現で説明している場合の意味は、8bitのデーターを代入する事ができる変数を作成するという事である。また、配列のインデックスとは、配列の添字または、配列番号などとも呼ばれる事があるものである。以降、配列のインデックスを配列の添字または、配列番号と呼ぶ事がある。配列を作成する時点で配列のインデックスを何番から作成するという具合に配列のインデックスを指定せずに配列を作成すると通常、配列のデーターを代入できる領域の最初の位置に付けられるインデックスは0番となり順次1づつ番号が増えた数値が配列のデーターを代入できる各々の配列の位置にコンパイラによって自動的に付けられるものである。つまり、言い換えると配列のインデックスとは、配列に代入されるデーターの位置を示す番号の事を言うという事になる。これによって、プログラマーは、配列のインデックスを指定する事で簡便に配列に代入されたデーターの位置を指定する事ができる様にしているものである。

0010

配列のインデックスを取得する場合は、以下の様な処理を行う事で取得する。1byteの変数を作成してこの作成した変数を仮変数と呼ぶ事として、仮変数に0を代入して初期化する。配列に代入されたデーターが全て1byteであると仮定して配列のインデックスを取得する処理工程の説明を行う事とする。配列の最初の位置に代入されているデーターから最後の位置までに代入されたデーターを1byteづつ読む度に仮変数に代入された数値に1を加算する事で回数カウントするという処理を行うと、仮変数に代入された数値と配列のインデックスとが対応した数値になるので仮変数に代入された数値が配列のインデックスとなるので、仮変数に代入された数値を取得するのが配列のインデックスの取得方法である。また、配列のデーターを代入する事ができる領域の最初の位置という表現を配列の最初の位置という様に略した表現を行う場合がある。また、配列のデーターを代入する事ができる領域の最後の位置とい表現を配列の最後の位置という様に略した表現を行う場合がある。

0011

string型で配列や変数を作成する場合がある。string型とは、文字列を代入する事ができる配列や変数の型を意味するものである。言い換えるとstring型とは、文字列型と言う言い方が出来るものである。string型で配列や変数を作成して、作成したstring型の配列や変数に文字列や文字を代入すると自動的に文字コードに変換されて配列や変数に代入されるものである。従って、string型とは、文字や文字列を代入する事が出来る配列や変数の型をstring型と言う事が出来るものである。実施例で使用しているMicroSoft株式会社の(商標)Visual Stadio2005 C#というコンパイラを使用した場合は、string型で変数を作成すると約20億個の文字コードで出来た文字を代入出来るサイズで変数が作成される。つまり、約20億byteの変数が作成される。作成された変数は代入される文字列の文字数によって、自動的にメモリーの使用量が変更されるようになっている。string型で変数を作成する場合と同じく、配列の型をstring型で作成する場合も自動的に1個のデーターを代入する事が出来る領域のサイズが代入された文字コードの文字数分のサイズに可変する配列が作成される。1個のデーターを代入する事が出来る領域のサイズは、string型で変数を作成した場合と同様に約20億個の文字コードによって表現される文字を代入出来る変数になるのであるが、その作成された変数に文字列を代入するとその文字列を代入するのに必要な最小限度のサイズに自動的にサイズ変更されるようになっている。この様にstring型で変数や配列を作成するとメモリーの使用領域が自動的に代入されるデーターの量によって変化するものになっている。使用するコンパイラによっては、この様な自動的に代入される文字列の文字数によって変数のサイズを変更する機能が無い場合がある。そこで、本発明の明細書では、string型で配列や変数を作成する場合、型として使用するメモリー使用量を指定する事とする。MicroSoft株式会社のVisual Stadio2005 C#というコンパイラを使用した場合、実際には、型として使用するメモリー使用量を指定して変数や配列を作成する事はできない。string型と呼ばれる文字列を代入する事が出来る配列を作成する場合の表現は以下の様になる。「何bitのstring型で幾つのサイズで配列を作成する」という表現で配列を作成する事とする。string型と呼ばれる文字列を代入する事が出来る変数を作成する場合の表現は以下の様になる。「何byteまたは、何bitのstring型で変数を作成する」という表現をする事とする。言い換えると、1byteのstring型で変数を作成するとか、2byteのstring型で変数を作成するとか、8bitのstring型で変数を作成するとか、16bitのstring型で10のサイズで配列を作成すると記述する事とする。16bitのstring型で10個のサイズで配列を作成すると記述した場合は、配列の1個のデーターを代入する事が出来る領域の1個のデーターが使用するメモリー量が2byteであるとし、10個のデーターを代入する事が出来る配列を作成するという事である。この16bitのstring型で10個のサイズで配列を作成する場合のメモリーの総使用量は、16bit×10という計算が可能となり、答えは、160bit(または、20byte)となる。

0012

配列のインデックスを取得する方法について例を示して詳しく説明する。配列のサイズが10の配列の場合で説明する事とする。配列のサイズが10の配列を作成するとインデックスは、0から9までの数値がコンパイラと呼ばれるプログラムを書く為に一般的に使われるプログラムによって自動的に付けられる。0から9までの数値が配列のインデックスとなるのである。そのインデックスを取得する方法は無い。そこで、最初の位置から配列の最後の位置までの連番として「0,1,2,3,4,5,6,7,8,9」という0番から9番までの連番を作成して、その連番の中から1個づつ順番に数値を取得する事で実現するものである。配列の位置を指定する時に配列のインデックスを指定する事はできるが、その反対に代入されたデーターからインデックスを取得する事は出来ない。代入されたデーターの位置を0から1づつ数値を積算する事で得た数値をインデックスと同じ数値として使用するというのが普通のインデックスと呼ばれる数値の取得方法である。

0013

バイナリー形式でファイルを読み込むという場合は、1byteづつ文字コードとして配列に読み込む事を言う事とする。以下に、配列の最初の位置から代入する度に代入する位置を1つづつずらして、1つづつデーターを配列に代入するという具合に1つづつという表現で説明している場合があるが、正確な表現では、バイナリー形式でファイルを読み込んでいる場合は、1byteづつである。注目配列の位置を1つずらすという表現を行っている場合の1つ分の意味も1つづつという表現で説明している場合と同じ意味であるり、ずらすサイズは、配列の型として定義しているか、または、代入されているデーターのサイズ1個分の事で、1byteや2byteや3byteや4bitや10bitなどの数値量となる。また、ファイルを作成する時も形式指定がある。バイナリー形式でファイルに記録して保存する場合とテキスト形式でファイルに記録して保存する場合である。バイナリー形式でファイルに記録して保存する場合に使う表現のデーター1つづつは、1byteづつとなる。テキスト形式でファイルに記録して保存する場合に使う表現のデーター1つづつは、2byteづつとなる。但し、配列や変数に1bitづつデーターを代入している場合や4bitづつデーターを代入している場合もある。この配列や変数に1bitづつデーターを代入している場合のデーターの1つづつとは、1bitづつとなり、4bitづつデーターを代入している場合のデーターの1つづつとは、4bitづつとなる。また、1byteづつデーターを代入している場合のデーターの1つづつとは、8bitづつとなる。

0014

LZH形式の圧縮技術に於いては、数値を2byteのサイズに2進数で記録する方法である。圧縮対象ファイルを16kbyteづつに分割してブロックごとに圧縮処理するというのがLZH形式の圧縮技術である。圧縮処理後の各々のブロックのサイズを2byteで圧縮ファイルに記録するという方法である。現在のパーソナルコンピューターと呼ばれる小型のコンピューターでは、ファイルに記録する場合、8biを1byteと呼び、1byteでしか2進数を記録できない為に、圧縮する際に分割したデーターのサイズを記録する場合に問題が発生する。LZH形式の圧縮技術で使用している方法だと、2byteで表現できる最大値は、65535なので、65535×16kbyteが圧縮対象ファイルとして指定できる最大サイズのファイルとなる。分割した数を記録するにも2byteのサイズを使用するからである。ZIP形式の圧縮技術に於いては、数値を4byteのサイズに2進数で記録する方法である。圧縮対象ファイルを32kbyteづつに分割してブロックごとに処理する事で、その圧縮情報データーの数値を2進数で4byteのサイズに収まるようにしている方法なのである。LZH形式の圧縮技術と違う点として、ZIP形式の圧縮技術では、分割された各ブロックにブロック終了コードが記述されている点である。しかし、ブロック終了コードは、圧縮ファイルを読み込んで復元する際に、ブロックごとに読み込む為の目印である。このブロック終了コードには、256という2進数の数値で表現した数値コードを使用している方法である。

0015

LZH形式の圧縮技術とZIP形式の圧縮技術の両方に於いて言える事であるが、2byteや4byteの記録サイズを固定で使用している点で問題が発生する。0から255までの数値は、コンピューターで仕様している普通の文字コード(日本国の場合は、0から255までの2進数で作られたASCIIコード)で記録した場合は、1byteで記録する事ができる。しかし、255を超える数値を1byteに記録する事はできない。しかしながら、255を超える数値を記録するのに2byteや4byteに分割した2進数で記録する技術を圧縮技術で使用すると、ファイルに記述されているデーターの位置を示す数値を小さくする事が出来るという事が大きな圧縮率生むのでファイルを細かく分割した方が比較的効率の良い圧縮が行えるという事になる。しかしながら、あまり細かく分割すると処理が細かくなり、圧縮に使用したスライド辞書も分割した分だけ必要になるので、処理が低速でしかも、圧縮率が低いものになり易いという相反する効果を生んでしまうのである。普通に1byteのサイズに分割したのでは余りに分割したブロックの数が多くなりすぎるから2byteや4byteで表現できる最大値をファイルの分割サイズとしているのである。LZH形式の圧縮技術では、0から65535までの数値を2byteのサイズに記録する方法を使用して圧縮されたブロックのサイズを記録しているので、ファイルを分割したブロックの最後の位置に終了コードを付加していない。2byteや4byteのサイズに分割して、分割したサイズを記録する方法で、圧縮対象ファイルや差分ファイル作成対象ファイルを2byteや4byte の最大値で分割して圧縮ファイルや差分ファイルを作成する様な処理で圧縮ファイルや差分ファイルを作成すると、圧縮ファイルや差分ファイルを作成する場合に作成可能な圧縮対象ファイルや差分対象ファイルの最大ファイルサイズが発生してしまう、という問題がある。ZIP形式の圧縮技術でも同じ問題が発生している。処理可能な圧縮対象ファイルや差分対象ファイルの最大ファイルサイズが発生してしまう、という問題を解決する方法が無いのが現状である。JPEG形式(JPG形式)の圧縮技術でも同じような問題が発生するであろうと思われる。

0016

画像と文字列が混在したファイルの事をドキュメントファイルと呼ぶ事とする。また、テキスト文字で構成されたファイルでも殆どの文字が全角文字だけの文字で構成されたファイルと殆どの文字が半角文字だけの文字で構成されたファイルとがあるが、各々を全角ファイル、半角ファイルと呼ぶ事とする。全角文字だけの部分と半角文字だけの部分が混在する様な構成のファイルなどもあるが、全角文字だけの部分と半角文字だけの部分が混在する様な構成のファイルを半全ファイルと呼ぶ事とする。機械語で書かれたファイルを実行ファイルと呼ぶ事とするが、実行ファイルにも画像部分や文字列部分が多く含まれている場合があり、画像や文書が多く含まれた実行ファイルを画文実行ファイルと呼ぶ事とする。

0017

現在の圧縮技術では、データーの種類によって、圧縮率が大きく違うという問題がある。データーの種類とは、例えば、文字列部分や画像部分や機械語の部分などの事である。テキスト文字でも、全角の文字列部分と半角の文字列部分とでは圧縮率が違ってくるし、画文実行ファイルでも画像の部分と文字列の部分と機械語の部分とでは圧縮率が違ってくる。ドキュメントファイルを例に説明する。現在の圧縮技術では、固定長の2byteのサイズや4byteのサイズに分割する方法を使用して圧縮しているのである。固定長の2byteのサイズや4byteのサイズでドキュメントファイルを分割すると、画像の部分と文字列の部分とに完全に分割できない為に圧縮率が低くなってしまうという問題が発生する。固定長のサイズでファイルを分割する事で圧縮率が低下するという問題は、ドキュメントファイル以外の半全ファイルや画文実行ファイルでも同じ様に発生する。

0018

固定長の2byteのサイズや4byteのサイズに分割する方法で、画像部分や文字列部分が混在する様なファイルを分割する事で圧縮率が低下するという問題の解決を行うには、分割したブロックの終了を表す終了コードを分割したブロックの最後の位置に付けるだけではなく、色々なサイズに分割しているので分割したサイズを完成した圧縮ファイルのどこかに記録しなければならなくなるという問題が発生する。この問題は、圧縮率を悪くする大きな問題である。

課題を解決するための手段

0019

255を超える数値を254で割って、倍数で記録し、その倍数が254を超える場合は、乗数で記録し、余りがあれば余りを記録するという数値分割処理を行う事で、従来形式の2byteや4byteのサイズに分割したファイルのサイズを記録するという固定長の分割処理しか出来ないという不便さというか柔軟性の無い圧縮技術であったのを可変長ファイル分割サイズにする事で柔軟な圧縮技術を適用する事ができる様に改善する。LZH形式の圧縮技術や他の形式の圧縮技術での扱えるファイルのサイズ限界を無くして利便性を高める。

0020

本発明の倍数乗数分割ソフトウェアを記録した記録媒体で大きな数値を乗数や倍数や余りという数値に分割する工程を分割工程と呼ぶ事とする。本発明の倍数乗数分割ソフトウェアを記録した記録媒体の分割工程で作成した数値を元の数値に戻す処理工程を復元工程と呼ぶ事とする。また、本発明の倍数乗数分割ソフトウェアを記録した記録媒体の分割工程で、作成される数値データーの事を数値の並び、数値の並び方と呼んだり、作成される数値、作成した数値と表現したりする。

0021

分割工程の説明を行う事とする。255を超える数値を254で割って、倍数で記録し、その倍数が254を超えた場合は、倍数の倍数を算出するという方法で計算した結果を配列に代入して、それをファイルに記録する工程を分割工程とする。詳しくは、実施例で説明する事とする。分割した数値データーの最後の位置を表す為に使用するマーク終端マークと呼ぶ事とする。実施例では、255という数値を終端マークに使用した。分割するブロックのサイズを変更する事で任意に決める事が可能な数値である。また、実施例では、他の数値を分割したデーターとを区別する為に終端マーク以外にもう1つのマークを使用しているが、終端マーク以外に使用しているもう1つのマークは、各ブロックの区切りの良い位置などに挿入するマークとして使用している。各ブロックの区切りの良い位置などに挿入するマークなので、これを中間マークと呼ぶ事とする。中間マークは、任意に決める事ができる数値である。実施例で使用した中間マークは、0である。

0022

実施例での分割工程で分割配列にデーターを代入する場合のデーターの記述ルールは、以下の通りである。分割する事で算出した数値を記述する最大値を254として、254の倍数や乗数と余りで表現する事とし、中間マークは、0とし、終端マークは、255とし、倍数や乗数で表現する場合は、一番大きな倍数に当る数値から順番に記述する事とし、253以下の数値には、終端マークを付加しない事とし、253以下の数値の場合は、そのままの数値を最初の位置に記述する事とし、254の場合は、そのままの254を最初の位置に記述して、必ず、最後の位置に終端マークを付加する事とし、2倍から254倍を超えない数値の場合は、終端マークを数値の並びの最後の位置に付加する事とし、2倍から254倍を超えない数値の場合は、最初の位置に記述された254は、数値であるという事とし、中間マークを数値の並びの2番目の位置に挿入して、他の数値を分割した場合に算出される他の数値の並びと区別する事とし、乗数で表現しなければならない大きな数値を分割した場合に算出される数値の最後の位置には、終端マークを必ず付加する事とし、乗数で表現しなければならない大きな数値を分割した場合に算出される数値の最初の位置に254という数値があった場合は、254乗という様な意味を持つ数値であって、254という数値ではない、254の254乗という意味で、254は、解かっている事だから明記する必要が無いので割愛する事とする、というのが実施例での分割工程で分割配列にデーターを代入する場合のデーターの記述ルールである。

0023

実施例での分割工程で分割配列にデーターを代入する場合のデーターの記述ルールで説明している、「乗数で表現しなければならない大きな数値を分割した場合に算出される数値の最初の位置に254という数値があった場合は、254乗という様な意味を持つ数値であって、254という数値ではない」という意味は、254という数字は、最大値まで乗数が在るという事を意味するものであって、その乗数の元になる数値を意味しないという意味である。この事は、一番大きな乗数に当る数値から順番に記述する事をルールにしている事からも理解できると思う。実施例の復元工程の乗数以上を使用しないと表現できない数値の復元工程の計算式を参照すれば、一目瞭然である。また、実施例での分割工程で分割配列にデーターを代入する場合のデーターの記述ルールに、「中間マークを数値の並びの2番目の位置に挿入して」とあるが、分割配列の最初の位置から1byteづつ数えて2番目の位置に代入するという意味である。分割配列は、1byteづつデーターを記述する配列なので2番目の位置は、2byte目の位置という事になる。

0024

この実施例で使用している分割工程で分割配列にデーターを代入する場合のデーターの記述ルールに従って処理して、ファイルを作成するという事が解かっているので、復元工程では、解かっているルール化された部分をファイルに記録しない事としている。つまり、最大値を245にして、終端マークを255にして、中間マークを0にして、終端マークをどの計算式によって作成されたデーターに付加するのか、中間マークの位置を何処にするのか、といったルールは、作ったファイルに記述しなくても復元出来るのでファイルに記述していないという事である。

0025

また、全ての分割した場合に算出される数値の最後の位置に、255という終端マークを付加する事でも分割処理して記録する事ができるが、この方法も、本発明の倍数乗数分割ソフトウェアを記録した記録媒体の単純なレパートリーである事を明言する。復元工程では、数値の並び方というパターン解析処理を行って元の数値に戻すという復元工程としているので、終端マークの255が絶対的に必要なものではないのである。従って、実施例で使用している終端マークは、本発明の倍数乗数分割ソフトウェアを記録した記録媒体に絶対的に必要な構成要件ではない事を明言する。

0026

元の数値に戻す計算処理を行う復元工程の説明を行う事とする。分割工程で作成した、分割されたデーターが代入された配列を検査して完全一致を条件に分岐し、その分岐ごとに計算処理する事で元の数値に戻す処理を行う事とする。本発明の倍数乗数分割ソフトウェアを記録した記録媒体の実施例での分割工程で分割配列にデーターを代入する場合のデーターの記述ルールに従って作成されたファイルを読み込んで処理するので、実施例での分割工程で分割配列にデーターを代入する場合のデーターの記述ルールに従って復元工程を行う事になる。詳しくは、実施例で説明する事とする。

0027

本発明の倍数乗数分割ソフトウェアを記録した記録媒体は、2進数で表現された数値を254や255の倍数や乗数と余りという数値を算出して記録する方法であるが、254や255という数値は、例示しているだけである。2進数で8bitの桁数表記できる最大値が255なのである。現在、一般的に使用されているパーソナルコンピューターで使用しているファイルの記録形式は0から255までの8bitの桁数で表記された2進数だけが使用できるものとなっている。その為、255を超える大きな数値をパーソナルコンピューターで使用しているファイルに記録するには全て255以下の数値に変更する必要がある。255を超える大きな数値を255以下の数値に変更する為に254や255の倍数や乗数と余りを算出してファイルに記録する事であって、テキスト形式で記録するという事ではない。本発明の技術によって、8bit(1byte)を超える2進数を効率良く8bit(1byte)の桁数の2進数でファイルに記録する事が可能になるのである。254の倍数や乗数とする理由は、記録数値の終端マークを表す為に255を使用してしまうので終端マークに使用していない254を最大値として使用して254の倍数や乗数を使用しなければならなくなるからである。終端マークを表す数値だけではなく他の数値を何かに使用した場合はもっと、小さな数値の倍数や乗数を使用する事になるので、253や252といった数値の倍数や乗数や余りという数値と終端マークを表す数値の組み合わせで記録する方法も本発明の倍数乗数分割ソフトウェアを記録した記録媒体のレパートリーであるという事を明言する。また、使用しない数値を設けて区切の良い数値(例えば200という数値)で倍数や乗数や余りを算出して使用しない数値の中から1個の数値を任意に抽出して終端マークを表す数値として使用して記録する方法や、数個の中間マークを作成して処理する方法や、終端マークと中間マークの組み合わせを変更する事で実現する方法も本発明の倍数乗数分割ソフトウェアを記録した記録媒体である事を明言する。また、負数を表現する数値を使用したり、正数を表現する数値を使用していたり、負数と正数を表現する任意の数値を2個抽出して使用したりしている場合も本発明の倍数乗数分割ソフトウェアを記録した記録媒体の単純なるレパートリーである事を明言する。

0028

また、本発明の倍数乗数分割ソフトウェアを記録した記録媒体の処理をシフト演算処理する事でも同じ事ができるが、シフト演算処理やシフト演算処理に類する他の演算処理を行ったとしても単純なレパートリーである事を明言する。

発明の効果

0029

コンピューターで使用されているファイルを圧縮する場合や、コンピューターで使用されているファイルの差分ファイルを作成する場合に、記録しなければならないデーターが255を超えた場合に、従来の方法だと、固定長の2byteのサイズに記録する方法や4byteのサイズに記録する方法等で圧縮ファイルや差分ファイルに記録するので、処理対象ファイルを2byteまたは、4byteの固定長のサイズで分割するので扱えるファイルの最大サイズの限界が発生するという問題があったが、本発明の倍数乗数分割ソフトウェアを記録した記録媒体の技術を使用する事で、扱えるファイルの最大サイズの限界が発生するという問題が解決する。

0030

また、ZIP形式の圧縮技術では、圧縮対象ファイルを分割し、各々のブロックを圧縮処理した後に、各々のブロックの終了位置に終了コードを付加するというものである。読み込む時の目印としての使用である。本発明の倍数乗数分割ソフトウェアを記録した記録媒体でも、255や他の任意の数値を選択して、選択した数値を終端マークとして用いている。しかし、本発明の倍数乗数分割ソフトウェアを記録した記録媒体の終端マークは、ZIP形式の圧縮技術で使われている終了コードとは全く違うものである。ZIP形式の圧縮技術で使われている終了コードを使用している対象は、圧縮対象のファイルを数個に分割処理したデーターの1個づつの終了位置を表すものである。本発明の倍数乗数分割ソフトウェアを記録した記録媒体で使用している終端マークは、数値を乗数や倍数や余りで分割して記録した部分の終端を表すものである。本発明の終端マークは、数値を乗数や倍数や余りで分割して記録した部分の終端を表す、という特性を持つ終端マークなので、終端マークを探し出す事で元の数値を算出できる事になり、どんな大きな数値であっても終端マークを探し出して、探し出した終端マークまでを処理して元の数値を算出する事ができる様になるものであるが、終端マークが絶対的に必要なものとは言えないものである。中間マーク等によって置き換える事も可能なものである。数値に対して付加してパターンを作成するというものなので、ZIP形式の圧縮技術で使用している終了コードによる効果とは大きく効果が違ってくる。本発明の技術を圧縮技術に使用した場合は、圧縮対象とする事ができるファイルの最大サイズという上限が無くなるのである。また、本発明の技術を圧縮技術に使用した場合は、圧縮率を最大にする為にファイルの分割サイズを変化させても分割したサイズをどこにも記録する必要が無くなるのである。ドキュメントファイルで画像部分と文字列部分の切れ目ごとにファイルを分割処理する場合や、画文実行ファイルで画像部分と文字列部分と機械語の部分との切れ目で分割処理する場合や、半全ファイルの半角文字列部分と全角文字列部分との切れ目で分割処理する場合などに、本発明の倍数乗数分割ソフトウェアを記録した記録媒体の技術を使用する事で柔軟な分割サイズを指定する事が可能になるので、最大パフォーマンスと思われる高圧縮率の圧縮が可能になる。これらのZIP形式の圧縮技術との技術的な効果の違いは、本発明の倍数乗数分割ソフトウェアを記録した記録媒体の技術は、数値を分割処理する為の技術であって、ファイルの終了位置を記す事を目的とする技術ではないという事による違いである。

図面の簡単な説明

0031

倍数乗数分割ソフトウェアのフローチャート
倍数乗数分割ソフトウェアの操作画面図
倍数乗数分割ソフトウェアで数値を分割処理後の操作画面図
倍数乗数分割ソフトウェアで数値を分割処理後に復元工程を処理後の操作画面図
倍数乗数分割ソフトウェアで使用した機材の説明図

0032

図5は、実際とは、多少異なる事を明記する。本発明の倍数乗数分割ソフトウェアを記録した記録媒体は、図5の<倍数乗数分割ソフトウェアで使用した機材の説明図>に示した様なハードウェア資源で動作するプログラムである。図5の<倍数乗数分割ソフトウェアで使用した機材の説明図>に示した様なハードウェア資源は、図符号Bのコンピューター本体と図符号Aのモニターと図符号Cのキーボードと図符号Dのマウスの合計4個のパーツで構成された機材であるが、これらの合計4個のパーツで構成された機材を一般的にコンピューターと呼んでいる。図符号Bのコンピューター本体は、パーソナルコンピューターと一般的に呼ばれているコンピューターである。図符号Bのコンピューター本体には、ハードディスクドライブなどの記録媒体やCPUや本体メモリーなどと呼ばれる装置が内蔵されており、本発明の倍数乗数分割ソフトウェアを記録した記録媒体は、図符号Bのコンピューター本体内部に在るハードディスクドライブなどの記録媒体にインストールされているものとする。図符号Bのコンピューター本体に接続された外部に在るハードディスクドライブなどの記録媒体に本発明の倍数乗数分割ソフトウェアを記録した記録媒体がインストールされていて、図符号Bのコンピューター本体から本発明の倍数乗数分割ソフトウェアを記録した記録媒体を起動する事が出来る場合は、図符号Bのコンピューター本体に接続された外部に在るハードディスクドライブなどの記録媒体に本発明の倍数乗数分割ソフトウェアを記録した記録媒体がインストールされているものとする。本発明の倍数乗数分割ソフトウェアを記録した記録媒体がインストールされている図符号Bのコンピューター本体内部に在るハードディスクドライブなどの記録媒体または、図符号Bのコンピューター本体に接続された外部に在るハードディスクドライブなどの記録媒体にインストールされている本発明の倍数乗数分割ソフトウェアを記録した記録媒体を起動すると本発明の倍数乗数分割ソフトウェアを記録した記録媒体は、図符号Bのコンピューター本体に内蔵された本体メモリーに適時に必要量読み込まれる。図符号Bのコンピューター本体に内蔵された本体メモリーに適時に必要量読み込まれた本発明の倍数乗数分割ソフトウェアを記録した記録媒体に書かれたCPUが処理を予定している命令文が必要な時に必要量CPUに読み込まれ、そのCPUに読み込まれた命令文がCPUによって実行される事によってコンピューターによって本発明の倍数乗数分割ソフトウェアを記録した記録媒体が動作する。従って、本発明の倍数乗数分割ソフトウェアを記録した記録媒体がハードウェア資源を利用してどのような工程で処理されるのかを簡単な表現で説明すると、本発明の倍数乗数分割ソフトウェアを記録した記録媒体に書かれた命令文は、コンピューター本体のCPUによって処理されると表現しなおす事ができるのである。

0033

図5の<倍数乗数分割ソフトウェアで使用した機材の説明図>に示した様なハードウェア資源で動作するソフトウェアであると段落〔0047〕にて説明したが、コンピューターの形状は、図5の<倍数乗数分割ソフトウェアで使用した機材の説明図>に示した様なハードウェア資源に限定できるものではなく、図符号Aのモニター、図符号Bのコンピューター本体、図符号Cのキーボード、図符号Dのマウスが一体化したものや、図符号Dのマウスが存在しない構成のものや、図符号Aのモニター、図符号Bのコンピューター本体の二つを一体化した構成のもの等いろいろある。今後、もっと多くのいろいろな形状のコンピューターが開発されていくであろうと考えられる。図5の<倍数乗数分割ソフトウェアで使用した機材の説明図>に示した様なハードウェア資源でなくても、類似と言い得る、いわゆるコンピューターを使用して本発明の倍数乗数分割ソフトウェアを記録した記録媒体で動作させている場合も本発明の倍数乗数分割ソフトウェアを記録した記録媒体である事を明言する。

0034

図2図3図4図5は、実際とは、多少異なる事を明記する。以下の段落に於いて、配列や変数などを作成すると記述しているが配列や変数などが作成される場所は、図符号Bのコンピューター本体の内部にある本体メモリーに作成される。但し、OSと呼ばれるソフトウェアによって仮想メモリー領域に作成される場合もある。仮想メモリー領域とは、図符号Bのコンピューター本体の内部に在るハードディスクドライブなどの記録媒体の一部分を仮想的に本体メモリーとして使用する場合に使用する図符号Bのコンピューター本体の内部に在るハードディスクドライブなどの記録媒体の一部分の事を言う。この図符号Bのコンピューター本体の内部にある本体メモリーまたは、図符号Bのコンピューター本体の内部にあるハードディスクドライブなどの記録媒体の一部分を仮想的に本体メモリーとして使用する場合に使用する図符号Bのコンピューター本体の内部に在るハードディスクドライブなどの記録媒体の一部分の事をコンピューター内部のメモリー装置と呼ぶ事とする。従って、配列や変数などを作成すると記述している場合の配列や変数などが作成される場所を端的な表現をして説明するならば、コンピューター内部のメモリー装置内に作成されるという表現になる。

0035

以下の段落に於いて、配列の末尾にデーターを代入すると記述している場合がある。未だに配列に代入されたデーターが無い場合は、普通、配列の最初の位置にデーターを代入するものとする。1byteの型で作成された配列の場合で説明する。配列の最初の位置から代入する度に1byteづつ代入する位置をずらして、データーを1byteづつ代入していく場合、配列の最初の位置にデーターを代入した後は、配列に代入されたデーターの最後の位置にあるデーターの次の位置に代入するという事になる。この場合、配列の最初の位置に既にデーターを代入した後の位置の指定を末尾と表現する事が出来る。未だに配列に代入されたデーターが無い場合で、配列の最初の位置から代入する度に1byteづつ代入する位置をずらして1byteづつデーターを配列に代入していく場合で、配列の最初の位置にデーターを代入する場合でも、配列の末尾にデーターを代入すると表現する事が出来ると考えられる。配列の最初の位置から代入する度に1byteづつ代入する位置をずらして、1byteづつデーターを配列に代入していく場合は、配列の最初の位置に代入する場合であっても、配列の末尾に代入すると記述している場合がある。また、ファイルに書き込む場合でも、配列の末尾にデーターを代入するのと同じなので、ファイルの末尾に書き込むという記述をしている場合がある。

0036

以下の段落に於いて、配列の最初の位置から代入する度に数byteづつまたは、数bitづつ代入する位置をずらして、数byteづつまたは、数bitづつデーターを配列に代入していく場合に於いて、配列に代入するデーターの順番について断り書きが無い場合は、取得した元のデーター(作成したデーター、取得したデーター、読み込んだデーター、元の配列に代入されたデーターなど)の順番通りに数byteづつまたは、数bitづつ配列に代入するものとする。

0037

以下の段落に於いて、全て一次元配列を利用してプログラムを作成しているが、多次元配列を利用する事や、ファイルを利用する事でも同じ処理が出来ると考えられる。また、一次元配列と多次元配列とファイルの組み合わせによっても、同じ処理が出来ると考えられる。これらはプログラムの書き方の違いであって、全て本発明の倍数乗数分割ソフトウェアを記録した記録媒体の単純なレパートリーでしかないという事を明言する。

0038

配列のサイズの調整なども当該事業者にとって常識的な技術であると考えられる事であるから何も書いていない場合がある。また、配列の型の変換処理なども当該事業者にとって常識的な技術であると考えられる事であるから何も書いていない場合がある。また、変数の型の変換処理についても当該事業者にとって常識的な技術であると考えられる事であるから何も書いていない場合がある。

0039

図1の<倍数乗数分割ソフトウェアのフローチャート図>を参照の事。図符号Lと図符号Mには、ステップ番号を右肩位置に付してあるが、その右肩位置に付したステップ番号順に説明する事とする。まず、本発明の倍数乗数分割ソフトウェアを記録した記録媒体を起動すると、図2の<倍数乗数分割ソフトウェアの操作画面図>の様な操作画面が図符号Aのモニターに表示される。

0040

ステップ100に進む。ステップ100は、人為的な手動による操作または入力処理工程である。本発明の倍数乗数分割ソフトウェアを記録した記録媒体が処理可能な数値は、少数を含まない正数で、0から9,223,372,036,854,775,807までの数値である。普通数値なので3桁づつに区切る様な事はしないが、読みやすい様に3桁づつ区切って記述する事にした。9,223,372,036,854,775,807を2進数に変換すると64桁の0と1で構成された2進数になる。図符号Eの<分割するデーターを入力するテキストボックス>に図符号Cのキーボードなどの入力デバイスを使用して0から9,223,372,036,854,775,807までの小数点以下の数値を含まない正数値の中から任意の数値を決めて入力する。この入力した任意の数値を255以下の数値に分割する処理を実行させる事とする。次に、図符号Gの<分割データーの作成ボタン>を図符号Dのマウスなどの入力デバイスを使用してクリックし処理を開始する。

0041

ステップ101に進む。ステップ101は、倍数乗数分割ソフトウェアとコンピューターによる自動処理工程である。64bitの型で変数を作成し、この変数を元データー変数と仮称する。この元データー変数に、図符号Eの<分割するデーターを入力するテキストボックス>に入力された数値を代入する。元データー変数に代入された数値対して以下の分割工程を実行させる。

0042

ステップ102に進む。ステップ102は、倍数乗数分割ソフトウェアとコンピューターによる自動処理工程である。終端マークとして0から255の中から任意の特別視できる数値を抽出して終端マークとして使用する事とする。本発明の倍数乗数分割ソフトウェアを記録した記録媒体では、終端マークを255とした。終端マークを255とした事から1byteに代入する事ができる最大値は、254となり、255を数値として使用しない事とした。また、本発明の倍数乗数分割ソフトウェアを記録した記録媒体では、数値の並び方をパーン化する事で、出来るだけ1個の数値を表すのに必要とするバイト数を減らす事を目標に作成したので、中間マークというものを設定する事とした。終端マークと同じ様に0から255までの数値の中から、任意の数値を選ぶ事とするが、終端マークと違う数値を使用する事とした。また、中間マークは、数値の並び方をパーン化する事の為に使用するものであるから、倍数で表現できる数値の分割処理を行った場合の数値の並び方と、乗数でなければ表現できない様な大きな数値の分割処理を行った場合の数値の並び方と倍数に満たない507までの数値の分割処理を行った場合の数値の並び方とで区別できる様な数値を選んで使用する事とする。本発明の倍数乗数分割ソフトウェアを記録した記録媒体では、実施例では、中間マークに、0を使用する事とした。中間マークは、倍数で表現できる数値の分割処理にのみに使用する事とした。乗数でなければ表現できない様な大きな数値の分割処理と倍数に満たない507までの数値の分割処理では、中間マークを使用しない形式とした。64bitの型で16個の変数を作成する。各々の変数を、最初の余り変数、倍数変数、倍数の余り変数、ユニット変数、ユニット2変数、ユニット3変数、ユニット4変数、ユニット5変数、ユニット6変数、ユニットの余り変数、ユニット2の余り変数、ユニット3の余り変数、ユニット4の余り変数、ユニットの5余り変数と、仮称する。倍数値を算出させて、算出させた数値を代入する為の変数を64bitの型で作成して、算出倍数変数と呼ぶ事とする。余りを算出させて算出させた数値を代入する変数を64bitの型で作成して、算出余り変数と呼ぶ事とする。1byteの型で変数を作成して、作成した変数を判断変数と呼ぶ事とする。判断変数には、計算を継続して行う場合に、倍数余りが254より大きい場合には1を代入し、倍数または、乗数が254より大きい場合には1を代入し、倍数余りと倍数または、乗数の両方が254より大きい場合には1を代入し、倍数余りと倍数または、乗数の両方が254以下なので計算を継続させる必要がない場合には0を代入する事とする。1byteの型で0のサイズで配列を作成して、作成した配列を分割配列と呼ぶ事とする。この作成した分割配列に、算出した数値を代入する事とする。各々の計算で得られる数値の並びが違うので計算の度に必要な配列のサイズ(配列に代入できるデーターの数)が違うので、既に作成してある分割配列のサイズを指定して作成しなおすという処理を行う事とするが、この配列のサイズ変更をリサイズ処理と呼ぶ事とする。

0043

元データー変数に代入された数値が254より小さい場合と254と等しい場合と254より大きい場合との3種類に分岐する。この分岐を分割1分岐と呼ぶ事とする。分割1分岐で、元データー変数に代入された数値が254より小さい場合は、計算せずにそのままの数値を計算結果とする。分割配列のサイズを1byteの型で1のサイズにリサイズ処理をする。計算結果を分割配列の最初の位置に代入する。判断変数に、0を代入する。

0044

分割1分岐で、元データー変数に代入された数値が254と等しい場合は、計算せずに計算結果をそのままの数値の254とする。分割配列のサイズを1byteの型で2のサイズにリサイズ処理を行う。計算結果の254という数値を分割配列の最初の位置に代入する。分割配列の最後の位置に終端マークの255という数値を代入する。判断変数に、0を代入する。

0045

分割1分岐で、元データー変数に代入された数値が254より大きい場合は、以下の処理を行う。判断変数に、1を代入する。元データー変数に代入された数値を254で割って得られた数値に小数点以下の数値が無い場合は、そのままの数値を算出倍数変数に代入しする。元データー変数に代入された数値を254で割って得られた数値に小数点以下の数値が無い場合は、小数点以下の数値が無かったのであるから、算出余り変数には0を代入する。元データー変数に代入された数値を254で割って得られた数値に小数点以下の数値がある場合は、少数点以下を切り捨てた数値を算出倍数変数に代入する。元データー変数に代入された数値を254で割って得られた数値に小数点以下の数値がある場合は、元データー変数に代入された数値を254で割った場合の余りを、算出余り変数に代入する。算出倍数変数に代入された数値を倍数変数に代入する。算出余り変数に代入されている数値を最初の余り変数に代入する。これで分割1分岐を終了する。

0046

判断変数に代入された数値で分岐する。この分岐を分割2分岐と呼ぶ事とする。分割2分岐で、判断変数に代入された数値が1の場合と判断変数に代入された数値が0の場合とに分岐する。分割2分岐で、判断変数に代入された数値が1の場合は、倍数変数に代入された数値が254以下の場合と255以上の場合とに分岐する。この分岐を大小1分岐と仮称する。

0047

大小1分岐で、算出倍数変数に代入された数値が254以下の場合は、以下の処理を行う。分割配列のサイズを1byteの型で5のサイズにリサイズ処理をする。254を分割配列の最初の位置に代入し、中間マークの0を分割配列の2番目の位置に代入し、倍数変数に代入された数値を分割配列の3番目の位置に代入し、最初の余り変数に代入された数値を分割配列の4番目の位置に代入し、終端マークの255を分割配列の最後の位置に代入する。判断変数に、0を代入する。

0048

大小1分岐で、算出倍数変数に代入された数値が255以上の場合は、以下の処理を行う。算出倍数変数に代入された数値を254で割って得られた数値に小数点以下の数値が無かった場合は、そのままの数値を算出倍数変数に上書きで代入する。算出倍数変数に代入された数値を254で割って得られた数値に小数点以下の数値が無かった場合は、算出余り変数に0を上書きで代入する。算出倍数変数に代入された数値を254で割って得られた数値に小数点以下があった場合は、小数点以下を切り捨てて、得られた数値を算出倍数変数に上書きで代入する。算出倍数変数に代入された数値を254で割って得られた数値に小数点以下があった場合は、算出倍数変数に代入された数値を254で割って得られた余りを、算出余り変数に上書きで代入する。算出倍数変数に代入された数値をユニット変数に代入する。算出余り変数に代入されている数値を倍数の余り変数に代入する。

0049

大小1分岐で、ユニット変数に代入された数値が254以下の場合と255以上の場合とに分岐する。この分岐を大小子1分岐と仮称する。大小子1分岐で、ユニット変数に代入された数値が254以下の場合は、以下の処理を行う。分割配列を1byteの型で5のサイズにリサイズ処理をする。254を分割配列の最初の位置に代入し、ユニット変数に代入された数値を分割配列の2番目の位置に代入し、倍数の余り変数に代入された数値を分割配列の3番目の位置に代入し、最初の余り変数に代入された数値を分割配列の4番目の位置に代入し、終端マークの255を分割配列の最後の位置に代入する。判断変数に、0を代入する。大小子1分岐で、ユニット変数に代入された数値が255以上の場合は、以下の処理を行う。判断変数に、1を代入する。これで、大小子1分岐を終了する。

0050

判断変数に代入された数値が1であった場合と0であった場合で分岐する。この分岐を判断1分岐と仮称する。判断1分岐で、判断変数に代入された数値が1であった場合は、以下の処理を行う。ユニット変数に代入された数値から254を減算して得た数値を算出倍数変数に上書きで代入する。算出倍数変数の数値を254で割って得られた数値に小数点以下の数値が無い場合は、そのままの数値を算出倍数変数に上書きで代入する。算出倍数変数の数値を254で割って得られた数値に小数点以下の数値が無い場合は、算出余り変数に0を上書きで代入する。算出倍数変数の数値を254で割って得られた数値に小数点以下の数値があった場合は、小数点以下を切り捨てて、算出倍数変数に上書きで代入する。算出倍数変数の数値を254で割って得られた数値に小数点以下の数値があった場合は、算出倍数変数の数値を254で割って得られた余りを算出余り変数に上書きで代入する。ユニット2変数に算出倍数変数に代入された数値を代入する。ユニットの余り変数に算出余り変数に代入された数値を代入する。

0051

判断1分岐で、ユニット2変数に代入された数値が254以下の場合と255以上の場合とに分岐する。この分岐を大小子2分岐と仮称する。大小子2分岐でユニット2変数に代入された数値が254以下の場合は、分割配列を1byteの型で7のサイズにリサイズ処理する。分割配列の最初の位置に254を代入する。分割配列の2番目の位置に254を代入する。分割配列の3番目の位置にユニット2変数の数値を代入する。分割配列の4番目の位置にユニットの余り変数に代入された数値を代入する。分割配列の5番目の位置に倍数の余り変数に代入された数値を代入する。分割配列の6番目の位置に最初の余り変数の数値を代入する。分割配列の最後の位置に、終端マークの255を代入する。判断変数に0を代入する。大小子2分岐でユニット2変数に代入された数値が255以上の場合は、判断変数に1を代入して、大小子2分岐を終了する。判断1分岐で、判断変数に代入された数値が0であった場合は、何も処理をせずに、判断1分岐を終了する。

0052

判断変数に代入された数値が0の場合と1の場合とに分岐する。この分岐を判断2分岐と仮称する。判断2分岐で、判断変数に代入された数値が1の場合は、以下の処理を行う。ユニット2変数に代入された数値から254を減算して得た数値を算出倍数変数に上書きで代入する。算出倍数変数の数値を254で割って得られた数値に小数点以下の数値が無い場合は、そのままの数値を算出倍数変数に上書きで代入する。算出倍数変数の数値を254で割って得られた数値に小数点以下の数値が無い場合は、算出余り変数に0を上書きで代入する。算出倍数変数の数値を254で割って得られた数値に小数点以下の数値があった場合は、小数点以下を切り捨てて、算出倍数変数に上書きで代入する。算出倍数変数の数値を254で割って得られた数値に小数点以下の数値があった場合は、算出倍数変数の数値を254で割って得られた余りを算出余り変数に上書きで代入する。ユニット3変数に算出倍数変数に代入された数値を代入する。ユニット2の余り変数に算出余り変数に代入された数値を代入する。

0053

判断2分岐で、ユニット3変数に代入された数値が254以下の場合と255以上の場合とに分岐する。この分岐を大小子3分岐と仮称する。大小子3分岐で、ユニット3変数に代入された数値が254以下の場合は、分割配列を1byteの型で9のサイズにリサイズ処理する。分割配列の最初の位置に254を代入する。分割配列の2番目の位置に254を代入する。分割配列の3番目の位置に254を代入する。分割配列の4番目の位置にユニット3変数の数値を代入する。分割配列の5番目の位置にユニット2の余り変数の数値を代入する。分割配列の6番目の位置にユニットの余り変数に代入された数値を代入する。分割配列の7番目の位置に倍数の余り変数に代入された数値を代入する。分割配列の8番目の位置に最初の余り変数に代入された数値を代入する。分割配列の最後の位置に、終端マークの255を代入する。判断変数に0を代入する。大小子3分岐で、ユニット3変数に代入された数値が255以上の場合は、判断変数に1を代入して、大小子3分岐を終了する。判断2分岐で、判断変数に代入された数値が0の場合は、何も行わずに判断2分岐を終了する。

0054

判断変数に代入された数値が0の場合と1の場合とに分岐する。この分岐を判断3分岐と仮称する。判断3分岐で、判断変数に代入された数値が1の場合は、以下の処理を行う。ユニット3変数に代入された数値から254を減算して得た数値を算出倍数変数に上書きで代入する。算出倍数変数の数値を254で割って得られた数値に小数点以下の数値が無い場合は、そのままの数値を算出倍数変数に上書きで代入する。算出倍数変数の数値を254で割って得られた数値に小数点以下の数値が無い場合は、算出余り変数に0を上書きで代入する。算出倍数変数の数値を254で割って得られた数値に小数点以下の数値があった場合は、小数点以下を切り捨てて、算出倍数変数に上書きで代入する。算出倍数変数の数値を254で割って得られた数値に小数点以下の数値があった場合は、算出倍数変数の数値を254で割って得られた余りを算出余り変数に上書きで代入する。ユニット4変数に算出倍数変数に代入された数値を代入する。ユニット3の余り変数に算出余り変数に代入された数値を代入する。

0055

判断3分岐で、ユニット4変数に代入された数値が254以下の場合と255以上の場合とに分岐する。この分岐を大小子4分岐と仮称する。大小子4分岐で、ユニット4変数に代入された数値が254以下の場合は、分割配列を1byteの型で11のサイズにリサイズ処理する。分割配列の最初の位置に254を代入する。分割配列の2番目の位置に254を代入する。分割配列の3番目の位置に254を代入する。分割配列の4番目の位置に254を代入する。分割配列の5番目の位置にユニット4変数の数値を代入する。分割配列の6番目の位置にユニット3の余り変数の数値を代入する。分割配列の7番目の位置にユニット2の余り変数に代入された数値を代入する。分割配列の8番目の位置にユニットの余り変数に代入された数値を代入する。分割配列の9番目の位置に倍数の余り変数に代入された数値を代入する。分割配列の10番目の位置に最初の余り変数に代入された数値を代入する。分割配列の最後の位置に、終端マークの255を代入する。判断変数に0を代入する。大小子4分岐で、ユニット4変数に代入された数値が255以上の場合は、判断変数に1を代入して、大小子4分岐を終了する。判断3分岐で、判断変数に代入された数値が0の場合は、何も行わずに判断3分岐を終了する。

0056

判断変数に代入された数値が0の場合と1の場合とに分岐する。この分岐を判断4分岐と仮称する。判断4分岐で、判断変数に代入された数値が1の場合は、以下の処理を行う。ユニット4変数に代入された数値から254を減算して得た数値を算出倍数変数に上書きで代入する。算出倍数変数の数値を254で割って得られた数値に小数点以下の数値が無い場合は、そのままの数値を算出倍数変数に上書きで代入する。算出倍数変数の数値を254で割って得られた数値に小数点以下の数値が無い場合は、算出余り変数に0を上書きで代入する。算出倍数変数の数値を254で割って得られた数値に小数点以下の数値があった場合は、小数点以下を切り捨てて、算出倍数変数に上書きで代入する。算出倍数変数の数値を254で割って得られた数値に小数点以下の数値があった場合は、算出倍数変数の数値を254で割って得られた余りを算出余り変数に上書きで代入する。ユニット5変数に算出倍数変数に代入された数値を代入する。ユニット4の余り変数に算出余り変数に代入された数値を代入する。

0057

判断4分岐で、ユニット5変数に代入された数値が254以下の場合と255以上の場合とに分岐する。この分岐を大小子5分岐と仮称する。大小子5分岐で、ユニット5変数に代入された数値が254以下の場合は、分割配列を1byteの型で13のサイズにリサイズ処理する。分割配列の最初の位置に254を代入する。分割配列の2番目の位置に254を代入する。分割配列の3番目の位置に254を代入する。分割配列の4番目の位置に254を代入する。分割配列の5番目の位置に254を代入する。分割配列の6番目の位置にユニット5変数の数値を代入する。分割配列の7番目の位置にユニット4の余り変数の数値を代入する。分割配列の8番目の位置にユニット3の余り変数に代入された数値を代入する。分割配列の9番目の位置にユニット2の余り変数に代入された数値を代入する。分割配列の10番目の位置にユニットの余り変数に代入された数値を代入する。分割配列の11番目の位置に倍数の余り変数に代入された数値を代入する。分割配列の12番目の位置に最初の余り変数に代入された数値を代入する。分割配列の最後の位置に、終端マークの255を代入する。判断変数に0を代入する。大小子5分岐で、ユニット5変数に代入された数値が255以上の場合は、判断変数に1を代入して、大小子5分岐を終了する。判断4分岐で、判断変数に代入された数値が0の場合は、何も行わずに判断4分岐を終了する。

0058

判断変数に代入された数値が0の場合と1の場合とに分岐する。この分岐を判断5分岐と仮称する。判断5分岐で、判断変数に代入された数値が1の場合は、以下の処理を行う。ユニット5変数に代入された数値から254を減算して得た数値を算出倍数変数に上書きで代入する。算出倍数変数の数値を254で割って得られた数値に小数点以下の数値が無い場合は、そのままの数値を算出倍数変数に上書きで代入する。算出倍数変数の数値を254で割って得られた数値に小数点以下の数値が無い場合は、算出余り変数に0を上書きで代入する。算出倍数変数の数値を254で割って得られた数値に小数点以下の数値があった場合は、小数点以下を切り捨てて、算出倍数変数に上書きで代入する。算出倍数変数の数値を254で割って得られた数値に小数点以下の数値があった場合は、算出倍数変数の数値を254で割って得られた余りを算出余り変数に上書きで代入する。ユニット6変数に算出倍数変数に代入された数値を代入する。ユニット5の余り変数に算出余り変数に代入された数値を代入する。

0059

判断5分岐で、ユニット6変数に代入された数値が254以下の場合と255以上の場合とに分岐する。この分岐を大小子6分岐と仮称する。大小子6分岐で、ユニット6変数に代入された数値が254以下の場合は、分割配列を1byteの型で15のサイズにリサイズ処理する。分割配列の最初の位置に254を代入する。分割配列の2番目の位置に254を代入する。分割配列の3番目の位置に254を代入する。分割配列の4番目の位置に254を代入する。分割配列の5番目の位置に254を代入する。分割配列の6番目の位置に254を代入する。分割配列の7番目の位置にユニット6変数の数値を代入する。分割配列の8番目の位置にユニット5の余り変数の数値を代入する。分割配列の9番目の位置にユニット4の余り変数に代入された数値を代入する。分割配列の10番目の位置にユニット3の余り変数に代入された数値を代入する。分割配列の11番目の位置にユニット2の余り変数に代入された数値を代入する。分割配列の12番目の位置にユニットの余り変数に代入された数値を代入する。分割配列の13番目の位置に倍数の余り変数に代入された数値を代入する。分割配列の14番目の位置に最初の余り変数に代入された数値を代入する。分割配列の最後の位置に、終端マークの255を代入する。判断変数に0を代入する。大小子5分岐で、ユニット6変数に代入された数値が255以上の場合は、判断変数に1を代入して、大小子6分岐を終了する。判断5分岐で、判断変数に代入された数値が0の場合は、何も行わずに判断5分岐を終了する。

0060

これで、大小1分岐を終了する。分割2分岐で、判断変数に代入された数値が0の場合は、何も処理を行わずに、分割2分岐を終了する。

0061

ステップ103に進む。ステップ103は、倍数乗数分割ソフトウェアとコンピューターによる自動処理工程である。ステップ102で作成した分割配列の最初の位置から最後の位置までに代入されたデーターを図符号Fの作成した分割データーを表示するリストボックスに1byteづつ縦に表示する。図符号Fの作成した分割データーを表示するリストボックスに表示が完了したら、ファイルに記録する。バイナリー形式でファイルを作成する指定をして、ファイルを作成する。作成したファイルに、分割配列の最初の位置から最後の位置までに代入された1byteづつの数値を、ファイルの末尾に1byteづつ書き込んでファイルを作成して、分割工程を終了する。分割工程が終了した状態を示したのが図3の<倍数乗数分割ソフトウェアで数値を分割処理後の操作画面図>である。

0062

次に、復元工程の説明を行う事とする。復元工程は、分割処理された数値が記録されているファイル(分割工程で作成したファイルの事)または、分割処理されたデーター(図符号Fの作成した分割データーを表示するリストボックスに表示された数値の事)が無いと復元できないので、必ず、分割工程終了後に行う事とする。ステップ104に進む。ステップ104は、人為的な手動による操作または入力処理工程である。図符号Hの復元したいファイルの指定テキストボックスに図符号Cのキーボードでファイル名をフルパスで入力する事で復元工程の処理を行うファイルを指定する。しかし、図符号Kの参照ボタンを図符号Dのマウスでクリックする事で、図符号Cのキーボードでファイル名をフルパスで入力せずに、ファイルを選択して指定する事ができる。図符号Hの復元したいファイルの指定テキストボックスに入力されたファイルを復元対象ファイルと呼ぶ事とする。図符号Jの元に戻すボタンを図符号Dのマウスでクリックして復元工程をスタートさせる。

0063

ステップ105に進む。ステップ105は、倍数乗数分割ソフトウェアとコンピューターによる自動処理工程である。図符号Hで指定された復元対象ファイルを1byteづつ配列に読み込む処理を行う。復元対象ファイルを1byteの型で1byteづつ読み込むのに必要なサイズの配列を作成する。この配列を仮称、復元対象配列とする。図符号Hで指定された復元対象ファイルをバイナリー形式で開いてファイルに記録されている全ての数値を1byteづつ読み込んで、読み込んだ1byteづつの数値を復元対象配列の最初の位置から最後の位置までに、1byte代入する度に1byte分づつ代入する位置をずらして代入する。

0064

次に、ステップ106に進む。ステップ106は、倍数乗数分割ソフトウェアとコンピューターによる自動処理工程である。計算結果を代入する変数を64bitの型で作成する。この作成した変数を計算結果変数と呼ぶ事とする。復元対象配列の最初の位置に代入された数値が254より小さい場合と254と等しい場合とに分岐する。この分岐をD大小分岐と仮称する。復元対象配列の最初の位置に代入された数値を配列1と呼び、復元対象配列の2番目の位置に代入された数値を配列2と呼び、復元対象配列の3番目の位置に代入された数値を配列3と呼び、復元対象配列の4番目の位置に代入された数値を配列4と呼び、復元対象配列の5番目の位置に代入された数値を配列5と呼び、復元対象配列の6番目の位置に代入された数値を配列6と呼び、復元対象配列の7番目の位置に代入された数値を配列7と呼び、復元対象配列の8番目の位置に代入された数値を配列8と呼び、復元対象配列の9番目の位置に代入された数値を配列9と呼び、復元対象配列の10番目の位置に代入された数値を配列10と呼び、復元対象配列の11番目の位置に代入された数値を配列11と呼び、復元対象配列の12番目の位置に代入された数値を配列12と呼び、復元対象配列の13番目の位置に代入された数値を配列13と呼び、復元対象配列の14番目の位置に代入された数値を配列14と呼び、復元対象配列の15番目の位置に代入された数値を配列15と呼ぶ事にする。また、復元対象配列に代入された数値を示す場合に、配列1とか配列2とか配列3という具合に略して配列に代入された数値を示す事がある。

0065

D大小1分岐で、配列1が254より小さい場合は、計算せずにそのままの数値を計算結果として、計算結果変数に代入する。

0066

D大小1分岐で、配列1が254と等しい場合は、以下の場合に分岐する。この分岐をD大小2分岐と仮称する。D大小2分岐で、配列2が255である場合は、254を計算結果として、計算結果変数に代入する。

0067

D大小2分岐で、配列2が0と等しくて、配列3が1以上で、配列4が0以上で、配列5が255であった場合は、以下の計算を行う。(配列3×254)+(配列4)を算出して、計算結果変数に代入する。

0068

D大小2分岐で、配列2が1以上で、配列3が1以上で、配列4が0以上で、配列5が255の場合は、以下の計算を行う。(配列2×254×254)+(配列3×254)+(配列4)を算出して、計算結果変数に代入する。

0069

D大小2分岐で、配列2が254で、配列3が1以上で、配列4が1以上で、配列5が1以上で、配列6が0以上で、配列7が255の場合は、以下の計算を行う。(配列2×254×254×254)+(配列3×254×254×254)+(配列4×254×254)+(配列5×254)+(配列6)を算出して、計算結果変数に代入する。

0070

D大小2分岐で、配列2が254で、配列3が254で、配列4が1以上で、配列5が1以上で、配列6が1以上で、配列7が1以上で、配列8が0以上で、配列9が255の場合は、以下の計算を行う。(配列2×254×254×254×254)+(配列3×254×254×254)+(配列4×254×254×254×254)+(配列5×254×254×254)+(配列6×254×254)+(配列7×254)+(配列8)を算出して、計算結果変数に代入する。

0071

D大小2分岐で、配列2が254で、配列3が254で、配列4が254で、配列5が1以上で、配列6が1以上で、配列7が1以上で、配列8が1以上で、配列9が1以上で、配列10が0以上で、配列11が255の場合は、以下の計算を行う。(配列2×254×254×254×254×254)+(配列3×254×254×254×254)+(配列4×254×254×254×254)+(配列5×254×254×254×254×254)+(配列6×254×254×254×254)+(配列7×254×254×254)+(配列8×254×254)+(配列9×254)+(配列10)を算出して、計算結果変数に代入する。

0072

D大小2分岐で、配列2が254で、配列3が254で、配列4が254で、配列5が254で、配列6が1以上で、配列7が1以上で、配列8が1以上で、配列9が1以上で、配列10が1以上で、配列11が1以上で、配列12が0以上で、配列13が255の場合は、以下の計算を行う。(配列2×254×254×254×254×254×254)+(配列3×254×254×254×254×254)+(配列4×254×254×254×254)+(配列5×254×254×254)+(配列6×254×254×254×254×254×254)+(配列7×254×254×254×254×254)+(配列8×254×254×254×254)+(配列9×254×254×254)+(配列10×254×254)+(配列11×254)+(配列12)を算出して、計算結果変数に代入する。

0073

D大小2分岐で、配列2が254で、配列3が254で、配列4が254で、配列5が254で、配列6が254で、配列7が1以上で、配列8が1以上で、配列9が1以上で、配列10が1以上で、配列11が1以上で、配列12が1以上で、配列13が1以上で、配列14が0以上で、配列15が255の場合は、以下の計算を行う。(配列2×254×254×254×254×254×254×254)+(配列3×254×254×254×254×254×254)+(配列4×254×254×254×254×254)+(配列5×254×254×254×254)+(配列6×254×254×254)+(配列7×254×254×254×254×254×254×254)+(配列8×254×254×254×254×254×254)+(配列9×254×254×254×254×254)+(配列10×254×254×254×254)+(配列11×254×254×254)+(配列12×254×254)+(配列13×254)+(配列14)を算出して、計算結果変数に代入する。

0074

D大小2分岐で、分岐条件に該当しない倍は、エラーとして計算結果変数に-1を代入して、D大小2分岐を終了する。D大小1分岐で、分岐条件に該当しない場合は、エラーとして計算結果変数に-1を代入して、D大小1分岐を終了する。

実施例

0075

ステップ107に進む。ステップ107は、倍数乗数分割ソフトウェアとコンピューターによる自動処理工程である。計算結果変数に代入された数値を図符号Iの元の数値に戻した数値テキストボックスに表示する。計算結果変数に代入された数値を図符号Iの元の数値に戻した数値テキストボックスに表示し終わったら、復元工程の処理を終了する。ここまでの分割工程と復元工程の両方を完了した状態を示す図が図4の<倍数乗数分割ソフトウェアで数値を分割処理後に復元工程を処理後の操作画面図>である。

0076

コンピューターで使用されているデーターファイル音声ファイル画像ファイル文書ファイルなどから圧縮ファイルや差分ファイル等を作成する際にソフトウェアとして利用される事が予想される。また、通信技術としても利用可能であり、携帯電話スマートフォンタブレット型コンピューターでの通信、テレビ放送ラジオ放送カーナビゲーションシステム、各種無線技術や有線放送局でのテレビ放送配信、電信電話有線インターネットでの通信などの多種多様有線通信技術としての利用が考えられる。

0077

本発明の倍数乗数分割ソフトウェアを記録した記録媒体で計算出力される2進数でファイルを作成すると特殊な2進数で構成された数値データー形式で記録される事になる。コンピューターで普通に使われている機械語の全てを本発明の倍数乗数分割ソフトウェアを記録した記録媒体を使用して算出したデーターで記録する事も可能である。本発明の倍数乗数分割ソフトウェアを記録した記録媒体によって算出したデーターは、機械語を記録する為の今までに無い新しい2進数として使用できるものであると考えている。

0078

本発明の倍数乗数分割ソフトウェアを記録した記録媒体は、数値をコンピューターで使用されているファイルに記録する場合の記録方式である。単純に言うと数値の記録方式なのである。従って、本発明の技術で作成した数値で記録する元の数値は、2進数のみには限らない。二進化十進数で表した数値を本発明の倍数乗数分割ソフトウェアを記録した記録媒体の技術で算出作成し、ファイルに記録する事も可能になる技術である。

0079

本発明の倍数乗数分割ソフトウェアを記録した記録媒体は、コンピューターの本体メモリーに数値や機械語を記録する場合にも使用できる記録方式である。コンピューターの本体メモリーに数値や機械語を記録する場合に、本発明の倍数乗数分割ソフトウェアを記録した記録媒体で計算出力される2進数を使用した場合は、コンピューターのCPUと呼ばれる部分も本発明の倍数乗数分割ソフトウェアを記録した記録媒体で計算出力される2進数に対応したものに変更しなければならなくなる。しかし、本発明の倍数乗数分割ソフトウェアを記録した記録媒体で計算出力される2進数を使用してコンピューターの本体メモリーに数値や機械語を記録するようにコンピューターのシステムを変更した場合は、コンピューターの処理速度が高速になるというメリットがあると予測される。

0080

A:モニター
B:コンピューター本体
C:キーボード
D:マウス
E:分割するデーターを入力するテキストボックス
F:作成した分割データーを表示するリストボックス
G:分割データーの作成ボタン
H:復元したいファイルの指定テキストボックス
I:元の数値に戻した数値テキストボックス
J:元に戻すボタン
K:参照ボタン
L:人為的な手動による操作または入力
M:倍数乗数分割ソフトウェアとコンピューターによる自動処理工程

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

  • 株式会社日立製作所の「 計算機システム及び文書の分類方法」が 公開されました。( 2021/03/18)

    【課題】文書の分類結果とともに、分類の根拠をユーザに提示する計算機システム及び文書の分類方法を提供する。【解決手段】計算機システムは、文書のデータの入力を受け付け、文書及び文書の要素を構成要素とする非... 詳細

  • 大日本印刷株式会社の「 画像処理装置及び画像検索方法」が 公開されました。( 2021/03/18)

    【課題】適切な画像を用いて顔検索を行い、検索対象人物が写っている画像を精度良く検索する。【解決手段】画像処理装置は、複数のイベントの販売画像を記憶する記憶部と、検索対象人物が写った検索用画像をユーザ端... 詳細

  • 株式会社NTTドコモの「 情報提供システム」が 公開されました。( 2021/03/18)

    【課題】ユーザによって用いられる蓋然性が高いキーワードを精度良く提供する情報提供システムを提供する。【解決手段】情報提供システムは、対象ユーザを含む複数の閲覧者が第1情報源から提供される第1コンテンツ... 詳細

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ