KR101405952B1 - 데이터 블록 전송방법 - Google Patents

데이터 블록 전송방법 Download PDF

Info

Publication number
KR101405952B1
KR101405952B1 KR1020070125735A KR20070125735A KR101405952B1 KR 101405952 B1 KR101405952 B1 KR 101405952B1 KR 1020070125735 A KR1020070125735 A KR 1020070125735A KR 20070125735 A KR20070125735 A KR 20070125735A KR 101405952 B1 KR101405952 B1 KR 101405952B1
Authority
KR
South Korea
Prior art keywords
blocks
block
encoded
transmitting
receiving end
Prior art date
Application number
KR1020070125735A
Other languages
English (en)
Other versions
KR20090058927A (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 엘지전자 주식회사
Priority to KR1020070125735A priority Critical patent/KR101405952B1/ko
Priority to US12/741,163 priority patent/US8340161B2/en
Priority to PCT/KR2008/006611 priority patent/WO2009072751A2/en
Publication of KR20090058927A publication Critical patent/KR20090058927A/ko
Application granted granted Critical
Publication of KR101405952B1 publication Critical patent/KR101405952B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/20Arrangements for detecting or preventing errors in the information received using signal quality detector
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0006Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
    • H04L1/0007Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0023Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the signalling
    • H04L1/0026Transmission of channel quality indication
    • 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/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1671Details of the supervisory signal the supervisory signal being transmitted together with control information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/10Scheduling measurement reports ; Arrangements for measurement reports

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

본 발명은 신뢰성을 보장하기 위한 데이터 전송방법에 관한 것으로서, 특히 채널환경에 따라 데이터 블록의 사이즈를 조절함으로써 데이터를 효율적으로 전달하기 위한 방법에 관한 것이다. 상기 방법은 입력 데이터를 다수의 블록들로 분할하고, 상기 다수의 블록들을 이용하여 하나 이상의 블록집합들을 생성하는 단계와 상기 하나 이상의 블록집합들 중 제 1 블록집합을 부호화하고, 부호화된 상기 제 1 블록집합에서 소정 개수의 부호화된 블록을 수신단으로 전송하는 단계와 상기 수신단으로부터 채널환경의 상태를 나타내는 신호를 수신하는 단계와 상기 신호에 따라 상기 소정 개수의 부호화된 블록의 개수보다 증가 또는 감소된 개수의 부호화된 블록을 패킹하여 상기 수신단으로 전송하는 단계를 포함할 수 있다. 본 발명의 실시예를 이용하면, 채널환경에 따라 적응적으로 블록의 사이즈를 증감함으로써 효율적으로 블록 오류율을 조절할 수 있다.
랜덤 선형 부호화, 채널 부호화, 블록 부호화, 채널 상태

Description

데이터 블록 전송방법{Method of data block transmitting}
본 발명은 신뢰성을 보장하기 위한 데이터 전송방법에 관한 것으로서, 특히 채널환경에 따라 데이터 블록의 사이즈를 조절함으로써 데이터를 효율적으로 전달하기 위한 방법에 관한 것이다.
일반적인 기술에서 부호화란 신호를 특정한 부호들의 나열로 그 형태를 바꾸는 것으로서, 소스정보를 이진 코드로 변환하는 과정(소스 부호화)과 이를 처리 및 전송하는 과정에서 오류를 줄이는 변환과정(채널 부호화)을 총칭한다.
소스 부호화(Source coding)란 신호의 중복성을 효과적으로 제거함으로써 부호화의 결과로 나오는 데이터의 양 및 전송 데이터의 양을 줄이는 기능을 한다. 소스 부호화는 정보의 형태를 기준으로 영상 부호화 및 음성 부호화 등으로 구분할 수 있으며, 원 데이터의 손실 유무를 기준으로 비손실 압축방식 또는 손실압축방식으로 구분할 수 있다.
채널 부호화(Channel coding)란 신호가 채널을 통과할 때 일그러짐, 손실 등이 발생하더라도 수신기가 원신호를 복원할 수 있도록 하기 위해 사용하는 것이다. 즉, 전송로에서의 오류를 줄이고자한 부호화 기법이다.
채널 부호화는 단지 데이터 전송 중에 발생한 오류의 존재 여부만을 수신단이 알 수 있도록 하는 오류검출 방법 및 수신기가 전송되는 문자가 무엇인가를 추론할 수 있도록, 전송되는 데이타 블록에 충분한 여분의 정보(Redundancy)를 포함시키는 오류정정 방식 등이 있다.
블록 부호화는 데이터를 일정한 블록 단위로 묶어서 부호화 및 복호화를 수행하는 채널 부호화 방식을 말한다. 즉, 입력되는 데이터 비트들을 일정한 블록 단위의 길이로 잘라서 패리티 비트를 추가시켜서 전송하는 방식이다. 수신단에서는 데이터 블록 및 패리티 비트를 비교하여 오류 여부를 검출하고, 이를 정정할 수 있다.
블록 부호화 방식은 일반적으로 널리 사용된다. 이때, 일반적으로 블록의 사이즈(size)가 크면 블록 오류율(block error rate)이 커질 가능성이 있으나 블록을 전송하기 위해 추가되는 헤더 정보와 같은 제어 정보의 오버헤드가 작아진다. 반면에, 블록의 사이즈가 작으면 블록 오류율이 작아질 수 있으나 헤더 정보와 같은 제어 정보의 오버헤드가 커질 수 있다.
일반적으로 사용되는 기술에서는 채널 환경에 상관없이 고정된 블록사이즈를 사용하기 때문에 채널환경에 따른 블록 오류율을 동적으로 조절할 수 없는 문제가 발생할 수 있다.
본 발명은 상기한 바와 같은 일반적인 기술의 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은 채널 환경에 따라 블록 오류률을 동적으로 조절하는 방법을 제안함으로써 수율(throughput)을 개선하고, 신뢰성 및 효율성이 보장된 통신을 제공하는 것이다.
본 발명의 다른 목적은 채널 환경에 따라 적응적으로 블록의 사이즈를 증감하는 방법을 제안하는 것이다.
본 발명의 또 다른 목적은 채널 환경에 따라 블록의 개수를 증감함으로써, 전송하는 전체 블록의 사이즈를 조절하는 방법을 제안하는 것이다.
상기의 기술적 과제를 해결하기 위해, 본 발명은 신뢰성을 보장하기 위한 데이터 전송방법에 관한 것으로서, 특히 채널환경에 따라 데이터 블록을 효율적으로 전달하기 위한 방법에 관한 것이다.
본 발명의 일 양태로서, 상기 방법은 입력 데이터를 다수의 블록들로 분할하고, 상기 다수의 블록들을 이용하여 하나 이상의 블록집합들을 생성하는 단계와 상기 하나 이상의 블록집합들 중 제 1 블록집합을 부호화하고, 부호화된 상기 제 1 블록집합에서 소정 개수의 부호화된 블록을 수신단으로 전송하는 단계와 상기 수신단으로부터 채널환경의 상태를 나타내는 신호를 수신하는 단계와 상기 신호에 따라 상기 소정 개수의 부호화된 블록의 개수보다 증가 또는 감소된 개수의 부호화된 블 록을 패킹하여 상기 수신단으로 전송하는 단계를 포함할 수 있다.
또한, 상기 방법에서 상기 신호가 상기 채널환경이 좋은 것을 나타내면, 바람직하게 상기 하나 이상의 블록집합들 중 제 2 블록집합을 부호화하고, 부호화된 상기 제 2 블록집합에서 부호화된 블록을 차용하여 상기 소정 개수의 부호화된 블록의 개수보다 증가된 개수의 부호화된 블록을 패킹하고, 상기 패킹된 블록들을 상기 수신단으로 전송할 수 있다. 이때, 상기 제 1 블록집합 및 상기 제 2 블록집합을 부호화하는데 사용한 랜덤계수는 바람직하게 서로 동일할 수 있다.
또한, 상기 방법에서 상기 신호가 상기 채널환경이 좋은 것을 나타내면, 바람직하게 부호화된 상기 제 1 블록집합에서 상기 소정 개수의 부호화된 블록보다 증가된 개수의 부호화된 블록을 선택하여 패킹하고, 상기 수신단으로 전송할 수 있다. 이때, 상기 소정 개수의 부호화된 블록보다 증가된 개수의 부호화된 블록들을 부호화하는데 사용한 랜덤계수는 서로 독립적일 수 있다.
또한, 상기 방법에서 상기 신호가 상기 채널환경이 안 좋은 것을 나타내면, 바람직하게 상기 소정 개수 보다 적은 개수의 부호화된 블록을 패킹하고, 상기 패킹된 부호화된 블록들을 상기 수신단으로 전송할 수 있다.
또한, 상기 방법에서 상기 하나 이상의 부호화된 블록집합은, 송신단에서 상기 하나 이상의 블록집합을 부호화(coding)하여 생성되고 상기 하나 이상의 부호화된 블록집합에 포함된 각각의 부호화된 블록들은 서로 독립적일 수 있다.
또한, 상기 방법에서 상기 하나 이상의 블록집합을 부호화하는 방법은, 바람직하게 랜덤 리니어 코딩(Random Liner Coding) 방법을 사용할 수 있다.
또한, 상기 방법에서 상기 소정 개수의 부호화된 블록은 상기 하나 이상의 블록집합을 부호화하기 위한 계수에 관한 정보를 더 포함할 수 있다. 이때, 상기 계수에 관한 정보는 상기 계수로 이뤄진 행렬, 상기 계수를 생성하기 위한 시드(seed) 또는 상기 계수를 나타내는 인덱스 중 하나를 나타낼 수 있다.
본 발명의 다른 양태로서, 상기 방법은 송신단으로부터 소정 개수의 부호화된 블록을 수신하는 단계와 채널환경의 상태를 나타내는 신호를 상기 송신단으로 전송하는 단계와 상기 송신단으로부터 상기 신호에 따라 상기 소정 개수의 부호화된 블록의 개수보다 증가 또는 감소된 개수의 부호화된 블록을 수신하는 단계를 포함할 수 있다.
본 발명에 따르면 다음과 같은 효과가 있다.
채널환경에 따라 적응적으로 블록의 사이즈를 증감함으로써 블록 오류율을 조절할 수 있다. 또한, 채널환경에 따라 블록의 개수를 증감하는 방법을 통해, 전체 블록의 사이즈를 조절할 수 있다. 따라서, 채널환경에 따라 블록 사이즈를 증감하여 데이터 처리량(throughput)을 개선하고 신뢰성 및 효율성이 보장된 통신을 수행할 수 있다.
상기의 기술적 과제를 해결하기 위해, 본 발명은 신뢰성을 보장하기 위한 데이터 전송방법에 관한 것으로서, 특히 채널환경에 따라 데이터 블록을 효율적으로 전달하기 위한 방법에 관한 것이다.
이하의 실시예들은 광대역 무선 접속 시스템에 적용할 수 있다. 다만, 여기서 쓰이는 세부사항을 나타내는 용어에 한정될 필요는 없으며, 무선 시스템은 물론 유선 시스템에도 폭넓게 고려될 수 있다.
이하의 실시예들은 본 발명의 구성요소들과 특징들을 소정 형태로 결합한 것들이다. 각 구성요소 또는 특징은 별도의 명시적 언급이 없는 한 선택적인 것으로 고려될 수 있다. 각 구성요소 또는 특징은 다른 구성요소나 특징과 결합되지 않은 형태로 실시될 수 있다. 또한, 일부 구성요소들 및/또는 특징들을 결합하여 본 발명의 실시예를 구성할 수도 있다. 본 발명의 실시예들에서 설명되는 동작들의 순서는 변경될 수 있다. 어느 실시예의 일부 구성이나 특징은 다른 실시예에 포함될 수 있고, 또는 다른 실시예의 대응하는 구성 또는 특징과 교체될 수 있다.
본 명세서에서 본 발명의 실시예들은 기지국과 단말 간의 데이터 송수신 관계를 중심으로 설명되었다. 여기서, 기지국은 단말과 직접적으로 통신을 수행하는 네트워크의 종단 노드(terminal node)로서의 의미를 갖는다. 본 문서에서 기지국에 의해 수행되는 것으로 설명된 특정 동작은 경우에 따라서는 기지국의 상위 노드(upper node)에 의해 수행될 수도 있다.
즉, 기지국을 포함하는 다수의 네트워크 노드들(network nodes)로 이루어지는 네트워크에서 단말과의 통신을 위해 수행되는 다양한 동작들은 기지국 또는 기지국 이외의 다른 네트워크 노드들에 의해 수행될 수 있음은 자명하다. '기지국'은 고정국(fixed station), Node B, eNode B(eNB), 억세스 포인트(access point) 등의 용어에 의해 대체될 수 있다. 또한, '단말'은 UE(User Equipment), MS(Mobile Station), MSS(Mobile Subscriber Station) 등의 용어로 대체될 수 있다.
본 발명의 실시예들은 다양한 수단을 통해 구현될 수 있다. 예를 들어, 본 발명의 실시예들은 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다.
하드웨어에 의한 구현의 경우, 본 발명의 실시예들에 따른 방법은 하나 또는 그 이상의 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 실시예들에 따른 방법은 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차 또는 함수 등의 형태로 구현될 수 있다. 소프트웨어 코드는 메모리 유닛에 저장되어 프로세서에 의해 구동될 수 있다. 상기 메모리 유닛은 상기 프로세서 내부 또는 외부에 위치하여, 이미 공지된 다양한 수단에 의해 상기 프로세서와 데이터를 주고 받을 수 있다.
이하의 설명에서 사용되는 특정(特定) 용어들은 본 발명의 이해를 돕기 위해서 제공된 것이며, 이러한 특정 용어의 사용은 본 발명의 기술적 사상을 벗어나지 않는 범위에서 다른 형태로 변경될 수 있다.
본 발명의 실시예들에서는 랜덤 선형 부호화(random linear coding) 방법을 사용하여 데이터를 부호화할 수 있다. 상기 랜덤 선형 부호화 방법은 블록 부호화 방법의 하나이다.
랜덤 선형 부호화 방법의 특징은, 각각의 부호화된 블록(coded block)들이 원본 블록 집합(original block set)에 포함된 모든 블록들에 대한 정보를 포함할 수 있다는 것이다. 따라서, 일부 부호화된 블록이 송수신 도중에 유실되더라도 해당 부호화된 블록을 다시 수신할 필요없이 다른 부호화된 블록을 수신하여 신속하게 데이터를 복원할 수 있다. 랜덤 선형 부호화 방법은 본 발명에서 예시하는 데이터 처리 방법을 정의한 용어에 불과하며, 상기 방법을 나타내는 용어는 다양하게 변형될 수 있다.
도 1은 본 발명의 실시예에 적용할 수 있는 랜덤 선형 부호화 방법을 사용하여 데이터 블록 집합들을 부호화하는 과정을 나타내는 도면이다.
도 1을 참조하면, 원본 데이터(original data)는 송신단의 상위계층으로부터 전달된 데이터(SDU: Service Data Unit)를 나타낸다. 송신단은 원본 데이터를 작은 블록(또는, 패킷) 들로 분할할 수 있다. 송신단은 분할된 블록들을 임의의 개수(n)로 묶어서 블록집합(또는, 세그먼트(segment))을 구성할 수 있다.
이때, 블록집합의 개수(n)는 통신망의 채널환경, 송신단과 수신단의 성능정보 및 응용 프로그램의 요구사항 등에 의해 결정될 수 있다. 또한, 송신단은 총 m개의 원본 블록집합을 구성할 수 있다.
송신단은 분할된 상기 데이터 블록들을 부호화(coding)하기 위한 랜덤 계수행렬(random coefficient matrix, cji)을 생성한다. 송신단은 상기 분할된 데이터 블록들에 일정한 규칙에 따라 생성된 상기 랜덤 계수행렬(cji)을 이용하여 부호화할 수 있다.
송신단은 블록집합 단위로(예를 들어, 선택된 n개의 블록마다) 랜덤 선형 부호화 방법을 사용하여 부호화를 수행할 수 있다. 이때, n개의 부호화된 블록들의 집합을 부호화된 블록집합(coded block set)이라 부를 수 있다. 수신단은 선택된 개수(n) 만큼의 부호화된 블록들을 수신하면 복호화를 수행할 수 있다.
랜덤 선형 부호화 방법을 적용하여 생성된 각각의 부호화된 블록들은 원본 블록집합에 포함된 모든 블록들에 대한 정보를 포함할 수 있다. 따라서, 수신단에서 수신한 부호화된 블록들로부터 일련의 정보 블록을 복원하기 위해, n개의 부호화된 블록들 및 각 블록을 부호화할 때 사용한 랜덤계수들이 필요하다.
송신단은 수신단이 데이터를 완전히 복호화할 때까지 새로운 랜덤계수들을 생성하고, 부호화된 블록들을 만들어 수신단으로 전송한다. 이때, n개의 부호화된 블록들은 부호화된 순서대로 전달될 필요가 없으며, 각각의 부호화된 블록들은 독립적(independent)이다.
다음 수학식 1은 원본 블록 집합(
Figure 112007087672102-pat00001
)을 부호화하여 생성되는 부호화된 블록 집합(
Figure 112007087672102-pat00002
)을 생성하는 방법의 일례를 나타낸다.
Figure 112007087672102-pat00003
수학식 1에서
Figure 112007087672102-pat00004
를 계수행렬이라 하고, 이는 원본 블록집합(
Figure 112007087672102-pat00005
)을 조합하는 방법을 나타낸다. 계수행렬(
Figure 112007087672102-pat00006
)을 생성하는 방법은 다음과 같다.
랜덤 선형 부호화 방법에서 사용되는 계수행렬(
Figure 112007087672102-pat00007
)은 송신단 또는 송신단과 수신단이 일정 범위에서 결정한 난수(random number)를 이용하여 생성될 수 있다. 난수란, 송신단이 또는 송신단과 수신단이 협의를 통해 일정 범위(예를 들어, 0~255)의 수를 정하고, 상기 일정 범위의 수에서 무작위로 추출한 수를 말한다. 또한, 계수행렬(
Figure 112007087672102-pat00008
)은 랜덤계수를 생성하는데 필요한 시드(seed) 값을 이용하여 생성될 수도 있다. 이때, 계수행렬의 사이즈는 n×n으로 정의될 수 있다.
다음 수학식 2는 상기 수학식 1을 다른 표현 방법으로 나타낸 것이다.
Figure 112007087672102-pat00009
수학식 2에서 부호화된 블록은 coded-blkj로 나타낼 수 있고, 계수행렬은 cji로 나타낼 수 있다. 또한, 원본 블록은 blki로 나타낼 수 있다.
송신단에서 첫 번째 부호화된 블록 집합의 n개의 부호화된 블록들을 모두 전송하고, 수신단에서 n개의 부호화된 블록들을 모두 수신하면 원본 블록집합을 복원할 수 있다. 이후, 송신단은 다음 두 번째 블록집합에 포함된 부호화된 블록들을 전송하는 방법으로 데이터 통신이 이뤄진다.
이때, 각 부호화된 블록들의 사이즈(s)는 처음 통신이 개시되는 시점에서 송신단과 수신단의 합의에 의해서 결정될 수 있다. 한번 결정된 데이터 블록의 사이즈는 일반적으로 통신이 완료될 때까지 변경되지 않는다.
다음 수학식 3은 블록 오류율(또는, 패킷 오류율)을 계산하는 방법을 나타낸다.
Figure 112007087672102-pat00010
블록의 사이즈가 크면 평균 블록 오류율이 크게 되지만, 평균 처리량(average throughput)은 크게 되고, 블록의 사이즈가 작으면 평균 블록 오류율이 작게 되지만, 평균 처리량은 적게 된다.
본 발명의 실시예들에서는 일반적인 방법과 다르게 채널의 환경에 따라 데이터 블록의 사이즈를 조절하는 방법을 제안한다. 즉, 본 발명의 실시예들을 이용하면 블록 자체의 사이즈를 증감하거나, 한번에 전송되는 블록의 개수를 증감함으로써 블록의 사이즈를 조절할 수 있다.
도 2는 본 발명의 바람직한 일 실시예로서, 채널환경에 따라 송신단에서 전송하는 블록의 개수를 증감하는 방법을 나타내는 도면이다.
도 2를 참조하면, 송신단은 입력되는 데이터를 하나 이상의 블록들로 분할할 수 있다. 송신단은 하나 이상의 블록들에서 임의 개수(n)의 블록을 선택하여 블록집합들을 생성할 수 있다. 이때, 블록집합은 분할된 블록들이 모두 전송될 때까지 형성될 수 있다(S201).
송신단은 블록집합 단위로 부호화를 수행한다. 이때, 부호화를 수행하는 경우, 바람직하게는 도 1의 랜덤 선형 부호화 방법이 사용될 수 있다. 랜덤 선형 부호화 방법을 사용하여 부호화를 하는 경우, 첫 번째 블록집합을 부호화하는데 필요한 계수행렬(n×n)과 두 번째 블록집합을 부호화하는데 필요한 계수행렬은 같은 것이 사용될 수 있고 다른 것이 사용될 수도 있다. 또한, 각각의 부호화된 블록들을 부호화할 때 사용한 랜덤 계수들은 한 블록집합 내에서는 바람직하게 서로 독립적이다(S202).
송신단은 첫 번째 부호화된 블록집합에 포함된 소정 개수의 부호화된 블록들을 수신단으로 전송한다. 이때, 송신단에서 소정 개수의 부호화된 블록은 'f' 개인 것을 가정한다. 상기 'f'는 임의로 결정된 것이며, 시스템의 상황이나 사용자 요구 사항에 따라 변경될 수 있다(S203).
S203 단계에서 'f'는 복호화에 필요한 개수인 n개보다 작거나 클 수 있으며, 'f'개 안에는 동일한 블록집합의 부호화된 블록과 다른 블록집합의 부호화된 블록이 포함될 수 있다. 복호화시에는 동일한 블록 집합에 포함된 부호화된 블록들의 개수가 최소 n개만 오류 없이 전송이 되면 수신단에서 복호화가 가능하다.
S203 단계에서 송신단이 수신단으로 'f' 개의 부호화된 블록들을 전송하는 경우, 송신단은 S202 단계의 랜덤 선형 부호화 과정에서 사용된 계수(coefficient)에 관한 정보를 함께 전송할 수 있다.
예를 들어, 계수행렬 자체를 부호화된 블록들과 함께 전송할 수 있다. 또한, 송신단은 S202 단계의 랜덤 선형 부호화 과정에서 사용된 계수들의 인덱스(index)만을 수신단으로 전송할 수 있다. 송신단이 인덱스만을 수신단으로 전송하는 경우, 송신단과 수신단은 미리 정해진 랜덤 계수의 집합 및 각 랜덤 계수를 나타내는 인덱스를 동일하게 가지고 있음을 가정한다. 또한, 송신단은 S202 단계에서 랜덤 선형 부호화 과정에서 랜덤계수를 만들 때 사용한 시드(seed) 값을 첫 부호화된 블록 전송시에 수신단으로 전송할 수 있다.
송신단이 계수에 관한 정보를 수신단으로 전송하는 이유는 수신단이 랜덤선형부호화 방법을 이용하여 생성된 부호화된 블록들을 복호화하기 위해서이다.
수신단은 최초 'f' 개의 부호화된 블록들을 수신하는 과정에서, 채널 품질을 측정하여 채널품질(CQI: Channel Qualty Indication) 정보를 송신단으로 전송할 수 있다. 송신단은 CQI 신호를 수신하면 현재 채널환경의 상태를 판단할 수 있다(S204).
만약, S204 단계에서 송신단이 채널환경이 좋다고(good) 판단하면, 다음 부호화된 블록들을 전송할 때는 최초 'f' 개의 부호화된 블록의 개수보다 증가시켜 수신단으로 전송할 수 있다(S205).
그러나, S204 단계에서 송신단이 채널환경이 나쁘다고(bad) 판단하면, 다음 부호화된 블록들을 전송할 때에 최초 'f' 개의 부호화된 블록의 개수보다 감소시켜 수신단으로 전송할 수 있다(S206).
이때, 송신단은 채널환경에 따라 부호화된 블록의 개수를 증감하지 않고 일정한 개수를 유지하여 전송할 수도 있다.
수신단이 최초 'f' 개의 부호화된 블록들에 대한 채널환경에 대한 정보를 송신단으로 전송한 후에, 송신단으로부터 최초 'f' 개보다 증가되거나 감소된 개수의 부호화된 블록들을 수신할 수 있다. 수신단은 다시 채널품질을 측정하여 채널품질정보(CQI)를 송신단으로 전송한다. 송신단은 CQI 신호를 수신한 후에 채널 환경을 판단하고 전송할 부호화된 블록의 개수를 증가할 것인지 또는 감소할 것인지를 결정하게 된다(S207).
이러한 S204 내지 S207 단계는 S201 단계 및 S202 단계를 통해 생성한 모든 부호화된 블록집합의 부호화된 블록들 중 복호화에 필요한 오류 없는 n개를 모두 전송할 때까지 반복될 수 있다.
상술한 과정을 통해 송신단에서 전송하는 코드블록의 개수를 증감함으로써 전송하는 블록들의 사이즈를 증감하여 채널환경에 효율적으로 적응할 수 있다. 물론, 송신단은 채널환경에 따라 부호화된 블록의 개수를 증감하지 않고 일정한 개수를 유지하여 전송할 수도 있다.
도 2에서 설명한 과정은 첫 번째 블록집합에 포함된 부호화된 블록이 복호화에 필요한 개수만큼(n 개) 오류 없이 전송될 때까지 반복될 수 있다. 또한, 첫 번째 블록집합의 전송이 완료되면 두 번째 부호화된 블록집합이 전송된다. 이러한 과정은 입력된 데이터가 모두 전송될 때까지 반복될 수 있다.
이하의 실시예들에서 본 발명을 더욱 효과적으로 설명하기 위해, 부호화된 데이터 블록은 코드블록(coded block)이라 부르고, 부호화된 블록집합은 세그먼트(segment)라 부르기로 한다.
도 3은 본 발명의 바람직한 일 실시예로서, 송신단에서 코드블록을 차용(borrowing)하여 코드블록의 사이즈를 증감하는 방법을 나타내는 도면이다.
무선 통신망에서는 무선 채널의 상태를 보고하기 위해서 CQI 신호를 사용할 수 있다. 수신단은 CQI 신호를 이용하여 채널의 상태를 송신단으로 보고할 수 있다. 송신단은 CQI 신호를 이용하여 AMC(Adaptive Modulation & Coding) 기법을 수행할 수 있다. 즉, 송신단은 랜덤 선형 부호화 방법을 적용하는 통신 시스템에서 블록의 사이즈를 결정하는데 CQI 신호를 이용할 수 있다.
CQI 신호가 전달할 수 있는 채널 정보량에 따라 본 발명의 실시예에서 적용하는 방법이 달라질 수 있다.
본 발명의 실시예에서는, CQI 신호가 전달할 수 있는 정보가 1 비트(bit)로서 현재 채널의 상태가 좋은지(good) 또는 나쁜지(bad)만을 전달할 수 있는 것을 가정한다. 이때는 송신단이 CQI 신호를 코드블록을 한 개씩 증가 또는 감소시킴으로써 코드블록의 전송 사이즈를 가변할 수 있다.
만약, CQI 신호가 전달할 수 있는 채널 정보량이 많다면, 송신단이 전송할 수 있는 부호화된 블록의 개수를 명시적으로 알려줄 수도 있으며, 이 경우에는 송신단은 알려준 부호화된 블록의 개수만큼 패킹(packing)하여 수신단으로 전송할 수 있다. 이때, 패킹이란 하나 이상의 블록을 묶거나 결합하거나 연결하는 모든 행위 를 지칭할 수 있다.
도 3에서 'Ci'는 랜덤계수의 번호(random coefficient number)를 나타내고, 'i'는 각 랜덤계수의 인덱스(random coefficient index)를 나타낸다. 또한, 'Sm'은 세그먼트의 번호(또는, 부호화된 블록집합의 번호)를 나타내고, 'm'는 세그먼트의 인덱스(segment index)를 나타낸다. 또한, 'Bmn'은 코드블록(또는, 부호화된 블록)의 번호를 나타내고, 'm'은 세그먼트의 인덱스를, 'n'은 코드블록의 인덱스(coded block index)를 나타낸다.
도 3을 참조하면, 송신단은 코드블록의 사이즈를 미리 일정하게 정해놓고 블록 차용을 수행할 수 있다. 송신단은 첫 번째 세그먼트(부호화된 제 1 블록집합)에 포함되는 코드블록(B11)을 패킹하여 수신단으로 전송한다. 이때, 첫 번째 세그먼트(S1)를 랜덤 선형 부호화할 때 쓰이는 랜덤계수(random coefficient, C1)를 함께 수신단으로 전송할 수 있다(S301).
수신단은 S301 단계의 전송에 대한 채널품질을 측정하여 송신단으로 전송한다. 이때, 본 발명의 실시예에서는 채널품질이 좋은 것을 가정한다. 따라서, 수신단은 송신단으로 CQI(good) 신호를 전송한다(S302).
송신단은 CQI(good) 신호를 수신하면, 채널환경이 좋은 것으로 판단하고 전송할 블록의 사이즈를 증가하여 전송할 것으로 결정할 수 있다. 따라서, 송신단은 코드블록의 개수를 S301 단계에서 전송한 코드블록의 개수보다 한 개 더 증가시켜 수신단으로 전송할 수 있다(S303).
S303 단계에서 송신단은 첫 번째 세그먼트(S1)를 랜덤 선형 부호화를 할 때 사용한 랜덤계수(C2)를 이용하여 두 번째 세그먼트(S2)에서 코드블록(B21)을 생성할 수 있다. 송신단은 두 번째 세그먼트(S2)로부터 상기 코드블록(B21)을 차용할 수 있다. 또한, 송신단은 코드블록들의 세그먼트 번호와 이들을 부호화할 때 사용한 랜덤계수를 수신단에 알려줘야 한다.
이때, 각 코드블록들을 생성할 때 사용된 랜덤계수들은 서로 독립적인 계수들이므로, 송신단은 이를 명시적으로 수신단에 알려주어야 한다. 따라서, 송신단은 수신단으로 랜덤계수를 직접 전송하거나, 랜덤계수를 생성할 때 사용한 랜덤시드(random seed)를 알려주거나 또는 미리 랜덤계수를 생성해 놓고 사용한 계수를 나타내는 인덱스(index)를 전송하여 알려줄 수 있다.
본 발명의 실시예들에서는 랜덤계수를 수신단으로 직접 전송하는 경우를 예로 들어 설명한다. 다만, 랜덤시드 또는 계수의 인덱스를 알려주는 방법 또한 적용될 수 있다.
송신단은 수신단으로부터 다시 CQI(good) 신호를 수신할 수 있다(S304).
CQI(good) 신호를 수신한 송신단은 채널 환경이 좋은 것으로 판단하고, 코드블록의 개수를 S303 단계보다 하나 더 증가시켜 수신단으로 전송할 수 있다. 송신단은 S303 단계와 같이 첫 번째 세그먼트(S1) 외에 다른 세그먼트에서 코드블록을 차용해 올 수 있다. 본 발명의 실시예에서는 바람직하게 두 번째 세그먼트(S2) 및 세 번째 세그먼트(S3)에서 각각 하나의 코드블록을 차용하는 경우를 가정한다. 따라서, 송신단은 차용해온 코드블록들(B22, B31)과 첫 번째 세그먼트에 포함된 코드블록(B13)을 수신단으로 전송할 수 있다(S305).
S305 단계에서 송신단은 각 코드블록들을 부호화한 랜덤계수(C3)를 코드블록들과 함께 수신단으로 전송할 수 있다. 또한, 차용하는 세그먼트는 임의로 결정할 수 있다. 다만, 차용되는 세그먼트마다 동일한 랜덤계수가 사용될 수 있어야 한다.
유선 또는 무선 통신을 수행하는 도중에 채널 상황이 나빠지는 경우가 발생할 수 있다. 이러한 경우에는 수신단은 송신단으로 CQI(bad) 신호를 전송한다(S306).
송신단은 수신단으로부터 CQI(bad) 신호를 수신하면, 채널 상황이 안 좋아진 것으로 판단하고 전송하는 블록의 사이즈를 줄일 것으로 결정할 수 있다. 이때, 송신단이 전송하는 코드블록의 개수를 얼마만큼 줄일 것인지는 CQI 신호에 포함되는 정보에 따라 달라질 수 있다. CQI 신호를 이용하여 채널 환경이 좋은지 나쁜지만을 알려준다면, 하나의 코드블록만이 감소될 것이다. 만약, CQI 신호가 1 비트 이상의 정보를 포함할 수 있다면 복수 개의 코드블록을 감소시킬 수 있다.
따라서, 송신단은 수신단으로 S305 단계에서 전송한 코드블록의 개수보다 하나 적은 개수의 코드블록들(B23 및 B14)을 수신단으로 전송한다. 물론, B23 및 B14를 랜덤 선형 부호화하는 경우 같은 랜덤계수인 C4를 사용할 수 있으며, 송신단은 이를 수신단으로 함께 전송할 수 있다(S307).
상술한 과정들을 반복하여 송신단은 수신단으로 첫 번째 세그먼트(S1)에 포함된 코드블록들을 모두 전송할 수 있다. 즉, 송신단은 S1에 포함된 마지막 코드블록(B1n) 및 두 번째 세그먼트(S2)로부터 차용해온 코드블록(B28)을 수신단으로 전송함으로써, S1의 전송을 완료할 수 있다(S308).
수신단은 S308 단계에서 코드블록들을 수신하는 과정에서 채널 환경을 측정할 수 있다. 따라서, 수신단은 측정한 채널환경에 대한 정보를 CQI 신호에 포함시켜 송신단으로 전송한다(S309).
S309 단계에서 전송한 CQI 신호를 토대로 송신단은 두 번째 세그먼트(S2)를 전송하는 경우 전송할 코드블록의 개수를 결정할 수 있다.
또한, 본 발명의 일 실시예에서 수신단은 첫 번째 세그먼트(S1)에 포함된 코드블록을 모두 정상적으로 수신하면 복호화에 성공할 수 있다. 따라서, 수신단은 S1 대한 ACK(Acknowledgement) 메시지를 전송함으로써 복호화의 성공을 송신단으로 전송할 수 있다(S310).
ACK 메시지를 수신한 송신단은 수신단에서 첫 번째 세그먼트(S1)에 대한 복호화가 성공한 것으로 인식하고, 두 번째 세그먼트(S2)에 포함된 코드블록들을 송신단으로 전송할 수 있다. 이때, 두 번째 세그먼트에서 첫 번째 세그먼트를 전송할때 차용해준 코드블록을 제외한 나머지 코드블록들만 수신단으로 전송하면 된다.
예를 들어, 한 세그먼트가 10개의 코드블록들로 구성되는 경우를 가정한다. 도 3에서는 S1을 전송하는 과정에서 S2의 코드블록이 모두 8개가 전송되었으므로, 송신단은 두 개의 코드블록(B29 및 B210)만을 수신단으로 전송하면 된다. 따라서, 송신단은 S2에 포함된 코드블록(B29)과 세 번째 세그먼트에서 차용해온 코드블록(B32)를 수신단으로 전송한다(S311).
상술한 과정들은 m번째 세그먼트(Sm)가 모두 전송될 때까지 반복된다.
도 4는 본 발명의 일 실시예에 따른 적응형 코드블록 패킹(packing) 방법을 나타내는 도면이다.
도 4에서 'Ci'는 랜덤계수의 번호를 나타내고, 'i'는 각 랜덤계수의 인덱스를 나타낸다. 또한, 'Sm'는 세그먼트의 번호(또는, 부호화된 블록집합의 번호)를 나타내고, 'm'는 세그먼트의 인덱스를 나타낸다. 또한, 'Bmn'은 코드블록의 번호를 나타낸다. 이때 'm'은 세그먼트의 인덱스를, 'n'은 코드블록의 인덱스를 나타낸다.
도 4를 참조하면, 수신단(Receiver)은 CQI를 사용하여 채널상태를 송신단에 보고할 수 있다. 송신단(Transmitter)은 현재 전송하는 코드블록(coded block)의 개수를 채널상태에 따라 증가 또는 감소시킴으로써 수신단으로 전송하는 블록의 사이즈를 조절할 수 있다.
송신단에서는 전송할 데이터를 일정한 사이즈의 블록들로 나누고, 이를 부호화하여 전송할 수 있다. 이때, 바람직하게는 랜덤 선형 부호화 방법을 사용하여 부호화할 수 있다. 일반적으로 송신단은 부호화된 코드블록(coded block)들의 사이즈를 작게 결정할 수 있다. 따라서, 송신단은 채널의 상태에 따라 패킹하여 전송하는 코드블록들의 개수를 증가 또는 감소시킴으로써 채널 오류에 효과적으로 대응할 수 있다.
이때, 도 3의 방법과의 차이점은, 하나의 세그먼트(또는, 부호화된 블록집합)에 포함되는 코드블록(또는, 부호화된 블록)들을 패킹해서 전송하기 때문에, 각 코드블록을 부호화할 때 사용하는 랜덤계수(random coefficient)가 서로 독립적이고 서로 다른 것을 사용해야 한다는 것이다.
도 4를 참조하면, 송신단은 전송할 데이터를 하나 이상의 블록들로 나누고 이를 랜덤 선형 부호화방법을 이용하여 부호화를 수행한다. 또한, 송신단은 부호화된 블록들을 n개씩 묶어 세그먼트를 구성할 수 있다.
송신단은 첫 번째 세그먼트(S1)에 포함된 첫 번째 코드블록(B11) 하나만을 패킹(packing)하여 수신단으로 전송할 수 있다. 이때, 송신단은 B11을 부호화하는데 사용된 랜덤계수(C1)를 함께 수신단으로 전송할 수 있다(S401).
수신단은 코드블록이 전송된 채널의 품질을 측정하여 송신단으로 전송한다. 이때, 본 발명의 실시예에서는 채널 품질이 좋은 것을 가정한다. 따라서, 수신단은 송신단으로 CQI(good) 신호를 전송한다(S402).
송신단은 수신단으로부터 CQI(good) 신호를 수신하면, 채널환경이 양호한 것으로 판단한다. 따라서, 송신단은 수신단으로 전송할 코드블록의 개수를 한 개 더 늘려서 전송할 수 있다. 따라서, 송신단은 코드블록 B12 및 B13을 패킹하여 전송할 수 있다(S403).
S403 단계에서 각 코드블록들(B12 및 B13)을 생성할 때 사용된 랜덤 계수(C2 및 C3)들은 서로 독립적인 계수들이므로, 송신단은 이를 명시적으로 수신단에 알려주어야 한다. 이를 위해 송신단은 수신단으로 랜덤 계수를 직접 전송하거나, 랜덤계수를 생성할 때 사용한 랜덤시드(random seed)를 알려주거나 또는 미리 랜덤 계수를 생성해 놓고 사용한 계수를 나타내는 인덱스(index)를 수신단으로 전송할 수 있다.
본 발명의 실시예들에서는 랜덤계수를 수신단으로 직접 전송하는 경우를 예로 들어 설명한다. 다만, 랜덤시드 또는 인덱스를 알려주는 방법 또한 적용될 수 있다.
S403 단계에서 패킹하여 전송할 수 있는 코드블록의 개수는 CQI 신호가 전달하는 정보의 양에 따라 달라질 수 있다. 예를 들어, CQI 신호가 1 비트로서 채널 환경이 좋거나 나쁜 것만을 나타내는 경우에는 하나의 코드블록씩 증가 또는 감소시킬 수 있다. 만약, CQI 신호가 하나 이상의 비트를 이용하여 정보를 전달할 수 있다면, 수신단은 전송할 수 있는 부호화된 블록의 개수를 송신단에 명시적으로 알려줄 수 있다. 이러한 경우, 송신단은 CQI 신호를 통해 인식한 코드블록의 개수만큼 패킹하여 수신단으로 전송할 수 있다.
S403 단계에서 부호화된 코드블록의 개수를 늘림으로써, 전송하는 블록의 전체 사이즈가 커지는 효과를 얻을 수 있다. 이때, 블록의 사이즈가 커지더라도 채널 환경이 좋으므로 오류가 발생할 확률을 줄어들 것이고, 전송하는 블록의 사이즈가 커지므로 데이터 처리량은 증가할 수 있다.
수신단은 S403 단계를 통해 전송받은 코드블록들의 채널 품질을 측정하여 이를 송신단으로 전송한다. 이때, 수신단은 CQI(good) 신호를 이용하여 채널품질의 상태를 송신단에 보고할 수 있다(S404).
송신단은 CQI(good) 신호를 수신하면, 현재 코드블록을 전송하는 채널 환경이 양호하다고 판단하고, 송신단은 코드블록의 개수를 하나 더 늘려서 전송할 수 있다. 예를 들어, 송신단은 코드블록들(B14, B15 및 B16)을 패킹하여 수신단으로 전송할 수 있다. 이때, 각 코드블록들을 생성하는데 이용한 랜덤계수들(C4, C5 및 C6)은 서로 독립적이고 서로 다른 것이므로, 송신단은 상기 랜덤계수들을 수신단으 로 알려 줘야한다. 따라서, 송신단은 코드블록들과 랜덤계수들을 함께 패킹하여 수신단으로 전송할 수 있다(S405).
데이터 블록들을 송수신하는 과정에서 채널환경이 나빠지는 경우가 발생할 수 있다. 수신단은 채널상태를 측정하고 채널환경이 나빠진 경우에는 송신단으로 이를 알려준다. 따라서, 수신단은 CQI(bad) 신호를 이용하여 현재의 채널 상태가 좋지 않음을 송신단에 알려줄 수 있다(S406).
수신단으로부터 CQI(bad) 신호를 수신한 송신단은 현재 채널환경이 나빠진 것으로 판단하고, 채널오류를 줄이기 위해 수신단으로 전송하는 블록의 사이즈를 감소할 것을 결정한다. 따라서, 송신단은 이전 단계(예를 들어, S405 단계)에서 전송한 코드블록의 개수보다 하나 적은 개수의 코드블록들을 수신단으로 전송할 수 있다. 즉, 송신단은 두 개의 코드블록(B17 및 B18)을 패킹하여 수신단으로 전송한다. 이때, 각 코드블록을 부호화할 때 사용한 랜덤계수들(C7 및 C8)도 함께 패킹하여 전송할 수 있다(S407).
S407 단계에서 송신단은 패킹되는 코드블록의 개수를 줄임으로써, 수신단으로 전송하는 블록의 사이즈를 줄일 수 있다. 따라서, 데이터 처리량이 감소하더라도 채널 오류를 줄일 수 있는 효과가 있다.
송신단 및 수신단은 상술한 과정을 첫 번째 세그먼트(S1)가 모두 전송될 때까지 반복할 수 있다. 따라서, n개의 코드블록이 하나의 세그먼트를 구성하는 경우, 송신단은 마지막 코드블록(B1n) 및 마지막 코드블록을 부호화할 때 사용한 랜덤계수(Cn)를 패킹하여 수신단으로 전송한다(S408).
수신단은 S408 단계의 코드블록 전송에 대한 채널 상태를 측정하여 송신단에 알려준다. 즉, 수신단은 CQI 신호를 송신단으로 전송할 수 있다(S409).
S409 단계에서 CQI 신호는 다음 두 번째 세그먼트(S2)에 포함된 코드블록들을 전송할 때 최초에 몇 개의 코드블록들을 패킹하여 전송할 것인지를 판단하는 기준이 될 수 있다.
수신단은 송신단으로부터 n 개의 코드블록을 모두 정상적으로 수신하여 복호화에 성공하면, 첫 번째 세그먼트(S1)에 대한 ACK 메시지를 송신단으로 전송한다(S410).
송신단은 ACK 메시지를 수신하면, S1이 성공적으로 전송된 것으로 판단하고 다음 세그먼트(S2)에 포함된 코드블록들을 수신단으로 전송할 수 있다. 이와 같은 과정은 m 번째 세그먼트(Sm)에 포함된 코드블록들을 모두 전송할 때까지 반복될 수 있다.
도 5는 본 발명의 또 다른 실시예로서, 채널환경에 따라 전송하는 블록의 사이즈를 적응적으로 증감하는 방법을 나타내는 도면이다.
도 5에서 'Ci'는 계수의 번호(coefficient number)를 나타내고, 'i'는 각 계수의 인덱스(coefficient index)를 나타낸다. 또한, 'Sm'는 세그먼트의 번호(또는, 부호화된 블록집합의 번호)를 나타내고, 'm'는 세그먼트의 인덱스를 나타낸다. 또한, 'Bmn'은 코드블록의 번호를 나타낸다. 이때, 'm'은 세그먼트의 인덱스를, 'n'은 코드블록의 인덱스를 나타낸다.
도 5를 참조하면, 수신단은 하나의 세그먼트에 포함되는 n개의 코드블록들을 모두 수신한 후에 상기 세그먼트를 수신하는 동안의 채널 정보를 포함한 수신확인긍정(ACK) 메시지를 송신단으로 전송할 수 있다. ACK 메시지를 수신한 송신단은 채널 환경을 고려하여 다음 세그먼트에 포함되는 코드블록들의 사이즈를 결정할 수 있다.
즉, 송신단은 채널환경이 좋은 것으로 판단하면 다음 세그먼트의 코드블록의 사이즈는 이전 세그먼트에 포함된 코드블록의 사이즈보다 크게 하고, 채널환경이 나쁜것으로 판단하면 다음 세그먼트의 코드블록의 사이즈는 이전 세그먼트에 포함된 코드블록의 사이즈보다 작게 결정할 수 있다.
도 5를 참조하면, 송신단은 전송할 데이터를 작은 블록들로 분할하고, 분할된 작은 블록들을 임의의 개수(n)로 묶어 세그먼트(또는, 블록집합)를 형성한다. 송신단은 세그먼트 단위로 도 1에서 설명한 랜덤 선형 부호화를 수행하여, n 개의 부호화된 코드블록들을 생성할 수 있다.
첫 번째 세그먼트(S1)에 포함되는 코드블록들의 사이즈는 현재의 채널상태에 따라 결정되고, 이 사이즈는 S1의 코드블록들에 동일하게 적용될 수 있다. 따라서, 송신단은 첫 번째 코드블록(B11)부터 n 번째 코드블록(B1n)까지 수신단으로 전송한다. 이때, 각 코드블록을 부호화하는데 사용한 랜덤계수들을 각각 함께 수신단으로 전송할 수 있다(S501~S503).
본 발명의 실시예들에서는 랜덤 선형 부호화 방법을 사용하여 코드블록들을 부호화하므로, 수신단은 코드블록의 순서에 상관없이 S1에 해당하는 n 개의 코드블록이 있으면 S1을 복호화할 수 있다. 따라서, 수신단은 송신단이 S1을 부호화할 때 사용한 n개의 상호 독립적인 랜덤 선형 부호화 계수(랜덤계수)를 수신하면 복호화를 성공적으로 수행할 수 있다. 또한, 수신단이 송신단이 사용한 랜덤계수를 미리 알고 있는 경우에, 수신단은 송신단으로부터 랜덤계수에 대한 인덱스만을 수신하는 경우에도 복호화를 수행할 수 있다.
복호화가 성공적으로 수행되면, 수신단은 송신단으로 S1에 대한 ACK 메시지를 전송한다. 이때, 수신단은 S1에 포함된 코드블록들을 수신하는 동안 측정한 채널 상태에 대한 정보(Channel Information)를 함께 송신단으로 전송할 수 있다. 본 발명의 실시예에서는 이 경우 채널 환경이 좋다는 보고를 한 것으로 가정한다(S504).
S504 단계에서 채널정보는 정보를 전달하는데 허용되는 비트의 수에 따라 다양한 정보를 나타낼 수 있다. 본 발명의 실시예에서는 채널정보가 바람직하게 1 비트로서 채널환경이 좋고(good), 나쁨(bad)만을 알려주는 것을 예로 들어 설명한다. 그러나, 여러 비트를 사용할 수 있다면, 코드블록의 사이즈를 명시적으로 알려줄 수 있다. 이는 사용자의 요구사항에 따라 달라질 수 있다.
S504 단계에서 채널정보가 여러 비트를 사용할 수 있는 경우에, 채널정보는 S1에 대한 피드백 타입(feedback type)에 대한 정보를 포함할 수 있다.
다음 표 1은 피드백 타입에 따른 블록 오류율을 나타낸 일례이다.
피드백타입(Feedback Type) 블록 오류율(Block error rate)
1 <5%
2 <10% & >5%
3 <20% & >10%
4 <40% & >20%
5 <90% & >40%
6 >90%
다음 표 2는 피드백 타입에 따라 증감하는 코드블록의 사이즈 변화를 나타낸 일례이다.
피드백 타입(Feedback Type) 블록 사이즈(Block size)
1 +75 bytes
2 +50 bytes
3 -25 bytes
4 -50 bytes
5 -75 bytes
6 -100 bytes
표 1 및 표 2를 참조하여, 채널정보(Channel Information)에 포함되는 피드백 타입이 2를 나타내는 경우를 예로 들어 설명한다. 피드백 타입이 2를 나타내면, 블록 오류율이 5% 보다 크고 10% 미만인(<10% & >5%) 것을 나타내고, 이 경우 채널환경이 양호하므로 코드블록의 길이를 +50 바이트(byte)만큼 증가시키라는 것을 나타낼 수 있다.
만약, 채널정보에 포함되는 피드백 타입이 5를 나타내면, 블록 오류율이 40% 초과 90% 미만(<90% & >40%)인 것을 나타낸다. 이때는 채널환경이 나쁘므로, 코드블록의 길이를 -75 바이트만큼 감소시키라는 것을 나타낼 수 있다.
다시 도 5를 참조하면, 송신단은 S504 단계에서 수신한 채널정보에 따라 두 번째 세그먼트(S2)에 포함되는 코드블록들의 길이를 가변할 수 있다. 즉, 채널환경이 좋다는 채널정보를 수신하였으므로, 송신단은 S2의 코드블록들(B12, B22,..., B2n)의 사이즈를 S1의 코드블록의 사이즈보다 크게 하여 전송할 수 있다(S505~S507).
수신단은 S2에 포함되는 n 개의 코드블록들 및 이에 해당하는 랜덤계수들을 모두 수신하면 복호화를 수행할 수 있다. n 개의 코드블록들이 채널환경이 나쁨에도 불구하고 모두 수신되고 복호화에 성공한 경우, 수신단은 ACK 메시지를 송신단으로 전송할 수 있다. 다만, 수신단은 채널정보에 채널환경이 나쁨(bad)을 나타내는 정보를 포함하여 송신단으로 전송한다(S508).
수신단으로부터 ACK 메시지와 함께 채널정보(bad)를 수신한 송신단은, 채널환경이 좋지 않다는 것일 인식할 수 있다. 따라서, 데이터의 처리량이 적어지더라도 신뢰성있는 데이터의 전송을 위해 코드블록들의 사이즈를 줄여서 전송할 것을 결정할 수 있다. 즉, 송신단은 표 1 및 표 2를 참조하여 세 번째 세그먼트(S3)에 포함되는 코드블록들의 사이즈를 줄여서 수신단으로 전송할 수 있다(S509~S510).
상술한 과정은 m 번째 세그먼트(Sm)에 포함된 코드블록들이 모두 전송될 때까지 반복된다.
도 2 내지 도 5에서 설명한 방법들을 사용하면, 채널환경에 따라 유연하게 코드블록의 사이즈사이즈절하여 전송할 수 있다. 따라서, 신뢰성 있는 데이터의 전송 및 효율성이 보장된 통신을 수행할 수 있다.
본 발명은 본 발명의 정신 및 필수적 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다. 또한, 특허청구범위에서 명시적인 인용 관계가 있지 않은 청구항들을 결합하여 실시예를 구성하거나 출원 후의 보정에 의해 새로운 청구항으로 포함시킬 수 있다.
도 1은 본 발명의 실시예에 적용할 수 있는 랜덤 선형 부호화 방법을 사용하여 데이터 블록 집합들을 부호화하는 과정을 나타내는 도면이다.
도 2는 본 발명의 바람직한 일 실시예로서, 채널환경에 따라 송신단에서 전송하는 블록의 개수를 증감하는 방법을 나타내는 도면이다.
도 3은 본 발명의 바람직한 일 실시예로서, 송신단에서 코드블록을 차용(borrowing)하여 코드블록의 사이즈를 증감하는 방법을 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따른 적응형 코드블록 패킹(packing) 방법을 나타내는 도면이다.
도 5는 본 발명의 또 다른 실시예로서, 채널환경에 따라 전송하는 블록의 사이즈를 적응적으로 증감하는 방법을 나타내는 도면이다.

Claims (13)

  1. 입력 데이터를 다수의 블록들로 분할하고, 상기 다수의 블록들을 이용하여 하나 이상의 블록집합들을 생성하는 단계;
    상기 하나 이상의 블록집합들 중 제 1 블록집합을 부호화하고, 부호화된 상기 제 1 블록집합에서 소정 개수의 부호화된 블록을 수신단으로 전송하는 단계;
    상기 수신단으로부터 채널환경의 상태를 나타내는 신호를 수신하는 단계; 및
    상기 신호에 따라 상기 소정 개수의 부호화된 블록의 개수보다 증가 또는 감소된 개수의 부호화된 블록을 패킹하여 상기 수신단으로 전송하는 단계를 포함하되,
    상기 소정 개수의 부호화된 블록의 개수보다 증가 또는 감소된 개수의 블록 각각을 부호화하는데 사용하는 랜덤계수는 서로 독립적인, 데이터 전송방법.
  2. 제 1항에 있어서,
    상기 신호가 상기 채널환경이 좋은 것을 나타내면,
    상기 하나 이상의 블록집합들 중 제 2 블록집합을 부호화하고,
    부호화된 상기 제 2 블록집합에서 부호화된 블록을 차용하여 상기 소정 개수의 부호화된 블록의 개수보다 증가된 개수의 부호화된 블록을 패킹하고, 상기 패킹된 블록들을 상기 수신단으로 전송하는 것을 특징으로 하는 데이터 전송방법.
  3. 제 2항에 있어서,
    상기 제 1 블록집합 및 상기 제 2 블록집합을 부호화하는데 사용한 랜덤계수 는 서로 동일한 것을 특징으로 하는 데이터 전송방법.
  4. 제 1항에 있어서,
    상기 신호가 상기 채널환경이 좋은 것을 나타내면,
    부호화된 상기 제 1 블록집합에서 상기 소정 개수의 부호화된 블록보다 증가된 개수의 부호화된 블록을 선택하여 패킹하고, 상기 수신단으로 전송하는 것을 특징으로 하는 데이터 전송방법.
  5. 삭제
  6. 제 1항에 있어서,
    상기 신호가 상기 채널환경이 안 좋은 것을 나타내면,
    상기 소정 개수 보다 적은 개수의 부호화된 블록을 패킹하고, 상기 패킹된 부호화된 블록들을 상기 수신단으로 전송하는 것을 특징으로 하는 데이터 전송방법.
  7. 제 1항에 있어서,
    상기 증가 또는 감소된 개수의 부호화된 블록은,
    상기 소정 개수의 부호화된 블록의 개수에서 1개씩 증가 또는 감소된 것을 특징으로 하는 데이터 전송방법.
  8. 제 1항에 있어서,
    상기 하나 이상의 부호화된 블록집합은,
    송신단에서 상기 하나 이상의 블록집합을 부호화(coding)하여 생성되고, 상기 하나 이상의 부호화된 블록집합에 포함된 각각의 부호화된 블록들은 서로 독립적인 것을 특징으로 하는 데이터 전송방법.
  9. 제 1항에 있어서,
    상기 하나 이상의 블록집합을 부호화하는 방법은,
    랜덤 리니어 코딩(Random Liner Coding) 방법을 사용하는 것을 특징으로 하는 데이터 전송방법.
  10. 제 1항에 있어서,
    상기 채널 환경에 대한 신호는,
    채널 품질 지시(CQI) 신호인 것을 특징으로 하는 데이터 전송방법.
  11. 제 1항에 있어서,
    상기 소정 개수의 부호화된 블록은,
    상기 하나 이상의 블록집합을 부호화하기 위한 계수에 관한 정보를 더 포함하는 것을 특징으로 하는 데이터 전송방법.
  12. 제 11항에 있어서,
    상기 계수에 관한 정보는,
    상기 계수로 이뤄진 행렬, 상기 계수를 생성하기 위한 시드(seed) 또는 상기 계수를 나타내는 인덱스 중 하나인 것을 특징으로 하는 데이터 전송방법.
  13. 송신단으로부터 소정 개수의 부호화된 블록을 수신하는 단계;
    채널환경의 상태를 나타내는 신호를 상기 송신단으로 전송하는 단계; 및
    상기 송신단으로부터 상기 신호에 따라 상기 소정 개수의 부호화된 블록의 개수보다 증가 또는 감소된 개수의 부호화된 블록을 수신하는 단계를 포함하되,
    상기 소정 개수의 부호화된 블록의 개수보다 증가 또는 감소된 개수의 블록 각각을 부호화하는데 사용되는 랜덤계수는 서로 독립적인, 데이터 전송방법.
KR1020070125735A 2007-12-05 2007-12-05 데이터 블록 전송방법 KR101405952B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020070125735A KR101405952B1 (ko) 2007-12-05 2007-12-05 데이터 블록 전송방법
US12/741,163 US8340161B2 (en) 2007-12-05 2008-11-10 Method of data block transmitting
PCT/KR2008/006611 WO2009072751A2 (en) 2007-12-05 2008-11-10 Method of data block transmitting

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070125735A KR101405952B1 (ko) 2007-12-05 2007-12-05 데이터 블록 전송방법

Publications (2)

Publication Number Publication Date
KR20090058927A KR20090058927A (ko) 2009-06-10
KR101405952B1 true KR101405952B1 (ko) 2014-06-12

Family

ID=40718316

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070125735A KR101405952B1 (ko) 2007-12-05 2007-12-05 데이터 블록 전송방법

Country Status (3)

Country Link
US (1) US8340161B2 (ko)
KR (1) KR101405952B1 (ko)
WO (1) WO2009072751A2 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101467788B1 (ko) 2007-12-11 2014-12-03 엘지전자 주식회사 랜덤 선형 부호화를 이용하는 통신방법 및 장치
KR101490249B1 (ko) * 2007-12-11 2015-02-05 엘지전자 주식회사 연판정을 이용한 통신방법 및 장치
KR101531502B1 (ko) * 2007-12-11 2015-06-26 엘지전자 주식회사 오류제어방법
US20120054583A1 (en) * 2010-08-27 2012-03-01 Raytheon Company Method and system of sub-packet error correction
US8885584B2 (en) 2011-11-30 2014-11-11 Blackberry Limited Multiple concurrent data link management
GB2513344B (en) * 2013-04-23 2017-03-15 Gurulogic Microsystems Oy Communication system utilizing HTTP
JPWO2015114815A1 (ja) * 2014-01-31 2017-03-23 富士通株式会社 情報処理装置
EP3893417B1 (en) * 2016-11-23 2023-07-12 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Data segmentation method, and terminal device and network device
JP7060232B2 (ja) * 2018-02-28 2022-04-26 国立大学法人 東京大学 通信システム、宇宙側送信局装置、地上側受信局装置、及びプログラム
CN113590049B (zh) * 2021-09-28 2021-12-31 苏州浪潮智能科技有限公司 一种存储卷跨节点克隆的方法、装置、设备及可读介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5886652A (en) * 1995-08-03 1999-03-23 Ntt Mobile Communications Network, Inc. Pseudo fixed data transmission device and method
US20030109221A1 (en) 2001-12-07 2003-06-12 Lg Electronics Inc. Method of adjusting power of forward link signal
US20050055387A1 (en) 2003-09-10 2005-03-10 Kuekes Philip J. Defect-tolerant and fault-tolerant circuit interconnections
WO2005120109A1 (en) 2004-06-04 2005-12-15 Nortel Networks Limited Method and system for soft handoff in mobile broadband systems

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100357266B1 (ko) * 2000-12-06 2002-10-19 엘지전자 주식회사 데이터 분할 기법을 이용한 영상 부호화 전송방법
KR20040058638A (ko) * 2002-12-27 2004-07-05 엘지전자 주식회사 무선 링크 프로토콜의 데이터전송방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5886652A (en) * 1995-08-03 1999-03-23 Ntt Mobile Communications Network, Inc. Pseudo fixed data transmission device and method
US20030109221A1 (en) 2001-12-07 2003-06-12 Lg Electronics Inc. Method of adjusting power of forward link signal
US20050055387A1 (en) 2003-09-10 2005-03-10 Kuekes Philip J. Defect-tolerant and fault-tolerant circuit interconnections
WO2005120109A1 (en) 2004-06-04 2005-12-15 Nortel Networks Limited Method and system for soft handoff in mobile broadband systems

Also Published As

Publication number Publication date
KR20090058927A (ko) 2009-06-10
US20100260241A1 (en) 2010-10-14
WO2009072751A3 (en) 2009-07-30
WO2009072751A2 (en) 2009-06-11
US8340161B2 (en) 2012-12-25

Similar Documents

Publication Publication Date Title
KR101405952B1 (ko) 데이터 블록 전송방법
US9225470B2 (en) Method for determining transport block size and signal transmission method using the same
KR101456004B1 (ko) 전송 및 재전송에 적합한 데이터 패킷의 크기를 결정하는 방법
CN101061659B (zh) 自适应前向纠错的方法和设备
US10084715B2 (en) Packet loss mitigation
EP3591868B1 (en) Information processing method, apparatus and device
US10756843B2 (en) Low-delay packet erasure coding
US11496156B2 (en) Data processing method and device
JP7408152B2 (ja) メディア内容に基づく自己適応システムコードfec符号化および復号化方法、装置、システムおよび媒体
US20230208554A1 (en) Encoding and Decoding Method and Apparatus
US10523790B2 (en) System and method of header compression for online network codes
WO2018127198A1 (zh) 数据处理方法和装置
US11558148B2 (en) Use of LDPC base graphs for NR
CN108809498B (zh) 通信方法和通信装置
KR101430482B1 (ko) 프로토콜 데이터 구성방법
WO2023221725A1 (zh) 数据处理方法及电子设备、计算机可读存储介质
JP2010263653A (ja) 情報無線伝送システム

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
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee