JP2013540408A - 不均一誤り保護および一括ファイル配信サービスを提供するための汎用ファイル配信の方法 - Google Patents

不均一誤り保護および一括ファイル配信サービスを提供するための汎用ファイル配信の方法 Download PDF

Info

Publication number
JP2013540408A
JP2013540408A JP2013535132A JP2013535132A JP2013540408A JP 2013540408 A JP2013540408 A JP 2013540408A JP 2013535132 A JP2013535132 A JP 2013535132A JP 2013535132 A JP2013535132 A JP 2013535132A JP 2013540408 A JP2013540408 A JP 2013540408A
Authority
JP
Japan
Prior art keywords
symbol
file
source
symbols
packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013535132A
Other languages
English (en)
Other versions
JP5788988B2 (ja
Inventor
マイケル・ジー・ルビー
Original Assignee
クアルコム,インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by クアルコム,インコーポレイテッド filed Critical クアルコム,インコーポレイテッド
Publication of JP2013540408A publication Critical patent/JP2013540408A/ja
Application granted granted Critical
Publication of JP5788988B2 publication Critical patent/JP5788988B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0086Unequal error protection
    • H04L1/0089Unequal error protection in payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1621Group acknowledgement, i.e. the acknowledgement message defining a range of identifiers, e.g. of sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0098Unequal error protection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5603Access techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Error Detection And Correction (AREA)

Abstract

パケット交換ネットワークを通じて電子デバイスまたはシステムからデータオブジェクトを配信するための方法および装置が提供され、ソースデータを複数のソースシンボルへと編成して、汎用オブジェクトシンボル識別子(「UOSI」)と、UOSIによって特定されるパケット構造のソースデータを表す複数の符号化シンボルとを含む符号化パケットを複数生成して、複数の符号化パケットをパケット交換ネットワークへ送信することによって、ソースデータが少なくともおおよそ符号化シンボルから復元可能になるように、ソースデータはパケット中の符号化シンボルによって表される。

Description

関連出願の相互参照
本非仮出願は、2010年10月22日に出願した、「File Delivery Methods for Providing Unequal Error Protection and Bundled File Delivery Services」という表題の米国仮特許出願第61/406,091号の、米国特許法第119条(e)による優先権の利益を主張するものであり、上記仮出願の内容全体が、あらゆる目的のために参照によって本明細書に組み込まれる。
本開示は、本発明の譲受人に譲渡された以下の特許または出願に関連することがあり、以下の特許または出願の各々は、あらゆる目的のために参照によって全体が組み込まれる。
1)「Information Additive Code Generator and Decoder for Communication Systems」という表題のMichael G. Lubyに与えられた米国特許第6,307,487号(以後「Luby I」)
2)「Information Additive Group Code Generator and Decoder for Communication Systems」という表題のMichael G. Lubyに与えられた米国特許第6,320,520号(以後「Luby II」)
3)「Systems and Processes for Decoding a Chain Reaction Code Through Inactivation」という表題のM. Amin Shokrollahiに与えられた米国特許第6,856,263号(以後「Shokrollahi I」)
4)「Systematic Encoding and Decoding of Chain Reaction Codes」という表題のM. Amin Shokrollahiに与えられた米国特許第6,909,383号(以後「Shokrollahi II」)
5)「Multi-Stage Code Generator and Decoder for Communication Systems」という表題のM. Amin Shokrollahiに与えられた米国特許第7,068,729号(以後「Shokrollahi III」)
6)「File Download and Streaming System」という表題のMichael G. Luby、M. Amin Shokrollahi、およびMark Watsonに与えられた米国特許第7,418,651号(以後「Luby III」)
7)「In-Place Transformations with Applications to Encoding and Decoding Various Classes of Codes」という表題のMichael G. LubyおよびM. Amin Shokrollahiによる米国特許出願公開第2006/0280254号(以後「Luby IV」)
8)「Multiple-Field Based Code Generator and Decoder for Communications Systems」という表題のM. Amin Shokrollahiによる米国特許出願公開第2007/0195894号(以後「Shokrollahi IV」)
9)2009年10月23日に出願した「Method and Apparatus Employing FEC Codes with Permanent Inactivation of Symbols for Encoding and Decoding Processes」という表題のM. Amin Shokrollahiらによる米国特許出願第12/604,773号(以後「Shokrollahi V」)
10)2009年8月19日に出願した「Methods and Apparatus Employing FEC Codes with Permanent Inactivation of Symbols for Encoding and Decoding Processes」という表題のMichael G. Lubyによる米国仮特許出願第61/235,285号(以後「Luby V」)
11)2010年8月18日に出願した「Methods and Apparatus Employing FEC Codes with Permanent Inactivation of Symbols for Encoding and Decoding Processes」という表題のMichael G. Luby、M. Amin Shokrollahiによる米国特許出願第12/859,161号(以後「Shokrollahi VI」)
参照文献
以下の参照文献の各々は、あらゆる目的のために参照によって全体が本明細書に組み込まれる。
[Albanese96]または[PET] 「Priority Encoding Transmission」、Andres Albanese、Johannes Blomer、Jeff Edmonds、Michael Luby、およびMadhu Sudan、IEEE Transactions on Information Theory、42巻、6号(1996年11月)
[Albanese97]または[PET-Patent] 「System for Packetizing Data Encoded Corresponding to Priority Levels Where Reconstructed Data Corresponds to Fractionalized Priority Level and Received Fractionalized Packets」という表題のA. Albanese、M. Luby、J. Blomer、J. Edmondsへの米国特許第5,617,541号(1997年4月1日発行)
[ALC] Luby, M.、Watson, M.、Vicisano, L.、"Asynchronous Layered Coding (ALC) Protocol Instantiation"、IETF RFC 5775 (2010年4月)
[FEC BB] Watson, M.、Luby, M.、およびL. Vicisano、"Forward Error Correction(FEC)Building Block"、IETF RFC 5052(2007年8月)
[FLUTE] Paila, T.、Luby, M.、Lehtonen, R.、Roca, V.、Walsh, R.、"FLUTE--File Delivery over Unidirectional Transport"、IETF RFC 3926(2004年10月)
[LCT] Luby, M.、Watson, M.、Vicisano, L.、"Layered Coding Transport (LCT) Building Block"、IETF RFC 5651(2009年10月)
[Luby2010]または[RaptorQ-Spec] M. Luby、A. Shokrollahi、M. Watson、T. Stockhammer、L. Minder、"RaptorQ Forward Error Correction Scheme for Object Delivery"、draft-ietf-rmt-bb-fec-raptorq-04、Reliable Multicast Transport(2010年8月24日)
[Luby2007]または[Raptor-RFC-5053] M. Luby、A. Shokrollahi、M. Watson、T. Stockhammer、"Raptor Forward Error Correction Scheme for Object Delivery"、IETF RFC 5053(2007年9月)
[Luby2002] Luby, M.、Vicisano, L.、Gemmell, J.、Rizzo, L.、Handley, M.、およびJ. Crowcroft、"The Use of Forward Error Correction (FEC) in Reliable Multicast"、IETF RFC 3453(2002年12月)
[Matsuoka]または[LDPC-Extensions] "Low-Density Parity-Check Code Extensions Applied for Broadcast-Communication Integrated Content Delivery"、Hosei Matsuoka、Akira Yamada、およびTomoyuki Ohya、Research Laboratories、株式会社エヌ・ティ・ティ・ドコモ、神奈川県横須賀市光の丘3-6、239-8536、日本
[Roca]または[LDPC-RFC-5170] V. Roca、C. Neumann、D. Furodet、"Low Density Parity Check (LDPC) Staircase and Triangle Forward Error Correction (FEC) Schemes"、IETF RFC 5170(2008年6月)
本発明は、通信システムにおけるデータの符号化および復号に関し、より詳細には、通信されたデータのエラーおよび欠落の原因であるデータを効率的に符号化し復号し、複数の異なるファイル配信方法を扱う通信システムに関する。
通信チャネルを通じた送信者と受信者との間でのファイルの送信の技法は、多くの文献の主題である。好ましくは、受信者は、送信者によってチャネルを通じて送信されるデータの完璧なコピーを、あるレベルの確かさで受信することを望む。チャネルの忠実度が完全ではない場合(ほとんどすべての物理的に実現可能なシステムが該当する)、1つの問題は、送信中に失われたまたは歪められたデータをどのように扱うかということである。失われたデータ(喪失)は、破損したデータ(エラー)よりも扱いが容易であることが多い。それは、破損したデータが誤って受信されたデータであると、受信者が常に見分けることはできないからである。多くのエラー訂正符号が、喪失および/またはエラーを訂正するために開発されてきた。通常、使用される具体的な符号は、データの送信に使われるチャネルの非忠実度、および送信されるデータの性質についての何らかの情報に基づいて、選択される。たとえば、チャネルの非忠実である期間が長いと分かっている場合、そのような用途にはバーストエラー符号が最適であり得る。短く頻繁ではないエラーしか予想されない場合には、単純なパリティ符号が最善であり得る。
本明細書で使われる場合、「ソースデータ」とは、1人または複数の送信者において利用可能であり、エラーおよび/または喪失などを伴うもしくは伴わない、送信されるシーケンスからの復元による取得のために受信機が使用される、データを指す。本明細書で使われる場合、「符号化データ」とは、ソースデータを復元または取得するために搬送され使用され得るデータを指す。単純なケースでは、符号化データはソースデータのコピーであるが、受信された符号化データが(エラーおよび/または喪失によって)送信された符号化データとは異なる場合、この単純なケースでは、ソースデータについて追加のデータがなければソースデータを完全に復元可能ではないことがある。送信は、空間または時間を通じたものであってよい。より複雑なケースでは、符号化データは、ソースデータに基づいて変換を通じて生成され、1人または複数の送信機から受信機に送信される。ソースデータが符号化データの一部であると判明した場合には、符号化は「システマチック」であると言われる。システマチックな符号化の単純な例では、ソースデータについての冗長な情報が、ソースデータの終わりに添付され、符号化データを形成する。
また、本明細書で使われる場合、「入力データ」とは、FEC(前方誤り訂正)エンコーダ装置またはFECエンコーダモジュール、コンポーネント、ステップなど(「FECエンコーダ」)の入力に存在するデータを指し、「出力データ」とは、FECエンコーダの出力に存在するデータを指す。したがって、出力データは、FECデコーダの入力に存在すると見込まれ、FECデコーダは、処理した出力データに基づいて、入力データ、または入力データに相当するものを出力すると見込まれる。一部の場合には、入力データはソースデータであり、またはそれを含み、一部の場合には、出力データは符号化データであり、またはそれを含む。たとえば、FECエンコーダの入力の前に処理が行われない場合には、入力データはソースデータである。しかし、一部の場合には、ソースデータは異なる形態へと処理されて(たとえば、静的エンコーダ、逆エンコーダ、または別の処理)、ソースデータの代わりにFECエンコーダへ提示される、中間データを生成する。
一部の場合には、送信機デバイスまたは送信機プログラムコードは、2つ以上のFECエンコーダを含んでよく、すなわち、ソースデータは、一連の複数のFECエンコーダにおける符号化データへ変換される。同様に受信機において、受信された符号化データからソースデータを生成するために適用される、2つ以上のFECエンコーダが存在し得る。
データは、シンボルへと分割されるものと考えられ得る。エンコーダは、ソースシンボルまたは入力シンボルのシーケンスから、符号化シンボルまたは出力シンボルを生成する、コンピュータシステム、デバイス、電子回路などであり、デコーダは、受信または復元された符号化シンボルもしくは出力シンボルから、ソースシンボルまたは入力シンボルのシーケンスを復元する、コンピュータシステム、デバイス、電子回路などである。エンコーダおよびデコーダは、チャネルによって時間および/または空間に関して分離されており、任意の受信された符号化シンボルは、対応する送信された符号化シンボルと完全に同一ではないことがあり、送信されたのと完全に同じシーケンスで受信されないことがある。シンボルが実際にビットストリームへと分解されるかどうかに関わらず、シンボルの「サイズ」はビットで測ることができ、シンボルが2M個のシンボルのアルファベットから選択される場合、シンボルのサイズはMビットである。本明細書の例の多くにおいて、シンボルはオクテット単位で測られ、符号は256個の可能性の領域にわたるものであってよい(各オクテット内に256個の可能な8ビットのパターンがある)が、データ測定の異なる単位が使われてよいことが理解されるべきであり、様々な方法でデータを測定することはよく知られている。一般的な文献では、「バイト」という用語は、8ビットの値を示すように「オクテット」という用語と交換可能に使われることがあるが、一部の文脈では、「バイト」はXビットの値を示し、このときXは8には等しくなくたとえばX=7である。したがって、本明細書では、全般に用語「オクテット」が使われる。別段示されない限り、本明細書の例は、シンボル当たりのビットの数に関して、特定の整数または非整数の値に限定されない。
Luby Iは、計算、メモリ、帯域幅を効率的に使用してエラー訂正に対処するための、連鎖反応符号のような符号の使用を説明する。連鎖反応エンコーダによって生成される符号化シンボルの1つの特性は、十分な符号化シンボルが受信されるとすぐに、受信機が元のファイルを復元できるということである。具体的には、元のK個のソースシンボルを高い確率で復元するために、受信機は約K+A個の符号化シンボルを必要とする。
所与の状況での「絶対的な受信オーバーヘッド」は値Aによって表され、「相対的な受信オーバーヘッド」は比A/Kとして計算され得る。絶対的な受信オーバーヘッドは、理論的な最小量のデータである情報に加えて、どれだけの余剰なデータを受信する必要があるかの基準であり、これはデコーダの信頼性に依存することがあり、ソースシンボルの数Kの関数として変化し得る。同様に、相対受信オーバーヘッドA/Kは、復元されているソースデータのサイズに対する、理論的な最小量のデータである情報に加えて受信する必要がある余剰なデータの量の基準であり、これもデコーダの信頼性に依存することがあり、ソースシンボルの数Kの関数として変化し得る。
連鎖反応符号は、パケットベースのネットワークを通じた通信には非常に有用である。しかし、連鎖反応符号は時々かなり計算集約的であり得る。ソースシンボルが、連鎖反応または別のレートレス符号を使って符号化する動的エンコーダの前に、静的エンコーダを使って符号化される場合、デコーダは、より頻繁に、またはより簡単に復号できる可能性がある。そのようなデコーダは、たとえばShokrollahi Iに示されている。そこに示されている例では、ソースシンボルは、符号化シンボルである出力シンボルを生成する動的エンコーダに対する入力シンボルである、出力シンボルを生成する静的エンコーダに対する入力シンボルであり、動的エンコーダは、入力シンボルの数に対して一定の比率ではない量の多数の出力シンボルを生成できる、レートレスエンコーダである。静的エンコーダは、2つ以上のレート一定のエンコーダを含み得る。たとえば、静的エンコーダは、ハミングエンコーダ、低密度パリティ検査(「LDPC」)エンコーダ、高密度パリティ検査(「HDPC」)エンコーダなどを含み得る。
一部のシンボルが受信されたシンボルからデコーダにおいて復元されると、そうした復元されたシンボルを使ってさらなるシンボルを復元できる可能性があり、そのさらなるシンボルが、より多くのシンボルを回復するために使われ得るという特性を、連鎖反応符号は有する。好ましくは、所望のシンボルのすべてが、受信されたシンボルの貯えを使い切る前に回復されるように、デコーダにおいて起きるシンボルの連鎖反応は続き得る。好ましいことに、連鎖反応による符号化および復号の実行の、計算的な複雑さは低い。
デコーダにおける復元処理は、どのシンボルが受信されたかを判定することと、元の入力シンボルを受信された符号化シンボルへと対応付ける行列を生成することと、その逆行列を求めて、逆行列と受信された符号化シンボルのベクトルとの行列の乗算を実行することとを伴い得る。通常のシステムでは、この総当たり式の実装形態は、過度の計算能力およびメモリ要件を費やし得る。当然、受信された符号化シンボルのある特定のセットに対しては、元の入力シンボルのすべてを復元するのが不可能であることがあり、それが可能である場合でも、結果を計算するのに非常に多くの計算能力を費やし得る。
前方誤り訂正(「FEC」)オブジェクト送信情報(「OTI」)または「FEC OTI」
FEC OTIに基づいて、受信機は受信し(または推測することができ)、受信機は、ファイル転送のソースブロックおよびサブブロック構造を決定することができる。本明細書の図1で示されるように、[Raptor-RFC-5053]および[RaptorQ-Spec]では、FECペイロードIDは(SBN, ESI)であり、[Raptor-RFC-5053]ではソースブロック番号(SBN)は16ビットであり符号化シンボルID(ESI)は16ビットであり、[RaptorQ-Spec]ではSBNは8ビットでありESIは24ビットである。このFECペイロードIDフォーマットの1つの欠点は、SBNおよびESIへ割り当てるべきFECペイロードIDのビットの数を事前に決定しなければならず、すべてのファイル配信パラメータに対して妥当になる適切な組合せを決定するのが難しいことがある、ということである。
たとえば、[Raptor-RFC-5053]を使う場合、利用可能なESIが216=65,536個のみであることは一部の状況では制約となり得る。それは、一部の場合には、8,192個のソースシンボルを有するソースブロックが存在することがあるので、符号化シンボルの数は8以上の倍数に限られ、この場合、使われ得る可能な符号化レートは、1/8よりも小さくはならないように制限されるからである。この例では、216=65,536個の利用可能なソースブロックは、これまで使われてきた利用可能なソースブロックよりも多い可能性があり、たとえば、各々が1,024オクテットの8,192個のソースシンボルでは、サポートされ得るファイルのサイズは524GBであり、これは多くの用途において、必要な大きさよりも2桁大きいということがあり得る。
別の例として、[RaptorQ-Spec]を使う場合、利用可能なSBNが28=256個のみであることは一部の状況では制約となり得る。それは、4GBのファイルでは、各ソースブロックは8MBに制限され(最大のサブブロックサイズが256KBであり、最小のサブシンボルサイズが32オクテットであり、シンボルサイズが1,024オクテットである場合にそのようになり得る)、ソースブロックの数が256に制限され、そしてファイルサイズが2GBに制限される。この例では、利用可能な224=16,777,216個の符号化シンボルは、これまで使われてきた符号化シンボルよりも多く、たとえば8,192個のソースシンボルでは利用可能な符号化シンボルの数は2,048倍大きく、これは一部の用途では決して必要になり得ない、ということがあり得る。
別の望ましい特性は、不均一誤り保護(「UEP」)とも呼ばれることもある、ファイルの異なる部分の間での優先順位を付けられた符号化送信の能力を提供することである。たとえば、ファイルの最初の10%を、残りの90%よりも強力に、パケット喪失に対して保護するのが望ましいことがある。たとえば、[LDPC-Extensions]は、[LDPC-RFC-5170]がUEPをサポートするためにどのように拡張され得るかを説明する。この場合、実際のFEC符号自体が、ファイルの異なる部分に対して異なるレベルのパリティ保護を提供するように、修正される。しかし、この手法には欠点がある。たとえば、FEC符号自体の実装および検査が複雑になるので、UEPを実現するためにFEC符号自体を修正しなければならないのは望ましくない。さらに、[LDPC-Extensions]の図6で示される結果のように、ファイルの異なる部分に対して提供される、パケット喪失に対する弾力性の面でのそのような手法により得られる性能は、理想からはかけ離れている。
UEPファイル配信能力を提供する1つの方法は、[PET]および[PET-Patent]で説明されるように、優先順位およびサイズに従って、ファイルの異なる部分に対して、各パケットの異なる部分を割り当てることである。しかし、問題は、ファイルの異なる各部分がファイルの他の部分とは独立にソースブロックおよびサブブロックに分割され、たとえば、ファイルの各部分の少量のメモリの復号をサポートし、さらに同時に、ファイルの各部分のためのシンボルが各パケット内に含まれていると受信機が判定できるようにする各パケット内のFECペイロードIDを、各パケット内に提供できるように、そのようなUEPの方法をどのように組み込むかである。このことは、フォーマット(SBN, ESI)のFECペイロードIDを使って対応するのは非常に難しい。それは、ファイルの各部分について、ファイルの第1の部分に対するパケット中のシンボルの対応するSBNおよびESIは、ファイルの第2の部分に対するパケット中のシンボルのSBNおよびESIとは異なり得るからである。
HTTP修復手法
ブロードキャスト/マルチキャストファイル配信のための3GPP MBMS規格TS 26.346において、修復要求が行われる方法は、たとえば、[Raptor-RFC-5053]で規定される、すなわち、ソースブロック番号(SBN)および符号化シンボル識別子(ESI)を規定することによって規定される、FECペイロードIDを使うことである。修復要求に応答するサーバが、ブロードキャスト/マルチキャストファイル配信において使われるファイル配信構造を決定するようにそのサーバに要求する特別な方法を有する場合、すなわち、そうしたサーバが、ソースブロックおよびサブブロックの構造とともにシンボルサイズTを知っていることを必要とする、ファイルのどの部分が要求されたSBNおよびESIによって参照されるかの解釈を行うように要求される場合には、この方法は合理的である。一方、広大な地理的領域にわたって分散する数百万個のブロードキャスト/マルチキャスト受信機が存在することがあり、専用の応答サーバの配備を必要とすることは、設備投資と運用の両方の観点において、高価であるとともに煩わしい。広範に配備されているのは、たとえばウェブページ、ビデオストリーミングなどのインターネット配信をサポートする、標準的なHTTPウェブサーバおよびウェブキャッシュである。望ましいのは、標準的なHTTPウェブサーバおよびウェブキャッシュを、ブロードキャスト/マルチキャスト応答サーバとして使用するのをサポートする方法である。
ファイル配信の方法および装置の実施形態において、汎用ファイルシンボル識別子(「UFSI」)または汎用オブジェクトシンボル識別子(「UOSI」)が、パケットに含まれる符号化シンボルを特定するのに必要なパケット内の構造を特定するためにパケットと関連付けられる。そのように使われると、UFSI/UOSIは、不均一誤り保護を含めて、FECおよびファイル/オブジェクト配信の改善された処理を可能にし、配信されたデータのすべての部分が、FEC保護および一括オブジェクト配信に関して同じレベルにあるとは限らず、複数のオブジェクトを、別々に処理する場合よりも効率的に処理することができる。
以下の発明を実施するための形態は、添付の図面とともに、本発明の性質および利点のさらなる理解をもたらす。
Raptor-RFC 5053のFECペイロードIDを示す図である。 RaptorQ-SpecのFECペイロードIDを示す図である。 基本的な汎用ファイル配信(「UFD」)の方法のFECペイロードIDを示す図である。 送信機の基本的なUFDの方法を示すフローチャートである。 受信機の基本的なUFDの方法を示すフローチャートである。 ファイルのシンボルの識別情報(SBN, ESI)と、ファイルのシンボルの対応する汎用ファイルシンボル識別子(「UFSI」)への、またはそれからの対応付けとを示す例である。 送信機の汎用ファイル配信、不均一誤り保護(「UFD-UEP」)の方法を示すフローチャートである。 受信機のUFD-UEPの方法を示すフローチャートである。 各々の優先順位が異なる2つの部分を含むファイルの識別情報(SBN, ESI)の例を示す図である。 ファイルの2つの部分からの符号化シンボルの識別子(SBN, ESI)と、各パケットに含まれるUFSIとともにその部分の符号化シンボルを含むパケットとの対応付けの、図8に対応する例を示す図である。 [RaptorQ-Spec]を用いた単純なUEPファイル配信方法の性能を示す図である。 ともに[RaptorQ-Spec]を用いる、単純なUEPファイル配信方法とUFD-UEPファイル配信方法との例示的な性能の比較を示す図である。 すべて[RaptorQ-Spec]を用いる、1つのファイルのファイル配信と、複数のファイルのファイル配信と、UFD一括ファイル配信方法との例示的な性能の比較を示す図である。 ファイル配信の一部として、Raptor、RaptorQ、または他のパケットを、生成し、送信し、受信するために使われ得る、通信システムのブロック図である。 1つの受信機が、複数の、通常は独立した送信機から出力シンボルを受信する、ファイル配信が行われ得る通信システムの図である。 複数の、場合によっては独立した受信機が、複数の、通常は独立した送信機から出力シンボルを受信し、1つのみの受信機および/または1つのみの送信機が使われる場合よりも短い時間で入力ファイルを受信する、ファイル配信が行われ得る通信システムの図である。 HTTPストリーミングサーバを用いてファイル配信を実現するために使われ得る、ブロック要求ストリーミングシステムの要素を示す図である。 ブロックサービングインフラストラクチャ(「BSI」)に結合されて、ファイル配信のために使われ得る、コンテンツ取込システムによって処理されるデータを受信する、クライアントシステムの要素をさらに詳細に示す、図16のブロック要求ストリーミングシステムを示す図である。 ファイル配信のためのファイルを準備するのに使われ得る、取込システムのハードウェア/ソフトウェア実装形態を示す図である。 クライアントシステムに配信されるファイルを受信するのに使われ得る、クライアントシステムのハードウェア/ソフトウェア実装形態を示す図である。 一般のFEC OTI要素のフォーマットの例を示す図である。 方式固有のFEC OTI要素のフォーマットの例を示す図である。
本明細書の実施形態では、ファイル配信が、ファイルを送信するエンコーダ/送信機システムと、ファイルを受信する受信機/デコーダシステムとによって、実行される。エンコーダが符号化したものをデコーダが理解するように、送信の形式は調整される。以下の様々な例で示されるように、ファイル配信は、一般的なオブジェクト配信の例であり、別段示されない限り、オブジェクトはファイルとして扱われ得ること、場合によってはファイルはオブジェクトとして扱われ得ることが、これらの例から明らかであろう。
パケット配信システムにおいて、データはパケットへと編成され、パケットとして送信される。各パケットは、パケット中に何があるか、それがどのように配置されているかを受信機が判定できるようにする、要素を有する。本明細書で説明される技法を使って、前方誤り訂正(「FEC」)が使われる場合にパケットを送信するための柔軟性が提供される。
これらの技法を使って、不均一なFECの保護が、ファイルの一括配信とともに実現され得る。多くのファイルが別々のファイルとして配信される場合、パケット喪失に対する配信の弾力性は、すべてのファイルがより大きなファイルへと連結されその大きなファイルが配信において保護される場合よりも、はるかに低くなり得ることがよく知られている。しかし、より小さなファイルの組合せとしてより大きなファイルの構造をシグナリングするのが必要であり、受信機がより小さなファイルの部分集合の復元にしか関心がなくても、受信機は一般に、より大きなファイル全体を復元して、より大きなファイル内のより小さなファイルのすべてを復元する必要がある。
したがって、好ましいファイル配信システムまたは方法は、ソースブロックの数と、ファイルのためにファイル配信構造として使われるソースブロック当たりの符号化シンボルの数との、あらゆる柔軟な組合せを可能にしなければならない。ファイル配信方法が、パケット喪失に対して効率的な保護を実現し、異なる優先順位で保護されるファイルの異なる部分を有するファイルの配信をサポートし、ファイルの各部分が、ファイルの他の部分とは異なる、ソースブロック構造およびサブブロック構造を有し得ることも、当てはまらなければならない。また、一部の場合には、ファイルはオブジェクトの特定の例であると考えられるが、ファイルの転送および処理を説明するために本明細書で使われる例は、場合によってはファイルとしては呼ばれないデータオブジェクト、たとえば、データベースからのデータの大きな塊、ビデオシーケンスの一部などに対しても使われ得ることを、ここで理解されたい。
ファイル/オブジェクト配信システムまたは方法は、大きなファイル/オブジェクトの保護の効率性とともに、多くのより小さなファイル/オブジェクトの配信を実現し、より小さなファイル/オブジェクトの構造の単純なシグナリングを実現し、受信機が、より小さなファイルの/オブジェクトのすべてを復元することなく、より小さなファイル/オブジェクトの部分集合のみを独立に復元するための能力を提供できなければならない。これらの望ましい品質を有するシステムの例が、ここで説明される。
基本的な汎用ファイル配信(「UFD」)の方法およびシステム
基本的な汎用ファイルの配信(「UFD」)の方法および対応するシステムがここで説明され、UFDは、既存のファイル配信方法に対する大きな利点を含む。基本的なUFDの方法に対する、前方誤り訂正(「FEC」)ペイロードIDは、たとえば32ビットのフィールドであり得る、汎用ファイルシンボル識別子(「UFSI」)フィールドを含む。基本的なUFDの方法のための、送信機および受信機の方法が、同じくここで説明される。また、ファイルがオブジェクトと呼ばれる場合、「UFSI」は代わりに「UOSI」(汎用オブジェクトシンボル識別子)と呼ばれ得る。
送信機の基本的なUFDの方法が、図3を参照して説明される。送信機は、たとえば、[Raptor-RFC-5053]または[RaptorQ-Spec]で説明されるように(たとえば、[RaptorQ-Spec]のセクション4.3を参照)、既存の方法を使ってFECオブジェクト送信情報(「OTI」)を生成し、FEC OTIを使って、ファイルの送信に使用すべきソースブロックおよびサブブロックの構造を決定し、(SBN, ESI)のペアとファイルの符号化シンボルとの関係を決定することができる(たとえば、[RaptorQ-Spec]のセクション4.4を参照)。
たとえば、[RaptorQ-Spec]で説明されるように、生成されるFEC OTIは(F, Al, T, Z, N)であってよく、Fは送信されるファイルのサイズ、Alは、Alの倍数であるメモリの境界上でサブシンボルが揃えられるのを確実にするために使われる整列係数、Tは生成され送信において送信されるシンボルのサイズ、Zは送信のためのファイルの分割先であるソースブロックの数、Nは送信のための各ソースブロックの分割先であるサブブロックの数である。これは、図3のステップ300に示されている通りである。
たとえば、[RaptorQ-Spec]で説明されるように、送信機は、パケット内で送信されるべき符号化シンボルを形成し、ソースブロックに基づいて、かつサブブロックが使われる場合にはサブブロック構造にも基づいて、既存の方法を使ってこれらの符号化シンボルのためのSBNおよびESIを生成することができる。符号化システムが送信されるべきである度に、送信機は、図3のステップ310に示されるように、生成されるべき符号化シンボルのSBN AおよびESI Bを決定することができ、次いで送信機は、図3のステップ320に示されるように、たとえば[RaptorQ-Spec]で説明される技法のような既存の技法を使って、(SBN, ESI)=(A, B)に基づいて符号化シンボルの値を生成することができる。そして、図3のステップ330に示されるように、その符号化シンボルのUFSI Cは、C=B×Z+Aとして計算される。
送信機は、図3のステップ340に示されるように、パケットのFECペイロードIDが符号化シンボルのUFSI Cへ設定されたパケット中で、符号化シンボルを送信することができる。次いで、送信機は、図3のステップ350に示されるように、さらなる符号化シンボルが送信されるべきかどうかを判定することができ、送信されるべきである場合、送信機は、図3のステップ310への「Yes」分岐で示されるように、送信すべき追加の符号化シンボルを生成することができ、送信されるべきではない場合、送信機は、図3のステップ360への「No」分岐で示されるように、終了することができる。
送信機の基本的なUFDの方法の、多くの変形形態がある。たとえば、送信機は、パケットの少なくとも一部で2個以上の符号化シンボルを送信することができ、この場合、FECペイロードIDは、パケットに含まれる第1の符号化シンボルのUFSIに設定されてよく、パケットに含まれる追加のシンボルは、対応するUFSIの値が連続的になるように、選択され得る。たとえば、パケット中で搬送される3個の符号化シンボルがあり、第1のそのようなシンボルのUFSIが4234である場合、他の2個の符号化シンボルは、それぞれUFSIが4235および4235である符号化シンボルであり得る。他の代替形態の例として、送信機は、どれだけの符号化シンボルを生成するかを事前に決定し、符号化シンボルのいずれかを生成する前に、生成されるべきすべての符号化シンボルの(SBN, ESI)の値を決定することができる。別の例では、UFSIの値は、(SBN, ESI)の値を生成する中間ステップなしで、直接生成されてよい。
変形形態の別の例として、他の形態のFEC OTI情報を生成することができる。たとえば、基本UFSI BUが、ファイルのFEC OTIに含まれてよく、BUは次のように使われ得る。すなわち、パケットに含まれる符号化シンボルについて、FECの送信機および受信機によって使われるべきUFSIはU + BUであり、Uは、符号化シンボルを搬送するパケット中で搬送されるUFSIである。したがって、たとえば、パケットがU=1,045を搬送し、FEC OTIの中の基本UFSIがBU=2,000,000である場合、符号化シンボルのUFSIは2,001,045である。基本UFSIの使用には、いくつかの利点がある。1つの利点として、[FLUTE]、[ALC]、[LCT]、[FEC BB]において説明されるプロトコルスイートが、TOIとも呼ばれる送信オブジェクト識別子を、転送されるべきファイルまたはオブジェクトのFEC OTIと関連付ける。同じファイルの符号化シンボルが、異なる時間に、または異なるセッションで送信され、異なるTOIと関連付けられ得ることが可能である。また、異なる各TOIと関連付けられるパケットについて、UFSI=0から始まる符号化パケットを送信できるのが有利である。FEC OTIの一部として基本UFSIを規定できることで、異なる基本UFSIを、ファイルのために符号化シンボルが送信される際の各TOIと関連付けることができ、異なるTOIに対して重複する符号化シンボルが送信されない。たとえば、同じファイルの符号化シンボルは、TOI=1と関連付けられTOI=2と関連付けられるパケットで送信されてよく、TOI=1と関連付けられる基本UFSIは0に設定され、TOI=2と関連付けられる基本UFSIは1,000,000に設定される。そして、TOI=1とTOI=2の両方の符号化パケットは、UFSI0、1、2などというシーケンスを含んでよく、TOI=1でファイルのために送信される符号化シンボルが1,000,000個より少ない限り、2つのTOIと関連付けられて送信される符号化シンボルの中に、重複する送信される符号化シンボルはない。
受信機の基本的なUFDの方法が、図4を参照して説明される。受信機は、図4のステップ400で示されるように、既存の技法を使って、送信機について上で説明されたのと同じ形式の、FEC OTI (F, Al, T, Z, N)を決定することができる。たとえば、FEC OTIは、FLUTEセッションの説明に組み込まれてよく、またはFEC OTIは、URLへと符号化されてよく、またはFEC OTIは、SDPメッセージを介して取得されてよい。ステップ410において、受信機は、さらに符号化シンボルが受信されるかどうかを確かめて、別の符号化シンボルを受信するまで(この場合、受信機はステップ430に進む)、またはさらなる符号化シンボルは今後受信されないと受信機が判定するまで(この場合、受信機はステップ420に進む)、このステップに留まることができ、他の手段、たとえばファイル修復サーバへのHTTP要求を使ってファイルの復元を試み、または受信機は、後でさらなる符号化シンボルを受信するために別のセッションを待機することができ、または受信機は、ファイルを回復できないと判定することができる。
別の符号化シンボルが利用可能である場合、ステップ430において、受信機は符号化シンボルのUFSI Cを決定し、符号化シンボルの値を受信する。ステップ440において、受信機は、ソースブロックの数ZおよびUFSI Cに基づいて、A=C modulo Z、およびB=floor(C/Z)を計算し、ステップ450において、受信機は、符号化シンボルの(SBN, ESI)を(A, B)に設定し、ステップ460において、受信機は、符号化シンボルの値およびファイル復元のために使われる(A, B)を記憶する。ステップ470において、受信機は、ファイルを復元するのに十分な符号化シンボルが受信されたかどうかを判定し、受信されている場合、ステップ480のファイルの復元に進み、受信されていない場合、ステップ410のさらなる符号化シンボルの受信に進む。
受信機の基本的なUFDの方法の、多くの変形形態がある。たとえば、受信機は、パケットの少なくとも一部で2個以上の符号化シンボルを受信することができ、この場合、FECペイロードIDは、パケットに含まれる最初の符号化シンボルのUFSIに設定されてよく、パケット中の追加のシンボルは、連続的な対応するUFSIの値を有し得る。たとえば、パケット中で搬送される3個の符号化シンボルがあり、第1のそのようなシンボルのUFSIが4234である場合、他の2個の符号化シンボルは、それぞれUFSIが4235および4235である符号化シンボルであってよく、パケット中で搬送されるUFSIは、第1の符号化シンボルのUFSI=4234であり得る。他の代替形態の例として、受信機は、復元を試みる前に、どれだけの符号化シンボルを受信すべきかを事前に決定することができる。別の例として、受信機は、ファイルの復元に十分な符号化シンボルが受信されたかどうかを判定するのに使われるFEC符号に特有の、何らかの処理を行うことができる。別の例として、UFSIの値は、復元処理において、(SBN, ESI)の値を生成する中間ステップなしで、直接使用されてよい。別の例として、ファイルの復元は、符号化シンボルの受信と同時に行われてよい。別の例として、他の形態のFEC OTI情報を使用することができる。
基本的なUFDの方法を、ソースブロックおよびサブブロックの構造を決定するための[RaptorQ-Spec]で説明された技法と組み合わせることで、多くの利点がもたらされる。たとえば、ファイルを送信するための、SBNとESIの組合せによって特定される、従来の方法ではソースシンボルと呼ばれていたものは、基本的なUFDの方法を使うと、UFSIによって特定されるファイルシンボルとして見なされ得る。Fを、オクテット単位での送信されるべきファイルのサイズ、Tを、ファイルを送信するときにFEC符号化/復号のために使われるべきシンボルサイズとすると、KT=ceil(F/T)は、ファイル中のシンボルの総数であり、ceil(x)は、x以上の最小の整数である。
ソースブロック構造およびサブブロック構造はたとえば、[RaptorQ-Spec]で説明されるように決定され、上で説明された基本的なUFDの方法を使って、シンボルの識別情報を(SBN, ESI)形式からUFSI形式へと変換し、ファイルシンボルのUFSIの範囲は0, 1, 2, ..., KTであり、ファイルから生成される任意の修復シンボルは、範囲KT+1、KT+2などの中にUFSIを有する。この特性は、シンボルが元のファイルの一部であるかどうか、またはファイルから生成された修復シンボルであるかどうかを、シンボルのUFSIをKTの値と単に比較することによって判定するのを可能にする。このことはたとえば、どのシンボルが元のファイルの一部であるか(およびファイル内でのシンボルの位置)、ならびにどのシンボルを修復シンボルとして無視できるかを、パケット中で搬送されるUFSIの値とファイルのKTの値とに基づいて、FEC復号をサポートしない受信機が判定できるようにするのに、有用であり得る。
図5はある例を示し、この場合、ファイルサイズがF=28,669オクテット、シンボルサイズがT=1,024オクテットであり、したがってKT=ceil(F/T)=28である。図5では、ファイルのシンボルの(SBN, ESI)標示が上側に示され、各行はソースブロックに対応し、各列は同じESI値を有するシンボルに対応する。シンボルの対応するUFSI標示が、下側に示されている。この場合、UFSI=27であるシンボル、すなわちUFSI標示に関して28番目のシンボルは、FECの符号化および復号のために、最後の(KT×T)-F=3オクテットを0によってパディングされているが、このシンボルの最後のパディングされた3オクテットは、送信する必要はない。この例では、UFSI 28以上の任意の符号化シンボルは修復シンボルであり、UFSI 28である符号化シンボルは、SBN=3のソースブロックから生成され、UFSI 29である符号化シンボルは、SBN=4のソースブロックから生成され、UFSI 30である符号化シンボルは、SBN=0のソースブロックから生成され、以下同様である。当業者が認識するように、この特性には多くの他の利点がある。
基本的なUFDの方法の別の利点は、符号化シンボルが、UFSIによって定義される順序で、すなわちUFSIの順序0, 1, 2, 3, 4, ...で送信される場合、Z個のソースブロックの符号化シンボルは、交互の順序で送信され、すなわち、Z個のソースブロックの各々のうちのESI 0であるZ個の符号化シンボルが最初に送信され、続いて、Z個のソースブロックの各々のうちのESI 1であるZ個の符号化シンボルが送信される、などである。大半の送信に対しては、この単純な送信順序で十分であり、それが好ましい。しかし、ソースブロックの数Zと同期し得る何らかの周期性がパケット喪失にある場合、より良い可能性のある送信順序は、UFSIが連続したZ個の符号化シンボルの各セットを、送信する前にランダムに順序を変えるというものであり、すなわち、UFSI 0, ..., Z-1である最初のZ個の符号化シンボルが、ランダムに変えられた順序で送信され、次いで、UFSI Z, ..., 2×Z-1である次のZ個の符号化シンボルが、ランダムに変えられた順序で送信される、などである。この説明の全体で、別段示されない限り、「ランダム」は擬似ランダムを含み得ることを理解されたい。
基本的なUFDの方法を使うことで、従来の既知の方法に対する多くのさらなる利点がもたらされる。たとえば、所定のサイズのSBNおよびESIフィールドを含むFECペイロードIDを使う場合、可能なソースブロックの所定の数と、ソースブロックあたりの可能な符号化シンボルの所定の数は別々である。たとえば、32ビットのFECペイロードIDを生じる8ビットのSBNおよび24ビットのESIは、可能なソースブロックの数を256に制限し、ソースブロック当たりの可能な符号化シンボルの数を16,777,216に制限する。UFSIフィールドを含むFECペイロードIDは、そうではなく、ファイルのソースブロック構造とは無関係に、ファイルの可能な符号化シンボルの総数のみを制限する。たとえば、32ビットのFECペイロードIDを生じる32ビットのUFSIを使うと、ファイルのために生成され得る符号化シンボルの総数は4,294,967,296であり、これは、ファイルが何個のソースブロックへと分割されるかに無関係であり、サブブロックが使われる場合には、ファイルのサブブロック構造にも無関係である。したがって、シンボルのサイズが1,024オクテットである場合、この例では、ファイルサイズは最大で4GBであってよく、符号化シンボルの数はファイルサイズの1,024倍であってよく、これは、ファイルが1つのソースブロックへと分割されるか、16,384個のソースブロックへと分割されるか、または4,194,304個のソースブロックへと分割されるかには無関係である。別の例として、ファイルサイズは2TBであってよく、符号化シンボルの数は、ファイルサイズの2倍であってよい。すべての場合において、サブブロック構造が使われる場合、ファイルのために生成され得る符号化シンボルの数は、ファイルのサブブロック構造とは無関係である。
不均一誤り保護ファイル配信サービスのための汎用ファイル配信方法
ほとんどの従来のファイル配信方法は、不均一誤り保護(「UEP」)ファイル配信をサポートしない。ファイルの異なる部分を符号化するのに使われる実際のFEC符号を変えることによってUEPをサポートする、たとえば、ISDB-Tmm(地上モバイルマルチメディア)規格で現在規定されており[LDPC-Extensions]で説明される方法を用いる、いくつかの従来の方法がある。UEPを使うときに実際のFEC符号を変更しなければならないという欠点とは別に、さらなる欠点は、これらの方法によって実現される保護が理想からかけ離れているということである。
ある例として、結果が[LDPC-Extensions]の図6に示される例を考える。その例では、パケット中で送信されるべき1,000KBのサイズのファイルに2つの部分があり、各パケットは1KBのシンボルを含む。ファイルの第1の部分はサイズが30KBであり、100個のパリティパケットまたは修復パケットによって保護され、ファイルの第2の部分は970KBであり、全体で1,000個のソースパケットおよび1,000個のパリティパケットがそのファイルのために送信される。実現される保護は、2つの問題によって理想からはかけ離れている。1つの問題は、[LDPC-RFC-5170]に基づく、用いられるFEC符号が、ソースブロックを復元するために大きな受信オーバーヘッドを必要とすることが多いということであり、すなわち、ファイルを復元するために、ファイル中のソースパケットよりも多くのパケットを、受信する必要がある。第2の問題は、この方法は基本的に、ファイルの第2の部分を送信して保護するのに使われるパケットとは別個のセットを使って、ファイルの第1の部分を送信して保護するということである。第2の問題について、ファイルの第1の部分のために送信される、130個のパケットのうちの30個のパケットを受信する際の変動は、大きいものであり得る。それは、ファイルの第1の部分が、そのような少数のパケットを通じて送信されるからである。
[LDPC-Extensions]で説明されたUEPファイル配信方法は、本明細書では「単純UEP」ファイル配信方法と呼ばれる拡張によって、改善することができる。単純UEPファイル配信方法は、ファイル配信のための既存の技法を使い、優先順位に基づいてファイルの各部分に対して異なる保護の量を使って、ファイルの複数の部分を別個のファイル配信として配信し、配信された複数のファイルが同じファイルの複数の部分であると受信機が知るように、ファイルの複数の部分の間の論理的な接続がシグナリングされ得る。たとえば、単純UEPファイル配信方法は、上の例の[RaptorQ-Spec]を使い、ファイルの第1の30KB部分を、その第1の部分から生成されたサイズが1,024オクテットの符号化シンボルを各々含む全体で130個のパケットを送信することによって、配信することができ、ファイルの第2の970KB部分は、その第2の部分から生成されたサイズが1,024オクテットの符号化シンボルを各々含む全体で1870個のパケットを送信することによって、別個のファイルとして配信され得る。したがって、ファイルの2つの部分に対して、全体で2,000個のパケットが別個のファイルとして送信される。単純UEPファイル配信方法は、[LDPC-Extensions]で説明された方法に対する改善である。それは、FEC符号自体が修正されず、本明細書の図10に示されるように、パケット喪失状態の異なるファイルの2つの部分の配信の性能が、[LDPC-Extensions]の図6に示されたものよりも優れているからである。
この違いの1つの可能性のある原因は、[RaptorQ-Spec]で規定されたFEC符号が、[LDPC-RFC-5170]で規定されたFEC符号よりも、優れた復元特性を有しているからである。しかし、単純UEPファイル配信方法は依然として、上で説明された第2の問題を抱える。
[PET]および[PET-Patent]は、UEPファイル配信サービスを提供するための、改善の可能性がある方法を提供し、各パケットは、優先順位に基づいて、ファイルの各部分からの規定された量の符号化データを含む。[PET]の簡単な組み込みは、ファイルの各部分に対して適切なサイズの符号化シンボルを各パケットに含めて、ファイルの各部分に対する(SBN, ESI)ペアを含む別個のFECペイロードIDを含めることであろう。しかし、この方法は、いくつかの理由によって不利である。
たとえば、各部分に対する所定のサイズのSBNおよびESIフィールドを含むFECペイロードIDを使う場合、ファイルの各部分に対する、可能なソースブロックの所定の数と、ソースブロックあたりの可能な符号化シンボルの所定の数とは、別々である。たとえば、d個の部分の各々に対する、8ビットのSBNおよび24ビットのESIは、1つの部分当たりの可能なソースブロックの数を256に制限し、ソースブロック当たりの可能な符号化シンボルの数を16,777,216に制限する、(32×d)ビットのFECペイロードIDをもたらす。さらに、FECペイロードIDのサイズは、d個の部分の各々に対して32ビットであり、これは、各パケットのすべての部分に対するFECペイロードIDが全体で32×dビットになることを意味し、各パケット中のFECペイロードIDヘッダだけに対して、たとえばd=10であればこれは320ビットであり、または等価的に40オクテットである。
ファイル配信のための基本的なUFDの方法は、以下で詳細に説明されるような、従来の不均一誤り保護(UEP)ファイル配信方法に対して大きな利点をもたらすUEPファイル配信サービスを実現するように、拡張され得る。本明細書では、これらの拡張された方法は、「UFD-UEP」ファイル配信方法と呼ばれる。これらのUFD-UEPファイル配信方法は、[PET]および[PET-Patent]で説明される方法の一部を使うことができる。
例示的なUFD-UEPファイル配信方法が、ここでより詳細に説明される。そのような方法では、送信機は、サイズがFであるファイルを、サイズがF0, F1, ..., Fd-1であるd > 1個の部分に分割するので、Fは、Fiのiにわたる合計に等しい。送信機は、パケットサイズTを、サイズがT0, T1, ..., Td-1であるd個の部分に分割するので、Tは、Tiのiにわたる合計に等しい。Tのこの分割は、F0, F1, ..., Fd-1と、対応するファイルの部分の優先順位とに基づく。比Fi/Tiは、1つのソースブロックとしてのファイルの部分iを保護するために理想的なFEC符号が使われると仮定して、ファイルの部分iを復元するためにどれだけのパケットを受信する必要があるかを判定するので、比Fi/Tiが小さいほど、ファイルの部分iの優先順位は高い。実際には、たとえば、FEC符号は完璧ではなく何らかの受信オーバーヘッドを示すので、または、ファイルのその部分が複数のソースブロックに分割され、一部のソースブロックの符号化シンボルが他のソースブロックの符号化シンボルよりも高い比率で失われるので、または、Fi/Tiが整数ではないので、Fi/Tiよりもわずかに多くのパケットが、ファイルの部分iを復元するために必要であり得る。UEPの例として、F=1MB、T=1,024オクテット、d=2、F0=32KB、F1=F-F0=992KB、かつT0=64オクテット、T1=T-T0=960オクテットであるとする。この例では、F0/T0=512なので、理想的には512パケットの受信によって、ファイルの部分0の復元が可能であり、F1/T1 = 1,058.13なので、理想的には1,059パケットの受信によって、ファイルの部分1の復元が可能である。したがって、この例では、ファイルの部分0は、ファイルの部分1の復元に必要なパケットのおよそ半分のパケットから、復元され得る。
この例では、UEPが使われない場合、すなわち、d=1であり、したがってF0=F = 1MBであり、T0=T = 1,024オクテットである場合、F0/T0=1,024個のパケットがファイルの復元に必要である。したがって、前の段落で説明されたUEPの例では、ファイルの部分0の優先順位がより高いので、ファイルの部分1の復元には、UEPが使われない場合よりもわずかに多くのパケットが必要である。この基本的なトレードオフの分析的な研究を、[PET]において見出すことができる。
F0, F1, ..., Fd-1と、異なるファイルの部分の優先順位とに基づいて、Tの部分T0, T1, ..., Td-1を生成するための、送信機のUFD-UEPの方法に対する様々な方式がある。Fi/Ti≒F/T となるようにTiが選ばれる場合、ファイルの部分iの優先順位は平均的であると見なされ、部分iの優先順位は、Fi/Ti < F/TであるかFi/Ti > F/Tであるかに応じて、それぞれ、比較的高いかまたは低い。
FEC OTIの生成のための送信者のUFD-UEPの方法が、図6を参照してここで説明される。d, F0, F1, ..., Fd-1, T0, T1, ..., Td-1, Al, WSの値を与えると、ファイルのd個の部分の各々に適用されるFEC OTIは、既存の方法を使って、たとえば、[RaptorQ-Spec]のセクション4.3で説明される方法を使って、通常通りに独立に計算することができる。すなわち、各々のi=0, ..., d-1に対して、送信機は、ファイルの部分iに対するFEC OTIを生成することができ、このFEC OTIは、たとえば、[RaptorQ-Spec]のセクション4.3で説明された方法を使い、Fiをファイルサイズとして、Tiを部分iのための情報を各パケットで搬送するために使われるべきシンボルサイズとして扱って、ファイルの部分iがどのようにソースブロックおよびサブブロックへと分割されるべきかを決定する。こうして、送信機は、ファイルの他の部分とは独立に、ファイルの部分iに対するFEC OTIを生成する。この処理は、本明細書の図6のステップ600に示されている。
送信機はまた、ソースブロックおよびサブブロックへのファイルの部分iの分割、および、ファイルの部分iの符号化シンボルの(SBN, ESI)と、既存の方法、たとえば、[RaptorQ-Spec]のセクション4.4およびセクション5で説明される方法を使って、符号化シンボルがどのようにファイルの部分iから生成されるかということとの対応付けを、生成することができる。これらのUFD-UEPの方法は、ファイルの他の部分とは独立に、ファイルの部分iに適用されるので、ファイルの異なる部分は、異なるソースブロックおよびサブブロック構造を有してよく、特に、この方法はファイルの各部分に対して独立に適用されるので、ファイルの異なる部分の間で、ソースブロック当たりのソースシンボルの数およびソースブロックの数が異なっていてよい。
整列係数Alは、好ましくはファイルの部分のすべてに対して同一であり、特に、各部分iに対して、Tiの値がAlの倍数であることが好ましい。さらに、たとえば、[RaptorQ-Spec]のセクション4.5で説明される方法が、FEC OTIを導出するために使われる場合、ファイルの部分の各々のソースブロックおよびサブブロック構造を導出するときに、同じ値のAlおよびWSが使われることが好ましい。Alに同じ値を使うことで、Alの倍数個のオクテット上に整列されたメモリに対して、受信機において復号が行えることが確実になり、WSに同じ値を使うことで、受信機において復号される必要のあるランダムアクセスメモリ(RAM)中の最大のブロックサイズが、ファイルのすべての部分に対して同一になることが確実になる。たとえば、ファイルの優先順位の高い部分を復元するのにより少量のメモリを使用するのが望ましい場合には、FEC OTIを導出するのに、ファイルの異なる部分に対して異なる値のWSを使うのが好ましい、いくつかの適用例がある。
異なる部分に対して異なる整列係数を使うのが有利である、適用例が存在し得る。たとえば、優先順位の高い部分は、4オクテットで整列されたメモリを有するローエンド受信機と、8オクテットで整列されたメモリを有するハイエンド受信機の両方によって復号されてよく、優先順位の低い部分は、ハイエンド受信機のみによって復号されてよい。この例では、ローエンド受信機がこれらの部分を効率的に復号できるように、優先順位の高い部分に対してはAl=4を使うのが有利であり得るが、優先順位の低い部分に対してはAl=8を使うのが有利であり得る。それは、ハイエンド受信機は、Al=4よりもAl=8で、優先順位の低い部分をより効率的に復号できるからである。
送信機のUFD-UEPの方法によって生成された、ファイルの部分iに固有の対応するFEC OTIは、Fi、Ti、Zi、Niを含み、Ziは、ファイルの部分iの分割先のソースブロックの数であり、Niは、ファイルの部分iの各ソースブロックの分割先のサブブロックの数である。したがって、ファイルのために送信機のUFD-UEPの方法が生成する全体のFEC OTIは、(d, Al, F0, T0, Z0, N0, F1, T1, Z1, N1, ..., Fd-1, Td-1, Zd-1, Nd-1)を含み得る。たとえば、dが一定であり、したがってFEC OTIで明示的に列挙される必要がない場合、または、ソースブロック構造と、使われる場合にはサブブロック構造とを示すために、他の方法が使われる場合には、FEC OTIの他のバージョンも利用可能である。
送信機は、UFD-UEPの方法を使って、パケット中で送信されるべきファイルの各部分のための1つの符号化シンボルを組み立て、パケットのFECペイロードIDは、UFSI値Cを含む。パケットが送信されるべきである場合、送信機は、図6のステップ610で示されるように、パケットのFECペイロードIDとして使われるべき、UFSI値Cを決定する。使われるべきUFSI値は、たとえば連続的であってよく、たとえばUFSI値0, 1, 2, 3, ...,などであってよい。図6のステップ620に示されるように、所与のUFSI値Cに対して、ファイルの部分iのためのパケット中の、パケットのi番目の部分に配置されるべきサイズTiの符号化シンボルは、Ai=C modulo Zi、およびBi=floor(C/Zi)として計算される、SBN AiおよびESI Biを有する。図6のステップ630、640、および650に示されるように、i=0, ..., d-1に対して、これらのd個の符号化シンボルが、パケットのd個の部分の各々について生成され、次いで、合計のサイズがTである、UFSI Cとこれらのd個の符号化シンボルとが一緒にパケット中で送信される。図6のステップ660で行われる判定で示されるように、送信機のUFD-UEPの方法は、符号化パケットの生成と送信を続ける。
受信機のUFD-UEPの方法が、図7を参照して説明される。図7のステップ700で示されるように、受信機は、既存の技法を使って、送信機について上で説明されたものと同じ形式で、FEC OTI (d, Al, F0, T0, Z0, N0, F1, T1, Z1, N1, ..., Fd-1, Td-1, Zd-1, Nd-1)を決定することができる。たとえば、FEC OTIは、FLUTEセッションの説明に組み込まれてよく、またはFEC OTIは、URLへと符号化されてよく、またはFEC OTIは、SDPメッセージを介して取得されてよい。ステップ710において、受信機は、さらなるパケットが受信されるかどうかを確認し、受信機が別のパケットを受信するまで(この場合、受信機はステップ730へ進む)、または、さらなるパケットが受信される予定はないと受信機が判定するまで(この場合、受信機はステップ720へ進む)、このステップに留まってよく、そして、ファイルの十分な部分が復元されたと判定して停止し、または、他の手段を使って、たとえば、ファイル修復サーバへのHTTP要求を使って、ファイルのさらなる部分を復元しようと試み、または受信機は、後でさらなるパケットを受信するための別のセッションを待機することができる。
別のパケットが利用可能である場合、ステップ730において、受信機は、受信されたパケットのUFSI Cを求め、各i=0, ..., d-1に対して、各i=0, ..., d-1のパケットからサイズTiの符号化シンボルを抽出する。ステップ740において、各i=0, ..., d-1に対して、受信機は、ソースブロックの数ZiおよびUFSI Cに基づいて、Ai=C modulo Zi、およびBi=floor(C/Zi)を計算し、ステップ750において、受信機は、部分iの符号化シンボルの(SBN, ESI)を(Ai, Bi)に設定し、ステップ760において、受信機は、部分iの符号化シンボルの値と、ファイルの部分iを復元するために使われるべき(Ai, Bi)とを記憶する。ステップ770において、受信機は、各i=0, ..., d-1に対して、ファイルの部分iを復元するのに十分な符号化シンボルが受信されたかどうかを判定し、受信されている場合、ステップ780におけるファイルの部分iの復元に進み、受信されていない場合、ステップ710におけるさらなるパケットの受信に進む。
受信機のUFD-UEPの方法の、多くの変形形態がある。たとえば、送信機は、パケットの少なくとも一部で、ファイルの各部分のための2個以上の符号化シンボルを送信できるので、受信機はこれを受信することができ、この場合、FECペイロードIDは、パケットに含まれる各部分に対する第1の符号化シンボルに対応するUFSIに設定されてよく、パケット中の各部分に対する追加のシンボルは、連続的な対応するUFSI値を有し得る。たとえば、パケット中で搬送される、ファイルの各部分のための3個の符号化シンボルがあり、各部分のための第1のシンボルがUFSI=4234に対応する場合、各部分のための他の2個の符号化シンボルは、UFSI=4235および4235にそれぞれ対応してよく、パケット中で搬送されるUFSIは、UFSI=4234であり得る。
他の代替形態の例として、受信機は、復元を試みる前にどれだけの符号化シンボルを受信すべきかを事前に決定することができ、または、セッション中のパケット喪失の統計情報を計算し、これに基づいて、ファイルのどの部分の回復を試みるべきかを決定することができる。別の例として、受信機は、ファイルの各部分の復元に十分な符号化シンボルが受信されたかどうかを判定するのに使われるFEC符号に特有の、何らかの処理を行うことができる。別の例として、UFSIの値は、ファイルの各部分の復元処理において、(SBN, ESI)の値を生成する中間ステップなしで、直接使用されてよい。別の例として、ファイルの部分の復元は、符号化シンボルの受信と同時に行われてよい。
別の例として、他の形態のFEC OTI情報を使用することができる。たとえば、基本UFSI BUIが、他の部分とは独立に部分iのFEC OTIにおいて規定されてよく、BUIは次のように使われ得る。すなわち、パケットに含まれる部分iの符号化シンボルのために、FECの送信機および受信機によって使われるべきUFSIはU+BUIであり、Uは、符号化シンボルを搬送するパケット中で搬送されるUFSIである。したがって、たとえば、パケットがU=1,045を搬送し、部分iのFEC OTIの中の基本UFSIがBUi=2,000,000である場合、符号化シンボルのUFSIは2,001,045である。
基本UFSIの使用には、いくつかの利点がある。たとえば、(後で述べられる理由により)異なる部分については修復シンボルのみが送信されるべきである場合、BUi=KTiに設定するのが有利である可能性があり、KTiは部分iのファイルシンボルの数である。この場合、送信されるパケットシーケンスにおけるUFSIのシーケンスは、0、1、2、3などであってよいが、それでも、各部分については、その部分から生成された修復シンボルのみがパケット中で送信される。
この段落は、基本UFSIの使用の別の例示的な利点を説明する。[FLUTE]、[ALC]、[LCT]、[FEC BB]において説明されるプロトコルスイートは、TOIとも呼ばれる送信オブジェクト識別子を、転送されるべきファイルまたはオブジェクトのFEC OTIと関連付ける。同じ部分の符号化シンボルが、異なる時間に、または異なるセッションで送信され、異なるTOIと関連付けられ得ることが可能である。また、異なる各TOIと関連付けられるパケットについて、UFSI=0から始まる符号化パケットを送信できるのが有利である。各部分について独立に、FEC OTIの一部として基本UFSIを規定できることで、各部分の異なる基本UFSIを、ファイルのために符号化シンボルが送信される際の各TOIと関連付けることができ、異なるTOIに対して重複する符号化シンボルが送信されない。たとえば、同じ部分の符号化シンボルは、TOI=1と関連付けられTOI=2と関連付けられるパケットで送信されてよく、TOI=1と関連付けられる部分の基本UFSIは0に設定され、TOI=2と関連付けられる同じ部分の基本UFSIは1,000,000に設定される。そして、TOI=1とTOI=2の両方の符号化パケットは、UFSI 0、1、2などのシーケンスを含んでよく、TOI =1でその部分のために送信される符号化シンボルが1,000,000個より少ない限り、2つのTOIと関連付けられて送信される符号化シンボルの中に、その部分のための送信される重複する符号化シンボルはない。各部分に対して異なる基本UFSIを規定する代わりに、部分のすべてによって使われるべき基本UFSIをFEC OTIの中に有することも、有利であり得る。それは、これによって、FEC OTIを搬送するのに必要なオクテット数を低減でき、それと同時に、FEC OTIにおいて各部分に対して別個の基本UFSIを規定することの利点の多くを共有できるからであり、この方法とともに使われるFEC符号が、たとえばLuby Iで説明されるような情報追加型のFEC符号である場合には、すべての部分のためのUFSIの有効な範囲は非常に広くなり得るので、特に上記のことが当てはまる。
UFD-UEPの方法を、ソースブロックおよびサブブロックの構造を決定するための[RaptorQ-Spec]で説明された技法と組み合わせることで、多くの利点がもたらされる。具体的には、基本的なUFDの方法の利点のすべては、UFD-UEPの方法でも有効である。たとえば、ファイルのUEP部分の1つを送信するための、SBNとESIの組合せによって特定される、従来の方法ではソースシンボルと呼ばれていたものは、UFD-UEPの方法を使うと、UFSIによって特定されるその部分のためのファイルシンボルとして見なされ得る。KTi=ceil(Fi/Ti)は、ファイルの部分iにおけるファイルシンボルの総数であることに留意されたい。ソースブロック構造およびサブブロック構造がたとえば、[RaptorQ-Spec]で説明されるようにファイルの各部分について決定され、上で説明されたUFD-UEPの方法を使って、ファイルの部分のためのシンボルの識別情報を(SBN, ESI)形式からUFSI形式へと変換する場合、ファイルシンボルのUFSIの範囲は0, 1, 2, ..., KTiであり、ファイルから生成される任意の修復シンボルは、範囲KTi+1、KTi+2などの中にUFSIを有する。この特性は、シンボルがファイルの元の部分iの一部であるかどうか、またはファイルの部分iから生成された修復シンボルであるかどうかを、シンボルのUFSIをKTiの値と単に比較することによって判定するのを可能にする。このことはたとえば、パケットのどの部分が元のファイルの一部を含むか(およびファイル内でのその部分の位置)、ならびにパケットのどの部分が、無視され得る修復シンボルを含むかを、パケット中で搬送されるUFSIの値とファイルの各部分iに対するTiおよびKTiの値とに基づいて、FEC復号をサポートしない受信機が判定できるようにするのに、有用であり得る。
図8はある例を示し、この場合ではファイルは2つの部分を含む。第1の部分は5個のソースブロックに分割され、これらのソースブロックの最初の3個は各々6個のソースシンボルを有し、残りの2個のソースブロックは各々5個のソースシンボルを有し、これらのシンボルの各々のサイズは、たとえば48オクテットなので、第1の部分のサイズは28×48=1,344オクテットである。第2の部分は4個のソースブロックに分割され、これらのソースブロックの最初の3個は各々4個のソースシンボルを有し、残りの1個のソースブロックは各々3個のソースシンボルを有し、これらのシンボルの各々のサイズは、たとえば256オクテットなので、第2の部分のサイズは256×48=3,840オクテットである。
図9は、図8に示されるファイル構造のための、可能なパケット化を示す。この例では、各パケットは、UFSI C、図6を参照して上で説明されたような、Cに基づく、図8で示されるファイル構造の第1の部分から生成されるサイズが48オクテットの第1の符号化シンボル、および、図6を参照して前に説明されたような、Cに基づく、図8で示されるファイル構造の第2の部分から生成されるサイズが256オクテットの第2の符号化シンボルを含む。パケットの保護されていない部分は、ファイルの対応する部分のソースシンボルを搬送し、保護されている部分は、ファイルの対応する部分から生成された修復シンボルを搬送する。この例では、ファイルの第1の部分を復元するのに必要なパケットの最小の数は28であり、一方ファイルの第2の部分を復元するのに必要なパケットの最小の数は15である。
図9は、UFSIが0, ..., 27である28個のパケットを示し、したがって、これらのパケットで搬送されるファイルの第1の部分の符号化シンボルのすべてが、ソースシンボルである。少なくとも28のUFSI値を有するように生成される任意の追加のパケットは、ファイルの第1の部分の修復シンボルを搬送する。
UFD-UEPの方法の別の利点は、符号化シンボルが、UFSIによって定義される順序で、すなわちUFSIの順序0, 1, 2, 3, 4, ...で送信される場合、ファイルの部分iのZi個のソースブロックの符号化シンボルは、交互の順序で送信され、すなわち、Zi個のソースブロックの各々のうちのESI 0であるZi個の符号化シンボルが最初に送信され、続いて、Zi個のソースブロックの各々のうちのESI 1であるZi個の符号化シンボルが送信される、などである。この特性は、各部分が独立のソースブロック構造を有する場合であっても、ファイルのすべての部分に対して当てはまる。大半の送信に対しては、この単純な送信順序で十分であり、それが好ましい。しかし、ソースブロックの数Ziと同期し得る何らかの周期性がパケット喪失にある場合、より良い可能性のある送信順序は、Z個のUFSIが連続した符号化シンボルの各セットを、送信する前にランダムに順序を変えるというものであり、ここでZはすべてのi=0, ..., d-1に対するZiの最大値である。すなわち、UFSI 0, ..., Z-1である最初のZ個の符号化シンボルが、ランダムに変えられた順序で送信され、次いで、UFSI Z, ..., 2×Z-1である次のZ個の符号化シンボルが、ランダムに変えられた順序で送信される、などである。別の可能な送信順序は、送信されるべき符号化シンボルのすべてを、送信する前にランダムに順序を変えるというものである。
UFD-UEPの方法を使うことで、従来の方法、または従来の方法の単純な拡張に対して、多くのさらなる利点がもたらされる。たとえば、UFSIフィールドを含むFECペイロードIDフィールドを使ったUFD-UEPの方法では、ファイルの各部分のための可能な符号化シンボルの総数は、UFSIフィールドのサイズのみによって制限され、ファイルの各部分のソースブロック構造とは独立である。さらに、ファイルの各部分の完全に異なるソースブロック構造から生成されるシンボルの同時の識別を可能にする、汎用的で簡潔なFECペイロードIDが、UFSIフィールドの使用によって実現される。たとえば、32ビットのFECペイロードIDを生じる32ビットのUFSIを使う場合、ファイルのために生成され得る符号化シンボルの総数は4,294,967,296であり、これは、ファイルの各部分について、ファイルが何個のソースブロックへと分割されるかに無関係であり、サブブロックが使われる場合には、ファイルのサブブロック構造にも無関係である。したがって、ファイルの第1の部分のシンボルのサイズが256オクテットであり、ファイルの第2の部分のシンボルのサイズが1,024オクテットである場合、この例では、ファイルの第1の部分のサイズは1GBであり、ファイルの第2の部分のサイズは4GBであり、符号化シンボルの数は、ファイルの各部分のソースシンボルの数の1,024倍であってよく、これは、ファイルの各部分が1つのソースブロックに分割されるか、16,384個のソースブロックに分割されるか、または4,194,304個のソースブロックに分割されるかに無関係である。
UFD-UEPのファイル配信方法が単純なUEPファイル配信方法に対して実現する改善の例が、図11に示される。この例では、1MBのファイルが、32KBの第1の部分と992KBの第2の部分とに分割される。両方の方法において、[RaptorQ-Spec]で規定されるFEC符号が使われ、符号化シンボルを搬送するための各パケット内のサイズは1,024オクテットであり、全体で2,048個のパケットが送信される。
図11に示される単純UEPファイル配信方法の例では、ファイルの第1の部分およびファイルの第2の部分は、独立に処理および配信され、第1の部分と第2の部分の両方の場合において、サイズが1,024オクテットのちょうど1つの符号化シンボルが各パケット中で搬送される。ファイルの第1の部分のソースは32個のパケットで搬送され、符号化シンボルを含む全体で128個のパケットが送信される。ファイルの第2の部分のソースは992個のパケットで搬送され、符号化シンボルを含む全体で1920個のパケットが送信される。
図11に示されるUFD-UEPファイル配信方法の例では、ファイルの第1の部分およびファイルの第2の部分は、組み合わされて処理および配信される。すなわち、送信される各パケットは、2つの部分の各々について符号化シンボルを含み、第1の部分については符号化シンボルのサイズは64オクテットであり、第2の部分については符号化シンボルのサイズは960オクテットである。ファイルの第1の部分のソースは512個のパケットで搬送され、すべての2,048個のパケットが第1の部分の符号化シンボルを含む。ファイルの第2の部分のソースは1,059個のパケットで搬送され(ソースの最後のパケット中の符号化シンボル、992オクテットのフルシンボルサイズまで0でパディングされた第2の部分の符号化シンボル)、すべての2,048個のパケットが第2の部分の符号化シンボルを含む。
図11で見られるように、単純UEPファイル配信方法とUFD-UEPファイル配信方法の復元性能は、ファイルの第2の部分については、パケット喪失率の関数として実質的に同一である。すなわち、両方の場合において、ファイルの第2の部分は、最大で48%に達するパケット喪失率まで、かなり安定して復元される。一方、ファイルの第1の部分に対しては、UFD-UEPファイル配信方法の復元性能は、単純UEPファイル配信方法の復元性能を大きく上回る。単純UEPファイル配信方法は、パケット喪失率が65%未満である場合に、ファイルの第1の部分を安定して復元できるが、UFD-UEPファイル配信方法は、パケット喪失率が75%に達しても、ファイルの第1の部分を安定して復元できる。
一括ファイル配信サービスのための汎用ファイル配信方法およびシステム
大半の従来のファイル配信方法は、一括ファイル配信、すなわち、単一の一括ファイルとしての複数のファイルの配信をサポートしない。いくつかのファイルを配信する単純な方法は、各ファイルを独立に配信することである。しかし、この単純な方法にはいくつかの欠点がある。たとえば、ファイルが小さい場合に、実現される保護が理想から離れたものになる。それは、各ファイルの符号化シンボルを含むパケットの数が少ない場合に、パケット喪失の統計値に大きな変動が存在し得るからである。
図12は、この問題を例示する。図12では、32KBのファイル配信の信頼性が、配信中のネットワークにおけるパケット喪失の百分率の関数として示されている。このファイル配信の例では、シンボルはサイズが1,024であり、ファイルの32個のソースシンボルが、[RaptorQ-Spec]で規定されるFEC符号を使って64個の符号化シンボルへと符号化され、各符号化シンボルは別個のパケットで送信される。図12で見られるように、上記の変動によって、ファイルの信頼性のある配信を実現できる喪失率は、50%よりもはるかに低い。
さらに、多くの小さなファイルが独立に符号化されて送信される場合、すべてのファイルが信頼性をもって受信されるパケット喪失率は、さらに低い。図12は、各々が32KBのサイズである、32個のファイルの配信についてのこの現象を示し、各ファイルの符号化および送信は、前の段落で説明されたパラメータと同じパラメータを使って、他のファイルとは独立に実行される。理解され得るように、すべての32個のファイルの配信は、パケット喪失が、50%よりもはるかに低い25%前後よりも低い場合にのみ、信頼性をもって実現できる。
UFD-UEPファイル配信方法は、以下のように拡張されて、UFD一括ファイル配信方法を提供することができる。UFD一括ファイル配信方法は、UFD-UEPファイル配信方法と同じ方法を使うことができるが、同じファイルのd個の部分の配信をシグナリングする代わりに、各部分が別々のファイルであり、d個のファイルが一括して配信されていることをシグナリングする。送信機が、それぞれサイズがF0, F1, ..., Fd-1であるd個のファイルの一括配信を行うのを望んでいるとする。送信機のUFD一括方法は、パケットサイズTを、サイズがT0, T1, ..., Td-1であるd個の部分に分割するので、Tは、Tiのiにわたる合計に等しい。Tのこの分割は、F0, F1, ..., Fd-1と、対応するファイルの優先順位とに基づく。
比Fi/Tiは、1つのソースブロックとしてのファイルの部分iを保護するために理想的なFEC符号が使われると仮定して、ファイルiを復元するためにどれだけのパケットを受信する必要があるかを判定するので、比Fi/Tiが小さいほど、ファイルの部分iの優先順位は高い。実際には、たとえば、FEC符号は完璧ではなく何らかの受信オーバーヘッドを示すので、または、ファイルのその部分が複数のソースブロックに分割され、一部のソースブロックの符号化シンボルが他のソースブロックの符号化シンボルよりも高い比率で失われるので、または、Fi/Tiが整数ではないので、Fi/Tiよりもわずかに多くのパケットが、ファイルの部分iを復元するために必要であり得る。配信されるすべてのファイルの優先順位が同一であることが望ましい場合、Fi/Ti≒F/TとなるようにTiが設定される。UFD一括ファイル配信方法の多くの詳細情報は、送信機と受信機の両方について、UFD-UEPファイル配信方法とほとんど同一なので省略する。
UFD一括ファイル配信方法は、一括ファイル配信とUEPファイル配信の両方を同時に実現するように拡張することができ、すなわち、束の中の各ファイルの優先順位は異なるように設定され得る。さらに、UFD一括ファイル配信方法は、複数のファイルの優先順位付けられた配信と、ファイルの部分の優先順位付けられた配信との、両方の配信を、適切なシグナリングによってサポートすることができる。たとえば、UFD一括ファイル配信方法を使って、3個のオブジェクトが符号化され送信されることになる場合、最初の2個のオブジェクトは、異なる優先順位を有する同じファイルの異なる部分であってよく、3番目のオブジェクトは、さらに異なる優先順位を有する異なるファイルであってよい。受信機は、多くの要因に基づいて、一括ファイルおよび/またはファイルの部分のいずれの復元に受信機が関心があるかを決定し、他のファイルまたはファイルの部分とは独立に、そうしたファイルまたはファイルの部分のみを復元することができる。当業者が認識するように、本開示を読むと、UFD一括ファイル配信方法の多くの可能な代替的なバージョンがある。
UFD一括ファイル配信の単純な例として、各ファイルのサイズが32KBの、32個のファイルの束が配信されるべきであり、各ファイルの優先順位が同じであるとする。T=1,024オクテットであるとする。この場合、各i=0, ..., 31について、Tiの値は32オクテットである。各パケットは、32個のファイルの各々のための32オクテットの符号化シンボルと、パケット中で32個の符号化シンボルを特定するUFSIとを含む。この例では、32個のサイズが等しいファイルの各々からのソースシンボルを含む、1,024個のパケットがあり、これらのパケットは、0から1,023の範囲のUFSIを有するパケットである。この例では、1,024個の追加の修復シンボルが、各ファイルについて生成され、1,024から2,047の範囲のUFSIを有する追加の1,024個のパケット中で送信されるものとする。
図12は、パケット喪失の関数として、このUFD一括ファイル配信の例の復元特性を示す。この例では、50%に達するパケット喪失率において、32個のファイルすべてを、UFD一括ファイル配信方法を使って信頼性をもって復元することができ、これは、各ファイルを別々に符号化して送信した場合に32個のファイルすべての信頼性のある配信が可能になる約25%のパケット喪失率に対して、かなり改善されている。
ユニキャスト修復要求のネイティブなHTTPサポートのための方法
ファイルまたはファイルの部分は、受信機によるファイルまたはファイルの部分へのアクセス権を記憶および提供するために標準的なHTTPウェブキャッシュサーバによって使われ得る関連するURLを有する、「HTTPファイル」へと編成されてよく、またはHTTPファイルとして利用可能にされてよい。HTTPファイルとして利用可能にされる、その元の順序のファイルまたはファイルの部分は、本明細書では「元順序HTTPファイル」と呼ばれる。一般に、ユニキャスト修復要求のネイティブなHTTPサポートのための方法は、SBNおよびESIに基づいて、HTTPファイルのソースブロックのシンボルおよびサブシンボルの修復要求を、HTTPファイル内の標準的なHTTPオクテット範囲要求(規定されたバイト範囲を有するHTTP部分獲得要求と呼ばれることが多い)へと変換することができる。これによって、標準的なHTTPウェブキャッシュサーバが、これらの修復要求をサービスできるようになり、HTTPファイルがソースブロックおよびソースブロック内のソースシンボルへとどのように分割されるかを理解する、専用のHTTPウェブキャッシュサーバを大量に配備する必要がなくなる。
そのような状況では、システマチックなFEC符号が使用中である場合、セッションの一部、たとえばブロードキャスト/マルチキャストセッションにおいて、修復シンボルのみを送信するのが有利であることが多い。それは、受信機が、ユニキャスト修復要求においてソースシンボルのみを要求できるようになるからである。このことには、HTTPファイル、または、以下でさらに詳細に説明されるようなHTTPファイルの単純な順序変更の変換しか、標準的なHTTPウェブキャッシュサーバであってよいユニキャスト修復サーバに提供しなくてもよいという利点があり、HTTPファイルの定義およびHTTPファイルの配信の管理が、FEC符号化と独立なのでより簡単になる。別の利点は、セッションにおいてソースシンボルが送信されない場合、ソースシンボルのすべてが「欠けている」ので、受信機がユニキャスト修復要求においてソースシンボルの任意のシーケンスを要求できるということであり、このことは、ソースシンボルの連続的なシーケンスに対する修復要求を可能にするので好ましいことがある。たとえば、完全な復元特性を有するFEC符号が使われ、ある部分のソースブロックが1,000個のソースシンボルを含み、700個の修復シンボルがソースブロックのために受信される(修復シンボルの一部は送信中に失われ得るので、受信された修復シンボルのESIのパターンは決して連続的ではないことがあるとしても)ものとする。次いで、受信機は、ユニキャスト修復要求において、ソースブロックの最初の300個の連続するソースシンボルを要求し、これらのソースシンボルを700個の修復シンボルと組み合わせてソースブロックを復元することができる。ソースシンボルがHTTPファイル中で連続的である場合、単一のHTTPオクテット範囲要求を使って、300個の連続するソースシンボルのすべてを要求して受信することができる。受信機は、プレフィックス要求(すなわち、最初のバイトから始まるファイルのバイトのセット数の要求)を必ずしも行う必要はないが、一部の場合には、それを行うのがよりシンプルである。
この要求は、特定の数のバイトまたはシンボルに対するものである。一部の場合には、受信機は、受信された修復シンボルの数と、受信されることになるファイルまたはオブジェクトの中に含まれると予想されるソースシンボルの数とに基づいて、要求すべきソースシンボルの数を決定する。他の場合には、受信機は、スケジューリング動作を実行してもよく、このとき受信機は、すでに受信した修復シンボルのみを使ってどのように復号するかを決定するので、必要なソースシンボルのより具体的な数を知ることができる。たとえば、修復シンボルの一部が他の修復シンボルの冗長部分であることがあり、この場合、より多くのソースシンボルが必要であり得る。他の場合には、必要なソースシンボルはより少数であると判明することがある。
受信機は、FEC OTIに基づいて、特定の(SBN, ESI)ペアに対応する元順序HTTPファイルのソースシンボルに対する要求を、HTTPオクテット範囲要求へと変換することができる。たとえば、ファイルのFEC OTIが(F, Al, T, Z, N)であり、要求されることになるソースシンボルのSBNがAであり、ソースシンボルのESIがBであるものとし、簡単にするために、N=1、すなわち、ソースブロックがこの例ではファイル構造のサブブロックへとさらに分割はされないものとする。次いで、受信機は、[RaptorQ-Spec]のセクション4.4で説明された方法をたとえば適用して、(KL, KS, ZL, ZS)を決定することができ、ここで最初のZL個のソースブロックはKL個のソースシンボルを有し、残りのZS個のソースブロックはKS個のソースシンボルを有する。次いで、A、B、およびシンボルサイズTに基づいて、受信機は、ファイル内のソースシンボルの開始オクテットインデックスが式1に示される通りであると決定することができ、ファイル内のソースシンボルの終了オクテットインデックスは、EI=SI+ Tである。そして、受信機は、ソースシンボルに対して標準的なHTTPオクテット範囲要求を使うことができる。
SI=T×(KL×min{A, ZL}+KS×max{A-ZL, 0}+B) (式1)
当業者が認識するように、これらの方法に対する多くの拡張および改善がある。たとえば、サブブロックが使われない場合には、複数の連続するソースシンボルが元順序HTTPファイルから要求されれば、単一のHTTPオクテット範囲要求が行われ得る。別の例として、HTTPウェブキャッシュサーバは、元順序HTTPファイルに加えて、またはその代わりに、修復シンボルを含むファイルを有してよく、または、元順序HTTPファイルはすでに、修復シンボルを含むように拡張されていてよく、受信機は、本明細書で説明された方法と同様の方法を使って、修復シンボルに対するHTTPオクテット範囲要求を行うことができる。改善の別の例として、これらの方法は、当業者が認識するような方法と同様の方法を使って、サブブロックが使われる場合を扱うように拡張され得る。たとえば、受信機は、[RaptorQ-Spec]のセクション4.4で説明された方法を使って(TL, TS, NL, NS)を決定することができ、このときソースブロックの最初のNL個のサブブロックのサイズはTL×Alであり、ソースブロックの残りのNS個のサブブロックのサイズはTS×Alである。そして、A、B、およびシンボルサイズTに基づいて、受信機は、ソースシンボルに対応するファイル内のN個のサブシンボルの開始オクテットインデックスおよび終了オクテットインデックスを決定し、標準的なHTTPオクテット範囲要求を使ってこれらのオクテットに対する要求を行うことができる。
別の例として、受信機は、FEC OTIに基づいて、特定のUFSIに対応するファイルまたはファイルの部分のソースシンボル対する要求を、HTTPオクテット範囲要求へと変換することができる。
以下の方法は、受信機による標準的なHTTPバイト範囲要求を使ってHTTPファイルのシンボルを復元する際の効率を大幅に改善することができ、それと同時に、標準的なHTTPウェブキャッシュサーバを使って、要求されたオクテット範囲要求を受信機に配信する。
説明されるようなHTTPオクテット範囲要求をサポートするための単純な方法は、元順序HTTPファイルを使うことである。この方法には、HTTPウェブキャッシュサーバのための元順序HTTPファイルを生成するのに、元のファイルまたはファイルの部分の変換が必要ないという利点があるが、各ソースブロックに対して連続的なソースシンボルのみが要求される場合であっても、ソースシンボルを要求するために多くの異なるHTTPオクテット範囲要求が必要になり得るという、欠点がある。これには、少なくとも2つの理由がある。すなわち、(1)複数のソースブロックと、各ソースブロックにおいて欠けているソースシンボルが存在することがあり、その場合、各ソースブロックに対して別々のオクテット範囲要求が必要になり得る。(2)ソースブロック当たり複数のサブブロックが存在することがあり、ソースシンボルのためのサブシンボルが元順序HTTPファイルに置いて連続的ではないことがあるので、1つのソースブロックから単一のソースシンボルを要求するのにも、ソースシンボルを含む複数のサブシンボルに対する、複数のHTTPオクテット範囲要求が必要になり得る。
上で説明されたHTTPオクテット範囲要求をサポートするための有利な方法はまず、元のファイルまたはファイルの部分のFEC OTIに基づいて、本明細書では「UFSI順序HTTPファイル」と呼ばれる新しい形式へと、ファイルまたはファイルの一部を再編成する。この方法は、複数のソースブロックがある場合、および/またはソースブロック当たり複数のサブブロックがある場合に有用である。UFSI順序HTTPファイルの中のデータの順序は、UFSI 0のファイルシンボル、UFSI 1のファイルシンボル、UFSI 2のファイルシンボル、などの順序であり、すなわち、UFSI順序HTTPファイルの中のデータの順序は、FEC OTIによって決定されるような、連続的なUFSIの昇順に従って並べられたファイルシンボルへと編成される。URLは、UFSI順序HTTPファイルと関連付けられてよく、URLは、HTTPウェブキャッシュシステムへと与えられ得る。次いで受信機は、HTTPオクテット範囲要求を使って、必要に応じてUFSI順序HTTPファイルの部分を要求することができる。UFSI順序HTTPファイルの1つの利点は、受信機がソースブロックの各々からほぼ同じ数の修復シンボルを受信した場合に、元のファイルまたはファイルの部分を復元するのに十分なソースシンボルを取得するのに必要とされる、HTTPオクテット範囲要求の数を最小限にできるということであり、たとえば、各ソースブロックに対して全く同じ数の修復シンボルが受信される場合には、1つのHTTPオクテット範囲要求で十分であり得る。たとえば、元のファイルまたはファイルの部分のZ個のソースブロックの各々から、サイズTの最初のL個のソースシンボルを受信するには、UFSI順序HTTPファイルの最初のL×T×Z個の連続的なオクテットに対する要求で十分である。K-L個の修復シンボルが、Z個のソースシンボルの各々の1つまたは複数のセッションにおいて受信される場合、かつ、FEC符号が理想的な復元特性を有する場合、HTTPファイルをFEC復号するには、HTTPオクテット範囲要求から受信されるL×T×Z個のオクテットで十分であり、この例では、Z個のソースブロックの各々の中にあるソースシンボルの数はKであると仮定される。
上で説明されたHTTPオクテット範囲要求をサポートするための別の有利な方法はまず、元のファイルまたはファイルの部分のFEC OTIに基づいて、本明細書では「SS順序HTTPファイル」と呼ばれる異なる新しい形式へと、ファイルまたはファイルの一部を再編成する。この方法は、ソースブロック当たり複数のサブブロックがある場合に有用である。なぜなら、この場合、各ソースシンボルは、元のファイルまたはファイルの部分の連続的な部分ではないことがあり、すなわち、ソースシンボルのサブシンボルが、元のファイルの順序ではソースブロック全体に分散し得るからである。SS順序HTTPファイルの中のデータの順序は、最初のソースブロックのすべてのソースシンボル、続いて2番目のソースブロックのすべてのソースシンボル、続いて3番目のソースブロックのすべてのソースシンボル、などという順序であり、すなわち、SS順序HTTPファイルの中のデータの順序は、FEC OTIによって決定されるように、ソースブロック内の連続的なESIの昇順に従って並べられたソースシンボルへと編成され、連続的なSBNの昇順の順序でのソースブロックの連結である。URLは、SS順序HTTPファイルと関連付けられてよく、URLは、HTTPウェブキャッシュシステムへと与えられ得る。次いで受信機は、HTTPオクテット範囲要求を使って、必要に応じてSS順序HTTPファイルの部分を要求することができる。受信機が、ソースブロックの各々から異なる数の修復シンボルを受信する場合には、SS順序HTTPファイルは特に有利である。たとえば、各々1,000個のソースシンボルを有する2つのソースブロックがあり、受信機が、1つまたは複数のセッションから、第1のソースブロックのために900個の修復シンボルを受信し、第2のソースブロックのために100個の修復シンボルを受信する場合、受信機は、SS順序HTTPファイルの最初のT×100オクテットに対する1つの要求を行い、第1のソースブロックのための100個のソースシンボルを受信することができ、受信機は、SS順序HTTPファイルのオクテットT×1,000+1からT×1900に対する別の要求を行い、第2のソースブロックのための900個のソースシンボルを受信することができ、この例では、Tは両方のソースブロックのオクテット単位でのシンボルサイズである。
上で説明された方法の両方の組合せも使われてよく、すなわち、UFSI順序HTTPファイルとSS順序HTTPファイルの両方が、異なるURLを通じて受信機に対して利用可能にされてよく、受信機は、2つの異なる形式のHTTPファイルに対して、HTTPオクテット要求の組合せを使ってよい。たとえば、各々1,000個のソースシンボルを有する10個のソースブロックがある場合、かつ、1つまたは複数のセッションにおいて、最初の8個のソースブロックの各々のために800個の修復シンボルが受信され、9番目のソースブロックのために820個の修復シンボルが受信され、10番目のソースブロックのために500個の修復シンボルが受信される場合、受信機は、UFSI順序HTTPファイルに対するHTTPオクテット範囲要求を行い、10個のソースブロックの各々のために200個のソースシンボルを受信でき、SS順序HTTPファイルに対する追加のHTTPオクテット範囲要求を行い、10番目のソースブロックのための追加の300個のソースシンボルを受信できる。この例では、受信機は、9番目のソースブロックのために不必要な20個のソースシンボルを受信し得るが(FEC符号が理想的な復元特性を有すると仮定して)、一部の場合には、より少数のHTTPオクテット範囲要求を使って、いくつかのソースブロックのために必要最小限よりも多くのオクテットを要求することは、はるかに多数の異なるHTTPオクテット範囲要求が必要になり得る、各ソースブロックのためにちょうど必要な数のソースシンボルを要求することよりも、効率的であり得る。
当業者が認識するように、これらの方法に対する多くの変形形態がある。たとえば、HTTPファイル、UFSI順序HTTPファイル、およびSS順序HTTPファイルが、要求に対して利用可能にされ得る。別の例として、SS順序HTTPファイルは、分割されて多数のHTTPファイルとして利用可能にされてよく、そのようなHTTPファイルの1つが、各ソースブロックのためのものである。変形形態の他の例として、HTTPに基づくもの以外の方法およびプロトコル、たとえば、RTP/UDP、またはUDPの上層に構築されたプロプライエタリプロトコルに基づく方法が用いられてよい。
ハードウェアシステムおよび例
上で説明された方法およびシステムは、ハードウェア、ソフトウェア、および/または、プログラムコードもしくは他の命令を格納する適切に体系化されたコンピュータ可読媒体として、実装され得る。上記の教示を使い得るシステムのいくつかの例が、本明細書で与えられる。
図13は、パケットを送信するのに使われ得るような多段階の符号化を使う、本明細書で説明されたようなファイル配信システムの一部としての、通信システム1300のブロック図である。当然、他の符号および/またはハードウェアが、代わりに使われてよい。
通信システム1300において、入力ファイル1301、または入力ストリーム1305が、入力シンボル生成器1310に与えられる。入力シンボル生成器1310は、入力ファイルまたは入力ストリームから、1つまたは複数の入力シンボル(IS(0),IS(1),IS(2), ...)のシーケンスを生成し、各入力シンボルは、値および位置を有する(括弧中の整数として図13では示される)。上で説明されたように、入力シンボルの可能な値、すなわちそのアルファベットは、通常は2M個のシンボルのアルファベットなので、各入力シンボルは、入力ファイルのMビットを符号化する。Mの値は一般に、通信システム1300を使って決定されるが、汎用システムは、Mが使用ごとに変化し得るように、入力シンボル生成器1310に対するシンボルサイズ入力を含み得る。入力シンボル生成器1310の出力は、エンコーダ1315に与えられる。
静的鍵生成器1330は、静的鍵S0, S1, ...のストリームを生成する。生成される静的鍵の数は一般に限られており、エンコーダ1315の具体的な実施形態に依存する。静的鍵の生成は、後でより詳細に説明される。動的鍵生成器1320は、エンコーダ1315によって生成されることになる各出力シンボルのための、動的鍵を生成する。各動的鍵は、同じ入力ファイルに対する動的鍵の大部分が一意になるように生成される。たとえば、Luby Iは、使用され得る鍵生成器の実施形態を説明する。動的鍵生成器1320および静的鍵生成器1330の出力は、エンコーダ1315に与えられる。
動的鍵生成器1320によって与えられる各鍵Iから、エンコーダ1315は、入力シンボル生成器によって与えられる入力シンボルから、値B(I)を有する出力シンボルを生成する。エンコーダ1315の動作は、以下でより詳細に説明される。各出力シンボルの値は、各出力シンボルの鍵に基づいて、入力シンボルの1つまたは複数と、場合によっては入力シンボルから計算された1つまたは複数の冗長シンボルとの何らかの関数によって生成される。特定の出力シンボルを生じさせる入力シンボルおよび冗長シンボルの収集は、本明細書では、出力シンボルの「関連するシンボル」または単に出力シンボルの「関連物」と呼ばれる。関数(「値関数」)および関連物の選択は、以下でより詳細に説明される処理に従って行われる。常時ではないが通常、Mは、入力シンボルと出力シンボルに対して同一であり、すなわち、入力シンボルと出力シンボルの両方が、同じ数のビットを符号化する。
いくつかの実施形態では、関連物を選択するために、入力シンボルの数Kがエンコーダ1315によって使われる。Kが事前に知られていない場合、たとえば入力がストリーミングファイルである場合、Kは単に推定値であってよい。値Kはまた、入力シンボルおよびエンコーダ1315によって生成される任意の中間シンボルのための記憶領域を割り当てるために、エンコーダ1315によって使われ得る。
エンコーダ1315は、出力シンボルを送信モジュール1340に与える。送信モジュール1340はまた、動的鍵生成器1320から、そのような出力シンボルの各々の鍵を与えられる。送信モジュール1340は出力シンボルを送信し、使われる変調方法に応じて、送信モジュール1340はまた、送信される出力シンボルの鍵についての何らかのデータを、チャネル1345を通じて受信モジュール1350に送信し得る。チャネル1345は消失通信路であると想定されるが、これは通信システム1300の適切な動作の要件ではない。
送信モジュール1340が、出力シンボルおよびその鍵についての任意の必要なデータをチャネル1345へ送信するようになされ、受信モジュール1350が、シンボルおよび場合によってはその鍵についての何らかのデータをチャネル1345から受信するようになされる限り、モジュール1340、1345、および1350は、任意の適切なハードウェアコンポーネント、ソフトウェアコンポーネント、物理媒体、またはこれらの任意の組合せであってよい。Kの値は、関連物を決定するために使われる場合、チャネル1345を通じて送信されてよく、または、エンコーダ1315とデコーダ1355との合意によって前もって設定されてもよい。図13(および本明細書の他の箇所)に示される他の要素も、モジュール、ステップ、処理などとして説明されるかどうかに関わらず、ハードウェア、ソフトウェア、および/または電気的な可読媒体に記憶されたプログラムコードを用いて、実装され得る。
上で説明されたように、チャネル1345は、リアルタイムのチャネル、たとえば、テレビジョン送信機からテレビジョン受信機への、インターネットもしくはブロードキャストリンクを通じた経路、または、ある点から別の点への電話接続であってよく、またはチャネル1345は、CD-ROM、ディスクドライブ、ウェブサイトなどのような、記憶チャネルであってよい。チャネル1345は、リアルタイムチャネルと記憶チャネルの組合せ、たとえば、ある人物がパーソナルコンピュータからインターネットサービスプロバイダ(ISP)へと電話線を通じて入力ファイルを送信するときに形成されるチャネルであってもよく、入力ファイルはWebサーバに記憶され、その後インターネットを通じて受信者に送信される。
チャネル1345は消失通信路であると想定されるので、通信システム1300は、受信モジュール1350から出た出力シンボルと、送信モジュール1340へと入る出力シンボルとの間に、1対1の対応を想定しない。実際には、チャネル1345がパケットネットワークを含む場合、通信システム1300は、任意の2つ以上のパケットの相対的な順序が、チャネル1345を通じた送信において保存されると、想定できないこともある。したがって、出力シンボルの鍵は、上で説明された鍵方式の1つまたは複数を使って決定され、出力シンボルが受信モジュール1350から出る際の順序によって決まるとは限らない。
受信モジュール1350は、出力シンボルをデコーダ1355に与え、これらの出力シンボルの鍵について受信モジュール1350が受信する任意のデータは、動的鍵生成器1360に与えられる。動的鍵生成器1360は、受信された出力シンボルのために動的鍵を再生成し、これらの動的鍵をデコーダ1355に与える。静的鍵生成器1363は、静的鍵S0, S1, ...を生成し、デコーダ1355に与える。静的鍵生成器は、符号化処理と復号処理の両方において使われる、乱数生成器1335へのアクセス権を有する。このアクセス権は、乱数がそのようなデバイスで生成される場合には、同じ物理デバイスへのアクセス権の形態であってよく、または、理想的な挙動を実現するための乱数の生成のための同じアルゴリズムに対するアクセス権の形態であってよい。デコーダ1355は、動的鍵生成器1360および静的鍵生成器1363によって与えられる鍵を対応する出力シンボルとともに使い、入力シンボル(やはりIS(0),IS(1),IS(2), ...)を復元する。デコーダ1355は、復元された入力シンボルを入力ファイル再組立器1365に与え、入力ファイル再組立器1365は、入力ファイル1301または入力ストリーム1305のコピー1370を生成する。
ファイル配信は、複数の受信機および/または複数の送信機によって行われ得る。これらの考え方は、図14〜図15に示されている。
図14は、1つの受信機2402が、3つの送信機2404(「A」、「B」、および「C」と個別に示されている)から3つのチャネル2406を通じて、データを受信する構成を示す。この構成を使って、受信機が利用可能な帯域幅を3倍にすることができ、または、任意の1つの送信機から全体のファイルを取得するのに十分広い帯域幅が利用可能ではない送信機を扱うことができる。示されるように、各送信機2404は、値のストリームS()を送信する。各々のS()の値は、出力シンボルB(I)および鍵Iを表し、これらの使用は上で説明されている。たとえば、値S(A, nA)は、送信機2402(A)において生成される出力シンボルのシーケンスにおける、「nA」番目の出力シンボルおよび「nA」番目の鍵である。送信機の作業が重複しないように、1つの送信機からの鍵のシーケンスは、好ましくは、他の送信機からの鍵のシーケンスとは別物である。このことは、シーケンスS()が送信機の関数であるという事実によって、図14において示されている。
送信機2402は、作業が重複しないように、同期または協調されなくてもよいことに留意されたい。実際には、協調することなく、各送信機は、そのシーケンス中で異なる位置にある可能性が高い(すなわち、nA≠nB≠nC)。
図15では、1つの入力ファイル2502のコピーが、複数の送信機2504(このうちの2つが図で示されている)に与えられる。送信機2504は、入力ファイル2502のコンテンツから生成された出力シンボルを、チャネル2506を通じて受信機2508へと独立に送信する。示されている2つの送信機の各送信機は、受信機のデコーダが入力ファイル全体を復元できるまでに、(K+A)/2個の出力シンボルしか送信する必要がなくてよい。
2つの受信機および2つの送信機を使うと、受信機ユニット2510によって受信される情報の総量は、1つのチャネル2506を通じて入手可能な情報の4倍であり得る。情報の量は、たとえば、送信機が同じデータを両方の受信機にブロードキャストする場合には、単一のチャネル情報の4倍よりも少なくなり得る。その場合、データがいずれかのチャネルで失われると、受信機ユニット2510における情報の量は、少なくとも2倍であり、それより多くなることが多い。送信機が1つの信号しかブロードキャストしない場合でも、受信機が異なる時間において送信の範囲にあれば、各送信機を聴取する受信機が2つ以上あることが有利であることに留意されたい。図15では、受信機ユニット2510は、図1に示される、受信機150、デコーダ155、鍵生成器160、および入力ファイル再組立器165の機能と同様の機能を実行する。
いくつかの実施形態では、入力ファイル2502は、コンピューティングデバイスが一方の送信機に対する1つの出力および他方の送信機に対する別の出力を提供できるように、2つのエンコーダを有する1つのコンピューティングデバイスにおいて符号化される。これらの例の他の変形形態は、本開示を検討することで明らかであろう。
本明細書で説明される符号化の装置および方法は、他の通信状況においても使われてよく、インターネットのような通信ネットワークには限定されないことを理解されたい。たとえば、コンパクトディスク技術も、消失符号およびエラー訂正符号を使って、傷のついたディスクの問題に対処し、ディスク上に情報を記憶する際に、連鎖反応符号を使用することで利益を受ける。別の例として、衛星システムは、送信のための出力要件を犠牲にするために消失符号を使って、出力を下げることによってより多くのエラーを意図的に許容することがあり、この用途においては連鎖反応符号化が有用である。また、消失符号は、情報の記憶の信頼性のための、RAID(redundant arrays of independent disks)システムの開発に使われてきた。したがって、本発明は、喪失またはエラーが多い可能性のあるデータについての問題に対処するために符号が使われる、上の例のような他の用途で有用であることがわかり得る。
いくつかの好ましい実施形態では、上で説明された通信処理を実行するための命令(またはソフトウェア)のセットが、喪失が多い可能性のある通信媒体を通じて通信する、2つ以上の多目的コンピューティングマシンへ与えられる。マシンの数は、1つの送信機および1つの受信機から、任意の数の送信および/または受信するマシンにまで、わたり得る。マシンを接続する通信媒体は、有線媒体、光学媒体、ワイヤレス媒体などであってよい。上述の通信システムには多くの使用法があり、それらはこの説明から明らかであろう。
HTTPストリーミングサーバを用いたブロック要求ストリーミングシステムが、上で説明されたようにファイルを配信し得る。以下では、そのようなシステムの例示的な実装形態が説明される。HTTPストリーミングでは、ソースは、標準的なウェブサーバおよびコンテンツ配信ネットワーク(CDN)であってよく、標準的なHTTPを使用してよい。
クライアント側では、クライアントによってシームレスに一緒につなぎ合わされた個々のセグメントに対して、HTTPを使って要求が行われ得る。HTTPストリーミングの利点には、標準的な既存のインフラを使用することがある。
図16は、ファイルを配信し得るブロック要求ストリーミングシステムの簡略図を示す。図16では、取込システム103を含むブロックサービングインフラストラクチャ(「BSI」)101を含むブロックストリーミングシステム100が示されており、取込システム103は、コンテンツ102を取り込み、取込システム103とHTTPストリーミングサーバ104の両方へアクセス可能なコンテンツ記憶装置110へとそのコンテンツを記憶することによって、HTTPストリーミングサーバ104によるサービスのためにそのコンテンツを準備してパッケージングするためのものである。示されるように、システム100は、HTTPキャッシュ106も含み得る。動作において、HTTPストリーミングクライアントのようなクライアント108は、要求112をHTTPストリーミングサーバ104へ送信し、HTTPストリーミングサーバ104またはHTTPキャッシュ106から応答114を受信する。各場合において、図16に示される要素は、少なくとも一部は、プロセッサまたは他の電子回路で実行されるプログラムコードを含むソフトウェアで実装されてよい。
図17で示されるように、メディアブロックは、たとえば、HTTPサーバ、コンテンツ配信ネットワークデバイス、HTTPプロキシ、FTPプロキシもしくはサーバ、または何らかの他のメディアサーバもしくはシステムであってよい、ブロックサービングインフラストラクチャ101(1)内に記憶されてよい。ブロックサービングインフラストラクチャ101(1)は、たとえば、インターネットのようなインターネットプロトコル(「IP」)ネットワークであってよい、ネットワーク122に接続される。ブロック要求ストリーミングシステムクライアントは、6個の機能的コンポーネント、すなわち、上で説明されたメタデータを与えられ、メタデータによって示される複数の利用可能なブロックの中から要求されるべきブロックまたは部分ブロックを選択する機能を実行する、ブロック選択器123、ブロック選択器123から要求命令を受信し、規定されたブロック、ブロックの部分、または複数のブロックに対する要求を、ネットワーク122を通じてブロックサービングインフラストラクチャ101(1)へ送信し、返答としてそのブロックを含むデータを受信するのに必要な動作を実行する、ブロック要求器124、さらには、ブロックバッファ125、バッファモニタ126、メディアデコーダ127、およびメディアの利用を容易にする1つまたは複数のメディアトランスデューサ128を、有するものとして示されている。
ブロック要求器124によって受信されるブロックデータは、一時的な記憶のために、メディアデータを記憶するブロックバッファ125へと渡される。あるいは、受信されたブロックデータは、図16に示されるように、ブロックバッファ125へと直接記憶されてもよい。メディアデコーダ127は、ブロックバッファ125によってメディアデータを与えられ、メディアトランスデューサ128へ適切な入力を与えるために必要な変換を、このデータに対して実行し、メディアトランスデューサ128は、メディアをユーザの利用または他の利用に適切な形態にする。メディアトランスデューサの例には、携帯電話、コンピュータシステムまたはテレビにおいて見出されるような、視覚ディスプレイデバイスが含まれ、スピーカまたはヘッドフォンのような音声表現デバイスも含まれ得る。
バッファモニタ126は、ブロックバッファ125のコンテンツに関する情報を受信し、この情報および場合によっては他の情報に基づいて、本明細書で説明されるような、要求すべきブロックの選択を決定するのに使われるブロック選択器123へ、入力を与える。
ブロック要求ストリーミングシステム(BRSS)は、1つまたは複数のコンテンツサーバ(たとえば、HTTPサーバ、FTPサーバなど)へ要求を行う、1つまたは複数のクライアントを含む。取込システムは、1つまたは複数の取込プロセッサを含み、取込プロセッサは、コンテンツを(リアルタイムでまたはそれ以外で)受信し、BRSSによる使用のためにコンテンツを処理し、コンテンツサーバへアクセス可能な記憶装置に、場合によっては取込プロセッサによって生成されたメタデータとともに、コンテンツを記憶する。
BRSSは、コンテンツサーバと協調するコンテンツキャッシュも含み得る。コンテンツサーバおよびコンテンツキャッシュは、URLを含むHTTP要求の形態でファイルまたはセグメントに対する要求を受信する、従来のHTTPサーバおよびHTTPキャッシュであってよく、URLによって示されるファイルまたはセグメントのすべてよりも少数のものを要求するために、オクテット範囲も含み得る。クライアントは、HTTPサーバの要求を行い、そうした要求への応答を処理する、従来のHTTPクライアントを含んでよく、ここでHTTPクライアントは、要求を作成し、その要求をHTTPクライアントへ渡し、HTTPクライアントから応答を取得し、クライアントデバイスによる再生のために表示プレーヤーへとその応答を与えるためにその応答を処理する(たとえば、記憶する、変換するなど)、新規のクライアントシステムによって動作させられる。通常、クライアントシステムは、どのメディアが必要になるかを事前には知らず(必要性はユーザの入力に応じたものであり得るので、ユーザの入力が変化するので、など)、そのため、受信されるとすぐに、または受信の後まもなく、メディアが「消費される」という点で、これは「ストリーミング」システムと呼ばれる。その結果、応答の遅延および帯域幅の制約は、表示に遅延を引き起こすことがあり、たとえば、ユーザが表示を見ている箇所にストリームが追いつくと、表示に一時停止が生じる。
良好な品質であると知覚される表示を提供するために、クライアント側、取込側、またはこれら両方のいずれかにおいて、いくつかの細部がBRSSに実装され得る。一部の場合には、実装される細部は、ネットワークにおけるクライアントとサーバとのインターフェースを考慮して、またはそれに対応するようになされる。いくつかの実施形態では、クライアントシステムと取込システムの両方が改善を認識し、他の実施形態では、片側のみが改善を認識する。そのような場合、片側が改善を認識していなくても、システム全体が改善から利益を得て、他の場合には、双方が改善を認識する場合にのみ利益が生じるが、片側が改善を認識しなくても、システムは破綻することなく動作し続ける。
図18に示されるように、様々な実施形態に従って、取込システムは、ハードウェアコンポーネントとソフトウェアコンポーネントの組合せとして実装され得る。取込システムは、本明細書で論じられた方法の任意の1つまたは複数をシステムに実行させるように実行され得る、命令のセットを含み得る。システムは、コンピュータの形態である固有の機械として実現され得る。システムは、サーバコンピュータ、パーソナルコンピュータ(PC)、または、そのシステムによってとられるべき動作を規定する命令のセット(順次的な命令または他の命令)を実行できる、任意のシステムであってよい。さらに、単一のシステムのみが示されているが、「システム」という用語は、本明細書で論じられた方法の任意の1つまたは複数を実行するための命令のセット(または複数のセット)を、個々にまたは一緒に実行する、システムの任意の集合も含むと、解釈されるべきである。
取込システムは、取込プロセッサ302(たとえば、中央演算処理装置(CPU))、実行中のプログラムコードを記憶できるメモリ304、およびディスク記憶装置306を含んでよく、これらのすべてが、バス300を介して互いに通信する。システムはさらに、ビデオディスプレイユニット308(たとえば液晶ディスプレイ(LCD)または陰極線管(CRT))を含み得る。システムはまた、英数字入力デバイス310(たとえばキーボード)、および、コンテンツのソースを受信しコンテンツの貯えを配信するための、ネットワークインターフェースデバイス312を含み得る。
ディスク記憶ユニット306は、本明細書で説明される方法または機能の任意の1つまたは複数を具現化する、命令(たとえばソフトウェア)の1つまたは複数のセットが記憶され得る、機械可読媒体を含み得る。命令はまた、システムによるその実行の間、完全にまたは少なくとも部分的に、メモリ304内、かつ/または取込プロセッサ302内に存在してよく、メモリ304および取込プロセッサ302も、機械可読媒体を構成する。
図19に示されるように、様々な実施形態に従って、クライアントシステムは、ハードウェアコンポーネントとソフトウェアコンポーネントの組合せとして実装され得る。クライアントシステムは、本明細書で論じられた方法の任意の1つまたは複数をシステムに実行させるように実行され得る、命令のセットを含み得る。システムは、コンピュータの形態である固有の機械として実現され得る。システムは、サーバコンピュータ、パーソナルコンピュータ(PC)、または、そのシステムによってとられるべき動作を規定する命令のセット(順次的な命令または他の命令)を実行できる、任意のシステムであってよい。さらに、単一のシステムのみが示されているが、「システム」という用語は、本明細書で論じられた方法の任意の1つまたは複数を実行するための命令のセット(または複数のセット)を、個々にまたは一緒に実行する、システムの任意の集合も含むと、解釈されるべきである。
クライアントシステムは、クライアントプロセッサ402(たとえば、中央演算処理装置(CPU))、実行中のプログラムコードを記憶できるメモリ404、およびディスク記憶装置406を含んでよく、これらのすべてが、バス400を介して互いに通信する。システムはさらに、ビデオディスプレイユニット408(たとえば液晶ディスプレイ(LCD)または陰極線管(CRT))を含み得る。システムはまた、英数字入力デバイス410(たとえばキーボード)、および、要求を送信し応答を受信するための、ネットワークインターフェースデバイス412を含み得る。
ディスク記憶ユニット406は、本明細書で説明される方法または機能の任意の1つまたは複数を具現化する、命令(たとえばソフトウェア)の1つまたは複数のセットが記憶され得る、機械可読媒体を含み得る。命令はまた、システムによるその実行の間、完全にまたは少なくとも部分的に、メモリ404内、かつ/またはクライアントプロセッサ402内に存在してよく、メモリ404およびクライアントプロセッサ402も、機械可読媒体を構成する。
具体的な実施形態の例
このセクションでは、[RaptorQ-Spec]で規定されるRaptorQ FEC方式を使った、汎用的なオブジェクト配信のための完全に規定されたFEC方式の、特定の実施形態が説明される。UOSI FECペイロードIDが、簡素で改善されたオブジェクト配信能力を提供するために、[RaptorQ-Spec]におけるRaptorQ FEC方式(本明細書では「UOD-RaptorQ FEC方式」と呼ばれる)とともに使われ得る。具体的には、より柔軟で簡単なサポートが、基本的なオブジェクト配信のために提供され、不均一誤り保護(UEP)オブジェクト配信、一括オブジェクト配信、およびUEPオブジェクト配信と一括オブジェクト配信の組合せに対するサポートも提供される。適切なハードウェアおよび/またはソフトウェアを使って、通信デバイス間で「UOD-RaptorQ FEC方式」を実装できることを理解されたい。
FECペイロードIDの形式は、図2に示されるように4オクテットフィールドであり、この特定の実装形態では、32ビットの符号なしの整数である汎用ファイルシンボル識別子(UFSI)は、やはり32ビットの符号なしの整数である汎用オブジェクトシンボル識別子(UOSI)によって一般化される。UOSIは、そのペイロードIDを搬送するパケット内に含まれる符号化シンボルを特定するために、FEC OTIとともに使われる、負ではない整数である。
単一のオブジェクト、または複数のオブジェクト、または優先順位の異なる複数の部分に分割される単一のオブジェクト、またはこれらの任意の組合せの配信について、FEC OTIは以下のように説明される。配信される各オブジェクトについて、FEC OTIは、RaptorQ FEC方式で規定されるものと同じであってよいことに留意されたい。配信は、dを何らかの正の整数としてd個のオブジェクトを含み得る。各オブジェクトは、同じファイルの異なる部分、または異なるファイル、またはこれらの組合せを含み得る。オブジェクトiのサイズFiと、オブジェクトiのために使われるべき符号化シンボルのサイズTiとの関係を使って、送信の際のオブジェクトiの優先順位を決定することができる。
図20は、一般のFEC OTIフィールドの例を示す。そのフィールドで用いられる、配信されるオブジェクトの数のための8ビットの符号なしの整数dがあり、示される例はd=2の場合である。デフォルトの値は、d=1であり得る。他のサブフィールドは、d個のオブジェクトの各々に対する(すなわち、i=1, ..., dに対する)、オブジェクトiに固有である一般のFEC OTI要素を含み、一般のFEC OTI要素は、216未満の正の整数でありオブジェクトiのためのシンボルのサイズをオクテット単位で示す、シンボルサイズTiに対する16ビットの符号なしの整数と、最大で240の負ではない整数でありオブジェクトiの転送長をオクテット単位で示す、オブジェクトiの転送長Fiに対する40ビットの符号なしの整数とを含む。適切なパディングが行われる。
一般のFEC OTIフィールドとは対照的に、図21に示されるような、方式固有のFEC OTI要素が存在し得る。その例で示されるように、方式固有のFEC OTI要素は、シンボル整列パラメータ(Al)(8ビットの符号なしの整数)を含み、各オブジェクトに対する方式固有のFEC OTI要素は、オブジェクトiのためのソースブロックの数Zi(12ビットの符号なしの整数)と、オブジェクトiのためのサブブロックの数Niとを含む。符号化された方式固有のオブジェクト送信情報は、(1+3×d)オクテットのフィールドである。図21の例は、d=2の場合である。そして、符号化されたFEC OTIは、符号化された一般のFEC OTIと符号化された方式固有のFEC OTI要素との連結を含む、(2+10×d)オクテットのフィールドであってよい。
符号化されたFEC OTIを用いたコンテンツ配信には、UOD-RaptorQ FEC方式と、オブジェクト配信のためにUOD-RaptorQ FEC方式を使用するコンテンツ配信プロトコル(「CDP」)とを使った、デバイス間、コンピュータ間、システムのプログラム間での情報交換が伴い得る。CDPは、d、Alをエンコーダおよびデコーダに与えなければならず、各オブジェクトについてFi、Ti (Alの倍数)、ZiおよびNiを与えなければならない。エンコーダは、オブジェクトi自体を与えられる。UOD-RaptorQエンコーダ方式を用いるエンコーダは、送信されるべき各パケットについて、パケットのUOSIおよびd個のオブジェクトのための符号化シンボルを、CDPに供給する。CDPは、この情報を受信機に伝える。
パラメータ選択の例が、ここで説明される。
一例では、[RaptorQ-Spec]のセクション4.3で説明される例示的なパラメータの導出が、d個のオブジェクトの各々に対して独立に使用され適用され得る。ある例では、Al=4オクテット、SS=8(各サブシンボルは少なくともSS×Al=32オクテットであることを示唆する)であり、オブジェクトiのTiは好ましくは少なくともSS×Alオクテットであり、TiはAlの倍数であり、各符号化パケットのペイロードサイズは好ましくは少なくともTのサイズであり、TはTiのi=1, ..., dにわたる和である。
ソースブロックの構築では、[RaptorQ-Spec]のセクション4.4.1の手順が、d個のオブジェクトの各々に対して独立に適用され得る。
符号化パケットの構築では、各符号化パケットは、d個のオブジェクトに対するUOSIおよび符号化シンボルを含む。[RaptorQ-Spec]のRaptorQ FEC方式によって使われるFECペイロードIDの(SBN, ESI)フォーマットと、UOD-RaptorQ FEC方式によって使われるUOSIフォーマットとの互換性のために、UOSIフォーマットは特定のフォーマットであり得る。たとえば、各オブジェクトについて、UOSIの値Cから、オブジェクトiの対応する(SBN, ESI)の値(A, B)への対応付けは、B=floor(C/Zi)およびA=C-B×Ziであり得る。同様に、各オブジェクトについて、オブジェクトiの(SBN, ESI)の値(A, B)から、対応するUOSIの値Cへの対応付けは、C=A+B×Ziである。
各オブジェクトi=1,..., dについて、0からKTi-1のUOSI値が、ソースブロック中のオブジェクトiのソースシンボルを交互の順序で特定し、KTi=ceil(Fi/Ti)である。KTi 以降のUOSI値は、RaptorQエンコーダを使って、オブジェクトiのソースシンボルから生成された修復シンボルを特定する。
符号化パケットは、ソースシンボル、修復シンボル、またはソースシンボルと修復シンボルの組合せを含み得る。パケットは、オブジェクトiの同じソースブロックからの、任意の数のシンボルを含み得る。オブジェクトiのソースパケット中の最後のソースシンボルは、FEC符号化のために追加されたパディングオクテットを含み、これらのオクテットはパケット中に含まれるべきなので、シンボル全体のみが各パケットに含まれる。
各符号化パケットで搬送される汎用オブジェクトシンボル識別子Cは、そのパケットで搬送される各オブジェクトのための第1の符号化シンボルのUOSIである。各オブジェクトのためのパケット中の後続の符号化シンボルは、連続的な順序でC+1からC+G-1まで番号を付けられたUOSIを有し、ここでGは、パケット中の各オブジェクトのための符号化シンボルの数である。
好ましい実装形態では、各符号化パケットにおいて、d個のオブジェクトの各々に対して1つの符号化シンボルがある。好ましい実装形態では、符号化パケットは、以下の手順に従って生成され送信される。各UOSI値C=0, 1, 2, 3, ...について、エンコーダは、以下のように符号化パケットを生成して送信し、符号化パケットのFECペイロードIDの値はUOSI値Cに設定され、i=1, ..., dである各オブジェクトiに対して、エンコーダは、UOSI値Cに対応する(SBN, ESI)値(Ai, Bi)を決定し、RaptorQ FEC方式[RaptorQ-Spec]の手順に従って、オブジェクトiからの(SBN, ESI)値(Ai, Bi)に対応するサイズTiの符号化シンボルEiを生成し、符号化シンボルEiを符号化パケットのペイロードに追加し、符号化パケットを送信する。受信機は、符号化パケットの総数を必ずしも知らなくてもよいことに留意されたい。
これは、1つの特定の例である。本開示を読んだ後で、当業者はさらなる実施形態を想起し得る。他の実施形態では、有利には、上で開示された発明の組合せまたは副組合せが作られ得る。コンポーネントの例示的な構成は例示のために示されており、組合せ、追加、再構成などが、本発明の代替的な実施形態で考慮されることを理解されたい。したがって、本発明は、例示的な実施形態に関して説明されてきたが、当業者は、多くの修正が可能であることを認識するだろう。
たとえば、本明細書で説明された処理は、ハードウェアコンポーネント、ソフトウェアコンポーネント、および/またはこれらの任意の組合せを使って実装され得る。したがって、本明細書および図面は、限定ではなく例示であると見なされるべきである。しかし、特許請求の範囲において述べられる本発明のより広範な趣旨および範囲から逸脱することなく、様々な修正および変更を行うことができ、本発明は、以下の特許請求の範囲内にあるすべての修正および等価物を包含することが意図されることが、明らかであろう。
101 ブロックサービングインフラストラクチャ
102 コンテンツ
103 取込システム
104 HTTPストリーミングサーバ
106 HTTPキャッシュ
108 クライアント
110 コンテンツ記憶装置
122 ネットワーク
123 ブロック選択器
124 ブロック要求器
125 ブロックバッファ
126 ブロックモニタ
127 メディアデコーダ
128 メディアトランスデューサ
300 バス
302 取込プロセッサ
304 メモリ
306 ディスク記憶装置
308 ビデオディスプレイ
310 英数字入力デバイス
312 ネットワークインターフェース
400 バス
402 クライアントプロセッサ
404 メモリ
406 ディスク記憶装置
408 ビデオディスプレイ
410 英数字入力デバイス
412 ネットワークインターフェース

Claims (24)

  1. パケット交換ネットワークを通じて、電子デバイスまたはシステムから、1つまたは複数のデータオブジェクトを配信する方法であって、前記1つまたは複数のデータオブジェクトのソースデータが、前記ソースデータがパケット中の符号化シンボルから少なくともおおよそ復元可能であるように、前記符号化シンボルによって表される、方法において、
    a)配信されるべき前記1つまたは複数のデータオブジェクトの各データオブジェクトについて、オクテット単位での前記データオブジェクトのサイズF、前記データオブジェクトを表すのに使われる各シンボルを表すために使われるオクテットの数T、および、前記データオブジェクトの配信のための分割先のソースブロックの数Zを含む、オブジェクト送信情報(「OTI」)を特定するステップと、
    b)前記1つまたは複数のデータオブジェクトのための複数のパケットの各パケットに対して、汎用オブジェクトシンボル識別子(「UOSI」)を生成するステップであって、所与のパケットに対する前記UOSIが、可能なUOSI値のセットから選択され、前記セットが、前記所与のパケットにおいて表される各データオブジェクトのための前記OTIの値とは独立である、ステップと、
    c)前記1つまたは複数のデータオブジェクトを表す前記ソースデータを含む、複数のソースシンボルから複数の符号化シンボルを生成するステップであって、前記ソースシンボルの各々が前記ソースデータ中の位置を有し、所与のデータオブジェクトのための所与のパケットの符号化シンボルを生成するステップが、
    1)使用すべきFEC符号化処理を決定するステップと、
    2)前記所与のパケットの前記UOSIおよび前記所与のデータオブジェクトの前記OTIから、ソースブロック番号(「SBN」)および符号化シンボル識別子(「ESI」)を決定するステップと、
    3)前記符号化シンボルについて、(a)前記FEC符号化処理、(b)前記符号化シンボルの前記SBNから決定された前記Z個のソースブロックのうちの1つのソースブロックからの1つまたは複数のソースシンボル、および(c)前記符号化シンボルの前記ESIに少なくとも基づいて、サイズTの符号化シンボル値を生成するステップと
    を含む、ステップと、
    d)ステップa)で扱われた前記データオブジェクトの各々の前記OTIを表すものを含むOTIフィールドを生成するステップであって、前記OTIフィールドが、前記OTIフィールドによって表されるデータオブジェクトの数であるdも含む、ステップと、
    e)前記1つまたは複数のデータオブジェクトのための前記複数のパケットを生成するステップであって、前記複数のパケットの各パケットが、前記パケットの前記UOSIと、前記データオブジェクトの前記OTIおよび前記パケットの前記UOSIを使って前記データオブジェクトから生成された、前記パケット中で表される各データオブジェクトの1つまたは複数の符号化シンボルとを含む、ステップと、
    f)前記パケット交換ネットワークによって使用可能な形態で、前記OTIフィールドおよび前記複数のパケットを出力するステップと
    を含む、方法。
  2. 各データオブジェクトの前記OTIが、前記データオブジェクトの各ソースオブジェクトの送信のための分割先であるサブブロックの数Nも含む、請求項1に記載の方法。
  3. SBNをUOSI modulo Zに等しく設定するステップと、
    ESIを、UOSIをZで除算したもの以下の最大の整数に等しく設定するステップと
    をさらに含む、請求項1に記載の方法。
  4. パケット交換ネットワークを通じて、電子デバイスまたはシステムから、1つまたは複数のデータオブジェクトを配信する方法であって、前記1つまたは複数のデータオブジェクトのソースデータが、前記ソースデータがパケット中の符号化シンボルから少なくともおおよそ復元可能であるように、前記符号化シンボルによって表される、方法において、
    a)配信されるべき前記1つまたは複数のデータオブジェクトの各データオブジェクトについて、オブジェクト送信情報(「OTI」)を特定するステップであって、前記1つまたは複数のデータオブジェクトが2個以上のデータオブジェクトを含む場合、1つの配信の中の2個のデータオブジェクトのOTIが異なり得る、ステップと、
    b)前記1つまたは複数のデータオブジェクトのための複数のパケットの各パケットに対して、汎用オブジェクトシンボル識別子(「UOSI」)を生成するステップであって、所与のパケットに対する前記UOSIが、可能なUOSI値のセットから選択され、前記セットが、前記所与のパケットにおいて表される各データオブジェクトのための前記OTIの値とは独立である、ステップと、
    c)前記1つまたは複数のデータオブジェクトを表す前記ソースデータを含む、複数のソースシンボルから複数の符号化シンボルを生成するステップであって、前記ソースシンボルの各々が前記ソースデータ中の位置を有し、所与のデータオブジェクトのための所与のパケットの符号化シンボルを生成するステップが、(a)前記所与のパケットの前記UOSI、(b)前記所与のデータオブジェクトの前記OTI、および(c)1つまたは複数のソースシンボル値から前記符号化シンボルの値を決定するステップを含む、ステップと、
    d)配信されるべき前記1つまたは複数のデータオブジェクトのための前記複数のパケットを生成するステップであって、前記複数のパケットの各パケットが、前記パケットの前記UOSIと、前記データオブジェクトの前記OTIおよび前記パケットの前記UOSIを使って前記データオブジェクトから生成された、前記パケット中で表される各データオブジェクトの1つまたは複数の符号化シンボルとを含む、ステップと、
    e)前記パケット交換ネットワークによって使用可能な形態で、少なくとも前記複数のパケットを出力するステップと
    を含む、方法。
  5. シンボルが、データオブジェクトのソースシンボルに相当するか、それとも、1つまたは複数のソースシンボルの復元のためのFEC復号処理で使用可能なFEC修復シンボルに相当するかを、受信機が判定できるように、シンボルを標識するステップをさらに含み、前記受信機が、前記シンボルを含む前記パケットの前記UOSIを、データオブジェクト中のシンボルの数を表す値と比較することによって、前記判定を実行する、請求項4に記載の方法。
  6. 前記UOSIが負ではない整数であり、各データオブジェクトの前記OTIが、前記データオブジェクトのオクテット単位のサイズ、前記データオブジェクト表すために使われる各シンボルを表すのに使われるオクテットの数、前記データオブジェクトの配信のための分割先であるソースブロックの数、ソースブロックの分割先のサブブロックの数、および、好ましいメモリの整列に対応する整列係数を含む、請求項4に記載の方法。
  7. 前記所与のデータオブジェクトの前記OTIが基本UOSI値を含み、
    (a)前記所与のパケットの前記UOSI、(b)前記所与のデータオブジェクトの前記OTI、および(c)1つまたは複数のソースシンボル値から、前記符号化シンボルの値を決定するステップが、前記符号化シンボルの値を決定する前に、前記基本UOSI値によって、前記所与のパケットの前記UOSIを調整して、それによって前記UOSIのオフセット値を可能にするステップを含む、請求項4に記載の方法。
  8. 前記符号化シンボルの値を決定するステップが、前方誤り訂正(「FEC」)を使うステップを含み、異なるレベルのFEC保護が、異なるデータオブジェクトに対して可能にされ、FEC保護のレベルが、異なる各データオブジェクトの前記OTIから決定される、請求項4に記載の方法。
  9. 前記1つまたは複数のデータオブジェクトが、単一のデータオブジェクトを含み、OTIの単一のセットが、前記1つまたは複数のデータオブジェクトの各符号化シンボルを生成するために使われる、請求項4に記載の方法。
  10. 前記1つまたは複数のデータオブジェクトが、複数のデータオブジェクトを含み、OTIフィールドが、データオブジェクトごとに1つの複数のOTIサブフィールドと、前記複数のデータオブジェクト中のデータオブジェクトの数を示すカウントサブフィールドとを含み、前記OTIサブフィールドのすべてが同一とは限らず、あるOTIサブフィールドが、少なくとも1つの他のOTIサブフィールドとは独立に生成される、請求項4に記載の方法。
  11. 各OTIサブフィールドが、そのデータオブジェクトに対して、前記データオブジェクトのサイズ、前記データオブジェクトの転送のための分割先であるソースブロックの数、ソースブロック当たりの使われるサブブロックの数、使われるシンボルサイズ、および整列係数を含み、少なくとも2つのデータオブジェクトに対するソースブロックの前記数が異なる、請求項10に記載の方法。
  12. 前記1つまたは複数のデータオブジェクトが、少なくとも第1のデータオブジェクトおよび第2のデータオブジェクトを含み、前記配信が、少なくとも2つの別々のパケットシーケンスへと編成され、前記第1のデータオブジェクトの符号化シンボルが、第1のパケットシーケンスのパケットと、第2のパケットシーケンスのパケットとに現れ、前記第2のデータオブジェクトの符号化シンボルが、前記第1のパケットシーケンスのパケットには現れるが、前記第2のパケットシーケンスのパケットには現れない、請求項4に記載の方法。
  13. 前記1つまたは複数のデータオブジェクトの各々が、データをファイルとして記憶するコンピュータ可読媒体に記憶された異なるファイルを含む、請求項4に記載の方法。
  14. 前記1つまたは複数のデータオブジェクトの少なくとも1つが、データをファイルとして記憶するコンピュータ可読媒体に記憶された異なるファイルの一部を含む、請求項4に記載の方法。
  15. 電子デバイスまたはシステムを用いて、パケット交換ネットワークを通じて受信される1つまたは複数のデータオブジェクトを受信して復号する方法であって、十分な符号化シンボルが受信される場合には、受信される符号化シンボルが、前記1つまたは複数のデータオブジェクトを表すソースシンボルへと復号される、方法において、
    a)配信される前記1つまたは複数のデータオブジェクトの各データオブジェクトについて、オブジェクト送信情報(「OTI」)を特定するステップであって、前記1つまたは複数のデータオブジェクトが2個以上のデータオブジェクトを含む場合、1つの配信の中の2個のデータオブジェクトのOTIが異なり得る、ステップと、
    b)復号において使われるべき各符号化シンボルについて、前記符号化シンボルによって自身のソースシンボルが符号化されるデータオブジェクト、符号化シンボルの値、および、前記符号化シンボルを含むパケットの汎用オブジェクトシンボル識別子(「UOSI」)を決定するステップと、
    c)復号において使われるべき各符号化シンボルについて、復号のために使われる復号パラメータを決定するステップであって、前記符号化シンボルおよび前記対応するデータオブジェクトのOTIを含む前記パケットの前記UOSIを使って、前記復号パラメータを決定する、ステップと、
    d)符号化シンボルおよびステップc)で決定された復号パラメータを使って、前記符号化シンボルを、データオブジェクトを表す復元されたソースシンボルへと復号するステップと、
    e)前記復元されたソースシンボルを、コンピュータ可読の形態で出力するステップと
    を含む、方法。
  16. 前記受信された符号化シンボルとともに前記OTIを受信するステップをさらに含む、請求項15に記載の方法。
  17. 前記復号パラメータが、ソースブロック番号および符号化シンボル識別子を含み、前記方法が、
    UOSI modulo (使用されるソースブロックの数)と等しく、前記ソースブロックの数を設定するステップと、
    使用されるソースブロックの前記数によってUOSIを除算したもの以下の最大の整数と等しく、前記符号化シンボル識別子を設定するステップと
    をさらに含む、請求項15に記載の方法。
  18. 前記符号化シンボルが、ソースシンボルに相当するか、それとも、1つまたは複数のソースシンボルの復元のためのFEC復号処理で使用可能な前方誤り訂正(FEC)修復シンボルに相当するかを、複数の前記符号化シンボルの各々について判定するステップをさらに含み、受信機が、前記符号化シンボルを含む前記パケットの前記UOSIを、データオブジェクト中のシンボルの数を表す値と比較することによって、前記判定を実行する、請求項15に記載の方法。
  19. 前記UOSIが負ではない整数であり、複数のデータオブジェクトの各々の前記OTIが、各データオブジェクトのオクテット単位のサイズ、各データオブジェクト表すために使われる各シンボルを表すのに使われるオクテットの数、各データオブジェクトの配信のための分割先であるソースブロックの数、ソースブロックの分割先のサブブロックの数、および、好ましいメモリの整列に対応する整列係数を含み、OTIの値が少なくとも2つのデータオブジェクトで異なり、異なるレベルの前方誤り訂正(「FEC」)が、少なくとも2つのデータオブジェクトに対して使われる、請求項15に記載の方法。
  20. 電子デバイスまたはシステムを用いて、パケット交換ネットワークを通じて受信される1つまたは複数のデータオブジェクトを受信して復号する方法であって、十分な符号化シンボルが受信される場合には、受信される符号化シンボルが、前記1つまたは複数のデータオブジェクトを表すソースシンボルへと復号される、方法において、
    a)各データオブジェクトのための符号化シンボルを含む、1つまたは複数のパケットを受信するステップと、
    b)ある数の追加のシンボルが所望のデータオブジェクトの復元に必要であると、判定するステップと、
    c)複数の符号化シンボルファイル順序から、ある符号化シンボルファイル順序を選択して、前記数の追加のシンボルを要求するのに必要なバイト範囲の指定が、別の符号化シンボルファイル順序が選択された場合に必要なバイト範囲の指定よりも狭くなるようにするステップと、
    d)前記所望のデータオブジェクトの復元に必要な、少なくとも前記数の追加のシンボルを受信するために行うべき、1つまたは複数のバイト要求を決定するステップであって、前記選択された符号化シンボルファイル順序に基づく、ステップと、
    e)前記選択された符号化シンボルファイル順序をサービスするように構成されたハイパーテキスト転送プロトコル(「HTTP」)サーバへ、前記1つまたは複数のバイト要求を送信するステップと
    を含む、方法。
  21. 符号化シンボルファイル順序を選択するステップが、前記受信された1つまたは複数のパケットの転送の種類に基づいて、前記符号化シンボルファイル順序を選択するステップを含む、請求項20に記載の方法。
  22. パケット交換ネットワークを通じて、電子デバイスまたはシステムから、1つまたは複数のデータオブジェクトを配信する方法であって、前記1つまたは複数のデータオブジェクトのソースデータが、前記ソースデータがパケット中の符号化シンボルから少なくともおおよそ復元可能であるように、前記符号化シンボルによって表され、
    a)ファイル要求およびバイト範囲要求に応答し、ファイルおよびバイト範囲をサービスする、ハイパーテキスト転送プロトコル(「HTTP」)サーバを構成するステップと、
    b)使用される前方誤り訂正(「FEC」)に基づいて要求パターンを決定するステップと、
    c)前記バイト範囲要求に応答するために使われる元順序HTTPファイルの順序を変えるステップと、
    d)前記順序を変えられたHTTPファイルへのアクセス権を、前記HTTPサーバに与えるステップと
    を含み、使用される前記FECに基づく予想される要求が、前記HTTPサーバが前記元順序HTTPファイルへのアクセス権を有するが前記順序を変えられたHTTPファイルへのアクセス権を有さない場合に要求されるバイト範囲の指定よりも狭い、バイト範囲の指定を要求するように、前記順序の変更が行われる、方法。
  23. 前記使われるFECが、データオブジェクトのソースブロックを複数のサブブロックへと分割し、前記ソースブロックがソースシンボルを含み、
    前記順序を変えられたHTTPファイルが、連続的なソースブロックの順序であり、ソースブロック内で、ソースシンボルの順序である、請求項22に記載の方法。
  24. 前記使われるFECが、複数のソースブロックを交互の順序で使い、データオブジェクトのソースブロックを複数のサブブロックへと分割し、前記ソースブロックがソースシンボルを含み、
    前記順序を変えられたHTTPファイルが、ソースブロックの交互の順序であり、ソースブロック内で、ソースシンボルの順序である、請求項22に記載の方法。
