KR101876131B1 - Unitary Hessenberg Matrix를 이용한 저복잡 네트워크 코딩에 기초하는 네트워크 인코딩 장치 및 방법 - Google Patents

Unitary Hessenberg Matrix를 이용한 저복잡 네트워크 코딩에 기초하는 네트워크 인코딩 장치 및 방법 Download PDF

Info

Publication number
KR101876131B1
KR101876131B1 KR1020170079244A KR20170079244A KR101876131B1 KR 101876131 B1 KR101876131 B1 KR 101876131B1 KR 1020170079244 A KR1020170079244 A KR 1020170079244A KR 20170079244 A KR20170079244 A KR 20170079244A KR 101876131 B1 KR101876131 B1 KR 101876131B1
Authority
KR
South Korea
Prior art keywords
matrix
encoding
hessenberg
data
network
Prior art date
Application number
KR1020170079244A
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 이화여자대학교 산학협력단
Priority to KR1020170079244A priority Critical patent/KR101876131B1/ko
Application granted granted Critical
Publication of KR101876131B1 publication Critical patent/KR101876131B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명의 일실시예에 따르면, 인코딩 계수 행렬로 Unitary Hessenberg Matrix를 이용함으로써 인코딩 계수 행렬의 전치 행렬을 통해 네트워크 디코딩을 수행하는 네트워크 인코딩 장치 및 방법, 그리고 네트워크 디코딩 장치 및 방법을 제안할 수 있다. 그러므로, 사용자 단말에서 수행되는 네트워크 디코딩의 계산 복잡도를 개선할 수 있다.
본 발명의 일실시예에 따르면, 사각 행렬인 헤센버그 행렬(Hessenberg Matrix)을 생성하는 단계; 상기 생성된 헤센버그 행렬을 인코딩 계수 행렬(Encoding coefficient Matrix)로 이용하는 단계; 상기 인코딩 계수 행렬을 이용하여 원본 데이터를 인코딩함으로써 인코딩 데이터를 생성하는 단계; 상기 생성된 인코딩 데이터와 인코딩 계수 행렬을 포함하는 데이터 패킷을 형성하는 단계; 및 상기 형성된 데이터 패킷을 실수(real number) 필드로부터 갈로이스(Galois) 필드로 변환하는 단계를 포함하는 네트워크 인코딩 방법일 수 있다.

Description

Unitary Hessenberg Matrix를 이용한 저복잡 네트워크 코딩에 기초하는 네트워크 인코딩 장치 및 방법{APPARATUS AND METHOD FOR NETWORK ENCODING BASED ON LOW COMPLEXITY ALGORITHMS FOR NETWORK CODING USING UNITARY HESSENBERG MATRIX}
본 발명은 저복잡 네트워크 코딩에 기초하는 네트워크 인코딩 장치 및 방법에 관한 것으로, 보다 구체적으로는 Unitary Hessenberg Matrix을 이용하여 원본 데이터를 인코딩하는 네트워크 인코딩 장치 및 방법에 관한 것이다.
스마트폰 또는 태블릿 PC와 같은 사용자 단말의 대중화로 인해 데이터 사용량이 빠르게 증가하고 있다. 특히, IoT(Internet of Things)기술의 도입은 데이터 사용량을 더욱 가속화할 것으로 예측된다. 그러나 현재는 네트워크 포화로 인해 데이터 전송량이 한계에 도달하고 있다. 따라서 종래 통신 방법을 사용함으로써 발생하는 네트워크 포화로 인한 여러 문제를 해결하기 위해 네트워크 코딩에 대한 연구가 수행되고 있다.
네트워크 코딩이 적용된 시스템에서 대부분의 전력 소비는 디코딩 과정에서 발생한다. 그래서 디코딩을 수행하는 단말은 많은 전력 소비로 인해 발열 및 배터리 문제 그리고 복잡한 계산으로 인한 많은 메모리 소비와 같은 문제가 있었다. 또한, 복잡한 계산으로 인해 전체 네트워크의 복잡도가 증가하는 문제가 있었다.
따라서, 디코딩 할 때 발생하는 전력을 감소 시키며, 복잡한 계산으로 인한 높은 복잡도(complexity)를 감소시키는 필요성이 제기되고 있다.
본 발명은 행렬 분해를 통해 인코딩 계수 행렬을 추출함으로써, 원본 데이터로부터 인코딩 데이터를 생성하는 네트워크 인코딩 장치 및 방법을 제공한다.
본 발명은 Eigen-Decomposition에 의한 행렬 분해를 통해 유니타리 행렬을 인코딩 계수 행렬로 이용함으로써, 원본 데이터로부터 인코딩 데이터를 생성하는 네트워크 인코딩 장치 및 방법을 제공한다.
본 발명은 인코딩 계수 행렬의 전치 행렬을 통해, 인코딩 데이터로부터 원본 데이터를 결정하는 네트워크 디코딩 장치 및 방법을 제공한다.
본 발명의 일실시예에 따르면, 사각행렬인 헤센버그 행렬(Hessenberg Matrix)을 생성하는 단계; 상기 생성된 헤센버그 행렬을 인코딩 계수 행렬(Encoding coefficient Matrix)로 이용하는 단계; 상기 인코딩 계수 행렬을 이용하여 원본 데이터를 인코딩함으로써 인코딩 데이터를 생성하는 단계; 상기 생성된 인코딩 데이터와 인코딩 계수 행렬을 포함하는 데이터 패킷을 형성하는 단계; 및 상기 형성된 데이터 패킷을 실수(real number) 필드로부터 갈로이스(Galois) 필드로 변환하는 단계를 포함하는 네트워크 인코딩 방법일 수 있다.
상기 헤센버그 행렬(Hessenberg Matrix)은, 첫 번째 부대각선(subdiagonal) 아래 구성 요소들이 0을 나타내는 네트워크 인코딩 방법 일 수 있다.
상기 헤센버그 행렬(Hessenberg Matrix)은 유니타리 행렬(Unitary Matrix)의 특징을 포함하는 네트워크 인코딩 방법 일 수 있다.
상기 헤센버그 행렬(Hessenberg Matrix)은, N*N 정사각 행렬로서, 구성 요소는 N-1개의 실수 변수를 필요로 하는 네트워크 인코딩 방법 일 수 있다.
상기 헤센버그 행렬(Hessenberg Matrix)은, 행렬의 크기가 커질 경우 종래 정사각 행렬을 기초로 유니타리 행렬의 특징을 유지하며 행과 열이 추가되는 네트워크 인코딩 방법 일 수 있다.
상기 실수 변수의 크기는 0 보다 크고 1보다 작은 크기를 나타내는 네트워크 인코딩 방법 일 수 있다.
본 발명의 일실시예에 따르면, 원본 데이터가 인코딩된 인코딩 데이터와 인코딩 계수 행렬을 포함하는 데이터 패킷을 갈로이스(Galois) 필드로부터 실수(real number) 필드로 변환하는 단계; 상기 변환된 데이터 패킷으로부터 인코딩 계수 행렬과 인코딩 데이터를 추출하는 단계; 상기 추출된 인코딩 데이터와 인코딩 계수 행렬의 전치 행렬을 이용하여 원본 데이터를 결정하는 단계를 포함하는 네트워크 디코딩 방법 일 수 있다.
상기 인코딩 계수 행렬은 헤센버그 행렬(Hessenberg Matrix)이되며, 상기 헤센버그 행렬은, 첫 번째 부대각선(subdiagonal) 아래 구성 요소들이 0을 나타내고, 유니타리 행렬의 특징을 포함하는 네트워크 디코딩 방법 일 수 있다.
상기 원본 데이터를 결정하는 단계는, 상기 헤센버그 행렬의 전치 행렬을 상기 추출된 인코딩 데이터에 적용함으로써 상기 원본 데이터를 결정하는 네트워크 디코딩 방법 일 수 있다.
상기 헤센버그 행렬은, N*N 정사각 행렬로서 구성 요소는 N-1개의 실수 변수를 필요로 하며, 상기 실수 변수의 크기는 0보다 크고 1보다 작은 크기를 나타내는 네트워크 디코딩 방법 일 수 있다.
본 발명의 일실시예에 따르면, 네트워크 인코딩 장치에 있어서, 상기 네트워크 인코딩 장치는 프로세서를 포함하고, 상기 프로세서는, 사각행렬인 헤센버그 행렬(Hessenberg Matrix)을 생성하고, 상기 생성된 헤센버그 행렬을 인코딩 계수 행렬(Encoding coefficient Matrix)로 이용하고, 상기 인코딩 계수 행렬을 이용하여 원본 데이터를 인코딩함으로써 인코딩 데이터를 생성하고, 상기 생성된 인코딩 데이터와 인코딩 계수 행렬을 포함하는 데이터 패킷을 형성하고, 상기 형성된 데이터 패킷을 실수(real number) 필드로부터 갈로이스(Galois) 필드로 변환하는 네트워크 인코딩 장치 일 수 있다.
상기 헤센버그 행렬(Hessenberg Matrix)은, 첫 번째 부대각선(subdiagonal) 아래 구성 요소들이 0을 나타내는 네트워크 인코딩 장치 일 수 있다.
상기 헤센버그 행렬(Hessenberg Matrix)은 유니타리 행렬(Unitary Matrix)의 특징을 포함하는 네트워크 인코딩 장치 일 수 있다.
상기 헤센버그 행렬(Hessenberg Matrix)은, N*N 정사각 행렬로서, 구성 요소는 N-1개의 실수 변수를 필요로 하는 네트워크 인코딩 장치 일 수 있다.
상기 헤센버그 행렬(Hessenberg Matrix)은, 행렬의 크기가 커질 경우 종래 정사각 행렬을 기초로 유니타리 행렬의 특징을 유지하며 행과 열이 추가되는 네트워크 인코딩 장치 일 수 있다.
상기 실수 변수의 크기는 0 보다 크고 1보다 작은 크기를 나타내는 네트워크 인코딩 장치 일 수 있다.
본 발명의 일실시예에 따르면, 네트워크 디코딩 장치에 있어서, 상기 네트워크 디코딩 장치는 프로세서를 포함하고, 상기 프로세서는, 원본 데이터가 인코딩된 인코딩 데이터와 인코딩 계수 행렬을 포함하는 데이터 패킷을 갈로이스(Galois) 필드로부터 실수(real number) 필드로 변환하고, 상기 변환된 데이터 패킷으로부터 인코딩 계수 행렬과 인코딩 데이터를 추출하고, 상기 추출된 인코딩 데이터와 인코딩 계수 행렬의 전치 행렬을 이용하여 원본 데이터를 결정하는 네트워크 디코딩 장치 일 수 있다.
상기 인코딩 계수 행렬은 헤센버그 행렬(Hessenberg Matrix)이되며, 상기 헤센버그 행렬은, 첫 번째 부대각선(subdiagonal) 아래 구성 요소들이 0을 나타내고, 유니타리 행렬의 특징을 포함하는 네트워크 디코딩 장치 일 수 있다.
상기 원본 데이터를 결정하는 단계는, 상기 헤센버그 행렬의 전치 행렬을 상기 추출된 인코딩 데이터에 적용함으로써 상기 원본 데이터를 결정하는 네트워크 디코딩 장치 일 수 있다.
상기 헤센버그 행렬은, N*N 정사각 행렬로서 구성 요소는 N-1개의 실수 변수를 필요로 하며, 상기 실수 변수의 크기는 0보다 크고 1보다 작은 크기를 나타내는 네트워크 디코딩 장치 일 수 있다.
도 1은 본 발명의 일실시예에 따른 서버와 사용자 단말 사이의 관계를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따라 네트워크 인코딩 장치가 수행하는 네트워크 인코딩 방법을 도시한 도면이다.
도 3은 본 발명의 일실시예에 따라 네트워크 디코딩 장치가 수행하는 네트워크 디코딩 방법을 도시한 도면이다.
도 4는 본 발명의 일실시예로서, 인코딩 및 디코딩에 따른 계산 복잡도를 실험한 실험 결과를 나타내는 도면이다.
도 5는 본 발명의 일실시예로서, 사용자 단말의 개수에 따른 계산 복잡도를 실험한 실험 결과를 나타내는 도면이다.
도 6은 본 발명의 일실시예로서, 원본 데이터의 길이에 따른 계산 복잡도를 실험한 실험 결과를 나타내는 도면이다.
도 7은 본 발명의 일실시예로서, NC-EGD와 사용자 단말의 개수에 따라 비교 실험 결과를 나타내는 도면이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일실시예에 따른 서버와 사용자 단말 사이의 관계를 도시한 도면이다.
서버(100)는 네트워크 인코딩 장치(101)를 통해 인코딩 데이터를 복수의 사용자 단말에 송신할 수 있다. 서버(100)는 원본 데이터를 네트워크 인코딩 장치(101)에 의해 인코딩함으로써 인코딩 데이터를 생성할 수 있다. 이 때, 생성된 인코딩 데이터는 필드(field) 변환되어 복수의 사용자 단말로 유/무선 연결(102)을 통해서 송신될 수 있다.
복수의 사용자 단말은 서버(100)로부터 필드 변환된 인코딩 데이터를 수신하여 필드 변환한 후, 필드 변환된 인코딩 데이터를 디코딩함으로써 원본 데이터를 생성할 수 있다. 일례로, 복수의 사용자 단말은(110, 120~)은 서버(100)로부터 수신한 인코딩 데이터를 네트워크 디코딩 장치(111, 121~)에서 디코딩 함으로써 원본 데이터를 생성할 수 있다.
이 때, 네트워크 인코딩/디코딩은 네트워크를 통한 데이터 전송량을 향상시킬 수 있고, 지연(delay)과 전력 소모(power consumption)를 줄일 수 있다. 그러므로, 네트워크 인코딩은 IoT(Internet of Things) 또는 peer-to-peer 네트워크와 같은 대량 네트워크에서 효과적인 컨텐츠 전송을 위해 사용될 수 있다.
도 1은 하나의 서버(100)와 N개의 사용자 단말(110, 120, ~)이 1:N의 관계로 연결된 네트워크 구조를 나타내고 있으나, 이는 일례에 불과하다. 본 발명의 일실시예에 따르면, 네트워크 인코딩 방법과 네트워크 디코딩 방법은 복수의 사용자 단말이 홉(Hop) 관계를 나타내는 네트워크에도 동일하게 적용될 수 있다. 결론적으로, 본 발명은 기술적인 사상은 네트워크 인코딩 방법을 수행하는 장치와 네트워크 디코딩 방법을 수행하는 장치가 서로 1:1로 연결되는 구조를 기초로 확장될 수 있는 어떠한 형태의 네트워크 구조에 대해서도 적용될 수 있다.
도 2는 본 발명의 일실시예에 따라 네트워크 인코딩 장치가 수행하는 네트워크 인코딩 방법을 도시한 도면이다.
단계(201)에서, 네트워크 인코딩 장치(101)는 사각 행렬인 유니타리 헤센버그 행렬(Unitary Hessenberg Matrix)을 생성할 수 있다. 이때, 유니타리 헤센버그 행렬은 N*N 정사각 행렬일 수 있다.
본 발명의 일실시예로서 유니타리 헤센버그 행렬
Figure 112017060088420-pat00001
은 N*N 사각 행렬로서, 첫번째 부대각선(subdiagonal) 아래 구성 요소들이 0을 나타낼 수 있다. 즉, 유니타리 헤센버그 행렬
Figure 112017060088420-pat00002
Figure 112017060088420-pat00003
를 의미할 수 있다. 일례로, N=3인 경우
Figure 112017060088420-pat00004
Figure 112017060088420-pat00005
를 나타낼 수 있다.
유니타리 헤센버그 행렬은 유니타리(Unitary) 특징을 나타낼 수 있다. 따라서, 유니타리 헤센버그 행렬(Unitary Hessenberg Matrix)은
Figure 112017060088420-pat00006
관계를 만족할 수 있다. 따라서,
Figure 112017060088420-pat00007
의 역함수는 전치 행렬(Transpose)을 통해 계산될 수 있으며,
Figure 112017060088420-pat00008
를 의미할 수 있다.
N*N 사각 행렬인 유니타리 헤센버그 행렬은 N-1개의 실수 변수를 필요로 할 수 있다. 이때, 각각의 실수 변수는 0보다 크거나 1보다 작을 수 있다. 일례로, N*N 정사각 행렬인 유니타리 헤센버그 행렬을 구성하는 실수 변수는 N-1개의
Figure 112017060088420-pat00009
를 필요로 하며, 이때
Figure 112017060088420-pat00010
을 만족할 수 있다.
N-1*N-1 사각 행렬인 유니타리 헤센버그 행렬
Figure 112017060088420-pat00011
을 기초로 행과 열을 추가한 새로운 행렬
Figure 112017060088420-pat00012
은 생성 될 수 있다.
Figure 112017060088420-pat00013
Figure 112017060088420-pat00014
은 유니타리 헤센버그 행렬이며, 유니타리 헤센버그 행렬(Hessenberg unitary matrix)를 만족하기 위한 조건은 다음의 수학식 1과 같다.
Figure 112017060088420-pat00015
Figure 112017060088420-pat00016
행렬의 구성 요소
Figure 112017060088420-pat00017
의 값에 관계 없이,
Figure 112017060088420-pat00018
은 수학식 1을 만족한다. 따라서,
Figure 112017060088420-pat00019
은 0에서 1사이 어떤 값이라도 상관이 없으며,
Figure 112017060088420-pat00020
Figure 112017060088420-pat00021
,
Figure 112017060088420-pat00022
등 행렬의 다른 구성 요소와 상관이 없이 값이 결정될 수 있다..
예를 들면,
Figure 112017060088420-pat00023
으로부터
Figure 112017060088420-pat00024
로 확장되는 경우,
Figure 112017060088420-pat00025
이라고 가정할 경우
Figure 112017060088420-pat00026
이다. 이때,
Figure 112017060088420-pat00027
Figure 112017060088420-pat00028
으로 수학식 1을 만족한다. 따라서 수학식 1의
Figure 112017060088420-pat00029
조건에 따라
Figure 112017060088420-pat00030
의 첫 번째 행들의 제곱 합이 1이 되도록 계산할 경우,
Figure 112017060088420-pat00031
는 어떤 값이라도 관계 없이 항상 수학식 1을 만족한다. 또한, 수학식 1의
Figure 112017060088420-pat00032
조건에 따라
Figure 112017060088420-pat00033
의 2 번째 행들의 제곱 합이 1이 되도록 계산할 경우,
Figure 112017060088420-pat00034
는 어떤 값이라도 관계 없이 항상 수학식 1을 만족한다. 따라서,
Figure 112017060088420-pat00035
는 항상 수학식 1을 만족하기 때문에,
Figure 112017060088420-pat00036
는 0에서 1 사이의 값을 갖는 임의의 값으로 결정될 수 있다. 즉,
Figure 112017060088420-pat00037
이라고 가정할 경우,
Figure 112017060088420-pat00038
이다.
이때,
Figure 112017060088420-pat00039
는 N*N 사각 행렬인 유니타리 헤센버그 행렬
Figure 112017060088420-pat00040
의 (l,k) 구성요소를 나타낸다. 일례로,
Figure 112017060088420-pat00041
은 유니타리 헤센버그 행렬
Figure 112017060088420-pat00042
의 (2,3) 구성요소를 나타낸다.
이 때, 유니타리 행렬은 U*UT=I 을 만족하는 행렬을 의미할 수 있다. 즉, 유니타리 행렬의 역행렬은 유니타리 행렬의 전치 행렬(Transposed matrix)을 의미할 수 있다. 전치 행렬은 행렬의 행과 열을 바꾼 행렬을 의미할 수 있다. 일례로, 행렬
Figure 112017060088420-pat00043
라면, 행렬 A의 전치 행렬은
Figure 112017060088420-pat00044
를 의미할 수 있고, 이 때 행렬 A의 역행렬과 전치 행렬은 같을 수 있다.
단계(202)에서, 네트워크 인코딩 장치(101)는 인코딩 계수 행렬을 이용하여 인코딩 데이터를 생성할 수 있다. 이때, 인코딩 계수 행렬(Encoding Coefficient Matrix)은 유니타리 헤센버그 행렬일 수 있다. 즉, 인코딩 계수 행렬 C는 유니타리 헤센버그 행렬
Figure 112017060088420-pat00045
와 C=
Figure 112017060088420-pat00046
관계를 만족할 수 있다.
본 발명의 일실시예로서, 원본 데이터
Figure 112017060088420-pat00047
의 집합인 X는 X
Figure 112017060088420-pat00048
를 의미할 수 있다.
Figure 112017060088420-pat00049
는 사용자 단말이 요청한 데이터를 의미하며,
Figure 112017060088420-pat00050
는 L길이의 데이터
Figure 112017060088420-pat00051
중에서 j번째 성분을 의미할 수 있다. 이 때, N은 원본 데이터의 개수로서, 사용자 단말은 N개의 원본 데이터를 요구할 수 있다.
본 발명의 일실시예로서, 인코딩 데이터는 인코딩 계수 행렬과 원본 데이터를 행렬 곱을 통해 생성될 수 있다. 일례로, 인코딩 데이터 y는
Figure 112017060088420-pat00052
를 통해 생성될 수 있다. 즉,
Figure 112017060088420-pat00053
을 의미할 수 있다. 이 때, 인코딩 계수 행렬
Figure 112017060088420-pat00054
Figure 112017060088420-pat00055
로 표현될 수 있다.
단계(204)에서, 네트워크 인코딩 장치(101)는 인코딩 데이터와 인코딩 계수 행렬을 포함하는 데이터 패킷을 형성할 수 있다.
일례로,
Figure 112017060088420-pat00056
는 k 번째 데이터 패킷의 j 번째 요소를 나타낼 수 있다. 즉,
Figure 112017060088420-pat00057
가 수학식 2로 표현될 경우,
Figure 112017060088420-pat00058
인 경우
Figure 112017060088420-pat00059
는 인코딩 계수 행렬을 나타내며,
Figure 112017060088420-pat00060
인 경우
Figure 112017060088420-pat00061
는 인코딩 데이터를 나타낼 수 있다.
Figure 112017060088420-pat00062
본 발명의 일실시예로서, 표 1은 인코딩 계수 행렬과 인코딩 데이터를 포함하는 데이터 패킷을 나타낸다. 일례로, 1행의 인코딩 계수 행렬은 header, 인코딩 데이터는 payload 부분으로 packet 1을 형성할 수 있다. 또한, 2행의 인코딩 계수 행렬은 header, 인코딩 데이터는 payload 부분으로 packet 2를 형성할 수 있다. 또한, 3행의 인코딩 계수 행렬은 header, 인코딩 데이터는 payload 부분으로 packet 3을 형성할 수 있다.
Figure 112017060088420-pat00063
단계(205)에서, 네트워크 인코딩 장치(101)는 형성된 데이터 패킷을 실수(real number) 필드로부터 갈로이스(Galois) 필드로 변환할 수 있다. 네트워크 인코딩 장치(101)는 데이터 패킷을 사용자 단말로 전송하기 전에, 실수 필드에서 갈로이스 필드로 변환할 수 있다. 이때, 필드 변환은 위 예에 한정되지 않고, 실수 필드로부터 갈로이스 필드 외에 다른 필드로 변환 될 수 있다. 따라서, 실수 필드에서 갈로이스 필드로 필드 변환은 본 발명의 일례에 해당하며, 실수필드에서 다른 필드로 필드 변환되는 것도 본 발명에 포함될 수 있다.
이 때, 실수 필드와 갈로이스 필드 사이의 관계는 수학식 3와 같이 표현 될 수 있다.
Figure 112017060088420-pat00064
Figure 112017060088420-pat00065
갈로이스 필드의 p는 실수 필드의 데이터 패킷 z에 대응하는 성분을 의미할 수 있다. 따라서, 갈로이스 필드로 변환된 p는 서버(100)으로부터 복수의 사용자 단말로 전송될 수 있다.
도 3은 본 발명의 일실시예에 따라 네트워크 디코딩 장치가 수행하는 네트워크 디코딩 방법을 도시한 도면이다.
단계(301)에서, 네트워크 디코딩 장치는 원본 데이터가 인코딩된 인코딩 데이터와 인코딩 계수 행렬을 포함하는 데이터 패킷을 수신하고, 수신한 데이터 패킷을 갈로이스(Galois) 필드로부터 실수(real number) 필드로 변환할 수 있다.
단계(302)에서, 네트워크 디코딩 장치는 변환된 데이터 패킷으로부터 인코딩 계수 행렬과 인코딩 데이터를 추출할 수 있다. 일례로, 표 1에서 packet 1 ~ packet 3을 수신한 네트워크 디코딩 장치는, header 부분과 payload 부분으로부터 인코딩 계수 행렬과 인코딩 데이터를 추출할 수 있다.
단계(303)에서, 네트워크 디코딩 장치는 추출된 인코딩 데이터와 인코딩 계수 행렬의 전치 행렬을 이용하여 원본 데이터를 결정할 수 있다.
인코딩 계수 행렬은 유니타리 헤센버그 행렬이기 때문에, 인코딩 계수 행렬의 역행렬은 인코딩 계수 행렬의 전치 행렬을 통해 획득할 수 있다. 따라서, 원본 데이터는 인코딩 계수 행렬의 전치 행렬을 인코딩 데이터에 적용함으로써 얻을 수 있다. 따라서, 인코딩 계수 행렬의 역행렬을 계산하는 과정에서 유니타리 행렬의 특성을 이용함으로써, 계산의 복잡도를 개선할 수 있다.
일례로, 원본 데이터
Figure 112017060088420-pat00066
의 집합 X, 인코딩 계수 행렬은 C(=
Figure 112017060088420-pat00067
, 인코딩 데이터를 Y라고 가정한다.
Figure 112017060088420-pat00068
를 통해 원본 데이터를 얻을 수 있다. 즉,
Figure 112017060088420-pat00069
와 같은 행렬 계산을 통해 원본 데이터 X는 얻을 수 있다. 따라서, 인코딩 계수 행렬의 역행렬 과정에서 발생하는 계산의 복잡도는 개선될 수 있다. 왜냐하면, 인코딩 계수 행렬의 역행렬 계산 보다 인코딩 계수 행렬의 전치 행렬 계산이 쉽기 때문이다.
도 4는 본 발명의 일실시예로서, 인코딩 및 디코딩에 따른 계산 복잡도를 실험한 실험 결과를 나타내는 도면이다.
본 발명의 일실시예로서, 도 4는 Random Linear Network Coding(RLNC, 401)에 의한 네트워크 인코딩/디코딩에 소비되는 시간과 NC-Unitary Hessenberg Matrix(402)에 의한 네트워크 인코딩/디코딩에 소비되는 시간을 나타내고 있다. 여기서, RLNC(401)는 네트워크 코딩의 일례로서, 임의로 생성된 계수와 원본 데이터 간의 선형 결합을 통해 인코딩 데이터를 획득할 수 있다. 사용자 단말에서 RLNC(401)에 의한 원본 데이터를 획득하기 위해 디코딩을 수행할 때, 가우스 소거법이 이용될 수 있다.
서버에서 수행되는 RLNC(401)에 의한 네트워크 인코딩과 NC-Unitary Hessenberg Matrix(402)에 의한 네트워크 인코딩에 소비되는 시간을 비교한 결과, NC-Unitary Hessenberg Matrix(402)에 의해 소비되는 시간이 RLNC(401)에 의해 소비되는 시간보다 긴 시간이 소비되는 것을 확인할 수 있다. 즉, NC-Unitary Hessenberg Matrix(402)는 Unitary 특징을 가지는 Hessenberg Matrix를 이용하므로, RLNC(401)와 비교하여 네트워크 인코딩에 긴 시간이 소비될 수 있다.
그러나, 사용자 단말에서 수행되는 RLNC(401)에 의한 네트워크 디코딩과 NC-Unitary Hessenberg Matrix(402)에 의한 네트워크 디코딩에 소비되는 시간을 비교한 경우, NC-Unitary Hessenberg Matrix(402)에 의해 소비되는 시간이 RLNC(401)에 의해 소비되는 시간보다 짧은 시간이 소비될 수 있다. 왜냐하면, NC-Unitary Hessenberg Matrix(402)의 역행렬은 Unitary Hessenberg Matrix의 전치 행렬을 통해 계산될 수 있기 때문에, NC-Unitary Hessenberg Matrix(402)는 RLNC(401)와 비교하여 네트워크 디코딩에 짧은 시간이 소비될 수 있다.
결과적으로, NC-Unitary Hessenberg Matrix(402)에 의한 네트워크 인코딩/디코딩에 소비되는 총 시간은 RLNC(401)에 의한 네트워크 인코딩/디코딩에 소비되는 총 시간보다 개선되었음을 확인할 수 있다. 즉, RLNC(401)는 사용자 단말에서 수행되는 네트워크 디코딩에 긴 시간이 소비되지만, NC-Unitary Hessenberg Matrix(402)는 서버에서 수행되는 네트워크 인코딩에 긴 시간이 소비될 수 있다.
도 5는 본 발명의 일실시예로서, 사용자 단말의 개수에 따른 계산 복잡도를 실험한 실험 결과를 나타내는 도면이다.
본 발명의 일실시예로서, 도 5는 RLNC(501)에 의한 네트워크 인코딩/디코딩을 수행하는 계산 복잡도와 NC-Unitary Hessenberg Matrix(502)에 의한 네트워크 인코딩/디코딩을 수행하는 계산 복잡도를 나타내고 있다.
사용자 단말의 개수가 증가함에 따라 RLNC(501)에 의한 계산 복잡도와 NC-Unitary Hessenberg Matrix(502)에 의한 계산 복잡도는 차이가 커지는 것을 확인할 수 있다. 즉, IoT 또는 Peer-to-Peer 네트워크와 같은 서버에 연결되는 사용자 단말의 개수가 많을 경우, NC-Unitary Hessenberg Matrix(502)에 의한 계산 복잡도가 RLNC(501)에 의한 계산 복잡도 보다 개선될 것을 예측할 수 있다. 따라서, 사물 인터넷(IoT) 환경에 적합한 NC-Unitary Hessenberg Matrix(502)에 의해 네트워크 인코딩/디코딩이 될 경우, 계산 복잡도가 개선되어 데이터 전송량은 크게 향상될 수 있다.
도 6은 본 발명의 일실시예로서, 원본 데이터의 길이에 따른 계산 복잡도를 실험한 실험 결과를 나타내는 도면이다.
본 발명의 일실시예로서, 도 6는 원본 데이터의 길이의 증가에 따른 RLNC(601)에 의한 계산 복잡도와 NC-Unitary Hessenberg Matrix(602)에 의한 계산 복잡도를 나타내고 있다.
원본 데이터의 길이(L)가 증가함에 따라 RLNC(601)에 의한 계산 복잡도는 증가하는 것을 확인할 수 있다. 그러나 원본 데이터의 길이가 증가함에도 불구하고 NC-Unitary Hessenberg Matrix(602)에 의한 계산 복잡도는 거의 일정함을 확인할 수 있다. 즉, 원본 데이터의 길이의 증가에 따라 NC-Unitary Hessenberg Matrix(602)에 의한 계산 복잡도의 증가보다 RLNC에 의한 계산 복잡도의 증가가 크다는 것을 확인할 수 있다.
그러므로, 원본 데이터의 길이가 긴 경우, NC-Unitary Hessenberg Matrix(602)에 의한 네트워크 인코딩/디코딩은 RLNC(601)에 의한 네트워크 인코딩/디코딩 보다 계산 복잡도가 개선되었음을 확인할 수 있다.
도 7은 본 발명의 일실시예로서, NC-EGD와 사용자 단말의 개수에 따라 비교 실험 결과를 나타내는 도면이다.
NC-EGD(701, 703)는 임의의 랜덤 대칭 행렬을 Eigen-Decomposition을 통해 행렬 분해한 결과를 이용하여 인코딩 계수 행렬을 생성하고, 인코딩 계수 행렬을 원본 데이터에 적용하여 네트워크 인코딩을 수행하는 방법이다. 또한, 인코딩 계수 행렬은 유니타리 특징을 가지고 있으므로, 역행렬은 인코딩 계수 행렬의 전치 행렬을 통해 계산될 수 있다. 따라서, 인코딩 계수 행렬의 전치 행렬을 인코딩된 인코딩 데이터에 적용함으로써 네트워크 디코딩은 수행될 수 있다.
NC-EGD는 RLNC(Random Linear Network Coding)과 비교하여 네트워크 인코딩 및 디코딩의 계산 복잡도가 개선된 방법을 제공할 수 있다. 도 7은 NC-Unitary Hessenberg Matrix와 NC-EGD를 사용자 단말의 개수에 따라 계산 복잡도의 실험 결과를 나타낸 도면이다.
원본 데이터의 길이 L이 256 byte일 때, NC-EGD(703)와 NC-Unitary Hessenberg Matrix(704)는 사용자 단말의 개수가 증가함에 따라 계산 복잡도가 증가하는 것을 확인할 수 있다. 동시에, NC-Unitary Hessenberg Matrix(704)가 NC-EGD(703)에 비해 계산 복잡도의 증가하는데 더 긴 시간이 소비되는 것을 확인할 수 있다.
원본 데이터의 길이 L이 1024 byte일 때, NC-EGD(701)와 NC-Unitary Hessenberg Matrix(702)가 사용자 단말의 개수가 증가함에 따라 계산 복잡도가 증가하는 것을 확인할 수 있다. 이와 함께, NC-Unitary Hessenberg Matrix(702)가 NC-EGD(701)에 비해 계산 복잡도의 증가하는데 더 긴 시간이 소비되는 것을 확인할 수 있다.
한편, 본 발명에 따른 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성되어 마그네틱 저장매체, 광학적 판독매체, 디지털 저장매체 등 다양한 기록 매체로도 구현될 수 있다.
본 명세서에 설명된 각종 기술들의 구현들은 디지털 전자 회로조직으로, 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어로, 또는 그들의 조합들로 구현될 수 있다. 구현들은 데이터 처리 장치, 예를 들어 프로그램가능 프로세서, 컴퓨터, 또는 다수의 컴퓨터들의 동작에 의한 처리를 위해, 또는 이 동작을 제어하기 위해, 컴퓨터 프로그램 제품, 즉 정보 캐리어, 예를 들어 기계 판독가능 저장 장치(컴퓨터 판독가능 매체) 또는 전파 신호에서 유형적으로 구체화된 컴퓨터 프로그램으로서 구현될 수 있다. 상술한 컴퓨터 프로그램(들)과 같은 컴퓨터 프로그램은 컴파일된 또는 인터프리트된 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 기록될 수 있고, 독립형 프로그램으로서 또는 모듈, 구성요소, 서브루틴, 또는 컴퓨팅 환경에서의 사용에 적절한 다른 유닛으로서 포함하는 임의의 형태로 전개될 수 있다. 컴퓨터 프로그램은 하나의 사이트에서 하나의 컴퓨터 또는 다수의 컴퓨터들 상에서 처리되도록 또는 다수의 사이트들에 걸쳐 분배되고 통신 네트워크에 의해 상호 연결되도록 전개될 수 있다.
컴퓨터 프로그램의 처리에 적절한 프로세서들은 예로서, 범용 및 특수 목적 마이크로프로세서들 둘 다, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 다로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 요소들은 명령어들을 실행하는 적어도 하나의 프로세서 및 명령어들 및 데이터를 저장하는 하나 이상의 메모리 장치들을 포함할 수 있다. 일반적으로, 컴퓨터는 데이터를 저장하는 하나 이상의 대량 저장 장치들, 예를 들어 자기, 자기-광 디스크들, 또는 광 디스크들을 포함할 수 있거나, 이것들로부터 데이터를 수신하거나 이것들에 데이터를 송신하거나 또는 양쪽으로 되도록 결합될 수도 있다. 컴퓨터 프로그램 명령어들 및 데이터를 구체화하는데 적절한 정보 캐리어들은 예로서 반도체 메모리 장치들, 예를 들어, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 롬(ROM, Read Only Memory), 램(RAM, Random Access Memory), 플래시 메모리, EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM) 등을 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로조직에 의해 보충되거나, 이에 포함될 수 있다.
또한, 컴퓨터 판독가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용매체일 수 있고, 컴퓨터 저장매체 및 전송매체를 모두 포함할 수 있다.
본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.
마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 장치 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 장치들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징 될 수 있다는 점을 이해하여야 한다.
한편, 본 명세서와 도면에 개시된 본 발명의 실시 예들은 이해를 돕기 위해 특정 예를 제시한 것에 지나지 않으며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 자명한 것이다.
100: 서버
110, 120, ~: 사용자 단말
101: 네트워크 인코딩 장치
111, 121, ~ : 네트워크 디코딩 장치

Claims (12)

  1. 사각 행렬인 헤센버그 행렬(Hessenberg Matrix)을 생성하는 단계;
    상기 생성된 헤센버그 행렬을 인코딩 계수 행렬(Encoding coefficient Matrix)로 이용하는 단계;
    상기 인코딩 계수 행렬을 이용하여 원본 데이터를 인코딩함으로써 인코딩 데이터를 생성하는 단계;
    상기 생성된 인코딩 데이터와 인코딩 계수 행렬을 포함하는 데이터 패킷을 형성하는 단계; 및
    상기 형성된 데이터 패킷을 실수(real number) 필드로부터 갈로이스(Galois) 필드로 변환하는 단계
    를 포함하며,
    상기 헤센버그 행렬(Hessenberg Matrix)는,
    N*N 정사각 행렬로서(N>2인 자연수), 행렬의 구성요소는 N-1개의 실수 변수를 필요로 하는 네트워크 인코딩 방법.
  2. 사각 행렬인 헤센버그 행렬(Hessenberg Matrix)을 생성하는 단계;
    상기 생성된 헤센버그 행렬을 인코딩 계수 행렬(Encoding coefficient Matrix)로 이용하는 단계;
    상기 인코딩 계수 행렬을 이용하여 원본 데이터를 인코딩함으로써 인코딩 데이터를 생성하는 단계;
    상기 생성된 인코딩 데이터와 인코딩 계수 행렬을 포함하는 데이터 패킷을 형성하는 단계; 및
    상기 형성된 데이터 패킷을 실수(real number) 필드로부터 갈로이스(Galois) 필드로 변환하는 단계
    를 포함하며,
    상기 헤센버그 행렬(Hessenberg Matrix)은,
    첫 번째 부대각선(subdiagonal) 아래 행렬의 구성 요소들이 0을 나타내며,
    상기 헤센버그 행렬(Hessenberg Matrix)은 유니타리 행렬(Unitary Matrix)의 특징을 포함하는 네트워크 인코딩 방법.


  3. 삭제
  4. 삭제
  5. 제1항에 있어서,
    상기 헤센버그 행렬(Hessenberg Matrix)은,
    행렬의 크기가 커질 경우 상기 정사각 행렬을 기초로 유니타리 행렬의 특징을 유지하며 행과 열이 추가되는 네트워크 인코딩 방법.
  6. 제1항에 있어서,
    상기 실수 변수의 크기는 0 보다 크고 1보다 작은 크기를 나타내는 네트워크 인코딩 방법.
  7. 원본 데이터가 인코딩된 인코딩 데이터와 인코딩 계수 행렬을 포함하는 데이터 패킷을 갈로이스(Galois) 필드로부터 실수(real number) 필드로 변환하는 단계;
    상기 변환된 데이터 패킷으로부터 인코딩 계수 행렬과 인코딩 데이터를 추출하는 단계;
    상기 추출된 인코딩 데이터와 인코딩 계수 행렬의 전치 행렬을 이용하여 원본 데이터를 결정하는 단계
    를 포함하며,
    상기 인코딩 계수 행렬은 헤센버그 행렬(Hessenberg Matrix)이며,
    상기 헤센버그 행렬(Hessenberg Matrix)는,
    N*N 정사각 행렬로서(N>2인 자연수), 행렬의 구성 요소는 N-1개의 실수 변수를 필요로 하는 네트워크 디코딩 방법.
  8. 제7항에 있어서,
    상기 헤센버그 행렬은,
    첫 번째 부대각선(subdiagonal) 아래 행렬의 구성 요소들이 0을 나타내고, 유니타리 행렬의 특징을 포함하는 네트워크 디코딩 방법.
  9. 제8항에 있어서,
    상기 원본 데이터를 결정하는 단계는,
    상기 헤센버그 행렬의 전치 행렬을 상기 추출된 인코딩 데이터에 적용함으로써 상기 원본 데이터를 결정하는 네트워크 디코딩 방법.
  10. 제7항에 있어서,
    상기 헤센버그 행렬은,
    상기 실수 변수의 크기는 0보다 크고 1보다 작은 크기를 나타내는 네트워크 디코딩 방법.
  11. 네트워크 인코딩 장치에 있어서,
    상기 네트워크 인코딩 장치는 프로세서를 포함하고,
    상기 프로세서는,
    사각행렬인 헤센버그 행렬(Hessenberg Matrix)을 생성하고,
    상기 생성된 헤센버그 행렬을 인코딩 계수 행렬(Encoding coefficient Matrix)로 이용하고,
    상기 인코딩 계수 행렬을 이용하여 원본 데이터를 인코딩함으로써 인코딩 데이터를 생성하고,
    상기 생성된 인코딩 데이터와 인코딩 계수 행렬을 포함하는 데이터 패킷을 형성하고,
    상기 형성된 데이터 패킷을 실수(real number) 필드로부터 갈로이스(Galois) 필드로 변환하며,
    상기 헤센버그 행렬(Hessenberg Matrix)는, N*N 정사각 행렬로서(N>2인 자연수), 행렬의 구성요소는 N-1개의 실수 변수를 필요로 하는 네트워크 인코딩 장치.
  12. 네트워크 디코딩 장치에 있어서,
    상기 네트워크 디코딩 장치는 프로세서를 포함하고,
    상기 프로세서는,
    원본 데이터가 인코딩된 인코딩 데이터와 인코딩 계수 행렬을 포함하는 데이터 패킷을 갈로이스(Galois) 필드로부터 실수(real number) 필드로 변환하고,
    상기 변환된 데이터 패킷으로부터 인코딩 계수 행렬과 인코딩 데이터를 추출하고,
    상기 추출된 인코딩 데이터와 인코딩 계수 행렬의 전치 행렬을 이용하여 원본 데이터를 결정하며,
    상기 인코딩 계수 행렬은 헤센버그 행렬(Hessenberg Matrix)이며, 상기 헤센버그 행렬(Hessenberg Matrix)는, N*N 정사각 행렬로서(N>2인 자연수), 행렬의 구성 요소는 N-1개의 실수 변수를 필요로 하는 네트워크 디코딩 장치.
KR1020170079244A 2017-06-22 2017-06-22 Unitary Hessenberg Matrix를 이용한 저복잡 네트워크 코딩에 기초하는 네트워크 인코딩 장치 및 방법 KR101876131B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170079244A KR101876131B1 (ko) 2017-06-22 2017-06-22 Unitary Hessenberg Matrix를 이용한 저복잡 네트워크 코딩에 기초하는 네트워크 인코딩 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170079244A KR101876131B1 (ko) 2017-06-22 2017-06-22 Unitary Hessenberg Matrix를 이용한 저복잡 네트워크 코딩에 기초하는 네트워크 인코딩 장치 및 방법

Publications (1)

Publication Number Publication Date
KR101876131B1 true KR101876131B1 (ko) 2018-07-06

Family

ID=62920823

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170079244A KR101876131B1 (ko) 2017-06-22 2017-06-22 Unitary Hessenberg Matrix를 이용한 저복잡 네트워크 코딩에 기초하는 네트워크 인코딩 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101876131B1 (ko)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060008022A1 (en) * 2004-07-02 2006-01-12 Icefyre Semiconductor Corporation Multiple input, multiple output communications systems
KR20070049050A (ko) * 2005-11-07 2007-05-10 한국전자통신연구원 두 개의 유니터리 행렬로 구성되는 프리코딩 행렬을 이용한폐루프 mimo 방식의 데이터 전송 방법 및 송신 장치
KR101477664B1 (ko) * 2013-09-25 2014-12-30 이화여자대학교 산학협력단 압축 센싱 기법을 이용한 네트워크 부호화 방법 및 장치, 네트워크 복호화 방법 및 장치
KR101588549B1 (ko) * 2015-01-09 2016-01-26 이화여자대학교 산학협력단 네트워크 코딩을 구현할 수 있는 tcp 기반 네트워크 라우팅 노드 및 네트워크 코딩을 구현하는 tcp 기반 데이터 스트리밍 시스템
US20160337015A1 (en) * 2015-05-11 2016-11-17 Futurewei Technologies, Inc. Multi-User Multiple-Input And Multiple-Output For Digital Subscriber Line
US20160352457A1 (en) * 2015-05-29 2016-12-01 National Instruments Corporation LPDC Encoding Techniques using a Matrix Representation

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060008022A1 (en) * 2004-07-02 2006-01-12 Icefyre Semiconductor Corporation Multiple input, multiple output communications systems
KR20070049050A (ko) * 2005-11-07 2007-05-10 한국전자통신연구원 두 개의 유니터리 행렬로 구성되는 프리코딩 행렬을 이용한폐루프 mimo 방식의 데이터 전송 방법 및 송신 장치
KR101477664B1 (ko) * 2013-09-25 2014-12-30 이화여자대학교 산학협력단 압축 센싱 기법을 이용한 네트워크 부호화 방법 및 장치, 네트워크 복호화 방법 및 장치
KR101588549B1 (ko) * 2015-01-09 2016-01-26 이화여자대학교 산학협력단 네트워크 코딩을 구현할 수 있는 tcp 기반 네트워크 라우팅 노드 및 네트워크 코딩을 구현하는 tcp 기반 데이터 스트리밍 시스템
US20160337015A1 (en) * 2015-05-11 2016-11-17 Futurewei Technologies, Inc. Multi-User Multiple-Input And Multiple-Output For Digital Subscriber Line
US20160352457A1 (en) * 2015-05-29 2016-12-01 National Instruments Corporation LPDC Encoding Techniques using a Matrix Representation

Similar Documents

Publication Publication Date Title
US10846281B2 (en) Electronic node and method for maintaining a distributed ledger
KR101934638B1 (ko) 행렬 분해를 이용한 저복잡 네트워크 코딩에 기초하는 네트워크 인코딩 장치 및 방법
Ibarria et al. Out‐of‐core compression and decompression of large n‐dimensional scalar fields
KR102033661B1 (ko) 채널 인코딩 및 디코딩 방법 및 장치
CN112449009B (zh) 一种基于svd的联邦学习推荐系统通信压缩方法及装置
CN109952708A (zh) 无损数据压缩
US20160124683A1 (en) In-memory data compression complementary to host data compression
US11249987B2 (en) Data storage in blockchain-type ledger
KR20190066438A (ko) 오류 벡터 크기 계산을 기반으로 한 데이터 압축 및 복원 장치와 그 방법
JP2018152887A (ja) 改善されたファイルの圧縮及び暗号化
KR101876131B1 (ko) Unitary Hessenberg Matrix를 이용한 저복잡 네트워크 코딩에 기초하는 네트워크 인코딩 장치 및 방법
KR101876130B1 (ko) 특이값 분해를 이용한 저복잡 네트워크 코딩에 기초하는 네트워크 인코딩 장치 및 방법, 그리고 네트워크 디코딩 장치 및 방법
WO2018201983A1 (zh) 极化码信道编码方法、设备以及通信系统
Nouasria et al. Sensing matrix based on Kasami codes for compressive sensing
CN111610938B (zh) 分布式数据编码存储方法、电子设备和计算机可读存储介质
JP7414357B2 (ja) テキスト処理方法、装置、デバイス及びコンピュータ読み取り可能な記憶媒体
CN105959065B (zh) 一种量子信息的压缩方法及装置
CN113794479B (zh) 极化调节卷积码的生成方法及相关设备
Prattipati et al. A variable quantization technique for image compression using integer Tchebichef transform
WO2021036189A1 (zh) Rdma数据发送及接收方法、电子设备及可读存储介质
CN111064774B (zh) 一种分布式数据存储的方法及装置
CN113626646A (zh) 智能电表数据压缩方法、装置和电子设备
US8593310B1 (en) Data-driven variable length encoding of fixed-length data
Thakur et al. Image‐independent optimal non‐negative integer bit allocation technique for the DCT‐based image transform coders
KR102621139B1 (ko) 프레임 양자화에 기반한 분산 행렬 곱 연산 방법 및 장치

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant