JP5485302B2 - ファイルダウンロードおよびストリーミングのシステム - Google Patents

ファイルダウンロードおよびストリーミングのシステム Download PDF

Info

Publication number
JP5485302B2
JP5485302B2 JP2012000796A JP2012000796A JP5485302B2 JP 5485302 B2 JP5485302 B2 JP 5485302B2 JP 2012000796 A JP2012000796 A JP 2012000796A JP 2012000796 A JP2012000796 A JP 2012000796A JP 5485302 B2 JP5485302 B2 JP 5485302B2
Authority
JP
Japan
Prior art keywords
symbols
symbol
input
redundant
output
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.)
Active
Application number
JP2012000796A
Other languages
English (en)
Other versions
JP2012114929A (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 JP2012114929A publication Critical patent/JP2012114929A/ja
Application granted granted Critical
Publication of JP5485302B2 publication Critical patent/JP5485302B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/32Carrier systems characterised by combinations of two or more of the types covered by groups H04L27/02, H04L27/10, H04L27/18 or H04L27/26
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3761Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using code combining, i.e. using combining of codeword portions which may have been transmitted separately, e.g. Digital Fountain codes, Raptor codes or Luby Transform [LT] codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes
    • H04L1/0065Serial concatenated codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/02Amplitude-modulated carrier systems, e.g. using on-off keying; Single sideband or vestigial sideband modulation
    • H04L27/06Demodulator circuits; Receiver circuits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Digital Transmission Methods That Use Modulated Carrier Waves (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

関連技術
[35 U.S.C.§119下における優先権の主張]
本願は、2004年5月7日に提出された仮米国特許出願第60/569,127号(表題「ファイルダウンロードおよびストリーミングのシステム(FILE DOWNLOAD AND STREAMING SYSTEM)」)に基づいて優先権を主張する。上記の仮米国特許出願は、全ての目的のためにその全体がここにおいて組み込まれる。
本発明は、通信システムにおける符号化、復号化に関するものであり、より詳細には通信データの誤りおよびギャップを考慮した符号化、復号化を行う通信システムに関するものである。実施形態において、データは、ブロードキャストまたはマルチキャスト無線ネットワークを介して受信機に送信される。
送り手と受け手との間で通信チャネルを介して行うファイルおよびストリームの転送は多くの文献の主題として取り上げられてきた。好ましくは、受け手は、送り手からチャネルを介して送信される正確なデータのコピーをあるレベルの確実性をもって受信することを望む。ほとんどの物理的に実現可能なシステムがそうであるように、チャネルは完全な忠実度を有していないため、伝送により消失するか歪められるデータを取り扱う方法に関心が生じる。受け手は、いつ破損データが誤ってデータ受信されたかの判断を常に行えるとは限らないので、通常、破損データ(誤り)に比較し欠落データ(消去)を取扱うのは容易である。多くの誤り訂正符号は、消去および/または誤りを修正するために開発された。一般的に、データが送信されているチャネルおよび送信されているデータの性質の不忠実度に関する何らかの情報に基づいて使用する特定の符号(コード)が選択される。たとえば、チャネルが長期間の不忠実度を有することが既知の場合、そのアプリケーションのためにはバースト誤り符号が最適であり得る。短くまれな誤りだけが予想される場合、簡単なパリティ符号が最善であり得る。
送信機および受信機が通信のために必要とされる演算能力および電力の全てを有し、送受信装置間のチャネルが相対的にエラーフリーの通信を可能とするのに十分クリーンであるときに、データ転送は直接なされる。そして、チャネルが悪環境であるか、または、送信機および/または受信機の能力が制限されている場合に、データ転送の問題はより難しくなる。
1つの解決策は、受信機が転送における消去および誤りから回復可能とするために、データを送信機で符号化する前方エラー訂正(FEC)技術を活用する方法である。受信機が送信機に誤りについての通信が可能な受信機から送信機への逆方向チャネルが利用可能な場合、その伝送プロセスを調整可能である。しかし、しばしば逆方向チャネルは利用可能ではない。たとえば、送信機が多数の受信機に対して送信している場合、送信機はそれらの全ての受信機からの逆方向チャネルを処理することが可能でないかもしれない。その結果、通信プロトコルはしばしば逆方向チャネルなしで設計されることを必要とし、そして、送信機はこれらのチャネル状況の全容無しに広く様々なチャネル状況を取扱わなければならないかもしれない。
受信機がポータブルまたは移動可能である低出力の小型デバイスであり高帯域でデータを受信することを必要とする場合、送信機と受信機間のデータ転送の問題はより難しくなる。たとえば、ファイルまたはストリームをブロードキャストまたはマルチキャストにより、固定された送信機から多数もしくは不確定数のポータブルまたは移動可能な受信機に配信するよう設定される無線ネットワークであり、受信機が演算能力、記憶容量、利用できる電力、アンテナサイズ、デバイスサイズおよびその他の設計制約条件において拘束される場合である。
このようなシステムでは、逆方向チャネルが少ないか皆無であり、メモリ制限、コンピューティングサイクル制限、移動可能性およびタイミングを含む考慮が必要である。各々の受信機の電源の予測不可能なオン/オフ、範囲の出入り、リンクエラー、セル切替、セル内輻輳によるファイルまたはストリームパケットに対する強制的一時的な優先度引き下げなどにより損失が発生するため、望ましくは、潜在的に大きい数の受信機に配信するために必要なデータの転送時間の最小化するよう設計しなければならない。
データ転送のために使用するパケットプロトコルの場合、パケット網を通じて送信されるファイル、ストリームまたは他のデータブロックは等しいサイズの入力シンボルに分割され、入力シンボルは連続的なパケットに置かれる。入力シンボルが実際にビットストリームに分解されるか否かに関わらず、入力シンボルの”サイズ”はビット単位で測定することができ、ここで、入力シンボルが2個のシンボルのアルファベットから選択されるとき、その入力シンボルはMビットのサイズを有する。この種のパケットベースの通信システムにおいて、パケット指向符号化スキームが適切である。意図された受け手が、ネットワーク中での消去にもかかわらずオリジナルファイルの正確なコピーを回復可能な場合、ファイル送信は信頼性が高いといわれる。意図された受け手がネットワーク中での消去にもかかわらずタイムリーなやり方でストリームの各部の正確なコピーを回復可能な場合、そのストリームの送信は信頼性が高いといわれる。そのファイルまたはストリームの一部が回復可能でない、または、ストリーミングに関してそのストリームの一部がタイムリーなやり方で回復可能ではない場合などには、ファイル送信およびストリーム送信は共に信頼できないものになり得る。散発的な輻輳の発生のためにルータのバッファリングメカニズムは処理限界に達し、入ってきたパケットは強制的にドロップされるので、パケット損失がしばしば生じる。そのため、転送中の消去に対する保護について多くの研究がなされてきた。
ファイルまたはストリームの入力シンボルから任意数の出力シンボルを生成する連鎖反応符号(chain reaction codes)を使用することが知られている。受信機が、既に知っているデータを複製する追加データを受信する情報複製の方法に対して、この方法には情報付加的な出力シンボルの生成を含む多くの用途がある。連鎖反応符号を生成、利用、動作している新規の技術がいくつか公開されており、たとえば、Lubyに発行される米国特許第6,307,487号”Information Additive Code Generator and Decoder for Communication Systems”(”ルビーI”)、Lubyらに発行される米国特許第6,320,520号”Information Additive Group Code Generator and Decoder for Communication Systems”(以下、”ルビーII”)、そして、2003年3月27日にショクロラヒらに発行された米国特許公開2003/0058958号”Multi-Stage Code Generator and Decoder for Communication Systems”(以下、”ショクロラヒ”)に示されている。許可される範囲において、全ての目的のためこれらの全ての開示を本願明細書に引用する。
連鎖反応符号器により作成される出力シンボルの特性の1つとして、受信機は十分な出力シンボルを受信するとすぐにオリジナルファイルまたはオリジナルストリームのブロックを回復することが可能であるということがある。具体的には、高確率を有するオリジナルのK個の入力シンボルを回復するために、受信機はおよそK+A個の出力シンボルを必要とする。ここで、比A/Kは”相対的受信オーバーヘッド”と呼ばれる。相対的受信オーバーヘッドは、入力シンボル数K、および、復号器の信頼性に依存する。たとえば、ある特定実施形態において、K=60,000であり、少なくとも1−10−8の確率で入力ファイルまたはストリームのブロックを復号器が復号化可能な相対的受信オーバーヘッドが5%の場合、K=10,000では、相対的受信オーバーヘッドが15%の場合同様の確率で復号化可能となる。ある実施形態においては、連鎖反応符号の相対的受信オーバーヘッドは(13*sqrt(K)+200)/Kとして計算することが出来、ここで、sqrt(K)は入力シンボル数Kの二乗根である。この実施形態において、連鎖反応符号の相対的受信オーバーヘッドは、Kが小さい値であるほど大きくなる傾向がある。
ルビーI、ルビーIIおよびショクロラヒは、本発明による特定の実施形態において使用可能なシステム及び方法の教示を提供する。しかしながら、それらのシステム及び方法は、本発明および他の多くのバリエーション、変更態様を必要とせず、代替物が使用可能であることが理解できるであろう。
また、例えば、ショクラヒ氏の文献に記載され、商標名「Raptor」符号としてデジタルファウンテン社により開発されたような、マルチステージ連鎖反応(multi-stage chain reaction)(”MSCR”)符号を使用することも公知である。マルチステージ連鎖反応符号は、たとえば、ソースファイルまたはソースストリームから入力シンボルを受信し、そこから中間シンボルを生成し、連鎖反応符号を用いて中間シンボルを符号化する符号器において用いられる。より詳しくは、複数の冗長シンボルは、送信される入力シンボルの順序付けられたセットから生成される。入力シンボルおよび冗長シンボルを含むシンボルの複合セットから複数の出力シンボルが生成され、ここで、可能な出力シンボルの数はシンボルの複合セットの中のシンボルの数よりはるかに大きく、少なくとも一つの出力シンボルは、シンボルの複合セットの中の2以上であって、前記複合セット中のすべてより少ないシンボルから生成され、入力シンボルの順序付けられたセットが任意の所定の数Nの出力シンボルから所望の精度まで再生成されることができる。
用途によっては、他のバリエーションの符号がより適切であり、他のものが選択されることができる。
本発明のある実施形態によれば、通信チャネルを介して転送元から転送先へ送信されるデータを符号化する方法が提供される。その方法は、入力シンボルの順序付けられたセットで動作し、入力シンボルから複数の冗長シンボルを生成することを含む。その方法はまた、入力シンボルおよび冗長シンボルを含むシンボルの複合セットから複数の出力シンボルを生成することを含み、ここにおいて、可能な出力シンボルの数はシンボルの複合セットのシンボルの数よりはるかに大きく、ここにおいて、少なくとも一つの出力シンボルはシンボルの複合セットの中のシンボルの数より多く全てシンボル数より少ないシンボルから生成され、入力シンボルの順序付けられたセットが任意の所定数の出力シンボルからも所望の精度まで再生成されることができるようなシンボルである。複数の冗長シンボルは、第1入力シンボルを使用して算出されるスタティックシンボルの第1セットは、第1入力シンボルと異なる第2入力シンボルを使用して算出されるスタティックシンボルの第2セットと弱い関連性を有するように、決定性プロセスにおいて送信される入力シンボルの順序付けられたセットから生成される。
本発明のさらに別の実施形態によれば、通信チャネルを介して転送先から送信されるデータを受信するシステムは類似した技術を使用して提供される。そのシステムは、通信チャネルを介して送信される出力シンボルを受信するための通信チャネルに結合された受信モジュールを備え、各々の出力シンボルは入力シンボルおよび冗長シンボルの複合セットの少なくとも1つのシンボルから生成され、少なくとも1つの出力シンボルは複合セットの中の1より多く全てより少ないシンボルから生成され、可能な出力シンボルの数は複合セットの中のシンボルの数よりはるかに大きく、入力シンボルは入力シンボルの順序付けられたセットからのものであり、冗長シンボルは入力シンボルから生成され、複数の冗長シンボルは、第1の入力シンボルを使用して算出されるスタティックシンボルの第1セットは、第1の入力シンボルと異なる第2の入力シンボルを使用して算出されるスタティックシンボルの第2セットと弱い関連性を有するように、決定性プロセスにおいて送信される入力シンボルの順序付けられたセットから生成される。
本発明のさらに別の実施形態によれば、搬送波で表現されるコンピュータデータ信号が提供される。
多数の利点が、本発明により達成される。たとえば、ある実施形態においては、チャネルを介して送信されるデータを符号化する計算費用が減少される。さらに他の実施形態において、このデータを復号化する計算費用が減少される。実施形態により、これらの利点の1つ以上を達成できる。これらおよびその他の利点の更なる詳細が、本願明細書全体および特に下記記載により提供される。
本願明細書において開示される本発明の性質および効果の更なる理解は、明細書および添付の図面の残りの部分を参照することで認識される。
図1は、本発明の一実施形態に従う通信システムのブロック図である。 図2は、本発明の一実施形態に従う符号器のブロック図である。 図3は、本発明の一実施形態に従う冗長シンボルを生成する方法の簡略ブロック図である。 図4は、本発明の一実施形態に従うスタティック符号器の基本操作の簡略ブロック図である。 図5は、本発明の一実施形態に従うダイナミック符号器の簡略ブロック図である。 図6は、本発明の一実施形態に従うダイナミック符号器の基本操作の簡略ブロック図である。 図7は、本発明の一実施形態に従うスタティック符号器の簡略ブロック図である。 図8は、本発明の一実施形態に従うスタティック符号器の基本操作の簡略ブロック図である。 図9は、スタティック符号器の一つの特定の実施形態に従う符号化パラメータを算出する方法の簡略図である。 図10は、本発明の他の実施形態に従うスタティック符号器の簡略フローチャートである。 図11は、本発明の一実施形態に従う復号器の簡略ブロック図である。 図12は、本発明の一実施形態に従う復号器の動作の簡略フローチャートである。 図13は、本発明の他の実施形態に従う復号器の動作の簡略フローチャートである。 図14は、本発明のさらにもう一つの実施形態に従う復号器の動作の簡略フローチャートである。 図15は、本発明の一実施形態に従うダイナミック復号器の簡略ブロック図である。 図16は、本発明の一実施形態に従うスタティック復号器の簡略ブロック図である。 図17はサブシンボル写像からのソースシンボルを示す図である。 図18は、さまざまなファイルサイズのファイルのダウンロードパラメータの可能な設定を示す図である。 図19は、さまざまなソースブロックサイズのストリーミングパラメータの可能な設定を示す図である。 図20は、ソースおよび中間シンボルとの関係を示すマトリックスの形式を示す図である。 図21は、度数生成器の度数分布を示す図である。 図22は、復号化に使用可能なマトリックスAの形式を示す図である。
[特定実施形態の詳細な説明]
詳細な説明の後に以下の3つの付録を示す。付録Aは、システマティックインデックスJ(K)の値の例を含む。付録B.1は、テーブルVの値の例を含む。そして、付録B.2は、テーブルVの値の例を含む。
ここに記載される特定実施形態において、“マルチステージコーディング(coding)”として表記されるコーディングスキームが記載されており、その実施形態はショクロラヒ(Shokrollahi)氏の文献において提供される。
ここに記載されるマルチステージ符号化は複数の段階によりデータを符号化する。常にではないが、一般的には、第1段階では予め指定される量の冗長性をデータに付加する。第2段階では、オリジナルデータおよび符号化の第1段階により計算される冗長シンボルから出力シンボルを生成するために連鎖反応符号等を使用する。本発明の一特定実施形態において、受信されたデータは、最初に連鎖反応復号プロセスを使用して復号化される。そのプロセスにおいてオリジナルデータを完全に回復することが出来ない場合、第2の復号ステップが適用されることができる。
マルチステージ符号化の実施形態において、冗長シンボルは、符号化の第1段階において、入力ファイルまたはストリームのブロックから生成される。これらの実施形態では、符号化の第2段階で、出力シンボルは、入力ファイルまたはストリームのブロックおよび冗長シンボルの組合せから生成される。これらの実施形態において、出力シンボルは、必要に応じて生成されることができる。第2段階が連鎖反応符号化を含む実施形態において、各々の出力シンボルは他の出力シンボルが生成される方法に関係なく生成されることができる。一旦生成されると、これらの出力シンボルはパケット内に配置され転送先に送信される。ここで、各々のパケットは1個以上の出力シンボルを含んでいる。非パケット化送信技術はその代わりに、あるいは加えて利用可能である。
ここで使用される用語”ファイル”は、1個以上のソースに記憶され、1以上の転送先にユニットとして配信される任意のデータを示す。したがって、ファイルサーバまたはコンピュータ記憶装置からのファイル、画像、および文書は、すべて、配信される”ファイル”の例である。ファイルは、周知のサイズのもの(ハードディスクに記憶された1メガバイトの画像のような)であることができ、未知のサイズのもの(ストリーミングソースの出力から得されたファイルのような)であることができる。いずれの場合においても、ファイルは入力シンボルのシーケンスであり、ここで各々の入力シンボルはそのファイル内の位置と値とを有する。
ここで使用される用語”ストリーム”は、1個以上のソースに記憶され、もしくは生成され、1個以上の転送先にそれが生成される順番に各時点で特定のレートで配信される任意のデータを示している。ストリームは、固定レートまたは可変レートでありえる。したがって、遠隔装置の制御に使用されるデータストリーム、AMRオーディオストリーム、およびMPEGビデオストリームは全て配信されることのできる”ストリーム”の例である。各時点でのストリームのレートは、既知である(例えば4メガビット/秒)ことができ、あるいは未知(例えば、各時点でのレートが前もって分からない可変レートストリーム)であることができる。いずれの場合においても、ストリームは入力シンボルのシーケンスであり、各々の入力シンボルはストリーム内の位置と値とを有する。
送信は、ファイルまたはストリームを配信するために1以上の送信機から1以上の受け側へチャネルを介してデータを送信するプロセスである。また、送信機を符号器と称することもある。1台の送信機が完全なチャネルにより任意の数の受け側に接続している場合、全てのデータは正しく受信されるので、その受信されたデータは入力ファイルまたはストリームの正確なコピーである。ここでは、現実のチャネルの多くの場合と同様、チャネルが完全でないと仮定する。多くのチャネルの欠点の中で、重要な2つの欠点は、データ消去およびデータの不完全性(それはデータ消去の特殊例とみなされることができる)である。データ消去は、チャネルがデータを失うか、あるいはドロップしたときに発生する。データ不完全性は、データの一部が素通りするまで受け側がデータを受信し始めない場合、送信が終了する前に受け側がデータを受信するのを止めた場合、受け側が送信されたデータの一部のみを受信することを選択する場合、および/または、受け側が断続的に止まり、再びデータを受信し始めた場合に発生する。データ不完全性の例としては、移動中の衛星送信機が入力ファイルまたはストリームを示すデータを送信しており、受け側が範囲内に入る前にその送信を始めることがあり得る。受け側が範囲内に入ると、データは受信されることができ、それは衛星が動いて範囲外に出るまでであり、その時点でその受け側は、範囲内に入った別の衛星により送信されている同じ入力ファイルまたはストリームについてデータを受信し始めるためにその衛星デッシュを向けなおすことができる(その期間中、それはデータを受信していない)。この説明を読むことから明らかになるように、データ不完全性はデータ消去の特殊な例である。何故ならそれは、受け側は、あたかもその受け側が全期間中範囲内にあったかのようにデータ不完全性を処理することができる(そして、その受け側は、同じ問題を有する)が、しかし、チャネルは、その受け側がデータを受信し始めた個所まで全てのデータを失ったからである。また、周知のように、通信システム設計において、検出可能な誤りは、検出可能な誤りを有する全てのデータブロックまたはシンボルを単にドロップすることによって、消去に等しいとみなされることができる。
若干の通信システムにおいて、受け側は、多数の送信機によって、または多数の接続を使用する1台の送信機によって生成されるデータを受信する。たとえば、ダウンロードの速度を上げるために、受け側は、同じファイルに関してデータを送信するために2以上の送信機に同時に接続し得る。別の例として、マルチキャスト送信において、多数のマルチキャストデータストリームは、受け側が総計の送信速度を、それらをその送信機に接続しているチャネルの帯域幅と一致させるためにこれらのストリームの一つ以上に接続することを可能にするために送信され得る。全てのこのような場合において、問題は、全ての送信されたデータが受け側に独立した使用のものであること、すなわち送信レートが異なるストリームに関してかなり異なるときでさえ、および損失の任意のパターンが存在するとき、その多数のソースデータはそのストリームの中で冗長ではないことを保証することである。
一般に、通信チャネルは、データ送信のために受け側と送信機とを接続するものである。通信チャネルはリアルタイムチャネルであることができ、ここで、チャネルはデータを得ながら送信機から受け側へそのデータを移動し、または、通信チャネルは、送信機から受け側への伝送中にデータの全てまたは一部を記憶する記憶チャネルであり得る。後者の実施形態は、ディスク記憶装置または他の記憶デバイスである。その実施形態において、データを生成するプログラムまたはデバイスは、記憶デバイスにデータを送信する送信機と考えることができる。受け側は、記憶デバイスからデータを読み取るプログラムまたはデバイスである。送信機が記憶デバイス上にデータを取得するために使用するメカニズム、記憶デバイス自体、および受け側が記憶デバイスからデータを得るために使用するメカニズムは、チャネルを集合的に形成する。それらのメカニズムまたは記憶デバイスがデータを失い得る機会がある場合、それは通信チャネル中のデータ消去として扱われるであろう。
送信機および受け側が、シンボルが消去されることができる通信チャネルによって、隔てられるとき、入力ファイルまたはストリームの正確なコピーを送信せず、その代わりに、消去の回復を支援する(入力ファイルまたはストリーム自身の全部または一部を含むことができた)入力ファイルまたはストリームから生成されるデータを送信することが好ましい。符号器は、そのようなタスクを処理する回路、デバイス、モジュール、またはコードセグメントである。符号器の動作を見る1つの方法は、符号器が入力シンボルから出力シンボルを生成することであり、ここで、入力シンボル値のシーケンスは入力ファイルまたはストリームのブロックを表す。したがって、各入力シンボルは、入力ファイルまたはストリームのブロックにおける位置と、値とを有する。復号器は、受け側により受信される出力シンボルから入力シンボルを再構成する回路、デバイス、モジュールまたはコードセグメントである。マルチステージコーディングにおいて、符号器および復号器は、各々が異なるタスクを実行しているサブモジュールに更に分割される。
マルチステージコーディングシステムの実施形態において、符号器および復号器は、各々が異なるタスクを実行するサブモジュールに更に分割されることが可能である。例えば、実施形態によっては、符号器は、本明細書において、スタティック符号器およびダイナミック符号器と呼ばれるものを含む。ここで使用しているように、「スタティック符号器」は入力シンボルのセットから多くの冗長シンボルを生成する符号器であり、そこにおいて、冗長シンボルの数は符号化の前に決定される。スタティック符号化コードの実施形態はリード−ソロモンコード、トルネードコード、ハミングコード、低密度パリティチェック(LDPC:Low Density Parity Check)コード、その他を含む。「スタティック復号器」という用語はスタティック符号器によって符号化されたデータを復号化できる復号器を示すために本願明細書において使用される。
ここで使用しているように、”ダイナミック符号器”は、入力シンボルのセットから出力シンボルを生成する符号器であり、ここで、可能な出力シンボルの数は入力シンボルの数より大きい大きさのオーダーであり、生成される出力シンボルの数は固定される必要はない。ダイナミック符号器の1つの実施形態は、連鎖反応符号器(例えばルビーIおよびルビーIIに記載されている符号器)である。用語”ダイナミック復号器”は、ダイナミック符号器によって符号化されたデータを、復号化することができる復号器を指すために本願明細書において使用される。
マルチステージコーディングの実施形態は、任意の特定の種類の入力シンボルに限られる必要はない。一般的に、入力シンボルの値は、ある正の整数Mに関して2M個のシンボルのアルファベットから選択される。このような場合、入力シンボルは、入力ファイルまたはストリームからのデータのMビットのシーケンスにより表されることができる。たとえば、Mの値は、出力シンボルのサイズ、通信チャネル、および/またはアプリケーションの使用に基づいてしばしば決定される。加えて、出力シンボルのサイズは、入力シンボルのサイズ、チャネルおよび/またはアプリケーションに基づいてしばしば決定される。場合によっては、出力シンボル値および入力シンボル値が同一サイズであった(すなわち、同数のビットで表現可能であったか、あるいは同じアルファベットから選択された)場合、コーディングプロセスは単純化され得る。そうである場合、出力シンボル値サイズが制限されるときに、入力シンボル値サイズは制限される。たとえば、出力シンボルを制限されたサイズのパケットにすることが望ましい。出力シンボルに関連したキーに関するあるデータが、受信機でそのキーを回復するために送信されることになっていた場合、出力シンボルは、そのキーに関するデータおよび出力シンボル値を1つのパケット中に収容できるほど十分小さいことが好ましい。
一例として、入力ファイルが多メガバイト(multiple megabyte)ファイルである場合、入力ファイルは、各入力シンボルが何千、何百ものバイト、または数バイトだけを符号化する、何千、何十万、または何百万もの入力シンボルに分解され得る。別の例としてパケットベースのインターネットチャネルのために、1024バイトのサイズのペイロードを有するパケットは、適当でうり得る(1バイトは、8ビットである)。この例では、各々のパケットが1つの出力シンボルおよび8バイトの補助情報を含むと仮定すると、8128ビット((1024−8)*8)の出力シンボルサイズが適当であろう。したがって、入力シンボルサイズは、M=(1024−8)*8、すなわち8128ビットとして選ばれることができる。別の例として、若干の衛星システムはMPEGパケット規格を使用し、ここで、各々のパケットのペイロードは188バイトを含む。その実施形態において、各々のパケットが1つの出力シンボルおよび4バイトの補助情報を含むと仮定すると、1472ビット((188−4)*8)の出力シンボルサイズが適当であろう。したがって、入力シンボルサイズは、M=(188−4)*8、または1472ビットとして選ばれることができる。マルチステージコーディングを使用する汎用通信システムにおいて、特定用途用パラメータ(例えば入力シンボルサイズ(すなわち、入力シンボルによって符号化されるビットの数、M)は、その用途によって設定される変数であり得る。
別の例として、可変サイズの転送元パケットを使用して送られるストリームに関して、各転送元パケットがその転送元パケットより、せいぜいわずかに大きい総サイズを有する入力シンボルの整数でカバーされることができるように、シンボルサイズはむしろ小さくなるように選ばれる。
各々の出力シンボルは、値を有する。以下において検討される好ましい一実施形態において、各々の出力シンボルはまた、それの”キー”と呼ばれる識別子と関連付けられている。各々の出力シンボルのキーは、受け側が1つの出力シンボルと他の出力シンボルを区別することを可能にするために、受け側により容易に決定されることができることが好ましい。出力シンボルのキーは、他の全ての出力シンボルのキーと異なっていることが好ましい。前の技術で説明されたキーイングのさまざまな形式が存在する。たとえば、ルビーIには、本発明の実施形態において使用されることができるキーイングのさまざまな形式が記述される。
データ消去が予想される場合、または送信が開始及び終了するまさにそのときに受け側が受信を開始及び終了しない場合、マルチステージコーディングは特に役立つ。後者の状態は本明細書において、”データ不完全性”と呼ぶ。消去イベントに関して、マルチステージコーディングは、ルビーI.氏の文献に記載されている連鎖反応コーディングの利点のうちの多くを共用する。具体的には、マルチステージ出力シンボルは情報付加的であるので、任意の適当な数のパケットは所望の精度に入力ファイルまたはストリームを回復するために用いられることができる。マルチステージコーディングが使われるときに、これらの状況は通信プロセスに悪影響を与えない。何故ならそれは、マルチステージコーディングにより生成される出力シンボルは情報付加的だからである。たとえば、100のパケットがデータ消去を引き起こすノイズのバーストのせいで失われる場合、追加の100のパケットはその消去されたパケットの損失を交換するためにバースト後に受け取られることができる。送信機が送信し始めるときに、受信機がそれに同調を行わなかったために、何千ものパケットが失われる場合、その受信機は、送信の任意の他の期間から、あるいは別の送信機からでさえ、それら何千ものパケットを受け取ることができる。マルチステージコーディングについては、受信機は任意の特定のセットのパケットを受け取ることを強いられないので、それは1台の送信機から若干のパケットを受信し、別の送信機に切り替わり、若干のパケットを失い、与えられた送信の開始または終了を見のがし、ストリームの入力ファイルまたはブロックを依然として回復することができる。受信機・送信機の調整なしに送信に加わり、及びそれを離れる能力は、通信プロセスを単純化するのに役に立つ。
いくつかの実施形態では、マルチステージコーディングを使用してファイルまたはストリームを送信することは、入力シンボルをストリームの入力ファイルまたはブロックから生成し、形成し、または抽出すること、冗長シンボルを算出すること、一つ以上の出力シンボルに入力および冗長シンボルを符号化すること、ここで各出力シンボルは他の全ての出力シンボルから独立してそのキーに基づいて生成され、及びチャネルの上で一つ以上の受け側に出力シンボルを送信することを含むことができる。加えて、ある実施形態では、マルチステージコーディングを使用して、ストリームの入力ファイルまたはブロックのコピーを受信すること(及び再構成すること)は、1以上のデータストリームから出力シンボルのいくつかのセットまたはサブセットを受信することと、その受信された出力シンボルの値およびキーから入力シンボルを復号化することを含むことができる。
本願明細書に記載されている適切なFEC消去コードは、上述された問題点を克服するために用いられることができ、マルチメディア同報通信およびマルチキャスティングシステムおよびサービスを含む多くのフィールドでの使用が見出される。以降、「マルチステージ連鎖反応符号(multi-stage chain reaction code)」と呼ばれるFEC消去コードは、このようなシステムおよびサービスの現在および将来の必要条件の多数を満たす特性を有する。
マルチステージ連鎖反応符号のいくつかの基本特性は、任意のパケット損失状況に関して、並びに任意の関連レートのストリームまたは任意の関連サイズのソースファイルの配信に関して、以下の通りである。
(a)個々の受信機デバイス”RD”の受信オーバーヘッドは、最小化される、
(b)ソースファイルを任意の数のRDに配信するために必要な合計送信時間は最小化されることができる、
(c)送信スケジュールの適切な選択により、任意の数のRDへ配信されたストリームの品質は、入力シンボルの数に関連して送られる出力シンボルの数について最大にされることができる。
RDは、車両に埋め込まれた、ポータブルの(portable)(すなわち、使用しているとき、移動可能であるが一般的に動いていない)、あるいはある場所に固定されたハンドヘルドデバイスであり得る。
復号化のために必要とされる作業メモリの量は低く、上記の特性を依然として提供することができ、また、符号化し、復号化するために必要とされる計算の量は最小限である。この文書において、マルチステージ連鎖反応符号のいくつかのバリエーションの説明をインプリメントするための簡単で容易なものが提供される。
マルチステージ連鎖反応符号は、ファウンテン(fountain)コードであり、必要とされる数の符号化パケットが実行中に生成されることができ、各々がストリームのブロックまたはソースファイルを回復することに等しく有用な固有の符号化シンボルを含む。FECコードの他のタイプに対してファウンテンコードを使用することには多数の利点がある。1つの利点は、パケット損失状況およびRD利用可能度に関係なく、ファウンテンコードが符号化パケットの数を最小化し、各RDがストリームのブロックまたはソースファイルを再構築するために受信することを必要とすることである。これは、厳しいパケット損失状況下や、移動RDが、たとえば、長いファイルダウンロードセッションにわたって断続的にしかオンにされないか、あるいは利用可能でないときでさえ真であり。
別の利点は、送信が進行中である間に実行中に(on-the-fly)生成すべき符号化パケットの数についての決定がなされて、必要とされるまさにその数の符号化パケットを生成する能力である。これは、たとえば、ストリームのブロックまたはソースファイルを回復するのに十分な符号化パケットをそれらが受信したか否かを指示する複数のRDからのフィードバックが存在する場合、有用であり得る。パケット損失状況が期待されるより厳しくないとき、送信は、早く終了されることができる。パケット損失状況が期待されるよりも厳しいか、またはRDが期待されるよりも多い頻度で利用できないとき、送信はシームレスに延長されることができる。
別の利点は、逆多重化する能力である。逆多重化は、RDがストリームのブロックまたはソースファイルを再構築するために独立した送信機で生成された受信された符号化パケットを結合することができるときである。逆多重化の1つの実用的な使用は、異なる送信機から符号化パケットを受信することを参照して以下に記載されている。
将来のパケット損失、RD有効性およびアプリケーション状態が予測し難い場合、予測不能な状況下で適切に動作するように可能な限り柔軟であるFECの解を選択することは重要である。マルチステージ連鎖反応符号は、他のタイプのFECコードによってつり合いがとれない柔軟度を提供する。
次に、図面を参照して本発明の態様を説明する。
<システムの概要>
図1は、マルチステージコーディングを使用する通信システム100のブロック図である。通信システム100において、入力ファイル101または入力ストリーム105は入力シンボル生成器110に提供される。入力シンボル生成器110は入力ファイルまたはストリームから1個以上の入力シンボルのシーケンス(IS(0),IS(1),IS(2),...)を生成し、各々の入力シンボルは値と、位置(図1の括弧内の整数として示す)とを有する。上述したように、入力シンボルの可能な値、すなわちアルファベットは一般的に、各入力シンボルが入力ファイルまたはストリームのMビットに関して符号化を行うように、2個のシンボルのアルファベットである。Mの値は通常、通信システム100の使用により決定されるが、しかし、汎用システムは、Mが使用に応じて変化することができるように、入力シンボル生成器110のシンボルサイズ入力を含み得る。入力シンボル生成器110の出力は、符号器115に提供される。
スタティックキー生成器130は、スタティックキーS,S...のストリームを生成する。生成されるスタティックキーの数は一般に制限されており、符号器115の特定実施形態に依存する。スタティックキーの生成は、以降で更に詳細に説明する。ダイナミックキー生成器120は、符号器115により生成される各々の出力シンボルに関するダイナミックキーを生成する。各々のダイナミックキーは、同じ入力ファイルまたはストリームのブロックのダイナミックキーの大部分が固有となるように生成される。たとえば、利用可能なキー生成器の複数の実施形態がルビーIに記載されている。ダイナミックキー生成器120およびスタティックキー生成器130の出力は、符号器115に提供される。
ダイナミックキー生成器120によって提供された各々のキーIから、符号器115は、入力シンボル生成器により提供される入力シンボルからの、値B(I)を有する出力シンボルを生成する。符号器115の動作については、以下で更に詳細に説明する。各々の出力シンボルの値はそれのキー、1個以上の入力シンボルの何らかの関数、および、ことによると入力シンボルから計算された1個以上の冗長シンボルに基づいて生成される。本明細書において、ある特定の出力シンボルのもとである入力シンボルおよび冗長シンボルの集合を、出力シンボルの”関連シンボル”または単にその”付随物(associates)”と呼ぶ。関数(”値関数”)および付随物の選択は、以降で更に詳細に記載されるプロセスに従って行われる。常にではないが、一般的に、Mは入力シンボルおよび出力シンボルに関して同一であり、すなわち、それら双方は同じビット数に関して符号化を行う。
いくつかの実施形態では、符号器115は付随物を選択するために入力シンボルの数Kを使用する。入力がストリーミングファイルである場合のようにKが前もってわかっていない場合には、Kは単に推定値であることができる。また、符号器115により生成される任意の中間シンボルおよび入力シンボルに記憶域を割り当てるために、値Kは符号器115により使用され得る。
符号器115は送信モジュール140に出力シンボルを提供する。また、送信モジュール140は、ダイナミックキー生成器120からのこのような各出力シンボルのキーを提供される。送信モジュール140は出力シンボルを送信し、送信モジュール140はまた、使用されるキーイング方法に依存して、送信された出力シンボルのキーに関する何らかのデータを、チャネル145を介して受信モジュール150に送信することができる。チャネル145は、消去チャネルであるとみなされるが、しかしそれは通信システム100の適切な動作のための必要条件ではない。送信モジュール140が出力シンボルおよびそれらのキーに関して必要とされる任意のデータをチャネル145へ送信するように適合され、および受信モジュール150がシンボルおよび、場合によっては、それらのキーに関する何らかのデータをチャネル145から受信するように適合される限り、モジュール140、145および150は、任意の適切なハードウェアコンポーネント、ソフトウェアコンポーネント、物理媒体、またはその任意の組合せであることができる。Kの値は、付随物を決定するために用いられる場合、チャネル145を介して送信されることができ、またはそれは符号器115および復号器155の合意の上で定刻より早く設定され得る。
前述したように、チャネル145は、テレビジョン送信機からテレビジョン受け側への同報通信リンクまたはインターネットを通った経路、あるいはあるポイントから他のポイントへの電話接続のようなリアルタイムチャネルであることができ、もしくはチャネル145は、CD−ROM、ディスクドライブ、ウェブサイト等のような記憶チャネルであることができる。チャネル145は、入力ファイルがパーソナルコンピュータから電話回線を介してインターネットサービスプロバイダー(ISP)へ送信されるときに形成されるチャネルのような、リアルタイムチャネルと記憶チャネルの組合せであることさえ可能であり、その入力ファイルはウェブサーバに記憶され、続いてインターネットを介して受け側に送信される。
チャネル145は消去チャネルであると仮定されているので、通信システム100は、受信モジュール150から出力される出力シンボルと送信モジュール140に入力される出力シンボルとの間に1対1の対応を呈することは出来ない。実際、チャネル145がパケットネットワークを備える場合、通信システム100は、2個以上のパケットの相対的順序がチャネル145を通過中に保存されると仮定することさえ出来ないかもしれない。従って、出力シンボルのキーは上述された1以上のキーイング・スキームを利用して決定され、出力シンボルが受信モジュール150から出力される順序によって必ずしも決定されるわけではない。
受信モジュール150は復号器155に出力シンボルを提供し、受信モジュール150がこれらの出力シンボルのキーに関して受信する任意のデータは、ダイナミックキー再生器160に提供される。ダイナミックキー再生器160は受信された出力シンボルのためのダイナミックキーを再生成し、これらのダイナミックキーを復号器155に提供する。スタティックキー生成器163は、スタティックキーS,S...を再生成し、それらを復号器155に提供する。スタティックキー生成器は、符号化および復号化プロセスの両期間中に使用される乱数生成器135にアクセスしている。これは、同一の物理デバイス上で乱数が生成される場合にはこのような同一の物理デバイスへのアクセスの形態であることができ、あるいは同じ動作を得るために同一の乱数生成アルゴリズムへのアクセスの形態であることができる。復号器155は、ダイナミックキー再生器160およびスタティックキー生成器163により提供されるキーを、対応する出力シンボルと一緒に使用して、入力シンボル(再び、IS(0),IS(1),IS(2),...)を回復する。復号器155は回復された入力シンボルを入力ファイル再構築器165へ提供し、それは入力ストリーム105または入力ファイル101のコピー170を生成する。
<符号器>
図2は、図1に示される符号器115の特定の一実施形態のブロック図である。符号器115は、スタティック符号器210、ダイナミック符号器220、および、冗長計算機230を備えている。スタティック符号器210は、以下の入力を受信する。
a)入力シンボル生成器110により提供され、入力シンボルバッファ205に記憶されたオリジナルの入力シンボルIS(0),IS(1),IS(2),...,IS(K−1)
b)オリジナルの入力シンボルの数K
c)スタティックキー生成器130により提供されるスタティックキーS,S,...
d)冗長シンボルの数R。
スタティック符号器205は、これらの入力を受信するとすぐに、後述するようにR個の冗長シンボルRE(0),RE(1),...,RE(R−1)を計算する。常にではないが一般的に、冗長シンボルは入力シンボルと同じサイズである。一特定実施形態において、スタティック符号器210により生成される冗長シンボルは、入力シンボルバッファ205に記憶される。入力シンボルバッファ205は単なる論理的なものであることができる。すなわち、ファイルまたはストリームのブロックが1つの場所に物理的に記憶されることができ、シンボルバッファ205内における入力シンボルの位置は、オリジナルのファイルまたはストリームのブロック内におけるこれらシンボルの位置の単なる名称変更(renamings)であることができる。
ダイナミック符号器は、入力シンボルおよび冗長シンボルを受信し下記に詳述されているように出力シンボルを生成する。冗長シンボルが入力シンボルバッファ205に記憶される一実施形態においては、ダイナミック符号器220は入力シンボルバッファ205から入力シンボルおよび冗長シンボルを受信する。
冗長計算機230は、入力シンボルの数Kから冗長シンボルの数Rを計算する。この計算は下記に詳述されている。
<スタティック符号器の概要>
スタティック符号器210の一般動作は図3および図4に示される。図3は、スタティック符号化の方法の一実施形態の簡略フローチャートを例示している。ステップ305において、変数j(いくつの冗長シンボルが生成されたかについての状況を常に把握している)は、ゼロに設定される。その後、ステップ310では、第1の冗長シンボルRE(0)は入力シンボルIS(0),...,IS(K−1)のうちの少なくともいくつかのものの関数Fとして計算される。それから、ステップ315で、変数jはインクリメントされる。次に、ステップ320で、冗長シンボルの全てが生成されたか(すなわち、jがR−1より大きいか?)どうかが検査される。もしYesの場合、フローは終了する。そうでなければ、フローは、ステップ325へ進む。ステップ325において、RE(j)は入力シンボルIS(0),...,IS(K−1)および以前に生成された冗長シンボルRE(0),...,RE(j−1)の関数Fとして計算される。ここで、Fは入力シンボルのあらゆるすべてのものまたは冗長シンボルのあらゆるすべてのものに依存する関数である必要はない。ステップ315、320および325は、R個の冗長シンボルが計算されるまで繰り返される。
再び図1および図2を参照すると、実施形態によっては、スタティック符号器210はスタティックキー生成器130から1個以上のスタティックキーS,S...を受信する。これらの実施形態では、スタティック符号器210は、いくつかまたは全部の関数F,F,...Fj−1を決定するためにスタティックキーを使用する。たとえば、スタティックキーSは関数Fを決定するために利用可能であり、スタティックキーSは関数Fを決定するために利用可能である。もしくは、スタティックキーS,S,...の1個以上のものが関数Fを決定するために利用可能であり、スタティックキーS,S,...のうちの1個以上のものが関数Fを決定するために利用可能である。他の実施態様では、スタティックキーは不要であり、したがってスタティックキー生成器130は必要ない。
次に、図2および図3を参照すると、実施形態によっては、スタティック符号器210により生成される冗長シンボルは、入力シンボルバッファ205に記憶されることができる。図4は、スタティック符号器210の一実施形態の動作の簡略図である。特に、スタティック符号器210は、入力シンボルバッファ205から受信された入力シンボルIS(0),...,IS(K−1),RE(0),...,RE(j−1)の関数Fとして、冗長シンボルRE(j)を生成し、それを入力シンボルバッファ205の中に戻し記憶する。関数F,F,...,FR−1の正確な形式は、特定の用途に依存する。常ではないが一般的には、関数F,F,...,FR−1は、それらの対応する引数のうちのいくつかあるいは全ての排他的論理和を含んでいる。上述したように、これらの関数は実際に、図1のスタティックキー生成器130により生成されるスタティックキーを使用することができ、あるいは使用しなくてもよい。たとえば、後述する一特定実施形態では、最初のいくつかの関数は、ハミングコードを実装し、スタティックキーS,S,...を全く使用せず、その一方で残りの関数は低密度パリティチェックコードを実装し、スタティックキーを明示的に利用する。
<マルチステージ符号器の概要>
再度図2を参照すると、ダイナミック符号器220は、入力シンボルIS(0),...,IS(K−1)および冗長シンボルRE(0),...,RE(R−1)ならびにそれが生成する各出力シンボルのためのキーIを受信する。オリジナルの入力シンボルおよび冗長シンボルを備えるこの集合は、以降”ダイナミック入力シンボル”の集合と呼ばれる。図5は、ウェイトセレクタ510、アソシエータ515、値関数セレクタ520および計算機525を含むダイナミック符号器の一実施形態の簡略ブロック図である。図5に示すように、K+R個のダイナミック入力シンボルはダイナミックシンボルバッファ505に記憶される。実質的に、ダイナミック符号器500は図6に例示される、すなわち、選択された入力シンボルのある値関数として出力シンボル値B(I)を生成するための動作を実行する。
図7は、本発明によるスタティック符号器の一特定実施形態の簡略ブロック図である。スタティック符号器600は、パラメータ計算機605、ハミング符号器610および低密度パリティチェック(LDPC)符号器620を備えている。ハミング符号器610は、入力シンボルバッファ625からの入力シンボルIS(0),...,IS(K−1)、入力シンボルの数K、およびパラメータDを受信するように結合される。それに応じて、ハミング符号器610は、ハミングコードに従ってD+1個の冗長シンボルHA(0),HA(1),...,HA(D)を生成する。
図8は、図7に示されるスタティック符号器を使用する本発明の一実施形態の動作を例示する。
図9は、上述のパラメータDおよびEを計算する、図7のパラメータ計算機605のような、パラメータ計算機の一実施形態の簡略フローチャートである。最初に、ステップ705で、パラメータDは1に初期化される。その後、ステップ710で、2−D−1がK未満であるか否かが決定される。NOの場合フローはステップ730へ進む。YESの場合、フローはステップ720へ進み、ここでパラメータDはインクリメントされる。その後、フローはステップ710へ戻る。Dが決定されると、ステップ730において、パラメータEはR−D−1として算出される。
図10は本発明の一実施形態に従うこのような符号器の簡略フローチャートであり以下に説明する。最初に、ステップ805で、変数iはゼロに初期化される。変数iは、すでに生成された冗長シンボルの数を常に把握している。ステップ810において、数tは、K/2以上の最も小さい奇数の整数として算出される。ステップ815において、値P1 ,P2 ,...,Pt は、K、tおよびスタティックキーSi に基づいて生成される。値P1 ,P2 ,...,Ptは、冗長シンボルを生成するために用いられる入力シンボルの位置を示す。ある特定の実施形態では、図5のアソシエータ515のようなアソシエータは、P1 ,P2 ,...,Ptを生成するために用いられる。特に、値tはW(I)入力として与えられ、値KはK+R入力として与えられ、スタティックキーSiはキーI入力として与えられる。tの多くの異なる値は、類似したコーディング効果を生じさせ、したがってこの特定の選択は単なる一例に過ぎないことに留意すべきである。ステップ820において、RE(i)の値は、値IS(P1 ),IS(P2 ),...,IS(Pt)のXORとして計算される。ステップ825において、変数iは次の冗長シンボルの計算を準備するために1だけインクリメントされ、ステップ830で、全ての冗長シンボルが計算されたか否かが決定される。否の場合、フローはステップ815に戻る。
図11は、本発明による復号器の一実施形態を示す簡略ブロック図である。復号器900は、たとえば、図1の復号器155を実装するために用いられる。
復号器900は、ダイナミック復号器905とスタティック復号器910を備えている。ダイナミック復号器905により回復される入力シンボルおよび冗長シンボルは、復元バッファ915に記憶される。ダイナミック復号化の完了後、スタティック復号器910は、ダイナミック復号器905により回復されない任意の入力シンボルがあれば、その回復を試みる。特に、スタティック復号器910は復元バッファ915からの入力シンボルと冗長シンボルを受信する。
図12は、本発明による復号化のための方法の一実施形態の簡略フローチャートである。ステップ1005において、Q個の出力シンボルは、復号器により受信される。Qの値は、入力シンボルの数と使用される特定のダイナミック符号器に依存する。Qの値は、また、復号器が入力シンボルを回復できる所望の精度に依存する。たとえば、復号器が高確率で入力シンボルの全てを回復できることが望まれる場合、Qは入力シンボルの数より大きな数として選択されなければならない。特に、用途によっては、入力シンボルの数が大きいときに、Qはオリジナル入力シンボルの数より3%未満大きい。他の用途において、入力シンボルの数が少ないときに、Qは入力シンボルの数より少なくとも10%大きいことが可能である。具体的には、Qは入力シンボルの数Kに数Aを加えたものとして選ばれることができ、ここで、Aは、復号器が高確率で入力シンボルの全てを確実に再生成することができるように選択される。数Aの決定は、下で更に詳細に記載されている。(時々または常に)復号器が入力シンボルの全てを復号化することができないことが許容できる場合、QはK+A未満であり、Kに等しく、あるいはK未満でさえあることができる。明らかに、符号化システム全体の1つの目的はしばしば、可能な限り数Qを減少させ、その一方で所望の精度に関して復号プロセスの成功に関する良好な確率保証を維持することである。
ステップ1010において、ダイナミック復号器905は受信したQ個の出力シンボルから入力シンボルおよび冗長シンボルを再生成する。ステップ1005および1010が実質的に並行して実行されることができることが理解される。たとえば、ダイナミック復号器905は、復号器がQ個の出力シンボルを受信する前に、入力シンボルおよび冗長シンボルを再生成し始めることができる。
ダイナミック復号器905がQ個の出力シンボルを処理した後、入力シンボルが所望の精度に回復されたかどうかが決定される。所望の精度は、たとえば、入力シンボルの全て、または入力シンボルの全てより少ないある数、割合等であることができる。YESの場合、フローは終わる。NOの場合は、フローはステップ1020へ進む。ステップ1020において、スタティック復号器910は、ダイナミック復号器905が回復することができなかった入力シンボルの回復を試みる。スタティック符号器910がダイナミック復号器905により回復された入力シンボルおよび冗長シンボルを処理した後、フローが終了する。
図13は、本発明による復号化のための方法の他の実施形態を示している簡略フローチャートである。この実施形態は、図11に関して記載されたものと類似していて、共通のステップ1005、1010、1015および1025を含む。しかし、ステップ1025の後、フローはステップ1030へ進み、そこにおいて、入力シンボルが所望の精度に回復されたかどうかが決定される。YESの場合、フローは終了する。NOの場合、フローはステップ1035へ進む。ステップ1035において、1個以上の追加の出力シンボルが受信される。その後、フローはステップ1010へ戻り、その結果ダイナミック復号器905および/またはスタティック復号器910は残っている回復されていない入力シンボルの回復を試みることができる。
図14は、本発明による復号化のための方法のさらにもう一つの実施形態を示している簡略フローチャートである。ステップ1055において、出力シンボルは復号器により受信される。そして、ステップ1060で、ダイナミック復号器905は受信された出力シンボルから入力シンボルおよび冗長シンボルを再生成する。その後、ステップ1065で、ダイナミック復号化が終了されるべきか否かが決定される。この決定は、処理された出力シンボルの数、回復された入力シンボルの数、追加の入力シンボルが回復されている現在のレート、出力シンボルの処理に費やした時間等のうちの一以上のものに基づくことができる。
ステップ1065において、ダイナミック復号化は終了されるべきではないと決定される場合、フローはステップ1055へもどる。しかし、ステップ1065において、ダイナミック復号化を終了することが決定される場合、フローはステップ1070へ進む。ステップ1070において、入力シンボルが所望の精度に回復されたか否かが決定される。YESである場合、フローは終了する。NOの場合は、フローはステップ1075へ進む。ステップ1075において、スタティック復号器910は、ダイナミック復号器905が回復することができなかった任意の入力シンボルの回復を試みる。スタティック符号器910が、ダイナミック符号器905によって回復された入力シンボルおよび冗長シンボルを処理した後、フローは終了する。
図15は、本発明によるダイナミック復号器の一実施形態を示す。ダイナミック復号器1100は、図5に示されるダイナミック符号器500のものと類似したコンポーネントを含む。復号器1100は、ルビーIおよびルビーIIに記載されている連鎖反応復号器の実施形態と類似している。ダイナミック復号器1100は、ウェイトセレクタ510と、アソシエータ515と、値関数セレクタ520と、出力シンボルバッファ1105と、短縮器1115と、復元器1120と、復元バッファ1125とを備える。
図16は、スタティック復号器の一実施形態の簡略ブロック図を示している。データが図7に関して記載されているようなスタティック符号器を用いて符号化されるときに、この実施形態を用いることができる。スタティック復号器1200は、LDPC復号器1205とハミング復号器1210を備えている。LDPC復号器1205は復元バッファ1215から入力シンボルおよび冗長シンボルを受信し、ダイナミック復号器の復号ステップの後に回復されていない復元バッファ1215のそれらシンボルの復元を試みる。いくつかの実施形態では、復元バッファ1215は、復元バッファ1125(図15)である。
LDPC復号器およびハミング復号器の多くのバリエーションは、当業者にとって周知であり、本発明による各種実施形態において使用されることができる。1つの特定実施形態において、ハミング復号器は、ガウス消去アルゴリズムを使用して行われる。ガウス消去アルゴリズムの多くのバリエーションは、当業者には周知であり、本発明による各種実施形態において使用されることができる。
<バリエーション>
上述のマルチステージ連鎖反応符号(multi-stage chain reaction code)はシステマティックコード(systematic codes)ではない。すなわち、ソースブロックのオリジナルソースシンボルのうちの全てが必ずしも送信される符号化シンボルであるというわけではない。しかしながら、システマティックFECコードは、ファイルダウンロードシステムまたはサービスに役立ち、ストリーミングシステムまたはサービスにとって非常に重要である。下記のインプリメンテーションに示すように、変更を加えられたコードは、システマティックなものにされることができ、ファウンテンコードおよび他の記載された特性を依然として維持する。
マルチステージコードを使用して様々な補足的なサービスを設計することが容易である一つの理由は、複数の送信機間での調整(coordination)なしにソースファイルまたはストリームを復元するために多数の送信機から受信された符号化シンボルを結合することができるからである。唯一の必要条件は、送信機がキーの異なるセットを使用して、それらがそのコードへ符号化パケットで送信する符号化シンボルを生成するにことである。これを達成するやり方は、この種の各々の送信機によって使用されるキー空間の異なる範囲を示すこと、または各々の送信機でランダムにキーを生成することを含む。
この能力の使用の一例として、例えばHTTPセッション等を介して、追加の符号化パケットがメイクアップ(make-up)送信機から送信されることを要求するためにファイルダウンロードセッションからソースファイルを復元するのに十分な符号化パケットを受信しなかったマルチステージ連鎖反応符号を可能にするファイルダウンロードサービスへの補足的なサービスを提供することを検討する。メイクアップ送信機はソースファイルから符号化シンボルを生成し、例えば、HTTPを使用してそれらを送信し、全てのこれらの符号化シンボルは、ソースファイルを回復するためにファイルダウンロードセッションから受信されたものと結合され得る。このアプローチを使用することは、異なる送信機が、送信機間の調整なしにインクリメンタルソースファイル配信サービスを提供することを可能にし、その各々個別の受信機が各ソースファイルを回復するために最低限の数の符号化パケットだけを受信すればよいことを確実にする。
<マルチステージコードのさまざまな段階のインプリメンテーション>
<FECスキーム定義>
これらの技術を使用するパケットは、ソースブロック番号(SBN)を備える4オクテットのFECペイロードID(パケット内の符号化シンボルが関係するソースブロックの16ビット整数識別子)のようなヘッダ情報と、および符号化シンボルID(ESI)(パケット内の符号化シンボルの16ビット整数識別子))とを用いて表され得る。ソースブロック番号および符号化シンボルIDの1つの適切な解釈は、下記のセクションBにおいて定義される。FECオブジェクト送信情報は、以下において定義されるパラメータT、Z、NおよびA、転送長(F)、およびFEC符号化IDを含み得る。パラメータTおよびZは、16ビットの符号のない整数であり、NおよびAは8ビットの符号のない整数である。
MBMS前方誤り訂正のFEC符号化スキームは、下記のセクションにおいて定義される。それはFEC転送元パケットのための1つと、FEC修復パケットのためのもう1つの、2つの異なるFECペイロードIDフォーマットを定義するが、しかし非システマティックコードのバリエーションもまた可能である。
転送元FECペイロードIDは、ソースブロック番号(SBN)(パケット内の符号化シンボルが関係するソースブロックのための16ビットの整数識別子)および符号化シンボルID(ESI)(パケット内の符号化シンボルのための16ビットの整数識別子)を含み得る。その一方で、修復FECペイロードIDは、ソースブロック番号(SBN)(パケット内の修復シンボルが関係するソースブロックのための16ビットの整数識別子)、符号化シンボルID(ESI)(パケット内の修復シンボルのための16ビットの整数識別子)、およびソースブロック長(SBL)(16ビット:ソースブロック内のソースシンボルの数を表す)を含み得る。ソースブロック番号、符号化シンボルIDおよびソースブロック長の解釈は、以下に定義される。
FECオブジェクト送信情報は、FEC符号化ID、最大ソースブロック長(シンボル単位の)、およびシンボルサイズ(バイト単位の)を含み得る。最大ソースブロック長およびシンボルサイズは、最大ソースブロック長(シンボル単位で、ソースブロックの最大長を表す16ビット)、およびシンボルサイズ(T)の4オクテットフィールド(バイト単位で、符号化シンボルのサイズを表す16ビット)を含み得る。
下記のセクションは、システマティックMSCR前方誤り訂正符号、ならびにMBMSへのその適用およびその他の使用を指定する。MSCRはファウンテンコードである。すなわち、必要とされる数のソースシンボルは、ブロックのソースシンボルから実行中に符号器によって生成されることができる。復号器は、ソースシンボルの数よりもわずかに多い符号化シンボルの任意のセットからソースブロックを回復することができる。この文書に記載されているコードは、システマティックコードである。すなわち、いくつかの修復シンボルならびにオリジナルソースシンボルは、変更を加えられずに送信機から受信機へ送信される。
<B.1 定義、記号および略号>
<B.1.1 定義>
この説明のために、以下に用語および定義を示す。
ソースブロック:MSCR符号化の目的で一緒に考慮されるK個のソースシンボルのブロック。
ソースシンボル:符号化プロセス中に使用されるデータの最小単位。ソースブロック内の全てのソースシンボルは同一のサイズである。
符号化シンボル:データパケットに含まれるシンボル。符号化シンボルは、ソースシンボルおよび修復シンボルを含む。ソースブロックから生成される修復シンボルは、ソースブロックのソースシンボルと同様に同一のサイズを有する。
システマティックコード:ソースブロックのために送信される符号化シンボルの一部としてソースシンボルが含まれるコード。
修復シンボル:ソースブロックのために送信される、ソースシンボルでない符号化シンボル。修復シンボルはソースシンボルに基づいて生成される。
中間シンボル:逆符号化プロセスを使用してソースシンボルから生成されるシンボル。その後、修復シンボルは中間シンボルから直接生成される。符号化シンボルは中間シンボルを含まない。すなわち、中間シンボルはデータパケットに含まれない。
シンボル:データの単位。シンボルの、バイト単位のサイズはシンボルサイズとして知られている。
符号化シンボルグループ:一緒に送られる、すなわち、ソースシンボルとのその関係が単一の符号化シンボルIDに由来することのできる同じパケット内における符号化シンボルのグループ。
符号化シンボルID:符号化シンボルグループのシンボルとソースシンボルとの関係を定義する情報。
符号化パケット:符号化シンボルを含むデータパケット。
サブブロック:ソースブロックは時としてサブブロックに分解され、その各々は作業メモリ内において復号化されるように十分に小さい。K個のソースシンボルを含むソースブロックに関して、各々のサブブロックはK個のサブシンボルを含み、ソースブロックの各シンボルは各サブブロックからの1個のサブシンボルから構成される。
サブシンボル:シンボルの一部。各ソースシンボルは、ソースブロック内に存在するサブブロックと同じ数のサブシンボルから構成される。
転送元パケット:ソースシンボルを含むデータパケット。
修復パケット:修復シンボルを含むデータパケット。
<B.1.2 記号>
i、j、x、h、a、b、d、v、m:正の整数を表す
ceil(x):x以上である最小の正の整数を表す
choose(i,j):j個のオブジェクトが繰り返しなしにi個のオブジェクトの中から選択されることができるやり方の数を表す
floor(x):x以下である最大の正の整数を表す
i%j:iモジュロjを表す
X^Y:等しい長さのビットストリングXおよびYに関する、XとYとのビット毎の排他論理和を表す
A:シンボルアライメントパラメータを表す。シンボルおよびサブシンボルのサイズはAの倍数に制限される
:Aの転置行列を表す
−1:Aの逆行列を表す
K:単一のソースブロック内のシンボルの数を表す
MAX:単一のソースブロック内に存在することができるソースシンボルの最大数を表す。8192に設定される
L:単一のソースブロックに関するプレコーディング(pre-coding)シンボルの数を表す
S:単一のソースブロックに関するLDPCシンボルの数を表す
H:単一のソースブロックに関するハーフシンボルの数を表す
C:中間シンボルの配列、C[0],C[1],C[2],...,C[L−1]を表す
C’:ソースシンボルの配列、C’[0],C’[1],C’[2],...,C’[K−1]を表す
X:負でない整数値を表す
、V:4バイトの整数の2つの配列、V[0],V[1],...,V[255]およびV[0],V[1],...,V[255]を表す
Rand[X、i、m]:擬似乱数生成器
Deg[v]:度数生成器
LTEnc[K、C、(d、a、b)]:LT符号化シンボル生成器
Trip[K、X]:トリプル生成器関数
G:符号化シンボルグループ内のシンボルの数
N:ソースブロック内のサブブロックの数
T:バイト単位のシンボルサイズ。ソースブロックがサブブロックに分割される場合、T=T’・Nである
T’:バイト単位のサブシンボルサイズ。ソースブロックがサブブロックに分割されない場合、T’は関連しない
F:ファイルダウンロードのための、バイト単位のファイルサイズ
I:バイト単位のサブブロックサイズ
P:ファイルダウンロードに関しては、そのファイルダウンロードトランスポートパラメータの推奨導出に使用される、バイト単位の各パケットのペイロードサイズ。ストリーミングに関しては、ストリーミングトランスポートパラメータの推奨導出に使用される、バイト単位の各修復パケットのペイロードサイズ
Q:Q=65521、すなわち、Qは216未満の最大の素数である
Z:ファイルダウンロードに関するソースブロックの数
J(K):Kに関連するシステマティックインデックス
G:任意の生成器行列を表す
:SxSの恒等行列を表す
SxH:SxHの零行列を表す。
<B.1.3 略号>
本明細書の説明のために、以下の略号を用いる。
ESI(Encoding Symbol ID):符号化シンボルID
LDPC(Low Density Parity Check):低密度パリティチェック
LT(Luby Transform):ルビー変換
SBN(Source Block Number):ソースブロック番号
SBL(Source Block Length):シンボル単位のソースブロック長。
<B.2 概要>
MSCR前方誤り訂正符号は、MBMSファイル配信およびMBMSストリーミングアプリケーションの双方に適用されることができる。これらのアプリケーションの各々に特有であるMSCR符号の態様は、本明細書のセクションB.3およびB.4において説明される。
システマティックMSCR符号のコンポーネントは、セクションB.5に記載されている基本的な符号器である。第1に、中間シンボルについての知識がソースシンボルを復元するのに十分であるように、オリジナルソースシンボルから1つのセットの中間シンボルの値をどのようにして導き出すかが記述される。第2に、符号器は、各々が多数の中間シンボルの排他的論理和である修復シンボルを作成する。符号化シンボルは、ソースおよび修復シンボルの組合せである。修復シンボルは、中間シンボルおよびしたがってソースシンボルが符号化シンボルの任意の十分に大きいセットから回復可能なやり方で作成される。
この文書は、システマティックMSCR符号 符号器を定義する。多くの考えられる復号化アルゴリズムが利用可能である。効率的な復号化アルゴリズムは、セクションB.6において提供される。
中間シンボルおよび修復シンボルの構築は、セクションB.5に記載される擬似乱数生成器に基づく。この生成器は、送信機および受信機の双方で利用できる512の乱数の固定セットに基づく。数の実施形態のセットは、付録B.1において提供される。
最後に、ソースシンボルからの中間シンボルの構築は、”システマティックインデックス”により支配される。システマティックインデックスの値の一セット例は、4個のソースシンボルからKMAX=8192個のソースシンボルまでのソースブロックサイズに関する付録Aに示される。
<B.3 ファイルダウンロード>
<B.3.1 ソースブロック構築>
<B.3.1.1 全般>
MSCR符号器をソースファイルに適用するために、ファイルはZ(≧1)個のブロック(ソースブロックとして知られる)に分解されうる。MSCR符号器は、各々のソースブロックに独立的に適用される。各々のソースブロックは固有の整数ソースブロック番号(SBN)により識別され、ここで第1のソースブロックはSBN0を有し、第2のものはsBN1を有し、他も同様である。各々のソースブロックは、各々のサイズがTバイトのいくつかの(K個の)ソースシンボルに分割される。各々のソースシンボルは固有の整数符号化シンボル識別子(ESI)により識別され、ここでソースブロックの第1のソースシンボルはESI0を有し、第2のものはESI1を有し、他も同様である。
K個のソースシンボルを有する各々のソースブロックはN(≧1)個のサブブロックに分割され、それらは作業メモリにおいて復号化されるために十分小さい。各サブブロックは、サイズT’のK個のサブシンボルに分割される。
Kの値はファイルの各々のソースブロックの値に関して必ずしも同じとは限らず、T’の値はソースブロックの各々のサブブロックに関して必ずしも同じでなくてもよいことに注意すべきである。しかしながら、シンボルサイズTは、ファイルの全てのソースブロックに関して同一であり、シンボルの数Kはソースブロックのあらゆるサブブロックに関して同一である。ファイルの、ソースブロックおよびサブブロックへの正確な分割は、後述のB.3.1.2に記載されている。
図17は二次元配列に配置されたソースブロックの例を示し、ここで、各々のエントリはT’バイトのサブシンボルであり、各々の行はサブブロックであり、各々の列はソースシンボルである。この例では、T’の値は、あらゆるサブブロックに関して同一である。各々のサブシンボルのエントリに示される数は、ソースブロック内のオリジナルの順番を示している。たとえば、Kの番号をつけられたサブシンボルは、ソースブロックのT’・KからT’・(K+1)−1個までのバイトを含む。そして、ソースシンボルiは、各々のサブブロックからの第iのサブシンボルの連結であり、それはi、K+i、2・K+i、...、(N−1)・K+iの番号をつけられたソースブロックのサブシンボルに対応する。
<B.3.1.2 ソースブロックとサブブロック分割>
ソースブロックおよびサブブロックの構築は、F、A、T、Z、Nの5個の入力パラメータ および関数分割(Partition)[ ]に基づいて決定される。5個の入力パラメータは次のように定義される。
F:バイト単位のファイルのサイズ
A:バイト単位のシンボルアライメントパラメータ
T:Aの倍数でなければならないバイト単位のシンボルサイズ
Z:ソースブロックの数
N:各ソースブロック内のサブブロックの数
これらのパラメータは、ceil(ceil(F/T)/Z)≦KMAXとなるように設定される。これらのパラメータの導出のための推奨は、セクションB.3.4において提供される。
関数分割(Partition)[ ]は入力として一対の整数(I、J)をとり、出力として4つの整数(I、I、J、J)を導出する。具体的には、分割(Partition)[I、J]の値は、4つの整数のシーケンス(I、I、J、J)であり、ここでI、=ceil(I/J)、I=Floor(I/J)、J=I−I・J、J=J−Jである。分割(Partition)[ ]は、サイズIのブロックをJ個のほぼ等しいサイズのブロックに分割するパラメータを導出する。具体的には、長さIのJ個のブロックと長さIのJ個のブロックかある。
ソースファイルは、以下の通りにソースブロックおよびサブブロックに分割され得る。
=ceil(F/T)のとき
(K、K、Z、Z)=分割(Partition)[K,Z]
(T、T、N、N)=分割(Partition)[T/A,N]とする。
その後、ファイルは、Z=Z+Z個の隣接するソースブロックに分割され、最初のZ個のソースブロックは各々K・Tバイトを有し、残りのZ個のソースブロックは各々K・Tバイトを有する。
・T>Fである場合、符号化のために、最後のシンボルはその最後においてK・T−Fゼロバイトを用いてパディングされ得る。
次に、各々のソースブロックはN=N+N個の隣接するサブブロックに分割され、最初のN個のサブブロックは各々T・AのサイズのK個の隣接するサブシンボルを含み、残りのN個のサブブロックは各々T・AのサイズのK個の隣接するサブシンボルを含む。シンボルアライメントパラメータAは、サブシンボルが常にAバイトの倍数であることを保証する。
最後に、ソースブロックの第m番目のシンボルは、N個のサブブロックの各々から第m番目のサブシンボルの連結を含む。
<B.3.2 符号化パケット構築>
<B.3.2.1 全般>
各々の符号化パケットは、以下の情報を含む。
ソースブロック番号(SBN)
符号化シンボルID(ESI)
(複数の)符号化シンボル
各々のソースブロックは、他のものから独立に符号化される。ソースブロックはゼロから連続的に番号をつけられる。
0からK−1の符号化シンボルID値は、ソースシンボルを識別する。Kからの符号化シンボルIDは前方へ修復シンボルを識別する。
<B.3.2.2 符号化パケット構築>
各符号化パケットは、完全にソースシンボル(転送元パケット)から成るか、あるいは完全に修復シンボル(修復パケット)から成ることが好ましい。パケットは、同じソースブロックからの任意の数のシンボルを含むことができる。パケット中の最後のシンボルがFEC符号化のために付加されたパディング(padding)バイトを含む場合、これらのバイトは、パケットに含まれる必要はない。その他の場合には、全(whole)シンボルだけが含まれ得る。
各転送元パケットで伝送される符号化シンボルID、Xは、そのパケットで伝送される最初のソースシンボルの符号化シンボルIDである。そのパケット中の次のソースシンボルは、符号化シンボルID、X+1からX+G−1を逐次順序で有し、ここでGはそのパケット内のシンボルの数である。
同様に、修復パケットに配置された符号化シンボルID、Xは、その修復パケットの最初の修復シンボルの符号化シンボルIDであり、そのパケット中の次の修復シンボルは符号化シンボルID、X+1からX+G−1を逐次順序で有し、ここでGはそのパケット内のシンボルの数である。
受信機は、修復パケットの合計数を知る必要がないことに注意すべきである。ESI Xを有する修復パケット内に配置された修復シンボルに関してG個の修復シンボルトリプル(d[0],a[0],b[0]),...,(d[G−1],a[G−1],b[G−1])は、B.5.3.4において定義されるトリプル生成器を使用して次のように計算される。
i=0,...,G−1のそれぞれに対して、
(d[i],a[i],b[i])=Trip[K,X+i]
ESI Xを有する修復パケット中に配置されるG個の修復シンボルは、セクションB.5.3において説明されるように、中間シンボルCおよびLT符号器LTenc[K,C,(d[i],a[i],b[i])]を使用して修復シンボルトリプルに基づいて計算される。
<B.3.3 転送>
このセクションには、ファイル配信のためのMSCR前方誤り訂正を利用する任意のトランスポート・プロトコルとMSCR符号器/復号器との間での情報交換が記載される。
ファイル配信のためにMSCR符号器および復号器は、バイト単位のファイルサイズF、シンボルアライメントパラメータA、Aの倍数である、バイト単位のシンボルサイズT(、ソースブロックの数Z、各ソースブロックのサブブロックの数Nという、トランスポート・プロトコルからの情報を必要とする。ファイル配信のためにMSCR符号器は、加えて、Fバイトの符号化されるファイルを必要とする。
MSCR符号器は、各々のパケットに関して、SBN、ESIおよび(複数の)符号化シンボルを含む符号化パケット情報をトランスポート・プロトコルに提供する。トランスポート・プロトコルはMSCR復号器にこの情報を透過的に通信する。
<B.3.4 推奨パラメータ(情報提供的)>
<B.3.4.1 パラメータ導出アルゴリズム>
このセクションは、4つのトランスポートパラメータA,T,ZおよびNの導出に関する推奨を示す。この推奨は以下の入力パラメータに基づく。
F:バイト単位のファイルサイズ
W:バイト単位のサブブロックサイズに関する目標
P:Aの倍数であると仮定される、バイト単位の最大のパケットペイロードサイズ
A:バイト単位のシンボルアライメントファクタ
MAX:ソースブロック当たりのソースシンボルの最大数
MIN:ソースブロック当たりのシンボルの数に関する最小目標
MAX:パケット当たりのシンボルの最大目標数。
上記の入力に基づいて、トランスポートパラメータT、ZおよびNは、以下の通りに算出される。
G=min{ceil(P・KMIN/F),P/A,GMAX}−パケット当たりのシンボルの近似の数
T=floor(P/(A・G))・A
t =ceil(F/T)−ファイル内のシンボルの合計数
Z=ceil(K/KMAX
N=min{ceil(ceil(K/Z)・T/W),T/A}
とする。
上述のように導出されたGおよびNの値は、下限と考えるべきである。例えば2の累乗に最も近いもの等に、これらの値を増加することが有効となり得る。特に、上記のアルゴリズムはシンボルサイズTが最大パケットサイズPを除算することを保証せず、したがって正確にPのサイズのパケットを使用することが可能でないことがあり得る。その代わりに、P/Aを除算する値であるようにGが選択される場合、シンボルサイズTはPの除数となり、サイズPのパケットが使用されることができる。
入力パラメータ、W、A、KMINおよびGMAXの推奨された設定は、以下の通りである。
W=256KB A=4 KMIN=1024 GMAX=10
<B.3.4.2 例>
上記のアルゴリズムは、図18に示すように、結果としてトランスポートパラメータとなり、P=512、ならびにW、A、KMINおよびGMAXに関する推奨値をとる。
<B.4 ストリーミング>
<B.4.1 ソースブロック構築>
この文書において定義したように、ソースブロックは、システマティックMSCR前方誤り訂正符号を利用して、トランスポート・プロトコルによって構築される。ソースブロックの構築および修復シンボルの構築に使われるシンボルサイズTは、トランスポート・プロトコルにより提供される。任意のソースブロック中のソースシンボルの数がせいぜいKMAXであるように、パラメータTが設定されることができる。
推奨されたパラメータは、セクションB.4.4に示される。
<B.4.2 符号化パケット構築>
B.4.3に説明するように、各々の修復パケットは、SBN、ESI、SBLおよび(複数の)修復シンボルを含む。修復パケット内に含まれる修復シンボルの数は、パケット長から計算される。修復パケット中に配置されるESI値および修復シンボルを生成するために用いられる修復シンボルのトリプルは、セクションB.3.2.2にて説明したように計算される。
<B.4.3 トランスポート>
このセクションは、ストリーミングのためにMSCR前方誤り訂正を利用する、任意のトランスポート・プロトコルとMSCR符号器/復号器との間の情報交換を記載する。ストリーミングのためにMSCR符号器は、各々のソースブロックに関してトランスポート・プロトコルからの情報:バイト単位のシンボルサイズT、ソースブロック中のシンボルの数K、ソースブロック番号(SBN)、符号化されるソースシンボル(K・Tバイト)を使用することができる。MSCR符号器は、各修復パケットに関してSBN、ESI、SBLおよび(複数の)修復シンボルを含む符号化パケット情報を、トランスポート・プロトコルに提供する。トランスポート・プロトコルはMSCR復号器にこの情報を透過的に通信することができる。
<B.4.4 推奨パラメータ> <B.4.4.1 パラメータ導出アルゴリズム>
このセクションは、をトランスポートパラメータTの導出の推奨を提供する。この推奨は、以下の入力パラメータに基づく。
B:バイト単位の最大ソースブロックサイズ
P:バイト単位の最大の修復パケットペイロードサイズ、それはAの倍数である
A:バイト単位のシンボルアライメントファクタ
MAX:ソースブロック当たりのソースシンボルの最大数
MIN:ソースブロック当たりのシンボルの数に関する最小目標
MAX:修復パケット当たりのシンボルの最大目標数
これらの入力に関する必要条件は、ceil(B/P)≦KMAXである。上記の入力に基づいて、トランスポートパラメータTは、以下の通りに算出される。
G=min{ceil(P・KMIN/B),P/A、GMAX}−パケット当たりのシンボルの近似の数
T=floor(P/(A・G))・A
とする。
上記で導出されるTの値は、使用するTの実効値へのガイド(guide)とみなされるべきである。そのTをPに除算することは有効である得、あるいはフルサイズ修復シンボルが失われた転送元パケットの終わりで(ソースブロックのソースシンボルの最大数KMAXを超えない限り)部分的なソースシンボルを回復するために用いられるとき、浪費を最小にするようにTの値をより小さく設定することが有効であり得る。さらに、Tの選択は転送元パケットサイズの分布に依存することができ、例えば、全ての転送元パケットが同一サイズである場合、P’がTの倍数である修復パケットP’の実際のペイロードサイズが、各々の転送元パケットがソースブロックにおいて占めるバイトの数に等しい(あるいは可能な限り少ないバイトだけそれより大きい)ように、Tを選択することが有効である。
入力パラメータ、A、KMINおよびGMAXに関する推奨された設定は、以下の通りである。
A=4 KMIN=1024 GMAX=10
<B.4.4.2 例>
上記のアルゴリズムは、P=512、並びにGMAX、KMINおよびAに関する推奨値を仮定すると、図19に示されるトランスポートパラメータとなる。となる。
<B.5. システマティックMSCR符号化器>
<B.5.1. 符号化の概要>
システマティックMSCR符号器は、K個のソースシンボルを含むソースブロックから修復シンボルを生成するために用いられる。
シンボルは、符号化および復号プロセスの基本的なデータ単位である。各々のソースブロック(サブブロック)に関して、全てのシンボル(サブシンボル)は同一サイズである。符号化および復号化の両方のためのシンボル(サブシンボル)に関して実行されるアトミック(atomic)動作は、排他的論理和演算である。
C’[0],...,C’[K−1]を、K個のソースシンボルを示すものとする。
C[0],...,C[L−1]を、L個の中間シンボルを示すものとする。
符号化の第1のステップは、K個のソースシンボルから中間シンボルの数(L>K)を生成することである。このステップにおいて、K個のソーストリプル(d[0],a[0],b[0]),...,(d[K−1],a[K−1],b[K−1])は、セクションB.5.4.4にて説明するように、Trip[ ]生成器を使用して生成される。K個のソーストリプルは、K個のソースシンボルと関連付けられ、その後逆符号化プロセスを使用してソースシンボルからL個の中間シンボルC[0],...,C[L−1]を決定するために用いられる。このプロセスは、MSCR復号化プロセスにより実現されることができる。
ある定った“プレコーディング関係”は、L個の中間シンボル内に保持されなければならない。セクションB.5.2では、これらの関係と、および中間シンボルがソースシンボルからどのようにして生成されるかが説明される。
中間シンボルが生成されると、修復シンボルが作成され、一または複数の修復シンボルは、単一のデータパケット中に一つのグループとして配置される。各々の修復シンボルグループは、符号化シンボルID(ESI)および符号化シンボルの数(G)と関連付けられる。ESIは、セクションB.5.4.4.で説明されるTrip[ ]生成器を再び使用して、各修復シンボルに関して3つの整数のトリプル(d、a、b)を生成するために用いられる。これは、セクションB.5.4において説明される生成器を使用して、セクションB.3およびB.4において説明したように実行される。その後、各々の(d,a,b)−トリプルは、セクションB.5.4.3.に記載されるLTEnc[K,C[0],...,C[L−1],(d,a,b)]生成器を使用して中間シンボルから対応する修復シンボルを生成するために使用される。
<B.5.2.第1の符号化ステップ:中間シンボル生成>
<B.5.2.1 全般>
第1の符号化ステップは、ソースシンボルC’[0],...,C’[K−1]からL個の中間シンボルC[0],...,C[L−1]を生成するためのプレコーディングステップである。中間シンボルは、下記の制約条件の2つのセットによって固有に定義される。
1.中間シンボルは、ソースシンボルトリプルの一つのセットによってソースシンボルに関連付けられる。ソースシンボルトリプルの生成は、セクションB.5.4.4において説明されるTrip[ ]生成器を使用して、セクション5.2.2で定義される。
2.プレコーディング関係の一つのセットは、それら自身を中間シンボル内に保持する。これらは、セクションB.5.2.3において定義される。
L個の中間シンボルの生成は、セクション5.2.4において定義される。
<B.5.2.2. ソースシンボルトリプル>
K個のソースシンボルのそれぞれは、0≦i<Kに関してトリプル(d[i],a[i],b[i])と関連付けられる。ソースシンボルトリプルは、下記のようにセクションB.5.4.4で定義されるトリプル生成器を使用して、決定される。
0<i<Kであるそれぞれのiについて、
(d[i],a[i],b[i])=Trip[K,i]
<B.5.2.3プレコーディング関係>
L個の中間シンボルの間のプレコーディング関係は、第1のK個の中間シンボルに関して最後のL−K個の中間シンボルを表すことにより定義される。
最後のL−K個の中間シンボルC[K],...,C[L−1]はS LDPCシンボルを含む、そして、SおよびHの値がそうであるHハーフシンボルは後述するようにKから決定される。そのため、L=K+S+Hである。
Xを、X・(X−1)=2・Kとなるように最小の正の整数とし、
Sを、S>=ceil(0.01・K)+Xとなるように最小の素数とし、
Hを、(H、ceil(H/2))>=K+Sを選択するように最小の整数とし、
H’=ceil(H/2)L=K+S+Hとし、
C[0]、...、C[K−1] を、最初のK個の中間シンボルを示すものとし、
C[K]、...、C[K+S−1]を、 ゼロに初期化されたS個のLDPCシンボルを示すものとし、
C[K+S]、...、C[L−1]を、ゼロに初期化されたH個のハーフシンボルを示すものとする。
S個のLDPCシンボルは、以下のプロセスの最後でC[K],...,C[K+S−1]の値であるように定義される。
For i=0,...,K−1 do
a=1+(floor(i/S)%(S−1))
b=i%S
C[K+b]=C[K+b]^C[i]
b=(b+a)%S
C[K+b]=C[K+b]^C[i]
b=(b+a)%S
C[K+b]=C[K+b]^C[i]
H ハ−フシンボルは以下のように定義される。
全ての正の整数iについて、g[i]=i^(floor(i/2))とし、
注:g[i]はグレイシーケンスであり、それにおいて各々の要素は前のものと単一のビット位置において異なる。
g[j,k]は、要素がそれらの二進表示でちょうどk個のゼロでないビットを有するg[i]のシーケンスのj番目の要素を示し、j=0,1,2,...である。
それから、ハーフシンボルは、以下のプロセスの後、C[K+S],...,C[L−1]の値として定義される。
For h=0,...,H−1 do
For j=0,...,K+S−1 do
If bit h of g[j,H’]is equal to 1 then C[h+K+S]=C[h+K+S]^C[j]
<B.5.2.4 中間シンボル>
<B.5.2.4.1 定義>
K個のソースシンボルC’[0],C’[1],...,C’[K−1]があるとすると、L個の中間シンボルC[0],C[1],...,C[L−1]は以下の条件を満たすように固有に定義されたシンボル値である。
1.K個のソースシンボルC’[0],C’[1],...,C’[K−1]は、0<i<Kである全てのiについて、K個の制約条件
C’[i]≡LTEnc[K,(C[0],...,C[L−1]),(d[i],a[i],b[i])]
を満たす。
2.L個の中間シンボルC[0],C[1],...,C[L−1]は、B.5.2.3で定義されたプレコーディング関係を満たす。
<B.5.2.4.2 中間シンボルの計算>
このサブセクションは、B.5.2.4.1の制約条件を満たすL個の中間シンボルC[0],C[1],...,C[L−1]の算出のための可能な方法を記載する。
K個の入力シンボルからN個の出力シンボルを生成するコード生成器行列GはGF(2)上のNxKマトリックスであり、ここで各行は出力シンボルのうちの1つに対応し、各列は入力シンボルのうちの1つに対応し、およびここで、ithの出力シンボルは、行iの中にゼロでないエントリを含む列を有するそれら入力シンボルの合計に等しい。
したがって、L個の中間シンボルは、以下の通りに算出されることができる。
Cを、L個の中間シンボル(C[0],C[1],...,C[L−1])の列ベクトルを示すものとする。
Dを、K個のソースシンボルC’[0],C’[1],...,C’[K−1]が後続する、S+H個のゼロシンボルを含む列ベクトルを示すのもとする。
よって、上記の制約条件は、
A・C=D
となるような、GF(2)上のLxLマトリックスAを定義する
マトリックスAは、以下のように構成されることができる。
LDPCを、DPCシンボルのSxKの生成行列とする。そのため、
LDPC・(C[0],...,C[K−1])=(C[K],...,C[K+S−1])とし、
Halfを、ハーフシンボルのH×(K+S)の生成行列とする。そのため、
Half・(C[0],...,C[S+K−1])=(C[K+S],...,C[K+S+H−1])とし、
を、SxSの恒等行列とし、
を、HxHの恒等行列とし、
SxHを、SxHの零行列とし、
LTを、LT符号器により生成される符号化シンボルのK×Lの生成行列とし、
そのため、
LT・(C[0],...,C[L−1])=(C’[0],C’[1],..., C’[K−1])とする。
すなわち、LTEnc[K,(C[0],...,C[L−1]),(d[i],a[i],b[i])]を生成するために排他的論理和を行われるシンボル中にC[i]が含まれる場合にのみ、GLTi,j=1 とする。
したがって、
Aの最初のS個の行は、GLDPC|I|ZS×Hに等しい。
Aの次のH個の行は、GHalf|Iに等しい。
Aの残りのK個の行は、GLTに等しい。
マトリックスAは、図20に示される。中間シンボルは下記のように算出されることができる。
C=A−1・D
任意のKに関して行列Aは最大ランクを有し、したがって逆転可能であるように、ソーストリプルは生成される。この算出は、L個の中間シンボルC[0],C[1],...,C[L−1]を作成するためにMSCR復号プロセスをK個のソースシンボルC’[0],C’[1],...,C’[K−1]に適用することにより実現されることができる。
ソースシンボルから中間シンボルを効率的に生成するために、セクションB.6に記載されているような効率的な復号器インプリメンテーションを用いることが推奨される。ソースシンボルトリプルは、そのアルゴリズムを使用してソースシンボルの効率的な復号化を容易にするように設計される。
<B.5.3.第2の符号化ステップ:LT符号化>
第2の符号化ステップにおいて、ESI Xを有する修復シンボルは、セクションB.3.2.2およびB.4.2に従って生成されたトリプル(d,a,b)=Trip[K,X]を使用して、L個の中間シンボルC[0],C[1],...,C[L−1]に、セクションB.5.4において定義される生成器LTEnc[K,(C[0],C[1],...,C[L−1]),(d,a,b)]を適用することによって生成される。
<B.5.4. 生成器>
<B.5.4.1. 乱数生成器>
乱数生成器Rand[X,i,m]は以下の通りに定義され、ここで、Xは負でない整数であり、iは負でない整数であり、mは正の整数であり、生成された値は0とm−1との間の整数である。VおよびVを、256個のエントリそれぞれの配列であるとし、ここで、各々のエントリは4バイトの符号なしの整数である。これらの配列は、セクションB.7において提供される。したがって、
Rand[X,i,m]=(V[(X+i)%256]^V[(floor(X/256)+i)%256])%m
<B.5.4.2. 度数生成器>
度数生成器Deg[v]は以下の通りに定義され、ここでvは少なくとも0であって220=1048576より小さい整数である。
図21において、 f[j−1]≦v<f[j]となるインデックスjを探す
Deg[v]=d[j]
<B.5.4.3. LT符号化シンボル生成器>
符号化シンボル生成器LTEnc[K,(C[0],C[1],...,C[L−1]),(d,a,b)]は、以下の入力をとる。
Kは、ソースブロック(サブブロック)に関するソースシンボル(またはサブシンボル)の数である。Lを、セクションB.5.2にて説明したようにKから得られるものとし、L’を、L以上の最小の素数とする。
(C[0],C[1],...,C[L−1])は、セクションB.5.2にて説明したように生成されたL個の中間シンボル(サブシンボル)の配列である。
(d、a、b)はセクションB.5.3.4で定義されたトリプル生成器を使用して決定されたソーストリプルであり、それによってdは符号化シンボル度数を示す整数であり、aは1とL’−1を含むそれらの間の整数であり、bは0とL’−1を含むそれらの間の整数である。
以下のアルゴリズムにより、符号化シンボル生成器は単一の符号化シンボルを出力として作成する。
While(b≧L)do b=(b+a)%L’
LTEnc[K,(C[0],C[1],...,C[L−1]),(d,a,b)]=C[b]
For j=1,...,min(d−1,L−1)do
b=(b+a)%L’
While(b≧L)do b=(b+a)%L’ LTEnc[K,(C[0],C[1],...,C[L−1]),(d,a,b)]=LTEnc[K,(C[0],C[1],...,C[L−1]),(d,a,b)]^C[b]
<B.5.4.4 トリプル生成器>
トリプル生成器Trip[K,X]は次の入力をとる。
K:ソースシンボルの数
X:符号化シンボルID
Lを、セクションB.5.2で説明したようにKから決定されるもの
L’を、L以上である最小の素数
Q=65521、216未満の最大の素数
J(K)を、付録Aにおいて定義される、Kと関係するシステマティックデックスとする。
トリプル生成器の出力は、以下のように決定されるトリプル(d、a、b)である。
1. A=(53591+J(K)・997)%Q
2. B=10267・(J(K)+1)%Q
3. Y=(B+X・A)%Q
4. v=Rand[Y,0,220
5. d=Deg[v]
6. a=1+Rand[Y,1,L’−1]
7. b=Rand[Y,2,L’]
<B.6 FEC復号器インプリメンテーション>
<B.6.1 全般>
このセクションは、本願明細書に記載されているMSCR符号のための効率的な復号化アルゴリズムを記載する。受信された各符号化シンボルは、中間シンボル間の方程式の値とみなすことができることに注意すべきである。これらの連立方程式と、中間シンボル間の周知のプレコーディング関係とから、連立方程式を解くための任意のアルゴリズムは中間シンボルおよびそれ故ソースシンボルをうまく復号化できる。しかしながら、選択されるアルゴリズムは、復号化の計算効率に大きな影響を及ぼしている。
<B.6.2 ソースブロックの復号化>
<B.6.2.1 全般>
復号器は、ソースブロック中のシンボルの数Kと、シンボルサイズTを含む、それが復号化するソースブロックの構造を知っていると仮定される。
セクションB.5に記載されたアルゴリズムから、MSCR復号器はプレコーディングシンボルの合計数L=K+S+Hを算出し、それらが復号化されるソースブロックからどのように生成されたかを決定することができる。この説明において、復号化されるソースブロックに関して受信された符号化シンボルが復号器に渡されると仮定される。さらに、この種の各々の符号化シンボルに関しては、その排他論理和が符号化シンボルに等しい中間シンボルのセットおよび数は復号器に渡されると仮定される。ソースシンボルの場合、セクションB.5.2.2に記載されているソースシンボルトリプルは、各々のソースシンボルを与えるために計算する(sum)中間シンボルの数およびセットを示す。
N≧Kを、ソースブロックに関して受信された符号化シンボルの数とし、M=S+H+Nとする。以下のL×MのビットマトリックスAは、復号化されるソースブロックのために復号器に渡される情報から得られることができる。CをL個の中間シンボルの列ベクトルとし、Dを受信機に知られた複数の値を有するM個のシンボルの列ベクトルとし、ここで、M個のシンボルの最初のS+HがLDPCおよびHalfシンボルに対応する0値を有するシンボル(これらはLDPCおよびHalfシンボルの検査シンボルであり、LDPCおよびHalfシンボル自身ではない)であり、M個のシンボルのうちの残りのN個は、ソースブロックのために受信された符号化シンボルである。それから、AはA・C=Dを満たすビットマトリックスである。ここで、GF[2]より上のマトリックス乗算を示す。具体的には、インデックスjに対応する中間シンボルが符号化においてインデックスiに対応するLDPC、Halfまたは符号化シンボルにXORされる場合、あるいはインデックスiがLDPCまたはHalfシンボルに対応し、インデックスjが同じLDPCまたはHalfシンボルに対応する場合、A[i,j]=1である。他の全てのiおよびjについて、A[i,j]=0である。
ソースブロックの復号化は周知のAおよびDからCを復号化することに等しい。Cは、GF[2]より上のAのランクがLである場合にのみ、復号化されることができることは明らかである。Cが復号化されると、失われたソースシンボルは、各失われたソースシンボルを得るためにXORされる中間シンボルの数およびセットを決定するためにソースシンボルトリプルを使用して得られることができる。
復号化Cの第1段階は、復号化予定を形成することである。このステップにおいて、Aは、ガウス消去(行演算と、行および列の並べ替えを使用する)を用いて、およびM−Lの行を放棄した後に、L×Lの恒等行列に変換される。復号化予定はガウス消去処理の期間中、行演算と行および列の並べ替えのシーケンスを含み、DではなくAだけに依存する。DからのCの復号化は復号化予定の形成と並行して行われることができ、または復号化は復号化予定に基づいてその後行われることができる。
Cの復号化と復号化予定との間の対応は、以下の通りである。まず最初に、c[0]=0,c[1]= 1...,c[L−1]=L−1およびd[0]=0,d[1]=1...,d[M−1]=M−1とする。
・Aの行iが復号化予定において行i’にXORされるたびに、復号プロセスにおいて、シンボルD[d[i]]はシンボルD[d[i’]]にXORされる。
・行iが復号化予定において行i’ と交換されるたびに、復号プロセスにおいて、d[i]の値はd[i’]の値と交換される。
・列jが復号化予定において列j’と交換されるたびに、復号プロセスにおいてc[j]の値はc[j’]の値と交換される。
この対応から、ソースブロックの復号化におけるシンボルの排他的論理和の合計数は、ガウス消去における行演算(交換ではない)の数であることは明らかである。Aは最後のM−Lの行を廃棄した後およびガウス消去の後のL×Lの恒等行列であるため、L個のシンボルD[d[0]],D[d[1]],...,D[d[L−1]]はL個のシンボルC[c[0]],C[c[1]],...,C[c[L−1]]の値であることは、成功した復号化の終わりに明らかとなる。
復号化予定を形成するためにガウス消去が行われる順序は、その復号化が成功したか否かには関係がない。しかしながら、復号化の速度は、ガウス消去が実行される順序に大きく依存する。(さらにまた、Aのまばらな表現を維持することは非常に重要である。但し、これはここでは説明されない)。このセクションの残りには、比較的効率的である、ガウス消去が行われ得る順序を説明する。
<B.6.2.2 第1段階>
ガウス消去の第1段階で、マトリックスAは概念的に部分行列に分割される。第1段階部分行列のサイズは、0に初期化される負でない整数iおよびuでパラメータ化される。Aのサブマトリックスは、
(1)最初のi個の行および最初のi個の列の交差によって定義される部分行列I。これは、その段階の各々のステップの終りの恒等行列である。
(2) 最初のi個の行および最初のi個以外のすべての列および最後のu個の列の交差により定義される部分行列。この部分行列のすべてのエントリは、ゼロである。
(3)最初のi個の列および最初のi個以外のすべての行の交差により定義される部分行列。この部分行列のすべてのエントリは、ゼロである。
(4) すべての行および最後のu個の列の交差により定義される部分行列U。
(5)最初のi個以外のすべての列および最後のu個の列および最初のi個以外の行の交差によって形成された部分行列V。
図22はA.の部分行列を例示する。第1の段階のはじめにおいて、V=Aである。各ステップにおいて、Aの行は選択される。Vの構造により定義される以下のグラフは、Aのうちのいずれの行が選択されるかを決定することにおいて使用される。Vを横切る列は、そのグラフ中のノードであり、Vの中のちょうど2つの1を有する行は、2つの1の位置における2つの列(ノード)を接続するグラフの複数のエッジである。このグラフの構成要素は、そのグラフ中のノード/エッジの各対の間に経路が存在するようなノード(列)およびエッジ(行)の最大のセットである。構成要素のサイズは、その構成要素の中のノード(列)の数である。
多くてL個のステップが第1段階に存在する。i+u=Lであるとき、すなわち、VおよびVより上のすべてゼロの部分行列が消えており、AがI、Iより下のすべてゼロの部分行列、およびUを含むとき、その第1段階は成功裏に終了する。Vが消える前のあるステップにおいて、そのステップにおいて選択すべきゼロでない行がVの中に存在しない場合、その段階は復号化の失敗において不成功に終わる。各ステップにおいて、Aの行は以下のように選択される。
Vの全てのエントリがゼロである場合、行は選択されず、復号化は失敗する。
Aの少なくとも一つの行がVの中にちょうどr個の1を有するように、rを最小の整数とする。
r≠2である場合、最小の当初の度数を備えるVの中のちょうどr個の1を有する行を、すべてのこのような行の中から選択する。
r=2である場合、Xにより定義されるグラフの中の最大のサイズの構成要素の一部であるVの中にちょうど2つの1を備える任意の行を選択する。
このステップで行が選択された後、Vと交差するAの最初の行は、選ばれた行がVと交差する最初の行であるように、その選ばれた行と交換される。並べ替えものの中のAの列は、選ばれた行のr個の1のうちの1つがVの最初の列に現れ、残りのr−1個の1がVの最後の列に現れるように並べ替えられる。その後、選ばれた行は、Vの最初の列中に1を有する選ばれた行の下の、Aの全ての他の行にXORされる。最後に、iは1だけ増やされ、uはr−1だけ増やされ、それはステップを完了する。
<B.6.2.3 第2段階>
部分行列Uは、最初のi個の行Uupperと、残りのM−i個の行Ulowerにさらに分割される。ガウス消去は、その順位がu(復号化の失敗)より少ないと決定するか、あるいは最初のu個の行が恒等行列(第2段階の成功)であるマトリックスにそれを変換するために、Ulowerに関して第2段階において実行される。このu×uの恒等行列をIuと呼ぶ。Ulower−Iと交差するAのM−L個の行は廃棄される。この段階の後、Aは、L個の行およびL個の列を有する。
<B.6.2.4 第3段階>
第2段階の後、L×Lの恒等行列にAを変換することを終了させるためにゼロにされる必要のあるAの部分だけがUupperである。部分行列Uupperの行の数iは、通常、Uupperの列の数uよりはるかに大きい。Uupperを効率的にゼロにするために、以下の前計算マトリックスU’は、第三段階のIに基づいて計算され、その後U’はUupperをゼロにするために第四段階において使用される。Iのuの行は、各々8つの行のceil(u/8)グループに分割される。その後、8つの行の各群のために、8つの行の全て非ゼロの組合せが計算される。そして、結果として28−1=255の行となる(これは、グループ当りの行の28−8−1=247の排他的論理和を用いて行われることができる。何故なら、これはIuの中に現れるものハミング重み1の組合せが再計算される必要がないからである)。このように、結果として生じる前計算マトリックスU’は、ceil(u/8)・255の行とuの列とを有する。U’は形式的にマトリックスAの一部ではないが、しかし、Uupperをゼロにするために第四段階において使用される。
<B.6.2.5 第4段階>
Aの最初のiの行の各々について、この行のUupperの部分行列の8つの列の各グループに関して、Uupperの8つの列エントリのセットが全てゼロでない場合、その8つの列におけるパターンに一致する前計算マトリックスU’の行はその行にXORされ(exclusive-ORed)、したがって、U’の1つの行をその行にXORすることを犠牲にして、その行中の8つの列をゼロにする。
この段階の後、AはL×Lの恒等行列であり、完全な復号化予定は成功裏に形成された。その後、既知の符号化シンボルをXORすることを備える対応する復号化は、復号化予定に基づいて中間シンボルを回復するために実行されることができる。
全てのソースシンボルと関連するトリプルは、B.5.2.2に従って計算される。復号化において、受信されたソースシンボルのためのトリプルが使用される。失われたソースシンボルのトリプルは、いずれの中間シンボルがその失われたソースシンボルを回復するためにXORされる必要があるかを決定するために使用される。
<マルチステージコードのいくつかの特性>
上述の多くの例において、入力シンボルおよび出力シンボルはビットの同じ数に関して98を符号化し、各々の出力シンボルは1つのパケット中に配置される(パケットはそっくりそのまま受信されるか、あるいはそっくりそのまま失われるトランスポートの単位である)。いくつかの実施形態では、各々のパケットがいくつかの出力シンボルを含むように、通信システムは変更を加えられる。その後、出力シンボル値のサイズは、多くの要因に基づいて、入力シンボルへの、ストリームのブロックまたはファイルの初期の分割における入力シンボル値のサイズにより決定されるサイズに設定される。各々のパケットが受信されると、出力シンボルが束で到着することを除き、復号プロセスは基本的に不変のままである。
入力シンボルおよび出力シンボルのサイズの設定は、通常、ストリームのブロックまたはファイルのサイズ、および出力シンボルが送信される通信システムにより要求される。たとえば、通信システムがデータのビットを規定されたサイズのパケットにグループ化し、あるいは他のやり方でビットをグループ化する場合、シンボルサイズの設計はパケットまたはグループ化サイズから開始する。そこから、デザイナーはいくつの出力シンボルが1つのパケットまたはグループ中で伝送されるかを決定し、それは出力シンボルのサイズを決定する。簡単化のために、デザイナーは、おそらく、入力シンボルサイズを出力シンボルサイズに等しく設定するが、しかし、入力データが異なる入力シンボルサイズをより都合の良いものにする場合、それが使用されることができる。
上記の符号化プロセスは、ストリームのブロックまたはオリジナルのファイルに基づいて出力シンボルを含んでいるパケットのストリームを作成する。ストリームの各々の出力シンボルは他の全ての出力シンボルから独立して生成され、作成されることができる出力シンボルの数に関して上限も下限もない。キーは、各々の出力シンボルと関連付けられる。そのキー、およびストリームのブロックまたは入力ファイルのいくつかの内容は、出力シンボルの値を決定する。連続的に生成された出力シンボルは連続的なキーを有する必要はなく、いくつかの用途においては、キーのシーケンスをランダムに生成するか、またはそのシーケンスを疑似ランダム的に生成することが好ましい。
マルチステージ復号化は、ストリームのブロックまたはオリジナルのファイルがK個の等しいサイズの入力シンボルに分割されることができ、各々の出力シンボル値が入力シンボル値と同じ長さである場合に、そのブロックまたはファイルが非常に高い確率により平均でK+A個の出力シンボルから回復されることができるという特性を有する。ここで、AはKと比較して小さい。たとえば、上に導入される重み分布に関して、Kが19,681より大きい場合、Aの値がa*Kを上回る確率は多くても10−12であり、それはKの任意の値に関して多くて10−10である。特定の出力シンボルがランダムまたは疑似ランダムな順序で生成され、移動中の特定の出力シンボルの損失はランダムとみなされるため、入力ファイルまたはブロックを回復するために必要とされる出力シンボルの実際の数値には若干の小さい分散が存在する。場合によっては、K+A個のパケットの特定の収集物がその入力ファイルまたはブロック全体を復号化するために十分でない場合、受信機が出力パケットの一つ以上の転送元からより多くのパケットを集めることができる場合に、その入力ファイルまたはブロックは依然として回復可能である。
出力シンボルの数は1の解により制限されるだけなので、K+Aよりかなり多くの出力シンボルを生成できる。たとえば、Iが32ビット数である場合、40億の異なる出力シンボルが生成されることができるが、ストリームのファイルまたはブロックはK=50,000の入力シンボルを含むことができた。ある用途では、それら40億の出力シンボルのうちの少数のものだけが生成され、送信されることができ、それはストリームの入力ファイルまたはブロックが可能な出力シンボルの非常に小さい割合を用いて回復され得る確信に近いものであり、また、入力ファイルまたはブロックがKよりわずかに多い出力シンボルを用いて回復され得る(入力シンボルサイズが出力シンボルサイズと同じであると仮定して)すばらしい確率である。
ある用途では、入力シンボルの全てを復号化することができないこと、あるいは比較的低い確率により入力シンボルの全てを復号化することができることは許容可能であり得る。この種のアプリケーションにおいて、受信機は、K+A個の出力シンボルを受信した後に入力シンボルの全てを復号化する試みを止めることができる。または、受信機は、K+A個未満の出力シンボルを受信した後に出力シンボルを受信するのを止めることができる。ある用途では、受信機は、K個以下の出力シンボルしか受信することができない。このように、本発明のいくつかの実施形態においては、所望の精度は、全ての入力シンボルの完全な回復である必要はないことが理解される。
更に、不完全な回復が許容可能な若干のアプリケーションでは、入力シンボルの全ては回復されることができないように、あるいは入力シンボルの完全な回復には入力シンボルの数より多くの出力シンボルの受信が要求されるように、データが符号化されることができる。このような符号化は、通常、より少ない計算費用を必要とし、したがって符号化の計算費用を減少させる許容可能なやり方であることができる。
上記の図面のさまざまな機能ブロックはハードウェアおよび/またはソフトウェアの組合せによりインプリメントされることができ、特定のインプリメンテーションにおいて、それらブロックのうちのいくつかの機能性のうちのいくつかまたはすべてが組み合わせられることができることが理解される。同様に、本願明細書に記載されたさまざまな方法は、ハードウェアおよび/またはソフトウェアの組合せによりインプリメントされることができることが理解され得る。
上記の説明は、例示的であり限定的でない。本発明の多くのバリエーションは、この開示を検討により当業者に明らかになる。したがって、本発明の技術的範囲は、上記の説明を参照として決定されるべきではなく、その代わりに、複数の等価物のそれらの完全な技術的範囲と共に、添付の特許請求の範囲を参照して決定されるべきである。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
[C1] 通信チャネルを介して転送元から転送先へ送信されるデータを符号化する方法であって、
第1の入力シンボルを使用して算出されるスタティックシンボルの第1のセットが、前記第1の入力シンボルと異なる第2の入力シンボルを使用して算出されるスタティックシンボルの第2のセットと弱い共通の帰属関係を有するように、決定性プロセスにおいて送信される入力シンボルの順序付けられたセットから複数の冗長シンボルを生成することと、
前記入力シンボルおよび冗長シンボルを含むシンボルの複合セットから複数の出力シンボルを生成することと、ここにおいて、可能な出力シンボルの数は前記シンボルの複合セットの中のシンボルの数よりはるかに大きい、ここにおいて、少なくとも1つの出力シンボルは、前記順序付けられた入力シンボルが任意の所定数(N)の出力シンボルから所望の精度まで再生成されることができるように、前記シンボルのされたセットの中の2以上すべて未満のシンボルから生成される、
を含む方法。
[C2] さらに、通信チャネルを介して前記複数の出力シンボルを送信することを備える、C1に記載の方法。
[C3] さらに、前記複数の出力シンボルを記憶媒体に記憶することを備える、C1に記載の方法。
[C4] 前記複数の冗長シンボルは、LDPC符号にしたがって生成される、C1に記載の方法。
[C5] 前記所望の精度は、前記入力シンボルの完全な回復である、C1に記載の方法。
[C6] 前記所望の精度は、高確率での前記入力シンボルの完全な回復である、C1に記載の方法。
[C7] 前記所望の精度はG個の入力シンボルの回復である、ここでGは、前記入力シンボルの順序付けられたセットの中の入力シンボルの数より少ない、C1に記載の方法。
[C8] 多くともG個の入力シンボルは任意の数の出力シンボルから再生成されることができ、ここで、Gは前記入力シンボルの順序付けられたセットの中の入力シンボルの数より少ない、C1に記載の方法。
[C9] 複数の冗長シンボルを生成することは、各冗長シンボルについて、
分布にしたがってt個の異なる入力シンボルを決定すること、
前記t個の異なる入力シンボルのXORとして各冗長シンボルを計算すること
を含む、C1に記載の方法。
[C10] 通信チャネルを介して前記複数の出力シンボルを送信することを備える、ここにおいて、前記複数の出力シンボルを生成するステップは前記複数の出力シンボルを送信するステップと実質的に並行に行われる、C1に記載の方法。
[C11] 前記複数の冗長シンボルは、スタティックシンボル、ハミングシンボル、およびパディングシンボルを備える、ここにおいて、前記シンボルの合計数は素数となるように選択される、C1に記載の方法。
<付録A. システマティックインデックスJ(K)の値>
Kの値それぞれについて、ソースシンボルトリプルのセット(d[0],a[0],b[0]),...,(d[L−1],a[L−1],b[L−1])が、L個の中間シンボルが固有に定義されるようなものである特性を有するように、システマティックインデックスJ(K)は設計されている。すなわち、セクションB.5.2.4.2のマトリックスAは最大の階数(ランク)を有し、逆転可能である。以下は、4と8192とを含むそれらの間のKの値に関するシステマティックインデックスのリストである。値の順序は、読み取りの順序と同じである。すなわち、第1行の最初の数値から第1行の最後の数値、そして、第2行の最初の数値が続き、以下同様である。
Figure 0005485302
Figure 0005485302
Figure 0005485302
Figure 0005485302
Figure 0005485302
Figure 0005485302
Figure 0005485302
Figure 0005485302
Figure 0005485302
<付録B.1 テーブルVの値>
これらの値は、上述の明細書のセクションB.5.4.1で述べられたテーブルVの値の例示的なセットを示している。各エントリは10進数表記の32ビット整数である。値の順序は、第1の列の最上段から第1の列の最下段、そして、第2の列の最上段が続き、以下同様である。
Figure 0005485302
<付録B.2 テーブルVの値>
これらの値は、上述の明細書のセクションB.5.4.1で述べられたテーブルVの値の例示的なセットを示している。各エントリは10進数表記の32ビット整数である。値の順序は、第1の列の最上段から第1の列の最下段、そして、第2の列の最上段が続き、以下同様である。
Figure 0005485302

Claims (15)

  1. 通信チャネルを介して転送元から転送先へ送信されるデータを符号化する方法であって
    、ここにおいて、前記送信されるデータは入力シンボルの順序付けられたセットで表され
    ることができる、
    前記入力シンボルの順序付けられたセットから複数の冗長シンボルを生成することと、
    ここにおいて、前記複数の冗長シンボルの中の各冗長シンボルは、前記入力シンボルの順
    序付けられたセットのうちの1または複数を使用して算出される、
    前記入力シンボルおよび冗長シンボルを含むシンボルの複合セットから複数の出力シン
    ボルを生成することと、ここにおいて、可能な出力シンボルの数は前記シンボルの複合セ
    ットの中のシンボルの数から独立している、ここにおいて、少なくとも1つの出力シンボ
    ルは、前記シンボルの複合セットの中の2以上、かつ、前記シンボルの複合セットの中の
    すべてのシンボル未満から生成される、
    ここにおいて、前記複数の冗長シンボルの前記生成は、冗長シンボルの各対の間の弱い
    共通の帰属関係を保証する決定性プロセスを使用して行われる、
    ここにおいて、2つの冗長シンボルの間の共通の帰属関係は、両冗長シンボルが依存する
    入力シンボルのセットである、ここにおいて、2つの冗長シンボルの間の弱い共通の帰属
    関係は、両冗長シンボルが依存する入力シンボルの数が前記プロセスにより与えられるし
    きい値より小さいときに存在し、前記しきい値は、前記入力シンボルの順序付けられたセ
    ット中の入力シンボルの数から独立している、
    ここにおいて、各入力シンボルに関して、前記入力シンボルに依存する所定数の冗長シン
    ボルが存在する、を含む方法。
  2. さらに、前記通信チャネルを介して前記複数の出力シンボルを送信することを備える、
    請求項1に記載の方法。
  3. さらに、前記複数の出力シンボルを記憶媒体に記憶することを備える、請求項1に記載
    の方法。
  4. 前記複数の冗長シンボルは、LDPC符号にしたがって生成される、請求項1に記載の
    方法。
  5. 複数の出力シンボルは、任意の所定数Nの出力シンボルから前記入力シンボルの順序付
    けられたセットが再生成されることができるようなものであり、ここで、Nは入力シンボ
    ルの数よりわずかに大きい、請求項1に記載の方法。
  6. 前記複数の出力シンボルは、前記入力シンボルの順序付けられたセットが前記複数の出
    力シンボルのうちのN個のものから再生成されることができる高い確率が存在するような
    ものであり、ここでNは少なくとも入力シンボルの数と同じである、請求項1に記載の方
    法。
  7. 前記複数の出力シンボルは、前記入力シンボルの順序付けられたセットのうちのG個の
    ものが前記複数の出力シンボルのうちのK個のものから再生成されることができるような
    ものであり、ここでKは入力シンボルの数であり、GはKより小さい、請求項1に記載の
    方法。
  8. 多くともG個の入力シンボルは任意の数の出力シンボルから再生成されることができ、
    ここで、Gは前記入力シンボルの順序付けられたセットの中の入力シンボルの数より少な
    い、請求項1に記載の方法。
  9. 複数の冗長シンボルを生成することは、各冗長シンボルについて、
    重み分布にしたがってt個の異なる入力シンボルを決定すること、
    前記t個の異なる入力シンボルのXORとして各冗長シンボルを計算すること
    を含む、請求項1に記載の方法。
  10. 通信チャネルを介して前記複数の出力シンボルを送信することを備える、ここにおいて
    、前記複数の出力シンボルを生成するステップは前記複数の出力シンボルを送信するステ
    ップと実質的に並行に行われる、請求項1に記載の方法。
  11. 前記複数の冗長シンボルは、スタティックシンボル、ハミングシンボル、およびパディ
    ングシンボルを備える、ここにおいて、前記シンボルの合計数は素数となるように選択さ
    れる、請求項1に記載の方法。
  12. 任意の2つの異なる冗長シンボルに関して、これら2つの異なる冗長シンボルのそれぞ
    れが依存する入力シンボルの前記セットが多くても6個の入力シンボルを共通して有する
    ように、前記あらかじめ定められるしきい値は6である、請求項1に記載の方法。
  13. 前記入力シンボルの順序付けられたセットのうちの1または複数を使用して前記複数の
    冗長シンボルを生成することは、
    各配列要素がゼロであるように配列C[K],...,C[K+S−1]を初期化
    すること、ここにおいて、Kは入力シンボルの数であり、Sは生成されるLDPCシンボ
    ルの数であり、およびK個の入力シンボルに対応するK個の中間シンボルに配列C[0]
    ,...,C[K−1]を初期化すること、
    カウンタi=0を用いて、以下のステップを行うこと、ここにおいて、aおよびb
    は中間変数であり、“%”はモジュロ演算を表し、floor( )は関数の引数より小
    さい最大の整数値を表す関数であり、“^”はビット毎のXOR演算:
    (1)a=1+(floor(i/S)%(S−1))
    (2)b=i%S
    (3)C[K+b]=C[K+b]^C[i]
    (4)b=(b+a)%S
    (5)C[K+b]=C[K+b]^C[i]
    (6)b=(b+a)%S
    (7)C[K+b]=C[K+b]^C[i]
    を表す、
    1からK−1までのカウンタiの各値に関して、これらのステップを繰り返すこと

    少なくとも結果として生じる配列C[K],...,C[K+S−1]を前記複数
    のS個のLDPCシンボルとして出力すること
    を備える、請求項1に記載の方法。
  14. S≧ceil(0.01・K)+Xとなるように、Sは最小の素数である、ここで、XはX・(X−1)=2・Kとなるような最小の正の整数である、請求項13に記載の方法。
  15. 各入力シンボルに関して、前記入力シンボルに依存する前記所定数の冗長シンボルは3
    である、請求項1に記載の方法。
JP2012000796A 2004-05-07 2012-01-05 ファイルダウンロードおよびストリーミングのシステム Active JP5485302B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US56912704P 2004-05-07 2004-05-07
US60/569,127 2004-05-07

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2007511719A Division JP4971144B2 (ja) 2004-05-07 2005-05-09 ファイルダウンロードおよびストリーミングのシステム

Publications (2)

Publication Number Publication Date
JP2012114929A JP2012114929A (ja) 2012-06-14
JP5485302B2 true JP5485302B2 (ja) 2014-05-07

Family

ID=35394825

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2007511719A Active JP4971144B2 (ja) 2004-05-07 2005-05-09 ファイルダウンロードおよびストリーミングのシステム
JP2012000796A Active JP5485302B2 (ja) 2004-05-07 2012-01-05 ファイルダウンロードおよびストリーミングのシステム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2007511719A Active JP4971144B2 (ja) 2004-05-07 2005-05-09 ファイルダウンロードおよびストリーミングのシステム

Country Status (6)

Country Link
US (3) US7418651B2 (ja)
EP (2) EP2202888A1 (ja)
JP (2) JP4971144B2 (ja)
KR (2) KR101161193B1 (ja)
CN (2) CN103124182B (ja)
WO (1) WO2005112250A2 (ja)

Families Citing this family (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6307487B1 (en) * 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US7068729B2 (en) * 2001-12-21 2006-06-27 Digital Fountain, Inc. Multi-stage code generator and decoder for communication systems
US20020129159A1 (en) * 2001-03-09 2002-09-12 Michael Luby Multi-output packet server with independent streams
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
WO2004034589A2 (en) 2002-10-05 2004-04-22 Digital Fountain, Inc. Systematic encoding and decoding of chain reaction codes
CN101834610B (zh) 2003-10-06 2013-01-30 数字方敦股份有限公司 通过通信信道接收从源发射的数据的方法和装置
KR101161193B1 (ko) * 2004-05-07 2012-07-02 디지털 파운튼, 인크. 파일 다운로드 및 스트리밍 시스템
WO2005119942A2 (en) * 2004-06-01 2005-12-15 The Penn State Research Foundation Optical wireless communications using ultra short light pulses and pulse shaping
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
US7533324B2 (en) * 2004-09-22 2009-05-12 Kencast, Inc. System, method and apparatus for FEC encoding and decoding
US7739580B1 (en) * 2005-02-17 2010-06-15 Kencast, Inc. System, method and apparatus for reducing blockage losses on information distribution networks
US8140699B2 (en) * 2005-02-23 2012-03-20 Cisco Technology, Inc. Switching a client from unicasting to multicasting by simultaneously providing unicast and multicast streams to the client
US7788393B2 (en) * 2005-02-23 2010-08-31 Cisco Technology, Inc. Switching a client from unicasting to multicasting by increasing the unicast stream rate to the client
US8223643B1 (en) 2005-09-06 2012-07-17 Kencast, Inc. Method for packet-level FEC encoding a stream of source packets using shifted interleaving
US8239727B2 (en) * 2006-02-08 2012-08-07 Thomson Licensing Decoding of raptor codes
US8713195B2 (en) 2006-02-10 2014-04-29 Cisco Technology, Inc. Method and system for streaming digital video content to a client in a digital video network
JP5550834B2 (ja) * 2006-02-13 2014-07-16 デジタル ファウンテン, インコーポレイテッド 可変fecオーバヘッド及び保護期間を利用したストリーミング及びバッファリング
WO2007095551A2 (en) * 2006-02-13 2007-08-23 Digital Fountain, Inc. Fec streaming with aggregation of concurrent streams for fec computation
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
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9419749B2 (en) * 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
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
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
WO2008003094A2 (en) 2006-06-29 2008-01-03 Digital Fountain, Inc. Efficient representation of symbol-based transformations with application to encoding and decoding of forward error correction codes
US8943401B2 (en) * 2006-09-29 2015-01-27 Yahoo! Inc. Script-based content-embedding code generation in digital media benefit attachment mechanism
US8707139B2 (en) 2006-10-18 2014-04-22 Kencast, Inc. Systems, methods, apparatus, and computer program products for providing forward error correction with low latency
US9237101B2 (en) 2007-09-12 2016-01-12 Digital Fountain, Inc. Generating and communicating source identification information to enable reliable communications
US9521186B2 (en) * 2007-09-13 2016-12-13 International Business Machines Corporation Method and system for file transfer over a messaging infrastructure
TWI357245B (en) * 2007-12-31 2012-01-21 Ind Tech Res Inst System and method for downloading real-time intera
US8418034B2 (en) 2008-02-08 2013-04-09 Kencast, Inc. Systems, methods, apparatus and computer program products for highly reliable file delivery using compound and braided FEC encoding and decoding
US20090254794A1 (en) 2008-04-04 2009-10-08 Nxp B.V. Method for efficient packet framing in a communication network
RU2010150108A (ru) * 2008-05-07 2012-06-20 Диджитал Фаунтин, Инк. (Us) Быстрое переключение канала и защита потоковой передачи высокого качества по широковещательному каналу
US9100153B2 (en) * 2008-09-25 2015-08-04 The Royal Institution For The Advancement Of Learning/Mcgill University Methods and systems for improving iterative signal processing
US8347388B1 (en) 2008-09-30 2013-01-01 Emc Corporation System and method for orchestrating services
US8090689B1 (en) 2008-09-30 2012-01-03 Emc Corporation Efficient data recovery
US8812455B1 (en) 2008-09-30 2014-08-19 Emc Corporation Efficient data backup
TWI363501B (en) * 2008-12-23 2012-05-01 Ind Tech Res Inst Method and apparatus for data package in broadcast networks
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
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
FR2949632B1 (fr) * 2009-08-28 2012-05-18 Commissariat Energie Atomique Procede d'egalisation de la taille des paquets de donnees par blocs d'un flux multimedia
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
US9136981B2 (en) * 2010-03-03 2015-09-15 Qualcomm Incorporated Block aggregation of objects in a communication system
US8627073B2 (en) * 2010-03-24 2014-01-07 GM Global Technology Operations LLC Adaptive certificate distribution mechanism in vehicular networks using forward error correcting codes
US9225961B2 (en) 2010-05-13 2015-12-29 Qualcomm Incorporated Frame packing for asymmetric stereo video
US9049497B2 (en) 2010-06-29 2015-06-02 Qualcomm Incorporated Signaling random access points for streaming video data
US8918533B2 (en) 2010-07-13 2014-12-23 Qualcomm Incorporated Video switching for streaming video data
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US9456015B2 (en) 2010-08-10 2016-09-27 Qualcomm Incorporated Representation groups for network streaming of coded multimedia data
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US8578241B2 (en) 2011-10-10 2013-11-05 Lsi Corporation Systems and methods for parity sharing data processing
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
JP5795446B2 (ja) 2011-11-01 2015-10-14 クゥアルコム・インコーポレイテッドQualcomm Incorporated Httpサーバの間でのソースデータおよび修復データの割り当てを伴うコンテンツ配送システム
US9723063B2 (en) 2011-11-28 2017-08-01 Vuclip (Singapore) Pte. Ltd. Method of determining transport parameters for efficient data transport across a network
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery
US9646020B2 (en) * 2012-05-02 2017-05-09 Microsoft Technology Licensing, Llc Integrated format conversion during disk upload
KR101983032B1 (ko) * 2012-05-07 2019-05-30 삼성전자주식회사 방송 및 통신 시스템에서 패킷 송수신 장치 및 방법
TWI485992B (zh) * 2012-08-31 2015-05-21 Ind Tech Res Inst 猛禽碼之編碼加速裝置與方法
JP2014068295A (ja) * 2012-09-27 2014-04-17 Kddi Corp 無線環境に適したマルチキャストデータを配信する配信サーバ、システム及びプログラム
WO2014065734A1 (en) * 2012-10-26 2014-05-01 Telefonaktiebolaget L M Ericsson (Publ) METHODS AND ARRANGEMENT FOR HANDLING FILE REPAIR DURING MBMS OR eMBMS DELIVERY
US9294227B2 (en) * 2013-01-29 2016-03-22 Qualcomm Incorporated LT staircase FEC code
US9119144B2 (en) * 2013-02-25 2015-08-25 Qualcomm Incorporated Method and apparatus for generation of balanced weight preamble sequences
CN104079369A (zh) 2013-03-28 2014-10-01 株式会社日立制作所 服务器、数据缓存方法、使用该服务器的通信系统及方法
KR102093731B1 (ko) * 2013-10-22 2020-03-26 삼성전자주식회사 오류 정정 부호를 사용하는 통신 시스템에서 패킷 송수신 기법
TWI523465B (zh) * 2013-12-24 2016-02-21 財團法人工業技術研究院 檔案傳輸系統和方法
TWI519143B (zh) 2013-12-30 2016-01-21 財團法人工業技術研究院 通訊系統、其方法與其接收端
KR20150084632A (ko) 2014-01-13 2015-07-22 삼성전자주식회사 통신 시스템에서 패킷 송수신 방법 및 장치
US9596218B1 (en) 2014-03-03 2017-03-14 Google Inc. Methods and systems of encrypting messages using rateless codes
US9455750B2 (en) * 2014-07-28 2016-09-27 Qualcomm Incorporated Source block size selection
US9590657B2 (en) 2015-02-06 2017-03-07 Alcatel-Lucent Usa Inc. Low power low-density parity-check decoding
US9935654B2 (en) * 2015-02-06 2018-04-03 Alcatel-Lucent Usa Inc. Low power low-density parity-check decoding
US10903858B2 (en) * 2015-05-27 2021-01-26 Quantum Corporation Dynamically variable error correcting code (ECC) system with hybrid rateless reed-solomon ECCs
US10826539B2 (en) 2016-05-11 2020-11-03 Idac Holdings, Inc. Method and system for advanced outer coding
CN106357693B (zh) * 2016-11-09 2020-06-09 深圳市云之讯网络技术有限公司 实时媒体流丢包补偿方法
EP3457601B1 (en) * 2017-09-13 2019-12-25 Siemens Aktiengesellschaft A method for sending digital data over a number of channels
US10771191B2 (en) * 2018-03-09 2020-09-08 Kencast, Inc. System for highly reliable file delivery of using continuous FEC encoding/decoding
US11083961B2 (en) * 2018-12-21 2021-08-10 Universal City Studios Llc Scalable interactive video systems and methods
US10785098B1 (en) 2019-04-30 2020-09-22 Alibaba Group Holding Limited Network configuration using multicast address modulation
CN110278054B (zh) * 2019-04-30 2021-11-16 创新先进技术有限公司 一种配网方法和装置

Family Cites Families (552)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US560738A (en) * 1896-05-26 Overhead traveling crane
US3909721A (en) 1972-01-31 1975-09-30 Signatron Signal processing system
US4365338A (en) 1980-06-27 1982-12-21 Harris Corporation Technique for high rate digital transmission over a dynamic dispersive channel
US4965825A (en) 1981-11-03 1990-10-23 The Personalized Mass Media Corporation Signal processing apparatus and methods
US4589112A (en) 1984-01-26 1986-05-13 International Business Machines Corporation System for multiple error detection with single and double bit error correction
US4901319A (en) 1988-03-18 1990-02-13 General Electric Company Transmission system with adaptive interleaving
GB8815978D0 (en) 1988-07-05 1988-08-10 British Telecomm Method & apparatus for encoding decoding & transmitting data in compressed form
US5136592A (en) 1989-06-28 1992-08-04 Digital Equipment Corporation Error detection and correction system for long burst errors
US5421031A (en) 1989-08-23 1995-05-30 Delta Beta Pty. Ltd. Program transmission optimisation
US7594250B2 (en) 1992-04-02 2009-09-22 Debey Henry C Method and system of program transmission optimization using a redundant transmission sequence
US5701582A (en) 1989-08-23 1997-12-23 Delta Beta Pty. Ltd. Method and apparatus for efficient transmissions of programs
US5329369A (en) 1990-06-01 1994-07-12 Thomson Consumer Electronics, Inc. Asymmetric picture compression
US5455823A (en) 1990-11-06 1995-10-03 Radio Satellite Corporation Integrated communications terminal
US5164963A (en) 1990-11-07 1992-11-17 At&T Bell Laboratories Coding for digital transmission
US5465318A (en) 1991-03-28 1995-11-07 Kurzweil Applied Intelligence, Inc. Method for generating a speech recognition model for a non-vocabulary utterance
US5379297A (en) 1992-04-09 1995-01-03 Network Equipment Technologies, Inc. Concurrent multi-channel segmentation and reassembly processors for asynchronous transfer mode
EP0543070A1 (en) 1991-11-21 1993-05-26 International Business Machines Corporation Coding system and method using quaternary codes
US5371532A (en) 1992-05-15 1994-12-06 Bell Communications Research, Inc. Communications architecture and method for distributing information services
US5425050A (en) 1992-10-23 1995-06-13 Massachusetts Institute Of Technology Television transmission system using spread spectrum and orthogonal frequency-division multiplex
US5372532A (en) 1993-01-26 1994-12-13 Robertson, Jr.; George W. Swivel head cap connector
EP0613249A1 (en) 1993-02-12 1994-08-31 Altera Corporation Custom look-up table with reduced number of architecture bits
DE4316297C1 (de) 1993-05-14 1994-04-07 Fraunhofer Ges Forschung Frequenzanalyseverfahren
AU665716B2 (en) 1993-07-05 1996-01-11 Mitsubishi Denki Kabushiki Kaisha A transmitter for encoding error correction codes and a receiver for decoding error correction codes on a transmission frame
US5590405A (en) 1993-10-29 1996-12-31 Lucent Technologies Inc. Communication technique employing variable information transmission
JP2576776B2 (ja) 1993-11-10 1997-01-29 日本電気株式会社 パケット伝送方法・パケット伝送装置
US5517508A (en) 1994-01-26 1996-05-14 Sony Corporation Method and apparatus for detection and error correction of packetized digital data
CA2140850C (en) 1994-02-24 1999-09-21 Howard Paul Katseff Networked system for display of multimedia presentations
US5566208A (en) 1994-03-17 1996-10-15 Philips Electronics North America Corp. Encoder buffer having an effective size which varies automatically with the channel bit-rate
US5432787A (en) * 1994-03-24 1995-07-11 Loral Aerospace Corporation Packet data transmission system with adaptive data recovery method
US5757415A (en) 1994-05-26 1998-05-26 Sony Corporation On-demand data transmission by dividing input data into blocks and each block into sub-blocks such that the sub-blocks are re-arranged for storage to data storage means
US5802394A (en) 1994-06-06 1998-09-01 Starlight Networks, Inc. Method for accessing one or more streams in a video storage system using multiple queues and maintaining continuity thereof
US5739864A (en) 1994-08-24 1998-04-14 Macrovision Corporation Apparatus for inserting blanked formatted fingerprint data (source ID, time/date) in to a video signal
US5568614A (en) 1994-07-29 1996-10-22 International Business Machines Corporation Data streaming between peer subsystems of a computer system
US5668948A (en) 1994-09-08 1997-09-16 International Business Machines Corporation Media streamer with control node enabling same isochronous streams to appear simultaneously at output ports or different streams to appear simultaneously at output ports
US5926205A (en) 1994-10-19 1999-07-20 Imedia Corporation Method and apparatus for encoding and formatting data representing a video program to provide multiple overlapping presentations of the video program
US5659614A (en) 1994-11-28 1997-08-19 Bailey, Iii; John E. Method and system for creating and storing a backup copy of file data stored on a computer
US5617541A (en) 1994-12-21 1997-04-01 International Computer Science Institute System for packetizing data encoded corresponding to priority levels where reconstructed data corresponds to fractionalized priority level and received fractionalized packets
JP3614907B2 (ja) 1994-12-28 2005-01-26 株式会社東芝 データ再送制御方法及びデータ再送制御システム
JPH11505685A (ja) 1995-04-27 1999-05-21 トラスティーズ・オブ・ザ・スティーブンス・インスティテュート・オブ・テクノロジー 時間限界マルチメディアネットワークアプリケーションのための高保全性伝送
US5835165A (en) 1995-06-07 1998-11-10 Lsi Logic Corporation Reduction of false locking code words in concatenated decoders
US5805825A (en) 1995-07-26 1998-09-08 Intel Corporation Method for semi-reliable, unidirectional broadcast information services
US6079041A (en) 1995-08-04 2000-06-20 Sanyo Electric Co., Ltd. Digital modulation circuit and digital demodulation circuit
US5754563A (en) 1995-09-11 1998-05-19 Ecc Technologies, Inc. Byte-parallel system for implementing reed-solomon error-correcting codes
KR0170298B1 (ko) 1995-10-10 1999-04-15 김광호 디지탈 비디오 테이프의 기록 방법
US5751336A (en) 1995-10-12 1998-05-12 International Business Machines Corporation Permutation based pyramid block transmission scheme for broadcasting in video-on-demand storage systems
JP3305183B2 (ja) 1996-01-12 2002-07-22 株式会社東芝 ディジタル放送受信端末装置
US6012159A (en) 1996-01-17 2000-01-04 Kencast, Inc. Method and system for error-free data transfer
US5852565A (en) 1996-01-30 1998-12-22 Demografx Temporal and resolution layering in advanced television
US5936659A (en) 1996-01-31 1999-08-10 Telcordia Technologies, Inc. Method for video delivery using pyramid broadcasting
US5903775A (en) 1996-06-06 1999-05-11 International Business Machines Corporation Method for the sequential transmission of compressed video information at varying data rates
US5745504A (en) 1996-06-25 1998-04-28 Telefonaktiebolaget Lm Ericsson Bit error resilient variable length code
US5940863A (en) 1996-07-26 1999-08-17 Zenith Electronics Corporation Apparatus for de-rotating and de-interleaving data including plural memory devices and plural modulo memory address generators
US5936949A (en) 1996-09-05 1999-08-10 Netro Corporation Wireless ATM metropolitan area network
KR100261706B1 (ko) 1996-12-17 2000-07-15 가나이 쓰도무 디지탈방송신호의 수신장치와 수신 및 기록재생장치
US6044485A (en) 1997-01-03 2000-03-28 Ericsson Inc. Transmitter method and transmission system using adaptive coding based on channel characteristics
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
US5983383A (en) 1997-01-17 1999-11-09 Qualcom Incorporated Method and apparatus for transmitting and receiving concatenated code data
EP0854650A3 (en) 1997-01-17 2001-05-02 NOKIA TECHNOLOGY GmbH Method for addressing a service in digital video broadcasting
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
US6014706A (en) 1997-01-30 2000-01-11 Microsoft Corporation Methods and apparatus for implementing control functions in a streamed video display system
EP1024672A1 (en) 1997-03-07 2000-08-02 Sanyo Electric Co., Ltd. Digital broadcast receiver and display
US6115420A (en) 1997-03-14 2000-09-05 Microsoft Corporation Digital video signal encoder and encoding method
DE19716011A1 (de) 1997-04-17 1998-10-22 Abb Research Ltd Verfahren und Vorrichtung zur Informationsübertragung über Stromversorgungsleitungen
US6226259B1 (en) 1997-04-29 2001-05-01 Canon Kabushiki Kaisha Device and method for transmitting information device and method for processing information
US5970098A (en) * 1997-05-02 1999-10-19 Globespan Technologies, Inc. Multilevel encoder
US5844636A (en) 1997-05-13 1998-12-01 Hughes Electronics Corporation Method and apparatus for receiving and recording digital packet data
JP4110593B2 (ja) 1997-05-19 2008-07-02 ソニー株式会社 信号記録方法及び信号記録装置
WO1998053454A1 (fr) 1997-05-19 1998-11-26 Sanyo Electric Co., Ltd. Modulation et demodulation numeriques
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 윤종용 이중 다이버서티 시스템을 위한 데이터 전송 방법
US6175944B1 (en) 1997-07-15 2001-01-16 Lucent Technologies Inc. Methods and apparatus for packetizing data for transmission through an erasure broadcast channel
US5933056A (en) 1997-07-15 1999-08-03 Exar Corporation Single pole current mode common-mode feedback circuit
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
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
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
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
WO2000014921A1 (en) 1998-09-04 2000-03-16 At & T Corp. Combined channel coding and space-block coding in a multi-antenna arrangement
US6415326B1 (en) 1998-09-15 2002-07-02 Microsoft Corporation Timeline correlation between multiple timeline-altered media streams
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
US7243285B2 (en) 1998-09-23 2007-07-10 Digital Fountain, Inc. Systems and methods for broadcasting information additive codes
US6307487B1 (en) 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
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
US6229827B1 (en) * 1998-12-04 2001-05-08 Cidra Corporation Compression-tuned bragg grating and laser
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
US6535920B1 (en) 1999-04-06 2003-03-18 Microsoft Corporation Analyzing, indexing and seeking of streaming information
JP3256517B2 (ja) 1999-04-06 2002-02-12 インターナショナル・ビジネス・マシーンズ・コーポレーション 符号化回路、回路、パリティ生成方法及び記憶媒体
US6804202B1 (en) 1999-04-08 2004-10-12 Lg Information And Communications, Ltd. Radio protocol for mobile communication system and method
US7885340B2 (en) 1999-04-27 2011-02-08 Realnetworks, Inc. System and method for generating multiple synchronized encoded representations of media data
FI113124B (fi) 1999-04-29 2004-02-27 Nokia Corp Tiedonsiirto
MY130203A (en) 1999-05-06 2007-06-29 Sony Corp Methods and apparatus for data processing, methods and apparatus for data reproducing and recording media
KR100416996B1 (ko) 1999-05-10 2004-02-05 삼성전자주식회사 이동 통신시스템에서 라디오링크프로토콜에 따른 가변 길이의 데이터 송수신 장치 및 방법
US6229824B1 (en) 1999-05-26 2001-05-08 Xm Satellite Radio Inc. Method and apparatus for concatenated convolutional endcoding and interleaving
AU5140200A (en) 1999-05-26 2000-12-18 Enounce, Incorporated Method and apparatus for controlling time-scale modification during multi-media broadcasts
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
JP3451221B2 (ja) 1999-07-22 2003-09-29 日本無線株式会社 誤り訂正符号化装置、方法及び媒体、並びに誤り訂正符号復号装置、方法及び媒体
US6279072B1 (en) 1999-07-22 2001-08-21 Micron Technology, Inc. Reconfigurable memory with selectable error correction storage
US6453440B1 (en) 1999-08-04 2002-09-17 Sun Microsystems, Inc. System and method for detecting double-bit errors and for correcting errors due to component failures
JP2001060934A (ja) 1999-08-20 2001-03-06 Matsushita Electric Ind Co Ltd Ofdm通信装置
US6430233B1 (en) 1999-08-30 2002-08-06 Hughes Electronics Corporation Single-LNB satellite data receiver
US6332163B1 (en) 1999-09-01 2001-12-18 Accenture, Llp Method for providing communication services over a computer network system
JP4284774B2 (ja) 1999-09-07 2009-06-24 ソニー株式会社 送信装置、受信装置、通信システム、送信方法及び通信方法
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
DE60033011T2 (de) 1999-09-27 2007-08-09 Koninklijke Philips Electronics N.V. Aufteilung einer datei zur emulation eines datenstroms
US20050160272A1 (en) 1999-10-28 2005-07-21 Timecertain, Llc System and method for providing trusted time in content of digital data files
US6523147B1 (en) 1999-11-11 2003-02-18 Ibiquity Digital Corporation Method and apparatus for forward error correction coding for an AM in-band on-channel digital audio broadcasting system
US6678855B1 (en) 1999-12-02 2004-01-13 Microsoft Corporation Selecting K in a data transmission carousel using (N,K) forward error correction
US6748441B1 (en) 1999-12-02 2004-06-08 Microsoft Corporation Data carousel receiving and caching
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
US20020009137A1 (en) 2000-02-01 2002-01-24 Nelson John E. Three-dimensional video broadcasting system
US6965636B1 (en) 2000-02-01 2005-11-15 2Wire, Inc. System and method for block error correction in packet-based digital communications
IL140504A0 (en) 2000-02-03 2002-02-10 Bandwiz Inc Broadcast system
WO2001057667A1 (en) 2000-02-03 2001-08-09 Bandwiz, Inc. Data streaming
US7304990B2 (en) 2000-02-03 2007-12-04 Bandwiz Inc. Method of encoding and transmitting data over a communication medium through division and segmentation
JP2001251287A (ja) 2000-02-24 2001-09-14 Geneticware Corp Ltd ハードウエア保護内部秘匿鍵及び可変パスコードを利用する機密データ伝送方法
DE10009443A1 (de) 2000-02-29 2001-08-30 Philips Corp Intellectual Pty Empfänger und Verfahren zum Detektieren und Dekodieren eines DQPSK-modulierten und kanalkodierten Empfangssignals
US6765866B1 (en) 2000-02-29 2004-07-20 Mosaid Technologies, Inc. Link aggregation
US6384750B1 (en) 2000-03-23 2002-05-07 Mosaid Technologies, Inc. Multi-stage lookup for translating between signals of different bit lengths
JP2001274776A (ja) 2000-03-24 2001-10-05 Toshiba Corp 情報データ伝送システムとその送信装置及び受信装置
US6510177B1 (en) 2000-03-24 2003-01-21 Microsoft Corporation System and method for layered video coding enhancement
AU2001244007A1 (en) 2000-03-31 2001-10-15 Ted Szymanski Transmitter, receiver, and coding scheme to increase data rate and decrease bit error rate of an optical data link
US6473010B1 (en) 2000-04-04 2002-10-29 Marvell International, Ltd. Method and apparatus for determining error correction code failure rate for iterative decoding algorithms
US8572646B2 (en) 2000-04-07 2013-10-29 Visible World Inc. System and method for simultaneous broadcast for personalized messages
AU2001251353A1 (en) 2000-04-08 2001-10-23 Sun Microsystems, Inc. Streaming a single media track to multiple clients
US6631172B1 (en) 2000-05-01 2003-10-07 Lucent Technologies Inc. Efficient list decoding of Reed-Solomon codes for message recovery in the presence of high noise levels
US6742154B1 (en) 2000-05-25 2004-05-25 Ciena Corporation Forward error correction codes for digital optical network optimization
US6738942B1 (en) 2000-06-02 2004-05-18 Vitesse Semiconductor Corporation Product code based forward error correction system
US6694476B1 (en) 2000-06-02 2004-02-17 Vitesse Semiconductor Corporation Reed-solomon encoder and decoder
GB2366159B (en) 2000-08-10 2003-10-08 Mitel Corp Combination reed-solomon and turbo coding
US6834342B2 (en) 2000-08-16 2004-12-21 Eecad, Inc. Method and system for secure communication over unstable public connections
KR100447162B1 (ko) 2000-08-19 2004-09-04 엘지전자 주식회사 래디오 링크 콘트롤(rlc)에서 프로토콜 데이터 유닛(pdu) 정보의 길이 지시자(li) 처리방법
JP2002073625A (ja) 2000-08-24 2002-03-12 Nippon Hoso Kyokai <Nhk> 放送番組に同期した情報提供の方法、サーバ及び媒体
US7340664B2 (en) 2000-09-20 2008-03-04 Lsi Logic Corporation Single engine turbo decoder with single frame size buffer for interleaving/deinterleaving
US6486803B1 (en) * 2000-09-22 2002-11-26 Digital Fountain, Inc. On demand encoding with a window
US7031257B1 (en) 2000-09-22 2006-04-18 Lucent Technologies Inc. Radio link protocol (RLP)/point-to-point protocol (PPP) design that passes corrupted data and error location information among layers in a wireless data transmission protocol
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
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
WO2002049343A1 (en) 2000-12-15 2002-06-20 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
JP2003018568A (ja) 2001-06-29 2003-01-17 Matsushita Electric Ind Co Ltd 再生システム、サーバ装置及び再生装置
US6895547B2 (en) 2001-07-11 2005-05-17 International Business Machines Corporation Method and apparatus for low density parity check encoding of data
US6928603B1 (en) 2001-07-19 2005-08-09 Adaptix, Inc. System and method for interference mitigation using adaptive forward error correction in a wireless RF data transmission system
US6961890B2 (en) 2001-08-16 2005-11-01 Hewlett-Packard Development Company, L.P. Dynamic variable-length error correction code
US7110412B2 (en) 2001-09-18 2006-09-19 Sbc Technology Resources, Inc. Method and system to transport high-quality video signals
FI115418B (fi) 2001-09-20 2005-04-29 Oplayo Oy Adaptiivinen mediavirta
US6990624B2 (en) 2001-10-12 2006-01-24 Agere Systems Inc. High speed syndrome-based FEC encoder and decoder and system using same
US7480703B2 (en) 2001-11-09 2009-01-20 Sony Corporation System, method, and computer program product for remotely determining the configuration of a multi-media content user based on response of the user
US7363354B2 (en) 2001-11-29 2008-04-22 Nokia Corporation System and method for identifying and accessing network services
US7003712B2 (en) 2001-11-29 2006-02-21 Emin Martinian Apparatus and method for adaptive, multimode decoding
JP2003174489A (ja) 2001-12-05 2003-06-20 Ntt Docomo Inc ストリーミング配信装置、ストリーミング配信方法
FI114527B (fi) 2002-01-23 2004-10-29 Nokia Corp Kuvakehysten ryhmittely videokoodauksessa
MXPA04007020A (es) 2002-01-23 2004-10-11 Nokia Corp Agrupamiento de cuadros de imagen para codificacion de video.
KR100989222B1 (ko) 2002-01-30 2010-10-20 엔엑스피 비 브이 멀티미디어 데이터로부터의 인코딩된 스트림 세트를 제공하는 방법 및 인코더와, 클라이언트 애플리케이션에 인코딩된 스트림을 제공하는 서버와, 가변 대역폭을 갖는 네트워크상에서 멀티미디어 데이터를 스트리밍하는 송신기
US7249291B2 (en) 2002-02-15 2007-07-24 Digital Fountain, Inc. System and method for reliably communicating the content of a live data stream
JP4126928B2 (ja) 2002-02-28 2008-07-30 日本電気株式会社 プロキシサーバ及びプロキシ制御プログラム
JP4116470B2 (ja) 2002-03-06 2008-07-09 ヒューレット・パッカード・カンパニー メディア・ストリーミング配信システム
FR2837332A1 (fr) 2002-03-15 2003-09-19 Thomson Licensing Sa Dispositif et procede d'insertion de codes de correction d'erreurs et de reconstitution de flux de donnees, et produits correspondants
WO2003090391A1 (en) 2002-04-15 2003-10-30 Nokia Corporation Rlp logical layer of a communication station
US6677864B2 (en) 2002-04-18 2004-01-13 Telefonaktiebolaget L.M. Ericsson Method for multicast over wireless networks
JP3629008B2 (ja) 2002-04-19 2005-03-16 松下電器産業株式会社 データ受信装置及びデータ配信システム
JP3689063B2 (ja) 2002-04-19 2005-08-31 松下電器産業株式会社 データ受信装置及びデータ配信システム
WO2003092305A1 (en) 2002-04-25 2003-11-06 Sharp Kabushiki Kaisha Image encodder, image decoder, record medium, and image recorder
US20030204602A1 (en) 2002-04-26 2003-10-30 Hudson Michael D. Mediated multi-source peer content delivery network architecture
US7177658B2 (en) 2002-05-06 2007-02-13 Qualcomm, Incorporated Multi-media broadcast and multicast service (MBMS) in a wireless communications system
US7200388B2 (en) 2002-05-31 2007-04-03 Nokia Corporation Fragmented delivery of multimedia
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
EP1550315B1 (en) 2002-06-11 2015-10-21 Telefonaktiebolaget L M Ericsson (publ) Generation of mixed media streams
EP2278719B1 (en) 2002-06-11 2013-12-18 Digital Fountain, Inc. Decoding of chain reaction codes through inactivation
US6956875B2 (en) 2002-06-19 2005-10-18 Atlinks Usa, Inc. Technique for communicating variable bit rate data over a constant bit rate link
JP4154569B2 (ja) 2002-07-10 2008-09-24 日本電気株式会社 画像圧縮伸長装置
JP4120461B2 (ja) 2002-07-12 2008-07-16 住友電気工業株式会社 伝送データ生成方法及び伝送データ生成装置
US8300690B2 (en) 2002-07-16 2012-10-30 Nokia Corporation Method for random access and gradual picture refresh in video coding
JPWO2004019521A1 (ja) 2002-07-31 2005-12-15 シャープ株式会社 データ通信装置、その間欠通信方法、その方法を記載するプログラム、及びそのプログラムを記録する記録媒体
JP2004070712A (ja) 2002-08-07 2004-03-04 Nippon Telegr & Teleph Corp <Ntt> データ配信方法,データ配信システム,分割配信データ受信方法,分割配信データ受信装置および分割配信データ受信プログラム
AU2002319335B2 (en) 2002-08-13 2008-12-04 Nokia Corporation Symbol interleaving
US6985459B2 (en) 2002-08-21 2006-01-10 Qualcomm Incorporated Early transmission and playout of packets in wireless communication systems
CN100393012C (zh) * 2002-09-09 2008-06-04 西南交通大学 在混合自动重发请求系统中并行冗余发送与并行合并接收分组数据的方法
WO2004030273A1 (ja) 2002-09-27 2004-04-08 Fujitsu Limited データ配信方法、システム、伝送方法及びプログラム
JP3534742B1 (ja) 2002-10-03 2004-06-07 株式会社エヌ・ティ・ティ・ドコモ 動画像復号方法、動画像復号装置、及び動画像復号プログラム
WO2004034589A2 (en) 2002-10-05 2004-04-22 Digital Fountain, Inc. Systematic encoding and decoding of chain reaction codes
JP2004135013A (ja) 2002-10-10 2004-04-30 Matsushita Electric Ind Co Ltd 伝送装置及び伝送方法
FI116816B (fi) 2002-10-14 2006-02-28 Nokia Corp Median suoratoisto
US7289451B2 (en) 2002-10-25 2007-10-30 Telefonaktiebolaget Lm Ericsson (Publ) Delay trading between communication links
US8320301B2 (en) 2002-10-25 2012-11-27 Qualcomm Incorporated MIMO WLAN system
CN1708934B (zh) 2002-10-30 2010-10-06 皇家飞利浦电子股份有限公司 自适应前向错误控制方案
JP2004165922A (ja) 2002-11-12 2004-06-10 Sony Corp 情報処理装置および方法、並びにプログラム
GB0226872D0 (en) 2002-11-18 2002-12-24 British Telecomm Video transmission
CA2505853A1 (en) 2002-11-18 2004-06-03 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
US7525994B2 (en) 2003-01-30 2009-04-28 Avaya Inc. Packet data flow identification for multiplexing
US7756002B2 (en) 2003-01-30 2010-07-13 Texas Instruments Incorporated Time-frequency interleaved orthogonal frequency division multiplexing ultra wide band physical layer
US7231404B2 (en) 2003-01-31 2007-06-12 Nokia Corporation Datacast file transmission with meta-data retention
US7062272B2 (en) 2003-02-18 2006-06-13 Qualcomm Incorporated Method and apparatus to track count of broadcast content recipients in a wireless telephone network
EP1455504B1 (en) 2003-03-07 2014-11-12 Samsung Electronics Co., Ltd. Apparatus and method for processing audio signal and computer readable recording medium storing computer program for the method
JP4173755B2 (ja) 2003-03-24 2008-10-29 富士通株式会社 データ伝送サーバ
US7610487B2 (en) 2003-03-27 2009-10-27 Microsoft Corporation Human input security codes
US7266147B2 (en) 2003-03-31 2007-09-04 Sharp Laboratories Of America, Inc. Hypothetical reference decoder
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
US20050041736A1 (en) 2003-05-07 2005-02-24 Bernie Butler-Smith Stereoscopic television signal processing method, transmission system and viewer enhancements
KR100492567B1 (ko) 2003-05-13 2005-06-03 엘지전자 주식회사 이동통신 시스템의 http 기반 비디오 스트리밍 장치및 방법
US7113773B2 (en) 2003-05-16 2006-09-26 Qualcomm Incorporated Reliable reception of broadcast/multicast content
JP2004348824A (ja) 2003-05-21 2004-12-09 Toshiba Corp Eccエンコード方法、eccエンコード装置
WO2004112368A2 (en) 2003-05-23 2004-12-23 Heyanita, Inc. Transmission of a data file by notification of a reference to the intended recipient and teleconference establishment using a unique reference
JP2004362099A (ja) 2003-06-03 2004-12-24 Sony Corp サーバ装置、情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
WO2004109538A1 (en) 2003-06-07 2004-12-16 Samsung Electronics Co. Ltd. Apparatus and method for organization and interpretation of multimedia data on a recording medium
KR101003413B1 (ko) 2003-06-12 2010-12-23 엘지전자 주식회사 이동통신 단말기의 전송데이터 압축/해제 방법
US7603689B2 (en) 2003-06-13 2009-10-13 Microsoft Corporation Fast start-up for digital video streams
RU2265960C2 (ru) 2003-06-16 2005-12-10 Федеральное государственное унитарное предприятие "Калужский научно-исследовательский институт телемеханических устройств" Способ передачи информации с использованием адаптивного перемежения
US7391717B2 (en) 2003-06-30 2008-06-24 Microsoft Corporation Streaming of variable bit rate multimedia content
US20050004997A1 (en) 2003-07-01 2005-01-06 Nokia Corporation Progressive downloading of timed multimedia content
US8149939B2 (en) 2003-07-07 2012-04-03 Samsung Electronics Co., Ltd. System of robust DTV signal transmissions that legacy DTV receivers will disregard
US7254754B2 (en) 2003-07-14 2007-08-07 International Business Machines Corporation Raid 3+3
KR100532450B1 (ko) 2003-07-16 2005-11-30 삼성전자주식회사 에러에 대해 강인한 특성을 가지는 데이터 기록 방법,이에 적합한 데이터 재생 방법, 그리고 이에 적합한 장치들
US20050028067A1 (en) 2003-07-31 2005-02-03 Weirauch Charles R. Data with multiple sets of error correction codes
US8694869B2 (en) 2003-08-21 2014-04-08 QUALCIMM Incorporated Methods for forward error correction coding above a radio link control layer and related apparatus
IL157886A0 (en) 2003-09-11 2009-02-11 Bamboo Mediacasting Ltd Secure multicast transmission
IL157885A0 (en) 2003-09-11 2004-03-28 Bamboo Mediacasting Ltd Iterative forward error correction
JP4183586B2 (ja) 2003-09-12 2008-11-19 三洋電機株式会社 映像表示装置
US7555006B2 (en) 2003-09-15 2009-06-30 The Directv Group, Inc. Method and system for adaptive transcoding and transrating in a video network
KR100608715B1 (ko) 2003-09-27 2006-08-04 엘지전자 주식회사 QoS보장형 멀티미디어 스트리밍 서비스 시스템 및 방법
ATE337643T1 (de) 2003-09-30 2006-09-15 Ericsson Telefon Ab L M In-place entschachtelung von daten
US7559004B1 (en) 2003-10-01 2009-07-07 Sandisk Corporation Dynamic redundant area configuration in a non-volatile memory system
CN101834610B (zh) 2003-10-06 2013-01-30 数字方敦股份有限公司 通过通信信道接收从源发射的数据的方法和装置
US7516232B2 (en) 2003-10-10 2009-04-07 Microsoft Corporation Media organization for distributed sending of media data
US7614071B2 (en) 2003-10-10 2009-11-03 Microsoft Corporation Architecture for distributed sending of media data
CN100555213C (zh) 2003-10-14 2009-10-28 松下电器产业株式会社 数据转换器
US7650036B2 (en) 2003-10-16 2010-01-19 Sharp Laboratories Of America, Inc. System and method for three-dimensional video coding
US7168030B2 (en) * 2003-10-17 2007-01-23 Telefonaktiebolaget Lm Ericsson (Publ) Turbo code decoder with parity information update
EP1528808A3 (en) 2003-10-27 2008-03-26 Matsushita Electric Industrial Co., Ltd. Apparatus for receiving a broadcast signal
JP2005136546A (ja) 2003-10-29 2005-05-26 Sony Corp 送信装置および方法、記録媒体、並びにプログラム
DE602004011445T2 (de) 2003-11-03 2009-01-15 Broadcom Corp., Irvine FEC-Dekodierung mit dynamischen Parametern
US20050102371A1 (en) 2003-11-07 2005-05-12 Emre Aksu Streaming from a server to a client
US7412641B2 (en) 2003-12-01 2008-08-12 Digital Fountain, Inc. Protection of data from erasures using subsymbol based codes
US7428669B2 (en) 2003-12-07 2008-09-23 Adaptive Spectrum And Signal Alignment, Inc. Adaptive FEC codeword management
US7574706B2 (en) 2003-12-15 2009-08-11 Microsoft Corporation System and method for managing and communicating software updates
US7590118B2 (en) 2003-12-23 2009-09-15 Agere Systems Inc. Frame aggregation format
JP4536383B2 (ja) 2004-01-16 2010-09-01 株式会社エヌ・ティ・ティ・ドコモ データ受信装置およびデータ受信方法
KR100770902B1 (ko) 2004-01-20 2007-10-26 삼성전자주식회사 고속 무선 데이터 시스템을 위한 가변 부호율의 오류 정정부호 생성 및 복호 장치 및 방법
KR100834750B1 (ko) 2004-01-29 2008-06-05 삼성전자주식회사 엔코더 단에서 스케일러빌리티를 제공하는 스케일러블비디오 코딩 장치 및 방법
JP4321284B2 (ja) 2004-02-03 2009-08-26 株式会社デンソー ストリーミングデータ送信装置、および情報配信システム
US7599294B2 (en) 2004-02-13 2009-10-06 Nokia Corporation Identification and re-transmission of missing parts
KR100586883B1 (ko) 2004-03-04 2006-06-08 삼성전자주식회사 비디오 스트리밍 서비스를 위한 비디오 코딩방법, 프리디코딩방법, 비디오 디코딩방법, 및 이를 위한 장치와, 이미지 필터링방법
KR100596705B1 (ko) 2004-03-04 2006-07-04 삼성전자주식회사 비디오 스트리밍 서비스를 위한 비디오 코딩 방법과 비디오 인코딩 시스템, 및 비디오 디코딩 방법과 비디오 디코딩 시스템
US7609653B2 (en) 2004-03-08 2009-10-27 Microsoft Corporation Resolving partial media topologies
WO2005094020A1 (en) 2004-03-19 2005-10-06 Telefonaktiebolaget Lm Ericsson (Publ) Higher layer packet framing using rlp
US7240236B2 (en) 2004-03-23 2007-07-03 Archivas, Inc. Fixed content distributed data storage using permutation ring encoding
JP4433287B2 (ja) 2004-03-25 2010-03-17 ソニー株式会社 受信装置および方法、並びにプログラム
US8842175B2 (en) 2004-03-26 2014-09-23 Broadcom Corporation Anticipatory video signal reception and processing
US20050216472A1 (en) 2004-03-29 2005-09-29 David Leon Efficient multicast/broadcast distribution of formatted data
EP1733394A1 (en) 2004-03-30 2006-12-20 Koninklijke Philips Electronics N.V. System and method for supporting improved trick mode performance for disc-based multimedia content
TW200534875A (en) 2004-04-23 2005-11-01 Lonza Ag Personal care compositions and concentrates for making the same
FR2869744A1 (fr) 2004-04-29 2005-11-04 Thomson Licensing Sa Methode de transmission de paquets de donnees numeriques et appareil implementant la methode
KR101161193B1 (ko) * 2004-05-07 2012-07-02 디지털 파운튼, 인크. 파일 다운로드 및 스트리밍 시스템
US7633970B2 (en) 2004-05-07 2009-12-15 Agere Systems Inc. MAC header compression for use with frame aggregation
US20050254575A1 (en) 2004-05-12 2005-11-17 Nokia Corporation Multiple interoperability points for scalable media coding and transmission
US20060037057A1 (en) 2004-05-24 2006-02-16 Sharp Laboratories Of America, Inc. Method and system of enabling trick play modes using HTTP GET
US8331445B2 (en) 2004-06-01 2012-12-11 Qualcomm Incorporated Method, apparatus, and system for enhancing robustness of predictive video codecs using a side-channel based on distributed source coding techniques
US20070110074A1 (en) 2004-06-04 2007-05-17 Bob Bradley System and Method for Synchronizing Media Presentation at Multiple Recipients
US8112531B2 (en) 2004-07-14 2012-02-07 Nokia Corporation Grouping of session objects
US7139660B2 (en) 2004-07-14 2006-11-21 General Motors Corporation System and method for changing motor vehicle personalization settings
US8544043B2 (en) 2004-07-21 2013-09-24 Qualcomm Incorporated Methods and apparatus for providing content information to content servers
US7409626B1 (en) 2004-07-28 2008-08-05 Ikanos Communications Inc Method and apparatus for determining codeword interleaver parameters
US7376150B2 (en) 2004-07-30 2008-05-20 Nokia Corporation Point-to-point repair response mechanism for point-to-multipoint transmission systems
US7590922B2 (en) 2004-07-30 2009-09-15 Nokia Corporation Point-to-point repair request mechanism for point-to-multipoint transmission systems
US7930184B2 (en) 2004-08-04 2011-04-19 Dts, Inc. Multi-channel audio coding/decoding of random access points and transients
WO2006020826A2 (en) 2004-08-11 2006-02-23 Digital Fountain, Inc. Method and apparatus for fast encoding of data symbols according to half-weight codes
JP4405875B2 (ja) 2004-08-25 2010-01-27 富士通株式会社 エラー訂正用データの生成方法及び生成装置並びに生成プログラム及び同プログラムを格納したコンピュータ読み取り可能な記録媒体
JP2006074335A (ja) 2004-09-01 2006-03-16 Nippon Telegr & Teleph Corp <Ntt> 伝送方法、伝送システム及び伝送装置
JP4576936B2 (ja) 2004-09-02 2010-11-10 ソニー株式会社 情報処理装置、情報記録媒体、コンテンツ管理システム、およびデータ処理方法、並びにコンピュータ・プログラム
JP2006115104A (ja) 2004-10-13 2006-04-27 Daiichikosho Co Ltd 高能率符号化された時系列情報をパケット化してリアルタイム・ストリーミング送信し受信再生する方法および装置
US7529984B2 (en) 2004-11-16 2009-05-05 Infineon Technologies Ag Seamless change of depth of a general convolutional interleaver during transmission without loss of data
US7751324B2 (en) 2004-11-19 2010-07-06 Nokia Corporation Packet stream arrangement in multimedia transmission
EP1815684B1 (en) 2004-11-22 2014-12-31 Thomson Research Funding Corporation Method and apparatus for channel change in dsl system
WO2006060036A1 (en) 2004-12-02 2006-06-08 Thomson Licensing Adaptive forward error correction
KR20060065482A (ko) 2004-12-10 2006-06-14 마이크로소프트 코포레이션 스트리밍 미디어 데이터의 코딩 비트 레이트의 제어 시스템및 프로세스
JP2006174032A (ja) 2004-12-15 2006-06-29 Sanyo Electric Co Ltd 画像データ伝送システム、画像データ受信装置及び画像データ送信装置
JP2006174045A (ja) 2004-12-15 2006-06-29 Ntt Communications Kk 画像配信装置、プログラム及び方法
US7398454B2 (en) 2004-12-21 2008-07-08 Tyco Telecommunications (Us) Inc. System and method for forward error correction decoding using soft information
JP4391409B2 (ja) 2004-12-24 2009-12-24 株式会社第一興商 高能率符号化された時系列情報をリアルタイム・ストリーミング送信し受信再生する方法と受信装置
EP1847087A1 (en) 2005-02-08 2007-10-24 Telefonaktiebolaget LM Ericsson (publ) On-demand multi-channel streaming session over packet-switched networks
US7925097B2 (en) 2005-02-18 2011-04-12 Sanyo Electric Co., Ltd. Image display method, image coding apparatus, and image decoding apparatus
US7822139B2 (en) 2005-03-02 2010-10-26 Rohde & Schwarz Gmbh & Co. Kg Apparatus, systems, methods and computer products for providing a virtual enhanced training sequence
US20090222873A1 (en) 2005-03-07 2009-09-03 Einarsson Torbjoern Multimedia Channel Switching
US8028322B2 (en) 2005-03-14 2011-09-27 Time Warner Cable Inc. Method and apparatus for network content download and recording
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
US7418649B2 (en) 2005-03-15 2008-08-26 Microsoft Corporation Efficient implementation of reed-solomon erasure resilient codes in high-rate applications
US7450064B2 (en) 2005-03-22 2008-11-11 Qualcomm, Incorporated Methods and systems for deriving seed position of a subscriber station in support of unassisted GPS-type position determination in a wireless communication system
JP4487028B2 (ja) 2005-03-31 2010-06-23 ブラザー工業株式会社 配信速度制御装置、配信システム、配信速度制御方法、及び配信速度制御用プログラム
US7715842B2 (en) 2005-04-09 2010-05-11 Lg Electronics Inc. Supporting handover of mobile terminal
CN101120593A (zh) 2005-04-13 2008-02-06 诺基亚公司 可扩展性信息的编码、存储和信号发送
JP4515319B2 (ja) 2005-04-27 2010-07-28 株式会社日立製作所 コンピュータシステム
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 受信装置
US8228994B2 (en) 2005-05-20 2012-07-24 Microsoft Corporation Multi-view video coding based on temporal and view decomposition
WO2006125850A1 (en) 2005-05-24 2006-11-30 Nokia Corporation Method and apparatuses for hierarchical transmission/reception in digital broadcast
US7676735B2 (en) 2005-06-10 2010-03-09 Digital Fountain Inc. Forward error-correcting (FEC) coding and streaming
US7644335B2 (en) 2005-06-10 2010-01-05 Qualcomm Incorporated In-place transformations with applications to encoding and decoding various classes of codes
JP2007013436A (ja) 2005-06-29 2007-01-18 Toshiba Corp 符号化ストリーム再生装置
US20070006274A1 (en) 2005-06-30 2007-01-04 Toni Paila Transmission and reception of session packets
JP2007013675A (ja) 2005-06-30 2007-01-18 Sanyo Electric Co Ltd ストリーミング配信システム及びサーバ
US7725593B2 (en) 2005-07-15 2010-05-25 Sony Corporation Scalable video coding (SVC) file format
US20070022215A1 (en) 2005-07-19 2007-01-25 Singer David W Method and apparatus for media data transmission
ATE514246T1 (de) 2005-08-19 2011-07-15 Hewlett Packard Development Co Andeutung von verlorenen segmenten über schichtgrenzen
JP3996631B2 (ja) 2005-09-09 2007-10-24 松下電器産業株式会社 画像処理方法、画像記録方法、画像処理装置および画像ファイルフォーマット
US7924913B2 (en) 2005-09-15 2011-04-12 Microsoft Corporation Non-realtime data transcoding of multimedia content
US20070067480A1 (en) 2005-09-19 2007-03-22 Sharp Laboratories Of America, Inc. Adaptive media playout by server media processing for robust streaming
US8879635B2 (en) 2005-09-27 2014-11-04 Qualcomm Incorporated Methods and device for data alignment with time domain boundary
US20070078876A1 (en) 2005-09-30 2007-04-05 Yahoo! Inc. Generating a stream of media data containing portions of media files using location tags
US7720062B2 (en) 2005-10-05 2010-05-18 Lg Electronics Inc. Method of processing traffic information and digital broadcasting system
US7164370B1 (en) 2005-10-06 2007-01-16 Analog Devices, Inc. System and method for decoding data compressed in accordance with dictionary-based compression schemes
US9635396B2 (en) 2005-10-11 2017-04-25 Nokia Technologies Oy System and method for efficient scalable stream adaptation
CN100442858C (zh) 2005-10-11 2008-12-10 华为技术有限公司 分组网络中多媒体实时传输的唇同步方法及其装置
US7720096B2 (en) 2005-10-13 2010-05-18 Microsoft Corporation RTP payload format for VC-1
MY159176A (en) 2005-10-19 2016-12-30 Thomson Licensing Multi-view video coding using scalable video coding
JP4727401B2 (ja) 2005-12-02 2011-07-20 日本電信電話株式会社 無線マルチキャスト伝送システム、無線送信装置及び無線マルチキャスト伝送方法
FR2894421B1 (fr) 2005-12-07 2008-01-18 Canon Kk Procede et dispositif de decodage d'un flux video code suivant un codage hierarchique
KR100759823B1 (ko) 2005-12-08 2007-09-18 한국전자통신연구원 제로 복귀 신호 발생 장치 및 그 방법
JP4456064B2 (ja) 2005-12-21 2010-04-28 日本電信電話株式会社 パケット送信装置、受信装置、システム、およびプログラム
US20070157267A1 (en) 2005-12-30 2007-07-05 Intel Corporation Techniques to improve time seek operations
US8185794B2 (en) 2006-01-05 2012-05-22 Telefonaktiebolaget L M Ericsson (Publ) Media container file management
US8214516B2 (en) 2006-01-06 2012-07-03 Google Inc. Dynamic media serving infrastructure
JP4874343B2 (ja) 2006-01-11 2012-02-15 ノキア コーポレイション スケーラブルビデオ符号化における、下位互換性のあるピクチャの集約
WO2007081176A1 (en) 2006-01-12 2007-07-19 Lg Electronics Inc. Processing multiview video
WO2007086654A1 (en) 2006-01-25 2007-08-02 Lg Electronics Inc. Digital broadcasting system and method of processing data
RU2290768C1 (ru) 2006-01-30 2006-12-27 Общество с ограниченной ответственностью "Трафиклэнд" Система медиавещания в инфраструктуре оператора мобильной связи
US7262719B2 (en) 2006-01-30 2007-08-28 International Business Machines Corporation Fast data stream decoding using apriori information
GB0602314D0 (en) 2006-02-06 2006-03-15 Ericsson Telefon Ab L M Transporting packets
US20110087792A2 (en) 2006-02-07 2011-04-14 Dot Hill Systems Corporation Data replication method and apparatus
US8239727B2 (en) 2006-02-08 2012-08-07 Thomson Licensing Decoding of raptor codes
JP5550834B2 (ja) 2006-02-13 2014-07-16 デジタル ファウンテン, インコーポレイテッド 可変fecオーバヘッド及び保護期間を利用したストリーミング及びバッファリング
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
US20070200949A1 (en) 2006-02-21 2007-08-30 Qualcomm Incorporated Rapid tuning in multimedia applications
JP2007228205A (ja) 2006-02-23 2007-09-06 Funai Electric Co Ltd ネットワークサーバ
US8320450B2 (en) 2006-03-29 2012-11-27 Vidyo, Inc. System and method for transcoding between scalable and non-scalable video codecs
US20090100496A1 (en) 2006-04-24 2009-04-16 Andreas Bechtolsheim Media server system
US20080010153A1 (en) 2006-04-24 2008-01-10 Pugh-O'connor Archie Computer network provided digital content under an advertising and revenue sharing basis, such as music provided via the internet with time-shifted advertisements presented by a client resident application
US7640353B2 (en) 2006-04-27 2009-12-29 Microsoft Corporation Guided random seek support for media streaming
WO2007134196A2 (en) 2006-05-10 2007-11-22 Digital Fountain, Inc. Code generator and decoder using hybrid codes
US7525993B2 (en) 2006-05-24 2009-04-28 Newport Media, Inc. Robust transmission system and method for mobile television applications
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
TWM302355U (en) 2006-06-09 2006-12-11 Jia-Bau Jeng Fixation and cushion structure of knee joint
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
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
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
JP2008011404A (ja) 2006-06-30 2008-01-17 Toshiba Corp コンテンツ処理装置及びコンテンツ処理方法
JP4392004B2 (ja) 2006-07-03 2009-12-24 インターナショナル・ビジネス・マシーンズ・コーポレーション パケット回復のための符号化および復号化技術
JP4982563B2 (ja) 2006-07-20 2012-07-25 サンディスク コーポレイション 向上されたavプレーヤ装置、並びにそれを使用したコンテンツ配信のシステムおよび方法
US7711797B1 (en) 2006-07-31 2010-05-04 Juniper Networks, Inc. Optimizing batch size for prefetching data over wide area networks
US8209736B2 (en) 2006-08-23 2012-06-26 Mediatek Inc. Systems and methods for managing television (TV) signals
US20080066136A1 (en) 2006-08-24 2008-03-13 International Business Machines Corporation System and method for detecting topic shift boundaries in multimedia streams using joint audio, visual and text cues
AU2007287222A1 (en) 2006-08-24 2008-02-28 Nokia Corporation System and method for indicating track relationships in media files
JP2008109637A (ja) 2006-09-25 2008-05-08 Toshiba Corp 動画像符号化装置及びその方法
WO2008054112A2 (en) 2006-10-30 2008-05-08 Lg Electronics Inc. Methods of performing random access in a wireless communication system
JP2008118221A (ja) 2006-10-31 2008-05-22 Toshiba Corp 復号装置及び復号方法
WO2008054100A1 (en) 2006-11-01 2008-05-08 Electronics And Telecommunications Research Institute Method and apparatus for decoding metadata used for playing stereoscopic contents
JP5378227B2 (ja) 2006-11-14 2013-12-25 クゥアルコム・インコーポレイテッド チャネルスイッチングのためのシステムと方法
US8027328B2 (en) 2006-12-26 2011-09-27 Alcatel Lucent Header compression in a wireless communication network
EP4184341A1 (en) 2007-01-05 2023-05-24 DivX, LLC Video distribution system including progressive playback
US20080168516A1 (en) 2007-01-08 2008-07-10 Christopher Lance Flick Facilitating Random Access In Streaming Content
CA2675135A1 (en) 2007-01-09 2008-07-17 Nokia Corporation Method for supporting file versioning in mbms file repair
US20080172430A1 (en) 2007-01-11 2008-07-17 Andrew Thomas Thorstensen Fragmentation Compression Management
MX2009000619A (es) 2007-01-11 2009-04-16 Panasonic Corp Metodo para la reproduccion de truco de datos multimedia en flujo y encriptados.
CN101543018B (zh) 2007-01-12 2012-12-26 庆熙大学校产学协力团 网络提取层单元的分组格式、使用该格式的视频编解码算法和装置以及使用该格式进行IPv6标签交换的QoS控制算法和装置
KR20080066408A (ko) 2007-01-12 2008-07-16 삼성전자주식회사 3차원 영상 처리 장치 및 방법
US8126062B2 (en) 2007-01-16 2012-02-28 Cisco Technology, Inc. Per multi-block partition breakpoint determining for hybrid variable length coding
US7721003B2 (en) 2007-02-02 2010-05-18 International Business Machines Corporation System and method to synchronize OSGi bundle inventories between an OSGi bundle server and a client
US20080192818A1 (en) 2007-02-09 2008-08-14 Dipietro Donald Vincent Systems and methods for securing media
US20080232357A1 (en) 2007-03-19 2008-09-25 Legend Silicon Corp. Ls digital fountain code
JP4838191B2 (ja) 2007-05-08 2011-12-14 シャープ株式会社 ファイル再生装置、ファイル再生方法、ファイル再生を実行させるプログラム及びそのプログラムを記録した記録媒体
JP2008283571A (ja) 2007-05-11 2008-11-20 Ntt Docomo Inc コンテンツ配信装置、コンテンツ配信システム、およびコンテンツ配信方法
WO2008140261A2 (en) 2007-05-14 2008-11-20 Samsung Electronics Co., Ltd. Broadcasting service transmitting apparatus and method and broadcasting service receiving apparatus and method for effectively accessing broadcasting service
CN101682466A (zh) 2007-05-16 2010-03-24 汤姆森特许公司 编码和解码信号的装置和方法
FR2917262A1 (fr) 2007-06-05 2008-12-12 Thomson Licensing Sas Dispositif et procede de codage d'un contenu video sous la forme d'un flux scalable.
US8487982B2 (en) 2007-06-07 2013-07-16 Reald Inc. Stereoplexing for film and video applications
WO2008153294A2 (en) 2007-06-11 2008-12-18 Samsung Electronics Co., Ltd. Method and apparatus for generating header information of stereoscopic image
US8340113B2 (en) 2007-06-20 2012-12-25 Telefonaktiebolaget Lm Erricsson (Publ) Method and arrangement for improved media session management
KR20100030648A (ko) 2007-06-26 2010-03-18 노키아 코포레이션 시간 레이어 스위칭 포인트들을 표시하는 시스템 및 방법
US7917702B2 (en) 2007-07-10 2011-03-29 Qualcomm Incorporated Data prefetch throttle
JP2009027598A (ja) 2007-07-23 2009-02-05 Hitachi Ltd 映像配信サーバおよび映像配信方法
US8327403B1 (en) 2007-09-07 2012-12-04 United Video Properties, Inc. Systems and methods for providing remote program ordering on a user device via a web server
US9237101B2 (en) 2007-09-12 2016-01-12 Digital Fountain, Inc. Generating and communicating source identification information to enable reliable communications
US8233532B2 (en) 2007-09-21 2012-07-31 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Information signal, apparatus and method for encoding an information content, and apparatus and method for error correcting an information signal
US8346959B2 (en) 2007-09-28 2013-01-01 Sharp Laboratories Of America, Inc. Client-controlled adaptive streaming
EP2046044B1 (en) 2007-10-01 2017-01-18 Cabot Communications Ltd A method and apparatus for streaming digital media content and a communication system
WO2009048277A2 (en) 2007-10-09 2009-04-16 Samsung Electronics Co., Ltd. Apparatus and method for generating and parsing mac pdu in a mobile communication system
US8635360B2 (en) 2007-10-19 2014-01-21 Google Inc. Media playback point seeking using data range requests
US8706907B2 (en) 2007-10-19 2014-04-22 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US20090125636A1 (en) 2007-11-13 2009-05-14 Qiong Li Payload allocation methods for scalable multimedia servers
EP2215595B1 (en) 2007-11-23 2012-02-22 Media Patents S.L. A process for the on-line distribution of audiovisual contents with advertisements, advertisement management system, digital rights management system and audiovisual content player provided with said systems
US8543720B2 (en) 2007-12-05 2013-09-24 Google Inc. Dynamic bit rate scaling
JP5385598B2 (ja) 2007-12-17 2014-01-08 キヤノン株式会社 画像処理装置及び画像管理サーバ装置及びそれらの制御方法及びプログラム
US9313245B2 (en) 2007-12-24 2016-04-12 Qualcomm Incorporated Adaptive streaming for on demand wireless services
KR101506217B1 (ko) 2008-01-31 2015-03-26 삼성전자주식회사 스테레오스코픽 영상의 부분 데이터 구간 재생을 위한스테레오스코픽 영상 데이터스트림 생성 방법과 장치, 및스테레오스코픽 영상의 부분 데이터 구간 재생 방법과 장치
EP2086237B1 (en) 2008-02-04 2012-06-27 Alcatel Lucent Method and device for reordering and multiplexing multimedia packets from multimedia streams pertaining to interrelated sessions
US8151174B2 (en) 2008-02-13 2012-04-03 Sunrise IP, LLC Block modulus coding (BMC) systems and methods for block coding with non-binary modulus
US20090219985A1 (en) 2008-02-28 2009-09-03 Vasanth Swaminathan Systems and Methods for Processing Multiple Projections of Video Data in a Single Video File
US7984097B2 (en) 2008-03-18 2011-07-19 Media Patents, S.L. Methods for transmitting multimedia files and advertisements
US8606996B2 (en) 2008-03-31 2013-12-10 Amazon Technologies, Inc. Cache optimization
US20090257508A1 (en) 2008-04-10 2009-10-15 Gaurav Aggarwal Method and system for enabling video trick modes
CN103795511B (zh) 2008-04-14 2018-05-01 亚马逊技术股份有限公司 一种在基站接收上行链路传输的方法及基站
US20100049865A1 (en) 2008-04-16 2010-02-25 Nokia Corporation Decoding Order Recovery in Session Multiplexing
US8855199B2 (en) 2008-04-21 2014-10-07 Nokia Corporation Method and device for video coding and decoding
KR101597377B1 (ko) * 2008-04-28 2016-02-25 애플 인크. 업링크 v-mimo를 위한 후보 리스트 생성 방법 및 장치
RU2010150108A (ru) 2008-05-07 2012-06-20 Диджитал Фаунтин, Инк. (Us) Быстрое переключение канала и защита потоковой передачи высокого качества по широковещательному каналу
WO2009140208A2 (en) 2008-05-12 2009-11-19 Swarmcast, Inc. Live media delivery over a packet-based computer network
JP5022301B2 (ja) 2008-05-19 2012-09-12 株式会社エヌ・ティ・ティ・ドコモ プロキシサーバおよび通信中継プログラム、並びに通信中継方法
CN101287107B (zh) 2008-05-29 2010-10-13 腾讯科技(深圳)有限公司 媒体文件的点播方法、系统和设备
US8370887B2 (en) 2008-05-30 2013-02-05 Microsoft Corporation Media streaming with enhanced seek operation
US20100011274A1 (en) 2008-06-12 2010-01-14 Qualcomm Incorporated Hypothetical fec decoder and signalling for decoding control
US8775566B2 (en) 2008-06-21 2014-07-08 Microsoft Corporation File format for media distribution and presentation
US8387150B2 (en) 2008-06-27 2013-02-26 Microsoft Corporation Segmented media content rights management
US8468426B2 (en) 2008-07-02 2013-06-18 Apple Inc. Multimedia-aware quality-of-service and error correction provisioning
US8539092B2 (en) 2008-07-09 2013-09-17 Apple Inc. Video streaming using multiple channels
US20100153578A1 (en) 2008-07-16 2010-06-17 Nokia Corporation Method and Apparatus for Peer to Peer Streaming
US8638796B2 (en) 2008-08-22 2014-01-28 Cisco Technology, Inc. Re-ordering segments of a large number of segmented service flows
KR101019634B1 (ko) 2008-09-04 2011-03-07 에스케이 텔레콤주식회사 미디어 전송 시스템 및 방법
US8325796B2 (en) 2008-09-11 2012-12-04 Google Inc. System and method for video coding using adaptive segmentation
US8370520B2 (en) 2008-11-24 2013-02-05 Juniper Networks, Inc. Adaptive network content delivery system
US20100169303A1 (en) 2008-12-31 2010-07-01 David Biderman Playlists for real-time or near real-time streaming
US8743906B2 (en) 2009-01-23 2014-06-03 Akamai Technologies, Inc. Scalable seamless digital video stream splicing
RU2689191C2 (ru) 2009-01-26 2019-05-24 Томсон Лайсенсинг Упаковка кадров для кодирования видео
CN104780385B (zh) 2009-01-29 2018-01-16 杜比实验室特许公司 视频装置、用于将多视图帧的序列编码为比特流的装置
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
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
CN102804785A (zh) 2009-04-13 2012-11-28 瑞尔D股份有限公司 编码、解码和发布增强分辨率的立体视频
US9807468B2 (en) 2009-06-16 2017-10-31 Microsoft Technology Licensing, Llc Byte range caching
WO2011009205A1 (en) 2009-07-22 2011-01-27 Jigsee Inc. Method of streaming media to heterogeneous client devices
US8355433B2 (en) 2009-08-18 2013-01-15 Netflix, Inc. Encoding video streams for adaptive video streaming
US20120151302A1 (en) 2010-12-10 2012-06-14 Qualcomm Incorporated Broadcast multimedia storage and access using page maps when asymmetric memory is used
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
EP2474182B1 (en) 2009-09-02 2020-12-02 Apple Inc. Mac packet data unit construction for wireless systems
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
US9438861B2 (en) 2009-10-06 2016-09-06 Microsoft Technology Licensing, Llc Integrating continuous and sparse streaming data
JP2011087103A (ja) 2009-10-15 2011-04-28 Sony Corp コンテンツ再生システム、コンテンツ再生装置、プログラム、コンテンツ再生方法、およびコンテンツサーバを提供
EP3220281A1 (en) 2009-11-04 2017-09-20 Amotech Co., Ltd. System and method for media content streaming
KR101786050B1 (ko) 2009-11-13 2017-10-16 삼성전자 주식회사 데이터 전송 방법 및 장치
KR101786051B1 (ko) 2009-11-13 2017-10-16 삼성전자 주식회사 데이터 제공 방법 및 장치와 데이터 수신 방법 및 장치
CN101729857A (zh) 2009-11-24 2010-06-09 中兴通讯股份有限公司 一种接入视频服务的方法及视频播放系统
WO2011070552A1 (en) 2009-12-11 2011-06-16 Nokia Corporation Apparatus and methods for describing and timing representations in streaming media files
EP3018881A1 (en) 2010-02-19 2016-05-11 Telefonaktiebolaget LM Ericsson (publ) Method and arrangement for adaptation in http streaming
KR101628432B1 (ko) 2010-02-19 2016-06-21 텔레폰악티에볼라겟엘엠에릭슨(펍) 에이치티티피 스트리밍에서 레프리젠테이션 스위칭을 위한 방법 및 장치
JP5071495B2 (ja) 2010-03-04 2012-11-14 ウシオ電機株式会社 光源装置
EP3079269B1 (en) 2010-03-11 2020-10-28 Electronics and Telecommunications Research Institute Method and apparatus for transceiving data in a mimo system
US9225961B2 (en) 2010-05-13 2015-12-29 Qualcomm Incorporated Frame packing for asymmetric stereo video
US9497290B2 (en) 2010-06-14 2016-11-15 Blackberry Limited Media presentation description delta file for HTTP streaming
US8918533B2 (en) 2010-07-13 2014-12-23 Qualcomm Incorporated Video switching for streaming video data
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
KR20120010089A (ko) 2010-07-20 2012-02-02 삼성전자주식회사 Http 기반의 멀티미디어 스트리밍 서비스의 품질 향상을 위한 방법 및 장치
US9131033B2 (en) 2010-07-20 2015-09-08 Qualcomm Incoporated Providing sequence data sets for streaming video data
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US8711933B2 (en) 2010-08-09 2014-04-29 Sony Computer Entertainment Inc. Random access point (RAP) formation using intra refreshing technique in video coding
US9456015B2 (en) 2010-08-10 2016-09-27 Qualcomm Incorporated Representation groups for network streaming of coded multimedia data
KR101737325B1 (ko) 2010-08-19 2017-05-22 삼성전자주식회사 멀티미디어 시스템에서 멀티미디어 서비스의 경험 품질 감소를 줄이는 방법 및 장치
US8615023B2 (en) 2010-10-27 2013-12-24 Electronics And Telecommunications Research Institute Apparatus and method for transmitting/receiving data in communication system
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
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
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

Also Published As

Publication number Publication date
KR20110122226A (ko) 2011-11-09
EP1743431A2 (en) 2007-01-17
US7418651B2 (en) 2008-08-26
US20050257106A1 (en) 2005-11-17
WO2005112250A3 (en) 2006-10-26
KR101161193B1 (ko) 2012-07-02
CN101019326B (zh) 2013-02-27
CN103124182B (zh) 2017-05-10
JP2012114929A (ja) 2012-06-14
US20090031199A1 (en) 2009-01-29
JP4971144B2 (ja) 2012-07-11
KR20070008520A (ko) 2007-01-17
US9136878B2 (en) 2015-09-15
CN101019326A (zh) 2007-08-15
KR101205758B1 (ko) 2012-12-03
EP2202888A1 (en) 2010-06-30
EP1743431A4 (en) 2007-05-02
US9236887B2 (en) 2016-01-12
JP2007536834A (ja) 2007-12-13
WO2005112250A2 (en) 2005-11-24
US20130067295A1 (en) 2013-03-14
CN103124182A (zh) 2013-05-29

Similar Documents

Publication Publication Date Title
JP5485302B2 (ja) ファイルダウンロードおよびストリーミングのシステム
JP5329239B2 (ja) 通信システムのための多体ベース符号の生成器および復号化器
US9236976B2 (en) Multi stage code generator and decoder for communication systems
US7721184B2 (en) Method and apparatus for fast encoding of data symbols according to half-weight codes
EP1116335B1 (en) Lost packet recovery method for packet transmission protocols

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130620

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130625

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130903

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130906

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131225

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: 20140121

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140219

R150 Certificate of patent or registration of utility model

Ref document number: 5485302

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250