KR20100042652A - 부호화된 블록 인터리빙 신호의 디인터리빙 이레이저 데이터를 관리하는 방법 및 장치 - Google Patents

부호화된 블록 인터리빙 신호의 디인터리빙 이레이저 데이터를 관리하는 방법 및 장치 Download PDF

Info

Publication number
KR20100042652A
KR20100042652A KR1020107004693A KR20107004693A KR20100042652A KR 20100042652 A KR20100042652 A KR 20100042652A KR 1020107004693 A KR1020107004693 A KR 1020107004693A KR 20107004693 A KR20107004693 A KR 20107004693A KR 20100042652 A KR20100042652 A KR 20100042652A
Authority
KR
South Korea
Prior art keywords
erasure
erasure information
fec
record
information
Prior art date
Application number
KR1020107004693A
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 맥스리니어 인코포레이티드
Publication of KR20100042652A publication Critical patent/KR20100042652A/ko

Links

Images

Classifications

    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2927Decoding strategies
    • H03M13/293Decoding strategies with erasure setting
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2909Product codes
    • H03M13/2915Product codes with an error detection code in one dimension
    • 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/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6356Error control coding in combination with rate matching by repetition or insertion of dummy data, i.e. rate reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving
    • 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
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes

Abstract

디지털 비디오 방송 시스템에서, 부호화되고 인터리빙된 데이터 그룹이 수신되고 이 그룹과 연관된 이레이저 정보가 매우 간결한 형태로 저장된다. 이레이저 플래그 및 MPE-FEC 행 내에서 캡슐화된 상기 수신된, 부호화되고 인터리빙된 데이터 그룹과 연관된 마지막 바이트의 어드레스(레코드)가 이레이저 테이블에 저장된다. 상기 레코드의 마지막 바이트에 선행하는 행의 모든 바이트들은 상기 마지막 바이트와 동일한 이레이저 플래그를 갖는다. 이레이저 정보 디인터리버 524는 디인터리빙하는 방식으로 상기 이레이저 테이블의 내용(즉, 이레이저 정보)을 독출하고, 디인터리빙된 이레이저 정보 525는 디인터리빙된, 부호화된 신호 511과 함께 FEC 복호화기 526에 인가되어 FEC 복호화 성능을 향상시킨다.

Description

부호화된 블록 인터리빙 신호의 디인터리빙 이레이저 데이터를 관리하는 방법 및 장치{METHOD AND APPARATUS FOR PRESERVING DEINTERLEAVING ERASURE INFORMATION OF BLOCK INTERLEAVED CODED SIGNAL}
관련 출원의 상호 참조
본 출원은 "부호화된 블록 인터리빙 신호의 디인터리빙 이레이저 데이터를 관리하는 방법 및 장치"라는 명칭의 2007년 8월 15일자 미국 임시특허출원 제60/951,641호를 우선권 주장의 기초로 하며, 상기 임시특허출원의 내용은 전체로서 참조에 의해 본 명세서에 편입된다.
본 출원은 디지털 방송 시스템에서 이레이저 정보를 처리하는 방법 및 장치에 관한 것이고, 구체적으로는, 디지털 비디오 방송(DVB) 시스템에서 이레이저 정보를 저장 및 디인터리빙(de-interleaving)하는 방법 및 장치에 관한 것이다.
MPEG(Motion Pictures Expert Group; 동영상 전문가 그룹) 표준은 비디오 및 오디오 데이터를 부호화(encoding)하고 전송하는데 초점을 맞추고 있다. 일반적으로, 상기 MPEG 표준은 원래의 비디오 및 오디오 콘텐츠의 품질에 눈에 띄는 영향을 미치지 않으면서 송신 및/또는 저장될 바이트(byte) 수를 감소시키기 위해 압축 알고리즘을 사용한다.
표준 국제 기구(International Organization for Standardization; 이하 ISO/IEC라고 함)는 동영상 및 연관된 오디오의 부호화를 위한 MPEG-2 표준을 개발해왔다. 상기 MPEG-2 표준은 네 개의 문서에 설명된다. 문서 ISO/IEC 13818-1(시스템)은 표준 사양의 시스템 부호화를 특정한다. 이것은 비디오와 오디오 데이터를 결합하는 다중화된 구조를 정의하고 상기 비디오 및 그와 연관된 오디오의 시퀀스를 동기화하여 재생하는데 필요한 타이밍 정보를 포함한다. 문서 ISO/IEC 13818-2(비디오)는 비디오 데이터의 부호화된 표현 및 화상을 재구성하는데 요구되는 복호화(decoding) 프로세스를 특정한다. 문서 ISO/IEC 13818-3(오디오)은 오디오 데이터의 부호화된 표현 및 음향을 재구성하는데 요구되는 복호화 프로세스를 특정한다. 그리고, 문서 ISO/IEC 13818-4(적합성)는 부호화된 스트림의 특성을 결정하는 절차 및 상기 문서 ISO/IEC 13818-1, 13818-2 및 13818-3에 설명된 요건들을 준수하는지를 시험하는 절차를 특정한다.
상기 MPEG-2 표준은 패킷 기반 부호화 및 멀티미디어 데이터의 전송을 제공하는데, 비디오, 오디오, 다른 데이터들은 비트스트림으로 다중화된다. 상기 비트스트림은 패킷화된 기본 스트림(packetized elementary stream; PES)으로 분할되고, 각각의 패킷은 두 개의 다른 스트림 중 어느 하나, 즉, 전송 스트림(transport stream; TS) 또는 프로그램 스트림(program stream; PS)으로 다중화된다. 전송 스트림은 고정된 길이(188 바이트)의 패킷들로 구성되는 한편, 프로그램 스트림은 서로 연결된 가변 길이의 PES 패킷들을 포함한다. 전송 스트림은 디지털 비디오 방송(DVB) 시스템에서 사용되는 한편, 프로그램 스트림은 디지털 다기능 디스크(digital versatile disc; DVD)에 프로그램을 녹화하는 것과 같은 전송 에러가 없는 환경에서 사용된다. 상기 PES는 기본 스트림 데이터를 반송(搬送)하는데 사용되는 데이터 구조이다. 기본 스트림(elementary stream; ES)은 오직 하나의 패킷 식별자(packet identifier; PID)를 갖는 PES 패킷들의 시퀀스에서 반송되는, 부호화된 비디오, 부호화된 오디오 또는 다른 부호화된 데이터 스트림 중 어느 하나이다.
전송 스트림(TS) 패킷들은 비디오 방송에 사용되는데, 비디오 방송에서는 전송 채널에 잡음이 많고 다중경로 페이딩(multipath fading), 그룹 지연 편차(group delay variation), 방송국에 대한 수신기의 이동에 기인한 도플러 효과(Doppler effect), 국부 발진기 드리프트(drift)에 기인하는 반송 주파수 오프셋(carrier frequency offset), 반송 위상 잡음, 반송 진폭 불균형, 의도하지 않은 필터링에 기인하는 채널 대역폭 이탈(aberration) 등과 같은 다수의 장애에 직면하고 있다.
상기 MPEG-2 표준으로부터 채택된 DVB 전송 스트림(TS)을 기초로 하는 다른 DVB 송신 시스템과 달리, DVB-H는 핸드헬드(handheld) 수신기로의 방송 서비스를 위한 사양이고 2004년 11월에 ETSI(European Telecommunication Standards Institute; 유럽 통신 표준 기구) 표준으로 공식 채택되었다. 보다 구체적으로 DVB-H는 전력 감소를 규정하고 수신기들이 서비스를 받는 동안 자유롭게 이동할 수 있도록 하는 지상파 디지털 TV 표준이다. DVB-H는 인터넷 프로토콜(Internet Protocol; IP)을 기반으로 한다. 결과적으로, 상기 DVB-H 기저대역 인터페이스는 IP 인터페이스 형식이다. 이 인터페이스는 DVB-H 시스템이 다른 IP 기반 네트워크와 결합될 수 있게 한다. 이 결합은 IP 데이터캐스트(datacast) 시스템의 한 가지 특성이다. 상기 MPEG-2 TS는 링크 데이터 레이어에 의해 사용된다. 부호화된 멀티미디어 데이터는 IP 데이터그램(datagram)이라고 불리는 가변 길이의 IP 패킷들로 매핑된다. 상기 IP 데이터그램은, DVB 데이터 방송 사양 ETSI EN 301192에 정의된 적응(adaptation) 프로토콜인, 멀티프로토콜 캡슐화(multi-protocol encapsulation; MPE)에 의해 전송 스트림으로 캡슐화된다.
MPE 레벨에서, 순방향 에러 정정(forward error correction; FEC)의 추가적인 스테이지가 부가된다. MPE-FEC라고 불리는 이 기술은 DVB-H의 주요 혁신 중 하나이다. MPE-FEC는 근본이 되는 DVB-T 표준의 물리층 FEC를 보완한다. 이는 핸드헬드 디바이스에 의한 수신을 위해 신호 대 잡음(signal-to-noise; SNR) 요건을 낮추고자 한다.
MPE-FEC 처리는, IP 입력 스트림들이 MPE에 의해 캡슐화되기 전에, 상기 IP 입력 스트림들의 레벨에서 링크 레이어에 배치된다. 도 1a는 MPE-FEC, MPE 및 시간 분할(timing slicing) 기술을 포함하는 DVB-H 코덱(codec)을 포함하는 DVB-H 송신기의 블록도이다. 상기 시간 분할 기술은, 송신된 프로그램을 분할 시간(time slice)에 할당하여 수신기가 하나의 데이터 버스트(burst)를 수신하는 주요 기간에만 활성화되고 나머지 전력 감소 기간에는 출력을 낮추게 하는, DVB-H 시스템의 전력 소비 감소 특성이다. 개별적인 기본 스트림으로서 서로 다른 소스들에 의해 제공된 상기 IP 입력 스트림들은 시간 분할 방법에 따라 다중화된다. 단일 MPEG 오디오 또는 비디오 부호화기의 출력은 기본 스트림(Elementary Stream; ES)으로 불린다. MPE-FEC 에러 방지(error protection)는 각각의 개별 기본 스트림에 대해 별개로 연산된다.
IP 다이어그램들(diagrams)은 MPE 섹션들로 캡슐화된다. MPE 섹션들은 또한 순방향 에러 정정(FEC) 코드로 보호된다. 리드-솔로몬(Reed-Solomon) 코드 RS(255, 191, 64) 코드는 데이터의 신뢰도를 향상시키기 위해 사용되고 FEC 섹션을 형성한다. 개별 기본 스트림(ES)으로서 서로 다른 소스들에 의해 제공되는 상기 IP 입력 스트림들은 시간 분할 방법에 따라 다중화된다. 비디오 프로그램들은 MPEG-2 형식으로 부호화되고, 부호화된 데이터들은 패킷화되고 MPE-FEC 섹션들과 함께 다중화되어 전송 스트림(TS) 패킷들을 형성한다. DVB-H 부호화기 101은 4K 모드 및 DVB-H 송신을 위한 송신기 파라미터 시그널링(transmitter parameter signaling; TPS)이 추가 지원되는 물리 레이어 내에 DVB-T 표준을 준수하는 DVB-T 부호화기 및 변조기를 포함한다. 도 1b는 종래 기술인 DVB-H 수신기의 블록도이다. 상기 수신기 120은 MPEG-2 전송 스트림(TS) 패킷들을 복구(recover)하는 DVB-H 복조기(demodulator) 122를 포함한다. 다음으로 TS 패킷들 124는 시간 분할 모듈 134를 포함하는 DVB-H IP-디캡슐레이터(decapsulator) 130에 인가된다. 시간 분할 모듈 134는, 상기 수신기가 원하는 서비스를 복호화하고 다른 서비스 중에는 멈추도록 제어한다. 이는 수신기의 전력 소비를 감소시키기 위한 것이다. MPE-FEC 모듈 136은 상기 수신기 120이 수신이 어려운 특정 상황에 대처할 수 있도록 하는 보완적인 FEC 기능을 제공한다.
전송 스트림 패킷은 많은 다른 프로그램들을 반송할 수 있고 각각은 서로 다른 압축률 및 동적으로 변하는 비트 레이트를 사용할 수 있는데, 전체 비트 레이트는 일정하게 유지된다(통계적 다중화).
DVB 표준은, IP 데이터그램이 멀티프로토콜 캡슐화(MPE)를 통해 MPEG-2 TS 내에서 반송된다는 것을 특정한다. 도 2는 각각의 IP 데이터그램 201이 MPE 210으로 캡슐화되는 것을 도시한다. MPE 210은 다시 MPE 섹션 232로 캡슐화된다. 다음으로 MPE 섹션들의 스트림은 기본 스트림(ES), 즉, 고유 프로그램 식별자(PID)를 갖는 MPEG-2 TS 패킷들의 스트림 안에 놓인다. 각각의 MPE 섹션은 12 바이트 헤더 231, 페이로드(payload) 232 및 4 바이트 순환 중복 검사(cyclic redundancy check; CRC-32) 테일(tail) 233을 갖는다. 총 페이로드 길이는 IP 데이터그램의 길이와 동일하다.
MPE 210은 다수의 열(row) 212 및 다수의 행(column) 214를 포함한다. 상기 행의 수는 191 바이트에 대응되고, 상기 열의 수는 256, 512, 768 또는 1024와 같다. 191 바이트의 각각의 열은 또한 리드-솔로몬(RS) 코드에 의해 보호되고, 상기 RS 코드는 MPE-FEC 221을 위해 추가적으로 64 RS-패리티 바이트를 생성한다. 따라서, MPE-FEC 부호화기는, IP 데이터그램 201을 통합해서 FEC 프레임으로 불리는 특정 프레임 구조를 생성한다. 상기 FEC 프레임은 최대 1024 열과 일정한 수인 255 행으로 구성되어, 최대 261,120 바이트이다. 상기 MPE 데이터는 다수의 MPE 섹션 232로 캡슐화되고, 상기 RS 데이터는 다수의 MPE-FEC 섹션 242로 캡슐화된다. MPE-FEC 섹션 242는 마지막 MPE 섹션의 바로 뒤에 송신되는데, 상기 MPE 섹션들과 동일한 ES 내에 존재하지만 이들과는 다른 테이블 식별자(table_id)를 갖는다. 두 개의 다른 table_id의 사용은 상기 수신기가 상기 두 개 타입의 섹션을 구분할 수 있게 한다.
상기 MPE-FEC 프레임 내의 열의 수는 서비스 정보(service information)에서 전송되고 256, 512, 768 또는 1024의 값 중 어느 하나 일 수 있다. 행의 수는 애플리케이션 데이터 테이블(application data table; ADT)에 대해서는 191, RS 데이터 테이블 221에 대해서는 64이다. 특정 버스트의 IP 데이터그램은 ADT 내의 좌측 상부 모서리로부터 시작해서 행마다 수직으로 들어간다. 만약 IP 데이터그램이 정확히 행의 마지막에서 끝나지 않는다면, 나머지 바이트들은 다음 행의 가장 처음부터 계속된다. 만약 IP 데이터그램이 ADT를 정확히 다 채우지 못한다면, 남은 바이트 위치들은 0으로 채워진다(제로 패딩 217). 각각의 열에서 상기 RS 데이터 테이블 221의 64 패리티 바이트들은, 리드-솔로몬 코드 RS(255, 191, 64)를 사용하여, 같은 열의 191 IP 데이터그램 바이트들(만약 애플리케이션이면, 패딩 바이트 포함)로부터 연산된다.
MPE 섹션 232의 헤더 231 및 MPE-FEC 242의 헤더 241은, 18 비트의 delta_t 파라미터와 테이블의 끝과 프레임의 끝을 알리기 위한 1 비트의 테이블 경계 플래그(table boundary flag) 및 프레임 경계 플래그(frame boundary flag) 뿐만 아니라 12 비트의 시작 어드레스를 포함하는, 4 바이트의 실시간 파라미터(real time parameter) 필드를 포함한다. 상기 시작 어드레스는 대응되는 IP 데이터그램 또는 RS 행의 시작 지점의 바이트 수(상기 ADT 테이블의 시작부터 카운팅됨)를 나타낸다.
도 3은 188 바이트의 다수의 전송 스트림 패킷 300을 도시하고, 각각의 패킷은 헤더 301 및 페이로드 302를 포함한다. 각각의 헤더 301은 8 비트 동기(sync) 바이트 필드 310, 1 비트 전송 에러 표시자 필드 311, 1 비트 페이로드 단위 시작 표시자 필드 312, 1 비트 전송 우선순위(priority) 필드 313, 13 비트 패킷 식별자 필드 314, 2 비트 전송 암호화(scrambling) 제어 필드 315, 2 비트 적응(adaptation) 필드 제어 필드 316, 4 비트 연속성 카운터(continuity counter) 필드 317, 및 선택적인 적응 필드 318을 포함한다. 이들 필드들의 각각은 MPEG-2 표준에 설명된다. 이하에서는 본 발명의 실시예들과 관련이 있는 필드에 관해서만 설명한다.
sync 바이트 310은 "01000111"(0x47)의 바이너리 패턴을 갖고 전송 스트림(TS) 패킷의 시작을 식별한다. 만약 전송 레이어 위의 에러 정정 레이어가 정정하기에는 너무 높은 비트 에러율을 경험한다면 상기 전송 에러 표시자(transport error indicator; TEI) 필드 311이 설정된다. 만약 '1'로 설정된다면, TEI는 패킷이 에러를 포함할 수 있음을 나타낸다. 페이로드 단위 시작 표시자(payload unit start indicator; PUSI) 필드 312는 TS 패킷이 새로운 페이로드의 시작을 반송하는지(PUSI="1") 또는 상기 TS 패킷이 새로운 페이로드의 시작을 반송하지 않는지(PUSI="0")를 나타낸다. 패킷 식별자(PID) 필드 314는 상기 페이로드 302에서 반송되는 데이터의 타입을 나타낸다. 일정한 PID 값들이 예정된다.
연속성 카운터(CC) 필드 317은, 동일한 PID 필드 314 값을 갖는 연속하는 TS 패킷들의 수를 카운트한다. 4 비트 연속성 카운터 필드 317은 방송 에러의 검출을 돕는다. 상기 카운터는 일반적으로 0부터 0xF까지 유효하고 0에서 재시작한다. 이 스트림에서 동일한 PID를 갖는 다음 패킷은 1만큼 증가된 연속성 카운터 필드를 갖게 될 것이다. 이런 방식으로 상기 연속성 카운터는 동일한 PID의 모든 패킷들 내에서는 연속적 시퀀스로 동작한다. 그러나, 서로 다른 PID를 갖는 패킷들에 대해서는 연속적 시퀀스가 상이할 것이다.
이들 헤더 필드들은 모두 DVB-H 수신을 보다 확실하게 하기 위해 수신기에 의해 사용될 수 있다. 수신은 에러 방지 기술을 사용할 때 보다 확실해 질 수 있다. 도 4는 DVB-H 송신기에서 사용되는 연접 순방향 에러 정정(concatenated FEC) 부호화 방법의 블록도이다. 상기 연접 FEC는, 부분적으로, 리드-솔로몬 부호화기인 외측 FEC 부호화기 410을 포함한다. 비디오, 오디오, 및 데이터를 포함하는 소스 데이터는 전송 스트림 패킷 405로 다중화된다. 각각의 패킷은 188 바이트 길이인데, 이 중 184 바이트는 데이터를 위한 것이고 4 바이트는 sync, 패킷 ID, 전송 에러 표시자(transport error indicator; TEI) 등과 같은 헤더를 위한 것이다. 상기 FEC 외측 FEC 부호화기 410은 RS 블록 코드(n, k)를 사용하고, 여기서 n은 블록 크기이고 k는 정보 심벌(symbol)의 수이다. RS 부호화된 심벌은 블록 인터리버(block interleaver) 412에 인가된다. 상기 블록 인터리버의 목적은 버스트 에러를 몇 개의 데이터 패킷으로 분산시키고, RS 복호화기가 에러를 정정하기 쉽게 함으로써 BER 성능을 향상시키는 것이다. 인터리빙된, 부호화된 심벌들은 내측 FEC 부호화기 414로 넘겨진다.
이레이저 정보가 없는 복호화와 비교해서 이레이저 복호화는 에러 정정 능력을 향상시킬 수 있다. 예를 들어, 이레이저가 사용될 때 (n, k) RS 복호화기는 (n-k) 이레이저까지 정정할 수 있다. 여기서 이레이저는 부호화된 심벌 값에 의문이 있음을 가리킨다. e 심벌 에러 및 f 이레이저는, f+2e≤n-k이면, 이레이저 복호화에 의해 정정될 수 있다. 그러나, 복호화 중에 이레이저가 사용되지 않는 경우에는, (n-k)/2 에러까지 정정될 수 있다.
DVB-H 표준에서, 두 개의 복호화 스테이지가 사용될 때, 첫 번째 스테이지는 일반적으로 에러를 8 바이트까지 정정할 수 있다. 두 번째 스테이지는 일반적으로, 이용가능한 이레이저 정보가 없을 때는 32 바이트까지, 그리고 이용가능한 이레이저 정보가 있을 때는 64 바이트까지 에러를 정정할 수 있다. 상기 첫 번째 복호화기는 복호화된 데이터 뿐만 아니라 이레이저 정보를 두 번째 복호화기로 공급한다. 상기 첫 번째 및 두 번째 복호화기는 서로 다른 복호화율로 복호화하기 위해 이용되는 리드-솔로몬(RS) 복호화기일 수 있다. 인터리빙(interleaving)이 사용될 때, 상기 첫 번째 복호화기에 의해 복호화된 데이터의 디인터리빙을 위해 디인터리버(deinterleaver)가 또한 사용된다. 이에 따라, 이레이저 정보뿐만 아니라 상기 첫 번째 복호화기에 의해 복호화된 데이터는 모두 상기 디인터리버에 의해 액세스가능한 메모리에 먼저 저장된다.
이레이저는 다양한 방법으로 검출된 수 있다. 예를 들어, 디지털 비디오 시스템에서는, 수신된 각각의 IP 섹션에 대한 CRC 테스트로부터 또는 수신된 각각의 전송 스트림(TS) 패킷에 대한 물리 레이어(physical layer) RS 복호화기로부터 이레이저가 검출될 수 있다. 이 경우, 상기 이레이저 정보는 IP 섹션마다 또는 TS 패킷마다 제공된다. 상기와 같이, 디인터리빙된 심벌들로부터 이레이저가 검출되지 않는다면, 이레이저 정보 또한 디인터리빙될 필요가 있다.
부호화된 블록 인터리빙 시스템에서, 블록 디인터리버는 인터리버 깊이(depth)라고 알려진 열을 R개, 그리고, 인터리버 폭(span)이라고 알려진 행을 C개 갖는 매트릭스로서 구현될 수 있다. 심벌들은 첫 번째 행부터 시작해서 다음 행들로 행의 가장 위부터 바닥까지 채워진다. 디인터리빙된 심벌들은 첫 번째 열로부터 시작해서 열의 첫 번째 행으로부터 다음 행들로, 그리고 그 다음 열로 읽혀진다. 이러한 간단하고 가장 일반적인 구현은 m×R×C 비트의 메모리 공간을 요구하고, 여기서 m은 각 심벌을 위한 비트의 수, R은 블록 디인터리버의 열의 수이고 C는 행의 수이다.
상기 블록 인터리버 깊이와 인터리버 폭이 클 때, 상기 블록 디인터리버는 대용량의 메모리를 요구한다. 따라서, 더 작은 메모리 공간을 요구하는 향상된 블록 디인터리버가 요구된다.
본 발명은 블록 인터리빙 부호화 시스템에서 에러 정정을 향상시키기 위해 이레이저 정보를 관리하는 방법 및 장치를 제공한다. 본 발명의 일 실시예에 의하면, 이레이저 정보를 저장하기 위해 하나 또는 그 이상의 이레이저 테이블이 사용된다. 각각의 이레이저 테이블은 다수의 레코드(record)를 포함하고, 각각의 레코드는 패킷과 같은 하나 또는 그 이상의 데이터 심벌 그룹(이하, 데이터라고도 함)에 대한 이레이저 정보를 유지한다. 각각의 레코드는 또한 동일한 이레이저 정보로 표현되는 데이터 그룹(들)과 연관된 마지막 어드레스를 포함한다. 각각의 행은 고정된 개수(N)의 레코드를 가질 수 있다. 예를 들어, 데이터 바이트 1-1000은 유효 데이터인 것으로 검출된다고 가정한다. 이에 따라, 이러한 바이트들을 나타내기 위해 동일한 이레이저 비트들, 예컨대, 0이 사용된다. 바이트 번호 1000과 연관된 어드레스 또한 저장된다. 본 발명은, 디지털 비디오 방송(DVB-H)와 같은, 블록 인터리빙 부호화 방법을 구현하는 모든 디바이스에 적용 가능하다.
본 발명의 일 실시예에서, 이레이저 정보를 관리하는 방법은 기록 동작 프로세스와 독출 동작 프로세스로 나누어질 수 있다. 상기 기록 동작은 복수의 부호화된 데이터 그룹을 포함하는 데이터 스트림을 수신하는 단계, 수신된 부호화된 데이터 그룹의 각각으로부터 이레이저 정보를 획득하는 단계, 상기 이레이저 정보를 기준값과 비교하는 단계, 만약 상기 이레이저 정보가 상기 기준값과 동일하지 않으면, 부분적으로 이레이저 정보 및 행 내에 있는 그룹의 마지막 바이트와 연관된 어드레스를 포함하는 레코드를 생성하고 상기 기준값을 갱신하는 단계, 및 이레이저 테이블의 일정한 위치에 상기 레코드를 저장하는 단계를 포함한다. 상기 방법은 또한, 상기 어드레스를 행의 마지막 값과 비교하는 단계, 상기 기준값이 상기 행의 마지막 값과 같을 때 더 많은 레코드가 필요한지를 결정하는 단계, 및 만약 더 많은 레코드가 필요하다고 결정되면 레코드를 생성하는 단계를 포함한다. 상기 방법은 또한, 상기 이레이저 테이블로부터 이레이저 정보를 검색하는 단계를 포함하는 독출 동작 프로세스를 포함한다. 상기 이레이저 검색 단계는, (가) 상기 이레이저 테이블 내의 행의 레코드에 액세스하는 단계, (나) 만약 상기 레코드와 연관된 현재의 열이 마지막 액세스에서 액세스된 열과 동일하지 않으면, 상기 레코드로부터 이레이저 정보를 검색하는 단계, (다) 만약 현재의 열이 상기 마지막 액세스에서 액세스된 열과 동일하다면, 다음 레코드에 액세스하는 단계, 및 (라) 마지막 열과 연관된 마지막 레코드에 액세스되고 연관된 이레이저 정보가 검색될 때까지 상기 단계 (나)로 돌아가는 단계를 포함한다.
본 발명의 다른 실시예에서, 블록 인터리빙 부호화 시스템에서 이레이저 정보를 검출하고, 저장하고, 디인터리빙하는 디바이스가 개시된다. 상기 디바이스는 부분적으로, 복수의 부호화된 데이터 그룹을 디인터리빙하고 디인터리빙되고 부호화된 데이터의 복수의 블록을 출력하는 블록 디인터리버 및 이레이저 테이블에 연결된 이레이저 검출기를 포함하고, 상기 이레이저 테이블은 다시 이레이저 정보 디인터리버에 연결된다. 상기 이레이저 정보 디인터리버는 방법에 관한 상기 단락에 개시된 독출 동작 프로세스에 따라 상기 이레이저 테이블에 저장된 이레이저 정보를 독출할 수 있다. 상기 이레이저 정보 디인터리버는 또한 FEC 복호화기에 연결될 수 있고, 상기 FEC 복호화기는 상기 디인터리빙되고 부호화된 데이터의 복수의 블록과 함께 상기 이레이저 정보 디인터리버의 디인터리빙된 이레이저 정보를 수신하고, 복호화 동작을 수행한다. 상기 이레이저 검출기는 방법에 관한 상기 단락에 개시된 기록 동작 프로세스를 수행할 수 있다. 본 발명의 일 실시예에서, 상기 이레이저 테이블은 정적 랜덤 액세스 메모리(SRAM)일 수 있다.
첨부된 도면과 이하의 상세한 설명은 본 발명의 속성과 이점에 대한 보다 나은 이해를 제공할 것이다.
본 발명에 의하면, 이레이저 정보를 사용함으로써 블록 인터리빙 부호화 시스템에서 순방향 에러 정정(FEC) 복호화 성능을 향상시킬 수 있고, 종래 기술에 비해 매우 작은 메모리 공간을 요구하는 디인터리버를 제공할 수 있다.
도 1a는 종래 기술로서 알려진, DVB-H 송신기의 불록도이다.
도 1b는 종래 기술로서 알려진, DVB-H 수신기의 블록도이다.
도 2는 종래 기술로서 알려진, MPE 프레임을 통한 전송 스트림 패킷 내의 IP 다이어그램의 캡슐화를 도시한다.
도 3은 MPEG 표준에 따른 TS 패킷의 헤더를 도시하는 블록도이다.
도 4는 종래 기술로서 알려진, DVB-H 송신기에서 사용되는 연접 순방향 에러 정정 기술의 블록도이다.
도 5는 본 발명의 일 실시예에 의한, 디인터리버 블록 522 및 저장 메모리 모듈 528에 연결되고 이어서 이레이저 검출기 520에 접속되는 이레이저 정보 디인터리버 블록 524을 도시하는 블록도이다.
도 6은 본 발명의 일 실시예에 의한 이레이저 테이블의 예시적인 블록도이다.
도 7은 본 발명의 일 실시예에 의한, 이레이저 테이블에 이레이저 정보를 기록하는 방법을 도시하는 순서도이다.
도 8은 본 발명의 일 실시예에 의한, 이레이저 테이블로부터 이레이저 정보를 독출하는 방법을 도시하는 순서도이다.
이레이저는 코드벡터(codevector) 내의 위치가 알려져 있지만 그 크기는 알려져 있지 않은 에러이다. 이레이저는 논리적 '0'일 수 있다.(즉, 에러 아님); 이레이저는 논리적 '1'일 수 있다.(즉, 데이터에 에러가 존재함). 어떠한 에러 정정 코드(ECC)에 대해서든, 이레이저 정보의 사용은 복호화를 현저히 향상시킨다. 각 레코드 내의 이레이저 정보는 n1 비트로 표현될 수 있다. 변수 n1은 비트의 수로 사용될 수 있지만, 또한 이레이저 자체로서 사용될 수도 있다. 예를 들어, 일 실시예서 n1은 1과 같을 수 있다. 일 실시예에서, 상기 이레이저 정보에 대응되는 데이터 그룹이 정확히 수신될 때 이레이저 정보는 "0"으로 설정될 수 있다; 상기 이레이저 정보에 대응되는 데이터 그룹이 정확히 수신되지 않을 때 이레이저 정보는 "1"로 설정될 수 있다. 상기와 같이, FEC 외측 부호화기는 RS 블록 부호화기 RS(n, k)이고, 여기서 n은 블록 크기이고 k는 정보 심벌의 수이다. 예를 들어, n=255이고 k=239 심벌이다. DVB-H에서, RS 코드는 28 심벌을 사용하고, 따라서 각각의 심벌은 8 비트(1 바이트)로 표현될 수 있다. TS 패킷들은 188 바이트 길이이므로, 처음 51 바이트는 0으로 설정되고 송신되지 않는다. 따라서, 전송 스트림 패킷을 위해 짧아진 RS(204, 188) 코드가 사용된다. 짧아진 코드가 사용될 때, 펑처링된(punctured) 행들에 대응되는 필드들은 에러가 있는 것으로 설정될 수 있고, 패딩된(padded) 행들에 대응되는 필드들은 에러가 없는 것으로 설정될 수 있다.
TS 패킷 복호화는 TS 패킷 헤더 내의 전송 에러 표시자(transport error indicator; TEI)를 기초로 할 수 있다. 상기 TEI 311(도 3)은, 물리 레이어 RS(204, 188) 복호화기가 상기 TS 패킷을 복호화하기 위해 이용가능하지 않다면 '1'로 설정되는 1 비트 플래그이다. RS(204, 188) 복호화기는 16 중복 바이트를 갖는 각각의 TS 패킷에서 에러가 있는 8 바이트까지 정정할 수 있다. 따라서, 에러가 8개보다 많지 않다면, RS(204, 188) 복호화기는 수신된 심벌들을 유효 심벌로서 출력한다. 그렇지 않다면, 상기 복호화기는 에러를 정정할 수 없고 수신된 심벌이 유효하지 않다고 선언할 수 있다.
TEI가 '1'인 TS 패킷은 이레이저로 고려될 수 있다. 다른 이레이저들은 13 비트 패킷 식별자(PID)가 부정확한 TS 패킷일 수 있고 상기 TS 패킷은 데이터 스트림의 일부로서 인식될 수 없기 때문에 '손실(lost)' 패킷으로 고려된다. 결국, 정확한 TS 패킷만이 정확한 데이터로서 고려되고, 부정확한 PID를 갖거나 TEI='1'이거나 8 바이트를 넘는 에러를 갖는 다른 모든 패킷들은 이레이저이다.
앞서 살펴본 바와 같이, 이레이저 정보는, 예를 들어, TS 패킷 헤더로부터 수집될 수 있다. 이는 물리 레이어 RS(204, 188)을 통하여 수행된다. 만약 2404 바이트의 한 그룹의 부호화된 데이터 내에서 에러가 존재하는 바이트의 총 수가 8보다 적으면, 상기 수신기의 RS 복호화기는 이들을 모두 정정한다. 그렇지 않다면, 상기 물리 레이어 RS 복호화기는 복호화 실패 신호를 발생시키고(예컨대, TEI 플래그에 의해) 상기 188 바이트 전체를 이레이저로서 표시한다. 이는 255 K비트의 저장 메모리 공간을 요구하고, 이는 하드웨어의 복잡성과 비용(실리콘 면적 및 테스트 시간)을 추가시킨다. 종래 기술과 비교할 때 본 발명의 실시예는 이를 현저히 감소시킬 수 있다.
물리 레이어와 같이, 시스템의 더 낮은 레이어가 하나의 데이터 그룹에 오류가 발생한 것으로(불량이라고도 함) 검출했다고 가정한다. 링크 레이어와 같은 더 높은 레이어는 동일한 데이터 그룹을 분석하고 이 데이터가 "불량"이 아니라고 결정하고 그 대신 이를 "완전한 불량은 아닐 수 있는" 데이터로서 분류할 수 있다. 여기서 다시, 변수 n1은 비트의 수로 정의될 수 있지만, 또한 이레이저 정보로서 사용될 수도 있다. 이런 경우에, n1은 1보다 클 수 있다. 예를 들어, 이레이저 정보에 대응되는 상기 데이터 그룹이 불량 데이터인 것으로 판단될 때 상기 이레이저 정보는 "11"로 설정될 수 있다; 이레이저 정보에 대응되는 상기 데이터 심벌 그룹이 유효하다고(정상이라고도 함) 판단될 때 상기 이레이저 정보는 "00"으로 설정될 수 있다; 이레이저 정보에 대응되는 상기 데이터 심벌 그룹이 "완전한 불량은 아닐 수도 있다"고 판단될 때 상기 이레이저 정보는 "01" 또는 "10"으로 설정될 수 있다. 이와 같이, 다중 레벨의 이레이저 정보가 사용될 때, 이레이저 정보는 1 비트보다 큰 값으로 표현된다.
상기 이레이저 데이터의 각각의 행은 상기 메모리의 행에 대응된다. 각각의 레코드의 마지막 어드레스(각각의 레코드는 "불량" 또는 "정상" 또는 "완전한 불량은 아닐 수 있음" 중 어느 하나로 분류되는 데이터 그룹과 연관됨)는 n2 비트로 표현된다고 가정한다. n2는 상기 레코드의 이레이저 정보가 연관되는 마지막 바이트의 행 방향 어드레스를 특정한다고 가정한다. 본 발명의 일 실시예에서, 어드레스 0은 행의 첫 번째 바이트에 대응된다. 레코드의 동일한 이레이저 정보가 상기 행의 마지막에 적용될 때, 상기 레코드의 마지막 어드레스는 R-1로 설정되고, 여기서 R은 인터리버 깊이라고도 알려진 열의 수를 나타낸다. 따라서, 본 발명의 일 실시예에 의하면, 상기 이레이저 정보를 저장하기 위해 (n1+n2)×N×C 비트의 메모리 공간이 사용되고, 여기서 C는 행의 수를 나타내고 N은 행 마다의 레코드의 수를 나타낸다.
이하의 예들은 DVB-H 시스템에서, 종래 기술로서 알려진 매트릭스 기반의 구현에 의해 사용되는 메모리 공간의 양과 본 발명에 의해 사용되는 메모리 공간의 양을 비교하여 보여준다. DVB-H 표준에 따라, 이레이저 복호화가 물리 레이어에 배치되는 RS 복호화기에 의해 수행될 때, 이 표준에서 사용되는 패킷의 크기인 184 바이트마다 하나의 이레이저 비트가 사용된다. 매트릭스 기반의 구현에서는, 아래에 연산되는 것처럼 31.9 K바이트(K=210=1024)의 메모리 공간이 요구된다:
1 비트×1024열×255행 = 255 K비트= 31.875 K바이트
상기 연산에 사용되는 1 비트는 패킷 내의 모든 바이트가 "정상" 또는 "불량"으로 분류된다고 가정한다. 상기 MPE-FEC의 각각의 행에 기록될 수 있는 최대 바이트 수는 1024이다. 본 발명의 일 실시예에서는, 좀 더 소형인 이레이저 테이블이 사용될 수 있다. DVB-H 표준에 있어서, 최대 8(1024/184<8) 레코드는 각 행에 저장되는 바이트들과 연관된 이레이저 정보를 저장하기에 충분하다. 만약 n1이 1로 설정되고 n2가 10으로 설정되면(MPE-FEC가 1024열을 갖는 더 좋지 않은 경우에 있어서), 이레이저 데이터를 저장하기 위해 아래에 연산되는 것처럼 2.739 K바이트의 메모리 공간만이 요구된다.
11 비트×8레코드×255행 = 2.739 K바이트
결과로, 상기 이레이저 테이블은 N개의 열(N은 레코드의 수이고 주어진 MPE-FEC에 대해 고정됨)과 C개의 행을 갖는 저장 매트릭스일 수 있고, 여기서 C는 상기 MPE-FEC 프레임(도 2)에서 십진수 255이다. 이 예에서, 본 발명은 종래 기술로서 알려진 매트릭스 기반의 시스템에 의해 사용되는 메모리 공간의 8.6% 이하를 요구한다. 이 예에서 알 수 있듯이, 하나의 패킷의 184 바이트마다 배치되는 데이터는 "정상" 또는 "불량"으로 분류된다. 각각의 패킷 내에서는, 데이터의 개별 바이트들이 동일하게 분류된다.
도 5는 본 발명의 일 실시예에 의한, 블록 인터리빙 부호화 기술을 사용하는 무선 시스템의 수신기에 배치되는 다수의 블록을 도시한다. 부호화된 심벌들 510은 블록 디인터리버 522 및 이레이저 검출기 520에 인가된다. 블록 디인터리버 522는 상기 부호화된 심벌들을 디인터리빙하고, 상기 디인터리빙된, 부호화된 심벌들을 FEC 복호화기 526에 공급한다. 이레이저 검출기 520은 상기 수신된 부호화된 심벌들 510으로부터 이레이저 정보를 추출하고 상기 추출된 이레이저 정보를 이레이저 정보 디인터리버 524에 공급한다. 본 발명의 일 실시예에서, 부호화된 심벌들 510은 다수의 부호화된 심벌(데이터) 그룹들로 나누어진다. 상기 그룹의 각각은 MPEG 표준에 특정된 전송 스트림(TS) 패킷의 형식에 일치하는 헤더 및 페이로드를 포함할 수 있다. 행 내의 심벌들(바이트 또는 데이터)의 수는 무선으로 수신기에 의해 수신되는 시스템 파라미터이다. 행 내의 데이터의 수는 256, 512, 768 또는 1024 중 하나일 수 있다. 이레이저 검출기 520은 행 내의 하나의 부호화된 데이터 그룹의 마지막 바이트의 어드레스를 결정하고 이를 상기 추출된 이레이저 정보와 결합하여 하나의 레코드를 생성한다. 상기 이레이저 정보는 n1 비트(들)일 수 있고 상기 부호화된 데이터 그룹(예컨대, TS 패킷)과 연관된 마지막 바이트의 어드레스는 n2 비트일 수 있는데, n2는 MPE-FEC가 1024 열을 포함하는 최악의 경우에 최대값 10을 갖는다. 따라서, 만약 n1이 1 비트이고 n2가 10 비트이면, 하나의 부호화된 데이터 그룹과 연관된 레코드는 11 비트의 워드크기(word size)를 갖게 된다. 이러한 레코드들은 링크 521을 통해 이레이저 테이블(메모리 528)에 기록된다. 메모리 528은 또한 링크 523을 통해 이레이저 정보 디인터리버 524에 연결된다. 이레이저 정보는, 상기 이레이저 정보를 디인터리빙하고 디인터리빙된 이레이저 정보를 FEC 복호화기 526에 공급하는 디인터리버 524에 의해 독출된다. 이에 응답하여 FEC 복호화기 526은 복호화된 심벌들 530을 공급한다.
도 6은 본 발명의 일 실시예에 의한 예시적인 이레이저 테이블의 블록도이다. 종래의 매트릭스 기반 시스템에서 요구되는 것처럼 모든 이레이저를 저장하는 대신, 워드크기 (n1+n2) 비트의 레코드만이 저장될 필요가 있다. 본 발명의 일 실시예에 의한 디인터리빙 방법은 매우 작은 메모리 공간을 요구한다. 메모리 528에 대응되는 이레이저 테이블 600은 N열 610 및 C개의 행 620의 저장 메모리 모듈일 수 있고, 총 N×C 메모리 셀에 있어서, 각각의 메모리 셀은 (n1+n2) 비트의 워드크기를 갖는다. 일 실시예에서, n1은 관련 그룹 내의 모든 바이트들이 "유효"인지 또는 "불량"인지를 나타내는 1 비트 TEI 플래그일 수 있고, n2는 MPE-FEC 프레임 650의 행 670 내에 캡슐화된, 관련 데이터 그룹의 마지막 바이트의 어드레스이다. 상기 MPE-FEC 프레임 650은 다수의 열 660 및 다수의 행 670의 MPE 매트릭스이다. 열의 최대 개수는 1024이다. 각각의 열 660은 RS 코드워드(codeword)를 포함한다. 각각의 코드워드는 64 바이트 신드롬(syndrome)을 포함한다. 열의 최대 개수는 1024이기 때문에, n2는 10 비트일 것이다. 이 경우, TS 패킷 내의 모든 바이트들의 이레이저를 저장하기 위해 11 비트의 메모리 셀이 오직 하나만 필요하다. 1 비트의 n1은 하나의 행에서 자신의 마지막 바이트의 어드레스에 의해 식별되는 그룹과 연관된 모든 바이트들의 이레이저 정보(유효 또는 불량)를 나타낸다. 본 발명의 또 다른 실시예에서, n1은 TS 패킷의 모든 바이트들이 "정상"(유효)이거나, "불량"(에러 포함)이거나, 또는, "완전히 불량은 아닐 수 있음"을 나타내는 2 비트일 수 있다. 이 경우, 이레이저 테이블 600은 TS 패킷(예컨대, 부호화된 데이터 그룹)과 연관된 각각의 이레이저 정보에 대해서 12 비트의 워드크기를 가질 수 있다. 본 발명의 일 실시예에 의하면 상기 이레이저 테이블 600은 그 크기가 매우 작기 때문에, 블록 디인터리버 522의 외부에 있거나 이레이저 정보 디인터리버 524와 통합될 수 있는 정적 랜덤 액세스 메모리(SRAM)로서 구현될 수 있다.
도 7은 본 발명의 일 실시예에 의한, 이레이저 정보의 이레이저 테이블에 대한 기록 동작을 실행하기 위해 수행되는 단계들의 흐름도이다. 이 동작은, MPE 매트릭스의 인덱스(열, 행)에 대응되는, 데이터에 대한 이레이저 정보를 기록하는 것이다. 단계 700에서 기록 동작을 시작한 후, 단계 702에서 수신된 새로운 그룹의 데이터에 대한 이레이저 정보가 동일한 행의 현재 레코드(기준 레코드)의 것과 동일하면, 단계 704에서 상기 행의 마지막에 도달했는지를 알기 위한 확인이 수행된다. 행의 마지막은, 수신기에 의해 무선으로 수신되는 시스템 파라미터인 MPE 프레임의 열의 수에 대응되는 값이다. 단계 704에서 상기 행의 마지막에 도달하면, 단계 705에서 레코드가 생성되고 단계 706에서 더 많은 레코드가 필요한지 결정된다. 만약 답변이 "아니오"이면, 절차가 종료된다; 만약 답변이 "예"이면 단계 708에서 또 다른 레코드가 생성된다. 만약 단계 702에서 수신된 새로운 그룹의 데이터에 대한 이레이저 정보가 동일한 행의 상기 기준 레코드의 그것과 동일하지 않다면, 단계 710에서 새로운 레코드가 생성되고, 단계 712에서 기준 레코드가 갱신되며, 단계 714에서 상기 이레이저 테이블에 상기 새로운 레코드가 저장된다.
도 8은 본 발명의 일 실시예에 의한, 이레이저 테이블로부터의 독출 동작을 실행하기 위해 수행되는 단계들의 흐름도이다. 상기 동작 800은, 이레이저 정보를 디인터리빙하는 방식으로 상기 MPE 매트릭스의 인덱스(열, 행)에 대응되는 데이터에 대한 이레이저 정보를 획득한다. 단계 802에서는 행의 첫 번째 레코드가 검색된다. 다음으로, 단계 804에서 만약 현재의 열 인덱스가 마지막 이레이저 독출 사이클로부터 액세스된 레코드의 어드레스 필드보다 작다면, 단계 806에서 상기 레코드로부터 이레이저 정보가 검색된다. 만약 단계 804에서 만약 현재의 열 인덱스가 상기 마지막 이레이저 독출 사이클동안 액세스되는 레코드의 어드레스 필드보다 작지 않다면, 단계 808에서 상기 행과 연관된 다음 레코드가 획득되고 프로세스는 상기 단계 804로 이동한다.
본 발명은 예시적인 실시예와 관련하여 설명되었지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 다수의 변형이 가능함을 인식할 수 있을 것이다. 예를 들어, 본 명세서에 개시된 프로세스는 하드웨어 구성요소, 소프트웨어 구성요소 및/또는 이들의 조합을 사용하여 구현될 수 있다. 따라서, 발명의 상세한 설명 및 도면은 발명의 범위를 한정하는 것이 아니라 예시로서 이해되어야 한다. 그러나, 청구범위에 개시된 본 발명의 더 넓은 사상과 영역을 벗어남이 없이 본 명세서에 개시된 발명에 대한 다양한 변형과 변경이 가능하며 본 발명은 첨부된 청구범위의 영역에 속하는 모든 변형과 등가물을 포함한다는 점은 명확하다.

Claims (27)

  1. 블록 인터리빙 부호화 시스템에서 이레이저(erasure) 정보를 관리하는 방법에 있어서,
    복수의 부호화된 데이터 그룹을 수신하는 단계;
    상기 복수의 부호화된 데이터 그룹과 연관된 이레이저 정보를 획득하는 단계;
    상기 이레이저 정보를 기준값과 비교하는 단계; 및
    만약 상기 이레이저 정보가 상기 기준값과 동일하지 않으면, 레코드를 생성하고, 상기 기준값을 갱신하며, 이레이저 테이블에 상기 레코드를 저장하는 단계를 포함하는 이레이저 정보 관리 방법.
  2. 제1항에 있어서,
    상기 복수의 부호화된 데이터 그룹의 각각은, MPEG 표준에 따라 복수의 필드를 포함하는 헤더 및 페이로드를 포함하는 전송 스트림 패킷인 이레이저 정보 관리 방법.
  3. 제2항에 있어서,
    상기 이레이저 정보는 상기 전송 스트림의 헤더 내의 상기 복수의 필드 중 하나인 이레이저 정보 관리 방법.
  4. 제1항에 있어서,
    상기 레코드를 생성하는 단계는,
    상기 그룹과 연관된 마지막 바이트의 어드레스를 결정하는 단계; 및
    상기 이레이저 정보 및 상기 그룹과 연관된 마지막 바이트의 어드레스를 포함하는 바이너리 워드를 형성하는 단계를 포함하는 이레이저 정보 관리 방법.
  5. 제1항에 있어서,
    상기 기준값을 갱신하는 단계는 상기 기준값을 상기 이레이저 정보로 대체하는 단계인 이레이저 정보 관리 방법.
  6. 제1항에 있어서,
    상기 그룹과 연관된 마지막 바이트의 어드레스를 행의 마지막 값과 비교하는 단계;
    상기 어드레스를 상기 행의 마지막 값과 비교한 결과가 일치하면, 새로운 레코드를 생성하고 더 많은 레코드가 필요한지를 결정하는 단계; 및
    만약 더 많은 레코드가 필요하다고 결정되면 더 많은 레코드를 생성하는 단계를 더 포함하는 이레이저 정보 관리 방법.
  7. 제1항에 있어서,
    상기 이레이저 테이블은 N개×C개의 저장 셀 매트릭스를 갖는 저장 메모리 모듈을 포함하는 이레이저 정보 관리 방법.
  8. 제7항에 있어서,
    상기 저장 메모리 모듈은 정적 랜덤 액세스 메모리(SRAM)인 이레이저 정보 관리 방법.
  9. 제7항에 있어서,
    상기 개수 C는 DVB-H 표준에 특정된 MPE-FEC의 행의 개수에 대응되는 이레이저 정보 관리 방법.
  10. 제7항에 있어서,
    상기 개수 N은 DVB-H 표준에 특정된 MPE-FEC의 열의 개수를 정수인 십진수로 나눈 결과인 양의 정수에 대응되는 이레이저 정보 관리 방법.
  11. 제10항에 있어서,
    상기 MPE-FEC의 상기 열의 개수는 십진수 256, 512, 768 또는 1024 중 하나인 이레이저 정보 관리 방법.
  12. 제10항에 있어서,
    상기 정수인 십진수는, MPEG 표준에 따른 상기 전송 스트림 패킷의 페이로드 내의 바이트의 수에 대응되는 이레이저 정보 관리 방법.
  13. 제1항에 있어서,
    상기 이레이저 테이블로부터 이레이저 정보를 검색하는 단계를 더 포함하는 이레이저 정보 관리 방법.
  14. 제13항에 있어서,
    상기 이레이저 정보를 검색하는 단계는,
    (가) 상기 이레이저 테이블 내의 행의 레코드에 액세스하는 단계 - 상기 레코드는 열 인덱스를 포함함 - ;
    (나) 만약 상기 열 인덱스가 마지막 액세스에서 액세스된 어드레스 필드보다 작으면, 상기 레코드로부터 이레이저 정보를 검색하는 단계;
    (다) 만약 상기 열 인덱스가 상기 마지막 액세스에서 액세스된 어드레스 필드보다 작지 않으면, 다음 레코드에 액세스하는 단계; 및
    (라) 마지막 열과 연관된 마지막 레코드에 액세스되고 연관된 이레이저 정보가 검색될 때까지 상기 단계 (나)로 돌아가는 단계를 포함하는 이레이저 정보 관리 방법.
  15. 블록 인터리빙 부호화 시스템에서 이레이저 정보를 검출하고, 저장하고, 디인터리빙하는 이레이저 순방향 에러 정정(FEC) 복호화 디바이스에 있어서,
    복수의 부호화된 데이터 그룹을 디인터리빙하고, 디인터리빙된 부호화된 데이터의 복수의 블록을 출력하는 블록 디인터리버;
    이레이저 테이블에 연결된 이레이저 검출기;
    상기 이레이저 테이블에 연결되고 복수의 디인터리빙된 이레이저 정보를 출력하는 이레이저 정보 디인터리버; 및
    상기 디인터리빙되고 부호화된 데이터의 복수의 블록과 상기 복수의 디인터리빙된 이레이저 정보를 수신하고, 복호화된 데이터 스트림을 출력하는 FEC 복호화기를 포함하는 이레이저 FEC 복호화 디바이스.
  16. 제15항에 있어서,
    상기 복수의 부호화된 데이터 그룹의 각각은 MPEG 표준에 따라 헤더 및 페이로드를 포함하는 전송 스트림 패킷인 이레이저 FEC 복호화 디바이스.
  17. 제15항에 있어서,
    상기 이레이저 검출기는 청구항 제1항 또는 제6항의 방법에 따라 동작하는 이레이저 FEC 복호화 디바이스.
  18. 제15항에 있어서,
    상기 이레이저 검출기는, 표시자 필드를 파싱(parsing)하고 MPE 프레임의 행에 존재하는 하나의 부호화된 데이터 그룹과 연관된 마지막 바이트의 어드레스를 결정하는 이레이저 FEC 복호화 디바이스.
  19. 제18항에 있어서,
    상기 표시자 필드는 상기 그룹 내의 캡슐화된 모든 부호화된 데이터에 대한 이레이저 정보를 나타내는 바이너리 플래그이고, 상기 그룹은 MPE-FEC 프레임의 행의 상기 마지막 바이트의 어드레스에 의해 식별될 수 있는 이레이저 FEC 복호화 디바이스.
  20. 제18항 또는 제19항에 있어서,
    상기 이레이저 검출기는 상기 이레이저 정보 및 MPE-FEC 프레임의 행에 존재하는 당해 그룹의 상기 마지막 바이트의 어드레스를 포함하는 레코드를 생성하는 이레이저 FEC 복호화 디바이스.
  21. 제20항에 있어서,
    상기 레코드는 상기 이레이저 테이블에 저장되는 이레이저 FEC 복호화 디바이스.
  22. 제15항에 있어서,
    상기 이레이저 테이블은 N개×C개의 메모리 셀 매트릭스를 갖는 저장 메모리 모듈을 포함하는 이레이저 FEC 복호화 디바이스.
  23. 제22항에 있어서,
    상기 개수 C는 DVB-H 표준에 특정된 MPE-FEC 프레임의 행의 개수에 대응되는 이레이저 FEC 복호화 디바이스.
  24. 제22항에 있어서,
    상기 개수 N은 DVB-H 표준에 특정된 MPE-FEC 프레임의 열의 개수를 정수인 십진수로 나눈 결과인 정수에 대응되는 이레이저 FEC 복호화 디바이스.
  25. 제24항에 있어서,
    상기 열의 개수는 십진수 256, 512, 768 또는 1024 중 하나인 이레이저 FEC 복호화 디바이스.
  26. 제15항에 있어서,
    상기 이레이저 테이블은 정적 랜덤 액세스 메모리(SRAM)인 이레이저 FEC 복호화 디바이스.
  27. 제15항에 있어서,
    상기 이레이저 정보 디인터리버는 청구항 제13항 또는 제14항의 방법에 따라 동작하는 이레이저 FEC 복호화 디바이스.
KR1020107004693A 2007-08-15 2008-08-14 부호화된 블록 인터리빙 신호의 디인터리빙 이레이저 데이터를 관리하는 방법 및 장치 KR20100042652A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US95164107P 2007-08-15 2007-08-15
US60/951,641 2007-08-15

Publications (1)

Publication Number Publication Date
KR20100042652A true KR20100042652A (ko) 2010-04-26

Family

ID=40351162

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107004693A KR20100042652A (ko) 2007-08-15 2008-08-14 부호화된 블록 인터리빙 신호의 디인터리빙 이레이저 데이터를 관리하는 방법 및 장치

Country Status (7)

Country Link
US (1) US8290059B2 (ko)
EP (1) EP2183882A1 (ko)
JP (1) JP2010537508A (ko)
KR (1) KR20100042652A (ko)
CN (1) CN101803290A (ko)
TW (1) TW200926835A (ko)
WO (1) WO2009023789A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130020980A (ko) * 2011-08-22 2013-03-05 삼성전자주식회사 오류정정부호 기반 암호화 시스템의 성능 개선 방법 및 장치
WO2016108373A1 (ko) * 2014-12-29 2016-07-07 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010537508A (ja) 2007-08-15 2010-12-02 マックス リニアー、インコーポレイテッド ブロックインタリーブされた符号化信号のデインタリーブ消失情報を保存する方法および装置
US8352842B2 (en) * 2008-06-18 2013-01-08 Acterna Llc Determining contribution of burst noise to data errors
US8059687B2 (en) * 2008-12-16 2011-11-15 Intel Corporation Algorithm for managing data loss in software demodulators
US8281227B2 (en) * 2009-05-18 2012-10-02 Fusion-10, Inc. Apparatus, system, and method to increase data integrity in a redundant storage system
CN101924608B (zh) * 2010-09-01 2013-03-20 北京天碁科技有限公司 一种实现块交织的方法、装置及发射机
US8862902B2 (en) * 2011-04-29 2014-10-14 Seagate Technology Llc Cascaded data encryption dependent on attributes of physical memory
US9231808B1 (en) * 2011-06-21 2016-01-05 Adtran, Inc. Systems and methods for compensating for impulse noise
JP6475946B2 (ja) * 2014-09-29 2019-02-27 日本放送協会 デジタルワイヤレスマイク用受信装置
US10681386B1 (en) * 2017-04-03 2020-06-09 L3 Technologies, Inc. Insertion of end of frame indicators in streaming video protocols
CN109428748B (zh) * 2017-08-28 2022-03-29 华为技术有限公司 一种交换方法和装置
US10447313B2 (en) * 2017-11-28 2019-10-15 X Development Llc Communication method and system with on demand temporal diversity
US11055174B2 (en) * 2018-12-31 2021-07-06 SK Hynix Inc. Soft chipkill recovery for bitline failures

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3382159B2 (ja) * 1998-08-05 2003-03-04 株式会社東芝 情報記録媒体とその再生方法及び記録方法
US6490705B1 (en) * 1998-10-22 2002-12-03 Lucent Technologies Inc. Method and apparatus for receiving MPEG video over the internet
US6919825B2 (en) 2003-09-25 2005-07-19 Peerless Systems Corporation Split runlength encoding method and apparatus
ITMC20030116A1 (it) 2003-09-30 2005-04-01 Romano Lepore "sistema di corde salvavita"
DE602004030313D1 (de) * 2004-02-13 2011-01-13 Alcatel Lucent Iterative Dekodierung zweidimensionaler Blockkodes
GB2415873A (en) * 2004-06-30 2006-01-04 Nokia Corp Erasure information generation in Forward Error Correction decoding
GB2437900A (en) * 2005-02-10 2007-11-07 Siano Mobile Silicon Ltd System and method for mitigating memory requirements during MPE-FEC processing
EP2268042B1 (en) * 2005-03-10 2014-07-02 Qualcomm Incorporated A decoder architecture for optimized error management in streaming multimedia
US7610544B2 (en) * 2005-05-18 2009-10-27 Telegent Systems, Inc. Erasure generation in a forward-error-correcting communication system
AU2006248710B2 (en) * 2005-05-19 2011-01-20 Nokia Corporation System and method for providing unequal error protection to priority labeled datagrams in a DVB-H transmission system
US20070019578A1 (en) * 2005-07-14 2007-01-25 Siano Mobile Silicon Ltd. Method for efficient energy consumption in battery powered handheld and mobile devices
KR100724891B1 (ko) * 2005-09-16 2007-06-04 삼성전자주식회사 디지털 비디오 방송 시스템에서 섹션 검출 및 신뢰성 정보획득을 위한 다중 순환잉여검증 장치 및 방법
TWI401910B (zh) * 2005-09-19 2013-07-11 St Ericsson Sa 在包含多層級與可適性消除資料的移動式無線應用中用來校正錯誤的裝置與方法
US7447980B2 (en) * 2005-10-17 2008-11-04 Newport Media, Inc. Error detection and correction in data transmission packets
US7797607B2 (en) * 2005-12-27 2010-09-14 Lg Electronics, Inc. DTV transmitter and method of coding main and enhanced data in DTV transmitter
US7451378B2 (en) * 2006-01-16 2008-11-11 Sirf Technology, Inc. Method and apparatus for memory optimization in MPE-FEC system
US7644343B2 (en) * 2006-01-17 2010-01-05 Rajugopal Gubbi Error resilience methods for multi-protocol encapsulation forward error correction implementations
KR20070079719A (ko) * 2006-02-03 2007-08-08 삼성전자주식회사 휴대 방송 단말기에서 데이터 수신 장치 및 방법
KR100790192B1 (ko) * 2006-05-02 2008-01-02 삼성전자주식회사 Mpe-fec 데이터 수신 방법 및 그 방법이 적용된dvb-h 방송 수신 단말기
DE102006026895B3 (de) * 2006-06-09 2007-11-08 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Interleaver-Vorrichtung, Empfänger für ein von der Interleaver-Vorrichtung erzeugtes Signal, Sender zum Erzeugen eines Sendesignals, Verfahren zum Verarbeiten eines Codeworts, Verfahren zum Empfangen eines Signals und Computer-Programm
US20080052609A1 (en) * 2006-08-14 2008-02-28 Chia-Ning Peng Method and apparatus to perform erasure forecasting in communication systems
US7925962B2 (en) * 2007-01-18 2011-04-12 Mediatek Usa Inc. DVB-H system and method for performing forward error correction
US7890845B2 (en) * 2007-03-28 2011-02-15 Newport Media, Inc. Integrated MPE-FEC RAM for DVB-H receivers
US8296621B2 (en) * 2007-04-04 2012-10-23 Freescale Semiconductor, Inc. Integrated circuit comprising error correction logic, and a method of error correction
US7987411B1 (en) * 2007-04-25 2011-07-26 Samsung Electronics Co., Ltd. Method and apparatus for writing data to MPE buffer and an MPE-FEC system
US7796600B2 (en) * 2007-05-30 2010-09-14 Newport Media, LLC Compact MPE-FEC erasure location cache memory for DVB-H receiver
JP2010537508A (ja) 2007-08-15 2010-12-02 マックス リニアー、インコーポレイテッド ブロックインタリーブされた符号化信号のデインタリーブ消失情報を保存する方法および装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130020980A (ko) * 2011-08-22 2013-03-05 삼성전자주식회사 오류정정부호 기반 암호화 시스템의 성능 개선 방법 및 장치
WO2016108373A1 (ko) * 2014-12-29 2016-07-07 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
US9729275B2 (en) 2014-12-29 2017-08-08 Lg Electronics Inc. Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals
US10090966B2 (en) 2014-12-29 2018-10-02 Lg Electronics Inc. Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals
US10158452B2 (en) 2014-12-29 2018-12-18 Lg Electronics Inc. Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals

Also Published As

Publication number Publication date
US8290059B2 (en) 2012-10-16
CN101803290A (zh) 2010-08-11
JP2010537508A (ja) 2010-12-02
WO2009023789A1 (en) 2009-02-19
EP2183882A1 (en) 2010-05-12
US20090052541A1 (en) 2009-02-26
TW200926835A (en) 2009-06-16

Similar Documents

Publication Publication Date Title
KR20100042652A (ko) 부호화된 블록 인터리빙 신호의 디인터리빙 이레이저 데이터를 관리하는 방법 및 장치
US7525993B2 (en) Robust transmission system and method for mobile television applications
KR100724891B1 (ko) 디지털 비디오 방송 시스템에서 섹션 검출 및 신뢰성 정보획득을 위한 다중 순환잉여검증 장치 및 방법
US8817780B2 (en) TS packet grooming
KR100735276B1 (ko) 디지털 비디오 방송 시스템에서 다중 프로토콜 캡슐화순방향 오류 정정 프레임의 복호 방법 및 장치
KR100856525B1 (ko) 데이터 송신 및 수신용 시스템 및 방법
US20070240027A1 (en) Forward Error Correction Decoders
US9078034B2 (en) Apparatus and method for communicating burst mode activity
US20030099303A1 (en) Digital television (DTV) transmission system using enhanced coding schemes
CA2692987A1 (en) Method and device for continuous adaptation of coding parameters to a variable user-data rate
EP2186243A2 (en) Methods and systems for providing different data loss protection
JP2010232803A (ja) 受信装置及び方法、プログラム、並びに受信システム
US7877663B2 (en) Forward error correction decoders
US10090949B2 (en) Transmitting apparatus and receiving apparatus, and signal processing method thereof
US20100111168A1 (en) Data communication unit, data communication network and method of decoding
Nazir et al. Unequal error protection for data partitioned H. 264/AVC video streaming with Raptor and Random Linear Codes for DVB-H networks
KR20070081907A (ko) 디지털 비디오 방송 시스템에서 다중 프로토콜 캡슐화순방향 오류 정정 프레임의 복호 방법 및 장치
US7856587B2 (en) Memory reduction in DVB-H applications
KR20080008849A (ko) 디지털 비디오 방송 시스템에서 방송 데이터 수신 장치 및방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application