JP2013535132A 2010-10-22 2011-10-21 不均一誤り保護および一括ファイル配信サービスを提供するための汎用ファイル配信の方法 Expired - Fee Related JP5788988B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US40609110P 2010-10-22 2010-10-22
US61/406,091 2010-10-22
US13/041,085 2011-03-04
US13/041,085 US9288010B2 (en) 2009-08-19 2011-03-04 Universal file delivery methods for providing unequal error protection and bundled file delivery services
PCT/US2011/057382 WO2012054893A2 (en) 2010-10-22 2011-10-21 Universal file delivery methods for providing unequal error protection and bundled file delivery services

Publications (2)

Publication Number Publication Date
JP2013540408A true JP2013540408A (ja) 2013-10-31
JP5788988B2 JP5788988B2 (ja) 2015-10-07

Family

ID=45972997

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013535132A Expired - Fee Related JP5788988B2 (ja) 2010-10-22 2011-10-21 不均一誤り保護および一括ファイル配信サービスを提供するための汎用ファイル配信の方法

Country Status (6)

Country Link
US (1) US9288010B2 (ja)
EP (1) EP2630766B1 (ja)
JP (1) JP5788988B2 (ja)
KR (1) KR101532849B1 (ja)
CN (1) CN105812098A (ja)
WO (1) WO2012054893A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017513098A (ja) * 2014-03-21 2017-05-25 インテル コーポレイション ファウンテンコードを用いる管理情報のブロードキャスト

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7068729B2 (en) * 2001-12-21 2006-06-27 Digital Fountain, Inc. Multi-stage code generator and decoder for communication systems
US6307487B1 (en) * 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive 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
CN100539439C (zh) * 2002-10-05 2009-09-09 数字方敦股份有限公司 连锁反应码的系统编码和解码系统和方法
EP1665539B1 (en) 2003-10-06 2013-04-10 Digital Fountain, Inc. Soft-Decision Decoding of Multi-Stage Chain Reaction Codes
CN101019326B (zh) * 2004-05-07 2013-02-27 数字方敦股份有限公司 文件下载和流系统
US9136983B2 (en) * 2006-02-13 2015-09-15 Digital Fountain, Inc. Streaming and buffering using variable FEC overhead and protection periods
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
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
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
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
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
EP2203836A4 (en) 2007-09-12 2014-11-05 Digital Fountain Inc GENERATING AND COMMUNICATING SOURCE IDENTIFICATION INFORMATION TO ENABLE RELIABLE COMMUNICATIONS
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
US9015564B2 (en) 2009-08-19 2015-04-21 Qualcomm Incorporated Content delivery system with allocation of source data and repair data among HTTP servers
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
US20110096828A1 (en) * 2009-09-22 2011-04-28 Qualcomm Incorporated Enhanced block-request streaming using scalable encoding
US9485546B2 (en) 2010-06-29 2016-11-01 Qualcomm Incorporated Signaling video samples for trick mode video representations
US8918533B2 (en) 2010-07-13 2014-12-23 Qualcomm Incorporated Video switching for streaming video data
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US9319448B2 (en) 2010-08-10 2016-04-19 Qualcomm Incorporated Trick modes for network streaming of coded multimedia data
JP5529177B2 (ja) * 2011-01-19 2014-06-25 ネイバー ビジネス プラットフォーム コーポレーション P2p基盤のストリーミングサービスでバッファリングを行うシステムおよび方法、並びにクライアントでバッファリングを処理するアプリケーションを配布するシステム
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
US9258344B2 (en) * 2011-08-01 2016-02-09 Intel Corporation Multi-hop single sign-on (SSO) for identity provider (IdP) roaming/proxy
US9590814B2 (en) * 2011-08-01 2017-03-07 Qualcomm Incorporated Method and apparatus for transport of dynamic adaptive streaming over HTTP (DASH) initialization segment description fragments as user service description fragments
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
KR102127685B1 (ko) 2013-04-17 2020-06-29 삼성전자주식회사 순방향 오류 정정 패킷 송수신 장치 및 방법
US9560390B2 (en) * 2014-07-07 2017-01-31 Alcatel-Lucent Usa Inc. Asynchronous encoding of digital content
US20170060700A1 (en) 2015-08-28 2017-03-02 Qualcomm Incorporated Systems and methods for verification of code resiliency for data storage
US9998534B2 (en) * 2016-08-24 2018-06-12 International Business Machines Corporation Peer-to-peer seed assurance protocol
US10313223B2 (en) 2016-12-14 2019-06-04 Level 3 Communications, Llc Object integrity verification in a content delivery network (CDN)
US10833710B2 (en) 2017-06-29 2020-11-10 Cisco Technology, Inc. Bandwidth efficient FEC scheme supporting uneven levels of protection
CN109687934B (zh) * 2017-10-18 2020-05-26 上海交通大学 基于媒体内容的自适应系统码fec方法、装置及系统
CN110138451B (zh) * 2018-02-08 2020-12-04 华为技术有限公司 一种用于无线光通信的方法及通信装置
WO2019154065A1 (zh) * 2018-02-08 2019-08-15 华为技术有限公司 一种用于无线光通信的方法及通信装置
WO2023050147A1 (zh) * 2021-09-29 2023-04-06 长江存储科技有限责任公司 用于存储器的数据保护方法及其存储装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008508761A (ja) * 2004-07-30 2008-03-21 ノキア コーポレイション ポイント・ツー・マルチポイント送信システム用のポイント・ツー・ポイントリペア要求メカニズム

Family Cites Families (515)

* Cited by examiner, † Cited by third party
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
US7594250B2 (en) 1992-04-02 2009-09-22 Debey Henry C Method and system of program transmission optimization using a redundant transmission sequence
US5421031A (en) 1989-08-23 1995-05-30 Delta Beta Pty. Ltd. Program transmission optimisation
US5701582A (en) 1989-08-23 1997-12-23 Delta Beta Pty. Ltd. Method and apparatus for efficient transmissions of programs
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
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 가나이 쓰도무 디지탈방송신호의 수신장치와 수신 및 기록재생장치
US6011590A (en) 1997-01-03 2000-01-04 Ncr Corporation Method of transmitting compressed information to minimize buffer space
US6141053A (en) 1997-01-03 2000-10-31 Saukkonen; Jukka I. Method of optimizing bandwidth for transmitting compressed video data streams
US6044485A (en) 1997-01-03 2000-03-28 Ericsson Inc. Transmitter method and transmission system using adaptive coding based on channel characteristics
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
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
EP0933768A4 (en) 1997-05-19 2000-10-04 Sanyo Electric Co DIGITAL MODULATION AND DEMODULATION
JP4110593B2 (ja) 1997-05-19 2008-07-02 ソニー株式会社 信号記録方法及び信号記録装置
JPH1141211A (ja) 1997-05-19 1999-02-12 Sanyo Electric Co Ltd ディジタル変調回路と変調方法、ディジタル復調回路と復調方法
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
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
US6081909A (en) 1997-11-06 2000-06-27 Digital Equipment Corporation Irregularly graphed encoding technique
US6163870A (en) 1997-11-06 2000-12-19 Compaq Computer Corporation Message encoding with irregular graphing
US6073250A (en) 1997-11-06 2000-06-06 Luby; Michael G. Loss resilient decoding technique
JP3472115B2 (ja) 1997-11-25 2003-12-02 Kddi株式会社 マルチチャンネルを用いるビデオデータ伝送方法及びその装置
US5870412A (en) 1997-12-12 1999-02-09 3Com Corporation Forward error correction system for packet based real time media
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
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
KR100778647B1 (ko) 1998-09-04 2007-11-22 에이티 앤드 티 코포레이션 다중-안테나 장치내의 결합된 채널 코딩 및 공간-블록 코딩
US6415326B1 (en) 1998-09-15 2002-07-02 Microsoft Corporation Timeline correlation between multiple timeline-altered media streams
US6307487B1 (en) 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US7243285B2 (en) 1998-09-23 2007-07-10 Digital Fountain, Inc. Systems and methods for broadcasting information additive codes
US7068729B2 (en) 2001-12-21 2006-06-27 Digital Fountain, Inc. Multi-stage code generator and decoder for communication systems
US6320520B1 (en) 1998-09-23 2001-11-20 Digital Fountain Information additive group code generator and decoder for communications 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
KR100784652B1 (ko) 1999-05-06 2007-12-12 소니 가부시끼 가이샤 데이터 처리 방법/장치, 데이터 재생 방법/장치, 및 기록매체
KR100416996B1 (ko) 1999-05-10 2004-02-05 삼성전자주식회사 이동 통신시스템에서 라디오링크프로토콜에 따른 가변 길이의 데이터 송수신 장치 및 방법
AU5140200A (en) 1999-05-26 2000-12-18 Enounce, Incorporated Method and apparatus for controlling time-scale modification during multi-media broadcasts
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
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
US6279072B1 (en) 1999-07-22 2001-08-21 Micron Technology, Inc. Reconfigurable memory with selectable error correction storage
JP3451221B2 (ja) 1999-07-22 2003-09-29 日本無線株式会社 誤り訂正符号化装置、方法及び媒体、並びに誤り訂正符号復号装置、方法及び媒体
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 ソニー株式会社 送信装置、受信装置、通信システム、送信方法及び通信方法
DE60033011T2 (de) 1999-09-27 2007-08-09 Koninklijke Philips Electronics N.V. Aufteilung einer datei zur emulation eines datenstroms
JP2001094625A (ja) 1999-09-27 2001-04-06 Canon Inc データ通信装置、データ通信方法及び記憶媒体
US7529806B1 (en) 1999-11-04 2009-05-05 Koninklijke Philips Electronics N.V. Partitioning of MP3 content file for emulating streaming
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
WO2001057667A1 (en) 2000-02-03 2001-08-09 Bandwiz, Inc. Data streaming
IL140504A0 (en) 2000-02-03 2002-02-10 Bandwiz Inc Broadcast system
JP2001251287A (ja) 2000-02-24 2001-09-14 Geneticware Corp Ltd ハードウエア保護内部秘匿鍵及び可変パスコードを利用する機密データ伝送方法
US6765866B1 (en) 2000-02-29 2004-07-20 Mosaid Technologies, Inc. Link aggregation
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
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 情報データ伝送システムとその送信装置及び受信装置
US6851086B2 (en) 2000-03-31 2005-02-01 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
US6694476B1 (en) 2000-06-02 2004-02-17 Vitesse Semiconductor Corporation Reed-solomon encoder and decoder
US6738942B1 (en) 2000-06-02 2004-05-18 Vitesse Semiconductor Corporation Product code based forward error correction system
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
US6486803B1 (en) 2000-09-22 2002-11-26 Digital Fountain, Inc. On demand encoding with a window
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
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
CA2429827C (en) 2000-12-15 2009-08-25 British Telecommunications Public Limited Company Transmission and reception of audio and/or video material
KR100908954B1 (ko) 2000-12-15 2009-07-22 브리티쉬 텔리커뮤니케이션즈 파블릭 리미티드 캄퍼니 오디오 또는 비디오 자료의 전송방법 및 장치
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
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
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
EP1670260A3 (en) 2002-01-23 2010-03-03 Nokia Corporation Grouping of image frames in video coding
CN1625880B (zh) 2002-01-30 2010-08-11 Nxp股份有限公司 在具有可变带宽的网络上流式传输多媒体数据
WO2003071440A1 (en) 2002-02-15 2003-08-28 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
AU2003221958B2 (en) 2002-04-15 2008-03-06 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 松下電器産業株式会社 データ受信装置及びデータ配信システム
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
US7570665B2 (en) 2002-06-11 2009-08-04 Telefonaktiebolaget L M Ericsson (Publ) Generation of mixed media streams
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
CN100479333C (zh) 2002-06-11 2009-04-15 数字方敦股份有限公司 通过被恢复符号的钝化作用对链式反应代码解码的装置和方法
US6956875B2 (en) 2002-06-19 2005-10-18 Atlinks Usa, Inc. Technique for communicating variable bit rate data over a constant bit rate link
JP4120461B2 (ja) 2002-07-12 2008-07-16 住友電気工業株式会社 伝送データ生成方法及び伝送データ生成装置
US7664126B2 (en) 2002-07-31 2010-02-16 Sharp Kabushiki Kaisha Data communication apparatus, intermittent communication method therefor, program describing the method and recording medium for recording the program
JP2004070712A (ja) 2002-08-07 2004-03-04 Nippon Telegr & Teleph Corp <Ntt> データ配信方法,データ配信システム,分割配信データ受信方法,分割配信データ受信装置および分割配信データ受信プログラム
EP1529389B1 (en) 2002-08-13 2016-03-16 Nokia Technologies Oy Symbol interleaving
US6985459B2 (en) 2002-08-21 2006-01-10 Qualcomm Incorporated Early transmission and playout of packets in wireless communication systems
JP3836858B2 (ja) 2002-09-27 2006-10-25 富士通株式会社 データ配信方法、システム、伝送方法及びプログラム
JP3534742B1 (ja) 2002-10-03 2004-06-07 株式会社エヌ・ティ・ティ・ドコモ 動画像復号方法、動画像復号装置、及び動画像復号プログラム
CN100539439C (zh) 2002-10-05 2009-09-09 数字方敦股份有限公司 连锁反应码的系统编码和解码系统和方法
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
WO2004040831A1 (en) 2002-10-30 2004-05-13 Koninklijke Philips Electronics N.V. Adaptative forward error control scheme
JP2004165922A (ja) 2002-11-12 2004-06-10 Sony Corp 情報処理装置および方法、並びにプログラム
GB0226872D0 (en) 2002-11-18 2002-12-24 British Telecomm Video transmission
US7760801B2 (en) 2002-11-18 2010-07-20 British Telecommunications Public Limited Company Transmission of video
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
US7756002B2 (en) 2003-01-30 2010-07-13 Texas Instruments Incorporated Time-frequency interleaved orthogonal frequency division multiplexing ultra wide band physical layer
US7525994B2 (en) 2003-01-30 2009-04-28 Avaya Inc. Packet data flow identification for multiplexing
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
JP2004343701A (ja) 2003-04-21 2004-12-02 Matsushita Electric Ind Co Ltd データ受信再生装置、データ受信再生方法及びデータ受信再生処理プログラム
US7408486B2 (en) 2003-04-21 2008-08-05 Qbit Corporation System and method for using a microlet-based modem
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エンコード装置
EP1632081B1 (en) * 2003-05-23 2016-08-17 Kirusa, Inc. A method and system for communicating a data file over a network and teleconferencing over a telephony network
JP2004362099A (ja) 2003-06-03 2004-12-24 Sony Corp サーバ装置、情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
CA2528261A1 (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
CN1864359B (zh) 2003-08-21 2012-04-18 高通股份有限公司 用于广播和组播内容跨小区边界和/或不同传送方案之间的无缝传送的方法和相关装置
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
IL157885A0 (en) 2003-09-11 2004-03-28 Bamboo Mediacasting Ltd Iterative forward error correction
IL157886A0 (en) 2003-09-11 2009-02-11 Bamboo Mediacasting Ltd Secure multicast transmission
JP4183586B2 (ja) 2003-09-12 2008-11-19 三洋電機株式会社 映像表示装置
WO2005029237A2 (en) 2003-09-15 2005-03-31 Digital Networks North America, Inc. Method and system for adaptive transcoding and transrating in a video network
KR100608715B1 (ko) 2003-09-27 2006-08-04 엘지전자 주식회사 QoS보장형 멀티미디어 스트리밍 서비스 시스템 및 방법
EP1521373B1 (en) 2003-09-30 2006-08-23 Telefonaktiebolaget LM Ericsson (publ) In-place data deinterleaving
US7559004B1 (en) 2003-10-01 2009-07-07 Sandisk Corporation Dynamic redundant area configuration in a non-volatile memory system
EP1665539B1 (en) 2003-10-06 2013-04-10 Digital Fountain, Inc. Soft-Decision Decoding of Multi-Stage Chain Reaction Codes
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
US8132215B2 (en) 2003-10-27 2012-03-06 Panasonic Corporation Apparatus for receiving 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
JP4787167B2 (ja) 2003-12-01 2011-10-05 デジタル ファウンテン, インコーポレイテッド サブシンボル・ベース符号を使用する消去からのデータの保護
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 삼성전자주식회사 고속 무선 데이터 시스템을 위한 가변 부호율의 오류 정정부호 생성 및 복호 장치 및 방법
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
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
WO2005096301A1 (en) 2004-03-30 2005-10-13 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
US7633970B2 (en) 2004-05-07 2009-12-15 Agere Systems Inc. MAC header compression for use with frame aggregation
CN101019326B (zh) 2004-05-07 2013-02-27 数字方敦股份有限公司 文件下载和流系统
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
US7139660B2 (en) 2004-07-14 2006-11-21 General Motors Corporation System and method for changing motor vehicle personalization settings
US8112531B2 (en) 2004-07-14 2012-02-07 Nokia Corporation Grouping of session objects
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
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
US20080196061A1 (en) 2004-11-22 2008-08-14 Boyce Jill Macdonald Method and Apparatus for Channel Change in Dsl System
CN101061659B (zh) 2004-12-02 2015-04-29 汤姆逊许可公司 自适应前向纠错的方法和设备
KR20060065482A (ko) 2004-12-10 2006-06-14 마이크로소프트 코포레이션 스트리밍 미디어 데이터의 코딩 비트 레이트의 제어 시스템및 프로세스
JP2006174045A (ja) 2004-12-15 2006-06-29 Ntt Communications Kk 画像配信装置、プログラム及び方法
JP2006174032A (ja) 2004-12-15 2006-06-29 Sanyo Electric Co Ltd 画像データ伝送システム、画像データ受信装置及び画像データ送信装置
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 株式会社第一興商 高能率符号化された時系列情報をリアルタイム・ストリーミング送信し受信再生する方法と受信装置
WO2006084503A1 (en) 2005-02-08 2006-08-17 Telefonaktiebolaget Lm Ericsson (Publ) On-demand multi-channel streaming session over packet-switched networks
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
EP1856911A4 (en) 2005-03-07 2010-02-24 Ericsson Telefon Ab L M SWITCHING MULTIMEDIA CHANNELS
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
RU2377736C2 (ru) 2005-04-13 2009-12-27 Нокиа Корпорейшн Кодирование, хранение и передача информации о масштабируемости
JP4515319B2 (ja) 2005-04-27 2010-07-28 株式会社日立製作所 コンピュータシステム
US8683066B2 (en) 2007-08-06 2014-03-25 DISH Digital L.L.C. Apparatus, system, and method for multi-bitrate content streaming
US7961700B2 (en) 2005-04-28 2011-06-14 Qualcomm Incorporated Multi-carrier operation in data transmission systems
JP2006319743A (ja) 2005-05-13 2006-11-24 Toshiba Corp 受信装置
EP1884063A1 (en) 2005-05-24 2008-02-06 Nokia Corporation Method and apparatuses for hierarchical transmission/reception in digital broadcast
US7644335B2 (en) 2005-06-10 2010-01-05 Qualcomm Incorporated In-place transformations with applications to encoding and decoding various classes of codes
US7676735B2 (en) 2005-06-10 2010-03-09 Digital Fountain Inc. Forward error-correcting (FEC) coding and streaming
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
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
US20070078876A1 (en) 2005-09-30 2007-04-05 Yahoo! Inc. Generating a stream of media data containing portions of media files using location tags
CA2562212C (en) 2005-10-05 2012-07-10 Lg Electronics Inc. Method of processing traffic information and digital broadcast 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
CN100442858C (zh) 2005-10-11 2008-12-10 华为技术有限公司 分组网络中多媒体实时传输的唇同步方法及其装置
US7720096B2 (en) 2005-10-13 2010-05-18 Microsoft Corporation RTP payload format for VC-1
JP4727401B2 (ja) 2005-12-02 2011-07-20 日本電信電話株式会社 無線マルチキャスト伝送システム、無線送信装置及び無線マルチキャスト伝送方法
JP4456064B2 (ja) 2005-12-21 2010-04-28 日本電信電話株式会社 パケット送信装置、受信装置、システム、およびプログラム
US8225164B2 (en) 2006-01-05 2012-07-17 Telefonaktiebolaget Lm Ericsson (Publ) Media container file management
US8214516B2 (en) 2006-01-06 2012-07-03 Google Inc. Dynamic media serving infrastructure
CN101390399B (zh) 2006-01-11 2010-12-01 诺基亚公司 可伸缩视频编码中的图片的后向兼容聚合
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
US8990153B2 (en) 2006-02-07 2015-03-24 Dot Hill Systems Corporation Pull data replication model
CN101379712B (zh) 2006-02-08 2011-12-14 汤姆森特许公司 瑞普特代码的解码
US9136983B2 (en) * 2006-02-13 2015-09-15 Digital Fountain, Inc. Streaming and buffering using variable FEC overhead and protection periods
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
WO2007127741A2 (en) 2006-04-24 2007-11-08 Sun Microsystems, Inc. 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
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
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US20100211690A1 (en) 2009-02-13 2010-08-19 Digital Fountain, Inc. Block partitioning for a data stream
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
TWM302355U (en) 2006-06-09 2006-12-11 Jia-Bau Jeng Fixation and cushion structure of knee joint
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
JP2008011404A (ja) 2006-06-30 2008-01-17 Toshiba Corp コンテンツ処理装置及びコンテンツ処理方法
JP4392004B2 (ja) 2006-07-03 2009-12-24 インターナショナル・ビジネス・マシーンズ・コーポレーション パケット回復のための符号化および復号化技術
CN102148857A (zh) 2006-07-20 2011-08-10 桑迪士克股份有限公司 内容分布系统
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
WO2008023328A2 (en) 2006-08-24 2008-02-28 Nokia Corporation System and method for indicating track relationships in media files
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
JP2008109637A (ja) 2006-09-25 2008-05-08 Toshiba Corp 動画像符号化装置及びその方法
EP2084928B1 (en) 2006-10-30 2017-08-23 LG Electronics Inc. Method 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
AU2007319261B2 (en) 2006-11-14 2010-12-16 Qualcomm Incorporated Systems and methods for channel switching
US8027328B2 (en) 2006-12-26 2011-09-27 Alcatel Lucent Header compression in a wireless communication network
CN101636726B (zh) 2007-01-05 2013-10-30 Divx有限责任公司 包含连续播放的视频分配系统
CN101669323A (zh) 2007-01-09 2010-03-10 诺基亚公司 用于在mbms文件修复中支持文件版本控制的方法
WO2008084876A1 (en) 2007-01-11 2008-07-17 Panasonic Corporation Method for trick playing on streamed and encrypted multimedia
US20080172430A1 (en) 2007-01-11 2008-07-17 Andrew Thomas Thorstensen Fragmentation Compression Management
KR20080066408A (ko) 2007-01-12 2008-07-16 삼성전자주식회사 3차원 영상 처리 장치 및 방법
EP3041195A1 (en) 2007-01-12 2016-07-06 University-Industry Cooperation Group Of Kyung Hee University Packet format of network abstraction layer unit, and algorithm and apparatus for video encoding and decoding using the format
US7949195B2 (en) 2007-01-16 2011-05-24 Cisco Technology, Inc. Per block 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
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
WO2008144001A1 (en) 2007-05-16 2008-11-27 Thomson Licensing Apparatus and method for encoding and decoding signals
US8274551B2 (en) 2007-06-11 2012-09-25 Samsung Electronics Co., Ltd. Method and apparatus for generating header information of stereoscopic image data
CN101690229A (zh) 2007-06-26 2010-03-31 诺基亚公司 用于指示时间层切换点的系统和方法
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
EP2203836A4 (en) 2007-09-12 2014-11-05 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
US7796648B2 (en) 2007-10-09 2010-09-14 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
WO2009065526A1 (en) 2007-11-23 2009-05-28 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
WO2009075766A2 (en) 2007-12-05 2009-06-18 Swarmcast, Inc. Dynamic bit rate scaling
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
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
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
WO2009128642A2 (en) 2008-04-14 2009-10-22 Lg Electronics Inc. Method and apparatus for performing random access procedures
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) Быстрое переключение канала и защита потоковой передачи высокого качества по широковещательному каналу
US7979570B2 (en) 2008-05-12 2011-07-12 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 腾讯科技(深圳)有限公司 媒体文件的点播方法、系统和设备
US7860996B2 (en) 2008-05-30 2010-12-28 Microsoft Corporation Media streaming with seamless ad insertion
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
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
US20100169458A1 (en) 2008-12-31 2010-07-01 David Biderman 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 Томсон Лайсенсинг Упаковка кадров для кодирования видео
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
US8909806B2 (en) 2009-03-16 2014-12-09 Microsoft Corporation Delivering cacheable streaming media presentations
US8621044B2 (en) 2009-03-16 2013-12-31 Microsoft Corporation Smooth, stateless client media streaming
US9807468B2 (en) 2009-06-16 2017-10-31 Microsoft Technology Licensing, Llc Byte range caching
US8903895B2 (en) 2009-07-22 2014-12-02 Xinlab, 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
CA2772100C (en) 2009-09-02 2016-06-28 Hang Zhang 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 コンテンツ再生システム、コンテンツ再生装置、プログラム、コンテンツ再生方法、およびコンテンツサーバを提供
RU2622621C2 (ru) 2009-11-04 2017-06-16 Амотек Ко., Лтд. Система и способ для потоковой передачи воспроизводимого контента
KR101786051B1 (ko) 2009-11-13 2017-10-16 삼성전자 주식회사 데이터 제공 방법 및 장치와 데이터 수신 방법 및 장치
KR101786050B1 (ko) 2009-11-13 2017-10-16 삼성전자 주식회사 데이터 전송 방법 및 장치
CN101729857A (zh) 2009-11-24 2010-06-09 中兴通讯股份有限公司 一种接入视频服务的方法及视频播放系统
CN102687518B (zh) 2009-12-11 2016-06-01 诺基亚技术有限公司 用于流媒体文件内表示的描述和定时的装置及方法
JP5996439B2 (ja) 2010-02-19 2016-09-21 テレフオンアクチーボラゲット エルエム エリクソン(パブル) Httpストリーミングにおける表現切り替えのための方法及び装置
KR101709903B1 (ko) 2010-02-19 2017-02-23 텔레폰악티에볼라겟엘엠에릭슨(펍) 에이치티티피 스트리밍에서 적응화를 위한 방법 및 장치
JP5071495B2 (ja) 2010-03-04 2012-11-14 ウシオ電機株式会社 光源装置
JP2013522949A (ja) 2010-03-11 2013-06-13 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュート Mimoシステムにおけるデータを送受信する方法及び装置
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
US9131033B2 (en) 2010-07-20 2015-09-08 Qualcomm Incoporated Providing sequence data sets for streaming video data
KR20120010089A (ko) 2010-07-20 2012-02-02 삼성전자주식회사 Http 기반의 멀티미디어 스트리밍 서비스의 품질 향상을 위한 방법 및 장치
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
US9319448B2 (en) 2010-08-10 2016-04-19 Qualcomm Incorporated Trick modes 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
US20120208580A1 (en) 2011-02-11 2012-08-16 Qualcomm Incorporated Forward error correction scheduling for an improved radio link protocol
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008508761A (ja) * 2004-07-30 2008-03-21 ノキア コーポレイション ポイント・ツー・マルチポイント送信システム用のポイント・ツー・ポイントリペア要求メカニズム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6014006744; M.Luby , et al.: 'RaptorQ Forword Error Corection Scheme for Object Delivery' draft-ietf-rmt-bb-fec-raptorq-04 , 20100824, p.1,5-12,18 *
JPN6014006746; M.Luby: 'Simple Forward Error Correction (FEC) Schemes' draft-luby-rmt-bb-fec-supp-simple-00.txt , 200406 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017513098A (ja) * 2014-03-21 2017-05-25 インテル コーポレイション ファウンテンコードを用いる管理情報のブロードキャスト

