JP2005514828A - 通信システムのための多段符号発生器及び復号器 - Google Patents

通信システムのための多段符号発生器及び復号器 Download PDF

Info

Publication number
JP2005514828A
JP2005514828A JP2003557101A JP2003557101A JP2005514828A JP 2005514828 A JP2005514828 A JP 2005514828A JP 2003557101 A JP2003557101 A JP 2003557101A JP 2003557101 A JP2003557101 A JP 2003557101A JP 2005514828 A JP2005514828 A JP 2005514828A
Authority
JP
Japan
Prior art keywords
symbols
input
redundant
symbol
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.)
Granted
Application number
JP2003557101A
Other languages
English (en)
Other versions
JP2005514828A5 (ja
JP4157041B2 (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 JP2005514828A publication Critical patent/JP2005514828A/ja
Publication of JP2005514828A5 publication Critical patent/JP2005514828A5/ja
Application granted granted Critical
Publication of JP4157041B2 publication Critical patent/JP4157041B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • 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
    • 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
    • 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
    • H04L27/00Modulated-carrier systems
    • H04L27/02Amplitude-modulated carrier systems, e.g. using on-off keying; Single sideband or vestigial sideband modulation
    • H04L27/04Modulator circuits; Transmitter 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0093Point-to-multipoint

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Dc Digital Transmission (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

通信チャネル(145)を介してソース(101)から宛先(170)へ送信されるデータを符号化する方法が提供されている。送信されるべき入力シンボルの順序づけられた集合から複数の冗長シンボルが作られる。入力シンボルと冗長シンボルとを含むシンボルの組み合わせ集合から複数の出力シンボルが作られ、可能な出力シンボルの数はシンボルの組み合わせ集合中のシンボルの数より遥かに大きく、そして任意の所定数Nの出力シンボルから該入力シンボルの順序付けられた集合を所望の程度の精度で再生できるように、少なくとも1つの出力シンボルは、該シンボルの組み合わせ集合中の2つ以上で且つ全部よりは少ない数のシンボルから作られる。

Description

(発明の背景)
本発明は、通信システムにおけるデータの符号化及び復号に関し、特に、伝達されるデータ中のエラー及びギャップを補償するためにデータを符号化及び復号する通信システムに関する。
送信者と受信者との間でのファイルの伝送は多くの文献の主題となっている。好ましくは、受信者は、送信者によりチャネル経由で送信されたデータの正確なコピーを或るレベルの確実性で受け取ることを望む。チャネルが完全な忠実度を持っていない場合(殆ど全ての物理的に実現可能なシステムにあてはまることである)、伝送中に失われたり改ざんされたりしたデータをどのように扱うかということが1つの関心事である。原形が損なわれたデータが誤って受信されたデータであると常に受信者が分かるとは限らないので、失われたデータ(削除)の方が原形が損なわれたデータ(エラー)より処理しやすいということが良くある。削除及び/又はエラーを訂正するために多くのエラー訂正符号が開発されている。通常、使用される符号は、データが伝送されるチャネルの非忠実度及び伝送されるデータの性質に関する情報に基づいて選択される。例えば、チャネルが長い非忠実度期間を有すると分かっている場合、その様なアプリケーションにはバーストエラー符号がおそらく最も良く適しているであろう。短いエラーが希に生じると予想される場合には、単純なパリティー符号がおそらく最善であろう。
符号を選択する上でのもう一つの考慮事項は、送信に用いられるプロトコルである。“インターネット”(大文字“I”を伴う)として知られているネットワークの地球規模インターネットワークの場合には、データトランスポートのためにパケット・プロトコルが使用される。このプロトコルは、インターネットプロトコル又は略されて“IP”と称される。IPネットワークを介してデータのファイル又はその他のブロックが送信されるとき、これは等サイズの入力シンボルに分割され、入力シンボルは連続するパケット内に置かれる。入力シンボルが実際にビットストリームに分解されていてもいなくても入力シンボルの“サイズ”はビット数で測ることができ、入力シンボルが2個のシンボルのアルファベットから選択されるときには入力シンボルはMビットのサイズを有する。この様なパケット・ベースの通信システムでは、パケット指向の符号化方式が適切であろう。ネットワークで削除があったとしても意図された受信者が元のファイルの正確なコピーを復元することを可能にする送信は信頼できると称される。インターネットでは、時折発生する輻輳に起因してルータ内のバッファーリングメカニズムがその容量に達し、そのために、該メカニズムが入って来るパケットを落とさざるを得なくなるのでパケットが失われることが良くある。トランスポート中の削除からの保護は多くの研究の主題である。
トランスポート制御プロトコル(“TCP”)は、受け取り通知メカニズムを有する広く使用されているポイントツーポイント・パケット制御方式である。TCPは1対1通信では良好なものであり、この場合送信者及び受信者は共に送信が何時行われて受信されるか合意し、またどの送信装置及び受信装置が使われるか合意する。しかし、TCPは、1対多数又は多数対多数の通信や、送信者及び受信者がデータをいつ何処で送信或いは受信するかを自主的に決める場合には適さないことが良くある。
TCPを使って、送信者は順序付けられたパケットを送信し、受信者は各パケットの受信を受け取り通知する。もしパケットが紛失すると、受け取り通知は送信者に送られなくて、送信者はそのパケットを送り直す。パケットが紛失する原因は幾つかある。TCP/IPのようなプロトコルでは、受け取り通知パラダイムは完全な故障を伴わずにパケットが紛失することを許すが、その理由は、受け取り通知が無いことに応答して又は受信者からの明示的要求に応答して紛失したパケットを単に送り直すことができることにある。いずれにしても、受け取り通知プロトコルは、紛失したパケットの数が大きいときに激しく使用される受信者から送信者へのバックチャネルを必要とする。
受け取り通知ベースのプロトコルは一般に多くのアプリケーションに適していて実際に現行のインターネット上で広く使われているけれども、該プロトコルは効率が良くなくて、米国特許第6,307,487号に記載されているような一定のアプリケーションについては時には完全に不可能である。この米国特許第6,307,487号は、マイケルG.ルビーに発行され、“通信システムのための情報付加符号発生器及び復号器(Information Additive Code Generator and Decoder for Communication Systems)”と題されている(以降、“ルビーI”)。更に、受け取り通知に基づくプロトコルは、1送信者が多数のユーザにファイルを同時に送る放送とは釣り合いが取れない。例えば、送信者が衛星チャネルを介してファイルを多数の受信者に放送しているとする。各受信者はいろいろなパターンのパケット紛失を経験するであろう。ファイルを確実に配達するために受け取り通知データ(肯定又は否定)に依拠するプロトコルは、各受信者から送信者へのバックチャネルを必要とし、これを設けることが法外に高価となる可能性がある。更に、これは、複雑で強力な送信者が受信者から送られた受け取り通知データの全てを適切に処理できることを必要とする。異なる受信者が異なるパケットの集合を紛失したならば、ほんの数人の受信者が受け取りそこなっただけのパケットが再放送されて他の受信者が無用の重複パケットを受信する結果となることがもう一つの欠点である。
受け取り通知ベースのプロトコルに代わる実際に時折使用されるプロトコルはカルーセルに基づくプロトコルである。カルーセル・プロトコルは、入力ファイルを等長の入力シンボルに分割し、各入力シンボルをパケット内に置き、連続的にサイクルして全てのパケットを送信する。カルーセルに基づくプロトコルの主な欠点は、受信者がたとえ1つのパケットであっても受け取りそこなった場合にその受信者が受け取りそこなったパケットを受け取るチャンスが来るまでにもう1回サイクル全体を待たなければならなくなることである。このことは、見方を変えれば、カルーセルに基づくプロトコルが大量の無用な重複データ受信の原因となり得ることを意味する。例えば、受信者がカルーセルの始めからパケットを受け取り、しばらくの間受信をやめ、その後に再び該カルーセルの始めから受信し始めれば、無用の重複パケットが多数受信されることになる。
上記の問題を解決するために提案されている1つの解決策は、受け取り通知ベースのプロトコルの使用を避け、代わりに、信頼性を高めるために、リードソロモン符号又はトルネード符号、或いは情報付加符号であるチェーンリアクション符号などの前進型誤信号訂正(FEC)符号を使用することである。これらの符号では、内容から出力シンボルが作られて、内容を構成する入力シンボルを単に送る代わりにその出力シンボルが送られる。リードソロモン符号或いはトルネード符号等の削除訂正符号は、固定された長さの内容について固定された数の出力シンボルを作る。例えば、K個の入力シンボルについてN個の出力シンボルを作ることができる。このN個の出力シンボルは、K個のオリジナル入力シンボルとN−K個の冗長シンボルから成ることができる。もし記憶装置が許すならば、サーバーは、各内容についての出力シンボルの集合を1回だけ計算し、カルーセル・プロトコルを用いて出力シンボルを送信する。
或るFEC符号に伴う問題は、該符号が過大な計算能力又はメモリを作動させることを必要とすることである。もう1つの問題は、符号化プロセスの前に出力シンボルの数を決定しなければならないことである。このことは、もしパケットの紛失率を過大に見積もれば非能率という結果に至る可能性を有し、またもしパケットの紛失率を過小に見積もれば故障という結果に至る可能性を有する。
普通のFEC符号では、作ることのできる、考えられる出力シンボルの数は、内容を分割して得られる入力シンボルの数と同じ桁の数である。通常、これら出力シンボルの殆ど又は全部が送信ステップの前の前処理ステップで作られる。これら出力シンボルは、長さが元の内容と同じか又は元の内容より僅かに長い出力シンボルの任意の部分集合から入力シンボルの全てを再生することができるという特性を持っている。
ルビーI(以降、“チェーンリアクション符号”と称する)に記載されている実施態様は、上記の問題点を扱う異なる形の前進型誤信号訂正を提供する。チェーンリアクション符号では、作ることのできる、考えられる出力シンボルのプールは通常は入力シンボルの数より桁違いに多く、その可能性のプールからランダム出力シンボルを非常に急速に作ることができる。チェーンリアクション符号では、送信ステップと同時に出力シンボルを必要に応じて急いで作ることができる。チェーンリアクション符号は、元の内容より僅かに長いランダムに作られた出力シンボルの集合の任意の部分集合から内容の全ての入力シンボルを再生することができるという特性を有する。
チェーンリアクション符号の1つの具体的形では、各出力シンボルは入力シンボルのうちの幾つかの排他的論理和(XOR、
Figure 2005514828
により表示する)として得られる。Kが入力シンボルの総数を表わすとすると、各入力シンボルは、平均で、c*ln(K)個の入力シンボルのXORであり、ここでln(K)はKの自然対数であり、cは適切な定数である。例えば、Kが60,000であるとき、各出力シンボルは平均で28.68個の入力シンボルのXORであり、Kが10,000であるとき、各出力シンボルは平均で22.86個の入力シンボルのXORである。XORの数が大きいと、各動作がメモリからデータを取り出し、XOR演算を実行し、記憶場所を更新することを必要とするので、出力シンボルの計算時間が長くなる。
チェーンリアクション符号器により作られた出力シンボルの1つの特性は、充分な出力シンボルが受信されたならば受信者が直ちに元のファイルを回復できることである。具体的には、元のK個の入力シンボルを高い確率で回復するためには、受信装置はほぼK+A個の出力シンボルを必要とする。比A/Kは“相対的受信オーバーヘッド”と称される。相対的受信オーバーヘッドは、入力シンボルの数Kと、復号器の信頼性とに依存する。例えば、1つの具体的実施態様において、Kが60,000である場合、5%の相対的受信オーバーヘッドは復号器が少なくとも1−10−8の確率で入力ファイルを首尾良く復号することを保証し、Kが10,000に等しい場合、15%の相対的受信オーバーヘッドは復号器の同じ成功確率を保証する。一実施態様では、チェーンリアクション符号の相対的受信オーバーヘッドを(13*sqrt(K)+200)/(K)として計算することができ、ここでsqrt(K)は入力シンボルの数Kの平方根である。この実施態様では、チェーンリアクション符号の相対的受信オーバーヘッドは、Kの小さい値について大きくなりがちである。
出力シンボルがXOR機能を用いて符号化される実施態様では、チェーンリアクション復号器の主な計算動作は記憶場所のXORを実行することである。このようなXORの数は、チェーンリアクション符号器の場合と同様に釣り合いが取れている。
チェーンリアクション符号は、パケットベースのネットワークを介する通信のために極めて有益である。しかし、該符号はかなり計算集中的である可能性がある。例えば、チェーンリアクション符号の或る具体的実施態様では、入力シンボルの個数Kが60,000であるとき、各出力シンボルの計算は、平均で28.68個のランダムに選択された入力シンボルを取り出して、それらに対してXOR演算を実行することを必要とする。サーバーが同時にサービスすることのできるファイルの数はどの出力シンボルにも必要とされる演算の数に逆比例するので、全ての出力シンボルに必要とされる演算の数を減らすのが有益であろう。後者を例えば3分の1に減らせば、1つのサーバーから同時にサービスを受けられるファイルの数は3倍に増える。
チェーンリアクション符号のもう1つの特性は、与えられたターゲット成功確率に対して割合に大きくなる可能性のある受信オーバーヘッドを必要とすることである。例えば、前述したように、チェーンリアクション符号の或る具体的実施態様では、もしKが10,000ならば、15%の相対的受信オーバーヘッドは少なくとも1−10−8の復号成功確率を保証する。受信オーバーヘッドは、Kが小さいほど大きくなりがちである。例えば、チェーンリアクション符号の或る具体的実施態様では、Kが1000ならば、61%の相対的受信オーバーヘッドは同じ確率での復号の成功を保証する。更に、衛星ネットワークを介する内容の高速送信などの一定のアプリケーションに必要とされるように目標エラー確率を10−12程度の数まで減少させれば、更に大きな受信オーバーヘッドが必要となる。
(発明の簡単な要約)
本発明の一実施態様により、通信チャネルを介してソースから宛先へ送信されるデータを符号化する方法が提供される。この方法は、入力シンボルの順序付けられた集合に働きかけるものであって、入力シンボルから複数の冗長シンボルを作るステップを含む。この方法は、入力シンボル及び冗長シンボルを含むシンボルの組み合わせ集合から複数の出力シンボルを作るステップも含んでおり、可能な出力シンボルの数は該シンボルの組み合わせ集合中のシンボルの数より遥かに大きく、そして任意の所定数の出力シンボルから入力シンボルの順序付けられた集合を所望の程度の精度で再生できるように、少なくとも1つの出力シンボルは、該シンボルの組み合わせ集合中の2つ以上で且つ全部よりは少ない数のシンボルから作られる。
本発明の他の実施態様によると、通信チャネルを介してソースから宛先へ送信されるデータを符号化するシステムが提供される。このシステムは、複数の入力シンボルを受信するように結合されたスタティック符号器を含み、その複数の入力シンボルは、送信されるべきデータから作られる。このスタティック符号器は、入力シンボルに基づいて複数の冗長シンボルを作る冗長シンボル発生器を含む。このシステムは、更に、複数の入力シンボル及び複数の冗長シンボルを受信するように結合されたダイナミック符号器を含む。該ダイナミック符号器は、複数の入力シンボルと複数の冗長シンボルとを含むシンボルの組み合わせ集合から複数の出力シンボルを作る出力シンボル発生器を含み、可能な出力シンボルの数は該組み合わせ集合中のシンボルの数より遥かに大きく、そして任意の所定数の出力シンボルから入力シンボルの順序付けられた集合を所望の程度の精度で再生できるように、少なくとも1つの出力シンボルは、該組み合わせ集合中の以上のシンボルから、及び該シンボルの組み合わせ集合中のシンボルの全部よりは少ない数のシンボルから作られる。
本発明のもう一つの実施態様によると、通信チャネルを介してソースから送信されるデータを受信する方法が提供される。この方法は、出力シンボルを受信するステップを含み、各出力シンボルは入力シンボル及び冗長シンボルの組み合わせ集合中の少なくとも1つのシンボルから作られ、少なくとも1つの出力シンボルは、該組み合わせ集合中の2つ以上で且つ全部よりは少ないシンボルから作られ、可能な出力シンボルの数は該組み合わせ集合中のシンボルの数より遥かに大きく、該入力シンボルは入力シンボルの順序付けられた集合からの入力シンボルであり、該冗長シンボルは該入力シンボルから作られる。この方法は、任意の所定数Nの出力シンボルを受信した後に該組み合わせ集合中のシンボルの少なくとも部分集合をN個の出力シンボルから再生するステップも含み、その部分集合は複数の再生された入力シンボル及び複数の再生された冗長シンボルを含む。この方法は、更に、シンボルの少なくとも部分集合をN個の出力シンボルから再生するステップが入力シンボルを所望の精度で再生しなければ、再生されなかった入力シンボルの少なくとも幾つかを、複数の再生された冗長シンボル及び/又は複数の再生された入力シンボルのうちの幾つかから再生するステップを含む。
本発明の更にもう一つの実施態様により、ソースから通信チャネルを介して送信されたデータを受信するシステムが提供される。該システムは、該通信チャネルを介して送信された出力シンボルを受信するために通信チャネルに結合されている受信モジュールを含み、各出力シンボルは入力シンボル及び冗長シンボルの組み合わせ集合中の少なくとも1つのシンボルから作られ、少なくとも1つの出力シンボルは該組み合わせ集合中の2つ以上で且つ全部よりは少ないシンボルから作られ、可能な出力シンボルの数は該組み合わせ集合中のシンボルの数より遥かに大きく、該入力シンボルは入力シンボルの順序付けられた集合からの入力シンボルであり、該冗長シンボルは該入力シンボルから作られる。該システムは、更に、所定数Nの出力シンボルを受信すると該N個の出力シンボルから該組み合わせ集合中のシンボルの部分集合を復号するダイナミック復号器も含み、該部分集合は複数の復号された入力シンボルと複数の復号された冗長シンボルとを含む。該システムは、更に、復号されなかった入力シンボルがもしあるならばその入力シンボルのうちの少なくとも幾つかを複数の復号された冗長シンボルから復号するスタティック復号器も含む。
本発明の更にもう一つの実施態様により、搬送波で具体化されるコンピュータ・データ信号が提供される。該コンピュータ・データ信号は複数の出力シンボルを含み、該複数の出力シンボルは入力シンボルの順序付けられた集合と冗長シンボルとを含むシンボルの組み合わせ集合から作られたシンボルを表わし、該冗長シンボルは該入力シンボルから作られ、可能な出力シンボルの数は該シンボルの組み合わせ集合中のシンボルの数より遥かに大きく、そして該データ信号の受信装置が任意の所定数の出力シンボルから入力シンボルの順序付けられた集合を所望の精度で再生できるように、少なくとも1つの出力シンボルは、該シンボルの組み合わせ集合中の2つ以上で且つ該シンボルの組み合わせ集合中のシンボルの全部よりは少ない数のシンボルから作られる。
本発明により多数の利益が達成される。例えば、或る特定の実施態様では、チャネルを介して伝送するためにデータを符号化する計算に係わる費用が低減される。もう一つの特定の実施態様では、その様なデータを復号する計算に係わる費用が低減される。実施態様に依存して、これらの利益のうちの1つ以上が達成可能である。これらの、及びその他の利益は、本明細書全体を通じて、そして以下ではいっそう具体的に、詳しく提供される。
本明細書の下記の部分及び添付図面から、本書で開示される発明の性質及び利点が更に理解されよう。
(特定の実施態様の詳細な説明)
本発明は、米国特許第6,307,487号(ルビーI)と、米国特許第6,320,520号とを参照するが、この後者の米国特許第6,320,520号は、マイケルG.ルビーに発行され、“通信システムのための情報付加群符号発生器及び復号器(Information Additive Group Code Generator and Decoder for Communication Systems)”と題されており(以降、“ルビーII”)、あらゆる目的のためにその開示全体を参照により本書に取り入れる。ルビーI及びルビーIIは、本発明の一定の実施態様に使用できるシステム及び方法について教示事項を提供している。しかし、これらのシステム及び方法は本発明にとって必要なものではなくて、他の多くの変化形、改造形及び代替物を使用することもできることが理解されよう。
本書に記載される特定の実施態様では、本明細書で使用されるいろいろな用語の意味及び範囲が説明され、その後に“多段符号化”と表示される符号化方式が説明される。
本書で説明される多段符号化は、データを複数の段で符号化する。通常、常にというわけではないけれど、第1段は所定量の冗長性をデータに付加する。第2段は、チェーンリアクション符号などを使用して、元のデータと符号化の第1段で計算された冗長シンボルとから出力シンボルを作る。本発明の1つの特定の実施態様では、受信されたデータは始めにチェーンリアクション復号プロセスを用いて復号される。もしこのプロセスが元のデータを完全に復号するのに成功しなかったならば、第2復号ステップを適用することができる。
本書に記載されている幾つかの実施態様の1つの利点は、後述するように、出力シンボルを作るために必要な算術演算が、チェーンリアクション符号化だけの場合より少なくなることである。第1段符号化と第2段符号化とを含む幾つかの特定の実施態様のもう一つの利点は、第1段符号化と第2段符号化とを別々の時に且つ/又は別々の装置により実行でき、従って計算負荷を分割できることである。このことは、例えば、符号化の一部分を送信と実質的に同時に実行することが希望される場合に、利点となり得る。特に、第1段符号化は送信より充分前に実行可能であるのに対して第2段符号化は送信と実質的に同時に実行可能である。しかし、或る実施態様では、第1段符号化及び第2段符号化の両方を送信と実質的に同時に、且つ/又は1つの装置で、実行可能であることが理解されよう。この開示を検討した後、当業者にとっては他の多くの変化形、改造形及び代替物が明らかとなろう。
多段符号化の実施態様では、第1段符号化中に入力ファイルから冗長シンボルが作られる。これらの実施態様では、第2段符号化時に、入力ファイルと冗長シンボルとの組み合わせから出力シンボルが作られる。これらの実施態様のうちの幾つかでは、出力シンボルを必要に応じて作ることができる。第2段がチェーンリアクション符号化を含む実施態様では、他の出力シンボルがどのように作られるかということを顧慮せずに各出力シンボルを作ることができる。これらの出力シンボルは、作られた後、パケット中に置かれて自分達の宛先へ送信され得るが、各パケットは1つ以上の出力シンボルを含む。その代わりとして、或いはそれと共に、非パケット化送信手法を使うこともできる。
本書で使われるとき、“ファイル”という用語は、1つ以上のソースに蓄積されていて1つのユニットとして1つ以上の宛先へ配送されることになる任意のデータを指す。ファイルサーバー又はコンピュータ記憶装置からの文書、画像、及びファイルは全て配達可能な“ファイル”の例である。ファイルは、既知のサイズ(ハードディスクに蓄積されている1メガバイトの画像など)のファイルであっても良く、或いはサイズ不明のファイルであっても良い(ストリーミング・ソースの出力から取り出されたファイルなど)。いずれにしても、ファイルは入力シンボルのシーケンスであり、その各入力シンボルは該ファイル内の位置及び値を持っている。
送信は、1つ以上の送信者からファイルを配達するためにチャネルを通して1つ以上の受信者へデータを送るプロセスである。送信者は、時には符号器と称されることもある。もし1つの送信者が完全なチャネルによって任意の数の受信者に接続されたならば、全てのデータが正しく受信されるであろうから、受信されたデータは入力ファイルの正確なコピーであり得る。ここで、チャネルが不完全であることを仮定するが、これは殆どの実世界チャネルの実状である。多くのチャネル欠陥のうちの、興味ある2つの欠陥は、データ削除とデータ不完全性(これはデータ削除の特別の場合であるとして取り扱われて良い)とである。データ削除は、チャネルがデータを紛失し或いはデータを落としたときに発生する。データの一部が既に通り過ぎてしまうまで受信者がデータの受信を開始しないとき、送信が終わる前に受信者が受信をやめたとき、受信者が送信されたデータの一部分だけを受信することを選んだとき、且つ/又は受信者がデータ受信を断続的に止めたり再開したりしたときに、データ不完全性が発生する。データ不完全性の1例として、移動する衛星送信者は、入力ファイルを表わすデータを送信しようとして、受信者が有効範囲内に入る前に送信を開始することがあろう。受信者が有効範囲内に入ると、衛星が有効範囲外に出るまでデータを受信することができ、この時点で受信者は衛星用アンテナを向け直して(その間、これはデータを受信していない)、有効範囲内に入った他の衛星から送信されつつある同じ入力ファイルに関するデータを受信し始めることができる。この明細書を読めば分かるはずであるが、データ不完全性はデータ削除の特別の場合であり、その理由は、受信者があたかも全時間にわたって有効範囲内にいたけれども受信者がデータ受信を開始した時点までの全てのデータをチャネルが紛失したかのように(受信者はそれと同じ問題を有する)受信者が該データ不完全性を取り扱うことができることにある。また、通信システムの設計に関して公知のように、検出可能なエラーを有する全てのデータブロック又はシンボルを単に落とすことによって、検出可能なエラーを削除と同等であると見なすことができる。
或る通信システムでは、受信者は複数の送信者により、或いは複数の接続を使用する1つの送信者により作られたデータを受信する。例えば、ダウンロードを高速化するために、受信者は、同じファイルに関するデータを送信する2つ以上の送信者と同時に接続することができよう。他の例として、マルチキャスト送信では、総伝送速度を受信者を送信者に接続するチャネルの帯域幅と釣り合わせるために、複数のマルチキャスト・データストリームが送信されて受信者がこれらのストリームのうちの1つ以上に接続できるようにする。全てのその様な場合に、1つの関心事は送信される全てのデータが受信者にとってはそれぞれ独立に使用されることを保証することである、即ち、送信速度が異なるストリームについて大幅に異なっているとき、及び任意のパターンのロスがある時でも複数ソース・データが該ストリーム間で冗長ではないことを保証することである。
一般に、通信チャネルは、データ伝送のために送信者と受信者を接続するものである。通信チャネルはリアルタイム・チャネルであって良くて、その場合には該チャネルはデータを入手するとデータを送信者から受信者に移動させ、或いは通信チャネルは、送信者から受信者へ移動するデータの一部又は全てを蓄積する記憶型チャネルであっても良い。後者の例はディスク記憶装置又はその他の記憶装置である。この例では、データを作るプログラム又は装置は、データを記憶装置へ送る送信者であると見なすことができる。受信者は、その記憶装置からデータを読むプログラム又は装置である。記憶装置へデータを得るために送信者が使用するメカニズムと、その記憶装置自体と、該記憶装置からデータを得るために受信者が使用するメカニズムとが集合体としてチャネルを形成する。これらのメカニズム或いは記憶装置がデータを紛失する可能性があるならば、それは該通信チャネルにおけるデータ削除として取り扱われることになろう。
シンボルが削除される可能性のある通信チャネルによって送信者と受信者とが分離されているときには、入力ファイルの正確なコピーを送信せずに、削除箇所を回復するのに役立つ入力ファイルから作られたデータを送信することが好ましい。符号器は、このタスクを処理する回路、装置、モジュール或いは符号セグメントである。符号器の動作の1つの見方は、符号器が入力シンボルから出力シンボルを作ることであり、ここで入力シンボル値のシーケンスが入力ファイルを表わす。各入力シンボルは、入力ファイルの中での位置と値とを有する。復号器は、受信者により受信された出力シンボルから入力シンボルを復元する回路、装置、モジュール又は符号セグメントである。多段符号化では、符号器及び復号器は、更に、それぞれ異なるタスクを実行するサブモジュールに分割される。
多段符号化システムの実施態様では、符号器及び復号器は、更に、それぞれ異なるタスクを実行するサブモジュールに分割できる。例えば、或る実施態様では、符号器は、本書においてスタティック符号器と称されるものとダイナミック符号器とを含む。本書で使用されるとき、“スタティック符号器”は入力シンボルの集合から或る数の冗長シンボルを作る符号器であって、冗長シンボルの数は符号化の前に決定される。スタティック符号化符号の例は、リードソロモン符号、トルネード符号、ハミング符号、低密度パリティー検査符号(LDPC)符号などを含む。“スタティック復号器”という用語は、本書では、スタティック符号器により符号化されたデータを復号できる復号器を指すために使用される。
本書で使用されるとき、“ダイナミック符号器”は入力シンボルの集合から出力シンボルを作る符号器であり、可能な出力シンボルの数は入力シンボルの数より何桁も大きく、作られる出力シンボルの数は一定でなくても良い。ダイナミック符号器の一例は、ルビーI及びルビーIIに記載されている符号器などのチェーンリアクション符号器である。“ダイナミック復号器”という用語は、本書では、ダイナミック符号器により符号化されたデータを復号できる復号器を指すために使用される。
多段符号化の実施態様は、特定のタイプの入力シンボルに限定されなくても良い。通常、入力シンボルの値は或る正の整数Mについて2個のシンボルのアルファベットから選択される。その様な場合、入力シンボルは、入力ファイルからのデータのMビットのシーケンスにより表示可能である。Mの値は、アプリケーションの使用法、通信チャネル、及び/又は出力シンボルのサイズに基づいて決定されることが良くある。更に、出力シンボルのサイズは、アプリケーション、チャネル、及び/又は入力シンボルのサイズに基づいて決定されることが良くある。或る場合には、出力シンボル値及び入力シンボル値が同じサイズだったならば(即ち、同数のビットにより表示可能であるか或いは同じアルファベットから選択されるならば)符号化プロセスを簡単化することができよう。その場合には、出力シンボル値サイズが制限されるときには入力シンボル値サイズが制限される。例えば、制限されたサイズのパケットに出力シンボルを入れることが望まれるであろう。もし出力シンボルと関連するキーを受信装置で復元するために該キーに関するデータを送信するならば、出力シンボルは、出力シンボル値と該キーに関する該データとを1パケットに収容するのに充分な小ささであるのが好ましいであろう。
例を挙げると、もし入力ファイルが複数メガバイトのファイルであれば、入力ファイルを、数千バイト、数百バイト、又は僅か数バイトを各々符号化する数千、数万或いは数十万の入力シンボルに分解することができよう。他の例として、パケット・ベースのインターネット・チャネルについては、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つの好ましい実施態様では、各出力シンボルに、その“キー”と称される識別子も関連する。受信者が1つの出力シンボルを他の出力シンボルから識別できるように、受信者がそれぞれの出力シンボルのキーを容易に判定できることが好ましい。好ましくは、出力シンボルのキーは他の全ての出力シンボルのキーとは全く別のものである。従来技術においていろいろな形のキーイングが論じられている。例えば、ルビーIは、本発明の実施態様に使用できる種々の形のキーイングを開示している。
多段符号化は、データ削除が予想される場合、或いは送信が始まるとき及び終わるときに受信者が正確に受信を始め及び終えない場合に特に有益である。この後者の状態は本書では“データ不完全性”と称される。削除イベントに関しては、多段符号化は、ルビーIに記載されているチェーンリアクション符号化の利点の多くを共有する。具体的には、多段出力シンボルは情報付加的であって、入力ファイルを所望の精度で復元するために任意の適切な数のパケットを使用できる。多段符号化で作られた出力シンボルは情報付加的であるので、これらの条件は通信プロセスに悪影響を与えない。例えば、データ削除を生じさせるノイズのバーストに起因して百個のパケットが失われたならば、そのバーストの後に削除されたパケットの紛失に取って代わる余分の百個のパケットを拾うことができる。送信装置が送信を始めたときに受信装置がその送信装置に同調しなかったために数千個のパケットが紛失したならば、受信装置は、他の任意の送信期間から、或いは他の送信装置からでも、これら数千個のパケットを接受することができる。多段符号化では、受信装置は特定のパケットの集合を接受する様には制約されないので、受信装置は、1つの送信装置からパケットを幾つか接受し、他の送信装置へ転換し、パケットを幾つか紛失し、所与の送信の始まり或いは終了を逸し、それでもなお入力ファイルを復元することができる。受信装置・送信装置間の調整無しに送信に加わったり去ったりできる能力は、通信プロセスを簡単化するのに役立つ。
或る実施態様では、多段符号化を用いてファイルを送信することは、入力ファイルから入力シンボルを作り、形成し又は抽出することと、冗長シンボルを計算すること、各出力シンボルが該出力シンボルのキーに基づいて他の全ての出力シンボルと無関係に作られる場合に入力シンボル及び冗長シンボルを1つ以上の出力シンボルに符号化すること、該出力シンボルをチャネルを通して1つ以上の受信者へ送信することを含むことができる。更に、或る実施態様では、多段符号化を用いて入力ファイルのコピーを受信すること(及び復元すること)は、1つ以上のデータストリームから出力シンボルの集合又は部分集合を受信すること、及びその受信した出力シンボルの値及びキーから入力シンボルを復号することを含むことができる。
図を参照して本発明のいろいろな局面を説明する。
(システムの概観)
図1は、多段符号化を使用する通信システム100のブロック図である。通信システム100では、入力ファイル101、又は入力ストリーム105が入力シンボル発生器110に提供される。入力シンボル発生器110は、入力ファイル又はストリームから1つ以上の入力シンボル(IS(0),IS(1),IS(2),・・・)のシーケンスを作り、その各入力シンボルは値及び位置(図1では括弧入り整数として表示されている)を有する。前述したように、入力シンボルについての可能な値、即ちそのアルファベット、は通常は2個のシンボルのアルファベットであるので、各入力シンボルは入力ファイルのMビットについて符号化をする。Mの値は一般に通信システム100を用いて決定されるが、汎用システムは、Mを使用毎に変更できるように入力シンボル発生器110のためのシンボルサイズ入力を包含するであろう。入力シンボル発生器110の出力は符号器115に提供される。
スタティックキー発生器130は、スタティックキーS,S,・・・のストリームを作る。作られるスタティックキーの数は、一般に制限され、符号器115の具体的実施態様に依存する。スタティックキーの発生については後に詳しく説明する。ダイナミックキー発生器120は、符号器115により作られる各出力シンボルのためにダイナミックキーを作る。各ダイナミックキーは、同じ入力ファイルのためのダイナミックキーの大部分がユニークであるように作られる。例えば、ルビーIは、使用できるキー発生器の実施態様を開示している。ダイナミックキー発生器120及びスタティックキー発生器130の出力は符号器115に提供される。
ダイナミックキー発生器120により提供される各キーIから、符号器115は、値B(I)を有する出力シンボルを、入力シンボル発生器により提供される入力シンボルから作る。以下で、符号器115の動作をもっと詳しく説明する。各出力シンボルの値は、そのキーに基づいて、入力シンボルのうちの1つ以上の入力シンボルの何らかの関数に基づいて、及び場合によっては入力シンボルから計算された1つ以上の冗長シンボルに基づいて、作られる。特定の出力シンボルを生じさせる入力シンボル及び冗長シンボルの集まりは、本書ではその出力シンボルの“関連シンボル”又は単にその“アソシエート”と称される。該関数(“価値関数”)及びアソシエートの選択については、以下で詳しく説明するプロセスに従って行われる。通常は、何時でもそうだというわけではないけれども、Mは入力シンボル及び出力シンボルについて同じである、即ち、両者共に同数のビットについて符号化をする。
或る実施態様では、入力シンボルの数Kは、アソシエートを選択するために符号器115により使用される。例えば入力がストリーミング・ファイルである場合など、Kが前以て知られていない場合には、Kは単なる推定値であって良い。値Kは、入力シンボルと、符号器115により作られた任意の中間シンボルとに記憶装置を割り当てるためにも符号器115により使用されるであろう。
符号器115は、出力シンボルを送信モジュール140に提供する。送信モジュール140には、ダイナミックキー発生器120から、その様な各出力シンボルのキーも提供される。送信モジュール140は出力シンボルを送信し、また使用されるキーイング方法に依存して送信モジュール140は送信される出力シンボルのキーに関するデータもチャネル145を介して受信モジュール150に送るであろう。チャネル145は削除チャネルであると仮定されるが、このことは通信システム100が適切に動作するための必要条件ではない。送信モジュール140が出力シンボルとそのキーに関する所用データとをチャネル145に送信し、受信モジュール150がシンボルと場合によってはそのキーに関するデータとをチャネル145から受信するようになっている限り、モジュール140,145及び150は任意の適切なハードウェア・コンポーネント、ソフトウェア・コンポーネント、物理的媒体、又はこれらの任意の組み合わせであって良い。Kの値は、アソシエートを決定するために使用される場合、チャネル145を介して送られても良く、或いは、Kの値は前もって符号器115及び復号器155の協定により設定されても良い。
前述したように、チャネル145は、例えばインターネットを通る経路又はテレビジョン送信装置からテレビジョン受信装置への放送リンク又は1つのポイントから他のポイントへの電話接続などのリアルタイム・チャネルであって良く、或いはチャネル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に提供するが、これは入力ファイル101又は入力ストリーム105のコピー170を作る。
(符号器)
図2は、図1に示されている符号器115の1つの具体的実施態様のブロック図である。符号器115はスタティック符号器210と、ダイナミック符号器220と、冗長性計算器230とを含む。スタティック符号器210は、次の入力即ち:a)入力シンボル発生器110により提供されて入力シンボル・バッファー205に蓄積された元の入力シンボルIS(0),IS(1),...,IS(K−1)と;b)元の入力シンボルの数Kと;c)スタティックキー発生器130により提供されるスタティックキーS,S,...と;d)冗長シンボルの数Rとを受信する。スタティック符号器205は、これらの入力を受け取ると、後述するようにR個の冗長シンボルRE(0),RE(1),...,RE(R−1)を計算する。通常は、常にそうというわけではないけれども、冗長シンボルは入力シンボルと同じサイズを有する。1つの特定の実施態様では、スタティック符号器210により作られた冗長シンボルは入力シンボル・バッファー205に蓄積される。入力シンボル・バッファー205は単に論理的であって良い、即ち、ファイルは1つの場所に物理的に蓄積されて良く、シンボル・バッファー205内での入力シンボルの位置は元のファイル内でのこれらのシンボルの位置の単なる名称変更であって良い。
ダイナミック符号器は、入力シンボル及び冗長シンボルを受け取り、以下で更に詳しく説明するように出力シンボルを作る。冗長シンボルが入力シンボル・バッファー205に蓄積される一実施態様では、ダイナミック符号器220は入力シンボル及び冗長シンボルを入力シンボル・バッファー205から受け取る。
冗長性計算器230は、入力シンボルの数Kから冗長シンボルの数Rを計算する。この計算について以下で更に詳しく説明する。
出力シンボルを作る速度が重要な資源である場合、入力ファイルは、スタティック符号器205を用いて符号化可能であり、出力シンボルの送信が始まる前に中間装置に蓄積される。この装置は、例えば、ダイナミック符号器220とは異なる物理的場所に取り付けられた記憶装置であって良く、これをダイナミック符号器220等の同じ物理的装置に包含させることができる。ファイルがダイナミック符号器220で符号化されるより充分前にスタティック符号器205で符号化される場合、ダイナミック符号器220を体現する計算装置が資源をスタティック符号化に専用する必要はない。従って、それは、例えば入力ファイルについて出力シンボルを作る速度を高め、他のファイルについて出力シンボルを作り、他のタスクを実行するなどの目的のためにダイナミック符号化により多くの資源を向けることができる。ダイナミック符号化の前にスタティック符号化を実行できるか或いは実行するべきであるか否かは具体的実施態様に依存する。
(スタティック符号器の概観)
図3及び4を参照してスタティック符号器210の一般的動作について説明する。図3は、静的符号化方法の一実施態様を示す略流れ図である。ステップ305で、何個の冗長シンボルが作られたか記録しておく変数jはゼロにセットされる。次に、ステップ310で、第1の冗長性シンボルRE(0)は、入力シンボルIS(0),・・・,IS(K−1)のうちの少なくともいくつかの関数Fとして計算される。その後、ステップ315で、変数jはインクリメントされる。次に、ステップ320で、全ての冗長シンボルが作られたか(即ち、jがR−1より大きいか)否かが試験される。もしイエスならば、流れは終了する。そうでなければ、流れはステップ325へ進む。ステップ325で、RE(j)は入力シンボルIS(0),...,IS(K−1)及び前に作られた冗長シンボルRE(0),...,RE(j−1)の関数Fjとして計算され、このFjは入力シンボル及び冗長シンボルの一つ一つ全てに依存する関数でなくても良い。ステップ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)の関数Fjとして冗長シンボル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は、ダイナミック符号器の一実施態様の略ブロック図である。この符号器は、ルビーIに開示されている符号器の実施態様に類似している。ルビーIは、この様な符号器の動作に関して詳しく開示している。
ダイナミック符号器500は、重みセレクタ510と、アソシエータ515と、価値関数セレクタ520と計算装置525とを含む。図5に示されているように、K+R個のダイナミック入力シンボルがダイナミックシンボル・バッファー505に蓄積される。一実施態様では、ダイナミックシンボル・バッファー505は図2の入力シンボル・バッファー205である。他の実施態様では、ダイナミックシンボル・バッファー505は入力シンボル・バッファー205とは別のものである。(図1に示されているダイナミックキー発生器120により提供される)ダイナミックキーIは、重みセレクタ510、アソシエータ515及び価値関数セレクタ520への入力である。ダイナミック入力シンボルの数K+Rもこれら3つのコンポーネント510,515及び520に提供される。計算装置525は、重みセレクタ510、アソシエータ515及び価値関数セレクタ520から出力を受け取り、且つダイナミックシンボル・バッファー505からシンボルを受け取るように結合されている。計算装置525は、出力シンボル値を作る。図5に示されている要素と同等の他の構成を使用しても良く、これは本発明の符号器の単なる一例に過ぎないことが理解されるべきである。例えば、ルビーI及びルビーIIは本発明の他の実施態様に使える他の符号器を開示している。
動作時には、K+R個のダイナミック入力シンボルが入力シンボル・バッファー205から受け取られてダイナミック入力シンボル・バッファー505に蓄積される。前述したように、各ダイナミック入力シンボルは位置(例えば、入力シンボルの位置は入力ファイル内での自分の元の位置であって良い)と値とを有する。蓄積されたダイナミック入力シンボルの位置が判定可能である限り、ダイナミック入力シンボルはそれぞれの順でダイナミック入力シンボル・バッファー505に蓄積されなくても良い。
キーIとダイナミック入力シンボルの数K+Rとを使って、重みセレクタ510はキーIを有する出力シンボルの“アソシエート”となるダイナミック入力シンボルの数W(I)を決定する。キーIと重みW(I)とダイナミック入力シンボルの数K+Rとを使って、アソシエータ515は出力シンボルと関連するダイナミック入力シンボルの位置のリストAL(I)を決定する。もしアソシエータ515が前もってW(I)を知らずにAL(I)を作ることができるならば、W(I)を別に或いは明示的に計算しなくても良いことが理解されるべきである。AL(I)が計算されると、W(I)はAL(I)に載っているアソシエートの数であるので、W(I)を容易に決定することができる。
アソシエータ515は、入力としてキーI、数N、及び数tを受け取って0とN−1との間の整数のリストX(0),...,X(t−1)を作るマッピングである。好ましくは、これらの整数はそれぞれ他とは異なっていて自分達の範囲内に一様に分布している。例えば、図5のダイナミック符号器500の場合、NはK+Rに等しく、tはW(I)に等しく、AL(I)はリストX(0),...,X(t−1)である。
アソシエータ515により与えられるマッピングは種々の形を取ることができる。それは、その出力をランダムにするために真にランダムなビット又は擬似ランダムなビットのソースへのアクセスを持つことができる。しかし、それは、同じキーI、同じN、及び同じtについて符号器及び復号器の両方により同じ出力を作るように選択されるべきである。この要件を満たすために、キーIでシーディングされた符号器及び復号器の両方により擬似ランダムなシーケンスを作ることができる。擬似ランダムなシーケンスの代わりに、出力を計算するために真にランダムなシーケンスを使うことができるであろうけれども、それが有益であるためには、出力を作るために使われるランダム・シーケンスを復号器に伝える必要があるであろう。
再び図5を参照する。I、W(I)及びAL(I)が分かると、出力シンボルの値B(I)が価値関数F(I)に基づいて計算装置525により計算される。適切な価値関数の1つの特性は、該関数が、AL(I)により示されるアソシエートについての値を、出力シンボル値B(I)と、AL(I)により示される他のW(I)−1個のアソシエートについての値とから決定できるようにすることである。このステップで使われる1つの好ましい価値関数はXOR価値関数であるが、その理由は、該関数がこの特性を満たし、容易に計算され、容易に反転されることにある。しかし、代わりに、他の適切な価値関数を使用することもできよう。例えば、ルビーIIは、使用可能な他の適切な価値関数を開示している。
価値関数セレクタ520は、もし使用されれば、キーI及びK+Rから価値関数F(I)を決定する。1つのバリエーションでは、価値関数F(I)は全てのIについて同じ価値関数Fである。このバリエーションでは、価値関数セレクタ520は不要であり、計算装置525は価値関数Fを有するように構成されて良い。例えば、価値関数は全てのIについてXORであって良く、即ち、出力シンボル値はそのアソシエートの全ての値のXOR(排他的論理和)である。
各キーIについて、重みセレクタ510はI及びK+Rから重みW(I)を決定する。1つのバリエーションでは、重みセレクタ510は、キーIを使って始めにランダムな参照数を作り、次にこの数を使って、重みセレクタ510に蓄積されているか又は重みセレクタがアクセスできる分布テーブル内のW(I)の値を参照することによってW(I)を選択する。どのようにしてこの様な分布テーブルを形成してアクセスできるかを以下で説明する。重みセレクタ510がW(I)を決定すると、この値はアソシエータ515及び計算装置525に提供される。
リストAL(I)、重みW(I)及び価値関数セレクタ520により提供される価値関数F(I)又は予め選択された価値関数Fを使って、計算装置525は、ダイナミック入力シンボル・バッファー505内のAL(I)により参照符付けされたW(I)個のダイナミック入力シンボルにアクセスして現在の出力シンボルについて値B(I)を計算する。AL(I)を計算するための手続きの例を以下で説明するが、代わりに他の適切な手続きを使っても良い。好ましくは、該手続きは、与えられた出力シンボルのためにアソシエートとして選択されるほぼ均等な機会を各入力シンボルに与え、もし復号器が利用できるAL(I)を既に持っているのでなければ復号器が複製できるような方法で選択を行う。
ダイナミック符号器500はB(I)を出力する。実際上、ダイナミック符号器500は、図6に示されている動作を実行する、即ち、選択された入力シンボルの何らかの価値関数として出力シンボル値B(I)を作る。図示されている例では、価値関数はXORであり、出力シンボルの重みW(I)は3であり、関連するダイナミック入力シンボル(アソシエート)は位置0,2及びK+R−2にあってそれぞれの値IS(0),IS(2)及びRE(R−2)を有する。従って、出力シンボルは、Iのその値について:
Figure 2005514828
として計算される。価値関数XORが使われる場合には、冗長シンボルが元のシンボルIS(0),...,IS(K−1)と同数のビットを有し、そしてこれらが出力シンボルと同数のビットを有することが分かる。
作られた出力シンボルは、前述したように送信されて受信される。本書では、出力シンボルうちの幾つかが無くなったり或いは順番が狂ったりしているかもしれず、或いは1つ以上の符号器により作られたということが仮定されている。しかし、受信された出力シンボルは、自分のキーの表示及び自分の値B(I)が正確であるという何らかの保証をもって受信されているということが仮定される。図1に示されているように、これらの受信された出力シンボルは、ダイナミックキー再生器160によりその表示から復元された対応するキー、値K及びR、及びスタティックキー発生器163により再生されたスタティックキーS,S,...と共に、復号器155への入力である。
(スタティック符号器)
スタティック符号器の主な機能は、たとえ削除があっても元のデータを復元できるように冗長情報を元のデータに付け加えることである。その様な冗長情報は、ダイナミック復号器が回復できない入力シンボルを復号器が回復するのを援助することができる。代表的アプリケーションでは、スタティック符号器は、たとえ削除があっても所望の精度で回復を保証するのに必要な冗長シンボルの数に関して、且つ/又は符号化プロセス及び/又は復号プロセスの計算費用に関して、効率的であるべきである。例えば、複数のアプリケーションにおいてダイナミック復号器の性能により必要とされる与えられた目標削除率pについて、目的は、たとえせいぜいデータの小部分pが紛失しても元のデータの速やかな回復を保証しながら冗長シンボルの数Rをなるべく少なくすることである。これらの要件を満たす符号の1つの種類は、当業者に周知されているLDPC符号のそれである。これらの符号は、多くの場合に元のデータを回復できるけれども、元の入力シンボルのうちの2つ又は3つ以外は何でも回復できるという場合も希にある。或る実施態様では、LDPC符号化の前に、入力データは、始めに、削除が2つか3つあっても元のデータを回復できる符号を用いて符号化される。この最初の符号化は第1の複数の冗長シンボルを作る。この最初の符号化の後に、元の複数のシンボルと第1の複数の冗長シンボルとはLDPC符号器を用いて符号化される。当業者に周知されていて以下で手短に説明される拡張ハミング符号は、3つ以下の削除があっても元のデータを回復することができ、そして少数の冗長シンボルを付加することによって該回復を実行するので、第1レベルの符号化の目的に適するものである。他の種類の符号化を使用できることが理解されるであろう。例えば、或るアプリケーションでは、2つか3つの入力シンボル以外の全ての入力シンボルが回復されるということは容認できることであろう。その様なアプリケーションに適するのはLDPC符号だけであろう。更に、特定のアプリケーションのためには、リードソロモン符号、トルネード符号などの他の種類の符号化が適しているであろう。従って、本発明の他の実施態様に従って多くの種類の符号化をそれぞれ単独で又は組み合わせて使用できることが理解されるであろう。
図7は、本発明に従うスタティック符号器の一具体的実施態様の略ブロック図である。スタティック符号器600は、パラメータ計算装置605、ハミング符号器610、及び低密度パリティー検査(low−density−parity−check(LDPC))符号器620を含む。パラメータ計算装置605は、入力シンボルの数Kと、作られる冗長シンボルの数Rとを受け取り、パラメータD及びEを作る。Dはハミング符号器610により作られる冗長シンボルの数の表示であり、EはLDPC符号器620により作られる冗長シンボルの数の表示である。パラメータDはハミング符号器610に提供され、パラメータEはLDPC符号器620に提供される。
ハミング符号器610は、入力シンボル・バッファー625からの入力シンボルIS(0),...,IS(K−1)と、入力シンボルの数Kと、パラメータDとを受け取るように結合される。これらに応答してハミング符号器610はハミング符号に従ってD+1個の冗長シンボルHA(0),HA(1),...,HA(D)を作る。一実施態様では、入力シンボル・バッファー625は図2の入力シンボル・バッファー205である。ハミング符号化プロセスは、D+1個の冗長シンボルを元のK個の入力シンボルに付け加えるが、このDは2−D−1≧Kとなるような最小の数である。当業者に知られているように、入力シンボルの全部はゼロではないような入力シンボルの可能な任意のセッティングについて複数の入力シンボルと対応する冗長シンボルとのうちの少なくとも4つのシンボルがゼロでない様に冗長シンボルは選択される。この特性は、少なくとも3つの削除の訂正を保証する。ハミング符号器610は、エラー訂正及び削除箇所訂正符号の分野で当業者に知られている任意の数の方法で実現可能である。
LDPC符号器620は、入力シンボルIS(0),...,IS(K−1)と、入力シンボル及びハミング符号化された冗長シンボルの数K+D+1と、パラメータEと、スタティックキーS,S,...とを受け取るように結合されている。これに応答して、LDPC符号器620は、LDPC符号に従ってE個の冗長シンボルを作る。LDPC符号器により計算された冗長シンボルの数EはR−D−1に等しく、このRは冗長シンボルの数である。当業者に知られているように、LDPC符号を用いて情報を符号化する方法はいろいろある。LDPC符号は、メッセージ・ノードの集合と、検査ノードの集合と、メッセージ・ノードを検査ノードに接続するエッジとを含むグラフ構造によって記述される。妥当なLDPCコードワードの集合は、各検査ノードについて隣り合うメッセージ・ノードのXORがゼロであるようなメッセージ・ノードのセッティングのセットである。或るアプリケーションでは、メッセージ・ノードがすべて同じ次数を有すること、即ち同数の検査ノードに接続されることが好ましいが、その理由は、このことが符号器の具体化を簡単にすると共に復号器のエラー確率の計算を容易にすることにある。本発明の一具体的実施態様では、各メッセージ・ノードが接続される検査ノードの数は4である。この数は符号器の実行時間/計算負荷と復号器の故障の確率との容認可能な妥協点を提供する数であることが見出されている。更に、所与のメッセージ・ノードに隣接する検査ノードは検査ノードの集合の中からランダムに選択されるのが好ましいということも見出されている。LDPC符号器620は、エラー訂正及び削除箇所訂正符号の当業者に知られている任意の数の方法で具体化可能である。
図8は、図7に示されているスタティック符号器を使用する本発明の一実施態様の動作を示している。具体的には、ハミング符号器610は、入力シンボル・バッファー205(図2)から入力シンボルを受け取り、D+1個のハミング符号化された冗長シンボルを作り、これらは入力シンボル・バッファー205に蓄積される。LDPC符号器620は入力シンボル・バッファー205から入力シンボルとD+1個のハミング符号化されている冗長シンボルとを受け取り、E個のLDPC符号化されている冗長シンボルを作り、これらは入力シンボル・バッファー205に蓄積される。
前記のように、或る実施態様では、LDPC符号器620は、図1のスタティックキー発生器130により作られたスタティックキーS,S,...を受け取る。一実施態様では、スタティックキー発生器130は、シードを受け取るとランダムな参照数のシーケンス(スタティックキーS,S,...)を作る乱数発生器である。シードはいろいろな形を取ることができる。例えば、シードは真正乱数発生器の値であって良い。他の例として、シードはCPUクロックから決定論的に得られるストリングであって良い。そのシードが何であっても、復号器によってスタティックキーの同じシーケンスを作れるようにシードは復号器へ伝えられるべきである。多くのアプリケーションで、大きすぎないシードを持つのが有利であろう。多くのアプリケーションで、シードは32ビットの整数、又は64ビットの整数であって良い。
図6に示されているスタティック符号器600の一具体的実施態様では、パラメータDは、2−D−1が入力シンボルの数Kより大きいか又は等しくなる最大の整数Dとして計算される。更に、パラメータEはR−D−1として計算される。図9は、前記のようにパラメータD及びEを計算する、図7のパラメータ計算装置605などのパラメータ計算装置の一実施態様を示す略流れ図である。始めに、ステップ705で、パラメータDは1に初期化される。次に、ステップ710で、2−D−1がKより小さいか否か判定される。否であれば、流れはステップ730へ進む。もしイエスならば、流れはステップ720へ進み、ここでパラメータDはインクリメントされる。その後、流れはステップ710に戻る。Dが決定されると、ステップ730でパラメータEがR−D−1として計算される。
再び図1を参照する。或る特定のアプリケーションでは、チャネル145を介して送られるファイル又はストリームは小さい。例えば、入力ファイルは、短いオーディオメッセージ又は数十キロバイトから成るウェブページの内容であって良い。前記のスタティック符号器の特定の実施態様は、この様なシナリオでは最適ではないであろう。例えば、前記した実施態様の幾つかは、メモリ及びプロセッサの速度が効率よく使われず、従ってデータ復元が低速であるという結果に至る可能性がある。又、前記実施態様の幾つかは、システムのユーザにより設定された信頼度パラメータ内でデータを復元するために大きな受信オーバーヘッドを必要とする可能性がある。更に、前記実施態様の幾つかは、信頼性が所望のレベルより低いデータ復元に至る可能性がある。
入力シンボルの数が減らされると復号器の故障確率が大きくなることが見出されている。このことの原因は、主として、元の内容のサイズが割合に小さければ符号化プロセスが元の内容に関する情報を充分に作らないことであるということも見出されている。従って、元のシンボルに関する情報をより多く伝える冗長シンボルを作る他の符号器実施態様が使われても良い。図10は、本発明の一実施態様に従うその様な符号器の略流れ図であり、これについて説明する。
始めに、ステップ805で、変数iがゼロに初期化される。変数iは、既に作られた冗長シンボルの数を追跡する。ステップ810で、K/2より大きいか又は等しい最小の奇数として数tが計算される。ステップ815で、K、t及びスタティックキーSiに基づいて値P,P,...,Pが計算される。値P,P,...,Pは、冗長シンボルを作るために使われる入力シンボルの位置を表わす。一具体的実施態様では、P,P,...,Pを作るために図5のアソシエータ515などのアソシエータが使われる。具体的には、値tをW(I)入力として提供することができ、値KをK+R入力として提供することができ、スタティックキーSiをキーI入力として提供することができる。tの多様な値が同様の符号化効果をもたらすことに注意するべきであり、従ってこの特定の選択肢は単なる例に過ぎない。
ステップ820で、RE(i)の値が値IS(P),IS(P),...,IS(P)のXORとして計算される。ステップ825で、変数iが次の冗長シンボルの計算を準備するために1だけインクリメントされ、ステップ830で、全ての冗長シンボルが計算されたか否か判定される。否であれば、流れはステップ815に戻る。
(復号器概観)
図11は、本発明に従う復号器の一実施態様を示す略ブロック図である。復号器900は、例えば、図1の復号器155を具体化するために使用可能である。
復号器900はダイナミック復号器905とスタティック復号器910とを含む。ダイナミック復号器905は、図1の受信モジュール150から出力シンボルB(I),B(I),...を受け取り、ダイナミックキー再生器160からダイナミックキーI,I,I,...を受け取る。これらのデータを受け取ると、ダイナミック復号器905は、入力シンボルIS(0),...,IS(K−1)と冗長シンボルRE(0),...,RE(R−1)とを復元しようと試みる。本発明の幾つかの実施態様の1つの利点は、ダイナミック復号器905が入力シンボル全部の復号を終えなくても良いことである。ダイナミック復号器905が回復しなかった入力シンボルを復号するためにスタティック復号器910を使用することができる。
ダイナミック復号器905により回復された入力シンボル及び冗長シンボルは復元バッファー915に蓄積される。ダイナミック復号が完了すると、スタティック復号器910は、ダイナミック復号器905により回復されなかった入力シンボルがもしあるならば、その入力シンボルを回復しようと試みる。具体的には、スタティック復号器910は復元バッファー915から入力シンボル及び冗長シンボルを受け取る。更に、スタティック復号器910は、もしスタティックキーS,S,...が使用されるなら、スタティックキー発生器130(図1)からスタティックキーS,S,...を受け取る。再び図1を参照すると、1つの特定の実施態様では、スタティックキー発生器130を駆動する乱数発生器135へ通信チャネル145を通して共通シードを伝えることによってスタティックキーを再生することができる。回復された入力シンボルは入力ファイル・リアセンブラー165に提供される。
図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個の出力シンボルを処理した後、入力シンボルが所望の精度で回復されているか否か判定される。所望の精度は、例えば、入力シンボルの全部であっても良く、或いは入力シンボルの全部よりは少ない数、パーセンテージ等であっても良い。もしイエスならば、流れは終了する。もしノーならば、流れはステップ1020へ進む。ステップ1020で、スタティック復号器910は、ダイナミック復号器905が回復できなかった入力シンボルを回復しようと試みる。スタティック符号器910がダイナミック符号器905により回復された入力シンボル及び冗長シンボルを処理し終えると、流れは終了する。
図13は、本発明に従う復号方法の他の実施態様を示す略流れ図である。この実施態様は、図11に関して説明したものと類似しており、ステップ1005,1010,1015、及び1025を共通に含んでいる。しかし、ステップ1025の後に、流れはステップ1030に進み、ここで入力シンボルが所望の精度で回復されたか否か判定される。イエスならば、流れは終了する。ノーならば、流れはステップ1035へ進む。ステップ1035で、1つ以上の追加の出力シンボルが受け取られる。その後、流れはステップ1010へ逆に進み、ダイナミック復号器905及び/又はスタティック復号器910は、残っている回復されていない入力シンボルを回復しようと試みることができる。
図14は、本発明に従う復号方法のもう一つの実施態様を示す略流れ図である。ステップ1055で出力シンボルが復号器により受信され、ステップ1060でダイナミック復号器905は受信された出力シンボルから入力シンボルと冗長シンボルとを再生する。その後、ステップ1065で、ダイナミック復号を終了するべきか否か判定される。この判定の基礎を、処理された出力シンボルの数、回復された入力シンボルの数、追加の入力シンボルが回復されつつある現在の速度、出力シンボルを処理して費やされた時間などのうちの1つ以上に置くことができる。
ステップ1055,1060及び1065を実質的に同時に実行できることが理解されなければならない。例えば、復号器が出力シンボルを受け取り続けているときにダイナミック復号器905は入力シンボル及び冗長シンボルを再生し始めることができる。更に、出力シンボルが受信されつつある間に且つ/又は出力シンボルがダイナミック復号器905により処理されつつある間にダイナミック復号プロセスを止めるか否かの評価を周期的に実行することができる。
ステップ1065で、ダイナミック復号を止めるべきではないと判定されたならば、流れはステップ1055に戻る。しかし、ステップ1065でダイナミック復号を終了すると決定されたならば、流れはステップ1070に進む。ステップ1070では、入力シンボルが所望の精度で回復されたか否か判定される。もしイエスならば、流れは終了する。もしノーならば、流れはステップ1075に進む。ステップ1075で、スタティック復号器910は、ダイナミック復号器905が回復できなかった入力シンボルを回復しようと試みる。ダイナミック符号器905により回復された入力シンボル及び冗長シンボルをスタティック符号器910が処理し終えると、流れは終了する。
(ダイナミック復号器)
図15は、本発明に従うダイナミック復号器の一実施態様を示す。ダイナミック復号器1100は、図5に示されているダイナミック符号器500のものと同様のコンポーネントを含んでいる。復号器1100は、ルビーI及びルビーIIに開示されているチェーンリアクション復号器の実施態様と同様である。ダイナミック復号器1100は、重みセレクタ510と、アソシエータ515と、価値関数セレクタ520と、出力シンボル・バッファー1105と、リデューサー1115と、復元装置1120と復元バッファー1125とを含む。符号器と同じく、価値関数セレクタ520と、価値関数の記述を蓄積するために割り当てられる出力シンボル・バッファー1105内のスペースとは任意のものであって、もし価値関数が全ての出力シンボルについて同じであるならば、使用されなくても良いであろう。復元バッファー1125のエントリーが幾つか示されており、幾つかの入力シンボルは復元され、その他はまだ不明で、疑問符により示されている。例えば、図15において、位置0,2,5,6、及びK−1の入力シンボルと位置0及び2の冗長シンボルとは回復されており、位置1,3及び4の入力シンボルと位置1の冗長シンボルとはやがて回復されなければならない。
動作時には、キーI及び値B(I)を有する受信された各出力シンボルについて、復号器1100は次のような動作を行う。キーIは、価値関数セレクタ520と、重みセレクタ510とアソシエータ515とに提供される。K+R及びダイナミックキーIを使って重みセレクタ510は重みW(I)を決定する。K+R、ダイナミックキーI、及びW(I)を使ってアソシエータ515は、出力シンボルと関連する入力シンボル及び冗長シンボルのW(I)個の位置のリストAL(I)を作る。任意に、K+R及びIを使って、価値関数セレクタ520は価値関数F(I)を選択する。I、B(I)、W(I)及びAL(I)、並びに任意にF(I)が出力シンボル・バッファー1105の一つのローに蓄積される。価値関数セレクタ520、重みセレクタ510及びアソシエータ515は、ダイナミック符号器220(図2)について記述したものと同じ動作を復号器1105に対して実行する。具体的には、図15の価値関数セレクタ520、重みセレクタ510及びアソシエータ515により作られる価値関数F(I)、重みW(I)及びリストAL(I)は、同じダイナミックキーIについては図5に示されている対応する部分のものと同じである。K及びRが入力ファイル毎に異なるならば、これらを例えばメッセージヘッダに含めるなどの任意の在来方法で符号器から復号器へ伝えることができる。
復元装置1120は、出力シンボル・バッファー1105を走査して、該バッファーに蓄積されている重み1即ちW(I)=1を有し、AL(I)が1つのアソシエートだけの位置を記録している出力シンボルを探す。これらのシンボルは、本書では“復号可能な集合”のメンバーと称される。上記の特性を有する価値関数については、重み1の出力シンボルは復号可能な集合の中にあり、その理由は、ダイナミック入力シンボルの値をその出力シンボルから決定できることにある。もちろん、重み1を有するという条件以外の条件の下でダイナミック入力シンボルの復号を可能にする価値関数が使用されるならば、その条件は出力シンボルが復号可能な集合の中にあるか否か判定するために使われる。説明を明瞭にするために、ここに記載されている例は、復号可能な集合がこれらの重み1を有する出力シンボルであるということを仮定しており、これらの例の、他の価値関数復号可能条件への拡張は、この記述から明白であるはずである。
復号可能な集合の中にある出力シンボルを復元装置1120が発見すると、その出力シンボルの値B(I)と、任意に価値関数F(I)とがAL(I)に載っているダイナミック入力シンボルを復元するために使われ、復元されたダイナミック入力シンボルは、復元バッファー1125の中の、その入力シンボル或いは冗長シンボルのために適切な位置に置かれる。指示された入力シンボル或いは冗長シンボルが既に復元されていれば、復元装置1120は、新たに復元されたダイナミック入力シンボルを落とし、現存する復元された入力シンボル或いは冗長シンボルを上書きし、或いはその2つを比較してもし違っていればエラーを発することができる。価値関数が全てのアソシエートのXORである場合、入力シンボル或いは冗長シンボルの値は単純にその出力シンボルの値である。このように、復元装置1120は、入力シンボル及び冗長シンボルを復元するが、復号可能な集合の中の出力シンボルのみから復元を行う。復号可能な集合からの出力シンボルが入力シンボル或いは冗長シンボルを復元するために使われた後、出力シンボル・バッファー1105のスペースを節約するためにそれを削除することができる。“使い終わった”出力シンボルを削除すれば、復元装置1120が頻繁にその出力シンボルに再訪することが無いことが保証されることになる。
始めに、復元装置1120は、復元可能な集合のメンバーである出力シンボルが少なくとも1つ受信されるまで待つ。その1つの出力シンボルが使用されてしまうと、復号可能な集合は再び空となるが、他の何らかの出力シンボルがその1つの復元された入力シンボル或いは冗長シンボルと他の1つの入力シンボル或いは冗長シンボルとのみの関数である可能性がある。従って、復号可能な集合のメンバーから1つの入力シンボル或いは冗長シンボルを復元すると他の出力シンボルが復号可能な集合に付け加えられることになる可能性がある。出力シンボルを減少させてそれを復号可能な集合に付け加えるプロセスはリデューサー1115により実行される。
リデューサー1115は、復元された入力シンボル或いは冗長シンボルの位置を記録してあるリストAL(I)を有する出力シンボルを発見するために出力シンボル・バッファー1105及び復元バッファー1125を走査する。
リデューサー1115がキーIを有するその様な“減少可能な”出力シンボルを発見すると、リデューサー1115は位置hに存する回復されたダイナミック入力シンボルの値IS(h)を得て、B(I)、W(I)及びAL(I)を次のように変更する:
B(I)は
Figure 2005514828
にリセットされ、
W(I)はW(I)−1にリセットされ、
AL(I)はhを除いたAL(I)にリセットされる。
上の方程式では価値関数が全てのアソシエートの値のXORであることが前提とされている。XORはそれ自身の逆であることに注意しなければならない。もしそうではなくて、出力シンボルを計算するために元は他の価値関数が使用されたのであれば、その価値関数の逆がここでリデューサー1115により使用されることになる。明らかに、2つ以上のアソシエートについて値が分かっているならば、B(I)を不明の何らかのアソシエート値のみに依存させるために(そして、それに応じてW(I)及びL(I)を調整する)上記方程式の均等物を計算することができる。
リデューサー1115の動作は、出力シンボル・バッファー1105内の出力シンボルの重みを減少させる。出力シンボルの重みが1に減少されると(或いは他の価値関数については他の復号可能条件が生じる)、その出力シンボルは復号可能な集合のメンバーになり、これに対して復元装置1120が働きかけることができるようになる。実際には、充分な数の出力シンボルが受信されると、リデューサー1115及び復元装置1120はチェーンリアクション復号を作り、復元装置1120は復号可能な集合を復号してより多くのダイナミック入力シンボルを回復し、リデューサー1115はこれらの新たに回復された入力シンボル或いは冗長シンボルを使ってより多くの出力シンボルを減少させ、それらは復号可能な集合に付け加えられ、復号可能な集合が空になるまでこの様な動作が行われる。
図15に示されている復号器は、記憶装置、計算サイクル或いは転送時間をあまり考慮せずに簡単な方法で入力シンボル及び冗長シンボルを部分的に復元する。復号器メモリ、復号時間或いは転送時間(これは、受信された出力シンボルの数を束縛する)が制限されている場合には、これらの制限されている資源をより良く使用するために復号器を最適化することができる。この様な最適化の例が、例えば、ルビーI及びルビーIIに開示されている。該最適化を多段符号のダイナミック復号にも使うことができる。更に、他のバリエーション及び同等の復号器を使えることが理解されよう。
(スタティック復号器)
図16は、スタティック復号器の一実施態様を示す略ブロック図である。この実施態様は、図7を参照して記載されたスタティック符号器などのスタティック符号器でデータが符号化されるときに、使用可能である。スタティック復号器1200は、LDPC復号器1205とハミング復号器1210とを含む。LDPC復号器1205は、復元バッファー1215から入力シンボル及び冗長シンボルを受け取り、ダイナミック復号器の復号ステップの後に回復されていない復元バッファー1215のシンボルを復元しようと試みる。或る実施態様では、復元バッファー1215は復元バッファー1125(図15)である。LDPC復号器1205は、スタティックキー発生器130により作られたスタティックキーS,S,...を受け取る。更に、LDPC復号器1205は、入力シンボルの数K、冗長ハミング・シンボルの数D、及び冗長LDPCシンボルの数Eを受け取る。LDPC復号器1205は、なるべく多くの入力シンボル及び冗長シンボルを当業者に周知されている方法で回復し、これらの値を、復元バッファー1215内のこれらに対応する位置に書き込む。
ハミング復号器1210は、復元バッファー1215から入力シンボル及び冗長シンボルを受け取るようにも結合されている。更に、ハミング復号器1210は、入力シンボルの数Kと、数Dとを受け取り、ここでD+1は冗長ハミング・シンボルの数である。ハミング復号器1210は、ダイナミック復号器及びLDPC復号器2005により回復されなかった入力シンボルを回復しようと試みる。LDPC復号器2005の目的は、入力シンボル及び冗長シンボルをなるべく多く回復することであるのに対して、ハミング復号器2010は入力シンボルIS(0),IS(1),...,IS(K−1)を回復しようと試みるに過ぎない。
LDPC復号器及びハミング復号器の多数のバリエーションが当業者に周知されており、それらを本発明のいろいろな実施態様に使用できる。1つの具体的実施態様では、ハミング復号器はガウス消去アルゴリズムを用いて具体化される。ガウス消去アルゴリズムの多数のバリエーションが当業者に周知されており、それらを本発明のいろいろな実施態様に使用することができる。
一定のアプリケーションでは、上記のものとは異なるタイプの図1に示されている復号器155を使う方が良い。例えば、もし入力シンボルの数Kがあまり大きくなくて、例えば1000未満であれば、出力シンボルの受信の蓋然論的プロセスに係わる平方偏差によって余儀なくされて、ダイナミック復号器及びスタティック復号器が所用の数の削除を訂正できるようにするために復号器155はKよりかなり大きな数の出力シンボルを集めざるを得なくなるであろう。その様な場合、異なるタイプの復号器を使うことができる。ガウス消去法を用いてデータを復号するその様な復号器の実施態様について図17,18及び19を参照して説明する。
始めに、再び図1を参照すると、復号器155は、受信モジュール150から出力シンボルB(I)、B(I),...を受け取り、ダイナミックキー再生器160からキーI,I,...を受け取り、スタティックキー発生器130からキーS,S,...を受け取る。更に、それは、入力シンボルの値K及び冗長シンボルの値Rを受け取る。この入力を受け取ると、それは入力シンボルIS(0),...,IS(K−1)を復元しようと試み、これらは入力ファイル・リアセンブラー165に渡されて更に処理される。
図17を参照すると、復号器1300はダイナミック・マトリックス発生器1305とスタティック・マトリックス発生器1310とを含む。ダイナミック・マトリックス発生器1305は、出力シンボルB(Ia),B(Ib),...、ダイナミックキーIa,Ib,...、及びパラメータK及びRを受け取る。更に、ダイナミック・マトリックス発生器1305は、何個の出力シンボルを集めるべきか記述するもう一つのパラメータAを受け取る(即ち、集められる出力シンボルの数はK+Aである)。パラメータAの決定は、通常はダイナミック符号化及びスタティック符号化に用いられる方法に依存し、以下で詳しく説明される。以下の記述では、集められたK+A個の出力シンボルはB(0),B(1),...,B(K+A−1)と称される。これらのパラメータが受信されると、
C*Transpose(IS(0),...,IS(K−1),RE(0),...,RE(R−1))=
Transpose(B(0),...,B(K+A−1))
の形の線型方程式の系がダイナミック・マトリックス発生器1305により確立され、ここでCは(K+A)x(K+R)のフォーマットのマトリックスである。ダイナミック・マトリックス発生器1305によるマトリックスCの作成について以下で更に詳しく説明する。
スタティック・マトリックス発生器1310は、マトリックスCをダイナミック・マトリックス発生器1305から受け取り、キーS,S,...を使ってCを追加のR個のローだけ大きくして方程式系
M*Transpose(IS(0),...,IS(K−1),RE(0),...,RE(R−1)=
Transpose(B(0),...,B(K+A−1),0,...,0)
を得る。ここで右辺のベクトルの終わりの方のR個のエントリーはゼロであり、Mは(K+A+R)x(K+R)のフォーマットである。最後に、線形方程式系ソルバー1315が、この方程式系Mを解いて入力シンボルIS(0),...,IS(K−1)の一部又は全部を得るために使用される。一具体的実施態様では、方程式系ソルバー1315はガウス消去アルゴリズムを使って線形方程式系を解く。
図5のダイナミック符号器500と図2のスタティック符号器205とを参照してダイナミック・マトリックス発生器1305及びスタティック・マトリックス発生器1310について更に詳しく説明する。図18は、ダイナミック・マトリックス発生器1305により使用される方法の一実施態様を示す略流れ図である。ステップ1405で、ダイナミック・マトリックス発生器1205は、フォーマット(K+A)x(K+R)のマトリックスCを全部ゼロに初期化する。次に、ステップ1410で、キーIa,Ib,...が重みセレクタ510及びアソシエータ515と関連して使用されて、それぞれ重みW(0),...,W(K+A−1)及びリストAL(0),...,AL(K+A−1)を作る。リストAL(K)の各々は0,...,K+R−1の範囲内のW(k)個の整数を含む。ステップ1415で、これらの整数はAL(k)=(a(0),...,a(W(k)−1))でC(k,1)を計算するために使われ、エントリーC(k,a(0),...,C(k,a(W(k)−1))は1にセットされる。上記のように、マトリックスCは、未知数(IS(0),...,IS(K−1),RE(0),...,RE(R−1))について、受信されたシンボル(B(0),...,B(K+A−1))の項で方程式系をもたらす。その理由は次の通りである、即ち、ダイナミック符号器が重みW(k)とアソシエート・リストAL(k)=(a(0),...,a(W(k)−1))とを選択すると、対応する出力シンボルB(k)は
Figure 2005514828
として得られ、ここでL(j)は復元バッファー1925内の位置jの未知数の値を意味する。これらの方程式は、0とK+A−1との間のkの全ての値について蓄積されると、所望の方程式系をもたらす。
図19は、スタティック・マトリックス発生器1310により使用される方法の一実施態様を示す略流れ図である。この実施態様について、図10を参照して説明する。図10のステップ820で、冗長シンボルRE(i)が
Figure 2005514828
として計算され、キーSiが受信されるとP,P,...,Pがステップ815のように計算されることに注意しなければならない。このことは、
Figure 2005514828
であることを意味する。復元バッファーの位置に関して言えば、このことは
Figure 2005514828
であることを意味する。Mのエントリー(i,P),...,(i,P),(i,i−A)を1に等しくセットし、ここでiがK+AからK+A+R−1まで変化すると、受信されたシンボルB(0),...,B(K+A−1)に関して未知数(IS(0),...,IS(K−1),RE(0),...,RE(R−1))についての線形方程式系を記述するマトリックスMが得られる。
ステップ1505で、(K+R+A)x(K+R)のフォーマットのマトリックスMは、Mの始めのK+A個のローをダイナミック・マトリックス発生器1305により計算されたマトリックスCに等しくすることによって、初期化される。Mの残りのローはゼロに初期化される。次に、ステップ1510で、変数iはK+Aに初期化される。この変数は、Mの最後のR個のローを追跡する。ステップ1512で、冗長シンボルi−K−Aのアソシエートの数tが計算される。このステップは、図8のステップ810と同様である。具体的には、図8に与えられているスタティック符号化プロセスのときにtの他の選択肢の方が好ましければ、その選択肢は、ステップ1512で計算される変数tについても採用されるべきである。ステップ1515で、アソシエータ515は、スタティックキーSi、入力シンボルの数K、及び整数tから0とK−1との間のインデックスP,...,Pを計算する。マトリックスMの対応する位置がステップ1530で1にセットされる。ステップ1540のインクリメントとステップ1550の試験とは、Mの最後のR個のローの全てが尋ねられ計算されることを保証する。
或る場合には、図17,18及び19に示されている実施態様は、復号を首尾良く行うために他の実施態様よりは相対的に少ない出力シンボルを集めることを考慮に入れているので、本書に記載された他の実施態様よりおそらく適切であろう。復号器の選択は、アプリケーションと、例えば集められる出力シンボルの数が決定的な資源であるか否かということなどに大幅に左右される。
(アソシエータ実施態様)
再び図5を参照する。アソシエータ515の一実施態様がルビーIに記載されている。その場合、数Nは素数であるべきである。動作に関して、この実施態様がAL(I)を計算するために使われるとき、入力サイズK+Rは素であるように調整される。本発明では、K+Rが素となるように冗長シンボルの数は充分に大きく選択される。或るアプリケーションでは、入力Nが素数であるという条件はかなり制限的である。
Nが素数でなくても良いアソシエータ520を具体化する方法の他の実施態様が図20に示されている。始めに、ステップ1805で、変数kがゼロに初期化される。次に、ステップ1810で、ランダム整数Yが作られる。1つの具体的実施態様では、出力シンボルについてのキーIを使って乱数発生器にシーディングする。次に、ステップ1815で、0とN−1との間の数を作るためにYはNを法として取られる。ステップ1820で、候補の数Yは、前に作られた他の数Y(X(0),X(1),...))と比較される。数Yが前に作られていれば、流れはステップ1810に戻る。そうでなければ、ステップ1825で、それは、リストX(0),X(1)...の中に含められる。次に、ステップ1830で、W(I)個の数が作られたか否か判定される。否であれば、流れはステップ1810に戻る。図8に示されている流れの結果はW(I)個の数X(0),X(1),...,X(W(I)−1)のリストであり、このリスト中の各数Xは0とN−1との間のユニークな整数である。次に、ステップ835で、リストAL(I)は数X(0),X(1),...X(W(I)−1)としてセットされる。
(重みセレクタの実施態様)
符号器/復号器の性能及び効率は、図2に示されているようにダイナミック符号器220により作られる出力シンボルの重みの分布に依存し、一部の分布は他より良好である。具体的には、入力シンボルの数Kと比較される集められた出力シンボルの数の超過分を記述するパラメータAの選択は、主として重み分布の選択により左右される。重み選択の動作に関する局面を以下で説明し、その後に或る重要な重み分布について説明する。これらの考えを示すために図21のブロック図と図22の流れ図とを用いる。
図5に示されている重みセレクタ510のタスクは次の通りである。即ち、キーIと長さK+Rとを受け取ると、重みセレクタは、重みと称される0からK+R−1までの範囲の整数W(I)を出力する。理想的には一様なランダム分布で整数を一様に作るアソシエータ515とは異なって、重みセレクタ510の出力は、望ましくは一様でなくて、以下で説明するように一定の重みに有利に偏っている。
図21に示されているように、重みセレクタ510は2つのプロセスWT_INIT1905及びWT_CALC1910、及び2つのテーブルWT_RBITS1915及びWT_DISTRIB1920を含む。プロセスWT_INIT1905は、第1のキーが取り入れられるときにテーブルWT_DISTRIB1920を初期化するために1回だけ実施される。WT_DISTRIB1920のデザインはシステムの重要な局面であり、後に詳しく検討される。プロセスWT_CALC1910は、各呼び出し毎にキーIに基づいて重みW(I)を作るために実施される。図22の流れ図に示されているように、WT_CALC1910は、キーIと、テーブルWT_RBITS1915に蓄積されているランダム・ビットとを使って乱数Tを作る(2005)。次に、Tの値はテーブルWT_DISTRIB1920のロー番号Nを選択するために使われる。
図21に示されているように、WT_DISTRIB1920のレンジ(RANGE)コラムのエントリーは値MAX_VALで終わる正の整数の増加シーケンスであり、WTコラムは値MAX_WTで終わる正の整数の増加シーケンスである。Tの可能な値の集合は0とMAX_VAL−1との間の整数である。望ましい特性は、Tが、可能な値の範囲内のどの値にも一様な確率で等しくなりそうだという特性である。Nの値は、RANGE(N−1)≦T<RANGE(N)を満たすNが見出されるまでRANGEコラムを調べることにより決定される(2010)。Nが見出されると、W(I)の値は、テーブルWT_DISTRIBのWTコラムのN番目のエントリーであるWT(N)にセットされ、これは戻される重みである(2015,2020)。図21で図示されているテーブル例についてTが38,500に等しければ、Nは4であることが見出され、従ってW(I)はWT(4)=8にセットされる。好ましい実施態様では、WT_DIST1920のローは、Nが大きくなるときにRANGE(N)−RANGE(N−1)の値が小さくなってゆくように編成される。これは、第1ローから連続探索を行うときにTの値に対応する重みを見出すためにWT_DIST1920を調べる平均探索時間を最小限度にする。他の実施態様ではおそらく他のロー編成が好ましく、バイナリーサーチ等の他の探索方法を使用することができる。
(重み分布を選択する)
所与の符号化プロセスについて、重み分布はa)なるべく少ない出力シンボル、b)なるべく少ない演算、及びc)なるべく高い信頼度で入力ファイルを充分に復元できるように、選択されるべきである。通常、出力シンボルについての重み分布即ち全I上でのW(I)の分布と、出力シンボル上でのアソシエートの分布即ち全てのIにわたるAL(I)の所属関係とを正しく選択することによって、これら全ての最適化基準を満たすことができる。重み分布とアソシエートの選択に関する分布とに関わらずに復号プロセスを使用できるけれども、好ましい実施態様は近最適性能を得るために特に選択される重み分布及びアソシエートの選択に関する分布とを使用するということが強調されるべきである。実際、選択された分布を少し変化させても性能は僅かに変化するだけであろうから、多くの分布は良く働くであろう。
1つの好ましい実施態様において分布を決定する1つの方法を説明する。使用される実際の重み分布は、入力シンボルの数Kに依存する。分布を、範囲(Kmin,Kmax)、因子β、及び相対的オーバーヘッドαと共に、以下に示す。このことは次のような意味を有する、即ち、Kmin≦K≦KmaxのKが与えられると、冗長シンボルの数Rがβ*Kより大きいか又は等しい最小の整数として計算され;集められる出力シンボルの数は少なくとも(1+α)*Kであるべきである、即ち、上記パラメータAはα*Kより大きいか又は等しい最小の整数である。アソシエータ520の第1バージョンが使用される場合には、Rは、更にK+Rが素であるという条件、即ちRがβ*Kより大きいか又は等しい最小の素数であるという条件、を満たすべきである。もしK+Rが素数であることをアプリケーションが必要としなければ、β*Kより大きいか又は等しい最小の整数としてRを選択することができる。
分布自体は、
Figure 2005514828
の形式のテーブルとして与えられ、ここでP1は重み1の対応する確率であり、P2は重み2の対応する確率であり、ここでP1,P2,...の和は1である。このことは、図21のテーブルWT_DISTRIB1920が
Figure 2005514828
の形式を有することを意味する。
本書中のテーブルを計算するときに使われる一般的指針について説明する。設計の1つの目標は、ゼロでない数の換算重み1の出力シンボルをダイナミック復号プロセスのなるべく深くに持つことである。ダイナミック復号の終了までずっとこの数がゼロより大きいことが好ましいであろう。しかし、このことは出力シンボルの平均重みが少なくとも入力シンボルの数Kの対数に比例するならば可能であるに過ぎないということが数学的解析により明らかにされており、ルビーIに記載されている重み分布のうちの幾つかはこの様に設計されている。本発明の或る実施態様は、この平均重みをKに依存しない一定数まで顕著に低減させる。その結果として、ダイナミック復号プロセス全体にわたって換算重み1の出力シンボルの数がゼロより大きいと期待することはできない。
重み分布のデザインの最初のステップは、ダイナミック入力シンボルの部分xがまだ回復されていないときにダイナミック復号プロセス中に復号可能な集合の中に現在存する出力シンボルからその値を得ることのできるダイナミック入力シンボルの期待数についての式を得ることである。この式は、重み1,2,...,kの出力シンボルの部分P1,P2,...,Pkと、集められた出力シンボルの数と入力シンボル及び冗長シンボルの数との比との関数である。以降は、この比をγで表示する。γ=(1+α)(1+β)であることが分かる。この量を数学的に解析すると、その様なダイナミック入力シンボルの期待される数を
K*(1+β)*(x−e−(1+γ)*ω(1−x)) (1)
として表わせることが分かり、ここでxは、ダイナミック入力シンボルの、ダイナミック復号プロセス中にまだ回復されていない部分を表わし、ω(x)は多項式
P1+2*P2*x+3*P3*x+...+k*Pk*xk−1 (2)
である。
この数は1つの量の期待値に過ぎず、これは本質的に統計的であるので、変化する。この変動を分析すると、それがまだ回復されていない入力シンボルの期待される数の平方根に、即ちx*K*(1+β)の平方根に比例することが明らかとなる。換算重み1の出力シンボルに隣接する入力シンボルの数が常に正であることを程よく保証するためには、P1,...,Pk及びγは
K*(1+β)*(x−e−(1+γ)*ω(1−x))>
c*sqrt(x*K*(1+β)) (3)
となるように選択されるべきであり、この不等式は、与えられた正の実数εと1との間のxのあらゆる任意の値に対して成り立つべきであり、cは1より大きい正の実数である。cが大きいほど、復号プロセスが成功するという保証が良好となる。εが小さいほど、ダイナミック復号プロセスの終了時に回復されないまま残っている入力シンボルが少なくなる。ω(1)が小さいほど、出力シンボルの平均重みが小さくなる。これらの束縛条件が与えられたとき、与えられたε及び与えられたcについて、全ての係数が負ではなく、εと1との間のxの全ての値について上記不等式を満たし、且つω(1)がなるべく小さい多項式ω(x)を計算することができる。この最適化は、例えば、上記不等式を適宜操作した後にシンプレックス・アルゴリズムを用いるなどして、いろいろな方法で実行可能である。
以上の記述に関連して、実際のテーブルを提示する。上の記述において定数cは、復号器全体についてエラー確率が10−10より小さくなることを保証するように選択された。K>49251については、エラー確率は10−12未満である。これらのテーブルは、単に使用可能な重み分布の例として提供されているに過ぎない。他の重み分布を使用することもできることが理解されるべきである。
(テーブル1)
Kの範囲:9900−14800、β=0.0081、α=0.1187
Figure 2005514828
(テーブル2)
Kの範囲:14801−19680、β=0.0121、α=0.084
Figure 2005514828
(テーブル3)
Kの範囲:19681−29510、β=0.0151、α=0.0769
Figure 2005514828
(テーブル4)
Kの範囲:29511−49250、β=0.0161、α=0.0674
Figure 2005514828
(テーブル5)
Kの範囲:49251−64780、β=0.015、α=0.0558
Figure 2005514828
(テーブル6)
Kの範囲:64781−79080、β=0.0114、α=0.05
Figure 2005514828
(テーブル7)
Kの範囲:79081−98623、β=0.01134、α=0.047
Figure 2005514828
(テーブル8)
Kの範囲:98624−118349、β=0.01377、α=0.0424
Figure 2005514828
(テーブル9)
Kの範囲:118350−∞、β=0.01579、α=0.0393
Figure 2005514828
例えば、K=33,000ならば、冗長シンボルの数は、K+Rが素数となるようにK*0.0161=531.3より大きな最小の整数Rであって良い。即ち、R=533である。集められる出力シンボルの数は少なくとも(1+0.0674)*Kであるべきであり、これは35225である。
テーブル1についての平均重みはおよそ6.75であり、テーブル2から9までについての平均重みはおよそ6である。前述したルビーIの1実施態様ではKが60,000であるときに平均重みは28.68であり、これと比べるとこれらの平均重みはかなり低い。
(少数の入力シンボルについての符号化)
どんなサイズの入力ファイルについても低い相対的オーバーヘッドが好ましい。上のテーブルから分かるように、入力シンボルの数Kが小さくなると相対的オーバーヘッドαは大きくなる。例えば、入力ファイルが10,000バイトを有し、各シンボルが1バイトからなるようにKが10,000であるように選択されると、オーバーヘッドはおよそ11%であり、これは或るアプリケーションのためには望ましくない。オーバーヘッドを減少させる1つの方法は、入力シンボルのサイズを小さくするという犠牲を払って入力シンボルの数Kを増やすことであろう。例えば、約7%のオーバーヘッドが望まれる場合、Kを40,000であるように選択することができる。この場合、入力シンボルのサイズは2ビットとなる。しかし、非常に小さなサイズの入力シンボルを使うと実際上は計算に欠陥が生じることになる。
この問題の解決策は、図17に関して説明した実施態様などの、ガウス消去法に基づく復号器を使用することである。この復号器は、他の実施態様に関して前述したスタティック符号器のうちのいずれかと組み合わされたチェーンリアクション復号器のように計算に関して効率的ではないけれども、この復号器については故障確率が非常に小さいこととオーバーヘッドとを考慮すると、この解決策は一定のアプリケーションに対しては望ましいであろう。
具体的には、入力シンボルの数Kが800と9899との間にあるとき、ダイナミック符号器220のために下記の重み分布を使用することができる:
(テーブル10)
Kの範囲:800−1600、β=0.08、α=0.05
Figure 2005514828
図10に関して説明したスタティック符号器などのスタティック符号器の動作に従って0.08*K個の冗長シンボルが作られることになる。復号は、図17に関して説明した復号器等の復号器を用いて実行される。
例として、入力ファイルが16,000バイトのサイズを有すると仮定する。入力シンボルは各々16バイトからなるように選択され、入力シンボルの数Kは1000となる。図10のスタティック符号器が使用されて80個の冗長シンボルを作る。次に、ダイナミック符号器220が上記の重み分布と共に使用されて出力シンボルを作る。受信装置は、(1+α)*K=1050個の出力シンボルを集め、これらを図17の復号器に提供する。ダイナミック・マトリックス発生器1305は、1050x1080のフォーマットのマトリックスCを作る。スタティック・マトリックス発生器1330は1130x1080のフォーマットのマトリックスMを作り、これを線型方程式系ソルバー1340に渡し、これは、元の1000個の入力シンボル即ち入力ファイルを復号しようと試みる。
(或る多段符号の或る特性)
上記の例の殆どにおいて、入力シンボル及び出力シンボルは或る数のビットのために符号化を行い、各出力シンボルは1つのパケット内に置かれる(パケットは、その全体が受信されるか或いは全体が失われるトランスポートの単位である)。或る実施態様では、通信システムは、各パケットが数個の出力シンボルを含むように改造される。出力シンボル値のサイズは、幾つかの要素に基づいて、最初にファイルを入力シンボルに分割するときに入力シンボル値のサイズにより決定されるサイズにセットされる。復号プロセスは、各パケットが受信されるときに出力シンボルが束になって到着することを除いて、実質的に変更されないままである。
入力シンボル及び出力シンボルのサイズの設定は、普通は、ファイルのサイズと、出力シンボルが伝送されることになる通信システムとにより規定される。例えば、通信システムがデータのビットをまとめて決まったサイズのパケットにするか或いは他の方法でビットをまとめるならば、シンボルのサイズの設計はパケットのサイズ或いはグループ化サイズから始まる。そこから、設計者は1つのパケット又はグループで何個の出力シンボルが運ばれるか決定し、それが出力シンボルのサイズを決定する。平易にするために、設計者はおそらく入力シンボルのサイズを出力シンボルのサイズに等しく設定するであろうが、もし入力データが異なる入力シンボルのサイズをより好都合にするならば、それを使うことができる。
上記の符号化プロセスは、元のファイルに基づく出力シンボルを含むパケットのストリームを作る。そのストリーム中の各出力シンボルは他の全ての出力シンボルに依存せずに作られ、作ることのできる出力シンボルの数には上限も下限も無い。各出力シンボルにキーが関連付けられる。そのキーと、入力ファイルの或る内容とが出力シンボルの値を決定する。連続的に作られる出力シンボルが連続的キーを持つ必要はなく、或るアプリケーションではキーのシーケンスをランダムに作ること、或いは該シーケンスを擬似ランダムに作ることが好ましいであろう。
多段復号化は、もし元のファイルをK個の等サイズの入力シンボルに分割でき、各出力シンボル値が入力シンボル値と同じ長さであるならば、平均でK+A個の出力シンボルから非常に高い確率でファイルを回復することができるという特性を有し、ここでAはKと比べると小さい。例えば、上で導入した重み分布については、Aの値がα*Kを上回る確率は、もしKが19,681より大きければせいぜい10−12であり、またKのどんな値についてもせいぜい10−10である。特定の出力シンボルはランダム又は擬似ランダムな順序で作られ、特定の出力シンボルの転送中の紛失はランダムであると仮定されるので、入力ファイルを回復するために必要な出力シンボルの実際の数には小さな分散が存在する。K+A個のパケットの特定のコレクションが入力ファイル全体を復号するには充分でない場合、受信装置が出力パケットの1つ以上のソースからもっと多くのパケットを集めることができるならば、入力ファイルは依然として回復可能である。
出力シンボルの数はIの解像度のみにより制限されるので、K+A個より充分に多くの出力シンボルを作ることができる。例えば、もしIが32ビットの数であれば、40億個の異なる出力シンボルを作ることができ、ファイルはK=50,000個の入力シンボルを含むことができる。或るアプリケーションでは、これら40億個の出力シンボルのうちの少数の出力シンボルを作って送信することができ、また、可能な出力シンボルのうちの非常に小さな一部分で、また(入力シンボルのサイズが出力シンボルのサイズと同じであると仮定して)K個より僅かに多い出力シンボルで入力ファイルを回復できるという優れた確率で、入力ファイルを回復できるということは殆ど確実である。
或るアプリケーションでは、入力シンボルの全部を復号することはできないこと、或いは割合に低い確率でではあるけれども入力シンボルの全部を復号することができるということは容認可能であろう。その様なアプリケーションでは、受信装置は、K+A個の出力シンボルを受け取った後に入力シンボルの全部を復号しようと試みるのを止めて良い。或いは、受信装置は、K+A個未満の出力シンボルを受け取った後に出力シンボルを受け取るのを止めて良い。或るアプリケーションでは、受信装置はK個又はそれ未満の出力シンボルを受け取るだけで良い。従って、本発明の或る実施態様では所望の精度が入力シンボル全部の完全な回復でなくても良いということが理解されよう。
更に、不完全な回復が容認される或るアプリケーションでは、入力シンボルの全部は回復できない様に、或いは入力シンボルを完全に回復するためには入力シンボルの数より遥かに多数の出力シンボルを受信する必要があるように、データを符号化することができる。この様な符号化は、一般に、必要な計算費用が少ないので、符号化の計算費用を減らす1つの容認可能な方法であろう。
上記の図中のいろいろな機能ブロックをハードウェア及び/又はソフトウェアの組み合わせにより具体化できること、及び、特定の実施態様において該ブロックのうちのあるものの機能の一部又は全部を組み合わせることができるということが理解されよう。同様に、本書に記載したいろいろな方法をハードウェア及び/又はソフトウェアの組み合わせによって実施できることも理解されよう。
以上の記述は説明であって限定をするものではない。当業者にとっては、この開示を検討すれば、本発明のいろいろなバリエーションが明白になろう。従って、本発明の範囲は、以上の記述に関連して決定されるべきではなくて、添付されている請求項とその同等物の範囲全体に関連して決定されるべきである。
図1は、本発明の一実施態様に従う通信システムのブロック図である。 図2は、本発明の一実施態様に従う符号器のブロック図である。 図3は、本発明の一実施態様に従って冗長シンボルを作る方法の略ブロック図である。 図4は、本発明の一実施態様に従うスタティック符号器の基本動作の略ブロック図である。 図5は、本発明の一実施態様に従うダイナミック符号器の略ブロック図である。 図6は、本発明の一実施態様に従うダイナミック符号器の基本動作の略ブロック図である。 図7は、本発明の一実施態様に従うスタティック符号器の略ブロック図である。 図8は、本発明の一実施態様に従うスタティック符号器の基本動作の略ブロック図である。 図9は、スタティック符号器の1つの特定の実施態様に従って符号化パラメータを計算する方法の略図である。 図10は、本発明のもう一つの実施態様に従うスタティック符号器の略流れ図である。 図11は、本発明の一実施態様に従う復号器の略ブロック図である。 図12は、本発明の一実施態様に従う復号器の動作の略流れ図である。 図13は、本発明のもう一つの実施態様に従う復号器の動作の略流れ図である。 図14は、本発明の更にもう一つの実施態様に従う復号器の動作の略流れ図である。 図15は、本発明の一実施態様に従うダイナミック復号器の略ブロック図である。 図16は、本発明の一実施態様に従うスタティック復号器の略ブロック図である。 図17は、本発明のもう一つの実施態様に従うスタティック復号器の略ブロック図である。 図18は、本発明の実施態様に従う復号器の動作の略流れ図である。 図19は、本発明の実施態様に従う復号器のもう一つの動作の略流れ図である。 図20は、本発明の一実施態様に従うアソシエータの略流れ図である。 図21は、本発明の1つの特定の実施態様に従う重みセレクタの略ブロック図である。 図22は、本発明の実施態様に従う重みセレクタにより使用され得るプロセスの略流れ図である。

Claims (53)

  1. 通信チャネルを介してソースから宛先へ送信されるデータを符号化する方法であって、この方法は:
    送信されるべき入力シンボルの順序付けられた集合から複数の冗長シンボルを作るステップと;
    該入力シンボル及び該冗長シンボルを含むシンボルの組み合わせ集合から複数の出力シンボルを作るステップとを含んでおり、可能な出力シンボルの数は該シンボルの組み合わせ集合中のシンボルの数より遥かに大きく、そして任意の所定数Nの出力シンボルから該入力シンボルの順序付けられた集合を所望の程度の精度で再生できるように、少なくとも1つの出力シンボルは、該シンボルの組み合わせ集合中の2つ以上で且つ全部よりは少ない数のシンボルから作られる方法。
  2. 通信チャネルを介して複数の出力シンボルを送信するステップを更に含む、請求項1の方法。
  3. 複数の出力シンボルを記憶媒体に蓄積するステップを更に含む、請求項1の方法。
  4. Nは入力シンボルの順序付けられた集合中の入力シンボルの数より大きい、請求項1の方法。
  5. Nは入力シンボルの順序付けられた集合中の入力シンボルの数より少ないか又はそれに等しい、請求項1の方法。
  6. 入力シンボルの順序付けられた集合中の入力シンボルの数Kに基づいて作るべき冗長シンボルの数Rを決定するステップを更に含む、請求項1の方法。
  7. Kは入力シンボルの数の推定値である、請求項6の方法。
  8. 複数の冗長シンボルはLDPC符号に従って作られる、請求項1の方法。
  9. 複数の冗長シンボルは複数の第1冗長シンボルと複数の第2冗長シンボルとを含み、複数の冗長シンボルを作るステップは:
    複数の第1冗長シンボルを入力シンボルから作り;
    複数の第2冗長シンボルを第1冗長シンボル及び入力シンボルから作るステップを含む、請求項1の方法。
  10. 複数の第1冗長シンボルはハミング符号に従って作られ、複数の第2冗長シンボルはLDPC符号に従って作られる、請求項9の方法。
  11. 入力シンボルの順序付けられた集合中の入力シンボルの数Kに基づいて第1冗長シンボルの数D+1を決定し;
    第2冗長シンボルの数Eを、作られる冗長シンボルの数R及びD+1に基づいて決定するステップを更に含む、請求項10の方法。
  12. RをKに基づいて決定するステップを更に含む、請求項11の方法。
  13. Kは入力シンボルの数の推定値である、請求項11の方法。
  14. Dは、2D−D−1≧Kとなる最小の整数であり、E=R−D−1である、請求項11の方法。
  15. 所望の精度は入力シンボルの完全な回復である、請求項1の方法。
  16. 所望の精度は高い確率での入力シンボルの完全な回復である、請求項1の方法。
  17. 所望の精度はG個の入力シンボルの回復であり、このGは、入力シンボルの順序付けられた集合中の入力シンボルの数より少ない、請求項1の方法。
  18. 任意の数の出力シンボルからせいぜいG個の入力シンボルを再生することができ、このGは入力シンボルの順序付けられた集合中の入力シンボルの数より少ない、請求項1の方法。
  19. 複数の冗長シンボルを作るステップは、各冗長シンボルについて:
    t個の別々の入力シンボルを分布に従って決定し;
    各冗長シンボルをt個の別々の入力シンボルのXORとして計算するステップを含む、請求項1の方法。
  20. tは全ての冗長シンボルについて同じである、請求項19の方法。
  21. tはK/2より大きな最小の奇数であり、Kは入力シンボルの順序付けられた集合中の入力シンボルの数である、請求項20の方法。
  22. 該分布は一様な分布である、請求項19の方法。
  23. 複数の出力シンボルを通信チャネルを介して送信するステップを更に含んでおり、複数の出力シンボルを作るステップは、複数の出力シンボルを送信するステップと実質的に同時に実行される、請求項1の方法。
  24. 複数の出力シンボルを作るステップは、複数の出力シンボルを送信するステップと実質的に同時に実行される、請求項23の方法。
  25. 複数の冗長シンボルを作るステップは、複数の出力シンボルを送信するステップより前に実行される、請求項23の方法。
  26. 複数の出力シンボルを作るステップは第1装置を用いて実行され、複数の冗長シンボルを作るステップは第1装置とは別の第2装置を用いて実行される、請求項1の方法。
  27. 通信チャネルを介してソースから宛先へ送信されるデータを符号化するシステムであって、このシステムは:
    複数の入力シンボルを受信するように結合されたスタティック符号器を含み、その複数の入力シンボルは、送信されるべきデータから作られ、このスタティック符号器は、入力シンボルに基づいて複数の冗長シンボルを作る冗長シンボル発生器を含み;
    このシステムは、更に、複数の入力シンボル及び複数の冗長シンボルを受信するように結合されたダイナミック符号器を含み、該ダイナミック符号器は、複数の入力シンボルと複数の冗長シンボルとを含むシンボルの組み合わせ集合から複数の出力シンボルを作る出力シンボル発生器を含み、可能な出力シンボルの数は該組み合わせ集合中のシンボルの数より遥かに大きく、そして任意の所定数Nの出力シンボルから入力シンボルの順序付けられた集合を所望の精度で再生できるように、少なくとも1つの出力シンボルは、該組み合わせ集合中の以上で且つ全部よりは少ない数のシンボルから作られるシステム。
  28. Nは入力シンボルの順序付けられた集合中の入力シンボルの数より大きい、請求項27のシステム。
  29. Nは入力シンボルの順序付けられた集合中の入力シンボルの数より小さいか又はこれに等しい、請求項27のシステム。
  30. 該ダイナミック符号器及び通信チャネルに結合され、該出力シンボルを受信して該出力シンボルを該通信チャネルを介して送信する送信モジュールを更に含む、請求項27のシステム。
  31. 該ダイナミック符号器に結合されて、作られるべき各出力シンボルについてキーを作るキー発生器を更に含み、該ダイナミック符号器は各キーを受け取るように結合され、該ダイナミック符号器は各出力シンボルを対応するキーに基づいて作る、請求項27のシステム。
  32. 該スタティック符号器に結合されて、作られるべき冗長シンボルのうちの少なくとも幾つかの各々についてキーを作るキー発生器を更に含み、該スタティック符号器は各キーを受け取るように結合され、該スタティック符号器は該少なくとも幾つかの冗長シンボルの各々を対応するキーに基づいて作る、請求項27のシステム。
  33. 該スタティック符号器はLDPC符号器を含む、請求項27のシステム。
  34. 該スタティック符号器は、第1冗長シンボル発生器を有する第1スタティック符号器と、第2冗長シンボル発生器を有する第2スタティック符号器とを更に含み;
    該複数の冗長シンボルは第1複数の冗長シンボルと
    第2複数の冗長シンボルとを含み;
    該第1冗長シンボル発生器は該第1複数の冗長シンボルを入力シンボルに基づいて作り;
    該第2冗長シンボル発生器は該第2複数の冗長シンボルを入力シンボル及び該第1複数の冗長シンボルに基づいて作る、請求項27のシステム。
  35. 該第1スタティック符号器はハミング符号器を含み、該第2スタティック符号器はLDPC符号器を含む、請求項34のシステム。
  36. 通信チャネルを介してソースから送信されるデータを受信する方法であって、この方法は:
    出力シンボルを受信するステップを含み、各出力シンボルは入力シンボル及び冗長シンボルの組み合わせ集合中の少なくとも1つのシンボルから作られ、少なくとも1つの出力シンボルは、該組み合わせ集合中の2つ以上で且つ全部よりは少ないシンボルから作られ、可能な出力シンボルの数は該組み合わせ集合中のシンボルの数より遥かに大きく、該入力シンボルは入力シンボルの順序付けられた集合からの入力シンボルであり、該冗長シンボルは該入力シンボルから作られ;
    この方法は、該出力シンボルの少なくとも部分集合を受信したときに該組み合わせ集合中のシンボルの少なくとも部分集合を該出力シンボルから再生するステップも含み、該組み合わせ集合中のシンボルの該部分集合は複数の再生された入力シンボル及び複数の再生された冗長シンボルを含み;
    この方法は、更に、シンボルの少なくとも部分集合をN個の出力シンボルから再生するステップが入力シンボルを所望の精度で再生しなければ、再生されなかった入力シンボルの少なくとも幾つかを、複数の再生された冗長シンボル及び複数の再生された入力シンボルから再生するステップを含む方法。
  37. 該冗長シンボルは第1複数の冗長シンボルと第2複数の冗長シンボルとを含み、再生されなかった入力シンボルの少なくとも幾つかを再生するステップは:
    該第1複数の冗長シンボルのうちの再生された冗長シンボルと該複数の再生された入力シンボルとから、再生されなかった入力シンボルのうちの少なくとも1つと該第2複数の冗長シンボルのうちの再生されなかった冗長シンボルとを再生するステップと;
    もし該第1複数の冗長シンボルのうちの再生された冗長シンボルと該複数の再生された入力シンボルとから再生するステップが入力シンボルを所望の精度で再生しなければ、該第2複数の冗長シンボルのうちの冗長シンボルと該複数の復号された入力シンボルとから少なくとも1つの再生されなかった入力シンボルを再生するステップとを含む、請求項36の方法。
  38. 再生されなかった入力シンボル及び該第2複数の冗長シンボルのうちの再生されなかった冗長シンボルのうちの或るシンボルはLDPC復号器を用いて再生され;
    該或る入力シンボルは該第2複数の冗長シンボルのうちの冗長シンボルからハミング復号器を用いて再生される、請求項37の方法。
  39. 再生されなかった入力シンボルのうちの少なくとも或るシンボルを再生するステップは、再生されなかった入力シンボルの全てを再生することを含む、請求項36の方法。
  40. 該組み合わせ集合中のシンボルの少なくとも部分集合を再生するステップと再生されなかった入力シンボルのうちの少なくとも或るシンボルを再生するステップとは:
    受信された各出力シンボルについて該出力シンボルと関連する該組み合わせ集合中のシンボルを示す第1マトリックスを形成し;
    各冗長シンボルについて該冗長シンボルと関連する入力シンボルを示す情報で該第1マトリックスを拡大し;
    入力シンボルのうちの少なくとも或るシンボルを該拡大された第1マトリックスにより示される方程式系に対する解として再生することを含む、請求項36の方法。
  41. Nは入力シンボルの数より大きいか又はこれに等しい、請求項36の方法。
  42. Nは入力シンボルの数より小さい、請求項36の方法。
  43. 再生されなかった入力シンボルのうちの少なくとも或る入力シンボルを再生することは、全ての入力シンボルを再生することを含む、請求項36の方法。
  44. 再生されなかった入力シンボルのうちの少なくとも或る入力シンボルを再生することは、入力シンボルのうちの全部よりは少数の入力シンボルを再生することを含む、請求項36の方法。
  45. ソースから通信チャネルを介して送信されたデータを受信するシステムであって、該システムは:
    通信チャネルを介して送信された出力シンボルを受信するために該通信チャネルに結合されている受信モジュールを含み、各出力シンボルは入力シンボル及び冗長シンボルの組み合わせ集合中の少なくとも1つのシンボルから作られ、少なくとも1つの出力シンボルは該組み合わせ集合中の2つ以上で且つ全部よりは少ないシンボルから作られ、可能な出力シンボルの数は該組み合わせ集合中のシンボルの数より遥かに大きく、該入力シンボルは入力シンボルの順序付けられた集合からの入力シンボルであり、該冗長シンボルは該入力シンボルから作られ;
    該システムは、更に、該出力シンボルの少なくとも部分集合を受信すると該出力シンボルから該組み合わせ集合中のシンボルの部分集合を復号するダイナミック復号器も含み、該組み合わせ集合中のシンボルの該部分集合は複数の復号された入力シンボルと複数の復号された冗長シンボルとを含み;
    該システムは、更に、復号されなかった入力シンボルがもしあるならばその入力シンボルのうちの少なくとも或る入力シンボルを複数の復号された冗長シンボルから復号するスタティック復号器も含む、システム。
  46. 該スタティック復号器はLDPC復号器を含む、請求項45のシステム。
  47. 該冗長シンボルは第1複数の冗長シンボルと第2複数の冗長シンボルとを含んでおり、該スタティック符号器は:
    該第1複数の冗長シンボルのうちの復号された冗長シンボルと複数の復号された入力シンボルとから、復号されなかった入力シンボルと該第2複数の冗長シンボルのうちの復号されなかった冗長シンボルとのうちの少なくとも1つを復号する第1スタティック復号器と;
    該第2複数の冗長シンボルのうちの冗長シンボルと該複数の復号された入力シンボルとから少なくとも1つの復号されなかった入力シンボルを復号する第2スタティック復号器とを含む、請求項45のシステム。
  48. 該第1スタティック復号器はLDPC復号器を含み、該第2スタティック復号器はハミング復号器を含む、請求項47のシステム。
  49. 該ダイナミック復号器は:
    各々の受信された出力シンボルについて、該出力シンボルと関連する該組み合わせ集合中のシンボルを示す第1マトリックスを形成し;
    各冗長シンボルについて該冗長シンボルと関連する入力シンボルを示す情報で該第1マトリックスを拡大し;
    該拡大された第1マトリックスにより示される方程式系に対する解として該入力シンボルのうちの少なくとも或る入力シンボルを再生するステップを実行するように構成されたプロセッサを含む、請求項45のシステム。
  50. 搬送波で具体化されるコンピュータ・データ信号であって、該コンピュータ・データ信号は:
    複数の出力シンボルを含み、該複数の出力シンボルは入力シンボルの順序付けられた集合と冗長シンボルとを含むシンボルの組み合わせ集合から作られたシンボルを表わし、該冗長シンボルは該入力シンボルから作られ、可能な出力シンボルの数は該シンボルの組み合わせ集合中のシンボルの数より遥かに大きく、そして該データ信号の受信装置が任意の所定数Nの出力シンボルから入力シンボルの順序付けられた集合を所望の精度で再生できるように、少なくとも1つの出力シンボルは、該シンボルの組み合わせ集合中の2つ以上で且つ全部よりは少ない数のシンボルから作られる、コンピュータ・データ信号。
  51. 該シンボルの少なくとも部分集合を再生するステップは、該出力シンボルのうちの所定数N個の任意の出力シンボルが受信されたときに実行される、請求項36の方法。
  52. 該シンボルの少なくとも部分集合を再生するステップは、該出力シンボルのいずれかN個が受信されたときに実行され、ここでNは入力シンボルが所望の精度で再生され得るような数である、請求項36の方法。
  53. 該シンボルの少なくとも部分集合を再生するステップは、該出力シンボルの受信と実質的に同時に実行される、請求項36の方法。
JP2003557101A 2001-12-21 2002-12-23 通信システムのための多段符号発生器及び復号器 Expired - Lifetime JP4157041B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/032,156 US7068729B2 (en) 2001-12-21 2001-12-21 Multi-stage code generator and decoder for communication systems
PCT/US2002/041615 WO2003056703A1 (en) 2001-12-21 2002-12-23 Multi-stage code generator and decoder for communication systems

Publications (3)

Publication Number Publication Date
JP2005514828A true JP2005514828A (ja) 2005-05-19
JP2005514828A5 JP2005514828A5 (ja) 2005-12-22
JP4157041B2 JP4157041B2 (ja) 2008-09-24

Family

ID=21863404

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003557101A Expired - Lifetime JP4157041B2 (ja) 2001-12-21 2002-12-23 通信システムのための多段符号発生器及び復号器

Country Status (8)

Country Link
US (4) US7068729B2 (ja)
EP (5) EP2317653B1 (ja)
JP (1) JP4157041B2 (ja)
KR (1) KR100924295B1 (ja)
CN (1) CN1620760B (ja)
AU (1) AU2002359873A1 (ja)
TW (1) TWI280748B (ja)
WO (1) WO2003056703A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007536834A (ja) * 2004-05-07 2007-12-13 デジタル ファウンテン, インコーポレイテッド ファイルダウンロードおよびストリーミングのシステム
JP2009510949A (ja) * 2005-09-28 2009-03-12 クゥアルコム・インコーポレイテッド 復号エラーの早期検出システム
JP2009527949A (ja) * 2006-02-21 2009-07-30 デジタル ファウンテン, インコーポレイテッド 通信システムのための多体ベース符号の生成器および復号化器
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling

Families Citing this family (105)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ZA923086B (en) * 1991-04-29 1993-10-28 South African Medical Research A delivery system for biologicaly active growth or morphogenetic factors and a method for preparing such delivery system
US7068729B2 (en) * 2001-12-21 2006-06-27 Digital Fountain, Inc. Multi-stage code generator and decoder for communication systems
US7243285B2 (en) * 1998-09-23 2007-07-10 Digital Fountain, Inc. Systems and methods for broadcasting information additive codes
US6307487B1 (en) * 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US20020129159A1 (en) 2001-03-09 2002-09-12 Michael Luby Multi-output packet server with independent streams
CN100479333C (zh) * 2002-06-11 2009-04-15 数字方敦股份有限公司 通过被恢复符号的钝化作用对链式反应代码解码的装置和方法
US9240810B2 (en) * 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
EP1525664B9 (en) * 2002-07-03 2015-09-02 Dtvg Licensing, Inc Method and system for memory management in low density parity check (ldpc) decoders
US7577207B2 (en) 2002-07-03 2009-08-18 Dtvg Licensing, Inc. Bit labeling for amplitude phase shift constellation used with low density parity check (LDPC) codes
US6829308B2 (en) * 2002-07-03 2004-12-07 Hughes Electronics Corporation Satellite communication system utilizing low density parity check codes
US7020829B2 (en) 2002-07-03 2006-03-28 Hughes Electronics Corporation Method and system for decoding low density parity check (LDPC) codes
US7864869B2 (en) * 2002-07-26 2011-01-04 Dtvg Licensing, Inc. Satellite communication system utilizing low density parity check codes
US20040019845A1 (en) * 2002-07-26 2004-01-29 Hughes Electronics Method and system for generating low density parity check codes
EP1552617A2 (en) * 2002-10-05 2005-07-13 Digital Fountain, Inc. Systematic encoding and decoding of chain reaction codes
US7814392B2 (en) * 2003-06-20 2010-10-12 Intel Corporation System, apparatus and methods of dynamically determined error correction codes in communication systems
CN1954501B (zh) 2003-10-06 2010-06-16 数字方敦股份有限公司 通过通信信道接收从源发射的数据的方法
WO2005036361A2 (en) 2003-10-08 2005-04-21 Digital Fountain, Inc. Fec-based reliability control protocols
WO2005055016A2 (en) * 2003-12-01 2005-06-16 Digital Fountain, Inc. Protection of data from erasures using subsymbol based codes
US7203871B2 (en) * 2004-06-03 2007-04-10 Cisco Technology, Inc. Arrangement in a network node for secure storage and retrieval of encoded data distributed among multiple network nodes
US7721184B2 (en) * 2004-08-11 2010-05-18 Digital Fountain, Inc. Method and apparatus for fast encoding of data symbols according to half-weight codes
US7689892B2 (en) * 2004-09-08 2010-03-30 Nokia Corporation System and method for adaptive low-density parity-check (LDPC) coding
WO2006038054A1 (en) * 2004-10-06 2006-04-13 Nokia Corporation Packet transmission using error correction of data packets
US8270901B2 (en) * 2004-12-17 2012-09-18 Martin E. Hellman Dropout-resistant media broadcasting system
US7865917B2 (en) * 2004-12-17 2011-01-04 Martin E Hellman Security enhanced tiered subscription broadcast system
US8627354B2 (en) 2004-12-17 2014-01-07 Martin E. Hellman Tiered subscription broadcast system
KR101066320B1 (ko) * 2005-06-07 2011-09-20 삼성전자주식회사 이동통신 시스템에서 심볼 송수신 장치 및 방법
US7676735B2 (en) * 2005-06-10 2010-03-09 Digital Fountain Inc. Forward error-correcting (FEC) coding and streaming
US7840178B2 (en) * 2005-07-12 2010-11-23 Martin E. Hellman FM broadcast system competitive with satellite radio
EP1788708A1 (en) * 2005-11-16 2007-05-23 BenQ Corporation Method and device for decoding encoded symbols
US7596673B2 (en) * 2005-12-08 2009-09-29 Sony Corporation Failure tolerant data storage
EP1811674A1 (en) * 2006-01-23 2007-07-25 Motorola, Inc. Apparatus and methods for jointly decoding messages based on apriori knowledge of modified codeword transmission
US7480848B2 (en) * 2006-02-10 2009-01-20 The Directv Group, Inc. Methods and apparatus to select tornado error correction parameters
KR101292851B1 (ko) * 2006-02-13 2013-08-02 디지털 파운튼, 인크. 가변적 fec 오버헤드 및 보호 구간을 이용하는 스트리밍및 버퍼링
WO2007095551A2 (en) 2006-02-13 2007-08-23 Digital Fountain, Inc. Fec streaming with aggregation of concurrent streams for fec computation
JP4808054B2 (ja) * 2006-03-17 2011-11-02 富士通株式会社 データ転送方法及び,これを適用する通信システム及びプログラム
US7971129B2 (en) * 2006-05-10 2011-06-28 Digital Fountain, Inc. Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient users of the communications systems
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9419749B2 (en) * 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US20100211690A1 (en) * 2009-02-13 2010-08-19 Digital Fountain, Inc. Block partitioning for a data stream
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
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
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
US7760699B1 (en) 2006-08-05 2010-07-20 Sandeep Malik System and method for efficient transmission of electronic information
US8181093B2 (en) * 2006-12-29 2012-05-15 Interdigital Technology Corporation Method and apparatus for transmitting and receiving multimedia broadcast multicast services via a dedicated downlink carrier
CA2674786A1 (en) * 2007-01-08 2008-07-17 Interdigital Technology Corporation Method and apparatus for multicasting with feedback information
WO2008086393A1 (en) * 2007-01-09 2008-07-17 Mojix, Inc. Systems and methods for secure supply chain management and inventory control
US20080317243A1 (en) * 2007-03-30 2008-12-25 Ramprashad Sean A Low complexity encryption method for content that is coded by a rateless code
US8189581B2 (en) * 2007-06-20 2012-05-29 Motorola Mobility, Inc. Method, signal and apparatus for managing the transmission and receipt of broadcast channel information
JP5027305B2 (ja) 2007-09-12 2012-09-19 デジタル ファウンテン, インコーポレイテッド 信頼できる通信を可能にするためのソース識別情報の生成および伝達
US7899051B2 (en) * 2007-12-31 2011-03-01 Motorola Mobility, Inc. Broadcast channel signal, apparatus and method for transmitting and decoding broadcast channel information
FR2926941B1 (fr) * 2008-01-30 2010-04-02 St Microelectronics Sa Procede de transfert de donnees et dispositif correspondant
US8738855B2 (en) * 2008-05-05 2014-05-27 Amplidata Nv Method of storing a data set in a distributed storage system, distributed storage system and computer program product for use with said method
US20100138717A1 (en) * 2008-12-02 2010-06-03 Microsoft Corporation Fork codes for erasure coding of data blocks
US20100174968A1 (en) * 2009-01-02 2010-07-08 Microsoft Corporation Heirarchical erasure coding
US8413029B2 (en) * 2009-01-16 2013-04-02 Lsi Corporation Error correction capability adjustment of LDPC codes for storage device testing
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
US9015564B2 (en) 2009-08-19 2015-04-21 Qualcomm Incorporated Content delivery system with allocation of source data and repair data among HTTP servers
US20110096828A1 (en) 2009-09-22 2011-04-28 Qualcomm Incorporated Enhanced block-request streaming using scalable encoding
US20110182514A1 (en) * 2010-01-27 2011-07-28 Silverbrook Research Pty Ltd Method of decoding coding pattern having self-encoded format
US9136981B2 (en) * 2010-03-03 2015-09-15 Qualcomm Incorporated Block aggregation of objects in a communication system
KR101651683B1 (ko) * 2010-05-07 2016-08-29 삼성전자주식회사 통신 시스템에서의 채널 부호화 장치 및 방법
US20110280311A1 (en) 2010-05-13 2011-11-17 Qualcomm Incorporated One-stream coding 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
US8732543B1 (en) * 2010-08-05 2014-05-20 Marvell International Ltd. Tensor product codes for flash
US9319448B2 (en) 2010-08-10 2016-04-19 Qualcomm Incorporated Trick modes for network streaming of coded multimedia data
US20120047201A1 (en) 2010-08-20 2012-02-23 Nikhil Jain Apparatus and method of acquiring or distributing content
US8473821B2 (en) 2010-11-09 2013-06-25 Qualcomm, Incorporated Packet-level erasure protection coding in aggregated packet transmissions
US8693501B2 (en) 2010-11-23 2014-04-08 The Chinese University Of Hong Kong Subset coding for communication systems
US9088888B2 (en) * 2010-12-10 2015-07-21 Mitsubishi Electric Research Laboratories, Inc. Secure wireless communication using rate-adaptive codes
TWI445323B (zh) 2010-12-21 2014-07-11 Ind Tech Res Inst 資料傳送的混合式編解碼裝置與方法
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
US20170201271A9 (en) * 2011-06-21 2017-07-13 Centre National D'etudes Spatiales Method for encoding data in bursts
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
CN104067594A (zh) 2011-11-01 2014-09-24 高通股份有限公司 在http服务器之间分配源数据和修复数据的内容传送系统
US9712874B2 (en) * 2011-12-12 2017-07-18 Lg Electronics Inc. Device and method for receiving media content
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery
TWI485992B (zh) 2012-08-31 2015-05-21 Ind Tech Res Inst 猛禽碼之編碼加速裝置與方法
US9413494B2 (en) 2013-01-17 2016-08-09 Qualcomm Incorporated FEC-based reliable transport control protocols for multipath streaming
US9311640B2 (en) 2014-02-11 2016-04-12 Digimarc Corporation Methods and arrangements for smartphone payments and transactions
BR112016002908B1 (pt) 2013-08-16 2021-11-03 Nippon Telegraph And Telephone Corporation Dispositivo para a decodificação de canais, e, método para a decodificação de canais
US9582904B2 (en) 2013-11-11 2017-02-28 Amazon Technologies, Inc. Image composition based on remote object data
US9596280B2 (en) 2013-11-11 2017-03-14 Amazon Technologies, Inc. Multiple stream content presentation
US9634942B2 (en) 2013-11-11 2017-04-25 Amazon Technologies, Inc. Adaptive scene complexity based on service quality
US9604139B2 (en) 2013-11-11 2017-03-28 Amazon Technologies, Inc. Service for generating graphics object data
US9578074B2 (en) 2013-11-11 2017-02-21 Amazon Technologies, Inc. Adaptive content transmission
US9805479B2 (en) 2013-11-11 2017-10-31 Amazon Technologies, Inc. Session idle optimization for streaming server
US9641592B2 (en) 2013-11-11 2017-05-02 Amazon Technologies, Inc. Location of actor resources
TWI519143B (zh) 2013-12-30 2016-01-21 財團法人工業技術研究院 通訊系統、其方法與其接收端
US10412151B2 (en) 2015-01-26 2019-09-10 Huawei Technologies Co., Ltd. Method and system for on-demand file repair
US10903858B2 (en) 2015-05-27 2021-01-26 Quantum Corporation Dynamically variable error correcting code (ECC) system with hybrid rateless reed-solomon ECCs
RU2656838C2 (ru) * 2015-12-01 2018-06-06 Франгиз Гильфанетдинович Хисамов Устройство синхронизации псевдослучайной последовательности на основе мажоритарного декодирования для широкополосных систем связи
CN105897277B (zh) * 2016-03-28 2019-06-14 北京交大思诺科技股份有限公司 解码器解码性能分析方法及装置
WO2019008748A1 (ja) * 2017-07-07 2019-01-10 株式会社Asj データ処理システムおよびこれを用いた分散データシステム
US10417088B2 (en) * 2017-11-09 2019-09-17 International Business Machines Corporation Data protection techniques for a non-volatile memory array
US11271685B2 (en) 2017-12-29 2022-03-08 Limited Liability Company “Radio Gigabit” Method of hybrid automatic repeat request implementation for data transmission with multilevel coding
RU2674316C1 (ru) * 2017-12-29 2018-12-06 Общество с ограниченной ответственностью "Радио Гигабит" Способ реализации гибридного автоматического запроса на передачу при использовании многоуровневого кодирования данных
CN109039532B (zh) * 2018-05-28 2021-02-09 重庆邮电大学 一种基于Raptor码的联合纠错保密方法
CN109495211B (zh) * 2018-09-30 2020-12-29 湖南瑞利德信息科技有限公司 一种信道编码和解码方法

Family Cites Families (560)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US671774A (en) * 1900-06-20 1901-04-09 Henry B Prosser Sand-blasting device.
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
US5701582A (en) 1989-08-23 1997-12-23 Delta Beta Pty. Ltd. Method and apparatus for efficient transmissions of programs
US7594250B2 (en) 1992-04-02 2009-09-22 Debey Henry C Method and system of program transmission optimization using a redundant transmission sequence
US5421031A (en) 1989-08-23 1995-05-30 Delta Beta Pty. Ltd. Program transmission optimisation
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
US5437287A (en) * 1992-08-17 1995-08-01 Carbomedics, Inc. Sterilization of tissue implants using iodine
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
US5629980A (en) * 1994-11-23 1997-05-13 Xerox Corporation System for controlling the distribution and use of digital works
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 株式会社東芝 データ再送制御方法及びデータ再送制御システム
CA2219379A1 (en) 1995-04-27 1996-10-31 Cadathur V. Chakravarthy High integrity transport for time critical multimedia networking applications
US5835165A (en) 1995-06-07 1998-11-10 Lsi Logic Corporation Reduction of false locking code words in concatenated decoders
US5808738A (en) * 1995-06-13 1998-09-15 University Of South Florida Multiangle, multiwavelength particle characterization system and method
US5805825A (en) * 1995-07-26 1998-09-08 Intel Corporation Method for semi-reliable, unidirectional broadcast information services
US6079041A (en) 1995-08-04 2000-06-20 Sanyo Electric Co., Ltd. Digital modulation circuit and digital demodulation circuit
US5754563A (en) 1995-09-11 1998-05-19 Ecc Technologies, Inc. Byte-parallel system for implementing reed-solomon error-correcting codes
KR0170298B1 (ko) 1995-10-10 1999-04-15 김광호 디지탈 비디오 테이프의 기록 방법
US5751336A (en) 1995-10-12 1998-05-12 International Business Machines Corporation Permutation based pyramid block transmission scheme for broadcasting in video-on-demand storage systems
JP3305183B2 (ja) 1996-01-12 2002-07-22 株式会社東芝 ディジタル放送受信端末装置
US6012159A (en) 1996-01-17 2000-01-04 Kencast, Inc. Method and system for error-free data transfer
US5852565A (en) 1996-01-30 1998-12-22 Demografx Temporal and resolution layering in advanced television
US5936659A (en) 1996-01-31 1999-08-10 Telcordia Technologies, Inc. Method for video delivery using pyramid broadcasting
US5903775A (en) 1996-06-06 1999-05-11 International Business Machines Corporation Method for the sequential transmission of compressed video information at varying data rates
US5745504A (en) 1996-06-25 1998-04-28 Telefonaktiebolaget Lm Ericsson Bit error resilient variable length code
US5940863A (en) 1996-07-26 1999-08-17 Zenith Electronics Corporation Apparatus for de-rotating and de-interleaving data including plural memory devices and plural modulo memory address generators
US5936949A (en) 1996-09-05 1999-08-10 Netro Corporation Wireless ATM metropolitan area network
KR100261706B1 (ko) 1996-12-17 2000-07-15 가나이 쓰도무 디지탈방송신호의 수신장치와 수신 및 기록재생장치
US6044485A (en) * 1997-01-03 2000-03-28 Ericsson Inc. Transmitter method and transmission system using adaptive coding based on channel characteristics
US6141053A (en) 1997-01-03 2000-10-31 Saukkonen; Jukka I. Method of optimizing bandwidth for transmitting compressed video data streams
US6011590A (en) 1997-01-03 2000-01-04 Ncr Corporation Method of transmitting compressed information to minimize buffer space
US5946357A (en) 1997-01-17 1999-08-31 Telefonaktiebolaget L M Ericsson Apparatus, and associated method, for transmitting and receiving a multi-stage, encoded and interleaved digital communication signal
EP0854650A3 (en) 1997-01-17 2001-05-02 NOKIA TECHNOLOGY GmbH Method for addressing a service in digital video broadcasting
US5983383A (en) 1997-01-17 1999-11-09 Qualcom Incorporated Method and apparatus for transmitting and receiving concatenated code data
US6014706A (en) 1997-01-30 2000-01-11 Microsoft Corporation Methods and apparatus for implementing control functions in a streamed video display system
WO1998039927A1 (en) 1997-03-07 1998-09-11 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
US6087098A (en) * 1997-04-15 2000-07-11 The Trustees Of Columbia University In The City Of New York Enhanced reverse transcriptase polymerase chain assay to detect MN in patients with renal cell carcinoma
DE19716011A1 (de) 1997-04-17 1998-10-22 Abb Research Ltd Verfahren und Vorrichtung zur Informationsübertragung über Stromversorgungsleitungen
US6226259B1 (en) 1997-04-29 2001-05-01 Canon Kabushiki Kaisha Device and method for transmitting information device and method for processing information
US5970098A (en) * 1997-05-02 1999-10-19 Globespan Technologies, Inc. Multilevel encoder
US5844636A (en) 1997-05-13 1998-12-01 Hughes Electronics Corporation Method and apparatus for receiving and recording digital packet data
EP0933768A4 (en) 1997-05-19 2000-10-04 Sanyo Electric Co DIGITAL MODULATION AND DEMODULATION
JP4110593B2 (ja) 1997-05-19 2008-07-02 ソニー株式会社 信号記録方法及び信号記録装置
JPH1141211A (ja) 1997-05-19 1999-02-12 Sanyo Electric Co Ltd ディジタル変調回路と変調方法、ディジタル復調回路と復調方法
US6128649A (en) 1997-06-02 2000-10-03 Nortel Networks Limited Dynamic selection of media streams for display
US6081907A (en) 1997-06-09 2000-06-27 Microsoft Corporation Data delivery system and method for delivering data and redundant information over a unidirectional network
US5917852A (en) 1997-06-11 1999-06-29 L-3 Communications Corporation Data scrambling system and method and communications system incorporating same
KR100240869B1 (ko) 1997-06-25 2000-01-15 윤종용 이중 다이버서티 시스템을 위한 데이터 전송 방법
US5933056A (en) * 1997-07-15 1999-08-03 Exar Corporation Single pole current mode common-mode feedback circuit
US6175944B1 (en) 1997-07-15 2001-01-16 Lucent Technologies Inc. Methods and apparatus for packetizing data for transmission through an erasure broadcast channel
US6047069A (en) 1997-07-17 2000-04-04 Hewlett-Packard Company Method and apparatus for preserving error correction capabilities during data encryption/decryption
US6904110B2 (en) 1997-07-31 2005-06-07 Francois Trans Channel equalization system and method
US6178536B1 (en) * 1997-08-14 2001-01-23 International Business Machines Corporation Coding scheme for file backup and systems based thereon
FR2767940A1 (fr) 1997-08-29 1999-02-26 Canon Kk Procedes et dispositifs de codage et de decodage et appareils les mettant en oeuvre
EP0903955A1 (en) 1997-09-04 1999-03-24 STMicroelectronics S.r.l. Modular architecture PET decoder for ATM networks
US6088330A (en) 1997-09-09 2000-07-11 Bruck; Joshua Reliable array of distributed computing nodes
US6134596A (en) 1997-09-18 2000-10-17 Microsoft Corporation Continuous media file server system and method for scheduling network resources to play multiple files having different data transmission rates
US6018918A (en) * 1997-10-16 2000-02-01 Composite Technologies Corporation Wall panel with vapor barriers
US6272658B1 (en) 1997-10-27 2001-08-07 Kencast, Inc. Method and system for reliable broadcasting of data files and streams
US6195777B1 (en) * 1997-11-06 2001-02-27 Compaq Computer Corporation Loss resilient code with double heavy tailed series of redundant layers
US6081918A (en) 1997-11-06 2000-06-27 Spielman; Daniel A. Loss resilient code with cascading series of redundant layers
US6163870A (en) * 1997-11-06 2000-12-19 Compaq Computer Corporation Message encoding with irregular graphing
US6081909A (en) * 1997-11-06 2000-06-27 Digital Equipment Corporation Irregularly graphed encoding technique
US6073250A (en) * 1997-11-06 2000-06-06 Luby; Michael G. Loss resilient decoding technique
JP3472115B2 (ja) 1997-11-25 2003-12-02 Kddi株式会社 マルチチャンネルを用いるビデオデータ伝送方法及びその装置
US6243846B1 (en) 1997-12-12 2001-06-05 3Com Corporation Forward error correction system for packet based data and real time media, using cross-wise parity calculation
US5870412A (en) 1997-12-12 1999-02-09 3Com Corporation Forward error correction system for packet based real time media
US6849803B1 (en) * 1998-01-15 2005-02-01 Arlington Industries, Inc. Electrical connector
US6097320A (en) * 1998-01-20 2000-08-01 Silicon Systems, Inc. Encoder/decoder system with suppressed error propagation
US6226301B1 (en) 1998-02-19 2001-05-01 Nokia Mobile Phones Ltd Method and apparatus for segmentation and assembly of data frames for retransmission in a telecommunications system
US6141788A (en) 1998-03-13 2000-10-31 Lucent Technologies Inc. Method and apparatus for forward error correction in packet networks
US6278716B1 (en) 1998-03-23 2001-08-21 University Of Massachusetts Multicast with proactive forward error correction
JP2002510947A (ja) 1998-04-02 2002-04-09 サーノフ コーポレイション 圧縮ビデオ・データのバースト状データ伝送
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
CN1342354A (zh) 1998-09-04 2002-03-27 美国电报电话公司 在一种多天线装置中组合信道编码和空间一分块编码
US6415326B1 (en) 1998-09-15 2002-07-02 Microsoft Corporation Timeline correlation between multiple timeline-altered media streams
US6320520B1 (en) 1998-09-23 2001-11-20 Digital Fountain Information additive group code generator and decoder for communications systems
US7068729B2 (en) 2001-12-21 2006-06-27 Digital Fountain, Inc. Multi-stage code generator and decoder for communication systems
US7243285B2 (en) 1998-09-23 2007-07-10 Digital Fountain, Inc. Systems and methods for broadcasting information additive codes
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
US6483736B2 (en) 1998-11-16 2002-11-19 Matrix Semiconductor, Inc. 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
ES2185244T3 (es) 1998-12-03 2003-04-16 Fraunhofer Ges Forschung Aparato y procedimiento para transmitir informacion y aparato y procedimiento para recibir informacion.
US6637031B1 (en) 1998-12-04 2003-10-21 Microsoft Corporation Multimedia presentation latency minimization
US6496980B1 (en) 1998-12-07 2002-12-17 Intel Corporation Method of providing replay on demand for streaming digital multimedia
US6223324B1 (en) * 1999-01-05 2001-04-24 Agere Systems Guardian Corp. Multiple program unequal error protection for digital audio broadcasting and other applications
JP3926499B2 (ja) 1999-01-22 2007-06-06 株式会社日立国際電気 畳み込み符号軟判定復号方式の受信装置
US6618451B1 (en) 1999-02-13 2003-09-09 Altocom Inc Efficient reduced state maximum likelihood sequence estimator
US6041001A (en) 1999-02-25 2000-03-21 Lexar Media, Inc. Method of increasing data reliability of a flash memory device without compromising compatibility
WO2000052600A1 (fr) 1999-03-03 2000-09-08 Sony Corporation Emetteur, recepteur, systeme d'emetteur/recepteur, procede de transmission et procede de reception
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
JP3256517B2 (ja) 1999-04-06 2002-02-12 インターナショナル・ビジネス・マシーンズ・コーポレーション 符号化回路、回路、パリティ生成方法及び記憶媒体
US6535920B1 (en) 1999-04-06 2003-03-18 Microsoft Corporation Analyzing, indexing and seeking of streaming information
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
US6804202B1 (en) 1999-04-08 2004-10-12 Lg Information And Communications, Ltd. Radio protocol for mobile communication system and method
US7885340B2 (en) 1999-04-27 2011-02-08 Realnetworks, Inc. System and method for generating multiple synchronized encoded representations of media data
FI113124B (fi) 1999-04-29 2004-02-27 Nokia Corp Tiedonsiirto
KR100784652B1 (ko) 1999-05-06 2007-12-12 소니 가부시끼 가이샤 데이터 처리 방법/장치, 데이터 재생 방법/장치, 및 기록매체
KR100416996B1 (ko) 1999-05-10 2004-02-05 삼성전자주식회사 이동 통신시스템에서 라디오링크프로토콜에 따른 가변 길이의 데이터 송수신 장치 및 방법
US6154452A (en) 1999-05-26 2000-11-28 Xm Satellite Radio Inc. Method and apparatus for continuous cross-channel interleaving
AU5140200A (en) 1999-05-26 2000-12-18 Enounce, Incorporated Method and apparatus for controlling time-scale modification during multi-media broadcasts
US6229824B1 (en) 1999-05-26 2001-05-08 Xm Satellite Radio Inc. Method and apparatus for concatenated convolutional endcoding and interleaving
JP2000353969A (ja) 1999-06-11 2000-12-19 Sony Corp デジタル音声放送の受信機
US6577599B1 (en) 1999-06-30 2003-06-10 Sun Microsystems, Inc. Small-scale reliable multicasting
IL141800A0 (en) 1999-07-06 2002-03-10 Samsung Electronics Co Ltd Rate matching device and method for a data communication system
US6643332B1 (en) * 1999-07-09 2003-11-04 Lsi Logic Corporation Method and apparatus for multi-level coding of digital signals
US6279072B1 (en) 1999-07-22 2001-08-21 Micron Technology, Inc. Reconfigurable memory with selectable error correction storage
JP3451221B2 (ja) 1999-07-22 2003-09-29 日本無線株式会社 誤り訂正符号化装置、方法及び媒体、並びに誤り訂正符号復号装置、方法及び媒体
US6453440B1 (en) 1999-08-04 2002-09-17 Sun Microsystems, Inc. System and method for detecting double-bit errors and for correcting errors due to component failures
JP2001060934A (ja) 1999-08-20 2001-03-06 Matsushita Electric Ind Co Ltd Ofdm通信装置
US6430233B1 (en) * 1999-08-30 2002-08-06 Hughes Electronics Corporation Single-LNB satellite data receiver
US6332163B1 (en) 1999-09-01 2001-12-18 Accenture, Llp Method for providing communication services over a computer network system
JP4284774B2 (ja) 1999-09-07 2009-06-24 ソニー株式会社 送信装置、受信装置、通信システム、送信方法及び通信方法
US7529806B1 (en) 1999-11-04 2009-05-05 Koninklijke Philips Electronics N.V. Partitioning of MP3 content file for emulating streaming
JP2003510734A (ja) 1999-09-27 2003-03-18 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ストリーミングのエミュレート用ファイル分割
JP2001094625A (ja) 1999-09-27 2001-04-06 Canon Inc データ通信装置、データ通信方法及び記憶媒体
US20050160272A1 (en) 1999-10-28 2005-07-21 Timecertain, Llc System and method for providing trusted time in content of digital data files
US6523147B1 (en) 1999-11-11 2003-02-18 Ibiquity Digital Corporation Method and apparatus for forward error correction coding for an AM in-band on-channel digital audio broadcasting system
US6748441B1 (en) 1999-12-02 2004-06-08 Microsoft Corporation Data carousel receiving and caching
US6678855B1 (en) 1999-12-02 2004-01-13 Microsoft Corporation Selecting K in a data transmission carousel using (N,K) forward error correction
US6798791B1 (en) * 1999-12-16 2004-09-28 Agere Systems Inc Cluster frame synchronization scheme for a satellite digital audio radio system
US6487692B1 (en) * 1999-12-21 2002-11-26 Lsi Logic Corporation Reed-Solomon decoder
US6965636B1 (en) * 2000-02-01 2005-11-15 2Wire, Inc. System and method for block error correction in packet-based digital communications
US20020009137A1 (en) 2000-02-01 2002-01-24 Nelson John E. Three-dimensional video broadcasting system
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
IL140504A0 (en) 2000-02-03 2002-02-10 Bandwiz Inc Broadcast system
JP2001251287A (ja) 2000-02-24 2001-09-14 Geneticware Corp Ltd ハードウエア保護内部秘匿鍵及び可変パスコードを利用する機密データ伝送方法
US6765866B1 (en) 2000-02-29 2004-07-20 Mosaid Technologies, Inc. Link aggregation
DE10009443A1 (de) 2000-02-29 2001-08-30 Philips Corp Intellectual Pty Empfänger und Verfahren zum Detektieren und Dekodieren eines DQPSK-modulierten und kanalkodierten Empfangssignals
US6384750B1 (en) * 2000-03-23 2002-05-07 Mosaid Technologies, Inc. Multi-stage lookup for translating between signals of different bit lengths
US6510177B1 (en) 2000-03-24 2003-01-21 Microsoft Corporation System and method for layered video coding enhancement
JP2001274776A (ja) 2000-03-24 2001-10-05 Toshiba Corp 情報データ伝送システムとその送信装置及び受信装置
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
EP1273152B1 (en) 2000-04-08 2006-08-02 Sun Microsystems, Inc. Method of streaming a single media track to multiple clients
US6643336B1 (en) * 2000-04-18 2003-11-04 Widcomm, Inc. DC offset and bit timing system and method for use with a wireless transceiver
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
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
US6486803B1 (en) * 2000-09-22 2002-11-26 Digital Fountain, Inc. On demand encoding with a window
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
US6654593B1 (en) * 2000-10-30 2003-11-25 Research In Motion Limited Combined discrete automatic gain control (AGC) and DC estimation
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
ATE464740T1 (de) 2000-12-15 2010-04-15 British Telecomm Übertagung von ton- und/oder bildmaterial
AU2002220927B2 (en) 2000-12-15 2006-03-16 British Telecommunications Public Limited Company Transmission and reception of audio and/or video material
US6850736B2 (en) * 2000-12-21 2005-02-01 Tropian, Inc. Method and apparatus for reception quality indication in wireless communication
US7143433B1 (en) 2000-12-27 2006-11-28 Infovalve Computing Inc. Video distribution system using dynamic segmenting of video data files
US20020085013A1 (en) 2000-12-29 2002-07-04 Lippincott Louis A. Scan synchronized dual frame buffer graphics subsystem
NO315887B1 (no) 2001-01-04 2003-11-03 Fast Search & Transfer As Fremgangsmater ved overforing og soking av videoinformasjon
US20080059532A1 (en) 2001-01-18 2008-03-06 Kazmi Syed N Method and system for managing digital content, including streaming media
DE10103387A1 (de) 2001-01-26 2002-08-01 Thorsten Nordhoff Windkraftanlage mit einer Einrichtung zur Hindernisbefeuerung bzw. Nachtkennzeichnung
FI118830B (fi) 2001-02-08 2008-03-31 Nokia Corp Tietovirran toisto
US6868083B2 (en) 2001-02-16 2005-03-15 Hewlett-Packard Development Company, L.P. Method and system for packet communication employing path diversity
US20020129159A1 (en) 2001-03-09 2002-09-12 Michael Luby Multi-output packet server with independent streams
KR100464360B1 (ko) 2001-03-30 2005-01-03 삼성전자주식회사 고속 패킷 데이터 전송 이동통신시스템에서 패킷 데이터채널에 대한 효율적인 에너지 분배 장치 및 방법
US20020143953A1 (en) 2001-04-03 2002-10-03 International Business Machines Corporation Automatic affinity within networks performing workload balancing
US6785836B2 (en) 2001-04-11 2004-08-31 Broadcom Corporation In-place data transformation for fault-tolerant disk storage systems
US6820221B2 (en) 2001-04-13 2004-11-16 Hewlett-Packard Development Company, L.P. System and method for detecting process and network failures in a distributed system
US7010052B2 (en) 2001-04-16 2006-03-07 The Ohio University Apparatus and method of CTCM encoding and decoding for a digital communication system
US7035468B2 (en) 2001-04-20 2006-04-25 Front Porch Digital Inc. Methods and apparatus for archiving, indexing and accessing audio and video data
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
US6760705B2 (en) * 2001-05-31 2004-07-06 Motorola, Inc. Virtual speech interface system and method of using same
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
US7123671B2 (en) * 2001-09-28 2006-10-17 Texas Instruments Incorporated Automatic gain control method for digital subscriber line modems
US6990624B2 (en) 2001-10-12 2006-01-24 Agere Systems Inc. High speed syndrome-based FEC encoder and decoder and system using same
US7480703B2 (en) 2001-11-09 2009-01-20 Sony Corporation System, method, and computer program product for remotely determining the configuration of a multi-media content user based on response of the user
US7003712B2 (en) 2001-11-29 2006-02-21 Emin Martinian Apparatus and method for adaptive, multimode decoding
US7363354B2 (en) 2001-11-29 2008-04-22 Nokia Corporation System and method for identifying and accessing network services
JP2003174489A (ja) 2001-12-05 2003-06-20 Ntt Docomo Inc ストリーミング配信装置、ストリーミング配信方法
FI114527B (fi) 2002-01-23 2004-10-29 Nokia Corp Kuvakehysten ryhmittely videokoodauksessa
KR100959573B1 (ko) 2002-01-23 2010-05-27 노키아 코포레이션 비디오 코딩시 이미지 프레임들의 그루핑
EP1472847A1 (en) 2002-01-30 2004-11-03 Koninklijke Philips Electronics N.V. Streaming multimedia data over a network having a variable bandwidth
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
US7363048B2 (en) 2002-04-15 2008-04-22 Nokia Corporation Apparatus, and associated method, for operating upon data at 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
JP3689063B2 (ja) 2002-04-19 2005-08-31 松下電器産業株式会社 データ受信装置及びデータ配信システム
JP3629008B2 (ja) 2002-04-19 2005-03-16 松下電器産業株式会社 データ受信装置及びデータ配信システム
US7529400B2 (en) 2002-04-25 2009-05-05 Sharp Kabushiki Kaisha Image encoder, 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
WO2003105484A1 (en) 2002-06-11 2003-12-18 Telefonaktiebolaget L M Ericsson (Publ) Generation of mixed media streams
CN100479333C (zh) 2002-06-11 2009-04-15 数字方敦股份有限公司 通过被恢复符号的钝化作用对链式反应代码解码的装置和方法
US6956875B2 (en) 2002-06-19 2005-10-18 Atlinks Usa, Inc. Technique for communicating variable bit rate data over a constant bit rate link
JP4227770B2 (ja) 2002-07-10 2009-02-18 シャープ株式会社 表示装置およびそれを備えた画像読み取り/表示システム
JP4154569B2 (ja) 2002-07-10 2008-09-24 日本電気株式会社 画像圧縮伸長装置
JP4120461B2 (ja) 2002-07-12 2008-07-16 住友電気工業株式会社 伝送データ生成方法及び伝送データ生成装置
BR0312657A (pt) 2002-07-16 2007-06-26 Nokia Corp método para executar uma restauração gradual do conteúdo de imagem com acesso randÈmico em uma seqüência de vìdeo codificada
AU2003252347A1 (en) 2002-07-31 2004-03-11 Sharp Kabushiki Kaisha Data communication device, its intermittent communication method, program describing its method, and recording medium on which program is recorded
JP2004070712A (ja) 2002-08-07 2004-03-04 Nippon Telegr & Teleph Corp <Ntt> データ配信方法,データ配信システム,分割配信データ受信方法,分割配信データ受信装置および分割配信データ受信プログラム
WO2004015948A1 (en) 2002-08-13 2004-02-19 Nokia Corporation Symbol interleaving
US6985459B2 (en) 2002-08-21 2006-01-10 Qualcomm Incorporated Early transmission and playout of packets in wireless communication systems
WO2004030273A1 (ja) 2002-09-27 2004-04-08 Fujitsu Limited データ配信方法、システム、伝送方法及びプログラム
JP3534742B1 (ja) 2002-10-03 2004-06-07 株式会社エヌ・ティ・ティ・ドコモ 動画像復号方法、動画像復号装置、及び動画像復号プログラム
EP1552617A2 (en) 2002-10-05 2005-07-13 Digital Fountain, Inc. Systematic encoding and decoding of chain reaction codes
JP2004135013A (ja) 2002-10-10 2004-04-30 Matsushita Electric Ind Co Ltd 伝送装置及び伝送方法
FI116816B (fi) 2002-10-14 2006-02-28 Nokia Corp Median suoratoisto
US8320301B2 (en) 2002-10-25 2012-11-27 Qualcomm Incorporated MIMO WLAN system
US7289451B2 (en) 2002-10-25 2007-10-30 Telefonaktiebolaget Lm Ericsson (Publ) Delay trading between communication links
AU2003269352A1 (en) 2002-10-30 2004-05-25 Koninklijke Philips Electronics N.V. Adaptative forward error control scheme
JP2004165922A (ja) 2002-11-12 2004-06-10 Sony Corp 情報処理装置および方法、並びにプログラム
ES2314259T3 (es) 2002-11-18 2009-03-16 British Telecommunications Public Limited Company Transmision de video.
GB0226872D0 (en) 2002-11-18 2002-12-24 British Telecomm Video transmission
KR100502609B1 (ko) 2002-11-21 2005-07-20 한국전자통신연구원 Ldpc 코드를 이용한 부호화기 및 부호화 방법
US7086718B2 (en) 2002-11-23 2006-08-08 Silverbrook Research Pty Ltd Thermal ink jet printhead with high nozzle areal density
JP2004192140A (ja) 2002-12-09 2004-07-08 Sony Corp データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム
JP2004193992A (ja) 2002-12-11 2004-07-08 Sony Corp 情報処理システム、情報処理装置および方法、記録媒体、並びにプログラム
US8135073B2 (en) 2002-12-19 2012-03-13 Trident Microsystems (Far East) Ltd Enhancing video images depending on prior image enhancements
US7164882B2 (en) 2002-12-24 2007-01-16 Poltorak Alexander I Apparatus and method for facilitating a purchase using information provided on a media playing device
WO2004068715A2 (en) 2003-01-29 2004-08-12 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エンコード装置
US8161116B2 (en) 2003-05-23 2012-04-17 Kirusa, Inc. Method and system for communicating a data file over a network
JP2004362099A (ja) 2003-06-03 2004-12-24 Sony Corp サーバ装置、情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
RU2312390C2 (ru) 2003-06-07 2007-12-10 Самсунг Электроникс Ко., Лтд. Устройство и способ организации и интерпретации мультимедийных данных на записываемом носителе информации
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
CN1868157B (zh) 2003-08-21 2011-07-27 高通股份有限公司 无线链路控制层上的前向纠错编码方法和相关装置
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 三洋電機株式会社 映像表示装置
EP1665567A4 (en) 2003-09-15 2010-08-25 Directv Group Inc METHOD AND SYSTEM FOR ADAPTIVELY 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
CN1954501B (zh) 2003-10-06 2010-06-16 数字方敦股份有限公司 通过通信信道接收从源发射的数据的方法
US7614071B2 (en) 2003-10-10 2009-11-03 Microsoft Corporation Architecture for distributed sending of media data
US7516232B2 (en) 2003-10-10 2009-04-07 Microsoft Corporation Media organization for distributed sending of media data
DE602004028849D1 (de) 2003-10-14 2010-10-07 Panasonic Corp Datenumsetzer
US7650036B2 (en) 2003-10-16 2010-01-19 Sharp Laboratories Of America, Inc. System and method for three-dimensional video coding
US7168030B2 (en) 2003-10-17 2007-01-23 Telefonaktiebolaget Lm Ericsson (Publ) Turbo code decoder with parity information update
US8132215B2 (en) 2003-10-27 2012-03-06 Panasonic Corporation Apparatus for receiving broadcast signal
JP2005136546A (ja) 2003-10-29 2005-05-26 Sony Corp 送信装置および方法、記録媒体、並びにプログラム
EP1528702B1 (en) 2003-11-03 2008-01-23 Broadcom Corporation FEC (forward error correction) decoding with dynamic parameters
US20050102371A1 (en) 2003-11-07 2005-05-12 Emre Aksu Streaming from a server to a client
WO2005055016A2 (en) 2003-12-01 2005-06-16 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
KR100596705B1 (ko) 2004-03-04 2006-07-04 삼성전자주식회사 비디오 스트리밍 서비스를 위한 비디오 코딩 방법과 비디오 인코딩 시스템, 및 비디오 디코딩 방법과 비디오 디코딩 시스템
KR100586883B1 (ko) 2004-03-04 2006-06-08 삼성전자주식회사 비디오 스트리밍 서비스를 위한 비디오 코딩방법, 프리디코딩방법, 비디오 디코딩방법, 및 이를 위한 장치와, 이미지 필터링방법
US7609653B2 (en) 2004-03-08 2009-10-27 Microsoft Corporation Resolving partial media topologies
WO2005094020A1 (en) 2004-03-19 2005-10-06 Telefonaktiebolaget Lm Ericsson (Publ) Higher layer packet framing using rlp
US7240236B2 (en) 2004-03-23 2007-07-03 Archivas, Inc. Fixed content distributed data storage using permutation ring encoding
JP4433287B2 (ja) 2004-03-25 2010-03-17 ソニー株式会社 受信装置および方法、並びにプログラム
US8842175B2 (en) 2004-03-26 2014-09-23 Broadcom Corporation Anticipatory video signal reception and processing
US20050216472A1 (en) 2004-03-29 2005-09-29 David Leon Efficient multicast/broadcast distribution of formatted data
WO2005096301A1 (en) 2004-03-30 2005-10-13 Koninklijke Philips Electronics N.V. System and method for supporting improved trick mode performance for disc-based multimedia content
TW200534875A (en) 2004-04-23 2005-11-01 Lonza Ag Personal care compositions and concentrates for making the same
FR2869744A1 (fr) 2004-04-29 2005-11-04 Thomson Licensing Sa Methode de transmission de paquets de donnees numeriques et appareil implementant la methode
US7633970B2 (en) 2004-05-07 2009-12-15 Agere Systems Inc. MAC header compression for use with frame aggregation
JP4971144B2 (ja) * 2004-05-07 2012-07-11 デジタル ファウンテン, インコーポレイテッド ファイルダウンロードおよびストリーミングのシステム
US20050254575A1 (en) 2004-05-12 2005-11-17 Nokia Corporation Multiple interoperability points for scalable media coding and transmission
US20060037057A1 (en) 2004-05-24 2006-02-16 Sharp Laboratories Of America, Inc. Method and system of enabling trick play modes using HTTP GET
US8331445B2 (en) 2004-06-01 2012-12-11 Qualcomm Incorporated Method, apparatus, and system for enhancing robustness of predictive video codecs using a side-channel based on distributed source coding techniques
US20070110074A1 (en) 2004-06-04 2007-05-17 Bob Bradley System and Method for Synchronizing Media Presentation at Multiple Recipients
US7139660B2 (en) 2004-07-14 2006-11-21 General Motors Corporation System and method for changing motor vehicle personalization settings
US8112531B2 (en) 2004-07-14 2012-02-07 Nokia Corporation Grouping of session objects
US8544043B2 (en) 2004-07-21 2013-09-24 Qualcomm Incorporated Methods and apparatus for providing content information to content servers
US7409626B1 (en) 2004-07-28 2008-08-05 Ikanos Communications Inc Method and apparatus for determining codeword interleaver parameters
US7590922B2 (en) 2004-07-30 2009-09-15 Nokia Corporation Point-to-point repair request mechanism for point-to-multipoint transmission systems
US7376150B2 (en) 2004-07-30 2008-05-20 Nokia Corporation Point-to-point repair response mechanism for point-to-multipoint transmission systems
US7930184B2 (en) 2004-08-04 2011-04-19 Dts, Inc. Multi-channel audio coding/decoding of random access points and transients
US7721184B2 (en) 2004-08-11 2010-05-18 Digital Fountain, Inc. Method and apparatus for fast encoding of data symbols according to half-weight codes
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
CN101061718B (zh) 2004-11-22 2010-10-13 汤姆森研究基金有限公司 用于数字订户线路系统中的频道改变的方法和设备
JP5425397B2 (ja) 2004-12-02 2014-02-26 トムソン ライセンシング 適応型前方誤り訂正を行う装置及び方法
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 株式会社第一興商 高能率符号化された時系列情報をリアルタイム・ストリーミング送信し受信再生する方法と受信装置
JP2008530835A (ja) 2005-02-08 2008-08-07 テレフオンアクチーボラゲット エル エム エリクソン(パブル) パケット交換ネットワーク上のオンデマンドマルチチャネルストリーミングセッション
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
EP1856911A4 (en) 2005-03-07 2010-02-24 Ericsson Telefon Ab L M SWITCHING MULTIMEDIA CHANNELS
US8028322B2 (en) 2005-03-14 2011-09-27 Time Warner Cable Inc. Method and apparatus for network content download and recording
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
KR20080006609A (ko) 2005-04-13 2008-01-16 노키아 코포레이션 스케일링가능성 정보의 코딩, 저장, 및 시그널링
JP4515319B2 (ja) 2005-04-27 2010-07-28 株式会社日立製作所 コンピュータシステム
US7961700B2 (en) 2005-04-28 2011-06-14 Qualcomm Incorporated Multi-carrier operation in data transmission systems
US8683066B2 (en) 2007-08-06 2014-03-25 DISH Digital L.L.C. Apparatus, system, and method for multi-bitrate content streaming
JP2006319743A (ja) 2005-05-13 2006-11-24 Toshiba Corp 受信装置
US8228994B2 (en) 2005-05-20 2012-07-24 Microsoft Corporation Multi-view video coding based on temporal and view decomposition
US20090222855A1 (en) 2005-05-24 2009-09-03 Jani Vare Method and apparatuses for hierarchical transmission/reception in digital broadcast
US7644335B2 (en) 2005-06-10 2010-01-05 Qualcomm Incorporated In-place transformations with applications to encoding and decoding various classes of codes
US7676735B2 (en) 2005-06-10 2010-03-09 Digital Fountain Inc. Forward error-correcting (FEC) coding and streaming
JP2007013436A (ja) 2005-06-29 2007-01-18 Toshiba Corp 符号化ストリーム再生装置
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
EP1755248B1 (en) 2005-08-19 2011-06-22 Hewlett-Packard Development Company, L.P. Indication of lost segments across layer boundaries
WO2007029443A1 (ja) 2005-09-09 2007-03-15 Matsushita Electric Industrial Co., Ltd. 画像処理方法、画像記録方法、画像処理装置および画像ファイルフォーマット
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
US8879857B2 (en) 2005-09-27 2014-11-04 Qualcomm Incorporated Redundant data encoding methods and device
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
CN100442858C (zh) 2005-10-11 2008-12-10 华为技术有限公司 分组网络中多媒体实时传输的唇同步方法及其装置
JP4950206B2 (ja) 2005-10-11 2012-06-13 ノキア コーポレイション 効率的なスケーラブルストリーム適応のためのシステム及び方法
US7720096B2 (en) 2005-10-13 2010-05-18 Microsoft Corporation RTP payload format for VC-1
US9131247B2 (en) 2005-10-19 2015-09-08 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
EP1969856B1 (en) 2006-01-05 2012-08-15 Telefonaktiebolaget LM Ericsson (publ) Media container file management
US8214516B2 (en) 2006-01-06 2012-07-03 Google Inc. Dynamic media serving infrastructure
AU2007204168B2 (en) 2006-01-11 2011-02-24 Nokia Technologies Oy Backward-compatible aggregation of pictures in scalable video coding
WO2007081177A1 (en) 2006-01-12 2007-07-19 Lg Electronics Inc. Processing multiview video
WO2007086654A1 (en) 2006-01-25 2007-08-02 Lg Electronics Inc. Digital broadcasting system and method of processing data
RU2290768C1 (ru) 2006-01-30 2006-12-27 Общество с ограниченной ответственностью "Трафиклэнд" Система медиавещания в инфраструктуре оператора мобильной связи
US7262719B2 (en) 2006-01-30 2007-08-28 International Business Machines Corporation Fast data stream decoding using apriori information
GB0602314D0 (en) 2006-02-06 2006-03-15 Ericsson Telefon Ab L M Transporting packets
US8990153B2 (en) 2006-02-07 2015-03-24 Dot Hill Systems Corporation Pull data replication model
JP5237119B2 (ja) 2006-02-08 2013-07-17 トムソン ライセンシング ラプターコードをデコードする方法及び装置
KR101292851B1 (ko) 2006-02-13 2013-08-02 디지털 파운튼, 인크. 가변적 fec 오버헤드 및 보호 구간을 이용하는 스트리밍및 버퍼링
US20070200949A1 (en) 2006-02-21 2007-08-30 Qualcomm Incorporated Rapid tuning in multimedia applications
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
JP2007228205A (ja) 2006-02-23 2007-09-06 Funai Electric Co Ltd ネットワークサーバ
US8320450B2 (en) 2006-03-29 2012-11-27 Vidyo, Inc. System and method for transcoding between scalable and non-scalable video codecs
WO2007127741A2 (en) 2006-04-24 2007-11-08 Sun Microsystems, Inc. Media server system
US20080010153A1 (en) 2006-04-24 2008-01-10 Pugh-O'connor Archie Computer network provided digital content under an advertising and revenue sharing basis, such as music provided via the internet with time-shifted advertisements presented by a client resident application
US7640353B2 (en) 2006-04-27 2009-12-29 Microsoft Corporation Guided random seek support for media streaming
US7971129B2 (en) * 2006-05-10 2011-06-28 Digital Fountain, Inc. Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient users of the communications systems
US7525993B2 (en) 2006-05-24 2009-04-28 Newport Media, Inc. Robust transmission system and method for mobile television applications
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
TWM302355U (en) 2006-06-09 2006-12-11 Jia-Bau Jeng Fixation and cushion structure of knee joint
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US20100211690A1 (en) 2009-02-13 2010-08-19 Digital Fountain, Inc. Block partitioning for a data stream
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
JP2008011404A (ja) 2006-06-30 2008-01-17 Toshiba Corp コンテンツ処理装置及びコンテンツ処理方法
JP4392004B2 (ja) 2006-07-03 2009-12-24 インターナショナル・ビジネス・マシーンズ・コーポレーション パケット回復のための符号化および復号化技術
EP2044528A4 (en) 2006-07-20 2013-03-06 Sandisk Technologies Inc CONTENT DISTRIBUTION SYSTEM
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
EP2055107B1 (en) 2006-08-24 2013-05-15 Nokia Corporation Hint of tracks relationships for multi-stream media files in multiple description coding MDC.
JP2008109637A (ja) 2006-09-25 2008-05-08 Toshiba Corp 動画像符号化装置及びその方法
US8428013B2 (en) 2006-10-30 2013-04-23 Lg Electronics Inc. Method of performing random access in a wireless communcation 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
CA2783599C (en) 2006-11-14 2013-06-25 Qualcomm Incorporated Systems and methods for channel switching
US8027328B2 (en) 2006-12-26 2011-09-27 Alcatel Lucent Header compression in a wireless communication network
WO2008086313A1 (en) 2007-01-05 2008-07-17 Divx, Inc. Video distribution system including progressive playback
US20080168516A1 (en) 2007-01-08 2008-07-10 Christopher Lance Flick Facilitating Random Access In Streaming Content
RU2009127603A (ru) 2007-01-09 2011-02-20 Нокиа Корпорейшн (Fi) Способ поддержки контроля версий файлов при исправлении файлов в mbms
US20080172430A1 (en) 2007-01-11 2008-07-17 Andrew Thomas Thorstensen Fragmentation Compression Management
WO2008084876A1 (en) 2007-01-11 2008-07-17 Panasonic Corporation Method for trick playing on streamed and encrypted multimedia
EP3041195A1 (en) 2007-01-12 2016-07-06 University-Industry Cooperation Group Of Kyung Hee University Packet format of network abstraction layer unit, and algorithm and apparatus for video encoding and decoding using the format
KR20080066408A (ko) 2007-01-12 2008-07-16 삼성전자주식회사 3차원 영상 처리 장치 및 방법
US7949195B2 (en) 2007-01-16 2011-05-24 Cisco Technology, Inc. Per block breakpoint determining for hybrid variable length coding
US7721003B2 (en) 2007-02-02 2010-05-18 International Business Machines Corporation System and method to synchronize OSGi bundle inventories between an OSGi bundle server and a client
US20080192818A1 (en) 2007-02-09 2008-08-14 Dipietro Donald Vincent Systems and methods for securing media
US20080232357A1 (en) 2007-03-19 2008-09-25 Legend Silicon Corp. Ls digital fountain code
JP4838191B2 (ja) 2007-05-08 2011-12-14 シャープ株式会社 ファイル再生装置、ファイル再生方法、ファイル再生を実行させるプログラム及びそのプログラムを記録した記録媒体
JP2008283571A (ja) 2007-05-11 2008-11-20 Ntt Docomo Inc コンテンツ配信装置、コンテンツ配信システム、およびコンテンツ配信方法
US8275002B2 (en) 2007-05-14 2012-09-25 Samsung Electronics Co., Ltd. Broadcasting service transmitting apparatus and method and broadcasting service receiving apparatus and method for effectively accessing broadcasting service
JP5317223B2 (ja) 2007-05-16 2013-10-16 トムソン ライセンシング 信号を符号化および復号する方法および装置
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
EP2501137A3 (en) 2007-06-11 2012-12-12 Samsung Electronics Co., Ltd. Method and apparatus for generating header information of stereoscopic image
CN101690118B (zh) 2007-06-20 2013-08-28 艾利森电话股份有限公司 用于改进的媒体会话管理的方法和设备
WO2009001313A2 (en) 2007-06-26 2008-12-31 Nokia Corporation System and method for indicating temporal layer switching points
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
JP5027305B2 (ja) 2007-09-12 2012-09-19 デジタル ファウンテン, インコーポレイテッド 信頼できる通信を可能にするためのソース識別情報の生成および伝達
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
KR101446359B1 (ko) 2007-10-09 2014-10-01 삼성전자주식회사 이동 통신 시스템에서 맥 프로토콜 데이터 유닛의 생성과 분리 장치 및 방법
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
WO2009065526A1 (en) 2007-11-23 2009-05-28 Media Patents S.L. A process for the on-line distribution of audiovisual contents with advertisements, advertisement management system, digital rights management system and audiovisual content player provided with said systems
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
JP5221753B2 (ja) 2008-04-14 2013-06-26 エルジー エレクトロニクス インコーポレイティド ランダムアクセス手順を行う方法及び装置
US20100049865A1 (en) 2008-04-16 2010-02-25 Nokia Corporation Decoding Order Recovery in Session Multiplexing
WO2009130561A1 (en) 2008-04-21 2009-10-29 Nokia Corporation Method and device for video coding and decoding
JP5847577B2 (ja) 2008-05-07 2016-01-27 デジタル ファウンテン, インコーポレイテッド より低いレベルのパケット構造から導かれる記号識別子を用いた放送チャネル上の高品質ストリーム保護
US7979570B2 (en) 2008-05-12 2011-07-12 Swarmcast, Inc. Live media delivery over a packet-based computer network
JP5022301B2 (ja) 2008-05-19 2012-09-12 株式会社エヌ・ティ・ティ・ドコモ プロキシサーバおよび通信中継プログラム、並びに通信中継方法
CN101287107B (zh) 2008-05-29 2010-10-13 腾讯科技(深圳)有限公司 媒体文件的点播方法、系统和设备
US7925774B2 (en) 2008-05-30 2011-04-12 Microsoft Corporation Media streaming using an index file
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
CN104702960B (zh) 2009-01-26 2018-01-02 汤姆森特许公司 用于视频解码的装置
JP5406942B2 (ja) 2009-01-29 2014-02-05 ドルビー ラボラトリーズ ライセンシング コーポレイション 立体画像である複数の画像をサブサンプリング及びインタリーブする方法及び装置
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
KR20120015443A (ko) 2009-04-13 2012-02-21 리얼디 인크. 향상된 해상도의 스테레오스코픽 비디오의 엔코딩, 디코딩 및 배포
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
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
US20120151302A1 (en) 2010-12-10 2012-06-14 Qualcomm Incorporated Broadcast multimedia storage and access using page maps when asymmetric memory is used
CN102835150B (zh) 2009-09-02 2015-07-15 苹果公司 用于无线系统的mac分组数据单元构造
US20110096828A1 (en) 2009-09-22 2011-04-28 Qualcomm Incorporated Enhanced block-request streaming using scalable encoding
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US9438861B2 (en) 2009-10-06 2016-09-06 Microsoft Technology Licensing, Llc Integrating continuous and sparse streaming data
JP2011087103A (ja) 2009-10-15 2011-04-28 Sony Corp コンテンツ再生システム、コンテンツ再生装置、プログラム、コンテンツ再生方法、およびコンテンツサーバを提供
EP3220281A1 (en) 2009-11-04 2017-09-20 Amotech Co., Ltd. System and method for media content streaming
KR101786051B1 (ko) 2009-11-13 2017-10-16 삼성전자 주식회사 데이터 제공 방법 및 장치와 데이터 수신 방법 및 장치
KR101786050B1 (ko) 2009-11-13 2017-10-16 삼성전자 주식회사 데이터 전송 방법 및 장치
CN101729857A (zh) 2009-11-24 2010-06-09 中兴通讯股份有限公司 一种接入视频服务的方法及视频播放系统
KR101401183B1 (ko) 2009-12-11 2014-05-29 노키아 코포레이션 스트리밍 미디어 파일의 표현을 기술하고 타이밍하기 위한 장치 및 방법
JP5996439B2 (ja) 2010-02-19 2016-09-21 テレフオンアクチーボラゲット エルエム エリクソン(パブル) Httpストリーミングにおける表現切り替えのための方法及び装置
CA2786257C (en) 2010-02-19 2018-03-06 Telefonaktiebolaget L M Ericsson (Publ) Method and arrangement for adaptation in http streaming
JP5071495B2 (ja) 2010-03-04 2012-11-14 ウシオ電機株式会社 光源装置
ES2845643T3 (es) 2010-03-11 2021-07-27 Electronics & Telecommunications Res Inst Método y aparato de emisión y recepción de datos en un sistema MIMO
US20110280311A1 (en) 2010-05-13 2011-11-17 Qualcomm Incorporated One-stream coding for asymmetric stereo video
US9497290B2 (en) 2010-06-14 2016-11-15 Blackberry Limited Media presentation description delta file for HTTP streaming
US8918533B2 (en) 2010-07-13 2014-12-23 Qualcomm Incorporated Video switching for streaming video data
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
US9131033B2 (en) 2010-07-20 2015-09-08 Qualcomm Incoporated Providing sequence data sets for streaming video data
KR20120010089A (ko) 2010-07-20 2012-02-02 삼성전자주식회사 Http 기반의 멀티미디어 스트리밍 서비스의 품질 향상을 위한 방법 및 장치
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US8711933B2 (en) 2010-08-09 2014-04-29 Sony Computer Entertainment Inc. Random access point (RAP) formation using intra refreshing technique in video coding
US9319448B2 (en) 2010-08-10 2016-04-19 Qualcomm Incorporated Trick modes for network streaming of coded multimedia data
KR101737325B1 (ko) 2010-08-19 2017-05-22 삼성전자주식회사 멀티미디어 시스템에서 멀티미디어 서비스의 경험 품질 감소를 줄이는 방법 및 장치
US8615023B2 (en) 2010-10-27 2013-12-24 Electronics And Telecommunications Research Institute Apparatus and method for transmitting/receiving data in communication system
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
US20120208580A1 (en) 2011-02-11 2012-08-16 Qualcomm Incorporated Forward error correction scheduling for an improved radio link protocol
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

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007536834A (ja) * 2004-05-07 2007-12-13 デジタル ファウンテン, インコーポレイテッド ファイルダウンロードおよびストリーミングのシステム
JP2009510949A (ja) * 2005-09-28 2009-03-12 クゥアルコム・インコーポレイテッド 復号エラーの早期検出システム
JP2012138912A (ja) * 2005-09-28 2012-07-19 Qualcomm Inc 復号エラーの早期検出システム
US8867336B2 (en) 2005-09-28 2014-10-21 Qualcomm Incorporated System for early detection of decoding errors
JP2015039201A (ja) * 2005-09-28 2015-02-26 クゥアルコム・インコーポレイテッドQualcomm Incorporated 復号エラーの早期検出システム
JP2009527949A (ja) * 2006-02-21 2009-07-30 デジタル ファウンテン, インコーポレイテッド 通信システムのための多体ベース符号の生成器および復号化器
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
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data

Also Published As

Publication number Publication date
TW200301623A (en) 2003-07-01
TWI280748B (en) 2007-05-01
WO2003056703A1 (en) 2003-07-10
CN1620760A (zh) 2005-05-25
US9236976B2 (en) 2016-01-12
US20060262877A1 (en) 2006-11-23
EP2317653B1 (en) 2020-02-12
CN1620760B (zh) 2014-02-26
EP2315356A1 (en) 2011-04-27
US7720174B2 (en) 2010-05-18
EP2369746A3 (en) 2012-09-26
EP2369746A2 (en) 2011-09-28
US20110019769A1 (en) 2011-01-27
US20080309525A1 (en) 2008-12-18
EP2315356B1 (en) 2020-02-12
EP2317653A2 (en) 2011-05-04
US7068729B2 (en) 2006-06-27
US20030058958A1 (en) 2003-03-27
EP2315357A3 (en) 2013-04-10
EP1468497A1 (en) 2004-10-20
KR20040088034A (ko) 2004-10-15
EP2317653A3 (en) 2012-08-22
JP4157041B2 (ja) 2008-09-24
AU2002359873A1 (en) 2003-07-15
EP2369746B1 (en) 2022-04-06
EP2315357A2 (en) 2011-04-27
US7711068B2 (en) 2010-05-04
KR100924295B1 (ko) 2009-10-30
EP1468497A4 (en) 2005-05-11

Similar Documents

Publication Publication Date Title
JP4157041B2 (ja) 通信システムのための多段符号発生器及び復号器
EP1241795B1 (en) Method and system for transmitting and receiving information using chain reaction codes
CA2359534C (en) Information additive group code generator and decoder for communication systems
JP2010239625A (ja) 連鎖的暗号化反応の系統的記号化および復号化

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051003

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20051003

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070831

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20071127

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20071204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080225

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080710

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110718

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4157041

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110718

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120718

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130718

Year of fee payment: 5

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

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

EXPY Cancellation because of completion of term