JP6305398B2 - 送信機に関連する情報を用いたエラー回復のための方法及び装置 - Google Patents

送信機に関連する情報を用いたエラー回復のための方法及び装置 Download PDF

Info

Publication number
JP6305398B2
JP6305398B2 JP2015517441A JP2015517441A JP6305398B2 JP 6305398 B2 JP6305398 B2 JP 6305398B2 JP 2015517441 A JP2015517441 A JP 2015517441A JP 2015517441 A JP2015517441 A JP 2015517441A JP 6305398 B2 JP6305398 B2 JP 6305398B2
Authority
JP
Japan
Prior art keywords
data
bit
fec
transmitter
candidate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015517441A
Other languages
English (en)
Other versions
JP2015532020A (ja
JP2015532020A5 (ja
Inventor
ヴァフィン,レナト
ヴァング アンデルセン,ソレン
ヴァング アンデルセン,ソレン
ニルソン,マティアス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2015532020A publication Critical patent/JP2015532020A/ja
Publication of JP2015532020A5 publication Critical patent/JP2015532020A5/ja
Application granted granted Critical
Publication of JP6305398B2 publication Critical patent/JP6305398B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0055MAP-decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • 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/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes

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)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Error Detection And Correction (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

データ・ストリームが送信機から通信チャネルを介して受信機に送信される多くの状況が存在する。通信チャネルは、多くの異なる可能なネットワークのうちの1つ(又は複数)において存在し得る。例えば、通信チャネルは、インタネット、又は携帯電話ネットワーク等の無線ネットワークにおいて存在し得る。データ・ストリーム内のデータは、通信チャネルを介した伝送のために、データ・パケットに分割され得る。データをデータ・パケット(例えば、データ・パケットのヘッダの形態、及び他のそのような実装詳細)に分割するプロトコルは、データが送信されることになる通信チャネルの性質、例えば、データ・パケットが送信されることになるネットワークのタイプに依拠し得る。データは、送信機から送信される前に、エンコーダにより符号化され、受信機において受信された後、デコーダにより復号化され得る。
理想的なシステムにおいては、送信機から通信チャネルを介して送信される全てのデータ・パケットが受信機において受信されるように、通信チャネルは無損失である。しかしながら、実際の物理的システムにおいては、通信チャネルは損失を伴い得る、すなわち、送信されるデータ・パケットの一部は、通信チャネル上で失われ、その結果、受信機において受信されない。これは弊害をもたらし得る。受信機において訂正スキームを使用して、損失データ・パケットの少なくとも一部を回復させるのを助けることができる。
一例として、順方向エラー訂正(FEC)は、通信チャネルにおけるパケット損失に対処するために使用することができる1つの訂正スキームである。
この概要は、発明を実施するための形態において以下でさらに説明されるコンセプトのうち選択したものを簡略化した形で紹介するために提供される。この概要は、特許請求される主題の主要な特徴又は必要不可欠な特徴を特定することを意図するものではないし、特許請求される主題の範囲を限定するために使用されることを意図するものでもない。
本発明の実施形態は、受信機において符号化データ・ビットを処理する方法を提供し、符号化データ・ビットは、送信機から、ネットワーク上に確立された損失通信チャネル(lossy communication channel)を介して、受信機に送信される。通信チャネルを介して受信される符号化データ・ビットは、冗長データ・ユニット(redundant data unit)を含む。エラー訂正デコーダにおいて、符号化データ・ビットが復号化され、損失データの回復が、冗長データ・ユニットのうちの少なくとも1つを用いて、エラー訂正デコーダにおいて実施される。この方法は、エラー訂正デコーダが少なくとも1つのデータ・ビットに関して複数の候補ビット値を見つけたことに起因して、少なくとも1つのデータ・ビットを回復させることができないかどうかを判定するステップと、送信機に関連する情報を受信するステップと、を含む。送信機に関連する情報を用いて、少なくとも1つのデータ・ビットに関する複数の候補ビット値のうちの少なくとも1つを除外するために、複数の候補ビット値が解析され、解析に基づいて、少なくとも1つのデータ・ビットが解決される(resolved)。
本発明のより良い理解のため、及び本発明をどのように実施することができるかを示すために、例として、図面が参照される。
どのようにFECデータ・ユニットが生成され得るかの第1の例を示す図。 どのようにFECデータ・ユニットが生成され得るかの第2の例を示す図。 どのようにFECデータ・ユニットが生成され得るかの第3の例を示す図。 通信システムにおけるデータ・パケットの伝送を示すタイミング図。 通信システムを示す図。 通信システムにおいて送信されているデータ・ストリームの表現。 データ・ビットを解決するプロセスのフローチャート。 受信機におけるプロセッサの図。 送信機におけるプロセッサの図。
本発明の好ましい実施形態について例として説明する。
通信チャネルにおける損失と比較して、アプリケーション・デコーダ(例えば、オーディオ・デコーダ又はビデオ・デコーダ)により確認されるように、FECは損失を低減させるが、FECは全ての損失オリジナル・パケットの回復を確実にするわけではない。
インタネット等のパブリック・ネットワークを介したデータ伝送の量は、急速に増しつつある。したがって、エラー訂正メカニズムは、信頼できるデータ伝送を確実にするために、より重要になりつつある。
FEC復号化中、FECデコーダが特定のビット値又はビット・シーケンス値に関して複数の候補オプションが存在すると判定することに起因して、損失パケットの正しいビット値又はビット・シーケンス値に関して不確かさが生じ得る。
発明者らは、通信チャネルにおけるパケット損失と比較して、アプリケーション・デコーダにより確認されるパケット損失をさらに低減させるために、候補パケットの内容を評価することにより、回復プロセスのいくつかの不確かさ(すなわち、ビット又はビットのシーケンスが2以上の値を取り得る場合)を解決することができることを認識した。
FECは、オリジナル・データ・ユニットに加えて、(FECデータ・ユニットとして)冗長訂正データを生成し、通信チャネルを介して送信されるデータ・ストリーム内にFECデータ・ユニットを含める。オリジナル・データ及び冗長FECデータを送信するFECスキームは、システマチックFECスキームと呼ばれる。オリジナル・データを送信しないFECスキームは、非システマチック・スキームと呼ばれる。後者の場合、冗長性を提供するために、送信されるデータの総量は、オリジナル・データの量よりもかなり多い。単純さのため、しかしながら、一般性を失うことなく、本明細書において、システマチックFECスキームについて説明する。冗長FECデータ・ユニットは、データ・ストリーム内のデータ・パケットとは分離された自身のパケット内に配置され得る。代替として、又は追加的に、FECデータ・ユニットは、データ・ストリーム内のオリジナル・データ・パケットに付加されてもよい(又は、「ピギーバックされてもよい(piggybacked)」)。単純さのため、しかしながら、一般性を失うことなく、本明細書において、分離されたオリジナル・パケット及びFECパケットについて説明する。通信チャネルにおいて、オリジナル・データ・パケットの一部が失われた場合、無事到達したFECデータ・ユニット及び無事到達したデータ・パケットを使用して、損失データ・パケット(の少なくともいくつか)を回復させることができる。すなわち、通信チャネルにおける実際のパケット損失と比較して、FECは、受信機のデコーダにより確認されるパケット損失を低減させる。
図1a、図1b、及び図1cは、どのようにFECデータ・ユニットが生成され得るかの3つの例を示している。
図1aに示されるように、FECデータ・ユニット104は、データ・ストリームのオリジナル・データ・パケット102の正確なコピーとして生成され得る。データ・ストリーム内にデータ・パケット102及びFECデータ・ユニット104の両方を含めることにより、データ・パケット102内のデータは2回送信される。したがって、データ・パケット102が伝送中失われたが、FECデータ・ユニット104が無事受信された場合、受信機において(FECデータ・ユニット104を用いて)データ・パケット102内のデータを無事回復させることができる。
図1bに示されるように、モジュール108を使用して、低ビット・レートで符号化されたオリジナル・データ・パケット106のコピーであるFECデータ・ユニット110を生成することができる。データ・パケット106が伝送中失われたが、FECデータ・ユニット110が無事受信された場合、受信機において、FECデータ・ユニット110に基づいて、データ・パケット106内のデータを少なくとも部分的に回復させることができる。データ・パケット102及びデータ・パケット106が同じサイズを有する場合(例えば、同じ数のビットを有する場合)、FECデータ・ユニット110は、FECデータ・ユニット104よりも小さなサイズを有する(例えば、少ないビットを有する)ことに留意すべきである。したがって、データ・パケット106を回復させる際のFECデータ・ユニット110よりも、データ・ユニット102を回復させる際のFECデータ・ユニット104の方が有用であり得るが、図1bに示されるFECデータ・ユニットを生成することも有用であり得る。というのは、FECデータ・ユニット110は、FECデータ・ユニット104が使用するよりも、データ・ストリームのための通信チャネル上で少ない利用可能ビット・レートを使用するからである。
図1cに示されるように、合成モジュール118を使用して、例えば、データ・パケット112、114、及び116といった複数のオリジナル・データ・パケットからFECデータ・ユニット120を生成することができる。例えば、合成モジュール118は、XOR関数を3つのデータ・パケット112、114、及び116に適用したビットごとの結果を判定して、FECデータ・ユニット120を生成することができる。別のアプローチでは、ガロア域GF(2)算術を用いてデータ・パケット112、114、及び116をバイトごとに結合して、FECデータ・ユニット120を生成する。この意味で、FECデータ・ユニット120は、オリジナル・データ・パケット112、114、及び116を合成又は結合した結果である。データ・パケット112、114、及び116のうちの1つが伝送中に失われたが、他の2つのデータ・パケット及びFECデータ・ユニット120が無事受信された場合、受信機において(他の2つのデータ・パケット及びFECデータ・ユニット120を用いて)損失データ・パケット内のデータを無事回復させることができる。
したがって、多数の異なる方法によりFECデータ・ユニットを生成できることが確認できる。様々なFECスキームが、FECデータ・ユニットが生成される様々な方法を記述する。FECスキームは、生成されるFECデータ・ユニットの数;FECデータ・ユニットを生成するためにどのデータ・パケットが使用されるか;どのようにFECデータ・ユニットが送信されるか(例えば、分離されたパケットとして、又はデータ・パケットにFECデータ・ユニットを付加することにより);及びデータ・ストリーム内のどこにFECデータ・ユニットが配置されるか等、FECデータ・ユニットの生成に関するファクタを記述し得る。FECスキームの損失−回復性能(loss-recovery performance)は、受信機においてFECデータ・ユニットを用いて損失データ・パケットを回復させるFECスキームの能力を記述する。
一般に、データ・ストリーム内のFECデータ・ユニットの数が増大すると、FECスキームの損失−回復性能は向上する。しかしながら、データ・ストリーム内のFECデータ・ユニットの数の増大は、ビット・レート効率(bit rate efficiency)を犠牲にする。
FECスキームの損失−回復性能は、FECオーバヘッド(FEC overhead)及びFECデプス(FEC depth)に大いに依拠する。
FECオーバヘッドは、オリジナル・データの量に対する冗長データの量(例えば、オリジナル・パケットの数に対するFECパケットの数)を記述する。一般に、よりオーバヘッドが高いと、FECスキームの損失−回復性能は向上する。一方、より高いオーバヘッドは、ビット・レート効率を犠牲にする。オリジナル・データの符号化ビット・レートが不変のままである場合、増大した冗長性は増大した総ビット・レートをもたらす。あるいは、総ビット・レートが制約される場合、増大した冗長性は、オリジナル・データの低符号化ビット・レートを犠牲にする。
FECデプスは、FECデータ・ユニットにより保護され得る(すなわち、FECデータ・ユニットに結合され得る)データ・パケットのうち最古のデータ・パケットと最新のデータ・パケットとの間のずれ(displacement)を記述する。すなわち、FECデプスは、FECデータ・ユニットに結合され得るオリジナル・データ・パケットの最大数を記述する。より高いデプスは、FECデータ・ユニットに関するデータ・パケットの様々な組合せのより高い可能性を提供し、したがって、例えば、変化するチャネル条件に対して、より柔軟性の高いFECスキームを実現することができる。1つの極端な例において、FECデータ・ユニットが1つのオリジナル・データ・パケットのコピーに制約される場合、より高いデプスは、時間における、オリジナル・データ・パケットとそのコピー(FECデータ・ユニット)とのより大きな分離の可能性を提供する。これは、バースト性のパケット損失条件において有利である。というのは、これは、通信チャネル上のバーストにおいてオリジナル・データ・パケット及びそのコピー(FECデータ・ユニット)の両方が失われる可能性を最小限にするからである。
FECデプスは、通信における遅延に関連する。FECデータ・ユニットは、以前に生成されたオリジナル・データ・パケットを結合する。したがって、FECを使用することにより生じる送信機における追加のアルゴリズム的遅延(algorithmic delay)は存在しない。しかしながら、受信機において損失データ・パケットを再構築するために、我々は受信機における遅延を想定する。というのは、FECデータ・ユニットは、そのFECデータ・ユニットの基礎となるデータ・パケットよりも遅れて生成され送信されるからである。これは、図2に示されるタイミング図で確認することができる。図2は、データ・ストリームの3つのデータ・パケット(202、204、及び206)を使用して、FECデータ・ユニット208を生成する状況を示している。FECデータ・ユニット208は、3つのデータ・ユニット202、204、及び206の全てが生成されるまで、生成することができない。したがって、FECデータ・ユニット208が送信機において生成される前に、データ・パケット202及び204が送信機から送信される。したがって、FECデータ・ユニット208を送信することができる最も早いタイミングは、データ・パケット206の直後である。このシナリオが図2に示されている。データ・パケット及びFECデータ・ユニットの伝送は、有限の量の時間を要する。図2は、ネットワーク上の損失通信チャネルを介した伝送中のデータ・パケット202の損失(210)を示している。しかしながら、データ・パケット204及び206、並びにFECデータ・ユニット208は全て受信機において無事受信される。データ・パケット204及び206、並びにFECデータ・ユニット208を使用して、受信機において損失データ・パケット202を回復させることができる。しかしながら、損失データ・パケット202は、データ・パケット204及び206、並びにFECデータ・ユニット208の3つ全てが受信機において受信されるまで、回復させることができない。したがって、図2に示されるように、(データ・パケット202が失われていなければ)データ・パケット202が受信機において受信されたであろう時間と、FECデータ・ユニット208を用いてデータ・パケットを回復させることができる時間との間で、データ・パケット202のFEC回復に要する遅延が存在する。データ・ストリームに関する遅延要件が満たされない場合、FECデータ・ユニット208が到達する前に、損失データ・パケット202は、受信機において復号化不可能なものとして示されることになる。これは、FECスキームの性能を著しく低下させる最も可能性が高いものである。
しかしながら、この遅延は、追加の遅延として、FECにより、受信機において導入される必要は必ずしもない。例えば、必要な遅延は、受信機においてすでに存在し得る。受信機における遅延の考えられる1つの原因は、ジッタ・バッファの存在である。というのは、パケット到達時間のランダムなずれ(ジッタ)を軽減するために、ジッタ・バッファは、遅延をデータ・ストリームに導入するからである。
所与のチャネル条件、FECオーバヘッド、及びFECデプスに対して、FECデータ・ユニットを形成するオリジナル・データ・パケットの最適な結合/合成の選択は、選択された損失−回復性能基準を最適化することにより、行うことができる。しばしば、多数のFECパケットが、最適化ウィンドウ(optimization window)内で、一緒に最適化される。
損失−回復性能基準の例は次のとおりである:
(i)回復させることができる損失の回数;
(ii)合計
Figure 0006305398
ここで、pは、i番目のデータ・パケットの非回復確率(non-recovery probability)である。合計は、最適化ウィンドウ内のオリジナル・データ・パケットを含む;
(iii)合計
Figure 0006305398
再度、合計は、最適化ウィンドウ内のオリジナル・データ・パケットを含む。非回復確率を2乗すると、より高い非回復確率(すなわち、外れ値)がより重く取り扱われる;
(iv)合計
Figure 0006305398
ここで、wは、i番目のデータ・パケットの非回復確率に適用される重みである。重みは、異なるデータ・パケットの損失に対する重要性又は感度の異なるレベルを記述する。再度、合計は、最適化ウィンドウ内のオリジナル・データ・パケットを含む。このような重み付き性能基準を使用するFECスキームは、ソース依存FEC(source-dependent FEC)又は不均一エラー保護FEC(uneven-error-protection FEC)と呼ばれる。というのは、異なるデータ・パケットに提供される保護は異なるからである。これにより、データ・ストリームのより重要なデータ・パケットに対して、より重大なレベルの保護を提供することが可能となる(例えば、特定のアプリケーション又はユーザからのデータ・パケットは、より大きな重要性を有する、例えば、異なるオーディオ・データ・パケット及び異なるビデオ・データ・パケットは、FECスキームにより提供される異なるレベルの保護を有し得る)。このようにして、データ・パケットは、FECスキームにおいて、異なるレベルの優先順位を有することができる。
次に、図3を参照して、通信システム300について説明する。通信システム300は、送信機302、ネットワーク308、及び受信機310を含む。送信機302は、データを処理するためのプロセッサ304、ネットワーク308を介したデータの送信(及び受信)のためのネットワーク・インタフェース307、及びデータを記憶するためのメモリ306を備える。プロセッサ304は、ハードウェア又はソフトウェアにより、送信機302において実装することができる。同様に、受信機310は、データを処理するためのプロセッサ312、ネットワーク308を介したデータの受信(及び送信)のためのネットワーク・インタフェース309、及びデータを記憶するためのメモリ314を備える。プロセッサ312は、ハードウェア又はソフトウェアにより、受信機310において実装することができる。
データ・ストリームは、ネットワーク308上の通信チャネルを介して、受信機310に送信され得る。ネットワーク上の通信チャネルを介してデータ・ストリームを送信する方法は、当技術分野では知られており、したがって、本明細書において詳細には説明しない。受信機310は、(例えば、プロセッサ312を用いて)受信したデータ・パケットを処理して、データを取り出すことができる。この処理は、データ・ストリームからデータを脱パケット化して(depacketize)、データを復号化することを含み得る。データは、受信機においてメモリ314に記憶されてもよいし、受信機310から、例えば、ユーザに出力されてもよい。データ・ストリーム内のデータは、送信機302のユーザと受信機310のユーザとの間の(音声通話又はビデオ通話等の)リアルタイム通信イベントに関連し得る。あるいは、データ・ストリーム内のデータは、送信機302と受信機310との間のファイル転送等のデータ転送に関連し得る。データ・ストリーム内のデータは、任意の他の適切なタイプのデータであってよい。
ネットワーク308は、送信機302と受信機310との間で通信チャネルを提供する能力を有する任意の適切なネットワークとすることができる。ネットワーク308は、パケットベースのネットワークとすることができる。ネットワーク308は、ワイド・エリア・ネットワーク(WAN)であってもよいし、ローカル・エリア・ネットワーク(LAN)であってもよい。例として、ネットワーク308は、イントラネット、インタネット、又は、携帯電話ネットワーク等の電話網であってよい。送信機302及び受信機310はそれぞれ、ネットワーク308を介してデータ・ストリームを送信及び受信する任意の適切な装置又はデバイスにより実装することができる。例えば、送信機302及び受信機310は、ネットワーク308に接続する能力を有するパーソナル・コンピュータ又は電話機等のユーザ・デバイスとして実装されてもよいし、ネットワーク内のサーバ・ノード等の他のデバイスとして実装されてもよい。
図4は、通信システム300において送信機302から受信機310に送信されているデータ・ストリーム402の表現を示している。図4において、データ・ストリーム402は、1〜8のラベルが付けられた8つのデータ・パケットを含む。明瞭さのため、図4では、8つのデータ・パケットしか示されていないが、データ・ストリームは、8つより多いデータ・パケットを含み得る。図4に示されるように、データ・ストリームはまた、(「FEC」とラベルが付けられた)FECデータ・ユニットも含む。図4では、FECデータ・ユニットは、データ・ストリームにおいて、データ・パケットとは分離されたパケットとして示されている。しかしながら、FECデータ・ユニットは、データ・パケットに付加されてもよい(又は、「ピギーバックされてもよい」)。FECデータ・ユニットがデータ・パケットに付加される場合、FECデータ・ユニットは、パケット・ヘッダ等の自身のパケット・フォーマッティングを必要とせず、したがって、FECデータ・ユニットに必要なデータ・ストリーム内のデータ量は、わずかに低減され得る。しかしながら、FECデータ・ユニットをデータ・パケットに付加することは、データ・パケットが失われた場合、その損失データ・パケットに付加されたFECデータ・ユニットも失われることを意味する。データ・パケットに付加されたFECデータ・ユニットは、FECデータ・ユニットが付加されているデータ・パケット以外の他のデータ・パケットを保護する。上述したように、非システマチック・スキームにおいては、FECデータのみが送信され得る、すなわち、データ・ストリームのオリジナル・データ・パケットは送信されない。
(例えば、図1a〜図1cに関連して)上述したように、FECデータ・ユニットは、データ・ストリームのデータ・パケットのセットに基づいて生成される。データ・パケットのセットは、1以上のデータ・パケットを含み得る。FECデータ・ユニットは、例えば、(図1aに示されるように)オリジナル・データ・パケットの正確なコピーであってもよいし、(図1bに示されるように)低ビット・レートで符号化されたオリジナル・データ・パケットのコピーであってもよいし、(図1cに示されるように)オリジナル・データ・パケットの結合/合成であってもよい。1つのアプローチでは、データ・パケットは、(0 XOR 0)=(1 XOR 1)=0及び(0 XOR 1)=(1 XOR 0)=1として定義されるビットXOR演算を用いて、ビットごとに結合される。別のアプローチでは、データ・パケットは、ガロア域GF(2)算術を用いて、バイトごとに結合される。FECデータ・ユニットは、2以上のデータ・パケットを結合することにより生成されてもよい。
ネットワーク308上の通信チャネルは損失を伴う、すなわち、データ・ストリーム内のデータ・ビットの一部は、送信機302から受信機310への伝送中に失われる。受信機310においてFECデータ・ユニットを使用して、伝送中に失われたデータ・ビットを回復させることができる。「損失オリジナル・データ」という語は、伝送中に失われたデータ・ビットに加えて、伝送中の修復不可能に破損されたデータ・ビットも含む。
上述したように、FEC復号化中、損失パケットの正しいビット値又はビット・シーケンス値に関して、不確かさが生じ得る。これは、3つのパケットが送信される例を考えることにより、さらに説明される。3つのパケットは、オリジナル・パケットx1及びx2、並びに、2つのオリジナル・パケットの合成であるFECパケットf1=mix(x1,x2)である。ここで、合成は、論理ビットXOR関数に基づくものである。
パケットx1が失われ、パケットx2及びf1が受信された場合、パケットx1は、パケットx2及びf1を合成することにより(ビットXORすることにより)、回復させることができる。例えば、x2におけるある位置のビットが1であり、f1における同じ位置のビットが0である場合、x1における同じ位置のビットは、(1 XOR 0)=1として回復させることができる。
一方、オリジナル・パケットx1及びx2の両方が失われ、FECパケットf1のみが受信された場合、パケットx1及びx2は、FECデコーダにより回復させることができない。例えば、f1におけるある位置のビットが0である場合、x1及びx2における同じ位置のビットが両方0であるか、又は両方1であるかという不確かさが残る。すなわち、f1におけるビットが0であることは、(0 XOR 0)又は(1 XOR 1)により得られるということである。
次に、図5を参照して、こうした不確かさを解決するプロセスについて説明する。図5に示されるステップは、受信機310のプロセッサ312において実施される。
ステップS502において、受信機310は、送信機302から、ネットワーク308上に確立された損失通信チャネルを介して、符号化データ・ビットを受信する。
ステップS504において、受信機310は、送信機302に関連する情報を受信する。送信機に関連する情報は、プロセッサ304により送信されるデータの処理中に、データ・ストリームのパケット内に挿入される符号化パラメータ値により表され得る。それにより、符号化パラメータ値は、受信機310において受信され、送信機302に関連する情報を抽出するために、受信機においてプロセッサ312により復号化される。あるいは、送信機に関連する情報は、データ・ストリームとは分離されて、送信機302から、ネットワーク308を介して、受信機310に送信されてもよい。送信機302に関連する情報は、ネットワーク308を介して送信されることなく、受信機310において受信されてもよい、例えば、送信機302に関連する情報は、受信機310においてユーザによりローカルに入力されてもよいことを理解されたい。
一例において、オリジナル・パケットは、ソース・エンコーダ(例えば、オーディオ・エンコーダ又はビデオ・エンコーダ)によりソース(例えば、オーディオ又はビデオ)を符号化して結果として生じるビット・ストリームをパケット化することによって、生成される。したがって、不確かさは、候補ビット・ストリームを解析して、ソース及び/又は符号化プロセス及び/又はパケット化プロセスに関する利用可能な知識を用いることにより、潜在的に解決することができる。この例において、送信機に関連する情報は、ソース情報(オーディオ/ビデオ)、ソース・エンコーダ名、ソース・エンコーダ・モード、符号化ビット・レート、及びパケット化プロトコルを含み得る。
ステップS506において、プロセッサ312は、受信した符号化データ・ビットに対してFEC復号化を実行する。上述したように、ステップS506におけるFEC復号化は、回復プロセスにおける不確かさ(すなわち、ビット又はビットのシーケンスが2以上の値を取り得る場合)に起因して、全ての損失オリジナル・ビットの回復を確実にするわけではない。したがって、ステップS508において、プロセッサ312は、ステップS506におけるFEC復号化の後、不確かさが残っているかどうかを判定する。すなわち、ステップS508において、プロセッサ312は、ステップS506におけるFEC復号化の後、全ての損失ビットが回復可能であったかどうかを判定する。プロセッサ312は、各ビットが不確かさを有しているか否かをチェックすることにより、この判定ステップを実施することができる。
ステップS508において、全ての損失ビットがステップS506におけるFEC復号化中に回復されたとプロセッサ312が判定した場合、このプロセスはステップS512に進む。ステップS512において、オリジナル・ビット及び回復されたビットが、プロセッサ312におけるアプリケーション・デコーダに送信され、アプリケーション・デコーダにより復号化される。復号化データは、受信機においてメモリ314に記憶されてもよいし、受信機310から、例えば、ユーザに出力されてもよい。
再度ステップS508を参照して、正しいビット値に関する不確かさに起因して、全ての損失ビットがステップS506におけるFEC復号化中に回復されたわけではないとプロセッサ312がステップS508において判定した場合、このプロセスはステップS510に進む。
ステップS510において、プロセッサ312は、正しいビット値又はビット・シーケンス値に関する不確かさを解決する。ステップS510は、1以上の損失ビット値に関する候補オプションを解析することを含む。この解析は、ステップS504において受信された送信機302に関連する情報を用いて、プロセッサ312において実施される。
いくつかの場合においては、個々のビットを見ることにより、個々のビットに関する不確かさを解決することが可能である。他の場合においては、このプロセスは、ビット・シーケンス値の共同解析(joint analysis)に依拠する。
この解析は、オリジナル・パケットは全体的にランダムではなく、あるルールに従って生成されるという事実に依拠する。こうしたルールが与えられると、所与のFECパケット・ビット値(又はビット・シーケンス値)をもたらし得るいくつかのオリジナル・パケット・ビット値(又はビット・シーケンス値)は、不可能なものとして、又は低確率を有するものとしてみなすことができ、したがって、候補オプションとして除外することができる。
ステップS510における候補オプションの解析は、多数の異なる方法により実施することができる。
例えば、ステップS510における候補オプションの解析は、無効な候補ビット・シーケンス値を特定することを含み得る。
代替として、又は追加的に、ステップS510における候補オプションの解析は、無効な候補パラメータ値又は低確率候補パラメータ値を特定することを含み得る。これは、例えば、パラメータ値の周辺確率分布の知識に基づき得るものであり、代替として、又は追加的に、異なるパラメータ間の相関関係に基づき得る。周辺確率分布及びパラメータ間の相関関係の両方が、予め記憶され得、且つ/又は、無事受信した/回復したビットを用いてリアルタイムに更新され得る。
代替として、又は追加的に、ステップS510における候補オプションの解析は、結果として生じる復号化信号の品質劣化を最小限にすることを含み得る。この解析は、候補オプションのうちの1以上が後のアプリケーション・デコーダにおける復号化の後に品質の劣化をもたらすかどうかを特定することを含む。これは、受信機310において信号アナライザ又は品質エスティメータ(quality estimator)を実行することにより、実施することができる。
ステップS510における候補オプションの解析は、上述した方法の任意の組合せを含み得ることを理解されたい。
ステップS510において、損失オリジナル・データに関して実行可能なオプションでない候補オプション(ビット値又はビット・シーケンス値)は破棄することができ、損失オリジナル・データの回復プロセスにおける正しいビット値又はビット・シーケンス値に関する不確かさは、残った候補オプション(破棄されなかった候補オプション)を用いて解決することができる。
場合によっては、通信チャネルを介して失われたオリジナル・パケットの完全なビット・ストリームを解決することが可能でないこともある。しかしながら、多くのアプリケーションにおいて、少なくともいくつかの部分(例えば、ビット・ストリームの最初の部分)を解決することは有用である。というのは、これが、有用な情報/パラメータの復号化を可能にするからである。単なる例として、こうしたパラメータは、音声/オーディオ・フレーム、又はビデオ・フレームの最初のマクロ・ブロックを記述する知覚的に重要なパラメータであり得る。
場合によっては、アプリケーション・デコーダを実行することなく、ビット・ストリーム解析を実行することは十分なこともあるが、多くの状況においては、候補ビット・シーケンスに対してアプリケーション・デコーダを実行して、候補となる復号化パラメータ値を評価することにより、重要な利点を得ることができる。
次に、図6を参照して、ビット・ストリーム解析についてより詳細に説明する。図6は、受信機310におけるプロセッサ312の概略表現である。プロセッサ312の要素の各々は、ハードウェア又はソフトウェアにより実装することができる。
送信機302からデータ・ストリームを受信すると、受信機310におけるエラー訂正デコーダ602(すなわち、FECデコーダ)がデータ・ストリームを受信する。
全ての損失ビットが回復可能である場合(ステップS508において回復可能と判定された場合)、受信機310において受信されたデータ・ビット及び回復されたビットが、ライン605上に供給され、第1のスイッチ手段612に供給される。第1のスイッチ手段612は、復号化されるように、受信機310において受信されたデータ・ビット及び回復されたビットをアプリケーション・デコーダ607に供給するよう制御可能である。復号化されると、アプリケーション・デコーダ607は、第2のスイッチ手段622を経由してライン618上に復号化ビットを出力するよう構成されている。復号化ビットは、受信機310においてメモリ314に記憶されてもよいし、受信機310から、例えば、ユーザに出力されてもよい。
全ての損失ビットが回復可能なわけではない場合(ステップS508において回復可能なわけではないと判定された場合)、受信機310において受信されたデータ・ビット及び回復されなかったビットが、ライン603上に供給され、ビット・ストリーム・アナライザ608に供給される。
ビット・ストリーム・アナライザ608は、プライマリ回復ブロック604及びセカンダリ回復ブロック614を含む。プライマリ回復ブロック604は、ライン603上の、1以上の回復不可能なビットを含むデータ・ビットを受信するよう構成されている。プライマリ回復ブロック604は、さらに、ライン606上の、(Φにより示される)送信機に関連する情報を受信するよう構成されている。送信機に関連する情報は、ソース及び/又は符号化プロセス及び/又はパケット化プロセス及び/又は送信機302においてオリジナル・パケットがどのように生成されるかに関するルールについての利用可能な知識を含み得る。
プライマリ回復ブロック604は、送信機に関連する情報(Φ)を用いて、FECデコーダから出力された(ライン603上の受信された)1以上の回復不可能なビットの不確かさを解決することを試みるよう動作可能である。すなわち、プライマリ回復ブロック604は、送信機に関連する情報(Φ)を用いて無効なビット・ストリームを特定するために、ビット・ストリーム解析を用いて不確かさを解決する。
場合によっては、プライマリ回復ブロック604は、1以上の回復不可能なビットの不確かさの全てを解決することができることもある。すなわち、プライマリ回復ブロック604は、(図5に示される)ステップS510を実施することができる。このシナリオにおいて、プライマリ回復ブロック604は、(解決されたビットを含む)データをライン615上の第1のスイッチ手段612に供給するよう構成されている。第1のスイッチ手段612は、(解決されたビットを含む)データをアプリケーション・デコーダ607に供給するよう制御可能である。
場合によっては、プライマリ回復ブロック604は、ライン603上の受信された1以上の回復不可能なビットの不確かさの一部又は全てを解決することができないこともある。すなわち、データ内の少なくとも1つのビットに関して、複数の候補ビット値が残ったままである。このシナリオにおいて、プライマリ回復ブロック604は、複数の候補ビット・シーケンスをライン613上に供給してセカンダリ回復ブロック614に供給するよう構成されている。
セカンダリ回復ブロック614は、複数の候補ビット・シーケンスを記憶するよう構成されている第1のデータ・ストア610を含む。セカンダリ回復ブロック614は、以前にアプリケーション・デコーダ607により復号化されたビットからの復号化結果を記憶するよう構成されている第2のデータ・ストア611を含む。プロセッサ312は、以前にアプリケーション・デコーダ607により復号化されたビットをライン616上に供給してセカンダリ回復ブロック614に供給するために、第2のスイッチ手段622を制御するよう構成されている。
セカンダリ回復ブロック614は、複数の候補ビット・シーケンスの各々をライン625上の第1のスイッチ手段612に供給するよう構成されている。第1のスイッチ手段612は、複数の候補ビット・シーケンスをアプリケーション・デコーダ607に供給するよう制御可能である。アプリケーション・デコーダ607は、復号化された候補結果を出力するために、複数の候補ビット・シーケンスを復号化するよう構成されている。アプリケーション・デコーダ607から出力された復号化された候補結果は、第2のスイッチ手段622を経由して、ライン616上のセカンダリ回復ブロック614に供給される。復号化された候補結果に関する不確かさのため、アプリケーション・デコーダ607から出力された復号化された候補結果がライン618上に出力されて受信機310においてメモリ314に記憶されないように、又は、受信機310から、例えば、ユーザに出力されないように、プロセッサ312は、第2のスイッチ手段622を制御する。
セカンダリ回復ブロック614は、ライン606上の受信された送信機に関連する情報(Φ)を用いて、第2のデータ・ストア611に記憶された復号化結果を解析することにより、復号化された候補結果を除外することを試みるよう動作可能である。
この解析は、曖昧なオリジナル・パケット群(それらのビット・ストリーム及び符号化パラメータ)はしばしば互いに相関があるという事実により、容易にされ得る。また、曖昧なパケット群はしばしば、以前に復号化されたオリジナル・パケットと相関がある。
場合によっては、この解析に基づいて、セカンダリ回復ブロック614は、1つの復号化された候補結果を除いた全てを除外することができる。すなわち、プライマリ回復ブロック604に加えて、セカンダリ回復ブロック614は、(図5に示される)ステップS510を実施するよう動作する。このシナリオにおいて、セカンダリ回復ブロック614は、復号化された候補結果をライン617上に出力するよう構成されている。ライン617上に出力された復号化ビットは、受信機310においてメモリ314に記憶されてもよいし、受信機310から、例えば、ユーザに出力されてもよい。
上述したビット・ストリーム解析において、第1のスイッチ手段612は、ライン605、615、及び625上の3つの入力接続を有することは明らかであろう。ビット・ストリーム解析中、第1のスイッチ手段612は、3つの入力のうちの1つからのデータを受信するよう構成されており、受信したデータをアプリケーション・デコーダ607に供給するよう制御可能である。すなわち、第1のスイッチ手段612は、(i)ライン605上の、受信機310において受信されたデータ・ビット及びエラー訂正デコーダ602により回復されたビット、(ii)ライン615上の、受信機310において受信されたデータ・ビット及びプライマリ回復ブロック604により解決されたビット、及び(iii)ライン625上の候補ビット・シーケンスのうちの1つを受信する。3つの入力のうちの1つから第1のスイッチ手段612が受信するデータは、エラー訂正デコーダ602における損失ビットの回復の成功、及びFECデコーダから出力された1以上の回復不可能なビットの不確かさを解決するプライマリ回復ブロック604の成功に依拠する。
また、プロセッサ312のアーキテクチャは、(図5のステップS510における)候補オプションの解析がどのように実施されるかに依拠することは明らかであろう。例えば、候補オプションの解析が、(プライマリ回復ブロック604により実施される)無効な候補ビット・シーケンス値を特定することのみを含む場合、セカンダリ回復ブロック614は必要とされ得ない。同様に、候補オプションの解析が、(セカンダリ回復ブロック614により実施される)無効な復号化された候補パラメータ値又は低確率の復号化された候補パラメータ値を特定することのみを含む場合、プライマリ回復ブロック604は必要とされ得ない。この場合、セカンダリ回復ブロック614は、エラー訂正デコーダ602から出力された1以上の回復不可能なビットを含むデータ・ビットを受信して、1以上の回復不可能なビットの不確かさを解決するプロセスにおいてアプリケーション・デコーダに供給される候補ビット・シーケンスを判定するよう構成される。
本発明の一実施形態において、送信機302は、FEC復号化の後の不確かさを解決する受信機310の能力を認識している。送信機302におけるFECエンコーダは、受信機310がFEC復号化の後の不確かさを解決する能力を有しているという知識を用いて最適化され得る。このことについて、図7を参照して、さらに詳細に説明する。
図7は、送信機302におけるプロセッサ304の概略表現である。単純さのため、プロセッサ304は、FECエンコーダ703を有するものとして示されているが、プロセッサ304は、図7には示されていないデータの送信に使用されるさらなるモジュールを含み得ることを理解されたい。FECエンコーダ703は、ライン701上の、ソース・エンコーダ(図7には示されていない)から出力された符号化情報(符号化データ・ビット)を受信するよう構成されている。ソース・エンコーダは、例えば、オーディオ・エンコーダ又はビデオ・エンコーダとすることができる。FECエンコーダ703は、さらに、ライン705上の受信機に関連する情報(β)を受信して、ネットワーク308を介した伝送のためにライン707上に符号化データを出力するよう構成されている。動作時、FECエンコーダ703は、ライン701上の受信された情報を符号化する。すなわち、FECエンコーダ703は、ライン705上の受信された受信機に関連する情報(β)に基づいて最適化された訂正スキームに従って冗長性を付加することにより、ソース符号化された情報(source-encoded information)を保護することを試みる。
本発明の一実施形態において、FEC最適化は、オフライン「トレーニング」を実行することにより実施され得る。すなわち、FECデータを生成する多くの異なる方法が存在することを理解されたい。例えば、図1cは、3つのオリジナル・データ・パケットから生成されるFECデータ・ユニット120を示しているが、任意の数のオリジナル・データ・パケットを結合してFECデータ・ユニットを生成することができ、したがって、大きな最適化スペース(optimization space)が存在する。オフライン・シミュレーションを実行することにより、特定の基準に従った最良の性能を提供するよう最適化されたFECスキームを判定することが可能である。コンセプトを例示する単なる例として、この基準は、シミュレーション結果を解析することにより算出することができるパケット損失とすることができる。シミュレーション結果は、すなわち、送信機から送信されたパケットの数、受信機において受信されたパケットの数、FECデコーダにより回復されたパケットの数、及びFEC復号化の後の不確かさを解決することによりさらに回復されたパケットの数(このさらなる処理が受信機において適用された場合)である。ビデオ・データがネットワークを介して送信される場合、基準はビデオ品質のレベルであってよい。ビデオ品質評価技術は、当技術分野においてよく知られており、本明細書において説明しない。
こうしたシミュレーションは、通信チャネルの複数の具現化を介した可能な各FECスキームの性能(すなわち、FECデータ・ユニットをどのように生成することができるかの各配列の性能)を判定することを含み得る。例えば、シミュレーションは、様々な程度のパケット損失を被っているチャネルをシミュレートする際の可能な各FECスキームの性能を判定することを含み得る。
オフライン「トレーニング」は、受信機310がFECデコーダ602のみを含む場合と、受信機310がFECデコーダを含み、FEC復号化の後に残った不確かさを解決することができる場合(図6に示される要素を有する場合)とのシミュレーションを実行することを含み得る。受信機310がFECデコーダのみを含む場合のシナリオで最良の性能を提供するFECスキームは、受信機310がFECデコーダを含み、FEC復号化の後に残った不確かさを解決することができる場合のシナリオで最良の性能を提供するFECスキームとは異なり得ることを理解されたい。
FECエンコーダ703は、多数の異なる方法によりFEC復号化の後の不確かさを解決する受信機の能力を判定することができる。一例において、FECエンコーダ703は、送信機において実行される、(通信システム300に関連付けられたソフトウェア・プロバイダにより提供される)通信クライアント・ソフトウェアにより実装される。通信クライアント・ソフトウェアにより、送信機は、通話及びネットワーク308を介した他の通信セッションに関与することが可能となる。FEC復号化(及びFEC復号化の後に残った不確かさを解決すること)が、FECエンコーダ703を実装する通信クライアント・ソフトウェアを提供する同じソフトウェア・プロバイダにより提供される通信クライアント・ソフトウェアを受信機において実行することにより実施される場合、FECエンコーダ703は、受信機において実行される通信クライアント・ソフトウェアのバージョン番号を読み取ることにより、FEC復号化の後の不確かさを解決する受信機の能力を判定することができる。別の例において、受信機310からネットワークを介して送信機302にデータを返送することにより、FEC復号化の後の不確かさを解決する受信機の能力が、FECエンコーダ703に通知され得る。さらに別の例において、FECエンコーダ703は、ユーザが手動で情報をFECエンコーダ703に提供することにより、FEC復号化の後の不確かさを解決する受信機の能力を判定することができる。ライン705上の受信された受信機に関連する情報(β)は、FEC復号化を実行してFEC復号化の後の不確かさを解決する受信機の能力を示す情報を含む。
FECエンコーダ703が、受信機がFEC復号化の後の不確かさを解決する能力を有しているかどうかを判定すると、FECエンコーダ703は、受信機の能力に合わせて最適化されたFECスキームを選択することができる。
好ましい実施形態を参照して、本発明を詳細に図示し説明したが、添付の特許請求の範囲により定められる本発明の範囲から逸脱することなく、形態及び詳細に様々な変形を施すことができることが当業者には理解されよう。
上述した好ましい実施形態において、FECデータが使用される。代替実施形態では、訂正データにより、受信機において訂正データを用いて、損失パケットのデータ・ストリーム・ユニットを回復させることができる場合には、FECデータの代わりに、他のタイプの訂正データが使用されてもよい。
上記の例は、ビットXOR合成の場合に候補ビット値のスペースがどのように形成されるかを例示している。同様に、候補ビット・ストリームは、他の合成方法で形成される。例えば、ガロア域GF(2)の場合、候補ビット・ストリームはバイトごとに形成される。
上記の例は、2つのオリジナル・パケットの合成を表す1つのFECパケットにおける残存する不確かさを例示している。同様に、より多い数のFECパケット、及びFECパケットに合成されるより多い数のオリジナル・パケットについて、不確かさを一緒に解決することができる。
本発明の第1の実施形態に従うと、受信機において符号化データ・ビットを処理する方法であって、符号化データ・ビットは、送信機から、ネットワーク上に確立された損失通信チャネルを介して、受信機に送信される、方法が提供される。この方法は、損失通信チャネルを介して、符号化データ・ビットを受信する受信ステップであって、符号化データ・ビットは、冗長データ・ユニットを含む、受信ステップと、エラー訂正デコーダにおいて、符号化データ・ビットを復号化する復号化ステップであって、損失データの回復は、冗長データ・ユニットのうちの少なくとも1つを用いて、エラー訂正デコーダにおいて実施される、復号化ステップと、エラー訂正デコーダが少なくとも1つのデータ・ビットに関して複数の候補ビット値を見つけたことに起因して、少なくとも1つのデータ・ビットを回復させることができないかどうかを判定するステップと、ネットワークを介して、送信機に関連する情報を受信するステップと、送信機に関連する情報を用いて、少なくとも1つのデータ・ビットに関する複数の候補ビット値のうちの少なくとも1つを除外するために、複数の候補ビット値を解析する解析ステップと、解析に基づいて、少なくとも1つのデータ・ビットを解決するステップと、を含む。
送信機に関連する情報は、ネットワークを介して受信されてよい。
復号化ステップが、一連のデータ・ビットに対して動作し、各データ・ビットに関して複数の候補ビット値を見つけたときに、この方法は、シーケンスに関する最も可能性の高い候補ビット値を判定するために、送信機に関連する情報を用いて、シーケンス中の各ビットに対して複数の候補ビット値を解析するステップをさらに含んでよい。
好ましくは、送信機に関連する情報は、符号化される前のデータ・ビットのソースに関する情報;符号化データ・ビットを符号化するために使用された符号化プロセスに関する情報;符号化データ・ビットをパケット化するために使用されたパケット化プロセスに関する情報;及び符号化データ・ビットを生成する際に送信機が従う予め定められたルールに関する情報のうち少なくとも1つを含む。
解析ステップは、少なくとも1つのデータ・ビットに関する複数の候補ビット値のうちの1以上が後の復号化ステップの後に品質の劣化をもたらすかどうかを特定するステップを含んでよい。
好ましくは、解析ステップは、復号化された候補結果を生成するために、アプリケーション・デコーダを用いて候補ビット値を復号化し、送信機に関連する情報を用いて、復号化された候補結果に基づいて、無効な候補ビット値又は低確率候補ビット値を除外するステップを含む。
この方法は、アプリケーション・デコーダが、復号化データ・ビットを生成するために、回復されたデータ・ビット又は解決されたデータ・ビットを復号化するステップと、無効な復号化された候補結果又は低確率の復号化された候補結果を除外する際に使用するために、復号化データ・ビットを記憶するステップと、をさらに含んでよい。
この方法は、送信機に関連する情報を用いて候補ビット値を解決することができないときに、候補ビット値を復号化するために、候補ビット値をアプリケーション・デコーダに選択的に供給するステップをさらに含んでよい。
復号化された候補結果は、オリジナル・データ・ユニットのパラメータを表してよく、解析ステップは、パラメータ値の周辺確率分布及び異なるパラメータ値間の相関関係の知識のうち少なくとも1つに基づいて、パラメータに関する無効な値又は低確率値を表す復号化された候補結果を除外するステップを含んでよい。
エラー訂正デコーダは、順方向エラー訂正スキームを実施してよい。
受信機において受信される符号化データ・ビットは、システマチック訂正スキームに従ったオリジナル・データ・ユニットをさらに含んでよい。
受信機において受信される符号化データ・ビットが、システマチック訂正スキームに従ったオリジナル・データ・ユニットをさらに含む場合、符号化データ・ビットは、次の方法のうちの1つでオリジナル・データ・ユニットから生成された冗長データ・ユニットを含んでよい:i)オリジナル・データ・ユニットの正確なコピーとして、ii)送信機において、オリジナル・データ・ユニットよりも低ビット・レートで符号化されたオリジナル・データ・ユニットのコピーとして、又はiii)複数のオリジナル・データ・ユニットを結合することにより。
冗長データ・ユニットが、複数のオリジナル・データ・ユニットを結合することにより、オリジナル・データ・ユニットから生成される場合、オリジナル・データ・ユニットは、ビットXOR演算を用いてビットごとに結合されてもよいし、ガロア域GF(2)算術を用いてバイトごとに結合されてもよい。
受信機において受信される冗長データ・ユニットは、オリジナル・データと、非システマチック訂正スキームに従った冗長データとを表してよい。
ネットワークは、パケットベースのネットワークであってよい。
本発明の第2の実施形態に従うと、符号化データ・ビットを処理する受信機であって、符号化データ・ビットは、送信機から、ネットワーク上に確立された損失通信チャネルを介して、受信機に送信される、受信機が提供される。この受信機は、損失通信チャネルを介して、符号化データ・ビットを受信する第1の受信手段であって、符号化データ・ビットは、冗長データ・ユニットを含む、第1の受信手段と、符号化データ・ビットを復号化するエラー訂正デコーダであって、損失データの回復は、冗長データ・ユニットのうちの少なくとも1つを用いて、エラー訂正デコーダにおいて実施される、エラー訂正デコーダと、エラー訂正デコーダが少なくとも1つのデータ・ビットに関して複数の候補ビット値を見つけたことに起因して、少なくとも1つのデータ・ビットを回復させることができないかどうかを判定する判定手段と、送信機に関連する情報を受信する第2の受信手段と、送信機に関連する情報を用いて、少なくとも1つのデータ・ビットに関する複数の候補ビット値のうちの少なくとも1つを除外するために、複数の候補ビット値を解析する解析手段と、解析に基づいて、少なくとも1つのデータ・ビットを解決する解決手段と、を備える。
この受信機は、復号化結果を生成するために、回復されたデータ・ビット又は解決されたデータ・ビットを復号化するよう構成され、且つ解析手段及び回復手段により使用される復号化された候補結果を生成するために候補ビット値を復号化するよう選択的に動作可能なアプリケーション・デコーダをさらに備えてよい。
この受信機は、候補ビット値をアプリケーション・デコーダに供給するスイッチ手段をさらに備えてよい。
アプリケーション・デコーダは、音声デコーダ又はビデオ・デコーダであってよい。
本発明の第3の実施形態に従うと、受信機において符号化データ・ビットを処理する方法であって、符号化データ・ビットは、送信機から、ネットワーク上に確立された損失通信チャネルを介して、受信機に送信される、方法が提供される。この方法は、損失通信チャネルを介して、符号化データ・ビットを受信する受信ステップであって、符号化データ・ビットは、パケット及び冗長データ・ユニットに含まれる、受信ステップと、エラー訂正デコーダにおいて、符号化データ・ビットを復号化する復号化ステップであって、損失パケットの回復は、冗長データ・ユニットのうちの少なくとも1つと、少なくとも1つの他のパケットとを用いて、エラー訂正デコーダにおいて実施される、復号化ステップと、エラー訂正デコーダが損失パケット内の少なくとも1つのデータ・ビットに関して複数の候補ビット値を見つけたことに起因して、少なくとも1つの損失パケットを回復させることができないかどうかを判定するステップと、通信チャネルを介して、送信機に関連する情報を受信するステップと、送信機に関連する情報を用いて、少なくとも1つのデータ・ビットに関する複数の候補ビット値のうちの少なくとも1つを除外するために、複数の候補ビット値を解析するステップと、解析に基づいて、少なくとも1つの損失パケットの1以上のデータ・ビットを解決するステップと、を含む。
本発明の第4の実施形態に従うと、送信機からネットワーク上に確立された損失通信チャネルを介して受信機に送信するための、送信機においてデータ・ビットを処理する方法が提供される。この方法は、エラー訂正エンコーダにおいて、ソース・エンコーダからデータ・ビットを受信するステップと、エラー訂正エンコーダにおいて、符号化データ・ビットを出力するために、データ・ビットを符号化する符号化ステップであって、符号化データ・ビットは、パケットと、訂正スキームに従った冗長データ・ユニットとに含まれる、符号化ステップと、エラー訂正エンコーダにおいて、受信機に関連する情報を受信する受信ステップであって、受信機に関連する情報は、受信機が符号化データ・ビットを復号化するためのエラー訂正デコーダを有するというインジケーションを含み、損失データの回復は、冗長データ・ユニットのうちの少なくとも1つを用いて、エラー訂正デコーダにおいて実施され、受信機は、エラー訂正デコーダが少なくとも1つのデータ・ビットに関して複数の候補ビット値を見つけたことに起因して、少なくとも1つのデータ・ビットを回復させることができないかどうかを判定し;送信機に関連する情報を受信し;送信機に関連する情報を用いて、少なくとも1つのデータ・ビットに関する複数の候補ビット値のうちの少なくとも1つを除外するために、複数の候補ビット値を解析し;解析に基づいて、少なくとも1つのデータ・ビットを解決するよう構成されており、エラー訂正エンコーダにより使用される訂正スキームは、受信機に関連する情報に基づいて最適化される、受信ステップと、を含む。
本発明の第5の実施形態に従うと、送信機からネットワーク上に確立された損失通信チャネルを介して受信機に送信するための、データ・ビットを処理する送信機が提供される。この送信機は、ソース・エンコーダからデータ・ビットを受信し、符号化データ・ビットを出力するよう構成されたエラー訂正エンコーダであって、符号化データ・ビットは、パケットと、訂正スキームに従った冗長データ・ユニットとに含まれる、エラー訂正エンコーダを備え、エラー訂正エンコーダは、受信機に関連する情報を受信する受信手段であって、受信機に関連する情報は、受信機が符号化データ・ビットを復号化するためのエラー訂正デコーダを有するというインジケーションを含み、損失データの回復は、冗長データ・ユニットのうちの少なくとも1つを用いて、エラー訂正デコーダにおいて実施され、受信機は、エラー訂正デコーダが少なくとも1つのデータ・ビットに関して複数の候補ビット値を見つけたことに起因して、少なくとも1つのデータ・ビットを回復させることができないかどうかを判定し;送信機に関連する情報を受信し;送信機に関連する情報を用いて、少なくとも1つのデータ・ビットに関する複数の候補ビット値のうちの少なくとも1つを除外するために、複数の候補ビット値を解析し;解析に基づいて、少なくとも1つのデータ・ビットを解決するよう構成されており、エラー訂正エンコーダにより使用される訂正スキームは、受信機に関連する情報に基づいて最適化される、受信手段を有する。
本発明の第6の実施形態に従うと、本明細書において上述した受信機及び送信機を備えた通信システムが提供される。

Claims (9)

  1. 受信機において符号化データ・ビットを処理する方法であって、前記符号化データ・ビットは、送信機から、ネットワーク上に確立された損失通信チャネルを介して、前記受信機に送信され、前記方法は、
    前記損失通信チャネルを介して、前記符号化データ・ビットを受信するステップであって、前記符号化データ・ビットは、冗長データ・ユニットを含み、符号化データの少なくとも一部のオリジナル・データは、前記損失通信チャネルを介した伝送中に失われた損失データである、ステップと、
    受信された前記符号化データ・ビットの生成に関連付けられている、前記送信機に関連する情報を受信するステップであって、前記送信機に関連する前記情報は、前記符号化データ・ビットを生成するために使用されたエンコーダに関するソース・エンコーダ名と、前記符号化データ・ビットを生成するために使用された前記エンコーダに関するソース・エンコーダ・モードと、のうち少なくとも1つを含む、ステップと、
    エラー訂正デコーダにおいて、前記符号化データ・ビットを復号化するステップと、
    前記エラー訂正デコーダにおいて、前記冗長データ・ユニットのうちの少なくとも1つに部分的に基づいて、前記損失データの少なくとも一部を回復させるステップと、
    前記エラー訂正デコーダが前記損失データの少なくとも1つのデータ・ビットに関して複数の候補オプションを見つけたことに少なくとも部分的に基づいて、前記少なくとも1つのデータ・ビットが前記エラー訂正デコーダにおいて回復不可能であると判定するステップであって、各候補オプションは、ビット値又はビット・シーケンス値である、ステップと、
    受信された前記送信機に関連する前記情報を使用することに少なくとも部分的に基づいて、回復不可能な前記少なくとも1つのデータ・ビットに関する前記複数の候補オプションのうちの候補オプションを無効なものとして特定して、無効なものとして特定された前記候補オプションを除外するために、前記複数の候補オプションを解析する解析ステップと、
    前記解析に基づいて、回復不可能な前記少なくとも1つのデータ・ビットを解決するステップと、
    を含む、方法。
  2. 前記送信機に関連する前記情報は、前記ネットワークを介して受信される、請求項1記載の方法。
  3. 前記エラー訂正デコーダが、データ・ビットのシーケンス中の各データ・ビットに関して複数の候補オプションを見つけたことに応じて、前記データ・ビットのシーケンスに関する最も可能性の高い候補オプションを判定するために、前記送信機に関連する前記情報を使用することに少なくとも部分的に基づいて、前記データ・ビットのシーケンス中の各ビットに対して複数の候補オプションを解析するステップをさらに含む、請求項1又は2記載の方法。
  4. 前記送信機に関連する前記情報は、
    符号化される前のデータ・ビットのソースに関する情報;
    前記符号化データ・ビットをパケット化するために使用されたパケット化プロセスに関する情報;及び
    前記符号化データ・ビットを生成する際に前記送信機が従った予め定められたルールに関する情報
    のうち少なくとも1つをさらに含む、請求項1乃至3いずれか一項記載の方法。
  5. 前記解析ステップは、前記少なくとも1つのデータ・ビットに関する前記複数の候補オプションのうちの1以上が前記符号化データ・ビットの後の復号化の後に品質の劣化をもたらすかどうかを特定するステップをさらに含む、請求項1乃至4いずれか一項記載の方法。
  6. 前記解析ステップは、復号化された候補結果を生成するために、アプリケーション・デコーダを用いて前記候補オプションを復号化するステップを含む、請求項1乃至5いずれか一項記載の方法。
  7. 前記アプリケーション・デコーダが、復号化データ・ビットを生成するために、回復されたデータ・ビット又は解決されたデータ・ビットを復号化するステップと、
    無効な復号化された候補結果又は低確率の復号化された候補結果を除外する際に使用するために、前記復号化データ・ビットを記憶するステップと、
    をさらに含む、請求項6記載の方法。
  8. 前記送信機に関連する前記情報を用いて候補オプションを解決することができないときに、候補オプションを復号化するために、候補オプションを前記アプリケーション・デコーダに選択的に供給するステップ
    をさらに含む、請求項6又は7記載の方法。
  9. 符号化データ・ビットを処理する受信機であって、前記符号化データ・ビットは、送信機から、ネットワーク上に確立された損失通信チャネルを介して、前記受信機に送信され、前記受信機は、
    前記損失通信チャネルを介して、前記符号化データ・ビットを受信するとともに、前記符号化データ・ビットの生成に関連付けられている、前記送信機に関連する情報を受信するよう構成されている受信モジュールであって、前記符号化データ・ビットは、冗長データ・ユニットを含み、符号化データの少なくとも一部のオリジナル・データは、前記損失通信チャネルを介した伝送中に失われた損失データであり、前記送信機に関連する前記情報は、前記符号化データ・ビットを生成するために使用されたエンコーダに関するソース・エンコーダ名と、前記符号化データ・ビットを生成するために使用された前記エンコーダに関するソース・エンコーダ・モードと、のうちの少なくとも1つを含む、受信モジュールと、
    前記符号化データ・ビットを復号化し、前記冗長データ・ユニットのうちの少なくとも1つに部分的に基づいて、前記損失データのビットの少なくとも一部を回復させるよう構成されているエラー訂正デコーダと、
    前記エラー訂正デコーダが前記損失データの少なくとも1つのデータ・ビットに関して複数の候補オプションを見つけたことに起因して、前記少なくとも1つのデータ・ビットが前記エラー訂正デコーダにより回復不可能であるかどうかを判定するよう構成されている判定モジュールであって、各候補オプションは、ビット値又はビット・シーケンス値である、判定モジュールと、
    前記送信機に関連する前記情報を使用することに少なくとも部分的に基づいて、回復不可能な前記少なくとも1つのデータ・ビットに関する前記複数の候補オプションのうちの候補オプションを無効なものとして特定して、無効なものとして特定された前記候補オプションを除外するために、前記複数の候補オプションを解析するよう構成されている解析モジュールと、
    前記解析に基づいて、回復不可能な前記少なくとも1つのデータ・ビットを解決するよう構成されている解決モジュールと、
    を備えている、受信機。
JP2015517441A 2012-06-18 2013-06-13 送信機に関連する情報を用いたエラー回復のための方法及び装置 Active JP6305398B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GB1210779.3 2012-06-18
GBGB1210779.3A GB201210779D0 (en) 2012-06-18 2012-06-18 Correction data
US13/666,774 2012-11-01
US13/666,774 US9276606B2 (en) 2012-06-18 2012-11-01 Correction data
PCT/US2013/045748 WO2013192019A1 (en) 2012-06-18 2013-06-13 Method and apparatus for error recovery using information related to the transmitter

Publications (3)

Publication Number Publication Date
JP2015532020A JP2015532020A (ja) 2015-11-05
JP2015532020A5 JP2015532020A5 (ja) 2016-07-14
JP6305398B2 true JP6305398B2 (ja) 2018-04-04

Family

ID=46641094

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015517441A Active JP6305398B2 (ja) 2012-06-18 2013-06-13 送信機に関連する情報を用いたエラー回復のための方法及び装置

Country Status (7)

Country Link
US (1) US9276606B2 (ja)
EP (1) EP2850765B1 (ja)
JP (1) JP6305398B2 (ja)
KR (1) KR102081467B1 (ja)
CN (1) CN104541469B (ja)
GB (1) GB201210779D0 (ja)
WO (1) WO2013192019A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9967056B1 (en) * 2016-08-19 2018-05-08 Silver Peak Systems, Inc. Forward packet recovery with constrained overhead
US9967306B1 (en) * 2016-09-08 2018-05-08 Sprint Spectrum L.P. Prioritized transmission of redundancy data for packetized voice communication
EP3672135B1 (en) * 2018-12-19 2022-08-24 Aptiv Technologies Limited Method and system for testing the quality of a signal transmission in a communication system
EP4228187A1 (en) 2022-02-15 2023-08-16 Aptiv Technologies Limited Integrity tests for mixed analog digital systems

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5870412A (en) 1997-12-12 1999-02-09 3Com Corporation Forward error correction system for packet based real time media
US6418549B1 (en) * 1998-10-30 2002-07-09 Merunetworks, Inc. Data transmission using arithmetic coding based continuous error detection
US6760742B1 (en) * 2000-02-18 2004-07-06 Texas Instruments Incorporated Multi-dimensional galois field multiplier
US7103669B2 (en) * 2001-02-16 2006-09-05 Hewlett-Packard Development Company, L.P. Video communication method and system employing multiple state encoding and path diversity
US20030219118A1 (en) * 2002-05-23 2003-11-27 Beverly Harlan T. Optimized multiplicative inverse
KR100777880B1 (ko) * 2002-06-21 2007-11-21 엘지노텔 주식회사 송신 노드 그룹화를 통한 단문 메시지 전송 방법
JP4340519B2 (ja) * 2003-11-04 2009-10-07 富士通株式会社 情報処理端末
US7609697B2 (en) * 2004-03-30 2009-10-27 Sony Corporation Optimizing IEEE 802.11 for TCP/IP data transfer
US7889654B2 (en) 2005-03-30 2011-02-15 At&T Intellectual Property Ii, L.P. Loss tolerant transmission control protocol
KR100843073B1 (ko) * 2005-06-10 2008-07-03 삼성전자주식회사 오류 정정 패킷을 이용한 전송률 제어 방법 및 이를 이용한통신 장치
US8462624B2 (en) * 2005-07-28 2013-06-11 Riverbed Technologies, Inc. Congestion management over lossy network connections
CN1992583A (zh) * 2005-12-29 2007-07-04 朗迅科技公司 用于使用二进制奇偶校验来重建丢失分组的方法
EP1809041A1 (en) * 2006-01-11 2007-07-18 Mitsubishi Electric Information Technology Centre Europe B.V. Error concealement for scalable video coding
JP2008187646A (ja) * 2007-01-31 2008-08-14 Mitsubishi Electric Corp パケット通信システム、送信端末及び受信端末
US7957307B2 (en) 2007-03-14 2011-06-07 Microsoft Corporation Reducing effects of packet loss in video transmissions
EP2058968A1 (en) * 2007-11-07 2009-05-13 Thomson Licensing Method and apparatus for FEC encoding and decoding
US7995575B2 (en) * 2008-01-02 2011-08-09 Cisco Technology, Inc. Packet error handling
US8259867B2 (en) 2008-01-04 2012-09-04 Qualcomm Incorporated Methods and systems for turbo decoding in a wireless communication system
US7940777B2 (en) 2008-02-26 2011-05-10 Cisco Technology, Inc. Loss-free packet networks
ATE531153T1 (de) * 2008-05-06 2011-11-15 Alcatel Lucent Wiederherstellung von übertragungsfehlern
EP2129028B1 (en) * 2008-05-06 2012-10-17 Alcatel Lucent Recovery of transmission errorrs
US8406342B2 (en) 2008-06-19 2013-03-26 Qualcomm Incorporated Methods and systems for improving frame decoding performance using known information
JP5408981B2 (ja) * 2008-12-09 2014-02-05 キヤノン株式会社 通信装置、及び通信方法、プログラム
JP5768332B2 (ja) * 2010-06-24 2015-08-26 ソニー株式会社 送信機、受信機及び通信システム
JP5748471B2 (ja) * 2010-12-14 2015-07-15 キヤノン株式会社 配信装置、配信方法、プログラム
JP5677070B2 (ja) * 2010-12-14 2015-02-25 キヤノン株式会社 受信装置及び、受信装置による処理方法

Also Published As

Publication number Publication date
JP2015532020A (ja) 2015-11-05
GB201210779D0 (en) 2012-08-01
CN104541469A (zh) 2015-04-22
WO2013192019A1 (en) 2013-12-27
KR102081467B1 (ko) 2020-02-25
CN104541469B (zh) 2017-12-15
EP2850765A1 (en) 2015-03-25
EP2850765B1 (en) 2018-05-16
KR20150021523A (ko) 2015-03-02
US9276606B2 (en) 2016-03-01
US20130339824A1 (en) 2013-12-19

Similar Documents

Publication Publication Date Title
CN110943800B (zh) 数据包的发送方法、装置及系统、存储介质、电子装置
JP4546246B2 (ja) 連鎖的暗号化反応の系統的記号化および復号化
US7779336B2 (en) Assembling forward error correction frames
US9166735B2 (en) Correction data
JP3798387B2 (ja) Fec符号化方式に基づいた可変長パケット送信方法及び受信方法
JP2001144732A (ja) リアルタイム・マルチメディア通信用のパケット・ロス制御方法
JP2020502832A (ja) データストリーミングの前方誤り訂正
JP6305398B2 (ja) 送信機に関連する情報を用いたエラー回復のための方法及び装置
CA2543349C (en) Method for lost packet reconstruction and device for carrying out said method
CN112751644B (zh) 数据传输方法、装置及系统、电子设备
JP2011078113A (ja) メディアコンテンツをストリーミングする方法および復号化方法並びに符号化装置および復号化装置並びにストリーミングシステム
US20020027911A1 (en) Method and apparatus for protecting against packet losses in packet-oriented data transmission
US10200155B2 (en) One-way data transmission apparatus, one-way data reception apparatus, and one-way data transmission/reception method using the same
JP4088956B2 (ja) 情報処理装置
WO2015178018A1 (ja) 端末、パケット復号方法、および、プログラムが記憶された記憶媒体
JP2013051565A (ja) 通信端末装置、通信制御方法、及び通信制御プログラム
JP2010109942A (ja) 情報処理装置及びその方法、プログラム、記録媒体
JP2004312684A (ja) Wanでの大容量パケット伝送装置、wanでの大容量パケット送信方法及び受信方法、並びにwanでの大容量パケット送受信方法
JP2007201973A (ja) データ送受信システム、暗号化情報共有方法、データ送信装置、及びデータ受信装置
KR101801565B1 (ko) 통신 시스템에서 데이터 송수신 장치 및 방법
KR20160019778A (ko) 단말기가 데이터를 송수신하는 방법 및 그 단말기
KR20150079399A (ko) 데이터 전송 디바이스 및 그 전송 방법
WO2014101214A1 (zh) 译码的方法和装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160516

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160516

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170413

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170530

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170828

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20171102

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180306

R150 Certificate of patent or registration of utility model

Ref document number: 6305398

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250