JP2022160484A - デジタルレンズング - Google Patents

デジタルレンズング Download PDF

Info

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
Application number
JP2022115555A
Other languages
English (en)
Inventor
フー チャン、カム
Kam Fu Chan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Publication of JP2022160484A publication Critical patent/JP2022160484A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/55Compression Theory, e.g. compression of random number, repeated compression
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3068Precoding preceding compression, e.g. Burrows-Wheeler transformation
    • H03M7/3077Sorting
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6005Decoder aspects
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6011Encoder aspects
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6035Handling of unkown probabilities
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6064Selection of Compressor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods 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

【課題】ランダムデジタル情報を圧縮してそれを首尾よく復元することができる、異なるタイプ及び異なる言語特徴に適用するランダムデジタル情報を問わないロスレス圧縮用のフレームワーク及び方法を提供する。【解決手段】フレームワーク(CHANフレームワーク)は、ランダムであるか否かに関わらずデジタル情報の順序付けを組織的に記述及び新規作成することが可能であり、任意のデジタル情報の特徴を発見、記述、調査及び分析することができ、デジタル情報のこのような特徴及び内容を周期的に重複するロスレス暗号化/復号及び圧縮/解凍を目的とする技術及び方法の開発に用いることができる。【選択図】なし

Description

理解している人がその数を数える。
本発明は、本発明者により2017年7月25日に提出されたPCT/IB2017/054500の早期PCT出願の優先権を要求している。本発明は上記PCT出願に開示され且つ本願に改良された概念及び技術的用途に関し、圧縮/解凍及び暗号化/復号を含むエンコーディング及びデコーディングの目的で、ランダムであるか否かに関わらず、特にCHANフレームワークを用いてデジタルデータを順序付け、組織及び記述するための新しい技術を提案する。本発明では、CHANフレームワークを記述するために、本発明が優先権を主張するPCT出願PCT/IB2017/054500の内容が本発明に組み込まれている。本発明の単一性は、本願の記述が、デジタルレンズング(Digital Lensing)の発明を開示することにあり、この方法は、デジタルデータを順序付け、組織及び記述するための方法として、具体的に各種の活動用のデジタルデータの暗号化/復号及び圧縮/解凍における用途を含む各種の用途のデジタルデータを処理するために、コーディング手段、方法及び技術を開発及び使用する(CHANフレームワーク下であるか否かに関わらず)ことに用いられる。本発明が優先権を主張するPCT出願PCT/IB2017/054500において提案された他の技術、及び本発明で新たに開示された他の技術の使用により、デジタルレンズングはこれまで最も新しい方法であることがわかった。デジタルレンズングは、知的所有権の使用と保護のために、ランダム又は非ランダムの任意のデジタル情報のコーディング(エンコーディング及びデコーディングを含む)を操作及び作成することができ、前記知的所有権は、デジタル情報の形態で表現され、デジタルデータ及び装置用の実行可能コードを含み、装置は実行可能コードを実行し又はデジタルデータを使用できるコンピュータシステム又はコンピュータで制御される装置又はオペレーティングシステムで制御される装置又はシステムを含む。以下、このような装置は装置と呼称される。
具体的には、本発明は、フレームワーク、方法及びそのデジタル情報装置における処理、格納、割り当て及び使用における応用に関し、前記デジタル情報は、デジタルデータ及び実行可能コード、例えばブートコード、プログラム、アプリケーションプログラム、装置ドライバー又はオペレーティングシステムを構成するこのような実行ファイルの集合を含み、前記実行ファイルは、ハードウェア(例えば全てのタイプの記憶媒体に埋め込まれ又は格納される)に埋め込まれ又は格納される実行可能コードの形態となり、前記記憶媒体は、リードオンリー又は書き換え可能又は揮発性又は不揮発性記憶媒体(以下、記憶媒体と呼称される)、例えば物理メモリ又は内部DRAM(ダイナミックランダムアクセスメモリ)又はハードディスク又は固体ディスク(SSD)又はROM(読み出し専用メモリ)、又はリードオンリー又は書き換え可能なCD/DVD/HD-DVD/ブルーレイDVD又はハードウェアチップ又はチップセット等を含む。デジタルレンズングは、導入される最も新たな要素であり、以前にCHANフレームワークに導入された他の技術及び本発明の以下で説明される他の新しい技術と共に使用するか否かに関わらず、実施することで発生するコード、即ちCHANコードは、ロスレスにデコーディングされてオリジナルコードに復元することができ、このようなコーディングが圧縮に用いられると、このような圧縮コードもその限界に達するまで、何度も再圧縮することができる。
本質的には、本発明は、デジタル情報の圧縮/解凍又は暗号化/復号を目的として、設計のどおりデジタルデータを選択的に編成して記述してその特性を研究できるように、デジタルデータに対して、従来の2進数システム及びこれまでに開示されたCHANフレームワークの上でデジタル構成を作成し、そのような構成に入るようにデジタルコードを選択するデジタルレンズングの使用を開示する。この関係では、知的所有権を使用及び保護する目的で、ローカルクラウド又はインターネットクラウドにより接続された装置においてデジタル情報の処理、格納、割り当て及び使用を可能にする。従って、デジタル構成は、デジタルレンズングを使用して選択されたデジタルコード値が内部に配置されるデジタル構造である。そのような選択されたデジタルコード値は、必要に応じて設計によって異なる可能性がある。他の圧縮方法を使用する場合と同様に、対応する方法を使用して適切に解凍していないと、圧縮コードを正確に復元することができない。圧縮目的で使用されない場合、エンコーディングされたコードは暗号化されたコードと見なされ、正確な対応するデコーディング方法を使用し、このような暗号化されたコードもオリジナルコードにロスレスに復元することができる。デジタルレンズングはCHANコーディング及びCHANコードの一部と見なされない場合(概念、方法を含むCHANコーディング及びCHANコード、即ち技術の組み合わせ及び上記PCT出願及び本願に開示されるように生成したコード)はその他の科学、工業及び商業活動等の探求される各種の応用にも用いられる。圧縮分野においては、その驚異的な使用を鮮明に示している。
しかし、本発明に開示されたデジタルレンズング、関連するスキーマ、設計、方法及びその応用は、クラウド(即ちローカルエリアネットワーク又はインターネット)によりデジタル情報を伝達又は交換することに限られず、その他の情報伝達又は交換モードにおいても使用できる。
圧縮科学分野においては、発行されたデジタル情報を圧縮するための方法及びアルゴリズムが多数あり、http://en.wikipedia.org/wiki/Data_compressionに常用のデータ圧縮方法及びアルゴリズムの説明を見つけることができる。本発明は新型方法を記述し、前記方法はロスレスデータ圧縮(また、暗号化及びロスレス復号の目的に適用できる)及びその復元に使用できる。
上記ウィキロスレス圧縮の関連部分は、参照できるようにここに再現されている。
「ロスレスデータ圧縮アルゴリズムは通常、統計的冗長性を利用して情報を失うことなくデータを簡潔に表現し、前記プロセスを可逆的にする。ほとんどの実際のデータに統計的冗長性があるため、ロスレス圧縮は可能である。例えば、「赤色画素、赤色画素...」をコーディングする代わりに、画像は、複数の画素にわたって変化しない色の領域を有することができ、データは「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は逆算術エンコーダである。」
上記ウィキにおいて、「LZ方法は、テーブル・ベースの圧縮モデルを使用し、データの繰り返し文字列の代わりにテーブルエントリが使用される」が記載されている。テーブルで変換、暗号化、圧縮及び拡張することは常用であるが、如何にテーブルをこのような目的に用いるかというのは、様々であり、ある方式又はその他の方式により新奇にする可能性がある。
本発明は新型方法であるCHANコーディング法(つまりCHANコーディング)を提案し、一度も公開されていない素晴らしい結果を生み出した。これは挑戦に成功したことを示し、情報理論における鳩ノ巣原理の神話の革命的な終結でもある。CHANコーディングについては、次の節には技術的課題を如何に処理・解決するかを示す。
ロスレスデータ圧縮の挑戦により提案された技術的課題は、如何に短いコードエントリにデジタルデータコードの長いエントリを示すか、及び如何にそれを復元するかということである。短いエントリは長いデータエントリを置換することに用いられるが、縮んだエントリからオリジナルの長いエントリを復元することを可能にするか又はその方法を知らせるように、デジタル形態のその他の情報を追加する必要がある。多すぎるこのようなデジタル情報を追加する必要があると、圧縮の努力が無駄になり、時には結果は圧縮ではなく拡張になってしまう。
このような追加情報の格納方式は圧縮過程に他の挑戦を提案する。デジタル情報の1つ又は複数のエントリに関する追加情報が圧縮データエントリに散在して格納されている場合、如何に追加情報とデジタル情報のオリジナルエントリとを区別するかというのは問題となり、復元期間にデジタル情報の圧縮エントリの分離に他の挑戦を提案し、特にデジタル情報のオリジナルエントリを異なる長さに圧縮した場合、追加情報の長さもそれに従って変化する。
繰り返して再圧縮した後に追加情報及び圧縮デジタルエントリを復元できると、特に問題となる。一般的に、圧縮データは再圧縮できず、再圧縮を試しても、多くの利得を取得できず、通常に結果は圧縮ではなくて拡張になってしまう。
圧縮されるべきデジタル情報は本質的に異なり、一部はテキストファイルであり、他の一部はグラフィック、音楽、音声又は映像ファイル等である。テキストファイルは、通常、ロスレス圧縮する必要があり、さもないとその内容が失われたりスクランブルされたりして、識別できなくなる。
テキストファイルはASCIIベースのものもあり、UNICODEベースのものもある。異なる言語のテキストファイルは、デジタルコードの頻度及び組み合わせに示されるような異なる特徴を有する。これは、適応力がほとんどない(即ち、可能性のある全ての場合を満たすことができない)フレームワーク及び方法が、このような全ての状況に最適に作用できないことを意味する。従って、データ圧縮へ適応性及び柔軟性が高いか又は全てを包含するフレームワーク及び方法を提供することは、課題となっている。
本明細書は、フレームワーク、スキーマ及びコンピュータ達成方法を開示し、前記方法はデータのロスレスエンコーディング及びデコーディングによりランダムデータを含むデジタルデータを処理することに用いられる。前記フレームワーク及び方法は、データを正確に処理し、暗号化/復号又は圧縮/解凍の目的に用いられる。前記フレームワーク及び方法はロスレスデータ圧縮、ロスレスデータ暗号化及びデータのロスレスデコーディング及び復元に用いられる。前記フレームワークがデータを処理する前に処理しようとするデジタルデータについて仮設しない。
本発明までの長い間、データ圧縮分野において、純粋にランダムな2進数データは絶対的に非圧縮性であると証明された。本発明は、異なるタイプ及び異なる言語特徴に適用し、ランダムデジタル情報を問わずにロスレス圧縮用のフレームワーク及び方法を提供することにより、ランダムデジタル情報を圧縮してそれを首尾よく復元することができる。本発明に開示されたフレームワーク(CHANフレームワーク)はランダムであるか否かに関わらずデジタル情報の順序付けを組織的に記述及び新規作成することが可能であり、任意のデジタル情報の特徴を発見、記述、調査及び分析することができ、デジタル情報のこのような特徴及び内容を周期的に重複するロスレス暗号化/復号及び圧縮/解凍を目的とする技術及び方法の開発に用いることができる。これは、情報理論における鳩ノ巣原理の神話を終わらせる。もちろん、それには限界がある。明らかに、1ビットだけのデジタル情報をさらに圧縮することができない。本発明に開示されるように、デジタル情報の圧縮制限は圧縮中の関連達成方式により選択されたスキーマ及び方法に伴って変化し、例えば使用するヘッダーのサイズ、処理ユニット(所定の数のコード単位を含む)のサイズ、又は使用するスーパー処理ユニット(所定の数の処理ユニットを含む)のサイズ、及び完全な処理ユニット又はスーパー処理ユニットを構成するには不十分であり、エンコーディングしていない2進数ビットコードのサイズにより確定される。従って、設計及び関連データ割り当てそのものの性質に基づき、任意のデジタル情報を圧縮する制限は数千の2進数ビット又はそれ未満に保つことができる。
CHANフレームワーク及びCHANコーディングを使用すると、圧縮及び復元されるべきランダムデジタル情報を事前に知る必要はない。CHANフレームワークは、必要に応じて以下における記述中で定義される。例えば、2ビットの固定ビットサイズを用いる従来のデータエンコーダに対してデジタルデータをサンプリングすると、それは常に2ビットフォーマットのデジタルデータを示すことができ、多くとも4個の値、即ち00、01、10及び11を有するので、CHANフレームワークにおけるデータエンコーダと比較すると、前記CHANデータエンコーダの使用するデータエンコーダは収容可能な最大データ値を、データを区別するための主要要因又は基準として用い、コードのビット値サイズ及びその他の基準を非主要要因又は基準とするように設計される。これは、従来のデータエンコーダがCHANフレームワークにおけるデータエンコーダの1つの変形にすぎないことを意味し、CHANフレームワークに置くことができ、最大4個の値(Max4クラス)の数値を有する上記2ビットフォーマットの従来のデータエンコーダを実例として使用する。従って、CHANフレームワークにおけるMax4クラスデータエンコーダは、例えば全ての唯一4個の値用の総ビット数によりビットグループとして定義され、さらに使用するヘッダータイプにより定義される他の変形を有することができ、例えば以下の図表0に示される。
図表0
CHANフレームワークでグループ化された従来のデータエンコーダ
Max4クラス=データ区別用の主要要因又は基準
8ビットグループ 9ビットグループ=非主要要因又は基準
Figure 2022160484000001
Max4クラスのデータエンコーダの3つの変形のうち注目すべきことは、全ての4個の唯一コード単位値が同じ数の2進数ビット表現を有する同じビットサイズのコード単位(例えば8ビットグループ)以外、9ビットグループの他の2つの変形のコード単位のビット値サイズはいずれも異なる。このCHANフレームワークにおける豊か且つ柔軟なデジタルデータ分類手段は、エンコーディング及びデコーディングの目的のため、データを制御するか又は示すための新型方法及び技術を開発することを可能にし、それにより情報理論における鳩ノ巣原理の神話を破る。
以下の図表は、本発明に開示された、データエンコーダでエンコーディング及びデコーディングする(即ち圧縮/解凍及び暗号化/復号目的を含む)ためのCHANフレームワークの特徴を解釈することに用いられ、前記データエンコーダは、従来のデータエンコーダにより定義された、同じ最大可能数の唯一値を有し、例えばMax4 8ビットグループを2ビット固定サイズの従来のデータエンコーダと等価に使用し、又はMax8 24ビットグループを3ビット固定サイズの従来のデータエンコーダと等価に使用する。簡略化するために、前に使用していないがCHANフレームワークにおけるデータエンコーダを使用する人に対して、処理ユニットの構成部(コンポーネントとも呼ばれる)の概念を説明する。
図表1
処理ユニットコンポーネントの概念を説明するCHANフレームワーク及び図解
Figure 2022160484000002
a及びbは、それぞれ1つのコード単位(0及び1の所定の数の2進数ビットコードの基本単位)を示す2つのデジタル情報である。所定の数の0及び1の2進数ビットに示されるコード単位の内容又は値は繰り返して読み取られ、例えば、aは第1コード単位として読み取られ、bは第2コード単位として読み取られる。
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つのコード単位を有する処理ユニットを有すると仮定する。
Figure 2022160484000003
図表3
エンコーディングした後、生成したコード、CHANコードはRPピース及びCVピースからなる。
Figure 2022160484000004
CHANコードのRPビット(1ビット)は、即ち第1ピースであり、RPピース及びaとbの組み合わせ値、A+B(65ビット、即ち64ビットに1を加算し、コード単位サイズのビットサイズに1ビットを加算する)は、即ち第2ピースであり、CHANコードのエンコーディング値ピース又は内容値ピース(CVピース)は、生じたエンコーディング、CHANコードを構成し、さらにオリジナルデジタル情報に対して実行したエンコーディングサイクル数に必要な及び余剰コード処理に必要な関連するヘッダー情報を含むことができる。本発明者は、2015年8月29日に提出された他のPCT特許出願PCT/IB2015/056562においてこのようなヘッダー情報の形成及び処理を提出しているため、本明細書では繰り返さない。
デコーディングの目的で、当業者は、上記PCT特許出願又は他の設計に記載されたヘッダー処理と得られたCHANコード、即ちCHANコードのRPピース及びCVピースを容易に使用できる。以下に本発明に開示されるように、このように設計されたエンコーディング及びデコーディングのスキーマ及び方法に基づき、より多くのコード単位が使用される時には、CVピースをさらにサブブロックに分けることができる。
RPピースは、対応するコード単位のある特性又は特徴を示し、本明細書の処理ユニットの2つの対応するコード単位間のランク及び位置の特徴を示すコードピースである。RPピースは幅広いコードカテゴリーのコードのサブセットであり、特性コード又は特徴コード又は分類コードとして命名される(関連する特性又は特徴が類似した特性又は特徴を有するコード単位を分類又はグループ化するために使用されているためにこのように呼ばれる)。CVピースは1つ又は複数のコード単位の内容のエンコーディングコードを示す。時には、エンコーディング及びデコーディングのスキーマ及び方法に基づき、コード単位の内容の一部は分類コードとして抽出され、CVピースに残っているものはコード単位の内容に対応する残りの部分にすぎない。CVピースはCHANコードの内容コードを構成する。従って、エンコーディング及びデコーディングのスキーマ及び方法に基づき、CHANコードは少なくとも内容コードを含み、適切な場合に分類コードを追加し、適切な場合又は必要がある場合に、内容コードそのものに含まれる、又は内容コードそのものの内部に混在している、又はヘッダーに含まれる、例えばスーパー処理ユニットを処理する時に使用するコーディング方法又はコードマッピングテーブルを指示するその他のインジケータコードを追加する。これは、当然、本発明の説明において明らかになるであろう。
ここまで、CHANフレームワークは、コード単位、処理ユニット、スーパー処理ユニット、エンコーディングしていないコード単位(エンコーディングしていないコードを含む)、ヘッダーユニット(デジタル情報ファイルのヘッダーに使用され、デジタルデータファイル全体に適用されるインジケータを含む)、内容コード単位、セクション及びセクションヘッダー(デジタルデータファイル又はストリーム全体が処理のための複数のセクションに分割される)、適切な場合には分類エンコーディングユニット(以下、上記特性コード又は特徴コード単位を意味する)、及び内容コード内部と混在しているインジケータコード(例えば、対応するスーパー処理ユニットに固有)の元素を含む。前記フレームワークは適切な場合にさらに洗練されて精緻化される。
コンポーネント、処理ユニットの2つの基本コード単位の関係であるランクと位置、及び以上の段落[0014]にリストされた合計を見つけた後、このような関係はRPピースに示され、CHANコードのCVピースはCVピースにおける最もシンプルな数式であるA+Bを使用する。RPピースは0又は1である1ビットだけを含み、それにより1つの処理ユニットで読み取られた2つのコード単位の第2値bと第1値aを比較し、どれが大きい値であるか又は同じ値であるか又は小さい値であるかを指示する。
前の実例及び現在市場に流行っている64ビットパーソナルコンピュータを使用することで、2進数スケールの各64ビットコード単位が64ビットで示されると、圧縮又は暗号化がない可能性がある。従って、各エンコーディングステップに対して必ず1つより多いコード単位を処理ユニットとして使用する。デジタル情報のデジタルファイル又はデジタルファイルの一部(デジタルファイルがさらに複数のセクションに分けられて処理すると)は必ず1つ又は複数の処理ユニット又はスーパー処理ユニットに分解されて各エンコーディングステップを行い、それにより形成する各処理ユニット又はスーパー処理ユニットのエンコーディングコードはCHANコードの元素となり、各処理ユニットの1つのRPピース及び1つのCVピースからなり、現在のこのような場合には、CHANコードのユニットである。従って、CHANコーディングで圧縮又は暗号化した後のデジタル情報のデジタルファイル(又はデジタルファイルが分けられたセクション)は1つ又は複数のCHANコード単位からなり、即ちCHANコードファイルからなる。CHANコードファイルは、CHANコードを含む以外、さらに、オリジナルデジタル情報の任意の余剰のエンコーディングしていないビット、即ち1つの処理ユニット又は1つのスーパー処理ユニットを構成していない、エンコーディングしていないコード単位と、較正及び及びいつ必ずデコーディングを停止するか、又は何回のエンコーディング又は再エンコーディングのサイクルが行われたか、又はヘッダー又はフッターにおけるID番号又はインジケータに指示されたように、最初又は最後に又はどこかに存在するエンコーディングしていないオリジナルデジタル情報が何ビットであるかに関するサイン又はインジケータを含み、デジタル情報を識別するために通常使用されるヘッダー又はフッターを表すその他の追加されたデジタル情報とを含む。必要があれば、カレントエンコーディングサイクルにエンコーディングしていないこのようなデジタル情報は次のサイクル間にさらにエンコーディングすることができる。本発明では、このような追加されたデジタル情報がどのように設計され、配置され、使用されるべきかが要求されない。これらの追加されたデジタル情報がエンコーディング及びデコーディング過程に利用可能になることができる限り、使用者は自らの目的に応じて自由に自分の設計を作ることができる。これらの追加されたデジタル情報を如何に使用するかを明確にするために、必要に応じてこれらの追加されたデジタル情報の用途が言及される。従って、本発明は主にエンコーディング及びデコーディングに使用された技術及び方法(即ちCHANフレームワーク内のCHANコーディング)で生成したCHANコードを含む。CHANコードは2つ又は複数の格納するセクションに分けることができ、例えば、CHANコードのサブブロックは、容易さ又は安全さのために、デコーディングに用いられ又は引渡しに用いられるように、独立したデジタルデータファイルに独立して格納できる。CHANコードヘッダー又はフッターも他の独立したデジタルデータファイルに格納し且つ同じ目的のため引渡すことができる。このようなCHANコードを構成するファイル及びCHANコードヘッダーとフッターファイルはその他の追加されたデジタル情報が存在しても存在しなくても、CHANコードファイルであり、これは段落[0014]に定義されたCHANフレームワークに追加する他の元素である。
CHANコードはCHANコーディングを使用したエンコーディングコードである。CHANコーディングはオリジナルコードからエンコーディングコード又は派生コードを生成する。圧縮に用いられると、CHANコードは圧縮コードを示し(使用するスキーマ及び方法で圧縮できると)、データ割り当てがランダムであるか否かに関わらず、オリジナルコードに使用されたビット数より小さい。所定のサイズを超えるランダムデータが均一になり、即ちビット0とビット1との比率は1:1になる。CHANコードはCHANコーディングの結果を示し、本実例においては、対応する数式により指定された演算、即ちRPピースの値及び演算やエンコーディング用の加算演算を用いて発生し、前記数式は(処理ユニット)の基本コンポーネントと、(コード単位)との関係を示し、派生コンポーネントを生成し、即ち図表3中、CVピースにおけるA+Bである。上記エンコーディング法則及び論理を使用することで、オリジナルコードに復元できる。RPピースはインジケータ情報を示し、それによりエンコーダの生じた処理ユニットの2つのコード単位のランク及び位置特徴を指示し、デコーダにより完了するオリジナルコードに復元することに用いられる。デコーディング時にデコーダが従う演算法則を指定する前記インジケータは、生じたエンコーディングコードに含まれる。しかし、数式A+Bに示される演算法則は、エンコーディング及びデコーディングにおいて応用される一致性及び規則性のため、エンコーダ及びデコーダに埋め込まれる。派生コンポーネントは1つ又は複数の基本コンポーネントからなるコンポーネント、又は特定の演算法則(例えば数式に示される)により演算した後にその他の派生コンポーネントと組み合わせたコンポーネントであり、前記演算法則は、例えば加算、減算、乗算又は除算演算を含む。
以上のように、CHANコーディングで処理した後に取得するCHANコードは、デジタル情報のデジタルビットを含み、前記デジタルビットは1つのユニットに組織され又はサブブロックに分解され、それによりオリジナルデジタル情報の内容を示し、オリジナルデジタル情報はデータ割り当て中にランダムであるか否かに関わらず、正確且つロスレスに復元することができる。当然、上記実例はオリジナルデジタル情報の正確且つロスレスな復元が許可されていない。例えば、例えばAマイナスB及び/又はオリジナルデジタル情報に復元できる前に存在する対応する内容コードピースの1つのような他の数式を必要とする。現在、以上の実例は、CHANフレームワーク及びその元素の目的を記述・定義することにしか用いられない。演算用の数字スケールの選択を確定した後、コード単位のビットサイズ及び処理ユニット用のコンポーネント(即ち1つの処理ユニット用のコード単位の数、最もシンプルな場合には、上記1つの処理ユニットの2つのコード単位しか用いない)並びにそれらの関係は数式に定義されており、デジタルコンピュータに使用された実行可能コードにおいて達成され、数式を演算法則として使用する場合、コーディングのためにCHANエンコーディングが行う作業は(使用するその他の技術は必要に応じて開示される)以下のステップを含む。(1)オリジナルデジタル情報を読み込み、(2)デジタル情報を分析してその特徴、即ち圧縮ユニットのコンポーネント及びその関係を取得し、(3)数式又は設計された式で演算する。前記式は、CHANコーディング分析後に取得したオリジナルデジタル情報のコンポーネントの特徴又はオリジナルデジタル情報のコンポーネント間の関係を記述し、即ちオリジナルデジタルデータの特徴はCHANコードに示されている。圧縮すると、CHANコードのデジタルビットはデータ割り当てがランダムであるか否かに関わらず、オリジナルコードに使用されたデジタルビットより小さい。CHANコードはロスレスにエンコーディングされたコードであり、デコーディング時にオリジナルコードにロスレスに復元でき[数式を使用し、且つエンコーディングにおける関連する数学演算は、必ずしもなく圧縮を可能にするとは限らず、例えば使用するスキーマ及び方法と共に設計された式、コード単位定義及びコード配置技術に非常に依存する]、(4)ステップ(1)で読み取られたオリジナルデジタル情報に関連する対応する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フレームワークの新規特徴を実現するのに使用される他の技法を議論した後に、必要に応じて説明される。
範囲の概念及びCHANフレームワークの独創的な特徴の使用と一緒に使用されるとランダムデータを圧縮するのを助けることができる絶対アドレス分岐の技術を適用する際のその使用の理解の仕方をパスするために、以下の図表では、補数数学がどのように機能するかについて説明する。
図表4
補数数学
CC-A=A
且つ
+A=CC
又は
+B=CC
且つ
(A+B)=(CC-A)+B
ここで、CCは相補定数又は変数であり、相補定数又は変数(エンコーディング及びデコーディングの異なるサイクルで異なるコード単位サイズが使用されている場合は、変数になる可能性がある)を使用するように定義されている補数数学の演算のために選択された定数値又は変数値である。これは、本発明で説明されるように、数学的計算又は加算及び減算論理を有する演算において使用される。場合によって、複数の相補定数又は変数を設計し、必要に応じて又は適切な場合には、様々な演算又は目的に使用し得る。
Aは演算される値であり、ここで使用されている実例はランク値Aであり、現在2つのコード単位値のみを使用する場合、Aの値はBの値以上であり、このため、最初の式では、
CC-A=A
ここで、CCからAを引いたものは、A補数に等しく、即ち、それぞれの相補定数又は変数を使用したAの補数値、又はミラー値であるAで示される。例えば、CCをコード単位サイズの最大値の定数、例えば256個の値を有する8ビットとすると、CCの値は256とある。Aの値を100とすると、Aは256から100を引いた値である156に相当し、従って、逆の演算はA+A=CCになり、100+156=256の演算を表す。そして、第4式において、(A+B)=(CC-A)+Bであり、そしてBを50とすると、A+B=(256-100)+50=156+50=206となる。
図表4は、後に導入される復号プロセスを作成するのに十分である、本発明者によって発明された補数数学の基本演算の論理を示す。しかしながら、補数数学の加算及び減算演算のより完全な例示のために、そのような論理は以下の図表5に定義されて説明される。
図表5
定義されたより多くの補数数学の理論:
CC-(A+B)=(A+B)又は=CC-A-B。
且つ
CC-(A-B)=A+B
且つ
CC-A+Bは分かりにくいかもしれないが、次のように明確に表すべきである。
(CC-A)+B=A+B
又は
(CC-B)+A=B+A
又は
CC-(A+B)=CC-A-B。
そのため、補数数学の減算演算の上記論理をさらに説明するために、CCを256、Aを100、Bを50とすると、
CC-(A+B)=(A+B)又は=A-B又は=B-A
即ち、256-(100+50)=(100+50)=256-150=106=A-B=156-50=106
又は
=B-A=206-100=106
且つ
CC-(A-B)=A+B
即ち256-(100-50)=256-(50)=206=156+50=206
且つ
(CC-A)+B=A+B
即ち(256-100)+50=156+50=206
又は
(CC-B)+A=B+A
即ち(256-50)+100=206+100=306となる。
従って、補数数学の加算及び減算演算の上記論理を使用して、次の図表6に補数数学がどのように機能するかについてさらに詳細を示すことができる。
図表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=A+B=(256-100)+50=156+50=206。
このステップで演算を実行するには、最初にAとBを分離する必要があり、このステップでは補数数学の演算をここで説明する。
(3)CHAN数学を使用したCHANコーディング(通常の数学処理及び補数数学処理):
A-1/2(A-B)を使用して、ステップ(1)の結果をステップ(2)の結果に加算する。
=A+B+A-1/2(A-B)=A+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コーディングの違いを示している。
上記ステップ(2)で実行される補数数学は、AとBが分離され事前に知られた後にのみ行われるので、別のデータ情報である(A-B)(即ち、新しいコード単位定義が発明される前に、それは後で明らかにされる)が追加されなければならない。それによって、A及びBは式(A+B)+(A-B)=2*A及び2*A/2=A並びに(A+B)+(A-B)=2*B及び2*B/2=Bを使用して分離することができる。RPビットを使用すると、分離後のA及びBは、a及びbとして読み取られる第1値及び第2値の位置に正しく復元できる。そしてステップ(2)は、そのような基本コンポーネントを演算する時に補数数学がどのように機能するかを示しているだけである。
補数数学は、情報理論における鳩ノ巣原理の挑戦を解決するのには直接役立たない。ただし、データ値の加減算に範囲を使用するという概念と、相補定数又は値を指定したミラー値の概念を強調している。範囲が絶対アドレス分岐を使用する演算に不可欠であるか、又はデータ値又は数値がどのように表現されて定義されるかという点で潜在的であるので、情報理論における鳩ノ巣原理の挑戦は成功した結果で満たされる。
情報理論における鳩ノ巣原理の神話の終わりを確認する前に、本発明は、CHANフレームワークの下で数式を使用することがエンコーディング及びデコーディングのための無数のアルゴリズムをどのように生成できるかについてより詳細に説明する。図表7から説明し、4つの基本コンポーネントと4つのコード単位が1つの処理ユニットを構成する。
ほとんどの場合、処理ユニットの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]の値が下隅にあるショートアームと重なり合っている。
Figure 2022160484000005
CHAN直線2:3本のアームは全て、[2]+[3]が上隅、[1]+[4]が下隅にあるショートアームと重なり合っている。
Figure 2022160484000006
CHAN三角形
ロングアームとミドルアームの2本のアームがあり、ショートアームは[1]+[4]と[2]+[3]の値の対が等しいので点になる。
Figure 2022160484000007
CHAN長方形、台形及び正方形
CHAN長方形1は、4つのコード単位のデータ値の入力ストリームを順々に示す。
Figure 2022160484000008
CHAN長方形2は、4つのコード単位のデータ値の入力ストリームのランク及び位置を示す。
Figure 2022160484000009
上記CHAN長方形は、処理ユニットの最初のコード単位値aがBであり、4つのコード単位の中で2番目にランク付けされ、2番目のコード単位値bがCであり、3番目にランク付けされ、3番目のコード単位値cがAであり、1番目にランク付けされ、4番目のコード単位値dがDであり、順位の最後であることを示している。
CHAN台形はCHAN長方形の4つの基本コンポーネント間の関係を示している。
CHAN台形1
3本のアームの上隅は[1]+[2]、[1]+[3]、[1]+[4]であり、且つ、
Figure 2022160484000010
3本のアームの下隅は[3]+[4]、[2]+[4]、[2]+[3]である。
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
Figure 2022160484000011
3本のアームの上隅は[1]+[2]、[1]+[3]及び[1]+[4]であり、CHAN台形1では3本のアームの下隅は[3]+[4]、[2]+[4]及び[2]+[3]である。
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
Figure 2022160484000012
これは、ミドルアームがロングアームと重なる場所であり、ショートアームの上隅及び下隅がそれぞれ[1]+[4]及び[2]+[3]である。2本のアームの長さが等しくない場合は台形、それ以外の場合は正方形である。
CHAN台形4又はCHAN正方形2
これは、ミドルアームがロングアームと重なる場所であり、ショートアームの上隅及び下隅がそれぞれ[2]+[3]及び[1]+[4]である。2本のアームの長さが等しくない場合は台形、それ以外の場合は正方形である。
Figure 2022160484000013
CHAN台形5又はCHAN正方形3
これは、ショートアームがミドルアームと重なる場所であり、ショートアームの上隅及び下隅がそれぞれ[1]+[4]及び[2]+[3]である。2本のアームの長さが等しくない場合は台形、それ以外の場合は正方形である。
Figure 2022160484000014
CHAN台形6又はCHAN正方形4
これは、ショートアームがミドルアームと重なる場所であり、ショートアームの上隅及び下隅がそれぞれ[2]+[3]及び[1]+[4]である。2本のアームの長さが等しくない場合は台形、それ以外の場合は正方形である。
Figure 2022160484000015
本図においてデータのエンコーディング及びデコーディングを可能にするために、4つの基本コンポーネントの4個の値は、次の図表8に示すように、4つの基本コンポーネントの値の位置とランクの関係を示すために使用されるRPピースに加えて、4つのサブピースからなる1つのCVピースで表されなければならない(そのような目的のために設計された4つの式の使用によって作り出される。3つ以下の式を使用しようと試みることができるが、これまでのところその努力は有望な結果を示すようには思われない。しかしながら、本発明がこの出願に示されるように、CHANフレームワークに新しい技術を導入する多くの機会があるので、そのような可能性を排除すべきではない)。
図表8
4つの入力基本コンポーネントの位置とランクの詳細及び結果のCHANコードを示すCHAN長方形S
4つのコード単位のデータ値の入力ストリームのランクと位置、及び使用される64ビットサイズを示すCHAN長方形3
Figure 2022160484000016
CHAN長方形4CHANコード、CHANコーディングを使用して作成されたRPピースとCVピースの詳細を示す圧縮コード
Figure 2022160484000017
本発明の1つの非常に際立った特徴として、CVピースを構成する4つのサブピースの値の可変ビットサイズであり、且つRPピースそのものは4ビットから5ビットの間で変化し、また、ビットサイズが異なるにも関わらず、後で開示されるCHANコーディング技術を使用して、関連するCHANコードをデコーディングしてそれをオリジナル入力デジタルデータコードにロスレスに正しく復元することができる。圧縮を行う目的で、使用される可変ビットサイズは、CHANコーディング技術を使用することによって圧縮率をさらに上げることを目的としており、この場合は数式を使用して達成することができる圧縮率よりも優れる。
まず、RPピースについて説明する。RPピースは、処理ユニットの4つの基本コンポーネント(4つのコード単位)の4つのランク値の相対位置を示すために使用される。4つの基本コンポーネントのランクは位置によって異なる可能性があるので、4つの基本コンポーネントの値の位置とランクの関係を決定するための固定している法則がない。次の図表9に示すように、位置とランクの間には全部で24種の組み合わせがある。
図表9
ランクと位置のコード表
4つの基本コンポーネントの位置とランクの可能な組み合わせ
Figure 2022160484000018
4つの基本コンポーネントの値のランクと位置の間には合計で24個のバリエーションがあるので、分解時に4つの基本コンポーネントの値のランク及び位置を正しく復元できるように、これらランクと位置の24個のバリエーションを収容して指示するために通常5ビットを使用しなければならない。即ち、基本コンポーネントの4個のランク値を、入力デジタルデータ入力におけるこれらの値の位置に対応する正しい位置に戻すことができる。ただし、絶対アドレス分岐と呼ばれる技術を使用して、スペースを無駄にしないようにすることができる。絶対アドレス分岐を使用しないのであれば、24個のバリエーションを収容するために32個の位置があり、8個の位置が空いて無駄になるためである。
最も単純なケースを使用するには、3個の値だけを持つことがある。その場合、3個の値のバリエーションに対して4個の位置を提供するには通常2ビットを使用する必要がある。しかしながら、絶対アドレス分岐が使用される場合、値=1の場合には、1ビットのみが使用され、値=2又は=3の場合には、2ビットが使用されなければならない。例えば、検索プロセスは次のように作動する。(1)まず、1ビットを読み取る。(2)ビット値が0であり、値が1であることを表す場合、2番目のビットを読み取る必要はない。ビット値が1の場合、2番目のビットを読み取る必要がある。2番目のビットが0の場合、値は2であり、2番目のビットが1の場合、値は3になる。それによって、考えられる3個の値を収容するためにスペースを節約する。表示のために、1/3のケース又はバリエーションは1ビットを使用し、他の2/3のケース又はバリエーションは2ビットを使用しなければならない。
従って、絶対アドレス分岐を使用すると、24個のバリエーションのうち8個のバリエーションは、収容するのに4ビットしか必要とせず、残りの16個のバリエーションは5ビットを必要とする。つまり、4ビットでは16個の位置しか提供されず、5ビットでは32個の位置が提供される。また、24個のバリエーションがある場合、4ビットで提供される位置に8個のバリエーションがあるため、4ビットで提供される16個の位置のうち8個の位置が2つのバリエーションを表すために保留する必要がある。従って、まず4ビットを読み取ることができ、前記値が1から8の間であることが分かった場合は、停止して別のビットを読み取らなくてもよい。しかしながら、4ビットを読み取り値が9から16の間である場合、これらの8個のバリエーションに対しては、それがどの値を表すかを決定するために別のビットを読み取らなければならない。例えば9が決定されると、それは9又は17のような別の値を表すことができ、それから、別のビットで読まなければならず、この別のビットが0であれば、それは9のままであることを意味し、1であれば、前記値が17であり、17の値を持つランク位置コードを表し、それによって、[1]、[2]、[3]、[4]の値を、以上の図表9におけるランク位置コード表を参照して検索することによって、3、4、1、及び2の位置に配置する必要があるというRPパターンを示している。従って、絶対アドレス分岐は、アドレス(通常のように1個の値を示すのではなく)、設計によっては1つ以上の余分なビットを使用して2個以上の値を識別するために分岐することができる設計である。範囲制限、即ち、変数値がその決定のために選択される最大の可能な組み合わせ又は選択肢が知られている時に、前記絶対アドレス分岐は使用される。例えば、処理ユニットがRPの組み合わせのどの特定の値を持つかを指示して、[1]、[2]、[3]、[4]の値を入力デジタルデータストリームの1、2、3、4番目の位置にどのように入れるかを示すための範囲制限として使用できることが知られているため、上記RPテーブルでは、ランクと位置の組み合わせは24個しかないことが知られているため、最大の可能な組み合わせは24個だけである。この範囲制限が既知で絶対アドレス分岐が使用されているため、平均して、これら24個の組み合わせには通常必要な5ビットではなく、わずか4.5ビットが必要である。
4つの基本コンポーネントであるA=[1]、B=[2]、C=[3]、D=[4]のランク値を決定する。[1]、[2]、[3]及び[4]の値を決定するために、CHAN長方形及びCHAN台形に関する式を使用して、4つの基本コンポーネントの基本的な関係及び特徴を表すことができ、上記段落[0029]で説明されたように、RPピース及びCVピースが全体として占めるビットサイズは、4つの入力基本コンポーネントa、b、c、及びdによって占められる合計ビットサイズより小さく、即ち、前記合計ビットサイズは、前記CHAN長方形及びCHAN台形を使用して本発明において提示されるスキーマの下での処理ユニットのコード単位のサイズの4倍である。
CHAN形状で表される処理ユニットを構成する4つの基本コンポーネント間の特徴及び関係を綿密に研究した後、CVピースの3つのサブピースに表される式の以下の組み合わせは、後ろで働く原理を説明するための初めての試みである。他の類似の式を見つけて使用することができる。そのため、制限はないが、CHAN形状を参照して以下に示す式を使用することが含まれる。従って、この初めての試みは次のとおりである。
(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コーディングは、基本コンポーネント(即ち処理ユニットのコード単位)間の特徴及び関係を使用して設計された式を使用して行われる。
式の設計は科学というよりは芸術である。処理ユニットの様々な基本コンポーネントと派生コンポーネントの間の特徴と関係の全ての組み合わせを使い果たすことはできなかったので、新しい考え方が適切な式を正しく使用するのに役立つ。上記PCT出願で使用されている3つの式は、3つの式を使用して、場合によってCHAN台形又はCHAN正方形又はCHAN三角形又はCHAN点又はCHAN直線を含む関連CHAN形状を再現できるように、前向きな考え方に従って設計されるものである。しかし、この考え方を使用すると、前記PCT出願に導入された技術を使用して設計された3つの式で表されるように、基本コンポーネントをそれらの派生コンポーネントから分離できないことはある(又は計算用の組み合わせがほとんど使い果たされないため容易に分離できない)ことが分かった。
情報理論における鳩ノ巣原理の挑戦を満たすために、上記PCT出願には新規な考え方が欠けている。そして、ここで試みられる。物事が前向きに機能しない場合、逆の方式で機能する可能性がある。これは補数数学に関連する考え方やパラダイムでもある。そのため、正しいCHAN形状を再現するように設計された式がよい結果をもたらさない場合、これら3つの式に差異を導入しようと試みることができる。そこで、本発明では、差異導入(異常導入とも呼ばれる)技術が開示されており、それによって、差異導入や相補コーディングのような有用な技術を利用して、CHANコーディングの全ての技術が鳩ノ巣原理の神話を終わらせるようにし、それによって、相補コーディングの有用性及び式設計段階での差異導入自体の有用性を示す。
そのため、設計段階では、最初のステップとして、通常の方法でエンコーディング用の式を設計し、設計された式を使用してCHAN形状を再現できるようにする。例えば、上記PCT出願に与えられた実例を使用して、ステップ(1)からステップ(3)においてCHANコードのCVピースの3つのサブピースの値及びエンコーディングされたコードを導き出す3つの式は以下のとおりである。
(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])。ロングアームの上隅。
上記ステップから、ステップ(4)からステップ(9)までの通常の数学を使用して、ロングアーム及びミドルアームの2つの隅並びにアーム自体が適切に再現されることが分かる。ただし、3つの適切な式を使用すると、基本コンポーネントは併合されると共に派生コンポーネント内で非常にうまく結合され、その結果、基本コンポーネントを互いに簡単に分離することはできない。従って、新しい世界を発見できるか否かを確認するためにさらに処理を続けるために、3つの適切に設計された式に差異を導入することを試みることができる。ごみの出し方の原則として、差異をランダムに導入すべきではない。設計された3つの適切な式に有用な情報を提供するために何が必要かに焦点を当てるべきである。
上記実例では、派生コンポーネントから4つの基本コンポーネントを分離するという当面の問題を解決するための追加の情報を提供するのに重要である2つの派生コンポーネントが欠けていることが容易に分かる。これら2つの派生コンポーネントは[1]-[2]と[3]-[4]であると識別される。これら2つの派生コンポーネントのいずれかを有すると、ステップ(9)で得られた([1]-[2])と([1]+[2])及びステップ(3)で得られた([3]-[4])と([3]+[4])の間の加減算によって基本コンポーネントを容易に分離することができる。そのため、[1]-[2]と[3]-[4]のいずれか又は両方を3つの適切な式に導入することを試みることができる。そして、必要に応じて、式をさらに調整することができる。
数え切れないほどの試行や錯誤を経て、これまでに概説したCHANフレームワークの下で、段落[0031]に記載の式の設計に差異導入又は異常導入の特徴を試みる場合においても、4つのコード単位を処理ユニットとして使用するスキーマでは3つの式だけを使用して正しくデコーティングする式の設計が発見されていない。従って、[1]-[2]又は[3]-[4]等の第4式、つまりステップ(4)=[1]-[2]又はステップ(4)=[3]-[4]は、正しいデコーティングのために導入されている。あるいは、もっと賢い人は3つの式を使うという解決策を思いつくことができるかもしれない。だからこの点でまだ希望がある。CHANフレームワークの革新点は、デジタルデータの順序付けや組織、デジタルデータから記述可能な順序や構造を作成するための様々な方式を可能にして、様々なデータ割り当てのデジタルデータの性質を研究してそれらの特徴の差異を比較し、デジタル情報の保護のための圧縮及び暗号化を目的としたエンコーディング及びデコーディングのために異なる技術を考案することができるように、そのようなデータ特徴の規則性(法則又は規則)を識別することを可能にする。従って、後で見られるように、実りある結果が得られ得る。
RPピースと共に4つの式を使用して発生した4つのCVサブピースを使用して、オリジナルデジタル情報を正しく復元するように、デコーディングする時に4つの基本コンポーネント又は処理ユニットのコード単位の値を首尾よく分離する必要がある場合にも、式の設計やデジタル情報のデータ割り当てに応じて圧縮する機会が得られ得る。後で見られるように、スーパー処理ユニットを使用する別の技術を導入する場合は、他のCHANコーディング技術、例えばCHANフレームワークの下で定義されたデータエンコーダ、特にデジタルデータブラックホールの設計、作成、実現における異常導入及び絶対アドレス分岐技術の使用により、全てのデータ割り当てのデジタルデータ(ランダムデータをも含む)を圧縮しても実り多い結果をもたらす。ただし、CHANフレームワークで使用されている式の設計は、データ保護の目的でデジタルデータの暗号化及び復号を行うための無限の方法又はアルゴリズムを提供するのに役立つ。そして、これは暗号化及び復号を行う簡単な方法で、素人でも簡単に実行できる。それほど賢くない人には、[1]、[2]、[3]、[4]の値は、ステップ(1)から(4)で表される式と、段落[0034]及び[0036]において概説された他の派生ステップを使って互いに分離される。スペースの最適化のために式の調整及びステップをさらに設計することができ、適用可能であれば、以下の段落[0043]及び[0044]に概説されている実例に基づいてモデリングする。
段落[0037]のステップ(I)からステップ(IV)に記載された式を使用して計算されたデータの値は、エンコーディングプロセス中にCHANコードのCVピースの4つのサブピースに入れられる。エンコーディングの際に、これら4個の値は、対応するRPピースと共にCVピースの4つのサブピースとしてCHANコードファイルに記憶される。各CVサブピースの値の範囲制限は、それぞれの式を使用して出現可能な全ての値に対応するのに十分な大きさにする必要がある。デコーディング中に、絶対アドレス分岐技術を使用し、且つ、図表9に使用される関連ランク位置コード表に対して、検索値、対応する処理ユニットのランク位置コードを調べることによって、RPピース及びCVピースを読み出してデコーディングを行い、それによって、処理ユニットの[1]、[2]、[3]及び[4]のランク値がデコーディング中にどこに配置されるべきかを決定する。[1]、[2]、[3]及び[4]のランク値は、段落[0038]に概説された上記ステップに示されるように、段落[0037]におけるステップ(I)からステップ(IV)で記憶された対応するCVピースの4つのサブピースの値を用いて決定される。CVピースの4つのサブピースは、段落[0043]及び[0044]で開示された技術を使用して配置され、これは、CVサブピースの配置の範囲制限を決定して必要に応じて設計を調整することに対して補数数学及び相補コーディングの価値を詳しく説明した。ここで、絶対アドレス分岐技術とは、省スペースを最適化するための技術である。段落[0037]に記載されている4つの式で[1]、[2]、[3]及び[4]を置き換えるa、b、c、dの単純な置き換えも、RPピースを省略できる可能性を示している。これは、そのような置換によって、段落[0037]及び[0038]で概説された式がRP処理なしでも機能できることを意味する。しかしRP処理がなければ、範囲制限の使用から生じる可能性のある省スペース化の利点は失われまる。その結果、RP処理を使用する場合よりも多くのスペースが無駄になる可能性がある。
補数数学及び相補コーディングは、省スペースのためのCVサブピースの配置のための設計を行う際に非常に役立ち、そのため適切な場合にはオリジナルな式設計の調整をもたらす可能性がある。以下の図表10は、次の図表10と共に、段落[0031]の式設計を使用して、現在の試みにおける式設計段階で補数数学及び相補コーディングを使用することによってもたらされる貢献を示している。
図表10
CHANバー
相補定数CCとしてコード単位サイズを用いた補数数学のパラダイムの下での範囲制限の視覚的表現
Figure 2022160484000019
以上の図表において、3つのCVサブピースの値を表す段落[0031]の3つの式で表される範囲が、その相補範囲(未知のデータ)と一緒に示されている。X自体は知られておらず、且つ式([2]-[3])+1/2([3]-[4])の一部としてマージされる。これらの式に導入されている異常又は差異又は調整である1/2([3]-[4])は、主に関連付けられたCHAN形状をきちんと記述する[3]+[4]及び[2]-[3]の適切に設計された式に導入される。[3]+[4]の平均値は、([4]+1/2([3]-[4])又は([3]-1/2([3]-[4])のいずれかであるため、どちらかを使用して、異常又は差異又は調整を導入できる。([4]+1/2([3]-[4])は、式の差異又は調整の導入後に修正された式と見なされ、現在の式はステップ(1)で使用されて、このような差異又は調整のバランスをとるために、それに対応して、ステップ(3)で使用されている第3式が(([2]-[3])+1/2([3]-[4]))に調整される。これは、これまで誰も憲章を作成したことのない新しい世界であるため、試行や錯誤から学ぶしかない。段落[0031]で設計された式もまた上記課題に対する解決策を提供するのに成功していないので、より多くの調整が必要とされる。より賢い人であれば、CHANコーディングを使用して、マージデータ又は処理ユニットの基本コンポーネントとそれからの派生(又は基本コンポーネントと組み合わせる)コンポーネントとを分離するために適した他の式を設計することもできる。式の差異、式の異常、又は式の調整を導入する技術には、次のステップが含まれる。(i)派生コンポーネント又は基本コンポーネントの値又は関係と特徴を再現するために使用できる式を設計する。(ii)設計された式によって表されるコンポーネントから基本コンポーネントを分離する目的のために、欠けているが追加の値を供給するために不可欠である派生コンポーネント又は基本コンポーネントを見つける。(iii)これらの欠けているコンポーネントを提供できる式を使用して、式の異常、式の調整、又は式の差異を設計する。そのような式の異常又は式の調整又は式の差異は、CHANコードのCVサブピースの値を取得するために使用される式に導入される。(iv)上記ステップ(i)で作成した以前に設計した式に式の異常又は式の調整又は式の差異を組み込み、新しく設計され又は調整された式で表されるコンポーネントから基本コンポーネントを分離する目的で使用するのに適した新しい式のセットを作成する。
段落[0038]で説明した4つの式を使用すると仮定すると、[1]、[2]、[3]及び[4]のランク値を決定してRPピースを使用した後、対応した処理ユニットのオリジナルデジタルデータ入力はロスレスにデコーディングされて、正しい位置に正しく復元されるようになる。ステップ(I)からステップ(IV)までの式によって表されるコードを、CHANコードのCVピースの4つのサブピースとして記憶するために使用される配置及びビットサイズは、検討されて、エンコーディン中にビットストレージのためにさらに最適化され得る。それには範囲制限の概念が使用される。
CHANコードのCVピースの4つのサブピースのどのサブピースを最初に配置するかを検討するために、記憶スペースを減少させるように1つのサブピースを配置することで他の後続のサブピースの配置に関する情報が得られるか否かを検討できる。以下の検討では、段落[0031]に記載されている3つの式を使用して説明する。補数数学の価値を把握するように、段落[0031]におけるステップ(1)から(3)までの自由な式([4]+1/2([3]-[4])、([1]-[4])及び(([2]-[3])+1/2([3]-[4]))を比較した結果、前の2つの式[4]-1/2([3]-[4])及び([1]-[4])で表される範囲が外れていることが分かり、これら範囲において一方に他方が含まれるものがない。このことから明らかなように、これらのいずれも1番目の位置に配置できる。しかし、[4]-1/2([3]-[4])でCCを使用すると、明らかなように、[4]-1/2([3]-[4])、つまり[4]1/2([3]-[4])は、[1]-[4]の範囲を包含できるはずであるため、[4]1/2([3]-[4])、[4]-1/2([3]-[4])のミラー値は、[1]-[4]の値を配置するための範囲制限として使用できる。従って、[4]-1/2([3]-[4])のCC値が第1CVサブピースとして配置されるので、式[1]-[4]の式で表される第2CVサブピースは[4]-1/2([3]-[4])のミラー値(CC演算により起動される)を、[1]-[4]の値を格納するための範囲制限として使用できる。
しかしながら、まれに[4]-1/2([3]-[4])の値が負の値になる可能性があるので、[4]1/2([3]-[4])の値がコード単位サイズを超えている場合は、CC値、つまりコード単位サイズを[1]-[4]の値の範囲制限として使用することに戻すことができる。つまり、[4]1/2([3]-[4])とCC値によって提供される2つの範囲の中から最短範囲を[1]-[4]の値の範囲制限とすることができる。他のほとんどの場合、[4]1/2([3]-[4])で表される範囲制限はCC値よりも小さくなるため、ビットストレージを節約できる。[1]-[4]を([2]-[3])+1/2([3]-[4])の範囲制限として使用することができ、それは、[1]-[4]を相補変数として使用する[2]-[3]のミラー値が[1]-[2]に[3]-[4]を加算したものであり、[3]-[4]が1/2([3]-[4])より大きいため、([2]-[3])+1/2([3]-[4])が[1]-[4]の範囲内にあることが確実であるためである。従って、より多くのビットストレージを節約するために、[1]-[4]を、第3CVサブピース([2]-[3])+1/2([3]-[4])の範囲制限として使用される第2CVサブピースとすることができる。これを基準として使用する前に他の範囲制限はないため、第1CVサブピースを配置するための範囲制限はCC値である。同様に、[4]-1/2([3]-[4])の値が負になる可能性があるいくつかのまれなケースに関しては、追加の符号ビットを使用する必要がある。また、前記値が半分の演算のために0.5の端数であるかもしれないので、そのような表示のために端数ビットも含まれなければならない。従って、全体ではCCビットサイズ+2ビットである。従って、[1]-[4]が最大値2^64ではなく1,000の場合、1,000は([2]-[3])+1/2([3]-[4])を格納するための範囲制限として使用できる。絶対アドレス分岐を使用して、1,024という制限を正確に1,000に減らすこともできるが、この場合には節約は非常に小さくなる。使用されるビットサイズは64ビットコード単位に通常必要とされる64ビットの代わりに10ビットか9ビットである。ただし、第1CVサブピース[4]-1/2([3]-[4])の場合と同様に、第3CVサブピース([2]-[3])+1/2([3]-[4])も半分の演算のために0.5の値の端数を持つことができる。そのため、もう1つの端数ビットを[1]-[4]の値によって設定される範囲制限に割り当てる。次に、CHANコードのCVピースのこれら3つのサブピースの配置は、上記段落[0031]のステップ(1)から(3)のために行うことができる。従って、範囲制限と絶対アドレス分岐の概念と技術が記憶スペースの最適化にも使用されている場合、CVピースの3つのサブピース、及びそれによりCVピース全体のサイズが処理ユニットごとに異なる。なお、使用される範囲制限が、関連する範囲制限が使用されるように設計されているために現れる可能性のある全ての可能な値を包含できるようにするべきである。場合によっては、範囲制限はそれに数値1を加算して調整する必要がある。これは、ランク値が値自体に従ってランク付けされ、且つ値が等しい場合は、入力デジタルデータストリーム内の位置に従ってランク付けされるためである。従って、特定の値に対する範囲制限をケースバイケースで慎重に検討し、特定の値に対して設計された範囲制限が、発生する可能性のある全ての値をカバーできることを確認する必要がある。
例えば、CHANコードの以下の3つのCVサブピースを配置するために必要なスペース又はビットサイズ(段落[0031]のものではなく、式(IV)にはコード単位の基準ビットサイズを使用すると仮定)は、例えば暗号化を目的として、次のように設計された式で表される。
式(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)を配置すべきである。そのような配置技術を使用することによって、ビットストレージを最小化することができる。
さらに熟考した結果、補数数学は非常に有用な概念と、記憶スペースを節約するためのより技術的なツールを提供するように思われる。しかし、その重要性はむしろ、範囲処理、ミラー値、ベースシフトを含むパラダイムにあり、例えば、値のミラー値を示すためのベースとしてはCC値、即ちコード単位サイズが通常の数学的処理を行う時は、値0のベースではなく、逆にカウントするためのベースとして使用される。
CHAN形状で開示された特徴及び関係を使用することによって、場合によっては通常の数学処理においてCHANを使用している情報理論における鳩ノ巣原理の挑戦に出会う可能性があるため、処理ユニットのための異なる数のコード単位を使用して式又は他の形を設計することができる。CHANフレームワークの下で構築可能なコード単位と式の設計の無限の組み合わせ(及びそれと共に使用するための他の技術を追加する可能性)を考えると、誰も不可能であると断言できない。そして、これらの他の技術が式設計の特徴を使わなくても情報理論における鳩ノ巣原理の神話を終わらせることができることは後述される。
補数数学及び相補コーディングは、式の設計段階、エンコーディング及びデコーディングに役立つ。そのため、CHAN数学及びCHANコーディングは、CHAN形状、及びデジタル情報のエンコーディング及びデコーディング(ランダムかを問わず)を行う際に開示された特徴及び関係に関連して、組み合わせるか又は別々に使用される通常の数学及び補数数学を含む数学処理のスーパーセットである。
最適化のためにさらなる検討を行う時、段落[0037]及び[0038]で概説された式において処理ユニットのa、b、c、及びd値を[1]、[2]、[3]、及び[4]の値に切り替えるだけでRPピース及び関連するRP処理を省くことができるように思われる。ただし、CVサブピースの配置には、RPピース及びRP処理を使用した場合よりも多くのスペースが必要になる。また、RP処理の価値は、[1]、[2]、[3]及び[4]の形態の処理ユニットの4つの基本コンポーネント(a、b、c及びd)間の関係をより明確に示し、CHAN形状を使って表現する時にこれらの値を正しく理解できるようにすることにあることも理解されたい。これはさらに、本発明において概説された他のエンコーディング及びデコーディング技術を適用するための正しい式を設計するための道を開く。そのため、RPピース及びRP処理を使用してエンコーディング及びデコーディングを行うか否かは、ケースバイケースで決める課題である。
そのように設計された4つの式によって表される4つのCVサブピースを使用することは、暗号化のための多変量アルゴリズムを設計することを可能にする。そして、そのような暗号化されたデジタルデータは、導入される他の技術を使用して圧縮されてもよい。この方式によれば、非常に簡単で安全な暗号化/復号及び圧縮/解凍のアルゴリズム及びプロセスの両方を設計して実現することができる。暗号化/復号及び圧縮/解凍のサイクル数も結果コードに影響する。また、設計された式や実現された暗号化/復号及び圧縮/解凍のサイクル数等の情報が送信予定のデータとは別に送信されると、データセキュリティが強化され、前例のないレベルで大きく保護される。データ保護をさらに強化するために、異なるタイプのCHANコードを別々に格納し、オリジナルデジタル情報を復元するために正しい順序で送信することができ、例えば、CVサブピースの符号ビットが1つの符号ビットファイルにあり、各CVサブピースが別々のCVサブピースファイルにあり、RPピースがRPピースファイルにあり、ヘッダー又はフッターには、単独したヘッダーファイル又はフッターファイルにある対応するCHANコードの処理に関する別の情報が含まれる。
4つのCVサブピースを生成する4つの式を使用しても、必ずしも圧縮が達成できないことを意味するわけではない。識別された最短範囲を選択して、圧縮のために追加される第4値の最短範囲を表す式を作ることができる。例えば、[1]がCC値、即ちコード単位の最大値に非常に近い場合、CCマイナス([1]+[2])が、ステップ(1)からステップ(3)における最初の3つの式の処理を通じて識別される最短範囲であり、次に第4式を[1]にして、CCから([1]+[2])の範囲制限を減算して[1]の値を配置できる。この点に関しては、CHANコードの式の設計及び配置について、さらに研究を進めることができる。
4つのCVサブピースを使用しても全ての処理ユニットを圧縮することができなかったとしても、異なるタイプのデータ割り当て(個々のデータ値の頻度及び対応するデータ値、即ち存在する各値の頻度、及び存在する対応する値の数及び同一性を含む)に適した異なる式セットを設計し、ランダムデータのデジタル入力ファイル全体をランダムではないスーパー処理ユニットに分割することができる。式の設計を使用するよりもはるかに単純な他の技術が実現のためにそれに追加される時に、ランダムではないスーパー処理ユニットを使用する技術について後述する。そのような検討過程において、スーパー処理ユニットの関連概念が説明される。異なるデータ割り当てのスーパー処理ユニットに対して異なる組の式設計を使用することによって、これらの他の技術がスーパー処理ユニットと共に使用される場合と同様に、再圧縮を試みることができる。
従って、通常の数学処理及び補数数学を含む非常に単純なCHAN数学の論理を使用することによって、暗号化及び復号、並びに圧縮及び解凍に関して、科学及び芸術の分野において著しい進歩がなされたことが分かった。PCT/IB2016/054562で発表され、PCT/IB2016/054732で確認されているように、情報理論における鳩ノ巣原理の神話を終わらせるために、他の技術が必要であり、以下のように開示されている。
そのような技術を開示する前に、CHANフレームワークはさらに微調整されなければならない。これまで、CHANフレームワークは次のような構造上の特徴を有する。
(a)コード単位(内容コード及び分類コードを含む)
(b)処理ユニット
(c)スーパー処理ユニット
(d)エンコーディングされていないコード単位
(e)(デジタルデータの全セットの)セクション
(f)一部のヘッダー又はフッター
(g)(デジタルデータの全セットの)メインヘッダー又はフッター
(h)CHANファイル(上記(a)~(g)のデジタルコードを組み合わせるか又は単独で構成したCHANコードを含むデジタルデータファイル)。
このようなCHANフレームワークのスキーマ及び設計とは上記構造要素のいずれかについて選択された定義を指し、使用される場合、処理するために、様々な実施形態の下で組み合わせて使用され、本発明において開示された使用されたCHANコーディングの選択された技術の特定のデジタルデータセットをエンコーディング及びデコーディングすることに用いられる。
コード単位はCHANフレームワークの基本単位である。これまで、そのサイズ、つまりコード単位サイズは、2進数ビット数(ビットサイズ)で測定されている。そして、従来の2進数データエンコーダ(データエンコーダ、特に、本発明において開示されたようなCHANフレームワークの下で設計されたようなデータエンコーダの特徴を持たない、その全ての固有値が同じビットサイズを有するデータエンコーダ)では、コード単位が表すことができる値の最大数(コード内容)は、コード単位のビットサイズによって制限される。例えば、コード単位は、サイズが1ビットしかない場合、2個の値だけを示し、1つの実例では、ビット値0又はビット値1である。コード単位のビットサイズが3である場合、最大8ビット値、即ち000、001、010、011、100、101、110、及び111を表すことができる。これは、2進数ビットを用いてデータ値を表すための一般的な方式である。コード単位は、エンコーディングのためにエンコーダによってデータ入力ストリームから1つずつ読み取られるデータの基本単位である。この一般的なデータの読み取り及び表現方式によって情報の理論における鳩ノ巣原理の神話が生み出される。その詳細について、以下を参照すればよい。
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進数ビット数)の累乗に等しい。
このため、これまで、圧縮を行うためのエンコーディングが可能であることは、データ割り当ての不均一な性質を利用するエンコーディング方法のためである。例えば、3ビットコード単位等の所定のビットサイズのコード単位の場合、データ入力ストリームが、000、001、及び100等、3個の異なる固有コード値のみを含む場合、データ入力ストリームは圧縮され得る。あるいは、データ入力ストリームが8個の異なる固有コード値、即ち000、001、010、011、100、101、110、及び111の全てを含む場合、これら8個のコード値の頻度分布が均一ではなく、即ち、これら8個の固有値の頻度が互いに異なる場合、依然として圧縮され得る。データ割り当ての不均一性が大きいほど、より多くの圧縮を節約できる。ランダムデータは、ランダムに現れるビット0とビット1の間の比率が均一である傾向があり、即ち、これまでいずれの規則性又は予測可能なパターンが開示されていない。そのため、ランダムデータを圧縮することはできないと思われていて、「情報理論における鳩ノ巣原理」神話が生まれた。しかし、CHANフレームワークがランダム割り当てを含むあらゆるタイプの割り当てのデジタルデータを記述する方式を提供するので、ランダムデータのより多くの特徴及びそれらの規則性を調査して明らかにすることができ、それによって、異なるビットサイズを使用する一意のコード単位値を収容するデータコーダ、及び異常導入やCHANフレームワーク下で絶対アドレス分岐又はアドレスアドレス複数分岐を使用したデジタルデータブラックホール等の他のCHANコーディング技術と共に、スーパー処理ユニットの概念及び使用を導入するにつれて、このような長い間収容されてきた神話はアンマスクされる。
情報理論における鳩ノ巣原理は非常に正しいが、それだけでは成り立つ。しかし、その神話は、ランダムデータを圧縮できないか、又はデータを何度も再圧縮できないというこの原理に関連する神話である。神話を終わらせるために、1つの可能な方法はランダムデータから不均一性を作ることである。不均一性を作る基本的な技術の1つは、コード単位とそのコード単位が表すために使用されるそれぞれのコード値を定義及び測定する方法を微調整することによって、不均一性を作ることである。そのため、本発明の重要な新規特徴としては、CHANフレームワークで使用されるコード単位の概念、CHANフレームワークの基本要素、コード単位及びその定義に見られる構造上の変更又は改良を再定義する。そのため、不均一性はランダムデータに容易に生じ得る。このCHANフレームワークの構造上の変化を活用することにより、コード単位が収容すると想定される値よりも多くのアドレスを提供するスキーマを簡単に設計できる。そのため、コード値を表すのに使用できるコードアドレスの数は、ランダムデータセットを周期的に圧縮及び再圧縮するための制限要因にはならない。情報理論における鳩ノ巣原理では、デジタルデータセットの頻度分布特徴が無視される。ランダムデータセットを周期的に圧縮及び再圧縮することを可能にするために、データセットに存在するコード値の頻度分布の性質及びそれらの対応するビット長の両方にも注意を払わなければならない。ランダムデータセットを周期的に圧縮及び再圧縮するためのエンコーディング及びデコーディングにおける従来の努力に反するこれら2つの問題は、異なる固有コード値に利用可能なコードアドレスの数及びデジタルデータセットに存在する異なる固有コード値の頻度分布である。それについては、以下の説明では、1つずつ説明する。
まず、データセット内の異なる固有コード値に利用可能なコードアドレスの数の問題について、コード単位を再定義するという新規な特徴がCHANフレームワークに導入されると、適切な場合には、コードフレームワークの下のコード単位は、まず、1つのコード単位が表現又は収容するために使用される異なる固有コード値の最大数により測定され、次に、コード単位全体の2進数ビット数(個々の固有コード値の可能なビットサイズに影響する)により測定され、さらにコード単位により定義されたヘッドデザインにより区別され、以上については以下の段落[0062]の図表14に示される。そのため、コード単位の命名法は、ビット数のかわりに、異なる固有コード値を保持する最大数を第1要因又は主要要因としてコード単位(もちろん1つずつ)を命名又は表現するように変化される必要があり、それによって、コード単位を指示する命名は3ビットのコード単位から8値のコード単位(又はMax8コード単位)に変わり、それに対して、ビット数はコード単位のサイズを区別するための二次的要因として使用できる。これはまた、コード単位の個々の固有コード値が同じビットサイズでしか表現できないという従来の定義に加えて、コード単位の個々の固有コード値が異なり得ることを意味する。そして、この新規な特徴は、基準のビットサイズを使用してスキーマを設計して、コード単位の全てのコード値に用いることを妨げるものではなく、従来の定義以外、コード単位の異なる固有コード値ごとに異なるビットサイズを使用してスキーマを設計する機会を提供する。それはまた、コード単位の異なる固有コード値が異なるビット値のサイズを有することができることを意味し、且つ、ビット値のサイズでコード単位の固有コード値のそれぞれに、エンコーディング及びデコーディングの特定のスキーマ及び設計の下で、コード値定義及び特定のエンコーディング及びデコーディングプロセスの時に使用される関連コード単位定義に応じて同じサイズのビット数を与えることを可能にする。例えば、8値コード単位の場合、全ての8つの固有コード値は、図表11のように特定のスキーマ及び設計の下で3ビットの同じビットサイズを持つように定義できる。
図表11
同じビットサイズを持つ8値コード単位のコード値の定義
Max8クラス
24ビットグループ
Figure 2022160484000020
あるいは、別の特定のスキーマ及び設計の下では、図表12のように、コード単位のこれら8個の値は異なるビットサイズを持つものとして再定義できる。
図表12
異なるビットサイズを持つ8値コード単位のコード値の定義
Max8クラス
35ビットグループ
Figure 2022160484000021
そのため、CHANフレームワーク下でのコード単位は、コード単位が収容又は表現するために使用される固有コード値の最大数によって最初に測定され、コード単位の2進数ビット数は、サイズを測定するための二次的要因である。そのため、コード単位のコード値は、エンコーディング及びデコーディングに使用される特定のスキーマ及び設計における定義によって、同じビットサイズを持つことも、異なるビットサイズを持つこともできる。そのようなコード値定義又はコード単位定義はまた、CHANコーディングのコード調整技術を使用して、エンコーディング及びデコーディングの過程で必要且つ適切な場合には変更してもよい。
CHANフレームワーク下でのコード単位定義及びコード値定義のこの新規な特徴によれば、ランダムデータを含むデータ割り当てに不均一性を作成するための技術を簡単に設計できる。それはまた、ランダムデータの性質を調査し、且つコード値及び特定のデジタルデータ入力ストリームにおいて発生する関連頻度に応じてデータ割り当てを記述する方式を可能にし、それによって、圧縮/解凍のために、適切な技術がエンコーディング及びデコーディングに使用され得る。特定のデータセットに不均一性を作成するための技術を説明する前に、ここで3値コード単位用のスキーマ及び設計を説明して、情報理論における鳩ノ巣原理の神話を終わらせ、つまりコードアドレスの数が固有コード値の数を超えないと仮定する。コードアドレスの数が固有コード値の数以下であることは、コード単位サイズが1ビットコード単位、2ビットコード単位等のようにビットサイズで測定される場合にのみ当てはまる。コード単位が収容するように設計されているコード値の最大数の観点からコード単位を測定できる場合、これは当てはまらない。2進数ビットの数に応じてコード単位を測定する一般的な方法には、コード単位が収容できるコード値の数がコード単位に使用される2進数ビットの数によって決定されるという制限が求められる。例えば、3ビットコード単位は、最大8個の固有コード値を収容し、それぞれのコード値が3ビットで示され、それ以上でもそれ以下でもない。3ビットコード単位は、8個を超える固有コード値を収容することができない。さらに、このように一般的な定義を使用してデータを読み取る時、エンコーダ又はデコーダが存在する場合、エンコーダ又はデコーダが8個の固有コード値を全て読み取ることを避けることができない。つまり、エンコーダ又はデコーダは、3個の固有コード値だけを読み取ることができず、他の5個の固有コード値がデータセットに存在する場合は、無視又は破棄される。これは、従来のコード単位定義を使用すると、関連するエンコーダは常に同じビット長又はビットサイズのコード値を使用してデータセットを処理し、前記ビット長又はビットサイズは、コード単位定義に使用されるビットサイズより短かったり長かったりすることがない。この制限はCHANフレームワークの下で解消される。従って、データの読み取り及び解釈の従来の設計のため、使用可能なコードアドレスの数は、設計上、コード単位が収容するように設計されているコード値の数と完全に同じである。従って、データセットに固有コード値が全て表示されると、全てのコードアドレスが使い果たされ、データセットに含まれるコード値の頻度分布の不均一性を利用するだけの技術ではランダムデータセットの圧縮が不可能になり(CHANコーディングの使用を除く)、ランダムデータセットに関しては、データセットの全てのコード値に対するそのような頻度分布は均一になる傾向があり、即ち、データセット全体のビット0と1との間の比率は1:1であり、コード単位の全てのコード値の頻度はほぼ同じである。従って、ランダムデータセットのコード単位のコード値の頻度分布の不均一性は、これまでに設計された従来技術の技術による圧縮を行うために利用できず(全ての固有コード値がランダムデータセットにも出現するため)、さらにデータセットに存在する固有コード値の数より多くの利用可能なコードアドレスがない。図表13は、CHANフレームワークに導入されたばかりの新規な特徴(つまり、コード単位は最大コード値数で測定され、2進数ビット数はコード単位全体の2次測定として使用される)を使用した3値コード単位、Max3コード単位の設計を示している。
図表13
5ビットを使用する3値コード単位のコード値の2つのバージョン定義のうち、一方は2:3、他方は3:2のビット0とビット1の比率を有する。
Max3クラス
5ビットグループ
Figure 2022160484000022
これ2つのバージョンの3値コード単位の定義は、コード単位のためにより多くのコードアドレスを作成でき、収容するように設計されている異なる固有コード値の数より多く、それによってデータセットに表示される固有値の数より多くのアドレスを提供するという点を示すように設計されている。3つの3値コード単位からなる処理ユニットを使用するスキーマは、データ圧縮のためにデジタルデータ入力ストリームをエンコーディング及びデコーディングするように設計されていると仮定する。前記設計では、デジタルデータ入力ストリームのコード単位を1つずつ読み取ると共に、0ヘッドデザインの定義を使用して3つの隣接するコード単位を1つのユニットである処理ユニットにエンコーディング(又はその後の復元のためにデコーディング)する。エンコーディング又はデコーディングの機能としては、0ヘッドデザインのコード単位定義をリーダーとして使用することによって3つの3値コード単位(3つずつ)を読み取り、そして3つのコード単位のコードを1つのコードブロック(1つの処理ユニットのコード)として扱うと共に別のコードブロックを使用してそれを変更し、例えば1ヘッドデザインのコード単位定義をリーダーとして使用することによってエンコーディングする時にそれをエンコーディング又は書き込み、あるいは1ヘッドデザインのコード単位定義を使用してエンコーディングコードを読み取ると共に0ヘッドデザインのコード単位定義を使用してそれを書き返し、デコーディングする時にそれをオリジナルコードに復元し、あるいは他の設計のマッピングテーブルを使用してエンコーディング及びデコーディングする。ここで使用されるコード単位には3個の固有コード値があるため、処理ユニットは表現のために最大27個の固有値(3個の値に3つのコード単位をかけて27個の固有値に等しい)を収容するように設計される。次の数式を使用して利用可能なアドレスの数を計算することができる。
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値コード単位の処理ユニット及び対応するエンコーディング及びデコーディングプロセスにおけるこのスキーマ及び設計の使用について、より詳細に詳述する。現在、特定のデータセットに不均一性を作成するための技術は、最初に次のように説明される:
不均一性をそれぞれのデータ割り当てに作成して圧縮可能にするためにデータセットを変更するビット0とビット1の比率を理解するために、以下、コード値の定義が異なる6値コード単位の図表14ではコード値定義及びコード単位定義のさらなる例を示す。
図表14a
20ビット(Max6クラス20ビットグループ)を使用する6値コード単位のコード値の定義:1つの多重分岐は2つのバージョンを有し、一方は5:15、他方は15:5のビット0とビット1の比率を有する。
Max6クラス
20ビットグループ
Figure 2022160484000023
図表14b
16ビット(Max6クラス16ビットグループ)を使用する6値コード単位のコード値の定義:3対の単一分岐は2つのバージョンを有し、一方は7:9、他方は9:7(スキュー割り当て)のビット0とビット1の比率を有する。
Max6クラス
16ビットグループ
Figure 2022160484000024
図表14c
16ビット(Max6クラス16ビットグループ)を使用する6値コード単位のコード値の定義:2対のノースキュー単一分岐は2つのノースキューバージョンを有し、これらのバージョンはビット0とビット1の比率が等しく、ビット0とビット1の比率がいずれも8:8(ノースキュー)である。
Max6クラス
16ビットグループ
Figure 2022160484000025
図表14d
17ビット(Max6クラス17ビットグループ)を使用する6値コード単位のコード値の定義:1対の単一分岐と1対の多重分岐は2つのバージョンを有し、一方は6:11、他方は11:6のビット0とビット1の比率を有する。
Max6クラス
17ビットグループ
Figure 2022160484000026
図表14e
18ビット(Max6クラス18ビットグループ)を使用する6値コード単位のコード値の定義:1対の単一分岐と1対の多重分岐は2つのバージョンを有し、一方は6:12、他方は12:6のビット0とビット1の比率を有する。
Max6クラス
18ビットグループ
Figure 2022160484000027
図表14f
19ビット(Max6クラス19ビットグループ)を使用する6値コード単位のコード値の定義:2対の単一分岐は2つのバージョンを有し、一方は6:13、他方は13:6のビット0とビット1の比率を有する。
Max6クラス
19ビットグループ
Figure 2022160484000028
図表14から分かるように、異なるビット0とビット1の比率を有する16ビットから20ビットを使用することによって、6値コード単位について複数の定義があり得る。そのため、コード単位は、主にそれが収容する固定データ値の最大数によって分類され、次にビットサイズの数によって分類され、そしてヘッドデザインのバージョン(0ヘッドか1ヘッドか)によって分類される。デジタルデータセットの特性及び特徴を記述するための言語(本発明において開示されるように、CHANフレームワークの構造要素及びCHANコーディング技術の特性又は特徴を記述するために使用される用語を使用するCHANフレームワーク言語)の基本単位として使用されることに加え、コード単位を定義するこのスキーマは、デジタルデータを操作するための基本単位としてコード単位を使用する時に大きな柔軟性を可能にする。これは、ビットサイズのみに基づいてコード単位を定義する従来の方法とは異なり、従来の方法では特定のビットサイズのコード単位は1つのバージョンのコード定義しか持つことができず、ここで表現される固有値の最大の数を変えることはできず(例えば、従来の方法で定義された3ビットコード単位に対しては、表現すべき8個の固有値があり、また8つの可能な組み合わせのうち6個だけの固有値を表し、他の2個の固有値を無視して処理又は処理されないようにすることはできない。つまり、それが従来の方法で定義された3ビットコード単位を持つデータセットに表示される場合、他の2個を処理せずに6個の固有値のみを処理することができない)ヘッドデザインが異なることもない。CHANフレームワークのコード定義スキーマでは、コード単位定義に異なるバージョンを有する定義、コード単位の合計ビットサイズの変更、コード単位の値ビットサイズの変更、またコード単位の対応するように設計されている固有値の数の変更及び0ヘッド又は1ヘッドデザインの変更を含むことができる。
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個の固有コード値の頻度分布
Figure 2022160484000029
図表15は、このような生成の実例の1つである。それを生成する自動化プログラムを一度実行すると、このような実例が1つ生成される。各実例は他の実例とわずかに異なる。しかし、一般的に、6値コード単位の頻度分布のこのような実例は6個の固有コード値に対して毎回ほぼ同じ割合を維持する。ノースキューバージョンのコード値と6値コード単位の3対の単一分岐バージョンとのクロスマッピング及び関連計算は図表16に示すとおりである。
図表16
ノースキューの6個のコード値と6値コード単位の3対の単一分岐バージョンとのクロスマッピング
Figure 2022160484000030
それで、このようなクロスマッピングによって、ビット1の数は80000の全2進数ビットのうち41ビットだけ増加したことが分かる。これは比較的小さい数字である。しかしながら、ビット1を増加させるそのような傾向が続けられ得るならば、データ割り当ては徐々に乗数効果を伴ってビット1に向かってゆがめられる。スキューが大きければ大きいほど、達成可能な圧縮の節約が大きくなる。そのため、コード単位の異なる設計のコード値間のクロスマッピングのパターンをよく理解するために、より多くの実験を試みる必要がある。この場合、ノースキューと3対の単一分岐の両方のバージョンは16ビットを使用し、そしてマッピングは2ビット値が2ビット値にマッピングされ、3ビット値が3ビット値にマッピングされるように行われ(つまり、対応するコード単位値に同じビットサイズのエンコーダを使用する)、従って、ビット使用数に変化はないが、ビット0とビット1の比率にはわずかな変化しかない。さらに、6値コード単位設計の上記の全てのバージョンに対して、16ビットから20ビットを使用することによって、各ビットサイズにほとんどの場合2つの対応するバージョン(つまり、0ヘッドデザイン及び1ヘッドデザイン)を有する。そのため、これら2つのバージョンのコード値間(又は図表18のように1つのバージョン間でも)のクロスマッピングを1つのエンコーディングサイクルから別のエンコーディングサイクルに利用でき、それによって合計ビット使用数を変更せずに、ビット0とビット1の比率を変更する目的に用いられる。図表16に示すように、最初のエンコーディングサイクルでは16ビットの2つのバージョン間のクロスマッピングを使用でき、次のサイクルでは20ビットバージョンを使用でき、3番目のサイクルでは18ビットバージョンを使用できる等と仮定する。もちろん、このようなクロスマッピングを行う過程で、2つのビット値の間のビット比に従って特定のビット(ビット0又はビット1)を増やす傾向が1つのエンコーディングサイクルから別のエンコーディングサイクルまで維持されるように、コード値読み取りのための頻度分布を最初に見つけ、また最良のクロスマッピングテーブルを設計すべきである。さらに、この目的の実現は同じビットサイズの2つのバージョンのコード単位設計間のクロスマッピングを使用してもよく、図表17に示すように、1つのバージョンのコード単位設計自体のクロスマッピングのみを使用してもよい。
図表17
ノースキューバージョンの6値コード単位自体の6個のコード値間のクロスマッピング
Figure 2022160484000031
上記図表から分かるように、コード単位設計自体のコード値間のクロスマッピングを使用すると、ビット0とビット1の比率も変更される可能性がある。また、図表17に示すように、この場合の結果は、図表16における2つのバージョンのコード単位設計の変更結果に比べてより優れる。
さらに、ビット0とビット1の比率を一方に傾けることを目的としたこのようなクロスマッピングは、6値コード単位設計を使用できるだけでなく、また異なるエンコーディングサイクルにおいて任意のX値コード単位に対するコード単位設計を使用してもよい。例えば、最初のサイクルでは6値コード単位設計を使用し、次のサイクルでは12値コード単位設計等を使用できる。これは傾斜の傾向が維持される限りである。そのため、データ割り当てスペクトル内のビット0とビット1の比率の任意の点から始まる特定のデータセットに対して、ビット0とビット1の比率を変更する機会は無限にある。そして、このようなクロスマッピングのパターンが見つけられて記録される限り、このようなクロスマッピングの論理及びそれがデータ割り当てスペクトル内のビット0とビット1の比率の任意の点で始まるデータセットがたどる経路をエンコーダ及びデコーダに埋め込むことができる。あるいは、各エンコーディングサイクルに応用されるように、このようなクロスマッピングの論理及び経路はインジケータとしてエンコーディングコードのヘッダー内に置かれ、その結果、後でデコーディングするとオリジナルコードを正確且つロスレスに復元することができる。もちろん、エンコーダ及びデコーダにコード値のクロスマップを埋め込むというこの論理及び経路はビット使用数をさらに最小限に抑え、圧縮エンコーディング段階では圧縮することに役立つ。そのため、合計ビット使用数を変更しない場合に、別々の同一のコード単位設計又は異なるコード単位設計のコード値のクロスマッピングを使用することによって、データセットのビット0とビット1の比率を1回以上変更してデータ割り当てを変更し、データセット内に不均一性を生成する目的の中間ステップとして使用することができ、他の技術を使用して圧縮するエンコーディング段階では特定のデジタルデータセットの圧縮を可能にするか又は強化することができる。さらに、特定の段階又は任意のエンコーディングサイクルにデータセットのビットサイズを変更することはそれほど重要ではなく、重要なのは最終結果である。そのため、データ割り当てやデータセットのビット使用数を変更することは、常にエンコーディングステップに関連する。この開示の新規な特徴は、データ圧縮の目的としてビット0とビット1の比率を変えることに従って任意のデータセットのデータ割り当ての変化が一般的に一方向に傾けるべきであるようにエンコーディングが設計されるべきであることである。コード単位定義をリーダー及びライターとして使用してデジタルデータセットのビット0:ビット1の比率を変更することに加えて、処理ユニット定義は、また段落[0115]と図表55及び段落[0116]と図表56に示されるのと同じ目的を果たすことができる。結果ははるかに優れる。従って、より大きなサイズのコード単位又はより大きなサイズの処理ユニットを使用すると、より大きな差が特定のデータセットのデータ割り当てにおける不均一性として生成、捕捉、発生されることになる。
そのため、ビット0:ビット1の比率を一般的に一方向に傾けることに関して(適切な場合には特定の点まで)任意のデータセットのデータ割り当てを変更する中間段階の後に、このような割り当てのデータセットをビット0:ビット1の比率のその点で圧縮するのに適した技術を使用してデジタルデータセットを圧縮することができる。従って、まずランダムデータセットが圧縮を行うために与えられている場合、上記の段落[0062]から[0064]又は下記の段落[0115]及び[0116]に概説されている技術を使用して、ビット0:ビット1の比率を一方向に傾けるように変更することができる。次に、データ割り当てに応じて、圧縮を行うためにコード値のクロスマッピング技術を使用することができ、そして、例えば、現在使用している実例において同じ値サイズであるが異なるビットサイズのコード単位のコード値のクロスマッピングを使用する。20ビットサイズの6値コード単位(又は適切な場合はその他の任意のビットサイズ)のようなビットサイズの異なる6値コード単位を使用してデータセットを読み取り、またこれらのコード値を、処理中のデータセットのコード値の頻度分布に応じて、エンコーディングの目的で19ビットサイズ(又は適切な場合はその他の任意のビットサイズ)の6値コード単位のコード値とクロスマッピングする。つまり、コード値のクロスマッピングを行う際に、ビット0:ビット1の比率でデータ割り当てを変更するために、コードアドレスが同じビット値サイズのデータ値に1対1に対応するようにマッピングされた同じX値コード単位を使用する。ただし、ビット使用数を減らすためにデータ圧縮を実行するには、1対1のマッピング関係を持つ同じX値のコード単位を代わりに使用する必要があるが、データ値のビット値サイズは異なる。しかしながら、これは、ビット使用数を変更することと、同時にビット0とビット1の比率を変更することとの両方のために、異なるコード値サイズのコード単位を使用することを排除するものではない。このような目的で処理装置を使用する場合も同様である。
従って、以上から分かるように、修正されたCHANフレームワークでは、コード単位サイズは、現在、コード値の数及び図表14に示されている異なるビットサイズを有する6値コード値の実例で示されている2進数ビットの数で測定可能であり、特定の数の値及びビットサイズを有する任意のコード単位定義のためのコード単位の固定コード値のビット0とビット1の比率及び頻度分布等、データセットの他の特徴も研究及び発見することができる。これにより、任意のデジタルデータセットを記述し、並びにデータ暗号化やデータ圧縮をオリジナルデジタルデータの正確且つロスレスな復元と共に行う目的を含むあらゆる目的のために適切なエンコーディング及びデコーディング技術を使用するのに役立つ。
コード単位サイズの定義の変更に伴い、コード単位は、現在、コード単位が収容するように設計されているコードの数に基づいて、そしてコード単位を全体として使用される2進数ビットの数に基づいてサイズを決めることができる。処理ユニット(エンコーディング又は1つのエンコーディングコードブロックを書き込むためのユニット)は1つのコード単位のみで構成でき、図表14に示すように、同数のコード値を有するコード単位は、各コード値及びコード単位全体に対して、異なるビットサイズを有するように設計することができる。そのため、コード単位は、他の読み取りユニットと組み合わせる必要なく単独で使用して処理ユニットを形成できる基本読み取りユニットであり、エンコーディングプロセス中にエンコーディングされたコードを書き込むと共にデコーディングプロセス中に読み返すために用いられる基本書き込み/読み取りユニットでもある。
ランダムデータは非圧縮性であると長い間考えられている。データセット内のビット0とビット1の比率を変えるため、上記CHANフレームワークを使用する時が来た。また、開示すべき他の技術は以下のとおりである。
これらの他の技術は、CHANフレームワークの下のCHANコーディングで使用されるエンコーディング技術として分類することができる。CHANコードの分類コードを生成するため、コード単位の特性又は特徴(単一又は組み合わせのいずれかでもよい)を識別して組織することは、そのような技術の1つであり、例えば、コード単位のランク及び位置を使用してRPコードを生成し、又はコード単位のコード値(単一又は組み合わせ)を記述するために使用できる数式を設計し、そしてエンコーディング及びデコーディングの目的にも使用し、例えば、CHANコードの内容値コード、CVサブブロックを作成するために使用することができる。そのため、CHANフレームワークの下のCHANコードの基本部分(コード単位の特性又は特徴を説明する部分)は、分類コードと内容値コード(あるいは内容コードと略称する)に分けることができる。CHANコードに属すると見なされ得る他の部分は、他の識別コード又はインジケータ(例えば、CHANコードファイルのメインヘッダー内、又はデジタルデータファイルのセクションに使用されるセクションヘッダー内に含まれる)を含み、この識別コード又はインジケータは、CHANコードの基本部分をエンコーディング及びデコーディングするために使用されるクロスマッピングテーブル(マッピングテーブルインジケータ)、特定のデジタルデータ入力に対するエンコーディング及びデコーディングのサイクル数(サイクルインジケータの数)、CHANコードファイルについて計算されたチェックサム(チェックサムインジケータ)、任意特定のエンコーディング及びデコーディングサイクルにおけるデジタルデータ用のエンコーディングされていないコード単位(存在している場合)、及び適切且つ必要な場合でCHANコードの識別、エンコーディング及びデコーディングを目的として使用するために設計者によって設計されたその他のインジケータを識別するために使用される。例えば、このようなインジケータの1つは、エンコーディング及びデコーディングに使用するためのスーパー処理ユニットを構成する処理ユニットの数であり得る。その他は、適切且つ必要な場合で、頻度によるCHANコードの分類コードを調整するためのインジケータ、及び頻度によるCHANコードの内容コードを調整するためのインジケータである(即ち、分類コード及び内容コードを使用する0ヘッド又は1ヘッドデザインを、適切な場合で処理中のデジタルデータセットのビット0:ビット1の比率のパターンの頻度インジケータ(略して頻度インジケータ)に調整する)。スーパー処理ユニットの概念と使用方法、及び頻度によるCHANコードの調整も、以下のように開示される。
CHANコードで使用される1つの基本技術(即ち、絶対アドレス分岐)は、前述の説明のいくつかの箇所で既に説明されている。ランダムデータセットを圧縮する際に、この技術がどのように使用されるべきであるか、即ち、ランダムデータセット全体のビットストレージ使用数を減少させることについて詳しく説明する必要がある。この使用法は、コードアドレス数とコード値数との間の関係に関する問題を議論する際に、段落[0060]及び[0061]で簡単に触れられた。記憶をリフレッシュするため、その議論において、3つの3値コード単位からなる処理ユニットは、コードアドレスの数が、エンコーディング及びデコーディングのための処理ユニットが収容するように設計されているコード値の数よりも大きくなり得ることを開示するために使用される。これは、コード単位の新しい定義を使用して実現でき、コード単位のサイズは、コード単位が収容するコード値の数、及びコード単位に使用される異なる固有コード値のビット数並びにコード単位全体のビット数によって測定されるように設計できる。6値コード単位を使用するこの特徴の設計及び定義を図表14に示している。また、絶対アドレス分岐技術を使用するため、この特徴を実現することもできる。
その議論において、処理ユニットの27個の固有コード値がコードアドレスによってどのように表されるか、及びエンコーディング並びにデコーディングの目的で特殊な処理アドレスとしていくつかの代替アドレスを使用することについても簡単に説明される。例えば、1種の設計において、27個の固有コード値は、5個の4ビット基本アドレス及び22個の5ビット単一分岐アドレスによって表すことができる。従って、次の実例は、コード値がコードアドレスとどのようにクロスマッピングされるかを示している。
図表18
27個の値の分類絶対アドレス分岐コード表(CAABCT)
実施例I
Figure 2022160484000032
上記の分類絶対アドレス分岐コードテーブル(CAABCT)の実施例Iを使用することにより、処理ユニットの3つの3値コード単位の27個のコード値は、クラスビット(分類コード)、ノーマルビット、分岐ビット(内容コード)を含むCHANコードに1つずつクロスマッピングされ得る。ただし、このバージョンのCAABCTの実施例Iを使用すると、ランダムデータの頻度分布のため、ランダムデータセットを圧縮できない可能性がある。しかしながら、デジタルデータセットを圧縮でき、デジタルデータセットの27個の固有コード値の全ての頻度はほぼ同じか、又は、27個の固有コード値の全ての間でほぼ均一である(例えば、特定のデータセット内の27個の固有コード値の全ての頻度が1の場合、以下の図表20に示すように、27個の固有コード値の全てが合計135ビットを使用し、また、上記の図表18で合計130ビットだけを使用してコードアドレスとクロスマッピングされた場合、9ビットの圧縮が節約されるはずである)。そのため、問題となるのはコードアドレスの数だけでなく、固有コード値の頻度分布も、ランダムデータセットを圧縮するための新たな障害となり、さてこの問題を解決しよう。
図表19に示される3値コード単位の定義の性質のため、コード単位のビット0:ビット1の比率は2:3であるので、図表20に示すように、3つの3値コード単位の処理ユニットの27個のコード値の頻度分布は均一分布ではない。
図表19
3値コード単位の定義:0ヘッドデザイン
ビット0:ビット1の比率=2:3
Figure 2022160484000033
図表20
3つの3値コード単位からなる処理ユニットは、図表19のコード単位の定義を使用して80,000ビットのランダムデータセットから読み取られた27個の固有コード値の未分類頻度分布の実例
Figure 2022160484000034
別の自動化プログラムを実行して図表20の頻度番号を生成し、結果は図表21にリストされている。
図表21
図表20を生成したプログラムを使用して生成された別の結果
Figure 2022160484000035
頻度:2273 1175 1149 1123 1072 1060 1045 593 591 576 561 559 551 548 542 542 540 531 508 304 294 288 279 277 276 266 262
オリジナル: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
Figure 2022160484000036
上記の実施例IIでは、その27個の固有テーブルコードに同じビットを使用し、例えば、処理ユニットを構成する3つのコード単位のうち、3値コード単位0ヘッドデザイン(値1=0、値2=10、値3=11)によって読み取られたデータセットで生成された27個の固有コード値(ビット使用で分類)で使用される場合、ビット使用結果は、生成されて図表21にリストされたオリジナルランダムデータセットの実例と同じである。生成されて図表21にリストされ、0ヘッドデザインの上記3つの3値コード単位を使用して読み取られたランダムデータセットは80001ビットを占め、そして、実施例IIにおけるCAABCT(図表23の表2a)のテーブルコードとのクロスマッピングにより読み取られたランダムデータセットをエンコーディングするためのビット使用は同じで、80001ビットである。実施例IIのCAABCTは、27個の固有テーブルコードの全てに最大135ビットを使用し(テーブルコードあたり1カウント)、実施例IのCAABCTでは、130ビットしか使用されていない。しかし、ランダムデータセット内の27個の固有コード値の不均一な頻度分布のため(この不均一は、基準のコード単位の各値及び一致するビットサイズに対して設計された基準及び同じビットサイズでデータを読み取る従来の方法ではなく、読み取り時に3値コード単位の0ヘッドデザインが使用されるためである)、実施例IのCAABCT(その27個の固有テーブルコードの1カウントごとに均一な頻度分布のために130ビットを使用する)は、80001ビットのオリジナルランダムデータセットをエンコーディングする時に、実施例IIで使用されたCAABCTよりも多くのビットを使用し(27個の固有テーブルコードの1カウントごとに均一な頻度分布のために135ビットを使用する)、図表23に示すように81989ビットを使用し、これは圧縮ではなく拡張である。表2aから表3の結果(表2aは、段落[0085]から[0093]及び図表29で論じたように、表2aは、CAABCT2を用いたクロスマッピングの結果であり、表2bは、CAABCT1を用いたクロスマッピングの結果であり、そして表3は、CAABCT0を用いたクロスマッピングの結果である)を図表21にリストし、以下のように抽出する。
表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つは、スーパー処理ユニットを使用し、特別に設計されたコードテーブルを使用することによってマッピング又はエンコーディングすることである。
スーパー処理ユニットを使用するという概念は、ランダムデータセットが実際にはいくつかの不均一なデータサブセクションから構成されていると考えられ、また、データコード値の頻度分布の性質のため、ランダムデータセットが圧縮されない可能性がある場合、ランダムデータのデジタルデータ入力ファイル全体が不均一なデータのサブセクション(ここでは、スーパー処理ユニットと呼ばれる)に分割される可能性があり、ランダム割り当てのデジタルデータ入力全体を圧縮することを可能にするため、このような単独のスーパー処理ユニットに対して、不均一なデータ割り当てを利用して圧縮を可能にするという技術を適用できる。これは分割統治戦略である。
従って、デジタルデータ入力ファイル全体は、いずれかの極端箇所にランダムからひいては完全に不均一なデータ分布スペクトルの特定の点におけるデジタルデータの全ての処理ユニットからなる巨大処理ユニットと見なすことができる。圧縮科学の分野では、データセットの不均一な性質を利用することによって圧縮技術を実現することのみ可能である。そして、これまでのところ、ランダム割り当てのデータセットは非圧縮性であると考えられている。従って、ランダムデータ全体の処理ユニットからなる単一の巨大処理ユニットは、スーパー処理ユニットと呼ばれるいくつかの処理ユニットからなるサブセクションに分割することができ、それにより、これらのデータサブセクションを圧縮するための技術を設計することができる。そのため、巨大処理ユニットとは、エンコーディング及びデコーディングの対象となる全てのデータコードを含む全体単位と定義され、従って、エンコーディングされていないコード単位が除外され、コード単位は、例えば、適切な場合で1つの処理ユニット又は1つのスーパー処理ユニットのサイズにならないため、エンコーディング及びデコーディング処理をされていないデータコードからなる。巨大処理ユニットは、そのような分割又は他の目的を通じたランダムデータの圧縮等の特定の目的のために、エンコーディング及びデコーディングのためにいくつかのスーパー処理ユニットに分割することができる。スーパー処理ユニット用のデータのエンコーディング及びデコーディングは、処理ユニットに行われるエンコーディング及びデコーディングによって使用されるエンコーディング及びデコーディング技術又はプロセスに対して行われる何らかの調整を必要とし得る。従って、スーパー処理ユニットは、1つ以上の処理ユニットから構成されるデータユニットである。それは、処理ユニットに対して行われたエンコーディング及びデコーディングに対する何らかのエンコーディング調整を受ける可能性がある。
ランダムデータを圧縮する目的でスーパー処理ユニットがどのように使用されるかを理解するため、図表20の0ヘッドデザインの3つの3値コード単位からなる処理ユニットの27個の固有コード値をまず下の図表23に分類して列挙する。
図表23
3つの3値コード単位からなる処理ユニットは、図表19のコード単位定義を使用して80,000ビットのランダムデータセットから読み取られた27個の固有コード値の分類/未分類頻度分布の実例
Figure 2022160484000037
上記の図表23の27個の固有コード値の分類されたランク値は、ビット使用の観点から4つのグループに分類できる。グループ1の1個のコード値は3ビット、グループ2の6個のコード値は4ビット、グループ3の12個のコード値は5ビット、そしてグループ4の8個のコード値は6ビットである。任意の時点で生成されるランダムデータの頻度分布におけるわずかな変動のため、特定のグループ内の各コード値のランクはランダムデータセットに応じてわずかに変動する可能性がある。しかしながら、ランダムデータの実例と他の実例との間の頻度に関して、コード値はあるグループから別のグループに移動しない。それらの変化が非常に大きい場合、データ割り当てはまったくランダムではない。
ランダムデータはそのような同様のデータコード値の頻度分布を有するので、それらとのクロスマッピングのために異なるバージョンのCAABCTを設計することができ、そのようなCAABCTを使用してエンコーディングした後のビット使用の結果を述べ、図表21に示す。CAABCTのテーブルコードと、あるデータ割り当ての特定のデータセットを処理するためのCHANフレームワークの下での処理ユニット及びコード単位の特定のスキーマ及び設計のデータコード値とのクロスマッピングに対して、27個の固有コード値のデータコード値の頻度ランクは、ランダムデータセットのコード値とは異なり得る。そのため、CAABCTのテーブルコードと27個の固有コード値のクロスマッピングを設計して圧縮の最良の結果が得られるため、そのような27個の固有コード値の頻度の順序を知る必要がある。従って、この順序の固有コード値頻度は、最初に対象データセットを分析することによって得られるべきであり、そのような情報は処理のためにエンコーディング及びデコーディングに利用可能にされなければならない。この情報は、データセットごとに異なる可能性があるため、オリジナルデータセットを適切に復元するために後でデコーダに割り当てるために、エンコーディングされたコードのヘッダーに含めることができる。ランダム割り当てにおけるデータセット、及びエンコーディング及びデコーディングされたデータコード値とテーブルコード値とのクロスマッピングの割り当てについても同様である。しかしながら、ランダムデータセットのグループ内のコード値の頻度ランクにおけるわずかな変化が許容可能であると考えられる場合、そのような情報はヘッダーから省略することができる。ただし、処理するために使用されるCAABCTのインジケータ(又はCAABCT全体の内容)は依然としてヘッダーに収容されているか、又は必要に応じてエンコーダ及びデコーダに利用可能又は組み込まれている。CABCTがここで使用されるのは、0ヘッドデザインの3つの3値コード単位を使用して、処理ユニットの27個の固有コード値に対するマッピングコードテーブルを設計する際にAAB技術が使用されるためである。そのため、AAB技術を使用しない他のマッピングコードテーブルも、適切な場合に使用するように設計できる。従って、この議論の場合に使用するためのCAABCTの言及は、一般にエンコーディング及びデコーディングにおけるマッピングコードテーブルの使用にも適用される。
ランダムデータセットの圧縮を行うためにCAABCTがスーパー処理ユニットのエンコーディングにどのように使用されるかを見てみよう。スーパー処理ユニットの使用はランダムデータセットをデータのサブセクションに分割することを目的としているので、スーパー処理ユニットはランダムデータセットとは異なるデータ割り当てを持つように設計され、不均一なデータを圧縮する技術に使用することができる。例えば、フルセットの処理ユニット(本実例では27個の固有データ値エントリ)と等しいかそれより少ない数の処理ユニットを有するスーパー処理ユニットは、不均一なデータ割り当てを有することが保証される。ただし、データの全ての不均一なサブセクションが圧縮可能であるという意味ではない。これは、あるデータ割り当てのデータを圧縮するのに役立つ圧縮技術又はマッピングコードテーブルは、他の異なるデータ割り当てのデータには適していない可能性があるためである。これは、異なるデータ割り当てのスーパー処理ユニットを圧縮する際に、複数の圧縮技術又はマッピングコードテーブルを使用しなければならないことを意味する。
ランダムデータセットをスーパー処理ユニットの形でデータサブセクションに分割する方法及び技術において、スーパー処理ユニットを2つのグループに分類し、CAABCTを使用して一方のグループのスーパー処理ユニットの処理ユニットをエンコーディング及びデコーディングし、別のCAABCTを使用して他方のグループのスーパー処理ユニットの処理ユニットをエンコーディング及びデコーディングする。このように、2つのグループのうちのいずれかに対してCAABCTが使用されるインジケータをスーパー処理ユニットに適用しなければならない。そのため、この方法を使用して圧縮を行うには、追加のビット使用が必要になる。そして、圧縮を行うために関連するCAABCTを使用して実施されるエンコーディングは、各スーパー処理ユニットのCAABCTビットインジケータ及び他の追加情報(ヘッダーに含まれるもの等)を使用することによってもたらされるビット使用より多いビット使用節約をもたらすはずである。これは今後の非常にやりがいのある作業である。
これまでにこの目的のために使用されることが示唆されている技術は以下のとおりである。
(a)スーパー処理ユニットの使用
(b)スーパー処理ユニットをグループに分割し、ここでは、まず2つのグループに分割する。及び
(c)(2グループのスーパー処理ユニットの)固有データコード値と固有テーブルコード値との間のクロスマッピングのためのCAABCT(この場合は2つ)の使用、及びCAABCTインジケータの使用。
使用のために分割されるべきスーパー処理ユニットのサイズ及びスーパー処理ユニットがどのようにグループ化又は分類されるべきか、及びどのCAABCTが使用されるべきであるかに関して問題が生じる。
これらの問題に対する答えは、図表23の上記の議論の場合に使用されている実例で見つけられなければならず、ここで、処理ユニットは、0ヘッドデザインの3つの3値コード単位を含むように設計され、従って、約80000ビットのランダムデータセットに対して頻度によって分類された27個の固有コード値を有する。図表21は、段落[0073]から[0075]まで説明した2つのCAABCTでは、ランダムデータセットに対して圧縮を実行できない可能性があることを示している。これは、エンコーディングのためにランダムデータセットをスーパー処理ユニットに分割することであり、これはこの状況に対する解決策として提案されている。従って、スーパー処理ユニットは、それぞれがランダムデータ割り当てを持たないように分割されなければならない。従って、固定ビットサイズ又は固定範囲のビットサイズ又は固定数の処理ユニットを有するスーパー処理ユニットを使用することができ、それによって各スーパー処理ユニット内のデータ割り当てがランダムではないことが保証される。従って、段落[0073]から[0075]までの議論は、27個以下の処理ユニットからなるスーパー処理ユニットは、27個の固有コード値(全て存在するか否かに関わらず)が従来の意味で固定ビット値サイズを使用して設計されたコード単位のランダムデータセットを構成しないため、基準を満たすべきであると判断される。0ヘッドデザインの3つの3値コード単位からなる処理ユニットのスキーマ及び設計を使用して読み取る時に固定ビットサイズを使用して従来の意味で設計されたコード単位のランダムデータセットは、図表18に示される27個の固有値のそれぞれの頻度分布特徴の代わりに、図表23に示される固有データ頻度分布特徴が示される。固定サイズのスーパー処理ユニットを使用すると、分割を実現できる方法の1つである。そのため、まずスーパー処理ユニットを27個の処理ユニットのサイズに仮設定する。
ここで、27個の処理ユニットのサイズを有するスーパー処理ユニットは、そのように分割されたスーパー処理ユニットのそれぞれに27個の固有コード値のそれぞれが存在することを保証するものではない。これらのスーパー処理ユニットでは、それぞれが異なるデータ割り当てを持つことができ、27個の固有コード値の全てを持つものもあり、一部の固有コード値が欠落しているものもあり、複数回出現するものもあり、これらは全て様々な方法で存在する。従って、簡単にするため、ここでの実例は、エンコーディング及びデコーディングの目的でこれらの異なるデータパターンを2つのグループに分割する。図表23の80000ビットのランダムデータセットのビット使用及び頻度分布の統計値は、下記の図表24で次のように改善される。
図表24
3つの3値コード単位からなる処理ユニットは、図表19のコード単位定義を使用して80003ビットのランダムデータセットから読み取られた27個の固有コード値の統計値の実例
Figure 2022160484000038
上の図表24から、27個の固有値は、ビット使用又は頻度特徴の観点から4つのカテゴリに分類できることが分かる。カテゴリ1とカテゴリ2はグループ(グループ0)を構成すると、頻度の数では約49.7%、カテゴリ3とカテゴリ4は別のグループ(グループ1)を構成すると、約50.2%になる。これら2つのグループの頻度の数はほぼ同じである。そのため、ランダムデータセットをデータ処理が不均一になるようにスーパー処理ユニット(27個の処理ユニットを使用)に分割することによって、いくつかのスーパー処理ユニットは、グループ1からよりもグループ0からより多くの固有コード値を有するであろうと予想されるが、他のものは代わりにそうするであろう。従って、マッピングコードテーブル(CAABCT0)が、グループ1ではなくグループ0の固有データコード値にクロスマッピングする時に使用するビット値が少なくなるように設計でき、もう1つのマッピングコードテーブル(CAABCT1)は反対である。そして、グループ0からのより多くの固有データコード値を有するスーパー処理ユニットは、圧縮目的のためにCAABCT0を使用してエンコーディングすることから利益を得、そして同じ目的のために、グループ1からのより多くのスーパー処理ユニットは、CCABCT1を使用することから利益を得る。しかし、各スーパー処理ユニットの追加コストに対してどのマッピングコードテーブルが使用されるかを示すインジケータビットに関する問題がある。一方、グループ0のスーパー処理ユニット(即ち、グループ0からのデータ値がより多いスーパー処理ユニット)は、グループ1からよりもグループ0からの1つより多くのデータ値エントリを有することがある。グループ1のスーパー処理ユニットについても同様である。従って、各スーパー処理ユニットに対するマッピングテーブルインジケータビットのこの追加のコストは、前述のコード値発生パターンによって相殺される機会を依然として有する可能性がある。しかしながら、スーパー処理ユニット及びマッピングコードテーブルを使用するエンコーディング及びデコーディング技術を使用する時、より多くのビット使用を節約するのを助けるためにいくつかの他の技術を使用することができる。
これらの他の技術の1つは、エンコーディング及びデコーディングにおいて各スーパー処理ユニットのためにマッピングコードテーブルビットインジケータを使用することを免除する人工知能(AI)技術(又はむしろヒューマンインテリジェンス(HI)技術)の使用である。ここで使用される人工知能技術は、AI基準を確立することによって、このAI基準によってエンコーディングされた各スーパー処理ユニットの内容を区別することであり、2つのマッピングコードテーブルのうちの一方を使用して対応するスーパー処理ユニットをエンコーディングする。このようにして、AI基準が適切に設定されている場合、マッピングコードテーブルビットインジケータは省略され得る。以下は、使用可能なAI基準に関するいくつかの提案である。
(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である。

10
11
サフィックスとして、そして1ヘッドデザインを使用する別のCAABCTは、コード値として次のトリオを使用するサフィックスである。

01
00
(この点については後で説明する)。エンコーディング失敗の別の証拠は、再エンコーディング時のデコーディングコードの最後のビットが1つのコード値に形成されず、固定ビットサイズ又は固定数の処理ユニットを有するスーパー処理ユニットを使用する場合、再エンコーディングされたコード値は、設計された固定サイズを構成せず、再エンコーディング時に固定サイズのスーパー処理ユニットよりも多い又は少ないコードを生成する。
(e)必要に応じてエンコーディングコードの後に追加される追加ビット。上記のAI基準を用いて評価した後でも、エンコーディングのために選択されたCAABCTを識別することが依然として不可能であり、そのような区別をするためにエンコーディングコードのセクション又は単位の最後に追加ビットを追加しなければならない可能性がある。必要であれば、この追加ビットは、正しく解決されない状況をエスケーピングするための安全なエスケープとしての使用のためにのみ提供される。このエスケープは実現する必要がめったになく、従って、ビットストレージは実際にはこの目的には使用されない可能性があり、曖昧な場合には、前述のAI基準の全てが最終的な答えを提供できない場合にのみ使用される可能性がある。これを考慮して、そのようなAI評価は、エンコーディングプロセスの間、並びにエンコーディングの各セクション又は単位が終了した後にも行われるべきである。及び
(f)適切且つ効果的な使用のために発見され設計されたその他の基準。
上記の説明をより明確に説明するために、2つのそのようなCAABCTが図表25と図表26でさらに詳しく説明するために設計されている。
図表25
27個の値の分類絶対アドレス分岐コード表(CAABCT0)
実施例III
Figure 2022160484000039
図表26
27個の値の分類絶対アドレス分岐コード表(CAABCT1)
実施例IV
Figure 2022160484000040
上記2つのCAABCTから分かるように、テーブルコード値のグループ化は、最初の11個のテーブルコードをグループ0にまとめ、残りをグループ1にまとめることに関して少し調整される。このグループ化調整は、より簡単なコード配置の結果である。括弧内のテーブルコード値は、トリオ内のコード値である。CAABCT0では、トリオは1つしかないが、CAABCT1では、トリオは6である。CAABCT0では、トリオは0ヘッドデザインを使用し、つまり、次の形式のサフィックスが付いている。

10
11
一方、CAABCT1では、トリオは1ヘッドデザインを使用し、次の形式のサフィックスが付いている。

01
00
段落[0086](d)で説明されているように、異なる設計のサフィックスの使用は、AIを区別するためのものである。サフィックス設計は、AAB技術を使用した結果として生じるもう1つの使用法である。
以下の図表27は、ビットサイズに従って分類された3つの3値コード単位の処理ユニットの27個の固有データコード値と、CAABCT0及びCAABCT1のテーブルコード値とのクロスマッピングの統合図を示す。
図表27
データコード値(図表24)とCAABCT0及びCAABCT1のテーブルコード値とのクロスマッピング
Figure 2022160484000041
以上の統計データを比較すると、上記2つのCAABCTを使用してランダムデータセットを圧縮することができるか否かは必ずしも明らかではない。マッピングテーブルはランダムデータセット全体には適用されず、その中のいずれか1つのCAABCTに対応し、ビット使用数の点で、より優れて適切なスーパー処理ユニットに適用されるためである。ランダムデータセットを不均一なデータ割り当てのスーパー処理ユニットに分割した後のデータコード値の割り当てパターンは未だ確かめられていない。どのCAABCTを選択していずれか特定のスーパー処理ユニットをエンコーディングすることは、実際のエンコーディング結果に基づくものであり、グループ0及びグループ1のデータコード値の数を数えることによることではない。それぞれのエンコーディングを実際に実現することによって生じるビット使用結果は、どのCAABCTが特定のスーパー処理ユニットに最も適しているかについてのインジケータであることが分かる。
各実施形態によれば、例えば、1つのCAABCTを使用することによって、上記技術に対する強化が可能である。前記CAABCTは、ランダムデータセットの特徴である27個の固有データコード値割り当てを有し、ビット使用数の点で、完全に同じである。そのようなCAABCTの1つがCAABCT1である。CAABCT1を再割り当てしてクロスマッピングに用いられる目的は、図表28に示すとおりである。
図表28
データコード値(図表24)とCAABCT2及びCAABCT1のテーブルコード値とのクロスマッピング
Figure 2022160484000042
CAABCT2は、CAABCT1と完全に同じであり、その違いは(a)と(b)である。
(a)CAABCT2は、0ヘッドデザインを用いてその6つのトリオ(即ち0、10、11)に用いることに対して、CAABCT1は1ヘッドデザイン(即ち1、01、00)を用いてそれらのそれぞれのトリオサフィックスに用いる。
(b)クロスマッピングに用いられる場合、CAABCT2の固有テーブルコード値は、全く同じビットサイズを有するランダムデータセットの固有データコード値にマッピングされ、即ち、3ビットサイズのテーブルコード値は3ビットサイズのデータコード値にマッピングされ、4ビットサイズのテーブルコード値が4ビットサイズのデータコード値にマッピングされ、5ビットサイズのテーブルコード値が5ビットサイズのデータコード値にマッピングされ、6ビットサイズのテーブルコード値が6ビットサイズのデータコード値にマッピングされる。このような方法でマッピングすると、エンコーディング後も同じビットで使用され、ランダムデータセットのデータサイズは圧縮も拡張もされない。
ランダムデータセットを圧縮するためのエンコーディング及びデコーディングの場合、以下に記載のように、スーパー処理ユニットを用いる際に導入された技術をわずかに調整してもよい。まず、ランダムデータセットをエンコーディングする場合、エンコーディングのためにCAABCT2でランダムデータセットのデータコード値をクロスマッピングしてもよい。即ち、0ヘッドデザインの3値コード単位の定義を用いてランダムデータセットを1つずつ読み取り、このような連続した読み取りユニットのうちの3つが、1つの処理ユニットを形成する。それによってCAABCT2と共にクロスマッピングに用いてエンコーディングを行う。上述したように、処理ユニット及びスーパー処理ユニットは、その後1つずつエンコーディングを行う。これは、未エンコーディングのコード単位の他、即ち残された1つの処理ユニットのサイズを構成せず且つエンコーディングされることが不能な少量のコードビットを除く、全てのランダムデータセットに対する全ての変換であり、それによってCAABCT2に基づく変換コードを生成する。この変換されたデータセットを圧縮し(現在CAABCT2でクロスマッピング変換を行った後、このデータセットはこれまでのようにランダムではない)、CAABCT1は、変換データセットから細分化されたスーパー処理ユニットに用いられ、前記スーパー処理ユニットは選定された終了条件を持ち、例えば、オリジナルコード値000は、現在010、CAABCT2の対応するテーブルコード値に変換される。従って、処理中のスーパー処理ユニットは、どこにあってもCAABCT1でエンコーディングすることができ、それによって同一スーパー処理ユニットの変換コードよりもビット使用数がより少ないエンコーディングコードを生成することができ、前記エンコーディングコードはCAABCT1でエンコーディングを行ってもよい。終了条件には、エンコーディングに用いられるCAABCTテーブルコード値010が含まれるため、CAABCT1でそれをエンコーディングすれば、010を011にエンコーディングする。従って、CAABCT2及びCAABCT1でエンコーディングして得られたエンコーディングコードは、オリジナルデータコード値000が010に変換され、且つその後011に変換される。CAABCT1によってスーパー処理ユニットのCAABCT2のエンコーディングコードのサイズを縮小することができなければ、それらのスーパー処理ユニットのCAABCT2のエンコーディングコード値は、その後、影響されないようにされる。従って、オリジナルデータコード値000は010を維持する。従って、これはCAABCT2コードとCAABCT1コードを区別するためのAI基準の1つとしても使用される。CAABCT2の6つのトリオのサフィックスはCAABCT1のサフィックスとは異なるため、従って数多くのサフィックスインジケータもAIを区別するために用いられる。段落[0086]に記載されている全てのAI操作もCAABCT1コードとCAABCT2コードを区別するためにも使用されてもよい。AIを区別するためにそれをオリジナルデータコード値に変換する必要はないため、デコーディングプロセスは問題なく成功するはずである。そのため、CAABCT2を用いて行われた全てのマッピングコード及びその後またCAABCT1を用いて選択的クロスマッピングを行って得られたエンコーディングコードをデコーディングするために、AI技術を使用し、それによって段落[0086]に記載のCAABCT1コードを含むスーパー処理ユニットにAI区別を行ってもよい。そして、CAABCT1コードを含むスーパー処理ユニットが確認された後、その対応するCAABCT1コードは、CAABCT2コードにデコーディングされる。全てのCAABCT1コードがCAABCT2コードに変換された後、CAABCT2のコードテーブルを用いてCAABCT2コードからオリジナルデータコード値へのワンタイムデコーディングを実現することができる。このような方法で、いつでもCAABCT1を使用することによって圧縮することができるコード値を有するスーパー処理ユニットがあれば、このようなスーパー処理ユニットを含むランダムデータセットを圧縮することができると断言してもよい。あるいは、CAABCT1の代わりにCAABCT0を用いてCAABCT2とのクロスマッピングを行い、又は適切な場合に、CAABCT0及びCAABCT1を互換的に用いてCAABCT2とのクロスマッピングを行ってもよい。これらの場合、どのマッピングコードテーブルが任意の特定のスーパー処理ユニットに使用されるかを決定するために、AI基準を適切に調整し又は追加する必要がある。以下の図表29は、全ての3つのCAABCTを用いて完了されたクロスマッピングを示す。
図表29
データコード値(図表24)とCAABCT2、CAABCT0及びCAABCT1のテーブルコード値とのクロスマッピング
Figure 2022160484000043
スーパー処理ユニットを分割するための終了条件に対する調整又は微調整が可能であるため、例えば、スーパー処理ユニットの固定サイズを27個のデータコード値からそれより小さいもの又はもっと大きいものに変更し、又は使用する終了値を000から別のコード値へ変更し、又は固定サイズを有するスーパー処理ユニットの終了値を使用する代わりに、終了値のみを用いてスーパー処理ユニットのサイズを決定する(このように、スーパー処理ユニットは様々なサイズを有してもよい)。あるいは、3つではなく4つの6値コード単位を用いて処理ユニットとする等、他のサイズのコード単位(6値コード単位とそれに設計されたCAABCTセットを使用する等)又は他のサイズの処理ユニットを使用してもよい。CHANフレームワークでは、このような変形は無限に続く可能性があるため、ランダムデータセットが圧縮されることは決してないとは言えない。逆により確実である。ところで、段落[0062]から段落[0066]に記載されているビット0:ビット1の比率を変更する技術は、まずランダムデータセットの頻度分布を不均一なデータセットに変更するために用いられ、前記データセットは、その後不均一なデータ割り当てを利用した技術によって圧縮されるために適用する。
上記進歩性を有する発明は、エンコーディング及びデコーディングがランダムであるか否かに関わらないデジタルデータセットに用いられる多くの新規な技術を開示し、暗号化/復号及び圧縮/解凍に用いられる。設計者、実施者及びユーザに期待されている目的を達成するためにこれらの技術を組み合わせてもよい。CHANフレームワークの下で導入された構造的特徴及びエンコーディング技術を利用するために、また他の技術を設計し且つ実現してもよい。
単独で、又は上記で紹介した技術と組み合わせて使用することができ、より簡単で、有用な別の技術がある。これは、異なるサイズの動的処理ユニットと共に人工知能技術を用いてコード値定義を動的に調整することによるエンコーディング及びデコーディングである。スーパー処理ユニットの上記説明において、スーパー処理ユニットのサイズを決定するために終了値のみを用いると、スーパー処理ユニットのサイズが異なるようになる。即ちデジタルデータセットの異なる位置で、異なる数の処理ユニットによってスーパー処理ユニットを構成する。そのような割り当てに対して適切な終了条件を設計することによって、異なる数のコード単位を処理ユニットとして動的にエンコーディング及びデコーディングすることもできる。エンコーディング及びデコーディングの過程で、サイズ及び処理中のコード値の定義に対する動的な調整も可能である。
段落[0096]に記載された技術について、即ちデータ割り当てを変更する状況に、異なるサイズの処理ユニット(本実施例において、3つのコード単位及び4つのコード単位の処理ユニットが説明のために使用される)を動的に使用する技術、前記技術は以下の図表30にリストされている0ヘッドデザインの3値コード単位の設計を用いる。
図表30
1つの3値コード単位の処理ユニット
Figure 2022160484000044
従って、処理ユニットは、処理中の任意点でのデータ割り当ての変化する状況に応じて、0ヘッドデザインの3つ又は4つの3値コード単位で構成される。この新しい技術は、ランダムであろうとなかろうと、あらゆるタイプのデータ割り当てのデータエンコーディング及びデコーディング処理を豊かにする。
この技術を設計することは、終了条件という概念を使う結果である。考えられている終了条件は、処理ユニットの終了点(ここでは0ヘッドデザインの3値コード単位が用いられる)が、3値コード単位の3つの固有コード値が全て現われたか否かに基づくことである。論理的な推論により、このような終了条件の定義に基づく場合、処理ユニットは、明らかに3値コード単位を備える3つのコード単位のサイズより小さいことはない。従って、全ての3つの固有コード値が3回連続して出現した場合、処理ユニットのサイズは3つのコード単位になる。そうでなければ、処理ユニットのサイズが3つのコード単位を超えるべきである。それは4つ、5つ又は6つ等になってもよい。そのため、終了条件(終了条件は、即ちMax3 5ビットコード単位における全ての3つの固有コード値が現れる)が満たされていない場合、簡単に4つのコード単位を用いて別の終了点としてもよい。つまり、0ヘッドデザインの3値コード単位の定義を用いて3つの連続したコード値を読み取る場合、全ての3つの固有データコード値(即ち図表30にリストされているv1、v2及びv3)を取得することができず、終了点は読み取られた4番目のコード値に終了し、このような状況で、全ての3つの固有コード値が現れるか否かに関わらず、4つのコード単位が処理ユニットになる。3つの連続したコード値を読み取ることによって、全ての3つの固有データコード値が現れる場合、終了点は読み取られた3番目のコード値にあり、且つ処理ユニットは3つのコード単位から構成される。それで、処理ユニットのサイズは、そのコード単位の数に定められ、前記数は、処理中のデジタルデータセットのデータ割り当ての状況に応じて動的に変化する。データ割り当ての状況によれば、処理ユニットが4つのコード単位のサイズであるべき場合、これに関して2つのシナリオがある。
(i)全ての3つの固有コード値が存在する。
(ii)全ての3つの固有コード値が存在するわけではない。
従って、3つのシナリオがある。
(a)3つのコード単位を備える処理ユニットであって、その中に全ての3つの固有コード値が存在する。
(b)4つのコード単位を備える処理ユニットであって、その中に、全ての3つの固有コード値が存在する。
(c)4つのコード単位を備える処理ユニットであって、その中に全ての3つの固有コード値が存在するわけではない。
従って、図表31に示すように、分類コードをこれら3つのシナリオに割り当てることができる。
図表31a
段落[0098]に記載の3つのシナリオのシナリオ分類コード(CHANコードの一部)
Figure 2022160484000045
これら3つのシナリオの頻度分布に応じて、最も高い頻度を有するシナリオを最も少ない数の2進数ビットを使用するように調整してもよい。従って、シナリオ(c)は最も高い頻度を有すれば、シナリオ分類コードのシナリオ分布を図表31bに示すように調整してもよい。
図表31b
段落[0098]に記載の3つのシナリオのシナリオ分類コード(CHANコードの一部)
Figure 2022160484000046
そのため、デジタルデータ入力ファイル全体のエンコーディング及びデコーディングについて、まずデジタルデータファイル全体を解析し、頻度が最も高いシナリオを見つけて、それを割り当てて最も短い分類コードを使用し且つ他のシナリオを下にプッシュする。従って、デコーディングが正しく行われるように、シナリオデザインインジケータ(どのシナリオ分類スキーマ又はデザインを使用するかを示す)をヘッダーに含める必要がある。
本発明の実施例において、CHANコードの分類コードをどのように使用するかを論じた後、CHANコーディングの別の技術(即ち動的コード調整)を使用することによって、CHANコードの内容コードをどのように設計し且つ操作するかが見られる。シナリオ(a)の場合、シナリオ分類コード+ランク及び位置コードというエンコーディングを使用することができる。
シナリオ(a)は、3つのコード単位の処理ユニットであるため、その中に全ての3つの固有コード値が存在し、2ビット又は3ビット[CHANコーディングのAAB技術を使用して、例えばここでの実際の値範囲は6であり、即ちシナリオ(a)の終了条件を満たす3つのコード単位のうちの6つの固有処理ユニットを有し、下限値範囲は4値に相当する2ビットであり、上限値範囲は8値に相当する3ビットである]を用い、ランク及び位置コードが全ての6つの処理ユニットの可能な組み合わせを被覆する可能であるため、そのうち3つのコード単位はそのランク及び位置に区別される3つの固有コード値を備え、次の図表32に示すとおりである。
図表32
3つの固有コード値を持つ3つのコード単位の処理ユニットに対するランク及び位置の面での6つの可能な組み合わせのRPコード割り当て
Figure 2022160484000047
シナリオ(b)及び(c)のCHANコードの内容コードに対してCHANコーディングを行うために、これらのシナリオの終了条件によって決定されたように、読み取られた4番目のデータコード値を使用してもよい。前記4番目のデータコード値、即ち終了値は、0ヘッドデザインの3値コード単位の定義に従って読み取られたのと全く同じようにオリジナルコードによって表され、即ちオリジナルコードを変更する必要がない。従って、シナリオ(b)と(c)の内容コード部分のエンコーディングには、それぞれ以下のステップが含まれる[シナリオ(a)は単独で処理されれば]。
(a)係るコード単位の定義を用いることによって4つの連続したデータコード値を読み取る。
(b)4番目のデータコード値を読み取ったとおりに書き込む。
(c)必要に応じてコード調整技術を用いて1番目のデータコード値を書き込む。
(d)必要に応じてコード調整技術を用いて2番目のデータコード値を書き込む。
(e)必要に応じてコード調整技術を用いて3番目のデータコード値を書き込む。及び
(f)ステップ(a)で読み取られた4つの連続したコード値をエンコーディンした後に、エンコーディングされていないコード単位の開始点に戻るまで、ステップ(a)にループバックする。
且つ適切な場合、上記ステップ(c)から(e)で述べたコード調整技術は、内容コードのランク及び位置のエンコーディング、内容コードの昇格及び内容コードの省略、内容コードの降格、並びに適切な場合の内容コードの復元を含む。
シナリオ(b)の場合、4番目のデータコード値は、3つのデータコード値:v1、v2又はv3のうちの1つであってもよい。そのため、シナリオ(b)において、サブシナリオは以下のとおりである。
図表33
シナリオ(b)における3つのサブシナリオ及びRPコーディング
Figure 2022160484000048
シナリオ(b)における3つのサブシナリオのそれぞれについて、また6つの可能な組み合わせがある。
これらのサブシナリオのそれぞれにランク及び位置エンコーディング技術を用い、図表33に示すように、それらのそれぞれの6つの可能な組み合わせに2ビット又は3ビットを用いる。
あるいは図表34に示すように、適切な状況でコード昇格及びコード省略技術を用いてもよい。
図表34a
シナリオ(b)における3つのサブシナリオ及びコード昇格並びにコード省略
Figure 2022160484000049
又は、4番目のコード値を配置した後に配置される値は、図表34bのように並べ替えることができる。
図表34b
シナリオ(b)における3つのサブシナリオ及びコード昇格並びにコード省略
Figure 2022160484000050
コード昇格及びコード省略という技術を使用する場合、一貫性を考慮すると、このような配置は段落[0103]に説明されるシナリオ(c)により適しているため、図表34bにおけるコード値の配置は、図表34aよりも優先される可能性がある。
上記シナリオ(b)のサブシナリオ(i)を採用することにより、ビット使用数を減らし、コード昇格は論理推定の結果である。例えば、シナリオ(b)は、読み取られた4つの連続したコード値に3つの固有コード値が全て現れなければならないシナリオであるため、図表33bに用いられたシナリオ分類コードと4番目のコード値(例えばv1)を配置した後、エンコーディングされたコードは、図表35に示すように変化する。
図表35
シナリオ分類と4番目のコード値のエンコーディング
Figure 2022160484000051
そして残りの3つのコード値のエンコーディングコードは記入される。シナリオ(b)であるため、最初の3つのコード値、つまり1番目から3番目のコード値は、4番目のコード値と違わなければならない。シナリオ(b)に設計された終了条件を満たす4番目のコード値であるためである。従って、残りの3つのコード値はv2又はv3である。且つ選択肢は2つしかないため、これら2つの異なる値の出現を表すには、ビット0又はビット1のいずれか1ビットしか必要ない。もともとv2とv3はそれぞれ10と11で表される。そのため、これらのコード値は、ビット使用数を節約するために、それぞれ0と1を用いるように昇格される。これはコード昇格、CHANコーディング技術である。また、3番目と2番目のコード値が全てv2であれば、最初のコード値は、シナリオ(b)に対応して定義されているため、v3でなければならず、そうでなければシナリオ(b)の終了条件を満たすことができない。そのため、上記推論により、論理推定によってv3を省略してもよい。言及したCHANコーディングのコード昇格及びコード省略技術を用いて4つのコード単位から構成される処理ユニットにエンコーディングして得られたエンコーディングコード全体は、図表36に示すとおりである。
図表36
CHANコーディングのコード昇格及びコード省略を用いてエンコーディングを行う
Figure 2022160484000052
コード昇格及びコード省略技術を使用することにより、図表33においてランク及び位置コーディング技術を使用するのと同じビット使用結果(図表34a及び図表34bにリストされている2*2ビット+4*3ビット)が得られることが分かる。この2つの技術は、得られたビットパターンの配列にのみ異なる。
同様にシナリオ(c)の場合、4番目のデータコード値は、v1、v2又はv3という3つのデータコード値の1つであってもよい。従って、シナリオ(c)では、サブシナリオは図表37にリストされている。
図表37
シナリオ(c)の3つのサブシナリオ及びRPコーディング
Figure 2022160484000053
Figure 2022160484000054
シナリオ(c)における3つのサブシナリオのそれぞれについて、また15種の可能な組み合わせがある。上記図表37に示すように、これらのサブシナリオのそれぞれにランク及び位置エンコーディング技術を使用することができ、図表35に示すように、それらのそれぞれの15種の可能な組み合わせに3ビット又は4ビットを使用する。
あるいは、必要に応じて、コード昇格、コード省略及びその他の形式のコード調整技術を使用することができる。図表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)を用いるシナリオ分類コードのコード調整
Figure 2022160484000055
Figure 2022160484000056
ここでシナリオ(c)では、コード昇格及びコード省略技術を使用してランク及び位置エンコーディング技術を使用することとほぼ同じであるビット使用結果(ここでコード昇格技術を使用し、明らかにわずかに優れている)を与えることが分かる。
上記結果から、別の観察結果は、エンコーディング後に拡張をもたらすそれらのコード値エントリは、より多くのv1コード値を有するエントリであるということである。そのため、データセットのデータ割り当てはビット1よりもビット0が多い場合、上記技術を使用してデジタルデータセットを読み取ってエンコーディングに用いるために、1ヘッドデザインをコード単位とする定義を使用するほうが最適である。3つの固有コード値は以下のようになる。

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)
Figure 2022160484000057
図表39b
最後の固有コード値の出現に基づくサイズが異なる処理ユニットのシナリオ分類コード(b)
Figure 2022160484000058
上記シナリオ分類コードは全てビット0で終わる。そのように設計される場合、シナリオ分類コードはビット1で終わることはない。それ以外の場合、ビット1で終了するシナリオ分類コードはシナリオ(c)と類似し、シナリオ(c)の処理ユニットの数は固定であり、前記処理ユニットは前記点まで1つ又は2つの固有値しか含まない。即ちシナリオ(c)の代わりに、4コード単位は3つ未満の固有値を含み、5コード単位は3つ未満の固有値を含み、6コード単位又は7コード単位も、以下同様である。シナリオコードが有する2進数ビットに依存する。
従って、シナリオ(a)と(b)のビット使用図表は、次のように修正できる。
図表40
ランク及び位置に関する3つの固有コード値の6つの可能な組み合わせに対するRPコード割り当て
Figure 2022160484000059
図表41
シナリオ(b)の3つのサブシナリオ及びコード昇格とコード省略
Figure 2022160484000060
図表40から分かるように、シナリオ(a)では、1つのビット0が使用されており、現在は、シナリオ3コード単位に改名されているため、エンコーディング結果は、このシナリオに対して、さらに優れる。図表41におけるシナリオ4コード単位のビット使用結果は、以前と同じにすぎない。しかしながら、多くのサイズ(あるいは最悪の場合で、さらには無限大である)の異なる処理ユニットが存在している可能性があることを考慮すると、プログラミングが発生可能な数限りないこのシナリオに適応するようにさせるために、もっと簡単な論理が存在しなければならない。従って、そのようなシナリオを全てエンコーディングするための論理は、次のように修正できる。
(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コード単位のエンコーディングとビット使用
Figure 2022160484000061
ここで、[]は、論理的な推論によるコード省略を表す。また、それは、第1位置データコード値をエンコーディングするためのビット0とビット1に使用され、適切な場合では、コード昇格を使用するコード調整である。
図表43
シナリオ4コード単位のエンコーディングとビット使用
Figure 2022160484000062
上記図表から分かるように、シナリオ3コード単位は、シナリオ分類コードとして10を使用して、シナリオ4コード単位は、シナリオ分類コードとして0を使用する場合は、全てのエントリは、いずれも均一な結果又はビット使用数が節約される結果を有する。
シナリオ5のコード単位のエンコーディングとビット使用は、長くて複雑であるため、リストに載られることが不能である。しかしながら、エンコーディングは同じ論理に従うので、ビット使用結果は以下のように簡単に説明することができる。
シナリオ4コード単位は、議論の基礎としてシナリオコード10を使用している。18個のエンコーディングされたエントリについては、ビット使用数は6ビットが減少している(即ち、平均して節約された10ビットから損失された4ビットを引く)。シナリオ5のコード単位がシナリオコード110を使用する場合、それは、各エンコーディングされたエントリに使用されるシナリオコードに1ビットを余分に使用することを意味しているが、それは、別の付加のデータコード値をエンコーディングする機会を有する。
0ヘッドデザインによる3値コード単位の3つの固有データコード値の図表44における頻度分布は、優先権主張の下で実行されている前記PCT出願中に言及した自動プログラムにより生成されるものである。
図表44
80000個のランダムビットを使用した3値コード単位の頻度分布
0:26536
10:13156
11:13576
v2及びv3の頻度カウントは、50%をわずかに上回り、即ち約半分であり、且つv1は、50%をわずかに下回り、約半分であることが分かる。従って、データコード値が現れる確率の約半分はv1であり、残りの半分は、25%がv2であり、25%がv3である。従って、v1が第5データコード値である場合、再び現れる付加のデータコード値はv2かv3のどちらかでなければならないので、1ビットが節約される確率は半分である。そして、v2又はv3が第5データコード値である場合は、v1又はv3は、v2が第5データコード値である時に、それに伴って現れ、あるいは、v1又はv2は、v3が第5データコード値である時に、それに伴って現れ、この場合には、1ビットを節約できる確率は半分の半分である。従って、平均して、1ビットが節約される確率は、約3/4であり、即ち3/4ビットが節約される。同様に、第1値、第2値及び第3値が同じ固有データコード値である場合、論理的な推論によって、第4値が導き出され得る。従って、これらの場合に使用されるビット使用は、2ビット又は1ビットである。従って、全体的に言えば、シナリオの数が4つのコード単位から5つ以上のコード単位まで増えても、多くの欠落はない。シナリオ4コード単位が10(2ビット)を使用する時に、エンコーディングされた18個のエントリで6ビットの使用数を平均して節約するという事実、及びシナリオの数が3つのコード単位から増加し続ける時に、これらのシナリオに使用される80000個のランダムビットの頻度分布が減少しているという事実を考えると、ランダムデータセット全体が全体的なビット使用数を節約できる可能性は非常に高い。ビット使用数を節約する最良の結果が得られるように、最も頻繁に使用される最初の3つのシナリオの分布をさらに再調整してみることができる。
(a)、(b)及び(c)の順序に従って、2ビット(10)、2ビット(11)及び1ビット(ビット0)を有するシナリオコードを割り当てて配置する図表42[即ち、シナリオ3コード単位又は(a)]、図表43[即ち、シナリオ4コード単位又は(b)]及び図表38[即ち、シナリオ(c)]を再検討することにより、シナリオ(a)では、6つのエンコーディングされたエントリのうち2ビットが節約され(2ビットを節約して0ビットを使用する)、シナリオ(b)では、18個のエントリのうち6ビットが節約され(10ビットを節約して4ビットを損失する)、且つ45個のエントリのうち3ビットが節約される(即ち、20ビットを節約して17ビットを損失する)ことが分かる。シナリオ(a)、(b)、(c)の3つの全ては、ビット使用数を節約しているようである。しかしながら、その結果は、これらの3つのシナリオの各々における各エンコーディングされたエントリの頻度分布に依然として依存している。しかしながら、80000個のランダムビットを使用する3つのシナリオの図表45における頻度分布は、優先権主張の下で実行されている前記PCT出願にリストされた自動プログラムによって生成される。
このようにして作成された図表45は、以下のようにリストされる。
図表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)のシナリオコード割り当て
Figure 2022160484000063
シナリオ(c)が処理ユニットの大部分を占めているので、最短のシナリオコードビット1が与えられるべきであり、それはビット1の比率を増加させることを意図しているので、シナリオコードの1ヘッドデザインが採用される。同じ理由で、シナリオ(a)とシナリオ(b)には、シナリオコードビット01とシナリオコードビット00がそれぞれ割り当てられる。
他の改善は、2つの同じデータコード値が互いに隣接していることが存在する確率は少ないと仮定した場合、反対の位置配置、即ち第4、第3、第2、及び第1の反対の位置順序でエンコーディングされたデータコードを配置することである。これは、シナリオ(c)に有利であり、第4データコード値に加えて次の固有データコード値の出現確率を高める。さらに重要なことに、さらに分析した結果、エンコーディングされたデータコードは、相対位置の反対配置に従って、データコードの並べ替えにより、別の特性又は特徴(前記特性は、最後の1つのデータコード値が最後の前の1つのデータコード値と異なっているか否か)を形成でき、ビットを節約して格納する際に十分に利用されるために、前記特性又は特徴を圧縮できることを見出した。前記特徴は、終了条件の設計に関連している。簡単にするために、まず、他の同様の終了条件を使用して説明することができる。ここで、終了条件は、3つのコード単位で停止され、データコード値は、2つのグループ又は2つのクラスのみに分割され、1つは、3値コード単位の全ての固有データコード値を有する3コード単位であり、もう1つは、全ての固有データコード値を有していない3コード単位である。従って、これは、第1クラスには、3つの固有コード値があり、且つ第2クラスには、2つの固有コード値があり、ここで1つの固有コード値が欠落していることを意味している。
従って、図表45の結果によると、これらの2つのクラスは次の頻度を有している(図表47にリストされているとおり)。
図表47
80000ビットのランダムデータセットにおける2つのクラスの処理ユニットの頻度分布:1つのビットは、全ての3つの固有データコード値を有しており(クラスA)、もう1つのビットは、3つ未満の固有データコード値(クラスB)を有している。
Figure 2022160484000064
クラスBは、圧倒的多数のデータコード値を有している。しかしながら、これらの処理ユニットは、この特徴に従って分割され、この特徴は、相対位置に対するデータコード値の反対の配置に関連する。これらのデータコード値を逆に配置するには、スキーマ及び設計の1つは、まず第3データコード値を配置し、次に第2データコード値を配置し、その後第1データコード値を配置することである。従って、全ての3つの固有データコード値を有している処理ユニットについては、第3データコード値と第2データコード値が異なる必要がある。全ての3つの固有データコード値を有していない処理ユニットについては、第3データコード値と第2データコード値が同じでも異なってもよい。この特徴を別の分類基準として使用すると、ビットストレージを節約する点でよりよい結果が得られる可能性がある。従って、シナリオコードを同様に対応して割り当てることができる。従って、サブシナリオコードのビット1を第3データコード値と第2データコード値が同じ処理ユニットに割り当てることができ、ビット0を第3データコード値と第2データコード値が異なる処理ユニットに割り当てることができる。ここでのシナリオクラス0については、追加のサブシナリオコードビットを割り当てることができ、あるいはCHANコーディングの別の新規特徴を使用して、そのようなサブシナリオコードビットと内容コードビットとを組み合わせることができる。前記新規特徴は、事後分類の使用又はCHANコードの内容コード内での事後分類コードの配置である。以下の図表48にリストされるように、このCHANコーディングのエンコーディング技術は、図表47における終了条件を使用して3つの3値コード単位の処理ユニットにおける実際のエンコーディングを使用することにより、よりよく説明される。
図表48
シナリオクラス0とシナリオクラス1に割り当てられたシナリオコード:エンコーディングとビット使用及びビット1/ビット0の変化に伴って変わる。
Figure 2022160484000065
Figure 2022160484000066
Figure 2022160484000067
上記から、結果が非常に近いことが分かる。図表48におけるシナリオコード1が割り当てられたエンコーディング処理ユニットの論理は以下のとおりである。
(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に使用される)。
一形態での事後分類の使用は、ビットストレージを少しずつさらに減らすのに寄与する。この例では、事後分類コードの配置は2つの方法で完了することができる。
(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のコード単位及び残りのコード単位等の使用にも適用され得る。
シナリオ0及びシナリオ1に分割されたクラスA処理ユニット及びクラスB処理ユニットの前の例は、ハイブリッド分類及び内容コードにおいてデータコード値をどのように組み合わせて分類し得るか、且つ事後的に配置し得るかを示している。これは事前位置における通常の配置と反対する。データ分類のもう1つの新規特徴は、埋め込み式分類コード又は内部分類コードにのみ使用されてもよい。図表51は、この新規特徴を使用した結果を示している。
図表51a
事前分類コードとクラスA処理ユニット
Figure 2022160484000068
これはまさに図表48におけるクラスAの部分である。
図表51b
第3データコード値と第2データコード値が同じ値であるか否かを基準として細分化するためのクラスB処理ユニットの内部分類コード又は埋め込み式分類コード
Figure 2022160484000069
Figure 2022160484000070
クラスAに関しては、6つのエントリ組み合わせでは2ビットの節約がある。また、第3データコード値と第2データコード値を有する、値が異なるクラスBについては、12種の組み合わせでは明らかな節約や損失はない。また、第3データコード値と第2データコード値を有する、値が同じクラスBについては、9つのエントリ組み合わせでは明らかな3ビットの節約がある。前述のように、この例の技術を使用する前に、まずビット0:ビット1の比率を修正する技術、又はランダムデータセット全体に使用される不均一なデータを有するスーパー処理ユニットを使用する技術等の他の技術を使用することができる。これは、この例で述べた技術を使用するために設計される多くの可能なシナリオのうちのほんの一例である。
上記分類例は、分類コードの使用に基づくものである。00の4つのクラスは、クラスA処理ユニットに使用される。しかし、斬新なものは、01、10及び11の使用についてである。実際には、それらは、内容コードそのものであり、v1のビット0からビット01までのわずかな修正だけで、これらの内容コードを分類コードとして使用するようにさせる。そして、エンコーディング処理において、内容コードの一部として使用される時、v1のエンコーディングコード値、即ち01は、より短い形式、即ち0のみに復元される。なぜなら、内容コード部分において誤解されず、エンコーディング処理ユニットのヘッドコードとして使用されている分類コードではないからである。上記例では、修正があるが、内容コードを分類コードとして使用したこの技術の有用性を鮮明に示している。これは、CHANコードの作成に使用されるCHANコーディングのもう1つの技術である。
以下に示すように、図表52は、分類コードを内容コード(わずかに修正したもの)に置き換えることができることを示している。
図表52
クラスB処理ユニットを分類するための分類コードとして、第3データコード値と第2データコード値が同じ値であるか否かを基準として修正した内容コードを使用する。
Figure 2022160484000071
Figure 2022160484000072
前記様々な分類技術を明らかにした後、どの技術が処理中のデジタルデータセットに最も有用であるかを評価することができる。また、使用するための分類技術の選択に従って、エンコーディング及びデコーディングのためのデータコード値の再分類及び再割り当ては、意図した目的に必要且つ適切であることが見出され得る。図表53はそのような熟考の結果である。最も有用な技術は、データコード値を正しく分類するのに使用できる特性を正しく識別することである。検討されている本設計及びスキーマの下で、前の段落に提示された図表で使用するための多くの技術が開発、設計、実現されてきた。いくつかのコードエントリ組み合わせは、ビットを節約しているが、他のコードによって引き起こされるビットの損失は、これらの節約数を相殺し、さらにはこれらの節約数よりも多いことが観察され得る。従って、この特性又は特徴は、調査が必要なものである。それは、以上で説明したCHANコーディングの様々な技術を使用してエンコーディングする時に、ビットの損失を発生させる問題のあるエントリ組み合わせを見つけることである。損失の原因となった問題のあるエントリ組み合わせを共に組み合わせ、且つ節約の原因となった友好的なエントリ組み合わせを同様に組み合わせると、成功の可能性を高めることができることは明らかである。ここでの図表53では、これをデータ分類の主な基準として使用する。その後のエンコーディングでは、コード昇格、コード省略、コード置換を含むコード調整、及び範囲を使用した最も重要な絶対アドレス分岐技術等のCHANコーディングの他の技術を使用する。
図表53
コードが再割り当てされる前に、圧縮可能及び圧縮不可能なデータ値のエントリに基づくデータ分類は、使用される段落[0075]における図表21に示す頻度を有する。
非圧縮クラス:AAB技術を使用して範囲エンコーディングをする(実際の値の範囲:7、下限値の範囲:4の場合は2ビット、上限値の範囲:8の場合は3ビット)。
Figure 2022160484000073
圧縮クラス:ここで、第3と第2位置の値が異なり、コード調整技術を使用してエンコーディングする。
Figure 2022160484000074
圧縮クラス:ここで、第3と第2位置の値が同じであり、コード調整技術を使用してエンコーディングする。
Figure 2022160484000075
圧縮クラス:ここで、次の2つのエントリ組み合わせは、必要に応じて前の2つのエントリ組み合わせと異なり、再割り当ての例外である。
Figure 2022160484000076
圧縮クラス:ここで、3つのコード値が全て固有であり、エンコーディングコードが再割り当てされる。
Figure 2022160484000077
上記図表53から、2種のコード調整を行わなければならないことが分かる。
(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技術を使用して範囲エンコーディングを行う。
Figure 2022160484000078
圧縮クラス:ここで、第3値と第2位置の値が異なり、コード調整技術を使用してエンコーディングする。
Figure 2022160484000079
圧縮クラス:ここで、第3位置と第2位置の値が同じであり、コード調整技術を使用してエンコーディングする。
Figure 2022160484000080
だから、これまでのところ、残りの4つの5ビット処理ユニットのうち2つを使用して残りの2つの4ビットの空いているコードアドレスを記入しなければならず、それにより各位置のために1ビットを節約する。また、まだ収容されていない残りの2つの5ビット処理ユニットについては、2つの6ビットのコードアドレス(頻度の最も低いエントリ組み合わせを選択する)を2倍にするために、AAB技術を使用しなければならず、それらは、他の2つのエントリ組み合わせにより占められており、4つの7ビットエントリの組み合わせ及び2*(7-5+7-6)=6ビットの損失をもたらす。しかしながら、それはAAB技術の適切な使用であり、新規な方法で新しいコードアドレスを作成することを目的とする。従って、AAB技術を使用することにより、及び2つの4ビットの空きコードアドレスにもう1つのビットを追加することにより、2*2個の5ビットの空きコードアドレスを取得でき、それにより4つの利用可能な5ビットの空きコードアドレスを構成する。それは、全ての3つの固有データコード値を有する収容されていない4つの5ビット処理ユニットを十分に包容でき、いかなるビットの損失を生じさせることはない。最終的な結果は、ビットの使用においていずれも均一である。この例では、ビット利得又はビット損失がない。これらは、次の図表55に示されている。
図表55
図表53にリストされているコードアドレスとコードエントリ値を再割り当てした後、同等性が生じる。
非圧縮クラス:AAB技術を使用して範囲エンコーディングを行う。
Figure 2022160484000081
圧縮クラス:ここで、第3位置と第2位置の値が異なり、コード調整技術を使用してエンコーディングする。
Figure 2022160484000082
圧縮クラス:ここで、第3位置と第2位置の値が同じであり、コード調整技術を使用してエンコーディングする。
Figure 2022160484000083
上記「非圧縮クラス」と「圧縮クラス」の頻度はわずかに異なり、第1クラスが8897個の処理ユニットを有し、第2クラスが8888個の処理ユニットを有する。しかし、第2クラスがシナリオ10と11に割り当てられるため、スキューは、ビット0の比率ではなく、ビット1の比率を増やすことを目的とする。しかしながら、以上の図表55に示すように、1サイクルをエンコーディングした後、ビット1が297ビットを減少するが、ビット0が297ビットを増加するという結果は、非常に驚くことである。そのため、エンコーディングした後にビット利得やビット損失がなくても、ビット0:ビット1の比率を変更することで、データを圧縮する可能性が非常に大きいが、現在エンコーディングした後に、ビット0:ビット1の比率の割り当てがより不均一になる。逆の方式でシナリオコードを割り当てる場合、ビット0:ビット1の利得や損失を次の図表56に示している。
図表56a
図表55で使用されるシナリオコードと異なる逆の割り当てを使用する。
非圧縮クラス:AAB技術を使用して範囲エンコーディングを行う。
Figure 2022160484000084
圧縮クラス:ここで、第3と第2位置の値が異なり、コード調整技術を使用してエンコーディングする。
Figure 2022160484000085
圧縮クラス:第3と第2位置の値が同じであり、コード調整技術を使用してエンコーディングする。
Figure 2022160484000086
事実により、80000ビットのランダムデータセットに対して、スキューが減少し、ビット1だけに251を減少し、ビット0に同じ数で増加することが証明される。
上記から分かるように、ヘッダー内のインジケータは、シナリオコードがどのように割り当てられるか、またコード単位の0ヘッドデザイン又はコード単位の1ヘッドデザインを使用してデジタルデータが読み取られるか、及びデータ値が読み取られた後にどのようなヘッドデザインがエンコーディングするために用いられることを指示するように保留し、そのため、それらが同じでなくてもよい。そのような変動は、得られるCHANコードエンコーディングにおけるビット0:ビット1の比率に影響を及ぼす可能性がある。そのようなインジケータは、最適なシナリオを選択することで、エンコーディングが要求される目的を達成する。
ビット0:ビット1の比率をさらに変更するために、図表56aをさらにコード単位の1ヘッドデザインに変更して使用でき、以下のように示している。
図表56b
逆の割り当てで、図表56aで使用される0ヘッドデザインと異なる1ヘッドデザインのコード単位の内容コードに用いられる。
非圧縮クラス:AAB技術を使用して範囲エンコーディングを行う。
Figure 2022160484000087
圧縮クラス:第3と第2位置の値が異なり、コード調整技術を使用してエンコーディングする。
Figure 2022160484000088
圧縮クラス:第3と第2位置の値が同じであり、コード調整技術を使用してエンコーディングする。
Figure 2022160484000089
コード単位の内容コードのヘッドデザインを変更するための最も簡単な方法は、図表56aから変更された図表56bで行われているように、内容コードのビット0をビット1に変更し、逆には同様である。上記の実例は、CHANコーディングがどのように不均一器エンコーダを作成することで、図表56aでビット1に251を減少してビット0に251を増加するか、又は図表56bでビット1に194を増加してビット0に194を減少する。それは、ビット0:ビット1の比率において、より多くのビット1に向かう傾向が逆転することを示す。完全性のために、図表56cは、0ヘッドシナリオコードと1ヘッド内容コードを使用して80000ビットのオリジナルランダムデータセットをエンコーディングする結果を示すことに用いられ、以下のように示している。
図表56c
図表56bで使用される1ヘッドデザインと異なる0ヘッドデザインシナリオコードを使用する逆の割り当ての使用
非圧縮クラス:AAB技術を使用して範囲エンコーディングを行う。
Figure 2022160484000090
圧縮クラス:第3と第2位置の値が異なり、コード調整技術を使用してエンコーディングする。
Figure 2022160484000091
圧縮クラス:第3と第2位置の値が同じであり、コード調整技術を使用してエンコーディングする。
Figure 2022160484000092
そのため、図表55、図表56a、図表56b及び図表56cのビット0とビット1を変更した結果、それぞれ+297/-297、-251/+251、-194/+194、-153/+153である。従って、図表55は、より多くのビット0に向かう最大のスキューを与えることが明らかである。以上に示すように、同じデータ割り当てに対して、異なるヘッドデザイン及び分類コードと内容コードの割り当てを使用すれば、ビット0:ビット1の比率割り当てに影響を及ぼす可能性がある。このような割り当てを任意の固有データセットに対応するビット0:ビット1の異なる比率で割り当てるように調整することができ、1つの割り当て配置が特定の方向に向かってスキューを効果的に継続して行わない場合、スキュー方向を維持できるように変更するか、又は他の手段で行うように設計してもよく、当該不均一割り当ては、所定の点に達するまで、その点においてCHANコーディングを使用することで圧縮される。
例えば、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において、1ヘッドデザインの17ビットから19ビットの6値コード単位を示している。
図表57
17、18、19ビットの1ヘッドデザインの6値コード単位を使用するコード値の定義
Figure 2022160484000093
以上説明するように、デジタルデータセットの有するビット1がビット0よりも多ければ、1ヘッドデザインのコード単位リーダーを使用することで、v1は他の独立値よりもはるかに高い頻度を持っている。上記の3つの6値コード単位定義を比較することで、v1が他のものより高い頻度を持っていれば、17ビットをリーダーとして使用し、18ビットのライターで書き込み、v1を読み取るたびに、1ビットを節約するが、v2とv3を読み取るたびに、それぞれ1ビットを損失し、v4、v5、v6に対して、ビット使用がいずれも均一であり、そのため、v1の頻度がv2とv3を足し合わせた頻度よりも高い限り、ビットの節約を達成する。v1の頻度と比較して、v2とv3及びv3とv4の間の頻度分布に応じて、19ビットのライターを使用することができる。
従って、データセット内のビット0:ビット1パターンのわずかな違いを利用して簡単な方式で圧縮を行うために、他の値のサイズのコード単位に用いられる様々なビットサイズの0ヘッドデザインと1ヘッドデザインコード単位定義を構築することができる。例えば、段落[0117]で使用されるリーダー及びライター又はエンコーダは、6値コード単位に基づいて作成されるもので、7-値、8-値、9-値、10-値等のような他の値のサイズに基づいてこのようなリーダー及びライターを構築して使用することができる。コード単位定義の値が大きいほど、リーダー及びライターの取得可能なビット0:ビット1の差がより正確で、そしてビットストレージの節約になる。また、圧縮のためのエンコーディングを行う前に、数回の不均一処理(即ち、まず一方向に偏ったデジタルデータセット内のビット0:ビット1比率を数回サイクルで変更するために不均一器を使用する)を行うこともできる。不均一器が常にデータ割り当てパターンを一方向に偏らせることができない場合は、分類コードの割り当てパターンを0ヘッドから1ヘッドに変更するか、逆に同様であり、又はリーダー及びライターのヘッドデザインを1つのヘッドデザインから別のヘッドデザインに変更又は交換することができる。そのような変更を行うパスがCHANコードのヘッダーにうまく記録されるか、又はエンコーダ及びデコーダに組み込まれて使用される限り、ビットサイズ及び値の異なるコード単位定義の異なる設計を使用することができる。さらに重要なのは、不均一器が異なる内容コードで構築できることである。例えば、段落[0114]及び図表54で論じられた不均一器は、非圧縮クラスと圧縮クラスという2つのクラスに分けられる内容コードを使用し、そしてコード割り当ての最適化のために修正される。前記不均一器は、処理中の任意のデータ値に対するそれぞれのエンコーディングコードが対応するオリジナルデータ値のビットサイズと全く同じであるようにするため、ビット利得やビット損失も生じないように、それぞれの固有コードアドレスを同一のビットサイズを有する固有データ値にマッピングする。図表55及び図表56は、同じグループの内容コードの分類コードに対して割り当てる2つの異なる配置を示すが、0ヘッドデザインと1ヘッドデザインを使用することで、ビット0:ビット1割り当てパターンに関する比率が様々に変化する。しかしながら、段落[0114]に紹介された技術を使用して、類似の方式で異なる内容コードを有する他の不均一器を設計することができ、処理される処理ユニットの性質を定義するための終了条件の選択と、処理ユニットの固有値エントリにより識別される特徴や特性に従って行う分類、コード調整、コード交換及びコード再割り当てにより、図表54から図表56で示すことと類似の別の不均一器エンコーダを作成することができる。別の実例は、段落[0091]及び図表28においてスーパー処理ユニットについての議論から分かれる。図表28の不均一器を使用して、データセットのビット0:ビット1の比率が図表55又は図表56に使用する不均一器と異なるように変更される。そのため、以上説明したように、1つの不均一器が1つの所定方向に向かってビット1とビット0の比率をこれ以上変更できない場合、そのような単方向変更は、適切に設計された別の不均一器を使用することによってさらに行うことができ、それにより類推する。従って、不均一器エンコーダの役割は、デジタルデータセットのビット0とビット1の割り当てパターンを不均一にすることである。ビット0よりも多いビット1(1:1の比率のビット0:ビット1の均一な割り当てと比較する時)の不均一器エンコーダは、ビット1不均一器と呼ばれ、ビット0をさらに増やす方向に偏ったデータ割り当てを行った後にビット0不均一器と呼ばれる不均一エンコーダと比較する(1:1の比率のビット0:ビット1の均一な割り当てと比較する時)。一方では、エンコーディング前と比較してビット0:ビット1の比率をより均一にする(即ち、ビット0:ビット1の比率を1:1方向に近づける)傾向があるこれらのエンコーダは、均一エンコーダ、又は単に均一器と呼ばれる。
このように、段落[0115]から[0117]に説明されるように、圧縮するためにコード単位定義をリーダー及びライターとして使用し、ランダムであるか否かに関わらず、任意のデータセットは、いずれも本発明において解釈したように、限界までのサイクルで圧縮を受けるという終了情報理論における鳩ノ巣原理の神話の確実な証明として段落[0118]で言及された不均一器と共に使用する。
デジタルデータセットを圧縮する過程でのコンプレッサは、明らかに均一器の役割を果たしているが、そうでなければ(もちろん本発明が開示するようにある限度まで)任意のデータセットを周期的に圧縮可能にすることができる。事実によると、本発明以前には、圧縮分野における方法は、ランダムであるか否かに関わらず、任意のデータ割り当てパターンのデータセットを周期的に圧縮可能であるという長い間望まれる目標を達成していないことを明らかにする。段落[0118]で議論された方式で、即ち段落[0124]で議論された周期的に又は他の方式で不均一器及び均一器を使用することによる本発明の開示により、以上の目標は明らかである。
不均一器及び均一器を交互に使用してエンコーディング及びデコーディングすることで、得られたエンコーディングしたCHANコードファイルのヘッダーは、基本的には以下の用途のインジケータを含む。
(a)チェックインジケータ:適切であれば存在してもよく、デコーダはそれを使用してデコーディングされるファイルが有効なCHANコードファイルであるか否か、及びファイルが使用可能な有効ファイルであるか否かを識別し、そのため、エンコーダによって生成された対応するCHANコードファイルに対して設計者によって設計されたインジケータを含む。
(b)リサイクルビット又はインジケータ:エンコーダによってデコーダに使用されるビットを書き込むことで、デコーダに現在処理サイクルをデコーディングした後に停止しなければならないか否かを指示する。
(c)(エンコーダによりエンコーディング中に使用されるか又は)現在のエンコーディングサイクルのデジタルデータ層をデコーディングすることに用いられるマッピングテーブル又はコード単位定義インジケータ:別の指示ビット(不均一器/均一器インジケータ)を用いて現在エンコーディングされたCHANコード層が不均一器マッピングテーブル又は均一器マッピングテーブルを使用することによって完了させるか否かを区別する。
ヘッダー以外に、得られるCHANコードファイルは、さらに他の2つのユニットを含む。
(A)CHANコード単位:エンコーディングしたCHANコードを含み、選択されたコード単位定義のリーダーを用いて入力したデジタルデータを読み取り、デジタルデータをライターで書き込み又はエンコーダで読み取り、ライターは、ヘッダーに示されるコード単位定義又はマッピングテーブルのエンコーダを使用し、エンコードを書き込み又はコード単位定義又はマッピングテーブルを含むプログラミングロジックを実現してエンコーディングするものである。ここでエンコーディングしたCHANコードは、適切な場合に分類コードと内容コードを含む。
(B)エンコーディングされていないコード単位:これは、デジタルデータ部分を入力する2進数ビットの部分を示し、読み取られた時にエンコーディングされず、通常には得られたCHANコードファイルの最後に置かれる。これは、コードの一部に設計され、そのビット数が1つの処理ユニット又は1つのスーパー処理ユニットを構成するのに十分ではないため、使用されるエンコーディング技術を用いてそれをエンコーディングすることができない。
以上説明したように、段落[0121]及び[0122]で識別されたそのような別々のデジタル情報は、別々のCHANコードファイルに置かれて別々の個体として記憶される。対応する設計により、デコーダがそれらを正しく識別してデコーディングすることを可能にする。デコーディング時に、デコーダは、関連する得られるCHANコードファイルのヘッダーに示されたコード単位定義やマッピングテーブルを使用することで、入力したエンコーディングされたCHANコードファイルを読み取るか、又はコード単位定義やマッピングテーブルを含むデコーディングのためのプログラミングロジック(即ち、対応するコード単位定義やマッピングテーブル又は対応する内蔵されたプログラミングロジックを使用してエンコーディングされたコードを入力デジタルデータコードに変換すると共にそれを書き出すことに用いられる)を実現することに用いられる。得られるデコーディングコードは、前記エンコーディングサイクルの前の入力デジタルデータコードである。
交互過程に均一器と共に使用されない場合に、不均一器を使用してデジタルデータを圧縮することができ、極端な場合には、全てのデジタル入力2進数ビットは、いずれも不均一器による不均一処理のサイクルによってビット0又はビット1に減少する。そのため、生成した(不均一処理ステップの経路の)CHANコードファイルは、不均一エンコーダにより取られる経路に関する情報のみであり、オリジナルデジタルデータ入力のビットサイズと、必要や適切な場合に形成される不均一処理回数の数と、各不均一サイクルのコード単位定義やマッピングテーブルとを含む。従って、不均一デコーダは、オリジナルデジタルデータを正確且つロスレスに復元するために、不均一デコーダによって採用された不均一経路のそのような情報に依存することができる。このような方式で、エンコーディングプロセスは、1つ以上の不均一エンコーディングのサイクルを含むことができるが、均一器エンコーディング又はコンプレッサエンコーディングは行われない。
不均一器を使用する別の変形は、最後の処理サイクルの前にそれを複数回使用することであり、そして最後のサイクルのエンコーディングは、コンプレッサ(又は圧縮のための均一器)によって行われる。このような方式で、エンコーディングプロセスは、コンプレッサエンコーディングの最後のサイクルの前に1つ以上の不均一エンコーディングサイクルを含む。この変形により得られるCHANコードとCHANコードファイルの構造は、段落[0121]から[0123]に記載されているものと同様である。均一器は、データセットのビット0:ビット1の比率をより均一にするコンプレッサであり、最後のサイクル又は最後のエンコーディング層のエンコーダとして使用される時に、このような均一器又はコンプレッサの使用の結果として、データ割り当てがそのスキューの他の方向に偏ったことは重要ではなく、予想されるように圧縮される限り、スキューはいかなる方法であってもよい。使用される用語は、即ち均一器又は均一器エンコーダが本発明のコンプレッサ又はコンプレッサエンコーダと同じであると見なされるべきである。
上記で開示されたこれまでのCHANフレームワーク及びCHANコーディングは、少なくともコードアドレスの数を証明し、固有データ値の数と比較して、データ圧縮に課される要素ではない(以前情報理論における鳩ノ巣の原則の神話により誤解を招く)。重要なのは、入力データセットのデータ値の頻度分布である。上記段落で説明された技術で実施されるCHANコーディング方法を使用し、ランダムであるか否かに関わらず、入力データセットをエンコーディングする時に、以下の効果を達成する。即ちエンコーディング中に、入力データの情報に入力データの特性を示す分類コードが追加され、データの分布が変更されるので、CHANコーディングの対応する技術を使用してエンコーディングされたコードをデコーディングする時に、入力データを正確且つロスレスに復元することができ、ある程度、対応するデジタルデータをサイクルして暗号化及び圧縮することができる。説明された制限は、使用及び実現の設計及びスキーマによって制限され、使用されるヘッダーと関連するインジケータを表すコードビットであり、1つの処理ユニット又は1つのスーパー処理ユニットのCHANコードに置かれることに適し、そして、ある場合に、エンコーディングされていない2進数ビットのエンコーディングされていないコード単位(又はこのようなエンコーディングされていないいずれかの2進数ビットを残さない)の数は、1つの処理ユニット又は1つのスーパー処理ユニットのサイズより小さく、0より大きい。この段落では、そのように言及されているCHANコードは、ヘッダーに含まれる他の追加情報及びインジケータ(及びエンコーダ及びデコーダに内蔵された情報及びプログラミングロジックの一部)のような、オリジナル入力データの内容又はデータ値部分に使用されるエンコーディングコードであり、CHANコードの中核であり、エンコーディングされていないコード単位もCHANコードの周辺部としてCHANコードに属し、エンコーディング及びデコーディング中にCHANコードの中核と共に使用される結果、オリジナル入力データが完全にエンコーディングされ、エンコーディングされたコードが完全にデコーディングされてオリジナル入力データに正確且つロスレスに復元することができる。
そのように使用される方法及び技術は、非ランダムデジタルデータを圧縮するために使用される。そのように設計されていれば、暗号化及び復号も同時に行うことができる。データの拡張及び伸縮を行わずに暗号化及び復号を行うには、最も簡単な方法は、任意のコード単位値に同じビットエンコーダを使用する技術を使用することである。例えば、段落[0062]では、図表14b及び図表14cにリストされているMax6 16ビットエンコーダの設計がいくつか開示される。開示された4つの設計の各々は、1つの設計で読み取り且つもう1つの設計で書き込みさらにオリジナルコードを変換することにより、暗号化及び復号を行うように、同じビットサイズエンコーダとして働くことができる。その結果、暗号化コードはオリジナルコードと同じサイズを有する。他のMaxクラスに類似の設計を作成できるので、暗号化及び復号には無限のバリエーションがある。どのMaxクラス(及び特定のMaxクラスの下のどのビットグループ)がエンコーディングに使用されたのかを知らずに、エンコーディングされたコードを容易にデコーディングすることはできない。暗号化しない同じビットサイズのエンコーダも使用することができ、それは同じエンコードを単に使用し、前記エンコーダは、デジタルデータを読み取り、一方でそれを書き戻す。もちろん、他の技術と共に使用せずに、それを正確なデータレプリカとする以外は何も機能しない。これまでに開示された技術は、少なくとも暗号化/復号、及び処理されるデジタル情報のデータ割り当てが適切である場合に圧縮/解凍を行うためのものであると見なされる。また、異なる設計やスキーマでのCHANコーディング技術を使用してランダムデータをどのように正確に圧縮及び復元するための方法を提案する。以下にさらに開示されるさらなる技術の発明により、以下の証拠にランダムデータを正確且つロスレスに圧縮及び復元できることが証明される。
最後に、現在は、ランダムデータが圧縮可能で、デコーディングすることで正確且つロスレスに復元することを証明する明らかな証拠を提示する時期である。そのような技術の1つはデジタルデータブラックホールであり、前記技術によりコード単位値又は処理ユニット値をデジタルデータブラックホールとして機能するように識別する。デジタルデータブラックホールをどのように作成することを明らかにするために、Max3 5ビット0ヘッドデザインコード単位エンコーダの実例を再使用し、処理ユニットは、Max3 5ビット0ヘッドデザインコード単位エンコーダによって読み取られる3つのそのようなコード単位からなると定義される。従って、段落[0074]の図表20にあるものと同じような、27個の固有処理ユニットコード値(PUCV)がある。図表20は、これら27個の固有PUCVの各単一頻度分布を示し、最短のPUCVは000であり、3ビットを有し、さらに4ビットのPUCV、5ビットのPUCV及び6ビットのPUCVもあることが見られる。そのため、これら27個のPUCVもビットクラスに分けられる。また、これらの単一PUCVの頻度は、ビットサイズが1ビット増加するにつれて約半分に減少することが分かる。3つの単一コード単位からなる処理ユニットのMax3 5ビット0ヘッドデザインコード単位エンコーダを使用してランダムデータを読み取る時に、ランダムデータの頻度分布において一般的な規則性(又はランダム性法則)が観察される。さらに調査すると、CHANフレームワークの下で開発された同じスキーマ(即ち、3つの単一コード単位からなる処理ユニットを有するMax3 5ビット0ヘッドデザインコード単位エンコーダ)を使用してランダムデータに関する別の頻度分布法則性又は規則性を発見できる。このランダムデータの頻度分布の別の特徴的な規則又は法則は、以下の図表58に示されている。
図表58a
3つの単一コード単位からなる処理ユニットを有するMax3 5ビット0ヘッドデザインコード単位エンコーダを使用して読み取られた80000ビットのランダムデータセットの処理ユニットの頻度分布
Figure 2022160484000094
図表58b
3つの単一コード単位からなる処理ユニットを有するMax3 5ビット0ヘッドデザインコード単位エンコーダを使用して読み取られた80000ビットのランダムデータセットのスーパー処理ユニットの頻度分布-スーパー処理ユニットは2つの連続な処理ユニットからなる(選択されたSPUCVを示す)
スーパー処理ユニットコード値
Figure 2022160484000095
Figure 2022160484000096
図表58a及び図表58bの頻度分布統計値の実例は、以下の図表58c及び図表59dにリストされている自動3プログラムにより生成される。
図表58c
図表58a及び図表58bに示される頻度統計値を生成する自動プログラム
Figure 2022160484000097
Figure 2022160484000098
Figure 2022160484000099
Figure 2022160484000100
Figure 2022160484000101
Figure 2022160484000102
Figure 2022160484000103
Figure 2022160484000104
Figure 2022160484000105
Figure 2022160484000106
図表58aは、80,000ビットのランダムデータセットの27個の固有PUCVの頻度分布を示し、図表58bは、同じランダムデータセットの27×27個の固有SPUCVの頻度分布を示す。簡潔にするために、図表58bに各ビットクラスの2つの最も頻繁なSPUCVと2つの最も頻繁でないSPUCVだけがリストされる。3つの単一コード単位からなる処理ユニット及び2つの連続した処理ユニットを有するスーパー処理ユニットを有し、CHANフレームワークを使用して開発されたエンコーダであるMax3 5ビット0ヘッドデザインコード単位エンコーダによって読み取り、サンプリングする時、これは、80,000ビットランダムデータセットの他の頻度分布規則性又は法則性を十分に区別することができる。以上説明したように、CHANフレームワークは、ランダムデータを含む任意のデータ割り当てのデジタルデータの特徴及び特性を説明して調査するためのフレームワークを提供する。これまでに、ランダムデータの特徴は、より詳細且つ明確には開示されず、それはランダムであるため、それが表す値は予測不可能な方式でランダムに現れ、長期的には均一な割り当てのビット0:ビット1比率に近づく傾向を持つが、規則性がないことが分かる。現在使用しているCHANフレームワークは、例えば、設計されたエンコーダの下で、-Max3 5ビット0ヘッドデザインコード単位エンコーダは、3つの単一コード単位からなる処理ユニット及び2つの連続した処理ユニットを有するスーパー処理ユニットを有し、ランダムデータを説明することに用いられる特定の規則性又は法則性を見つけることができる。それは、ランダムデータ及び非ランダムデータを処理することに用いられる法則を作成するための基準として、ランダムデータセットに関する頻度分布の規則性又は法則性を使用することができる。図表58a及び図表58bには、例えば、それぞれ27個の固有処理ユニット及び27×27個の固有スーパー処理ユニットについて、任意の特定コード値の頻度はそのビット長又はビットサイズ又はビットクラスの尺度、高いクラスの1つである識別可能な規則性が存在し、ビット長やサイズは1ビット短縮され、その頻度が約2倍になる。例えば、図表58aでは、3ビットクラスPUCV 000の頻度は2311であり、4ビットクラスの次のPUCV 1100が1151になる。そして27x27 SPUCVに対して、図表58bに規則性も見られる。
しかしながら、図表58a及び図表58bのコード値の間の頻度範囲を比較すると、この規則的な変化を発見することができる。ビットクラス内の頻度の最も高いコード値と隣接するビットクラス内の頻度の最も低いコード値の間の頻度範囲を比較することができる。以下の図表58eに異なるビットクラスにおけるコード値の頻度範囲が示される。
図表58e
ビットクラスの間の頻度範囲
Figure 2022160484000107
従って、それは、ビット長が値の頻度を決定する唯一の要因ではないことを明らかにし、異なるグループ内の値もそれら自体のグループに特有のそれら自体の頻度法則性を有する。例えば、ビットクラスが低くなることにつれて、高いビットクラス内の最も頻繁なコード値と低いビットクラス内の最も頻繁でないコード値との比率は、SPUCVグループ内で増加する傾向がある。
これに基づいて、ランダムであるか否かに関わらず、データを処理する方法及びそれに対応する法則を設計することで、目的に合わせる。ここで、本開示は、この発見が特にランダムデータを含むデジタルデータの圧縮を行うことにどのように使用されることを明らかにする。
ランダムデータを圧縮することについて、段落[0128]に開示された発見を用いて、連続コード代用(SCS)と共に絶対アドレス分岐エンコーディング(AABC)を使用してデジタルブラックホール技術(DBh)を開発することができる。物理的な世界では、ブラックホールは物質が吸収される場所である。同様に、本発明において開示されたいくつかの実施形態は、他の2進数コードが吸収されるスポットを表すための2進数デジタルコードを使用する。これは、前記役割を果たすことに有利なデジタル2進数コードを識別することに関連する。そのようなスポットを選択するために使用される基準は、人が達成しようとしている目的に依存する。そのため、設定される基準は目的に関連している。データ圧縮を行うため、明らかな基準はデジタル2進数コードの頻度に関する。そのため、デジタル2進数コードブロックが出現する頻度が高ければ高いほど、他のデジタル2進数コードを吸収する頻度が高まるため、より多くのビットを節約することができる。従って、図表58a及び図表58bに示すように、PUCVグループ及びSPUCVグループ内の各ビットクラスに存在する最も頻繁な値を識別することができる。
デジタルブラックホールの発明は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コード
Figure 2022160484000108
図表59b
非圧縮クラス5/6ビットクラスPUCVのAABコード
Figure 2022160484000109
図表59a及び図表59bの両方において、上記方式で割り当てられたPUCVのそれぞれが、AABCの技術を使用することで1ビットを節約するのを助けることが分かる。しかし、分類又はシリナオコードがないため、これらのAABコードだけで27個の固有PUCVを表すことはできない。そのため、デジタルブラックホールを作成するための技術が役立つ必要がある。以上説明したように、これは、デジタル2進数コードを前のPUCV又は後続のPUCVを吸収するブラックホールとして指定され、一旦デコーディング時に前記デジタル2進数コードが検出されると、図表59a及び図表59bに示されるAABコードを使用して割り当てられたPUCVコードを示す。しかし、非圧縮クラスと圧縮クラスの2つのクラスがあるため、2つのブラックホールがあるべきで、そのうち1つは、AABコードを使用して3ビットクラスと4ビットクラスPUCV及び他の5ビットクラスと6ビットクラスPUCVを示す(従って吸収)ことを担当する。従って、ブラックホール1(SPUCV 0011-11011、頻度19、9ビットクラスにおける最低)と合わせ、ブラックホール0(SPUCV 0010-1100、頻度91、SPUCVグループ中の8ビットクラスにおける最高)とペアリングすることで、それぞれブラックホール0とブラックホール1の前後に2つのハーフコード値(半分は3ビット及び4ビットクラスコード値で、残りの半分は5ビット及び6ビットクラスコード値である)を吸収することに用いられるべきである。ここでは、SPUCV 0010-1100及びSPUCV 0011-11011は、これらが共に頻度範囲(図表58cに示すように、比率が4:1より大きい)を示すため、ブラックホール0及び1として選択され、1つの特徴として、1つの形態のデジタルデータブラックホール技術に適用する。
SPUCVグループの頻度規則性又は法則の発見は、ランダムデータのデータ圧縮のためにこのブラックホール技術を使用するための道を開くのに役立つ。そして、PUCVグループとSPUCVグループの頻度規則性パターンが確かめられたので、頻度振幅と任意の特定のビットクラス又はビットクラス値の頻度範囲を含むこのパターンは、後で開示されるように、他のタイプのデータ割り当てを圧縮する法則を作成するための参照としてこれを使用することができる。
デジタルデータブラックホールは、AABCを使用して、次のキュー中の前の値、後の値又は前後の2つの値を吸収することができる。そのため、デジタルデータブラックホールの技術は、CHANフレームワーク下で定義されたエンコーダのコード値を使用して、AABエンコーディングを使用して他のコード値、即ち、吸収されるコードを表すブラックホールコード値に関連付けられたAABコードを吸収又は表現するため、ブラックホールコード値が、対応するブラックホールによって吸収されるコード値を表すように、AABコードへのインデックス又はポインタであることとして定義される。例えば、ブラックホール0は、3ビットと4ビットのPUCVが後で現れる時(後へ吸収するために用いられる)、それらを吸収するために図表59a中のAABコードを使用する。そのため、ブラックホール0の約半分について(ここで使用される実例ではSPUCV 0010-1100の)1ビットを節約する。例えば、これにより、3ビットと4ビットのPUCVの頻度と5ビットと6ビットのPUCVの頻度の比率に応じて、約46(91/2)ビットを節約する。図表59bでAABコードを使用するブラックホール1としてSPUCV 0011-11011を使用して、SPUCV 0011-11011の後に5ビット又は6ビットのPUCVが続くというパターンを表し、一方で、45(91/2)ビットを節約するが、他方で、45ビットも損失するため、SPUCV 0011-11011、ブラックホール1が9ビットであり、ブラックホール0、SPUCV 0010-1100よりも、1ビット長い。従って、ブラックホール1を使用した結果は均一である。つまり、この技術を使用すると、それは、1ビットとSPUCV 0010-1100頻度の約2分の1との乗算結果、即ち46(91/2)ビットを節約することができる。しかしながら、まだ終わっていない。SPUCV 0011-11011(代用コード0、Scode 0)はSPUCV 0010-1100(後は5/6ビットのPUCVである)を代用するために借用され、且つブラックホール1になる。従って、ブラックホール1のビット長は、ブラックホール0よりも1ビット長くしてはならず、且つその頻度は、ブラックホール0の約4分の1未満であるべきである。そうでなければ、データ圧縮を達成しない可能性がある。且つブラックホール1の位置は他のコードで代用されなければならない。データ圧縮を行うために代用コードを選択して連続コードの代用を行う基準又は法則とは、(1)コードのビット長が短いほどよく、(2)コードの頻度が低いほどよく、そして(3)コードの競合を引き起こす代用コードを選択しない(例えば、SPUCV 0010-1100をブラックホール0として選択すると、それを構成する部分をブラックホール1の構成部分とすることを可能な限り避けるべきである)ということである。従って、選択されたScodeは代用されるコード(被代用コード)よりも頻度が少なく(頻度が少ないほどよい)、そして代用されるコードよりもビット長が1ビット長くならないようにする(代用コードが短いほどよい)。上記の法則は、ランダムデータを圧縮する汎用法則として使用する必要がある。非ランダムデータの圧縮及び解凍について議論する時、段落[0134](2)でより多くの内容が議論される。適切な場合に、自体の目的に適用される他の法則を作成することもできる。図表58bに示すように、このコードの代用は、SPUCV 0011-11011がSPUCV 0010-1100(その後に5/6ビットのPUCVである)を代用することから始まり、SPUCV 0011-11011(ブラックホール1及びScode 0)はScode 1等によって代用されなければならない。SPUCVグループの最下位クラス、12ビットクラスに停止する。このビットクラスには、決して発生しないコード値がある。従って、値が欠落したSPUCVは、それを代用する追加のコードなしで最後のScodeとして使用できる。しかしながら、デコーディングする時に、この代用のためのコード値が何であるかを知る必要があるため、Scodeインジケータを使用してそれをメインヘッダー又はセクションヘッダーに記録する必要がある。これはいくらかのビット消費を生み出す。そのため、代用はまたSPUCVグループの特定のビットクラスで停止することができ、そのうち、そのようなビット消費がさらなる代用から生じるビット節約を超える。それが特定のビットクラスで停止する時、最低の頻度を有する次のSPUCVがAABコードを使用してそれ自体を2つのScodeに分割し、1つのScode(最後から2番目のScode)はこのScodeチェーンの前の1つのScodeを代用し、そして後のもう1つ(最後のScode)が自体を代用する。例えば、図表58bにリストされる代用コードを使用して、代用が11ビットクラスで停止した場合、SPUCV 101111-11110(Scode 2)は、そのクラスで次の最低頻度を有するSPUCV 01011-101011(Scode 3a)で代用しなければならず、それがSPUCV 01011-101011-0(SPUCV 01011-101011自体を代用する)とSPUCV 01011-101011-1(Scode 2、SPUCV 101111-11110を代用する)に分けられる。ただし、Scode 3bは値が欠落するコードなので、Scode 2の代わりに使用する場合は、コードを分割する必要はない。従って、これらの特殊コードを使用するために必要なビット消費に応じて、どのビットクラスでそのような連続コード代用を停止するかを決定することができる。しかしながら、この実例において80,000ビットのランダムデータセットを使用することによって、どのコード値をブラックホール0とブラックホール1として使用するかを決定するための選択基準として4:1の頻度範囲比率を使用する場合、デジタルデータブラックホール、AABエンコーディング、及び連続コード代用技術によるビット節約数は、使用される特殊コードのビット消費をカバーするのに十分ではない。ランダムデータセットを800,000ビットに増やすと、明らかに頻度範囲(即ち4:1)をより低い比率に縮小し、このデジタルデータブラックホール技術を用いても、これらのランダムデータを圧縮する可能性がない。
しかしながら、デジタルデータの高い頻度範囲比率及び少ないランダムビットにより、ビット節約数が使用される特殊コードインジケータのビット消費をカバーするのに十分である。例えば、頻度が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つの特徴であり、前記特徴は、デジタルデータセットのパターン又は法則を識別し、上記技術の組み合わせにより成功裏に圧縮することを可能にするために用いられる。
上記段落[0131]はCHANコード技術、即ち連続代用を開示し、デジタルデータブラックホール技術と共に使用される時、ランダムデータセットが対応する頻度範囲特徴の要件を満たす場合に、CHANフレームワーク下で設計された適切なエンコーダの下で、情報理論における鳩ノ巣の原則の神話を破ることに役立つ。従って、適切な場合には、異なるPUCV及びSPUCVグループの異なるMax数及びビット数を使用することによって、本明細書で概述される方法と同じ方法を使用して他の設計されたエンコーダと同じ方法で完了することができる。さらなる実施形態は、CHANフレームワークを使用するエンコーダの異なる組み合わせ、異なる技術又は方法を使用する他の異なる解決手段も含むことができる。
本明細書で紹介されたデジタルデータブラックホール(DDB)は様々な形態を取ることができる。それは、AABコードを使用して前又は後又は前後の両方又はバイパスのコード値を吸収(即ち表示)することができる(例えば、ビット0又はビット1を使用して代用コードを、2つのコード値がコード値のバイパス吸収又は表示と見なされることを代表する2つの形態に分割し、そのうち分割代用コードで表されるコード値はデータセット内の任意の箇所に現れてもよい)。後のコード値を吸収するためにDDBを使用する方法がより簡単である。前にコード値を吸収する場合に、2つ又は連続的な複数のDDBが現れることに注意する必要がある。DDBとして指定されたコードがリンクされる時、各DDBに対応するAABコードがまず順に格納されなければならず、且つ最後のDDBのADBコードを処理した後に、このようなAABコードは逆の順序で配置されなければならず(即ちAABコードの逆配置技術を使用して、デコーディング後の前のコード値が別のDDBを形成することができるか否かをチェックし、且つ必要に応じて対応するコードのさらなるデコーディングを行う)、それによりデコーディングする時に、吸収されているコード値をデコーディングするためにAABコードを正しい順序で解釈することができる。また、エンコーディングコード出力ストリームの第1エンコーディングコード値として現れるDDBが、前にコード値のDDBを吸収したか否かを区別するために、ビットコード、即ちビット0又はビット1(関連する区分ビット)を使用する必要もある(もしそうであれば、上記の区別するビットは吸収されるコード値を表すAABコードにも従わなければならず、もしそうでなければ、上記の区別するビットは十分である)。ブラックホールが2つの方向にコード値を吸収することについて、ビット節約数はもっと多くなる可能性があり、それは2つのAABコードが使用でき、そのうち1つは前及び後に吸収される各コード値に用いられる。いくつかのDDBが集まる時、より複雑になる。従って、DDB衝突の各可能な状況又はシナリオをさらに解析し、次にエンコーディングをどのように完了するかを処理する法則を確立すべきである。例えば、何らかの理由でAABコードの逆配置を使用したくないと、例外法則が設定でき、即ち、2つのDDBが連続的に現れる時、一方が、関連コード値(即ち他のDDB)を吸収しないように、対応する吸収方向で停止してAABエンコーディングを行う。この例外法則は一方向又は双方向の吸収のために設計される。DDBを使用して前又は後又は前後の両方にコード値を吸収するために、それに関連するAABコードを正確にデコーディングすることができるように、関連するヘッダーにDDBタイプのインジケータも含むことができる。さらに、前又は後に表されるコード値は、対応するDDBから一定の距離を置くように設計することもでき、通常、直接的に前又は後にあるコード値は、AABエンコーディングによって吸収又は表示されるが、対応するDDBの前又は後に吸収されるか又はAABエンコーディングによって表されるコード値のための一定数の位置を指定することもできる。このようにして、オリジナルのデジタルデータ入力ストリーム内で第1DDBに合ってそのような吸収又は表示を行う時、デコーディングプロセス中に任意の誤解が存在しないようにこの状況を表現するためにより詳細な法則を設計しなければならない。
上記の説明により、ランダムデータと非ランダムデータの両方を圧縮するために用いられる方法又は技術又は技術の組み合わせを以下のようにまとめることができる。
(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ビットランダムデータセットのコード値の頻度分布
Figure 2022160484000110
Figure 2022160484000111
Figure 2022160484000112
Figure 2022160484000113
Figure 2022160484000114
Figure 2022160484000115
Figure 2022160484000116
Figure 2022160484000117
Figure 2022160484000118
Figure 2022160484000119
Figure 2022160484000120
図表60b
図表60aの頻度統計値を用いた12ビットクラスSPUCVの頻度カウントの分布
Figure 2022160484000121
上述したように、ランダムデータセットサイズを小さい値ff=9000に調整して図表60aを生成し、且つ図表60bは、図表60aを使用する頻度統計値が12ビットクラスにおけるSPUCVの頻度カウントの分布である。図表60bに示すように、最高頻度のカウントが11個のコード値は2つある。ゼロ頻度カウントを有するブラックホール1とする欠落するSPUCV 101110-101110とペアリングするために、第1個又は第2個(即ちSPUCV 111011-101010及び111010-101011)をブラックホール0として選択する。任意の1つを使用すると、ビット節約数は11ビットだけであり、且つ従来の方法を使用して計算された2つのブラックホールインジケータのビット消費は12ビットである。それは明らかに適切な方法ではない。従って、ブラックホールインジケータに必要なビット長を短縮するために別の新しい技術を設計することができる。これも範囲の概念を使用している。
この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の頻度カウントの分布
Figure 2022160484000122
この仮定は、ブラックホール0とブラックホール1の3/4ビットのPUCVと5/6ビットのPUCVの頻度カウントの分布が、オリジナルの12ビットのSPUCV 111011-101010の比率を維持することを基とする。
上記の説明が正確であると仮定すると、設計された固定のブラックホール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コードテーブル
Figure 2022160484000123
図表61b
コード値がPUCV 000に集中するためのAABコードテーブルは、4ビットのPUCVで欠損が発生する時に適用され、数が少ない4ビットのPUCVを有するデータセットに適用される。
Figure 2022160484000124
図表61c
コード値がPUCV 000に集中するためのAABコードテーブルは、5ビットのPUCVで欠損が発生する時に適用され、数が少ない5ビットのPUCVを有するデータセットに適用される。
Figure 2022160484000125
図表61d
コード値がPUCV 000に集中するためのAABコードテーブルは、6ビットのPUCVで欠損が発生する時に適用され、数が少ない6ビットのPUCVを有するデータセットに適用される。
Figure 2022160484000126
図表61e
コード値がPUCV 000に集中するためのAABコードテーブルは、残りのPUCVは頻度の減少に従って降順でコード値が割り当てられる。
Figure 2022160484000127
上記の5つのバージョンのAABコードテーブル設計は、コード値のデータ割り当てに応じて応用する必要があるAABコードタイプの範囲を制限するためにコード値を複数のセクション(例えば、図表61b、図表61c及び図表61dでコード値ビットサイズによって分類する)に分割することができることを示す。従って、それが望ましく適切であると発見する場合には、より多くのこのようなAABコードテーブルを設計することができ、それにより上記の法則及び図表61にリストされるAABコードテーブルを補足する。上記の法則及び図表61は、非ランダムデータを圧縮するためにデジタルデータブラックホール及び連続コード代用技術とAABコーディング技術をどのように設計及び開発するかを証明するために作成され、それは以上の説明が網羅的であることを意味するものではなく、常に最適化するために設計及び開発し、それらを補足する。本明細書で使用されるAABコードテーブルを調整する技術は、DDBを使用して得られるビット使用利得の最大化を達成するためにDDBに関連するAABコードテーブルにも適用される。設計によれば、ビットの使用数が増加するDDBに応じて、それによって吸収されるために頻度がより高いコード値の半分(又は一部)を該DDBに割り当てる必要がある。これは、非ランダムデータセットに対して、コード値の不均一な割り当てのために、処理されているデータセットのコード値の現在の頻度分布に従って、各DDBペアに割り当てられる2つの半分を調整しなければならないことを意味する。従って、AABコードテーブルもそれに応じて調整する必要がある。従って、処理されている非ランダムデータセットのデータ割り当てに従って適切に調整する上記の法則及び上記AABコードテーブルに基づいて、PUCVが欠落しない非ランダムデータのほぼ全ての場合をカバーするのに十分であることは明らかであり、上記のAABコードテーブルは、処理されている非ランダムデータセットのデータ割り当て場合に従って適切に調整される。また、例えば80,000個の2進数ビットから10倍又は100倍に増やす等、セクションサイズを調整することもでき、これは、よりよいビット節約の機会を確実に提供する。非ランダムデータについても、上記の最良の選択肢を使用すると1つのセクションのデータを圧縮しビット節約使用数の減少をもたらし、これはデジタルデータ入力全体にビット使用の利得が存在しないことを意味しない。そのため、法則の補足の機会とさらなる最適化のためのAABコードテーブルを考慮すると、先ほど説明された方法は、PUCVが欠落していない非ランダムデータを圧縮するには十分である。
(2c)PUCVが欠落している非ランダムデータセット:
PUCVが欠落している非ランダムデータセットを圧縮することは比較的簡単で、以下の技術を使用することによって常に達成することができる。
(i)処理されている非ランダムデータセットに欠落するコード値をブラックホール1として使用して、前記ブラックホール1は、同じビットクラス又は1ビット減少したビットクラスでもブラックホール0とペアリングされ、該ブラックホール0が関連するクラスで最大頻度コード値を有し、コード値が欠落した発生頻度はゼロであるため、それを代用するために任意の代用コードを必要としない。
(ii)処理されている非ランダムデータセットに欠落したPUCVを、より長いビット長の別のコード値で代用し、そのような別のコード値は処理されているデータセットに存在する。
さらに、適切な場合に、ランダムデータと非ランダムデータを圧縮するために、1対以上のDDBを使用することを検討する必要がある。上記の方法及び技術を使用して、関連ヘッダーで使用される特殊コードのための関連インジケータを追加するか、又は適切な場合に既に論じたように使用されるエンコーダ及びデコーダにそれらを埋め込む必要がある。エンコーディング又はデコーディングされているデータセットがランダムデータセット又は非ランダムデータセットであるか否か、またどの対のDDBが使用されたか、又はどのAABコードテーブルが使用されたかを示すためにシナリオインジケータ等の他のインジケータも同じ方式で使用される。
上記の実例ではCHANフレームワークで設計されたMax3エンコーダを使用したが、他のMax数を使用したエンコーダ設計も試みることができる。従って、他の特徴の他、最も重要な区分特徴として、CHANフレームワークで設計されたエンコーダと他のエンコーダを区別するための基準は、コード単位、処理ユニット及びスーパー処理ユニットの固有コード値であり、使用される設計に応じて複数のビットサイズ又はビット長を有するか、又は異なるビットサイズ又はビット長を有する。
従って、上記で概説した方法及び技術は、ランダムであるか非ランダムであるかに関わらず、あらゆるタイプのデジタルデータを周期的に圧縮することができる(数千個の2進数ビット未満のランダムデータを含まず、厳密な制限はここでは重要ではない)。従って、上記内容を参照しながら、ユニバーサルエンコーダが本明細書において発明された。
要するには、結論はまた次のとおりである。
理解している人がその数を数える。
入力されるデジタル情報に関する仮定がないため、ランダム数又は均一に割り当てる数を問わず、どんな数でも上記の制限を条件とするリサイクル内に暗号化又は圧縮することができる。情報が爆発する現在、割り当てについてランダムであるか否かを問わず、デジタルデータの暗号化及び圧縮を周期的に可能にする方法は、生活のあらゆる面でデジタルデータの交換及び格納を利用することに頼る人類全体に大きく貢献し、それは確かに宇宙での探索及び転居のための人間の努力に貢献する。
これまで、本発明が優先権を主張するPCT出願PCT/IB2017/054500で導入された最良の実施形態は、ランダム及び非ランダムデータを適宜圧縮するためにコードサロゲーション(接続又は非接続)と共にデジタルデータブラックホールを使用することである。そして、非ランダムデータについては、処理中のデジタルデータセットのデータ割り当てタイプに適応するように、他の法則及びAABコードテーブルを設計及び開発することができる。これは任意のデジタルデータセットが記述された制限に達するまで周期内にエンコーディング及びデコーディングを行うことができるという明確な証明を提供し、前記証明は、情報理論における鳩ノ巣原理の神話を終わらせ、そして今鳩ノ巣がブラックホールに合う。それは他のモードでの他のCHANコーディング技術が同じ結果及び同じ証明を生成することができないことを意味しない。他のモードを使用しても同じ結果及び同じ証明を提供することができることが予想される。
他のモードは、交互に不均一器と均一器を使用してエンコーディング及びデコーディングすること、スーパー処理ユニットを使用し、特にこのようなサブセクションのAI区別を使用するための基準を設定する技術を使用することにより、ランダムデータセットを圧縮の影響を受けやすい不均一データのサブセクション又はサブユニットに分解すること、及びサイズが異なる処理ユニットを使用し、デジタルデータ値の内容の特性又は特徴に基づいて、終了条件及び分類の基準を適切に使用してエンコーディング及びデコーディングし、且つ、特に暗号化スキーマの設計を容易にするために、数式の使用及びそれらの対応する値の配置によりエンコーディング及びデコーディングを行う。さらに、本発明は、処理中のデジタルデータセットが段落142及び以下に示すようにランダム又は非ランダムであるか否かに関わらず、暗号化兼復号ならびにロスレス圧縮及び解凍を含む、エンコーディング及びデコーディングを目的として操作用の選択コード値のデジタル構造又は構成を作成するデジタルレンズングを使用する最も新しい方法を開示する。
最も重要なことは、上記の議論から分かるように、CHANフレームワークが、データがランダムであるか否かに関わらず順序を作成するために使用できるフレームワークを提供することであり、それにより該データから、統計情報を生成し、該統計情報は、処理中の特定のデータセットを記述するスキーマ[スキーマ及び設計はコード単位、処理ユニット、スーパー処理ユニットの設計(一部がより大きいサイズのスーパー処理ユニットである)、エンコーディングされていないコード単位、このタイプの情報を使用するために設計された基本インジケータを含むヘッダー、及びエンコーダ及びデコーダに内蔵されるプログラミングロジックを含み、それによりCHANコードを生成して、CHANコードファイル形式のデジタル2進数ビットで表示する]に関連付けられ、且つ適切な場合には、CHANコーディング技術の使用を可能にし、圧縮及び暗号化のためにエンコーディング及びデコーディングする。上記のように、このような前述の統計情報は、コード単位、処理ユニット、スーパー処理ユニットのサイズを含み、それらの頻度分布、データコード値のランク及び位置、及び数式で表されるような異なるデータコード値間の関係等の他の特徴情報、終了値及び終了条件、ビット0とビット1との間の比率、データ範囲等を含む。原因は、データセットのそのような特徴又は特性は、CHANフレームワーク下で記述できるため、エンコーディング及びデコーディングのために関係又は派生特性を作成する。例えば、1つの特別に有用な特性は、絶対アドレス分岐コードであり、例えば、それ自体でコード単位定義として、又は内容コードとして、又はシナリオ分類コードとして、及びAI区別を行うための基準として使用する内容コードのトリオのサフィックスとして使用され、特に、デジタルデータブラックホールと連続コード代用を組み合わせて使用し、それによりランダムデータの圧縮及び解凍を正確且つロスレスに行うことができる。そのため、CHANフレームワークは、任意のデータ割り当てに属する任意のデータセットのために順序を作成し、設計段階中に大きな柔軟性を可能にするリッチなフレームワークであり、これはフレームワーク下で記述可能にされるため、データ値間の差を捕捉するための技術が開発され、これは、例えばデータ圧縮の再循環を可能にする目的でデータ割り当ての不均一性を増加させるために、データセットのビット0とビット1との間の比率を変えるサイクルを通し、又は、対応するデジタルデータセットを(それ自体又はそれをさらに圧縮する前に)暗号化するため、処理ユニットの異なるコンポーネント間の関係を表す数式を設計することにより、真面目に操作することができる。
どのモードを使用するかについて、暗号化又は圧縮、又はその両方のためのエンコーディングの主な目的によって決められる。段落[142]及び以下で開示されるデジタルレンズングの方法は、処理中のデジタルデータセットのデータ分布を考慮して、操作するコード値を選択するためにそれを利用できるデジタル構成を提供するため、間違いなく最適な方法である。デジタルレンズングとそれが作成するデジタル構成により、まず、処理中のデジタルデータセットから形成されたデジタル構成に示されている特性を見つけて調べ、ランダム又は非ランダムデータに関わらずデジタルデータセットをロスレスでエンコーディング及びデコーディングするのに適した他の手法を適用することが可能になる。
本質的には、本発明が優先権を主張するPCT出願PCT/IB2017/054500の実施形態は、以下によって特徴付けられる。
(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フレームワークで設計されたコーダ。
デジタルレンズングは、ランダム又は非ランダムデータであるか否かに関わらずデータ情報のデータ分布を事前に知ることを必要とせずに、一連のビット0及びビット1で表されるデジタルデータのパターンを識別する機能又は能力であり、上記の全てのタイプのデジタルデータに適用できる。本発明は、ランダムデータが悪夢及びゴミ箱にレンダリングされる情報理論におけるピジョンホール原理ではないように、そのような機能又は能力をデジタルデータ処理でどのように実行及び適用できるかを開示する。本質的には、デジタルレンズング自体は、デジタルデータを変更しない。ただし、同じデジタルデータセットからデジタル構成を作成できるだけでなく、処理中のデジタルデータセットをエンコーディング及びデコーディングするために適切な手法を使用してデジタルデータセットをさらに操作できるように、異なる設計に従って異なるコード値をそれにより作成される同じデジタル構成に選択することもできる。前記デジタルデータセットは、同じであるが、デジタルレンズングの機能を使用することで、同じデータセットから異なるデジタル構成を見つけたり作成したりし、異なるデジタルコード値をこのような構成に入れることができ、また、設計に従ってさまざまな特定のエンコーディング及びデコーディングの目的でデジタルビットパターンの異なる分布が作成される。これは、さまざまなレンズを着用するように、視野内で同じオブジェクトのさまざまな形状やさまざまな色を見ることができる。例えば、以下の段落[191]の図表87は、デジタルレンズングを使用して生成された同じランダムデジタルデータの異なる頻度分布パターンの統計を示している。
このデジタルレンズング機能により、ランダムデータと非ランダムデータを含む分布パターンに関わらず、あらゆるタイプのデジタルデータを整理できる。また、処理中のデジタルデータセットを、作成したデジタル構成に配置して整理することにより、デジタルデータセットが配置されたデジタル構成のさまざまな要素の頻度分布などの特性を調べ、それによりエンコーディングとデコーディングを行うことができる。
デジタルレンズングの機能をどのように開発して使用できるかをよりよく理解するには、同じデジタルデータセットから異なるデジタル構成を作成する技術を開示する必要がある。デジタル情報の整理には多くのレベルがあり、最初のレベルは、2進数システムを使用する従来の方法で一般的に行われているようにデジタル情報をビット0とビット1に整理することである。一連の2進数デジタルビットではないと、デジタル構造、構成又はパターンが形成できない。本発明が優先権を主張するPCT出願PCT/IB2017/054500では、CHAN SHAPES及びCHANフレームワークは、さらなる操作のためにデジタル情報が入れられたデジタル構造として、2進数システムの別のレベルとして説明されている。ただし、デジタルコード値をこれらのデジタル構造に選択するためのデジタルレンズングの使用は指定されていない。ここで説明されるデジタルレンズングの新規な点は、デジタル構成を作成することに加えて、デジタルレンズングの機能により、さらなる処理の設計に応じて異なるコード値セットを同じデジタル構成に選択的に配置できることである。
従って、デジタルレンズングは、デジタル構造を作成するだけでなく、設計に従ってコード値を自由に選択し、選択したコード値をそれらのデジタル構造に入れて、さらなる操作のために構成に変換できることにより、デジタル情報を整理及び順序付ける従来の方法とは区別される。従って、デジタルレンズングには、デジタル構造を作成できる要素と、設計に従ってデジタル構成を自由に作成するためにどのコード値を作成されたデジタル構造に入れるかを選択できる要素との2つの要素(組み合わせ)がある。コード値又はデジタルビットを選択し、それらを作成されたデジタル構造の異なる部分又は要素に配置できることが、デジタルレンズングの鍵である。
図表62は、2進数システムコード表を示し、2進数システムのコード値と共にデジタルレンズングが使用されるかを示すために使用される。
図表62 2進数システムコード表
Figure 2022160484000128
上記のように、4つのコード値があり、それぞれが2ビット、つまり00、01、10、11で構成されている。
デジタルレンズングの機能と方法を使用するための鍵は、デジタル構成に入れる選択されたコード値を選択する能力である。一例として、デジタルレンズングを使用するには、想像力を活用して、デジタル構造に入るためのデジタルビットのデジタル構造を設計する必要がある。図表62に示すように、選択できるコード値は4つだけである。そして、最初のデジタル構造に入れるように選択できる選択肢は、3つだけであり、つまり、1つのコード値、2つのコード値、又は3つのコード値を選択し、また、4つのコード値の全てが最初のデジタル構造に入れられるように選択された場合、最初のデジタル構造からは何も出力できず、その場合、コード値の操作が行えないようである。また、最初のデジタル構造に入れるコード値が1つ選択される場合、残りの3つの値は最初のデジタル構造から出力されて、2番目のデジタル構造に現れる。最初のデジタル構造に入れるコード値が2つ選択される場合、2つのコード値は最初のデジタル構造から出力されて、2番目のデジタル構造に現れる。最後に、最初のデジタル構造に入れるコード値が3つ選択される場合、1つだけのコード値は最初のデジタル構造から出力されて、2番目のデジタル構造に現れる。
類推すると、最初のデジタル構成はデジタルリザーバーと見なされ、2番目のデジタル構成はデジタルダムと見なされる。ビット0とビット1(デジタル雨)からなるあらゆる分布パターンの一連のデジタルビットは、最初のリザーバーに到達したときにランドに降り、最初のリザーバーに保持されるために選択されるように設計されたコード値の雨滴(デジタル雨滴)はここに保持される。選択されたコード値ではないデジタル雨滴は、最初のデジタルリザーバーから出て、その後、デジタルダムになる(又は固化して形成する)。このように、前記デジタルリザーバーは、可変デジタル構成であり、つまり、デジタル雨滴の有無に関わらず、デジタルダムは、デジタルリザーバーに保持するように選択されていないコード値のデジタル雨滴がある限り、固定デジタル構成である。そのため、前記デジタルリザーバーは、デジタル雨滴を保持しないか、できるだけ多くのデジタル雨滴を保持でき、具体的には入ったデジタル雨滴の構成に依存する。デジタルダムは、固化したデジタル雨滴で構成されている。デジタルリザーバーに保持されるように選択されたデジタル雨滴は、デジタル水と呼ばれ、デジタルリザーバーから出てくるものは、デジタル氷と呼ばれる。2つのデジタル氷(つまり、選択されていない2つのデジタルコード値)が互いに隣接し、それらの間に空のデジタルリザーバーがある2つのデジタルダムが形成され得る。従って、付属するデジタル雨にデジタル氷が含まれている限り、デジタルダムは1つのデジタル氷のみで構成される固定構成である。
上記の開示をよりよく理解するために、3つのデジタルコード値のデジタル雨滴がデジタルリザーバーに保持されるように選択され、残りのデジタルコード値のデジタル雨滴のみがデジタルリザーバーから解放されるように、1つのデジタルリザーバーと1つのデジタルダムである2つのデジタル構成を設計できる。図表63は、2つのサブデジタル構成即ち1つのデジタルリザーバー及び1つのデジタルダムで構成される処理ユニットとなるデジタル構成を示している。
図表63
1つのデジタルリザーバーと1つのデジタルダムで構成される処理ユニットとなるデジタル構成1
Figure 2022160484000129
従って、上記デジタルリザーバーは、図表62の2進数システムコード表の4つのデジタルコード値である00、01、10、11のうち、3つのデジタルコードユニット値(コード値)00、01及び10のデジタル雨滴を保持する。その後、デジタルコード値11のデジタル雨滴がデジタルリザーバーの後に放出されてデジタルダムを形成する。ただし、図表64に示すように、01、10、及び11を選択してデジタルリザーバーに保持し、00を解放してデジタルダムになるなど、別の選択セットを選択してもよい。
図表64
図表63と同じ構造であるが、異なるサブデジタル構成において異なるデジタルビットパターンを有する異なるデジタル構成である、処理ユニットとなるデジタル構成2
Figure 2022160484000130
従って、異なるセットのデジタル雨滴がデジタルリザーバーとデジタルダムを形成するために設計して選択されているため、デジタルデータセットが同じであっても、同じデジタル構成は2つの異なるデジタル構成になる。例えば、図表63のデジタルダムはデジタルコード値11のみで構成でき、図表64には、00である。
従って、処理ユニットは、1つ以上のデジタル構成の1つ以上のユニットで構成されるように設計できる。例えば、図表63及び図表64に示されるように、デジタル構成1の2つのユニットで順次構成されるか、又はデジタル構成2の2つのユニットで順次構成されるか、又はデジタル構成1の1つのユニットとデジタル構成2の1つのユニットで順次構成されるか、又はデジタル構成2の1つのユニットとデジタル構成1の1つのユニットで順次構成される処理ユニットを作成できる。ただし、上記の類推と設計は、デジタルレンズングの機能を説明するために使用される例に過ぎず、デジタルレンズングの機能は、上記の例に限定されない。例えば、以下の図表65のように、値が現れるときに11又は00の選択されたデジタルコード値の例をできるだけ多く保持できるようにすることで、上記デジタル構成1又は2のデジタルダムを可変幅の固定デジタルダムにすることもできる。
図表65
デジタルリザーバーに保持される3つのデジタルコード値と、可変幅の固定デジタルダムを形成する残りの1つのデジタルコード値を有する異なるデジタル構造を有する、処理ユニットとなるデジタル構成3
Figure 2022160484000131
又は、2つのデジタルコード値を保持し、残りの2つのデジタルコード値を解放してデジタルダムを形成するように設計することもでき、以下の図表66に示すように、前記デジタルダムは、デジタルリザーバーから出現する2つのデジタルコード値のいずれか1つのコードの例だけを占めている。
図表66a
デジタルリザーバーに保持される2つのデジタルコード値と、いずれかがデジタルダムを形成するための2つのデジタルコード値とを有する異なるデジタル構造を有する、処理ユニットとなるデジタル構成4
Figure 2022160484000132
図表66b
デジタルリザーバー(DR)に保持される2つのデジタルコード値と、いずれかがデジタルダム(DD)を形成する2つのデジタルコード値とを有する異なるデジタル構造を有する、処理ユニットとなるデジタル構成4
Figure 2022160484000133
従って、図表66bでは、最後の2つのデジタルリザーバーの間にある前記デジタルリザーバーは、空であり、上記のように[]で示されている。
なお、上記では、可変デジタル構造であるデジタルリザーバーは、[かかるデジタルリザーバーに入るように設計に従って選択されたデジタルコード値を有するコードがある限り]存在するか又は存在しない構造であり、存在する場合は、処理中のデジタルデータセットのデータ分布に応じて、このように選択されたデジタルコード値のうちの1つ以上のコードが存在する可能性があり、図表66bに示すように、前記処理は、設計におけるデジタル構成を使用してデジタルデータをサンプリング又はリーディングし、また、図表66bには、デジタルダムがその前のデジタルリザーバーから出てくるデジタルコード値の残りのコードから形成されることが示されており、このため、その前のデジタルリザーバーから出てくるそのような残りのデジタルコード値がある限り、1つ以上のデジタルダムがあり、その意味では、デジタルダムは固定デジタル構造であるが、図表65に示すように可変幅であってもよい。
従って、異なる数とパターンのデジタルコード値で構成されるデジタル構造のさまざまな組み合わせを設計できる。本発明が優先権を主張するPCT出願で説明されたCHANフレームワークの下では、図表62の2進数システムの2ビットコード表(4コード値)に示す従来の方法で2進数システムの2ビットコード値だけでなく、2進数システム又はコード値システム(不均等なビット幅又はサイズのコード値)を使用して8コード値を有する3ビットコード表も使用できる。
例えば、次のコード表は、CHANフレームワークコードシステムの3値コード表である。
図表67
CHANフレームワークコードシステムの3値コード表
Figure 2022160484000134
コード値10と11を選択してデジタルリザーバーに入れ、残りのコード値0を解放してデジタルダムにすることができる。従って、CHANフレームワークの下で3値コードシステムを使用して、2つのサブデジタル構成、1つのデジタルリザーバー(コード値10及び11を保存)及び1つのデジタルダム(コード値0を保存)で構成されるデジタル構成が形成される。
CHANフレームワークの下での前記コードシステムは、以下の図表68に示すように、無制限のコード値で構成されてもよい。
図表68a
無制限のコード値のためのCHANフレームワークコードシステムの0テールコード表
Figure 2022160484000135
図表68b
無制限のコード値のためのCHANフレームワークコードシステムの1テールコード表
Figure 2022160484000136
従って、デジタルデータは、上記の図表68に示されている無制限の値コード表と段落[0151]に記載されているデジタル構成(CHANフレームワークの下で0テールコードシステムを使用)のいずれかを使用してサンプリングされ、つまり、処理ユニットは2つのサブデジタル構成、1つのデジタルリザーバー(無制限の0テールコード値、つまり、10、110、1110などを含むビット0で終わるコード値を保存)、及び1つのデジタルダム(コード値0を保存)からなり、その場合、デジタルリザーバーのサイズは、隣接する0テールコード値を有するコードの数に依存するだけでなく、CHANフレームワークコードシステムの下でのコード値が不均等なビットサイズによって特徴付けられるため、0テールコード値のそれぞれのサイズ又は幅にも依存する。
また、サンプリングシステム又はデジタルレンズングシステムを設計することもでき、このようなシステムでは、最初のデジタル構成が2進数システムにおけるコードシステム(つまり、デジタルコード値の数が固定されているシステム)で構成されるとともに、2番目のデジタル構成がCHANフレームワーク(デジタルコード値の数は固定されているか又は無制限である)におけるコードシステムから構成される。従って、実際には、さまざまなエンコーディング及びデコーディングの目的でさらに操作するために、ランダムであるか否かに関わらず、デジタルデータセットをサンプリングするための無数のデジタルレンズングシステムを設計できる。
従って、図表66を構成する一連のデジタルビットは、図表69aで次のように再現される。
図表69a
図表66に示すように、デジタル構成設計を使用してデジタルレンズ化された一連のデジタルビット
Figure 2022160484000137
図表66に示すデジタル構成設計のデジタルレンズを使用する代わりに、デジタルリザーバーがコード値00/01/10を保持しコード値11を解放してデジタルダムを形成する図表63に示すデジタル構成設計を使用して、上記の図表69aに示す一連のデジタルビットをレンズ化する(つまり、デジタルレンズを使用してサンプリングされるか又は読み取られている)場合、この一連のデジタルビットは、次の図表69bに示すように別の方式で現れる。
図表69b
図表63に示すデジタル構成設計を使用してデジタルレンズ化された一連のデジタルビット
Figure 2022160484000138
図表69aには、3つのデジタルリザーバー及び3つのデジタルダムがあり、3つのデジタルリザーバーのうち、最後の2つは空であり、最初の1つは5つのコードを保持し、5つのコードのうち、2つは10であり、残りの3つは11であり、3つのデジタルダムのうち、2つはコード値01の1つのコードで構成され、残りの1つはコード値00の別のコードで構成されている。一方、図表69bには、デジタルレンズを変更した後、同じ一連のデジタルビットは、4つのデジタルリザーバーを形成し、そのうちの2つは空であり、残りの2つは10の1つのコード又は10、00、01、01の4つのコードで連続して埋められる。また、3つのデジタルダムは、コード値11の1つのコードで構成される。
技術的には、一連のデジタルビット0及び1の形式の同じデジタルデータセットは、さまざまなエンコーディング及びデコーディングの目的に適していると考えられるデジタル構成設計を使用してサンプリングされたり読み取られたりデジタルレンズ化されたりし、このような技術的ステップには、設計中のコードシステムのコード表に従って一連のデジタルビットを読み取り、つまり、一連のデジタルビットを読み取り、使用されているコード表のコード値と照合し、設計及び使用されているデジタルレンズングシステムに応じて、使用されるコード表におけるコード値のビットパターンと一致するビットパターンに従った連続的な各コードユニットとして形成又は認識するステップ(1)と、対応するデジタル構造又はサブデジタル構成に選択されるように設計されたコード値に従った読み取られたコードを分類又はグループ化(つまり、保持又は解放)するステップ(2)と、が含まれる。このようにして、前記一連のデジタルビットは、デジタルデータセット自体で実際の操作が行われていなくても、使用されているデジタルレンズングシステムに従って記述又はグループ化又は分類をすることができる。
段落[0154]に見られるように、処理中のデジタルデータセットからデジタルリザーバーとデジタルダムがいくつ形成されているか、このように形成されたデジタルリザーバーとデジタルダムに存在するコードの数とそのコード値など、使用されているデジタルレンズに応じて処理中のデジタルデータセットの統計特性を見つけることができる。つまり、要するに、デジタルデータセットの性質を事前に知ることなく、処理中のデジタルデータセットのデジタル構造及び要素を数えることができる。それは、ランダム又は非ランダムに関わらず、設計及び使用中のデジタルレンズの観点から、あらゆるタイプのデジタルデータをカウントできることを意味する。
そのため、デジタルレンズングの機能を採用し、悪名高いランダムデータの悪夢など、あらゆるタイプのデジタルデータの研究のために、新しいアプローチが開発されている。そして、本発明は、デジタルレンズングの機能をどのように開発して、技術的に使用できるかを開示する。サンプリングシステムの初期レベルとしてのデジタルレンズング自体は、エンコーディング及びデコーディングの目的で、処理中のデジタル情報を変更しないため、以下の段落[0162]で説明するデジタルレンズングの追加のレベル又はレイヤーを含む他の技術は、対象となるデジタルデータを変更するためのサンプリング又は整理システムとしてデジタルレンズングの初期レベルと共に使用する必要がある。
そのため、デジタルレンズングの機能を有すると、デジタルコンテンツをエンコーディング及びデコーディングするために、デジタル構成を自由に設計して作成し、本発明が優先権を主張するPCT出願PCT/IB2017/054500で開示された技術を使用でき、前記デジタルコンテンツは、作成されたデジタル構成に選択されるように設計されたデジタルコード値を有する2進数ビットである。
デジタルレンズングの機能を使用して作成されたデジタル構成のコンテンツをエンコーディング及びデコーディングするために、デジタルブラックホーリングを使用する例として、段落[0148]の図表63に記載されているデジタル構成の定義が使用され、前記デジタル構成は、1つのデジタルリザーバーと1つのデジタルダムで構成される処理ユニットであるデジタル構成1であり、それにおいて、デジタルコード値00/01/10のコードが選択され、デジタル構成1のデジタルリザーバーに保持され、デジタルコード値11のコードが放出されてデジタル構成1のデジタルダムを形成する。段落[0129]は、デジタルブラックホーリングの使用方法を示している。つまり、識別されたデジタルパターンの2進数ビットを吸収できるデジタルブラックホーリングが適用されるデジタルパターンを識別する必要がある。このため、図表63のデジタル構成1を作成した後、このように形成されたデジタルリザーバーとデジタルダムの2進数ビットのデジタルパターンをさらに識別する。前記デジタルリザーバーは、3つのデジタルコード値のコード、つまり00/01/10(存在する場合)を保持し、且つデジタルコード値11の1つのコード(存在する場合)だけで形成されることがわかった。これらの2つのデジタルサブ構成にデジタルブラックホーリングが適用されると、以下の図表70に示すようにデジタルビットの吸収が達成され得る。
図表70a
1つのデジタルリザーバーと1つのデジタルダムを含む図表63のデジタル構成1にデジタルブラックホーリングを適用した結果
Figure 2022160484000139
上記の図表70aに示すように、デジタルブラックホーリングを使用して吸収できる2進数ビットは[]に入れられる。デジタル構成1のデジタルリザーバーでは、デジタルコード値10は1になるため、コード値10のデジタルビットのビット0は吸収される。また、デジタル構成1のデジタルダムのデジタルコード値11は完全に吸収される。
従って、上記のデジタルリザーバーのエンコーディングでは、デジタルコード値00/01が検出されるたびに、これら2つのデジタルコード値はそのまま残るが、デジタルコード値10はビット1を使用してエンコーディングされて10を表す。一方、上記のデジタルダムのデジタルコード値11は完全に吸収されるため、デジタルコード値11は完全に消える。図表69bを構成する一連のデジタルビットは、以下の図表70bに示すようにエンコーディングされる。
図表70b
デジタルブラックホーリングを使用して、図表63に示すデジタル構成設計を使用してデジタルレンズ化された一連のデジタルビットをエンコーディングする。
Figure 2022160484000140
上記の図表70bの[]におけるデジタルビットは吸収されて消えるため、上記の一連のデジタルビット:1011111110000101は11000101としてエンコーディングされ、16ビットから8ビットに短縮される。ただし、結果としての8つの2進数ビットを正常にデコーディングし、ロスレスで正しくデジタル情報の16ビットに復元するには、正確なデコーディングのために結果としての8ビットのエンコーディングコードと共に分類情報又は分類データを使用又は追加しなければならない。
デジタル構成1の設計は既知であるため、上記の16ビットの2進数デジタル情報を正しく復元するには、上記の一連のデジタルビットから形成されるデジタルリザーバー及びデジタルダムの数、デジタルリザーバーがどこで停止するか、デジタルダムがどこから開始するか、及びどのデジタルリザーバーが空であるか、どのデジタルリザーバーが空でないかなどを知る必要がある。デジタルブラックホーリングは、元のデジタル情報を16ビットから8ビットに短縮するのに役立つが、上記の一連の16個のデジタルビットで表される元のデジタル情報をロスレスで正しく復元するには、情報を得られた一連のエンコーディングされたデジタルビットに追加し直す必要がある。従って、デジタルブラックホーリングに加えて、他の技術の使用も必要である。
この時点で、デジタルレンズングの機能を再び使用して、エンコーディングされたデジタルコードとその他の追加のデジタルコードを保存するための別のデジタル構成(エンコーディングされたデジタルコードを含むデジタル構成、以下、エンコーディングDCと呼ばれる)を設計及び作成する必要があり、それは、デコーディング処理中に元のデジタル情報の追加されたデジタルコードを正しくロスレスで復元する必要があることを示す。従って、エンコーディングされたデジタルコード及びその他の追加されたデジタルコードは、デジタル構成1、DC1のために設計及び作成された上記のエンコーディングされたDCの適切な部分に配置されるように選択及び編成される。
上記の例では、まず、元の16個のデジタルビットに正しくロスレスで復元するために、8個のエンコーディングされたデジタルビットに使用又は追加する必要がある情報を確認する必要がある。そのような情報の1つは、DC1のデジタルダムの識別子である。従って、エンコーディングされた8ビットを修正する必要があり、且つ元のデジタルコード値と対応するエンコーディングされたデジタルコード値は、以下の図表71に示すような形式としてもよい。
図表71
DC1の元のデジタルコード値をエンコーディングするための修正済みのコード表
Figure 2022160484000141
図表71では、ビット1は10と11のデジタルコード値を識別するために使用される。従って、一連のエンコーディングされたデジタルコードにおいてそれらを区別する方法が必要である。DC1のDDには1つのデジタルコードしかないため、DC1のDRに保持されているデジタルコード値10のユニットの数がわかっている場合、結果としてのその一連のエンコーディングされたデジタルコードビットのどのビット1がDDであるかを正確に識別できる。従って、エンコーディング処理中に、DC1のDRにあるコード値10のデジタルコードの数をカウントする必要があり、エンコーディングされたDCはそのようなカウント情報を表す構造要素を備えなければならない。このような構造要素は、以下、デジタルカウント情報(DCI)と呼ばれる。DCIの後、DC1のDR及びDDで見つかった元のデジタルコードを表すエンコーディングされたデジタルコードが現れ、これらは、エンコーディングされたDR及びエンコーディングされたDDと呼ばれる。従って、DC1の処理ユニットの場合、DC1のエンコーディングされたDCを表すエンコーディングされた処理ユニットには、DCI、エンコーディングされたDR(EDR)、及びエンコーディングされたDD(EDD)の3つの構造要素がある。DCIは、DC1のDRに保持されているコード値が10のデジタルコードの数の情報を与える。
従って、カウント技術は、デジタルレンズングとデジタルブラックホーリングを使用した後、この設計に使用されるもう1つの最も重要な技術である。DC1のDR(又はその中のDR又はDDの他の任意のデジタルコード値)においてコード値10を有するデジタルコードのカウント数がデジタル情報入力に応じて変化するため、固定ビットサイズに基づく従来の2進数番号付けシステムを使用するのは、ビットの使用量の大量の無駄をもたらす可能性があるため、不適切であり、そのような番号付けシステムは使用される固定ビットサイズによって制限され、例えば、2ビットの2進数番号付けシステムを使用すると、4カウントの上限が与えられ、3ビットの2進数番号付けシステムの場合は、8カウントの上限などが与えられる。ロジックによれば、実際には、DC1のDR(又はその中のDR又はDDの他の任意のデジタルコード値)においてコード値10を有するデジタルコードのカウント数は、デジタル情報入力に応じて無制限になる可能性があるため、カウントの上限が固定された番号付けシステムは使用に不適切である。
ただし、段落[0152]の図表68にリストされているコードシステムなど、CHANフレームワークの下で開発されたコードシステムは、無制限の数をカウントするために使用できる。次の例では、図表68aにリストされているテール0無制限コードシステムを使用してDCIをエンコーディングし、図表71のコード表を用いてDC1のDR及びDDを、エンコーディングされたDC1にエンコーディングし、そのデジタル構造は、図表72に示される。
図表72
Figure 2022160484000142
ここで、
DCIは、DC1のDRに保持するために選択されたコード値10を有するデジタルコードの数のカウント(図表68aのテール0無制限コードシステムを使用)であり、コード値10は、1[0]としてエンコーディングされ、ここで、[]におけるビット0が省略される。
EDRには、コード値00/01/10を有する元のデジタルコードがDC1のデジタルリザーバーに保持されるために、エンコーディングされたコード(つまり、00/01/1[0])が一連のデジタル情報で使用可能な限り多く含まれる。
EDDには、1つのエンコーディングコードのみが含まれており、ここで、1は、元のデジタルコード値11のコードに対するDC1のデジタルダムを表す。
従って、図表70にリストされている元の一連のデジタルビットは、再び図表73aとして表され、且つ、そのエンコーディングされたデジタル構成は、図表73bに次のように示される。
図表73a
図表70の一連のデジタルビットを使用したデジタル構成
Figure 2022160484000143
図表73b
図表73aにおける同じ一連のデジタルビットのエンコーディングされたデジタル構成
Figure 2022160484000144
図表73bから、3つの完全にエンコーディングされたDC1と、DCIとEDRの2つの残りのデジタル構造要素があり、完全にエンコーディングされたDC1を形成しない。[]及び[]内のビット0及びビット1は、実際には、エンコーディングされた一連のデジタルビットに存在せず、次のとおりである。

10110101101000101

明らかなように、エンコーディングされた一連のデジタルビットは17ビットであり、元の一連のデジタルビットより1ビット多い。これは、最後のDCIとEDRが、後続のコード11なしで、完全なDC1を形成できないためである。後続のDDがある場合、完全なDC1を形成できる。そのため、エンコーディングされたコードのビット使用量は、元の一連のデジタルビットと同じになる。
図表73のDCIは、DC1のDRに選択されたコード値10を有するデジタルコードの数のカウントを表す(図表68aにおけるテール0無制限コードシステム)。以下の図表74は、DC1のDRでコード値が10のデジタルコードをカウントするために、テール0無制限コードシステムがどのように使用されるかを示している。
図表74
DCIのDRに保持するために選択された選択コード値10を有するデジタルコードの数をカウントするデジタルカウント情報(DCI)
Figure 2022160484000145
この例では、DC1のDRで無制限の数のデジタルブラックホーリングをカウントする技術、つまり、CHANフレームワークを使用して設計されたテール0無制限コードシステムを使用して、完全なデジタル構成をエンコーディングされたデジタル構成にエンコーディングでき、このエンコーディングされたデジタル構成は、デジタルカウント情報、エンコーディングされたデジタルリザーバー、及びエンコーディングされたデジタルダムから構成され、元の一連のデジタルビットのビット使用量と同じビット使用量を有する。次の図表75では、さらに詳しく説明する。
図表75a
ブラックホーリングの技術と、CHANフレームワークの下で設計されたテール0無制限コードシステムを使用した無制限カウントの技術を使用して、図表71のDC1をエンコーディングされたDC1にエンコーディングし、ここで、DC1のDRにコード値10を有するコードがない。
DCI
Figure 2022160484000146
図表75b
ブラックホーリングの技術と、CHANフレームワークの下で設計されたテール0無制限コードシステムを使用した無制限カウントの技術を使用して、図表71のDC1をエンコーディングされたDC1にエンコーディングし、ここで、DC1のDRにコード値10を有するコードが存在する。
DCI
Figure 2022160484000147
ここで、{00/01...00/01}は、処理中の元の一連のデジタルビットにおいて検出されたか又は検出されなかった(検出されなかった場合、そのようなコードはない)EDRにおいてコード値00/01を有する一連のコードを表す。
図表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
Figure 2022160484000148
;ここで、{0...0}は、処理中の元の一連のデジタルビットで検出されたか又は検出されなかった(検出されなかった場合は、そのようなコードはない)EDRにおいてコード値が00/01である一連のコードのヘッドビットを表す。
;ここで、{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を有する。
段落[0167]及び[0168]で説明されているエンコーディング及びデコーディングの上記スキーマによれば、任意の完全なDC1を、同じ数のデジタルビット、つまり同じビット使用量を有する対応するEDC1にエンコーディングでき、且つ、EDC1は、正しくデコーディングされ、ロスレスで元のDC1に復元できる。暗号化と復号のエンコーディングとデコーディングの目的に適用できる。デジタルカウント情報の使用、デジタルカウント情報に使用される無制限コードシステム(0テールコードシステム又は1テールコードシステムを使用するか否か)、0ヘッドコード値を有するエンコーディングされたコードの位置配置、及び0ヘッドコード値を有するコードへの分割コードとビットマップの使用、及びコード値10及び11の[]又は1[0]又は1[1]へのブラックホーリングは、さまざまな方式で組み合わせて、暗号化及び復号のさまざまなスキーマを表すことができる。
さらに、上記のように、デジタル構成をさまざまな方式で設計し、DR及びDDに保持する異なるコード値を選択し、1つ以上のエンコーディング及びデコーディングサイクルで1つ以上のデジタル構成設計を使用でき、暗号化スキーマと復号スキーマの組み合わせは、無制限でありうる。以下の図表76に示すように、DRとDD内のコード値も異なる方式でマッピングできることは、言うまでもない。
図表76
デジタル構成のコード値のマッピングシナリオ
図表63におけるデジタル構成設計のシナリオ1
Figure 2022160484000149
;上記でリストされている最初の3つのコード値のコードはDRに入るように選択され、4番目のコード値のコードはDCのDDとして選択される
図表63におけるデジタル構成設計のシナリオ2
Figure 2022160484000150
;上記でリストされている最初の3つのコード値のコードはDRに入るように選択され、4番目のコード値のコードはDCのDDとして選択される

図表63におけるデジタル構成設計のシナリオ3
Figure 2022160484000151
;上記の最初の3つのコード値のコードはDRに入るように選択され、4番目のコード値のコードはDCのDDとして選択される

図表64におけるデジタル構成設計のシナリオ1
Figure 2022160484000152
;上記の最初の3つのコード値のコードはDRに入るように選択され、4番目のコード値のコードはDCのDDとして選択される

図表64におけるデジタル構成設計のシナリオ2
Figure 2022160484000153
;上記の最初の3つのコード値のコードはDRに入るように選択され、4番目のコード値のコードはDCのDDとして選択される。

図表64におけるデジタル構成設計のシナリオ3
Figure 2022160484000154
;上記の最初の3つのコード値のコードはDRに入るように選択され、4番目のコード値のコードはDCのDDとして選択される。
暗号化と復号の目的に加えて、あらゆるタイプのデジタルデータの圧縮と解凍を目的としたエンコーディングとデコーディングを試みるために、2つ以上のデジタル構成を処理に使用できる。次の例では、段落[0168]の図表75で使用されているのと同じデジタル構成の2つのユニットを使用して、デジタルランダムデータセットの圧縮と解凍のためにエンコーディングとデコーディングを行い、デジタルレンズング及びデジタルブラックホーリングの技術を使用する以外、さまざまなカウント技術を組み合わせる方法をさらに示し、デジタルランダムデータの正確でロスレスな圧縮及び解凍を可能にする。
同じデジタル構成の2つのユニットを使用してエンコーディングとデコーディングを行うために、コード(例えばコード値10を有するコード)のカウントをDR1及びDR2で実行し、設計中の2つの隣接するDCユニットで実行する必要があり、従って、デジタルカウント情報には、DR1及びDR2のうちコード値が10のコードのカウント数の合計が含まれる必要があり、また、そのようなコードをデコーディング時に正しくロスレスに復元できるように、DR1及びDR2でのそのようなコードの分布に関する情報、つまりカウント分布情報も含む必要がある。従って、エンコーディング及びデコーディングに同じデジタル構成の2つのユニットを使用するため、現在のデジタルカウント情報は、さらに拡張され、カウント情報(カウント番号コードで表される)及びカウント分布情報(カウント分布コードで表される)で構成される。
従って、段落[0168]における図表75a及び75bは、図表77a及び図表77bに示すように修正される。図表75cは、図表75bを図表77bに修正する方法と同じ方法で(コード分割の使用とともに)修正することもできる。
図表77a
ブラックホーリングの技術と、CHANフレームワークを使用して設計されたテール0無制限コードシステムを使用した無制限カウントの技術を使用して、図表71のDC1の2つの隣接するユニットをエンコーディングされたDCの1つのユニットにエンコーディングし、ここで、DC1の2つの隣接するユニットDR1及びDR2には、コード値10を有するコードがない。
DCI
Figure 2022160484000155
;上記コーディングは、コード値10及び00/01のコード値のカウント数とカウント分布が、CHANフレームワークの下で設計されたテール0無制限コードシステムによって個別に表され、その後にコード値00/01を有するコードのテールビットが続くことを示しており、このコーディングスキーマを使用して、コード値10のコードがないDClの2つの隣接するユニットは、DClの元の2つの隣接するユニットと同じビット使用量を有するエンコーディングされたDClの1つのユニットにエンコーディングされる。
図表77b
ブラックホーリングの技術と、CHANフレームワークの下で設計されたテール0無制限コードシステムを使用した無制限カウントの技術を使用して、図表71のDClの2つの隣接するユニットをエンコーディングされたDClの1つのユニットにエンコーディングし、ここで、DC1の2つの隣接するユニットDR1及びDR2のいずれか又は両方にコード値10のコードが1つ以上ある。
DCI
Figure 2022160484000156
DCI
Figure 2022160484000157
;ここで、{00/01...00/01}は、処理中の元の一連のデジタルビットで検出されたか又は検出されなかったEDR1及びEDR2におけるコード値00/01の一連のコードを表す。
;ここまで、CNC=01の部分のコーディングのビット使用量も、DClの元の2つのユニットのビット使用量と同じである。
Figure 2022160484000158
;ここで、{00/01...00/01}は、処理中の元の一連のデジタルビットで検出されたか又は検出されなかったEDR1及びEDR2におけるコード値00/01の一連のコードを表す。
;ここまで、CNC=10の部分のコーディングのビット使用量は、一部のビットを節約し、つまり、CDC=(0,2)のエンコーディングされたデジタル構成の3分の1は、DC1の元の2つのユニットのビット使用量よりも1ビット少ない。
Figure 2022160484000159
;ここで、{00/01...00/01}は、処理中の元の一連のデジタルビットで検出されたか又は検出されなかったEDR1及びEDR2におけるコード値00/01の一連のコードを表す。
;ここまで、CNC=110の部分のコーディングのビット使用量も、DC1の元の2つのユニットのビット使用量と同じである。
Figure 2022160484000160
;なお、CNC=1110以降では、CDCのビット使用量が2ビットを超えると、ビットの無駄が発生する。
上記から明らかなように、CNC=10及びCDC=(0,2)のエンコーディングされたデジタル構成(2ビット未満のカウント分布コードを使用する)の3分の1によるビット節約は、これらのエンコーディングされたデジタル構成(そのCDCビット使用量が2ビットを超える)によるビット無駄で相殺する必要がある。CDCビット使用量が2ビットを超えるエンコーディングされたデジタル構成は、CHANフレームワークの下のテール0コードシステムの階層構造におけるCNC=1110以下の位置から取得される。
相殺の結果にジャンプする前に、これまでに使用されているカウント技術の概要を以下に示す。
a.CHANフレームワークの下での無制限コードシステムをカウント番号コードとして使用する。
b.例えば段落[0167]で使用されるピラミッドヘッドテール0無制限コードシステムなど、さまざまな形式の無制限コードシステムを適切に使用する。
DCI

10
110
など
c.次の段落[0168]及び[0173]のようにフラットヘッドの無制限コードシステム[以下に示すように、フラットヘッド無制限コードシステムは、上位レベルの2進数コードシステムと下位レベルのピラミッドヘッド無制限コードシステムを組み合わせることを特徴とする]を使用し、以下のとおりである。
DCI
00
01
10
110
1110
など

又は

DCI
11
10
01
001
0001
など
d.複数のカウントシステムのマージを表すコード値00/01を有するコードのカウントに対するニーズを満たすために、段落[0168]及び[0173]でフラットヘッド無制限コードシステムを使用する。
そのため、任意の設計スキーマで使用されるカウントシステムは、設計の目的に応じてさまざまな形式を取ることができる。CHANフレームワークを使用すると、さまざまな頻度分布を有するデジタルデータセットをカウントするなど、さまざまなカウント目的でコードシステムを容易に設計できる。
段落[0169]及び[0170]で説明されている技術を使用すると、任意のタイプのデジタルデータの元のデジタルデータセット(ランダム又は非ランダムに関わらず)と同じビット使用量で暗号化及び復号の目的のためのエンコーディング及びデコーディングを行うことができる。段落[0169]及び[0170]で開示されたようなコーディングには、カウント情報とデジタルデータ自体が含まれているからである。従って、エンコーディングされたコードに含まれる情報の内容は、ランダムなデジタルデータセットであっても、明らかにデジタルデータそのものよりも多くなる。従って、情報理論における鳩ノ巣原理が単なる神話であることには確かな証拠である。
「アドレス不足」は、情報理論における鳩ノ巣原理の「真実性」の説明にも使用される。そして、そのような説明は、人々がランダムなデータの特性を研究しないことを引き起こす間違いでもある。実際には、適切な場合及び機会が生じる場合にアドレスを作成できる。
図表77に示すコーディングによるビット節約とビット無駄の相殺を見ると、コード値00/01のコードは、コーディングの前後でビット使用量に変化がないことがわかった。ビット節約に寄与するのは、コード値10と11のコードにデジタルブラックホーリングを使用することであり、これらは、1[0]と1[1]になり、つまり、10と11は1と1になり、コード値10又は11を有するコードは1ビット節約する。ビット無駄を引き起こすのは、カウントコードとカウント分布コードの形式で現れるデジタルカウント情報を使用するからである。従って、デジタルカウント情報(デジタルカウント情報のビット使用量、DCIBU)で使用されるビット数がデジタルブラックホーリング(BSDB)によるビット節約、つまり、デジタル構成の2つの隣接するユニットに対してコード値10のコードのカウント数に2ビットを加算したものより小さい場合、ビットの節約があり、DCIBUがBSDBに等しい場合、ビット使用量はブレイクイーブンになり、さらに、DCIBUがBSDBを超える場合、ビット無駄がある。図表77に示されるコーディングのビット節約とビット無駄のバランスを以下の図表78に示す。
図表78
図表77のコーディングのビット節約とビット無駄のバランス
Figure 2022160484000161
「アドレス不足」で情報理論における鳩ノ巣原理の「真実性」を解釈することも、アドレスが作成され得るものであるため、神話である。絶対アドレス分岐技術は、図表78から分かるように、CNC=10及びCDC=0の場合、1ビットのビット節約があるため、このような目的のために再び使用でき、以下の図表79に示すように、このアドレスを用いてカウント用の別の一連の無制限コードシステムのアドレスを作成できる。
図表79
図表78のコーディング例を使用してカウントするために別の無制限コードシステム用のアドレスを作成する
Figure 2022160484000162
;従って、新しく形成された無制限コードシステムの最初の要素のコード値を10010とし、それ以降、100110、1001110などのように続く。
従って、5ビットの最初の要素10010で始まるこの無制限コードシステムは、無制限の数の別のシリーズをカウントすることができる。従って、図表78を参照すると、以下の図表80に示すように、CNC=1110又はCNC=11110のレベルで2つの無制限のカウントシリーズの並列システムを作成できる。
図表80a
元のCNC=1110のレベルから並列無制限カウントシステムを作成し、2つの無制限コードシステムを使用して無制限の数の同じシリーズをカウントする。
Figure 2022160484000163
;CNC=1110のレベルでは、カウントのタスクを分担するための別の無制限コードシステムが参加し、かつCNC及びCDCは、次のように修正される。
Figure 2022160484000164
;このため、CNC1とCDC1は、CNC=1110の元のレベルでカウントするための元の無制限コードシステムを表し、DR1及びDR2には、コード値10を有するコードが4つあり、元のCDCは、コードが00、01、10、110及び111の(0,4)、(1,3)、(2,2)、(3,1)及び(4,0)の5つの組み合わせである。
;上記のように、元のCNC及びCDCを修正してCNC1とCNC2及びCDC1とCDC2にするか、新しく作成した無制限コードシステムを元のCNC=11110のレベルで使用できる。
図表80b
元のCNC=11110のレベルから2つの無制限コードシステムを用いて同じシリーズの無制限の数をカウントする並列無制限カウントシステム
Figure 2022160484000165
;CNC=11110のレベルでは、別の無制限コードシステムがカウントのタスクを分担するために参加し、CNC及びCDCは、次のように修正される。
Figure 2022160484000166
;従って、CNC1及びCDC1は、CNC=11110の元のレベルでカウントするための元の無制限コードシステムを表し、DR1及びDR2にコード値10を有するコードが5つあり、元のCDCは、コードが00、01、100、101、110及び111の(0,5)、(1,4)、(2,3)、(3,2)、(4,1)、及び(5,0)の6つの組み合わせである。
;上記のように、元のCNC及びCDCを修正してCNC1とCNC2及びCDC1とCDC2にすることができる。
ただし、このレベルでは、1ビットのビット節約を有する2つの組み合わせがあるが、これにより、元のCNC=1110の上位レベルで1ビットのビット無駄を有する2つの組み合わせになる。従って、コード格下げによりこの望ましくない不備を修正することができる。また、図表80cのように、図表80bは、次のように修正できる。
図表80c
コード格下げを使用して元のCNC=11110のレベルから2つの無制限コードシステムを使用して無制限の数の同じシリーズをカウントする並列無制限カウントシステム
Figure 2022160484000167
;CNC=11110のレベルでは、別の無制限コードシステムは、カウントのタスクを分担するために参加し、CNC及びCDCは、次のように修正される。
Figure 2022160484000168
;従って、CNC=111110の元のレベルでは、DR1及びDR2にコード値10を有するコードが6つあり、コードが00、010、011、100、101、110及び111の(0,6)、(1,5)、(2,4)、(3,3)、(4,2)、(5,1)、及び(6,0)の7つの組み合わせの元のCDCは、前記のとおり、対応してCNC1とCNC2、及びCDC1とCDC2に変わる。
上記の図表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つの無制限コードシステムを使用して無制限の数の同じシリーズをカウントする並列無制限カウントシステム
Figure 2022160484000169
上記の図表80から明らかなように、処理中のデジタルデータセットに必要な場合、無制限の数をカウントするタスクを支援するために、新しいアドレスと新しい無制限コードシステムを作成できる。そのような目的のための新しいアドレスの不足がないことは明らかである。
上記の例では、同じシリーズのデジタルデータをカウントするために使用される並列無制限コードシステムは、最初のレベルの後のあるレベルのある場所、例えば図表80aの元のCNC=1110のレベルから始まる。ただし、処理中のデジタルデータセットの頻度分布の特性に応じて、適切なレベルで開始することが考えられる。他の利用可能な方法も、図表81に示されている。
図表81a
並列無制限コードシステムは、コード値10のコードを最初のレベルでカウントすることに用いられ、ここで、コード値10のコードのカウント数は、1に等しい。
Figure 2022160484000170
;元のCDCコードは、DR1+DR2に10値のコードが3つあるレベルから、CDC1とCDC2の間で共有する必要がある。
;又は、並列無制限コードシステムを連続の無制限コードシステムにして、同じシリーズの無制限の数をカウントすることに用いることもできる。
図表81b
連続の無制限コードシステムは、コード値10のコードを最初のレベルでカウントすることに使用され、コード値10のコードのカウント数は、1に等しい。
DCI
Figure 2022160484000171
上記の図表80及び図表81におけるコーディング技術は、絶対アドレス分岐の技術、及び同じシリーズの無制限の数をカウントするタスクを分担する目的で新しいアドレスを使用して別の無制限コードシステムを開く技術を示している。以下の図表82に示すように、新しいアドレスを別の方式で使用してもよい。
図表82
コード格上げのための新しいアドレスを作成する
Figure 2022160484000172
従って、このように作成された新しいアドレスは、カウントのタスクを分担する別の無制限コードシステムを開き、並列又は後続のカウントシステムを作成するのに2つの無制限コードシステムを付与し(又は、より多くのアドレスが利用可能であれば、より多くなる)、同じシリーズの無制限の数をカウントすること、又はコード格上げに使用される。そのため、処理中のデジタルデータ情報の頻度分布の特性に応じて、ビット無駄よりも多くのビット節約を実現できるように、新しいアドレスをどのように使用するかを選択することができる。なお、異なるビットサイズのランダムデータはもちろんのこと、同じビットサイズであっても、ランダムデータの頻度分布が変化する。その非ランダム性を高めるために符号化及び復号をするためにランダムデータセットをより小さいセクションに分割する技術は、本発明が優先権を主張するPCT出願PCT/IB2017/054500で開示された。また、段落[0170]において同じデジタル構成設計に対して開示された異なるマッピングシナリオを使用するか、異なるデジタル構成設計を使用して処理中のデジタルデータセットの頻度分布の特性に合わせてもよい。ランダムであるか否かに関わらず、開示されたこのコーディング技術は有用であり、かつあらゆるタイプのデジタルデータに適用できる。
コード値が00/01のコードをカウントする場合も、同じカウント技術を実現できる。例えば、DR1及びDR2に値10のコードがないレベルでは、以下の図表83a及び図表83bのように、DR1+DR2においてピラミッドヘッド無制限コードシステム又はフラットヘッド無制限コードシステムを用いて0ヘッドコード(つまり、コード値が00/01のコード)をカウントするできる。
図表83a
ピラミッドヘッド無制限コードシステム(テール0)を使用してDR1+DR2内の0ヘッドコードの数をカウントする
Figure 2022160484000173
Figure 2022160484000174
図表83b
フラットヘッド無制限コードシステム(テール0)を使用して、DR1+DR2内の0ヘッドコードの数をカウントする
Figure 2022160484000175
Figure 2022160484000176
段落[0179]から段落[0184]でコード値10のコードのカウントのために説明した2つ以上の並列又は連続コードシステムを利用するためのコード格上げ、コード格下げ、新しいアドレスの作成技術は、処理中のデジタルデータセットの特性に応じて適切である場合、段落[0185]に示されるようなコーディングフレームワークに追加できる。
同様に、段落[0185]及び[0186]で開示された、0ヘッドコードをカウントするための同じ技術は、コード値10を有するコードがあるレベルにも適用できる。コード値10のコードのレベルでは、0ヘッドコードセクション(0ヘッドコードがないか、1つ以上の0ヘッドコードがある場合を含む)は、コード1[0]又はコード1[1]のいずれかで区切られているため、段落[0185]及び[0186]で紹介した技術を適用でき、コード値10のコードがないレベルに適用する場合、そのような0ヘッドコードセクションが2つのみあればよい。0ヘッドコードセクションが奇数個ある場合、ピラミッドヘッド無制限コードシステムを使用してペアになっていないセクションをカウントできる。このようにして、コード値10又は11を有するコードを表すビット1を省略でき、且つデコーディング時に0ヘッドコードのデジタルカウント情報を使用してそれらの位置を決定できる。例えば、図表84に示すように、コード値10のコードを有するこれらレベルのコーディングが説明される。図表84では、説明のために図表77bに示すコーディングが使用され、以下のとおりである。
図表84
図表77bから抽出したコーディングを使用して、コード値00/01のコードの数をカウントする
DCI
Figure 2022160484000177
;ここで、{00/01...00/01}は、処理中の元の一連のデジタルビットで検出されたか又は検出されなかったEDR1及びEDR2におけるコード値00/01の一連のコードを表す。
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のコードの対応する数をカウントする。
Figure 2022160484000178
;ここで、{00/01...00/01}は、処理中の元の一連のデジタルビットにおいて検出されたか又は検出されなかったEDR1及びEDR2におけるコード値00/01の一連のコードを表す。
コード10のためのCNC=10では、DR1+DR2には、コード値10を有する2つのコードがあるため、{00/01...00/01}の4つのセクションがある。そのため、0ヘッドコード用の2つのペアセクションCNC及びCDCと、0ヘッドコード用のテールビットマップコードが使用される。
Figure 2022160484000179
;ここで、{00/01...00/01}は、処理中の元の一連のデジタルビットにおいて検出されたか又は検出されなかったEDR1及びEDR2内のコード値00/01の一連のコードを表す。
コード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ヘッドコードの数をカウントするために適用できる。
カウント数情報とそれに関連するカウント数コード、及びカウント分布情報とそれに関連するカウント分布コードを含むデジタルカウント情報の使用は、処理中のデジタルデータセットの特性(特に異なるコード値を有するコードの頻度分布)に応じて簡単に調整可能な非常に柔軟なデジタル構造を提供する。例えば、上記の例では、異なるレベルでのそのようなコードの頻度分布に応じてカウントされるコード値を有するコードのデジタルカウント情報のCNC及びCDCを調整することができる。以下の図表85では、処理中のデジタルデータセットの頻度分布に適している場合、DCIのさまざまな割り当てを簡単に実現できる。
図表85
処理中のデジタルデータセットの頻度分布に応じてDCIコードを割り当てる
DCI
Figure 2022160484000180
図表85には、処理中のデジタルデータセットの2つの異なる頻度分布に適した、カウント数コードのCNC1とCNC2には2つの異なる割り当てがある。ランダムデータセットの場合、00/01/10/11の2進数コード表からの4つのコード値を使用した前述の例では、全てのそのような4つのコード値に対しては、ランダムデータセットが頻度分布で均一になる傾向があるため、CNC1がより適切であることがわかった。ただし、0ヘッドコード値に対してより高い頻度のコードを有する非ランダムデータセットの場合、CNC2がデータ圧縮の用途への使用により適切であることがわかった。CNC1は、DRに値10を有するコードがないレベルに2桁の00を割り当て、他の全てのコード(ある場合)のDRにおけるコード値は、00/01になる。また、CNC2では、ビット00の割り当てがビット0に削減され、それにより全てのデジタル構成のコードのビット使用量が1ビット削減される。これは、処理中のデジタルデータセットの頻度分布に応じてビット使用量を調整するためにコード割り当てを試みる方法を示している。コードの他の調整を行うこともでき、例えば、DRに値00/01のコードがより多いことに加えて、DRには値10のコードが2つあるデジタル構成がDRに値10のコードが1つあるものよりも頻繁であることが検出されると、値10のコードがない最初のレベルに対して、ビット00を割り当てられたことからビット0を割り当てられるように調整した後、CNC2=10をCNC2=110と交換し、DRにコード値10のコードが2つあるレベルにCNC2=10を割り当て、DRにコード値10のコードが1つだけあるレベルにCNC2=110を割り当てる。
段落[0181]及び[0183]で説明したように、コード格上げ及びコード格下げのためのCNC及びCDCの割り当ての変更は、2進数システムの使用制限及びビット使用量のニーズに応じたコード割り当ての調整の別の形式である。
図表86は、デジタルデータの読み取り又はサンプリングにおけるデジタルレンズングの技術の使用を示すGoogle言語goファイルのテキストリストであり、前記デジタルデータは、ビット0とビット1の一連のデジタルビットの形式でコンピュータファイルに含まれる2進数システムで表され、読み取り又はサンプリングされたデジタルデータに応じて適切なエンコーディングされたデジタル構成を設計するために、処理中のデジタルデータ情報の頻度統計を生成することに用いられる。
図表86
読み取られたデジタルデータの頻度統計を生成するためにデジタルレンズングを使用したGoogle言語goファイルのプログラムコードリスト
Figure 2022160484000181
Figure 2022160484000182
Figure 2022160484000183
Figure 2022160484000184
Figure 2022160484000185
Figure 2022160484000186
Figure 2022160484000187
図表87は、80,000個のランダム2進数ビットで構成されるデジタルデータファイルを処理した後、図表86にリストされているgoプログラムによって生成された頻度統計の結果の抜粋である。
図表87
デジタルレンズを使用して生成されたランダムデジタルデータの頻度統計
ファイル1
マッピング1
結果1A
Figure 2022160484000188
Figure 2022160484000189
Figure 2022160484000190
Figure 2022160484000191
Figure 2022160484000192
Figure 2022160484000193
Figure 2022160484000194
Figure 2022160484000195
Figure 2022160484000196
Figure 2022160484000197
Figure 2022160484000198
Figure 2022160484000199
Figure 2022160484000200
Figure 2022160484000201
Figure 2022160484000202
Figure 2022160484000203
Figure 2022160484000204
Figure 2022160484000205
図表87にリストされているマッピング1の頻度統計は、DCの2つのユニットを処理ユニットとしたマッピングシナリオ1(図表63のDC設計のシナリオ1にリストされている)を使用して、80,000個の2進数ビットで構成されるランダムデジタルデータファイルを読み取ることによって生成され、一方、マッピング2は、2つのDC設計ユニット(図表63のDC設計のシナリオ1が続く図表64のDC設計のシナリオ1に記載)を処理ユニットとして使用して、同じ方式で同じランダムデジタルデータファイルから生成された頻度統計をリストしている。本発明でずっと使用されているランダムデータは、汎用コンピュータで使用される汎用オペレーティングシステムのランダムデータ生成機能で生成される。
上記図表87における頻度統計のリストは、ランダムデジタル2進数ビットで構成される同じデジタルデータファイルが、異なるマッピングシナリオのデジタル構成設計を使用し、異なる頻度統計パターンを示すことを示している。同じ方式で、2進数ビットの異なる非ランダムデジタルデータを用いて、このような異なる頻度パターンを生成してもよい。従って、本発明で開示されたようなデジタルレンズングを使用することにより処理中のデジタルデータに適切に使用するために、異なるマッピングシナリオの異なるデジタル構成を設計する際に調整を行うことができる。
段落[0158]から[0193]まで、次のことが示されている。
(1)デジタルレンズングは、ビット0及びビット1の2進数ビットで構成されるデジタル2進数データを整理し、処理中の2進数データファイルからランダム又は非ランダムに関わらず頻度統計を読み取り、生成するためのデジタル構成の設計に使用できる。
(2)読み取られた元のデジタルデータをエンコーディングした結果を保持するために、デジタルレンズングを使用してエンコーディングされたデジタル構成を設計及び作成でき、そして、そのようなエンコーディングされたデジタル構造のデコーディングは、デジタルデータがランダムであるか非ランダムであるかに関わらず、元のデジタルデータを正しくロスレスで復元できる。
(3)デジタルブラックホーリング技術、カウント技術、新しいアドレスの絶対アドレス分岐技術、コード格上げ技術、コード格下げ技術などの他の技術、及びデジタルレンズングを使用して、デジタルレンズングで処理することにより、エンコーディングされたデジタル構成を作成することができ、このエンコーディングされたデジタル構成は、それにより形成された対応するデジタル構成から読み取られたデジタル2進数データ(ランダムであるか否かに関わらず)を収納することに用いられ、使用されるビット使用量は、読み取られた元のデータと同じである。
(4)エンコーディングされたデジタル構成に含まれるデジタル情報には、処理中のデジタル2進数データファイル内で見つかった元のデジタル情報と、上記(3)で述べた他の技術を使用して生成された追加情報が含まれ、エンコーディングされたデジタル構成が処理中の元のデジタルデータからデジタルレンズングを使用して作成されたデジタル構成と同じビット使用量を使用するため、情報理論における鳩ノ巣原理が単なる神話に過ぎないことを示している。また、アドレスの不足がないため、コード格上げで使用するために絶対アドレス分岐技術を使用して新しいアドレスを作成したり、カウントするために新しい無制限コードシステムを作成したりすることができる。
(5)異なるデジタル構成設計の使用、カウント数コード及びカウント分布コードの調整可能な割り当てなどの調整可能なデジタルカウント情報、コード格下げの使用、コード格上げのため又はカウント用の新しい無制限コードシステムを設定するための新しいアドレスの使用など、本発明で開示されたコーディングスキーマは、調整可能であり、それは、デジタルデータがランダムであるか非ランダムであるかに関わらず、より少量のビット使用量でデジタルデータを正しくロスレスでエンコーディング及びデコーディングすることを可能にし、これは、エンコーディングとデコーディングのためにランダムデータを非ランダムデータの小さなセクションに分割でき、異なるデジタルレンズの下で設計された異なるデジタル構成を使用して整理すると、ランダムデータ自体が異なる頻度統計を示し、それによって、処理中のランダムデジタルデータから得られた頻度パターンを活用して適切なコーディングスキーマを開発し、ロスレス圧縮及び解凍のためのエンコーディング及びデコーディングの目的を果たすことができる。
従って、上記段落[0194]に示されているような調整可能なコーディングスキーマを使用する方法により、任意のデジタル2進数データ(ランダムデータ及び非ランダムデータ)の正しくロスレスな圧縮及び解凍が可能になる。これまでに開示されたこのような調整可能なコーディングスキーマは、既に段落[0163]の図表71に示される4つのコード値の2進数システムコード表を使用して説明されているが、以下の図表88aで再現されている。
図表88a
4つのコード値の2進数システムコード表を使用したデジタル構成
Figure 2022160484000206
図表88aでは、デジタル構成は8ビットを使用して2進数ビットで元のデータを格納する。元の8個の2進数ビットは、大まかに6ビットのエンコーディングされたコード値を使用してエンコーディングされたデジタル構成に格納され、カウント数コードやカウント分布コードなどの他の追加情報を格納するために2ビットが残る。4つのコード値のCHANコードシステムを使用したデジタル構成の例を、次の図表88bに示す。
図表88b
4つのコード値のCHANコード表を使用したデジタル構成
Figure 2022160484000207
以上から明らかなように、上記の例では、元の4つのコード値のコードは9個の2進数ビットを使用し、且つ4つの対応するエンコーディングされたコード値のコードは6個の2進数ビットを使用している。従って、図表88aにおける2進数システムコード表と比較すると、図表88bでCHANコード表を使用する6ビットを使用する同じエンコーディングされたコード値は、図表88aのように大まかに8個の2進数ビットではなく、9個の元の2進数ビットを表す。従って、これは、追加の分類データを格納するために約1ビット以上のビットがあることを示す。追加の分類データがこの1ビット以上のビットより少ないビットを必要とする場合、ランダムデータのロスレス圧縮及び解凍の可能性が大幅に高まる。図表88aにおけるこのようなデジタル構成の2つのユニットは、それぞれ8個の2進数ビットのランダムデータを有し、それぞれ正しいエンコーディングとデコーディングのために2ビットをこのような追加の分類情報に用いることが必要である。同じロジック、それぞれ9個の2進数ビットのランダムデータを有する図表88bにおけるデジタル構成の2つのユニットを使用する比較では、それぞれ大まかに2*9/8=2.25ビットを必要とするため、図表88bのCHANコード表を使用して2進数データを読み取ると、0.75ビットのビット節約が実現できる。従って、以上で開示された方法と技術を実現すると、ロスレス圧縮と解凍のためのエンコーディングとデコーディングが確実に可能であることが証明される。
3値コード表を使用した状況の一例は、以下に示される。
図表88c
3つのコード値のCHANコード表を使用したデジタル構成
Figure 2022160484000208
図表88cの場合、元の3つのコード値のコードは5つの2進数ビットを使用し、且つ3つの対応するエンコーディングされたコード値のコードは3つの2進数ビットを使用する。2進数システムの4値コード表を使用するよりも、ビット使用量が優れていることは明らかである。
コード値の使用を4又は3に制限するのではなく、段落[0152]の図表68に示されている、無制限コード値を表すための無制限コードシステムの使用を試みることもできる。
2進数ビットのデジタルデータを処理するための処理ユニットとして3つ以上のユニットのデジタル構成を使用し、適切な場合に、エンコーディングされたデジタル構成におけるデジタルカウント情報を調整することを試みてもよい。
本質的には、本発明の実施例の特徴は、以下のとおりである。
(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)エンコーディング及びデコーディング方法であって、
デジタルレンズングを使用することを特徴とする。
多くの産業用途には、CHANフレームワーク及びCHANコーディングが適用でき、これには、デジタルレンズング及び関連する設計、スキーマ及び技術の好適な組み合わせが含まれ、ランダム分布であるか否かに関わらず、全てのタイプのデジタルデータを含むデジタル情報を処理する全てのコンピュータ用途が含まれ、データ暗号化、データ復号、データ圧縮及びデータ解凍を行うためのエンコーディング及びデコーディングを目的とするプロセスとして設計されるか又はこのプロセスを有する用途が特に含まれる。
本明細書に記載の実施形態は、任意の適切に構成されたコンピュータハードウェア及び/又はソフトウェアを使用してシステムに実装することができる。例えば、特定の実施形態は、実行可能コード及びオペレーティングシステム及びアプリケーションプログラム、実行可能コードを実行することができるコンピュータシステム又はコンピュータ制御デバイス又はオペレーティングシステム制御デバイス又はシステムを含むネットワークに接続されているかスタンドアロンに関わらず、任意のデバイスのハードウェア、及び本明細書に記載の方法のステップを実行するのを助けるコンピュータ実行可能又はオペレーティングシステム実行可能命令又はプログラムを形成するためのコンピュータ言語及びコンパイラを使用してシステムに実装される。上記の技術的特徴の使用と組み合わせて、本明細書に開示される実施例は、CHANコーディングを使用したCHANフレームワークの実装を可能にし、それは、ランダムであるか否かに関わらず、暗号化/復号又は圧縮/解凍又はその両方の目的でデジタルデータ及びデジタル実行可能コードを含む関連デジタルデータをロスレスで正しくエンコーディング及びデコーディングすることによりデジタル情報を処理するためのデジタルレンズングを含み、そして、この関係では、その特徴が次の特許請求の範囲で示される。
シーケンステーブルのテキスト

Claims (15)

  1. 記憶媒体に格納された2進数ビットで表されるデジタル情報を整理又は順序付ける方法であって、
    以下ではデジタル構成物とも称される、前記デジタル情報を格納するためのデジタル構造を設計及び作成する段階であり、前記2進数ビットの異なるコード値のコードを、以下ではデジタルリザーバーとも称される第1のサブデジタル構造物、および、以下ではデジタルダムとも称される第2のサブデジタル構造物を少なくとも含む前記デジタル構成物の異なる部分に配置することによって、前記デジタル構造を設計及び作成する段階を備え、
    前記デジタルリザーバーは、使用されるデジタルレンズング設計に従う、選択された1つ以上のコード値を有する、2進数ビットで表されるデジタルコードを保持するためのデジタル構造であり、処理中の前記デジタル情報の入力が2進数ビットで表されるそのようなデジタルコードを有する限り、内部において、保持するデジタルコードの数がゼロから任意の数まで変化する可変デジタル構造であり、前記デジタルコードは、そのために設計された、選択されたコード値を有し、
    前記デジタルダムは、使用されるデジタルレンズング設計に従う、選択された1つ以上のコード値を有する、2進数ビットで表されるデジタルコードを保持するためのデジタル構造であり、処理中の前記デジタル情報の入力が2進数コードで表されるそのようなデジタルコードを有する限り、内部において、保持するデジタルコードの数がゼロから任意の数まで変化する固定デジタル構造であり、前記デジタルコードは、そのために設計された、選択されたコード値を有する、
    方法。
  2. 前記デジタル構成物は、
    少なくとも前記デジタルリザーバーと前記デジタルダムで構成されるデジタル構造であり、且つ、
    2進数ビットで表される前記デジタル情報の入力を、処理中の前記デジタル情報の入力の元の2進数ビットを有する、エンコーディングされていないデジタル構成物の形で保持するデジタル構造である、
    請求項1に記載の方法。
  3. 前記デジタル構成物は、
    2進数ビットのエンコーディングされたコードを、処理中の前記デジタル情報の入力を表すエンコーディングされたデジタル構成物の形で保持し、且つ、2進数ビットで表される追加のデジタル情報を保持するデジタル構造であり、前記追加のデジタル情報は、必要な場合には、前記エンコーディングされたデジタル構成物の全体をデコーディングして、それぞれ対応する1つまたは複数のエンコーディングされていないデジタル構成物に復元することに用いられる、
    請求項1に記載の方法。
  4. 前記デジタルコードは、
    2進数ビットで表わされるコードであり、
    実行可能なコードを実行する又はデジタルデータを使用することができる、1つまたは複数のコンピュータシステム、コンピュータで制御される1つまたは複数のデバイス、又は、オペレーティングシステムで制御される1つまたは複数のデバイス若しくはシステム、を含む1つまたは複数のデバイスで読み取り可能な任意の記憶媒体に格納されている前記デジタル構成物の1つ以上のユニットを表わす、
    請求項1に記載の方法。
  5. 前記デジタルコードは、
    2進数ビットで表わされるコードであり、
    実行可能なコードを実行する又はデジタルデータを使用することができる、1つまたは複数のコンピュータシステム、コンピュータで制御される1つまたは複数のデバイス、又は、オペレーティングシステムで制御される1つまたは複数のデバイス若しくはシステム、を含むデバイスで読み取り可能な任意の記憶媒体に格納されている前記デジタルリザーバーの1つ以上のユニットを表わす、
    請求項1に記載の方法。
  6. 前記デジタルコードは、
    2進数ビットで表わされるコードであり、
    実行可能なコードを実行する又はデジタルデータを使用することができる、1つまたは複数のコンピュータシステム、コンピュータで制御される1つまたは複数のデバイス、又は、オペレーティングシステムで制御される1つまたは複数のデバイス若しくはシステム、を含むデバイスで読み取り可能な任意の記憶媒体に格納されている前記デジタルダムの1つ以上のユニットを表わす、
    請求項1に記載の方法。
  7. 各々が2進数ビットのビット0で終了する、多数のデジタルコードを有することが可能な、第1のコードシステムを使用する段階、または、
    各々が2進数ビットのビット1で終了する、多数のデジタルコードを有することが可能な、第1のコードシステムを使用する段階、
    を更に備える、請求項1から6の何れか一項に記載の方法。
  8. 第2のコードシステムの1つまたは複数の上位レベルの2進数コードシステムと前記第2のコードシステムの1つまたは複数の下位レベルの第1のコードシステムとを組み合わせる段階を含む、前記第2のコードシステムを使用する段階を更に備える、
    請求項1から7の何れか一項に記載の方法。
  9. 前記第1のコードシステムを使用して一連の数をカウントする段階、
    前記第2のコードシステムを使用して一連の数をカウントする段階、
    1つの一連の数をカウントするために複数のカウントシステムを並行して使用する段階、
    1つの一連の数をカウントするために複数のカウントシステムを順に使用する段階、または、
    1つの一連の数をカウントするために複数のカウントシステムを並行して且つ順に使用する段階、
    を含む、カウント技術を使用する段階を更に備える、
    請求項8に記載の方法。
  10. エンコーディング及びデコーディングする方法であって、
    請求項1に記載の方法を使用する段階を備え、且つ、
    識別されたデジタルパターンの1つまたは複数の2進数ビットを吸収するデジタルブラックホーリング処理、
    1つ以上のカウントシステム、
    新しいカウントシステムを作成するための使用、又はコード格上げ処理のための使用、又はコード格下げ処理のための使用、を含む、使用に供する1つまたは複数の新しいアドレスを作成するための絶対アドレス分岐処理、
    前記コード格上げ処理、
    前記コード格下げ処理、
    前記デジタルブラックホーリング処理及び前記1つ以上のカウントシステム、並びに、
    前記コード格上げ処理及び前記コード格下げ処理、
    の何れかを、単独で又は組み合わせて使用する段階を追加的に備え、
    前記絶対アドレス分岐処理は、アドレスを分岐して、1つ以上の余分なビットを使用することにより2個以上の値を識別する処理であり、
    前記コード格上げ処理は、コード値を、その元の位置におけるビット長よりも短いビット長だけ、一の位置から別の位置に移動することによって、コードを調整する処理であり、
    前記コード格下げ処理は、コード値を、その元の位置におけるビット長よりも長いビット長だけ、一の位置から別の位置に移動することによって、コードを調整する処理である、
    方法。
  11. 請求項1に記載の方法を実行するための処理ユニットであって、前記デジタル構成物を1つ以上備える、処理ユニット。
  12. コンピュータによって実行された場合に、前記コンピュータに、請求項1から10の何れか一項に記載の方法を実行させる命令を含む、コンピュータ実行可能プログラム。
  13. 請求項12に記載のコンピュータ実行可能プログラムを格納した、コンピュータ可読記憶媒体。
  14. 請求項1から10の何れか一項に記載の方法を実行するための手段を備えるデバイス。
  15. ローカルクラウド、インターネットクラウド、ローカルエリアネットワーク、または、インターネット上に接続される、請求項14に記載のデバイス。
JP2022115555A 2016-07-29 2022-07-20 デジタルレンズング Pending JP2022160484A (ja)

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
JP2020501826A JP2020530674A (ja) 2016-07-29 2018-07-24 デジタルレンズング
PCT/IB2018/055479 WO2019021160A1 (en) 2016-07-29 2018-07-24 DIGITAL LENS

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018007809A1 (en) * 2016-07-04 2018-01-11 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 深圳市科楠科技开发有限公司 一种数据压缩方法、装置、终端设备及存储介质
CN112559462A (zh) * 2020-12-14 2021-03-26 深圳供电局有限公司 一种数据压缩方法、装置、计算机设备和存储介质

Family Cites Families (36)

* Cited by examiner, † Cited by third party
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编码器
EP1713063B1 (en) 2003-12-19 2011-03-16 Creative Technology Ltd. A printable audio format
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 メモリコントローラおよび半導体記憶装置
BR112012025407B1 (pt) * 2010-04-13 2022-03-22 Samsung Electronics Co, Ltd Método de decodificação de vídeo baseado em unidades de codificação determinadas de acordo com uma estrutura de árvore
CN103125119B (zh) * 2010-10-04 2016-10-26 松下知识产权经营株式会社 图像处理装置、图像编码方法以及图像处理方法
US9348385B2 (en) * 2012-07-09 2016-05-24 L. Pierre deRochement Hybrid computing module
US10085034B2 (en) 2013-07-12 2018-09-25 Sony Corporation Image coding apparatus and method
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

Also Published As

Publication number Publication date
US20190013825A1 (en) 2019-01-10
US20200151051A1 (en) 2020-05-14
CN109416655A (zh) 2019-03-01
EP3491525A1 (en) 2019-06-05
CA3031600C (en) 2022-12-13
WO2018020299A1 (en) 2018-02-01
CN110771161A (zh) 2020-02-07
JP2020530674A (ja) 2020-10-22
KR20200031159A (ko) 2020-03-23
EP3659336A4 (en) 2021-04-21
US11671113B2 (en) 2023-06-06
US11515888B2 (en) 2022-11-29
KR20190038601A (ko) 2019-04-08
EP3491525A4 (en) 2019-08-28
WO2018020342A1 (en) 2018-02-01
AU2017304894A1 (en) 2019-02-21
JP7268271B2 (ja) 2023-05-08
CA3031600A1 (en) 2018-02-01
WO2018020300A1 (en) 2018-02-01
AU2018306486A1 (en) 2020-02-13
CA3068631A1 (en) 2019-01-31
JP2019528027A (ja) 2019-10-03
WO2018020328A1 (en) 2018-02-01
US20230223952A1 (en) 2023-07-13
EP3659336A1 (en) 2020-06-03
AU2020289753A1 (en) 2021-01-21
WO2018020414A1 (en) 2018-02-01
WO2019021160A1 (en) 2019-01-31

Similar Documents

Publication Publication Date Title
JP2022160484A (ja) デジタルレンズング
US7233266B2 (en) Data compression/decompression device and data compression/decompression method
US9853660B1 (en) Techniques for parallel data compression
JP5812188B2 (ja) プログラム、圧縮データ生成方法、伸張方法、情報処理装置、および記録媒体
US9137336B1 (en) Data compression techniques
JP6545570B2 (ja) 符号化装置、復号装置および画像処理装置
US8515882B2 (en) Efficient storage of individuals for optimization simulation
JP2009199048A (ja) ベクトル符号化/復号化方法、装置、及びストリーム・メディア・プレイヤー
JP4037875B2 (ja) コンピュータグラフィックスデータ符号化装置、復号化装置、符号化方法、および、復号化方法
JP2016170750A (ja) データ管理プログラム、情報処理装置およびデータ管理方法
US12001237B2 (en) Pattern-based cache block compression
JP4776489B2 (ja) 画像符号化装置、画像復号装置、画像符号化プログラム、画像復号プログラム、画像符号化方法、および画像復号方法
CN113177638B (zh) 用于生成神经网络的二值化权重的处理器和方法
JP5200854B2 (ja) 符号化装置、復号装置、及び画像処理システム
Huang et al. VQ Coding in Data Hiding Using Correlated Neighboring Blocks in Security Performance
WO2017037502A1 (en) Compression code and method by location
JP2005175926A (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