[go: up one dir, main page]

KR101531184B1 - A decoding method and apparatus using interworking between upper and lower layers, and a data transmission / reception system using the same - Google Patents

A decoding method and apparatus using interworking between upper and lower layers, and a data transmission / reception system using the same Download PDF

Info

Publication number
KR101531184B1
KR101531184B1 KR1020080119927A KR20080119927A KR101531184B1 KR 101531184 B1 KR101531184 B1 KR 101531184B1 KR 1020080119927 A KR1020080119927 A KR 1020080119927A KR 20080119927 A KR20080119927 A KR 20080119927A KR 101531184 B1 KR101531184 B1 KR 101531184B1
Authority
KR
South Korea
Prior art keywords
lower layer
bit
bits
layer decoder
code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
KR1020080119927A
Other languages
Korean (ko)
Other versions
KR20100061051A (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 KR1020080119927A priority Critical patent/KR101531184B1/en
Publication of KR20100061051A publication Critical patent/KR20100061051A/en
Application granted granted Critical
Publication of KR101531184B1 publication Critical patent/KR101531184B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • 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
    • 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
    • H04L1/203Details of error rate determination, e.g. BER, FER or WER

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 발명은 상하위 계층 간의 연동을 이용한 복호화 방법 및 장치와 그를 이용하여 데이터 송수신 시스템에 관한 것이다.The present invention relates to a decoding method and apparatus using interworking between upper and lower layers and a data transmission / reception system using the same.

본 발명은 소스 정보가 부호화된 데이터를 복호화하는 장치에 있어서, 하위 계층 코드를 이용하여 데이터를 복호화하되, 복호화된 데이터의 각 비트의 신뢰도가 기 설정된 신뢰도 문턱값 이상인 비트를 출력하는 하위 계층 복호화기; 및 상위 계층 코드를 이용하여 하위 계층 복호화기로부터 출력된 비트를 복호화하여 소스 정보를 복원하는 상위 계층 복호화기를 포함하는 것을 특징으로 하는 복호화 장치를 제공한다.According to another aspect of the present invention, there is provided an apparatus for decoding data encoded with source information, the apparatus comprising: a lower layer decoder for decoding data using a lower layer code and outputting a bit whose reliability of each bit of the decoded data is equal to or greater than a predetermined reliability threshold; ; And an upper layer decoder for decoding the bits output from the lower layer decoder using the upper layer code to recover the source information.

본 발명에 의하면, 주어진 채널 환경에서 데이터를 더욱 적은 에러율을 송수신할 수 있으며, 같은 목표 에러율을 달성하기 위해 필요한 총 수신된 데이터의 비트 수를 상당히 줄일 수 있으므로, 같은 비트 수의 데이터를 송수신하는 데 소요되는 줄일 수 있다.According to the present invention, it is possible to transmit / receive data with a smaller error rate in a given channel environment and to significantly reduce the number of bits of the total received data required to achieve the same target error rate, It can be reduced.

무선, 채널, 방송, 데이터, 오류, 정정, 계층, MBMS, Rateless, Turbo, CRC Wireless, channel, broadcast, data, error, correction, layer, MBMS, Rateless, Turbo, CRC

Description

상하위 계층 간의 연동을 이용한 복호화 방법 및 장치와 그를 이용하여 데이터 송수신 시스템{Decoding Method and Apparatus Using Cooperation between Higher Layer and Lower Layer and Data Transmitting/Recieving System}BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a decoding method and apparatus using interworking between upper and lower layers, and a data transmission /

본 발명은 상하위 계층 간의 연동을 이용한 복호화 방법 및 장치와 그를 이용하여 데이터 송수신 시스템에 관한 것이다. 더욱 상세하게는, 하위 계층 코드와 상위 계층 코드를 이용하여 부호화된 데이터를 더욱 정확하게 복호화하는 방법 및 장치와 그를 이용한 데이터의 송수신 시스템에 관한 것이다.The present invention relates to a decoding method and apparatus using interworking between upper and lower layers and a data transmission / reception system using the same. More particularly, the present invention relates to a method and apparatus for more accurately decoding encoded data using a lower layer code and an upper layer code, and a data transmission / reception system using the same.

3GPP에서는 여러 명의 사용자에게 동시에 같은 정보를 효율적으로 보낼 수 있는 MBMS(Multimedia Broadcast Multicast Service)라는 방송용 데이터의 전송 서비스를 제안하고 있다. MBMS는 순방향 오류 정정(FEC: Forward Error Correction, 이하 'FEC'라 칭함) 기술을 응용한 것인데, FEC 기술은 전송되는 데이터에 리던던시(Redundancy)를 추가하여 함께 전송함으로써, 무선 채널을 통해 데이터가 전송될 때의 페이딩(Fading) 및 잡음에 의하여 발생하는 오류를 제거할 수 있다. FEC는 수신기가 수신한 데이터에서 오류가 발견되었을 때, 재전송을 요구하지 않고 수신기가 스스로 정정할 수 있기 때문에, 방송용 데이터의 전송과 같은 단방향 전송 서비 스에서 필수적으로 사용되는 오류 정정 기술이다. 특히, 방송 서비스를 제공할 때에는 서비스 제공자가 특별히 목표하는 사용자가 아닌 모든 사용자들에게 정보를 제공하기 때문에, 서비스 제공자와 사용자 양측의 정보 소통 없이 단방향으로 정보를 전송하는 것이 요구된다. 따라서, 방송 서비스를 제공하기 위한 기술 중에서 FEC 기술은 반드시 필요하다고 할 수 있다.3GPP proposes a broadcast data transmission service called a Multimedia Broadcast Multicast Service (MBMS) which can efficiently transmit the same information to a plurality of users at the same time. MBMS is an application of Forward Error Correction (FEC) technology. The FEC technique adds redundancy to the transmitted data and transmits the data together. Thus, It is possible to eliminate an error caused by fading and noise when the signal is generated. FEC is an error correction technique, which is essential in unidirectional transmission services such as transmission of broadcast data, because an error can be corrected by the receiver itself without requiring retransmission when an error is found in the data received by the receiver. In particular, when providing a broadcasting service, since the service provider provides information to all users, which is not a specifically targeted user, it is required to transmit information unidirectionally without communicating information between the service provider and the user. Therefore, FEC technology is indispensable for providing a broadcasting service.

기존에 잘 알려진 FEC 기술을 위한 알고리즘(이하, 'FEC 알고리즘'이라 약칭함)으로는 콘볼루션 코드(Convolutional Code), 리드솔로몬 코드(Reed-Solomon Code), 터보 코드(Turbo Code), 저밀도 패리티 체크 코드(LDPC Code: Low-Density Parity-Check Code), 토네이도 코드(Tornado Code), 루비 트랜스폼 코드(LT Code: Luby Transform Code), 랩터 코드(Raptor Code) 등을 사용하여 오류를 정정하는 알고리즘이 있다. 각각의 코드를 사용하는 알고리즘은 각각 다른 방식으로 리던던시를 생성하며, 원래의 정보에 리던던시를 추가하여 코드워드(Codeword)를 생성하는데, 코드워드의 길이의 비를 코딩 레이트(Coding Rate)라 한다.The well known FEC algorithm (hereinafter abbreviated as FEC algorithm) includes Convolutional Code, Reed-Solomon Code, Turbo Code, Low Density Parity Check An algorithm for correcting errors using LDPC codes (Low-Density Parity-Check Code), Tornado Code, LT Code (Lombard Transform Code), Raptor Code have. Algorithms using each code generate redundancy in different ways, and redundancy is added to the original information to generate a codeword. The ratio of the length of the codeword is called a coding rate.

FEC 알고리즘 중에서는 코딩 레이트가 정해져 있어서 수신기가 사용하는 채널을 알고 있는 유니캐스트(Unicast) 전송에 적합한 FEC 알고리즘이 있는 반면, 코딩 레이트가 정해지지 않고 리던던시를 계속해서 생성하고 전송하여 그 중 일부만 수신해도 원래의 정보를 복호화할 수 있는 FEC 알고리즘이 있는데, 이러한 FEC 알고리즘에서 사용하는 코드를 레이트리스 코드(Rateless Code)라 한다. 레이트리스 코드는 수신기가 데이터를 수신할 수 있는지 여부를 송신기에서 알지 못해도 높은 신뢰도로 전송할 수 있으므로, 사용자가 분명하지 않은 방송에 적합한 FEC 알고리 즘이라 할 수 있다. 대표적인 레이트리스 코드로서는 루비 트랜스폼 코드, 랩터 코드 등이 있으며, 실제로 방송용 FEC 알고리즘으로 사용되고 있다.Among the FEC algorithms, there is an FEC algorithm suitable for unicast transmission in which a coding rate is fixed and a channel used by a receiver is known. On the other hand, if a coding rate is not fixed and continuous generation and transmission of redundancy is performed, There is an FEC algorithm that can decode information of the FEC algorithm. The code used in the FEC algorithm is called a rateless code. The rateless code can be a FEC algorithm suitable for a broadcast which the user is unclear because the transmitter can transmit whether or not the receiver can receive data with high reliability without knowing it at the transmitter. A typical rateless code is a ruby transform code, a raptor code, etc., and is actually used as a broadcast FEC algorithm.

4G 등 차세대 데이터 전송에 있어서 어떤 모바일 사용자에게도 시간, 장소에 관계없이 데이터를 전송할 수 있도록 하는 FEC 알고리즘을 비롯한 방송 서비스를 위한 기술의 개발이 예상되지만, 계속해서 증가하는 전송 요구량으로 인하여 높은 대역폭(Bandwidth)과 더 많은 범위 내의 사용자에게 전송할 수 있는 기술이 보장되어야 한다. 이러한 환경에서 개선된 방송용 코드의 개발이 중요시된다. In the next generation data transmission such as 4G, it is expected to develop a technology for a broadcasting service including an FEC algorithm that enables data to be transmitted regardless of time or place to any mobile user. However, due to an increase in transmission requirement, ) And a technology that can be transmitted to a larger range of users. The development of improved broadcasting codes in this environment is important.