Also Published As

Publication number Publication date
JP5788988B2 (ja) 2015-10-07
WO2012054893A3 (en) 2012-06-14
KR20130084301A (ko) 2013-07-24
CN105812098A (zh) 2016-07-27
CN103168457A (zh) 2013-06-19
US20120099593A1 (en) 2012-04-26
US9288010B2 (en) 2016-03-15
EP2630766B1 (en) 2017-01-04
WO2012054893A2 (en) 2012-04-26
KR101532849B1 (ko) 2015-06-30
WO2012054893A9 (en) 2013-04-25
EP2630766A2 (en) 2013-08-28

Similar Documents

Publication Publication Date Title
JP5788988B2 (ja) 不均一誤り保護および一括ファイル配信サービスを提供するための汎用ファイル配信の方法
US9350488B2 (en) Content delivery system with allocation of source data and repair data among HTTP servers
JP5795446B2 (ja) Httpサーバの間でのソースデータおよび修復データの割り当てを伴うコンテンツ配送システム
US7853856B2 (en) Forming of error correction data
TW200849877A (en) A method to support forward error correction for real-time audio and video data over internet protocol networks
JP5823598B2 (ja) 通信システムにおけるオブジェクトのブロックアグリゲーション
US9294227B2 (en) LT staircase FEC code
JP4875055B2 (ja) 線形抹消コードを提供する方法と装置
MX2014013560A (es) Aparato y metodo de transmision y recepcion de paquete en sistema de radiofusion y comunicacion.
US8484540B2 (en) Data transmitting device, control method therefor, and program
WO2018082816A1 (en) Retransmission technique
JP5587735B2 (ja) データ伝送方法およびネットワークノード
RU2646346C2 (ru) Устройство и способ передачи и приема пакета с прямой коррекцией ошибок
KR101967884B1 (ko) 방송 및 통신 시스템에서 패킷 송/수신 장치 및 방법
JP5086980B2 (ja) 一方向伝送路に用いる送信端末、受信端末及び伝送システム
Nazir et al. Application layer systematic network coding for sliced H. 264/AVC video streaming
Gasiba et al. Reliable and efficient download delivery with Raptor codes
de Fez et al. Performance evaluation of AL-FEC LDPC codes for push content applications in wireless unidirectional environments
KR102014710B1 (ko) 방송 및 통신 시스템에서 패킷 송/수신 장치 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130502

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150216

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150706

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150730

R150 Certificate of patent or registration of utility model

Ref document number: 5788988

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees