KR20070081907A - 디지털 비디오 방송 시스템에서 다중 프로토콜 캡슐화순방향 오류 정정 프레임의 복호 방법 및 장치 - Google Patents

디지털 비디오 방송 시스템에서 다중 프로토콜 캡슐화순방향 오류 정정 프레임의 복호 방법 및 장치 Download PDF

Info

Publication number
KR20070081907A
KR20070081907A KR1020060014179A KR20060014179A KR20070081907A KR 20070081907 A KR20070081907 A KR 20070081907A KR 1020060014179 A KR1020060014179 A KR 1020060014179A KR 20060014179 A KR20060014179 A KR 20060014179A KR 20070081907 A KR20070081907 A KR 20070081907A
Authority
KR
South Korea
Prior art keywords
buffer
mpe
frame
section
decoding
Prior art date
Application number
KR1020060014179A
Other languages
English (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 KR1020060014179A priority Critical patent/KR20070081907A/ko
Publication of KR20070081907A publication Critical patent/KR20070081907A/ko

Links

Images

Classifications

    • CCHEMISTRY; METALLURGY
    • C23COATING METALLIC MATERIAL; COATING MATERIAL WITH METALLIC MATERIAL; CHEMICAL SURFACE TREATMENT; DIFFUSION TREATMENT OF METALLIC MATERIAL; COATING BY VACUUM EVAPORATION, BY SPUTTERING, BY ION IMPLANTATION OR BY CHEMICAL VAPOUR DEPOSITION, IN GENERAL; INHIBITING CORROSION OF METALLIC MATERIAL OR INCRUSTATION IN GENERAL
    • C23CCOATING METALLIC MATERIAL; COATING MATERIAL WITH METALLIC MATERIAL; SURFACE TREATMENT OF METALLIC MATERIAL BY DIFFUSION INTO THE SURFACE, BY CHEMICAL CONVERSION OR SUBSTITUTION; COATING BY VACUUM EVAPORATION, BY SPUTTERING, BY ION IMPLANTATION OR BY CHEMICAL VAPOUR DEPOSITION, IN GENERAL
    • C23C16/00Chemical coating by decomposition of gaseous compounds, without leaving reaction products of surface material in the coating, i.e. chemical vapour deposition [CVD] processes
    • C23C16/44Chemical coating by decomposition of gaseous compounds, without leaving reaction products of surface material in the coating, i.e. chemical vapour deposition [CVD] processes characterised by the method of coating
    • C23C16/4401Means for minimising impurities, e.g. dust, moisture or residual gas, in the reaction chamber
    • C23C16/4405Cleaning of reactor or parts inside the reactor by using reactive gases
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01JELECTRIC DISCHARGE TUBES OR DISCHARGE LAMPS
    • H01J37/00Discharge tubes with provision for introducing objects or material to be exposed to the discharge, e.g. for the purpose of examination or processing thereof
    • H01J37/32Gas-filled discharge tubes
    • H01J37/32431Constructional details of the reactor
    • H01J37/32798Further details of plasma apparatus not provided for in groups H01J37/3244 - H01J37/32788; special provisions for cleaning or maintenance of the apparatus
    • H01J37/32853Hygiene
    • H01J37/32862In situ cleaning of vessels and/or internal parts

Abstract

본 발명은 DVB-H 시스템에서 MPE-FEC 프레임을 복호화하기 위한 복호 방법 및 장치에 대한 것으로서, 본 발명에서는 무선 망으로부터 버스트 구간동안 수신된 전송 스트림으로부터 방송 서비스 정보와 방송 스트림을 검출하고, 상기 검출된 방송 스트림을 프레임 버퍼링하고, 상기 버스트 구간의 시작 신호를 수신한 후 섹션이 입력될 때 까지 이레이져 버퍼를 초기화하고, 상기 섹션 데이터의 헤더 정보를 근거로 마지막 MPE-FEC 섹션이 수신되었는지 검사하고, 상기 마지막 MPE-FEC 섹션이 수신되거나 상기 버스트 구간이 종료되면 상기 섹션 시작 전에 초기화하지 못한 나머지 이레이져 버퍼를 아이들 시간에 초기화하고, 상기 이레이져 버퍼의 모든 영역을 초기화한 후 패딩 컬럼 처리를 수행하고, 프레임 버퍼에 저장된 IP 데이터그램들 중 리드-솔로몬 복호를 수행할 행을 검색하고, 상기 리드-솔로몬 복호결과를 근거로 상기 프레임 버퍼에 저장된 데이터들 중 오류가 있는 데이터를 정정한다.
DVB-H, 방송, MPE, MPE-FEC, IP, 섹션, RS 복호

Description

디지털 비디오 방송 시스템에서 다중 프로토콜 캡슐화 순방향 오류 정정 프레임의 복호 방법 및 장치{METHOD AND APPARATUS FOR DECODING A MPE-FEC FRAME IN A DVB-H SYSTEM}
도 1은 일반적인 DVB-H 시스템에서 TS 패킷의 데이터 구조를 도시한 도면,
도 2는 일반적인 DVB-H 시스템에서 송신기의 내부 구성을 도시한 블록 구성도,
도 3은 본 발명이 적용되는 DVB-H 시스템에서 수신기의 내부 구성을 도시한 블록 구성도,
도 4는 상기 도 3에 따른 MPE-FEC 프레임의 복호 방법을 개념적으로 도시한 순서도,
도 5는 본 발명의 제1 실시 예에 따른 도 3의 MPE-FEC 프레임 복호 장치의 내부 구성을 도시한 블록 구성도,
도 6은 본 발명의 제1 실시 예에 따른 DVB-H 수신기에서 MPE-FEC 프레임의 복호 방법을 상세히 도시한 순서도,
도 7은 본 발명의 제2 실시 예에 따른 MPE-FEC 복호화기의 구성도,
도 8은 본 발명의 제2 실시 예에 따른 MPE-FEC 복호화기의 MPE PID 및 MPE 섹션 검출기의 동작 흐름도,
도 9는 본 발명의 제2 실시 예에 따른 MPE-FEC 복호화기에서 프레임/이레이져 버퍼 및 RS 복호기 제어기의 동작 흐름도,
도 10은 본 발명의 제2 실시 예에 따라 프레임/이레이져 버퍼 및 RS 복호기 제어기에 구비된 행(Row) 검색기의 구조를 도시한 도면,
도 11은 본 발명의 제2 실시 예에 따른 중간 버퍼를 도시한 도면.
본 발명은 휴대 디지털 비디오 방송(Digtal Video Broadcasting-Handheld : DVB-H) 시스템에서 데이터를 수신하는 방법 및 장치에 대한 것으로서, 특히 DVB-H 시스템에서 다중 프로토콜 캡슐화-순방향 오류 정정(Multiprotocol Encapsulation-Forward Error Correction : MPE-FEC) 프레임을 복호화하기 위한 복호 방법 및 장치에 대한 것이다.
근래 음성(audio), 영상(video) 등의 데이터 압축기술과 통신 기술의 발달에 힘입어 고품질의 음성 및 영상 서비스를 고정 또는 이동 단말을 통해 어디서나 제공할 수 있는 디지털 방송이 실현되고 있다. 통상적으로 디지털 방송이라 함은 종래의 아날로그 방송을 대체하여 고화질과 CD 수준의 고음질 서비스를 사용자에게 제공하는 방송 서비스를 말한다. 이러한 디지털 방송은 지상파 방송과 위성 방송 이렇게 두 가지 형태로 발전하였다. 여기서 지상파 방송이라 함은 지상의 중계기를 통해 방송을 수신할 수 있는 서비스를 말한다. 반면에 위성 방송이라 함은 인공 위성을 중계기로 사용하여 디지털 방송을 수신하는 방식을 말한다.
이러한 디지털 방송 시스템의 예로는 디지털 오디오 방송(Digital Audio Broadcasting: DAB), 디지털 라디오 방송(Digital Radio Broadcasting: DRS), 디지털 오디오 라디오 시스템(Digtal Audio Radio System) 그리고, 오디오, 비디오, 데이터 서비스를 모두 포괄하는 이른바 디지털 멀티미디어 방송(Digital Multimedia Broadcasting : DMB) 시스템 등이 있다. 또한 유럽 지역의 디지털 오디오 방송 시스템인 Eureka 147(European Research Coordination Agency project-147) 시스템과 디지털 방송 규격의 하나인 DVB-T(Terrestrial) 시스템의 이동성, 휴대성을 강화한 DVB-H 시스템이 최근 주목받고 있다.
상기 DVB-H 시스템의 물리 계층 규격은 기존의 DVB-T 시스템의 사양(spec)을 대부분 따르며 이동 중에도 안정적인 수신을 보장하기 위해 MPE-FEC와 같은 추가적인 오류 정정 부호화 기술을 지원함을 특징으로 한다. DVB-H 시스템에서 방송 데이터는 IP 데이터그램(datagram)으로 만들어지고, IP 데이터그램을 RS(Reed-Solomon) 부호화하여 MPE-FEC 프레임이 생성된다. 따라서 MPE-FEC 프레임은 IP 데이터그램이 실리는 MPE 섹션과, RS 부호화에 따른 패리티 데이터(parity data)가 실리는 MPE-FEC 섹션으로 구성된다. 그리고 MPE 섹션과 MPE-FEC 섹션은 DVB-H 시스템의 전송 단위인 TS(Transport Stream) 패킷의 페이로드(payload)에 실려 물리 계층을 통해 전송된다.
도 1에서 참조번호 100은 방송 데이터가 실리는 IP 데이터 그램을 도시한 것 이다. 상기 데이터 그램은 데이터가 전송되는 네트워크 종단의 주소가 포함된 패킷을 의미한다. 참조번호 102는 IP 데이터 그램(100)이 실리는 MPE 섹션 또는 IP 데이터 그램(100)들의 패리티 데이터가 실리는 MPE-FEC 섹션을 도시한 것이다. 참조번호 104는 MPE 섹션 또는 MPE-FEC 섹션(102)이 실리는 TS 패킷을 도시한 것이다. 여기서 하나의 TS 패킷(104)은 다수의 MPE 섹션 또는 MPE-FEC 섹션(102)을 포함하거나 하나의 MPE 섹션 또는 MPE-FEC 섹션(102)이 다수의 TS 패킷(104)을 통해 전송될 수 있다.
상기 MPE-FEC 과정의 결과로써 IP 데이터그램들을 RS 부호화하여 MPE-FEC 프레임이 형성된다. 상기 MPE-FEC 프레임을 구성하는 데이터들은 섹션이라는 전송 단위로 재구성되며, IP 데이터그램(100)은 섹션 헤더(header)와 CRC(Cyclic Redundancy Check) 32비트가 추가되어 MPE 섹션으로 재구성되고 RS 부호화를 통해 생성된 패리티 데이터 또한, 섹션 헤더와 CRC 32비트가 추가되어 MPE-FEC 섹션으로 재구성된다. 섹션 헤더는 MPE-FEC 처리와, 타임 슬라이싱(time slicing)에 필요한 정보를 포함하고, 섹션의 앞 부분에 위치한다. CRC 32비트는 섹션의 뒷 부분에 위치한다. 이러한 섹션들은 최종적으로 TS 패킷(104)의 페이로드 부분에 실려서 물리 계층을 통해 전송된다.
이하에서는 도 2를 참조하여 MPE-FEC 프레임의 송신 과정을 설명하기로 한다.
도 2는 일반적인 DVB-H 시스템에서 송신기의 내부 구성을 도시한 블록 구성도로서, 도 1에 도시된 DVB-H 시스템의 특징은 다수의 사용자에게 IP 데이터를 방 송 데이터로 송출함과 아울러 방송 데이터의 오류 정정을 위해 RS 패리티 데이터를 함께 전송한다는 점이다.
도 2에서 MPE-FEC 부호화기(201)는 방송 데이터로 송신되는 IP 데이터그램을 섹션 단위로 전송하도록 IP 데이터그램이 포함된 MPE 섹션을 생성하고, 상기 MPE 섹션의 순방향 오류 정정(FEC)(Forward Error Correction)을 위한 패리티 데이터가 포함된 MPE-FEC 섹션을 생성한다. 상기 패리티 데이터는 잘 알려진 외부 부호화 기술인 RS 부호화를 통해 생성된다. 상기 MPE-FEC 부호화기(201)의 출력은 타임 슬라이싱(time slicing) 처리기(203)로 전달되어 방송 데이터를 버스트로 전송하기 위한 시분할 처리가 이루어진다. 하나의 MPE-FEC 프레임은 하나의 버스트 구간을 통해 전송된다. 한편 타임 슬라이싱 처리를 거친 IP 데이터그램은 HP(High Priority) 스트림 처리를 거친 후, 변조차수(Modulation Order)와 계층적(Hierarchical) 혹은 비계층적(Non-Hierarchical)인 전송 모드에 따라 직/병렬 신호로 변환 처리될 수 있다.
도 2에서 비트 인터리버(205)와 심볼 인터리버(207)는 전송 오류를 분산시키는 비트 단위의 인터리빙과 심볼 단위의 인터리빙을 각각 수행한다. 그리고 인터리빙된 신호는 심볼 매핑기(209)를 통해 QPSK, 16 QAM 혹은 64 QAM 등 정해진 변조 방식에 따라 심볼 매핑되어 IFFT(Inverse Fast Fourier Transform)(211)로 전달된다. 상기 IFFT(211)는 주파수 영역의 신호를 시간 영역의 신호로 변환하여 출력하고, IFFT 처리된 신호는 도시되지 않은 보호 구간 삽입기를 통해 보호 구간(Guard Interval)이 삽입되어 기저 대역의 OFDM 심볼 신호로 생성된다. 상기 OFDM 심볼은 디지털 기저 대역 필터에 의해 펄스 성형된 후 RF 변조기(213)를 통해 변조 과정을 거쳐서 최종적으로 안테나(215)를 통해 DVB-H 신호인 TS 패킷으로 전송된다.
한편 DVB-H 시스템의 수신기는 물리 계층을 통해 상기한 TS 패킷을 수신하여 방송 데이터가 포함된 IP 데이터그램을 복원하여야 한다. 따라서 TS 패킷으로부터 MPE 섹션과 MPE-FEC 섹션을 구분하여 추출하고, 추출된 데이터를 MPE-FEC 프레임으로 구성하여 IP 데이터그램을 복원하는 DVB-H 수신기의 MPE-FEC 복호 기술이 요구된다. 그러나 현재 DVB-H 시스템의 송신 기술에 대한 구체적인 표준안은 마련된 상태이나 MPE-FEC 복호 기술과 같은 수신 기술에 대해서는 구체적인 방안이 마련되어 있지 않은 상태이다.
본 발명은 DVB-H 시스템에서 TS 패킷을 수신하여 방송 데이터인 IP 데이터그램을 복원하는 MPE-FEC 프레임의 복호 방법 및 장치를 제공하는 것이다.
본 발명은 DVB-H 시스템의 수신기에서 프레임 버퍼에 대한 R-S 복호 시간을 감소시키기 위한 방법 및 장치를 제공한다.
본 발명에 따른 디지털 방송 시스템의 수신기에서 다중 프로토콜 캡슐화 순방향 오류 정정(MPE-FEC) 프레임을 복호하기 위한 방법은, 무선 망으로부터 버스트 구간동안 수신된 전송 스트림으로부터 방송 서비스 정보와 방송 스트림을 검출하는 과정과, 상기 검출된 방송 스트림을 프레임 버퍼링하는 과정과, 상기 버스트 구간의 시작 신호를 수신한 후 섹션이 입력될 때 까지 이레이져 버퍼를 초기화하는 과 정과, 상기 섹션 데이터의 헤더 정보를 근거로 마지막 MPE-FEC 섹션이 수신되었는지 검사하는 과정과, 상기 마지막 MPE-FEC 섹션이 수신되거나 상기 버스트 구간이 종료되면 상기 섹션 시작 전에 초기화하지 못한 나머지 이레이져 버퍼를 아이들 시간에 초기화하는 과정과, 상기 이레이져 버퍼의 모든 영역을 초기화한 후 패딩 컬럼 처리를 수행하는 과정과, 프레임 버퍼에 저장된 IP 데이터그램들 중 리드-솔로몬 복호를 수행할 행을 검색하는 과정과, 상기 리드-솔로몬 복호결과를 근거로 상기 프레임 버퍼에 저장된 데이터들 중 오류가 있는 데이터를 정정하는 과정을 포함한다.
본 발명에 따른 디지털 비디오 방송 시스템에서 다중 프로토콜 캡슐화 순방향 오류 정정(MPE-FEC) 프레임의 복호 장치는, 무선망으로부터 수신된 TS로부터 추출된 MPE(Multiprotocol Encapsulation) 섹션을 저장하는 프레임 버퍼와, 상기 프레임 버퍼에 수신된 섹션 데이터의 신뢰성 정보를 저장하는 이레이져 버퍼와, 상기 이레이져 버퍼의 신뢰성 정보를 근거로 상기 프레임 버퍼에 저장된 IP 데이터그램들에 대해 리드-솔로몬 복호를 수행하는 리드-솔로몬 복호기와, 상기 TS패킷으로부터 방송 서비스 정보와 방송 스트림을 검출하고, 버스트 구간이 시작된 후에 이레이져 버퍼를 초기화하고, 상기 방송 스트림에 대한 신뢰성 정보를 상기 이레이져 버퍼에 마킹하고, 상기 프레임 버퍼에서 리드-솔로몬 복호를 수행할 행(row)을 검사하고, 상기 이레이져 버퍼의 모든 영역을 초기화한 후 패딩 컬럼 처리를 수행하는 제어기를 포함한다.
이하 본 발명의 실시 예를 첨부한 도면을 참조하여 상세히 설명하기로 하겠다. 도면들 중 동일한 구성들은 가능한 한 어느 곳에서든지 동일한 부호들을 나타내고 있음을 유의해야 한다. 하기에서 구체적인 특정사항들이 나타나고 있는데, 이는 본 발명의 보다 전반적인 이해를 돕기 위해 제공된 것이다. 그리고 본 발명을 설명함에 있어, 관련된 공지 기능 혹은 구성에 대한 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 3은 본 발명이 적용되는 DVB-H 시스템에서 수신기의 내부 구성을 도시한 블록 구성도이다.
도 3에서 무선망으로부터 수신된 TS 패킷은 안테나(301)를 통해 RF 복조기(303)로 수신되고, RF 복조기(303)를 통해 주파수 하향 변환되고 디지털 신호로 변환된 TS 패킷의 OFDM 심볼들은 FFT(Fast Fourier Transform)(305)를 통해 주파수 영역의 신호로 변환된다. 심볼 디매핑기(307)는 수신 신호를 QPSK, 16 QAM 혹은 64 QAM 등 정해진 변조 방식에 대응되게 심볼 디매핑하고, 심볼 디인터리버(309)와 비트 디인터리버(311)는 심볼 단위의 디인터리빙과 비트 단위의 디인터리빙을 각각 수행하여 원래 신호로 복원한다.
그리고 도 3에서 MPE-FEC 복호화기(315)는 패킷 식별자(Packet Identifier : PID) 필터링을 수행하여 TS 패킷의 헤더 정보로부터 패킷 식별자(Packet Identifier : PID)가 검출되면, MPE 섹션이나 MPE-FEC 섹션이 수신된 것으로 간주하고, PID가 검출되지 않은 경우 TS 패킷으로부터 프로그램 특정 정보와 서비스 정 보(Program Specific Information/Service Information : PSI/SI)(이하, "방송 서비스 정보")를 수신하여 타임 슬라이싱과 MPE-FEC 적용 여부 등 방송 수신과 관련된 서비스 정보를 수신한다. 한편 상기 방송 서비스 정보(PSI/SI)를 수신한 MPE-FEC 복호화기(315)는 수신된 TS 패킷으로부터 MPE-FEC 프레임을 구성하는 MPE 섹션의 IP 데이터그램과 MPE-FEC 섹션의 패리티 데이터를 구분하여 각각 내부 버퍼의 데이터 영역과 패리티 영역에 저장하고, RS 복호를 수행하여 원래 방송 데이터를 복원한다. 또한, 각각의 MPE 섹션과 MPE-FEC 섹션에 포함되어 전송되는 델타-t 정보(700)를 추출하여 타임 슬라이싱 처리기(313)로 전송한다.
그리고 타임 슬라이싱 처리기(313)는 미리 정해진 버스트 구간 마다 MPE-FEC 프레임이 포함된 TS 패킷을 수신하도록 전체 수신기 블록(300)들을 스위칭하는 동작을 반복한다. 여기서 상기 버스트 구간은 각 MPE 섹션과 MPE-FEC 섹션의 헤더에 포함되어 다음 버스트 구간의 시작 시간을 지시하는 델타(Delta) t 정보를 수신하여 확인할 수 있다.
도 4는 상기 도 3에 따른 MPE-FEC 프레임의 복호 방법을 개념적으로 도시한 순서도로서, 도 4의 각 과정은 도 3의 MPE-FEC 복호화기(315)를 통해 수행된다.
도 4의 401 단계에서 MPE-FEC 복호화기(315)는 물리 계층 복조기로부터 전달된 TS 패킷에 대해 PID 필터링을 수행하여 MPE 섹션 또는 MPE-FEC 섹션이 실려있는 TS 패킷을 검출하고 이외의 패킷은 방송 서비스 정보(PSI/SI)가 포함된 패킷으로 간주하여 타임 슬라이싱과 MPE-FEC 적용 여부를 확인한다. 본 발명은 MPE-FEC 프레임의 복호 방법을 제안한 것이므로 이하 설명에서 MPE-FEC는 적용되는 것으로 간주 한다. 상기 401 단계에서 방송 서비스 정보(PSI/SI)를 수신한 후 MPE-FEC 복호화기(315)는 헤더 정보에 MPE-PID가 포함된 TS 패킷을 수신한 경우 그 페이로드에 실린 데이터를 MPE 섹션 또는 MPE-FEC 섹션으로 간주한다.
403 단계에서 MPE-FEC 복호화기(315)는 TS 패킷으로부터 추출된 섹션 데이터의 헤더 정보로부터 테이블 아이디(table_id)를 확인하여 상기 섹션 데이터가 IP 데이터그램을 포함한 MPE 섹션인지 IP 데이터그램의 패리티 데이터가 포함된 MPE-FEC 섹션인지 판단한다. 상기 403 단계에서 수신된 데이터가 MPE 섹션으로 확인된 경우 MPE-FEC 복호화기(315)는 405단계로 진행하여 내부 버퍼의 데이터 영역에 해당 MPE 섹션의 IP 데이터그램을 프레임 버퍼링한다. 반면 상기 403 단계에서 상기 수신된 데이터가 MPE 섹션이 아니라면, MPE-FEC 복호화기(315)는 407단계에서 MPE-FEC 섹션을 수신했는지 여부를 검사한다. 상기 407단계의 검사결과 상기 수신된 데이터가 MPE-FEC 섹션으로 확인된 경우 MPE-FEC 복호화기(315)는 409단계로 진행하여 내부 버퍼의 패리티 영역에 해당 MPE-FEC 섹션의 패리티 데이터를 프레임 버퍼링한다.
이후 411 단계에서 MPE-FEC 복호화기(315)는 MPE-FEC 섹션의 헤더 정보로부터 리얼 타임 파라미터(real time parameter)를 확인하여 현재 수신된 MPE-FEC 섹션이 MPE-FEC 프레임을 구성하는 마지막 MPE-FEC 섹션인지 확인한다. 상기 411 단계의 확인 결과 마지막 MPE-FEC 섹션이 아닌 경우 MPE-FEC 복호화기(315)는 상기 403 단계로 진행하여 프레임을 구성하는 MPE 섹션 또는 MPE-FEC 섹션을 계속적으로 수신하여 프레임 버퍼링하는 동작을 반복하여 수행하고, 마지막 MPE-FEC 섹션으로 확인된 경우 내부 버퍼에 저장된 패리티 데이터를 이용하여 IP 데이터그램의 오류를 정정을 수행하는 RS 복호를 수행한다.
그리고 415 단계에서 MPE-FEC 복호화기(315)는 오류가 정정된 IP 데이터그램을 상위 계층으로 출력하고, IP 데이터그램은 사용자의 단말을 통해 방송 데이터로 표시된다.
도 5는 본 발명의 제1 실시 예에 따른 도 3의 MPE-FEC 프레임 복호 장치의 내부 구성을 도시한 블록 구성도로서, 이는 도 3의 MPE-FEC 복호화기(315)의 구성을 나타낸 것이다.
도 5의 장치는 수신된 TS 패킷으로부터 추출된 MPE 섹션의 IP 데이터그램과 MPE-FEC 섹션의 패리티 데이터를 일시 저장하기 위한 버퍼(510)와, 상기 패리티 데이터를 이용하여 IP 데이터그램의 오류 정정을 수행하는 RS 복호기(Decoder)(530)와, 송신기로부터 물리 계층을 통해 전달된 방송 서비스 정보(PSI/SI) 정보를 분석하여 MPE-FEC의 적용 여부를 확인함은 물론 MPE 섹션과 MPE-FEC 섹션으로부터 상기 IP 데이터그램과 패리티 데이터를 각각 추출하여 상기 버퍼(510)에 저장시키고, 다음 버스트 구간이 시작되는 시점을 나타내는 델타 t 정보를 근거로 버스트 구간 타이머(570)가 후술할 최대 버스트 구간을 계수한 결과에 따라 R-S 복호를 수행할 시점을 제어하고, 상기 RS 복호기(530)를 통해 상기 IP 데이터그램을 RS 복호하는 전반적인 동작을 제어하는 제어기(550)를 구비하여 구성된다.
도 5에서 상기 버퍼(510)는 MPE 섹션과 MPE-FEC 섹션에 대한 CRC를 수행하기 위한 순환 버퍼(circular buffer)(511)와, MPE 섹션의 IP 데이터그램과 MPE-FEC 섹 션의 패리티 데이터를 구분되게 저장하고 RS 복호가 수행되는 프레임 버퍼(frame buffer)(513)와, 상기 CRC 결과에 따른 신뢰성 정보를 마킹하기 위한 이레이져 버퍼(erasure buffer)(515)를 포함하여 구성된다.
상기 제어기(550)는 TS 패킷이 수신된 경우 먼저 방송 서비스 정보(PSI/SI) 정보를 분석하여 MPE-FEC의 적용 여부를 확인한 후, 이후 수신되는 TS 패킷으로부터 헤더 정보를 제거한 MPE 섹션 또는 MPE-FEC 섹션을 상기 순환 버퍼(511)에 저장하여 CRC를 수행한다.
상기 CRC 결과가 'GOOD'인 경우 제어기(550)는 해당 섹션 데이터의 헤더 정보를 확인하여 MPE 섹션의 페이로드(IP 데이터그램)는 프레임 버퍼(513)의 방송 데이터 테이블 영역에 저장하고, MPE-FEC 섹션의 페이로드(패리티 데이터)는 프레임 버퍼(513)의 R-S 데이터 테이블 영역에 저장한다. 또한 제어기(550)는 상기 CRC 결과에 따라 IP 데이터그램과 패리티 데이터의 정상 수신 여부를 상기 이레이져 버퍼(515)에 신뢰성 정보로 마킹하고, 상기 RS 복호기(530)를 통해 수신 오류가 발생된 IP 데이터그램을 패리티 데이터를 이용하여 RS 복호하고, 오류를 정정하여 상위 계층으로 출력한다.
상기 제어기(550)는 상기 이레이져 버퍼(515)의 모든 영역에 신뢰성 정보가 마킹된 경우(즉, MPE-FEC 프레임의 모든 IP 데이터그램이 정상 수신된 경우) 상기 RS 복호 동작을 생략한다.
또한, 도시되지 않은 타임 슬라이싱 처리기(313)의 제어부는 검출된 버스트 경계를 근거로 버스트 구간 타이머(570)가 버스트 구간 타이머를 계수하게 제어하 고, 상기 버스트 구간 타이머(570)가 버스트 구간을 계수하면, 제어기(550)는 상기 R-S 복호를 수행하게 된다. 이때, 타임 슬라이싱 처리기(313)의 제어기는 상술한 리얼 타임 파라미터의 델타 t 정보를 근거로 다음 버스트 구간이 시작될 시점을 상기 버스트 구간 타이머(570)로 전송하며, 버스트 구간 타이머(570)는 상기 델타 t 정보를 근거로 미리 정해진 시간을 계수할 시점을 알 수 있게 된다.
또한, 제어기(550)는 방송 서비스 정보에 포함된 최대 버스트 구간 정보(max_burst_duration)에 포함된 최대 버스트 구간을 상기 버스트 구간 타이머(570)가 계수하였는지 여부를 주기적으로 측정함으로써, 버스트 구간이 종료되었는지를 알 수 있다.
따라서, 제어기(550)는 상기 값을 근거로 RS 복호를 위해 RS 복호기를 제어할 시점이나, 수신된 IP 데이터그램을 상위 계층으로 전송하게 된다.
여기서, 최대 버스트 구간 정보는 DVB-H 시스템에서 타임 슬라이싱 방식으로 MPE-FEC 프레임을 전송할 시 전송되는 버스트 구간의 최대 크기를 의미하며, 상기 버스트 구간 타이머(570)는 이전 버스트 구간에 상기 타임 슬라이싱 처리기(313)의 제어기로부터 수신한 델타 t 정보가 지시하는 버스트 구간 시작 시점부터 최대 버스트 구간(max_burst_duration)을 계수한다.
버스트 구간 타이머(Burst Duration Timer)(570)는 타임 슬라이싱 처리기(313)에 구비되어 있으며, DVB-H 시스템의 송신단에서 MPE-FEC 프레임을 송신하는 버스트 구간 동안만 동작하는 타이머이다. 즉, 상술한 바와 같이 버스트 구간 타이머(570)는 타임 슬라이싱 처리기(313)의 제어기의 제어에 의해 송신단에서 전송한 MPE-FEC 프레임의 수신이 시작됨과 동시에 버스트 구간을 계수(計數)(count)하며, 버스트 구간의 종료 시점을 MPE-FEC 복호화기(315)의 제어기(550)으로 알려줄 수도 있으며, 제어기(550)가 상기 버스트 구간 타이머(570)의 계수가 종료된 시점을 검사함으로써, 버스트 구간의 종료 시점을 알 수 있다.
상기 버스트 구간 타이머(570)가 미리 정해진 시간을 계수하면, 제어기(550)는 이를 근거로 RS 복호할 시점, 또는 수신된 IP 데이터그램을 상위 계층으로 전송할 시점을 알 수 있다.
만일, 마지막 섹션이 제대로 수신되어 프레임 경계값 필드가 "1"로 설정되어 있다면, 제어기(550)는 프레임 버퍼(513)에 프레임 버퍼링이 종료됨과 동시에 R-S 복호기(530)로 하여금 RS 복호를 수행하게 제어하며, 그렇지 않은 경우에는 버스트 구간 타이머(570)가 버스트 구간의 시간을 계수하여 "0"을 출력하는 순간에 MPE-FEC 프레임의 수신이 완료되었다고 간주하여 RS 복호를 시작하게 RS 복호기(530)를 제어하거나, 수신된 MPE 섹션을 상위 계층으로 전송한다.
도 6a 내지 도 6b는 본 발명의 제1 실시 예에 따른 DVB-H 수신기에서 MPE-FEC 프레임의 복호 방법을 상세히 도시한 순서도이다.
먼저, 600단계에서 도 5의 제어기(550)는 물리 계층으로부터 TS 패킷을 수신하고, 602단계에서 수신된 TS 패킷에 대해 PID 필터링을 수행한다. 상기 PID 필터링 결과 MPE 섹션 또는 MPE-FEC 섹션이 실려있는 TS 패킷의 MPE PID가 검출되지 않은 것으로 확인되면, 제어기(550)는 604단계에서 해당 TS 패킷을 방송 서비스 정보(PSI/SI)를 전달하는 패킷으로 간주하고, 그 방송 서비스 정보(PSI/SI)를 분석하여 타임 슬라이싱과 MPE-FEC의 적용 여부를 확인한다. 그리고, 제어기(550)는 상기 600단계로 진행하여 다음 TS 패킷을 수신하고, 수신된 TS 패킷으로부터 MPE-PID 가 검출된 경우 해당 TS 패킷을 MPE 섹션 또는 MPE-FEC 섹션이 실려있는 TS 패킷으로 간주하고, 606단계로 진행한다.
606단계에서 제어기(550)는 상기 604단계의 방송 서비스 정보(PSI/SI) 분석 결과를 이용하여 MPE-FEC가 적용되는 것으로 확인된 경우 TS 패킷으로부터 4 바이트 헤더 부분을 제거하고 184 바이트 페이로드 부분을 도 5의 순환 버퍼(511)에 바이트 단위로 순차적으로 저장한다. 상기 순환 버퍼링(Circular buffering)의 목적은 현재 수신된 MPE 섹션 또는 MPE-FEC 섹션에 대해 CRC를 수행하고 IP 데이터그램 또는 패리티 데이터로 구성된 섹션의 페이로드가 프레임 버퍼(513)로 전달될 때까지 수신되는 데이터를 저장하는 것이다. 순환 버퍼(511)의 마지막 주소가 데이터로 채워지면 다음 저장 위치는 0번 주소가 된다.
또한 상기 606 단계에서 제어기(550)는 TS 패킷의 페이로드로 전송되는 MPE 섹션 또는 MPE-FEC 섹션의 시작과 끝을 확인하고, 이 섹션들이 구성하는 MPE-FEC 프레임에 대해 RS 복호를 수행하기 위한 신뢰성 정보를 얻기 위하여 후술할 테이블 아이디(table_id)의 검출 시마다 CRC 검사를 수행한다. 이 과정을 섹션 검출(Section Detection)이라 칭하기로 한다. MPE 섹션 또는 MPE-FEC 섹션 전체는 예컨대, 32 비트의 CRC 데이터가 각 섹션의 끝 부분에 부가되어 전송된다. 본 발명에서 제어기(550)는 CRC 'GOOD'이 발생하면 CRC 'GOOD'을 발생시킨 검사 구간에 적어도 1개의 MPE 섹션 또는 MPE-FEC 섹션이 존재한다고 간주하고 그 섹션의 헤더 정보로 부터 MPE-FEC 프레임 복호에 필요한 정보를 추출한다.
하기 <표 1>은 MPE 섹션 또는 MPE-FEC 섹션으로부터 추출되는 헤더 정보 중 MPE-FEC 프레임의 복호 과정에서 요구되는 정보들을 나타낸 것이다.
헤더 정보 내 용
table_id MPE 섹션 또는 MPE-FEC 섹션의 종류를 지시함
section_length 섹션의 4번째 바이트부터 CRC 32 비트가 포함된 섹션의 끝까지 바이트 단위의 섹션 길이를 나타냄
padding_columns MPE-FEC 프레임의 방송 데이터 테이블 영역에서 제로 패딩된 컬럼의 개수를 나타냄(0~190 사이의 값을 가짐)
table_boundary 현재 섹션이 MPE-FEC 프레임의 방송 데이터 테이블 영역 또는 R-S 데이터 테이블 영역에서 마지막 섹션임을 지시함('1'로 설정된 경우)
address MPE-FEC 프레임의 각 영역에서 현재 수신된 섹션의 페이로드의 첫 번째 바이트가 차지하는 바이트 위치를 나타냄
상기 제어기(550)는 상기와 같은 CRC 검사를 수행하도록 적어도 하나의 CRC 검사기(도시되지 않음)를 구비한다. 상기 제어기(550)는 바람직하게 CRC 검사가 'GOOD'이 나올 때까지 테이블 아이디(table_id)의 검출 시마다 새로운 CRC 검사기를 할당하여 다중의 CRC 검사를 수행할 수 있다. 제어기(550)는 상기 606 단계에서 검출된 섹션 데이터의 헤더 정보를 추출한 후, CRC 'GOOD'을 발생시킨 CRC 검사기의 CRC 검사 구간과, 상기 <표 1>의 헤더 정보 중 섹션 길이(section_length)를 비교하여 섹션 길이와 CRC 검사 구간이 일치되는 경우 정상적으로 수신된 섹션임을 최종 확인하며, 이 동작은 섹션 검출을 보다 정확히 수행하기 위한 것으로 선택적으로 수행하는 것이 가능하다.
상기 606 단계에 따라 섹션 검출이 완료되면, 제어기(550)는 608 단계에서 검출된 섹션의 헤더 정보로부터 상기 <표 1>의 테이블 아이디(table_id)를 판독하여 검출된 섹션이 MPE 섹션 또는 MPE-FEC 섹션 중 어느 섹션인지 확인한다. 상기 608 단계에서 MPE 섹션으로 확인된 경우 제어기(550)는 612단계로 진행하여 MPE 섹션으로부터 헤더 정보와 CRC 비트들을 제거한 후, 프레임 버퍼(513)의 방송 데이터 테이블 영역에 해당 MPE 섹션의 IP 데이터그램을 프레임 버퍼링한다. 그리고 상기 610 단계에서 프레임 버퍼링되는 IP 데이터그램은 CRC 검사를 거친 신뢰할 수 있는 데이터이므로 제어기(550)는 614 단계에서 해당 IP 데이터그램의 바이트들에 대한 신뢰성 정보를 이레이져 버퍼(515)에 마킹(Marking)한다.
반면, 608단계에서 제어기(550)는 섹션의 헤더 정보로부터 상기 <표 1>의 테이블 아이디(table_id)를 조회하여 606단계에서 검출된 섹션이 MPE-FEC 섹션에 해당되는 경우 610단계로 진행하여 MPE-FEC 섹션의 헤더 정보로부터 패딩 컬럼수 정보(padding_columns)를 조회하여 방송 데이터 테이블 영역에 데이터 대신 '0'이 채워질 부분을 확인한다. 즉 MPE-FEC 프레임의 두 영역 중에서 방송 데이터 테이블 영역은 송신측에서 IP 데이터그램들로 모두 채워지지 않은 채 전송될 수 있다. 이러한 경우 채워지지 않은 방송 데이터 테이블 영역은 '0' 바이트로 대신 채워서(이하, "제로 패딩") RS 부호화되고, 실제 전송은 이루어지지 않는다.
따라서 수신측에서 MPE-FEC 프레임의 복호를 정확히 수행하려면 RS 복호를 수행하기 전에 전송되지 않은 패딩 컬럼 부분을 다시 제로 패딩해야 한다. 상기 제로 패딩된 부분은 컬럼 단위로 그 개수가 지시되며, 제어기(550)는 상기 패딩 컬럼수 정보(padding_columns)를 조회하여 제로 패딩을 수행한다. 이 정보는 헤더 정보 추출 과정 중에 알 수 있고 RS 복호가 수행되기 전에 해당되는 컬럼 수 만큼 제로 패딩이 이루어져야 한다. 이러한 과정을 패딩 컬렁 처리(Padding Column processing)(610)라 한다.
패딩 컬럼 처리(610)단계에서는 제어기(550)는 두 가지 경우로 구분되어 수행된다. 첫 번째는 송신측에서 전송한 마지막 MPE 섹션의 IP 데이터그램이 제대로 수신된 경우이고, 두 번째는 상기 마지막 MPE 섹션의 IP 데이터그램이 제대로 수신되지 않은 경우이다.
상기 첫 번째 경우 제어기(550)는 마지막 MPE 섹션 이후부터 방송 데이터 테이블 영역의 나머지 영역을 제로 패딩하고, 대응되는 이레이져 버퍼(515)의 위치에 신뢰성 정보를 마킹한다. 반면 상기 두 번째 경우는 마지막 MPE 섹션이 제대로 수신되지 않아 제로 패딩을 정확히 어느 바이트부터 시작해야 하는지 알 수 없는 경우이므로 제어기(50)는 신뢰되지 못한 부분을 제외하고, 패딩 컬럼수 정보(padding_columns)가 지시하는 패딩 컬럼수에 해당하는 바이트들만을 제로 패딩하고, 제로 패딩된 부분을 신뢰성 정보로 마킹한다.
한편 상기 614단계에 따라 이레이져 버퍼(515)에 신뢰성 정보를 마킹한 후, 제어기(550)는 616단계에서 수신된 MPE-FEC 섹션이 마지막 섹션인지 여부를 확인한다. 이때, 제어기(550)는 테이블 경계 정보(table_boundary)를 조회하여 해당 MPE-FEC 섹션이 R-S 데이터 테이블을 채우는 마지막 MPE-FEC 섹션인지 확인한다. 상기 MPE-FEC 섹션이 마지막 섹션이라면, 618단계에서 이레이져 버퍼(515)의 신뢰성 정보를 조회하여 수신된 방송 데이터 테이블(Application data table)내 모든 IP 데이터그램에 대해 신뢰성 정보가 마킹되어 있는 지 확인한다.
상기 618단계의 확인 결과 모든 IP 데이터그램에 대해 신뢰성 정보가 마킹되어 있는 경우는 방송 데이터 테이블 영역내 모든 IP 데이터그램이 정상적으로 수신된 경우로서 이 경우에 제어기(550)는 624단계로 진행하여 오류 정정을 위한 RS 복호를 생략하고, 프레임 버퍼(513)의 IP 데이터그램들을 그대로 상위 계층으로 출력한다. 반면 상기 618 단계의 확인 결과 방송 데이터 테이블 영역내 적어도 하나의 IP 데이터그램이라도 신뢰성 정보가 마킹되어 있지 않은 경우는 620단계로 진행하여 버스트 구간 타이머(570)가 미리 정해진 시간인 "0"을 계수하였는지를 검사한다. 상기 버스트 시작/종료 신호는 타임 슬라이싱 처리기(313) 또는 버스트 구간 타이머(570)에서 발생할 수도 있으며, 프레임/이레이져 버퍼 제어기(550b)가 입력받아 상술한 동작을 수행하게 된다.
그리고, 상기 620단계에서 제어기(550)는 버스트 구간 타이머(570)가 미리 정해진 시간을 계수하였음을 검사하면, 622단계에서는 제어기(550)는 RS 복호기(530)을 통해 수신된 MPE 섹션을 R-S 복호한 후, 624단계로 진행하여 IP 데이터그램을 상위 계층으로 전송한다.
반면, 상기 620단계의 검사 결과 상기 버스트 구간 타이머(570)가 미리 정해진 시간을 계수하지 않았다면, 제어기(550)는 626단계로 진행하여 MPE 섹션의 끝이 TS 패킷의 끝과 일치되는지 확인한다. 상기 626단계의 확인 결과 MPE 섹션의 끝이 TS 패킷의 끝과 일치하는 경우 제어기(550)는 상기 600단계로 진행하여 다음 TS 패킷을 수신하고, 일치하지 않는 경우는 상기 606 단계로 진행하여 현재 수신된 TS 패킷으로부터 다음 MPE 섹션 또는 MPE-FEC 섹션을 검출한다.
상술한 바와 같은 DVB-H 시스템의 수신기는 물리 계층을 통해 수신된 TS 패킷으로부터 순수한 IP 데이터그램을 복원하기 위해서는 TS 패킷에서 섹션을 검출해내야 한다. 그리고 각 섹션의 페이로드들은 MPE-FEC 프레임으로 재구성되어야 하고 R-S 복호화 과정이 수행되면 IP 데이터그램으로 복원될 수 있다. 도 3내지 도 6에서 설명한 본 발명의 제1 실시 예에 따른 DVB-H 시스템의 수신기에서는 TS 패킷으로부터 MPE 또는 MPE-FEC 섹션을 검출해내고 검출한 섹션을 가지고 MPE-FEC 프레임 전체를 수신기가 재구성하는 일련의 과정에 대해 설명하였다. 그러나, 상술한 도 3내지 도 6에서 설명한 제1 실시 예에 따라 DVB-H 수신기를 구현하기 위해서는 중요한 몇 가지 사항들이 누락되었다.
먼저, 제1 실시 예에 따라 CRC 검사를 통해 검출된 섹션 및 패딩 컬럼 위치에서만 신뢰성 정보가 'good'으로 업데이트되고, 나머지 위치는 모두 'bad'로 간주되어 RS 복호 수행 시 이레이져(Erasure)로 처리된다. 이레이져가 정상적으로 입력되지 않는다면 RS 복호기(530)는 정상적으로 복호를 수행할 수 없게된다. 따라서, 이레이져 버퍼(515)는 모두 'unreliable'로 초기화되어야 한다. 상술한 도 3내지 도 6에는 이러한 이레이져 버퍼(515)의 초기화 동작이 제1 실시 예에서는 기술되어 있지 않았다.
또한, 도 6에서 제어기(550)는 MPE-FEC 섹션을 수신한 경우, 매번 해당 섹션에 대한 프레임 버퍼링과 신뢰성 정보 마킹 수행 이전에 패딩 컬럼 처리를 수행한다. 패딩 컬럼 처리는 앞에서 언급한 바와 같이 패딩 컬럼에 대하여 '0'값을 프레임 버퍼링하고 신뢰성 정보를 마킹하는 것이다. 이러한 동작은 패딩 컬럼의 수에 따라 상당한 시간을 소요할 수 있다. 현재 MPE-FEC 섹션을 검출한 후에도 지속적으로 TS 패킷이 MPE-FEC 복호화기(315)로 입력되므로 상술한 도 3내지 도 6에 따른 본 발명의 제1 실시 예에 따른 DVB-H 수신기는 패킷 데이터를 처리하는 문제를 발생시키게 된다.
또한, RS 복호는 row 단위로 수행된다. 그러나, 상술한 도 3내지 도 6에 도시된 것과 같은 본 발명의 제1 실시 예에 따른 DVB-H 수신기에서는 R-S 복호기(530)를 제어하고 결과를 어떻게 처리할 것인지에 대한 기술이 없었다.
마지막으로 프레임 버퍼(513) 전체에 대해여 R-S 복호가 수행된 후에 IP 데이터그램을 출력해야 하나, 상술한 제1 실시 예에 따른 DVB-H 수신기에서는 어떠한 방법으로 IP 데이터그램을 출력하는지에 대한 기술이 없었다.
따라서, 이하 본 발명의 제2 실시 예에서는 상술한 바와 같은 제1 실시 예에서의 문제점들을 보완한 DVB-H 수신기에서 MPE-FEC 복호화기의 블록 구성 및 방법 흐름도에 대해 설명하기로 한다.
도 7은 본 발명의 제2 실시 예에 따른 MPE-FEC 복호화기(315)의 구성도이다. 본 발명의 제2 실시 예에 따른 MPE-FEC 복호화기(315)는 DVB-H 물리 계층 수신기(700)와 로컬 동기 시리얼 포트(Local Syncronous Serial Port)(702)에 접속된다.
본 발명의 제2 실시 예에 따른 MPE-FEC 복호화기(315)의 제어기(550)는 MPE PID 및 MPE 섹션 검출기(550a)와 프레임/이레이져(Frame/Erasure) 버퍼 및 RS 복호기 제어기(550b)로 구성된다.
MPE PID 및 MPE 섹션 검출기(550a)는 순환 버퍼(511)를 제어하며, 프레임/이레이져 버퍼 및 RS 복호기 제어기(550b)는 프레임 버퍼(513)와 이레이져 버퍼(515), 그리고 RS 복호기(530)를 제어한다.
기본적으로 본 발명의 제2 실시 예에 따라 MPE-FEC 복호기(315)가 수행하는 동작은 제1 실시 예와 비슷하다. 그러나 제2 실시 예에서는 제1 실시 예에 비해 추가로 IP 패킷 출력을 위해 Local SSP 블록(702) 및 시리얼 인터페이스(704)와 버스 인터페이스 제어기(710)가 추가되었다.
제2 실시 예에 따라 추가된 로컬 동기 시리얼 포트(702)는 IP 데이터그램을 serial 형태로 직접 어플리케이션 프로세서(도시되지 않음)으로 출력하고, 버스 인터페이스 제어기(710)는 IP 데이터그램을 APB(Advanced Peripheral Bus) 또는 AHB(Advanced High-performance Bus) 와 같은 버스(Bus)(706)를 통해 DVB-H 수신기 내의 프로세서(708)로 출력한다.
본 발명의 제2 실시 예에 따른 DVB-H 수신기 내의 프로세서(708)로 IP 데이터그램을 출력하는 경우, 프레임/ 이레이져 버퍼 및 RS 복호기 제어기(550b)는 프로세서(708)가 한 버스트에 대한 MPE-FEC 프레임 복호의 종료 시점을 알 수 있도록 하기 위해 프로세서(708)로 인터럽트 신호를 발생한다.
제2 실시 예에서 이레이져 버퍼(513)의 비신뢰성 정보('unreliable') 마킹 동작은 버퍼 초기화를 통해 수행된다. 즉, MPE PID 및 MPE 섹션 검출기(55a)로부터 검출된 섹션이 입력되면, 프레임/이레이져 버퍼 및 RS 복호기 제어기(550b)는 이레이져 버퍼(513)의 해당 위치에 신뢰성 정보(reliable)가 마킹되기 이전에, 해당 주소를 비신뢰성(unreliable)으로 초기화되어 있도록 한다.
초기화 동작은 프레임/이레이져 버퍼 및 RS 복호기 제어기(550b)가 섹션이 입력되는 시간 사이의 아이들 시간(idle time)에 수행한다. 이때 섹션 검출 시 수신된 TS 패킷으로부터 섹션 헤더 및 CRC는 제외한다.
따라서, 버스트 내 모든 데이터에 수신 오류가 없다고 해도 섹션 데이터는 버스트 내에서 연속적으로 출력되지 않으므로 섹션 입력에 대한 아이들 시간(idle time)은 반드시 존재한다. 본 발명의 프레임 이레이져 버퍼 및 RS 복호기 제어기(550b)는 상기 아이들 시간에 초기화 동작을 수행하여 RS 복호가 정상적으로 수행될 수 있도록 한다.
이레이져 버퍼(515)의 초기화 동작 개시 시점은 버스트의 첫 TS 패킷이 입력되는 시점으로 한다. 프레임/이레이져 버퍼 및 RS 복호기 제어기(550b)는 버스트 시작 신호에 의해 한 버스트에 대한 프레임 버퍼링 및 R-S 복호 동작을 개시한다.
MPE PID 및 MPE 섹션 검출에 어느 정도의 시간 지연이 소요되므로, 버스트 시작 신호 이후 첫번째 섹션이 프레임/이레이져 버퍼 및 RS 복호기 제어기(550b)로 입력되기까지의 지연 시간동안에 프레임/이레이져 버퍼 및 RS 복호기 제어기(550b)는 이레이져 버퍼(515)를 초기화할 수 있다.
또한, 프레임/이레이져 버퍼 및 RS 복호기 제어기(550b)는 프레임 버퍼(513)에 저장된 IP 데이터그램을 도시되지 않은 어플리케이션 프로세서로 전송하기위해 시리얼 인터페이스(704)를 사용할 것인지 여부를 검사한다. 상기 시리얼 인터페이스(704)를 통해 상기 어플리케이션 프로세서로 IP 데이터그램을 출력하기 위해 프레임/이레이져 버퍼 및 RS 복호기 제어기(550b)는 스위치(740)를 제어하여 프레임 버퍼(513)로부터 IP 데이터그램을 읽어 Local SSP(702)를 통해 시리얼 인터페이스로 전송한다. 이때 MPE-FEC 프레임 디코딩의 결과는 CPU(708)에서 처리될 수도 있고, 시리얼 인터페이스(704)를 통해 DVB-H 수신기 외부의 프로세서로 출력될 수도 있다. MPE-FEC 프레임 디코딩 결과를 CPU(708) 또는 시리얼 인터페이스(704)를 통해 외부의 프로세서로 전송할지 여부는 DVB-H 수신기를 어떻게 구성하느냐에 따라 달라지고, 그에 따라 제조회사와 같은 벤더에서 미리 레지스터로 셋팅하여 사용한다. 즉, 사용자(이동 단말 제조업자)가 미리 정하게 된다.
반면, 버스(706)를 통해 DVB-H 수신기의 프로세서(708)로 프레임 버퍼(513)에 저장된 IP 데이터그램을 전송할려면, 프레임/이레이져 버퍼 및 RS 복호기 제어기(550b)는 스위치(740)를 제어하여 프레임 버퍼(513)와 버스 인터페이스(710)을 연결시킨다. 그리고, 프레임/이레이져 버퍼 및 RS 복호기 제어기(550b)는 프로세서(708)로 인터럽트 신호를 발생하여 프로세서(708)로 하여금 버스(706)를 통해 프레임 버퍼(513)로부터 IP 데이터그램을 읽어가도록 제어한다. 스위치(740)는 동작 중에 필요에 따라 연결이 수시로 바뀔 수 있으며, 모드 별로 고정되는 것은 아니다. 즉, 프레임 버퍼의 데이터는 time multiplexing 방법을 사용하여 시리얼 인터페이스(704)와 버스(710)로 동시에 출력될 수 있다.
프레임/이레이져 버퍼 및 R-S 복호기 제어기(550b)가 출력하는 MPE_FEC_done 인터럽트 신호는 CPU(708)로 한 버스트에 대한 MPE-FEC 프레임 디코딩이 종료되었음을 알려주고 동시에 데이터를 읽어갈 수 있다는 시점을 알려주는 역할을 수행한다. 그리고 타임 슬라이싱 처리기(313)내에는 버스트 구간 타이머(570)가 구비되어 있으며, 상기 MPE PID 및 MPE 섹션 검출기(550a)로부터 수신된 버스트 경계 정보를 근거로 MPE-FEC 복호기(315)의 동작을 제어한다. 즉, 프레임/이레이져 버퍼 및 R-S 복호기 제어기(550b)는 타임 슬라이싱 처리기(313)로부터 버스트 구간 종료 신호를 수신하면, 본 발명의 실시 예에 따라 이레이져 버퍼(515)의 신뢰성 정보 마킹 및 패딩 컬럼 처리를 수행하고, R-S 복호를 수행하기 위해 R-S 복호기(530)를 제어한다.
도 8은 본 발명의 제2 실시 예에 따른 MPE-FEC 복호화기(315)의 MPE PID 및 MPE 섹션 검출기(550a)의 동작 흐름도이다.
먼저, 800단계에서 MPE-PID 및 MPE 섹션 검출기(550a)로부터 버스트 구간 정보를 수신한 타임 슬라이싱 처리기(313)로부터 버스트 시작 신호가 출력되면, 802단계에서 MPE PID 및 MPE 섹션 검출기(550a)는 DVB-H 물리 계층 수신기(700)로부터 TS 패킷을 수신하고, 804단계에서 수신된 TS 패킷에 대해 PID 필터링을 수행한다. 상기 PID 필터링 결과 MPE 섹션 또는 MPE-FEC 섹션이 실려있는 TS 패킷의 MPE PID가 검출되지 않은 것으로 확인되면, MPE PID 및 MPE 섹션 검출기(550a)는 806단계에서 해당 TS 패킷을 방송 서비스 정보(PSI/SI)를 전달하는 패킷으로 간주하고, 그 방송 서비스 정보(PSI/SI)를 분석하여 타임 슬라이싱과 MPE-FEC의 적용 여부를 확인한다. 그리고, MPE PID 및 MPE 섹션 검출기(550a)는 상기 802단계로 진행하여 다음 TS 패킷을 수신하고, 수신된 TS 패킷으로부터 MPE-PID 가 검출된 경우 해당 TS 패킷을 MPE 섹션 또는 MPE-FEC 섹션이 실려있는 TS 패킷으로 간주하고, 808단계로 진행한다.
808단계에서 MPE PID 및 MPE 섹션 검출기(550a)는 상기 604단계의 방송 서비스 정보(PSI/SI) 분석 결과를 이용하여 MPE-FEC가 적용되는 것으로 확인된 경우 TS 패킷으로부터 4 바이트 헤더 부분을 제거하고 184 바이트 페이로드 부분을 도 5의 순환 버퍼(511)에 바이트 단위로 순차적으로 저장한다.
또한 상기 808단계에서 MPE PID 및 MPE 섹션 검출기(550a)는 TS 패킷의 페이로드로 전송되는 MPE 섹션 또는 MPE-FEC 섹션의 시작과 끝을 확인하고, 이 섹션들이 구성하는 MPE-FEC 프레임에 대해 RS 복호를 수행하기 위한 신뢰성 정보를 얻기 위하여 후술할 테이블 아이디(table_id)의 검출 시마다 CRC 검사를 수행한다. 즉, 섹션 검출(Section Detection)과정을 수행한다.
그리고 810단계에서 MPE PID 및 MPE 섹션 검출기(550a)는 MPE 섹션 정보 및 데이터를 프레임/이레이져 버퍼 및 R-S 복호기 제어기(550b)로 출력한다. 812단계에서 MPE PID 및 MPE 섹션 검출기(550a)는 타임 슬라이싱 처리기(313)의 버스트 구간 타이머(570)가 미리 정해진 시간인 "0"을 계수하였는지를 검사한다.
그리고, 상기 812단계에서 MPE PID 및 MPE 섹션 검출기(550a)는 버스트 구간 타이머(570)가 미리 정해진 시간을 계수하였음을 검사하면, 814단계에서는 버스트 종료 신호를 프레임/이레이져 버퍼 및 R-S 디코더 제어기(550b)로 출력하며, 미리 정해진 시간을 계수하지 못하였다면, 816단계로 진행하여 MPE 섹션의 끝이 TS 패킷의 끝과 일치되는지 확인한다. 상기 816단계의 확인 결과 MPE 섹션의 끝이 TS 패킷의 끝과 일치하는 경우 MPE PID 및 MPE 섹션 검출기(550a)는 상기 802단계로 진행하여 다음 TS 패킷을 수신하고, 일치하지 않는 경우는 상기 808단계로 진행하여 현재 수신된 TS 패킷으로부터 다음 MPE 섹션 또는 MPE-FEC 섹션을 검출한다.
도 9는 본 발명의 제2 실시 예에 따른 MPE-FEC 복호화기(315)에서 프레임/이레이져 버퍼 및 RS 복호기 제어기(550b)의 동작 흐름도이다.
900단계에서 타임 슬라이싱 처리기(313)로부터 버스트 시작 신호를 입력받으면, 프레임/이레이져 버퍼 및 RS 복호기 제어기(550b)는 902단계로 진행하여 섹션이 입력되기 시작하였는지를 검사한다. 상기 902단계의 검사결과 섹션이 시작되었다면, 906단계로 진행하여 섹션 파라미터를 저장한다. 섹션 파라미터는 상기 <표 1>에 나타낸 내용들을 의미하며, 프레임/이레이져 버퍼 및 RS 디코더 제어기(550b)에 저장한다.
908단계에서 프레임/이레이져 버퍼 및 R-S 복호기 제어기(550b)는 MPE 섹션으로부터 헤더 정보와 CRC 비트들을 제거한 후, 프레임 버퍼(513)의 방송 데이터 테이블 영역에 해당 MPE 섹션의 IP 데이터그램을 프레임 버퍼링한다. 그리고 프레임 버퍼링되는 IP 데이터그램은 CRC 검사를 거친 신뢰할 수 있는 데이터이므로 프레임/이레이져 버퍼 및 RS 복호기 제어기(550b)는 해당 IP 데이터그램의 바이트들에 대한 신뢰성 정보를 이레이져 버퍼(515)에 마킹(Marking)한다.
910단계에서 프레임/이레이져 버퍼 및 RS 복호기 제어기(550b)는 마지막 MPE 섹션이 수신되었는지 검사하여 마지막 MPE 섹션이 수신되었다면, 912단계로 진행하여 마지막 주소를 저장한다.
반면, 상기 902단계의 검사결과 섹션이 시작되지 않는다면, 프레임/이레이져 버퍼 및 RS 복호기 제어기(550b)는 904단계로 진행하여 이레이져 버퍼(515)에 신뢰성 정보를 초기화시킨다.
버스트내에서 섹션 데이터는 지속적으로 입력되므로, 한 버스트에 대한 섹션 데이터가 모두 입력되기 전에 프레임/이레이져 버퍼 및 RS 복호기 제어기(550b)는 섹션 데이터를 버퍼링하고 신뢰성 정보를 마킹해야 한다. 일반적으로 한 섹션 종료 후 다음 섹션이 입력되기까지 시간 간격이 존재하는데, 본 발명의 제2 실시 예에 따른 프레임/이레이져 버퍼 및 RS 복호기 제어기(550b)는 그 시간 간격에 이레이져 버퍼(515)를 초기화 한다. 즉, 904단계에서 신뢰성 정보를 초기화하는 것은 이레이져 버퍼(515) 전체를 초기화시키는 것이 아니라 상기 섹션들이 수신되는 중간 시점마다 이레이져 버퍼(515)를 초기화시키는 것이다.
그리고 상기 910단계의 검사결과 수신된 MPE 섹션이 마지막 MPE 섹션이 아니라면, 프레임/이레이져 버퍼 및 RS 복호기 제어기(550b)는 914단계에서 마지막 MPE-FEC 섹션이 수신되었는지 여부를 검사한다.
상기 914단계의 검사 결과 마지막 MPE-FEC 섹션이 수신되었다면, 프레임/이레이져 버퍼 및 RS 복호기 제어기(550b)는 918단계로 진행하여 상기 904단계에서 이레이져 버퍼(515)의 초기화를 완료하지 못한 나머지 영역에 대해 신뢰성 정보 초기화를 수행한다.
반면, 상기 914단계의 검사결과 마지막 MPE-FEC 섹션이 수신되지 않았다면, 프레임/이레이져 버퍼 및 RS 복호기 제어기(550b)는 916단계로 진행하여 버스트가 종료되었는지를 검사한다. 상기 916단계에서 프레임/이레이져 버퍼 및 RS 복호기 제어기(550b)는 마지막 MPE-FEC 섹션이 입력되거나, 타임 슬라이싱 처리기(313)에 의해 발생된 버스트 종료 신호가 입력되면, 버스트가 종료되었음을 알 수 있다.
상기 916단계에서 버스트가 종료되었다면, 프레임/이레이져 버퍼 및 RS 복호기 제어기(550b)는 918단계로 진행하여 상기 904단계에서 이레이져 버퍼(515)의 초기화를 완료하지 못한 나머지 영역에 대해 신뢰성 정보 초기화를 수행한다.
상술한 바와 같이 918단계에서 버스트 구간동안의 섹션 데이터가 입력된 이후, 이레이져 버퍼(515)의 초기화가 종료되지 않았다면, 프레임/이레이져 버퍼 및 RS 복호기 제어기(550b)는 상기 904단계에서 초기화하지 못한 나머지 영역에 대해 초기화를 수행하고, 920단계에서 도 6의 610단계에서와 같이 패딩 컬럼 처리를 수행하게 된다.
920단계에서 프레임/이레이져 버퍼 및 RS 복호기 제어기(550b)는 패딩 컬럼 처리를 수행함으로서 패딩 컬럼 영역에 대한 '0' 데이터 버퍼링(제로 패딩) 및 신뢰성 정보 마킹 동작을 단 한번만 수행하며, 타이밍 문제를 피할 수 있다.
이후에 922단계에서 프레임/이레이져 버퍼 및 RS 복호기 제어기(550b)는 디코딩할 행(row)을 검색한다. 상기 922단계에서 프레임/이레이져 버퍼 및 RS 복호기 제어기(550b)가 디코딩할 행을 검색하는 상세한 과정은 후술할 도 10을 참조하여 설명하기로 한다.
924단계에서 프레임/이레이져 버퍼 및 RS 복호기 제어기(550b)는 이레이져 버퍼(515)에 저장된 데이터들의 모든 행(row)의 디코딩이 종료되었는지 검사한다. 상기 924단계에서는 디코딩을 수행하는 것이 아니라 922단계의 검색 결과를 갖고 모든 행의 대코딩 종료 여부만을 검사하는 것이다.
상기 924단계에서 프레임/이레이져 버퍼 및 RS 복호기 제어기(550b)는 상기 검사 결과 모든 행(row)에 대해 디코딩이 종료되지 않았다면, 926단계에서 프레임/이레이져 버퍼 및 RS 복호기 제어기(550b)는 RS 복호기(530)로 하여금 프레임 버퍼(513)의 한 행(row)에 대하여 RS 복호를 수행하도록 제어한다. 상기 924단계와는 달리 926단계에서는 RS 복호기(530)를 구동하여 한 행에 대해 R-S 디코딩을 수행하는 것이다.
926단계에서 프레임/이레이져 버퍼 및 RS 복호기 제어기(550b)는 RS 복호기(530)의 복호 결과인 에러가 발생한 주소(오류가 발생한 위치)와 에러 weight(오류 크기)를 저장한다.
928단계에서 프레임/이레이져 버퍼 및 RS 복호기 제어기(550b)는 상기 926단계의 RS 복호결과를 근거로 오류(error)를 수정할 필요가 있는지 검사하고, 오류를 수정할 필요가 있다면, 930단계로 진행하여 프레임/이레이져 버퍼 및 RS 복호기 제어기(550b)는 프레임 버퍼(513)에 저장된 값들을 정정한다.
반면, 상기 924단계의 결과 이레이져 버퍼(515)에 저장된 값들의 모든 행(row)에 대해 디코딩이 종료되었다면, 프레임/이레이져 버퍼 및 RS 복호기 제어기(550b)는 932단계로 진행하여 도시되지 않은 어플리케이션 프로세서로 프레임 버퍼(513)에 저장된 IP 데이터그램을 출력하기 위해 시리얼 인터페이스(704)가 사용가능한지를 검사한다.
상기 932단계의 검사 결과 시리얼 인터페이스(704)가 사용가능하다면, 934단계에서 프레임/이레이져 버퍼 및 RS 복호기 제어기(550b)는 스위치(740)을 제어하여 프레임 버퍼(513)에서 IP 데이터그램을 읽어 로컬 SSP(702)를 통해 상기 어플리케이션 프로세서로 전송한다.
반면, 상기 932단계의 검사결과, 상기 시리얼 인터페이스(704)가 사용가능하지 않다면, 936단계에서 프레임/이레이져 버퍼 및 RS 복호기 제어기(550b)는 DVB-H 수신기의 프로세서(708)가 프레임 버퍼(513)의 IP 데이터그램을 읽어갈 수 있게 하기 위해 인터럽트 신호가 발생가능한지를 검사한다.
상기 936단계의 검사결과 상기 인터럽트 신호가 발생가능하다면, 938단계에서 프레임/이레이져 버퍼 및 RS 복호기 제어기(550b)는 스위치(740)을 제어하여 프레임 버퍼(513)와 버스 인터페이스(710)를 연결시키고, 상기 프로세서(708)로 인터럽트 신호를 발생시킨다.
도 10은 본 발명의 제2 실시 예에 따라 프레임/이레이져 버퍼 및 RS 복호기 제어기(550b)에 구비된 행(row) 검색기의 구조를 도시한 것이다.
일반적으로 R-S 복호기(530)는 각 행(row) 단위로 RS 디코딩을 수행하게 되는데, MPE-FEC를 위한 RS 복호기(530)는 (N=255, k=191, t=32)의 이레이져(erasure) 복호기로서 2V+P(V:에러 개수, P: erasure 개수)를 만족하면 해당 행을 복호할 수 있다.
원래 RS 복호기 뿐 아니라 비터비 복호기나 터보 복호기 등의 채널 복호기는 수신한 codeword 데이터만을 갖고 자체적으로 오류를 정정하는 능력을 갖고 있다. RS 복호기의 오류 정정은 오류의 위치를 알아내는 과정, 오류의 크기를 알아내는 과정, 마지막으로 오류를 정정하는 과정으로 진행되며, 이레이져 RS 복호기는 RS 복호기의 변형된 형태로서 입력 데이터 중 특정 위치가 오류임을 알고 있는 경우, 오류 위치를 찾기 위한 정보를 오류 크기를 알아내는 과정에 사용할 수 있게 됨으로서 오류 정정 능력을 향상시킬 수 있다.
즉, RS 복호기(530)는 프레임 버퍼(513)에 저장된 데이터 뿐 아니라 이레이저 정보도 사용할 수 있으므로 에러 정정 능력을 향상시키게 된다. RS 코드는 블록 코드의 한 종류이다. 블록 코드는 인코딩/디코딩 과정이 블록 단위로 이루어지는데, 이 블록의 크기가 N이고, 정보 데이터의 길이가 K이며, t는 오류 정정 능력이다. 즉, 이레이져(erasure)의 개수가 65개 이상이면 RS 복호기(530)의 정정 능력을 벗어나게 되므로, 디코딩을 수행할 필요가 없다. 이레이져(Erasure)는 프레임/이레이져 버퍼 및 RS 복호기 제어기(550b)가 이레이져 버퍼(515)의 내용을 읽어 알 수 있으므로, 모든 행(row)에 대하여 RS 디코딩을 수행하기 전에 이레이져 버퍼(515)의 각 행(row)에 대하여 이레이져의 개수를 세어 그 개수가 65개 이상이 되는 경우 해당 행(row)에 대한 RS 디코딩을 수행하지 않게 제어한다.
일반적으로 systolic array 구조의 ME(Modified Euclidian) 알고리듬을 사용하는 RS 복호기(530)의 디코딩 시간은 3N + (N-K) + a = 4N-K+a 클럭 사이클 정도이다. 여기서, RS 코드는 블록 코드의 한 종류이며, 블록 코드는 인코딩/디코딩 과정이 블록 단위로 이루어진다. 이 블록의 크기가 N이며, 정보 데이터의 길이가 K이며, t는 오류 정정 능력을 나타낸다. Z한 행(row)에 대하여 이레이져 개수를 세는 시간은 N 클럭 사이클로 R-S 디코딩 시간인 4N-K+a 클럭 사이클에 비하여 짧은 시간이다. 그러나, 매 행(row)마다 각각 이레이져 개수를 세어 디코딩 여부를 결정하는 방법은, 모든 행(row)에 대해 검사 결과 이레이져 개수가 65개 미만이면 오히려 디코딩 시간의 증가를 유발한다.
따라서, 본 발명의 제2 실시 예에서는 디코딩 여부를 결정하는 시간을 줄이기 위하여 도 10에 도시되 것과 같은 행 검색기(1000)를 사용한다.
이레이져 버퍼(515)는 i개의 행(1002)에 대한 데이터를 동시에 읽을 수 있도록 구성된다. 행 검색기(1000)가 행 검색 시에 이레이져 버퍼(515)에서 읽혀진 데이터는 i개의 카운터(counter)(1000a)로 입력된다. 해당 행(1002) 검색이 종료되면 i개의 카운터(1000a)는 i개의 행(1002)에 대한 이레이져 개수를 저장한다. 상기 이레이져 개수는 각각 i개의 비교기(1000b)로 입력되며, 비교기(1000b)는 상기 이레이져 개수가 65보다 작은 경우 RS 복호기(530)로 하여금 디코딩을 수행하게 제어하는 플래그(flag)(1000c)를 ‘1’로 셋팅한다.
프레임/이레이져 버퍼 및 RS 복호기 제어기(550b)는 i개의 플래그(1000c)들 중‘1’로 셋팅된 것에서 가장 행(row) 인덱스가 작은 플래그를 선택하여, 선택된 플래그의 인덱스에 해당되는 행(row)에 대한 R-S 디코딩을 수행하게 RS 복호기(530)를 제어한다. 인덱스는 순서를 의미하며, 행 인덱스는 행 번호(순서)를 말하는 것이고 열 인덱스는 열 번호를 의미한다. 행 인덱스가 작은 것을 선택한다는 의미는 프레임 버퍼(513)(또는 이레이져 버퍼)(515)의 위 행부터 순차적으로 열 단위 디코딩을 한다것을 의미한다.
프레임/이레이져 버퍼 및 RS 복호기 제어기(550b)는 RS 디코딩이 종료된 후에 해당 행에 대한 플래그를 다시‘0’으로 셋팅(리셋)한다. 행 검색은 i개의 플래그 값이 모두‘0’이고 이레이져 버퍼(515)에 남은 행이 있을 경우 수행된다. 본 발명의 제2 실시 예에 따른 행 검색 방법은 행 검색 시간을 제1 실시 예에 비해 N/i로 감소시킨다. i 값이 커질수록 행 검색에 소요되는 시간은 줄어드나 대신 하드웨어 크기가 증가하게 되므로, DVB-H 수신기의 성능 또는 크기와 같은 자원에 따라 적절한 i값을 선택하도록 한다.
프레임/이레이져 버퍼 및 RS 복호기 제어기(550b)는 한 행(row)에 대한 RS 디코딩 이후에 디코딩 결과를 갖고 프레임 버퍼(513)에 저장된 값을 정정하게 된다. 제1 실시 예에서는 제어기(550)가 Nx8 크기의 중간 버퍼를 구비하고, RS 복호기(530)의 디코딩 결과 출력 시에 행(row)에 대한 데이터를 프레임 버퍼(513)으로부터 다시 읽어 RS 복호기(530)로부터 출력되는 error weight와 더하여 중간 버퍼에 저장한 후에, 디코딩 종료 후 오류 정정 가능하다고 결정되는 경우 상기 중간 버퍼에 저장된 값을 다시 프레임 버퍼(513)로 저장하는 방법을 사용한다.
이러한 제1 실시 예에서는 상술한 중간 버퍼가 추가적으로 필요하며, 오류 정정 가능한 경우 한 행(row)에 대한 RS 디코딩 시간이 5N-K+a로 증가하게 된다.
본 발명의 제2 실시 예에 따른 프레임/이레이져 버퍼 및 RS 복호기 제어기(550b)는 제1 실시 예에서 사용하는 Nx8 크기의 중간 버퍼를 사용하는 대신, (N-K)x2x8 크기의 중간 버퍼를 사용한다. 상기 중간 버퍼는 R-S 복호기(530)에서 출력되는 error 주소와 error weight를 저장하는데 사용되며, N개의 weight 데이터를 모두 저장하는 대신 error가 발생한 위치의 error 주소와 error weight만을 저장한다. 상기 중간 버퍼는 후술할 도 11을 참조하여 설명하기로 한다.
도 11은 본 발명의 제2 실시 예에 따른 중간 버퍼(1102)를 도시한 것이다. 본 발명의 제2 실시 예에서는 물리적으로 분리된 중간 버퍼를 사용하는 대신 프레임 버퍼(513)의 열(column)을 255바이트에서 256바이트로 1바이트 늘려 프레임 버퍼(513)를 구성한다. 상기 프레임 버퍼(513)에서 늘어난 1바이트 크기의 마지막 열(column)(1100)을 중간 버퍼(1102)로 사용한다.
RS 복호기(530)에서 출력되는 error 주소(오류 위치)와 error weight(오류 크기)를 저장하는 경우 프레임/이레이져 버퍼 및 RS 복호기 제어기(550b)가 프레임 버퍼(530)를 액세스(Access)할 필요가 없기 때문에, 중간 버퍼(1102)와 프레임 버퍼(513)가 물리적으로 동일한 메모리(memory)를 사용하는 것이 가능하다. 물리적으로 동일한 메모리를 사용하는 경우, 메모리의 글루 로직(glue logic)에 의한 면적 오버헤드(overhead)가 줄어들게 된다. 여기서 상기 글루 로직이란 메모리에서 실제 데이터를 저장하는 위치(RAM core)를 제외한, address decoder, I/O driver, sense amp. Clock/address buffer, 제어 블록 등을 의미한다.
본 발명의 제2 실시 예에서는 디코딩 종료 시 오류 정정 가능하다고 결정되면, 프레임/이레이져 버퍼 및 RS 복호기 제어기(550b)가 중간 버퍼(1102)에 저장된 error 주소가 지정하는 프레임 버퍼(513)의 열(column)으로부터 데이터를 읽은 후 중간 버퍼에 저장된 error weight와 더하여 다시 프레임 버퍼(513)의 해당 열(column)에 오류 정정된 데이터를 저장한다. 오류 정정 동작에 걸리는 시간은 error의 개수에 비례하며 최대 3*(N-K) 클럭 사이클이 된다. 따라서, 한 행(row)에 대한 RS 디코딩 시간은 최대 4N-K+a+3(N-K) = 7N-4K+a 클럭 사이클이 된다. DVB-H의 MPE-FEC를 위한 RS 디코딩의 경우, 제1 실시 예에서 한 행(row)에 대한 R-S 디코딩 시간인 1084+a 클럭 사이클에서 최대 1021+a 클럭 사이클로 줄어들게 된다. 정정할 error의 개수가 적은 경우 이 시간은 더 줄어들게 될 것이다.
지금까지 상술한 바와 같이 DVB-H 수신기는 물리계층을 통해 수신된 TS packet으로부터 순수한 IP datagram을 복원하기 위해서는 TS packet에서 섹션을 검출해내야 한다. 그리고 각 섹션의 payload들은 MPE-FEC 프레임으로 재구성되어야 하고 RS 복호화 과정이 수행되면 IP datagram으로 복원될 수 있다. 본 발명의 제2 실시 예에서는 DVB-H 수신기에서 MPE-FEC 프레임을 재구성하여 복호화하는 방법 및 장치에 있어서 제1 실시 예에서의 문제점을 수정/보완하였다.
이상 설명한 바와 같이 본 발명에 의하면, DVB-H 시스템의 수신기에서 MPE-FEC 프레임을 복호할 시 복호 시간을 감소시킬 수 있으며, 타임 슬라이싱에 의한 전력 소모를 감소시킬 수 있다.

Claims (14)

  1. 디지털 방송 시스템의 수신기에서 다중 프로토콜 캡슐화 순방향 오류 정정(MPE-FEC) 프레임을 복호하기 위한 방법에 있어서,
    무선 망으로부터 버스트 구간동안 수신된 전송 스트림으로부터 방송 서비스 정보와 방송 스트림을 검출하는 과정과,
    상기 검출된 방송 스트림을 프레임 버퍼링하는 과정과,
    상기 버스트 구간의 시작 신호를 수신한 후 섹션이 입력될 때 까지 이레이져 버퍼를 초기화하는 과정과,
    상기 섹션 데이터의 헤더 정보를 근거로 마지막 MPE-FEC 섹션이 수신되었는지 검사하는 과정과,
    상기 마지막 MPE-FEC 섹션이 수신되거나 상기 버스트 구간이 종료되면 상기 섹션 시작 전에 초기화하지 못한 나머지 이레이져 버퍼를 아이들 시간에 초기화하는 과정과,
    상기 이레이져 버퍼의 모든 영역을 초기화한 후 패딩 컬럼 처리를 수행하는 과정과,
    프레임 버퍼에 저장된 IP 데이터그램들 중 리드-솔로몬 복호를 수행할 행을 검색하는 과정과,
    상기 리드-솔로몬 복호결과를 근거로 상기 프레임 버퍼에 저장된 데이터들 중 오류가 있는 데이터를 정정하는 과정을 포함함함을 특징으로 하는 디지털 비디 오 방송 시스템에서 다중 프로토콜 캡슐화 순방향 오류 정정 프레임의 복호 방법.
  2. 제1 항에 있어서,
    상기 프레임 버퍼에 버퍼링된 IP 데이터그램을 어플리케이션 프로세서 또는 디지털 비디오 방송 수신기의 프로세서로 보낼지를 결정하는 과정을 더 포함함을 특징으로 하는 디지털 비디오 방송 시스템에서 다중 프로토콜 캡슐화 순방향 오류 정정 프레임의 복호 방법.
  3. 제1 항에 있어서,
    상기 수신된 섹션 데이터의 헤더 정보로부터 테이블 아이디를 검출하여 상기 섹션 데이터의 종류를 확인하는 과정을 더 포함함을 특징으로 하는 디지털 비디오 방송 시스템에서 다중 프로토콜 캡슐화 순방향 오류 정정 프레임의 복호 방법.
  4. 제1 항에 있어서,
    버스트 구간 타이머가 상기 방송 서비스 정보에 포함된 최대 버스트 구간 정보에 미리 설정된 시간만큼 계수하는 과정과,
    상기 마지막 MPE-FEC 섹션이 수신되지 않았다면,
    상기 버스트 구간 타이머가 상기 미리 설정된 시간을 계수(計數)하였는지 검사하는 과정과,
    상기 버스트 구간 타이머가 상기 미리 설정된 시간을 계수하였을 경우에, 상기 버퍼링된 리드-솔로몬 데이터를 이용하여 오류가 정정된 IP 데이터그램을 출력하는 과정을 포함함을 특징으로 하는 디지털 비디오 방송 시스템에서 다중 프로토콜 캡슐화 순방향 오류 정정 프레임의 복호 방법.
  5. 제1 항에 있어서,
    상기 이레이져 버퍼를 초기화하는 과정은 상기 이레이져 버퍼를 비신뢰성 정보로 초기화하는 과정을 포함함을 특징으로 하는 디지털 비디오 방송 시스템에서 다중 프로토콜 캡슐화 순방향 오류 정정 프레임의 복호 방법.
  6. 제1 항에 있어서,
    상기 이레이져 개수가 상기 미리 정해진 개수를 초과한다면, 상기 이레이져 버퍼에서 검색된 행의 주소에 해당하는 프레임 버퍼의 행에 대해 리드 솔로몬 복호를 수행하지 않음을 특징으로 하는 디지털 비디오 방송 시스템에서 다중 프로토콜 캡슐화 순방향 오류 정정 프레임의 복호 방법.
  7. 제1 항에 있어서,
    상기 프레임 버퍼에 저장된 IP 데이터그램들 중 리드-솔로몬 복호를 수행할 열을 검색하는 과정은,
    상기 이레이져 버퍼를 정해진 행(row)단위로 검색을 하여 상기 행단위에 이레이저 개수가 미리 정해진 개수를 초과하는지 검사하는 과정과,
    상기 이레이져 개수가 상기 미리 정해진 개수를 초과하지 않는다면, 상기 프레임 버퍼를 각 행(row)단위로 리드-솔로몬 복호하게 제어하는 과정을 포함함을 특징으로 하는 디지털 비디오 방송 시스템에서 다중 프로토콜 캡슐화 순방향 오류 정정 프레임의 복호 방법.
  8. 디지털 비디오 방송 시스템에서 다중 프로토콜 캡슐화 순방향 오류 정정(MPE-FEC) 프레임의 복호 장치에 있어서,
    무선망으로부터 수신된 TS로부터 추출된 MPE(Multiprotocol Encapsulation) 섹션을 저장하는 프레임 버퍼와,
    상기 프레임 버퍼에 수신된 섹션 데이터의 신뢰성 정보를 저장하는 이레이져 버퍼와,
    상기 이레이져 버퍼의 신뢰성 정보를 근거로 상기 프레임 버퍼에 저장된 IP 데이터그램들에 대해 리드-솔로몬 복호를 수행하는 리드-솔로몬 복호기와,
    상기 TS패킷으로부터 방송 서비스 정보와 방송 스트림을 검출하고, 버스트 구간이 시작된 후에 이레이져 버퍼를 초기화하고, 상기 방송 스트림에 대한 신뢰성 정보를 상기 이레이져 버퍼에 마킹하고, 상기 프레임 버퍼에서 리드-솔로몬 복호를 수행할 행(row)을 검사하고, 상기 이레이져 버퍼의 모든 영역을 초기화한 후 패딩 컬럼 처리를 수행하는 제어기를 포함함을 특징으로 하는 디지털 비디오 방송 시스템에서 다중 프로토콜 캡슐화 순방향 오류 정정 프레임의 복호 장치.
  9. 제8 항에 있어서,
    상기 제어기는,
    상기 TS 패킷을 패킷 식별자(PID) 필터링하여 섹션 데이터를 검출하고, 상기 검출된 섹션 데이터에 대해 CRC 체크를 수행하고, 상기 TS 패킷이 수신되는 구간인 버스트 구간을 계수하는 MPE PID 및 MPE 섹션 검출기와,
    상기 MPE PID 및 MPE 섹션 검출기로부터 섹션 데이터를 입력받아 상기 프레임 버퍼에 버퍼링하고, 상기 이레이져 버퍼를 초기화한 후 상기 CRC 결과를 근거로 신뢰성 정보를 마킹하고, 상기 신뢰성 정보를 근거로 상기 프레임 버퍼에 저장된 섹션 데이터들 중 리드 솔로몬 복호를 수행할 행을 검색한 후 검색된 행에대해 리드 솔로몬 복호를 수행하게 제어하는 프레임/이레이저 버퍼 및 리드 솔로몬 복호기 제어기를 포함함을 특징으로 하는 디지털 비디오 방송 시스템에서 다중 프로토콜 캡슐화 순방향 오류 정정 프레임의 복호 장치.
  10. 제9 항에 있어서,
    상기 버스트 구간을 계수하는 버스트 구간 타이머를 더 구비함을 특징으로 하는 디지털 비디오 방송 시스템에서 다중 프로토콜 캡슐화 순방향 오류 정정 프레임의 복호 장치.
  11. 제9 항에 있어서,
    상기 프레임/이레이저 버퍼 및 리드 솔로몬 복호기 제어기는,
    상기 프레임버퍼에 저장된 리드 솔로몬 복호가 종료된 후 상기 프레임 버퍼의 아이피 데이터그램을 로컬 동기 시리얼 포트 또는 버스 인터페이스를 통해 전송할지를 결정함을 특징으로 하는 디지털 비디오 방송 시스템에서 다중 프로토콜 캡슐화 순방향 오류 정정 프레임의 복호 장치.
  12. 제9항에 있어서,
    상기 프레임/이레이져 버퍼 및 리드 솔로몬 복호기 제어기는,
    상기 이레이져 버퍼를 비신뢰성 정보로 초기화함을 특징으로 하는 디지털 비디오 방송 시스템에서 다중 프로토콜 캡슐화 순방향 오류 정정 프레임의 복호 장치.
  13. 제9항에 있어서,
    상기 프레임/이레이져 버퍼 및 리드 솔로몬 복호기 제어기는,
    상기 프레임 버퍼에 버퍼링된 아이피 데이터그램들에 대한 상기 이레이져 버퍼의 이레이져 개수가 상기 미리 정해진 개수보다 작다면, 상기 이레이져 버퍼에서 검색된 행의 주소에 해당하는 프레임 버퍼의 행에 대해 리드 솔로몬 복호를 수행함을 특징으로 하는 디지털 비디오 방송 시스템에서 다중 프로토콜 캡슐화 순방향 오류 정정 프레임의 복호 장치.
  14. 제9 항에 있어서, 상기 프레임/이레이져 버퍼 및 리드 솔로몬 복호기 제어기는,
    상기 프레임 버퍼에 버퍼링된 아이피 데이터그램들에 대한 상기 이레이져 버퍼의 이레이져 개수가 상기 미리 정해진 개수를 초과한다면, 상기 이레이져 버퍼에서 검색된 행의 주소에 해당하는 프레임 버퍼의 행에 대해 리드 솔로몬 복호를 수행하지 않음을 특징으로 하는 디지털 비디오 방송 시스템에서 다중 프로토콜 캡슐화 순방향 오류 정정 프레임의 복호 장치.
KR1020060014179A 2006-02-14 2006-02-14 디지털 비디오 방송 시스템에서 다중 프로토콜 캡슐화순방향 오류 정정 프레임의 복호 방법 및 장치 KR20070081907A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060014179A KR20070081907A (ko) 2006-02-14 2006-02-14 디지털 비디오 방송 시스템에서 다중 프로토콜 캡슐화순방향 오류 정정 프레임의 복호 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060014179A KR20070081907A (ko) 2006-02-14 2006-02-14 디지털 비디오 방송 시스템에서 다중 프로토콜 캡슐화순방향 오류 정정 프레임의 복호 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20070081907A true KR20070081907A (ko) 2007-08-20

Family

ID=38611703

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060014179A KR20070081907A (ko) 2006-02-14 2006-02-14 디지털 비디오 방송 시스템에서 다중 프로토콜 캡슐화순방향 오류 정정 프레임의 복호 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20070081907A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009045060A1 (en) * 2007-10-05 2009-04-09 Samsung Electronics Co., Ltd. Apparatus and method for reducing power consumption in a mobile communication system
WO2010008227A3 (en) * 2008-07-17 2011-04-07 Lg Electronics Inc. Transmitting/receiving system and method of processing broadcast signal in transmitting/receiving system
KR101172888B1 (ko) * 2008-12-03 2012-08-10 한국전자통신연구원 Mpe-fec 디코딩을 위한 프레임 생성장치 및 그 방법
US10116774B2 (en) 2016-04-26 2018-10-30 Lsis Co., Ltd. Hardware protocol stack with user-defined protocol applied thereto and method for applying user-defined protocol to hardware protocol stack

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009045060A1 (en) * 2007-10-05 2009-04-09 Samsung Electronics Co., Ltd. Apparatus and method for reducing power consumption in a mobile communication system
US8356228B2 (en) 2007-10-05 2013-01-15 Samsung Electronics Co., Ltd Apparatus and method for reducing power consumption in a mobile communication system
KR101400854B1 (ko) * 2007-10-05 2014-05-28 삼성전자주식회사 이동통신 시스템에서 소비 전력을 줄이기 위한 수신 장치및 방법
WO2010008227A3 (en) * 2008-07-17 2011-04-07 Lg Electronics Inc. Transmitting/receiving system and method of processing broadcast signal in transmitting/receiving system
US8185799B2 (en) 2008-07-17 2012-05-22 Lg Electronics Inc. Transmitting/receiving system and method of processing broadcast signal in transmitting/receiving system
KR101172888B1 (ko) * 2008-12-03 2012-08-10 한국전자통신연구원 Mpe-fec 디코딩을 위한 프레임 생성장치 및 그 방법
US10116774B2 (en) 2016-04-26 2018-10-30 Lsis Co., Ltd. Hardware protocol stack with user-defined protocol applied thereto and method for applying user-defined protocol to hardware protocol stack

Similar Documents

Publication Publication Date Title
KR100735276B1 (ko) 디지털 비디오 방송 시스템에서 다중 프로토콜 캡슐화순방향 오류 정정 프레임의 복호 방법 및 장치
KR100724891B1 (ko) 디지털 비디오 방송 시스템에서 섹션 검출 및 신뢰성 정보획득을 위한 다중 순환잉여검증 장치 및 방법
US7525993B2 (en) Robust transmission system and method for mobile television applications
US7644343B2 (en) Error resilience methods for multi-protocol encapsulation forward error correction implementations
US8290059B2 (en) Method and apparatus for preserving deinterleaving erasure information of block interleaved coded signal
EP1599955B1 (en) System and method for data transmission and reception
US20080282310A1 (en) Ip Datagram De-Encapsulation
EP2188984A1 (en) Ts packet grooming
EP1981201A2 (en) Method and apparatus for decoding data in receiver of a digital broadcasting system
KR100724890B1 (ko) 디브이비-에이치 수신기에서 리드-솔로몬 복호를 위한프레임 경계 검출 방법 및 장치와 이를 이용한 멀티프로토콜 캡슐화-순방향 에러 정정 복호 방법
US20100111168A1 (en) Data communication unit, data communication network and method of decoding
US7877663B2 (en) Forward error correction decoders
WO2007013026A2 (en) Apparatus and method for ip datagram and rs-parity encapsulation and de-encapsulation
KR20070081907A (ko) 디지털 비디오 방송 시스템에서 다중 프로토콜 캡슐화순방향 오류 정정 프레임의 복호 방법 및 장치
KR101304092B1 (ko) 디지털 방송 시스템의 수신기에서 수신 데이터의 버퍼링 및복호 방법 및 장치
US7856587B2 (en) Memory reduction in DVB-H applications
US20080298468A1 (en) Error tagging for decoder
KR20080008849A (ko) 디지털 비디오 방송 시스템에서 방송 데이터 수신 장치 및방법

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination