KR20070044405A - 포워드 에러 정정 디코더들 - Google Patents

포워드 에러 정정 디코더들 Download PDF

Info

Publication number
KR20070044405A
KR20070044405A KR1020067027954A KR20067027954A KR20070044405A KR 20070044405 A KR20070044405 A KR 20070044405A KR 1020067027954 A KR1020067027954 A KR 1020067027954A KR 20067027954 A KR20067027954 A KR 20067027954A KR 20070044405 A KR20070044405 A KR 20070044405A
Authority
KR
South Korea
Prior art keywords
data
decoder
datagrams
list
error
Prior art date
Application number
KR1020067027954A
Other languages
English (en)
Other versions
KR100885429B1 (ko
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 KR20070044405A publication Critical patent/KR20070044405A/ko
Application granted granted Critical
Publication of KR100885429B1 publication Critical patent/KR100885429B1/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
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • 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
    • 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
    • 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
    • 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/6362Error control coding in combination with rate matching by puncturing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0052Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
    • 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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

말소 정보 테이블은 데이터 프레임의 각 열의 각 성분마다 어떤 성분을 포함하는 것이 아니라 그 각 열에 대해 한 성분을 포함하고, IP 데이터그램 버퍼(66)와 RS 데이터 버퍼(67)에 저장된다. 따라서, CRC 체크가, 수신된 데이터 프레임의 개별 성분들이 아닌 데이터그램들에 대해 수행되어, 리드 솔로몬 디코더(69)에 의해 효과적인 에러 정정이 수행될 수 있다. 실제로 에러가 다른 열에 존재할 때 에러가 존재한다고 표시될 수 있기 때문에, 에러 정정의 효율이 떨어진다. 그러나 말소 정보를 저장하는데 필요한 메모리 량은 줄어든다. 다른 실시예 (도 9 및 도 10)에서, 링크된 리스트는 같은 에러 상태 (즉 신뢰성 있거나 신뢰성이 없다는)를 가진 데이터그램들의 각 시리즈에 대해 한 성분을 포함한다. 각 성분은 그 시퀀스 내 제1데이터그램의 시작 어드레스를 포함하고, 에러 상태를 나타낸다. 다른 리스트들이 어플리케이션 데이터와 패리티 데이터에 대해 사용될 수 있다.

Description

포워드 에러 정정 디코더들{Forward error correction decoders}
본 발명은 포워드 에러 정정 디코더를 동작하는 방법 및 포워드 에러 정정 디코더에 관한 것이다.
DVB-T (Terrestrial digital Video Broadcasting) 브로드캐스트 시스템과 이전에는 DVB-X로도 알려진 B-H (DVB handheld)라 불리는 그 확장 시스템에서 MPE 레벨 포워드 에러 정정 (MPE-FEC)을 사용하는 것이 제안된다. 이것은 수신기가 모바일 단말에 포함되어 있을 때 특히 중요한 것일 수 있다.
MPE-FEC는 MPE 섹션 레벨에서의 높은 패킷 손실율 (Packet Loss Ratio, PLR) 상황하에서의 수신을 지원하기 위해 도입되도록 된 것이다. 그와 같은 높은 PLR은 가령 모바일 채널들 상에서 (높은 도플러 주파수대를 경험할 때) 속도가 너무 높을 때나, 캐리어(carrier) 대 잡음 비가 너무 낮을 때, 및/또는 임펄스 잡음으로 인해 발생할 수 있다.
전송기 내 MPE-FEC 인코더는 보통 IP 캡슐화기(encapsulator) (IPE) 안에 자리한다. 캡슐화기는 통상적으로 미리 정해진 크기로 코딩 테이블이나 어레이를 통해 데이터 패킷들을 저장한다. 그런 다음 포워드 에러 정정 데이터가 어레이의 각 행(row) 마다 산출되고, 이것이 패리티 데이터를 생성한다. 이 데이터가 이제 패 리티 데이터 섹션이라 불리고 또 RS (Reed Solomon) 데이터 테이블로도 불리는 어레이 부분으로 들어간다. 이것의 한 예가 도 1에 예시되어 있다.
도 1을 참조할 때, 예로 든 코딩 어레이(1)는 1024 행의 성분들 x 255 열(column)의 성분들을 포함하는 것으로 그려져 있다. 이 예의 최대 행의 수는 1024라는 것이 약속이지만, 그보다 적은 수의 행들이 있을 수도 있다. 행의 수는 DVB 브로드캐스트의 time_slice_fec_indicator_descriptor 필드를 통해 신호 보내진다. 다른 시스템들에서는 1024 행보다 많은 행이 있을 수 있다. 어레이의 각 성분은 한 바이트의 데이터를 저장한다. 최초의 191 열들의 성분들은 어플리케이션 데이터(5) (빗금 치지 않은 것으로 도시됨)와, 제로 패딩 (zero padding)(6) (교차 무늬 빗금 친 것으로 도시됨)으로 이뤄져 있다.
어플리케이션 데이터는 다수의 데이터그램들로 이뤄져 있으며, 데이터그램들은 최상위 좌측 코너에서 시작하여 차례로 열들을 채우는 식으로 순차적으로 테이블 안에 포함된다. 이 예에서, 제1데이터그램(2) 뒤에, 제1열에 포함된 부분(3a)과 제2열에 포함된 이차 부분(3b)을 포함하는 제2데이터그램이 따라온다. 마찬가지로, 제3데이터그램은 제2열에 한 부분(4a)을 포함하고 제3열에 다른 한 부분(4b)을 포함한다. 필요한 모든 데이터그램들이 코딩 어레이 안에 포함되었으면, 191 개의 열들에 속하지만 어플리케이션 데이터가 포함되어 있지 않은 성분들은 제로 패딩된다, 즉, 이들은 0을 채워진다. 최초의 191 개 열들을 어플리케이션 데이터와 제로 패딩으로 채운 다음에, 패리티 데이터가 산출된다.
패리티 데이터를 준비하는 전형적인 방식이, 리드 솔로몬 (Reed Solomon) 알 고리즘을 이용하는 것이다. 이것은, 1024 행들 각각 마다 계산된다. 한 행 안에서, 어플리케이션 데이터 및 제로 패딩으로 이뤄진 191 개의 성분들 각각에 대해,리드 솔로몬 패리티 데이터의 64 개 성분들이 생성되어, 그 행 끝에 포함된다. 1024 행들 각각에 대해 이러한 절차를 반복함으로써 코딩 어레이(1)는 어플리케이션 데이터 성분들, 제로 패딩 또는 패리티 데이터 성분들로 완성되게 된다. 따라서, MPE-FEC를 이용하여, 약 25%의 TS (Transport Stream, 전송 스트림) 데이터가 패리티 오버헤드에 할당된다. 패리티 데이터 섹션은 7 (나란한 빗금들이 쳐진 것으로 도시됨)로 나타낸다. 어플리케이션 데이터그램들이 MPE 섹션들 안에서 캡슐화되고, RS 패리티 데이터의 각 열이 각자의 한 MPE-FEC 섹션 안에서 캡슐화된다. 또, MPE 및 MPE-FEC 섹션들은 전송할 전송 스트림 (TS) 패킷들로 나눠진다. 테이블의 각 데이터그램의 시작 어드레스가 수신기로 신호 된다. 이것이 코딩 어레이(1)가 수신기에서 용이하게 복구될 수 있게 한다. 제로 패딩은 보통 전송되지 않는다.
도 1의 예에서, 행들과 열들의 수는 도시하기 쉽도록 통합되어 보여지고 있다.
상술한 FEC 절차를 RS (255, 191)이라 부르며, 이것은 리드 솔로몬 255 열들을 나타내고, 이들 중 191개가 어플리케이션 데이터와 제로 패딩임을 나타낸다. 리드 솔로몬 FEC 절차는 한 행 내 성분들 중 32개의 에러들을 정정할 수 있다. 만약 말소(erasure) 정보가 사용되면, 에러들은 한 행의 64 성분들에 있어서 정정될 수 있다.
말소 정보는 수신기에서 재현된 코딩 어레이(1)의 어떤 성분들이 그들 안에 에러들을 포함하는지를 식별한다. 따라서, 1024 행 x 255 열로 된 말소 정보 테이블이 만들어질 수 있다. 코딩 어레이(1)에 존재하는 행들만큼 많은 말소 정보 테이블의 행들이 있을 수 있다. 코딩 어레이(1)는 각 성분에 한 바이트 데이터를 포함하지만, 대응하는 말소 정보 테이블의 성분들은 단 1 비트를 포함한다. 이 예에서, 말소 정보 테이블의 한 성분은, 대응하는 성분이 올바르면 '0'이고, 대응하는 성분이 틀리면 '1'이 된다. 수신된 성분의 데이터가 올바른지 틀린지 여부를 판단하는데 필요한 정보는, 인터넷 프로토콜 (IP) 데이터그램들이나 MPE 섹션들에 대해서는 CRC (Cyclic redundancy Check)로부터, 전송 스트림 패킷들에 대해서는 DVB-T 리드솔로몬 디코더부터, 또는 이들의 조합으로부터 얻어질 수 있다. 한 성분이 올바른지 아닌지 여부를 판단할 때, RS 패리티 데이터(7)가 어플리케이션 데이터 성분들(5)과 동등하게 다뤄진다. 그러나, 제로 패딩은 그 패딩 위치가 알려진 경우 말소 디코딩을 이용할 때 항상 옳다고 마크된다.
리드 솔로몬 알고리즘은 데이터그램들(2부터 4)의 어플리케이션 데이터의 성질에 좌우되지 않는다. 그에 따라, 이 절차는 멀티-프로토콜 캡슐화 (MPE)와 함께 이용가능하다. 이것은 특히 DVB-H에서 중요하다고 보이는데, 이는 데이터가 무엇보다 시청각 콘텐츠, 오디오 콘텐츠, 또는 파일 다운로드들과 관련이 있을 것이기 때문이다.
MPE-FEC는, MPE-FEC에 무지한 (그러나 MPE 가능한) DVB 수신기가 완전 후호환(backwards-compatible) 방식으로 MPE 스트림을 수신 가능하게 되도록 도입된다. 이 후호환성은 MPE-FEC가 타임 슬라이싱과 함께 사용되고 타임 슬라이싱 없이 사용될 때 모두 해당한다. MPE-FEC는 의무적인 것이 아니다. 그 사용은 TS의 각 기본 스트림마다 별도로 정의된다. 각 기본 스트림마다, MPE-FEC가 사용될지 말지 여부를 선택하는 것이 가능하고, 만일 그것을 사용하는 경우, 특히 펑처링(puncturing, 데이터 누락시키기)과 제로 패딩을 통해 FEC 오버헤드와 RF 성능 간 절충을 택하는 것이 가능하다. 따라서, MPE-FEC 및 그에 따른 최소 지연이 없는 시간에 민감한 서비스들이, MPE-FEC를 사용하는 시간에 덜 민감한 서비스들과 동일한 TS 상에, 그러나 다른 기본 스트림들 위에 합해질 수 있을 것이다.
코딩 어레이(1)의 191개 열들에 포함된 것 데이터 중 어느 것이 어플리케이션 데이터 성분들이고 어느 것이 제로 패딩인지를, 두 개의 독자적 방식을 사용해 식별하는 것이 제안되었다. 제안된 제1방식에서, MPE나 MPE-FEC 헤더를 통해 전송되는 타임 슬라이싱 및 FEC 실시간 파라미터들의 1 비트 필드를 "table_boundary"라 칭한다. 이 필드는 현 MPE-FEC 테이블의 마지막 IP 데이터그램을 포함하는 MPE 섹션에 대해 "1"로 세팅된다. 수신기가, table_boundary 플래그가 1로 세팅되어 있는 MPE 섹션을 찾으면, 수신기는 (CRC 체크가 마지막 MPE 섹션이 올바르다는 것을 가리킨다고 추정하고) 제로 패딩의 시작 포인트를 판단할 수 있다. IP 데이터 그램들의 시작 어드레스가 MPE 섹션 헤더를 통해 신호 된다. 보통, 제로 패딩의 시작 포인트는 시작 어드레스 및 마지막 IP 데이터그램의 길이로부터 산출될 수 있다.
다른 제안은, FEC 섹션 헤더에 "padding_columns"이라 불리는 8 비트 필드를 포함시키는 것이다. 이 필드는 제로 패딩만을 포함한 열들의 수를 가리키는 것으로 된다. 한 열이 어플리케이션 데이터와 제로 패딩을 모두 포함하면, 그 전 열은 어플리케이션 데이터로 취급된다.
1024 행들을 가진 코딩 어레이(1)의 프레임은 2Mbit를 약간 초과한 데이터를 포함하고, 그것을 저장한다는 것은 모바일 수신기에 큰 부담이 된다는 것을 나타낸다. 이러한 부담은 MPE-FEC가 사용될 때 더 증가하는데, 그 이유는 패리티 데이터가 저장되어야 하고, 그 코딩 어레이(1)의 말소 정보 테이블이 코딩 어레이의 1/8 크기인 255kbit의 데이터를 포함하기 때문이다. 본 발명의 목적은 포워드 에러 정정을 이용해 수신한 데이터를 디코딩하는데 필요로 되는 메모리 양을 줄이는 데 있다.
본 발명의 제1양태에 따르면, 포워드 에러 정정 디코더가 제안되며, 이 디코더는, 데이터 성분들의 행과 열로 된 테이블 안에 정렬될 수 있는 복수의 멀티비트(multibit) 데이터 성분들로 되어 어플리케이션 데이터 성분들과 패리티 데이터 성분들을 포함하는 데이터 프레임을 수신하고; 에러들이 있는지 데이터 프레임 내 데이터를 체크하고; 데이터의 각 유닛이 복수의 데이터 성분들을 포함하는 데이터의 복수 유닛들 각각에 대해, 그 각 유닛안의 모든 성분들이 에러가 없는지 있는지 여부를 가리키는 말소 정보를 생성하는, 한 개 이상의 프로세서들을 포함한다.
말소 정보는 한 데이터 성분의 크기보다 큰 데이터 유닛에 대해 생성되므로, 전체 데이터 프레임에 필요한 말소 정보의 양은 종래의 기술에서보다 적다. 이것은, 수신기에서 보다 적은 메모리가 데이터 프레임을 처리에 필요하게 됨을 의미하며, 이것은 수신기가 모바일 수신기인 경우 특히 중요하게 된다. 이러한 메모리 절감은 수신기에서의 에러 정정 능력의 감소라는 대가를 치르고 일부 구성을 통해 이뤄질 수 있으나, 이러한 것은 대부분의 상황에서 문제가 되지 않는 것으로 간주된다.
실시예들에서 데이터 성분들은 각각 한 바이트씩이지만, 본 발명이 다른 데이터 성분 크기들로도 적용될 수 있다는 것을 알 수 있을 것이다. 데이터 성분들은 가령 리드 솔로몬 디코더를 이용한 포워드 에러 정정에 의해 개별적으로 정정될 수 있는 성분들이다.
디코더는 어레이에 말소 정보를 저장하도록 구성됨이 바람직하다. 특히 어플리케이션 데이터, 패리티 데이터, 및 만약 있다면 패딩 데이터 부분들인, 데이터 프레임의 서로 다른 부분들마다 별개의 어레이가 있을 수 있다. 말소 정보는 패딩 데이터만을 포함하는 데이터 유닛들에 대해서는 저장되지 않는다. 이와 잘리, 한 개의 어레이가 데이터 프레임의 어플리케이션 데이터 및 패딩 데이터 부분들 모두에 대해 사용될 수도 있다. 패딩 데이터에 대해 말소 정보가 저장되는 경우, 이는 보통 패딩 데이터가 에러 없음을 가리킬 것이다.
디코더는 아이템들의 리스트 안에 말소 정보를 저장하도록 구성될 수 있고, 각 아이템은 성분 어드레스 및 에러 표시를 포함하고, 리스트 내 각 아이템은 같은 에러 상태를 가진 일련의 데이터 유닛들의 시퀀스 경계를 식별한다.
말소 정보를 리스트로서 저장하는 것은 크기에 있어 콤팩트하면서 쉽게 이용가능하게 할 수 있다. 리스트 내 각 아이템은 상이한 에러 상태를 가진 데이터 유닛들의 시퀀스와 그 시퀀스에 인접한 각 시퀀스에 대한 경계를 식별할 수 있다. 이것은 그 리스트가 더 작아질 수 있게 하는데, 그 이유는 리스트가 한 시퀀스에서 다른 시퀀스로 에러 상태 변화가 있는 경우에만 아이템을 포함하기 때문이다. 인접하는 시퀀스들이 서로 다른 에러 상태들을 가지는지 그렇지 않은지의 여부에 따라, 디코더는 어플리케이션 데이터를 포함하는 데이터 유닛들의 제1리스트 및 패리티 데이터를 포함하는 데이터 유닛들의 제2리스트에 말소 정보를 저장하도록 구성될 수 있다.
데이터 프레임이 복수의 데이터그램들을 포함하고, 각 데이터그램이 복수의 성분들을 포함할 때, 디코더는 전체 데이터그램들의 에러를 체크하도록 구성될 수 있다. 이것은 각 데이터그램이 주기적 반복 체크나 다른 체크를 포함하는 경우 특히 편리한데, 이러한 처리가 각 성분의 에러 상태를 개별적으로 체크하는 처리 보다, 수신기의 자원들에 대해 훨씬 적은 부담을 줄 수 있기 때문이다.
디코더는, 한 데이터의 유닛이, 한 개 이상의 에러들을 포함한다고 판단되는 데이터그램의 적어도 일부를 포함하는 경우, 그 데이터 유닛에서 에러를 나타내는 말소 정보를 생성하도록 구성됨이 바람직하다. 따라서, 모든 에러들이 말소 정보에서 식별될 수 있지만, 에러들을 포함하지 않는 일부 성분들 역시 에러를 포함한다고 마크되는 경향이 있을 수도 있다. 그러나, 이것은 모든 에러들을 식별가능하게 하므로, 에러가 간과되는 것을 막을 수 있게 된다.
데이터 프레임의 각 열은 한 유닛의 데이터로 이뤄짐이 바람직하다. 이것은 데이터의 각 열 마다 말소 정보의 한 성분이 생성되게 만든다. 따라서, 데이터 프레임의 각 성분에 대해 말소 정보의 성분이 있었던 경우에 비해, 말소 정보를 저장하는데 필요한 메모리 양이 상당하게 감소 될 것이다. 또, 말소 정보량은 데이터 프레임의 행들의 개수에 따라 가변되지 않으므로 수신기 내 메모리 할당을 단순화시킨다.
본 발명은 이전에 청구된 것과 같은 포워드 에러 정정 디코더를 포함하는 디지털 비디오 브로드캐스팅 수신기 등의 수신기 역시 제공한다. 그 수신기는 모바일 단말에 포함됨이 바람직하다.
본 발명의 제2양태에 따르면, 포워드 에러 정정 디코더를 동작하는 방법이 제안되며, 이 방법은,
데이터 성분들의 행과 열로 된 테이블 안에 정렬될 수 있는 복수의 멀티비트(multibit) 데이터 성분들로 되어 어플리케이션 데이터 성분들과 패리티 데이터 성분들을 포함하는 데이터 프레임을 수신하는 단계;
에러들이 있는지 데이터 프레임 내 데이터를 체크하는 단계;
데이터의 각 유닛이 복수의 데이터 성분들을 포함하는 데이터의 복수 유닛들 각각에 대해, 그 데이터 유닛의 모든 데이터 성분들이 에러가 없는지 있는지 여부를 가리키는 말소 정보를 생성하는 단계를 포함한다.
이제부터 본 발명의 실시예들이 첨부된 도면들을 참조하여 단지 예를 통해 설명될 것이다.
도 1은 FEC 디코더들 및 수신기들의 동작을 예시하는데 사용되는 전형적 코딩 어레이의 개략도이다;
도 2는 본 발명이 작동할 수 있는 통신 시스템의 실시예를 도시한다;
도 3은 도 2 시스템의 일부를 이루는 MPE 캡슐화기의 실시예를 도시한다;
도 4는 전형적 전송 스트림 패킷을 도시한다;
도 5는 도 1 시스템에 포함되어 본 발명을 구헌하는 모바일 단말을 개략적으로 예시한다;
도 6은 본 발명에 따라 디코더를 포함하는 도 5 모바일 단말의 소정 부분들의 동작들을 보인 것이다;
도 7은 본 발명을 예시하기 위해 사용된 코딩 어레이 또는 데이터 프레임의 개략도이다;
도 8 및 9는 각각 본 발명의 제1 및 제2실시예에 따른 디코더 동작을 예시한 흐름도들이다;
도 10은 제2실시 디코더에 의해 제공되는 말소 정보 테이블이다.
도 2를 참조할 때, 콘텐츠를 모바일 단말(20)로 전송하기 위한 통신 네트워크(21)가 도시된다. 통신 네트워크(21)는 DVB-T (terrestrial digital video broadcasting) Ehms DVB-H 네트워크를 포함하며, 이것은 인터넷 프로토콜 데이터 캐스팅 (IPDC) 서비스를 위한 콘텐츠를 전송하는 브로드캐스트 액세스 네트워크로서 사용된다. 그러나, DVB 네트워크 (DVB-C)나 위성 DVB (DVB-S) 네트워크, 디지 털 오디오 브로드캐스팅 (DAB) 네트워크, ATSC (Advanced television System Committe) 네트워크 또는 ISDB (Integrated Services Digital Broadcasting) 네트워크 같은 다른 타입의 DVB 네트워크들을 포함하여 사용될 수 있다.
통신 네트워크(21)는 가령 비디오, 오디오 및 데이터 파일들의 형식으로 된 콘텐츠의 소스들(23-1, 23-2), 콘텐츠를 검색, 재포맷, 및 저장하기 위한 콘텐츠 제공자(24), 서비스 구성을 결정하는 데이터캐스트 서비스 시스템 서버(25), 인터넷 프로토콜 (IP) 캡슐화기(IPE)(26), 및 신호(28)를 변조하여 모바일 단말(20)을 포함한 수신기들 (미도시)로 브로드캐스트하는 전송기(27)를 포함한다.
도 3을 참조할 때, IP 캡슐화기(26)는 한 개 이상의 스트림들로 된 데이터(29) 및 서비스 데이터(30)를 수신하고 그로부터, 표준화/국제 전기기술 협의를 위한 국제 기구 (ISO/IEC) 표준 13818-1 "정보 기술-동영상 및 관련 오디오 정보의 일반 코딩: 시스템들"에 따라 일반적으로 188 바이트 길이로 된 MPEG-2 전송 스트림(TS) 패킷들(32)을 포함한 전송 스트림(31)에 포함될, MPEG 프로그램 고유 정보 (PSI) 및 DVB 서비스 정보 (SI)의 한 개 이상의 스트림들을 생성한다.
도 4를 참조하면, 전송 스트림(31)은 "기본(elementary) 스트림들"이라 불리는 다수의 논리 채널들로 나누어진다. TS (transport stream) 패킷(32)이 속하는 기본 스트림은 패킷 식별자(PID)(34)를 사용해 패킷 헤더(33) 안에서 규정된다. PID(34)는 기본 스트림들을 식별하는데 사용된다. 소정 PID들이 SI 테이블에 예비되고, 일부는 PSI 테이블들을 위해 예비된다. MPE/MPE-FEC 섹션 스트림들이 붙여질 PID들의 범위가 존재한다. 그에 따라, 그것은 특정 기본 스트림이 특정 SI 테 이블이나 MPE 섹션 스트림을 포함할 때 PID(35)로부터 결정될 수 있다. 따라서, 패킷 식별자(34)는 어떤 경우들에서 TS 패킷 페이로드(35)의 콘텐츠를 식별하는데 사용될 수 있다.
예를 들어, 제1TS 패킷(32-1)의 콘텐츠들은 PID=0x0010 (16진수)를 특정함으로써 네트워크 정보 테이블 (NIT) 전부나 일부를 포함한다고 식별될 수 있다. 추가 TS 패킷(32-2)의 콘텐츠들은 0x0030에서 0x1FFE (16진수) 사이에 PID 값을 특정함으로써 비디오, 오디오, 또는 다른 타입의 데이터라고 식별될 수 있다. 한 범위의 PID들이 MPE/MPE-FEC 섹션 스트림들에 할당된다.
다시 도 2를 참조하면, DVB 전송기(27)는 캡슐화기(26)로부터 신호를 수신하여 그를 변조, 증폭 및 브로드캐스트한다.
(IPE가 복수의 서비스들을 제공할 수 있다고 해도) 복수의 서비스들을 결합하기 위한 멀티플렉서, 및 신호(28)를 수신하고 재전송하는 갭-필러(gap-filler) 전송기 같은 다른 네트워크 요소들이 제공될 수 있다. 또, 각각 GSM이나 UMTS 같은 2세대나 3세대 모바일 네트워크 형태임이 바람직한 공공 육상 모바일 네트워크 같은 다른 통신 네트워크 (미도시)가 모바일 단말(20)로부터 통신 네트워크(21)로의 리턴 채널을 지원하기 위해 제공될 수 있다. 인터넷과 같은 또 다른 통신 네트워크(미도시)가 제공되어, 콘텐츠 제공자(24) 및 서비스 시스템 서버(25) 같은 통신 네트워크(21)의 분산된 요소들을 연결시킬 수 있다.
IP 캡슐화기(26)는 포워드 에러 정정 (FEC) 데이터 패킷들을 생성하고, 이들을 어플리케이션 데이터를 포함하는 버스트들로 취합하고, 전송 스트림 패킷들을 한 개의 전송 스트림으로 멀티플렉싱한다. IP 캡슐화기는 소프트웨어 및/또는 하드웨어를 통해 구현될 수 있다.
도 5를 참조하면, 모바일 단말(20)의 한 실시예가 모바일 전화 핸드셋과 DVB-H 수신기의 결합된 형태로서 개략적으로 도시되어 있다.
모바일 단말(20)은 제1 및 제2안테나(40, 41), DVB-H 수신기(42) 및 모바일 전화 트랜시버(43)를 포함한다. 수신기(42)와 트랜시버(43)는 각자 RF 신호 처리 회로(미도시)를 포함해 수신한 신호들을 증폭 및 복조하고, 채널 디코딩 및 디멀티플렉싱을 위해 한 개 이상의 프로세서들(미도시)을 포함할 수 있다.
모바일 단말(20) 또한 제어기(44), 사용자 인터페이스(45), 한 개 이상의 메모리들(46), 인코더/디코더 (코덱)(49), 스피커(50)와 대응하는 증폭기(51) 및 마이크(52)와 대응 전치-증폭기(53)를 포함한다.
사용자 인터페이스(45)는 디스플레이(53) 및 키패드(55)를 포함한다. 디스플레이(53)는 일반적인 모바일 전화의 디스플레이보다 크고/거나 더 큰 해상도를 가지고, 컬러 이미지 기능을 가짐으로써 이미지 및 비디오를 디스플레이하도록 된다. 모바일 단말(20)는 또한 가령 DC 전력을 공급할 재충전 배터리(46)의 형태로 된 전원을 포함한다.
제어기(44)는 메모리들(46) 중 하나에 저장된 소프트웨어(미도시)의 명령하에 모바일 단말(20)의 동작을 관리한다. 제어기(44)는 디스플레이(53)에 출력 신호를 제공하고 키패드(55)로부터 입력을 받아 처리한다.
모바일 단말(20)은 DVB-T 네트워크(21)와 모바일 전화 네트워크로부터 신호 를 수신하도록 된 한 개의 수신기 및 모바일 전화 네트워크(미도시) 상에 신호들을 전송하도록 된 전송기를 제공하는 것으로 변형될 수 있다. 이와 달리, 두 통신 네트워크들에 대해 한 트랜시버가 제공될 수도 있다.
도 6을 참조할 때, DVB-H 수신기(42)의 일부가 기능 블록도 형태로 보다 자세히 그려진다. 수신기(42)는 제1통신 네트워크(21)로부터 타임 슬라이싱된 신호(28)를 수신하도록 단속적으로 스위치 온 된다. 신호(28)는 RF 수신기 섹션(60)을 통해 증폭, 복조, 채널 디코딩 및 기본 스트림들로 복조되어 출력단(61)에 제공된다. RF 수신기 섹션(60)은 DVB-H 수신기(42)의 일부를 형성하고, 데이터 처리 역할을 더 많이 가진 도 6의 다른 구성요소들로부터 분리될 수 있다. 기본 스트림들은 어플리케이션 데이터 버스트드을 포함한 TS 패킷들을 구비한다.
TS 필터링 블록(62)은 RF 수신기 섹션(60)으로부터 TS 스트림들을 수신한다. TS 필터링 블록(62)은 TS 패킷들을 필터링하기 위해 TS 패킷들의 PID 값을 이용하고, 원하는 기본 스트림들에 속하는 TS 패킷들만 그것을 그냥 통과하게 한다. 다른 기본 스트림들에 속하는 TS 패킷들은 버려지거거나 필요하면 다른 곳으로 우회될 수 있다.
섹션 파싱 블록(63)은 TS 필터링 블록(62)에 의해 통과된 TS 패킷들의 페이로드를 캡슐해제(decapsulate)하고, 이 페이로드들로부터 섹션들을 형성한다. 이렇게 할 때, 가능한 조정 필드 및 페이로드 유닛 시작 표시자 (PUSI)를 고려하게 된다. 이를 통해 형성된 섹션들은 IP 데이터그램들을 포함한다.
섹션 캡슐해제 블록(64)은 섹션 파싱 블록(63)의 결과로부터 각 tpruts의 실 시간 파라미터들 및 페이로드를 추출한다. 섹션이 MPE/MPE-FEC 데이터와 관련된 것인지, 아니면 SI/PSI 데이터와 관련된 것인지 여부를 결정할 섹션들의 table_id 필드 내 데이터를 이용하여, MPE/MPE-FEC 디코딩 블록(65) 및 SI/PSI 테이블 파싱 블록(66) 중 적합한 것으로 어떤 실시간 파라미터들과 함께 페이로드를 전송한다. 추출된 실시간 파라미터들 모두는 또한 타임슬라이싱 제어 및 상태 블록(67)으로 공급된다. 타임슬라이싱 제어 및 상태 블록(67)은 실시간 파라미터들을 분석하고, 그것을 이용해 적절히 상태 데이터를 생성한다. 또한 최대 버스트 듀레이션(duration)이 경과되면 MPE-FEC 디코딩 블록(64)에 알린다. 이러한 알림은 MPE-FEC 디코딩 블록(65)이 버스트 끝이 누락된 경우 디코딩 시작을 알기 위해 필요하게 된다.
MPE-FEC 디코딩 블록(65)은 (실시간 파라미터인) 어드레스 정보에 따라 MPE-FEC 프레임 안에 섹션 페이로드들을 작성한다. 그것은 행 단위로 전체 MPE-FEC 프레임을 디코딩한다. 이러한 디코딩은 이 명세서의 다른 곳에 기술된 것과 같이 말소(erasure) 정보를 이용하는 것이 가능하지만, 적절하다고 판단되면 말소 정보를 사용하지 않고 디코딩을 초래하기 위해 MPE-FEC 디코딩 블록(65)이 대신 제어될 수도 있다. MPE-FEC 디코딩 블록(65)는 말소 정보가 저장되는 어떤 메모리와, MPE-FEC 프레임 데이터가 저장되는 어떤 메모리를 포함한다. 이 메모리들은 도면에서 69로 도시된 것과 같은 메모리 장치의 일부를 형성하거나, 다른 메모리 장치들 상에 있을 수 있다. 이하에서 설명되는 것처럼, 말소 정보는 섹션 CRC-32로부터 얻어질 수 있고, 혹은 에러가 많은 TS 패킷들이 앞으로 진행되는 경우 TS 패킷의 헤 더에 위치한 전송 에러 지시자로부터 얻어질 수 있다. MPE-FEC 디코딩 블록(64)는 MPE-FEC 에러 정정 디코딩을 사용하지 않도록 제어될 수도 있다. 이렇게 동작할 때, MPE-FEC 디코딩 블록(65)은 단지, 한 번에 한 버스트를 저장하는 타임 슬라이싱 버퍼로만 동작한다.
MPE-FEC 디코딩 블록(65)의 출력단에 연결된 것이 IP 파싱 및 필터링 블록(68)이다. 이것은 MPE-FEC 디코딩 블록(65)으로부터 전체 MPE-FEC 프레임들을 수신한다. IP 파싱 및 필터링 블록(68)은 프레임에서 정정된 데이터 영역들을 검색하여, 처음에 에러를 포함했었지만 디코더에 의해 정정된 IP 데이터그램들을 검출한다. 이것은 출력단에 원하는 IP 어드레스를 갖는 IP 데이터그램들만을 제공한다.
위에서 SI/PSI 데이터는 MPE-FEC 인코딩과 함께 제공되고 있지 않지만, 이것은 중요한 것이 아니다. 대신, 이것은 어플리케이션 데이터를 포함하는 IP 데이터그램들에 대한 것과 유사한 방식으로 전송될 수 있다.
본 발명의 두 가지 실시예들이 이제부터 설명될 것이다. 각 실시예에서는 동일한 하드웨어, 즉 도 5 및 6과 관련해 상술한 하드웨어가 사용된다.
제1실시예는 이제 특히 도 7 및 8을 참조해 설명될 것이다. 도 7에서, 간략화된 데이터 프레임(80)이 도시된다. 데이터 프레임(80)은 어플리케이션 및 패딩 데이터로된 6 개의 열들과 패리티 데이터로 된 세 개의 열들을 가진 것으로 보여지고 있다. 데이터 프레임(80)에 포함된 행의 수는 이 실시예에서 중요하지 않다.
제1데이터그램(81)이 데이터 프레임(80)의 제1열(82)에 포함된다. 이 뒤에 제2데이터그램(83)이 뒤따르고, 그것은 전체적으로 제1열 안에 있게 된다. 제3데이터그램(84)은 데이터 프레임(80)의 제1열의 일부와 제2열(85)의 일부 역시 포함한다. 제4데이터그램(86)은 제2열(85)을 마저 채운다. 제5데이터그램(87)은 제3열(88) 전체를 점유한다. 제4열(89)은 제6, 제7 및 제8데이터그램들(90, 91 및 92)를 포함한다. 제9데이터그램(93)은 제5열(94)에 포함된다. 제5열(94)의 나머지 및 제6열(99) 전체는 제로 패딩(zero padding)으로 이뤄진다. 제, 제2, 및 제3패리키 데이터 열들(95, 96, 및 97)이 제6어플리케이션 데이터 열(99)에 뒤따라 온다.
말소 정보 테이블(98)은 데이터 프레임(80)의 열들 각각 마다 한 비트를 포함한다. 따라서, 말소 정보 테이블(98)의 비트 크기는 데이터 프레임(80) 내 열들의 수와 동일하다. 데이터 프레임(80)은 RS 데이터 버퍼(67) 및 IP 데이터그램 버퍼(66)에 저장되지만, 말소 정보 테이블(98)은 RS 디코더(69)에 저장된다.
이 예에서, 제2, 제7 및 제8데이터그램들(83, 91 및 92)은 에러들을 포함해 수신되고, 다른 데이터그램은 에러 없이 수신된다. 또, 패리티 데이터(96)의 제2열은 에러들과 같이 수신된다. 패리티 데이터의 다른 열들에 있는 다른 데이터그램들은 에러 없이 수신된다.
이제 도 8을 참조하여, 모바일 단말(20)의 동작 예를 상세히 설명할 것이다. S1 단계에서, IP 데이터그램 버퍼(65) 및 RS 데이터 버퍼(67)가 수신된 데이터로 채워져, 데이터 프레임(80)을 조성한다. 이 데이터는 디코딩 전에, 도 7에 도시된 것처럼 테이블 안에 기입된다. 데이터 프레임(80)은 데이터 프레임(80)의 행의 수 를 그 안의 열의 수로 곱한 것과 같은 수의 성분들을 포함한다. 각각의 성분은 한 바이트의 데이터를 포함한다. 이 예에서는 6 열의 어플리케이션 및 제로 패딩 데이터가 있고, 세 열의 패딩 데이터가 있지만, 이것은 단지 본 발명을 용이하게 설명하기 위해 든 예일 뿐이라는 것을 알 수 있을 것이다.
S2 단계에서, 말소 정보 테이블(98)이 초기화된다. 이것은 말소 정보 테이블(98)의 성분들 각각 안에, 말소 정보 테이블의 그 성분에 대응하는 데이터 프레임(80) 열 안의 데이터가 신뢰할 수 없다는 것을 가리키는 값을 가진 데이터를 포함하는 동작을 수반한다. 통상적으로, 비트 값 "0"이 신뢰할 수 없는 데이터를 가리키지만, 이것은 필수적인 것은 아니다. S3 단계에서, 제로 패딩의 위치가 정해진다. 이것은, 상술한 table_boundary_flag을 활용하거나, MPE 섹션 헤더 내 정보를 이용하는 등 어떤 다른 방식을 통해 수행될 수 있다. S4 단계에서, 제로 패딩 데이터로 이뤄진 열들에 해당하는 말소 정보 테이블의 성분들이 신뢰할 수 없다고 마크된다. 도 7에서, 말소 정보 테이블(98)의 제6성분(108)만이 한 열, 즉, 제로 패딩 데이터만을 포함하는 제6열(99)에 대응한다.
S5 단계에서, 데이터그램들 각각에 대해, 가령 해당 MPE 섹션에 포함된 CRC 데이터 등을 통해, 에러가 체크된다. S5 단계 후, 모바일 단말(20)은 제1 내지 제9데이터그램들(81, 83, 84, 86, 87, 90-93) 중 어느 것이 에러를 포함하는지, 이 데이터그램들 중 어느 것이 에러를 포함하지 않는지를 알게 된다. S6 단계에서, 한 개 이상의 에러들을 포함한다고 판단된 데이터그램의 전체나 일부를 포함하는 데이터 프레임(80)의 열에 대응하는 말소 정보 테이블(98)의 성분들은 변하지 않는 다, 즉, 신뢰할 수 없는 데이터라는 상태를 유지한다. 아무 에러들도 없이 데이터그램들만을 포함하는 데이터 프레임(80)의 어플리케이션 데이터 열들 각각에 대해, 말소 테이블(98)의 해당 성분이 변한다. 도 7에 도시된 예에서, 제2 및 제3열들(85, 88) 및 제5열(94)이 아무 에러들도 포함하지 않는 데이터그램들을 포함한다. 결국, 말소 정보 테이블(98)의 제2, 제3 및 제5성분들(100, 101, 및 102)이 데이터 프레임(80) 내 신뢰할 수 있는 데이터가 있다는 것에 상응하는 것으로 마크된다. 제1 및 제4열들(82 및 89)은 한 개 이상의 에러들을 포함하는 한 개 이상의 데이터그램들을 포함하므로, 말소 정보 테이블(98)의 제1 및 제4성분들(103, 104)은 데이터 프레임(80)의 해당 열들에 신뢰할 수 없는 데이터가 있다는 것을 가리키는 것으로 계속 유지된다.
S7 단계에서, 패리티 데이터의 열들 (95, 96, 97)은, 해당 MPE-FEC 섹션의 CRC 등을 이용해 에러 체크된다. 도 7의 예에서, 이것은 패리티 데이터 (95 및 97)의 제1 및 제3열들이 그 체크를 통과하는 결과를 가져온다, 즉, 그 열들에서는 아무 에러들도 존재하지 않는다. 그러나, 패리티 데이터(96)의 제2열은 한 개 이상의 에러들을 포함하므로 그 체크를 통과 못한다. S8 단계에서, 말소 정보 테이블(98)의 제1, 제2 및 제3패리티 데이터 성분들(105, 106, 107)이 그에 맞춰 마크된다. 이 경우, 제2성분(106)은 바뀌지 않고 유지되어, 데이트 프레임(80) 내 해당 패리티 데이터 열(96)에 한 개 이상의 에러들이 존재한다는 것을 나타내게 되고, 제1 및 제3성분들(105, 107)은 해당 패리티 데이터 열들(95, 97) 내 데이터가 신뢰할 수 있다는 것을 보이도록 바뀌게 된다. 이때, 말소 정보 테이블(98) 내 성 분들 각각은 적절한 말소 정보를 포함한다.
S9 단계에서, 말소 정보 테이블(98)은 데이터 프레임(80)을 이루는 데이터를 행 단위로 디코딩하는데 사용된다. 이것은, RS 디코더(69)에 의해 실행된다. 이 단계는, RS 디코더(69)가 주어진 행의 어떤 성분이 말소 정보 테이블(98) 내 해당 성분이 신뢰할 수 없는 데이터를 가리키는 경우 에러들을 포함한다고 간주하는 것을 제외하면 일반적인 단계이다. 그 결과는, 한 열 내 모든 성분이 그 안에 단 한 개의 에러를 포함하더라도, 에러를 포함하는 것으로 취급된다는 것이다. 또, 열 안의 모든 성분이 에러가 존재하는 데이터그램의 일부를 포함하고, 그것이 그 데이터그램을 포함하는 MPE 섹션에 대한 CRC 체크에 의해 판단될 때, 에러를 포함한 데이터그램의 그 일부가 실질적으로 인접한 열에 있을 때에도, 에러를 포함하는 것으로 취급될 수 있다. 이와 같은 RS 디코더(69)에 의해 구현되는 RS 디코딩 프로세스의 민감도는 절충된다. 그러나, 말소 정보 테이블(98)이 데이터 프레임(80)의 열의 개수와 동일한 비트 수만을 포함해야 하므로, 모바일 단말(20) 메모리의 상당량을 절감할 수 있다. 신뢰할 수 없는 데이터를 포함하는 것으로 나타낸 데이터 프레임(80)의 열들의 수가, RS 디코더(69)가 데이터 내 에러들을 만족할 정도로 정정할 수 있게 하면서 있을 수 있는 에러들의 최대 개수를 초과하지 않는 한, 에러들을 포함하는 데이터 프레임(80) 내 모든 성분들이 반드시 정정될 수 있게 될 것이다. 말소 정보의 이용이, 말소 정보가 사용되지 않는 경우보다 더 많은 에러들을 정정 가능하게 하므로, 상술한 절차는, 말소 정보를 저장하는데 매우 적은 양의 메모리를 요하면서도, 말소 정보가 사용되지 않았을 때 가능한 것보다 더 많은 에 러들이 정정될 수 있게 한다. 상기 단계들의 순서는 다른 구성들에서 달라질 수 있다.
제1실시예는 한 열의 해상도로 제한되지만, 이것은 필수적인 것이 아니다. 대신, 데이터 프레임이 한 개의 성분보다 크지만 열보다는 작은 데이터 유닛들로 분할될 수 있다. 이 경우, 말소 정보 테이블(98)은 데이터 프레임(80)의 데이터 유닛들 각자에 대해 한 성분을 포함한다. 예를 드어, 각 열이 2, 4, 또는 8개의 데이터 유닛들로 분할될 수 있고, 그에 따라 말소 정보 테이블(98)의 크기는 2배, 4배, 또는 8배로 각각 증가할 것이다. 그러나, 이 경우, 한 열에 한 데이터 유닛의 에러가 그 열의 다른 데이터 유닛들이 신뢰할 수 없는 것이라고 지시되는 결과를 도출할 필요가 없으므로, 향상된 에러 정정 능력이 주어지게 된다. 그에 따라, RS 디코더(69)에 의해 더 많은 에러들이 정정될 수 있게 된다.
지금부터 도 7, 9, 및 10을 참조해 제2실시예를 설명할 것이다. 도 7의 테이블(98) 같은 말소 정보 테이블을 사용하는 대신 제2실시예는 성분들의 말소 정보 리스트를 포함한다. 그러한 성분들의 말소 정보의 한 리스트가 도 10에 도시된다.
도 9를 참조하면, S1 단계에서, 도 8과 관련해 위에서 설명한 것과 같이, 데이터 프레임(80)이 IP 데이터그램 버퍼(65) 및 RS 데이터 버퍼(67)로부터의 데이터그램들로 채워진다. S3 단계에서, 제1데이터그램의 길이가 정해진다. 이것은 MPE 섹션 헤더를 통해 신호 보내진 것 같은 다음 IP 데이터그램의 시작 어드레스를 이용하는 등, 어떤 적절한 방식을 통해 수행될 수 있다. S4 단계에서, 제1데이터그램(81)이 해당 MPE 섹션의 CRC 데이터를 이용해 체크된다. S5 단계에서, 도 10에 도시된 테이블(111)의 제1성분(110)이 채워진다. 리스트(111)의 제2열(113)과 제1성분(110)에 해당하는 위치에서 카운트가 자리한다. 이 카운트는 제1성분을 이루는 데이터그램들의 시퀀스를 시작하는 어드레스이다. 제3열(114) 및 제1성분(110)과 관련된 위치에서, 제1데이터그램(81)과 그 시퀀스에 포함된 어떤 다른 데이터그램들이 신뢰할 수 있는지 신뢰할 수 없는지 여부를 가리키는 정보가 자리한다. 이 예에서, R이 사용되어, 그 데이터그램이 신뢰할 수 있고 그에 따라 아무 에러들도 포함하지 않는다는 것을 나타낸다. S6에서, 최초 카운트에 제1데이터그램(81)의 길이를 더한 것과 같은 것으로 카운트를 재산출한다.
S7 단계에서, 다음 데이터그램의 길이가 어떤 적합한 방식을 통해 결정된다. S8 단계에서, 이 데이터그램은 그 CRC를 이용해 체크된다. S9 단계에서, 데이터그램이 바로 전 데이터그램과 동일한 에러 상태를 가지는지 여부가 판단된다. 두 데이터그램들이 모두 신뢰할 수 있는 것이거나, 두 데이터그램들 모두 신뢰할 수 없는 것이면 같은 상태를 가질 것이다. 그러나, 만약 하나는 신뢰할 수 있는 것이고 하나는 신뢰할 수 없는 것이면, 이는 같은 상태를 갖지 않는 것일 것이다. S9 단계에서 데이터그램들이 같은 에러 상태를 가지지 않는다고 판단되면, 말소 정보 리스트(111)의 다음 성분이 S10 단계에서 채워진다. 최초로 S10 단계에 도달될 때 다음 성분은 제2성분(123)이다. 이 성분은 어드레스 열(113) 안에 카운트 값을 놓고, 삭제 정보 열(114)에 이 경우 신뢰할 수 없다는 에러 상태 표시를 포함함으로써 채워진다. S10 뒤에, 카운트는 그 데이터그램 길이와 더해진다, 즉, 카운트는 S11 단계에서 이 경우 제2데이터그램의 길이에 더해진다. S11 단계 뒤에, S13 단 계에서, 데이터프레임(80)에 다른 데이터그램들이 있는지 여부가 판단된다.
S9 단계에서, 두 데이터그램들은 동일한 에러 상태를 가진다고 판단되고, S9 단계에서 카운트가 데이터그램의 길이에 더해지며, 이제 그 값이 카운트 값이 된다. S12 단계 뒤에, S13 단계에서, 데이터프레임(80) 안에 또 다른 데이터그램들이 존재하는지 여부가 판단된다. S13 단계에서 추가 데이터그램들이 있다고 밝혀지면, 동작은 다시 S7 단계로 가서 다음 데이터그램이 처리된다.
섹션 길이는 MPE 섹션이 에러들을 포함한 경우 IP 데이터그램 길이를 신뢰성있게 나타내는데 사용될 수 없는데, 이는 섹션 길이 필드에 에러가 있을 수 있기 때문이다. 그에 따라, 에러 없는 섹션들이 수신될 때, 열(113)의 시작 어드레스를 결정하기 위한 상술한 방식이 사용된다. 섹션이 에러를 포함할 때, 신뢰할 수 없는 데이터의 시작 포인트는 시작 어드레스 및 이전 필드(들)의 길이로부터 알려진다. 에러가 있는 섹션들을 바로 뒤따르는 섹션들에 대해, 섹션 헤더 실시간 파라미터들 (특허 그 어드레스 필드)을 이용해 시작 어드레스가 정해진다.
모든 데이터그램들이 처리되었으면, S13 단계는 "no" 응답으로 답한다. 여기서, 절차는 S15 단계의 패리티 데이터 리스트 데이터 성분들을 입력하기 전에 S14 단계의 제로 패딩 리스트 성분들을 입력한다.
도 7의 데이터 프레임(80)에 대한 도 9의 절차 수행의 효과는 다음과 같다. 리스트(111)의 제1성분(110)이 제1데이터그램(81)의 시작 어드레스, 즉 어드레스 제로를 식별하는 정보로 채워지고, 삭제 정보 열(114)에서, 제1데이터그램(81)의 데이터가 신뢰성 있음을 가리킨다. 제4열(115)이 도 10에 보이고 있지만, 이 열은 실제로 리스트(111)에 존재하지 않는다. 제4열(115)은 어떤 데이터그램들이 리스트(111)의 성분들(110, 123)에 해당하는지를 나타낸다. 제2성분(123)은 제2데이터그램(83)의 시작 어드레스, 즉 어드레스 400을 포함하고, 말소 정보 열(114)에서 이 데이터그램이 신뢰성 없다는 것을 가리킨다. 제3성분(116)은 제3데이터그램(84)의 시작 어드레스 (800)를 포함하는데, 제3데이터그램은 제2데이터그램(83)의 에러 상태와 다른 에러 상태를 포함하기 때문이다. 말소 정보 열(114)은 이 데이터그램들의 시퀀스가 신뢰성 있음을 가리킨다. 제4, 제5 및 제6데이터그램들(86, 87 및 90)이 제3데이터그램(84)과 동일한 에러 상태를 가지므로, 즉, 이들 모든 데이터그램들이 신뢰성 있는 것이므로, 이들 모든 데이터그램들은 제3성분(116) 안에 포함된다. 따라서, 제4성분(117) 내 어드레스는 제6데이터그램(90)을 바로 뒤따르는 제7데이터그램(91)의 시작 어드레스(3300)를 가리킨다. 마찬가지로, 제7 및 제8데이터그램들(91, 92)이 같은 에러 상태를 가지므로, 즉, 둘 다 신뢰성이 없으므로, 리스트(111)의 제5성분(118)에 포함되는 어드레스는 제9데이터그램(93)의 시작 어드레스, 즉 어드레스 4000을 가리킨다. 이 예를 간단히 하기 위해, 데이터 프레임(80)에 천 개의 행들이 있다고 전제했지만, 이 방법은 어떤 수의 행을 가진 데이터 프레임들에 대해서도 적용될 수 있다는 것을 알 수 있을 것이다.
S14 단계에서 입력된 제로 패딩 리스트 성분은 도 10에서 119로 표제된다. 이것은 제9데이터그램(93) 끝을 바로 뒤따르는 시작 어드레스 4600을 나타낸다. 이것은 또, 바로 전 데이터그램들의 시퀀스, 이 경우 제5성분(118)에 나열된 제9데 이터그램(93)의 시퀀스와 동일하게, 신뢰성 있는 말소 정보 상태를 나타낸다. 제9데이터그램(93) 및 제로 패딩에 대해 별도의 성분들(118 및 119)을 포함하는 대신, 하나의 성분이 사용될 수도 있다. 그러나, 별도의 성분을 사용하는 것이, 모바일 단말로 하여금 데이터그램들과 제로 패딩 사이를 구별하기 용이하게 만들기 때문에, 바람직한 것이 될 것이다. 실제로, 제로 패딩과 관련된 성분은 리스트(111)와 다른 리스트에 포함될 수 있으며, 이 경우 그것은 순전히 어플리케이션 데이터에 대해서만 사용될 것이다.
마찬가지로, S15 단계에 입력된 패리티 데이터 리스트 성분들이 리스트(111)에 포함될 수 있고, 혹은 다른 별도의 리스트 (미도시)에 포함될 수도 있다. 리스트(111)는 제1, 제2 및 제3패리티 데이터 열들(95, 96, 및 97)과 각각 관련이 있는 성분들(120, 121 및 122)를 포함한다. 인접한 두 개의 패리티 데이터 열들(95 및 97)이 같은 에러 상태를 가졌으면, 이 열들은 리스트(111)의 한 성분 안에 포함되었을 것이다.
어플리케이션 데이터와 관련된 리스트(111)의 성분들은 반드시 신뢰성 있는 데이터와 신뢰성 없는 데이터 사이에서 번갈아 나타나므로, 말소 정보 열(114)을 삭제하는 것도 가능할 수 있다. 그러나, 이 경우, 보통은 제1성분(110)과 관련된 데이터그램들의 에러 상태를 표시할 필요가 있으므로, RS 디코더(69)가 그 삭제 정보를 이용할 때 제1데이터그램이 신뢰성 있는 것인지 없는 것인지의 여부를 알게 된다.
어떤 경우든, RS 디코더(69)는 리스트(111)에 포함된 정보를 이용해 데이터 성분들로 된 한 행 내 어느 성분들이 에러를 포함하는지를 판단한다. 이 분야의 당업자라면, 이것이 어떻게 일어나는지를 알 수 있을 것이다. 간단히 말하면, RS 디코더(69)가, 한 데이터 행을 처리할 때 그 행의 어떤 데이터 성분들이 신뢰성 없는 데이터를 포함한다고 리스트(111)에 표시되는 범위 안에 들어오는지를 판단하며, 이것은 상대적으로 수월한 일이다.
리스트(111)는 종래 기술에서 사용되는 일반적인 말소 정보 테이블에서 보다 상당히 적은 메모리를 필요로 하게 됨을 알 수 있다. 종래 기술에서처럼, 데이터 프레임(880) 내 모든 성분에 대해 한 비트를 필요로 하는 대신, 리스트(111)는 같은 에러 상태를 가진 연속 데이터그램들의 각 시퀀스마다 한 성분을 포함하는 것이다. 제2열(113)에 어드레스 내용을 저장하기 위해 약간의 메모리를 요할 수 있다고 해도, 데이터그램들이 충분한 길이를 가지는 경우 계속해서 불가피하게 메모리 절감은 있을 것이다. 또, 데이터그램들이 어떤 유닛 사이즈의 정수배라고 알려져 있는 경우, 어드레스 열(113)에 저장되는 어드레스들은 어떤 적절한 방식을 통해 단축될 수 있고, 이것이 추가 메모리 절감을 가져온다.
어플리케이션 데이터와 관련된 말소 정보가 패리티 데이터와 관련된 것과 같은 리스트(111)에 저장되어야 할 때, 추가 열 (미도시)이 포함될 수 있다. 이 열은 해당 성분이 어플리케이션을 나타내는지 패리티 데이터를 나타내는지를 가리키는 1이나 0을 포함할 수 있다. 이와 달리, 리스트(111)는 "table separator(테이블 분리)" 성분을 포함하여, 어플리케이션 데이터와 관련된 성분들을 패리티 데이터와 관련된 성분들로부터 분리시킬 수도 있다. 어느 경우나, 모바일 단말(20)은 쉽게, 어느 성분들이 어플리케이션 데이터와 관련되고 어느 성분들이 패리티 데이터와 관련되는지를 판단할 수 있다.
제2실시예는 제1실시예와 비교할 때 개선된 해상도를 제공한다는 것을 알 수 있을 것이다. 특히, 제2실시예는 신뢰할 수 없는 데이터그램들을 그들의 시작 및 끝 어드레스 (사실상 최소의)를 통해 식별하는 반면, 제1실시예에서는 한 데이터그램 내 에러는, 필히, 그 에러 있는 데이터그램과 열을 공유하는 다른 모든 데이터그램들도 신뢰할 수 없는 것으로 표시되게 하는 결과를 가져온다.
상기 실시예들 둘 모두에 있어서, 패리티 데이터 열들은 전송 전에 버려짐으로써 펑처링 될 수 있다. 펑처링 되는 패리티 열들의 개수는 MPE-FEC 프레임들 사이에서 동적으로 가변될 수 있고 계산될 수 있다. 펑처링은 패리티 데이터에 의해 야기된 오버헤드들을 감소시키고 그에 따라 필요한 대역폭을 감소시킨다. 그러나, 펑처링의 단점이 사실상 미약해지는 코드 레이트이다. 반대의 효과를 제로 값의 패딩 열들을 의도적으로 도입하여 얻을 수 있다. 이것은 코드를 더 강력하게 만들지만 대역폭이라는 대가를 치러야 한다.
여기서 설명한 실시예들에 대해 많은 변형이 이뤄질 수 있음을 알 수 있을 것이다. 예를 들어, 모바일 단말(20)은 적어도 제1통신 네트워크(21)를 거쳐 신호를 수신할 수 있는 PDA (Personal Distal Assistant) 또는 다른 모바일 단말일 수 있다. 모바일 단말(20) 또한, 자동차 같은 차량에 실리는 단말처럼, 반고정형이거나 반휴대형인 것일 수 있다.
또, 본 발명은 실시예들에서 기술한 것과 똑같지 않은 어떤 포워드 에러 정 정 시스템에 적용되며, 상이한 길이를 가진 행들 및 열들에 적용될 수 있다.
또, 코딩 테이블의 열들을 기준으로 프로세스가 기재되었으나, 이 테이블은 별개의 '워드들(words)'로 대체되어, 이 워드들이 모여서 코딩 테이블을 이룰 수 있다.

Claims (27)

  1. 포워드 에러 정정 디코더에 있어서,
    데이터 성분들의 행과 열로 된 테이블 안에 정렬될 수 있는 복수의 멀티비트(multibit) 데이터 성분들로 되어 어플리케이션 데이터 성분들과 패리티 데이터 성분들을 포함하는 데이터 프레임을 수신하고;
    에러들이 있는지 데이터 프레임 내 데이터를 체크하고;
    데이터의 각 유닛이 복수의 데이터 성분들을 포함하는 데이터의 복수 유닛들 각각에 대해, 그 각 데이터 유닛 안의 모든 성분들이 에러가 있는지 없는지 여부를 가리키는 말소(erasure) 정보를 생성하도록 구성되는 한 개 이상의 프로세서들을 포함함을 특징으로 하는 디코더.
  2. 제1항에 있어서,
    어레이 안에 말소 정보를 저장하도록 구성되고, 상기 어레이는 어플리케이션 데이터를 포함하는 각 데이터 유닛에 해당하는 어레이 성분을 포함함을 특징으로 하는 디코더.
  3. 제2항에 있어서, 상기 어레이는 패리티 데이터를 포함하는 각 데이터 유닛에 해당하는 어레이 성분을 더 포함함을 특징으로 하는 디코더.
  4. 제2항 또는 제3항에 있어서, 상기 데이터 프레임은 패딩(padding) 데이터 성분들을 포함하고, 상기 어레이는 패딩 데이터의 각 유닛에 해당하는 어레이 성분을 포함함을 특징으로 하는 디코더.
  5. 제1항에 있어서,
    아이템들로 된 리스트 안에 상기 말소 정보를 저장하도록 되고,
    각 아이템은 한 성분 어드레스 및 에러 표시를 포함하고, 각 아이템은 리스트 안에서 같은 에러 상태를 가진 데이터 유닛들의 시퀀스의 경계를 식별함을 특징으로 하는 디코더.
  6. 제5항에 있어서, 상기 리스트 내 각 아이템은 다른 에러 상태를 가진 데이터 유닛들의 시퀀스와 그 시퀀스에 인접한 각 시퀀스와의 경계를 식별함을 특징으로 하는 디코더.
  7. 제5항 또는 제6항에 있어서,
    어플리케이션 데이터를 포함하는 데이터 유닛들에 대한 제1리스트, 및 패리티 데이터를 포함하는 데이터 유닛들에 대한 제2리스트에 말소 정보를 저장하도록 구성됨을 특징으로 하는 디코더.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서, 상기 데이터 프레임은 복수의 데 이터그램들을 포함하고, 각 데이터그램은 복수의 성분들을 포함함을 특징으로 하는 디코더.
  9. 제8항에 있어서, 전체 데이터그램들에서 에러들을 체크하도록 구성됨을 특징으로 하는 디코더.
  10. 제9항에 있어서,
    한 개 이상의 에러들을 포함한다고 판단된 데이터그램들의 적어도 일부를 데이터 유닛이 포함하는 경우, 그 유닛에 에러가 있음을 나타내는 말소 정보를 생성하도록 구성된 디코더.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서, 상기 데이터 프레임 각각의 열은 한 개의 데이터 유닛을 구성함을 특징으로 하는 디코더.
  12. 제1항 내지 제11항 중 어느 한 항에 있어서, 리드 솔로몬 (Reed Solomon) 디코더로서 구현됨을 특징으로 하는 디코더.
  13. 제1항 내지 제12항 중 어느 한 항에 있어서, 상기 데이터 프레임은 255 개 성분의 열들 안에 정렬되고, 이 중 199개가 비(non) 패리티 데이터 성분 열들임을 특징으로 하는 디코더.
  14. 제1항 내지 제13항 중 어느 한 항에 따른 포워드 에러 정정 디코더를 포함함을 특징으로 하는 수신기.
  15. 제14항에 있어서,
    디지털 비디오 브로드캐스팅 수신기로 구현됨을 특징으로 하는 수신기.
  16. 제14항 또는 제15항에 따른 수신기를 포함함을 특징으로 하는 모바일 단말.
  17. 포워드 에러 정정 디코더를 동작하는 방법에 있어서,
    데이터 성분들의 행과 열로 된 테이블 안에 정렬될 수 있는 복수의 멀티비트(multibit) 데이터 성분들로 되어 어플리케이션 데이터 성분들과 패리티 데이터 성분들을 포함하는 데이터 프레임을 수신하는 단계;
    에러들이 있는지 데이터 프레임 내 데이터를 체크하는 단계;
    데이터의 각 유닛이 복수의 데이터 성분들을 포함하는 데이터의 복수 유닛들 각각에 대해, 그 데이터 유닛의 모든 데이터 성분들이 에러가 없는지 있는지 여부를 가리키는 말소 정보를 생성하는 단계를 포함함을 특징으로 하는 방법.
  18. 제17항에 있어서,
    어레이 안에 말소 정보를 저장하도록 구성되고, 상기 어레이는 어플리케이션 데이터를 포함하는 각 데이터 유닛에 해당하는 어레이 성분을 포함함을 특징으로 하는 방법.
  19. 제18항에 있어서, 상기 어레이는 패리티 데이터를 포함하는 각 데이터 유닛에 해당하는 어레이 성분을 더 포함함을 특징으로 하는 방법.
  20. 제18항 또는 제19항에 있어서, 상기 데이터 프레임은 패딩(padding) 데이터 성분들을 포함하고, 상기 어레이는 패딩 데이터의 각 유닛에 해당하는 어레이 성분을 포함함을 특징으로 하는 방법.
  21. 제17항에 있어서, 상기 저장 단계는,
    아이템들로 된 리스트 안에 상기 말소 정보를 저장하는 단계를 포함하고,
    각 아이템은 한 성분 어드레스 및 에러 표시를 포함하고, 각 아이템은 리스트 안에서 같은 에러 상태를 가진 데이터 유닛들의 시퀀스의 경계를 식별함을 특징으로 하는 방법.
  22. 제21항에 있어서, 상기 리스트 내 각 아이템은 다른 에러 상태를 가진 데이터 유닛들의 시퀀스와 그 시퀀스에 인접한 각 시퀀스와의 경계를 식별함을 특징으로 하는 방법.
  23. 제21항 또는 제22항에 있어서, 상기 저장 단계는,
    어플리케이션 데이터를 포함하는 데이터 유닛들에 대한 제1리스트, 및 패리티 데이터를 포함하는 데이터 유닛들에 대한 제2리스트에 말소 정보를 저장하는 단계를 포함함을 특징으로 하는 방법.
  24. 제17항 내지 제23항 중 어느 한 항에 있어서, 상기 데이터 프레임은 복수의 데이터그램들을 포함하고, 각 데이터그램은 복수의 성분들을 포함함을 특징으로 하는 방법.
  25. 제24항에 있어서, 상기 체크 단계는, 전체 데이터그램들에서 에러들을 체크하는 단계를 포함함을 특징으로 하는 방법.
  26. 제25항에 있어서, 상기 생성 단계는, 한 개 이상의 에러들을 포함한다고 판단된 데이터그램들의 적어도 일부를 데이터 유닛이 포함하는 경우, 그 유닛에 에러가 있음을 나타내는 말소 정보를 생성하는 단계를 포함함을 특징으로 하는 방법.
  27. 제17항 내지 제26항 중 어느 한 항에 있어서, 상기 데이터 프레임 각각의 열은 한 개의 데이터 유닛을 구성함을 특징으로 하는 방법.
KR1020067027954A 2004-06-30 2005-03-18 포워드 에러 정정 디코더들 KR100885429B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0414667.6 2004-06-30
GB0414667A GB2415873A (en) 2004-06-30 2004-06-30 Erasure information generation in Forward Error Correction decoding

Publications (2)

Publication Number Publication Date
KR20070044405A true KR20070044405A (ko) 2007-04-27
KR100885429B1 KR100885429B1 (ko) 2009-02-24

Family

ID=32843330

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067027954A KR100885429B1 (ko) 2004-06-30 2005-03-18 포워드 에러 정정 디코더들

Country Status (7)

Country Link
US (1) US20070240027A1 (ko)
EP (1) EP1762031A1 (ko)
KR (1) KR100885429B1 (ko)
CN (1) CN1981469A (ko)
GB (1) GB2415873A (ko)
TW (1) TW200614686A (ko)
WO (1) WO2006003531A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8418041B2 (en) 2008-12-03 2013-04-09 Electronics And Telecommunications Research Institute MPE-FEC RS decoder and decoding method thereof

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006085326A2 (en) 2005-02-10 2006-08-17 Siano Mobile Silicon Ltd. System and method for mitigating memory requirements
US8134941B2 (en) * 2005-09-12 2012-03-13 Freescale Semiconductor, Inc. Power saving in signal processing in receivers
TWI415416B (zh) 2005-09-19 2013-11-11 St Ericsson Sa 在包含消除表格資料的移動式無線應用中用於校正錯誤的裝置及方法
TWI430611B (zh) 2005-09-19 2014-03-11 St Ericsson Sa 在包含旁路校正的移動式無線應用中用來校正錯誤的裝置與方法
TWI401910B (zh) 2005-09-19 2013-07-11 St Ericsson Sa 在包含多層級與可適性消除資料的移動式無線應用中用來校正錯誤的裝置與方法
US7840868B2 (en) 2005-10-05 2010-11-23 Lg Electronics Inc. Method of processing traffic information and digital broadcast system
WO2007072332A2 (en) * 2005-12-21 2007-06-28 Koninklijke Philips Electronics N.V. Device providing a datagram recovery
ES2383230T3 (es) * 2006-01-05 2012-06-19 Telefonaktiebolaget Lm Ericsson (Publ) Gestión de archivos contenedores de medios
WO2007084167A1 (en) * 2006-01-17 2007-07-26 Truespan, Inc. Error resilience methods for multi-protocol encapsulation forward error correction implementations
WO2007091779A1 (en) 2006-02-10 2007-08-16 Lg Electronics Inc. Digital broadcasting receiver and method of processing data
KR101381476B1 (ko) 2006-02-14 2014-04-10 삼성전자주식회사 디지털 방송 시스템에서 방송 서비스 정보를 수신하기 위한방법 및 장치
KR100983502B1 (ko) 2006-02-14 2010-09-27 퀄컴 인코포레이티드 직교 주파수 분할 다중 시스템에서의 주파수 오차 검출방법 및 장치
WO2007126196A1 (en) 2006-04-29 2007-11-08 Lg Electronics Inc. Digital broadcasting system and method of processing data
WO2007136166A1 (en) 2006-05-23 2007-11-29 Lg Electronics Inc. Digital broadcasting system and method of processing data
CN1968036B (zh) * 2006-05-31 2010-04-07 华为技术有限公司 一种前向纠错解码装置及控制方法
KR100826511B1 (ko) 2006-06-27 2008-05-02 삼성전자주식회사 스터핑 바이트를 이용하여 에러정정 능력을 높일 수 있는장치와 방법
US7873104B2 (en) 2006-10-12 2011-01-18 Lg Electronics Inc. Digital television transmitting system and receiving system and method of processing broadcasting data
US8929444B2 (en) 2007-02-19 2015-01-06 Freescale Semiconductor, Inc. Data communication unit, data communication network and method of decoding
KR20080084148A (ko) * 2007-03-15 2008-09-19 삼성전자주식회사 디지털 방송 시스템의 수신기에서 데이터 디코딩 방법 및장치
KR101285887B1 (ko) 2007-03-26 2013-07-11 엘지전자 주식회사 디지털 방송 시스템 및 데이터 처리 방법
KR101253185B1 (ko) 2007-03-26 2013-04-10 엘지전자 주식회사 디지털 방송 시스템 및 데이터 처리 방법
KR101285888B1 (ko) 2007-03-30 2013-07-11 엘지전자 주식회사 디지털 방송 시스템 및 데이터 처리 방법
KR20080090784A (ko) 2007-04-06 2008-10-09 엘지전자 주식회사 전자 프로그램 정보 제어 방법 및 수신 장치
US7796600B2 (en) * 2007-05-30 2010-09-14 Newport Media, LLC Compact MPE-FEC erasure location cache memory for DVB-H receiver
KR101397051B1 (ko) 2007-06-25 2014-05-20 엘지전자 주식회사 디지털 방송 시스템 및 데이터 처리 방법
KR101405965B1 (ko) 2007-06-25 2014-06-12 엘지전자 주식회사 디지털 방송 시스템 및 데이터 처리 방법
KR101405966B1 (ko) * 2007-06-26 2014-06-20 엘지전자 주식회사 디지털 방송 시스템 및 데이터 처리 방법
KR101456002B1 (ko) 2007-06-26 2014-11-03 엘지전자 주식회사 디지털 방송 시스템 및 데이터 처리 방법
WO2009002128A1 (en) * 2007-06-28 2008-12-31 Lg Electronics Inc. Digital broadcasting system and data processing method
KR101405970B1 (ko) 2007-06-28 2014-06-12 엘지전자 주식회사 디지털 방송 시스템 및 데이터 처리 방법
KR101405967B1 (ko) 2007-06-28 2014-06-12 엘지전자 주식회사 디지털 방송 시스템 및 데이터 처리 방법
KR101405968B1 (ko) 2007-06-28 2014-06-12 엘지전자 주식회사 디지털 방송 시스템 및 데이터 처리 방법
KR101405969B1 (ko) 2007-06-28 2014-06-13 엘지전자 주식회사 디지털 방송 시스템 및 데이터 처리 방법
KR101461958B1 (ko) 2007-06-29 2014-11-14 엘지전자 주식회사 디지털 방송 시스템 및 데이터 처리 방법
US8433973B2 (en) 2007-07-04 2013-04-30 Lg Electronics Inc. Digital broadcasting system and method of processing data
WO2009005326A2 (en) 2007-07-04 2009-01-08 Lg Electronics Inc. Digital broadcasting system and method of processing data
KR101467785B1 (ko) 2007-07-06 2014-12-04 엘지전자 주식회사 디지털 방송 시스템 및 데이터 처리 방법
KR101556123B1 (ko) 2007-07-25 2015-09-30 엘지전자 주식회사 디지털 방송 시스템 및 데이터 처리 방법
KR20090012180A (ko) 2007-07-28 2009-02-02 엘지전자 주식회사 디지털 방송 시스템 및 데이터 처리 방법
EP2183882A1 (en) * 2007-08-15 2010-05-12 Maxlinear, Inc. Method and apparatus for preserving deinterleaving erasure information of block interleaved coded signal
KR20090021124A (ko) 2007-08-24 2009-02-27 엘지전자 주식회사 디지털 방송 시스템 및 데이터 처리 방법
KR101556132B1 (ko) 2007-08-24 2015-09-30 엘지전자 주식회사 디지털 방송 시스템 및 데이터 처리 방법
CA2697481C (en) * 2007-08-24 2013-03-26 Lg Electronics Inc. Digital broadcasting system and method of processing data in digital broadcasting system
US8059210B2 (en) 2007-08-24 2011-11-15 Lg Electronics, Inc. Digital broadcasting system and method of processing data in the digital broadcasting system
KR101435843B1 (ko) 2007-08-24 2014-08-29 엘지전자 주식회사 디지털 방송 시스템 및 데이터 처리 방법
CA2695548C (en) 2007-08-24 2013-10-15 Lg Electronics Inc. Digital broadcasting system and method of processing data in digital broadcasting system
US8160009B2 (en) 2007-09-20 2012-04-17 Lg Electronics Inc. Digital broadcasting system and method of processing data in digital broadcasting system
US7936786B2 (en) 2007-09-20 2011-05-03 Lg Electronics, Inc. Digital broadcasting system and method of processing data in digital broadcasting system
US8250441B2 (en) * 2007-12-11 2012-08-21 Wi-Lan Inc. Outer coding framework for application packet error rate minimization
FR2932790B1 (fr) 2008-06-23 2010-08-20 Commissariat Energie Atomique Procede de fabrication d'un dispositif electromecanique comprenant au moins un element actif.
WO2010021483A2 (en) * 2008-08-19 2010-02-25 Lg Electronics Inc. Transmitting/receiving system and method of processing data in the transmitting/receiving system
CN102356632B (zh) 2009-03-15 2014-06-04 Lg电子株式会社 发送/接收系统和广播信号处理方法
DE102010004015B4 (de) * 2010-01-04 2012-03-01 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zum Übertragen von Daten
US9606859B2 (en) * 2014-04-28 2017-03-28 Nxp B.V. Advanced digital audio broadcasting forward error correction processing in packet mode utilizing tokens
US10545825B2 (en) * 2016-04-29 2020-01-28 Synamedia Limited Fault-tolerant enterprise object storage system for small objects

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4564945A (en) * 1983-06-20 1986-01-14 Reference Technology, Inc. Error-correction code for digital data on video disc
EP0426657B1 (en) * 1983-12-20 1999-03-10 Sony Corporation Method and apparatus for decoding error correction code
JPH0210574A (ja) * 1988-06-28 1990-01-16 Matsushita Electric Ind Co Ltd 復調回路
US6490705B1 (en) * 1998-10-22 2002-12-03 Lucent Technologies Inc. Method and apparatus for receiving MPEG video over the internet
JP3214478B2 (ja) * 1998-12-28 2001-10-02 日本電気株式会社 誤り訂正復号装置
US6543026B1 (en) * 1999-09-10 2003-04-01 Lsi Logic Corporation Forward error correction apparatus and methods
TW468158B (en) * 2000-06-16 2001-12-11 Ali Corp Disc decoding method and system
AU2001284709A1 (en) * 2000-08-02 2002-02-13 Vidicast Ltd. Data encryption and decryption using error correction methodologies
US7036068B2 (en) * 2001-07-25 2006-04-25 Hewlett-Packard Development Company, L.P. Error correction coding and decoding in a solid-state storage device
US6986092B2 (en) * 2001-12-04 2006-01-10 Qualcomm Inc. Erasure-and-single-error correction decoder for linear block codes
US20040068689A1 (en) 2002-10-07 2004-04-08 Rahul Saxena Method and apparatus for CRC size reduction

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8418041B2 (en) 2008-12-03 2013-04-09 Electronics And Telecommunications Research Institute MPE-FEC RS decoder and decoding method thereof

Also Published As

Publication number Publication date
GB0414667D0 (en) 2004-08-04
GB2415873A (en) 2006-01-04
US20070240027A1 (en) 2007-10-11
TW200614686A (en) 2006-05-01
EP1762031A1 (en) 2007-03-14
KR100885429B1 (ko) 2009-02-24
WO2006003531A1 (en) 2006-01-12
CN1981469A (zh) 2007-06-13

Similar Documents

Publication Publication Date Title
KR100885429B1 (ko) 포워드 에러 정정 디코더들
JP5097547B2 (ja) デジタルブロードキャスティングネットワークにおけるバースト伝送
KR100856525B1 (ko) 데이터 송신 및 수신용 시스템 및 방법
EP3220649A1 (en) Broadcasting signal transmission device, broadcasting signal reception device, broadcasting signal transmission method, and broadcasting signal reception method
EP1609264B1 (en) Method, system and network entity for data transmission and reception with header protection
US20100211854A1 (en) Methods and systems for providing different data loss protection
EP3247085A1 (en) Broadcast signal transmission apparatus, broadcast signal receiving apparatus, broadcast signal transmission method, and broadcast signal receiving method
US8230293B2 (en) Forward error correction
US7877663B2 (en) Forward error correction decoders
EP3217621A1 (en) Broadcasting signal transmission device, broadcasting signal reception device, broadcasting signal transmission method, and broadcasting signal reception method
KR100955814B1 (ko) 순방향 오류 정정을 포함하는 수신기를 동작시키기 위한장치 및 방법
US20090006926A1 (en) Device Providing Selective Error Correction Data Reception
KR100734377B1 (ko) 방송 신호 복호 방법

Legal Events

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