KR20140097434A - 계층 인식 순방향 에러 정정을 위한 인터리빙 - Google Patents

계층 인식 순방향 에러 정정을 위한 인터리빙 Download PDF

Info

Publication number
KR20140097434A
KR20140097434A KR1020147017176A KR20147017176A KR20140097434A KR 20140097434 A KR20140097434 A KR 20140097434A KR 1020147017176 A KR1020147017176 A KR 1020147017176A KR 20147017176 A KR20147017176 A KR 20147017176A KR 20140097434 A KR20140097434 A KR 20140097434A
Authority
KR
South Korea
Prior art keywords
data
error correction
payload data
category
interleaving
Prior art date
Application number
KR1020147017176A
Other languages
English (en)
Other versions
KR101656969B1 (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 KR20140097434A publication Critical patent/KR20140097434A/ko
Application granted granted Critical
Publication of KR101656969B1 publication Critical patent/KR101656969B1/ko

Links

Images

Classifications

    • 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/007Unequal error protection
    • 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/11Error 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 using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • 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/27Coding, 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 using interleaving techniques
    • 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
    • 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/0041Arrangements at the transmitter 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/0057Block 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/0072Error control for data other than payload data, e.g. control data

Landscapes

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

Abstract

에러 정정 인코더는 제1 카테고리에 속하는 페이로드 데이터(제1 카테고리 페이로드 데이터)를 수신하고, 제2 카테고리에 속하는 페이로드 데이터를 수신하고, 제1 카테고리 페이로드 데이터를 위한 제1 에러 정정 데이터를 결정하며, 제2 카테고리 페이로드 데이터를 위한 제2 에러 정정 데이터를 결정하기 위한 에러 정정 데이터 생성기를 포함한다. 에러 정정 인코더는 적어도 제2 에러 정정 데이터와 제2 카테고리 페이로드 데이터를 서로 인터리빙하기 위한 인터리버를 더 포함한다. 제1 에러 정정 데이터와 제1 카테고리 페이로드 데이터의 인터리빙에 관한 제1 인터리빙 길이는 제2 에러 정정 데이터와 제2 카테고리 페이로드 데이터의 인터리빙에 관한 제2 인터리빙 길이와는 상이하다. 대응하는 에러 정정 디코더 및 에러 정정 인코딩/디코딩 방법이 또한 개시된다. 대안적인 실시예들에 따르면, 페이로드 인터리빙 길이는 에러 정정 데이터 인터리빙 길이와는 상이하다.

Description

계층 인식 순방향 에러 정정을 위한 인터리빙{INTERLEAVING FOR LAYER-AWARE FORWARD ERROR CORRECTION}
본 발명은 에러 정정 데이터 생성기, 에러 정정 디코더, 에러 정정 인코딩 방법, 에러 정정 디코딩 방법, 및 이에 대응하는 컴퓨터 판독가능 디지털 저장 매체에 관한 것이다.
먼저, 소위 말하는 LA-FEC(Layer Aware Forward Error Correction; 계층 인식 순방향 에러 정정) 접근법의 개관이 주어질 것이다. 상기 내용은 참조문헌 [5] 및 [18]에서 이미 공표되었다. SVC(Scalable Video Coding; 스케일러블 비디오 코딩)은 SVC 비디오 스트림의 일부분들간에 의존성(dependency)을 도입시키는 코딩 효율성을 달성하기 위해 상이한 시간 및 계층간 예측을 활용한다. 도 1은 기본 계층과 하나의 강화 계층을 가지며, 기본 계층의 공간 및 시간 해상도를 증가시키는 예시적인 코딩 구조를 도시한다. 더 나아가, 도 1은 계층적 예측 구조 및 계층간 예측으로 인한 시공간 스케일러빌리티(temporal-spatial scalability) 내의 의존성들을 개략적으로 나타낸다. 도 1에서의 화살표들은 상이한 액세스 유닛들간의 의존성들을 표시한다.
SVC에서, 기본 계층은 강화 계층보다 중요하다. 기본 계층 정보를 손실한 경우, 예측 정보의 손실로 인해 강화 계층 정보는 일반적으로 쓸모없게 된다.
그러므로, 기본 계층이 강화 계층들보다 강력한 보호를 갖게 되는 SVC의 전송에 있어서는 대체적으로 견고성 차별화(differentiation in robustness)가 유리하다.
제1항 또는 제33항에 따른 에러 정정 인코더, 제12항 또는 제35항에 따른 에러 정정 디코더, 제22항에 따른 에러 정정 인코딩 방법, 제30항에 따른 에러 정정 디코딩 방법, 제31항에 따른 컴퓨터 판독가능 디지털 저장 매체, 제32항에 따른 컴퓨터 판독가능 디지털 저장 매체는 위에서 언급한 내용에 대한 개선된 에러 정정 인코딩/디코딩을 제공한다.
실시예들은 제1 카테고리에 속하는 페이로드(payload) 데이터(제1 카테고리 페이로드 데이터)를 수신하고, 제2 카테고리에 속하는 페이로드 데이터를 수신하고, 제1 카테고리 페이로드 데이터를 위한 제1 에러 정정 데이터를 결정하며, 제2 카테고리 페이로드 데이터를 위한 제2 에러 정정 데이터를 결정하기 위한, 에러 정정 데이터 생성기를 포함하는 에러 정정 인코더를 제공한다. 에러 정정 인코더는 적어도 제2 에러 정정 데이터와 제2 카테고리 페이로드 데이터를 서로 인터리빙하는 인터리버를 더 포함하며, 여기서 제1 에러 정정 데이터와 제1 카테고리 페이로드 데이터의 인터리빙에 관한 제1 인터리빙 길이는 제2 에러 정정 데이터와 제2 카테고리 페이로드 데이터의 인터리빙에 관한 제2 인터리빙 길이와는 상이하다.
추가적인 실시예들은 제2 카테고리 페이로드 데이터와 제2 에러 정정 데이터를 포함하는 인터리빙된 데이터 스트림을 디인터리빙하기 위한 디인터리버를 포함하는 에러 정정 디코더를 제공한다. 에러 정정 디코더는 디인터리버로부터 제1 카테고리 페이로드 데이터, 제1 에러 정정 데이터, 제2 카테고리 페이로드 데이터, 및 제2 에러 정정 데이터를 디인터리빙된 형태로 수신하고, 적어도 제1 에러 정정 데이터를 이용하여 제1 카테고리 페이로드 데이터에서 잠재적인 에러들을 정정하며, 적어도 제2 에러 정정 데이터를 이용하여 제2 카테고리 페이로드 데이터에서 잠재적인 에러들을 정정하기 위한 에러 정정기를 더 포함한다. 제1 에러 정정 데이터와 제1 카테고리 페이로드 데이터의 인터리빙에 관한 제1 인터리빙 길이는 제2 에러 정정 데이터와 제2 카테고리 페이로드 데이터의 인터리빙에 관한 제2 인터리빙 길이와는 상이하다.
추가적인 실시예들에 따르면, 에러 정정 인코딩 방법은 제1 카테고리에 속하는 페이로드 데이터를 수신하고 제2 카테고리에 속하는 페이로드 데이터를 수신하는 단계들을 포함한다. 그런 후 제1 카테고리 페이로드 데이터를 위한 제1 에러 정정 데이터가 결정된다. 제2 카테고리 페이로드 데이터를 위한 제2 에러 정정 데이터가 결정된다. 본 방법은 적어도 제2 에러 정정 데이터와 제2 카테고리 페이로드 데이터를 서로 인터리빙하는 단계를 더 포함하며, 제1 에러 정정 데이터와 제1 카테고리 페이로드 데이터의 인터리빙에 관한 제1 인터리빙 길이는 제2 에러 정정 데이터와 제2 카테고리 페이로드 데이터의 인터리빙에 관한 제2 인터리빙 길이와는 상이하다.
추가적인 실시예들은 에러 정정 디코딩 방법을 제공한다. 이 방법은 제2 카테고리 페이로드 데이터와 제2 에러 정정 데이터를 포함하는 인터리빙된 데이터 스트림을 수신하는 단계를 포함한다. 그런 후, 인터리빙된 데이터 스트림은 디인터리빙된다. 본 방법은 또한 제1 카테고리 페이로드 데이터와 제1 에러 정정 데이터를 수신하거나 또는 획득하는 단계를 포함한다. 제1 카테고리 페이로드 데이터 내의 잠재적인 에러들은 적어도 제1 에러 정정 데이터를 이용하여 정정되고, 제2 카테고리 페이로드 데이터 내의 잠재적인 에러들은 적어도 제2 에러 정정 데이터를 이용하여 정정된다. 제1 에러 정정 데이터와 제1 카테고리 페이로드 데이터의 인터리빙에 관한 제1 인터리빙 길이는 제2 에러 정정 데이터와 제2 카테고리 페이로드 데이터의 인터리빙에 관한 제2 인터리빙 길이와는 상이하다.
추가적인 실시예들은 컴퓨터 상에서 구동될 때, 여기서 설명된 에러 정정 인코딩 또는 디코딩 방법, 또는 에러 정정 인코딩 방법과 에러 정정 디코딩 방법 둘 다를 수행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램이 저장되어 있는 컴퓨터 판독가능한 디지털 저장 매체를 제공한다.
추가적인 실시예들에 따르면, 페이로드 데이터를 수신하고 페이로드 데이터를 위한 에러 정정 데이터를 결정하기 위한 에러 정정 데이터 생성기 및 에러 정정 데이터와 페이로드 데이터를 인터리빙하기 위한 인터리버를 포함하는 에러 정정 인코더를 제공한다. 에러 정정 데이터는 인터리빙된 데이터 스트림 내에서 페이로드 데이터에 선행하며, 페이로드 인터리빙 길이는 에러 정정 데이터 인터리빙 길이와는 상이하다.
추가적인 실시예들은 페이로드 데이터 및 이 페이로드 데이터를 위한 에러 정정 데이터를 포함하는 인터리빙된 데이터 스트림을 디인터리빙하기 위한 디인터리버를 포함하는 에러 정정 디코더를 제공한다. 에러 정정 데이터는 인터리빙된 데이터 스트림 내에서 페이로드 데이터에 선행한다. 페이로드 인터리빙 길이는 에러 정정 데이터 인터리빙 길이와는 상이하다. 에러 정정 디코더는 페이로드 데이터와 에러 정정 데이터를 수신하고, 에러 정정 데이터를 이용하여 페이로드 데이터 내의 잠재적인 에러들을 정정하기 위한 에러 정정기를 더 포함한다. 페이로드 데이터만이 수신되고 에러 정정 데이터는 손실된 경우 페이로드는 활용가능하지만 에러가 발생할 수 있다.
이하에서는, 도면들을 참조하여 본 발명의 바람직한 실시예들을 보다 자세하게 설명하며, 여러가지 설계 양태들에 관한 장점들을 제공하는 본 발명의 다양한 바람직한 실시예들에 중점을 둔다. 도면 중에서,
도 1은 계층적 예측 구조 및 계층간 예측으로 인한 시공간 스케일러빌리티 내의 의존성들을 개략적으로 나타낸다.
도 2는 개략적이고 일반적인 계층 인식 FEC 생성 접근법을 도시한다.
도 3은 표준 FEC 및 LA-FEC을 위한 인코딩을 개략적으로 나타낸다.
도 4는 표준 FEC 및 LA-FEC의 디코딩을 개략적으로 나타낸다.
도 5는 참조문헌 [3]에서 규정된 랩터 프리코딩 프로세스에 의한 소스 심볼들로부터의 프리코딩 심볼들의 생성을 개략적으로 도시한다.
도 6은 참조문헌 [3]에서 규정된 랩터 코드의 LT 코딩 프로세스에 의한 인코딩 심볼들의 생성을 개략적으로 도시한다.
도 7은 참조문헌 [1]에서의 상술내용에 따른 두 개의 계층들에 대한 LA-FEC 랩터 프리코딩 매트릭스(matrix)를 개략적으로 도시한다.
도 8은 두 개의 계층들을 갖는 LA-FEC 랩터 LT 코딩 프로세스를 개략적으로 나타낸다.
도 9a와 도 9b는 1300 kbps의 고정된 서비스 비트 레이트에서의 SVC 계층들 CR(기본 계층/강화 계층(enhancement layer))에 걸친 상이한 코드 레이트 분포들을 갖는 표준 (ST)-FEC 및 LA-FEC를 이용하는 VGA 수신기에 대한 250개 프레임들의 프리즈(freeze) 프레임들의 평균 개수(도 9a)와 평균 PSNR값(도 9b)을 개략적으로 도시한다.
도 10은 표준 LDPC 매트릭스(상단부)와 확장형 LDPC 매트릭스(바닥부)를 개략적으로 도시한다.
도 11은 확장형 LA-FEC 디코딩 매트릭스를 개략적으로 도시한다.
도 12는 AWGN 채널에서의 16k LA-FEC 대 16k St-FEC에 대한 시뮬레이션 결과들을 도시한다.
도 13은 k0개 소스 및 p0개 패리티(parity) 심볼들을 갖는 FEC 소스 블록 0(SB0)의 상이한 인터리빙 길이(IL) 및 증가하는 시간 다이버시티(IL=1,2,3)를 개략적으로 나타낸다.
도 14는 계층 0 또는 단일 계층을 위해 이용되는 참조문헌 [2]에서 규정된 것과 같은 랩터Q의 프리코딩 매트릭스를 개략적으로 나타낸다. 디코딩 및 인코딩 프로세스에서는 동일한 프리코딩 매트릭스가 이용된다는 것을 유념한다.
도 15는 랩터Q의 LT 인코딩 프로세스를 개략적으로 나타낸다.
도 16은 두 개의 계층들을 갖는 LA-FEC 랩터Q의 프리코딩 프로세스를 개략적으로 나타낸다.
도 17은 계층 0의 프리코딩 심볼들에 대한 확장형 매트릭스 및 두 개의 계층들을 갖는 LA-FEC 랩터Q 코딩 프로세스의 제2 단계를 개략적으로 나타낸다.
도 18은 송신기측 프로세스를 개략적으로 나타낸다.
도 19는 전송 내에 예시적인 버스트 에러(burst error)를 포함하는 예시적인 수신기 프로세싱을 개략적으로 도시한다.
도 20은 FEC 소스 블록 인터리빙의 프로세스를 개략적으로 도시한다.
도 21은 단일 계층 경우, 각각의 계층에 대해 FEC 생성을 독립적으로 갖는 표준 FEC(ST-FEC), 및 상이한 인터리빙 길이가 도시된 LA-FEC UI에 대해, 일정한 소거 확률에 걸쳐, 수신된 비디오 퀄리티를 PSNR 측면에서 개략적으로 도시한다.
도 22a와 도 22b는 기본 계층의 계층 디코딩 확률(도 22a) 및 강화 계층의 계층 디코딩 확률(도 22b)을 개략적으로 도시한다.
도 23은 1과 8의 인터리빙 길이를 갖는 단일 계층(SL)으로서 일컬어진 하나의 FEC 소스 블록 내에 오디오 및 비디오 둘 다를 갖는 경우의 미디어 디코딩 확률 측면에서의 비교를 개략적으로 도시한다.
도 24는 소스 심볼들의 개수 k, 소스 심볼 사이즈 T, 고유 심볼 식별자(FEC ID) 및 실제 소스 블록의 인터리빙 길이(IL)를 갖는, 예시적인 인터리빙 길이(IL)의 대역내 시그널링을 개략적으로 나타낸다.
도면들의 설명 동안, 도면들 중 여러 도면들에서 존재하는 엘리먼트들은 이러한 도면들 각각에서 동일한 참조 부호로 나타내었으며, 이러한 엘리먼트들의 반복된 설명은 기능성에 관련이 있는 한 불필요한 반복을 회피하기 위해 회피한다. 그럼에도 불구하고, 하나의 도면에 대해 제공된 기능성들 및 설명들은 이와 상반되는 언급을 명시적으로 나타내지 않는 한 다른 도면들에도 적용될 것이다.
계층 인식 FEC - 일반적 접근법:
본 섹션은 LA-FEC 접근법에 대한 개관을 제공한다. LA-FEC의 기본적인 접근법이 도 2에 도시된다. 도 2는 가능할 수 있는 일반적인 계층 인식 FEC 생성 접근법을 도시한다. 기초적인 FEC 알고리즘(랩터)에 따라 계층 0의 리던던시(Redundancy)가 생성된다. 모든 의존적 계층들에 걸쳐 계층 1 내지 계층 N의 리던던시가 생성된다. 계층 인식 FEC(LA-FEC) 접근법의 기본적 아이디어는 의존적 비디오 계층들에 걸쳐 FEC 알고리즘의 인코딩 프로세스를 확장시키는 것이다. 기본 계층의 FEC 프로세싱은 원래 그대로 남겨둠으로써, 기본 계층이 독립적으로 디코딩되도록 하고 오리지날 FEC 알고리즘의 정정 능력들을 보존시킨다. FEC 알고리즘 내의 덜 중요한 미디어 계층들로부터의 도입된 커넥션(connection)으로 인해, 보다 중요한 미디어 계층들은 추가적인 수정 데이터에 의해 보호된다. 이것은 추가적인 수정 데이터를 추가시키지 않고서 보다 중요한 계층들의 에러 정정 능력들을 증대시킨다. 도 2에서의 방식은 크로스 계층 FEC 생성을 나타낸다. 기본 계층("계층 0") FEC 생성 프로세스가 변경되지 않는 동안, "계층 1"의 FEC 데이터가 "계층 1"과 "계층 0"의 소스 심볼들에 걸쳐 생성되고, "계층 2"의 FEC 데이터가 "계층 2", "계층 1" 및 "계층 0"에 걸쳐 생성되며, 이런식으로 "계층 N"의 소스 심볼들 및 모든 의존적 미디어 계층들에 걸쳐 생성되는 "계층 N"의 FEC 데이터까지 계속 이어진다. 일반적인 FEC 접근법으로서, 모든 의존적 미디어 계층들에 대해 미디어 강화 계층들의 인코딩 프로세스를 단순히 확장시킴으로써, LA-FEC가 임의의 OSI 계층(물리 계층, 링크 계층, 또는 응용 계층)에서 병합될 수 있고, 랩터Q뿐만이 아니라, LDPC, 랩터와 같은 FEC 코드들에 적용될 수 있다.
LA-FEC 접근법의 원리를 설명하기 위해, 도 3과 도 4는 하나의 소스 블록에 대한 단순 패리티 체크 코드를 이용하여 표준 FEC와 LA-FEC(변형들은 점선들로 표시된다)의 인코딩 및 디코딩 프로세스를 비교한다. 본 예시에서는 소거 채널이 가정된다. 두 개의 퀄리티 계층들이 FEC 코딩되고, 계층 1은 미디어 스트림(예컨대, SVC) 내의 계층간 예측으로 인해 계층 0에 의존한다. 각각의 계층 I(I=0,1)마다 세 개의 소스 비트들 k0/1=3 및 두 개의 패리티 비트들 p0/1=2이 존재한다.
인코딩의 경우(도 3), 패리티 비트들은 소스 비트들의 단순 XOR 연산 프로세스에 의해 계산된다. 표준 FEC를 이용하면, XOR 연산 프로세스는 현재 계층 내에서만 적용되는 반면에, LA-FEC를 이용하는 경우에는, XOR 연산 프로세스는 현존하는 의존성들을 따르면서 계층들에 걸쳐 확장된다. 계층 1의 패리티 비트들은, 계층 0과 계층 1 둘 모두의 계층들의 소스 비트들에 걸쳐 생성되며, 또한 계층 0의 패리티 비트들과 함께 이 두 개의 계층들의 에러 정정을 위해 이용될 수 있다. 소스 비트와 패리티 비트는 코드워드로 결합되어 에러발생이 쉬운 채널을 통해 전송된다.
간략하게 개시된 디코딩 예시(도 4)에서는, 계층 0의 코드워드 내에 "?"로 표시된 세 개의 전송 에러들이 존재하며, 계층 1에서는 어떠한 에러도 존재하지 않는다. 간략하게 개시된 예시는 소거 채널, 예컨대 바이너리 소거 채널(binary erasure channel; BEC) 또는 길버트 엘리어트 채널(Gilbert-Elliot channel)을 가정한다는 것을 유념해두며, 여기서는 비트들 또는 패킷들이 정정된 상태 또는 미지의 상태(도면에서 '?'로 표시됨)로 수신된다. 이러한 채널 모델은 링크 계층 또는 응용 계층에서 전송 에러들을 시뮬레이팅하는데 이용되며, 하위 ISO/OSI 계층들, 예컨대 물리 계층에서 구현된 전술한 방법들은 (예컨대, LDPC 코드들 또는/및 순환 리던던시 체크(cyclic redundancy check; CRC)에 의해) 에러 정정 또는 에러 검출을 구성한다. 물리 계층 상의 FEC 코드들은 일반적으로 복조 프로세스로부터 유도된 LLR 값들로 동작하는 반면에, 링크 계층 또는 응용 계층 상의 FEC 코드들은 패킷들을 소거하도록 동작한다. 물리 계층에서 정정될 수 없는 패킷들은 일반적으로 에러가 있는 것으로서 표시되어 상위 계층들(예컨대, 링크 계층 또는 응용 계층)으로 포워딩된다. 그 이유는 링크 계층 또는 응용 계층에서 구현되는 FEC 코드들은 에러 검출을 위한 구현 수단을 필요로 하지 않기 때문이다. 하지만, 주어진 예시는 단지 단순화를 목적으로 응용 계층 또는 링크 계층 상에서 도시된 것일 뿐이며 본 설명 내에서 제안된 방법들은 또한 "LDPC 코드를 갖는 물리 채널 상의 LA-FEC" 섹션에서의 LDPC 설명에서 도시된 것과 같이, 에러 채널(예컨대, AWGN) 상에서 동작하고 에러 검출을 위한 수단을 필요로 하는 물리 계층에 적용될 수 있다는 것을 유념해 두는 것이 중요하다. 표준 FEC를 이용하는 경우에는 계층 0 내에 패리티 비트들이 충분하지가 않다. 그러므로 계층 0은 정정될 수 없다. 계층 1이 성공적으로 수신되더라도, 계층 1은 계층 0에서의 손실된 의존성들로 인해 이용될 수 없다. LA-FEC를 이용하는 경우, 계층 1의 패리티 비트들은 계층 0을 정정하기 위해 계층 0의 패리티 비트들과 함께 이용될 수 있다. 주어진 예시에서, 두 개의 계층들은, LA-FEC을 통해서만 정정될 수 있다. 요약하면, 도 4는 표준 FEC 및 LA-FEC의 디코딩을 개략적으로 나타낸다. LA-FEC를 이용하는 경우, 두 개의 계층들의 패리티 비트들은 결합된 디코딩을 위해 이용될 수 있다.
기본 계층 보호에서의 개선은 강화 계층의 감소된 보호의 댓가로 나온다. LA-FEC의 경우, 강화 계층은 기본 계층과는 독립적으로 정정될 수 없다. 그럼에도 불구하고, SVC 비디오 스트림 내에 현존하는 의존성들로 인해, 기본 계층이 손실된 경우들에서는, 일반적으로 강화 계층 데이터는 어느 경우에서도 이용될 수 없다. 그러므로, LA-FEC는 비디오 퀄리티의 측면에서 결코 표준 FEC보다 나쁘게 수행하는 법이 없다.
참조문헌 [1]에서의 논의에 따르면, ST-FEC 및 최적의 FEC 알고리즘으로 계층 1을 디코딩하기 위한 조건은 [수학식 1]에 의해 주어진다:
Figure pct00001
LA-FEC의 강화 계층 심볼들은 또한 기본 계층 심볼들을 보호해주기 때문에, 기본 계층을 디코딩하기 위한 조건(참조문헌 [1])은 LA-FEC의 경우 [수학식 2]로 변경된다:
Figure pct00002
LA-FEC의 경우, 강화 계층 FEC 정정은 기본 계층 복구에도 의존하기 때문에, 강화 계층을 복구시키기 위한 조건은 LA-FEC의 경우 [수학식 3]으로 변경된다:
Figure pct00003
하지만, 현존하는 미디어 의존성들로 인해 강화 계층은 기본 계층에 의존하며, 강화 계층은 어떠한 경우라도 기본 계층 없이는 이용될 수 없는데, 이것은 또한 ST-FEC의 경우에서도 마찬가지며, 강화 계층의 성공적인 미디어 디코딩을 위한 조건은 [수학식 3]과 동일하다.
랩터 FEC으로의 계층 인식 FEC 통합:
LA-FEC 방식은 LDPC 코드들과 같은 물리 계층 상의 FEC 또는 랩터와 같은 상위 계층 FEC 모두에 적용될 수 있다(참조문헌 [1], [3]). 여기서 고려되는 예시적인 상위 계층 FEC는 랩터 FEC이다. 도시된 확장성은 마찬가지 방식으로, 보다 효율적인 랩터Q(RaptorQ) FEC(참조문헌 [2]) - 이것은 "랩터Q FEC으로의 계층 인식 FEC 통합" 섹션에서 설명된다 - 에 적용될 수 있다는 것을 유념해둔다.
랩터 코드들은 일반적으로 선형 시간 인코딩 및 디코딩에서의 파운틴 코드(fountain code)의 첫번째 알려진 클래스들 중 하나이다. 인코딩의 준비시, 일정량의 데이터가 소스 블록 내에 수집된다. 소스 블록의 데이터는 고정된 심볼 사이즈의 k 0 개 소스 심볼들로 더 분할된다. 도 5와 도 6은 두 개의 인코딩 단계들, 즉 프리코드 생성과 LT 코드 생성으로 구성된 단일 미디어 "계층 0"을 위한, 참조문헌 [3]에서 규정된 것과 같은 랩터 인코딩 및 디코딩 프로세스의 두 개의 단계들을 나타낸다. 도 5는 참조문헌 [3]에서 규정된 랩터 프리코딩 프로세스에 의한 소스 심볼들로부터의 프리코딩 심볼들의 생성을 개략적으로 나타낸다. 도 6은 참조문헌 [3]에서 규정된 랩터 코드의 LT 코딩 프로세스에 의한 인코딩 심볼들의 생성을 개략적으로 나타낸다. 참조문헌 [3]에서의 상술내용은 인코딩 및 디코딩을 위한 동일한 두 단계 프로세스를 설명한다는 점을 유념한다. 제1 단계에서, 고정 레이트 '프리코드' 단계(여기서는 일반적으로 예컨대, LDPC와 같은 임의의 소거 코드)는 계층 l=0의 소위 말하는 L 0 개 프리코딩 심볼들을 생성하기 위해 소스 심볼들에 적용될 수 있다. 프리코딩 심볼들의 값들은 도 5에서 도시된 매트릭스에 의해 결정되며, 이 매트릭스는 프리코드 매트릭스 G_LDPC 0 , 아이덴티티 매트릭스 I_S 0 , 제로 매트릭스 0_SxH 0 및 LT 매트릭스 G_LT 0 [0:k 0 -1]로 구성되며, LT 매트릭스는 제2 인코딩 프로세스에서의 G_LT 0 [0:n 0 -1]의 처음 k 0 개 행들과 동일하다. 대괄호 내의 값들은 행들의 개수를 나타낸다. 매트릭스 G_LT 0 의 통합은 LT 인코딩 이후의 처음 k 0 개 인코딩 심볼들이 소스 심볼들과 동일하고 랩터 코드가 체계적인 코드워드를 제공하는 것을 보장해준다. 제1 단계를 완결시킨 후, 프리코딩 심볼들은 제2 단계, 즉 LT 코딩으로 포워딩된다.
n 0 개 인코딩 심볼들의 파운틴(fountain)은 LT 코드에 의해 주어지고 도 6에서 도시된 G_LT 0 [0:n 0 -1] 매트릭스에 의해 나타난 커넥션을 따라 프리코딩 심볼들의 XOR 연산들에 의해 계산된다. LA-FEC의 경우에도, 기본 계층 인코딩 심볼들의 생성은 오리지날 랩터 프로세스를 따른다는 점을 유념해둔다.
표준 FEC 접근법의 경우, 계층 1(강화 계층)의 인코딩된 심볼들은 참조문헌 [3]에서의 프로세스를 따라 동일한 방식으로 생성된다. LA-FEC에서의 강화 "계층 1"의 인코딩된 심볼들의 생성을 위해, LA-FEC 접근법은 랩터 코딩 프로세스로 통합될 것을 필요로 한다. 이것은 코드의 체계적인 동작을 보존하기 위해, 한편으로 기본 계층의 프리코딩 심볼들의 LT 인코딩 단계의 G_LT 매트릭스의 확장을 필요로 하고, 다른 한편으로 프리코딩 프로세스의 G_LT 매트릭스의 확장을 필요로 한다. 도 7과 도 8은 계층 l=1의 인코딩된 심볼들의 생성을 위한 필요한 확장들을 도시한다. 도 7은 참조문헌 [1]에서의 상술내용에 따른 두 개의 계층들에 대한 LA-FEC 랩터 프리코딩 매트릭스를 개략적으로 도시한다.
LA-FEC 랩터의 프리코딩 매트릭스가 도 7에서 두 개의 계층들에 대해 도시된다. 이 매트릭스는 두 개의 계층들의 두 개의 프리코딩 매트릭스들(좌측 상단과 우측 하단), 제로 매트릭스(우측 상단) 및 계층 1에서 계층 0으로의 LA-FEC 확장(좌측 하단)의 연결로 구성된다. LA-FEC 확장은 코드를 체계적으로 유지하기 위해 필요하다. G_LT1의 행들 및 관련 확장 G_LT 0 [n 0 :n 0 +k 1 -1]는 위치 n0에서 시작한다는 점을 유념해둔다. 그 이유는 한편으로는 계층 0의 선형 독립 행들의 개수를 증가시키기 위한 것이고, 다른 한편으로는 인코딩 심볼의 고유 식별자에 의해 수신기에서 매트릭스들의 재생을 허용하기 위한 것이다. 계층 0의 인코딩된 심볼들은 도 8에서의 프로세스를 따라 생성된다. 강화 계층 인코딩 심볼들의 생성을 위해, 양쪽 계층들의 프리코딩 심볼들은 도 8에서 설명된 랩터 코딩 프로세스의 다음 단계로 포워딩된다.
LA-FEC 랩터 프로세스의 제2 단계는 도 8(두 개의 계층들에 대한 LA-FEC LT 코딩 프로세스)에서 도시된다. 제2 단계에서의 인코딩된 심볼들의 생성은 G_LT 0 [n 0 :n 0 +n 1 -1]에 의해 G_LT 1 [n 0 :n 0 +n 1 -1] 매트릭스를 확장시키는 것을 통해 계층 0의 프리코딩 심볼들로 확장된다. 계층 0 프리코드 심볼들의 추가적인 통합의 경우, "계층 인식 FEC - 일반적 접근법" 섹션에서의 예시에서 위에서 예시적으로 도시된 것과 같은 연합 디코딩을 위해, 계층 1의 인코딩된 심볼들은 계층 0의 인코딩 심볼들과 함께 이용될 수 있다.
LA-FEC 확장들은 참조문헌 [3]에서 설명된 LT 인코딩 및 프리코드 생성을 위한 알고리즘들을 재사용한다. 성공적으로 디코딩된 "계층 0"의 경우, LA-FEC 확장에 의해 계층들에 걸쳐 도입된 커넥션들은 더이상 필요하지 않고 "계층 1"의 FEC 프로세스에서 계층 0의 프리코딩 심볼들을 XOR 연산처리함으로써 제거될 수 있다. 이러한 경우, "계층 1"은 표준 랩터 코딩 프로세스를 따라 정정될 수 있어서 완전한 정정 수행을 가능하게 한다.
LA-FEC의 시그널링:
전송 시스템들에서의 LA-FEC의 이용은 LA-FEC 코딩과 결합하여 멀티 계층 접근법을 지원하기 위해 특유한 시그널링 및 전송 기술들을 필요로 한다. 링크 계층 또는 응용 계층 상에서의 LA-FEC 랩터 확장의 통합은 RTP(참조문헌 [6])를 통한 실시간 전송에 적용될 것으로 추정된다. 실시간 응용들의 경우, RTP는 일반적으로 UDP(참조문헌 [7])에서 이용되는데, 그 이유는 UDP의 무접속 및 비신뢰적 성질로 인해 UDP가 전송시 최소한의 지연을 가능하게 해주기 때문이다. RTP는 미디어 동기화, 전송 명령 복구, 멀티플렉싱, 소스 식별 및 수신 피드백 정보와 같은 기본적 특징들을 제공한다. 스케일러블 비디오 코딩(Scalable Video Coding; SVC)(참조문헌 [8])의 경우, SVC를 위한 RTP 페이로드 포맷은 미디어 페이로드 패킷화를 위해 필요하고, MVC의 경우에는 멀티뷰 비디오 코딩(참조문헌 [9])을 위한 RTP 페이로드 포맷이 필요하다. 특히, SVC 및 MVC를 위한 이러한 페이로드 포맷들은 다중 RTP 세션들에서 계층화된 SVC 및 MVC 데이터의 전송을 정의하며, 이것은 RTP 패킷 헤더(SSRC) 내의 UDP 포트, 동기화 소스 식별자, 또는 IP 어드레스와 같은 전송 어드레스에 기초하여 SVC 계층들과 MVC 뷰들간을 간단하게 차별화시키기 위해 LA-FEC 코딩 프로세스를 이용하는 전송 시스템을 가능하게 해준다. 세션 관련 정보의 시그널링은 세션 기술 프로토콜(Session Description Protocol)(참조문헌 [10])에서 정의되어 있다. 동일한 코덱의 계층들 또는 뷰들을 포함하는 RTP 세션들의 의존성을 시그널링하기 위해, 참조문헌 [11]에서의 SDP 확장들이 필요하다.
FEC 코딩된 데이터를 전송하기 위해, IETF는 FEC 기반 콘텐츠 전달 프로토콜들을 위한 기본적인 수단을 정의하는 일반적인 FECFRAME 프레임워크를 만들었고, 이것은 또한 RTP에서도 이용될 수 있다. 이러한 프레임워크는 이외에도 다중 미디어 및 수정 플로우(repair flow)들이 처리되는 방법의 다른 특징들을 정의하며 또한 페이로드 패킷화 정보의 일부로서 소스 심볼들을 위한 식별 메커니즘을 제공한다. 이러한 프레임워크를 랩터 코드와 함께 이용하기 위해, 참조문헌 [12]이 이용되도록 의도된다.
이러한 프레임워크를 LA-FEC에 적용가능하도록 하기 위해, 랩터 FEC 방식(참조문헌 [13]) 및 랩터 RTP 페이로드 포맷(참조문헌 [14])이 수정 플로우를 패킷화하기 위한 변형없이 이용될 수 있다. 랩터 FEC 방식을 위한 시그널링이 참조문헌 [12]에서 정의되어 있으며, 수정 플로우를 따르는 표시는 LA-FEC 기본 계층 보호 및 LA-FEC 강화 계층 보호를 위해 필요한 RFC 6364(참조문헌 [15])에서 이미 정의되어 있다. FEC 프레임워크는 또한 LA-FEC 강화 계층 및 기본 계층 FEC 플로우들의 경우와 같이 에러 정정을 위해 연합하여 이용될 수 있는 추가적인 FEC 플로우들을 규정한다. SDP에서의 추가적인 플로우들의 FEC 그룹화를 위한 시맨틱(semantic)이 RFC 5888(참조문헌 [17])의 미디어 엘리먼트들의 일반적 그룹화에서 설명되어 있고 보다 구체적으로 FEC 프레임워크에 대해서는 RFC 5956(참조문헌 [16])에서 설명되어 있다.
RFC 6364는 SDP의 이용을 규정하고 있고 송신측 및 수신측간에 FEC 프레임워크를 시그널링하기 위한 필요한 파라미터들을 설명하고 있다. UDP 포맷화된 입력 스트림들의 경우, 프로토콜 식별자는 'FEC/UDP'이다. FEC 프레임워크는 소스 플로우와 수정 플로우사이를 구별시킨다. 소스 IP 어드레스들은 속성 '소스 필터'에서 기술되어 있다.
다중 소스 및 수정 플로우들의 그룹화
FEC 프레임워크는 다중 소스 및 수정 플로우들의 그룹화를 가능하게 해준다. 이러한 그룹들은 단일 또는 다중 FEC 프레임워크 인스턴스들에 의해 보호될 수 있다. 소스 및 수정 플로우들간의 연관은 '그룹' 속성에 의해 표시될 수 있다. 추가적인 수정 플로우들에 대한 '그룹' 속성의 이용에 관한 상세사항은 RFC 5956에서 설명되어 있다. RFC 5956에 따르면, 하나의 '그룹' 속성 내에 포함된 모든 플로우들은 FEC 그룹이라고 불리운다. 단일 '그룹' 내에 하나보다 많은 수정 플로우들이 존재하는 경우, 이러한 수정 플로우들은 추가되어야 한다. RFC 5888은 FEC 프레임워크의 이용을 위한 그룹화 시맨틱으로서의 'FEC-FE'을 정의한다. 그러므로, 'a=group:FEC-FR' 시맨틱은 다중 플로우들을 연관시키는데 이용되어야 한다.
LA-FEC를 위한 일반적인 시나리오는 두 개의 소스 플로우들, 즉 S1(기본 계층)과 S2(강화 계층), 및 두 개의 수정 플로우들, 즉, R1(기본 계층 FEC)과 R2(계층 인식 기본 및 강화 계층 FEC)를 갖는다. 이러한 시나리오를 설명하기 위해서는 아래의 예시에서 도시된 것과 같이 SDP 내에 두 개의 FEC 그룹들을 규정할 것이 필요하다:
a=group:FEC-FR S1 R1
a=group:FEC-FR S1 S2 R1 R2
논의된 모든 RFC들을 결합시키는 예시적인 SDP 설명이 아래에 주어진다(수평선은 SDP 설명 내의 상이한 섹션들을 나타낸다).
v=0
o=Cornelius 1122334455 1122334466 IN IP4 la-fec.example.com
s=SVC LA-FEC Raptor Example
t=0 0
a=group:FEC-FR S1 S2 R1 R2
a=group:FEC-FR S1 R1
c=IN IP4 233.252.0.1/127
a=group:DDP S1 S2
-----------------------------------------------------------------------
m=video 20000 RTP/AVP 96
b=AS:90
a=framerate:15
a=rtpmap:96 H264/90000
a=fec-source-flow: id=0
a=mid:S1
-----------------------------------------------------------------------
m=video 20002 RTP/AVP 97
b=AS:64
a=framerate:15
a=rtpmap:97 H264-SVC/90000
a=fec-source-flow: id=1
a=mid:S2
a=depend:97 lay S1: 97
-----------------------------------------------------------------------
m=application 30000 RTP/AVP 110
c=IN IP4 233.252.0.3/127
a=fec-repair-flow: encoding-id=6; fssi=Kmax:8192,T:128,P:A
a=mid:R1
----------------------------------------------------------------------
m=application 30000 RTP/AVP 111
c=IN IP4 233.252.0.4/127
a=fec-repair-flow: encoding-id=6; fssi=Kmax:8192,T:128,P:A
a=mid:R2
모바일 TV 채널에서의 예시적인 시뮬레이션 결과들:
도 9a와 도 9b는 현존하는 링크 계층-FEC MPE-FEC의 대체로서의 모바일 TV(DVB-H)에서의 계층 인식 랩터(LA-FEC)와 표준 랩터 코드(ST-FEC)의 AL-FEC 구현들을 비교하는 DVB-H 채널에서 시뮬레이팅된 예시적인 결과들을 보여준다. 구체적으로, 1300 kbps의 고정된 서비스 비트 레이트에서의 SVC 계층들 CR(기본 계층/강화 계층)에 걸친 상이한 코드 레이트 분포들을 갖는 표준 (ST)-FEC 및 LA-FEC를 이용하는 VGA 수신기에 대한 250개 프레임의 프리즈(freeze) 프레임들의 평균 개수(도 9a)와 평균 PSNR값(도 9b)이 도시된다. ST-FEC의 경우, FEC 데이터는 각 계층마다 다른 계층들과 독립적으로 생성된다. LA-FEC의 경우, 강화 계층 FEC 데이터는 기본 계층의 모든 소스 심볼들에 걸쳐 생성된다. 이러한 세팅들은 상이한 코드 레이트 분포들 및 1300 kbps의 (오디오, 비디오, 및 FEC를 포함한) 고정된 총 서비스 비트레이트에서 시뮬레이팅된다. 시뮬레이션들은 CR=0.68의 총 FEC 코드레이트를 포함하며, CR은 소스 심볼들 k l 대 계층 l의 인코딩된 심볼들 n l 의 비율에 의해 계산되며, CR=k/m이다. 계층들에 걸친 CR 분포는 기본 계층 코드 레이트를 제1 값으로 하고 강화 계층 코드 레이트를 제2 값으로 하여 도면들의 범례에서 도시된다. 도 9a는 250개 프레임들의 전송 동안의 프리즈 프레임들의 개수를 보여주고, 도 9b는 PSNR 측면에서의 결과적인 평균 비디오 퀄리티를 보여준다. 기초적인 시뮬레이션 조건들에 관한 상세사항은 참조문헌 [1]에서 발견될 수 있다.
이 도면들에서는 동일한 사항을 살펴볼 수 있는데, LA-랩터는 서비스 연속성(보다 적은 개수의 프리즈 프레임들)과 평균 비디오 퀄리티(보다 높은 PSNR)의 측면에서 표준 랩터 방식을 능가한다. 이것은 단지 FEC 통합에서 강화 계층으로부터 기본 계층으로의 추가적인 커넥션들을 추가함으로써 서비스 비트레이트에서의 증가 없이 나온다.
LDPC 코드를 갖는 물리 채널 상의 LA-FEC:
본 섹션은 어떻게 LA-FEC가 물리 계층 LDPC 코드에 적용될 수 있는지를 보여준다. 예시적인 FEC 코드로서 DVB-S2의 물리 계층으로부터 LDPC 코드 16k 매트릭스를 적용한다. 도 10은 기본 계층(base layer; BL)을 위해 이용되는 표준 LDPC 매트릭스와, 강화 계층(enhancement layer; EL) 인코딩을 위해 이용되는 확장형 LA-FEC LDPC 매트릭스를 비교한다. 표준 LDPC 매트릭스는 상단부 매트릭스이고 확장형 LDPC 매트릭스는 바닥부 매트릭스이다. 검은점들은 매트릭스에서 위치 1들을 나타내며, 반면에 백색 영역은 0들을 포함한다.
강화 계층(EL)의 경우, 표준 LDPC 매트릭스는 단순 아이덴티티 매트릭스에 의해 기본 계층의 소스 심볼들까지 확장된다. 이것은 단지 예시적인 확장만을 나타낸다. 보다 복잡한 매트릭스 확장을 고려할 수 있을 것이다. 연합 디코딩 매트릭스(확장형 LA-FEC 디코딩 매트릭스)가 도 11에서 도시된다. 이것은 하나의 디코딩 매트릭스에서 BL과 EL의 소스 및 패리티 심볼들을 결합시킨다. LDPC 코드들을 디코딩하기 위한 임의의 디코딩 알고리즘이 또한 이러한 확장형 매트릭스를 디코딩하는데 이용될 수 있다.
물리 계층 LDPC 코드에 대한 몇가지 예시적인 결과들이 도 12에서 도시되는데, 도 12에서는 AWGN 채널에서의 16k LA-FEC 대 16k St-FEC의 시뮬레이션 결과들을 보여주며, 이에 따라 AWGN 채널에서의 상이한 EbNo에서 시뮬레이팅된 16k LDPC 코드(LA-FEC)의 LA-FEC 확장과 16k LDPC code의 표준 FEC(stFEC)를 비교한다. QPSK가 이용되고 균등 에러 보호와 함께 상이한 코드 레이트들이 적용된다. 도표는 강화 계층 및 기본 계층 비트 에러 레이트(bit error rate; BER) 곡선과 비교되는 ST-FEC 코딩(BL+EL과 동일한 비트레이트)의 BER를 보여준다. BL 성능은 증가되는 반면에, EL 성능은 ST-FEC와 유사한 성능을 보여준다는 것을 살펴볼 수 있다. 통상적인 비균등 에러 보호(unequal error protection; UEP) 방식의 경우, 강화 계층은 기본 계층보다 덜 보호되며, BER 곡선들은 강화 계층 성능에서 감소를 보여줄 것이다. 이것은 LA-FEC 방식과 균등 에러 보호의 경우에서는 적용되지 않는다. 하지만, 또한 UEP가 LA-FEC에도 적용될 수 있다.
시간 인터리빙:
시간 인터리빙은 신호의 시간 다이버시티를 증가시키고 이로써 버스트 에러들에 대한 신호의 견고성을 증가시키기 위한 중요한 수단이다. 인터리빙 길이가 충분한 경우, 서비스는 긴 에러 버스트를 이겨낼 수 있다. 일반적인 시간 인터리빙의 주요 방해물은 서비스 튜닝 시간(tune in time) 또는 재핑 시간(zapping time)의 증가이다. 장시간(long time) 인터리빙은 수신자가 이 인터리빙 기간의 모든 패킷들이 수신되어 디인터리빙 버퍼에 채워질 때 까지 기다릴 것을 요구한다. 즉, 오늘날의 전송 시스템들은 시간 인터리빙 길이를 최소화하려고 시도하지만, 보다 긴 인터리빙 길이는 서비스 견고성을 상당히 개선시킬 것이다.
FEC 소스 블록의 시간 다이버시티는 k 0 개 소스 심볼들과 p 0 개 패리티 심볼들로 구성된 n 0 개 심볼들 및 인터리빙 길이(interleaving length; IL)=(1,2,3)을 갖는 FEC 소스 블록 0(SB0)에 대해 도 13에서 도시된 것과 같은 일정한 IL로 증가된다. 도 13은 k 0 개 소스 심볼들 및 p 0 개 패리티 심볼들을 갖는 FEC 소스 블록 0(SB0)의 상이한 인터리빙 길이(IL) 및 증가하는 시간 다이버시티(IL=1,2,3)를 개략적으로 나타낸다.
소스 블록 SB 0 의 모든 심볼들 n 0 =4을 복구시키는데 필요한 시간을 심볼들의 측면에서 인터리빙 지연 dinterl 이라고 칭한다.
랩터Q FEC으로의 계층 인식 FEC 통합:
본 섹션은 어떻게 LA-FEC가 랩터Q(참조문헌 [2]) FEC 코드에 통합될 수 있는지를 보여준다. 랩터Q는 몇가지 추가적인 최적화들에 의해 성능을 증가시킨 랩터 코드(예컨대, "랩터 FEC으로의 계층 인식 FEC 통합" 섹션)의 진화된 버전이다.
랩터Q 프로세스는 참조문헌 [2]에서 규정되어 있고 랩터 코드 프로세스(예컨대, "랩터 FEC으로의 계층 인식 FEC 통합" 섹션)와 같이 인코딩 및 디코딩을 위한 두 개의 동일한 단계들로 구성된다. 코딩 프로세스는 인코딩 및 디코딩에 대해 동일한 프로세스를 갖는 식으로 정의된다는 점을 유념한다. 제1 단계는 프리코딩 프로세스이며, 여기서는 고정된 사이즈의 k 0 개 소스 심볼들을 입력으로서 취하고 L 0 개 프리코딩 심볼들을 생성시킨다. 랩터Q는 k 0 의 모든 값들에 대해서는 규정되지 않는다. 그러므로, 소스 심볼들 k 0 의 개수는 다음에 이용가능한 k 0 '에 대한 스터핑(stuffing)에 의해 증가된다. 참조문헌 [2]에서 규정된 프리코딩 매트릭스가 도 14에서 도시된다. 도 14는 계층 0 또는 단일 계층을 위해 이용되는 참조문헌 [2]에서 규정된 것과 같은 랩터Q의 프리코딩 매트릭스를 개략적으로 나타낸다. 디코딩 및 인코딩 프로세스에서는 동일한 프리코딩 매트릭스가 이용된다는 것을 유념한다.
프리코딩 매트릭스는 두 개의 LDPC 서브매트릭스들, 즉 G_LDPC,10과 G_LDPC,20, 소위말하는 G_HDPC0 매트릭스, 두 개의 아이덴티티 매트릭스들 I_S0 및 I_H0, 및 k0' 행들을 포함하는 G_ENC0 매트릭스로 구성된다. G_ENC0는 코드를 체계적으로 유지할 필요가 있고, G_LDPC,10, G_LDPC,20, G_HDPC0, I_S0, I_H0은 랩터Q 프로세스의 실제 프리코드를 구성한다. 서브매트릭스들의 생성에 관한 상세사항은 참조문헌 [2]에서 발견될 수 있다. 전체적인 프리코딩 매트릭스는 소스 심볼 k0의 양, 소스 심볼 그 자체, 및 심볼 사이즈 T에 의해 생성된다는 점을 유념한다.
제2 단계는 도 15에서 도시된 랩터Q의 LT 인코딩 프로세스로 구성된다. 도 15는 랩터Q의 LT 인코딩 프로세스를 개략적으로 도시한다. 매트릭스 G_ENC0 내의 밀도 분포는 랩터 프로세스(예컨대, "랩터 FEC으로의 계층 인식 FEC 통합" 섹션)의 G_LT0 매트릭스와는 상이하다는 점을 유념해둔다. 제2 단계는 제1 단계로부터 L0개 프리코딩 심볼들을 취하고 프리코딩 심볼들의 상이한 세트들을 XOR 연산처리하여 n0개 인코딩 심볼들을 생성한다. 프리코딩 심볼들의 세트들은 '0'과 '1'로 구성된 희소 매트릭스인 G_ENC0 매트릭스에 의해 규정된다. '1'은 관련 프리코딩 심볼들이 관련 인코딩 심볼의 XOR 연산 프로세스에 포함되어 있다는 것을 나타낸다.
LA-FEC 랩터Q의 프리코딩 매트릭스가 도 16에서 두 개의 계층들에 대해 도시되는데, 즉 도 16은 두 개의 계층들을 갖는 LA-FEC 랩터Q의 프리코딩 프로세스를 개략적으로 도시한다. 이 매트릭스는 두 개의 계층들의 두 개의 프리코딩 매트릭스들(좌측 상단과 우측 하단), 제로 매트릭스(우측 상단) 및 계층 1에서 계층 0으로의 LA-FEC 확장(좌측 하단)의 연결로 구성된다. LA-FEC 확장은 코드를 체계적으로 유지하기 위해 필요하다. G_ENC1의 행들 및 관련 확장 G_ENC0[n0:n0+k1-1]는 위치 n0에서 시작한다는 점을 유념해둔다. 그 이유는 한편으로는 계층 0의 선형 독립 행들의 개수를 증가시키기 위한 것이고, 다른 한편으로는 인코딩 심볼의 고유 식별자에 의해 수신기에서 매트릭스들의 재생을 허용하기 위한 것이다. 계층 0의 인코딩된 심볼들은 도 15에서의 프로세스를 따라 생성된다. 강화 계층 인코딩 심볼들의 생성을 위해, 양쪽 계층들의 프리코딩 심볼들은 도 17에서 설명된 랩터Q 코딩 프로세스의 다음 단계로 포워딩된다. 도 17은 계층 0의 프리코딩 심볼들에 대한 확장형 매트릭스 및 두 개의 계층들을 갖는 LA-FEC 랩터Q 코딩 프로세스의 제2 단계를 개략적으로 나타낸다.
계층 1의 인코딩 심볼들 n1은 계층 0의 프리코딩 심볼들 및 관련된 코딩 매트릭스 G_ENC0를 고려하여 확장형 코딩 프로세스에 의해 생성된다. 확장형 G_ENC = [G_ENC0 G_ENC1] 매트릭스의 처음 k1개 행들은 프리코딩 단계에 포함되어 있기 때문에, 결과적인 인코딩된 심볼들은 체계적이다. 디코딩 프로세스는 동일한 단계들을 수반하지만 소스 심볼들을 수신된 심볼들로 대체하고 인코딩된 심볼들을 소스 심볼들로 대체한다는 점을 유념해야 한다.
비균등 시간 인터리빙을 갖는 LA-FEC(LA-FEC UI):
계층 인식 FEC와, SVC 및 MVC와 같은 계층화된 미디어의 조합은 고속 재핑과 장시간 인터리빙을 짝지어주는 새로운 방식의 서비스 제공을 가능하게 해준다. 실시예들은 구체적으로 본 섹션과 다음 섹션들에서 설명되는 비균등 시간 인터리빙을 갖는 LA-FEC에 관한 것이다.
고속 재핑은 보다 낮은 퀄리티 기본 계층과, 버스트 에러에 대한 견고성은 낮지만 낮은 지연을 갖는 단시간 인터리빙이 주어진다. 장시간 인터리빙은 버스트 손실들에 대한 견고성은 보다 강력하지만 보다 긴 지연을 갖는 SVC 강화 계층에 의해 제공된다. 하지만, 강화 계층은 기본 계층에 걸쳐 계층 인식 FEC로 FEC 코딩되기 때문에, 기본 계층은 또한 강화 계층의 개선된 시간 다이버시티로부터 이롭게 된다.
이 방식은 이후에 LA-FEC 또는 LA-FEC UI에 대한 비균등 시간 인터리빙으로서 칭해진다. LA-FEC UI는 SVC 또는 임의의 다른 종류의 계층화된 미디어에 적용될 뿐만이 아니라, 임의의 종류의 시간 동기화된 데이터에도 적용될 수 있다는 점이 중요하다. 예컨대, 가능할 수 있는 응용은 또한 단시간 인터리빙을 갖는 오디오 스트림 및 LA-FEC에 의해 연결된 장시간 인터리빙을 제공하는 비디오 스트림을 가져야할 것이다. 도 18은 LA-FEC UI의 프로세스(즉, 여기서 개시된 기술들에 따른 에러 정정 인코딩 방법)를 나타내며 예증적인 예시를 제공한다. 다시 말하면, 도 18은 송신기측: LA-FEC 인코딩, 비균등 시간 인터리빙, 및 동기화를 위한 보다 짧은 인터리빙의 패킷들의 지연을 통해 비균등 시간 인터리빙을 갖는 LA-FEC의 프로세스를 개략적으로 나타낸다.
도 18은 송신기측 상의 LA-FEC UI 스트림을 생성하기 위한 네 개의 단계들을 도시한다.
LA-FEC UI 프로세스의 단계 1은 미디어 인코딩 그 자체이다. 인코딩된 스트림은 계층 0에서의 기본 계층(제1 카테고리에 속하는 페이로드 데이터)과 상위 계층들에서의 관련된 강화 계층들(제2 카테고리(및 가능하게는 제3 카테고리, 제4 카테고리 ...)에 속하는 페이로드 데이터)을 갖는 n개의 미디어 계층들을 갖는, 예컨대 SVC 또는 MVC에서의 계층화된 미디어 스트림일 수 있다. 다른 의미있는 셋업은 계층 1에서 관련 비디오 스트림을 갖고 계층 0에서 오디오 스트림을 갖는 것일 수 있다. 도 18에서의 도시된 예시는 상이한 비트레이트를 각각 갖는 두 개의 계층들을 도시한다. 각각의 계층의 시구간 Δt의 비트스트림은 k개의 소스 심볼들로 분할되며, 양쪽 계층들에서의 상이한 비트레이트로 인해, klayer0 = 1 및 klayer1 = 2이다. 소스 심볼들은 실제 정보를 포함하며 추가적인 FEC 프로세싱을 위한 입력이다. 단계 1은 제1 카테고리에 속하는 페이로드 데이터를 수신하는 단계 및 제2 카테고리에 속하는 페이로드 데이터를 수신하는 단계로서 간주될 수 있다.
프로세스의 단계 2는 예컨대 "계층 인식 FEC" 섹션에서 설명된 것과 같은 예시적인 랩터 코드에 기초하는, LA-FEC 프로세스 그 자체이다. 도 18에서의 도해는 양쪽 계층들(즉, 페이로드 데이터 및 연관된 에러 정정 데이터의 제1 및 제2 카테고리들)의 FEC 소스 블록들(source block; SB)(페이로드 데이터) 및 패리티 심볼들 p(에러 정정 데이터)를 도시한다. 예시에서, 각각의 계층에 동일한 코드 레이트, 즉 CR=k/(k+p)=0.5가 적용된다. 또한 비균등 코드 레이트 분포가 적용될 수 있다는 것을 유념해둔다. LA-FEC 프로세스에 따라, 계층 0의 소스 블록들 SB0,…,SB3에 포함된 계층 0의 소스 심볼들에 대한 표준 랩터Q 알고리즘으로, 계층 0에서 단일 패리티 심볼 p(제1 카테고리 페이로드 데이터를 위한 에러 정정 데이터)가 생성된다. 계층 1의 p=2개 패리티 심볼들(제2 카테고리 페이로드 데이터를 위한 에러 정정 데이터)이 계층 0의 소스 심볼에 걸쳐 확장된 소스 블록에서 생성된다. 단계 2는 제1 카테고리 페이로드 데이터를 위한 제1 에러 정정 데이터를 결정하는 단계 및 제2 카테고리 페이로드 데이터를 위한 제2 에러 정정 데이터를 결정하는 단계로서 간주될 수 있다.
LA-FEC UI 프로세스의 단계 3은 비균등 인터리빙이며, 이것은 본 예시에서 콘볼루션 인터리버, 계층 1에 대한 IL1=4의 인터리빙 길이(본 예시에서, 인터리빙 길이는 FEC 소스 블록들의 개수에 대응한다), 및 계층 0에 대한 IL0=1에서는 인터리빙 없음에 의해 도 18에서 나타난다. LA-FEC UI 프로세스에 대해서는 예컨대 블록 인터리버와 같은 임의의 다른 종류의 인터리버가 이용될 수 있다는 것을 유념한다. 약술된 예시에서, 인터리빙 프로세스는 고정된 사이즈의 FEC 심볼들에 대해서 동작한다. 인터리빙 프로세스는 또한 예컨대, 인코딩된 FEC 소스 및 패리티 심볼들을 포함하는 UDP 패킷들과 같은 패킷 레벨로 수행될 수 있다는 것을 여기서 유념해두는 것이 중요하다. 단계 3은 적어도 제2 에러 정정 데이터(계층 1 패리티 심볼들)와 제2 카테고리 페이로드 데이터(계층 1 심볼들)를 서로 인터리빙하는 단계로서 간주될 수 있으며, 제1 에러 정정 데이터(계층 0 패리티 심볼(들))와 제1 카테고리 페이로드 데이터(계층 0 심볼들)의 인터리빙에 관한 제1 인터리빙 길이는 제2 에러 정정 데이터와 제2 카테고리 페이로드 데이터의 인터리빙에 관한 제2 인터리빙 길이와는 상이하다. 본 예증적인 예시에서, 제1 인터리빙 길이는 1이며, 즉 IL0=1인데, 이것은 본 예시에서 제1 에러 정정 데이터와 제1 카테고리 페이로드 데이터의 활성 인터리빙이 수행되지 않는다는 것을 의미한다. 하지만, 일반적으로, 적어도 제1 에러 정정 데이터와 제1 카테고리 페이로드 데이터를 인터리빙하는 추가적인 단계 동안에 제1 에러 정정 데이터는 제1 카테고리 페이로드 데이터와 인터리빙될 수 있다. 더 나아가, 제1 에러 정정 데이터, 제1 카테고리 페이로드 데이터, 제2 에러 정정 데이터, 및 제2 카테고리 페이로드 데이터는 결합된 인터리빙 단계에서 인터리빙될 수 있으며, 상이한 제1 및 제2 인터리빙 길이들이 채용될 수 있다(이 경우는 또한 "적어도 제2 에러 정정 데이터와 제2 카테고리 페이로드 데이터를 인터리빙"하는 공식에 의해 다루어진다).
LA-FEC UI의 단계 4는 양쪽 계층들의 동기화를 위해 보다 짧은 인터리빙을 갖는 지연된 계층 전송을 나타낸다. 따라서, 에러 정정 인코딩 방법은 인터리빙된 제1 에러 정정 데이터와 제1 카테고리 페이로드 데이터의 전송을 지연시키는 추가적인 단계를 포함할 수 있다. 지연의 길이는, 도 18에서 도시된 것과 같이, 계층 0(제1 카테고리)에서의 일정한 소스 블록의 모든 심볼들이 수신될 때, 또한 이에 대응하는 소스 블록의 계층 1(제2 카테고리)의 모든 심볼들이 수신되는 것과 같은 방식으로 세팅되어야 한다. 심볼들에서의 지연의 길이는 양쪽 계층들의 실제 인터리빙 길이와 최고 비트레이트를 갖는 계층(계층 1, 즉 제2 카테고리)에서의 심볼들의 개수에 의존한다. 도 18에서의 예시적인 인터리빙을 고려하면, 동기화를 목적으로 필요한 지연 d는 d=(IL1-IL0)*(k1+p1)에 의해 계산될 수 있다.
더 나아가 두 개의 비트스트림들은 임의의 종류의 전송 채널을 통해 개별적으로 전송되거나 또는 멀티플렉싱된다. 본 예시에서는 실시간 전송을 고려하였으며, 양측 계층들이 일정한 시간 프레임과 버스트 소거를 갖는 채널의 전송 내에서 수신기에서 표현될 필요가 있음을 유념한다.
대응하는 에러 정정 인코더는 제1 카테고리에 속하는 페이로드 데이터(제1 카테고리 페이로드 데이터)와 제2 카테고리에 속하는 페이로드 데이터(제2 카테고리 페이로드 데이터)를 수신하고, 제1 카테고리 페이로드 데이터를 위한 제1 에러 정정 데이터와 제2 카테고리 페이로드 데이터를 위한 제2 에러 정정 데이터를 결정하기 위한, 에러 정정 데이터 생성기를 포함할 수 있다. 에러 정정 인코더는 제2 카테고리에 속하는 페이로드 데이터를 수신하고, 제2 카테고리 페이로드 데이터를 위한 제2 에러 정정 데이터를 결정하기 위한 제2 에러 정정 데이터 생성기를 더 포함할 수 있다. 더 나아가, 인터리버는 적어도 제2 에러 정정 데이터와 제2 카테고리 페이로드 데이터를 서로 인터리빙하기 위한 에러 정정 인코더의 일부일 수 있고, 제1 에러 정정 데이터와 제1 카테고리 페이로드 데이터의 인터리빙에 관한 제1 인터리빙 길이는 제2 에러 정정 데이터와 제2 카테고리 페이로드 데이터의 인터리빙에 관한 제2 인터리빙 길이와는 상이하다.
여기서 개시된 교시내용들의 실시예들에서, 에러 정정 데이터 생성기는 제1 유닛(즉, 제1 에러 정정 데이터 생성기)과 제2 유닛(즉, 제2 에러 정정 데이터 생성기)를 포함할 수 있다.
도 19는 전송 내에 예시적인 버스트 에러를 포함하는 예시적인 수신기 프로세싱을 도시한다. 다시 말하면, 도 19는 수신기측: 디인터리빙, LA-FEC 디코딩을 통한 비균등 시간 인터리빙을 갖는 LA-FEC의 프로세스를 개략적으로 나타낸다.
단계 5는 에러가 발생하기 쉬운 채널을 통한 단계 4에서 생성된 미디어 스트림의 전송을 보여준다. 이러한 전송은 양측 계층들에 영향을 미치는 버스트 에러에 의해 영향을 받는다. 주어진 예시는 단지 단순화를 위해, 링크 계층 또는 응용 계층 상의 전송 에러들을 시뮬레이팅하는데 일반적으로 이용되는, 소거 채널에서 약술된다("계층 인식 FEC" 섹션을 참조한다). 하지만, 동일한 프로세스가 또한 에러 채널에서 적용될 수 있으며, 여기서 에러들의 위치는, 예컨대 "LDPC 코드를 갖는 물리 채널 상의 LA-FEC" 섹션에서 설명된 LA-FEC LDPC 코드를 이용하는 수신기에게 알려지지 않는다. 버스트 에러는 계층 0에서 4개의 패킷들(예컨대, 4개 비트들/심볼들)과 계층 1에서 8개의 패킷들(예컨대, 8개 비트들/심볼들)의 손실을 야기시키는데, 손실된 패킷들의 개수는 계층의 실제 비트레이트에 의존한다. 손실된 패킷들은 X표시된다. 예시적인 수신기는 시간 인스턴스 t0에서 미디어 스트림내로 튜닝되는 것으로 가정한다. 수신기는 완전히 수신된 심볼 또는 패킷만을 이용할 수 있다는 점을 유념한다. 만약 튜닝이 패킷의 중간에 있는 경우, 수신기는 손실된 헤더로 인해 패킷을 알아채지 못할 수 있고, 이 패킷을 폐기시킬 것이다. 만약 헤더가 완전히 수신되면, 패킷에 관한 필요한 모든 정보가 이용가능해진다. 에러 정정 디코딩 방법에서, 단계 5는 제1 에러 정정 데이터와 제1 카테고리 페이로드 데이터를 수신하는 단계로서 간주될 수 있다. 제1 카테고리 페이로드 데이터는 인터리빙된 데이터 스트림에서 제1 에러 정정 데이터와 인터리빙될 수 있고, 제1 에러 정정 데이터와 제1 카테고리 페이로드 데이터를 수신하는 단계는 인터리빙된 데이터 스트림을 수신하는 단계를 포함할 수 있다.
단계 6은 수신된 미디어 스트림의 디인터리빙(즉, (적어도) 제2 카테고리 페이로드 데이터와 제2 에러 정정 데이터를 포함하는 인터리빙된 데이터 스트림을 디인터리빙하는 것)을 수행한다. 이것은 수신기가 각각의 계층 IL0 및 IL1의 실제 인터리빙 시간(인터리빙 길이)을 알 것을 필요로 한다. 인터리빙 길이들은 대역내 시그널링 또는 대역외 시그널링에 의해 시그널링될 수 있다.
단계 7은 FEC 디코딩을 보여준다. 계층 0의 표준 FEC는 전송 동안에 모든 패킷들을 손실해버렸기 때문에 SB1와 SB2를 정정할 수 없다. LA-FEC 개념으로 인해, 강화 계층(제2 카테고리)은 기본 계층(제1 카테고리)을 보호해주며, 보다 긴 시간 인터리빙으로 인해, 강화 계층에서는 단하나의 패킷만이 손실된다. 즉, 강화 계층에서는 패킷들이 충분히 수신되어 SB1와 SB2에서 양측 계층들을 정정하도록 해주는 [수학식 2]와 [수학식 3]을 충족시킨다. 다시 말하면, 단계 7은 적어도 제1 에러 정정 데이터, 즉 제1 에러 정정 데이터와 제2 에러 정정 데이터를 이용하여 제1 카테고리 페이로드 데이터에서의 잠재적인 에러들을 정정하는 단계에 대응한다. 더 나아가, 제2 카테고리 페이로드 데이터는 적어도 제2 에러 정정 데이터를 이용하여 정정된다. 제2 카테고리 페이로드 데이터는 추가적인 에러 정정 데이터, 예컨대 제3 카테고리 페이로드 데이터(예컨대, 계층 2, 계층 3 ...)에 속하는 제3 에러 정정 데이터에 의해 추가적으로 보호될 수 있다. 기본 계층의 인터리빙과 비교하여 강화 계층의 보다 긴 시간 인터리빙은 제1 에러 정정 데이터와 제1 카테고리 페이로드 데이터의 인터리빙에 관한 제1 인터리빙 길이가 제2 에러 정정 데이터와 제2 카테고리 페이로드 데이터의 인터리빙에 관한 제2 인터리빙 길이와는 상이하다는 것을 의미한다.
단계 8은 LA-FEC와 비균등 시간 인터리빙의 조합으로 인해 어떠한 에러들 없이 복구된 비디오 스트림을 보여준다.
에러 정정 디코더는 디인터리버와 에러 정정기를 포함할 수 있다. 디인터리버는 상술한 단계 6의 모든 동작들 또는 일부 동작들을 수행하도록 구성될 수 있다. 에러 정정기는 상술한 단계 7의 모든 동작들 또는 일부 동작들을 수행하도록 구성될 수 있다. 구체적으로, 디인터리버는 제2 카테고리에 속하는 페이로드 데이터 및 대응하는 제2 에러 정정 데이터를 포함하는 인터리빙된 데이터 스트림을 디인터리빙하도록 구성될 수 있다. 인터리빙된 데이터 스트림은 제1 카테고리에 속하는 페이로드 데이터 및 대응하는 제1 에러 정정 데이터를 더 포함할 수 있다.
제1 카테고리 페이로드 데이터 및 제1 에러 정정 데이터는 제2 카테고리 페이로드 데이터 및 제2 에러 정정 데이터와 인터리빙될 수 있다. 대안적으로, 제1 카테고리 페이로드 데이터 및/또는 대응하는 제1 에러 정정 데이터는 제2 카테고리 페이로드 데이터 및 제2 에러 정정 데이터를 포함하는 인터리빙된 데이터 스트림으로부터 개별적으로 제공될 수 있다. 또한, 제1 카테고리 페이로드 데이터 및 제1 에러 정정 데이터는 실제의 인터리빙/디인터리빙을 필요로 할 수 있거나(인터리빙 길이 ≠ 1), 또는 실제의 인터리빙/디인터리빙을 필요로 하지 않을 수 있다(인터리빙 길이 = 1). 다시 말하면, (인터리버/디인터리버에 의해) 실제의(활성) 인터리빙/디인터리빙이 수행되지 않는 경우에는, 결과적인 인터리빙 길이는 1이다. 제1 인터리빙 길이는 제1 카테고리 페이로드 데이터 및 제1 에러 정정 데이터와 관련이 있다. 제2 인터리빙 길이는 제2 카테고리 페이로드 데이터 및 제2 에러 정정 데이터와 관련이 있다. 제1 인터리빙 길이는 제2 인터리빙 길이와는 상이하다.
에러 정정기는 제1 카테고리 페이로드 데이터와 제1 에러 정정 데이터를 수신하도록 구성될 수 있다. 더 나아가, 에러 정정기는 디인터리버로부터 제2 카테고리 페이로드 데이터와 제2 에러 정정 데이터를 디인터리빙된 형태로 수신하도록 구성될 수 있다. 제1 카테고리 페이로드 데이터 내의 잠재적인 에러들은 적어도 제1 에러 정정 데이터를 이용하여 에러 정정기에 의해 정정될 수 있다. 제2 카테고리 페이로드 데이터 내의 잠재적인 에러들은 적어도 제2 에러 정정 데이터를 이용하여 에러 정정기에 의해 정정될 수 있다.
계층 인식 순방향 에러 정정(LA-FEC)이 구현되는 경우, 제1 카테고리 페이로드 데이터(예컨대, 기본 계층 데이터) 내의 잠재적인 에러들의 정정은 제1 에러 정정 데이터뿐만이 아니라, 제2 에러 정정 데이터(예컨대, 강화 계층의 에러 정정 데이터)를 이용할 수 있다. 상술한 바와 같이, 제1 페이로드 데이터의 에러 정정은, 일반적으로 제2 카테고리 페이로드 데이터의 감소된 에러 정정 능력을 희생시켜서, 이러한 방식으로 보다 신뢰적으로 행해질 수 있다. 이러한 에러 정정 방식은 특히, 제2 카테고리 페이로드 데이터(강화 계층)가 제1 카테고리 페이로드 데이터(기본 계층)에 의존하는 경우들에서 이용될 수 있다.
단일 계층 미디어 및 FEC 소스 블록 인터리빙을 갖는 고속 재핑 및 장시간 인터리빙:
유사한 메커니즘이 단일 계층 코딩에 적용될 수 있다. 도 20은 FEC 소스 블록 인터리빙의 프로세스를 도시한다. 다시 말하면, 도 20은 고속 튜닝 및 장시간 인터리빙을 위한 FEC 소스 블록 인터리빙의 프로세스를 개략적으로 나타낸다.
단계 1은 단일 계층(계층 0) 미디어 스트림을 보여준다. 시간 유닛 Δt마다 k개의 소스 심볼들이 존재한다. 본 예시에서 k = 2이다.
단계 2는 Δt의 FEC 소스 블록(SBx) 길이 및 p개의 패리티 심볼들을 갖는 FEC 인코딩을 보여준다. 본 예시에서 p = 2이다. FEC 알고리즘은 예컨대, LDPC, 랩터, 또는 랩터Q 코드일 수 있다.
단계 3은 FEC 소스 블록들의 인터리빙을 보여주며, 인터리빙 길이 IL0는 인터리빙된 FEC 소스 블록들의 개수를 나타낸다. 주어진 예시에서 IL0 = 3이다.
단계 4는 예시적인 튜닝 시간 t0와 각각의 소스 블록(SBx)의 관련된 동기화 포인트들(SPx)을 갖는 최종적인 전송 스케쥴링을 보여준다. 시간 인스턴스 t0에서 튜닝하는 수신기는 SP0에서 비디오 플레이아웃(video playout)을 시작할 수 있다. 이 포인트에서 수신기는 SB0의 다른 FEC 심볼들을 수신하지 못했고, 따라서 이 포인트에서 에러 정정 능력은 제한된다. SP1에서, 수신기는 하나의 추가적인 패리티 심볼로 SB1을 디코딩할 수 있다. 반면에 SP2에서는 완전한 정정 성능과 시간 인터리빙 길이가 수신된다.
대응하는 에러 정정 인코더는, 페이로드 데이터를 수신하고 페이로드 데이터를 위한 에러 정정 데이터를 결정하기 위한 에러 정정 데이터 생성기; 및 에러 정정 데이터와 페이로드 데이터를 인터리빙하기 위한 인터리버를 포함할 수 있다. 에러 정정 데이터는 인터리빙된 데이터 스트림 내에서 페이로드 데이터에 선행한다. 페이로드 인터리빙 길이는 에러 정정 데이터 인터리빙 길이와는 상이하다. 페이로드 인터리빙 길이의 하나의 잠재적인 정의는, 페이로드 인터리빙 길이가 인터리빙된 데이터 스트림의 대응하는 인터리빙된 데이터 블록 내로 삽입되는 하나의 페이로드 데이터 블록으로부터의 페이로드 데이터 아이템들의 개수를 기술한다는 것이다. 마찬가지로, 에러 정정 데이터 인터리빙 길이는 선행하는 인터리빙된 데이터 블록에 삽입되는 상기 페이로드 데이터 블록으로부터 초래된 에러 정정 데이터 아이템들의 개수를 기술한다. 도 20의 예시에서, 페이로드 인터리빙 길이는 1이다(즉, 하나의 주어진 소스 블록으로부터의 모든 페이로드 심볼들은 대응하는 전송 블록에 포함된다). 에러 정정 데이터 인터리빙 길이는 3(IL0, error correcting = 3)인데, 그 이유는 일정한 소스 블록에 속하는 적어도 하나의 에러 정정 심볼은 대응하는 페이로드 심볼을 포함하는 전송 블록으로부터 멀리 떨어져 있는 3개의 전송 블록들이기 때문이다. 예를 들어, t0에서 시작하는 전송 블록은 두 개의 페이로드 심볼들 "0"(백색 정사각형)을 포함한다. 대응하는 에러 정정 심볼들(회색 정사각형)은 t-1와 t-2(도 20에서는 명확히 표시되지 않음)에서 시작하는 두 개의 선행하는 전송 블록들에 포함된다.
택일적 사항으로서, 상기 페이로드 데이터 블록으로부터의 모든 페이로드 데이터 아이템들은 상기 인터리빙된 데이터 블록에 삽입될 수 있고, 대응하는 에러 정정 데이터 아이템들은 상기 인터리빙된 데이터 블록에 직접적으로 또는 간접적으로 선행하는 적어도 두 개의 인터리빙된 데이터 블록들에 삽입될 수 있다.
대응하는 에러 정정 인코딩 방법은:
- 페이로드 데이터를 수신하고 페이로드 데이터를 위한 에러 정정 데이터를 결정하는 단계;
- 에러 정정 데이터와 페이로드 데이터를 인터리빙하는 단계를 포함할 수 있고, 에러 정정 데이터는 인터리빙된 데이터 스트림 내에서 페이로드 데이터에 선행하며, 페이로드 인터리빙 길이는 에러 정정 데이터 인터리빙 길이와는 상이하다.
디코딩측(예컨대, 수신기측)에 관한 한, 대응하는 에러 정정 디코더는 디인터리버와 에러 정정기를 포함할 수 있다. 디인터리버는 페이로드 데이터와 이 페이로드 데이터를 위한 에러 정정 데이터를 포함하는 인터리빙된 데이터 스트림을 디인터리빙하도록 구성되며, 에러 정정 데이터는 인터리빙된 데이터 스트림 내에서 페이로드 데이터에 선행하며, 페이로드 인터리빙 길이는 에러 정정 데이터 인터리빙 길이와는 상이하다. 에러 정정기는 페이로드 데이터와 에러 정정 데이터를 수신하고, 에러 정정 데이터를 이용하여 페이로드 데이터 내의 잠재적인 에러들을 정정하도록 구성되며, 페이로드 데이터만이 수신되고 에러 정정 데이터는 손실된 경우(예컨대, 늦은 튜닝으로 인해 에러 정정 데이터가 더 이상 캡쳐될 수 없는 경우)에는, 페이로드는 활용가능하지만 에러가 발생할 수 있다.
대응하는 에러 정정 디코딩 방법은:
- 페이로드 데이터 및 이 페이로드 데이터를 위한 에러 정정 데이터를 포함하는 인터리빙된 데이터 스트림을 디인터리빙하는 단계, 여기서 에러 정정 데이터는 인터리빙된 데이터 스트림 내에서 페이로드 데이터에 선행하며, 페이로드 인터리빙 길이는 에러 정정 데이터 인터리빙 길이와는 상이하다.
- 페이로드 데이터와 에러 정정 데이터를 수신하는 단계; 및
- 에러 정정 데이터를 이용하여 페이로드 데이터 내의 잠재적인 에러들을 정정하는 단계를 포함할 수 있고, 여기서 페이로드 데이터만이 수신되고 에러 정정 데이터가 손실된 경우 페이로드는 활용가능하지만 에러가 발생할 수 있다.
이러한 전송 스케쥴링의 경우, 인터리빙 기간 IL0 이후 동일한 정정 성능 및 시간 다이버시티가 달성되면서 고속 튜닝이 가능하다. 이러한 전송 스케쥴링은 또한 LA-FEC 없이 그리고 수신기측 상의 복잡한 디인터리빙 메커니즘을 필요로 하는 것 없이 달성될 수 있다.
LA-FEC UI에 대한 성능 예시들:
시뮬레이션 결과들은 고정된 버스트 길이를 시뮬레이팅하는 길버트 엘리어트 모델에 기초하여 수행된다. 고정된 평균 버스트 길이는 9.57개 심볼들이며 가변적인 평균 손실 확률은 소거 확률 per로 표시되는 것으로 가정한다.
SVC형 시뮬레이션들(공간 스케일러빌리티, 예컨대 720p 내지 1080p):
[표 1]은 선택된 구성 파라미터들에 대한 개관을 제공한다. 이 예증적인 예시는 SVC 코딩된 비디오 스트림에 대해 일반적인, 계층들에 걸친 1:2의 일정한 심볼 분포와 계층 당 0.5의 고정된 코드레이트를 가정한다는 점을 유념해둔다. 단일 계층 코딩과 비교하여 추가적인 개선들은 계층들에 걸친 비균등 코드레이트 분포들에 의해 달성될 수 있다.
Figure pct00004
미디어 스트림 및 FEC 코딩 파라미터들
도 21에서는 단일 계층 경우, 각각의 계층에 대해 FEC 생성을 독립적으로 갖는 표준 FEC(ST-FEC), 및 상이한 인터리빙 길이를 갖는 LA-FEC UI에 대하여, 일정한 소거 확률 per에 대한 PSNR 측면에서의 수신된 비디오 퀄리티가 도시되며, 도 22에서는 ST-FEC UI와 LA-FEC UI에서의 기본 계층 디코딩 확률상의 차이를 부각시키기 위한 기본 계층의 계층 디코딩 확률이 도시된다. 인터리빙 길이 IL=9를 갖는 단일 계층 경우는 다른 방식들과 동일한 튜닝 시간을 제공하지 않으며, 이것은 단일 계층 FEC 소스 블록 인터리빙의 잠재적인 성능을 표시하기 위해 포함될 뿐이라는 점을 유념한다.
도 21은 LA-FEC, LA-FEC UI, ST-FEC, ST-FEC UI, 및 단일 계층(SL) 코딩에 대한 비디오 퀄리티의 PSNR 측면에서의 비교를 도시한다. 두 개의 상이한 인터리빙 길이 IL=1(인터리빙 없음) 및 IL=9이 이용된다. SL - IL=1 만이 모든 LA-FEC UI 방식들과 동일한 튜닝 시간을 보여준다는 점을 유념한다. 도 21에서의 결과들은, UI없는 LA-FEC IL0=1;IL1=1이 ST-FEC 방식을 능가하며, SL 방식 IL=1 성능에 접근한다는 것을 보여준다. LA-FEC UI FEC IL0=1;IL1=9는 동일한 튜닝 지연 SL-IL=1을 제공하는 단일 계층 FEC 코딩을 상당히 능가한다. LA-FEC UI는 단일 계층 IL=9 성능에 도달하지 못한다. 즉, LA-FEC UI 방식은 서비스 내에서의 고속 튜닝을 가능하도록 하면서 SL-IL1과 SL-IL9 사이의 성능을 제공한다.
도 22a와 도 22b는 LA-FEC, LA-FEC UI, ST-FEC, ST-FEC UI, 및 단일 계층(SL) 코딩에 대한 기본 계층과 강화 계층 디코딩의 비교를 도시한다. 두 개의 상이한 인터리빙 길이 IL=1(인터리빙 없음) 및 IL=9이 이용된다. SL - IL=1 만이 모든 LA-FEC UI 방식들과 동일한 튜닝 시간을 보여준다는 점을 유념한다. 기본 계층 성능에 대한 LA-FEC UI 방식의 영향은 도 22a(상부)에서 살펴볼 수 있다. 강화 계층의 보다 긴 인터리빙이 기본 계층에 대해 어떠한 영향도 주지 않는 ST-FEC UI와는 달리, LA-FEC의 경우에서는 기본 계층 성능은 증가한다. 전반적으로, 결과들은, 동일한 서비스 튜닝 (재핑) 시간을 갖는 방식들과 비교될 때 LA-FEC UI의 성능 이득을 보여준다. 계층들(UEP)에 걸친 코드레이트 분포의 최적화와 계층들에 걸친 소스 심볼 분포의 다른 비율로 추가적인 이득이 예상된다.
계층 0으로서 오디오 스트림을 갖고 계층 1로서 비디오 스트림을 갖는 LA-FEC UI:
제안된 LA-FEC UI 방식은 또한 예컨대 오디오 스트림에 걸친 단일 계층 비디오에 적용될 수 있다는 것을 유념해두는 것이 중요하다. 이러한 섹션들은 계층 0에서 오디오 스트림을 갖고 계층 1에서 비디오 스트림을 갖는 경우에 대한 몇가지 성능 결과들을 제공한다.
[표 2]은 선택된 구성 파라미터들에 대한 개관을 제공한다. 이 예증적인 예시는 비디오 스트림과 비교하여 오디오 코딩된 스트림에 대해 현실적일 수 있는, 두 개의 계층들에 걸친 1:8의 일정한 심볼 분포를 가정한다는 점을 유념해둔다. 또한, 계층 당 0.5의 고정된 코드레이트를 가정한다. 단일 계층 코딩과 비교하여 추가적인 개선들은 계층들에 걸친 비균등 코드레이트 분포들에 의해 달성될 수 있다.
Figure pct00005
미디어 스트림 및 FEC 코딩 파라미터들
도 23에서의 결과들은 계층들에 걸쳐 1:8의 비트레이트 비율을 갖고 계층 0에서 오디오 스트림을, 그리고 계층 1에서 비디오 스트림을 갖는 세팅을 나타낸다. 본 도면은 1과 8의 인터리빙 길이를 갖는 단일 계층(SL)으로서 일컬어진 하나의 FEC 소스 블록 내에 오디오 및 비디오 둘 다를 갖는 경우의 미디어 디코딩 확률 측면에서의 비교를 개략적으로 도시한다. 다시 말하면, 도 23은 LA-FEC UI와 단일 계층(SL) 코딩에 대한 오디오 및 비디오 계층 디코딩의 비교를 도시한다. 두 개의 상이한 인터리빙 길이 IL=1(인터리빙 없음) 및 IL=9이 이용된다. SL - IL=1 만이 모든 LA-FEC UI 방식들과 동일한 튜닝 시간을 보여준다는 점을 유념한다.
도 23에서의 결과들은, 두 개의 계층들의 비트레이트들간의 차이가 클수록, LA-FEC UI 의 이득이 또한 증가한다는 것을 보여준다. LA-FEC UI VIDEO 코딩 계층이 거의 SL 세팅의 성능에 도달하지만, 오디오 스트림의 작은 소스 블록이 에러 버스트 채널의 보다 높은 에러 영역들에서 이롭기 때문에 LA-FEC UI AUDIO 스트림은 SL 스트림을 훨씬 능가한다.
랩터, 랩터Q 및 LA-FEC UI의 시그널링:
랩터와 랩터Q는 소스 심볼들의 양 k(대역내) 및 Kmax (SDP), 심볼 사이즈 T, (IETF FEC 프레임워크에서의 랩터 페이로드 ID에 포함된) 각각의 인코딩된 심볼 X의 고유 식별자, 및 수신측에서 프리코딩 및 인코딩 매트릭스를 재생하기 위해 인코딩 ID(SDP) 및 FEC ID(대역내)에 의해 본 예시에서 정의되고 이용된 FEC 알고리즘(예컨대, "랩터 FEC으로의 계층 인식 FEC 통합" 섹션과 "랩터Q FEC으로의 계층 인식 FEC 통합" 섹션)의 대역외 또는 대역내 시그널링을 필요로 한다.
LA-FEC는 강화 계층 심볼들의 시그널링을 필요로 하고, 기본 계층 심볼들은 연합 디코딩 프로세스(예컨대, "LA-FEC의 시그널링" 섹션)에서 이용될 수 있다.
수신기측에서의 디인터리빙 프로세스의 효율적인 메모리 관리를 위해, LA-FEC UI 랩터 또는 랩터Q는 관여된 모든 계층들의 FEC 코딩된 심볼들의 인터리빙 길이(IL)의 시그널링(예컨대, "시간 인터리빙" 섹션)을 추가로 필요로 한다.
SDP를 이용한 예시적인 대역외 시그널링(예컨대, "LA-FEC의 시그널링" 섹션)이 아래에서 잠재적인 신규 파라미터 ≪a :fec.interleaving:200ms≫ 에 의해 제시된다.
v=0
o=Cornelius 1122334455 1122334466 IN IP4 la-fec.example.com
s=SVC LA-FEC Raptor Example
t=0 0
a=group:FEC-FR S1 S2 R1 R2
a=group:FEC-FR S1 R1
c=IN IP4 233.252.0.1/127
a=group:DDP S1 S2
m=video 20000 RTP/AVP 96
b=AS:90
a=framerate:15
a=rtpmap:96 H264/90000
a=fec-source-flow: id=0
a=mid:S1
m=video 20002 RTP/AVP 97
b=AS:64
a=framerate:15
a=rtpmap:97 H264-SVC/90000
a=fec-source-flow: id=1
a=mid:S2
a=depend:97 lay S1: 97
m=application 30000 RTP/AVP 110
c=IN IP4 233.252.0.3/127
a=fec-repair-flow: encoding-id=6; fssi=Kmax:8192,T:128,P:A;
a=fec-interleaving: 200ms
a=mid:R1
m=application 30000 RTP/AVP 111
c=IN IP4 233.252.0.4/127
a=fec-repair-flow: encoding-id=6; fssi=Kmax:8192,T:128,P:A
a=fec-interleaving: 1000ms
a=mid:R2
다른 가능성은 소스 심볼들의 개수 k, 소스 심볼 사이즈 T, 고유 심볼 식별자(FEC ID) 및 실제 소스 블록의 인터리빙 길이(IL)를 갖는 예시적인 인터리빙 길이(IL)의 대역내 시그널링을 개략적으로 나타내는 도 24에서 설명된 것과 같은 패킷 헤더를 갖는 대역내 시그널링을 행하는 것이다. IL 값은 SDP 예시에서 a=fec-interleaving 파라미터에 대응한다.
최신 기술을 능가하는 진보:
- 비균등 시간 인터리빙 및 LA-FEC는 고속 재핑(서비스 튜닝) 및 장시간 인터리빙을 함께 초래시킨다. 짧은 시간 인터리빙을 갖는 기본 계층은 고속 튜닝을 가능하게 한다. 강화 계층은 LA-FEC로 인해 기본 계층을 보호해주는 장시간 인터리빙을 갖는다.
- 서비스 내로 튜닝되는 수신기는 먼저 기본 계층을 디코딩하기 시작한다. 천이 기간 이후 수신기는 강화 계층을 디코딩할 수 있다. LA-FEC로 인해, 전반적인 서비스 견고성은 강화 계층의 보다 긴 시간 인터리빙에 의해 증가된다.
- 양측 계층들의 전송 스케쥴링은 비균등한 시간 인터리빙 길이를 갖는 기본 계층과 강화 계층이 동기화되도록 기본 계층 전송이 지연되는 방식으로 스케쥴링된다.
- 단일 계층 및 계층화된 미디어 코딩과 FEC 소스 블록들의 인터리빙
- 수신기측에서의 각각의 계층의 FEC 소스 블록의 인터리빙 길이의 시그널링.
- LA-FEC는 또한 임의의 동기화된 데이터에 대한 단일 계층, 예컨대 단일 계층 및 이와 연관된 오디오 스트림에 적용될 수 있다. 본 내용은 기존의 LA-FEC 특허 출원 US2010/017686 A1에서 고려되지 않은 것이다.
비록 몇몇 양태들은 장치의 관점에서 설명되었지만, 이러한 양태들은 또한 대응 방법의 설명을 나타낸다는 것이 명백하며, 여기서 블록 또는 디바이스는 방법 단계 또는 방법 단계의 특징에 대응한다. 마찬가지로, 방법 단계의 관점에서 설명된 양태들은 또한 대응하는 장치의 대응하는 블록 또는 아이템 또는 특징의 설명을 나타낸다. 방법 단계들 모두 또는 그 일부는 예컨대, 마이크로프로세서, 프로그램가능 컴퓨터 또는 전자 회로와 같은 하드웨어 장치에 의해(또는 이것을 이용하여) 실행될 수 있다. 몇몇 실시예들에서, 가장 중요한 방법 단계들 중의 몇몇의 하나 이상의 방법 단계들은 이러한 장치에 의해 실행될 수 있다.
본 발명의 인코딩된/압축된 신호들은 디지털 저장 매체상에 저장될 수 있거나 또는 인터넷과 같은 무선 전송 매체 또는 유선 전송 매체와 같은 전송 매체를 통해 전송될 수 있다.
일정한 구현 요건에 따라, 본 발명의 실시예들은 하드웨어나 소프트웨어로 구현될 수 있다. 이러한 구현은 전자적으로 판독가능한 제어 신호들이 저장되어 있으며, 각각의 방법이 수행되도록 프로그램가능한 컴퓨터 시스템과 협동하는(또는 이와 협동가능한) 디지털 저장 매체, 예컨대 플로피 디스크, DVD, 블루레이, CD, ROM, PROM, EPROM, EEPROM 또는 FLASH 메모리를 이용하여 수행될 수 있다. 그러므로, 디지털 저장 매체는 컴퓨터로 판독가능할 수 있다.
본 발명에 따른 몇몇의 실시예들은 여기서 설명된 방법들 중 하나의 방법이 수행되도록, 프로그램가능한 컴퓨터 시스템과 협동할 수 있는 전자적으로 판독가능한 제어 신호들을 갖는 데이터 캐리어를 포함한다.
일반적으로, 본 발명의 실시예들은 컴퓨터 프로그램 제품이 컴퓨터 상에서 구동될 때 본 방법들 중 하나의 방법을 수행하기 위해 동작되는 프로그램 코드를 갖는 컴퓨터 프로그램 제품으로서 구현될 수 있다. 프로그램 코드는 예컨대 머신 판독가능한 캐리어 상에 저장될 수 있다.
다른 실시예들은 머신 판독가능한 캐리어 상에서 저장되는, 여기서 설명된 방법들 중 하나의 방법을 수행하기 위한 컴퓨터 프로그램을 포함한다.
다시 말하면, 본 발명의 방법의 실시예는, 따라서, 컴퓨터 상에서 컴퓨터 프로그램이 구동될 때, 여기서 설명된 방법들 중 하나의 방법을 수행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램이다.
본 발명의 방법들의 추가적인 실시예는, 이에 따라 여기서 설명된 방법들 중 하나의 방법을 수행하기 위한 컴퓨터 프로그램이 기록되어 있는 데이터 캐리어(또는 디지털 저장 매체, 또는 컴퓨터 판독가능한 매체)이다.
본 발명의 방법의 추가적인 실시예는, 이에 따라 여기서 설명된 방법들 중 하나의 방법을 수행하기 위한 컴퓨터 프로그램을 표현한 신호들의 시퀀스 또는 데이터 스트림이다. 신호들의 시퀀스 또는 데이터 스트림은 데이터 통신 접속, 예컨대 인터넷을 통해 전송되도록 구성될 수 있다.
추가적인 실시예는 여기서 설명된 방법들 중 하나의 방법을 수행하도록 구성되거나 적응된 처리수단, 예컨대 컴퓨터, 또는 프로그램가능 논리 디바이스를 포함한다.
추가적인 실시예는 여기서 설명된 방법들 중 하나의 방법을 수행하기 위한 컴퓨터 프로그램이 설치된 컴퓨터를 포함한다.
몇몇의 실시예들에서, 프로그램가능한 논리 디바이스(예컨대 필드 프로그램가능한 게이트 어레이)는 여기서 설명된 방법들의 기능들 모두 또는 그 일부를 수행하기 위해 이용될 수 있다. 몇몇의 실시예들에서, 여기서 설명된 방법들 중 하나의 방법을 수행하기 위해 필드 프로그램가능한 게이트 어레이가 마이크로프로세서와 협동할 수 있다. 일반적으로, 본 방법들은 바람직하게는 임의의 하드웨어 장치에 의해 수행된다.
상술한 실시예들은 본 발명의 원리들에 대한 일례에 불과하다. 여기서 설명된 구성 및 상세사항의 수정 및 변형은 본 발명분야의 당업자에게 자명할 것으로 이해된다. 그러므로, 본 발명은 계류중인 본 특허 청구항들의 범위에 의해서만 제한이 되며 여기서의 실시예들의 설명 및 해설을 통해 제시된 특정한 세부사항들에 의해서는 제한되지 않는다는 것이 본 취지이다.
참조문헌들:
[1] A. Shokrollahi, "Raptor Codes," IEEE Transactions on Information Theory, Vol. 52, Issue 6, pp. 2551-2567, 2006.
[2] M. Luby, A. Shokrollahi, M. Watson, T. Stockhammer, L. Minder, "RaptorQ For-ward Error Correction Scheme for Object Delivery," IETF RMT, draft-ietf-rmt-bb-fec-raptorq-04, August 2010, http://tools.ietf.org/html/draft-ietf-rmt-bb-fec-raptorq-04.
[3] M. Luby, A. Shokrollahi, M. Watson, T. Stockhammer, "Raptor Forward Error Correction Scheme for Object Delivery," IETF RFC 5053, Internet Engineering Task Force (IETF), Network Working Group, September 2007, http://tools.ietf.org/html/rfc5053.
[4] C. Hellge, T. Schierl, and T. Wiegand, "Mobile TV using scalable video voding and layer-aware forward error correction," IEEE International Conference on Multime-dia and Expo (ICME'08), Hanover, Germany, June 2008.
[5] Cornelius Hellge, David Gomez-Barquero, Thomas Schierl, and Thomas Wiegand: Layer-Aware Forward Error Correction for Mobile Broadcast of Layered Media, IEEE Transactions on Multimedia, vol. 13, pp. 551-562, 2011.
[6] H. Schulzrinne, S. Casner, R. Frederick, and V. Jacobson, "RTP: A Transport Pro-tocol for Real-time Applications", IETF STD 0064, RFC 3550, July 2003, http://tools.ietf.org/html/rfc3550.
[7] J. Postel, "User Datagram Protocol", IETF STD 6, RFC 768, September 1981, http://tools.ietf.org/html/rfc768.
[8] S. Wenger, Y.-K. Wang, T. Schierl, and A. Eleftheriadis, "RTP payload format for SVC video", IETF AVT, RFC 6190, May 2011, http://tools.ietf.org/html/rfc6190.
[9] Y.-K. Wang, T. Schierl, "RTP Payload Format for MVC Video," work in progress, IETF AVT, draft-ietf-payload-rtp-mvc-01.txt, September 2011, http://tools.ietf.org/html/draft-ietf-payload-rtp-mvc-01.
[10] M. Handly, V. Jacobson, and C. Perkins, "SDP: Session Description Protocol", IETF RFC 4566, July 2006, http://tools.ietf.org/html/rfc4566.
[11] T. Schierl and S. Wenger, "Signaling media decoding dependency in Session De-scription Protocol (SDP)," IETF MMUSIC, April 2009, http://tools.ietf.org/html/rfc5583.
[12] M. Watson, A. Begen, V. Roca, "Forward Error Correction (FEC) Framework," IETF FECFRAME, RFC 6363, October 2011.
[13] M. Watson, T. Stockhammer, M. Luby, "Raptor FEC Schemes for FECFRAME, " IETF FECFRAME, draft-ietf-fecframe-raptor-05, September 2011, http://tools.ietf.org/html/draft-ietf-fecframe-raptor-05.
[14] M. Watson, T. Stockhammer, "RTP Payload Format for Raptor FEC", IETF FECFRAME, draft-ietf-fecframe-rtp-raptor-05, October 2011, http://tools.ietf.org/html/draft-ietf-fecframe-rtp-raptor-05.
[15] A. Begen, "Session Description Protocol Elements for the Forward Error Correction (FEC) Framework", IETF FECFRAME, RFC 6364, October 2011, http://tools.ietf.org/html/rfc6364.
[16] A. Begen, "Forward Error Correction Grouping Semantics in the Session Descrip-tion Protocol", IETF FECFRAME, RFC 5956, September 2010, http://tools.ietf.org/html/rfc5956.
[17] G. Camarillo, H. Schulzrinne, “The Session Description Protocol (SDP) Grouping Framework,” IETF MMUSIC, RFC 5888, June 2010, http://tools.ietf.org/html/rfc5888.
[18] Patent Application LA-FEC (Publication No. US 2010/017686 A1)

Claims (36)

  1. 에러 정정 인코더에 있어서,
    제1 카테고리에 속하는 페이로드 데이터(제1 카테고리 페이로드 데이터)를 수신하고, 제2 카테고리에 속하는 페이로드 데이터를 수신하고, 상기 제1 카테고리 페이로드 데이터를 위한 제1 에러 정정 데이터를 결정하며, 상기 제2 카테고리 페이로드 데이터를 위한 제2 에러 정정 데이터를 결정하기 위한 에러 정정 데이터 생성기; 및
    적어도 상기 제2 에러 정정 데이터와 상기 제2 카테고리 페이로드 데이터를 서로 인터리빙하기 위한 인터리버
    를 포함하며,
    상기 제1 에러 정정 데이터와 상기 제1 카테고리 페이로드 데이터의 인터리빙에 관한 제1 인터리빙 길이는 상기 제2 에러 정정 데이터와 상기 제2 카테고리 페이로드 데이터의 인터리빙에 관한 제2 인터리빙 길이와는 상이한, 에러 정정 인코더.
  2. 제1항에 있어서,
    상기 제1 카테고리 페이로드 데이터와 상기 제1 에러 정정 데이터를 포함하는 인터리빙된 데이터 스트림의 상대적으로 짧은 섹션으로부터 상기 제1 카테고리 페이로드 데이터가 재구축될 수 있고, 상기 제2 카테고리 페이로드 데이터와 상기 제2 에러 정정 데이터를 포함하는 다른 인터리빙된 데이터 스트림 또는 상기 인터리빙된 데이터 스트림의 상대적으로 더 긴 섹션으로부터 상기 제2 카테고리 페이로드 데이터가 재구축될 수 있게 되어, 상기 제2 카테고리 페이로드 데이터와 상기 제2 에러 정정 데이터가 상기 제2 카테고리 페이로드 데이터와 상기 제2 에러 정정 데이터를 포함하는 상기 인터리빙된 데이터 스트림의 상대적으로 짧은 섹션에 영향을 미치는 하나 이상의 데이터 에러들에 대해 비교적 견고(robust)해지도록, 상기 제1 인터리빙 길이는 상기 제2 인터리빙 길이와는 상이한, 에러 정정 인코더.
  3. 제1항에 있어서, 상기 제1 카테고리 페이로드 데이터와 상기 제2 카테고리 페이로드 데이터는 의존성 관계를 통해 상호 연관되는, 에러 정정 인코더.
  4. 제1항에 있어서, 상기 제1 카테고리 페이로드 데이터는 페이로드 콘텐츠의 다중 기술 코딩(multiple description coding; MDC)의 제1 기술부분(description)의 일부이며, 상기 제2 카테고리 페이로드 데이터는 상기 페이로드 콘텐츠의 상기 다중 기술 코딩의 제2 기술부분의 일부인, 에러 정정 인코더.
  5. 제1항에 있어서, 상기 제1 카테고리 페이로드 데이터는 기본 계층에 대응하고, 상기 제2 카테고리 페이로드 데이터는 스케일러블 비디오 코딩(scalable video coding; SVC) 또는 멀티뷰 비디오 코딩(multiview video coding; MVC) 방식의 강화 계층(enhancement layer)에 대응하는, 에러 정정 인코더.
  6. 제1항에 있어서, 상기 제1 카테고리 페이로드 데이터는 오디오 데이터를 포함하고, 상기 제2 카테고리 페이로드 데이터는 비디오 데이터를 포함하는, 에러 정정 인코더.
  7. 제1항에 있어서, 상기 에러 정정 데이터 생성기는 또한, 상기 제1 카테고리 페이로드 데이터를 수신하고, 상기 제1 카테고리 페이로드 데이터와 상기 제2 카테고리 페이로드 데이터에 기초하여 상기 제2 에러 정정 데이터를 결정하여, 상기 제1 카테고리 페이로드 데이터의 디코더-측 에러 정정이 상기 제1 에러 정정 데이터와 상기 제2 에러 정정 데이터를 활용할 수 있도록 하고, 이에 따라 상기 제1 에러 정정 데이터만을 활용한 것에 비해 상기 제1 카테고리 페이로드 데이터에 대한 에러 정정 성능을 향상시키도록 구성되는, 에러 정정 인코더.
  8. 제1항에 있어서, 상기 에러 정정 데이터 생성기는 계층 인식 순방향 에러 정정(layer-aware forward error correction; LA-FEC)을 수행하도록 구성되는, 에러 정정 인코더.
  9. 제1항에 있어서, 적어도 상기 제1 카테고리 페이로드 데이터, 상기 제1 에러 정정 데이터, 상기 제2 카테고리 페이로드 데이터, 및 상기 제2 에러 정정 데이터를 멀티플렉싱하여 멀티플렉싱된 데이터 스트림을 형성하기 위한 멀티플렉서를 더 포함하는, 에러 정정 인코더.
  10. 제1항에 있어서, 상기 제1 카테고리 페이로드 데이터와 상기 제1 에러 정정 데이터를 지연시키기 위한 지연 엘리먼트를 더 포함하는, 에러 정정 인코더.
  11. 제1항에 있어서, 상기 제1 인터리빙 길이와 상기 제2 인터리빙 길이 중 적어도 하나에 관한 인터리빙 길이 정보를 디코더-측에 전송하기 위한 시그널링 컴포넌트를 더 포함하는, 에러 정정 인코더.
  12. 에러 정정 디코더에 있어서,
    제2 카테고리 페이로드 데이터와 제2 에러 정정 데이터를 포함하는 인터리빙된 데이터 스트림을 디인터리빙하기 위한 디인터리버; 및
    상기 디인터리버로부터 제1 카테고리 페이로드 데이터, 제1 에러 정정 데이터, 상기 제2 카테고리 페이로드 데이터, 및 상기 제2 에러 정정 데이터를 디인터리빙된 형태로 수신하고, 적어도 상기 제1 에러 정정 데이터를 이용하여 상기 제1 카테고리 페이로드 데이터 내의 잠재적인(possible) 에러들을 정정하며, 적어도 상기 제2 에러 정정 데이터를 이용하여 상기 제2 카테고리 페이로드 데이터 내의 잠재적인 에러들을 정정하기 위한 에러 정정기
    를 포함하며,
    상기 제1 에러 정정 데이터와 상기 제1 카테고리 페이로드 데이터의 인터리빙에 관한 제1 인터리빙 길이는 상기 제2 에러 정정 데이터와 상기 제2 카테고리 페이로드 데이터의 인터리빙에 관한 제2 인터리빙 길이와는 상이한, 에러 정정 디코더.
  13. 제12항에 있어서, 상기 제1 카테고리 페이로드 데이터와 상기 제1 에러 정정 데이터를 포함하는 인터리빙된 데이터 스트림의 상대적으로 짧은 섹션으로부터 상기 제1 카테고리 페이로드 데이터가 재구축될 수 있고, 상기 제2 카테고리 페이로드 데이터와 상기 제2 에러 정정 데이터를 포함하는 인터리빙된 데이터 스트림 또는 상기 인터리빙된 데이터 스트림의 상대적으로 더 긴 섹션으로부터 상기 제2 카테고리 페이로드 데이터가 재구축될 수 있게 되어, 상기 제2 카테고리 페이로드 데이터와 상기 제2 에러 정정 데이터가 상기 제2 카테고리 페이로드 데이터와 상기 제2 에러 정정 데이터를 포함하는 상기 인터리빙된 데이터 스트림의 상대적으로 짧은 섹션에 영향을 미치는 에러들에 대해 비교적 견고(robust)해지도록, 상기 제1 인터리빙 길이는 상기 제2 인터리빙 길이와는 상이한, 에러 정정 디코더.
  14. 제12항에 있어서, 상기 제1 카테고리 페이로드 데이터와 상기 제2 카테고리 페이로드 데이터는 의존성 관계를 통해 상호 연관되는, 에러 정정 디코더.
  15. 제14항에 있어서, 인코더-측 에러 정정 인코딩이 상기 제1 카테고리 페이로드 데이터와 상기 제2 카테고리 페이로드 데이터에 기초하여 상기 제2 에러 정정 데이터를 결정할 때, 상기 에러 정정기는 상기 제1 카테고리 페이로드 데이터 내의 잠재적인 에러 또는 잠재적인 에러들을 정정하기 위해 상기 제2 에러 정정 데이터를 이용하도록 구성되는, 에러 정정 디코더.
  16. 제12항에 있어서, 상기 제1 카테고리 페이로드 데이터는 페이로드 콘텐츠의 다중 기술 코딩(MDC)의 제1 기술부분(description)의 일부이며, 상기 제2 카테고리 페이로드 데이터는 상기 페이로드 콘텐츠의 상기 다중 기술 코딩의 제2 기술부분의 일부인, 에러 정정 디코더.
  17. 제12항에 있어서, 상기 제1 카테고리 페이로드 데이터는 스케일러블 비디오 코딩(SVC) 또는 멀티뷰 비디오 코딩(MVC) 방식의 기본 계층에 대응하고, 상기 제2 카테고리 페이로드 데이터는 상기 스케일러블 비디오 코딩 또는 멀티뷰 비디오 코딩 방식의 강화 계층에 대응하는, 에러 정정 디코더.
  18. 제12항에 있어서, 상기 제1 카테고리 페이로드 데이터는 오디오 데이터를 포함하고, 상기 제2 카테고리 페이로드 데이터는 비디오 데이터를 포함하는, 에러 정정 디코더.
  19. 제12항에 있어서, 상기 에러 정정기는 계층 인식 순방향 에러 정정(LA-FEC)을 수행하도록 구성되는, 에러 정정 디코더.
  20. 제12항에 있어서, 상기 제1 카테고리 페이로드 데이터, 상기 제1 에러 정정 데이터, 상기 인터리빙된 제2 카테고리 페이로드 데이터, 및 제2 에러 정정 데이터를 포함하는 멀티플렉싱된 데이터 스트림을 디멀티플렉싱하기 위한 디멀티플렉서를 더 포함하는, 에러 정정 디코더.
  21. 제12항에 있어서, 상기 제1 인터리빙 길이와 상기 제2 인터리빙 길이 중 적어도 하나에 관한 인터리빙 길이 정보를 인코더-측으로부터 수신하기 위한 시그널링 컴포넌트를 더 포함하는, 에러 정정 디코더.
  22. 에러 정정 인코딩 방법에 있어서,
    제1 카테고리에 속하는 페이로드 데이터를 수신하는 단계;
    제2 카테고리에 속하는 페이로드 데이터를 수신하는 단계;
    상기 제1 카테고리 페이로드 데이터를 위한 제1 에러 정정 데이터를 결정하는 단계;
    상기 제2 카테고리 페이로드 데이터를 위한 제2 에러 정정 데이터를 결정하는 단계; 및
    적어도 상기 제2 에러 정정 데이터와 상기 제2 카테고리 페이로드 데이터를 서로 인터리빙하는 단계
    를 포함하며,
    상기 제1 에러 정정 데이터와 상기 제1 카테고리 페이로드 데이터의 인터리빙에 관한 제1 인터리빙 길이는 상기 제2 에러 정정 데이터와 상기 제2 카테고리 페이로드 데이터의 인터리빙에 관한 제2 인터리빙 길이와는 상이한, 에러 정정 인코딩 방법.
  23. 제22항에 있어서, 상기 제1 카테고리 페이로드 데이터와 상기 제1 에러 정정 데이터를 포함하는 인터리빙된 데이터 스트림의 상대적으로 짧은 섹션으로부터 상기 제1 카테고리 페이로드 데이터가 재구축될 수 있고, 상기 제2 카테고리 페이로드 데이터와 상기 제2 에러 정정 데이터를 포함하는 다른 인터리빙된 데이터 스트림 또는 상기 인터리빙된 데이터 스트림의 상대적으로 더 긴 섹션으로부터 상기 제2 카테고리 페이로드 데이터가 재구축될 수 있게 되어, 상기 제2 카테고리 페이로드 데이터와 상기 제2 에러 정정 데이터가 상기 제2 카테고리 페이로드 데이터와 상기 제2 에러 정정 데이터를 포함하는 상기 인터리빙된 데이터 스트림의 상대적으로 짧은 섹션에 영향을 미치는 하나 이상의 데이터 에러들에 대해 비교적 견고(robust)해지도록, 상기 제1 인터리빙 길이는 상기 제2 인터리빙 길이와는 상이한, 에러 정정 인코딩 방법.
  24. 제22항에 있어서, 상기 제1 카테고리 페이로드 데이터와 상기 제2 카테고리 페이로드 데이터는 의존성 관계를 통해 상호 연관되는, 에러 정정 인코딩 방법.
  25. 제22항에 있어서, 상기 제1 카테고리 페이로드 데이터는 페이로드 콘텐츠의 다중 기술 코딩(MDC)의 제1 기술부분(description)의 일부이며, 상기 제2 카테고리 페이로드 데이터는 상기 페이로드 콘텐츠의 상기 다중 기술 코딩(MDC)의 제2 기술부분의 일부인, 에러 정정 인코딩 방법.
  26. 제22항에 있어서, 상기 제1 카테고리 페이로드 데이터는 기본 계층에 대응하고, 상기 제2 카테고리 페이로드 데이터는 스케일러블 비디오 코딩(SVC) 또는 멀티뷰 비디오 코딩(MVC) 방식의 강화 계층에 대응하는, 에러 정정 인코딩 방법.
  27. 제22항에 있어서, 상기 제1 카테고리 페이로드 데이터는 오디오 데이터를 포함하고, 상기 제2 카테고리 페이로드 데이터는 비디오 데이터를 포함하는, 에러 정정 인코딩 방법.
  28. 제22항에 있어서, 상기 에러 정정 데이터 생성기는 또한 상기 제1 카테고리 페이로드 데이터를 수신하고, 상기 제1 카테고리 페이로드 데이터와 상기 제2 카테고리 페이로드 데이터에 기초하여 상기 제2 에러 정정 데이터를 결정하여, 상기 제1 카테고리 페이로드 데이터의 디코더-측 에러 정정이 상기 제1 에러 정정 데이터와 상기 제2 에러 정정 데이터를 활용할 수 있도록 하고, 이에 따라 상기 제1 에러 정정 데이터만을 활용한 것에 비해 상기 제1 카테고리 페이로드 데이터에 대한 에러 정정 성능을 향상시키도록 구성되는, 에러 정정 인코딩 방법.
  29. 제22항에 있어서, 상기 에러 정정 데이터 생성기는 계층 인식 순방향 에러 정정(layer-aware forward error correction; LA-FEC)을 수행하도록 구성되는, 에러 정정 인코딩 방법.
  30. 에러 정정 디코딩 방법에 있어서,
    제2 카테고리 페이로드 데이터와 제2 에러 정정 데이터를 포함하는 인터리빙된 데이터 스트림을 수신하는 단계;
    상기 인터리빙된 데이터 스트림을 디인터리빙하는 단계;
    제1 카테고리 페이로드 데이터와 제1 에러 정정 데이터를 수신하거나 또는 획득하는 단계;
    적어도 상기 제1 에러 정정 데이터를 이용하여 상기 제1 카테고리 페이로드 데이터 내의 잠재적인 에러들을 정정하는 단계; 및
    적어도 상기 제2 에러 정정 데이터를 이용하여 상기 제2 카테고리 페이로드 데이터 내의 잠재적인 에러들을 정정하는 단계
    를 포함하며,
    상기 제1 에러 정정 데이터와 상기 제1 카테고리 페이로드 데이터의 인터리빙에 관한 제1 인터리빙 길이는 상기 제2 에러 정정 데이터와 상기 제2 카테고리 페이로드 데이터의 인터리빙에 관한 제2 인터리빙 길이와는 상이한, 에러 정정 디코딩 방법.
  31. 컴퓨터 상에서 구동될 때, 에러 정정 인코딩 방법을 수행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램이 저장된 컴퓨터 판독가능한 디지털 저장 매체에 있어서, 상기 에러 정정 인코딩 방법은,
    제1 카테고리에 속하는 페이로드 데이터를 수신하는 단계;
    제2 카테고리에 속하는 페이로드 데이터를 수신하는 단계;
    상기 제1 카테고리 페이로드 데이터를 위한 제1 에러 정정 데이터를 결정하는 단계;
    상기 제2 카테고리 페이로드 데이터를 위한 제2 에러 정정 데이터를 결정하는 단계; 및
    적어도 상기 제2 에러 정정 데이터와 상기 제2 카테고리 페이로드 데이터를 서로 인터리빙하는 단계
    를 포함하며,
    상기 제1 에러 정정 데이터와 상기 제1 카테고리 페이로드 데이터의 인터리빙에 관한 제1 인터리빙 길이는 상기 제2 에러 정정 데이터와 상기 제2 카테고리 페이로드 데이터의 인터리빙에 관한 제2 인터리빙 길이와는 상이한, 컴퓨터 판독가능한 디지털 저장 매체.
  32. 컴퓨터 상에서 구동될 때, 에러 정정 디코딩 방법을 수행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램이 저장된 컴퓨터 판독가능한 디지털 저장 매체에 있어서, 상기 에러 정정 디코딩 방법은,
    제2 카테고리 페이로드 데이터와 제2 에러 정정 데이터를 포함하는 인터리빙된 데이터 스트림을 수신하는 단계;
    상기 인터리빙된 데이터 스트림을 디인터리빙하는 단계;
    적어도 제1 에러 정정 데이터를 이용하여 제1 카테고리 페이로드 데이터 내의 잠재적인 에러들을 정정하는 단계; 및
    적어도 상기 제2 에러 정정 데이터를 이용하여 상기 제2 카테고리 페이로드 데이터 내의 잠재적인 에러들을 정정하는 단계
    를 포함하며,
    상기 제1 에러 정정 데이터와 상기 제1 카테고리 페이로드 데이터의 인터리빙에 관한 제1 인터리빙 길이는 상기 제2 에러 정정 데이터와 상기 제2 카테고리 페이로드 데이터의 인터리빙에 관한 제2 인터리빙 길이와는 상이한, 컴퓨터 판독가능한 디지털 저장 매체.
  33. 에러 정정 인코더에 있어서,
    페이로드 데이터를 수신하고, 상기 페이로드 데이터를 위한 에러 정정 데이터를 결정하기 위한 에러 정정 데이터 생성기;
    상기 에러 정정 데이터와 상기 페이로드 데이터를 인터리빙하기 위한 인터리버
    를 포함하며,
    상기 에러 정정 데이터는 인터리빙된 데이터 스트림 내에서 상기 페이로드 데이터에 선행하고, 페이로드 인터리빙 길이는 에러 정정 데이터 인터리빙 길이와는 상이한, 에러 정정 인코더.
  34. 제33항에 있어서, 특정 페이로드 데이터 블록으로부터의 모든 페이로드 데이터 아이템들은 대응하는 인터리빙된 데이터 블록에 삽입되며, 대응하는 에러 정정 데이터 아이템들은 상기 대응하는 인터리빙된 데이터 블록에 직접적으로 또는 간접적으로 선행하는 적어도 두 개의 인터리빙된 데이터 블록들에 삽입되는, 에러 정정 인코더.
  35. 에러 정정 디코더에 있어서,
    페이로드 데이터 및 상기 페이로드 데이터를 위한 에러 정정 데이터를 포함하는 인터리빙된 데이터 스트림을 디인터리빙하기 위한 디인터리버 ― 상기 에러 정정 데이터는 상기 인터리빙된 데이터 스트림 내에서 상기 페이로드 데이터에 선행하며, 페이로드 인터리빙 길이는 에러 정정 데이터 인터리빙 길이와는 상이함 ―; 및
    상기 페이로드 데이터와 상기 에러 정정 데이터를 수신하고, 상기 에러 정정 데이터를 이용하여 상기 페이로드 데이터 내의 잠재적인 에러들을 정정하기 위한 에러 정정기 ― 상기 페이로드 데이터만이 수신되고 상기 에러 정정 데이터가 손실된 경우 상기 페이로드 데이터는 활용가능하지만 에러발생이 가능함 ―
    를 포함하는, 에러 정정 디코더.
  36. 제35항에 있어서, 특정 페이로드 데이터 블록으로부터의 모든 페이로드 데이터 아이템들은 대응하는 인터리빙된 데이터 블록에 삽입되며, 대응하는 에러 정정 데이터 아이템들은 상기 대응하는 인터리빙된 데이터 블록에 직접적으로 또는 간접적으로 선행하는 적어도 두 개의 인터리빙된 데이터 블록들에 삽입되는, 에러 정정 디코더.
KR1020147017176A 2011-11-21 2012-11-21 계층 인식 순방향 에러 정정을 위한 인터리빙 KR101656969B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161562093P 2011-11-21 2011-11-21
US61/562,093 2011-11-21
PCT/EP2012/073261 WO2013076156A1 (en) 2011-11-21 2012-11-21 Interleaving for layer-aware forward error correction

Publications (2)

Publication Number Publication Date
KR20140097434A true KR20140097434A (ko) 2014-08-06
KR101656969B1 KR101656969B1 (ko) 2016-09-12

Family

ID=47324083

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147017176A KR101656969B1 (ko) 2011-11-21 2012-11-21 계층 인식 순방향 에러 정정을 위한 인터리빙

Country Status (6)

Country Link
US (1) US9473174B2 (ko)
EP (1) EP2783475B1 (ko)
JP (1) JP5908107B2 (ko)
KR (1) KR101656969B1 (ko)
CN (1) CN103947147B (ko)
WO (1) WO2013076156A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102048730B1 (ko) * 2011-11-30 2020-01-08 삼성전자주식회사 방송 데이터 송/수신장치 및 방법
KR20150096410A (ko) * 2012-12-17 2015-08-24 톰슨 라이센싱 강건한 디지털 채널들
WO2017003227A1 (ko) * 2015-07-01 2017-01-05 한국전자통신연구원 복수의 동작 모드들을 지원하는 타임 인터리버에 상응하는 방송 신호 프레임 생성 장치 및 방송 신호 프레임 생성 방법
CN104994388B (zh) * 2015-07-16 2018-07-06 兰州大学 改进的不等差错保护喷泉码构造方法
US10164738B2 (en) 2015-12-16 2018-12-25 Qualcomm Incorporated Interlacing method for high throughput forward error correction
US10110348B2 (en) * 2016-01-25 2018-10-23 Huawei Technologies Co., Ltd. Apparatus and method for multimedia content transmissions in multi-channel wireless networks
US10826539B2 (en) 2016-05-11 2020-11-03 Idac Holdings, Inc. Method and system for advanced outer coding
EP3316587A1 (en) * 2016-10-27 2018-05-02 Thomson Licensing Method for managing staggercast transmissions in a communication network comprising a central device and a plurality of user terminals
CN109150410B (zh) * 2018-10-30 2021-09-24 京信网络系统股份有限公司 数据传输方法和装置
US11424859B2 (en) * 2020-10-15 2022-08-23 Hewlett Packard Enterprise Development Lp Physical layer low-latency forward error correction

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010026714A (ko) * 1999-09-08 2001-04-06 박준일 극미세 분말 분쇄기
JP2003304510A (ja) * 2002-04-12 2003-10-24 Mitsubishi Electric Corp デジタル放送システム、デジタル放送送信機およびデジタル放送受信機
KR20090037920A (ko) * 2006-07-11 2009-04-16 노키아 코포레이션 스케일러블 비디오 코딩 및 디코딩
KR20100017587A (ko) * 2006-06-16 2010-02-16 삼성전자주식회사 디지털 방송 수신기 및 그 스트림 처리 방법

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990038141A (ko) 1997-11-03 1999-06-05 김영환 무선 비동기 전송모드에서 셀 페이로드 보호를 위한 가변율에러 제어방법
EP1030463B1 (en) * 1999-02-16 2007-01-31 Lucent Technologies Inc. Tuning scheme for code division multiplex broadcasting system
KR100584426B1 (ko) * 2001-12-21 2006-05-26 삼성전자주식회사 고속 패킷 이동통신시스템에서 심벌 매핑을 위한 인터리빙장치 및 방법
US8185785B2 (en) * 2006-11-28 2012-05-22 At&T Intellectual Property I, L.P. Broadcasting of digital video to mobile terminals
KR20090110310A (ko) * 2007-01-19 2009-10-21 코닌클리케 필립스 일렉트로닉스 엔.브이. 병렬 인코딩 및 디코딩을 이용한 단일 캐리어 블럭 송신 방법 및 시스템
JP5847577B2 (ja) 2008-05-07 2016-01-27 デジタル ファウンテン, インコーポレイテッド より低いレベルのパケット構造から導かれる記号識別子を用いた放送チャネル上の高品質ストリーム保護
US9077937B2 (en) * 2008-11-06 2015-07-07 Alcatel Lucent Method and apparatus for fast channel change
CA2818110C (en) * 2010-05-10 2016-07-26 Lg Electronics Inc. Apparatus for transmitting a broadcast signal, apparatus for receiving a broadcast signal, and method for transmitting/receiving a broadcast signal using an apparatus for transmitting/receiving a broadcast signal
KR20120018269A (ko) * 2010-08-20 2012-03-02 한국전자통신연구원 스테레오스코프 3차원 비디오 데이터의 다차원 계층 송수신 장치 및 방법
TW201223170A (en) * 2010-11-18 2012-06-01 Ind Tech Res Inst Layer-aware Forward Error Correction encoding and decoding method, encoding apparatus, decoding apparatus and system thereof
JP5991572B2 (ja) * 2011-02-28 2016-09-14 サン パテント トラスト 送信方法および送信装置
US20120236115A1 (en) * 2011-03-14 2012-09-20 Qualcomm Incorporated Post-filtering in full resolution frame-compatible stereoscopic video coding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010026714A (ko) * 1999-09-08 2001-04-06 박준일 극미세 분말 분쇄기
JP2003304510A (ja) * 2002-04-12 2003-10-24 Mitsubishi Electric Corp デジタル放送システム、デジタル放送送信機およびデジタル放送受信機
KR20100017587A (ko) * 2006-06-16 2010-02-16 삼성전자주식회사 디지털 방송 수신기 및 그 스트림 처리 방법
KR20090037920A (ko) * 2006-07-11 2009-04-16 노키아 코포레이션 스케일러블 비디오 코딩 및 디코딩

Also Published As

Publication number Publication date
CN103947147A (zh) 2014-07-23
EP2783475A1 (en) 2014-10-01
EP2783475B1 (en) 2017-11-15
KR101656969B1 (ko) 2016-09-12
CN103947147B (zh) 2018-02-13
JP2014533915A (ja) 2014-12-15
WO2013076156A1 (en) 2013-05-30
US20140250344A1 (en) 2014-09-04
US9473174B2 (en) 2016-10-18
JP5908107B2 (ja) 2016-04-26

Similar Documents

Publication Publication Date Title
KR101656969B1 (ko) 계층 인식 순방향 에러 정정을 위한 인터리빙
EP2145390B1 (en) Dynamic stream interleaving and sub-stream based delivery
US7751324B2 (en) Packet stream arrangement in multimedia transmission
KR101928413B1 (ko) 방송 및 통신 시스템에서 패킷 송수신 장치 및 방법
US8151305B2 (en) Mobile television broadcast system
Hellge et al. Layer-aware forward error correction for mobile broadcast of layered media
KR100898883B1 (ko) 컨텐츠의 부호화, 배신 및 수신 장치
JP5374768B2 (ja) 追加的なネットワーク抽象化層(nal)を用いるマルチメディア・データの保護方法
Huo et al. A tutorial and review on inter-layer FEC coded layered video streaming
EP2201691A1 (en) Scalable information signal, apparatus and method for encoding a scalable information content, and apparatus and method for error correcting a scalable information signal
Nazir et al. Expanding window random linear codes for data partitioned H. 264 video transmission over DVB-H network
Emara et al. Low-latency network-adaptive error control for interactive streaming
US20150006991A1 (en) Graceful degradation-forward error correction method and apparatus for performing same
KR102163338B1 (ko) 방송 및 통신 시스템에서 패킷 송수신 장치 및 방법
Nazir et al. Unequal error protection for data partitioned H. 264/AVC video streaming with Raptor and Random Linear Codes for DVB-H networks
Nazir et al. Unequal error protection for data partitioned H. 264/AVC video broadcasting
Pham et al. Unequal error protection of H. 264/AVC video bitstreams based on data partitioning and motion information of slices
Lamy-Bergot et al. Embedding protection inside H. 264/AVC and SVC streams
Nazir et al. Application layer systematic network coding for sliced H. 264/AVC video streaming
Bouabdallah et al. Evaluation of cross-layer reliability mechanisms for satellite digital multimedia broadcast
Nazir et al. Scalable broadcasting of sliced H. 264/AVC over DVB-H network
Kondrad et al. Cross-layer optimization of DVB-T2 system for mobile services
Rong et al. Multilayer Iterative FEC Decoding for Video Transmission over Wireless Networks
Nazir Multimedia communication over mobile IP wireless networks
KR20130039942A (ko) 패킷 데이터의 인코딩 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190830

Year of fee payment: 4