KR20030074386A - 에러 정정 코드를 삽입하며 데이터 스트림을 재구성하기위한 디바이스 및 방법, 및 해당 컴퓨터 프로그램 제품 - Google Patents

에러 정정 코드를 삽입하며 데이터 스트림을 재구성하기위한 디바이스 및 방법, 및 해당 컴퓨터 프로그램 제품 Download PDF

Info

Publication number
KR20030074386A
KR20030074386A KR10-2003-0015396A KR20030015396A KR20030074386A KR 20030074386 A KR20030074386 A KR 20030074386A KR 20030015396 A KR20030015396 A KR 20030015396A KR 20030074386 A KR20030074386 A KR 20030074386A
Authority
KR
South Korea
Prior art keywords
data
error correction
segment
fec
size
Prior art date
Application number
KR10-2003-0015396A
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 KR20030074386A publication Critical patent/KR20030074386A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • 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
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control

Abstract

본 발명은 데이터 스트림에 에러 정정 코드를 삽입하여 데이터 스트림을 재구성하기 위한 디바이스 및 방법, 및 그 제품에 관한 것이다. 본 발명은 네트워크(8)에서 패킷으로 송신하고자 하는 데이터 스트림(11) 내에 에러 정정 코드를 삽입하기 위한 디바이스(1), 데이터 스트림(13)을 재구성하기 위한 디바이스(9), 및 해당 방법 및 그 제품에 관한 것이다. 본 삽입 디바이스는, 데이터 스트림 내에 분산된 재동기화 표시자를 식별하기 위한 유닛(3)과, 이들 스트림 내에 있는 연속하는 세그먼트를 결정하기 위한 유닛(4)을 포함하며, 이 세그먼트는 두 개의 연속하는 재동기화 표시자 사이에 놓여 있는 데이터의 파티션을 형성한다. 또한 본 삽입 디바이스는 이들 세그먼트 각각에 에러 정정 코드 세트를 할당하기 위한 유닛(6)을 더 포함하며, 이들 에러 정정 코드 세트는 연속하는 임의의 2개의 연속하는 재동기화 표시자 사이에 크기가 감소하는 사이즈를 가진다. 바람직하게, 본 삽입 디바이스는 또한 데이터 인터리빙 유닛(7)을 더 포함한다.

Description

에러 정정 코드를 삽입하며 데이터 스트림을 재구성하기 위한 디바이스 및 방법, 및 해당 컴퓨터 프로그램 제품{DEVICE AND METHOD FOR INSERTING ERROR CORRECTING CODES AND FOR RECONSTRUCTING DATA STREAMS, AND CORRESPONDING PRODUCTS}
본 발명은, 에러 정정 코드를 데이터 스트림 내에 삽입하며 데이터 스트림을 재구성하기 위한 디바이스과 방법 뿐만 아니라 해당 제품(product)에 관한 것이다.
"스트리밍"이라고도 알려져 있는 멀티미디어 파일을 연속적으로 송신하기 위한 기술에 의해, 인터넷 서퍼(surfer)들은 멀티미디어 파일이 완전히 다운로드될 때까지 기다릴 필요 없이, 송신하는 동안에도 실시간으로 이 파일을 판독할 수 있다. 이것을 하기 위해, 파일 데이터는, 임계 사이즈보다 더 작은 사이즈의 패킷으로 서버로부터 클라이언트로 전송될 수 있도록 하기 위해, 작은 요소들로 종래 방식으로 잘려진다(chopped). 통상MTU_size로 표기되는 이 사이즈는 네트워크가 전송할 수 있는 최대 사이즈를 나타낸다. 이 사이즈는 네트워크의 물리적 상황(비동기 전송 모드(ATM); 인터넷 프로토콜 즉 IP; 와이어리스 통신, 등)과 같은 장비나 하드웨어적 고려 사항에 의해 그리고 소프트웨어적 고려 사항(네트워크를 구성하는 라우터)에 의해 결정된다.
실무적으로, (서로다른 성능을 갖는) 라우터와 트래픽(시간에 따라 매우 가변적인 비트율을 갖는, 인터넷 전송 제어 프로토콜 즉 TCP; 유저 데이터그램 프로토콜 즉 UDP...)의 불균일성(heterogeneity)으로 인해, 인터넷 네트워크는 로컬 정체 현상을 받게 되며, 이것은 특히 패킷 손실을 일으킨다.
디코더와 연관되는 클라이언트 레벨에서, 패킷의 손실은 (인터리빙 기술을 사용하는 경우에) 디코더가 수신하는 데이터에서 하나의 불연속점이나 수 개의 불연속점을 유발한다. 이때 디코더는, MPEG4 압축 표준에 따라 송신되는 비디오의 경우에서와 같이 화상 헤더 또는 만약 재동기화 마커가 존재한다면 재동기화 마커와 같은, 바이너리 트레인(다르게는 비트 스트림으로도 알려져 있음)의 특수한 워드에 스스로 재동기화하여야 한다. 이들 후자의 마커를 추가하는 것은 에러에 대해 로버스트니스(다르게는 에러 내성이라고도 알려져 있음)를 강화시키지만, (약 25바이트의) "오버헤드"라고도 알려져 있는 추가 쓰루풋을 부가시킨다. 따라서, 코딩 효율이 떨어지며 이에 의해 그 사용이 제한되게 한다.
아래에서, "재동기화 표시자(resynchronization indicators)"라는 표현은, 데이터 스트림 내에 삽입되고, 동기화가 (화상 헤더와 같은) 스트림의 시간의 변화에서의 동기화이든지 또는 (재동기화 마커와 같은, 하나의 동일한 시간 순간 동안에) 하나의 동일한 화상 내의 동기화이든지 간에, 바람직하게는 디코딩 처리 동안그 동기화를 수행하는 역할을 하는 표시자를 나타낼 것이다.
TCP 프로토콜은, 클라이언트가 인식하지 못한 손실 패킷을 체계적으로 재전송함으로써 패킷 손실의 문제를 치료할 수 있다. 그러나, 이 프로토콜은 비디오 스트리밍에는 거의 적합하지 않은데, 그 이유는 이 프로토콜이 허용가능하지 않은 재전송 지연(lag)과 지터(jitter) 값을 유발하기 때문이다. 그리하여 비디오 스트리밍에는 UDP 프로토콜이 선호된다.
손실에 대하여 UDP 스트림을 보호하기 위하여, 널리 보급된 기술은 리턴 경로를 갖지 않는 에러 정정 코드를 사용하는 것 또는 데이터 인터리빙을 갖는 FEC(Forward Error Correction code)를 사용하는 것이다. 이러한 FEC 는 특히 패리티 코드 또는 리드 솔로몬 코드로 구성될 수 있다. 이들은 미리 정의된 중복 레벨(predefined level of redundancy)을 도입하여 손실 패킷을 재구성할 수 있게 한다.
이런 에러 정정 기술에는 두 가지 타입: 즉
- 각 데이터 패킷을 균일하게 보호하는, 균일한 보호를 하는 인터리빙 기반 절차 즉 ELP(Equal Lost Protection) 인터리빙 기술과,
- 패킷의 데이터 타입에 따라, 바이너리 트레인의 특정 부분을 다른 부분보다 더 보호하는, 가변 보호를 하는 인터리빙 기반 절차 즉 ULP(Unequal Lost Protection) 인터리빙 기술
로 대별된다.
가변 보호를 하는 다른 종류의 방법은 문헌 EP-A-0,936,772에 개시되어 있으며, 이 문헌은 오디오 코더에 대한 ULP 보호 기술을 개시한다. 이 문헌의 내용에 따르면, 재구성된 오디오 신호의 인식된 품질에 대한, 에러 감도, 즉 오디오 데이터 내의 에러의 영향에 기초하여, 오디오 데이터 중에 n 개의 개별 등급이 구별된다. 각 데이터 등급에는 서로 다른 에러 보호 레벨이 할당된다. 예를 들어, 각 데이터 패킷에는, 신호의 스테레오 분리를 위해 사이드 채널에 관한 비트와 중앙 채널에 관한 비트를 구별하거나 다르게는 미리 정의된 주파수 범위와 연관된 비트를 구별한다.
그 방법은, 데이터를 분배하며 에러 보호 프로파일의 정의를 가능하게 할 수 있는 분류기(classifier)에 의하여 구현되는, 오디오 정보 스트림의 여러 비트에 대해 그 소속 등급의 섬세한 구별에 의지한다. 이때 그 프로파일은 제어 정보로서 수신기에 송신된다.
하지만, 손실 패킷의 일부를 재구성하는 것에 의해 사용가능한 데이터 사이즈는 기대되는 것보다 더 작게 되는 것으로 밝혀졌다. 구체적으로, 패킷을 적절히 동기화시키는 것이 가능하지 않으면서 패킷이 재구성될 때, 이들 패킷은 일반적으로 사용할 수 없게 된다. (화상 헤더나 재동기화 마커와 같은) 재동기화 표시자를 손실할 위험을 줄이기 위해, 이들 표시자에 더 높은 보호 레벨을 부여하면서 ULP 인터리빙 절차를 적용하는 것도 가능하다. 그렇지만 재구성의 효율은 여전히 제한되는데, 그 이유는 동기화된 패킷의 체인 내의 임의의 방해 동작에 의해 그 다음 재동기화 표시자까지 연속하는 패킷을 손상시키기 때문이다.
문헌 EP-A-0,936,772에 개시된 바와 같이, 각 패킷 내 여러 종류의 데이터사이의 섬세한 구별에 의하여 가변 보호를 추가적으로 적용하는 것은 그 곤란성을 해소하지는 않으면서 그 구현의 복잡성을 상당히 증가시키게 한다.
본 발명은, 에러 정정 코드를 데이터 스트림 내에 삽입하기 위한 디바이스에 관한 것으로, 이에 의해, 알려져 있는 ELP 인터리빙 절차와 ULP 인터리빙 절차와 비교해 볼 때 수신기에서 사용될 수 있는, 재구성의 효율, 즉 평균 데이터 사이즈를 증가시킬 수 있게 한다.
본 발명의 디바이스는 환경에 따라 구현되는 기술에 맞출 수 있는 정확한 제어 파라미터를 제공할 수 있으면서 그 결과에 상당한 개선을 부여할 수 있다. 본 디바이스는 복잡한 발전과 복잡한 구현을 요구하지 않으면서, UDP 타입의 스트림에 대한 종래의 스트리밍 기술의 구현을 가능하게 하는 아키텍처에 기초를 두고 있다.
또한 본 발명은 전술한 잇점을 갖는 삽입 방법과 해당 데이터 스트림 재구성 디바이스 및 방법에 관한 것이다. 더욱이 본 발명은 디지털 신호와 컴퓨터 프로그램에 적용된다.
따라서, 본 발명의 주제는 네트워크에서 패킷으로 송신하고자 하는 적어도 하나의 데이터 스트림 내에 에러 정정 코드를 삽입하기 위한 디바이스에 있다. 이들 스트림 각각은 스트림에 분산된 재동기화 표시자를 포함하며 임의의 두 개의 연속하는 재동기화 표시자 사이에 놓여 있는 데이터는 데이터 블록을 구성한다. 에러 정정 코드를 삽입하기 위한 디바이스는,
- 스트림에서 연속하는 데이터 세그먼트를 결정하기 위한 유닛과,
- 바람직하게는 FEC 코드 타입의, 이들 세그먼트 각각에, 에러 정정 코드 세트로서, 이들 에러 정정 코드 세트는 세그먼트에 따라 좌우되는 가변 사이즈를 가지는, 상기 에러 정정 코드 세트를 할당하기 위한 유닛
을 포함한다.
본 발명에 따라, 삽입 디바이스는 재동기화 표시자를 식별하기 위한 유닛을 더 포함하며, 세그먼트를 결정하기 위한 유닛은 상기 데이터 블록의 분할을 수행함으로써 세그먼트를 결정하도록 설계되며, 에러 정정 코드를 할당하기 위한 유닛은 임의의 두 개의 연속하는 재동기화 표시자 사이의 코드 세트에 크기가 감소하는 사이즈를 할당하도록 설계된다.
이하에서 업스트림과 다운스트림의 재동기화 표시자로 각각 언급되는 관련 스트림의 임의의 두 개의 연속하는 재동기화 표시자(두 개의 "연속하는 "표시자는 서로 바로 다음에 오는 표시자이며 두 표시자 사이에 중간 표시자는 없다) 사이에서 코드 세트의 사이즈가 "감소한다"는 것을 말하는 것을 통해,
- 업스트림 재동기화 표시자의 바로 다운스트림에 있는 세그먼트와 연관된 코드 세트의 사이즈는 다운스트림 재동기화 표시자의 바로 업스트림에 있는 세그먼트와 연관된 코드 세트의 사이즈보다 엄격히 더 크다는 것과,
- 업스트림과 다운스트림의 재동기화 표시자 사이에 놓여있는 데이터 블록의 연속하는 세그먼트와 각각 연관된 코드 세트의 사이즈는 증가하지 않는 것으로서, 일정하거나 엄격히 감소한다는 것
을 의미한다.
따라서, 본 발명에 따르면, 스트림 내의 데이터의 위치에 따라 가변되는 보호 레벨이 데이터에 적용되며, 두 개의 연속하는 업스트림과 다운스트림의 재동기화 표시자 사이에 놓여 있는 각 데이터 블록에서, 패킷이 업스트림 재동기화 표시자에 더 가까이 있으면 있을수록, 패킷이 더 높게 보호를 받는다("더 높게" 는 아마 특정 부분에 대해 정적인 보호 레벨을 의미한다). 이 실시예는, 데이터의 타입에 따라 보호 레벨이 달라지는, (EP-A-0,936,772의 문헌과 같은) 가변 보호를 하는 다른 방법이나 ULP 인터리빙 타입의 알려진 절차와 예기치 않게 대비를 이룬다.
본 발명의 디바이스는 재동기화 표시자에 대한 패킷의 위치에 따라 패킷의 손실의 다소 손상되는 결과를 고려할 수 있다. 이것은 도 1a 및 도 1b에 예시되어 있으며, 도 1a 및 도 1b 는 데이터 스트림(12)에서 두 개의 재동기화 마커, 즉 각각 업스트림 RMi및 다운스트림 RMi+1사이에 놓여 있는 데이터 블록(B)을 도식적으로 나타낸다. 이들 도면에 나타나 있는 여러 엔티티(entity)의 치수는 순수하게 예시적인 것이다. 예에 의해 블록(B)은 4개의 연속하는 데이터 세그먼트(SM1, SM2, SM3, 및 SM4)로 분할된다. 스트림(12)의 다른 블록도 유사한 방식으로 구성되는 것으로 가정된다.
불연속점(discontinuity)(DIS-A)을 만드는 블록(B)의 마지막 세그먼트(SM4)의 손실(도 1a)은, 다른 세그먼트(SM1, SM2, 및 SM3)에 해로운 것은 아니다. 따라서, 사용가능한 데이터는 블록(B)의 대다수를 차지하는 길이(LA)를 가진다. 다른 한편, 불연속점(DIS-B)을 만드는 제 2 세그먼트(SM2)의 손실(도 1b)은 또한 블록(B) 이하의 세그먼트(SM3 및 SM4)를 사용할 수 없게 하는데, 그 이유는 수신시에 세그먼트의 내용을 정확하게 동기화할 수 없기 때문이다. 그리하여 블록(B)의 사용가능한 데이터는 정확히 디코딩될 수 있는 유일한 세그먼트, 즉 세그먼트(SM1)만의 길이(LB)로 줄어든다.
그러므로 업스트림 재동기화 표시자(이 경우에는 마커 RMi)에서 떨어져 있는 거리의 함수로서 감소하는 보호가 특별히 현명한 것으로 보인다.
이 예상치 못한 것에 더하여, 본 발명의 디바이스는 이 문제에 대해 전적으로 종래의 접근법과 반대로 행한다. 구체적으로, 위에 지시한 바와 같이, 데이터를 보호하는 표준 기술은 데이터 패킷을 인터리빙하는 기술(ELP 인터리빙 또는 ULP 인터리빙 절차)에 기초를 두고 있으며, 이것은 유용한 정보와 중복 정보의 접속 손실(joint loss)의 위험을 상당히 줄여줄 수 있다. 이제, 패킷의 위치의 함수로서 변하는 FEC 코드의 사이즈에 종래의 ULP 인터리빙을 단순히 적용하는 것은 이 상황을 개선하지 못할 뿐만 아니라 더 악화시킨다.
예시를 통해, 우리는 전술한 (도 1a 및 도 1b를 참조하는) 예로 되돌아가 ELP 인터리빙 절차(도 2a)의 적용을 고려해 볼 것이다. 4개의 세그먼트(SM1...SM4)가 동일한 사이즈를 가지며 그리고 또한 일정한 사이즈의 FEC1 ... FEC4로 표기된 FEC 코드 세트와 각각 연관된 경우, 세그먼트 SMj(그리고 이것은 간단하게 하기 위해 또한 SMj로도 표기됨)와 연관된 데이터와, 이 세그먼트와 연관된 코드 세트(FECj)로 각각 형성된 시퀀스(Sj)(여기서 j=1, 2, 3, 또는 4)를 정의한다. 이들 시퀀스(Sj)는 인터리빙에 사용되는 그룹(G0)을 형성한다. 동일한 사이즈를 갖는 패킷(P0)을 구성하기 위해, 시퀀스(S1 내지 S4)의 일정한 사이즈 부분이 각각 병렬배치된다(juxtaposed).
블록(B)의 부분에 따라 가변 보호 레벨을 구현하는 ULP 인터리빙 버전(도 2b)에서, 이 분야에서 알려져 있는 절차는 그룹(G'0)을 구성하기 위해 일정한 사이즈를 갖는 시퀀스(S'1 ...S'4)를 정의함으로써 교체된다. 각 시퀀스(S'j)는 세그먼트(SM'j)(그리고 또한 간단하게 하기 위해 SM'j로도 표기됨)와 연관된 데이터와, FEC'j로 표기되는 FEC 코드 세트로 형성되며, 여기서 세트 FEC'j 는 업스트림 마커(RMi)와 연관된 세그먼트(SM'j)로부터 떨어져 있는 거리의 함수로서 감소하는 사이즈를 갖는다. 이리하여, 제 1 세트 FEC'1 는 최대 사이즈를 가지며, 제 4 FEC'4 는 최소 사이즈를 가지며, 제 2 및 제 3 세트 FEC'2 및 FEC'3 은 중간 사이즈를 가진다. 세그먼트(SM'j)와 연관된 데이터는 결과적으로 반대 동작을 가진다.
더욱이, 블록(B)이 미리 정의되어 있다면, 이들 세그먼트 SM'j 는 블록의 새로운 분할(partition)을 구성하며, 그리하여 세그먼트 SM'j의 총 사이즈는 ELP 인터리빙 절차의 세그먼트 SMj의 총 사이즈와 동일한 사이즈이다. 게다가, ELP 기술과 ULP 기술을 정확하게 비교할 수 있기 위하여, 두 경우에서 블록(B)에 대해 FEC 코드의 동일한 총 용량이 사용된다. 실무적으로는, 제 4 세그먼트용으로 설계된 보호 부분을 제 1 세그먼트로 단순히 전송한다. ELP 인터리빙 절차에 관한 한, 패킷(P'0)은 4개의 시퀀스(S'1 ... S'4)의 일정한 사이즈 부분을 각각 병렬 배치함으로써 이후 구성된다.
본 발명의 새로운 개념에 표준 규정을 적용함으로써 이렇게 얻어진 ULP 인터리빙 절차의 효율은 ELP 인터리빙 절차와 비교해 볼 때 효율의 손실이 일어나는 것을 확인할 수 있다. 구체적으로, 블록 B에서 두 개의 패킷과 세 개의 패킷을 손실할 확률을 각각 p2와 p3라고 표기(p3 < p2)하고, 세그먼트 SMj 와 세그먼트 SM'j 의 사이즈를 LSMj와 LSM'j라고 각각 표기하면,
- 3개의 패킷을 손실하는 경우에, 블록 B의 모든 세그먼트를 손실하는 것이 아니라, 사이즈 LSM'1의 1번째 세그먼트가 유지되므로, ULP 인터리빙 절차와 비교해 볼 때 ELP 인터리빙의 통계적 이득은 p3×LSM '1의 곱으로 주어지며;
- 그러나, 2개의 패킷을 손실하는 경우에는, 블록 B의 모든 세그먼트를 유지하는 것이 아니라 사이즈 LSM4의 4번째 세그먼트가 손실되므로, 그 통계적 손실은 p2×LSM4로 주어져서;
- 그 결과, 그 차이는 (p3 ×LSM'1- p2 ×LSM4)와 같으며, 이는 음의 값이 된다.
이 예의 결과는 일반화될 수 있는데, 그 이유는 증가된 사이즈의 다운스트림 세그먼트의 덜 우수한 보호에 의해 줄어든 사이즈의 업스트림 세그먼트의 더 높은 보호를 상쇄시키고 패킷의 손실이 업스트림의 보안 조치에 의해 보상되지 않는 해로운 다운스트림을 유발시키기 때문이다.
그리하여 본 발명의 디바이스는, 알려진 방법에 따라 이 경로를 탐구하는 누구에게도 클립플링(crippling)되는 것으로 보일 수 있는 것과는 반대로 행하기 때문에, 기대되지 않은 것일 뿐만 아니라, 놀라운 것이다. 아래에 언급되는 실시예와 상세한 설명에 의해 독자들은 본 발명의 디바이스는 그럼에도 불구하고 ELP 인터리빙 절차와 비교해볼 때 실질적 이득을 얻을 수 있게 한다는 것을 알 수 있을 것이다.
바람직하게, 재동기화 표시자는 재동기화 마커 및/또는 화상 헤더를 포함한다.
바람직한 실시예의 형태에서, 본 삽입 디바이스는 데이터 시퀀스 그룹을 결정하며 패킷을 이들 시퀀스 부분에 병렬 배치하여 형성할 수 있는 데이터 인터리빙 유닛을 더 포함한다.
본 발명의 디바이스는, 사실 특별히 데이터 인터리빙에 맞춰진 것이며, 이것은, 비록 전술한 결과가 독자로 하여금 그 반대의 경우를 생각나게 할 수도 있을지라도, 보다 전통적인 형태에서와 같이 유용한 정보와 이와 연관된 중복 정보의 접속 손실의 위험(그리하여 치유할 수 없는 손실 위험)을 상당히 줄여줄 수 있게 해준다.
그러나, 데이터 인터리빙은 반드시 필요한 것이 아니며 그리고 변형 실시예에서, 패킷은 데이터로부터 순차적으로 형성되어, 각 세그먼트와 에러 정정 코드의 각 세트의 사이즈는 패킷의 사이즈보다 더 크다는 것을 보증해준다. 구현하기에 더 간단한 이 변형예는 인터리빙으로 얻을 수 있는 것보다도 더 낮은 성능을 가진다.
인터리빙을 갖는 실시예에서, 데이터 인터리빙 유닛은, 각 시퀀스가 세그먼트 중 하나와 이 세그먼트와 연관된 에러 정정 코드의 세트로 이루어지도록 한 것이다. 이리하여 패킷의 형성을 제어할 가능성이 개선되며 그 구현이 더 손쉽게 된다.
시퀀스의 이 정의와 두 개의 특히 유리한 실시예의 형태는 구분된다. 인터리빙의 제 1 형태에 따르면, 데이터 인터리빙 유닛은,
- 시퀀스 그룹 각각에 대하여, 시퀀스, 세그먼트, 코드 세트, 패킷 및 시퀀스 부분이 일정한 사이즈를 각각 가지며,
- 이 시퀀스 그룹과 연관된 패킷 각각은 이 그룹의 모든 시퀀스 부분을 병렬 배치시키는 것에 의해 형성되도록
할 수 있다.
통상적이지 않은 인터리빙 타입을 나타내는 본 실시예는, 전술한 곤란성을 극복하며 인터리빙의 잇점과 재동기화 표시자에 대한 패킷의 위치에 따라 가변되는 보호 레벨의 잇점을 조합할 수 있게 한다. 사실 ELP 인터리빙 기술과 비교해 볼 때 상당한 효율의 개선을 얻을 수 있다는 것을 알 수 있다. 이 해법의 성공은 다음 방식으로 설명된다: 인터리빙에 사용되는 각 시퀀스 그룹에서, FEC 코드는 일정한 사이즈를 가진다. 그리하여, 패킷의 손실은 이 그룹의 모든 시퀀스에 대해 균일한 결과를 가지며, 이 방식에서 특정 시퀀스에 대한 보호를 약화시키는 유해함을 피하게 한다. 게다가, 재동기화 표시자에 대한 위치에 좌우되는, 시퀀스 그룹이라고 언급되는, 가변 보호 레벨은 동기화의 결여로 인해 데이터를 사용가능하지 않게 할 위험을 줄여준다. 간단하게 하기 위하여 본 실시예는 "그룹 보호"를 구현하는 것으로 나타낸다.
유리하게, 이때 데이터 인터리빙 유닛은, 각 데이터 블록에 대하여, 이 블록과 연관된 시퀀스 중 적어도 하나를 포함하는, 시퀀스의 모든 그룹에 포함된 세그먼트가 일정한 사이즈를 가지도록 한다.
이것에 의해 각 블록에서 보호 레벨를 더 우수하게 제어할 수 있게 되는데, 그 이유는 이 블록과 연관된 시퀀스 그룹 각각에 있는 에러 정정 코드 세트의 사이즈가 에러 정정 코드의 비율을 정확히 나타내기 때문이다.
각 시퀀스가 세그먼트와 이와 연관된 코드 세트로 구성되는 인터리빙의 제 2 형태에 따르면, 데이터 인터리빙 유닛은,
- 세그먼트, 패킷, 및 부분이 일정한 사이즈를 각각 가지며, 에러 정정 코드 세트와 시퀀스는 가변적인 사이즈를 가지며,
- 시퀀스 그룹은 적어도 두 개의 시퀀스 서브그룹으로 구성되며, 여기서 서브그룹은 적어도 두 개의 연속하는 데이터 블록과 각 연관된 것이며,
- 이 시퀀스 그룹과 연관된 각 패킷은 이 그룹의 구분되는 시퀀스 부분을 각각 병렬 배치치시키는 것에 의해 형성되도록
할 수 있다.
또한 본 실시예는, 각 시퀀스 그룹에 있는 수 개의 블록에 대해 가변 사이즈의 시퀀스와 접속 허용오차를 갖는 통상적이지 않은 인터리빙 형태를 구성한다. 그 성공은 그룹 내에 코드 세트의 가변적인 사이즈에도 불구하고, 데이터 세그먼트의 사이즈의 일관성(constancy)에 의하여 그리고 하나의 서브그룹으로부터 그 다음 서브그룹으로 패킷의 종료의 구성을 전송할 잠재가능성(potentiality)에 의하여 설명된다. 간단하게 하기 위하여 본 실시예는 "시간 체인(temporal chaining)"을 구현하는 것으로 나타낸다. 삽입 디바이스는 바람직하게는 전술한 인터리빙 형태 모두를 사용한다.
더욱이, 데이터 인터리빙 유닛은, 시퀀스 그룹의 적어도 하나의 그룹이 수 개의 연속하는 데이터 블록과 연관된 시퀀스를 포함하며, 각 패킷이 모든 이들 블록과 연관된 시퀀스 부분에 병렬 배치되는 것에 의해 형성되도록 유리하게 할 수 있다. 이 인터리빙 모드는 전술한 제 1 또는 제 2 형태와 결합될 수 있다. 간단하게 하기 위하여 이 실시예는 "시간 인터리빙(temporal interleaving)"을 구현하는 것으로 나타낸다.
삽입 디바이스는 전술한 수개의 인터리빙 모드를 실행하는 성능을 갖는 것이 특히 유리한데, 그 이유는 고려되는 스트림과 네트워크의 특성의 함수로서 인터리빙 전략을 맞추는 것이 가능하기 때문이다. 따라서, 바람직한 구현에서, 블록 사이즈는 "작은" 사이즈, "중간" 사이즈 및 "큰" 사이즈의 블록을 각각 정의하는 3개의 간격으로 분할된다. 이들 간격의 제한은 패킷의 사이즈(네트워크의 특성에 좌우됨)와, 각 블록의 세그먼트의 수(코딩과 디코딩에 관한 처리 성능에 특히 좌우됨)와, 구현되는 보호 레벨의 함수로서 특히 선택된다. 이하의 인터리빙 절차는 각 간격과 연관된다:
- 큰 사이즈 블록: 시간 인터리빙 없는 인터리빙의 제 1 형태(그룹 보호);
- 중간 사이즈 블록: 시간 인터리빙 없는 인터리빙의 제 2 형태(시간 체인);
- 작은 사이즈 블록: 시간 인터리빙 있는 인터리빙의 제 1 형태(그룹 보호).
본 구현예는, 큰 사이즈에 대해서는 부하("페이로드")의 간단성을 제공하며, 중간 사이즈에 대해서는 시간 인터리빙을 피하게 하며, 작은 사이즈에 대해서는 과도하게 복잡한 헤더를 피하게 한다. 변형 구현예에서, 언급된 기술 중 두 개의 기술을 각각 이들과 연관시킴으로써 3개 대신에 단 두 개의 블록 사이즈 간격만이 정의된다. 유리하게, 인터리빙 유닛은 블록의 사이즈의 함수(즉 재동기화 표시자의 주기의 함수)로서 인터리빙 절차를 자동적으로 선택하기 위한 수단을 포함한다.
바람직하게는, 각 시퀀스는 세그먼트와 이와 연관된 에러 정정 코드 세트로 구성되므로, 삽입 디바이스는 사이즈를 계산하기 위한 유닛을 더 포함하며, 이 유닛은 유리하게는 RTCP(Real-Time Control Protocol) 프로토콜에 따라 리포트(reports)에 포함된 데이터에 의하여 네트워크의 업데이트된 손실 모델의 추정의 함수로서 해당 세그먼트의 사이즈에 대하여 에러 정정 코드의 세트의 사이즈를 계산하도록 설계된다.
이리하여 코드 세트의 사이즈 파라미터는 연속하는 재동기화 표시자 사이에 보호 레벨을 감소시키는 구조에 특히 맞추는 것에 의해 특히 효과적인 방식으로 사용될 수 있다.
유리하게는:
- 본 삽입 디바이스는 데이터 타입을 인식하는 유닛을 더 포함하며,
- 세그먼트를 결정하기 위한 유닛은 이 데이터 타입에 따라 세그먼트를 설정할 수 있으며,
- 코드를 할당하기 위한 유닛은 이들 세트에 대응하는 세그먼트의 데이터 타입의 함수로서 에러 정정 코드 세트의 사이즈에 가중치를 주도록 설계된다.
이 절차의 효율은 이리하여 이것에 전통적인 ULP 인터리빙 기술과 결합시키는것에 의해 개선된다. 실무적으로, 본 실시예는 위치 의존 가변 보호 절차를 데이터 타입 각각에 개별적으로 적용하는 것으로 된다. 이 데이터의 타입은 이때 압축된 디지털 비디오 데이터의 이하의 요소: 즉
- I, P, 또는 B 타입의 화상;
- 헤더, 움직임 벡터, 또는 텍스쳐 타입 분할 엔티티; 및/또는
- 기저(base) 층 또는 선택적인 개선 층 타입의 층
중에서 바람직하게 선택된다.
또한 본 발명은 네트워크에서 패킷으로 송신하고자 하는 적어도 하나의 데이터 스트림 내에 에러 정정 코드를 삽입하기 위한 방법에 관한 것이다. 각 데이터 스트림은 이 스트림에 분산된 기준 재동기화 표시자를 포함하며, 임의의 두 개의 연속하는 재동기화 표시자 사이에 놓여 있는 데이터는 데이터 블록을 구성한다. 에러 정정 코드를 삽입하기 위한 방법은, 다음의 단계, 즉
- 스트림에서 연속하는 데이터 세그먼트를 결정하는 단계와,
- 각 세그먼트에, 세그먼트에 따라 가변되는 사이즈를 가지는 에러 정정 코드 세트를 할당하는 단계
를 포함한다.
본 발명에 따라, 본 삽입 방법은 또한, 재동기화 표시자를 식별하기 위한 단계를 더 포함하며, 데이터 세그먼트는 데이터 블록의 분할을 수행함으로써 결정되며, 감소하는 사이즈는 임의의 2개의 연속하는 재동기화 표시자 사이의 코드 세트에 할당된다.
본 방법은 본 발명의 어느 하나의 실시예에 따른 삽입 디바이스에 의하여 바람직하게 구현된다.
본 발명은 적어도 하나의 데이터 스트림에 관한 디지털 신호에 더 적용된다. 이 데이터 스트림 각각은 이 스트림 내에 분산된 기준 재동기화 표시자를 포함되며, 임의의 두 개의 연속하는 재동기화 표시자 사이에 놓여 있는 데이터는 데이터 블록을 구성한다. 디지털 신호는 스트림에서 연속하는 데이터 세그먼트와 그 세그먼트에 각각 할당된 에러 정정 코드 세트를 나타내는 정보를 포함하며, 이 코드 세트는 세그먼트에 따라 가변되는 사이즈를 가진다.
본 발명에 따라 데이터 세그먼트는 데이터 블록의 분할을 형성하며 코드 세트는 임의의 두 개의 연속하는 재동기화 표시자 사이에 감소하는 사이즈를 가진다.
이 디지털 신호는 바람직하게는 본 발명의 어느 하나의 실시예에 따른 삽입 디바이스에 의하여 얻어진다.
또한 본 발명은 네트워크로부터 유래하는 패킷으로 수신되는 디지털 신호로부터 데이터 스트림을 재구성하기 위한 디바이스에 관한 것으로 이 디지털 신호는 스트림에서 연속하는 데이터 세그먼트와 이 세그먼트에 각각 할당된 에러 정정 코드 세트를 나타내는 정보를 포함한다. 본 재구성 디바이스는:
- 수신되는 패킷에 대한 데이터 세그먼트와 에러 정정 코드 세트를 나타내는 정보로부터 손실 패킷의 데이터 세그먼트를 재구성하기 위한 유닛으로서, 이 재구성 유닛은 세그먼트에 따라 가변되는 사이즈의 에러 정정 코드 세트에 작용할 수 있는, 재구성 유닛과,
- 수신되어 재구성되는 데이터 세그먼트를 정렬하기 위한 유닛과,
- 패킷에 포함된 기준 재동기화 표시자에 의하여 데이터 세그먼트를 동기화하기 위한 유닛
을 포함한다.
본 발명에 따라, 본 재구성 유닛은 임의의 두 개의 기준 재동기화표시자 사이의 감소하는 사이즈의 에러 정정 코드 세트에 작용하도록 설계된다.
이 재구성 디바이스는 바람직하게는 본 발명의 신호에 따라 신호를 재구성하도록 설계된다.
또한 본 발명은 네트워크에서 유래하는 패킷으로 수신되는 디지털 신호로부터 데이터 스트림을 재구성하기 위한 방법에 관한 것으로, 이 디지털 신호는 스트림에서 연속하는 데이터 세그먼트와 이 세그먼트에 각각 할당된 에러 정정 코드 세트를 나타내는 정보를 포함하며, 이 코드 세트는 세그먼트에 따라 가변되는 사이즈를 가진다. 본 재구성 방법은, 다음의 단계, 즉
- 수신되는 패킷에 대한 데이터 세그먼트와 에러 정정 코드 세트를 나타내는 정보로부터 손실 패킷의 데이터 세그먼트를 재구성하는 단계와,
- 수신되어 재구성되는 데이터 세그먼트를 정렬하는 단계와,
- 패킷에 포함된 기준 재동기화 표시자에 의하여 데이터 세그먼트를 동기화하는 단계
를 포함한다.
본 발명에 따라, 데이터 스트림은 임의의 두 개의 연속하는 재동기화 표시자 사이에서 감소하는 사이즈의 에러 정정 코드 세트로부터 재구성된다.
이 재구성 방법은 바람직하게는 본 발명에 따른 재구성 디바이스에 의하여 구현된다.
또한 본 발명의 주제는 이 프로그램이 컴퓨터 상에서 실행될 때 본 발명에 따라 에러 정정 코드를 삽입하는 방법이나 데이터 스트림을 재구성하는 방법의 단계를 실행하기 위한 프로그램 코드 명령을 포함하는 컴퓨터 프로그램 제품(product)이다.
"컴퓨터 프로그램 제품"이라는 표현은, 하드웨어 타입(디스크, 디스켓, 카세트, 등) 또는 신호 형태(전자 신호, 전자기 신호, 광 신호, 등)이든 간에 이 프로그램을 위한 임의의 매체(medium)를 의미하는 것으로 이해된다.
본 발명은, 첨부된 도면을 참조하여, 제한하지 않는 방식인, 다음의 예시적인 실시예와 구현예에 의하여 보다 더 잘 이해되고 예시될 것이다.
도 1a 는 두 개의 연속하는 재동기화 표시자 사이에 있는 데이터 블록과, 실제로 사용될 수 있는 데이터에 대한 이 블록의 다운스트림 세그먼트의 손실의 영향을 나타내는 기본 도면.
도 1b 는 실제로 사용될 수 있는 데이터에 대한 도 1a의 블록의 업스트림 세그먼트의 손실의 영향을 보여주는 도면.
도 2a 는 도 1a 및 도 1b의 블록을 포함하는 스트림에, (4개의 세그먼트로 분할하는) ELP 인터리빙 절차의 적용을 예시하는 도면.
도 2b 는 도 1a 및 도 1b의 블록을 포함하는 스트림에, 재동기화 표시자에 대한 데이터의 위치에 따라 좌우되는 가변 사이즈의 FEC 코드를 갖는 (4개의 세그먼트로 분할하는) 인터리빙 절차의 적용을 예시하는 도면.
도 3 은 본 발명에 따라 에러 정정 코드를 삽입하기 위한 디바이스와, 네트워크를 통하여 통신하며 스트림을 재구성하기 위한 디바이스를 나타내는 블록도.
도 4 는 재동기화 표시자에 대한 데이터의 위치에 따라 좌우되는 가변 사이즈의 FEC 코드를 갖는 제 1 인터리빙 기술(그룹 보호 타입의 기술)을 적용하기 위해 도 3의 삽입 디바이스에 의해 사용되는 4개의 시퀀스 그룹을 나타내는 도면.
도 5 는 가우시안 손실 모델에 따라, 종래의 ELP 인터리빙 절차에 의해 그리고 도 4의 기술에 의해 각각 얻어지는, FEC 보호 효율(수신기에 의해 사용될 수 있는 데이터의, 전체 사이즈에 대해, 중간 사이즈)을, 에러율의 함수로서 비교 도시하는 도면.
도 6 은, 2-상태 마르코브 손실 모델(q=0.6)에 따라, 종래의 ELP 인터리빙 절차에 의해 그리고 도 4의 기술에 의해 각각 얻어지는, FEC 보호 효율(수신기에 의해 사용될 수 있는 데이터의, 전체 사이즈에 대해, 중간 사이즈)을, 에러율의 함수로서 비교 도시하는 도면.
도 7 은 재동기화 표시자에 대한 데이터의 위치에 따라 좌우되는 가변 사이즈의 FEC 코드를 갖는 제 2 인터리빙 기술(시간 인터리빙 타입에 따른 그룹 보호 기술)을 적용하기 위해 도 3의 삽입 디바이스에 의해 사용되는 4개의 시퀀스 그룹을 나타내는 도면.
도 8 은 도 4 또는 도 7에 예시되어 있는 인터리빙 기술 중 어느 하나와 조합하여 도 3의 삽입 디바이스에 의해 사용되는 여러 가지 타입의 데이터 그룹과 이와 연관된 FEC 코드를 도시하는 도면.
도 9 는 재동기화 표시자에 대한 데이터의 위치에 따라 좌우되는 가변 사이즈의 FEC 코드를 갖는 제 3 인터리빙 기술(시간 체인 타입의 기술)을 적용하기 위해 도 3의 삽입 디바이스에 의해 사용되며 두 개의 서브그룹으로 구성되는 시퀀스그룹을 보여주는 도면.
<도면 주요 부분에 대한 부호의 설명>
1 : 삽입 디바이스 2 : 데이터 타입 인식 유닛
3 : 시간 표시자 식별 유닛 4 : 세그먼트 결정 유닛
5 : 에러 정정 코드 사이즈 계산 유닛 6 : 에러 정정 코드 할당 유닛
7 : 데이터 인터리빙 유닛 15 : 수신기
16 : 세그먼트 재구성 유닛 17 : 세그먼트 정렬 유닛
18 : 동기화 유닛 30, 35 : 손실 모델
도 3에서, 블록 형태로 나타나 있는 엔티티(entity)는 순수하게 기능적인 것이며, 이리하여 반드시 물리적 실체와 대응하는 것은 아니다.
송신기의 FEC 코드를 삽입하기 위한 디바이스(1)는, 데이터 스트림(11) - 또는 수 개의 멀티플렉싱된 스트림 - 을 수신하며 이 스트림(11)으로부터 예를 들어 인터넷과 같은 통신 네트워크(8)에서 패킷(P) 형태로 송신되는 데이터 보호 FEC 코드를 포함하는 스트림(12)을 생성하도록 설계된다.
수신기(15)의 스트림을 재구성하기 위한 디바이스(9)는 스트림(12)을 수신하며 손실 데이터가 세그먼트 재구성 유닛(16)에 의하여 FEC 코드에 의해, 가능하다면, 재구성된 데이터 스트림(13)을 생성하도록 설계되며, 이 정보는 세그먼트 정렬 유닛(17)과 동기화 유닛(18)에 의하여 각각 정렬되며 동기화된다.
삽입 디바이스(1)는,
- 수신되는 스트림(11)의 데이터 타입을 재구성하기 위한 유닛(2)으로서, 이 데이터 타입은 예를 들어 비디오 화상(I, P, 또는 B 화상) 타입, 분할 데이터 타입(헤더, 움직임 벡터, 또는 텍스쳐) 타입, 및/또는 코딩 확장 타입(기저 층 또는 선택적인 개선 층)으로 구성되는. 재구성 유닛(2)과,
- 인입 스트림(11)에 분산된 재동기화 표시자, 화상 헤더 또는 재동기화 마커를 식별하기 위한 유닛(3)으로서, 두 개의 연속하는 재동기화 표시자 사이에 놓여 있는 데이터는 블록을 형성하는, 식별 유닛(3)과,
- 데이터 블록(B)의 분할을 수행함으로써 스트림(11)에서 연속하는 세그먼트(SM)를 한정하도록 설계된 세그먼트를 결정하기 위한 유닛(4)과,
- 세그먼트(SM)에 각각 할당되도록 (일반적으로 "FEC" 라고 표기되는) FEC 코드 세트의 사이즈를 계산하기 위한 유닛(5)으로서, 이 사이즈는 예를 들어 RTCP 리포트에 포함된 데이터에 의하여 네트워크(8)의 손실 모델의 추정 함수로서 계산되는, 계산 유닛(5)과,
- 계산 유닛(5)에 의하여 생성된 결과의 함수로서, 세그먼트(SM)에 FEC 코드 세트를 각각 할당하기 위한 유닛(6)과,
- 데이터를 인터리빙하기 위한 유닛(7)
을 포함한다.
재구성 디바이스(9)의 유닛(16, 17, 및 18)은 삽입 디바이스(1)의 동작 모드에 적응된다. 후자인 삽입 디바이스(1)는 예를 들어, 세그먼트(SM)와 이 세그먼트(SM)와 연관된 FEC 코드 세트의 패킷(P)의 사이즈 뿐만 아니라 사용되는 인터리빙 기술을 나타내는 스트림(12)의 헤드에 있는 처리 표시자를 도입한다.
이하의 설명에 대하여 일반적인 방식으로, 우리는 세그먼트(SM)와 이와 연관된 FEC 세트의 결합으로서 시퀀스(S)와, 데이터 인터리빙에 의하여 패킷(P)을 형성하도록 분리해서 사용되는 시퀀스 그룹(G)을 각각 정의한다.
데이터 인터리빙 유닛(7)은 수 개의 인터리빙 모드를 구현할 수 있다. 이 인터리빙 모드 중 하나의 모드(그룹 보호, 도 4)에 따르면, 이것은 각 블록(B)에 대해 수 개의 데이터 시퀀스 그룹(G1-G4)(여기서 G 는 모든 실시예에 대해 일반적으로 표기된 것임)을 정의한다(도 1a 및 도 1b). 이 그룹(G1-G4)은 세그먼트 그룹(GSM1-GSM4)과 이와 연관된 FEC 코드 세트 그룹(GFEC1-GFEC4)으로 각각 구성된다. 각 그룹은 모든 그룹(G1-G4)에 대해 균일한 사이즈를 가지는 관련 블록(B)의 연속하는 세그먼트를 포함하며, 세그먼트 전체는 이 블록(B)의 분할을 형성한다. 그룹(Gi)은 이리하여 블록(B)의 업스트림과 다운스트에 있는 재동기화 표시자(RMi및 RMi+1) 사이에서 연속하는 세그먼트의 위치의 함수로서 정렬된다.
더구나, 각 그룹(Gi)은 FEC 코드 세트의 고유한 사이즈(fi)(이 예에서 i=1, 2, ... 4)와 연관되어 있으며, 그룹(G1-G4)은 이 그룹의 순서로 감소하는 {특정 부분에 가능하게 나타내는 고정성(possibly signifying stationarity)을 감소시키는}이 코드 세트의 사이즈(f1-f4)를 가진다. 이 사이즈(fi)는 블록(B)에서 세그먼트의 위치의 함수로서 FEC 코드 비율(proportion)을 제공한다.
동작할 때, 인터리빙 유닛(7)은 각 패킷(Pi)에 대해 그룹(Gi)의 각 시퀀스 부분을 추출함으로써 각 그룹(Gi)에 대한 패킷(Pi)을 각각 형성한다. 패킷(Pi)은 이리하여 그룹(Gi)의 시퀀스에 대하여 횡으로 구성된다.
상당히 큰 사이즈의 패킷에 대한 이 절차의 효율은 간단한 예로서 설명되는데, 여기서 각 블록은 5개의 패킷 각각의 4개의 세그먼트(20개의 데이터 패킷)로 분할된다. FEC 보호의 전체 비율은 40%이며, 즉 각 블록의 20개의 데이터 패킷에 대해 8개의 FEC 패킷이다.
종래의 ELP 인터리빙 절차에 따라, 2개의 FEC 패킷은 4개의 세그먼트 각각과 연관된다. 더구나, 전술한 그룹 보호 절차는 FEC 코드의, 각 세그먼트와 각각 연관된, 사이즈(f1-f4)(즉, FEC 패킷의 수)의 분포를 에러율에 적응시킴으로써 적용된다.
수신기(15)에 의해 사용될 수 있는 데이터 중, 최대 사이즈에 대하여, 평균 사이즈로 측정된, 얻어진 FEC 패킷의 분포와 효율은 가우시안 손실 모델과 2-상태 마르코브 손실 모델에 각각 관한 표 1 및 표 2에서 (퍼센트로서) 손실율의 함수로서 개시된다.
게다가, 손실율(축 21)의 함수로서 FEC 효율(축 22)을 제공하는 곡선이 이들 두 개의 모델(표시 30 및 35)에 대해 나타나 있다. 가우시안 손실 모델과 마르코브 손실 모델 각각에 있어, 그룹 보호 절차에 의해 얻어진 곡선(32 및 37)은 특정 손실율에 대해, ELP 인터리빙 절차에 의해 얻어진 곡선(31 및 36)보다 상당히 위에 체계적으로 존재한다.
다른 인터리빙 모드(시간 인터리빙이 있는 그룹 보호, 도 7)에서, 인터리빙유닛(7)은 각 블록에서 유사한 위치에 놓여 있는 연속하는 블록의 수 개의 세그먼트(SM)로부터, G10, G20, G30, 및 G40과 같은, 각 시퀀스 그룹(G)을 형성한다. 예를 들어, 제 1 그룹(G10)은 4개의 연속하는 블록의 각 제 1 세그먼트(세그먼트 SM1-1, SM1-2, SM1-3, 및 SM1-4의 그룹) 뿐만 아니라 이와 연관된 FEC 코드 세트(그룹 FEC10)를 포함한다. 마찬가지로, 블록(G20, G30, 및 G40) 각각은 이들 4개의 블록의 유사한 위치에 있는 세그먼트의 각 4개의 세그먼트 그룹(SM2-j, SM3-j, 및 SM4-j)(여기서 j=1...4) 뿐만 아니라 이와 연관된 FEC 코드 세트(FEC20, FEC30, 및 FEC40) 그룹을 포함한다.
각 그룹(G)에서, FEC 세트는 일정한 사이즈(본 예에서 그룹 G10, G20, G30, 및 G40에 대해 각각 f1, f2, f3 및 f4)를 가지며, 여러 그룹(G)의 세그먼트(SM)는모두 동일한 사이즈를 가진다.
동작할 때, 인터리빙 유닛(7)은 각 패킷(P)에 대해 그룹(G)의 각 시퀀스 부분(바로 간단한 그룹 보호에 관한 한)을 횡으로 추출함으로써 그룹(G10, G20, G30, 및 G40)에 대해 패킷(P10, P20, P30, 및 P40)을 각각 형성한다. 이런 시간 인터리빙 절차는 특히 세그먼트(SM)의 사이즈가 임계 사이즈(MTU_size)보다 훨씬 더 작을 때, 작은 사이즈의 패킷에 대해 특히 잘맞다.
인터리빙 유닛(7)은 데이터 타입을 인식하기 위한 유닛(2)에 의해 주어지는 정보를 사용함으로써 전통적인 ULP 인터리빙 기술에 따라 위 절차 중에서 하나의 절차 또는 다른 절차를 조합할 수 있게 한다. 이것을 하기 위해, 인터리빙 유닛은 선택된 인터리빙 절차를 각 데이터 타입에 개별적으로 적용한다. 예를 들어(도 8), 인터리빙 유닛은 정보 타입 INFO, 타입 D1, 및 타입 D2의 데이터를 식별함으로써 그리고 이들 3가지 데이터 타입과 FEC 코드의 계수(FEC-INFO, FEC-D1 및 FEC-D2)를 각각 연관시킴으로써 데이터 시퀀스(S)의 그룹(GD)을 정의한다. 이후 각 계수는 계수와 연관된 데이터 타입에 대해 전술한 절차에 따라 사용되는 FEC 코드를 가중시키는 역할을 한다.
데이터 타입에 기초하여 ULP 인터리빙 절차와 조합될 수도 있는 또다른 인터리빙 모드(시간 체인, 도 9)에서, 인터리빙 유닛(7)은, 하나의 블록에서 그 다음 블록까지의 전이(transition) 동안에만 수 개의 이 블록과 연관된 추출된 표본으로부터 패킷(P)을 형성할 준비를 하면서, 적어도 2개의 블록에 기초하여 각 시퀀스 그룹(G)을 구성한다(시간 인터리빙과 대비됨).
따라서, 예를 들어, 시퀀스 그룹(G100)은 2개의 연속하는 블록과 각각 연관되며 유사한 방식 - 두 서브그룹에 대해 동일한 수의 시퀀스(S), 동일한 사이즈의 세그먼트(SM), 및 동일한 사이즈의 FEC 세트 - 으로 형성된 2개의 서브그룹(SG1 및 SG2)을 포함한다. 게다가, 세그먼트(SM)는 그룹(G100) 전체에 대해 일정한 사이즈를 가지는 반면, FEC 세트는 각 블록에 대한 업스트림과 다운스트림의 재동기화 표시자 사이에 크기가 감소하는 가변 사이즈를 가진다. 이리하여, 예시된 예에서, 서브그룹(SG1 및 SG2)은 4개의 시퀀스(S11-S14 및 S21-S24)를 각각 포함하며, 세그먼트(SM)는 4개의 "부분" 각각의 균일한 사이즈를 가지며, FEC 세트는 각 블록과 연관된 (부분의 수에 있어서) 감소하는 구조(3-2-2-1)를 가진다. 이리하여 서브그룹(SG1 및 SG2)은 넓은 윗변(upper base)을 갖는 사다리꼴 타입의 동일한 형상을 가진다.
다른 한편으로, 패킷(P)을 형성하기 위한 모드는 하나의 서브그룹(SG1)에서 다른 서브그룹(SG2)으로 반대칭(dissymmetric)이며, 이들 패킷(P)(이 예에서, 4개의 부분)의 일정한 사이즈를 보장하면서 서브그룹 사이에 전이 링크를 수반한다. 보다 더 정확하게, 제 1 서브그룹(SG1)에서, 제 1 패킷(P101)은 각 시퀀스(S11-S14)에서 제 1 부분을 추출함으로써 형성된다. 유사한 방식으로, 인터리빙 유닛(7)은 서브그룹(SG1)의 모든 시퀀스(S11-S14)에서부터 먼저 세그먼트(SM)(패킷 P102 내지 P104)의 해당 부분을, 이후 FEC 세트(패킷 P105)의 해당 부분을 각각 추출함으로써 이하의 패킷(P102-P105) 각각을 구성한다.
마지막 시퀀스(S14) 부분이 다 소모되어서, 더 이상 이 추출 모드가 가능하지 않을 때, 인터리빙 유닛(7)은 제 2 서브그룹(SG2)의 제 1 시퀀스(S21)로부터 손실 부분을 추출함으로써 현재 형성되고 있는 패킷(P106)을 완성한다. 유사한 방식으로, 제 1 시퀀스(S11)의 마지막 부분으로 시작되는 그 다음 패킷(P107)은 서브그룹(SG2)의 처음 세 개의 시퀀스(S21-S23)로부터 각각 3개의 손실 부분을 추출함으로써 완성된다. 이하의 패킷(P108-P112)은 4개의 시퀀스(S21-S24)로부터 연속하는 부분을 각각 추출함으로써 서브그룹(SG2)에서 완전히 구성된다.
전통적인 ULP 절차를 적용함으로써 얻을 수 있는 것에 비해, 본 구성의 구조는, 다운스트림 데이터에서 치유할 수 없는 손실의 상당한 증가를 야기하는 패킷의 손실 없이, 블록 내의 업스트림 데이터에 대한 보호가 증가된다는 점에서 ELP 인터리빙 절차와 비교해볼 때 이점을 제공할 수 있게 한다. 이 절차는 시간 인터리빙에 의지하지 않고도 중간 사이즈 패킷의 처리를 가능하게 한다.
본 예에서 기술되는 특정 구성은 2개의 블록에 걸친 주기성(periodicity)을 가능하게 한다. 그러나, 다른 실시예에서, 이 주기성은 3개 이상의 블록에 걸쳐 얻어진다. 보다 정확하게는, 수반되는 블록의 수는 각 패킷에 대한 구별된 시퀀스로부터 부분을 추출함으로써 시퀀스의 서브그룹에서 동일한 사이즈의 모든 패킷을 완전하게 형성하는 것을 보장하기 위한 손실 부분의 수에 따라 좌우된다.
예에 의해 기술되어 있는 삽입 디바이스(1)의 인터리빙 유닛(7)은 위에서 상세히 설명된 전략 중 어느 하나를 구현하는 성능을 가진다. 채택된 기술은 송신을 담당하는 사람에 의해 정의될 수 있으며 혹은 특히 패킷(P)의 사이즈의 함수로서 삽입 디바이스(1)에 의해 자동적으로 선택될 수 있다.
전술한 바와 같이, 본 발명은, 에러 정정 코드를 데이터 스트림 내에 삽입하며 데이터 스트림을 재구성하기 위한 디바이스과 방법 등에 효과를 제공한다.

Claims (17)

  1. 네트워크(8)에서 패킷(P)으로 송신하고자 하는 적어도 하나의 데이터 스트림(11)으로서, 상기 스트림(11) 각각은 상기 스트림 내에 분산되어 있는 기준 재동기화 표시자(RM)를 포함하며 임의의 두 개의 상기 연속하는 재동기화 표시자 사이에 놓여 있는 데이터는 데이터 블록(B)을 구성하는, 상기 적어도 하나의 스트림(11) 내에 에러 정정 코드(FEC)를 삽입하기 위한 디바이스(1)로서,
    - 상기 스트림(11) 내에 연속하는 데이터 세그먼트(SM)를 결정하기 위한 유닛(4)과,
    - 상기 세그먼트에 따라 가변 사이즈를 가지는 에러 정정 코드(FEC) 세트를 상기 세그먼트(SM) 각각에 할당하기 위한 유닛(6)
    을 포함하는, 에러 정정 코드(FEC)를 삽입하기 위한 디바이스(1)에 있어서,
    상기 삽입 디바이스(1)는 상기 재동기화 표시자(RM)를 식별하기 위한 유닛(3)을 더 포함하며, 상기 세그먼트를 결정하기 위한 유닛(4)은 상기 데이터 블록(B)의 분할을 수행하는 것에 의해 상기 세그먼트(SM)를 결정하도록 설계되며, 상기 에러 정정 코드 세트를 할당하기 위한 유닛(6)은 임의의 두 개의 상기 연속하는 재동기화 표시자(RM) 사이의 상기 에러 정정 코드(FEC) 세트에 크기가 감소하는 사이즈를 할당하도록 설계된 것
    을 특징으로 하는, 에러 정정 코드를 삽입하기 위한 디바이스.
  2. 제 1 항에 있어서, 상기 재동기화 표시자는 재동기화 마커(RM)를 포함하는 것을 특징으로 하는, 에러 정정 코드를 삽입하기 위한 디바이스.
  3. 제 1 항 또는 제 2 항에 있어서, 상기 재동기화 표시자는 화상 헤더(ENT)를 포함하는 것을 특징으로 하는, 에러 정정 코드를 삽입하기 위한 디바이스.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서, 상기 삽입 디바이스는 데이터 시퀀스(S) 그룹(G)을 결정하며 상기 시퀀스(S) 부분에 병렬 배치하는 것에 의해 상기 패킷(P)을 형성할 수 있는 데이터 인터리빙 유닛(7)을 더 포함하는 것을 특징으로 하는, 에러 정정 코드를 삽입하기 위한 디바이스.
  5. 제 4 항에 있어서, 상기 데이터 인터리빙 유닛(7)은, 상기 데이터 시퀀스(S) 각각이 상기 세그먼트(SM) 중 하나와 상기 세그먼트(SM)와 연관된 에러 정정 코드(FEC) 세트로 구성되도록 한 것을 특징으로 하는, 에러 정정 코드를 삽입하기 위한 디바이스.
  6. 제 5 항에 있어서, 상기 데이터 인터리빙 유닛(7)은
    - 상기 시퀀스 그룹(G1-G4; G10, G20, G30, G40) 각각에 있어, 상기 시퀀스(S), 상기 세그먼트(SM), 상기 에러 정정 코드(FEC) 세트, 상기 패킷(P), 및 상기 시퀀스 부분은 각각 일정한 사이즈를 가지며,
    - 상기 시퀀스 그룹(G)과 연관된 상기 패킷(P) 각각은 상기 그룹(G)의 모든 상기 시퀀스(S) 부분에 각각 병렬 배치시키는 것에 의해 형성되도록
    할 수 있는 것을 특징으로 하는, 에러 정정 코드를 삽입하기 위한 디바이스.
  7. 제 6 항에 있어서, 상기 데이터 인터리빙 유닛(7)은, 상기 데이터 블록(B) 각각에 있어서, 상기 블록(B)과 연관된 시퀀스(S) 중 적어도 하나를 포함하는 시퀀스의 모든 그룹(G1-G4; G10, G20, G30, G40)에 포함된 상기 세그먼트(SM)는 일정한 사이즈를 가지도록 한 것을 특징으로 하는, 에러 정정 코드를 삽입하기 위한 디바이스.
  8. 제 5 항 내지 제 7 항 중 어느 한 항에 있어서, 상기 데이터 인터리빙 유닛(7)은,
    - 상기 세그먼트(SM), 상기 패킷(P), 및 상기 부분은 각각 일정한 사이즈를 가지며, 상기 에러 정정 코드(FEC) 세트와 상기 시퀀스(S)는 가변 사이즈를 가지며,
    - 상기 시퀀스 그룹(G100)은 적어도 2개의 시퀀스 서브그룹(SG1, SG2)으로 구성되며, 상기 서브그룹은 적어도 2개의 연속하는 데이터 블록(B)과 각각 연관되며,
    - 상기 시퀀스 그룹(G100)과 연관된 상기 패킷(P) 각각은 상기 그룹(G100)의 구별된 시퀀스(S) 부분에 각각 병렬 배치시키는 것에 의해 형성되도록
    할 수 있는 것을 특징으로 하는, 에러 정정 코드를 삽입하기 위한 디바이스.
  9. 제 4 항 내지 제 8 항 중 어느 한 항에 있어서, 상기 데이터 인터리빙 유닛(7)은, 상기 시퀀스 그룹(G10, G20, G30, G40) 중 적어도 하나의 그룹은 수 개의 상기 연속하는 데이터 블록(B)과 연관된 시퀀스(S)를 포함하며, 상기 패킷(P10, P20, P30, P40) 각각은 모든 상기 블록(B)과 연관된 시퀀스 부분에 병렬 배치시키는 것에 의해 형성되도록 할 수 있는 것을 특징으로 하는, 에러 정정 코드를 삽입하기 위한 디바이스.
  10. 제 1 항 내지 제 9 항 중 어느 한 항에 있어서, 상기 삽입 디바이스는 유리하게는 RTCP 프로토콜에 따라 리포트에 포함된 데이터에 의하여, 상기 네트워크(8)의 업데이트된 손실 모델의 추정 함수로서, 해당 세그먼트(SM)의 사이즈에 대해 에러 정정 코드(FEC)의 세트의 사이즈를 계산하도록 설계된, 사이즈를 계산하기 위한 유닛(5)을 더 포함하는 것을 특징으로 하는, 에러 정정 코드를 삽입하기 위한 디바이스.
  11. 제 1 항 내지 제 10 항 중 어느 한 항에 있어서, 상기 삽입 디바이스는 데이터 타입을 인식하기 위한 유닛(2)을 더 포함하며, 상기 세그먼트를 결정하기 위한 유닛(4)은 상기 데이터 타입에 따라 상기 세그먼트(SM)를 설정할 수 있으며, 상기 에러 정정 코드를 할당하기 위한 유닛(6)은 상기 에러 정정 코드 세트(FEC)에 대응하는 상기 세그먼트(SM)의 상기 데이터 타입의 함수로서 에러 정정 코드(FEC)의 세트의 사이즈를 가중시키도록 설계된 것을 특징으로 하는, 에러 정정 코드를 삽입하기 위한 디바이스.
  12. 제 11 항에 있어서, 상기 데이터 타입은, 압축된 디지털 비디오 데이터의 다음 요소, 즉
    - I, P, 또는 B 타입 화상,
    - 헤더, 움직임 벡터 또는 텍스쳐 타입 분할 엔티티, 및/또는
    - 베이스 층 또는 선택적인 개선(enhancement) 층 타입의 층
    중에서 선택되는 것을 특징으로 하는, 에러 정정 코드를 삽입하기 위한 디바이스.
  13. 네트워크(8)에서 패킷(P)으로 송신하고자 하는 적어도 하나의 데이터 스트림(11)으로서, 상기 스트림(11) 각각은 상기 스트림(11) 내에 분산된 기준 재동기화 표시자(RM)를 포함하며 임의의 두 개의 상기 연속하는 재동기화 표시자 사이에 놓여 있는 데이터는 데이터 블록(B)을 구성하는, 상기 적어도 하나의 데이터 스트림(11) 내에 에러 정정 코드(FEC)를 삽입하기 위한 방법으로서,
    - 상기 스트림(11)에서 연속하는 데이터 세그먼트(SM)를 결정하는 단계와,
    - 상기 세그먼트(SM)에 따라 가변 사이즈를 가지는 에러 정정 코드(FEC) 세트를 상기 세그먼트(SM) 각각에 할당하는 단계
    를 포함하는, 에러 정정 코드를 삽입하기 위한 방법(1)에 있어서,
    상기 삽입 방법은 상기 재동기화 표시자(RM)를 식별하는 단계를 더 포함하며, 상기 데이터 세그먼트(SM)는 상기 데이터 블록(B)의 분할을 수행함으로써 결정되며, 임의의 2개의 상기 연속하는 재동기화 표시자(RM) 사이에 상기 에러 정정 코드(FEC) 세트에는 크기가 감소하는 사이즈가 할당되며,
    상기 방법은 바람직하게는 제 1 항 내지 제 12 항 중 어느 한 항에 따른 삽입 디바이스에 의하여 구현되는 것을 특징으로 하는, 에러 정정 코드를 삽입하기 위한 방법.
  14. 적어도 하나의 데이터 스트림(11)으로서, 상기 데이터 스트림 각각은 상기 스트림(11) 내에 분산된 기준 재동기화 표시자(RM)를 포함하며, 임의의 2개의 상기 연속하는 재동기화 표시자(RM) 사이에 놓여 있는 데이터는 데이터 블록(B)을 구성하는, 상기 적어도 하나의 데이터 스트림(11)에 관한 디지털 신호(12)로서, 상기 디지털 신호(12)는 상기 스트림(11)에서 연속하는 데이터 세그먼트(SM)와 상기 세그먼트(SM)에 각각 할당된 에러 정정 코드(FEC) 세트를 나타내는 정보를 포함하며, 상기 에러 정정 코드(FEC) 세트는 상기 세그먼트(SM)에 따라 가변 사이즈를 가지는, 디지털 신호(12)에 있어서,
    상기 데이터 세그먼트(SM)는 상기 데이터 블록(B)의 분할을 형성하며, 상기 에러 정정 코드(FEC) 세트는 임의의 2개의 상기 연속하는 재동기화 표시자(RM) 사이에서 크기가 감소하는 사이즈를 가지며,
    상기 디지털 신호는 바람직하게는 제 1 항 내지 제 12 항 중 어느 한 항에 따른 삽입 디바이스에 의하여 얻어지는 것을 특징으로 하는, 적어도 하나의 데이터 스트림(11)에 관한 디지털 신호.
  15. 네트워크(8)로부터 유래하는 패킷(P)으로 수신되는 디지털 신호(12)로서, 상기 디지털 신호(12)는 상기 스트림(13)에서 연속하는 데이터 세그먼트(SM)와 상기 세그먼트(SM)에 각각 할당된 에러 정정 코드(FEC) 세트를 나타내는 정보를 포함하는, 상기 디지털 신호(12)로부터 데이터 스트림(13)을 재구성하기 위한 디바이스(9)로서,
    - 수신되는 패킷(P)에 대한 데이터 세그먼트(SM)와 에러 정정 코드(FEC) 세트를 나타내는 정보로부터 손실 패킷(P)의 데이터 세그먼트(SM)를 재구성하기 위한 유닛(16)으로서, 상기 재구성 유닛(16)은 상기 세그먼트(SM)에 따라 가변 사이즈의 에러 정정 코드(FEC) 세트에 작용할 수 있는, 재구성 유닛과,
    - 수신되어 재구성된 데이터 세그먼트(SM)를 정렬하기 위한 유닛(17)과,
    - 상기 패킷 내에 포함된 기준 재동기화 표시자(RM)에 의하여 상기 데이터 세그먼트(SM)를 동기화시키기 위한 유닛(18)
    을 포함하는, 데이터 스트림(13)을 재구성하기 위한 디바이스(9)에 있어서,
    상기 재구성 유닛(16)은 임의의 2개의 상기 기준 재동기화 표시자(RM) 사이에서 크기가 감소하는 사이즈의 에러 정정 코드(FEC) 세트에 작용하도록 설계되며,
    상기 재구성 디바이스(9)는 바람직하게는 제 14 항의 신호에 따라 신호(12)를 재구성하도록 설계된 것을 특징으로 하는, 데이터 스트림을 재구성하기 위한 디바이스.
  16. 네트워크(8)로부터 유래하는 패킷(P)으로 수신되는 디지털 신호(12)로서, 상기 디지털 신호(12)는 상기 스트림(13)에서 연속하는 데이터 세그먼트(SM)와 상기 세그먼트(SM)에 각각 할당된 에러 정정 코드(FEC) 세트를 나타내는 정보를 포함하며, 상기 에러 정정 코드(FEC) 세트는 상기 세그먼트(SM)에 따라 가변 사이즈를 가지는, 상기 디지털 신호(12)로부터 데이터 스트림(13)을 재구성하기 위한 방법으로서,
    - 수신된 패킷(P)에 대한 데이터 세그먼트(SM)와 에러 정정 코드(FEC) 세트를 나타내는 정보로부터 손실 패킷(P)의 데이터 세그먼트(SM)를 재구성하는 단계와,
    - 수신되어 재구성되는 데이터 세그먼트(SM)를 정렬시키는 단계와,
    - 상기 패킷 내에 포함된 기준 재동기화 표시자(RM)에 의하여 상기 데이터 세그먼트(SM)를 동기화시키는 단계
    를 포함하는, 데이터 스트림을 재구성하기 위한 방법에 있어서,
    상기 데이터 스트림(13)은 임의의 2개의 상기 기준 재동기화 표시자(RM) 사이에서 크기가 감소하는 사이즈의 에러 정정 코드(FEC) 세트로부터 재구성되며,
    상기 재구성 방법은 바람직하게는 제 15 항에 따른 재구성 디바이스(9)에 의하여 구현되는 것을 특징으로 하는, 데이터 스트림을 재구성하기 위한 방법.
  17. 컴퓨터 상에서 프로그램이 실행될 때 제 13 항에 따른 에러 정정 코드를 삽입하기 위한 방법이나 제 16 항에 따른 데이터 스트림을 재구성하기 위한 방법의 단계를 실행하기 위한 프로그램 코드 명령을 포함하는 컴퓨터 프로그램 제품.
KR10-2003-0015396A 2002-03-15 2003-03-12 에러 정정 코드를 삽입하며 데이터 스트림을 재구성하기위한 디바이스 및 방법, 및 해당 컴퓨터 프로그램 제품 KR20030074386A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR02/03196 2002-03-15
FR0203196A FR2837332A1 (fr) 2002-03-15 2002-03-15 Dispositif et procede d'insertion de codes de correction d'erreurs et de reconstitution de flux de donnees, et produits correspondants

Publications (1)

Publication Number Publication Date
KR20030074386A true KR20030074386A (ko) 2003-09-19

Family

ID=27763740

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0015396A KR20030074386A (ko) 2002-03-15 2003-03-12 에러 정정 코드를 삽입하며 데이터 스트림을 재구성하기위한 디바이스 및 방법, 및 해당 컴퓨터 프로그램 제품

Country Status (7)

Country Link
US (1) US7155657B2 (ko)
EP (1) EP1345334A1 (ko)
JP (1) JP2003318867A (ko)
KR (1) KR20030074386A (ko)
CN (1) CN100338925C (ko)
FR (1) FR2837332A1 (ko)
MX (1) MXPA03002187A (ko)

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101292851B1 (ko) * 2006-02-13 2013-08-02 디지털 파운튼, 인크. 가변적 fec 오버헤드 및 보호 구간을 이용하는 스트리밍및 버퍼링
US8887020B2 (en) 2003-10-06 2014-11-11 Digital Fountain, Inc. Error-correcting multi-stage code generator and decoder for communication systems having single transmitters or multiple transmitters
US8918533B2 (en) 2010-07-13 2014-12-23 Qualcomm Incorporated Video switching for streaming video data
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
US9136878B2 (en) 2004-05-07 2015-09-15 Digital Fountain, Inc. File download and streaming system
US9158617B2 (en) 2012-10-08 2015-10-13 Samsung Electronics Co., Ltd. Method of performing write operation or read operation in memory system and system thereof
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
US9191151B2 (en) 2006-06-09 2015-11-17 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9236976B2 (en) 2001-12-21 2016-01-12 Digital Fountain, Inc. Multi stage code generator and decoder for communication systems
US9237101B2 (en) 2007-09-12 2016-01-12 Digital Fountain, Inc. Generating and communicating source identification information to enable reliable communications
US9236885B2 (en) 2002-10-05 2016-01-12 Digital Fountain, Inc. Systematic encoding and decoding of chain reaction codes
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
US9246633B2 (en) 1998-09-23 2016-01-26 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US9264069B2 (en) 2006-05-10 2016-02-16 Digital Fountain, Inc. Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient uses of the communications systems
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery
US9319448B2 (en) 2010-08-10 2016-04-19 Qualcomm Incorporated Trick modes for network streaming of coded multimedia data
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9485546B2 (en) 2010-06-29 2016-11-01 Qualcomm Incorporated Signaling video samples for trick mode video representations
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6816194B2 (en) * 2000-07-11 2004-11-09 Microsoft Corporation Systems and methods with error resilience in enhancement layer bitstream of scalable video coding
US7454431B2 (en) * 2003-07-17 2008-11-18 At&T Corp. Method and apparatus for window matching in delta compressors
US7721184B2 (en) * 2004-08-11 2010-05-18 Digital Fountain, Inc. Method and apparatus for fast encoding of data symbols according to half-weight codes
WO2006038055A1 (en) * 2004-10-06 2006-04-13 Nokia Corporation Assembling forward error correction frames
US7480847B2 (en) * 2005-08-29 2009-01-20 Sun Microsystems, Inc. Error correction code transformation technique
US7428306B2 (en) * 2006-04-18 2008-09-23 International Business Machines Corporation Encryption apparatus and method for providing an encrypted file system
US20100211690A1 (en) * 2009-02-13 2010-08-19 Digital Fountain, Inc. Block partitioning for a data stream
US9356730B2 (en) * 2007-01-30 2016-05-31 Telefonaktiebolaget Lm Ericsson (Publ) Method for adding error protection bits to match codeword length
US7600759B2 (en) * 2007-07-26 2009-10-13 The Net Return, Llc Multi-sports ball return net system and method thereof
CN101488827B (zh) * 2008-01-14 2015-07-08 华为技术有限公司 实现数据报错的方法和装置
US9124425B2 (en) 2009-06-30 2015-09-01 Nokia Technologies Oy Systems, methods, and apparatuses for ciphering error detection and recovery
US8539319B2 (en) * 2011-01-28 2013-09-17 Cisco Technology, Inc. Providing capacity optimized streaming data with forward error correction
JP6514570B2 (ja) * 2015-05-29 2019-05-15 アンリツネットワークス株式会社 パケット転送システム、中継装置、パケット転送方法及びプログラム
US9875211B2 (en) * 2015-06-04 2018-01-23 Synaptics Incorporated Signal conditioner for high-speed data communications

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6405338B1 (en) * 1998-02-11 2002-06-11 Lucent Technologies Inc. Unequal error protection for perceptual audio coders
US6754277B1 (en) * 1998-10-06 2004-06-22 Texas Instruments Incorporated Error protection for compressed video
US6317462B1 (en) * 1998-10-22 2001-11-13 Lucent Technologies Inc. Method and apparatus for transmitting MPEG video over the internet
US6965636B1 (en) * 2000-02-01 2005-11-15 2Wire, Inc. System and method for block error correction in packet-based digital communications
DE10193104T1 (de) * 2000-06-27 2003-03-13 Seagate Technology Llc Verfahren und Vorrichtung zum Codieren mit ungleichem Schutz in magnetischen Aufzeichnungskanälen mit verketteten Fehlerkorrekturcodes
US6816194B2 (en) * 2000-07-11 2004-11-09 Microsoft Corporation Systems and methods with error resilience in enhancement layer bitstream of scalable video coding
TR200200680T1 (tr) * 2000-07-17 2002-09-23 Koninklijke Philips Electronics N. V. Sinyal kodlama.
AU2001269125A1 (en) * 2000-07-17 2002-01-30 Koninklijke Philips Electronics N.V. Coding of a data stream
WO2002007327A1 (en) * 2000-07-17 2002-01-24 Koninklijke Philips Electronics N.V. Coding of data stream
WO2002052558A2 (en) * 2000-12-26 2002-07-04 Pioneer Corporation Information recording/reproducing apparatus, and information recording medium with linking blocks
US20020157058A1 (en) * 2001-02-20 2002-10-24 Cute Ltd. System and method for feedback-based unequal error protection coding
US6910175B2 (en) * 2001-09-14 2005-06-21 Koninklijke Philips Electronics N.V. Encoder redundancy selection system and method

Cited By (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9246633B2 (en) 1998-09-23 2016-01-26 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US9236976B2 (en) 2001-12-21 2016-01-12 Digital Fountain, Inc. Multi stage code generator and decoder for communication systems
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
US9236885B2 (en) 2002-10-05 2016-01-12 Digital Fountain, Inc. Systematic encoding and decoding of chain reaction codes
US8887020B2 (en) 2003-10-06 2014-11-11 Digital Fountain, Inc. Error-correcting multi-stage code generator and decoder for communication systems having single transmitters or multiple transmitters
US9136878B2 (en) 2004-05-07 2015-09-15 Digital Fountain, Inc. File download and streaming system
US9236887B2 (en) 2004-05-07 2016-01-12 Digital Fountain, Inc. File download and streaming system
US9136983B2 (en) 2006-02-13 2015-09-15 Digital Fountain, Inc. Streaming and buffering using variable FEC overhead and protection periods
KR101292851B1 (ko) * 2006-02-13 2013-08-02 디지털 파운튼, 인크. 가변적 fec 오버헤드 및 보호 구간을 이용하는 스트리밍및 버퍼링
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
US9264069B2 (en) 2006-05-10 2016-02-16 Digital Fountain, Inc. Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient uses of the communications systems
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9628536B2 (en) 2006-06-09 2017-04-18 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9191151B2 (en) 2006-06-09 2015-11-17 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US11477253B2 (en) 2006-06-09 2022-10-18 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US9237101B2 (en) 2007-09-12 2016-01-12 Digital Fountain, Inc. Generating and communicating source identification information to enable reliable communications
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
US9876607B2 (en) 2009-08-19 2018-01-23 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
US9660763B2 (en) 2009-08-19 2017-05-23 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US11770432B2 (en) 2009-09-22 2023-09-26 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US11743317B2 (en) 2009-09-22 2023-08-29 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US10855736B2 (en) 2009-09-22 2020-12-01 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US9485546B2 (en) 2010-06-29 2016-11-01 Qualcomm Incorporated Signaling video samples for trick mode video representations
US8918533B2 (en) 2010-07-13 2014-12-23 Qualcomm Incorporated Video switching for streaming video data
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US9602802B2 (en) 2010-07-21 2017-03-21 Qualcomm Incorporated Providing frame packing type information for video coding
US9456015B2 (en) 2010-08-10 2016-09-27 Qualcomm Incorporated Representation groups for network streaming of coded multimedia data
US9319448B2 (en) 2010-08-10 2016-04-19 Qualcomm Incorporated Trick modes for network streaming of coded multimedia data
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery
US9158617B2 (en) 2012-10-08 2015-10-13 Samsung Electronics Co., Ltd. Method of performing write operation or read operation in memory system and system thereof

Also Published As

Publication number Publication date
US20040015768A1 (en) 2004-01-22
JP2003318867A (ja) 2003-11-07
CN100338925C (zh) 2007-09-19
FR2837332A1 (fr) 2003-09-19
CN1445968A (zh) 2003-10-01
US7155657B2 (en) 2006-12-26
MXPA03002187A (es) 2005-02-14
EP1345334A1 (en) 2003-09-17

Similar Documents

Publication Publication Date Title
KR20030074386A (ko) 에러 정정 코드를 삽입하며 데이터 스트림을 재구성하기위한 디바이스 및 방법, 및 해당 컴퓨터 프로그램 제품
JP4173755B2 (ja) データ伝送サーバ
KR101449710B1 (ko) 데이터 통신시스템, 데이터 송신장치, 데이터 송신방법 및패킷 사이즈 및 용장도 결정방법
EP2815529B1 (en) Data packet transmission/reception apparatus and method
KR100612003B1 (ko) 통신망에서 비트 스트림 송수신 장치 및 그 방법
KR100998454B1 (ko) 인 밴드 에러 패턴을 사용한 에러 복원
KR102295788B1 (ko) 데이터 스트리밍의 순방향 오류 정정
KR100608042B1 (ko) 멀티 미디어 데이터의 무선 송수신을 위한 인코딩 방법 및그 장치
KR101722719B1 (ko) 역방향의 강력한 헤더 압축 수신기
KR101050830B1 (ko) Crc 패리티 코드를 사용하는 비디오 에러 검출 기술
JPH1188463A (ja) データブロックの送信方法
EP1094630A2 (en) Packet loss control method for real-time multimedia communications
KR100833222B1 (ko) 멀티미디어 송수신 장치 및 방법
WO2004079964A2 (en) Segmented data delivery over non-reliable link
WO1998058468A1 (fr) Systeme de transmission avec multiplexage de donnees d&#39;information, multiplexeur et demultiplexeur utilises a cet effet et codeur et decodeur pour correction d&#39;erreurs
CN110224793B (zh) 一种基于媒体内容的自适应fec方法
CA2998900C (en) Fec mechanism based on media contents
US8484540B2 (en) Data transmitting device, control method therefor, and program
CN109245863B (zh) 用于传输和接收前向纠错分组的装置和方法
JP4316385B2 (ja) 堅牢な信号符号化
US7342938B1 (en) Spectrally efficient approach to protection of key elements in a non-homogenous data stream
KR20040073628A (ko) 영상 전송시 소스-채널 결합 부호화의 부호율 결정 방법및 이를 이용한 영상 전송 시스템
CN113301051A (zh) 数据的传输方法、装置、计算机存储介质和处理器
KR100739509B1 (ko) 다중 채널 구조 무선 통신 시스템에서 헤더 정보 송수신장치 및 방법
KR100916312B1 (ko) 적응적 가중 오류 정정 부호화 및 다중 표현열 부호화를사용한 비디오 전송 장치 및 그 방법

Legal Events

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