KR20100007876A - 동적 스트림 인터리빙 및 서브-스트림 기반 전달 - Google Patents
동적 스트림 인터리빙 및 서브-스트림 기반 전달 Download PDFInfo
- Publication number
- KR20100007876A KR20100007876A KR1020097023766A KR20097023766A KR20100007876A KR 20100007876 A KR20100007876 A KR 20100007876A KR 1020097023766 A KR1020097023766 A KR 1020097023766A KR 20097023766 A KR20097023766 A KR 20097023766A KR 20100007876 A KR20100007876 A KR 20100007876A
- Authority
- KR
- South Korea
- Prior art keywords
- stream
- content
- receiver
- interleaving
- content stream
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, 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
- H03M13/2789—Interleaver providing variable interleaving, e.g. variable block sizes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/35—Unequal 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
- H03M13/353—Adaptation to the channel
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/373—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with erasure correction and erasure determination, e.g. for packet loss recovery or setting of erasures for the decoding of Reed-Solomon codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6508—Flexibility, adaptability, parametrability and configurability of the implementation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0071—Use of interleaving
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1515—Reed-Solomon codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3761—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using code combining, i.e. using combining of codeword portions which may have been transmitted separately, e.g. Digital Fountain codes, Raptor codes or Luby Transform [LT] codes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Error Detection And Correction (AREA)
Abstract
통신 시스템은, 인터리빙이 도입되지 않은 경우보다 본래의 스트림내의 훨씬 더 큰 시간 주기에 걸쳐 채널에서 손실들 또는 에러들을 확산시키기 위해 스트림이 임의의 소스 블록 구조와 독립하여 송신될 경우, 더 큰 양의 인터리빙을 동적으로 도입하기 위한 방법을 포함하는, 스트림들을 동적으로 인터리빙하기 위한 방법을 제공할 수 있고, FEC 코딩과 함께 사용될 경우 패킷 손실 또는 패킷 손상에 대해 우수한 보호를 제공하고, 네트워크 지터에 대해 우수한 보호를 제공하며, 콘텐츠 재핑 시간 및 콘텐츠 천이 시간이 최소값 및 최소의 콘텐츠 천이 시간으로 감소되게 할 수 있다. 스트림들은 서브 스트림들로 분할될 수도 있으며, 네트워크 전반에 걸친 상이한 경로들에 따라 수신기들에 그 서브 스트림들을 전달하고, 잠재적으로 상이한 서버들로부터 전송된 상이한 서브 스트림들을 수신기에서 동시에 수신한다. FEC 인코딩과 함께 사용될 경우, 방법들은, 잠재적으로 상이한 서버들로부터 각각의 소스 블록의 인코딩의 일부를 전달하는 단계를 포함한다.
콘텐츠 재핑 시간, 콘텐츠 천이 시간
Description
관련 출원에 대한 상호-참조
본 특허 출원은, 발명의 명칭이 "동적 스트림 인터리빙 및 서브-스트림 기반 전달 (DYNAMIC STREAM INTERLEAVING AND SUB-STREAM BASED DELIVERY)" 로 2007년 4월 16일자로 출원된 미국 가출원 제 60/912,145 호의 이점을 주장한다. 이 출원의 내용은 모든 목적을 위해 그 전체가 참조로서 여기에 포함된다.
또한, 본 발명은, 다음의 공동-양수된 출원/특허를 모든 목적을 위해, 본 명세서에 개시된 바와 같이 참조로서 포함한다.
Luby 등의 미국 특허 제 6,307,487호 (이하, "Luby I");
Shokrollahi 등의 미국 특허 제 7,068,729호 (이하, "Shokrollahi I");
발명의 명칭이 "순방향-에러 정정 (FEC) 코딩 및 스트리밍 (Forward Error-Correcting (FEC) Coding and Streaming)" 으로 2006년 6월 9일자로 출원된 Luby 등의 미국 특허 출원 제 11/423,391호 (이하, "Luby II"); 및
발명이 명칭이 "가변 FEC 오버헤드 및 보호 주기를 사용한 스트리밍 및 버퍼링 (Streaming and Buffering Using Variable FEC Overhead and Protection Periods)" 로 2007년 2월 13일자로 출원된 Watson 등의 미국 특허 출원 제 11/674,625호 (이하, "Watson").
발명의 분야
본 발명은, 스트리밍 솔루션들을 개선시키기 위해 모든 양태에서, 스트리밍 품질 전달, 콘텐츠 재핑 (zapping) 시간, 스트림들의 스케일러블한 분산식 전달, 및 FEC 코딩의 사용을 개선시키는 것에 관한 것이다. 스트리밍은, 플레이-리스트 컨텐츠 또는 라이브 제공을 위해 요구 (on-demand) 에 따라 일정한 또는 가변 비트 레이트 중 어느 하나에서의 오디오, 비디오, 및 데이터의 스트리밍을 포함한다.
발명의 배경
고품질의 오디오 및 비디오가 인터넷, 셀룰러 및 무선 네트워크, 전력선 네트워크, 및 많은 다른 네트워크들과 같은 패킷 기반 네트워크를 통해 전달되는 것이 더욱 더 일반적으로 되어 감에 따라, 스트리밍 미디어 전달이 더욱 더 중요해지고 있다. 전달된 스트리밍 미디어의 품질은, 본래의 콘텐츠의 품질, 본래의 콘텐츠의 인코딩 품질, 비디오를 디코딩 및 디스플레이하기 위한 수신 디바이스들의 능력들, 수신기들에서 수신된 신호의 적시성 (timeliness) 및 품질 등을 포함하는 다수의 인자들에 의존한다. 지각된 양호한 스트리밍 미디어 경험을 생성하기 위해, 수신기들에서 수신된 신호의 전송 및 적시성이 특히 중요하다. 양호한 전송은, 전송기로부터 전송된 것과 비교하여 수신기에서 수신된 스트림의 충실도 (fidelity) 를 제공하며, 적시성은 콘텐츠에 대한 초기 요청 이후에 수신기가 얼마나 신속하게 그 콘텐츠를 재생하기 시작할 수 있는지를 나타낸다.
최근에, 송신 동안 스트리밍 미디어의 보호를 위해 순방향 에러 정정 (FEC) 코드들을 사용할 것을 고려하는 것이 일반적인 프랙티스가 되어 가고 있다. 패킷 네트워크를 통해 전송될 경우, 소스 스트림은 생성되거나 이용가능하게 될 경우 패킷들에 배치되고, 따라서, 그 소스 스트림이 생성되거나 이용가능하게 되기 위해, 그 패킷들은 소스 또는 콘텐츠 스트림을 수신기들에 운반하는데 사용되며, 그 패킷 네트워크의 예들은, 3GPP, 3GPP2, 및 DVB와 같은 그룹들에 의해 표준화된 것과 같은 무선 네트워크들 및 인터넷을 포함한다.
이들 타입들의 시나리오들에 대한 FEC 코드들의 통상적인 애플리케이션에서, 인코더는 리페어 (repair) 패킷들의 생성시에 FEC 코드를 사용하며, 그 후, 그 리페어 패킷들은 소스 스트림을 포함하는 본래의 소스 패킷들에 부가하여 전송된다. 리페어 패킷들은, 소스 패킷 손실이 발생할 경우, 수신된 리페어 패킷들이 그 손실된 소스 패킷들에 포함된 데이터를 복원하는데 사용될 수 있다는 특성을 갖는다. 리페어 패킷들은, 전체가 손실된 손실 소스 패킷들의 콘텐츠를 복원하는데 사용될 수 있지만, 또한, 부분적인 패킷 손실이 발생한 경우, 전체로 수신된 리페어 패킷들 또는 심지어 부분적으로 수신된 리페어 패킷들로부터 복원하는데 사용될 수도 있다. 따라서, 전체 또는 부분적으로 수신된 리페어 패킷들은 전체 또는 부분적으로 손실된 소스 패킷들을 복원하는데 사용될 수 있다.
또 다른 예에서, 예를 들어, 비트값들이 플립 (flip) 될 수도 있는 다른 타입의 손상이 전송된 데이터에 대해 발생할 수 있으며, 따라서, 리페어 패킷들은 그러한 손상을 정정하고, 가능한 정확하게 소스 패킷들의 복원을 제공하기 위해 사용 될 수도 있다. 다른 예에서, 소스 스트림이 별개의 패킷들에서 반드시 전송될 필요는 없지만, 대신, 예를 들어, 연속하는 비트-스트림으로서 전송될 수도 있다.
소스 스트림의 보호를 제공하는데 사용될 수 있는 FEC 코드들의 많은 예들이 존재한다. 리드-솔로몬 코드들은 통신 시스템에서 에러 및 소거 정정을 위한 주지된 코드이다. 예를 들어, 패킷 데이터 네트워크 상에서의 소거 정정에 있어서, 리드-솔로몬 코드들의 주지된 효율적인 구현은, L. Rizzo 의 "Effective Erasure Codes for Reliable Computer Communication Protocols", Computer Communication Review, 27(2): 24-36 (1997년 4월) (이하, "Rizzo") 및 Bloemer 등의 "An XOR-Based Erasure-Resilient Coding Scheme", Technical Report TR-95-48, International Computer Science Institute, Berkeley, California (1995) (이하, "XOR-리드-솔로몬) 등에서 설명된 바와 같은 코시 (Cauchy) 또는 방데르몽데 (Vandermonde) 매트릭스들을 사용한다.
FEC 코드들의 다른 예들은, LDPC 코드들, Luby I에 설명된 것과 같은 체인 리액션 코드들, 및 Shokrollahi I에서와 같은 멀티-스테이지 체인 리액션 코드들을 포함한다.
리드-솔로몬 코드들의 변형에 대한 FEC 디코딩 프로세스의 예들이 Rizzo 및 XOR-리드-솔로몬에 설명되어 있다. 이들 예에서, 충분한 소스 및 리페어 데이터 패킷들이 수신된 이후 디코딩이 적용된다. 디코딩 프로세스는 계산 집약적일 수도 있으며, 이용가능한 CPU 리소스들에 의존하여, 그 디코딩 프로세스는, 블록내의 미디어에 걸쳐 있는 시간 길이에 관해 완료하는데 상당한 시간이 걸릴 수도 있다. 수신기는, 미디어 스트림의 수신 시작과 그 미디어의 재생 사이에서 요구되는 지연을 계산할 경우, 디코딩을 위해 요구되는 이러한 시간 길이를 고려해야 한다. 디코딩으로 인한 이러한 지연은, 특정한 미디어 스트림에 대한 요청과 재생 시작 사이의 지연으로서 사용자에 의해 지각된다. 따라서, 이러한 지연을 최소화시키는 것이 바람직하다.
많은 애플리케이션들에서, 패킷들은, FEC 프로세스가 적용되는 심볼로 추가적으로 세분된다. 패킷은 하나 이상의 심볼 (또는 1 이하의 심볼, 하지만 일반적으로 심볼들은 패킷들에 걸쳐 분할되지 않음) 을 포함할 수 있다. 심볼은 임의의 사이즈를 가질 수 있지만, 종종 심볼의 사이즈는, 최대, 패킷의 사이즈와 동일하다. 소스 심볼들은, 송신될 데이터를 인코딩한 심볼들이다. 리페어 심볼들은, 소스 심볼들에 부가한 소스 심볼들로부터 직접 또는 간접적으로 생성된 심볼들이다 (즉, 모든 소스 심볼들이 이용가능하고 어느 리페어 심볼들도 이용가능하지 않으면, 송신될 데이터가 전체적으로 복원될 수 있다).
몇몇 FEC 코드들은, 인코딩 동작들이 블록에 존재하는 심볼(들)에 의존하고, 그 블록에 존재하지 않는 심볼들과 독립적일 수 있다는 점에서 블록-기반이다. 블록-기반 인코딩에 관하여, FEC 인코더는 블록내의 소스 심볼들로부터 그 블록에 대한 리페어 심볼들을 생성할 수 있으며, 그 후, 다음 블록으로 이동하지만, 인코딩될 현재 블록에 대한 소스 심볼들 이외의 소스 심볼들을 참조할 필요는 없다. 송신에서, 소스 심볼들을 포함하는 소스 블록은, (일부 소스 심볼들, 일부 리페어 심볼들, 또는 그 양자일 수도 있는) 인코딩된 심볼들을 포함하는 인코딩된 블록에 의해 표현될 수 있다. 리페어 심볼들의 존재로, 모든 소스 심볼들이 모든 인코딩된 블록에서 요구되지는 않는다.
몇몇 FEC 코드들, 특히, 리드-솔로몬 코드들에 있어서, 인코딩 및 디코딩 시간은, 소스 블록 당 인코딩된 심볼들의 수가 증가함에 따라 비실용적이 된다. 따라서, 실제로, 소스 블록 당 생성될 수 있는 인코딩된 심볼들의 총 수에 대해 실용적인 상한 (몇몇 애플리케이션에 있어서, 255 가 대략적인 실용적 제한임) 이 종종 존재하며, 특히, 리드-솔로몬 인코딩 또는 디코딩 프로세스가 커스텀 하드웨어에 의해 수행되는 통상적인 경우, 예를 들어, 패킷 손실에 대해 스트림들을 보호하기 위한 DVB-H 표준의 일부로서 포함된 리드-솔로몬 코드들을 사용하는 MPE-FEC 프로세스들은, 소스 블록 당 총 255개의 리드-솔로몬 전체 인코딩된 심볼들로 제한된 셀 전화기 내의 특수화된 하드웨어로 구현된다. 종종, 심볼들이 별개의 패킷 페이로드에 배치되도록 요구되므로, 이는 인코딩될 소스 블록의 최대 길이에 실용적인 상한을 둔다. 예를 들어, 패킷 페이로드가 1024 바이트 이하로 제한되고 각각의 패킷이 하나의 인코딩된 심볼을 운반하면, 인코딩된 소스 블록은 최대 255KB (킬로바이트) 일 수 있으며, 물론, 이것 역시 그 자체가 소스 블록의 사이즈에 대한 상한이다.
FEC 디코딩에 의해 도입된 디코딩 레이턴시를 최소화시키 위해, 소스 스트리밍 레이트를 유지하기에 충분히 고속으로 소스 블록들을 디코딩할 수 있는 것, 및 FEC 디코딩 동안 임의의 시점에 수신 디바이스 상에서 이용가능한 CPU의 작은 비율만을 사용할 수 있는 것과 같은 다른 관심사들이 이슈이다.
다른 관심사들은 스트림을 재생하는 것, 예를 들어, 개인용 컴퓨터를 사용하여 수신 오디오 및 비디오 스트림들을 디코딩 및 렌더링하고, 컴퓨터 스크린 상에서 비디오를 디스플레이하고 내장형 (built in) 스피커들을 통해 오디오를 플레이하는 것, 또는 또 다른 예로서, 셋톱 박스를 사용하여 수신 오디오 및 비디오 스트림들을 디코딩 및 렌더링하고, 텔레비전 디스플레이 디바이스 상에서 비디오를 디스플레이하고 스테레오 시스템을 통해 오디오를 재생하는 것을 시작하는 능력을 포함한다. 주요 관심사는, 사용자가 스트림으로서 전달된 신규한 콘텐츠를 워칭하는 (watch) 시간과 그 콘텐츠가 플레이하기 시작하는 시간 사이의 지연을 최소화시키는 것이며, 그 지연은, 이하, "콘텐츠 재핑 시간" 으로 지칭된다. 콘텐츠 재핑의 예는, 사용자가 제 1 스트림을 통해 전달된 제 1 콘텐츠를 워칭하고 있으며, 그 후, 제 2 스트림을 통해 전달된 제 2 콘텐츠를 워칭하길 원하여, 그 제 2 콘텐츠를 워칭하기 시작하는 액션을 개시하는 경우이다. 제 2 스트림은 제 1 스트림과 동일한 세트 또는 상이한 세트의 서버들로부터 전송될 수도 있다. 콘텐츠 재핑의 또 다른 예는, 사용자가 웹사이트를 방문하고 있고, 브라우저 윈도우내의 링크를 클릭함으로써 제 1 스트림을 통해 전달된 제 1 콘텐츠를 워칭하기 시작하길 원하는 경우이다. 콘텐츠 재핑의 또 다른 예는, 사용자가 동일한 콘텐츠 스트림 내의 신규한 위치에서, 앞 또는 뒤로 뷰잉을 탐색하고 뷰잉을 시작하길 원하는 경우이다. 콘텐츠 재핑 시간을 최소화시키는 것은, 사용자가 광범위한 이용가능 콘텐츠들을 탐색 및 샘플링할 경우 고품질의 신속한 콘텐츠 서핑 경험을 허용하기 위해 비디오 워칭에 중요하다. 종종, 고품질의 신속한 콘텐츠 서핑 경험은 사용자가 소비하는 콘텐츠의 양과 포지티브하게 상관된다.
콘텐츠 재핑 시간에 대한 주요 기여자가 하부 (underlying) FEC 구조인 경우가 종종 존재한다. 또 다른 관심사는, 콘텐츠의 일 부분의 재생의 종료와 콘텐츠의 또 다른 부분의 재생의 시작 사이의 시간 갭을 최소화시키는 것이며, 일시 정지가 거의 없거나 일시 정지가 전혀 없이 연속적인 것이 바람직하다. 예를 들어, 콘텐츠의 일 부분이 브로드캐스트 쇼이고 콘텐츠의 다음 부분이 광고이거나, 콘텐츠의 일 부분이 광고이고 콘텐츠의 다음 부분이 브로드캐스트 쇼일 경우, 그들의 재생 사이의 긴 갭 (이하, "콘텐츠 천이 시간" 으로서 지칭됨) 은 바람직하지 않다.
명확하게, 천이를 둘러싸는 시간 주기 동안 수신기로의 스트리밍 레이트를 최소화하면서, 동시에 콘텐츠 천이 시간을 최소화시키는 것이 바람직하다.
또 다른 관심사는, 패킷을 드롭시킬 수 있고, 패킷들이 전달되는데 걸리는 시간의 양에서 큰 변화를 초래할 수 있는 인터넷과 같은 베스트 에포트 (best effort) 전달 네트워크를 사용할 경우, 전달된 스트림의 품질을 최대화시키면서, 동시에, 대역폭과 같은 네트워크 리소스의 이용도를 최소화시키는 것이다.
또 다른 관심사는, 시스템의 컴포넌트들이 수신기들에 전달된 스트림들의 품질에 악영향을 주지 않으면서 실패하게 하는 강인하고 스케일러블한 스트리밍 전달 솔루션을 제공하는 것이다.
인터리빙은, 간헐적인 패킷 손실과 같은 채널 불완전성에 대한 우수한 보호를 제공하는데 사용될 수 있다. 예를 들어, 패킷 손실은 종종 다소 버스트적이 며, 따라서, 더 긴 시간 주기에 걸쳐 소스 블록을 확산시키는 것이 바람직할 수 있다. 몇몇 FEC 코드들에 있어서, 큰 소스 블록의 고유의 사용 (native use) 이 실용적이지만, 리드-솔로몬 코드와 같은 다른 FEC 코드들에 있어서, 사용될 수 있는 소스 블록 사이즈의 실용적인 제한이 종종 존재한다. 따라서, 소스 블록과 관련된 패킷들의 송신을 더 긴 시간 간격에 걸쳐 확산시키기 위해, 상이한 소스 블록들에 대한 인코딩된 심볼들을 포함하는 패킷들의 전송을 인터리빙하는 것이 바람직할 수 있다.
이전에, 상기 표현된 관심사들 중 몇몇을 해결하는 방법이 도입되었다. 예를 들어, 몇몇 신규한 FEC 소스 블록 포메이션 및 인터리빙 방법들이 Luby II에 설명되어 있다. 몇몇 인터리빙 방법들은, 인터리빙의 양이 전체 스트림에 대해 고정적이라는 점에서 정적이다. 따라서, 그러한 방법들에 의해 제공된 보호의 품질에 영향을 주는 인터리빙의 양과 콘텐츠 재핑 시간 사이에 트래이드-오프가 종종 존재하며, 즉, 더 많은 양의 인터리빙은 더 양호한 스트림 보호를 제공하지만 더 긴 콘텐츠 재핑 시간들을 제공하고, 이러한 트래이드-오프는 수신기로의 스트리밍의 전체 지속기간 동안 고정된 방식으로 결정된다.
스트림 전송 프로세스의 대부분 동안 더 짧은 콘텐츠 재핑 시간들 및 더 큰 양의 인터리빙을 제공하는 몇몇 방법들, 예를 들어, Watson에 설명된 몇몇 방법들이 존재한다. Watson에 설명된 방법들 중 몇몇은 짧은 초기 소스 블록들로부터 점점 더 긴 소스 블록들로 동적으로 천이하며, 천이 주기 동안, 콘텐츠 스트리밍 레이트보다 약간 더 빠른 레이트로 전송한다. 그러한 방법들은 더 짧은 콘텐츠 재핑 시간을 제공하면서, 동시에, 스트림이 진행함에 따라 제공된 보호의 품질의 강화 (build up) 를 허용한다. 예를 들어, Watson에 설명된 방법들 중 몇몇을 적용하는 일 방식은 소스 블록 구조를 결정하고, 스트림이 전송되고 있는 동안 FEC 인코딩을 수행하는 것이며, 즉, 짧은 소스 블록 구조 내지 긴 소스 블록 구조가 결정되고, 그들이 개별 수신기들에 액세스하는 각각의 포인트에서 그들이 전송될 경우 FEC 인코딩되며, 따라서, 소스 블록 구조 포메이션 및 FEC 인코딩은 각각의 수신기에 대해 고유하게 수행되고, 각각의 수신기에 전송된 스트림은 고유하다. 그러나, 스트림의 전달과 독립적으로, 예를 들어, 콘텐츠가 뷰잉되는 시간 및 콘텐츠 스트림에서 뷰잉이 개시되는 위치와 독립적으로, 및 스트림내의 데이터가 전달되는 순서와 독립적으로 결정되는 콘텐츠 스트림의 소스 블록 구조를 갖는 것이 종종 바람직하다. 특히, 이는, 콘텐츠 스트림이 다수의 서버들로부터 단일 수신기로 전달될 경우 중요하다.
따라서, 프로세스들 및 장치를 개선시키는 것이 바람직하다.
발명의 간단한 요약
본 발명의 양태들에 따른 인코더, 디코더 및 통신 시스템의 실시형태들은, 스트림이 임의의 소스 블록 구조와 독립적으로 송신될 경우 더 많은 양의 인터리빙을 동적으로 도입하기 위한 방법을 포함하는, 스트림들을 동적으로 인터리빙하는 방법들을 제공한다. 이들 방법들의 몇몇 이점은, 그 방법들이 인터리빙이 도입되지 않았던 경우보다 본래의 스트림내에서 훨씬 더 큰 시간 주기에 걸쳐 채널에서 손실들 또는 에러들을 확산시키고, FEC 코딩과 함께 이용될 경우, 패킷 손실 또는 패킷 손상에 대한 우수한 보호를 제공하고, 네트워크 지터에 대한 우수한 보호를 제공하며, 콘텐츠 재핑 시간 및 콘텐츠 천이 시간이 최소로 감소되게 한다는 것이다. 이들 방법들의 몇몇 부가적인 이점은, 일 콘텐츠로부터 또 다른 콘텐츠로의 스트리밍으로부터의 천이에 걸친 송신 스트리밍 레이트의 평활화, 및 최소의 콘텐츠 천이 시간들을 포함한다.
또한, 본 발명의 양태들에 따른 인코더, 디코더 및 통신 시스템의 실시형태들은, 데이터의 스트림을 서브-스트림들로 분할하는 것, 네트워크를 통하여 상이한 경로들에 따라 그 서브-스트림들을 수신기들에 전달하는 것, 및 잠재적으로 상이한 서버들로부터 전송된 상이한 서브-스트림들을 수신기에서 동시에 수신하는 것을 제공할 수도 있다. FEC 인코딩과 함께 사용될 경우, 그 방법들은, 잠재적으로 상이한 서버들로부터의 각각의 소스 블록의 인코딩의 부분을 전달하는 것을 포함한다. 이들 방법들의 몇몇 이점은, 개선된 콘텐츠 재핑 시간, 서버 실패 및 경로 실패에 대한 강인성, 디스크 실패에 대한 강인성, 패킷들의 손실 및/또는 손상에 대한 개선된 강인성, 전체 스트리밍 전달 솔루션의 개선된 스케일러빌러티 (scalability), 및 서버들 사이에서의 개선된 콘텐츠 저장 및 스트리밍 레이트 밸런싱을 포함한다.
또한, 본 발명의 양태들에 따른 인코더, 디코더 및 통신 시스템의 실시형태들은, 서브-스트림 전달과 동적 인터리빙을 결합시키는 것을 제공할 수도 있다. 예를 들어, 동적 인터리밍을 사용하여, 소스 블록 구조 및 FEC 인코딩이 결정될 수 있고, 인코딩된 스트림은 서브-스트림들로 분할될 수 있으며, 최소의 콘텐츠 재 핑 시간을 제공하는 강인한 스트리밍 전달 시스템을 제공하기 위해, 서브-스트림들의 결합들은 동적 인터리빙을 사용하여 수신기에 전달될 수 있다. 이들 결합된 방법들의 이점은 동적 인터리빙 및 서브-스트림 전달의 이점들의 결합이다.
첨부한 도면 및 다음의 상세한 설명은 본 발명의 본질 및 이점들에 대한 양호한 이해를 제공할 것이다.
도면의 간단한 설명
도 1은 본 발명의 일 실시형태에 따른 통신 시스템의 블록도이다.
도 2는 콘텐츠 재핑 시간을 도시한 다이어그램이다.
도 3a는 콘텐츠 재핑 시간의 컴포넌트들을 예시한 도면이다.
도 3b는 디코딩 동안의 FEC에 대한 CPU 이용도를 예시한 도면이다.
도 4는 콘텐츠 스트림의 소스 블록 구조, 및 각각의 소스 블록에 대한 대응하는 콘텐츠 스트림 레이트의 표현을 예시한 도면이다.
도 5는 도 4의 콘텐츠 스트림에 대응하는 인코딩된 블록 구조를 예시한 도면이다.
도 6은 기본적인 전송기 방법에 대응하는 콘텐츠 재핑 시간 및 수신기를 예시한 도면이다.
도 7은 스트림 전송의 테이프 방법을 예시한 도면이다.
도 8은 스트림 전송의 테이프 방법에 따른 정적 인터리빙을 예시한 도면이다.
도 9는 정적 인터리빙 전송기 방법에 대응하는 콘텐츠 재핑 시간 및 수신기 를 예시한 도면이다.
도 10은, 신규한 스트림이 수신기로 전송될 경우의 동적 인터리빙 전송기 방법을 예시한 도면이다.
도 11은 동적 인터리빙 전송기 방법에 대하여 수신기에 의해 경험된 콘텐츠 재핑 시간 및 롱-텀 (long-term) 보호 주기를 예시한 도면이다.
도 12는 동적 인터리빙 전송기 방법에 대해 2개의 연속하는 콘텐츠 세그먼트들 사이에서의 콘텐츠 천이를 예시한 도면이다.
도 13은 동적 인터리빙 전송기 방법에 대해 2개의 연속하지 않은 콘텐츠 세그먼트들 사이에서의 콘텐츠 천이를 예시한 도면이다.
도 14는 서브-스트림 기반 전달 방법에서 사용될 헤드-엔드 서버로부터 다양한 분산된 서버들로 분산되는 인코딩된 콘텐츠 스트림을 예시한 도면이다.
도 15는 서브-스트림 기반 전달 방법에서, 다양한 분산된 서버들로부터 콘텐츠 스트림을 요청하고, 이들 서버들 중 몇몇으로부터 인코딩된 콘텐츠 스트림들을 수신하는 수신기를 예시한 도면이다.
발명의 상세한 설명
실시형태들은, 스트림이 임의의 소스 블록 구조와 독립하여 송신되는 경우 더 많은 양의 인터리빙을 동적으로 도입하기 위한 방법들을 포함하는, 스트림들을 동적으로 인터리빙하는 신규한 방법들을 제공하며, 여기서, 그 송신은 네트워크 등을 통한다. 또한, 실시형태들은, 데이터의 스트림을 서브-스트림들로 분할하고, 네트워크를 통해 상이한 경로들에 따라 수신기들로 그 서브-스트림들을 전달하 며, 잠재적으로 상이한 서버들로부터 전송된 상이한 서브-스트림들을 수신기에서 동시에 수신하는 신규한 방법들을 제공한다. FEC 인코딩과 함께 사용될 경우, 그 방법들은, 잠재적으로 상이한 서버들로부터의 각각의 소스 블록의 인코딩의 부분을 전달하는 것을 포함한다. 또한, 실시형태들은, 동적 인터리빙을 서브-스트림 전달과 결합시키는 신규한 방법들을 제공한다.
이하, 여기에 설명된 프로세스들 및 방법들이 연속하는 비트-스트림 네트워크와 같은 다른 타입의 송신 네트워크에 적용될 수 있는 방법을 당업자가 용이하게 관측할 수 있다는 인식으로, 여기에서의 설명을 간략화하기 위해, 데이터를 운반하는 네트워크는 패킷-기반인 것으로 가정된다. 이하, 여기에 설명된 프로세스들 및 방법들이 비트-플립과 같은 다른 타입의 데이터 송신물 손상에 적용될 수 있는 방법을 당업자가 용이하게 관측할 수 있다는 인식으로, 여기에서의 설명을 간략화하기 위해, 패킷내의 손실된 패킷들 또는 손실된 부분 데이터에 대한 보호를 제공하도록 FEC 코드들이 가정된다. 본 설명에서, 인코딩될 데이터 (소스 데이터) 가 임의의 길이일 수 있는 동일한 길이의 "심볼" 로 (단일 비트까지) 분할되지만, 데이터의 상이한 부분들에 대해 상이한 길이일 수 있다고 가정한다.
심볼들은 데이터 네트워크를 통해 패킷 단위로 운반될 수 있으며, 전체 개수의 심볼들은 명시적으로 운반되거나 각각의 패킷에 내포된다. 몇몇 경우, 소스 패킷이 심볼 길이의 배수가 아닌 것이 가능하며, 이러한 경우, 패킷에서의 최종 심볼은 절단될 수도 있다. 이러한 경우에서, FEC 코딩의 목적을 위해, 이러한 최종 심볼은 고정된 패턴의 비트들, 예를 들어, 제로-값 비트들로 패딩된다고 묵시적 으로 가정되므로, 이들 비트들이 패킷에서 운반되지 않더라도, 여전히 수신기는 이러한 최종 절단된 심볼을 전체 심볼에 채울 수 있다. 다른 실시형태에서, 고정된 패턴의 비트들은 패킷에 배치될 수 있으며, 그에 의해, 패킷의 길이와 동일한 길이로 심볼들을 효율적으로 패딩한다. 종종, 심볼의 사이즈는 비트 단위로 측정될 수 있으며, 여기서, 심볼은 M 비트의 사이즈를 갖고, 그 심볼은 2^M (2 내지 M의 거듭제곱) 심볼들의 알파벳으로부터 선택된다. 또한, 넌-바이너리 디지트가 고려되지만, 바이너리 비트들이 더 일반적으로 사용되므로 선호된다.
스트리밍과 함께 사용하기 위해 고려되는 FEC 코드들은 통상적으로 시스템매틱 (systematic) FEC 코드들이며, 즉, 소스 블록의 소스 심볼들이 소스 블록의 인코딩의 일부로서 포함되고, 따라서, 소스 심볼들이 송신된다. 당업자가 인식할 바와 같이, 여기에 설명된 방법들 및 프로세스들은 시스템매틱이 아닌 FEC 코드들에 또한 동일하게 적용된다. 시스템매틱 FEC 인코더는 소스 심볼들의 소스 블록으로부터 몇몇 수의 리페어 심볼들을 생성하고, 소스 및 리페어 심볼들의 적어도 일부의 결합은, 소스 블록을 나타내는, 채널을 통해 전송된 인코딩된 심볼들이다. "정보 가산 코드" 또는 "파운틴 코드 (fountain code)" 와 같은 몇몇 FEC 코드들은 필요한 만큼 많은 리페어 심볼들을 효율적으로 생성하는데 유용하며, 이들 코드들의 예들은 "체인 리액션 코드" 및 "멀티-스테이지 체인 리액션 코드" 를 포함한다. 실제로, 리드-솔로몬 코드와 같은 다른 FEC 코드들은 각각의 소스 블록에 대해 제한된 수의 리페어 심볼들만을 생성할 수 있다.
심볼들을 운반하기 위한 많은 다른 방법들이 존재하며, 아래의 설명이 간략 화를 위해 패킷들에 대한 방법을 사용하지만, 제한하거나 포괄적인 것으로 의미되지는 않는다. 아래의 설명의 콘텍스트에서, "패킷" 이라는 용어는, 문자 그대로 데이터의 단일 유닛으로서 전송되는 것을 의미하도록 제한하려는 의미가 아니다. 대신, 데이터의 단일 유닛으로서 전송될 수도 있거나 전송되지 않을 수도 있는 심볼들 및 부분 심볼들의 논리적인 그룹화를 정의하는 더 넓은 의미를 포함하는 것을 의미한다.
또한, 후술되는 방법들이 동일하게 적용되는, 심볼들의 손실 이외에 데이터의 손상 형태, 예를 들어, 송신에서 그들의 값을 변경시키거나 다른 방식으로 손상되는 심볼들이 존재한다. 따라서, 아래의 설명이 종종 심볼들의 손실을 설명할 것이지만, 그 방법들은 다른 타입의 손상 및 FEC 에러-정정 코드와 같이 FEC 소거 코드보다 뛰어난 다른 타입의 FEC 코드들에 또한 동일하게 적용된다.
FEC 코드 실시예
도 1은 체인 리액션 FEC 코딩을 사용하는 통신 시스템 (100) 의 블록도이다. 통신 시스템 (100) 에서, 입력 파일 (101), 또는 입력 스트림 (105) 가 입력 심볼 생성기 (110) 에 제공된다. 입력 심볼 생성기 (110) 는 입력 파일 또는 스트림으로부터 하나 이상의 입력 심볼들의 시퀀스 (IS(0), IS(1), IS(2), ...) 를 생성하며, 각각의 입력 심볼은 (괄호로 묶인 정수로서 도 1에 도시된) 일 값 및 일 위치를 갖는다. 통상적으로, 입력 심볼들에 대한 가능한 값들, 즉, 그의 알파벳은 2백만 심볼들의 알파벳이므로, 각각의 입력 심볼은 입력 파일의 M 비트에 대해 코딩된다. 일반적으로 M의 값은 통신 시스템 (100) 의 사용에 의해 결정되 지만, 범용 시스템은, M이 사용에 따라 변경될 수 있도록 입력 심볼 생성기 (110) 에 대해 입력된 심볼 사이즈를 포함할 수도 있다. 입력 심볼 생성기 (110) 의 출력은 인코더 (115) 에 제공된다.
키 생성기 (120) 는 인코더 (115) 에 의해 생성될 각각의 출력 심볼에 대한 키를 생성한다. 이러한 또는 또 다른 키 생성기에 의해 생성되든지 간에, 각각의 키는, Luby I 또는 Shokrollahi I 에 설명된 방법들 중 하나, 또는 스트림내의 데이터 블록 또는 동일한 입력 파일에 대해 생성된 키들의 큰 부분이 고유하다는 것을 보장하는 임의의 비교가능한 방법에 따라 생성될 수 있다. 예를 들어, 키 생성기 (120) 는 카운터 (125) 의 출력, 고유한 스트림 식별자 (130), 및/또는 랜덤 생성기 (135) 의 출력의 조합을 사용하여, 각각의 키를 생성할 수도 있다. 키 생성기 (120) 의 출력은 인코더 (115) 에 제공된다. 다른 예, 예를 들어, 몇몇 스트리밍 애플리케이션에서, 키들의 세트는 스트림내의 각각의 데이터 블록에 대해 고정될 수도 있고 다시 재사용될 수도 있다. 통상적인 실시형태에서, 생성될 수 있는 키들의 수는, 입력 파일 또는 스트림의 사이즈 또는 다른 특징보다는 키 생성기의 레졸루션 (resolution) 에 의해 지시된다. 예를 들어, 종종, 입력이 약 1000 심볼 이하인 것으로 기대되면, 키 레졸루션은, 최대 4십억개의 고유 키들을 허용하는 32-비트일 수도 있다. 이들 상대적인 수들의 일 결과는, 키들에 따라 인코딩하는 인코더가 4천개의 입력 심볼들에 대해 4십억개의 고유한 출력 심볼들을 생성할 수 있을 수도 있다는 것이다. 실제로, 대부분의 통신 시스템들은 심볼들의 0.999999 부분을 손실하지 않을 것이므로, 4십억개의 출력 심볼들이 생성될 필요는 없을 것이며, 따라서, 가능한 키들의 수는, 사실상 제한되지 않고 반복될 필요가 없는 것으로 처리될 수 있고, 키들의 2개의 독립적인 선택이 동일한 키를 잡을 확률은 매우 작아진다. 그러나, 그것이 몇몇 원인에 대한 경우이면, 키 생성기의 레졸루션은, 키들을 사용하는 프로세스들이 키의 무한 공급이 존재하는 것처럼 작동할 수 있도록 증가될 수 있다.
키 생성기 (120) 에 의해 제공된 각각의 키 I 로부터, 인코더 (115) 는, 입력 심볼 생성기에 의해 제공된 입력 심볼들로부터 값 B(I) 를 갖는 출력 심볼을 생성한다.
각각의 출력 심볼의 값은, 그의 키, 및 여기에서 출력 심볼의 "관련 입력 심볼" 또는 단지 그의 "관련자 (associate)" 으로서 지칭되는 입력 심볼들 중 하나 이상의 몇몇 함수 (function) 에 기초하여 생성된다. 항상 그렇하지는 않지만 통상적으로, M은 입력 심볼 및 출력 심볼에 대해 동일하며, 즉, 그들 모두는 동일한 수의 비트들에 대해 코딩된다. 몇몇 실시형태에서, 입력 심볼들의 수 K 는 인코더에 의해 사용되어 관련자들을 선택한다. 입력이 스트림이고 K가 그 스트림내의 각각의 블록 사이에서 변할 수 있는 경우에서와 같이 K가 미리 알려지지 않으면, K는 단지 추정치일 수 있다. 또한, 값 K는 인코더 (115) 에 의해 사용되어, 입력 심볼들을 위한 저장부를 할당할 수도 있다.
인코더 (115) 는 출력 심볼들을 송신 모듈 (140) 에 제공하고, 키 생성기 (120) 는 각각의 그러한 출력 심볼의 키를 송신 모듈 (140) 에 제공한다. 송신 모듈 (140) 은 그 출력 심볼들을 송신하며, 사용된 키잉 방법에 의존하여, 송신 모 듈 (140) 은 송신된 출력 심볼들의 키들에 관한 몇몇 데이터를 채널 (145) 을 통해 수신 모듈 (150) 로 또한 송신할 수도 있다. 채널 (145) 은 소거 채널인 것으로 가정되지만, 그것은 통신 시스템 (100) 의 적절한 동작을 위한 요건은 아니다. 모듈들 (140, 145 및 150) 은, 송신 모듈 (140) 이 출력 심볼들 및 그들의 키들에 관한 임의의 필요한 데이터를 채널 (145) 로 송신하도록 구성되고, 수신 모듈 (150) 이 심볼들 및 그들의 키들에 관한 잠재적인 몇몇 데이터를 채널 (145) 로부터 수신하도록 구성되는 한, 임의의 적절한 하드웨어 컴포넌트들, 소프트웨어 컴포넌트들, 물리 매체, 또는 이들의 임의의 조합일 수 있다. 관련자를 결정하는데 사용될 경우, K의 값은 채널 (145) 을 통해 전송될 수 있거나, 인코더 (115) 및 디코더 (155) 의 협의에 의해 이전에 셋팅될 수도 있다.
채널 (145) 은, 인터넷, 또는 텔레비전 송신기로부터 텔레비전 수신기로의 브로드캐스트 링크, 또는 일 포인트로부터 또 다른 포인트로의 전화 접속을 통한 경로와 같은 실-시간 채널일 수 있거나, 채널 (145) 은 CD-ROM, 디스크 드라이브, 웹 사이트 등과 같은 저장 채널일 수 있다. 심지어, 채널 (145) 은, 개인용 컴퓨터로부터 인터넷 서비스 제공자 (ISP) 로 전화선을 통해 입력 파일을 송신할 경우 형성되는 채널과 같은, 실-시간 채널과 저장 채널의 조합일 수도 있으며, 그 입력 파일은 웹 서버상에 저장되고, 인터넷을 통해 수신자에게 순차적으로 송신된다.
채널 (145) 이 패킷 네트워크를 포함하는 경우, 통신 시스템 (100) 은, 임의의 2개 이상의 패킷들의 상대적인 순서가 채널 (145) 을 통한 통로 (transit) 에서 유지된다고 가정할 수 없을 수도 있다. 따라서, 출력 심볼들의 키는 상술된 키 잉 방식들 중 하나 이상을 사용하여 결정되며, 출력 심볼들이 수신 모듈 (150) 을 퇴장하는 순서에 의해 결정될 필요는 없다.
수신 모듈 (150) 은 디코더 (155) 에 출력 심볼들을 제공하며, 이들 출력 심볼들의 키들에 관해 수신 모듈 (150) 이 수신한 임의의 데이터는 키 재생성기 (160) 에 제공된다. 키 재생성기 (160) 는 수신 출력 심볼들에 대한 키들을 재생성하고, 이들 키들을 디코더 (155) 에 제공한다. 디코더 (155) 는, 키 재생성기 (160) 에 의해 제공된 키들을 대응하는 출력 심볼들과 함께 사용하여, 입력 심볼들 (또한, IS(0), IS(1), IS(2), ...) 을 복원한다. 디코더 (155) 는, 입력 파일 (101) 의 카피 (170) 또는 입력 스트림 (105) 의 카피 (175) 를 생성하는 입력 파일 리어셈블러 (165) 에 복원된 입력 심볼들을 제공한다.
미디어 스트리밍 애플리케이션
미디어 스트리밍 애플리케이션에서 사용될 경우, 소스 미디어 스트림을 형성하는 소스 패킷들은 소스 블록으로 지칭되는 그룹에서 종종 수집된다. 예를 들어, 소스 블록은 고정된 시간 길이만큼 이격된 소스 패킷들의 그룹일 수 있으며, 예를 들어, 리드-솔로몬 소거 코드는, 소스 블록의 본래의 소스 패킷들과 함께 수신기들에 전송된 리페어 패킷들을 생성하기 위해, 이들 소스 블록들과 독립하여 적용될 수 있다.
전송기에서, 소스 스트림은, 소스 패킷들이 도달할 때마다 소스 블록들로 연속적으로 분할될 수 있으며, 리페어 패킷들은 각각의 소스 블록들에 대해 생성되어 전송된다. 특히 라이브 또는 인터랙티브 (interactive) 스트리밍 애플리케이션 에 있어서, FEC 코드들의 사용에 의해 부가된 총 엔드-투-엔드 (end-to-end) 지연을 최소화시키는 것이 종종 바람직하며, 따라서, 전송되기 전에 전송기에서 소스 패킷들이 가능한 적게 지연되도록 FEC 솔루션의 전체 설계가 행해지는 것이 종종 바람직하고, 소스 블록에 대한 모든 소스 및 리페어 패킷들은 가능한 적은 총 지연으로 전송된다. 또한, FEC 인코딩된 스트림 대역폭 이용도를 더 예측가능하게 만들고, 네트워크 및 다른 가능한 경쟁 스트림들에 대한 영향을 최소화시키기 때문에, FEC 인코딩된 스트림의 레이트가 가능한 평활한 것이 바람직하며, 즉, FEC 인코딩된 스트림 레이트에서 가능한 적은 가변성이 존재하거나, 적어도, 본래의 소스 스트림에 이미 존재하는 임의의 가변성의 증폭이 존재하지 않는 것이 바람직하다. 또한, 버스트 손실에 대해 가장 양호한 보호를 제공하므로, 소스 블록에 대해 패킷들에서 전송된 데이터가, 패킷들이 그 소스 블록에 대해 전송되는 주기에 걸쳐 가능한 균일하게 확산되는 것이 바람직하다. 또한, 콘텐츠 재핑 시간 및 콘텐츠 천이 시간을 최소화시키는 방식으로 소스 블록들이 구성되는 것이 바람직하다. 또한, 수신기에서의 로직이 가능한 간단한 것이 바람직하다.
수신기에서, 패킷들이 손실되거나 (예를 들어, CRC 체크를 사용하여 검출 및 폐기될 수 있는) 에러를 갖고 수신될 경우, 충분한 리페어 패킷들이 수신된다고 가정하면, 그 리페어 패킷들은 손실된 소스 패킷들을 복원하는데 사용될 수도 있다.
몇몇 애플리케이션에서, 패킷들은, FEC 프로세스가 적용되는 심볼들로 추가적으로 세분된다. 몇몇 FEC 코드, 특히, 리드-솔로몬 코드에 있어서, 소스 블록 당 인코딩된 심볼들의 수가 증가함에 따라, 인코딩 및 디코딩 시간이 비실용적 으로 증가하며, 종종, 소스 블록 당 생성될 수 있는 인코딩된 심볼들의 총 수에 대한 상한이 존재한다. 심볼들이 상이한 패킷 페이로드에 배치되므로, 이것은 소스 블록의 인코딩에 대한 최대 길이에 실용적인 상한을 두며, 또한 물론, 소스 블록의 사이즈 그 자체에 상한을 둔다.
많은 애플리케이션에 있어서, 긴 시간 주기에 걸쳐 보호가 제공되는 경우 또는 미디어 스트리밍 레이트가 높은 경우, 최대 소스 블록 사이즈를 초과하는 데이터에 대해 보호를 제공하는 것이 바람직할 수 있다. 이들 경우에서, 최대 소스 블록 사이즈보다 짧은 소스 블록을 사용하고, 그 후, 상이한 소스 블록들로부터의 소스 패킷들을 인터리빙하는 것은, 전송된 개별 소스 블록으로부터의 소스 패킷들이 더 큰 시간 주기에 걸쳐 확산되는 솔루션을 제공한다. 다른 애플리케이션에 있어서, 짧은 콘텐츠 재핑 시간이 바람직할 경우 및 소스 블록 구조가 인터리빙 방법과 독립하여 결정될 경우, 더 짧은 소스 블록들을 사용하고, 콘텐츠가 수신기에 의해 액세스될 경우 그 소스 블록들을 초기에 순차적으로 전송하며, 그 후, 버스트 손실에 대한 보호 레벨을 증가시키도록 더 긴 시간 간격에 걸쳐 소스 블록들의 전송을 확산시키기 위해, 콘텐츠 스트리밍이 계속될 경우 인터리빙 양을 증가시키는 것이 바람직하다.
또 다른 관심사는, 소스 스트리밍 레이트를 유지하기에 충분히 고속으로 소스 블록들을 디코딩할 수 있는 것, FEC 디코딩에 의해 도입된 디코딩 레이턴시를 최소화시킬 수 있는 것, 및 FEC 디코딩 동안 임의의 시점에 수신 디바이스 상에서 이용가능한 CPU의 작은 비율만을 사용하는 것이다. 따라서, 각각의 소스 블록 의 FEC 디코딩이 시간이 걸쳐 가능한 동등하게 확산되게 하고 FEC 디코딩 레이턴시를 최소화시키는 소스 블록 인터리빙을 사용하는 것이 바람직하다.
여기에 설명된 다양한 실시형태들은 이들 이점들 중 하나 이상을 제공한다.
스트리밍 및 FEC 코드들
소스 스트림의 FEC 보호를 제공하는 목적을 위해, 소스 스트림은 하나 이상의 논리 스트림들의 결합일 수도 있으며, 그 결합의 예들은, 오디오 RTP 스트림과 비디오 RTP 스트림의 결합, MIKEY 스트림과 RTP 스트림의 결합, 2개 이상의 비디오 스트림들의 결합, 및 제어 RTCP 트래픽과 RTP 스트림의 결합이다. 예를 들어, 소스 비트 스트림, 소스 심볼 스트림, 또는 소스 패킷 스트림인 포맷으로 소스 스트림이 전송기에 도달할 경우, 전송기는 그 스트림을 소스 블록들에 버퍼링하고, 그 소스 블록들로부터 리페어 스트림을 생성할 수도 있다. 전송기는, 예를 들어, 패킷 네트워크를 통해 전송될 패킷들에서 소스 스트림 및 리페어 스트림을 스케줄링 및 전송할 수 있다. FEC 인코딩된 스트림은, 결합된 소스 및 리페어 스트림이다. FEC 수신기는, 예를 들어, 손실 또는 비트-플립으로 인해 손상될 수도 있는 FEC 인코딩된 스트림을 수신한다. FEC 수신기는, 소스 스트림의 본래의 소스 블록들을 재구성하길 시도하고, 수신기에서 본래의 소스 스트림을 스케줄링하며, 그 스트림을 이용가능하게 한다.
많은 애플리케이션들에 있어서, 소스 블록 구조는 하부 스트림들의 구조, 예를 들어, GOP 구조 및/또는 H.264 AVC 비디오 스트림의 프레임 구조와 함께 결정된다. 이들 애플리케이션들 중 몇몇에 있어서, 소스 블록 구조는 패킷들의 스트 림 전송 순서 이전에 및/또는 그 순서와 독립하여 결정되며, 여기서, 그 패킷들의 스트림 전송 순서는 그 스트림을 수신하기 위해 그 스트림이 수신기들에 의해 액세스되는 시간 및 장소에 의존할 수도 있다. 그러한 애플리케이션들에 있어서, 콘텐츠 재핑 시간 및 콘텐츠 천이 시간의 최소화를 허용하기 위해, 각각의 소스 블록이 스트림으로부터의 소스 패킷들의 연속하는 세트를 포함하는 방식으로 소스 블록 구조가 결정되는 것이 바람직하다.
몇몇 애플리케이션들에 있어서, 소스 블록 구조 포메이션 및 스트림의 FEC 인코딩은 스트림의 전송 이전에 수행되는 것이 바람직하다. 이에 대한 일 이유는, 스트림이 많은 수신기들로 전송될 수도 있고, 따라서, 소스 블록 구조 포메이션 및 FEC 인코딩이 모든 수신기들에 대해 한번 행해진다는 것이며, 이는 몇몇 스케일러빌러티 이점들을 제공한다.
스트리밍 애플리케이션에 있어서, 소스 스트림을 보호하기 위해 FEC 코드들을 사용하는 방법의 설계에 대한 입력들인 몇몇 키 파라미터들, 및 통상적으로 최적화하는데 중요한 몇몇 키 메트릭들이 존재한다.
소스 블록 구조의 설계에서 하나의 가능한 키 입력 파라미터는 소스 블록 지속기간이다. 소스 블록에 대한 소스 블록 지속기간은, 소스 블록들이 순차적으로 전송되었고, 즉, 인터리빙되지 않았고, 그들이 노멀 속도로, 즉, 본질적으로 노멀 재생 속도로 전송되었다면, 그 소스 블록으로부터 생성된 심볼들이 전송될 시간 지속기간으로서 정의될 수 있다. 다른 방법으로, 소스 블록 지속기간은, 소스 블록에 의해 표현된 비디오의 재생 시간이도록 정의될 수 있다. 몇몇 경우에 서, 이들 2개의 정의는 일치하지만, 일치하지 않을 수도 있다. 그러나, 여기에서의 설명에서 간략화를 위해, 2개의 정의들이 일치한다는 간략화 가정을 이용하여, 어느 정의가 의미되는지를 특정하지 않으면서 소스 블록 지속기간을 사용한다. 당업자는, 2개의 정의들이 일치하지 않더라도, 여기에 설명된 방법들 및 프로세스들이 소스 블록 지속기간 정의 중 어느 하나에 관한 것이며, 심지어 몇몇 경우에서, 소스 블록이 그의 재생 레이트보다 훨씬 더 빠르게 전송될 수도 있다는 것을 인식할 것이다. 또한, 당업자는, 예를 들어, 소스 블록내의 심볼들의 수 및 소스 블록에 대한 심볼 사이즈를 특정함으로써, 소스 블록의 사이즈 또는 재생 시간을 특정하는 다른 방식이 존재한다는 것을 인식할 것이다.
소스 블록 전송이 몇몇 소스 블록들로부터의 패킷들의 전송을 다른 소스 블록들로부터의 패킷들의 전송과 인터리빙하는지 간에, 소스 블록에 대한 보호 주기는 그 소스 블록이 전송되는 시간 주기이다. 소스 블록 인터리빙이 사용되지 않으면, 보호 주기가 일반적으로 소스 블록 지속기간과 동일하지만, 인터리빙이 사용된 경우, 보호 주기는 소스 블록 지속기간보다 더 길 수 있고, 종종 실질적으로 더 길다는 것을 유의한다.
소스 블록에 대한 보호량은 그 소스 블록에 대해 전송된 FEC 리페어 심볼들의 수이며, 그 소스 블록내의 소스 블록들의 수의 비율 또는 퍼센티지로서 표현된다. 예를 들어, 보호량이 20% 이고 소스 블록내에 10,000 개의 소스 심볼들이 존재하면, 소스 블록으로부터 생성된 2,000 개의 리페어 심볼들이 존재한다. 보호량은 상대적인 개념이며, 즉, 동일한 소스 블록에 대한 보호량은, 소스 블록이 어디로부터 전송되는지 및 소스 블록이 어디로 전송되는지에 의존하여 변할 수도 있다. 예를 들어, 소스 블록이 제 1 서버로부터 또 다른 서버에 50% 의 보호양으로 전송될 수도 있지만, 동일한 소스 블록이 제 2 서버로부터 수신기에 10% 의 보호량으로 전송될 수도 있다.
소스 블록 지속기간 및 소스 블록 당 보호량 양자는 일 소스 블록으로부터 다음의 소스 블록까지 변할 수 있다. 예를 들어, 소스 블록이 소스 스트림내의 특정한 소스 패킷들 사이에 걸쳐 있지 않는 것이 바람직한 경우, 예를 들어, 제 1 패킷이 MPEG2 비디오 스트림에서 GOP (Group of Picutre) 의 최종 패킷이고, 연속하는 제 2 패킷이 다음의 GOP의 첫번째 패킷일 경우, 소스 패킷은 그 제 1 패킷 이후 종료될 수도 있으며, 신규한 소스 블록이 그 제 2 패킷에서 시작할 수도 있다. 이것은 FEC 인코딩된 블록이 비디오 코딩 블록으로 정렬되게 하며, 이는, 수신기에서 비디오 버퍼링 및 FEC 버퍼링의 결합을 최소화시키는 가능성으로 인해 수신기 레이턴시 또는 채널 재핑 시간이 최소화될 수 있는 이점을 포함하는 많은 이점들을 가질 수 있다. 다른 애플리케이션에서, 다양한 원인들에 대해, 각각의 연속하는 소스 블록에 대해 동일한 소스 블록 지속기간 및/또는 소스 블록 사이즈를 항상 유지하는 것이 바람직할 수 있다. 아래의 설명 중 일부에서, 간략화를 위해, 소스 블록 지속기간 및 보호량 양자는 각각의 후속 소스 블록에 대해 동일한 것으로 가정된다. 당업자에 대하여, 본 명세서를 판독한 이후, 보호량 또는 소스 블록 지속기간 중 어느 하나 또는 양자가 일 소스 블록으로부터 다음의 소스 블록까지 변할 경우, 및 소스 블록 사이즈가 일 소스 블록으로부터 다음의 소스 블록 까지 변할 경우, 여기에 설명된 프로세스들 및 방법들이 적용되는 방법을 본 명세서를 판독할 시에 용이하게 결정할 수 있으므로, 본 발명이 제한이 아님이 명백할 것이다.
후속 설명들 중 일부를 간략화하기 위해, 종종, 소스 심볼이 수신된 제 1 소스 블록에서 소스 심볼 손실이 존재하지 않고, 각각의 후속 소스 블록에서 인코딩된 심볼 손실이, 최대, 성공적인 FEC 디코딩을 허용하는데 가능한 최대값이라고 가정하여, 소스 블록 포메이션 및 FEC 인코딩을 수행하는 전송기에서 본래의 스트림의 소스 심볼들이 정상 레이트로 도달한다고 가정하고, 일단 먼저 FEC 수신기가 그 수신기에서 소스 심볼들을 이용가능하게 하면, 후속 소스 심볼들이 동일한 정상 레이트로 FEC 수신기에 의해 이용가능하게 된다고 가정한다. 이러한 간략화 가정은 후속하여 설명되는 프로세스들 및 방법들의 동작 또는 설계에서 고유하지 않으며, 이들 프로세스들을 임의의 방식으로 이러한 가정에 제한하는 것을 의미하는 것이 아니라, 프로세스들 및 방법들의 특성들에 대한 설명들 중 일부를 간략화하기 위한 툴로서만 도입된다. 예를 들어, 가변 레이트 스트림들에 있어서, 대응하는 조건은, 소스 심볼들이 전송기에 도달하는 레이트와 동일한 또는 근접한 레이트로 FEC 수신기에 의해 이용가능하게 되는 것이다. 몇몇 애플리케이션들에 있어서, 수신기에서, 콘텐츠 재핑 시간을 최소화시키기 위해 디코딩된 소스 심볼들을 비디오 플레이어에 가능한 신속하게 전달하는 것이 바람직하며, 그러한 경우, 소스 심볼들은 소스 블록들의 버스트로 전달될 수도 있다. 몇몇 애플리케이션들에서, 소스 블록 포메이션, FEC 인코딩 및 전송 단계들을 2개 이상의 상이한 단계들 로 분리시키는 것이 바람직하다. 예를 들어, 후술될 바와 같이, 소스 블록 포메이션 및 FEC 인코딩은 하나의 서버에서 수행될 수도 있으며, 그 후, 인코딩된 스트림은 서브-스트림들로 분할되고, 그 후, 그 서브-스트림들은 하나 이상의 분산된 서버들에 전송되고 로컬적으로 캐시되며, 그 후, 서브-스트림들 중 몇몇 또는 전부가 그 하나 이상의 분산된 서버들 중 몇몇으로부터 수신기로 전송된다.
최소화하는데 중요한 몇몇 키 메트릭들은, 전송기에 의해 도입된 레이턴시인 전송기 레이턴시를 포함한다. 전송기 레이턴시를 최소화시키는 것은, 라이브 비디오 스트리밍과 같은 몇몇 애플리케이션들 또는 비디오 화상회의와 같은 쌍방향 애플리케이션들에 대해 바람직하다. 전송기 레이턴시를 최소화시키는 것을 보조하는 전체 설계의 일 양태는, 전송기가 스트림에 관한 초기 소스 블록 또는 블록들에 대한 인코딩된 심볼들을 수신기에 연속하는 순서로 전송하는 것이다. 전송기 레이턴시를 최소화시키는 다른 설계 양태들이 후술된다.
또 다른 중요한 메트릭은 콘텐츠 재핑 시간이다. 도 2에 도시된 바와 같이, 이러한 콘텐츠 재핑 시간은 수신기가 스트림을 조인 (join) 하거나 요청하는 시간과 FEC 수신기가 먼저 스트림으로부터의 소스 심볼들을 이용가능하게 하는 시간 사이의 시간이다. 일반적으로, 콘텐츠 재핑 시간을 최소화시키는 것이 바람직하며, 이는, 스트림이 수신기에 의해 조인되는 시간과, 예를 들어, 비디오 스트림의 재생을 위해 먼저 스트림이 수신기에서 이용가능하게 되기 시작하는 시간 사이의 시간량을 최소화시킨다. 콘텐츠 재핑 시간을 최소화시키는 중요한 일 양태는, 전송기가 초기 소스 블록들에 대한 인코딩된 심볼들의 본래의 전송 순서를 유지하는 것이지만, 후술될 바와 같이, 콘텐츠 재핑 시간에 큰 영향을 주는 많은 다른 중요한 설계 양태들이 존재한다.
통상적으로, 콘텐츠 재핑 시간은 다수의 컴포넌트들을 포함한다. 순차적인 소스 블록들로 분할되는 스트림에 대한 이들 컴포넌트들의 예들이 도 3a 및 도 3b에 도시되어 있으며, 그 도면에서, 인터리빙은 사용되지 않는다. 도 3a는 보호 주기 당 단일 소스 블록을 도시하며, 그 예는, 수신기가 소스 블록의 시작부에서 스트림을 조인하는 경우를 도시한다. 이러한 예에서, 콘텐츠 재핑 시간의 2개의 컴포넌트들은 보호 주기 및 FEC 디코드 레이턴시이다. 소스 블록에 대한 수신기 보호 주기는, 수신기가 소스 블록으로부터의 수신되는 인코딩된 심볼들을 버퍼링하는 시간이다. 전송기로부터 수신기로 이동하는데 걸리는 각각의 비트, 바이트, 심볼 또는 패킷 단위의 시간량의 관점에서 그 전송기와 그 수신기 사이의 채널이 임의의 변화를 갖지 않으면, 전송기 보호 주기 및 수신기 보호 주기가 동일함을 유의한다. 따라서, 실제로, 전송기 보호 주기는, 전달에서의 네트워크 타이밍 변화로 인해 동일한 소스 블록에 대해 수신기 보호 주기와는 상이할 수도 있다.
여기에서 도면을 간략화하기 위해, 전송기 보호 주기 및 수신기 보호 주기는 각각의 소스 블록에 대해 동일한 것으로 가정되지만 (그리고, "보호 주기" 는 전송기 보호 주기 및 수신기 보호 주기에 대해 동의어로 사용됨), 항상 그러한 경우일 필요는 없다. 즉, 네트워크 전달 시간이 모든 데이터에 대해 동일하다는 가정이 존재한다. 당업자는, 본 명세서를 판독한 이후, 네트워크 전달 변동으로 인 한 전송기 및 수신기 보호 주기에서의 차이들을 고려하기 위해, 여기에 설명된 방법들 및 장치에 필요한 변경들을 행할 수 있다.
제 1 소스 블록에서 임의의 소스 심볼들의 손실이 존재하지 않더라도, 후속 소스 블록들에서 인코딩된 심볼들의 손실이 존재할 경우, 모든 후속 소스 심볼들의 평활한 소스 심볼 전달을 보장하기 위해, 적어도 보호 주기 동안 소스 심볼들을 이용가능하게 하는 것을 여전히 지연시켜야 하기 때문에, 콘텐츠 재핑 시간의 보호 주기 컴포넌트가 불가피하다. 보호 주기 동안, 소스 블록의 FEC 디코딩의 일부 또는 대부분 또는 모두는 인코딩된 심볼들의 수신과 동시에 발생할 수 있다. 보호 주기의 말단부에서, 소스 블록의 제 1 소스 심볼이 FEC 수신기로부터 이용가능하기 전에 발생하는 부가적인 FEC 디코딩이 존재할 수도 있으며, 이러한 시간 주기는 도 3a에 FEC 디코드 레이턴시로서 라벨링되어 있다. 또한, 제 1 소스 심볼이 이용가능하게 된 이후라도, 소스 블록의 제 2 및 후속 소스 심볼들이 이용가능하기 전에 발생하는 부가적인 FEC 디코딩이 존재할 수도 있다. 간략화를 위해, 이러한 부가적인 FEC 디코딩은 도 3a에 도시되어 있지 않으며, 이러한 예에서, 제 1 소스 심볼 이후 충분히 빠른 레이트로 모든 소스 심볼들을 디코딩하는데 충분히 이용가능한 CPU 리소스들이 존재한다고 가정한다.
콘텐츠 재핑 시간의 또 다른 가능한 컴포넌트는, 수신기가 스트림을 조인하도록 요청하는 시간과 그 스트림에 대한 제 1 패킷들이 그 수신기에 도달하는 시간 사이의 시간일 수 있다. 이러한 시간의 양은 변할 수 있으며, 수신기와 스트림에 대한 패킷들의 하나 이상의 전송기들 사이의 라운드-트립 시간(들)에 의존할 수 있다. 콘텐츠 재핑 시간의 이러한 컴포넌트는 여기에 상세히 설명되지는 않지만, 종종 이것이 고려되어야 하는 콘텐츠 재핑 시간에 대한 중요한 기여자일 수 있고, 여기에 설명된 방법들 및 프로세스들이 콘텐츠 재핑 시간에 대한 이러한 잠재적인 기여자를 고려하도록 용이하게 변형될 수 있다는 것을 당업자는 인식할 것이다.
도 3b는, 도 3a에 도시된 예에 대응할 수 있는 2개의 잠재적인 FEC 디코딩 CPU 이용도 커브들을 도시한다. 도 3b에 도시된 2개의 커브들 중 하나의 커브에서, FEC 디코딩에 사용된 CPU 이용도는 각각의 시점에서 동일하며, 즉, CPU 이용도는 균일하게 분포되어 있다. 각각의 시점에서 동일한 양의 CPU 리소스들을 예측가능하게 사용하며, 전체 소스 블록을 디코딩하는데 동일한 양의 총 CPU 리소스들이 필요하다는 것을 가정하여 최대 CPU 리소스들을 최소화시키므로, 이것은 바람직한 CPU 이용도 커브이다. 도 3b에 도시된 2개의 커브들 중 다른 커브에서, FEC 디코딩에 사용되는 CPU 이용도는 각각의 시점에서 동일하지 않으며, 특히, 소스 블록에 대한 인코딩된 심볼들의 수신의 종료 근방 및 그 직후, CPU 이용도는 다른 시점보다 현저히 더 높다. 비디오 플레이어와 같은 다른 프로세스들이 또한 CPU에 요구들을 배치하는 시점일 수도 있는 특정한 시점에서 CPU 리소스 이용도가 스파이크되고, 따라서, 예를 들어, 비디오 스트림의 재생에서 글리치 (glitch) 를 야기할 가능성이 증가하므로, 이것은 바람직한 CPU 이용도 커브가 아니다. 따라서, 스트림들을 보호하기 위한 FEC 솔루션의 설계는, FEC 디코더가 시간에 걸쳐 가능한 평활하고 균일하게 CPU를 사용하는 솔루션을 제공할 것이다. 일 예로 서, 설계 기준은, 인코딩된 심볼 손실의 최악의 경우의 패턴하에서 FEC 디코딩 프로세스의 임의의 시점에서의 최대 CPU 이용도가 특정한 임계값보다 작으며, 예를 들어, 100 밀리초의 각각의 간격에 걸쳐 최대 CPU의 10% 를 사용하는 것일 수도 있다.
몇몇 스트리밍 애플리케이션들에서, 수신기가 소스 블록의 중앙에서 스트림을 조인하는 것이 발생할 경우, 콘텐츠 재핑 시간은, 소스 패킷들의 본래의 전송 순서 및 전달 속도가 전송기에 의해 초기에 유지되는 한, 그 제 1 부분 소스 블록으로부터의 소스 심볼들의 손실이 존재하지 않을 경우 소스 블록 지속기간 플러스 디코드 레이턴시만큼 작을 수 있다. 다른 비디오 스트리밍 애플리케이션들에서, 전송기는 항상 GOP의 시작부로부터 수신기로 스트림을 전송하기 시작하며, 여기서, 소스 블록의 시작부가 GOP의 시작부로 정렬되는 것이 바람직하다. 따라서, 콘텐츠 재핑 지연을 최소화시키기 위해, 전송기가 초기 소스 블록들에 대한 소스 심볼들의 본래의 전송 순서를 유지하는 것이 바람직하다.
또한, 라이브 스트리밍 애플리케이션에 대하여, FEC 인코딩이 적용되기 전에 소스 패킷이 전송기에서 스트리밍하도록 준비되는 시간과 FEC 디코딩이 적용된 이후 수신기에서 재생하기 위해 이용가능하게 되는 시간 사이의 FEC 의 사용에 의해 도입되는 최악의-경우의 전체 레이턴시인 FEC 엔드-투-엔드 레이턴시를 최소화시키기 위해 FEC 스트리밍 솔루션이 사용될 수 있다. 온-디멘드 (on-demand) 스트리밍 또는 플레이-리스트 콘텐츠 스트리밍과 같은 다른 타입의 스트리밍 애플리케이션들에 있어서, FEC 엔드-투-엔드 레이턴시는 주요한 관심사가 아니다.
모든 타입의 스트리밍 애플리케이션들에서, 콘텐츠 재핑 시간 및 콘텐츠 천이 시간을 최소화시키는 것이 중요하다. 동시에, 스트림의 전송 레이트를 최소화시키는 것이 중요하며, 즉, 콘텐츠 재핑 및 콘텐츠 천이 동안을 포함하여, 콘텐츠 스트리밍 레이트 이상의 작은 비율이도록 모든 시간들에서 전송 레이트를 제약하는 것이 중요하다.
또한, FEC 스트리밍 솔루션은, FEC 가 사용될 경우 전송 레이트에서의 변동들을 최소화시키는데 사용될 수 있다. 이것의 일 이점은, 패킷 네트워크 내에서, 스트림의 전송 레이트에서의 피크들이 제한된 용량을 갖는 네트워크의 포인트들의 다른 트래픽에서의 피크들과 일치할 경우, 전송 레이트가 변하는 스트림들이 정체 또는 버퍼 오버플로우로 인해 패킷 손실에 더 민감하게 된다는 것이다. 최소로서, FEC 인코딩된 스트림의 레이트에서의 변동들은 본래의 소스 스트림의 레이트에서의 변동들보다 더 불량하지 않을 것이며, 더 많은 FEC 보호가 본래의 소스 스트림에 적용될수록, FEC 인코딩된 스트림의 레이트에서의 변동들이 더 작아지게 된다. 특수한 경우로서, 본래의 스트림이 일정한 레이트로 전송되면, FEC 인코딩된 스트림이 가능한 상수에 근접한 레이트로 전송되는 것이 바람직하다.
각각의 후속 소스 블록에 대한 최종 인코딩된 심볼이 수신되는 시간이 시간에 걸쳐 가능한 균일하게 확산되는 특성은 바람직한 특성이다. 최종 인코딩된 심볼이 소스 블록에 대해 수신되는 시간은, 그 소스 블록을 디코딩하기 위한 모든 정보가 FEC 디코더에 이용가능한 시간이며, 통상적으로, 이것은, FEC 디코더가 규정된 디코딩 레이턴시 버짓 (budget) 내에서 디코딩을 종료하는데 작동하기 매우 어려운 최악의 경우의 손실 조건하에서의 시간이다. 따라서, 소스 블록들에 대한 최종 인코딩된 심볼의 수신을 균일하게 확산시키는 것은, FEC 디코딩을 위한 CPU의 더 평활한 사용을 허용한다.
FEC 스트리밍 솔루션은 FEC 수신기에서 가능한 간단한 로직을 제공해야 한다. FEC 수신기가 제한된 계산 메모리 및 다른 리소스 능력들을 갖는 디바이스로 구축될 수도 있기 때문에, 이것은 많은 콘텍스트에서 중요하다. 또한, 몇몇 경우, 송신에서 심볼들의 현저한 손실 또는 손상이 존재할 수도 있으며, 따라서, FEC 수신기는, 조건이 개선될 경우 스트림에서 수신이 계속되고 있는 위치를 이해하기 위한 콘텍스트가 거의 없거나 존재하지 않는 최악의 손실 또는 손상 시나리오로부터 복원해야 할 수도 있다. 따라서, FEC 수신기 로직이 더 간단하고 더 강인해질수록, 더 신속하고 신뢰가능하게 FEC 수신기가 FEC 인코딩된 스트림의 수신으로부터 소스 스트림의 소스 심볼들을 다시 복원하고 이용가능하게 하기를 시작할 수 있을 것이다.
소스 블록에 대한 리페어 패킷들은 소스 블록에 대한 소스 패킷들 이전, 이후, 또는 그 패킷들과 혼합하여 전송될 수 있으며, 여기에 설명된 바와 같이, 상이한 방법들에 대한 이점들이 존재한다.
FEC 스트리밍 솔루션의 바람직한 전체 특성들 중 몇몇은 다음을 포함한다.
1. 짧은 콘텐츠 재핑 시간.
2. 짧은 콘텐츠 천이 시간.
3. 모든 시간에서의 전송 스트림 레이트가 제약될 것이며, 즉, 콘텐츠 스트 림 레이트 이상의 작은 비율로 제약될 것이다.
4. 전송 스트림 레이트는 평활할 것이며, 적어도 콘텐츠 스트림 레이트만큼 평활할 것이다.
5. FEC 코딩이 사용될 경우, 소스 블록 포메이션 및 FEC 인코딩은 스트림에 대해 수행될 수 있으며, 동일한 인코딩된 스트림은 가급적 상이한 시간에 많은 수신기들로 전송될 수 있다.
6. FEC 코딩이 사용될 경우, 패킷 손실에 대한 보호는, 특히 손실이 사실상 다소 버스트할 경우, 필요한 최소의 보호량을 갖는 작은 소스 블록 지속기간을 사용하여 높을 것이다.
7. FEC 코딩이 사용될 경우, 소스 블록들은 스트림의 이웃한 부분을 포함할 것이다.
8. FEC 코딩이 라이브 스트리밍 애플리케이션에 대해 사용될 경우, FEC 엔드-투-엔드 레이턴시가 작을 것이다.
9. FEC 코딩이 사용될 경우, FEC 디코딩은 CPU 이용도를 평활하게 확산시킬 것이다.
FEC 인코딩된 스트림의 기본적인 전송
이러한 섹션에서, 전송기가 FEC 인코딩될 수도 있는 스트림의 패킷들의 전송을 타이밍하는 기본적인 방법들 및 프로세스들을 설명한다. k를 소스 블록에서의 소스 심볼들의 수라 하고, T를 소스 블록에 대한 소스 블록 지속기간이라 하고, p를 비율로서 표현된 보호량이라고 하며, 따라서, p*k 개의 리페어 심볼들이 소스 블록에 대해 전송될 것이다. k, T 및 p의 값들은 각각의 소스 블록이 형성되고 있는 바와 같이 동적으로 결정될 수도 있으며, 따라서, 소스 블록에 대한 소스 심볼들 중 대부분 또는 전부가 소스 블록 포메이션 프로세스에 도달할 경우, 그 소스 블록에 대한 k 및 T 값들은 그 소스 블록 포메이션 프로세스에만 알려질 수도 있고, 소스 블록에 대한 모든 소스 심볼들은 소스 블록 포메이션 프로세스에 도달한 이후 또는 별개의 프로세스에 의해 결정될 수도 있다. 또한, 소스 블록 포메이션 프로세스는 상이한 소스 블록들에 대해 심볼 사이즈를 변경시킬 수도 있다. 따라서, 특정한 소스 블록에 대한 이들 파라미터들의 다수 또는 모두는, 그 소스 블록에 대한 데이터를 수신할 때까지 소스 블록 포메이션 프로세스에 알려질 수도 있다.
다음의 프로세스는 인터리빙을 사용하지 않는 기본적인 전송기를 설명한다. 간략화를 위해, 이러한 기본적인 전송기에 대하여, 소스 블록 포메이션 프로세스가 이미 스트림에 적용되었고, 그 스트림이 연속하는 소스 블록들로 분할되었고, 각각의 그러한 소스 블록에 대해 p*k 개의 리페어 심볼들이 이미 생성되었다는 것을 가정하며, 여기서, 각각의 그러한 소스 블록은 k개의 소스 블록들을 포함하고 T 초의 소스 블록 지속기간을 갖는다.
수신기가 특정한 소스 블록에서의 스트리밍 시작을 요청할 경우 (또는 수신기로부터의 명시적인 시작 요청으로 스트림을 프로액티브하게 (proactively) 전송할 경우), 기본적인 전송기는 T 초의 주기에 걸쳐 그 요청된 소스 블록에 대한 (1+p)*k 개의 인코딩된 심볼들을 전송하기 시작하며, 그 후, 그 요청된 소스 블록 등 이후, 다음의 소스 블록에 대한 인코딩된 심볼들을 순차적으로 전송한다.
기본적인 전송기는 다음의 특성을 갖는다.
1. 보호 주기는 소스 블록 지속기간과 동일한 T이다.
2. 소스 블록에 대해 전송된 심볼들은 T초의 주기에 걸쳐 균등하게 확산된다. 이것은, 고정된 지속기간의 버스트 아웃티지 (burst outage) 가 존재할 경우 손실에 대해 제공된 보호 레벨이 그 아웃티지가 심볼들의 송신 동안 발생할 시간에 의존하지 않는다는 것을 암시하며, 이는 바람직하다.
3. 전송기는 심볼들의 전체 전송 레이트에서의 변동을 도입하지 않는다. 특히, 소스 심볼들의 본래의 전송 레이트가 일정하면, 모든 심볼들의 전송 레이트가 여전히 일정하며, 전송기에서의 소스 심볼들의 본래의 도달 레이트가 가변이면, 소스 블록 당 심볼들의 적어도 일정한 전송 레이트가 변동을 둔화시킨다. 이것은 바람직한 특성이다.
4. 콘텐츠 재핑 시간은 T만큼 작을 수 있다. 이것은, 소정의 보호 주기 동안 최소로 가능성있는 (모든 소스 블록들이 k개의 소스 심볼들을 포함한다고 가정하여) (1+p)*k 개의 심볼들의 최소 버퍼링을 암시하며, 따라서 바람직하다.
기본적인 전송기가 갖는 일 특성은, 적어도 콘텐츠 재핑 시간이 보호 주기 동안의 시간이라는 것이며, 그 보호 주기는 버스트 손실에 대한 보호 품질에 직접 관련된다. 따라서, 종종, 보호 주기와 콘텐츠 재핑 시간 사이에서 협상이 행해질 필요가 있다. 예를 들어, 1초 아래의 콘텐츠 재핑 시간을 갖는 것이 바람직하지만, 또한, 임시적인 네트워크 아웃티지, 또는 약 수십 또는 수백 밀리초 및 몇 몇 경우에서는 초 동안 유지할 수 있는 버스트 패킷 손실을 초래하는 다른 타입의 간헐적인 네트워크 이슈들에 대해 양호한 보호를 제공하기 위하여, 10% 와 같은 합리적으로 작은 보호량을 사용하면서, 동시에, 수 초에 걸쳐있는 보호 주기를 갖는 것이 바람직하다. 콘텐츠 재핑 시간보다 훨씬 더 크며, 다음의 섹션에서 설명되는 인터리빙 방법들이 제공하는 많은 이점들 중 하나인 보호 주기를 가질 수 있다는 것이 바람직할 것이다.
스트림 인터리빙
이러한 섹션은, 데이터의 스트림을 취하며, 몇몇 부분들이 다른 부분들보다 전송 프로세스에서 더 많이 지연되는 방식으로 그 데이터 스트림의 상이한 부분들에 차동 시간 지연들을 적용하기 위한 신규한 방법들 및 프로세스들을 설명한다. 이들 방법들 및 프로세스들의 더 중요한 양태들 중 하나는, 데이터 스트림이 전송될 때마다 스트림의 상이한 부분에서 유도되는 지연의 양을 동적으로 조정하는 수단이다.
콘텐츠 재핑 시간을 최소화시키고 스트림의 더 양호한 보호를 제공하기 위해, 비디오 스트림의 GOP (Group of Picture) 구조 또는 다른 프레임 구조로 소스 블록들을 정렬시키는 것이 종종 바람직하다. 몇몇 애플리케이션들에서, 인터리빙 프로세스가 소스 블록 포메이션 프로세스와 독립하여 발생할 수 있는 것이 바람직하며, 그 프로세스들은 상이한 시간에 수행될 수도 있거나 상이한 위치에서 수행될 수도 있다. 몇몇 경우, 예를 들어, FEC 인코딩이 사용되지 않기 때문에, 소스 블록 포메이션 프로세스가 사용되지 않더라도, 예를 들어, 버스트 에러들을 스 트림 전반에 걸쳐 더 균등하게 확산시키기 위해 인터리빙 프로세스가 바람직할 수도 있다. 당업자가 인식할 바와 같이, 여기에 설명된 방법들은, 소스 블록 포메이션 및 FEC 인코딩이 사용되지 않는 경우에도 적용된다.
몇몇 경우, 각각의 소스 블록에 대한 심볼들이 소스 블록 지속기간보다 더 긴 보호 주기에 걸쳐 확산될 수 있도록, 전송기가 상이한 소스 블록들로부터의 심볼들의 전송을 인터리빙하게 하기 위한 이점들이 존재할 수도 있다. 이를 행하기 위한 일 이유는, 시간-의존적인 손실들 (예를 들어, 버스트 손실) 에 대해 더 양호한 보호가 제공된다는 것이며, 즉, 소스 블록에 대한 보호 주기가 증가함에 따라, 고정된 지속기간의 버스트 손실에 대한 보호를 제공하는데 필요한 보호량이 더 작아진다는 것이다. 소스 블록 지속기간이 t초일 수도 있는 경우, 소스 블록에 대한 원하는 보호 주기는 p초일 수도 있으며, 여기서, p≫t 이다. 인터리빙을 사용하는 전송기의 다른 바람직한 특성들은, (1) 소스 패킷들이 소스 블록내의 그들 본래의 순서로 전송되는 것, 및 (2) 각각의 후속 소스 블록에 대한 최종 인코딩된 심볼이 수신되는 시간이 시간에 걸쳐 가능한 균일하게 확산되는 것을 포함한다.
FEC 코딩이 사용될 경우, 소스 블록들에 대한 인코딩된 심볼들의 전송을 정적으로 인터리빙하는 방법들이 도입되고, 스트림이 전송될 때마다 인터리빙의 양을 동적으로 조정하는 방법들이 도입되고, 통상적으로, 스트림의 전송 시작부에서 인터리빙이 거의 없거나 전혀 없고 이에 따라 보호 주기가 소스 블록 지속기간과 거의 동일하며, 스트림의 전송이 진행함에 따라 더욱 더 많은 인터리빙을 평활하게 도입하고 이에 따라 보호 주기가 소스 블록 지속기간보다 훨씬 더 길게 증가한다. 이것은, 전송이 진행함에 따라 버스트 손실들 또는 손상에 대한 보호가 더 많아지게 하면서, 동시에, 콘텐츠 재핑 시간이 수신기에서 최소화되게 한다. 설명된 방법들의 또 다른 이점은, 스트림의 전송이 진행함에 따라 더욱 더 많은 네트워크 지터에 대해 점진적으로 보호하는 능력이다.
아래의 설명을 간략화하기 위해, 소스 블록 포메이션 및 FEC 인코딩 프로세스가 스트림의 전송 이전에 발생한다고 가정한다. 소스 블록들을 형성하고, 이들 소스 블록들에 대해 FEC 인코딩을 수행하며, 후술될 바와 같이 스트림들을 전송하는 프로세스가 동시에 동작할 수 있다는 것을 당업자가 인식할 바와 같이, 이것은 본 방법들의 제한이 아니며, 몇몇 경우에서, 이것은 바람직하다. 또한, 몇몇 애플리케이션들에서, 소스 블록 포메이션, FEC 인코딩 프로세스 및 스트림들의 인터리빙된 전송에 대해 후술되는 방법들은 동적으로 상호의존적일 수도 있으며, 즉, 몇몇 경우, 소스 블록들이 형성되고 FEC 인코딩되는 방법은 전송 스트림 방법에 의존할 수도 있다.
스트림 전송의 테이프 방법
신규한 인터리빙 방법들을 설명하기 위해, 다음의 스트림 전송의 테이프 방법을 도입하는 것이 유용하다. 도 4는, 소스 블록 구조가 이미 결정되었던 콘텐츠 스트림의 예시적인 도면이다. 각각의 소스 블록 (405(1), 405(2), ...,) 에 대하여, 폭 (410(1), 410(2), ...,) 은 그 소스 블록의 콘텐츠 재생 지속기간을 나타내고, 각각의 소스 블록의 높이 (415(1), 415(2), ...,) 는 각각의 콘텐츠 스트림 소스 블록의 평균 재생 레이트를 나타내며, 여기서, 이러한 예에서는 상이한 소스 블록들이 상이한 재생 레이트들을 갖는다.
도 5는 도 4에 대응하는 대응 인코딩된 블록 구조를 도시하며, 즉, FEC 인코딩은, 인코딩된 블록들을 형성하기 위해 각각의 소스 블록에 대하여 부가적인 리페어 데이터 (510(1), 510(2), ...,) 를 생성하도록 각각의 소스 블록에 적용된다. 도면부호 (510(1), 510(2), ...,) 의 높이 (515(1), 515(2), ...,) 는 각각의 인코딩된 블록의 각각의 소스 블록에 대해 생성된 부가적인 리페어 데이터의 양을 나타내며, 즉, 인코딩된 블록이 대응하는 소스 블록과 동일한 시간 지속기간에 걸쳐 전송되면, 그 높이는 인코딩된 소스 블록의 평균 전송 레이트를 나타낸다. 예를 들어, 각각의 인코딩된 블록에 대해 생성된 리페어 데이터의 양이 각각의 인코딩된 블록에 대해 전송된 양보다 훨씬 더 클 수도 있고, 각각의 인코딩된 블록에 대해 전송된 양이 수신기에 따라 변할 수도 있는 바와 같이, 이러한 도면은 제한이 아닌 예시일 뿐이다. 또한, 도 5는 인코딩된 소스 블록내의 소스 및 리페어 심볼들의 순서화의 표현을 제안하는 것으로 의미되지는 않는다.
도 6은 기본 전송기 방법에 대응하는 수신기에 의해 경험된 콘텐츠 재핑 시간을 나타내는 예시적인 도면이다. 콘텐츠 재핑 시간 (605) 의 컴포넌트들 중 몇몇은, 수신기가 제 1 소스 블록을 디코딩하기에 충분한 스트림의 제 1 인코딩된 블록을 수신하는데 걸릴 시간 (610), 수신기가 제 1 인코딩된 블록의 수신 부분들로부터 제 1 소스 블록을 디코딩하는데 걸리는 시간 (620), 및 네트워크 지터, 소스 블록 지속기간에서의 변화들, 및 스트림의 수신 동안의 수신되는 인코딩된 블록들의 일부로부터의 소스 블록들의 디코드 시간들을 흡수하기 위해 예약된 예약 버 퍼 시간 (630) 을 포함한다.
스트림들을 전송하는 테이프 방법이 설명되며, 당업자는, 유사한 방법들을 생성하는 많은 동등한 설명들, 및 여기에 설명될 방법들의 변형들을 생성하는 이러한 설명에 대한 변형들이 존재함을 인식할 것이다. 도 7은, 도 5에 도시되어 있는 인코딩된 블록 구조에 대응하는 테이프 방법의 일 예를 도시한다. 테이프 방법에서, 데이터 스트림의 전송은 전송될 스트림을 테이프 (705) 로서 표현함으로써 표시되며, 여기서, 테이프의 X-축을 따른 각각의 위치 (710) 는 인코딩된 블록 구조에서 상이한 시점에 대응하고, 테이프에 따른 그 시점에서의 인코딩된 소스 블록의 레이트와 독립적으로, 테이프의 높이는 항상 동일하며, 예를 들어, 공칭적으로 높이가 1 이다. 테이프에 의해 표현된 스트림의 전송은, 테이프의 상단 (725) 으로부터 테이프의 하단 (730) 까지 이동하는 이동선 (720(1), 720(2)) 에 의해 표시될 수 있다. 일 표현에서, 시간에 걸친 이동선 (720(1), 720(2)) 은 스트림의 인코딩된 블록들로부터의 데이터 전송 순서를 나타낸다. 테이프 (740(1), 740(2), ...,) 내의 각각의 포인트는 전송될 스트림 데이터의 부분을 표현하며, 예를 들어, 각각의 포인트는 인코딩된 블록에 대한 인코딩된 심볼들의 패킷을 표현할 수도 있거나, 각각의 포인트는 인코딩된 블록에 대한 개별 인코딩된 심볼을 나타낼 수도 있다. 인코딩된 블록 (750(1), 750(2), ...,) 에 대응하는 영역내에 존재하는 포인트들은, 그 인코딩된 블록과 관련된 데이터를 표현한다.
스트림들을 전송하는 테이프 방법에 따른 전송 프로세스는, 스트림이 전송되는 시간에 걸쳐 테이프를 가로질러 라인 (720(1), 720(2)) 을 스윕 (sweep) 함으로 써 표현되며, 일 포인트를 통하여 그 포인트에 대응하는 스트림의 데이터를 스윕하는 각각의 시간이 전송된다. 도 7은 전송 프로세스에서 2개의 상이한 시간들에서의 라인을 도시하며, 여기서, 라인 (720(1)) 은 제 1 시간에서의 그의 구성이고, 라인 (720(2)) 은 제 2 시간에서의 그의 구성이다. 따라서, 전송 프로세스는, 그 제 1 시간과 그 제 2 시간 사이의 시간 간격 동안, 도면부호 (720(1), 720(2), 725 및 730) 에 의해 경계가 지어진 영역내의 포인트들과 관련된 모든 데이터를 전송한다. 각각의 인코딩된 블록내의 포인트들의 분포가, 그들의 가중치에 따라 그 인코딩된 블록에 대한 테이프 영역내에 균일하게 분산되는 것이 바람직하며, 예를 들어, 포인트들이 각각의 포인트의 가중치에 따라 균일하게 분산되는 것을 보장하는 프로세스에 의해 랜덤하게 분산되거나, 의사-랜덤하게 분산되거나, 결정론적으로 분산되고, 여기서, 그 포인트의 가중치는 그 포인트에 의해 표현된 데이터의 양이다.
상술된 바와 같이, 라인 (720) 은 직선이지만, 당업자는 많은 변경들이 존재한다는 것을 인식할 것이며, 예를 들어, 라인은 커브일 수도 있거나 연속하는 라인 세그먼트들의 시퀀스를 포함할 수도 있고, 라인은, 전송 프로세스 동안 그 라인이 스윕하는 바와 같이 그의 형상을 변경시킬 수도 있다. 또한, 테이프가 동일한 높이가 아니지만, 대신 그의 높이가 테이프의 그 포인트 (710) 에서의 스트림의 레이트에 따라 변하도록 그 테이프를 표현하는 것을 포함하는, 테이프 전송 방법의 다른 변형들이 존재한다.
더 상세히 후술될 바와 같이, 전송 프로세스 동안 테이프를 가로지른 라인의 이동을 특정하기 위한 다양한 방법들이 존재한다.
정적 인터리빙 방법들
FEC 코딩이 사용되는지, 및 소스 블록 구조가 사용되든지 간에, 스트림들을 전송하는 테이프 방법은, 임의의 타입의 콘텐츠 스트림 또는 인코딩된 콘텐츠 스트림에 대한 임의의 깊이의 정적 인터리빙을 획득하기 위해 사용될 수 있다. 예시적인 목적을 위해, 소스 블록 구조가 이미 정의되었고 FEC 코딩이 사용된다고 가정한다.
스트림들을 전송하는 테이프 방법을 사용하여 소정량의 정적 인터리빙을 달성하는 일 방식이 도 7을 참조하여 일 예로서 설명된다. 이러한 예에서, 각각의 인코딩된 블록은 시간의 양 D에 의해 다른 이웃한 인코딩된 블록들과 인터리빙되며, 즉, 그 인터리빙 깊이는 D이다. 이러한 예에서, 스트림을 요청할 경우, 수신기는 포인트 X 및 D에 대한 값을 전달한다. 그 후, 전송기에서의 전송 프로세스는, 초기에 라인 (720) 이 위치 X-D 에서 테이프의 하단 (730) 과 교차하고, 초기에 라인 (720) 이 위치 X 에서 테이프의 상단 (725) 과 교차하고, 그 후, 그 전송 프로세스가 스트림의 재생 레이트와 동일한 레이트로 시간에서 앞으로 라인 (720) 을 스윕하며, 즉, 전송 프로세스의 시작 이후의 시간 t에서, 라인 (720) 이 위치 X-D+t 에서 테이프의 하단 (730) 과 교차하고, 라인 (720) 이 위치 X+t 에서 테이프의 상단 (725) 과 교차하도록 라인 (720) 이 스윕하기 위해 라인 (720) 을 구성함으로써 설명된다.
정적 인터리빙 방법의 이러한 설명에서, 방법이 신규하게 요청된 스트림을 수신기에 전송하는데 사용되고 있다면, 수신기에서 재생이 시작되는 스트림내의 일 위치에 X가 존재하는 것이 바람직하며, 예를 들어, X는 인코딩된 블록의 시작부의 위치이거나, X는 비디오 스트림의 GOP의 시작부의 위치이며, 그 인코딩된 블록의 시작부는 그 GOP의 시작부로 정렬된다. 또한, 이들의 경우, 일반적으로 수신기가 인코딩된 블록들의 일부만을 수신할 것이고, 부분적으로 수신되는 인코딩된 블록들을 완전히 디코딩하기에는 매우 충분치 않을 수도 있기 때문에, 테이프에 따른 위치 X 이전에 전송기가 임의의 데이터를 수신기에 전송하지 않는 것이 바람직하다.
도 8은, 전송기가 이전에 설명된 정적 인터리빙 방법을 사용하고 있는 경우, 전송된 스트림의 형상을 예시하는 예시적인 도면이다. 이러한 경우, 정적 인터리빙 방법은, 도 5에 도시되어 있는 인코딩된 스트림에 대응하는 도 7에 도시된 테이프에 적용된다. 이러한 예에서, 수신기는 도 7의 제 1 인코딩된 블록 (750(1)) 의 시작 위치로서 X의 값을 특정하며, 따라서, 이러한 예에서, 위치 X 전에 테이프를 따른 전송될 데이터는 존재하지 않는다. 이러한 예에서, 수신기는, 10초와 같은 값일 수 있는 D에 대한 값을 또한 특정한다. 이러한 프로세스에 따라 전송기에 의해 전송된 결과적인 스트림은 도 8에 도시된 바와 같으며, 여기서, 도면부호 (850(1), 850(2), ...,) 의 영역은, 각각, 도 5의 도면부호 (405(1) 플러스 510(1), 405(2) 플러스 510(2), ...,) 와 동일하다. 도 8에 도시된 바와 같은 전송 레이트가 도 5에 도시된 바와 같은 본래의 콘텐츠 레이트의 평활화된 버전이라는 것을 유의한다.
도 9는, 상술된 정적 인터리빙 방법에 대응하는 수신기에 의해 경험된 콘텐츠 재핑 시간을 나타낸 예시적인 도면이다. 콘텐츠 재핑 시간 (905) 의 컴포넌트들 중 몇몇은, 소스 블록 지속기간과 인터리빙 깊이 D의 합산인, 수신기가 제 1 소스 블록을 디코딩하기에 충분한 스트림의 제 1 인코딩된 블록을 수신하는데 걸릴 시간 (910), 수신기가 제 1 인코딩된 블록의 수신 부분들로부터 제 1 소스 블록을 디코딩하는데 걸리는 시간 (920), 및 기대되는 네트워크 지터 지연, 소스 블록 지속기간에서의 변화들, 및 스트림의 수신 동안의 수신되는 인코딩된 블록들의 일부로부터의 소스 블록들의 디코드 시간들에 대해 예약된 예약 버퍼 시간 (930) 을 포함한다. 이러한 경우 소스 블록 지속기간 플러스 인터리빙 깊이 D인 보호 주기가 소스 블록 지속기간보다 훨씬 더 클 수 있으므로, 콘텐츠 재핑 시간 (905) 은, 설명된 바와 같은 이러한 방법을 사용하는 소스 블록 지속기간보다 훨씬 더 클 수 있다.
동적 인터리빙 방법들
FEC 코딩이 사용되는지 및 소스 블록 구조가 사용되는지 간에, 스트림들을 전송하는 테이프 방법은, 임의의 타입의 콘텐츠 스트림 또는 인코딩된 콘텐츠 스트림에 대한 임의의 인터리빙 깊이의 임의의 페이스 (pace) 에서 동적 인터리빙을 달성하기 위해 사용될 수 있다. 예시적인 목적을 위해, 소스 블록 구조가 이미 정의되었고 FEC 코딩이 사용된다고 가정한다.
스트림들을 전송하는 테이프 방법을 사용하여, 인터리빙 없이 시작하고 소정의 인터리빙 깊이까지 진행하는 동적 인터리빙을 달성하는 일 방식이 도 7을 참조 하여 일 예로서 설명된다. 이러한 방법의 통상적인 사용에서, 제 1 인코딩된 블록은 인터리빙이 거의 없이 전송되고, 그 후, 인터리빙 깊이 D가 다른 이웃한 인코딩된 블록들로 달성될 때까지, 시간에 걸쳐 점진적으로, 후속하는 인코딩된 블록들은 더욱 더 평활하게 인터리빙된다. 그러나, 이러한 방법의 다른 사용들이 또한 아래에 개시되며, 당업자는 또한 다양한 다른 변형들이 존재한다는 것을 인식할 것이다. 그 방법에 대한 파라미터들을 표현하는 이러한 예시적인 방식에서, 스트림을 요청할 경우, 수신기는, 라인 (720) 에 대한 초기 상부 위치 UI, 라인 (720) 에 대한 초기 하부 위치 LI, 라인 (720) 에 대한 최종 상부 위치 UF, 라인 (720) 에 대한 최종 하부 위치 LF, 및 시간값 T를 전달한다. 간략화를 위해, 이하, UF>=UI, LF>=LI, UF>=LF, UI>=LI, T>=0 이라고 가정한다. 통상적으로, 필요할 경우 수신기에서의 데이터가 항상 이용가능하다는 것을 보장하는 것을 보조하도록 UF>=UI+T 및 LF>=LI+T 를 갖는 것이 바람직하다. 아래의 예들에서 설명될 바와 같이, UF, UI, LF, LI, 및 T에 대한 이들 값들은, 인터리빙이 동적으로 조정됨에 따라, 콘텐츠의 예약 버퍼가 수신기에서 평활하게 구축되게 할 수 있다.
전송기에서의 전송 방법은, 파라미터들 LI, UI, LF, UF 및 T 을 사용하여 다음과 같이 테이프 방법을 수행한다. 먼저, 초기에 도 7의 라인 (720) 은, 라인 (720) 이 초기에 위치 LI 에서 테이프의 하단 (730) 과 교차하고, 라인 (720) 이 초기에 위치 UI 에서 테이프의 상단 (725) 과 교차하도록 전송 시간 t=0 에서 구성되며, 그 후, 전송 시간 t=0 내지 t=T 동안, 시간 t에서 라인 (720) 이 위치 t*(LF-LI)/T + LI 에서 테이프의 하단 (730) 과 교차하고, 시간 t 에서 라인 (720) 이 위치 t*(UF-UI)/T + UI 에서 테이프의 상단 (725) 과 교차하도록 라인 (720) 이 테이프를 가로질러 스윕된다. 그 후, 모든 전송 시간들 t>T 동안, 시간 t에서 라인 (720) 이 위치 t-T+LF 에서 테이프의 하단 (730) 과 교차하고, 시간 t에서 라인 (720) 이 위치 t-T+UF 에서 테이프의 상단 (725) 과 교차하도록 라인 (720) 이 테이프를 가로질러 스윕되며, 즉, t>T 동안, 인터리빙은 정적이고, D=UF-LF 의 인터리빙 깊이가 사용된다.
신규하게 요청된 스트림들에 대한 동적 인터리빙 방법들
동적 인터리빙 방법의 예시적인 일 사용은, 신규하게 요청된 스트림을 수신기에 전송하는 것이다. 일 예로서, 도 10에 도시된 바와 같이, 초기값들 모두가 동일한 값 I=UI=LI 로 셋팅될 수 있으며, 즉, 초기에는 인터리빙이 존재하지 않고, 수신기가 재생하기 시작할 위치 S에 대하여, 콘텐츠 스트림은 S=I 를 만족한다. 이것은, 수신기가 위치 S 및 그 이상으로부터 콘텐츠의 전체 테이프를 전송했다는 것을 보장한다. 도 10에 도시된 바와 같이, S=UI=LI 인 것이 바람직하며, 여기서, S는 콘텐츠 스트림이 재생될 수 있는 그 콘텐츠 스트림에서의 위치이고, 예를 들어, S는 인코딩된 블록의 시작부가 GOP의 시작부로 정렬되는 그 인코딩된 블록의 시작부이다. 또한, T<=LF-S 인 것이 바람직하다. 이것은, 수신기가 일정한 레이트로 콘텐츠를 재생하고 있으면, 수신기에서 적어도 콘텐츠의 재생만큼 빠른 레이트로 콘텐츠를 전송한다는 것을 보장하며, R=LF-S-T 초의 예약 버퍼 시간은 평활하게 구축되고, 정적 인터리빙이 전송의 시작부로부터 전 송 시간 T 에서 수신기에 도달함에 따라 계속되며, 여기서, 예약 버퍼는 네트워크 지터, 가변 소스 블록 지속기간 및 디코드 시간을 흡수할 수 있다. 인터리빙 양은 인터리빙 없음으로부터 인터리빙의 D=UF-LF 초까지 평활하게 구축된다.
동적 인터리빙 방법의 특정한 예로서, 수신기가 매우 시작부로부터 콘텐츠에 액세스하고 있고, 정상 상태에서 5초의 예약 버퍼에 도달하고, 정상 상태에서 10초의 인터리빙 깊이를 원한다고 가정하며, 전송 레이트는, 인터리빙 및 예약 버퍼가 증가하고 있을 경우 시간 주기 동안, 인코딩된 스트림 레이트보다 약 10% 더 클 것이다. 그 후, 파라미터들에 대한 가능한 셋팅은, S=UI=UL 이 원하는 시작 위치이고, T=100 초이고, LF=S+T+5 초이며, UF=LF+10 초 라는 것이다. 따라서, 콘텐츠 스트림 레이트가 이러한 예에 대해 1Mbps 였고, 10% 의 보호량이 사용되었으면, 인코딩된 스트림 레이트는 1.1Mbps 가 될 것이다. 그 후, 상술된 파라미터 셋팅들을 사용하는 동적 인터리빙 방법을 사용하여 전송하는 처음 100초 동안, 스트림의 100+(5+15)/2=110 초가 처음 100초 내에서 전송되므로, 전송 레이트는 약 1.21Mbps 일 것이다. 전송의 100초 이후, 예약 버퍼는 5초일 것이고, 인터리빙 깊이는 10일 것이며, 그 후, 전송 레이트는 이하 1.1Mbps 일 것이다. 100초 직전의 몇 초 동안 스트리밍이 발생하며, 전송 레이트는 1.21Mbps 로부터 1.1Mbps 로 평활하게 천이할 것이다. 또한, 전반부에서, 전송 레이트는 인코딩된 스트림 레이트에 따르며, 인터리빙 깊이 및 예약 버퍼가 평활하게 증가함에 따라, 전송 레이트는 평활하게 되고, 더욱 더 근접하게 평균 인코딩된 스트림 레이트에 매칭한다.
상술된 동적 인터리빙 방법에 대응하는 수신기에 의해 경험된 콘텐츠 재핑 시간이 도 11을 참조하여 설명된다. 콘텐츠 재핑 시간 (1105) 의 컴포넌트들 중 몇몇은, 수신기가 제 1 소스 블록을 디코딩하기에 충분한 스트림의 제 1 인코딩된 블록을 수신하는데 걸릴 시간 (1110), 수신기가 제 1 인코딩된 블록의 수신 부분들로부터 제 1 소스 블록을 디코딩하는데 걸리는 시간 (1120), 및 기대된 네트워크 지터 지연, 소스 블록 지속기간 변화들, 및 스트림의 수신 동안의 수신되는 인코딩된 블록들의 일부로부터의 소스 블록들의 디코드 시간들에 대해 예약된 초기 예약 버퍼 시간 (1130) 을 포함한다.
동적 인터리빙을 사용할 경우 시간에 걸쳐 예약 버퍼가 구축되기 때문에, 초기 예약 버퍼 시간 (1130) 은, 예약 버퍼 사이즈가 스트림 전송의 전체 지속기간 동안 고정되는 경우보다 동적 인터리빙을 사용하는 경우 훨씬 더 짧을 수 있다. 예를 들어, 기본적인 스트림 전송기를 사용하여, 최대 2초의 롱-텀 네트워크 지터에 대하여 버퍼링하기 위해 예약 버퍼 사이즈가 2초로 셋팅될 수도 있지만, 스트림 전송의 처음 몇 초 동안 네트워크 지터가 거의 없을 수도 있고, 그 때까지 예약 버퍼가 실질적으로 구축되기 때문에, 동적 인터리빙된 전송 방법으로, 초기 예약 버퍼 시간 (1130) 은 훨씬 더 짧게, 예를 들어, 200 밀리초로 셋팅될 수 있다.
동적 인터리빙을 사용할 경우, 각각의 소스 블록에 대한 보호 주기가 점진적으로 구축되기 때문에, 초기 소스 블록 지속기간은, 스트림 전송의 전체 지속기간 동안 보호 주기가 소스 블록 지속기간인 경우보다 동적 인터리빙을 사용할 경우 훨씬 더 짧을 수 있다. 예를 들어, 기본적인 스트림 전송기를 사용하여, 소스 블 록 지속기간은 5초로 셋팅될 수도 있고, 보호량은 500 밀리초의 짧은 버스트 패킷 손실들에 대해 보호하도록 20% 로 셋팅될 수도 있지만, 스트림을 전송하는 처음 몇 초 동안 그러한 버스트가 발생하고, 그 때까지 그러한 버스트에 대해 보호하기 위해, 예를 들어, 본래의 소스 블록 지속기간 플러스 10초의 인터리빙 깊이로 보호 주기가 실질적으로 구축되지 않을 수도 있기 때문에, 동적 인터리빙된 전송 방법으로, 소스 블록 지속기간은 훨씬 더 짧게, 예를 들어, 500 밀리초로 셋팅될 수 있고, 보호량은 그러한 버스트에 대해 동일한 보호 레벨을 제공하도록 훨씬 더 작게, 예를 들어, 5% 로 셋팅될 수 있다.
따라서, 전체적으로, 동적 인터리빙 방법을 사용하여, 콘텐츠 재핑 시간, 예를 들어, 동일한 네트워크 조건에서 기본적인 스트림 전송 방법을 사용하는 수 초에 대한 1초 하의 콘텐츠 재핑 시간은 짧을 수 있지만, 동적 인터리빙 방법은 네트워크 지터 및 버스트 패킷 손실에 대해 우수한 롱-텀 보호를 제공할 수 있다.
파라미터들이 특정될 수 있는 방법에 대한 많은 변형들이 존재한다. 예를 들어, 대신, 테이프 상의 초기 시작 위치, 인터리빙의 초기량, 인터리빙의 최종량, 및 초기 인터리빙으로부터 최종 인터리빙으로 평활하게 천이하는 시간 주기를 특정할 수 있다. 다른 방법으로, 초기 인터리빙으로부터 최종 인터리빙으로 평활하게 천이하는 시잔 주기를 특정하는 것 대신, 그 천이를 행하는 콘텐츠 스트리밍 레이트에 대한 레이트를 특정할 수 있다. 변형의 또 다른 예로서, 부가적인 파라미터들이 전송기에 알려지거나 수신기에 의해 특정될 수 있으며, 예를 들어, 수신기는 그 수신기가 콘텐츠를 재생하기 시작할 시작 위치 S를 명시적으로 시그널 링할 수 있다.
당업자가 인식할 바와 같이, 동적 인터리빙 방법들의 많은 변형들이 존재한다. 예를 들어, 몇몇 또는 모든 인코딩된 블록들로부터의 인코딩된 데이터의 일부를 필터링하고 개별 수신기들로 전송하지 않기로 결정할 수도 있는데, 그 이유는 이들 수신기들이 더 큰 손실을 경험하지 않고 있기 때문이다. 또 다른 변형으로서, 소스 블록 구조가 미리 결정될 수 있지만, 전송 프로세스가 동작함에 따라, FEC 인코딩은 개별 수신기들에 대한 인코딩된 블록들을 생성하도록 동작하고 있거나, 가끔, 이전의 수신기보다 더 큰 보호량을 필요로 하는 수신기들을 조우할 때마다, 몇몇 인코딩된 블록들에 대한 많은 양의 리페어 심볼들을 생성한다.
종종 바람직한 또 다른 변형으로서, 수신기는 동적 인터리빙 방법들에 대한 초기 파라미터들의 셋팅을 제어할 수 있으며, 서버 또는 서버들의 세트는 동적 인터리빙 방법들에 대한 최종 타겟 파라미터들을 결정할 수 있다. 예를 들어, 수신기는, 콘텐츠 스트림이 2초의 인터리빙 깊이 및 1초의 예약 버퍼로 시작될 것을 특정할 수도 있으며, 그 후, 서버는 10초의 예약 버퍼와 20초의 인터리빙 깊이가 전송의 처음 2분에서 달성되는 방식으로 그 서버가 전송할 것을 결정할 수도 있다. 서버 또는 서버들이 동적 인터리빙 방법에 대한 최종 파라미터들을 지시하게 하는 일 이점은, 라이브 스트리밍을 지원하는 것을 훨씬 더 용이하게 하는 것이며, 여기서, 현재의 시간 이상의 콘텐츠 스트림의 일부가 이용가능하지 않고, 따라서, 서버는 소정의 제약들 하에서 동작하는 최종 셋팅으로 동적 인터리빙 파라미터들을 안내할 수 있다. 서버가 최종 파라미터들을 지시하게 하는 일 이점의 또 다른 예는, 몇몇 경우, 최종적으로 다수의 수신기들이 동일한 최종 파라미터들을 향해 안내되는 방식으로, 서버가 스트림내의 본질적으로 동일한 위치로부터 동일한 콘텐츠 스트림을 서빙하고 있는 다수의 클라이언트들에 대한 파라미터들을 조정할 수 있다는 것이며, 이는, 동일한 시점에서 동일한 패킷이 콘텐츠 스트림으로부터 모든 이들 수신기들로 전송될 것이므로, 패킷들을 이들 수신기들로 전송할 시에 서버 효율도를 유도한다.
콘텐츠 세그먼트 천이에 대한 동적 인터리빙 방법
동적 인터리빙 방법의 일 예시적인 사용은, 수신기가 콘텐츠 세그먼트들의 리스트내의 일 콘텐츠 세그먼트로부터 다음의 콘텐츠 세그먼트로 천이하는 경우, 예를 들어, 쇼의 일 에피소드의 일 세그먼트로부터 광고로, 그 후, 다시 그 쇼의 다음 세그먼트로 천이할 경우이며, 여기서, 모든 천이는 임의의 수신기 상호작용 없이 발생한다. 상이한 콘텐츠 세그먼트들은 상이한 전송기들에 의해 전송될 수도 있으며, 예를 들어, 쇼 에피소드의 세그먼트들은 콘텐츠 서버에 의해 수신기로 전송될 수도 있지만, 중간 광고는 광고 서버에 의해 수신기로 전송될 수도 있다.
제 1 예는, 상술된 동적 인터리빙 방법들을 사용하여 제 1 전송기에 의해 전송되는 제 1 콘텐츠 세그먼트를 수신기가 워칭하는 경우이며, 제 1 전송기는 풀 인터리빙 깊이 D 및 예약 버퍼 시간 R이 구축되기에 충분히 길게 전송된다. 그 후, 제 2 콘텐츠 세그먼트로의 평활한 천이가, 동적 인터리빙 방법을 사용하여 다음과 같이 달성될 수 있다.
1. 제 1 콘텐츠 세그먼트의 전송 종료 전의 D+R 초에서, 제 1 세그먼트에 대한 전송 레이트는, D초의 주기에 걸쳐 인코딩된 스트림 레이트로부터 제로로 선형적으로 감소할 것이며, 그 포인트에서 제 1 전송기는 제 1 세그먼트에 대한 전송을 중지할 것이다.
2. 제 1 콘텐츠 세그먼트가 재생하기를 종료하기 전의 D+R 초에서, 수신기는 제 2 서버로부터 파라미터들 UI=0, LI=-D, UF=0, LF=-D, T=0 을 갖는 제 2 콘텐츠 세그먼트를 요청한다. 네트워크 레이턴시가 없다고 가정하면, 제 2 서버는 제 2 콘텐츠 세그먼트에 대한 스트림을 전송하기 시작할 것이며, 전송의 첫번째 D 초에 걸쳐 선형적으로 레이트를 증가시키고, 이 후, 전송은 인코딩된 스트림 레이트에 존재한다.
3. 제 1 콘텐츠 세그먼트가 재생하기를 종료할 경우, 제 2 콘텐츠에 대한 예약 버퍼는 R초로 구축되며, 인터리브 깊이는 D초로 구축된다. 이러한 시점에서, 제 2 콘텐츠의 재생이 시작될 수 있다.
따라서, 제 1 콘텐츠 세그먼트로부터 제 2 콘텐츠 세그먼트로의 천이는 수신기에서의 수신 레이트를 인코딩된 스트림 레이트로 유지하며, 즉, 제 1 콘텐츠 세그먼트에 대한 전송 레이트가 선형적으로 램핑 다운 (ramping down) 되지만, 연속하여 전송되고 있는 하나의 콘텐츠 세그먼트가 존재하는 것처럼 천이에 걸친 결합된 레이트가 동일하다는 방식으로, 제 2 콘텐츠 세그먼트에 대한 전송 레이트가 선형적으로 램핑 업된다. 또한, 제 2 스트림에 대한 인터리브 보호 및 예약 버퍼 보호는 정상 상태에서 제 1 스트림에 대한 것과 동일하다. 도 12는 이것의 예 시이다.
제 1 콘텐츠 세그먼트의 전송 종료와 비교하여 제 2 콘텐츠 세그먼트에 대한 스트림 전송의 시작에 관한 타이밍이 일 비트 오프 (off) 되더라도, 램프 다운 레이트 및 램프 업 레이트가 평활하게 선형이므로, 스트리밍 레이트에서의 넷 에러 (net error) 는 작다. 예를 들어, 2개의 스트림들 사이에서의 천이의 타이밍에서 500 밀리초의 에러가 존재하고, 인터리빙 깊이가 10초이면, 스트리밍 레이트에서의 에러는 최대 5% 이다. 또한, 이것은, 즉, 제 2 콘텐츠 세그먼트에 대한 파라미터들이 제 1 스트림에 대한 것과 동일하게 이들 값들을 유지하는 것을 시도하는 것 대신에, 예약 버퍼 및 인터리브 시간을 1 비트 더 크게 구축하려는 것을 시도하는 방식으로, 그 제 2 콘텐츠 세그먼트에 대한 파라미터들이 상술된 것보다 일 비트 더 크게 보존적으로 셋팅될 수 있다는 것을 의미하며, 콘텐츠 세그먼트 천이 동안의 결합된 스트리밍 레이트에서의 결과적인 증가는 작을 것이다.
콘텐츠 세그먼트 천이의 제 2 예는, 수신기가 상술된 동적 인터리빙 방법들을 사용하여 제 1 전송기에 의해 전송되는 제 1 콘텐츠 세그먼트를 워칭하고 있지만, 풀 인터리빙 깊이 D 및 예약 버퍼 시간 R 이 구축되기에 충분히 길게 그 제 1 전송기가 전송하고 있지 않는 경우이다. 그 후, 제 2 콘텐츠 세그먼트로의 평활한 천이가 동적 인터리빙 방법을 사용하여 다음과 같이 달성될 수 있으며, 여기서, 이러한 경우, 수신기가 행하는 것은, 제 1 스트림으로부터 제 2 스트림으로의 천이가 2개의 콘텐츠 세그먼트들이 함께 연접되고 하나의 서버에 의해 전송되는 것처럼 되는 방식으로, 파라미터들을 셋팅하고 제 2 스트림을 요청하는 것이다. 당업자는, 동적 인터리빙 방법들을 사용하여 이러한 타입의 천이를 달성하는 방법의 세부사항들을 작업할 수 있다.
콘텐츠 세그먼트 천이의 제 3 예는, 상술된 동적 인터리빙 방법들을 사용하여 제 1 전송기에 의해 전송되는 제 1 콘텐츠 세그먼트를 수신기가 워칭하고 있고, 그 후, 제 1 콘텐츠 세그먼트 재생이 수신기에서 종료한 시간과 제 2 콘텐츠 세그먼트가 시작할 시간 사이의 시간 주기 사이에서 갭이 존재하는 경우이다. 예를 들어, 재생을 종료하는 쇼의 에피소드의 제 1 세그먼트가 존재하고, 후속하여, 예를 들어, 30초의 지속기간의 비-스트리밍 광고가 존재하며, 후속하여, 쇼의 에피소드의 제 2 콘텐츠 세그먼트의 즉시 재생이 존재하는 경우, 이것은 원하는 작동일 수도 있다. 이러한 경우, 동적 인터리빙 방법들은, 간략화를 위해, 풀 인터리빙 깊이 D 및 예약 버퍼 시간 R이 구축되는데 충분히 길게 제 1 콘텐츠 세그먼트가 수신기로 전송된다고 가정하여, 다음과 같이 사용될 수 있다. 이러한 경우, 상기 제 1 예에 대한 경우와 같이, 수신기는, 제 1 콘텐츠 세그먼트의 재생 종료 이전에 D+R 초에서 제 2 콘텐츠 세그먼트에 대한 요청을 전송하며, 파라미터들은 UI=0, LI=-D, UF=0, LF=-D, T=0 이다. 이것은, 제 1 콘텐츠 세그먼트의 레이트와 결합될 경우 전체 레이트가 단일 전송 스트림의 레이트인 레이트에서, 제 2 서버가 제 2 콘텐츠 세그먼트를 전송하기 시작하게 한다. 그 후, 제 1 콘텐츠 세그먼트가 수신기에서 재생하기를 종료하는 시간에서, 수신기는 제 2 콘텐츠 세그먼트에 대한 스트림을 전송하기를 종료하도록 제 2 서버에 시그널링하며, 수신기에 대한 전송 레이트는 즉시 제로로 드롭된다. 그 후, 갭이, 즉, 30초 동안 발생한다. 갭의 종료시에, 수신기는 제 2 콘텐츠 세그먼트를 즉시 재생하기 시작하고, 동시에, 제 2 콘텐츠에 대한 시작 전송 요청을 제 2 서버에 전송하며, 파라미터들은 UI=D+R, LI=R, UF=D+R, LF=R, T=0 이다. 이것은, 제 2 서버가 갭 직전에 종료되는 제 2 콘텐츠를 계속 전송하게 한다. 전체 효과는, 스케줄링된 시간에서 제 2 콘텐츠의 즉시 재생이면서, 동시에, 천이 동안 모든 포인트에서의 수신기에 대한 결합된 전송 레이트가 2개의 콘텐츠 세그먼트들의 재생 동안 하나의 인코딩된 스트림 레이트와 동일하다는 것이며, 전송 레이트는 2개의 콘텐츠 세그먼트들 어느 하나도 재생하고 있지 않은 경우 제로이다. 도 13은 이것의 예시이다.
당업자가 인식할 바와 같이, 상술된 동적 인터리빙 방법들의 많은 다른 사용들 및 변형들이 존재한다.
서브-스트림 기반 전달 방법들
서브-스트림 기반 전달은, 예를 들어, 대략적으로 동일한 양의 각각의 인코딩된 블록이 각각의 서브-스트림에 포함되도록, FEC 인코딩된 스트림을 취하고 그것을 서브-스트림들로 분할하기 위한 방법이다. 예를 들어, 인코딩된 스트림은 40개의 서브-스트림들로 분할될 수도 있으며, 각각의 서브-스트림은 약 5% 의 각각의 소스 블록들로 이루어지고, 따라서, 이러한 예에서, FEC 인코딩을 사용하여 각각의 소스 블록에 대해 생성된 리페어 데이터의 양은 소스 블록의 사이즈와 거의 동일하다. 더 일반적으로, FEC 인코딩이 각각의 소스 블록에 적용되고, 그 후, 서브-스트림 기반-전달이 적용될 경우, 각각의 소스 블록에 대한 총 인코딩된 데이 터는, 대략적으로 동일한 양의 각각의 서브 블록의 인코딩이 각각의 서브-스트림에 포함되도록 서브-스트림들로 분할되며, 여기서, FEC 코딩이 시스템매틱이면, 각각의 소스 블록의 인코딩된 데이터는 각각의 소스 블록의 본래의 데이터 플러스 생성된 리페어 데이터를 포함하고, FEC 코딩이 시스템매틱이 아니면, 각각의 소스 블록의 인코딩된 데이터는 리페어 데이터를 포함할 수도 있다.
서브-스트림 기반 전달의 주요 아이디어 중 하나는, 다수의 원하는 목적들을 달성하기 위해, 잠재적으로 상이한 경로 및 잠재적으로 상이한 서버들을 통해 스트림에 대한 서브-스트림들을 전송하는 것이다. 일 예로서, 이하, 서브-스트림 기반 전달 시스템으로 콘텐츠 스트림을 수집하는 헤드-엔드 서버 (HES) 로 지칭되는 서버가 존재할 수도 있으며, 여기서, HES가 수행하는 프로세스들 중 몇몇은, 콘텐츠 스트림에 대한 소스 블록 구조를 생성하고, 그 스트림을 FEC 인코딩하고, 그 인코딩된 스트림을 서브-스트림들로 분할하며, 그 후, 상이한 데이터 센터 또는 이종 (disparate) 네트워크 위치내에 분산될 수도 있는 이하 분산 서버 (DS) 로 지칭되는 다른 서버들로 그 서브-스트림들을 전송하는 것이다. 이것의 일 예가 도 14에서 관측될 수 있다. 도 14에서, DS들 (1430) 의 각각은 HES (1410) 로부터 인코딩된 콘텐츠 스트림 (1420) 의 상이한 세그먼트를 수신한다. DS가 수행하는 프로세스들 중 몇몇은, 예를 들어, 특정한 서브-스트림들에 대한 수신기 요청 또는 수신기 가입에 기초하여, 수신기들로부터의 특정한 콘텐츠 스트림들로부터의 서브-스트림들에 대한 요청을 수용하고 서브-스트림들을 수신기에 전송하기 위해, 진행중에 수신기로 그들이 전달하는 바와 같이, 그 콘텐츠 스트림들의 서브-스트림 들을 캐싱하는 것을 포함한다. 서브-스트리밍의 특수한 경우는, 추가적으로 분할되지 않는 본래의 인코딩된 스트림을 포함한다.
서브-스트림 기반 전달 시스템에서의 수신기들은, 동일한 시작 위치에서 시작하는 동일한 콘텐츠 세그먼트에 대한 서브-스트림들을 요청 및 수신할 수도 있으며, 여기서, 그 요청들은 상이한 서브-스트림들에 대한 상이한 DS들로 전송될 수도 있고, 이러한 경우, 동일한 시작 위치를 갖는 동일한 인코딩된 스트림에 대한 수 개의 상이한 서브-스트림들은 상이한 DS들로부터 동일한 수신기로 전송될 수도 있다. 이것의 일 예가 도 15에서 관측될 수 있다. 도 15에서, 수신기 (1530) 는 다양한 DS들 (1510, 1520) 로부터 콘텐츠 스트림을 요청한다. 이러한 인스턴스에서, DS들 중 하나의 DS (1520) 는 수신기로부터의 요청에 응답하지 않지만, 다른 DS들 (1510) 은 수신기로 서브-스트림들을 전송한다. 콘텐츠 스트림을 완전하게 복원하는 것을 달성하기 위해, 응답하는 DS들이 충분한 데이터를 수신기에 송신하면, FEC 인코딩을 사용하여 그 콘텐츠 스트림을 완전하게 복원하는 것이 가능할 수도 있다.
일 예로서, 본래의 1Mbps 콘텐츠 스트림이 HES에서 수집될 수도 있으며, 그 HES는, 콘텐츠 스트림이 관통하고 본래의 스트림에 소스 데이터가 존재하는 것만큼 많이 리페어 데이터를 부가 (100% 리페어) 할 경우 소스 블록 구조를 형성하고, 100Kbps의 서브-스트림들로 2Mbps의 인코딩된 스트림을 분할하며, 결과적인 20개의 서브-스트림들을 20개의 상이한 DS들로 전송한다. 스트림내의 특정한 위치로부터 시작하는 콘텐츠 스트림을 재생하기를 원하는 수신기는, DS가 특정된 시작 위치 에서 시작하는 콘텐츠에 대해 갖는 서브-스트림을 요청하는 20개의 DS들 중 12개로 요청을 전송할 수도 있다. 응답에서, 모든 12개의 DS들은 특정된 시작 포인트로부터 시작하는 인코딩된 스트림에 대해 그들이 갖는 서브-스트림을 수신기로 동시에 전송하며, 따라서, 12개의 DS들 각각은 100Kbps 의 레이트로 수신기에 전송하므로, 총 레이트는 1.2Mbps 이다.
상술된 바와 같은 서브-스트림 기반 전달 시스템에 대해 수 개의 이점들이 존재하며, 이들 중 몇몇 또는 전부는, 1) 대역폭 용량 및 저장 용량을 서버에 서빙하는 내추럴 (natural) 로드 밸런싱 이점들을 갖는, 파퓰러 (popular) 한 것을 파퓰러하지 않은 것과의 혼합하는 콘텐츠의 내추럴 로드 밸런싱, 2) 경로 실패 복원력 (resilience), 즉, 하나의 경로가 다운되지만, 콘텐츠 스트림이 FEC 디코딩을 사용하여 여전히 완전하게 복원될 수 있도록 다른 경로로부터 수신기가 수신하고 있는 여전히 충분한 데이터가 존재함, 3) DS 고장, DS 디스크 실패 등에 대한 강인성, 및 4) 총 전송 레이트가 수신기에 대해 유지되고, 수신기에서 버퍼 부족이 존재하지 않는 더 큰 기회를, 단일 서버에 대한 다수의 DS들로부터의 데이터의 전송이 제공하는 것을 포함하는 본 발명의 실시형태들에서 발견될 수도 있다. 특히, 이는 TCP 또는 HTTP 가 DS들로부터 수신기로 서브-스트림들을 전송하기 위해 사용되는 경우이지만, UDP가 DS들로부터 수신기로 서브-스트림을 전송하기 위해 사용되는 경우에도 참이며, 또한, 본 발명의 실시형태들은 5) 전체 시스템에서의 단일 실패 포인트는 HES 및 수신기의 진입 포인트에 존재하며, 임의의 위치에 존재할 필요는 없다는 것을 포함한다.
동적 인터리빙 방법들과 서브-스트림 기반 전달 방법들과의 결합
여기에 설명된 동적 인터리빙 방법들 및 서브-스트림 기반 전달 방법들은 큰 이점을 위해 결합될 수 있으며, 즉, 양자의 방법들의 모든 이점들은 결합된 솔루션에서 발견된다. 예를 들어, 동적 인터리빙 방법들을 사용하여, 콘텐츠 스트림에 대한 소스 블록 구조 및 FEC 인코딩은, 그 콘텐츠 스트림이 시스템으로 진입될 때마다 HES에 의해 수행될 수 있다. 서브-스트림 방법들은 HES에서 FEC 인코딩된 스트림의 서브-스트림들을 생성하기 위해 사용될 수 있으며, 그 후, 이들 서브-스트림들은 저장을 위해 상이한 DS들로 전송될 수 있다. 수신기가 스트림내의 특정한 위치로부터 콘텐츠 스트림을 수신하기를 원할 경우, 그 수신기는 그 수신기로 서브-스트림을 전송하는 모든 DS들로 적절한 동적 인터리빙 파라미터들을 전송할 수 있으며, 그 DS들은 이들 파라미터들에 따라 서브-스트림들을 수신기로 전송할 것이다. 수신기는 재생을 위해 본래의 콘텐츠 스트림을 재생성하도록, 소스 블록들에 대한 서브-스트림들로부터의 패킷들을 조립할 수 있다. 동적 인터리빙 방법들은, 스트리밍 동안 예약 버퍼 및 인터리빙 깊이가 증가하게 하며, 이는 버스트 패킷 손실 및 네트워크 지터에 대한 우수한 보호를 제공하고, 동시에, 신속한 채널 재핑 시간들을 수신기에 제공한다. 이러한 예시적인 솔루션에서, DS들은 FEC 코딩을 수행할 필요가 없지만, 분산된 경로들을 통해 네트워크의 상이한 부분들로부터 수신기에 콘텐츠 스트림을 전달할 수 있으며, 따라서, 그 전달의 경로 다이버시티 및 서버 다이버시티를 증가시키고, 그에 의해, 서버 및 네트워크 실패에 대한 신뢰성 및 강인성을 증가시킨다.
또한, 이러한 예에서, 각각의 소스 블록에 대한 보호량은 DS들과 수신기 사이보다 HES와 DS 사이에서 실질적으로 더 높을 수도 있다. 예를 들어, 20개의 서브-스트림들이 생성될 수도 있고 HES 로부터 20개의 DS들로 전송될 수도 있지만, 10개의 서브-스트림들만이 본래의 콘텐츠 스트림을 복원하는데 필요할 수도 있지만 (100% 의 보호량), 수신기는, 예를 들어, 20개의 DS들 중 12개로부터 12개의 서브-스트림들만, 즉, DS들 중 하나가 실패하고, 수신기가 서브-스트림들을 수신하는 나머지 11개의 DS로부터 모든 경로들 통하여 전체적으로 최대 10%의 패킷 손실이 존재하는 경우라도 본래의 콘텐츠 스트림을 수신기가 여전히 복원할 수 있게 하는 20% 의 보호량을 요청할 수도 있다.
상술된 예시적인 솔루션은, 20개의 DS들 중 12개 보다 많은 리스트를 갖는 수신기에 포함된 적절한 로직으로, 수신기가 서브-스트림을 수신하고 있는 12개의 DS들 중 하나가 실패할 경우, 수신기는 이것을 자동으로 검출하고, 수신기가 현재 서브-스트림을 수신하고 있지 않은 다른 DS들 중 하나로부터 또 다른 서브-스트림을 요청할 수 있으며, 그에 의해, 11개의 수신 서브-스트림들로부터 12개의 상이한 DS들로부터의 12개의 수신 서브-스트림들로 스트림의 신뢰도를 다시 증가시킨다는 부가적인 특성을 갖는다.
동적 인터리빙 방법들과 서브-스트림 방법들을 결합하는데 필요한 방법들에서의 변화는 비교적 작다. 예를 들어, 동적 인터리빙 방법들에 대한 전송 시간을 결정하기 위해, 인코딩된 블록내의 데이터 포인트들을 확산시키기 위한 방법들은, 각각의 DS가 인코딩된 블록내의 각각의 서브-스트림에 대해 갖는 데이터를, 인 코딩된 스트림 테이프내의 인코딩된 블록 영역에 걸쳐 균일하게 확산시키는 방법에 대한 판정을 그 각각의 DS가 행할 수 있도록 향상될 필요가 있다 (도 7 참조). 데이터를 균일하게 확산시키기 위하여 DS에 의해 행해진 판정들은, 수신기로 전송하는 모든 DS들로부터의 인코딩된 블록내의 모든 서브-스트림들로부터의 데이터의 총 확산이, 인코딩된 스트림 테이프내의 인코딩된 블록 영역에 걸쳐 매우 균일하도록 다른 DS들에 의해 행해진 판정들과 독립적인 방식으로 행해질 수 있다.
그들을 결합할 필요가 있는 방법들에서의 변화들의 또 다른 예로서, 서브-스트림들을 전송하는 DS들에 대한 스트림내의 특정한 위치를 수신기가 특정할 경우, 동일한 콘텐츠에 대한 서브-스트림을 수신기에 전송하는 다른 모든 DS들의 해석과 일치하는 방식으로, DS들이 수신기에 전송할 서브-스트림에 대한 특정한 위치를 해석할 수 있도록, 각각의 패킷으로 전송된 정보를 증가시키는 것이 바람직하다. 당업자가 인식할 바와 같이, 이들 및 잠재적으로 몇몇의 다른 작은 변화들은 당업자로 하여금, 큰 이점을 위해, 인터리빙된 스트리밍 방법들과 서브-스트림 기반 전달 방법들을 결합하게 한다.
본 발명이 예시적인 실시형태에 관해 설명되었지만, 당업자는, 다수의 변형들이 가능하다는 것을 인식할 것이며, 당업자의 그러한 인식은 본 명세서의 판독으로부터 도래할 수 있다. 예를 들어, 여기에 설명된 프로세스들은, 하드웨어 컴포넌트들, 소프트웨어 컴포넌트들, 및/또는 이들의 임의의 조합을 사용하여 구현될 수도 있다. 따라서, 본 발명이 예시적인 실시형태에 관해 설명되었지만, 본 발명이 다음의 청구항의 범위내의 모든 변형들 및 등가물들을 커버링하도록 의도된다 는 것을 인식할 것이다.
Claims (17)
- 적어도 하나의 전송기 및 적어도 하나의 수신기를 포함하는 통신 시스템에서, 콘텐츠 스트림을 송신하는 방법으로서,수신기와 제 1 전송기 사이의 접속을 형성하는 단계;상기 수신기에서, 상기 제 1 전송기로부터 송신된 제 1 콘텐츠 스트림을 수신하는 단계로서, 상기 제 1 콘텐츠 스트림은 인터리빙의 초기량을 포함하는, 상기 제 1 콘텐츠 스트림을 수신하는 단계; 및상기 제 1 콘텐츠 스트림의 소스 블록 구조와 독립하여, 상기 제 1 콘텐츠 스트림의 송신 동안, 상기 제 1 콘텐츠 스트림에 포함된 인터리빙의 양을 조정하는 단계를 포함하는, 콘텐츠 스트림 송신 방법.
- 제 1 항에 있어서,상기 제 1 콘텐츠 스트림내의 상기 인터리빙의 초기량은, 상기 제 1 콘텐츠 스트림에 초기의 인터리빙이 존재하지 않도록 구성되는, 콘텐츠 스트림 송신 방법.
- 제 1 항에 있어서,상기 제 1 콘텐츠 스트림내의 인터리빙의 양은, 상기 초기량으로부터 정상 상태 양으로 조정되는, 콘텐츠 스트림 송신 방법.
- 제 3 항에 있어서,상기 제 1 콘텐츠 스트림내의 인터리빙은, 상기 초기량과 상기 정상 상태 양 사이에서 선형적으로 천이하는, 콘텐츠 스트림 송신 방법.
- 제 1 항에 있어서,상기 제 1 콘텐츠 스트림에 포함된 인터리빙의 양은, 시간의 함수로서 조정되는, 콘텐츠 스트림 송신 방법.
- 제 1 항에 있어서,상기 제 1 콘텐츠 스트림에 포함된 인터리빙의 양은, 상기 제 1 콘텐츠 스트림의 재생 레이트와 상기 제 1 콘텐츠 스트림의 송신 레이트 사이의 차이의 함수로서 조정되는, 콘텐츠 스트림 송신 방법.
- 제 1 항에 있어서,상기 제 1 콘텐츠 스트림에 포함된 인터리빙의 양은, 상기 수신기에서 경험되는 데이터 손실의 양의 함수로서 조정되는, 콘텐츠 스트림 송신 방법.
- 제 1 항에 있어서,상기 제 1 콘텐츠 스트림의 소스 블록 구조는, 상기 제 1 콘텐츠 스트림의 송신 동안 변하지 않는, 콘텐츠 스트림 송신 방법.
- 제 1 항에 있어서,상기 제 1 콘텐츠 스트림으로부터의 콘텐츠의 예약 버퍼를 구축하는 단계를 더 포함하는, 콘텐츠 스트림 송신 방법.
- 제 9 항에 있어서,상기 예약 버퍼는, 상기 제 1 콘텐츠 스트림에서의 인터리빙의 양에 대해 행해지는 임의의 조정들과 동시에 구축되는, 콘텐츠 스트림 송신 방법.
- 제 1 항에 있어서,상기 수신기와 제 2 전송기 사이의 제 2 접속을 형성하는 단계;상기 수신기에서, 상기 수신기에 접속된 상기 제 2 전송기로부터 송신되는 제 2 콘텐츠 스트림을 수신하는 단계로서, 상기 제 2 콘텐츠 스트림은 인터리빙의 초기량을 포함하는, 상기 제 2 콘텐츠 스트림을 수신하는 단계;상기 제 2 콘텐츠 스트림의 소스 블록 구조와 독립하여, 상기 제 2 콘텐츠 스트림의 송신 동안, 상기 수신기에 전달되는 상기 제 2 콘텐츠 스트림에 포함된 인터리빙의 양을 조정하는 단계; 및상기 콘텐츠 스트림들의 총 송신 레이트를 대략 동일하게 유지하는 방식으로, 상기 제 1 콘텐츠 스트림과 상기 제 2 콘텐츠 스트림 사이에서 천이하는 단계를 더 포함하는, 콘텐츠 스트림 송신 방법.
- 제 11 항에 있어서,상기 제 1 콘텐츠 스트림과 상기 제 2 콘텐츠 스트림 사이에서의 천이는, 상기 2개의 콘텐츠 스트림들에 포함된 인터리빙의 양의 함수로서 시간에 걸쳐 수행되는, 콘텐츠 스트림 송신 방법.
- 채널을 통해 데이터를 송신하는 전송기에서, 콘텐츠 스트림을 송신하는 방법으로서,전송기와 수신기 사이의 접속을 형성하는 단계;상기 수신기에 콘텐츠 스트림을 전송하는 단계로서, 상기 콘텐츠 스트림은 인터리빙의 초기량을 포함하는, 상기 콘텐츠 스트림을 전송하는 단계; 및상기 콘텐츠 스트림의 소스 블록 구조와 독립하여, 상기 콘텐츠 스트림의 송신 동안, 상기 콘텐츠 스트림내에 포함된 인터리빙의 양을 조정하는 단계를 포함하는, 콘텐츠 스트림 송신 방법.
- 채널을 통해 데이터를 수신하는 수신기에서, 콘텐츠 스트림을 수신하는 방법으로서,수신기와 제 1 전송기 사이의 접속을 형성하는 단계; 및상기 제 1 전송기로부터 송신된 제 1 콘텐츠 스트림을 수신하는 단계를 포함하며,상기 제 1 콘텐츠 스트림은, 상기 콘텐츠 스트림의 소스 블록 구조와 독립하여, 상기 콘텐츠 스트림의 송신 동안 조정될 수 있는 인터리빙의 초기량을 포함하는, 콘텐츠 스트림 수신 방법.
- 적어도 하나의 전송기 및 적어도 하나의 수신기를 포함하는 통신 시스템에서, 콘텐츠 스트림을 송신하는 방법으로서,수신기와 복수의 전송기들 사이의 접속을 형성하는 단계;상기 수신기에서, 상기 복수의 전송기들로부터 송신된 콘텐츠 스트림을 수신하는 단계로서, 각각의 전송기는 상기 콘텐츠 스트림의 상이한 서브-스트림을 상기 수신기에 송신하고, 각각의 서브-스트림은 인터리빙의 초기량을 포함하는, 상기 콘텐츠 스트림을 수신하는 단계; 및콘텐츠 서브-스트림들의 소스 블록 구조와 독립하여, 상기 콘텐츠 서브-스트림들의 송신 동안, 상기 콘텐츠 서브-스트림들 각각에 포함된 인터리빙의 양을 조정하는 단계를 포함하는, 콘텐츠 스트림 송신 방법.
- 제 15 항에 있어서,상기 콘텐츠 서브-스트림들의 소스 블록 구조는 상기 콘텐츠 서브-스트림들의 송신 동안 변하지 않는, 콘텐츠 스트림 송신 방법.
- 제 15 항에 있어서,각각의 콘텐츠 서브-스트림에 포함된 인터리빙의 양은, 다른 콘텐츠 서브-스트림에 포함된 인터리빙의 양과는 독립적인, 콘텐츠 스트림 송신 방법.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US91214507P | 2007-04-16 | 2007-04-16 | |
US60/912,145 | 2007-04-16 | ||
US12/103,605 | 2008-04-15 | ||
US12/103,605 US9178535B2 (en) | 2006-06-09 | 2008-04-15 | Dynamic stream interleaving and sub-stream based delivery |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020127016782A Division KR101290965B1 (ko) | 2007-04-16 | 2008-04-16 | 동적 스트림 인터리빙 및 서브-스트림 기반 전달 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100007876A true KR20100007876A (ko) | 2010-01-22 |
KR101275432B1 KR101275432B1 (ko) | 2013-06-14 |
Family
ID=39854876
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020127016782A KR101290965B1 (ko) | 2007-04-16 | 2008-04-16 | 동적 스트림 인터리빙 및 서브-스트림 기반 전달 |
KR1020097023766A KR101275432B1 (ko) | 2007-04-16 | 2008-04-16 | 동적 스트림 인터리빙 및 서브-스트림 기반 전달 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020127016782A KR101290965B1 (ko) | 2007-04-16 | 2008-04-16 | 동적 스트림 인터리빙 및 서브-스트림 기반 전달 |
Country Status (13)
Country | Link |
---|---|
US (1) | US9178535B2 (ko) |
EP (1) | EP2145390B1 (ko) |
JP (3) | JP5096560B2 (ko) |
KR (2) | KR101290965B1 (ko) |
CN (1) | CN101675594B (ko) |
AU (1) | AU2008242911B2 (ko) |
BR (1) | BRPI0810142A2 (ko) |
CA (1) | CA2681730A1 (ko) |
IL (1) | IL201147A0 (ko) |
MX (1) | MX2009011094A (ko) |
RU (1) | RU2440670C2 (ko) |
UA (1) | UA94811C2 (ko) |
WO (1) | WO2008131023A1 (ko) |
Families Citing this family (59)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6307487B1 (en) | 1998-09-23 | 2001-10-23 | Digital Fountain, Inc. | Information additive code generator and decoder for communication systems |
US7068729B2 (en) | 2001-12-21 | 2006-06-27 | 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 |
WO2004034589A2 (en) | 2002-10-05 | 2004-04-22 | Digital Fountain, Inc. | Systematic encoding and decoding of chain reaction codes |
CN101834610B (zh) | 2003-10-06 | 2013-01-30 | 数字方敦股份有限公司 | 通过通信信道接收从源发射的数据的方法和装置 |
KR101161193B1 (ko) | 2004-05-07 | 2012-07-02 | 디지털 파운튼, 인크. | 파일 다운로드 및 스트리밍 시스템 |
JP5550834B2 (ja) | 2006-02-13 | 2014-07-16 | デジタル ファウンテン, インコーポレイテッド | 可変fecオーバヘッド及び保護期間を利用したストリーミング及びバッファリング |
US9270414B2 (en) | 2006-02-21 | 2016-02-23 | Digital Fountain, Inc. | Multiple-field based code generator and decoder for communications systems |
WO2007134196A2 (en) | 2006-05-10 | 2007-11-22 | Digital Fountain, Inc. | Code generator and decoder using hybrid codes |
US9209934B2 (en) | 2006-06-09 | 2015-12-08 | Qualcomm Incorporated | Enhanced block-request streaming using cooperative parallel HTTP and forward error correction |
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 |
US9386064B2 (en) | 2006-06-09 | 2016-07-05 | Qualcomm Incorporated | Enhanced block-request streaming using URL templates and construction rules |
US9432433B2 (en) | 2006-06-09 | 2016-08-30 | Qualcomm Incorporated | Enhanced block-request streaming system using signaling or block creation |
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 |
US20100042885A1 (en) * | 2008-08-15 | 2010-02-18 | Srinivasa Dharmaji | Method and Apparatus for Maximizing Wireless Bandwidth During Ad Transmission with Forward Error Correction (FEC) |
US8949449B2 (en) * | 2008-10-15 | 2015-02-03 | Aster Risk Management Llc | Methods and systems for controlling fragment load on shared links |
US7844712B2 (en) * | 2008-10-15 | 2010-11-30 | Patentvc Ltd. | Hybrid open-loop and closed-loop erasure-coded fragment retrieval process |
US9281847B2 (en) | 2009-02-27 | 2016-03-08 | Qualcomm Incorporated | Mobile reception of digital video broadcasting—terrestrial services |
US8296624B2 (en) | 2009-06-30 | 2012-10-23 | Comcast Cable Communications, Llc | Variable interleave data transmission |
US9288010B2 (en) | 2009-08-19 | 2016-03-15 | Qualcomm Incorporated | Universal file delivery methods for providing unequal error protection and bundled file delivery services |
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 |
CN102088331B (zh) * | 2009-12-03 | 2015-01-14 | 株式会社Ntt都科摩 | 一种数据传输方法及网络节点 |
CN102195743B (zh) * | 2010-03-17 | 2013-08-21 | 清华大学 | 动态实时喷泉码编码方案 |
US8228817B2 (en) * | 2010-04-06 | 2012-07-24 | Via Telecom, Inc. | Quality of service control of reverse traffic channel for a mobile communication device |
US9225961B2 (en) | 2010-05-13 | 2015-12-29 | Qualcomm Incorporated | Frame packing for asymmetric stereo video |
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 |
US9456015B2 (en) | 2010-08-10 | 2016-09-27 | Qualcomm Incorporated | Representation groups 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 |
US9276989B2 (en) * | 2012-03-30 | 2016-03-01 | Adobe Systems Incorporated | Buffering in HTTP streaming client |
KR101983032B1 (ko) | 2012-05-07 | 2019-05-30 | 삼성전자주식회사 | 방송 및 통신 시스템에서 패킷 송수신 장치 및 방법 |
US9136958B2 (en) * | 2012-06-22 | 2015-09-15 | Qualcomm Incorporated | Methods and apparatus for providing hybrid unicast broadcast services |
CN102869003A (zh) * | 2012-08-28 | 2013-01-09 | 中兴通讯股份有限公司 | 一种异构网络下业务内容分发的方法、业务管理平台 |
US9386062B2 (en) | 2012-12-28 | 2016-07-05 | Qualcomm Incorporated | Elastic response time to hypertext transfer protocol (HTTP) requests |
US9037679B2 (en) * | 2012-12-31 | 2015-05-19 | Futurewei Technologies, Inc. | Efficient high availability storage systems |
US9673841B2 (en) * | 2013-03-15 | 2017-06-06 | Quanta Computer, Inc. | Error-correcting code |
US9363131B2 (en) * | 2013-03-15 | 2016-06-07 | Imagine Communications Corp. | Generating a plurality of streams |
US9596281B2 (en) * | 2014-03-18 | 2017-03-14 | Qualcomm Incorporated | Transport accelerator implementing request manager and connection manager functionality |
US10692111B1 (en) * | 2014-04-25 | 2020-06-23 | Google Llc | Systems and methods for reducing online content delivery latency |
CN105338376A (zh) * | 2014-08-15 | 2016-02-17 | 中国电信股份有限公司 | 一种流媒体码率的控制方法、系统及流媒体服务器 |
US9923970B2 (en) * | 2014-08-22 | 2018-03-20 | Nexenta Systems, Inc. | Multicast collaborative erasure encoding and distributed parity protection |
JP6724782B2 (ja) * | 2014-09-04 | 2020-07-15 | ソニー株式会社 | 送信装置、送信方法、受信装置および受信方法 |
KR101678743B1 (ko) * | 2014-11-26 | 2016-11-22 | 건국대학교 산학협력단 | 분산 멀티미디어 스트리밍 서비스 제공 시스템 및 이의 동작 방법 |
US20160248829A1 (en) * | 2015-02-23 | 2016-08-25 | Qualcomm Incorporated | Availability Start Time Adjustment By Device For DASH Over Broadcast |
US10033483B2 (en) | 2015-05-18 | 2018-07-24 | Microsoft Technology Licensing, Llc | Adjustable interleaving for communication data |
EP3185455A1 (en) * | 2015-12-21 | 2017-06-28 | Thomson Licensing | Method and apparatus for detecting packet loss in staggercasting |
DE102016004172B4 (de) * | 2016-04-11 | 2018-06-14 | Exaring Ag | Verfahren zum Umschalten zwischen digitalen Fernsehsignalen |
US9825801B1 (en) | 2016-07-22 | 2017-11-21 | Spotify Ab | Systems and methods for using seektables to stream media items |
US10296265B2 (en) * | 2016-12-09 | 2019-05-21 | International Business Machines Corporation | Reduced data access time on tape with data redundancy |
US10291783B2 (en) * | 2016-12-30 | 2019-05-14 | Akamai Technologies, Inc. | Collecting and correlating microphone data from multiple co-located clients, and constructing 3D sound profile of a room |
US11019123B2 (en) | 2018-06-22 | 2021-05-25 | International Business Machines Corporation | Multi-bitrate component sharding |
US11083961B2 (en) * | 2018-12-21 | 2021-08-10 | Universal City Studios Llc | Scalable interactive video systems and methods |
JP7482098B2 (ja) | 2021-09-30 | 2024-05-13 | Kddi株式会社 | 複数のストリームを使用してデータを送受信する通信装置及びプログラム |
Family Cites Families (551)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3909721A (en) | 1972-01-31 | 1975-09-30 | Signatron | Signal processing system |
US4365338A (en) | 1980-06-27 | 1982-12-21 | Harris Corporation | Technique for high rate digital transmission over a dynamic dispersive channel |
US4965825A (en) | 1981-11-03 | 1990-10-23 | The Personalized Mass Media Corporation | Signal processing apparatus and methods |
US4589112A (en) | 1984-01-26 | 1986-05-13 | International Business Machines Corporation | System for multiple error detection with single and double bit error correction |
US4901319A (en) * | 1988-03-18 | 1990-02-13 | General Electric Company | Transmission system with adaptive interleaving |
GB8815978D0 (en) | 1988-07-05 | 1988-08-10 | British Telecomm | Method & apparatus for encoding decoding & transmitting data in compressed form |
US5136592A (en) | 1989-06-28 | 1992-08-04 | Digital Equipment Corporation | Error detection and correction system for long burst errors |
US5421031A (en) | 1989-08-23 | 1995-05-30 | Delta Beta Pty. Ltd. | Program transmission optimisation |
US7594250B2 (en) | 1992-04-02 | 2009-09-22 | Debey Henry C | Method and system of program transmission optimization using a redundant transmission sequence |
US5701582A (en) | 1989-08-23 | 1997-12-23 | Delta Beta Pty. Ltd. | Method and apparatus for efficient transmissions of programs |
US5329369A (en) | 1990-06-01 | 1994-07-12 | Thomson Consumer Electronics, Inc. | Asymmetric picture compression |
US5455823A (en) | 1990-11-06 | 1995-10-03 | Radio Satellite Corporation | Integrated communications terminal |
US5164963A (en) | 1990-11-07 | 1992-11-17 | At&T Bell Laboratories | Coding for digital transmission |
US5465318A (en) | 1991-03-28 | 1995-11-07 | Kurzweil Applied Intelligence, Inc. | Method for generating a speech recognition model for a non-vocabulary utterance |
US5379297A (en) | 1992-04-09 | 1995-01-03 | Network Equipment Technologies, Inc. | Concurrent multi-channel segmentation and reassembly processors for asynchronous transfer mode |
EP0543070A1 (en) | 1991-11-21 | 1993-05-26 | International Business Machines Corporation | Coding system and method using quaternary codes |
US5371532A (en) | 1992-05-15 | 1994-12-06 | Bell Communications Research, Inc. | Communications architecture and method for distributing information services |
US5425050A (en) | 1992-10-23 | 1995-06-13 | Massachusetts Institute Of Technology | Television transmission system using spread spectrum and orthogonal frequency-division multiplex |
US5372532A (en) | 1993-01-26 | 1994-12-13 | Robertson, Jr.; George W. | Swivel head cap connector |
EP0613249A1 (en) | 1993-02-12 | 1994-08-31 | Altera Corporation | Custom look-up table with reduced number of architecture bits |
DE4316297C1 (de) | 1993-05-14 | 1994-04-07 | Fraunhofer Ges Forschung | Frequenzanalyseverfahren |
AU665716B2 (en) | 1993-07-05 | 1996-01-11 | Mitsubishi Denki Kabushiki Kaisha | A transmitter for encoding error correction codes and a receiver for decoding error correction codes on a transmission frame |
US5590405A (en) | 1993-10-29 | 1996-12-31 | Lucent Technologies Inc. | Communication technique employing variable information transmission |
JP2576776B2 (ja) | 1993-11-10 | 1997-01-29 | 日本電気株式会社 | パケット伝送方法・パケット伝送装置 |
US5517508A (en) | 1994-01-26 | 1996-05-14 | Sony Corporation | Method and apparatus for detection and error correction of packetized digital data |
CA2140850C (en) | 1994-02-24 | 1999-09-21 | Howard Paul Katseff | Networked system for display of multimedia presentations |
US5566208A (en) | 1994-03-17 | 1996-10-15 | Philips Electronics North America Corp. | Encoder buffer having an effective size which varies automatically with the channel bit-rate |
US5432787A (en) | 1994-03-24 | 1995-07-11 | Loral Aerospace Corporation | Packet data transmission system with adaptive data recovery method |
US5757415A (en) | 1994-05-26 | 1998-05-26 | Sony Corporation | On-demand data transmission by dividing input data into blocks and each block into sub-blocks such that the sub-blocks are re-arranged for storage to data storage means |
US5802394A (en) | 1994-06-06 | 1998-09-01 | Starlight Networks, Inc. | Method for accessing one or more streams in a video storage system using multiple queues and maintaining continuity thereof |
US5739864A (en) | 1994-08-24 | 1998-04-14 | Macrovision Corporation | Apparatus for inserting blanked formatted fingerprint data (source ID, time/date) in to a video signal |
US5568614A (en) | 1994-07-29 | 1996-10-22 | International Business Machines Corporation | Data streaming between peer subsystems of a computer system |
US5668948A (en) | 1994-09-08 | 1997-09-16 | International Business Machines Corporation | Media streamer with control node enabling same isochronous streams to appear simultaneously at output ports or different streams to appear simultaneously at output ports |
US5926205A (en) | 1994-10-19 | 1999-07-20 | Imedia Corporation | Method and apparatus for encoding and formatting data representing a video program to provide multiple overlapping presentations of the video program |
US5659614A (en) | 1994-11-28 | 1997-08-19 | Bailey, Iii; John E. | Method and system for creating and storing a backup copy of file data stored on a computer |
US5617541A (en) | 1994-12-21 | 1997-04-01 | International Computer Science Institute | System for packetizing data encoded corresponding to priority levels where reconstructed data corresponds to fractionalized priority level and received fractionalized packets |
JP3614907B2 (ja) | 1994-12-28 | 2005-01-26 | 株式会社東芝 | データ再送制御方法及びデータ再送制御システム |
JPH11505685A (ja) | 1995-04-27 | 1999-05-21 | トラスティーズ・オブ・ザ・スティーブンス・インスティテュート・オブ・テクノロジー | 時間限界マルチメディアネットワークアプリケーションのための高保全性伝送 |
US5835165A (en) | 1995-06-07 | 1998-11-10 | Lsi Logic Corporation | Reduction of false locking code words in concatenated decoders |
US5805825A (en) | 1995-07-26 | 1998-09-08 | Intel Corporation | Method for semi-reliable, unidirectional broadcast information services |
US6079041A (en) | 1995-08-04 | 2000-06-20 | Sanyo Electric Co., Ltd. | Digital modulation circuit and digital demodulation circuit |
US5754563A (en) | 1995-09-11 | 1998-05-19 | Ecc Technologies, Inc. | Byte-parallel system for implementing reed-solomon error-correcting codes |
KR0170298B1 (ko) | 1995-10-10 | 1999-04-15 | 김광호 | 디지탈 비디오 테이프의 기록 방법 |
US5751336A (en) | 1995-10-12 | 1998-05-12 | International Business Machines Corporation | Permutation based pyramid block transmission scheme for broadcasting in video-on-demand storage systems |
JP3305183B2 (ja) | 1996-01-12 | 2002-07-22 | 株式会社東芝 | ディジタル放送受信端末装置 |
US6012159A (en) | 1996-01-17 | 2000-01-04 | Kencast, Inc. | Method and system for error-free data transfer |
US5852565A (en) | 1996-01-30 | 1998-12-22 | Demografx | Temporal and resolution layering in advanced television |
US5936659A (en) | 1996-01-31 | 1999-08-10 | Telcordia Technologies, Inc. | Method for video delivery using pyramid broadcasting |
US5903775A (en) | 1996-06-06 | 1999-05-11 | International Business Machines Corporation | Method for the sequential transmission of compressed video information at varying data rates |
US5745504A (en) | 1996-06-25 | 1998-04-28 | Telefonaktiebolaget Lm Ericsson | Bit error resilient variable length code |
US5940863A (en) | 1996-07-26 | 1999-08-17 | Zenith Electronics Corporation | Apparatus for de-rotating and de-interleaving data including plural memory devices and plural modulo memory address generators |
US5936949A (en) | 1996-09-05 | 1999-08-10 | Netro Corporation | Wireless ATM metropolitan area network |
KR100261706B1 (ko) | 1996-12-17 | 2000-07-15 | 가나이 쓰도무 | 디지탈방송신호의 수신장치와 수신 및 기록재생장치 |
US6044485A (en) | 1997-01-03 | 2000-03-28 | Ericsson Inc. | Transmitter method and transmission system using adaptive coding based on channel characteristics |
US6141053A (en) | 1997-01-03 | 2000-10-31 | Saukkonen; Jukka I. | Method of optimizing bandwidth for transmitting compressed video data streams |
US6011590A (en) | 1997-01-03 | 2000-01-04 | Ncr Corporation | Method of transmitting compressed information to minimize buffer space |
US5983383A (en) | 1997-01-17 | 1999-11-09 | Qualcom Incorporated | Method and apparatus for transmitting and receiving concatenated code data |
US5946357A (en) | 1997-01-17 | 1999-08-31 | Telefonaktiebolaget L M Ericsson | Apparatus, and associated method, for transmitting and receiving a multi-stage, encoded and interleaved digital communication signal |
EP0854650A3 (en) | 1997-01-17 | 2001-05-02 | NOKIA TECHNOLOGY GmbH | Method for addressing a service in digital video broadcasting |
US6014706A (en) | 1997-01-30 | 2000-01-11 | Microsoft Corporation | Methods and apparatus for implementing control functions in a streamed video display system |
EP1024672A1 (en) | 1997-03-07 | 2000-08-02 | Sanyo Electric Co., Ltd. | Digital broadcast receiver and display |
US6115420A (en) | 1997-03-14 | 2000-09-05 | Microsoft Corporation | Digital video signal encoder and encoding method |
DE19716011A1 (de) | 1997-04-17 | 1998-10-22 | Abb Research Ltd | Verfahren und Vorrichtung zur Informationsübertragung über Stromversorgungsleitungen |
US6226259B1 (en) | 1997-04-29 | 2001-05-01 | Canon Kabushiki Kaisha | Device and method for transmitting information device and method for processing information |
US5970098A (en) | 1997-05-02 | 1999-10-19 | Globespan Technologies, Inc. | Multilevel encoder |
US5844636A (en) | 1997-05-13 | 1998-12-01 | Hughes Electronics Corporation | Method and apparatus for receiving and recording digital packet data |
JPH1141211A (ja) | 1997-05-19 | 1999-02-12 | Sanyo Electric Co Ltd | ディジタル変調回路と変調方法、ディジタル復調回路と復調方法 |
WO1998053454A1 (fr) | 1997-05-19 | 1998-11-26 | Sanyo Electric Co., Ltd. | Modulation et demodulation numeriques |
JP4110593B2 (ja) | 1997-05-19 | 2008-07-02 | ソニー株式会社 | 信号記録方法及び信号記録装置 |
US6128649A (en) | 1997-06-02 | 2000-10-03 | Nortel Networks Limited | Dynamic selection of media streams for display |
US6081907A (en) | 1997-06-09 | 2000-06-27 | Microsoft Corporation | Data delivery system and method for delivering data and redundant information over a unidirectional network |
US5917852A (en) | 1997-06-11 | 1999-06-29 | L-3 Communications Corporation | Data scrambling system and method and communications system incorporating same |
KR100240869B1 (ko) | 1997-06-25 | 2000-01-15 | 윤종용 | 이중 다이버서티 시스템을 위한 데이터 전송 방법 |
US5933056A (en) | 1997-07-15 | 1999-08-03 | Exar Corporation | Single pole current mode common-mode feedback circuit |
US6175944B1 (en) | 1997-07-15 | 2001-01-16 | Lucent Technologies Inc. | Methods and apparatus for packetizing data for transmission through an erasure broadcast channel |
US6047069A (en) | 1997-07-17 | 2000-04-04 | Hewlett-Packard Company | Method and apparatus for preserving error correction capabilities during data encryption/decryption |
US6904110B2 (en) | 1997-07-31 | 2005-06-07 | Francois Trans | Channel equalization system and method |
US6178536B1 (en) | 1997-08-14 | 2001-01-23 | International Business Machines Corporation | Coding scheme for file backup and systems based thereon |
FR2767940A1 (fr) | 1997-08-29 | 1999-02-26 | Canon Kk | Procedes et dispositifs de codage et de decodage et appareils les mettant en oeuvre |
EP0903955A1 (en) | 1997-09-04 | 1999-03-24 | STMicroelectronics S.r.l. | Modular architecture PET decoder for ATM networks |
US6088330A (en) | 1997-09-09 | 2000-07-11 | Bruck; Joshua | Reliable array of distributed computing nodes |
US6134596A (en) | 1997-09-18 | 2000-10-17 | Microsoft Corporation | Continuous media file server system and method for scheduling network resources to play multiple files having different data transmission rates |
US6272658B1 (en) | 1997-10-27 | 2001-08-07 | Kencast, Inc. | Method and system for reliable broadcasting of data files and streams |
US6163870A (en) | 1997-11-06 | 2000-12-19 | Compaq Computer Corporation | Message encoding with irregular graphing |
US6081909A (en) | 1997-11-06 | 2000-06-27 | Digital Equipment Corporation | Irregularly graphed encoding technique |
US6081918A (en) | 1997-11-06 | 2000-06-27 | Spielman; Daniel A. | Loss resilient code with cascading series of redundant layers |
US6195777B1 (en) | 1997-11-06 | 2001-02-27 | Compaq Computer Corporation | Loss resilient code with double heavy tailed series of redundant layers |
US6073250A (en) | 1997-11-06 | 2000-06-06 | Luby; Michael G. | Loss resilient decoding technique |
JP3472115B2 (ja) | 1997-11-25 | 2003-12-02 | Kddi株式会社 | マルチチャンネルを用いるビデオデータ伝送方法及びその装置 |
US6243846B1 (en) | 1997-12-12 | 2001-06-05 | 3Com Corporation | Forward error correction system for packet based data and real time media, using cross-wise parity calculation |
US5870412A (en) | 1997-12-12 | 1999-02-09 | 3Com Corporation | Forward error correction system for packet based real time media |
US6849803B1 (en) | 1998-01-15 | 2005-02-01 | Arlington Industries, Inc. | Electrical connector |
US6097320A (en) | 1998-01-20 | 2000-08-01 | Silicon Systems, Inc. | Encoder/decoder system with suppressed error propagation |
US6226301B1 (en) | 1998-02-19 | 2001-05-01 | Nokia Mobile Phones Ltd | Method and apparatus for segmentation and assembly of data frames for retransmission in a telecommunications system |
US6141788A (en) | 1998-03-13 | 2000-10-31 | Lucent Technologies Inc. | Method and apparatus for forward error correction in packet networks |
US6278716B1 (en) | 1998-03-23 | 2001-08-21 | University Of Massachusetts | Multicast with proactive forward error correction |
EP1075762A1 (en) | 1998-04-02 | 2001-02-14 | Sarnoff Corporation | Bursty data transmission of compressed video data |
US6185265B1 (en) | 1998-04-07 | 2001-02-06 | Worldspace Management Corp. | System for time division multiplexing broadcast channels with R-1/2 or R-3/4 convolutional coding for satellite transmission via on-board baseband processing payload or transparent payload |
US6067646A (en) * | 1998-04-17 | 2000-05-23 | Ameritech Corporation | Method and system for adaptive interleaving |
US6018359A (en) | 1998-04-24 | 2000-01-25 | Massachusetts Institute Of Technology | System and method for multicast video-on-demand delivery system |
US6445717B1 (en) | 1998-05-01 | 2002-09-03 | Niwot Networks, Inc. | System for recovering lost information in a data stream |
US6421387B1 (en) | 1998-05-15 | 2002-07-16 | North Carolina State University | Methods and systems for forward error correction based loss recovery for interactive video transmission |
US6937618B1 (en) | 1998-05-20 | 2005-08-30 | Sony Corporation | Separating device and method and signal receiving device and method |
US6333926B1 (en) | 1998-08-11 | 2001-12-25 | Nortel Networks Limited | Multiple user CDMA basestation modem |
WO2000014921A1 (en) | 1998-09-04 | 2000-03-16 | At & T Corp. | Combined channel coding and space-block coding in a multi-antenna arrangement |
US6415326B1 (en) | 1998-09-15 | 2002-07-02 | Microsoft Corporation | Timeline correlation between multiple timeline-altered media streams |
US6320520B1 (en) | 1998-09-23 | 2001-11-20 | Digital Fountain | Information additive group code generator and decoder for communications systems |
US7243285B2 (en) | 1998-09-23 | 2007-07-10 | Digital Fountain, Inc. | Systems and methods for broadcasting information additive codes |
US6307487B1 (en) | 1998-09-23 | 2001-10-23 | Digital Fountain, Inc. | Information additive code generator and decoder for communication systems |
US7068729B2 (en) | 2001-12-21 | 2006-06-27 | Digital Fountain, Inc. | Multi-stage code generator and decoder for communication systems |
US6704370B1 (en) | 1998-10-09 | 2004-03-09 | Nortel Networks Limited | Interleaving methodology and apparatus for CDMA |
IT1303735B1 (it) | 1998-11-11 | 2001-02-23 | Falorni Italia Farmaceutici S | Acidi ialuronici reticolati e loro usi medici. |
US6408128B1 (en) | 1998-11-12 | 2002-06-18 | Max Abecassis | Replaying with supplementary information a segment of a video |
US7157314B2 (en) | 1998-11-16 | 2007-01-02 | Sandisk Corporation | Vertically stacked field programmable nonvolatile memory and method of fabrication |
JP2000151426A (ja) | 1998-11-17 | 2000-05-30 | Toshiba Corp | インターリーブ・デインターリーブ回路 |
US6166544A (en) | 1998-11-25 | 2000-12-26 | General Electric Company | MR imaging system with interactive image contrast control |
US6876623B1 (en) | 1998-12-02 | 2005-04-05 | Agere Systems Inc. | Tuning scheme for code division multiplex broadcasting system |
US6314289B1 (en) | 1998-12-03 | 2001-11-06 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for transmitting information and apparatus and method for receiving information |
US6637031B1 (en) | 1998-12-04 | 2003-10-21 | Microsoft Corporation | Multimedia presentation latency minimization |
US6496980B1 (en) | 1998-12-07 | 2002-12-17 | Intel Corporation | Method of providing replay on demand for streaming digital multimedia |
US6223324B1 (en) | 1999-01-05 | 2001-04-24 | Agere Systems Guardian Corp. | Multiple program unequal error protection for digital audio broadcasting and other applications |
JP3926499B2 (ja) | 1999-01-22 | 2007-06-06 | 株式会社日立国際電気 | 畳み込み符号軟判定復号方式の受信装置 |
US6618451B1 (en) | 1999-02-13 | 2003-09-09 | Altocom Inc | Efficient reduced state maximum likelihood sequence estimator |
US6041001A (en) | 1999-02-25 | 2000-03-21 | Lexar Media, Inc. | Method of increasing data reliability of a flash memory device without compromising compatibility |
KR20010043284A (ko) | 1999-03-03 | 2001-05-25 | 이데이 노부유끼 | 송신 장치, 수신 장치, 송수신 시스템, 송신 방법 및 수신방법 |
US6785323B1 (en) | 1999-11-22 | 2004-08-31 | Ipr Licensing, Inc. | Variable rate coding for forward link |
US6466698B1 (en) | 1999-03-25 | 2002-10-15 | The United States Of America As Represented By The Secretary Of The Navy | Efficient embedded image and video compression system using lifted wavelets |
US6609223B1 (en) | 1999-04-06 | 2003-08-19 | Kencast, Inc. | Method for packet-level fec encoding, in which on a source packet-by-source packet basis, the error correction contributions of a source packet to a plurality of wildcard packets are computed, and the source packet is transmitted thereafter |
JP3256517B2 (ja) | 1999-04-06 | 2002-02-12 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 符号化回路、回路、パリティ生成方法及び記憶媒体 |
US6535920B1 (en) | 1999-04-06 | 2003-03-18 | Microsoft Corporation | Analyzing, indexing and seeking of streaming information |
US6804202B1 (en) | 1999-04-08 | 2004-10-12 | Lg Information And Communications, Ltd. | Radio protocol for mobile communication system and method |
US7885340B2 (en) | 1999-04-27 | 2011-02-08 | Realnetworks, Inc. | System and method for generating multiple synchronized encoded representations of media data |
FI113124B (fi) | 1999-04-29 | 2004-02-27 | Nokia Corp | Tiedonsiirto |
MY130203A (en) | 1999-05-06 | 2007-06-29 | Sony Corp | Methods and apparatus for data processing, methods and apparatus for data reproducing and recording media |
KR100416996B1 (ko) | 1999-05-10 | 2004-02-05 | 삼성전자주식회사 | 이동 통신시스템에서 라디오링크프로토콜에 따른 가변 길이의 데이터 송수신 장치 및 방법 |
US6229824B1 (en) | 1999-05-26 | 2001-05-08 | Xm Satellite Radio Inc. | Method and apparatus for concatenated convolutional endcoding and interleaving |
US6154452A (en) | 1999-05-26 | 2000-11-28 | Xm Satellite Radio Inc. | Method and apparatus for continuous cross-channel interleaving |
AU5140200A (en) | 1999-05-26 | 2000-12-18 | Enounce, Incorporated | Method and apparatus for controlling time-scale modification during multi-media broadcasts |
JP2000353969A (ja) | 1999-06-11 | 2000-12-19 | Sony Corp | デジタル音声放送の受信機 |
US6577599B1 (en) | 1999-06-30 | 2003-06-10 | Sun Microsystems, Inc. | Small-scale reliable multicasting |
IL141800A0 (en) | 1999-07-06 | 2002-03-10 | Samsung Electronics Co Ltd | Rate matching device and method for a data communication system |
US6643332B1 (en) | 1999-07-09 | 2003-11-04 | Lsi Logic Corporation | Method and apparatus for multi-level coding of digital signals |
JP3451221B2 (ja) | 1999-07-22 | 2003-09-29 | 日本無線株式会社 | 誤り訂正符号化装置、方法及び媒体、並びに誤り訂正符号復号装置、方法及び媒体 |
US6279072B1 (en) | 1999-07-22 | 2001-08-21 | Micron Technology, Inc. | Reconfigurable memory with selectable error correction storage |
US6453440B1 (en) | 1999-08-04 | 2002-09-17 | Sun Microsystems, Inc. | System and method for detecting double-bit errors and for correcting errors due to component failures |
JP2001060934A (ja) | 1999-08-20 | 2001-03-06 | Matsushita Electric Ind Co Ltd | Ofdm通信装置 |
US6430233B1 (en) | 1999-08-30 | 2002-08-06 | Hughes Electronics Corporation | Single-LNB satellite data receiver |
US6332163B1 (en) | 1999-09-01 | 2001-12-18 | Accenture, Llp | Method for providing communication services over a computer network system |
JP4284774B2 (ja) | 1999-09-07 | 2009-06-24 | ソニー株式会社 | 送信装置、受信装置、通信システム、送信方法及び通信方法 |
US7529806B1 (en) | 1999-11-04 | 2009-05-05 | Koninklijke Philips Electronics N.V. | Partitioning of MP3 content file for emulating streaming |
JP2001094625A (ja) | 1999-09-27 | 2001-04-06 | Canon Inc | データ通信装置、データ通信方法及び記憶媒体 |
DE60033011T2 (de) | 1999-09-27 | 2007-08-09 | Koninklijke Philips Electronics N.V. | Aufteilung einer datei zur emulation eines datenstroms |
US20050160272A1 (en) | 1999-10-28 | 2005-07-21 | Timecertain, Llc | System and method for providing trusted time in content of digital data files |
US6523147B1 (en) | 1999-11-11 | 2003-02-18 | Ibiquity Digital Corporation | Method and apparatus for forward error correction coding for an AM in-band on-channel digital audio broadcasting system |
US6748441B1 (en) | 1999-12-02 | 2004-06-08 | Microsoft Corporation | Data carousel receiving and caching |
US6678855B1 (en) | 1999-12-02 | 2004-01-13 | Microsoft Corporation | Selecting K in a data transmission carousel using (N,K) forward error correction |
US6798791B1 (en) | 1999-12-16 | 2004-09-28 | Agere Systems Inc | Cluster frame synchronization scheme for a satellite digital audio radio system |
US6487692B1 (en) | 1999-12-21 | 2002-11-26 | Lsi Logic Corporation | Reed-Solomon decoder |
US6965636B1 (en) | 2000-02-01 | 2005-11-15 | 2Wire, Inc. | System and method for block error correction in packet-based digital communications |
US20020009137A1 (en) | 2000-02-01 | 2002-01-24 | Nelson John E. | Three-dimensional video broadcasting system |
US7304990B2 (en) | 2000-02-03 | 2007-12-04 | Bandwiz Inc. | Method of encoding and transmitting data over a communication medium through division and segmentation |
IL140504A0 (en) | 2000-02-03 | 2002-02-10 | Bandwiz Inc | Broadcast system |
WO2001057667A1 (en) | 2000-02-03 | 2001-08-09 | Bandwiz, Inc. | Data streaming |
JP2001251287A (ja) | 2000-02-24 | 2001-09-14 | Geneticware Corp Ltd | ハードウエア保護内部秘匿鍵及び可変パスコードを利用する機密データ伝送方法 |
DE10009443A1 (de) | 2000-02-29 | 2001-08-30 | Philips Corp Intellectual Pty | Empfänger und Verfahren zum Detektieren und Dekodieren eines DQPSK-modulierten und kanalkodierten Empfangssignals |
US6765866B1 (en) | 2000-02-29 | 2004-07-20 | Mosaid Technologies, Inc. | Link aggregation |
US6384750B1 (en) | 2000-03-23 | 2002-05-07 | Mosaid Technologies, Inc. | Multi-stage lookup for translating between signals of different bit lengths |
US6510177B1 (en) | 2000-03-24 | 2003-01-21 | Microsoft Corporation | System and method for layered video coding enhancement |
JP2001274776A (ja) | 2000-03-24 | 2001-10-05 | Toshiba Corp | 情報データ伝送システムとその送信装置及び受信装置 |
AU2001244007A1 (en) | 2000-03-31 | 2001-10-15 | Ted Szymanski | Transmitter, receiver, and coding scheme to increase data rate and decrease bit error rate of an optical data link |
US6473010B1 (en) | 2000-04-04 | 2002-10-29 | Marvell International, Ltd. | Method and apparatus for determining error correction code failure rate for iterative decoding algorithms |
US8572646B2 (en) | 2000-04-07 | 2013-10-29 | Visible World Inc. | System and method for simultaneous broadcast for personalized messages |
AU2001251353A1 (en) | 2000-04-08 | 2001-10-23 | Sun Microsystems, Inc. | Streaming a single media track to multiple clients |
US6631172B1 (en) | 2000-05-01 | 2003-10-07 | Lucent Technologies Inc. | Efficient list decoding of Reed-Solomon codes for message recovery in the presence of high noise levels |
US6742154B1 (en) | 2000-05-25 | 2004-05-25 | Ciena Corporation | Forward error correction codes for digital optical network optimization |
US6738942B1 (en) | 2000-06-02 | 2004-05-18 | Vitesse Semiconductor Corporation | Product code based forward error correction system |
US6694476B1 (en) | 2000-06-02 | 2004-02-17 | Vitesse Semiconductor Corporation | Reed-solomon encoder and decoder |
GB2366159B (en) | 2000-08-10 | 2003-10-08 | Mitel Corp | Combination reed-solomon and turbo coding |
US6834342B2 (en) | 2000-08-16 | 2004-12-21 | Eecad, Inc. | Method and system for secure communication over unstable public connections |
KR100447162B1 (ko) | 2000-08-19 | 2004-09-04 | 엘지전자 주식회사 | 래디오 링크 콘트롤(rlc)에서 프로토콜 데이터 유닛(pdu) 정보의 길이 지시자(li) 처리방법 |
JP2002073625A (ja) | 2000-08-24 | 2002-03-12 | Nippon Hoso Kyokai <Nhk> | 放送番組に同期した情報提供の方法、サーバ及び媒体 |
US7340664B2 (en) * | 2000-09-20 | 2008-03-04 | Lsi Logic Corporation | Single engine turbo decoder with single frame size buffer for interleaving/deinterleaving |
US7151754B1 (en) | 2000-09-22 | 2006-12-19 | Lucent Technologies Inc. | Complete user datagram protocol (CUDP) for wireless multimedia packet networks using improved packet level forward error correction (FEC) coding |
US6486803B1 (en) | 2000-09-22 | 2002-11-26 | Digital Fountain, Inc. | On demand encoding with a window |
US7031257B1 (en) | 2000-09-22 | 2006-04-18 | Lucent Technologies Inc. | Radio link protocol (RLP)/point-to-point protocol (PPP) design that passes corrupted data and error location information among layers in a wireless data transmission protocol |
US7490344B2 (en) | 2000-09-29 | 2009-02-10 | Visible World, Inc. | System and method for seamless switching |
US6411223B1 (en) | 2000-10-18 | 2002-06-25 | Digital Fountain, Inc. | Generating high weight encoding symbols using a basis |
US7613183B1 (en) | 2000-10-31 | 2009-11-03 | Foundry Networks, Inc. | System and method for router data aggregation and delivery |
US6694478B1 (en) | 2000-11-07 | 2004-02-17 | Agere Systems Inc. | Low delay channel codes for correcting bursts of lost packets |
US6732325B1 (en) | 2000-11-08 | 2004-05-04 | Digeo, Inc. | Error-correction with limited working storage |
US20020133247A1 (en) | 2000-11-11 | 2002-09-19 | Smith Robert D. | System and method for seamlessly switching between media streams |
US7072971B2 (en) | 2000-11-13 | 2006-07-04 | Digital Foundation, Inc. | Scheduling of multiple files for serving on a server |
US7240358B2 (en) | 2000-12-08 | 2007-07-03 | Digital Fountain, Inc. | Methods and apparatus for scheduling, serving, receiving media-on demand for clients, servers arranged according to constraints on resources |
KR100908954B1 (ko) | 2000-12-15 | 2009-07-22 | 브리티쉬 텔리커뮤니케이션즈 파블릭 리미티드 캄퍼니 | 오디오 또는 비디오 자료의 전송방법 및 장치 |
WO2002049343A1 (en) | 2000-12-15 | 2002-06-20 | British Telecommunications Public Limited Company | Transmission and reception of audio and/or video material |
US6850736B2 (en) | 2000-12-21 | 2005-02-01 | Tropian, Inc. | Method and apparatus for reception quality indication in wireless communication |
US7143433B1 (en) | 2000-12-27 | 2006-11-28 | Infovalve Computing Inc. | Video distribution system using dynamic segmenting of video data files |
US20020085013A1 (en) | 2000-12-29 | 2002-07-04 | Lippincott Louis A. | Scan synchronized dual frame buffer graphics subsystem |
NO315887B1 (no) | 2001-01-04 | 2003-11-03 | Fast Search & Transfer As | Fremgangsmater ved overforing og soking av videoinformasjon |
US20080059532A1 (en) | 2001-01-18 | 2008-03-06 | Kazmi Syed N | Method and system for managing digital content, including streaming media |
DE10103387A1 (de) | 2001-01-26 | 2002-08-01 | Thorsten Nordhoff | Windkraftanlage mit einer Einrichtung zur Hindernisbefeuerung bzw. Nachtkennzeichnung |
FI118830B (fi) | 2001-02-08 | 2008-03-31 | Nokia Corp | Tietovirran toisto |
US6868083B2 (en) | 2001-02-16 | 2005-03-15 | Hewlett-Packard Development Company, L.P. | Method and system for packet communication employing path diversity |
US20020129159A1 (en) | 2001-03-09 | 2002-09-12 | Michael Luby | Multi-output packet server with independent streams |
KR100464360B1 (ko) | 2001-03-30 | 2005-01-03 | 삼성전자주식회사 | 고속 패킷 데이터 전송 이동통신시스템에서 패킷 데이터채널에 대한 효율적인 에너지 분배 장치 및 방법 |
US20020143953A1 (en) | 2001-04-03 | 2002-10-03 | International Business Machines Corporation | Automatic affinity within networks performing workload balancing |
US6785836B2 (en) | 2001-04-11 | 2004-08-31 | Broadcom Corporation | In-place data transformation for fault-tolerant disk storage systems |
US6820221B2 (en) | 2001-04-13 | 2004-11-16 | Hewlett-Packard Development Company, L.P. | System and method for detecting process and network failures in a distributed system |
US7010052B2 (en) | 2001-04-16 | 2006-03-07 | The Ohio University | Apparatus and method of CTCM encoding and decoding for a digital communication system |
US7035468B2 (en) | 2001-04-20 | 2006-04-25 | Front Porch Digital Inc. | Methods and apparatus for archiving, indexing and accessing audio and video data |
TWI246841B (en) | 2001-04-22 | 2006-01-01 | Koninkl Philips Electronics Nv | Digital transmission system and method for transmitting digital signals |
US20020191116A1 (en) | 2001-04-24 | 2002-12-19 | Damien Kessler | System and data format for providing seamless stream switching in a digital video recorder |
US6497479B1 (en) | 2001-04-27 | 2002-12-24 | Hewlett-Packard Company | Higher organic inks with good reliability and drytime |
US7962482B2 (en) | 2001-05-16 | 2011-06-14 | Pandora Media, Inc. | Methods and systems for utilizing contextual feedback to generate and modify playlists |
US6633856B2 (en) | 2001-06-15 | 2003-10-14 | Flarion Technologies, Inc. | Methods and apparatus for decoding LDPC codes |
US7076478B2 (en) | 2001-06-26 | 2006-07-11 | Microsoft Corporation | Wrapper playlists on streaming media services |
US6745364B2 (en) | 2001-06-28 | 2004-06-01 | Microsoft Corporation | Negotiated/dynamic error correction for streamed media |
JP2003018568A (ja) | 2001-06-29 | 2003-01-17 | Matsushita Electric Ind Co Ltd | 再生システム、サーバ装置及び再生装置 |
US6895547B2 (en) | 2001-07-11 | 2005-05-17 | International Business Machines Corporation | Method and apparatus for low density parity check encoding of data |
US6928603B1 (en) | 2001-07-19 | 2005-08-09 | Adaptix, Inc. | System and method for interference mitigation using adaptive forward error correction in a wireless RF data transmission system |
US6961890B2 (en) | 2001-08-16 | 2005-11-01 | Hewlett-Packard Development Company, L.P. | Dynamic variable-length error correction code |
US7110412B2 (en) | 2001-09-18 | 2006-09-19 | Sbc Technology Resources, Inc. | Method and system to transport high-quality video signals |
FI115418B (fi) | 2001-09-20 | 2005-04-29 | Oplayo Oy | Adaptiivinen mediavirta |
US6990624B2 (en) | 2001-10-12 | 2006-01-24 | Agere Systems Inc. | High speed syndrome-based FEC encoder and decoder and system using same |
US7480703B2 (en) | 2001-11-09 | 2009-01-20 | Sony Corporation | System, method, and computer program product for remotely determining the configuration of a multi-media content user based on response of the user |
US7003712B2 (en) | 2001-11-29 | 2006-02-21 | Emin Martinian | Apparatus and method for adaptive, multimode decoding |
US7363354B2 (en) | 2001-11-29 | 2008-04-22 | Nokia Corporation | System and method for identifying and accessing network services |
JP2003174489A (ja) | 2001-12-05 | 2003-06-20 | Ntt Docomo Inc | ストリーミング配信装置、ストリーミング配信方法 |
FI114527B (fi) | 2002-01-23 | 2004-10-29 | Nokia Corp | Kuvakehysten ryhmittely videokoodauksessa |
MXPA04007020A (es) | 2002-01-23 | 2004-10-11 | Nokia Corp | Agrupamiento de cuadros de imagen para codificacion de video. |
KR100989222B1 (ko) | 2002-01-30 | 2010-10-20 | 엔엑스피 비 브이 | 멀티미디어 데이터로부터의 인코딩된 스트림 세트를 제공하는 방법 및 인코더와, 클라이언트 애플리케이션에 인코딩된 스트림을 제공하는 서버와, 가변 대역폭을 갖는 네트워크상에서 멀티미디어 데이터를 스트리밍하는 송신기 |
US7249291B2 (en) | 2002-02-15 | 2007-07-24 | Digital Fountain, Inc. | System and method for reliably communicating the content of a live data stream |
JP4126928B2 (ja) | 2002-02-28 | 2008-07-30 | 日本電気株式会社 | プロキシサーバ及びプロキシ制御プログラム |
JP4116470B2 (ja) | 2002-03-06 | 2008-07-09 | ヒューレット・パッカード・カンパニー | メディア・ストリーミング配信システム |
FR2837332A1 (fr) | 2002-03-15 | 2003-09-19 | Thomson Licensing Sa | Dispositif et procede d'insertion de codes de correction d'erreurs et de reconstitution de flux de donnees, et produits correspondants |
WO2003090391A1 (en) | 2002-04-15 | 2003-10-30 | Nokia Corporation | Rlp logical layer of a communication station |
US6677864B2 (en) | 2002-04-18 | 2004-01-13 | Telefonaktiebolaget L.M. Ericsson | Method for multicast over wireless networks |
JP3629008B2 (ja) | 2002-04-19 | 2005-03-16 | 松下電器産業株式会社 | データ受信装置及びデータ配信システム |
JP3689063B2 (ja) | 2002-04-19 | 2005-08-31 | 松下電器産業株式会社 | データ受信装置及びデータ配信システム |
WO2003092305A1 (en) | 2002-04-25 | 2003-11-06 | Sharp Kabushiki Kaisha | Image encodder, image decoder, record medium, and image recorder |
US20030204602A1 (en) | 2002-04-26 | 2003-10-30 | Hudson Michael D. | Mediated multi-source peer content delivery network architecture |
US7177658B2 (en) | 2002-05-06 | 2007-02-13 | Qualcomm, Incorporated | Multi-media broadcast and multicast service (MBMS) in a wireless communications system |
US7200388B2 (en) | 2002-05-31 | 2007-04-03 | Nokia Corporation | Fragmented delivery of multimedia |
US9240810B2 (en) | 2002-06-11 | 2016-01-19 | Digital Fountain, Inc. | Systems and processes for decoding chain reaction codes through inactivation |
EP1550315B1 (en) | 2002-06-11 | 2015-10-21 | Telefonaktiebolaget L M Ericsson (publ) | Generation of mixed media streams |
EP2278719B1 (en) | 2002-06-11 | 2013-12-18 | Digital Fountain, Inc. | Decoding of chain reaction codes through inactivation |
US6956875B2 (en) | 2002-06-19 | 2005-10-18 | Atlinks Usa, Inc. | Technique for communicating variable bit rate data over a constant bit rate link |
JP4154569B2 (ja) | 2002-07-10 | 2008-09-24 | 日本電気株式会社 | 画像圧縮伸長装置 |
JP4120461B2 (ja) | 2002-07-12 | 2008-07-16 | 住友電気工業株式会社 | 伝送データ生成方法及び伝送データ生成装置 |
US8300690B2 (en) | 2002-07-16 | 2012-10-30 | Nokia Corporation | Method for random access and gradual picture refresh in video coding |
JPWO2004019521A1 (ja) | 2002-07-31 | 2005-12-15 | シャープ株式会社 | データ通信装置、その間欠通信方法、その方法を記載するプログラム、及びそのプログラムを記録する記録媒体 |
JP2004070712A (ja) | 2002-08-07 | 2004-03-04 | Nippon Telegr & Teleph Corp <Ntt> | データ配信方法,データ配信システム,分割配信データ受信方法,分割配信データ受信装置および分割配信データ受信プログラム |
AU2002319335B2 (en) | 2002-08-13 | 2008-12-04 | Nokia Corporation | Symbol interleaving |
US6985459B2 (en) | 2002-08-21 | 2006-01-10 | Qualcomm Incorporated | Early transmission and playout of packets in wireless communication systems |
WO2004030273A1 (ja) | 2002-09-27 | 2004-04-08 | Fujitsu Limited | データ配信方法、システム、伝送方法及びプログラム |
JP3534742B1 (ja) | 2002-10-03 | 2004-06-07 | 株式会社エヌ・ティ・ティ・ドコモ | 動画像復号方法、動画像復号装置、及び動画像復号プログラム |
WO2004034589A2 (en) | 2002-10-05 | 2004-04-22 | Digital Fountain, Inc. | Systematic encoding and decoding of chain reaction codes |
JP2004135013A (ja) | 2002-10-10 | 2004-04-30 | Matsushita Electric Ind Co Ltd | 伝送装置及び伝送方法 |
FI116816B (fi) | 2002-10-14 | 2006-02-28 | Nokia Corp | Median suoratoisto |
US8320301B2 (en) | 2002-10-25 | 2012-11-27 | Qualcomm Incorporated | MIMO WLAN system |
US7289451B2 (en) | 2002-10-25 | 2007-10-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Delay trading between communication links |
CN1708934B (zh) | 2002-10-30 | 2010-10-06 | 皇家飞利浦电子股份有限公司 | 自适应前向错误控制方案 |
JP2004165922A (ja) | 2002-11-12 | 2004-06-10 | Sony Corp | 情報処理装置および方法、並びにプログラム |
CA2505853A1 (en) | 2002-11-18 | 2004-06-03 | British Telecommunications Public Limited Company | Transmission of video |
GB0226872D0 (en) | 2002-11-18 | 2002-12-24 | British Telecomm | Video transmission |
KR100502609B1 (ko) | 2002-11-21 | 2005-07-20 | 한국전자통신연구원 | Ldpc 코드를 이용한 부호화기 및 부호화 방법 |
US7086718B2 (en) | 2002-11-23 | 2006-08-08 | Silverbrook Research Pty Ltd | Thermal ink jet printhead with high nozzle areal density |
JP2004192140A (ja) | 2002-12-09 | 2004-07-08 | Sony Corp | データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム |
JP2004193992A (ja) | 2002-12-11 | 2004-07-08 | Sony Corp | 情報処理システム、情報処理装置および方法、記録媒体、並びにプログラム |
US8135073B2 (en) | 2002-12-19 | 2012-03-13 | Trident Microsystems (Far East) Ltd | Enhancing video images depending on prior image enhancements |
US7164882B2 (en) | 2002-12-24 | 2007-01-16 | Poltorak Alexander I | Apparatus and method for facilitating a purchase using information provided on a media playing device |
US7293222B2 (en) | 2003-01-29 | 2007-11-06 | Digital Fountain, Inc. | Systems and processes for fast encoding of hamming codes |
US7525994B2 (en) | 2003-01-30 | 2009-04-28 | Avaya Inc. | Packet data flow identification for multiplexing |
US7756002B2 (en) | 2003-01-30 | 2010-07-13 | Texas Instruments Incorporated | Time-frequency interleaved orthogonal frequency division multiplexing ultra wide band physical layer |
US7231404B2 (en) | 2003-01-31 | 2007-06-12 | Nokia Corporation | Datacast file transmission with meta-data retention |
US7062272B2 (en) | 2003-02-18 | 2006-06-13 | Qualcomm Incorporated | Method and apparatus to track count of broadcast content recipients in a wireless telephone network |
EP1455504B1 (en) | 2003-03-07 | 2014-11-12 | Samsung Electronics Co., Ltd. | Apparatus and method for processing audio signal and computer readable recording medium storing computer program for the method |
JP4173755B2 (ja) | 2003-03-24 | 2008-10-29 | 富士通株式会社 | データ伝送サーバ |
US7610487B2 (en) | 2003-03-27 | 2009-10-27 | Microsoft Corporation | Human input security codes |
US7266147B2 (en) | 2003-03-31 | 2007-09-04 | Sharp Laboratories Of America, Inc. | Hypothetical reference decoder |
US7408486B2 (en) | 2003-04-21 | 2008-08-05 | Qbit Corporation | System and method for using a microlet-based modem |
JP2004343701A (ja) | 2003-04-21 | 2004-12-02 | Matsushita Electric Ind Co Ltd | データ受信再生装置、データ受信再生方法及びデータ受信再生処理プログラム |
US20050041736A1 (en) | 2003-05-07 | 2005-02-24 | Bernie Butler-Smith | Stereoscopic television signal processing method, transmission system and viewer enhancements |
KR100492567B1 (ko) | 2003-05-13 | 2005-06-03 | 엘지전자 주식회사 | 이동통신 시스템의 http 기반 비디오 스트리밍 장치및 방법 |
US7113773B2 (en) | 2003-05-16 | 2006-09-26 | Qualcomm Incorporated | Reliable reception of broadcast/multicast content |
JP2004348824A (ja) | 2003-05-21 | 2004-12-09 | Toshiba Corp | Eccエンコード方法、eccエンコード装置 |
WO2004112368A2 (en) | 2003-05-23 | 2004-12-23 | Heyanita, Inc. | Transmission of a data file by notification of a reference to the intended recipient and teleconference establishment using a unique reference |
JP2004362099A (ja) | 2003-06-03 | 2004-12-24 | Sony Corp | サーバ装置、情報処理装置、および情報処理方法、並びにコンピュータ・プログラム |
WO2004109538A1 (en) | 2003-06-07 | 2004-12-16 | Samsung Electronics Co. Ltd. | Apparatus and method for organization and interpretation of multimedia data on a recording medium |
KR101003413B1 (ko) | 2003-06-12 | 2010-12-23 | 엘지전자 주식회사 | 이동통신 단말기의 전송데이터 압축/해제 방법 |
US7603689B2 (en) | 2003-06-13 | 2009-10-13 | Microsoft Corporation | Fast start-up for digital video streams |
RU2265960C2 (ru) | 2003-06-16 | 2005-12-10 | Федеральное государственное унитарное предприятие "Калужский научно-исследовательский институт телемеханических устройств" | Способ передачи информации с использованием адаптивного перемежения |
US7391717B2 (en) | 2003-06-30 | 2008-06-24 | Microsoft Corporation | Streaming of variable bit rate multimedia content |
US20050004997A1 (en) | 2003-07-01 | 2005-01-06 | Nokia Corporation | Progressive downloading of timed multimedia content |
US8149939B2 (en) | 2003-07-07 | 2012-04-03 | Samsung Electronics Co., Ltd. | System of robust DTV signal transmissions that legacy DTV receivers will disregard |
US7254754B2 (en) | 2003-07-14 | 2007-08-07 | International Business Machines Corporation | Raid 3+3 |
KR100532450B1 (ko) | 2003-07-16 | 2005-11-30 | 삼성전자주식회사 | 에러에 대해 강인한 특성을 가지는 데이터 기록 방법,이에 적합한 데이터 재생 방법, 그리고 이에 적합한 장치들 |
US20050028067A1 (en) | 2003-07-31 | 2005-02-03 | Weirauch Charles R. | Data with multiple sets of error correction codes |
CN1871804B (zh) | 2003-08-21 | 2010-09-01 | 高通股份有限公司 | 广播/多播内容的外部编码方法及其相关装置 |
US8694869B2 (en) | 2003-08-21 | 2014-04-08 | QUALCIMM Incorporated | Methods for forward error correction coding above a radio link control layer and related apparatus |
IL157886A0 (en) | 2003-09-11 | 2009-02-11 | Bamboo Mediacasting Ltd | Secure multicast transmission |
IL157885A0 (en) | 2003-09-11 | 2004-03-28 | Bamboo Mediacasting Ltd | Iterative forward error correction |
JP4183586B2 (ja) * | 2003-09-12 | 2008-11-19 | 三洋電機株式会社 | 映像表示装置 |
US7555006B2 (en) | 2003-09-15 | 2009-06-30 | The Directv Group, Inc. | Method and system for adaptive transcoding and transrating in a video network |
KR100608715B1 (ko) | 2003-09-27 | 2006-08-04 | 엘지전자 주식회사 | QoS보장형 멀티미디어 스트리밍 서비스 시스템 및 방법 |
ATE337643T1 (de) | 2003-09-30 | 2006-09-15 | Ericsson Telefon Ab L M | In-place entschachtelung von daten |
US7559004B1 (en) | 2003-10-01 | 2009-07-07 | Sandisk Corporation | Dynamic redundant area configuration in a non-volatile memory system |
CN101834610B (zh) | 2003-10-06 | 2013-01-30 | 数字方敦股份有限公司 | 通过通信信道接收从源发射的数据的方法和装置 |
US7516232B2 (en) | 2003-10-10 | 2009-04-07 | Microsoft Corporation | Media organization for distributed sending of media data |
US7614071B2 (en) | 2003-10-10 | 2009-11-03 | Microsoft Corporation | Architecture for distributed sending of media data |
CN100555213C (zh) | 2003-10-14 | 2009-10-28 | 松下电器产业株式会社 | 数据转换器 |
US7650036B2 (en) | 2003-10-16 | 2010-01-19 | Sharp Laboratories Of America, Inc. | System and method for three-dimensional video coding |
US7168030B2 (en) | 2003-10-17 | 2007-01-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Turbo code decoder with parity information update |
EP1528808A3 (en) | 2003-10-27 | 2008-03-26 | Matsushita Electric Industrial Co., Ltd. | Apparatus for receiving a broadcast signal |
JP2005136546A (ja) | 2003-10-29 | 2005-05-26 | Sony Corp | 送信装置および方法、記録媒体、並びにプログラム |
DE602004011445T2 (de) * | 2003-11-03 | 2009-01-15 | Broadcom Corp., Irvine | FEC-Dekodierung mit dynamischen Parametern |
US20050102371A1 (en) | 2003-11-07 | 2005-05-12 | Emre Aksu | Streaming from a server to a client |
US7412641B2 (en) | 2003-12-01 | 2008-08-12 | Digital Fountain, Inc. | Protection of data from erasures using subsymbol based codes |
US7428669B2 (en) | 2003-12-07 | 2008-09-23 | Adaptive Spectrum And Signal Alignment, Inc. | Adaptive FEC codeword management |
US7574706B2 (en) | 2003-12-15 | 2009-08-11 | Microsoft Corporation | System and method for managing and communicating software updates |
US7590118B2 (en) | 2003-12-23 | 2009-09-15 | Agere Systems Inc. | Frame aggregation format |
JP4536383B2 (ja) | 2004-01-16 | 2010-09-01 | 株式会社エヌ・ティ・ティ・ドコモ | データ受信装置およびデータ受信方法 |
KR100770902B1 (ko) | 2004-01-20 | 2007-10-26 | 삼성전자주식회사 | 고속 무선 데이터 시스템을 위한 가변 부호율의 오류 정정부호 생성 및 복호 장치 및 방법 |
KR100834750B1 (ko) | 2004-01-29 | 2008-06-05 | 삼성전자주식회사 | 엔코더 단에서 스케일러빌리티를 제공하는 스케일러블비디오 코딩 장치 및 방법 |
JP4321284B2 (ja) | 2004-02-03 | 2009-08-26 | 株式会社デンソー | ストリーミングデータ送信装置、および情報配信システム |
US7599294B2 (en) | 2004-02-13 | 2009-10-06 | Nokia Corporation | Identification and re-transmission of missing parts |
KR100586883B1 (ko) | 2004-03-04 | 2006-06-08 | 삼성전자주식회사 | 비디오 스트리밍 서비스를 위한 비디오 코딩방법, 프리디코딩방법, 비디오 디코딩방법, 및 이를 위한 장치와, 이미지 필터링방법 |
KR100596705B1 (ko) | 2004-03-04 | 2006-07-04 | 삼성전자주식회사 | 비디오 스트리밍 서비스를 위한 비디오 코딩 방법과 비디오 인코딩 시스템, 및 비디오 디코딩 방법과 비디오 디코딩 시스템 |
US7609653B2 (en) | 2004-03-08 | 2009-10-27 | Microsoft Corporation | Resolving partial media topologies |
WO2005094020A1 (en) | 2004-03-19 | 2005-10-06 | Telefonaktiebolaget Lm Ericsson (Publ) | Higher layer packet framing using rlp |
US7240236B2 (en) | 2004-03-23 | 2007-07-03 | Archivas, Inc. | Fixed content distributed data storage using permutation ring encoding |
JP4433287B2 (ja) | 2004-03-25 | 2010-03-17 | ソニー株式会社 | 受信装置および方法、並びにプログラム |
US8842175B2 (en) | 2004-03-26 | 2014-09-23 | Broadcom Corporation | Anticipatory video signal reception and processing |
US20050216472A1 (en) | 2004-03-29 | 2005-09-29 | David Leon | Efficient multicast/broadcast distribution of formatted data |
EP1733394A1 (en) | 2004-03-30 | 2006-12-20 | Koninklijke Philips Electronics N.V. | System and method for supporting improved trick mode performance for disc-based multimedia content |
TW200534875A (en) | 2004-04-23 | 2005-11-01 | Lonza Ag | Personal care compositions and concentrates for making the same |
FR2869744A1 (fr) | 2004-04-29 | 2005-11-04 | Thomson Licensing Sa | Methode de transmission de paquets de donnees numeriques et appareil implementant la methode |
KR101161193B1 (ko) | 2004-05-07 | 2012-07-02 | 디지털 파운튼, 인크. | 파일 다운로드 및 스트리밍 시스템 |
US7633970B2 (en) | 2004-05-07 | 2009-12-15 | Agere Systems Inc. | MAC header compression for use with frame aggregation |
US20050254575A1 (en) | 2004-05-12 | 2005-11-17 | Nokia Corporation | Multiple interoperability points for scalable media coding and transmission |
US20060037057A1 (en) | 2004-05-24 | 2006-02-16 | Sharp Laboratories Of America, Inc. | Method and system of enabling trick play modes using HTTP GET |
US8331445B2 (en) | 2004-06-01 | 2012-12-11 | Qualcomm Incorporated | Method, apparatus, and system for enhancing robustness of predictive video codecs using a side-channel based on distributed source coding techniques |
US20070110074A1 (en) | 2004-06-04 | 2007-05-17 | Bob Bradley | System and Method for Synchronizing Media Presentation at Multiple Recipients |
US8112531B2 (en) | 2004-07-14 | 2012-02-07 | Nokia Corporation | Grouping of session objects |
US7139660B2 (en) | 2004-07-14 | 2006-11-21 | General Motors Corporation | System and method for changing motor vehicle personalization settings |
US8544043B2 (en) | 2004-07-21 | 2013-09-24 | Qualcomm Incorporated | Methods and apparatus for providing content information to content servers |
US7409626B1 (en) * | 2004-07-28 | 2008-08-05 | Ikanos Communications Inc | Method and apparatus for determining codeword interleaver parameters |
US7590922B2 (en) | 2004-07-30 | 2009-09-15 | Nokia Corporation | Point-to-point repair request mechanism for point-to-multipoint transmission systems |
US7376150B2 (en) | 2004-07-30 | 2008-05-20 | Nokia Corporation | Point-to-point repair response mechanism for point-to-multipoint transmission systems |
US7930184B2 (en) | 2004-08-04 | 2011-04-19 | Dts, Inc. | Multi-channel audio coding/decoding of random access points and transients |
WO2006020826A2 (en) | 2004-08-11 | 2006-02-23 | Digital Fountain, Inc. | Method and apparatus for fast encoding of data symbols according to half-weight codes |
JP4405875B2 (ja) | 2004-08-25 | 2010-01-27 | 富士通株式会社 | エラー訂正用データの生成方法及び生成装置並びに生成プログラム及び同プログラムを格納したコンピュータ読み取り可能な記録媒体 |
JP2006074335A (ja) | 2004-09-01 | 2006-03-16 | Nippon Telegr & Teleph Corp <Ntt> | 伝送方法、伝送システム及び伝送装置 |
JP4576936B2 (ja) | 2004-09-02 | 2010-11-10 | ソニー株式会社 | 情報処理装置、情報記録媒体、コンテンツ管理システム、およびデータ処理方法、並びにコンピュータ・プログラム |
JP2006115104A (ja) | 2004-10-13 | 2006-04-27 | Daiichikosho Co Ltd | 高能率符号化された時系列情報をパケット化してリアルタイム・ストリーミング送信し受信再生する方法および装置 |
US7529984B2 (en) | 2004-11-16 | 2009-05-05 | Infineon Technologies Ag | Seamless change of depth of a general convolutional interleaver during transmission without loss of data |
US7751324B2 (en) | 2004-11-19 | 2010-07-06 | Nokia Corporation | Packet stream arrangement in multimedia transmission |
EP1815684B1 (en) | 2004-11-22 | 2014-12-31 | Thomson Research Funding Corporation | Method and apparatus for channel change in dsl system |
WO2006060036A1 (en) | 2004-12-02 | 2006-06-08 | Thomson Licensing | Adaptive forward error correction |
KR20060065482A (ko) | 2004-12-10 | 2006-06-14 | 마이크로소프트 코포레이션 | 스트리밍 미디어 데이터의 코딩 비트 레이트의 제어 시스템및 프로세스 |
JP2006174032A (ja) | 2004-12-15 | 2006-06-29 | Sanyo Electric Co Ltd | 画像データ伝送システム、画像データ受信装置及び画像データ送信装置 |
JP2006174045A (ja) | 2004-12-15 | 2006-06-29 | Ntt Communications Kk | 画像配信装置、プログラム及び方法 |
US7398454B2 (en) | 2004-12-21 | 2008-07-08 | Tyco Telecommunications (Us) Inc. | System and method for forward error correction decoding using soft information |
JP4391409B2 (ja) | 2004-12-24 | 2009-12-24 | 株式会社第一興商 | 高能率符号化された時系列情報をリアルタイム・ストリーミング送信し受信再生する方法と受信装置 |
EP1847087A1 (en) | 2005-02-08 | 2007-10-24 | Telefonaktiebolaget LM Ericsson (publ) | On-demand multi-channel streaming session over packet-switched networks |
US7925097B2 (en) | 2005-02-18 | 2011-04-12 | Sanyo Electric Co., Ltd. | Image display method, image coding apparatus, and image decoding apparatus |
CN100466724C (zh) * | 2005-02-25 | 2009-03-04 | 华为技术有限公司 | 一种移动视频广播系统及移动视频广播方法 |
US7822139B2 (en) | 2005-03-02 | 2010-10-26 | Rohde & Schwarz Gmbh & Co. Kg | Apparatus, systems, methods and computer products for providing a virtual enhanced training sequence |
US20090222873A1 (en) | 2005-03-07 | 2009-09-03 | Einarsson Torbjoern | Multimedia Channel Switching |
US8028322B2 (en) | 2005-03-14 | 2011-09-27 | Time Warner Cable Inc. | Method and apparatus for network content download and recording |
US7418649B2 (en) | 2005-03-15 | 2008-08-26 | Microsoft Corporation | Efficient implementation of reed-solomon erasure resilient codes in high-rate applications |
US7219289B2 (en) | 2005-03-15 | 2007-05-15 | Tandberg Data Corporation | Multiply redundant raid system and XOR-efficient method and apparatus for implementing the same |
US7450064B2 (en) | 2005-03-22 | 2008-11-11 | Qualcomm, Incorporated | Methods and systems for deriving seed position of a subscriber station in support of unassisted GPS-type position determination in a wireless communication system |
JP4487028B2 (ja) | 2005-03-31 | 2010-06-23 | ブラザー工業株式会社 | 配信速度制御装置、配信システム、配信速度制御方法、及び配信速度制御用プログラム |
US7715842B2 (en) | 2005-04-09 | 2010-05-11 | Lg Electronics Inc. | Supporting handover of mobile terminal |
CN101120593A (zh) | 2005-04-13 | 2008-02-06 | 诺基亚公司 | 可扩展性信息的编码、存储和信号发送 |
JP4515319B2 (ja) | 2005-04-27 | 2010-07-28 | 株式会社日立製作所 | コンピュータシステム |
US7961700B2 (en) | 2005-04-28 | 2011-06-14 | Qualcomm Incorporated | Multi-carrier operation in data transmission systems |
US8683066B2 (en) | 2007-08-06 | 2014-03-25 | DISH Digital L.L.C. | Apparatus, system, and method for multi-bitrate content streaming |
JP2006319743A (ja) | 2005-05-13 | 2006-11-24 | Toshiba Corp | 受信装置 |
US8228994B2 (en) | 2005-05-20 | 2012-07-24 | Microsoft Corporation | Multi-view video coding based on temporal and view decomposition |
WO2006125850A1 (en) | 2005-05-24 | 2006-11-30 | Nokia Corporation | Method and apparatuses for hierarchical transmission/reception in digital broadcast |
US7676735B2 (en) * | 2005-06-10 | 2010-03-09 | Digital Fountain Inc. | Forward error-correcting (FEC) coding and streaming |
US7644335B2 (en) | 2005-06-10 | 2010-01-05 | Qualcomm Incorporated | In-place transformations with applications to encoding and decoding various classes of codes |
JP2007013436A (ja) | 2005-06-29 | 2007-01-18 | Toshiba Corp | 符号化ストリーム再生装置 |
JP2007013675A (ja) | 2005-06-30 | 2007-01-18 | Sanyo Electric Co Ltd | ストリーミング配信システム及びサーバ |
US20070006274A1 (en) | 2005-06-30 | 2007-01-04 | Toni Paila | Transmission and reception of session packets |
US7725593B2 (en) | 2005-07-15 | 2010-05-25 | Sony Corporation | Scalable video coding (SVC) file format |
US20070022215A1 (en) | 2005-07-19 | 2007-01-25 | Singer David W | Method and apparatus for media data transmission |
ATE514246T1 (de) | 2005-08-19 | 2011-07-15 | Hewlett Packard Development Co | Andeutung von verlorenen segmenten über schichtgrenzen |
JP3996631B2 (ja) | 2005-09-09 | 2007-10-24 | 松下電器産業株式会社 | 画像処理方法、画像記録方法、画像処理装置および画像ファイルフォーマット |
US7924913B2 (en) | 2005-09-15 | 2011-04-12 | Microsoft Corporation | Non-realtime data transcoding of multimedia content |
US20070067480A1 (en) | 2005-09-19 | 2007-03-22 | Sharp Laboratories Of America, Inc. | Adaptive media playout by server media processing for robust streaming |
US8879635B2 (en) | 2005-09-27 | 2014-11-04 | Qualcomm Incorporated | Methods and device for data alignment with time domain boundary |
US20070078876A1 (en) | 2005-09-30 | 2007-04-05 | Yahoo! Inc. | Generating a stream of media data containing portions of media files using location tags |
US7720062B2 (en) | 2005-10-05 | 2010-05-18 | Lg Electronics Inc. | Method of processing traffic information and digital broadcasting system |
US7164370B1 (en) | 2005-10-06 | 2007-01-16 | Analog Devices, Inc. | System and method for decoding data compressed in accordance with dictionary-based compression schemes |
US9635396B2 (en) | 2005-10-11 | 2017-04-25 | Nokia Technologies Oy | System and method for efficient scalable stream adaptation |
CN100442858C (zh) | 2005-10-11 | 2008-12-10 | 华为技术有限公司 | 分组网络中多媒体实时传输的唇同步方法及其装置 |
US7720096B2 (en) | 2005-10-13 | 2010-05-18 | Microsoft Corporation | RTP payload format for VC-1 |
MY159176A (en) | 2005-10-19 | 2016-12-30 | Thomson Licensing | Multi-view video coding using scalable video coding |
JP4727401B2 (ja) | 2005-12-02 | 2011-07-20 | 日本電信電話株式会社 | 無線マルチキャスト伝送システム、無線送信装置及び無線マルチキャスト伝送方法 |
FR2894421B1 (fr) | 2005-12-07 | 2008-01-18 | Canon Kk | Procede et dispositif de decodage d'un flux video code suivant un codage hierarchique |
JP4456064B2 (ja) | 2005-12-21 | 2010-04-28 | 日本電信電話株式会社 | パケット送信装置、受信装置、システム、およびプログラム |
US20070157267A1 (en) | 2005-12-30 | 2007-07-05 | Intel Corporation | Techniques to improve time seek operations |
US8185794B2 (en) | 2006-01-05 | 2012-05-22 | Telefonaktiebolaget L M Ericsson (Publ) | Media container file management |
US8214516B2 (en) | 2006-01-06 | 2012-07-03 | Google Inc. | Dynamic media serving infrastructure |
JP4874343B2 (ja) | 2006-01-11 | 2012-02-15 | ノキア コーポレイション | スケーラブルビデオ符号化における、下位互換性のあるピクチャの集約 |
WO2007081176A1 (en) | 2006-01-12 | 2007-07-19 | Lg Electronics Inc. | Processing multiview video |
WO2007086654A1 (en) | 2006-01-25 | 2007-08-02 | Lg Electronics Inc. | Digital broadcasting system and method of processing data |
RU2290768C1 (ru) | 2006-01-30 | 2006-12-27 | Общество с ограниченной ответственностью "Трафиклэнд" | Система медиавещания в инфраструктуре оператора мобильной связи |
US7262719B2 (en) | 2006-01-30 | 2007-08-28 | International Business Machines Corporation | Fast data stream decoding using apriori information |
GB0602314D0 (en) | 2006-02-06 | 2006-03-15 | Ericsson Telefon Ab L M | Transporting packets |
US20110087792A2 (en) | 2006-02-07 | 2011-04-14 | Dot Hill Systems Corporation | Data replication method and apparatus |
US8239727B2 (en) | 2006-02-08 | 2012-08-07 | Thomson Licensing | Decoding of raptor codes |
JP5550834B2 (ja) | 2006-02-13 | 2014-07-16 | デジタル ファウンテン, インコーポレイテッド | 可変fecオーバヘッド及び保護期間を利用したストリーミング及びバッファリング |
US20070200949A1 (en) | 2006-02-21 | 2007-08-30 | Qualcomm Incorporated | Rapid tuning in multimedia applications |
US9270414B2 (en) | 2006-02-21 | 2016-02-23 | Digital Fountain, Inc. | Multiple-field based code generator and decoder for communications systems |
JP2007228205A (ja) | 2006-02-23 | 2007-09-06 | Funai Electric Co Ltd | ネットワークサーバ |
US8320450B2 (en) | 2006-03-29 | 2012-11-27 | Vidyo, Inc. | System and method for transcoding between scalable and non-scalable video codecs |
US20090100496A1 (en) | 2006-04-24 | 2009-04-16 | Andreas Bechtolsheim | Media server system |
US20080010153A1 (en) | 2006-04-24 | 2008-01-10 | Pugh-O'connor Archie | Computer network provided digital content under an advertising and revenue sharing basis, such as music provided via the internet with time-shifted advertisements presented by a client resident application |
US7640353B2 (en) | 2006-04-27 | 2009-12-29 | Microsoft Corporation | Guided random seek support for media streaming |
WO2007134196A2 (en) | 2006-05-10 | 2007-11-22 | Digital Fountain, Inc. | Code generator and decoder using hybrid codes |
US7525993B2 (en) | 2006-05-24 | 2009-04-28 | Newport Media, Inc. | Robust transmission system and method for mobile television applications |
US9209934B2 (en) | 2006-06-09 | 2015-12-08 | 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 |
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 |
TWM302355U (en) | 2006-06-09 | 2006-12-11 | Jia-Bau Jeng | Fixation and cushion structure of knee joint |
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 |
US20100211690A1 (en) | 2009-02-13 | 2010-08-19 | Digital Fountain, Inc. | Block partitioning for a data stream |
JP2008011404A (ja) | 2006-06-30 | 2008-01-17 | Toshiba Corp | コンテンツ処理装置及びコンテンツ処理方法 |
JP4392004B2 (ja) | 2006-07-03 | 2009-12-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | パケット回復のための符号化および復号化技術 |
JP4982563B2 (ja) | 2006-07-20 | 2012-07-25 | サンディスク コーポレイション | 向上されたavプレーヤ装置、並びにそれを使用したコンテンツ配信のシステムおよび方法 |
US7711797B1 (en) | 2006-07-31 | 2010-05-04 | Juniper Networks, Inc. | Optimizing batch size for prefetching data over wide area networks |
US8209736B2 (en) | 2006-08-23 | 2012-06-26 | Mediatek Inc. | Systems and methods for managing television (TV) signals |
US20080066136A1 (en) | 2006-08-24 | 2008-03-13 | International Business Machines Corporation | System and method for detecting topic shift boundaries in multimedia streams using joint audio, visual and text cues |
AU2007287222A1 (en) | 2006-08-24 | 2008-02-28 | Nokia Corporation | System and method for indicating track relationships in media files |
JP2008109637A (ja) | 2006-09-25 | 2008-05-08 | Toshiba Corp | 動画像符号化装置及びその方法 |
WO2008054112A2 (en) | 2006-10-30 | 2008-05-08 | Lg Electronics Inc. | Methods of performing random access in a wireless communication system |
JP2008118221A (ja) | 2006-10-31 | 2008-05-22 | Toshiba Corp | 復号装置及び復号方法 |
WO2008054100A1 (en) | 2006-11-01 | 2008-05-08 | Electronics And Telecommunications Research Institute | Method and apparatus for decoding metadata used for playing stereoscopic contents |
JP5378227B2 (ja) | 2006-11-14 | 2013-12-25 | クゥアルコム・インコーポレイテッド | チャネルスイッチングのためのシステムと方法 |
US8027328B2 (en) | 2006-12-26 | 2011-09-27 | Alcatel Lucent | Header compression in a wireless communication network |
EP4184341A1 (en) | 2007-01-05 | 2023-05-24 | DivX, LLC | Video distribution system including progressive playback |
US20080168516A1 (en) | 2007-01-08 | 2008-07-10 | Christopher Lance Flick | Facilitating Random Access In Streaming Content |
CA2675135A1 (en) | 2007-01-09 | 2008-07-17 | Nokia Corporation | Method for supporting file versioning in mbms file repair |
MX2009000619A (es) | 2007-01-11 | 2009-04-16 | Panasonic Corp | Metodo para la reproduccion de truco de datos multimedia en flujo y encriptados. |
US20080172430A1 (en) | 2007-01-11 | 2008-07-17 | Andrew Thomas Thorstensen | Fragmentation Compression Management |
CN101543018B (zh) | 2007-01-12 | 2012-12-26 | 庆熙大学校产学协力团 | 网络提取层单元的分组格式、使用该格式的视频编解码算法和装置以及使用该格式进行IPv6标签交换的QoS控制算法和装置 |
KR20080066408A (ko) | 2007-01-12 | 2008-07-16 | 삼성전자주식회사 | 3차원 영상 처리 장치 및 방법 |
US8126062B2 (en) | 2007-01-16 | 2012-02-28 | Cisco Technology, Inc. | Per multi-block partition breakpoint determining for hybrid variable length coding |
US7721003B2 (en) | 2007-02-02 | 2010-05-18 | International Business Machines Corporation | System and method to synchronize OSGi bundle inventories between an OSGi bundle server and a client |
US7805456B2 (en) | 2007-02-05 | 2010-09-28 | Microsoft Corporation | Query pattern to enable type flow of element types |
US20080192818A1 (en) | 2007-02-09 | 2008-08-14 | Dipietro Donald Vincent | Systems and methods for securing media |
US20080232357A1 (en) | 2007-03-19 | 2008-09-25 | Legend Silicon Corp. | Ls digital fountain code |
JP4838191B2 (ja) | 2007-05-08 | 2011-12-14 | シャープ株式会社 | ファイル再生装置、ファイル再生方法、ファイル再生を実行させるプログラム及びそのプログラムを記録した記録媒体 |
JP2008283571A (ja) | 2007-05-11 | 2008-11-20 | Ntt Docomo Inc | コンテンツ配信装置、コンテンツ配信システム、およびコンテンツ配信方法 |
WO2008140261A2 (en) | 2007-05-14 | 2008-11-20 | Samsung Electronics Co., Ltd. | Broadcasting service transmitting apparatus and method and broadcasting service receiving apparatus and method for effectively accessing broadcasting service |
CN101682466A (zh) | 2007-05-16 | 2010-03-24 | 汤姆森特许公司 | 编码和解码信号的装置和方法 |
FR2917262A1 (fr) | 2007-06-05 | 2008-12-12 | Thomson Licensing Sas | Dispositif et procede de codage d'un contenu video sous la forme d'un flux scalable. |
US8487982B2 (en) | 2007-06-07 | 2013-07-16 | Reald Inc. | Stereoplexing for film and video applications |
WO2008153294A2 (en) | 2007-06-11 | 2008-12-18 | Samsung Electronics Co., Ltd. | Method and apparatus for generating header information of stereoscopic image |
US8340113B2 (en) | 2007-06-20 | 2012-12-25 | Telefonaktiebolaget Lm Erricsson (Publ) | Method and arrangement for improved media session management |
KR20100030648A (ko) | 2007-06-26 | 2010-03-18 | 노키아 코포레이션 | 시간 레이어 스위칭 포인트들을 표시하는 시스템 및 방법 |
US7917702B2 (en) | 2007-07-10 | 2011-03-29 | Qualcomm Incorporated | Data prefetch throttle |
JP2009027598A (ja) | 2007-07-23 | 2009-02-05 | Hitachi Ltd | 映像配信サーバおよび映像配信方法 |
US8327403B1 (en) | 2007-09-07 | 2012-12-04 | United Video Properties, Inc. | Systems and methods for providing remote program ordering on a user device via a web server |
US9237101B2 (en) | 2007-09-12 | 2016-01-12 | Digital Fountain, Inc. | Generating and communicating source identification information to enable reliable communications |
US8233532B2 (en) | 2007-09-21 | 2012-07-31 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Information signal, apparatus and method for encoding an information content, and apparatus and method for error correcting an information signal |
US8346959B2 (en) | 2007-09-28 | 2013-01-01 | Sharp Laboratories Of America, Inc. | Client-controlled adaptive streaming |
EP2046044B1 (en) | 2007-10-01 | 2017-01-18 | Cabot Communications Ltd | A method and apparatus for streaming digital media content and a communication system |
WO2009048277A2 (en) | 2007-10-09 | 2009-04-16 | Samsung Electronics Co., Ltd. | Apparatus and method for generating and parsing mac pdu in a mobile communication system |
US8706907B2 (en) | 2007-10-19 | 2014-04-22 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US8635360B2 (en) | 2007-10-19 | 2014-01-21 | Google Inc. | Media playback point seeking using data range requests |
US20090125636A1 (en) | 2007-11-13 | 2009-05-14 | Qiong Li | Payload allocation methods for scalable multimedia servers |
EP2215595B1 (en) | 2007-11-23 | 2012-02-22 | Media Patents S.L. | A process for the on-line distribution of audiovisual contents with advertisements, advertisement management system, digital rights management system and audiovisual content player provided with said systems |
US8543720B2 (en) | 2007-12-05 | 2013-09-24 | Google Inc. | Dynamic bit rate scaling |
TWI355168B (en) | 2007-12-07 | 2011-12-21 | Univ Nat Chiao Tung | Application classification method in network traff |
JP5385598B2 (ja) | 2007-12-17 | 2014-01-08 | キヤノン株式会社 | 画像処理装置及び画像管理サーバ装置及びそれらの制御方法及びプログラム |
US9313245B2 (en) | 2007-12-24 | 2016-04-12 | Qualcomm Incorporated | Adaptive streaming for on demand wireless services |
KR101506217B1 (ko) | 2008-01-31 | 2015-03-26 | 삼성전자주식회사 | 스테레오스코픽 영상의 부분 데이터 구간 재생을 위한스테레오스코픽 영상 데이터스트림 생성 방법과 장치, 및스테레오스코픽 영상의 부분 데이터 구간 재생 방법과 장치 |
EP2086237B1 (en) | 2008-02-04 | 2012-06-27 | Alcatel Lucent | Method and device for reordering and multiplexing multimedia packets from multimedia streams pertaining to interrelated sessions |
US8151174B2 (en) | 2008-02-13 | 2012-04-03 | Sunrise IP, LLC | Block modulus coding (BMC) systems and methods for block coding with non-binary modulus |
US20090219985A1 (en) | 2008-02-28 | 2009-09-03 | Vasanth Swaminathan | Systems and Methods for Processing Multiple Projections of Video Data in a Single Video File |
US7984097B2 (en) | 2008-03-18 | 2011-07-19 | Media Patents, S.L. | Methods for transmitting multimedia files and advertisements |
US8606996B2 (en) | 2008-03-31 | 2013-12-10 | Amazon Technologies, Inc. | Cache optimization |
US20090257508A1 (en) | 2008-04-10 | 2009-10-15 | Gaurav Aggarwal | Method and system for enabling video trick modes |
CN103795511B (zh) | 2008-04-14 | 2018-05-01 | 亚马逊技术股份有限公司 | 一种在基站接收上行链路传输的方法及基站 |
US20100049865A1 (en) | 2008-04-16 | 2010-02-25 | Nokia Corporation | Decoding Order Recovery in Session Multiplexing |
US8855199B2 (en) | 2008-04-21 | 2014-10-07 | Nokia Corporation | Method and device for video coding and decoding |
RU2010150108A (ru) | 2008-05-07 | 2012-06-20 | Диджитал Фаунтин, Инк. (Us) | Быстрое переключение канала и защита потоковой передачи высокого качества по широковещательному каналу |
WO2009140208A2 (en) | 2008-05-12 | 2009-11-19 | Swarmcast, Inc. | Live media delivery over a packet-based computer network |
JP5022301B2 (ja) | 2008-05-19 | 2012-09-12 | 株式会社エヌ・ティ・ティ・ドコモ | プロキシサーバおよび通信中継プログラム、並びに通信中継方法 |
CN101287107B (zh) | 2008-05-29 | 2010-10-13 | 腾讯科技(深圳)有限公司 | 媒体文件的点播方法、系统和设备 |
US8370887B2 (en) | 2008-05-30 | 2013-02-05 | Microsoft Corporation | Media streaming with enhanced seek operation |
US20100011274A1 (en) | 2008-06-12 | 2010-01-14 | Qualcomm Incorporated | Hypothetical fec decoder and signalling for decoding control |
US8775566B2 (en) | 2008-06-21 | 2014-07-08 | Microsoft Corporation | File format for media distribution and presentation |
US8387150B2 (en) | 2008-06-27 | 2013-02-26 | Microsoft Corporation | Segmented media content rights management |
US8468426B2 (en) | 2008-07-02 | 2013-06-18 | Apple Inc. | Multimedia-aware quality-of-service and error correction provisioning |
US8539092B2 (en) | 2008-07-09 | 2013-09-17 | Apple Inc. | Video streaming using multiple channels |
US20100153578A1 (en) | 2008-07-16 | 2010-06-17 | Nokia Corporation | Method and Apparatus for Peer to Peer Streaming |
US8638796B2 (en) | 2008-08-22 | 2014-01-28 | Cisco Technology, Inc. | Re-ordering segments of a large number of segmented service flows |
KR101019634B1 (ko) | 2008-09-04 | 2011-03-07 | 에스케이 텔레콤주식회사 | 미디어 전송 시스템 및 방법 |
US8325796B2 (en) | 2008-09-11 | 2012-12-04 | Google Inc. | System and method for video coding using adaptive segmentation |
US8370520B2 (en) | 2008-11-24 | 2013-02-05 | Juniper Networks, Inc. | Adaptive network content delivery system |
US20100169303A1 (en) | 2008-12-31 | 2010-07-01 | David Biderman | Playlists for real-time or near real-time streaming |
US8743906B2 (en) | 2009-01-23 | 2014-06-03 | Akamai Technologies, Inc. | Scalable seamless digital video stream splicing |
RU2689191C2 (ru) | 2009-01-26 | 2019-05-24 | Томсон Лайсенсинг | Упаковка кадров для кодирования видео |
CN104780385B (zh) | 2009-01-29 | 2018-01-16 | 杜比实验室特许公司 | 视频装置、用于将多视图帧的序列编码为比特流的装置 |
US9281847B2 (en) | 2009-02-27 | 2016-03-08 | Qualcomm Incorporated | Mobile reception of digital video broadcasting—terrestrial services |
US8621044B2 (en) | 2009-03-16 | 2013-12-31 | Microsoft Corporation | Smooth, stateless client media streaming |
US8909806B2 (en) | 2009-03-16 | 2014-12-09 | Microsoft Corporation | Delivering cacheable streaming media presentations |
CN102804785A (zh) | 2009-04-13 | 2012-11-28 | 瑞尔D股份有限公司 | 编码、解码和发布增强分辨率的立体视频 |
US9807468B2 (en) | 2009-06-16 | 2017-10-31 | Microsoft Technology Licensing, Llc | Byte range caching |
WO2011009205A1 (en) | 2009-07-22 | 2011-01-27 | Jigsee Inc. | Method of streaming media to heterogeneous client devices |
US8355433B2 (en) | 2009-08-18 | 2013-01-15 | Netflix, Inc. | Encoding video streams for adaptive video streaming |
US20120151302A1 (en) | 2010-12-10 | 2012-06-14 | Qualcomm Incorporated | Broadcast multimedia storage and access using page maps when asymmetric memory is used |
US9288010B2 (en) | 2009-08-19 | 2016-03-15 | Qualcomm Incorporated | Universal file delivery methods for providing unequal error protection and bundled file delivery services |
EP2474182B1 (en) | 2009-09-02 | 2020-12-02 | Apple Inc. | Mac packet data unit construction for wireless systems |
US20110096828A1 (en) | 2009-09-22 | 2011-04-28 | Qualcomm Incorporated | Enhanced block-request streaming using scalable encoding |
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 |
US9438861B2 (en) | 2009-10-06 | 2016-09-06 | Microsoft Technology Licensing, Llc | Integrating continuous and sparse streaming data |
JP2011087103A (ja) | 2009-10-15 | 2011-04-28 | Sony Corp | コンテンツ再生システム、コンテンツ再生装置、プログラム、コンテンツ再生方法、およびコンテンツサーバを提供 |
EP3220281A1 (en) | 2009-11-04 | 2017-09-20 | Amotech Co., Ltd. | System and method for media content streaming |
KR101786051B1 (ko) | 2009-11-13 | 2017-10-16 | 삼성전자 주식회사 | 데이터 제공 방법 및 장치와 데이터 수신 방법 및 장치 |
KR101786050B1 (ko) | 2009-11-13 | 2017-10-16 | 삼성전자 주식회사 | 데이터 전송 방법 및 장치 |
CN101729857A (zh) | 2009-11-24 | 2010-06-09 | 中兴通讯股份有限公司 | 一种接入视频服务的方法及视频播放系统 |
WO2011070552A1 (en) | 2009-12-11 | 2011-06-16 | Nokia Corporation | Apparatus and methods for describing and timing representations in streaming media files |
KR101628432B1 (ko) | 2010-02-19 | 2016-06-21 | 텔레폰악티에볼라겟엘엠에릭슨(펍) | 에이치티티피 스트리밍에서 레프리젠테이션 스위칭을 위한 방법 및 장치 |
EP3018881A1 (en) | 2010-02-19 | 2016-05-11 | Telefonaktiebolaget LM Ericsson (publ) | Method and arrangement for adaptation in http streaming |
JP5071495B2 (ja) | 2010-03-04 | 2012-11-14 | ウシオ電機株式会社 | 光源装置 |
EP3079269B1 (en) | 2010-03-11 | 2020-10-28 | Electronics and Telecommunications Research Institute | Method and apparatus for transceiving data in a mimo system |
US9225961B2 (en) | 2010-05-13 | 2015-12-29 | Qualcomm Incorporated | Frame packing for asymmetric stereo video |
US9497290B2 (en) | 2010-06-14 | 2016-11-15 | Blackberry Limited | Media presentation description delta file for HTTP streaming |
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 |
KR20120010089A (ko) | 2010-07-20 | 2012-02-02 | 삼성전자주식회사 | Http 기반의 멀티미디어 스트리밍 서비스의 품질 향상을 위한 방법 및 장치 |
US9131033B2 (en) | 2010-07-20 | 2015-09-08 | Qualcomm Incoporated | Providing sequence data sets for streaming video data |
US9596447B2 (en) | 2010-07-21 | 2017-03-14 | Qualcomm Incorporated | Providing frame packing type information for video coding |
US8711933B2 (en) | 2010-08-09 | 2014-04-29 | Sony Computer Entertainment Inc. | Random access point (RAP) formation using intra refreshing technique in video coding |
US9456015B2 (en) | 2010-08-10 | 2016-09-27 | Qualcomm Incorporated | Representation groups for network streaming of coded multimedia data |
KR101737325B1 (ko) | 2010-08-19 | 2017-05-22 | 삼성전자주식회사 | 멀티미디어 시스템에서 멀티미디어 서비스의 경험 품질 감소를 줄이는 방법 및 장치 |
US8615023B2 (en) | 2010-10-27 | 2013-12-24 | Electronics And Telecommunications Research Institute | Apparatus and method for transmitting/receiving data in communication system |
US9270299B2 (en) | 2011-02-11 | 2016-02-23 | Qualcomm Incorporated | Encoding and decoding using elastic codes with flexible source block mapping |
US20120208580A1 (en) | 2011-02-11 | 2012-08-16 | Qualcomm Incorporated | Forward error correction scheduling for an improved radio link protocol |
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 |
-
2008
- 2008-04-15 US US12/103,605 patent/US9178535B2/en not_active Expired - Fee Related
- 2008-04-16 KR KR1020127016782A patent/KR101290965B1/ko not_active IP Right Cessation
- 2008-04-16 CN CN200880012335.8A patent/CN101675594B/zh not_active Expired - Fee Related
- 2008-04-16 UA UAA200911612A patent/UA94811C2/uk unknown
- 2008-04-16 KR KR1020097023766A patent/KR101275432B1/ko active IP Right Grant
- 2008-04-16 CA CA002681730A patent/CA2681730A1/en not_active Abandoned
- 2008-04-16 MX MX2009011094A patent/MX2009011094A/es active IP Right Grant
- 2008-04-16 EP EP08746007.7A patent/EP2145390B1/en not_active Not-in-force
- 2008-04-16 BR BRPI0810142-6A2A patent/BRPI0810142A2/pt not_active IP Right Cessation
- 2008-04-16 RU RU2009141988/08A patent/RU2440670C2/ru not_active IP Right Cessation
- 2008-04-16 JP JP2010504224A patent/JP5096560B2/ja not_active Expired - Fee Related
- 2008-04-16 AU AU2008242911A patent/AU2008242911B2/en not_active Ceased
- 2008-04-16 WO PCT/US2008/060510 patent/WO2008131023A1/en active Application Filing
-
2009
- 2009-09-23 IL IL201147A patent/IL201147A0/en unknown
-
2012
- 2012-07-23 JP JP2012162865A patent/JP5635040B2/ja not_active Expired - Fee Related
- 2012-07-23 JP JP2012162857A patent/JP5763019B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
WO2008131023A1 (en) | 2008-10-30 |
KR101275432B1 (ko) | 2013-06-14 |
JP2013042487A (ja) | 2013-02-28 |
US20080256418A1 (en) | 2008-10-16 |
IL201147A0 (en) | 2010-05-17 |
BRPI0810142A2 (pt) | 2014-11-25 |
EP2145390B1 (en) | 2014-06-11 |
KR101290965B1 (ko) | 2013-07-30 |
CN101675594A (zh) | 2010-03-17 |
JP2010535435A (ja) | 2010-11-18 |
EP2145390A4 (en) | 2012-11-07 |
US9178535B2 (en) | 2015-11-03 |
KR20120099741A (ko) | 2012-09-11 |
RU2009141988A (ru) | 2011-05-27 |
JP5635040B2 (ja) | 2014-12-03 |
MX2009011094A (es) | 2009-12-11 |
JP5763019B2 (ja) | 2015-08-12 |
EP2145390A1 (en) | 2010-01-20 |
AU2008242911A1 (en) | 2008-10-30 |
CA2681730A1 (en) | 2008-10-30 |
RU2440670C2 (ru) | 2012-01-20 |
AU2008242911B2 (en) | 2011-05-26 |
JP2013031173A (ja) | 2013-02-07 |
CN101675594B (zh) | 2014-10-08 |
UA94811C2 (uk) | 2011-06-10 |
JP5096560B2 (ja) | 2012-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101275432B1 (ko) | 동적 스트림 인터리빙 및 서브-스트림 기반 전달 | |
JP5847577B2 (ja) | より低いレベルのパケット構造から導かれる記号識別子を用いた放送チャネル上の高品質ストリーム保護 | |
CN101272495B (zh) | 用于传输基于分组的图像帧的方法和装置 | |
KR101184242B1 (ko) | 순방향 오류 정정 코딩 및 스트리밍 | |
KR101656969B1 (ko) | 계층 인식 순방향 에러 정정을 위한 인터리빙 | |
Al-Jobouri et al. | Multicast and unicast video streaming with rateless channel-coding over wireless broadband | |
Nazir et al. | Application layer systematic network coding for sliced H. 264/AVC video streaming | |
Demircin et al. | Finite-horizon FEC-rate adaptation for real-time wireless multimedia | |
Gotta et al. | Quality of Experience in Satellite video streaming transmissions in urban vehicular environment | |
Mattoussi et al. | Application of AL-FEC to HbbTV DVB-T2 systems for the provision of VoD services in portable and fixed TV reception | |
Liu et al. | An intelligent video streaming delivery of SVC based on rateless UEP convolutional code | |
Cerezo-Costas et al. | Feasibility analysis of zero-overhead near video-on-demand protocols in satellite channels |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
A107 | Divisional application of patent | ||
AMND | Amendment | ||
J201 | Request for trial against refusal decision | ||
B701 | Decision to grant | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20160330 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20170330 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20180329 Year of fee payment: 6 |