JP2022160484A - デジタルレンズング - Google Patents
デジタルレンズング Download PDFInfo
- Publication number
- JP2022160484A JP2022160484A JP2022115555A JP2022115555A JP2022160484A JP 2022160484 A JP2022160484 A JP 2022160484A JP 2022115555 A JP2022115555 A JP 2022115555A JP 2022115555 A JP2022115555 A JP 2022115555A JP 2022160484 A JP2022160484 A JP 2022160484A
- Authority
- JP
- Japan
- Prior art keywords
- code
- bit
- digital
- data
- values
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 518
- 238000012545 processing Methods 0.000 claims description 515
- 238000013461 design Methods 0.000 claims description 242
- 230000008569 process Effects 0.000 claims description 62
- 238000003860 storage Methods 0.000 claims description 32
- 239000000203 mixture Substances 0.000 claims description 18
- 238000007906 compression Methods 0.000 abstract description 130
- 230000006835 compression Effects 0.000 abstract description 129
- 230000006837 decompression Effects 0.000 abstract description 41
- 230000009897 systematic effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 155
- 238000013507 mapping Methods 0.000 description 110
- 238000009826 distribution Methods 0.000 description 107
- 230000000295 complement effect Effects 0.000 description 48
- 201000005947 Carney Complex Diseases 0.000 description 44
- 238000006467 substitution reaction Methods 0.000 description 36
- 230000008859 change Effects 0.000 description 30
- 201000010276 collecting duct carcinoma Diseases 0.000 description 24
- 238000013144 data compression Methods 0.000 description 23
- 238000013473 artificial intelligence Methods 0.000 description 21
- 238000005516 engineering process Methods 0.000 description 14
- 230000002441 reversible effect Effects 0.000 description 12
- 208000021049 Carney complex type 2 Diseases 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 11
- 238000010276 construction Methods 0.000 description 10
- 101001026573 Homo sapiens cAMP-dependent protein kinase type I-alpha regulatory subunit Proteins 0.000 description 9
- 229910002056 binary alloy Inorganic materials 0.000 description 9
- 102100037490 cAMP-dependent protein kinase type I-alpha regulatory subunit Human genes 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 230000002829 reductive effect Effects 0.000 description 9
- 230000014509 gene expression Effects 0.000 description 8
- 239000002699 waste material Substances 0.000 description 8
- 238000010521 absorption reaction Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 7
- 238000005070 sampling Methods 0.000 description 7
- 101001071145 Homo sapiens Polyhomeotic-like protein 1 Proteins 0.000 description 6
- 101000583616 Homo sapiens Polyhomeotic-like protein 2 Proteins 0.000 description 6
- 241000755266 Kathetostoma giganteum Species 0.000 description 6
- 102100033222 Polyhomeotic-like protein 1 Human genes 0.000 description 6
- 102100030903 Polyhomeotic-like protein 2 Human genes 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 230000008520 organization Effects 0.000 description 6
- 102100024829 DNA polymerase delta catalytic subunit Human genes 0.000 description 5
- 101000868333 Homo sapiens Cyclin-dependent kinase 1 Proteins 0.000 description 5
- 101000909198 Homo sapiens DNA polymerase delta catalytic subunit Proteins 0.000 description 5
- 238000007796 conventional method Methods 0.000 description 5
- 238000005457 optimization Methods 0.000 description 5
- 230000007423 decrease Effects 0.000 description 4
- 230000003247 decreasing effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 230000000717 retained effect Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000011835 investigation Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000001228 spectrum Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000001131 transforming effect Effects 0.000 description 3
- 241000272201 Columbiformes Species 0.000 description 2
- 101000797623 Homo sapiens Protein AMBP Proteins 0.000 description 2
- 206010029412 Nightmare Diseases 0.000 description 2
- 241000209094 Oryza Species 0.000 description 2
- 235000007164 Oryza sativa Nutrition 0.000 description 2
- 102100032859 Protein AMBP Human genes 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 238000013479 data entry Methods 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 239000010813 municipal solid waste Substances 0.000 description 2
- 235000009566 rice Nutrition 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- LMDZBCPBFSXMTL-UHFFFAOYSA-N 1-Ethyl-3-(3-dimethylaminopropyl)carbodiimide Substances CCN=C=NCCCN(C)C LMDZBCPBFSXMTL-UHFFFAOYSA-N 0.000 description 1
- FPQQSJJWHUJYPU-UHFFFAOYSA-N 3-(dimethylamino)propyliminomethylidene-ethylazanium;chloride Chemical compound Cl.CCN=C=NCCCN(C)C FPQQSJJWHUJYPU-UHFFFAOYSA-N 0.000 description 1
- 241000276484 Gadus ogac Species 0.000 description 1
- 230000002547 anomalous effect Effects 0.000 description 1
- 238000010420 art technique Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 235000001729 chan in Nutrition 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 230000003750 conditioning effect Effects 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000012067 mathematical method Methods 0.000 description 1
- 238000012627 multivariate algorithm Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000009469 supplementation Effects 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/55—Compression Theory, e.g. compression of random number, repeated compression
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3068—Precoding preceding compression, e.g. Burrows-Wheeler transformation
- H03M7/3077—Sorting
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6005—Decoder aspects
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6011—Encoder aspects
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6035—Handling of unkown probabilities
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6064—Selection of Compressor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Probability & Statistics with Applications (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Storage Device Security (AREA)
Abstract
Description
本発明は、本発明者により2017年7月25日に提出されたPCT/IB2017/054500の早期PCT出願の優先権を要求している。本発明は上記PCT出願に開示され且つ本願に改良された概念及び技術的用途に関し、圧縮/解凍及び暗号化/復号を含むエンコーディング及びデコーディングの目的で、ランダムであるか否かに関わらず、特にCHANフレームワークを用いてデジタルデータを順序付け、組織及び記述するための新しい技術を提案する。本発明では、CHANフレームワークを記述するために、本発明が優先権を主張するPCT出願PCT/IB2017/054500の内容が本発明に組み込まれている。本発明の単一性は、本願の記述が、デジタルレンズング(Digital Lensing)の発明を開示することにあり、この方法は、デジタルデータを順序付け、組織及び記述するための方法として、具体的に各種の活動用のデジタルデータの暗号化/復号及び圧縮/解凍における用途を含む各種の用途のデジタルデータを処理するために、コーディング手段、方法及び技術を開発及び使用する(CHANフレームワーク下であるか否かに関わらず)ことに用いられる。本発明が優先権を主張するPCT出願PCT/IB2017/054500において提案された他の技術、及び本発明で新たに開示された他の技術の使用により、デジタルレンズングはこれまで最も新しい方法であることがわかった。デジタルレンズングは、知的所有権の使用と保護のために、ランダム又は非ランダムの任意のデジタル情報のコーディング(エンコーディング及びデコーディングを含む)を操作及び作成することができ、前記知的所有権は、デジタル情報の形態で表現され、デジタルデータ及び装置用の実行可能コードを含み、装置は実行可能コードを実行し又はデジタルデータを使用できるコンピュータシステム又はコンピュータで制御される装置又はオペレーティングシステムで制御される装置又はシステムを含む。以下、このような装置は装置と呼称される。
上記ウィキロスレス圧縮の関連部分は、参照できるようにここに再現されている。
「ロスレスデータ圧縮アルゴリズムは通常、統計的冗長性を利用して情報を失うことなくデータを簡潔に表現し、前記プロセスを可逆的にする。ほとんどの実際のデータに統計的冗長性があるため、ロスレス圧縮は可能である。例えば、「赤色画素、赤色画素...」をコーディングする代わりに、画像は、複数の画素にわたって変化しない色の領域を有することができ、データは「279個の赤色画素」としてエンコーディングすることができる。これはランレングスエンコーディングの基本実例であり、冗長を解消することでファイルサイズを減少させる多くの手段が存在する。
Lempel-Ziv(LZ)圧縮方法は最も一般的なロスレス格納アルゴリズムの1つである。DEFLATEはLZの変形であり、解凍速度及び圧縮比を最適化させるが、圧縮が遅くなる可能性がある。DEFLATEは、PKZIP、Gzip及びPNGに用いられる。LZW(Lempel-Ziv-Welch)はGIF画像に用いられる。また、Zip方法の基礎となるLZR(Lempel-Ziv-Renau)アルゴリズムも注目に値する。LZ方法は、テーブル・ベースの圧縮モデルを使用し、データの繰り返し文字列の代わりにテーブルエントリが使用される。ほとんどのLZ方法では、このテーブルは入力の初期データから動的に生成されるものである。テーブルそのものは、一般的にハフマンエンコーディングされる(例えばSHRI、LZX)。現在LZに基づき、良好に動作するコーディング手段LZXは、マイクロのCABフォーマットに用いられる。
現在の最適なロスレスコンプレッサは、部分マッチングにより予測する等の確率モデルを使用する。Burrows-Wheeler変換は、統計モデリングの間接形態と見なすこともできる。
例えば、同じ又は関連する種の生物学的データ収集、巨大バージョンのドキュメントコレクション、インターネットアーカイブ等の反復性の高いテキストを非常に効果的に圧縮することができるため、このような文法ベースのコードは人気がある。文法ベースのコードの基本タスクは単一文字列を導出する文脈自由文法を構築することである。Sequitur及びRe-Pairは共通コードの使用できる実用的な文法圧縮アルゴリズムである。
これらの技術のさらなる改良において、統計的予測は算術コーディングと呼称されるアルゴリズムに結合することができる。算術コーディングはJorma Rissanenにより発明され、Witten、Neal及びClearyにより実用方法に変換され、よく知られているHuffmanアルゴリズムに対する良好な圧縮を実現し、特に予測がコンテキストに依存するアダプティブデータ圧縮タスクに適用できる。算術コーディングは二層画像圧縮基準JBIG及びドキュメント圧縮基準DjVuに用いられる。テキスト入力システムDasherは逆算術エンコーダである。」
本発明までの長い間、データ圧縮分野において、純粋にランダムな2進数データは絶対的に非圧縮性であると証明された。本発明は、異なるタイプ及び異なる言語特徴に適用し、ランダムデジタル情報を問わずにロスレス圧縮用のフレームワーク及び方法を提供することにより、ランダムデジタル情報を圧縮してそれを首尾よく復元することができる。本発明に開示されたフレームワーク(CHANフレームワーク)はランダムであるか否かに関わらずデジタル情報の順序付けを組織的に記述及び新規作成することが可能であり、任意のデジタル情報の特徴を発見、記述、調査及び分析することができ、デジタル情報のこのような特徴及び内容を周期的に重複するロスレス暗号化/復号及び圧縮/解凍を目的とする技術及び方法の開発に用いることができる。これは、情報理論における鳩ノ巣原理の神話を終わらせる。もちろん、それには限界がある。明らかに、1ビットだけのデジタル情報をさらに圧縮することができない。本発明に開示されるように、デジタル情報の圧縮制限は圧縮中の関連達成方式により選択されたスキーマ及び方法に伴って変化し、例えば使用するヘッダーのサイズ、処理ユニット(所定の数のコード単位を含む)のサイズ、又は使用するスーパー処理ユニット(所定の数の処理ユニットを含む)のサイズ、及び完全な処理ユニット又はスーパー処理ユニットを構成するには不十分であり、エンコーディングしていない2進数ビットコードのサイズにより確定される。従って、設計及び関連データ割り当てそのものの性質に基づき、任意のデジタル情報を圧縮する制限は数千の2進数ビット又はそれ未満に保つことができる。
図表0
CHANフレームワークでグループ化された従来のデータエンコーダ
Max4クラス=データ区別用の主要要因又は基準
8ビットグループ 9ビットグループ=非主要要因又は基準
以下の図表は、本発明に開示された、データエンコーダでエンコーディング及びデコーディングする(即ち圧縮/解凍及び暗号化/復号目的を含む)ためのCHANフレームワークの特徴を解釈することに用いられ、前記データエンコーダは、従来のデータエンコーダにより定義された、同じ最大可能数の唯一値を有し、例えばMax4 8ビットグループを2ビット固定サイズの従来のデータエンコーダと等価に使用し、又はMax8 24ビットグループを3ビット固定サイズの従来のデータエンコーダと等価に使用する。簡略化するために、前に使用していないがCHANフレームワークにおけるデータエンコーダを使用する人に対して、処理ユニットの構成部(コンポーネントとも呼ばれる)の概念を説明する。
図表1
処理ユニットコンポーネントの概念を説明するCHANフレームワーク及び図解
1つのデジタル情報は1つのコード単位を構成し、図表1中の2つのこのコード単位は1つの処理ユニットを構成する(処理ユニットに含まれたコード単位の数はコーディング設計に使用されたスキーマ及び技術に応じて変化し、これはコード設計者によって決定されるため、図表1を用いる本図に使用された場合とは異なる可能性がある)。
演算の便宜及び容易さのために、各コード単位は、最適には、例えば1つのコーディング過程サイクルのビットサイズに基づき、スケール変換を行うことなく同じ数字スケールを使用する等の同じ定義を有し、エンコーディング及びデコーディングの一致性及び規則性は、エンコーディング後にロスレスにデジタル情報を首尾よく復元することに対して重要である。エンコーディング及びデコーディングの一致性及び規則性とは、デジタル情報の処理が一定の法則に従うことを意味し、そのため、デジタル情報を変換又は切り替えることができるような方法でエンコーディング及びデコーディングを論理的に行うことができることで、データ割り当てを変えることを可能にし、例えば、デジタル情報の2進数ビット0と2進数ビット1の比率を変えたり、動的コードを調整(コード昇格、コード降格、コード省略及びコード復元を含む)したりすることを可能にする。エンコーディング及びデコーディング用のこのような法則はコード単位又は処理ユニット又はスーパー処理ユニットの特徴及び内容、及び使用する関連するスキーマ、設計及びエンコーディング及びデコーディング方法によって決定される。エンコーディング及びデコーディングのこのような法則又は論理は、メインヘッダー内の2進数コード(デジタルデータ入力全体に対して)又は2進数ビットをインジケータとして用いるセクションヘッダー内(デジタルデータ入力全体は2進数ビットコードを含む複数のセクションに分けられ、各セクションのヘッダーが即ちセクションヘッダーと呼称される)に記録でき、エンコーディング及びデコーディングのスキーマ、設計及び方法の一致性及び規則性が許可できる場合、インジケータとするこのような2進数コードはエンコーダ及びデコーダに埋め込むことができる。
コード単位は、2進数スケール、8進数、16進数等を含む任意の適切な数字スケールの選択により表現し及び示すことができる。
コード単位のサイズ、即ちコード単位サイズは、任意の適切なサイズとして選択し得、例えば、4ビット、8ビット、16ビット、32ビット又は64ビットのような2進数スケール、又は任意の演算しやすいビット値サイズがいずれもコード単位サイズとすることができる(コード単位の定義は段落[0054]からのCHANフレームワークに基づいて改良される)。
各コード単位のデジタル数又はデジタル値はコード単位のデジタル内容を示し、デジタル数はコード単位の全てのビットのビットシンボルを示す。
且つ、使用するコード単位間の関係を設計、見つけ及び記述することができ、CHANコーディングが2つのコード単位を使用する概念及び技術として如何に使用するデモ説明するために、前記関係に使用される数式の定義は以下のとおりである。
a及びbは図表1中のカレントスキーマに応用されたCHANコーディングのうちの、1つの処理ユニットを構成する2つのコード単位であり、各コード単位は各コード単位において伝送されたデジタル情報の内容又は数値を示すデジタル数であり、bの前にaを読み取る。
aはbより大きく又は小さい値であってもよく、他の2つの変数名でこの2つのコード単位の値のランクを示すことができる。
Aは2つのコード単位のうちの大値である。
Bは2つのコード単位のうちの小値である。
且つ、aとbの値が同じであり、まず読み取るのはAであり、次に読み取るのはBであり、従ってAの値はB以上であり、且つaはbに関連してその値に応じてA又はBになる可能性がある。
上記場合に鑑み、必ずビット(RPビット)(即ちランク及び位置ビット)で、第1コード単位が第2コード単位以上又は小さい値を有するか否かを指示し、従って、コードのこのビットコードは2つのコード単位により読み取られた値の位置とランクとの関係を示す。
a及びbをエンコーディングするために、以下のように、a及びbの値を1つの独立値に容易に加算し、コード単位サイズのビット値サイズに1ビットを加算することができる。
図表2
エンコーディングする前、図表2のデータは図表1に示すように、コード単位サイズが64ビットであり、2つのコード単位を有する処理ユニットを有すると仮定する。
エンコーディングした後、生成したコード、CHANコードはRPピース及びCVピースからなる。
デコーディングの目的で、当業者は、上記PCT特許出願又は他の設計に記載されたヘッダー処理と得られたCHANコード、即ちCHANコードのRPピース及びCVピースを容易に使用できる。以下に本発明に開示されるように、このように設計されたエンコーディング及びデコーディングのスキーマ及び方法に基づき、より多くのコード単位が使用される時には、CVピースをさらにサブブロックに分けることができる。
RPピースは、対応するコード単位のある特性又は特徴を示し、本明細書の処理ユニットの2つの対応するコード単位間のランク及び位置の特徴を示すコードピースである。RPピースは幅広いコードカテゴリーのコードのサブセットであり、特性コード又は特徴コード又は分類コードとして命名される(関連する特性又は特徴が類似した特性又は特徴を有するコード単位を分類又はグループ化するために使用されているためにこのように呼ばれる)。CVピースは1つ又は複数のコード単位の内容のエンコーディングコードを示す。時には、エンコーディング及びデコーディングのスキーマ及び方法に基づき、コード単位の内容の一部は分類コードとして抽出され、CVピースに残っているものはコード単位の内容に対応する残りの部分にすぎない。CVピースはCHANコードの内容コードを構成する。従って、エンコーディング及びデコーディングのスキーマ及び方法に基づき、CHANコードは少なくとも内容コードを含み、適切な場合に分類コードを追加し、適切な場合又は必要がある場合に、内容コードそのものに含まれる、又は内容コードそのものの内部に混在している、又はヘッダーに含まれる、例えばスーパー処理ユニットを処理する時に使用するコーディング方法又はコードマッピングテーブルを指示するその他のインジケータコードを追加する。これは、当然、本発明の説明において明らかになるであろう。
ここまで、CHANフレームワークは、コード単位、処理ユニット、スーパー処理ユニット、エンコーディングしていないコード単位(エンコーディングしていないコードを含む)、ヘッダーユニット(デジタル情報ファイルのヘッダーに使用され、デジタルデータファイル全体に適用されるインジケータを含む)、内容コード単位、セクション及びセクションヘッダー(デジタルデータファイル又はストリーム全体が処理のための複数のセクションに分割される)、適切な場合には分類エンコーディングユニット(以下、上記特性コード又は特徴コード単位を意味する)、及び内容コード内部と混在しているインジケータコード(例えば、対応するスーパー処理ユニットに固有)の元素を含む。前記フレームワークは適切な場合にさらに洗練されて精緻化される。
対応するCHANコードを復号してデジタルオリジナルコードに復元するためにCHANコーディングが行う作業は、以下のステップを含む。(5)対応するCHANコードを読み込み、(6)対応するCHANコードの特性を取得し、(7)このように設計された数式を逆様に使用する。前記式は、CHANコードのCHANコーディングを分析した後に得られたオリジナルデジタル情報のコンポーネントの特徴又はコンポーネント間の関係を記述しており、通常の数学及び補数数学の使用を含む。(8)ステップ(7)を使用した後、オリジナルデジタル情報がランダムであるか否かに関わらず、オリジナルデジタル情報のオリジナルコードをロスレスに生成する。このため、復号時に、図表3のCHANコードは図表2のオリジナルデジタルデータコードに正しく且つロスレスに復元される。これは、別の発明特徴を使用して実現することができ、その結果、コード単位の定義を広げて、より柔軟で新しいフレームワークとして、段落[0014]で説明されたデジタルデータを順序付け、組織、記述するための、そして(後に段落[0054]から)さらに洗練されて詳述されるCHANフレームワークを提供する。もちろん、これまでこの独創的な特徴をさらに明らかにする前には、AマイナスBを表す別のCVサブピースが以上の図表において存在していない場合はそうではなかった(即ち、このような場合に使用された式はオリジナルデータコードを正しく復元するのに十分ではない)。このCVサブピースが存在していても、従来のコード単位定義(コード単位は統一したビットサイズ又は同じビットサイズで定義されている)を使用して得られたCHANコードのサイズがオリジナルコードより小さくなることは保証できず、それは、例えばコード単位の定義やコード配置手法、及びオリジナルデータ割り当て等、使用されるスキーマ及び方法によって異なる。しかし、対応する欠けている式又は処理ユニットコンポーネントの欠けている部分と共に、数式AマイナスBの演算の結果を表すCVサブピースがある場合、結果として得られるCHANコードは暗号化コードと見なすことができ、前記暗号化コードはオリジナルデジタルコードを正しくそしてロスレスに復元するために使われ得る。しかしながら、そのように生成された暗号化CHANコードは、必ずしも圧縮コードではなく、拡張コードであり得る。ランダムであるか否かに関わらず割り当てられるデジタルデータから圧縮コードを生成するための方法及び関連技術は、情報理論における鳩ノ巣原理の神話を終了させ、前記方法及び関連技術は、新規なコード単位定義の独創的な特徴、及びCHANフレームワークの新規特徴を実現するのに使用される他の技法を議論した後に、必要に応じて説明される。
図表4
補数数学
CC-A=Ac
且つ
Ac+A=CC
又は
Bc+B=CC
且つ
(Ac+B)=(CC-A)+B
ここで、CCは相補定数又は変数であり、相補定数又は変数(エンコーディング及びデコーディングの異なるサイクルで異なるコード単位サイズが使用されている場合は、変数になる可能性がある)を使用するように定義されている補数数学の演算のために選択された定数値又は変数値である。これは、本発明で説明されるように、数学的計算又は加算及び減算論理を有する演算において使用される。場合によって、複数の相補定数又は変数を設計し、必要に応じて又は適切な場合には、様々な演算又は目的に使用し得る。
Aは演算される値であり、ここで使用されている実例はランク値Aであり、現在2つのコード単位値のみを使用する場合、Aの値はBの値以上であり、このため、最初の式では、
CC-A=Ac
ここで、CCからAを引いたものは、A補数に等しく、即ち、それぞれの相補定数又は変数を使用したAの補数値、又はミラー値であるAcで示される。例えば、CCをコード単位サイズの最大値の定数、例えば256個の値を有する8ビットとすると、CCの値は256とある。Aの値を100とすると、Acは256から100を引いた値である156に相当し、従って、逆の演算はAc+A=CCになり、100+156=256の演算を表す。そして、第4式において、(Ac+B)=(CC-A)+Bであり、そしてBを50とすると、Ac+B=(256-100)+50=156+50=206となる。
図表5
定義されたより多くの補数数学の理論:
CC-(A+B)=(A+B)c又は=CC-A-B。
且つ
CC-(A-B)=Ac+B
且つ
CC-A+Bは分かりにくいかもしれないが、次のように明確に表すべきである。
(CC-A)+B=Ac+B
又は
(CC-B)+A=Bc+A
又は
CC-(A+B)=CC-A-B。
そのため、補数数学の減算演算の上記論理をさらに説明するために、CCを256、Aを100、Bを50とすると、
CC-(A+B)=(A+B)c又は=Ac-B又は=Bc-A
即ち、256-(100+50)=(100+50)c=256-150=106=Ac-B=156-50=106
又は
=Bc-A=206-100=106
且つ
CC-(A-B)=Ac+B
即ち256-(100-50)=256-(50)=206=156+50=206
且つ
(CC-A)+B=Ac+B
即ち(256-100)+50=156+50=206
又は
(CC-B)+A=Bc+A
即ち(256-50)+100=206+100=306となる。
図表6
補数数学を使用したデータ値又はデータ範囲に対する演算
CCを256、Aを100、Bを50とすると、
(1)通常の数学処理:
150を2で割り、即ちAとBの平均値を取り、
=(A+B)/2=1/2A+1/2B=75。且つAはA+Bのうちの大値であるため、
=A-1/2(A-B)=100-1/2(100-50)=100-1/2(50)=100-25=75。
=B+1/2(A-B)=50+1/2(100-50)=50+1/2(50)=50+25=75。
(2)補数数学処理:
(CC-A)+Bの演算を行い、即ちBについてではなく、AについてCCに対して演算を行い、
=(CC-A)+B=Ac+B=(256-100)+50=156+50=206。
このステップで演算を実行するには、最初にAとBを分離する必要があり、このステップでは補数数学の演算をここで説明する。
(3)CHAN数学を使用したCHANコーディング(通常の数学処理及び補数数学処理):
A-1/2(A-B)を使用して、ステップ(1)の結果をステップ(2)の結果に加算する。
=Ac+B+A-1/2(A-B)=Ac+A+B-1/2(A-B)
=CC+B-1/2(A-B)=256+50-1/2(100-50)
=256+50-25
=256+25。
(4)CHAN数学を使用したCHANコーディング:
ステップ(3)の結果からCCを引く。
=[CC+B-1/2(A-B)]-CC=B-1/2(A-B)
=[256+50-25]-256
=[50-25]。
(5)CHAN数学を使用したCHANコーディング:
B+1/2(A-B)を使用して、ステップ(1)の結果をステップ(4)に加算する。
=[B-1/2(A-B)]+[B+1/2(A-B)]
=2B
=[50-25]+[50+25]
=25+75
=100
(6)通常の数学処理:
2Bを2で割ってBの値を得る。
=2B/2=B
=100/2=50
(7)通常の数学処理:
A+BからBを引くことで、Aの値を得る。
=A+B-B
=150-50
=100
上記説明は、通常の数学処理、補数数学処理、及びCHAN数学を使用したCHANコーディングの違いを示している。
ほとんどの場合、処理ユニットの4つの基本コンポーネントは3つのアーム、即ちロングアーム、ミドルアーム、ショートアームに配置でき、2対の基本コンポーネントは対応したアームの上隅(より大きな合計を持つ1対の2つの基本コンポーネント)及び下隅(より小さな合計を持つ1対の2つの基本コンポーネント)を示す。しかし、まれに、これらの対の値がある方式で同じ値になることがあるため、3本未満のアームが存在でき、例えば2本又は1本だけ、又は点状になることもある。従って、処理ユニットの4つの基本コンポーネントの値の割り当ては、次のように異なるCHAN形状で表すことができる。
図表7
CHAN形状
CHAN点●
これは、4つの基本コンポーネントの全てが同じ値を持つ場所である。
CHAN直線
以下のように2つのCHAN直線がある。
CHAN直線1:3本のアームは全て、[1]+[4]の値が上隅、[2]+[3]の値が下隅にあるショートアームと重なり合っている。
ロングアームとミドルアームの2本のアームがあり、ショートアームは[1]+[4]と[2]+[3]の値の対が等しいので点になる。
CHAN長方形1は、4つのコード単位のデータ値の入力ストリームを順々に示す。
CHAN台形はCHAN長方形の4つの基本コンポーネント間の関係を示している。
CHAN台形1
3本のアームの上隅は[1]+[2]、[1]+[3]、[1]+[4]であり、且つ、
CHAN台形1は、CHAN長方形2に示された4つのコード単位の4個の値である4つの基本コンポーネントの関係を示しており、ここで、Aは[1]、Bは[2]、Cは[3]、Dは[4]で新たに表され、同様に、(A+B)=[1]+[2]、(A-B)=[1]-[2]等となる。処理ユニット[1]、[2]、[3]及び[4]の4つの基本コンポーネントの値は、([1]+[2])-[3]+[4])であるロングアーム、([1]+[3])-([2]+[4])であるミドルアーム、([1]+[4])-([2]+[3])であるショートアームの3つのアームに配置できることが分かる。[1]+[2]+[3]+[4]の値の合計は、3本のアーム全てで常に同じである。3本のアーム間の差はそれらの長さ、即ち3本のアームの上隅と下隅との間の値の差に反映される。
ロングアーム及びミドルアームはランク付けされた値の配列では常に同じ方法でいる。しかし、ショートアームの上隅及び下隅は、4つの基本コンポーネントの値の割り当てに応じて入れ替わる。従って、2つのシナリオがある。例えば、[1]+[4]の値がCHAN台形1の場合のように[2]+[3]の方よりも大きいか、又は逆に、CHAN台形2で次のように表される。
CHAN台形2
CHAN台形1では、ロングアーム、ミドルアーム、ショートアームの値は次のように再割り当てすることができる。
ロングアーム=([1]+[2])-([3]+[4])=([1]-[4])+([2]-[3])=([1]-[3])+([2]-[4])
ミドルアーム=([1]+[3])-([2]+[4])=([1]-[4])-([2]-[3])=([1]-[2])+([3]-[4])且つ
ショートアーム=([1]+[4])-([2]+[3])=([1]-[3])-([2]-[4])=([1]-[2])-([3]-[4])。
CHAN台形2では、ロングアーム、ミドルアーム、ショートアームの各値は次のように再割り当てすることもできる。
ロングアーム=([1]+[2])-([3]+[4])=([1]-[4])+([2]-[3])=([2]-[4])+([1]-[3])
ミドルアーム=([1]+[3])-([2]+[4])=([1]-[4])-([2]-[3])=([3]-[4])+([1]-[2])且つ
ショートアーム=([2]+[3])-([1]+[4])=([2]-[4])-([1]-[3])=([3]-[4])-([1]-[2])。
そのため、CHAN台形1及び2では、ロングアームは常にミドルアーム2*([2]-[3])以上である。
しかし、ショートアームの上隅と下隅の値を入れ替える2つのシナリオが考えられるため、CHAN台形1では、ロングアームは常にショートアーム2*([2]-[4])以上であり、且つミドルアームは常にショートアーム2*([3]-[4])以上である。
そしてCHAN台形2では、ロングアームは常にショートアーム2*([1]-[3])以上であり、且つミドルアームは常にショートアーム2*([1]-[2])以上である。
CHAN台形3又はCHAN正方形1
CHAN台形4又はCHAN正方形2
これは、ミドルアームがロングアームと重なる場所であり、ショートアームの上隅及び下隅がそれぞれ[2]+[3]及び[1]+[4]である。2本のアームの長さが等しくない場合は台形、それ以外の場合は正方形である。
これは、ショートアームがミドルアームと重なる場所であり、ショートアームの上隅及び下隅がそれぞれ[1]+[4]及び[2]+[3]である。2本のアームの長さが等しくない場合は台形、それ以外の場合は正方形である。
これは、ショートアームがミドルアームと重なる場所であり、ショートアームの上隅及び下隅がそれぞれ[2]+[3]及び[1]+[4]である。2本のアームの長さが等しくない場合は台形、それ以外の場合は正方形である。
図表8
4つの入力基本コンポーネントの位置とランクの詳細及び結果のCHANコードを示すCHAN長方形S
4つのコード単位のデータ値の入力ストリームのランクと位置、及び使用される64ビットサイズを示すCHAN長方形3
図表9
ランクと位置のコード表
4つの基本コンポーネントの位置とランクの可能な組み合わせ
(1) =([4]-1/2([3]-[4]))
(2) =([1]-[4])
(3) =(([2]-[3])+1/2([3]-[4]))
ステップ(1)からステップ(3)の式で表される上記3個の値は、上記2016年8月5日に出願されたPCT出願PCT/IB2016/054732に提示されているものとは異なる。前記PCT出願では、ランク及び位置処理の用途と組み合わせた補数数学の使用は、情報理論における鳩ノ巣原理の神話に終止符を打つことができると主張されている。より慎重に検討した結果、このように使用された3つの式はその目的を達成するのに十分によくないことが見出された。従って、正しい式及び式の設計は、CHANコーディング技術を適用するために非常に重要なことである。上記PCT出願では、CHAN形状で表されるように、CHANコーディングは、基本コンポーネント(即ち処理ユニットのコード単位)間の特徴及び関係を使用して設計された式を使用して行われる。
(1)=([1]-[4])
(2)=([2]-[3])及び
(3)=([3]+[4])。
通常の数学によって、以下に引用する上記PCT出願のステップ(4)からステップ(9)において、関連するCHAN形状を以下のように再現する。
(4)=(1)+(2)。即ち、ステップ(1)+ステップ(2)
=([1]-[4])+([2]-[3])。これら4個のランク値の再配置又は再割り当て時に、
=([1]+[2])-([3]+[4])となり、ロングアームを得る。
=([1]-[3])+([2]-[4])。長さの違いを他のアームと比較するため。
(5)=(1)-(2)。
=([1]-[4])-([2]-[3])。
=([1]+[3])-([2]+[4])。ミドルアームを得る。
=([1]-[2])+([3]-[4])。
(6)=(1)+(3)。
=([1]-[4])+([3]+[4])。
=([1]+[3])。ミドルアームの上隅。
(7)=(2)+(3)。
=([2]-[3])+([3]+[4])。
=([2]+[4])。ミドルアームの下隅。
(8)=(6)+(7)。
=([1]+[3])+([2]+[4])。[1]+[2]+[3]+[4]の合計であり、ロングアームの上隅を見つけるのに非常に有用である。
=([1]+[2]+[3]+[4])。
(9)=(8)-(3)。
=([1]+[2]+[3]+[4])-([3]+[4])。ここで、[3]+[4]=ステップ(3)をロングアームの下隅として指定する。
=([1]+[2])。ロングアームの上隅。
図表10
CHANバー
相補定数CCとしてコード単位サイズを用いた補数数学のパラダイムの下での範囲制限の視覚的表現
式(I)=3*([1]-[2]+[3]-[4])+([2]-[3])+([1]+[3])
式(II)=3*([1]-[2]+[3]-[4])+([2]-[3])-([2]+[4])及び
式(III)=[3]-[4]。
それぞれ5つのコード単位、3つのコード単位、1つのコード単位と推定される。24種の組み合わせを提供するRPピースは、さらに5ビットを使い、絶対アドレス分岐が使用されている場合、一部の組み合わせは4ビットだけを使用できる。従って、コード単位サイズを64ビットとすると、式(I)、(II)及び(III)にはそれぞれ68ビット、66ビット及び64ビットが使用され、範囲制限による最適化スペースを計算しない。範囲制限を用いると、式(I)の値が式(II)の値より大きく、式(II)の値が式(III)の値より大きいことは明らかである。そのため、式(I)を最初に配置し、次に式(II)を配置してから式(III)を配置すべきである。そのような配置技術を使用することによって、ビットストレージを最小化することができる。
(a)コード単位(内容コード及び分類コードを含む)
(b)処理ユニット
(c)スーパー処理ユニット
(d)エンコーディングされていないコード単位
(e)(デジタルデータの全セットの)セクション
(f)一部のヘッダー又はフッター
(g)(デジタルデータの全セットの)メインヘッダー又はフッター
(h)CHANファイル(上記(a)~(g)のデジタルコードを組み合わせるか又は単独で構成したCHANコードを含むデジタルデータファイル)。
このようなCHANフレームワークのスキーマ及び設計とは上記構造要素のいずれかについて選択された定義を指し、使用される場合、処理するために、様々な実施形態の下で組み合わせて使用され、本発明において開示された使用されたCHANコーディングの選択された技術の特定のデジタルデータセットをエンコーディング及びデコーディングすることに用いられる。
https://en.wikipedia.org/wiki/Pigeonhole_principle
その本質は次のように説明される。
「数学では、鳩ノ巣原理によれば、n>mでは、n個のアイテムがm個の容器に入れられる場合、少なくとも1つの容器に複数のアイテムが含まれている必要がある。」
言い換えれば、1つの容器が1つのアイテムしか取り込めない場合、容器が取り込めるアイテムの数は容器の数によって制限される。即ち、取り込めるアイテムの数は、アイテムを取り込むのに使用される容器の数を超えることはできない。これは、アイテムと容器の間の1対1対応関係である。
ここでのエンコーディングのためのコード単位の使用に適用すると、3ビットのビットサイズのコード単位であれば、8個のアドレスしか提供することができず、従って1回に1個の値で最大8個の固有値を表すためにしか使用できない。一般的な方式によれば、コード単位が持つことができるアドレスの数は2進数ビットサイズで測定され、コード単位に使用される2進数ビットの数が大きいほど、コード単位がコード内容値を1対1で表すために持つことができるアドレスが多くなる。従って、コード単位が有するアドレスの数は、2の(コード単位のビットサイズ(2進数ビット数)、即ちコード単位のサイズを測定する2進数ビット数)の累乗に等しい。
図表11
同じビットサイズを持つ8値コード単位のコード値の定義
Max8クラス
24ビットグループ
図表12
異なるビットサイズを持つ8値コード単位のコード値の定義
Max8クラス
35ビットグループ
図表13
5ビットを使用する3値コード単位のコード値の2つのバージョン定義のうち、一方は2:3、他方は3:2のビット0とビット1の比率を有する。
Max3クラス
5ビットグループ
2の(コード単位のコード値の平均ビットサイズ*処理ユニットのコード単位数)乗
そのため、0ヘッドデザインを使用する3つの3値コード単位で構成される処理ユニットの場合、使用可能なアドレス数は次のようになる。
2の(5ビット/3値*3単位)乗=2の5乗=32
27個の固有値に使用可能な32個の固有アドレスがある。これが「情報理論における鳩ノ巣原理」の神話の終わりを綴る最初のサインである。この設計を使用すると、表現する必要がある固有値の数よりも多くのアドレスが存在する可能性がある。そのため、例えば27個の異なる固有値に使用される5ビット値を4ビット値又は5ビット値に減らすことができ[例えば、絶対アドレス単一分岐を使用して、4ビットの値範囲は16(下限値範囲)及び5ビットの値範囲は32(上限値範囲)であり、ここでの処理ユニットの実際の値範囲は27(実際の値範囲)である。従って、27-16=11、4ビット範囲内で単一分岐する必要がある値は11個ある。従って、4ビットを使用する5個の値アドレスと5ビットを使用する22個の値アドレスがあるはずである]。それでいくらかのビット節約が達成される。さらに、別の設計では、行われる特別な処理を示すための特別なアドレスとして使用するために27個の固有アドレスの上に1個又は2個以上(最大5個)のアドレスを収容できる。例えば、エンコーディングコード内に存在する場合、28番目のアドレスは、次の2つの処理ユニットが最後の処理ユニットと同じデータ値、さらに同じエンコーディングコードを含むことを示すことができる。このようにして、暗号化だけでなく圧縮のためにデータをエンコーディング及びデコーディングするためのより高い柔軟性を提供する。28個のアドレス、即ち27個の固有値アドレス及び1個の特殊処理アドレスを使用する場合、4ビットを使用する4個のアドレス[16-12(単一分岐用に収容する)=4]及び5ビットを使用する24個のアドレス[(28-16=12)*2=24]が存在する。後で証拠の提供及びランダムデータセットをいかにして圧縮することができるかの実施例において、3つの3値コード単位の処理ユニット及び対応するエンコーディング及びデコーディングプロセスにおけるこのスキーマ及び設計の使用について、より詳細に詳述する。現在、特定のデータセットに不均一性を作成するための技術は、最初に次のように説明される:
図表14a
20ビット(Max6クラス20ビットグループ)を使用する6値コード単位のコード値の定義:1つの多重分岐は2つのバージョンを有し、一方は5:15、他方は15:5のビット0とビット1の比率を有する。
Max6クラス
20ビットグループ
16ビット(Max6クラス16ビットグループ)を使用する6値コード単位のコード値の定義:3対の単一分岐は2つのバージョンを有し、一方は7:9、他方は9:7(スキュー割り当て)のビット0とビット1の比率を有する。
Max6クラス
16ビットグループ
16ビット(Max6クラス16ビットグループ)を使用する6値コード単位のコード値の定義:2対のノースキュー単一分岐は2つのノースキューバージョンを有し、これらのバージョンはビット0とビット1の比率が等しく、ビット0とビット1の比率がいずれも8:8(ノースキュー)である。
Max6クラス
16ビットグループ
17ビット(Max6クラス17ビットグループ)を使用する6値コード単位のコード値の定義:1対の単一分岐と1対の多重分岐は2つのバージョンを有し、一方は6:11、他方は11:6のビット0とビット1の比率を有する。
Max6クラス
17ビットグループ
18ビット(Max6クラス18ビットグループ)を使用する6値コード単位のコード値の定義:1対の単一分岐と1対の多重分岐は2つのバージョンを有し、一方は6:12、他方は12:6のビット0とビット1の比率を有する。
Max6クラス
18ビットグループ
19ビット(Max6クラス19ビットグループ)を使用する6値コード単位のコード値の定義:2対の単一分岐は2つのバージョンを有し、一方は6:13、他方は13:6のビット0とビット1の比率を有する。
Max6クラス
19ビットグループ
6値コード単位の異なる設計タイプのそれぞれに対して異なるスキーマとコード値の定義との間の上記違いを利用して、既存のデジタルデータセットに不均一性を作成することができ、例えばビット0とビット1の比率を変更する。例えば、図表14cは16ビット6値コード単位の2つのノースキューバージョン(即ち、0ヘッドデザイン及び1ヘッドデザイン)を提供する。特に指定がない限り、以下の説明では0ヘッドデザインバージョンを使用する。それを図表14bの対応する3対のスキュー単一分岐バージョンと比較すると、ノースキューバージョン及び3対のスキュー単一分岐バージョンは両方とも16ビットを使用して6値コード単位の6個の固有値を表す。これらは使用されるビットコードのパターン及びビット0とビット1の比率が異なるだけであり、ノースキューバージョンの比率が8:8であるが、3対のスキュード単一分岐バージョンが7:9である。ノースキューバージョンのビット1の数を増やすために、マッピング変換後の新しいデータセットのビット0とビット1の比率が8:8から7:9に変換されるように、2組の6個のコード値間でクロスマッピングを実行することができる。しかしながら、いくつかの試行をした後、エンコーディング変換を1回使用して、ランダムデータセットに対する前記比率の変更は可能であるが比較的小さいことが分かった。これはランダムデータセットにある6個の固有コード値の頻度分布の性質によるものである。図表15は、2017年2月22日に出願されたPCT出願PCT/IB2016/054732に記載の、自動化プログラムを実行することによって生成された結果の一例を示し(このような自動化プログラムは優先権の主張に従って本PCT出願に含まれているため、それらへのアクセスは上記PCT出願を参照することによって得られ、従って本PCT出願にはもはや記載されない。なお、自動ライブラリヘルプファイルと協働してその使用を論じる時、ランダムデータセットが圧縮され得るという最終的な証拠としてのプログラムがリストされ、それにより、CHANコーディング方法及び技術を使用したCHANコード及びCHANファイルの形成におけるCHANフレームワークの実際の達成方式における暗号化/復号及び圧縮/解凍を目的とするように、エンコーディング及びデコーディング用のデータエンコーダをどのように構成するかは当業者には明らかに見える)、次のように80,000個のランダム2進数ビットを使用する。
図表15
ノースキューバージョンに用いられる3つの0ヘッドデザインの6値コード単位の6個の固有コード値の頻度分布
図表16
ノースキューの6個のコード値と6値コード単位の3対の単一分岐バージョンとのクロスマッピング
図表17
ノースキューバージョンの6値コード単位自体の6個のコード値間のクロスマッピング
27個の値の分類絶対アドレス分岐コード表(CAABCT)
実施例I
図表19
3値コード単位の定義:0ヘッドデザイン
ビット0:ビット1の比率=2:3
3つの3値コード単位からなる処理ユニットは、図表19のコード単位の定義を使用して80,000ビットのランダムデータセットから読み取られた27個の固有コード値の未分類頻度分布の実例
図表21
図表20を生成したプログラムを使用して生成された別の結果
オリジナル:80001
表1のサイズ:82133
表2aのサイズ:80001
表2bのサイズ:84373
表3のサイズ:81444
本実例で使用されている3つの3値コード単位の処理ユニットの27個の固有コード値の頻度分布は、図表20に記載されているものと類似するか又は比例することが分かる。表1のサイズは、図表21の27個の固有コード値間のクロスマッピングによって生成されたビットサイズであり、コード値はビット使用によって分類され(27個の固有コード値の分類は、下の段落[0078]の図表23にリストされている)、また、分類絶対アドレス分岐コード表(CAABCT)にある27個の固有コードは、段落[0073]の図表18にリストされている実施例Iで使用されている27個の値に使用される。図表21の表2aのサイズは、以下の図表22の実施例IIに見られるように、別のCAABCTを用いたクロスマッピングの結果である。
図表22
27個の値の分類絶対アドレス分岐コード表(CAABCT)
実施例II
表2aのサイズ:80001
表2bのサイズ:84373
表3のサイズ:81444
上記は、ランダムデータセットから読み取られたPU値(ビット使用で分類される)を、以下にリストされるような他のビット使用パターンのテーブルコードとクロスマッピングした後のエンコーディングのビット使用結果を提供する。
グローバル$マッピングテーブル1[27]=[4、4、4、4、4、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5、5]
グローバル$マッピングテーブル2a[27]=[3、4、4、4、4、4、4、5、5、5、5、5、5、5、5、5、5、5、5、6、6、6、6、6、6、6、6]
グローバル$マッピングテーブル2b[27]=[3、5、5、5、5、5、5、6、6、6、6、4、4、4、4、4、4、6、6、4、4、4、4、6、6、6、6]
グローバル$マッピングテーブル3[27]=[3、3、4、4、4、4、4、4、5、5、5、5、5、6、6、6、6、6、6、6、6、6、6、6、6、6、6]
従って、27個の固有テーブルコードを有するコードテーブルを設計するのは難しいように思われ、ランダムデータセットから読み取られた27個の固有コード値をエンコーディングすると、ビット使用の節約又は圧縮を達成できる。従って、ランダムデータセットを圧縮するため、そのような目的を達成するために他の技術を設計、開発及び使用しなければならない。以下に開示するように、そのような設計の1つは、スーパー処理ユニットを使用し、特別に設計されたコードテーブルを使用することによってマッピング又はエンコーディングすることである。
図表23
3つの3値コード単位からなる処理ユニットは、図表19のコード単位定義を使用して80,000ビットのランダムデータセットから読み取られた27個の固有コード値の分類/未分類頻度分布の実例
(a)スーパー処理ユニットの使用
(b)スーパー処理ユニットをグループに分割し、ここでは、まず2つのグループに分割する。及び
(c)(2グループのスーパー処理ユニットの)固有データコード値と固有テーブルコード値との間のクロスマッピングのためのCAABCT(この場合は2つ)の使用、及びCAABCTインジケータの使用。
使用のために分割されるべきスーパー処理ユニットのサイズ及びスーパー処理ユニットがどのようにグループ化又は分類されるべきか、及びどのCAABCTが使用されるべきであるかに関して問題が生じる。
図表24
3つの3値コード単位からなる処理ユニットは、図表19のコード単位定義を使用して80003ビットのランダムデータセットから読み取られた27個の固有コード値の統計値の実例
(a)どのCAABCTがそのエンコーディングに使用されているかを識別するために使用可能なスーパー処理ユニット内に存在するコード値(識別コード値)。従って、この基準を考慮すると、そのようなコード値は、2つの異なるCAABCTによって異なるテーブルコード値にエンコーディングされる必要がある。そして、この要件は、問題となっている2つのCAABCTを設計する段階で満たさなければならない。また、この要件のために、スーパー処理ユニットをエンコーディングするための1つのマッピングコードテーブルの使用を停止するための終了条件又は終了基準が変更されるべきである。例えば、まず、スーパー処理ユニットのサイズを27個の処理ユニットコード値に設定した場合、スーパー処理ユニットに存在する27個のコード値の中に識別コード値が必ずしも見つかるとは限らないため、終了条件は、次のように修正する必要がある。
(i)識別コード値を終了値として使用し、CAABCTを使用して前の値コード及び自体をエンコーディングし、コード値の識別後に、次の識別コード値を含むコード値をエンコーディングするためにどのCAABCTが必要であるかを再度評価する。この技術を使用することによって、識別コード値を含まないオリジナルコード値の最後の部分も評価することができ、2つのCAABCTのいずれかを使用してエンコーディングすることができる。しかしながら、そのような方法で、識別コード値はエンコーディング後にこのセクションの終わりに加えられなければならない。そして、この最後の識別コード値が追加されたコードであるのか、又はオリジナルコード値の一部であるのかに関するインジケータがヘッダーに追加され、識別コード値がデコーディング時にデコーディングコードからデコーディング又は削除されなければならない。そして、この部分の後に、処理ユニットコード値を構成しないコードビット(もしあれば)を含むエンコーディングされていないコード単位があり得る。又は
(ii)識別コード値を含むスーパー処理ユニットを終了条件として使用する。つまり、デジタルデータ入力のヘッダーから3番目のスーパー処理ユニット(この場合は27個のコード値)のみに識別コード値が含まれる場合、最初の3つのスーパー処理ユニットの全てのコード値は、評価中にCAABCTを使用してエンコーディングされ、次のコード値のエンコーディングにどのCAABCTを使用する必要があるかを評価するために新しい評価が行われ、これは、次のスーパー処理ユニットがその識別コード値を含むべきであることを意味する。そして最後に、スーパー処理ユニットを構成しないか、又は識別コード値のオリジナルコードを持たないコードの最後の部分は、上記(i)のように処理されるか、又はエンコーディングされていないコード単位に含まれるために残されるだけである。
(b)デコーディング失敗。CAABCTを使用してエンコーディングされたコード値は、別のCAABCTを使用して正常にデコーディングされない場合がある。従って、1つのCAABCTがエンコーディング用に選択されたものでなければならないため、エンコーディングされたコード値は両方のCAABCTを使用してデコーディングする必要がある。デコーディングプロセスは、それをデコーディングに使用するのに成功するはずである。コーディングに使用されていない別のCAABCTを使用したデコーディングは不可能な場合がある。
(c)より短いエンコーディングコード。エンコーディングは圧縮を目的として使用されるため、最も短いエンコーディングコードを生成するCAABCTが確実に選択される。そのため、デコーディング時に、エンコーディングに使用されていないCAABCTを使用すると、全体としてビット使用が長いコードが確実に生成される。
(d)再エンコーディング失敗。従って、2つの異なるCAABCTを使用してデコーディングすると、2グループの異なるデコーディングコードが生成される。これら2グループのデコーディングコードは、2つのCAABCTを交換可能に再使用して再エンコーディングされ、選択したもので再エンコーディングするのではなく、別のCAABCTを使用することもある。特に2つの異なるCAABCTでは、異なるヘッドデザインを使用するトリオ(trio)のコード値が使用される。例えば、次のように0ヘッドデザインを使用する1つのCAABCTである。
0
10
11
サフィックスとして、そして1ヘッドデザインを使用する別のCAABCTは、コード値として次のトリオを使用するサフィックスである。
1
01
00
(この点については後で説明する)。エンコーディング失敗の別の証拠は、再エンコーディング時のデコーディングコードの最後のビットが1つのコード値に形成されず、固定ビットサイズ又は固定数の処理ユニットを有するスーパー処理ユニットを使用する場合、再エンコーディングされたコード値は、設計された固定サイズを構成せず、再エンコーディング時に固定サイズのスーパー処理ユニットよりも多い又は少ないコードを生成する。
(e)必要に応じてエンコーディングコードの後に追加される追加ビット。上記のAI基準を用いて評価した後でも、エンコーディングのために選択されたCAABCTを識別することが依然として不可能であり、そのような区別をするためにエンコーディングコードのセクション又は単位の最後に追加ビットを追加しなければならない可能性がある。必要であれば、この追加ビットは、正しく解決されない状況をエスケーピングするための安全なエスケープとしての使用のためにのみ提供される。このエスケープは実現する必要がめったになく、従って、ビットストレージは実際にはこの目的には使用されない可能性があり、曖昧な場合には、前述のAI基準の全てが最終的な答えを提供できない場合にのみ使用される可能性がある。これを考慮して、そのようなAI評価は、エンコーディングプロセスの間、並びにエンコーディングの各セクション又は単位が終了した後にも行われるべきである。及び
(f)適切且つ効果的な使用のために発見され設計されたその他の基準。
図表25
27個の値の分類絶対アドレス分岐コード表(CAABCT0)
実施例III
27個の値の分類絶対アドレス分岐コード表(CAABCT1)
実施例IV
0
10
11
一方、CAABCT1では、トリオは1ヘッドデザインを使用し、次の形式のサフィックスが付いている。
1
01
00
段落[0086](d)で説明されているように、異なる設計のサフィックスの使用は、AIを区別するためのものである。サフィックス設計は、AAB技術を使用した結果として生じるもう1つの使用法である。
図表27
データコード値(図表24)とCAABCT0及びCAABCT1のテーブルコード値とのクロスマッピング
図表28
データコード値(図表24)とCAABCT2及びCAABCT1のテーブルコード値とのクロスマッピング
(a)CAABCT2は、0ヘッドデザインを用いてその6つのトリオ(即ち0、10、11)に用いることに対して、CAABCT1は1ヘッドデザイン(即ち1、01、00)を用いてそれらのそれぞれのトリオサフィックスに用いる。
(b)クロスマッピングに用いられる場合、CAABCT2の固有テーブルコード値は、全く同じビットサイズを有するランダムデータセットの固有データコード値にマッピングされ、即ち、3ビットサイズのテーブルコード値は3ビットサイズのデータコード値にマッピングされ、4ビットサイズのテーブルコード値が4ビットサイズのデータコード値にマッピングされ、5ビットサイズのテーブルコード値が5ビットサイズのデータコード値にマッピングされ、6ビットサイズのテーブルコード値が6ビットサイズのデータコード値にマッピングされる。このような方法でマッピングすると、エンコーディング後も同じビットで使用され、ランダムデータセットのデータサイズは圧縮も拡張もされない。
図表29
データコード値(図表24)とCAABCT2、CAABCT0及びCAABCT1のテーブルコード値とのクロスマッピング
図表30
1つの3値コード単位の処理ユニット
(i)全ての3つの固有コード値が存在する。
(ii)全ての3つの固有コード値が存在するわけではない。
従って、3つのシナリオがある。
(a)3つのコード単位を備える処理ユニットであって、その中に全ての3つの固有コード値が存在する。
(b)4つのコード単位を備える処理ユニットであって、その中に、全ての3つの固有コード値が存在する。
(c)4つのコード単位を備える処理ユニットであって、その中に全ての3つの固有コード値が存在するわけではない。
図表31a
段落[0098]に記載の3つのシナリオのシナリオ分類コード(CHANコードの一部)
図表31b
段落[0098]に記載の3つのシナリオのシナリオ分類コード(CHANコードの一部)
シナリオ(a)は、3つのコード単位の処理ユニットであるため、その中に全ての3つの固有コード値が存在し、2ビット又は3ビット[CHANコーディングのAAB技術を使用して、例えばここでの実際の値範囲は6であり、即ちシナリオ(a)の終了条件を満たす3つのコード単位のうちの6つの固有処理ユニットを有し、下限値範囲は4値に相当する2ビットであり、上限値範囲は8値に相当する3ビットである]を用い、ランク及び位置コードが全ての6つの処理ユニットの可能な組み合わせを被覆する可能であるため、そのうち3つのコード単位はそのランク及び位置に区別される3つの固有コード値を備え、次の図表32に示すとおりである。
図表32
3つの固有コード値を持つ3つのコード単位の処理ユニットに対するランク及び位置の面での6つの可能な組み合わせのRPコード割り当て
(a)係るコード単位の定義を用いることによって4つの連続したデータコード値を読み取る。
(b)4番目のデータコード値を読み取ったとおりに書き込む。
(c)必要に応じてコード調整技術を用いて1番目のデータコード値を書き込む。
(d)必要に応じてコード調整技術を用いて2番目のデータコード値を書き込む。
(e)必要に応じてコード調整技術を用いて3番目のデータコード値を書き込む。及び
(f)ステップ(a)で読み取られた4つの連続したコード値をエンコーディンした後に、エンコーディングされていないコード単位の開始点に戻るまで、ステップ(a)にループバックする。
且つ適切な場合、上記ステップ(c)から(e)で述べたコード調整技術は、内容コードのランク及び位置のエンコーディング、内容コードの昇格及び内容コードの省略、内容コードの降格、並びに適切な場合の内容コードの復元を含む。
図表33
シナリオ(b)における3つのサブシナリオ及びRPコーディング
これらのサブシナリオのそれぞれにランク及び位置エンコーディング技術を用い、図表33に示すように、それらのそれぞれの6つの可能な組み合わせに2ビット又は3ビットを用いる。
あるいは図表34に示すように、適切な状況でコード昇格及びコード省略技術を用いてもよい。
図表34a
シナリオ(b)における3つのサブシナリオ及びコード昇格並びにコード省略
図表34b
シナリオ(b)における3つのサブシナリオ及びコード昇格並びにコード省略
上記シナリオ(b)のサブシナリオ(i)を採用することにより、ビット使用数を減らし、コード昇格は論理推定の結果である。例えば、シナリオ(b)は、読み取られた4つの連続したコード値に3つの固有コード値が全て現れなければならないシナリオであるため、図表33bに用いられたシナリオ分類コードと4番目のコード値(例えばv1)を配置した後、エンコーディングされたコードは、図表35に示すように変化する。
図表35
シナリオ分類と4番目のコード値のエンコーディング
図表36
CHANコーディングのコード昇格及びコード省略を用いてエンコーディングを行う
図表37
シナリオ(c)の3つのサブシナリオ及びRPコーディング
あるいは、必要に応じて、コード昇格、コード省略及びその他の形式のコード調整技術を使用することができる。図表38は、まず4番目のコード値を配置した後に、残りの3つのコード値を3番目のコード値、2番目のコード値、1番目のコード値の順にエンコーディングすることによるコード調整方法を示す。シナリオ(c)では、2つの固有コード値しか存在しないため、4番目のコード値は既に1つとする。そのため、残りの3つの位置は、4番目のコード値と同じである1つと残りの2つの固有コード値のうちの1つを書き込む必要がある。ただし、3つの選択肢に2つの選択があるため、ビット使用数を減らす時にその不確実性を排除するために、4番目のコード値以外のものを最初に決定することが最適である。そのため、残りの3つのコード値を直接エンコーディングするために、処理中のデジタルデータ入力内の処理ユニットの3番目位置のコード値をエンコーディングすることが好ましい選択であるかもしれない。これは、次々に2つ又はそれ以上の同じコード値を有する機会が2つの異なるコード値を有する機会より少ないということに基づく従来の仮定である。当然のことながら、処理中のデジタルデータ入力内の3つの固有コード値に頻度分布パターンに関する利用可能な情報が存在すれば、このような配置選択を調整してもよく、そのうち利用可能な情報が前記変更を保証できる。しかしながら、便宜上、図表38はまず4番目、1番目、2番目及び3番目という順に配置をアレンジする。
4番目のコード値がv3であれば、他の3つの位置の値はv1、v2又はv3のいずれか1つであってもよい。他のコード値の存在が知られていることが早ければ早いほど、コード昇格の技術を使用することによってより多くのビットが節約される。しかしながら、存在する2つのコード値のうちの1つはv1、v2及びv3という3つの値のいずれか1つであり、且つそのうちの1つはv3であってもよいため、v3の昇格は論理に合致する。即ち、まず11から0へ、次にv1をv2に、そしてv2をv3に降格させる。そして、他の1つのコード値が出現した場合、選択肢は既に出現している2つの固有コード値に限定される可能性がある。4番目のコード値は、ビット0のコード値のv1ランクを採用するため、出現する2番目の固有コード値はビット10のコード値を使用することができる。この論理を用いることにより、図表38は次のように生成される。
図表38
シナリオ(c)における3つのサブシナリオ及び1つのビット(ビット0)を用いるシナリオ分類コードのコード調整
上記結果から、別の観察結果は、エンコーディング後に拡張をもたらすそれらのコード値エントリは、より多くのv1コード値を有するエントリであるということである。そのため、データセットのデータ割り当てはビット1よりもビット0が多い場合、上記技術を使用してデジタルデータセットを読み取ってエンコーディングに用いるために、1ヘッドデザインをコード単位とする定義を使用するほうが最適である。3つの固有コード値は以下のようになる。
1
01
00
このようにして、ビット0は、v1になる代わりに、読み取り時にv2及びv3としてサンプリングされる。従って、明らかに上述したようにデジタルデータ入力の変化するデータ割り当てパターンに対応する処理ユニットのサイズに動的調整を行う技法を使用することは、エンコーディング中の動的コード調整のより高い柔軟性を可能にする。より重要なことは、データ解析段階では、シナリオ分類コードを有する3つのシナリオ(a)、(b)、(c)を整理して割り当てるための情報を収集することができ、それによって頻度の最も高いシナリオにビット数を最小にする。また、ビット0とビット1の頻度分布に応じて、コード単位の0ヘッドデザイン又は1ヘッドデザインを選択して使用される。また、段落[0062]及びその後に説明されたデータセットにおけるビット0とビット1の比率を変更する技術は、圧縮されて上記説明された他の技術と共に用いられる場合、ランダムセットに応用することができる。
図表32及び図表34bにおけるシナリオ(a)及び(b)のビット使用結果を検査することにより、処理ユニットに全ての3つの固有コード値が存在する場合、データ割り当てパターンは変化が少なく、且つ少ないビット使用数でこれらのパターンを示すため、RPコーディングを使用するか、コード昇格及びコード省略によるコード調整技術を使用するかに関わらず、エンコーディングを行うことがより容易である。従って、以下の終了条件を変更することによってさらに前に言及した設計を改善することができる。当該設計は異なる数のコード単位付きの処理ユニットを使用する。
使用されるどの処理ユニットも、v1、v2及びv3の全ての3つの固有コード値(即ち0、10、及び11)を含むべきである。
そのため、v1、v2及びv3の3つの固有コード値が現れるまで、それを5つのコード単位又は6つのコード単位(等)サイズの処理ユニットに置き換え、且つ終了点が当該コード単位に停止させることにより、前に検討したシナリオ(c)を解消し且つ代替しなければならない。前記コード単位は最後に現れる以下のトリオの固有コード値(v1、v2及びv3)を含む。そしてシナリオ分類コードは次のように変更される。
図表39a
最後の固有コード値の出現に基づくサイズが異なる処理ユニットのシナリオ分類コード(a)
最後の固有コード値の出現に基づくサイズが異なる処理ユニットのシナリオ分類コード(b)
図表40
ランク及び位置に関する3つの固有コード値の6つの可能な組み合わせに対するRPコード割り当て
シナリオ(b)の3つのサブシナリオ及びコード昇格とコード省略
(a)関連するコード単位の定義を使用して、記入された3つの連続したデータコード値を読み取り、且つ終了条件が満たされているか否かを判定する。終了条件は、これまでに読み取られた連続したデータコード値であり、それは、設計されたコード単位に従った全ての固有データコード値を含む[即ち、この場合、これまでに読み取られたコード単位には3つの固有コード値が全て含まれていない時に、ステップ(b)に進む;そうでない場合は、ステップ(c)に進む]。
(b)別の1つのデータコード値を読み取り[即ち、これまでに読み取られたコード単位には、3つの固有コード値が全て含まれていない時に]、且つ読み取られたコード単位には、3つの固有コード値[即ち、この場合の終了条件]が全て含まれるまで終了条件が満たされているか否かを毎回評価する。終了条件が満たされた場合、ステップ(c)に進む。
(c)このように読み取られたデータコード値は、全ての固有データコード値[3値コード単位の場合には、3である]を含む時に、このように読み取られたデータコード値の数を計算し、且つ対応するシナリオによる分類コード値を決定して書き込む。次に、最後に読み取られたデータコード値を、読み取ると完全に同じように書き込む。
(d)存在する他の2つの固有コード値のうちどちら[3値コード単位の場合、ビット0は、ステップ(c)で読み書きされた最後の1つの固有データコード値を控除して残った2つの固有データコード値における上位ランクを有する固有データコード値に用いられ、且つビット1は、下位ランクを有する1つのコード値に用いられる。逆もまた同様であり、適切な場合では、設計によって決まる]が、第1位置から読み取られた1つのコード値を先頭から最後の位置の前のコード値に書き込む[即ち、このステップ(d)で述べたビット0又はビット1を使用してそれを置換又はエンコーディングする]までかを識別するために、1ビットコードを使用して書き込む。適切な場合では、内容コード調整のための技術[適切な場合では、内容コードのランク、位置コーディング、内容コードの昇格、内容コードの省略、内容コードの降格及び内容コードの復元を含む]を使用する。
(e)処理中の処理ユニットのためにエンコーディングする。即ち、ステップ(a)で読み取られた最後の1つの位置の前までの1つのデータコードをエンコーディングした後、エンコーディングされていないコード単位の始まる点に達するまでステップ(a)にループバックする。
上記で修正されたエンコーディングステップによれば、シナリオ3コード単位から始まるビット使用図表を以下のように修正できる。
図表42
シナリオ3コード単位のエンコーディングとビット使用
図表43
シナリオ4コード単位のエンコーディングとビット使用
シナリオ5のコード単位のエンコーディングとビット使用は、長くて複雑であるため、リストに載られることが不能である。しかしながら、エンコーディングは同じ論理に従うので、ビット使用結果は以下のように簡単に説明することができる。
0ヘッドデザインによる3値コード単位の3つの固有データコード値の図表44における頻度分布は、優先権主張の下で実行されている前記PCT出願中に言及した自動プログラムにより生成されるものである。
図表44
80000個のランダムビットを使用した3値コード単位の頻度分布
0:26536
10:13156
11:13576
図表45
80000個のランダムビットを使用したシナリオの頻度分布
状況 10000
全部:8449
cu3:1606
cu4:1578
cu5:1292
cu6:953
cu7:774
cu8:575
cu9:422
cu10:311
cu11:238
cu12:191
cu13:143
cu14:94
cu15:56
cu16:49
cu17:42
cu18:33
cu19:18
cu20:16
cu21:6
cu22:13
cu23:7
cu24:7
cu25:10
cu26:4
cu27:1
cu28:3
cu29:2
cu30:1
cu31:2
cu32:0
cu33:0
cu34:0
cu35:0
cu36:0
cu37:0
cu38:1
残り:1
上記図表45から分かるように、0ヘッドデザインによる3値コード単位を使用してランダムに生成された80000ビットを読み取る時に、使用終了条件、即ち3つの固有データコード値が処理ユニットに存在すべき終了条件では、最後の固有データコード値(終了値)が現れると、この80000個のランダムビットにより、3つのコード単位から38個のコード単位までのサイズの異なる処理ユニットが生成され、残りが未エンコーディングコード単位である。3から38までのコード単位のサイズの異なるこれらの処理ユニットは、図表45にリストされており、リストされているのは、生成された例の1つであり、80000個のランダムビットにおけるそれらの出現頻度を示している。
処理ユニットの頻度は、一般に、処理ユニットのサイズの増加につれて減少し、且つ3つのコード単位から20個のコード単位までかなり安定していることが分かる。8449個の処理ユニットでは、シナリオ3コード単位又は(a)及び4つのコード単位又は(b)の頻度は、それぞれ1606及び1578である。従って、シナリオ(c)の頻度は、8449-(1606+1578=3184又は37.68%)=5265又は62.32%である。
80000個のランダムビットのデータセットから生成された上記情報を考慮すると、エンコーディング設計に対して別の改善を行うことができる。例えば、データセットでは、ビット0の比率ではなく、ビット1の比率を上げたい場合である。図表46におけるシナリオ(a)、(b)及び(c)について、シナリオ分類コード(又はシナリオコードと略称される)として以下のコードを使用することができる。
図表46
シナリオ(a)、(b)、(c)のシナリオコード割り当て
他の改善は、2つの同じデータコード値が互いに隣接していることが存在する確率は少ないと仮定した場合、反対の位置配置、即ち第4、第3、第2、及び第1の反対の位置順序でエンコーディングされたデータコードを配置することである。これは、シナリオ(c)に有利であり、第4データコード値に加えて次の固有データコード値の出現確率を高める。さらに重要なことに、さらに分析した結果、エンコーディングされたデータコードは、相対位置の反対配置に従って、データコードの並べ替えにより、別の特性又は特徴(前記特性は、最後の1つのデータコード値が最後の前の1つのデータコード値と異なっているか否か)を形成でき、ビットを節約して格納する際に十分に利用されるために、前記特性又は特徴を圧縮できることを見出した。前記特徴は、終了条件の設計に関連している。簡単にするために、まず、他の同様の終了条件を使用して説明することができる。ここで、終了条件は、3つのコード単位で停止され、データコード値は、2つのグループ又は2つのクラスのみに分割され、1つは、3値コード単位の全ての固有データコード値を有する3コード単位であり、もう1つは、全ての固有データコード値を有していない3コード単位である。従って、これは、第1クラスには、3つの固有コード値があり、且つ第2クラスには、2つの固有コード値があり、ここで1つの固有コード値が欠落していることを意味している。
図表47
80000ビットのランダムデータセットにおける2つのクラスの処理ユニットの頻度分布:1つのビットは、全ての3つの固有データコード値を有しており(クラスA)、もう1つのビットは、3つ未満の固有データコード値(クラスB)を有している。
図表48
シナリオクラス0とシナリオクラス1に割り当てられたシナリオコード:エンコーディングとビット使用及びビット1/ビット0の変化に伴って変わる。
(a)デジタルデータ入力からデータコード値を読み取った後、及び処理中の処理ユニットにおけるデータ割り当ての性質を決定した後、処理ユニットが第3データコード値と第2データコード値が同じクラスに属する場合、シナリオコードビット1を書き込む。
(b)第3データコード値をそのまま書き込む。
(c)第2データコード値を論理により省略する。第2データコード値は第3データコード値と同じであるので、論理により省略することができる。
(d)コード単位の設計により読み取られた元のデータコード値を使用して第1データコード値を書き込む。処理ユニットが全ての3つの固有データコード値を有していないものであるので、それは1つ又は2つのデータコード値のみを有することができる。1つのデータコード値は既に第3値として現れているが、3つの選択肢がある。従って、第1位置の値は直接読み取り及び書き込むことしかできない(又は、第3位置にあるコード値がビット0に上げられ、他の2つの残りの値は、それらの相対的な順位に従って、ビット10又はビット11に調整され、その後、第1位置の値はこの調整されたコードを使用する)。
図表48におけるシナリオコード0が割り当てられた処理ユニットは以下のようにエンコーディングされる。
(i)デジタルデータ入力からデータコード値を読み取った後、及び処理中の処理ユニットのデータ割り当ての性質を決定した後、処理ユニットが第3データコード値と第2データコード値が同じではなく且つ全ての固有データコード値が存在するクラスに属する場合は、それにシナリオコードビット00を書き込む。処理ユニットが第3データコード値と第2データコード値が同じではないが、全ての固有データコード値が存在していないクラスに属する場合は、それにシナリオコードビット01を書き込む。
(ii)第3データコード値をそのまま書き込む。
(iii)以下のエンコーディング論理を使用して、シナリオコード00を有する処理ユニットに、第2データコード値を書き込む。それは全ての固有データコード値を有し且つ1つのデータコード値が既に第3データコード値として現れた時に、依然として2つの選択肢がある。従って、どちらが第2データコード値として現れるかを示すために、1ビットを使用する(小さい値にはビット0、大きい値にはビット1を使用する。ここで、適切な場合には、0ヘッドデザインでは、v1が最小値であり、v3が最大値であるように設計することができる)。又は、次のようなエンコーディング論理を使用して、シナリオコード01を有する処理ユニットに、第2データコード値を書き込む。全ての固有データコード値を有しなく且つ1つのデータコード値が第3データコード値として現れた時に、依然として2つの選択肢しかない(2つの固有値はまだ存在していない)。ここでは、シナリオクラス0が第3データコード値と第2データコード値が同じでないクラスとして定義されているため、1ビットを使用して、どちらが第2データコードとして現れるかを示す(ビット0は小さい値v1に使用され、ビット1は大きい値v3に使用される)。
(iv)シナリオコード00が割り当てられた処理ユニットについては、第1データコード値を省略することができる。シナリオコード01が割り当てられた処理ユニットについては、次のエンコーディング論理を使用して、第1データコード値をエンコーディングして書き込むことができる。異なる2つのデータコード値が既に第3位置と第2位置に出現した時に、シナリオクラス01には全ての3つの固有データコード値がない。つまり、第1位置におけるデータコード値は、第3位置と第2位置における2つの値のうち1つでなければならない。従って、別のビットを使用して、第1位置データコード値をエンコーディングして書き込む(ビット0は小さい値v1に使用され、ビット1は大きい値v3に使用される)。
(a)シナリオコード00及び01が割り当てられた処理ユニットについては、第2ビットは、クラスA(全ての固有データコード値を有するクラス)又はクラスB(全ての固有データコード値を有しないクラス)のどちらに属するかを区別するために使用される。シナリオコードの第2ビットは、次の内容コードを組み合わせることで省略することができる。エンコーディングクラスAにおける第2データコード値に使用されるビットとクラスBにおける第1データコード値に使用されるビットとを組み合わせる。これらのエンコーディングコードを表現するための組み合わせは6つあるからである。図表49の以下ので、これら6つの組み合わせのエンコーディングコード値を書き込んだ後に、2ビット又は3ビットが使用される。
図表49
内容コードと組み合わせたシナリオコード
00は、シナリオコード0の下のクラスA処理ユニットに使用され、ここで、ビット0は、第2データコード値に割り当てられる。
01は、シナリオコード0の下のクラスA処理ユニットに使用され、ここで、ビット1は、第2データコード値に割り当てられる。
100は、シナリオコード0の下のクラスB処理ユニットに使用され、ここで、ビット0は、第2データコード値に割り当てられ、且つビット0は、第1データコード値に割り当てられる。
101は、シナリオコード0の下のクラスB処理ユニットに使用され、ここで、ビット0は、第2データコード値に割り当てられ、且つビット1は、第1データコード値に割り当てられる。
110は、シナリオコード0の下のクラスB処理ユニットに使用され、ここで、ビット1は第2データコード値に割り当てられ、且つビット0は、第1データコード値に割り当てられる。
111は、シナリオコード0の下のクラスB処理ユニットに使用され、ここで、ビット1は、第2データコード値に割り当てられ、且つビット0は、第1データコード値に割り当てられる。
上記割り当てを使用することにより、シナリオコード00及び01の第2ビットを削除することができ、これらの処理ユニットに対して書き込まれた第1エンコーディングコードは、シナリオコード0であり、その直後に書き込まれた第3データコード値は、読み取ったものと同じであり、これに続いて、2~3ビットの組み合わせを使用した上記シナリオコードと内容コードを書き込む。ビットの使用に関しては、ビットの使用結果は、図表48で作成された結果とまったく同じである。
(b)しかし、次の論理を使用して、シナリオコードと内容コードを組み合わせる別の新しい方法がさらにある。
(i)シナリオコード0、及びシナリオコード0の下のそれらの処理ユニットに使用される第3データコード値と第2データコード値をエンコーディングして書き込む時に(その第2ビットは取り消されるように設計される)、終了コードを作成することができる。該終了コードは、シナリオコード0の第2ビットとシナリオコード0の下のクラスBの第1データコード値の内容コードとを組み合わせることにより形成されるものであり、次のように図表50に示すことができる。
図表50
事後ハイブリッド分類と内容コードを終了コードとする。
1は、シナリオコード0の下でクラスB処理ユニットを表す既存コードに使用される。ここで、第1データコード値は、ビット0である。
01は、シナリオコード0の下でクラスB処理ユニットを表す既存コードに使用される。ここで、第1データコード値は、ビット1である。
00は、シナリオコード0の下でクラスA処理ユニットを表す既存コードに使用される。ここで、第3データコード値と第2データコード値がエンコーディングされて書き込まれた後に、終了する際に処理は行われない。
そのような終了コードは、元のデジタルデータ情報を正しく復元するためにデコーディング時に使用されるべきである。
これは、データ割り当てに関与する処理ユニットの頻度分布に依存している。上記技術は、よりよいビットストレージ節約のために使用され得る。80000ビットの例で使用される前記ランダムデータセットについては、クラスB処理ユニットの頻度は、処理ユニットの総数の中で(図表45にリストされているように8449)6843である。この6843の約半分は、シナリオ1に使用され、それらの半分は第1データコード値を有し、ビット0は、エンコーディングに使用され、この値は、現在終了コードのビット1により表され、シナリオコード01の第2ビットは取り除かれる。従って、6843個の処理ユニットの半分に1ビットを節約することは、約3422/2、即ち約1711ビットを節約することに相当する。また、これら6843個の処理ユニットの他の半分の終了コードは、ビット01の終了コードを使用するので、終了コードの2ビットを使用して、シナリオコード01の元の第2ビット及び元の第1データコード値を表すためのエンコーディングコードのビット0/1を置き換える。従って、この半分のクラスB処理ユニットのビット使用数はロスがない。シナリオコード00の下のクラスA処理ユニットについては、ビット00の終了コードが使用される。現在削除されているシナリオコード00の元の第2ビットは、終了コードの2ビットのうち1ビットのみを占めることができる。その第1データコード値は論理により省略されているので、それに使用される終了コードの他のビットは、考慮されず、それはビット使用数の消費を表す。また、これらのクラスA処理ユニットに使用される頻度は1606である。クラスB処理ユニットのために節約した上記1711個のビットに対して、残りの決済は、1711マイナス1606=105ビットのビット使用数の節約である。80000個のランダムビットのうち、その新規特徴のみは、105個のビットを節約するのに役立つ。これまでに提示された技術は、シナリオ(a)、(b)及び(c)又はシナリオ3コード単位、4のコード単位及び残りのコード単位等の使用にも適用され得る。
図表51a
事前分類コードとクラスA処理ユニット
図表51b
第3データコード値と第2データコード値が同じ値であるか否かを基準として細分化するためのクラスB処理ユニットの内部分類コード又は埋め込み式分類コード
上記分類例は、分類コードの使用に基づくものである。00の4つのクラスは、クラスA処理ユニットに使用される。しかし、斬新なものは、01、10及び11の使用についてである。実際には、それらは、内容コードそのものであり、v1のビット0からビット01までのわずかな修正だけで、これらの内容コードを分類コードとして使用するようにさせる。そして、エンコーディング処理において、内容コードの一部として使用される時、v1のエンコーディングコード値、即ち01は、より短い形式、即ち0のみに復元される。なぜなら、内容コード部分において誤解されず、エンコーディング処理ユニットのヘッドコードとして使用されている分類コードではないからである。上記例では、修正があるが、内容コードを分類コードとして使用したこの技術の有用性を鮮明に示している。これは、CHANコードの作成に使用されるCHANコーディングのもう1つの技術である。
図表52
クラスB処理ユニットを分類するための分類コードとして、第3データコード値と第2データコード値が同じ値であるか否かを基準として修正した内容コードを使用する。
図表53
コードが再割り当てされる前に、圧縮可能及び圧縮不可能なデータ値のエントリに基づくデータ分類は、使用される段落[0075]における図表21に示す頻度を有する。
非圧縮クラス:AAB技術を使用して範囲エンコーディングをする(実際の値の範囲:7、下限値の範囲:4の場合は2ビット、上限値の範囲:8の場合は3ビット)。
(a)コード交換:v2v1v2及びv3v1v3は、元のコードが使用する5ビットのエンコーディングコードの代わりに、6ビットのエンコーディングコードをそれぞれ使用し、それによりビット損失が発生する。従って、それらのエンコーディングコードは、元のコードが使用する6ビットのv2v2v3及びv3v3v2ではなく、それぞれ使用する5ビットのv2v2v3及びv3v3v2と交換しなければならず、それによってビット利得が発生する。従って、これらのペアコード間でエンコーディングコードを交換することにより、ビット使用数のバランスを実現でき、それによりビット消費やビット利得が発生しない。
(b)コードの再割り当て、再分布、又は再記入:同じ第3値と第2値を有する非圧縮クラスには、2つの空いているコード位置又はアドレスがある。これら2つの空いているコードアドレスであるv1v1v2とv1v1v3のエンコーディングコードは、1100と1101であり、これら2つのエンコーディングコードのそれぞれは、4ビットを使用する。また、異なる第3値と第2値を有する非圧縮クラスには、4つの空いているコード位置又はアドレスがあり、これら4つの空いているコードアドレスに使用されるエンコーディングコードは、次のとおりである。v1v2v1は、エンコーディングコードが10000であり、5ビットを使用し、v1v3v1は、エンコーディングコードが10010であり、5ビットを使用し、v2v1v1は、エンコーディングコードが101000であり、6ビットを使用し、及びv3v1v1は、エンコーディングコードが101100であり、6ビットを使用する。従って、現在6つの空いているコードアドレスを再記入する必要がある。まず、2つの例外エントリ組み合わせを使用して、2つの空いているコード位置(v2v2v2とv3v3v3)を記入することができる。従って、4つの空いているコード位置しか残っていない。2つは、4ビットを使用し、もう2つは、5ビットを使用して、圧縮クラスの6つのエントリ組み合わせの収容に使用される。ここで、処理ユニットは、5ビットを使用した3つの固有データコード値を有する。従って、全ての3つの固有データコード値を有する収容されていない5ビット処理ユニットにおける最初の2つは、2つの空いているコード位置を最初に再記入するために使用される。残りの4つの収容されていない5ビット処理ユニットは、残りの2つの4ビットコードの空きアドレスに残される。そして、図表54は、このコードを再割り当てする時の状況を次のように示している。
図表54
コード再割り当て時に、圧縮及び非圧縮のデータ値エントリに基づくデータ分類は、使用される段落[0075]における図表21に示す頻度を有する。
非圧縮クラス:AAB技術を使用して範囲エンコーディングを行う。
図表55
図表53にリストされているコードアドレスとコードエントリ値を再割り当てした後、同等性が生じる。
非圧縮クラス:AAB技術を使用して範囲エンコーディングを行う。
図表56a
図表55で使用されるシナリオコードと異なる逆の割り当てを使用する。
非圧縮クラス:AAB技術を使用して範囲エンコーディングを行う。
上記から分かるように、ヘッダー内のインジケータは、シナリオコードがどのように割り当てられるか、またコード単位の0ヘッドデザイン又はコード単位の1ヘッドデザインを使用してデジタルデータが読み取られるか、及びデータ値が読み取られた後にどのようなヘッドデザインがエンコーディングするために用いられることを指示するように保留し、そのため、それらが同じでなくてもよい。そのような変動は、得られるCHANコードエンコーディングにおけるビット0:ビット1の比率に影響を及ぼす可能性がある。そのようなインジケータは、最適なシナリオを選択することで、エンコーディングが要求される目的を達成する。
ビット0:ビット1の比率をさらに変更するために、図表56aをさらにコード単位の1ヘッドデザインに変更して使用でき、以下のように示している。
図表56b
逆の割り当てで、図表56aで使用される0ヘッドデザインと異なる1ヘッドデザインのコード単位の内容コードに用いられる。
非圧縮クラス:AAB技術を使用して範囲エンコーディングを行う。
図表56c
図表56bで使用される1ヘッドデザインと異なる0ヘッドデザインシナリオコードを使用する逆の割り当ての使用
非圧縮クラス:AAB技術を使用して範囲エンコーディングを行う。
例えば、AI区別技術を使用してスーパー処理ユニットをさらに圧縮することができる。又は段落[0062]で紹介された6値コード単位の異なるコード単位定義を使用し、1つの定義は、データを読み取ることに、もう1つの定義は、データをエンコーディングして書き込むことに用いられる。例えば、ビット1がビット0より多ければ、1ヘッドデザインの17ビット6値コード単位定義は、データを読み取ることに用いられることが可能であり、一方では、エンコーディング及び書き込みに対して、同じヘッドデザインの18ビット6値コード単位定義によって完了させることができる。17ビット定義は、v1の値に用いられる2ビットのビットコード11を使用し、18ビット定義は、v1を表すための1ビットのビットコード1を使用するので、続いて18ビット定義を使用して書き込む時に、読み取られた2ビットのコード11は、17ビット定義で読み取られたv1に用いられる1ビットのビットコード1にエンコーディングされ、それにより2ビットが1ビットに減少される。ビット1の頻度がビット0よりも高ければ、圧縮することに役立つ。
図表57
17、18、19ビットの1ヘッドデザインの6値コード単位を使用するコード値の定義
(a)チェックインジケータ:適切であれば存在してもよく、デコーダはそれを使用してデコーディングされるファイルが有効なCHANコードファイルであるか否か、及びファイルが使用可能な有効ファイルであるか否かを識別し、そのため、エンコーダによって生成された対応するCHANコードファイルに対して設計者によって設計されたインジケータを含む。
(b)リサイクルビット又はインジケータ:エンコーダによってデコーダに使用されるビットを書き込むことで、デコーダに現在処理サイクルをデコーディングした後に停止しなければならないか否かを指示する。
(c)(エンコーダによりエンコーディング中に使用されるか又は)現在のエンコーディングサイクルのデジタルデータ層をデコーディングすることに用いられるマッピングテーブル又はコード単位定義インジケータ:別の指示ビット(不均一器/均一器インジケータ)を用いて現在エンコーディングされたCHANコード層が不均一器マッピングテーブル又は均一器マッピングテーブルを使用することによって完了させるか否かを区別する。
(A)CHANコード単位:エンコーディングしたCHANコードを含み、選択されたコード単位定義のリーダーを用いて入力したデジタルデータを読み取り、デジタルデータをライターで書き込み又はエンコーダで読み取り、ライターは、ヘッダーに示されるコード単位定義又はマッピングテーブルのエンコーダを使用し、エンコードを書き込み又はコード単位定義又はマッピングテーブルを含むプログラミングロジックを実現してエンコーディングするものである。ここでエンコーディングしたCHANコードは、適切な場合に分類コードと内容コードを含む。
(B)エンコーディングされていないコード単位:これは、デジタルデータ部分を入力する2進数ビットの部分を示し、読み取られた時にエンコーディングされず、通常には得られたCHANコードファイルの最後に置かれる。これは、コードの一部に設計され、そのビット数が1つの処理ユニット又は1つのスーパー処理ユニットを構成するのに十分ではないため、使用されるエンコーディング技術を用いてそれをエンコーディングすることができない。
不均一器を使用する別の変形は、最後の処理サイクルの前にそれを複数回使用することであり、そして最後のサイクルのエンコーディングは、コンプレッサ(又は圧縮のための均一器)によって行われる。このような方式で、エンコーディングプロセスは、コンプレッサエンコーディングの最後のサイクルの前に1つ以上の不均一エンコーディングサイクルを含む。この変形により得られるCHANコードとCHANコードファイルの構造は、段落[0121]から[0123]に記載されているものと同様である。均一器は、データセットのビット0:ビット1の比率をより均一にするコンプレッサであり、最後のサイクル又は最後のエンコーディング層のエンコーダとして使用される時に、このような均一器又はコンプレッサの使用の結果として、データ割り当てがそのスキューの他の方向に偏ったことは重要ではなく、予想されるように圧縮される限り、スキューはいかなる方法であってもよい。使用される用語は、即ち均一器又は均一器エンコーダが本発明のコンプレッサ又はコンプレッサエンコーダと同じであると見なされるべきである。
図表58a
3つの単一コード単位からなる処理ユニットを有するMax3 5ビット0ヘッドデザインコード単位エンコーダを使用して読み取られた80000ビットのランダムデータセットの処理ユニットの頻度分布
3つの単一コード単位からなる処理ユニットを有するMax3 5ビット0ヘッドデザインコード単位エンコーダを使用して読み取られた80000ビットのランダムデータセットのスーパー処理ユニットの頻度分布-スーパー処理ユニットは2つの連続な処理ユニットからなる(選択されたSPUCVを示す)
スーパー処理ユニットコード値
図表58c
図表58a及び図表58bに示される頻度統計値を生成する自動プログラム
しかしながら、図表58a及び図表58bのコード値の間の頻度範囲を比較すると、この規則的な変化を発見することができる。ビットクラス内の頻度の最も高いコード値と隣接するビットクラス内の頻度の最も低いコード値の間の頻度範囲を比較することができる。以下の図表58eに異なるビットクラスにおけるコード値の頻度範囲が示される。
図表58e
ビットクラスの間の頻度範囲
これに基づいて、ランダムであるか否かに関わらず、データを処理する方法及びそれに対応する法則を設計することで、目的に合わせる。ここで、本開示は、この発見が特にランダムデータを含むデジタルデータの圧縮を行うことにどのように使用されることを明らかにする。
デジタルブラックホールの発明はAABCの技術を使用する。図表55に示すように、段落[0115]に記載されている説明の場合、27個の固有PUCVグループは、頻度が約半分の2つのサブグループに分けられる。また、段落[0116]は、わずかに異なる以上の圧縮クラスと非圧縮クラスの頻度をまとめ、ここで第1クラスは8897個の処理ユニットを有し、第2クラスは8888個の処理ユニットを有する。非圧縮クラスにおいて7個のPUCV、圧縮クラスにおいて20個のPUCVが含まれる。非圧縮クラスは、そのヘッドとして使用される分類コード又はシリナオコード0を含み、圧縮クラスは、1をそのヘッドとして使用する。分類コード又はシナリオコードの使用を省くことができれば、特定の頻度分布の規則性を有するため、特定の頻度分布のランダムデータに対して、データ圧縮を実現する。これは、ここで開示されたデジタルブラックホールの発明によって完了させる。任意のランダムデータセット内の任意のPUCV又はSPUCVの前後には、3/4/5/6ビットクラスとすることが可能な別のPUCVである。図表55の非圧縮クラスは、3ビットクラスと4ビットクラスPUCVで、圧縮クラスは、5ビットクラスと6ビットクラスにある。分類コードビット0/1を使用しなければ、非圧縮クラス及び圧縮クラスのPUCVのための以下のAABコードを使用することができ、図表59に示される。
図表59a
非圧縮クラス3/4ビットクラスPUCVのAABコード
非圧縮クラス5/6ビットクラスPUCVのAABコード
しかしながら、デジタルデータの高い頻度範囲比率及び少ないランダムビットにより、ビット節約数が使用される特殊コードインジケータのビット消費をカバーするのに十分である。例えば、頻度が14である12ビットのSPUCV 111111-101011、12ビットクラスにおける最高のものを、欠落しているSPUCV 111111-111110とペアリングするためのブラックホール0として使用して、(例えば前方吸収を使用して)その前のPUCVを吸収する。このDDBのペアを使用することは非常に簡単である。12ビットクラスの64個の固有コード値が存在し、2つのDDBのそれぞれには、それらを識別するためのそれぞれの特殊コードインジケータとして6ビットが必要である。これは12ビットを必要とする。ブラックホール1は欠落するコード値であるため、Scodeで代用する必要がなくなる。従って、前記80,000ビットのランダムデータセットに対して、ビット節約数は14から12ビットを減算することであり、2ビットに相当する。
これは明確なサインと実例であり、ある場合に、ランダムデータを圧縮することができるため、ランダムデータが決して圧縮できないという情報理論における鳩ノ巣の原則の神話を破る。さらに詳しく調べると、全ての場合にあらゆるサイズのランダムデータを圧縮するための法則のパターンがいくつか見つかることははっきりと言える。そして、別の実例も後の段落[0134]の、ランダムデータを圧縮する機会を増やすために別の技術をどのように使用するかの図表60の議論に示される。従って、上記の技術の組み合わせは、圧縮に適格なデータセット、即ち4:1よりも大きい頻度範囲比率の頻度範囲要件を満たすデータセットを圧縮するために用いられ、その比率が高いほど、成功した圧縮に使用されるランダムデータセットのサイズが小さくなる。サイズが無限のランダムデータセットを使用してCHANフレームワーク下で設計できる無制限エンコーダがあるため、上記技術を使用する(又は以上に説明された不均一データ技術及びその他の新たに発明された技術等、例えば、以下の段落[0134]の図表60に導入される技術又は他の賢い人々が設計するそれらの技術のような他の追加技術と組み合わせて使用する)ことを試して、特定サイズの特定のランダムデータセットに対して、対応する頻度範囲比率パターンを識別して圧縮するために使用する。そのため、使用されるデータセットのサイズ(又は処理するためにそのように定義された特定サイズのセクションに分ける)及び高ビットクラスにおける最大頻度コード値と低ビットクラスにおける最小頻度コード値間の頻度範囲比率(例えば図表58cに示される)は、デジタルデータセット(ランダムデジタルデータセットであるか否かに関わらず)の2つの特徴であり、前記特徴は、デジタルデータセットのパターン又は法則を識別し、上記技術の組み合わせにより成功裏に圧縮することを可能にするために用いられる。
(1)ランダムデータの圧縮及び解凍
(1a)ランダムデータセットの頻度統計値を生成するためにCHANフレームワークで設計されたエンコーダを使用してデータを解析する。
このステップでは、CHANフレームワークで設計されたエンコーダを使用し、例えば、図表58に示す頻度統計値は、Max3 5ビット0ヘッドデザインコード単位エンコーダを使用して生成され、前記エンコーダは、3つの単一コード単位からなる処理ユニットと、2つの処理ユニットからなるスーパー処理ユニットとを有する。
(1b)特殊コード(又は異常コード)としてコード値を指定して特別に処理し、AABエンコーディングを使用するデジタルデータブラックホール技術、及びコード分割を使用するか使用しない連続代用技術を含む方法で新しい代用コードを形成して使用に備える。ランダムデータセットの頻度統計に基づいて、適切な頻度パターンが識別される限り、PUCV及びSPUCVを、ブラックホールコード及び代用コード等の特殊コードとして選択する。この選択は、エンコーディング及びデコーディングのための基準を基とし、例えばこの場合に、これはデジタルデータ、具体的にはランダムデータの圧縮及び解凍に用いられる。この目的のためにコードをどのように選択するかを教示する説明が以上になされ、例えば簡単に言えば、PUCV及びSPUCVグループ内のビットクラスに従って、それらの頻度に基づいて特殊コードを選択し、例えば、各ビットクラスの最高頻度のコード値はブラックホール0の候補であり、各ビットクラスの最低頻度のコード値は代用コードの候補であり、そのうちの1つ(例えば代用コード0)がブラックホール1として使用され、AABエンコーディングを使用して前又は後又は前後の両方のコード値を表示(又は吸収)するためにブラックホール0のコードとペアリングされる。従って前記特別な処理は、コード分割の有無に関わらず、新しい代用コードを形成して使用するために、AABエンコーディング及び連続的に代用されるデジタルデータブラックホールを使用する。ブラックホールコードに関連するAABコードは、単独したAABコードファイルを使用してそのようなAABコードを格納する代わりに、ブラックホールコードの後に配置してメインエンコーディングコード出力ファイルにマージすることができ、且つ単独したAABコードファイルを使用して、適切な場合にAABコードを格納するように決定することもできる。上記特殊コード用のインジケータ(特殊コードインジケータ)はブラックホールインジケータと代用コードインジケータを含み、特殊コードインジケータとセクションサイズインジケータ(下記参照)は関連するヘッダーに記述する必要がある。エンコーディングを容易にするために、その部分がこの特別な処理を行ってビット節約を生み出すのに十分に大きい限り、デジタルデータ入力全体を、少数の2進数ビット、ある一定数の2進数ビットからなるセクションに分割することができ、例えば1つのセクションとして80000ビットを使用して処理し(例えば、1つの部分が1つの2進数ビットだけで構成されると、ビット節約が達成されない可能性があるので、この意味のない仮定は二度と起こさない)、そのセクションが小さければ小さいほど達成可能なビット節約数は少なくなるため、大きいビットサイズを使用するセクションは、その部分に対して、より多くのビット節約数が達成できることを意味し、ただし、データ解析の速度も遅くなる可能性があるため、ビット節約とエンコーディング速度のバランスを取る必要がある。そのため、セクションのサイズインジケータを使用して(対応するセクションヘッダーに書き込む)、処理中のセクションのビットサイズを示す。セクションを使用すると、セクション境界を横切るPUCV又はSPUCV(例えば、80,000ビット)は、セクション境界の前のセクションとして処理され、又は新しいセクションとして処理され、そして、それに応じてセクション境界を調整する。
(1c)ランダムデータを圧縮するためのエンコーディングプロセス:
従って、ランダムデータを圧縮するためのエンコーディングプロセスは、
(i)デジタルデータ入力を読み取って解析して、ランダムデータセットの頻度統計値を生成するために、CHANフレームワークで設計されたエンコーダを使用するステップと、
(ii)特別に処理するために特殊コードとしてコード値を指定し、処理がAABエンコーディングを使用するデジタルデータブラックホール、及びコード分割を伴うか又は伴わない連続代用を含み、それにより新しい代用コードを形成して使用に備えるステップと、
(iii)コード値を読み取り、コードが通常コードか特殊コード(ブラックホール0及びその他のScodeを含む)であるかを区別し、このように読み取られたコード値をエンコーディングし、適切な場合に特別な処理(本明細書の特別な処理は、DDBに合う時にAABエンコーディングを使用するデジタルデータブラックホール、又は特殊コード、即ち代用コードに用いる代用コードマッピングテーブルを含み、それにより適切な場合に連続コード代用を行う)を応用し、且つ適切な場合に上記ステップ(1cii)の指定、コード分割を伴うか又は伴わない連続代用の設計法則、及びAABコードテーブル法則に基づいて、エンコーディングされたコードを出力ファイルに書き込み、ブラックホールによって吸収されたコード値のためのAABコードを生成し、AABコードは、適切な場合に、単独したAABコード出力ファイルとして書き込まれるか又はメインエンコーディングコードファイルにマージするように書き込まれるステップと、
(iv)適切な場合(エンコーダにまだ埋め込まれていない場合)に、メインヘッダー及びセクションヘッダーにインジケータを書き込み、そのようなインジケータが、適切な場合にチェック及びインジケータ、CHANコードファイル署名、マッピングテーブルインジケータ、周期数インジケータ、コード単位定義インジケータ、処理ユニット定義インジケータ、スーパー処理ユニット定義インジケータ、最後識別コードインジケータ、シナリオ設計インジケータ、不均一器/均一器インジケータ、リサイクルインジケータ、頻度インジケータ、特殊コードインジケータ、セクションサイズインジケータ、デジタルデータブラックホールタイプインジケータを含むステップとを含む。
(1d)ランダムデータを圧縮するためのデコーディングプロセス:
ランダムデータを解凍するためのデコーディングプロセスは、
(i)CHANフレームワークで設計されたエンコーダを使用してエンコーディングされたコードファイルを読み取り、解析するステップと、
(ii)適切な場合に、上記ステップ(1cii)の指定、コード分割を伴うか又は伴わない連続代用の設計法則及びAABコードテーブル法則に基づいて、コード値をデコーディングし(即ち、適切な場合にコード値用のコードマッピングテーブルを代用する)、且つデコーディングされたコードをデコーディングされたコードファイルに書き込み、ヘッダーに記録された(又はデコーダに埋め込まれた)AABコード及びインジケータを検索して、ブラックホールによって吸収されたコード値をデコーディングし、且つそれらをデコーディングされたコードファイルにおける適切な位置に書き込むために用いられるステップとを含む。
これは、また、図表58cにリストされるプログラムによって生成された72,003ビットのランダムデータの頻度分布の実例により、前記行を、
if not FileExists('ff') then GenerateRandomFile('ff',10000)を
if not FileExists('ff') then GenerateRandomFile('ff',9000)
に変更することにより、ランダムデータが圧縮可能であることを証明する。
そのような頻度分布の実例は、以下の図表60aにリストされる。
図表60a
Max3 5ビット0ヘッドデザインコード単位エンコーダによって読み取られた72,003ビットランダムデータセットのコード値の頻度分布
図表60aの頻度統計値を用いた12ビットクラスSPUCVの頻度カウントの分布
この12ビットクラスのコード値、即ちブラックホール0である、最高頻度カウントを有するSPUCV 111011-101010を使用し、12ビットクラスのSPUCVの最高頻度のために下限値を提供する。2ビットを使用することができ(ここで使用される2進数ビットの数は、処理されているデジタルデータセットから決定される頻度パターン又は規則性に基づいて調整できる)、それにより第2最高頻度カウントの12ビットコード値が、それに隣接しているビット長に関してどれだけ離れているかをを示すために用いられる。2ビットインジケータは4ビットのビット長スパンを与えることができる。ほとんどの場合に対して十分である。この目的のために十分ではなく、且つ最高頻度の12ビットコード値が設計及び選択されたビット長の範囲外であると、それを非圧縮性ランダムデータと見なすことができる。従って、ビット00は11ビット、ビット01は12ビット、ビット10は13ビット、そして、ビット11は14ビットのSPUCVに用いられる。SPUCV 111011-101010が11ビットであるため、それに使用されるインジケータはビット00である。
ブラックホール0として最高頻度を有するコード値、及びブラックホール1として値が欠落するコード値を選択すると、エンコーディングした後、エンコーディングされたコードを解析し、以下の図表60cに示すように12ビットSPUCVの頻度カウントの分布は1になる。
図表60c
図表60aの頻度統計値を用いたエンコーディングされたコードにおける12ビットクラスのSPUCVの頻度カウントの分布
上記の説明が正確であると仮定すると、設計された固定のブラックホール0を使用して3/4ビットのPUCVを吸収し、ブラックホール1を使用して5/6ビットのPUCVを吸収することができる。変動がないと、エンコーディングされたコードを解析して、3/4ビットのPUCVの半分と5/6ビットのPUCVの半分はどちらが大きいことを知ることができる。変更を許可すると、どの12ビットコード値がブラックホール0であるかを示すために1つのビットを使用することができ(例えば、自然数順序で最初に現れるもの)、後にどのコード値が5つの頻度カウントと6つの頻度カウントの各グループから由来するかを決定し識別した後、ブラックホール1は自然に知られている。5つ及び6つの頻度カウントグループからこの2つのDDBを識別するために、合計55個の選択肢(即ち、10+1=11及び4+1=5、及び11*5=55)がある。そのため、それは5~6ビット(AABエンコーディングを使用する)を使用してこのような識別を行う。従って、ブラックホール0の頻度カウントを示す2ビット、どのDDBコード値が値を欠落させるコード値であるかを示す1つのビット、及び2つのDDBを識別するための5~6ビット、合計8~9ビットを使用する。従って、2~3ビットに相当する11ビットから8~9ビットを引いたビット節約数が得られる。
しかしながら、2つのDDBがエンコーディングされたコード内のどこ(即ち、どの頻度カウントグループ)に見つかるかについてある程度の変動を許可することができる。可能なグループは5と6個の頻度カウントグループ、4と7個の頻度カウントグループ、3と8個の頻度カウントグループ、2と9個の頻度カウントグループ、1と10個の頻度カウントグループ、合計5個の可能なグループである。しかしながら、2/9グループ及び1/10グループは排他的であることが極めて確実的であるため、4つの可能なグループが依然として存在する。そのため、そのような可能性を示すために2つ以上のビットを与えることができる。しかしながら、2ビットを与えることは、2つのDDBが5/6と6/7の頻度カウントを超えるグループにある機会が少ないので、必要とされないことがある。且つ、それらは再び非圧縮性ランダムデータとして分類することができる。従って、1ビットを使用して、2つのDDBが入る頻度カウントグループのこのような変動を可能にすることができる。
ブラックホール0及びブラックホール1の2つの特殊コードインジケータのビット消費が、異なるグループに入ることは、5/6頻度カウントグループ用の5~6ビット、4/7頻度カウントグループ用の4~5ビット(10*3)である。
従って、頻度カウントグループが2つのDDBに用いられると、ビット節約数は2~3から1~2ビットまで1ビット削減される。グループが4/7である場合、ビット節約数は、2~3ビットからDDBの頻度カウントグループを示すための1ビットを引き、且つ2つのDDBの特殊コードインジケータのビット消費の減少による1ビットの増加が発生するため、同じままである。従って、ビット節約数は、1~2ビット又は2~3ビットのいずれかである。
従って、これは、処理されているデジタルデータセットから収集された情報(即ち、頻度カウントグループに関する統計データ)を使用して、例えばDDB用の特殊コードインジケータ等のインジケータビット消費を削減する技術である。
圧縮データと非圧縮データを区別するためのインジケータとして使用するために1ビットを与えると、結果は損益分岐点になるか、1~2ビットの節約になる。使用されているエンコーダによってサンプリングされたPUCVの頻度分布の規則性を考えると、2つのDDBが3/8グループに分類される可能性は非常に小さいか又は低いため、2つのDDBの分類の確率の順位は、まず5/6グループ、後に4/7グループ、次に3/8グループ、さらに2/9グループ又は1/10グループに入る。そして、上記のように、DDBが5/6及び4/7の頻度カウントグループのグループに入らないと、ランダムデータセットは非圧縮データとして分類される。これらのデータは、上記圧縮/非圧縮データビットを使用する。
ff=9,000を用いて上記頻度分布の実例を生成することによって約8つの実例を生成し、値を欠落させていない12ビットのコード値が1しか存在しないことが判明している。従って、これまでに紹介した技術を用いたビット節約の可能性がより高いことを意味する。
別の実施形態では、11ビットクラスの最高頻度のコード値SPUCV 101010-10100をブラックホール0として、ブラックホール1、SPUCV 101110-101110とペアリングすると同時に、適切な場合にも同様の方法でインジケータビット消費を削減する技術を使用する。
CHANフレームワーク下で設計された異なるエンコーダ下でサンプリングされた異なるサイズのランダムデータの頻度分布に関するより規則的なパターンがマージされると予想され、それらの確認された規則に対して、より細かい法則及び新しい技法が開発される。これらのビットインジケータの用途及びその各自のサイズは、異なる実施形態では調整され、調整は、ランダム又は非ランダム、デジタルデータセットのサイズ、特定の頻度パターン又は規則に関わらず、CHANフレームワークで設計された異なるエンコーダを使用することによって確認される。
従って、本発明に導入された技術は、ランダムデータを圧縮する際にそれらの有用性を示した。また、これらの技術は、ランダムデータセットから識別された規則パターンに関する情報を参照として使用して、非ランダムデータを圧縮し、解凍することにも適用される。
(2)非ランダムデータの圧縮及び解凍
以上の(1)に示される方法を用いてランダムデータを圧縮することができるので、非ランダムデータを圧縮するために同じ方法を使用することもできる。特殊コードの指定を決定する際に、非ランダムデータの性質を考慮する必要がある。基本的には、この場合に、ビット使用節約を達成するという目的が同じであるため、特殊コードを指定するための論理は、ランダムデータを圧縮する場合と同様である。しかしながら、ランダムデータは非ランダムデータが従わないいくつかの規則性に従っており、且つ非ランダムデータセットのデータ割り当ては非常に異なる可能性があり、これは特殊コードを指定する時にいくつかのそのような変化を満たすべき原因であり、且つそのような変化に適応するためのより適切な技術の使用がより望ましい。従って、特殊コードを指定するために、適切な場合、以下の法則を作成し、それに従うことができる。
(2a)非ランダムデータセット内のPUCVが欠落する可能性:
非常に少ないランダム又は非ランダム2進数ビットのセクションを処理することは、ビット節約を達成することができない可能性があり、ヘッダーに記録されるインジケータに使用されるビット消費を補償することに十分ではない可能性がある。従って、同様に、非ランダムデータのセクションサイズは非常に小さいべきではない。しかしながら、非常に大きなサイズであっても、非ランダムデータセットは、データセット内に1つ以上のPUCVが欠落する可能性がある。そして、このようなPUCVが欠落した現象は、適切な場合には十分に活用することができ、その結果として、そのような欠落したPUCVを特殊コード、ブラックホール1又は他のScodesとして指定することができる。ブラックホール1として機能するために、基準について、選択されるコード値は、選択されたブラックホール0よりも1ビット長いべきではなく、原因は、ブラックホール1が前又は後のコード値を吸収するためのAABコードを使用し1ビットだけ節約することができることである(現在の議論には、ブラックホールがコード値を単方向に吸収することを仮定し、それに応じて、ブラックホールによる双方向吸収のための規則を調整することができる)。そのため、ビット長が1ビット長いブラックホール1としてScode 0を使用することは、データ拡張を意味し、データ圧縮の目的を達成する方向に向けない。従って、ランダム及び非ランダムデータの両方に対してデータ圧縮を行うための法則(ブラックホールと連続コード代用技術の使用によって影響されない他のコード値が同じビットサイズのエンコーダを使用してエンコーディングされると仮定して、読み取りエンコーダ自体は同じビットサイズのエンコーダクラスの書き込みエンコーダとして使用され、上記のように、エンコーディングするために読み取りエンコーダではなく、同じビットサイズのエンコーダを使用することは、データ拡張もデータ縮小もない暗号化の形式を表す)について、
ブラックホールを使用することから生じるビット利得は、代用コードの使用及びヘッダーで使用されるビット消費から生じるビット損失よりも大きくなければならない。
従って、前記トップレベル法則下で、圧縮及び解凍されるデジタルデータセットのデータ割り当て、及びデータ処理が使用されるアクティビティの目的に関する実際の状況に応じて、他の法則を緩和することができる。欠落しているPUCVがない場合を論じた後に、PUCVが欠落する非ランダムデータセットを圧縮するために使用することができる技術についてさらに論じるべきである。
(2b)非ランダムデータセットにPUCVが欠落しない:
上述したようなデジタルデータブラックホール及び連続コード代用がランダムデータの圧縮に用いられるため、このような技術を非ランダムデータの圧縮に使用することもできる。非ランダムデータは大きく変動し、予測もできないが、同じビットサイズのランダムデータセット(例えば実例に使用された80,000個の2進数ビット)の頻度分布統計値を参照(上記のようにCHANフレームワークで定義されたエンコーダを使用して取得される)として使用して閲覧及び比較すると、デジタルデータブラックホール及び連続コード代用技術を使用する方法は、PUCVを欠落させない場合に、非ランダムデータセットを圧縮するためにも使用されると結論づけ、この結論は合理的である。PUCVが欠落していない場合、ブラックホール1として機能する追加のコード値を提供するには、コード分割の有無に関わらず連続コード代用を使用する必要があり、それによりブラックホール0と連携してAABコーディングを使用して他のコード値を吸収する。非ランダムデータセット内の任意のビットクラス内で最高頻度を有するコード値の頻度は、ランダムデータセットの同じビットクラス内の対応するコード値の頻度よりもはるかに高い可能性があると予想される。1つのビットクラスに対してそうでなければ、そのような現象は別のビットクラスにおいて見出されるであろう。頻度が最低のそれらのコード値についても同じであると言える。また、ランダムデータセットの使用から推定される参照を使用して、以下の規則に従うことができる。
(i)非ランダムデータセット用の1対のブラックホール0とブラックホール1の頻度差の範囲は、同じサイズのランダムデータセットよりも大きいべきであり、又はランダムデータセット内の対応する1対の頻度差は、ブラックホール0の頻度がブラックホール1の頻度の4倍以上でなければならず、且つブラックホール1のビット長がブラックホール1のビット長よりも1ビット以上長くてはいけなく、つまり、ブラックホール1は、処理中のデータセットで発生する頻度が少ない可能性があり、本明細書における規定よりもビット長が短くなる可能性があり、これは、他のコード値がこれらの要件を満たすことが発見すると、これらのコード値がブラックホール1としても使用できることも意味する。
ブラックホール0の頻度>=ブラックホール1の頻度の4倍
それに加えて
ブラックホール0のビット長がブラックホール1のビット長よりも1ビット短くない
(ii)この場合に処理中のデータセットにコードが欠落しないので、ブラックホール1のコード値は、ブラックホール0を代用するための借用使用されるコード値(即ち、それ自体はScode 0である)であり、そのうち吸収されたコード値の半分は、対応するAABコードによって表され、あるコード値は別のコード値で代用される必要がある。上記のように、これは連続コード代用が役立つようになるべき場合である。この連続コード代用のための法則は以下のとおりである。
合計された全てのScodeの合計頻度=<Scode 0の頻度
それに加えて
各連続的なScodeの頻度は=<代用されるコード頻度の半分であるべきである
それに加えて
各連続的なScodeのビット長は、代用されるコードのビット長よりも1ビット長くなるべきではなく、それがより長く、1ビット増加すると、1ビット増加するたびに、そのような連続的なScodeの頻度がさらに半分減少すべきである。
全てのScodeの合計頻度が低いほど、ビット長が短いほど、以上の指定法則がよくなる。上記の法則を満たすと、他のコード値をScodeとして使用することもできる。
上記のようなデジタルデータブラックホール及び連続コード代用の方法を使用して、関連する非ランダムデータセットが圧縮処理できないことは稀である。適切な場合には、これに関連して、2017年2月22日に本発明の優先権主張の下に出願されたPCT/IB2017/050985を参照することができる。
上記の法則を使用した後、要件を満たすブラックホールを識別することができない可能性があり、発生するコード値が、特定のビットクラスにかなり集中していることは確かであり、例えば3ビットクラス及び単一コード値(即ち000)に集中する。この場合に、PUCV 000を圧縮するために、次のAABコードテーブルを使用して選択することが検討できる。
図表61a
PUCV 000に高度に集中しているコード値を生成するためのAABコードテーブル
コード値がPUCV 000に集中するためのAABコードテーブルは、4ビットのPUCVで欠損が発生する時に適用され、数が少ない4ビットのPUCVを有するデータセットに適用される。
コード値がPUCV 000に集中するためのAABコードテーブルは、5ビットのPUCVで欠損が発生する時に適用され、数が少ない5ビットのPUCVを有するデータセットに適用される。
コード値がPUCV 000に集中するためのAABコードテーブルは、6ビットのPUCVで欠損が発生する時に適用され、数が少ない6ビットのPUCVを有するデータセットに適用される。
コード値がPUCV 000に集中するためのAABコードテーブルは、残りのPUCVは頻度の減少に従って降順でコード値が割り当てられる。
(2c)PUCVが欠落している非ランダムデータセット:
PUCVが欠落している非ランダムデータセットを圧縮することは比較的簡単で、以下の技術を使用することによって常に達成することができる。
(i)処理されている非ランダムデータセットに欠落するコード値をブラックホール1として使用して、前記ブラックホール1は、同じビットクラス又は1ビット減少したビットクラスでもブラックホール0とペアリングされ、該ブラックホール0が関連するクラスで最大頻度コード値を有し、コード値が欠落した発生頻度はゼロであるため、それを代用するために任意の代用コードを必要としない。
(ii)処理されている非ランダムデータセットに欠落したPUCVを、より長いビット長の別のコード値で代用し、そのような別のコード値は処理されているデータセットに存在する。
さらに、適切な場合に、ランダムデータと非ランダムデータを圧縮するために、1対以上のDDBを使用することを検討する必要がある。上記の方法及び技術を使用して、関連ヘッダーで使用される特殊コードのための関連インジケータを追加するか、又は適切な場合に既に論じたように使用されるエンコーダ及びデコーダにそれらを埋め込む必要がある。エンコーディング又はデコーディングされているデータセットがランダムデータセット又は非ランダムデータセットであるか否か、またどの対のDDBが使用されたか、又はどのAABコードテーブルが使用されたかを示すためにシナリオインジケータ等の他のインジケータも同じ方式で使用される。
上記の実例ではCHANフレームワークで設計されたMax3エンコーダを使用したが、他のMax数を使用したエンコーダ設計も試みることができる。従って、他の特徴の他、最も重要な区分特徴として、CHANフレームワークで設計されたエンコーダと他のエンコーダを区別するための基準は、コード単位、処理ユニット及びスーパー処理ユニットの固有コード値であり、使用される設計に応じて複数のビットサイズ又はビット長を有するか、又は異なるビットサイズ又はビット長を有する。
従って、上記で概説した方法及び技術は、ランダムであるか非ランダムであるかに関わらず、あらゆるタイプのデジタルデータを周期的に圧縮することができる(数千個の2進数ビット未満のランダムデータを含まず、厳密な制限はここでは重要ではない)。従って、上記内容を参照しながら、ユニバーサルエンコーダが本明細書において発明された。
理解している人がその数を数える。
(1)ランダムであるか否かに関わらず、任意のデジタルデータセットから作成されたデータの順序又はデータ順序又はデータ構造又はデータ組織が、コード単位で構成され、前記コード単位は、デジタルデータセットの2進数ビットのビットコンテナの基本ユニットとして使用され、エンコーディング及びデコーディングの目的で処理のために選択された設計及びスキーマに従って、コード単位は、主にコード単位が収容又は表現するように定義されるデータ値の最大可能数(コード単位の値サイズ)によって分類され、ここでコード単位の各可能な固有値が同じビットサイズ又は異なるビットサイズを持つ可能性があり、且つコード単位は、後にコード単位の全ての可能な固有データ値が占めるビット数(即ち、コード単位の各可能な固有データ値が占めるビットサイズの合計)によって分類され、且つコード単位はヘッドデザイン(即ちそれが0ヘッドデザインであるか1ヘッドデザインであるか)によってさらに分類され、各実施形態によれば、CHANフレームワーク下で特定の値サイズのコード単位が異なる定義及びバージョンを有することを特徴とするCHANフレームワーク、ランダムであるか否かに関わらず、デジタルデータ情報から順序を作成する方法。
(2)ランダムであるか否かに関わらず、任意のデジタルデータセットから作成されたデータの順序又はデータ順序又はデータ構造又はデータ組織が、処理ユニットで構成され、前記処理ユニットが、エンコーディング及びデコーディングの目的で処理のために選択された設計及びスキーマに従って、サブユニットとして一定数のコード単位によって構成されることを特徴とするCHANフレームワーク、ランダムであるか否かに関わらず、デジタルデータ情報から順序を作成する方法。
(3)ランダムであるか否かに関わらず、任意のデジタルデータセットから作成されたデータの順序又はデータ順序又はデータ構造又はデータ組織が、スーパー処理ユニットで構成され、前記スーパー処理ユニットが、エンコーディング及びデコーディングの目的で処理のために選択された設計及びスキーマに従って、サブユニットとして一定数の処理ユニットによって構成されることを特徴とするCHANフレームワーク、ランダムであるか否かに関わらず、デジタルデータ情報から順序を作成する方法。
(4)ランダムであるか否かに関わらず、任意のデジタルデータセットから作成されたデータの順序又はデータ順序又はデータ構造又はデータ組織が、エンコーディングされていないコード単位で構成され、前記エンコーディングされていないコード単位が一定数の2進数ビットで構成され、これらの2進数ビットが、1つの処理ユニットのサイズにならないため、エンコーディング及びデコーディングの目的で処理のために選択された設計及びスキーマに従って、エンコーディングされていないコードに保持するか又はそのまま保持することを特徴とするCHANフレームワーク、ランダムであるか否かに関わらず、デジタルデータ情報から順序を作成する方法。
(5)上記(4)のコピーなので削除します。
(6)ランダムであるか否かに関わらず、任意のデジタルデータセットから作成されたデータの順序又はデータ順序又はデータ構造又はデータ組織が、エンコーディング及びデコーディングの目的で処理のために選択された設計及びスキーマに従って、コード単位、処理ユニット、スーパー処理ユニット及びエンコーディングされていないコード単位及びそれらの使用での組み合わせから派生された特性又は特徴又は関係で構成されることを特徴とするCHANフレームワーク、ランダムであるか否かに関わらず、デジタルデータ情報から順序を作成する方法。
(7)任意のデジタルデータセットの特性又は特徴又は関係を記述するために使用される記述言語は、コード単位、処理ユニット、スーパー処理ユニット、及びエンコーディングされていないコード単位の特性又は特徴又は関係を記述するための用語を使用することを特徴とするCHANフレームワーク、ランダムであるか否かに関わらず、デジタルデータ情報から順序を作成する方法。
(8)CHANフレームワーク下でエンコーディング及びデコーディングを目的としてデータを処理するための技術を特徴とするCHANコーディング、エンコーディング及びデコーディングの方法。
(9)CHANコーディング技術を使用して任意のデジタルデータセットから作成されたCHANコードを特徴とするCHANコーディング、エンコーディング及びデコーディングの方法。
(10)範囲を有する絶対アドレス分岐技術を使用する技術を特徴とするCHANコーディング、エンコーディング及びデコーディングの方法。
(11)CHANフレームワーク下で作成されたデータ順序の処理ユニットのコード単位間の関係を表すための数式を使用する技術を特徴とするCHANコーディング、エンコーディング及びデコーディングの方法。
(12)数式で表される値又はエンコーディングされたコード、及びコード単位、処理ユニット、スーパー処理ユニット、及びエンコーディングされていないコード単位のそれらの値又はエンコーディングされたコードを異なる位置で順に配置する配置技術を特徴とするCHANコーディング、エンコーディング及びデコーディングの方法。
(13)0ヘッドデザイン又は1ヘッドデザイン又はその両方をペアリングするビットパターンを代表する設計で、エンコーディング及びデコーディングの目的で処理のためにデータ値を分類又はグループ化するために使用される、処理中のデジタルデータの特性又は特徴に割り当てる分類技術を特徴とするCHANコーディング、エンコーディング及びデコーディングの方法。
(14)エンコーディング及びデコーディングの目的で処理のためにデータ値を分類又はグループ化するための処理中のデジタルデータのデータ値の順序付け及び位置に関する特性又は特徴を使用する分類技術を特徴とするCHANコーディング、エンコーディング及びデコーディングの方法。
(15)エンコーディング及びデコーディングの目的でデジタルデータセットを処理するためにコード交換、コード再割り当て、及びコード再記入を含む技術のいずれか1つを使用することによって、固有データ値及び固有アドレスコードを分類スキームの1つのクラスから別のクラスへ再割り当てするコード再割り当てを使用する分類技術を特徴とするCHANコーディング、エンコーディング及びデコーディングの方法。
(16)エンコーディング及びデコーディングの目的で処理するためにコード昇格、コード降格、コード省略、及びコード復元を含む技術のいずれか1つを含むコード調整技術を特徴とするCHANコーディング、エンコーディング及びデコーディングの方法。
(17)エンコーディング及びデコーディングの目的で処理するために終了条件又は終了値を使用して処理ユニット又はスーパー処理ユニットのサイズを定義する技術を特徴とするCHANコーディング、エンコーディング及びデコーディングの方法。
(18)デジタルデータ値又はエンコーディングされたコード値のリーダーとしてコード単位定義を使用する技術を特徴とするCHANコーディング、エンコーディング及びデコーディングの方法。
(19)デジタルデータ値又はエンコーディングされたコード値のライターとしてコード単位定義を使用する技術を特徴とするCHANコーディング、エンコーディング及びデコーディングの方法。
(20)エンコーディング及びデコーディングの目的で処理するためにスーパー処理ユニットを使用して少なくとも1つのサブセクションがランダムではないデータのサブセクションにデジタルデータセットを細分化する技術を特徴とするCHANコーディング、エンコーディング及びデコーディングの方法。
(21)特定のクラスのスーパー処理ユニットに現れる値エントリの数等の分類条件を使用して、デジタルデータセットのスーパー処理ユニットを2つ以上のクラスにさらに分類することにより、エンコーディング及びデコーディングするためにこれらのクラスの各データ割り当てに適したマッピングテーブルを設計することにより、これらのスーパー処理ユニットの各データ値のデータ割り当てに適したそれぞれのマッピングテーブルを使用することによりこれらのスーパー処理ユニットの各データ値をエンコーディング及びデコーディングし、デコーディングするためにこれらのクラスのスーパー処理ユニットを区別するためにインジケータを使用し、そのようなインジケータはこれらのスーパー処理ユニットのそれぞれのヘッダー又は単独したCHANコードファイルのように他の場所に格納されることを特徴とする(20)に記載の方法。
(22)特定のクラスのスーパー処理ユニットに現れる値エントリの数等の分類条件を使用して、デジタルデータセットのスーパー処理ユニットを2つ以上のクラスにさらに分類することにより、且つエンコーディング及びデコーディングするためにこれらのクラスの各データ割り当てに適したマッピングテーブルを設計し、これらのスーパー処理ユニットの各データ値のデータ割り当てに適したそれぞれのマッピングテーブルを使用することによりこれらのスーパー処理ユニットの各データ値をエンコーディング及びデコーディングし、そしてスーパー処理ユニットのクラスのデータ割り当てに適した基準及びエンコーディング及びデコーディング用の対応するマッピングテーブルを設定することにより、インジケータの使用が省略できるように、人工知能によるスーパー処理ユニットのクラス間での区別を行うためのエンコーディングされたコードを評価するために用いられることを特徴とする(20)に記載の方法。
(23)特定のクラスのスーパー処理ユニットに現れる値エントリの数等の分類条件を使用して、デジタルデータセットのスーパー処理ユニットを2つのクラスにさらに分類することにより、且つこれらのクラスの各データ割り当てに適したマッピングテーブルを設計することによりエンコーディング及びデコーディングし、そのためこれらのマッピングテーブルのうちの少なくとも1つが機能することができ、従って、より不均一器として機能するように選択され、且つそのような不均一器がまたコード再割り当てを使用して調整し、前記コード再割り当てが少なくとも1つのクラスのスーパー処理ユニットのデータ値のデータ割り当てを利用することができ、それによりコード再割り当てによるコード調整後の不均一器マッピングテーブルが機能することができ、従って少なくとも1つのクラスのスーパー処理ユニットのコンプレッサのマッピングテーブルとして機能するように選択され、且つ1番目のサイクルに不均一器を使用して全てのスーパー処理ユニットをエンコーディングし、その後にコンプレッサを使用して少なくとも1つのクラスのスーパー処理ユニットをエンコーディングし、そのうち処理中の対応するスーパー処理ユニットのデータの圧縮が2番目のサイクルにおいて実行可能であり、即ち1番目のサイクルに不均一器を使用してエンコーディングし、且つ2番目のサイクルにコンプレッサを使用してエンコーディングし、それによりそれらの圧縮不可能なデータを含むスーパー処理ユニットが不均一器だけを使用してエンコーディングし、且つデコーディングする時に、これらのスーパー処理ユニット中の各データ値のデータ割り当てに適した対応するマッピングテーブルを使用してこれらのスーパー処理ユニット中の各データ値をデコーディングし、それにより1番目のデコーディングサイクルに、不均一器のエンコーディング及びコンプレッサのエンコーディングにより形成されたエンコーディングされたコードがデコーディングされ、コンプレッサのエンコーディング層のエンコーディングがデコーディングされる可能性があり、且つ2番目のデコーディングサイクルに、全てのスーパー処理ユニットの不均一器によってエンコーディングされたコードのみからなるエンコーディングされたコードが、不均一器のデコーダによってデコーディングされ、且つスーパー処理ユニット中の全てのクラスのデータ割り当てに適した基準とエンコーディング及びデコーディング用の対応するマッピングテーブルに適した基準を設定することにより、エンコーディングされたコードを評価し、インジケータの使用が省略できるように、人工知能を応用してスーパー処理ユニットの各クラス間での識別作業を行うことを特徴とする(20)に記載の方法。
(24)マッピングテーブルを構築し、前記マッピングテーブルの固有コードアドレスを使用し、デジタルデータ入力の固有データ値を1対1マッピング方式でマッピングし、不均一器エンコーダ及び不均一器デコーダの技術を確立し、そのため固有データ値によって使用されるビット数と、対応するマッピングされてペアリングされた、対応しマッピングされた固有テーブルコードアドレスによって使用されるビット数は同じであり、エンコーディング及びデコーディングのために前記マッピングテーブルを使用することを特徴とするCHANコーディング、エンコーディング及びデコーディングの方法。
(25)エンコーディング及びデコーディングの目的で処理するために不均一器エンコーダ及び不均一器デコーダを使用する技術を特徴とするCHANコーディング、エンコーディング及びデコーディングの方法。
(26)エンコーディング及びデコーディングの目的で処理するために不均一器エンコーダ及び不均一器デコーダを均一器エンコーダ及びデコーダ又はコンプレッサ又はデコンプレッサと共に使用する技術を特徴とするCHANコーディング、エンコーディング及びデコーディングの方法。
(27)データ割り当てを変更する場合に、処理中に使用される終了条件に従って、処理ユニット又はスーパー処理ユニットのサイズを動的に調整する技術を特徴とするCHANコーディング、エンコーディング及びデコーディングの方法。
(28)処理中のデータ値のデータ割り当てパターンに基づいてコード単位定義を動的に調整する技術を特徴とするCHANコーディング、エンコーディング及びデコーディングの方法。
(29)エンコーディング及びデコーディングの目的で処理するためにCHANコーディング技術を使用して任意のデジタルデータセットから作成された分類コード及び内容コードを特徴とするCHANコード。
(30)エンコーディング及びデコーディングの目的で処理するために、CHANコーディング技術を使用して任意のデジタルデータセットから作成された分類コード、内容コード及びエンコーディングされていないコード単位を特徴とするCHANコード。
(31)ヘッダー、分類コード及び内容コードが、エンコーディング及びデコーディングの目的で処理するためにCHANコーディング技術を使用して任意のデジタルデータセットから作成され、それにより前記ヘッダーがCHANコーディング技術の使用から生じるインジケータを含み、それによりエンコーディング及びデコーディングのために処理することを特徴とするCHANコード。
(32)ヘッダー、分類コード、内容コード及びエンコーディングされていないコード単位が、エンコーディング及びデコーディングの目的で処理するためにCHANコーディング技術を使用して任意のデジタルデータセットから作成され、それにより前記ヘッダーがCHANコーディング技術の使用から生じるインジケータを含み、それによりエンコーディング及びデコーディングのために処理し、このインジケータが、チェック及びインジケータ、CHANコードファイル署名、マッピングテーブルインジケータ、サイクル数インジケータ、コード単位定義インジケータ、処理ユニット定義インジケータ、スーパー処理ユニット定義インジケータ、最後識別コードインジケータ、シナリオ設計インジケータ、不均一器/均一器インジケータ、リサイクルインジケータ、頻度インジケータ、特殊コードインジケータ、セクションサイズインジケータ、デジタルデータブラックホールタイプインジケータ及び圧縮/非圧縮データインジケータのうちのいずれか1つを含むことを特徴とするCHANコード。
(33)処理するためのCHANコーディング技術が埋め込まれることを特徴とするCHANフレームワークで設計されたエンコーダ、デコーダ及びコーダ。
(34)処理するためのCHANコーディング及びヘッダーインジケータ技術が埋め込まれ、このインジケータが、チェック及びインジケータ、CHANコードファイル署名、マッピングテーブルインジケータ、サイクル数インジケータ、コード単位定義インジケータ、処理ユニット定義インジケータ、スーパー処理ユニット定義インジケータ、最後識別コードインジケータ、シナリオ設計インジケータ、不均一器/均一器インジケータ、リサイクルインジケータ、頻度インジケータ、特殊コードインジケータ、セクションサイズインジケータ、デジタルデータブラックホールタイプインジケータ及び圧縮/非圧縮データインジケータのうちのいずれか1つを含むことを特徴とするCHANフレームワークで設計されたエンコーダ、デコーダ及びコーダ。
(35)CHANコードを含むデジタル情報ファイルであるCHANコードファイル。
(36)ヘッダー及びその中に含まれるインジケータを含む、CHANコーディング技術による使用のための追加情報を含むデジタル情報ファイルを含み、このインジケータが、チェック及びインジケータ、CHANコードファイル署名、マッピングテーブルインジケータ、サイクル数インジケータ、コード単位定義インジケータ、処理ユニット定義インジケータ、スーパー処理ユニット定義インジケータ、最後識別コードインジケータ、シナリオ設計インジケータ、不均一器/均一器インジケータ、リサイクルインジケータ、頻度インジケータ、特殊コードインジケータ、セクションサイズインジケータ、デジタルデータブラックホールタイプインジケータ及び圧縮/非圧縮データインジケータのうちのいずれか1つを含むCHANコードファイル。
(37)数学的方法の使用技術により、データ値が対応するCHAN形状に対応する数式で記述されることが可能な順序に入れられ、デジタル情報のマージ及び分離に使用される関連する数学的計算論理及び技術を含み、この数学情報がエンコーディング及びデコーディングの目的で、ランダムであるか否かに関わらず、デジタル情報を処理する際の処理ユニットのコード単位の値を含むことを特徴とするCHANフレームワーク下で使用されるCHAN数学。
(38)エンコーディング及びデコーディングの目的で、基本コンポーネント、コード単位及び派生コンポーネント(例えばCHANコードのRPピースと他の派生コンポーネント)の間の特徴と関係、例えば、ランダムであるか否かに関わらず、デジタル情報を処理するための処理ユニットの基本コンポーネントの値の合計又は差を記述する方法を特徴とするCHANフレームワーク下で使用される式であるCHAN式。
(39)CHAN点、CHAN直線、CHAN三角形、CHAN矩形、及びCHAN台形、CHAN正方形及びCHANバーを含み、CHAN式で記述する処理ユニットの基本コンポーネントの特徴及び関係を表すCHAN形状。
(40)数学的処理のために定数値又は値を含む変数を相補定数又は相補変数として使用して、ある値又はある範囲内又は複数の範囲内の複数の値のミラー値がCHAN式で使用できるようにすることを特徴とする補数数学。
(41)CHANフレームワーク下で設計されたコーダに処理するために、補数数学と通常の数学、又はそれらのいずれかを単独で使用したCHAN数学。
(42)暗号化/復号、又は圧縮/解凍、又はその両方を目的としたCHANフレームワークの用途。
(43)暗号化/復号、又は圧縮/解凍、又はその両方を目的としたCHANコーディングの用途。
(44)暗号化/復号、又は圧縮/解凍、又はその両方を目的としたCHANコードの用途。
(45)暗号化/復号、又は圧縮/解凍、又はその両方を目的としたCHANコードファイルの用途。
(46)暗号化/復号、又は圧縮/解凍、又はその両方を目的としたCHAN数学の用途。
(47)暗号化/復号、又は圧縮/解凍、又はその両方を目的とした補数数学の用途。
(48)暗号化/復号、又は圧縮/解凍、又はその両方を目的としたCHAN形状の用途。
(49)CHANフレームワーク下で定義されるデータ順序の設計とスキーマを使用することを特徴とするエンコーディング及びデコーディングの目的で、デジタルデータセットに関する統計情報を収集するための、ランダムであるか否かに関わらず、デジタルデータセットを分析する方法。
(50)CHANフレームワーク言語を使用することを特徴とするランダムであるか否かに関わらず、デジタルデータセットを記述する方法。
(51)分類コードとして事後分類コード、内部分類コード、又は修正された内容コードを使用する技術を特徴とするCHANコーディング、エンコーディング及びデコーディングの方法。
(52)絶対アドレス分岐コーディング技術により、CHANフレームワーク下で定義されたコーダのコード値を使用して他のコード値を吸収又は表現し、即ちブラックホールコードに関連する絶対アドレス分岐コードを使用して吸収されたコード値を表すデジタルデータブラックホール技術を特徴とするCHANコーディング、エンコーディング及びデコーディングの方法。
(53)別のコード値を連続的なステップで代用又は表現するためにCHANフレームワーク下で定義されたコーダのコード値を使用する連続コード代用技術を特徴とするCHANコーディング、エンコーディング及びデコーディングの方法。
(54)絶対アドレス分岐コードの逆配置技術を特徴とするCHANコーディング、エンコーディング及びデコーディングの方法。
(55)ブラックホールコードとしてCHANフレームワーク下で定義されたコーダの処理中のデータセットに欠落するコード値を使用する技術を特徴とするCHANコーディング、エンコーディング及びデコーディングの方法。
(56)CHANフレームワーク下で定義されたコーダの処理中のデータセットに欠落するコード値を、処理中のデータセットに存在するような、より長いビット長の別のコード値で代用する技術を特徴とするCHANコーディング、エンコーディング及びデコーディングの方法。
(57)CHANフレームワーク下で定義されるコーダを使用して、エンコーディング及びデコーディングを行い、使用される技術がデジタルデータブラックホール、絶対アドレスコーディング、インジケータビット消費削減及び連続コード代用又は非連続コード代用の技術を含み、且つ処理されているデータセットにおける欠落するコード値を同じビット長又はより長いビット長で代用する別のコード値に置き換える技術を使用し、この他のコード値が適切な場合に処理されているデータセットに存在することを特徴とするCHANコーディング、固有コード値が欠落するか又は欠落していない場合に、ランダムデータであるか又は非ランダムデータであるかに関わらずデジタルデータを圧縮及び解凍するためのエンコーディング及びデコーディングの方法。
(58)処理されているデジタルデータセットから生成された頻度分布特徴に基づいて、インジケータビット消費を削減する技術を特徴とするCHANコーディング、エンコーディング及びデコーディングの方法。
(59)使用される設計に応じて、複数のビットサイズ又はビット長を有し、又は異なるビットサイズ又はビット長を有するコード単位、処理ユニット、及びスーパー処理ユニットの固有コード値を特徴とするCHANフレームワークで設計されたコーダ。
図表62 2進数システムコード表
デジタルレンズングの機能と方法を使用するための鍵は、デジタル構成に入れる選択されたコード値を選択する能力である。一例として、デジタルレンズングを使用するには、想像力を活用して、デジタル構造に入るためのデジタルビットのデジタル構造を設計する必要がある。図表62に示すように、選択できるコード値は4つだけである。そして、最初のデジタル構造に入れるように選択できる選択肢は、3つだけであり、つまり、1つのコード値、2つのコード値、又は3つのコード値を選択し、また、4つのコード値の全てが最初のデジタル構造に入れられるように選択された場合、最初のデジタル構造からは何も出力できず、その場合、コード値の操作が行えないようである。また、最初のデジタル構造に入れるコード値が1つ選択される場合、残りの3つの値は最初のデジタル構造から出力されて、2番目のデジタル構造に現れる。最初のデジタル構造に入れるコード値が2つ選択される場合、2つのコード値は最初のデジタル構造から出力されて、2番目のデジタル構造に現れる。最後に、最初のデジタル構造に入れるコード値が3つ選択される場合、1つだけのコード値は最初のデジタル構造から出力されて、2番目のデジタル構造に現れる。
図表63
1つのデジタルリザーバーと1つのデジタルダムで構成される処理ユニットとなるデジタル構成1
図表64
図表63と同じ構造であるが、異なるサブデジタル構成において異なるデジタルビットパターンを有する異なるデジタル構成である、処理ユニットとなるデジタル構成2
図表65
デジタルリザーバーに保持される3つのデジタルコード値と、可変幅の固定デジタルダムを形成する残りの1つのデジタルコード値を有する異なるデジタル構造を有する、処理ユニットとなるデジタル構成3
図表66a
デジタルリザーバーに保持される2つのデジタルコード値と、いずれかがデジタルダムを形成するための2つのデジタルコード値とを有する異なるデジタル構造を有する、処理ユニットとなるデジタル構成4
デジタルリザーバー(DR)に保持される2つのデジタルコード値と、いずれかがデジタルダム(DD)を形成する2つのデジタルコード値とを有する異なるデジタル構造を有する、処理ユニットとなるデジタル構成4
なお、上記では、可変デジタル構造であるデジタルリザーバーは、[かかるデジタルリザーバーに入るように設計に従って選択されたデジタルコード値を有するコードがある限り]存在するか又は存在しない構造であり、存在する場合は、処理中のデジタルデータセットのデータ分布に応じて、このように選択されたデジタルコード値のうちの1つ以上のコードが存在する可能性があり、図表66bに示すように、前記処理は、設計におけるデジタル構成を使用してデジタルデータをサンプリング又はリーディングし、また、図表66bには、デジタルダムがその前のデジタルリザーバーから出てくるデジタルコード値の残りのコードから形成されることが示されており、このため、その前のデジタルリザーバーから出てくるそのような残りのデジタルコード値がある限り、1つ以上のデジタルダムがあり、その意味では、デジタルダムは固定デジタル構造であるが、図表65に示すように可変幅であってもよい。
図表67
CHANフレームワークコードシステムの3値コード表
図表68a
無制限のコード値のためのCHANフレームワークコードシステムの0テールコード表
無制限のコード値のためのCHANフレームワークコードシステムの1テールコード表
図表69a
図表66に示すように、デジタル構成設計を使用してデジタルレンズ化された一連のデジタルビット
図表69b
図表63に示すデジタル構成設計を使用してデジタルレンズ化された一連のデジタルビット
図表70a
1つのデジタルリザーバーと1つのデジタルダムを含む図表63のデジタル構成1にデジタルブラックホーリングを適用した結果
図表70b
デジタルブラックホーリングを使用して、図表63に示すデジタル構成設計を使用してデジタルレンズ化された一連のデジタルビットをエンコーディングする。
図表71
DC1の元のデジタルコード値をエンコーディングするための修正済みのコード表
図表72
DCIは、DC1のDRに保持するために選択されたコード値10を有するデジタルコードの数のカウント(図表68aのテール0無制限コードシステムを使用)であり、コード値10は、1[0]としてエンコーディングされ、ここで、[]におけるビット0が省略される。
EDRには、コード値00/01/10を有する元のデジタルコードがDC1のデジタルリザーバーに保持されるために、エンコーディングされたコード(つまり、00/01/1[0])が一連のデジタル情報で使用可能な限り多く含まれる。
EDDには、1つのエンコーディングコードのみが含まれており、ここで、1は、元のデジタルコード値11のコードに対するDC1のデジタルダムを表す。
図表73a
図表70の一連のデジタルビットを使用したデジタル構成
図表73aにおける同じ一連のデジタルビットのエンコーディングされたデジタル構成
10110101101000101
明らかなように、エンコーディングされた一連のデジタルビットは17ビットであり、元の一連のデジタルビットより1ビット多い。これは、最後のDCIとEDRが、後続のコード11なしで、完全なDC1を形成できないためである。後続のDDがある場合、完全なDC1を形成できる。そのため、エンコーディングされたコードのビット使用量は、元の一連のデジタルビットと同じになる。
図表74
DCIのDRに保持するために選択された選択コード値10を有するデジタルコードの数をカウントするデジタルカウント情報(DCI)
図表75a
ブラックホーリングの技術と、CHANフレームワークの下で設計されたテール0無制限コードシステムを使用した無制限カウントの技術を使用して、図表71のDC1をエンコーディングされたDC1にエンコーディングし、ここで、DC1のDRにコード値10を有するコードがない。
DCI
ブラックホーリングの技術と、CHANフレームワークの下で設計されたテール0無制限コードシステムを使用した無制限カウントの技術を使用して、図表71のDC1をエンコーディングされたDC1にエンコーディングし、ここで、DC1のDRにコード値10を有するコードが存在する。
DCI
図表75bのDRにコード値10を有するコードを有するDC1の場合、図表71の修正コード表を用いて、DC1におけるDRとDDのコード値に対してエンコーディングとデコーディングを行う。従って、エンコーディングされたDC1のデジタル構造には、3つの部分があり、すなわち、コード値10を有するコードのデジタルカウント情報、図表71の修正コード表を使用したDR(EDR)及びDD(EDD)のエンコーディングされたコードである。DRのコード値が00/01のエンコーディングされたコードは、コード値が元のコードと同じである。また、処理中の元の一連のデジタルビットにリストされているように、自然な順序で配列される。DC1のDDにコード値11を有するコードが1にエンコーディングされると、DC1のDRの停止コードを表す。そのため、コード値10を有するコードの数に関するデジタルカウント情報から、EDRが停止する箇所を把握でき、つまり、EDRはDDを表す次のビット1の直前で停止し、また、コード値10は1で表されるため、デジタルカウント情報に登録されているEDRで検出されたビット1とEDDを表す別のビット1の数をカウントすることにより、デコーディングプロセス中にEDCI全体を判別して解読できる。
DRにコード値00/01を有するコードは、暗号化の形式として自然順序と逆の順序で配置することもできる。又は、コード値00/01のコードは、図表75cに示すように、ヘッドビットとテールビットの2つの部分に分割でき、ここで、0ヘッドコードのヘッドビットは、EDRに保持され、対応するテールビットは、ビットマップとして、次のようにEDDの後にリストされる。
図表75c
ブラックホーリングの技術と、CHANフレームワークの下で設計されたテール0無制限コードシステムを使用した無制限カウントの技術を使用して、図表71のDC1をエンコーディングされたDC1にエンコーディングし、ここで、DC1のDRにはコード値10を有するコードが存在し、0ヘッドコード値は分割コードである。
DCI
;ここで、{0/1...0/1}は、EDRで検出されたか又は検出されなかったコード値00/01を有するコードの一連のテールビットを表し、EDCのビットマップ部分における{0/1...0/1}のビット数は、EDRにおいて同じ位置配置を有する{0...0}におけるビット数に対応する。
従って、図表75b及び75cのエンコーディングとデコーディングの技術は、図表75aで使用されている技術とは異なる。図表75aで形成されたエンコーディングされたデジタル構成には、コード値10(なし)を有するコードのデジタルカウント情報と、コード値00/01及びビットマップつまりビット0/ビット1を有するコードのデジタルカウント情報とのみがあり、対応するコードのテールビットには、0ヘッドコード値つまり00/01を有する。
図表76
デジタル構成のコード値のマッピングシナリオ
図表63におけるデジタル構成設計のシナリオ1
図表63におけるデジタル構成設計のシナリオ2
図表63におけるデジタル構成設計のシナリオ3
図表64におけるデジタル構成設計のシナリオ1
図表64におけるデジタル構成設計のシナリオ2
図表64におけるデジタル構成設計のシナリオ3
図表77a
ブラックホーリングの技術と、CHANフレームワークを使用して設計されたテール0無制限コードシステムを使用した無制限カウントの技術を使用して、図表71のDC1の2つの隣接するユニットをエンコーディングされたDCの1つのユニットにエンコーディングし、ここで、DC1の2つの隣接するユニットDR1及びDR2には、コード値10を有するコードがない。
DCI
図表77b
ブラックホーリングの技術と、CHANフレームワークの下で設計されたテール0無制限コードシステムを使用した無制限カウントの技術を使用して、図表71のDClの2つの隣接するユニットをエンコーディングされたDClの1つのユニットにエンコーディングし、ここで、DC1の2つの隣接するユニットDR1及びDR2のいずれか又は両方にコード値10のコードが1つ以上ある。
DCI
;ここまで、CNC=01の部分のコーディングのビット使用量も、DClの元の2つのユニットのビット使用量と同じである。
;ここまで、CNC=10の部分のコーディングのビット使用量は、一部のビットを節約し、つまり、CDC=(0,2)のエンコーディングされたデジタル構成の3分の1は、DC1の元の2つのユニットのビット使用量よりも1ビット少ない。
;ここまで、CNC=110の部分のコーディングのビット使用量も、DC1の元の2つのユニットのビット使用量と同じである。
a.CHANフレームワークの下での無制限コードシステムをカウント番号コードとして使用する。
b.例えば段落[0167]で使用されるピラミッドヘッドテール0無制限コードシステムなど、さまざまな形式の無制限コードシステムを適切に使用する。
DCI
0
10
110
など
c.次の段落[0168]及び[0173]のようにフラットヘッドの無制限コードシステム[以下に示すように、フラットヘッド無制限コードシステムは、上位レベルの2進数コードシステムと下位レベルのピラミッドヘッド無制限コードシステムを組み合わせることを特徴とする]を使用し、以下のとおりである。
DCI
00
01
10
110
1110
など
又は
DCI
11
10
01
001
0001
など
d.複数のカウントシステムのマージを表すコード値00/01を有するコードのカウントに対するニーズを満たすために、段落[0168]及び[0173]でフラットヘッド無制限コードシステムを使用する。
図表78
図表77のコーディングのビット節約とビット無駄のバランス
図表79
図表78のコーディング例を使用してカウントするために別の無制限コードシステム用のアドレスを作成する
図表80a
元のCNC=1110のレベルから並列無制限カウントシステムを作成し、2つの無制限コードシステムを使用して無制限の数の同じシリーズをカウントする。
;上記のように、元のCNC及びCDCを修正してCNC1とCNC2及びCDC1とCDC2にするか、新しく作成した無制限コードシステムを元のCNC=11110のレベルで使用できる。
図表80b
元のCNC=11110のレベルから2つの無制限コードシステムを用いて同じシリーズの無制限の数をカウントする並列無制限カウントシステム
;上記のように、元のCNC及びCDCを修正してCNC1とCNC2及びCDC1とCDC2にすることができる。
ただし、このレベルでは、1ビットのビット節約を有する2つの組み合わせがあるが、これにより、元のCNC=1110の上位レベルで1ビットのビット無駄を有する2つの組み合わせになる。従って、コード格下げによりこの望ましくない不備を修正することができる。また、図表80cのように、図表80bは、次のように修正できる。
図表80c
コード格下げを使用して元のCNC=11110のレベルから2つの無制限コードシステムを使用して無制限の数の同じシリーズをカウントする並列無制限カウントシステム
上記の図表80cに示す修正は、CNC=1110の元のレベルでは、ビット無駄がなく、CNC2+CDC2=100110 0の新しいレベルでは、1ビットのビット節約がまだあることを示している。必要又は適切な場合は、ここで別の新しいアドレスを作成することができ、同様に、さらに低いレベル、例えばDR1+DR2にコード値10のコードが8つあるレベル及び以下のレベルでカウントのタスクを支援するために、3番目の無制限コードシステムを参加させることができる。DR1+DR2にコード値10を有するコードが7つあるレベルでは、8つの組み合わせのみがあり、相殺結果は、全てブレイクイーブンである。同様に、これとともに、必要又は適切なレベルでのコード格下げ技術が使用され得る。又は、元のCNC=110のレベルで図表80dに示すように並列無制限コードシステムをできるだけ早く作成できる。そして、2番目の無制限コードシステムの設定に使用される新しいアドレスは、CNC=01の箇所を占めることができ、2番目の無制限コードシステムの最初の要素として010を使用し、CNC1=110レベルで使用する。
図表80d
元のCNC=10のレベルから2つの無制限コードシステムを使用して無制限の数の同じシリーズをカウントする並列無制限カウントシステム
図表81a
並列無制限コードシステムは、コード値10のコードを最初のレベルでカウントすることに用いられ、ここで、コード値10のコードのカウント数は、1に等しい。
;又は、並列無制限コードシステムを連続の無制限コードシステムにして、同じシリーズの無制限の数をカウントすることに用いることもできる。
図表81b
連続の無制限コードシステムは、コード値10のコードを最初のレベルでカウントすることに使用され、コード値10のコードのカウント数は、1に等しい。
DCI
図表82
コード格上げのための新しいアドレスを作成する
図表83a
ピラミッドヘッド無制限コードシステム(テール0)を使用してDR1+DR2内の0ヘッドコードの数をカウントする
フラットヘッド無制限コードシステム(テール0)を使用して、DR1+DR2内の0ヘッドコードの数をカウントする
図表84
図表77bから抽出したコーディングを使用して、コード値00/01のコードの数をカウントする
DCI
DR1+DR2にコード値10のコードが1つあるレベルの上記コーティングにおいて、010及び011のそれぞれなど、各カウント分布の組み合わせに対して{00/01...00/01}の3つのセクションがある。例えば、{00/01...00/01}の2つのセクションごとに、コード値00/01のコード(0~処理中のデジタルデータセットにできる限りある数)の数がカウントされ、表示用にCNCを0ヘッドコード用に使用し、そして、最初のセクションにあるコードの数と{00/01...00/01}のセクションにあるコードの数を区別するために、0ヘッドコードを示すようにCDCを後で追加する必要がある。このようにして、{00/01...00/01}のこれら2つのセクションと最初のストップコードの間にあるビット1、DDIを表す別のビット1は、0ヘッドコードのペアセクションCNCと0ヘッドコードのペアセクションCDCを使用して決定できるため、省略できる。3番目のセクション{00/01...00/01}があるため、コード値00/01のコードの数(0~処理中のデジタルデータセットにできる限りある数)も0ヘッドコードの別のシングルセクションCNCを使用してカウントされる。このようなシングルでペアになっていないセクション{00/01...00/01}では、そのCDCは必要ではない。DD2を表す最後のビット1も、シングルセクションCNCを使用して決定でき、そしてコーディングにおいて省略できる。また、{00/01...00/01}の各セクション内のコードのテールビットは、0ヘッドコードのテールビットマップコードとしてリストされ、各カウントされた0ヘッドコードのそれぞれに対応し、且つこのような0ヘッドコードを00/01として識別するためにペアセクションCNC及びシングルセクションCNCに存在する。従って、図表84で設計されたデジタル構成の2つの隣接するユニットをエンコーディングして生成したエンコーディングされたデジタル構成は、一連のビットになり、コード10のためにCNC、コード10のためにCDC、0ヘッドコードのためにペアセクションCNC、0ヘッドコードのためにペアセクションCDC、0ヘッドコードのためにシングルセクションCNC、及び0ヘッドコードのためにテールビットマップコードに記録されるとおりである。
ペアセクションCNCとシングルセクションCNCは、それぞれ無制限コードシステムを使用して、ペアセクションとシングルセクション{00/01...00/01}内のコード値00/01のコードの対応する数をカウントする。
コード10のためのCNC=10では、DR1+DR2には、コード値10を有する2つのコードがあるため、{00/01...00/01}の4つのセクションがある。そのため、0ヘッドコード用の2つのペアセクションCNC及びCDCと、0ヘッドコード用のテールビットマップコードが使用される。
コード10のためのCNC=110では、DR1+DR2には、コード値10を有するコードが3つあるため、{00/01...00/01}の5つのセクションがある。そのため、0ヘッドコード用の2つのペアセクションCNC及びCDCに加えて、0ヘッドコード用の1つのシングルセクションCNCとテールビットマップコードが使用される。DR1+DR2にコード値10のコードがより多いレベルでは、上記のコーディングにおいてコーディングをモデリングすることができる。
前記したように、前の段落でコード10の数と0ヘッドコードの数のカウントに関する、コード格上げ、コード格下げ、新しいアドレスの作成、新しい並列及び/又は連続無制限コードシステムの設定などを含む他の同じ技術は、ここで、コード10のコードを有するレベルの0ヘッドコードの数をカウントするために適用できる。
図表85
処理中のデジタルデータセットの頻度分布に応じてDCIコードを割り当てる
DCI
図表86
読み取られたデジタルデータの頻度統計を生成するためにデジタルレンズングを使用したGoogle言語goファイルのプログラムコードリスト
図表87
デジタルレンズを使用して生成されたランダムデジタルデータの頻度統計
ファイル1
マッピング1
結果1A
(1)デジタルレンズングは、ビット0及びビット1の2進数ビットで構成されるデジタル2進数データを整理し、処理中の2進数データファイルからランダム又は非ランダムに関わらず頻度統計を読み取り、生成するためのデジタル構成の設計に使用できる。
(2)読み取られた元のデジタルデータをエンコーディングした結果を保持するために、デジタルレンズングを使用してエンコーディングされたデジタル構成を設計及び作成でき、そして、そのようなエンコーディングされたデジタル構造のデコーディングは、デジタルデータがランダムであるか非ランダムであるかに関わらず、元のデジタルデータを正しくロスレスで復元できる。
(3)デジタルブラックホーリング技術、カウント技術、新しいアドレスの絶対アドレス分岐技術、コード格上げ技術、コード格下げ技術などの他の技術、及びデジタルレンズングを使用して、デジタルレンズングで処理することにより、エンコーディングされたデジタル構成を作成することができ、このエンコーディングされたデジタル構成は、それにより形成された対応するデジタル構成から読み取られたデジタル2進数データ(ランダムであるか否かに関わらず)を収納することに用いられ、使用されるビット使用量は、読み取られた元のデータと同じである。
(4)エンコーディングされたデジタル構成に含まれるデジタル情報には、処理中のデジタル2進数データファイル内で見つかった元のデジタル情報と、上記(3)で述べた他の技術を使用して生成された追加情報が含まれ、エンコーディングされたデジタル構成が処理中の元のデジタルデータからデジタルレンズングを使用して作成されたデジタル構成と同じビット使用量を使用するため、情報理論における鳩ノ巣原理が単なる神話に過ぎないことを示している。また、アドレスの不足がないため、コード格上げで使用するために絶対アドレス分岐技術を使用して新しいアドレスを作成したり、カウントするために新しい無制限コードシステムを作成したりすることができる。
(5)異なるデジタル構成設計の使用、カウント数コード及びカウント分布コードの調整可能な割り当てなどの調整可能なデジタルカウント情報、コード格下げの使用、コード格上げのため又はカウント用の新しい無制限コードシステムを設定するための新しいアドレスの使用など、本発明で開示されたコーディングスキーマは、調整可能であり、それは、デジタルデータがランダムであるか非ランダムであるかに関わらず、より少量のビット使用量でデジタルデータを正しくロスレスでエンコーディング及びデコーディングすることを可能にし、これは、エンコーディングとデコーディングのためにランダムデータを非ランダムデータの小さなセクションに分割でき、異なるデジタルレンズの下で設計された異なるデジタル構成を使用して整理すると、ランダムデータ自体が異なる頻度統計を示し、それによって、処理中のランダムデジタルデータから得られた頻度パターンを活用して適切なコーディングスキーマを開発し、ロスレス圧縮及び解凍のためのエンコーディング及びデコーディングの目的を果たすことができる。
図表88a
4つのコード値の2進数システムコード表を使用したデジタル構成
図表88b
4つのコード値のCHANコード表を使用したデジタル構成
3値コード表を使用した状況の一例は、以下に示される。
図表88c
3つのコード値のCHANコード表を使用したデジタル構成
コード値の使用を4又は3に制限するのではなく、段落[0152]の図表68に示されている、無制限コード値を表すための無制限コードシステムの使用を試みることもできる。
(1)2進数ビットで表されるデジタル情報を整理又は順序付ける方法であって、
デジタルレンズングを使用することを特徴とする。
(2)2進数ビットで表されるデジタル情報を整理又は順序付けるデジタルレンズングであって、
デジタル構成を設計及び作成し、2進数ビットの異なるコード値のコードが、少なくとも1つのデジタルリザーバーと1つのデジタルダムを含むデジタル構成の異なる部分に配置されることを特徴とする。
(3)デジタル構成であって、
デジタルレンズングを使用して作成され、2進数ビットで表されるデジタル情報を整理又は順序付けることに用いられ、少なくとも1つのデジタルリザーバーと1つのデジタルダムで構成され、且つ、処理中のデジタル情報における元の2進数ビットが保存され、エンコーディングされていないデジタル構成の形式として現れることを特徴とする。
(4)デジタル構成であって、
デジタルレンズングを使用して作成され、2進数ビットで表されるデジタル情報を整理又は順序付けることに用いられ、且つ、処理中のデジタル情報におけるエンコーディングされた2進数ビットコードが保存され、エンコーディングされた形式で現れ、さらに、適切な場合、2進数ビットコードを代表とする追加のデジタル情報は、エンコーディングされたデジタル構成全体をデコーディングして、それぞれ対応するエンコーディングされていないデジタル構成に復元することに用いられることを特徴とする。
(5)デジタルリザーバーであって、
使用されるデジタルレンズング設計に応じて選択された1つ以上のコード値を有する2進数ビットで表されるデジタルコードを保持するためのデジタル構造であり、
さらに、処理中のデジタル情報入力が2進数ビットで示されているそのようなデジタルコードを有する限り、保持するデジタルコードの数がゼロから無制限の数まで変化する可変デジタル構造であり、前記デジタルコードは、そのために設計された、選択されたコード値を有することを特徴とする。
(6)デジタルダムであって、
使用されるデジタルレンズング設計に応じて選択された1つ以上のコード値を有する2進数ビットで表されるデジタルコードを保持するためのデジタル構造であり、
さらに、処理中のデジタル情報入力が2進数コードで示されているそのようなデジタルコードを有する限り、保持するデジタルコードの数がゼロから無制限の数まで変化する固定デジタル構造であり、前記デジタルコードは、そのために設計された、選択されたコード値を有することを特徴とする。
(7)デジタルレンズングを使用して設計された処理ユニットであって、
1つ以上のデジタル構成で構成されることを特徴とする。
(8)デジタルコードであって、
2進数ビットを代表とし、且つ、
コンピュータシステム、コンピュータで制御されるデバイス、又は実行可能なコードを実行したりデジタルデータを使用したりできるオペレーティングシステムで制御されるデバイス又はシステムを含むデバイスで読み取り可能な任意の記憶媒体に格納されているデジタル構成の1つ以上のユニットを表すことを特徴とする。
(9)デジタルコードであって、
2進数ビットを代表とし、且つ、
コンピュータシステム、コンピュータで制御されるデバイス、又は実行可能なコードを実行したりデジタルデータを使用したりできるオペレーティングシステムで制御されるデバイス又はシステムを含むデバイスで読み取り可能な任意の記憶媒体に格納されているデジタルリザーバーの1つ以上のユニットを表すことを特徴とする。
(10)デジタルコードであって、
2進数コードを代表とし、且つ、
コンピュータシステム、コンピュータで制御されるデバイス、又は実行可能なコードを実行したりデジタルデータを使用したりできるオペレーティングシステムで制御されるデバイス又はシステムを含むデバイスで読み取り可能な任意の記憶媒体に格納されているデジタルダムの1つ以上のユニットを表すことを特徴とする。
(11)ピラミッドヘッド無制限コードシステムであって、
数に制限がないデジタルコードであり、各コードは、2進数ビットのビット0で終了することを特徴とする。
(12)ピラミッドヘッド無制限コードシステムであって、
数に制限がないデジタルコードであり、各コードは、2進数ビットのビット1で終了することを特徴とする。
(13)フラットヘッド無制限コードシステムであって、
コードシステムの上位レベルの2進数コードシステムとコードシステムの下位レベルのピラミッドヘッド無制限コードシステムを組み合わせる複合システムであることを特徴とする。
(14)カウント技術であって、
ピラミッドヘッド無制限コードシステムを使用して一連の無制限の数をカウントすることを特徴とする。
(15)カウント技術であって、
フラットヘッド無制限コードシステムを使用して一連の無制限の数をカウントすることを特徴とする。
(16)カウント技術であって、
並列カウントシステムの形式で形成された複数のカウントシステムであるマルチカウントシステムを使用して、一連の無制限の数をカウントすることを特徴とする。
(17)カウント技術であって、
連続カウントシステムの形式で形成される複数のカウントシステムであるマルチカウントシステムを使用して一連の無制限の数をカウントすることを特徴とする。
(18)カウント技術であって、
並列カウントシステム及び連続カウントシステムの形式で形成される複数のカウントシステムである複数のカウントシステムを使用して、一連の無制限の数をカウントすることを特徴とする。
(19)エンコーディング及びデコーディング方法であって、
デジタルレンズング及びデジタルブラックホーリング技術を使用することを特徴とする。
(20)エンコーディング及びデコーディング方法であって、
デジタルレンズング及び1つ以上の無制限カウントシステムを使用することを特徴とする。
(21)エンコーディング及びデコーディング方法であって、
デジタルレンズング、及び使用に供する新しいアドレスを作成するための絶対アドレス分岐を使用し、絶対アドレス分岐には、新しいカウントシステムの作成又はコード格上げ又はコード格下げの使用が含まれることを特徴とする。
(22)エンコーディング及びデコーディング方法であって、
デジタルレンズング及びコード格上げを使用することを特徴とする。
(23)エンコーディング及びデコーディング方法であって、
デジタルレンズング及びコード格下げを使用することを特徴とする。
(24)エンコーディング及びデコーディング方法であって、
デジタルレンズング、デジタルブラックホーリング技術、及び1つ以上の無制限カウントシステムを使用することを特徴とする。
(25)エンコーディング及びデコーディング方法であって、
デジタルレンズング、コード格上げ、コード格下げを使用することを特徴とする。
(26)エンコーディング及びデコーディング方法であって、
デジタルレンズングを使用することを特徴とする。
シーケンステーブルのテキスト
Claims (15)
- 記憶媒体に格納された2進数ビットで表されるデジタル情報を整理又は順序付ける方法であって、
以下ではデジタル構成物とも称される、前記デジタル情報を格納するためのデジタル構造を設計及び作成する段階であり、前記2進数ビットの異なるコード値のコードを、以下ではデジタルリザーバーとも称される第1のサブデジタル構造物、および、以下ではデジタルダムとも称される第2のサブデジタル構造物を少なくとも含む前記デジタル構成物の異なる部分に配置することによって、前記デジタル構造を設計及び作成する段階を備え、
前記デジタルリザーバーは、使用されるデジタルレンズング設計に従う、選択された1つ以上のコード値を有する、2進数ビットで表されるデジタルコードを保持するためのデジタル構造であり、処理中の前記デジタル情報の入力が2進数ビットで表されるそのようなデジタルコードを有する限り、内部において、保持するデジタルコードの数がゼロから任意の数まで変化する可変デジタル構造であり、前記デジタルコードは、そのために設計された、選択されたコード値を有し、
前記デジタルダムは、使用されるデジタルレンズング設計に従う、選択された1つ以上のコード値を有する、2進数ビットで表されるデジタルコードを保持するためのデジタル構造であり、処理中の前記デジタル情報の入力が2進数コードで表されるそのようなデジタルコードを有する限り、内部において、保持するデジタルコードの数がゼロから任意の数まで変化する固定デジタル構造であり、前記デジタルコードは、そのために設計された、選択されたコード値を有する、
方法。 - 前記デジタル構成物は、
少なくとも前記デジタルリザーバーと前記デジタルダムで構成されるデジタル構造であり、且つ、
2進数ビットで表される前記デジタル情報の入力を、処理中の前記デジタル情報の入力の元の2進数ビットを有する、エンコーディングされていないデジタル構成物の形で保持するデジタル構造である、
請求項1に記載の方法。 - 前記デジタル構成物は、
2進数ビットのエンコーディングされたコードを、処理中の前記デジタル情報の入力を表すエンコーディングされたデジタル構成物の形で保持し、且つ、2進数ビットで表される追加のデジタル情報を保持するデジタル構造であり、前記追加のデジタル情報は、必要な場合には、前記エンコーディングされたデジタル構成物の全体をデコーディングして、それぞれ対応する1つまたは複数のエンコーディングされていないデジタル構成物に復元することに用いられる、
請求項1に記載の方法。 - 前記デジタルコードは、
2進数ビットで表わされるコードであり、
実行可能なコードを実行する又はデジタルデータを使用することができる、1つまたは複数のコンピュータシステム、コンピュータで制御される1つまたは複数のデバイス、又は、オペレーティングシステムで制御される1つまたは複数のデバイス若しくはシステム、を含む1つまたは複数のデバイスで読み取り可能な任意の記憶媒体に格納されている前記デジタル構成物の1つ以上のユニットを表わす、
請求項1に記載の方法。 - 前記デジタルコードは、
2進数ビットで表わされるコードであり、
実行可能なコードを実行する又はデジタルデータを使用することができる、1つまたは複数のコンピュータシステム、コンピュータで制御される1つまたは複数のデバイス、又は、オペレーティングシステムで制御される1つまたは複数のデバイス若しくはシステム、を含むデバイスで読み取り可能な任意の記憶媒体に格納されている前記デジタルリザーバーの1つ以上のユニットを表わす、
請求項1に記載の方法。 - 前記デジタルコードは、
2進数ビットで表わされるコードであり、
実行可能なコードを実行する又はデジタルデータを使用することができる、1つまたは複数のコンピュータシステム、コンピュータで制御される1つまたは複数のデバイス、又は、オペレーティングシステムで制御される1つまたは複数のデバイス若しくはシステム、を含むデバイスで読み取り可能な任意の記憶媒体に格納されている前記デジタルダムの1つ以上のユニットを表わす、
請求項1に記載の方法。 - 各々が2進数ビットのビット0で終了する、多数のデジタルコードを有することが可能な、第1のコードシステムを使用する段階、または、
各々が2進数ビットのビット1で終了する、多数のデジタルコードを有することが可能な、第1のコードシステムを使用する段階、
を更に備える、請求項1から6の何れか一項に記載の方法。 - 第2のコードシステムの1つまたは複数の上位レベルの2進数コードシステムと前記第2のコードシステムの1つまたは複数の下位レベルの第1のコードシステムとを組み合わせる段階を含む、前記第2のコードシステムを使用する段階を更に備える、
請求項1から7の何れか一項に記載の方法。 - 前記第1のコードシステムを使用して一連の数をカウントする段階、
前記第2のコードシステムを使用して一連の数をカウントする段階、
1つの一連の数をカウントするために複数のカウントシステムを並行して使用する段階、
1つの一連の数をカウントするために複数のカウントシステムを順に使用する段階、または、
1つの一連の数をカウントするために複数のカウントシステムを並行して且つ順に使用する段階、
を含む、カウント技術を使用する段階を更に備える、
請求項8に記載の方法。 - エンコーディング及びデコーディングする方法であって、
請求項1に記載の方法を使用する段階を備え、且つ、
識別されたデジタルパターンの1つまたは複数の2進数ビットを吸収するデジタルブラックホーリング処理、
1つ以上のカウントシステム、
新しいカウントシステムを作成するための使用、又はコード格上げ処理のための使用、又はコード格下げ処理のための使用、を含む、使用に供する1つまたは複数の新しいアドレスを作成するための絶対アドレス分岐処理、
前記コード格上げ処理、
前記コード格下げ処理、
前記デジタルブラックホーリング処理及び前記1つ以上のカウントシステム、並びに、
前記コード格上げ処理及び前記コード格下げ処理、
の何れかを、単独で又は組み合わせて使用する段階を追加的に備え、
前記絶対アドレス分岐処理は、アドレスを分岐して、1つ以上の余分なビットを使用することにより2個以上の値を識別する処理であり、
前記コード格上げ処理は、コード値を、その元の位置におけるビット長よりも短いビット長だけ、一の位置から別の位置に移動することによって、コードを調整する処理であり、
前記コード格下げ処理は、コード値を、その元の位置におけるビット長よりも長いビット長だけ、一の位置から別の位置に移動することによって、コードを調整する処理である、
方法。 - 請求項1に記載の方法を実行するための処理ユニットであって、前記デジタル構成物を1つ以上備える、処理ユニット。
- コンピュータによって実行された場合に、前記コンピュータに、請求項1から10の何れか一項に記載の方法を実行させる命令を含む、コンピュータ実行可能プログラム。
- 請求項12に記載のコンピュータ実行可能プログラムを格納した、コンピュータ可読記憶媒体。
- 請求項1から10の何れか一項に記載の方法を実行するための手段を備えるデバイス。
- ローカルクラウド、インターネットクラウド、ローカルエリアネットワーク、または、インターネット上に接続される、請求項14に記載のデバイス。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/IB2016/054562 WO2018020299A1 (en) | 2016-07-29 | 2016-07-29 | Lossless compression and decompression methods |
IBPCT/IB2017/054500 | 2017-07-25 | ||
PCT/IB2017/054500 WO2018020414A1 (en) | 2016-07-29 | 2017-07-25 | Chan framework, chan coding and chan code |
PCT/IB2018/055479 WO2019021160A1 (en) | 2016-07-29 | 2018-07-24 | DIGITAL LENS |
JP2020501826A JP2020530674A (ja) | 2016-07-29 | 2018-07-24 | デジタルレンズング |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020501826A Division JP2020530674A (ja) | 2016-07-29 | 2018-07-24 | デジタルレンズング |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022160484A true JP2022160484A (ja) | 2022-10-19 |
Family
ID=61017037
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019526383A Active JP7268271B2 (ja) | 2016-07-29 | 2017-07-25 | Chanフレームワーク、chanコーディング及びchanコード |
JP2020501826A Pending JP2020530674A (ja) | 2016-07-29 | 2018-07-24 | デジタルレンズング |
JP2022115555A Pending JP2022160484A (ja) | 2016-07-29 | 2022-07-20 | デジタルレンズング |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019526383A Active JP7268271B2 (ja) | 2016-07-29 | 2017-07-25 | Chanフレームワーク、chanコーディング及びchanコード |
JP2020501826A Pending JP2020530674A (ja) | 2016-07-29 | 2018-07-24 | デジタルレンズング |
Country Status (8)
Country | Link |
---|---|
US (3) | US11515888B2 (ja) |
EP (2) | EP3491525A4 (ja) |
JP (3) | JP7268271B2 (ja) |
KR (2) | KR20190038601A (ja) |
CN (2) | CN109416655A (ja) |
AU (3) | AU2017304894A1 (ja) |
CA (2) | CA3031600C (ja) |
WO (6) | WO2018020299A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3479485B1 (en) * | 2016-07-04 | 2022-03-16 | SISP Technologies Ltd | Data processing method and apparatus |
WO2018020299A1 (en) * | 2016-07-29 | 2018-02-01 | Chan Kam Fu | Lossless compression and decompression methods |
EP3941435A1 (fr) | 2019-03-21 | 2022-01-26 | BASF Beauty Care Solutions France SAS | Nouvelle utilisation non thérapeutique d'un extrait de nephelium lappaceum pour prévenir l'apparition et/ou diminuer les odeurs désagréables au niveau de la peau et/ou des muqueuses et/ou des annexes cutanées |
US11375253B2 (en) * | 2019-05-15 | 2022-06-28 | Intel Corporation | Link bandwidth improvement techniques |
CN111723059B (zh) * | 2020-05-25 | 2021-03-16 | 深圳市科楠科技开发有限公司 | 一种数据压缩方法、装置、终端设备及存储介质 |
CN112559462B (zh) * | 2020-12-14 | 2024-08-20 | 深圳供电局有限公司 | 一种数据压缩方法、装置、计算机设备和存储介质 |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6460112A (en) * | 1987-08-31 | 1989-03-07 | Nec Corp | Data compressing system |
US5260693A (en) * | 1991-10-11 | 1993-11-09 | Spacelabs Medical, Inc. | Method and system for lossless and adaptive data compression and decompression |
US5384598A (en) * | 1992-10-20 | 1995-01-24 | International Business Machines Corporation | System and method for frame differencing video compression and decompression with frame rate scalability |
US5533051A (en) * | 1993-03-12 | 1996-07-02 | The James Group | Method for data compression |
US6094454A (en) * | 1997-06-19 | 2000-07-25 | International Business Machines Corporation | Multi-spectral image compression and transformation |
FR2785757B1 (fr) * | 1998-11-10 | 2001-01-26 | Canon Kk | Procede et dispositif de compression, procede et dispositif de decompression de format numerique |
JP2001136524A (ja) * | 1999-11-02 | 2001-05-18 | Ricoh Co Ltd | 圧縮伸長装置 |
US6411228B1 (en) * | 2000-09-21 | 2002-06-25 | International Business Machines Corporation | Apparatus and method for compressing pseudo-random data using distribution approximations |
CN1129232C (zh) * | 2001-03-22 | 2003-11-26 | 谭伟祥 | 一种对数据库中的数据进行压缩与解压缩的方法 |
JP3791793B2 (ja) * | 2003-02-13 | 2006-06-28 | 日本電信電話株式会社 | ディジタル信号符号化方法、復号化方法、符号器、復号器、符号化プログラム、及び復号化プログラム |
CN1207917C (zh) * | 2003-07-03 | 2005-06-22 | 复旦大学 | 适用于jpeg2000标准的高速低功耗mq编码器 |
DE602004029717D1 (de) * | 2003-12-19 | 2010-12-02 | Creative Tech Ltd | Digitale standbildkamera mit audio-decodierung und -codierung, einem druckbaren audioformat und verfahren |
US20060218201A1 (en) | 2005-03-24 | 2006-09-28 | International Business Machines Corporation | System and method for effecting thorough disposition of records |
US7788106B2 (en) * | 2005-04-13 | 2010-08-31 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Entropy coding with compact codebooks |
CN100454234C (zh) * | 2005-07-08 | 2009-01-21 | 华为技术有限公司 | 一种处理数据宽度的方法及其应用 |
US7541950B2 (en) * | 2006-07-20 | 2009-06-02 | Samplify Systems, Inc. | Enhanced time-interleaved A/D conversion using compression |
CN100495318C (zh) * | 2007-01-30 | 2009-06-03 | 金蝶软件(中国)有限公司 | 整型数据的压缩方法、装置及解压缩方法、装置 |
JP4717860B2 (ja) * | 2007-08-22 | 2011-07-06 | 眞一郎 湯村 | データ圧縮方法及び画像表示方法及び表示画像拡大方法 |
CN101442671B (zh) * | 2007-11-21 | 2010-12-08 | 华为技术有限公司 | 一种数字信息嵌入和提取的方法及装置 |
KR100949519B1 (ko) | 2007-12-18 | 2010-03-24 | 한국전자통신연구원 | 낮은 복잡도 및 고속 복호를 위한 패리티 검사행렬 생성방법과, 그를 이용한 저밀도 패리티 검사 부호의 부호화장치 및 그 방법 |
CN101252694B (zh) * | 2008-03-31 | 2011-08-17 | 清华大学 | 基于块的视频解码的帧存储压缩和地址映射系统 |
US8341184B2 (en) * | 2008-05-07 | 2012-12-25 | Smooth Productions Inc. | Communications network system and service provider |
US8005152B2 (en) * | 2008-05-21 | 2011-08-23 | Samplify Systems, Inc. | Compression of baseband signals in base transceiver systems |
US20100043024A1 (en) | 2008-08-15 | 2010-02-18 | Mana Digital Corporation | Channel switching module |
JP2010237822A (ja) * | 2009-03-30 | 2010-10-21 | Toshiba Corp | メモリコントローラおよび半導体記憶装置 |
CN106131549B (zh) * | 2010-04-13 | 2019-04-05 | 三星电子株式会社 | 执行去块滤波的对视频进行解码的设备 |
US20140013129A1 (en) * | 2012-07-09 | 2014-01-09 | L. Pierre de Rochemont | Hybrid computing module |
US9414059B2 (en) * | 2010-10-04 | 2016-08-09 | Panasonic Intellectual Property Management Co., Ltd. | Image processing device, image coding method, and image processing method |
WO2015005137A1 (ja) * | 2013-07-12 | 2015-01-15 | ソニー株式会社 | 画像符号化装置および方法 |
WO2015053120A1 (ja) * | 2013-10-08 | 2015-04-16 | シャープ株式会社 | 画像復号装置、画像復号方法、画像符号化装置、及び画像符号化方法 |
CN103607207B (zh) * | 2013-11-11 | 2016-08-17 | 大连理工大学 | 一种即插即用的多接口数据压缩设备 |
GB2523347B (en) * | 2014-02-20 | 2016-01-13 | Gurulogic Microsystems Oy | Encoder, decoder and method |
WO2016031103A1 (ja) | 2014-08-25 | 2016-03-03 | 日本電気株式会社 | セキュリティシステム、セキュリティ方法、及びコンピュータ可読媒体 |
US10628255B1 (en) * | 2015-06-11 | 2020-04-21 | Avago Technologies International Sales Pte. Limited | Multi-dimensional decoding |
CN205039173U (zh) | 2015-09-30 | 2016-02-17 | 佛山市国星光电股份有限公司 | 一种led支架及其制成的led器件与led显示模组 |
WO2018020299A1 (en) * | 2016-07-29 | 2018-02-01 | Chan Kam Fu | Lossless compression and decompression methods |
-
2016
- 2016-07-29 WO PCT/IB2016/054562 patent/WO2018020299A1/en active Application Filing
- 2016-08-05 WO PCT/IB2016/054732 patent/WO2018020300A1/en active Application Filing
-
2017
- 2017-02-22 WO PCT/IB2017/050985 patent/WO2018020328A1/en active Application Filing
- 2017-07-01 WO PCT/IB2017/053993 patent/WO2018020342A1/en active Application Filing
- 2017-07-25 WO PCT/IB2017/054500 patent/WO2018020414A1/en unknown
- 2017-07-25 US US16/067,412 patent/US11515888B2/en active Active
- 2017-07-25 KR KR1020197006211A patent/KR20190038601A/ko not_active Application Discontinuation
- 2017-07-25 AU AU2017304894A patent/AU2017304894A1/en not_active Abandoned
- 2017-07-25 JP JP2019526383A patent/JP7268271B2/ja active Active
- 2017-07-25 EP EP17833674.9A patent/EP3491525A4/en active Pending
- 2017-07-25 CN CN201780040973.XA patent/CN109416655A/zh active Pending
- 2017-07-25 CA CA3031600A patent/CA3031600C/en active Active
-
2018
- 2018-07-24 US US16/631,081 patent/US11671113B2/en active Active
- 2018-07-24 KR KR1020207005366A patent/KR20200031159A/ko not_active Application Discontinuation
- 2018-07-24 WO PCT/IB2018/055479 patent/WO2019021160A1/en unknown
- 2018-07-24 EP EP18839355.7A patent/EP3659336A4/en active Pending
- 2018-07-24 AU AU2018306486A patent/AU2018306486A1/en not_active Abandoned
- 2018-07-24 CA CA3068631A patent/CA3068631A1/en active Pending
- 2018-07-24 CN CN201880041407.5A patent/CN110771161A/zh active Pending
- 2018-07-24 JP JP2020501826A patent/JP2020530674A/ja active Pending
-
2020
- 2020-12-15 AU AU2020289753A patent/AU2020289753A1/en not_active Abandoned
-
2022
- 2022-07-20 JP JP2022115555A patent/JP2022160484A/ja active Pending
- 2022-09-27 US US17/935,757 patent/US20230223952A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
AU2020289753A1 (en) | 2021-01-21 |
WO2019021160A1 (en) | 2019-01-31 |
AU2017304894A1 (en) | 2019-02-21 |
WO2018020414A1 (en) | 2018-02-01 |
EP3659336A1 (en) | 2020-06-03 |
CN110771161A (zh) | 2020-02-07 |
JP7268271B2 (ja) | 2023-05-08 |
WO2018020342A1 (en) | 2018-02-01 |
US20190013825A1 (en) | 2019-01-10 |
KR20200031159A (ko) | 2020-03-23 |
KR20190038601A (ko) | 2019-04-08 |
US11671113B2 (en) | 2023-06-06 |
CA3031600A1 (en) | 2018-02-01 |
AU2018306486A1 (en) | 2020-02-13 |
EP3491525A1 (en) | 2019-06-05 |
EP3491525A4 (en) | 2019-08-28 |
WO2018020299A1 (en) | 2018-02-01 |
US20230223952A1 (en) | 2023-07-13 |
WO2018020300A1 (en) | 2018-02-01 |
US11515888B2 (en) | 2022-11-29 |
CN109416655A (zh) | 2019-03-01 |
US20200151051A1 (en) | 2020-05-14 |
WO2018020328A1 (en) | 2018-02-01 |
JP2019528027A (ja) | 2019-10-03 |
EP3659336A4 (en) | 2021-04-21 |
JP2020530674A (ja) | 2020-10-22 |
CA3031600C (en) | 2022-12-13 |
CA3068631A1 (en) | 2019-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2022160484A (ja) | デジタルレンズング | |
US9853660B1 (en) | Techniques for parallel data compression | |
Žalik et al. | Chain code lossless compression using move-to-front transform and adaptive run-length encoding | |
EP1832000A1 (en) | Device and data method for selective compression and decompression and data format for compressed data | |
JP5812188B2 (ja) | プログラム、圧縮データ生成方法、伸張方法、情報処理装置、および記録媒体 | |
CN110266316A (zh) | 一种数据压缩、解压方法、装置和设备 | |
US20220368345A1 (en) | Hardware Implementable Data Compression/Decompression Algorithm | |
US9137336B1 (en) | Data compression techniques | |
JP6467937B2 (ja) | 文書処理プログラム、情報処理装置および文書処理方法 | |
US8515882B2 (en) | Efficient storage of individuals for optimization simulation | |
JP4037875B2 (ja) | コンピュータグラフィックスデータ符号化装置、復号化装置、符号化方法、および、復号化方法 | |
JP2016170750A (ja) | データ管理プログラム、情報処理装置およびデータ管理方法 | |
JP6512294B2 (ja) | 圧縮プログラム、圧縮方法および圧縮装置 | |
JP2023503034A (ja) | パターンベースのキャッシュブロック圧縮 | |
JP4776489B2 (ja) | 画像符号化装置、画像復号装置、画像符号化プログラム、画像復号プログラム、画像符号化方法、および画像復号方法 | |
CN113177638B (zh) | 用于生成神经网络的二值化权重的处理器和方法 | |
JP5200854B2 (ja) | 符号化装置、復号装置、及び画像処理システム | |
Huang et al. | VQ Coding in Data Hiding Using Correlated Neighboring Blocks in Security Performance | |
Mukka | Customized Data Compression: Automatically Synthesizing Effective Data Compression and Decompression Algorithms | |
Al-Dmour et al. | An Efficient Bit-Level Lossless Grayscale Image Compression Based on Adaptive Source Mapping. | |
CN113452377A (zh) | 权值的压缩和解压缩 | |
WO2017037502A1 (en) | Compression code and method by location | |
JP2018046518A (ja) | データ処理装置及びデータ処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220725 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230626 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230808 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231102 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20240206 |