JP2014505450A - フレキシブルなソースブロックのマッピングを伴う伸縮性符号を使用した符号化および復号 - Google Patents

フレキシブルなソースブロックのマッピングを伴う伸縮性符号を使用した符号化および復号 Download PDF

Info

Publication number
JP2014505450A
JP2014505450A JP2013553619A JP2013553619A JP2014505450A JP 2014505450 A JP2014505450 A JP 2014505450A JP 2013553619 A JP2013553619 A JP 2013553619A JP 2013553619 A JP2013553619 A JP 2013553619A JP 2014505450 A JP2014505450 A JP 2014505450A
Authority
JP
Japan
Prior art keywords
source
symbols
block
symbol
blocks
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
JP2013553619A
Other languages
English (en)
Other versions
JP5863200B2 (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 JP2014505450A publication Critical patent/JP2014505450A/ja
Application granted granted Critical
Publication of JP5863200B2 publication Critical patent/JP5863200B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/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
    • 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
    • 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
    • H04L1/0042Encoding specially adapted to other signal generation operation, e.g. in order to reduce transmit distortions, jitter, or to improve signal shape
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/007Unequal error protection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0086Unequal error protection

Landscapes

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

Abstract

ソースシンボルをベースブロックに割り当て、ベースブロックをソースブロックに割り当て、各ソースブロックを符号化シンボルに符号化することによって、データを符号化することができ、この場合、少なくとも一対のソースブロックは、対の両方のソースブロックと共通する少なくとも1つのベースブロック、および対の他方のソースブロックと共通しない少なくとも1つのベースブロックを有するようになる。あるソースブロックの符号化は、他のソースブロックの内容と無関係であり得る。元のソースシンボルを有する所望のセットをすべてリカバリするために復号することを、複数のソースブロックからの符号化シンボルを有するセットから行うことができ、この場合、第1のソースブロックからの符号化シンボルの量は、第1のソースブロックにおけるソースデータの量を下回り、第2のソースブロックについても同様である。

Description

相互参照
本特許出願は、各々が本明細書と同時に出願された、本出願の譲受人に譲渡され、参照により本明細書に明確に組み込まれる以下の同時係属米国特許出願に関する。
代理人整理番号第092888U1号を有するMark Watsonらによる「Framing for an Improved Radio Link Protocol Including FEC」と題する米国特許出願、および
代理人整理番号第092888U2号を有するMichael G.Lubyらによる「Forward Error Correction Scheduling for an Improved Radio Link Protocol」と題する米国特許出願。
以下の発行された特許は、すべての目的のために参照により本明細書に明確に組み込まれる。
2005年6月21日に発行されたShokrollahiらに対する「Systematic Encoding and Decoding of Chain Reaction Codes」と題する米国特許第6,909,383号(以下「Shokrollahi-Systematic」)、および
2005年2月15日に発行されたShokrollahiらに対する「Systems and Processes for Decoding Chain Reaction Codes Through Inactivation」と題する米国特許第6,856,263号(以下「Shokrollahi-Inactivation」)。
本開示は、一般に、喪失および/または誤りが予想される中、時間的かつ/または空間的にチャネルを通じて送信するデータを符号化し、当該データを復号するための方法、回路、装置およびコンピュータプログラムコードに関し、より詳細には、他のソースブロックと部分的または全体的に重複し得るソースブロックを使用してデータを符号化するための方法、回路、装置およびコンピュータプログラムコードに関する。
通信チャネルを通じた送信側と受信側との間でのファイルの送信は、多くの文献の主題となっている。好ましくは、受信側は、送信側によってチャネルを通じて送信されたデータの完璧なコピーを、あるレベルの確かさで受信することを望む。チャネルの忠実度が完全ではない場合(ほとんどすべての物理的に実現可能なシステムが該当する)、1つの問題は、送信中に消失したか歪められたデータをどのように扱うかということである。消失したデータ(喪失)は、破損したデータ(誤り)よりも扱いが容易であることが多い。それは、破損したデータが誤って受信されたデータであると、受信側が常に見分けることはできないからである。多くの誤り訂正符号が、喪失および/または誤りを訂正するために開発されてきた。通常、使用される具体的な符号は、データの送信に使われるチャネルの非忠実度、および送信されたデータの性質についての何らかの情報に基づいて、選択される。たとえば、チャネルの非忠実である期間が長いとわかっている場合、そのような用途にはバースト誤り符号が最適であり得る。短く頻繁ではない誤りしか予想されない場合には、単純なパリティ符号が最善であり得る。
特定の適用例では、2つ以上のサービスレベルを扱う必要がある。たとえば、放送事業者は、2つのサービスレベルをブロードキャストすることがあり、この場合、ただ1つのレベルを受信することが可能なデバイスは許容可能なデータセットを受信し、第1のレベルおよび第2のレベルを受信することが可能なデバイスは第2のレベルを使用して、第1のレベルのデータを改善する。これの一例はFMラジオであり、この場合、モノラル信号を受信するだけであるデバイスもあれば、モノラル信号およびステレオ信号を受信するデバイスもある。この方式の1つの特性は、上位レイヤは通常、下位レイヤがなければ有用ではないことである。たとえば、ラジオが二次的なステレオ信号を受信したが、ベース信号を受信していない場合、それは特に有用であるとは認められない一方、これと反対のことが生じ、一次レベルが受信されたが、二次レベルが受信されていない場合、少なくともある程度有用な信号が提供され得る。このために、一次レベルは二次レベルよりも保護に値すると考えられることが多い。FMラジオの例では、一次信号は、より頑強になるように、二次信号の場合よりもベースバンドに近接して送られる。
同様の概念がデータトランスポートおよびブロードキャストシステムに存在し、この場合、データトランスポートの第1のレベルが基本信号に対するものであり、第2のレベルが拡張レイヤに対するものである。一例としてH.264Scalable Video Coding(SVC)があり、拡張レイヤとともにH.264ベース準拠ストリームが送られる。一例として、1メガビット/秒(mbps)のベースレイヤおよび1mbpsの拡張レイヤがある。一般に、受信機がベースレイヤのすべてを復号することができる場合、受信機は有用な出力を提供することができ、受信機が拡張レイヤのすべてを復号するができる場合、受信機は改善された出力を提供することができるが、受信機がベースレイヤのすべてを復号することはできない場合、拡張レイヤを復号しても、通常は何ら有用なものはもたらされない。
送信されたデータをリカバリする受信機の能力を高めるために、前方向誤り訂正(「FEC」)が使われることが多い。FECにより、送信機、または送信機のために動作する何らかの演算、モジュールもしくはデバイスは、送信されるデータを符号化し、それにより受信機は、喪失および/または誤りが存在する場合でも、送信された符号化データから元のデータをリカバリすることができる。
1つのレイヤの消失の影響が別のレイヤの場合と異なるので、レイヤごとに異なるコーディングが使用されることがある。たとえば、ベースレイヤのデータが、ベースレイヤにおけるデータのFECコーディングを表す追加データとともに送信され、次いで拡張レイヤのデータが、ベースレイヤおよび拡張レイヤにおけるデータのFECコーディングを表す追加データとともに送信され得る。この手法では、後者のFECコーディングは、受信機においてベースレイヤが正常に復号され得ることをさらに保証することができる。
そのような階層化された手法はいくつかの適用例では有用であることもあるが、他の適用例では非常に限定的であり得る。たとえば、上記の手法は、レイヤのうちの1つから生成されたいくつかの符号化シンボルおよび2つ以上のレイヤの組合せから生成された他の符号化シンボルを使用する2つ以上のレイヤの結合の効果的復号には非実用的であり得る。
米国特許第6,307,487号 米国特許第7,068,729号
ソースシンボルをベースブロックに割り当て、ベースブロックをソースブロックに割り当て、各ソースブロックを符号化シンボルに符号化することによって、データを符号化することができ、この場合、少なくとも一対のソースブロックは、対の両方のソースブロックと共通する少なくとも1つのベースブロック、および対の他方のソースブロックと共通しない少なくとも1つのベースブロックを有するようになる。あるソースブロックの符号化は、他のソースブロックの内容と無関係であり得る。元のソースシンボルを有する所望のセットをすべてリカバリするために復号することを、複数のソースブロックからの符号化シンボルを有するセットから行うことができ、この場合、第1のソースブロックからの符号化シンボルの量は、第1のソースブロックにおけるソースデータの量を下回り、第2のソースブロックについても同様である。
特定の実施形態では、エンコーダは、ソースシンボルを符号化シンボルに符号化することができ、デコーダは、適切な数の符号化シンボルからそれらのソースシンボルを復号することができる。各ソースブロックからの符号化シンボルの数は、当該ソースブロックにおけるソースシンボルの数よりも少なくてよく、それでも完全な復号が可能であり得る。
第1のソースブロックが第1のベースブロックを含み、第2のソースブロックが第1のベースブロックおよび第2のベースブロックを含むより具体的な実施形態では、デコーダは、第1のソースブロックからの符号化シンボルを有するセットおよび第2のソースブロックからの符号化シンボルを有するセットから第1のベースブロックおよび第2のベースブロックをすべてリカバリすることができ、この場合、第1のソースブロックからの符号化シンボルの量は、第1のソースブロックにおけるソースデータの量を下回り、第2のソースブロックについても同様であり、復号プロセスにおけるシンボル演算の数は、第2のソースブロックにおけるソースシンボルの数の平方よりもかなり少ない。
本発明の態様による、伸縮性符号を使用する通信システムのブロック図である。 本発明の態様による、伸縮性符号を使用する受信機の一部として使用されるデコーダの一例のブロック図である。 図1に示すエンコーダまたはエンコーダアレイにおける1つのエンコーダユニットであり得るエンコーダをより詳細に示す図である。 伸縮性符号によるソースブロックマッピングの一例を示す図である。 プレフィックス符号およびG=4である伸縮性符号を示す図である。 修復シンボルのブロックによる演算を示す図である。
付録Aとして添付されているのは、喪失チャネルに関するSlepian-Wolfタイプの問題を提示する文書であり、これはエンコーダ/デコーダシステムの特定の実施形態を伴い、使用される本発明の詳細を時々示しており、いくつかの実際の適用例、たとえばストリーミングにおけるいくつかの特別なケースおよび代替解も含む。付録Aで説明する特定の実施形態は本発明の限定的な例ではないこと、および本発明の態様のうち、付録Aの教示を使用する態様もあれば、使用しない態様もあることを理解されたい。付録Aにおける限定的な記述は特定の実施形態の要件に対する限定であることがあり、そのような限定的な記述は特許請求される発明に関係することも関係しないこともあり、したがって特許請求の文言はそのような限定的な記述によって限定される必要はないことも理解されたい。
理解を容易にするために、図に共通する同じ要素を区別するために必要に応じてサフィックスが追加される場合を除いて、そのような要素を示すために可能な場合には同じ参照番号が使用されている。図面における画像は、説明の目的で簡略化されており、必ずしも一定の縮尺で図示されているとは限らない。
添付の図面は、本開示の例示的な構成を示しており、したがって、他の同等に効果的な構成を認め得る本開示の範囲を限定するものと考えるべきではない。相応して、いくつかの構成の特徴は、さらなる説明なしに他の構成に有利に組み込まれ得ることが企図されている。
本発明は、送信される特定のタイプのデータに限定されない。しかしながら、本明細書の例では、送信され得るデータは一連の1つまたは複数のソースシンボルによって表されると仮定され、各ソースシンボルは時々ビットで測られる特定のサイズを有すると仮定される。必要条件ではないが、これらの例では、ソースシンボルのサイズは符号化シンボルのサイズでもある。シンボルが実際にビットストリームへと分解されるかどうかにかかわらず、シンボルの「サイズ」はビットで測ることができ、シンボルが2M個のシンボルのアルファベットから選択される場合、シンボルのサイズはMビットである。
本明細書で使用する用語では、伝達されるデータはソースシンボルの数によって表され、その数を表すためにKが使用される。場合によっては、Kは事前に知られている。たとえば、伝達されるデータが、未知のサイズを有するファイルであり、そのサイズがソースシンボルのサイズの整数倍であるとき、Kは単にその倍数の整数である。一方、Kが送信前に知られていない場合や、送信がすでに開始された後まで知られていない場合もある。たとえば、送信機がデータストリームを送信しているとき、送信機はデータを受信し、データストリームがいつ終了し得るかを示す指示を有さないことがある。
エンコーダは、ソースシンボルに基づいて符号化シンボルを生成する。ここでは、符号化シンボルの数をNと呼ぶことが多い。KによりNが固定される場合、符号化プロセスは符号レートr=K/Nを有する。情報理論によれば、すべてのソースシンボル値が同等に見込まれる場合、K個のソースシンボルを完全にリカバリするには、少なくともK個の符号化シンボルを受信する必要があり(ソースシンボルおよび符号化シンボルのサイズが同じであると仮定した場合)、それによってK個のソースシンボルをすべてリカバリすることができる。したがって、FECを使用した符号レートは通常、1未満である。多くの場合、符号レートが低くなると冗長性が増し、ひいては信頼性が増すが、その代償として帯域幅が低下し、場合によっては計算作業が増大する。符号化シンボル1つについて、いくつかの符号は他の符号よりも多くの計算を必要とし、多くの適用例において、符号化および/または復号の計算コストは、有用な実装形態と扱いにくい実装形態との差を意味する。
各ソースシンボルは、値および送信されるデータ内における位置を有し、送信機および/もしくは受信機、コンピュータ可読メモリまたは他の電子ストレージの中の様々な場所に記憶されてよく、特定のソースシンボルの値の表現が内包される。同様に、各符号化シンボルは値およびインデックスを有し、後者はある符号化シンボルを別の符号化シンボルから区別するためのものであり、各符号化シンボルはまた、コンピュータ可読形態または電子的可読形態で表され得る。したがって、しばしばシンボルおよびその物理的表現が説明において互換的に使用され得ることを理解されたい。
システマティックエンコーダでは、ソースシンボルは符号化シンボルの一部であり、ソースシンボルではない符号化シンボルは、修復シンボルと呼ばれることがあり、その理由は、それらがデコーダにおいて、消失または誤りによるダメージを「修復」するために使用され得ること、すなわち、消失したソースシンボルのリカバリを支援し得ることにある。使用される符号に応じて、ソースシンボルは、すべて修復シンボルであるか、一部がソースシンボルで一部が修復シンボルであり得る受信符号化シンボルから完全にリカバリすることができる。非システマティックエンコーダでは、符号化シンボルはソースシンボルの一部を含み得るが、符号化シンボルのすべてが修復シンボルであることもある。システマティックエンコーダおよび非システマティックエンコーダに別個の専門用語を使用しなくてすむように、「ソースシンボル」という用語は、宛先に送信または提供されるデータを表すシンボルを指し、「符号化シンボル」という用語は、それらの符号化シンボルがソースシンボルであるか修復シンボルであるかを問わず、誤りまたは消失に直面した場合のリカバリ可能性を高めるためにエンコーダによって生成されるシンボルを指すことを理解されたい。場合によっては、ソースシンボルはエンコーダにデータを提示する前に前処理され、その場合、エンコーダへの入力は、ソースシンボルと区別するために「入力シンボル」と呼ばれることがある。デコーダが入力シンボルを復号するとき、一般に追加のステップが、一般にデコーダの最終目標であるソースシンボルに至るために必要とされる。
1つの効率的な符号として単純なパリティ検査符号があるが、その頑強さは十分でないことが多い。使用され得る別の符号として、本出願の譲受人に譲渡され、参照により本明細書に明確に組み込まれるLubyに対する米国特許第6,307,487号(以下「Luby I」)で説明される連鎖反応符号、および本出願の譲受人に譲渡され、参照により本明細書に明確に組み込まれるShokrollahiらに対する米国特許第7,068,729号(以下「Shokrollahi I」)で説明されるマルチステージ連鎖反応などのレートレス符号がある。
本明細書で使用する「ファイル」という用語は、1つまたは複数のソースに記憶され、1つまたは複数の宛先に1つの単位として供給される任意のデータを指す。したがって、ファイルサーバまたはコンピュータ記憶デバイスからの文書、画像、およびファイルはすべて、供給され得る「ファイル」の例である。ファイルは既知のサイズを有する(ハードディスクに記憶された1メガバイトの画像など)ことも、未知のサイズを有する(ストリーミングソースの出力から取られたファイルなど)こともある。どちらにしても、ファイルは一連のソースシンボルであり、各ソースシンボルはファイル内における位置および値を有する。
本明細書で使用する「ファイル」という用語は、位置の線形セットへの編成または順序付けが行われないが、データが多次元における順序付けを有し得ることを表し得る、送信される他のデータ、たとえば、平面マップデータ、または時間軸に沿って、かつ他の軸に沿って優先度に従って編成されるデータ、たとえば、階層化され、提示のために互いに依存する複数のレイヤを有するビデオストリーミングデータを指すこともある。
送信は、ファイルを供給するためにチャネルを通じて1つまたは複数の送信側から1つまたは複数の受信側にデータを送信するプロセスである。送信側は送信機と呼ばれることがあることもある。1つの送信側が完全なチャネルによって任意の数の受信側につながっている場合、データはすべて正しく受信されるので、受信データは入力ファイルの完璧なコピーであり得る。ここでは、現実世界のチャネルの多くがそうであるように、チャネルは完全ではないと仮定する。多くのチャネルの不完全性のうち、注目される2つの不完全性はデータ喪失およびデータ不完全性(これはデータ喪失の特別なケースとして扱われ得る)である。データ喪失は、チャネルがデータを消失するときか、落とすときに生じる。データ不完全性は、受信側がデータの一部がすでに通り過ぎた状態になるまでデータの受信を開始しないとき、受信側が伝送終了前にデータの受信を停止したとき、受信側が伝送データの一部分のみを受信することを選択したとき、および/または受信側がデータの受信を間欠的に停止し、再び開始したときに生じる。
パケットネットワークが使用される場合、1つもしくは複数のシンボル、または場合によってはシンボルの部分が伝送用にパケットに含まれ、各パケットは正しく受信されているか、まったく受信されていないと仮定される。伝送は、受信側および送信側が障害に直面して、受信側が結果に満足するまで互いに連絡するという点で「信頼できる」ことがあり、または受信側が送信側によって提供されたものに対処しなければならず、結果的に失敗することがあるという点で「信頼できない」ことがある。FECにより、送信機は伝送途中に消失し得る情報を補うために追加情報などを提供することによってデータを符号化し、FEC符号化は通常、誤りを実際に知る前に実行され、事前に誤りを防止しようとする。
一般に、通信チャネルは、データ伝送のために送信側と受信側とをつなぐものである。通信チャネルは、チャネルがデータを取得するとデータを送信側から受信側に移動させるリアルタイムチャネルであることがあり、または通信チャネルは、送信側から受信側への伝送途中にデータの一部または全部を記憶する記憶チャネルであることがある。後者の例は、ディスクストレージまたは他の記憶デバイスである。この例では、データを生成するプログラムまたはデバイスは、送信側として、データを記憶デバイスに送信すると考えられ得る。受信側は、記憶デバイスからデータを読み取るプログラムまたはデバイスである。送信側が記憶デバイスにデータを入れるために使用する機構、記憶デバイス自体、および受信側が記憶デバイスからデータを取得するために使用する機構は集合的にチャネルを形成する。それらの機構または記憶デバイスがデータを消失する可能性がある場合、それは通信チャネルにおけるデータ喪失として扱われる。
「喪失符号(erasure code)」は、K個のソースシンボルを有するセットを、符号化シンボルを有するより大きい(>K)セットにマップする符号であり、元のソースシンボルが符号化シンボルのいくつかの適正なサブセットからリカバリされ得るという特性がある。エンコーダは、提供されたソースシンボルから符号化シンボルを生成するように動作し、喪失符号(エンコーダはその喪失符号を提供されるか、その喪失符号を実現するようにプログラムされる)に従ってそのように動作する。喪失符号が有用である場合、元のソースシンボル(または場合によっては、完全なリカバリには至らないが、特定の用途の必要性を満たすのに十分なレベル)は、たまたま受信機/デコーダで受信された符号化シンボルのサブセットから、当該サブセットのサイズがソースシンボルのサイズ以上である場合にはリカバリが可能であり(「理想的な」符号)、または少なくともこれは、適度に高い確率で当てはまるはずである。実際には、「シンボル」は通常、バイトの集合、場合によって数百バイトであり、すべてのシンボル(ソースシンボルおよび符号化シンボル)はサイズが同じである。
「ブロック喪失符号(block erasure code)」は、ソースシンボルの特定の独立サブセット(「ブロック」)を有するセットの中の1つを各符号化シンボルにマップする喪失符号である。符号化シンボルを有するセットが1つのブロックから生成されるとき、それらの符号化シンボルは、その1つのブロックをリカバリするために互いに組み合わされて使用され得る。
ある符号化シンボルの「範囲」は、当該符号化シンボルが生成される際の元になるブロック、および当該符号化シンボルを使用し、他の符号化シンボルを組み合わせて使用して復号する対象となるブロックである。
所与の符号化シンボルの「近傍セット」は、符号化シンボルが直接依存するソースシンボルのブロック内のソースシンボルを有するセットである。近傍セットは、符号化シンボルの範囲の非常にスパースなサブセットであり得る。連鎖反応符号(たとえば、LT符号)、LDPC符号、およびマルチステージ連鎖反応符号(たとえば、Raptor符号)を含む多くのブロック喪失符号は、効率性などの理由から、符号化シンボルを生成するためにスパース技法を使用する。スパース性の測定の一例は、ブロック内のシンボル数に対する符号化シンボルが依存する近傍セット内のシンボル数の比率である。たとえば、1つのブロックが256個のソースシンボルを含み(k=256)、各符号化シンボルがそれらの256個のソースシンボルの2個と5個との間のXORである場合、比率は2/256と5/256との間になる。同様に、K=1024であり、各符号化シンボルがちょうど3個のソースシンボルの関数である(すなわち、各符号化シンボルの近傍セットがちょうど3個のメンバーを有する)場合、比率は3/1024である。
Raptor符号のようないくつかの符号の場合、符号化シンボルは、ブロックのソースシンボルから直接生成されず、代わりに他の中間シンボルから生成され、かかる中間シンボル自体は、ブロックのソースシンボルから生成される。いずれの場合も、Raptor符号の場合、近傍セットは、これらの符号化シンボルの(ブロック内のソースシンボルの数に等しい)範囲のサイズよりもはるかに小さいことがある。これらの場合、効率的な符号化および復号が問題であり、得られる符号構成はスパースであり、符号化シンボルの近傍セットは、その範囲よりもはるかに小さいことがあり、異なる符号化シンボルは、同じ範囲から生成されるときでも、異なる近傍セットを有し得る。
ブロック喪失符号のブロックは独立しているので、1つのブロックから生成された符号化シンボルを使用して、異なるブロックからのシンボルをリカバリすることはできず、その理由は、それらが当該他のブロックに関する情報を一切内包していないことにある。一般に、符号の設計、そのような独立ブロック喪失符号のエンコーダおよびデコーダは、符号の性質に起因して一定の方法で振る舞う。エンコーダ/デコーダが非独立ブロック(すなわち、あるブロックの範囲が別のブロックの範囲と重複し得る場合)に対応するように変更されただけである場合、重複ブロックから生成された符号化シンボルを、ブロックの集合からソースシンボルを効率的にリカバリするように使用することはできない、すなわち、復号プロセスは、重複ブロックを復号するために使用されるときの符号化シンボルの小さい近傍セットの効率的使用に対応しない。結果として、重複ブロックの復号に適用されるときのブロック喪失符号の復号効率は、設計目的、すなわち、独立ブロックの復号に適用されるときのこれらの符号の復号効率よりもはるかに悪い。
「システマティック符号(systematic code)」は、符号化シンボルを有するセットがソースシンボル自体を内包する符号である。この文脈では、区別はソースシンボルと「修復シンボル(repair symbol)」との間で行われることがあり、後者は、ソースシンボルとマッチングする符号化シンボル以外の符号化シンボルを指す。システマティック符号が使用され、符号化シンボルのすべてが正しく受信された場合、余剰分(修復シンボル)は受信機で必要とされないが、いくつかのソースシンボルが伝送途中で消失または喪失した場合、修復シンボルを使用してそのような状況を修復し、それにより、デコーダは紛失したソースシンボルをリカバリすることができる。符号化シンボルが修復シンボルを含み、ソースシンボルが直接的には符号化シンボルの一部ではない場合、符号は「非システマティック」と考えられる。
これらの定義を念頭に、次に様々な実施形態について説明する。
伸縮性符号(Elastic Code)のためのエンコーダ/デコーダの概要
エンコーダでは、符号化シンボルがソースシンボル、入力パラメータ、符号化ルールおよび場合によっては他の考慮事項から生成される。本明細書で説明するブロックベースの符号化の例では、符号化シンボルが依存し得るソースシンボルを有するこのセットは「ソースブロック」と呼ばれ、または代替的に符号化シンボルの「範囲」と呼ばれる。エンコーダはブロックベースであるので、所与の符号化シンボルは、1つのソースブロック内のソースシンボル(および場合によっては他の詳細)にのみ依存し、または代替的にその範囲内のソースシンボルにのみ依存し、そのソースブロックまたは範囲の外にあるソースシンボルには依存しない。
ブロック喪失符号は効率的な符号化および効率的な復号を可能にするうえで有用である。たとえば、受信機が所与のソースブロックのソースシンボルをすべて正常にリカバリすると、受信機はそのソースブロック内のソースシンボルに関して符号化するすべての他の受信符号化シンボルの処理を停止し、代わりに他のソースブロックの符号化シンボルに焦点を当てることができる。
単純なブロック喪失エンコーダでは、ソースデータは固定サイズの連続する非重複ソースブロックに分割され得る、すなわち、各ソースブロックは同じ数のソースシンボルを有し、ソースブロックのレンジ内にあるソースシンボルはすべて、ソースデータ内のロケーションにおいて隣接しており、各ソースシンボルは厳密に1つのソースブロックに属する。ただし、用途によっては、そのような制約はパフォーマンスを低下させ、頑強さを低下させ、かつ/または符号化および/もしくは復号の計算作業を増大させることがある。
伸縮性喪失符号は、いくつかの点でブロック喪失符号とは異なる。第一に、伸縮性喪失符号エンコーダおよびデコーダは、重複するブロックの集合に直面したときに、より効率的に動作する。本明細書で説明する伸縮性喪失符号方法のいくつかでは、生成される符号化シンボルがスパースであり、すなわち、それらの近傍セットが、それらの範囲のサイズよりもはるかに小さく、重複する範囲(ブロック)の組合せから生成された符号化シンボルが、当該範囲の集合を復号するために使用されるとき、対応するデコーダプロセスは効率的である(復号プロセスにおいて符号化シンボルのスパース性を活用し、復号するためのシンボル演算の数は、高次の連立方程式を解くのに必要なシンボル演算の数よりもかなり少ない)とともに、受信オーバーヘッドが小さい(範囲の集合をリカバリするのに必要な符号化シンボルの数は、範囲の集合のサイズに等しいか、範囲の集合のサイズをそれほど上回らない)。たとえば、各符号化シンボルの近傍セットのサイズは、それがK個のソースシンボルを有するブロックから生成されるとき、すなわち、それが範囲Kを有するとき、Kの平方根であり得る。その場合、2つの重複するブロックの集合をそれらの2つのブロックから生成された符号化シンボルからリカバリするのに必要なシンボル演算の数は、K'(2つのブロックの集合はK'個のソースシンボルを含む)の平方よりもはるかに少ないことがある。
本明細書で説明する伸縮性喪失コーディングでは、ソースブロックは、サイズが固定である必要はなく、場合によっては隣接しないロケーションを含めることができるとともに、所与のソースシンボルが2つ以上のソースブロックによって「エンベロープされる」ようにソースブロックが重複することを許容できる。
以下で説明するエンコーダの実施形態では、符号化されるデータは順序付き複数のソースシンボルであり、エンコーダは、各ソースシンボルが1つのベースブロックによってカバーされるようなソースシンボルを表す「ベースブロック」を決定するか、または当該ベースブロックの決定、当該ベースブロックの境界を取得し、1つのソースブロックが1つまたは複数のベースブロック(およびそれらのベースブロック内のソースシンボル)をエンベロープする場合のソースブロックの決定および境界を取得する。各ソースブロックが厳密に1つのベースブロックをエンベロープする場合、結果は従来型のブロックエンコーダと似たものになる。しかしながら、コーディングにはいくつかの有用で予想外の利点があり、その場合、ソースブロックが互いに重複可能であることから、いくつかのベースブロックが2つ以上のソースブロックに存在し得ることにより、2つのソースブロックがそれらのインターセクションにおいて少なくとも1つのベースブロックを有し、2つのソースブロックの集合が、いずれか一方のソースブロックにあるソースシンボルよりも多くのソースシンボルを含む。
符号化により、一対のソースブロックの集合によって表されるソースデータの部分が、対の第1のソースブロックから生成された符号化シンボルを有する第1のセットと、対の第2のソースブロックから生成された符号化シンボルを有する第2のセットとの組合せからリカバリが可能である場合、より単純な符号化プロセスが使用される場合に求められていることがあるより少ない受信シンボルを使用して復号することが可能であり得る。この符号化プロセスでは、得られる符号化シンボルは、場合によっては、2つ以上のソースブロックのソースシンボルを効率的にリカバリするために組み合わせて使用され得る。
これがそうである理由を以下で説明するが、最初に、実装形態の例について説明する。これらの実装形態は、ハードウェア、プロセッサまたはコンピュータによって実行されるプログラムコード、汎用コンピュータで動作するソフトウェアなどで行われ得ることを理解されたい。
伸縮性符号の理想的なリカバリ特性
ブロック符号にとって、理想的なリカバリは、ブロックのK個のソースシンボルを、ブロックから生成されたK個の符号化シンボルを有する任意の受信セットからリカバリする能力を意味する。この理想的なリカバリ特性を有するブロック符号があることがよく知られている。たとえば、喪失符号として使用されるリードソロモン符号は、この理想的なリカバリ特性を示している。
同様の理想的なリカバリ特性が伸縮性符号のために定義され得る。伸縮性符号通信システムが設計され、それにより、受信機が符号化シンボルを有する何らかのセットを受信し(この場合にチャネルが符号化シンボルのうちのいくつかの消失を招いていることがあり、そのためエンコーダにおいて正確なセットを指定できないことがある)、受信機が元のソースシンボルのすべてをリカバリしようとし、この場合にエンコーダにおいて、重複する範囲を有するセットから符号化シンボルが生成されると仮定する。重複する範囲により、受信符号化シンボルは、重複するソースシンボルを有する複数のソースブロックから生成され、この場合に各受信符号化シンボルの範囲はソースブロックのうちの1つである。言い換えれば、符号化シンボルはT個のブロック(範囲)b1、b2、…、bTを有するセットから生成され、各符号化シンボルはT個のブロック(範囲)のうちの厳密に1つから生成される。
この文脈では、以下が成り立つ場合に、1≦S≦Tとなるような任意のSについて、{1, …, T}のすべてのサブセット{i1, …, iS}について、受信符号化シンボルのサブセットEからT個のブロックを有するセットをリカバリする能力として、伸縮性喪失符号の理想的なリカバリ特性について説明されることがある。1≦s≦Sとなるようなすべてのsについて、{i1, …, iS}ののすべてのサブセット{i1', …, is'}について、
のうちのいずれかから生成されたEにおけるシンボルの数は、最大でも、
の集合のサイズであり、
のうちのいずれかから生成されたEにおけるシンボルの数は、
の集合のサイズに等しい。Eは受信符号化シンボルのサブセットであってよいこと、すなわち、ブロック(範囲)を有する特定のセットがリカバリが可能であるかどうかを確認するためにこの理想的なリカバリの定義を評価するときに、いくつかの受信符号化シンボルは考慮されないことがあることに留意されたい。
理想的には、ブロック(範囲)を有するセットのリカバリは、計算上効率的であるべきであり、たとえば、復号プロセスが使用するシンボル演算の数は、二次方程式などとは異なり、リカバリの範囲の集合におけるソースシンボルの数に線形的に比例し得る。
本明細書における説明の一部は、伸縮性喪失符号の符号化、処理、復号などのための方法およびプロセスについて記述することがあり、これらが上記の理想的なリカバリ特性を実現する場合もあるが、伸縮性符号の理想的なリカバリおよび効率性の特性の近似のみが実現される場合もあり、それでもなお、伸縮性喪失符号の符号化、処理、復号などの定義内に入ると考えられることに留意されたい。
システムの概要
図1は、伸縮性符号を使用する通信システム100のブロック図である。
システム100において、伸縮性符号ブロックマッパー(「マッパー」)110は、ソースブロックに対するベースブロックのマッピングのほか、場合によってはベースブロックの境界も生成する。図1に示すように、通信システム100は、マッパー110、ソースブロックマッピング用のストレージ115、エンコーダアレイまたはエンコーダ120、符号化シンボル用のストレージ125、および送信機モジュール130を含む。
マッパー110は、様々な入力および場合によってはそこに表されるルールセットから、どのソースブロックがどのベースブロックに対応するかを判断し、対応をストレージ115に記憶する。これが確定的かつ反復可能なプロセスである場合、このマッピングを取得するために同じプロセスをデコーダにおいて実行することができるが、ランダムであるか、完全に確定的ではない場合、デコーダがマッピングを判断できるように、マッピングがどのように生じるかに関する情報を宛先に送ることができる。
図示のように、マッパー110の動作を制御するためにこの実施形態において(決して網羅的であることが要求されていない)入力のセットが使用される。たとえば、いくつかの実施形態では、マッピングは、ソースシンボル自体の値、ソースシンボルの数(K)、マッパー110の内部でもっぱら生成されるのではなく入力として提供されるベースブロック構造、受信機フィードバック、データ優先度信号、または他の入力に依存し得る。
一例として、マッパー110は、マッパー110への入力として提供されるベースブロック境界を示す特定の指示に依存するエンベロープを有するソースブロックを作成するようにプログラムされ得る。
ソースブロックマッピングは受信機フィードバックにも依存し得る。これは、受信機フィードバックが送信機にとってすぐに利用可能であり、受信機がデータの正常受信を示す場合に有用であり得る。したがって、受信機は送信機に対し、受信機がi番目のシンボルまでのすべてのソースシンボルを受信しリカバリしたことをシグナリングすることがあり、マッパー110は、i番目のシンボルの前に来た完全にリカバリしたベースブロックを除外するようにソースブロックのエンベロープを変更することによって応答することがあり、これにより送信機および受信機における計算作業および/または記憶を節減することができる。
ソースブロックマッピングは、ソースブロックまたはベースブロックによって異なるデータ優先度値をマッパー110にシグナリングするデータ優先度入力に依存し得る。これの使用例は、送信機がデータを送信しており、送信されているデータが他のデータよりも優先度が低いことを示す信号を受信するケースであって、この場合、低優先度データを犠牲にして高優先度データのコーディングおよび頑強さが増大し得る。これは、マップがロードされているときにエンドユーザが「関心対象」ポイントを移し得るマップディスプレイなどのアプリケーションにおいて、またはエンドユーザがビデオシーケンスの伝送中に早送りもしくは巻き戻しを行うビデオアプリケーションにおいて有用である。
いずれの場合も、エンコーダアレイ120は、ソースシンボル値、および送信機モジュール130による最終的送信のためにストレージ125に記憶される符号化シンボルを生成するために符号化するための他のパラメータとともにソースブロックマッピングを使用する。当然のこととして、ソースシンボル値および他の入力を読み取り、記憶される符号化シンボルを生成するソフトウェアにおいて、システム100は全面的に実装され得ることを理解されたい。ソースブロックマッピングはエンコーダアレイにとって利用可能であり、符号化シンボルは、その符号化シンボルに関連するソースブロックにないソースシンボルとは無関係であり得るので、エンコーダアレイ120は、異なるソースブロックに対してそれぞれ動作する複数の独立した動作をするエンコーダを含むことができる。適用例によっては、各符号化シンボルは、それが生成された直後に、またはほぼ直後に送られ、したがって、ストレージ125が必要ないことがあり、または符号化シンボルはほんの短い時間だけ送信前にストレージ125内に記憶され得ることも理解されたい。
次に図2を参照すると、宛先において受信機の一部として使用されるデコーダの例が示されている。図2に示されているように、受信機200は受信機モジュール210、受信符号化シンボル用のストレージ220、デコーダ230、復号ソースシンボル用のストレージ235、および対応するソースブロックマッピング用ストレージ215を含む。示されていないのは、送信機から必要とされる場合にソースブロックマッピングを作成する方法に関する情報を受信するのに必要な接続である。
受信機モジュール210は、場合によっては喪失、消失および/または紛失データを含む信号を送信機から受信し、受信信号から符号化シンボルを導出し、符号化シンボルをストレージ220に記憶する。
デコーダ230は、利用可能な符号化シンボル、ストレージ215からのソースブロックマッピングを読み取って、マッピング、利用可能な符号化シンボル、およびストレージ235内の以前に復号されたシンボルに基づいて、符号化シンボルからどのシンボルが復号され得るかを判断することができる。デコーダ230の結果はストレージ235に記憶され得る。
受信符号化シンボル用のストレージ220および復号ソースシンボル用のストレージ235は、共通のメモリ要素によって実装され得ること、すなわち、デコーダ230は、復号するために使用される受信符号化シンボルと同じ記憶エリアに復号結果を保存する場合があることを理解されたい。また本開示から、とりわけ、最初に符号化シンボルが到着したときと復号データが他のアプリケーションによって使用されるときとの間に短い遅延がある場合に、符号化シンボルおよび復号ソースシンボルがランダムアクセスメモリ(RAM)またはキャッシュなどの揮発性記憶装置に記憶され得ることも理解されたい。他のアプリケーションでは、シンボルは様々なタイプのメモリに記憶される。
図3は、図1に示すエンコーダまたはエンコーダアレイにおける1つのエンコーダユニットであり得るエンコーダ300をより詳細に示している。いずれの場合も、図示のように、エンコーダ300は、ソースシンボルの値が記憶されるシンボルバッファ305を有する。図示では、K個のソースシンボルすべてが一度に記憶可能であるが、エンコーダは、ソースシンボルすべてよりも少ないソースシンボルを有するシンボルバッファでも同等に動作し得ることを理解されたい。たとえば、符号化シンボルを生成するための所与の動作が、1ソースブロックに相当するソースシンボルか、さらには1ソースブロック全体に満たないソースシンボルだけを内包するシンボルバッファで実行され得る。
シンボルセレクタ310は、シンボルバッファ305におけるソースシンボル位置の1〜Kの中から選択し、オペレータ320は、ソースシンボルに対応するオペランドに対して演算し、それにより符号化シンボルを生成する。特定の例では、シンボルセレクタ310はスパース行列を使用して、ソースブロックまたは生成される符号化シンボルの範囲からシンボルを選択し、オペレータ320は、被選択シンボルに対する演算を、当該シンボルに対するビット単位の排他的論理和(XOR)演算によって実行して、符号化シンボルをもたらす。XOR以外の他の演算も可能である。
本明細書で使用する、特定の符号化シンボル用のオペランドであるソースシンボルは、その符号化シンボルの「近隣」と呼ばれ、所与のソースシンボルに依存するすべての符号化シンボルを有するセットは、そのソースシンボルの近傍と呼ばれる。
演算がXORであるとき、符号化シンボルの近隣であるソースシンボルは、その符号化シンボルのすべての他の近隣ソースシンボルが利用可能である場合に、符号化シンボルおよび他の近隣のXOR演算を行うことによって、その符号化シンボルからリカバリされ得る。これは他のソースシンボルを復号することを可能にし得る。他の演算も同様の機能を有し得る。
近隣関係が知られている場合、符号化関係を表すソースシンボルおよび符号化シンボルのグラフが存在する。
伸縮性符号の詳細
伸縮性符号は、ブロック符号または畳込み符号またはネットワーク符号と比べて多くの利点を有し、符号化中に受信されたフィードバックに基づいて変更するようにコーディングされる内容に容易に対応する。多くの適用場面において、たとえばデータのストリーミングのときに、時間的制約を理由にデータがすべてリカバリされ得る前にあらかじめ決められた順序でデータをリカバリすることは有用であることを考慮し、チャネルの既知の誤り状態および/またはフィードバックに基づいて、符号化が進行する中でデータの様々な部分に対してコーディングすることは有利であり得るが、ブロック符号は、データのブロック全体に対してコーディングするという要件のために限定的である。
畳込み符号は、所定のパターン化された方法でデータのストリームに修復シンボルを追加すること、たとえば、所定のパターンに基づいて所定のレートでストリームに修復シンボルを追加することによって、ストリームに対して何らかの保護を提供する。畳込み符号は、任意のソースブロック構造に対応せず、ソースデータの様々な部分から様々な量の符号化シンボルを生成する柔軟性をもたらさず、畳込み符号も、リカバリ特性や符号化および復号の効率性を含め、多くの他の形で限定される。
ネットワーク符号は様々な中間受信機を通じて送信されるデータに保護を提供し、その場合、そのような各中間受信機は、受信した内容に基づいてデータを符号化し、追加の符号化データを送信する。ネットワーク符号は、ソースブロック構造を判断する柔軟性をもたらさず、ブルートフォースよりも良好な既知の効率的な符号化および復号手順がなく、ネットワーク符号も多くの他の形で限定される。
伸縮性符号は適切なレベルのデータ保護を提供すると同時に、リアルタイムストリーミング体験に対応する、すなわち、誤り状態に対して保護するために導入されたコーディングによる現在の誤り状態を踏まえたプロセス中のレイテンシをできるだけ少なくする。
説明したように、伸縮性符号は、各符号化シンボルがソースシンボルの任意のサブセットに依存し得る符号である。一般的な伸縮性符号の1つのタイプとして伸縮性コード符号があり、この場合、ソースシンボルが順に配置され、各符号化シンボルが、連続するソースシンボルを有するセットから生成される。伸縮性コード符号については、以下でより詳細に説明する。
伸縮性符号の他の実施形態は、線形符号でもある伸縮性符号である。すなわち、この場合には各符号化シンボルが、それが依存するソースシンボルの線形和であり、GF(q)線形符号が、任意の符号化シンボルの構成におけるソースシンボルの係数が有限体GF(q)の要素である線形符号である。
本明細書で説明する伸縮性符号を使用するエンコーダおよびデコーダおよび通信システムは、レイテンシおよび帯域幅オーバーヘッドを最小化する良好な均衡をもたらす。
マルチ優先度コーディングのための伸縮性符号の使用
伸縮性符号はまた、複数の部分を含むオブジェクトを供給する必要がある通信システムにおいて有用であり、それらの部分は異なる供給特性を有することがあり、その特性は静的または動的に特定される。
静的優先度の一例として、様々な部分に区分されるデータがあり、かかる様々な部分は、当該部分に依存する優先度で供給され、この場合に様々な部分は、時間または何らかの他の因果性の次元のいずれかにおいて、互いに論理的に関係または依存し得る。この場合、プロトコルは受信側から送信側へのフィードバックを有さないこと、すなわち開ループであることがある。
動的優先度の一例として、マップの様々な部分に対するエンドユーザの焦点が動的かつ予想外に変動する中で、部分的に動的にエンドユーザに対して2次元マップ情報を供給しているプロトコルがある。この場合、配信されるマップの様々な部分の優先度は、たとえば、変化するネットワーク状態、受信側の入力もしくは関心または他の入力に応答して、プロトコルの過程におけるフィードバックに基づいて把握されるにすぎない未知の先験的優先度に基づいて変動する。たとえば、エンドユーザは、現在のマップビュー内の情報ならびに個人的好みおよび/または目的に基づいて、次にマップのどの部分を閲覧するかに関して、自らの関心事項を変えることがある。マップデータは象限(quadrant)に区分されることがあり、各象限内には様々な調整レベルがあるため、各象限のレベルごとにベースブロックが存在することがあり、ソースブロックは1つまたは複数のベースブロックの集合を含むことがあり、たとえば、1つの象限内の様々な調整レベルに関連するベースブロックの集合を含むソースブロックもあれば、1つの調整レベルの隣接象限に関連するベースブロックの集合を含むソースブロックもある。これは閉ループプロトコルの一例である。
伸縮性喪失コーディングを使用するエンコーダ
本明細書で説明するエンコーダは、データの任意のサブセットに対する符号化を許容する新規コーディングを使用する。たとえば、1つの修復シンボルが、データシンボルを有する1つのセットに対して符号化することができ、一方、第2の修復シンボルが、データシンボルを有する第2のセットに対して符号化することができ、この場合、これら2つの修復シンボルが、それらの範囲のインターセクションにある2つのソースシンボルの消失からリカバリすることができ、各修復シンボルは、自身の範囲にあるが、他方の修復シンボルの範囲にはないデータシンボルからの1つのデータシンボルの消失からリカバリすることができる。伸縮性符号の1つの利点として、伸縮性符号はリカバリ能力とエンドツーエンドレイテンシとの間の伸縮性トレードオフをもたらし得る。そのような符号の別の利点としては、優先度が様々であるデータを保護するためにそのような符号を使用することができ、この場合、最高優先度データのために提供される修復のみでは最高優先度データのリカバリに十分ではないときでも、データ全体をリカバリするためにデータ全体ために提供されるデータと最高優先度データのためにのみ提供される保護とを組み合わせることができる。
これらの符号は、フィードバックがまったくない場合およびプロトコル内にフィードバックがある場合における完全なプロトコル設計において有用である。プロトコルにフィードバックがある場合、提供される保護とコーディングによる追加のレイテンシとの最良の組合せをもたらすために、符号はフィードバックに基づいて動的に変化し得る。
ブロック符号は、単一のソース範囲を有する(各ソースシンボルがたった1つのソースブロックに属する)ことによって、伸縮性符号を使用する退化したケースと考えることができる。伸縮性符号では、ソース範囲の決定は完全に柔軟に行われてよく、ソースシンボルは複数の範囲に属することができ、ソース範囲は所定の通常のパターン以外でオンザフライで決定されること、ソースデータの基底構造によって決定されること、トランスポート状況または他の要素によって決定されることがある。
図4は、下行のボックスがソースシンボルを表し、シンボルの上でくくっている線は、ソースブロックのエンベロープを一例として示している。この例では、3つのソースブロックが存在し、したがって3つの符号化ブロックが存在することになり、かかる符号化ブロックは、ソースブロックのうちの1つをそれぞれ符号化している。この例では、ソースブロックがベースブロックから作成される際には、矢印で示されているベースブロックの境界により5つのベースブロックが存在しうる。
一般に、伸縮性符号を使用するエンコーダおよびデコーダは、ソースシンボルの各々が、1つのベースブロック内にあるが、ソースシンボルの各々が、2つ以上のソースブロックまたはソース範囲において、ソースブロックの一部が重複し、少なくとも場合によっては、完全に他のソースブロックのサブセットとなるようなことはない、すなわち、いくつかのソースシンボルを共有しながらも、ソースブロックのうちの一方に現れて他方には現れないソースシンボルを各々が有する少なくとも2つのソースブロックがある、状態で行われる。ソースブロックは、修復シンボルが生成される際の元になる単位、すなわち、修復シンボルの範囲であり、それにより、1つのソースブロックに関する修復シンボルは、当該ソースブロックにないソースシンボルとは無関係であることが可能となり、その結果、別のソースブロックの符号化シンボル、受信シンボルまたは修復シンボルにアクセスすることをデコーダに要求することなく、当該ソースブロックの符号化シンボル、受信シンボルおよび/または修復シンボルを使用してソースブロックのソースシンボルを復号できるようになる。
ソースブロックの範囲のパターンは、任意であってよく、かつ/または宛先デコーダのニーズもしくは要求に依存してよい。いくつかの実装形態では、ソース範囲はオンザフライで決定されること、ソースデータの基底構造によって決定されること、トランスポート状況によって決定されること、および/または他の要素によって決定されることがある。所与のソースブロックから生成され得る修復シンボルの数は、ソースブロックごとに同じでよく、異なってもよい。所与のソースブロックから生成される修復シンボルの数は、符号レートに基づいて固定されてよく、連鎖反応符号の場合のようにソースブロックとは無関係であってもよい。
従来型のブロック符号または連鎖反応符号の場合、ソースシンボルをリカバリするために互いに組み合わせてデコーダによって使用される修復シンボルは通常、1つのソースブロックから生成されるが、本明細書で説明する伸縮性符号の場合、修復シンボルはソースデータの任意の部分から、またソースデータの重複する部分から生成可能であり、ソースブロックに対するソースシンボルのマッピングはフレキシブルであり得る。
選択される設計に関する考慮事項
伸縮性符号の設計において、効率的な符号化および復号が主たる問題となる。たとえば、理想的な効率性は、リカバリされるソースシンボルの数において線形であるいくつかのシンボル演算を使用して復号し得る伸縮性符号に見い出されることがあり、したがって、リカバリのためにブルートフォース方法よりもかなり少ないシンボル演算を使用する任意のデコーダが好ましく、一般にブルートフォース方法は、リカバリされるソースシンボルの数において二次方程式であるいくつかのシンボル演算を必要とする。
最小受信オーバーヘッドで復号することも目標であり、この場合の「受信オーバーヘッド」は、デコーダによって必要とされる分を上回るが、前述の理想的なリカバリ特性を実現するためには必要とされる余剰符号化シンボルの数として表され得る。さらに、保証されたリカバリ、または確率が高いリカバリ、または可能性が非常に高いリカバリ、または一般に信頼性が高いリカバリが好ましい。言い換えれば、適用例によっては、目標は完全なリカバリである必要はない。
伸縮性符号はいくつかの環境において有用である。たとえば階層化コーディングでは、高優先度データのブロックを保護するために、修復シンボルを有する第1のセットが提供される一方、修復シンボルを有する第2のセットが、高優先度データのブロックと低優先度データのブロックとの組合せを保護し、その結果、高優先度データブロックが別個に符号化され、低優先度データブロックが別個に符号化された場合、復号において要求されるシンボルが少なくなる。いくつかの既知の符号は階層化コーディングをもたらすが、その代償として、重複するソースブロックの集合の効率的復号を実現できないこと、および/または信頼性が高いリカバリを実現できないことが多い。
以下で説明する伸縮性ウィンドウベースの符号は、重複するソースブロックの効率的で信頼性が高い復号を同時に実現することが可能であり、階層化コーディングの場合もそれが可能である。
ネットワークコーディングとの組合せ
別の環境では、ネットワークコーディングが使用され、この場合、元のノードがソースデータの符号化を、様々な消失パターンを経験し得る中間ノードに送り、中間ノードは宛先ノードに、受信された符号化データの部分から生成された符号化データを送る。次いで宛先ノードは、複数の中間ノードから受信した符号化データを復号することによって、元のソースデータをリカバリすることができる。伸縮性符号はネットワークコーディングプロトコル内で使用でき、この場合に得られる解は、元のソースデータの効率的で信頼性が高いリカバリをもたらす。
伸縮性コード符号の単純な構成
説明のために、伸縮性コード符号の単純な構成を提供する次のような修復シンボルを有するセットをエンコーダが生成すると仮定する。この単純な構成は、必ずしも伸縮性コード符号であるとは限らない伸縮性符号を提供するように拡張可能であり、この場合、修復シンボルおよびその近傍セットまたは範囲の識別は、ここで説明する識別の拡張である。GF(256)における要素を有するm×n行列Aを生成する。i番目の行およびj番目の列における要素をAij、ソースシンボルをSj(j= 0, 1, 2,…)で示す。次いで、任意の組(e, l, i)について、e、lおよびiは整数であり、e≧l>0および0≦i<mであり、修復シンボルRe,l,iは式1に示す値を有する。
Re,l,iを明確にするために、GF(256)の要素によるシンボルの乗算の概念およびシンボルの加算の概念を明記する必要があることに留意されたい。ここでの例では、GF(256)の要素はオクテットとして表され、各シンボルは一連のオクテットであってよく、GF(256)の一連の要素と考えられる。フィールド要素によるシンボルの乗算は、同じフィールド要素によるシンボルの各要素の乗算を伴う。シンボルの加算は単に、加算されるシンボルにおける対応するフィールド要素の和の連結から形成されるシンボルである。
所与の修復シンボルに関する式1に現れるソースシンボルを有するセットは、修復シンボルの「範囲」として知られ、それらの修復シンボルの各々に関する式1に現れる所与のソースシンボルを持つそれらの修復シンボルを有するセットは、所与のソースシンボルの「近傍」と呼ばれる。したがって、この構成では、修復シンボルの近傍セットは、修復シンボルの範囲と同じである。
そして符号の符号化シンボルは、本明細書で定義するようにソースシンボルと修復シンボルとを含む、すなわち、構成された符号はシステマティックである。
2つの異なる伸縮性符号に対応する行列Aに関する2つの代替的構成について考える。「ランダムコード符号(Random Chord Code)」の場合、Aの要素はGF(256)の非ゼロ要素から擬似ランダムに選ばれる。本明細書では全体を通して、別段に規定されていない限り、何かがランダムに選ばれるものとして説明される場合、擬似ランダム選択がその説明に含まれること、およびより一般的には、ランダム動作が擬似ランダムに実行され得ることを想定すべきであることを理解されたい。「コーシーコード符号(Cauchy Chord Code)」の場合、Aの要素は式2に示すように定義され、ここではk=255-mであり、g(x)は、オクテット表現がxである有限体要素である。
伸縮性コード符号の単純な構成を使用した符号化によるシンボルの復号
符号化シンボル自体と同様に、デコーダはシンボルごとの識別情報にアクセスすることができ、この識別情報は単にインデックスであってよい、すなわち、ソースシンボルSjの場合、識別情報はインデックスjである。修復シンボルRe,l,iの場合、識別情報は組(e, l, i)である。もちろん、デコーダは行列Aにアクセスすることもできる。
受信修復シンボルごとに、デコーダは識別情報を判断し、ソースシンボル値が既知である場合にはソースシンボル値を使用し、ソースシンボル値が未知である場合にはゼロシンボルを使用して、式1から当該修復シンボルの値を計算する。そのように計算された値が受信修復シンボルに追加されたとき、修復シンボルが正しく受信されたと仮定すると、結果は、修復シンボルの範囲または近傍にある残存する未知のソースシンボルの和である。
簡単のために、この説明では、少なくとも1つの受信修復シンボルの範囲にあるすべての未知のソースシンボルをリカバリしようとするようにプログラムされたデコーダがある。本開示を読めば、すべてに満たない分もしくはすべてを高い確率であるが確実ではない確率で、またはそれらの組合せをリカバリするようにデコーダを変更する方法が明らかになろう。
この例において、受信修復シンボルの範囲の集合にある未知のソースシンボルの数をtとし、これらの未知のソースシンボルのインデックスをj0、j1、…、jt-1とする。受信修復シンボルの数をuとし、受信修復シンボルを(任意に)R0、…、Ru-1として示す。
エントリーEpqを有するu×t行列Eを構成し、ここでEpqは、修復シンボルRpに関する式1におけるソースシンボル
の係数であるか、または
が式に現れない場合には、ゼロである。そして、ステップ1適用後に、
が紛失ソースシンボルのベクトルであり、R=(R0,…,Rμ-1)Tが受信修復シンボルのベクトルである場合、式3の式は満たされる。
R=E・S (式3)
Eがランクuを有さない場合、Eのランクを変えずに除去され得るEの行が存在する。これを除去し、uを1だけ減分し、残存する修復シンボルの番号を振り直して、式3がなお成立するようにする。Eがランクuを有するまでこのステップを繰り返す。
u=tである場合、完全な復号が可能であり、Eはフルランクの正方形であるので、可逆である。Eは可逆であるので、SはE-1Rから見い出すことができ、復号は完了する。u<tである場合、ソースシンボルのこのサブセットの追加のソースシンボルおよび/または修復シンボルの受信なしには、または何らかの他の手段によりソースシンボルに関する他の情報を得ることなしには、完全な復号は不可能である。
u<tである場合、フルランクのEのu×uサブ行列をE'とする。適切な列置換により、Eは(E'|U)と書くことができ、ここでUはu×(t-u)行列である。式3の両側にE'-1を掛けると、式4の式を得ることができ、E-1Rの行に対応するソースシンボルの解がもたらされ、ここでE'-1Uはゼロである。
E'-1・R=(I|E'-1・U)・S (式4)
式4は、さらなる修復シンボルおよび/またはソースシンボルが受信される場合に、残存するソースシンボルのより単純なリカバリを可能にする。
ソースシンボルの他の部分のリカバリは、少なくとも1つの受信修復シンボルの範囲にあるすべての未知のソースシンボルのリカバリが可能ではないときでも、可能であり得る。たとえば、いくつかの未知のソースシンボルが少なくとも1つの受信修復シンボルの範囲にあるが、未知のソースシンボルをリカバリするのに十分な修復シンボルがない場合、または修復シンボルと未知のソースシンボルとの間の式のいくつかが線形従属である場合がある。これらの場合、少なくともソースシンボルの相対的に小さいサブセットを、ソースシンボルの相対的に小さいサブセットの中にある範囲を有する修復シンボルのみを使用してリカバリすることが可能であり得る。
伸縮性コード符号の単純な構成を使用するストリームベースのデコーダ
「ストリーム」モードの動作では、ソースシンボルはストリームを形成し、修復シンボルは、修復が生成されるときにソースシンボルのサフィックスにわたって生成される。このストリームベースのプロトコルは、上述の伸縮性コード符号の単純な構成を使用する。
デコーダにおいて、ソースシンボルおよび修復シンボルは、場合によっては何らかの並べ替えが行われて1つずつ到着し、ソースシンボルまたは修復シンボルが到着するとすぐに、デコーダは、消失したソースシンボルが復号可能であるかどうかを特定し、このソースシンボルを復号し、デコーダの出力部に供給することができる。
これを達成するために、デコーダは行列(I|E'-1・U)を維持し、下記の手順に従って新しいソースシンボルまたは修復シンボルが受信されるたびにこれを更新する。
「復号行列」(I|E'-1・U)をDとする。位置(i, j)における要素をDijとし、Dのj番目の列をD*jとし、Dのi番目の行をDi*とする。
下記の手順では、デコーダは復号行列に対して様々な演算を実行する。復号を実現するために修復シンボルに対して等価演算が実行される。これらは行列演算と同時に実行され得るが、いくつかの実装形態では、これらの演算は、実際のソースシンボルが下記のシンボルリカバリ手順でリカバリされるまで先送りされる。
ソースシンボルを受信すると、ソースシンボルが、紛失したソースシンボルの1つ、
である場合、デコーダはDの対応する列を除去する。除去された列が最初のu個の列のうちの1つであった場合、デコーダは、除去された列に非ゼロ要素を有する行に関連する修復シンボルを特定する。次いでデコーダは、この修復シンボルの受信のために下記の手順を繰り返す。除去された列が最初のu個の列のうちの1つではなかった場合、デコーダは下記のシンボルリカバリ手順を実行する。
修復シンボルを受信すると、最初にデコーダは、現在は未知であり、新しい修復シンボルの範囲内にあり、Dの列にまだ関連付けられていないソースシンボルごとにDに新しい列を追加する。次にデコーダは、受信修復シンボルのためにDに新しい行Du*を追加し、この行に式1からの係数をポピュレートする。
0からu-1までのiの場合、デコーダは、Du*を(Du*-Dui Di*)に置き換える。このステップの結果、Du*の最初のu個の要素が消去される(すなわち、ゼロになる)。この消去ステップの後でDu*がゼロでない場合、デコーダは、(必要に応じて)列交換を実行し、それによりDuuはゼロでなくなり、Du*を(Duu -1Du*)に置き換える。
u-1から0までのiの場合、デコーダは、Di* を(Di*-Diu Du*)に置き換える。このステップの結果、列uの要素は行uを除いて消去される(すなわち、ゼロになる)。
行列はここでもう一度(I|E'-1・U)の形式となり、デコーダはu:=u+1をセットすることができる。
シンボルリカバリ手順を実行するために、デコーダは、ゼロであるE'-1Uの各行、またはE'-1Uが空である場合にDのすべての行について考慮する。Dの当該行において列がゼロでないソースシンボルがリカバリされ得る。記憶された一連の演算を修復シンボルに対して実行することによって、リカバリが達成される。具体的には、デコーダは、行Di*を(Di*-αDj*)に置き換えるときはいつでも、対応する修復シンボルRiを(Ri-αRi)に置き換え、行Di*が(αDi*)に置き換えられるときはいつでも、修復シンボルRiをαRiに置き換える。
これらの演算が実行される順序が重要であり、行列演算が実行された順序と同じであることに留意されたい。
演算が実行されると、ゼロであるE'-1Uの行ごとに、対応する修復シンボルは今や、Dの当該行において列がゼロではないソースシンボルの値に等しい値を有し、したがって、シンボルはリカバリされている。次いで、この行および列はDから除去され得る。
いくつかの実装形態では、シンボル演算は、少なくとも1つのシンボルがリカバリされ得ることが特定されているときのみ実行される。シンボル演算はDのすべての行に関して実行されるが、その結果、紛失したシンボルすべてのリカバリとはならないことがある。したがってデコーダは、どの修復シンボルが「処理されて」おり、どの修復シンボルが処理されていないかを追跡し、追加の行列演算が実行される中で、処理されたシンボルを最新の状態に保つように注意する。
この「ストリーム」モードにおける伸縮性符号の特性は、依存性を過去に向けてどこまでも拡大することができ、したがって復号行列Dは恣意的に大きくなり得る。実際には、実装形態はDのサイズに制限を設けるべきである。実際の適用例では、所与のソースシンボルの供給に関する「期限」があること、すなわち、その期限の後は、シンボルが上位のプロトコルレイヤにとって有用でなくなること、または、その期限の後は、上位のレイヤが消失シンボルなしでとにかく進むように通知されることが多い。
Dの最大サイズはこの制約に基づいて設定され得る。しかしながら、伸縮性符号デコーダにとって、所与のソースシンボルがアプリケーションに今後供給されることはない場合でも、当該シンボルをリカバリするために有用であり得る情報を保持することが有利であることがある。これは、代替的に、問題のソースシンボルに依存するすべての修復シンボルが処分され、期限が到来していない異なるソースシンボルをリカバリするためにそれらの修復シンボルのうちのいくつかが使用される場合があるからである。
Dのサイズの代替的制限は、伸縮性符号デコーダに記憶される情報の総量に関係する。いくつかの実装形態では、受信ソースシンボルはサーキュラーバッファでバッファされ、供給されているシンボルは保持されるが、その理由は、後に受信された修復シンボルを解釈する(たとえば、上記の式1の値を計算する)ためにこれらが必要になり得ることにある。(バッファが一杯であるために)ソースシンボルが最終的に処分されるとき、範囲がそのシンボルを含む任意の(未処理の)修復シンボルを処分(または処理)する必要がある。このこととソースバッファのサイズとを踏まえ、場合により、範囲がすべてソースバッファ内にある受信される見込みの修復シンボルの最大数に対応できるように、行列Dのサイズを変更する必要がある。
代替実装形態では、上記の理想的なリカバリ特性に従って正常に復号する可能性があるときのみ、行列Dを構成する。
計算の複雑さ
上述した符号の計算の複雑さは、シンボル演算によって決まる。
シンボルの追加は、シンボルのビット単位の排他的論理和であり得る。これは、いくつかのプロセッサ上で、一度に64ビットまたは128ビットのデータに対してXOR演算を実行し得る幅広いレジスタ(たとえば、x86アーキテクチャによるCPU上でのSSEレジスタ)を使用することによって効率的に達成され得る。しかしながら、有限体の要素によるシンボルの乗算は、バイト単位で実行されなければならないことが多く、その理由は、プロセッサは通常、有限体の演算のためのネイティブ命令を提供せず、したがって参照用テーブルを使用しなければならないことにあり、これは、各バイトの乗算が、データの処理以外のメモリへのアクセスを含むいくつかのプロセッサ命令を必要とすることを意味する。
エンコーダにおいて、上記の式1を使用して各修復シンボルを計算する。これは、l個のシンボル乗算およびl-1個のシンボル加算を伴い、ここでlは、修復シンボルの範囲にあるソースシンボルの数である。各ソースシンボルが厳密にr個の修復シンボルによって保護される場合、全体の複雑さはO(r・k)個のシンボル演算であり、ここでkはソースシンボルの数である。代替的に、各修復シンボルがl個のソースシンボルを有する範囲または近傍セットを有する場合、生成される修復シンボル1個あたりの計算の複雑さは、O(l)個のシンボル演算である。本明細書で使用する表現O()は、通常の「およそ」を意味するものとして理解されたい。
デコーダにおいて、複雑さに対する2つの構成要素があり、それらは、受信したソースシンボルの消去、および消失したソースシンボルのリカバリである。第1の構成要素は、符号化演算、すなわちO(r・k)個のシンボル演算に相当する。第2の構成要素は、u×u行列Eの反転から生じるシンボル演算であり、ここでuは消失したソースシンボルの数であり、したがってその複雑さはO(u2)個のシンボル演算である。
消失レートが低い場合、uは小さく、したがって、すべての修復シンボルがデコーダで使用された場合、符号化および復号の複雑さは似たものとなる。しかしながら、複雑さの主要構成要素は修復シンボルの数によって増減するので、修復シンボルのすべてが使用されるのではない場合、複雑さは低下する。
上述のように、一実装形態では、修復シンボルの処理は、データがリカバリされ得ることがわかるまで先送りされる。これにより、シンボル演算は最小限に抑えられ、符号の計算上の要件も最小限に抑えられる。しかしながら、それは復号活動の突発を招く。
代替的実装形態では、(式1を使用して)受信ソースシンボルについての消去演算をシンボルの到着に伴い実行することによって、計算負荷を抑制することができる。この結果、すべての修復シンボルについての消去演算を、それらがすべて使用されてはいない場合でも実行し、その結果、計算の複雑さが高まる(ただし、安定性が増す)。これを可能にするために、デコーダは、どの修復シンボルが生成されることになるかについて、事前に情報を持っていなければならず、これはすべてのアプリケーションで可能であるとは限らない。
復号確率
あらゆる修復シンボルは、それが受信される前にその範囲にあるすべてのソースシンボルがすでにリカバリまたは受信されているために明白に冗長であること、または消失したソースシンボルをリカバリするのに有用であること、のいずれかであることが理想的である。これがどのくらいの頻度で当てはまるかは、符号の構成による。
消去ステップ後に、新しい受信修復シンボルを受けてDにゼロの行が追加されるとき、この理想からの乖離がデコーダ論理で検出され得る。そのようなシンボルはデコーダに新しい情報をもたらさないので、不要な処理を回避するために処分される。
ランダムなGF(256)符号の実装形態の場合、これは、新しいランダムな行がフルランクのGF(256)に対してu×u+1行列に追加されるときに、得られるu×u行列がフルランクを有さない確率は1/256であることに基づいて、256につき約1個の修復シンボルの場合であり得る。
コーシー符号の実装形態の場合、ブロック符号として使用されるとき、ソースシンボルおよび修復シンボルの総数が256未満である場合、失敗確率はゼロである。そのような符号はリードソロモン符号に相当する。
ブロックモードの結果
ブロック符号として使用される伸縮性コード符号のテスト(すなわち、k個のソースシンボルを有するフルセットに等しい範囲でいくつかの修復ブロックをすべて生成する)では、固定のブロックサイズ(k=256)および修復量(r=8)において、符号化速度および復号速度は、約200バイトを上回る様々なブロックサイズにおいてほぼ同じであるが、それを下回ると、速度は落ちる。これはおそらく、200バイトを下回るシンボル(または条件に応じた何らかの他のしきい値)では、シンボル演算を決定するのに必要な論理のオーバーヘッドがシンボル演算自体と比較して著しいが、シンボルサイズがより大きい場合、シンボル演算自体が支配的であるためだと思われる。
他のテストでは、固定ブロックおよびシンボルサイズに関する修復オーバーヘッド(r/k)の関数としての符号化および復号の速度は、その符号化および復号の複雑さが修復シンボルの数に比例する(したがって速度が1/rに比例する)ことを示した。
ストリームモードの結果
消失レートがオーバーヘッドを大幅に下回るとき、平均レイテンシは低いが、消失レートが符号オーバーヘッドに近づくにつれて平均レイテンシは急激に増大する。これは予想されることであり、その理由は、消失レートがオーバーヘッドを大幅に下回るとき、たいていの消失は1つの修復シンボルを使用してリカバリされ得ることにある。消失レートが上昇するにつれて、1つの修復シンボルの範囲内で複数の消失が生じて、より多くの修復シンボルを使用しなければない場合が多くなる。
生じ得る別の微調整として、上記の例では256であった修復シンボルのスパン(スパンは、修復シンボルの範囲または近傍セットにあるソースシンボルの数である)を変える効果について考える。スパンを減らした場合、固定のオーバーヘッドにおいて、各ソースシンボルを保護する修復シンボルの数が減るので、これが残余誤差レートを上昇させると予想される。ただし、スパンを減らすと、エンコーダとデコーダの両方において計算の複雑さも低下する。
ファウンテンブロック符号(Fountain Block Code)であるウィンドウベースの符号
多くのエンコーダおよびデコーダでは、符号化および復号に割り振られる計算能力および時間の量は限られている。たとえば、デコーダがバッテリ電源式ハンドヘルドデバイスである場合、復号は効率的であるべきであり、過度の計算能力を要求すべきではない。符号化および復号演算に必要な計算能力の1つの尺度は、シンボルを有する特定のセットを復号するのに必要なシンボル演算(2つのシンボルの加算、乗算、XOR演算、コピーなど)の数である。これを念頭に置いて符号を設計すべきである。正確な演算数は、どの符号化シンボルが受信されるか、またどれだけの数の符号化シンボルが受信されるかに基づいて変わり得るので、事前にはわからないこともあるが、平均的ケースまたは最悪のケースを判断して相応に設計を構成することは可能であることが多い。
このセクションは、新しいタイプのファウンテンブロック符号について説明する。この符号は、本明細書では「ウィンドウベースの符号」と呼ばれ、効率的な符号化および復号のいくつかの態様を示す以下でさらに述べる伸縮性符号のいくつかの土台である。最初に説明するウィンドウベースの符号は非システマティック符号であるが、以下でさらに説明するように、本開示を読めば明らかなるシステマティック符号に非システマティック符号を変換するための方法がある。この場合、各符号化シンボルの範囲はK個のソースシンボルを有するブロック全体であるが、各符号化シンボルの近傍セットは格段にスパースであり、K個よりもかなり少ないB個の近隣からなり、様々な符号化シンボルの近傍セットは通常、互いにかなり異なる。
K個のソースシンボルを有するブロックについて考える。エンコーダは次のように動作する。最初に、エンコーダはB個のゼロシンボルをブロックの各側に(論理的または実際的に)付加し、K+2B個のシンボルX0、X1、…、XK+2B-1を有する拡張ブロック、すなわち、最初のB個のシンボルおよび最後のB個のシンボルがゼロシンボルであり、中間のK個のシンボルがソースシンボルである拡張ブロックを形成する。符号化シンボルを生成するために、エンコーダは1とK+B-1との間の開始位置tをランダムに選択し、適切な有限体(たとえば、GF(2)またはGF(256))からランダムまたは疑似ランダムに値α0、…、αB-1を選ぶ。次いで符号化シンボル値ESVは、エンコーダによって式5の式を使用して計算され、この場合、生成された符号化シンボルの近傍セットは、拡張ブロックの位置t〜t+B-1にあるシンボルから選択される。
デコーダは、少なくともK個の符号化シンボルを受信すると、復号するために拡張ブロックにおけるソースシンボルの位置に対して往復掃引を使用する。第1の掃引はブロックの最初の位置にあるソースシンボルから最後の位置にあるソースシンボルまでとし、当該ソースシンボルsとそれをリカバリし得る符号化シンボルeとをマッチングし、後方位置にあるソースシンボルをリカバリするために使用され得る符号化シンボルのsに対する依存性を消去し、eに対するsの寄与を調整して単にsとなるようにする。第2の掃引は、ブロックの最後の位置にあるソースシンボルから最初の位置にあるソースシンボルまでとし、前方位置にあるソースシンボルをリカバリするために使用される符号化シンボルの当該ソースシンボルsに対する依存性を消去する。往復掃引に成功した後、各ソースシンボルのリカバリされた値は、それがマッチングされる符号化シンボルの値である。
第1の掃引プロセスのために、デコーダはすべての受信符号化シンボルを有するセットEを取得する。ソースシンボルsごとに、拡張ブロック内の位置i=B,…, B+K-1において、デコーダは、近隣セットにsを有するE内のすべての符号化シンボルのうちで最先の近隣エンド位置を有する符号化シンボルeを選択し、次いで、eとsとをマッチングし、Eからeを削除する。この選択は、現在の一次方程式セットにおける符号化シンボルeに対するsの寄与がゼロではない、すなわちsがβ・s (β≠0)をeに提供する場合のeの中から行う。sの寄与がゼロではない符号化シンボルeがない場合、sを復号することができず、復号は失敗する。ソースシンボルsが符号化シンボルeとマッチングされると、符号化シンボルeはセットEから除去され、ガウス消去法を使用して、E内のすべての符号化シンボルに対するsの寄与を消去し、eに対するsの寄与は、eに対するsの寄与の係数の逆数とeとを掛けることによって、単にsになるように調整される。
デコーダの第2の掃引プロセスは次のように動作する。ソースシンボルsごとに、ソース位置i=K-1,…, 0において、ガウス消去法を使用して、iに先行する位置にあるソースシンボルとマッチングされるE内のすべての符号化シンボルに対するsの寄与を消去する。
受信符号化シンボルによって定義される連立一次方程式がランクKを有する場合、かつその場合に限り、復号はすべてのソースシンボルを完全にリカバリすることに成功する、すなわち、受信符号化シンボルがランクKを有する場合、上記の復号プロセスは、ブロックのK個のソースシンボルをリカバリすることが保証される。
生成される符号化シンボル1個あたりのシンボル演算の数はBである。
符号化シンボルの射程は、符号化シンボルの近隣である最初の位置と符号化シンボルの近隣である最後の位置との間の拡張ブロック内の位置を有するセットとなるように定義される。上記の構成では、各符号化シンボルの射程のサイズはBである。復号シンボル演算の数は、復号に使用される符号化シンボルの射程のサイズの合計によって制限される。これは、上記のマッチングプロセスが設計される方法によって、符号化シンボルの射程が復号プロセス中に決して拡張されず、各復号シンボル演算が符号化シンボルの射程のサイズの合計を1つ減らすからである。これは、K個のソースシンボルを復号するためのシンボル演算の数がO(K・B)であることを暗示している。
ウィンドウベースの符号の計算の複雑さとそのリカバリ特性との間にはトレードオフがある。B=O(K1/2)である場合であって、有限体のサイズが十分に大きくなるように、たとえばO(K)になるように選ばれた場合、ブロックのK個のソースシンボルはすべて、K個の受信符号化シンボルから高い確率でリカバリが可能であり、さらに受信した各符号化シンボルに応じて失敗の確率が急激に低下することが、単純な分析によって示され得る。ウィンドウベースの符号のリカバリ特性は、GF[2]またはGF[256]がそれぞれ有限体として使用され、B=O(K1/2)であるときにランダムGF[2]符号またはランダムGF[256]符号のリカバリ特性に似ている。
同様の分析を使用して、B=O(ln(K/δ)/ε)である場合、K(1+ε)個の符号化シンボルが受信された後に、ブロックのK個のソースシンボルすべてを少なくとも1-δの確率でリカバリすることができる。
当業者が認識するように、本明細書で説明するウィンドウベースの符号には多くの変形形態がある。一例として、K+2B個のシンボルを有する拡張ブロックを作成する代わりに、K個のソースシンボルから符号化シンボルを直接生成することができ、この場合、符号化シンボルごとに0とK-1との間でランダムにtが選ばれ、次いで式6に示すように符号化シンボル値が計算される。この変形ウィンドウベースのブロック符号のために復号する1つの方法として、上記の復号手順に類似する復号手順を使用するが、その例外として、最初に、K個のソースシンボルのうちのB個を有する連続セットが「非アクティブ化」され、復号は、これらのB個の非アクティブ化ソースシンボル値が既知であると仮定して前述のように進行し、符号化シンボルとB個の非アクティブ化ソースシンボルとの間のB×B連立方程式が作成され、解かれ、次いでこれと往復掃引の結果とに基づいて、残存するK-B個のソースシンボルが解かれる。この仕組みの詳細は、Shokrollahi-Inactivationに記載されている。
システマティックウィンドウベースのブロック符号
上記のウィンドウベースの符号は非システマティック符号である。システマティックウィンドウベースの符号は、これらの非システマティックウィンドウベースの符号から構成可能であり、そのように構成されたシステマティック符号の効率性およびリカバリ特性は、それらが構成される際の元になる非システマティック符号の効率性およびリカバリ特性に非常に似ている。
一般的な実装形態では、K個のソースシンボルが、非システマティック符号によって生成される最初のK個の符号化シンボルの位置に配置され、復号されて拡張ブロックが取得され、次いで修復シンボルが、復号拡張ブロックからシステマティック符号のために生成される。この仕組みの詳細は、Shokrollahi-Systematicに記載されている。このウィンドウベースのブロック符号のための単純で好ましいそのようなシステマティック符号構成について以下で説明する。
ファウンテンブロック符号である上述の非システマティックウィンドウベースの符号について、システマティック符号を構成するために最初のK個の符号化シンボルを生成する好ましい1つの方法は、以下のとおりである。最初のK個の符号化シンボルについて1とK+B-1との間の開始位置tを選ぶ代わりに、以下を行う。B'=B/2とする(一般性を失わずにBは偶数であると仮定する)。最初のK個の符号化シンボルについてt=B', B'+1,…, B'+K-1を選ぶ。最初のK個の符号化シンボルを生成する際、有限体の非ゼロ要素となるように係数αBが選ばれる(この係数を非ゼロにすることで、復号プロセスは、この符号化シンボルからこの係数に対応するソースシンボルをリカバリすることができるようになる)ことが常に該当するのでない場合に、例外があり得るが、生成はまさに上記のとおりである。これらの符号化シンボルが構成される方法によって、これらの最初のK個の符号化シンボルからブロックのK個のソースシンボルをリカバリすることが常に可能である。
システマティック符号の符号化構成は次のとおりである。非システマティックウィンドウベースの符号に関する前パラグラフで説明したプロセスに従って生成される最初のK個の符号化シンボルの位置にK個のソースシンボルの値を配置し、非システマティックウィンドウベースの符号の往復復号プロセスを使用して、拡張ブロックのK個のソースシンボルを復号し、次いで、往復復号プロセスから生じる復号ソースシンボルを内包する拡張ブロックに適用される非システマティックウィンドウベースの符号を使用して、追加の修復シンボルを生成する。
符号化シンボルに対するソースシンボルのマッピングは、Kのランダム置換を使用して、突発する連続ソースシンボルの消失(および他の消失パターン)が符号化シンボルの任意の部分からの拡張ブロックのリカバリの可能性、すなわち、ソースシンボルおよび修復シンボルの受信の任意のパターンおよび構成に影響しないようにすべきである。
システマティック復号プロセスは、システマティック符号化プロセスの鏡像である。受信符号化シンボルを使用して、非システマティックウィンドウベースの符号の往復復号プロセスを使用して拡張ブロックをリカバリし、次いで拡張ブロックに非システマティックウィンドウベースのエンコーダを適用して、任意の紛失ソースシンボル、すなわち、紛失した最初のK個の符号化シンボルのうちのいずれかを符号化する。
復号がエンコーダで生じ、符号化がデコーダで生じる、システマティック符号化および復号に対するこの手法の1つの利点として、システマティックシンボルおよび修復シンボルが、両方にわたって一貫したプロセスを使用して作成され得る。実際、符号化シンボルを生成するエンコーダの部分は、符号化シンボルのK個が元のK個のソースシンボルとたまたま完全にマッチングすることを認識すらしなくてもよい。
ファウンテン伸縮性符号(Fountain Elastic Code)であるウィンドウベースの符号
ウィンドウベースの符号ファウンテンブロック符号は、効率的であるとともに良好なリカバリ特性を有するファウンテン伸縮性符号を構成するための基礎として使用され得る。構成の説明を簡単にするために、サイズが等しい複数のベースブロックX1、…、XLがあるとき、すなわちL個のベースブロックの各々がK個のソースシンボルを含むときの構成について説明する。当業者は、これらの構成および方法を、ベースブロックがすべて同じサイズではないケースに拡大適用できることを認識しよう。
前述のように、ソースブロックは、L個のベースブロックの任意の空でないサブセットの集合を含み得る。たとえば、1つのソースブロックは第1のベースブロックを含むことができ、第2のソースブロックは第1および第2のベースブロックを含むことができ、第3のソースブロックは第2および第3のベースブロックを含むことができる。場合によっては、ベースブロックの一部または全部はサイズが異なり、ソースブロックの一部または全部はサイズが異なる。
エンコーダは次のように動作する。最初に、ベースブロックXiごとに、エンコーダはブロックの各側にB個のゼロシンボルを(論理的または実際的に)付加して、K+2B個のシンボル
を有する拡張ブロック、すなわち、最初のB個のシンボルおよび最後のB個のシンボルがゼロシンボルであり、中間のK個のシンボルがベースブロックXiのソースシンボルである拡張ブロックを形成する。
エンコーダは次のようにソースブロックSの符号化シンボルを生成し、ここでSはL'個のベースブロックを含み、また一般性を失わずに、これらがベースブロックX1、…、XL'であると仮定する。エンコーダは、1とK+B-1との間の開始位置tをランダムに選択し、すべてのi=1,…, L'について、値
を適切な有限体(たとえば、GF(2)またはGF(256))からランダムに選ぶ。各i=1,…, L'について、エンコーダは、同じ開始位置tに基づいて符号化シンボル値を生成し、これは式7に示すとおりである。
そして、ソースブロックに関して生成される符号化シンボル値ESVは、ESViのi=1,…, L'にわたるシンボル有限体の合計にすぎず、これは式8に示すとおりである。
デコーダを使用してベースブロックのサブセットを復号すると仮定し、また一般性を失わずに、これらがベースブロックX1、…、XL'であると仮定する。これらのL'個のベースブロック内のソースシンボルをリカバリするために、デコーダは、X1、…、XL'のサブセットの集合からなるソースブロックから生成された任意の受信符号化シンボルを使用することができる。効率的な復号を促進するために、デコーダは復号行列を構成し、この場合、行列の行は、復号に使用され得る受信符号化シンボルに対応し、行列の列は、インターリーブされた順序で構成されたベースブロックX1、…、XL'の拡張ブロックに対応する。
ファウンテンブロック符号に関する前述の往復デコーダと同様に、デコーダは、復号するために上述の行列の列位置にわたって往復掃引を使用する。第1の掃引は行列の最小列位置から最大列位置までとし、当該列位置に対応するソースシンボルsとそれをリカバリし得る符号化シンボルeとをマッチングし、後方列位置に対応するソースシンボルをリカバリするために使用され得る符号化シンボルのsに対する依存性を消去し、eに対するsの寄与を調整して単にsとなるようにする。第2の掃引は、行列の最大列位置から最小列位置まで、ブロックの最後の位置にあるソースシンボルから最初の位置にあるソースシンボルまでとし、前方位置にあるソースシンボルをリカバリするために使用される符号化シンボルの当該列位置に対応するソースシンボルsに対する依存性を消去する。往復掃引に成功した後、各ソースシンボルのリカバリされた値は、それがマッチングされる符号化シンボルの値である。
第1の掃引プロセスにおいて、デコーダは、ベースブロックX1、…、XL'を復号するのに有用であり得るすべての受信符号化シンボルを有するセットEを取得する。L'個の基本ブロックのうちの1つの基本ブロックのソースシンボルsに対応する各位置i=L'・B,…,L'・(B+K)-1について、デコーダは、近隣セットにsを有するE内のすべての符号化シンボルのうちで最先の近隣エンド位置を有する符号化シンボルeを選択し、次いで、eとsとをマッチングし、Eからeを削除する。この選択は、現在の一次方程式セットにおける符号化シンボルeに対するsの寄与がゼロではない、すなわちsがβ・s(β≠0)をeに提供する場合のeの中から行う。sの寄与がゼロではない符号化シンボルeがない場合、sを復号することができず、復号は失敗する。ソースシンボルsが符号化シンボルeとマッチングされると、符号化シンボルeはセットEから除去され、ガウス消去法を使用して、E内のすべての符号化シンボルに対するsの寄与を消去し、eに対するsの寄与は、eに対するsの寄与の係数の逆数とeとを掛けることによって、単にsになるように調整される。
デコーダの第2の掃引プロセスは次のように動作する。L'個の基本ブロックのうちの1つの基本ブロックのソースシンボルsに対応する各位置i=L'・(B+K)-1,…,L'・Bについて、ガウス消去法を使用して、iに先行する位置に対応するソースシンボルとマッチングされるE内のすべての符号化シンボルに対するsの寄与を消去する。
受信符号化シンボルによって定義される連立一次方程式がランクL'・Kを有する場合、かつその場合に限り、復号はすべてのソースシンボルを完全にリカバリすることに成功する、すなわち、受信符号化シンボルがランクL'・Kを有する場合、上記の復号プロセスは、L'個の基本ブロックのL'・K個のソースシンボルをリカバリすることが保証される。
生成される符号化シンボル1個あたりのシンボル演算の数はB・Vであり、ここでVは、符号化シンボルが生成される際の元になるソースブロックによってエンベロープされる基本ブロックの数である。
符号化シンボルの射程は、復号行列における近隣ソースシンボルに対応する最小列位置と近隣ソースシンボルに対応する最大列位置との間の列位置を有するセットになるように定義される。符号化プロセスおよび復号行列の特性によって、符号化シンボルの射程のサイズは、上記の復号プロセスにおいて最大でB・L'である。復号シンボル演算の数は、最大でも符号化シンボルの射程のサイズの合計であり、その理由は、上記のマッチングプロセスの特性により、符号化シンボルの射程が復号シンボル演算によって元の射程を越えて拡張されることは決してなく、各復号シンボル演算が符号化シンボルの射程のサイズの合計を1つ減らすことにある。これは、L'個の基本ブロックにおけるN=K・L'個のソースシンボルを復号するためのシンボル演算の数がO(N・B・L')であることを暗示している。
ウィンドウベースの符号の計算の複雑さとそのリカバリ特性との間にはトレードオフがある。B = O(ln(L)・K1/2)である場合であって、有限体のサイズが十分に大きくなるように、たとえばO(L・K)になるように選ばれた場合に、前述の理想的なリカバリ伸縮性符号のリカバリ条件がL'個の基本ブロックに関する受信符号化シンボルによって満たされる場合、L'個の基本ブロックのすべてのL'・K個のソースシンボルは高い確率でリカバリが可能であり、さらに受信した各符号化シンボルに応じて失敗の確率が急激に低下することが、単純な分析によって示され得る。ウィンドウベースの符号のリカバリ特性は、GF[2]またはGF[256]がそれぞれ有限体として使用され、B = O(ln(L)・K1/2)であるときにランダムGF[2]符号またはランダムGF[256]符号のリカバリ特性に似ている。
同様の分析を使用して、B=O(ln(L・K/δ)/ε)である場合に、L'個の基本ブロックのすべてのL'・K個のソースシンボルが、以下の条件において少なくとも1-δの確率でリカバリされ得ることを示すことができる。L'個の基本ブロックを復号するのに有用である受信符号化シンボルが生成される際の元になるソースブロックの数をTとする。その場合、T個のソースブロックから生成される受信符号化シンボルの数は、少なくともL'・K・(1+ε)個になるはずであり、すべてS≦Tの場合に、S個のソースブロックを有する任意のセットから生成される符号化シンボルの数は、最大でも、それらのS個のソースブロックの集合におけるソースシンボルの数になるはずである。
上記のウィンドウベースの符号は非システマティック伸縮性符号である。システマティックウィンドウベースのファウンテン伸縮性符号は、これらの非システマティックウィンドウベースの符号から構成可能であり、そのように構成されたシステマティック符号の効率性およびリカバリ特性は、それらが構成される際の元になる非システマティック符号の効率性およびリカバリ特性に非常に似ており、このことは、ファウンテンブロック符号であるウィンドウベースの符号に関して上述したシステマティック構成と同様である。この仕組みの詳細は、Shokrollahi-Systematicに記載されている。
当業者であれば認識するように、本明細書で説明するウィンドウベースの符号には多くの変形形態がある。一例として、基本ブロックごとにK+2B個のシンボルを有する拡張ブロックを作成する代わりに、符号化シンボルが生成される際の元になるソースブロックの一部である各基本ブロックのK個のソースシンボルから符号化シンボルを直接生成することができ、この場合、符号化シンボルごとに0とK-1との間でtがランダムに選ばれ、次いで、そのような各基本ブロックに関して式6に示す符号化シンボル値と同様に、符号化シンボル値が計算される。
この変形ウィンドウベースのブロック符号のために復号する1つの方法として、上記の復号手順に類似する復号手順を使用するが、その例外として、最初に、L'・K個のソースシンボルのうちのL'・B個を有する連続セットが「非アクティブ化」され、復号は、これらのL'・B個の非アクティブ化ソースシンボル値が既知であると仮定して前述のように進行し、符号化シンボルとL'・B個の非アクティブ化ソースシンボルとの間のL'・B ×L'・B連立方程式が作成され、解かれ、次いでこれと往復掃引の結果とに基づいて、残存するL'・(K-B)個のソースシンボルが解かれる。この仕組みの詳細は、Shokrollahi-Inactivationに記載されている。
上記のウィンドウベースの符号には多くの他の変形形態がある。たとえば、各基本ブロックが同じ数のソースシンボルを含むという条件を緩和することが可能である。たとえば、符号化プロセス中に、各基本ブロックを符号化するために使用されるB の値は、当該基本ブロックのソースブロックの数に比例し得る。たとえば、第1の基本ブロックはK個のソースシンボルを備え、第2の基本ブロックはK'個のソースシンボルを備えると仮定し、これらのブロックのサイズの比をμ=K/K'とする。その場合、第1の基本ブロックに使用される値Bおよび第2の基本ブロックに使用される対応する値B'は、B/B'=μを満たすことができる。この変形形態では、両方の基本ブロックをエンベロープするソースブロックから生成される符号化シンボルに対する基本ブロックの寄与を計算する際の2つの基本ブロック内の開始位置は異なることがあり、たとえば、符号化プロセスは0と1との間で均一に値
を選び、次いで第1の基本ブロックに開始位置
を使用し、第2の基本ブロックに開始位置
を使用する(これらの値は最寄の整数位置に切り上げられる)ことができる。この変形形態では、復号される基本ブロックの各々からのインタリーブされたシンボルを含む復号行列をデコーダで形成するとき、第2の基本ブロックに対応する位置の頻度に対する第1の基本ブロックに対応する位置の頻度が比率μとなるようにインターリービングを行うことができ、たとえば、第1の基本ブロックのサイズが第2の基本ブロックのサイズの2倍である場合、第1の基本ブロックに対応する列位置の数は、第2の基本ブロックに対応する列位置の数の2倍であり、この条件は、復号行列内の列位置の連続セットに当てはまる(モジュロ丸め誤差)。
当業者であれば認識するように、多くの他の変形形態もある。たとえば、完全な復号行列を記憶して処理しなければならない代わりに、デコーダにおいて復号行列のスパース行列表現を使用することができる。これは復号の記憶および時間の複雑さを大幅に減らし得る。
他の変形形態も可能である。たとえば、符号化は、2つのタイプの符号化シンボルの混合を含むことがあり、これらは、上記のように生成される多数部分の第1のタイプの符号化シンボル、およびランダムでスパースに生成される少数部分の第2のタイプの符号化シンボルである。たとえば、第1のタイプの符号化シンボルの割合が1-K-1/3であることがあり、第1のタイプの各符号化シンボルの射程がB =O(K1/3)であることがあり、第2のタイプの符号化シンボルの割合がK-1/3であることがあり、第2のタイプの各符号化シンボルの近隣の数がK2/3であることがある。2つのタイプの符号化シンボルのそのような混合の1つの利点として、復号の成功を確実にするために第1のタイプに使用されるBの値をかなり小さくすることができ、たとえば、1つのタイプのみ使用されるときにはB=O(K1/2)であるのに対して、2つのタイプが使用されるときにはB=O(K1/3)になり得る。
第1のステップにおいて、復号を続けられるように、復号が立ち往生したときはいつでも、ソースシンボルを非アクティブ化する非アクティブ化復号を使用して、上記の往復復号プロセスが第1のタイプの符号化シンボルに適用されるように、復号プロセスは変更される。次いで第2のステップにおいて、第2のタイプの符号化シンボルを使用して、非アクティブ化ソースシンボル値がリカバリされ、次いで第3のステップにおいて、これらの解かれた符号化シンボル値と往復復号の第1のステップの結果とを使用して、残りのソースシンボル値を解く。この変更の利点は、リカバリ特性を劣化させずに符号化および復号の複雑さを大幅に改善することである。3つ以上のタイプの符号化シンボルを使用するさらなる変形形態も、リカバリ特性を劣化させずに符号化および復号の複雑さをさらに改善することが可能である。
理想的なリカバリ伸縮性符号
このセクションは、前述の理想的なリカバリ伸縮性符号の特性を実現する伸縮性符号について説明する。この構成は、ソースブロックが以下の条件を満たすときに適用される。各ソースブロックのソースシンボルが連続するような順番でソースシンボルを配置することができ、それにより、任意の第1のソースブロックおよび任意の第2のソースブロックについて、第1のソースブロックにあるが第2のソースブロックにはないソースシンボルが、すべて第2のソースブロックの前またはすべて第2のソースブロックの後のいずれかに存在するようになる、すなわち、第1のソースブロックおよび第2のソースブロックについて、第1のソースブロックの一部のシンボルが第2のソースブロックの前に来ることも、第1のソースブロックの一部のシンボルが第2のソースブロックの後に来ることもなくなる。簡潔のために、ここではそのような符号を非サブセットコード伸縮性符号または「NSCE符号」と呼ぶ。NSCE符号はプレフィックス伸縮性符号を含む。
本明細書における「構成」は、抽象的に考えられ得る数学的概念を伴うことがあるが、そのような構成は有用な目的に、かつ/またはデータ、電気信号もしくは物品の変換に適用されることを理解されたい。たとえば、次に符号化を復号することになる受信機/デコーダに送信するデータのシンボルを符号化しようとするエンコーダによって、構成は実行され得る。このようにして、本明細書で説明する発明は、説明が数学に焦点を当てる場合でも、エンコーダ、デコーダ、エンコーダとデコーダとの組合せ、符号化および/または復号するプロセスにおいて実施されてよく、プログラムコードを実行および/または解釈するハードウェアおよび/またはソフトウェアとともに使用するコンピュータ可読媒体に記憶されたプログラムコードによって実施されてもよい。
NSCE符号の例示的な構成では、nc(n)個のフィールド要素を有する有限体が使用され、ここではc(n)=O(nC)であり、Cはソースブロックの数である。以下は構成の概要であるが、当業者がこの概要を読めば、実装形態は明らかになろう。この構成は、いくつかの場合において、少なくとも幾分か、必要な有限体のサイズをさらに縮小するために最適化され得る。
概要において、nは符号化され復号されるソースシンボルの数であり、Cはコードとも呼ばれる、符号化プロセスで使用されるソースブロックの数であり、c(n)はおよそnCである所定の値である。コードは、修復シンボルを生成する際に使用されるn個のソースシンボルのサブセット(真部分集合であるかどうかを問わない)であり、「ブロック」は、同じ領域内から生成されたシンボルを有するセットであるので、使用されるコードと使用されるブロックとの間には1対1の対応がある。ここで、これらの要素の使用について、エンコーダまたはデコーダに言及しながら説明するが、明示されていない場合でも両方によって同様のステップが実行され得ることを理解されたい。
エンコーダは、1からCまで幅があり得る、処理される現在のブロック/コードを示す変数jを管理する。何らかの論理または計算によって、エンコーダは、ブロックjごとに、ブロックjに関連するソースシンボルの数kj、および符号化シンボルの数njを決定する。次いでエンコーダは、ブロックjについてkj×njのコーシー行列Mjを構成する。したがって、コーシー行列を表すためにベース有限体に必要なフィールドのサイズは、すべてのjについて最大kj+njである。このベースフィールドにおける要素の数をqとする。
エンコーダは、qD個の要素を有するより大きいフィールドFにわたって動作し、ここでDはおよそqCである。次数Dを有するFの要素をωとする。エンコーダは符号化シンボルを計算するのに使用される行列を変更するために、ωの累乗を(少なくとも論理的に)使用する。C個のブロックのうちのブロック1について、行列M1は変更されていない。ブロック2について、i番目のソースシンボルに対応するM2の行には、ωiを掛ける。ブロックjについて、i番目のソースシンボルに対応するMjの行にはωiq(j)を掛け、ここでq(j)=qj-2である。
変更された行列をM'1、…、M'Cとする。これらはC個のブロックについて符号化シンボルを生成するために使用される行列である。これらの行列の主要な特性は、以下で説明する観察から示される。
受信機が様々なブロックから生成された符号化シンボルの混合を受信したと仮定する。その受信機は、ソースシンボルおよび受信符号化シンボルに対応する行列Mの行列式が非ゼロであるかどうかを判断したいことがある。
受信符号化シンボルとソースシンボルとの間で2つに分かれたグラフであって、隣接が必然的に定義されたグラフ、すなわち、ソースシンボルが、符号化シンボルが生成される際の元になるブロックの一部である場合に、符号化シンボルとソースシンボルとの間にエッジがあるグラフについて考える。このグラフ内にマッチングがある場合であって、ソースシンボルのすべてがマッチングされる場合、ソースシンボルは受信符号化シンボルから復号可能であるはずであり、Mの行列式はゼロではない。次いで各マッチングを、ソースシンボルがどのように符号化シンボルのブロックとマッチングされるかを示す「シグニチャ」によって分類し、たとえば、(1,1,3,2,3,1,2,3)のシグニチャは、このマッチングにおいて、第1のソースシンボルはブロック1の符号化シンボルとマッチングされ、第2のソースシンボルはブロック1の符号化シンボルとマッチングされ、第3のソースシンボルはブロック3の符号化シンボルとマッチングされ、第4のソースシンボルはブロック2の符号化シンボルとマッチングされる、といった具合である。次いで、マッチングは、それらのシグニチャに従って区分されてよく、Mの行列式は、これらのシグニチャによって規定される行列の行列式の合計として見ることができ、ここで、そのような各シグニチャ行列式はコーシー行列に対応し、したがってゼロではない。ただし、シグニチャ行列式は互いに消去し得る。
変更された行列M'1、…、M'Cを構成することによって、結果として存在するシグニチャは、当該シグニチャに対応する行列式の係数としてωの最大累乗を一意に有し、これは、この一意のシグニチャの行列式を任意の他の行列式が消去することができないので、Mの行列式はゼロではないことを暗示する。これは、ブロックのコード構造が重要である場合である。
ソースシンボル内で最初に開始(および終了)するコードに第1のブロックを対応させ、一般に、ソースブロック内で開始(および終了)するj番目のコードであるコードにブロックjを対応させる。サブセットコードがないので、任意の1つのブロックは、2番目のブロックの前に開始した場合、2番目のブロックの前に終了しなければならず、さもなければ2番目のブロックはサブセットである。
次いでデコーダは、第1のブロックに関する符号化シンボルのすべてがソースシンボルのプレフィックスとマッチングされる場合、第2のブロックに関する符号化シンボルのすべてが(第1のブロックとマッチングされるソースシンボルを除く)ソースシンボルの次のプレフィックスとマッチングされる場合などのマッチングを処理する。特に、このマッチングはe1 1's、次にe2 2's、さらに次にe3 3'sなどのシグニチャを有し、ここでeiは、ブロックiから生成されたソースシンボルを復号するために使用される符号化シンボルの数である。このマッチングは(2コードの場合の定理1で使用される引数と同様に)係数としてのωの最大累乗を一意に有するシグニチャを有する、すなわち、ソースシンボルと受信符号化シンボルとの間の有効なマッチングに対応する任意の他のシグニチャは、係数としてのωのより小さい累乗を有する。したがって、行列式はゼロではないことになる。
コード伸縮性符号に関する1つの欠点は、サブセットが存在する場合、すなわち、あるコードが別のコードに内包される場合に生じる。そのような場合、各ブロックに関する符号化シンボルを貪欲に使用する場合、すなわち、少なくともソースシンボルの元の順序により、第1のソースシンボルに対してブロック1に関するすべてを使用し、これにブロック2が続くなどの場合、マッチングを常に見つけることをデコーダに保証することができない。
場合によっては、ソースシンボルは、非内包的コード構造を取得するために並べ替えられ得る。たとえば、ソースシンボルの元の順序によるコードのセットが、後続する各コードが先行コードのすべてを内包するように構成されている場合、ソースシンボルを並べ替えて、構造がプレフィックス符号の構造となる、すなわち、内部から外部にソースシンボルを並べ替えて、第1のソースシンボルが、コードのすべての内部にあるものとなり、これに最小コードを除くコードの内部にあるソースシンボルが続き、さらに最小コード2つを除くコードの内部にあるソースシンボルが続くといった具合である。この並べ替えにより、上記の構成を適用して、理想的なリカバリ特性を有する伸縮性符号を取得することができる。
伸縮性符号の使用の例
一例では、エンコーダ/デコーダは、400msのパケット往復時間(RTT)、1Mbps(ビット/秒)の供給レート、128バイトのシンボルサイズなどの予想される状況に対応するように設計される。したがって、送信側は毎秒約1000個のシンボル(1000シンボル/秒×128バイト/シンボル×8ビット/バイト=1.024Mbps)を送る。軽度の消失(たとえば、最大5%)および時には重度の消失(たとえば、最大50%)からなる中度の消失状況を想定する。
一手法では、G個のソースシンボルごとに後ろに修復シンボルが挿入され、消失からリカバリするために最大レイテンシをG個のシンボルに抑えることができる場合、ソースシンボルをリカバリしないことのある送信可能な修復シンボルの割合はX=1/Gである。Gは現在の消失状況、RTTおよび/または帯域幅に基づいて変わり得る。
伸縮性符号がプレフィックス符号であり、G=4である図5の例を考える。ソースシンボルが連続的に示されており、修復シンボルが適用されるソースブロックを表す括弧付きのラベルとともに修復シンボルが示されている。
すべての消失が最初に連続的に始まっており、1つのシンボルが消失した場合、もたらされるレイテンシは最大Gであり、2つのシンボルが消失した場合、もたらされるレイテンシは最大2×Gであり、i個のシンボルが消失した場合、もたらされるレイテンシは最大i×Gである。したがって、消失量は、もたらされるレイテンシに線形的に影響する。
許容可能な冗長オーバーヘッドがたとえば5%に制限されている場合、G=20となる、すなわち、20個のソースシンボルごとに1個の修復シンボルが送られる。上記の例では、1msあたり1個のシンボルが送られ、これは、ある修復シンボルと次の修復シンボルとの間隔が20msであることを意味し、リカバリ時間は、2つのシンボルが消失した場合に40ms、3個のシンボルが消失した場合に60ms、といった具合である。これらの状況でARQだけを使用すると、リカバリ時間は少なくとも400ms、RTTであることに留意されたい。
この例では、修復シンボルのブロックは、先行して送られたすべてのシンボルを有するセットである。受信機から返信される単純なレポートが許容される場合、ブロックは、受信されたか、必要としなくなった先行ソースシンボルを除外するように変更され得る。図6に一例が示されており、これは図5の内容の変形形態である。
この例では、エンコーダは送信側から、最小関連ソースインデックス(Relevant Source Index)のSRSIインジケータを受信する。SRSIは、すべての先行ソースシンボルが受信されるか、必要としなくなるたびに上昇し得る。その場合、エンコーダは、SRSIよりも低いインデックスを有するソースシンボルに依存する修復シンボルを持っている必要はなく、計算が節減される。一般に、SRSIは、すでに受信したソースシンボルの最大プレフィックスの直後のソースシンボルのインデックスである。次いで送信側は、受信側から受信した最大SRSIからソースシンボルの最後に送られたインデックスまでの修復シンボルの範囲を計算する。これは、フィードバックなしの場合とまったく同じリカバリ特性をもたらすが、送信側および受信側における複雑さ/メモリ要件を低下させる。図6の例では、SRSI=5である。
フィードバックにより、プレフィックス伸縮性符号をより効率的に使用することができ、フィードバックは複雑さ/メモリ要件を低下させる。送信側は消失を示すフィードバックを得ると、修復シンボルの範囲を相応に調整することができる。したがって、前方向誤り訂正および反応性誤り訂正を組み合わせるために、追加の最適化が可能である。たとえば、前方向誤り訂正(FEC)を調整して、許容可能な冗長オーバーヘッドを、たいていの消失を事前にリカバリするのに十分な高さにしながらも、過度のオーバーヘッドをもたらすほど高くないようにすることができる一方で、反応性訂正は相対的にまれな消失用とする。たいていの消失はFECを使用して迅速にリカバリされるので、たいていの消失はRTTレイテンシペナルティなしにリカバリされる。反応性訂正はRTTレイテンシペナルティを有するが、その使用は、よりまれである。
変形形態
ソースブロックのマッピングは、ソースシンボルを有するどのブロックが(一般には符号化シンボルまたはより具体的には修復シンボルであり得る)符号化シンボルを有するセットの値を決定するために使用されるかを示している。特に、ソースブロックのマッピングは、メモリに記憶されることがあり、複数のベースブロックの規模を示し、それらのベースブロックのうちのどれがどのソースブロックの「範囲内」にあるかを示している。場合によっては、少なくとも1つのベースブロックが2つ以上のソースブロックに存在する。多くの実装形態では、エンコーダおよびデコーダの動作は、ソースブロックのマッピングとは無関係であってよく、それにより任意のソースブロックのマッピングが可能になっている。したがって、所定の通常のパターンが使用され得るが、それは必須ではなく、実際には、ソースブロックの範囲はソースデータの基底構造から、トランスポート状態によって、または他の要素によって決定されることがある。
いくつかの実施形態では、エンコーダおよびデコーダは、単なる伸縮性喪失コーディングではなく誤り訂正伸縮性コーディングを適用することができる。いくつかの実施形態では、階層化コーディングが使用され、この場合、修復シンボルを有する1つのセットが高優先度データのブロックを保護し、修復シンボルを有する第2のセットが高優先度データのブロックと低優先度データのブロックとの組合せを保護する。
通信システムによっては、ネットワークコーディングが伸縮性符号と組み合わされ、この場合に元のノードが、ソースデータの符号化を中間ノードに送り、中間ノードは、中間ノードが受信した符号化データの部分から生成された符号化データを送る(設計上、またはチャネル誤差により、中間ノードはソースデータをすべて取得するとは限らない)。次いで宛先ノードは、中間ノードから受信した符号化データを復号することによって元のソースデータをリカバリし、次いでこれを再び復号してソースデータをリカバリする。
伸縮性符号を使用するいくつかの通信システムでは、たとえば、ファイル/ストリームがすべて利用可能になる前にファイル/ストリームのプレフィックスを送る必要があるときのファイル供給/ストリーミングのプログレッシブダウンロードのような様々な適用がサポートされ得る。そのようなシステムはまた、PLP置換またはオブジェクトトランスポートに使用され得る。
さらに、本明細書で開示する実施形態に関して説明する様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得ることを、当業者は本開示を読めば諒解されよう。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップを、上記では概してそれらの機能に関して説明した。そのような機能をハードウェアとして実装するか、ソフトウェアとして実装するかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本発明の例示的な実施形態の範囲からの逸脱を生じるものと解釈すべきではない。
本明細書で開示する実施形態に関して説明する様々な例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理、個別ハードウェア構成要素、または、本明細書で説明する機能を実行するように設計されたそれらの任意の組合せで、実装または実行することができる。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装され得る。
本明細書で開示される実施形態に関して説明される方法またはアルゴリズムのステップは、直接ハードウェアで実施されるか、プロセッサによって実行されるソフトウェアモジュールで実施されるか、またはその2つの組合せで実施され得る。ソフトウェアモジュールは、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読取り専用メモリ(ROM)、電気的プログラマブルROM(EPROM)、電気消去可能プログラマブルROM(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または、当技術分野で既知の任意の他の形態の記憶媒体中に常駐し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体はプロセッサと一体であり得る。プロセッサおよび記憶媒体はASIC中に常駐し得る。ASICはユーザ端末中に常駐し得る。代替として、プロセッサおよび記憶媒体は、ユーザ端末中に個別構成要素として常駐し得る。
1つまたは複数の例示的な実施形態では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装する場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され得る。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、コンピュータ記憶媒体と通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または、命令もしくはデータ構造の形態の所望のプログラムコードを搬送もしくは記憶するために使用でき、コンピュータによってアクセスできる、任意の他の媒体を含み得る。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用される場合、ディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザーディスク(登録商標)、光ディスク、デジタル多用途ディスク(DVD)、フロッピー(登録商標)ディスク、およびBlu-Ray(登録商標)ディスクを含み、ディスク(disk)は、通常、磁気的にデータを再生し、ディスク(disc)は、レーザーで光学的にデータを再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
開示される例示的な実施形態の上記の説明は、いかなる当業者も本発明を作成または使用できるようにするために提供される。これらの例示的な実施形態への様々な修正が当業者には容易に明らかになることになり、本明細書に定義する一般原理は、本発明の趣旨および範囲を逸脱することなしに他の実施形態に適用され得る。したがって、本発明は、本明細書に示す実施形態に限定されるものではなく、本明細書で開示する原理および新規の特徴に一致する最大の範囲を与えられるものである。
100 通信システム、システム
110 弾性符号ブロックマッパー、マッパー
115 ストレージ
120 エンコーダアレイ、エンコーダ
125 ストレージ
130 送信機モジュール
200 受信機
210 受信機モジュール
215 ソースブロックマッピング用ストレージ、ストレージ
220 ストレージ
230 デコーダ
235 ストレージ
300 エンコーダ
305 シンボルバッファ
310 シンボルセレクタ
320 オペレータ

Claims (51)

  1. 誤りまたは喪失をもたらす可能性がある通信チャネルを通じて送信されるデータを符号化するための方法であって、ソースデータは順序付き複数のソースシンボルによって表され、前記ソースデータは送信された符号化シンボルからリカバリが可能であり、前記方法は、
    前記順序付き複数のソースシンボルのシンボルの各々に対するベースブロックを特定するステップであって、前記特定されるベースブロックは、符号化される前記ソースデータを集合的にカバーする複数のベースブロックのうちの1つである、ステップと、
    そのベースブロックをエンベロープする少なくとも1つのソースブロックを、複数のソースブロックから、そしてベースブロックの各々に対して、特定するステップであって、前記複数のソースブロックは、少なくとも一対のソースブロックを含み、一対のソースブロックは、前記対の両方のソースブロックによってエンベロープされる少なくとも1つのベースブロックが存在するとともに、そのソースブロックによってエンベロープされ、前記対の他方のソースブロックによってエンベロープされない、前記対のソースブロックの各々に対する少なくとも1つのベースブロックが存在する、という特性を有する、ステップと、
    符号化プロセスに従って前記複数のソースブロックの各々を符号化して符号化シンボルをもたらすステップであって、前記符号化プロセスは、符号化シンボルを生成するために1つのソースブロックに対して演算し、前記符号化シンボルは、前記1つのソースブロックによってエンベロープされないベースブロックからのソースシンボルのソースシンボル値とは独立であり、前記符号化により、前記対のソースブロックの集合によって表される前記ソースデータの部分は、前記対の第1のソースブロックから生成された符号化シンボルを有する第1のセットと前記対の第2のソースブロックから生成された符号化シンボルを有する第2のセットとの組合せからリカバリが可能であることが保証され、前記第1のセットにおける符号化シンボルの量は前記第1のソースブロックにおけるソースデータの量を下回り、前記第2のセットにおける符号化シンボルの量は前記第2のソースブロックにおけるソースデータの量を下回る、ステップと
    を含む、方法。
  2. 前記符号化プロセスにより、前記符号化シンボルおよび前記ソースシンボルが同じサイズを有するとき、符号化シンボルを有する前記第1のセットがM1個の符号化シンボルを含み、前記第1のソースブロックがN1個のソースシンボルを含み、符号化シンボルを有する前記第2のセットがM2個の符号化シンボルを含み、前記第2のソースブロックがN2個のソースシンボルを含むとき、かつ前記第1および第2のソースブロックのインターセクションがゼロを上回るN3個のソースシンボルを含むとき、前記対のソースブロックの前記集合のリカバリ可能性は、M1<N1およびM2<N2となる値の少なくともいくつかの組合せについて、M1+M2=N1+N2-N3である場合、所定のしきい値確率を超えて保証される、請求項1に記載の方法。
  3. 前記対のソースブロックの前記集合の前記リカバリ可能性は、M1≦N1およびM2≦N2となるようなM1およびM2の値のすべての組合せについて、M1+M2=N1+N2-N3である場合、所定のしきい値確率をより高いことが保証される、請求項2に記載の方法。
  4. 前記対のソースブロックの前記集合の前記リカバリ可能性は、M1≦N1およびM2≦N2となるようなM1およびM2の値のすべての組合せについて、M1+M2=N1+N2-N3である場合、確実である、請求項2に記載の方法。
  5. 前記対のソースブロックの前記集合のリカバリ可能性は、M1およびM2の値の少なくともいくつかの組合せについて、M1+M2が、所定のパーセンテージを下回るパーセンテージだけN1+N2-N3よりも大きいが、N1+N2よりも小さい場合、所定のしきい値確率よりも高い確率で保証される、請求項2に記載の方法。
  6. ソースブロックから生成された少なくとも1つの符号化シンボルは、そのソースブロックによって表される前記ソースデータの前記部分からのソースシンボルに等しい、請求項1に記載の方法。
  7. 前記符号化により、前記対の前記第1のソースブロックによって表される前記ソースデータの前記部分は、前記第1のソースブロックから生成された符号化シンボルを有する第3のセットからリカバリが可能であることが保証され、前記第3のセットにおける符号化シンボルの量は、前記第1のソースブロックに表されるソースデータの量を上回らない、請求項1に記載の方法。
  8. 前記符号化により、前記対の前記第1のソースブロックによって表される前記ソースデータの前記部分は、前記第1のソースブロックから生成された符号化シンボルを有する第3のセットから、所定のしきい値確率よりも高い確率でリカバリが可能であることが保証され、前記第3のセットにおける符号化シンボルの量は、前記第1のソースブロックに表されるソースデータの量を少しだけ上回る、請求項1に記載の方法。
  9. 各ソースブロックから生成され得る別個の符号化シンボルの数は、前記ソースブロックのサイズとは独立である、請求項1に記載の方法。
  10. 各ソースブロックから生成され得る別個の符号化シンボルの数は、前記ソースブロックのサイズに依存する、請求項1に記載の方法。
  11. シンボルに対するベースブロックを特定するステップは、符号化を開始する前に実行される、請求項1に記載の方法。
  12. ベースブロックに対するソースブロックを特定するステップは、符号化を開始する前に実行される、請求項1に記載の方法。
  13. ベースブロックがソースシンボルの各々に対して特定される前に、または前記エンベロープされるベースブロックが前記ソースブロックの各々に対して決定される前に、または前記ソースデータのすべてが生成されるか利用可能になる前に、少なくとも1つの符号化シンボルは生成される、請求項1に記載の方法。
  14. 符号化シンボルを受信中であるか受信したデコーダにおける結果を表す受信機フィードバックを受信するステップと、
    ベースブロックにおけるソースシンボルの構成要素、ソースブロックをエンベロープする際のベースブロックの構成要素、ベースブロック1個あたりのソースシンボルの数、ソースブロックにおけるシンボルの数、および/またはソースブロックから生成される符号化シンボルの数のうちの1つまたは複数を調整するステップであって、前記調整は前記受信機フィードバックに少なくとも部分的に基づいて行われる、ステップと
    をさらに含む、請求項1に記載の方法。
  15. 調整するステップは、新しいベースブロックを決定するステップ、または以前に決定されたベースブロックにおけるソースシンボルの構成要素を変更するステップを含む、請求項14に記載の方法。
  16. 調整するステップは、新しいソースブロックを決定するステップ、または以前に決定されたソースブロックのベースブロックのエンベロープを変更するステップを含む、請求項14に記載の方法。
  17. 前記ソースデータに関する様々なデータ優先度選好を表すデータ優先度選好信号を受信するステップと、
    ベースブロックにおけるソースシンボルの構成要素、ソースブロックをエンベロープする際のベースブロックの構成要素、ベースブロック1個あたりのソースシンボルの数、ソースブロックにおけるシンボルの数、および/またはソースブロックから生成される符号化シンボルの数のうちの1つまたは複数を調整するステップであって、前記調整は前記データ優先度選好信号に少なくとも部分的に基づいて行われる、ステップと
    をさらに含む、請求項1に記載の方法。
  18. 各ソースブロックによってエンベロープされる前記ベースブロックにおけるソースシンボルの数は、前記ソースブロックのうちの2つ以上の間で独立である、請求項1に記載の方法。
  19. ベースブロックのものと特定されるソースシンボルは、前記順序付き複数のソースシンボル内で連続していない、請求項1に記載の方法。
  20. ベースブロックのものと特定される前記ソースシンボルは、前記順序付き複数のソースシンボル内で連続する、請求項1に記載の方法。
  21. ソースブロックによってエンベロープされる前記ベースブロックのものと特定されるソースシンボルは、前記順序付き複数のソースシンボル内で連続する、請求項20に記載の方法。
  22. あるソースブロックに関して生成され得る符号化シンボルの数は、他のソースブロックに関して生成され得る符号化シンボルの数とは独立である、請求項1に記載の方法。
  23. 所与のソースブロックに関して生成される符号化シンボルの数は、前記所与のソースブロックによってエンベロープされる前記ベースブロックにおけるソースシンボルの数とは独立である、請求項1に記載の方法。
  24. 符号化するステップは、
    符号化シンボルごとに、有限体から選択される係数セットを決定するステップと、
    単一のソースブロックによってエンベロープされる1つまたは複数のベースブロックのソースシンボルの組合せとして、前記符号化シンボルを生成するステップであって、前記組合せは前記係数セットによって部分的に定義される、ステップと
    を含む、請求項1に記載の方法。
  25. ソースブロックから符号化シンボルを生成するシンボル演算の数は、前記ソースブロックによって表される前記ソースデータの前記部分におけるソースシンボルの数よりもはるかに少ない、請求項1に記載の方法。
  26. ソースシンボルを有するセットによって表されたソースデータをリカバリするために、誤りまたは喪失を含む可能性がある通信チャネルを通じて受信されるデータを復号するための方法であって、
    ソースシンボルの各々に対するベースブロックを特定するステップであって、前記特定されるベースブロックは、前記ソースデータを集合的にカバーする複数のベースブロックのうちの1つである、ステップと、
    そのベースブロックをエンベロープする少なくとも1つのソースブロックを、複数のソースブロックから、ベースブロックの各々に対して、特定するステップであって、前記複数のソースブロックは、少なくとも一対のソースブロックを含み、一対のソースブロックは、前記対の両方のソースブロックによってエンベロープされる少なくとも1つのベースブロックが存在するとともに、そのソースブロックによってエンベロープされ、前記対の他方のソースブロックによってエンベロープされない、前記対のソースブロックの各々に対する少なくとも1つのベースブロックが存在する、という特性を有する、ステップと、
    複数の受信シンボルを受信するステップと、
    受信シンボルごとにソースブロックを特定するステップであって、その受信シンボルは前記ソースブロックに関する符号化シンボルである、ステップと、
    前記複数の受信シンボルからソースシンボルを有するセットを復号するステップであって、前記対のソースブロックの集合によって表される前記ソースデータの部分は、前記対の第1のソースブロックから生成された符号化シンボルに対応する受信シンボルを有する第1のセットと前記対の第2のソースブロックから生成された符号化シンボルに対応する受信シンボルを有する第2のセットとの組合せからリカバリが可能であることが保証され、前記第1のセットにおける受信シンボルの量は前記第1のソースブロックにおけるソースデータの量を下回り、前記第2のセットにおける受信シンボルの量は前記第2のソースブロックにおけるソースデータの量を下回る、ステップと
    を含む、方法。
  27. N1が前記第1のソースブロックの前記ソースデータにおけるソースシンボルの数である場合、N2が前記第2のソースブロックの前記ソースデータにおけるソースシンボルの数である場合、N3がゼロを上回る、前記第1および第2のソースブロックのインターセクションにおけるソースシンボルの数である場合、前記符号化シンボルおよび前記ソースシンボルが同じサイズを有する場合、R1が受信シンボルを有する前記第1のセットにおける受信シンボルの数であり、R2が受信シンボルを有する前記第2のセットにおける受信シンボルの数である場合、R1個の受信シンボルを有する前記第1のセットから、またR2個の受信シンボルを有する前記第2のセットから前記一対のソースブロックの前記集合を復号するステップは、R1<N1およびR2<N2となるようなR1およびR2の少なくとも1つの値について、R1+R2=N1+N2-N3である場合、所定のしきい値確率を超えて保証される、請求項26に記載の方法。
  28. 前記対のソースブロックの前記集合を復号するステップは、R1≦N1およびR2≦N2のすべての値について、R1+R2=N1+N2-N3である場合、所定のしきい値確率を超えて保証される、請求項27に記載の方法。
  29. 前記対のソースブロックの前記集合を復号するステップは、R1≦N1およびR2≦N2のすべての値について、R1+R2=N1+N2-N3である場合、確実である、請求項27に記載の方法。
  30. 前記対の前記第1のソースブロックによって表される前記ソースデータの前記部分は、前記第1のソースブロックから生成された符号化シンボルを有する第3のセットからリカバリが可能であり、前記第3のセットにおける符号化シンボルの量は、前記第1のソースブロックに表されるソースデータの量を上回らない、請求項26に記載の方法。
  31. 各ソースブロックから生成され得る別個の符号化シンボルの数は、前記ソースブロックのサイズとは独立である、請求項26に記載の方法。
  32. ソースシンボルに対するベースブロックを特定するステップおよびベースブロックのソースブロックを特定するステップのうちの少なくとも1つは、符号化を開始する前に実行される、請求項26に記載の方法。
  33. ベースブロックがソースシンボルの各々に対して特定される前に、かつ/または前記エンベロープされるベースブロックが前記ソースブロックの各々に対して決定される前に、少なくともいくつかの符号化シンボルが生成される、請求項26に記載の方法。
  34. どの受信シンボルが受信されたか、および/または前記ソースデータのどの部分が受信機において望まれるか、および/またはデータ優先度選好に基づいて、デコーダにおける結果を表す受信機フィードバックを決定するステップと、
    符号化プロセスを変更するのに使用可能であるような前記受信機フィードバックを出力するステップと
    をさらに含む、請求項26に記載の方法。
  35. 各ソースブロックによってエンベロープされる前記ベースブロックにおけるソースシンボルの数は、前記ソースブロックのうちの2つ以上の間では独立である、請求項26に記載の方法。
  36. ベースブロックのものと特定される前記ソースシンボルは、前記順序付き複数のソースシンボル内で連続する、請求項26に記載の方法。
  37. ソースブロックによってエンベロープされる前記ベースブロックに特定されるソースシンボルは、前記順序付き複数のソースシンボル内で連続する、請求項26に記載の方法。
  38. 復号するステップは、
    受信シンボルごとに、有限体から選択される係数セットを決定するステップと、
    2つ以上の受信シンボルまたは以前に復号されたソースシンボルから、前記2つ以上の受信シンボルに前記係数セットを使用して少なくとも1つのソースシンボルを復号するステップと
    をさらに含む、請求項26に記載の方法。
  39. 1つまたは複数のソースブロックの集合をリカバリするシンボル演算の数は、前記ソースブロックの前記集合によって表される前記ソースデータの前記部分におけるソースシンボルの数の平方よりもはるかに少ない、請求項26に記載の方法。
  40. 誤りまたは喪失をもたらす可能性がある通信チャネルを通じて送信するためのデータを復号するエンコーダであって、
    順序付き複数のソースシンボルによって表されるソースデータを受信するための入力部であって、前記ソースデータは送信された符号化シンボルからリカバリが可能である、入力部と、
    複数のベースブロックの少なくとも一部分のためのストレージであって、各ベースブロックは前記順序付き複数のソースシンボルのうちの1つまたは複数のソースシンボルの表現を含む、ストレージと、
    機械可読形態で記憶されるか、論理命令に従って生成可能である、複数のソースブロックの各々を1つまたは複数のベースブロックにマッピングする論理マップであって、前記複数のソースブロックは、少なくとも一対のソースブロックを含み、一対のソースブロックは、前記対の両方のソースブロックによってエンベロープされる少なくとも1つのベースブロックが存在するとともに、そのソースブロックによってエンベロープされ、前記対の他方のソースブロックによってエンベロープされない、前記対のソースブロックの各々に対する少なくとも1つのベースブロックが存在する、という特性を有する、論理マップと、
    符号化ブロックのためのストレージと、
    複数の符号化シンボルを形成するためにソースブロックのソースシンボルをそれぞれ符号化する1つまたは複数のエンコーダであって、所与の符号化シンボルは、それが符号化するソースシンボルを有する前記ソースブロック以外のソースブロックからのソースシンボル値とは独立であり、それにより、前記対のソースブロックの集合によって表される前記ソースデータの部分は、前記対の第1のソースブロックから生成された符号化シンボルを有する第1のセットと前記対の第2のソースブロックから生成された符号化シンボルを有する第2のセットとの組合せからリカバリが可能であることが保証され、前記第1のセットにおける符号化シンボルの量は前記第1のソースブロックにおけるソースデータの量を下回り、前記第2のセットにおける符号化シンボルの量は前記第2のソースブロックにおけるソースデータの量を下回る、エンコーダと
    を含む、エンコーダ。
  41. 前記第1のセットにおける符号化シンボルの数と前記第2のセットにおける符号化シンボルの数との和は、前記対のソースブロックの前記集合によって表される前記ソースデータの前記部分におけるソースシンボルの数を、前記符号化シンボルおよび前記ソースシンボルが同じサイズを有する場合には上回らない、請求項40に記載のエンコーダ。
  42. 前記対の前記第1のソースブロックによって表される前記ソースデータの前記部分は、前記第1のソースブロックから生成された符号化シンボルを有する第3のセットからリカバリが可能であり、前記第3のセットにおける符号化シンボルの量は、前記第1のソースブロックに表されるソースデータの量を上回らない、請求項40に記載のエンコーダ。
  43. 各ソースブロックから生成され得る別個の符号化シンボルの数は、前記ソースブロックのサイズとは独立である、請求項40に記載のエンコーダ。
  44. 符号化シンボルを受信中であるか受信したデコーダにおける結果を表す受信機フィードバックを受信するための入力部と、
    ベースブロックにおけるソースシンボルの構成要素、ソースブロックをエンベロープする際のベースブロックの構成要素、ベースブロック1個あたりのソースシンボルの数、ソースブロックにおけるシンボルの数、および/またはソースブロックから生成される符号化シンボルの数のうちの1つまたは複数を調整するための論理であって、前記調整は前記受信機フィードバックに少なくとも部分的に基づいて行われる、論理と
    をさらに含む、請求項40に記載のエンコーダ。
  45. 前記ソースデータに関する様々なデータ優先度選好を表すデータ優先度選好信号を受信するための入力部と、
    ベースブロックにおけるソースシンボルの構成要素、ソースブロックをエンベロープする際のベースブロックの構成要素、ベースブロック1個あたりのソースシンボルの数、ソースブロックにおけるシンボルの数、および/またはソースブロックから生成される符号化シンボルの数のうちの1つまたは複数を調整するための論理であって、前記調整は前記データ優先度選好信号に少なくとも部分的に基づいて行われる、論理と
    をさらに含む、請求項40に記載のエンコーダ。
  46. 各ソースブロックによってエンベロープされる前記ベースブロックにおけるソースシンボルの数は、前記ソースブロックのうちの2つ以上の間では独立である、請求項40に記載のエンコーダ。
  47. ベースブロックのものと特定される前記ソースシンボルは、前記順序付き複数のソースシンボル内で連続する、請求項40に記載のエンコーダ。
  48. ソースブロックによってエンベロープされる前記ベースブロックに特定されるソースシンボルは、前記順序付き複数のソースシンボル内で連続する、請求項40に記載のエンコーダ。
  49. あるソースブロックに関して生成され得る別個の符号化シンボルの数は、他のソースブロックに関して生成され得る符号化シンボルの数とは独立である、請求項40に記載のエンコーダ。
  50. 所与のソースブロックに関して生成される別個の符号化シンボルの数は、前記所与のソースブロックによってエンベロープされる前記ベースブロックにおけるソースシンボルの数とは独立である、請求項40に記載のエンコーダ。
  51. 複数の前記符号化シンボルの各々について有限体から選択される係数セットのためのストレージと、
    単一のソースブロックによってエンベロープされる1つまたは複数のベースブロックのソースシンボルの組合せとして、前記符号化シンボルを生成するための論理であって、前記組合せは前記係数セットによって部分的に定義される、論理と
    をさらに含む、請求項40に記載のエンコーダ。
JP2013553619A 2011-02-11 2012-02-10 フレキシブルなソースブロックのマッピングを伴う伸縮性符号を使用した符号化および復号 Expired - Fee Related JP5863200B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/025,900 2011-02-11
US13/025,900 US9270299B2 (en) 2011-02-11 2011-02-11 Encoding and decoding using elastic codes with flexible source block mapping
PCT/US2012/024755 WO2012109614A1 (en) 2011-02-11 2012-02-10 Encoding and decoding using elastic codes with flexible source block mapping

Publications (2)

Publication Number Publication Date
JP2014505450A true JP2014505450A (ja) 2014-02-27
JP5863200B2 JP5863200B2 (ja) 2016-02-16

Family

ID=45688299

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013553619A Expired - Fee Related JP5863200B2 (ja) 2011-02-11 2012-02-10 フレキシブルなソースブロックのマッピングを伴う伸縮性符号を使用した符号化および復号

Country Status (6)

Country Link
US (1) US9270299B2 (ja)
EP (1) EP2673885A1 (ja)
JP (1) JP5863200B2 (ja)
KR (1) KR101554406B1 (ja)
CN (1) CN103444087B (ja)
WO (1) WO2012109614A1 (ja)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6307487B1 (en) 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US7068729B2 (en) 2001-12-21 2006-06-27 Digital Fountain, Inc. Multi-stage code generator and decoder for communication systems
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
JP4546246B2 (ja) 2002-10-05 2010-09-15 デジタル ファウンテン, インコーポレイテッド 連鎖的暗号化反応の系統的記号化および復号化
CN1954501B (zh) 2003-10-06 2010-06-16 数字方敦股份有限公司 通过通信信道接收从源发射的数据的方法
CN103124182B (zh) 2004-05-07 2017-05-10 数字方敦股份有限公司 文件下载和流系统
CN101686107B (zh) * 2006-02-13 2014-08-13 数字方敦股份有限公司 使用可变fec开销和保护周期的流送和缓冲
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
WO2007134196A2 (en) 2006-05-10 2007-11-22 Digital Fountain, Inc. Code generator and decoder using hybrid codes
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
EP2203836A4 (en) 2007-09-12 2014-11-05 Digital Fountain Inc GENERATING AND COMMUNICATING SOURCE IDENTIFICATION INFORMATION TO ENABLE RELIABLE COMMUNICATIONS
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
US9917874B2 (en) * 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US9485546B2 (en) 2010-06-29 2016-11-01 Qualcomm Incorporated Signaling video samples for trick mode video representations
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
US8806050B2 (en) 2010-08-10 2014-08-12 Qualcomm Incorporated Manifest file updates for network streaming of coded multimedia data
TWI445323B (zh) * 2010-12-21 2014-07-11 Ind Tech Res Inst 資料傳送的混合式編解碼裝置與方法
JP5529177B2 (ja) 2011-01-19 2014-06-25 ネイバー ビジネス プラットフォーム コーポレーション P2p基盤のストリーミングサービスでバッファリングを行うシステムおよび方法、並びにクライアントでバッファリングを処理するアプリケーションを配布するシステム
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery
US20140006536A1 (en) * 2012-06-29 2014-01-02 Intel Corporation Techniques to accelerate lossless compression
KR101425506B1 (ko) * 2012-09-22 2014-08-05 최수정 보완적인 저밀도 역 코드를 이용한 부호화/복호화 방법 및 장치
US10015486B2 (en) * 2012-10-26 2018-07-03 Intel Corporation Enhanced video decoding with application layer forward error correction
US9363131B2 (en) * 2013-03-15 2016-06-07 Imagine Communications Corp. Generating a plurality of streams
EP2846469A1 (en) * 2013-09-10 2015-03-11 Alcatel Lucent Rateless encoding
US10021426B2 (en) * 2013-09-19 2018-07-10 Board Of Trustees Of The University Of Alabama Multi-layer integrated unequal error protection with optimal parameter determination for video quality granularity-oriented transmissions
TWI523465B (zh) * 2013-12-24 2016-02-21 財團法人工業技術研究院 檔案傳輸系統和方法
KR102093206B1 (ko) * 2014-01-09 2020-03-26 삼성전자주식회사 데이터 인코딩 방법 및 전자장치
US9496897B1 (en) * 2014-03-31 2016-11-15 EMC IP Holding Company LLC Methods and apparatus for generating authenticated error correcting codes
JPWO2015177917A1 (ja) * 2014-05-23 2017-04-20 富士通株式会社 演算回路、符号化回路及び復号回路
JP2016126813A (ja) 2015-01-08 2016-07-11 マイクロン テクノロジー, インク. 半導体装置
CN106612433B (zh) * 2015-10-22 2019-11-26 中国科学院上海高等研究院 一种层析式编码译码方法
US10089189B2 (en) * 2016-04-15 2018-10-02 Motorola Solutions, Inc. Devices and methods for receiving a data file in a communication system
WO2017193305A1 (zh) * 2016-05-11 2017-11-16 华为技术有限公司 数据传输方法、设备及系统
US10320428B2 (en) * 2016-08-15 2019-06-11 Qualcomm Incorporated Outputting of codeword bits for transmission prior to loading all input bits
US11979340B2 (en) 2017-02-12 2024-05-07 Mellanox Technologies, Ltd. Direct data placement
US10516710B2 (en) * 2017-02-12 2019-12-24 Mellanox Technologies, Ltd. Direct packet placement
US10210125B2 (en) 2017-03-16 2019-02-19 Mellanox Technologies, Ltd. Receive queue with stride-based data scattering
CN107040787B (zh) * 2017-03-30 2019-08-02 宁波大学 一种基于视觉感知的3d-hevc帧间信息隐藏方法
US12058309B2 (en) 2018-07-08 2024-08-06 Mellanox Technologies, Ltd. Application accelerator
US11252464B2 (en) * 2017-06-14 2022-02-15 Mellanox Technologies, Ltd. Regrouping of video data in host memory
US20180367589A1 (en) * 2017-06-14 2018-12-20 Mellanox Technologies, Ltd. Regrouping of video data by a network interface controller
US10367750B2 (en) 2017-06-15 2019-07-30 Mellanox Technologies, Ltd. Transmission and reception of raw video using scalable frame rate
CN107748650B (zh) * 2017-10-09 2020-07-03 暨南大学 一种网络编码集群存储系统中基于锁机制的数据重建策略
US11762557B2 (en) 2017-10-30 2023-09-19 AtomBeam Technologies Inc. System and method for data compaction and encryption of anonymized datasets
CN110138451B (zh) 2018-02-08 2020-12-04 华为技术有限公司 一种用于无线光通信的方法及通信装置
EP4118751A4 (en) * 2020-03-13 2023-11-29 Qualcomm Incorporated RAPTOR CODE FEEDBACK
US11722265B2 (en) * 2020-07-17 2023-08-08 Qualcomm Incorporated Feedback design for network coding termination in broadcasting
US12081841B2 (en) 2020-12-16 2024-09-03 Dolby Laboratories Licensing Corporation Multisource media delivery systems and methods
CN114915295B (zh) * 2022-05-09 2024-06-11 重庆邮电大学 一种特定条件下超越熵极限的符号编码方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004348824A (ja) * 2003-05-21 2004-12-09 Toshiba Corp Eccエンコード方法、eccエンコード装置
JP2008016907A (ja) * 2006-07-03 2008-01-24 Internatl Business Mach Corp <Ibm> パケット回復のための符号化および復号化技術
JP2010539816A (ja) * 2007-09-12 2010-12-16 デジタル ファウンテン, インコーポレイテッド 信頼できる通信を可能にするためのソース識別情報の生成および伝達

Family Cites Families (516)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3909721A (en) 1972-01-31 1975-09-30 Signatron Signal processing system
US4365338A (en) 1980-06-27 1982-12-21 Harris Corporation Technique for high rate digital transmission over a dynamic dispersive channel
US4965825A (en) 1981-11-03 1990-10-23 The Personalized Mass Media Corporation Signal processing apparatus and methods
US4589112A (en) 1984-01-26 1986-05-13 International Business Machines Corporation System for multiple error detection with single and double bit error correction
US4901319A (en) 1988-03-18 1990-02-13 General Electric Company Transmission system with adaptive interleaving
GB8815978D0 (en) 1988-07-05 1988-08-10 British Telecomm Method & apparatus for encoding decoding & transmitting data in compressed form
US5136592A (en) 1989-06-28 1992-08-04 Digital Equipment Corporation Error detection and correction system for long burst errors
US5701582A (en) 1989-08-23 1997-12-23 Delta Beta Pty. Ltd. Method and apparatus for efficient transmissions of programs
US5421031A (en) 1989-08-23 1995-05-30 Delta Beta Pty. Ltd. Program transmission optimisation
US7594250B2 (en) 1992-04-02 2009-09-22 Debey Henry C Method and system of program transmission optimization using a redundant transmission sequence
US5455823A (en) 1990-11-06 1995-10-03 Radio Satellite Corporation Integrated communications terminal
US5164963A (en) 1990-11-07 1992-11-17 At&T Bell Laboratories Coding for digital transmission
US5465318A (en) 1991-03-28 1995-11-07 Kurzweil Applied Intelligence, Inc. Method for generating a speech recognition model for a non-vocabulary utterance
US5379297A (en) 1992-04-09 1995-01-03 Network Equipment Technologies, Inc. Concurrent multi-channel segmentation and reassembly processors for asynchronous transfer mode
EP0543070A1 (en) 1991-11-21 1993-05-26 International Business Machines Corporation Coding system and method using quaternary codes
US5371532A (en) 1992-05-15 1994-12-06 Bell Communications Research, Inc. Communications architecture and method for distributing information services
US5425050A (en) 1992-10-23 1995-06-13 Massachusetts Institute Of Technology Television transmission system using spread spectrum and orthogonal frequency-division multiplex
US5372532A (en) 1993-01-26 1994-12-13 Robertson, Jr.; George W. Swivel head cap connector
EP0613249A1 (en) 1993-02-12 1994-08-31 Altera Corporation Custom look-up table with reduced number of architecture bits
DE4316297C1 (de) 1993-05-14 1994-04-07 Fraunhofer Ges Forschung Frequenzanalyseverfahren
AU665716B2 (en) 1993-07-05 1996-01-11 Mitsubishi Denki Kabushiki Kaisha A transmitter for encoding error correction codes and a receiver for decoding error correction codes on a transmission frame
US5590405A (en) 1993-10-29 1996-12-31 Lucent Technologies Inc. Communication technique employing variable information transmission
JP2576776B2 (ja) 1993-11-10 1997-01-29 日本電気株式会社 パケット伝送方法・パケット伝送装置
US5517508A (en) 1994-01-26 1996-05-14 Sony Corporation Method and apparatus for detection and error correction of packetized digital data
CA2140850C (en) 1994-02-24 1999-09-21 Howard Paul Katseff Networked system for display of multimedia presentations
US5566208A (en) 1994-03-17 1996-10-15 Philips Electronics North America Corp. Encoder buffer having an effective size which varies automatically with the channel bit-rate
US5432787A (en) 1994-03-24 1995-07-11 Loral Aerospace Corporation Packet data transmission system with adaptive data recovery method
US5757415A (en) 1994-05-26 1998-05-26 Sony Corporation On-demand data transmission by dividing input data into blocks and each block into sub-blocks such that the sub-blocks are re-arranged for storage to data storage means
US5802394A (en) 1994-06-06 1998-09-01 Starlight Networks, Inc. Method for accessing one or more streams in a video storage system using multiple queues and maintaining continuity thereof
US5739864A (en) 1994-08-24 1998-04-14 Macrovision Corporation Apparatus for inserting blanked formatted fingerprint data (source ID, time/date) in to a video signal
US5568614A (en) 1994-07-29 1996-10-22 International Business Machines Corporation Data streaming between peer subsystems of a computer system
US5668948A (en) 1994-09-08 1997-09-16 International Business Machines Corporation Media streamer with control node enabling same isochronous streams to appear simultaneously at output ports or different streams to appear simultaneously at output ports
US5926205A (en) 1994-10-19 1999-07-20 Imedia Corporation Method and apparatus for encoding and formatting data representing a video program to provide multiple overlapping presentations of the video program
US5659614A (en) 1994-11-28 1997-08-19 Bailey, Iii; John E. Method and system for creating and storing a backup copy of file data stored on a computer
US5617541A (en) 1994-12-21 1997-04-01 International Computer Science Institute System for packetizing data encoded corresponding to priority levels where reconstructed data corresponds to fractionalized priority level and received fractionalized packets
JP3614907B2 (ja) 1994-12-28 2005-01-26 株式会社東芝 データ再送制御方法及びデータ再送制御システム
EP0823153A4 (en) 1995-04-27 1999-10-20 Stevens Inst Technology HIGH INTEGRITY TRANSPORT METHOD FOR TIME-CRITICAL MULTIMEDIA NETWORK APPLICATIONS
US5835165A (en) 1995-06-07 1998-11-10 Lsi Logic Corporation Reduction of false locking code words in concatenated decoders
US5805825A (en) 1995-07-26 1998-09-08 Intel Corporation Method for semi-reliable, unidirectional broadcast information services
US6079041A (en) 1995-08-04 2000-06-20 Sanyo Electric Co., Ltd. Digital modulation circuit and digital demodulation circuit
US5754563A (en) 1995-09-11 1998-05-19 Ecc Technologies, Inc. Byte-parallel system for implementing reed-solomon error-correcting codes
KR0170298B1 (ko) 1995-10-10 1999-04-15 김광호 디지탈 비디오 테이프의 기록 방법
US5751336A (en) 1995-10-12 1998-05-12 International Business Machines Corporation Permutation based pyramid block transmission scheme for broadcasting in video-on-demand storage systems
JP3305183B2 (ja) 1996-01-12 2002-07-22 株式会社東芝 ディジタル放送受信端末装置
US6012159A (en) 1996-01-17 2000-01-04 Kencast, Inc. Method and system for error-free data transfer
US5936659A (en) 1996-01-31 1999-08-10 Telcordia Technologies, Inc. Method for video delivery using pyramid broadcasting
US5903775A (en) 1996-06-06 1999-05-11 International Business Machines Corporation Method for the sequential transmission of compressed video information at varying data rates
US5745504A (en) 1996-06-25 1998-04-28 Telefonaktiebolaget Lm Ericsson Bit error resilient variable length code
US5940863A (en) 1996-07-26 1999-08-17 Zenith Electronics Corporation Apparatus for de-rotating and de-interleaving data including plural memory devices and plural modulo memory address generators
US5936949A (en) 1996-09-05 1999-08-10 Netro Corporation Wireless ATM metropolitan area network
KR100261706B1 (ko) 1996-12-17 2000-07-15 가나이 쓰도무 디지탈방송신호의 수신장치와 수신 및 기록재생장치
US6044485A (en) 1997-01-03 2000-03-28 Ericsson Inc. Transmitter method and transmission system using adaptive coding based on channel characteristics
US6011590A (en) 1997-01-03 2000-01-04 Ncr Corporation Method of transmitting compressed information to minimize buffer space
US6141053A (en) 1997-01-03 2000-10-31 Saukkonen; Jukka I. Method of optimizing bandwidth for transmitting compressed video data streams
US5983383A (en) 1997-01-17 1999-11-09 Qualcom Incorporated Method and apparatus for transmitting and receiving concatenated code data
US5946357A (en) 1997-01-17 1999-08-31 Telefonaktiebolaget L M Ericsson Apparatus, and associated method, for transmitting and receiving a multi-stage, encoded and interleaved digital communication signal
EP0854650A3 (en) 1997-01-17 2001-05-02 NOKIA TECHNOLOGY GmbH Method for addressing a service in digital video broadcasting
US6014706A (en) 1997-01-30 2000-01-11 Microsoft Corporation Methods and apparatus for implementing control functions in a streamed video display system
US6115420A (en) 1997-03-14 2000-09-05 Microsoft Corporation Digital video signal encoder and encoding method
DE19716011A1 (de) 1997-04-17 1998-10-22 Abb Research Ltd Verfahren und Vorrichtung zur Informationsübertragung über Stromversorgungsleitungen
US6226259B1 (en) 1997-04-29 2001-05-01 Canon Kabushiki Kaisha Device and method for transmitting information device and method for processing information
US5970098A (en) 1997-05-02 1999-10-19 Globespan Technologies, Inc. Multilevel encoder
US5844636A (en) 1997-05-13 1998-12-01 Hughes Electronics Corporation Method and apparatus for receiving and recording digital packet data
JP4110593B2 (ja) 1997-05-19 2008-07-02 ソニー株式会社 信号記録方法及び信号記録装置
JPH1141211A (ja) 1997-05-19 1999-02-12 Sanyo Electric Co Ltd ディジタル変調回路と変調方法、ディジタル復調回路と復調方法
EP0933768A4 (en) 1997-05-19 2000-10-04 Sanyo Electric Co DIGITAL MODULATION AND DEMODULATION
US6128649A (en) 1997-06-02 2000-10-03 Nortel Networks Limited Dynamic selection of media streams for display
US6081907A (en) 1997-06-09 2000-06-27 Microsoft Corporation Data delivery system and method for delivering data and redundant information over a unidirectional network
US5917852A (en) 1997-06-11 1999-06-29 L-3 Communications Corporation Data scrambling system and method and communications system incorporating same
KR100240869B1 (ko) 1997-06-25 2000-01-15 윤종용 이중 다이버서티 시스템을 위한 데이터 전송 방법
US6175944B1 (en) 1997-07-15 2001-01-16 Lucent Technologies Inc. Methods and apparatus for packetizing data for transmission through an erasure broadcast channel
US5933056A (en) 1997-07-15 1999-08-03 Exar Corporation Single pole current mode common-mode feedback circuit
US6047069A (en) 1997-07-17 2000-04-04 Hewlett-Packard Company Method and apparatus for preserving error correction capabilities during data encryption/decryption
US6904110B2 (en) 1997-07-31 2005-06-07 Francois Trans Channel equalization system and method
US6178536B1 (en) 1997-08-14 2001-01-23 International Business Machines Corporation Coding scheme for file backup and systems based thereon
FR2767940A1 (fr) 1997-08-29 1999-02-26 Canon Kk Procedes et dispositifs de codage et de decodage et appareils les mettant en oeuvre
EP0903955A1 (en) 1997-09-04 1999-03-24 STMicroelectronics S.r.l. Modular architecture PET decoder for ATM networks
US6088330A (en) 1997-09-09 2000-07-11 Bruck; Joshua Reliable array of distributed computing nodes
US6134596A (en) 1997-09-18 2000-10-17 Microsoft Corporation Continuous media file server system and method for scheduling network resources to play multiple files having different data transmission rates
US6272658B1 (en) 1997-10-27 2001-08-07 Kencast, Inc. Method and system for reliable broadcasting of data files and streams
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
US6195777B1 (en) 1997-11-06 2001-02-27 Compaq Computer Corporation Loss resilient code with double heavy tailed series of redundant layers
US6073250A (en) 1997-11-06 2000-06-06 Luby; Michael G. Loss resilient decoding technique
US6081909A (en) 1997-11-06 2000-06-27 Digital Equipment Corporation Irregularly graphed encoding 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
WO1999052282A1 (en) 1998-04-02 1999-10-14 Sarnoff Corporation Bursty data transmission of compressed video data
US6185265B1 (en) 1998-04-07 2001-02-06 Worldspace Management Corp. System for time division multiplexing broadcast channels with R-1/2 or R-3/4 convolutional coding for satellite transmission via on-board baseband processing payload or transparent payload
US6067646A (en) 1998-04-17 2000-05-23 Ameritech Corporation Method and system for adaptive interleaving
US6018359A (en) 1998-04-24 2000-01-25 Massachusetts Institute Of Technology System and method for multicast video-on-demand delivery system
US6445717B1 (en) 1998-05-01 2002-09-03 Niwot Networks, Inc. System for recovering lost information in a data stream
US6421387B1 (en) 1998-05-15 2002-07-16 North Carolina State University Methods and systems for forward error correction based loss recovery for interactive video transmission
US6937618B1 (en) 1998-05-20 2005-08-30 Sony Corporation Separating device and method and signal receiving device and method
US6333926B1 (en) 1998-08-11 2001-12-25 Nortel Networks Limited Multiple user CDMA basestation modem
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
US7243285B2 (en) 1998-09-23 2007-07-10 Digital Fountain, Inc. Systems and methods for broadcasting information additive codes
US7068729B2 (en) 2001-12-21 2006-06-27 Digital Fountain, Inc. Multi-stage code generator and decoder for communication systems
US6320520B1 (en) 1998-09-23 2001-11-20 Digital Fountain Information additive group code generator and decoder for communications systems
US6307487B1 (en) 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US6704370B1 (en) 1998-10-09 2004-03-09 Nortel Networks Limited Interleaving methodology and apparatus for CDMA
IT1303735B1 (it) 1998-11-11 2001-02-23 Falorni Italia Farmaceutici S Acidi ialuronici reticolati e loro usi medici.
US6408128B1 (en) 1998-11-12 2002-06-18 Max Abecassis Replaying with supplementary information a segment of a video
US7157314B2 (en) 1998-11-16 2007-01-02 Sandisk Corporation Vertically stacked field programmable nonvolatile memory and method of fabrication
JP2000151426A (ja) 1998-11-17 2000-05-30 Toshiba Corp インターリーブ・デインターリーブ回路
US6166544A (en) 1998-11-25 2000-12-26 General Electric Company MR imaging system with interactive image contrast control
US6876623B1 (en) 1998-12-02 2005-04-05 Agere Systems Inc. Tuning scheme for code division multiplex broadcasting system
PL192020B1 (pl) 1998-12-03 2006-08-31 Fraunhofer Ges Forschung Sposób i urządzenie do nadawania informacji oraz sposób i urządzenie do odbierania informacji
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
AU2827400A (en) 1999-03-03 2000-09-21 Sony Corporation Transmitter, receiver, transmitter/receiver system, transmission method and reception method
US6785323B1 (en) 1999-11-22 2004-08-31 Ipr Licensing, Inc. Variable rate coding for forward link
US6466698B1 (en) 1999-03-25 2002-10-15 The United States Of America As Represented By The Secretary Of The Navy Efficient embedded image and video compression system using lifted wavelets
US6609223B1 (en) 1999-04-06 2003-08-19 Kencast, Inc. Method for packet-level fec encoding, in which on a source packet-by-source packet basis, the error correction contributions of a source packet to a plurality of wildcard packets are computed, and the source packet is transmitted thereafter
JP3256517B2 (ja) 1999-04-06 2002-02-12 インターナショナル・ビジネス・マシーンズ・コーポレーション 符号化回路、回路、パリティ生成方法及び記憶媒体
US6535920B1 (en) 1999-04-06 2003-03-18 Microsoft Corporation Analyzing, indexing and seeking of streaming information
US6804202B1 (en) 1999-04-08 2004-10-12 Lg Information And Communications, Ltd. Radio protocol for mobile communication system and method
US7885340B2 (en) 1999-04-27 2011-02-08 Realnetworks, Inc. System and method for generating multiple synchronized encoded representations of media data
FI113124B (fi) 1999-04-29 2004-02-27 Nokia Corp Tiedonsiirto
MY130203A (en) 1999-05-06 2007-06-29 Sony Corp Methods and apparatus for data processing, methods and apparatus for data reproducing and recording media
KR100416996B1 (ko) 1999-05-10 2004-02-05 삼성전자주식회사 이동 통신시스템에서 라디오링크프로토콜에 따른 가변 길이의 데이터 송수신 장치 및 방법
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
JP3451221B2 (ja) 1999-07-22 2003-09-29 日本無線株式会社 誤り訂正符号化装置、方法及び媒体、並びに誤り訂正符号復号装置、方法及び媒体
US6279072B1 (en) 1999-07-22 2001-08-21 Micron Technology, Inc. Reconfigurable memory with selectable error correction storage
US6453440B1 (en) 1999-08-04 2002-09-17 Sun Microsystems, Inc. System and method for detecting double-bit errors and for correcting errors due to component failures
JP2001060934A (ja) 1999-08-20 2001-03-06 Matsushita Electric Ind Co Ltd Ofdm通信装置
US6430233B1 (en) 1999-08-30 2002-08-06 Hughes Electronics Corporation Single-LNB satellite data receiver
US6332163B1 (en) 1999-09-01 2001-12-18 Accenture, Llp Method for providing communication services over a computer network system
JP4284774B2 (ja) 1999-09-07 2009-06-24 ソニー株式会社 送信装置、受信装置、通信システム、送信方法及び通信方法
EP1131930B1 (en) 1999-09-27 2007-01-17 Koninklijke Philips Electronics N.V. Partitioning of file for emulating streaming
JP2001094625A (ja) 1999-09-27 2001-04-06 Canon Inc データ通信装置、データ通信方法及び記憶媒体
US7529806B1 (en) 1999-11-04 2009-05-05 Koninklijke Philips Electronics N.V. Partitioning of MP3 content file for emulating streaming
US20050160272A1 (en) 1999-10-28 2005-07-21 Timecertain, Llc System and method for providing trusted time in content of digital data files
US6523147B1 (en) 1999-11-11 2003-02-18 Ibiquity Digital Corporation Method and apparatus for forward error correction coding for an AM in-band on-channel digital audio broadcasting system
US6678855B1 (en) 1999-12-02 2004-01-13 Microsoft Corporation Selecting K in a data transmission carousel using (N,K) forward error correction
US6748441B1 (en) 1999-12-02 2004-06-08 Microsoft Corporation Data carousel receiving and caching
US6798791B1 (en) 1999-12-16 2004-09-28 Agere Systems Inc Cluster frame synchronization scheme for a satellite digital audio radio system
US6487692B1 (en) 1999-12-21 2002-11-26 Lsi Logic Corporation Reed-Solomon decoder
US20020009137A1 (en) 2000-02-01 2002-01-24 Nelson John E. Three-dimensional video broadcasting system
US6965636B1 (en) 2000-02-01 2005-11-15 2Wire, Inc. System and method for block error correction in packet-based digital communications
IL140504A0 (en) 2000-02-03 2002-02-10 Bandwiz Inc Broadcast system
US7304990B2 (en) * 2000-02-03 2007-12-04 Bandwiz Inc. Method of encoding and transmitting data over a communication medium through division and segmentation
WO2001058130A2 (en) 2000-02-03 2001-08-09 Bandwiz, Inc. Coding method
JP2001251287A (ja) 2000-02-24 2001-09-14 Geneticware Corp Ltd ハードウエア保護内部秘匿鍵及び可変パスコードを利用する機密データ伝送方法
DE10009443A1 (de) 2000-02-29 2001-08-30 Philips Corp Intellectual Pty Empfänger und Verfahren zum Detektieren und Dekodieren eines DQPSK-modulierten und kanalkodierten Empfangssignals
US6765866B1 (en) 2000-02-29 2004-07-20 Mosaid Technologies, Inc. Link aggregation
US6384750B1 (en) 2000-03-23 2002-05-07 Mosaid Technologies, Inc. Multi-stage lookup for translating between signals of different bit lengths
US6510177B1 (en) 2000-03-24 2003-01-21 Microsoft Corporation System and method for layered video coding enhancement
JP2001274776A (ja) 2000-03-24 2001-10-05 Toshiba Corp 情報データ伝送システムとその送信装置及び受信装置
WO2001076077A2 (en) 2000-03-31 2001-10-11 Ted Szymanski Transmitter, receiver, and coding scheme to increase data rate and decrease bit error rate of an optical data link
US6473010B1 (en) 2000-04-04 2002-10-29 Marvell International, Ltd. Method and apparatus for determining error correction code failure rate for iterative decoding algorithms
US8572646B2 (en) 2000-04-07 2013-10-29 Visible World Inc. System and method for simultaneous broadcast for personalized messages
AU2001251353A1 (en) 2000-04-08 2001-10-23 Sun Microsystems, Inc. Streaming a single media track to multiple clients
US6631172B1 (en) 2000-05-01 2003-10-07 Lucent Technologies Inc. Efficient list decoding of Reed-Solomon codes for message recovery in the presence of high noise levels
US6742154B1 (en) 2000-05-25 2004-05-25 Ciena Corporation Forward error correction codes for digital optical network optimization
US6694476B1 (en) 2000-06-02 2004-02-17 Vitesse Semiconductor Corporation Reed-solomon encoder and decoder
US6738942B1 (en) 2000-06-02 2004-05-18 Vitesse Semiconductor Corporation Product code based forward error correction system
GB2366159B (en) 2000-08-10 2003-10-08 Mitel Corp Combination reed-solomon and turbo coding
US6834342B2 (en) 2000-08-16 2004-12-21 Eecad, Inc. Method and system for secure communication over unstable public connections
KR100447162B1 (ko) 2000-08-19 2004-09-04 엘지전자 주식회사 래디오 링크 콘트롤(rlc)에서 프로토콜 데이터 유닛(pdu) 정보의 길이 지시자(li) 처리방법
JP2002073625A (ja) 2000-08-24 2002-03-12 Nippon Hoso Kyokai <Nhk> 放送番組に同期した情報提供の方法、サーバ及び媒体
US7340664B2 (en) 2000-09-20 2008-03-04 Lsi Logic Corporation Single engine turbo decoder with single frame size buffer for interleaving/deinterleaving
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
US6486803B1 (en) 2000-09-22 2002-11-26 Digital Fountain, Inc. On demand encoding with a window
US7151754B1 (en) 2000-09-22 2006-12-19 Lucent Technologies Inc. Complete user datagram protocol (CUDP) for wireless multimedia packet networks using improved packet level forward error correction (FEC) coding
US7490344B2 (en) 2000-09-29 2009-02-10 Visible World, Inc. System and method for seamless switching
US6411223B1 (en) 2000-10-18 2002-06-25 Digital Fountain, Inc. Generating high weight encoding symbols using a basis
US7613183B1 (en) 2000-10-31 2009-11-03 Foundry Networks, Inc. System and method for router data aggregation and delivery
US6694478B1 (en) 2000-11-07 2004-02-17 Agere Systems Inc. Low delay channel codes for correcting bursts of lost packets
US6732325B1 (en) 2000-11-08 2004-05-04 Digeo, Inc. Error-correction with limited working storage
US20020133247A1 (en) 2000-11-11 2002-09-19 Smith Robert D. System and method for seamlessly switching between media streams
US7072971B2 (en) 2000-11-13 2006-07-04 Digital Foundation, Inc. Scheduling of multiple files for serving on a server
US7240358B2 (en) 2000-12-08 2007-07-03 Digital Fountain, Inc. Methods and apparatus for scheduling, serving, receiving media-on demand for clients, servers arranged according to constraints on resources
WO2002049343A1 (en) 2000-12-15 2002-06-20 British Telecommunications Public Limited Company Transmission and reception of audio and/or video material
CN1243442C (zh) 2000-12-15 2006-02-22 英国电讯有限公司 音频和/或视频资料的传输和接收
US6850736B2 (en) 2000-12-21 2005-02-01 Tropian, Inc. Method and apparatus for reception quality indication in wireless communication
US7143433B1 (en) 2000-12-27 2006-11-28 Infovalve Computing Inc. Video distribution system using dynamic segmenting of video data files
US20020085013A1 (en) 2000-12-29 2002-07-04 Lippincott Louis A. Scan synchronized dual frame buffer graphics subsystem
NO315887B1 (no) 2001-01-04 2003-11-03 Fast Search & Transfer As Fremgangsmater ved overforing og soking av videoinformasjon
US20080059532A1 (en) 2001-01-18 2008-03-06 Kazmi Syed N Method and system for managing digital content, including streaming media
DE10103387A1 (de) 2001-01-26 2002-08-01 Thorsten Nordhoff Windkraftanlage mit einer Einrichtung zur Hindernisbefeuerung bzw. Nachtkennzeichnung
FI118830B (fi) 2001-02-08 2008-03-31 Nokia Corp Tietovirran toisto
US6868083B2 (en) 2001-02-16 2005-03-15 Hewlett-Packard Development Company, L.P. Method and system for packet communication employing path diversity
US20020129159A1 (en) 2001-03-09 2002-09-12 Michael Luby Multi-output packet server with independent streams
KR100464360B1 (ko) 2001-03-30 2005-01-03 삼성전자주식회사 고속 패킷 데이터 전송 이동통신시스템에서 패킷 데이터채널에 대한 효율적인 에너지 분배 장치 및 방법
US20020143953A1 (en) 2001-04-03 2002-10-03 International Business Machines Corporation Automatic affinity within networks performing workload balancing
US6785836B2 (en) 2001-04-11 2004-08-31 Broadcom Corporation In-place data transformation for fault-tolerant disk storage systems
US6820221B2 (en) 2001-04-13 2004-11-16 Hewlett-Packard Development Company, L.P. System and method for detecting process and network failures in a distributed system
US7010052B2 (en) 2001-04-16 2006-03-07 The Ohio University Apparatus and method of CTCM encoding and decoding for a digital communication system
US7035468B2 (en) 2001-04-20 2006-04-25 Front Porch Digital Inc. Methods and apparatus for archiving, indexing and accessing audio and video data
TWI246841B (en) 2001-04-22 2006-01-01 Koninkl Philips Electronics Nv Digital transmission system and method for transmitting digital signals
US20020191116A1 (en) 2001-04-24 2002-12-19 Damien Kessler System and data format for providing seamless stream switching in a digital video recorder
US6497479B1 (en) 2001-04-27 2002-12-24 Hewlett-Packard Company Higher organic inks with good reliability and drytime
US7962482B2 (en) 2001-05-16 2011-06-14 Pandora Media, Inc. Methods and systems for utilizing contextual feedback to generate and modify playlists
US6633856B2 (en) 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
US7076478B2 (en) 2001-06-26 2006-07-11 Microsoft Corporation Wrapper playlists on streaming media services
US6745364B2 (en) 2001-06-28 2004-06-01 Microsoft Corporation Negotiated/dynamic error correction for streamed media
US6895547B2 (en) 2001-07-11 2005-05-17 International Business Machines Corporation Method and apparatus for low density parity check encoding of data
US6928603B1 (en) 2001-07-19 2005-08-09 Adaptix, Inc. System and method for interference mitigation using adaptive forward error correction in a wireless RF data transmission system
US6961890B2 (en) 2001-08-16 2005-11-01 Hewlett-Packard Development Company, L.P. Dynamic variable-length error correction code
US7110412B2 (en) 2001-09-18 2006-09-19 Sbc Technology Resources, Inc. Method and system to transport high-quality video signals
FI115418B (fi) 2001-09-20 2005-04-29 Oplayo Oy Adaptiivinen mediavirta
US6990624B2 (en) 2001-10-12 2006-01-24 Agere Systems Inc. High speed syndrome-based FEC encoder and decoder and system using same
US7480703B2 (en) 2001-11-09 2009-01-20 Sony Corporation System, method, and computer program product for remotely determining the configuration of a multi-media content user based on response of the user
US7003712B2 (en) 2001-11-29 2006-02-21 Emin Martinian Apparatus and method for adaptive, multimode decoding
US7363354B2 (en) 2001-11-29 2008-04-22 Nokia Corporation System and method for identifying and accessing network services
EP1317070A1 (en) * 2001-12-03 2003-06-04 Mitsubishi Electric Information Technology Centre Europe B.V. Method for obtaining from a block turbo-code an error correcting code of desired parameters
JP2003174489A (ja) 2001-12-05 2003-06-20 Ntt Docomo Inc ストリーミング配信装置、ストリーミング配信方法
FI114527B (fi) 2002-01-23 2004-10-29 Nokia Corp Kuvakehysten ryhmittely videokoodauksessa
CN1288915C (zh) 2002-01-23 2006-12-06 诺基亚有限公司 视频序列的编码和解码方法及相关的视频编码器和解码器
US7483489B2 (en) 2002-01-30 2009-01-27 Nxp B.V. Streaming multimedia data over a network having a variable bandwith
WO2003071440A1 (en) 2002-02-15 2003-08-28 Digital Fountain, Inc. System and method for reliably communicating the content of a live data stream
JP4126928B2 (ja) 2002-02-28 2008-07-30 日本電気株式会社 プロキシサーバ及びプロキシ制御プログラム
JP4116470B2 (ja) 2002-03-06 2008-07-09 ヒューレット・パッカード・カンパニー メディア・ストリーミング配信システム
FR2837332A1 (fr) 2002-03-15 2003-09-19 Thomson Licensing Sa Dispositif et procede d'insertion de codes de correction d'erreurs et de reconstitution de flux de donnees, et produits correspondants
JP2005522965A (ja) 2002-04-15 2005-07-28 ノキア コーポレイション 通信局のrlp論理層
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 松下電器産業株式会社 データ受信装置及びデータ配信システム
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
EP2278719B1 (en) 2002-06-11 2013-12-18 Digital Fountain, Inc. Decoding of chain reaction codes through inactivation
AU2002368007A1 (en) 2002-06-11 2003-12-22 Telefonaktiebolaget Lm Ericsson (Publ) Generation of mixed media streams
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
US6956875B2 (en) 2002-06-19 2005-10-18 Atlinks Usa, Inc. Technique for communicating variable bit rate data over a constant bit rate link
JP4120461B2 (ja) 2002-07-12 2008-07-16 住友電気工業株式会社 伝送データ生成方法及び伝送データ生成装置
JPWO2004019521A1 (ja) 2002-07-31 2005-12-15 シャープ株式会社 データ通信装置、その間欠通信方法、その方法を記載するプログラム、及びそのプログラムを記録する記録媒体
JP2004070712A (ja) 2002-08-07 2004-03-04 Nippon Telegr & Teleph Corp <Ntt> データ配信方法,データ配信システム,分割配信データ受信方法,分割配信データ受信装置および分割配信データ受信プログラム
EP1529389B1 (en) 2002-08-13 2016-03-16 Nokia Technologies Oy Symbol interleaving
US6985459B2 (en) 2002-08-21 2006-01-10 Qualcomm Incorporated Early transmission and playout of packets in wireless communication systems
WO2004030273A1 (ja) 2002-09-27 2004-04-08 Fujitsu Limited データ配信方法、システム、伝送方法及びプログラム
JP3534742B1 (ja) 2002-10-03 2004-06-07 株式会社エヌ・ティ・ティ・ドコモ 動画像復号方法、動画像復号装置、及び動画像復号プログラム
JP4546246B2 (ja) 2002-10-05 2010-09-15 デジタル ファウンテン, インコーポレイテッド 連鎖的暗号化反応の系統的記号化および復号化
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
EP1559229A1 (en) 2002-10-30 2005-08-03 Koninklijke Philips Electronics N.V. Adaptative forward error control scheme
JP2004165922A (ja) 2002-11-12 2004-06-10 Sony Corp 情報処理装置および方法、並びにプログラム
GB0226872D0 (en) 2002-11-18 2002-12-24 British Telecomm Video transmission
ATE410029T1 (de) 2002-11-18 2008-10-15 British Telecomm Videoübertragung
KR100502609B1 (ko) 2002-11-21 2005-07-20 한국전자통신연구원 Ldpc 코드를 이용한 부호화기 및 부호화 방법
US7086718B2 (en) 2002-11-23 2006-08-08 Silverbrook Research Pty Ltd Thermal ink jet printhead with high nozzle areal density
JP2004192140A (ja) 2002-12-09 2004-07-08 Sony Corp データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム
JP2004193992A (ja) 2002-12-11 2004-07-08 Sony Corp 情報処理システム、情報処理装置および方法、記録媒体、並びにプログラム
US8135073B2 (en) 2002-12-19 2012-03-13 Trident Microsystems (Far East) Ltd Enhancing video images depending on prior image enhancements
US7164882B2 (en) 2002-12-24 2007-01-16 Poltorak Alexander I Apparatus and method for facilitating a purchase using information provided on a media playing device
US7293222B2 (en) 2003-01-29 2007-11-06 Digital Fountain, Inc. Systems and processes for fast encoding of hamming codes
US7525994B2 (en) 2003-01-30 2009-04-28 Avaya Inc. Packet data flow identification for multiplexing
US7756002B2 (en) 2003-01-30 2010-07-13 Texas Instruments Incorporated Time-frequency interleaved orthogonal frequency division multiplexing ultra wide band physical layer
US7231404B2 (en) 2003-01-31 2007-06-12 Nokia Corporation Datacast file transmission with meta-data retention
US7062272B2 (en) 2003-02-18 2006-06-13 Qualcomm Incorporated Method and apparatus to track count of broadcast content recipients in a wireless telephone network
EP1455504B1 (en) 2003-03-07 2014-11-12 Samsung Electronics Co., Ltd. Apparatus and method for processing audio signal and computer readable recording medium storing computer program for the method
JP4173755B2 (ja) 2003-03-24 2008-10-29 富士通株式会社 データ伝送サーバ
US7610487B2 (en) 2003-03-27 2009-10-27 Microsoft Corporation Human input security codes
US7266147B2 (en) 2003-03-31 2007-09-04 Sharp Laboratories Of America, Inc. Hypothetical reference decoder
JP2004343701A (ja) 2003-04-21 2004-12-02 Matsushita Electric Ind Co Ltd データ受信再生装置、データ受信再生方法及びデータ受信再生処理プログラム
US7408486B2 (en) 2003-04-21 2008-08-05 Qbit Corporation System and method for using a microlet-based modem
US7113773B2 (en) 2003-05-16 2006-09-26 Qualcomm Incorporated Reliable reception of broadcast/multicast content
EP1632081B1 (en) 2003-05-23 2016-08-17 Kirusa, Inc. A method and system for communicating a data file over a network and teleconferencing over a telephony network
JP2004362099A (ja) 2003-06-03 2004-12-24 Sony Corp サーバ装置、情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2006514806A (ja) 2003-06-07 2006-05-11 サムスン エレクトロニクス カンパニー リミテッド マルチメディアデータの提供装置及びその提供方法並びにその方法を記録した記録媒体
KR101003413B1 (ko) 2003-06-12 2010-12-23 엘지전자 주식회사 이동통신 단말기의 전송데이터 압축/해제 방법
US7603689B2 (en) 2003-06-13 2009-10-13 Microsoft Corporation Fast start-up for digital video streams
RU2265960C2 (ru) 2003-06-16 2005-12-10 Федеральное государственное унитарное предприятие "Калужский научно-исследовательский институт телемеханических устройств" Способ передачи информации с использованием адаптивного перемежения
US7391717B2 (en) 2003-06-30 2008-06-24 Microsoft Corporation Streaming of variable bit rate multimedia content
US20050004997A1 (en) 2003-07-01 2005-01-06 Nokia Corporation Progressive downloading of timed multimedia content
US8149939B2 (en) 2003-07-07 2012-04-03 Samsung Electronics Co., Ltd. System of robust DTV signal transmissions that legacy DTV receivers will disregard
US7254754B2 (en) 2003-07-14 2007-08-07 International Business Machines Corporation Raid 3+3
KR100532450B1 (ko) 2003-07-16 2005-11-30 삼성전자주식회사 에러에 대해 강인한 특성을 가지는 데이터 기록 방법,이에 적합한 데이터 재생 방법, 그리고 이에 적합한 장치들
US20050028067A1 (en) 2003-07-31 2005-02-03 Weirauch Charles R. Data with multiple sets of error correction codes
US8694869B2 (en) 2003-08-21 2014-04-08 QUALCIMM Incorporated Methods for forward error correction coding above a radio link control layer and related apparatus
IL157885A0 (en) 2003-09-11 2004-03-28 Bamboo Mediacasting Ltd Iterative forward error correction
IL157886A0 (en) 2003-09-11 2009-02-11 Bamboo Mediacasting Ltd Secure multicast transmission
JP4183586B2 (ja) 2003-09-12 2008-11-19 三洋電機株式会社 映像表示装置
US7555006B2 (en) 2003-09-15 2009-06-30 The Directv Group, Inc. Method and system for adaptive transcoding and transrating in a video network
KR100608715B1 (ko) 2003-09-27 2006-08-04 엘지전자 주식회사 QoS보장형 멀티미디어 스트리밍 서비스 시스템 및 방법
DE60307852D1 (de) 2003-09-30 2006-10-05 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 数字方敦股份有限公司 通过通信信道接收从源发射的数据的方法
US7516232B2 (en) 2003-10-10 2009-04-07 Microsoft Corporation Media organization for distributed sending of media data
US7614071B2 (en) 2003-10-10 2009-11-03 Microsoft Corporation Architecture for distributed sending of media data
ATE479142T1 (de) 2003-10-14 2010-09-15 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
EP1528808A3 (en) 2003-10-27 2008-03-26 Matsushita Electric Industrial Co., Ltd. Apparatus for receiving a broadcast signal
JP2005136546A (ja) 2003-10-29 2005-05-26 Sony Corp 送信装置および方法、記録媒体、並びにプログラム
DE602004011445T2 (de) 2003-11-03 2009-01-15 Broadcom Corp., Irvine FEC-Dekodierung mit dynamischen Parametern
CN101582698B (zh) 2003-12-01 2014-02-12 数字方敦股份有限公司 使用基于子码元的代码来保护数据不被删除
US7428669B2 (en) 2003-12-07 2008-09-23 Adaptive Spectrum And Signal Alignment, Inc. Adaptive FEC codeword management
US7574706B2 (en) 2003-12-15 2009-08-11 Microsoft Corporation System and method for managing and communicating software updates
US7590118B2 (en) 2003-12-23 2009-09-15 Agere Systems Inc. Frame aggregation format
JP4536383B2 (ja) 2004-01-16 2010-09-01 株式会社エヌ・ティ・ティ・ドコモ データ受信装置およびデータ受信方法
KR100770902B1 (ko) 2004-01-20 2007-10-26 삼성전자주식회사 고속 무선 데이터 시스템을 위한 가변 부호율의 오류 정정부호 생성 및 복호 장치 및 방법
JP4321284B2 (ja) 2004-02-03 2009-08-26 株式会社デンソー ストリーミングデータ送信装置、および情報配信システム
US7599294B2 (en) 2004-02-13 2009-10-06 Nokia Corporation Identification and re-transmission of missing parts
US7609653B2 (en) 2004-03-08 2009-10-27 Microsoft Corporation Resolving partial media topologies
WO2005094020A1 (en) 2004-03-19 2005-10-06 Telefonaktiebolaget Lm Ericsson (Publ) Higher layer packet framing using rlp
US7240236B2 (en) 2004-03-23 2007-07-03 Archivas, Inc. Fixed content distributed data storage using permutation ring encoding
JP4433287B2 (ja) 2004-03-25 2010-03-17 ソニー株式会社 受信装置および方法、並びにプログラム
US8842175B2 (en) 2004-03-26 2014-09-23 Broadcom Corporation Anticipatory video signal reception and processing
US20050216472A1 (en) 2004-03-29 2005-09-29 David Leon Efficient multicast/broadcast distribution of formatted data
JP2007531199A (ja) 2004-03-30 2007-11-01 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ディスクベースのマルチメディアコンテンツのための改良されたトリックモード実行をサポートするシステムおよび方法
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
CN103124182B (zh) 2004-05-07 2017-05-10 数字方敦股份有限公司 文件下载和流系统
US7633970B2 (en) 2004-05-07 2009-12-15 Agere Systems Inc. MAC header compression for use with frame aggregation
US20050254575A1 (en) 2004-05-12 2005-11-17 Nokia Corporation Multiple interoperability points for scalable media coding and transmission
US20060037057A1 (en) 2004-05-24 2006-02-16 Sharp Laboratories Of America, Inc. Method and system of enabling trick play modes using HTTP GET
US8331445B2 (en) 2004-06-01 2012-12-11 Qualcomm Incorporated Method, apparatus, and system for enhancing robustness of predictive video codecs using a side-channel based on distributed source coding techniques
US20070110074A1 (en) 2004-06-04 2007-05-17 Bob Bradley System and Method for Synchronizing Media Presentation at Multiple Recipients
US7139660B2 (en) 2004-07-14 2006-11-21 General Motors Corporation System and method for changing motor vehicle personalization settings
US8112531B2 (en) 2004-07-14 2012-02-07 Nokia Corporation Grouping of session objects
US8544043B2 (en) 2004-07-21 2013-09-24 Qualcomm Incorporated Methods and apparatus for providing content information to content servers
US7409626B1 (en) 2004-07-28 2008-08-05 Ikanos Communications Inc Method and apparatus for determining codeword interleaver parameters
US7376150B2 (en) 2004-07-30 2008-05-20 Nokia Corporation Point-to-point repair response mechanism for point-to-multipoint transmission systems
US7590922B2 (en) 2004-07-30 2009-09-15 Nokia Corporation Point-to-point repair request mechanism for point-to-multipoint transmission systems
US7930184B2 (en) 2004-08-04 2011-04-19 Dts, Inc. Multi-channel audio coding/decoding of random access points and transients
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
BRPI0518304A2 (pt) 2004-11-22 2008-11-11 Thomson Res Funding Corp mÉtodo e aparelho para mudar canal em sistema dsl
BRPI0516632A (pt) 2004-12-02 2008-09-16 Thomson Licensing correção de erros antecipada e adaptativa
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 テレフオンアクチーボラゲット エル エム エリクソン(パブル) パケット交換ネットワーク上のオンデマンドマルチチャネルストリーミングセッション
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
JP2008536420A (ja) 2005-04-13 2008-09-04 ノキア コーポレイション スケーラビリティ情報の符号化、格納およびシグナリング
JP4515319B2 (ja) 2005-04-27 2010-07-28 株式会社日立製作所 コンピュータシステム
US8683066B2 (en) 2007-08-06 2014-03-25 DISH Digital L.L.C. Apparatus, system, and method for multi-bitrate content streaming
US7961700B2 (en) 2005-04-28 2011-06-14 Qualcomm Incorporated Multi-carrier operation in data transmission systems
JP2006319743A (ja) 2005-05-13 2006-11-24 Toshiba Corp 受信装置
MX2007014744A (es) 2005-05-24 2008-02-14 Nokia Corp Metodo y aparatos para transmision/recepcion jerarquica en transmision digital.
US7644335B2 (en) 2005-06-10 2010-01-05 Qualcomm Incorporated In-place transformations with applications to encoding and decoding various classes of codes
US7676735B2 (en) 2005-06-10 2010-03-09 Digital Fountain Inc. Forward error-correcting (FEC) coding and streaming
JP2007013436A (ja) 2005-06-29 2007-01-18 Toshiba Corp 符号化ストリーム再生装置
JP2007013675A (ja) 2005-06-30 2007-01-18 Sanyo Electric Co Ltd ストリーミング配信システム及びサーバ
US20070006274A1 (en) 2005-06-30 2007-01-04 Toni Paila Transmission and reception of session packets
US7725593B2 (en) 2005-07-15 2010-05-25 Sony Corporation Scalable video coding (SVC) file format
US20070022215A1 (en) 2005-07-19 2007-01-25 Singer David W Method and apparatus for media data transmission
ATE514246T1 (de) 2005-08-19 2011-07-15 Hewlett Packard Development Co Andeutung von verlorenen segmenten über schichtgrenzen
US7924913B2 (en) 2005-09-15 2011-04-12 Microsoft Corporation Non-realtime data transcoding of multimedia content
US20070067480A1 (en) 2005-09-19 2007-03-22 Sharp Laboratories Of America, Inc. Adaptive media playout by server media processing for robust streaming
US20070078876A1 (en) 2005-09-30 2007-04-05 Yahoo! Inc. Generating a stream of media data containing portions of media files using location tags
CA2562212C (en) 2005-10-05 2012-07-10 Lg Electronics Inc. Method of processing traffic information and digital broadcast system
US7164370B1 (en) 2005-10-06 2007-01-16 Analog Devices, Inc. System and method for decoding data compressed in accordance with dictionary-based compression schemes
CN100442858C (zh) 2005-10-11 2008-12-10 华为技术有限公司 分组网络中多媒体实时传输的唇同步方法及其装置
US7720096B2 (en) 2005-10-13 2010-05-18 Microsoft Corporation RTP payload format for VC-1
JP4727401B2 (ja) 2005-12-02 2011-07-20 日本電信電話株式会社 無線マルチキャスト伝送システム、無線送信装置及び無線マルチキャスト伝送方法
JP4456064B2 (ja) 2005-12-21 2010-04-28 日本電信電話株式会社 パケット送信装置、受信装置、システム、およびプログラム
EP1969857B1 (en) 2006-01-05 2012-03-28 Telefonaktiebolaget LM Ericsson (publ) Media container file management
US8214516B2 (en) 2006-01-06 2012-07-03 Google Inc. Dynamic media serving infrastructure
KR101029854B1 (ko) 2006-01-11 2011-04-15 노키아 코포레이션 스케일러블 비디오 코딩에서 픽쳐들의 역방향-호환 집합
KR100943914B1 (ko) 2006-01-12 2010-03-03 엘지전자 주식회사 다시점 비디오의 처리 방법 및 장치
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
EP1985022B1 (en) 2006-02-08 2011-06-08 Thomson Licensing Decoding of raptor codes
CN101686107B (zh) 2006-02-13 2014-08-13 数字方敦股份有限公司 使用可变fec开销和保护周期的流送和缓冲
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
US20070200949A1 (en) 2006-02-21 2007-08-30 Qualcomm Incorporated Rapid tuning in multimedia applications
JP2007228205A (ja) 2006-02-23 2007-09-06 Funai Electric Co Ltd ネットワークサーバ
US8320450B2 (en) 2006-03-29 2012-11-27 Vidyo, Inc. System and method for transcoding between scalable and non-scalable video codecs
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
US20090100496A1 (en) 2006-04-24 2009-04-16 Andreas Bechtolsheim Media server system
US7640353B2 (en) 2006-04-27 2009-12-29 Microsoft Corporation Guided random seek support for media streaming
WO2007134196A2 (en) 2006-05-10 2007-11-22 Digital Fountain, Inc. Code generator and decoder using hybrid codes
US7525993B2 (en) 2006-05-24 2009-04-28 Newport Media, Inc. Robust transmission system and method for mobile television applications
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
TWM302355U (en) 2006-06-09 2006-12-11 Jia-Bau Jeng Fixation and cushion structure of knee joint
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US20100211690A1 (en) 2009-02-13 2010-08-19 Digital Fountain, Inc. Block partitioning for a data stream
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
JP2008011404A (ja) 2006-06-30 2008-01-17 Toshiba Corp コンテンツ処理装置及びコンテンツ処理方法
EP2302869A3 (en) 2006-07-20 2013-05-22 SanDisk Technologies Inc. An improved audio visual player apparatus and system and method of content distribution using the same
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
RU2435235C2 (ru) 2006-08-24 2011-11-27 Нокиа Корпорейшн Система и способ указания взаимосвязей треков в мультимедийном файле
US20080066136A1 (en) 2006-08-24 2008-03-13 International Business Machines Corporation System and method for detecting topic shift boundaries in multimedia streams using joint audio, visual and text cues
JP2008109637A (ja) 2006-09-25 2008-05-08 Toshiba Corp 動画像符号化装置及びその方法
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
IN2014MN01853A (ja) 2006-11-14 2015-07-03 Qualcomm Inc
US8027328B2 (en) 2006-12-26 2011-09-27 Alcatel Lucent Header compression in a wireless communication network
ES2935410T3 (es) 2007-01-05 2023-03-06 Divx Llc Sistema de distribución de vídeo que incluye reproducción progresiva
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
KR20080066408A (ko) 2007-01-12 2008-07-16 삼성전자주식회사 3차원 영상 처리 장치 및 방법
US9344362B2 (en) 2007-01-12 2016-05-17 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, QOS control algorithm and apparatus for IPV6 label switching using the format
US8126062B2 (en) 2007-01-16 2012-02-28 Cisco Technology, Inc. Per multi-block partition breakpoint determining for hybrid variable length coding
US7721003B2 (en) 2007-02-02 2010-05-18 International Business Machines Corporation System and method to synchronize OSGi bundle inventories between an OSGi bundle server and a client
US7805456B2 (en) 2007-02-05 2010-09-28 Microsoft Corporation Query pattern to enable type flow of element types
US20080192818A1 (en) 2007-02-09 2008-08-14 Dipietro Donald Vincent Systems and methods for securing media
US20080232357A1 (en) 2007-03-19 2008-09-25 Legend Silicon Corp. Ls digital fountain code
JP4838191B2 (ja) 2007-05-08 2011-12-14 シャープ株式会社 ファイル再生装置、ファイル再生方法、ファイル再生を実行させるプログラム及びそのプログラムを記録した記録媒体
JP2008283571A (ja) 2007-05-11 2008-11-20 Ntt Docomo Inc コンテンツ配信装置、コンテンツ配信システム、およびコンテンツ配信方法
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
WO2008144004A1 (en) 2007-05-16 2008-11-27 Thomson Licensing Apparatus and method for encoding and decoding signals
EP2501137A3 (en) 2007-06-11 2012-12-12 Samsung Electronics Co., Ltd. Method and apparatus for generating header information of stereoscopic image
CN101690229A (zh) 2007-06-26 2010-03-31 诺基亚公司 用于指示时间层切换点的系统和方法
US7917702B2 (en) 2007-07-10 2011-03-29 Qualcomm Incorporated Data prefetch throttle
JP2009027598A (ja) 2007-07-23 2009-02-05 Hitachi Ltd 映像配信サーバおよび映像配信方法
US8327403B1 (en) 2007-09-07 2012-12-04 United Video Properties, Inc. Systems and methods for providing remote program ordering on a user device via a web server
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
EP2181541B1 (en) 2007-10-09 2018-12-05 Samsung Electronics Co., Ltd. Apparatus and method for generating mac pdu in a mobile communication system
US8706907B2 (en) 2007-10-19 2014-04-22 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
WO2009054907A2 (en) 2007-10-19 2009-04-30 Swarmcast, Inc. Media playback point seeking using data range requests
US20090125636A1 (en) 2007-11-13 2009-05-14 Qiong Li Payload allocation methods for scalable multimedia servers
WO2009065526A1 (en) 2007-11-23 2009-05-28 Media Patents S.L. A process for the on-line distribution of audiovisual contents with advertisements, advertisement management system, digital rights management system and audiovisual content player provided with said systems
US8543720B2 (en) 2007-12-05 2013-09-24 Google Inc. Dynamic bit rate scaling
TWI355168B (en) 2007-12-07 2011-12-21 Univ Nat Chiao Tung Application classification method in network traff
JP5385598B2 (ja) 2007-12-17 2014-01-08 キヤノン株式会社 画像処理装置及び画像管理サーバ装置及びそれらの制御方法及びプログラム
US9313245B2 (en) 2007-12-24 2016-04-12 Qualcomm Incorporated Adaptive streaming for on demand wireless services
EP2086237B1 (en) 2008-02-04 2012-06-27 Alcatel Lucent Method and device for reordering and multiplexing multimedia packets from multimedia streams pertaining to interrelated sessions
US8151174B2 (en) 2008-02-13 2012-04-03 Sunrise IP, LLC Block modulus coding (BMC) systems and methods for block coding with non-binary modulus
US7984097B2 (en) 2008-03-18 2011-07-19 Media Patents, S.L. Methods for transmitting multimedia files and advertisements
US8606996B2 (en) 2008-03-31 2013-12-10 Amazon Technologies, Inc. Cache optimization
US20090257508A1 (en) 2008-04-10 2009-10-15 Gaurav Aggarwal Method and system for enabling video trick modes
EP2263341B1 (en) 2008-04-14 2018-09-19 Amazon Technologies, Inc. Method and apparatus for performing random access procedures
WO2009127961A1 (en) 2008-04-16 2009-10-22 Nokia Corporation Decoding order recovery in session multiplexing
US8855199B2 (en) 2008-04-21 2014-10-07 Nokia Corporation Method and device for video coding and decoding
MX2010012117A (es) 2008-05-07 2010-12-01 Digital Fountain Inc Manipulacion de canal rapida y proteccion de corriente de alta calidad sobre un canal de difusion.
US7979570B2 (en) 2008-05-12 2011-07-12 Swarmcast, Inc. Live media delivery over a packet-based computer network
JP5022301B2 (ja) 2008-05-19 2012-09-12 株式会社エヌ・ティ・ティ・ドコモ プロキシサーバおよび通信中継プログラム、並びに通信中継方法
CN101287107B (zh) 2008-05-29 2010-10-13 腾讯科技(深圳)有限公司 媒体文件的点播方法、系统和设备
US7860996B2 (en) 2008-05-30 2010-12-28 Microsoft Corporation Media streaming with seamless ad insertion
US20100011274A1 (en) 2008-06-12 2010-01-14 Qualcomm Incorporated Hypothetical fec decoder and signalling for decoding control
US8775566B2 (en) 2008-06-21 2014-07-08 Microsoft Corporation File format for media distribution and presentation
US8387150B2 (en) 2008-06-27 2013-02-26 Microsoft Corporation Segmented media content rights management
US8468426B2 (en) 2008-07-02 2013-06-18 Apple Inc. Multimedia-aware quality-of-service and error correction provisioning
US8539092B2 (en) 2008-07-09 2013-09-17 Apple Inc. Video streaming using multiple channels
US20100153578A1 (en) 2008-07-16 2010-06-17 Nokia Corporation Method and Apparatus for Peer to Peer Streaming
US8638796B2 (en) 2008-08-22 2014-01-28 Cisco Technology, Inc. Re-ordering segments of a large number of segmented service flows
US8325796B2 (en) 2008-09-11 2012-12-04 Google Inc. System and method for video coding using adaptive segmentation
US8370520B2 (en) 2008-11-24 2013-02-05 Juniper Networks, Inc. Adaptive network content delivery system
US8099476B2 (en) 2008-12-31 2012-01-17 Apple Inc. Updatable real-time or near real-time streaming
US8743906B2 (en) 2009-01-23 2014-06-03 Akamai Technologies, Inc. Scalable seamless digital video stream splicing
US9036714B2 (en) 2009-01-26 2015-05-19 Thomson Licensing Frame packing for video coding
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
US8621044B2 (en) 2009-03-16 2013-12-31 Microsoft Corporation Smooth, stateless client media streaming
US8909806B2 (en) 2009-03-16 2014-12-09 Microsoft Corporation Delivering cacheable streaming media presentations
US9807468B2 (en) 2009-06-16 2017-10-31 Microsoft Technology Licensing, Llc Byte range caching
US8903895B2 (en) 2009-07-22 2014-12-02 Xinlab, Inc. Method of streaming media to heterogeneous client devices
US8355433B2 (en) 2009-08-18 2013-01-15 Netflix, Inc. Encoding video streams for adaptive video streaming
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
KR101598247B1 (ko) 2009-09-02 2016-02-26 애플 인크. 무선 시스템들의 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 コンテンツ再生システム、コンテンツ再生装置、プログラム、コンテンツ再生方法、およびコンテンツサーバを提供
RU2622621C2 (ru) 2009-11-04 2017-06-16 Амотек Ко., Лтд. Система и способ для потоковой передачи воспроизводимого контента
KR101786050B1 (ko) 2009-11-13 2017-10-16 삼성전자 주식회사 데이터 전송 방법 및 장치
KR101786051B1 (ko) 2009-11-13 2017-10-16 삼성전자 주식회사 데이터 제공 방법 및 장치와 데이터 수신 방법 및 장치
CN101729857A (zh) 2009-11-24 2010-06-09 中兴通讯股份有限公司 一种接入视频服务的方法及视频播放系统
US8510375B2 (en) 2009-12-11 2013-08-13 Nokia Corporation Apparatus and methods for time mapping media segments in streaming media files
JP5824465B2 (ja) 2010-02-19 2015-11-25 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Httpストリーミングにおける適応のための方法と装置
JP5996439B2 (ja) 2010-02-19 2016-09-21 テレフオンアクチーボラゲット エルエム エリクソン(パブル) Httpストリーミングにおける表現切り替えのための方法及び装置
JP5071495B2 (ja) 2010-03-04 2012-11-14 ウシオ電機株式会社 光源装置
WO2011112052A2 (ko) 2010-03-11 2011-09-15 한국전자통신연구원 Mimo 시스템에서 데이터를 송수신하는 방법 및 장치
US9225961B2 (en) 2010-05-13 2015-12-29 Qualcomm Incorporated Frame packing for asymmetric stereo video
US9497290B2 (en) 2010-06-14 2016-11-15 Blackberry Limited Media presentation description delta file for HTTP streaming
US8918533B2 (en) 2010-07-13 2014-12-23 Qualcomm Incorporated Video switching for streaming video data
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
KR20120010089A (ko) 2010-07-20 2012-02-02 삼성전자주식회사 Http 기반의 멀티미디어 스트리밍 서비스의 품질 향상을 위한 방법 및 장치
US9131033B2 (en) 2010-07-20 2015-09-08 Qualcomm Incoporated Providing sequence data sets for streaming video data
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US8711933B2 (en) 2010-08-09 2014-04-29 Sony Computer Entertainment Inc. Random access point (RAP) formation using intra refreshing technique in video coding
US8806050B2 (en) 2010-08-10 2014-08-12 Qualcomm Incorporated Manifest file updates for network streaming of coded multimedia data
KR101737325B1 (ko) 2010-08-19 2017-05-22 삼성전자주식회사 멀티미디어 시스템에서 멀티미디어 서비스의 경험 품질 감소를 줄이는 방법 및 장치
US8615023B2 (en) 2010-10-27 2013-12-24 Electronics And Telecommunications Research Institute Apparatus and method for transmitting/receiving data in communication system
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
US20120208580A1 (en) 2011-02-11 2012-08-16 Qualcomm Incorporated Forward error correction scheduling for an improved radio link protocol
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004348824A (ja) * 2003-05-21 2004-12-09 Toshiba Corp Eccエンコード方法、eccエンコード装置
JP2008016907A (ja) * 2006-07-03 2008-01-24 Internatl Business Mach Corp <Ibm> パケット回復のための符号化および復号化技術
JP2010539816A (ja) * 2007-09-12 2010-12-16 デジタル ファウンテン, インコーポレイテッド 信頼できる通信を可能にするためのソース識別情報の生成および伝達

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JPN6014032606; 佐々木力、阿野茂浩、小林修、長谷川亨、田上敦士、長谷川輝之: 'LT符号を用いたマルチキャスト配信における差分ダウンロード方式' 電子情報通信学会論文誌. B, 通信 J89-B(8), 20060801, pp.1379-1389 *
JPN6014032612; 森田哲郎、西本裕明、佐々木隆志、高橋豊: 'インターネット映像配信におけるReed-Solomon 誤り訂正符号とMulti-Stage符号との比較検討' 電子情報通信学会技術研究報告. CQ, コミュニケーションクオリティ pp.19-24, 20030704, 103(178) *
JPN6014033441; D.J.C. MacKay: 'CAPACITY APPROACHING CODES DESIGN AND IMPLEMENTATION SPECIAL SECTION' IEE Proc.-Commun , 200512, pp.1062-1068, Vol. 152, No. 6 *

Also Published As

Publication number Publication date
KR20130125813A (ko) 2013-11-19
US20120210190A1 (en) 2012-08-16
KR101554406B1 (ko) 2015-09-18
JP5863200B2 (ja) 2016-02-16
US9270299B2 (en) 2016-02-23
CN103444087B (zh) 2018-02-09
CN103444087A (zh) 2013-12-11
WO2012109614A1 (en) 2012-08-16
EP2673885A1 (en) 2013-12-18

Similar Documents

Publication Publication Date Title
JP5863200B2 (ja) フレキシブルなソースブロックのマッピングを伴う伸縮性符号を使用した符号化および復号
US9660763B2 (en) Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
JP5329239B2 (ja) 通信システムのための多体ベース符号の生成器および復号化器
KR101143282B1 (ko) 연쇄 반응 코드의 체계적 인코딩 및 디코딩
JP5123174B2 (ja) 前方エラー訂正(fec)符号およびストリーミング
JP3809957B2 (ja) 損失パケットのパケット伝送プロトコル回復方法
KR101041762B1 (ko) 통신 채널을 통해 소스로부터 목적지로 데이터를 송신 및 인코딩하는 방법
US8555146B2 (en) FEC streaming with aggregation of concurrent streams for FEC computation
RU2005132772A (ru) Способ кодирования-декодирования информации в системах передачи данных
US9455750B2 (en) Source block size selection
Ahmed et al. Binary erasure multiple descriptions: Worst-case distortion

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130905

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140619

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140811

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20141111

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20141118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150706

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151001

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151221

R150 Certificate of patent or registration of utility model

Ref document number: 5863200

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees