KR20100087645A - 통신 장비에 송신될 인코딩된 심벌을 재-인코딩하기 위한 네트워크 재-인코딩 방법 및 디바이스 - Google Patents

통신 장비에 송신될 인코딩된 심벌을 재-인코딩하기 위한 네트워크 재-인코딩 방법 및 디바이스 Download PDF

Info

Publication number
KR20100087645A
KR20100087645A KR1020100006601A KR20100006601A KR20100087645A KR 20100087645 A KR20100087645 A KR 20100087645A KR 1020100006601 A KR1020100006601 A KR 1020100006601A KR 20100006601 A KR20100006601 A KR 20100006601A KR 20100087645 A KR20100087645 A KR 20100087645A
Authority
KR
South Korea
Prior art keywords
nodes
node
degree
output node
input
Prior art date
Application number
KR1020100006601A
Other languages
English (en)
Other versions
KR101605062B1 (ko
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 KR20100087645A publication Critical patent/KR20100087645A/ko
Application granted granted Critical
Publication of KR101605062B1 publication Critical patent/KR101605062B1/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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3761Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using code combining, i.e. using combining of codeword portions which may have been transmitted separately, e.g. Digital Fountain codes, Raptor codes or Luby Transform [LT] codes
    • 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
    • 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/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0097Relays

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

네트워크 재-인코딩 디바이스(D)는 네트워크에 연결된 적어도 하나의 통신 장비(CE1)에 송신될 인코딩된 심벌들을 재-인코딩하기 위해 의도된다. 이 네트워크 재-인코딩 디바이스(D)는 송신될 준비가 된 생성된 출력 노드들을 한정하는 새로운 LT 코드 심벌들을 만들어내기 위해, 알려진 값들을 가지는 선택된 입력 노드(들) 및/또는 출력 노드(들)를 결합함으로써, 태너 그래프에 링크되고 그 값이 발견되어야 하는 디코딩된 심벌들을 한정하는 입력 노드들 사이의 XOR 불(Boolean) 연산(들)의 결과들을 각각 나타내고 인코딩된 심벌들을 나타내는 LT 코드 심벌들에 의해 한정된 출력 노드들을 재-인코딩하도록 준비된 재-인코딩 수단(RM)을 포함한다.

Description

통신 장비에 송신될 인코딩된 심벌을 재-인코딩하기 위한 네트워크 재-인코딩 방법 및 디바이스{NETWORK RE-ENCODING METHOD AND DEVICE FOR RE-ENCODING ENCODED SYMBOLS TO BE TRANSMITTED TO COMMUNICATION EQUIPMENTS}
본 발명은 심벌 데이터 처리에 관한 것으로, 더 정확하게는 수신된 인코딩된 심벌의 디코딩과 네트워크에 연결된 통신 장비들에 송신될 심벌 데이터를 인코딩하는 것에 관한 것이다.
본 명세서에서 "심벌(symbol)"이란 데이터의 블록 또는 패킷을 의미한다.
당업자에게 공지된 바와 같이, 통신 장비들 사이에서 데이터를 송신하는 동안 그 데이터가 분실되거나 훼손되는 일이 일어날 수 있다. 이 경우, 수신기는 송신기로부터 분실되거나 훼손된 데이터를 다시 송신하라고 요구할 수 있거나, 데이터의 2개의 복사본이 처음에 송신될 수 있다. 또 다른 해결책은 송신될 데이터를 코드들과 더 정확하게는 삭제 정정(correcting) 코드들에 의해 인코딩하는 것으로 이루어진다. 이 경우, 콘텐츠를 디코드할 수 있기 위해 반드시 콘텐츠의 모든 데이터의 수신을 기다릴 필요는 없는데, 이는 이들 콘텐츠 데이터의 (충분한) 일 부분만이 송신기에 의해 송신된 모든 데이터를 다시 구성하기 위해 요구되기 때문이다.
인코딩 방법 중에서, "네트워크 코딩"이라는 이름의 인코딩 방법이 여러 장점들을 제공한다. 이 인코딩 방법은 Rudolf Ahlswede 등에 의해 "Network Information flow"(2000년 정보 이론에 대한 IEEE 회보)에서 제안되었다. 이는 예컨대 무선 및/또는 인터넷 네트워크들에서 사용될 수 있다. 네트워크 코딩은 네트워크의 내부(또는 중간) 라우터들이 데이터(a,b)를 수신할 때, 수신된 데이터(a) 또는 데이터(b)만을 보내는 대신, 타입{c=f(a,b)}의 데이터의 결합물을 보내는 것을 허용한다. 따라서, 네트워크 코딩은 네트워크를 통해 최대 흐름에 도달하는 것을 허용하는데 반해, 라우팅은 일부 네트워크들에서 최대 흐름에 도달하기에 충분히 강력하지 않은 것으로 보이게 된다. 하지만, 이는 라우터들이 데이터를 송신하기 전에 데이터를 인코딩하기 위해, 수신된 데이터에 대한 계산을 수행할 수 있고, 각각의 최종 수신기가 수신한 인코딩된 데이터를 디코딩할 수 있을 것을 요구한다.
최대 흐름에 도달하는 것을 허용하는 함수인 f()의 집합을 계산하는 것이 NP-Hard인 것으로 증명되었으므로, 일부 확률적 체계가 제안되었다.
예컨대, 비율이 없는(rateless) 랜덤한 선형 네트워크 코드들(RLNC: random linear network codes)을 사용하는 체계가 T. Ho 등에 의해 "A random linear network coding approach to multicast"(2006년 정보 이론에 대한 IEEE 회보)에서 제안되었다. 이 체계는 몇몇 장점을 가지는데, 즉 구현하기가 다소 간단하고 완전히 분배될 수 있다는 점이다. 이 체계에 따르면, 네트워크의 각각의 라우터는 수신하는 (입력들) 데이터의 임의의 선형 결합물을 그것의 네트워크의 다른 라우터에 보낸다. 수신기는 또한 계수와 데이터의 매트릭스를 수신하는데, 이는 그러한 매트릭스가 반전할 수 있을 때 가우스(Gauss) 또는 가우스-요르단(Gauss-Jordan) 소거법(elimination)을 통해 수신된 데이터를 디코딩하는 것을 허용한다.
네트워크 코딩이 심벌들을 독립적으로 생성하는 것을 허용하여, 심벌들의 무한한 스트림들이 생성될 수 있다. 하지만, 랜덤한 선형 네트워크 코드들은 인코딩하는 동안뿐만 아니라, 디코딩하는 동안에도 복잡한 계산을 수반한다. 게다가, 갈로이스(Gallois) 필드인 GF(2k) 상에서 RLNC들이 동작하므로, RLNC들은 유한한 필드들에 대한 계산이 결여되는 범용 프로세서들을 통한 인코딩 및 디코딩에 적합하지 않다.
Raptor 코드들을 사용하는 또 다른 체계가, N. Thomos와 P. Frossard에 의해 "Collaborative video streaming with Raptor network coding"(ICME 2008)에서 제안되었다. 이 체계는 XOR 불(Boolean) 연산에 의해 한 쌍의 인코딩된 심벌들을 결합하는 것으로 이루어지는 재-인코딩 방법을 도입한다. 하지만, 이 체계는 또한 디코딩하는 동안 가우스 소거법을 요구하고, 따라서 랩터 네트워크 코딩은 성능과 특성의 측면에서 그것의 장점들을 잃어버린다.
또 다른 체계가 또한 Puducheri S. 등에 의해 "Coding Schemes for an erasure relay channel"{2007년 6월 24일 IEEE ISIT(International Symposium on Information Theory) 2007 회의록, 페이지 666-670}에서 제안되었다.
따라서, 본 발명의 목적은 복잡도가 낮은 인코더들과 디코더들을 사용하는 것을 허용하는 구조를 가지는 루비(Luby) 변환 코드들(또는 LT 코드들)이라는 이름의 비율이 없는(rateless) 코드들을 사용하는 네트워크 재-인코딩 방법 및 디바이스를 제안하는 것이다.
LT 코드들은 Michael Luby에 의해 2002년 컴퓨터 과학의 기초에 대한 IEEE 심포지엄(Symposium)에서 제안된 패리티 코드들이라는 점이 상기된다. LT 코드들은 입력 노드들과 출력 노드들 사이의 통신을 확립하는 태너(Tanner) 그래프에 의해 표현될 수 있다. 태너 그래프의 각각의 출력 노드는 디코딩될 인코딩된 심벌{또는 LT 코드 심벌(또는 LT 코드워드)}이고, 이 심벌은 네트워크로부터 수신되며, 입력 노드들이라고 부르는 발견할 하나 이상의 인코딩되지 않은(또는 디코딩된) 심벌들에 링크되며{에지(edge)들을 통해}, 이들 입력 노드들 사이의 XOR 불 연산(들)의 결과를 나타낸다. 따라서, 통신 장비(예컨대, 라우터나 사용자 단말기와 같은)의 디코더가 그것들 각각의 링크들을 나타내는 데이터를 구비한 인코딩된 심벌들(즉, LT 코드가 심벌들)을 수신할 때, 이들 인코딩된 심벌은 예컨대 이러한 태너 그래프의 입력 노드들을 구성하는 인코딩되지 않은(또는 디코딩된) 심벌들을 만들어내기 위해, "확신 전달(BP: belief-propagation) 디코딩 방법"에 의해 디코딩되어야 하는 태너 그래프의 출력 노드들을 구성한다. 출력 노드와 입력 노드들 사이의 링크들(또는 에지들)의 개수는 이러한 출력 노드의 정도를 한정한다. 따라서, 태너 그래프의 출력 노드들의 정도 분포를 형성하는 것이 가능하다. BP 디코딩 방법에 의해 효율적으로 디코딩될 LT 코드들의 능력은 그것들의 정도의 특별한 분포에 의존한다. 이 효율은 LT 코드들의 정도들의 분포가 소위 "확고한 솔리톤(robust soliton)" 분포이기 때문에 더욱 중요하다.
본 발명은 네트워크의 적어도 하나의 통신 장비에 송신될 인코딩된 심벌들(또는 데이터)를 재-인코딩하기 위해 의도된 네트워크 재-인코딩 방법을 제공하고, 이 방법은 송신될 준비가 된 생성된 출력 노드들을 한정하는 새로운 LT 코드들을 만들어내기 위해, 알려진 값들을 가지고 부분적으로 디코딩된 노드들로 불리는 선택된 입력 노드(들) 및/또는 출력 노드(들)를 결합함으로써, 태너 그래프에 링크되고 발견되어야 하는 값들을 가지는 디코딩된 심벌들을 한정하는 입력 노드들 사이의 XOR 불(Boolean) 연산(들)의 결과들을 각각 나타내고 인코딩된 심벌들을 나타내는 LT 코드 심벌들에 의해 한정된 출력 노드들을 재-인코딩하는 단계를 포함한다.
본 발명에 따른 방법은 그 중에서도 특히 독립적으로 또는 결합되어 고려되는 다음과 같은 추가 특징들을 포함할 수 있다.
- XOR 불 연산에 의해 상기 부분적으로 디코딩된 노드들을 결합할 수 있다.
- 생성된 출력 노드들의 정도의 현재 분포의 정도들 중에서, 동일한 정도의 제 1 선택된 기준 분포를 지닌 가장 높은 차이를 가지는 것과, 어느 것이 이러한 정도를 가지는 생성된 출력 노드를 만들어내는 것을 허용하는지를 결정함으로써 시작할 수 있고, 적어도 하나의 부분적으로 디코딩된 노드(즉, 내부 재-인코딩 단계 도중에 일시적으로 생성된 노드)를 결합함으로써, 이러한 정도를 가지는 생성된 출력 노드를 만들어낼 수 있다.
▶ 선택된 발견적 지도법(heuristic)에 의해 이러한 정도를 가지는 생성된 출력 노드를 만들어내는 것을 허용하는 정도를 결정할 수 있다.
▶ 생성된 출력 노드를 생성시킨 후, 적어도 하나의 입력 노드가 생성된 출력 노드들을 만들기 위해 너무 많이 사용되었는지를 결정하고, 너무 많이 사용된 경우, 이러한 입력 노드가 상기 생성된 출력 노드에 링크된 입력 노드들에 결합될 때, 상기 생성된 출력 노드의 정도가 변경되지 않은 채로 있는 것을 허용하는지를 결정하기 위해, 상기 입력 노드들의 현재 분포를 두 번째 선택된 기준 분포와 비교할 수 있으며, 그 후 상기 입력 노드들의 상기 현재 분포를 정규화하기 위해, 상기 생성된 출력 노드에 대한 상기 너무 많이 사용된 입력 노드들 중 적어도 하나를, 너무 드물게 사용된 입력 노드로 대체할 수 있다.
·상기 생성된 출력 노드를, 상기 너무 많이 사용된 입력 노드를 포함하고 2와 같은 정도를 가지는 출력 노드와 결합할 수 있다.
▶ 송신될 준비가 된 상기 생성된 출력 노드를 만들어낸 후, 생성된 출력 노드들의 정도의 상기 현재 분포와 입력 노드들의 상기 현재 분포를 갱신할 수 있다.
▶ 발견적 지도법은 생성될 노드의 정도가 디코딩된 입력 노드들을 포함하는 커버된 입력 노드들의 개수와, 적어도 하나의 이웃(즉, 태너 그래프에서 링크되는 출력 노드)을 가지는 입력 노드들의 개수 이하인지를 확인하는 것으로 이루어질 수 있다.
·발견적 지도법은 조건
Figure pat00001
이 입증되는지를 확인하는 것으로 또한 이루어질 수 있고, 여기서 d는 생성될 출력 노드의 결정된 정도이고, n(k)은 알려져 있는 d보다 적은 정도(k)를 가지는 부분적으로 디코딩된 노드들의 개수이다.
본 발명은 또한 네트워크의 적어도 하나의 통신 장비(CE)에 송신될 인코딩된 심벌들(또는 데이터)을 재-인코딩하도록 의도된 네트워크 재-인코딩 디바이스를 제공하고, 이 네트워크 재-인코딩 디바이스는 송신될 준비가 된 생성된 출력 노드들을 한정하는 새로운 LT 코드 심벌들을 만들어내기 위해, 선택된 입력 노드(들) 및/또는 알려진 값들과 가지고 부분적으로 디코딩된 노드들이라고 부르는 출력 노드(들)를 결합함으로써, 태너 그래프에 링크되고 그 값이 발견되어야 하는 디코딩된 심벌들을 한정하는 입력 노드들 사이의 XOR 불(Boolean) 연산(들)의 결과들을 각각 나타내고 인코딩된 심벌들을 나타내는 LT 코드 심벌들에 의해 한정된 출력 노드들을 재-인코딩하도록 준비된 재-인코딩 수단을 포함한다.
본 발명에 따른 네트워크 재-인코딩 디바이스는, 그 중에서도 특히 독립적으로 또는 결합되어 고려되는 다음과 같은 추가 특징들을 포함할 수 있다.
- 본 발명에 따른 네트워크 재-인코딩 디바이스의 재-인코딩 수단은, 부분적으로 디코딩된 노드들 사이에서 XOR 불 연산을 실행함으로써, 이들 노드를 결합하도록 배치될 수 있다.
- 본 발명에 따른 네트워크 재-인코딩 디바이스의 재-인코딩 수단은, 생성된 출력 노드들의 정도의 현재 분포 정도들 중에서, 동일한 정도의 제 1 선택된 기준 분포를 지닌 가장 높은 차이를 가지는 것과, 어느 것이 이러한 정도를 가지는 생성된 출력 노드를 만들어내는 것을 허용하는지를 결정하고, 그 후 적어도 하나의 부분적으로 디코딩된 노드를 결합함으로써, 이러한 정도를 가지는 생성된 출력 노드를 만들어내도록 준비될 수 있다.
▶ 본 발명에 따른 네트워크 재-인코딩 디바이스의 재-인코딩 수단은, 이러한 정도를 가지는 생성된 출력 노드를 만들어내는 것을 허용하는 정도를 결정하기 위해, 선택된 발견적 지도법을 적용하도록 준비될 수 있다.
▶ 본 발명에 따른 네트워크 재-인코딩 디바이스의 재-인코딩 수단은, 생성된 출력 노드를 생성시킨 후, 적어도 하나의 입력 노드가 생성된 출력 노드들을 만들기 위해 너무 많이 사용되었는지를 결정하고, 너무 많이 사용된 경우 이러한 입력 노드가 이러한 생성된 출력 노드에 링크된 입력 노드들에 결합될 때, 이러한 생성된 출력 노드의 정도가 변경되지 않게 허용하는지를 결정하기 위해, 상기 입력 노드들의 현재 분포를 제 2 선택된 기준 분포와 비교하도록 준비될 수 있으며, 입력 노드들의 현재 분포를 정규화하기 위해, 생성된 출력 노드로의 이들 너무 많이 사용된 입력 노드들 중 적어도 하나를, 너무 드물게 사용된 입력 노드로 대체하도록 준비될 수 있다.
·본 발명에 따른 네트워크 재-인코딩 디바이스의 재-인코딩 수단은, 생성된 출력 노드를, 너무 많이 사용된 입력 노드를 포함하고 2와 같은 정도를 가지는 출력 노드와 결합하도록 준비될 수 있다.
·본 발명에 따른 네트워크 재-인코딩 디바이스의 재-인코딩 수단은, 생성된 출력 노드를, 1과 같은 정도를 가지는 2개의 너무 많이 사용된 입력 노드들을 포함하는 출력 노드와 결합하도록 준비될 수 있다.
▶ 본 발명에 따른 네트워크 재-인코딩 디바이스의 재-인코딩 수단은, 송신될 준비가 된 상기 생성된 출력 노드를 만들어낸 후, 생성된 출력 노드들의 정도의 현재 분포와 입력 노드들의 현재 분포를 갱신하도록 준비될 수 있다.
▶ 본 발명에 따른 네트워크 재-인코딩 디바이스의 재-인코딩 수단은, 생성될 노드의 정도가 디코딩된 입력 노드들을 포함하는 커버된 입력 노드들의 개수와 적어도 하나의 이웃을 가지는 입력 노드들의 개수 이하인지를 확인하는 것으로 이루어지는 발견적 지도법을 적용하도록 준비될 수 있다.
·본 발명에 따른 네트워크 재-인코딩 디바이스의 재-인코딩 수단은, 조건
Figure pat00002
이 입증되는지를 확인하는 것으로 또한 이루어지는 발견적 지도법을 적용하도록 준비될 수 있고, 여기서 d는 생성될 출력 노드의 결정된 정도이고, n(k)은 알려져 있는 d보다 적은 정도(k)를 가지는 부분적으로 디코딩된 노드들의 개수이다.
본 발명은 또한, 네트워크에 연결될 수 있는 통신 장비를 구비하도록 의도된 디코더를 제공하고, 이 디코더는
- 태너 그래프에 링크되고 그 값이 발견되어야 하는 디코딩된 심벌들을 한정하는 입력 노드들 사이의 XOR 불 연산(들)의 결과들을 각각 나타내고 인코딩된 심벌들을 나타내는 LT 코드 심벌들에 의해 한정된 수신된 출력 노드들에 선택된 디코딩 방법을 적용하여, 디코딩된 심벌들의 각각의 링크된 입력 노드들을 얻고,
- 입력 노드들과 출력 노드들을 한정하는 데이터를 저장하는데, 이는 이들 입력 노드들과 출력 노드들이 동일한 태너 그래프의 다른 출력 노드들과 입력 노드들에 대해 가지는 링크들의 개수를 나타내는 정도에 대응하게 이루어지는(다시 말해, 이 데이터는 선택된 정도들의 노드로의 랜덤한 액세스를 허용하는 인덱스를 유지한다), 입력 노드들과 출력 노드들을 한정하는 데이터를 저장하도록
준비된 디코딩 수단을 포함한다.
이 디코더는 또한 위에서 제시되고 그 디코더의 디코딩 수단에 결합된 타입의 네트워크 재-인코딩 디바이스를 포함할 수 있다.
이 디코더는 또한 디코딩될 출력 노드의 존재시, 그 디코더가 그것의 디코딩 수단에 의해 이전에 수신되었는지를 결정하고, 이전에 수신되었을 경우에는 그 디코더가 이전에 수신(그리고 아마도 디코딩 단계동안 이전에 얻은)하였고 다시 태너 그래프에 삽입될 필요가 없음을 신호로 알리는 메시지를 생성시키도록 준비된 검출 수단을 포함할 수 있다.
본 발명의 다른 특성과 장점은 후속하는 상세한 설명과 첨부된 도면을 조사함으로써 분명해진다.
본 발명에 의하면, 복잡도가 낮은 인코더들과 디코더들을 사용하는 것을 허용하는 구조를 가지는 루비 변환 코드들(또는 LT 코드들)이라는 이름의 비율이 없는 코드들을 사용하는 네트워크 재-인코딩 방법 및 디바이스를 구현하여, 심벌 데이터 처리, 더 정확하게는 수신된 인코딩된 심벌의 디코딩과 네트워크에 연결된 통신 장비들에 송신될 심벌 데이터를 인코딩할 수 있다.
도 1은 네트워크를 통해 연결되고, 각각 인코더와 본 발명에 따른 디코더의 실시예의 일 예를 포함하는 3개의 사용자 통신 장비를 개략적으로 그리고 기능적으로 예시하는 도면.
도 2는 본 발명에 따른 디코더의 태너 그래프를 개략적으로 예시하는 도면.
도 3은 정도의 강력한 솔리톤 분포의 일 예(검은색의)와, 생성된 출력 노드들의 정도의 실제(또는 현재의) 계산된 분포의 일 예(회색의)를 예시하는 그래프.
도 4는 입력 노드들의 균일한 분포의 일 예(수평 라인)와, 생성된 입력 노드들의 현재(또는 제시된) 분포의 일 예(검은색의)를 예시하는 그래프.
도 5는 정도가 2인 출력 노드로 정도가 4인 생성된 출력 노드를 다듬는 것을 허용하는 하위 단계들을 포함하는 방법을 개략적으로 예시하는 도면.
첨부된 도면들은 본 발명을 완성하는 것뿐만 아니라, 필요하다면 본 발명을 정의하는데 기여하는 역할을 할 수 있다.
본 발명의 목표는 네트워크를 통해 연결되는 통신 장비들로 복잡도가 낮은 인코더들과 디코더들을 사용하는 것을 허용하기 위해, LT 코드 심벌들을 재-인코딩하도록 의도된 네트워크 재-인코딩 방법과 대응하는 네트워크 재-인코딩 디바이스(D)를 제공하는 것이다.
후속하는 설명부에서, 네트워크는 통신 장비(CEi)가 그것들 사이에서 적어도 방송 또는 애드-혹(ad-hoc) 모드에서 콘텐츠를 송신할 수 있는 모바일(또는 셀룰러 또는 무선의) 통신 네트워크(CN)인 것으로 고려된다. 하지만, 본 발명은 이러한 타입의 네트워크에 제한되지 않는다. 실제로, 본 발명의 네트워크는 특히 P2P(peer-to-peer) 모드에서 통신 장비들이 그것들 사이에서 통신하는 것을 허용한다면, DSL 네트워크나 광섬유 네트워크 또는 케이블 네트워크와 같은 유선(또는 고정된) 타입의 네트워크일 수 있다.
게다가, 통신 장비(CEi)는 그것들 사이의 통신을 확립할 수 있자마자, 임의의 타입의 것일 수 있다. 따라서, 통신 장비(CEi)는 그것이 통신 모뎀(또는 임의의 등가 통신 수단)을 포함한다는 전제하에 라우터, 고정된 개인용 컴퓨터, 랩톱(laptop), 콘텐츠 수신기{예컨대, 사용자의 가옥 구내(home premise)에 위치한 홈 게이트웨이(home gateway)나 STB(set-top box)}, 모바일 또는 셀룰러 전화기, 고정된 전화기, 또는 PDA(personal digital assistant)일 수 있다.
후속하는 설명부에서, 통신 장비(CEi)는 사용자들에 속하고, 모바일 전화기들이라고 간주된다. 도 1에서는, 오직 3개의 모바일 전화기(CE1 내지 CE3)(i=1 내지 3)가 예시되었지만, 모바일 네트워크에서는 보통 훨씬 더 많은 통신 장비들이 그것들 사이에서 인코딩된 콘텐츠의 적어도 일 부분을 교환할 수 있다.
예시된 예에서, 각각의 모바일 전화기(CEi)는 고전적인 타입의 인코더(ED)와 본 발명에 따른 디코더(DC)를 포함한다. 하지만, 일부 통신 장비들(CEi)과 특히 콘텐츠를 처음에 제공하는 것들은, 오직 고전적인 타입의 인코더(ED)와 아마도 고전적인 타입의 디코더를 포함할 수 있고, 일부 다른 통신 장비들(CEi)과, 특히 콘텐츠를 받고 보내는 것들이 오직 본 발명에 따른 디코더(DC) 또는 본 발명에 따라 적응된 고전적인 타입의 디코더와 본 발명에 따른 네트워크 재-인코딩 디바이스(D)를 포함할 수 있다는 점을 주목하는 것이 중요하다.
본 명세서에서 "고전적인 타입의 인코더"라는 것은 LT 코드 심벌들을 만들어내기 위해, 인코딩되지 않은 (콘텐츠) 데이터{또는 심벌 (콘텐츠) 데이터}를 인코딩할 수 있는 인코더를 의미한다. 게다가, 본 명세서에서 "고전적인 타입의 디코더"란, 고전적인 타입의 ED의 인코더나 본 발명에 따른 네트워크 재-인코딩 디바이스(D)에 의해, 알려진 그리고 고전적인 디코딩 방법에 의해, 만들어진 LT 코드 심벌들을 디코딩할 수 있는 디코더를 의미한다. "본 발명에 따른 디코더"는 새로운 타입의 디코더, 즉 알려지고 고전적인 디코딩 방법에 의해 LT 코드 심벌들을 디코딩할 수 있고, 국부적으로 결합되거나 포함하는 본 발명에 따른 네트워크 재-인코딩 디바이스(D)의 작업을 단순화시키도록 적응된 디코더를 의미한다. 후속하는 설명에서, 비제한적인 예로서, 디코딩 방법이 소위 "확신 전달(BP:belief-propagation) 디코딩 방법"인 것으로 고려된다. 하지만, 본 발명은 이러한 디코딩 방법에 제한되는 것은 아니다.
예시된 바와 같이, 본 발명에 따른 네트워크 재-인코딩 디바이스(D)는 연관된 디코더(DC), 특히 그것의 내부 상태(그리고 따라서 그것의 태너 그래프와 연관된 데이터)에 액세스하고, 그것의 모바일 전화기(CEi)에 의해 하나 이상의 다른 모바일 전화기(CEi')로부터 이전에 수신된 심벌들을 재-인코딩하도록 준비되는 재-인코딩 모듈(RM)을 포함한다.
전술한 바와 같이, 이들 LT 코드 심벌들은 인코딩된 심벌들을 나타낸다. 이들 LT 코드 심벌들은 알려진 값들을 가지는 코딩되지 않은 심벌 데이터로, 그것들 각각의 링크들을 나타내는 연관된 데이터를 지닌 데이터의 블록들로 송신된다.
LT 코드 심벌은 하나 이상의 심벌 데이터의 값들이 결합된 결과이고, 더 정확하게는 심벌 데이터 사이의 XOR 불 연산(들)의 값들이 결합된 결과이다. 다시 말해, 출력 노드의 링크들은 그것을 만들어내기 위해 XOR 불 연산(들)에 의해 결합된 인코딩되지 않은 심벌들을 지정한다.
따라서, 통신 장비(CEi)의 디코더(DC)가 그것들 각각의 링크를 나타내는 데이터를 지닌 인코딩된 심벌들(즉, LT 코드 심벌들)을 수신할 때, 대응하는 비-인코딩된 심벌들을 복구하기 위해, 연관된 데이터로 이들 인코딩된 심벌을을 디코딩해야 한다. 이를 위해, 디코더(DC)의 디코딩 모듈(DDM)이 태너 그래프에 출력 노드들(ON)을 한정하는 수신된 LT 코드 심벌들(또는 인코딩된 심벌들)을 공급한다. 동시에, 복구될 비-인코딩된 심벌들이 연관된 출력 노드들에 링크되는 태너 그래프의 입력 노드들(IN)을 한정한다.
태너 그래프의 제한된 예가 도 2에 예시되어 있다. 이 예에서, 10개의 출력 노드(ON)(a 내지 j)가 8개(A 내지 H)의 그룹의 하나 이상의 입력 노드(IN)들에 링크된다. 더 정확하게는,
- 출력 노드(a)는 입력 노드(A,B,C)에 링크되고, 2개의 XOR 불 연산(a=A
Figure pat00003
B
Figure pat00004
C)에 의한 입력 노드들의 결합된 결과이다.
- 출력 노드(b)는 입력 노드(B)에 링크되고, B와 같다.
- 출력 노드(c)는 입력 노드들(D,E)에 링크되고, 1개의 XOR 불 연산(c=D
Figure pat00005
E)에 의한 입력 노드들(D,E)의 결합된 결과이다.
- 출력 노드(d)는 입력 노드들(A,F)에 링크되고, 1개의 XOR 불 연산(d=A
Figure pat00006
F)에 의한 입력 노드들(A,F)들의 결합된 결과이다.
- 출력 노드(e)는 입력 노드들(E,H)에 링크되고, 1개의 XOR 불 연산(e=E
Figure pat00007
H)에 의한 입력 노드들(E,H)들의 결합된 결과이다.
- 출력 노드(f)는 입력 노드들(F,G)에 링크되고, 1개의 XOR 불 연산(f=F
Figure pat00008
G)에 의한 입력 노드들(F,G)들의 결합된 결과이다.
- 출력 노드(g)는 입력 노드들(B,G)에 링크되고, 1개의 XOR 불 연산(g=B
Figure pat00009
G)에 의한 입력 노드들(B,G)들의 결합된 결과이다.
- 출력 노드(h)는 입력 노드들(D,E,F)에 링크되고, 2개의 XOR 불 연산(h=D
Figure pat00010
E
Figure pat00011
F)에 의한 입력 노드들(D,E,F)들의 결합된 결과이다.
- 출력 노드(i)는 입력 노드들(G,H)에 링크되고, 1개의 XOR 불 연산(i=G
Figure pat00012
H)에 의한 입력 노드들(G,H)들의 결합된 결과이다.
- 출력 노드(j)는 입력 노드(C)에 링크되고, C와 같다.
출력 노드(ON)와 입력 노드(IN) 사이의 링크들(또는 가장자리들)의 개수가 이러한 출력 노드(ON)의 정도를 한정한다는 점을 주목하는 것이 중요하다. 따라서, 위에서 언급된 예에서,
- a의 정도는 3과 같다.
- b의 정도는 1과 같다.
- c의 정도는 2와 같다.
- d의 정도는 2와 같다.
- e의 정도는 2와 같다.
- f의 정도는 2와 같다.
- g의 정도는 2와 같다.
- h의 정도는 3과 같다.
- i의 정도는 2와 같다.
- j의 정도는 1과 같다.
다음 설명에서 다음과 같이 정의된다.
- "입력 노드"란 태너 그래프에서 본래의 데이터를 나타내는 노드이다.
- "디코딩된 입력 노드"란 그 값이 알려지는 입력 노드이다. 그것은 어떠한 링크들(또는 가장자리들)도 가지지 않고, 결코 태너 그래프의 출력 노드들(ON)에 제공되지 않는다. 디코딩되지 않은 입력 노드는 알려진 값을 가지지 않고, 재-인코딩하는 동안 사용될 수 없다.
- "커버링된(covered) 입력 노드"란 디코딩되는 입력 노드 또는 적어도 하나의 이웃(즉, 태너 그래프에서 링크되는 출력 노드)을 지닌 입력이다.
- "출력 노드"란 인코딩된 심벌들을 나타내는 노드이다. 그것은 수신되었거나 디코딩 단계들로부터 초래될 수 있다.
- "부분적으로 디코딩된 노드"(또는 "알려진 노드")란 디코딩된 입력 노드 또는 알려진 값을 지닌 출력 노드이다.
- "생성된 출력 노드"란 네트워크 재-인코딩 디바이스(D)에 의해 생성되고, 하나 이상의 통신 장비(CEi)에 송신될 준비가 된 노드이다.
- "부분적으로 생성된 노드"란 내부 재-인코딩 단계들 동안 네트워크 재-인코딩 디바이스(D)에 의해 일시적으로 생성되는 노드이다.
디코더(DC)는 태너 그래프를, 예컨대 메모리와 같은 저장 수단에 저장한다.
재-인코딩 모듈(RM)은 선택되고 부분적으로 디코딩된 노드들(또는 알려진 노드들), 즉 입력 노드(들) 및/또는 알려진 값들을 가지는 출력 노드(들)를 결합함으로써 출력 노드들을 재-인코딩하기 위해 준비되는데, 이는 송신될 준비가 된 생성된 출력 노드들을 한정하는 새로운 LT 코드 심벌들을 만들기 위함이다.
이들 조합은 바람직하게는 부분적으로 디코딩된 노드들 사이의 XOR 불 연산들에 있다. 그러나, 그것은 또한 예컨대 유한한 필드
Figure pat00013
에서의 선형 조합일 수 있다. 하지만, 이는 모든 가장자리들(또는 링크들)에서의 선형 조합에 관한 계수를 저장하는 것을 요구한다.
본 발명에 따른 네트워크 재-인코딩 디바이스(D){그리고 특히 그것의 재-인코딩 모듈(RM)}는, 바람직하게 적어도 부분적으로는 소프트웨어 모듈들로 이루어진다. 그러나, 본 발명에 따른 네트워크 재-인코딩 디바이스(D)는 또한 전자 회로(들) 또는 하드웨어 모듈들, 또는 하드웨어 모듈과 소프트웨어 모듈의 결합물{이 경우에는 재-인코딩 디바이스(D)가 또한 하드웨어 모듈과 소프트웨어 모듈 사이의 상호작용(interworking)을 허용하는 소프트웨어 인터페이스를 포함한다}로 이루어질 수 있다. 본 발명에 따른 네트워크 재-인코딩 디바이스(D)가 소프트웨어 모듈들만으로 이루어지는 경우, 그것은 통신 장비(CEi)의 메모리{예컨대 그것의 디코더(DC)에서} 또는 예컨대 통신 장비(CEi)에 의해 판독될 수 있는 CD-ROM과 같은 임의의 컴퓨터 소프트웨어 제품에서 저장될 수 있다.
출력 노드들(ON)을 재-인코딩하기 위해서, 재-인코딩 모듈(RM)이 이후 설명되는 네트워크 재-인코딩 방법을 구현한다.
예컨대, 이 방법은 지금까지 생성된 출력 노드들(ON)의 정도들의 현재(또는 실제) 분포의 정도들(dj) 중에서, 제 1 선택된 기준 분포의 동일한 정도를 지닌 가장 높은 차이를 가지는 것을 결정하고, 어느 것이 이러한 정도를 가지는 생성된 출력 노드를 만들어내는 것을 허용하는지를 결정하는 것으로 이루어지는 제 1 단계를 포함한다.
이러한 제 1 선택된 기준 분포는 소위 확고한 솔리톤(soliton) 분포일 수 있다.
이러한 분포들이 분리된 세트들(discrete sets) 위에 있다는 점을 주목하는 것이 중요하다.
생성된 출력 노드들의 정도들의 확고한 솔리톤 분포의 일 예(검은색으로 된)와, 생성된 출력 노드들의 정도들의 실제(또는 현재의) 분포의 일 예(회색으로 된)가 모두 도 3의 그래프에 예시되어 있다.
예컨대, 재-인코딩 모듈(RM)은 먼저 각각의 정도에 관한 현재 분포와 제 1 선택된 기준 분포 사이의 차이를 계산할 수 있다. 그런 다음, 재-인코딩 모듈(RM)은 그 결과들을 분류한다. 도 3에 예시된 예에서는, 2개의 분포의 동일한 정도 사이의 가장 높은 차이가 그 정도가 4인 점, 그 정도가 2인 점, 그 정도가 16인 점, 그 정도가 5인 점 등에서 나타나는 것을 관찰할 수 있다.
생성된 출력 노드들의 정도들의 현재 분포는, 그것이 이전에 생성시키고 예컨대 메모리와 같은 저장 수단으로 저장하는 출력 노드들에 관련된 정보로부터 재-인코딩 모듈(RM)에 의해 계산될 수 있다.
현재 분포와 제 1 선택된 기준 분포 사이의 정도 차이들의 계산은, 현재 분포를 제 1 선택된 기준 분포에 더 가깝게 만들기 위해, 현재 분포의 어느 정도가 생성될 다음 출력 노드에 관해 바람직하게 사용되어야 하는지를 결정하는 것을 목표로 한다. 실제로, 당업자가 알고 있듯이 LT 코드들의 성능은 그것들의 분포에 의존하여, 이들 성능은 LT 코드 심벌들의 현재 분포가 확고한 솔리톤 분포와 같은 최적의 분포에 가깝게 유지될 때 최적이다.
따라서, 일단 재-인코딩 모듈(RM)이 현재 분포와 제 1 선택된 기준 분포 사이의 정도 차이를 계산하였다면, 재-인코딩 모듈(RM)이 현재 분포를 증진시키기 위한 정도 제안들의 목록을 얻기 위해 그 결과들을 분류할 수 있다.
그런 다음, 정도(dj)의 각각의 제안에 관해, 정도가 dj인 노드를 생성시킬 수 있는지를 확인할 수 있다. 이를 위해 발견적 지도법(heuristic)을 사용할 수 있다.
예컨대, 그러한 발견적 지도법은 생성될 출력 노드의 정도(d)가 커버링된 입력 노드들(즉, 디코딩된 입력 노드들과 적어도 하나의 이웃을 가지는 입력 노드들)의 개수 이하인지를 확인하는 것으로 이루어질 수 있다. 이러한 개수의 값은 디코더(DC)에 의해 최신의 것으로 유지된다.
더 나은 결과들을 제공하기 위해, 이러한 발견적 지도법은 이후 설명된 것과 같은 또 다른 조건으로 완성될 수 있다.
r보다 작은 정도(d)(d<r)의 출력 노드를 생성시키기 위해 정도(r)를 가지는 출력 노드를 사용할 수 없으므로, 재-인코딩 모듈(RM)은 조건
Figure pat00014
이 입증되는지를 확인할 수 있고, 여기서 d는 생성될 출력 노드의 결정된 정도이며, n(k)은 알려지는 d보다 작은 정도(k)의 부분적으로 디코딩된 노드들의 개수이다. 다시 말해, 정도가 d인 출력 노드를 생성시키기 위해, d보다 작은 정도(k)(k<d)를 가지는 부분적으로 디코딩된 노드들이 충분히 존재하는지를 확인해야 한다.
위의 발견적 지도법은 정도가 3인 2개의 노드가 XOR 불 연산에 의해 결합될 때, 정도가 6인 노드를 제공할 것이 확실하지 않다는 사실을 고려하지 않는다. 실제로, 제 1 노드(s=a
Figure pat00015
b
Figure pat00016
c)와 제 2 노드(t=d
Figure pat00017
e
Figure pat00018
b)를 결합한다면, 정도가 4인 노드(s
Figure pat00019
t)를 얻는다(s
Figure pat00020
t=a
Figure pat00021
d
Figure pat00022
c
Figure pat00023
e인데, 이는 b
Figure pat00024
b=0이기 때문이다).
따라서, 재-인코딩 모듈(RM)은 예상된 개수의 충돌을 계산하는 더 복잡한 발견적 지도법을 사용할 수 있다.
LT 코드 심벌들의 디코딩 공정 동안, 일단 인코딩된 심벌(또는 입력 노드)이 디코딩되면, 그것이 태너 그래프의 출력 노드와 함께 가지는 모든 링크(또는 가장자리)가 이 태너 그래프에서 제거된다. 그러므로, 입력 노드가 디코딩되면 더 이상 또 다른 노드에 연관되지 않게 되고, 어떠한 충돌도 만들어내지 않게 된다.
Figure pat00025
를 디코딩된 입력 노드들의 개수라고 하고,
Figure pat00026
를 커버링된 입력 노드들의 개수라고 하며,
Figure pat00027
를 부분적으로 디코딩된 노드들의 총 개수라고 하자. 이러한 정의로, 정도 k>1인 노드가 정도가
Figure pat00028
인 생성된 노드에 더해질 때, 충돌의 개수는 파라미터들의 초기하(hyper-geometric) 법칙
Figure pat00029
을 따르고, 이 경우 그 평균(
Figure pat00030
)은
Figure pat00031
에 의해 주어진다.
그러므로, 일단 s+1번째 노드가 추가된 노드의 정도(
Figure pat00032
)는
Figure pat00033
에 의해 주어지고, 이 경우
Figure pat00034
이다(또한
Figure pat00035
를 설정하고, 마지막 단계에서
Figure pat00036
를 추가하는 것이 가능하지만, 이는
Figure pat00037
에 관한 후속하는 정의를 사용할 것을 요구한다).
정도가 d인 노드가 생성될 수 있는지를 확인하기 위해, 후속하는 2가지 하위 단계를 구현할 수 있다.
첫 번째 단계는 생성될 노드의 정도 d가 커버링된 입력 노드들의 개수 이하인지를 확인하는 것으로 이루어진다.
두 번째 단계는 정도(D)(일단 모든 조합이 실행된 최종 정도인)를 계산하기 위해, 희망한(또는 예상된) 정도(d) 이하인 정도(k)를 지닌 모든 노드를 추가하는 것으로 이루어진다(k≤d). D≥d라면, 정도가 d인 노드를 생성시키는 것이 가능하다고 추론할 수 있다. D는 정도가 L인 노드를 생성시키는 것이 가능한지를 확인하는 것으로 이루어지는 알고리즘으로 반복적으로 계산될 수 있다. 모든 노드를 "한 번(one shot)"에 모으지는 않지만, 이렇게 하는 것이 현재 정도를 증가시킬 수 있을 때에만 노드를 모은다. 실제로, 노드들이 한 번에 모아지면, 이러한 집합의 결과는 그것들 중 어느 것보다도 작은 노드일 수 있다{예컨대, (a
Figure pat00038
b
Figure pat00039
c
Figure pat00040
d)
Figure pat00041
(a
Figure pat00042
b
Figure pat00043
c)=d}. 그러므로, 매 반복시 이전 값과 노드가 한 번 추가되는 값 중 최대값을 유지한다. 이는 다음과 같은 루틴(routine)에 의해 행해질 수 있다.
Figure pat00044
이전의 발견적 지도법은 선택된 목표를 초과하는 것을 회피하면서 가능한 충돌들을 고려하기 위해, 이전의 발견적 지도법의 두 번째 하위 단계를 또 다른 하위 단계로 대체함으로써 향상될 수 있다.
이러한 두 번째 하위 단계는 하나의 노드가 그것의 정도가 L과 D 사이의 차이 이하인 경우에만 추가된다고 가정하면, 높은 정도로부터 낮은 정도로 노드들을 점진적으로 추가하는 것으로 이루어진다. 다시 말해, 이 노드는 생성될 재-인코딩된 심벌들에서 남은 공간을 초과해야 하는데, 이는 너무 정도가 높은 인코딩된 심벌들을 생성시키기를 원하지 않기 때문이다. 그러므로, 예컨대 정도가 6인 노드를 생성시키기를 원한다면, 정도가 5인 2개의 노드를 추가할 수 없지만, 정도가 5인 하나의 노드와 정도가 1인 하나의 노드를 추가해야 한다. 이는 다음과 같은 루틴에 의해 행해질 수 있다.
Figure pat00045
이전의 발견적 지도법은 가능한 충돌을 고려하고, 충돌들을 고려하면서 선택된 목표를 초과하는 것을 회피하기 위해 더욱 향상될 수 있다. 실제로, L-D(k>L-D)보다 큰 정도(k)를 지닌 노드를 추가할 수 있고, 충분한 충돌이 일어난다면 정도가 L인 노드를 가질 수 있다는 점을 고려하는 것이 가능하다. 이는 다음과 같은 루틴에 의해 행해질 수 있다.
Figure pat00046
발견적 지도법을 선택하는 것이 계산 비용과 LT 코드들의 성능에 영향을 미치게 된다는 점을 주목하는 것이 또한 중요하다. 발견적 지도법이 간단할수록, 계산 비용이 더 적게 되고, 그 성능도 낮아지게 된다.
사용된 발견적 지도법(들)이 정도가 d인 출력 노드가 생성될 수 있다는 점을 보여준다면, 재-인코딩 모듈(RM)이 이러한 정도(d)를 가지는 생성된 출력 노드를 만들기 위해 적어도 하나의 부분적으로 디코딩된 노드를 결합함으로써 첫 번째 방법 단계를 완성한다. 그렇지 않다면, 만족될 수 있는 정도 제안을 찾을 때까지 후속하는 정도 제안을 시도한다. 적어도 이전에 수신한 노드들 중 하나를 복제하는 것이 가능하기 때문에, 이러한 마지막 상황이 일어나게 된다. 따라서, 생성된 심벌들의 가장 큰 부족(deficit)을 지닌 정도를 가지는 인코딩된 심벌들을 생성시키려고 시도하는 것이 중요하다.
정도가 d인 노드를 생성시키기 위해, 재-인코딩 모듈(RM)은 다음과 같이 진행될 수 있다.
재-인코딩 모듈(RM)은 정도가 d인 부분적으로 디코딩된 노드들로부터 시작해서 정도(d)의 노드를 가질 때까지 부분적으로 디코딩된 노드들을 추가할 수 있다. 재-인코딩 모듈(RM)이 부분적으로 디코딩된 노드를 추가할 때마다, 추가된 부분적으로 디코딩된 노드의 값과 XOR 연산을 한 이전의 값과 같은 새로운 결과값을 얻는다. 그런 다음, 추가된 부분적으로 디코딩된 노드에 기여하는 입력 노드(들)를, 그 결과 노드에 기여하는 노드들의 목록에 추가한다.
이러한 노드 생성 동안, 재-인코딩 모듈(RM)은 정도가 d인 노드들로 시작하고, 정도가 1까지 감소하는 노드들을 따른다. 실제로, 정확히 예상된 정도(d)에 성공적으로 도달하기 위해, 가장 큰 심벌들을 먼저 사용하고, 그 다음 생성된 노드를 완성하기 위해 작은 심벌들을 사용하는 것이 바람직하다. 따라서, 생성 중인 노드의 정도를 감소시키는 조합을 결코 허용하지 않는다. 게다가, 그것의 정도가 예상된 정도(d)와 생성중인 노드의 현재 정도 사이의 차이 이하이라면, 오직 부분적으로 디코딩된 노드를 추가하려고 시도하는 것이 바람직하다. 생성중인 노드가 예상된 정도(d)를 가지자마자, 재-인코딩 모듈(RM)은 첫 번째 방법 단계를 중단한다.
전술한 노드 생성은 다음과 같은 루틴에 의해 행해질 수 있는데, 이 경우 L은 첫 번째 방법 단계의 첫 번째 부분에서 결정된 예상된 정도이고, G는 부분적으로 생성된 노드이다.
L=Result of the first part of first method step
Figure pat00047
재-인코딩 모듈(RM)이 충돌들의 가능한 발생을 고려하는 발견적 지도법을 사용할 때, 생성중인 노드의 정도가 일시적으로 하강하는 것을 허용하는 것이 가능하다는 점을 주목하는 것이 중요하다. 이는 전술한 노드 생성 메커니즘의 강제 사항 중 하나를 완화시키는 것에 해당한다. 하지만, 그 정도가 예상된 정도와 생성중인 노드의 현재 정도 사이의 차이 이하라면, 부분적으로 디코딩된 노드를 여전히 계속해서 추가한다. 노드 생성의 이러한 변형예는 다음과 같은 루틴에 의해 행해질 수 있다.
Figure pat00048
이전의 노드 생성 메커니즘은, 그것의 정도가 예상된 정도와 생성중인 노드의 현재 정도 사이의 차이 이하인 경우에 부분적으로 디코딩된 노드를 오직 추가하는 것으로 이루어지는 강제 사항을 완화시키는 것에 의해 증진될 수 있다. 이 변형예에서, 충돌은 여전히 고려된다. 예컨대, 정도가 L인 노드(N)가 생성 중일 때, 재-인코딩 모듈(RM)이 정도가 d인 부분적으로 디코딩된 노드를 L-D ≥d-2.
Figure pat00049
인 경우에만 정도가 D인 생성된 노드에 추가하려고 시도할 수 있다. 노드 생성의 이러한 변형예는 마지막으로 설명된 발견적 지도법이 사용된다면 더 유용하다. 이 변형예는 다음과 같은 루틴에 의해 행해질 수 있다.
Figure pat00050
정도가 낮은(1,2, 또는 3과 같은) 많은 노드들이 존재하는 경우, 가장 높은 가능한 정도를 지닌 노드들을 추가함으로써 시작하는 대신, 오직 정도가 높은 노드들을 구축하기 위해 정도가 낮은 노드들을 사용하기로 결정하는 것이 가능하다. 이러한 목적을 위해, 마지막 루틴 내에서 예컨대 1에서 1로(정도가 1인 노드들만을 사용하기 위해), 또는 2에서 1로(정도가 1과 2인 노드들만을 사용하기 위해), 또는 3에서 1로(정도가 1,2,3인 노드들만을 사용하기 위해) 진행하는 "포 루프(For loop)"를 사용할 수 있다.
예컨대, 이러한 정도가 1인 임의의 노드를 선택하는 대신, 그것의 점수(score)(즉, 두 번째 선택된 기준 분포를 지닌 그것의 차이)에 의존하여 추가될 정도가 1인 노드를 선택하는 것이 또한 가능하다. 이는 오직 정도가 1인 노드들이 두 번째 선택된 기준 분포로부터 추론될 수 있는 그것들의 점수에 의존하여 분류될 것을 요구한다.
첫 번째 방법으로 생성된 출력 노드를 만들어 낸 후, 이러한 생성된 출력 노드는 두 번째 방법 단계에 의해 다듬어질 수 있다.
이러한 두 번째 방법 단계는, 예컨대 균일한 분포와 같은 최적의 분포(또는 두 번째 선택된 기준 분포)에 가깝게 유지될 수 있도록, 태너 그래프의 입력 노드들의 현재 분포를 정규화하는 것으로 이루어질 수 있다.
이러한 목적을 위해, 재-인코딩 모듈(RM)은 입력 노드들의 현재 분포와 두 번째 선택된 기준 분포를 비교하여, 생성된 출력 노드들을 만들기 위해 너무 많이 사용되고, 생성된 출력 노드에 링크된 입력 노드들과 결합할 때 생성된 출력 노드의 정도가 변경되지 않도록 허용하는 적어도 하나의 입력 노드를 결정할 수 있다.
입력 노드들의 현재 분포는, 이전에 생성한 그리고 예컨대 메모리와 같은 저장 수단에 저장하는 출력 노드들에 관련된 정보로부터 재-인코딩 모듈(RM)에 의해 계산될 수 있다.
입력 노드들(수평선)의 균일한 분포의 예와, 생성된 입력 노드들(검은색으로 된)의 정도들의 현재 (나타난) 분포의 예가 모두 도 4의 그래프에 예시되어 있다. 균일한 입력 노드 분포는, 임의의 입력 노드가 동일한 횟수만큼 사용되는 분포이다.
도 4에 예시된 예에서, 입력 노드(A 또는 F)를 다시 보내는 것을 회피하고, 차라리 대신 입력 노드(C 또는 E)를 보내는 것을 선호하는 것을 관찰할 수 있다.
재-인코딩 모듈(RM)이 적어도 하나의 너무 많이 사용된 입력 노드를 결정했다면, 입력 노드들의 현재 분포를 정규화하기 위해, 이들 너무 많이 사용된 입력 노드들 중 적어도 하나{재-인코딩 모듈(RM)이 결정한}를 너무 드물게 사용된 입력 노드에 의한 생성된 출력 노드로 대체할 수 있다.
너무 많이 사용된 입력 노드를 포함하고 2와 같은 선택된 정도를 가지는 출력 노드들을 사용하는 것이 유리하다. 실제로, LT 코드 심벌들이 정도가 2인 (인코딩된) 출력 노드들의 50%보다 많게 가진다(그것들이 상당히 길 때)는 사실이 상기된다. 따라서, x
Figure pat00051
x=0이므로, 부분적으로 생성된 노드 s=a
Figure pat00052
b
Figure pat00053
c
Figure pat00054
d와 정도가 2인 출력 노드 t=a
Figure pat00055
e를 가진다면, 생성된 출력 노드 r=s
Figure pat00056
t=e
Figure pat00057
b
Figure pat00058
c
Figure pat00059
d를 만드는 것이 가능하다{입력 노드인 a(여기서는 너무 많이 사용된 것으로 간주된)가 제거되고 입력 노드인 e(여기서는 너무 드물게 사용된 것으로 간주된)로 대체되었다}.
정도가 2인 출력 노드(Y)(
Figure pat00060
=A
Figure pat00061
E)로 정도가 4인 생성된 출력 노드(δ)(
Figure pat00062
=A
Figure pat00063
B
Figure pat00064
C
Figure pat00065
D)를 다듬는 것을 허용하는 방법 하위 단계들의 예가 도 5에 예시되어 있다. A
Figure pat00066
A=0이므로, 다듬어진 생성된 출력 노드(β)는 여전히 정도가 4이지만, 너무 많이 사용된 입력 노드인 A는 너무 드물게 사용된 입력 노드인 E로 대체되었다(
Figure pat00067
=E
Figure pat00068
B
Figure pat00069
C
Figure pat00070
D).
생성된 출력 노드의 다듬기(refinement)로 진행하기 위해, 재-인코딩 모듈(RM)이 다음과 같이 진행될 수 있다. 다듬어질 생성된 출력 노드에 포함된 각각의 입력 노드(N)에 관해, 이러한 입력 노드(N)를 포함하는 정도가 2인 모든 출력 노드를 찾는다. 그런 다음, 다듬어질 생성된 출력 노드의 점수를 최상으로 증진시킬 수 있는 것을 이들 출력 노드들 중에서 찾을 수 있다. 그러한 증진이 양의 것이라면, 조합(XOR)을 수행한다. 그런 다음, 다듬어질 생성된 출력 노드에 포함된 또 다른 입력 노드(N)로 진행하여 이러한 공정을 반복할 수 있다. 충돌이 일어나면(즉, 다듬어질 생성된 출력 노드의 정도가 감소될 수 있다면), 조합(XOR)을 수행하지 않는다.
위에서 언급된 충돌의 경우 일어날 조합을 단순히 금지하는 대신, 정도가 2인 충돌하는 출력 노드보다 함께 더 나은 점수를 제공하는 정도가 1인 2개의 입력 노드를 찾는다고 가정하면, 조합이 수행되는 것을 허용하는 것이 가능하다는 점을 주목하는 것이 중요하다. 이는 더 많은 다양성을 허용하고, 조합에서 정도가 1인 노드들을 더 자주 사용하는 것을 허용한다.
송신될 준비가 된 (다듬어진) 생성된 출력 노드를 만든 후, 재-인코딩 모듈(RM)은 생성된 출력 노드들의 정도들의 현재 분포와, 태너 그래프의 입력 노드들의 현재 분포를 나타내는 정보를 갱신할 수 있고, 후속하는 재-인코딩 동안 갱신된 분포들을 사용하기 위해, 이 정보를 저장 수단에 저장한다. 입력 노드들의 분포를 갱신하는 것은, 생성된 출력 노드에 포함된 각각의 입력 노드에 관한 하나의 생성을 추가함으로써 행해질 수 있다.
실제로 생성된 정도들을 세이브(save)하는 대신, 생성된 출력 노드의 실제 정도가 원했던 정도와 상이하고, 생성된 출력 노드의 정도가 두 번째 방법 단계 동안 하강하는 것이 허용되는 경우, 생성시키기를 원했던(또는 기대했던) 정도(즉, 첫 번째 방법 단계의 첫 번째 부분 동안 결정된 것)를 세이브하는 것이 가능하다. 이 행동은 발견적 지도법이 충분히 정확할 때에는 불필요하다.
네트워크 재-인코딩 디바이스(D)의 작업을 쉽게 하기 위해, 디코더(DC)의 고전적인 디코딩 모듈(DDM)을 적응시키는 것이 유리하다. 더 정확하게는, 디코딩 모듈(DDM)이 수신된 LT 코드 심벌들을 디코딩하였을 때, 디코딩 모듈(DDM)은 각각의 정도에 의존하여 출력 노드와 입력 노드를 찾기 위해 네트워크 재-인코딩 디바이스(D)에 의해 사용되는 그것의 태너 그래프를 갱신한다. 따라서, 디코더(DC)의 디코딩 모듈(DM)은 그것의 태너 그래프에서의 그것들 각각의 정도에 대응하는 입력 노드와 출력 노드를 한정하는 데이터를 저장하기 위해 바람직하게 수정된다. 이들 데이터는, 예컨대 네트워크 재-인코딩 디바이스(D)에 쉽게 액세스 가능하게 하기 위해, 인덱스(index)들의 형태로 저장될 수 있다. 따라서 디코딩 모듈(DM)은 재-인코딩 모듈(RM)이 특별한 정도를 지닌 노드들을 제멋대로 선택하고, 또한 각각 정도를 지닌 얼마나 많은 노드가 디코더(DC)의 태너 그래프에 나타나는지를 아는 것을 허용하는 인덱스들의 표를 유지한다.
본 발명에 따른 수정된 디코딩 모듈(DDM)은 바람직하게는 적어도 부분적으로 소프트웨어 모듈들로 이루어진다. 하지만, 또한 전자 회로(들) 또는 하드웨어 모듈들, 또는 하드웨어 모듈과 소프트웨어 모듈의 결합물로 이루어질 수 있다(이 경우, 본 발명에 따라 수정된 DDM은 또한 하드웨어 모듈과 소프트웨어 모듈 사이에 상호작용하는 소프트웨어 인터페이스를 포함한다). 본 발명에 따라 수정된 DDM이 소프트웨어 모듈들로만 이루어지는 경우, 그것은 디코더(DC)의 메모리 또는 예컨대 통신 장비(CEi)에 의해 판독될 수 있는 CD-ROM과 같은 임의의 컴퓨터 소프트웨어 제품에 저장될 수 있다.
게다가, 디코더(DC)는 노드 리던던시(redundancy)들을 검출하여 네트워크 재-인코딩 디바이스(D)의 작업을 단순화시킬 수 있도록 하기 위해 더 수정될 수 있다. 실제로, 노드 리던던시는 본 발명에 따른 네트워크 재-인코딩 방법에 의해 증가되는데, 이는 본 발명에 따른 네트워크 재-인코딩 방법이 디코딩 복잡도(계산상 및 공간상)를 증가시키고 네트워크 재-인코더 디바이스(D)(디코더의 데이터를 사용하는)의 성능을 감소시키는 LT 코드 심벌들의 더 많은 여분의(redundant) 블록들을 만드는 경향이 있기 때문이다.
따라서, 본 발명은 디코딩될 출력 노드가 존재할 때 그것이 디코딩 모듈(DDM)에 의해 이전에 수신되었는지를 결정하고, 만약 이전에 수신되었다면, 그것이 이전에 디코딩되었고 디코더 태너 그래프에 다시 삽입될 필요가 없음을 신호로 알리는(signalling) 메시지를 생성시키도록 준비된 검출 모듈(DTM)을 디코더(DC)에 추가하는 것을 제안한다.
출력 노드가 수신될 때(그 출력 노드가 이전에 수신되고 디코딩되었는지를 결정하기 위해) 또는 디코딩 동안(예컨대, 출력 노드인 x=a
Figure pat00071
b
Figure pat00072
c
Figure pat00073
d가 또 다른 출력 노드인 y=a
Figure pat00074
c
Figure pat00075
d를 만들기 위해 부분적으로 디코딩될 때), 검출 모듈(DTM)이 사용될 수 있음을 주목하는 것이 중요하다. 이 마지막 경우, 검출 모듈(DTM)은 y가 이미 알려져 있는지 여부를 확인할 수 있다.
예컨대, 검출 모듈(DTM)은 수신된 출력 노드에 관한 키를 신속하게 계산하고, 2진 검색 트리들{예컨대, RB 트리들(Red Black trees)-일종의 자가 균형 2진 트리(self balancing binary tree)}이나 해시 테이블(hash table)들과 같은 빠른 판독 및 삽입 액세스들로 저장된 데이터 구조물들을 조사할 수 있다. 또 다른 키가 이미 삽입되었다는 것을 발견할 수 있다면, 동일한 출력 노드가 이미 수신되었고, 다시 디코딩될 필요가 없다고 결론을 내릴 수 있다. 따라서, 검출 모듈(DTM)은 수신된 출력 노드가 디코더(DC)의 태너 그래프에 삽입되는 대신 간단히 버려지게 하는 명령의 메시지를 생성시킨다.
대부분의 출력 노드가 낮은 정도(2 또는 3과 같은)를 가지고, 정도가 2인 2개의 출력 노드가 동일할 확률이 정도가 4인 2개의 출력 노드가 동일할 확률보다 훨씬 더 높기 때문에, 정도가 1,2, 또는 3인 출력 노드들로 리던던시 검출을 억제하는 것이 가능하다. 이 경우, 검출 모듈(DTM)은
Figure pat00076
가 되도록 정도가 1,2, 또는 3인 임의의 출력 노드에 관한 키(key)인 h(x)를 계산하기 위해 의도된 해시 방법을 구현할 수 있다. 이 해시 모드는 다음과 같이 될 수 있다.
먼저, 검출 모듈(DTM)은 오름 차순으로(예컨대, 그것들의 식별자들을 고려함으로써) 인코딩된 심벌(또는 출력 노드)을 합성하는 본래의 심벌들을 분류할 수 있다. 그런 다음, 키인
Figure pat00077
를 계산할 수 있는데, 여기서 x=a
Figure pat00078
b
Figure pat00079
c이고,
Figure pat00080
,
Figure pat00081
,
Figure pat00082
이며, L은 심벌(또는 LT 코드 심벌들) 길이이고,
Figure pat00083
는 심벌(또는 입력 노드)인 x를 식별하고 0과 L-1 사이의 값들을 취하는 정수이다. 어떤 심벌이 정도가 2라면, 간단히
Figure pat00084
을 설정하고, 어떤 심벌이 정도가 1이라면, 간단히
Figure pat00085
Figure pat00086
을 설정한다.
이 해시 방법은 키인 h(x)를 계산하기 위해, 오직 소수의 (일정한) 가산과 승산을 요구한다. 게다가, 이 계산된 키는 그것의 길이가
Figure pat00087
과 같다는 점을 보여줄 수 있기 때문에 많은 저장 공간을 요구하지 않는다. 또한 리던던시 검출 방법은 낮은 비용을 수반한다(예컨대, 길이가 L=65536인 출력 코드의 경우, 일반적으로 범용 프로세서들에 의해 제공되는 64비트 비교를 수반하게 된다).
본 발명에 따른 검출 모듈(DTM)은 바람직하게, 적어도 부분적으로는 소프트웨어 모듈들로 이루어진다. 하지만, 본 발명에 따른 검출 모듈(DTM)은 또한 전자 회로(들) 또는 하드웨어 모듈들, 또는 하드웨어 모듈과 소프트웨어 모듈의 결합물{이 경우, 본 발명에 따른 검출 모듈(DTM)은 또한 하드웨어 모듈과 소프트웨어 모듈 사이에서의 상호작용을 허용하는 소프트웨어 인터페이스를 포함한다}로 이루어질 수 있다. 본 발명에 따른 검출 모듈(DTM)이 소프트웨어 모듈들로만 이루어지는 경우, 통신 장비(CEi){예컨대, 그것의 디코더(DC)에서}의 메모리 또는 예컨대 통신 장비(CEi)에 의해 판독될 수 있는 CD-ROM과 같은 임의의 컴퓨터 소프트웨어 제품에 저장될 수 있다.
본 발명은 몇몇 장점들을 제공하고, 특히
- 복잡도가 낮은 네트워크 코드들을 생성시키는 것을 허용한다.
- 본 발명이 가우스 소거법(Gaussian elimination) 대신 확신 전달 디코딩(belief propagation decoding)을 사용할 수 있고, 따라서 갈로이스 필드(Gallois Field)
Figure pat00088
계산(arithmetic)을 사용하는 것을 회피하므로, RLNC(random linear network code)들보다 계산 측면에서 더 효율적인 네트워크 코드들을 생성시키는 것을 허용하기 때문에, 광범위한 응용예들에서 사용될 수 있다.
본 발명은 단지 예들로서 상술한 네트워크 재-인코딩 방법, 네트워크 재-인코딩 디바이스, 및 디코더의 실시예에 제한되지 않고, 다만 당업자가 이후 청구항들의 범위 내에 있다고 간주할 수 있는 모든 대안적인 실시예를 포함한다.

Claims (14)

  1. 네트워크에 연결된 적어도 하나의 통신 장비(CE: communication equipment)에 송신될 인코딩된 심벌들을 재-인코딩하기 위한 네트워크 재-인코딩 방법으로서,
    송신될 준비가 된 생성된 출력 노드들을 한정하는 새로운 LT 코드 심벌들을 만들어내기 위해, 알려진 값들을 가지고 부분적으로 디코딩된 노드들로 불리는 선택된 입력 노드(들) 및/또는 출력 노드(들)를 결합함으로써, 태너(Tanner) 그래프에 링크되고, 그 값들이 발견되어야 하는 디코딩된 심벌들을 한정하는 입력 노드들 사이의 XOR 불(Boolean) 연산(들)의 결과들을 각각 나타내고 인코딩된 심벌들을 나타내는 LT 코드 심벌들에 의해 한정된 출력 노드들을 재-인코딩하는 단계를 포함하고,
    상기 결합 단계 동안, XOR 불 연산들에 의해 상기 부분적으로 디코딩된 노드를 결합하며,
    상기 결합 단계 동안, 생성된 출력 노드들의 정도의 현재 분포 정도들 중에서, 동일한 정도의 제 1 선택된 기준 분포를 지닌 가장 높은 차이를 가지는 것을 결정하고, 어느 것이 이러한 정도를 가지는 생성된 출력 노드를 만들어내는 것을 허용하는지를 결정함으로써 시작하고, 이후 적어도 하나의 부분적으로 디코딩된 노드를 결합함으로써, 이러한 정도를 가지는 생성된 출력 노드를 만들어내는 것을 특징으로 하는, 네트워크 재-인코딩 방법.
  2. 제 1항에 있어서,
    상기 결합 단계에서, 선택된 발견된 지도법(heuristic)에 의해 이러한 정도를 가지는 생성된 출력 노드를 만들어내는 것을 허용하는 정도를 결정하는 것을 특징으로 하는, 네트워크 재-인코딩 방법.
  3. 제 1항 또는 제 2항에 있어서,
    상기 생성된 출력 노드를 만들어낸 후, 적어도 하나의 입력 노드가 생성된 출력 노드들을 만들기 위해 너무 많이 사용되었는지를 결정하고, 너무 많이 사용된 경우 이러한 입력 노드가 상기 생성된 출력 노드에 링크된 입력 노드들에 결합될 때, 상기 생성된 출력 노드의 정도가 변경되지 않은 채로 있는 것을 허용하는지를 결정하기 위하여, 상기 입력 노드들의 현재 분포를 제 2 선택된 기준 분포와 비교하며, 그 후 상기 입력 노드들의 상기 현재 분포를 정규화하기 위해, 상기 생성된 출력 노드로의 상기 너무 많이 사용된 입력 노드들 중 적어도 하나를, 너무 드물게 사용된 입력 노드로 대체하는 것을 특징으로 하는, 네트워크 재-인코딩 방법.
  4. 제 3항에 있어서,
    상기 생성된 출력 노드를, 상기 너무 많이 사용된 입력 노드를 포함하고 2와 같은 정도를 가지는 출력 노드와 결합하는 것을 특징으로 하는, 네트워크 재-인코딩 방법.
  5. 제 1항 내지 제 4항 중 어느 한 항에 있어서,
    상기 결합 단계에서, 송신될 준비가 된 상기 생성된 출력 노드를 만들어낸 후, 생성된 출력 노드들의 정도의 상기 현재 분포와 입력 노드들의 상기 현재 분포를 갱신하는 것을 특징으로 하는, 네트워크 재-인코딩 방법.
  6. 제 2항에 있어서,
    상기 결합 단계에서, 상기 발견적 지도법은 생성될 노드의 정도가 디코딩된 입력 노드들을 포함하는 커버된 입력 노드들의 개수와 적어도 하나의 이웃을 가지는 입력 노드들의 개수 이하인지를 확인하는 것으로 이루어지는 것을 특징으로 하는, 네트워크 재-인코딩 방법.
  7. 제 6항에 있어서,
    상기 발견적 지도법은 조건
    Figure pat00089
    이 입증되는지를 확인하는 것으로 또한 이루어지고, 여기서 d는 생성될 출력 노드의 결정된 정도이고, n(k)은 알려져 있는 d보다 적은 정도(k)를 가지는 부분적으로 디코딩된 노드들의 개수인 것을 특징으로 하는, 네트워크 재-인코딩 방법.
  8. 네트워크에 연결된 적어도 하나의 통신 장비(CE)에 송신될 인코딩된 심벌들을 재-인코딩하기 위한 네트워크 재-인코딩 디바이스(D)로서,
    송신될 준비가 된 생성된 출력 노드들을 한정하는 새로운 LT 코드 심벌들을 만들어내기 위해, 알려진 값들과 가지고 부분적으로 디코딩된 노드들이라고 부르는 선택된 입력 노드(들) 및/또는 출력 노드(들)를 결합함으로써, 태너(Tanner) 그래프에 링크되고 그 값들이 발견되어야 하는 디코딩된 심벌들을 한정하는 입력 노드들 사이의 XOR 불(Boolean) 연산(들)의 결과들을 각각 나타내고 인코딩된 심벌들을 나타내는 LT 코드 심벌들에 의해 한정된 출력 노드들을 재-인코딩하도록 준비된 재-인코딩 수단(RM: re-encoding means)을 포함하고,
    상기 재-인코딩 수단(RM)은, XOR 불 연산들을 실행함으로써, 상기 부분적으로 디코딩된 노드들을 결합하도록 준비가 되며,
    상기 재-인코딩 수단(RM)은, 생성된 출력 노드들의 정도의 현재 분포 정도들 중에서, 동일한 정도의 제 1 선택된 기준 분포를 지닌 가장 높은 차이를 가지는 것을 결정하고, 어느 것이 이러한 정도를 가지는 생성된 출력 노드를 만들어내는 것을 허용하는지를 결정하도록 준비되고, 이후 적어도 하나의 부분적으로 디코딩된 노드를 결합함으로써, 이러한 정도를 가지는 생성된 출력 노드를 만들어내는 것을 특징으로 하는, 네트워크 재-인코딩 디바이스.
  9. 제 8항에 있어서,
    상기 재-인코딩 수단(RM)은, 정도를 결정하기 위해 선택된 발견된 지도법을 적용하도록 준비되고, 이 정도는 그것을 가지는 생성된 출력 노드를 만들어내는 것을 허용하는 정도인 것을 특징으로 하는, 네트워크 재-인코딩 디바이스.
  10. 제 8항 또는 제 9항에 있어서,
    상기 생성된 출력 노드를 만들어낸 후, 상기 재-인코딩 수단(RM)은 적어도 하나의 입력 노드가 생성된 출력 노드들을 만들기 위해 너무 많이 사용되었는지를 결정하고, 너무 많이 사용된 경우 이러한 입력 노드가 상기 생성된 출력 노드에 링크된 입력 노드들에 결합될 때, 상기 생성된 출력 노드의 정도가 변경되지 않은 채로 있는 것을 허용하는지를 결정하기 위해, 상기 입력 노드들의 현재 분포를 제 2 선택된 기준 분포와 비교하며, 그 후 상기 입력 노드들의 상기 현재 분포를 정규화하기 위해, 상기 생성된 출력 노드로의 상기 너무 많이 사용된 입력 노드들 중 적어도 하나를, 너무 드물게 사용된 입력 노드로 대체하는 것을 특징으로 하는, 네트워크 재-인코딩 디바이스.
  11. 제 10항에 있어서,
    상기 재-인코딩 수단(RM)은 상기 생성된 출력 노드를, 상기 너무 많이 사용된 입력 노드를 포함하고 2와 같은 정도를 가지는 출력 노드와 결합하도록 준비되는 것을 특징으로 하는, 네트워크 재-인코딩 디바이스.
  12. 제 8항 내지 제 11항 중 어느 한 항에 있어서,
    상기 재-인코딩 수단(RM)은, 송신될 준비가 된 상기 생성된 출력 노드를 만들어낸 후, 생성된 출력 노드들의 정도들의 상기 현재 분포와 입력 노드들의 상기 현재 분포를 갱신하도록 준비되는 것을 특징으로 하는, 네트워크 재-인코딩 디바이스.
  13. 제 8항 내지 제 12항 중 어느 한 항에 있어서,
    상기 재-인코딩 수단(RM)은, 생성될 노드의 정도가 디코딩된 입력 노드들을 포함하는 커버된 입력 노드들의 개수와 적어도 하나의 이웃을 가지는 입력 노드들의 개수 이하인지를 확인하는 것으로 이루어지는 발견적 지도법을 적용하도록 준비되는 것을 특징으로 하는, 네트워크 재-인코딩 디바이스.
  14. 제 13항에 있어서,
    상기 재-인코딩 수단(RM)은, 조건
    Figure pat00090
    이 입증되는지를 확인하는 것으로 또한 이루어지는 발견적 지도법을 적용하도록 준비되고, 여기서 d는 생성될 출력 노드의 결정된 정도이며, n(k)은 알려져 있는 d보다 적은 정도(k)를 가지는 부분적으로 디코딩된 노드들의 개수인 것을 특징으로 하는, 네트워크 재-인코딩 디바이스.
KR1020100006601A 2009-01-27 2010-01-25 통신 장비에 송신될 인코딩된 심벌을 재-인코딩하기 위한 네트워크 재-인코딩 방법 및 디바이스 KR101605062B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP09305072.2 2009-01-27
EP09305072A EP2211471A1 (en) 2009-01-27 2009-01-27 Network coding using Luby transform (LT) codes

Publications (2)

Publication Number Publication Date
KR20100087645A true KR20100087645A (ko) 2010-08-05
KR101605062B1 KR101605062B1 (ko) 2016-03-21

Family

ID=40677625

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100006601A KR101605062B1 (ko) 2009-01-27 2010-01-25 통신 장비에 송신될 인코딩된 심벌을 재-인코딩하기 위한 네트워크 재-인코딩 방법 및 디바이스

Country Status (6)

Country Link
US (1) US7940197B2 (ko)
EP (2) EP2211471A1 (ko)
JP (1) JP5474582B2 (ko)
KR (1) KR101605062B1 (ko)
CN (1) CN101860413B (ko)
BR (1) BRPI1000095A2 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101153520B1 (ko) * 2010-11-30 2012-06-11 한국전자통신연구원 부호화 심볼의 패킷화 방법 및 이러한 방법을 사용하는 장치
CN102684824B (zh) * 2011-03-17 2015-08-12 中兴通讯股份有限公司 一种数据传输方法和系统
CN102355323A (zh) * 2011-08-03 2012-02-15 林子怀 基于无率lt编码的无线传感网的分布式网络通道编码方法
CN103297059B (zh) * 2012-02-23 2016-08-17 河南科技大学 一种lt码译码方法
CN102638332A (zh) * 2012-03-22 2012-08-15 西安电子科技大学 一种改进的lt译码方法
US9215457B2 (en) * 2012-05-18 2015-12-15 Mitsubishi Electric Research Laboratories, Inc. Method and system for communicating multimedia using reconfigurable rateless codes and decoding in-process status feedback
US9060252B2 (en) * 2012-07-31 2015-06-16 International Business Machines Corporation Rate adaptive transmission of wireless broadcast packets
CN103095310B (zh) * 2012-12-31 2015-12-09 东南大学 一种适用于无线信道的lt码的译码电路
EP2858286A1 (en) * 2013-10-04 2015-04-08 Alcatel Lucent Rateless decoding
CN103856560B (zh) * 2014-02-19 2017-03-15 东莞中山大学研究院 一种基于编码耦合的p2p流媒体调度系统及方法
US9967909B2 (en) * 2015-11-04 2018-05-08 Motorola Mobility Llc Wireless ad hoc network assembly using network coding
US9936052B2 (en) 2015-11-04 2018-04-03 Motorola Mobility Llc Wireless ad hoc network assembly using network coding
US9942934B2 (en) 2015-11-04 2018-04-10 Motorola Mobility Llc Wireless ad hoc network assembly using network coding
CN108268243B (zh) * 2018-01-30 2021-06-04 深圳职业技术学院 一种基于查找的复合域乘法装置
US11943825B2 (en) * 2020-07-09 2024-03-26 Qualcomm Incorporated Feedback-based broadcasting of network coded packets with sidelink
CN112051983B (zh) * 2020-09-03 2023-08-11 深圳职业技术学院 一种基于流水线的有限域高斯约当消元装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101179279B (zh) * 2007-11-27 2012-11-07 浙江大学 适合于加性白高斯噪声信道的无速率码编译码方法
US20090265141A1 (en) * 2008-04-21 2009-10-22 Aly Salah A Distributed storage in wireless sensor networks
US8204086B2 (en) * 2008-05-19 2012-06-19 Microsoft Corporation Natural network coding for multi-hop wireless network

Also Published As

Publication number Publication date
BRPI1000095A2 (pt) 2011-03-29
CN101860413A (zh) 2010-10-13
JP5474582B2 (ja) 2014-04-16
US20100188271A1 (en) 2010-07-29
EP2211471A1 (en) 2010-07-28
US7940197B2 (en) 2011-05-10
KR101605062B1 (ko) 2016-03-21
EP2211472B1 (en) 2012-08-22
CN101860413B (zh) 2014-07-30
EP2211472A1 (en) 2010-07-28
JP2010178332A (ja) 2010-08-12

Similar Documents

Publication Publication Date Title
KR101605062B1 (ko) 통신 장비에 송신될 인코딩된 심벌을 재-인코딩하기 위한 네트워크 재-인코딩 방법 및 디바이스
Mondelli et al. From polar to Reed-Muller codes: A technique to improve the finite-length performance
Sybis et al. Channel coding for ultra-reliable low-latency communication in 5G systems
WO2013152605A1 (zh) 极性码的译码方法和译码装置
Balakrishnan et al. De-randomizing shannon: The design and analysis of a capacity-achieving rateless code
CN109547034B (zh) 译码方法及设备、译码器
CN106998242B (zh) 空间通信分布式动态网络拓扑的不等保护纠删编码方法
WO2018029542A2 (en) Method and apparatuse for coding and decoding polar codes
Zhao et al. Improved online fountain codes
Shi et al. Zigzag decodable online fountain codes with high intermediate symbol recovery rates
Huang et al. An A*-based algorithm for constructing reversible variable length codes with minimum average codeword length
CN110430011B (zh) 基于规则变量节点度分布的bats码编码方法
CN111447044B (zh) 分布式存储方法和传输译码方法
Song et al. Adaptation is useless for two discrete additive-noise two-way channels
CN110460340B (zh) 基于随机卷积网络纠错码的自适应构造与译码方法
Chen Physical layer security for cooperative relaying in broadcast networks
Matloub et al. Universal zero-delay joint source–channel coding
Langberg et al. Beyond capacity: The joint time-rate region
Jiang et al. Achievable rates for discrete memoryless relay channels with generalised feedback
Yao et al. LDGM Codes Based Near-optimal Coding for Adaptive Steganography
WO2019020182A1 (en) CONSTRUCTION OF A POLAR CODE BASED ON A DISTANCE CRITERION AND A RELIABILITY CRITERION, PARTICULARLY A POLAR CORE WITH MULTIPLE CORES
Shirvanimoghaddam et al. Distributed rateless coding with cooperative sources
Yuan et al. A modified design of Raptor codes for small message length
Yang et al. A distributed LT code design for multiple-access relay networks subject to erasures
Antonini et al. Causal (progressive) encoding over binary symmetric channels with noiseless feedback

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
LAPS Lapse due to unpaid annual fee