KR20200031159A - 디지털 투시법 - Google Patents

디지털 투시법 Download PDF

Info

Publication number
KR20200031159A
KR20200031159A KR1020207005366A KR20207005366A KR20200031159A KR 20200031159 A KR20200031159 A KR 20200031159A KR 1020207005366 A KR1020207005366 A KR 1020207005366A KR 20207005366 A KR20207005366 A KR 20207005366A KR 20200031159 A KR20200031159 A KR 20200031159A
Authority
KR
South Korea
Prior art keywords
code
bit
value
data
numeric
Prior art date
Application number
KR1020207005366A
Other languages
English (en)
Inventor
캄푸 찬
Original Assignee
캄푸 찬
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 캄푸 찬 filed Critical 캄푸 찬
Publication of KR20200031159A publication Critical patent/KR20200031159A/ko

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

본 발명은 손상이 없고 정확한 인코딩과 디코딩 방식을 통해 무작위 또는 비무작위 데이터 여부와 관계없는 프레임워크 및 관련 방법, 모드와 디자인에 관한 것으로서 암호화/복호화 또는 압축/압축 해제 또는 양자를 포함하는 목적에 사용된다. 처리하기 전에 처리하고자 하는 숫자정보에 대해 그 어떤 가정도 하지 않는다. 본 발명은 범용 코덱을 발명하고 비둘기집에서 블랙홀을 만났다.

Description

디지털 투시법
[0] 이해력이 있는 사람으로 하여금 숫자를 카운트하도록 하시오……
[1]본 발명은 본 발명자가 2017년 7월 25일에 제출한 이른 시기의 PCT출원PCT/IB2017/054500의 우선권을 주장한다. 본 발명은 상술한 PCT출원에서 개시하고 본원 발명에서 개진한 개념과 기술의 용도에 관한 것으로서 무작위 데이터 여부와 관계 없는 숫자 데이터를 정렬, 조직 및 설명, 인코딩 및 디코딩하는 목적, 압축과 압축 해제 및 암호화와 복호화를 포함하는 특히 첸 프레임워크를 사용하는 새로운 기술을 제출한다. 본 발명에서, 첸 프레임워크를 설명하기 위하여 본 발명에서 주장하는 우선권인 PCT출원PCT/IB2017/054500의 내용을 본 발명에 결합한다. 본 발명의 단일성은 본원 발명의 설명이 숫자 데이터를 정렬, 조직 및 설명하는 방법인 디지털 투시법의 발명을 개시하여 인코딩방안, 방법과 기술(첸 프레임워크 여부와 관계 없이)을 개발하고 사용하여 여러 가지 용도의 숫자 데이터를 처리하는 목적인 바, 특히 여러 가지활동의 숫자 데이터의 암호화/복호화와 압축/압축 해제에 사용되는 용도를 포함한다. 본 발명에서 주장하는 우선권인 PCT출원PCT/IB2017/054500에서 제출한 기타 기술, 및 본 발명에서 새롭게 개시한 기타 기술을 사용하여 디지털 투시법이 지금까지 가장 새로운 방법인 것을 발견하고 무작위 여부와 관계 없이 임의의 숫자 정보를 조작하며 그 코드(인코딩 및 디코딩을 포함함)를 제작하여 숫자 정보의 형식으로 표시된 지적재산권의 사용과 보호에 사용되고 숫자 데이터 및 기기에 사용되는 실행코드를 포함하며 기기는 실행코드를 운행할 수 있거나 숫자 데이터를 사용할 수 있는 컴퓨터 시스템 또는 컴퓨터가 제어하는 기기 또는 운영체제가 제어하는 기기 또는 시스템을 포함한다. 이러한 기기는 아래의 내용에서 기기라고 일컫는다.
[2] 구체적으로 본 발명은 프레임워크와 방법 및 이가 숫자정보 기기에서의 처리, 저장, 분포와 사용에서의 응용에 관한 것인 바, 상기 숫자정보는 숫자 데이터 및 실행코드, 예하면 시작코드, 프로그램, 응용 프로그램, 기기 드라이버 프로그램 또는 운영체제를 구성하는 이러한 실행 파일의 집합을 포함하고 상기 실행 파일은 하드웨어에 임베디드 또는 저장(예하면 모든 클라스의 저장매체에 임베디드되거나 또는 저장됨)되는 실행코드의 형식으로 나타나며 상기 저장매체는 읽기 전용 또는 재기록 또는 휘발성 또는 비휘발성 저장매체(이하 저장매체라고 함), 예하면 물리적 메모리 또는 내부 DRAM(동적 임의 접근 메모리) 또는 하드 디스크 또는 솔리드 스테이트 디스크(SSD) 또는 ROM(읽기 전용 메모리) 또는 읽기 전용 또는 재기록 CD/DVD/HD-DVD/블루 레이DVD 또는 하드웨어 칩 또는 칩셋 등을 포함한다. 디지털 투시법은 인입된 가장 새로운 요소로서, 이전에 첸 프레임워크에 인입된 기타 기술 및 본 발명에서 나중에 소개될 기타 새로운 기술과 함께 사용되는 지의 여부에 관계 없이 구현 후 인코딩된 코드, 즉 첸 코드를 생성하고 손상이 없이 원본 코드로 디코딩 및 복원될 수 있으며 만약 이러한 코드가 압축에 사용되면 이러한 압축 코드는 한계에 도달할 때까지 반복하여 재압축될 수 있다.
[3]실제적으로, 본 발명은 디지털 투시법을 사용하여 숫자 구성을 구축하고 숫자 코드를 선택하여 이러한 구성에 진입하고 기존의 이진 시스템과 지금까지 개시된 첸 프레임워크보다 앞섰으며 숫자 데이터에 사용되어 숫자 데이터가 디자인에 근거하여 선택적으로 조직 및 설명되도록 할 수 있고 그 데이터 특성 연구에 사용되어 숫자 정보의 압축/압축 해제 또는 암호화/복호화를 목적으로 사용할 수 있다.이러한 관계에서 이는 지적재산권을 보호하는 목적으로 사용되도록 로컬 클라우드 또는 인터넷 클라우드를 통해 연결된 기기에서 숫자 정보를 처리, 저장, 분포 및 사용할 수 있도록 한다.따라서, 숫자 구성은 디지털 투시법을 사용하여 상기 숫자 코드값을 그 중의 숫자 구조에 넣는다.이러한 선택된 숫자 코드값은 디자인에 근거하여 임의로 상이할 수 있다. 기타 압축방법을 사용하는 것과 마찬가지로 대응되는 방법을 사용하여 적당히 압축 해제하지 않는 상황에서 압축코드는 정확하게 복구되지 못할 수 있다. 만약 압축의 목적으로 사용되지 않으면 암호화된 코드는 암호화 코드로 이해되어 정확한 대응 코딩방법을 사용할 수 있는데 이러한 암호화 코드는 손상 없이 원본 코드에 복구될 수 있다. 디지털 투시법, 첸 코딩과 첸 코드의 일부로 간주되지 않을 경우(즉 첸 코딩과 첸 코드는 개념, 방법을 포함함, 즉 기술의 조합 및 상기 PCT출원과 본원 발명에서 개시하여 발생된 코드를 포함)는 탐색 대기중인 여러 가지 응용의 기타 과학, 공업과 상업활동에도 사용될 수 있다. 압축분야에서 이를 사용한 것은 이의 거대한 용도를 생동하게 전시하였다.
[4]그러나, 본 발명에서 개시한 디지털 투시법 및 관련되는 모드, 디자인과 방법 및 이의 응용은 클라우드(즉 근거리 통신망 또는 인터넷)를 통한 전달 또는 숫자 정보 교환에 한정되지 않고 기타 정보 전달 또는 모드 교환에 사용될 수 있다.
[5] 압축과학기술분야에는 여러 가지 이미 발표된 숫자정보를 압축하는 방법과 알고리즘이 존재하는 바,
http://en.wikipedia.org/wiki/Data_compression
에서 상용하는 데이터 압축방법과 알고리즘에 대한 소개를 찾을 수 있다. 본 발명은 새로운 방법을 설명하는데 상기 방법은 손상 없이 데이터를 압축(이 외에 암호화 및 무손상 복호화를 진행하는데 사용될 수도 있음) 및 이를 복구하는데 사용될 수 있다.
상기 위키 피디아의 손상 없이 압축하는 관련 부분은 참조에 용이하도록 여기서 재현한다:
"무손상 데이터 압축 알고리짐은 통상적으로 통계 중복을 이용하여 데이터를 더 간결하게 나타내어 정보가 결여하지 않도록 함으로써 상기 과정이 가역되도록 한다. 무손상 압축은 가능한 것인데 이는 대부분의 진실한 데이터가 모두 통계 중복을 갖고 있기 때문이다. 예하면 이미지는 약간의 픽셀에서 변화하지 않는 컬러영역을 구비할 수 있고 "레드 픽셀, 레드 픽셀……"을 코딩하지 않으며 데이터는 "279개의 레드 픽셀로 암호화될 수 있다. 이는 런 렝스 부호화의 기본적인 구현예로서 수많은 방안이 중복을 제거하여 파일 크기를 절감하는 상황이 존재한다.
Lempel-Ziv(LZ)압축방법은 제일 환영받는 무손상 저장 알고리즘 중의 하나이다. [6] DEFLATE는 LZ의 한가지 변형으로서 압축 해제 속도와 압축 비율을 최적화하지만 압축은 비교적 완만할 수 있다. DEFLATE는 PKZIP, Gzip와 PNG에 사용된다. LZW(Lempel-Ziv-Welch)는 GIF이미지에 사용된다. 이 외에 유의해야 할 것은 LZR(Lempel-Ziv-Renau) 알고리즘은 Zip방법의 기초로 사용된다. LZ방법은 표에 의한 압축모델을 사용하는데 그 중 표 항목은 중복된 데이터 스트링을 대체한다. 대부분의 LZ방법에 있어서 이 표는 입력되고 있는 초기의 데이터로부터 동적으로 생성된 것이다. 표 자체는 통상적으로 호프만 인코딩(예하면 SHRI, LZX)이다. 현재 LZ에 기반한 코딩 방안에서 표현이 양호한 것은 LZX로서 이는 마이크로 소프트의 CAB양식에 사용된다.
제일 좋은 현대의 무손상 압축기는 확률모델을 사용하는데 예하면 일부 매칭을 통해 예측을 진행하는 것이다. Burrows-Wheeler변환도 모델링을 통계하는 간접적인 형식으로 간주할 수 있다.[7]
이러한 문법에 기반한 코드는 점점 환영을 받고 있는데 이는 이들이 고도로 중복되는 텍스트, 예하면 동일하거나 관련된 종류의 생물 데이터 수집, 거대한 버전의 문서 세트, 인터넷 파일 등을 매우 효과적으로 압축할 수 있기 때문이다. 문법에 기반한 코드의 기본적인 임무는 하나의 문자열의 앞뒤 문장과 무관한 문법을 구축 파생하는 것이다. Sequitur과 Re-Pair는 공통코드가 사용 가능한 실용적인 문법 압축 알고리즘이다.
이러한 기술의 진일보로 되는 세분화에서는 산술 코딩으로 불리는 알고리즘에 커플링 될 수 있는 것을 통계 예측한다. 산술 코딩은 Jorma Rissanen이 발명한 것이고 Witten, Neal과 Cleary에 의해 실용방법으로 전환되어 사람들에게 더 잘 알려진 Huffman알고리즘에 대한 우수한 압축을 실현하였으며 그 자체가 그 중의 앞뒤 문장과 밀접히 연관되는 자아적응 데이터 압축 임무를 예측하는데 특별히 적용된다. 산술 코딩은 이중 이미지 압축표준 JBIG와 파일 압축표준DjVu에 사용된다. 텍스트 입력 시스템 Dasher은 역산술 인코더이다[8]"
[6] 상기 위키에서는 "LZ방법은 표에 기반한 압축모델을 사용하는데 그 중 표 항목은 중복되는 데이터 스트링을 대체함"을 설명하였다. 표를 사용하여 전환, 암호화, 압축 및 확장하는 것은 흔한 것이지만 어떻게 표를 이러한 목적에 사용할 것인가 하는 것은 여러 가지이고 그 어떤 방식 또는 기타 방식으로 새로워질 수 있다.
[7] 본 발명은 새로운 방법, 즉 첸 코딩법(즉 첸 코딩)을 제출하여 그 어디서도 개시하지 않은 놀라운 결과를 발생한다. 이는 도전이 성공적임을 대표하고 정보이론에서의 비둘기집원리의 신화적인 혁명적 종결을 대표한다. 첸 코딩은 다음의 설명에서 어떻게 기술적 과제를 처리하고 해결할 것인지를 전시하였다.
기술적 과제
[8] 무손상 데이터 압축 도전에서 제기한 기술적 과제는 어떻게 하면 짧은 코드 항목에서 숫자 데이터 코드의 긴 항목을 나타나고 또 어떻게 이를 복구할 것인가 하는 것이다. 비록 짧은 항목은 긴 데이터 항목을 대체하는데 사용될 수 있으나 불가피하게 숫자 형식의 기타 정보를 추가하여 이로 하여금 어떻게 축소된 항목에서 기존의 긴 항목을 복구할 것인지를 가능하도록 하거나 또는 알려주도록 한다. 만약 이러한 숫자정보를 아주 많이 추가해야 하면 압축작업이 헛수고로 되게 할 수 있으며 경우에 따라 결과는 압축이 아닌 확장일 수 있게 된다.
[9] 이러한 부가적인 정보를 저장하는 방식은 압축과정에 대해 또 다른 도전을 제출하였다. 만약 숫자정보의 하나 또는 다수의 항목의 부가적인 정보가 압축 데이터가 분산된 항목으로 저장되면 어떻게 부가적인 정보와 숫자정보의 원시적인 항목을 구분할 것인가 하는 것은 하나의 과제로서 복구기간에 숫자정보의 압축항목의 분리에 대해 또 다른 도전을 제출하였는 바, 특히 숫자정보의 원시적인 항목을 상이한 길이로 압축할 경우 부가적인 정보의 길이도 이에 따라 상응하게 변화하게 된다.
[10] 만약 반복해서 재압축한 다음 부가적인 정보를 복구하고 숫자 항목을 압축하게 되면 이는 특별히 문제가 된다. 통상적으로 압축 데이터는 재압축될 수 없고 재압축하고자 시도를 하더라도 많은 이득을 얻을 수 없게 되며 통상적인 결과는 확장이지 압축이 아닐 수 있게 된다.
[11] 압축하고자 하는 숫자정보는 본질적으로 상이한 바, 일부는 텍스트 파일이고 기타는 도형, 음악, 음성 또는 영상 파일 등이다. 텍스트 파일은 통상적으로 반드시 무손상 압축이여야 하고 그렇지 않을 경우 그 내용은 결여하거나 교란되므로 식별할 수 없게 된다.
[12]또한 일부 텍스트 파일은 ASCII에 기반한 것이고 기타 텍스트 파일은 UNICODE에 기반한 것이다. 상이한 언어의 텍스트 파일 또한 상이한 특징, 예하면 숫자 코드의 빈도와 조합에서 표현되는 상이한 특징을 가진다. 이는 매우 적은 자기 적응 능력(즉 모든 가능한 상황을 만족시킬 수 없음)을 가지는 프레임워크와 방법이 모든 이러한 시나리오에 대해 가장 적당하게 작동할 수 없음을 의미한다. 따라서 데이터 압축에 더 우수한 적응성과 영활성을 제공하거나 또는 풀 패키지와 방법을 제공하는 것은 하나의 도전이다.
기술적 해결수단
[13] 본 명세서는 프레임워크, 모드와 컴퓨터가 실현하는 방법을 개시하는 바, 상기 방법은 데이터에 대해 무손상 인코딩과 디코딩을 진행하여 무작위 데이터를 포함하는 숫자 데이터를 처리하는데 사용된다. 상기 프레임워크와 방법은 데이터를 정확하게 처리하여 암호화/복호화 또는 압축/압축 해제의 목적에 사용된다. 상기 프레임워크와 방법은 무손상 데이터 압축, 무손상 데이터 암호화 및 데이터의 무손상 디코딩과 복구에 사용될 수 있다. 상기 프레임워크는 데이터를 처리하기 전에 처리해야 할 숫자 데이터에 대해 가정하지 않았다.
본 발명이 나타나기 전까지 오랜 시간동안 데이터 압축분야에서 순 무작위의 이진법 데이터는 절대 압축되지 않는 것으로 증명되었다. 상이한 유형과 상이한 언어 특징에 적용되는, 무작위 숫자정보의 무손상 압축에 관계 없는 프레임워크와 방법을 제공함으로써 본 발명은 사람들로 하여금 무작위 숫자정보를 압축함과 동시에 성공적으로 복구하도록 한다. 본 발명이 개시하는 프레임워크(첸 프레임워크)는 무작위 여부와 관계 없는 숫자정보의 정렬을 조직이 있는 방식으로 설명하고 구축함으로써 임의의 숫자정보의 특징을 찾아 설명하고 조사하고 분석하여 숫자정보의 이러한 특징과 내용이 무손상 암호화/복호화와 압축/압축 해제를 주기적으로 중복하는 것을 목적으로 하는 기술과 방법을 개발하도록 한다. 이는 정보이론에서의 비둘기집원리의 신화를 종결하였다. 물론 한정도 존재한다. 명확한 것은 사람들은 1비트만 있는 숫자정보를 진일보로 압축할 수 없게 된다. 본 발명이 개시한 바와 같이 숫자정보를 압축 하는 제한은 압축과정에서 관련 실현방식이 선택한 모드와 방법에 따라 변화하게 되는데 예하면 사용하는 마스터헤드의 크기, 처리유닛(일정한 수량의 코드유닛을 포함)의 크기 또는 사용하는 슈퍼 처리유닛(일정한 수량의 처링유닛을 포함)의 크기 및 암호화되지 않은 이진 비트 코드의 크기에 의해 결정되고 암호화되지 않은 이진 비트 코드는 완전한 처리유닛 또는 슈퍼 처리유닛을 구성하기엔 부족했다. 따라서 디자인과 관련 데이터 분포 자체의 성질에 근거하여 그 어떤 숫자정보를 압축하는 이러한 한정은 수천개의 이진 비트 내지 더 적게 유지할 수 있다.
[14] 첸 프레임워크와 첸 코딩을 사용하게 되면 압축하고 복구하고자 하는 무작위 숫자정보를 사전에 알 필요가 없다. 적합한 상황에서 아래에 설명하는 과정에서 첸 프레임워크를 정의하고자 한다. 예하면 상용하는 데이터 코더에 대해 2비트의 고정비트 크기를 사용하여 숫자 데이터를 샘플링하게 되면 이는 줄곧 2비트 양식의 숫자 데이터를 나타내고 제일 많아 4개의 값, 즉 00, 01, 10과 11을 가지게 되어 첸 프레임워크에서의 데이터 코더와 대조되는데 상기 첸 데이터 코더가 사용하는 데이터 코더는 수용 가능한 최대 데이터 값을 사용하여 데이터를 구분하는 주요한 요소 또는 표준이 되도록 디자인되며 숫자 코드의 비트값 크기와 기타 표준을 주요한 요소 또는 표준이 아닌 것으로 하였다. 아는 상용하는 데이터 코더가 단지 첸 프레임워크에서의 데이터 코더의 하나의 변형임을 의미하고 상기 2비트 양식을 사용하는 상용 데이터 코더를 구현예로 사용하며 이는 첸 프레임워크에서 최대 4개의 값(max4클라스) 수치를 가지는 데이터 코더이다. 따라서 첸 프레임워크에서의 max4클라스의 데이터 코더는 기타 변형을 가질 수 있는 바, 예하면 모든 고유 한 4개의 값에 사용되는 총 비트 수를 비트 그룹으로 정의하고 진일보로 사용하는 마스터헤드 클라스로 정의하는데 예하면 아래의 도표0에서 나타낸 바와 같다:
도표0
Figure pct00001
Max4클라스의 데이터 코더의 3가지 변형에서 유의할만한 것은 동일한 비트 크기의 코드유닛, 예하면 8비트 그룹 외에 그 중의 모든 4개의 고유 한 코드유닛 값은 동일한 수량의 이진 비트 표시를 가지고 9비트 그룹의 다른 두 변형의 코드유닛의 비트값 크기는 모두 상이하다. 바로 이러한 첸 프레임워크에서의 풍부하고 영활한 숫자 데이터 분류방안에 의하여 데이터를 조작 또는 나타내는 새로운 방법과 기술을 개발하여 인코딩과 디코딩의 목적에 사용함으로써 정보이론에서의 비둘기집원리의 신화를 타파하였다.
아래의 도표는 본 발명에서 개시한 데이터 코더를 사용하여 인코딩과 디코딩(압축/압축 해제와 암호화/복호화의 목적을 포함)을 진행하는 첸 프레임워크의 특징을 해석하는데 사용되는 바, 상기 데이터 코더는 상용 데이터 코더에 의해 정의되는 동일한 최대 가능 수량을 가지는 고유한 값을 가지는 것, 예하면 Max4 8비트 그룹이 2비트의 고정 크기와 같은 상용 데이터 코더 또는 Max8 24비트 그룹이 3비트의 고정 크기와 같은 상용 데이터 코더를 사용하는 것이다. 이는 간략을 위하여 잠시 첸 프레임워크에서의 데이터 코더를 사용하지 않은 사람들에게 처리유닛 조성부분(컴포넌트라고도 함)의 개념을 설명하기 위한 것이다:
도표1
첸 프레임워크와 과 처리유닛 컴포넌트의 개념을 도해 설명
Figure pct00002
여기서 a와 b는 두가닥의 숫자정보인 바, 매 한가닥마다 하나의 코드유닛을 대표하고 코드유닛(은 0과 1의 일정한 수량의 이진 비트의 코드의 기본유닛이다). 일정한 수량의 0과 1의 이진 비트가 나타내는 코드유닛의 내용 또는 값은 하나 또 하나씩 판독되는 바, 예하면 a는 제1 코드유닛으로 판독되고 b는 제2 코드유닛으로 판독된다.
한 가닥의 숫자정보는 하나의 코드유닛을 구성하고 도표1에서의 두개의 이러한 코드유닛은 하나의 처리유닛(처리유닛이 포함하는 코드유닛의 수량은 코딩 디자인에서 사용하는 모드와 기술에 근거하여 변화하는데 이는 코드 디자이너에 의해 결정되며 따라서 도표1을 사용하는 본 도면에서 사용하는 상황과 상이함)을 구성한다;
편리함과 계산의 편리를 위하여 매 하나의 코드유닛은 동일한 정의를 가지는것이 좋은 바, 예하면 하나의 코딩 과정주기의 비트 크기에 근거하여 스케일 전환을 진행할 필요가 없이 동일한 숫자 스케일을 사용하고; 인코딩과 디코딩의 일치성과 규율성은 코딩 후 손상없이 숫자정보를 성공적으로 복구함에 있어서 중요한 일이다. 인코딩과 디코딩의 일치성과 규율성은 숫자정보의 처리가 어떠한 규칙을 준수하여 숫자정보를 전환 또는 변환할 수 있는 이러한 방식으로 인코딩과 디코딩에서 논리적 추론을 사용함으로써 데이터 분포를 개변, 예하면 숫자정보의 이진 비트0과 이진 비트1의 비율 및 동적 코드 조절(코드 향상, 코드 강등, 코드 생략과 코드 복구를 포함)을 개변할 수 있도록 한다. 인코딩과 디코딩에 사용되는 이러한 규칙은 코드유닛 또는 처리유닛 또는 슈퍼 처리유닛의 특징과 내용 및 사용하는 관련 모드, 디자인 및 인코딩과 디코딩방법에 의해 결정된다. 인코딩과 디코딩의 이러한 규칙 또는 논리는 메인 마스터헤드 내의 이진법 코드(전반 숫자 데이터에 대한 입력) 또는 지정자로서 이진 비트를 사용하는 부분적 마스터헤드 내(전반 숫자 데이터 입력은 이진 비트 코드를 함유하는 다수의 부분으로 분류되고 매 부분의 마스터헤드는 부분적 마스터헤드로 불리움)에 기록될 수 있고; 지정자로서의 이러한 이진법 코드는 인코더와 디코더에 임베디드될 수 있으며 이는 인코딩과 디코딩의 모드, 디자인과 방법의 일체성과 규율성이 허용하는 전제하에서 발생하여야 한다.
코드유닛은 임의의 적합한 숫자 스케일의 선택에 의해 표달하고 나타나야 하는데 이는 이진법 스케일, 8진법, 16진법 등을 포함한다.
코드유닛의 크기, 즉 코드유닛 크기는 임의의 적합한 크기로 선택될 수 있는 바, 예하면 이진법 스케일, 예하면 4비트 또는 8비트 또는 16비트 또는 32비트 또는 64비트 또는 임의의 컴퓨팅에 편리한 비트값 크기는 모두 코드유닛 크기(코드유닛의 정의는 제[54]단락으로부터 시작되는 첸 프레임워크에 근거하여 개진할 수 있음)가 될 수 있다.
매 하나의 코드유닛의 숫자수 또는 숫자값은 코드유닛의 숫자 내용을 대표하고 숫자수는 코드유닛의 모든 비트의 비트 기호를 나타낸다. 또한,
사용하는 코드유닛 사이의 관계를 디자인하고 찾으며 설명할 수 있는 바, 첸 코딩이 어떻게 두개의 코드유닛을 사용하여 사용하는 개념과 기술의 데모로 할 수 있는가를 설명하기 위하여 상기 관계는 수학공식을 사용하여 아래와 같이 정의한다:
여기서 a와 b는 도표1에서의 현재 모드에서 응용하는 첸 코딩에서 하나의 처리유닛의 두개의 코드유닛을 구성하고 매 하나의 코드유닛은 각 코드유닛에서 전송하는 숫자정보의 내용 또는 수치를 나타내는 숫자수이며 b 전에 a를 판독한다.
여기서 a는 b보다 더 크거나 더 작은 값일 수 있고 사람들은 그 밖의 두개의 변수 이름을 사용하여 이 두개의 코드유닛의 값의 랭크를 나타낼 수 있다:
A는 두개의 코드유닛에서의 비교적 큰 값;
B는 두개의 코드유닛에서의 비교적 작은 값;
또한 여기서 a와 b의 값이 같으면 사람들은 우선 A를 판독하게 되고 두번째로 B를 판독하므로 A의 값은 B보다 크거나 같으며 이에 의하여 a가 A가 될 것인가 아니면 B가 될 것인가 하는 것은 그와 b의 관련 값에 의해 결정된다.
여기서 상기 상황에 비추어보아 반드시 비트(RP비트)(즉 랭크와 자리 비트)를 사용하여 제1 코드유닛이 제2 코드유닛보다 더 크거나/같거나 또는 더 작은 값인지 여부를 지시하고 코드의 이 비트 코드는 이에 의하여 두개의 코드유닛이 값을 판독하는 자리와 랭크 사이의 관계를 나타낸다;
여기서 a와 b를 암호화하기 위하여 사람들은 간단하게 a와 b의 값을 함께 하나의 단독적인 값에 추가하는데 코드유닛 크기를 사용하는 비트값 크기에 1비트를 더하여 아래와 같이 나타낸다.
도표2
인코딩하기 전에 도표2의 데이터는 도표1에 나타낸 바와 같이 코드유닛 크기를 64비트라고 가정하면 두개의 코드유닛을 가지는 처리유닛을 구비한다:
Figure pct00003
도표3
인코딩한 후 생성된 코드, 첸 코드는 RP피스와 CV피스로 조성된다.
Figure pct00004
여기서 첸 코드의 RP비트(1비트), 즉 제1 피스, RP피스 및 a와 b的조합치, A+B, (65비트, 즉 64비트 더하기 1은 코드유닛 크기의 비트 크기에 1비트를 더한 것), 즉 제2 피스, 첸 코드의 코딩값 피스 또는 내용값 피스(CV피스)는 함께 발생하는 코딩을 구성하고 첸 코드는 이미 원시적인 숫자정보에 대해 실행한 코딩주기수량에 필요한 것 및 나머지 코드처리에 필요한 것을 지시하기 위한 관련 마스터헤드정보를 더 포함할 수 있다. 본 발명자는 2015년 8월 29일에 제출한 다른 PCT특허출원 PCT/IB2015/056562에서 이미 이러한 마스터헤드정보의 형성과 처리를 제출한 바가 있으므로 본 명세서에서는 더이상 중복하지 않는다.
코딩의 목적으로 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자들은 상술한 PCT특허출원 또는 기타 디자인에서 제출한 마스터헤드를 이용하여 용이하게 획득된 첸 코드, 즉 첸 코드의 RP피스와 CV피스를 함께 처리할 수 있다. 잠시 뒤의 본 발명에서 개시한 바와 같이 이렇게 디자인의 인코딩과 디코딩의 모드와 방법에 근거하여 더 많은 코드유닛을 사용할 경우 CV피스는 진일보로 서브 피스로 분류될 수 있다.
RP피스는 하나의 코드 피스로서 대응되는 코드유닛의 어떠한 특성 또는 특징을 대표하고 본 명세서의 처리유니? 두개의 대응되는 코드유닛 사이의 랭크와 자리의 특징을 대표한다. 또한 RP피스는 더 광범위한 코드 카테고리의 코드의 부분 집합으로서 이는 특성코드 또는 특징코드 또는 분류 코드(이렇게 지칭하는 이유는 관련된 특성 또는 특징이 유사한 특성 또는 특징을 가지는 코드유닛을 분류하거나 그루핑하는데 사용됨)로 명명된다. CV피스는 하나 또는 다수의 코드유닛의 내용의 암호화된 코드를 나타낸다. 때로는 인코딩과 디코딩의 모드와 방법에 근거하여 코드유닛의 내용의 일부는 분류 코드로 추출되어 CV피스에 남아있는 것은 단지 코드유닛과 대응되는 내용의 나머지 부분이 되도록 한다. CV피스는 첸 코드의 내용코드를 구성한다. 따라서 인코딩과 디코딩의 모드와 방법에 근거하여 첸 코드는 이에 따라 적어도 내용코드를 포함하고 적합한 상황에서 분류 코드를 추가하며 적당하거나 필요할 경우 내용코드 자체에 포함되거나 내용코드 자체가 내부 혼합하거나 또는 마스터헤드에 포함되는 기타 지정자코드를 추가하는 바, 예하면 슈퍼 처리유닛을 처리할 경우 사용하는 코딩 방법 또는 코드 매핑표를 지시한다. 이는 적합한 시기에 본 발명의 설명에서 명백히 알 수 있다.
여기까지 첸 프레임워크는 코드유닛, 처리유닛,슈퍼 처리유닛, 암호화되지 않은 코드유닛(암호화되지 않은 코드를 포함), 마스터헤드유닛(숫자정보파일의 마스터헤드에서 사용되는 지정자를 포함하여 전반 숫자 데이터파일에 응용함), 내용코드유닛, 부분과 부분적 마스터헤드(여기서 전반 숫자 데이터파일 또는 스트림은 다수의 부분으로 분류되어 처리가 용이하도록 함)와 적합한 상황에서 추가한 분류 코드유닛(아래 내용에서는 상기 특성코드 또는 특징코드유닛을 의미하는 것을 사용) 및 내용코드 내부와 혼합한 지정자코드(예하면 상응하는 슈퍼 처리유닛에 특정됨)를 포함한다. 상기 프레임워크는 적합한 시기에 진일보로 완전해지고 명백히 논술한다.
[15] 컴포넌트의 관계를 찾은 후 유닛의 두개의 기본코드유닛, 즉 랭크와 자리 및 이상의 단락[14]에서 열거한 총합을 처리하는데 이러한 관계는 RP피스에서 나타나고 첸 코드의 CV피스는 CV피스에서의 제일 간단한 수학공식A+B를 사용한다. RP피스는 단지 1비트, 0 또는 1을 포함함으로써 하나의 처리유닛에서 판독한 두개의 코드유닛의 제2 값b가 제1 값a에 대하여 어느 것이 더 크거나 같거나 더 작은 값인지를 지시한다.
[16] 이전의 구현예 및 현재 시장에서 유행하고 있는 64비트 개인용 컴퓨터를 사용하는 것을 통하여 만약 이진법 스케일의 매 하나의 64비트 코드유닛이 64비트를 사용하여 나타내게 되면 압축 또는 암호화가 없을 수 있다. 따라서 매 하나의 인코딩단계에 대하여 반드시 1개보다 많은 코드유닛을 처리유닛으로 사용해야 한다. 숫자정보의 숫자파일 또는 숫자파일의 일부(만약 숫자파일이 진일보로 다수의 부분으로 분할되어 처리가 용이하도록 함)는 매 하나의 인코딩단계를 진행하도록 반드시 하나 또는 다수의 처리유닛 또는 슈퍼 처리유닛으로 분해되며 이로써 형성된 매 하나의 처리유닛 또는 슈퍼 처리유닛의 암호화된 코드는 첸 코드의 요소로서 매 하나의 처리유닛의 하나의 RP피스와 하나의 CV피스로 조성되며 현재의 이러한 상황에서는 첸 코드의 유닛이다. 첸 코딩을 사용하여 압축 또는 암호화를 진행한 후의 숫자정보의 숫자파일(또는 숫자파일이 분할된 부분)은 이에 의해 하나 또는 다수의 첸 코드유닛으로 조성, 즉 첸 코드파일로 조성된다. 첸 코드를 포함하는 외에 첸 코드파일은 원시적인 숫자정보의 임의의 나머지 암호화되지 않은 비트, 즉 하나의 처리유닛 또는 하나의 슈퍼 처리유닛을 구성하지 않는 암호화되지 않은 코드유닛 및 식별숫자정보를 나타내기 위한 마스터헤드 또는 각주의 기타 부가적인 숫자정보를 더 포함하나 이에 한정되는 것이 아니고 검사 합계 및 언제 인코딩을 정지하거나 또는 인코딩 또는 다시 몇주기로인코딩, 또는 마스테헤드 또는 각주에서의 식별자 또는 지정자가 지시하는 시작 또는 결말 또는 어느 한 곳에 존재하는 원시적인 인코딩하지 않은 숫자정보가 몇비트의 싸인 또는 지정자를 가지는 것인지를 포함한다. 만약 필요하면 현재의인코딩주기에서인코딩되지 않은 이러한 숫자정보는 다음의 주기기간에 진일보로 인코딩될 수 있다. 본 발명은 이러한 부가적인 숫자정보를 어떻게 디자인하고 장착하며 사용할 것인지에 대해 요구하지 않는다. 이러한 부가적인 숫자정보가 인코딩과 디코딩과정에 사용될 수 있다면 사람들은 자신의 목적에 근거하여 그들만의 디자인을 진행할 수 있다. 이러한 부가적인 숫자정보를 어떻게 사용할 것인지를 설명하기 위한 목적으로 적합한 상황에서 이러한 부가적인 숫자정보의 용도를 제기할 것이다. 본 발명은 이로 인하여 주요하게 인코딩과 디코딩에서 사용하는 기술과 방법(즉 첸 프레임워크 내의 첸 코딩)이 발생하는 첸 코드를 포함한다. 첸 코드는 두개 또는 더 많은 저장되고자 하는 부분으로 분할될 수 있는데, 예하면 첸 코드의 서브 피스는 단독적인 숫자 데이터 파일에 저장되어 편리 또는 안전을 고려하여 인코딩 또는 교부에 사용될 수 있다. 첸 코드 마스터헤드 또는 각주도 다른 한 단독적인 숫자 데이터 파일에 저장되어 동일한 목적으로 교부될 수 있다. 이러한 첸 코드를 조성하는 파일 및 첸 코드 마스터헤드와 각주파일은 기타 부가적인 숫자정보에 저장되는데 관계 없이 모두 첸 코드파일이고 이는 제[14]단락에서 정의하는 첸 프레임워크에 추가되는 다른한 요소이다.
[17] 첸 코드는 첸 코딩을 사용하는 암호화 코드이다. 첸 코딩은 원본 코드에서 암호화 코드 또는 파생 코드를 생성한다. 만약 압축하는데 사용하게 되면 첸 코드는 압축코드를 나타내고(만약 사용하는 모드와 방법에서 압축을 진행할 수 있으면) 데이터 분포가 무작위인지의 여부와 관계 없이 모두 원본 코드에서 사용하는 비트수보다 작다. 일정한 크기를 초과하는 무작위 데이터는 균일한바, 즉 비트0과 비트1 사이의 비율은 1대1이다. 첸 코드는 첸 코딩의 결과를 나타내고 본 구현예에서는 대응되는 수학공식을 사용하여 지시하는 연산에 의해 발생하는 바, 즉 RP피스의 값과 계산과 인코딩을 진행하기 위한 덧셈연산, 상기 수학공식이 나타내는(처리유닛) 기본 컴포넌트와 (코드유닛) 사이의 관계에 의해 발생하고 파생 컴포넌트, 즉 도표3에서의 CV피스의 A+B를 생성한다. 상기 인코딩규칙과 논리를 사용함으로써 원본 코드로 복구할 수 있다. RP피스는 지정자 정보를 나타냄으로써 인코더에 의해 발생한 처리유닛의 두개의 코드유닛의 랭크와 자리특징을 지시하여 디코더에 의해 완성되는 원본 코드를 복구한다. 디코딩할 경우 디코더가 준수해야할 연산규칙을 지정하는 상기 지정자는 발생된 암호화 코드에 포함된다. 그러나 수학공식A+B로 나타내는 연산규칙은 그가 인코딩과 디코딩에서 응용되는 일치성과 규율성으로 인하여 인코더와 디코더에 임베디드된다. 파생 컴포넌트는 하나 또는 다수의 기본 컴포넌트로 조성된 컴포넌트이거나 또는 어떠한 연산규칙(예하면 수학공식으로 나타냄)으로 연산한 후 기타 파생 컴포넌트와 함께 조성된 컴포넌트로서 상기 연산규칙은 예하면 덧셈, 뺄셈, 곱셈 또는 나눗셈연산을 포함한다.
[18] 상술한 바와 같이 첸 코딩을 사용하여 처리한 후 획득한 첸 코드는 숫자정보의 숫자 비트를 포함하고 상기 숫자 비트는 하나의 유닛에 조직되거나 또는 서브 피스로 분할되어 원시적인 숫자정보의 내용을 나타내며 원시적인 숫자정보는 데이터 분포에서 무작위인지의 여부와 관계없이 모두 정확하고 손상 없이 복구될 수 있다. 상기 구현예는 당연히 원시적인 숫자정보의 정확한 무손상 복구를 허용하지 않는다. 예하면 이는 다른 수학공식, 예하면 A에서 B를 덜어내거나 및/또는 원시적인 숫자정보로 복구되기 전에 존재하는 대응되는 내용 코드 피스에서의 하나를 필요로 한다. 이상의 구현예는 현재 첸 프레임워크 및 그 요소를 설명하고 정의하는 목적으로만 사용된다. 계산하고자 하는 숫자 스케일의 선택을 결정한 후 코드유닛의 비트 크기 및 유닛을 처리하기 위한 컴포넌트(즉 하나의 처리유닛에 사용되는 코드유닛의 수량; 제일 간단한 상황은 상술한 바와 같은 하나의 처리유닛에 사용되는 두개의 코드유닛) 및 그들의 관계는 수학공식에서 정의하고 숫자 컴퓨터에서 사용하는 실행코드에서 실현되며 수학공식을 사용하여 연산규칙으로 할 경우 첸 코딩이 인코딩을 위해 진행한 작업(사용되는 기타 기술은 적합한 시기에 발표)은 다음과 같은 단계를 포함한다: (1) 원시적인 숫자정보를 판독 입력; (2) 숫자정보를 분석하여 그 특징, 즉 압축유닛의 컴포넌트 및 이의 관계를 획득; (3)수학공식 또는 디자인의 공식을 응용하여 계산하되 상기 공식은 첸 코딩 분석 후 획득한 원시적인 숫자정보의 컴포넌트의 특징 또는 원시적인 숫자정보의 컴포넌트 사이의 관계, 즉 원시적인 숫자 데이터의 특징이 첸 코드에서의 표시를 설명; 만약 압축하게 되면 첸 코드의 숫자 비트수는 데이터 분포가 무작위인지의 여부와 관계없는 원본 코드에서 사용되는 숫자 비트수보다 작음; 첸 코드는 무손상 인토딩 코드로서 이는 디코딩 할 경우 원본 코드로 손상 없이 복구될 수 있음[수학공식을 사용하고 인코딩에서의 관련 수학연산은 압축으로 하여금 가능한 것이 되도록 할 수 없을 수 있는 바, 예하면 이는 사용하는 모드와 방법이 함께 디자인한 공식, 코드유닛 정의와 코드배치기술과 크게 관계됨]; 또한 (4) 단계(1)에서 판독한 원시적인 숫자정보와 관련한 대응되는 첸 코드를 발생한다.
첸 코딩은 대응되는 첸 코드를 숫자 원본 코드가 진행한 작업으로 디코딩하는 것은 아래와 같은 단계를 포함한다: (5) 대응하는 첸 코드를 판독 입력; (6) 첸 코드와 대응되는 특징을 획득; (7) 반대되는 방식으로 이렇게 디자인한 수학공식을 응용하되 상기 공식은 첸 코드의 첸 코딩을 분석한 후 획득한 원시적인 숫자정보의 컴포넌트의 특징 또는 컴포넌트 사이의 관계를 설명하는데 상규적인 수학과 보완 수학의 운용을 포함; (8)원시적인 숫자정보가 데이터 분포에서 무작위인지 여부와 관계없이 단계(7)을 사용한 후 손상 없이 원시적인 숫자정보의 원본 코드를 발생한다. 따라서 디코딩 할 경우 도표3에서의 첸 코드는 정확하고 손상 없이 도표2에서의 원시적인 숫자 데이터 코드로 복구된다. 이는 코드유닛의 정의를 확대한 것을 사용하여 더 영활하고 새로운 프레임워크를 제공하는 다른 발명특징을 통해 제[14]단락에서 소개한 숫자 데이터를 정렬, 조직 및 설명하고 (잠시 후 단락[54]에서 시작)되는 첸 프레임워크를 진일보로 완전하게 하고 명백히 논술하는 것으로 완성된다. 물론 현재까지 본 발명의 특징을 진일보로 개시하기 전에 A에서 B를 덜어내는 것을 나타내는 다른 CV서브 피스가 예하면 이상의 도표에서 결여할 경우 상황은 결코 이와 같지 않을 것 (즉 이러한 상황에서 사용한 공식은 원시적인 데이터 코드를 정확히 복구하기에는 부족) 인 바, 이 CV서브 피스가 존재한다 하더라도 기존의 코드유닛을 사용하여 정의(코드유닛은 통일된 비트 크기 또는 동일한 비트 크기에 근거하여 정의됨)하게 되면 획득한 첸 코드의 크기는 원보 코드보다 작도록 담보할 수 없으며 이는 사용하는 모드와 방법, 예하면 코드유닛 정의와 코드 배치 기술 및 원시적인 데이터 분포에 의해 결정된다. 그러나 수학공식 A 덜기 B를 나타내는 연산결과가 존재하는 CV서브 피스가 대응되는 결여공식 또는 처리유닛 컴포넌트의 결여피스와 함께 일 경우 획득된 첸 크드는 암호화 코드로 간주될 수 있고 상기 암호화 코드는 원시적인 숫자코드를 정확하고 손상 없이 복구하는데 사용될 수 있으나, 이렇게 발생한 암호화 첸 코드는 압축코드가 아닌 확장코드 일 수 있다. 무작위 여부와 관계없이 분포하는 숫자 데이터를 압축하고 압축코드를 발생하는 방법과 관련 기술은 정보이론에서의 비둘기집원리의 신화를 종결시켰고 이러한 방법 및 이의 관련 기술은 잠시 후 적합한 시기에 새로운 코드유닛이 정의하는 진보성 특징 및 첸 프레임워크를 실현하기 위한 신규 특징을 토론하는 기타 기술 다음에 개시하도록 한다.
[19] 범위의 개념 및 그가 절대 어드레스 분기 기술에서의 용도를 이해함으로써 그 용도는 무작위 데?터를 압축하는데 도움이 되고 첸 프레임워크의 진보성 특징의 용도와 함께 보완 수학이 어떻게 작용하는지에 대한 해석은 아래 도표에서 제시한다:
도표4
보완 수학
CC-A=Ac
또한
Ac+A=CC
또는
Bc+B=CC
또한
(Ac+B)=(CC-A)+B
여기서 CC는 보완 상수 또는 변수로서 보완 수학 연산을 위해 선택한 상수값 또는 변수값인 바, 이는 보완 상수 또는 변수(상이한 코드유닛 크기가 상이한 인코딩과 디코딩 주기에 사용될 경우 이는 변수)를 사용하는 것으로 정의되고 본 발명에서 해석한 바와 같이 상기 보완 상수 또는 변수는 수학계산 또는 덧셈과 뺄셈 논리를 가지는 연산에서 사용된다. 상황에 근거하여 하나보다 많은 보완 상수 또는 변수를 디자인할 수 있으며 필요하거나 적당할 경우에 상이한 조작 또는 목적에 사용될 수 있다;
A는 연산하는 값으로서 본 명세서에서 사용하는 구현예는 랭크값A이고 현재 두개의 코드유닛 값만 사용하는 상황에서 A의 값은 B의 값보다 크거나 같으므로 제1공식에서는:
CC-A=Ac이다.
여기서 CC 덜기 A는 A보완, 즉 Ac로 표시하고 이는 A가 상응하는 보완 상수 또는 변수를 사용하는 보완값 또는 미러값인 바, 예하면 CC를 코드유닛 크기의 최대치의 상수라고 할 경우 예하면 256개 값의 8비트를 가지면 CC의 값은 256이고; 또한 A의 값을 100이라고 하면 Ac는 256 덜기 100=156이며; 또한 역연산은 이로써 Ac+A=CC가 되어 100+156=256의 연산을 나타내고; 또한 제4공식에서 (Ac+B)=(CC-A)+B이며; 또한 B가 50이라고 하면 Ac+B=(256-100)+50=156+50=206이다.
[20] 도표4는 본 발명자에 의해 발명된 보완 수학의 기본연산의 논리를 제출하였는 바, 상기 논리는 충분히 디코딩과정으로 하여금 이후에 인입되도록 한다. 그러나 보완 수학의 덧셈과 뺄셈 연산을 더 완전하게 설명하기 위하여 이러한 논리는 아래의 도표5에서 정의하고 해석하고자 한다.
도표5
정의한 더 많은 보완 수학논리:
CC-(A+B)=(A+B)c 또는=CC-A-B;
또한
CC-(A-B)=Ac+B
또한
CC-A+B는 사람들로 하여금 곤혹스럽게 할 수 있으므로 이는 아래와 같이 더 명확히 나타내야 한다.
또는
(CC-A)+B=Ac+B
또는
(CC-B)+A=Bc+A
또는
CC-(A+B)=CC-A-B;
그러므로 상기 보완 수학의 뺄셈 연산의 논리를 진일보로 설명하기 위하여 CC를 256, A를 100, B를 50이라고 하면,
CC-(A+B)=(A+B)c 또는=Ac-B 또는=Bc-A,
즉 256-(100+50)=(100+50) c=256-150=106=Ac-B=156-50=106
또는
=Bc-A=206-100=106
또한
CC-(A-B)=Ac+B
즉 256-(100-50)=256-(50)=206=156+50=206
또한
(CC-A)+B=Ac+B
즉 (256-100)+50=156+50=206
또는
(CC-B)+A=Bc+A
즉 (256-50)+100=206+100=306
[21] 따라서 보완 수학의 덧셈과 뺄셈 연산을 사용한 상기 논리를 통해 사람들은 보완 수학이 아래의 도표6에서 어떻게 동작하는지에 관한 더 많은 세부 절차를 계속하여 표시할 수 있다.
도표6
보완 수학을 사용하여 데이터 값 또는 데이터 범위에 대해 연산
CC를 256, A를 100, B를 50이라 하면
(1)상규적인 수학 처리:
150을 2로 나누는 바, 즉 A와 B의 평균값을 얻으면:
=(A+B)/2=1/2 A+1/2B=75; 또한 A가 A+B에서의 비교적 큰값이므로;
따라서
=A-1/2(A-B)=100-1/2(100-50)=100-1/2(50)=100-25=75;
=B+1/2(A-B)=50+1/2(100-50)=50+1/2(50)=50+25=75;
(2)보완 수학 처리:
(CC-A)+B를 연산하는 바, 즉 B가 아닌 A에서 CC에 대해 연산하면:
=(CC-A)+B=Ac+B=(256-100)+50=156+50=206;
이 단계에서 연산하게 되면 우선 반드시 A와 B를 나눠야 된다는 것을 유의하게 되었는데 이 단계는 본완 수학이 여기에서의 연산을 설명하기 위한 것이다.
(3)첸 수학을 사용하여 첸 코딩(상규적인 수학 처리와 보완 수학 처리)을 진행: A-1/2(A-B)를 사용하여 단계(1)의 결과를 단계(2)의 결과에 추가하면:
=Ac+B+A-1/2(A-B)=Ac+A+B-1/2(A-B)
=CC+B-1/2(A-B)=256+50-1/2(100-50)
=256+50-25
=256+25;
(4)첸 수학을 사용하는 첸 코딩:
단계(3)의 결과에서 CC를 덜어내면:
=[CC+B-1/2(A-B)]-CC=B-1/2(A-B)
=[256+50-25]-256
=[50-25];
(5)첸 수학을 사용하는 첸 코딩:
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
상술한 내용은 상규적인 수학 처리, 보완 수학 처리와 첸 수학을 사용하는 첸 코딩 사이의 차이점을 나타낼 수 있다.
[22] 상기 단계(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가 제1 값의 자리로 정확히 복구되도록 하고 제2 값을 a와 b로 판독한다. 또한 단계(2)는 단지 이러한 기본 컴포넌트를 연산할 경우 보완 수학이 어떻게 작용하는지를 표시한다.
[23] 보완 수학은 정보이론에서의 비둘기집원리의 도전을 해결함에 있어서 직접적으로 도움이 되지 않는다. 그러나 이는 확실히 범위를 사용하여 데이터 값을 더하고 덜어내는 개념 및 보완 상수 또는 값을 정해주는 미러값의 개념을 돌출시켰다. 이러한 범위의 통찰력에 의해 정보이론에서의 비둘기집원리의 도전은 성공적인 결과를 획득하였는데 이는 범위가 절대어드레스분지를 사용하는 조작에서 없어서는 안되는 것이거나 또는 데이터 값 또는 숫자의 표시와 정의방식 방면에서 잠재적인 것이기 때문이다.
[24] 정보이론에서의 비둘기집원리의 신화를 종결하기 전에 본 발명은 첸 프레임워크에서 어떻게 수학공식을 사용하여 무한개의 인코딩과 디코딩 알고리즘을 발생할 것인가 하는 것을 더 상세히 개시한다. 설명은 도표7로부터 시작되는데 그 중 4개의 코드유닛, 4개의 기본 컴포넌트는 하나의 처리유닛을 조성한다.
대부분의 상황에서 처리유닛의 4개의 기본 컴포넌트는 3개의 암(Arm), 즉 롱 암, 미들 암과 숏 암으로 배치되고 2쌍의 기본 컴포넌트를 구비함으로써 상응하는 암의 상각(비교적 큰 총합을 가지는 한쌍의 두개의 기본 컴포넌트)과 하각(비교적 작은 총합을 가지는 한쌍의 두개의 기본 컴포넌트)을 대표한다. 그러나 극소수의 상황에서 이러한 쌍의 값은 마침 어떠한 방식으로 동일한 값을 가져 3개보다 적은 암, 예하면 2개의 암 또는 1개의 암 또는 심지어 점형상을 가질 수 있다. 따라서 처리유닛의 4개의 기본 컴포넌트의 값의 분포는 상이한 첸 형상으로 다음과 같이 나타낼 수 있다:
도표7
첸 형상
첸 점 ●
이는 모든 4개의 기본 분량이 동일한 값을 가지는 곳;
첸 라인
존재하는 2개의 첸 라인은 아래와 같다.
첸 라인1: 3개의 암은 모두 숏 암과 중첩되는데 값 [1]+[4]는상각이고 [2]+[3]은 하각이다.
Figure pct00005
첸 라인2: 3개의 암은 모두 숏 암과 중첩되는데 값[2]+[3]은 상각이고 [1]+[4]는 하각이다.
Figure pct00006
첸 삼각형
롱 암과 미들 암 2개의 암이 존재하고 숏 암은 하나의 점인 바, 이는 그의 값이 [1]+[4]와 [2]+[3]에 대해 동등하기 때문이다.
Figure pct00007
첸 직사각형과 제형과 정방형
첸 직사각형1은 순서에 따라 순차적으로 4개의 코드유닛의 데이터 값의 입력 스트림을 표시한다.
Figure pct00008
첸 직사각형2는 4개의 코드유닛의 데이터 값의 입력 스트림의랭크와 자리를 표시한다.
Figure pct00009
상기 첸 직사각형은 처리유닛의 제1 코드유닛 값a를 B로, 4개의 코드유닛에서 랭크를 두번째로, 제2 코드유닛 값 B를 C로, 랭크를 세번째로, 제3 코드유닛 값c를 A로, 랭크를 첫번째로, 제4 코드유닛 값d를 D로, 랭크를 제일 마지막으로 표시한다.
첸 제형은 첸 직사각형의 4개의 기본 컴포넌트 사이의 관계를 표시한다.
첸 제형1
3개 암의 상각은 [1]+[2],[1]+[3]과 [1]+[4], 또한
Figure pct00010
3개 암의 하각은 [3]+[4], [2]+[4]와 [2]+[3]이다.
첸 제형1은 4개의 기본 컴포넌트 사이의 관계, 즉 첸 직사각형2에 표시되는 4개의 코드유닛의 4개의 값을 나타내는데 여기서 A는 [1], B는 [2], C는 [3]과 D는 [4]로 다시 나타내고, 또 같은 방식으로 (A+B)=[1]+[2], (A-B)=[1]-[2] 등등으로 나타낸다. 보다 시피 처리유닛[1], [2], [3]과 [4]의 4개의 기본 컴포넌트의 값은 3개의 암으로 배열될 수 있는 바, 즉 ([1]+[2])-([3]+[4])는 롱 암, ([1]+[3])-([2]+[4])는 미들 암 및 ([1]+[4])-([2]+[3])은 숏 암이다. 모든 3개의 암에 대하여 [1]+[2]+[3]+[4]의 값의 총합은 항상 동일하다. 3개의 암 사이의 차이점은 그들의 길이에 있는 바, 즉 3개의 암의 상각과 하각 사이의 값의 차이이다.
롱 암과 미들 암은 랭크값 배열에서 항상 동일한 방식을 유지한다. 그러나 숏 암의 상각과 하각은 4개의 기본 컴포넌트의 값의 분포에 근거하여 교환한다. 따라서 두가지 상황이 존재하는 바, [1]+[4]의 값이 [2]+[3]보다 크고 첸 제형1에서 또는 반대로 첸 제형2에서 다음과 같이 나타낸다.
첸 제형2
Figure pct00011
3개의 암의 상각은 [1]+[2], [1]+[3]과 [1]+[4]이고 첸 제형1에서 3개의 암의 하각은 [3]+[4], [2]+[4]와 [2]+[3]이다.
첸 제형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]).
첸 제형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]).
따라서 첸 제형1과 2에서 롱 암은 항상 미들 암2*([2]-[3])보다 크거나 같다.
그러나 숏 암의 상각 값과 하각 값을 교환하는 두가지 가능한 상황으로 인하여 첸 제형1에서 롱 암은 항상 숏 암2*([2]-[4])보다 크거나 같고 미들 암은 항상 숏 암2*([3]-[4])보다 크거나 같다.
또한 첸 제형2에서 롱 암은 항상 숏 암2*([1]-[3])보다 크거나 같고 미들 암은 항상 숏 암2*([1]-[2])보다 크거나 같다.
첸 제형3 또는 첸 정방형1
Figure pct00012
이는 미들 암과 롱 암이 중첩되는 곳인 바, 여기서 숏 암의 상각과 하각은 각각 [1]+[4]와 [2]+[3]이다. 만약 여기서 두개의 암의 길이가 동등하지 않으면 그는 제형이고 그렇지 않으면 그는 정방형이다.
첸 제형4 또는 첸 정방형2
이는 미들 암과 롱 암이 중첩되는 곳인 바, 여기서 숏 암의 상각과 하각은 각각 [2]+[3]과 [1]+[4]이다. 만약 여기서 두개의 암의 길이가 동등하지 않으면 그는 제형이고 그렇지 않으면 그는 정방형이다.
Figure pct00013
첸 제형5 또는 첸 정방형3
이는 숏 암과 미들 암이 중첩되는 곳인 바, 여기서 숏 암의 상각과 하각은 각각 [1]+[4]와 [2]+[3]이다. 만약 여기서 두개의 암의 길이가 동등하지 않으면 그는 제형이고 그렇지 않으면 그는 정방형이다.
Figure pct00014
첸 제형6 또는 첸 정방형4
이는 숏 암과 미들 암이 중첩되는 곳인 바, 여기서 숏 암의 상각과 하각은 각각 [2]+[3]과 [1]+[4]이다. 만약 여기서 두개의 암의 길이가 동등하지 않으면 그는 제형이고 그렇지 않으면 그는 정방형이다.
Figure pct00015
[25] 본 도면에서 가능한 데이터 인코딩과 디코딩을 진행하기 위하여 4개의 기본 컴포넌트의 4개의 값은 반드시 1개의 CV피스로 나타내야 하고 상기 피스는 4개의 서브 피스 값으로 조성(이 목적을 위해 디자인된 4개의 공식을 사용하여 발생; 사람들은 3개 또는 더 적은 공식을 사용하도록 시도할 수 있고 현재까지 이러한 노력은 희망적인 결과를 나타내지 않으나 사람들은 이러한 가능성을 배제하지 않았는데 이는 새로운 기술을 본 발명으로서 본 응용에 나타내는 첸 프레임워크에 인입할 수많은 기회가 있기 때문이다)되며 RP피스를 제외하고 그는 4개의 기본 컴포넌트의 값의 자리와 랭크 사이의 관계를 지시하기 위한 것인 바, 아래의 도표8에 나타낸 바와 같다.
도표8
첸 직사각형은 4개의 입력 기본 컴포넌트의 자리와 랭크의 상세한 정보 및 획득한 첸 코드를 표시한다.
첸 직사각형3은 4개의 코드유닛의 데이터 값의 입력 스트림의 랭크와 자리 및 사용하는 64비트 크기를 표시한다.
Figure pct00016
첸 직사각형4첸 코드는 첸 코딩을 사용하여 만든 압축코드를 통해 RP피스와 CV피스의 상세한 정보를 표시한다.
Figure pct00017
본 발명의 하나의 아주 현저한 특징은 CV피스를 구성하는 4개의 서브 피스의 값의 상이한 비트 크기에 있고 또 RP피스 자체는 4비트와 5비트 사이에서 변화하며 또 이들의 비트 크기가 상이하지만 개시하고자 하는 첸 코딩기술을 잠시 뒤에 사용하여 관련 첸 코드에 대해 디코드를 진행함과 동시에 이를 손상 없고 정확하게 원시적인 입력 숫자 데이터 코드에 복구시킬 수 있다. 압축의 목적으로부터 볼 때 사용되는 변화된 비트 크기는 첸 코딩 기술을 사용하여 진일보로 압축 비율을 향상시키는 것을 말하는 바, 이는 숫자 공식을 사용하여 실현한 압축 비율보다 우월하다.
[26] 우선 여기서 RP피스를 해석한다. RP피스는 처리유닛의 4개의 기본 컴포넌트(4개의 코드유닛)의 4개의 랭크값의 상대자리를 지시하기 위한 것으로서 4개의 기본 컴포넌트의 랭크가 그의 자리에 따라 변화하기 때문에 고정된 규칙으로 4개의 기본 컴포넌트의 값의 자리와 랭크 사이의 관계를 결정하는 것이 존재하지 않는다. 자리와 랭크 사이가 존재하는 것은 모두 24가지 조합이 있는데 아래 도표9에 표시한 바와 같다.
도표9
Figure pct00018
Figure pct00019
[27] 조합된 4개의 기본 컴포넌트의 값의 랭크와 자리 사이에는 모두 24개의 변체가 존재하므로 사람들은 통상적으로 5개의 비트를 사용하여 랭크와 자리 조합의 이러한 24개의 변체를 수용하고 지시함으로써 분해할 경우 4개의 기본 분량의 값의 정확한 랭크와 자리를 정확하게 복구, 즉 기본 컴포넌트의 4개의 랭크값을 그들과 입력되는 숫자 데이터 입력에서의 이러한 값의 자리가 서로 대응되는 정확한 자리로 다시 갖다 놓는다. 그러나 절대 어드레스 분기라고 불리는 기술을 사용하여 공간의 낭비를 방지할 수 있는 바, 절대 어드레스 분기를 사용하지 않으면 32개의 자리가 24개의 변체를 수용하게 되어 8개의 자리가 남아 낭비하게 된다.
[28] 제일 간단한 상황을 사용하기 위하여 3개의 값만 가질 수 있는데 그렇게 되면 통상적으로 2개의 비트를 사용하여 3개의 변체 값에 4개의 자리를 제공하게 된다. 그러나 절대 어드레스 분기를 사용하는 상황에서 그 중의 값=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비트를 사용하여 지시한다.
[29] 따라서 절대 어드레스 분기를 사용하는 것을 통해 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모드에 놓이도록 지시한다. 따라서 절대 어드레스 분기는 한가지 디자인으로서 그 중 어드레스(통상적인것과 같이 하나의 값을 지시하는 것이 아님)는 현재 분기하여 디자인에 의해 별도의 한 비트 또는 다수의 비트를 사용하여 2개 또는 더 많은 값을 표시하도록 한다. 그는 이미 알고 있는 범위를 한정할 경우 사용되고 상기 범위는 이 범위 한정에서 결정하는 변수 값의 최대 가능 조합 또는 옵션을 한정한다. 예하면 이상의 RP표에서 랭크와 자리가 단지 24가지 조합만 가짐을 알 수 있으므로 최대 가능한 조합은 단지 24가지이며 그는 범위 한정으로 사용되어 처리유닛이 RP조합에서의 어느 특정 값을 가지는지를 지시함으로써 어떻게 [1], [2], [3]과 [4]의 값을 숫자 데이터 스트림의 제1 자리, 제2 자리, 제3 자리와 제4 자리에 놓을 것인지를 지시한다. 이 범위 한정은 이미 알고 있는 것이고 또 절대 어드레스 분기를 사용하므로 평균적으로 놓고 볼 때 이 24개의 조합에 대하여 통상적인 5개의 비트를 사용하는 것이 아니라 4개 반의 비트를 사용하게 된다.
[30] 아래에는 4개의 기본 컴포넌트 분량의 랭크값을 결정하는 바, A=[1], B=[2], C=[3], 또한D=[4]이다. [1], [2], [3]과 [4]의 값을 결정하기 위하여 첸 직사각형과 첸 제형의 공식을 사용하여 4개의 기본 분량의 기본 관계와 특징을 나타 낼 수 있는데 여기서 위의 제[29]단락에서 해석한 RP피스와 CV피스가 점용한 전체적인 비트 크기는 4개의 입력 기본 컴포넌트a, b, c와 d가 점용한 전체적인 비트 크기보다 작은 바, 즉 상술한 바와 같이 첸 직사각형과 첸 제형을 사용한 본 발명에서 나타낸 모드에서의 처리유닛의 코드유닛의 크기의 4배이다.
[31] 첸 형상으로 나타내는 처리 유닛을 구성하는 4개의 기본 컴포넌트 사이의 특징과 관계를 세심히 연구한 후 CV피스의 3개의 서브 피스에서 나타내는 공식의 아래 조합은 뒤에서 작용하는 원리의 첫번째 시도를 나타내기 위한 것이다. 기타 유사한 공식을 발견하고 사용할 수 있다. 따라서 한정이 존재하지 않으나 아래에 첸 형상을 참조하여 제출한 공식을 사용하는 것을 포함한다. 그러므로 이 첫번째 시도는:
(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개의 공식은 이 목표를 달성할 수 없음을 발견하였다. 따라서 정확한 공식과 공식 디자인이 첸 코딩 기술에 대한 응용은 아주 중요하다. 상기 PCT출원에서 첸 형상이 나타낸 바와 같이 첸 코딩은 기본 컴포넌트(즉 처리유닛의 코드유닛) 사이의 특징과 관계를 사용하여 디자인함으로써 완성한 거이다.
[32] 공식 디자인은 하나의 과학이 아닌 하나의 예술과 같다. 사람들이 처리유닛의 상이한 기본 컴포넌트와 파생 컴포넌트 사이의 특징과 관계의 모든 조합을 전부 사용할 수 없으므로 새로운 사유는 정확한 공식을 사용하는 것을 성공적으로 장악하는데 도움이 될 것이다. 상기 PCT출원에서 사용한 3개의 공식은 적극적인 사유로 디자인한 것으로서 3개의 공식을 사용하게 되면 사람들은 관련 첸 형상을 재현할 수 있으며 구체적인 상황에 근거하여 첸 제형 또는 첸 정방형 또는 첸 삼각형 또는 첸 점 또는 첸 라인을 포함할 수 있다. 그러나 상기 PCT출원에 인입한 기술을 사용하여 디자인한 3개의 공식이 나타낸 바와 같은 이러한 사유 모드를 사용하게 되면 기본 컴포넌트는 그들의 파생 컴포넌트에서 분리될 수 없을 수 있다(또는 쉽게 분리될 수 없을 수 있는데 이는 계산에 사용되는 조합이 완전히 사용되지 않을 수 있기 때문이다).
[33] 정보이론에서의 비둘기집원리의 도전에 대응하기 위하여 상기 PCT출원에는 새로운 사유패턴이 결여한다. 또한 여기서 시도한다. 사물이 적극적인 방식으로 작용을 발휘할 수 없을 경우 그는 반대되는 방식으로 작용을 발휘할 수 있다. 이는 보완 수학과 관련되는 사유 모드 또는 패러다임이기도 하다. 따라서 만약 정확한 첸 형상을 재현하도록 디자인된 공식이 좋은 결과를 가져외지 않으면 사람들은 이 3가지 공식에 차이점을 인입하도록 시도할 수 있다. 따라서 본 발명은 차이점 인입(또는 이상 인입으로 불리움)의 기술을 개시하여 차이점 인입과 보완 코딩과 같은 유용한 기술에 의해 첸 코딩의 모든 기술로 하여금 정보이론에서의 비둘기집원리의 신화를 종결하도록 하며 이는 보완 코딩의 유용성 및 공식 디자인 단계에서의 차이점 인입 기술 자체의 유용성을 나타낼 수 있다.
[34] 따라서 디자인 단계 과정에서 제1 단계는 사람들이 예전과 같이 공식을 디자인하여 인코딩함으로써 이렇게 디자인한 공식을 사용하여 첸 형상을 재현하도록 할 수 있다. 예하면 상기 PCT출원에서 제공한 구현예를 사용하여 단계(1) 내지 단계(3)에서 첸 코드의 CV피스의 3개의 서브 피스의 값과 암호화된 코드를 도출하고 획득하는 3개의 공식은 다음과 같다.
(1)=([1]-[4]);
(2)=([2]-[3]); 및
(3)=([3]+[4]).
상규적인 수학을 사용함으로써 아래에서 상기 PCT출원을 인용한 단계(4) 내지 단계(9)에서 관련되는 첸 형상을 재현하면 다음과 같다.
(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]); 롱 암의 상각;
[35] 상기 단계로부터 알 수 있다 시피 단계(4) 내지 단계(9)의 상규적인 수학을 사용함으로써 롱 암과 미들 암의 두개의 각 및 암 자체를 정확히 재현할 수 있다. 그러나 3개의 적합한 공식을 사용함으로써 기본 컴포넌트는 병합되고 파생 컴포넌트에서 양호하게 결합되어 기본 컴포넌트로 하여금 서로 용이하게 분리되지 않도록 한다. 따라서 사람들은 3개의 디자인이 합리적인 공식에서 차이점을 인입하여 처리함으로써 새로운 세계를 발견할 수 있을지의 여부를 진일보로 확인할 수 있다. 사람들은 무작위 방식으로 불용 정보에서의 불용 정보 원칙의 차이점을 인입하지 말아야 한다. 사람들은 이미 디자인한 3개의 합리적인 공식을 위해 유용한 정보를 제공하는데 필요한 내용에 관심을 보여야 한다.
[36] 이상의 구현예에서 사람들은 두개의 파생된 컴포넌트의 결여를 쉽게 주의할 수 있으나 현재의 문제점을 해결하기 위한 부가적인 정보를 제공함에 있어서 매우 중요한 바, 즉 4개의 기본 컴포넌트를 파생 컴포넌트에서 분리한다. 이 두개의 파생 컴포넌트는 [1]-[2]와 [3]-[4]로 식별된다. 이 두개의 파생 컴포넌트에서의 임의의 하나를 구비하면 사람들은 단계(9)에서 획득한 ([1]-[2])와 ([1]+[2]) 사이 및 단게(3)에서 획득한 ([3]-[4])와 ([3]+[4]) 사이의 덧셈과 뺄셈을 통해 기본 컴포넌트를 용이하게 분리할 수 있다. 따라서 [1]-[2]와 [3]-[4]에서의 임의의 하나 또는 두개를 상기 3개의 적합한 공식에 인입하도록 시도할 수 있다. 또한 필요할 경우 진일보로 되는 공식을 사용하여 조절할 수 있다.
[37] 수차례의 시험과 오류를 거친 후 현재까지 설명한 첸 프레임워크에서 단계[31]에서의 공식 디자인에서 차이점 인입 또는 이상 인입의 특징을 시도할 지라도 4개의 코드유닛을 처리유닛으로 사용한 모드에서 3개의 공식을 사용하여 정확한 디코딩을 진행하여 성공한 공식 디자인이 존재하지 않는다. 따라서 제4 공식, 예하면 [1]-[2] 또는 [3]-[4], 즉 단계(4)=[1]-[2] 또는 단계(4)=[3]-[4]는 이미 인입되어 정확한 디코딩을 진행하도록 한다. 또는 더 총명한 사람은 3개의 공식만을 사용하는 해결방안을 제추할 수 있다. 그러므로 이 방면에서 여전히 희망이 있다. 첸 프레임워크의 새로운 방면에 있어서 이는 한가지 기회를 제공하여 숫자 데이터를 정렬 또는 조직하고 숫자 데이터에서 설명 가능한 정렬 또는 구조를 만드는 여러 가지 방식을 가능하도록 함으로써 상이한 데이터가 분포한 숫자 데이터의 성질을 연구할 수 있고 그들의 특징의 차이점을 비교할 수 있으며 이러한 데이터 특징의 규율성(또는 규칙 또는 규율)을 식별할 수 있도록 하여 압축과 암호화의 목적으로 상이한 기술을 디자인하여 인코딩과 디코딩을 진행함으로써 숫자정보를 보호할 수 있다. 따라서 잠시 뒤에 볼 수 있는 바와 같이 유리한 결과를 얻을 수 있다.
[38] 4개의 공식을 사용하여 발생한 4개의 CV서브 피스와 RP피스가 함께 디코딩을 진행할 때 처리유닛의 4개의 기본 컴포넌트 또는 코드유닛의 값을 정확히 분리하여 워니적인 숫자정보를 정확히 복구하더라도 그는 여전히 숫자정보의 공식 디자인과 데이터 분포에 근거하여 압축할 기회를 제공한다. 잠시 뒤에 볼 수 있는 바와 같이 슈퍼 처리유닛을 인입하여 사용하는 다른 한 기술의 상황에서 기타 첸 코딩 기술을 사용하고 첸 프레임워크에서 정의한 데이터 코더의 용도를 포함하며 특히 숫자 데이터 블랙홀에서의 이상 인입 용도와 절대 어드레스 분기 기술의 용도를 디자인, 창조 및 실현함에 있어서 모든 데이터가 분포한 숫자 데이터(심지어 무작위 데이터를 포함)를 압축할 경우에도 유리한 결과를 발생할 수 있다. 그러나 첸 프레임워크에서 사용하는 공식 디자인은 숫자 데이터에 무한한 방법 또는 알고리즘을 제공하여 암호화와 복호화를 진행함으로써 데이터를 보호하는 목적에 도달한다. 또한 이는 통상의 지식을 가진 자가 이니더라도 용이하게 실천할 수 있는 간단한 암호화와 복호화 방법이다. 총명하지 않은 사람에게 있어서 [1], [2], [3]과 [4]의 값은 단계(1) 내지 (4)에서 표현한 공식과 단락[34]와 [36]에서 설명한 기타 파생 단계에 따라 서로 분리된다. 그 외의 공식 조절과 단계는 공간의 최적화에 사용되도록 디자인 될 수 있는 바, 적용될 경우 아래 단락 [43]과 [44]에서 설명하는 구현예에서 모델링한다.
[39] 단락[37]에서의 단계(I) 내지 단계(IV)에서 설명한 공식을 통해 계산한 데이터의 값은 현재 인코딩 과정에서 첸 코드의 CV피스의 4개의 서브 피스에 놓여진다. 인코딩 할 경우 이 4개의 값은 CV피스의 4개의 서브 피스로서 대응되는 RP피스와 함께 첸 코드 파일에 저장된다. 매 하나의 CV서브 피스의 값의 범위 한정은 응당 충분히 큼으로써 상응하는 공식을 사용할 경우 가능하게 나타날 수 있는 모든 가능한 값에 적응하도록 한다. 디코딩 과정에서 절대 어드레스 분기 기술을 사용하고 도표9에 대해 사용한 관련 랭크 자리 코드표를 통해 검색값을 찾으며 처리유닛과 대응되는 랭크 자리 코드를 통해 RP피스와 CV피스를 판독하여 디코딩함으로써 디코딩 기간에 처리유닛에 배치할 [1], [2], [3]과 [4]의 랭크값의 자리를 결정하도록 한다. [1], [2], [3]과 [4]의 랭크값은 단락[38]에서 설명한 상기 단계에서 나타낸 바와 같이 단락[37]에서의 단계(I) 내지 단계(IV)에 저장된 대응되는 CV피스의 4개의 서브 피스의 값을 사용하여 결정한다. CV피스의 4개의 서브 피스는 단락[43]과 [44]에서 개시한 기술을 사용하여 배치하는데 이렇게 보완 수학과 보완 코딩이 CV서브 피스를 배치하는 범위를 한정하는 것을 상세히 설명함으로써 적합한 상황에서 디자인할 경우ㅢ 가치를 조절한다. 절대 어드레스 분기 기술은 여기에서 공간 절약을 최적화하는 기술이다. 간단하게 a, b, c, d를 대체하고 단락[37]에서 설명한 4개의 공식에서 [1], [2], [3]과 [4]를 대체하는 것도 RP피스를 생략하는 가능성을 지시한다. 이는 이러한 대체를 통하여 단락[37]과 [38]에서 설명한 공식도 RP 처리가 없는 상황에서 작용한다는 것을 의미한다. 그러나 RP 처리가 없는 상황에서는 그 다음에 사용범위의 한정으로 인한 공간 절약 가능성의 장점을 잃을 수 있다. 이는 RP처리를 사용하는 것보다 더 많은 공산을 낭비하는 문제를 초래할 수 있다.
[40] 보완 수학과 보완 코딩은 CV 서브 피스의 배치를 진행하는 디자인 과정에서 공간을 절약하는데 매우 유용한 바, 이는 적합한 상황에서 원시적인 공식 디자인을 조절하는 상황을 초래할 수 있다. 아래 도표10은 공식 디자인 단계에서 현재의 노력으로 보완 수학과 보완 코딩을 사용하여 단락[31]에서의 공식 디자인이 아래 도표10과 함께 한 기여를 나타냈다.
도표10
첸 바
코드유닛 크기를 보완 상수CC의 보완 수학 패러다임에서의 범위 한정의 시각적 표시
Figure pct00020
Figure pct00021
미지의 데이터
Figure pct00022
Figure pct00023
기지 데이터
[41] 이상의 도표에서 단락[31]에서 3개의 CV서브 피스의 값으로 나타나는 3개의 공식이 나타내는 범위는 그들의 보완 범위(미지의 데이터)와 함께 표시된다. X자체는 이미 알고 있는 것이 아니고 공식의 일부([2]-[3]) +1/2([3]-[4])로서 병합된다. 이러한 공식에 인입된 이상 또는 차이 또는 조절, 1/2([3]-[4])은 주요하게 관련되는 첸 형상의 [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]))로 대응되게 조절한다. 이것은 예전에 그 누구도 측량하지 않았던 새로운 세계이므로 반드시 시행착오의 방법을 통해 학습해야 한다. 단락[31]에서 디자인한 공식이 상기 도전에 대해 제출한 해결방법도 성공적이지 못하므로 더 많은 조절이 필요하다. 더 총명한 영혼을 가진 사람은 데이터 또는 처리유닛을 병합한 기본 컴포넌트와 이로써 디자인한 공식이 나타내는 파생(또는 기본 컴포넌트와 조합) 컴포넌트를 분리하도록 첸 코딩을 사용하는데 적용되는 기타 공식을 더 디자인할 수 있다. 공식 차이 또는 공식 이상 또는 공식 조절을 인입하는 기술은 아래와 같은 단계를 포함한다: (i) 파생 또는 기본 컴포넌트의 값 또는 관계와 특징을 재현하는데 사용될 수 있는 공식을 디자인; (ii) 어떠한 파생 또는 기본 컴포넌트가 결여하지만 부가적인 값을 제공함에 있어서 매우 중요하다는 것을 찾아내어 기본 컴포넌트와 디자인 공식이 대표하는 컴포넌트를 분리하는 목적에 사용; (iii) 이러한 결여 컴포넌트를 제공하는 공식을 사용하여 공식 이상 또는 공식 조절 또는 공식 차이를 디자인하되, 이러한 공식 이상 또는 공식 조절 또는 공식 차이는 첸 코드의 CV 서브 피스 값을 획득하기 위한 공식에 인입; (iv) 공식 이상 또는 공식 조절 또는 공식 차이를 이상의 단계(i)의 선행 디자인의 공식에 병합하고 한 그룹의 새로운 공식을 만들되 상기 공식은 기본 컴포넌트와 새로운 디자인 또는 조절에 의한 공식이 대표하는 컴포넌트를 분리하는 목적에 적용된다.
[42] 단락[38]에서 설명한 4개의 공식을 사용한다고 가정하면[1], [2], [3]과 [4]의 랭크값을 결정하고 RP피스를 사용한 후 대응하는 처리유닛의 원시적인 숫자 데이터는 현재의 무손상 해독을 입력하고 정확한 자리로 정확히 복구된다. 지금 단계(I) 내지 단계(IV)의 공식이 첸 코드로 나타내는 CV피스의 4개의 서브 블록의 코듸의 위치와 비트 크기를 저장하고 인코딩 과정에서 비트 저장을 진일보로 최적화하는 것을 고려할 수 있다. 그는 범위한정의 개념을 사용한다.
[43] 첸 코드의 CV 피스의 4개의 서브 피스에서 어느 서브 피스가 먼저 배치될 것인지를 고려하기 위하여 하나의 서브 피스 배치가 기타 서브 피스의 배치에 정보를 제공할 수 있을지의 여부를 고려하여 저장공간을절약할 수 있다. 이하 단락[31]에서 설명한 3개의 공식을 사용하여 설명하는 목적을 토론하고자 한다. 보완 수학의 가치를 이해하기 위하여 단락[31]에서의 단계(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]c+1/2([3]-[4])는 응당 [1]-[4]의 범위를 포함할 수 있을 것임은 아주 분명하므로 [4]c+1/2([3]-[4]), [4]-1/2([3]-[4])의 미러값은 [1]-[4]의 값을 배치하는 범위 한정으로 사용할 수 있다. 또한 이로써 [4]-1/2([3]-[4])의 CC 값을 제1 CV서브 피스로 하여 배치함으로써 공식 [1]-[4]에 의해 나타내는 제2 CV서브 피스로 하여금 [4]-1/2([3]-[4])의 미러값(CC의 조작이 가동되도록 하는 것을 통해)을 사용하여 [1]-[4]의 값을 저장하는 범위 한정으로 하도록 한다.
[44] 그러나 [4]-1/2([3]-[4])의 값이 일부 드문 경우에 마이너스 값일 수 있으므로 [4]c+1/2([3]-[4]]) 값은 코드유닛 크기를 초과할 경우 이러한 상황에서 CC값, 즉 코드유닛 크기의 사용을 복구하여 [1]-[4] 값의 범위 한정으로 할 수 있다. 바꾸어 말하면 [4]c+1/2([3]-[4])와 CC 값이 제공하는 두개의 범위에서의 제일 짧은 범위를 선택하여 [1]-[4]의 값의 범위 한정으로 사용할 수 있다. 대부분의 기타 상황에서 [4]c+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]는 제2 CV서브 피스로 사용할 수 있는데 이는 제3 CV서브 피스([2]-[3])+1/2([3]-[4])의 범위 한정에 사용되어 더 많은 비트 저장공간을 절약한다. 제1 CV서브 피스를 배치하는 범위 한정은 CC값으로서 이는 그가 참조로 되기 전에 기타 사용 가능한 범위 한정이 존재하지 않기 때문이다. 마찬가지로 그 중의 [4]-1/2([3]-[4])의 값이 마이너스 값으로 변하는 일부 드문 상황에서 그에 대해 별도의 부호 비트를 사용해야 한다. 그 외에 반감조작으로 인하여 상기 값은 0.5의 일부만 가질 수 있으므로 일부 비트가 이러한 지시에 사용되는 것을 포함해야 한다. 그러므로 그는 항상 CC비트 크기+2비트이다. 따라서 만약 [1]-[4]의 값이 최대치인 2^64가 아니고 1,000이면 1000은 ([2]-[3])+1/2([3]-[4])의 범위 한정을 저장하는데 사용될 수 있다. 절대 어드레스 분기를 사용하여 1,024의 한정이 1,000으로 정확히 감소되도록 하여 이러한 상황에서 아주 적게 절약하도록 할 수도 있다. 사용되는 비트 크기는 64비트 코드유닛이 통상적으로 필요한 64비트가 아닌 10비트 또는 9비트이다. 그러나 제1 CV서브 피스 [4]-1/2([3]-[4])의 상황과 같이 반감조작으로 인해 제3 CV서브 피스([2]-[3])+1/2([3]-[4])도 0.5의 값분수를 가질 수도 있으므로 하나의 분수 비트를 [1]-[4]의 값이 설치한 범위 한정에 하나 더 분포할 필요가 있다. 다음 이상에서 개시한 단락[31]에서의 단계(1) 내지 (3)에 대해 첸 코드의 CV피스 이 3개 서브 피스의 배치를 완성한다. 따라서 만약 범위 한정과 절대 어드레스 분기의 개념과 기술도 저장공간의 최적화에 사용되면 CV피스의 3개의 서브 피스 및 이로써 전반적인 CV피스의 크기가 처리유닛의 상이함에 의해 변화하게 됨은 명백한 것이다. 기억해야 할 것은 사용하는 범위 한정이 나타날 수 있는 모든 가능한 값을 포함해야 하고 관련 범위 한정은 이러한 가능한 값에 사용되도록 디자인된다. 일부 상황에서 범위 한정은 이에 수치2를 추가하여 조절할 필요가 있을 것인 바, 이는 랭크값이 값 자체에 근거하여 랭크한 것이고 값이 동등할 경우 그들은 그들이 입력한 숫자 데이터 스트림에서의 자리에 근거하여 랭크한 것이기 때문이다. 따라서 반드시 구체적인 문제는 구체적으로 분석해야 하고 특정된 값의 범위 한정을 조심스럽게 고려해야 하며 특정된 값을 위해 디자인한 범위 한정이 나타날 수 있는 모든 가능한 값을 포함할 수 있도록 확보해야 한다.
[45] 예를 들어 첸 코드를 배치하는 아래 3개의 CV서브 피스에 필요한 공간 또는 비트 크기(단락[31]에서의 그것들이 아니고 공식(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비트이면 범위 한정을 사용하여 달성하는 공간 최적화를 계산하는 것이 아니라 각각 68비트, 66비트와 64비트를 공식(I), (II)와 (III)에 사용한다. 범위 한정을 사용하는 것을 통해 공식(I)의 값은 명백히 공식(II)의 값보다 크고 공식(II)의 값은 공식 (III)의 값보다 크다. 따라서 우선 공식(I)을 배치하고 다음 공식(II)를 배치하며 그 다음 공식(III)을 배치한다. 이러한 배치기술을 사용하는 것을 통해 비트 저장을 최소화할 수 있다.
[46] 진일보로 반성해보면 보완 수학은 매우 유용한 개념과 더 많은 기술 도구를 제공하여 저장 공간을 절약하는 것 같다. 그러나 그의 중요성은 범위 처리, 미러값 및 기본 시프팅을 포함하는 패러다임에 있는 바, 예를 들어 값의 미러값을 지시하는 기준은 CC 값, 즉 코드유닛 크기를 사용하는 것이고 상규적인 수학 처리를 진행할 경우 값 0의 기수 가 아닌 역으로 계산하기 위한 기수로 사용된다.
[47] 첸형상에서 개시한 특징과 관계를 사용하는 것을 통해 처리유닛에 사용되는 상이한 수량의 코드유닛으로 공식 또는 기타 형상을 디자인 할 수 있는데 이는 단지 상규적인 수학 처레의 상황에서도 이러한 상황은 첸 코딩을 사용하는 정보이론에서의 비둘기집원리의 도전과 마주할 수 있기 때문이다. 첸 프레임워크에서 구축한 코드유닛과 공식 디자인의 무한한 조합(및 기타 기술을 추가하여 그와 함께 사용하는 가능성에 응용됨)을 감안하여 그 누구도 이것이 불가능하다는 것을 확정할 수 없다. 또한 아래에 개시하고자 하는 것은, 공식 디자인의 특징을 사용하지 않더라도 이러한 기타 기술은 정보이론에서의 비둘기집원리의 신화를 종료할 수 있다는 것이다.
[48] 보완 수학과 보완 코딩은 공식 디자인 단계 및 인코딩과 디코딩에 도움이 된다. 따라서 첸 수학과 첸 코딩은 한 그룹의 슈퍼 수학 처리인 바, 상기 슈퍼 수학 처리는 첸 형상 및 숫자정보(무작위 여부와 관계없이)를 인코딩과 디코딩할 경우 개시하는 특징과 관계를 결합 도는 단독으로 분리하여 사용한 상규적인 수학과 보완 수학을 포함한다.
[49]최적화를 위해 진일보로 검사할 경우 단락[37]과 [38]에서 설명한 공식에서 처리유닛의 a, b, c와 d 값을 [1], [2], [3]과 [4]로 대체하여 RP피스와 관련 RP처리를 생략할 수 있다. 그러나 CV서브 피스의 배치는 이로 인하여 RP피스와 RP처리를 사용할 대보다 더 많은 공간을 필요하게 된다. 또한 더 알아야 할 것은 RP처리의 가치는 [1], [2], [3]과 [4] 형식으로 된 처리유닛의 4개의 기본 컴포넌트(a, b, c와 d) 사이의 관계를 더 명확히 요해하여 첸 형상을 사용하고 첸 형상으로 나타낼 경우 이러한 값을 정확히 이해할 수 있다는 것이다. 이는 진일보로 본 발명에서 설명한 기타 인코딩 및 디코딩 기술을 적용하기 위한 정확한 공식을 디자인하는 방법을 추가한다. 따라서 RP 피스와 RP 처리를 사용하여 인코딩과 디코딩을 진행할지 여부는 구체적인 상황에 따라 결정될 수 있는 선택 사항이다.
[50] 이렇게 디자인된 4 가지 공식으로 나타낸 4개의 CV 서브 피스를 사용하면 암호화를 위한 다변량 알고리즘을 대담하게 설계 할 수 있다. 그 다음 인입하고자 하는 기타 기술을 사용하여 이러한 암호화 된 숫자 데이터를 압축할 수 있다. 이러한 방식으로 매우 쉽고 안전하게 암호화/복호화 및 압축/압축 해제 알고리즘과 과정을 디자인하고 실현할 수 있다. 암호화/복호화 및 압축/압축 해제의 주기수 또한 결과 코드에 영향을 미친다. 또한 이러한 정보(디자인된 공식과 실현하고자 하는 암호화/복호화 및 압축/압축 해제의 주기 수를 포함)와 전송하고자 하는 데이터가 별도로 전송되면 데이터 안전성이 향상 될 수 있으고 전례없는 수준으로 크게 보호 될 수 있다. 데이터 보호를 더욱 강화하기 위해 원시적인 숫자정보를 복구하도록 상이한 유형의 첸 코드를 별도로 저장하고 정확한 순서로 전송할 수 있으며 예하면 CV 서브 피스의 부호 비트는 하나의 부호 비트파일에 있고 매 하나의 CV 피스는 개별적인 CV 서브 피스 파일에 있으며 RP 피스는 RP 피스 파일에 있고 마스테헤드 또는 각주는 별도의 마스터헤드 또는 각주파일에서의 대응되는 첸 코드의 처리와 관련되는 별도의 정보를 포함한다.
[51] 4개의 CV서브 피스를 발생하는 4개의 공식을 사용하는 것은 압축을 달성할 수 없음을 의미하는 것이 아니다. 식별된 제일 짧은 범위를 선택하여 하나의 공식을 발생할 수 있는데 이 공식은 압축을 진행하도록 추가하고자 하는 제4 값의 제일 짧은 범위를 나타낸다. 예하면 만약 [1]이 CC값, 즉 코드유닛의 최대값에 매우 근접하게 되면 CC에서 ([1]+[2])를 덜어내는 것은 단계(1) 내지 단계(3)에서의 앞의 3개의 공식을 처리하는 것을 통해 식별한 제일 짧은 범위이고 다음 제3 공식을 [1]로 선택할 수 있으며 CC에서 ([1]+[2])를 덜어낸 범위 한정을 사용하여 [1]의 값을 배치한다. 첸 코드 피스의 공식 디자인과 배치에 관하여 이 방면에서 진일보로 연구할 수 있다.
[52] 4개의 CV서브 피스를 사용하더라도 처리유닛의 매 하나의 피스를 압축할 수 없을 수 있는데 상이한 유형의 데이터에 적용되어 분포한 상이한 공식 집합(각 데이터 값의 빈도와 대응되는 데이터 값 분포, 즉 존재하는 매 하나의 값의 빈도 및 존재하는 대응되는 값의 수량과 동일성)을 디자인할 수 있고 무작위 데이터의 모든 숫자를 파일에 입력하여 비무작위의 슈퍼 처리유닛으로 분해할 수 있다. 공식 디자인보다 더 간단한 기타 기술이 그 중에 추가되어 실현될 경우 잠시 뒤에 비무작위의 슈퍼 처리유닛을 사용하는 기술을 설명하고자 한다. 이러한 토론과정에서 슈퍼 처리유닛의 관련 개념을 개시한다. 상이한 데이터에 대해 분포한 슈퍼 처리유닛은 상이한 공식 디자인 그룹을 사용하는데 이러한 기타 기술과 슈퍼 처리유닛이 함께 사용되는 상황과 마찬가지로 재압축을 시도하고 실현할 수 있다.
[53] 따라서 알 수 있다 시피 아주 간단한 첸 수학논리를 사용하는 것을 통해 상규적인 수학 처리와 보완 수학을 포함하여 압축과 압축 해제 및 암호화와 복호화에 있어서 과학과 예술분야에서 이미 거대한 진보를 얻었다. PCT/IB2016/054562에서 공개하고 PCT/IB2016/054732에서 확인한 바와 같이 정보이론에서의 비둘기집원리의 신화를 종결하기 위하여 기타 기술은 필요한 것이고 또 다음과 같이 개시된다.
[54] 이러한 기술을 개시하기 전에 첸 프레임워크는 반드시 진일보로 미조정을 진행해야 한다. 현재까지 첸 프레임워크의 특징은 아래의 구조특징에 있다.
(a)코드유닛(내용코드와 분류 코드를 포함);
(b)처리유닛;
(c)슈퍼 처리유닛;
(d)암호화되지 않은 코드유닛;
(e)(전체 그룹의 숫자 데이터) 일부;
(f)부분적 마스터헤드 또는 각주;
(g)(전체 그룹의 숫자 데이터의) 주요 마스터헤드 또는 각주; 및
(h)첸 파일(첸 코드의 숫자 데이터파일을 포함하고 상기 (a) 내지 (g)의 숫자코드 조합 또는 단독으로 조성).
첸 프레임워크의 모드와 디자인은 그 어떤 상기 구조요소를 위해 선택한 정의인 바, 만약 사용하게 되면 상이한 실시형태에서 적합한 상황에서 조합하여 처리함으로써 인코딩과 디코딩이 본 발명에서 개시한 첸 코딩의 선택된 기술과 대응되는 특정된 숫자 데이터 집합의 목적에 사용된다.
[55] 코드유닛은 첸 프레임워크의 기본유닛이다. 현재까지 이의크기, 즉 코드유닛 크기는 이진 비트수(비트 크기)로 측량되고 상용 이진법 데이터 코더(데이터 코더, 특히 갖고 있는 고유 한 값이 동일한 비트 크기를 가지고 본 발명이 개시하는 첸 프레임워크에서 디자인한 데이터 코더의 특징을 구비하지 않은 데이터 코더)에서 코드유닛이 나타낼 수 있는 최대값 수량(코드내용)은 이로써 코드유닛의 비트 크기의 한정을 받는다. 예하면 코드유닛의 크기가 1 비트만 가지면 그는 단지 두개의 값을 나타내는데 사용될 수 있고 구현예에서는 비트값 0 또는 비트값 1이다. 만약 코드유닛의 비트 크기가 3이면 그는 최대로 8비트값, 즉 000, 001, 010, 011, 100, 101, 110과 111을 나타낼 수 있다. 이는 이진 비트를 사용하여 데이터 값을 나타내는 상용적인 방식이다. 코드유닛은 데이터의 기본유닛으로서 인코더가 데이터 입력 스트림에서 하나씩 판독함으로써 인코딩 목적에 사용된다. 바로 이러한 상용적인 데이터 판독과 표시방식이 정보이론에서의 비둘기집원리의 신화를 만들었는 바, 상세한 내용은 아래 사이트를 참조할 수 있다.
https://en.wikipedia.org/wiki/Pigeonhole_principle
이의 실질적인 내용은 다음과 같이 표달된다.
"수학방면에서 비둘기집원리는, n개의 물품이 m개의 용기에 놓여지고 n>m이면 적어도 하나의 용기는 하나 이상의 물품을 반드시 포함한다고 규정한다".
다시 말하면 만약 하나의 용기가 하나의 물품만 점용하면 용기가 점용한 물품의 수량이 용기 수량의 한정을 받는 바, 즉 점용할 수 있는 물품의 수량이 물품을 점용하기 위한 용기의 수량을 초과할 수 없게 된다. 이는 물품과 용기 사이의 일일이 대응되는 관계이다.
여기서 코드유닛의 용도를 응용하여 인코딩하는데 만약 코드유닛의 비트 크기가 3비트이면 이는 8개의 어드레스만 제공할 수 있고 이로써 이는 최대 8개의 고유값을 나타내는데만 사용될 수 있으며 하나의 시간에 단지 하나의 값만 가진다. 상용방식으로 코드유닛이 갖고 있는 어드레스 수량은 이진 비트 크기로 도량되어 코드유닛의 이진 비트수가 클 수록 코드유닛은 일일이 대응되는 관계로 나타내는 코드내용값의 어드레스가 더 많다. 따라서 코드유닛이 가지는 어드레스수는 2의(코드유닛의 비트 크기(이진 비트수), 즉 코드유닛 크기를 측량하는 이진 비트수)의 제곱이다.
[56] 따라서 현재까지 압축을 진행하기 위한 인코딩은 가능한 것이였는 바, 이는 단지 인코딩 방법이 데이터 분포의 불균일 성질을 가지기 때문이다. 비트 크기를 제공하는 코드유닛, 예하면 3비트의 코드유닛에 대하여 만약 데이터 입력 스트림이 3개의 상이한 고유 코드값, 예하면 000, 001과 100을 가지면 데이터 입력 스트림을 압축할 수 있다. 또는 데이터 이력 스트림에 모든 8개의 상이한 고유 코득값, 즉 000, 001, 010、011, 100, 101, 110과 111을 포함하고 이 8개의 코드값의 빈도 분포가 불균일, 즉 이 8개의 고유 코드값의 빈도가 서로 상이하면 이는 여전히 압축될 수 있다. 통상적으로 데이터 분포의 불균일성이 클 수록 실현 가능한 압축 절약은 더 많다. 무작위 데이터는 숫자 비트0과 1 사이의 비율에서 균일한 경향을 가지고 그 중의 비트0과 비트1은 무작위방식으로 나타난다. 즉 현재까지는 그 어떤 규율성 또는 예측 가능한 모드가 개시되지 않는다. 따라서 오랜 시간동안 무작위 데이터는 압축할 수 없는 것으로 간주되어 정보이론에서의 비둘기집원리의 신화가 발생하였다. 그러나 첸 프레임워크에서는 무작위 분포를 포함한 모든 유형의 숫자 데이터를 분포하는 방식을 설명하므로 무작위 데이터의 더 많은 특징과 규율성을 조사하고 개시하여 개념을 인입하고 슈퍼 처리유닛을 사용하여 데이터 코더와 함께 상이한 비트 크기와 기타 첸 코딩 기술을 사용하는 상황에서 고유 코드유닛 값을 수용하는 바, 예하면 이상 인입 기술과 특히는 숫자 데이터 블랙홀 기술과 첸 프레임워크에서 절대 어드레스 분기 또는 어드레스 다중 분기 기술을 함께 사용하는 상황에서 오랜 시간동안 사람들이 믿고 있었던 이 신화는 까밝혀졌다.
[57]정보이론에서의 비둘기집원리는 매우 정확하지만 오직 그 자체만이 정확하다! 그러나 그의 신화는 무작위 데이터를 압축할 수 없거나 또는 데이터를 반복해서 재압축할 수 없는 이 원리와 관련되는 신화에 존재한다. 따라서 신화를 종결짓기 위하여 하나의 가능한 방법은 무작위 데이터에서 불균일성을 창조하는 것이다. 불균일성을 창조하는 기본기술은 코드유닛을 정의하고 측정하는 방법과 코드유닛을 표현하는데 사용되는 각각의 코드 값을 미조정하는 방식을 통해 진행된다. 따라서 이는 본 발명의 중요한 신규 특징인 바, 첸 프레임워크에 사용되는 코드유닛의 개념을 다시 정의하는 것은 첸 프레임워크, 코드유닛 및 그가 정의하는 아주 기본적인 요소에서 발견한 구조 변화 또는 개선이다. 이로써 무작위 데이터에서 분균일성을 용이하게 창조할 수 있다. 첸 프레임워크의 이러한 구조변화를 효과적으로 이용함으로써 코드유닛이 응당 수용해야 할 값보다 더 많은 어드레스를 제공하는 모드를 용이하게 디자인할 수 있다. 따라서 코드값을 나타낼 수 있는 코드 어드레스의 수량은 주기에서 무작위 데이터 집합을 압축하고 재압축하는 한정 요소가 아니다. 정보이론에서의 비둘기집원리가 빠뜨리고 소홀히 한 것은 숫자 데이터 집합의 빈도 분포 특징이다. 주기에서 무작위 데이터 집합을 압축하고 재압축하기 위하여 사람들은 데이터 집합에 존재하는 코드값의 빈도 분포 성질 및 코드값이 대응되는 비트 길이 두가지 방면을 반드시 유의해야 한다. 이 두개의 문제는 이전에 주기에서 무작위 데이터 집합을 압축하고 재압축하는 인코딩과 디코딩방면의 노력을 패배시켰는 바, 상이한 고유 코드값이 사용 가능한 코드 어드레스의 수량 및 숫자 데이터 집합에 존재하는 상이한 고유 코드값의 빈도 분포와 같은 문제는 아래의 토론에서 일일이 해결할 것이다.
[58]우선 데이터 집합에서의 상이한 고유 코드값이 사용 가능한 코드 어드레스 수량의 문제에 대하여 다시 정의한 코드유닛의 신규 특징이 첸 프레임워크에 인입된 후 적합한 상황에서 코드 프레임워크에서의 코드유닛은 우선 코드유닛이 나타내고 수용하는 상이한 고유 코드값의 최대 수량으로 측량되고 다음 전반적인 코드유닛의 이진 비트수(각 고유 코드값에 영향을 주는 가능한 비트 크기)로 측량되며 또다시 코드유닛이 정의하는 헤드 디자인으로 구별하는데 이는 아래의 단락[62]의 도표14에서 나타난다. 따라서 상이한 고유 코드값의 최대 수량을 제1 또는 주요 요소로 하여 비트수가 아닌 코드유닛을 명명하거나 또는 표시(물론 한번에 하나씩)하도록 코드유닛의 명명방식은 반드시 변화하여야 하므로 코드유닛의 명명을 3비트 코드유닛으로부터 8비트의 코드유닛(또는 Max8코드유닛)으로 변화하도록 지시하고 비트수는 이차적인 요소로서 코드유닛의 크기를 구별한다. 이 또한 코드유닛의 모든 상이한 고유 코드값이 단지 동일한 비트 크기에 의해 표시되는 상용적인 정의를 제외하고 코드유닛의 각 고유 코드값의 비트 크기도 상이할 수 있다. 또한 이 신규 특징은 사람들이 하나의 표준 비트값을 사용하여 모드를 다지인하여 코드유닛의 모든 코드값을 위해 사용되는 것을 방애하지 않고 이 상용적인 정의를 제외하고 그는 상이한 비트값을 사용하여 모드 디자인으로 사용하는 기회를 제공함으로써 코드유닛의 상이한 고유 코드값으로 하여금 상이한 비트값을 사용하도록 한다. 이는 코드유닛의 상이한 고유 코드값이 상이한 비트값 크기를 가진다는 것을 의미하고, 이 외에 그는 비트값 크기에서 코드유닛의 매 하나의 고유 코드값을 위해 동일한 비트수를 제공하도록 허락되는데 이는 인코딩과 디코딩의 특정된 모드와 디자인에서 인코딩과 디코딩 과정에서의 어느 한 시간에 사용한 코드값 정의와 관련 코드유닛 정의에 의해 결정된다. 예하면 8값 코드유닛에 대해 모든 8개의 고유 코드값은 특정된 모드와 디자인에서 동일한 3비트의 비트 크기를 가질 수 있는 바, 예하면 도표11에 나타낸 바와 같다.
도표11
동일한 비트 크기를 가지는 8값 코드유닛의 코드값의 정의
Max8클라스
24비트 그룹
코드값 비트수
000 3
001 3
010 3
011 3
100 3
101 3
110 3
111 3
또는 다른 한 특정된 모드와 디자인에서 코드유닛의 이 8개의 값은 상이한 비트수 크기를 가지는 것으로 다시 정의될 수 있는 바, 도표12에 나타낸 바와 같다.
도표12
상이한 비트수 크기를 가지는 8값 코드유닛의 코드값의 정의
Max8클라스
35비트 그룹
코드값 비트수
0 1
10 2
110 3
1110 4
11110 5
111110 6
1111110 7
1111111 7
[59] 따라서 첸 프레임워크에서의 코드유닛은 현재 다음과 같다: 우선 코드유닛이 수용 또는 표시하는 고유 코드값의 최대 수량을 통해 측정하되, 코드유닛의 이진 비트수는 크기를 측정하기 위한 이차적인 요소로 된다. 따라서 코드유닛의 코드값은 동일한 비트 크기 또는 상이한 비트 크기를 가질 수 있는데 이러한 옵션은 인코딩과 디코딩을 위한 특정 모드와 디자인에서 어떻게 정의되는가에 의해 결정된다. 첸 코딩의 코드 조절 기술을 통해 이러한 코드값 정의 또는 코드유닛 정의도 인코딩과 디코딩 과정에서 필요하고 적합할 때 변화될 수 있다.
[60] 첸 프레임워크에서의 코드유닛 정의와 코드값 정의를 사용하는 이러한 신규 특징을 통해 무작위 데이터를 포함하는 데이터 분포에서 불균일성이 발생하는 기술을 용이하게 디자인할 수 있다. 무작위 데이터의 성질도 연구할 수 있고 코드값 및 이가 특정된 숫자 데이터 입력 스트림에서 발생한 관련 빈도에 근거하여 데이터 분포의 방식을 설명하는 것을 허용함으로써 적합한 기술을 인코딩과 디코딩에 사용하여 압축/압축 해제와 같은 목적을 달성할 수 있다. 임의의 특정된 데이터 집합이 불균일성을 창조하는 기술을 데모하기 전에 여기서 3값 코드유닛에 사용되는 모드와 디자인을 소개함으로써 정보이론에서의 비둘기집원리의 신화를 종결, 즉 코드 어드레스의 수량이 고유 코드값의 수량을 초과하지 않도록 한다. 코드유닛 크기가 비트 크기에 근거하여 측정될 경우 코드 어드레스의 수량은 고유 코드값의 수량, 예하면 1비트 코드유닛, 2비트 코드유닛 등등을 초과하지 않는다. 코드유닛이 디자인되어 수용하는 코드값의 최대 수에 근거하여 코드유닛을 측정할 경우 상황은 이렇지 않다. 이진 비트수에 근거하여 코드유닛을 측정하는 상용 방법은 하나의 한정을 제출하였는 바, 즉 코드유닛이 수용할 수 있는 코드값의 수량은 코드유닛의 이진 비트의 수량에 의해 결정되는데, 예하면 3비트의 코드유닛은 제일 많아 8개의 고유 코드값을 저장할 수 있고 매 하나의 코드값은 딱 3개의 비트를 이용하여 나타낸다. 3개의 코드유닛은 8개를 초과하는 코유 코드값을 수용할 수 없다. 또한 이러한 상용적인 정의를 사용하여 데이터를 판독할 경우 만약 인코더 또는 디코더가 존재하면 인코더 또는 디코더는 모든 8개의 고유 코드값을 판독하는 것을 피하지 못할 수 있는데 이는 인코더 또는 디코더가 단지 3개의 고유 코드값만 판독하지 못할 수 있음을 의미하고 만약 기타 5개의 고유 코드값이 데이터 집합에 존재하면 이를 소홀히 하거나 버릴 수 있다. 이는 상용적인 코드유닛의 정의를 사용함으로써 관련되는 인코더는 항상 동일한 비트 길이 또는 비트 크기의 코드값을 사용하여 데이터 집합을 처리하되 상기 비트 길이 또는 비트 크기는 코드유닛 정의에서 사용되는 비트 크기보다 짧거나 길지 않음을 의미한다. 첸 프레임워크에서는 이러한 한정을 제거한다. 따라서 데이터를 판독하고 해석하는 상용 디자인에서 사용 가능한 코드 어드레스 수량은 코드유닛이 디자인되어 수용하는 코드값의 수량과 완전히 동일하다. 따라서 만약 모든 고유 코드값이 데이터 집합에 나타나게 되면 모든 코드 어드레스는 모두 사용되어 데이터 집합에 존재하는 코드값의 빈도 분포의 불균일성의 기술만을 이용하여 무작위 데이터 집합을 압축할 수 없을 수 있고, 무작위 데이터 집합에 대하여 데이터 집합의 모든 코드값의 이러한 빈도 분포는 균일한 것으로, 즉 전반적인 데이터 집합의 비트0과 비트1 사이의 비율은 1 대 1이며 코드유닛의 모든 코드값의 빈도는 대체적으로 동일하다. 따라서 현재까지 디자인한 선행기술은 데이터 집합에 존재하는 고유 코드값의 수량보다 많은 사용 가능한 코드 어드레스를 제외(모든 고유 코드값도 무작위 데이터 집합에 나타남)하고 무작위 데이터 집합의 코드유닛의 코드값의 빈도 분포의 불균일성을 이용하여 압축하지 않았다. 도표13은 첸 프레임워크에 방금 인입한 신규 특성(즉 코드유닛이 최대 코드값 수량에 의해 측정되고 이진 비트수가 전반적으로 코드유닛의 보조 측정에 사용됨)의 3값 코드유닛, Max3코드유닛을 사용한 디자인을 나타낸다.
도표13
2개의 번전에서 5개 비트의 3값 코드유닛의 코드값을 사용하여 정의하되 하나의 비트가 구비하는 비트0과 비트1의 비율은 2:3이고 다른 하나는 3:2이다.
Max3클라스
5비트 그룹
0헤드 디자인 1헤드 디자인
2:3(비트0:비트1 비율) 3:2(비트0:비트1 비율)
0 1
10 01
11 00
[61] 이 두개의 버전의 3값 코드유닛 정의의 디자인은, 코드유닛을 위해 더 많은 수량의 코드 어드레스를 창조할 수 있고 그가 가질 수 있게 디자인된 상이한 고유 코드값의 수량보다 많아 데이터 집합에서 나타나는 고유값의 수량보다 많은 어드레스를 제공함을 설명한다. 3개의 3값 코드유닛으로 조성된 처리유닛을 사용한 모드가 숫자 데이터 입력 스트림에 대해 인코딩과 디코딩을 진행하여 데이터 압축을 진행하도록 디자인된다고 가정한다. 상기 디자인에서 숫자 데이터 입력 스트림의 코드유닛을 하나씩 판독하고 0 헤드 디자인의 정의를 사용하여 3개의 인접한 코드유닛을 하나의 유닛인 처리유닛으로 암호화(또는 해독하여 다음에 복구)하며; 인코딩 또는 디코딩의 작용은 0헤드 디자인의 코드유닛 정의를 판독기로 3개의 3값 코드유닛을 판독(하나씩 3개를 판독)하고 그 다음 3개의 코드유닛의 코드를 하나의 코드 피스(하나의 처리유닛의 코드)로 하여 다른 한 코드 피스를 이용하여 이에 대해 변화를 진행하는 바, 예하면 1헤드 디자인의 코드유닛 정의를 이용하여 판독기로 암호화 할 경우 이에 대해 인코딩 또는 기입하거나; 또는 1헤드 디자인 코드유닛 정의를 이용하여 암호화된 코드를 판독하고 또 0헤드 디자인 코드유닛 정의를 이용하여 이를 기입하여 디코딩할 경우 이를 원본 코드로 복구하거나; 또는 기타 디자인의 매핑 테이블을 이용하여 인코딩과 디코딩을 진행한다. 여기서 사용한 코드유닛에 3개의 고유의 코드값이 존재하므로 처리유닛은 제일 많아 27개의 고유값(3개의 값에 3개의 코드유닛을 곱하면 27개의 고유값과 같음)을 수용하여 나타내도록 디자인된다. 아래의 수학공식을 사용하여 사용 가능한 어드레스수를 계산할 수 있다.
2의 (코드유닛의 코드값의 평균 비트 크기*처리유닛의 코드유닛수)제곱
따라서 0헤드 디자인을 사용한 3개의 3값 코드유닛이 조성한 처리유닛이 사용 가능한 어드레스 수량은,
2의 (5비트/3값*3유닛)제곱=2의 5제곱=32
27개의 고유값이 사용 가능한 32개의 고유 어드레스가 존재한다. 이는 정보이론에서의 비둘기집원리의 신화를 종결짓는 제1표지이다. 이러한 디자인을 사용함으로써 반드시 나타내야 할 고유값의 수량보다 더 많은 어드레스가 존재할 수 있다. 따라서 사람들은 27개의 상이한 고유값이 사용하는 5비트값을 4비트값 또는 5비트값으로 절감할 수 있다[예하면 절대 어드레스 단일 분기를 사용함으로써 4비트의 값의 범위는 16(비교적 낮은 값의 범위)이고 5비트의 값의 범위는 32(비교적 높은 값의 범위)이며 이 처리유닛의 실제 값의 범위는 27(실제 값의 범위)이므로 27-16=11이고 11개의 값이 반드시 4비트 범위내의 단일 분기에 존재해야 하는 바, 4비트를 이용하는 5값 어드레스와 5비트를 이용하는 22값 어드레스가 존재한다]. 따라서 일부 비트의 절약을 실현하였다. 다른 한 디자인에서는 27개의 고유 어드레스위에 1개 또는 2개 또는 더 많은 어드레스(제일 많아 5개)를 보류하여 진행하고자 하는 특수 처리를 지시하기 위한 특수 어드레스로 사용하도록 한다. 예하면 암호화된 코드에 존재할 경우 28번째 어드레스는 아래의 두개의 처리유닛을 지시하여 제일 마지막 하나의 처리유닛과 동일한 데이터 값을 포함하도록 하여 이로써 동일하게 암호화된 코드를 포함하도록 한다. 이러한 방식으로 그는 데이터를 인코딩과 디코딩하여 압축하는 것과 암호화를 진행하는데 더 많은 영활성을 제공한다. 만약 28개의 어드레스, 즉 27개의 고유값 어드레스와 1개의 특수 처리 어드레스를 사용하면 4개 비트를 사용하는 4개의 어드레스[16-12(단일 분기에 사용하도록 보류)=4] 및 5개 비트를 사용하는 24개의 어드레스[(28-16=12)*2=24]가 존재한다. 잠시 뒤에 증거를 제공하고 어떻게 무작위 데이터 집합을 압축할 것인가를 제공하는 구현예에서 3개의 3값 코드유닛의 처리유닛 및 상응하는 인코딩과 디코딩 과정의 이러한 모드와 디자인의 용도를 설명한다. 현재에는 우선 특정된 데이터 집합에서 불균일성을 창조하는 기술을 토론하면 아래와 같다.
[62]데이터 집합의 비트0과 비트1 사이의 비율을 변화하여 불균일성을 상응하는 데이터 분포에 셋업함으로써 압축의 목적을 진행하는 기술을 이해하고자 아래에서는 상이한 코드값 정의를 가지는 6값 코드유닛의 도표14에서 코드값 정의와 코드유닛 정의의 더 많은 구현예를 표시한다.
도표14a
20비트(Max6클라스20비트 그룹)의 6값 코드유닛의 코드값의 정의: 1개의 다중 분기는 2개의 버전을 구비하고 1개의 버전이 구비하는 비트0과 비트1의 비율은 5:15이며 다른 하나는 15:5이다.
Max6클라스
20비트 그룹
0헤드 디자인 1헤드 디자인
5:15(비트0:비트1 비율) 15:5(비트0:비트1 비율)
0 1
10 01
110 001
1110 0001
11110 00001
11111 00000
도표14b
16비트(Max6클라스16비트 그룹)의 6값 코드유닛의 코드값의 정의: 3쌍의 단일 분기는 2개의 버전을 구비하고 1개의 버전이 구비하는 비트0과 비트1의 비율은 7:9이며 다른 하나는 9:7이다(비대칭 분포).
Max6클라스
16비트 그룹
0헤드 디자인 1헤드 디자인
7:9(비트0:비트1 비율) 9:7(비트0:비트1 비율)
00 11
01 10
100 011
101 010
110 001
111 000
도표14c
16비트(Max6클라스16비트 그룹)의 6값 코드유닛의 코드값의 정의: 2쌍의 비대칭이 없는 단일 분기는 2개의 비대칭이 없는 버전을 구비하고 이러한 버전은 동등한 비트0과 비트1의 비율을 가지며 비트0과 비트1의 비율은 모두8:8이다(비대칭 분포).
Max6클라스
16비트 그룹
2개의 0헤드 디자인 3개의 0헤드 디자인
8:8(비트0:비트1 비율) 8:8(비트0:비트1 비율)
00 000
11 001
010 01
011 10
101 110
100 111
도표14d
17비트(Max6클라스17비트 그룹)의 6값 코드유닛의 코드값의 정의: 1쌍의 단일 분기와 1개의 다중 분기는 2개의 버전을 구비하는데 한 버전이 구비하는 비트0과 비트1의 비율은 6:11이고 다른 하나는 11:6이다(비대칭 분포).
Max6클라스
17비트 그룹
0헤드 디자인 1헤드 디자인
6:11(비트0:비트1 비율) 11:6(비트0:비트1 비율)
00 11
01 10
10 01
110 001
1110 0001
1111 0000
도표14e
18비트(Max6클라스18비트 그룹)의 6값 코드유닛의 코드값의 정의: 1쌍의 단일 분기와 1개의 다중분기는 2개의 버전을 구비하는데 한 버전이 구비하는 비트0과 비트1의 비율은 6:12이고 다른 하는 12:6이다(비대칭 분포).
Max6클라스
18비트 그룹
0헤드 디자인 1헤드 디자인
6:12(비트0:비트1 비율) 12:6(비트0:비트1 비율)
0 1
100 011
101 010
110 001
1110 0001
1111 0000
도표14f
19비트(Max6클라스19비트 그룹)의 6값 코드유닛의 코드값의 정의: 2쌍의 단일 분기는 2개의 버전을 구비하는데 한 버전이 구비하는 비트0과 비트1의 비율은 6:13이고 다른 하는 13:6이다.
Max6클라스
19비트 그룹
0헤드 디자인 1헤드 디자인
6:13(비트0:비트1 비율) 13:6(비트0:비트1 비율)
0 1
10 01
1100 0011
1101 0010
1110 0001
1111 0000
[63] 도표14로부터 알 수 있다 시피 상이한 비트0과 비트1의 비율을 가지는 16비트 내지 20비트를 사용함으로써 6값 코드유닛에 대해 1개 이상의 정의가 존재할 수 있다. 따라서 코드유닛은 주요하게 그가 갖고 있는 고유 데이터 값의 최대 수에 의해 분류될 수 있고 다음 비트 크기의 수량에 의해 분류될 수 있으며 그 다음 0헤드 또는 1헤드의 헤드 디자인의 버전에 의해 분류될 수 있다. 이를 숫자 데이터 집합의 특성 또는 특징의 언어(첸 프레임워크 언어, 본 발명에서 개시한 바와 같이 첸 프레임워크의 구조요소 및 첸 코딩 기술의 특성 또는 특징을 설명하기 위한 용어)를 설명하기 위한 기본유닛으로 사용하는 외에 코드유닛을 정의하는 이러한 모드는 코드유닛을 숫자 데이터를 조작하는 기본유닛으로 사용하도록 허락하는 경우에 아주 큰 영활성을 갖는다. 이는 단지 비트 크기에 근거하여 코드유닛을 정의하는 상용적인 방법과는 다른 바, 상용적인 방법에서는 어느 한 비트 크기의 코드유닛은 1개의 번전의 코드 정의만 가질 수 있는데 여기서 나타내고자 하는 고유값의 최대 수량(예하면 상용적인 방식으로 정의한 3비트의 코드유닛에 대해 8개의 고유값으로 나타내는 바, 사람들은 8가지의 가능한 조합에서의 6개의 고유값만 나타내고 기타 두개의 고유값을 소홀히 하여 그들이 처분되거나 처리되지 않도록 할 수 없는 바, 즉 그들이 사용적인 방식으로 정의한 3비트 코드유닛의 데이터 집합에 출현할 경우 사람들은 6개의 고유값만 처리하고 기타 두개의 고유값을 처리하지 않을 수 없다)은 변화되지 않을 수 있고 헤드 디자인도 변화되지 않을 수 있으며; 첸 프레임워크에서의 코드가 모드를 정의함에 있어서 코드유닛 정의가 수많은 상이한 버전의 정의, 코드유닛의 전체 비트 크기 변화, 코드유닛 값의 비트 크기 변화, 코드유닛이 디자인되어 수용한 고유값의 수량 변화 및 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이다. 따라서 이 두 그룹의 6개의 코드값 사이에서 교차적으로 매핑함으로써 비대칭이 없는 버전의 비트1의 수량을 증가하여 매핑 전환 후의 새로운 데이터 집합의 비트0과 비트1의 비율이 8:8에서 7:9로 전환하도록 할 수 있다. 그러나 일부 시험을 진행한 후 한차례의 인코딩전환을 이용하여 무작위 데이터 집합의 상기 비율의 변화에 사용하는 것은 가능한 것이지만 상대적으로 비교적 작다는 것을 발견할 수 있다. 이는 무작위 데이터 집합에서 찾든 6개의 고유 코드값의 빈도 분포의 성직에 의해 결정된 것이다. 도표15는 2017년 2월 22일에 제출한 PCT출원PCT/IB2016/054732의 자동 프로그램을 작동하여 발생한 결과의 한 구현예(이러한 자동 프로그램이 이미 우선권에 근거하여 본 PCT출원에 편성될 것을 요구하므로 사람들은 상기 PCT출원을 고려하여 그들에 대한 액세스를 획득할 수 있으며 이로써 본 PCT출원에 편성되지 않을 것이다. 그러나 자동 프로그램 라이브러리와 함께 파일을 도와 그의 용도를 토론할 경우 무작위 데이터 집합으로 사용될 경우 압축될 최종 증거의 프로그램을 열거할 수 있어 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자들로 하여금 어떻게 인코딩과 디코딩을 진행하는 데이터 코더를 구성하여 첸 코드와 첸 파일을 형성할 경우 첸 코딩의 방법과 기술을 첸 프레임워크의 실제 실현방식에 사용하여 암호화/복호화와 압축/압축 해제의 목적에 사용할 것인지를 알 수 있도록 함)를 고려하여 80,000개의 무작위 이진 비트를 사용한 것을 다음과 같이 제공하였다.
도표15
비대칭이 없는 버전의 3개의 0헤드 디자인의 6값 코드유닛의 6개의 고유 코드값의 빈도 분포
코드값 빈도
000 3995
001 4019
01 8074
10 7949
110 3980
111 3991
[64] 도표15는 단지 이러한 생성된 하나의 구현예일 뿐이다. 그를 생성하는 자동 프로그램을 한번 작동하게 되면 하나의 이러한 구현예를 생성하게 되는데 매 하나의 구현예는 기타 구현예와 약간의 차이점이 있을 것이다. 그러나 일반적으로 6값 코드유닛의 빈도 분포의 이러한 구현예는 매번 관심을 보이는 6개의 고유 코드값에 대해 대략적으로 동일한 비율을 유지한다. 비대칭이 없는 버전의 코드값과 6값 코드유닛의 3쌍의 단일 분기 버전 사이의 교차 매핑 및 관련 계산은 도표16에 나타낸 바와 같다.
도표16
비대칭이 없는 6개의 코드값과 6값 코드유닛의 3쌍의 단일 분기 버전 사이의 교차 매핑
비대칭이 없음 3쌍의 단일 분기
코드값 빈도 코드값 비트1를 더하거나 덜어냄
000 3995 101 3995*2를 더함=7990개의 비트1
001 4019 100 균등
01 8074 01 균등
10 7949 00 7949개의 비트1을 덜어냄
110 3980 110 균등
111 3991 111 균등
=======
네트: 41개의 비트1을 더함
따라서 알 수 있다 시피 이러한 교차 매핑을 통해 비트1의 수량은 이미 80000개의 총 이진비트에서 41개 비트가 증가하였다. 이는 상대적으로 작은 숫자이다. 그러나 만약 비트1의 이러한 추세를 계속하여 증가하게 되면 데이터 분포는 승수효과에서 비트1로 점점 향하게 된다. 비대칭이 클 수록 실현 가능한 압축 절약은 더 많다. 따라서 더 많은 실험을 시도하여 코드유닛의 상이한 디자인의 코드값 사이의 교차 매핑의 패텅를 요해해야 한다. 이러한 상황에서 비대칭이 없는 버전과 3쌍의 단일 분기 버전은 모드 16개 비트를 사용하고 매핑은 2비트값을 2비트값에, 3비트값을 3비트값에 매핑하는 이러한 방식으로 완성(즉 서로 대응되는 코드유닛 값으 동일한 비트 크기의 인코더를 사용)하므로 비트 사용은 변화가 존재하지 않으나 비트0과 비트1 비율은 약간의 변화만 존재한다. 그리고 모든 상기 버전의 6값 코드유닛의 디자인에 대하여 16비트 내지 20비트를 사용함으로써 매 하나의 비트 크기로 하여금 대부분의 상황에서 확실하게 2개의 대응 버전(즉 0마스터헤드 디자인과 1마스터헤드 디자인)을 갖도록 한다. 따라서 하나의 인코딩 주기로부터 다른 하나의 인코딩 주기까지 이 두개의 버전의 코드값 사이(또는 도표18에서의 한 버전 자체 사이)의 교차 매핑을 이용하여 총적인 비트 사용을 변화하는 것이 아닌 데이터 집합에서의 비트0과 비트1 사이의 비율을 변화하는 목적에 사용된다. 제1 인코딩 주기가 도표16에서 나타내는 16비트의 두개의 버전 사이의 교차매핑을 사용한다고 가정할 경우 다음 한 주기는 20비트 버전을 사용할 수 있고 제3 주기는 18비트 버전을 사용할 수 있으며 이와 같이 유추할 수 있다. 물론 이러한 교차 매핑을 진행하는 과정에서 응당 먼저 코드값을 판독하기 위한 빈도 분포를 찾아내고 제일 적당한 교차 매핑 테이블을 디자인하여 이 2개의 비트값 사이의 비트 비율에 근거하여 특정 비트(비트0 또는 비트1)의 증가하는 추세는 하나의 인코딩 주기로부터 다른 한 인코딩 주기로 유지된다. 이 외에 동일한 비트 크기의 2개의 버전의 코드유닛 디자인 사이의 교차 매핑을 사용하여 이 목적을 달성할 수 있다. 도표 17에 나타낸 바와 같이 1개 버전의 코드유닛 디자인 자체의 교차 매핑을 사용할 수도 있다.
도표17
비대칭이 없는 버전의 6값 코드유닛 자체의 6개의 코드값 사이의 교차 매핑
비대칭이 없음 마찬가지로 비대칭이 없음
코드값 빈도 코드값 비트1를 더하거나 덜어냄
000 3995 110 3995*2를 더함=7990개의 비트1
001 4019 111 4019*2를 더함=8038개의 비트1
01 8074 01 균등
10 7949 10 균등
110 3980 000 3980*2를 덜어냄=7960개의 비트1
111 3991 001 3991*2를 덜어냄=7982개의 비트1
=======
네트: 86개의 비트1을 더함
알 수 있다 시피 임의의 코드유닛 디자인 자체의 코드값 사이의 교차 매핑을 사용하여도 비트0과 비트1 사이의 비율을 변화할 수 있다. 또한 도표17에서 나타낸 이러한 상황에서의 결과는 심지어 도표16에서의 2개 버전의 코드유닛 디자인을 사용하여 변화한 결과보다 더 우수하다.
[65]이 외에 비트0과 비트1의 비율을 한쪽으로 편향하는 목적을 위해 이러한 교차 매핑은 6값 코드유닛 디자인을 사용하여 완성할 수 있을 뿐만 아니라 상이한 인코딩 주기에서 임의의 X값 코드유닛에 대한 코드유닛 디자인을 이용하여 완성할 수도 있다. 예하면 제1 주기는 6값 코드유닛 디자인을 사용하고 다음 주기는 12값 코드유닛 디자인을 사용하는 것 등일 수 있다. 편향하는 추세를 유지하기만 하면 된다. 따라서 데이터 분포 스펙트럼에서의 비트0으로부터 비트1까지의 비율의 임의의 점으로부터 시작하는 임의의 특정된 데이터 집합에 대하여 비트0과 비트1 사이의 비율을 변화할 수 있는 무궁무진한 기회가 존재한다. 또한 이러한 교차 매핑의 모드, 이러한 교차 매핑논리 및 이가 데이터 분포 스펙트럼에서의 비트0으로부터 비트1까지의 비율의 임의의 점으로부터 시작된 데이터 집합이 따르는 경로를 찾고 기록하기만 하면 인코더와 디코더에 임베디드 할 수 있다. 또는 이러한 교차 매핑의 논리와 경로를 지정자로 하여 암호화된 코드의 마스터헤드에 배치함으로써 매 하나의 인코딩 주기에 사용하여 잠시 뒤 디코딩할 경우에 정확하고 손상없이 원본 코드를 복구할 수 있다. 물론 인코더와 디코더에서 코드값을 임베디드하는 교차 매핑의 이러한 논리와 경로는 비트를 진일보로 최소화하여 사용하는데 도움이 되고 인코딩을 압축하는 단계에서 압축하는 목적으로 사용된다. 따라서 총 비트수 수량을 변화하지 않고 사용하는 상황에서 단독적인 동일한 코드유닛 디자인 또는 상이한 코드유닛 디자인을 사용한 코드값의 교차 매핑을 사용함으로써 한차례 또는 여러 차례 데이터 집합에서의 비트0과 비트1 사이의 비율을 변화하여 데이터 분포를 변화하여 하나의 중간 단계로 사용할 수 있어 데이터 집합에서 불균일성을 발생하는 목적으로 사용함으로써 기타 기술을 사용하여 압축하는 인코딩 단계에서 특정된 숫자 데이터 집합의 압축을 가능하도록 하거나 잠시 뒤에 증강하도록 한다. 그리고 특정된 단계 또는 임의의 인코딩 주기에서 데이터 집합의 비트 크기를 변화하는 것은 중요한 일이 아니며 제일 중요한 것은 최종적인 결과이다. 따라서 데이터 분포의 변화 및 읨의의 데이터 집합의 비트수의 사용은 항상 인코딩 단계와 관련된다. 이 계시의 신규 특징은 인코딩이 응당 이러한 방식으로 디자인, 즉 임의의 데이터 집합의 데이터 분포의 변화는 일반적으로 비트0과 비트1의 비율을 변화하는 것에 근거하여 하나의 방향으로 편향됨으로서 데이터 압축의 목적에 사용되는 것이다. 코드유닛 정의는 판독기와 라이터로 사용되여 숫자 데이터 집합의 비트0:비트1의 비율을 변화하는 외에 처리유닛 정의는 단락[115]와 도표55 및 단락[116]과 도표56에 나타난 동일한 목적에 사용될 수도 있다. 이로써 결과는 더 우수하다. 따라서 더 큰 코드유닛 크기 또는 더 큰 처리유닛 크기를 사용함으로써 더 큰 차이점을 생성, 포획하고 발생하는 것을 특정된 데이터 집합의 데이터 분포에서의 불균일성으로 하는 것은 자명한 것이다.
[66]따라서 비트0:비트1의 비율을 대체적으로 한 방향을 따라 편향(적합한 상황에서 어느 한 점에 도달)하도록 함으로써 임의의 데이터 집합의 데이터 분포의 중간 단계를 변화한 후 비트0:비트1의 점에서 이러한 분포된 데이터 집합을 압축하는 기술을 사용하여 숫자 데이터 집합을 압축한다. 따라서 우선 압축을 위한 무작위 데이터 집합을 제공하면 이상의 단락[62] 내지 [64] 또는 아래의 단락[115]와 [116]에서 설명하는 기술을 사용하여 비트0:비트1의 비율을 한 방향을 향해 편향하는 것으로 개변할 수 있고 그 다음 데이터 분포에 근거하여 코드값의 교차 매핑 기술을 이용하여 압축하며 현재 사용하는 것과 같은 구현에에서는 이번에 동일한 값 크기이지만 상이한 비트 크기인 코그유닛의 코드값의 교차 매핑: 상이한 비트 크기위 6값 코드유닛, 예하면 20비트 크기의 6값 코드유닛(또는 적합한 상황에서 임의의 기타 비트 크기)을 사용하여 데이터 집합을 판독하고 이러한 코드값과 19비트 크기(또는 적합한 상황에서 임의의 기타 비트 크기)의 6값 코드유닛의 이러한 코드값을 쿄차 매핑하여 인코딩의 목적에 사용하며 이는 처리 중의 데이터 집합의 코드값의 빈도 분포에 의해 결정된다. 간단히 말하면 코드값의 교차 매핑을 진행할 경우 비트0:비트1의 비율에 근거하여 데이터 분포를 변화하기 위하여 일일이 대응되는 관계에 의해 동일한 비트값 크기의 데이터 값에 매핑되는 코드 어드레스의 동일한 X값 코드유닛을 사용; 그러나 데이터 압축을 진행하여 비트 사용을 절감하기 위하여 동일한 X값의 코드유닛을 사용하도록 전환해야 하고 그들은 일일이 대응되게 매핑되는 관계를 구비하지만 데이터 값은 상이한 비트값 크기를 가진다. 그러나 이는 상이한 코드값 크기를 가지는 코드유닛으로 비트수의 사용 및 일회적으로 비트0과 비트1의 비율을 변화하는 한가지 형식을 배제하지 않는다. 이는 마찬가지로 처리유닛을 이 목적에 사용하는 것에 적용된다.
[67] 따라서 이상의 내용으로부터 알 수 있다 시피 수정을 거친 첸 프레임워크에서 코드유닛 크기는 현재 코드값의 수량 및 도표14에서 제공하는 상이한 비트 크기를 가지는 6값 코드값의 구현예에서 나타내는 이진 비트의 수량에 의해 측량되고 데이터 집합의 기타 특징, 예하면 일정한 수량의 값과 일정한 비트 크기를 가지는 임의의 코드유닛이 정의하는 코드유닛의 고유 코드값의 비트0과 비트1의 비율에 사용되는 빈도 분포를 연구하고 발견할 수 있다. 이는 임의의 숫자 데이터 집합 및 임의의 목적을 위하여 적당한 인코딩과 디코딩 기술을 사용하는데 도움이 되며 데이터 암호화와 데이터 압축 및 원시적인 숫자 데이터의 정확하고 손상이 없는 복구를 진행하는 목적을 포함한다.
[68] 코드유닛 크기의 정의의 변화에 따라 코드유닛은 코드유닛이 디자인되어 수용하는 코드의 수량과 코드유닛을 하나의 전체적인 이진 비트로 사용하는 수량에 근거하여 측정되고 처리유닛(인코딩 또는 하나의 암호화된 코드 피스를 기입하기 위한 유닛)은 1개의 코드유닛으로 조성되는 바, 도표14에 나타낸 바와 같이 동일한 코드값 수량을 가지는 코드유닛은 매 하나의 코드값과 코드유닛에 대해 전반적으로 상이한 비트 크기를 가지도록 디자인된다. 따라서 코드유닛, 즉 기본 판독유닛은 기타 판독유닛과 조합하여 처리유닛, 즉 기본적인 기입/판독유닛을 형성할 필요가 없이 그 자체가 단독으로 사용되어 인코딩 과정에서 암호화된 코드를 기입하고 디코딩과정에서 다시 판독하는데 사용될 수 있다.
[69] 무작위 데이터는 장기적으로 압축이 불가능한 것으로 식별되어왔다. 지금은 상술한 첸 프레임워크를 이용하여 데이터 집합에서의 비트0과 비트1의 비율을 변화하는 것을 사용하기에 적당한 시기이며 개시하고자 하는 기타 기술은 다음과 같다.
[70] 이러한 기타 기술은 첸 프레임워크에서의 첸 코딩에서 사용하는 코딩기술로 분류될 수 있다. 코드유닛의 특성 또는 특징(하나이든 조합이든 관계 없음)을 식별하고 조합하여 첸 코드의 분류 코드를 발생하는 것이 바로 이러한 기술인 바 예하면 코드유닛의 랭크와 자리를 이용하여 RP코드를 발생하거나 또는 코드유닛의 코드값(하나 또는 조합)을 설명하는 수학공식을 사용하고 인코딩과 디코딩의 목적에 더 사용되는 바, 예하면 첸 코드의 내용값 코드인 CV서브 피스를 창조하는데 사용된다. 따라서 첸 프레임워크에서 첸 코드의 기본적인 부분(코드유닛의 특성 또는 특징을 설명하는 부분)은 분류 코드와 내용값 코드(또는 내용코드라고 약칭함)로 분류될 수 있다. 첸 코드에 속하는 것으로 간주되는 기타 부분은 기타 식별코드 또는 지정자(예하면 첸 코드파일에서의 메인 마스터헤드 또는 숫자 데이터파일의 일부 부분적 마스터헤드에 포함됨)를 포함하고 상기 식별코드 또는 지정자는 인코딩과 디코딩을 위한 첸 코드의 기본부분의 교차 매핑 테이블(매핑 테이블 지정자), 특정된 숫자 데이터에 대해 입력한 인코딩과 디코딩을 진행하는 주기수(주기 지정자의 수량), 첸 코드파일에 대해 계산한 검사 합계(검사 합계 지정자), 임의의 특정된 인코딩과 디코딩 주기에 사용되는 숫자 데이터의 암호화되지 않은 코드유닛(만약 존재하면) 및 적당하고 필요한 상황에서 첸 코드를 표시 및 인코딩과 디코딩을 진행하는 목적으로 디자이너가 디자인한 기타 지정자를 표시하기 위한 것이다. 예하면 하나의 이러한 지정자는 인코딩과 디코딩을 위한 슈퍼 처리유닛의 처리유닛의 수량을 구성할 수 있고; 기타는 적합하고 필요한 상황에서 빈도를 통해 첸 코드의 분류 코드의 지정자를 조절하고 빈도를 통해 첸 코드의 내용코드의 지정자를 조절(즉분류 코드와 내용코드를 사용하는 0헤드 또는 1헤드를 적합한 상황에서 처리 중의 데이터 집합의 비트0:비트1 비율의 모드에서의 빈도 지정자로 디자인 하고 빈도 지정자로 약칭함)할 수 있다. 슈퍼 처리유닛의 개념과 사용방법 및 빈도를 통한 첸 코드의 조절도 잠시 뒤에 개시한다.
[71]상기 토론에서 이미 여러 곳에서 첸 코드에 사용된 한가지 기본기능, 즉 절대 어드레스 분기를 토론하였다. 상기 기술이 어떻게 무작위 데이터 집합을 압축하는지, 즉 전반 무작위 데이터 집합의 비트 저장 사용을 절감하는지에 대해 상세히 설명할 필요가 있다. 코드 어드레스의 수량과 코드값의 수량 사이의 관계의 문제를 토론할 경우 단락[60]과 [61]에서 이러한 사용방법을 간단히 소개하였다. 여러분의 기억을 재생하기 위하여 상기 토론에서는 3개의 3값 코드유닛으로 조성된 처리유닛은 코드 어드레스의 수량이 인코딩과 디코딩을 위한 처리유닛이 디자인되어 수용하는 코드값의 수량보다 많을 수 있다는 것을 개시하도록 한다. 이는 코드유닛의 새로운 정의에 의해 실현되어 코드유닛의 크기를 코드유닛이 수용한 코드값의 수량과 코드유닛의 상이한 고유 코드값의 비트수 및 전반 코드유닛의 비트수에 의해 측량되도록 할 수 있다. 이러한 특징은 도표14에 나타낸 바와 같이 6값 코드유닛의 상이한 디자인과 정의를 사용한다. 또한 절대 어드레스 분기 기술을 사용하므로 이러한 특징을 실현할 수도 있다.
[72] 상기 토론에서는 처리유닛의 27개의 고유 코드값이 어떻게 코드 어드레스로 나타내고 일부 예비 어드레스를 특수 처리 어드레스로 하여 인코딩과 디코딩을 진행하는 목적에 사용하는 것을 건단히 소개하였다. 예하면 하나의 다자인에서 27개의 고유 코드값은 5개의 4비트 기본 어드레스와 22개의 5비트 단일 분기 어드레서로 나타낼 수 있다. 따라서 아래의 구현예는 코드값이 어떻게 코드 어드레스로 교차 매핑되는지를 설명하였다.
[73] 도표18
27개 값의 절대 어드레스 분기를 분류하는 코드표(CAABCT)
실시예I
분류PU 첸 코드에서의 비트 표시, 클라스비트, 정상비트와 분기비트를 포함
서열 클라스(클라스비트 정상비트 분기비트) 비트 크기
번호 번호(첸 코드)
1 0 0 000 4
2 0 0 001 4
3 0 0 010 4
4 0 0 011 4
5 0 0 100 4
6 0 0 101 0 5
7 0 0 101 1 5
8 0 0 110 0 5
9 0 0 110 1 5
10 0 0 111 0 5
11 0 0 111 1 5
12 1 1 000 0 5
13 1 1 000 1 5
14 1 1 001 0 5
15 1 1 001 1 5
16 1 1 010 0 5
17 1 1 010 1 5
18 1 1 011 0 5
19 1 1 011 1 5
20 1 1 100 0 5
21 1 1 100 1 5
22 1 1 101 0 5
23 1 1 101 1 5
24 1 1 110 0 5
25 1 1 110 1 5
26 1 1 111 0 5
27 1 1 111 1 5
합계: 130비트
이상의 절대 어드레스 분기를 분류하는 코드표(CAABCT)를 사용한 실시예I를 통해 처리유닛의 3개의 3값 코드유닛의 27개의 코드값은 첸 코드에 하나씩 교차 매핑될 수 있고 클라스비트(분류 코드) 및 정상비트와 분기비트(내용코드)를 포함한다. 그러나 CAABCT를 사용하는 이 버전의 실시예I를 통해 무작위 데이터의 빈도 분포로 인하여 무작위 데이터 집합을 압축할 수 없을 수 있다. 그러나 이는 숫자 데이터 집합을 압축할 수 있는데 상기 숫자 데이터 집합의 모든 27개의 고유 코드값의 빈도는 대체적으로 동일하거나 또는 대체적으로 균일하게 모든 27개의 고유 코드값에 존재한다(예하면 만약 특정된 데이터 집합에서의 모든 27개의 고유 코드값의 빈도가 1이면 모든 27개의 고유 코드값은 아래 도표20에 나타낸 바와 같이 함께 총 135개의 비트를 사용하고 만약 그가 이상의 도표18에서의 도합 130개의 비트만 사용하는 코드 어드레스와 교차 매핑되면 응당 9개의 비트 압축이 절약된다). 따라서 중요한 코드 어드레스의 수량뿐만 아니라 고유 코드값의 빈도 분포도 무작위 데이터 집합을 압축하는 시도에서 다른 한 장애가 존재하는 바, 아래에는 상기 문제를 해결하고자 한다.
[74] 도표19에 나타낸 3값 코드유닛의 정의의 성질로 인하여 코드유닛의 비트0:비트1의 비율은 2:3이고 3개의 3값 코드유닛의 처리유닛의 27개의 코드값의 빈도 분포는 균일한 분포가 아니며 이는 도표20에 나타낸 바와 같다.
도표19
3값 코드유닛 정의: 0헤드 디자인
여기서 비트0:비트1 비율=2:3
코드값 번호 코드값 코드
1 0
2 10
3 11
도표20
3개의 3값 코드유닛으로 조성된 처리유닛의 도표19에서의 코드유닛이 정의하는 80,000비트의 무작위 데이터 집합이 판독한 27개의 고유 코드값의 분류하지 않은 빈도 분포의 구현예
처리유닛 코드값 사용한 비트 빈도
코드(분류하지 않음)
분류하지 않음
서열번호 코드유닛1 코드유닛2 코드유닛3
1 0 0 0 3 2155
2 0 0 10 4 1101
3 0 0 11 4 1154
4 0 10 0 4 1078
5 0 10 10 5 587
6 0 10 11 5 506
7 0 11 0 4 1132
8 0 11 10 5 558
9 0 11 11 5 605
10 10 0 0 4 1074
11 10 0 10 5 574
12 10 0 11 5 566
13 10 10 0 5 552
14 10 10 10 6 279
15 10 10 11 6 290
16 10 11 0 5 564
17 10 11 10 6 263
18 10 11 11 6 292
19 11 0 0 4 1143
20 11 0 10 5 566
21 11 0 11 5 530
22 11 10 0 5 563
23 11 10 10 6 304
24 11 10 11 6 253
25 11 11 0 5 527
26 11 11 10 6 277
27 11 11 11 6 262
합계: 135비트
[75] 다른 한 자동 프로그램을 통해 도표20에서의 빈도 숫자를 생성하고 도표21에서 결과를 나열한다.
도표21
도표20의 프로그램을 생성하여 발생한 다른 한 결과
0-0-0 : 2273
0-0-10 : 1175
0-0-11 : 1149
0-10-0 : 1123
0-10-10 : 531
0-10-11 : 593
0-11-0 : 1060
0-11-10 : 548
0-11-11 : 542
10-0-0 : 1045
10-0-10 : 542
10-0-11 : 576
10-10-0 : 551
10-10-10 : 276
10-10-11 : 288
10-11-0 : 559
10-11-10 : 266
10-11-11 : 294
11-0-0 : 1072
11-0-10 : 508
11-0-11 : 561
11-10-0 : 540
11-10-10 : 277
11-10-11 : 279
11-11-0 : 591
11-11-10 : 262
11-11-11 : 304
빈도: 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개의 고유 코드값의 분류는 아래 단락[78]에서의 도표23에서 나열)하며 절대 어드레스 분기를 분류하는 코드표(CAABCT)에서 찾아낸 27개의 고유 코드는 단락[73]의 도표18에서 나열한 실시예I에서 사용한 27개의 값에 사용된다. 도표21에서의 표2a의 크기는 다른 한 CAABCT의 교차 매핑을 사용한 결과로서 아래 도표22에서의 실시예II에서 발견한 바와 같다.
도표22
27개 값의 절대 어드레스 분기를 분류하는 코드표(CAABCT)
실시예II
분류PU 첸 코드에서의 비트 표시, 클라스비트, 정상비트와 분기비트를 포함
서열 클라스(클라스비트 정상비트 분기비트) 비트 크기
번호 번호(첸 코드)
1 0 0 00 3
2 0 0 01 0 4
3 0 0 01 1 4
4 0 0 10 0 4
5 0 0 10 1 4
6 0 0 11 0 4
7 0 0 11 1 4
8 1 1 0000 5
9 1 1 0001 5
10 1 1 0010 5
11 1 1 0011 5
12 1 1 0100 5
13 1 1 0101 5
14 1 1 0110 5
15 1 1 0111 5
16 1 1 1000 5
17 1 1 1001 5
18 1 1 1010 5
19 1 1 1011 5
20 1 1 1100 0 6
21 1 1 1100 1 6
22 1 1 1101 0 6
23 1 1 1101 1 6
24 1 1 1110 0 6
25 1 1 1110 1 6
26 1 1 1111 0 6
27 1 1 1111 1 6
합계: 135비트
알 수 있다 시피 이상의 실시예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개의 비트(매 하나의 표 콘를 한번 계산)를 사용하고 실시예I에서의 CAABCT에서는 단지 130개의 비트만 사용한다. 그러나 무작위 데이터 집합에서의 27개의 고유 코드값의 불균일 빈도 분포(이러한 불균일은 판독하는 과정에서 표준적이고 일치한 비트 크기에 대한 코드유닛이 아닌 3값 코드유닛의 0헤드 디자인을 사용하여 채택한 매 하나의 값이 디자인한 표준적이고 동일한 비트 크기를 통해 데이터를 판독한 사용방식으로 판독하기 때문이다)로 인하여 실시예I에서의 CAABCT(130개의 비트를 사용하여 그의 27개의 고유 테이블 코드가 매번마다 계산한 균일한 빈도 분포)는 8,0001개 비트의 원시적인 무작위 데이터 집합을 인코딩 할 경우 비트 사용에 있어서 실시예에서의 CAABCT가 사용하는 것보다 더 많은(135개의 비트를 사용하여 그의 27개의 고유 테이블 코드가 매번마다 계산한 균일한 빈도 분포) 비트를 사용함으로써 도표23에 나타낸 바와 같이 8,1989개 비트를 사용하는데 이는 압축이 아닌 확장이다. 표2a 내지 표3의 결과(단락[85] 내지 [93]과 도표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개의 고유 코드값을 인코딩 할 경우 비트 사용에서의 임의의 절약 또는 압축을 실현할 수 있다. 따라서 무작위 데이터 집합을 압축하기 위하여 반드시 기타 기술을 디자인하고 개발 사용하여 이러한 목적에 도달해야 한다. 아래에 개시하고자 하는 것은 이러한 디자인이 슈퍼 처리유닛 및 전문적으로 디자인한 코드표를 이용하여 매핑 또는 인코딩 하는 것이다.
[76] 슈퍼 처리유닛을 사용하는 개념은 사실상 무작위 데이터 집합이 수많은 불균일한 데이터 서브 섹션으로 조성되어 있다고 생각할 수 있고 또 무작위 데이터 집합은 데이터 코드값으 빈도 분포 성질로 인해 압축될 수 없다는 사실에서 비롯되므로 무작위 데이터의 전반 숫자 데이터 입력 파일을 불균일한 데이터의 서브 섹션으로 나누되 상기 서브 섹션은 여기서 슈퍼 처리유닛으로 지칭되어 이러한 단독적인 슈퍼 처리유닛으로 하여금 하나씩 불균일 데이터를 이용하여 분포하도록 함으로써 압축 가능한 기술이 되도록 하여 무작위 분포에 대한 전반 숫자 데이터 입력을 압축할 수 있도록 한다. 이는 분할 정복 전략이다.
[77] 따라서 전반 숫자 데이터 입력 파일은 대형의 처리유닛으로 간주될 수 있는데 상기 처리유닛은 임의의 극단에서 무작위 또는 완전 불균일한 데이터 분포 스펙트럼의 어느 한 점으로부터의 숫자 데이터의 모든 처리유닛을 포함한다. 압축과학분야에서는 단지 데이터 집합의 뷸균일 특성을 이용하여 압축기술을 실현할 수 있다. 또한 현재까지 무작위 할달된 데이터 집합은 압축이 불가능한 것으로 간주된다. 따라서 전반적인 무작위 데이터의 처리유닛으로 조성된 하나의 대형 처리유닛은 일정한 수량의 처리유닛으로 조성된 서브 섹션으로 분할될 수 있고 상기 서브 섹션은 슈퍼 처리유닛으로 불릴수 있으며 기술로 하여금 이러한 데이터 서브 섹션을 압축하도록 디자인될 수 있다. 따라서 대형 처리유닛은 전체유닛으로 정의되고 전체유닛은 인코딩과 디코딩하는 모든 데이터 코드를 포함하므로 암호화되지 않은 코드유닛을 배제하며 상기 코드유닛은 인코딩과 디코딩과정을 거치지 않은 데이터 코드로 조성되는 바, 예하면 적합한 상황에서 하나의 처리유닛 또는 하나의 슈퍼 처리유닛의 크기에 도달하지 않았기 때문이다. 어떠한 목적에 의하여 대형 처리유닛을 인코딩과 디코딩을 위한 다수의 슈퍼 처리유닛으로 분류할 수 있는 바, 예하면 이러한 구분 또는 기타 목적을 통해 무작위 데이터를 압축한다. 슈퍼 처리유닛에 사용되는 데이터의 인코딩과 디코딩은 처리유닛에 대해 진행한 인코딩과 디코딩에 사용되는 인코딩과 디코딩 기술 또는 과정을 통해 일부 조절된다. 따라서 슈퍼 처리유닛은 하나 또는 다수의 처리유닛으로 조성된 데이터유닛이다. 처리유닛에 대해 진행한 인코딩과 디코딩은 일부 코딩 조절을 거치게 된다.
[78] 슈퍼 처리유닛이 어떻게 무작위 데이터를 압축하는 목적을 이해하기 위하여 도표20에서의 0헤드 디자인의 3개의 3값 코드유닛으로 조성된 처리유닛의 27개의 고유 코드값은 우선 아래 도표23에서 분류되고 나열된다.
도표23
도표19에서의 코드유닛을 사용하여 정의한 80,000비트의 무작위 데이터 집합에서 3개의 3값 코드유닛으로 조성된 처리유닛의 27개의 고유 코드값의 분류/미분류 빈도 분포를 판독하는 구현예
처리유닛 코드값 사용한 비트 빈도
코드(분류/미분류)
분류/미분류
서열번호 코드유닛1 코드유닛2 코드유닛3
1/1 0 0 0 3 2155
2/3 0 0 11 4 1154
3/19 11 0 0 4 1143
4/7 0 11 0 4 1132
5/2 0 0 10 4 1101
6/4 0 10 0 4 1078
7/10 10 0 0 4 1074
8/9 0 11 11 5 605
9/5 0 10 10 5 587
10/11 10 0 10 5 574
11/12 10 0 11 5 566
12/20 11 0 10 5 566
13/16 10 11 0 5 564
14/22 11 10 0 5 563
15/8 0 11 10 5 558
16/13 10 10 0 5 552
17/21 11 0 11 5 530
18/25 11 11 0 5 527
19/6 0 10 11 5 506
20/23 11 10 10 6 304
21/18 10 11 11 6 292
22/15 10 10 11 6 290
23/14 10 10 10 6 279
24/26 11 11 10 6 277
25/17 10 11 10 6 263
26/27 11 11 11 6 262
27/24 11 10 11 6 253
합계: 135비트
응당 유의해야 할 것은, 이상의 도표23에서의 27개의 고유 코드값의 분류 정렬값은 비트의 사용에 근거하여 4그룹으로 분류될 수 있는데 그룹1의 1개의 코드값은 3비트이고 그룹2의 6개의 코드값은 4비트이며 그룹3의 12개의 코드값은 5비트이고 그룹4의 8개의 코드값은 6비트이다. 수시로 발생한 무작위 데이터의 빈도 분포가 약간씩 변화되므로 특정된 그룹 내의 매 하나의 코드값의 랭크는 무작위 데이터 집합의 상이함으로 인하여 약간씩 변화될 수 있다, 그러나 하나의 무작위 데이터의 구현예와 다른 한 구현예 사이의 빈도에 있어서 코드값은 하나의 그룹에서 다른 한 그룹으로 이동하지 않는다. 만약 그?의 변화가 이토록 크게 되면 데이터 분포는 근본적으로 무작위가 아닐 것이다.
[79] 무작위 데이터가 이런 유사한 데이터 코드값의 빈도 분포를 가지므로 상이한 버전의 CAABCT를 디자인하여 그들과 교차 매핑될 수 있고 이러한 CAABCT를 사용하여 인코딩 한 후의 비트 사용 결과는 이미 도표21에 언급되고 나타났다. CAABCT의 테이블 코드와 어떠한 데이터 분포를 처리하기 위한 특정된 데이터 집합의 첸 프레임워크에서의 처리유닛과 코드유닛의 특정 모드와 디자인의 데이터 코드?의 교차 매핑에 대하여 관심을 보이는 27개의 고유 코드값의 데이터 코드값의 빈도 랭크는 무작위 데이터 집합의 코드값과 상이할 수 있다. 따라서 이 27개의 고유 코드값 빈도의 순서를 반드시 알고 있으므로써 CAABCT의 테이블 코드와 27개의 고유 코드값의 교차 매핑을 설계하여 압축의 가장 적당한 결과를 시도하도록 할 수 있다. 따라서 응당 관심을 가지는 데이터 집합을 우선적으로 분석하여 고유 코드값 빈도의 이러한 순서를 획득하고 이러한 정보로 하여금 인코더와 디코더에 사용되어 처리하도록 하여야 한다. 이러한 정보는 하나의 데이터 집합으로부터 다른 한 데이터 집합으로 변화하므로 이를 암호화된 코드의 마스터헤드에 포함시켜 잠시 뒤 디코더에 제공함으로써 원시적인 데이터 집합을 정확하게 복구하도록 할 수 있다. 무작위 분포에서의 데이터 집합 및 인코딩과 디코딩의 데이터 코드값과 테이블 코드값의 교차 매핑의 분포에 대하여 마찬가지로 이렇게 진행한다. 그러나 무작위 데이터 집합의 그룹 내의 코드값의 빈도 랭크의 약간의 변화가 수락될 수 있는 것으로 간주되면 마스터헤드에서 이러한 정보를 생략한다. 그러나 CAABCT를 처리하기 위한 지정자(또는 전반적인 CAABCT의 내용)는 여전히 마스테헤드에 보류되거나 또는 적합한 상황에서 인코더와 디코더에 사용되거나 구성될 수 있다. 여기서 CAABCT를 사용하는 것은 AAB기술이 0헤드 디자인을 사용하는 3개의 3값 코드유닛을 이용하여 처리유닛의 27개의 고유 코드값을 위하 매핑 코드표를 디자인하기 때문이다. 따라서 AAB기술을 사용하지 않는 기타 매핑 코드표도 적합한 상황에서 사용되도록 디자인될 수 있다. 따라서 본 토론에서 CAABCT를 사용하는 상황을 언급하는 바, 매핑 코드표가 통상적으로 인코딩과 디코딩에서의 용도에도 적용된다.
[80] 이하 CAABCT가 어떻게 인코딩에서의 슈퍼 처리유닛을 사용하여 무작위 데이터 집합을 압축하는가 하는 것을 본다. 슈퍼 처리유닛의 용도는 무작위 데이터 집합을 데이터의 서브 섹션으로 분할하기 위한 것이므로 슈퍼 처리유닛은 데이터 분포를 가지도록 디자인되고 상기 데이터 분포와 무작위 데이터 집합은 상이하여 불균일 데이터를 압축하는 기술을 이용하여 압축을 진행할 수 있다. 예하면 풀 세트의 처리유닛(구현예에서는 27개의 고유의 데이터 값 항목)과 동일하거나 또는 더 적은 수량의 처리유닛을 가지는 처리유닛의 슈퍼 처리유닛은 불균일한 데이터 분포를 구비하도록 담보된다. 그러나 이는 모든 불균일한 데이터 서브 섹션이 모두 압추할 수 있다는 것을 의미하지 않는다. 이는 어느 한 데이터 분포를 압축하는 데이터에서 유용한 임의의 압축기술 또는 매핑 코드표는 다른 한 상이한 데이터 분포의 데이터에 적합하지 않을 수 있기 때문이다. 이는 한가지 압축기술보다 많거나 하나의 매핑 코드표보다 많은 것으로 상이한 데이터 분포의 슈퍼 처리유닛을 압축한다.
[81] 무작위 데이터 집합을 슈퍼 처리유닛 형식의 데이터 서브 섹션으로 분류하는 이러한 방법과 기술에서 처음으로 슈퍼 처리유닛을 두개의 그룹으로 분류하는 시도를 진행하였는데 하나의 CAABCT를 인코딩과 디코딩 그룹의 슈퍼 처리유닛의 처리유닛으로 사용하고 다른 한 CAABCT를 인코딩과 디코딩의 다른 한 그룹의 수퍼 처리유닛의 처리유닛으로 사용한다. 이러한 방식으로 어느 한 CAABCT가 두개의 그룹에서의 어느 한 그룹의 1비트 지정자로 사용되는것은 반드시 하나의 슈퍼 처리유닛에 응용되어야 하는 것이다. 따라서 이러한 방법을 사용하여 압축하는 것은 반드시 별도의 비트 사용이 발생한다. 또한 매 하나의 슈퍼 처리유닛의 CAABCT 비트 지정자 및 기타 부가적인 정보(예하면 마스터헤드에 포함되는 것들)를 사용하여 반드시 초래하는 비트 사용과 비교하면 관련 CAABCT를 사용하여 압축함으로써 실현하는 인코딩은 응당 더 많은 비트 사용의 절약을 초래할 수 있다. 이는 미래에 아주 큰 도전성을 가지는 임무이다.
[82] 현재까지 이 목적에 사용되도록 제의하는 기술은:
(a) 슈퍼 처리유닛을 사용;
(b) 슈퍼 처리유닛을 본 명세서의 이러한 상황에서 우선 두 그룹으로 분류하고; 및
(c) CAABCT(이러한 상황은 두개)를 (두 그룹의 슈퍼 처리유닛 그룹의) 고유 데이터 코드값과 고유테이블 코드값 사이의 교차 매핑에 사용하고 CAABCT 지정자를 사용.
슈퍼 처리유닛의 크기는 사용 및 어떻게 슈퍼 처리유닛을 그루핑하거나 분류하고 어떠한 CAABCT를 사용할 것인지를 제공하는 것은 문제의 소재이다.
[83] 이러한 문제의 답안은 반드시 도표23에서 토론하는 상기 상황에서 사용하는 구현예에서 찾아야 하는 바, 여기서 처리유닛은 0헤드 디자인의 3개의 3값 코드유닛을 포함하도록 디자인되므로 약 80000개의 비트의 무작위 데이터 집합에 대해 빈도 랭크로 분류한 27개의 고유 코드값을 구비한다. 도표21은 단락[73] 내지 [75]에서 토론한 두개의 CAABCT가 무작위 데이터 집합의 압축을 가능하도록 하지 못할 수 있다는 것을 나타낸다. 이는 인코딩을 진행하도록 무작위 데이터 집합을 슈퍼 처리유닛으로 분류하여 이 상황의 해결방안으로 사용하도록 제의된다. 따라서 반드시 이 방식으로 슈퍼 처리유닛을 구분하는데 그 방식은 반드시 그들 중의 매 하나가 모두 무작위 데이터 분포를 갖지 않도록 한다. 따라서 고정비트 크기 또는 고정범위의 비트 크기 또는 고정수량의 처리유닛을 가지는 슈퍼 처리유닛을 사용할 수 있고 상기 슈퍼 처리유닛은 매 하나의 슈퍼 처리유닛 내의 데이터 분포가 무작위가 아님을 확보한다. 따라서 단락[73] 내지 [75]의 토론에서 표명하다 시피 27개 또는 더 적은 처리유닛으로 조성된 슈퍼 처리유닛은 응당 상기 표준을 만족시킨다고 확정하는데 이는 27개의 고유 코드값(만약 모두 존재하거나 존재하지 않으면)이 상용 의미에서 사용하는 고정비트 값 크기를 사용하여 디자인한 코드유닛의 무작위 데이터 집합을 구성하지 않기 때문이다. 상용 의미에서 고정비트 값 크기를 사용하여 디자인한 코드유닛의 무작위 데이터 집합이 0헤드 디자인의 3개의 3값 코드유닛으로 조성된 처리유닛의 모드와 디자인을 사용하여 판독할 때 도표18에 나타낸 27개의 고유값에서의 매 하나의 빈도 분포 특징을 나타내는 것이 아니라 도표23에 나타나는 특유의 데이터 빈도 분포 특징을 나타낸다. 고정 크기의 슈퍼 처리유닛을 사용하는 것은 구분을 실현하기 위한 한가지 방법이다. 따라서 잠시 슈퍼 처리유닛의 크기를 27개의 처리유닛으로 정하도록 고려한다.
[84] 여기서 27개의 처리유닛 크기를 가지는 슈퍼 처리유닛은 매 하나의 독특한 27개의 코드값으로 하여금 이렇게 구분한 매 하나의 슈퍼 처리유닛에 존재하도록 담보하지 않는다. 이러한 슈퍼 처리유닛에서 매 하나마다 상이한 데이터 분포를 가질 수 있는데 일부는 27개의 고유 코드값에 존재하고 일부는 일부 독특한 코드값을 결여하며 기타 고유 코드값은 한번만 나타나는 것이 아니고 이들은 모두 상이한 방식으로 존재한다. 따라서 설명의 편리를 위하여 여기의 구현예는 이러한 상이한 데이터 모드를 두 그룹으로 분류하여 인코딩과 디코딩에 사용한다. 도표23에서의 80000비트의 무작위 데이터 집합의 비트 사용과 빈도 분포의 통계값은 도표24에서 완전하게 하고 아래에 나타낸 바와 같다.
도표24
3개의 3값 코드유닛으로 조성된 처리유닛이 도표19에서의 코드유닛이 정의하는 80,003비트의 무작위 데이터 집합으로부터 판독한 27개의 고유 코드값의 통계값의 구현예
처리유닛
분류 코드 카테고리
번호 코드 사용한 비트 빈도 빈도% 빈도%
값 (~) (~)
카테고리 1 12.1
1 000 3 2155 12.1
카테고리 2 37.6
2 0011 4 1154 6.5
3 1100 4 1143 6.4
4 0110 4 1132 6.4
5 0010 4 1101 6.2
6 0100 4 1078 6.1
7 1000 4 1074 6.0
카테고리 3 37.7
8 01111 5 605 3.4
9 01010 5 587 3.3
10 10010 5 574 3.2
11 10011 5 566 3.2
12 11010 5 566 3.2
13 10110 5 564 3.2
14 11100 5 563 3.2
15 01110 5 558 3.1
16 10100 5 552 3.1
17 11011 5 530 3.0
18 11110 5 527 3.0
19 01011 5 506 2.8
카테고리 4 12.5
20 111010 6 304 1.7
21 101111 6 292 1.6
22 101011 6 290 1.6
23 101010 6 279 1.6
24 111110 6 277 1.6
25 101110 6 263 1.5
26 111111 6 262 1.5
27 111011 6 253 1.4
합계: 135비트 합계: 17755 합계: ~100
[85] 이상의 도표24로부터 알 수 있다 시피 27개의 고유값은 비트 사용 또는 빈도 특징 방면에서 4클라스로 분류될 수 있다. 만약 카테고리1과 카테고리2가 한 그룹(그룹0)을 이루면 빈도 카운트 방면에서 이는 약 49.7%를 차지하고 카테고리3과 카테고리4가 다른 한 그룹(그룹1)을 형성하면 이는 약 50.2%를 차지한다. 이 두 그룹의 빈도 카운트는 대략적으로 동일하다. 따라서 무작위 데이터 집합을 불균일 데이터 분포를 가지는 슈퍼 처리유닛(27개의 처리유닛을 사용)으로 분류하면 일부 슈퍼 처리유닛은 그룹1보다 그룹0에서 더 많은 고유 코드값을 가지고 그 외에 일부는 반대된다. 따라서 만약 매핑 코드표(CAABCT 0)가 그룹1이 아닌 그룹0에 교차 매핑되도록 디자인 될 경우 비교적 적은 비트값을 사용하고 다른 한 매핑 코드표(CAABCT 1)는 반대된다. 그렇게 되면 그룹0에서 유래한 더 많은 고유 데이터 코드값의 슈퍼 처리유닛은 CAABCT 0을 사용하여 인코딩하여 압축하는 목적의 혜택을 보게 되며 동일한 목적으로 그룹1에서 유래한 더 많은 슈퍼 처리유닛이 CCABCT 1을 사용하는 것의 혜택을 보게 된다. 그러나 하나의 지정자 비트가 어느 매핑 코드표를 지시하여 매 하나의 슈퍼 처리유닛에 사용하는 용도의 별도의 비용이 발생하는 문제가 존재한다. 한편으로 그룹0의 슈퍼 처리유닛(즉 그룹0에서 유래한 더 많은 데이터 값을 가지는 슈퍼 처리유닛)은 때로는 그룹1이 아닌 그룹0에서 유래한 1개의 데이터 값보다 많은 항목을 가진다. 그룹1의 슈퍼 처리유닛도 마찬가지이다. 따라서 매 하나의 슈퍼 처리유닛의 매핑 테이블 지정자 비트의 이러한 별도의 비용은 여전히 상기에서 제출한 코드값 출현 모드에 의해 차감될 기회가 있을 것이다. 그러나 일부 기타 기술은 이러한 슈퍼 처리유닛과 매핑 코드표의 인코딩과 디코딩기술을 사용할 경우 더 많은 비트 사용 공간을 절약하는데 도움이 될 것이다.
[86] 이러한 기타 기술에서의 하나는 인공지능(AI)기술[또는 더 구체적으로 말하면 인류지능(HI)기술]을 사용하는 것인데 상기 기술은 인코딩과 디코딩에서 매 하나의 슈퍼 처리유닛을 위해 매핑 코드표 비트 지정자를 사용하는 것을 면제한다. 여기서 사용한 인공지능기술은 AI표준을 건립하고 상기 AI표준을 통해 매 하나의 암호화된 슈퍼 처리 유닛의 내용을 구분하며 그 중 두개의 매핑 코드표에서의 하나는 인코딩과 대응되는 슈퍼 처리유닛에 응용되어야 한다. 이러한 방식으로 만약 AI를 적합하게 설치하면 매핑 코드표 비트 지정자를 생략할 수 있다. 아래는 사용 가능한 AI표준의 일부 제의이다.
(a) 슈퍼 처리유닛에 존재하는 코드값(식별 코드값), 상기 코드값은 어느CAABCT가 그의 인코딩에 사용되는지를 식별할 수 있고; 따라서 이 표준을 고려하여 이러한 코드값은 응당 두개의 상이한 CAABCT에 의해 상이한 테이블 코드값에 인코딩되며; 또한 디자인이 관심을 주는 두개의 CAABCT의 단계에서 반드시 이 요구를 만족해야 하고; 마찬가지로 이 요구에 의해 하나의 매핑 코드표를 사용 정지하여 슈퍼 처리유닛을 인코딩하는 종료 조건 또는 표준이 개변되는 바; 예하면 우선 슈퍼 처리유닛의 크기를 27개의 처리유닛의 코드값으로 설정하지만 슈퍼 처리유닛에 존재하는 27개의 코드값에서 식별 코드값을 항상 찾을 수 있는 것이 아니므로 종료 조건은 반드시 아래와 같이 수정되어야 한다.
(i) 식별 코드값을 종료값으로 사용하되 상기 종료값을 통해 하나의 CAABCT를 사용하여 그 이전의 값 코드 및 그 자체를 인코딩하고 여기서 코드값을 식별한 후 다시 평가하는데 평가는 반드시 어느 CAABCT를 사용하여 다음의 식별 코드값을 가지는 그러한 코드값을 암호화하며; 이러한 기술을 통해 식별 코드값을 포함하지 않는 원시적인 코드 값의 최후의 일부를 더 평가할 수 있고 두개의 CAABCT에서의 임의의 하나를 사용하여 인코딩하지만; 이러한 방식으로는 반드시 인코딩 뒤에 식별 코드값을 이 부분의 끝부분에 인코딩해야 하며; 이 최후의 식별 코드값이 추가된 하나의 코드 또는 원시적인 코드값의 일부인지 여부의 지정자는 마스터헤드에 추가되어 인코딩을 진행할 경우 식별 코드값은 반드시 디코딩되거나 또는 복구코드에서 삭제되어야 하며; 그 후 이 부분 다음에 암호화되지 않은 코드유닛이 존재할 수 있는데 상기 코드유닛은 하나의 처리유닛 코드값을 구성하지 않는 코드비트(존재한다고 하면)를 포함거나; 또는
(ii) 식별 코드값의 슈퍼 처리유닛을 종료 조건으로 사용함; 이는 숫자 데이터가 입력한 마스터헤드로부터 시작하여 제3 슈퍼 처리유닛(이러한 상황에서는 27개의 코드값)이 식별 코드값을 포함하면 앞의 3개의 슈퍼 처리유닛의 모든 코드값은 모두 평가할 때 하나의 CAABCT를 사용하여 인코딩함과 동시에 새로운 평가를 진행해야 하며 평가는 응당 어느 CAABCT를 사용하여 다음의 코드값을 인코딩 할 것인지를 평가해야 하는데 이는 즉 다음의 슈퍼 처리유닛이 그 식별 코드값을 포함해야 한다는 것이며; 마지막으로 하나의 슈퍼 처리유닛을 구성하거나 또는 식별 코드값을 가지지 않는 원본 코드의 제일 마직막 부분의 코드는 이상의 (i)에서의 방식과 같이 처리하거나 또는 암호화되지 않은 코드유닛에 포함되도록 남겨줄 수 있다.
(b) 디코딩 실패; 하나의 CAABCT를 사용하여 암호화한 코드값은 때로는 다른 한 CAABCT를 사용하여 성공적으로 디코딩할 수 없을 수 있으므로 암호화된 코드값은 반드시 두개의 CAABCT를 사용하여 디코딩해야 하는데 이는 하나의 CAABCT가 반드시 인코딩을 위한 하나의 CAABCT에 사용되도록 해야 하고; 디코딩 과정은 응당 성공적으로 이를 사용하여 디코딩할 수 있으며; 디코딩에 사용되지 않는 다른 한 CAABCT를 사용하여 인코딩하는 것은 이러한 상황에 도달할 수 없을 수 있다.
(c) 암호화된 코드가 비교적 짧음; 이는 인코딩이 압축의 목적에 사용되므로 반드시 제일 짧은 암호화된 코드를 발생하는 CAABCT를 선택하게 되고; 따라서 디코딩 할 경우 인코딩에 사용되지 않은 CAABCT를 사용하여 암호화하게 되면 반드시 전반적으로 비교적 긴 코드를 발생하게 된다.
(d) 재 인코딩의 실패; 따라서 두개의 상이한 CAABCT를 사용하여 디코딩 할 경우 두 그룹의 상이한 암호화된 코드를 발생하고; 이 두 그룹의 암호화된 코드는 교환 가능하게 또다시 두개의 CAABCT를 사용하여 또다시 인코딩하는데 때로는 선택된 하나가 아닌 다른 한 CAABCT를 사용하여 재코딩하는 것은 성공하지 못할 수 있으며; 특히 두개의 상이한 CAABCT에서 상이한 헤드 디자인의 트리오(trios)에서의 코드값을 사용하는 바, 예하면 0헤드 디자인의 하나의 CAABCT를 사용하는 것은 아래의 트리오를 사용하는 것이다.
0
10
11
접미사로서 다른 하나의 1헤드 디자인을 사용하는 CAABCT는 아래의 트리오를 코드값으로 사용하는 접미사, 즉:
1
01
00
트리오 코드값으로서의 접미사(이는 뒤에서 해석하기로 함); 인코딩이 실패한 다른 한 증거는 재 인코딩 할 경우 암호화된 코드의 제일 마지막 몇 비트는 하나의 코드값을 형성하지 않고 고정 비트 크기 또는 고정수량의 처리유닛을 가지는 슈퍼 처리유닛을 사용함에 있어서 재 인코딩한 코드값은 디자인된 고정크기를 구성하지 않으며 재 인코딩 할 경우 고정크기의 슈퍼 처리유닛이 가지는 더 많거나 더 적은 코드를 발생하기 된다.
(e) 필요할 경우 암호화된 코드 뒤에 별도의 비트를 추가하되, 상기 AI표즌을 사용하여 평가한 후 여전히 인코딩을 위해 선택한 CAABCT를 식별할 수 없는 기회가 존재하게 되어 반드시 별도의 비트를 암호화된 코드의 일부 또는 유닛의 끝부분에 추가하여 이러한 구별을 진행하도록 하고; 만약 필요하다면 이 부가적인 비트는 단지 안전하게 벗어나기 위한 것으로 제공되어 정확하게 구분할 수 없는 상황을 벗어나며; 상기 안전하게 벗어나는 것은 실현할 필요가 거의 없으므로 실제적으로는 이를 위해 이 등위로 저장하지 않을 수 있고 모든 상기 AI표준에 모두 모순이 존재하지 않은 상황에서 명확한 답안을 제공할 경우에야 만이 사용할 수 있으며; 이 점을 감안하여 인코딩 과정 중 및 인코딩의 매 하나의 부분 또는 유닛이 완성된 후 이러한 AI평가를 진행해야 한다. 그리고
(f) 적합하고 효과적으로 사용하는 기타 표준으로 발견되고 디자인된다.
[87] 상기 계시를 더 뚜렷하게 나타내기 위하여 두개의 이러한 CAABCT를 디자인하여 도표25와 도표26에서 진일보로 상세히 설명하기로 한다.
도표25
27개 값의 절대 어드레스 분기 분류 코드표(CAABCT 0)
실시예III
분류PU 첸 코드에서의 비트 표시, 그룹번호, 정상비트와 분기비트/접미사를 포함
서열 그룹 (정상비트 분기비트/접미사) 비트 크기
번호 번호 (첸 코드)
1 0 000 3
2 0 001 3
3 0 1000 4
4 0 1001 4
5 0 1010 4
6 0 1011 4
7 0 0100 4
8 0 0101 4
9 0 01100 5
10 0 01101 5
11 0 01110 5
12 1 01111 5
13 1 [1100] 0 5
14 1 [1100] 10 6
15 1 [1100] 11 6
16 1 110100 6
17 1 110101 6
18 1 110110 6
19 1 110111 6
20 1 111000 6
21 1 111001 6
22 1 111010 6
23 1 111011 6
24 1 111100 6
25 1 111101 6
26 1 111110 6
27 1 111111 6
합계: 139비트
도표26
27개 값의 절대 어드레스 분기 분류 코드표(CAABCT 1)
실시예IV
분류PU 첸 코드에서의 비트표시, 그룹번호, 정상비트와 분기비트/접미사를 포함
서열 그룹 (정상비트 분기비트/접미사) 비트 크기
번호 번호 (첸 코드)
1 0 011 3
2 0 10000 5
3 0 10001 5
4 0 10010 5
5 0 10011 5
6 0 [1010] 1 5
7 0 [1011] 1 5
8 0 [1010] 01 6
9 0 [1010] 00 6
10 0 [1011] 01 6
11 0 [1011] 00 6
12 1 0000 4
13 1 0001 4
14 1 [001] 1 4
15 1 [010] 1 4
16 1 1100 4
17 1 1101 4
18 1 [001] 01 5
19 1 [001] 00 5
20 1 [010] 01 5
21 1 [010] 00 5
22 1 [1110] 1 5
23 1 [1111] 1 5
24 1 [1110] 01 6
25 1 [1110] 00 6
26 1 [1111] 01 6
27 1 [1111] 00 6
합계: 135비트
[88] 상술한 두개의 CAABCT로부터 알 수 있다 시피 테이블 코드값에 대한 그루핑은 약간의 조절을 진행하여 앞의 11개의 테이블 코드를 그룹0으로 조합하고 나머지 테이블 코드를 그룹1로 조합한다. 이러한 그루핑 조절은 더 용이한 코드 배치의 결과이다. 괄호에서의 그러한 테이블 코드값은 트리오에서의 코드값이다. CAABCT 0에는 1개의 트리오만 존재하고 CAABCT 1에는 6개의 트리오가 존재한다. CAABCT 0에서 트리오는 0헤드 디자인, 즉 아래 형식의 접미사를 사용한다.
0
10
11
CAABCT 1에서 트리오는 1헤드 디자인을 사용하고 아래 형식의 접미사를 가진다.
1
01
00
단락[86]의 (d)에서 설명한 바와 같이 상이한 디자인의 접미사의 용도는的AI구별을 의미한다. 접미사 디자인은 AAB기술을 사용하여 발생한 다른 한가지 사용방법이다.
[89] 아래의 도표27은 비트 크기에 근거하여 분류한 3개의 3값 코드유닛의 처리유닛의 27개의 고유 데이터 코드값과 CAABCT 0과 CAABCT 1의 테이블 코드값의 교차 매핑된 통일적인 투시도를 제공한다.
도표27
데이터 코드값(도표24)과 CAABCT 0과 CAABCT 1의 테이블 코드값 사이의 교차 매핑
처리유닛
분류 코드
번호 코드 사용한 빈도 % CAABCT 0 CAABCT 1
값 비트 값 +/-비트 값 +/-비트
그룹0
1 000 3 2155 12.1 000 0 011 0
2 0011 4 1154 6.5 001 -1 10000 +1
3 1100 4 1143 6.4 1000 0 10001 +1
4 0110 4 1132 6.4 1001 0 10010 +1
5 0010 4 1101 6.2 1010 0 10011 +1
6 0100 4 1078 6.1 1011 0 [1010]1 +1
7 1000 4 1074 6.0 0100 0 [1011]1 +1
8 01111 5 605 3.4 0101 -1 [1010]01 +1
9 01010 5 587 3.3 01100 0 [1010]00 +1
10 10010 5 574 3.2 01101 0 [1011]01 +1
11 10011 5 566 3.2 01110 0 [1011]00 +1
그룹1
12 11010 5 566 3.2 01111 0 0000 -1
13 10110 5 564 3.2 [1100]0 0 0001 -1
14 11100 5 563 3.2 [1100]10 +1 [001]1 -1
15 01110 5 558 3.1 [1100]11 +1 [010]1 -1
16 10100 5 552 3.1 110100 +1 1100 -1
17 11011 5 530 3.0 110101 +1 1101 -1
18 11110 5 527 3.0 110110 +1 [001]01 0
19 01011 5 506 2.8 110111 +1 [001]00 0
20 111010 6 304 1.7 111000 0 [010]01 1
21 101111 6 292 1.6 111001 0 [010]00 -1
22 101011 6 290 1.6 111010 0 [1110]1 -1
23 101010 6 279 1.6 111011 0 [1111]1 -1
24 111110 6 277 1.6 111100 0 [1110]01 0
25 101110 6 263 1.5 111101 0 [1110]00 0
26 111111 6 262 1.5 111110 0 [1111]01 0
27 111011 6 253 1.4 111111 0 [1111]00 0
[90] 이상의 통계 데이터를 비교할 경우 상술한 두개의 CAABCT를 사용하여 무작위 데이터 집합을 압축할지 여부는 절대적으로 명확한 것이 아닌 바, 이는 매핑 테이블이 전반적인 무작위 데이터 집합에 적용되지 않고 그 중의 어느 한 CAABCT에 대해 비트 사용방면에서 더 양호하게 적합한 슈퍼 처리유닛에 적용되기 때문이다. 무작위 데이터 집합을 불균일 데이터 분포로 분류한 슈퍼 처리유닛 다음의 데이터 코드값의 분포 모드는 결정되지 않았다. 어느 CAABCT를 사용하여 임의의 특정된 슈퍼 처리유닛을 인코딩할 것인가 하는 것은 그룹0과 그룹1의 데이터 코드값의 수량을 카운트하여 상응한 인코딩을 실제적으로 실현하여 발생한 비트 사용 결과가 아닌 실제적인 인코딩결과에 기반해야 하는 바, 어느 CAABCT가 특정된 슈퍼 처리유닛의 더 정확한 지정자에 사용되는것이 더 적합한 것인지에 관한 것이다.
[91] 각 실시방안에 근거하여 상기 기술을 증강시킬 수 있는데, 예하면 하나의 CAABCT를 사용하여 진행하는 것이며; 상기 CAABCT는 무작위 데이터 집합의 특징에 사용되는 27개의 고유 데이터 코드값의 분포를 구비하고 비트 사용에 있어서 완전하게 동일하다. 하나의 이러한 CAABCT는 CAABCT1이다. CAABCT1은 교차 매핑을 재분포하는 목적에 사용될 수 있는 바, 아래 도표28에 나타낸 바와 같다.
도표28
데이터 코드값(도표24)과 CAABCT 2와 CAABCT 1의 테이블 코드값 사이의 교차 매핑
처리유닛
분류 코드
번호 코드 사용한 빈도 % CAABCT 2 CAABCT 1
값 비트 값 +/-비트 값 +/-비트
그룹0
1 000 3 2155 12.1 010 0 011 0
2 0011 4 1154 6.5 0000 0 10000 +1
3 1100 4 1143 6.4 0001 0 10001 +1
4 0110 4 1132 6.4 [001]0 0 10010 +1
5 0010 4 1101 6.2 [011]0 0 10011 +1
6 0100 4 1078 6.1 1100 0 [1010]1 +1
7 1000 4 1074 6.0 1101 0 [1011]1 +1
8 01111 5 605 3.4 [1010]0 0 [1010]01 +1
9 01010 5 587 3.3 [1011]0 0 [1010]00 +1
10 10010 5 574 3.2 [1110]0 0 [1011]01 +1
11 10011 5 566 3.2 [1111]0 0 [1011]00 +1
그룹1
12 11010 5 566 3.2 10000 0 0000 -1
13 10110 5 564 3.2 10001 0 0001 -1
14 11100 5 563 3.2 10010 0 [001]1 -1
15 01110 5 558 3.1 [001]10 0 [010]1 -1
16 10100 5 552 3.1 [001]11 0 1100 -1
17 11011 5 530 3.0 10011 0 1101 -1
18 11110 5 527 3.0 [011]10 0 [001]01 0
19 01011 5 506 2.8 [011]11 0 [001]00 0
20 111010 6 304 1.7 [1010]10 0 [010]01 -1
21 101111 6 292 1.6 [1010]11 0 [010]00 -1
22 101011 6 290 1.6 [1011]10 0 [1110]1 -1
23 101010 6 279 1.6 [1110]10 0 [1111]1 -1
24 111110 6 277 1.6 [1110]11 0 [1110]01 0
25 101110 6 263 1.5 [1011]11 0 [1110]00 0
26 111111 6 262 1.5 [1111]10 0 [1111]01 0
27 111011 6 253 1.4 [1111]11 0 [1111]00 0
[92] CAABCT 2와 CAABCT 1은 완전히 같고 상이한 점은 아래와 같다.
(a) CAABCT 2는 0헤드 디자인을 사용하여 이의 6개의 트리오(즉 0, 10, 11)에 사용하고 CAABCT 1은 1헤드 디자인(즉 1, 01, 00)을 사용하여 그들 각각의 트리오 접미사에 사용한다.
(b) 교차 매핑에 사용될 경우 CAABCT2의 고유 테이블 코드값은 완전히 동일한 비트 크기를 가지는 무작위 데이터 집합의 고유 데이터 코드값에 매핑, 즉 3비트 크기의 테이블 코드값이 3비트 크기의 데이터 코드값에 매핑되고 4비트 크기의 테이블 코드값이 4비트 크기의 데이터 코드값에 매핑되며 5비트 크기의 테이블 코드값이 5비트 크기의 데이터 코드값에 매핑되고 6비트 크기의 테이블 코드값이 6비트 크기의 데이터 코드값에 매핑되어 이러한 방식으로 매핑하 되면면 인코딩 후 동일한 비트 사용을 초래하고 무작위 데이터 집합의 데이터 크기는 압축되지 않을 뿐만 아니라 확장하지도 않는다.
[93] 무작위 데이터 집합을 압축하는 인코딩과 디코딩을 진행할 경우 아래에서 설명한 바와 같이 슈퍼 처리유닛을 사용할 경우 인입한 기술에 약간의 조절을 진행한다. 우선 무작위 데이터 집합을 인코딩 할 경우 CAABCT 2를 사용하여 무작위 데이터 집합의 데이터 코드값에 대해 교차 매핑함으로써 인코딩 할 수 있는 바, 즉 0헤드 디자인의 3값 코드유닛의 정의를 사용하여 무작위 데이터 집합을 하나씩 판독하는데 이러한 연속으로 판독된 유닛에서의 3개는 하나의 처리유닛을 형성하여CAABCT 2와 함께 교차 매핑으로 사용되어 인코딩을 진행한다. 상술한 바와 같이 처리유닛 및 슈퍼 처리유닛은 그 뒤에 하나 또 하나씩 인코딩한다. 이는 암호화되지 않은 코드유닛, 즉 1개의 처리유닛의 크기를 구성하지 않는 나머지의 인코딩되지 않는 소량의 코드 비트를 제외한 모든 무작위 데이터 집합의 모든 전환으로서 CAABCT 2에 근거한 전환코드를 발생한다. 전환된 후의 이 데이터 집합을 압축(현재 CAABCT 2를 사용하여 교차 매핑 전환을 진행한 후 이 데이터 집합은 예전과 같이 무작위가 아니다)하고 CAABCT 1은 그 다음 전환 데이터 집합에서 구획된 슈퍼 처리유닛에 사용되며 상기 슈퍼 처리유닛은 선택된 종료 조건을 가지는 바, 예하면 원본 코드값000은 현재 010으로 전환되고 CAABCT 2의 대응되는 테이블 코드값이다. 따라서 처리 중의 슈퍼 처리유닛이 만약 어디서든 CAABCT 1을 사용하여 인코딩을 진행하여 동일한 슈퍼 처리유닛의 전환 코드의 비트보다 더 적은 암호화된 코드를 발생하게 되면 상기 암호화된 코드는 CAABCT 1을 사용하여 암호화 할 수 있다. 종료 조건이 암호화를 위한 CAABCT 테이블 코드값 010을 포함하므로 만약 CAABCT 1을 이용하여 이에 대해 암호화하면 010을 011로 암호화하게 된다. 따라서 CAABCT 2와 CAABCT 1이 인코딩 한 후 획득한 암호화된 코드를 사용하여 원시적인 데이터 코드값 000은 010으로 전환되고 그 다음 011로 전환된다. 만약 CAABCT 1이 슈퍼 처리유닛의 CAABCT 2의 암호화된 코드의 크기를 축소시킬 수 없으면 그러한 슈퍼 처리유닛의 CAABCT 2의 암호화된 코드값은 그 다음 영향을 받지 않는 상태를 유지한다. 따라서 원시적인 데이터 코드값 000은 010을 유지한다. 따라서 이는 CAABCT 2코드와 CAABCT 1코드의 AI표준에서의 하나에 작용할 수 있다. CAABCT 2의 6개의 트리오의 접미사와 CAABCT 1의 접미사가 상이하므로 수많은 접미사 지정자도 AI구분을 위한 목적으로 사용될 수도 있다. 단락[86]에서 제기한 모든 AI조작도 CAABCT 1코드와 CAABCT 2코드를 구분하는데 사용된다. 이를 원시적인 데이터 코드값으로 전환하여 AI구분을 진행할 필요가 없으므로 디코딩 과정은 의심할 여지가 없이 성공적인 것이다. 따라서 CAABCT 2를 사용하여 진행한 모든 매핑 인코딩 및 그 다음 CAABCT 1을 사용하여 선택적인 교차 매핑을 진행하여 얻은 암호화된 코드를 디코딩하기 위하여 AI기술을 사용하여 단락[86]에서 제기한 CAABCT 1코드의 슈퍼 처리유닛에 AI구분을 진행할 수 있다. 또한 CAABCT 1 코드를 포함한 슈퍼 처리유닛이 결정된 후 이와 상응하는 CAABCT 1 코드는 CAABCT 2 코드로 디코드하게 된다. 모든 CAABCT 1 코드를 CAABCT 2 코드로 전환한 다음 CAABCT 2 의 코드표를 사용하여 CAABCT 2 코드로부터 원시적인 데이터 코드값의 일회적 디코딩을 실현하게 된다. 이러한 방식을 통해 단언컨대 언제 CAABCT 1을 통해 압축한 코드값을 가지는 슈퍼 처리유닛이 존재하든 이러한 슈퍼 처리유닛을 포함하는 무작위 데이터 집합을 압축할 수 있다. 또는 CAABCT 1이 아닌 CAABCT 0을 사용하여 CAABCT 2와 교차 매핑할 수 있거나 또는 적합한 상황에서 CAABCT 0과 CAABCT 1을 호환 가능하게 사용하여 CAABCT 2와 교차 매핑할 수 있는데 이러한 상황에서는 반드시 AI표준을 조절하거나 추가하여 어느 매핑 코드표가 임의의 특정된 슈퍼 처리유닛에 사용되는지를 결정해야 한다. 아래의 도표29는 모든 3개의 CAABCT를 사용하여 완성할 수 있는 교차 매핑을 나타낸다.
도표29
데이터 코드값(도표24)과 CAABCT 2, CAABCT 0과 CAABCT 1의 테이블 코드값 사이의 교차 매핑
처리유닛
분류 코드
번호 CAABCT 2 사용한 빈도 % CAABCT 0 CAABCT 1
값 비트 값 +/-비트 값 +/-비트
그룹0
1 010 3 2155 12.1 000 0 011 0
2 0000 4 1154 6.5 001 -1 10000 +1
3 0001 4 1143 6.4 1000 0 10001 +1
4 [001]0 4 1132 6.4 1001 0 10010 +1
5 [011]0 4 1101 6.2 1010 0 10011 +1
6 1100 4 1078 6.1 1011 0 [1010]1 +1
7 1101 4 1074 6.0 0100 0 [1011]1 +1
8 [1010]0 5 605 3.4 0101 -1 [1010]01 +1
9 [1011]0 5 587 3.3 01100 0 [1010]00 +1
10 [1110]0 5 574 3.2 01101 0 [1011]01 +1
11 [1111]0 5 566 3.2 01110 0 [1011]00 +1
그룹1
12 10000 5 566 3.2 01111 0 0000 -1
13 10001 5 564 3.2 [1100]0 0 0001 -1
14 10010 5 563 3.2 [1100]10 +1 [001]1 -1
15 [001]10 5 558 3.1 [1100]11 +1 [010]1 -1
16 [001]11 5 552 3.1 110100 +1 1100 -1
17 10011 5 530 3.0 110101 +1 1101 -1
18 [011]10 5 527 3.0 110110 +1 [001]01 0
19 [011]11 5 506 2.8 110111 +1 [001]00 0
20 [1010]10 6 304 1.7 111000 0 [010]01 -1
21 [1010]11 6 292 1.6 111001 0 [010]00 -1
22 [1011]10 6 290 1.6 111010 0 [1110]1 -1
23 [1110]10 6 279 1.6 111011 0 [1111]1 -1
24 [1110]11 6 277 1.6 111100 0 [1110]01 0
25 [1011]11 6 263 1.5 111101 0 [1110]00 0
26 [1111]10 6 262 1.5 111110 0 [1111]01 0
27 [1111]11 6 253 1.4 111111 0 [1111]00 0
[94] 또한 슈퍼 처리유닛을 구획할 수 있는 종료 조건을 조절하거나 약간의 조절을 진행할 수 있으므로, 예하면 슈퍼 처리유닛의 고정 크기를 27개의 데이터 코드값으로부터 때는 더 적고 또는 때로는 더 많은 것으로 변화하거나,또는 사용하는 종료값을 000으로부터 다른 한 코드값으로 변화하거나, 또는 고정 크기를 가지는 슈퍼 처리유닛의 종료값이 아닌 종료 값만 사용하여 슈퍼 처리유닛의 크기(이러한 방식으로 슈퍼 처리유닛은 상이한 크기를 가질 수 있음)를 결정하거나; 또는 기타 크기의 코드유닛(예하면 6값 코드유닛과 이를 위해 디자인한 CAABCT 집합) 또는 기타 크기의 처리유닛을 사용하도록 시도할 수 있는 바, 예하면 3개의 6값 코드유닛이 아닌 4개의 6값 코드유닛을 처리유닛으로 사용하는 바, 첸 프레임워크에는 이러한 변형이 무궁무진하게 존재할 수 있으므로 무작위 데이터 집합이 영원히 압축되지 않는다고 결정할 수 없다. 반대 상황에서는 오히려 더 결정될 수 있다. 그런데 단락[62] 내지 [66]에서 제기한 비트0:비트1 비율을 변화하는 기술은 우선 무작위 데이터 집합의 빈도 분포를 불균일한 데이터 집합으로 변화하는데 사용될 수 있고 상기 데이터 집합은 그 다음 불균일 데이터 분포를 이용하는 기술을 통해 압축하는데 사용된다.
[95] 상기 진보성의 계시는 인코딩과 디코딩이 무작위인지의 여부와 관계없는 숫자 데이터 집합의 수많은 새로운 기술을 개시하는 바, 암호화/복호화 및 압축/압축 해제의 목적에 사용된다. 이러한 기술을 조합하여 디자이너, 구현자와 사용자가 예기하는 이러한 목적을 실현할 수 있다. 또 기타 기술을 디자인하고 실현하여 이를 이용하여 첸 프레임워크에서 인입한 구조특성과 코딩기술에 사용할 수도 있다.
[96] 다른 한가지 기술이 존재하는데 상기 기술은 더 간단하고 유용하며 단독으로 사용되거나 또는 이상에서 소개한 기술과 결합하여 사용될 수 있다. 이는 상이한 크기의 동적 처리유닛과 함께 인공지능기술의 코드값을 동적으로 조절하는 정의를 사용하여 인코딩과 디코딩을 진행하는 것이다. 이상의 슈퍼 처리유닛에 대한 토론에서 종료값으로만 슈퍼 처리유닛의 크기를 결정함에 있어서 슈퍼 처리유닛의 크기의 변화를 초래할 수 있는 바, 즉 상이한 수량의 처리유닛은 숫자 데이터 집합의 상이한 자리에서 슈퍼 처리유닛을 구성한다. 또 종료 조건을 적당히 디자인하여 이로 하여금 상이한 수량의 코드유닛을 처리유닛으로 사용하여 동적으로 인코딩과 디코딩을 진행하도록 할 수 있다. 인코딩과 디코딩 과정에서 처리 중인 코드 크기 및 그의 정의에 대해 동적인 조절을 진행할 수도 있다.
[97] 단락[96]에서 제기한 기술, 즉 데이터 분포를 변화하는 배경에서 상이한 크기의 처리유닛(본 구현예에서는 3개의 코드유닛과 4개의 코드유닛의 처리유닛이 설명에 사용됨)을 동적으로 사용하는 기술로 돌아가되 상기 기술은 아래 도표30에 나열한 것과 같은 0헤드 디자인의 3값 코드유닛 디자인을 사용한다.
도표30
하나의 3값 코드유닛의 처리유닛
PU PU
값 번호 코드값
값1(v1) 0
값2(v2) 10
값3(v3) 11
따라서 처리유닛은 0헤드 디자인의 3개 또는 4개의 3값 코드유닛으로 조성되는데 이는 처리 중의 임의의 점에서의 데이터 분포의 변화배경에 의해 결정된다. 이러한 새로운 기술은 임의의 유형의, 무작위 여부와 관계 없는 데이터 분포의 데이터에 대해 인코딩과 디코딩 처리를 진행하는 것을 풍부하도록 한다.
[98] 이러한 기술을 디자인하는 것은 종료 조건 개념을 사용한 결과이다. 구상하는 종료 조건은 처리유닛의 종료점(여기서는 0헤드 디자인의 3값 코드유닛을 사용)이 3값 코드유닛의 모든 3개의 고유 코드값의 출현여부에 기반한다. 논리적 추론을 통해 만약 종료 조건의 이러한 정의에 기반하게 되면 처리유닛은 3값 코드유닛을 가지는 3개의 코드유닛의 크기보다 작지 말아야 한다. 따라서 만약 모든 3개의 고유 코드값이 연속 세번 나타나면 처리유닛의 크기는 3개의 코드유닛이고 그렇지 않으면 처리유닛의 크기는 응당 3개의 코드유닛을 초과해야 한다. 이는 4 또는 5 또는 6 등등 일 수 있다. 따라서 만약 종료 조건(종료 조건은 Max3 5비트 코드유닛의 모든 3개의 고유 코드값이 나타났음을 말한다)이 달성되지 않으면 4개의 코드유닛을 하나의 종료점으로 간단하게 사용할 수 있다. 이는 0헤드 디자인의 3값 코드유닛의 정의를 사용하여 3개의 연속된 코드값을 판독할 경우 모든 3개의 고유 데이터 코드값(즉 도표30에서 나열한 v1, v2와 v3)을 얻지 못하게 되면 종료점은 판독한 제4 코드값에서 나타나고 판독을 정지함으로써 4개의 코드유닛이 처리유닛으로 되게 하며 이러한 상황에서 종료하는 것은 모든 3개의 고유 코드값이 모두 나타났는지 여부와 관계 없음을 의미하는 바, 만약 3개의 연속된 코드값을 판독할 때 모든 3개의 고유 데이터 코드값이 존재하면 종료점은 제3 코드값을 판독하는 곳에 있고 처리유닛은 3개의 코드유닛으로 조성된다. 따라서 처리유닛의 크기는 조성한 코드유닛의 수량에 근거하여 측정되는데 상기 수량은 처리 중의 숫자 데이터 집합의 데이터 분포에 따라 동적으로 변화된다. 데이터 분포의 상황에 근거하여 만약 처리유닛의 크기가 응당 4개의 코드유닛이면 이에 대해 두가지 시나리오가 존재하게 된다.
(i)모든 3개의 고유 코드값이 존재; 및
(ii)모든 3개의 고유 코드값이 모두 존재하는 것이 아님.
따라서 모두 세가지 상황이 존재한다.
(a)3개의 코드유닛의 처리유닛, 여기에는 모든 3개의 고유 코드값이 존재;
(b)4개의 코드유닛의 처리유닛, 여기에는 모든3개의 고유 코드값이 존재; 및
(c)4개의 코드유닛의 처리유닛, 여기에는 모든 3개의 고유 코드값이 존재하지 않음.
[99] 따라서 분류 코드를 도표31에서 나열한 이 세가지 시나리오에 분포할 수 있다.
도표31a
단락[98]의 세가지 시나리오의 시나리오 분류 코드(첸 코드의 일부)
시나리오 분류 코드 시나리오
0 (a)
10 (b)
11 (c)
이 세가지 시나리오의 빈도 분포에 근거하여 최고 빈도를 가지는 시나리오를 최소 수량을 사용하는 이진 비트로 조절할 수 있다. 따라서 시나리오(c)가 최고 빈도를 가진다고 가정하면 시나리오 분류 코드의 시나리오의 분포를 도표31b로 조절하여 아래와 같이 나열할 수 있다.
도표31b
단락[98]의 세가지 시나리오의 시나리오 분류 코드(첸 코드의 일부)
시나리오 분류 코드 시나리오
0 (c)
10 (b)
11 (a)
따라서 전반 숫자 데이터 입력 파일에 대한 인코딩과 디코딩은 우선 전반 숫자 데이터 파일을 분석하여 어느 시나리오가 최고 빈도를 가지는지를 찾아내고 이를 분포하여 제일 짧은 분류 코드를 사용하며 기타 시나리오를 아래로 푸시한다. 따라서 반드시 마스터헤드에 시나리오 다자인 지정자(어느 시나리오 분류모드 또는 디자인을 사용할 것인지를 지시)를 포함하여 정확하게 디코딩을 완성하도록 해야 한다.
[100] 본 명세서의 구현예에서 어떻게 첸 코드를 사용하여 코드를 분류할 것인지를 토론한 후 어떻게 첸 코딩의 다른 한 기술(즉 동적 코드 조절)을 사용하여 첸 코드 내의 내용코드를 디자인하고 조작할 것인지를 알 수 있다. 시나리오(a)에 대하여 아래의 코딩을 사용할 수 있다.
시나리오 분류 코드+랭크와 자리코드
시나리오(a)가 3개의 코드유닛의 처리유닛이므로 그 중에는 모든 3개의 고유 코드값이 존재하고 2 또는 3비트[첸 코딩의 AAB기술을 사용하는 바, 예하면 이의 실제값 범위는 6, 즉 시나리오(a)에 부합되는 종료 조건의 3개의 코드유닛의 6개의 고유 처리유닛이 존재하고 하한값 범위는 2비트로서 4개의 값과 상응되며 상한값 범위는 3비트로서 8개의 값과 상응됨]를 사용하며 랭크와 자리코드는 처리유닛을 충분히 커버할 수 있는 모든 6가지 가능한 조합이고 그 중 3개의 코드유닛은 이의 랭크와 자리 구별을 가지는 3개의 고유 코드값을 구비하며 아래 도표32에 나타낸 바와 같다.
도표32
3개의 고유 코드값을 가지는 3개의 코드유닛의 처리유닛은 랭크와 자리 방면의 6가지 가능한 조합의RP코드 분포
RP코드 비트 +/- 랭크와 자리방면의 조합 비트
00 2+2 -1 v1v2v3 5
01 2+2 -1 v1v3v2 5
100 2+3 v2v1v3 5
101 2+3 v2v3v1 5
110 2+3 v3v1v2 5
111 2+3 v3v2v1 5
[101]시나리오(b)와 (c)의 첸 코드의 내용코드에 대해 첸 코딩을 진행하기 위하여 판독한 4개의 데이터 코드값을 사용할 수 있는데 이는 이러한 시나리오의 종료 조건에 의해 결정된다. 상기 제4 데이터 코드값, 즉 종료값은 원본 코드가 완전히 0헤드 디자인을 사용한 3값 코드유닛의 정의를 판독함으로써 나타낼 수 있는 바, 즉 원본 코드에 어떤 변화도 진행하지 않아도 된다. 따라서 시나리오(b)와 (c)의 내용코드 부분의 인코딩은 아래와 같은 단계(시나리오(a)가 이미 단독으로 처리되었다고 가정)를 각각 포함한다.
(a)관련되는 코드유닛의 정의를 사용하여 4개의 연속된 데이터 코드값을 판독;
(b)판독된 원래의 양식에 따라 제4 데이터 코드값을 기입;
(c)적합한 상황에서 코드 조절기술을 사용하여 제1 데이터 코드값을 기입;
(d)적합한 상황에서 코드 조절기술을 사용하여 제2 데이터 코드값을 기입;
(e)적합한 상황에서 코드 조절기술을 사용하여 제3 데이터 코드값을 기입; 및
(f)단계(a)에서 판독한 4개의 연속되는 코드값의 인코딩을 완성한 후 암호화되지 않ㅇ은 코드유닛이 시작되는 점에 도달할 때까지 단계(a)에 순환적으로 되돌아간다.
또한 적합한 상황에서 상기 단계(c) 내지 (e)에서 제기한 코드 조절기술은 내용코드 랭크와 자리 코딩, 내용코드 향상과 내용코드 생략, 내용코드 강등 및 내용코드 복구를 포함한다.
[102] 시나리오(b)에 대하여 제4 데이터 코드값은 3개의 데이터 코드값인 v1, v2 또는 v3에서의 하나일 수 있다. 따라서 시나리오(b)에서 서브 시나리오는,
도표33
시나리오(b)의 3개의 서브 시나리오 및 RP코딩
코드 자리 RP코드
제4 제1 제2 제3
(i) v1 v2 v2 v3 00
v1 v2 v3 v2 01
v1 v2 v3 v3 100
v1 v3 v2 v2 101
v1 v3 v2 v3 110
v1 v3 v3 v2 111
(ii) v2 v1 v1 v3 00
v2 v1 v3 v1 01
v2 v1 v3 v3 100
v2 v3 v1 v1 101
v2 v3 v1 v3 110
v2 v3 v3 v1 111
(iii) v3 v1 v1 v2 00
v3 v1 v2 v1 01
v3 v1 v2 v2 100
v3 v2 v1 v1 101
v3 v2 v1 v2 110
v3 v2 v2 v1 111
시나리오(b)의 3개의 서브 시나리오에서의 매 하나에 대하여 6가지 가능한 조합이 더 존재한다.
이러한 서브 시나리오에서의 랭크와 자리코딩을 사용하는 매 하나의 기술은 도표33에 나타낸 그들 각각의 6가지 가능한 조합에 대해 2비트 또는 3비트를 사용한다.
또는 적합한 상황에서 코드 향상과 코드 생략 기술을 사용하는데 이는 도표34에 나타낸 바와 같다.
도표34a
Figure pct00024
[v1이 제1, 제2와 제3 자리에 나타나지 않으므로 2개의 값, 즉 v2와 v3이 선택 가능하고; 따라서 제1 자리와 제2 자리에서 v2는 코드0으로 향상되고 제3 자리의 v3(만약 배치하고자 하면 코드1을 사용)을 생략하는데 이는 이러한 시나리오에서 반드시 모든 3개의 고유값이 나타나야 하기 때문이다.]
Figure pct00025
Figure pct00026
또는 제4 코드값을 배치한 후 배치하고자 하는 값은 재배열될 수 있는데 이는 아래 도표34b에 도시된 바와 같다.
도표34b
Figure pct00027
Figure pct00028
만약 코드 향상과 코드 생략의 기술을 사용하고자 하면 일치성을 위하여 도표34b에서의 코드값의 배치는 도표34a보다 우수할 수 있는데 이는 이러한 배치가 아래 단락[103]에서 해석하고자 하는 시나리오(c)에 대하여 더 양호한 선택일 수 있기 때문이다.
이상의 시나리오(b)의 서브 시나리오(i)를 사용함으로써 코드 향상은 논리 추론의 결과로서 비트 사용을 절감하는데 사용된다. 예하면 시나리오(b)가 3개의 고유 코드값이 판독된 4개의 연속된 코드값에 전부 나타나야 하는 시나리오이므로 도표33b에 사용되는 시나리오 분류 코드와 제4 코드값(예하며 v1)을 배치한 후 암호화된 코드는 도표35에서 나열한 바와 같다.
도표35
시나리오 분류에 사용되는 인코딩 및 제4 코드값
(b) 제4 코드값 제3 코드값 제2 코드값 제1 코드값
v1
10 0
또한 나머지 3개의 코드값의 암호화된 코드가 삽입된다. 이것이 시나리오(b)이기 때문에 이는 앞의 3개의 코드값, 즉 제1 코드값 내지 제3 코드값이 반드시 제4 코드값과 상이해야 함을 의미하는 바, 이는 이것이 제4 코드값으로서 상기 제4 코드값은 시나리오(b)를 위해 디자인한 종료 조건을 만족하도록 하기 때문이다. 따라서 나머지 3개의 코드값은 v2 또는 v3이다. 또한 두가지 선택만이 존재하므로 1비트(비트0 또는 비트1)로 이 두개의 상이한 값을 출현을 표시할 수 있다. 맨 처음 v2와 v3은 각각 10과 11로 표시한다. 따라서 이러한 코드값은 그 다음 각각 0과 1을 사용하여 비트 사용을 절약하도록 향상된다. 이는 코드 향상 기술로서 첸 코딩 기술이다. 또한 만약 제3 코드값과 제2 코드값이 모두 v2이면 첫번째는 반드시 v3이여야 하는데 이는 시나리오(b)에 대해 정의한 것으로서 그렇지 않게 되면 시나리오(b)의 종료 조건을 만족시키지 않기 때문이다. 따라서 상기 추론으로 인하여 논리적 추론을 통해 v3을 생략할 수 있다. 방금 제기한 첸 코딩의 코드 향상과 코드 생략 기술을 사용하여 4개의 코드유닛이 조성한 처리유닛을 코딩함으로서 전반적인 암호화된 코드 피스를 얻고 아래 도표36에 표시한다.
도표36
첸 코딩의 코드 향상과 코드 생략을 사용하여 인코딩
(b) 제4 코드값 제3 코드값 제2 코드값 제1 코드값
v1 v2 v2 v3
10 0 0 0 []
[코드 향상] [코드 생략]
코드 향상과 코드 생략기술을 사용하여 도표33에서 랭크와 자리코딩기술을 사용하는 것과 동일한 비트 사용결과(도표34a와 도표34b에 나열한 2*2비트+4*3비트)를 제공함을 관찰할 수 있는 바, 이 두가지 기술은 획득한 비트 모드 배열방면에서 상이할 뿐이다.
[103] 마찬가지로 시나리오(c)에 대하여 제4 데이터 코드값은 v1, v2 또는 v3 이 3개의 데이터 코드값에서의 하나 일 수 있다. 따라서 시나리오(c)에서 서브 시나리오는 도표37에서 나열한다.
도표37
시나리오(c)의 3개의 서브 시나리오 및 RP코딩
코드 자리 비트 비트 +/-
제4 제1 제2 제3 제4 RP코드
(i) v1 v1 v1 v1 4 0 000 1+4 +1
v1 v1 v1 v2 5 0 0010 1+5 +1
v1 v1 v2 v1 5 0 0011 1+5 +1
v1 v1 v2 v2 6 0 0100 1+5
v1 v1 v1 v3 5 0 0101 1+5 +1
v1 v1 v3 v1 5 0 0110 1+5 +1
v1 v1 v3 v3 6 0 0111 1+5
v1 v2 v2 v2 7 0 1000 1+5 -1
v1 v2 v2 v1 6 0 1001 1+5
v1 v2 v1 v2 6 0 1010 1+5
v1 v2 v1 v1 5 0 1011 1+5 +1
v1 v3 v3 v3 7 0 1100 1+5 -1
v1 v3 v3 v1 6 0 1101 1+5
v1 v3 v1 v3 6 0 1110 1+5
v1 v3 v1 v1 5 0 1111 1+5 +1
(ii) v2 v2 v2 v2 8 10 000 1+5 -2
v2 v2 v2 v1 7 10 0010 1+6
v2 v2 v1 v2 7 10 0011 1+6
v2 v2 v1 v1 6 10 0100 1+6 +1
v2 v2 v2 v3 8 10 0101 1+6 -1
v2 v2 v3 v2 8 10 0110 1+6 -1
v2 v2 v3 v3 8 10 0111 1+6 -1
v2 v1 v1 v1 5 10 1000 1+6 +2
v2 v1 v1 v2 6 10 1001 1+6 +1
v2 v1 v2 v1 6 10 1010 1+6 +1
v2 v1 v2 v2 7 10 1011 1+6
v2 v3 v3 v3 8 10 1100 1+6 -1
v2 v3 v3 v2 8 10 1101 1+6 -1
v2 v3 v2 v3 8 10 1110 1+6 -1
v2 v3 v2 v2 8 10 1111 1+6 -1
(iii)v3 v3 v3 v3 8 11 000 1+5 -2
v3 v3 v3 v2 8 11 0010 1+6 -1
v3 v3 v2 v3 8 11 0011 1+6 -1
v3 v3 v2 v2 8 11 0100 1+6 -1
v3 v3 v3 v1 7 11 0101 1+6
v3 v3 v1 v3 7 11 0110 1+6
v3 v3 v1 v1 6 11 0111 1+6 +1
v3 v2 v2 v2 8 11 1000 1+6 -1
v3 v2 v2 v3 8 11 1001 1+6 -1
v3 v2 v3 v2 8 11 1010 1+6 -1
v3 v2 v3 v3 8 11 1011 1+6 -1
v3 v1 v1 v1 5 11 1100 1+6 +2
v3 v1 v1 v3 6 11 1101 1+6 +1
v3 v1 v3 v1 6 11 1110 1+6 +1
v3 v1 v3 v3 7 11 1111 1+6
시나리오(c)의3개의 서브 시나리오에서의 매 하나에 대하여 15가지 가능한 조합이 더 존재한다. 도표37에 나타낸 바와 같이 이러한 서브 시나리오에서의 매 하나에 랭크와 자리코딩기술을 사용하여 도표35에 나타낸 그들 각각의 15가지 가능한 조합에 3비트 또는 4비트를 사용한다.
적합한 상황에서 코드 향상, 코드 생략 및 기타 형식의 코드 조절기술을 사용할 수 있다. 도표38은 우선 제4 코드값을 배치한 후 제3 코드값, 제2 코드값과 제1 코드값의 순서를 통해 나머지 3개의 코드값에 인코딩하는 한가지 코드 조절방식을 나타낸다. 시나리오(c)에 단지 2개의 고유 코드값만 존재하므로 제4 코드값은 이미 1개로 계산되었고 나머지 3개의 자리는 반드시 제4 코드값과 동일한 하나 및 나머지 2개의 고유 코드값에서의 다른 하나에 의해 기입되어야 한다. 그러나 3개의 옵션에 두가지 선택이 존재하므로 비트 사용을 절감할 때 그의 불확정성을 제거하기 위하여 우선 제4 코드값 외의 하나의 코드값을 결정해야 한다. 따라서 나머지 3개의 코드값을 직접 인코딩하기 위하여 처리과정에 진입한 숫자 데이터 입력 내의 처리유닛의 제3 자리의 코드값을 인코딩하는 것은 바람직한 선택일 것이다. 이는 하나 또 하나씩 2개 또는 더 많은 동일한 코드값을 가지는 기회가 2개의 상이한 코드값을 가지는 기회보다 적은 상용적인 가정이다. 물론 처리과정에서의 숫자 데이터 입력 중인 3개의 고유 코드값에 빈도 분포 모드와 관련된 유용한 정보가 존재하면 이러한 배치선택을 조절할 수 있는데 여기서 사용 가능한 이러한 정보는 상기 변화를 담보한다. 그러나 우선 편리를 위하여 도표38은 우선 제4, 제1, 제2와 제3 비트의 순서에 따른 배치를 사용한다.
제4 코드값을 v3이라고 가정하면 기타 3개의 자리의 값은 v1, v2 또는 v3에서의 임의의 하나일 수 있다. 다른 한 코드값이 존재하는 것을 빨리 알게 될 수록 코드 향상 기술을 통해 더 많은 비트를 절약할 수 있다. 그러나 두개의 코드값에서의 하나가 v1, v2와 v3 이 3개의 값에서의 임의이 하나일 수 있으므로 그 중의 하나는 v3 일 수 있다. 따라서 v3을 향상시키는 것은 논리에 부합되는 바, 즉 우선 11로부터 0으로, 또한 그 다음 v1을 v2로 강등하고 v2를 v3으로 강등한다. 또한 만약 다른 한 코드값이 나타나면 이미 나타난 2개의 고유 코드값으로 한정할 수 있다. 제4 코드값이 이미 비트0을 사용한 코드값의 v1의 랭크를 사용하므로 나타난 제2 고유 코드값은 비트10의 코드값을 사용할 수 있다. 이러한 논리를 사용함으로써 도표38은 아래와 같이 생성된다.
도표38
시나리오(c)의 3개의 서브 시나리오 및 1개의 비트(비트0)를 사용한 시나리오 분류 코드의 코드 조절
코드 자리 비트 코드 조절 비트 +/-
제4 제1 제2 제3 신 제4 제1 제2 제3
코드
v1 v1 v1 v1 4 0 0 0 0 0 1+4 +1
v1 v1 v1 v2 5 0 0 0 0 10 1+5 +1
v1 v1 v2 v1 5 0 0 0 10 0 1+5 +1
v1 v1 v2 v2 6 0 0 0 10 1 1+5
v1 v1 v1 v3 5 0 0 0 0 11 1+5 +1
v1 v1 v3 v1 5 0 0 0 11 0 1+5 +1
v1 v1 v3 v3 6 0 0 0 11 1 1+5
v1 v2 v2 v2 7 0 0 10 1 1 1+5 -1
v1 v2 v2 v1 6 0 0 10 1 0 1+5
v1 v2 v1 v2 6 0 0 10 0 1 1+5
v1 v2 v1 v1 5 0 0 10 0 0 1+5 +1
v1 v3 v3 v3 7 0 0 11 1 1 1+5 -1
v1 v3 v3 v1 6 0 0 11 1 0 1+5
v1 v3 v1 v3 6 0 0 11 0 1 1+5
v1 v3 v1 v1 5 0 0 11 0 0 1+5 +1
v2 v2 v2 v2 8 0 10 0 0 0 1+5 -2
v2 v2 v2 v1 7 0 10 0 0 10 1+6
v2 v2 v1 v2 7 0 10 0 10 0 1+6
v2 v2 v1 v1 6 0 10 0 10 1 1+6 +1
v2 v2 v2 v3 8 0 10 0 0 11 1+6 -1
v2 v2 v3 v2 8 0 10 0 11 0 1+6 -1
v2 v2 v3 v3 8 0 10 0 11 1 1+6 -1
v2 v1 v1 v1 5 0 10 10 1 1 1+6 +2
v2 v1 v1 v2 6 0 10 10 1 0 1+6 +1
v2 v1 v2 v1 6 0 10 10 0 1 1+6 +1
v2 v1 v2 v2 7 0 10 10 0 0 1+6
v2 v3 v3 v3 8 0 10 11 1 1 1+6 -1
v2 v3 v3 v2 8 0 10 11 1 0 1+6 -1
v2 v3 v2 v3 8 0 10 11 0 1 1+6 -1
v2 v3 v2 v2 8 0 10 11 0 0 1+6 -1
v3 v3 v3 v3 8 0 11 0 0 0 1+5 -2
v3 v3 v3 v2 8 0 11 0 0 11 1+6 -1
v3 v3 v2 v3 8 0 11 0 11 0 1+6 -1
v3 v3 v2 v2 8 0 11 0 11 1 1+6 -1
v3 v3 v3 v1 7 0 11 0 0 10 1+6
v3 v3 v1 v3 7 0 11 0 10 0 1+6
v3 v3 v1 v1 6 0 11 0 10 1 1+6 +1
v3 v2 v2 v2 8 0 11 11 1 1 1+6 -1
v3 v2 v2 v3 8 0 11 11 1 0 1+6 -1
v3 v2 v3 v2 8 0 11 11 0 1 1+6 -1
v3 v2 v3 v3 8 0 11 11 0 0 1+6 -1
v3 v1 v1 v1 5 0 11 10 1 1 1+6 +2
v3 v1 v1 v3 6 0 11 10 1 0 1+6 +1
v3 v1 v3 v1 6 0 11 10 0 1 1+6 +1
v3 v1 v3 v3 7 0 11 10 0 0 1+6
여기서 시나리오(c)는 코드 향상과 코드 생략기술을 사용하여 랭크와 자리코딩기술을 사용한 것과 대체적으로 동일한 비트 사용결과(여기서 코드 향상기술을 사용하는 것이 뚜렷하게 조금 더 양호함)를 제공함을 관찰할 수 있다.
상기 결과에 근거하여 다른 한 관찰결과는 인코딩 후 확장된 그러한 코드값 항목이 더 많은 v1 코드값을 가지는 항목이라는 것이다. 따라서 만약 데이터 집합의 데이터 분포는 비트1보다 더 많은 비트0을 가지게 되면 1헤드 디자인을 코드유닛의 정의로 사용하여 상기 기술을 통해 숫자 데이터 집합을 판독함으로써 인코딩에 사용하는 것이 가장 좋으며 3개의 고유 코드값은 그 뒤에 다음과 같이 변한다.
1
01
00
이러한 방식으로 비트0은 판독될 때 v1로 변하는 것이 아니라 v2와 v3으로 샘플링된다. 따라서 상술한 바와 같이 숫자 데이터 입력이 데이터 분포 모드 변화에 대응하는 처리유닛의 크기를 동적으로 조절하는 기술을 사용하여 인코딩 기간에 동적인 코드 조절로 하여금 더 큰 유연성을 가지도록 허락하는 것은 자명한 것이다. 더 중요한 것은 데이터 해석단계기간에 정보를 수집하여 시나리오 분류 코드를 가지는 세가지 시나리오(a), (b)와(c)를 배치하고 분포함으로써 제일 빈번한 시나리오가 제일 적은 비트수를 제공하도록 할 수 있다. 또한 비트0과 비트1의 빈도 분포에 근거하여 코드유닛의 0헤드 디자인 또는 1헤드 디자인을 선택하여 사용하도록 할 수도 있다. 또한 단락[62] 및 이후에 인입되어 데이터 집합에서의 비트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 pct00029
도표39b
상이한 크기의 처리유닛에 사용되는 제일 마지막 고유 코드값에 기반하여 나타나는 시나리오 분류 코드(b)
Figure pct00030
Figure pct00031
상기 시나리오 분류 코드는 모두 비트0으로 끝나고 만약 이렇게 디자인하게 되면 비트1에서 종료되는 시나리오 분류 코드가 존재하지 않게 된다. 또는 비트1에서 종료되는 시나리오 분류 코드는 시나리오(c)와 유사한 바, 시나리오(c)의 처리유닛의 수량은 고정된 것이고 상기 처리유닛은 상기 점까지 하나 또는 두개의 고유값만 포함, 즉 시나리오(c)를 대체하며 4코드유닛은 3개보다 적은 고유값을 포함하고 5코드유닛은 3개보다 적은 고유값을 포함하며 6코드유닛 또는 7코드유닛은 이로써 유추되는데 이는 시나리오 코드가 가지는 이진 비트수에 의해 결정된다.
[104] 따라서 시나리오(a)와 (b)의 비트 사용도표는 아래와 같이 수정될 수 있다.
도표40
3개의 고유 코드값이 랭크와 자리방면에서의 6가지 가능한 조합의 RP코드분포
상황 RP코드 비트 +/- 조합 비트
코드 랭크와 자리방면
0/10 00 1/2+2 -1/-2 v1v2v3 5
0/10 01 1/2+2 -1/-2 v1v3v2 5
0/10 100 1/2+3 -1/-1 v2v1v3 5
0/10 101 1/2+3 0/-1 v2v3v1 5
0/10 110 1/2+3 0/-1 v3v1v2 5
0/10 111 1/2+3 0/-1 v3v2v1 5
도표41
시나리오(b)의 3개의 서브 시나리오 및 코드 향상과 코드 생략
코드 자리& 코드 향상&코드 생략
코드값 시나리오
코드 내용코드
제4 제1 제2 제3 비트 제4 제3 제2 제1 비트 +/-
v1 v2 v2 v3 7 0/10 0 1 0 0 1/2+4 -2/-1
v1 v2 v3 v2 7 0/10 0 0 1 0 1/2+4 -2/-1
v1 v2 v3 v3 7 0/10 0 1 1 [] 1/2+3 -3/-2
v1 v3 v2 v2 7 0/10 0 0 0 [] 1/2+3 -3/-2
v1 v3 v2 v3 7 0/10 0 1 0 1 1/2+4 -2/-1
v1 v3 v3 v2 7 0/10 0 0 1 1 1/2+4 -2/-1
v2 v1 v1 v3 6 0/10 10 1 0 0 1/2+5 0/+1
v2 v1 v3 v1 6 0/10 10 0 1 0 1/2+5 0/+1
v2 v1 v3 v3 7 0/10 10 1 1 [] 1/2+4 -2/-1
v2 v3 v1 v1 6 0/10 10 0 0 [] 1/2+4 -1/0
v2 v3 v1 v3 7 0/10 10 1 0 1 1/2+5 -1/0
v2 v3 v3 v1 7 0/10 10 0 1 11 1/2+5 -1/0
v3 v1 v1 v2 6 0/10 11 1 0 0 1/2+5 0/+1
v3 v1 v2 v1 6 0/10 11 0 1 0 1/2+5 0/+1
v3 v1 v2 v2 7 0/10 11 1 1 [] 1/2+4 -2/-1
v3 v2 v1 v1 6 0/10 11 0 0 [] 1/2+4 -1/0
v3 v2 v1 v2 7 0/10 11 1 0 1 1/2+5 -1/0
v3 v2 v2 v1 7 0/10 11 0 1 1 1/2+5 -1/0
도표40에서 알 수 있다 시피 시나리오(a)가 하나의 비트0을 사용하고 현재 시나리오3 코드유닛으로 다시 명명되므로 인코딩결과는 이러한 시나리오에 더 양호할 수 있다. 도표41에서의 시나리오4 코드유닛의 비트 사용결과는 단지 그 전과 동일할 뿐이다. 그러나 수많은 다른(또는 제일 나쁜 상황에서 심지어는 무한하게) 상이한 크기의 처리유닛이 존재할 가능성을 고려하여 반드시 더 간단한 논리가 존재하여 발생할 가능성이 있는 무한한 수량의 시나리오를 프로그래밍하도록 한다. 따라서 모든 이러한 시나리오를 인코딩하는 논리는 다음과 같이 변화할 수 있다.
(a)모든 관련된 코드유닛의 정의를 사용하여 진입한 3개의 연속된 데이터 코드값을 판독하고 종료 조건에 부합되는지 여부를 결정하되, 상기 종료 조건은 현재까지 판독한 연속된 데이터 코드값으로서 디자인한 코드유닛에 근거한 모든 고유 데이터 코드값[즉 이러한 상황에서 현재까지 판독한 코드유닛이 모든 3개의 고유 코드값을 포함하지 않을 경우 단계(b)로 넘어가고 그러지 않을 경우 단계(c)로 넘어감]을 포함한다.
(b)1개의 데이터 코드값[즉 현재까지 앞에서 판독한 코드유닛이 모든 3개의 고유 코드값을 포함하지 않을 경우]을 판독하고 판독한 코드유닛이 모든 3개의 고유 코드값[즉 이러한 상황에서의 종료 조건]을 포함할 때까지 매번마다 종료 조건을 만족하는지 여부를 평가하며 만약 종료 조건을 만족하면 단계(c)로 넘어간다.
(c)이렇게 판독한 데이터 코드값이 모든 고유 데이터 코드값[3값 코드유닛의 이러한 상황에서는 3]을 포함할 경우 이렇게 판독한 데이터 코드값의 수량을 계산하고 대응되는 시나리로 분류 코드값을 결정하는 동시에 이를 기입하며 그 다음 판독과 완전히 같도록 제일 마지막에 판독한 데이터 코드값을 기입한다.
(d)1비트코드를 사용하고 기입하여 존재하는 별도의 두개의 고유 코드값에서의 어느 하나[3값 코드유닛의 이러한 상황에 대하여, 비트0은 단계(c)에서 판독하고 기입한 제일 마지막 하나의 고유 데이터 코드값을 제외한 나머지 두개의 고유 데이터 코드값의 제일 높은 랭크의 고유 데이터 코드값에 사용되고 비트1은 비교적 낮은 랭크의 하나의 코드값에 사용되며 반대로 적합한 상황에서 이는 디자인에 의해 결정됨]를 식별하여 처음으로부터 제1 자리에서 판독한 하나의 코드값[본 단계(d)에서 제기한 비트0 또는 비트1을 사용하여 이를 대체하거나 인코딩]을 제일 마지막 자리 이전의 하나의 코드값이 될 때까지 기입하며 적합한 상황에서 내용코드 조절 기술[적합한 상황에서 내용코드 랭크와 자리코딩, 내용코드 향상, 내용코드 생략, 내용코드 강등 및 내용코드 복구를 포함]을 사용한다.
(e)처리중의 처리유닛을 인코딩, 즉 단계(a)에서 판독한 제일 마지막 한 자리 이전의 하나의 데이터 코드를 인코딩한 후 암호화되지 않은 코드유닛이 시작된 점에 도달할 때까지 순환적으로 단계(a)로 돌아간다.
이상에서 수정한 인코딩 단계에 따라 아래와 같이 시나리오3 코드유닛으로부터 시작되는 비트 사용도표를 수정할 수 있다.
도표42
시나리오3 코드유닛의 인코딩과 비트 사용
코드 자리&
코드값 시나리오
코드 내용코드
코드 조절
제3 제1 제2 비트 제3 제1 제2 비트 +/-
v1 v2 v3 5 0/10 0 0 [] 1/2+2 -2/-1
v1 v3 v2 5 0/10 0 1 [] 1/2+2 -2/-1
v2 v1 v3 5 0/10 10 0 [] 1/2+3 -1/0
v2 v3 v1 5 0/10 10 1 [] 1/2+3 -1/0
v3 v1 v2 5 0/10 11 0 [] 1/2+3 -1/0
v3 v2 v1 5 0/10 11 1 [] 1/2+3 -1/0
여기서 []는 논리적 추론을 통한 코드 생략을 대표하고 제1 자리의 데이터 코드값을 인코딩하는 비트0과 비트1은 적합한 상황에서 코드 향상을 사용하는 코드 조절이다.
도표43
시나리오4 코드유닛의 인코딩과 비트 사용
코드 자리& 코드 향상&코드 생략
코드값 시나리오
코드 내용코드
제4 제1 제2 제3 비트 제4 제1 제2 제3 비트 +/-
v1 v2 v2 v3 7 0/11 0 0 0 [] 1/2+3 -3/-2
v1 v2 v3 v2 7 0/11 0 0 1 0 1/2+4 -2/-1
v1 v2 v3 v3 7 0/11 0 0 1 1 1/2+4 -2/-1
v1 v3 v2 v2 7 0/11 0 1 0 0 1/2+4 -2/-1
v1 v3 v2 v3 7 0/11 0 1 0 1 1/2+4 -2/-1
v1 v3 v3 v2 7 0/11 0 1 1 [] 1/2+3 -3/-2
v2 v1 v1 v3 6 0/11 10 0 0 [] 1/2+4 -1/0
v2 v1 v3 v1 6 0/11 10 0 1 0 1/2+5 0/+1
v2 v1 v3 v3 7 0/11 10 0 1 1 1/2+5 -1/0
v2 v3 v1 v1 6 0/11 10 1 0 0 1/2+5 0/+1
v2 v3 v1 v3 7 0/11 10 1 0 1 1/2+5 -1/0
v2 v3 v3 v1 7 0/11 10 1 1 [] 1/2+4 -2/-1
v3 v1 v1 v2 6 0/11 11 0 0 [] 1/2+4 -1/0
v3 v1 v2 v1 6 0/10 11 0 1 0 1/2+5 0/+1
v3 v1 v2 v2 7 0/10 11 0 1 1 1/2+5 -1/0
v3 v2 v1 v1 6 0/11 11 1 0 0 1/2+5 0/+1
v3 v2 v1 v2 7 0/11 11 1 0 1 1/2+5 -1/0
v3 v2 v2 v1 7 0/11 11 1 1 [] 1/2+4 -2/-1
이상의 도면으로부터 알 수 있다 시피, 만약 시나리오3 코드유닛이 10을, 시나리오4 코드유닛이 0을 시나리오 분류 코드로 사용하면 모든 항목은 균등하거나 또는 비트 사용 절역결과를 가질 수 있다.
시나리오5 코드유닛의 인코딩과 비트 사용은 조금 길고 복잡하여 이를 나열할 수 없다. 그러나 인코딩은 동일한 논리를 따르므로 아래와 같이 비트 사용 결과를 간단하게 토론할 수 있다.
[105]시나리오4 코드유닛은 시나리오 코드10을 토론의 기초로 사용한다. 18개의 암호화 항목에 대하여 비트 사용은 6개의 비트(즉 평균 10개 비트에서 4개 비트를 손실하게 됨)를 절약한다. 만약 시나리오5 코드유닛이 시나리오 코드110을 사용하면 이는 그가 매 하나의 암호화 항목에 사용되는 시나리오 코드에서 하나의 비트를 더 사용하게 됨을 의미하지만 이는 다른 한 부가적인 데이터 코드값에 대해 인코딩할 기회가 생기게 된다.
0헤드 디자인의 3값 코드유닛의 3개의 고유 데이터 코드값이 도표44에서의 빈도 분포는 우선권 요구에서의 상기 PCT출원에서 제기한 자동 프로그램을 작동함으로써 발생한다.
도표44
80000개의 무작위 비트를 사용하는 3값 코드유닛의 빈도분포
0 : 26536
10 : 13156
11 : 13576
[106] 알 수 있다 시피, 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개의 비트를 절약하는 기회는 4분의 3인 바, 즉 4분의3개의 비트를 절약한다. 마찬가지로 논리적 추론을 통해 만약 제1 값, 제2 값과 제3 값이 동일한 고유 데이터 코드값이면 제4 값을 유도해낼 수 있으므로 이러한 상황에 사용되는 비트 사용은 2개의 비트 또는 1개의 비트일 것이다. 따라서 총적으로 말하면 시나리오수가 4개의 코드유닛으로부터 5개의 코드유닛 및 이후의 수의 유닛 등으로 증가할 경우 많은 손실이 없게 된다. 만약 시나리오4 코드유닛이 10(2비트)을 사용함을 고려할 경우 평균적으로 18개의 암호화 항목에서 6개의 비트의 비트 사용을 절약한다. 시나리오수가 3개의 코드유닛으로부터 증가하기 시작함을 고려할 경우 이러한 시나리오에 사용되는 80000개의 무작위 비트의 빈도 분포는 감소되고 있어 전반적인 무작위 데이터 집합이 전체 비트 사용을 절약할 수 있는 가능성이 매우 크다. 비트 사용을 절약하는 최적화 결과의 방식으로 처음 3개의 제일 빈번한 시나리오의 분포를 다시 조절할 수 있다.
[107] (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개 비트를 손실)를 절약한다. 모든 3개의 시나리오(a), (b)와 (c)가 모두 비트 사요을 절약한 것 같다. 그러나 결과는 여전히 이 세가지 시나리오에서의 매 한가지 상황에서의 매 하나의 암호화 항목의 빈도분포에 의해 결정된다. 그러나 80000개의 무작위 비트의 이 세가지 시나리오를 사용하는 도표45에서의 빈도 분포는 우선권 요구에서의 상기 PCT출원에서 나열한 자동 프로그램을 작동시켜 발생할 수 있다.
[108] 이렇게 발생한 도표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에 나열되는 바, 나열된 것은 그 중의 하나의 생성된 구현예로서 그들이 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)의 시나리오 코드분포
시나리오 코드 시나리오 %
1 (c) 62.32
01 (a) 19.01
00 (b) 18.67
시나리오(c)이 대부분의 처리유닛을 점유하므로 제일 짧은 시나리오 코드 비트1을 제공해야 하고 또 이는 비트1 비율을 증가하기 위한 것이므로 시나리오 코드의 1헤드 디자인을 사용한다. 같은 원인으로 시나리오(a)와 (b)는 각각 시나리오 코드 비트 01과 00으로 분포된다.
다른 한 개선은, 두개의 동일한 데이터 코드값이 서로 이웃하는 확률이 비교적 작다고 가정하는 상황에서 반대되는 자리 배치를 이용하여 암호화된 데이터 코드를 배치, 즉 제4, 제3, 제2와 제1 자리의 반대순서에 따라 배치하는 것인데 이는 시나리오(c)에 있어서는 유리한 것이며 제4 데이터 코드값이 나타나는 확률에 있어서는 다음의 고유 데이터 코드값이 나타나는 확률을 증가한다. 더 중요한 것은, 진일보로 되는 분석을 거쳐 암호화된 데이터 코드는 그의 상대 자리의 반대에 따라 배치됨으로써 데이터 코드의 정렬에 다른 특성 또는 특징(상기 특성은 제일 마지막 하나의 데이터 코드값이 제일 마지막 하나 이전의 한 데이터 코드값과 상이한지 여부)을 형성하며 상기 특성 또는 특징은 압축하여 비트를 저장할 때에 충분히 이용되도록 한다. 상기 특징은 종료 조건의 디자인과 관련된다. 간단함을 위하여 우선 다른 한 유사한 종료 조건을 사용하여 설명할 수 있다. 현재 종료 조건은 3개의 코드유닛에 정지되고 데이터 코드값은 단지 두 그룹 또는 두 부류로 분류될 수 있는데 하나는 3값 코드유닛을 가지는 모든 고유 데이터 코드값의 3코드유닛이고 다른 하나는 모든 고유 데이터 코드값을 가지지 않는 3코드유닛이다. 따라서 이는 제1 클라스에 3개의 고유 코드값이 존재하고 제2 클라스에 2개의 고유 코드값이 존재하며 그 중 1개의 고유 코드값이 손실됨을 의미한다.
[109] 따라서 도표45의 결과에 근거하여 이 두개의 클라스는 아래의 빈도(도표47에 나열된 바와 같이)를 가진다.
도표47
80000비트의 무작위 데이터 집합에서의 2부류의 처리유닛의 빈도분포: 1개 비트는 모든 3개의 고유 데이터 코드값(클라스A)을 가지고 다른 1개의 비트는 3개보다 적은 고유 데이터 코드값(클라스B)을 가진다.
클라스 빈도 %
A 1606 19
B 6843 81
합계 8449 100
클라스B는 절대다수의 데이터 코드값을 가진다. 그러나 이 특징에 근거하여 이러한 처리유닛을 구획할 수 있는데 이 특징은 데이터 코드값이 그들의 상대자리에 대해 반대로 배치하는데 관한 것이다. 이러한 데이터 코드값의 반대로의 배치에 대한 한가지 모드와 디자인은 우선 제3 데이터 코드값을 배치한 후 제2 데이터 코드값을 배치하며 그 다음 제1 데이터 코드값을 배치하는 것이다. 따라서 모든 3개의 고유 데이터 코드값을 가지는 처리유닛에 대하여 제3과 제2 데이터 코드값은 반드시 상이해야 하고 모든 3개의 고유 데이터 코드값을 가지지 않는 처리유닛에 대하여 제3과 제2 데이터 코드값의 값은 동일하거나 상이할 수 있다. 이러한 특징을 다른 한 분류표준으로 사용하면 비트 저장방면에서 더 양호한 결과를 발생할 수 있다. 따라서 마찬가지로 대응되게 시나리오 코드를 분포할 수 있다. 따라서 서브 시나리오 코드 비트1을 그 중의 제3과 제2 데이터 코드값이 동일한 처리유닛에 분포하고 비트0을 그 중의 제3과 제2 데이터 코드값이 상이한 처리유닛에 분포할 수 있다. 여기ㅢ 시나리오 클라스0에 대하여 별도의 서브 시나리오 코드 비트를 분포하거나 또는 첸 코딩의 다른 한 신규 특징을 사용하여 이러한 서브 시나리오 코드 비트와 내용코드 비트를 조합할 수 있는데 상기 신규 특징은 사후 분류의 용도 또는 사후 분류 코드가 첸 코드의 내용코드 내에서의 배치이다. 도표47에서의 종료 조건으 사용함으로써 3개의 3값 코드유닛의 처리유닛의 실제 인코딩을 사용하여 첸 코딩의 이러한 인코딩 기술을 더 잘 해석할 수 있는 바, 이는 아래의 도표48에 나열된 바와 같다.
도표48
시나리오 클라스0과 시나리오 클라스1에 분포한 시나리오 코드: 인코딩과 비트 사용 및 비트1/비트0의 변화에 따라 변화
데이터 코드 내용코드
코드 조절
제3제2제1 비트 시나리오 제3 제2 제1 비트 +/- 비트1/비트0
코드값 코드
클라스B
v1v1v1 3 1 0 [] 0 1+2 0 +1/-1
000
v1v1v2 4 1 0 [] 10 1+3 0 +1/-1
0010
v1v1v3 4 1 0 [] 11 1+3 0 +1/-1
0011
v2v2v2 6 1 10 [] 10 1+5 -1 0/-1
101010
v2v2v1 5 1 10 [] 0 1+3 -1 0/-1
10100
v2v2v3 6 1 10 [] 11 1+4 -1 0/-1
101011
v3v3v3 6 1 11 [] 11 1+4 -1 -1/0
111111
v3v3v1 5 1 11 [] 0 1+3 -1 -1/0
11110
v3v3v2 6 1 11 [] 10 1+4 -1 -1/0
111110
=== ===
-6비트 0/-6
9개 항목 조합에서
v1v2v1 4 01 0 0 0 2+2 +1 0/+1
0100
v1v2v2 5 01 0 0 1 2+3 0 0/0
01010
v1v3v1 4 01 0 1 0 2+3 +1 0/+1
0110
v1v3v3 5 01 0 1 1 2+3 0 -1/+1
01111
v2v1v1 4 01 10 0 0 2+4 +2 +1/+1
1000
v2v1v2 5 01 10 0 1 2+4 +1 +1/0
10010
v2v3v2 6 01 10 1 0 2+4 0 -1/+1
101110
v2v3v3 6 01 10 1 1 2+4 0 -1/+1
101111
v3v1v1 4 01 11 0 0 2+4 +2 +1/+1
1100
v3v1v3 5 01 11 0 1 2+4 +1 0/+1
11011
v3v2v2 6 01 11 1 0 2+4 0 0/0
111010
v3v2v3 6 01 11 1 1 2+4 0 0/0
111011
=== ===
+8비트 0/+8
12개 항목 조합에서
클라스A
v1v2v3 5 00 0 0 [] 2+2 -1 -3/+2
01011
v1v3v2 5 00 0 1 [] 2+2 -1 -2/+1
01110
v2v1v3 5 00 10 0 [] 2+3 0 -2/+2
10011
v2v3v1 5 00 10 1 [] 2+3 0 -1/+1
10110
v3v1v2 5 00 11 0 [] 2+3 0 -1/+1
11010
v3v2v1 5 00 11 1 [] 2+3 0 0/0
11100
=== ====
-2 -9/+7
6개 항목 조합에서
이상으로부터 알 수 있다 시피 결과는 매우 근접하다. 도표48에서의 시나리오 코드1이 분포된 처리유닛의 인코딩 논리는 다음과 같다.
(a) 숫자 데이터 입력에서 데이터 코드값을 판독한 후, 또한 처리 중인 처리유닛의 데이터 분포의 성질을 결정한 후 만약 처리유닛이 그 중의 제3과 제2 데이터 코드값이 동일한 클라스에 속하면 시나리오 크드비트1을 기입한다.
(b)제3 데이터 코드값을 그대로 기입한다.
(c)논리를 통해 제2 데이터 코드값을 생략하되, 제2 데이터 코드값과 제3 데이터 코드값이 동일하므로 논리적 추론을 통해 생략할 수 있다.
(d)코드유닛을 디자인하여 판독한 원시적인 데이터 코드값을 사용하여 제 데이터 코드값을 기입하되, 처리유닛이 모든 3개의 고유 데이터 코드값을 가지는 처리유닛이므로 이는 하나 또는 두개의 데이터 코드값만 가질 수 있다. 하나의 데이터 코드값이 이미 제3 데이터 코드값으로 나타났으나 세가지 옵션이 선택할 수 있도록 제공되므로 제1 비트 자리값은 직접적으로 판독 및 기입(또는 제3 자리에 존재하는 코드값이 비트0으로 향상되고 기타 두개의 나머지 값이 그들의 상대 랭크에 근거하여 비트10 또는 비트11로 조절되며 제1 비트 자리값은 그 다음 이러한 조절을 거친 코드를 사용함)할 수밖에 없다.
도표48에서의 시나리오 코드0이 분포된 처리유닛에 대해 인코딩하면 다음과 같다.
(i) 숫자 데이터 입력에서 데이터 코드값을 판독한 후, 또한 처리 중인 처리유닛의 데이터 분포의 성질을 결정한 후 만약 처리유닛이 그 중의 제3과 제2 데이터 코드값이 상이하고 그 중에 모든 고유 데이터 코드값이 존재하는 클라스에 속하면 그를 위해 시나리오 크드비트1을 기입하며; 만약 처리유닛이 그 중의 제3과 제2 데이터 코드값이 상이하지만 그 중에 모든 고유 데이터 코드값이 존재하지 않는 클라스에 속하면 그를 위해 시나리오 코드비트01을 기입한다.
(ii)제3 데이터 코드값을 그대로 기입한다.
(iii)아래의 인코딩 논리를 사용하여 시나리오 코드00을 가지는 처리유닛을 위해 제2 데이터 코드값을 기입하되, 그가 모든 고유 데이터 코드값을 가지고 하나의 데이터 코드값이 이미 제3 데이터 코드값으로 나타날 경우 여전히 두개의 옵션을 선택할 수 있으므로 하나의 비트를 사용하여 어느 하나를 제2 데이터 코드값(비트0은 비교적 작은 값에 사용되고 비트1은 비교적 큰 값에 사용되며 적합한 상황에서 0헤드 디자인에서는 v1을 제일 작은 값으로, v3을 제일 큰 값으로 디자인 할 수 있음)으로 나타나도록 지시하거나; 또는 아래의 인코딩 논리를 사용하여 시나리오 코드01을 가지는 처리유닛을 위해 제2 데이터 코드값을 기입하되, 그가 모든 고유 데이터 코드값을 가지지 않고 하나의 데이터 코득값이 이미 제3 데이터 코드값으로 나타날 경우 여전히 2개의 선택(두개의 고유값이 존재하지 안ㅎ음)이 있을 수 있어 선택할 수 있으며 이 시나리오 클라스0이 그 중의 제3과 제2 데이터 코드값이 상이한 클라스로 정의되므로 하나의 비트를 사용하여 어느것이 제2 데이터 코드값(비트0은 비교적 작은 값v1에 사용되고 비트1은 비교적 큰 값v3에 사용됨)으로 나타날 것인지를 지시할 수 있다.
(iv)시나리오 코드00이 분포된 처리유닛에 대하여 제1 데이터 코드값을 생략할 수 있는 바, 시나리오 코드01이 분포되어 있는 처리유닛에 대하여 아래의 인코딩 논리를 사용하여 제1 데이터 코드값을 인코딩하고 기입할 수 있는데 두개의 상이한 데이터 코드값이 이미 제3과 제2 자리에 나타날 경우 시나리오 클라스01은 그 중에 전부의 3개의 고유 데이터 코드값이 존재하지 않으며 이는 제1 자리에서의 데이터 코드값이 반드시 제3과 제2 자리에서의 두개의 값에서의 하나이므로 다른 한 비트를 사용하여 제1 자리 데이터 코드값(비트0은 비교적 작은 값v1에 사용되고 비트1은 비교적 큰 값v3에 사용됨)을 인코딩하고 기입한다.
[110]한가지 형식으로 사후 분류를 사용하게 되면 진일보로 조금씩 비트 저장을 감소시키는데 도움이 될 수 있다. 본 구현예에서는 사후 분류 코드의 배치가 두가지 방식으로 완성될 수 있다.
(a)시나리오 코드00과 01이 분포된 처리유닛에 대하여 제2 비트는 그가 클라스A(모든 고유 데이터 코드값을 가지는 클라스)에 속하는지 아니면 클라스B(모든 고유 데이터 코드값을 가지지 않는 클라스)에 속하는지를 구분하는데 사용된다. 아래의 내용코드를 조합하는 것을 통해 시나리오 코드의 제2 비트를 생략할 수 있는데 클라스A에서의 제2 데이터 코드값의 비트(또한 제2 데이터 코드값에 사용되는 비트를 가짐)를 인코딩하고 클라스B의 제1 데이터 코드값의 비트를 조합하는데 사용되므로 이러한 암호화된 코드는 6가지 조합으로 나타내고 도표49에서의 아래의 분포에 이 6가지 조합의 암호화된 코드값을 기입한 후 2비트 또는 3비트를 사용한다.
도표49
내용코드와 결합한 시나리오 코드
Figure pct00032
이상의 분포를 사용함으로써 시나리오 코드00과 01의 제2 비트를 취소할 수 있고 이러한 처리유닛을 위해 기입한 첫번째 암호화된 코드는 시나리오 코드0이며, 그 다음 이어서 기입한 제3 데이터 코드값이 판독된 바와 같고, 그 다음 이어서 이상에서 2비트부터 3비트가 결합된 시나리오와 내용코드를 기입한다. 비트 사용방면에서 비트 사용의 결과는 도표48에서 발생한 결과와 완전히 동일하다. 또한,
(b)그러나 아래의 논리를 사용함으로써 시나리오 코드와 내용코드를 서로 결합하는 다른 한 새로운 방법이 존재한다.
(i)시나리오 코드0을 인코딩하고 기입하며 시나리오 코드0에서의 그러한 처리유닛의 제3 데이터 코드값과 제2 데이터 코드값에 사용될 경우(제2 비트는 제거하도록 디자인됨) 하나의 종료 코드를 창조할 수 있는데 상기 종료 코드는 시나리오 코드0의 제2 비트와 시나리오 코드0에서의 클라스B의 제1 데이터 코그밧의 내용코드가 병합되어 형성된 것으로서 도표50에서 아래와 같이 나타낼 수 있다.
도표50
사후 혼합 분류와 내용코드를 종료 코드로 사용
Figure pct00033
또한 디코딩할 경우 이러한 종료 코드를 사용하여 원시적인 숫자 데이터 정보를 정확하게 복구하도록 한다.
이는 데이터 분포에 관한 처리유닛의 빈도 분포에 의해 결정된다. 상기 기술은 더 양호한 비트 저장의 절약에 사용될 수 있다. 상기 80000비트의 구현에서 사용하는 무작위 데이터 집합, 클라스B 처리유닛의 빈도는 처리유닛의 총수(도표45에서 나열한 바와 같이 8449)에서 6843이다. 이 6843에는 약 절반이 시나리오01에 사용되고 또 그 중의 절반이 제1 데이터 코드값을 가지며 인코딩할 경우 비트0을 사용하는데 이 값은 지금 종료 코드비트1로 표시되고 시나리오 코드01의 제243개의 처리유닛의 비트는 제거되므로 이 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코드유닛과 나머지 코드유닛을 사용하는데 응용될 수 있다.
[111]두개의 시나리오 0과 1로 분류된 클라스A와 클라스B의 처리유닛의 선행 구현예는 데이터 코드값이 어떻게 혼합 분류하고 내용코드에서 조합 분류하며 사후방식으로 배치할 수 있는지를 나타내는데 이는 앞 자리에서의 상용적인 배치와 반대된다. 데이터 분류의 다른 한 신규 특징은 임베디드방식 또는 내부 분류 코드에만 사용될 수 있다. 도표51은 이러한 신규 특징을 사용하는 결과를 나타낸다.
도표51a
Figure pct00034
도표51b
제3과 제2 데이터 코드값이 동일한 값인지 여부를 판단하는 표준을 사용하여 세부화한 클라스B 처리유닛의 내부 또는 임베디드방식의 분류 코드
Figure pct00035
Figure pct00036
Figure pct00037
Figure pct00038
클라스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으로 복구되는데 이는 내용코드 부분내에서 틀리지 않을 것이며 인코딩 처리유닛의 헤드 부분의 분류 코드로 사용되지 않기 때문이다. 이상의 구현예에서는 비록 수정이 존재하지만 이로써 내용코드를 분류 코드로 사용하는 이러한 기술의 유용성을 생동하게 나타냈다. 이는 첸 코드를 발생하는 첸 코딩에 사용되는 다른 한가지 기술이다.
[112] 도표52에 나타낸 바와 같이 분류 코드는 내용코드(약간 수정)를 사용하여 대체할 수 있는 바, 아래와 같이 나타낸다.
도표52
제3과 제2 데이터 코드값이 동일한 값인지 여부를 판단하는 표준의 수정한 내용코드를 분류 코드로사용하여 클라스B 처리유닛을 구획
Figure pct00039
Figure pct00040
Figure pct00041
[113] 상기 여러가지 분류 기술을 개시한 후 어떤 기술이 처리 중인 숫자 데이터 집합에 제일 유용한 것인지를 평가한다. 또한 선택하여 사용한 분류 기술에 근거하여 인코딩과 디코딩에 사용되는 데이터 코드값의 재분류와 재분포가 예정된 목적에 대하여 필요하고 적당한 것임을 발견했다. 도표53은 "제일 유용한 기술은 데이터 코드값을 정확히 분류하는 특성을 정확히 식별하는 것"이라는 점을 고려한 결과이다. 토론하고 있는 본 디자인과 모드에 있어서 이미 수많은 기술을 개발, 디자인하고 실현하여 앞의 단락에 나타난 도표에 사용했다. 관찰할 수 있다 시피, 일부 코드항목 조합이 비록 비트를 절약하였으나 기타 코드가 발생한 비트 손실은 이러한 절약을 상쇄시키거나 심지어 이러한 절약보다 더 많다. 따라서 이러한 특성 또는 특징은 반드시 조사되어야 할 하나의 특징인 바, 즉 이상에서 토론한 첸 코딩의 여러 가지 기술을 사용하여 인코딩을 진행할 경우 비트 손실이 있는 문제의 항목 조합을 찾아내는 것이다. 만약 손실을 가져오는 문제가 있는 항목 조합을 조합하고 또 마찬가지로 절약을 가져오는 양호한 항목 조합을 조합하게 되면 성공할 기회를 증가할 수 있게 됨은 자명한 것이다. 도표53은 여기서 이를 데이터 분류의 주요 표준으로 하고 그 다음의 인코딩에서 코드 향상, 코드 생략, 코드 대체 및 제일 주요한 절대 어드레스 분기기술에 범위를 추가하여 사용하는 것을 포함하는 코드 조절과 같은 첸 코딩의 기타 기술을 사용한다.
도표53
코드 재분포 이전에 압축 가능한 것과 압축 불가능한 데이터 값 항목에 의해 데이터를 분류하되 단락[75]에서의 도표21을 사용한 빈도를 가진다.
압축 불가능한 클라스: AAB기술을 사용하여 범위 인코딩을 진행(실제값 범위: 7, 하한값 범위: 4를 위한 2비트; 상한값 범위: 8을 위한 3비트)
Figure pct00042
압축 가능한 클라스; 그 중의 제3과 제2자리 값이 상이하고 코드 조절기술을 사용하여 인코딩.
Figure pct00043
압축 가능한 클라스; 그 중 제3과 제2자리 값이 동일하고 코드 조절기술을 사용하여 인코딩한다.
Figure pct00044
압축 가능한 클라스: 그 중 아래의 2개의 항목조합은 재분포의 예외인 바,적합한 곳에서 앞의 두개의 항목조합과 상이하다.
Figure pct00045
압축 가능한 클라스: 여기서 모든 3개의 코드값은 모두 유일한 것이고 암호화된 코드는 재분포 됨.
Figure pct00046
[114] 이상의 도표53에서 알 수 있다 시피 반드시 다음과 같은 2가지 유형의 코드 조절을 진행해야 한다.
(a)코드교환; v2v1v2와 v3v1v3은 각각 원래의 코두가 사용하는 5비트의 암호화된 코드가 아닌 6비트의 암호화된 코드를 사용하여 비트 소모를 발생하게 되므로 그들의 암호화된 코드는 반드시 v2v2v3과 v3v3v2와 교환해야 하는데 그 중 매 하나마다 모두 원래의 코드가 사용하는 6비트가 아닌 5비트를 사용하게 되어 비트 이득이 발생하게 되며, 따라서 이러한 쌍 사이에 암호화된 코드를 교환함으로써 비트 사용의 평형을 이룰 수 있어 비트 소모 또는 비트 이득을 발생하지 않게 된다.
(b)코드 재분포 또는 재분포 또는 재기입; 동일한 제3과 제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개의 빈 코드 어드레스가 재기입이 필요하다. 우선 두개의 이상 항목 조합을 사용하여 v2v2v2와 v3v3v3 이 두개의 빈 코드 자리를 기입할 수 있다. 그러므로 4개의 빈 코드 자리만 남게 된다. 즉 2개는 4비트를 사용하고 2개는 5비트를 사용하여 압축 가능한 클라스의 6개의 항목 조합을 수용하는데 여기서 처리유닛은 5비트를 사용하는 3개의 고유 데이터 코드값을 가진다. 따라서 모든 3개의 고유 데이터 코드값을 가지는 5비트가 수용되지 않은 처리유닛의 앞의 두개를 사용하여 먼저 두개의 빈 코드자리를 재기입 할 수 있고 나머지 4개의 수용되지 않은 5비트 처리유닛은 나머지 2개의 4비트 코드의 빈 어드레스에 남게 된다. 또한 도표54는 이러한 코드 재분포의 상황을 아래와 같이 나타낸다.
도표54
코드 재분포를 진행할 경우 압축 가능한 것과 압축 불가능한 데이터 값 항목의 데이터 분류에 의해 단락[75]에서의 도표21을 사용한 빈도를 가진다.
압축 불가능한 클라스: AAB기술을 사용하여 범위 인코딩을 진행
Figure pct00047
압축 가능한 클라스; 그 중의 제3과 제2자리 값이 상이하고 코드 조절기술을 사용하여 인코딩.
Figure pct00048
Figure pct00049
Figure pct00050
압축 가능한 클라스; 그 중의 제3과 제2자리 값이 동일하고 코드 조절기술을 사용하여 인코딩.
Figure pct00051
[115]그러므로 현재까지 나머지 4개의 비트 처리유닛에서의 두개를 반드시 사용하여 나머지 두개의 4비트의 빈 코드 어드레스를 재기입함으로써 매 하나의 자리를 위해 1비트를 절약하고 또 나머지 두개의 수용되지 않은 5비트 처리유닛에 대해 반드시 AAB기술을 사용하여 그들로 하여금 2개의 6비트의 코드 어드레스(최저 빈도를 가지는 항목 조합을 선택)를 배가하도록 해야 할 것 같으나 그들이 이미 기타 2개의 항목 조합에 의해 점유되어 3개의 7비트의 항목 조합 및 2*(7-5+7-6)=6 비트 손실을 발생하게 된다. 그러나 이는 AAB기술의 적당한 용도로서 한가지 새로운 방식으로 새로운 코드 어드레스를 창조하는 것이 이의 목적이다. 따라서 AAB기술을 사용하여 2개의 4비트의 빈 코드 어드레스에 한 비트를 추가하여 2*2개의 5비트의 빈 코드 어드레스를 획득함으로써 4개의 사용 가능한 5비트의 빈 코드 어드레스를 구성하여 모든 3개의 데이터 코드값을 가지는 4개의 5비트가 수용되지 않은 처리유닛을 충분히 포용하도록 하고 그 어떤 비트 손실도 초래하지 않는다. 최종 결과는 비트 사용 방면에서 모두 균등한 바, 이 구현예에서 비트 이득 또는 비트 손실이 없다는 것에 대하여 아래 도표55에서 다음과 같이 나열한다.
도표55
도표53에 나열된 코드 어드레스와 코드 항목값을 재분포 한 후 균등상황이 출현
압축 불가능한 클라스: AAB기술을 사용하여 범위 인코딩을 진행
Figure pct00052
Figure pct00053
압축 가능한 클라스; 그 중의 제3과 제2자리 값이 상이하고 코드 조절기술을 사용하여 인코딩.
Figure pct00054
Figure pct00055
압축 가능한 클라스; 그 중의 제3과 제2자리 값이 동일하고 코드 조절기술을 사용하여 인코딩.
Figure pct00056
Figure pct00057
[116] 이상의 압축 불가능한 클라스와 압축 가능한 클라스의 빈도는 약간 상이한 바, 그 중의 제1 클라스는 8897개의 처리유닛을 가지고 제2 클라스는 8888개의 처리유닛을 가진다. 그러나 제2 클라스가 시나리오10과 11에 분포되므로 비대칭은 비트0 비율이 아닌 비트1 비율을 증가하는데 있다. 그러나 결과는 아주 놀라운 바, 1개의 주기를 인코딩 한 후 도표55에 나타난 바와 같이 비트1은 297비트 감소하고 비트0은 297비트 증가한다. 따라서 인코딩을 진행한 후 비트 이득 또는 비트 손실이 존재하지 않더라도 비트0:비트1 비율의 변화 방식은 데이터로 하여금 압축될 수 있도록 하고 현재 인코딩 한 후 비트0과 비트1 사이의 비율 분포는 더 불균일하게 된다. 만약 반대되는 방식을 사용하여 시나리오 코드를 분포하면 다음의 도표56에서 비트0:비트1의 이득 또는 손실을 나타낸다.
도표56a
도표55에서 사용한 것과 다른 시나리오 코드를 사용하는 반대되는 분포
압축 불가능한 클라스: AAB기술을 사용하여 범위 인코딩을 진행
Figure pct00058
압축 가능한 클라스; 그 중의 제3과 제2자리 값이 상이하고 코드 조절기술을 사용하여 인코딩.
Figure pct00059
Figure pct00060
압축 가능한 클라스; 그 중의 제3과 제2자리 값이 동일하고 코드 조절기술을 사용하여 인코딩.
Figure pct00061
Figure pct00062
사실이 증명하다 싶이 80000비트의 무작위 데이터 집합에 대한 비대칭 축소는 단지 비트1에서 251을 감소하고 비트0에 동일한 양을 증가하는 것이다.
이상으로부터 알 수 있다 시피 마스터헤드에서의 지정자는 시나리오 코드를 어떻게 분포할 것인지를 지시하기 위해 보류될 수 있고, 마찬가지로 코드유닛을 0헤드 디자인으로 사용하거나 또는 코드유닛을 1헤드 디자인으로 사용하여 숫자 데이터를 판독할지 여부를 지시하기 위해 보류될 수 있으며 또 어느 헤드 디자인이 데이터 값을 판독한 후 데이터 값을 인코딩하는데 사용되는지를 지시하기 위해 보류될 수 있는데 이는 그들이 동일할 필요가 없기 때문이다. 이러한 변동은 획득한 첸 코드 암호화에서의 비트0:비트1의 비율에 영향을 미칠 수 있다. 이러한 지정자는 최적의 시나리오를 선택하여 인코딩하는 목적에 부합되도록 하기 위한 것이다.
비트0:비트1의 비율을 진일보로 변화하기 위하여 진일보로 도표56a를 코드유닛을 1헤드 디자인으로 사용한 하나로 변화할 수 있는데 이는 아래에 나타낸 바와 같다.
도표56b
반대되는 분포를 사용하여 도표56a에서 사용한 0헤드 디자인과는다른 1헤드 디자인의 코드유닛의 내용코드에 사용
압축 불가능한 클라스: AAB기술을 사용하여 범위 인코딩을 진행
Figure pct00063
압축 가능한 클라스; 그 중의 제3과 제2자리 값이 상이하고 코드 조절기술을 사용하여 인코딩.
Figure pct00064
Figure pct00065
Figure pct00066
압축 가능한 클라스; 그 중의 제3과 제2자리 값이 동일하고 코드 조절기술을 사용하여 인코딩.
Figure pct00067
Figure pct00068
코드유닛의 내용코드의 헤드 디자인을 변화하려고 할 경우 제일 간단한 방법은 내용코드의 비트0을 비트1로 변경하는 것이고 반대로 해도 마찬가지인 바, 이는 도표56b에 나타낸 바와 같이 도표56a로부터 변경되는 것과 같다. 이상의 구현예는 첸 인코딩이 어떻게 언이브너 인코더의 창조에 사용되는지를 표시하여 도표56a에서 비트1로부터 251을 감소하고 비트0에 251을 증가하거나 또는 도표56b에서 비트1에 194를 증가하고 비트0으로부터 194를 감소하는데 사용된다.이는 비트0:비트1 비율을 향한 것에서 더 많은 비트1의 추세가 반대로 됨을 표명한다. 완정성을 위하여 도표56c는 0헤드 시나리오 코드와 1헤드 내용코드를 사용하여 80000비트의 원시적인 무작위 데이터 집합을 인코딩하는 결과를 표시하는데 이는 아래에 나타낸 바와 같다.
도표56c
도표56b에 사용된 1헤드 디자인과는 다른 0헤드 디자인을 이용하여 시나리오 코드를 디자인하는 반대되는 분포
압축 불가능한 클라스: AAB기술을 사용하여 범위 인코딩을 진행
Figure pct00069
압축 가능한 클라스; 그 중의 제3과 제2자리 값이 상이하고 코드 조절기술을 사용하여 인코딩.
Figure pct00070
Figure pct00071
Figure pct00072
압축 가능한 클라스; 그 중의 제3과 제2자리 값이 동일하고 코드 조절기술을 사용하여 인코딩.
Figure pct00073
Figure pct00074
따라서 도표55, 도표56a, 도표56b와 도표56c의 비트0과 비트1을 변화한 결과는 각각 +297/-297, -251/+251, -194/+194와 -153/+153이다. 따라서 도표55는 더 많은 비트0을 향한 최대 비대칭을 제공함은 아주 선명하다. 상술한 바와 같이 동일한 데이터 분포에 대하여 상이한 헤드 디자인 및 분류 코드와 내용코드를 사용한 분포는 비트0:비트1의 비율의 분포에 영향을 줄 수 있다. 또한 이러한 분포를 임의의 특정된 데이터 집합의 비트0:비트1에 대응하는 상이한 비율 분포로 조절할 수 있고 하나의 분포가 계속하여 효과적으로 어느 한 방향을 향해 비대칭을 이룰 수 없을 경우 이를 변화하여 한 점에 도달할 때까지 비대칭 방향이 다른 한가지 방안으로 유지되거나 디자인되도록 할 수 있는데 이 점에서 상기 불균일 분포는 첸 코딩의 기타 기술을 사용하여 압축할 수 있다.
예를 들어 AI구분기술을 사용하여 슈퍼 처리유닛을 진일보로 압축할 수 있다. 또는 단락[62]에서 소개한 6값 코드유닛의 상이한 코드유닛 정의를 사용하여 하나의 정의는 데이터를 판독하는데 사용하고 다른 한 정의는 데이터를 인코딩하고 기입하는데 사용될 수 있는 바, 예하면 만약 비트1이 비트0보다 많으면 1헤드 디자인의 17비트의 6값 코드유닛 정의는 데이터를 판독하는데 사용될 수 있고 인코딩하고 기입함에 있어서는 동일한 헤드 디자인의 18비트의 6값 코드유닛 정의를 통해 완성할 수 있다. 17비트 정의가 2비트의 비트코드11를 v1의 값으로 사용하고 18비트 정의는 비트의 비트코드1을 사용하여 v1을 나타내므로 그 다음 18비트 정의를 사용하여 기입할 경우 판독된 2비트의 비트코드11은 17비트 정의가 판독한 v1에 사용되는 1비트의 비트코드1로 인코딩되어 2비트를 1비트로 감소한다. 만약 비트1의 빈도가 비트0보다 높으면 이는 압축에 도움이 될 수 있다.
[117]예하면 도표57은 1헤드 디자인의 17비트 내지 19비트의 6값 코드유닛을 나타낸다.
도표57
17, 18과 19비트의 1헤드 디자인을 사용하여 디자인한 6값 코드유닛의 코드값의 정의
데이터 17비트 18비트 19비트
값 판독 기입 기입
v1 11 1 1
v2 10 011 01
v3 01 010 0011
v4 001 001 0010
v5 0001 0001 0001
v6 0000 0000 0000
상술한 바와 같이 만약 숫자 데이터 집합이 가지는 비트1이 비트0보다 많으면 1헤드 디자인 코드유닛 판독기를 사용함으로써 v1이 가지는 빈도가 기타 유닛값보다 훨씬 높아진다. 이상의 3개의 6값 코드유닛의 정의를 비교하는 것을 통하여 알 수 있다 시피 만약 v1의 빈도가 기타보다 높으면 17비트를 판독기로 사용하고 18비트 라이터를 이용하여 기입하며 매번 v1을 판독할 경우 모두 1비트를 절약하게 되며 매번 v2와 v3을 판독할 경우 이는 각각 1비트를 손실하게 되고 v4, v5와 v6에 대하여 비트 사용은 균등한 것이므로 v1의 빈도가 v2와 v3의 빈도의 합보다 높으면 비트를 절약할 수 있다. V2와 v3 한쌍과 v3과 v4 한쌍 사이의 빈도 분포에 근거하여 v1의 빈도와 비교하여 19비트 라이터를 사용할 수도 있다.
[118] 따라서 데이터 집합에서의 비트0:비트1 모드의 미세한 차이점을 이용하여 간단한 방식으로 압축하기 위하여 한쌍의 상이한 비트 크기의 0헤드 디자인과 1헤드 디자인 코드유닛의 정의를 구성하여 기타 값 크기의 코드유닛에 사용할 수 있다. 예하면 단락[117]에서 사용한 판독기와 라이터 또는 인코더는 6값 코드유닛에 기반한 것인 바, 기타 값 크기, 예하면 7-값, 8-값, 9-값, 10-값에 근거하여 이러한 판독기와 라이터를 구축할 수 있고 이로써 유추할 수 있다. 코드유닛이 정의한 값 크기가 클 수록 판독기와 라이터가 획득할 수 있는 비트0:비트1의 차이점은 더 정밀하고 비트 저장을 절약하는 것으로 변한다. 인코딩에서 압축하기 전에 여러 차례의 불균일 처리(즉, 언이브너를 사용하여 몇개 주기를 진행함으로써 우선 한 방향을 향하여 비대칭되는 디지털 데이터 집합에서의 비트0:비트1 비율을 변화시킴)를 더 진행할 수 있다. 만약 한가지 언이브너가 항상 데이터 분포 모드로 하여금 한 방향으로 비대칭하도록 할 수 없으면 분류 코드의 분포 모드를 0헤드로부터 1헤드로 변화할 수 있고 반대로 해도 마찬가지이며 판독기와 라이터의 헤드 디자인을 하나의 헤드 디자인으로부터 다른 한 헤드 디자인으로 변화하거나 호환하거나 또는 상이한 비트 크기 및 상이한 값 크기의 코드유닛이 정의하는 상이한 디자인을 사용할 수 있는 바, 이러한 변화를 진행한 경로가 첸 코드의 마스터헤드에 잘 기록되거나 인코더와 디코더에 구성되어 사용하도록 하면 된다. 더 중요한것은 언이브너는 상이한 내용코드 구성을 사용할 수 있다. 예하면 단락[114]와 도표54에서 토론한 언이브너는 2클라스로 분류된 내용코드를 사용하는데 한 클라스는 압축할 수 없고 다른 한 클라스는 압축 가능한 바, 그 다음 코드 재분포 최적화로 인해 약간 수정된다. 상기 언이브너는 매 하나의 고유 코드 어드레스를 동일한 비트 크기를 가지는 고유 데이터 값에 하나씩 매핑하여 처리 중인 임의의 데이터 값의 매 하나의 암호화된 코드와 상응하는 원시적인 데이터 값의 비트 크기가 완전히 동일하도록 함으로써 비트 이득이 없을 뿐만 아니라 비트 손실도 없도록 한다. 도표55와 도표56은 동일한 그룹의 내용코드에 대한 분류 코드에 대해 분포한 두가지 상이한 배치를 표시하지만 0헤드 디자인과 1헤드 디자인을 사용함으로써 비트0:비트1의 분포 모드에 있어서 상이한 비율 변화를 초래한다. 그러나 단락[114]에서 소개하는 기술을 사용하여 유사한 방식으로 상이한 내용코드를 가지는 기타 언이브너를 디자인하되 처리하고자 하는 처리유닛의 성질을 정의하는 종료 조건을 선택하는 것을 포함하고 처리유닛의 고유값 항목이 식별한 특징 또는 특성에 근거하여 이에 대해 분류하며 코드 조절, 코드 교환과 코드 재분포를 진행하여 도표54 내지 도표56에 나타난 바와 같은 다른 한 언이브너 인코더를 창조할 수 있도록 한다. 다른 한 구현예는 단락[91]과 도표28에서 슈퍼 처리유닛에 대한 토론에서 발견한 것이다. 도표28에서의 언이브너를 사용함으로써 데이터 집합의 비트0:비트1의 비율이 변화하는 방식과 도표55 또는 도표5에서의 언이브너의 방식이 상이하다. 따라서 상술한 바와 같이 하나의 언이브너가 더이상 비트1과비트0의 비율을 하나의 일정한 방향으로 변화할 수 없을 경우 적당히 디자인한 다른 한 언이브너를 통해 진일보로 이러한 일방향 변화를 사용할 수 있으며 이로써 유추할 수 있다. 따라서 언이브너 인코더의 작용은 숫자 데이터 집합의 비트0과 비트1의 분포 모드를 불균일로 기울어지도록 하는 것이다. 비트0보다 더 많은 비트1(1:1의 비율의 비트0:비트1의 균일한 분포와 비교할 때)을 발생하는 언이브너 인코더는 비트1 언이브너로 불리울 수 있고 더 많은 비트0 비대칭을 형성하는 데이터를 향해 분포하는 것은 잠시 후 비트0 언이브너의 언이브너 인코더가 대비(1:1의 비율의 비트0:비트1의 균일한 분포와 비교할 때)를 이루는 것이라 할 수 있다. 한편으로 비트0:비트1 비율이 인코딩 전보다 더 균일하도록 하는 그러한 인코더(비트0:비트1 비율이 1:1방향으로 더 향하도록 함)는 이브너 인코더 또는 이브너로 불리울 수 있다.
[119] 이러한 방식으로 단락[115] 내지 [117]에서 언급한 바와 같이 코드유닛 정의를 판독기와 라이터로 사용하여 압축하는 기술은 단락[118]에서 언급한 언이브너와 함께 사용되어 정보이론에서의 비둘기집원리의 신화를 종결하는 확실한 증거가 되고 임의의 데이터 집합이 무작위 여부와 관계 없이 본 발명이 앞에서 해석한 바와 같이 하나의 한계에 도달할 때까지 반복해서 압축할 수 있다.
[120] 숫자 데이터 집합을 압축하는 과정에서 압축기는 이브너의 작용을 하는 바, 그렇지 않으면 임의의 데이터 집합은 모두 한번 또 한번씩 압축 (물론 본 발명에서 개시한 바와 같이 어느 한 한계에 도달할 때까지) 될 수 있다. 사실상 본 발명에 앞서 압축분야에서의 방법은 반복해서 무작위 여부와 관계 없는 임의의 데이터 분포 모드의 데이터 집합을 순환적으로 압축하는 장기적인 목표에 도달하지 못하였는데 이는 사실상 이 점을 설명한다. 단락[118]에서 토론한 방식으로 본 발명을 개시한 상황에서, 즉 단락[124]에서 토론한 언이브너와 이브너를 차례대로 대체하여 사용하거나 또는 기타 방식으로 사용하는 상기 목표는 절대적으로 볼 수 있다.
[121] 언이브너와 이브너를 사용하여 차례대로 인코딩과 디코딩하여 획득한 암호화된 첸 코드 파일의 마스터헤드는 기본적으로 아래와 같은 지정자를 포함한다.
(a)검사 합계 지정자; 만약 적합한 상황에서 이것이 존재하면 디코더는 이를 사용하여 복호화하고자 하는 파일이 유효한지 여부의 첸 코드파일을 식별하므로 디자이너에 의해 인코더가 발생한 상응하는 첸 코드파일, 디자이너의 싸인 지정자 및 파일이 사용을 위해 제공되는 유효한 파일인지 여부를 포함;
(b)재순환 비트 또는 지정자; 인코더는 디코더가 사용할 비트를 기입하여 디코더로 하여금 현재 처리순환 다음에 반드시 정지할지 여부를 디코딩하도록 함; 및
(c)사용한 매핑 테이블 또는 코드유닛 정의 지정자는 (인코더가 인코딩에서 사용하거나 또는) 현재 인코딩 순환하는 숫자 데이터층에 사용; 다른 한 지정자 비트(언이브너/이브너 지정자)를 사용하여 현재 암호화하는 첸 코드층이 언이브너 매핑 테이블 또는 이브너 매핑 테이블을 사용하여 완성되었는지의 여부를 구별한다.
[122] 마스터헤드 외에 획득한 첸 코드파일은 별도의 두개 유닛을 더 포함한다.
(A)첸 코드유닛; 암호화하는 첸 코드를 포함하되, 선택된 코드유닛 정의의 판독기를 사용하여 입력한 숫자 데이터를 판독하고 라이터를 사용하여 판독한 숫자 데이터를 기입하거나 인코딩하는데 라이터는 마스터헤드에서 지시한 코드유닛 정의 또는 매핑 테이블을 사용하는 인코더로서 코드를 기입하거나 또는 코드유닛 정의 또는 매핑 테이블을 실현하기 위한 프로그래밍 논리를 포함하여 인코딩하며 여기서 암호화된 첸 코드는 적합한 상황에서 분류와 내용코드를 포함; 및
(B)암호화되지 않은 코드유닛;이는 숫자 데이터 부분을 입력한 이진 비트의 부분을 나타내는 바, 이는 판독될 때 암호화되지 않고 통상적으로 획득한 첸 코드파일의 끝부분에 놓이며 코드의 일부분으로 디자인되고 이의 비트수는 하나의 처리유닛 또는 하나의 슈퍼 처리유닛을 구성하기에는 부족하여 사용하는 인코딩기술을 통해 이를 암호화할 수 없게 된다.
[123]상술한 바와 같이 단락[121]와 [122]에서 식별한 이러한 단독적인 한가닥의 숫자정보는 각각 상이한 첸 코드파일에 배치되어 단독적인 개체로서 저장을 위해 사용될 수 있다. 상응하는 디자인은 응당 디코더로 하여금 그들을 액세스하고 정확하게 식별하도록 함으로써 디코딩을 진행하도록 한다. 디코딩을 진행할 경우 디코더는 관련되어 획득한 첸 코드파일의 마스터헤드에서 지시하는 코드유닛 정의 또는 매핑 테이블을 사용함으로써 입력한 이미 암호화된 첸 코드파일을 판독하거나, 또는 코드유닛 정의 또는 매핑 테이블을 실현하는데 사용되어 디코딩하는 프로그래밍 논리(즉 상응하는 코드유닛 정의 또는 매핑 테이블 또는 상응하는 내장 프로그래밍 논리를 사용하여 암호화된 코드를 숫자 데이터 코드를 입력하는 것으로 전환하고 이를 적어낸다)를 포함하고 획득한 암호화된 코드는 상기 인코딩 순환 이전에 입력한 숫자 데이터 코드이다.
[124]만약 교대에서 이브너와 함께 사용하지 않으면 언이브너를 사용하여 숫자 데이터를 압축할 수도 있는데 극단까지 진행할 경우 모든 숫자 입력 이진 비트는 모두 언이브너가 진행하는 불균일 처리의 순환주기를 통해 비트0 또는 비트1까지 감소된다. 따라서 발생한(불균일 처리 단계의 경로의) 첸 코드파일은 불균일 인코더가 채택한 경로와 관련된 정보일 뿐이고 원시적인 숫자 데이터가 입력한 비트 크기, 필요하거나 적합한 상황에서 형성된 불균일 처리 횟수의 수량 및 매 하나의 불균일 순환주기에 사용되는 코드유닛 정의 또는 매핑 테이블을 포함한다. 불균일 디코더는 이로써 불균일 인코더가 채택한 불균일 경로의 이러한 정보에 의존하여 원시적인 숫자 데이터를 정확하고 손상 없이 복수할 수 있다. 이러한 방식으로 인코딩과정은 1개 또는 1개보다 많은 불균일 인코딩의 순환주기를 포함할 수 있으나 이브너 인코딩 또는 압축기 인코딩을 진행하지 않는다.
언이브너를 사용하는 다른 한 변형방식은 최후의 처리순환주기 이전에 여러 차례 순환하도록 이를 사용하고 최후 순환하는 인코딩은 압축기(또는 압축을 위한 이브너)에 의해 완성되는 것이다. 이러한 방식으로 인코딩 과정은 압축기가 인코딩하는 최후의 한 순환주기 이전의 하나 또는 하나보다 많은 불균일 인코딩 순환주기를 포함한다. 이러한 변형에서 획득한 첸 코드와 첸 코드파일의 구조는 단락[121] 내지 [123]에서 설명한 구조와 유사하다. 이브너는 데이터 집합의 비트0:비트1의 비율이 더 균일하도록 하는 압축기에 치우치고 최후의 하나의 순환주리 또는 최후의 인코딩층의 인코더로 사용될 경우 이러한 이브너 또는 압축기를 사용하는 결과로 인하여 데이터 분포가 이의 비대칭 방향으로 향하는 것이 더이상 중요하지 않도록 하는데 예정대로 데이터를 압축할 수만 있다면 비대칭은 임의의 한가지 방식일 수 있다. 사용한 용어, 즉 이브너 또는 이브너 인코더는 본 발명에서의 압축기 또는 압축기 인코더와 동일한 것으로 간주되어야 한다.
[125]현재까지 이상에서 개시한 첸 프레임워크와 첸 코딩은 적어도 코드 어드레스의 수량이 고유 데이터 값의 수량에 상대하여 데이터 압축에 강압 한정되는 요소(예전에는 정보이론에서의 비둘기집원리의 신화에 의해 오도됨)가 아님을 증명하였다. 중요한 것은 데이터 집합을 입력하는 데이터 값의 빈도분포이다. 상기 단락에서 소개한 기술을 사용하여 실현한 첸 코딩방법은 인코딩에서 무작위로 데이터집합을 입력한 것과 관계 없이 이러한 공적을 완성하였는 바, 즉 인코딩에서 데이터의 정보를 입력하는 것에 데이터 특성을 입력한 것을 나타내는 분류 코드를 더하고 데이터의 분포를 변화하여 첸 코딩의 관련 기술을 사용하여 암호화된 코드를 디코딩할 경우 입력 데이터를 손상 없이 정확하게 복구할 수 있으며; 또한 일정한 한도에 도달하면 상응한 숫자 데이터는 암호화와 압축을 순환할 수 있고; 상기의 한도는 사용하거나 실현하는 디자인과 모드의 제한을 받는 바, 사용되는 마스터헤드와 관련 지정자의 코드비트를 대표하고 하나의 처리유닛 또는 하나의 슈퍼 처리유닛에 놓이는 첸 코드에 적용되며 만약 존재하면 암호화되지 않은 이진 비트의 암호화되지 않은 코드유닛(또는 임의의 이러한 암호화되지 않은 이진 비트를 남기지 않을 수 있음)이며 상기 암호화되지 않은 이진 비트의 수량은 하나의 처리유닛 또는 하나의 슈퍼 처리유닛의 크기보다 적으나 0보다 더 많다. 본 단락에서 이렇게 제기한 첸 코드는 첸 코드의 핵심인 바, 원시적으로 데이터의 내용 도는 데이터 값 부분을 입력하는 암호화된 코드로서, 예하면 마스터헤드에 포함되는 기타 부가적인 정보 및 그가 포함하는 지정자(및 인코더와 디코더에 내장된 정보와 프로그래밍 논리의 상기 부분)이고 암호화되지 않은 코드유닛도 첸 코드에 속하며 첸 코드의 외곽으로서 인코딩과 디코딩 과정에서 첸 코드 핵심과 함께 사용하여 원시적으로 데이터를 입력하는 것이 완벽하게 암호화되며 암호화된 코드는 완벽하고 암호화되는 동시에 정확하고 손상 없이 원시적인 입력 데이터에 복구된다.
[126]이렇게 사용하는 방법과 기술은 비무작위 숫자 데이터를 압축하는데 사용된다. 만약 이렇게 디자인하면 암호화와 복호화를 동시에 진행할 수도 있다. 데이터를 확장하고 수축하지 않는 상황에서 암호화와 복호화를 진행하면 제일 간단한 방법으로는 임의의 코드유닛 값에 사용될 수 있는 동일한 비트 인코더를 사용하는 기술이다. 예하면 단락[62]는 이미 도표14b와 도표14c에 나열된 Max6 16비트 인코더의 몇가지 디자인을 개시하였다. 개시한 네가지 디자인에서의 매 한가지마다 모두 동일한 비트 크기의 인코더로 사용되어 한가지 디자인을 사용하여 판독하고 또 다른 한가지 디자인을 사용하여 기입함으로써 원본 코드를 전환하여 암호화와 복호화를 진행하는 목적으로 사용될 수 있도록 한다. 결과는 암호화 코드가 원본 코드와 동일한 크기를 가지게 된다. 기타 Max 클라스에 유사한 디자인을 창조할 수 있으므로 암호화와 복호화는 무궁무진한 변화가 존재할 수 있다. 어느 Max 클라스(및 특정 Max 클라스에서의 어느 비트 그룹)가 인코딩에 사용되는지를 모르는 상황에서 암호화된 코드를 복호화하기 쉽지 않을 수 있다. 암호화하지 않는 동일한 비트 크기의 인코더를 사용하고 또한 이가 동일한 인코더만 사용하면 상기 인코더는 한편으로는 숫자 데이터를 판독하고 다른 한편으로는 이를 적는다. 물론 기타 기술과 함께 사용하지 않는 상황에서 정확한 데이터 복사기 외에 이는 그 무엇도 할 수 없다. 현재까지 개시한 기술은 적어도 암호화/복호화를 진행하고 처리하고자 하는 숫자정보의 데이터 분포가 적합한 상황에서 압축/압축 해제를 진행하는데 사용될 수 있다. 또 어떻게 상이한 디자인과 모드에서의 첸 코딩 기술을 사용하여 무작위 데이터를 압축하고 복구하는 방법을 더 제출하였다. 아래에 진일보로 개시한 일부 더 많은 기술의 발명을 통해 아래 증거로 하여금 정확하고 손상 없이 무작위 데이터를 압축하고 복구할 수 있음을 증명하도록 한다.
[127]마지막으로 지금은 명확한 증거를 제출하여 무작위 데이터가 압축될 수 있고 압축 해제를 통해 정확하고 손상 없는 복구가 가능함을 증명할 적당한 시기이다. 이러한 기술은 숫자 데이터 블랙홀인 바, 상기 기술을 통해 코드유닛 값 또는 처리유닛 값을 식별하여 숫자 데이터 블랙홀이 되도록 한다. 어떻게 숫자 데이터 블랙홀을 창조할 것인지를 개시하기 위하여 또다시 Max3 5비트 0헤드 디자인 코드유닛 인코더의 구현예를 사용하며 처리유닛은 Max3 5비트0헤드 디자인 코드유닛 인코더를 통해 판독한 3개의 이러한 코드유닛으로 조성된 것으로 정의된다. 따라서 27개의 고유 처리유닛 코드값(PUCV)이 존재하고 단락[74]에서의 도표20과 동일하다. 도표20은 이 27개의 고유 PUCV에서의 매 하나의 빈도 분포를 표시하는데 알 수 있다 시피 제일 짧은 PUCV는 000이고 3비트를 가지며 4비트의 PUCV, 5비트의 PUCV와 6비트의 PUCV가 더 존재한다. 따라서 이 27개의 PUCV는 비트 클라스로 분류될 수도 있다. 또한 비트의 크기가 1비트 증가함에 따라 이러한 하나의 PUCV의 빈도는 약 절반 감소되고, 3개의 싱글 코드유닛으로 조성된 처리유닛의 Max3 5비트0헤드 디자인 코드유닛 인코더를 사용하여 무작위 데이터를 판독할 경우 무작위 데이터의 빈도 분포에서 일반적인 규율성(또는 무작위성 규칙)을 관찰할 수 있음을 알 수 있다. 진일보로 조사할 경우 첸 프레임워크에서 개발한 동일한 모드(즉 3개의 싱글 코드유닛으로 조성된 처리유닛을 가지는 Max3 5비트0헤드 디자인 코드유닛 인코더를 사용)를 사용하여 무작위 데이터의 다른 한 빈도 분포 규칙 또는 규율성을 발견할 수 있다. 이 무작위 데이터의 빈도 분포의 다른 한 특징규율 또는 규칙은 아래 도표58에 나타낸 바와 같다.
도표58a
3개의 싱글 코드유닛으로 조성된 처리유닛을 가지는 Max3 5비트0헤드 디자인 코드유닛 인코더를 사용하여 판독한 80000비트의 무작위 데이터 집합의 처리유닛의 빈도 분포
처리유닛 코드값
PUCV 빈도 특수 코드
3비트 클라스
000 2311 클라스에서 오직 하나
4비트 클라스
1100 1151 클라스에서 최고
0010 1121
0100 1119
0011 1103
1000 1086
0110 1036 클라스에서 최저
5비트 클라스
11100 579 클라스에서 최고
01111 574
11010 569
10011 562
10110 561
10100 556
01011 555
10010 551
01010 539
11110 524
11011 524
01110 523 클라스에서 최저
6비트 클라스
111111 315 클라스에서 최고
101010 293
101011 289
111011 288
101110 288
101111 264
111110 262
111010 254 클라스에서 최저
도표58b
3개의 싱글 코드유닛으로 조성된 처리유닛을 가지는 Max3 5비트0헤드 디자인 코드유닛 인코더를 사용하여 판독한 80000비트 무작위 데이터 집합의 슈퍼 처리유닛의 빈도분포 - 슈퍼 처리유닛은 2개의 연속된 처리유닛으로 조성(그 중 선택된 SPUCV를 표시)
슈퍼 처리유닛 코드값
SPUCV 빈도 특수 코드
6비트 클라스
000-000 264 클라스에서 오직 하나
7비트 클라스
000-0100 160 클라스에서 최고
000-1000 156 클라스에서 두번째
……
000-0110 141 클라스에서 최저이지만 유일함
000-1100 140 클라스에서 최저
8비트 클라스
0010-1100 91 클라스에서 최고 블랙홀0
01011-000 86 클라스에서 두번째
……
0100-0100 51 클라스에서 최저이지만 유일함
000-11110 50 클라스에서 최저
9비트 클라스
0100-10110 48 클라스에서 최고
111110-000 48 클라스에서 최고
……
10110-0011 21 클라스에서 최저이지만 유일함
…...
0011-11011 19 클라스에서 최저 블랙홀1
대체 코드0(Scode 0)
블랙홀1로 대체
10비트 클라스
01111-01111 31 클라스에서 최고
……
01111-01010 28 클라스에서 두번째
……
10011-11100 8 클라스에서 최저이지만 유일함
…...
01111-01110 6 클라스에서 최저 대체 코드1(Scode 1)
Scode 0을 대체
11비트 클라스
111111-10110 17 클라스에서 최고
……
10010-111110 15 클라스에서 두번째
……
01011-101011 3 클라스에서 최저이지만 유일함 대체 코드3a(Scode 3)
2부분으로 분류:
01011-101011-0
자체를 대체 및
01011-101011-1
Scode 2를 대체
……
101111-11110 2 클라스에서 최저 대체 코드2(Scode 2)
Scode 1을 대체
12비트 클라스
111111-101011 14 클라스에서 최고
(다른 한 블랙홀0일 수 있는 바, 단락[131]을 참조)
……
101111-101010 10 클라스에서 두번째
……
111110-101110 1 클라스에서 최저이지만 유일함
111111-111110 0 클라스에서 최저 대체 코드3b(Scode 3)
Scode 2를 대체
도표58a와 도표58b의 빈도 분포 통계값의 구현예는 아래와 같은 도표58c와 도표59d에 나열한 자동3프로그램을 사용하여 생성된 것이다.
도표58c
도표58a와 도표58b에 표시된 빈도 통계값의 자동 프로그램을 생성
Figure pct00075
Figure pct00076
Figure pct00077
Figure pct00078
Figure pct00079
도표58d
도표58c에 나열된 자동 프로그램이 사용하는 자동 프로그래밍 라이브러리
Figure pct00080
Figure pct00081
Figure pct00082
Figure pct00083
Figure pct00084
Figure pct00085
Figure pct00086
Figure pct00087
Figure pct00088
Figure pct00089
Figure pct00090
[128] 도표58a는 80,000비트의 무작위 데이터 집합의 27개의 고유 PUCV의 빈도분포를 나열하였고 도표58b는 동일한 무작위 데이터 집합의 27×27개의 고유 SPUCV의 빈도분포를 나열하였다. 간결함을 위하여 도표58b에는 매 하나의 비트 클라스이 2개의 제일 빈번한 것과 2개의 제일 빈번하지 않은 SPUCV를 열거하였다. Max3 5비트0헤드 디자인 코드유닛 인코더가 판독하고 샘플링할 경우 이는 80,000비트의 무작위 데이터 집합의 기타 빈도 분포 규율 또는 규칙성을 충분히 판별할 수 있고 상기 인코더는 3개의 싱글 코드유닛으로 조성된 처리유닛 및 연속된 2개의 처리유닛을 가지는 슈퍼 처리유닛, 첸 프레임워크를 사용하여 개발한 인코더를 가진다. 상술한 바와 같이 첸 프레임워크는 무작위 데이터를 포함하는 임의의 데이터 분포를 설명하고 조사하기 위한 숫자 데이터의 특징 또는 특성의 프레임워크를 제공한다. 현재까지 무작위 데이터의 특징은 더 상세하고 명확하게 개시되지 않았고 단지 이는 무작위이므로 이것이 대표하는 값은 예측 불가능한 방식으로 무작위로 나타나며 장기적으로 볼 때 이는 균일한 분포에 근접하는 비트0:비트1 비율에 더 기울어지지만 규율성은 없다는 것을 알 수 있다. 지금 첸 프레임워크를 사용하여 예하면 한가지 디자인된 인코더에서Max3 5비트0헤드 디자인 코드유닛 인코더는 3개의 싱글 코드유닛으로 조성된 처리유닛 및 2개의 연속된 처리유닛을 갖는 슈퍼 처리유닛을 구비하는데 사람들은 무작위 데이터를 설명하는데 사용될 수 있는 어떠한 규율 또는 규칙성을 찾아낼 수 있다. 무작위 데이터 집합과 관련되는 빈도 분포의 이러한 규율 또는 규칙성을 이용하여 이를 무작위 데이터 및 비무작위 데이터를 제정하고 처리하는 참고로 사용할 수 있다. 도표 58a와 도표58b에는 일부 식별 가능한 규율성이 존재하는 바, 예하면 각각 27개의 고유 처리유닛과 27×27개의 고유 슈퍼 처리유닛에 대하여 임의의 특정된 코드값의 빈도는 모두 그 비트 길이 또는 비트 크기 또는 비트 클라스의 측량이고 비교적 높은 비트 클라스에서의 하나, 즉 비트 길이 또는 크기가 1비트 축소된 것이며 이의 빈돈는 대략 배가 된다. 예하면 도표58a에서 3비트 클라스의 PUCV 000의 빈도는 2,311이고 4비트 클라스에서의 다음의 한 PUCV 1100은 1151로 변한다. 또한 27×27 SPUCV에 대하여 도표58b에서 규율성을 찾을 수도 있다.
그러나 도표58a와 도표58b에서의 코드값 사이의 빈도범위를 비교할 경우 사람들은 이러한 규율의 변화를 발견할 수 있다. 하나의 비트 클라스에서 제일 빈번한 코드값과 이웃하는 비트 클라스에서의 제일 빈번하지 않는 코드값 사이의 빈도범위를 비교한다. 아래 도표58e는 상이한 비트 클라스에서의 코드값의 빈도범위를 나열하였다.
도표58e
비트 클라스 사이의 빈도범위
비트 클라스 최고빈도 최저빈도 빈도범위 비율
PU
3 2311
4 1151 1036 2.23 : 1(2311/1036)
5 579 523 2.20 : 1 (1151/523)
6 315 254 2.80 : 1 (579/254)
SPU
6 264
7 160 140 1.88 : 1 (264/140)
2.25 : 1 (315/140)
8 91 50 3.2 : 1 (160/50)
9 48 19 4.79 : 1 (91/19)
10 31 6 8 : 1 (48/6)
11 17 2 15.5 : 1 (31/2)
12 14 0 17 : 0
따라서 이는 비트 길이가 값의 빈도를 결정하는 고유 요소가 아님을 개시하는 바, 상이한 그루핑에서의 값도 자신의 그룹의 자신의 빈도 규칙성 특징을 가지게 된다. 예하면 비트 클라스가 점점 낮아질 경우 비트 클라스가 높은 비트 클라스에서의 제일 빈번한 코드값과 낮은 비트 클라스에서의 제일 빈번하지 않은 코드값 사이의 비율은 SPUCV그룹에서 증가하는데 더 치우친다.
이로써 사람들은 무작위 여부와 관계 없이 목표 목적에 적합한 데이터를 처리하는 방법과 관련 규칙을 디자인할 수 있다. 이하 본 특허는 상기에서 발견한 어떻게 숫자 데이터, 특히는 무작위 데이터를 압축하는데 사용될 것인지를 개시한다.
[129]무작위 데이터를 압축함에 있어서 단락[128]에서 개시한 발견을 이용하여 절대 어드레스 분기 코딩(AABC)과 연속되는 코드 대체(SCS)를 함께 이용하여 숫자 블랙홀 기술(DBh)을 개발하였다. 물리세계에서 블랙홀은 물질이 흡수되는 곳이다. 마찬가지로 본 발명에서 개시한 일부 실시방안은 이진법 숫자코드를 사용하여 기타 이진법 코드를 흡수하는 자리점을 표시한다. 이는 일부 상기 역할을 수행하기에 유리한 숫자 이진법 코드를 식별하는 것에 관한 것이다. 이러한 자리의 표준을 선택하는 것은 사람들이 실현하고자 하는 목적에 의해 결정된다. 따라서 건립한 표준과 목적은 관련된다. 데이터 압축을 진행하기 위하여 뚜렷한 표준은 숫자 이진법 코드의 빈도에 관한 것이다. 따라서 숫자 이진법 코드 피스가 빈번하게 발생할 수록 기타 숫자 이진법 코드에 대한 흡수는 더 빈번해지므로 더 많은 비트를 절약할 수 있게 된다. 따라서 도표58a와 도표58b에 나타낸 바와 같이 PUCV그룹과 SPUCV그룹에서의 매 하나의 비트 클라스를 위해 제일 빈번하게 나타나는 값을 식별해야 한다.
숫자 블랙홀의 발명은 AABC기술을 사용한다. 도표55에 나타낸 바와 같이 단락[115]에서 발견한 설명의 상황에서 27개의 고유 PUCV그룹은 약 절반의 빈도를 가지는 2개의 서브 그룹으로 분류될 수 있다. 또한 단락[116]에서는 이상의 압축 불가능한 클라스와 압축 가능한 클라스의 빈도를 총화하였는데 여기서 제1 클라스는 8897개의 처리유닛을 가지고 제2 클라스는 8888개의 처리 유닛을 가진다. 압축 불가능한 클라스는 7개의 PUCV를 가지고 압축 가능한 클라스는 20개의 PUCV를 가진다. 압축 불가능한 클라스는 분류 코드 또는 시나리오 코드0을 그의 헤드로 포함하고 압축 가능한 클라스는 1을 그의 헤드로 사용한다. 만약 분류 코드 또는 시나리오 코드의 사용을 절약하게 되면 어떠한 특정 빈도 분포를 가지는 무작위 데이터에 대해 데이터 압축을 진행할 수 있는 바, 즉 그가 일정한 빈도 분포 규율성을 가지기 때문이다. 이는 여기서 개시한 숫자 블랙홀의 발명을 통해 완성된 것이다. 임의의 무작위 데이터 집합에서의 임의의 PUCV 또는 SPUCV 이전과 이후는 다른 한 PUCV인데 이는 3/4/5/6? 클라스리다. 도표55에서의 압축 불가능한 클라스는 3비트 클라스와 4비트 클라스에서 PUCV이고 압축 가능한 클라스는 5비트 클라스와 6비트 클라스서 PUCV이다. 만약 분류 코드 비트0/1을 사용하지 않으면 아래의 AAB코드를 압축 불가능한 클라스와 압축 가능한 클라스의 PUCV에 사용하는데 이는 아래 도표59에 나타낸 바와 같다.
도표59a
압축 불가능한 클라스 3/4비트 클라스의 PUCV의 AAB코드
7개 고유 PUCV 분포
00 -1 3비트 클라스PUCV
010 -1 4비트 클라스PUCV
011 -1 4비트 클라스PUCV
100 -1 4비트 클라스PUCV
101 -1 4비트 클라스PUCV
110 -1 4비트 클라스PUCV
111 -1 4비트 클라스PUCV
도표59b
압축 불가능한 클라스 5/6비트 클라스의 PUCV의 AAB코드
20개 고유 PUCV 분포
0000 -1 5비트 클라스PUCV
0001 -1 5비트 클라스PUCV
0010 -1 5비트 클라스PUCV
0011 -1 5비트 클라스PUCV
0100 -1 5비트 클라스PUCV
0101 -1 5비트 클라스PUCV
0110 -1 5비트 클라스PUCV
0111 -1 5비트 클라스PUCV
1000 -1 5비트 클라스PUCV
1001 -1 5비트 클라스PUCV
1010 -1 5비트 클라스PUCV
1011 -1 5비트 클라스PUCV
11000 -1 6비트 클라스PUCV
11001 -1 6비트 클라스PUCV
11010 -1 6비트 클라스PUCV
11011 -1 6비트 클라스PUCV
11100 -1 6비트 클라스PUCV
11101 -1 6비트 클라스PUCV
11110 -1 6비트 클라스PUCV
11111 -1 6비트 클라스PUCV
도표59a와 도표59b에서 모두 알 수 있다 시피 상기 방식으로 분포한 매 하나의 PUCV가 AABC기술을 사용함으로써 1비트를 절약하는데 도움이 된다. 그러나 분류 또는 시나리오 코드가 결여하기 때문에 사람들은 이러한 AAB코드만을 사용하여 27개의 고유 PUCV를 대표할 수 없었다. 따라서 숫자 블랙홀을 창조하는 기술은 반드시 작용을 발휘해야 한다. 이는 상술한 바와 같이 숫자 이진법 코드를 이전의 PUCV 또는 다음의 PUCV를 흡수하는 블랙홀로 지정하고 일단 암호화를 진행할 때 상기 숫자 인진법 코드를 검출하게 되면 도표59a와 됴표59b에 나열한 AAB코드를 사용하여 그들에게 PUCV를 분포한 코드를 사용하였음을 나타낸다. 그러나 두개의 클라스인 압축 불가능한 클라스와 압축 가능한 클라스가 존재하므로 응당 두개의 블랙홀이 존재해야 하는 바, 하나는 AAB코드를 사용하여 3비트 클라스와 4비트 클라스 PUCV 및 기타 5비트 클라수와 6비트 클라스 PUCV를 나타(따라서 흡수함)내야 한다. 따라서 블랙홀1(SPUCV 0011-11011, 빈도는 19, 9비트 클라스에서 제일 낮음)과 배합하고 블랙홀0(SPUCV 0010-1100, 빈도는 91, SPUCV그룹에서의 8비트 클라스에서 제일 높은 하나)과 짝을 이루어 블랙홀0과 블랙홀1 이전에 또는 이후에 두개의 반 코드값(절반은 3비트와 4비트 클라스 코드값이고 다른 절반은 5비트와 6비트 클라스 코드값)을 흡수하도록 해야 한다. 여기서 SPUCV 0010-1100와 SPUCV 0011-11011을 블랙홀0과1로 선택하는데 이는 그들이 함께 빈도 범위(도표58c에 나타낸 바와 같이 비율은 4:1보다 크다)를 나타내고 하나의 특징으로서 그 중의 한 형식의 숫자 데이터 블랙홀 기술에 적용되기 때문이다.
[130] 따라서 SPUCV그룹의 빈도 규율성 또는 규칙의 발견은 상기 블랙홀 기술을 사용하여 무작위 데이터의 데이터 압축을 위해 길을 ?는데 도움이 된다. 또한 현재 PUCV그룹과 SPUCV그룹의 빈도 규율 모드를 결정할 수 있고 이러한 모드가 그의 빈도 폭과 임의의 특정된 비트 클라스 또는 비트 클라스값의 빈도 범위를 포함하므로 이를 규칙을 제정하여 기타 유형의 데이터 분포를 압축하는 참고로 사용할 수 있으며 아래에서 이에 대해 개시한다.
[131]숫자 데이터 블랙홀은 AABC를 사용하여 곧 다가올 예정인 행렬에서의 앞의 값 또는 다음의 한 값 또는 앞 또는 뒤의 두개의 값을 흡수할 수 있다. 따라서 숫자 데이터 블랙홀의 기술은 첸 프레임워트에서 정의한 인코더의 코드값을 사용하여 AAB코딩을 통해 기타 코드값, 즉 흡수한 코드를 표시하는 블랙홀 코드값을 흡수하는 것과 관련된 AAB코드를 흡수하거나 나타내고 블랙홀 코드값은 이로서 AAB코드를 향하는 인덱스 또는 포인터로서 대응하는 블랙홀에 의해 흡수한 코드값을 나타낸다고 정의된다. 예하면 블랙홀0은 도표59a에서의 AAB코드를 사용하여 3비트와 4비트 PUCV를 흡수하고 그들이 이후에 나타날 경우(후방향 흡수에 사용) 여기서 사용한 구현예에서의 약 절반 나타난 블랙홀0, SPUCV 0010-1100에 대해 1비트를 절약한다. 예하면 이는 약 46(91/2)를 절약하는데 이는 3비트와 4비트 PUCV의 빈도와 5비트와 6비트PUCV의 빈도 사이의 비율에 의해 결정된다. SPUCV 0011-11011을 사용하여 도표59b에서는 AAB코드를 사용한 블랙홀1의 역할을 하여 나타내는데, 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빈도의 절반, 즉 46(91/2)비트를 절약할 수 있다. 그러나 아직 완성되지 않았다. 이는 SPUCV 0010-1100(대체 코드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비트 길지 말아야 한다(대체 코드가 짧으면 짧을수록 좋음). 상기 규칙은 응당 무작위 데이터를 압축하는 범용 규칙으로 되어야 한다. 비무작위 데이터를 압축과 압축 해제 할 경우 단락[134](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로 분류하는데 한 Scode(제일 마지막 하나 이전의 한 Scode)는 이 Scode체인에서의 이전의 Scode를 대체하고 그 다음 다른 하나(최후의 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은 값이 결여한 코드이므로 만약 이를 사용하여 Scode2를 대체하게 되면 코드를 분할할 필요가 없게 된다. 따라서 이러한 특수 코드에 필요한 비트 지출을 사용하여 어느 비트 클라스에서 이러한 연속되는 코드 대체를 정지할 것인지를 결정할 수 있다. 그러나 본 구현예에서 사용한 80,000비트의 무작위 데이터 집합을 통해 만약 4:1의 빈도 범위 비율을 사용하여 어느 코드값을 블랙홀0과 블랙홀1로 사용할 것인지에 관한 선택표준을 결정하면 숫자 데이터 블랙홀, AAB코딩과 연속되는 코드 대체 기술을 통해 실현한 비트 절약이 사용한 특수 코드의 비트 지출을 커버하기에는 부족하게 된다. 무작위 데이터 집합을 800,000비트로 증가하게 되면 빈도 범위(즉 4:1)는 비교적 낮은 비율로 축소하게 되는데 이는 이러한 숫자 데이터 블랙홀 기술을 이용할지라도 이러한 무작위 데이터를 압축할 수 없게 됨은 분명한 것이다.
그러나 숫자 데이터의 비교적 높은 빈도 범위 비율과 비교적 적은 무작위 비트를 사용하게 되면 비트 절약이 사용한 특수 코드 지정자의 비트 지출을 충분히 커버할 수 있도록 한다. 예하면 빈도가 14인 12비트 SPUCV 111111-101011을 사용하여 12비트 클라스에서 제일 높은 것을 블랙홀0으로 사용하여 결여한 SPUCV 111111-111110과 짝을 이루도록 하여 이 이전의 PUCV를 흡수(예하면 전향 흡수)하도록 한다. 이 DDB를 사용하는 것은 매우 직접적이다. 12비트 클라스의 64개의 고유 코드값이 존재하는데 두개의 DDB에서의 매 하나는 모두 6비트를 이들 각각의 특수 코드 지정자로 사용하여 그들에 대해 식별한다. 이는 12비트가 필요하게 된다. 이는 블랙홀1이 결여하는 코드값이므로 Scode로 이를 대체해야 하기 때문이다. 따라서 상기 80,000비트의 무작위 데이터 집합에 대하여 비트 절약은 14 덜기 12비트로서 2비트와 같다.
이는 확실한 신호와 구현예로서 어떠한 상황에서 무작위 데이터는 압축될 수 있으므로 무작위 데이터가 영원히 압축되지 않는 정보이론에서의 비둘기집원리의 신화를 타파하였다. 더 많은 탐구를 거쳐 일부 규칙의 모드를 발견하여 모든 상황에서 임의의 크기의 무작위 데이터를 압축함을 확실하게 말할 수 있다. 또한 다른 구현예도 아래의 단락[134]의 도표 60에서의 어떻게 다른 한가지 기술을 사용하여 무작위 데이터를 압축하는 기회를 증가할 것인가하는 토론에 나타낼 수 있다. 따라서 상기 기술 조합은 압축될 자격이 있는 데이터 집합, 즉 4:1보다 큰 빈도 범위 비율을 만족시키는 빈도 범위 요구의 데이터 집합을 압축하는데 사용할 수 있고 상기 비율이 높을 수록 성공적인 압축을 진행하는 무작위 데이터 집합의 크기는 더 작을 수 있다. 무한한 크기 수량의 무작위 데이터 집합을 사용하여 첸 프레임워크에서 무한한 인코더를 디자인 할 수 있으므로 상기 기술(또는 기타 부가적인 기술, 예하면 이상에서 소개한 불균일 데이터의 기술 및 기타 새로운 발명의 기술, 예하면 아래 단락[134]의 도표60에서 인입한 기술 또는 기타 총명한 사람들이 디자인한 그러한 기술과 함께 사용)을 사용하여 특정 크기의 특정 무작위 데이터 집합에 대해 상응하는 빈도 범위 비율 모드를 식별하여 압축하는 것을 시도할 수 있다. 따라서 사용된 데이터 집합의 크기(또는 이렇게 정의되어 처리하는 특정된 크기로 분류된 부분) 및 높은 비트 클라스에서의 제일 빈번한 코드값: 낮은 비트 클라스에서의 제일 빈번하지 않는 코드값 사이의 빈도 범위 비율(에하면 도표58c에 나타낸 바와 같이)은 숫자 데이터 집합(무작위 여부와 관계 없는 숫자 데이터 집합)의 두개의 특징인 바, 상기 특징은 숫자 데이터 집합의 모드 또는 규칙을 식별하는데 사용되어 상기 기술 조합으로 하여금 이를 성공적으로 압축할 수 있도록 한다.
[132]이상의 단락[131]에서는 첸 코드 기술을 개시하는 바, 즉 연속적으로 대체하여 디지털 데이터 블랙홀기술과 함께 사용할 경우 무작위 데이터 집합이 상응한 빈도 범위 특징의 요구를 만족하는 정황에 도움이 되고 첸 프레임워크에서 적당한 인코더를 디자인한 상황에서 정보이론에서의 비둘기집원리의 신화를 타파한다. 따라서 적합한 상황에서 상이한 PUCV와 SPUCV그룹의 상이한 Max수와 비트수를 사용하여 기타 디자인된 이코더와 유사한 방식으로 여기서 설명한 방법과 동일한 방법을 이용하여 완성할 수 있다. 이 외의 실시방안은 첸 프레임워크의 인코더를 사용하는 상이한 조합을 더 포함하여 상이한 기술 또는 방법의 기타 상이한 해결방안을 사용할 수 있다.
[133]여기서 소개한 숫자 데이터 블랙홀(DDB)는 여라 가지 형식을 가질 수 있다. 이는 AAB코드를 사용하여 앞 또는 뒤 또는 두개의 방향 심지어 사이드 웨이의 코드값(예하면 비트0과 비트1을 사용하여 대체 코드를 두개로 분류하여 두개의 코드값이 코드값의 사이드 웨이에 흡수 또는 표시되는 형식을 대표할 수 있는데 그 중 대체 코드를 분할하여 표시한 코드 값은 데이터 집합에서의 임의의 곳에 나타날 수 있음)을 흡수(즉 표시) 할 수 있다. DDB를 사용하여 뒤의 코드값을 흡수하는 것이 더 간단하다. 앞에서 코드값을 흡수하게 되면 반드시 두개 또는 연속된 다수의 DDB가 나타나는 상황을 유의해야 한다. DDB의 코드와 연결된 것으로 지정될 경우 매 하나의 DDB의 AAB코드는 반드시 우선 순서에 따라 저장되어야 하고 제일 마지막 DDB의 AAB코드를 처리한 후 이러한 AAB코드는 반드시 반대되는 순서로 배치(즉 AAB코드의 반대되는 배치 기술을 사용하여 디코딩 후의 앞의 코드값이 다른 한 DDB로 형성될 수 있는지 여부를 검사하고 필요할 경우 진일보로 대응되는 코드를 디코딩)되어 디코딩을 진행할 때 정확한 순서로 AAB코드의 디코딩을 해석함으로써 흡수된 코드값을 디코딩할 수 있도록 해야 한다. 또한 비트 코드, 즉 비트0 또는 비트1(관련되는 구분 비트)을 사용하여 구분해야 하는데 암호화된 코드 출력 스트림의 첫번째 암호화된 코드값으로 나타난 DDB로서 앞에서 코드값을 흡수한 DDB(만약 맞으면 이상의 구분 비트도 반드시 흡수된 코드값을 나타내는 AAB코드를 따라야 하고, 만약 아니면 상기 구분 비트는 충분하다)인지를 구분해야 한다. 블랙홀이 두개의 방향에서 코드값을 흡수하는 것에 대하여 비트 절약은 더 많을 수 있는데 이는 2개의 AAB코드를 사용할 수 있고 하나는 앞과 뒤에서 흡수한 매 하나의 코드값에 사용된다. 몇개의 DDB가 모일 경우 이는 더 복잡해진다. 따라서 DDB가 부딪치는 매 하나의 가능한 상황 또는 시나리오에 대해 진일보로 분석하고 그 다음 어떻게 코딩을 완성할 것인지에 관한 규칙을 건립한다. 예하면 만약 어떠한 원인으로 AAB코드의 반대 배치를 사용하지 않고자 하면 예외적인 규칙을 설치할 수 있는 바, 즉 두개의 DDB가 연속으로 나타날 경우 그 중의 하나는 상응하는 흡수방향에서 AAB코딩을 진행하여 관련 코드값(즉 기타 DDB)을 흡수하지 않도록 할 수 있다. 이러한 예외적인 규칙은 일방향 또는 양방향 흡수를 디자인할 수 있다. DDBfmf 사용하여 앞 또는 뒤 또는 두개의 방향에서 코드값을 흡수하기 위하여 관련 마스터헤드에 DDB타입의 지정자를 더 포함하여 이와 관련되는 AAB코드를 정확히 암호화할 수 있도록 한다. 이 외에 앞 또는 뒤에서 나타내는 코드값은 대응되는 DDB와 일정한 거리 이격되도록 디자인 될 수 있고 통상적으로 앞 또는 뒤의 코드값에서 AAB코딩으로 흡수 또는 표시될 수 있으나 또한 대응되는 DDB의 앞 또는 뒤의 지정된 고정 수량의 자리에서 흡수하거나 AAB코딩으로 표시하는 코드값에 사용될 수 있다. 이러한 방식으로 원시적인 숫자 데이터 입력 스트림에서 제1 DDB를 만나 이러한 흡수 또는 표시를 진행할 경우 반드시 더 정밀한 규칙을 디자인하여 이러한 상황을 나타냄으로써 디코딩 과정에서 그 어떤 오해도 존재하지 않도록 한다.
[134] 상기 계시를 통하여 무작위 데이터와 비무작위 데이터를 압축하는 방법 또는 기술 또는 기술조합을 아래와 같이 간단히 요약할 수 있다.
(1)무작위 데이터를 압축 또는 압축 해제.
(1a)첸 프레임워크를 사용하여 디자인한 인코더에 대해 데이터 해석을 진행하여 무작위 데이터 집합의 빈도 통계값을 발생:
이 단계는 첸 프레임워크를 사용하여 인코더를 디자인하는 바, 예하면 도표58에 표시된 빈도 통계값은 Max3 5비트 0헤드 디자인 코드유닛 인코더를 사용하여 발생한 것이고 상기 인코더는 3개의 싱글 코드유닛으로 조성된 처리유닛을 구비하며 2개의 처리유닛으로 조성된 슈퍼 처리유닛을 구비한다;
(1b)코드값을 특수 코드(또는 이상 코드)로 지정하여 특수처리를 진행하되 AAB코딩을 사용한 숫자 데이터 블랙홀 기술 및 코드 분할을 사용 또는 사용하지 않는 연속되는 대체 기술을 포함하여 새로운 대체 코드를 형성하여 사용하도록 한다. 무작위 데이터 집합의 빈도 통계값에 근거하여 PUCV와 SPUCV를 특수 코드, 예하면 블랙홀 코드와 대체 코드로 선택하되 적당한 빈도 모드만 식별하면 되며; 이러한 선택은 인코딩과 디코딩의 목적에 기반한 표준인 바, 예하면 이러한 상황에서 이는 숫자 데이터에 사용되고 구체적으로 무작위 데이터의 압축과 압축 해제에 사용되며; 이상에서 이미 계시한 바와 같이 어떻게 이 목적을 위해 코드를 선택할 것인지를 곗시하는 바, 예하면 간단하게 PUCV와 SPUCV그룹에서의 비트 클라스에 근거하여 그들의 빈도에 의해 특수 코드를 선택하며; 예하면 매 하나의 비트 클라스에서 최고 빈도인 코드값은 블랙홀0의 후보자이며; 매 하나의 비트 클라스에서 최저 빈도인 코드값은 대체 코드의 후보자이고 그 중의 하나(대체 코드0)는 블랙홀1로 사용되어 이와 블랙홀0의 코드로 하여금 짝을 이루도록 하여 AAB코딩에 사용되어 앞 또는 뒤 또는 두 방향에서의 코드값을 표시(또는 흡수)하도록 하므로; 상기 특수 처리는 코드 분할이 있거나 없는 상황에서 AAB코딩과 연속으로 대체된 숫자 데이터 블랙홀을 사용하여 새로운 대체 코드를 형성하며; 블랙홀 코드와 관련된 AAB코드는 단독으로 된 AAB코드 파일을 사용하여 이러한 AAB코드를 저장하는 것이 아니라 블랙홀 코드 다음에 메인 암호화된 코드 출력 파일에 놓여지고 병합되며 단독적인 AAB코드 파일을 사용하여 적합한 상황에서 AAB코드를 저장하는 것을 더 결정할 수 있으고; 상기 특수 코드에 사용되는 지정자(특수 코드 지정자)는 블랙홀 지정자와 대체 코드 지정자를 포함하며; 특수 코드 지정자와 일부 크기 지정자(아래 내용 참조)는 반드시 관련 마스터헤드에 기입되어야 하고; 인코딩의 편리를 위하여 전반 숫자 데이터 입력은 소량의 이진 비트, 어느 한 고정된 수량의 이진 비트로 조성된 부분, 예하면 80000비트를 하나의 부분으로 사용하여 처리하는 것을 포함하되, 상기 부분이 충분히 커 이러한 특수 처리를 진행하여 비트 절약(예하면 하나의 부분이 1개의 이진 비트로 조성되면 비트 절약을 실현할 수 없게 되므로 또다시 이렇게 무의미한 가정을 제출하지 않음)을 발생하기만 하면 상기 부분이 작을 수록 비트 절약은 더 적고 따라서 비교적 큰 비트 크기를 사용한 부분은 실현 가능함을 의미하는 바, 상기 부분에 대하여 더 많은 비트를 절약할 수 있으나 데이터 해석의 속도도 늦어지게 되므로 반드시 비트 절약과 인코딩 속도 사이의 평형을 형성해야 하므로 일부 크기 지정자(상응하는 부분적 마스터헤드에 기입)를 사용하여 처리 중인 부분의 비트 크기를 지시할 수 있으며; 만약 부분을 사용하면 부분의 경계를 뛰어넘는 PUCV 또는 SPUCV(예하면 80,000비트)는 부분 경계 이전의 일부 또는 새로운 부분으로서 처리할 수 있고 상응하게 부분 경계를 조절할 수 있다.
(1c)무작위 데이터를 압축하기 위한 인코딩과정:
따라서 무작위 데이터를 압축하기 위한 인코딩과정은 아래와 같은 내용을 포함한다.
(i)첸 프레임워크로 디자인한 인코더를 사용하여 숫자 데이터 입력을 판독하고 해석함으로써 무작위 데이터 집합의 빈도 통계표를 생성한다.
(ii)코드값을 특수 코드로 지정하여 특수 처리를 진행하는데 AAB코딩을 사용한 숫자 데이터 블랙홀 및 코드 분할을 가지거나 가지지 않는 연속되는 대체를 포함하여 새로운 대체 코드를 이루어 사용하도록 한다.
(iii)코드값을 판독하고 코드가 일반적인 코드인지 아니면 특수 코드(블랙홀0과 기타 Scode를 포함)인지를 구별하며 이렇게 판독한 코드값을 인코딩하고 적합한 상황에서 특수 처리(여기서 특수처리는 DDB를 만났을 경우 AAB코딩을 사용한 숫자 데이터 블랙홀 또는 대체 코드매핑 테이블을 포함하여 기타 특수 코드, 즉 대체 코드에 사용함으로써 적합한 상황에서 연속되는 코드 대체를 진행하도록 함)를 응용하며 적합한 상황에서 상기 단계(1cii)에서 지정한, 코드 분할을 가지거나 가지지 않는 연속적으로 대체된 디자인 규칙 및 AAB코드표 규칙에 근거하여 암호화된 코드를 출력 파일에 기입함으로써 AAB코드를 발생하여 블랙홀에 의해 흡수한 코드값에 사용하고 AABA코드는 적합한 상황에서 단독적인 AAB코드 출력 파일로서 메인 암호화된 코드파일에 기입되거나 기입 병합된다.
(iv)적합한 상황에서 (만약 인코더에 임베디드 되지 않으면) 지정자를 메인 마스터 헤드와 부분적 마스터헤드에 기입하는데 이러한 지정자는 적합한 상황에서 검사 합계 지정자, 첸 코드파일 싸인, 매핑 테이블 지정자, 주기수 지정자, 코드유닛 정의 지정자, 처리유닛 정의 지정자, 슈퍼 처리유닛 정의 지정자, 최후 식별코드 지정자, 시나리오 디자인 지정자, 언이브너/이브너 지정자, 순환주기 지정자, 빈도 지정자, 특수 코드 지정자, 일부 크기 지정자, 숫자 데이터 블랙홀 타입의 지정자를 포함한다.
(1d)무작위 데이터를 압축하기 위한 디코딩 과정:
무작위 데이터를 압축 해제하기 위한 디코딩과정은 아래와 같은 내용을 포함한다.
(i)첸 프레임워크로 디자인한 인코더를 사용하여 암호화된 코드파일을 판독하고 해석한다.
(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비트 무작위 데이터 집합의 코드값의 빈도 분포
000 2004 ( -1 )
1100 1059 ( 0 )
0011 1034 ( 0 )
0110 1023 ( 0 )
0010 987 ( 0 )
1000 982 ( -1 )
0100 914 ( -1 )
10011 546 ( 0 )
11100 541 ( 0 )
11010 523 ( 0 )
10110 517 ( 0 )
01110 506 ( 0 )
01111 502 ( 0 )
01011 499 ( 0 )
10010 484 ( 0 )
01010 477 ( 0 )
11110 476 ( 0 )
11011 470 ( 0 )
10100 470 ( 0 )
111011 264 ( 1 )
101010 261 ( 1 )
111110 259 ( 1 )
111010 250 ( 1 )
101111 248 ( 1 )
101011 244 ( 1 )
111111 237 ( 1 )
101110 227 ( 1 )
총 비트수: 72003
aab증가량: -1910
27x27
000-000 199
000-1100 148
000-0100 142
…… (리스트가 너무 길어 관련되지 않는 코드값을 건너뜀)
11011-10100 17
111111-1100 17
101010-10100 17 11비트 클라스에서의 최고 빈도
101111-0100 17
10110-10100 17
0011-111110 17
10010-11100 17
0110-111011 17
10100-10011 17
0010-111110 17
10100-01010 17
1000-111010 17
01110-10011 17
111110-0011 17
01010-10110 17
111110-0110 17
10011-01110 17
01111-01011 17
111110-1100 17
01011-01111 17
01010-10011 17
01011-10110 17
11110-10010 17
11100-10010 16
11110-01110 16
10110-10011 16
0100-111010 16
01110-11110 16
11010-10100 16
11100-10100 16
0110-101110 16
101011-1000 16
101111-0110 16
1100-111011 16
111010-0011 16
0011-101011 16
01110-11011 16
101011-11010 16 11비트 클라스에서 두번째로 높은 빈도
10100-10100 16
01110-10010 16
111011-0011 16
01111-11110 16
11100-01011 15
01010-11010 15
1000-111110 15
11010-11010 15
11010-01111 15
11011-11110 15
101111-0010 15
10011-11010 15
11100-11010 15
11010-01110 15
11011-11010 15
111111-0010 15
101011-1100 15
0011-111011 15
101010-0010 15
1100-111110 15
0100-111011 15
01111-10010 15
1100-101010 15
01110-11010 15
11100-11011 15
101110-10011 15 11비트 클라스에서 세번째로 높은 빈도
11100-10011 15
10011-11011 15
101110-0110 14
01110-11100 14
10100-10110 14
01110-10110 14
11011-01111 14
101010-1000 14
10011-101010 14
111010-11110 14
111010-01111 14
01010-11011 14
01011-11110 14
111110-0100 14
11110-01011 14
01111-11100 14
11010-111011 14
11110-10100 14
11110-01111 14
111011-11100 14
0100-101010 14
0100-101111 14
111111-0011 14
11100-01110 14
111111-1000 14
0010-111011 14
111011-1100 14
0010-111010 14
1000-101110 14
0010-101010 14
10110-10110 14
10110-01010 14
10110-01011 14
10110-101011 13
10100-11100 13
10011-10100 13
01011-01011 13
01011-10010 13
111110-01010 13
101011-0110 13
0011-111111 13
10010-10100 13
0100-101011 13
11011-11100 13
101111-0011 13
101111-10110 13
0110-101010 13
0010-101011 13
10100-10010 13
10010-10011 13
01011-111111 13
101010-0011 13
111010-10010 13
111010-1100 13
01111-10110 13
111010-0010 13
01010-11100 13
01010-10010 13
11110-01010 12
01111-11010 12
111011-10100 12
111111-10011 12
11010-11110 12
111011-01110 12
1000-111111 12
01110-101011 12
11100-111010 12
11100-101110 12
111111-10110 12
11011-01010 12
10100-11110 12
11100-01111 12
10010-101010 12
101010-01010 12
1100-101111 12
01110-01111 12
111110-10011 12
10011-111110 12
101110-0100 12
01010-11110 12
01110-01011 12
01111-01111 12
111011-01010 12
0110-101011 12
0110-111111 12
101110-0011 11
101011-01010 11
101110-1000 11
111110-11100 11
111111-0110 11
111011-101010 11 12비트 클라스에서의 최고 빈도
11011-101110 11
111011-10110 11
101010-11100 11
101010-10110 11
101010-10011 11
111010-101011 11 12비트 클라스에서 두번째로 높은 빈도
10010-01111 11
10010-10010 11
10010-01110 11
01010-101011 11
10100-01011 11
01010-101010 11
01110-111110 11
11100-111111 11
0100-111111 11
01011-11100 11
1100-111111 11
1100-111010 11
11010-10110 11
11100-01010 11
11010-01010 11
11010-11011 11
101011-10110 10
11110-11011 10
111011-0110 10
01110-101111 10
0110-101111 10
0011-101110 10
11010-111111 10
1000-101010 10
101011-10010 10
0010-101111 10
11110-111111 10
101111-11100 10
111010-0100 10
111010-1000 10
111010-11011 10
10010-101011 10
101010-01110 10
11110-11110 10
111110-11110 10
111110-01111 10
111110-10110 10
11011-11011 10
111111-0100 10
11100-111011 10
11100-101111 10
11011-01011 10
111111-11100 10
101110-10100 10
0100-101110 10
11110-10011 9
111010-01011 9
10110-101010 9
10010-111110 9
10011-101111 9
11010-101010 9
11010-101111 9
11100-101010 9
11011-111011 9
10100-101110 9
111111-10010 9
101110-11100 9
01011-111011 9
111111-01010 9
10010-101111 9
101110-01111 9
101110-01010 9
11100-111110 9
101110-10110 9
101011-11110 9
111011-01111 9
111011-11010 9
10100-111011 9
01011-11011 9
10010-111011 9
11010-111110 9
101010-10010 9
111011-0100 9
111010-11100 8
11011-101010 8
111010-01010 8
101111-101111 8 12비트 클라스에서 세번째로 높은 빈도
101011-111010 8
11010-101110 8
101011-11100 8
101011-11011 8
111111-11110 8
11011-10110 8
11110-101011 8
111111-11011 8
01111-111110 8
111111-101111 8
11010-111010 8
01010-111010 8
111110-11011 8
11100-101011 8
01011-01010 8
01011-111010 8
01011-101011 8
10011-111011 8
101010-01011 8
111011-01011 8
101110-11110 8
111011-101111 8
10011-101110 8
01110-01110 8
01110-111111 8
111010-10100 8
10010-01011 8
111111-01111 8
111111-01110 8
101111-10010 8
101111-01111 8
10011-111111 8
111110-1000 8
11110-101111 7
01111-101011 7
111010-01110 7
01111-111011 7
11110-101110 7
01111-01010 7
111111-10100 7
111110-111010 7
01010-10100 7
01010-01110 7
111111-111011 7
01011-101010 7
01111-111111 7
01110-111011 7
101010-11110 7
11011-111110 7
101011-10011 7
10110-111010 7
11011-111010 7
101110-11011 7
101111-01011 7
101011-01011 7
101010-0100 7
101110-01011 7
101010-11010 7
101010-11011 7
10011-101011 7
101111-10011 7
01110-101110 7
10011-111010 7
111010-10011 6
101111-01110 6
111010-11010 6
01010-111011 6
101111-10100 6
01110-01010 6
101010-101110 6
10010-111010 6
01011-101110 6
111110-111110 6
111110-01110 6
101110-101010 6
101111-11010 6
101110-111111 6
111110-10010 6
01110-111010 6
10110-111011 6
11110-101010 6
10100-111111 6
01111-101010 6
101011-01110 6
10110-10010 6
10110-111110 6
01111-101110 6
11110-111010 6
101011-10100 6
11011-111111 6
01111-101111 6
101010-111110 5
10100-101111 5
10100-101010 5
111110-101010 5
10010-101110 5
101010-111111 5
101011-01111 5
101010-101010 5
01111-111010 5
01110-101010 5
101010-111010 5
111110-10100 5
111110-01011 5
111111-111111 5
01010-111110 5
10110-101111 5
11110-111110 5
111111-01011 5
101111-101011 5
11110-111011 5
101110-11010 5
101111-01010 5
111011-11110 5
101011-111111 5
10010-111111 5
11010-101011 5
111011-111011 5
111010-101110 5
11011-101111 5
10100-101011 5
10100-111010 4
101110-01110 4
111011-111111 4
101110-10010 4
111111-11010 4
111011-10011 4
111011-10010 4
111011-111010 4
111011-11011 4
101111-111110 4
01010-101110 4
101111-111111 4
01011-111110 4
101011-0011 4
01010-111111 4
111010-111010 4
111010-111011 4
101111-11110 4
101111-101010 4
111110-101111 4
111110-101011 4
111110-11010 4
01011-101111 4
10110-111111 3
101111-11011 3
10100-111110 3
111010-101111 3
111010-101010 3
111111-111010 3
101011-111110 3
111111-101010 3
111111-101110 3
101111-111011 3
101011-101010 3
10110-101110 3
101111-111010 3
101010-111011 3
101110-101011 3
101110-101111 3
101110-111110 3
111110-111111 3
111110-111011 3
101010-01111 3
111011-111110 3
111010-111110 2
111111-101011 2
101011-101110 2
101010-101111 2
111110-101110 2
111010-10110 2
111111-111110 2
111010-111111 2
01010-101111 2
101011-101011 1
101011-101111 1
111011-101011 1
101110-111010 1
111011-101110 1
101111-101110 1
101011-111011 1
101010-101011 1
11011-101011 1
101110-111011 1
101110-101110 0 블랙홀1
도표60b
도표60a의 빈도 통계값의 12비트 클라스 SPUCV의 빈도 카운트의 분포
빈도 카운트 12비트 클라스의 고유 SPUCV의 수량
0 1 SPUCV 101110-101110을 블랙홀1로 사용
1 9
2 7
3 16
4 9
5 10
6 4
7 2
8 4
9 0
10 0
11 2 SPUCV 111011-101010과 111010-101011
임의의 하나를 블랙홀0으로 사용
합계: 64개의 고유 코드값
상술한 바와 같이 무작위 데이터 집합의 크기를 비교적 작은 값인 ff=9000으로 하여 도표60a를 생성하고 도표60b는 도표60a의 빈도 통계값을 사용한 12 비트 클래스에서의의 SPUCV의 빈도 카운트 분포이다. 도표60b에 도시된 바와 같이 두개의 최고 빈도가 11개의 카운트인 코드값이 존재한다. 첫번째 또는 두번째(즉 SPUCV 111011-101010과111010-101011)를 블랙홀0으로 선택하여 0 빈도 카운트를 가지는 블랙홀1로서의 결여한 SPUCV 101110-101110과 짝을 이룰 수 있다. 임의의 하나를 사용하는 것을 통해 비트 절약은 단지 11비트뿐이고 상용적인 방법을 사용하여 계산한 두개의 블랙홀 지정자의 비트 지출은 12이트이다. 이는 명백히 적합한 방법이 아니다. 따라서 다른 한 새로운 기술을 디자인하여 블랙홀 지정자에 필요한 비트 길이를 축소할 수 있다. 이는 또다시 범위의 개념을 사용한다.
12비트 클라스의 코드값SPUCV 111011-101010을 사용하는 바, 최고 빈도 카운트인 블랙홀0은12비트 클라스 SPUCV의 최고 빈도에 최저 한계를 제공한다. 2비트(여기서 사용한 이진 비트의 수량은 처리 중인 숫자 데이터 집합에서 결정된 빈도 모드 또는 규율성에 근거하여 조절될 수 있음)를 사용하여 두번째 최고 빈도 카운트의 12비트 코드값을 지시할 수 있는데 비트 길이로 계산하면 그 곁에서 조금 떨어져 있다. 두개의 비트 지정자는 4개 비트의 비트 길이의 폭을 부여할 수 있다. 이는 대부분의 상황에 있어서는 충족한 것이다. 만약 이것이 이 목적에 사용할 수 없고 또 최고 빈도의 12비트 코드값이 이미 디자인되고 선택된 비트 길이 범위 밖에 있으면 이를 압축할 수 없는 무작위 데이터로 간주할 수 있다. 따라서 비트00은 11비트SPUCV에 사용되고 비트01은 12비트SPUCV에 사용되며 비트10은 13비트SPUCV에 사용되고 비트11은 14비트SPUCV에 사용된다. SPUCV 111011-101010이 11비트이므로 이에 사용되는 지정자는 비트00이다.
만약 최고 빈도를 가지는 코드값을 블랙홀0으로 선택하고 결여한 코드값을 블랙홀1로 선택하면 인코딩을 완료한 후 암호화된 코드를 해석하며 SPUCV의 빈도 카운트의 분포는 1로 변하는 바, 이는 아래 도표60c에 나타낸 바와 같다.
도표60c
도표60a의 빈도 통계값을 사용한 암호화된 코드에서의 12비트 클라스SPUCV의 빈도 카운트 분포
빈도 카운트 12비트 클라스의 고유 SPUCV의 수량
0 0
1 9
2 7
3 16
4 9
5 10+1 SPUCV 111011-101010 은 블랙홀0
6 4+1 SPUCV 101110-101110 은 블랙홀1
7 2
8 4
9 0
10 0
11 2-1 SPUCV 111010-101011
합계: 64개의 고유 코드값
이러한 가정은, 블랙홀0과 블랙홀1에 사용되는 3/4비트 PUCV와 5/6비트 PUCV의 빈도 카운트의 분포가 원시적인 12비트 SPUCV 111011-101010를 위한 비례를 유지하는 것에 기반한다.
이상이 정확하다고 가정할 경우 고정된 디자인의 블랙홀을 사용하여 3/4비트 PUCV를 흡수하고 블랙홀1을 사용하여 5/6비트 PUCV를 흡수할 수 있다. 파동이 없으면 암호화된 코드를 해석할 수 있고 3/4비트 PUCV의 절반이 더 큰지 아니면 5/6비트 PUCV의 절반이 더 큰지를 알 수 있다. 만약 변경을 허용하면 1개의 비트를 사용하여 어느 12비트 코드값이 블랙홀0(예하면 자연수 정렬에서 우선 나타난 값)인지를 지시할 수 있고 그 다음 어느 한 코드값을 식별하여 5개의 빈도 카운트와 6개의 빈도 카운트의 매 그룹에서 온 것인지를 결정한 다음 블랙홀1은 자연적으로 이미 알고 있는 것이 된다. 5와 6 빈도 카운트 그룹에서 이 두개의 DDB를 식별하기 위하여 모두 55개의 옵션(즉 10+1=11과 4+1=5 및 11*5=55)이 선택에 사용된다. 따라서 이는 5 내지 6비트(AAB코딩을 사용)를 사용하여 이러한 식별을 진행한다. 그래서 모두 2개의 비트를 사용하여 블랙홀0의 빈도 카운트를 지시할 수 있고 1개의 비트는 어느 DDB코드값이 결여한 코드값인지를 지시하고 5 내지 6개의 비트는 두개의 DDB를 식별하는데 사용되는 바, 모두 8 내지 9개의 비트이다. 따라서 획득한 비트 절약은 11개 비트에서 8 내지 9개의 비트를 덜어낸 것으로서 2 내지 3개의 비트에 상응한다.
그러나 두개의 DDB가 암호화된 코드에서 발견된 자리(즉 어떤 빈도 카운트 그룹)는 일정한 정도의 파동이 있을 수 있다. 가능한 그루핑은 5와 6개 빈도 카운트 그룹, 4와 7개 빈도 카운트 그룹, 3과 7개 빈도 카운트 그룹, 2와 9개 빈도 카운트 그룹, 1과 10개 빈도 카운트 그룹 등 모두 5가지 가능한 그루핑이 존재한다. 그러나 매우 정확한 것은 2/9그룹과 1/10그룹은 고유한 것이므로 4가지 가능한 그루핑이 여전히 존재한다. 따라서 2개의 비트를 더 제공하여 이러한 가능성을 지시하는데 사용될 수 있다. 그러나 2개의 비트를 더 제공하는 것은 필요가 없을 수 있는데 이는 두개의 DDB가 5/6과 6/7빈도 카운트를 초과하는 그루핑에 들어갈 기회가 아주 작기 때문이다. 또한 이들은 압축할 수 없는 무작위 데이터에 또다시 분류될 수 있다. 따라서 1개 비트를 사용하여 두개의 DDB가 들어간 빈도 카운트 그루핑의 이러한 파동을 허용한다.
블랙홀0과 블랙홀1의 두개의 특별한 코드 지정자의 비트 지출이 상이한 그룹에 들어가는 것은, 5/6빈도 카운트 그루핑에 사용되는 5 내지 6개 비트, 4/7그루핑에 사용되는 4 내지 5개 비트(10*3).
따라서 만약 빈도 카운트 그루핑이 두개의 DDB에 사용되면 비트 절약은 2 내지 3개의 비트에서 1비트 내지 1 내지 2개의 비트를 감소한다. 만약 그루핑이 4/7이면 비트 절약은 변화가 없으므로 2 내지 3개의 비트에서 1비트를 절감하여 DDB의 빈도 카운트 그루핑을 지시하는데 사용되고 또 두개의 DDB의 특수 코드 지정자의 비트 지출이 감소되어 발생한 1개의 비트의 증가는 이를 동일하도록 유지시켜준다. 따라서 비트 절약은 1 내지 2개의 비트 또는 2 내지 3개의 비트이다.
따라서 이는 처리 중인 숫자 데이터 집합으로부터 수집한 정보(즉 빈도 카운트 그루핑에 관한 통계 데이터)를 사용하여 축소한 것인데 예하면 DDB의 특수 코드의 지정자, 지정자 비트 지출의 기술에 사용된다.
1비트를 제공하여 압축 가능하거나 압축할 수 없는 데이터의 지정자로 사용하는데 결과는 균등하거나 또는 1 내지 2비트의 절약이 있게 된다. 사용된 인코더가 샘플링한 PUCV의 빈도 분포의 규율성을 고려하여 두개의 DDB가 3/8그루핑에 들어가는 가능성은 매우 작거나 매우 낮게 되므로 두개의 DDB가 들어가는 기회의 순서는 먼저 5/6그루핑이고 다음은 4/7그루핑이며 그 다음은 3/8그루핑일 가능성이 작고 심지어 더 작게는 2/9 또는 1/10 그루핑이다. 또한 상술한 바와 같이 만약 DDB가 5/6과 4/7 빈도 카운트 구룹의 그루핑에 들어가지 않으면 무작위 데이터 집합은 압축할 수 없는 데이터로 분류된다. 이러한 데이터는 상기 압축 가능/압축할 수 없는 데이터 비트를 사용한다.
ff=9,000을 사용하여 상기 빈도 분포를 생성한 구현예는 약 8개의 구현예를 생성하는데 1개만이 결여값이 없는 12비트 코드값임을 더 발견했다. 따라서 이는 이상 현재까지 소개한 기술을 사용하면 더 높은 비트 절약 가능성이 있음을 의미한다.
다른 한 실시방안에서는 11비트 클라스에서의 최고 빈도의 코드값 SPUCV101010-10100을 블랙홀0으로 더 사용하여 블랙홀1, SPUCV 101110-101110과 짝을 이루도록 할 수 있는데 이와 동시에 적합한 상황에서 유사한 방식으로 지정자 비트 지출을 절약하는 기술을 사용할 수 있다.
첸 프레임워크에서 디자인한 상이한 인코더에서 샘플링한 상이한 크기의 무작위 데이터 빈도 분포의 더 많은 규칙 모드는 병합될 것이고 이들에 대한 규율을 이미 결정하였으므로 더 정밀한 규칙과 새로운 기술은 개발될 것이다. 이러한 비트 지정자의 용도 및 이들 각각의 크기도 상이한 실시방안에서 조절될 것이고 조절은 첸 프레임워크 디자인을 이용한 상이한 인코더를 통해 결정된 것이며 이는 무작위인지 비무작위인지, 상이한 크기의 숫자 데이터 집합인지, 특정 빈도 모드 또는 규율인지와 관계 없다.
따라서 본 발명에서 인입한 기술은 그들이 무작위 데이터를 압축함에 있어서의 유용성을 이미 설명하였다. 또한 이러한 기술은 무작위 데이터 집합에서 판별한 규율 모드의 정보를 더 이용하여 참조로 사용함으로써 비무작위 데이터를 압축하고 압축 해제하도록 할 수 있다.
(2)비무작위 데이터에 대한 압축과 압축 해제
이상의 (1)에서 개시한 방법을 사용하여 무작위 데이터를 압축하므로 동일한 방법을 사용하여 비무작위 데이터를 압축할 수도 있다. 특수 코드의 지정을 결정하게 될 경우 비무작위 데이터의 성질을 고려할 필요가 있다. 기본적으로 이러한 상황에서 특수 코드를 지정하기 위한 논리와 무작위 데이터를 압축하는 상황은 동일한 바, 이는 목적이 동일, 즉 비트 사용 절약을 실현하기 위함이다. 그러나 무작위 데이터가 비무작위 데이터가 준수하지 않는 일부 규율성을 준수하고 비무작위 데이터 집합의 데이터 분포가 서로 현저한 차이가 있는데 이는 바로 특수 코드를 지정할 경우 일부 이러한 변화를 왜 만족시켜야 하고 도 더 적당한 기술을 사용하여 이러한 변화에 적응하는 것이 필요한 것인지를 알려준다. 다라서 특수 코드를 지정하기 위하여 적합한 상황에서 아래와 같은 규칙을 제정하고 준수할 수 있다.
(2a)비무작위 데이터 집합에 PUCV가 결여할 가능성:
소량의 무작위 데이터 또는 비무작위 이진 비트를 처리하는 부분은 비트 절약을 실현할 수 없고 마스터헤드에 기록한 지정자의 비트 지출을 보상할 수 없게 될 수 있다. 따라서 같은 방식으로 비무작위 데이터의 일부 크기는 매우 작지 말아야 한다. 그러나 매우 큰 크기를 가지더라도 비무작위 데이터 집합은 데이터 집합에서 하나 또는 다수의 PUVC를 결여할 수 있다. 또한 이러한 PUCV결여 현상은 적합한 상황에서 충분히 이용되어 이러한 결여된 PUCV를 특수 코드, 블랙홀1 또는 기타 Scode로 지정할 수 있다. 블랙홀1이 되기 위한 표준은 선택되고자 하는 코드값 길이가 선택된 블랙홀0보다 1비트 길지 말아야 하는데 이는 블랙홀1이 AAB코드를 사용하여 앞 또는 뒤의 코드값을 흡수함으로써 1비트(현재의 토론은 블랙홀이 일방향으로 코드값을 흡수하는 것을 토론하는데 상응하게 블랙홀을 통하여 양방향으로 흡수하는 규칙을 조절할 수 있음)를 절약할 수 있기 때문이다. 따라서 Scode0을 블랙홀1로 사용하되 그 중에서 비트 길이가 1비트 길다는 것은 데이터 확장을 의미하는 바, 이는 데이터 압축을 실현하는 방향을 향한 방향이 아니다. 따라서 무작위와 비무작위 데이터에 대해 데이터 압축을 진행하는 규칙(블랙홀과 연속되는 코드 대체 기술의 용도의 영향을 받지 않는 기타 코드값이 동일한 비트 크기의 인코더를 사용하여 인코딩하고 인코더 자체가 동일한 비트 크기 인코더로 사용되는 클라스에서의 인코더를 판독한다고 가정하면 상술한 바와 같이 데이터 확장이나 데이터 수축이 없는 인코더 자체가 대표하는 한가지 암호화 형식이 아닌 동일한 비트 크기 인코더를 사용하여 인코딩)은,
블랙홀을 사용하여 발생한 비트 이득이 응당 대체 코드에 마스터헤드에 사용되는 비트 지출을을 더하여 조성한 비트 결여를 초과하는 것이다.
따라서 상기 탑 규칙에서 숫자 데이터 집합을 압축과 압축 해제하는 데이터 분포 및 데이터 처리와 같은 이러한 활동의 관련 목적을 진행할 경우 실제 상황에 근거하여 적당한 시기에 기타 규칙을 완화할 수 있다. 그 중에 결여 PUCV가 존재하지 않는 상황을 토론하는 상황에서 그 중에 결여 PUCV를 압축하는데 사용할 수 있는 비무작위 데이터 집합의 기술의 더 많은 내용은 별도로 토론할 수 있다.
(2b)비무작위 데이터 집합에는 결여 PUCV가 존재하지 않음:
상기와 같이 개시한 숫자 데이터 블랙홀과 연속되는 코드 대체가 무작위 데이터를 압축하는데 사용될 수 있으므로 이러한 기술은 비무작위 데이터를 압축할 수도 있다. 비무작위 데이터는 변하가 아주 크고 예측할 수도 없으나 동일한 비트 크기의 무작위 데이터 집합(예하면 본 구현예에서 사용한 80,000개 이진 비트)의 빈도 분포 통계값을 참고(상술한 바와 같이 첸 프레임워크 정의의 인코더를 사용하여 획득)로 사용하여 검사하고 비교할 경우 결여 PUCV가 존재하지 않는 상황에서 숫자 데이터 블랙홀과 연속되는 코드 대체기술을 사용한 방법 또한 비무작위 데이터 집합을 압축하는데 사용될 수 있다는 결론을 얻게 되고 이 결론은 논리에 부합되는 것이다. PUCV가 결여하지 않는 상황에서는 반드시 코드 분할을 가지거나 가지지 않는 것과 관계 없이 연속되는 코드 대체를 사용하여 블랙홀1로 사용되는 부가적인 코드값을 제공함으로써 블랙홀0과 합작하여 AAB코딩으로써 기타 코드값을 흡수하도록 한다. 예기할 수 있는 것은 비무작위 데이터 집합에서의 임의의 비트 클라스에서의 이의 최고 빈도의 코드값의 빈도는 무작위 데이터 집합에서의 동일한 비트 클라스에서의 상응한 코드값의 빈도보다 훨씬 높을 수 있다. 하나의 비트 클라스에 대해 이렇지 않으면 다른 한 비트 클라스에서 이러한 현상을 발견할 수 있다. 빈도가 제일 낮은 그러한 코드값에 대하여도 마찬가지이다. 또한 무작위 데이터 집합으로부터 유도한 참고를 사용하여 아래와 같은 규칙을 준수할 수 있다.
(i)비무작위 데이터 집합의 한쌍의 블랙홀0과 블랙홀1 사이의 빈도 차이 범위는 동일한 크기의 무작위 데이터 집합보다 커야 하고 무작위 데이터 집합에서의 상응한 한쌍의 빈도 차이는 아래와 같다: 블랙홀0의 빈도는 응당 블랙홀1 빈도의 4배 또는 그 이상이고 블랙홀1의 비트 길이는 블랙홀0의 비트 길이보다 1비트 이상 길지 말아야 하는데 이는 블랙홀1이 처리 중인 데이터 집합에서의 빈도가 그렇게 빈번하지 않고 비트 길이가 여기서 규정한 것보다 더 짧다는 것을 의미하고 또 기타 코드값이 이러한 요구를 만족시키면 이러한 코드값이 블랙홀1로 사용될 수도 있다는 것을 의미한다.
블랙홀0의 빈도>=블랙홀1의 빈도의 4배
플러스
블랙홀0의 비트 길이가 블랙홀1의 비트 길이보다 1비트 큼
(ii)이러한 상황에서 치리 중인 데이터 집합에 결여 코드가 존재하지 않으므로 블랙홀1의 코드값은 사용하도록 제공한 코드값()으로서 블랙홀0을 대체하고 여기서 절반을 흡수한 코드값은 상응한 AAB코드로 나타내고 한 코드값은 다른 한 코드값으로 대체해야 한다. 상술한 바와 같이 이는 연속되는 코드 대체가 도움을 제공하는 상황이다. 이러한 연속되는 코드 대체에 사용되는 규칙은 아래와 같을 수 있다.
모든 합산된 Scode의 총 빈도=<Scode 0의 빈도
플러스
매 하나의 연속되는 Scode의 빈도는 응당=<대체되고자 하는 코드 빈도의 절반
플러스
매 하나의 연속되는 Scode의 비트 길이는 대체되고자 하는 코드의 비트 길이보다 1비트 길지 말아야 하고 만약 더 길거나 1비트 증가하면 1비트 증가할 때마다 이러한 연속되는 Scode의 빈도는 응당 진일보로 절반 감소되어야 한다.
모든 Scode의 총 빈도가 낮을 수록, 또 이 비트 길이가 짧을 수록 이상에서 지정한 규칙은 더 양호화다. 만약 상기 규칙을 만족시키면 기타 코드값을 Scode로 사용할 수도 있다.
상술한 바와 같은 숫자 데이터 블랙홀과 연속되는 코드 대체의 방법을 사용함으로써 아주 적은 상황에서만 관련된 비무작위 데이터 집합에 대해 압축 처리할 수 없게 된다. 적합한 상황에서 이 점에 대하여 본 발명의 우선권요구에 따른 2017년 2월 22일에 제출한 PCT/IB2017/050985를 참조할 수 있다.
상기 규칙을 사용한 후에는 요구를 만족시키는 블랙홀을 식별할 수 없을 수 있는데 출현한 코드값이 특정된 비트 클라스에 매우 집중, 예하면 3비트 클라스와 하나의 코드값(즉 000)에 집중되었음을 확신할 수 있다. 이러한 상황에서 잠시 뒤에 아래의 AAB코드를 사용하여 선택함으로써 PUCV000을 압축하는 것을 고려할 수 있다.
도표61a
PUCV 000에 고도로 집중된 코드값을 발생하기 위한AAB코드표
0
1000
1001
1010
10110
10111
11000
11001
11010
110110
110111
111000
111001
1111000
1111001
11110100
11110101
11110110
11110111
11111000
11111001
11111010
11111011
11111100
11111101
11111110
11111111
도표61b
코드값이 PUCV 000에 집중되는데 사용되는 AAB코드표, 손실이 4비트 PUCV에 발생할 경우 적용되고 비교적 적은 수량의 4비트 PUCV를 가지는 데이터 집합에 적용된다.
00
01000
01001
01010
01011
01100
01101
01110
01111
10000
10001
10010
10011
10100
10101
10110
10111
11000
11001
11010
11011
11100
11101
111100
111101
111110
111111
도표61c
코드값이 PUCV 000에 집중되는데 사용되는 AAB코드표, 손실이 5비트 PUCV에 발생할 경우 적용되고 비교적 적은 수량의 5비트 PUCV를 가지는 데이터 집합에 적용된다.
00
0100
0101
0110
0111
1000
1001
101000
101001
101010
101011
1011000
1011001
1011010
1011011
1011100
1011101
1011110
1011111
111000
111001
111010
111011
111100
111101
111110
111111
도표61d
코드값이 PUCV 000에 집중되는데 사용되는 AAB코드표, 손실이 6비트 PUCV에 발생할 경우 적용되고 비교적 적은 수량의 6비트 PUCV를 가지는 데이터 집합에 적용된다.
00
0100
0101
0110
0111
1000
1001
10100
10101
10110
10111
11000
11001
11010
11011
11100
11101
111100
111101
11111000
11111001
11111010
11111011
11111100
11111101
11111110
11111111
도표61e
코드값이 PUCV 000에 집중되는데 사용되는 AAB코드표, 여기서 나머지PUCV는 저하된 빈도에 근거하여 내림차순으로 코드값을 분포한 것이다.
00
0100
0101
0110
0111
10000
10001
10010
10011
10100
10101
10110
10111
11000
11001
110100
110101
110110
110111
111000
111001
111010
111011
111100
111101
111110
111111
상기 5가지 버전의 AAB코드표 디자인은 코드값을 다수의 부분()으로 분류하여 코드값의 데이터 분포에 근거하여 응용해야 하는 AAB코드 타입의 범위를 한정한다고 표명한다. 따라서 이들이 기대되고 적합할 경우 더 많은 이러한 AAB코드표를 디자인하여 상기 규칙과 도표61에 나열된 AAB코드표를 보충할 수 있다. 상기 규칙과 도표61은 어떻게 숫자 데이터 블랙홀과 연속되는 코드 대체 기술 및 AAB 코딩 기술을 디자인하고 개발하여 비무작위 데이터를 압축하기 위해 제정된 것으로서 이상에서 설명한 것은 이미 끝난 것이고 항상 최적화의 목적으로 출현하여 디자인과 개발을 진행할 수 있으며 그들에 대해 보충을 진행한다. 여기서 사용한 AAB코드표의 기술을 조절하여 DDB와 관련된 AAB코드표에도 적용함으로써 DDB를 사용하여 획득한 최대화된 비트 사용 이득을 획득한다. 디자인에 근거하여 어느 DDB가 비트 사용에서 제일 많이 획득되는가에 근거하여 절반(또는 일부)이 비교적 높은 빈도의 코드값을 이 DDB에 분포하여 흡수되도록 한다. 이는 비무작위 데이터 지집합에 대하여 코드값의 불균일 분포로 인하여 매 하나의 DDB쌍의 두개반에 대해 반드시 처리 중인 데이터 집합의 코드값의 현재의 빈도 분포에 근거하여 조절함을 의미한다. 따라서 AAB코드표도 상응되게 조절해야 한다. 따라서 처리 중인 비무작위 데이터 집합의 데이터 분포에 근거하여 적당히 조절한 상기 규칙과 상기 AAB코드표는 결여가 없는 모든 PUCV의 비무작위 데이터를 거의 커버하는 상황에서 상기 AAB코드표는 처리 중인 비무작위 데이터 집합의 데이터 분포 상황에 근거하여 적당히 조절한 것임은 자명한 것이다. 또한 일부 크기를 조절할 수 있는데 예하면 이를 80,000개 이진 비트로부터 10배 또는 100배 증가할 수 있고 이는 반드시 더 좋은 비트 절약 기회를 제공할 것이다. 마찬가지로 비무작위 데이터에 대하여 만약 상기 최적화 옵션을 사용하여 한 부분의 데이터를 압축함으로써 비트 사용의 손실을 초래하게 되면 이는 전반 숫자 데이터 입력에 비트 사용의 이득이 존재하지 않음을 의미하는 것이 아니다. 따라서 규칙과 AAB코드표를 보충하는 기회가 생겨 진일보로 최적화하는 점을 고려하여 방금 설명한 방법은 응당 PUCV가 결여하지 않는 비무작위 데이터를 압축하기에 충분행 한다.
(2c)PUCV가 결여한 비무작위 데이터 집합:
PUCV가 결여한 비무작위 데이터 집합을 압축하는 것은 상대적으로 용이한 바, 아래의 기술을 사용하면 항상 실현할 수 있다.
(i)처리 중인 비무작위 데이터 집합에서의 결여한 코드값을 블랙홀1로 사용하되, 상기 블랙홀1은 동일한 비트 클라스에서 또는 심지어 1비트를 감소한 비트 클라스에서 블랙홀0의 매칭 파트너로 사용되고 상기 블랙홀0은 관련 클라스에서 제일 빈번한 코드값을 가지며 이러한 결여 코드값의 출현 빈도는 0이므로 그 어떤 대체 코드를 사용하여 이를 대체할 필요가 없다.
(ii)처리 중인 비무작위 데이터 집합에서 결여한 PUCV를 비교적 긴 비트 길이의 다른 한 코드값으로 대체하는데 이 다른 한 코드값은 처리 중인 데이터 집합에 존재한다.
이 외에 적합한 상황에서 한쌍보다 많은 DDB를 사용하여 무작위 데이터 및 비무작위 데이터를 압축하는 것을 고려해야 한다. 상기 방법과 기술을 사용함으로써 반드시 관련 지정자를 추가하여 관련 마스터헤드에서 사용하는 특수 코드에 사용하거나 또는 적합한 상황에서 이들을 이미 토론한 사용된 인코더와 디코더에 임베디드한다. 예하면 시나리오 지정자 등 기타 지정자도 동일한 방식으로 사용하여 암호화 또는 복호화된 데이터 집합이 무작위 데이터 집합인지 아니면 비무작위 데이터 집합인지를 지시하고 또 이미 어느 한 쌍의 DDB 또는 어느 AAB코드표를 사용하였ㄴ느지를 지시할 수 있다.
이상의 구현예는 첸 프레임워크 가 디자인한 Max3인코더를 사용하였고 기타 Max수의 인코더 디자인을 사용할 수도 있다. 따라서 기타 특징 외에 제일 중요한 구별 특징은 첸 프레임워크 디자인의 인코더와 기타 인코더를 구별하는 것인데 이 표준은 코드유닛, 처리유닛과 슈퍼 처리유닛의 고유 코드값이고 사용한 디자인에 근거하여 하나의 수보다 많은 비트 크기 또는 비트 길이, 또는 상이한 비트 크기 또는 비트 길이를 가지는 것이다.
따라서 이상에서 설명한 방법과 기술은 무작위이든 비무작위이든 관계 없이 모든 유형의 숫자 데이터를 순환적으로 압축할 수 있다(몇천개의 이진 비트의 무작위 데이터를 포함하지 않는데 여기서 정확한 한정은 중점이 아니다). 따라서 이상의 내용과 결부하여 범용 인코더를 발명했다.
[135]전체적으로 말하면 결론은 또다시,
이해력이 있는 사람으로 하여금 숫자를 카운트하도록 하세요……
유리한 효과
[136]입력된 숫자정보에 대한 가정이 없으므로 무작위 숫자 또는 균일하게 분포된 숫자를 포함하는 임의의 숫자는 상기 한정한 순환주기에서 암호화 또는 압축을 진행할 수 있다. 정보가 발달한 시대인 지금 암호화와 압축을 순환할 수 있다는 것은 분포에서 무작위 여부와 관계 없는 숫자 데이터의 방법은 모든 인류에게 있어서 생활의 곳곳에서 숫자 데이터의 교환과 저장의 이용에 의지하도록 하는데 큰 기여를 하게 되었다. 이는 인류가 공간 탐색 또는 재이민의 노력에도 도움이 될 것이다.
최적의 모드
[137] 현재까지 본 발명에서 주장하는 우선권인 PCT출원PCT/IB2017/054500에서 인입된 가장 바람직한 실시형태는 숫자 데이터 블랙홀을 코드로 대체하여(후속적인 또는 비후속적인) 적절한 경우에 무작위 및 비무작위 데이터 압축에 함께 사용하는 것이다. 또한 비무작위 데이터에 대하여 별도의 규칙과 AAB코드표를 디자인하고 개발하여 처리 중인 숫자 데이터집합의 데이터 분포 타입에 적응할 수 있도록 한다. 이는 명확한 증거를 제공하는 바, 즉 그 어떤 숫자 데이터 집합이든 모드 주기 내에서 인코딩과 디코딩을 진행하여 설명하는 한정에 도달할 수 있고 상기 증거는 정보이론에서의 비둘기집원리의 산화를 종결지으며 현재 비둘기집은 블랙홀을 만났다. 이는 기타 모드에서의 기타 첸 코딩 기술이 동일한 결과 또는 동일한 증거를 발생할 수 없음을 의미하는 것이 아니다. 예측 가능한 것은 기타 모드를 사용하여도 동일한 결과와 동일한 증거를 제공할 수 있다는 것이다.
발명의 모드
[138]기타 모드는 언이브너와 이브너를 교대로 사용하여 인코딩과 디코딩을 진행하는 것을 포함하는데 슈퍼 처리유닛을 사용함으로써, 특히는 이러한 서브 섹션의 AI구분을 사용하는 표준을 위한 기술을 통하여 무작위 데이터 집합을 압축을 쉽게 받는 불균일 데이터의 서브 섹션 또는 서브 유닛으로 분해하고 상이한 크기의 처리유닛을 사용하여 숫자 데이터 값의 내용의 특성 또는 특징에 근거하여 종료 조건과 분류 표준을 적당히 사용하여 인코딩과 디코딩하며 특히 암호화 모드의 간단한 디자인에 대하여 수학 공식 및 이들의 상응한 값을 사용하여 인코딩과 디코딩을 진행한다. 이 외에, 본 발명은 가장 새로운 방법으 개시하고 디지털 투시법을 사용하여 숫자 구조 또는 구성을 구축하며 코드를 선택하여 인코딩 및 디코딩 작동(암호화와 복호화 및 무손상 방식의 압축과 압축 해제)에 사용되고 처리 중의 숫자 데이터 집합이 무작위 또는 비무작위 여부와 관계 없으며 제142단락 및 이하에 표시된 바와 같다.
[139]제일 중요한 것은 이상의 토론에서 알 수 있다 시피 첸 프레임워크는 무작위 여부와 관계 없는 데이터에 사용될 수 있고 질서를 창조하는 프레임워크에 사용될 수 있어 이러한 데이터로부터 통계정보를 생성하는데 제공되고 이러한 통계정보는 처리 중인 특정 데이터 집합을 설명하기 위한 모드[모드와 디자인은 코드유닛, 처리유닛, 슈퍼 처리유닛의 디자인(일부는 더 큰 크기의 슈퍼 처리유닛),암호화되지 않은 코드유닛, 이러한 정보를 사용하는 기본 지정자에 사용되는 마스터헤드 및 인코더와 디코더에 내장된 프로그래밍 논리를 포함하여 첸 코드를 발생함으로써 첸 코드파일 형식의 숫자 인진 비트로 표시]와 관련되며 이로써 첸 코딩 기술을 사용하여 적합한 상황에서 압축과 암호화의 목적에 사용되도록 하여 인코딩과 디코딩을 진행한다. 상술한 바와 같이 상기 이러한 통계정보는 코드유닛, 처리유닛, 슈퍼 처리유닛의 크기, 이들의 빈도 분포, 데이터 코드값의 랭크와 자리 및 예하면 수학공식에 나타낸 상이한 데이터 코드값 사이의 관계의 기타 특징정보, 종료값과 종료 조건, 비트0과 비트1 사이의 비율, 데이터 범위 등을 포함한다. 첸 프레임워크에서 데이터 집합의 이러한 특징 또는 특성을 설명할 수 있으므로 인코딩과 디코딩의 목적으로 관계 또는 파생 특성을 창조한다. 예하면, 특별히 유용한 특성은 절대 어드레스 분기 코드인 바, 예하면 이는 코드유닛 정의 자체로 사용될 수도 있거나 또는 내용코드로 사용될 수 있거나 또는 시나리오 분류 코드로 사용되고 AI구분을 진행하는 표준의 내용코드의 트리오의 접미사로 사용되며 특히 숫자 데이터 블랙홀과 연속되는 코드 대체를 사용하여 정확하고 손상 없이 무작위 데이터를 압축하고 압축 해제할 수 있다. 따라서, 첸 프레임워크는 풍부한 프레임워크로서 그 어떤 데이터 집합을 위해 그 어떤 데이터 분포의 데이터 집합이든 모두 질서를 창조하여 디자인 단계기간에 큰 영활성을 갖도록 하며 이는 프레임워크에서 설명 가능하여 개발기술이 데이터 값 사이의 차이를 포획하도록 하는데 이는 잠시 뒤에 꼬꼼하게 조작할 수 있는 바, 예하면 순확적으로 운용하여 데이터 집합의 비트0과 비트1 사이의 비율을 변화시켜 데이터 분포의 불균일성을 증가시킴으로써 데이터 압축의 재순환을 가능하도록 하거나 또는 수학 공식을 디자인하여 처리유닛의 상이한 컴포넌트 사이의 관계를 나타내도록 함으로써 자체 또는 이에 대해 또다시 진일보로 압축하기 전에 대응되는 숫자 데이터 집합을 암호화하는데 사용된다.
[140]어느 모드를 사용할 것인가 하는 것은 하나의 선택 문제로서 인코딩의 주요 목적에 의해 결정되는 바, 암호화거나 압축이거나 또는 양자에 모두 사용된다. 제[142]단락 및 이하 단락의 디지털 투시법 방법은 작동될 코드값을 선택하여 처리 중의 숫자 데이터의 데이터 분포에 근거하여 고려될 숫자 구성을 제공하기 때문에 확실히 선호되는 방법이다. 디지털 투시법 및 구축된 숫자 구성은 먼저 처리 중의 숫자 데이터 집합에 형성되는 숫자 구성에서 표현되는 특성을 찾아내고 검사하도록 한 후 기타 적용 기술을 사용하여 무작위 또는 비무작위 여부와 관계 없이 숫자 데이터 집합을 손상이 없이 인코딩 및 디코딩한다.
[141] 실제적으로, 본 발명에서 주장하는 우선권인 PCT출원PCT/IB2017/054500의 실시형태의 특징은 하기와 같다.
(1)무작위 여부와 관계 없는 그 어떤 숫자 데이터 집합에서 데이터를 위해 질서를 창조하거나 또는 데이터 질서거나 또는 데이터 구조 또는 데이터 조직을 창조하고 코드 유닛으로 조성되며 상기 코드유닛은 숫자 데이터 집합은 숫자 데이터 집합의 이진 비트를 포함하는 비트용기의 기본 유닛으로 사용되고; 인코딩과 디코딩 목적에 의해 처리를 선택한 디자인과 모드에 근거하여 코드유닛은 주요하게 코드유닛이 정의되어 수용하거나 나타내는 데이터 값의 최대 가능 수량(즉 코드유닛의 값의 크기)을 통해 분류하되 여기서 코드유닛의 매 하나의 가능한 고유값은 동일한 비트 크기 또는 상이한 비트 크기를 가질 수 있으며; 코드유닛은 잠시 뒤에 코드유닛이 차지한 모든 가능한 고유 데이터 값의 비트수(즉 코드유닛이 차지한 매 하나의 가능한 고유 데이터 값의 비트 크기의 총합)에 의해 분류하고; 코드유닛은 진일바로 헤드 디자인(즉 이는 0헤드 디자인이거나 1헤드 디자인)에 의해 분류하며; 이로써 각 실시방안에 근거하여 첸 프레임워크에서의 특정된 값의 크기의 코드유닛은 상이한 정의와 버전을 가지는 것을 특징으로 하는 첸 프레임워크, 무작위 여부와 관계 없는 숫자 데이터 정보에서 질서를 창조하는 방법.
(2)무작위 여부와 관계 없는 그 어떤 숫자 데이터 집합으로부터 창조된 데이터의 질서 또는 데이터 질서 또는 데이터 구조 또는 데이터 조직은 처리유닛으로 조성되고 상기 처리유닛은 인코딩과 디코딩을 목적으로 하여 처리하도록 선택된 디자인과 모드에 근거하여 일정한 수량의 코드유닛을 서브 유닛으로 하여 조성되는 것을 특징으로 하는 첸 프레임워크, 무작위 여부와 관계 없는 숫자 데이터 정보에서 질서를 창조하는 방법.
(3)무작위 여부와 관계 없는 그 어떤 숫자 데이터 집합으로부터 창조된 데이터의 질서 또는 데이터 질서 또는 데이터 구조 또는 데이터 조직은 슈퍼 처리유닛으로 조성되고 상기 슈퍼 처리유닛은 인코딩과 디코딩을 목적으로 하여 처리하도록 선택된 디자인과 모드에 근거하여 일정한 수량의 코드유닛을 서브 유닛으로 하여 조성되는 것을 특징으로 하는 첸 프레임워크, 무작위 여부와 관계 없는 숫자 데이터 정보에서 질서를 창조하는 방법.
(4)무작위 여부와 관계 없는 그 어떤 숫자 데이터 집합으로부터 창조된 데이터의 질서 또는 데이터 질서 또는 데이터 구조 또는 데이터 조직은 암호화되지 않은 코드유닛으로 조성되고 상기 암호화되지 않은 코드유닛은 일정한 수량의 이진 비트로 조성되며 이러한 이진 비트는 하나의 처리유닛의 크기에 도달할 수 없으므로 인코딩과 디코딩을 목적으로 하여 처리하도록 선택된 디자인과 모드에 근거하여 암호화되지 않은 코드로 유지되거나 원래의 모습을 유지하는 것을 특징으로 하는 첸 프레임워크, 무작위 여부와 관계 없는 숫자 데이터 정보에서 질서를 창조하는 방법.
(5)[삭제, 이는 상기 (4)의 복사본임.]
(6)무작위 여부와 관계 없는 그 어떤 숫자 데이터 집합으로부터 창조된 데이터의 질서 또는 데이터 질서 또는 데이터 구조 또는 데이터 조직은 인코딩과 디코딩을 목적으로 하여 처리하도록 선택된 디자인과 모드에 근거하여 코드유닛, 처리유닛, 슈퍼 처리유닛과 암호화되지 않은 코드유닛 및 이들이 사용 중에서의 조합이 파생한 특성 또는 특징 또는 관계로 조성되는 것을 특징으로 하는 첸 프레임워크, 무작위 여부와 관계 없는 숫자 데이터 정보에서 질서를 창조하는 방법.
(7)그 어떤 숫자 데이터 집합의 특성 또는 특징 또는 관계의 설명적이 언어를 설명하기 위하여 코드유닛, 처리유닛, 슈퍼 처리유닛과 암호화되지 않은 코드유닛의 특성 또는 특징 또는 관계의 용어에 사용되는 것을 특징으로 하는 첸 프레임워크, 무작위 여부와 관계 없는 숫자 데이터 정보에서 질서를 창조하는 방법.
(8)첸 프레임워트에서의 인코딩과 디코딩의 목적으로 데이터를 처리하는 기술에 사용되는 것을 특징으로 하는 첸 코딩, 인코딩과 디코딩의 방법.
(9)첸 코딩 기술을 사용하여 그 어떤 숫자 데이터 집합에서 획득된 첸 코드를 창조하는 것을 특징으로 하는 첸 코딩, 인코딩과 디코딩의 방법.
(10)범위를 가지는 절대 어드레스 분기 기술을 가지는 기술을 사용하는 것을 특징으로 하는 첸 코딩, 인코딩과 디코딩의 방법.
(11)수학공식을 사용하여 첸 프레임워크에서 창조한 데이터 질서를 나타내는 처리유닛의 코드유닛 사이의 관계를 나타내는 기술에 사용되는 것을 특징으로 하는 첸 코딩, 인코딩과 디코딩의 방법.
(12)배치기술, 즉 수학공식으로 나타내는 값 또는 암호화된 코드 및 코드유닛, 처리유닛, 슈퍼 처리유닛과 암호화되지 않은 코드유닛의 그러한 값 또는 암호화된 코드를 상이한 자리순서로 배치하는 것을 특징으로 하는 첸 코딩, 인코딩과 디코딩의 방법.
(13)분류기술, 즉 0헤드 디자인 또는 1 헤드 디자인 또는 양자를 서로 매칭되는 비트모드를 대표로 하는 디자인으로 처리 중인 숫자 데이터의 특성 또는 특징에 분포하되 상기 특성 또는 특징은 인코딩과 디코딩의 목적으로 데이터 값을 분류하거나 그루핑하여 처리하는데 사용되는 것을 특징으로 하는 첸 코딩, 인코딩과 디코딩의 방법.
(14)분류기술, 즉 처리 중인 숫자 데이터의 데이터 값에 관한 정렬과 자리의 특성 또는 특징을 사용하여 인코딩과 디코딩의 목적으로 데이터 값을 분류하거나 그루핑하여 처리하는데 사용되는 것을 특징으로 하는 첸 코딩, 인코딩과 디코딩의 방법.
(15)분류기술, 즉 코드 재분포의 운용은 아래의 기술에서의 임의의 하나를 사용하여 고유 데이터 값 및 고유 어드레스 코드를 분류모드의 한 클래스로부터 다른 한 클라스로 재분포하는 것을 포함하고 상기 기술은 코드 교환, 코드 재분포와 코드 재기입을 포함하여 인코딩과 디코딩의 목적으로 숫자 데이터 집합을 처리하는 것을 특징으로 하는 첸 코딩, 인코딩과 디코딩의 방법.
(16)코드 향상, 코드 강등, 코드 생략 및 코드 복구에서의 임의의 하나를 포함하여 인코딩과 디코딩의 목적으로 처리하도록 하는 코드 조절기술인 것을 특징으로 하는 첸 코딩, 인코딩과 디코딩의 방법.
(17)종료 조건 또는 종료값을 사용하여 처리유닛 또는 슈퍼 처리유닛의 크기를 정의하여 인코딩과 디코딩의 목적으로 처리하는 기술인 것을 특징으로 하는 첸 코딩, 인코딩과 디코딩의 방법.
(18)코드유닛 정의를 숫자 데이터 값 또는 암호화된 코드값으로 사용하는 판독기의 기술인 것을 특징으로 하는 첸 코딩, 인코딩과 디코딩의 방법.
(19)코드유닛 정의를 숫자 데이터 값 또는 암호화된 코드값으로 사용하는 라이터의 기술인 것을 특징으로 하는 첸 코딩, 인코딩과 디코딩의 방법.
(20)슈퍼 처리유닛을 사용하여 숫자 데이터 집합을 데이터의 서브 섹션으로 세분화화는 기술로서, 그 중 적어도 하나의 서브 섹션은 무작위가 아니어 인코딩과 디코딩의 목적으로 처리하는 것을 특징으로 하는 첸 코딩, 인코딩과 디코딩의 방법.
(21)제20항에 있어서, 분류조건을 사용, 예하면 특정된 클라스에 사용되는 슈퍼 처리유닛에 나타난 값 항목의 수량을 사용하여 진일보로 숫자 데이터 집합의 슈퍼 처리유닛을 두개 또는 더 많은 클라스로 분류하고, 이러한 클라스에 적용되는 매 하나의 데이터 분포의 매핑 테이블을 디자인하여 인코딩과 디코딩을 진행하며, 이러한 슈퍼 처리유닛의 매 하나의 데이터 값에 적용되는 데이터 분포에서의 이들 각각의 매핑 테이블을 사용하여 이러한 슈퍼 처리유닛에서의 매 하나의 데이터 값에 대해 인코딩과 디코딩을 진행하고, 지정자를 사용하여 이러한 카테고리의 슈퍼 처리유닛 사이에서 구별하여 디코딩에 사용하며 이러한 지정자는 이러한 슈퍼 처리유닛에서의 매 하나의 마스터헤드 또는 기타 지점, 예하면 단독으로 된 첸 코드파일에 저장되는 것을 특징으로 하는 첸 코딩, 인코딩과 디코딩의 방법.
(22)제20항에 있어서, 분류조건을 사용, 예하면 특정된 클라스에 사용되는 슈퍼 처리유닛에 나타난 값 항목의 수량을 사용하여 진일보로 숫자 데이터 집합의 슈퍼 처리유닛을 두개의 클라스로 분류하고, 이러한 클라스에 적용되는 매 하나의 데이터 분포의 매핑 테이블을 디자인하여 인코딩과 디코딩을 진행하며, 이러한 슈퍼 처리유닛에서의 매 하나의 데이터값의 데이터 분포에 적용되는 이들 각각의 매핑 테이블을 사용하여 이러한 슈퍼 처리유닛에서의 매 하나의 데이터값을 인코딩과 디코딩하고, 슈퍼 처리유닛의 클라스의 데이터 분포에 적용되는 표준을 설치하여 인코딩과 디코딩의 대응하는 매핑 테이블에 사용함으로써 암호화된 코드를 평가하여 슈퍼 처리유닛의 클라스 사이의 인공지능 구별을 진행하여 지정자의 사용을 생략하는 것을 특징으로 하는 첸 코딩, 인코딩과 디코딩의 방법.
(23)제20항에 있어서, 분류조건을 사용, 예하면 특정된 클라스에 사용되는 슈퍼 처리유닛에 나타난 값 항목의 수량을 사용하여 진일보로 숫자 데이터 집합의 슈퍼 처리유닛을 두개의 클라스로 분류하고, 이러한 클라스에 적용되는 매 하나의 데이터 분포의 매핑 테이블을 디자인하여 인코딩과 디코딩을 진행하며, 이로써 이러한 매핑 테이블에서의 적어도 하나가 이에 의해 선택되어 언이브너로 사용되고 이러한 언이브너는 코드 재분포를 사용하여 조절할 수 있으며 상기 코드 재분포는 적어도 한 클라스의 슈퍼 처리유닛의 데이터 값의 데이터 분포를 이용하여 코드 재분포를 통해 코드 조절을 진행한 후의 언이브너 매핑 테이블로 하여금 이에 의해 선택되어 적어도 한 클라스의 슈퍼 처리유닛의 압축기의 매핑 테이블로 사용되도록 하고, 첫번째 순환주기에서 언이브너를 사용하여 모든 슈퍼 처리유닛을 인코딩하며, 그 다음 압축기를 사용하여 적어도 한 클라스의 슈퍼 처리유닛을 인코딩하되 그 중 처리 중인 상응한 슈퍼 처리유닛의 데이터 압축은 제2 순환주기에서 가능한 것인 바, 즉 제1 순환주기에서 언이브너를 사용하여 암호화하고 제2 순환주기에서 압축기를 사용하여 암호화함으로써 그러한 압축 불가능한 데이터를 함유한 슈퍼 처리유닛이 언이브너만 사용하여 암호화하도록 하고, 디코딩할 경우 이러한 슈퍼 처리유닛에서의 매 하나의 데이터 값에 적용되는 데이터 분포의 상응한 매핑 테이블을 이용하여 이러한 슈퍼 처리유닛에서의 매 하나의 데이터 값을 디코딩함으로써 제1 디코딩 순환주기에서 언이브너의 인코딩과 압축기의 인코딩으로 형성된 암호화된 코드가 디코딩되어 압축기 인코딩층의 인코딩이 디코딩되도록 하고 제2 디코딩 순환주기에서 모든 슈퍼 처리유닛은 언이브너가 암호화한 코드로 조성된 암호화된 코드가 언이브너 디코더에 의해 디코딩되며, 슈퍼 처리유닛에서의 모든 카테고리의 데이터 분포에 사용되는 적용 규칙 및 인코딩과 디코딩에 사용되는 상응한 매핑 테이블의 적용 규칙을 설치하여 이를 암호화된 코드를 평가하는데 사용함으로써 인공지능을 사용하여 슈퍼 처리유닛의 각 카테고리 사이의 식별작업을 진행하도록 하여 지정자의 사용을 절약할 수 있는 것을 특징으로 하는 첸 코딩, 인코딩과 디코딩의 방법.
(24)매핑 테이블을 구성하고 상기 매핑 테이블의 고유 코드 어드레스를 사용하여 일대일 매핑방식으로 숫자 데이터 입력 중에서의 고유 데이터 값을 매핑함으로써 언이브너 인코더와 언이브너 디코더의 기술을 창조하므로 고유 데이터 값이 사용한 비트수는 상응하게 매핑 매칭되어 상응하게 매핑된 고유 테이블 코드 어드레스가 사용한 비트수와 동일하고 상기 매핑 테이블을 사용하여 인코딩과 디코딩을 진행하는 것을 특징으로 하는 첸 코딩, 인코딩과 디코딩의 방법.
(25)인코딩과 디코딩의 목적으로 언이브너 인코더와 언이브너 디코더를 사용하여 처리하는 기술을 특징으로 하는 첸 코딩, 인코딩과 디코딩의 방법.
(26)인코딩과 디코딩의 목적으로 언이브너 인코더와 언이브너 디코더를 사용하여 이브너 인코더와 디코더 또는 압축기와 디컴프레서와 함께 처리하는 기술을 특징으로 하는 첸 코딩, 인코딩과 디코딩의 방법.
(27)데이터 분포의 상황을 변화하는 상황에서 처리 중에 사용한 종료 조건에 근거하여 처리유닛 또는 슈퍼 처리유닛의 크기를 동적으로 조절하는 기술을 특징으로 하는 첸 코딩, 인코딩과 디코딩의 방법.
(28)처리 중의 데이터값의 데이터 분포 모드에 근거하여 코드유닛 정의를 동적으로 조절하는 기술을 특징으로 하는 첸 코딩, 인코딩과 디코딩의 방법.
(29)분류 코드와 내용코드, 이들은 첸 코딩기술을 사용하여 그 어떤 숫자 데이터 집합에서 창조되어 인코딩과 디코딩의 목적으로 처리하는 것을 특징으로 하는 첸 코드.
(30)분류 코드, 내용코드와 암호화되지 않은 코드유닛, 이들은 첸 코딩기술을 사용하여 그 어떤 숫자 데이터 집합에서 창조되어 인코딩과 디코딩의 목적으로 처리하는 것을 특징으로 하는 첸 코드.
(31)마스터헤드, 분류 코드와 내용코드, 이들은 첸 코딩기술을 사용하여 그 어떤 숫자 데이터 집합에서 창조되어 인코딩과 디코딩의 목적으로 처리함으로써 상기 마스터헤드에 첸 코딩 기술의 사용으로부터 발생한 지정자를 포함하여 인코딩과 디코딩의 목적으로 처리하는 것을 특징으로 하는 첸 코드.
(32)마스터헤드, 분류 코드, 내용코드와 암호화되지 않은 코드유닛, 이들은 첸 코딩기술을 사용하여 그 어떤 숫자 데이터 집합에서 창조되어 인코딩과 디코딩의 목적으로 처리함으로써 상기 마스터헤드에 첸 코딩 기술의 사용으로부터 발생한 지정자를 포함하여 인코딩과 디코딩의 목적으로 처리하며 이러한 지정자는 검사 합계 지정자, 첸 코드파일 싸인, 매핑 테이블 지정자, 순환 주기수량 지정자, 코드유닛 정의 지정자, 처리유닛 정의 지정자, 슈퍼 처리유닛 정의 지정자, 최후 식별코드 지정자, 시나리오 디자인 지정자, 언이브너/이브너 지정자, 재순환 지정자, 빈도 지정자, 특수 코드 지정자, 일부 크기 지정자, 숫자 데이터 블랙홀 타입 지정자 및 압축 가능/압축 불가능 데이터 지정자에서의 임의의 하나를 포함하는 것을 특징으로 하는 첸 코드.
(33)첸 코딩 기술이 임베디드되어 처리를 진행하는 것을 특징으로 하는 첸 프레임워크로 디자인된 인코더와 디코더, 코더.
(34)첸 코딩과 마스터헤드 지정자기술이 임베디드되어 처리를 진행하되 이러한 지정자는 검사 합계 지정자, 첸 코드파일 싸인, 매핑 테이블 지정자, 순환 주기수량 지정자, 코드유닛 정의 지정자, 처리유닛 정의 지정자, 슈퍼 처리유닛 정의 지정자, 최후 식별코드 지정자, 시나리오 디자인 지정자, 언이브너/이브너 지정자, 재순환 지정자, 빈도 지정자, 특수 코드 지정자, 일부 크기 지정자, 숫자 데이터 블랙홀 타입 지정자 및 압축 가능/압축 불가능 데이터 지정자에서의 임의의 하나를 포함하는 것을 특징으로 하는 첸 프레임워크로 디자인된 인코더와 디코더, 코더.
(35)첸 코드의 숫자정보파일을 포함하는 것을 특징으로 하는 첸 코드파일.
(36)첸 코딩 기술이 사용한 부가적인 정보의 숫자정보파일을 포함하고 마스터헤드와 여기에 포함되는 지정자를 포함하며 이러한 지정자는 검사 합계 지정자, 첸 코드파일 싸인, 매핑 테이블 지정자, 순환 주기수량 지정자, 코드유닛 정의 지정자, 처리유닛 정의 지정자, 슈퍼 처리유닛 정의 지정자, 최후 식별코드 지정자, 시나리오 디자인 지정자, 언이브너/이브너 지정자, 재순환 지정자, 빈도 지정자, 특수 코드 지정자, 일부 크기 지정자, 숫자 데이터 블랙홀 타입 지정자 및 압축 가능/압축 불가능 데이터 지정자에서의 임의의 하나를 포함하는 것을 특징으로 하는 첸 코드파일.
(37)한가지 수학방법의 사용기술로서, 이 기술을 사용하여 데이터 값이 하나의 질서에 놓이게 되고 이 질서는 수학공식에 의해 설명될 수 있으며 이 수학공식은 상응한 첸 형상과 대응되는 수학공식으로서 숫자정보와 관련 되는 수학계산논리와 기술을 병합하고 분리하는 것을 포함하고 이러한 숫자정보는 무작위 여부와 관계 없는 숫자정보를 처리하는 처리유닛에서의 코드유닛의 값을 포함하여 인코딩과 디코딩의 목적으로 사용하는 것을 특징으로 하는 첸 프레임워크에서 사용하는 첸 수학.
(38)한가지 설명방법으로서, 이 방법은 기본 컴포넌트, 코드유닛과 파생 컴포넌트(예하면 첸 코드의 RP피스와 기타 파생 컴포넌트) 사이의 특징과 관계를 설명하는 바, 예하면 무작위 여부와 관계 없는 숫자정보를 처리하는 처리유닛에서의 기본 컴포넌트 값의 조합치 또는 총합 또는 차이를 설명하여 인코딩과 디코딩의 목적으로 사용하는 것을 특징으로 하는 첸 프레임워크에서 사용하는 공식, 즉 첸 공식.
(39)첸 점, 첸 라인, 첸 삼각형, 첸 직사각형, 첸 제형과 첸 정방형 및 첸 바를 포함하고 첸 공식으로 설명한 처리유닛의 기본 컴포넌트의 특징과 관계를 대표하는 첸 형상.
(40)상수값을 사용하거나 수치의 변수를 포함하여 보완 상수 또는 보완 변수로 하여 수학 처리에 사용함으로써 하나의 수치 또는 하나의 범위 내 또는 다수의 범위 내의 다수의 수치의 미러 수치를 첸 공식에 사용하는 것을 특징으로 하는 보완 수학.
(41)보완 수학과 상규적인 수학 또는 이들 중의 임의의 하나를 첸 프레임워크에서 디자인한 디코더에 단독으로 사용하여 처리하는 첸 수학.
(42)암호화/복호화 또는 압축/압축 해제 또는 양자의 목적으로 사용되는 첸 프레임워크.
(43)암호화/복호화 또는 압축/압축 해제 또는 양자의 목적으로 사용되는 첸 코딩.
(44)암호화/복호화 또는 압축/압축 해제 또는 양자의 목적으로 사용되는 첸 코드.
(45)암호화/복호화 또는 압축/압축 해제 또는 양자의 목적으로 사용되는 첸 코드파일.
(46)암호화/복호화 또는 압축/압축 해제 또는 양자의 목적으로 사용되는 첸 수학.
(47)암호화/복호화 또는 압축/압축 해제 또는 양자의 목적으로 사용되는 보완 수학.
(48)암호화/복호화 또는 압축/압축 해제 또는 양자의 목적으로 사용되는 첸 형상.
(49)첸 프레임워크에서 정의한 데이터 질서의 디자인과 모드를 사용하는것을 특징으로 하는 숫자 데이터 집합에 관한 통계정보를 수집하는데 사용되어 인코딩과 디코딩의 목적으로 사용되는 무작위 여부와 관계 없는 숫자 데이터 집합을 분석하는 방법.
(50)첸 프레임워크 언어를 사용하는 것을 특징으로 하는 무작위 여부와 관계 없는 숫자 데이터 집합을 설명하는 방법.
(51)사후 분류 코드 또는 내부 분류 코드 또는 수정된 내용코드를 분류 코드로 사용하는 기술을 특징으로 하는 첸 코딩, 인코딩과 디코딩의 방법.
(52)첸 프레임워크에서 정의한 디코더의 코드값을 사용하여 절대 어드레스 분기 코딩기술을 통해 기타 코드값을 흡수하거나 표시, 즉 블랙홀 코드와 관련되는 절대 어드레스 분기 코드를 사용하여 흡수된 코드값을 대표하는 숫자 데이터 블랙홀 기술을 특징으로 하는 첸 코딩, 인코딩과 디코딩의 방법.
(53)코드대체기술에 이어 첸 프레임워크에서 정의한 디코더에서의 코드값을 사용하여 이어지는 단계로 다른 한 코드값을 대표하거나 표시하는 것을 특징으로 하는 첸 코딩, 인코딩과 디코딩의 방법.
(54)절대 어드레스 분기코드의 반대되는 배치기술을 특징으로 하는 첸 코딩, 인코딩과 디코딩의 방법.
(55)첸 프레임워크에서 정의한 디코더가 처리하고 있는 데이터 집합에 결여한 코드값을 사용하여 블랙홀 코드를 충당하는 기술을 특징으로 하는 첸 코딩, 인코딩과 디코딩의 방법.
(56)첸 프레임워크에서 정의한 디코더가 처리하고 있는 데이터 집합에 결여한 코드값으로 비교적 긴 비트 길이의 다른 한 코드값을 대체하되, 다른 한 코드값이 처리 중인 데이터 집합에 존재하는 것인 기술을 특징으로 하는 첸 코딩, 인코딩과 디코딩의 방법.
(57)첸 프레임워크에서 정의한 디코더를 사용하여 인코딩과 디코딩을 진행하되, 사용한 기술은 숫자 데이터 블랙홀, 절대 어드레스 코딩, 지정자 비트 지출 축소와 잇따른 코드 대체 또는 잇따르지 않는 코드 대체 기술이고 처리 중인 데이터 집합에서 결여한 코드값을 동일한 비트 길이 도는 더 긴 비트 길이를 대체하는 다른 한 코드값으로 교체하되, 여기서 다른 한 코드값은 적합한 상황에서 처리 중인 데이터 집합에 존재하는 것인 기술을 특징으로 하는 결여된 고유 코드값이 있거나 없는 상황에서 무작위 데이터나 비무작위 데이터와 관계 없는 숫자 데이터를 압축하고 압축 해제하는 첸 코딩, 인코딩과 디코딩의 방법.
(58)처리 중인 숫자 데이터 집합으로부터 생성된 빈도 분포 특징에 기반하여 지정자 비트 지출을 축소하는 기술을 특징으로 하는 첸 코딩, 인코딩과 디코딩의 방법.
(59)코드유닛, 처리유닛과슈퍼 처리유닛의 고유 코드값으로서 사용한 디자인에 근거하여 하나의 비트 크기 또는 비트 길이 도는 상이한 비트 크기 또는 비트 길이를 가지는 것을 특징으로 하는 첸 프레임워크를 사용하여 디자인한 디코더.
[142]디지털 투시법은 숫자 데이터의 모드, 즉 예컨대 비트0과 비트1의 시리즈에 표시되는 모드를 식별하는 기능 또는 능력, 숫자 정보의 데이터 분포를 미리 알 필요없이, 무작위 데이터 또는 비무작위 데이터와 관계 없이, 즉 이는 상기 모든 유형의 숫자 데이터에 적용된다. 본 발명은 숫자 데이터 처리에서 이러한 기능 또는 능력을 활용하고 적용하여 무작위 데이터가 더 이상 악몽이 아니고 정보 이론에서 비둘기집 원리가 쓰레기통에 버려질 수 있도록 한다. 본질적으로 디지털 투시법 자체는 숫자 데이터를 변화시키지 않는다. 그러나, 이는 동일한 숫자 데이터 집합으로부터 숫자 구성을 구축할 수 있을 뿐만 아니라 상이한 디자인에 근거하여 상이한 코드값을 선택하여 이가 구축한 동일한 숫자 구성에 넣어 적절한 기술을 사용하여 숫자 데이터 집합을 더 작동하도록 하여 처리 중의 숫자 데이터 집합을 인코딩 및 디코딩할 수 있다. 숫자 데이터 집합은 동일하지만 디지털 투시법의 기능을 사용하여 이로써 동일한 데이터 집합으로부터 상이한 숫자 구성을 구축할 수 있고 상이한 숫자 코드값을 이러한 구성에 넣어 디자인에 근거하여 상이한 특정 인코딩 및 디코딩 목적을 위해 상이한 숫자 비트 모드 분포가 구축한다. 이는 상이한 렌즈를 착용하는 것과 같이 시야 범위에서 동일한 물체의 상이한 형상 또는 상이한 색상을 볼 수 있다. 예를 들어, 아래 단락[191]에서 도87은 디지털 투시법을 사용하여 생성한 동일한 무작위 숫자 데이터의 상이한 빈도 분포 모드의 통계 데이터를 표시한다.
[143]이러한 디지털 투시법의 능력을 이용하여 무작위와 비무작위 데이터를 포함하는 분포 모드가 어떠한 지와 관계 없이 모든 유형의 숫자 데이터를 조직할 수 있다. 처리 중의 숫자 데이터 집합을 구축된 숫자 구성에 넣고 조직하여 그 특성을 연구할 수 있고 예를 들어 숫자 데이터 집합이 구비된 숫자 구성의 상이한 요소의 빈도 분포에 넣어 이에 인코딩 및 디코딩 작동을 시도할 수 있다.
[144]디지털 투시법의 기능을 어떻게 개발하고 사용하는 가를 더 잘 이해하기 위하여 동일한 숫자 데이터 집합으로부터 상이한 숫자 구성을 구축하는 기술을 개시하여야 한다. 숫자 정보를 조직하는 것은 상이한 층차가 존재하고 제1 층은 숫자 정보를 비트0과 비트1로 조직하는 것이고 이는 이진 시스템을 사용하는 기존의 방식과 동일한 것이다. 일련의 이진 숫자 비트를 제외하고 이는 숫자 구조 또는 구성 또는 모드를 형성하지 않는다. 본 발명에서 주장하는 우선권인 PCT출원PCT/IB2017/054500에서 첸 형상 및 첸 프레임워크를 인입하여 숫자 구조를 이진 시스템의 다른 층차에 진입시켜 숫자 정보를 더 작동시킨다. 그러나, 디지털 투시법을 사용하여 숫자 코드값을 선택함으로써 이가 이러한 숫자 구조에 속하도록 규정하지는 않는다. 여기서 소개하는 디지털 투시법에 관한 새로운 점은 숫자 구성을 구축하는 것을 제외하고 디지털 투시법의 강대한 기능은 디자인에 근거하여 선택적으로 상이한 코드값 세트를 동일한 숫자 구성에 넣어 처리할 수 있는 것이다.
[145]따라서, 디지털 투시법은 숫자 정보를 조직하고 정렬하는 예전의 방식과 상이하며 이는 숫자 구조를 구축할 수 있을 뿐만 아니라 디자인에 근거하여 코드값을 임의로 선택할 수 있고 선택한 코드값을 이러한 숫자 구조에 넣어 이를 구성으로 변환시켜 더 작동하도록 한다. 따라서, 디지털 투시법은 두개의 요소(조합)가 있고 하나는 숫자 구조를 구축할 수 있는 것이며 다른 하나는 어떠한 코드값을 선택하여 이로 구축된 숫자 구성에 넣을 수 있는 것으로써 디자인에 근거하여 숫자 구성을 임의로 구축할 수 있다. 코드값 또는 숫자 비트를 선택하여 이를 구축된 숫자 구조의 상이한 부분 또는 요소에 넣는 기능은 디지털 투시법의 관건이다.
[146]도62는 디지털 투시법이 이진 시스템의 코드값과 어떻게 함께 사용되는 가를 연시하는 이진 시스템 코드 테이블을 도시하고,
도62 이진 시스템 코드 테이블
Figure pct00091
상술한 바와 같이, 네개의 코드값이 있고 각각의 코드값은 두개의 비트로 조성되며 즉 00, 01, 10과 11이다.
디지털 투시법의 기능과 방법을 선택하는 관건은 선정코드값울 숫자 구조에 넣는 능력을 선택하는 것이다. 예로써, 디지털 투시법을 사용하려면 상상력을 확장하여 숫자 구조를 디자인하여 수반되는 숫자 비트가 거기에 진입되도록 하여야 한다. 도62를 참조하면, 단지 네개의 코드값만 선택 가능하다. 단지 세가지 선택만 있을 수 있고 즉 코드값, 또는 두개의 코드값 또는 세개의 코드값을 선택하여 제1 숫자 구조에 넣을 수 있으며 만약 모든 네개의 코드값이 모두 제1 숫자 구조에 넣도록 선택되면 제1 숫자 구조로부터 임의의 코드가 나가지 않고 만약 그렇다면 코드값을 작동할 수 없다. 만약 하나의 코드값을 제1 숫자 구조에 넣도록 선택되면 제1 숫자 구조로부터 기타 세개의 값이 나가고 기타 세개의 값은 제2 숫자 구조에 나타날 수 있다. 만약 두개의 코드값이 제1 숫자 구조에 넣도록 선택되면 제1 숫자 구조로부터 두개의 코드값이 나가고 이 두개의 코드값은 제2 숫자 구조에 나타날 수 있다. 마지막으로, 만약 세개의 코드값이 제1 숫자 구조에 넣도록 선택되면 제1 숫자 구조로부터 하나의 코드값만 나가고 상기 코드값은 제2 숫자 구조에 나타날 수 있다.
[147]따라서, 유추로서, 제1 숫자 구성은 숫자 저장소로 간주될 수 있고 제2 숫자 구성은 숫자 댐으로 간주될 수 있다. 일련의 숫자 비트: 비트0과 비트1(숫자 레인)로 조성된 숫자 레인는 분포 모드에 관계 없이 육상에 착륙하여 첫번째 저장소에 도착할 경우, 코드값의 빗방울(숫자 빗방울)은 첫번째 저장소에 보류되도록 선택되어 디자인된다. 선택된 코드값에 속하지 않는 숫자 빗방울은 첫번째 숫자 저장소로부터 나오도록 허락되고 이 후 숫자 댐으로 변화(또는 경화 형성)된다. 이러한 방식을 통해 숫자 저장소는 하나의 가변 숫자 구성(즉 숫자 빗방울의 유무에 관계 없이)이고 숫자 댐은 하나의 고정된 숫자 구성이다(코드값이 있는 숫자 빗방울은 숫자 저장소에 보류되도록 선택되지 않음). 따라서, 숫자 저장소는 임의의 숫자 빗방울에 보류되지 않거나 또는 가능한 많은 숫자 빗방울에 보류될 수 있어 이는 구체적으로 진입한 숫자 빗방울의 조성에 의해 결정된다. 숫자 댐은 경화된 숫자 빗방울로 조성된다. 숫자 저장소에 선택되어 저장된 숫자 빗방울은 숫자 워터라고 지칭되고 이러한 숫자 저장소로부터 나온 빗방울은 숫자 아이스라고 지칭된다. 두개의 숫자 아이스(즉 선택되지 않은 두개의 숫자 코드값)가 서로 인접하고 두개의 숫자 댐을 형성할 수 있고 그 사이에 빈 숫자 저장소를 구비한다. 따라서 숫자 댐은 하나의 숫자 아이스인 고정된 구성만 있고 숫자 빗방울에 숫자 아이스가 포함되기만 하면 된다.
[148]상기에서 개시된 내용을 더 잘 이해하기 위하여 두개의 숫자 구성, 하나의 숫자 저장소와 하나의 숫자 댐을 디자인하여 3개의 숫자 코드값의 숫자 빗방울을 선택하여 숫자 저장소에 보류할 수 있고 나머지 숫자 코드값의 숫자 빗방울만 숫자 저장소로부터 해제될 수 있다. 도63은 하나의 처리유닛을 도시하고 숫자 저장소와 하나의 숫자 댐으로 조성된 두개의 서브 숫자로 구성된 숫자 구성이며
도63
처리유닛, 숫자 구성1, 하나의 숫자 저장소와 하나의 숫자 댐으로 조성
Figure pct00092
따라서, 상기 숫자 저장소로부터 3개의 숫자 코드 단위값(코드값)의 숫자 빗방울을 보류하고 즉 4개의 숫자 코드값(즉 도62의 이진 시스템 코드 테이블에서 00, 01, 10과 11)에서 00, 01과 10을 보류한다. 다음, 숫자 코드값11의 숫자 빗방울은 숫자 저장소 이후 해제되어 숫자 댐을 형성한다. 그러나, 다른 하나의 집합을 선택할 수 있고 예를 들어 01, 10과 11을 선택하여 숫자 저장소에 저장하며 00을 해제하여 숫자 댐을 형성하고 도64에 도시된 바와 같다.
도64
처리유닛, 숫자 구성2, 도63과 동일한 구조를 구비하지만, 상이한 서브 숫자 구성에는 상이한 숫자 비트 모드의 상이한 숫자 구성을 구비함
Figure pct00093
따라서, 상이한 집합의 숫자 빗방울을 디자인하고 선택하여 숫자 저장소와 숫자 댐을 형성하며 즉 숫자 데이터 집합이 동일하도록 하고 동일한 숫자 구조도 두가지 상이한 숫자 구성으로 된다. 예를 들어, 도63의 숫자 댐은 단지 숫자 코드값11로 조성되나 도64에서 이는 00이다.
[149]따라서, 처리유닛은 하나 또는 복수개의 숫자로 구성된 하나 또는 복수개의 유닛으로 조성된다. 예를 들어, 처리유닛은 하기와 같이 조성된다. 도63과 도64에 도시된 바와 같이, 숫자 구성1의 두개의 유닛은 순차적으로 조성되거나 또는 숫자 구성2의 두개의 유닛은 순차적으로 조성되거나 또는 숫자 구성1의 하나의 유닛과 숫자 구성2의 하나의 유닛은 순차적으로 조성되거나 또는 숫자 구성2의 하나의 유닛과 숫자 구성1의 하나의 유닛은 순차적으로 조성된다. 그러나, 상기 유추와 디자인은 단지 디지털 투시법의 기능을 설명하기 위한 예시로써 상기 예시에 한정되지 않는다. 예를 들어, 숫자 구성1 또는 2의 숫자 댐을 가변 폭을 구비하는 고정 숫자 댐으로 변화시키고 값이 나올 경우 선택한 숫자 코드값11 또는 00이 가능한 많이 보류되도록 허락한 구현예는 아래 도65에 도시된 바와 같다.
도65
처리유닛, 숫자 구성3, 상이한 숫자 구조를 구비하고, 여기서 세개의 숫자 코드값은 숫자 저장소에 보류되며, 나머지 하나의 숫자 코드값은 하나의 가변 폭의 고정 숫자 댐을 형성함
Figure pct00094
가능한 많은 값 값에서 가능한 많은 11이 가변 폭을 구비하는 고정 숫자 댐을 형성한다.
또는 숫자 댐이 2개의 숫자 코드값을 보류하고 나머지 2개의 숫자 코드값을 해제하여 숫자 댐을 형성하도록 대체할 수 있으며 숫자 저장소에 나타난 2개의 숫자 코드값의 임의의 하나의 코드를 점용한 구현예는 아래 도66에 도시된 바와 같다.
도66a
처리유닛, 숫자 구성4, 상이한 숫자 구조를 구비하고, 여기서 두개의 숫자 코드값은 숫자 저장소에 보류되며, 두개의 숫자 코드값의 그 중 임의의 하나는 숫자 댐을 형성함
Figure pct00095
가능한 많은 값 그 중 임의의 하나는 숫자 댐을 형성하고, 두번째,만약 따라 가면, 제2 숫자 댐으로 되며, 도66b에 도시된 바와 같다
도66b
처리유닛, 숫자 구성4, 상이한 숫자 구조를 구비하고, 두개의 숫자 코드값은 숫자 저장소(DR)에 보류되며, 두개의 숫자 코드값의 그 중 임의의 하나는 숫자 댐(DD)을 형성함함
Figure pct00096
따라서 상술한 바와 같이 도66b에서, 마지막 2개의 숫자 저장소 사이의 숫자 저장소는 빈 것이고 []으로 표시된다.
주의해야 할 부분으로는, 가변 숫자 구조, 즉 숫자 저장소는 [이렇게 디자인되고 선택한 숫자 코드값을 구비하는 코드가 관심받는 숫자 저장소에 진입하기만 하면) 또는 존재하지 않는 구조이고 존재할 경우, 내부에는 이렇게 선택된 숫자 코드값의 하나 또는 복수개의 코드가 존재하며 이는 디자인되는 숫자 구성을 사용하여 이를 샘플링 또는 판독하는 현재 처리하는 숫자 데이터 집합의 데이터 분포에 의해 결정되고 도66b에 도시된 바와 같이, 여기서 도66b은 숫자 댐이 이전의 숫자 저장소로부터 나온 숫자 코드값의 나머지 코드에 의해 형성되므로 이러한 나머지 숫자 코드값이 이전의 숫자 저장소로부터 나오지 않는 한 하나 또는 복수개의 숫자 댐이 존재하기에 이러한 의미에서 도65에 도시된 바와 같이 숫자 댐은 하나의 고정된 숫자 구조이지만 가변 폭을 더 구비할 수 있다.
[150]따라서, 상이한 수량과 모드의 숫자 코드값으로 조성된 숫자 구조의 많은 상이한 조합을 디자인할 수 있다. 도62의 이진 시스템의 2비트 코드 테이블(4코드값)에 도시된 바와 같이, 기존 방식의 이진 시스템의 2비트 코드값을 사용하여 8개의 코드값을 구비하는 3비트 코드 테이블을 사용할 수 있을 뿐만 아니라 본 발명에서 주장하는 우선권인 PCT출원에 인입된 첸 프레임워크의 코드값 시스템(비트 폭 또는 크기가 불균일한 코드값)을 사용할 수 있다.
[151]예를 들어, 하기 코드 테이블은 첸 프레임워크 코드 시스템의 3개의 값의 코드 테이블이다.
도67
첸 프레임워크 코드 시스템의 3개의 값 코드 테이블
Figure pct00097
코드값10과 11을 선택하여 숫자 저장소에 넣을 수 있고 나머지 코드값0을 숫자 댐에 해제할 수 있다. 따라서, 첸 프레임워크의 3개의 값 코드 시스템을 사용하여 두개의 서브 숫자 구성으로 조성된 숫자 구성인 하나의 숫자 저장소(저장 코드값10과 11)와 하나의 숫자 댐(저장코드값0)을 형성한다.
[152]도68에 도시된 바와 같이 첸 프레임워크의 코드 시스템은 또한 무한 코드값으로 조성된다.
도68a
첸 프레임워크 코드 시스템의 0테일 코드 테이블, 무한 코드값에 사용됨
Figure pct00098
도68b
첸 프레임워크 코드 시스템의 1테일 코드 테이블, 무한 코드값에 사용됨
Figure pct00099
따라서, 만약 도68에 도시된 무한 값 코드 테이블과 제[151]단락에서 언급된 숫자 구성(첸 프레임워크의 0테일 코드 시스템을 사용함)의 임의의 하나를 사용하여 숫자 데이터를 샘플링하면, 즉 처리유닛은 두개의 서브 숫자 구성으로 조성되고 하나의 숫자 저장소(무한 0테일 코드값, 즉 코드값은 비트0으로 끝나고 10,110,1110등등을 포함함)와 하나의 숫자 댐(저장코드값0)이며 숫자 저장소의 크기는 서로 인접한 0테일 코드값을 구비하는 코드의 수량에 의해 결정될 뿐만 아니라, 매 하나의 0테일 코드값의 크기 또는 폭에 의해 결정되고 이는 첸 프레임워크 코드 시스템의 코드값의 특성은 비트 사이즈가 불균일하기 때문이다.
[153]하나의 샘플링 시스템 또는 디지털 투시법 시스템을 디자인할 수 있고 여기서 제1 숫자 구성은 이진 시스템의 코드 시스템(즉 숫자 코드값의 수량이 고정된 숫자 구조)과 제2 숫자 구성 첸 프레임워크의 코드 시스템(여기서 숫자 코드값의 수량은 고정되거나 또는 무제한임)에 의해 구성된다. 따라서, 실제적으로 무수한 디지털 투시법 시스템을 디자인하여 숫자 데이터 집합(무작위 여부에 관계 없이)을 샘플링함으로써 상이한 인코딩 및 디코딩을 목적으로 더 작동할 수 있다.
[154]따라서, 도66을 구성한 일련의 숫자 비트는 도69a에서 재현된다.
도69a
도66에 도시된 숫자 구성을 사용하여 디지털 투시법화의 일련의 숫자 비트를 디자인함
Figure pct00100
만약 도69a에 도시된 동일한 시리즈의 숫자 비트는 렌즈화(즉 디지털 투시법을 사용하여 샘플링 또는 판독함)되고 그 숫자 구성 디자인은 도63에 도시된 바와 같으며 여기서 숫자 저장소는 코드값00/01/10을 보류하고 코드값11을 해제하여 숫자 댐을 형성하며 도66에 도시된 바와 같이 숫자 구성을 사용하여 디자인된 디지털 투시법은 상이한 방식으로 나타나고 도69b에 도시된 바와 같다.
도69b
도63에 도시된 숫자 구성을 사용하여 디지털 투시법화의 일련의 숫자 비트를 디자인함
Figure pct00101
도69a에서, 3개의 숫자 저장소가 존재하고 여기서 마지막 두개는 비였으며 첫번째는 5개의 코드를 보류하고 여기서 두개는 10이며 나머지 3개는 11이고 또한 3개의 숫자 댐에서 두개는 코드값01인 하나의 코드로 조성되며 나머지 하나의 숫자 댐은 코드값이 00인 다른 하나의 코드로 조성된다. 도69b에서 디지털 렌즈를 교체한 후, 동일한 일련의 숫자 비트는 4개의 숫자 저장소를 형성하고 그 중 두개는 빈 것이며 나머지 두개에는 1개의 코드10 또는 순차적으로 4개의 코드10,00,01과 01을 충진하고 3개의 숫자 댐은 코드값11의 1개의 코드로 조성된다.
[155]따라서 기술적으로, 상이한 인코딩 및 디코딩에 적절한 목적을 고려하여 숫자 구성 디자인을 사용하여 0과 1의 일련의 숫자 비트형태의 동일한 숫자 데이터 집합을 샘플링하거나 또는 판독하거나 또는 디지털 투시법화고 이러한 기술은 하기와 같은 단계를 포함한다. (1)디자인되는 코드 시스템의 코드 테이블에 근거하여 일련의 숫자 비트를 판독하는 단계, 즉 일련의 숫자 비트를 판독하여 이를 사용된 코드 테이블의 코드값과 매칭시키고 사용된 코드 테이블 내의 코드값의 비트 모드와 매칭되는 이러한 비트 모드에 근거 및 디자인 및 사용한 디지털 투시법 시스템에 근거하여 순차적인 매 하나의 코드유닛으로 형성하거나 또는 식별하는 단계, 및 (2)상응한 숫자 구조 또는 서브 숫자 구성에 선택되어 진입하기 위한 코드값을 디자인하여 코드를 분류하거나 또는 그룹화(즉 보류 또는 해제)한다. 이러한 방식으로, 숫자 데이터 집합 자체에 실제 조작을 하지 않아도 사용된 디지털 투시법 시스템에 근거하여 상기 시리즈 숫자 비트를 설명하거나 또는 그룹화하거나 또는 분류할 수 있다.
[156]단락[154]에 도시된 바와 같이, 사용된 디지털 렌즈에 근거하여 처리 중의 숫자 데이터 집합의 통계 특성을 찾고 예를 들어 처리 중의 숫자 데이터 집합에 숫자 저장소와 숫자 댐이 몇개 형성되었는가, 및 이로써 형성된 숫자 저장소와 숫자 댐에 존재하는 코드 수량 및 그 코드값을 찾을 수 있다. 요약하면, 숫자 데이터 집합의 성질을 미리 알 필요가 없이 처리 중의 숫자 데이터 집합의 숫자 구조와 요소를 카운팅할 수 있다. 이는 임의의 유형의 숫자 데이터가 무작위 또는 비무작위 여부와 관계 없이 모두 디자인 및 사용 중의 디지털 렌즈에 근거하여 카운팅할 수 있다는 것을 의미한다.
[157]따라서, 디지털 투시의 기능을 사용하여 새로운 방법을 개발하여 임의의 유형의 숫자 데이터를 연구하고 악명이 높은 무작위 데이터 악몽을 포함한다. 또한 본 발명은 디지털 투시법의 기능을 어떻게 기술적으로 개발하고 사용할 것인가를 개시한다. 디지털 투시법 자체는 샘플링 시스템의 초기 레벨이 처리 중의 숫자 정보를 변화시키지 않기 때문에 인코딩 및 디코딩의 목적을 위하여, 아래의 내용 제[162]단락에서 서술할 디지털 투시법을 포함하는 부가적인 레벨 또는 층과 같은 기타 기술은 반드시 디지털 투시법의 초기 레벨과 함께 사용되어 관심하는 숫자 데이터의 샘플링 또는 조직 시스템을 변화시키도록 한다.
[158]따라서, 디지털 투시법의 강대한 기능을 구비하고 숫자 구성을 임의로 디자인하고 구축할 수 있으며 본 발명에서 주장하는 우선권인 PCT PCT/IB2017/054500출원에서 개시된 기술을 사용하고 숫자 내용을 인코딩 및 디코딩하도록 하며 즉 구축할 숫자 구성으로 선택되고 진입된 숫자 코드값으로 디자인되도록 이진 비트를 구비한다.
[159]이러한 기술을 사용한 기술을 설명하는 예시로서, 디지털 투시법의 기능을 사용하여 구축한 숫자 구성의 내용을 인코딩 및 디코딩하여 즉 숫자 블랙홀 기술에서, 숫자 구성의 정의는 제[148]단락의 도63에서 언급되었고 즉 처리유닛, 숫자 구성1, 1개의 숫자 저장소와 1개의 숫자 댐으로 구성되며 여기서 숫자 코드값 00/01/10을 구비하는 코드를 선택하여 숫자 구성1의 숫자 저장소에 보류하고 숫자 코드값11을 구비하는 코드를 해제하여 숫자 구성1의 숫자 댐을 형성한다. 제[129]단락은 숫자 블랙홀 기술을 어떻게 사용하는 가를 개시한다. 요약하면, 숫자 모드를 식별하여야 하고 상기 숫자 모드에 숫자 블랙홀을 적용하며 상기 숫자 블랙홀을 통해 식별한 숫자 모드의 이진 비트를 흡수할 수 있다. 따라서, 도63의 숫자 구성1을 구축한 후, 이로 형성된 숫자 저장소와 숫자 댐의 이진 비트의 숫자 모드를 더 식별할 수 있다. 숫자 저장소가 3개의 숫자 코드값의 코드를 보류한 것을 발견하고 즉 00/01/10(만약 존재하면)이며 숫자 댐은 단지 1개의 코드로 형성되고 숫자 코드값은 11(만약 존재하면)이다. 따라서, 숫자 블랙홀 기술을 이 두개의 숫자 서브 구성에 적용할 경우, 숫자 비트의 흡수를 실현할 수 있고 이하 도70에 도시된 바와 같다.
도70a
숫자 블랙홀은 도63의 1개의 숫자 저장소와 1개의 숫자 댐을 포함하는 숫자 구성1에 적용된 결과:
Figure pct00102
도70a에 도시된 바와 같이, 숫자 블랙홀이 흡수한 이진 비트를 사용할 수 있다. 숫자 구성1의 숫자 저장소에서, 숫자 코드값10은 1이 되고 따라서 코드값10의 숫자 비트0은 흡수된다. 또한 숫자 구성1의 숫자 댐의 숫자 코드값11은 완전히 흡수된다.
[160]따라서, 숫자 코드값00/01이 발생할 경우, 상기 숫자 저장소를 인코딩하고 이 두개의 숫자 코드값은 변경되지 않으며 숫자 코드값10은 비트1을 사용하여 10으로 인코딩하고 상기 숫자 댐의 숫자 코드값11은 완전히 흡수되므로 숫자 코드값11은 완전히 소실된다. 도69b를 구성하는 일련의 숫자 비트 인코딩은 이하 도70b에 도시된 바와 같다.
도70b
숫자 블랙홀을 사용하여 도63에 도시된 바와 같은 숫자 구성을 사용하여 디지털 투시법화로 디자인된 일련의 숫자 비트를 인코딩함
Figure pct00103
상기 도70b의 [] 중 숫자 비트는 흡수되고 소실되므로 상기 일련의 숫자 비트: 1011111110000101은 11000101로 인코딩되고 이를 16비트로부터 8비트로 단축시킨다. 그러나, 분류 정보 또는 분류 데이터 및 상기에서 획득한 8비트 인코딩 코드를 사용하거나 추가하고 정확한 디코딩에 사용되지 않으면 상기에서 획득한 8개의 이진 비트를 성공적으로 디코딩할 수 없으며 원본인 16비트 숫자 정보에 손상이 없이 정확하게 복원시킬 수 없다.
[161]숫자 구성1의 디자인은 알려져 있기 때문에 상기 16비트 이진 숫자 정보를 정확하게 복원시키기 위하여 상기 숫자 비트로 조성된 숫자 저장소와 숫자 댐의 수량, 숫자 저장소가 어디서 정지되면, 숫자 댐은 거기서 시작되고, 및 어느 숫자 저장소가 비어있고 어느 것이 비어있지 않는가 등등을 알 수 있다. 비록 숫자 블랙홀은 원본 숫자 정보를 16비트로부터 8비트로 단축시킬 수 있지만 반드시 정보를 획득한 인코딩 숫자 비트 서열에 다시 추가하여 상기 16개의 숫자 비트 시리즈로 표시되는 원본 숫자 정보를 정확하고 손상이 없이 복원시킨다. 따라서, 숫자 블랙홀 외에도 기타 기술을 사용하여야 한다.
[162]이때, 디지털 투시법의 기능을 다시 사용하여 다른 하나의 숫자 구성(인코딩된 숫자 코드의 숫자 구성를 포함하고 이하 인코딩DC라 지칭함)을 디자인 및 구축하고 인코딩된 숫자 코드와 기타 부가적인 숫자 코드 저장에 사용되며 이는 디코딩 과정에서 원본 숫자 정보의 부가적인 숫자 코드를 정확하고 손상이 없이 복원시키는 것을 대표한다. 따라서, 인코딩된 숫자 코드와 기타 부가적인 숫자 코드는 선택 및 조직되어 숫자 구성1, DC1, 디자인 및 구축한 상술한 인코딩된 DC의 적절한 부분에 놓이도록 한다.
[163]상기 예시에 있어서, 먼저, 어떤 정보를 사용하는 가를 결정하거나 또는 어떤 정보를 8개의 인코딩된 숫자 비트에 첨가할 것인가를 결정하여 원본의 16개의 숫자 비트에 정확하고 손상이 없이 복원시키도록 한다. 그러한 정보 중 하나는 DC1의 숫자 댐의 식별자이다. 따라서, 인코딩된 8비트를 수정하여야 하고 원본 숫자 코드값과 상응한 인코딩된 숫자 코드값은 도71에 도시된 형식을 사용할 수 있으며 하기에 도시된 바와 같다.
도71
DC1의 원본 숫자 코드값을 인코딩하기 위한 수정된 코드 테이블
Figure pct00104
도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를 대표하는 인코딩된 처리유닛은 3개의 구조요소를 구비한다. DCI, 인코딩된 DR(EDR)과 인코딩된 DD(EDD)이다. DCI는 DC1의 DR에 보류된 코드값이 10인 숫자 코드의 수량의 정보를 제공한다.
[164]따라서, 카운팅 기술은 디지털 투시법과 숫자 블랙홀을 사용한 후 이 디자인에 사용되는 다른 하나의 가장 중요한 기술이다. DC1의 DR(또는 이 중 DR 또는 DD의 임의의 기타 숫자 코드값)에 코드값10인 숫자 코드의 카운팅 수량이 숫자 정보 입력에 근거하여 변화되므로 고정 비트 크기에 기반한 기존의 이진 번호 시스템을 사용하는 것은 비트의 사용량이 크게 낭비될 수 있기 때문에 적절하지 않고 이러한 번호 시스템은 사용된 고정 비트 크기의 제한을 받으며 예를 들어, 2비트 이진 번호 시스템을 사용하여 4개의 카운팅의 상한을 제공하고 3비트 이진 번호 시스템을 사용하여 8개의 카운팅 상한을 제공하는 등등이다. 논리에 따르면, 실제적으로 DC1의 DR(또는 이 중 DR 또는 DD의 임의의 기타 숫자 코드값)에 코드값10의 숫자 코드의 카운트 수량은 무한할 수 있고 이는 숫자 정보 입력에 의해 결정되므로 고정된 카운트 상한의 번호 시스템은 사용에 적절하지 않다.
[165]그러나, 첸 프레임워크 하에서 개발된 코드 시스템은 무한 수량 카운팅에 사용되고 예를 들어 제[152]단락의 도68에 열거된 코드 시스템과 같다. 하기 예시는 도68a에 열거된 0테일 무한 코드 시스템을 사용하여 DCI를 인코딩하고 도71의 코드 테이블을 사용하여 DC1의 DR과 DD를 인코딩DC1로 인코딩하며 그 숫자 구조는 도72에 도시된 바와 같다.
도72
인코딩DC1의 숫자 구조
DCI EDR EDD
여기서,
DCI는 DC1의 DR에서 선택되어 보류된 코드값10을 구비하는 숫자 코드의 수량의 카운팅 개수(도68a의 0테일 무한 코드 시스템을 사용함)이고 여기서 코드값10은 1[0]으로 인코딩되며 여기서 []의 비트0은 생략됨;
EDR은 인코딩된 코드에 가능한 많은 시리즈 숫자 정보(즉 00/01/1[0])를 포함하고 코드값00/01/10을 구비하는 원본 숫자 코드를 DC1의 숫자 저장소에 보류됨;
EDD는 단지 1개의 인코딩 코드를 포함하고 1은 DC1의 숫자 댐이 원본 숫자 코드값11의 코드에 사용되는 것을 대표함;
[166]따라서, 도70에 열거된 원본 숫자 비트 시리즈는 다시 도73a로 표시되고 그 인코딩된 숫자 구성은 도73b에 도시된 바와 같다.
도73a
도70의 일련의 숫자 비트를 사용한 숫자 구성
Figure pct00105
도73b
도73a의 동일한 시리즈의 숫자 비트의 인코딩에 사용되는 숫자 구성
Figure pct00106
도73b로부터 알 수 있다 시피, 3개의 완성된 인코딩DC1과 DCI 및 EDR의 두개의 나머지 숫자 구조요소가 존재하면 완전한 인코딩DC1를 형성하지 않는다. []과 []의 비트0과 비트1은 실제적으로 인코딩된 숫자 비트 서열에 존재하고 하기와 같다.
10110101101000101
알 수 있다 시피, 인코딩된 일련의 숫자 비트는 17비트이고 원본 시리즈의 원본 숫자 비트보다 1개 비트가 많다. 이는 마지막 DCI와 EDR가 후속되는 11코드가 없어 완전한 DC1을 형성할 수 없다. 만약 하나의 후속되는 DD가 있으면, 이는 하나의 완전한 DC1을 형성할 수 있고 그러면, 인코딩된 코드의 비트 사용량이 원본 시리즈의 숫자 비트와 동일하다.
[167]도73의 DCI는 DC1의 DR에 선택되어 진입한 코드값10을 구비하는 숫자 코드의 수량의 카운팅 개수(도68a의 0테일 무한 코드 시스템을 사용함)를 표시한다. 이하 도74는 0테일 무한 코드 시스템이 DC1의 DR에서 코드값이 10인 숫자 코드의 카운팅에 어떻게 사용되는 가를 도시한다.
도74
DCI의 DR에 보류되도록 선택되고 선정 코드값10을 구비하는 숫자 코드의 수량을 카운팅하는 숫자 카운팅 정보(DCI)
Figure pct00107
[168]이 예시에서, 이러한 기술을 사용하여 DC1의 DR에서 무한 수량의 숫자 블랙홀을 카운팅하면, 즉 첸 프레임워크로 디자인된 테일 0무한 코드 시스템을 사용하여 완전한 숫자 구성을 인코딩된 숫자 구성으로 인코딩하고 상기 숫자 구성은 숫자 카운팅 정보, 인코딩된 숫자 저장소 및 인코딩된 숫자 댐으로 조성되며 이는 원본 숫자 비트 시리즈의 비트 사용량과 동일한 비트 사용을 구비한다. 도75는 하기와 같이 더 상세하게 설명한다.
도75a
블랙홀 기술을 사용하고 첸 프레임워크 하에서 디자인된 테일 0무한 코드 시스템의 무한 카운팅 기술을 사용하여 도71의 DC1을 인코딩된 DC1로 인코딩하며 여기서 DC1의 DR에 코드값이 10인 코드가 없음
DCI
0 ; DR에 코드값이 10인 코드가 없음
00 ; DR에 값이 10인 코드가 없음, DR에도 기타 코드값이 없음; 따라서 단지 1개의 DD코드값11만 있고 이 기본값은 생략할 수 있음
01 ; DR에 값이 10인 코드가 없음, 그러나 기타 코드값을 구비하는코드가 있음, 즉 코드값이 00/01인 코드임
; 따라서 01 이후, 첸 프레임워크의 테일 0무한 코드 시스템을 사용하여 코드값이 00/01인 코드 수량을 다시 카운팅함
01 0 ; 코드값이 00 또는 01인 코드가 1개 있음
01 10 ; 코드값이 00/01인 코드가 2개 있음
01 110; 코드값이 00/01인 코드가 3개 있음
등등; 등등
; 00/01값을 구비하는 상기 코드는 후속되는 비트도와 같이 표시될 수 있고 여기서 비트0은 코드값00을 대표하며 비트1은 코드값01을 대표하고 따라서,
비트도
01 0 [] ; 비트도가 필요 없음
01 10 0 ; 코드값이 00인 코드가 1개 있음
01 10 1 ; 코드값이 01인 코드가 1개 있음
01 110 00; 2개의 코드가 있고 그 코드값은 모두 00임
01 110 11; 2개의 코드가 있고 여기서 코드값은 모두 01임
01 110 01; 2개의 코드가 있고 첫번째 코드값은 00이며 두번째 코드는01임
01 110 10; 2개의 코드가 있고 첫번째 코드값은 01이며 두번째 코드는00임
등등; 등등
; 따라서 상기로부터 알 수 있다 시피, DC1의 DR에 코드값이 10인 코드가 없는 완전한 DC1은 하기 숫자 구조요소를 구비하는 인코딩된 DC1(EDC1)로 인코딩된다:
숫자 카운팅 정보: 코드값이 10인 코드의 수량(이 예에는 이러한 코드값이 존재하지 않음) 및 DC1의 DR에 기타 코드값00/01을 구비하는 코드의 수량을 나타냄;
DR비트도: 코드값이 00 또는 01인 코드의 마지막 비트를 나타냄;
DD = []: DD를 나타낼 필요가 없음, 숫자 카운팅
정보는 DR이 DC1에서의 종료 위치를 지시하기에 충분하고 DR은 반드시 1개의 DD코드, 즉 코드값11을 수반하여야 함; 이러한 1[1]의 코드는 인코딩된 코드에서 생략될 수 있고 숫자 카운팅 정보를 사용하여 디코딩할 경우 상응한 상응 위치에 정확하게 복원시킴
도75b
블랙홀 기술을 사용하고 첸 프레임워크 하에서 디자인된 테일 0무한 코드 시스템의 무한 카운팅 기술을 사용하여 도71의 DC1을 인코딩된 DC1로 인코딩하며 여기서 DC1의 DR에 코드값이 10인 코드가 있음
DCI
10 ; DR에 코드값이 10인 코드가 1개 있음
110 ; DR에 코드값이 10인 코드가 2개 있음
1110 ; DR에 코드값이 10인 코드가 3개 있음
등등 ; 등등
Figure pct00108
; 여기서 {00/01 ... 00/01}은 처리 중의 원본 시리즈 숫자 비트에서 찾거나 또는 찾지 못한 EDR의 코드값이 00/01인 일련의 코드를 표시함(만약 찾지 못하면 이러한 코드가 없음)
도75b의 DR에서 코드값10인 코드를 갖는 DC1에 있어서, 도71의 수정된 코드 테이블을 사용하여 DC1의 DR과 DD의 코드값을 인코딩 및 디코딩한다. 따라서, 인코딩된 DC1의 숫자 구조는 코드값이 10인 코드를 갖는 숫자 카운팅 정보, 도71의 수정 코드 테이블을 사용한 DR(EDR)과 DD(EDD) 인코딩 코드 등과 같은 3개의 부분을 구비한다. DR의 코드값아 00/01인 인코딩 코드는 코드값이 원본 코드와 동일하다. 이들이 처리 중의 원본 숫자 비트 서열에 열거된 바와 같이 자연 순서대로 배열된다. DC1의 DD에 코드값11인 코드가 1로 인코딩되어 DC1의 DR의 정지 코드를 표시한다. 따라서, 코드값이 10인 코드 수량에 대한 숫자 카운팅 정보로부터 알 수 있다 시피 EDR 정지되는 지점을 알 수 있고 즉, EDR는 DD의 다음 비트1 이전에 정지하는 것을 대표하며 코드값1이 1로 표시될 경우, 이로 인해 숫자 카운팅 정보에 등록된 EDR에서 발견된 비트1의 수량에 EDD의 다른 비트1을 카운팅함으로써 디코딩 과정에서 전체 EDCI가 결정되고 복호화될 수 있다.
DR에서 코드값이 00/01인 코드는 자연 순서와 상반되는 순서로 암호화 형식으로 놓일 수 있다. 또는 코드값이 00/01인 코드를 헤드 비트와 테일 비트와 같은 두개의 부분으로 나눌 수 있고 도75c에 도시된 바와 같이 여기서 0헤드 코드의 헤드 비트 EDR에 보류되며 상응한 테일 비트는 비트도로서 EDD 이후에 하기와 같이 열거된다.
도75c
블랙홀 기술을 사용하고 첸 프레임워크 하에서 디자인된 테일 0무한 코드 시스템의 무한 카운팅 기술을 사용하여 도71의 DC1을 인코딩된 DC1로 인코딩하며 여기서 DC1의 DR에 코드값이 10인 코드가 존재하고 0헤드 코드값은 분할 코드임
DCI
10 ; DR에 코드값이 10인 코드가 1개 있음
110 ; DR에 코드값이 10인 코드가 2개 있음
1110 ; DR에 코드값이 10인 코드가 3개 있음
등등 ; 등등
Figure pct00109
; 여기서 {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을 구비함
[169]상기 제[167]단락과 제[168]단락에서 설명된 인코딩 및 디코딩 방안에 근거하여 임의의 완전한 DC1을 동일한 비트 사용량과 같은 동일한 수량을 갖는 숫자 비트의 상응한 EDC1에 인코딩할 수 있고 EDC1도 정확하게 디코딩되어 원본의 DC1에 손상이 없이 반환될 수 있다. 이는 암호화 및 복호화을 위한 인코딩 및 디코딩 목적에 적용된다. 숫자 카운팅 정보를 사용하여 숫자 카운팅 정보의 무한 코드 시스템(즉 0테일 또는 1테일 코드 시스템 사용 여부)에 사용되고 0헤드 코드값을 갖는 인코딩된 코드의 위치 배열, 및 0헤드 코드값을 갖는 코드에 대하여 분할 코드와 비트도를 사용하며 코드값10과 11을 [] 또는 1[0] 또는 1[1]로 블랙홀화시켜 상이한 방식으로 조합하여 많은 상이한 암호화와 복호화의 방안을 표시할 수 있다.
[170]이 외에, 전술한 바와 같이, 상이한 방식으로 숫자 구성을 디자인하고 DR과 DD에 보류할 상이한 코드값을 선택하여 하나 또는 복수개의 인코딩 및 디코딩 주기에서 하나 또는 복수개의 숫자 구성 디자인을 사용하며 암호화와 복호화 방안의 조합은 무한할 수 있다. 도76에 도시된 바와 같이, DR과 DD의 코드값은 상이한 방식으로 매핑될 수 있다.
도76
숫자 구성의 코드값의 매핑 시나리오
Figure pct00110
; 상기에 열거된 처음 3개의 코드값의 코드를 DR에 진입하도록 입력하고 네번째 코드값의 코드를 DC의 DD로 선택함
Figure pct00111
; 상기에 열거된 처음 3개의 코드값의 코드를 DR에 진입하도록 입력하고 네번째 코드값의 코드를 DC의 DD로 선택함
Figure pct00112
; 상기에 열거된 처음 3개의 코드값의 코드를 DR에 진입하도록 입력하고, 네번째 코드값의 코드를 DC의 DD로 선택함
Figure pct00113
; 상기에 열거된 처음 3개의 코드값의 코드를 DR에 진입하도록 입력하고, 네번째 코드값의 코드를 DC의 DD로 선택함
Figure pct00114
; 상기에 열거된 처음 3개의 코드값의 코드를 DR에 진입하도록 입력하고, 네번째 코드값의 코드를 DC의 DD로 선택함
Figure pct00115
; 상기에 열거된 처음 3개의 코드값의 코드를 DR에 진입하도록 입력하고, 네번째 코드값의 코드를 DC의 DD로 선택함
[171]암호화 및 복호화의 목적 외에, 임의의 유형의 숫자 데이터에 대하여 압축 및 압축 해제를 목적으로 하는 인코딩 및 디코딩을 시도하여 진행하기 위하여, 두개 또는 두개 이상의 숫자 구성 유닛을 사용하여 처리할 수 있다. 하기 예시는 제[168]단락의 도75에서 사용된 동일한 숫자 구성의 두개의 유닛을 사용하고 인코딩 및 디코딩을 진행하여 숫자 무작위 데이터 집합을 압축 및 압축 해제하여 디지털 투시법과 숫자 블랙홀 기술을 사용한 것을 제외하고 상이한 카운팅 기술을 어떻게 조합시킬 것인가를 더 연시하여 숫자 무작위 데이터가 정확하고 손상이 없이 압축 및 압축 해제될 수 있도록 한다.
[172]동일한 숫자 구성의 두개의 유닛을 사용하여 인코딩 및 디코딩을 진행하기 위하여 코드(예를 들어 코드값10을 구비하는 코드)의 카운팅은 반드시 DR1과 DR2에서 실행하여야 하고 즉 디자인 중 두개의 인접한 DC유닛에서 실행하며 따라서, 숫자 카운팅 정보는 DR1과 DR2 중 코드값이 10인 코드의 카운팅 수량의 총합을 포함하여야 하고 이는 DR1과 DR2의 이러한 코드의 분포의 정보, 즉 카운팅 분포 정보를 포함하여야 함으로써 디코딩될 경우 정확하고 손상이 없이 이러한 코드를 복원시킬 수 있다. 따라서, 동일한 숫자 구성의 두개의 유닛을 사용하여 인코딩 및 디코딩을 진행하기에 기존의 숫자 카운팅 정보는 더 증강되고 카운팅 정보(카운팅 번호 코드로 표시함)와 카운팅 분포 정보(카운팅 번호 코드로 표시함)로 조성된다.
[173]따라서, 제[168]단락의 도75a와 도75b를 도77a와 도77b에 도시된 바와 같이 수정할 수 있다. 또한 도75c은 도75b에 근거하여 하기와 같이 도77b의 동일한 방식(코드 분할 사용과 함께)으로 수정될 수 있다.
도77a
블랙홀 기술 및 첸 프레임워크를 사용하여 디자인한 테일 0무한 코드 시스템의 무한 카운팅 기술을 사용하여 도71의 DC1의 두개의 인접 유닛을 인코딩된 DC의 하나의 유닛으로 인코딩하고 여기서 DC1의 두개의 인접 유닛DR1과 DR2에 코드값이 10인 코드가 없음
DCI
00 ; DR1과 DR2에 값이 10인 코드가 없음
00 0 0 ; DR1과 DR2에 코드값이 00/01인 코드가 없음
00 0 10 ; DR1과 DR2에 값이 10인 코드가 없음, DR1에 코드값이 00/01인 코드가 없음, 하지만 DR2에 코드값이 00 또는 01인 코드가 1개 있음
; 따라서 이러한 코드에는 테일 부위를 사용한 비트도가 있어야 함;
00 0 10 0; 이러한 코드는 코드값00을 구비함
00 0 10 1; 이러한 코드는 코드값01을 구비함
00 0 110 ; DR1과 DR2에 값이 10인 코드가 없음, DR1에 코드값이 00/01인 코드가 없음, 하지만 DR2에 코드값이 00 또는 01인 코드가 2개 있음
; 따라서 이 두개의 코드에는 테일 부위를 사용한 비트도가 있어야 함
00 0 110 00; 이 두개의 코드는 코드값00을 구비함
00 0 110 01; 이 두개의 코드는 순차적으로 코드값00과 01을 구비 함
00 0 110 10; 이 두개의 코드는 순차적으로 코드값01과 00을 구비 함
00 0 110 11; 이 두개의 코드는 코드값01을 구비함
등등; 등등
00 10 0 ; DR1과 DR2에 값이 10인 코드가 없음, DR2에 코드값이 00/01인 코드가 없음, 하지만 DR1에 코드값이 00 또는 01인 코드가 1개 있음
; 따라서 이 두개의 코드에는 테일 부위를 사용한 비트도가 있어야 함;
00 10 0 0; 이 두개의 코드는 코드값00을 구비함
00 10 0 1; 이 두개의 코드는 코드값01을 구비함
00 110 0 ; DR1과 DR2에 값이 10인 코드가 없음, DR2에 코드값이 00/01인 코드가 없음, 하지만 DR1에 코드값이 00 또는 01인 코드가 2개 있음
; 따라서 이 두개의 코드에는 테일 부위를 사용한 비트도가 있어야 함
00 110 0 00; 이 두개의 코드는 코드값00을 구비함
00 110 0 01; 이 두개의 코드는 00과 01 순서의 코드값을 구비함
00 110 0 10; 이 두개의 코드는 01과 00 순서의 코드값을 구비함
00 110 0 11; 이 두개의 코드는 코드값01을 구비함
등등; 등등
; 상기 코드는 코드값10의 카운팅 인코딩과 카운팅 분포 및 00/01의 코드값은 각각 첸 프레임워크 하에서 디자인된 테일 0무한 코드 시스템으로 표시되고 및 다음은 코드값이 00/01의 코드의 테일 부위로 표시되고 상기 인코딩방안을 사용하여 코드값이 10인 코드가 없는 DC1의 두개의 인접 유닛은 DC1의 원본 두개의 인접 유닛과 동일한 비트 사용량의 인코딩된 DC1의 하나의 유닛으로 인코딩하는 것을 표명한다.
도77b
블랙홀 기술 및 첸 프레임워크를 사용하여 디자인한 테일 0무한 코드시스템의 무한 카운팅 기술을 사용하여 도71의 DC1의 두개의 인접 유닛을 인코딩된 DC1의 하나의 유닛으로 인코딩하고 여기서 DC1의 두개의 인접 유닛의 DR1과 DR2의 임의의 하나 또는 두개에 코드값이 10인 코드가 1개 또는 복수개 존재함
DCI
01 ; DR1과 DR2에 코드값이 10인 코드가 모두 1개 있음
10 ; DR1과 DR2에 코드값이 10인 코드가 모두 2개 있음
110 ; DR1과 DR2에 코드값이 10인 코드가 모두 3개 있음
등등; 등등
DCI
CNC CDC; CNC는 카운팅 번호, CDC는 카운팅 분포 코드
01 0; 분포 (0,1)을 대표하고 즉 DR1에 코드가 없으며 DR2에 1개의코드가 있음
; 다음 수반되는 것은 EDR1, EDD1, EDR2, EDD2의 코드
Figure pct00116
01 1; 분포 (1,0)을 대표하고 즉 DR2에 코드가 없으며 DR1에 1개의코드가 있음
; 다음 수반되는 것은 EDR1, EDD1, EDR2, EDD2의 코드
Figure pct00117
; 여기서 {00/01...00/01}은 처리 중의 원본 시리즈 숫자 비트에서 찾거나 또는 찾지 못한 EDR1과 EDR2의 코드값이 00/01인 일련의 코드를 대표함
; 현재까지, CNC = 01 부분 인코딩된 비트 사용량은 DC1의 원본 두개의 유닛의 비트 사용량과 동일함
CNC CDC
10 0; 분포 (0,2)를 대표함
; 다음 수반되는 것은 EDR1, EDD1, EDR2, EDD2의 코드
Figure pct00118
10 10; 분포 (1,1)을 대표함
; 다음 수반되는 것은 EDR1, EDD1, EDR2, EDD2의 코드
Figure pct00119
10 11; 분포 (2,0)을 대표함
; 다음 수반되는 것은 EDR1, EDD1, EDR2, EDD2의 코드
Figure pct00120
; 여기서 {00/01...00/01}은 처리 중의 원본 시리즈 숫자 비트에서 찾거나 또는 찾지 못한 EDR1과 EDR2의 코드값이 00/01인 일련의 코드를 대표함
; 현재까지, CNC = 10 부분 인코딩된 비트 사용량은 약간의 비트 절약이 있고 즉 CDC =(0,2)의 인코딩된 숫자 구성의 1/3은 DC1의 원본의 두개의 유닛의 비트 사용량보다 1비트가 적음
CNC CDC
110 00; 분포 (0,3)을 대표함
; 다음 수반되는 것은 EDR1, EDD1, EDR2, EDD2의 코드
Figure pct00121
110 01; 분포 (1,2)를 대표함
; 다음 수반되는 것은 EDR1, EDD1, EDR2, EDD2의 코드
Figure pct00122
110 10; 분포 (2,1)을 대표함
; 다음 수반되는 것은 EDR1, EDD1, EDR2, EDD2의 코드
Figure pct00123
110 11; 분포 (3,0)을 대표함
; 다음 수반되는 것은 EDR1, EDD1, EDR2, EDD2의 코드
Figure pct00124
; 여기서 {00/01...00/01}은 처리 중의 원본 시리즈 숫자 비트에서 찾거나 또는 찾지 못한 EDR1과 EDR2의 코드값이 00/01인 일련의 코드를 대표함
; 현재까지, CNC = 110 부분 인코딩된 비트 사용량은 DC1의 원본 두개의 유닛의 비트 사용량과 동일함
CNC CDC
1110 00; 분포 (0,4)를 대표함
; 다음 수반되는 것은 EDR1, EDD1, EDR2, EDD2의 코드, 이러한 인코딩은 CNC = 01/10/110의 부분에 도시된 코드에서 모방될 수 있음
1110 01; 분포 (1,3)을 대표함
; 다음 수반되는 것은 EDR1, EDD1, EDR2, EDD2의 코드, 이러한 인코딩은 CNC = 01/10/110의 부분에 도시된 코드에서 모방될 수 있음
1110 10; 분포 (2,2)를 대표함
; 다음 수반되는 것은 EDR1, EDD1, EDR2, EDD2의 코드, 이러한 인코딩은 CNC = 01/10/110의 부분에 도시된 코드에서 모방될 수 있음
1110 110; 분포 (3,1)을 대표함
; 다음 수반되는 것은 EDR1, EDD1, EDR2, EDD2의 코 드, 이러한 인코딩은 CNC = 01/10/110의 부분에 도시된 코드에서 모방될 수 있음
1110 111; 분포 (4,0)을 대표함
; 다음 수반되는 것은 EDR1, EDD1, EDR2, EDD2의 코 드, 이러한 인코딩은 CNC = 01/10/110의 부분에 도시된 코드에서 모방될 수 있음
CNC CDC
11110 ....
등등 등등
; CNC = 1110 이후에 CDC의 비트 사용량이 2비트 이상이 되면 약간의비트 낭비가 발생하는 것을 알 수 있음
[174]CNC = 10과 CDC =(0,2)의 1/3의 인코딩 숫자 구조(2비트 미만의 카운팅 분포 코드를 사용함)로 인한 비트 절약이 인코딩된 숫자 구조(CDC 비트 사용량은 2비트보다 큼)로 인한 비트 낭비와 차감되는 것이 분명하다. CDC비트 사용량이 2비트 초과의 인코딩 숫자 구성은 첸 프레임워크 하의 테일 0코드 시스템 층차 구조의 CNC = 1110 및 이하 위치에서 시작된다.
[175]차감된 결과에 넘어가기 전에, 지금까지 사용한 카운팅 기술에 대한 요약은 다음과 같다.
a. 첸 프레임워크 하의 무한 코드 시스템을 카운팅 번호로 사용함;
b. 적절한 경우에 예컨대 제[167]단락에서 사용한 피라미드 헤드 테일 0무한 코드 시스템과 같은 상이한 형식의 무한 코드 시스템을 사용함;
DCI
0
10
110
등등
c.하기와 같이 제[168] 및 [173]단락에서 사용한 플랫 무제한 코드 시스템[하기에 도시된 바와 같이, 플랫 무제한 코드 시스템은 상층의 이진 코드 시스템을 하층의 피라미드 헤드 무한 코드 시스템과 결합시킴]을 사용함:
DCI
00
01
10
110
1110
또는
DCI
11
10
01
001
0001
d. 제[168]과 [173]단락에서 플랫 무한 코드 시스템을 사용하여 코드값00/01을 갖는 코드를 카운팅하는 요구를 만족시키기 위한 것이고 하나 이상의 카운팅 시스템의 합병을 대표함;
[176]따라서, 디자인 목적에 적절한 경우에 임의의 디자인 방안에서 사용한 카운팅 시스템은 상이한 형식을 사용할 수 있다. 첸 프레임워크를 사용하면 상이한 카운팅 목적에 사용되는 코드 시스템을 아주 용이하게 디자인할 수 있고 예를 들어 상이한 빈도 분포를 갖는 숫자 데이터 집합을 카운팅한다.
[177]제[169]와 [170]단락에서 설명한 기술을 사용하여 임의의 유형의 숫자 데이터의 원본 숫자 데이터 집합(무작위 여부와 관계 없이)과 동일한 비트 사용량을 사용하여 암호화 및 복호화 목적으로 사용되는 인코딩 및 디코딩을 진행할 수 있다. 제[169]과 [170]단락에서 개시한 이러한 인코딩은 카운팅 정보 및 숫자 데이터 자체를 포함한다. 따라서, 인코딩된 코드에 포함된 정보 내용은 하나의 집합의 무작위 숫자 데이터일 지라도 숫자 데이터 자체보다 현저하게 더 많다. 따라서, 이는 정보론의 비둘기집 원리는 단지 하나의 미신이라는 것을 충분히 증명한다.
[178] “주소 불충분”은 정보 이론에서의 비둘기집 원리의 “진실성” 설명에 사용된다. 이러한 해석은 사람들이 무작위 데이터의 특성을 연구하지 않도록 하는 하나의 에러이다. 실제적으로, 적절한 경우와 기회가 있는 경우에 주소를 구축할 수 있다.
[179] 도77에 도시된 인코딩으로부터 비트 절약과 비트 낭비의 차감를 알 수 있고 이로부터 알 수 있다 시피, 코드값이 00/01인 코드는 인코딩 이전 또는 이후의 비트 사용량 변화가 없다. 비트 절약에 기여하는 것은 코드값이 10과 11인 코드에 숫자 블랙홀을 사용하여 이들이 1[0]과 1[1]로 변화되도록 하고 즉 10과 11은 1과 1로 변화되며 10 또는 11의 코드값을 갖는 매 하나의 코드는 1비트를 절약한다. 비트 낭비는 카운팅 코드와 카운팅 분포 코드의 형식으로 나타난 숫자 카운팅정보를 사용하였기 때문이다. 따라서, 만약 숫자 카운팅 정보(숫자 카운팅 정보 비트 사용량, DCIBU)에 사용된 비트 수량이 숫자 블랙홀(BSDB)에 의해 야기된 비트 절약보다 적으면 즉 두개의 인접한 숫자 구성 유닛이 코드값이 10인 코드의 카운팅 개수에 2의 비트 개수를 가하면, 비트 절약이 존재하고 만약 DCIBU가 BSDB와 같으면, 비트 사용량은 상당하며 만약 DCIBU가 BSDB를 초과하면, 비트 낭비가 존재한다. 도77에 도시된 인코딩된 비트 절약과 비트 낭비 사이의 평형은 하기 도78에 도시된 바와 같다.
도78
도77의 인코딩된 비트 절약과 비트 낭비의 평형
Figure pct00125
Figure pct00126
[180]“불충분한 주소”로 정보론에서의 비둘기집 원리의 “진리”를 설명하는 것도 미신이고 이는 주소는 창조해 낼 수 있기 때문이다. 절대적인 주소 분기 기술은 이러한 목적에 다시 사용될 수 있는 것은 도78로부터 CNC = 10과 CDC = 0을 식별해 낼 수 있기 때문이고 1비트의 비트 절약이 있으며 이 주소를 이용하여 다른 일련의 무한 코드시스템의 주소를 구축하고 설정하여 카운팅 용도로 사용되며 하기 도79에 도시된 바와 같다.
도79
주소를 구축하여 다른 하나의 무한 코드 시스템에 사용하여 도78의 인코딩 예시를 사용하여 카운팅함
CNC CDC
[10 0]; CDC = 0 여기서 2개의 코드로 분할되어 형성되고 이하 2개의 코드로 대체될 수 있음
10 00: CNC + CDC = 100에 사용되는 원본 코드, 1000으로 변화됨
10 01; 절대적인 주소 분기 기술을 사용하여 다른 하나의 무한 코드시스템의 새로운 주소 구축에 사용되고 카운팅은 하기와 같이 진행됨.
10 010
10 0110
10 01110
등등 등등
; 따라서 새로 형성된 무한 코드 시스템의 첫번째 요소 코드값은 10010이고 다음 100110,1001110, 이와 같이 유추함
[181]따라서, 이 무한 코드 시스템은 첫번째 요소10010으로부터 시작하여 다른 일련의 무한 개수를 카운팅할 수 있는 5비트를 갖는다. 도78을 참조하면, CNC = 1110 또는 CNC = 11110의 층면에서 2개의 무한 개수 카운팅 시리즈의 병행 시스템을 생성할 수 있고 하기 도80에 도시된 바와 같다.
도80a
원본 CNC = 1110의 층면에서 병행 무한 카운팅 시스템을 생성하여 두개의 무한 코드 시스템을 사용하여 동일한 시리즈의 무한 개수를 카운팅함
Figure pct00127
Figure pct00128
; CNC = 1110의 층면에서, 다른 하나의 무한 코드 시스템에 분담 카운팅 태스크를 추가하고 CNC과 CDC는 아래와 같이 수정됨:
Figure pct00129
; 따라서 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의 층면에서부터 두개의 무한 코드 시스템을 사용하고 동일한 시리즈의 무한 개수를 카운팅하는 병행 무한 카운팅 시스템
Figure pct00130
; CNC = 11110의 층면에서, 다른 하나의 무한 코드 시스템에 분담 카운팅 태스크를 추가하고 CNC과 CDC는 아래와 같이 수정됨:
Figure pct00131
; 따라서 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의 이전 층면에 비트 낭비의 2개의 조합이 있다. 따라서, 코드 강등을 통하여 이러한 불량 상황을 시정할 수 있다. 도80c에 도시된 바와 같이, 도80b는 하기와 같이 수정될 수 있다.
도80c
코드 강등을 적용하여 원래 CNC = 11110의 층면에서부터 두개의 무한 코드 시스템을 사용하고 동일한 시리즈의 무한 개수를 카운팅하는 병행 무한 카운팅 시스템
Figure pct00132
Figure pct00133
; CNC = 11110의 층면에서, 다른 하나의 무한 코드 시스템에 분담 카운팅 태스크를 추가하고 CNC과 CDC는 아래와 같이 수정됨:
Figure pct00134
; 따라서, 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개 존재한다. DR1 + DR2에 코드값이 10인 층면이 7개 존재하고 8가지 조합이 있으며 차감 결과는 모두 상당하다. 마찬가지로, 이는 필요하거나 또는 적절한 층면에서 코드 강등 기술을 사용할 수 있다. 또는, 도80d의 원래 CNC = 110의 층면에서 가능한 빨리 병행 무한 코드 시스템을 구축할 수 있다. 제2 무한 코드 시스템 설정에 사용되는 새로운 주소는 CNC = 01의 위치를 점유할 수 있고 010을 두번째 무한 코드 시스템의 첫번째 요소로 하여 CNC1 = 110 층면 레벨에 사용된다.
도80d
원래 CNC = 10의 층면에서부터 두개의 무한 코드 시스템을 사용하고 동일한 시리즈의 무한 개수를 카운팅하는 병행 무한 카운팅시스템
Figure pct00135
Figure pct00136
상기 도80으로부터 알 수 있다 시피, 만약 처리 중의 숫자 데이터 집합에 필요하면, 새로운 주소와 새로운 무한 코드 시스템을 구축하여 무한 개수의 카운팅에 도움이 될 수 있다. 이러한 목적을 위해 새로운 주소가 부족하지 않는 것은 분명하다.
[182]상기 예시에서, 동일한 시리즈 숫자 데이터를 카운팅하기 위한 병행 무한 코드 시스템은 제1 레벨 층면 이후의 어떤 층면 레벨에서의 어느 곳에서 시작하고 예를 들어 도80a에서의 원래 CNC = 1110의 층면 레벨이다. 하지만, 처리 중의 숫자 데이터 집합의 빈도 분포의 특성에 근거하여 적절한 층면 레벨에서 작동시킬 수 있다. 또한 사용할 수 있는 다른 방법은 도81에 도시된 바와 같다.
도81a
병행 무한 코드 시스템은 코드값이 10인 코드를 제1 층면 레벨에서 카운팅하고 여기서 코드값이 10인 코드 카운팅 개수는 1과 같음
Figure pct00137
; 원래의 CDC 코드는 반드시 CDCI과 CDC2 사이에서 공유되어야 하고 DR1 + DR2 코드값이 10인 3개의 층면이 있는 레벨로부터 시작함
; 또는 병행 무한 코드 시스템을 후속적인 연속 무한 코드 시스템으로 제작할 수 있어 동일한 시리즈의 무한 개수 카운팅에 사용됨
도81b
후속적인 연속 무한 코드 시스템은 코드값이 10인 코드가 제1 층면 레벨에서 카운팅하고 여기서 코드값이 10인 코드 카운팅 개수는 1과 같음
DCI
00 ; DR1과 DR2에 값이 10/00/11인 코드가 없음
010 ; DR1과 DR2에 값이 10인 코드가 없지만 값이 00/01인 코드
10 ; DR1과 DR2에 값이 10인 코드가 1개 존재함
110 ; DR1 + DR2에 값이 10인 코드가 2개 존재함
1110 ; DR1 + DR2에 값이 10인 코드가 3개 존재함
0110 ; DR1 + DR2에 값이 10인 코드가 4개 존재함
11110; DR1 + DR2에 값이 10인 코드가 5개 존재함
01110; DR1 + DR2에 값이 10인 코드가 6개 존재함
등등; 등등
[183] 상기 도80과 도81의 인코딩 기술은 절대 주소 분기 기술 및 새로운 주소를 사용하여 다른 하나의 무한 코드 시스템을 개방하여 동일한 시리즈 무한 개수를 카운팅하는 태스크의 기술을 연시한다. 새로운 주소는 또한 다른 하나의 방식으로 사용되고 도82에 도시된 바와 같다.
도82
코드 업그레이드를 위한 새로운 주소를 구축함
Figure pct00138
Figure pct00139
[184]따라서, 이렇게 구축한 새로운 주소는 분담 카운팅 태스크의 다른 하나의 무한 코드 시스템을 열 수 있어 병행 또는 후속적인 연속 카운팅 시스템이 두개의 무한 코드 시스템(만약 더 많은 주소를 사용할 수 있는 경우 더 많음)을 구비하도록 할 수 있고 동일한 시리즈의 무한 개수를 카운팅하거나 또는 코드 업그레이드에 사용된다. 따라서, 처리 중의 숫자 데이터 정보의 빈도 분포의 특성에 근거하여, 새로운 주소를 어떻게 사용할 것인가를 선택함으로써 비트 낭비보다 더 많이 비트를 절약할 수 있다. 이점을 고려하여, 동일한 비트 크기가 있더라도 무작위 데이터의 빈도 분포는 변화될 수 있고 상이한 크기를 갖는 무작위 데이터는 물론이다. 본 발명에서 주장하는 우선권인 PCT출원PCT/IB2017/054500에서 무작위 데이터 집합을 작은 부분으로 분할하여 인코딩 및 디코딩을 진행하여 그 비무작위성을 증가하는 기술을 개시한다. 또한 제[170]단락의 동일한 숫자 구성 디자인에 대하여 개시한 상이한 매핑 시나리오를 사용하거나 또는 상이한 숫자 구성 디자인을 사용하여 처리 중의 숫자 데이터 집합의 빈도 분포의 특성에 적용시킨다. 개시된 이러한 인코딩 기술은 유용하고 무작위 여부와 관계 없이 모든 유형의 숫자 데이터에 적용된다.
[185]또한 동일한 카운팅 기술을 실현하여 코드값이 00/01인 코드를 카운팅할 수 있다. 예를 들어, DR1과 DR2에 값이 10인 코드의 층면이 없고 DR1 + DR2에서 피라미드 헤드 무한 코 드시스템 또는 플랫 무한 코드 시스템을 사용하여 0헤드 코드(즉 코드값이 00/01인 코드)의 개수를 카운팅할 수 있고 예컨대 도83a와 도83b에 도시된 바와 같다.
도83a
피라미드 헤드 무한 코드 시스템(테일 0)을 사용하여 DR1 + DR2의 0헤드 코드의 개수를 카운팅함
Figure pct00140
Figure pct00141
Figure pct00142
도83b
플랫 무한 코드 시스템(테일 0)을 사용하여 DR1 + DR2의 0헤드 코드의 개수를 카운팅함
Figure pct00143
Figure pct00144
Figure pct00145
[186]코드 업그레이드, 코드 강등 기술은 새로운 주소를 구축하고 두개 또는 더 많은 병행 또는 후속적인 연속 코드 시스템을 사용하여 카운팅하는 기술이고 상기 제[179]단락 내지 제[184]단락에서 코드값이 10인 코드의 카운팅에서 서술된 것과 제[185]단락에서 서술된 것과 같이 적절한 경우에 처리 중의 숫자 데이터 집합의 특성에 근거하여 이러한 기술을 인코딩 프레임워크에 추가할 수 있다.
[187]마찬가지로, 제[185]와 [186]단락에서 개시된 0헤드 코드를카운팅하는 동일한 기술은 코드값이 10인 코드 층면 레벨에 사용될 수 있다. 코드값이 10인 코드 층면 레벨에서, 0헤드 코드의 코드 세그먼트(0헤드 코드가 없거나 또는 하나 또는 복수개의 0헤드 코드가 있는 것을 포함함)는 코드1[0] 또는 코드1[1]로 구분되므로 제[185]와 [186]단락에 인입된 기술을 적용하여 코드값이 10인 없는 코드의 층면 레벨에 사용되며 이러한 두개의 0헤드 코드의 코드 세그먼트가 존재하면 된다. 만약 기수개의 0헤드 코드 세그먼트가 존재하면, 피라미드 헤드부 무한 코드 시스템을 사용하여 쌍을 이루지 않은 코드 세그먼트를 카운팅할 수 있다. 이러한 방식으로, 코드값10 또는 11을 갖는 코드의 비트1을 생략하여 표시할 수 있고 디코딩 시, 0헤드 코드의 숫자 카운팅 정보를 사용하여 이들의 위치를 결정할 수 있다. 예를 들어, 도84에 도시된 바와 같이, 코드값이 10인 코드를 갖는 층면 레벨의 인코딩이 설명되고 이는 도77b에 도시된 인코딩을 사용하여 다음과 같이 설명된다.
도84
도77b에서 추출한 인코딩을 사용하여 코드값이 00/01인 코드의 개수를 카운팅함
DCI
CNC CDC; CNC는 카운팅 번호이고 CDC는 카운팅 분포 코드임
01; 1개가 있음코드값은 10임
01 0; 분포(0,1)을 대표하고 즉 DR1에 코드가 없으며 및 DR2에 1개의 코드가 있음
; 다음 수반되는 것은 EDR1, EDD1, EDR2, EDD2의 코드임
Figure pct00146
01 1; 분포(1,0)을 대표하고 즉 DR2에 코드가 없으며 및 DR1에 1개의 코드가 있음
; 다음 수반되는 것은 EDR1, EDD1, EDR2, EDD2의 코드임
Figure pct00147
; 여기서 {00/01...00/01}은 처리 중의 원본 시리즈 숫자 비트에서 찾거나 또는 찾지 못한 EDR1과 EDR2의 코드값이 00/01인 일련의 코드를 대표함
DR1 + DR2에 하나의 코드값이 10인 층면 레벨의 상기 인코딩에서, 매 하나의 카운팅 분포 조합은 3개의 {00/01...00/01}코드 세그먼트가 있고 예를 들어 010과 011 중의 매 하나이다. {00/01...00/01}의 매 2개의 코드 세그먼트에 있어서 코드값이 00/01인 코드(처리 중의 숫자 데이터 집합에서의 0으로부터 있을 수 있는 개수만큼한 코드)의 개수를 카운팅하고 CNC를 0헤드 코드로 하여 지시하며 이후 CDC를 추가하여 0헤드 코드를 대표함으로써 제1 코드 세그먼트의 코드 개수와 {00/01...00/01}코드 세그먼트의 코드 개수를 구분하고 이러한 방식으로, {00/01...00/01}의 이 두개의 코드 세그먼트 사이의 비트1과 첫번째 정지 코드, 다른 하나의 비트1은 DDI를 대표하며 생략할 수 있는 것은 0헤드 코드의 쌍을 이루는 세그먼트CNC와 0헤드 코드의 쌍을 이루는 세그먼트CDC를 사용하여 결정될 수 있기 때문이다. {00/01 ... 00/01}의 세번째 코드 세그먼트가 존재하기에 0헤드 코드의 다른 하나의 단일 세그먼트CNC를 사용하여 코드값이 00/01인 코드 개수(처리 중의 숫자 데이터 집합에서의 0으로부터 있을 수 있는 개수 만큼한 코드)를 카운팅할 수 있다. {00/01...00/01}와 같은 단일한 쌍을 이루지 않는 코드 세그먼트에 있어서, CDC를 사용할 필요가 없다. DD2를 대표하는 마지막 하나의 비트1은 또한 단일 세그먼트 CNC를 사용하여 결정될 수 있고 인코딩에서 생략된다. 또한 {00/01...00/01}의 매 하나의 코드 세그먼트의 코드의 테일 비트는 0헤드 코드의 테일 비트도 코드로 열거되어 매 하나의 카운팅된 0헤드 코드에 대응되고 쌍을 이루는 세그먼트 CNC과 단일 세그먼트 CNC에 나타나며 이러한 0헤드 코드가 00/01인 것을 식별하기 위한 것이다. 따라서, 도84에 디자인된 숫자 구성의 두개의 인접 유닛을 인코딩하여 생성된 인코딩 숫자 구성은 일련의 비트로 변화되고 CNC가 코드10에 관한 것이며 CDC가 코드값10에 관한 것이고 쌍을 이루는 세그먼트 CNC가 0헤드 코드에 관한 것이며 쌍을 이루는 세그먼트 CDC가 0헤드 코드에 관한 것이고 단일 세그먼트 CNC가 0헤드 코드에 관한 것이며 0헤드 코드에 사용되는 테일 비트도 코드에 기록된 것과 동일하다.
쌍을 이루는 세그먼트 CNC와 단일 세그먼트 CNC는 각각 무한 코드 시스템을 사용하여 {00/01...00/01}의 쌍을 이루는 세그먼트와 단일 세그먼트 내에서 코드값00/01을 갖는 상응한 코드 개수를 카운팅한다.
CNC CDC
10; 값이 10인 코드가 2개 있음,
10 0; 분포(0,2)를 대표함
; 다음 수반되는 것은 EDR1, EDD1, EDR2, EDD2의 코드임
Figure pct00148
10 10; 분포(1,1)을 대표함
; 다음 수반되는 것은 EDR1, EDD1, EDR2, EDD2의 코드임
Figure pct00149
10 11; 분포(2,0)을 대표함
; 다음 수반되는 것은 EDR1, EDD1, EDR2, EDD2의 코드임
Figure pct00150
; 여기서 {00/01...00/01}는 예컨대 처리 중의 원본 시리즈 숫자 비트에서 찾거나 또는 찾지 못한 EDR1과 EDR2의 코드값이 00/01인 일련의 코드를 대표함,
CNC = 10에 코드10이 관련될 경우, DR1 + DR2에 코드값이 10인 코드가 2개가 있으므로 {00/01...00/01}의 네개의 코드 세그먼트가 있고 따라서, 0헤드 코드와 쌍을 이루는 CNC와 CDC에 0헤드 코드를 추가한 테일 비트도 코드를 사용한다.
CNC CDC
110; 값이 10인 코드가 3개 있음,
110 00; 분포(0,3)을 대표함
; 다음 수반되는 것은 EDR1, EDD1, EDR2, EDD2의 코드임
Figure pct00151
110 01; 분포(1,2)를 대표함
; 다음 수반되는 것은 EDR1, EDD1, EDR2, EDD2의 코드임
Figure pct00152
110 10; 분포(2,1)을 대표함
; 다음 수반되는 것은 EDR1, EDD1, EDR2, EDD2의 코드임
Figure pct00153
110 11; 분포(3,0)을 대표함
; 다음 수반되는 것은 EDR1, EDD1, EDR2, EDD2의 코드임
Figure pct00154
; 여기서 {00/01...00/01}은 처리 중의 원본 시리즈의 숫자 비트에서 EDR1과 EDR2의 코드값이 00/01인 일련의 코드를 찾거나 찾지 못한 것을 대표함
코드10의 CNC = 110일 경우, DR1 + DR2에 코드값이 10인 코드가 3개 있으므로 {00/01...00/01}의 5개의 코드 세그먼트가 있고 따라서, 2개의 쌍을 이루는 세그먼트 CNC와 CDC는 0헤드 코드에 1개의 단일 세그먼트CNC와 0헤드 코드에 사용되는 테일 비트도 코드를 사용한다. DR1 + DR2에 더 많은 코드10을 갖는 코드의 층면 레벨에 대하여 상기 인코딩을 모방하여 인코딩을 진행할 수 있다.
또한 전술한 바와 같이, 이전 단락에서 코드10의 개수와 0헤드 코드의 개수를 카운팅하는 것은 코드 업그레이드, 코드 강등, 새로운 주소 구축, 및 새로운 병행 및/또는 후속적인 연속 무한 코드 시스템에서 카운팅에 사용되는 동일한 기타 기술을 포함하고 이는 여기서 코드10을 갖는 코드의 층면 레벨의 0헤드 코드의 개수를 카운팅할 수 있다.
[188]숫자 카운팅 정보의 사용은 카운팅 개수 정보 및 이에 관련된 카운팅 개수 코드 및 카운팅 분포 정보 및 이에 관련된 카운팅 분포 코드를 포함하고 아주 원활한 숫자 구조를 제공하며 이는 처리 중의 숫자 데이터 집합의 특성(특히 상이한 코드값을 갖는 코드의 빈도 분포)에 근거하여 쉽게 조정될 수 있다. 예를 들어, 상기 예시에서, 이러한 코드가 상이한 층면 레벨에서의 빈도 분포에 근거하여 코드값을 갖는 코드의 숫자 카운팅 정보의 CNC와 CDC를 조정할 수 있다. 하기 도85에서, 처리 중의 숫자 데이터 집합의 빈도 분포에 적절한 경우, DCI의 상이한 분포를 쉽게 실현할 수 있다.
도85
처리 중의 숫자 데이터 집합의 빈도 분포에 근거하여 DCI코드를 분배함
Figure pct00155
도85에서, 카운팅 개수 코드CNC1과 CNC2는 2가지 상이한 분포가 있고 이들은 처리 중의 2가지 상이한 빈도 분포의 숫자 데이터 집합에 적용된다. 무작위 데이터 집합에 있어서, 상술한 예시에서 00/01/10/11의 이진 코드 테이블의 4개의 코드값을 사용하면 CNC1이 더 적합하다는 것을 발견하고 이는 모든 이러한 4개의 코드값에 대하여 무작위 데이터 집합은 종종 빈도 분포에서 균일하기 때문이다. 그러나, 0헤드 코드값보다 더 높은 빈도를 갖는 코드의 비무작위 데이터 집합에 있어서, CNC2가 데이터 압축 목적에 더 적합한 것으로 나타난다. CNC1은 DR에 코드값이 10인 코드가 없는 층면 레벨에 두개의 숫자 00을 분포하고 모든 기타 코드(만약 있는 경우)의 DR에서의 코드값은 00/01이다. CNC2에서, 비트00의 분포는 비트0으로 감소되어 매 하나의 숫자 구성코드의 비트 사용량이 1비트 감소되도록 한다. 이는 코드 분포를 어떻게 시도하여 처리 중의 숫자 데이터 집합의 빈도 분포에 근거하여 비트 사용량을 조정하는 것을 나타낸다. 또한 다른 코드를 조정할 수 있고 예를 들어, 만약 DR에 더 많은 코드가 00/01값을 가진 것을 제외하고 DR에 값이 10인 2개의 코드의 숫자 구성이 DR에서 값10을 갖는 1개의 코드의 숫자 구성보다 더 번거로우면, 값이 10인 코드가 없는 제1 층면 레벨 분포 비트00을 분포 비트0으로 조정한 후, CNC2 = 10을 CNC2 = 110과 교환하여 CNC2 = 10을 DR의 코드값이 10인 코드가 2개 있는 층면 레벨에 분포하고 CNC2 = 110을 DR에 코드값이 10인 코드가 1개 있는 층면 레벨에 분포할 수 있다.
[189]제[181]단락과 제[183]단락에서 서술한 바와 같이, 코드 업그레이드와 코드 강등을 변경하는 CNC와 CDC의 분포는 코드 분포를 조정하는 다른 하나의 형식이고 이진 시스템의 사용 제한과 비트 사용량의 절약 요구를 만족시킨다.
[190]도86은 Google 언어 go파일의 텍스트 리스트이고 디지털 투시법 기술을 어떻게 사용하여 판독 또는 샘플링하는 것을 연시하기 위한 것으로 일련의 숫자 비트0과 비트1의 형식으로 컴퓨터 파일의 이진 시스템에 표시된 숫자 데이터를 포함하며 처리 중의 숫자 데이터 정보의 빈도 통계에 사용되어 판독 또는 샘플링한 상응한 숫자 데이터에 근거하여 적절한 인코딩 숫자 구성을 디자인하도록 한다.
도86
디지털 투시법의 Google 언어 go파일의 프로그램 코드 리스트를 사용하여 판독한 숫자 데이터의 빈도 통계 생성에 사용됨
Figure pct00156
Figure pct00157
Figure pct00158
Figure pct00159
Figure pct00160
Figure pct00161
Figure pct00162
Figure pct00163
Figure pct00164
Figure pct00165
Figure pct00166
[191] 도87은 80,000개의 무작위 이진 비트로 조성된 숫자 데이터파일을 처리하고 도86에 열거된 go프로그램에 의해 생성된 빈도 통계결과의 요약임:
도87
숫자 렌즈를 사용하여 생성한 무작위 숫자 데이터의 빈도 통계
파일1
매핑1
결과1A:
lr lhead=0 and 2r lhead=0: 1262
lr lhead>0 or 2r lhead>0: 3773
lenl+len2=l: 1241
lenl+len2=2: 929
lenl+len2=3: 639
lenl+len2=4: 439
lenl+len2=5: 224
lenl+len2=6: 138
lenl+len2=7: 73
lenl+len2=8: 45
lenl+len2=9: 24
lenl+len2=10: 16
lenl+len2=ll: 1
lenl+len2=12: 3
lenl+len2=13: 1
Result IB: lr lhead=0 and 2r lhead>=l
sum 1273
n=l: 638
n=2: 290
n=3: 172
n=4: 101
n=5: 32
n=6: 22
n=7: 8
n=8: 6
n=9: 3
n=10: 1
Result 1C: lr lhead>=l and2r lhead=0
sum 1217
n=l: 603
n=2: 309
n=3: 148
n=4: 88
n=5: 30
n=6: 28
n=7: 7
n=8: 1
n=9: 1
n=10: 2
Result ID: lr lhead = 2r lhead
n=l: 330
n=2: 73
n=3: 15
n=4: 5
Result IE: lr lhead=n and 2r lhead>=n
n=l: 660
n=l: 330
n=2: 166
n=3: 85
n=4: 36
n=5: 20
n=6: 14
n=7: 8
n=8: 0
n=9: 1
n=2: 155
n=2: 73
n=3: 38
n=4: 22
n=5: 13
n=6: 5
n=7: 4
n=3: 35
n=3: 15
n=4: 8
n=5: 7
n=6: 3
n=7: 2
n=4: 7
n=4: 5
n=5: 1
n=6: 1
Result IF: lr lhead>=n and 2r lhead=n
n=l: 662
n=l: 330
n=2: 153
n=3: 92
n=4: 48
n=5: 18
n=6: 11
n=7: 2
n=8: 4
n=9: 3
n=10: 0
n=ll: 0
n=12: 1
n=2: 145
n=2: 73
n=3: 40
n=4: 13
n=5: 5
n=6: 7
n=7: 4
n=8: 3
n=3: 29
n=3: 15
n=4: 7
n=5: 4
n=6: 1
n=7: 2
n=4: 12
n=4: 5
n=5: 3
n=6: 1
n=7: 1
n=8: 2
n=5: 1
n=5: 0
n=6: 0
n=7: 1
Result 2A:
lr Ohead=0 and 2r Ohead=0: 327
lr Ohead>0 or 2r 0head>0: 935
lenl+len2=l: 291
lenl+len2=2: 265
lenl+len2=3: 154
lenl+len2=4: 93
lenl+len2=5: 51
lenl+len2=6: 40
lenl+len2=7: 18
lenl+len2=8: 9
lenl+len2=9: 7
lenl+len2=10: 5
lenl+len2=ll: 1
lenl+len2=12: 0
lenl+len2=13: 1
lenl=0,len2>=l: 326
len2=l: 141
len2=2: 98
len2=3: 46
len2=4: 19
len2=5: 10
len2=6: 6
len2=7: 3
len2=8: 1
len2=9: 2
lenl>=l,len2=0: 299
lenl=l: 150
lenl=2: 77
lenl=3: 41
lenl=4: 13
lenl=5: 6
lenl=6: 6
lenl=7: 4
lenl=8: 0
lenl=9: 1
lenl=10: 1
lenl>=l,len2>=l 310
lenl=l,len2>=l: 170
len2=l: 90
len2=2: 39
len2=3: 18
len2=4: 10
len2=5: 9
len2=6: 1
len2=7: 0
len2=8: 1
len2=9: 1
len2=10: 0
len2=ll: 0
len2=12: 1
lenl>=l,len2=l 160
lenl=l: 90
lenl=2: 28
lenl=3: 19
lenl=4: 13
lenl=5: 8
lenl=6: 1
lenl=7: 0
lenl=8: 0
lenl=9: 0
lenl=10: 1
Result 2B: lr 0head=0 and 2r Ohead>=l
sum 326
n=l: 141
n=2: 98
n=3: 46
n=4: 19
n=5: 10
n=6: 6
n=7: 3
n=8: 1
n=9: 2
Result 2C: lr 0head>=l and 2r Ohead=0
sum 299
n=l: 150
n=2: 77
n=3: 41
n=4: 13
n=5: 6
n=6: 6
n=7: 4
n=8: 0
n=9: 1
n=10: 1
Result 2D: lr Ohead = 2r Ohead
n=l: 90
n=2: 24
n=3: 4
n=4: 1
Result 2E: lr Ohead=n and 2r Ohead>=n
n=l: 170
n=1: 90
n=2: 39
n=3: 18
n=4: 10
n=5: 9
n=6: 1
n=7: 0
n=8: 1
n=9: 1
n=10: 0
n=11: 0
n=12: 1
n=2: 44
n=2: 24
n=3: 7
n=4: 3
n=5: 4
n=6: 4
n=7: 1
n=8: 1
n=3: 7
n=3: 4
n=4: 2
n=5: 1
n=4: 2
n=4: 1
n=5: 1
Result 2F: lr 0head>=n and 2r Ohead=n
n=l: 160
n=l: 90
n=2: 28
n=3: 19
n=4: 13
n=5: 8
n=6: 1
n=7: 0
n=8: 0
n=9: 0
n=10: 1
n=2: 36
n=2: 24
n=3: 5
n=4: 4
n=5: 3
n=3: 8
n=3: 4
n=4: 0
n=5: 2
n=6: 1
n=7: 1
n=4: 2
n=4: 1
n=5: 0
n=6: 1
mapping2
Result 1A:
lr lhead=0 and 2r lhead=0: 1195
lr lhead>0 or 2r lhead>0: 3780
lenl+len2=l: 1302
lenl+len2=2: 916
lenl+len2=3: 586
lenl+len2=4: 404
lenl+len2=5: 248
lenl+len2=6: 156
lenl+len2=7: 85
lenl+len2=8: 44
lenl+len2=9: 16
lenl+len2=10: 12
lenl+len2=ll: 4
lenl+len2=12: 4
lenl+len2=13: 2
lenl+len2=14: 1
Result IB: lr lhead=0 and 2r lhead>=l
sum 1208
n=l: 587
n=2: 287
n=3: 163
n=4: 84
n=5: 46
n=6: 22
n=7: 11
n=8: 6
n=9: 2
Result 1C: lr lhead>=l and2r lhead=0
sum 1306
n=l: 715
n=2: 310
n=3: 128
n=4: 79
n=5: 37
n=6: 14
n=7: 13
n=8: 5
n=9: 2
n=10: 1
n=ll: 1
n=12: 0
n=13: 1
Result ID: lr lhead = 2r lhead
n=l: 319
n=2: 82
n=3: 20
n=4: 5
n=5: 1
n=6: 2
Result IE: lr lhead=n and 2r lhead>=n
n=l: 611
n=l: 319
n=2: 140
n=3: 72
n=4: 40
n=5: 20
n=6: 13
n=7: 4
n=8: 2
n=9: 1
n=2: 170
n=2: 82
n=3: 46
n=4: 24
n=5: 12
n=6: 4
n=7: 0
n=8: 0
n=9: 1
n=10: 0
n=ll: 0
n=12: 1
n=3: 35
n=3: 20
n=4: 6
n=5: 3
n=6: 2
n=7: 3
n=8: 0
n=9: 1
n=4: 9
n=4: 5
n=5: 1
n=6: 1
n=7: 1
n=8: 1
n=5: 1
n=5: 1
n=6: 2
n=6: 2
Result IF: lr lhead>=n and 2r lhead=n
n=l: 658
n=l: 319
n=2: 155
n=3: 87
n=4: 43
n=5: 30
n=6: 15
n=7: 6
n=8: 2
n=9: 0
n=10: 0
n=ll: 0
n=12: 1
n=2: 161
n=2: 82
n=3: 36
n=4: 26
n=5: 10
n=6: 4
n=7: 1
n=8: 1
n=9: 1
n=3: 35
n=3: 20
n=4: 5
n=5: 7
n=6: 2
n=7: 1
n=4: 10
n=4: 5
n=5: 2
n=6: 3
n=5: 1
n=5: 1
n=6: 2
n=6: 2
Result 2A:
lr Ohead=0 and 2r Ohead=0: 307
lr Ohead>0 or 2r 0head>0: 888
lenl+len2=l: 274
lenl+len2=2: 212
lenl+len2=3: 155
lenl+len2=4: 111
lenl+len2=5: 49
lenl+len2=6: 34
lenl+len2=7: 28
lenl+len2=8: 13
lenl+len2=9: 7
lenl+len2=10: 2
lenl+len2=ll: 2
lenl+len2=12: 0
lenl+len2=13: 0
lenl+len2=14: 0
lenl+len2=15: 0
lenl+len2=16: 1
lenl=0,len2>=l: 286
len2=l: 150
len2=2: 70
len2=3: 30
len2=4: 17
len2=5: 6
len2=6: 8
len2=7: 4
len2=8: 1
lenl>=l,len2=0: 279
lenl=l: 124
lenl=2: 67
lenl=3: 39
lenl=4: 28
lenl=5: 7
lenl=6: 5
lenl=7: 5
lenl=8: 3
lenl=9: 0
lenl=10: 0
lenl=ll: 1
lenl>=l,len2>=l 323
lenl=l,len2>=l: 159
len2=l: 75
len2=2: 44
len2=3: 19
len2=4: 11
len2=5: 4
len2=6: 3
len2=7: 0
len2=8: 3
lenl>=l,len2=l 155
lenl=1: 75
lenl=2: 42
lenl=3: 19
lenl=4: 9
lenl=5: 3
lenl=6: 3
lenl=7: 4
Result 2B: lr Ohead=0 and 2r Ohead>=l
sum 286
n=l: 150
n=2: 70
n=3: 30
n=4: 17
n=5: 6
n=6: 8
n=7: 4
n=8: 1
Result 2C: lr Ohead>=l and 2r Ohead=0
sum 279
n=l: 124
n=2: 67
n=3: 39
n=4: 28
n=5: 7
n=6: 5
n=7: 5
n=8: 3
n=9: 0
n=10: 0
n=ll: 1
Result 2D: lr Ohead = 2r Ohead
n=l: 75
n=2: 28
n=3: 2
n=4: 2
Result 2E: lr Ohead=n and 2r Ohead>=n
n=l: 159
n=l: 75
n=2: 44
n=3: 19
n=4: 11
n=5: 4
n=6: 3
n=7: 0
n=8: 3
n=2: 46
n=2: 28
n=3: 8
n=4: 6
n=5: 3
n=6: 1
n=3: 7
n=3: 2
n=4: 3
n=5: 1
n=6: 1
n=4: 3
n=4: 2
n=5: 1
n=5: 1
n=5: 0
n=6: 1
Result 2F: lr 0head>=n and 2r Ohead=n
n=l: 155
n=l: 75
n=2: 42
n=3: 19
n=4: 9
n=5: 3
n=6: 3
n=7: 4
n=2: 47
n=2: 28
n=3: 8
n=4: 6
n=5: 4
n=6: 0
n=7: 0
n=8: 1
n=3: 7
n=3: 2
n=4: 3
n=5: 1
n=6: 1
n=4: 5
n=4: 2
n=5: 1
n=6: 1
n=7: 0
n=8: 0
n=9: 0
n=10: 0
n=ll: 0
n=12: 1
[192]도87에 열거된 매핑1의 빈도 통계는 두개의 DC유닛을 처리유닛의 매핑 시나리오1(도63의 DC 디자인의 시나리오1에 열거됨)로 사용하여 80,000개의 이진 비트로 조성된 무작위 숫자 데이터 파일을 판독하여 생성된 것이고 매핑2는 두개의 DC 디자인 유닛(도64의 DC디자인의 시나리오1에 도시된 바와 같고 다음은 도63의 DC 디자인의 시나리오1에 열거됨)을 처리유닛으로 사용하여 동일한 방식으로 동일한 무작위 숫자 데이터 파일로부터 생성된 빈도 통계를 열거한다. 범용컴퓨터에서 범용 작동 시스템의 무작위 데이터를 사용하여 기능을 생성하고 본 발명에서 줄곧 사용된 무작위 데이터를 생성한다.
[193]상기 도87의 빈도 통계 리스트로부터 알 수 있다 시피, 무작위 숫자 이진 비트로 조성된 동일한 숫자 데이터 파일은 상이한 매핑 시나리오의 숫자 구성 디자인을 사용하고 상이한 빈도 통계 모드를 나타낸다. 또한 동일한 방식으로 이진 비트의 상이한 비무작위 숫자 데이터를 사용하여 이러한 상이한 빈도 모드를 생성할 수 있다. 따라서, 상이한 매핑 시나리오의 상이한 숫자 구성을 디자인할 경우, 본 발명에서 개시한 디지털 투시법을 사용하여 처리 중의 숫자 데이터에 적절하게 적용되도록 조정할 수 있다.
[194]제[158] 내지 [193]단락에 있어서, 다음과 같은 내용을 설명한다.
(1)디지털 투시법은 숫자 구성 디자인에 사용될 수 있고 비트0과 비트1의 이진 비트로 조성된 숫자 이진 데이터를 조직하기 위한 것이며 처리 중의 이진 데이터 파일에서 무작위 여부와 관계 없이 빈도 통계 정보를 판독 및 생성할 수 있음;
(2)인코딩된 숫자 구성은 디지털 투시법을 사용하여 디자인 및 구축할 수 있고 판독된 원본 숫자 데이터를 인코딩한 결과를 저장하기 위한 것이며 이러한 인코딩 숫자 구성의 디코딩은 숫자 데이터 무작위 또는 비무작위에 관계 없이 원본 숫자 데이터를 정확하고 손상이 없이 복원할 수 있으며;
(3)디지털 투시법 및 숫자 블랙홀 기술, 카운팅 기술, 새로운 주소의 절대적인 주소 분기 기술, 코드 업그레이드 기술, 코드 강등 기술과 같은 기타 기술을 사용하여 디지털 투시법을 사용하여 처리하고 인코딩 숫자 구성을 구축하여 이에 의해 형성된 상응한 숫자 구성가 판독한 숫자 이진 데이터(무작위 여부와 관계 없이)를 수용하며 이에 사용된 비트 사용량은 판독한 원본 데이터과 같다.
(4)인코딩된 숫자 구성에 포함된 숫자 정보는 처리 중의 숫자 이진 데이터 파일에서 찾은 원본 숫자 정보, 및 상기(3)에서 언급된 기타 기술을 사용하여 생성된 부가 정보를 포함하고 정보 이론에서의 비둘기집 원리가 하나의 미신인 것을 증명하며 이는 인코딩 숫자 구성은 디지털 투시법이 처리 중의 원본 숫자 데이터에서 구축한 숫자 구성과 동일한 비트 사용량을 사용하기 때문이며 주소가 부족하지 않기 때문에 절대적인 주소 분기 기술을 사용하여 새로운 주소를 구축함으로써 코드 업그레이드에서 사용하거나 또는 새로운 무제한 코드 시스템을 사용하여 카운팅하도록 하고; 및
(5)인코딩방안으로 상이한 숫자 구성 디자인을 사용하여 예컨대 조정 가능한 카운팅 개수 코드와 카운팅 분포 코드의 분포와 같은 조정 가능한 숫자 카운팅 정보를 포함하고 코드 강등을 사용하며 새로운 주소를 사용하여 코드를 업그레이드하거나 또는 새로운 무한 코드 시스템을 설정하여 인코딩방안을 카운팅하는 새로운 주소를 구축하기 위하여, 본 발명에서는 조정 가능한 방법으로 개시하고 이는 적은 비트 사용량으로 숫자 데이터를 정확하고 손상이 없이 인코딩 및 디코딩하는 가능성에 사용되며 숫자 데이터의 무작위 여부와 관계 없는 것은 무작위 데이터가 인코딩 및 디코딩하기 위한 비무작위 데이터의 작은 코드 세그먼트로 나눌 수 있고 상이한 디지털 투시법 하에서 디자인된 상이한 숫자 구성을 사용하여 조직될 경우, 무작위 데이터 자체는 상이한 빈도 통계를 나타냄으로써 적절한 인코딩 방안을 개발할 수 있으며 처리 중의 무작위 숫자 데이터로부터 획득한 빈도 모드를 이용하여 손상이 없는 압축 및 압축 해제의 인코딩 및 디코딩의 목적으로 사용되도록 한다.
[195]따라서, 상기 제[194]단락에서 서술한 바와 같은 이러한 조정 가능한 인코딩방안의 방법을 사용하여 임의의 숫자 이진 데이터(무작위 및 비무작위 데이터)의 정확하고 손상이 없이 압축 및 압축 해제되는 것이 가능하도록 한다. 여기서 개시된 이러한 조정 가능한 인코딩방안은 제[163]단락의 도71에 도시된 4개의 코드값의 이진 시스템 코드 테이블을 사용하여 설명하고 이는 하기 도88a에서 다시 생성된다.
도88a
4개의 코드값을 사용한 이진 시스템 코드 테이블의 숫자 구성
Figure pct00167
도88a에서, 숫자 구성은 8개의 비트를 사용하여 이진 비트 저장 원본 데이터를 사용한다. 원본의 8개의 이진 비트는 폭척도에서 6개의 비트의 인코딩 코드값을 사용하고 인코딩 숫자 구성에 저장되어 기타 부가적인 정보를 저장하기 위한 예컨대 카운팅 개수 코드와 카운팅 분포 코드와 같은 2비트가 남는다. 4개의 코드값을 사용하는 첸 코드 시스템의 숫자 구성의 예시는 도88b에 표시된 바와 같다.
도88b
4개의 코드값을 사용한 첸 코드 테이블의 숫자 구성
Figure pct00168
상기로부터 알 수 있다 시피, 상기 예시에서, 원본 4개의 코드값의 코드는 9개의 이진 비트를 사용하고 4개의 대응되는 인코딩 코드값의 코드는 6개의 이진 비트를 사용한다. 따라서, 도88a의 이진 시스템 코드 테이블과 비교하여, 첸 코드 테이블이 도88b에서 사용한 6개의 비트의 동일한 인코딩 코드값을 사용하는 것은 9개의 원본 이진 비트를 대표하고 도88a의 폭척도에서 대표하는 8개의 이진 비트가 아니다. 따라서, 이는 대략 1개 이상의 비트가 존재하는 것을 표시하고 추가한 분류 데이터를 저장하기 위한 것이다. 만약 추가할 분류 데이터 사용이 이 하나 이상의 비트보다 적으면, 무작위 데이터의 손상이 없는 압축 및 압축 해제의 가능성도 크게 증가한다. 도88a의 이러한 숫자 구성의 두개의 유닛에서, 매 하나의 유닛은 8개의 이진 비트의 무작위 데이터가 있고 매 하나는 모두 2개의 비트가 필요하며 이러한 추가한 분류 정보에 사용되어 정확한 인코딩 및 디코딩을 진행한다. 비교를 위해 동일한 논리, 도88b의 2개의 숫자 구성 유닛이 필요하고 매 하나는 9개의 이진 비트의 무작위 데이터이며 매 하나는 모두 폭척도에서의 2 * 9/8 = 2.25비트가 필요하므로 도88b의 첸 코드 테이블의 숫자 구성 유닛을 사용하여 이진 데이터를 판독하여 0.75비트의 비트 절약을 실현할 수 있다. 따라서, 상기에서 개시된 방법과 기술을 실현하면, 손상이 없는 압축 및 압축 해제의 인코딩 및 디코딩은 가능하다는 것이 입증한다.
3값의 코드 테이블을 사용한 경우의 예시는 다음과 같다.
도88c
3개의 코드값을 사용한 첸 코드 테이블의 숫자 구성
Figure pct00169
도88c의 경우, 원본 3개의 코드값의 코드는 5개의 이진 비트를 사용하고 3개 상응한 인코딩 코드값의 코드는 3개의 이진 비트를 사용한다. 비트 사용량은 이진 시스템을 사용한 4값 코드 테이블보다 좋은 것은 분명하다.
단락[152]의 도68에 도시된 바와 같은 무한 코드값을 나타내는 무한 코드 시스템을 시도하여 사용하고 코드값의 사용을 4 또는 3으로 제한하는 것은 아니다.
[196]또한 3개 또는 더 많은 유닛의 숫자 구성을 처리유닛으로 사용하여 이진 비트의 숫자 데이터를 처리하고 적절한 경우에 인코딩 숫자 구성 중의 숫자 카운팅 정보를 조정할 수 있다.
[197]실제적으로, 본 발명의 실시예의 특징은 하기와 같다.
(1)이진 비트로 표시되는 숫자 정보를 조직하거나 또는 질서를 구축하는 방법으로서, 디지털 투시법을 사용하는 것을 특징으로 한다.
(2)디지털 투시법에 있어서, 이진 비트로 표시되는 숫자 정보를 조직하거나 또는 질서를 구축하는 방법으로서, 숫자 구성을 디자인하고 구축하고 여기서 이진 비트 중의 상이한 코드값의 코드는 숫자 구성의 상이한 부분에 놓이며 적어도 하나의 숫자 저장소와 하나의 숫자 댐을 포함하는 것을 특징으로 한다.
(3)숫자 구성에 있어서, 디지털 투시법을 사용하여 구축한 것으로, 즉 이진 비트로 표시되는 숫자 정보를 조직하거나 또는 질서를 구축하기 위한 숫자 구조이고 적어도 하나의 숫자 저장소와 하나의 숫자 댐으로 조성된 숫자 구조이며 상기 숫자 구조는 처리 중의 숫자 정보의 원본 이진 비트에 저장되어 인코딩되지 않은 숫자 구성의 형식으로 나타나는 것을 특징으로 한다.
(4)숫자 구성에 있어서, 디지털 투시법을 사용하여 구축한 숫자 구조로서, 이진 비트로 표시되는 숫자 정보를 조직하거나 또는 질서를 구축하기 위한 것이고 상기 숫자 구조는 처리 중의 숫자 정보에서의 이미 인코딩된 이진 비트 코드에 저장되어 이미 인코딩된 숫자 구성 형식으로 나타나며 또한 적절한 경우에 이진 비트로 표시되는 추가 숫자 정보가 전체적인 이미 인코딩된 숫자 구성 디코딩에 사용되고 이를 각각 인코딩되지 않은 상응한 숫자 구성에 복원시키는 것을 특징으로 한다.
(5)숫자 저장소에 있어서, 하나의 숫자 구조로서 숫자 코드를 유지하기 위한 것으로 이진 비트를 대표로 사용된 디지털 투시법 디자인에 근거하여 선정되는 하나 또는 복수개의 코드값을 구비하는 것을 특징으로 하고 가변 숫자 구조이며 상기 가변 숫자 구조에서 디자인에서 선정된 코드값을 갖는 숫자 코드를 유지하고 그 개수 변화는 0으로부터 무한대로 변화될 수 있으며 처리 중의 숫자 정보 입력에서 이진 비트를 대표로 하는 이러한 숫자 코드가 존재하기만 하면 되는 것을 진일보의 특징으로 한다.
(6)숫자 댐에 있어서, 하나의 숫자 구조이고 숫자 코드 유지에 사용되며 이진 비트를 대표로 하나 또는 복수개를 구비하고 사용된 디지털 투시법에 의해 디자인되고 선정된 코드값에 근거하는 것을 특징으로 하고 고정된 숫자 구조이며 상기 고정된 숫자 구조에서 디자인에서 선정된 코드값을 갖는 숫자 코드를 유지하고 그 개수 변화는 0으로부터 무한대로 변화될 수 있으며 처리 중의 숫자 정보 입력에서 이진 비트를 대표로 하는 이러한 숫자 코드가 존재하기만 하면 되는 것을 진일보의 특징으로 한다.
(7)하나 또는 복수개의 숫자 구성으로 조성되는 것을 특징으로 하는 디지털 투시법 디자인을 사용한 처리유닛이다.
(8)숫자 코드에 있어서, 이진 비트를 대표로 하는 코드이고 기기에 의해 판독 가능한 임의의 저장 매체에 저장된 하나 또는 복수개의 숫자 구성 유닛을 대표하며 상기 기기는 컴퓨터 시스템 또는 컴퓨터에 의해 제어되는 기기 또는 실행 가능한 코드를 실행할 수 있거나 또는 숫자 데이터를 사용하는 작동 시스템에 의해 제어되는 기기 또는 시스템을 포함하는 것을 특징으로 한다.
(9)숫자 코드에 있어서, 이진 비트를 대표로 하는 코드이고 기기에 의해 판독 가능한 임의의 저장 매체에 저장된 숫자 저장소의 하나 또는 복수개의 유닛을 대표하며 상기 기기는 컴퓨터 시스템 또는 컴퓨터에 의해 제어되는 기기 또는 실행 가능한 코드를 실행할 수 있거나 또는 숫자 데이터를 사용하는 작동 시스템에 의해 제어되는 기기 또는 시스템을 포함하는 것을 특징으로 한다.
(10)숫자 코드에 있어서, 이진 비트를 대표로 하는 코드이고 기기에 의해 판독 가능한 임의의 저장 매체에 저장된 숫자 댐의 하나 또는복수개의 유닛을 대표하며 상기 기기는 컴퓨터 시스템 또는 컴퓨터에 의해 제어되는 기기 또는 실행 가능한 코드를 실행할 수 있거나 또는 숫자 데이터를 사용하는 작동 시스템에 의해 제어되는 기기 또는 시스템을 포함하는 것을 특징으로 한다.
(11)피라미드 헤드 무한 코드 시스템에 있어서, 무한 수량의 숫자 코드이고 매 하나의 코드는 이진 비트0으로 종료되는 것을 특징으로 한다.
(12)피라미드 헤드 무한 코드 시스템에 있어서, 무한 수량의 숫자 코드이고 매 하나의 코드는 이진 비트1로 종료되는 것을 특징으로 한다.
(13)플랫 무한 코드 시스템에 있어서, 코드 시스템의 높은 레벨의 이진 코드 시스템과 코드 시스템의 낮은 레벨의 피라미드 헤드무한 코드 시스템을 결합한 조합 시스템인 것을 특징으로 한다.
(14)카운팅 기술에 있어서, 피라미드 헤드 무한 코드 시스템을 사용하여 일련의 무한 개수를 카운팅하는 것을 특징으로 한다.
(15)카운팅 기술에 있어서, 플랫 무한 코드 시스템을 사용하여 일련의 무한 개수를 카운팅하는 것을 특징으로 한다.
(16)카운팅 기술에 있어서, 멀티 카운팅 시스템, 즉 병행 카운팅 시스템의 형식으로 형성된 하나 이상의 카운팅 시스템을 사용하여 일련의 무한 개수를 카운팅하는 것을 특징으로 한다.
(17)카운팅 기술에 있어서, 멀티 카운팅 시스템, 즉 연속적인 후속 카운팅 시스템의 형식으로 형성된 하나 이상의 카운팅 시스템을 사용하여 일련의 무한 개수를 카운팅하는 것을 특징으로 한다.
(18)카운팅 기술에 있어서, 멀티 카운팅 시스템, 즉 병행 카운팅 시스템과 후속적인 연속 카운팅 시스템의 형식으로 형성된 하나 이상의 카운팅 시스템을 사용하여 일련의 무한 개수를 카운팅하는 것을 특징으로 한다.
(19)인코딩 및 디코딩 방법에 있어서, 디지털 투시법과 숫자 블랙홀 기술을 사용하는 것을 특징으로 한다.
(20)인코딩 및 디코딩 방법에 있어서, 디지털 투시법을 사용하고 하나 또는 복수개의 무한 카운팅 시스템을 사용하는 것을 특징으로 한다.
(21)인코딩 및 디코딩 방법에 있어서, 디지털 투시법 및 절대적인 주소 분기 기술을 사용하여 새로운 주소를 구축하여 사용하고 새로운 카운팅 시스템 구축에 사용되거나 또는 코드 업그레이드에 사용되거나 또는 코드 강등에 사용되는 것을 특징으로 한다.
(22)인코딩 및 디코딩 방법에 있어서, 그 특징은 디지털 투시법과 코드 업그레이드를 사용하고;
(23)인코딩 및 디코딩 방법에 있어서, 그 특징은 디지털 투시법과 코드 강등을 사용하며;
(24)인코딩 및 디코딩 방법에 있어서, 그 특징은 디지털 투시법을 사용하고 숫자 블랙홀 기술과 하나 또는 복수개의 무한 카운팅 시스템을 사용하고;
(25)인코딩 및 디코딩 방법에 있어서, 그 특징은 디지털 투시법을 사용하고 코드 업그레이드를 사용하며 코드 강등을 사용하고; 및
(26)인코딩 및 디코딩 방법에 있어서, 그 특징은 디지털 투시법을 사용하는 것이다.
[198]많은 산업 적용에 첸 프레임워크와 첸 코딩을 사용할 수 있고 상기에서 개시된 유리하게 결합하여 사용되는 디지털 투시법 및 관련 디자인, 방안과 기술을 포함하며 숫자 정보를 처리하는 모든 컴퓨터애플리케이션을 포함하고 무작위 여부와 관계 없이 모든 유형의 숫자 데이터를 포함하며 특히 인코딩 및 디코딩의 과정에 사용되는 애플리케이션으로 디자인되어 데이터 암호화, 데이터 복호화, 데이터 압축 및 데이터 압축 해제를 진행한다.
[199]임의의 적합하게 배치된 컴퓨터 하드웨어 및/또는 소프트웨어를 사용하여 본 명세서에서 설명한 실시방안을 시스템에 실현할 수 있게 된다. 예하면 어떠한 실시방안은 컴퓨터 언어와 컴파일러를 사용하여 실행 코드와 운영체제 및 응용 프로그램을 형성하도록 시스템에 실현할 수 있는데 네트워킹이든 독립적인 그 어떤 기기의 하드웨어이든 실행코드를 운행할 수 있는 컴퓨터 시스템 또는 컴퓨터가 제어하는 기기 또는 운영체제가 제어하는 기기 또는 시스템 및 본 명세서에서 설명한 방법의 단계를 수행하는데 도움이 되는 컴퓨터 실행 가능하거나 운영체제가 실행 가능한 명령 또는 프로그램을 포함한다. 상기 기술 특징의 사용을 결합하여 본문에서 공개된 실시예는 첸 코딩을 사용하여 첸 프레임워크를 실현하고 숫자 정보를 처리하기 위한 디지털 투시법을 포함하며 무작위 여부와 관계 없이 손상이 없고 정확하게 관련 숫자 데이터를 인코딩 및 디코딩하여 암호화/복호화 또는 압축/압축 해제 또는 양자의 목적을 위한 숫자 데이터와 숫자 실행 가능 코드를 포함하며 이러한 관계에서 그 특징은 하기 청구항에 있다.
시퀀스 리스트 텍스트
[]

Claims (26)

  1. 이진 비트로 표시되는 숫자 정보를 조직하거나 또는 질서를 구축하는 방법으로서, 디지털 투시법을 사용하는 것을 특징으로 한다.
  2. 디지털 투시법에 있어서, 이진 비트로 표시되는 숫자 정보를 조직하거나 또는 질서를 구축하는 방법으로서, 숫자 구성을 디자인하고 구축하고 여기서 이진 비트 중의 상이한 코드값의 코드는 숫자 구성의 상이한 부분에 놓이며 적어도 하나의 숫자 저장소와 하나의 숫자 댐을 포함하는 것을 특징으로 한다.
  3. 숫자 구성에 있어서, 디지털 투시법을 사용하여 구축한 것으로, 즉 이진 비트로 표시되는 숫자 정보를 조직하거나 또는 질서를 구축하기 위한 숫자 구조이고 적어도 하나의 숫자 저장소와 하나의 숫자 댐으로 조성된 숫자 구조이며 상기 숫자 구조는 처리 중의 숫자 정보의 원본 이진 비트에 저장되어 인코딩되지 않은 숫자 구성의 형식으로 나타나는 것을 특징으로 한다.
  4. 숫자 구성에 있어서, 디지털 투시법을 사용하여 구축한 숫자 구조로서, 이진 비트로 표시되는 숫자 정보를 조직하거나 또는 질서를 구축하기 위한 것이고 상기 숫자 구조는 처리 중의 숫자 정보에서의 이미 인코딩된 이진 비트 코드에 저장되어 이미 인코딩된 숫자 구성 형식으로 나타나며 또한 적절한 경우에 이진 비트로 표시되는 추가 숫자 정보가 전체적인 이미 인코딩된 숫자 구성 디코딩에 사용되고 이를 각각 인코딩되지 않은 상응한 숫자 구성에 복원시키는 것을 특징으로 한다.
  5. 숫자 저장소에 있어서, 하나의 숫자 구조로서 숫자 코드를 유지하기 위한 것으로 이진 비트를 대표로 사용된 디지털 투시법 디자인에 근거하여 선정되는 하나 또는 복수개의 코드값을 구비하는 것을 특징으로 하고 가변 숫자 구조이며 상기 가변 숫자 구조에서 디자인에서 선정된 코드값을 갖는 숫자 코드를 유지하고 그 개수 변화는 0으로부터 무한대로 변화될 수 있으며 처리 중의 숫자 정보 입력에서 이진 비트를 대표로 하는 이러한 숫자 코드가 존재하기만 하면 되는 것을 진일보의 특징으로 한다.
  6. 숫자 댐에 있어서, 하나의 숫자 구조이고 숫자 코드 유지에 사용되며 이진 비트를 대표로 하나 또는 복수개를 구비하고 사용된 디지털 투시법에 의해 디자인되고 선정된 코드값에 근거하는 것을 특징으로 하고 고정된 숫자 구조이며 상기 고정된 숫자 구조에서 디자인에서 선정된 코드값을 갖는 숫자 코드를 유지하고 그 개수 변화는 0으로부터 무한대로 변화될 수 있으며 처리 중의 숫자 정보 입력에서 이진 비트를 대표로 하는 이러한 숫자 코드가 존재하기만 하면 되는 것을 진일보의 특징으로 한다.
  7. 하나 또는 복수개의 숫자 구성으로 조성되는 것을 특징으로 하는 디지털 투시법 디자인을 사용한 처리유닛이다.
  8. 숫자 코드에 있어서, 이진 비트를 대표로 하는 코드이고 기기에 의해 판독 가능한 임의의 저장 매체에 저장된 하나 또는 복수개의 숫자 구성 유닛을 대표하며 상기 기기는 컴퓨터 시스템 또는 컴퓨터에 의해 제어되는 기기 또는 실행 가능한 코드를 실행할 수 있거나 또는 숫자 데이터를 사용하는 작동 시스템에 의해 제어되는 기기 또는 시스템을 포함하는 것을 특징으로 한다.
  9. 숫자 코드에 있어서, 이진 비트를 대표로 하는 코드이고 기기에 의해 판독 가능한 임의의 저장 매체에 저장된 숫자 저장소의 하나 또는 복수개의 유닛을 대표하며 상기 기기는 컴퓨터 시스템 또는 컴퓨터에 의해 제어되는 기기 또는 실행 가능한 코드를 실행할 수 있거나 또는 숫자 데이터를 사용하는 작동 시스템에 의해 제어되는 기기 또는 시스템을 포함하는 것을 특징으로 한다.
  10. 숫자 코드에 있어서, 이진 비트를 대표로 하는 코드이고 기기에 의해 판독 가능한 임의의 저장 매체에 저장된 숫자 댐의 하나 또는복수개의 유닛을 대표하며 상기 기기는 컴퓨터 시스템 또는 컴퓨터에 의해 제어되는 기기 또는 실행 가능한 코드를 실행할 수 있거나 또는 숫자 데이터를 사용하는 작동 시스템에 의해 제어되는 기기 또는 시스템을 포함하는 것을 특징으로 한다.
  11. 피라미드 헤드 무한 코드 시스템에 있어서, 무한 수량의 숫자 코드이고 매 하나의 코드는 이진 비트0으로 종료되는 것을 특징으로 한다.
  12. 피라미드 헤드 무한 코드 시스템에 있어서, 무한 수량의 숫자 코드이고 매 하나의 코드는 이진 비트1로 종료되는 것을 특징으로 한다.
  13. 플랫 무한 코드 시스템에 있어서, 코드 시스템의 높은 레벨의 이진 코드 시스템과 코드 시스템의 낮은 레벨의 피라미드 헤드무한 코드 시스템을 결합한 조합 시스템인 것을 특징으로 한다.
  14. 카운팅 기술에 있어서, 피라미드 헤드 무한 코드 시스템을 사용하여 일련의 무한 개수를 카운팅하는 것을 특징으로 한다.
  15. 카운팅 기술에 있어서, 플랫 무한 코드 시스템을 사용하여 일련의 무한 개수를 카운팅하는 것을 특징으로 한다.
  16. 카운팅 기술에 있어서, 멀티 카운팅 시스템, 즉 병행 카운팅 시스템의 형식으로 형성된 하나 이상의 카운팅 시스템을 사용하여 일련의 무한 개수를 카운팅하는 것을 특징으로 한다.
  17. 카운팅 기술에 있어서, 멀티 카운팅 시스템, 즉 연속적인 후속 카운팅 시스템의 형식으로 형성된 하나 이상의 카운팅 시스템을 사용하여 일련의 무한 개수를 카운팅하는 것을 특징으로 한다.
  18. 카운팅 기술에 있어서, 멀티 카운팅 시스템, 즉 병행 카운팅 시스템과 후속적인 연속 카운팅 시스템의 형식으로 형성된 하나 이상의 카운팅 시스템을 사용하여 일련의 무한 개수를 카운팅하는 것을 특징으로 한다.
  19. 인코딩 및 디코딩 방법에 있어서, 디지털 투시법과 숫자 블랙홀 기술을 사용하는 것을 특징으로 한다.
  20. 인코딩 및 디코딩 방법에 있어서, 디지털 투시법을 사용하고 하나 또는 복수개의 무한 카운팅 시스템을 사용하는 것을 특징으로 한다.
  21. 인코딩 및 디코딩 방법에 있어서, 디지털 투시법 및 절대적인 주소 분기 기술을 사용하여 새로운 주소를 구축하여 사용하고 새로운 카운팅 시스템 구축에 사용되거나 또는 코드 업그레이드에 사용되거나 또는 코드 강등에 사용되는 것을 특징으로 한다.
  22. 인코딩 및 디코딩 방법에 있어서, 그 특징은 디지털 투시법과 코드 업그레이드를 사용하고;
  23. (23)인코딩 및 디코딩 방법에 있어서, 그 특징은 디지털 투시법과 코드 강등을 사용하며;
  24. 인코딩 및 디코딩 방법에 있어서, 그 특징은 디지털 투시법을 사용하고 숫자 블랙홀 기술과 하나 또는 복수개의 무한 카운팅 시스템을 사용하고;
  25. 인코딩 및 디코딩 방법에 있어서, 그 특징은 디지털 투시법을 사용하고 코드 업그레이드를 사용하며 코드 강등을 사용하고; 및
  26. 인코딩 및 디코딩 방법에 있어서, 그 특징은 디지털 투시법을 사용하는 것이다.
KR1020207005366A 2016-07-29 2018-07-24 디지털 투시법 KR20200031159A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
PCT/IB2016/054562 WO2018020299A1 (en) 2016-07-29 2016-07-29 Lossless compression and decompression methods
IBPCT/IB2017/054500 2017-07-25
PCT/IB2017/054500 WO2018020414A1 (en) 2016-07-29 2017-07-25 Chan framework, chan coding and chan code
PCT/IB2018/055479 WO2019021160A1 (en) 2016-07-29 2018-07-24 DIGITAL LENS

Publications (1)

Publication Number Publication Date
KR20200031159A true KR20200031159A (ko) 2020-03-23

Family

ID=61017037

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020197006211A KR20190038601A (ko) 2016-07-29 2017-07-25 첸 프레임워크, 첸 코딩과 첸 코드
KR1020207005366A KR20200031159A (ko) 2016-07-29 2018-07-24 디지털 투시법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020197006211A KR20190038601A (ko) 2016-07-29 2017-07-25 첸 프레임워크, 첸 코딩과 첸 코드

Country Status (8)

Country Link
US (3) US11515888B2 (ko)
EP (2) EP3491525A4 (ko)
JP (3) JP7268271B2 (ko)
KR (2) KR20190038601A (ko)
CN (2) CN109416655A (ko)
AU (3) AU2017304894A1 (ko)
CA (2) CA3031600C (ko)
WO (6) WO2018020299A1 (ko)

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
JP2022160484A (ja) 2022-10-19
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
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
KR20200031159A (ko) 디지털 투시법
US6674908B1 (en) Method of compression of binary data with a random number generator
KR101049699B1 (ko) 데이터의 압축방법
US7511639B2 (en) Data compression for communication between two or more components in a system
KR20070086661A (ko) 선택적 압축과 복원 및 압축 데이터에 대한 데이터 포맷을위한 장치 및 방법
CN110021369B (zh) 基因测序数据压缩解压方法、系统及计算机可读介质
US20090195420A1 (en) Fifo radix coder for electrical computers and digital data processing systems
US20090019128A1 (en) Lifo radix coder for electrical computers and digital data processing systems
US9137336B1 (en) Data compression techniques
WO2019076177A1 (zh) 基因测序数据压缩预处理、压缩、解压方法、系统及计算机可读介质
JPWO2013140530A1 (ja) プログラム、圧縮データ生成方法、伸張方法、情報処理装置、および記録媒体
US8515882B2 (en) Efficient storage of individuals for optimization simulation
JP2020053820A (ja) 量子化及び符号化器作成方法、圧縮器作成方法、圧縮器作成装置及びプログラム
CN113364466A (zh) 数据处理系统
CN109698704B (zh) 比对型基因测序数据解压方法、系统及计算机可读介质
US20230163782A1 (en) Data compression system using concatenation in streaming
US20110210875A1 (en) Encoding method and encoding apparatus for b-transform, and encoded data for same
Sharma et al. Design and Data Compression Techniques to Reduced Time in Data Warehouse with Tested Algorithms
CN115941323A (zh) 基于无损压缩算法的图片加密解密方法、设备及存储介质
JP2014027573A (ja) Ykm形式圧縮プログラムを記録した記録媒体
KR20210067759A (ko) 압축된 데이터를 복원하는 방법 및 장치
WO2017037502A1 (en) Compression code and method by location
JPH11149551A (ja) マルチカラー画像の符号化装置およびその方法並びにマルチカラー画像の復号化装置およびその方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E601 Decision to refuse application