KR20080084148A - 디지털 방송 시스템의 수신기에서 데이터 디코딩 방법 및장치 - Google Patents
디지털 방송 시스템의 수신기에서 데이터 디코딩 방법 및장치 Download PDFInfo
- Publication number
- KR20080084148A KR20080084148A KR1020070025453A KR20070025453A KR20080084148A KR 20080084148 A KR20080084148 A KR 20080084148A KR 1020070025453 A KR1020070025453 A KR 1020070025453A KR 20070025453 A KR20070025453 A KR 20070025453A KR 20080084148 A KR20080084148 A KR 20080084148A
- Authority
- KR
- South Korea
- Prior art keywords
- buffer
- decoding
- data
- packet
- mpe
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/015—High-definition television systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/65—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/89—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0071—Use of interleaving
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L2001/0092—Error control systems characterised by the topology of the transmission link
- H04L2001/0093—Point-to-multipoint
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Error Detection And Correction (AREA)
- Circuits Of Receivers In General (AREA)
Abstract
본 발명은 디지털 방송 시스템의 수신기에서 데이터를 디코딩하기 위한 장치 및 방법에 관한 것으로, 본 발명에 따른 디지털 방송 수신기에서 데이터 디코딩 방법은, 입력된 RS 패킷을 RS 디코딩하는 제1 과정과, 상기 제1 과정에서 디코딩 성공한 데이터들을 다중 프로토콜 캡슐화-순방향 오류 정정(MPE-FEC) 버퍼에 버퍼링하는 제2 과정과, 상기 제1 과정에서 디코딩 실패한 데이터들을 RS 패킷 버퍼에 버퍼링하는 제3 과정과, 상기 MPE-FEC 버퍼에 버퍼링된 데이터들을 상기 버퍼링된 데이터들의 신뢰성 정보를 사용하여 이레이져 RS 디코딩을 수행하는 제4 과정과, 상기 RS 패킷 버퍼에 버퍼링된 데이터들에 상기 제4과정에서의 이레이져 디코딩 결과 디코딩 실패한 데이터들을 오버라이팅하는 제5 과정과, 상기 제5 과정에서 오버라이트된 데이터에 대해 RS 디코딩을 수행하는 제6 과정과, 상기 제6 과정에서 RS 디코딩 성공한 데이터를 상기 MPE-FEC 버퍼에 오버라이트하는 제 7과정과, 상기 제7 과정 이후, 상기 MPE-FEC 버퍼에 버퍼링된 데이터들에 대해 이레이져 RS 디코딩을 수행하는 제8 과정을 포함한다.
DVB-H, Reed-Solomon Decoding, Erasure Reed-Solomon Decoding, Transport Stream packet
Description
도 1은 전송 단위로 TS 패킷을 이용하는 일반적인 디지털 방송 시스템에서 수신기의 구성을 나타낸 도면,
도 2는 도 1의 수신기에 구비되는 종래 섹션 검출 및 버퍼링 장치의 구성을나타낸 블록도,
도 3은 종래 오류가 발생된 TS 패킷이 포함된 섹션의검출 및 버퍼링 과정을나타낸 도면,
도 4는 종래 섹션 검출 및 버퍼링 방법을 나타낸 순서도,
도 5는 본 발명의 제1 실시 예에 따른 디지털 방송 시스템에서 섹션 검출 및 버퍼링 장치의 구성을 나타낸 블록도,
도 6은 본 발명의 제1 실시 예에 따라 오류가 발생된 TS 패킷이 포함된섹션의 검출 및 버퍼링 과정을 나타낸 도면,
도 7은 본 발명의 제1 실시 예에 따른 섹션 검출 및 버퍼링 방법을 나타낸 순서도,
도 8은 일반적인 DVB-H 시스템에서 TS 패킷의 헤더 구조를 나타낸 도면,
도 9는 본 발명의 제2 실시 예에 따른 MPE-FEC 디코딩부의 블록 구성도,
도 10은 본 발명의 제2 실시 예에 따른 MPE-FEC 디코딩부의 동작 흐름도,
도 11은 본 발명의 제2 실시 예에 따라 MPE-FEC 버퍼에 섹션 페이로드가 TS 패킷 단위로 버퍼링되는 것을 도시한 도면,
도 12는 본 발명의 제2 실시 예에 따라 RS 디코더의 디코딩 결과 오류가 발생한 RS 패킷들을 204바이트 단위로 실패한 RS 패킷 버퍼(failed RS packet buffer)에 버퍼링하는 과정을 도시한 도면,
도 13은 본 발명의 제2 실시 예에 따라 모든 섹션 데이터가 수신되어 버스트가 종료되었을 때 로우(row) 단위로 (255, 191) 이레이져 RS 디코더가 이레이져 RS 디코딩을 수행하는 과정을 도시한 도면,
도 14는 본 발명의 제2 실시 예에 따라 도 13에 도시된 이레이져 RS 디코더가 MPE-FEC 버퍼의 모든 로우(row)에 대해 디코딩을 수행한 이후에 실패한 RS 패킷 버퍼에 버퍼링 되어있던 RS 패킷 데이터의 섹션 페이로드 부분을 업데이트하는 과정을 도시한 도면,
도 15는 본 발명의 제2 실시 예에 따라 도 14에서 재생성된 RS 패킷들에 대해 RS 디코더가 다시 RS 디코딩을 수행하는 과정을 도시한 도면,
도 16은 본 발명의 제2 실시 예에 따라 도 15에 도시된 바와 같이 RS 디코딩이 성공했다면, RS 패킷 버퍼 제어기가 MPE-FEC 버퍼의 해당 위치에 상기 디코딩 성공한 데이터들을 오버라이트 하는 과정을 도시한 도면,
도 17은 본 발명의 제2 실시 예에 따라 이레이져 RS 디코더가 반복 복호를 수행하여 1번째 디코딩 수행 시 오류가 발생했던 로우(row)에 대해 오류를 성공적 으로 정정하는 과정을 보여주는 도면,
도 18은 본 발명이 적용되는 DVB-H 시스템에서 RS 디코더로 입력되는 RS 패킷의 구조를 도시한 도면.
본 발명은 디지털 방송 시스템에서 전송 스트림(Transport Stream : 이하 "TS"라 한다.) 패킷을 수신하는 방법 및 장치에 관한 것으로서, 특히 휴대 디지털 비디오 방송(Digital Video Broadcasting - Handheld : 이하 "DVB-H"라 한다.) 시스템의 수신기에서 데이터를 디코딩하는 방법 및 장치에 관한 것이다.
근래 음성(Audio), 영상(Video) 등의 데이터 압축 기술과 통신 기술의 발달에 힘입어 고품질의 음성 및 영상 서비스를 고정 또는 이동 단말을 통해 어디서나 제공할 수 있는 디지털 방송이 실현되고 있다. 이러한 디지털 방송의 예로는 디지털 오디오 방송(Digital Audio Broadcasting : DAB), 디지털 오디오 라디오 시스템(Digital Audio Radio Broadcasting System) 그리고, 오디오, 비디오, 데이터 서비스를 모두 포괄하는 이른바 디지털 멀티미디어 방송(Digital Multimedia Broadcasting : DMB) 시스템 등이 있다. 또한 유럽 지역의 디지털 오디오 방송 시스템인 Eureka 147(European Research Coordination Agency project - 147) 시스템과 디지털 방송 규격의 하나인 DVB-T(Terrestrial) 시스템의 이동성, 휴대성을 강 화한 DVB-H 시스템이 최근 주목받고 있다.
상기 DVB-H 시스템의 물리 계층 규격은 상기 DVB-T 시스템의 사양(Spec.)을 대부분 따르며 이동 중에도 수신기에서 데이터의 안정적인 수신을 보장하기 위해 다중 프로토콜 캡슐화-순방향 오류 정정(Multi-Protocol Encapsulation - Forward Error Correction : MPE-FEC)과 같은 추가적인 오류 정정 부호화 기술을 지원한다.
즉 유럽향 모바일 방송 시스템인 DVB-H 시스템은 고정형 방송 수신 기술인 상기 DVB-T 시스템에서 채널 디코딩 성능을 향상시키기 위해 MPE-FEC 기술을 사용하고 있다.
상기 MPE-FEC 기술은 IP 데이터그램으로 버스트를 구성하고 각 행 성분(row)에 대하여 (255, 191) 리드-솔로몬 (Reed-Solomon : 이하 "RS"라 한다.) 코딩을 추가함으로써 채널 코딩 이득을 더 얻을 수 있도록 제안된 기술이다.
상기 MPE-FEC 기술을 이용하는 DVB-H 시스템에어 방송 데이터는 IP 데이터그램(datagram)으로 만들어지고, 적어도 하나의 IP 데이터그램은 하나의 버스트를 구성한다. 그런 후 상술한 바와 같이 구성된 버스트들은 (255, 191) RS 부호화된다. 섹션 데이터는 IP 데이터그램을 전달하는 MPE 섹션과, 상기 RS 부호화에 의해 생성되는 패리티 데이터(Parity data)를 전달하는 MPE-FEC 섹션으로 구분된다. 이하에서는 설명의 편의상 MPE 섹션과 MPE-FEC 섹션을 구분하지 않고 섹션으로 통칭하기로 한다.
상기 섹션 데이터는 DVB-H 시스템의 전송 단위인 TS 패킷의 페이로드(Payload)에 실려 물리 계층을 통해 전송된다. 그리고 상기 TS 패킷은 예컨대, 188바이트의 고정된 길이를 갖으며 (204, 188) RS 부호화된 후 컨벌루션 부호화(Convolution Coding)되어 전송된다. 하나의 섹션은 하나 또는 복수의 TS 패킷을 통해 전송된다.
이하 TS 패킷을 전송하는 일반적인 DVB-H 시스템에서 RS 디코딩을 위해 섹션 데이터를 검출하고 복호를 수행하는 수신기의 동작을 설명하기로 한다.
도 1은 전송 단위로 TS 패킷을 이용하는 일반적인 디지털 방송 시스템에서 수신기의 구성을 나타낸 도면이다.
도 1에서 무선망으로부터 수신된 TS 패킷은 안테나(101)를 통해 RF 복조기(103)로 수신되고, RF 복조기(103)를 통해 주파수 하향 변환 및 복조되어 디지털 신호로 변환된다. 이렇게 변환된 디지털 신호는 OFDM 심볼들이 되며, FFT(Fast Fourier Transform) 처리기(105)에서 주파수 영역의 신호로 변환된다. 심볼 디인터리버(107)는 주파수 영역의 신호로 변환된 신호를 심볼 단위로 디인터리빙을 수행하여 출력한다. 심볼 디매핑기(109)는 디인터리빙된 신호를 QPSK, 16-QAM 혹은 64-QAM 등의 정해진 변조 방식에 의거하여 심볼을 디매핑하고, 비트 디인터리버(111)로 출력한다. 그러면 비트 디인터리버(111)는 비트 단위의 디인터리빙을 각각 수행한다.
그리고 도 1에서 채널 디코더(113)는 도시되지 않은 비터비 디코더(viterbi decoder)와 (204, 188) RS(Reed-Solomon) 디코더를 포함하며, 채널 디코딩 및 (204, 188) RS 디코딩을 수행한다. 디코딩된 신호는 TS 패킷 동기부(115)를 통해 동기가 맞추어지고, 디스크램블러(117)에서 디스크램블링된다. 이후 도 1에서 MPE- FEC 디코더(119)는 디스크램블된 신호에 대해 패킷 식별자(Packet Identifier : 이하 "PID"라 칭함) 필터링을 수행하고, TS 패킷의 헤더 정보를 분석하여 섹션을 검출하고, 검출한 섹션에 대해 버퍼링과 MPE-FEC 복호 및 RS 복호를 수행하여 원래 방송 데이터를 복원한다.
이하 도 2 를 참조하여 종래 MPE-FEC 디코딩을 위한 섹션 검출 및 버퍼링 과정을 설명하기로 한다.
종래 기술은 섹션을 검출하는데 CRC(Cyclic Redundancy Check) 결과를 사용한다. 도 1에서 디스크램블러(117)까지는 188 바이트의 TS 패킷 단위의 전송이 이루어진다. TS 패킷에는 섹션의 시작점을 알리는 정보와, PID 정보가 포함되어 있으며, 상기 PID는 패킷식별자(Packet Identifier) 라고 하여 각기 다른 서비스 프로그램 정보를 분류하는데 사용된다. 하나의 섹션에는 헤더 정보와 데이터 정보, 그리고 CRC 정보가 포함된다. 그런데 섹션에서 헤더의 시작점은 TS 패킷 내에서 불규칙하게 존재한다. 따라서 TS 패킷의 헤더 정보에 섹션의 헤더 시작점을알려주는 정보가 존재한다. 그리고 TS 패킷 내에 섹션의 헤더 정보가 있는지 데이터 정보가 있는지도 알려주게 된다.
도 2는 도 1의 수신기에 구비되는 종래 섹션 검출 및 버퍼링 장치(200)의 구성을 나타낸 블록도이다.
TS 패킷들로부터 섹션을 추출해 내는 동작을 섹션 검출이라 정의하였을 때 도 2에서 TS 패킷 헤더 분석기(201)는 섹션의 검출을 위해서 TS 패킷의 헤더 정보를 추출하여 제1 레지스터(203)로 전달하고, TS 패킷의 데이터가 실린 페이로드는 섹션 헤더 분석기(205)로 전달한다. TS 패킷 헤더 분석기(201)의 앞단에는 도시되지 않은 RS 디코더가 디스크램블러(117)로부터 204바이트의 RS 패킷을 수신한다.
그리고 섹션 헤더 분석기(205)는 TS 패킷의 헤더 정보가 저장된 제1 레지스터(203)로부터 정보를 수신하여, TS 패킷의 페이로드에 섹션의 헤더정보와 섹션의 페이로드 정보를 구분하며, 상기 TS 패킷의 페이로드에 섹션의 헤더 정보가 포함된 경우 상기 섹션의 헤더 정보를 추출하여 제2 레지스터(207)로 전달하고, 상기 TS 패킷의 페이로드에 섹션의 데이터가 실린 경우 상기 TS 패킷의 페이로드는 섹션 버퍼 및 CRC 블록(209)으로 전달한다.
도 2에서 섹션 버퍼 및 CRC 블록(209)은 섹션의 페이로드를 버퍼링하며, 버퍼링된 섹션 데이터의 유효성 테스트(valid test)를 위한 CRC 검사를 수행한다. 섹션 버퍼 및 CRC 블록(209)은 섹션 데이터의 유효성 테스트가 완료된 섹션 데이터 및 유효성 결과 정보를 MPE-FEC 버퍼(211)로 전달한다. 또한 섹션 버퍼 및 CRC 블록(209)은 제2레지스터(207)로부터 섹션의 크기 정보를 수신하여, MPE-FEC RS 디코더(213)로 복호 시작(decoding start) 신호를 출력한다. 이에 따라 MPE-FEC RS 디코더(213)는 MPE-FEC 버퍼(211)로부터 전달된 유효성 결과 정보를 근거로 섹션 데이터에 대한 RS 디코딩을 수행하여 원래 방송 데이터를 복원한다. 상기한 동작에서 섹션 버퍼 및 CRC 블록(209)은 버퍼링된 섹션 데이터의 CRC 검사 결과를 근거로 MPE-FEC 버퍼(211)로의 버퍼링 여부를 결정한다.
일반적으로 상기 삭제 정보가 포함된 MPE-FEC erasure RS decoding의 경우 유효한 섹션 데이터가 많거나 상기 유효성 결과(Erasure) 정보를 많이 알수록 섹션 데이터의 RS 디코딩이 성공할 확률이 높아진다. 상기 유효성 결과 정보는 MPE-FEC 버퍼(211)로부터 MPE-FEC RS 디코더(213)로 입력되며, 상기 삭제 정보는 섹션 데이터의어느 위치에 오류가 존재한다는 것을 나타낸다. 상기 오류의 위치를 아는 것만으로도 오류를 정정할 수 있는 능력이 두 배 정도 향상된다. 그런데 실제 섹션의 검출 및 버퍼링 과정을 살펴보면, 하나의 섹션이 다수의 TS 패킷으로 구성될 수 있으므로 하나의 섹션에 포함된 TS 패킷들 중 하나만 오류가 나더라도 해당 섹션에 대한 CRC 검사는 "fail"의 결과를 얻게 된다. 결국 섹션이 둘 이상의 TS 패킷으로 구성되는 경우 다수의 TS 패킷들 중 하나의 TS 패킷에만 오류가 존재하여도 오류가 전혀 없는 TS 패킷(들)도 함께 버려지게 되므로 종래 섹션 검출 및 버퍼링 방법은 비효율적이라고 할 수 있다. 즉 섹션의 길이가 길면 길수록 TS 패킷 하나만 오류가 발생해도 해당 섹션에 포함된 나머지 TS 패킷의 데이터들이 모두 유효성이 없음(erasure)으로 처리된다. 따라서 종래 섹션 검출 및 버퍼링 방법은 정상적인 TS 패킷에 대해서도 유효성이 없음으로 처리를 하는 경우가 발생되므로 실질적으로 MPE-FEC 디코딩의 오류 정정 능력이 떨어지게 된다.
도 3은 종래 오류가 발생된 TS 패킷이 포함된 섹션의검출 및 버퍼링 과정을나타낸 도면으로서, 도 3에서 참조번호 310은 수신된 TS 패킷들의 시퀀스를 나타낸 것이고, 330은 수신된 TS 패킷들의 시퀀스를 섹션 단위로 재구성한 것이다. 그리고 참조번호 350은 도 2의 MPE-FEC 버퍼(211)에서 오류가 발생된 섹션의 유효성 없음으로 처리하여 버퍼링하는 과정을 나타낸 것이다. 도 3의 TS 패킷들의 시퀀스(310)에서 우측 상단에 "O"으로 표시된 TS 패킷은 정상적으로 수신된 TS 패킷(311)을 나 타낸 것이고, "X"로 표시된 TS 패킷은 오류가발생된 TS 패킷(313)을 나타낸 것이다. TS 패킷들을 섹션 단위로 재구성하는 과정에서 오류가 발생된 TS 패킷(313)이 포함되어 있는 경우 섹션 버퍼 및 CRC 블록(209)은 도 3의 참조번호 351과 같이 해당 섹션 데이터의 전체를 유효성이 없음으로 처리하고, 353과 같이 오류가 발생되지 않은 섹션 데이터만을 버퍼링한다.
도 4는 종래 수신기에서 섹션 검출 및 버퍼링 방법을 나타낸 순서도로서, 401 단계에서 수신기는 TS 패킷의 오류 여부를 확인한 후 403 단계에서 PID 필터링을 수행하여 원하는 프로그램의 TS 패킷을 검출한다. 이후 405 단계에서 수신기는 TS 패킷의 헤더 정보를 분석하여 섹션 데이터의 헤더 시작 위치를 찾은 후, 407 단계에서 섹션의 헤더 정보를 분석하고, 409 단계에서 수신기는 해당하는 섹션 데이터를 섹션 버퍼에 버퍼링한다. 그리고 411 단계에서 수신기는 버퍼링된 섹션에서 CRC 검사를 수행하고, 413 단계에서 CRC 검사 결과가 "Good"인 섹션의 데이터를 MPE-FEC 버퍼(211)에 버퍼링하고, 오류가 발생된 섹션의 데이터는 모두 유효성 없음으로 처리한다. 이후 415 단계에서 수신기는 하나의 버스트를 모두 수신한 경우 MPE-FEC RS 디코딩을 수행하여 오류정정을 수행한다. 상기한 바와 같이 종래 섹션의 검출 및 디코딩 방법은 도 3에서 설명한 것처럼 둘 이상의 TS 패킷으로 구성되는 하나의 섹션에서 정상적으로 수신된 TS 패킷들을 포함하고 있다 하더라도 하나라도 오류가 발생된 TS 패킷의 데이터가 존재하는 경우 해당 섹션의 데이터 전체를 유효성 없음으로 처리하여야 한다. 따라서 비효율적인 MPE-FEC 디코딩을 수행함을 알 수 있다.
본 발명은 디지털 방송 시스템에서 수신 데이터의 복호 성능을 높이기 위한 장치 및 방법을 제공한다.
본 발명은 디지털 방송 수신기에서 MPE-FEC 복호 성능을 높이기 위한 방법 및 장치를 제공한다.
본 발명에 따른 디지털 방송 수신기에서 데이터 디코딩 방법은, 입력된 RS 패킷을 RS 디코딩하는 제1 과정과, 상기 제1 과정에서 디코딩 성공한 데이터들을 다중 프로토콜 캡슐화-순방향 오류 정정(MPE-FEC) 버퍼에 버퍼링하는 제2 과정과, 상기 제1 과정에서 디코딩 실패한 데이터들을 RS 패킷 버퍼에 버퍼링하는 제3 과정과, 상기 MPE-FEC 버퍼에 버퍼링된 데이터들을 상기 버퍼링된 데이터들의 신뢰성 정보를 사용하여 이레이져 RS 디코딩을 수행하는 제4 과정과, 상기 RS 패킷 버퍼에 버퍼링된 데이터들에 상기 제4과정에서의 이레이져 디코딩 결과 디코딩 실패한 데이터들을 오버라이팅하는 제5 과정과, 상기 제5 과정에서 오버라이트된 데이터에 대해 RS 디코딩을 수행하는 제6 과정과, 상기 제6 과정에서 RS 디코딩 성공한 데이터를 상기 MPE-FEC 버퍼에 오버라이트하는 제 7과정과, 상기 제7 과정 이후, 상기 MPE-FEC 버퍼에 버퍼링된 데이터들에 대해 이레이져 RS 디코딩을 수행하는 제8 과정을 포함한다.
본 발명에 따른 디지털 방송 수신기에서 데이터 디코딩 장치는, 입력된 RS(Reed-Solomon) 패킷 혹은 이전 디코딩에 실패한 데이터를 입력받아 디코딩하는 RS 디코더와, 상기 RS 디코더의 디코딩 결과 디코딩 성공한 데이터를 저장하는 제1 버퍼와, 상기 RS 디코더의 디코딩 결과 디코딩 실패한 패킷들을 저장하는 제2 버퍼와, 상기 RS 디코딩 수행 후, 상기 제1 버퍼에 버퍼링된 상기 데이터들에 대해 이레이져 RS 디코딩을 수행하여, 상기 제1 버퍼에 저장된 데이터들의 오류를 정정하는 이레이져 RS 디코더와, 상기 이레이져 RS 디코더의 디코딩 수행 후, 상기 제1 버퍼에 버퍼링된 데이터들 중 상기 제2 버퍼에 저장된 디코딩이 실패한 패킷들이 상기 제1 버퍼에 버퍼링될 주소로 접근하여 해당 주소에 저장된 이레이져 RS 디코딩 후의 데이터들을 상기 제2 버퍼에 오버라이트 하고, 상기 제2 버퍼에 저장된 디코딩 실패한 데이터를 상기 RS 디코더로 제공하는 제2 버퍼 제어부를 포함한다.
이하 본 발명에 따른 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 하기의 설명에서는 본 발명에 따른 동작을 이해하는데 필요한 부분만이 설명되며 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다.
< 제 1 실시 예 >
본 발명의 제 1 실시 예를 설명하기에 앞서 본 발명의 제 1 실시예의 기본 개념을 설명하면, 본 발명은 TS 패킷의 오류 검출 플래그(error detection flag)를 이용하여 MPE-FEC 디코딩의 성능을 향상시키도록 제안된 것이다. 즉 기존의 복호 방법에서 섹션 검출 및 버퍼링 방식은 섹션 데이터의 CRC 검사 결과를 근거로 버퍼링 여부를 결정지었다. 본 발명에서 제안하는 섹션 검출 및 버퍼링 방식은 TS 패킷 의 오류 검출 플래그, 즉 채널 디코더에서 수행되는 RS 디코딩에 의한 결과 값과 TS 패킷들 간의 후술할 연속(continuity) 카운터 정보를 근거로 해당 섹션 데이터의 버퍼링 여부를 결정짓게 된다. DVB-H 시스템의 수신기에서 섹션의 검출 및 버퍼링과 RS 디코딩이 수행되는 블록의 전단에 위치된 채널 디코더는 전술한 것처럼 비터비 디코더와 예컨대, (204, 188) 규격의 다른 RS 디코더를 구비한다.
본 발명의 제1 실시예에서는 상기 채널 디코더에서 수행되는 RS 디코딩의1 비트 결과 값을 TS 패킷의 오류 검출 플래그로 설정하며, 상기 오류 검출 플래그는 채널 디코더로부터 출력되는 TS 패킷 헤더에 포함되어 MPE-FEC 버퍼링 과정에 사용되어 MPE-FEC 복호 시에 활용된다. 따라서 본 발명에서 제안하는 제 1 실시 예에서는 MPE-FEC 복호를 위한 TS 패킷 단위의 섹션 검출 및 버퍼링에 이용된다.
본 출원인의 실험에 의하면, 본 발명에 따른 제 1 실시 예를 적용하면, 채널 디코더에서 수행되는 (204,188) RS 디코딩 결과 디코딩의 정확도는 매우 높아서 오판할 확률이 10-6 정도로 매우 낮음을 확인할 수 있었다. 그리고 본 발명에 따라 TS 패킷 단위로 섹션 데이터를 버퍼링하는 경우 오류가 발생된 TS 패킷의 개수를 파악하여야 하며, 이는 TS 패킷의 헤더 정보에 포함된 연속 카운터(continuity counter) 정보를 이용하여 판별할 수 있다. 따라서 본 발명의 섹션 데이터 검출 방법을 이용하면, 정상적인 섹션 데이터의 손실을 방지할 수 있으므로 MPE-FEC 디코딩의 성능을 향상시킬 수 있다.
이하에서는 하기 <표 1> 및 도 8을 참조하여 상기 오류 검출 플래그와 연속 카운터(continuity counter) 정보가 포함된 TS 패킷의 헤더 구조를 설명한후, 도 5 내지 도 7을 참조하여 본 발명의 제 1 실시 예를 상세하게설명하기로 한다.
도 8은 일반적인 DVB-H 시스템에서 TS 패킷의 헤더 구조를 나타낸 도면으로서, TS 패킷(801)의 헤더(803) 구조를 살펴보면, TS 패킷의 헤더는 동기를 맞추기 위한 "sync byte" 필드(805)(이하 "동기 정보 필드"라 칭함)와, 상기 오류 검출 플래그를 지시하는 "transport error indicator" 필드(807)와, 해당 TS 패킷에 섹션의 헤더가 실려 있는지를 지시하는 "payload unit start indicator" 필드(809)와, 해당 TS 패킷을 통해 전송되는 프로그램의 식별자를 나타내는"PID" 필드(811)와, TS 패킷의 스트림에서 예컨대, 0부터 15까지 순환되는 TS 패킷의 일련 번호를 나타내는 "연속성 카운터(continuity counter)" 필드(813)와, 섹션의 헤더 정보의 위치를 나타내는 pointer byte가 포함된 "adaption field" 필드(815)를 포함한다. 여기서 상기 pointer byte는 상기 "adaption field" 필드(815)내 "adaption field length" 필드(817)에 실려 있다.
상기한 헤더 구조를 갖는 TS 패킷을 수신하는 본 발명의 수신기는 도 1의 수신기와 동일한 구성을 가지며, 다만 본 발명의 제 1 실시 예에 따라 복호를 위한섹션 데이터 검출 및 버퍼링 장치는 도 1의 MPE-FEC 디코더(119)에 구비된다. 따라서 도 1과 동일한 구성에 대한 상세한 설명은 생략하기로 하며, 본 발명의 제 1 실시 예에 따른 복호기는 아래에서 살피기로 한다.
도 5는 본 발명의 제 1 실시 예에 따른 디지털 방송 시스템의 수신기에서 복호기의 상세 구성을 나타낸 블록도이다.
도 5에서 TS 패킷 헤더 분석기(501)는 섹션의 검출을위해서 TS 패킷의 헤더 정보를 추출하여 제1 레지스터(503)로 전달하고, TS 패킷의 데이터가 실린 페이로드는 섹션 헤더 분석기(505)로 전달한다. 그리고 섹션 헤더 분석기(505)는 TS 패킷의 헤더 정보가 저장된 제1 레지스터(203)로부터 정보를 수신하여, TS 패킷의 페이로드에 섹션의 헤더 정보와 섹션의 페이로드 정보를 구분하며, 상기 TS 패킷의 페이로드에 섹션의 헤더 정보가 포함된 경우 상기 섹션의 헤더 정보를 추출하여 제2 레지스터(507)로 전달하고, 상기 TS 패킷의 페이로드에 섹션의 데이터가 실린 경우 상기 TS 패킷의 페이로드는 섹션 버퍼 및 오류 검사 블록(509)으로 전달한다. 상기 섹션 버퍼 및 오류 검사 블록(509)은 TS 패킷 단위로 섹션 데이터 버퍼링한다. 상기 제1레지스터(503)는 본 발명에 따라 TS 패킷의 헤더 정보로부터 상기 오류 검출 플래그 및 연속 카운터 정보를 상기 섹션 버퍼 및 오류 검사 블록(509)으로 제공한다. 따라서 본 발명에 따른 상기 섹션 버퍼 및 오류 검사 블록(509)은 상기 오류 검출 플래그를 확인하여 해당 TS 패킷의 오류 발생 여부를 검사함과 아울러 상기 연속 카운터 정보를 확인하여 연속적으로 수신되는 TS 패킷의 스트림 중에서 오류가 발생된 TS 패킷의 개수를 체크한다. 상기와 같이 섹션 버퍼 및 오류 검사 블록(509)은 오류가 발생된 TS 패킷의 개수를 확인한 후 나머지 정상적인 TS 패킷의 버퍼링 위치를 계산한다.
도 5에서 섹션 버퍼 및 오류 검사 블록(509)은 제2레지스터(507)로부터 섹션의 크기 정보를 수신하여, MPE-FEC RS 디코더(513)로 복호 시작(decoding start) 신호를 출력하고, 오류 검사가 완료된 섹션 데이터 및 유효성 여부를 알리는 오류 정보를 MPE-FEC 버퍼(511)로 전달한다. 상기 MPE-FEC 버퍼(511)에 저장되는 섹션 데이터는 TS 패킷 단위로 버퍼링된다. 그리고 MPE-FEC RS 디코더(513)는 MPE-FEC 버퍼(511)로부터 전달된 오류 정보를 근거로 섹션 데이터에 대한 MPE-FEC RS 디코딩을 수행하여 원래 방송 데이터를 복원한다. 이와 같이 본 발명에 따른 섹션 버퍼 및 오류 검사 블록(509)은 종래 기술에서와 같이 버퍼링된 섹션 데이터의 CRC 검사 결과를 근거로 MPE-FEC 버퍼(211)로의 버퍼링 여부를 결정하지 않고, TS 패킷의 오류 검출 플래그와 연속 카운터 정보를 근거로 TS 패킷의 오류 발생 여부와 오류가 발생된 TS 패킷의 개수를 확인하고, 오류가 발생된 TS 패킷을 제외한 정상적인 TS 패킷의 버퍼링 위치를 계산한다. 따라서 본 발명에서는 MPE-FEC RS 디코딩을 할 때종래 기술에 비해 버퍼링된 섹션 데이터의 양이 많아지므로 정확한 디코딩을 수행하여 MPE-FEC RS 디코딩의 성능을 향상시킬 수 있다.
도 6은 본 발명의 제 1 실시 예에 따라 오류가 발생된 TS 패킷이 포함된 섹션의 검출 및 버퍼링 과정을 나타낸 것으로서, 도 6에서 도 3과 동일한 구성(설명)에 대해서는 동일한 참조번호를 붙이고, 그 상세한 설명은 생략하기로 한다.
도 6에서 참조번호 610은 도 5의 MPE-FEC 버퍼(511)에서 오류가 발생된TS 패킷과 정상적으로 수신된 TS 패킷을 본 발명에 따른 오류 정보를 이용하여 구분한 경우의 버퍼링 과정을 나타낸 것이다. 도 6의 TS 패킷들의 시퀀스(310)에서 우측 상단에 "O"으로 표시된 TS 패킷은 정상적으로 수신된 TS 패킷(311)을 나타낸 것이고, "X"로 표시된 TS 패킷은 오류가 발생된 TS 패킷(313)을 나타낸 것이다. TS 패킷 단위로 섹션 데이터를 재구성하는 과정에서 오류가 발생된 TS 패킷(313)이 포함되어 있는 경우 섹션 버퍼 및 오류 검사 블록(509)은 도 6의 참조번호 611과 같이 오류가 발생된 TS 패킷의 데이터만을 오류로 처리하고, 참조번호 613, 615와 같이 정상적으로 수신된 TS 패킷의 데이터는 동일한 섹션 내에서 버퍼링한다. 이와 같이 실제로 오류가 발생한 TS 패킷의 페이로드만을 오류로 처리함으로써 전체 섹션의 복호에 대한 성능이 향상되는 것이다.
도 7은 본 발명의 제 1 실시 예에 따른 섹션 검출 및 버퍼링 방법을 나타낸 순서도로서, 701 단계에서 수신기는 TS 패킷의 헤더 정보로부터 상기 <표 1>에서 설명한 오류 검출 플래그를 확인하여 TS 패킷의 오류 여부를 확인한 후 703 단계에서 PID 필터링을 수행하여 원하는 프로그램의 TS 패킷을 검출한다. 이후 705 단계에서 수신기는 TS 패킷의 헤더 정보를 분석하여 섹션의 헤더 시작 위치를 찾은 후, 707 단계에서 동일한 섹션에 속하는 적어도 하나의 TS 패킷의 헤더 정보로부터 상기 <표 1>에서 설명한 연속 카운터 정보를 확인하여 연속적으로 수신되는 TS 패킷의 스트림에서 오류가 발생된 TS 패킷의 개수를 체크한다. 그리고 수신기는 709 단계에서 상기 오류가 발생된 TS 패킷의 개수 정보와 섹션의 헤더 정보를 분석하여 711 단계에서 오류가 발생된 TS 패킷을 제외한 나머지 정상적인 TS 패킷의 버퍼링 위치를 계산한다. 713 단계에서 수신기는 상기 711 단계에서 계산된 버퍼링 위치에 따라 섹션 데이터를 TS 패킷 단위로 버퍼링한다. 그리고 715 단계에서 수신기는 한 버스트의 섹션 데이터를 버퍼링한 경우 MPE-FEC RS 디코딩을 수행하여 원래 방송 데이터를 복원한다. 이와 같이 본 발명에 의하면, MPE-FEC 디코딩 시 섹션 데이터의 버퍼링을 TS 패킷 단위로 수행하고, 오류가 발생된 TS 패킷의 데이터만을 삭제 처리하여 디코딩을 수행하므로 MPE-FEC 디코딩의 성능을 향상시킬 수 있다.
이하에서는 상술한 본 발명의 제1 실시 예에서 언급한 MPE-FEC의 성능 척도인 MFER을 높이기 위한 방법을 아래의 제2 실시 예를 통해 제안하기로 하겠다. 후술할 본 발명의 제2 실시 예에서는 제1 실시 예에 비해서 MPE-FEC의 성능을 좌우하는 MPE-FEC RS 디코딩부(513) 내부에 구비된 RS 디코더(204, 188)와 이레이져 RS 디코더(255, 191)를 반복 복호가 가능하도록 변경함으로써, RS 디코더(204, 188)와 이레이져 RS 디코더(255, 191)간 상호 보완하면서 오류를 정정하는 구조를 제안하기로 한다.
< 제 2 실시 예 >
도 9는 본 발명의 제2 실시 예에 따른 MPE-FEC 디코딩부(900)의 블록 구성도이다.
RS 디코더(902)는 204바이트의 RS(Reed-Solomon) 패킷을 입력받아 RS 디코딩을 수행하여 수신된 RS 패킷의 오류 유무를 판단한다. TS 패킷 헤더 분석기(904)는 RS 디코더(902)의 디코딩 결과 오류가 없는 RS 패킷들을 TS 패킷으로 간주하여 TS 패킷들의 헤더의 정보를 추출하여 분석한다. RS 디코더(902)로 입력되는 204바이트 크기의 RS 패킷은 도 18에 도시되어 있다.
RS 디코더(902)와 이레이져 RS 디코더(912)의 차이는 RS 디코더(902)는 입력되는 204바이트 크기의 RS 패킷에 대해 RS 디코딩을 수행하는 것이고, 이레이져 RS 디코더(912)는 255바이트단위의 패킷에 대해 이레이져 정보를 갖고 RS 디코딩을 수행하는 것이다.
반면, RS 디코더(902)의 디코딩 결과, 디코딩이 실패한 경우, RS 패킷 버퍼 제어기(RS packet buffer controller)(914)는 RS 패킷 버퍼(916)의 실패한 RS 패킷 버퍼(916a)에 204바이트 단위로 복구 불능 판정을 받은 RS 패킷을 버퍼링한다. 이때 RS 패킷 버퍼 제어기(914)는 204바이트 RS 패킷의 디코딩이 성공(Success)했다면 MPE-FEC 버퍼(910)에 저장되었을 MPE-FEC 버퍼(910)의 MPE-FEC 페이로드 버퍼(910a)의 주소도 같이 어드레스 버퍼(916b)에 저장한다. 아울러 RS 패킷 버퍼 제어기(914)는 이레이져 RS 디코더(912)에 의해 MPE-FEC 페이로드 버퍼(910a)에 버퍼링된 184바이트의 섹션에 대해 이레이져 RS 디코딩이 수행되면, 이레이져 RS 디코딩된 184바이트의 페이로드를 읽어 와서 실패한 RS 패킷 버퍼(916a)에 버퍼링된 204바이트의 RS 패킷 중 184바이트의 페이로드에 오버라이트 한다.
RS 패킷 버퍼 제어기(914)는 RS 패킷 버퍼(916a)의 접근을 제어하며, RS 패킷 버퍼(916)의 데이터 읽기 및 쓰기 동작을 제어한다. 이때, RS 패킷 버퍼 제어기(914)는 RS 패킷이 디코딩 성공했다면, 저장되었을 MPE-FEC 페이로드 버퍼(910a)의 주소를 어드레스 버퍼(916b)에 저장한다. 상기 RS 패킷이 RS 디코더(902)에 의해 디코딩 성공했을 경우, MPE-FEC 페이로드 버퍼(910a)에 버퍼링 되었을 주소는 섹션 헤더 분석기(906)로부터 제공받는다.
섹션 헤더 분석기(906)는 RS 디코더(902)에 의해 디코딩 성공한 TS 패킷들이 버퍼링될 주소를 알 수 있으므로, 성공한 TS 패킷들이 버퍼링되지 않은 주소는 디코딩 실패한 RS 패킷들이 버퍼링되었을 주소임을 알 수 있게 된다. 즉, 성공한 TS 패킷이 버퍼링될 주소를 알 수 있으므로 이것을 이용하여 디코딩 실패한 RS 패킷들의 버퍼링되었을 주소를 알 수 있다.
그리고 섹션 헤더 분석기(906)는 TS 패킷 헤더 분석기(902)가 추출한 헤더 정보를 통해 TS 패킷의 페이로드에서 섹션의 헤더 정보와 섹션의 페이로드 정보를 구분하여 추출한다. 그리고 섹션 헤더 분석기(906)은 추출된 헤더 정보와 페이로드 정보로 상기 추출된 페이로드가 상기 MPE-FEC 페이로드 버퍼(910a)에 버퍼링될 주소를 계산한다. MPE-FEC 버퍼 제어기(908)는 상기 섹션 헤더 분석기(906)가 계산한 주소를 사용하여 버스트가 종료될 때까지 상기 RS 디코딩되어 추출된 페이로드를 MPE-FEC 페이로드 버퍼(910a)에 버퍼링하게 된다. 아울러 MPE-FEC 버퍼 제어기(908)는 상기 RS 디코더(902)의 RS 디코딩 결과를 나타내는 이레이져 정보(Erasure Information)는 이레이져 정보 버퍼(910b)에 버퍼링한다.
MPE-FEC 버퍼 제어기(908)는 상기 섹션 헤더 분석기(906)가 추출한 페이로드를 MPE-FEC 버퍼(910)의 MPE-FEC 페이로드 버퍼(910a)에 저장하고 상기 입력된 RS 패킷에 대한 RS 디코더(202)의 RS 디코딩 결과인 이레이져 정보는 이레이저 정보 버퍼(210b)에 저장한다. RS 디코더(902)로부터 출력된 이레이져 정보는 1비트의 "0"또는 "1"로 표시되어 출력될 수 있다. 예컨대 204바이트의 RS 패킷에 대해 RS 디코더(902)의 디코딩 결과 디코딩이 성공했다면, RS 디코더(902)는"0"을 출력하고, 실패했다면 "1"을 TS 패킷 헤더 분석기(904)로 출력하게 된다. 그리고 TS 패킷 헤더 분석기(904)는 상기 RS 디코더(904)로부터 출력된 1비트의 이레이져 정보를 섹션 헤더 분석기(906)로 출력한다.
RS 디코더(902)로부터 출력된 1비트의 이레이져 정보는 TS 섹션 헤더 분석기(904)에 의해 구성된 섹션이 MPE-FEC 페이로드 버퍼(910a)에 184바이트 크기로 저장될 때, 상기 RS 디코더(902)로부터 출력된 1비트의 이레이져 정보가 184비트의 같은 값으로 복사되고, 1비트의 이레이져 정보와 동일한 값으로 복사된 184비트의 이레이져 정보는 이레이져 정보 버퍼(910b)에 저장되게 된다.
왜냐하면, 이레이져 정보 버퍼(910b)에는 MPE-FEC 페이로드 버퍼(910a)에 버퍼링된 섹션 크기에 대해 1바이트 당 1비트의 이레이져 정보를 표시하기 때문이다.
이와 같이 MPE-FEC 버퍼(910)에 RS 디코딩된 섹션의 페이로드와 이레이져 정보가 버퍼링되는 동작은 섹션 헤더 분석기(906)가 버스트의 마지막을 검출할 때까지 계속되게 된다. 상기 섹션 헤더 분석기(906)에 의해 버스트의 마지막이 검출되면, 이레이져 RS 디코더(912)는 MPE-FEC 페이로드 버퍼(910a)에 버퍼링된 모든 로우(row)의 페이로드에 대해 신뢰성 정보(erasure information) 버퍼(210b)에 버퍼링된 RS 디코더(902)의 디코딩 결과인 이레이져 정보를 사용하여 MPE-FEC 버퍼(910a)에 버퍼링된 모든 페이로드에 대해 로우(row) 방향으로 이레이져 RS 디코딩을 수행함으로써 다시 한번 오류를 정정하게 된다.
상기 이레이져 RS 디코더(912)가 MPE-FEC 페이로드 버퍼(910a)의 모든 로우(row)를 디코딩 한 후 디코딩 결과를 다시 MPE-FEC 버퍼(910)에 저장한다. 이때 이레이져 RS 디코더(912)가 MPE-FEC 페이로드 버퍼(910a)의 모든 로우에 대해 이레이져 RS 디코딩을 수행한 결과, 모든 로우에 대해 디코딩이 성공이라면, 디코딩된 IP 패킷을 도시되지 않은 상위 계층으로 전송한다.
반면, 하나의 로우에 대해서라도 이레이져 RS 디코더(912)의 디코딩 수행 결과, 디코딩 실패(Decoding fail)가 발생하면, RS 패킷 버퍼 제어기(914)는 이전에 RS 디코더(902)의 디코딩 결과, 디코딩 실패한 RS 패킷이 MPE-FEC 페이로드 버퍼(910a)에 버퍼링 되었을 위치(RS 디코딩 결과 디코딩 성공이었다면, MPE-FEC 버퍼(910)에 버퍼링되었을 위치)에 해당하는 데이터를 읽어 와서, 실패한 RS 패킷 버퍼(916a)에 버퍼링된 RS 패킷의 페이로드를 갱신시킨다. 이러한 과정으로 인해 처음 RS 디코더(902)의 디코딩 수행 때 실패했던 RS 패킷들을 이레이져 RS 디코더(912)의 디코딩 결과로 갱신함으로써, 이전에 RS 디코딩 결과 때에 비해 오류가 정정되게 된다.
즉, 처음 RS 디코딩 때에 비해 이레이져 RS 디코딩을 수행함으로 인하여 오류가 일부라도 정정되게 된다. 이렇게 일부라도 오류가 정정된 204바이트 크기의 RS 패킷들에 대해 다시 RS 디코더(902)가 디코딩을 수행하게 되고, RS 디코더(902)의 디코딩 수행 결과, 204바이트의 RS 패킷 중 페이로드 부분만 MPE-FEC 페이로드 버퍼(910a)에 다시 버퍼링되게 된다. 물론 이때, RS 패킷 버퍼 제어기(914)는 RS 디코더(902)의 RS 디코딩 결과, 오류가 발생한 RS 패킷이 MPE-FEC 페이로드 버퍼(910a)에 저장되었을 위치에 대한 주소도 다시 어드레스 버퍼(916b)에 저장하게 된다.
RS 패킷 제어기(914)는 RS 디코더(902)의 디코딩 결과 디코딩 실패한 RS 패킷의 페이로드가 MPE-FEC 버퍼에 저장되었을 주소를 어드레스 버퍼(916b)에 저장하고, 실패한 RS 패킷을 실패한 RS 패킷 버퍼(916a)에 저장한다. 그리고, 이레이져 RS 디코더(912)에 의해 오류가 정정된 데이터들을 MPE-FEC 버퍼(910)에서 읽어와 실패한 RS 패킷 버퍼(916)에 저장된 페이로드에 오버라이트 한다. 오버라이트가 완료되면, RS 디코더(902)로 하여금 반복 복호를 수행하게 지시하고, RS 디코더(902)는 실패한 RS 패킷 버퍼(916a)에 저장된 데이터를 컬럼 방향으로 RS 디코딩을 수행한다. RS 디코딩이 다시 한번 수행되어 오류가 정정되면, 오류가 정정된 패킷의 페이로드를 RS 패킷 버퍼 제어부(914)가 다시 MPE-FEC 버퍼(910)의 페이로드에 오버라이트한다. RS 패킷 버퍼 제어부(914)가 MPE-FEC 버퍼(910)에 RS 디코더(902)가 반복 복호한 데이터를 오버라이트 하면, 이레이져 RS 디코더(912)가 다시 이레이져 RS 디코딩을 수행하게 된다. 이때 이레이져 RS 디코더(912)의 디코딩 결과 오류가 완전히 정정되었다면 정정된 IP 패킷을 출력하고, 여전히 오류가 있다면 상술한 과정과 같은 반복 복호를 계속 수행하게 된다. 그리고 RS 디코더(902)가 실패한 RS 패킷 버퍼(916a)에 버퍼링된 데이터에 대해 다시 한번 RS 디코딩을 수행한 후에, RS 패킷 제어부(914)는 상기 다시 한번 RS 디코딩되어 오류가 정정된 데이터를 MPE-FEC 페이로드 버퍼(910a)에 버퍼링할 때, 오류 정정된 데이터에 대한 신뢰성 정보도 또한 이레이져 정보 버퍼(910b)에 이전 RS 디코딩 때에 저장되어있던 신뢰성 정보에 오버라이트 한다.
아울러, 이레이져 RS 디코더(912)에 의해 오류가 복구된 데이터가 있다면, 상기 이레이져 RS 디코더(912)에 의해 오류가 정정된 데이터를 실패한 RS 패킷 버퍼(916a)로부터 삭제한다.
또한 RS 패킷 버퍼 제어기(914)는 MPE-FEC 버퍼 제어기(908)가 MPE-FEC 버퍼(910)에 버퍼링을 완료했을 때, 이레이져 RS 디코더(912)와 RS 디코더(902)가 디코딩을 완료한 시점을 판단할 수도 있다.
상기와 같은 과정을 통해 RS 디코딩된 데이터가 이레이져 RS 디코딩에 의해 오류가 정정되고, 이레이져 RS 디코딩된 데이터에 다시 RS 디코딩을 수행함으로써, 좀더 높은 신뢰도를 갖는 데이터로 디코딩을 할 수 있게 된다. 이러한 데이터에 대해 이레이져 RS 디코딩을 한 번 더 수행함으로써 수신된 데이터에 대한 디코딩 성능을 끌어 올릴 수 있게 된다.
이렇게 RS 디코딩 -> 이레이져 RS 디코딩 -> RS 디코딩 -> 이레이져 RS 디코딩을 수행한 결과 또 오류가 있는 로우(row)가 있다면, 다시 똑 같은 방식으로 여러번 반복 복호를 하게 된다. 그러면, 오류가 정정된 데이터들이 로우(row)와 컬럼(cloumn)으로 파급 효과를 일으키게 됨으로 한번만 디코딩한 결과에 비해 여러 번 디코딩을 수행한 경우가 훨씬 더 좋은 성능을 얻게 된다.
상술한 RS 디코더(902)와 이레이져 RS 디코더(912)의 디코딩 방법은 후술할 도 11 내지 17을 참조하여 설명하기로 하겠다.
도 10은 본 발명의 제2 실시 예에 따른 MPE-FEC 디코딩부(900)의 동작 흐름도이다.
1000단계에서 MPE-FEC 디코딩부(900)는 204바이트 크기의 RS 패킷을 입력받고, 1002단계에서 RS 디코딩을 수행한다. 1004단계에서 입력된 RS 패킷에 대한 RS 디코딩 결과 오류가 없다면 MPE-FEC 디코딩부(900)는 1006단계로 진행하여 TS 패킷의 헤더를 분석하고, 분석된 TS 패킷의 헤더를 이용하여, 1008단계에서 섹션의 페이로드를 추출하고, 추출된 섹션의 페이로드와 헤더를 이용하여 섹션의 페이로드가 MPE-FEC 버퍼에 버퍼링될 주소를 계산한다. 반면, 상기 1004단계에서 디코딩 결과가 실패라면, MPE-FEC 디코딩부(900)는 1010단계로 진행하여 상기 1002단계에서 RS 디코딩 결과 실패한 RS 패킷(failed RS packet)을 버퍼링하고, 실패한 RS 패킷이 디코딩 성공했을 경우 버퍼링되었을 주소를 계산하여 저장한다.
그리고, 1012단계에서 MPE-FEC 디코딩부(900)는 버스트가 종료되었는지 검사하고, 버스트가 종료되지 않았다면, 1014단계에서 상기 디코딩된 TS 패킷의 섹션 페이로드를 버퍼링한다.
상기 1012단계의 검사결과 버스트가 종료되었다면, MPE-FEC 디코딩부(900)는 1016단계로 진행하여, 이레이져 RS 디코딩을 수행한다. 1016단계에서 이레이져 RS 디코딩을 수행한 MPE-FEC 디코딩부(900)는 1018단계에서 이레이져 RS 디코딩 결과를 검사한다. 상기 1018단계에서 이레이져 RS 디코딩 검사결과 한 개의 로우(row)에서라도 이레이져 RS 디코딩이 실패했다면, MPE-FEC 디코딩부(900)는 1020단계로 진행하여 이레이져 RS 디코딩 이전에 수행되었던 RS 디코딩 때 디코딩 실패했던 RS 패킷들의 섹션 데이터를 이레이져 RS 디코딩 결과 발생한 데이터들로 오버라이트하여 RS 패킷을 재조합한다.
상기 1020단계에서 이레이져 RS 디코딩 결과가 반영된 재조합된 RS 패킷에 대해 MPE-FEC 디코딩부(900)는 1022단계에서 다시 RS 디코딩을 수행하고, 상기 1022단계에서 RS 디코딩 결과 디코딩이 성공했다면, 1026단계에서 디코딩이 성공하여 오류가 정정된 섹션 페이로드를 MPE-FEC 버퍼(910)에 다시 저장한 뒤, 다시 1016단계로 회귀함으로써, 이레이져 RS 디코딩을 다시한번 수행하게 된다. 반면, 상기 1024단계의 검사결과 RS 디코딩 결과 또 오류가 존재하여 디코딩이 실패했다면, 오류가 복구되지 못했으므로, MPE-FEC 버퍼(910)에 RS 디코딩한 섹션의 페이로드를 저장하지 않고, 오류를 다시 정정하기 위해 1016단계로 진행한다. 그리고 상기 1018단계에서 이레이져 RS 디코딩 결과, 이레이져 RS 디코딩이 성공했다면, MPE-FEC 디코딩부(900)는 1028단계로 진행하여 MPE-FEC 디코딩을 완료한다.
상기 도 10은 순차적으로 입력되는 TS 패킷 스트림에 따라 동작이 진행되며, 각 하나 하나의 TS 패킷에 대해 적용되는 순서도이다.
도 11은 본 발명의 제2 실시 예에 따라 MPE-FEC 버퍼(910)에 섹션 페이로드가 TS 패킷 단위로 버퍼링되는 것을 도시한 도면이다.
RS 디코더(902)는 입력되는 204바이트 크기의 RS 패킷에 대해 디코딩을 수행하고, 디코딩 결과가 성공일 경우에는 도 11에 도시된 바와 같이 204바이트에서 헤더(4바이트)와 패리티 정보(16바이트)를 제외한 페이로드 정보만이 MPE-FEC 버퍼(910)에 저장되게 된다. RS 디코딩 결과에 따라 MPE-FEC 버퍼(910)에는 수신된 RS 패킷의 페이로드에 대한 신뢰성 정보를 신뢰성 있음(reliable) 또는 신뢰성 없음(erasure)으로 표시되게 된다.
즉, TS 패킷은 RS 패킷의 디코딩 결과에 따라서 188바이트가 모두 신뢰성있음(reliable) 또흔 신뢰성 없음(Erasure) 처리가 되어야 하는지를 판단하게 되며, 그에 따라서 MPE-FEC 버퍼(910)에서 TS 패킷에 해당하는 위치의 버퍼에 신뢰성 있음(reliable)/신뢰성 없음(이레이져)(erasure) 상태를 표시해둔다. 도 11에서 오른쪽 3개의 블록(1100)은 RS 패킷을 의미하며, 각 RS 패킷을 구성하는 4바이트의 TS 헤더(H), 184바이트의 섹션 페이로드(reliable 또는 erasure), 16바이트의 F(parity bits)를 보여주고 있다. 도 11에서 MPE-FEC 버퍼(910)내에 버퍼링된 섹션 페이로드에 대해서는 신뢰성 정보가 마킹된 상태이며, 본 발명의 제2 실시 예에서는 "신뢰성 없음(erasure)"으로 표시된 부분에 대해서는 상술한 바와 같이 실패한 RS 패킷 버퍼(916a)에 페이로드와 헤더 및 패리티를 포함한 204바이트의 크기로 저장된다. 또한 도 9 및 도 10에서 설명한 바와 같이 RS 디코딩 결과 신뢰성 없음(erasure)으로 표시된 페이로드가 MPE-FEC 버퍼(910)내에 위치하는 주소도 어드레스 버퍼(916b)에 저장된다. 도 11에서 참조번호 1102는 RS 디코딩 결과 실패한 RS 패킷의 페이로드가 RS 디코딩이 성공했을 경우에 버퍼링되었을 MPE-FEC 버퍼(910)내의 위치를 가리키는 것을 보여주고 있다.
아울러 도 11에서 참조번호 1104로 표시된 사각형은 하나의 복호된 섹션 페이로드를 보여주며,"신뢰성 있음(reliable)"과 "신뢰성 없음(erasure)"의 표시는 RS 패킷에 대한 RS 디코딩이 성공(Success)했는지 또는 실패(Fail)했는지의 결과 값을 갖고 MPE-FEC 버퍼(910)에 버퍼링된 데이터의 신뢰도를 표시한 것이다.
그리고, RS 디코더(902)에 의해 디코딩 된 후, 상기 MPE-FEC 버퍼(910)에 버퍼링된 섹션의 페이로드에 대해 이레이져 RS 디코더(912)는 상기 이레이져 정보를 사용하여 MPE-FEC 버퍼(910)에 버퍼링된 섹션 페이로드에 대해 로우(row) 방향으로 디코딩을 수행함으로써 오류를 정정하게 된다.
도 12는 본 발명의 제2 실시 예에 따라 RS 디코더(902)의 디코딩 결과 오류가 발생한 RS 패킷들을 204바이트 단위로 실패한 RS 패킷 버퍼(failed RS packet buffer)(916a)에 버퍼링하는 과정을 도시한 도면이다.
도 12에서 참조번호 1100은 상기 도 11에서와 설명한 바와 같이 RS 디코더(902)의 디코딩 결과 오류가 발생한 RS 패킷들이며, 본 발명의 제2 실시 예에 따라 각각의 RS 패킷들이 실패한 RS 패킷 버퍼(916a)에 각각 버퍼링된 것을 보여주고 있다. 또한, 도 11에서 참조번호 1102와 같이 오류가 발생한 RS 패킷(1100)이 디코딩이 성공했을 경우 페이로드가 MPE-FEC 버퍼(910)에 버퍼링되었을 주소 정보는 어드레스 버퍼(916b)에 저장된다. 아울러 상기 도 12에서 어드레스 버퍼(916b)의 "어드레스(addr) 18bit"는 페이로드가 MPE-FEC 버퍼(910)에 버퍼링될 위치를 나타내는 주소가 18비트로 이루어졌음을 의미한다.
도 13은 본 발명의 제2 실시 예에 따라 모든 섹션 데이터가 수신되어 버스트가 종료되었을 때 로우(row) 단위로 (255, 191) 이레이져 RS 디코더(912)가 이레이져 RS 디코딩을 수행하는 과정을 도시한 도면이다.
디지털 방송 수신기에서 수신한 TS 패킷들은 MPE-FEC 버퍼(910)에 세로 축256, 512 또는 1024 바이트 크기, 가로축 255 바이트 크기의 하나의 버스트 단위(1300)로 버퍼링된다. 이때, MPE-FEC 버퍼(910)에 버퍼링되는 순서는 MPE-FEC 버퍼(910)의 왼쪽 상단에서부터 하단으로 버퍼링되며, 하나의 컬럼(column)이 버퍼링되면, 그 다음 컬럼에 버퍼링된다. 이러한 방식으로 각 컬럼들을 모두 버퍼링하면, 이레이져 RS 디코딩이 수행된다. 이레이져 RS 디코딩은 잘알져진 바와 같이 MPE-FEC 버퍼(910)에 버퍼링되어 있는 로우(row)단위로 읽어 디코딩을 수행하는 것이다. 도 13에서 191로 표시된 부분은 방송에 필요한 정보가 되며, 64로 표시된 부분은 송신기에서 RS 부호화(encoding)시 생성된 패리티 정보가 된다. 상기 정보들은 가로축으로 데이터를 읽어들여 (255, 191) 신뢰성 정보를 이용하여 복호를 수행한다. 즉, 상기 도 13에서 "reliable"로 표시된 TS 패킷들은 오류 검출 플래그가 "0"으로 설정된 오류가 없는 패킷이며, "erasure"로 표시된 TS 패킷은 오류 검출 플래그가 "1"로 설정된 오류가 발생한 패킷이다. 따라서 상기 정보들을 이용하여 "erasure"로 표기된 부분의 정보들의 오류들을 어느 정도는 정정할 수 있다.
도 13의 참조번호 1302는 이레이져 RS 디코더(912)가 MPE-FEC 버퍼(910)에 버퍼링된 데이터들에 대해 각 로우(row)별로 신뢰성 정보를 사용하여 디코딩을 수행하는 것을 보여주고 있다.
도 13에서 참조번호 1310, 1312, 1314, 1316은 RS 디코더(902)의 디코딩 후 MPE-FEC 버퍼(910)에 버퍼링된 데이터들 중"신뢰성 없음(Erasure)"로 마킹된 데이터임을 의미하고, 상기 MPE-FEC 버퍼(910)에 버퍼링된 데이터들에 대해 참조번호 1302와 같이 로우(row)별로 디코딩을 수행하게 된다. 아울러 도 13에서 설명의 편의를 위해 각 페이로드는 3개의 로우(row)로 구성된다고 가정하기로 한다.
상기 참조번호 1302와 같이 이레이져 RS 디코딩을 수행한 후에, 참조번호 1304a와 1304b는 해당 로우(row)에 대한 이레이져 RS 디코딩 결과 성공했음을 보여주며, 참조번호 1306a와 1306b는 해당 로우(row)에 대한 이레이져 RS 디코딩 결과 실패했음을 보여준다.
도 14는 본 발명의 제2 실시 예에 따라 도 13에 도시된 바와 같은 이레이져 RS 디코더(912)가 MPE-FEC 버퍼(910)의 모든 로우(row)에 대해 디코딩을 수행한 이후에 실패한 RS 패킷 버퍼(916a)에 순차적으로 버퍼링 되어있던 RS 패킷 데이터의 섹션 페이로드 부분을 MPE-FEC 버퍼(910)로부터 읽어 들여서 업데이트하는 과정을 도시한 도면이다.
도 14에서 참조번호 1410, 1412, 1414, 1416인 페이로드는 도 13에서 "신뢰성 없음(Erasure)"으로 마킹되었던 1310, 1312, 1314, 1316이 이레이져 RS 디코딩에 의해 오류가 수정된 것을 보여준다. 참조번호 1410, 1412, 1414, 1416의 페이로드들의 각 로우(row)마다 표시된 "C"는 오류가 정정되었음(Correction)을, "e"는 오류(error)가 존재함을 나타낸다.
그중 참조번호 1410인 페이로드는 도 13의 이레이져 RS 디코딩 결과 오류가 완전히 정정된 페이로드를 의미하고, 참조번호 1412, 1414, 1416인 페이로드는 도 13의 참조번호 1306a, 1306b와 같이 이레이져 RS 디코딩에도 불구하고, 일부만 오류가 정정되고, 한 개의 로우(row)에서 오류가 발생했음을 보여주고 있다.
따라서, 이렇게 오류가 정정된 데이터들을 다시 실패한 RS 패킷 버퍼(916a)의 페이로드 부분에 오버라이트(overwrite) 하기 위해 참조번호 1402, 1404, 1406과 같이 188바이트의 페이로드에 헤더(H)와 패리티(F)를 부가하여 204바이트의 RS 패킷을 재생성(reconstruction)하고, 참조번호 1420과 같이 재생성된 RS 패킷을 실패한 RS 패킷 버퍼(916a)에 오버라이트 함으로써 RS 디코더(902)에 의해 최초 디코딩 되었을 시 발생했던 실패한 RS 패킷의 오류들을 줄이는 효과를 가져오게 된다.
이러한 과정을 통해 실패한 RS 패킷들에 대해 다시 RS 디코더(902)가 RS 디코딩을 수행함으로써, 처음에 수신되었던 204바이트의 RS 패킷에 대한 RS 디코딩 시보다 디코딩 성공 확률을 높여주게 된다. 이러한 과정으로 인해 실제로 많은 RS 패킷들에 대해 디코딩을 성공하는 효과를 가져오게 된다.
도 15는 본 발명의 제2 실시 예에 따라 도 14에서 재생성된 RS 패킷들에 대해 RS 디코더(902)가 다시 RS 디코딩을 수행하는 과정을 도시한 도면이다. 도 15에서는 참조번호 1402, 1404, 1406인 204바이트 크기의 섹션 데이터에 대해 세로 방향(컬럼)으로 RS 디코딩을 수행하고, RS 디코딩 수행 결과, 디코딩이 성공하여 참조번호 1502, 1504, 1506과 같이 오류가 발생했던 페이로드가 오류가 복구되어 해당 페이로드에 대한 신뢰성 정보가 "신뢰성 있음(Reliable)"을 표기된 것을 보여준다.
본 발명의 제2 실시 예에서는 도 15에 도시된 바와 같이 RS 디코딩 결과, RS 디코딩이 성공했다면, RS 패킷 버퍼 제어기(914)는 어드레스 버퍼(916b)에 저장된 페이로드가 저장될 MPE-FEC 버퍼(910)의 주소를 사용하여, 해당 MPE-FEC 버퍼(910a)의 위치에 상기 디코딩 성공한 데이터들로 오버라이트 하게 된다. 이러한 과정이 도 16에 나타나 있다.
도 16은 본 발명의 제2 실시 예에 따라 도 15에 도시된 바와 같이 RS 디코딩 결과, RS 디코딩이 성공했다면, RS 패킷 버퍼 제어기(914)가 어드레스 버퍼(916b)에 저장된 페이로드가 저장될 MPE-FEC 버퍼(910)의 주소를 사용하여, 해당 MPE-FEC 버퍼(910a)의 위치에 상기 디코딩 성공한 데이터들로 오버라이트 하게 되는 과정을 도시한 도면이다. 도 16에서는 참조번호 1600과 같이 실패한 RS 패킷 버퍼(916a)에 오버라이트된 섹션 데이터의 페이로드를 다시 MPE-FEC 버퍼(910)에 오버라이트하는 것을 보여준다. 이러한 과정을 통해 업데이트된 섹션 페이로드는 로우(row)방향으로 이레이져 RS 디코더(912)가 이레이져 RS 디코딩을 수행하는데 긍정적인 효과를 주게 된다. "신뢰성 없음(erasure)"에서 "신뢰성 있음(reliable)"으로 업데이트된 데이터들이 이레이져 RS 디코딩의 성공 확률을 높여주게 된다. 그러므로 도 17에서와 같이 다시 이레이져 RS 디코딩을 수행하게 되면, 처음 이레이져 RS 디코딩을 수행했을 때는 디코딩이 실패(fail)했으나, 다시 반복 복호를 수행함으로써 디코딩 성공(success)한 로우(row)의 개수가 증가하게 된다.
도 17은 본 발명의 제2 실시 예에 따라 이레이져 RS 디코더(912)가 반복 복호를 수행하여 1번째 디코딩 수행 시 오류가 발생했던 로우(row)에 대해 오류를 성공적으로 정정하는 과정을 보여주는 도면이다. 도 17에서 참조번호 1700 방향으로 이레이져 RS 디코더(912)가 다시 한번 이레이져 RS 디코딩을 수행함으로써 디코딩 성공률이 높아지게 된다.
상술한 본 발명의 제2 실시 예에서는 RS 디코더(902)와 이레이져 RS 디코더(912) 이렇게 두 개의 디코더가 컬럼(column)과 로우(row)의 형태로 2차원 디코딩을 수행하게 되어 있다. 컬럼(column) 방향으로 오류 정정이 이루어지면, 로우(row)방향으로 긍정적인 파급 효과를 미치게 된다. 신뢰성 있는 데이터가 다른 방향으로 파급되면서 다른 방향의 오류 정정 능력을 끌어올리게 되고, 이러한 과정이 반복되면 더 많은 성능 향상을 기대할 수 있게 된다.
한편, 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해서 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도내에서 여러 가지 변형이 가능함을 당해 분야에서 통상의 지식을 가진 자에게 있어서 자명하다 할 것이다.
상술한 바와 같이 본 발명에 따르면 TS 패킷을 수신하는 디지털 방송 수신기에서 여러 번 반복 디코딩을 할 수 있게 됨으로써, 모바일 환경에서 보다 향상된 방송 서비스를 제공할 수 있다.
Claims (14)
- 디지털 방송 수신기에서 데이터 디코딩 방법에 있어서,입력된 RS(Reed - Solomon) 패킷을 RS 디코딩하는 제1 과정과,상기 제1 과정에서 디코딩 성공한 데이터들을 다중 프로토콜 캡슐화-순방향 오류 정정(Muti-Protocol Encapsulation - Forward Error Correction : MPE-FEC) 버퍼에 버퍼링하는 제2 과정과,상기 제1 과정에서 디코딩 실패한 데이터들을 RS 패킷 버퍼에 버퍼링하는 제3 과정과,상기 MPE-FEC 버퍼에 버퍼링된 데이터들을 상기 버퍼링된 데이터들의 신뢰성 정보를 사용하여 이레이져 RS 디코딩을 수행하는 제4 과정과,상기 RS 패킷 버퍼에 버퍼링된 데이터들에 상기 제4과정에서의 이레이져 디코딩 결과 디코딩 실패한 데이터들을 오버라이팅하는 제5 과정과,상기 제5 과정에서 오버라이트된 데이터에 대해 RS 디코딩을 수행하는 제6 과정과,상기 제6 과정에서 RS 디코딩 성공한 데이터를 상기 MPE-FEC 버퍼에 오버라이트하는 제 7과정과,상기 제7 과정 이후, 상기 MPE-FEC 버퍼에 버퍼링된 데이터들에 대해 이레이져 RS 디코딩을 수행하는 제8 과정을 포함함을 특징으로 하는 디지털 방송 수신기에서 데이터 디코딩 방법.
- 제1 항에 있어서,상기 제2 과정은, 상기 제1 과정 결과 입력된 RS 패킷에 대한 신뢰성 정보를 상기 MPE-FEC 버퍼에 버퍼링하는 과정을 더 포함함을 특징으로 하는 디지털 방송 수신기에서 데이터 디코딩 방법.
- 제1 항에 있어서,상기 제3 과정은,상기 제1 과정 결과 디코딩 실패한 데이터들이 디코딩 성공했을 때 상기 MPE-FEC 버퍼에 버퍼링되었을 위치를 나타내는 주소들을 저장하는 과정을 더 포함함을 특징으로 하는 디지털 방송 수신기에서 데이터 디코딩 방법.
- 제1 항에 있어서,상기 제5 과정은,상기 제3 과정에서 상기 RS 패킷 버퍼에 저장된 데이터들 중 상기 제4과정에서 수행된 이레이져 RS 디코딩 결과 오류가 복구된 데이터가 있다면, 상기 오류가 복구된 데이터는 상기 RS 패킷 버퍼에서 삭제하는 과정을 더 포함함을 특징으로 하는 디지털 방송 수신기에서 데이터 디코딩 방법.
- 제1 항에 있어서,상기 제7 과정은,상기 RS 디코딩된 데이터를 상기 제1 과정의 디코딩 결과 때 성공되었을 경우 상기 MPE-FEC 버퍼에 저장되었을 위치에 오버라이트 하는 과정을 포함하는 디지털 방송 수신기에서 데이터 디코딩 방법.
- 제1 항에 있어서,상기 제6 과정은,상기 제5 과정에서 상기 RS 패킷 버퍼에 오버라이트된 데이터에 대해 컬럼(column)방향으로 RS 디코딩을 수행하는 과정을 포함함을 특징으로 하는 디지털 방송 수신기에서 데이터 디코딩 방법.
- 제1 항에 있어서,상기 제4 과정은,상기 MPE-FEC 버퍼에 버퍼링된 데이터들을 상기 신뢰성 정보를 사용하여 상기 MPE-FEC 버퍼의 로우(row) 방향으로 이레이져 RS 디코딩하는 과정을 포함함을 특징으로 하는 디지털 방송 수신기에서 데이터 디코딩 방법.
- 제1 항에 있어서,상기 제8 과정은,상기 MPE-FEC 버퍼에 버퍼링된 데이터들을 상기 신뢰성 정보를 사용하여 상기 MPE-FEC 버퍼의 로우(row) 방향으로 이레이져 RS 디코딩하는 과정을 포함함을 특징으로 하는 디지털 방송 수신기에서 데이터 디코딩 방법.
- 디지털 방송 수신기에서 데이터 디코딩 장치에 있어서,입력된 RS(Reed-Solomon) 패킷 혹은 이전 디코딩에 실패한 데이터를 입력받아 디코딩하는 RS 디코더와,상기 RS 디코더의 디코딩 결과 디코딩 성공한 데이터를 저장하는 제1 버퍼와,상기 RS 디코더의 디코딩 결과 디코딩 실패한 패킷들을 저장하는 제2 버퍼와,상기 RS 디코딩 수행 후, 상기 제1 버퍼에 버퍼링된 상기 데이터들에 대해 이레이져 RS 디코딩을 수행하여, 상기 제1 버퍼에 저장된 데이터들의 오류를 정정하는 이레이져 RS 디코더와,상기 이레이져 RS 디코더의 디코딩 수행 후, 상기 제1 버퍼에 버퍼링된 데이터들 중 상기 제2 버퍼에 저장된 디코딩이 실패한 패킷들이 상기 제1 버퍼에 버퍼 링될 주소로 접근하여 해당 주소에 저장된 이레이져 RS 디코딩 후의 데이터들을 상기 제2 버퍼에 오버라이트 하고, 상기 제2 버퍼에 저장된 디코딩 실패한 데이터를 상기 RS 디코더로 제공하는 제2 버퍼 제어부를 포함하는 디지털 방송 수신기에서 데이터 디코딩 장치.
- 제9 항에 있어서,상기 제1 버퍼는 상기 RS 디코딩 결과 발생한 상기 RS 패킷의 신뢰성 정보를 저장함을 특징으로 하는 디지털 방송 수신기에서 데이터 디코딩 장치.
- 제9 항에 있어서,상기 제2 버퍼는,상기 디코딩 실패한 패킷들이 상기 제1 버퍼에 저장될 위치를 나타내는 주소를 저장함을 특징으로 하는 디지털 방송 수신기에서 데이터 디코딩 장치.
- 제10 항에 있어서,상기 이레이져 RS 디코더는 상기 제1 버퍼에 저장된 신로성 정보를 사용하여 상기 제1 버퍼에 저장된 데이터들에 대해 이레이져 RS 디코딩을 수행함을 특징으로 하는 디지털 방송 수신기에서 데이터 디코딩 장치.
- 제9 항에 있어서,상기 RS 디코더는 상기 제2 버퍼에 오버라이트된 패킷들을 상기 제2 버퍼의 컬럼(column) 방향으로 RS 디코딩을 수행함을 특징으로 하는 디지털 방송 수신기에서 데이터 디코딩 장치.
- 제9 항에 있어서,상기 이레이져 RS 디코더는 상기 제1 버퍼에 저장된 데이터들을 상기 제1 버퍼의 로우(row) 방향으로 이레이져 RS 디코딩을 수행함을 특징으로 하는 디지털 방송 수신기에서 데이터 디코딩 장치.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070025453A KR20080084148A (ko) | 2007-03-15 | 2007-03-15 | 디지털 방송 시스템의 수신기에서 데이터 디코딩 방법 및장치 |
US12/048,765 US20080225958A1 (en) | 2007-03-15 | 2008-03-14 | Method and apparatus for decoding data in receiver of a digital broadcasting system |
EP08004981A EP1981201A3 (en) | 2007-03-15 | 2008-03-17 | Method and apparatus for decoding data in receiver of a digital broadcasting system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070025453A KR20080084148A (ko) | 2007-03-15 | 2007-03-15 | 디지털 방송 시스템의 수신기에서 데이터 디코딩 방법 및장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20080084148A true KR20080084148A (ko) | 2008-09-19 |
Family
ID=39722499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070025453A KR20080084148A (ko) | 2007-03-15 | 2007-03-15 | 디지털 방송 시스템의 수신기에서 데이터 디코딩 방법 및장치 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20080225958A1 (ko) |
EP (1) | EP1981201A3 (ko) |
KR (1) | KR20080084148A (ko) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101466270B1 (ko) * | 2008-09-19 | 2014-11-28 | 삼성전자주식회사 | 비휘발성 메모리 시스템 및 그것의 데이터 처리 방법 |
FR2936923B1 (fr) * | 2008-10-02 | 2011-04-08 | Sagem Comm | Procede de gestion de la reception d'une commande de changement de services dans un decodeur de television numerique |
US8059687B2 (en) | 2008-12-16 | 2011-11-15 | Intel Corporation | Algorithm for managing data loss in software demodulators |
EP2538565A4 (en) * | 2010-02-19 | 2017-08-02 | Furukawa Electric Co., Ltd. | Pulse receiver and burst signal receiving method |
CN105765970B (zh) * | 2013-08-19 | 2019-06-04 | Lg电子株式会社 | 发送广播信号的设备和方法、接收广播信号的设备和方法 |
US9325449B2 (en) | 2013-12-06 | 2016-04-26 | Intel Corporation | Lane error detection and lane removal mechanism to reduce the probability of data corruption |
US9397792B2 (en) | 2013-12-06 | 2016-07-19 | Intel Corporation | Efficient link layer retry protocol utilizing implicit acknowledgements |
US9628382B2 (en) | 2014-02-05 | 2017-04-18 | Intel Corporation | Reliable transport of ethernet packet data with wire-speed and packet data rate match |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1533930A1 (en) * | 2003-11-21 | 2005-05-25 | Matsushita Electric Industrial Co., Ltd. | Additional error protection for MPE section headers and TS packet headers |
GB2415873A (en) * | 2004-06-30 | 2006-01-04 | Nokia Corp | Erasure information generation in Forward Error Correction decoding |
CN101107783A (zh) * | 2005-01-18 | 2008-01-16 | 皇家飞利浦电子股份有限公司 | 使用crc和在前解码器信息的软清除信息升级与降级 |
WO2006125157A2 (en) * | 2005-05-18 | 2006-11-23 | Telegent Systems, Inc. | Erasure generation in a forward-error-correcting communication system |
US7610544B2 (en) * | 2005-05-18 | 2009-10-27 | Telegent Systems, Inc. | Erasure generation in a forward-error-correcting communication system |
US7823048B2 (en) * | 2005-05-31 | 2010-10-26 | Nokia Corporation | Buffering of data from a data stream having error correction elements |
KR100735276B1 (ko) * | 2005-08-18 | 2007-07-03 | 삼성전자주식회사 | 디지털 비디오 방송 시스템에서 다중 프로토콜 캡슐화순방향 오류 정정 프레임의 복호 방법 및 장치 |
-
2007
- 2007-03-15 KR KR1020070025453A patent/KR20080084148A/ko not_active Application Discontinuation
-
2008
- 2008-03-14 US US12/048,765 patent/US20080225958A1/en not_active Abandoned
- 2008-03-17 EP EP08004981A patent/EP1981201A3/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
EP1981201A2 (en) | 2008-10-15 |
US20080225958A1 (en) | 2008-09-18 |
EP1981201A3 (en) | 2010-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100735276B1 (ko) | 디지털 비디오 방송 시스템에서 다중 프로토콜 캡슐화순방향 오류 정정 프레임의 복호 방법 및 장치 | |
CN101142778B (zh) | 改进的ip数据报解封装 | |
KR100724891B1 (ko) | 디지털 비디오 방송 시스템에서 섹션 검출 및 신뢰성 정보획득을 위한 다중 순환잉여검증 장치 및 방법 | |
KR20080084148A (ko) | 디지털 방송 시스템의 수신기에서 데이터 디코딩 방법 및장치 | |
EP2188984A1 (en) | Ts packet grooming | |
WO2007047199A2 (en) | Error detection and correction in data transmission packets | |
US8929444B2 (en) | Data communication unit, data communication network and method of decoding | |
US8095856B2 (en) | Method and apparatus for mitigating memory requirements of erasure decoding processing | |
WO2007013026A2 (en) | Apparatus and method for ip datagram and rs-parity encapsulation and de-encapsulation | |
US7877663B2 (en) | Forward error correction decoders | |
JP4814809B2 (ja) | データ送信装置及びそのプログラム | |
KR101304092B1 (ko) | 디지털 방송 시스템의 수신기에서 수신 데이터의 버퍼링 및복호 방법 및 장치 | |
KR20070025851A (ko) | 디브이비-에이치 수신기에서 리드-솔로몬 복호를 위한프레임 경계 검출 방법 및 장치와 이를 이용한 멀티프로토콜 캡슐화-순방향 에러 정정 복호 방법 | |
KR20070081907A (ko) | 디지털 비디오 방송 시스템에서 다중 프로토콜 캡슐화순방향 오류 정정 프레임의 복호 방법 및 장치 | |
US20080298468A1 (en) | Error tagging for decoder | |
JP4839386B2 (ja) | データ受信装置及びそのプログラム | |
EP2194668A2 (en) | Apparatus and method for generating frame for mpe-fec decoding | |
KR101288762B1 (ko) | 디지털 오디오 방송 수신기에서의 오류 정정 장치 및 방법 | |
KR101172888B1 (ko) | Mpe-fec 디코딩을 위한 프레임 생성장치 및 그 방법 | |
KR20080008849A (ko) | 디지털 비디오 방송 시스템에서 방송 데이터 수신 장치 및방법 | |
US20090102976A1 (en) | Method For Data Transfer And Data Recovery |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |