KR20080074886A - 데이터 전송 패킷에서의 에러 검출 및 정정 - Google Patents

데이터 전송 패킷에서의 에러 검출 및 정정 Download PDF

Info

Publication number
KR20080074886A
KR20080074886A KR1020087011696A KR20087011696A KR20080074886A KR 20080074886 A KR20080074886 A KR 20080074886A KR 1020087011696 A KR1020087011696 A KR 1020087011696A KR 20087011696 A KR20087011696 A KR 20087011696A KR 20080074886 A KR20080074886 A KR 20080074886A
Authority
KR
South Korea
Prior art keywords
datagram
error
row
fec
bytes
Prior art date
Application number
KR1020087011696A
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 KR20080074886A publication Critical patent/KR20080074886A/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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/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/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
    • 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/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/2948Iterative decoding
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/373Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with erasure correction and erasure determination, e.g. for packet loss recovery or setting of erasures for the decoding of Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6522Intended application, e.g. transmission or communication standard
    • H03M13/6541DVB-H and DVB-M
    • 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
    • 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/154Error and erasure correction, e.g. by using the error and erasure locator or Forney polynomial

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 발명의 시스템과 방법은 DVB-H 수신기에 대한 채널 코딩 이득을 향상시키기 위하여 순환되는 순환 중복 검사(CRC) + 순방향 오류 정정(FEC)을 사용하며, 또한 더 나은 코딩 이득을 달성하기 위해서 PHY(physical) RS(Reed-Solomon) 디코더 + FEC를 사용한다. 이 시스템과 방법은 FEC 디코딩을 위한 듀얼 모드 RS 디코더(소실 모드 및 오류 모드)를 이용한다. PHY RS는 FEC에 대하여 더 작은 입도(granularity)를 제공하는 데 사용된다. 이 시스템은 VLSI(very large scale integrated) 회로칩 하드웨어에 순환 CRC/RS + FEC를 구현하기 위한 캐쉬 메모리 관리 방법을 포함한다.

Description

