KR101288762B1 - Error correcting apparatus and method in digital audio broadcasting receiver - Google Patents

Error correcting apparatus and method in digital audio broadcasting receiver Download PDF

Info

Publication number
KR101288762B1
KR101288762B1 KR1020060065095A KR20060065095A KR101288762B1 KR 101288762 B1 KR101288762 B1 KR 101288762B1 KR 1020060065095 A KR1020060065095 A KR 1020060065095A KR 20060065095 A KR20060065095 A KR 20060065095A KR 101288762 B1 KR101288762 B1 KR 101288762B1
Authority
KR
South Korea
Prior art keywords
packet
error
packets
frame
packet size
Prior art date
Application number
KR1020060065095A
Other languages
Korean (ko)
Other versions
KR20080006223A (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 KR1020060065095A priority Critical patent/KR101288762B1/en
Publication of KR20080006223A publication Critical patent/KR20080006223A/en
Application granted granted Critical
Publication of KR101288762B1 publication Critical patent/KR101288762B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving MPEG packets from an IP network
    • H04N21/4382Demodulation or channel decoding, e.g. QPSK demodulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H2201/00Aspects of broadcast communication
    • H04H2201/10Aspects of broadcast communication characterised by the type of broadcast system
    • H04H2201/20Aspects of broadcast communication characterised by the type of broadcast system digital audio broadcasting [DAB]

Abstract

본 발명은 디지털 방송 수신기에 관한 것으로 특히 디지털 방송 시스템의 수신기에서 오류를 정정하기 위한 장치 및 방법에 관한 것이다.

본 발명에 따른 디지털 방송 시스템의 수신기에서 오류를 정정하기 위한 장치는, 송신단으로부터 수신한 패킷들을 프레임 오류 정정(Frame Error Correction : FEC) 프레임에 버퍼링하는 수신부와, 상기 프레임 오류 정정 프레임에 버퍼링된 패킷들을 디코딩하여 오류 유무를 검사하는 디코더와, 상기 디코딩 결과 오류가 있다면, 상기 프레임 오류 정정 프레임에 버퍼링된 패킷들의 사이즈를 검출하는 패킷 사이즈 검출부와, 상기 패킷 사이즈 검출부가 검출한 패킷들의 사이즈만큼 상기 프레임 오류 정정 프레임에 버퍼링된 패킷들에 대해 순환 중복 체크(Cyclic Redundancy Check : CRC) 검사를 수행하는 순환 중복 체크 검사부와, 상기 순환 중복 체크 검사 결과가 '배드(Bad)'일 경우 상기 순환 중복 체크 검사가 수행된 패킷들의 패킷 사이즈 정보를 미리 정해진 크기로 수정하는 헤더 수정부를 포함한다.

Figure R1020060065095

DAB, FEC(Forward Error Correction), FEC-FRAME, CRC(Cyclic Redundancy Check)

The present invention relates to a digital broadcast receiver, and more particularly, to an apparatus and a method for correcting an error in a receiver of a digital broadcast system.

An apparatus for correcting an error in a receiver of a digital broadcasting system according to the present invention includes a receiver for buffering packets received from a transmitter in a frame error correction (FEC) frame, and a packet buffered in the frame error correction frame. A decoder for detecting an error by decoding them, a packet size detector for detecting a size of packets buffered in the frame error correction frame, and a size of the packets detected by the packet size detector if there is an error. A cyclic redundancy check checker for performing a cyclic redundancy check (CRC) check on the packets buffered in the error correction frame; and if the cyclic redundancy check check result is 'bad' The packet size information of the performed packets to a predetermined size. It includes portions defining header modification.

Figure R1020060065095

DAB, Forward Error Correction (FEC), FEC-FRAME, Cyclic Redundancy Check (CRC)

Description

디지털 오디오 방송 수신기에서의 오류 정정 장치 및 방법{ERROR CORRECTING APPARATUS AND METHOD IN DIGITAL AUDIO BROADCASTING RECEIVER}ERROR CORRECTING APPARATUS AND METHOD IN DIGITAL AUDIO BROADCASTING RECEIVER}

도 1은 일반적인 DAB 방송 시스템에서 사용되는 패킷의 구조를 도시한 도면,1 is a diagram illustrating a structure of a packet used in a general DAB broadcasting system;

도 2는 일반적인 DAB 방송 시스템의 송신기에서 송신할 패킷들을 FEC 프레임에 버퍼링하는 방법을 도시한 도면,2 is a diagram illustrating a method of buffering packets to be transmitted in an FEC frame by a transmitter of a general DAB broadcasting system.

도 3은 일반적인 DAB 방송 시스템에 따른 FEC 프레임의 구성도,3 is a configuration diagram of an FEC frame according to a general DAB broadcasting system;

도 4는 일반적인 DAB 방송 시스템에서의 R-S 데이터 패킷들을 도시한 도면,4 is a view illustrating R-S data packets in a general DAB broadcasting system;

도 5는 일반적인 DAB 방송 시스템에서 송신단이 전송한 패킷을 수신단에서 수신할 때 헤더 정보에 오류가 발생하여 복호를 수행하지 못하는 경우를 도시한 도면,FIG. 5 is a diagram illustrating a case in which decoding is not performed because an error occurs in header information when a receiving end receives a packet transmitted by a transmitting end in a general DAB broadcasting system.

도 6은 본 발명의 실시 예에 따른 DAB 수신기에서의 FEC 복조 블록의 구성도,6 is a block diagram of an FEC demodulation block in a DAB receiver according to an embodiment of the present invention;

도 7은 본 발명의 실시 예에 따른 R-S 디코더의 상세 구성도,7 is a detailed configuration diagram of an R-S decoder according to an embodiment of the present invention;

도 8은 본 발명의 실시 예에 따라 DAB 방송 시스템의 수신기에서 FEC 복호를 수행하는 방법 흐름도,8 is a flowchart illustrating a method for performing FEC decoding in a receiver of a DAB broadcasting system according to an embodiment of the present invention;

도 9는 본 발명의 실시 예에 따른 DAB 방송 시스템의 수신기에서 패킷 헤더에 오류가 발생하더라도 FEC 복호를 성공적으로 수행하는 과정을 도시한 도면.9 is a diagram illustrating a process of successfully performing FEC decoding even if an error occurs in a packet header in a receiver of a DAB broadcasting system according to an embodiment of the present invention.

본 발명은 디지털 방송 수신기에 관한 것으로 특히 디지털 오디오 방송 수신기에서의 오류 정정 장치 및 방법에 관한 것이다. The present invention relates to a digital broadcast receiver, and more particularly, to an apparatus and method for error correction in a digital audio broadcast receiver.

FM(Frequency Modulation)과 AM(Amplitude Modulation)과 같은 종래의 아날로그 방송은 날로 증가하는 고층 빌딩과 주택의 밀집화에 따른 다중경로 페이딩과 이동체 수신 시 발생하는 반송파 주파수의 도플러 효과 등의 영향으로 인해 음질 열화가 심화되고 있다. 또한 FM 대역 내 라디오 방송국의 수가 늘어남에 따라 주파수 혼잡도가 매우 심각한 상태이며, 이에 따른 채널간 상호간섭은 신규 채널의 할당을 어렵게 하고 있다. Conventional analog broadcasting such as FM (Amplitude Modulation) and AM (Amplitude Modulation) has sound quality due to effects such as multipath fading due to increasing density of skyscrapers and houses, and the Doppler effect of carrier frequency generated when receiving mobile objects. Deterioration is intensifying. In addition, as the number of radio stations in the FM band increases, the frequency congestion is very serious, and the interference between channels makes it difficult to allocate new channels.

이와 같은 아날로그 방송의 문제점을 해결하기 위해서 디지털 방송으로의 전환은 필수적이다. 따라서 현재 TV나 라디오 방송 사업자들은 방송 콘텐츠 및 방송 장비들을 디지털 방송에 최적화하고 있는 추세이다. 이러한 디지털 방송으로는 유럽의 디지털 비디오 방송(Digital Video Broadcasting : DVB), 디지털 오디오 방송(Digital Audio Broadcasting : DAB), 한국의 디지털 멀티미디어 방송(Digital Multimedia Broadcasting : DMB)등이 있다. In order to solve such problems of analog broadcasting, switching to digital broadcasting is essential. Accordingly, TV and radio broadcasters are currently optimizing broadcast contents and broadcasting equipment for digital broadcasting. Such digital broadcasting includes European Digital Video Broadcasting (DVB), Digital Audio Broadcasting (DAB), and Korean Digital Multimedia Broadcasting (DMB).

이러한 디지털 방송 시스템들은 모두 유럽의 첨단 기술 개발 계획(EUREKA)의 프로젝트로서 개발된 EUREKA-147을 기반으로 하고 있다. 이중 DAB는 오디오 신호를 고능률 부호화(데이터 압축)하여 직교 주파수 분할 다중(OFDM) 방식으로 변조하여 방송한다. 고능률 부호화 방식으로는 MUSICAM(Masking pattern adapted Universal Sub-band Integrated Coding And Multiplexing)을 사용한다. All of these digital broadcast systems are based on EUREKA-147, developed as a project of the European Advanced Technology Development Plan (EUREKA). The dual DAB modulates and broadcasts an audio signal by high efficiency encoding (data compression) using an orthogonal frequency division multiplex (OFDM) scheme. As a high efficiency coding method, MUSICAM (Masking pattern adapted Universal Sub-band Integrated Coding And Multiplexing) is used.

이러한 DAB는 AM이나 FM과는 달리 CD 수준의 고품질의 음성 방송이 가능하고 문자, 그래픽, 교통 정보 등 데이터 방송이 가능한 장점이 있다.Unlike AM and FM, the DAB has the advantage of being able to broadcast high quality audio at the CD level and broadcasting data such as text, graphics, and traffic information.

상술한 바와 같이 방송 시스템의 디지털 화는 필수적이며 따라서 현재 디지털 오디오 방송 수신기에 대한 개발이 필요한 실정이다. 특히 디지털 오디오 방송 수신기에서 방송 데이터를 복조하기 위한 기술의 개발이 필요하다. As described above, the digitization of the broadcasting system is essential, and therefore, the development of the digital audio broadcasting receiver is required. In particular, it is necessary to develop a technology for demodulating broadcast data in a digital audio broadcast receiver.

본 발명은 디지털 오디오 방송 수신기에서 방송 데이터를 복조하기 위한 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for demodulating broadcast data in a digital audio broadcast receiver.

본 발명은 디지털 오디오 방송 수신기에서 수신된 방송 데이터의 오류를 정정하기 위한 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for correcting errors in broadcast data received at a digital audio broadcast receiver.

본 발명에 따른 디지털 방송 시스템의 수신기에서 오류를 정정하기 위한 장치는, 송신단으로부터 수신한 패킷들을 프레임 오류 정정(Frame Error Correction : FEC) 프레임에 버퍼링하는 수신부와, 상기 프레임 오류 정정 프레임에 버퍼링된 패킷들을 디코딩하여 오류 유무를 검사하는 디코더와, 상기 디코딩 결과 오류가 있다면, 상기 프레임 오류 정정 프레임에 버퍼링된 패킷들의 사이즈를 검출하는 패킷 사이즈 검출부와, 상기 패킷 사이즈 검출부가 검출한 패킷들의 사이즈만큼 상기 프레임 오류 정정 프레임에 버퍼링된 패킷들에 대해 순환 중복 체크(Cyclic Redundancy Check : CRC) 검사를 수행하는 순환 중복 체크 검사부와, 상기 순환 중복 체크 검사 결과가 '배드(Bad)'일 경우 상기 순환 중복 체크 검사가 수행된 패킷들의 패킷 사이즈 정보를 미리 정해진 크기로 수정하는 헤더 수정부를 포함한다.An apparatus for correcting an error in a receiver of a digital broadcasting system according to the present invention includes a receiver for buffering packets received from a transmitter in a frame error correction (FEC) frame, and a packet buffered in the frame error correction frame. A decoder for detecting an error by decoding them, a packet size detector for detecting a size of packets buffered in the frame error correction frame, and a size of the packets detected by the packet size detector if there is an error. A cyclic redundancy check checker for performing a cyclic redundancy check (CRC) check on the packets buffered in the error correction frame, and the cyclic redundancy check check if the cyclic redundancy check check result is 'bad' The packet size information of the performed packets to a predetermined size. It includes portions defining header modification.

본 발명에 따른 디지털 방송 시스템의 수신기에서 오류를 정정하기 위한 방법은, 송신단이 전송한 패킷들을 수신하여 프레임 오류 정정(Frame Error Correction : FEC) 프레임에 버퍼링하는 과정과, 상기 프레임 오류 정정 프레임에 버퍼링된 패킷들을 디코딩하여 오류 유무를 검사하는 과정과, 상기 디코딩 결과 오류가 있다면, 상기 프레임 오류 정정 프레임에 버퍼링된 패킷들의 사이즈를 검출하는 과정과, 상기 검출된 패킷들의 사이즈만큼 상기 프레임 오류 정정 프레임에 버퍼링된 패킷들에 대해 순환 중복 체크(Cyclic Redundancy Check : CRC) 검사를 수행하는 과정과, 상기 순환 중복 체크 검사 결과가 '배드(Bad)'일 경우 상기 순환 중복 체크 검사가 수행된 패킷들의 패킷 사이즈 정보를 미리 정해진 크기로 수정하는 과정을 포함한다.A method for correcting an error in a receiver of a digital broadcasting system according to the present invention may include receiving and buffering packets transmitted by a transmitter in a frame error correction (FEC) frame, and buffering the frame error correction frame. Decoding the decoded packets and checking for an error; if there is an error as a result of the decoding, detecting the size of the packets buffered in the frame error correcting frame; Performing a cyclic redundancy check (CRC) check on the buffered packets; and if the cyclic redundancy check check result is 'bad', the packet size of the packets on which the cyclic redundancy check is performed Modifying the information to a predetermined size.

이하 본 발명의 바람직한 실시 예들의 상세한 설명이 첨부된 도면들을 참조하여 설명될 것이다. 하기에서 본 발명을 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, a detailed description of preferred embodiments of the present invention will be given with reference to the accompanying drawings. In the following description of the present invention, if it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.

현재 유럽형 DAB 시스템에서는 DAB의 이동성을 높이면서 데이터 전송량을 늘리기 위해 DAB 패킷 모드(Packet mode)에 새로운 외부 인터리빙(Outer Interleaving) 및 외부 코딩(Outer Coding)을 추가한 프레임 오류 정정(Frame Error Correction : FEC) 구조를 규격으로 정하고 있다.In current European DAB systems, Frame Error Correction (FEC) adds new outer interleaving and outer coding to DAB packet mode to increase the data throughput while increasing DAB mobility. ) The structure is specified in the standard.

ETSI(European Telecommunications Standards Institute) EN 300 401 v1.4.1 규격에서 제시하는 송신측 FEC 프레임구조는 다음과 같다.The transmitting side FEC frame structure proposed in the European Telecommunications Standards Institute (ETSI) EN 300 401 v1.4.1 standard is as follows.

우선 DAB 송신 측에서는 전송할 방송 스트림을 12 x 188 bytes(2256 bytes) 패킷 크기로 생성한다. 이렇게 생성된 2256 bytes를 어플리케이션 데이터(Application data)라 칭하고, 이러한 어플리케이션 데이터들을 버퍼링하고 있는 FEC 프레임의 버퍼를 어플리케이션 데이터 테이블(Application Data Table)이라 칭한다. First, the DAB transmitter generates a broadcast stream for transmission with a packet size of 12 x 188 bytes (2256 bytes). The generated 2256 bytes are called application data, and the buffer of the FEC frame buffering these application data is called an application data table.

도 1은 일반적인 DAB 방송 시스템에서 사용되는 패킷(110)의 구조를 도시한 것이다. 1 illustrates a structure of a packet 110 used in a general DAB broadcasting system.

도 1과 같이 패킷(110)은 24바이트의 정수배인 24, 48, 72, 96 바이트 단위로 구성되며 각 패킷(110)들에는 3바이트의 패킷 헤더(100)와 2바이트의 순환 중복 체크(Cyclic Redundancy Check : CRC) 정보(102)가 포함되어 있다. 패킷 헤더(100)의 상위 2비트에는 패킷(110)의 길이에 관한 정보가 포함되어 있으며, 상기 상위 2비트가 '00'이면 패킷(110)이 24바이트임을, '11'이면 96바이트임을 나타낸다. As shown in FIG. 1, the packet 110 is composed of 24, 48, 72, and 96 byte units, which are integer multiples of 24 bytes, and each packet 110 includes a 3-byte packet header 100 and a 2-byte cyclic redundancy check (Cyclic). Redundancy Check (CRC) information 102 is included. The upper two bits of the packet header 100 include information on the length of the packet 110. If the upper two bits are '00', the packet 110 indicates that the packet 110 is 24 bytes. .

도 2는 일반적인 DAB 방송 시스템의 송신기에서 송신할 패킷들을 FEC 프레임에 버퍼링하는 방법을 도시한 도면이다. 2 is a diagram illustrating a method of buffering packets to be transmitted in an FEC frame by a transmitter of a general DAB broadcasting system.

도 2와 같이 일반적인 DAB 방송 시스템의 송신기에서는 전송할 패킷들을 어플리케이션 데이터테이블(200)에 참조번호 204와 206과 같이 세로부터 채워 넣는다. 그리고 2256바이트를 버퍼링할 수 있는 어플리케이션 데이터 테이블(200)에 어플리케이션 데이터들이 모두 수집되면, 참조번호 208과 같이 가로 방향으로 188 바이트에 대해 모두 12번 R-S(Reed-Solomon) 인코딩을 수행하고, R-S 인코딩 후의 패리티 데이터인 R-S 데이터를 R-S 데이터 테이블(202)에 저장한다. 1회의 R-S 인코딩 후의 1열(210)에 해당하는 데이터들은 총 204(188+16)바이트가 된다. 이하 본 명세서에서는 어플리케이션 데이터들에 대해 가로 방향으로 R-S 인코딩을 수행하여 생성된 데이터들을 R-S 데이터라 칭하기로 한다.In the transmitter of the general DAB broadcasting system, as shown in FIG. 2, packets to be transmitted are filled into the application data table 200 from the numbers 204 and 206 as shown. When all the application data are collected in the application data table 200 capable of buffering 2256 bytes, as shown by reference numeral 208, all 12 times of Reed-Solomon (RS) encoding are performed for 188 bytes in the horizontal direction, and RS encoding is performed. RS data, which is later parity data, is stored in the RS data table 202. The data corresponding to one column 210 after one R-S encoding is a total of 204 (188 + 16) bytes. Hereinafter, in the present specification, data generated by performing R-S encoding on the application data in the horizontal direction will be referred to as R-S data.

이러한 R-S 데이터의 크기는 12 x 16 인 192 바이트가 된다. 즉, R-S 데이터 테이블(202)에는 총 192바이트의 R-S 데이터가 채워지게 된다.The size of this R-S data is 192 bytes, which is 12 x 16. That is, the R-S data table 202 is filled with a total of 192 bytes of R-S data.

상술한 과정들을 통해 생성된 어플리케이션 데이터들과 R-S 데이터들은 아래의 도 3과 같은 FEC 프레임으로 구성되어 전송되게 된다. Application data and R-S data generated through the above-described processes are composed of the FEC frame as shown in FIG. 3 and transmitted.

도 3은 일반적인 DAB 방송 시스템에 따른 FEC 프레임(300)의 구성도이다. 도 3에 도시된 바와 같이 도 1에 도시된 DAB 패킷(110)들이 버퍼링되어 있는 2256 바이트(12 x 188) 크기의 어플리케이션 데이터 테이블(304)과 도 2의 R-S 데이터(202)들이 버퍼링되어 있는 192 바이트(16 x 12) 크기의 R-S 데이터 테이블(302)은 하나의 FEC 프레임을 구성하게 된다.3 is a block diagram of an FEC frame 300 according to a general DAB broadcasting system. As shown in FIG. 3, an application data table 304 having a size of 2256 bytes (12 × 188) in which the DAB packets 110 shown in FIG. 1 are buffered and the RS data 202 in FIG. 2 are buffered. The RS data table 302 having a size of byte (16 × 12) constitutes one FEC frame.

도 4는 일반적인 DAB 방송 시스템에서의 R-S 데이터 패킷들을 도시한 도면이다.4 is a diagram illustrating R-S data packets in a general DAB broadcasting system.

일반적인 DAB 방송 시스템에서 R-S 데이터 테이블은 도 4에 도시된 바와 같 이 9개의 연속적인 패킷을 이용하여 전송한다. In a typical DAB broadcasting system, the R-S data table is transmitted using nine consecutive packets as shown in FIG. 4.

R-S 데이터 패킷은 총 24 바이트 크기로 2 바이트의 헤더 정보(400)와 22 바이트의 R-S 데이터 정보(402)를 갖는다. 최종적으로 송신단의 FEC 출력단에서 보면 12 x 188 바이트의 어플리케이션 데이터에 도 4에 도시된 R-S 데이터 패킷 24 x 9 바이트를 추가한 총 2472 바이트의 정보가 하나의 FEC 프레임을 전송하기 위해 필요한 정보량이 된다.The R-S data packet has a total of 24 bytes and has 2 bytes of header information 400 and 22 bytes of R-S data information 402. Finally, when viewed from the FEC output terminal of the transmitter, a total of 2472 bytes of information including 24 × 9 bytes of the R-S data packet shown in FIG. 4 is added to 12 × 188 bytes of application data, and the amount of information required to transmit one FEC frame.

이때 구성된 2472 바이트들을 수신한 수신단에서는 상술한 도 2에서와 같이 상기 데이터들을 버퍼에 저장한 후 FEC-프레임의 어플리케이션 데이터 테이블(200)과 R-S 데이터 테이블(202)에 채워 넣을 때와 마찬가지로 세로방향으로 빼냄으로써 블록 인터리빙의 효과를 낼 수 있다. At this time, the receiving end receiving the configured 2472 bytes stores the data in the buffer as shown in FIG. 2 described above, and in the vertical direction as in the case of filling the application data table 200 and the RS data table 202 of the FEC-frame. By subtracting, the effect of block interleaving can be achieved.

그러나 일반적인 DAB 방송 시스템에 따른 수신기에서는 데이터 복조 후 상위 레이어로 패킷을 보낼 때 패킷 헤더(100)에 오류가 발생할 경우 해당 방송 데이터들을 정확히 복호할 수 없는 문제가 있다. 이러한 문제점들을 아래의 도 5를 참조하여 살펴보기로 한다.However, a receiver according to a general DAB broadcasting system may not correctly decode corresponding broadcast data when an error occurs in the packet header 100 when sending a packet to a higher layer after data demodulation. These problems will be described with reference to FIG. 5 below.

도 5는 일반적인 DAB 방송 시스템에서 송신단이 전송한 패킷을 수신단에서 수신할 때 헤더 정보에 오류가 발생하여 복호를 수행하지 못하는 경우를 도시한 도면이다.FIG. 5 is a diagram illustrating a case in which decoding is not performed because an error occurs in header information when a receiving end receives a packet transmitted by a transmitting end in a general DAB broadcasting system.

도 5에서 참조번호 500은 송신단의 DAB 방송 데이터 패킷을 전송하기 위한 FEC 프레임이고, 참조번호 550은 상기 송신단에서 전송한 데이터 패킷을 버퍼링할 수신단의 FEC 프레임을 각각 나타낸다. 그리고 참조번호 502a, 504a, 552a, 554a, 554b 등은 모두 DAB 방송 시스템에서의 3바이트의 패킷 헤더 정보 중 패킷의 길이를 나타내는 2비트의 패킷 사이즈 정보를 나타낸다.In FIG. 5, reference numeral 500 denotes an FEC frame for transmitting a DAB broadcast data packet of a transmitter, and reference numeral 550 denotes an FEC frame of a receiver, which buffers a data packet transmitted by the transmitter, respectively. Reference numerals 502a, 504a, 552a, 554a, 554b, etc., all indicate two-bit packet size information indicating the length of a packet among three-byte packet header information in the DAB broadcasting system.

송신단에서는 먼저 방송 데이터 패킷들을 전송할 때 도 1에 도시된 패킷과 같은 형태로 어플리케이션 데이터를 전송한 후 R-S 데이터를 도 3과 같이 FEC 패킷 셋트로 전송한다. 이때 FEC 프레임(500)에 채워진 패킷들을 전송할 때 패킷 0(502)의 사이즈가 48바이트 이고, 패킷 1(502)의 사이즈는 72바이트라고 가정하기로 하자. When transmitting the broadcast data packets, the transmitter first transmits application data in the same form as the packet shown in FIG. 1, and then transmits the R-S data to the FEC packet set as shown in FIG. 3. In this case, it is assumed that the size of the packet 0 502 is 48 bytes and the size of the packet 1 502 is 72 bytes when the packets filled in the FEC frame 500 are transmitted.

그리고 본 발명에서는 수신단에서 R-S 디코딩과 CRC 검사를 각각 수행하게 되는데, R-S 디코딩 결과 수신된 패킷들에 오류가 없어 정확히 복호할 수 있다면 CRC 검사를 수행하지 않을 수도 있다. 반면 R-S 디코딩을 수행하였지만 수신 패킷들의 오류로 인하여 정확히 수신 패킷들을 복호하지 못했다면 CRC 검사를 수행함으로써 다시 한번 오류 정정을 수행하게 된다. 본 발명은 상술한 두 경우 중 최악의 경우(Worst case)를 고려한 것으로서 수신단에서 R-S 디코딩을 수행하였음에도 패킷의 오류를 정정하지 못하여 CRC 검사를 수행할 경우를 고려한다. 즉 도 5는 R-S 디코딩을 수행한 후에도 오류가 정정되지 않아 CRC 검사를 수행하는 경우를 예로서 보여주는 도면이다.In the present invention, the R-S decoding and CRC checking are performed at the receiving end, respectively. If the R-S decoding results in no error in the received packets, the CRC checking may not be performed. On the other hand, if the R-S decoding is performed but the received packets are not correctly decoded due to the error of the received packets, error correction is performed once again by performing the CRC check. The present invention considers the worst case among the two cases described above, and considers a case where CRC check is performed because the error of the packet cannot be corrected even though the receiver performs R-S decoding. That is, FIG. 5 illustrates an example in which a CRC check is performed because an error is not corrected even after performing R-S decoding.

먼저, 송신단에서 48바이트 크기임을 나타내는 '01'인 패킷 사이즈 정보(502a)를 갖는 패킷 0(502)을 전송하였는데 무선 채널 환경의 왜곡으로 인하여 헤더 부분에 에러가 발생하여 수신단에서 FEC 프레임(550)에 패킷 0을 채워넣을 때 패킷 사이즈 정보(552a)를 '00' 즉, 24바이트로 패킷 길이를 잘못 판단할 수 있다. 이럴 경우 수신단에서는 24바이트 크기의 패킷 0(552)에 대해 CRC 검사를 수행하게 된다. First, a packet 0 (502) having a packet size information (502a) of '01' indicating a size of 48 bytes is transmitted from a transmitter, and an error occurs in a header part due to distortion of a radio channel environment. When the packet 0 is filled in, the packet length information 552a may be incorrectly determined as '00', that is, 24 bytes. In this case, the receiver performs a CRC check on the packet 0 552 having a size of 24 bytes.

그러나 송신단에서는 48바이트 크기의 패킷 0(502)를 전송했기 때문에 수신단에서는 패킷 0(552)에 대한 CRC 검사 결과가 '굿(Good)'이 나올 수 없다. 따라서 수신단에서는 CRC 검사 결과가 '배드(Bad)'임을 패킷 0(552)의 마지막 2 바이트로 삽입하여 상위 계층으로 전송하고, 상위 계층에서는 해당 패킷을 버리게 된다. 또한 수신단에서는 그 후에 수신되어 FEC 프레임(550)에 저장되는 패킷을 새로운 패킷 즉, 패킷 1(554)로 판단하여 저장하게 된다. 그리고, 패킷 0(552)에 이어 제일 처음 위치하게 되는 2비트를 패킷 사이즈 정보(554a)로 판단하게 된다. 도 5에서는 패킷 1(554)의 패킷 길이를 나타내는 패킷 사이즈 정보(554a)가 위치하는 지점에 '01'이 위치하고 있어서, 비록 송신단에서 전송한 실제 패킷 1(504)은 72바이트 크기이지만, 수신단에서는 패킷 1(554)의 크기를 48바이트로 착각하게 됨을 보여주고 있다. 따라서, 수신단에서는 패킷 1(554)에서 1, 2열(Row)은 송신단에서의 패킷 0(502)에 해당되던 패킷들이었으므로 CRC 검사 결과가 이전의 패킷 0(552)과 같이 '배드'가 나오게 된다. 그리고 수신단에서는 패킷 1(554)또한 복호할 수 없게 되며 이러한 에러가 계속 발생할 경우에는 나아가 FEC 프레임(550) 전체에 버퍼링된 패킷을 복호할 수 없게 되는 문제점이 발생하게 된다.However, since the transmitting end transmits the packet 0 502 having a size of 48 bytes, the receiving end of the CRC check result for the packet 0 552 may not be 'good'. Therefore, the receiver inserts the last 2 bytes of the packet 0 552 as CRD check result 'bad' and transmits the packet to the upper layer, and discards the packet at the upper layer. In addition, the receiving end determines that the packet received later and stored in the FEC frame 550 is a new packet, that is, packet 1 (554). After the packet 0 552, the first two bits are determined as the packet size information 554a. In FIG. 5, since '01' is located at the point where the packet size information 554a indicating the packet length of the packet 1 554 is located, the actual packet 1 504 transmitted by the transmitting end is 72 bytes long. It shows that the size of packet 1 554 is mistaken for 48 bytes. Therefore, since the first and second rows in packets 1 (554) were packets corresponding to packet 0 (502) at the transmitting end, the CRC check resulted in 'bad' like the previous packet 0 (552) at the receiving end. do. In addition, at the receiving end, packet 1 554 also cannot be decoded, and if such an error continues to occur, there is a problem that the packet buffered in the entire FEC frame 550 cannot be decoded.

즉, 송신단에서 전송한 패킷 1(504)이 에러가 없더라도 수신단에서는 송신단에서 전송한 패킷 1(504)의 데이터를 복호할 수 없게 된다. 수신단의 FEC 프레임(550)의 참조번호 554b가 실제 송신단에서 전송한 패킷 1(504)의 패킷 길이임에도 수신단에서는 이를 검출하지 못하게 된다. 따라서 수신단에서 패킷 0(502)은 비록 복호화에 실패했지만, 패킷 1(504)을 정확히 수신하여 CRC(Cyclic Redundancy Check) 검사가 '굿' 이 발생할 수 있었음에도 패킷 헤더를 잘못 판단함으로써 패킷 1(504)의 데이터들의 CRC 검사 결과까지도 오류(fail)가 발생되어 패킷 1(504)의 데이터들도 버릴 수밖에 없게 된다.That is, even if the packet 1 504 transmitted from the transmitting end has no error, the receiving end cannot decode the data of the packet 1 504 transmitted from the transmitting end. Although the reference number 554b of the FEC frame 550 of the receiving end is actually the packet length of Packet 1 504 transmitted by the transmitting end, the receiving end does not detect this. Therefore, although the packet 0 502 at the receiving end fails to decrypt the packet 1 504, the packet 1 504 is incorrectly determined by correctly receiving the packet 1 504 so that the cyclic redundancy check (CRC) check may cause a 'good'. Even the CRC check result of the data of the error occurs (fail), and the data of the packet 1 (504) is forced to discard.

상술한 바와 같이 일반적인 DAB 방송 시스템의 수신기에서는 이렇게 패킷 헤더의 패킷 사이즈 정보를 계속 놓치게 되면 심한 경우 FEC 프레임 내의 모든 패킷 데이터를 복호에 실패한 것으로 판단하게 되는 문제점이 존재한다.As described above, in the receiver of a general DAB broadcasting system, if the packet size information of the packet header is continuously missed, there is a problem that, in severe cases, it is determined that all packet data in the FEC frame has failed to be decoded.

따라서 이러한 일반적인 DAB 시스템의 수신기에서 패킷 헤더 정보 오류로 인한 패킷 수신 실패를 방지하기 위한 DAB 수신기에서 오류 정정을 위한 장치 및 방법이 필요하며 이하에서는 이러한 목적을 달성하기 위해 본 발명이 제안하는 DAB 수신기에서의 오류 정정 장치 및 방법을 제안한다.Therefore, there is a need for an apparatus and method for error correction in a DAB receiver for preventing packet reception failure due to a packet header information error in a receiver of such a general DAB system. An error correction apparatus and method are proposed.

도 6은 본 발명의 실시 예에 따른 DAB 수신기에서의 FEC 복조 블록의 구성도이다.6 is a block diagram of an FEC demodulation block in a DAB receiver according to an embodiment of the present invention.

먼저 컨볼루션 디코더(Convolution Decoder)(600)는 도시되지 않은 RF 수신부를 통해 수신되고 복조부를 통해 복조된 패킷들을 입력받아 컨벌루션 디코딩을 수행한 후 프레임 검출부(Frame Detection)(602)로 출력한다. 이때 컨볼루션 디코더(600)는 수신된 패킷들에 대해 디코딩만을 수행할 뿐 수신된 패킷들에 오류가 발생했는지 여부는 알 수 없다. 수신된 패킷들에 대한 오류 유무는 후술할 R-S 디코더(606)에서 검사하게 된다.First, the convolution decoder 600 receives a demodulated packet received through an RF receiver and not demodulated, performs convolutional decoding, and then outputs the convolutional decoder to a frame detection unit 602. In this case, the convolution decoder 600 only performs decoding on the received packets and does not know whether an error has occurred in the received packets. The error of the received packets is checked by the R-S decoder 606 to be described later.

프레임 검출부(602)는 상기 컨볼루션 디코딩하여 출력되는 데이터들을 입력으로 하여 FEC 프레임에 버퍼링될 패킷의 시작 위치를 검출한다. 그리고 FEC 프레임 버퍼링 부(604)는 FEC 프레임 크기만큼 12 바이트 로(Row)를 갖도록 데이터를 버퍼링한다. 상술한 RF부 및 복조부, 컨볼루션 디코더(600), 프레임 검출부(602), FEC 프레임 버퍼링부(604)는 수신부(620)라고 칭하기로 한다.The frame detector 602 detects a start position of a packet to be buffered in an FEC frame by using the convolutional decoding outputted data. The FEC frame buffering unit 604 buffers the data to have a row of 12 bytes as large as the FEC frame size. The RF unit and the demodulator, the convolution decoder 600, the frame detector 602, and the FEC frame buffering unit 604 will be referred to as a receiver 620.

R-S 디코더(606)는 상기 FEC 프레임 버퍼링 부(604)를 통해 FEC 프레임에 버퍼링된 데이터들에 대해 R-S 디코딩을 수행하여 오류를 정정하게 된다. 만약 R-S 디코더(606)의 복호결과 수신된 패킷들에 오류가 없다면, 후술할 패킷 사이즈 검출부(608), CRC 검사부(610)와 헤더 수정부(612)의 동작은 수행되지 않아도 된다.The R-S decoder 606 performs R-S decoding on data buffered in an FEC frame through the FEC frame buffering unit 604 to correct an error. If there are no errors in the received packets as a result of the decoding of the R-S decoder 606, the operations of the packet size detector 608, the CRC checker 610, and the header correction unit 612 to be described later may not be performed.

그리고, 패킷 사이즈 검출부(608)는 상기 R-S 디코딩이 수행된 후 오류가 발생 했다면, FEC 프레임에 버퍼링되어 있는 패킷들에 대해서 헤더를 검사하여 패킷 사이즈를 검사하게 된다. 이때는 FEC 프레임에 버퍼링된 패킷 데이터들에서 제일 처음 위치에 헤더가 존재할 것으로 판단하여 그 위치에서 2비트의 패킷 사이즈 정보를 검출하여 패킷 사이즈를 검출한다. 이와 같이 패킷의 크기를 검출하기 위해 헤더 정보의 위치를 검출하는 이유는 송신단에서 미리 정해진 크기(24바이트)단위로 송신하기 때문에 패킷 0이 수신될 경우에는 FEC 프레임에서 처음 위치의 2비트를 패킷 사이즈 정보로, 그 후에 버퍼링되는 패킷들의 패킷 사이즈 정보는 이전 패킷의 바로 다음에 위치하는 2비트를 패킷 사이즈 정보로 판단할 수 있기 때문이다.If an error occurs after the R-S decoding is performed, the packet size detection unit 608 examines the packet size of the packets buffered in the FEC frame. In this case, it is determined that the header is present at the first position in the packet data buffered in the FEC frame, and the packet size is detected by detecting packet size information of 2 bits at the position. The reason for detecting the location of the header information in order to detect the packet size is that the transmitting end transmits the data in units of a predetermined size (24 bytes). When packet 0 is received, the 2 bits of the first position in the FEC frame are determined by the packet size. This is because, as the information, the packet size information of the packets buffered afterwards can be determined as the packet size information by two bits positioned immediately after the previous packet.

상기 패킷 사이즈 검출부(608)는 상기 검출된 패킷 사이즈를 CRC 검사부(610)로 전달하고, CRC 검사부(610)는 상기 패킷 사이즈 검출부가 전달한 패킷 사이즈 만큼의 데이터들에 대해 CRC 검사를 수행하게 된다. 상기 CRC 검사 결과 오류가 없다면, 상기 패킷 사이즈가 정확하다고 판단하며 CRC 검사를 수행한 패킷의 마지막 2바이트에 CRC 결과가 '굿'임을 표시한 후 상위 어플리케이션 프로세서(614)로 패킷 데이터들을 전송한다.  The packet size detector 608 transfers the detected packet size to the CRC checker 610, and the CRC checker 610 performs a CRC check on data equal to the packet size delivered by the packet size detector. If there is no error as a result of the CRC check, it is determined that the packet size is correct and indicates that the CRC result is 'good' in the last 2 bytes of the packet which has performed the CRC check, and then transmits packet data to the upper application processor 614.

그러나 CRC 검사 결과가 '배드'라면, CRC 검사부(610)는 상기 패킷 사이즈 검출부(608)가 잘못된 패킷 사이즈를 검출한 것으로 판단하고, 헤더 수정부(612)로 하여금 오류가 발생한 패킷의 패킷 사이즈 정보를 24바이트 크기로 설정하게 제어한다. 여기서 오류가 발생한 패킷의 패킷 사이즈 정보를 24바이트 크기로 설정하는 이유는 DAB 방송 시스템에서 패킷 데이터의 전송 단위가 24바이트의 정수배인 24, 48, 72 바이트 중 하나이기 때문이다. 즉, 본 발명에서는 24바이트 단위로 패킷 사이즈를 정정한다고 하였지만, 송신단에서 미리 정해진 전송단위이면 어떠한 단위를 사용해도 상관이 없다.However, if the CRC check result is 'bad', the CRC check unit 610 determines that the packet size detection unit 608 has detected an incorrect packet size, and causes the header correction unit 612 to indicate the packet size information of the packet in error. To set the size to 24 bytes. The reason why the packet size information of the packet in error is set to 24 bytes is that the transmission unit of packet data in the DAB broadcasting system is one of 24, 48, and 72 bytes, which is an integer multiple of 24 bytes. In other words, in the present invention, the packet size is corrected in units of 24 bytes, but any unit may be used as long as it is a predetermined transmission unit at the transmitting end.

헤더 수정부(612)에서는 CRC 검사부(610)의 검사 결과 '배드'일 경우 CRC 검사가 수행된 패킷의 패킷 사이즈 정보를 '00'으로 설정하게 된다.In the header corrector 612, if the result of the CRC checker 610 is 'bad', the packet size information of the packet on which the CRC check is performed is set to '00'.

상기에서는 CRC 검사부(610)의 검사 결과가 '굿'이나 '배드'로 판단된 패킷을 검사된 패킷 단위로 어플리케이션 프로세서(614)로 전송하는 것으로 설명하였으나, FEC 프레임에 버퍼링된 패킷들에 대해서 CRC 검사를 모두 수행한 후 FEC 프레임 단위로 어플리케이션 프로세서(614)로 전송할 수도 있다.In the above description, the CRC check unit 610 transmits the packet determined as 'good' or 'bad' to the application processor 614 in the unit of the inspected packet, but the CRC for the packets buffered in the FEC frame After all the checks are performed, the FEC may be transmitted to the application processor 614 in FEC frame units.

어플리케이션 프로세서(614)는 수신된 패킷들 중 CRC '배드'인 패킷들은 폐기하고, '굿'인 패킷들에 대해서는 정해진 오디오/비디오 코덱을 사용하여 복호한 후 사용자에게 제공하게 된다.The application processor 614 discards the CRC 'bad' packets among the received packets and decodes the 'good' packets using a predetermined audio / video codec and provides them to the user.

도 7은 본 발명의 실시 예에 따른 R-S 디코더(606)의 상세 구성도이다.7 is a detailed block diagram of an R-S decoder 606 according to an embodiment of the present invention.

본 발명의 실시 예에 따른 R-S 디코더(606)는 디코딩 유닛(606a)과 오류 검출부(606b)로 구성된다. 먼저 디코딩 유닛(606a)은 FEC 프레임에 버퍼링된 패킷들에 대해 R-S 디코딩을 수행하는 블록이며, 오류 검출부(606b)는 R-S 디코딩 결과에 따라 FEC 프레임에 버퍼링된 패킷들을 어플리케이션 프로세서(614)로 전송할지 패킷 사이즈 검출부(608)로 전송할지를 판단한다. 즉, 오류 검출부(606b)는 R-S 검사결과 오류가 있다면 오류가 발생했음을 패킷 사이즈 검출부(608)로 알린다.The R-S decoder 606 according to the embodiment of the present invention includes a decoding unit 606a and an error detector 606b. First, the decoding unit 606a is a block that performs RS decoding on the packets buffered in the FEC frame, and the error detector 606b transmits the packets buffered in the FEC frame to the application processor 614 according to the RS decoding result. The packet size detection unit 608 determines whether to transmit. That is, the error detector 606b notifies the packet size detector 608 that an error has occurred if there is an error as a result of the R-S check.

도 8은 본 발명의 실시 예에 따라 DAB 방송 시스템의 수신기에서 FEC 복호를 수행하는 방법 흐름도이다.8 is a flowchart illustrating a method of performing FEC decoding in a receiver of a DAB broadcasting system according to an embodiment of the present invention.

800단계에서 수신부(620)는 송신단에서 전송한 패킷 데이터를 수신하여 복조하고, 802단계에서 컨벌루션 디코더(600)는 상기 복조된 데이터를 컨벌루션 디코딩하고, 804단계에서 프레임 검출부(602)는 상기 컨벌루션 디코딩된 데이터들이 FEC 프레임에 버퍼링될 시작 주소인 FEC 프레임의 시작점을 검출한다. In step 800, the receiving unit 620 receives and demodulates the packet data transmitted from the transmitter, and in step 802, the convolutional decoder 600 convolutionally decodes the demodulated data, and in step 804, the frame detection unit 602 performs the convolutional decoding. The start point of the FEC frame, which is the start address of the data to be buffered in the FEC frame, is detected.

806단계에서 FEC 프레임 버퍼링부(604)는 프레임 검출부(602)로부터 수신한 프레임 시작위치부터 수신된 패킷 데이터들을 FEC 프레임에 버퍼링하고, 808단계에서 R-S 디코더(606)는 상기 FEC 프레임에 버퍼링된 패킷 데이터들을 R-S 디코딩한다. 810단계에서 R-S 디코더(606)는 상기 808단계의 R-S 디코딩 결과 오류가 발생하지 않아 복호가 성공했다면 820단계로 진행하여 어플리케이션 프로세서(614)로 복호된 패킷 데이터를 전송한다.In step 806, the FEC frame buffering unit 604 buffers the packet data received from the frame start position received from the frame detector 602 in the FEC frame. In step 808, the RS decoder 606 buffers the packet that is buffered in the FEC frame. RS decodes the data. In step 810, if the decoding succeeds because an error does not occur in the R-S decoding in step 808, the R-S decoder 606 proceeds to step 820 and transmits the decoded packet data to the application processor 614.

반면 상기 810단계의 검사결과 패킷을 복호하지 못하였다면, 812단계로 패킷 사이즈 검출부(608)는 상기 R-S 디코딩된 패킷들에서 헤더 정보 내의 패킷 길이(100a)정보를 검출하여 검출된 패킷 사이즈를 CRC 검사부(610)로 전송한다. 814단계에서 CRC 검사부(610)는 상기 패킷 사이즈만큼 FEC 프레임에 버퍼링된 패킷들에 대해 CRC 검사를 수행하고, 816단계에서 상기 CRC 검사 결과 오류가 발생했는지 여부를 판단하게 된다.On the other hand, if it is not possible to decode the packet as a result of the check in step 810, in step 812, the packet size detector 608 detects the packet length 100a information in the header information from the RS decoded packets and checks the detected packet size by the CRC checker. To 610. In step 814, the CRC checker 610 performs a CRC check on the packets buffered in the FEC frame by the packet size, and determines whether an error occurs as a result of the CRC check in step 816.

상기 816단계의 검사결과 CRC 에러가 존재한다면, 818단계로 진행하여 헤더 수정부(612)로 하여금 상기 CRC 결과 에러가 존재했던 패킷의 크기를 24바이트로 정정하게 제어한다. 그러면 헤더 수정부(612)는 818단계에서 상기 패킷의 헤더 정보의 패킷 사이즈를 24바이트인 '00'으로 설정하고, 820단계에서 어플리케이션 프로세서(614)로 상기 패킷 사이즈 정보가 정정된 패킷을 전송하게 된다.If there is a CRC error as a result of the check in step 816, the flow proceeds to step 818 to control the header correction unit 612 to correct the size of the packet in which the CRC result error was present to 24 bytes. In step 818, the header corrector 612 sets the packet size of the header information of the packet to '00', which is 24 bytes, and transmits the packet whose packet size information is corrected to the application processor 614 in step 820. do.

반면, 상기 816단계의 검사결과 CRC 에러가 존재하지 않았다면, CRC 검사부(610)는 어플리케이션 프로세서(614)로 상기 CRC 검사된 패킷들을 전송한다.On the other hand, if there is no CRC error as a result of the check in step 816, the CRC check unit 610 transmits the CRC checked packets to the application processor 614.

도 9는 본 발명의 실시 예에 따른 DAB 방송 시스템의 수신기에서 패킷 헤더에 오류가 발생하더라도 FEC 복호를 성공적으로 수행하는 과정을 도시한 도면이다.9 is a diagram illustrating a process of successfully performing FEC decoding even if an error occurs in a packet header in a receiver of a DAB broadcasting system according to an embodiment of the present invention.

도 9를 참조하면 도 5에서는 복호하지 못하여 손실되었던 패킷 1(504)(도 9에서는 참조번호 904인 패킷)을 복호할 수 있음을 알 수 있다.Referring to FIG. 9, it can be seen that packet 1 504 (packet number 904 in FIG. 9), which was lost due to the decoding, can be decoded.

송신단에서는 FEC 프레임(900)에 버퍼링되어 있던 패킷 0(902)과 패킷 1(904)을 수신단으로 전송한다. 이때 패킷 0(902)은 48바이트 크기이므로 헤더 정보의 패킷 사이즈 정보(900a)를 '01'로 설정한 후 CRC 결과(902b)를 첨부하여 전송한다. 그 후에 패킷 2(904)는 72바이트 크기이므로 헤더 정보의 패킷 사이즈 정보(902a)를 '10'으로 설정한 후 CRC 결과(904b)를 첨부하여 전송한다고 가정한다.The transmitting end transmits packet 0 902 and packet 1 904 buffered in the FEC frame 900 to the receiving end. In this case, since the packet 0 902 is 48 bytes in size, the packet size information 900a of the header information is set to '01', and then the CRC result 902b is attached and transmitted. Since packet 2 904 is 72 bytes in size, it is assumed that the packet size information 902a of the header information is set to '10' and then the CRC result 904b is attached and transmitted.

수신단에서는 상기 송신단에서 전송한 패킷들을 수신하여 FEC 프레임(940)에 버퍼링시키게 된다. 이때 수신단에서는 채널 환경이 나빠짐으로 인해 오류가 발생하고, 송신단의 패킷 0(902)의 참조번호 902a와 같이 패킷 길이를 '00'으로 검출하게 된다는 것으로 가정하기로 한다. 즉, R-S 디코딩 결과 오류가 발생하여 CRC 검사를 수행하게 되는 것을 가정한다.The receiving end receives the packets transmitted from the transmitting end and buffers them in the FEC frame 940. In this case, it is assumed that an error occurs due to a worsening channel environment, and the packet length is detected as '00' as shown by reference numeral 902a of packet 0 (902) of the transmitting end. That is, it is assumed that an error occurs as a result of the R-S decoding to perform the CRC check.

그럴 경우 수신단의 패킷 사이즈 검출부(608)는 FEC 프레임(940)에서 패킷 0(950)의 길이를 참조번호 950a와 같이 24바이트라고 판단하며, CRC 검사부(610)는 패킷 0(950)의 크기인 24바이트에 대해 CRC 검사를 수행하게 된다. 그러나 송신단에서 보낸 패킷과 길이가 다르므로 CRC 결과는 당연히 '배드'가 되게 된다. 그리고, 상위 계층으로 패킷 0(950)을 전송할 때 마지막 2바이트에 CRC '배드'도 같이 전송하게 된다. 그리고, 수신단의 패킷 사이즈 검출부(608)는 그 후에 수신된 패킷을 새로운 패킷으로 판단하고 패킷 1(960)의 처음에 위치한 2비트(960a)인 '00'으로 패킷 길이를 판단하고, CRC 검사부(610)는 24바이트의 패킷 길이에 대해 CRC 검사를 수행한다. 그러나, 수신단에서 패킷 1(960)로 판단한 패킷은 송신단에서 전송한 패킷 0(902)의 일부 패킷들이므로 CRC 검사를 수행하면 '배드'가 나올 수밖에 없다.In this case, the packet size detection unit 608 of the receiving end determines that the length of the packet 0 950 is 24 bytes in the FEC frame 940 as shown by reference numeral 950a, and the CRC check unit 610 is the size of the packet 0 950. CRC check is performed on 24 bytes. However, since the length of the packet sent from the transmitter is different, the CRC result is naturally 'bad'. When the packet 0 950 is transmitted to a higher layer, the CRC 'bad' is also transmitted to the last 2 bytes. Then, the packet size detection unit 608 of the receiving end judges the received packet as a new packet, and determines the packet length with '00', which is the 2 bits 960a located at the beginning of the packet 1 960, and the CRC check unit ( 610 performs a CRC check on the packet length of 24 bytes. However, since the packet determined by the receiver at packet 1 960 is some packets of packet 0 902 transmitted by the transmitter, 'bad' is inevitably generated when the CRC check is performed.

따라서 참조번호 960a와 같이 헤더 수정부(612)는 패킷 길이가 24바이트임을 지시하게 '00'으로 패킷 길이를 설정한 후 어플리케이션 프로세서(614)로 전송하게 된다. 즉, 송신단에서 전송한 패킷 0(902)은 복구하지 못하게 된다.Accordingly, as shown by reference numeral 960a, the header correction unit 612 sets the packet length to '00' to indicate that the packet length is 24 bytes, and then transmits the packet length to the application processor 614. That is, packet 0 902 transmitted from the transmitting end cannot be recovered.

그리고, 패킷 사이즈 검출부(608)는 패킷(960) 다음에 위치하는 패킷(970)의 헤더 정보를 검출하게 된다. 이때는 패킷 사이즈 검출부(608)가 패킷(970)의 헤더 정보의 패킷 길이 '10'을 정확히 검출할 수 있고, 따라서 패킷(970)의 길이가 72바이트임을 알 수 있다. 따라서 72바이트에 대해 CRC 검사를 수행하게 되고, 패킷(970)의 CRC 검사 결과는 '굿'이므로 수신단에서 패킷(970)의 손실 없이 복호를 수행할 수 있다. 즉, 일반적인 DAB 시스템의 수신기에서는 오류가 발생하여 일부 패킷 헤더 정보가 잘못 검출될 경우 FEC 프레임에 버퍼링된 패킷들을 모두 복호하지 못하지만 본 발명의 실시 예에 따른 DAB 수신기는 일부 패킷들의 헤더에 오류가 발생하더라도 그 이후에 수신되는 패킷들에 대해서는 성공적으로 오류를 정정할 수 있게 된다.The packet size detection unit 608 then detects the header information of the packet 970 located next to the packet 960. In this case, the packet size detector 608 may accurately detect the packet length '10' of the header information of the packet 970, and thus, the packet size 970 may know that the length of the packet 970 is 72 bytes. Therefore, the CRC check is performed on 72 bytes, and the CRC check result of the packet 970 is 'good', so that the receiver can perform decoding without losing the packet 970. That is, if some packet header information is incorrectly detected in a receiver of a general DAB system, the packets buffered in the FEC frame cannot be decoded, but the DAB receiver according to an embodiment of the present invention generates an error in the header of some packets. Even if the packet is received later, the error can be corrected successfully.

따라서, 앞서 상술한 도 5와는 달리 본 발명의 실시 예에 따른 수신기에서는 도 9와 같이 앞서 수신된 패킷들의 오류가 발생하더라도 일정한 크기의 패킷 단위만을 복호함으로써 최소한의 패킷들만 손실하여 패킷 에러 율을 낮출 수 있다.Therefore, unlike FIG. 5 described above, in the receiver according to the exemplary embodiment of the present invention, even if an error occurs in the previously received packets as shown in FIG. 9, only the minimum packets are lost by decoding only a packet unit of a predetermined size to lower the packet error rate. Can be.

한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며 후술하는 특허 청구의 범위뿐만 아니라 이 특허 청구의 범위와 균등한 것들에 의해 정해져야 한다.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, but is capable of various modifications within the scope of the invention. Therefore, the scope of the present invention should not be limited by the illustrated embodiments, but should be determined by the scope of the appended claims and equivalents thereof.

상술한 바와 같이 본 발명을 적용하면 DAB 방송 시스템의 수신기에서는 패킷 에러율을 낮출 수 있다.As described above, by applying the present invention, the receiver of the DAB broadcasting system can lower the packet error rate.

Claims (7)

디지털 방송 시스템의 수신기에서 오류를 정정하기 위한 장치에 있어서, An apparatus for correcting an error in a receiver of a digital broadcasting system, 송신기로부터 수신한 패킷들을 프레임 오류 정정(Frame Error Correction : FEC) 프레임에 버퍼링 하는 수신부와, A receiver which buffers the packets received from the transmitter in a frame error correction (FEC) frame, 상기 FEC 프레임에 버퍼링된 패킷들을 디코딩하여 오류 유무를 검사하는 디코더와, A decoder which decodes the packets buffered in the FEC frame and checks for an error; 상기 디코딩 결과 오류가 있다면, 상기 FEC 프레임에 버퍼링된 패킷들에 대해 패킷 사이즈를 검출하는 패킷 사이즈 검출부와, A packet size detector for detecting a packet size with respect to the packets buffered in the FEC frame, if there is an error in the decoding result; 상기 검출한 패킷 사이즈 만큼의 상기 FEC 프레임에 버퍼링된 패킷들에 대해 순환 중복 체크(Cyclic Redundancy Check : CRC) 검사를 수행하는 CRC 검사부와, A CRC checker configured to perform a cyclic redundancy check (CRC) check on the packets buffered in the FEC frame as many as the detected packet size; 상기 CRC 검사 결과 오류가 있다면, 상기 CRC 검사가 수행된 패킷들의 패킷 사이즈 정보를 미리 정해진 패킷 사이즈로 수정하는 헤더 수정부를 포함하는 디지털 방송 시스템의 수신기에서의 오류 정정 장치. And a header correction unit for modifying packet size information of the packets on which the CRC check has been performed to a predetermined packet size, if there is an error in the CRC check. 제1 항에 있어서, The method according to claim 1, 상기 수신부는, The receiver may further comprise: 상기 송신기가 전송한 패킷들을 수신하는 무선 주파수(Radio Frequency: RF) 부와, A radio frequency (RF) unit for receiving the packets transmitted by the transmitter; 상기 RF부가 수신한 패킷들을 주파수 하향 변환하여 출력하는 복조부와, A demodulator for frequency downconverting and outputting the packets received by the RF unit; 상기 복조부가 출력한 패킷들을 컨볼루션 디코딩하는 컨볼루션 디코더와, A convolution decoder for convolutionally decoding the packets output by the demodulator; 상기 컨볼루션 디코딩된 패킷들 중 상기 FEC 프레임에 버퍼링될 패킷의 시작점을 검출하는 프레임 검출부와, A frame detector for detecting a start point of a packet to be buffered in the FEC frame among the convolutionally decoded packets; 상기 컨볼루션 디코딩된 패킷들을 상기 검출한 시작점을 근거로 상기 FEC 프레임 크기만큼 버퍼링하는 FEC 프레임 버퍼링부를 포함함을 특징으로 하는 디지털 방송 시스템의 수신기에서의 오류 정정 장치. And an FEC frame buffering unit configured to buffer the convolutionally decoded packets by the FEC frame size based on the detected starting point. 제1 항에 있어서, The method according to claim 1, 상기 헤더 수정부는, The header correction unit, 상기 CRC 검사 결과 오류가 있다면, 상기 패킷 사이즈 정보를 24바이트로 수정함을 특징으로 하는 디지털 방송 시스템의 수신기에서의 오류 정정 장치. And correcting the packet size information to 24 bytes if there is an error in the CRC check result. 제1 항에 있어서, The method according to claim 1, 상기 CRC 검사부는, The CRC inspection unit, 상기 CRC 검사 결과 오류가 없다면 상기 패킷 사이즈 검출부가 검출한 패킷 사이즈에 오류가 없다고 판단하고, 어플리케이션 프로세서로 상기 CRC 검사가 수행된 패킷들을 전송함을 특징으로 하는 디지털 방송 시스템의 수신기에서의 오류 정정 장치. If there is no error as a result of the CRC check, it is determined that there is no error in the packet size detected by the packet size detection unit, and the error correction apparatus in the receiver of the digital broadcasting system, characterized in that for transmitting the packets to which the CRC check has been performed . 제1 항에 있어서,The method according to claim 1, 상기 디코더는 리드-솔로몬(Reed-Solomon) 디코더임을 특징으로 하는 디지털 방송 시스템의 수신기에서의 오류 정정 장치.The decoder is an error correction apparatus in a receiver of a digital broadcasting system, characterized in that the Reed-Solomon decoder. 디지털 방송 시스템의 수신기에서 오류를 정정하기 위한 방법에 있어서, A method for correcting an error in a receiver of a digital broadcasting system, 송신단기로부터 수신한 패킷들을 프레임 오류 정정(Frame Error Correction : FEC) 프레임에 버퍼링하는 과정과, Buffering the packets received from the transmitter in a frame error correction (FEC) frame; 상기 FEC 프레임에 버퍼링된 패킷들을 디코딩하여 오류 유무를 검사하는 과정과, Decoding packets buffered in the FEC frame to check for errors; 상기 디코딩 결과 오류가 있다면, 상기 FEC 프레임에 버퍼링된 패킷들에 대해 패킷 사이즈를 검출하는 과정과, If there is an error in the decoding result, detecting a packet size of the packets buffered in the FEC frame; 상기 검출한 패킷 사이즈 만큼의 상기 FEC 프레임에 버퍼링된 패킷들에 대해 순환 중복 체크(Cyclic Redundancy Check : CRC) 검사를 수행하는 과정과, Performing a cyclic redundancy check (CRC) check on the packets buffered in the FEC frame as many as the detected packet size; 상기 CRC 검사 결과 오류가 있다면, 상기 CRC 검사가 수행된 패킷들의 패킷 사이즈 정보를 미리 정해진 패킷 사이즈로 수정하는 과정을 포함하는 디지털 방송 시스템의 수신기에서의 오류 정정 방법. If there is an error in the CRC check, correcting the packet size information of the packets on which the CRC check has been performed to a predetermined packet size. 제6 항에 있어서, The method according to claim 6, 상기 패킷 사이즈 정보를 미리 정해진 패킷 사이즈로 수정하는 과정은, The process of modifying the packet size information to a predetermined packet size, 상기 CRC 검사 결과 오류가 있다면, 상기 패킷 사이즈 정보를 24바이트로 수정하는 과정을 포함함을 특징으로 하는 디지털 방송 시스템의 수신기에서의 오류 정정 방법. And correcting the packet size information to 24 bytes if there is an error as a result of the CRC check.
KR1020060065095A 2006-07-11 2006-07-11 Error correcting apparatus and method in digital audio broadcasting receiver KR101288762B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060065095A KR101288762B1 (en) 2006-07-11 2006-07-11 Error correcting apparatus and method in digital audio broadcasting receiver

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060065095A KR101288762B1 (en) 2006-07-11 2006-07-11 Error correcting apparatus and method in digital audio broadcasting receiver

Publications (2)

Publication Number Publication Date
KR20080006223A KR20080006223A (en) 2008-01-16
KR101288762B1 true KR101288762B1 (en) 2013-07-23

Family

ID=39220079

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060065095A KR101288762B1 (en) 2006-07-11 2006-07-11 Error correcting apparatus and method in digital audio broadcasting receiver

Country Status (1)

Country Link
KR (1) KR101288762B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040032346A (en) * 2002-10-09 2004-04-17 삼성전자주식회사 Method and apparatus for receiving multiplexing packet data control channels
KR20060006268A (en) * 2004-07-15 2006-01-19 삼성전자주식회사 Digital broadcasting transmission/reception system having improved receiving performance and signal processing method thereof
KR20060047770A (en) * 2004-07-19 2006-05-18 삼성전자주식회사 Digital broadcasting transmission/reception system having improved receiving performance and signal processing method thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040032346A (en) * 2002-10-09 2004-04-17 삼성전자주식회사 Method and apparatus for receiving multiplexing packet data control channels
KR20060006268A (en) * 2004-07-15 2006-01-19 삼성전자주식회사 Digital broadcasting transmission/reception system having improved receiving performance and signal processing method thereof
KR20060047770A (en) * 2004-07-19 2006-05-18 삼성전자주식회사 Digital broadcasting transmission/reception system having improved receiving performance and signal processing method thereof

Also Published As

Publication number Publication date
KR20080006223A (en) 2008-01-16

Similar Documents

Publication Publication Date Title
KR100735276B1 (en) Method and apparatus for decoding a mpe-fec frame in a dvb-h system
US9432698B2 (en) TS packet grooming
KR100724891B1 (en) Device and method of multi-cyclic redundancy checking for acquiring section detection and reliability information in dvb-h system
US9935755B2 (en) Method and apparatus for signaling in digital radio systems
US9661394B2 (en) Apparatus and method for broadcasting services in digital video broadcasting system
US10248496B2 (en) Iterative forward error correction decoding for FM In-Band On-Channel radio broadcasting systems
US8010880B2 (en) Forward error correction decoder and method thereof
KR20080084148A (en) Method and apparatus for decoding data in a receiver of digital broadcasting system
JP4814809B2 (en) Data transmission apparatus and program thereof
KR101288762B1 (en) Error correcting apparatus and method in digital audio broadcasting receiver
KR101304092B1 (en) Method and apparatus for buffering and decoding received data in a receiver of digital video broadcasting system
US7856587B2 (en) Memory reduction in DVB-H applications
JP2815343B2 (en) Encoded transmission system and its transmission / reception device
US8255776B2 (en) Digital broadcast transmission and reception apparatuses and methods thereof
US7817724B2 (en) Apparatus and method for synchronizing transport packet in ground wave digital multimedia broadcasting
KR100754185B1 (en) Method and apparatus for displaying receiving capability for broadcasting service
EP2961176B1 (en) Correcting errors in a digital media transport stream
KR100696813B1 (en) Method for error detection of dmb receiver
KR100758083B1 (en) Method for displaying broadcasting signal of digital multimedia broadcasting apparatus

Legal Events

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