또한, 무선 채널 환경에 최적화된 코드의 개발이 필요하다. 현재 3GPP MBMS 에서 사용되고 있는 코드는 유선 환경에서 최적화되어 있으며, 무선 상황에서 동작시키기 위하여 물리 계층에 이미 있는 물리 계층 FEC를 이용한다. 즉, 물리 계층에 있는 복호화기가 일단 무선 상황에 맞추어져 동작하면서 오류를 정정하고 그 정정된 정보를 상위 계층에 있는 레이트리스 코드 복호화기에 올려 보내면 레이트리스 코드 복호화기가 정정된 정보로부터 다시 추가적인 오류 정정을 실행한다. 이때, 추가적인 오류 정정이 필요한 이유는 물리 계층에서 채널 환경이 나쁜 경우, 복호화에 실패하게 되며 그로 인해 복호화되지 않은 블록은 레이트리스 코드 복호화기로 전달되지 않는다. 이와 같이 전달되지 않는 블록이 있으면, 레이트리스 코드 복호화기 입장에서는 그 블록이 지워진 것으로 보게 된다. 이렇게 지워진 블록이 있을 때 레이트리스 코드 복호화기는 지워진 정보를 복원해 낼 수 있다.In addition, it is necessary to develop a code optimized for a wireless channel environment. Currently, the code used in the 3GPP MBMS is optimized in the wired environment and uses physical layer FEC already in the physical layer to operate in a wireless environment. That is, once the decoder in the physical layer operates in accordance with the wireless situation and corrects the error and sends the corrected information to the rateless code decoder in the upper layer, the rateless code decoder can perform additional error correction from the corrected information . At this time, the reason why additional error correction is required is that if the channel environment is bad in the physical layer, the decoding fails and the decoded block is not transmitted to the rateless code decoder. If there is a block that is not transmitted in this manner, the block is erased from the state of the rateless code decoder. When the erased block is present, the rateless code decoder can recover the erased information.

이와 같이, 오류 정정 부호를 이용하여 복호화하는 계층이 하위 계층 및 상위 계층의 두 단계로 되어 있는 시스템에서는 물리 계층에 있는 오류 정정 부호를 이용하여 페이딩 환경을 고려한 오류 정정을 하게 되고 상위 계층에 있는 레이트리스 코드를 이용하여 추가적인 오류 정정을 하게 된다. 그런데 이렇게 두 단계로 오류 정정을 할 때, 물리 계층의 복호화기는 통상적으로 복호화된 정보만을 상위 계층의 레이트리스 코드 복호화기에 올려 보내게 되며, 그로 인해 성능 저하가 발생하는 문제점이 있다. 즉, 물리 계층에서 페이딩이 있는 경우, 블록이 복호화되지는 않지만 여전히 유용한 정보가 그 블록에 포함될 수 있다. 이러한 정보를 상위 계층의 레이트리스 코드가 이용할 수 있다면, 더욱 향상된 성능을 낼 수 있는 가능성이 있다. 따라서, 물리 계층에서 복호화되지 않은 블록에 포함된 유용한 정보를 상위 계층에서 이용할 수 있도록 하는 새로운 기술의 개발이 요구되는 실정이다.In this way, in a system in which a layer to be decoded using an error correcting code is composed of a lower layer and an upper layer, an error correction is performed considering an fading environment using an error correction code in the physical layer, Additional error correction is done using the lease code. However, when error correction is performed in two steps, the decoders of the physical layer typically send only the decoded information to the upper layer rithless code decoder so that the performance degrades. That is, if there is fading in the physical layer, the block is not decoded but still useful information may be included in the block. If such information is available in the upper layer of the rateless code, there is a possibility of achieving further improved performance. Therefore, there is a need to develop a new technique that enables useful information contained in blocks that are not decoded in the physical layer to be used in an upper layer.

전술한 문제점을 해결하고 새로운 요구에 부응하기 위해 본 발명은, 물리 계층에서 복호화된 비트를 이용하여 추가적인 오류 정정을 수행하는 데 있어서, 물리 계층에서 올바르게 복호화되지 않았지만 신뢰도가 높은 비트를 전달하고 상위 계층에서 올바르게 복호화되지 않았지만 신뢰도가 높은 비트를 이용하여 더욱 정확하게 오류 정정을 수행하는 데 주된 목적이 있다.In order to solve the above-mentioned problems and to meet new demands, the present invention provides a method and apparatus for performing additional error correction using decoded bits in a physical layer, The main goal is to perform more accurate error correction using highly reliable bits that are not decoded correctly.

전술한 목적을 달성하기 위해 본 발명은, 소스 정보가 부호화된 데이터를 복호화하는 장치에 있어서, 하위 계층 코드를 이용하여 데이터를 복호화하되, 복호화된 데이터의 각 비트의 신뢰도가 기 설정된 신뢰도 문턱값 이상인 비트를 출력하는 하위 계층 복호화기; 및 상위 계층 코드를 이용하여 하위 계층 복호화기로부터 출력된 비트를 복호화하여 소스 정보를 복원하는 상위 계층 복호화기를 포함하는 것을 특징으로 하는 복호화 장치를 제공한다.According to an aspect of the present invention, there is provided an apparatus for decoding data encoded with source information, the apparatus comprising: a decoder for decoding data using a lower layer code, wherein reliability of each bit of the decoded data is equal to or higher than a predetermined reliability threshold A lower layer decoder for outputting a bit; And an upper layer decoder for decoding the bits output from the lower layer decoder using the upper layer code to recover the source information.

또한, 본 발명의 다른 목적에 의하면, 소스 정보가 부호화된 데이터를 복호화하는 방법에 있어서, 하위 계층 복호화기가 하위 계층 코드를 이용하여 데이터를 복호화하는 하위 계층 복호화 단계; 하위 계층 복호화기가 복호화된 데이터의 각 비트에 대해 순환 잉여 검사를 수행하는 순환 잉여 검사 단계; 하위 계층 복호화기가 순환 잉여 검사를 통과하지 못한 비트의 신뢰도를 평가하는 신뢰도 평가 단계; 하위 계층 복호화기가 순환 잉여 검사를 통과하지 못한 비트 중에서 신뢰도가 기 설정된 신뢰도 문턱값 이상인 비트와 순환 잉여 검사를 통과한 비트를 출력하는 비트 출력 단계; 및 상위 계층 복호화기가 상위 계층 코드를 이용하여 하위 계층 복호화기로부터 출력된 비트를 복호화하는 단계를 포함하는 것을 특징으로 하는 복호화 방법을 제공한다.According to another aspect of the present invention, there is provided a method of decoding data encoded with source information, the method comprising: a lower layer decoding step of decoding data using a lower layer code by a lower layer decoder; A cyclic redundancy check step of performing a cyclic redundancy check on each bit of data decoded by a lower layer decoder; A reliability evaluation step of evaluating a reliability of a bit for which the lower layer decoder has not passed the cyclic redundancy check; A bit output step of outputting a bit whose reliability is equal to or higher than a predetermined reliability threshold value and a bit that has passed a cyclic redundancy check among the bits for which the lower layer decoder has not passed the cyclic redundancy check; And decoding the bits output from the lower layer decoder using an upper layer code by an upper layer decoder.

또한, 본 발명의 또 다른 목적에 의하면, 데이터를 송수신하는 시스템에 있어서, 상위 계층 코드를 이용하여 소스 정보를 부호화하여 비트를 출력하는 상위 계층 부호화기와 하위 계층 코드를 이용하여 상위 계층 부호화기로부터 출력되는 비트를 부호화하여 부호화 데이터를 생성하는 하위 계층 부호화기를 포함하되, 부호화 데이터를 송신하는 송신기; 및 부호화 데이터를 수신하되, 하위 계층 코드를 이용하여 수신된 부호화 데이터를 복호화하고 복호화된 부호화 데이터의 각 비트에 대해 순환 잉여 검사를 수행하여 순환 잉여 검사에 통과하지 못한 비트 중 신뢰도 가 기 설정된 신뢰도 문턱값 이상인 비트와 순환 잉여 검사에 통과한 비트를 출력하는 하위 계층 복호화기와 상위 계층 코드를 이용하여 하위 계층 복호화기로부터 출력되는 비트를 복호화하여 소스 정보를 복원하는 상위 계층 복호화기를 포함하는 수신기를 포함하는 것을 특징으로 하는 데이터 송수신 시스템을 제공한다.According to another aspect of the present invention, there is provided a system for transmitting and receiving data, comprising: an upper layer encoder for encoding source information using upper layer codes and outputting bits; A transmitter for transmitting encoded data, the encoder comprising: a transmitter for transmitting encoded data; And decodes the received coded data using a lower layer code and performs a cyclic redundancy check on each bit of the decoded coded data to determine whether reliability among the bits that have not passed the cyclic redundancy check exceeds a predetermined reliability threshold Layer decoders for outputting bits having a value equal to or greater than a predetermined value and bits passed through a cyclic redundancy check, and an upper layer decoder for decoding the bits output from the lower layer decoder using an upper layer code to recover source information And a data transmission / reception system.

이상에서 설명한 바와 같이 본 발명에 의하면, 주어진 채널 환경에서 데이터를 더욱 적은 에러율을 송수신할 수 있다. 또한, 같은 목표 에러율을 달성하기 위해 필요한 총 수신된 데이터의 비트 수를 상당히 줄일 수 있어, 같은 비트 수의 데이터를 송수신하는 데 소요되는 줄일 수 있다. 또한, 더욱 적은 정보를 처리해도 되기 때문에 소비 전력을 감소시킬 수 있다.As described above, according to the present invention, it is possible to transmit and receive data with a smaller error rate in a given channel environment. In addition, the number of bits of the total received data required to achieve the same target error rate can be considerably reduced, and it is possible to reduce the transmission and reception of data of the same bit number. In addition, since less information can be processed, the power consumption can be reduced.

이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, some embodiments of the present invention will be described in detail with reference to exemplary drawings. It should be noted that, in adding reference numerals to the constituent elements of the drawings, the same constituent elements are denoted by the same reference numerals even though they are shown in different drawings. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.

또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순 서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.In describing the components of the present invention, terms such as first, second, A, B, (a), and (b) may be used. These terms are intended to distinguish the components from other components, and the term does not limit the nature, order or order of the components. When a component is described as being "connected", "coupled", or "connected" to another component, the component may be directly connected or connected to the other component, Quot; may be "connected," "coupled," or "connected. &Quot;

도 1은 상위 계층의 FEC와 물리 계층의 FEC를 나타낸 예시도이다.1 is an exemplary view showing an FEC of an upper layer and an FEC of a physical layer.

도 1에서는 상위 계층(High Layer)과 물리 계층(Physical Layer) 간의 코드의 연동을 보여준다. 도 1을 참조하면, 소스 정보(Source Information), 즉 전송하고자 하는 m 비트의 정보는 몇 개의 열과 행으로 나누어진 배열(도 1에서 A 블록으로 표시된 배열)에 배치된다. 예를 들어, 5,000 비트의 정보가 있다면, 이것이 50 비트 × 100 비트의 행렬로 재배치된다, 여기서, 100 비트는 각 행에 있는 비트의 수이다. 각 행에 있는 100 비트의 정보는 레이트리스 코드(Rateless Code)에 의하여 부호화(Encoding)되어 임의의 개수를 가지는 패리티 정보(Parity Information)가 생성된다. 도 1에서 B 블록에 나타낸 각 행의 비트열이 패리티 정보이다.FIG. 1 shows interworking of codes between an upper layer and a physical layer. Referring to FIG. 1, source information, that is, information of m bits to be transmitted is arranged in an array (an array denoted by A block in FIG. 1) divided into several columns and rows. For example, if there is 5,000 bits of information, it is relocated to a matrix of 50 bits by 100 bits, where 100 bits is the number of bits in each row. The information of 100 bits in each row is encoded by a rateless code to generate parity information having an arbitrary number. In Fig. 1, the bit stream of each row shown in the B block is parity information.

이때, B 블록의 각 행에 들어갈 수 있는 패리티 비트의 수는 미리 정해져 있지 않다. 채널 환경이 나쁘다면 더욱 많은 패리티 정보가 생성될 수 있고, 채널 환경이 좋다면 적은 수의 패리티(Parity) 정보만으로도 원래의 정보를 복원할 수 있다. 이와 같이, 미리 정해지지 않은 수의 패리티 비트를 생성하는 코드를 레이트리스 코드라 한다. 이때, 레이트리스 코드는 각 행에 따로 적용된다.At this time, the number of parity bits that can enter each row of the B block is not predetermined. If the channel environment is bad, more parity information can be generated, and if the channel environment is good, the original information can be restored with only a small number of parity information. The code for generating a predetermined number of parity bits in this way is called a rateless code. At this time, the rateless code is applied to each row separately.

A 블록에 나타낸 원래의 소스 정보의 각 행에 레이트리스 코드를 적용하여 생성된 패리티 정보는 물리 계층의 FEC에 의하여 다시 부호화된다. 즉, B 블록에 나타낸 각 열에 있는 비트에 물리 계층 FEC가 적용되어 패리티 부호를 생성한다. 이렇게 생성된 패리티 부호는 도 1에서 C 블록으로 나타내었다. 물리 계층 FEC로는 터보 코드(Turbo Code) 또는 저밀도 패리티 체크 코드(LDPC Code: Low-Density Parity-Check Code) 등이 사용된다. 이렇게 물리 계층 FEC가 각 열 별로 적용된 후 C 블록에 있는 각 열의 비트가 정해진 시간에 전송된다. 이때, C 블록에 있는 패리티 비트만 전송되는 경우는 비체계적 코드(Non-Systematic Code)라 불리고, B 블록에 있던 정보와 C 블록에 있는 정보가 함께 전송되는 경우는 체계적 코드(Systematic Code)라 불린다. 많은 경우에 체계적 코드가 사용된다. 전송되는 단위는 C 또는 B와 C 블록의 열이다. 즉, 슬롯마다 한 열에 있는 비트들이 전송된다.The parity information generated by applying the rateless code to each row of the original source information shown in the A block is encoded again by the FEC of the physical layer. That is, the physical layer FEC is applied to bits in each column shown in the B block to generate a parity code. The generated parity code is represented by C block in FIG. Turbo code or LDPC code (Low-Density Parity-Check Code) is used as the physical layer FEC. After the physical layer FEC is applied to each column, bits of each column in the C block are transmitted at a predetermined time. In this case, when only the parity bit in the C block is transmitted, it is called a non-systematic code, and when the information in the B block and the information in the C block are transmitted together, it is called a systematic code . Systematic code is used in many cases. The unit to be transmitted is a column of C or B and C blocks. That is, the bits in one column are transmitted per slot.

수신기에서는 송신된 데이터를 복호화한다. 즉, 물리 계층 복호화기(Physical Layer DeCoder)가 C 또는 B와 C 블록의 한 열을 수신하면, 복호화를 시작한다. 이때, 송신된 데이터에 노이즈, 간섭, 페이딩(Fading) 등의 여러 가지 이유로 변형이 발생하여, 수신된 데이터는 송신된 데이터와 같지 않게 된다. 이와 같이 송신된 데이터로부터 원래의 소스 정보를 복원하는 것(즉, B 블록의 비트들을 복원하는 것)을 복호화라 한다. 물리 계층 복호화기에 의해 복호화된 정보는 레이트리스 코드 복호화기(Rateless Code DeCoder)로 전달된다. 이때, 통상적으로 물리 계층 복호화기에서 복호화에 실패 한 경우, 그 열에 있는 비트는 전부 복호화에 실패한 것으로 간주하여 레이트리스 코드 복호화기에 전달되지 않는다. 레이트리스 코드 복호화기는 물리 계층 복호화기에서 복호화에 성공한 비트들만을 전달받고, 이것을 이용하여 원래의 소스 정보를 복원한다. 레이트리스 코드 복호화기는 A와 B 블록에서 각 행 별로 따로 진행된다.The receiver decodes the transmitted data. That is, when a physical layer decoder receives a row of C or B and C blocks, it starts decoding. At this time, the transmitted data is deformed due to various reasons such as noise, interference, fading, etc., and the received data is not the same as the transmitted data. Recovering the original source information from the transmitted data (i.e., restoring the bits of the B block) is called decryption. The information decoded by the physical layer decoder is transferred to a Rateless Code Decoder. At this time, when decryption is normally unsuccessful in the physical layer decoder, all bits in the column are regarded as unsuccessful in decryption and are not transmitted to the rateless code decoder. The rateless code decoder receives only decoded bits in the physical layer decoder, and uses the decoded bits to recover original source information. The rateless code decoder is performed separately for each row in the A and B blocks.

본 발명의 일 실시예에서는 물리 계층 복호화기에서 복호화가 완벽하게 되지 않은 경우에도 일부의 정보를 활용할 수 있게 한다. 물리 계층 복호화기에서 복호화가 완벽하게 되지 않는 경우, 어떤 비트는 에러가 없고 어떤 비트는 에러가 있게 된다. 이때, 어떤 비트들이 에러가 없다는 것을 알게 되면, 이것을 레이트리스 코드 복호화기에서 복호화에 이용할 수 있다. 이렇게 되면, 레이트리스 코드 복호화기에서는 더 많은 비트에 대한 정보를 얻게 되어 더 이른 시간에 복호화할 수 있다. 이때, 어떤 비트들이 에러가 없고 어떤 비트들이 에러가 있을 가능성이 있는가를 물리 계층 복호화기에서 구별하는 것이 중요해진다. 물리 계층 복호화기에서 어떤 비트들이 에러가 있을 가능성이 있는가를 완벽하게 구별하는 것은 불가능하지만, 매우 정확하게 구별하는 것은 가능하다. 이를 위해, 제안하는 기술에서는 물리 계층 복호화기에서 복호화를 수행할 때 생성되는 신뢰도 정보를 이용한다.In an embodiment of the present invention, some information can be utilized even when the physical layer decoder does not completely decode the information. If decoding in the physical layer decoder is not perfect, some bits are error free and some bits are error free. At this time, if some bits are found to be error free, they can be used for decoding in a rateless code decoder. In this way, the rateless code decoder obtains information on more bits, and can decode at an earlier time. At this time, it becomes important to distinguish in the physical layer decoder whether certain bits are error-free and which bits are likely to be erroneous. Although it is impossible to completely distinguish which bits are likely to be erroneous in the physical layer decoder, it is possible to distinguish very precisely. To this end, the proposed technique uses reliability information generated when a physical layer decoder performs decoding.

물리 계층 복호화기에서 사용하는 물리 계층 코드로는 주로 터보 코드가 사용된다. 터보 코드는 통상적으로 2개의 콘볼루션 코드(Convolutional Code)와 인터리버(Interleaver)로 구성된다.A turbo code is mainly used as a physical layer code used in a physical layer decoder. A turbo code typically consists of two convolutional codes and an interleaver.

도 2는 터보 코드를 나타낸 예시도이다.2 is an exemplary view showing a turbo code.

u는 송신하고자 하는 k비트의 입력 정보이다. G0와 G1은 레이트(Rate)-1의 콘볼루션 코드이다. 즉, 각 비트가 입력될 때 G0는 현재 입력된 비트인 현재 입력 비트와 과거에 입력된 모든 과거 입력 비트의 함수로서, 현재 출력되는 비트인 현 재 출력 비트를 만들어 낸다. G1도 마찬가지의 역할을 수행한다. G0와 G1 사이에는 랜덤한 인터리버 p가 존재한다. 인터리버 p는 k비트의 입력 정보를 랜덤하게 치환(Permutation)하여 k비트의 출력을 생성한다. 이와 같이, 출력된 k비트의 정보가 G1의 입력이 된다.and u is k-bit input information to be transmitted. G 0 and G 1 are convolutional codes with a rate of -1. That is, when each bit is input, G 0 is a function of the current input bit, which is the current input bit, and all past input bits that were input in the past, to produce the current output bit, which is the current output bit. G 1 also plays a similar role. There is a random interleaver p between G 0 and G 1 . The interleaver p randomly permits k bits of input information to generate k bits of output. Thus, the outputted information of k bits becomes the input of G 1 .

이 과정이 끝나면 k비트의 원래 정보 u와 k비트의 G0의 출력 v(0)과 k비트의 G1의 출력 v(1)의 총 3k비트가 출력된다. 이것이 채널을 통과하여 수신기에 도착하면, 수신기는 3k 비트에 노이즈가 더해진 데이터를 수신한다. 이와 같이, 노이즈가 더해져도 그 양이 매우 크지 않다면 원래의 k비트보다 많은 3k비트가 수신되기 때문에, 2k비트의 부가적인 정보(패리티 정보)를 이용하여 원래의 k비트의 정보를 복원할 수 있다. 이때의 코딩 레이트, 즉 송신하고자 하는 정보의 비트 수를 송신하는 비트 수로 나눈 것은 1/3이 된다. 송신하고자 하는 데이터의 비트수를 송신하는 비트 수로 나눈 값인 1/3은 펑처링(Puncturing)이라는 과정을 수행함으로써 1/2로 만들어질 수 있다. 즉, v(0)와 v(1)에서 각 한 비트씩 번갈아 가면서 송신하지 않으면, 전체적으로 송신하는 비트 수는 2k 개가 되며 코딩 레이트를 1/2로 만들 수 있다.Once this is done a total of 3k bits of the output k of the original information bits u k and a bit of the G 0 v (0) and the output of G 1 k bits of v (1) is output. When it arrives at the receiver through the channel, the receiver receives 3k bits of noise-added data. As described above, if the amount of added noise is not very large, more than 3 k bits of the original k bits are received, so that the original k bits of information can be restored by using additional information (parity information) of 2 k bits . The coding rate at this time, that is, the number of bits of the information to be transmitted divided by the number of bits to be transmitted is 1/3. A value 1/3, which is a value obtained by dividing the number of bits of data to be transmitted by the number of bits to be transmitted, can be made 1/2 by performing a process called puncturing. That is, if v (0) and v (1) are not transmitted while alternating one bit at a time, the total number of bits to be transmitted is 2k and the coding rate can be reduced to 1/2.

도 3은 터보 코드를 복호화하는 과정을 나타낸 예시도이다.3 is an exemplary diagram illustrating a process of decoding a turbo code.

도 3에서, Lc는 채널에 의존하는 임의의 상수이고, y는 채널로부터 수신한 벡터이다. 3k비트가 채널로 송신될 때 각 비트가 +1 또는 -1로 매핑(Mapping)된다고 가정하면, y=x+z가 되는데, 이때 x는 3k 비트의 벡터이고, z는 3k 개의 노이즈 벡터이다.In Fig. 3, Lc is a constant depending on the channel, and y is a vector received from the channel. Assuming that each bit is mapped to +1 or -1 when 3k bits are transmitted on the channel, then y = x + z, where x is a vector of 3k bits and z is a 3k noise vector.

도 3에서는 두 개의 콘볼루션 코드 G0와 G1에 해당되는 복호화기 블록을 보여주고 있다. 왼쪽에 있는 블록에서는 G0에 해당되는 콘볼루션 코드 복호화가 수행된다. 이때. L(0)는 k 개 비트의 원래 정보에 대한 로그 우도율(LLR: Log Likelihood Ratio, 이하 'LLR'이라 칭함), 즉 log[p(xi=1)/p(xi=-1)]가 첫 번째 복호화기로부터 계산된다. 여기서, xi는 x의 i번째 비트이다. 마찬가지로, L(1)은 두 번째 복호화기로부터 계산된 원래 정보에 대한 LLR이다. L(0) 벡터는 채널로부터 수신한 정보인 Lcy 값이 빼지고 다른 복호화기에서 온 외부(Extrinsic) 정보 Le(1)이 역 치환(Inverse Permutation) (π-1)된 것이 빼져서 생성된다. 이것은 첫 번째 복호화기가 두 번째 복호화기로 전달하는 외부 정보(Extrinsic Information)이다. 외부 정보는 다시 치환되어 두 번째 복호화기로 입력된다.FIG. 3 shows a decoder block corresponding to two convolutional codes G 0 and G 1 . In the block on the left, convolutional code decoding corresponding to G 0 is performed. At this time. L (0) is the log likelihood ratio (LLR) for the original information of k bits, that is, log [p (xi = 1) / p (xi = -1)] Is calculated from the first decoder. Here, xi is the i-th bit of x. Similarly, L (1) is the LLR for the original information calculated from the second decoder. The L (0) vector is generated by subtracting the Lcy value received from the channel and subtracting the extrinsic information Le (1) from the other decoder from the inverse permutation (pi -1 ). This is the extrinsic information that the first decoder delivers to the second decoder. The extrinsic information is replaced and input to the second decoder.

두 번째 복호화기에서는 첫 번째 복호화기와 유사한 방식으로 복호화를 수행한다. 이와 같이, 복호화가 여러 번의 루프(Loop)를 돌면서 반복(Iteration)되면, 점점 더 정확하게 원래의 정보를 복원할 수 있다. 통상적으로 10 회 정도의 반복이 수행된다. 이때, 10 번의 반복이 끝나면, L(0) 값을 바탕으로 원래의 데이터를 복원할 수 있다. 즉, L(0)의 i 번째 원소가 양수이면, xi 가 +1로 복호화되고, 음수이면 -1로 복호화된다.In the second decoder, decoding is performed in a manner similar to the first decoder. As described above, when the decoding is repeated while repeating several loops, original information can be restored more and more accurately. Typically, about ten iterations are performed. At this time, after 10 iterations, the original data can be restored based on the value of L (0). That is, if the i-th element of L (0) is positive, xi is decoded to +1, and if it is negative, it is decoded to -1.

하지만, 이와 같이 복호화된 비트가 원래의 비트와 같다는 보장은 없다. 복호화가 성공적인가를 정확하게 판단하기 위해서는 후술하는 과정에서 도 5를 통해 설명하는 바와 같이, 통상적인 순환 잉여 검사(CRC: Cyclic Redundancy Check, 이하 'CRC'라 칭함)가 사용된다. 즉, 32-비트 CRC가 사용된다고 가정하면, 각 행의 k 비트 중에서 (k-32) 비트는 송신하고자 하는 비트(즉, 랩터 코드(Raptor Code)에서 발생된 패리티 비트)를 포함하고 있고, 나머지 32 비트는 이 (k-32) 비트에 대한 CRC 비트를 포함하고 있다. 도 5에 도시한 바와 같이, k 비트에 대하여 물리 계층 코드가 패리티 비트(레이트가 1/2이면 패리티 비트의 수도 k 비트임)를 생성한다.However, there is no guarantee that the decoded bits are the same as the original bits. In order to accurately determine whether decryption is successful, a conventional CRC (Cyclic Redundancy Check) is used as described with reference to FIG. 5 in the following process. That is, assuming that a 32-bit CRC is used, (k-32) bits among the k bits of each row include bits to be transmitted (i.e., parity bits generated in the Raptor Code) The 32 bits contain the CRC bits for this (k-32) bits. As shown in Fig. 5, the physical layer code generates parity bits (k bits of the number of parity bits if the rate is 1/2) with respect to k bits.

도 4는 레이트리스 코드를 나타낸 예시도이다.4 is an exemplary view showing a rateless code.

도 4에서, 정보 비트(Information Bits)는 도 1에서 도시한 A 블록에 해당되는 비트이고, 패리티 비트(Parity Bits)는 도 1에서 도시한 B 블록에 해당되는 비트들이다. 도 4에 나타낸 코드는 A 블록과 B 블록에 있는 하나의 레이트리스 코드이다. 레이트리스 코드는 m 개의 입력 비트를 사용하여 임의의 개수의 패리티 비트를 만들어 내기에 레이트리스 코드라 불린다. 도 4에서, 원형 노드를 변수 노드라고 하고 사각형 노드를 패리티 체크 노드라고 한다. 패리티 체크 노드는 여러 변수의 패리티의 합을 계산한다.In FIG. 4, the information bits correspond to the A block shown in FIG. 1, and the parity bits correspond to the B block shown in FIG. The code shown in FIG. 4 is one rateless code in the A block and the B block. A rateless code is called a rateless code for generating an arbitrary number of parity bits using m input bits. 4, a circular node is referred to as a variable node, and a rectangular node is referred to as a parity check node. The parity check node computes the sum of the parities of several variables.

도 5는 본 발명의 일 실시예에 따라 부분적으로 복호화된 정보를 활용하는 과정을 나타낸 예시도이다.FIG. 5 is a diagram illustrating a process of using partially decoded information according to an exemplary embodiment of the present invention. Referring to FIG.

물리 계층 복호화기에서 복호화가 성공적으로 수행되어 CRC를 통과한 경우, 모든 비트는 100% 신뢰도로 복호화된 것으로 간주한다. 잘못된 비트가 CRC를 통과할 확률은 약 10-10으로 매우 작기 때문에, 우려할 수준은 아니다. 하지만, 잘못된 비트가 CRC를 통과하는 경우, 상위 계층에서 다양한 방법으로 원래 정보를 복원하거나 정보의 손실을 감추는 콘실링(Concealing) 방식이 사용될 수 있다. CRC를 통과하지 않은 비트는 통상적으로 버려지게 되고, 상위 계층의 레이트리스 복호화기에 전달되지 않는다.If the decoding is successfully performed in the physical layer decoder and passes the CRC, all bits are considered to be decoded with 100% reliability. The probability that a bad bit will pass a CRC is very small, about 10 -10 , so it is not a concern. However, if an erroneous bit passes the CRC, a concealing method may be used in which the upper layer restores the original information in various ways or hides the loss of information. Bits that have not passed the CRC are typically discarded and are not delivered to the higher layer hierarchical rate decoder.

본 발명의 일 실시예에서는 통상적으로 버려지는 비트들 중에 신뢰도가 높은 비트에 대하여는 상위 계층에서 하드 디시전(Hard Decision)을 수행함으로써 비트 값을 결정하여 전달한다. 이때, 잘못된 비트값을 전달하면, 그 뒤를 따르는 복호화 과정에 모두 영향을 줄 수 있기 때문에, 매우 신뢰도가 높은 비트들만 전달한다. 이와 같이, 추가적인 비트들에 대하여 그 값들을 전달받게 되면, 상위 계층에서는 더욱 많은 비트를 복호화할 수 있고, 추가로 디코딩된 비트들에 의하여 B 블록에서 신뢰도가 낮았던 몇 개의 비트들에 대하여 높은 신뢰도로 값들을 결정할 수 있다. 이와 같이, B 블록에서 몇 개의 비트가 상위 계층 복호화기에 의하여 신뢰도가 높아지게 되면, 물리 계층 복호화기는 이를 이용하여 다시 복호화를 수행할 수 있게 되고, 이것으로부터 물리 계층 디코더가 높은 신뢰도로 복호화할 수 있는 비트 수가 더 늘어나게 된다. 이와 같이, 레이트리스 코드 복호화기와 물리 계층 복호화기 간에 부가적인 정보를 주고 받는 것을 반복적으로 수행함으로써, 결과적으로 더 많은 비트들을 복원할 수 있게 된다.In one embodiment of the present invention, a bit having a high reliability among the discarded bits is determined by performing hard decision in an upper layer, and the bit value is determined and transmitted. At this time, if a wrong bit value is transmitted, only bits with high reliability are transmitted because it may affect the decoding process following the wrong bit value. As described above, when the values are received for the additional bits, more bits can be decoded in the upper layer, and a plurality of bits, which are less reliable in the B block due to the decoded bits, Values can be determined. As described above, when the reliability of a certain number of bits in the B block is increased by the upper layer decoder, the physical layer decoder can perform decoding again, and from this, a bit that can be decoded with high reliability by the physical layer decoder The number will increase more. As described above, by repeatedly exchanging additional information between the rateless code decoder and the physical layer decoder, more bits can be restored as a result.

이때. 한가지 추가로 할 수 있는 일은 물리 계층 복호화기에서 복호화에 성공한 것으로 간주하는 비트의 신뢰도 문턱값을 반복 회수가 늘어갈수록 점차 낮출 수 있다는 것이다. 여기서, 신뢰도 문턱값을 복호화의 반복 회수가 늘어감에 따라 어떻게 감소하는지에 대해서는 테이블 참조 방식으로 구현할 수 있다.At this time. One additional thing that can be done is that the reliability threshold of the bit that is considered to be decoded successfully by the physical layer decoder can be gradually lowered as the number of iterations increases. Here, how the reliability threshold value is reduced as the number of repetition of decoding is increased can be implemented by a table reference method.

도 6은 본 발명의 일 실시예에 따른 동작 플로우를 나타낸 예시도이다.6 is an exemplary diagram illustrating an operational flow according to an embodiment of the present invention.

각 비트의 신뢰도는 해당 비트의 로그 우도율(LLR: Log Likelihood Ration)의 절대값으로 나타낼 수 있다. 즉, L(0)의 i 번째 로그 우도율의 절대값은 xi의 신뢰도를 나타낸다. 이때, 터보 복호화는 통상의 Log-MAP이나 Max-Log-MAP 방식으로 인터레이티브(Iterative)하게 진행되며, 레이트리스 코드 복호화는 말소(Erasure)만을 가정하기 때문에, 훨씬 간단한 메시지 패싱 이터레이티브 복호화(Message Passing Iterative Decoding)로 구현할 수 있다, 즉 0, 1, 또는 말소의 세 가지 중의 한 값이 메시지로 패리티 체크 노드와 변수 노드 사이에서 전달된다.The reliability of each bit can be expressed by the absolute value of the log likelihood ratio (LLR) of the corresponding bit. That is, the absolute value of the i-th log likelihood ratio of L (0) represents the reliability of xi. At this time, the turbo decoding is performed intermittently in the usual Log-MAP or Max-Log-MAP method. Since the rateless code decoding assumes only erasure, the much simpler message passing- (Message Passing Iterative Decoding). That is, one of three values of 0, 1, or erasure is transmitted between the parity check node and the variable node as a message.

이상에서 도 1 내지 도 6을 통해 전술한 본 발명의 일 실시예는 후술하는 본 발명의 다른 실시예와 같이 일반화될 수 있다.The above embodiment of the present invention described above with reference to FIGS. 1 to 6 can be generalized as another embodiment of the present invention described below.

도 7은 본 발명의 다른 실시예에 따른 데이터 송수신 시스템을 간략하게 나타낸 블록 구성도이다.FIG. 7 is a block diagram of a data transmission / reception system according to another embodiment of the present invention.

본 발명의 다른 실시예에 따른 데이터 송수신 시스템(700)은 송신기(710)와 수신기(720)로 구성될 수 있다. 이러한 데이터 송수신 시스템(700)은 유무선 통신 시스템이 될 수 있으며, 유무선 통신 시스템은 HSDPA(High-Speed Downlink Packet Access) 시스템, CDMA2000 1x-EV-DO 시스템, CDMA2000 1x-EV-DV(Evolution in Data and Voice) 시스템, IEEE 802.16e 시스템, 3GPP MBMS(Multimedia Broadcast Multicast Service) 시스템 등과 같은 무선 통신 시스템 및 인터넷, 인트라넷과 같은 유선 통신 시스템이 될 수 있다.The data transmission / reception system 700 according to another embodiment of the present invention may include a transmitter 710 and a receiver 720. The data transmission / reception system 700 may be a wired / wireless communication system, and the wired / wireless communication system may include a high speed downlink packet access (HSDPA) system, a CDMA2000 1x-EV-DO system, a CDMA2000 1x-EV- Voice system, an IEEE 802.16e system, a 3GPP MBMS (Multimedia Broadcast Multicast Service) system, and a wired communication system such as the Internet and an intranet.

송신기(710)는 유무선 통신 시스템에서 데이터를 송신하는 장치를 말한다. 수신기(720)는 유무선 통신 시스템에서 데이터를 수신하는 장치를 말한다. 예를 들어, 유무선 통신 시스템이 HSDPA 시스템으로 구현되는 경우, 송신기(710)는 Node-B 또는 무선망 제어기(RNC: Radio Network Controller) 등으로 구현될 수 있으며, 수신기(720)는 UE(User Equipment)와 같은 단말기 등으로 구현될 수 있다.The transmitter 710 is a device that transmits data in a wire / wireless communication system. Receiver 720 refers to a device that receives data in a wire / wireless communication system. For example, when the wired / wireless communication system is implemented as an HSDPA system, the transmitter 710 may be implemented as a Node-B or a Radio Network Controller (RNC) ) Or the like.

또한, 송신기(710)는 상위 계층 코드를 이용하여 소스 정보를 부호화하여 비트를 출력하는 상위 계층 부호화기(712)와 하위 계층 코드를 이용하여 상위 계층 부호화기(712)로부터 출력되는 비트를 부호화하여 부호화 데이터를 생성하는 하위 계층 부호화기(714)를 포함하며, 부호화 데이터를 수신기(720)로 송신한다.The transmitter 710 also encodes the bits output from the upper layer encoder 712 using a lower layer code and an upper layer encoder 712 that encodes source information and outputs bits using an upper layer code, And transmits the encoded data to the receiver 720. The receiver 720 decodes the encoded data.

또한, 수신기(720)는 부호화 데이터를 수신하며, 하위 계층 코드를 이용하여 송신기(710)로부터 수신된 부호화 데이터를 복호화하고 복호화된 부호화 데이터의 각 비트에 대해 CRC를 수행하여 CRC에 통과하지 못한 비트 중 신뢰도가 기 설정된 신뢰도 문턱값(Threshold) 이상인 비트와 CRC에 통과한 비트를 출력하는 하위 계층 복호화기(722)와 상위 계층 코드를 이용하여 하위 계층 복호화기(722)로부터 출력되는 비트를 복호화하여 원래의 소스 정보를 복원하는 상위 계층 복호화기(724)를 포함한다.The receiver 720 receives the encoded data, decodes the encoded data received from the transmitter 710 using the lower layer code, performs CRC on each bit of the decoded encoded data, and outputs a bit that has not passed through the CRC A lower layer decoder 722 for outputting a bit whose reliability is greater than or equal to a predetermined reliability threshold value and a bit passed through the CRC and a bit output from the lower layer decoder 722 using an upper layer code are decoded And an upper layer decoder 724 for restoring original source information.

여기서, 유무선 통신 시스템이 3GPP MBMS 시스템으로 구현되는 경우, 송신기(710)에 의해 부호화되고 수신기(720)에 의해 복원되는 소스 정보는 방송 데이터일 수 있으며, 송신기(710)와 수신기(720)는 무선 채널을 통해 부호화 데이터를 송수신할 수 있다.Here, when the wired / wireless communication system is implemented as a 3GPP MBMS system, the source information encoded by the transmitter 710 and restored by the receiver 720 may be broadcast data, and the transmitter 710 and the receiver 720 may be wireless It is possible to transmit and receive encoded data through a channel.

또한, 수신기(720)는 송신기(710)와 통신을 수행하기 위한 통신 장치를 제외하면, 소스 정보가 부호화된 데이터를 복호화하는 복호화 장치로서 구현될 수도 있다. 이 경우, 수신기(720)는 하위 계층 복호화기(722)와 상위 계층 복호화기(724)를 포함하여 구성될 수 있으며, 하위 계층 복호화기(722)는 하위 계층 코드를 이용하여 부호화된 데이터를 복호화하되, 복호화된 데이터의 각 비트의 신뢰도가 기 설정된 신뢰도 문턱값 이상인 비트를 출력할 수 있으며, 상위 계층 복호화기(724)는 상위 계층 코드를 이용하여 하위 계층 복호화기(722)로부터 출력된 비트를 복호화하여 원래의 소스 정보를 복원할 수 있다.In addition, the receiver 720 may be implemented as a decoding device that decodes the encoded data of the source information, except for a communication device for performing communication with the transmitter 710. [ In this case, the receiver 720 may include a lower layer decoder 722 and an upper layer decoder 724, and the lower layer decoder 722 may decode the encoded data using a lower layer code, The upper layer decoder 724 may output the bits output from the lower layer decoder 722 using the upper layer code, and output the bits output from the lower layer decoder 722 to the lower layer decoder 722. The upper layer decoder 724 may output a bit whose reliability of each bit of the decoded data is greater than or equal to a predetermined reliability threshold. The original source information can be restored.

여기서, 하위 계층 복호화기(722)는 물리 계층 복호화기일 수 있으며, 상위 계층 복호화기(724)는 레이트리스 코드 복호화기일 수 있다. 또한, 하위 계층 코드는 터보 코드일 수 있으며, 상위 계층 코드는 레이트리스 코드일 수 있다.Here, the lower layer decoder 722 may be a physical layer decoder, and the upper layer decoder 724 may be a rateless code decoder. Further, the lower layer code may be a turbo code, and the upper layer code may be a rateless code.

또한, 하위 계층 복호화기(722)는 하위 계층 코드를 이용하여 부호화된 데이터를 복호화하여 생성되는 각 비트에 대해 CRC를 수행하여 CRC에 통과한 비트를 신뢰도가 기 설정된 임계값 이상인 비트인 것으로 판단할 수 있으며, 하위 계층 코드를 이용하여 부호화된 데이터를 복호화하여 생성되는 각 비트에 대해 CRC를 수행하고 CRC에 통과하지 못한 비트의 신뢰도를 평가하여, CRC에 통과하지 못한 비트의 신뢰도가 기 설정된 신뢰도 문턱값 이상인 비트를 출력할 수 있다.Also, the lower layer decoder 722 decodes the encoded data using the lower layer code to perform CRC on each bit generated, and determines that the bit passed through the CRC is a bit whose reliability is equal to or higher than a preset threshold value The CRC is performed for each bit generated by decoding the encoded data using the lower layer code, the reliability of the bit that does not pass through the CRC is evaluated, and the reliability of the bit that does not pass through the CRC is compared with a predetermined reliability threshold Bit or more can be output.

또한, 하위 계층 복호화기(722)는 CRC에 통과하지 못한 비트 중 신뢰도가 기 설정된 신뢰도 문턱값 이상인 비트에 대해 하드 디시전을 수행하여 비트값을 결정하고 출력할 수 있다. 여기서, 신뢰도는 복호화된 데이터의 각 비트의 로그 우도율 의 절대값일 수 있다.In addition, the lower layer decoder 722 may perform hard decoding on bits having a reliability higher than a predetermined reliability threshold value among the bits that have not passed through the CRC, and may determine and output a bit value. Here, the reliability may be an absolute value of the log likelihood ratio of each bit of the decoded data.

도 8은 본 발명의 다른 실시예에 따른 부호화 방법을 설명하기 위한 순서도이다.8 is a flowchart illustrating an encoding method according to another embodiment of the present invention.

하위 계층 복호화기(722)는 하위 계층 코드를 이용하여 데이터를 복호화하고(S810), 복호화된 데이터의 각 비트에 대해 CRC를 수행한다(S820). 여기서, 복호화된 데이터의 각 비트에 대해 CRC를 수행하는 것이 각 비트에 대한 신뢰도를 평가하는 것일 수 있다. 이는, 하위 계층 복호화기(722)에서 복호화된 데이터의 각 비트 중 CRC를 통과한 비트는 100%의 신뢰도를 갖는 것으로 간주할 수 있기 때문이다. 실제로, 복호화된 데이터의 임의의 비트가 올바르지 않게 복호화되었는데, CRC를 통과할 확률은 약 10-10으로 매우 작기 때문에, 우려할 만한 수준은 아니다. 따라서, 하위 계층 복호화기(722)는 CRC를 통과한 비트에 대해서는 신뢰도를 평가하지 않고서도 신뢰도가 기 설정된 신뢰도 문턱값 이상인 것으로 판단할 수 있다.The lower layer decoder 722 decodes the data using the lower layer code (S810), and performs CRC on each bit of the decoded data (S820). Here, performing CRC on each bit of the decoded data may be to evaluate the reliability for each bit. This is because the bit passed through the CRC among the bits of the data decoded by the lower layer decoder 722 can be regarded as having 100% reliability. In practice, any bit of decoded data is decoded incorrectly, but the probability of passing the CRC is very small, about 10 -10 , so it is not a concern. Accordingly, the lower layer decoder 722 can determine that the reliability is not less than a predetermined reliability threshold value without evaluating the reliability of the bit passed through the CRC.

한편, 통상적인 복호화에서는 복호화된 데이터의 각 비트에 대해 CRC를 수행한 결과 CRC를 통과하지 못한 비트는 상위 계층 복호화기(724)로 출력되지 못하고 버려졌다. 해당 비트가 올바르게 복호화되었는지 여부를 보장할 수 없기 때문이다. 하지만, 본 발명의 일 실시예에서는 CRC를 통과하지 못한 비트의 신뢰도를 평가하여 일정 이상의 신뢰도를 갖는 비트에 대해서는 상위 계층 복호화기(724)로 출력하여 더욱 정확하게 복호화할 수 있도록 한다.On the other hand, in the normal decoding, the CRC is performed on each bit of the decoded data. As a result, the bit that has not passed the CRC is discarded without being outputted to the upper layer decoder 724. It is impossible to guarantee whether or not the corresponding bit is correctly decoded. However, in one embodiment of the present invention, the reliability of a bit that does not pass the CRC is evaluated, and a bit having a reliability higher than a certain level is output to an upper layer decoder 724 so that it can be more accurately decoded.

이를 위해, 하위 계층 복호화기(722)는 CRC를 통과하지 못한 비트의 신뢰도 를 평가하며(S830), CRC를 통과하지 못한 비트 중에서 신뢰도가 기 설정된 신뢰도 문턱값 이상인 비트와 CRC를 통과한 비트를 출력한다(S840). 상위 계층 복호화기(724)는 상위 계층 코드를 이용하여 하위 계층 복호화기(722)로부터 출력되는 비트를 복호화한다(S850).For this, the lower layer decoder 722 evaluates the reliability of the bits that have not passed the CRC (S830), and outputs a bit whose reliability exceeds a predetermined reliability threshold value and a bit that passes the CRC among the bits that have not passed the CRC (S840). The upper layer decoder 724 decodes the bit output from the lower layer decoder 722 using the upper layer code (S850).

이와 같이, 상위 계층 복호화기(724)로부터 출력되는 비트가 소스 정보로서 복원될 수도 있지만, 후술하는 바와 같이, 하위 계층 복호화기(722)와 상위 계층 복호화기(724) 간의 연동을 통해 복호화 과정을 반복할 수도 있다. 즉, 하위 계층 복호화기(722)는 상위 계층 복호화기(724)로부터 출력되는 복호화된 비트에 대해 단계 S810 내지 단계 S850을 다시 수행하고, 상위 계층 복호화기(724)는 다시 수행되어 하위 계층 복호화기(722)로부터 출력되는 비트를 상위 계층 코드를 이용하여 다시 복호화할 수 있다. 또한, 하위 계층 복호화기(722)와 상이 계층 복호화기(724)는 이 과정을 계속해서 반복할 수도 있지만, 기 설정된 최대 반복 회수만큼만 반복할 수 있다. 즉, 하위 계층 복호화기(722)가 단계 S810 내지 단계 S850을 반복하여 수행할 때마다 반복하여 수행한 회수가 기 설정된 최대 반복 회수를 초과하는지 여부를 판단하여 반복 수행 여부를 결정할 수 있다.In this way, the bits output from the upper layer decoder 724 may be restored as the source information. However, as described later, the decoding process is performed through interlocking between the lower layer decoder 722 and the upper layer decoder 724 It can be repeated. That is, the lower layer decoder 722 performs steps S810 to S850 again on the decoded bits output from the upper layer decoder 724, and the upper layer decoder 724 is performed again, It is possible to decode the bits outputted from the upper layer code by using the higher layer code. Further, the lower layer decoder 722 and the different layer decoder 724 can repeat this process continuously, but they can repeat only the predetermined maximum number of repetitions. That is, each time the lower layer decoder 722 repeats steps S810 to S850, it is determined whether or not the number of iterations is greater than a predetermined maximum number of iterations, thereby determining whether to repeat the operations.

이와 같이, 하위 계층 복호화기(722)로부터 전달되는 비트들(CRC를 통과한 비트들보다 상대적으로 낮은 신뢰도의 비트들)을 상위 계층 복호화기(724)가 복호화하여 비트의 신뢰도를 높인 후, 이를 다시 하위 계층 복호화기(722)에서 복호화하고 다시 상위 계층 복호화기(724)에서 다시 복호화는 과정을 반복함으로써, 반복하는 회수가 증가할수록 하위 계층 복호화기(722)가 높은 신뢰도로 복호화할 수 있 는 비트의 수가 증가하여 궁극적으로는 복호화의 정확도가 더욱 향상될 수 있다.The upper layer decoder 724 decodes the bits transmitted from the lower layer decoder 722 (bits having a relatively lower reliability than the bits passing through the CRC) to increase the reliability of the bits. The lower layer decoder 722 can decode the lower layer decoder 722 with higher reliability as the number of iterations increases by repeating the decoding process again by the lower layer decoder 722 and again by the upper layer decoder 724 The number of bits increases and ultimately the accuracy of decoding can be further improved.

또한, 하위 계층 복호화기(722)는 단계 S810 내지 단계 S850을 반복하여 수행할 때마다, 기 설정된 신뢰도 문턱값을 기 설정된 값만큼 감소시킬 수 있다. 즉, 반복하는 회수가 증가할수록 비트의 신뢰도가 증가하기 때문에, 하위 계층 복호화기(722)는 기 설정된 신뢰도 문턱값에서 소정의 값만큼을 감소시켜 설정할 수 있다.Further, the lower layer decoder 722 may reduce the predetermined reliability threshold value by a preset value each time it repeatedly performs the steps S810 to S850. That is, since the reliability of the bit increases as the number of times of repetition increases, the lower layer decoder 722 can reduce the preset reliability threshold value by a predetermined value.

이상에서 설명한 본 발명의 일 실시예에 따르면, 주어진 채널 환경에서 더욱 적은 에러율을 달성할 수 있다. 또한, 같은 목표 에러율을 달성하기 위해 필요한 총 수신된 데이터 블록의 수를 상당히 줄일 수 있다. 더욱 적은 에러율은 데이터의 손실이 적음을 의미하고, 총 수신된 데이터 블록의 수를 줄일 수 있다는 것은 같은 데이터를 받는데 걸리는 시간을 줄일 수 있음을 의미하며, 더욱 적은 정보를 처리해도 되기 때문에 소비 전력의 감소로도 이어진다.According to the embodiment of the present invention described above, a lower error rate can be achieved in a given channel environment. In addition, the number of total received data blocks needed to achieve the same target error rate can be significantly reduced. Less error rate means less data loss, and reducing the total number of received data blocks means less time to receive the same data, and because less information can be processed, .

이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼 트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 캐리어 웨이브 매체 등이 포함될 수 있다.While the present invention has been described in connection with what is presently considered to be the most practical and preferred embodiment, it is to be understood that the invention is not limited to the disclosed embodiments. That is, within the scope of the present invention, all of the components may be selectively coupled to one or more of them. In addition, although all of the components may be implemented as one independent hardware, some or all of the components may be selectively combined to perform a part or all of the functions in one or a plurality of hardware. As shown in FIG. The codes and code segments constituting the computer program may be easily deduced by those skilled in the art. Such a computer program can be stored in a computer-readable storage medium, readable and executed by a computer, thereby realizing an embodiment of the present invention. As the storage medium of the computer program, a magnetic recording medium, an optical recording medium, a carrier wave medium, or the like may be included.

또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재할 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Furthermore, the terms "comprises", "comprising", or "having" described above mean that a component can be implanted unless otherwise specifically stated, But should be construed as including other elements. All terms, including technical and scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs, unless otherwise defined. Commonly used terms, such as predefined terms, should be interpreted to be consistent with the contextual meanings of the related art, and are not to be construed as ideal or overly formal, unless expressly defined to the contrary.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석 되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The foregoing description is merely illustrative of the technical idea of the present invention, and various changes and modifications may be made by those skilled in the art without departing from the essential characteristics of the present invention. Therefore, the embodiments disclosed in the present invention are intended to illustrate rather than limit the scope of the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. The scope of protection of the present invention should be construed according to the following claims, and all technical ideas within the scope of equivalents should be construed as falling within the scope of the present invention.

이상에서 설명한 바와 같이 본 발명은 상하위 계층 간의 연동을 이용하여 데이터를 복호하고 복호화된 데이터의 오류를 정정하는 방법 및 장치와 그를 이용한 데이터 송수신 시스템에 관한 분야에 적용되어, 주어진 채널 환경에서 데이터를 더욱 적은 에러율을 송수신할 수 있으며, 같은 목표 에러율을 달성하기 위해 필요한 총 수신된 데이터의 비트 수를 상당히 줄일 수 있으므로, 같은 비트 수의 데이터를 송수신하는 데 소요되는 줄일 수 있는 효과를 발생하는 매우 유용한 발명이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, It is possible to transmit and receive a small error rate and considerably reduce the number of bits of the total received data required to achieve the same target error rate so that a very useful invention to be.

도 1은 상위 계층의 FEC와 물리 계층의 FEC를 나타낸 예시도,1 is an exemplary view showing an FEC of an upper layer and an FEC of a physical layer,

도 2는 터보 코드를 나타낸 예시도,Fig. 2 is an illustration showing a turbo code,

도 3은 터보 코드를 복호화하는 과정을 나타낸 예시도,3 is a diagram illustrating a process of decoding a turbo code,

도 4는 레이트리스 코드를 나타낸 예시도,4 is an illustration showing a rateless code,

도 5는 본 발명의 일 실시예에 따라 부분적으로 복호화된 정보를 활용하는 과정을 나타낸 예시도,5 is a diagram illustrating a process of utilizing partially decoded information according to an embodiment of the present invention.

도 6은 본 발명의 일 실시예에 따른 동작 플로우를 나타낸 예시도,6 is an exemplary diagram illustrating an operational flow according to an embodiment of the present invention;

도 7은 본 발명의 다른 실시예에 따른 데이터 송수신 시스템을 간략하게 나타낸 블록 구성도,FIG. 7 is a block diagram schematically showing a data transmission / reception system according to another embodiment of the present invention.

도 8은 본 발명의 다른 실시예에 따른 부호화 방법을 설명하기 위한 순서도이다.8 is a flowchart illustrating an encoding method according to another embodiment of the present invention.

< 도면의 주요 부분에 대한 부호의 설명 >Description of the Related Art

710: 송신기 712: 상위 계층 부호화기710: Transmitter 712: Upper layer coder

714: 하위 계층 부호화기 720: 수신기714: Lower layer encoder 720: Receiver

722: 하위 계층 복호화기 724: 상위 계층 복호화기722: Lower layer decoder 724: Upper layer decoder

Claims (14)

소스 정보가 부호화된 데이터를 복호화하는 장치에 있어서,An apparatus for decoding data encoded with source information, 하위 계층 코드를 이용하여 상기 데이터를 복호화하되, 상기 복호화된 데이터의 각 비트의 신뢰도가 기 설정된 신뢰도 문턱값 이상인 비트를 출력하는 하위 계층 복호화기; 및A lower layer decoder for decoding the data using a lower layer code, and outputting a bit whose reliability of each bit of the decoded data is greater than or equal to a predetermined reliability threshold value; And 상위 계층 코드를 이용하여 상기 하위 계층 복호화기로부터 출력된 비트를 복호화하여 상기 소스 정보를 복원하는 상위 계층 복호화기An upper layer decoder for decoding the bits output from the lower layer decoder using an upper layer code and restoring the source information, 를 포함하는 것을 특징으로 하는 복호화 장치.And decodes the decoded data. 제 1 항에 있어서,The method according to claim 1, 상기 하위 계층 복호화기는 물리 계층 복호화기이고, 상기 상위 계층 복호화기는 레이트리스 코드 복호화기인 것을 특징으로 하는 복호화 장치.Wherein the lower layer decoder is a physical layer decoder, and the upper layer decoder is a rateless code decoder. 제 1 항에 있어서,The method according to claim 1, 상기 하위 계층 코드는 터보 코드이고, 상기 상위 계층 코드는 레이트리스 코드인 것을 특징으로 하는 복호화 장치.Wherein the lower layer code is a turbo code and the upper layer code is a rateless code. 제 1 항에 있어서, 상기 하위 계층 복호화기는,The apparatus of claim 1, wherein the lower layer decoder comprises: 상기 각 비트에 대해 순환 잉여 검사를 수행하여 상기 순환 잉여 검사에 통 과한 비트를 상기 신뢰도가 기 설정된 임계값 이상인 비트인 것으로 판단하는 것을 특징으로 하는 복호화 장치.And performs a cyclic redundancy check on each of the bits to determine that the bits exceeding the cyclic redundancy check are bits having a reliability higher than or equal to a preset threshold value. 제 1 항에 있어서, 상기 하위 계층 복호화기는,The apparatus of claim 1, wherein the lower layer decoder comprises: 상기 각 비트에 대해 순환 잉여 검사를 수행하고 상기 순환 잉여 검사에 통과하지 못한 비트의 신뢰도를 평가하여 상기 평가된 신뢰도가 상기 기 설정된 신뢰도 문턱값 이상인 비트를 출력하는 것으로 판단하는 것을 특징으로 하는 복호화 장치.Wherein the deciding unit decides to output a bit whose reliability is equal to or greater than the predetermined reliability threshold by performing a cyclic redundancy check on each bit and evaluating reliability of a bit that has not passed the cyclic redundancy check, . 제 5 항에 있어서, 상기 하위 계층 복호화기는,6. The apparatus of claim 5, wherein the lower layer decoder comprises: 상기 평가된 신뢰도가 상기 기 설정된 신뢰도 문턱값 이상인 비트에 대해 하드 디시전을 수행하여 비트값을 결정하고 출력하는 것을 특징으로 하는 복호화 장치.Wherein the decoding unit performs hard decision on bits having the estimated reliability value equal to or greater than the preset reliability threshold value to determine and output a bit value. 제 1 항에 있어서, 상기 신뢰도는,2. The method of claim 1, 상기 복호화된 데이터의 각 비트의 로그 우도율의 절대값인 것을 특징으로 하는 복호화 장치.And the absolute value of the log likelihood ratio of each bit of the decoded data. 소스 정보가 부호화된 데이터를 복호화하는 방법에 있어서,A method of decoding data encoded with source information, 하위 계층 복호화기가 하위 계층 코드를 이용하여 상기 데이터를 복호화하는 하위 계층 복호화 과정;A lower layer decoding process in which a lower layer decoder decodes the data using a lower layer code; 상기 하위 계층 복호화기가 상기 복호화된 데이터의 각 비트에 대해 순환 잉여 검사를 수행하는 순환 잉여 검사 과정;A cyclic redundancy check process in which the lower layer decoder performs a cyclic redundancy check on each bit of the decoded data; 상기 하위 계층 복호화기가 상기 순환 잉여 검사를 통과하지 못한 비트의 신뢰도를 평가하는 신뢰도 평가 과정;A reliability evaluation process of evaluating the reliability of bits for which the lower layer decoder has not passed the cyclic redundancy check; 상기 하위 계층 복호화기가 상기 순환 잉여 검사를 통과하지 못한 비트 중에서 상기 신뢰도가 기 설정된 신뢰도 문턱값 이상인 비트와 상기 순환 잉여 검사를 통과한 비트를 출력하는 비트 출력 과정; 및A bit output step of outputting a bit whose reliability is equal to or higher than a predetermined reliability threshold value and a bit that has passed the cyclic redundancy check among the bits for which the lower layer decoder has not passed the cyclic redundancy check; And 상위 계층 복호화기가 상위 계층 코드를 이용하여 상기 하위 계층 복호화기로부터 출력된 비트를 복호화하는 과정A process of decrypting a bit output from the lower layer decoder using an upper layer code by an upper layer decoder 을 포함하는 것을 특징으로 하는 복호화 방법.And decodes the decoded data. 제 8 항에 있어서, 상기 복호화 방법은,9. The decoding method according to claim 8, 상기 하위 계층 복호화기가 상기 상위 계층 복호화기로부터 복호화된 비트에 대해 상기 계층 복호화 과정 내지 상기 비트 출력 과정을 반복해서 수행하는 반복 과정을 추가로 포함하는 것을 특징으로 하는 복호화 방법.Further comprising an iterative process of the lower layer decoder repeatedly performing the layer decoding process and the bit output process on the decoded bits from the upper layer decoder. 제 9 항에 있어서, 상기 복호화 방법은,10. The decoding method according to claim 9, 상기 하위 계층 복호화기가 상기 계층 복호화 과정 내지 상기 비트 출력 과정을 반복할 때마다, 상기 기 설정된 신뢰도 문턱값을 기 설정된 값만큼 감소시키는 신뢰도 문턱값 감소 과정을 추가로 포함하는 것을 특징으로 하는 복호화 방법.Further comprising a reliability threshold decreasing step of decrementing the predetermined reliability threshold by a predetermined value each time the lower layer decoder repeats the layer decoding process or the bit outputting process. 제 9 항에 있어서, 상기 복호화 방법은,10. The decoding method according to claim 9, 상기 하위 계층 복호화기가 상기 계층 복호화 과정 내지 상기 비트 출력 과정을 반복한 회수가 기 설정된 최대 반복 회수를 초과하는지 여부를 판단하여 상기 반복 과정의 수행 여부를 결정하는 반복 여부 결정 과정을 추가로 포함하는 것을 특징으로 하는 복호화 방법.Further comprising determining whether to repeat the decoding process by determining whether the number of times that the lower layer decoder has repeated the layer decoding process or the bit output process exceeds a preset maximum number of iterations Characterized in that: 삭제delete 삭제delete 삭제delete
KR1020080119927A 2008-11-28 2008-11-28 A decoding method and apparatus using interworking between upper and lower layers, and a data transmission / reception system using the same Active KR101531184B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080119927A KR101531184B1 (en) 2008-11-28 2008-11-28 A decoding method and apparatus using interworking between upper and lower layers, and a data transmission / reception system using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080119927A KR101531184B1 (en) 2008-11-28 2008-11-28 A decoding method and apparatus using interworking between upper and lower layers, and a data transmission / reception system using the same

Publications (2)

Publication Number Publication Date
KR20100061051A KR20100061051A (en) 2010-06-07
KR101531184B1 true KR101531184B1 (en) 2015-06-24

Family

ID=42361894

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080119927A Active KR101531184B1 (en) 2008-11-28 2008-11-28 A decoding method and apparatus using interworking between upper and lower layers, and a data transmission / reception system using the same

Country Status (1)

Country Link
KR (1) KR101531184B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080041605A (en) * 2005-10-21 2008-05-13 삼성전자주식회사 Digital broadcasting system and method
KR20080100455A (en) * 2006-02-21 2008-11-18 디지털 파운튼, 인크. Multiple Field-Based Code Generators and Decoders in Communication Systems

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080041605A (en) * 2005-10-21 2008-05-13 삼성전자주식회사 Digital broadcasting system and method
KR20080100455A (en) * 2006-02-21 2008-11-18 디지털 파운튼, 인크. Multiple Field-Based Code Generators and Decoders in Communication Systems

Also Published As

Publication number Publication date
KR20100061051A (en) 2010-06-07

Similar Documents

Publication Publication Date Title
CN107026709B (en) Data packet coding processing method and device, base station and user equipment
US20060107176A1 (en) Concatenated iterative and algebraic coding
US10200149B2 (en) Parity frame
US8806288B2 (en) Systems and methods for providing unequal error protection code design from probabilistically fixed composition codes
US11088780B2 (en) Low complexity blind detection of code rate
Wang et al. Free-ride feedback and superposition retransmission over LDPC coded links
Luyi et al. Forward error correction
US8386877B2 (en) Communication system, transmitter, error correcting code retransmitting method, and communication program
US10122496B2 (en) Method for dynamic and selective FD-DSDF transmission of a digital signal for a MARC system with a full-duplex relay, and corresponding program product and relay device
KR101531502B1 (en) Method of Error control
Yuan et al. Introduction of forward error correction and its application
JP5248085B2 (en) Data processing method, data processing apparatus, and program
JP2006094012A (en) Encoding method, decoding processing method, and communication apparatus
KR101145673B1 (en) The method of encoding using lt code with specific structure and the method of encoding using raptor code based thereof
JP4444755B2 (en) Concatenated code system, concatenated code processing method, and decoding apparatus
KR101531184B1 (en) A decoding method and apparatus using interworking between upper and lower layers, and a data transmission / reception system using the same
Kim et al. Performance analysis of forward error correcting codes in IPTV
KR20150004489A (en) Ldpc encoding, decoding method and device using the method
Logeshwaran et al. Performance study on the suitability of Reed Solomon Codes in WiMAX
Chen Analysis of forward error correcting codes
Di The evaluation and application of forward error coding
Williamson Reliability-output decoding and low-latency variable-length coding schemes for communication with feedback
Yao et al. Turbo codes-based image transmission for channels with multiple types of distortion
CN113366872B (en) LPWAN communication protocol design using parallel concatenated convolutional codes
Bhargava et al. Coding theory and its applications in communication systems

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20081128

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20131029

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20081128

Comment text: Patent Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20141223

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20150616

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20150618

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20150618

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
FPAY Annual fee payment

Payment date: 20190502

Year of fee payment: 5

PR1001 Payment of annual fee

Payment date: 20190502

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20200330

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20210401

Start annual number: 7

End annual number: 7

PR1001 Payment of annual fee

Payment date: 20240321

Start annual number: 10

End annual number: 10