KR20100061051A - Decoding method and apparatus using cooperation between higher layer and lower layer and data transmitting/recieving system - Google Patents

Decoding method and apparatus using cooperation between higher layer and lower layer and data transmitting/recieving system Download PDF

Info

Publication number
KR20100061051A
KR20100061051A KR1020080119927A KR20080119927A KR20100061051A KR 20100061051 A KR20100061051 A KR 20100061051A KR 1020080119927 A KR1020080119927 A KR 1020080119927A KR 20080119927 A KR20080119927 A KR 20080119927A KR 20100061051 A KR20100061051 A KR 20100061051A
Authority
KR
South Korea
Prior art keywords
lower layer
bit
bits
layer decoder
code
Prior art date
Application number
KR1020080119927A
Other languages
Korean (ko)
Other versions
KR101531184B1 (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

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

PURPOSE: A decoding method using a linkage between upper and lower layers and a data transceiver system using the same are provided to significantly decrease the total number of received data bits by transmitting and receiving data at a small error rate in a given channel environment. CONSTITUTION: A lower layer decoder(722) decodes data using a lower layer code. The lower layer decoder outputs each bit of the decoded data with reliability which is equal to or greater than a set reliability threshold value. An upper layer decoder(724) decodes the bit outputted from the lower layer decoder using an upper layer code. The upper layer decoder restores the source information. The lower layer decoder is comprised of a physical layer decoder. The higher layer decoder is composed of a rateless code decoder.

Description

상하위 계층 간의 연동을 이용한 복호화 방법 및 장치와 그를 이용하여 데이터 송수신 시스템{Decoding Method and Apparatus Using Cooperation between Higher Layer and Lower Layer and Data Transmitting/Recieving System}Decoding method and apparatus using interworking between upper and lower layers and data transmission / reception system using same {Decoding Method and Apparatus Using Cooperation between Higher Layer and Lower Layer and Data Transmitting / Recieving System}

본 발명은 상하위 계층 간의 연동을 이용한 복호화 방법 및 장치와 그를 이용하여 데이터 송수신 시스템에 관한 것이다. 더욱 상세하게는, 하위 계층 코드와 상위 계층 코드를 이용하여 부호화된 데이터를 더욱 정확하게 복호화하는 방법 및 장치와 그를 이용한 데이터의 송수신 시스템에 관한 것이다.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 specifically, the present invention relates to a method and apparatus for more accurately decoding data encoded using a lower layer code and a higher layer code, and a system for transmitting and receiving data 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 MBMS (Multimedia Broadcast Multicast Service) that can efficiently send the same information to multiple users at the same time. MBMS applies Forward Error Correction (FEC) technology, which adds redundancy to the transmitted data and transmits the data over the wireless channel. This can eliminate errors caused by fading and noise. FEC is an error correction technique that is essential in unidirectional transmission services, such as transmission of broadcast data, because when the receiver finds an error in the received data, the receiver can correct itself without requiring retransmission. In particular, when providing a broadcast service, since the service provider provides information to all users who are not specifically targeted users, it is required to transmit information in one direction without communicating information between both the service provider and the user. Accordingly, it can be said that FEC technology is necessary among technologies for providing a broadcast 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)라 한다.Algorithms for the well-known FEC technology (hereinafter, abbreviated as 'FEC algorithm') are the Convolutional Code, Reed-Solomon Code, Turbo Code, and Low Density Parity Check. Algorithms that correct errors using LDPC Code (Low-Density Parity-Check Code), Tornado Code, Ruby Transform Code (LT Code), Raptor Code, etc. have. Algorithms using each code generate redundancy in different ways, and add redundancy to original information to generate codewords. The ratio of lengths of codewords is called a coding rate.

FEC 알고리즘 중에서는 코딩 레이트가 정해져 있어서 수신기가 사용하는 채널을 알고 있는 유니캐스트(Unicast) 전송에 적합한 FEC 알고리즘이 있는 반면, 코딩 레이트가 정해지지 않고 리던던시를 계속해서 생성하고 전송하여 그 중 일부만 수신해도 원래의 정보를 복호화할 수 있는 FEC 알고리즘이 있는데, 이러한 FEC 알고리즘에서 사용하는 코드를 레이트리스 코드(Rateless Code)라 한다. 레이트리스 코드는 수신기가 데이터를 수신할 수 있는지 여부를 송신기에서 알지 못해도 높은 신뢰도로 전송할 수 있으므로, 사용자가 분명하지 않은 방송에 적합한 FEC 알고리 즘이라 할 수 있다. 대표적인 레이트리스 코드로서는 루비 트랜스폼 코드, 랩터 코드 등이 있으며, 실제로 방송용 FEC 알고리즘으로 사용되고 있다.While some FEC algorithms have a coding rate that is suitable for unicast transmissions that know the channel used by the receiver, the FEC algorithm does not determine the coding rate but generates and transmits redundancy continuously. There is an FEC algorithm that can decode the information, and the code used in the FEC algorithm is called a rateless code. The rateless code can be transmitted with high reliability even if the transmitter does not know whether the receiver can receive the data, so the user can be called an FEC algorithm suitable for broadcast that is not obvious to the user. Representative rateless codes include ruby transform codes, raptor codes, and the like, and are actually used as broadcast FEC algorithms.

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

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

이와 같이, 오류 정정 부호를 이용하여 복호화하는 계층이 하위 계층 및 상위 계층의 두 단계로 되어 있는 시스템에서는 물리 계층에 있는 오류 정정 부호를 이용하여 페이딩 환경을 고려한 오류 정정을 하게 되고 상위 계층에 있는 레이트리스 코드를 이용하여 추가적인 오류 정정을 하게 된다. 그런데 이렇게 두 단계로 오류 정정을 할 때, 물리 계층의 복호화기는 통상적으로 복호화된 정보만을 상위 계층의 레이트리스 코드 복호화기에 올려 보내게 되며, 그로 인해 성능 저하가 발생하는 문제점이 있다. 즉, 물리 계층에서 페이딩이 있는 경우, 블록이 복호화되지는 않지만 여전히 유용한 정보가 그 블록에 포함될 수 있다. 이러한 정보를 상위 계층의 레이트리스 코드가 이용할 수 있다면, 더욱 향상된 성능을 낼 수 있는 가능성이 있다. 따라서, 물리 계층에서 복호화되지 않은 블록에 포함된 유용한 정보를 상위 계층에서 이용할 수 있도록 하는 새로운 기술의 개발이 요구되는 실정이다.As described above, in a system in which a layer decoded using an error correction code has two stages, a lower layer and a higher layer, error correction is performed in consideration of a fading environment using an error correction code in a physical layer. Additional error corrections are made using lease codes. However, when the error correction is performed in two steps, the decoder of the physical layer typically sends only the decoded information to the rateless code decoder of the upper layer, which causes a problem of deterioration of performance. 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 to the higher layer rateless code, there is a possibility of further improved performance. Therefore, there is a need for development of a new technology that makes useful information included in a block not decoded in the physical layer available in an upper layer.

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

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

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

또한, 본 발명의 또 다른 목적에 의하면, 데이터를 송수신하는 시스템에 있어서, 상위 계층 코드를 이용하여 소스 정보를 부호화하여 비트를 출력하는 상위 계층 부호화기와 하위 계층 코드를 이용하여 상위 계층 부호화기로부터 출력되는 비트를 부호화하여 부호화 데이터를 생성하는 하위 계층 부호화기를 포함하되, 부호화 데이터를 송신하는 송신기; 및 부호화 데이터를 수신하되, 하위 계층 코드를 이용하여 수신된 부호화 데이터를 복호화하고 복호화된 부호화 데이터의 각 비트에 대해 순환 잉여 검사를 수행하여 순환 잉여 검사에 통과하지 못한 비트 중 신뢰도 가 기 설정된 신뢰도 문턱값 이상인 비트와 순환 잉여 검사에 통과한 비트를 출력하는 하위 계층 복호화기와 상위 계층 코드를 이용하여 하위 계층 복호화기로부터 출력되는 비트를 복호화하여 소스 정보를 복원하는 상위 계층 복호화기를 포함하는 수신기를 포함하는 것을 특징으로 하는 데이터 송수신 시스템을 제공한다.According to still another object of the present invention, in a system for transmitting and receiving data, an upper layer encoder for encoding source information using an upper layer code and outputting bits and an output from an upper layer encoder using a lower layer code A transmitter for encoding encoded bits to generate encoded data, wherein the transmitter transmits encoded data; And a reliability threshold among the bits that do not pass the cyclic redundancy check by receiving the encoded data, decoding the received coded data using a lower layer code, and performing a cyclic redundancy check on each bit of the decoded coded data. And a receiver including a lower layer decoder for outputting a bit greater than or equal to a value and a bit that has passed the cyclic redundancy check, and a higher layer decoder for restoring source information by decoding a bit output from the lower layer decoder using an upper layer code. It provides a data transmission and reception system, characterized in that.

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

이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, some embodiments of the present invention will be described in detail through exemplary drawings. In adding reference numerals to the components of each drawing, it should be noted that the same reference numerals are used to refer to the same components as much as possible even if displayed on 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 addition, in describing the component of this invention, terms, such as 1st, 2nd, A, B, (a), (b), can be used. These terms are only for distinguishing the components from other components, and the nature, order or order of the components are not limited by the terms. If a component is described as being "connected", "coupled" or "connected" to another component, that component may be directly connected or connected to that other component, but between components It will be understood that may be "connected", "coupled" or "connected".

도 1은 상위 계층의 FEC와 물리 계층의 FEC를 나타낸 예시도이다.1 is an exemplary diagram illustrating 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 the interworking of codes between a high layer and a physical layer. Referring to FIG. 1, source information, that is, m bits of information to be transmitted, is arranged in an array divided into several columns and rows (array indicated by A blocks in FIG. 1). For example, if there is 5,000 bits of information, it is rearranged into a matrix of 50 bits x 100 bits, where 100 bits is the number of bits in each row. 100 bits of information in each row are encoded by a rateless code to generate parity information having an arbitrary number. The bit string of each row shown in the B block in FIG. 1 is parity information.

이때, B 블록의 각 행에 들어갈 수 있는 패리티 비트의 수는 미리 정해져 있지 않다. 채널 환경이 나쁘다면 더욱 많은 패리티 정보가 생성될 수 있고, 채널 환경이 좋다면 적은 수의 패리티(Parity) 정보만으로도 원래의 정보를 복원할 수 있다. 이와 같이, 미리 정해지지 않은 수의 패리티 비트를 생성하는 코드를 레이트리스 코드라 한다. 이때, 레이트리스 코드는 각 행에 따로 적용된다.At this time, the number of parity bits that can fit in each row of the B block is not predetermined. If the channel environment is bad, more parity information may be generated. If the channel environment is good, the original information may be restored with only a few parity information. In this way, a code that generates a predetermined number of parity bits is called a rateless code. In this case, 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 블록의 열이다. 즉, 슬롯마다 한 열에 있는 비트들이 전송된다.Parity information generated by applying a 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 the bits in each column indicated in the B block to generate a parity code. The generated parity code is shown as a C block in FIG. As the physical layer FEC, a turbo code or a low-density parity-check code (LDPC code) is used. After the physical layer FEC is applied to each column, the bits of each column in the C block are transmitted at a predetermined time. In this case, when only the parity bits in the C block are 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. . In many cases, systematic code is used. The unit to be transmitted is C or a column of B and C blocks. That is, bits in one column are transmitted for each slot.

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

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

물리 계층 복호화기에서 사용하는 물리 계층 코드로는 주로 터보 코드가 사용된다. 터보 코드는 통상적으로 2개의 콘볼루션 코드(Convolutional Code)와 인터리버(Interleaver)로 구성된다.Turbo codes are mainly used as physical layer codes used in the physical layer decoder. Turbo codes are typically composed 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의 입력이 된다.u is k-bit input information to be transmitted. G 0 and G 1 are rate- 1 convolutional codes. That is, when each bit is input, G 0 is a function of the current input bit which is the currently input bit and all the past input bits that have been input in the past, and produces the current output bit which is the currently output bit. G 1 plays the same role. There is a random interleaver p between G 0 and G 1 . The interleaver p randomly permutates k-bit input information to produce k-bit output. In this manner, information of the k output bits are the input to 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 plus data. In this way, if the amount is not very large even if the noise is added, more 3k bits are received than the original k bits, so that the original k bits of information can be recovered using 2k bits of additional information (parity information). . The coding rate at this time, that is, the number of bits of information to be transmitted divided by the number of bits to be transmitted is 1/3. 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, may be made to 1/2 by performing a process called puncturing. In other words, if v (0) and v (1) are not transmitted alternately by one bit, the total number of bits to be transmitted is 2k and the coding rate can be made 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 Figure 3, Lc is any constant that depends 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 to 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)이다. 외부 정보는 다시 치환되어 두 번째 복호화기로 입력된다.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 k bits of original information, ie log [p (xi = 1) / p (xi = -1)]. It is calculated from the first decoder. Where 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, which is information received from the channel, and the inverse permutation (π −1 ) of the extra information Le (1) from another decoder. This is Extrinsic Information that the first decoder passes to the second decoder. The external information is replaced again and input to the second decoder.

두 번째 복호화기에서는 첫 번째 복호화기와 유사한 방식으로 복호화를 수행한다. 이와 같이, 복호화가 여러 번의 루프(Loop)를 돌면서 반복(Iteration)되면, 점점 더 정확하게 원래의 정보를 복원할 수 있다. 통상적으로 10 회 정도의 반복이 수행된다. 이때, 10 번의 반복이 끝나면, L(0) 값을 바탕으로 원래의 데이터를 복원할 수 있다. 즉, L(0)의 i 번째 원소가 양수이면, xi 가 +1로 복호화되고, 음수이면 -1로 복호화된다.The second decoder performs decoding in a similar manner to the first decoder. As such, when decryption is repeated in several loops, the original information can be restored more accurately. Typically about 10 repetitions are performed. At this time, after 10 repetitions, the original data may be restored based on the L (0) value. 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 bits thus decoded are the same as the original bits. In order to accurately determine whether the decoding is successful, a conventional cyclic redundancy check (CRC: hereinafter referred to as 'CRC') is used as described with reference to FIG. 5 in the following process. That is, assuming a 32-bit CRC is used, among the k bits of each row, the (k-32) bits contain the bits to be transmitted (i.e., parity bits generated in the Raptor Code), and the rest The 32 bits contain the CRC bits for these (k-32) bits. As shown in Fig. 5, for k bits, the physical layer code generates parity bits (the number of parity bits is k bits if the rate is 1/2).

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

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

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

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

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

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

도 6은 본 발명의 일 실시예에 따른 동작 플로우를 나타낸 예시도이다.6 is an exemplary view showing an operation 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 may be represented by an absolute value of a log likelihood ratio (LLR) of the corresponding bit. That is, the absolute value of the i th log likelihood of L (0) represents the reliability of xi. In this case, turbo decryption proceeds interactively in a conventional Log-MAP or Max-Log-MAP scheme, and since the rateless code decryption assumes only erasure, a much simpler message passing iterative decryption is performed. (Message Passing Iterative Decoding), that is, one of three values, 0, 1, or erase, is passed between the parity check node and the variable node as a message.

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

도 7은 본 발명의 다른 실시예에 따른 데이터 송수신 시스템을 간략하게 나타낸 블록 구성도이다.7 is a block diagram schematically showing a data transmission and 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 be composed of a transmitter 710 and a receiver 720. The data transmission / reception system 700 may be a wired or wireless communication system, and the wired / wireless communication system may be a high-speed downlink packet access (HSDPA) system, a CDMA2000 1x-EV-DO system, a CDMA2000 1x-EV-DV (Evolution in Data and Voice communication system, IEEE 802.16e system, 3GPP MBMS (Multimedia Broadcast Multicast Service) system and the like, and a wireless communication system such as Internet and intranet.

송신기(710)는 유무선 통신 시스템에서 데이터를 송신하는 장치를 말한다. 수신기(720)는 유무선 통신 시스템에서 데이터를 수신하는 장치를 말한다. 예를 들어, 유무선 통신 시스템이 HSDPA 시스템으로 구현되는 경우, 송신기(710)는 Node-B 또는 무선망 제어기(RNC: Radio Network Controller) 등으로 구현될 수 있으며, 수신기(720)는 UE(User Equipment)와 같은 단말기 등으로 구현될 수 있다.The transmitter 710 refers to an apparatus for transmitting data in a wired or wireless communication system. The receiver 720 refers to an apparatus for receiving data in a wired or 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), and the receiver 720 is a user equipment (UE). It may be implemented as a terminal such as).

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

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

여기서, 유무선 통신 시스템이 3GPP MBMS 시스템으로 구현되는 경우, 송신기(710)에 의해 부호화되고 수신기(720)에 의해 복원되는 소스 정보는 방송 데이터일 수 있으며, 송신기(710)와 수신기(720)는 무선 채널을 통해 부호화 데이터를 송수신할 수 있다.Here, when the wire / 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. Encoded data can be transmitted and received through a channel.

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

여기서, 하위 계층 복호화기(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. In addition, 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에 통과하지 못한 비트의 신뢰도가 기 설정된 신뢰도 문턱값 이상인 비트를 출력할 수 있다.In addition, the lower layer decoder 722 performs a CRC on each bit generated by decoding the data encoded using the lower layer code, and determines that the bit passing through the CRC is a bit having a reliability higher than or equal to a preset threshold. CRC is performed on each bit generated by decoding the coded data using a lower layer code, and the reliability of the bits that do not pass through the CRC is evaluated so that the reliability of the bits that do not pass through the CRC is preset to the reliability threshold. Bits larger than the value can be output.

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

도 8은 본 발명의 다른 실시예에 따른 부호화 방법을 설명하기 위한 순서도이다.8 is a flowchart illustrating a coding 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 the CRC on each bit of the decoded data may be to evaluate the reliability of each bit. This is because the bits that pass the CRC among the bits of the data decoded by the lower layer decoder 722 may be regarded as having 100% reliability. Indeed, any bit of decoded data has been incorrectly decoded, which is not a concern because the probability of passing the CRC is very small, about 10 -10 . Accordingly, the lower layer decoder 722 may determine that the reliability is greater than or equal to a predetermined reliability threshold without evaluating the reliability of the bit passing the CRC.

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

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

이와 같이, 상위 계층 복호화기(724)로부터 출력되는 비트가 소스 정보로서 복원될 수도 있지만, 후술하는 바와 같이, 하위 계층 복호화기(722)와 상위 계층 복호화기(724) 간의 연동을 통해 복호화 과정을 반복할 수도 있다. 즉, 하위 계층 복호화기(722)는 상위 계층 복호화기(724)로부터 출력되는 복호화된 비트에 대해 단계 S810 내지 단계 S850을 다시 수행하고, 상위 계층 복호화기(724)는 다시 수행되어 하위 계층 복호화기(722)로부터 출력되는 비트를 상위 계층 코드를 이용하여 다시 복호화할 수 있다. 또한, 하위 계층 복호화기(722)와 상이 계층 복호화기(724)는 이 과정을 계속해서 반복할 수도 있지만, 기 설정된 최대 반복 회수만큼만 반복할 수 있다. 즉, 하위 계층 복호화기(722)가 단계 S810 내지 단계 S850을 반복하여 수행할 때마다 반복하여 수행한 회수가 기 설정된 최대 반복 회수를 초과하는지 여부를 판단하여 반복 수행 여부를 결정할 수 있다.As described above, although the bits output from the higher layer decoder 724 may be restored as source information, as described below, the decoding process is performed through interworking between the lower layer decoder 722 and the higher layer decoder 724. You can repeat it. 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 to lower layer decoder. The bit output from 722 may be decoded again using a higher layer code. In addition, although the lower layer decoder 722 and the different layer decoder 724 may repeat this process continuously, the lower layer decoder 722 may repeat the process only as much as a predetermined maximum number of repetitions. That is, whenever the lower layer decoder 722 repeatedly performs steps S810 to S850, it may be determined whether the number of repeated operations exceeds the preset maximum number of repeated operations to determine whether to perform the repetition.

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

또한, 하위 계층 복호화기(722)는 단계 S810 내지 단계 S850을 반복하여 수행할 때마다, 기 설정된 신뢰도 문턱값을 기 설정된 값만큼 감소시킬 수 있다. 즉, 반복하는 회수가 증가할수록 비트의 신뢰도가 증가하기 때문에, 하위 계층 복호화기(722)는 기 설정된 신뢰도 문턱값에서 소정의 값만큼을 감소시켜 설정할 수 있다.In addition, whenever the lower layer decoder 722 repeats steps S810 to S850, the predetermined reliability threshold may be reduced by a predetermined value. That is, since the reliability of the bit increases as the number of repetitions increases, the lower layer decoder 722 may decrease and set the predetermined reliability threshold by a predetermined value.

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

이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼 트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(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. In other words, within the scope of the present invention, all of the components may be selectively operated in combination with one or more. In addition, although all of the components may be implemented in one independent hardware, each or all of the components may be selectively combined to perform some or all functions combined in one or a plurality of hardware. It may be implemented as a computer program having a. Codes and code segments constituting the computer program may be easily inferred by those skilled in the art. Such a computer program may be stored in a computer readable storage medium and read and executed by a computer, thereby implementing embodiments of the present invention. The storage medium of the computer program may include a magnetic recording medium, an optical recording medium, a carrier wave medium, and the like.

또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재할 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.In addition, the terms "comprise", "comprise" or "having" described above mean that the corresponding component may be inherent unless specifically stated otherwise, and thus excludes other components. It should be construed that it may further include other components instead. All terms, including technical and scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art unless otherwise defined. Terms used generally, such as terms defined in a dictionary, should be interpreted to coincide with the contextual meaning of the related art, and shall not be interpreted in an ideal or excessively formal sense unless explicitly defined in the present invention.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석 되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.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 not intended to limit the technical idea of the present invention but to describe the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. The protection scope of the present invention should be interpreted by the following claims, and all technical ideas within the equivalent scope should be interpreted as being included in the scope of the present invention.

이상에서 설명한 바와 같이 본 발명은 상하위 계층 간의 연동을 이용하여 데이터를 복호하고 복호화된 데이터의 오류를 정정하는 방법 및 장치와 그를 이용한 데이터 송수신 시스템에 관한 분야에 적용되어, 주어진 채널 환경에서 데이터를 더욱 적은 에러율을 송수신할 수 있으며, 같은 목표 에러율을 달성하기 위해 필요한 총 수신된 데이터의 비트 수를 상당히 줄일 수 있으므로, 같은 비트 수의 데이터를 송수신하는 데 소요되는 줄일 수 있는 효과를 발생하는 매우 유용한 발명이다.As described above, the present invention is applied to a method and apparatus for decoding data by using interworking between upper and lower layers and correcting an error of decoded data, and a data transmission / reception system using the same, thereby further providing data in a given channel environment. Very useful inventions that can transmit and receive less error rates and significantly reduce the total number of bits of data received to achieve the same target error rate, resulting in the reduced effect of sending and receiving data of the same number of bits to be.

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

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

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

도 4는 레이트리스 코드를 나타낸 예시도,4 shows an example of a rateless code;

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

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

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

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

< 도면의 주요 부분에 대한 부호의 설명 ><Description of Symbols for Main Parts of Drawings>

710: 송신기 712: 상위 계층 부호화기710: transmitter 712: higher layer encoder

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 that decodes the data using a lower layer code, and outputs a bit in which a reliability of each bit of the decoded data is equal to or larger than a preset reliability threshold; And 상위 계층 코드를 이용하여 상기 하위 계층 복호화기로부터 출력된 비트를 복호화하여 상기 소스 정보를 복원하는 상위 계층 복호화기An upper layer decoder which restores the source information by decoding a bit output from the lower layer decoder using an upper layer code 를 포함하는 것을 특징으로 하는 복호화 장치.Decoding apparatus comprising a. 제 1 항에 있어서,The method of claim 1, 상기 하위 계층 복호화기는 물리 계층 복호화기이고, 상기 상위 계층 복호화기는 레이트리스 코드 복호화기인 것을 특징으로 하는 복호화 장치.And the lower layer decoder is a physical layer decoder, and the upper layer decoder is a rateless code decoder. 제 1 항에 있어서,The method of claim 1, 상기 하위 계층 코드는 터보 코드이고, 상기 상위 계층 코드는 레이트리스 코드인 것을 특징으로 하는 복호화 장치.And the lower layer code is a turbo code and the upper layer code is a rateless code. 제 1 항에 있어서, 상기 하위 계층 복호화기는,The method of claim 1, wherein the lower layer decoder, 상기 각 비트에 대해 순환 잉여 검사를 수행하여 상기 순환 잉여 검사에 통 과한 비트를 상기 신뢰도가 기 설정된 임계값 이상인 비트인 것으로 판단하는 것을 특징으로 하는 복호화 장치.And performing a cyclic redundancy check on each of the bits to determine that the bit passed through the cyclic redundancy check is a bit whose reliability is equal to or greater than a preset threshold. 제 1 항에 있어서, 상기 하위 계층 복호화기는,The method of claim 1, wherein the lower layer decoder, 상기 각 비트에 대해 순환 잉여 검사를 수행하고 상기 순환 잉여 검사에 통과하지 못한 비트의 신뢰도를 평가하여 상기 평가된 신뢰도가 상기 기 설정된 신뢰도 문턱값 이상인 비트를 출력하는 것으로 판단하는 것을 특징으로 하는 복호화 장치.Performing a cyclic redundancy check on each bit and evaluating the reliability of the bits that do not pass the cyclic redundancy check to determine that the evaluated reliability is output as a bit having a predetermined reliability threshold value or more; . 제 5 항에 있어서, 상기 하위 계층 복호화기는,The method of claim 5, wherein the lower layer decoder, 상기 평가된 신뢰도가 상기 기 설정된 신뢰도 문턱값 이상인 비트에 대해 하드 디시전을 수행하여 비트값을 결정하고 출력하는 것을 특징으로 하는 복호화 장치.And determining and outputting a bit value by performing hard decision on a bit having the estimated reliability equal to or greater than the preset reliability threshold. 제 1 항에 있어서, 상기 신뢰도는,The method of claim 1, wherein the reliability is, 상기 복호화된 데이터의 각 비트의 로그 우도율의 절대값인 것을 특징으로 하는 복호화 장치.And an absolute value of a log likelihood ratio of each bit of the decoded data. 소스 정보가 부호화된 데이터를 복호화하는 방법에 있어서,In the method for decoding the data encoded the source information, 하위 계층 복호화기가 하위 계층 코드를 이용하여 상기 데이터를 복호화하는 하위 계층 복호화 단계;A lower layer decoding step of decoding, by a lower layer decoder, the data using a lower layer code; 상기 하위 계층 복호화기가 상기 복호화된 데이터의 각 비트에 대해 순환 잉여 검사를 수행하는 순환 잉여 검사 단계;A cyclic redundancy check step of the lower layer decoder performing a cyclic redundancy check on each bit of the decoded data; 상기 하위 계층 복호화기가 상기 순환 잉여 검사를 통과하지 못한 비트의 신뢰도를 평가하는 신뢰도 평가 단계;A reliability evaluation step 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, by the lower layer decoder, a bit whose reliability is equal to or greater than a preset reliability threshold among bits that do not pass the cyclic redundancy check and a bit that passes the cyclic redundancy check; And 상기 상위 계층 복호화기가 상위 계층 코드를 이용하여 상기 하위 계층 복호화기로부터 출력된 비트를 복호화하는 단계Decoding, by the upper layer decoder, a bit output from the lower layer decoder using an upper layer code 를 포함하는 것을 특징으로 하는 복호화 방법.Decoding method comprising a. 제 8 항에 있어서, 상기 복호화 방법은,The method of claim 8, wherein the decoding method, 상기 하위 계층 복호화기가 상기 상위 계층 복호화기로부터 복호화된 비트에 대해 상기 계층 복호화 단계 내지 상기 비트 출력 단계를 반복해서 수행하는 반복 단계를 추가로 포함하는 것을 특징으로 하는 복호화 방법.And a repeating step in which the lower layer decoder repeatedly performs the layer decoding step and the bit output step on the bits decoded from the upper layer decoder. 제 9 항에 있어서, 상기 복호화 방법은,The method of claim 9, wherein the decoding method, 상기 하위 계층 복호화기가 상기 계층 복호화 단계 내지 상기 비트 출력 단계를 반복할 때마다, 상기 기 설정된 신뢰도 문턱값을 기 설정된 값만큼 감소시키 는 신뢰도 문턱값 감소 단계를 추가로 포함하는 것을 특징으로 하는 복호화 방법.Each time the lower layer decoder repeats the layer decoding step to the bit output step, a decoding method further comprises reducing a reliability threshold value by a predetermined value. . 제 9 항에 있어서, 상기 복호화 방법은,The method of claim 9, wherein the decoding method, 상기 하위 계층 복호화기가 상기 계층 복호화 단계 내지 상기 비트 출력 단계를 반복한 회수가 기 설정된 최대 반복 회수를 초과하는지 여부를 판단하여 상기 반복 단계의 수행 여부를 결정하는 반복 여부 결정 단계를 추가로 포함하는 것을 특징으로 하는 복호화 방법.And determining whether to perform the repetition step by determining whether the number of times the lower layer decoder repeats the hierarchical decoding step to the bit output step exceeds a preset maximum repetition number. A decoding method characterized by the above-mentioned. 데이터를 송수신하는 시스템에 있어서,In the system for transmitting and receiving data, 상위 계층 코드를 이용하여 소스 정보를 부호화하여 비트를 출력하는 상위 계층 부호화기와 하위 계층 코드를 이용하여 상기 상위 계층 부호화기로부터 출력되는 비트를 부호화하여 부호화 데이터를 생성하는 하위 계층 부호화기를 포함하되, 상기 부호화 데이터를 송신하는 송신기; 및And an upper layer encoder for encoding the source information using an upper layer code and outputting bits, and a lower layer encoder for generating encoded data by encoding the bits output from the upper layer encoder using a lower layer code. A transmitter for transmitting data; And 상기 부호화 데이터를 수신하되, 하위 계층 코드를 이용하여 상기 수신된 부호화 데이터를 복호화하고 상기 복호화된 부호화 데이터의 각 비트에 대해 순환 잉여 검사를 수행하여 상기 순환 잉여 검사에 통과하지 못한 비트 중 신뢰도가 기 설정된 신뢰도 문턱값 이상인 비트와 상기 순환 잉여 검사에 통과한 비트를 출력하는 하위 계층 복호화기와 상위 계층 코드를 이용하여 상기 하위 계층 복호화기로부터 출력되는 비트를 복호화하여 상기 소스 정보를 복원하는 상위 계층 복호화기를 포함하는 수신기Receive the encoded data, decode the received encoded data using a lower layer code, perform a cyclic redundancy check on each bit of the decoded coded data, and have a reliability among the bits that do not pass the cyclic redundancy check. A lower layer decoder for outputting a bit higher than a set reliability threshold value and a bit passing the cyclic redundancy check, and an upper layer decoder for decoding the bit output from the lower layer decoder by using an upper layer code to restore the source information. Including receiver 를 포함하는 것을 특징으로 하는 데이터 송수신 시스템.Data transmission and reception system comprising a. 제 12 항에 있어서,13. The method of claim 12, 상기 소스 정보는 방송 데이터인 것을 특징으로 하는 데이터 송수신 시스템.And the source information is broadcast data. 제 12 항에 있어서, 상기 송신기 및 상기 수신기는,The method of claim 12, wherein the transmitter and the receiver, 무선 채널을 통해 상기 부호화 데이터를 송수신하는 것을 특징으로 하는 데이터 송수신 시스템.And transmitting and receiving the encoded data through a wireless channel.
KR1020080119927A 2008-11-28 2008-11-28 Decoding Method and Apparatus Using Cooperation between Higher Layer and Lower Layer and Data Transmitting/Recieving System KR101531184B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080119927A KR101531184B1 (en) 2008-11-28 2008-11-28 Decoding Method and Apparatus Using Cooperation between Higher Layer and Lower Layer and Data Transmitting/Recieving System

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080119927A KR101531184B1 (en) 2008-11-28 2008-11-28 Decoding Method and Apparatus Using Cooperation between Higher Layer and Lower Layer and Data Transmitting/Recieving System

Publications (2)

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

Family

ID=42361894

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080119927A KR101531184B1 (en) 2008-11-28 2008-11-28 Decoding Method and Apparatus Using Cooperation between Higher Layer and Lower Layer and Data Transmitting/Recieving System

Country Status (1)

Country Link
KR (1) KR101531184B1 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101158097B1 (en) * 2005-10-21 2012-06-22 삼성전자주식회사 Trellis encoder for encoding a dual transmission stream
US9270414B2 (en) * 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems

Also Published As

Publication number Publication date
KR101531184B1 (en) 2015-06-24

Similar Documents

Publication Publication Date Title
CN107026709B (en) Data packet coding processing method and device, base station and user equipment
US7516389B2 (en) Concatenated iterative and algebraic coding
US7519895B2 (en) Channel encoding/decoding apparatus and method using a parallel concatenated low density parity check code
US20070089025A1 (en) Apparatus and method for encoding/decoding block low density parity check codes having variable coding rate
US20050149841A1 (en) Channel coding/decoding apparatus and method using a parallel concatenated low density parity check code
US8806288B2 (en) Systems and methods for providing unequal error protection code design from probabilistically fixed composition codes
Liu et al. LDPC-RS product codes for digital terrestrial broadcasting transmission system
Wang et al. Free-ride feedback and superposition retransmission over LDPC coded links
US8386877B2 (en) Communication system, transmitter, error correcting code retransmitting method, and communication program
Roongta et al. Reliability-based hybrid ARQ using convolutional codes
JP4138723B2 (en) Decoding processing method and communication apparatus
US8402338B2 (en) Method of error control
KR101145673B1 (en) The method of encoding using lt code with specific structure and the method of encoding using raptor code based thereof
Dammer et al. A data puncturing IR-scheme for type-II hybrid ARQ protocols using LDPC codes
Chaudhary et al. Error control techniques and their applications
Chen et al. A double serial concatenated code using CRC-aided error correction for highly reliable communication
KR101531184B1 (en) Decoding Method and Apparatus Using Cooperation between Higher Layer and Lower Layer and Data Transmitting/Recieving System
CN114124108A (en) Encoding method, decoding method and related device based on low density parity check
Malhotra Investigation of channel coding techniques for high data rate mobile wireless systems
Di The evaluation and application of forward error coding
CN113366872B (en) LPWAN communication protocol design using parallel concatenated convolutional codes
Morais Channel Coding and Link Adaptation
CN112152642A (en) Sliding window decoding method and system with retransmission mechanism
Shah et al. RS-LDPC product code for high SNR applications
Lin et al. Application of the concatenation of reed solomon and luby transform codes in deep communications

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
FPAY Annual fee payment

Payment date: 20190502

Year of fee payment: 5