데이터 전송 패킷에서의 에러 검출 및 정정{ERROR DETECTION AND CORRECTION IN DATA TRANSMISSION PACKETS}
본 실시예는 일반적으로 디지털 데이터 저장 또는 전송용 오류 검출 및 정정에 관한 것으로, 특히 오류 검사 코드를 생성하며 또한 이러한 코드를 포함하는 데이터를 해독하는 기술에 관한 것이다.
통합 디지털 TV 액세스를 갖춘 휴대용 디바이스(handheld devices)는 비교적 새로운 현상이다. 이러한 기술은 종래에는 사이즈, 전력 소모 및 가장 중요하게는 성능에 의해 제한받아 왔다. 이러한 디바이스의 나쁜 성능은 전형적으로 끊임없이 변화하는 수신기 환경의 결과이다. 특히, 수신된 신호의 질은 다른 요인들 중에서도 인접 채널 저지(adjacent-channel rejection), 낮은 S/N 비(signal-to-noise ratio) 및 도플러 보상(Doppler compensation)을 관리하는 디바이스의 능력에 의해서 영향을 받는다.
DVB-H는 휴대용 수신기에 방송 서비스를 제공하기 위한 규격(specification)으로서, 2004년 11월에 유럽전기통신표준협회(ETSI: European Telecommunications Standards Institute) 표준으로 공식적으로 채택되었다. 특히, DVB-H는 종전의 표준인 DVB-T 보다 더 저전력을 소모하는 경향을 나타내는 지상파 디지털 TV 표준이 며, 또한 일반적으로 신호 전송을 수신하는 동안 수신기가 자유롭게 이동할 수 있게 해줌으로써, 셀룰러 폰 및 다른 모바일 디바이스가 셀룰러 전화망을 이용할 필요없이 DigiTV 망을 통해서 디지털 TV 방송을 수신하는 것이 이상적이도록 해준다.
오류 검사 코드(ECC: Error Checking Code)는 통신 채널을 통한 데이터 전송 또는 저장 매체에 대한 데이터 저장 및 검색과 같은 상황에서 디지털 데이터 무결성(data integrity)을 보장하도록 개발되어 왔다. 이러한 오류 검사 코드(ECC)는 데이터 스트림에 오류가 존재하는 것을 식별하여 정정할 수 있게 한다. 2개의 이러한 오류 정정 코드는 리드-솔로몬(RS: Reed-Solomon) 코드와 순환 중복 검사(CRC: cyclic redundancy check) 코드이다. 이들 코드는 종종 함께 사용되며, 또한 RS 코드는 255 바이트의 부호화 워드의 모든 블록에 대하여 사용되는 한편, CRC 코드는 데이터그램(datagram)으로 그룹화된 바이트의 클러스터를 검사하는데 사용된다.
DVB-H 표준은 일반적으로 디바이스의 전력 소모를 줄이기 위한 타임 슬라이싱(time-slicing)의 사용 및 모바일 환경에서 더욱 강인한(robust) 신호를 제공하기 위한 노력으로 오류 정정의 부가 층(additional layer)을 제공하기 위한 다중 프로토콜 캡슐화 순방향 오류 정정(MPE-FEC: multiprotocol encapsulation forward error correction)의 사용을 인정하고 있다. DVB-H 표준에서는 링크 층(link layer), 즉 MPE-FEC에서 추가 채널 오류 제어 코딩을 실시한다. FEC는 (255, 191) RS 디코더이다. 여기서, 코드워드(codeword)의 길이는 191 바이트의 데이터를 포함하여 255 바이트이다.
도 1은 FEC를 실행하는 종래의 방법을 나타내고 있다. 수신기의 물리 계 층(PHY: physical layer)으로부터 버스트로 인입된 데이터그램(64 내지 약 4096 바이트, 가장 전형적으로 약 1000 바이트 범위의 바이트를 가짐)이 2M비트 데이터그램 RAM 유닛(100)에 좌에서 우 방향으로 컬럼-바이-컬럼 방식으로 저장된다. 각 데이터그램의 끝에는 그 데이터그램의 임의의 바이트가 오류인 경우 체크/플래그(check/flag) 하는데 사용될 수 있는 4 CRC 바이트가 존재한다. 만약 그 데이터그램에 하나 이상의 오류 바이트가 있는 경우, CRC 검사는 실패이며 또한 그 데이터그램의 모든 바이트가 소실(erasures)로 표시될 것이다. 데이터 바이트에 대한 좌측 191 컬럼과 패리티 바이트(parity bytes)에 대한 우측 64 컬럼을 포함하여 일단 전체 메모리 유닛(100)이 채워지면, (255, 191) RS 디코더는 로우-바이-로우(row-by-row) 방법으로 전체 2M비트 데이터그램 메모리를 해독/정정하기 위하여 상기에서 얻어진 소실 정보를 이용할 것이다.
DVB-H 표준에 따르면, FEC RS 디코더는 소실 기반이며, 또한 64 오류 바이트까지 정정하기 위해 소실 정보를 의존한다. 만약 한 행에서 전체 소실 수가 64 이상인 경우, FEC RS 디코더는 일반적으로 이 행에 대한 어떤 정정도 할 수 없으며, 따라서 디코더 실패 신호를 제공하여 그것을 손대지 않은 상태로 남겨 놓는다. 이 결과, 이러한 디코딩 실패가 발생하는 경우 모바일 TV 수신기는 전체 버스트(burst)(2M비트 데이터그램 메모리 유닛(100))를 폐기하며, 이는 TV 방송을 시청하는 동안 원활하지 못한 영상 또는 글리치(glitches)가 발생하게 한다. 그 자체로는, 더 나은 오류 검출/정정 방식을 제공함에 의해 모바일 디바이스에서 디지털 신호 수신 성능을 향상시킬 수 있는 기술을 제공함으로써 이러한 결함을 정정할 필요 가 여전히 존재한다.
상술한 관점에서, 여기에 개시되는 실시예는 데이터 전송 패킷에서 오류 검출을 실행하는 컴퓨터-구현 방법 및 데이터 전송 패킷에서 오류 검출을 실행하는 방법을 실행하기 위하여 컴퓨터에 의해 판독 가능하며 또한 상기 컴퓨터에 의해 실행 가능한 명령의 프로그램을 실체적으로 구현하는 프로그램 저장장치를 제공하며, 상기 방법은: 데이터를 저장 메모리 매체에 다수의 데이터그램으로 기록하는 단계; 기록된 데이터에 대한 제1 순환 중복 검사(CRC: cyclic redundancy check)를 실행하는 단계; 상기 데이터그램에 대하여 로우-바이-로우(row-by-row) 방식으로 제1 순방향 오류 정정(FEC: forward error correction) 리드-솔로몬(RS: Reed-Solomon) 디코딩 프로세스를 실행하는 단계; 오류를 포함하는 기록 데이터에 대응하는 상기 데이터그램에 소실을 표시하는 단계; 상기 기록 데이터에 대한 제2 CRC를 실행하는 단계; 상기 데이터그램으로부터 소실을 제거하는 단계; 및 상기 데이터그램에 대하여 로우-바이-로우(row-by-row) 방식으로 제2 FEC RS 디코딩 프로세스를 실행하는 단계를 포함한다. 이 방법은 또한 기록 데이터에 대하여 부가 CRC를 실행하는 단계; 데이터그램으로부터 모든 소실을 제거하는 단계; 및 데이터그램에 대하여 로우-바이-로우(row-by-row) 방식으로 부가 FEC RS 디코딩 프로세스를 실행하는 단계를 포함할 수 있다. 일 실시예에서 데이터그램으로부터 소실을 제거하는 경우 64 오류 바이트를 초과하는 데이터그램의 특정 행에서 전체 소실 수는 64 오류 바이트 이하로 감소된다. 다른 실시예에서 PHY RS 해독 실패 신호는 데이터그램에서 소실의 표시에 사용된다. 상기 방법은 오류 바이트를 정정하기 위하여 FEC RS 디코딩 프로세스의 소실 모드를 사용하는 단계를 더 포함할 수 있으며, 이 경우 소실 모드는 Berlekamp-Massey 알고리즘을 사용하여 구현된다.
다른 실시예는 데이터 전송 패킷에서 오류 검출을 실행하는 컴퓨터-구현 방법 및 데이터 전송 패킷에서 오류 검출을 실행하는 방법을 실행하기 위하여 컴퓨터에 의해 판독 가능하며 또한 상기 컴퓨터에 의해 실행 가능한 명령의 프로그램을 실체적으로 구현하는 프로그램 저장장치를 제공하며, 상기 방법은 데이터를 저장 메모리 매체에 다수의 데이터그램으로 기록하는 단계; 기록된 데이터에 대한 제1 PHY RS 해독 실패 신호를 이용하여 상기 데이터그램에 있는 모든 오류 바이트를 소실로서 표시하는 단계; 상기 데이터그램에 대하여 로우-바이-로우(row-by-row) 방식으로 제1 FEC RS 디코딩 프로세스를 실행하는 단계; 상기 기록된 데이터에 대한 제2 PHY RS 해독 실패 신호를 사용하여 소실로서 상기 데이터그램에 있는 모든 오류 바이트를 표시하는 단계; 및 상기 데이터그램으로부터 상기 오류 바이트를 제거하는 단계를 포함한다. 일 실시예에서 상기 데이터그램으로부터 상기 오류 바이트를 제거함에 있어서 64 오류 바이트를 초과하는 상기 데이터그램의 특정 행에서 전체 소실 수는 64 오류 바이트 이하로 감소된다. 다른 실시예에서, 방법은 상기 기록된 데이터에 대한 제3 PHY RS 해독 실패 신호를 이용하여 상기 데이터그램에 있는 모든 오류 바이트를 소실로서 표시하는 단계를 더 포함할 수 있다. 또한 상기 방법은, 더욱이 상기 오류 바이트를 정정하기 위하여 FEC RS 디코딩 프로세스의 소실 모드를 사용하는 단계를 더 포함할 수 있으며, 이 경우 상기 소실 모드는 Berlekamp-Massey 알고리즘을 사용하여 구현된다.
또 다른 실시예는 데이터 전송 패킷에서 오류를 검출할 수 있는 장치를 제공하며, 상기 장치는 저장 메모리 매체; 데이터를 상기 저장 메모리 매체에 다수의 데이터그램으로 기록하도록 동작 가능한 버퍼; 기록된 데이터에 대한 제1 순환 중복 검사(CRC: cyclic redundancy check)를 실행하도록 동작 가능한 제1 레지스터; 상기 데이터그램에 대하여 로우-바이-로우(row-by-row) 방식으로 제1 순방향 오류 정정(FEC) 리드-솔로몬(RS) 디코딩 프로세스를 실행하도록 동작 가능한 디코더; 오류를 포함하는 기록 데이터에 대응하는 상기 데이터그램에 소실에 대응하는 오류 바이트; 상기 기록 데이터에 대한 제2 CRC를 실행하도록 동작 가능한 제2 레지스터; 및 상기 데이터그램으로부터 소실을 제거하도록 동작 가능한 제3 레지스터를 포함하며, 이 경우 상기 디코더는 상기 데이터그램에 대하여 로우-바이-로우(row-by-row) 방식으로 제2 FEC RS 디코딩 프로세스를 실행하도록 동작 가능하다. 상기 장치는, 더욱이 상기 기록 데이터에 대하여 부가 CRC를 실행하여 상기 데이터그램으로부터 모든 상기 소실을 제거하도록 동작 가능한 제4 레지스터를 더 포함하며, 이 경우 상기 디코더는 상기 데이터그램에 대하여 로우-바이-로우(row-by-row)) 방식으로 부가 FEC RS 디코딩 프로세스를 실행하도록 동작 가능하다. 일 실시예에서, 64 오류 바이트를 초과하는 상기 데이터그램의 특정 행에서 전체 소실 수는 상기 제2 레지스터에서 64 오류 바이트 이하로 감소된다. 다른 실시예에서, 물리적(PHY) RS 해독 실패 신호는 상기 데이터그램에서 상기 소실을 표시하는데 사용된다. 또한, 다른 실시예에서, 상기 FEC RS 디코딩 프로세스는 상기 오류 바이트를 정정하도록 동작 가능한 소실 모드를 포함하며, 이 경우 상기 소실 모드는 Berlekamp-Massey 알고리즘을 사용하여 구현된다.
또 다른 실시예는 데이터 전송 패킷에서 오류를 검출할 수 있는 장치를 제공하며, 상기 장치는 저장 메모리 매체; 데이터를 저장 메모리 매체에 다수의 데이터그램으로 기록하도록 동작 가능한 버퍼; 기록된 데이터에 대한 소실로서 상기 데이터그램에 있는 모든 오류 바이트를 표시하도록 동작 가능한 제1 PHY RS 해독 실패 신호장치; 상기 데이터그램에 대하여 로우-바이-로우(row-by-row) 방식으로 제1 FEC RS 디코딩 프로세스를 실행하도록 동작 가능한 디코더; 상기 기록된 데이터에 대한 소실로서 상기 데이터그램에 있는 모든 오류 바이트를 표시하도록 동작 가능한 제2 PHY RS 해독 실패 신호장치; 및 상기 데이터그램으로부터 상기 오류 바이트를 제거하도록 동작 가능한 레지스터를 포함한다. 하나의 실시예에서, 64 오류 바이트를 초과하는 상기 데이터그램의 특정 행에서 전체 소실 수는 상기 레지스터에서 64 오류 바이트 이하로 감소된다. 상기 장치는 상기 기록된 데이터에 대한 소실로서 상기 데이터그램에 있는 모든 오류 바이트를 표시하도록 동작 가능한 제3 PHY RS 해독 실패 신호장치를 더 포함한다. 다른 실시예에서, 상기 디코더는 상기 오류 바이트를 정정하도록 동작 가능한 상기 FEC RS 디코딩 프로세스의 오류 모드를 포함하며, 이 경우 상기 오류 모드는 Berlekamp-Massey 알고리즘을 사용하여 구현된다.
다른 실시예는 데이터가 입력될 수 있는 입력(entries)을 구성하도록 행 및 열로 조직된 데이터그램으로 이루어진 프레임 버퍼 메모리장치; 상기 프레임 버퍼 메모리장치에 연동되는 소실 캐쉬 레지스터; 상기 소실 캐쉬 레지스터에 연동되며 각 열의 제1 행에 각 바이트에 대한 소실 비트를 포함하는 소실 플래그 레지스터; 및 상기 프레임 버퍼 메모리장치에서 상기 데이터그램에 대한 FEC RS 디코딩 프로세스를 실행하도록 동작 가능한 디코더를 포함하며, 이 경우 상기 프레임 버퍼 메모리장치의 각 바이트는 상기 디코더에 인입할 때 0 및 1 중의 임의의 것과 동등한 소실 플래그로 표시되는 것을 특징으로 하는 오류-검출장치를 제공한다. 바람직하게는, 상기 소실 캐쉬 레지스터는 데이터그램 말단 바이트 어드레스와 순환 중복 검사(CRC: cyclic redundancy check) 검사비트를 포함한다. 또한, 상기 디코더는 로우-바이-로우(row-by-row) 방식으로 상기 데이터그램을 디코딩하도록 동작 가능하며, 이 경우 행 인덱스는 따라서 하강하여 각 열의 입력(entries)에 저장되는 행 인덱스에 대한 검사가 이루어진다.
여기에 개시된 실시예의 이들 특징 및 다른 특징은 다음의 설명과 첨부 도면과 관련하여 고려될 때 더욱 잘 이해될 것이다. 그러나, 다음의 설명은 바람직한 실시예와 그것의 수많은 구체적인 사항을 보여주지만, 예시의 목적으로 제시된 것이며 제한의 목적으로 제시되는 것은 아니라는 사실을 이해해야 한다. 많은 변경과 수정이 여기에 개시된 실시예의 정신을 벗어나지 않고 개시된 실시예의 범위 내에서 이루어질 수 있으며, 또한 개시된 실시예는 이러한 모든 수정사항들을 포함한다.
본 발명의 실시예는 도면을 참조하여 다음의 상세한 설명으로부터 더욱 잘 이해될 것이다.
도 1은 FEC 프로세스를 수행하는 종래의 방법에 대한 개략도를 도시한다.
도 2는 실시예에 따른 순환 CRC + FEC 디코딩 프로세스를 나타내는 개략도이다.
도 3a는 실시예에 따른 순환 PHY + FEC 디코딩 프로세스를 나타내는 개략도이다.
도 3b는 실시예에 따른 순환 PHY RS + FEC 디코딩 프로세스의 구현을 나타내는 개략도이다.
도 4는 실시예에 따른 소실 캐쉬 방식의 개략도를 도시한다.
도 5a 내지 도 5c는 실시예에 따른 순환 RS + FEC 프로세스를 이용하여 시뮬레이션된 코딩 이득을 나타내는 그래픽 표현이다.
도 6은 실시예에 따른 제1 방법을 나타내는 흐름도이다.
도 7은 실시예에 따른 시스템의 개략도이다.
도 8은 실시예에 따른 제2 방법을 나타내는 흐름도이다.
도 9는 실시예에 따른 컴퓨터 하드웨어 도면이다.
여기에 기재된 실시예와 그것의 다양한 특징 및 유리한 세부적인 사항들은 첨부 도면에 도시됨과 아울러 다음 설명에 상술된 비제한적 실시예를 참조하여 더욱 완전하게 설명된다. 주지된 부품과 처리 기술에 대한 설명은 실시예를 불필요하게 애매하게 하지 않도록 생략된다. 여기에 사용된 예는 단지 실시예가 실용화될 수 있는 방법의 이해를 용이하게 하며 또한 당 분야의 통상의 지식을 가진 자가 실시예를 실용화할 수 있도록 의도되어 있다. 따라서, 이 예는 실시예의 범위를 제한하는 것으로 해석되어서는 않된다.
언급한 바와 같이 더 나은 오류 검출/정정 방식을 제공함에 의해 모바일 디바이스에서 디지털 신호 수신 성능을 향상시키는 기술에 대한 요구가 존재한다. 본 발명의 실시예는 듀얼 모드 FEC RS 디코더와 순환 CRC/리드-솔로몬(Reed-Solomon) 및 FEC 디코딩을 이용하여 MPE-FEC 오류 정정 능력을 향상시키기 위한 새로운 접근방식을 제공함에 의해 이를 달성한다. 이제 도면, 특히 도 2 내지 도 9를 참조하면, 이 도면에서 유사한 참조기호는 일관되게 여러 도면에 걸쳐서 대응되는 특징을 표시하며, 또한 본 발명의 바람직한 실시예가 도시되어 있다.
제1 실시예가 도 2에 도시되어 있으며, 도 2는 순환 CRC + FEC 프로세스를 나타낸다. 여기서, 2M비트 데이터그램 메모리(200)의 초기 FEC RS 디코딩이 발생한 후, 메모리 유닛(200)에서는 모든 데이터그램(205)에 대한 CRC 검사(202)가 다시 실행된다. 오류 바이트의 일부는 제1 라운드 FEC RS 디코딩 동안 정정되고, 정상적으로는 데이터그램(205)의 CRC 실패는 단지 수개의 배드 바이트(bad bytes)에 의해 야기되기 때문에 이전에 소실로 표시되었던 전체 데이터그램(205)은 이제 모두 소실로서 제거될 수 있다. 결국, 초기 FEC RS 디코딩에서 64를 초과하는 행(206)에서의 전체 소실 수가 이제 64보다 더 작게 될 기회를 가지며, 이 경우 FEC RS 디코더(208)는 소실 모드 캐쉬(210)를 이용하여 모든 오류를 정정할 수 있다. 행(206)에서 전체 소실 카운트가 64보다 작거나 동일한 한 소실-기반 FEC RS 디코더(208) 는 그 행에서 모든 오류 바이트를 정정할 수 있다. 더욱이, CRC 검사(202)와 FEC RS 디코딩(208) 사이의 반복은 2M비트 데이터그램 메모리(200)에서 모든 오류를 제거하는 것에 도움이 된다. 여기서 하나의 FEC 디코딩 동작에서 2개의 바이트 정정은 그 데이터그램(212)에 속하는 모든 바이트(통상적으로 약 1,000 바이트)에 대한 소실 마크를 제거할 것이다. CRC + FEC 반복은 64 이상의 소실을 갖는 정정 불가능한 행의 제거에 도움을 주며, 따라서 이는 종래의 프로세스와 비교할 때 오류 정정 능력 및 디코딩 이득을 향상시킨다. 더욱이, 하나의 CRC + FEC 루프는 약 3.4ms + 6.8ms, 즉 약 10ms가 걸린다.
제2 실시예에서 순환 CRC + FEC 방법 이외에 순환 PHY RS + FEC, 즉 순환 PHY RS + FEC 디코딩 접근 방식은 향상된 코딩 이득을 제공한다. 이러한 접근 방식이 도 3a 및 도 3b에 도시되어 있다. 여기서, 수신기 PHY(도시되지 않음)로부터 인입되는 데이터그램 바이트는 (204, 188) 코드를 이용하여 RS 부호화되어 있다. 204 바이트 그룹의 전체 오류 바이트 수가 8보다 작은 경우 PHY RS는 그들 모두를 정정할 것이다: 그렇지 않으면 PHY RS는 해독 실패 신호를 표시할 것이다. 이는 204 바이트에서 실제 오류 바이트가 8을 초과하는 지를 표준 Berlekamp-Massey 알고리즘이 표시하기 때문에 발생한다. 이들 오류 바이트는 정정 가능한 것이 아니며, 따라서 해독 실패 신호를 발생한다. 제2 실시예에 따르면, PHY RS 해독 실패 신호는 전체 데이터그램(302)에 대한 CRC 검사를 이용하는 대신에 소실로서 188 바이트 모두를 표시하는데 사용된다. 그 후, 초기 FEC RS 디코딩은 로우-바이-로우 베이스로 수행된다. 소실 모드 또는 오류 모드 중 하나에서 FEC RS 디코딩은 메모리 유 닛(302)의 데이터그램(300) 중 일부 바이트를 정정할 것이다. 그 후, 제2 PHY RS 디코딩 프로세스가 실행된다. 일부 오류 바이트는 초기 FEC RS 디코딩에서 정정되기 때문에 8개 이상의 오류로 인하여 이전에 PHY RS 디코딩을 실패한 204 바이트 그룹은 현재 전체 오류 수가 8보다 적거나 또는 동일한 기회를 갖는다. 이러한 경우에 PHY RS의 한번 이상의 실행은 204 바이트 그룹당 모든 오류 바이트를 정정할 수 있다. 이러한 결과로서 이전에 소실로서 표시된 전체 188 데이터 바이트는 현재 소실로서 제거된다.
제2 라운드 FEC RS는 소실이 64개 이상인 소수의 행(304)을 가지며, 또한 소실이 64개 이하인 이들 행(304)은 FEC RS에 의해 정정된다. 이들 순환 PHY RS + FEC RS 디코딩 프로세스, 또는 터보 디코딩은 좀더 복잡한 하드웨어 구현물 비용을 지불하는 순환 CRC + FEC 디코딩과 비교할 때 더 높은 코딩 이득을 제공한다. 특히 추가 메모리 장치(305,307)가 2M비트 버퍼 메모리(302)(도 3a의)에 저장되지 않은 TP 패킷으로부터 헤더 바이트와 CRC 바이트를 저장하기 위하여 (도 3b에 표시된 16KB 및 32KB) 사용된다. 2M비트 메모리(302)는 단지 데이터그램 바이트를 저장하기 때문에 추가 32KB 메모리(305)와 16KB 메모리(307)는 각 데이터그램 세션에 대한 패킷 헤더 바이트와 CRC 바이트를 저장하는데 사용된다. 이들 헤더 바이트와 CRC 바이트는 FEC RS 디코딩 다음에 PHY RS 디코딩에 사용된다. 도 3b에 도시된 바와 같이 제1 PHY RS 디코딩 프로세스(306) 이후에 헤더 바이트와 CRC 바이트는 각 데이터그램 세션으로부터 제거되며(308), 단지 후속되는 FEC RS 디코딩(312)에 대한 2M비트 메모리(302)(도 3a의)에 저장된다(310). FEC RS 디코딩 후에 제2 PHY RS 디코딩 프로세스를 시작하며, 또한 헤더 바이트와 CRC 바이트가 이때 사용되며, 이는 도 3b의 각각 32KB 및 16KB 메모리(305,및 307)로부터 가져온다. 데이터는 그 후 다중 프로토콜 캡슐화(MPE: multiprotocol encapsulation) 인캡슐레이터(314)로 보내진다. MPE 인캡슐레이터(314)는 32KB 및 16KB 메모리(305,307)에 저장된 PID 헤더 바이트와 CRC 바이트를 2M비트 버퍼(302)(도 3a)의)에 저장된 데이터그램과 함께 결합시켜서 오리지널 인입 트랜스포트 스트림(TS: transport streams)을 형성한다. 그 후, 순환 또는 반복 프로세스가 계속될 수 있다.
제3 실시예에 따르면, PHY RS 디코더 실패는 FEC RS 디코딩을 위한 소실(erasures)을 표시하는 데에 사용된다. 여기서, 제1 및 제2 실시예의 순환 CRC/RS + FEC 디코딩을 사용하거나 또는 사용하지 않거나 PHY RS 디코더 실패는 FEC RS 디코딩을 위한 소실(erasures)을 표시하는 데에 사용된다. 이러한 접근 방식은 CRC 검사와 비교할 때 더 적은 소실을 가져온다. 그 이유는 PHY RS는 CRC RS 검사(데이터그램, 일반적으로 약 1000 바이트의 전체 바이트가 소실로 표시된다)보다 소실을 표시하는 입도(granularity)(188 바이트)를 더 작게 사용하기 때문이다. 따라서, PHY RS 실패 신호에 의해 주어진 한 행의 전체 소실 수는 CRC 검사에 의해 주어진 그 행의 전체 소실 수보다 더 적게 될 것이다. 따라서, 한 행에서 전체 소실 수가 CRC 경우에서보다 PHY RS 경우에 64보다 더 작거나 또는 동일하게 될 수 있다. 따라서, 모든 오류는 한 행에서 전체 소실 수가 64보다 더 작거나 또는 동일하게 되는 경우 FEC RS에 의해 정정 가능하게 된다. 더욱이, 이러한 더 적은 소실은 소실 모드에서 FEC RS 디코딩을 돕는다.
제4 실시예는 소실 캐쉬 방식에 관한 것이다. MPE-FEC에서, 모든 바이트는 소실로서 표시되어야 하나, 그렇지 않으면 FEC RS 디코딩 전이 아니어야 한다. 이는 하드웨어 복잡성 비용에 부가되는 2Mbit/8 = 0.25Mbit 추가 저장 메모리를 필요로 한다. 제4 실시예는 모든 바이트에 대한 소실을 회복하기 위해 메모리 사이즈와 타이밍 관점에서 이러한 소실 캐쉬를 구현하는 효과적인 방법을 제공한다. 제4 실시예에 의해 제공되는 소실 캐쉬 방식은 바람직하게는 48960 비트 사이즈의 독립형 SRAM으로 구현되며, 또한 바람직하게는 도 4에 제시된 바와 같이 255 열(columns) x 16 행(rows) = 4080 입력(entries)으로 구성된다. 각 입력은 바람직하게는 12비트 폭을 갖는다. 열(403)에의 제1 입력은 프레임 버퍼 메모리(402)에서 그 열(403)의 제1 데이터그램 말단 어드레스(tail address)를 저장한다. 이는 이 말단 어드레스 이전의 열에 있는 모든 바이트가 말단 바이트와 동일한 소실 플래그를 갖게 될 것을 나타낸다. 이러한 방식에서 소실 플래그는 각 바이트에 대하여 저장되지 않고 오히려 단지 하나의 소실 플래그만이 데이터그램의 끝에 저장된다. 제2 입력은 만약 하나 등이 존재하는 경우 그 열(403)에 제2 데이터그램 말단 어드레스를 저장한다. 16 입력은 하나의 열(403)이 1024/64 = 16 데이터그램을 갖는 최악의 경우를 대비하고 있다. 특히, 입력의 제1 내지 제10 비트는 열 어드레스를 저장하며 제11 비트는 데이터그램의 CRC 검사에 따른 소실 플래그와 PHY RS 디코더로부터 188 바이트 패킷 출력의 PHY RS 해독 실패 신호를 저장한다. 더욱이 제12 비트는 반드시 사용되는 것은 아니다. 이는 소실 캐쉬 방식의 구조를 설명한다. 다음은 이러한 소실 캐쉬 방식이 2Mb 프레임 버퍼 메모리(402)에 저장된 각 바이트에 소실 플래그를 어떻게 제공하는 지를 설명한다.
프레임 버퍼 기록 프로세스 동안 일단 CRC가 수행되면, 데이터그램 말단 바이트 어드레스와 CRC 검사 비트는 소실 캐쉬(404)에 데이터그램 세션당 한개의 입력씩 저장된다. 프레임 버퍼 기록 프로세스 동안 소실 비트가 각 열(403)의 제1 행에서 각 바이트에 대한 소실 플래그에 대응하도록 또한 프로그램된 255 비트 소실 플래그 초기 레지스터(406)가 구비되어 있다. FEC RS 디코더(408)가 로우-바이-로우(row-by-row) 방식으로 프레임 버퍼(402)를 해독하기 시작할 때 행 인덱스(410)는 따라서 하강하면서 각 열(403)의 입력에 저장된 행 인덱스(410)에 대하여 검사한다. 만약 히트(hit)가 존재하는 경우, 그 입력으로부터 소실 비트는 255 비트 소실 플래그 레지스터(406)에 대한 소실 플래그를 갱신하는데 사용된다. 이것은 행 인덱스(410)가 하강할 때 그것의 인덱스 값(열 어드레스 값)이 그 열(403)의 소실 캐쉬 입력에 저장된 열 어드레스 값과 동일하다는 것을 의미한다. 만약 어떤 히트로 존재하지 않는 경우, 그 후 그 열에 대한 소실 플래그 레지스터(406)는 변경 없이 하강을 유지한다. 이러한 방법으로 프레임 버퍼(402)의 각 바이트는 소실-기반 디코딩을 위해 FEC RS를 도입할 때 소실 = 0 또는 1로 표시된다. 이러한 방법으로 각 데이터그램 바이트는 각 데이터 바이트에 대해 하나의 소실 플래그 비트를 저장하기 위해 큰 메모리를 사용하지 않으면서 그것의 오리지날 소실 플래그로 표시된다. 소실 모드에서 FEC RS 디코더(408)는 그 행에 속하는 모든 255 바이트에 대해 소실 플래그 정보를 사용한다.
DVB-H 표준에 따르면 FEC RS 디코더는 단지 소실 모드로만 동작한다. 이러한 제한에 따라 제5 실시예는 듀얼 모드 FEC RS 디코더(208)(도 2에 도시됨)를 제공한다. 만약 행(206)에서 전체 소실 수가 64보다 크지 않는 경우 정상적인 소실 모드는 모든 오류 바이트를 정정하는데 사용된다. 만약 전체 소실 수가 64보다 더 큰 경우 어떤 것도 하지 않고 포기하는 대신에 이 FEC RS에 대한 오류 모드는 제5 실시예에 따라 행(206)에서 32 바이트까지 정정을 할 수 있다. 이것은 행(206)에서의 소실이 CRC 검사 또는 PHY RS에 의해 표시된 유일한 오류 바이트라는 사실에 기초를 두고 있다. 그것은 그들이 진짜 오류 바이트라는 것을 의미하지 않는다. 이는 전체 소실 수가 64 이상일지라도 RS 디코더(408)의 소실 모드는 어떤 것도 정정할 수 없으나, RS 디코더(408)의 오류 모드는 실제 오류 바이트의 전체 수가 32 보다 더 작거나 또는 동일한 경우 오류 바이트를 정정할 수 있다는 것을 의미한다. FEC RS 디코더(208)의 오류 모드는 FEC RS 디코딩 동안 소실 모드를 실패할 때 추가 오류 정정 성능을 제공하는 주지된 Berlekamp-Massey 알고리즘을 사용하여 구현된다.
본 발명의 몇 개의 실시예가 순환 RS + FEC 접근 방식을 사용함에 의해 시뮬레이션된 코딩 이득을 사용하여 실험적으로 검증되었다. 도 5a 내지 도 5c에서 12.7dB 내지 11.8dB 범위의 3 신호-대-잡음 비(SNR) 값을 갖는 신호는 순환 PHY RS + FEC 디코딩의 3회 반복이 진행되어 모든 오류 바이트가 정정된다. 도 5a에 도시된 바와 같이 단지 하나의 FEC RS 디코딩 단계만을 사용하는 종래의 MPE FEC 디코딩과 비교할 때 12.7dB의 SNR이 요구된다. 순환 PHY RS + FEC가 3회 반복하여 사용될 때 요구되는 SNR은 11.SdB 까지 하강될 수 있다. 순환 PHY RS + FEC 디코딩에 의해 얻어지는 코딩 이득은 따라서 약 1dB이다. 도 5a에서 SNR은 12.7dB이다. 모든 오류 바이트는 도 5a의 FEC 행에 표시된 바와 같이 제1 패스 FEC RS 디코딩 프로세스에서 정정된다. 도 5b에서 SNR은 PHY RS + FEC RS 반복 없이 12.0dB이며, 신호는 도 5b의 FEC 행에 표시된 것과 같은 많은 오류를 갖고 있으며, 이는 FEC RS 디코딩의 하나의 패스가 오류 바이트를 정정할 수 없는 것을 의미한다. PHY RS + FEC RS 반복이 이루어지는 경우 도 5b에서 RS-3 및 FEC 3 행에 표시된 바와 같이 모든 오류는 정정된다. 도 5c에서 SNR은 11.8dB로 감소하며 또한 여전히 모든 오류는 첫번째 패스의 FEC RS 디코딩 프로세스에서 정정 가능하지 않으나, PHY RS + FEC RS 반복에 의해 모든 오류는 정정된다. 이들 결과는 PHY RS + FEC RS 반복이 이루어지는 경우 정정되는 모든 오류 바이트에 허용된 최소 SNR은 12.7dB로부터 11.8dB까지 완화될 수 있다. 반복 PHY RS + FEC RS 디코딩이 제공하는 등가물은 약 IdB 코딩 이득을 나타내며, 이에 의해 실시예에 의해 제공되는 효율을 나타낸다.
도 2 내지 도 5를 참조하면, 도 6은 데이터 전송 패킷에서 오류 검출을 실행하는 컴퓨터-구현 방법을 나타낸다. 이 방법은 데이터를 저장 메모리(200)에 다수의 데이터그램(205)으로 기록하는 단계(601); 기록된 데이터에 대한 제1 CRC를 실행하는 단계(603); 데이터그램(205)에 대하여 로우-바이-로우(row-by-row) 방식으로 제1 FEC RS 디코딩 프로세스를 실행하는 단계(605); 오류를 포함하는 기록 데이터에 대응하는 데이터그램(205)에 소실을 표시하는 단계(607); 기록 데이터에 대한 제2 CRC를 실행하고(609); 데이터그램(205)으로부터 소실을 제거하는 단계(611); 그리고 데이터그램(205)에 대하여 로우-바이-로우(row-by-row) 방식으로 제1 FEC RS 디코딩 프로세스를 실행하는 단계(613)를 포함한다. 이 방법은 또한 기록 데이 터에 대하여 부가 CRC를 실행하는 단계; 데이터그램(300)으로부터 모든 소실을 제거하는 단계; 및 데이터그램(300)에 대하여 로우-바이-로우(row-by-row)(304) 방식으로 부가 FEC RS 디코딩 프로세스를 실행하는 단계를 포함할 수 있다. 일 실시예에서 데이터그램(300)으로부터 소실을 제거하는 경우 64 오류 바이트를 초과하는 데이터그램(300)의 특정 행(304)에서 전체 소실 수가 64 오류 바이트 이하로 감소된다. 다른 실시예에서 PHY RS 해독 실패 신호는 데이터그램(300)에서 소실의 표시에 사용된다. 상기 방법은 오류 바이트를 정정하기 위하여 FEC RS 디코딩 프로세스의 소실 모드를 사용하는 단계를 더 포함하며, 소실 모드는 Berlekamp-Massey 알고리즘을 사용하여 구현된다.
도 7은 실시예에 따른 예시 시스템(700)의 도면을 나타낸다. 도 7이 다양한 장치에 대한 바람직한 수치 크기를 제공하고 있으나, 이들 크기는 예로서 제공되며 또한 본 실시예는 임의의 특정 장치 크기에 제한되지 않는다. 일반적으로 메모리 유닛(701)은 바람직하게는 데이터그램(716)을 포함하는 256KB 데이터그램 메모리 장치(702), 30KB PHYS RS 패리티 캐쉬 장치(703), 및 32KB 세션 헤더 캐쉬 장치(705)를 포함하고 있다. PHYS RS 디코더 및 CRC 검사장치(레지스터)(707)는 6KB 소실 캐쉬 장치(709) 및 메모리 유닛(701), 특히 PHYS RS 패리티 캐쉬(703) 및 세션 헤더 캐쉬(705)와 통신한다. 소실 캐쉬 장치(709)는 FEC RS 디코더(711)에 소실 플래그를 전송하도록 되어있으며, 또한 FEC RS 디코더(711)는 또한 데이터그램 메모리 장치(702)에 연동된다. 메모리 유닛(711) 및 FEC RS 디코더(711)에 데이터를 전송하도록 되어있는 레지스터 버스(715)가 또한 제공되며, 더욱이 디멀티플렉 서(demux) 장치(713)와 통신하도록 되어있다. 더욱이 demux 장치(713)는 메모리 유닛(701)에 연동된다.
도 7을 참조한 도 8은 데이터 전송 패킷에서 오류 검출을 실행하는 컴퓨터-구현 방법을 나타낸다. 이 방법은 데이터를 저장 메모리 매체(702)에 다수의 데이터그램(716)으로 기록하는 단계(801); 기록된 데이터에 대한 제1 PHY RS 해독 실패 신호를 이용하여 소실로서 데이터그램(716)에 있는 모든 오류 바이트를 표시하는 단계(803); 데이터그램(716)에 대하여 로우-바이-로우(row-by-row) 방식으로 제1 FEC RS 디코딩 프로세스를 실행하는 단계(805); 기록된 데이터에 대한 제2 PHY RS 해독 실패 신호를 이용하여 소실로서 데이터그램(716)에 있는 모든 오류 바이트를 표시하는 단계(807); 데이터그램(716)으로부터 오류 바이트를 제거하는 단계(809)를 포함한다.
다른 실시예에서 상기 방법은 더욱이 기록된 데이터에 대한 제3 PHY RS 해독 실패 신호를 이용하여 소실로서 데이터그램(716)에 있는 모든 오류 바이트를 표시하는 단계를 더 포함할 수 있다. 또한, 상기 방법은 더욱이 오류 바이트를 정정하기 위하여 FEC RS 디코딩 프로세스의 소실 모드를 사용하는 단계를 더 포함하며, 또한 소실 모드는 Berlekamp-Massey 알고리즘을 사용하여 구현된다.
본 실시예는 전체적인 하드웨어 실시예, 전체적인 소프트웨어 실시예, 또는 하드웨어와 소프트웨어 소자 모두를 포함하는 실시예의 형식을 취할 수 있다. 바람직한 실시예에서 본 발명은 소프트웨어로 구현되며, 이는 펌웨어, 상주(resident) 소프트웨어, 및 마이크로코드 등을 포함하나 이에 제한되지 않는다.
더욱이, 본 실시예는 컴퓨터 또는 임의의 명령 실행 시스템과 접속하거나 또는 이에 의한 사용을 위해 프로그램 코드를 제공하는 컴퓨터-사용 가능 또는 컴퓨터-판독 가능 매체로부터 액세스 가능한 컴퓨터 프로그램 제품의 형식을 취할 수 있다. 이러한 설명의 목적을 위하여 컴퓨터-사용 가능 또는 컴퓨터-판독 가능 매체는 명령 실행 시스템, 장치 또는 디바이스와 접속하거나 또는 이에 의한 사용을 위해 프로그램을 포함, 저장, 통신, 전파 또는 전송할 수 있는 임의의 장치로 이루어질 수 있다.
매체는 전자식, 자기식, 광학식, 전자기식, 적외선 방식 또는 반도체 시스템(또는 장치나 디바이스) 또는 전파 매체(propagation medium)일 수 있다. 컴퓨터-판독 가능 매체의 예는 반도체 또는 고체 메모리, 자기 테이프, 제거 가능한 컴퓨터 디스켓, RAM, ROM, 강성 자기 디스크 및 광디스크를 포함한다. 현행 광디스크의 예는 CD-ROM, CD-R/W 및 DVD를 포함한다.
프로그램 코드를 저장 및/또는 실행하는 데 적합한 데이터 처리 시스템은 시스템 버스를 통하여 메모리 소자에 직접 또는 간접으로 결합된 적어도 하나의 프로세서를 포함한다. 메모리 소자는 프로그램 코드의 실제 실행 동안 사용된 로컬 메모리, 벌크 저장장치 및 실행이 이루어지는 동안 벌크 저장장치로부터 코드가 검색되어야 하는 횟수를 줄이기 위하여 적어도 약간의 프로그램 코드의 임시적인 저장을 제공하는 캐쉬 메모리를 포함할 수 있다.
입력/출력(I/O) 장치(키보드, 디스플레이, 포인팅 장치 등을 포함하나 이에 제한되는 것이 아니다)는 I/O 컨트롤러에 직접 또는 이를 중재하여 시스템에 결합 될 수 있다. 네트워크 어댑터가 또한 시스템에 결합될 수 있으며, 이는 데이터 처리 시스템이 다른 데이터 처리 시스템 또는 원격 프린터 또는 사설 또는 공용 네트워크 중재를 통하여 저장장치에 결합되게 한다. 모뎀, 케이블 모뎀 및 이더넷 카드가 바로 소수의 현재 유용한 타입의 네트워크 어댑터이다.
본 발명의 실시예를 실행하기 위한 대표적인 하드웨어 환경이 도 9에 표시되어 있다. 이 개략도는 본 발명의 실시예에 따라 정보 취급/컴퓨터 시스템의 하드웨어 구성을 나타내고 있다. 시스템은 적어도 하나의 프로세서 또는 중앙처리장치(CPU)(10)를 포함하고 있다. CPU(10)는 시스템 버스(12)를 통하여 RAM(14), ROM(16) 및 입력/출력(I/O) 어댑터(18)와 같은 다양한 장치에 연결되어 있다. I/O 어댑터(18)는 디스크 유닛(11) 및 테이프 드라이브(13), 또는 시스템에 의해 판독 가능한 다른 프로그램 저장장치와 같은 주변장치에 연결될 수 있다. 시스템은 프로그램 저장장치에서 발명의 명령을 판독하며 또한 발명의 실시예의 방법을 실행하기 위해서 이러한 명령을 따르게 된다. 시스템은 또한 키보드(15), 마우스(17), 스피커(24), 마이크로폰(22), 및/또는 터치 스크린장치(도시되지 않음)와 같은 다른 사용자 인터페이스장치를 버스(12)에 연결하여 사용자 입력을 모으기 위한 사용자 인터페이스 어댑터(19)를 포함하고 있다. 더욱이, 통신 어댑터(20)가 버스(20)를 데이터 처리 네트워크(25)에 연결하며, 디스플레이 어댑터(21)는 버스(12)를, 예를 들어 모니터, 프린터, 또는 송신기와 같은 출력 장치로서 구현될 수 있는 디스플레이 장치(23)에 연결한다.
전체적으로 본 발명 실시예는 채널 코딩 이득을 향상시키기 위한 순환 CRC + FEC를 사용하는 시스템과 방법을 DVB-H 수신기에 제공하며, 또한 PHY RS 디코더 + FEC를 이용하여 더 나은 코딩 이득을 달성한다. 이 시스템과 방법은 FEC 디코딩을 위한 듀얼 모드 RS 디코더(소실 모드 및 오류 모드)를 이용한다. PHY RS는 FEC에 대하여 더 작은 입도(granularity)를 제공하는 데 사용된다. 시스템은 VLSI(초고밀도집적회로) 칩 하드웨어에 순환 CRC/RS + FEC를 구현하기 위한 캐쉬 메모리 관리 방법을 포함한다.
특정 실시예에 대한 상기한 설명은 실시예의 일반적인 특징을 충분히 밝혔으므로 현재의 지식을 적용함에 의해 다른 사람이 포괄적인 개념으로부터 이탈하지 않고 특정 실시예를 다양한 어플리케이션을 위하여 쉽게 수정 및/또는 개조하는 것이 가능하다. 따라서, 이러한 개조 및 수정은 개시된 실시예의 등가물의 의미 및 범위 내에서 이해되어야 하며 또한 그렇게 하도록 의도된 것이다. 여기에 사용된 어법과 용어는 설명의 목적을 위한 것으로서 제한의 목적을 위한 것이 아닌 것으로 이해되어야 한다. 따라서, 본 실시예는 바람직한 실시예로 설명되었지만, 당업자는 이 실시예들이 첨부된 청구범위의 정신 및 범위 내에서 수정하여 실시될 수 있다는 것을 알 수 있을 것이다.

Claims (30)

  1. 데이터 전송 패킷에서 오류 검출을 실행하는 컴퓨터-구현 방법에 있어서,
    데이터를 저장 메모리 매체에 다수의 데이터그램으로 기록하는 단계;
    기록된 데이터에 대한 제1 순환 중복 검사(CRC: cyclic redundancy check)를 실행하는 단계;
    상기 데이터그램에 대하여 로우-바이-로우(row-by-row) 방식으로 제1 순방향 오류 정정(FEC: forward error correction) 리드-솔로몬(RS: Reed-Solomon) 디코딩 프로세스를 실행하는 단계;
    오류를 포함하는 기록 데이터에 대응하는 상기 데이터그램에 소실을 표시하는 단계;
    상기 기록 데이터에 대한 제2 CRC를 실행하는 단계;
    상기 데이터그램으로부터 소실을 제거하는 단계; 및
    상기 데이터그램에 대하여 로우-바이-로우(row-by-row) 방식으로 제2 FEC RS 디코딩 프로세스를 실행하는 단계를 포함하는 것을 특징으로 하는 데이터 전송 패킷에서 오류 검출을 실행하는 컴퓨터-구현 방법.
  2. 제1항에 있어서,
    상기 기록 데이터에 대하여 부가 CRC를 실행하는 단계;
    상기 데이터그램으로부터 모든 상기 소실을 제거하는 단계; 및
    상기 데이터그램에 대하여 로우-바이-로우(row-by-row)) 방식으로 부가 FEC RS 디코딩 프로세스를 실행하는 단계를 더 포함하는 것을 특징으로 하는 데이터 전송 패킷에서 오류 검출을 실행하는 컴퓨터-구현 방법.
  3. 제1항에 있어서, 상기 데이터그램으로부터 상기 소실을 제거함에 있어서 64 오류 바이트를 초과하는 상기 데이터그램의 특정 행에서 전체 소실 수가 64 오류 바이트 이하로 감소되는 것을 특징으로 하는 데이터 전송 패킷에서 오류 검출을 실행하는 컴퓨터-구현 방법.
  4. 제1항에 있어서, 물리적(PHY: physical) RS 해독 실패 신호가 상기 데이터그램에서 상기 소실의 표시에 사용되는 것을 특징으로 하는 데이터 전송 패킷에서 오류 검출을 실행하는 컴퓨터-구현 방법.
  5. 제3항에 있어서, 상기 오류 바이트를 정정하기 위하여 FEC RS 디코딩 프로세스의 소실 모드를 사용하는 단계를 더 포함하며, 이 경우 상기 소실 모드는 Berlekamp-Massey 알고리즘을 사용하여 구현되는 것을 특징으로 하는 데이터 전송 패킷에서 오류 검출을 실행하는 컴퓨터-구현 방법.
  6. 데이터 전송 패킷에서 오류 검출을 실행하는 컴퓨터-구현 방법에 있어서,
    데이터를 저장 메모리 매체에 다수의 데이터그램으로 기록하는 단계;
    기록된 데이터에 대한 제1 PHY RS 해독 실패 신호를 이용하여 상기 데이터그램에 있는 모든 오류 바이트를 소실로서 표시하는 단계;
    상기 데이터그램에 대하여 로우-바이-로우(row-by-row) 방식으로 제1 FEC RS 디코딩 프로세스를 실행하는 단계;
    상기 기록된 데이터에 대한 제2 PHY RS 해독 실패 신호를 이용하여 상기 데이터그램에 있는 모든 오류 바이트를 소실로서 표시하는 단계; 및
    상기 데이터그램으로부터 상기 오류 바이트를 제거하는 단계를 포함하는 것을 특징으로 하는 데이터 전송 패킷에서 오류 검출을 실행하는 컴퓨터-구현 방법.
  7. 제6항에 있어서, 상기 데이터그램으로부터 상기 오류 바이트를 제거함에 있어서 64 오류 바이트를 초과하는 상기 데이터그램의 특정 행에서 전체 소실 수가 64 오류 바이트 이하로 감소되는 것을 특징으로 하는 데이터 전송 패킷에서 오류 검출을 실행하는 컴퓨터-구현 방법.
  8. 제6항에 있어서, 상기 기록된 데이터에 대한 제3 PHY RS 해독 실패 신호를 이용하여 상기 데이터그램에 있는 모든 오류 바이트를 소실로서 표시하는 단계를 더 포함하는 것을 특징으로 하는 데이터 전송 패킷에서 오류 검출을 실행하는 컴퓨터-구현 방법.
  9. 제7항에 있어서, 상기 오류 바이트를 정정하기 위하여 FEC RS 디코딩 프로세 스의 소실 모드를 사용하는 단계를 더 포함하며, 이 경우 상기 소실 모드는 Berlekamp-Massey 알고리즘을 사용하여 구현되는 것을 특징으로 하는 데이터 전송 패킷에서 오류 검출을 실행하는 컴퓨터-구현 방법.
  10. 데이터 전송 패킷에서 오류를 검출할 수 있는 장치에 있어서,
    저장 메모리 매체;
    데이터를 상기 저장 메모리 매체에 다수의 데이터그램으로 기록하도록 동작 가능한 버퍼;
    기록된 데이터에 대한 제1 순환 중복 검사(CRC: cyclic redundancy check)를 실행하도록 동작 가능한 제1 레지스터;
    상기 데이터그램에 대하여 로우-바이-로우(row-by-row) 방식으로 제1 순방향 오류 정정(FEC) 리드-솔로몬(RS) 디코딩 프로세스를 실행하도록 동작 가능한 디코더;
    오류를 포함하는 기록 데이터에 대응하는 상기 데이터그램에 소실에 대응하는 오류 바이트;
    상기 기록 데이터에 대한 제2 CRC를 실행하도록 동작 가능한 제2 레지스터; 및
    상기 데이터그램으로부터 소실을 제거하도록 동작 가능한 제3 레지스터를 포함하며,
    상기 디코더는 상기 데이터그램에 대하여 로우-바이-로우(row-by-row) 방식 으로 제2 FEC RS 디코딩 프로세스를 실행하도록 동작 가능한 것을 특징으로 하는 데이터 전송 패킷에서 오류를 검출할 수 있는 장치.
  11. 제10항에 있어서,
    상기 기록 데이터에 대하여 부가 CRC를 실행하여 상기 데이터그램으로부터 모든 상기 소실을 제거하도록 동작 가능한 제4 레지스터를 더 포함하며,
    이 경우 상기 디코더는 상기 데이터그램에 대하여 로우-바이-로우(row-by-row)) 방식으로 부가 FEC RS 디코딩 프로세스를 실행하도록 동작 가능한 것을 특징으로 하는 데이터 전송 패킷에서 오류를 검출할 수 있는 장치.
  12. 제10항에 있어서, 64 오류 바이트를 초과하는 상기 데이터그램의 특정 행에서 전체 소실 수가 상기 제2 레지스터에서 64 오류 바이트 이하로 감소되는 것을 특징으로 하는 데이터 전송 패킷에서 오류를 검출할 수 있는 장치.
  13. 제10항에 있어서, 물리적(PHY) RS 해독 실패 신호는 상기 데이터그램에서 상기 소실을 표시하는데 사용되는 것을 특징으로 하는 데이터 전송 패킷에서 오류를 검출할 수 있는 장치.
  14. 제12항에 있어서, 상기 FEC RS 디코딩 프로세스는 상기 오류 바이트를 정정하도록 동작 가능한 소실 모드를 포함하며, 이 경우 상기 소실 모드는 Berlekamp- Massey 알고리즘을 사용하여 구현되는 것을 특징으로 하는 데이터 전송 패킷에서 오류를 검출할 수 있는 장치.
  15. 데이터 전송 패킷에서 오류를 검출할 수 있는 장치에 있어서,
    저장 메모리 매체;
    데이터를 저장 메모리 매체에 다수의 데이터그램으로 기록하도록 동작 가능한 버퍼;
    기록된 데이터에 대한 소실로서 상기 데이터그램에 있는 모든 오류 바이트를 표시하도록 동작 가능한 제1 PHY RS 해독 실패 신호장치;
    상기 데이터그램에 대하여 로우-바이-로우(row-by-row) 방식으로 제1 FEC RS 디코딩 프로세스를 실행하도록 동작 가능한 디코더;
    상기 기록된 데이터에 대한 소실로서 상기 데이터그램에 있는 모든 오류 바이트를 표시하도록 동작 가능한 제2 PHY RS 해독 실패 신호장치; 및
    상기 데이터그램으로부터 상기 오류 바이트를 제거하도록 동작 가능한 레지스터를 포함하는 것을 특징으로 하는 데이터 전송 패킷에서 오류를 검출할 수 있는 장치.
  16. 제15항에 있어서, 64 오류 바이트를 초과하는 상기 데이터그램의 특정 행에서 전체 소실 수가 상기 레지스터에서 64 오류 바이트 이하로 감소되는 것을 특징으로 하는 데이터 전송 패킷에서 오류를 검출할 수 있는 장치.
  17. 제15항에 있어서, 상기 기록된 데이터에 대한 소실로서 상기 데이터그램에 있는 모든 오류 바이트를 표시하도록 동작 가능한 제3 PHY RS 해독 실패 신호장치를 더 포함하는 것을 특징으로 하는 데이터 전송 패킷에서 오류를 검출할 수 있는 장치.
  18. 제16항에 있어서, 상기 디코더는 상기 오류 바이트를 정정하도록 동작 가능한 상기 FEC RS 디코딩 프로세스의 오류 모드를 포함하며, 이 경우 상기 소실 모드는 Berlekamp-Massey 알고리즘을 사용하여 구현되는 것을 특징으로 하는 데이터 전송 패킷에서 오류를 검출할 수 있는 장치.
  19. 오류-검출 장치에 있어서,
    데이터가 입력될 수 있는 입력(entries)을 구성하도록 행 및 열로 조직된 데이터그램으로 이루어진 프레임 버퍼 메모리장치;
    상기 프레임 버퍼 메모리장치에 연동되는 소실 캐쉬 레지스터;
    상기 소실 캐쉬 레지스터에 연동되며 또한 각 열의 제1 행에 각 바이트에 대한 소실 비트를 포함하는 소실 플래그 레지스터; 및
    상기 프레임 버퍼 메모리장치에서 상기 데이터그램에 대한 FEC RS 디코딩 프로세스를 실행하도록 동작 가능한 디코더를 포함하며,
    이 경우 상기 프레임 버퍼 메모리장치의 각 바이트는 상기 디코더에 인입할 때 0 및 1 중의 임의의 것과 동등한 소실 플래그로 표시되는 것을 특징으로 하는 오류-검출 장치.
  20. 제19항에 있어서, 상기 소실 캐쉬 레지스터는 데이터그램 말단 바이트 어드레스와 순환 중복 검사(CRC: cyclic redundancy check) 검사비트를 포함하는 것을 특징으로 하는 오류-검출 장치.
  21. 제19항에 있어서, 상기 디코더는 로우-바이-로우(row-by-row) 방식으로 상기 데이터그램을 디코딩하도록 동작 가능하며, 또한 행 인덱스는 따라서 하강하여 각 열의 입력(entries)에 저장되는 행 인덱스에 대한 검사가 이루어지는 것을 특징으로 하는 오류-검출 장치.
  22. 컴퓨터에 의해 판독가능하며 또한 데이터 전송 패킷에서 오류 검출을 실행하는 방법을 실행하기 위하여 상기 컴퓨터에 의해 실행 가능한 명령의 프로그램을 실체적으로 구현하는 프로그램 저장장치에 있어서, 상기 방법은:
    데이터를 저장 메모리 매체에 다수의 데이터그램으로 기록하는 단계;
    기록된 데이터에 대한 제1 순환 중복 검사(CRC: cyclic redundancy check)를 실행하는 단계;
    상기 데이터그램에 대하여 로우-바이-로우(row-by-row) 방식으로 제1 순방향 오류 정정(FEC: forward error correction) 리드-솔로몬(RS: Reed-Solomon) 디코딩 프로세스를 실행하는 단계;
    오류를 포함하는 기록 데이터에 대응하는 상기 데이터그램에 소실을 표시하는 단계;
    상기 기록 데이터에 대한 제2 CRC를 실행하는 단계;
    상기 데이터그램으로부터 소실을 제거하는 단계; 및
    상기 데이터그램에 대하여 로우-바이-로우(row-by-row) 방식으로 제2 FEC RS 디코딩 프로세스를 실행하는 단계를 포함하는 것을 특징으로 하는 프로그램 저장장치.
  23. 제22항에 있어서, 상기 방법은
    상기 기록 데이터에 대하여 부가 CRC를 실행하는 단계;
    상기 데이터그램으로부터 모든 상기 소실을 제거하는 단계; 및
    상기 데이터그램에 대하여 로우-바이-로우(row-by-row)) 방식으로 부가 FEC RS 디코딩 프로세스를 실행하는 단계를 더 포함하는 것을 특징으로 하는 프로그램 저장장치.
  24. 제22항에 있어서, 상기 데이터그램으로부터 상기 소실을 제거함에 있어서 64 오류 바이트를 초과하는 상기 데이터그램의 특정 행에서 전체 소실 수가 64 오류 바이트 이하로 감소되는 것을 특징으로 하는 프로그램 저장장치.
  25. 제22항에 있어서, 물리적(PHY: physical) RS 해독 실패 신호는 상기 데이터그램에서 상기 소실의 표시에 사용되는 것을 특징으로 하는 프로그램 저장장치.
  26. 제24항에 있어서, 상기 방법은 상기 오류 바이트를 정정하기 위하여 FEC RS 디코딩 프로세스의 소실 모드를 사용하는 단계를 더 포함하며, 이 경우 상기 소실 모드는 Berlekamp-Massey 알고리즘을 사용하여 구현되는 것을 특징으로 하는 프로그램 저장장치.
  27. 컴퓨터에 의해 판독가능하며 또한 데이터 전송 패킷에서 오류 검출을 실행하는 방법을 실행하기 위하여 상기 컴퓨터에 의해 실행 가능한 명령의 프로그램을 실체적으로 구현하는 프로그램 저장장치에 있어서, 상기 방법은
    데이터를 저장 메모리 매체에 다수의 데이터그램으로 기록하는 단계;
    기록된 데이터에 대한 제1 PHY RS 해독 실패 신호를 이용하여 상기 데이터그램에 있는 모든 오류 바이트를 소실로서 표시하는 단계;
    상기 데이터그램에 대하여 로우-바이-로우(row-by-row) 방식으로 제1 FEC RS 디코딩 프로세스를 실행하는 단계;
    상기 기록된 데이터에 대한 제2 PHY RS 해독 실패 신호를 이용하여 상기 데이터그램에 있는 모든 오류 바이트를 소실로서 표시하는 단계; 및
    상기 데이터그램으로부터 상기 오류 바이트를 제거하는 단계를 포함하는 것을 특징으로 하는 프로그램 저장장치.
  28. 제27항에 있어서, 상기 데이터그램으로부터 상기 오류 바이트를 제거함에 있어서 64 오류 바이트를 초과하는 상기 데이터그램의 특정 행에서 전체 소실 수가 64 오류 바이트 이하로 감소되는 것을 특징으로 하는 프로그램 저장장치.
  29. 제27항에 있어서, 상기 방법은 상기 기록된 데이터에 대한 제3 PHY RS 해독 실패 신호를 이용하여 상기 데이터그램에 있는 모든 오류 바이트를 소실로서 표시하는 단계를 더 포함하는 것을 특징으로 하는 프로그램 저장장치.
  30. 제28항에 있어서, 상기 방법은 상기 오류 바이트를 정정하기 위하여 FEC RS 디코딩 프로세스의 소실 모드를 사용하는 단계를 더 포함하며, 이 경우 상기 소실 모드는 Berlekamp-Massey 알고리즘을 사용하여 구현되는 것을 특징으로 하는 프로그램 저장장치.
KR1020087011696A 2005-10-17 2006-10-06 데이터 전송 패킷에서의 에러 검출 및 정정 KR20080074886A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/251,721 2005-10-17
US11/251,721 US7447980B2 (en) 2005-10-17 2005-10-17 Error detection and correction in data transmission packets

Publications (1)

Publication Number Publication Date
KR20080074886A true KR20080074886A (ko) 2008-08-13

Family

ID=37949521

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087011696A KR20080074886A (ko) 2005-10-17 2006-10-06 데이터 전송 패킷에서의 에러 검출 및 정정

Country Status (6)

Country Link
US (1) US7447980B2 (ko)
EP (1) EP1938333A4 (ko)
JP (1) JP2009512394A (ko)
KR (1) KR20080074886A (ko)
TW (1) TW200718075A (ko)
WO (1) WO2007047199A2 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7823048B2 (en) * 2005-05-31 2010-10-26 Nokia Corporation Buffering of data from a data stream having error correction elements
WO2008102215A1 (en) * 2007-02-19 2008-08-28 Freescale Semiconductor, Inc. Data communication unit, data communication network and method of decoding
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
US8732558B1 (en) * 2007-04-25 2014-05-20 Samsung Electronics Co., Ltd. MPE-FEC system capable of selecting an FEC mode, a forward error correcting method performed in the MPE-FEC system, and an FEC mode selecting method performed in the 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
EP2183882A1 (en) * 2007-08-15 2010-05-12 Maxlinear, Inc. Method and apparatus for preserving deinterleaving erasure information of block interleaved coded signal
JP2010538535A (ja) * 2007-08-30 2010-12-09 トムソン ライセンシング 様々なデータ損失保護を行うための方法及びシステム
FR2953345B1 (fr) * 2009-12-01 2015-12-11 Canon Kk Procede de determination d'une copie a decoder et d'un vecteur d'effacements associe, produit programme d'ordinateur, moyen de stockage et dispositif recepteur correspondants.
US8510621B2 (en) * 2009-12-29 2013-08-13 Industrial Technology Research Institute Method and apparatus for providing resource unit based data block partition
TWI434212B (zh) * 2011-02-24 2014-04-11 Global Unichip Corp 暫存系統及使用暫存器單元之方法
US8671328B2 (en) * 2011-08-15 2014-03-11 Marvell World Trade Ltd. Error correction code techniques for matrices with interleaved codewords
US9203757B2 (en) * 2012-03-22 2015-12-01 Texas Instruments Incorporated Network throughput using multiple reed-solomon blocks
US20140115422A1 (en) * 2012-10-24 2014-04-24 Laurence H. Cooke Non-volatile memory error correction
US10763895B2 (en) 2017-06-08 2020-09-01 Synopsys, Inc. Circuitry and method for dual mode reed-solomon-forward error correction decoder
TWI671637B (zh) * 2018-04-25 2019-09-11 點序科技股份有限公司 記憶體管理裝置及其操作方法
CN112217602B (zh) * 2019-07-12 2022-09-20 成都鼎桥通信技术有限公司 集群语音包的处理方法、装置和终端
US11451331B2 (en) 2020-09-14 2022-09-20 Cypress Semiconductor Corporation Bit error correction for Bluetooth low energy

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2751810B1 (fr) * 1996-07-23 1998-10-23 Sgs Thomson Microelectronics Systeme de correction d'erreurs dans des trames de donnees ayant des codes de parite horizontaux et verticaux
US6044485A (en) * 1997-01-03 2000-03-28 Ericsson Inc. Transmitter method and transmission system using adaptive coding based on channel characteristics
US5956102A (en) * 1997-11-04 1999-09-21 Hitachi America Ltd. Methods and apparatus for the efficient implementation of signal synchronization and cyclic redundancy checks in communication systems
US20050013274A1 (en) * 2003-03-05 2005-01-20 Harri Pekonen System and method for data transmission and reception
JP4202161B2 (ja) * 2003-03-18 2008-12-24 三菱電機株式会社 符号化装置および復号装置
WO2004109694A1 (ja) * 2003-06-02 2004-12-16 Matsushita Electric Industrial Co., Ltd. インタリーブデータに対する誤り訂正方法および装置
DE10345438B4 (de) * 2003-09-30 2005-09-15 Siemens Ag Verfahren und Vorrichtung zum Dekodieren von mittels paketorientierten Datenübertragungsnetzen übertragenen kodierten Datenpaketen und Verfahren und Vorrichtung zum Kodieren und Dekodieren von über paketorientierte Datenübertragungsnetze zu übertragende Datenpaketen

Also Published As

Publication number Publication date
TW200718075A (en) 2007-05-01
WO2007047199A2 (en) 2007-04-26
WO2007047199A3 (en) 2008-01-10
US20070089038A1 (en) 2007-04-19
EP1938333A4 (en) 2008-12-17
JP2009512394A (ja) 2009-03-19
US7447980B2 (en) 2008-11-04
EP1938333A2 (en) 2008-07-02

Similar Documents

Publication Publication Date Title
US7447980B2 (en) Error detection and correction in data transmission packets
US8166355B2 (en) System and method for mitigating memory requirements
US7610544B2 (en) Erasure generation in a forward-error-correcting communication system
US7525993B2 (en) Robust transmission system and method for mobile television applications
CN106937134B (zh) 一种数据传输的编码方法、编码发送装置及系统
US8290059B2 (en) Method and apparatus for preserving deinterleaving erasure information of block interleaved coded signal
CN101442400B (zh) 在数字内容传送系统中使用的质量管理器和方法
EP2264931B1 (en) Improved forward error correction with bit-wise interleaving
TWI401910B (zh) 在包含多層級與可適性消除資料的移動式無線應用中用來校正錯誤的裝置與方法
US20090177940A1 (en) Apparatus and method for error correction in mobile wireless applications incorporating erasure table data
CN100581268C (zh) 前向纠错解码器
KR20080084148A (ko) 디지털 방송 시스템의 수신기에서 데이터 디코딩 방법 및장치
Eerenberg et al. IP-recovery in the DVB-H link layer for TV on mobile
WO2006125157A2 (en) Erasure generation in a forward-error-correcting communication system
US7856587B2 (en) Memory reduction in DVB-H applications
US7796600B2 (en) Compact MPE-FEC erasure location cache memory for DVB-H receiver
US8296621B2 (en) Integrated circuit comprising error correction logic, and a method of error correction
US8707140B2 (en) Apparatus and method for error correction in mobile wireless applications incorporating correction bypass
JP2002314512A (ja) 送信装置、受信装置及びプログラム
KR100734376B1 (ko) 방송 신호 복호 장치
Alloum et al. Reed solomon codes on graph for dvb-sh streaming services
JP2012231201A (ja) 半導体集積回路およびその動作方法
KR20070075825A (ko) 방송 신호 복호 장치
KR20070091779A (ko) 디지털 방송 수신 시스템에서의 오류 정정 방법

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid